/home/lnzliplg/public_html/7.7.zip
PKT^�\:��k6k6+translations/litespeed-cache-es_ES.l10n.phpnu�[���<?php
return ['x-generator'=>'GlotPress/4.0.3','translation-revision-date'=>'2025-12-29 15:17:22+0000','plural-forms'=>'nplurals=2; plural=n != 1;','project-id-version'=>'Plugins - LiteSpeed Cache - Stable (latest release)','language'=>'es','messages'=>['Sync failed.'=>'¡Sincronización fallida!','Synced successfully.'=>'Sincronizado correctamente.','Syncing'=>'Sincronización','Guest Mode IP/UA sync status'=>'Sincronización IP/UA en modo alojado','Every 15 Minutes'=>'Cada 15 minutos','Failed to sync Guest Mode lists.'=>'No se pueden sincronizar las listas del modo invitado.','This will delete all generated Viewport Images'=>'Esto borrará todas las imágenes del área visible generadas','Cleaned all VPI data.'=>'Se han limpiado todos los datos de VPI.','Turn on OptimaX. This will automatically request your pages OptimaX result via cron job.'=>'Activa OptimaX. Esto solicitará automáticamente el resultado de tus páginas OptimaX a través del trabajo cron.','LiteSpeed Cache OptimaX'=>'LiteSpeed Cache OptimaX','OptimaX Settings'=>'Ajustes de OptimaX','OptimaX Summary'=>'Resumen de OptimaX','Choose which image sizes to optimize.'=>'Elige qué tamaños de imagen optimizar.','No sizes found.'=>'No se encontraron tamaños.','Optimize Image Sizes'=>'Optimizar tamaños de imagen','OptimaX'=>'OptimaX','LiteSpeed Cache is temporarily disabled until: %s.'=>'LiteSpeed Cache está temporalmente desactivado hasta: %s.','Remove `Disable All Feature` Flag Now'=>'Quitar el indicador \'Desactivar todas las características\' ahora','Disable All Features for 24 Hours'=>'Desactivar todas las características durante 24 horas','LiteSpeed Cache is disabled. This functionality will not work.'=>'LiteSpeed Cache está desactivado. Esta funcionalidad no funcionará.','Filter %s available to change threshold.'=>'Filtro %s disponible para cambiar el umbral.','Scaled size threshold'=>'Umbral de tamaño escalado','Automatically replace large images with scaled versions.'=>'Reemplaza automáticamente imágenes grandes con versiones escaladas.','Auto Rescale Original Images'=>'Redimensionado automático de imágenes originales','UCSS Inline Excluded Files'=>'Archivos excluidos en línea de UCSS','The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.'=>'La conexión QUIC.Cloud no es correcta. Intenta sincronizar tu conexión a QUIC.cloud de nuevo.','Not enough parameters. Please check if the QUIC.cloud connection is set correctly'=>'No hay suficientes parámetros. Comprueba si la conexión a QUIC.cloud está establecida correctamente','No fields'=>'Sin campos','Value from filter applied'=>'Valor del filtro aplicado','This value is overwritten by the filter.'=>'Este valor es sobrescrito por el filtro.','This value is overwritten by the %s variable.'=>'Este valor es sobrescrito por la variable %s.','QUIC.cloud CDN'=>'CDN de QUIC.cloud','Predefined list will also be combined with the above settings'=>'La lista predefinida también se combinará con los ajustes anteriores','Tuning CSS Settings'=>'Ajustar la configuración de CSS','Predefined list will also be combined with the above settings.'=>'La lista predefinida también se combinará con los ajustes anteriores.','Clear'=>'Vaciar','If not, please verify the setting in the %sAdvanced tab%s.'=>'Si no es así, comprueba la configuración en la %spestaña Avanzado%s.','Close popup'=>'Cerrar ventana emergente','Deactivate plugin'=>'Desactivar el plugin','If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images.'=>'Si has utilizado la Optimización de Imágenes, por favor %sDestruye primero todos los datos de optimización%s. NOTA: esto no elimina tus imágenes optimizadas.','On uninstall, all plugin settings will be deleted.'=>'Al desinstalar, se eliminarán todos los ajustes del plugin.','Why are you deactivating the plugin?'=>'¿Por qué desactivas el plugin?','Other'=>'Otros','Plugin is too complicated'=>'El plugin es demasiado complicado','Site performance is worse'=>'El rendimiento del sitio es peor','The deactivation is temporary'=>'La desactivación es temporal','Deactivate LiteSpeed Cache'=>'Desactivar la caché de LiteSpeed','CDN - Disabled'=>'CDN - Desactivado','CDN - Enabled'=>'CDN - Activado','Connected Date:'=>'Fecha de conexión:','Node:'=>'Nodo:','Service:'=>'Servicio:','Autoload top list'=>'Cargar automáticamente la lista principal','Autoload entries'=>'Cargar entradas automáticamente','Autoload size'=>'Tamaño de carga automática','This Month Usage: %s'=>'Uso de este mes: %s','Usage Statistics: %s'=>'Estadísticas de uso: %s','more'=>'más','Globally fast TTFB, easy setup, and %s!'=>'¡TTFB globalmente rápido, fácil configuración y %s!','Last requested: %s'=>'Última solicitud: %s','Last generated: %s'=>'Última generación: %s','Requested: %s ago'=>'Solicitado: hace %s','LiteSpeed Web ADC'=>'LiteSpeed Web ADC','OpenLiteSpeed Web Server'=>'Servidor web OpenLiteSpeed','LiteSpeed Web Server'=>'Servidor web LiteSpeed','PAYG used this month: %s. PAYG balance and usage not included in above quota calculation.'=>'PAYG utilizado este mes: %s. El saldo y el uso de PAYG no están incluidos en el cálculo de cuota anterior.','Last crawled:'=>'Último rastreo:','%1$s %2$d item(s)'=>'%1$s %2$d elemento(s)','Start watching...'=>'Empieza a ver...','Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.'=>'Los rastreadores no pueden ejecutarse simultáneamente. Si tanto el cron como una ejecución manual se inician al mismo tiempo, el primero que se inicie tendrá prioridad.','Position: '=>'Posición: ','%d item(s)'=>'%d elemento(s)','Last crawled'=>'Último rastreo','Serve your visitors fast'=>'Sirve rápido a tus visitantes','This will affect all tags containing attributes: %s.'=>'Esto afectará a todas las etiquetas que contengan atributos: %s.','%1$sLearn More%2$s'=>'%1$sAprender más%2$s','Get it from %s.'=>'Obtenerlo de %s.','Reset the OPcache failed.'=>'Error al restablecer el OPcache.','OPcache is restricted by %s setting.'=>'OPcache está restringido por el ajuste %s.','OPcache is not enabled.'=>'OPcache no está activada.','Enable All Features'=>'Activar todas las funciones','e.g. Use %1$s or %2$s.'=>'p.ej. utiliza %1$s o %2$s.','Click to copy'=>'Haz clic para copiar','Rate %1$s on %2$s'=>'Puntúa %1$s en %2$s','Clear %s cache when "Purge All" is run.'=>'Limpiar la caché de %s cuando se ejecuta «Purgar todo».','SYNTAX: alphanumeric and "_". No spaces and case sensitive.'=>'SINTAXIS: alfanumérica y «_». Sin espacios y con distinción entre mayúsculas y minúsculas.','SYNTAX: alphanumeric and "_". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.'=>'SINTAXIS: alfanumérica y «_». Sin espacios y con distinción entre mayúsculas y minúsculas. DEBE SER ÚNICA Y DISTINTA DE OTRAS APLICACIONES WEB.','Submit a ticket'=>'Enviar un tique','Clear Cloudflare cache'=>'Vaciar la caché de Cloudflare','QUIC.cloud\'s access to your WP REST API seems to be blocked.'=>'El acceso de QUIC.cloud a tu API REST de WP parece estar bloqueado.','Copy Log'=>'Copiar registro','Selectors must exist in the CSS. Parent classes in the HTML will not work.'=>'Los selectores deben existir en el CSS. Las clases principales en el HTML no funcionarán.','List the CSS selectors whose styles should always be included in CCSS.'=>'Lista los selectores CSS cuyos estilos siempre deben incluirse en CCSS.','List the CSS selectors whose styles should always be included in UCSS.'=>'Lista los selectores CSS cuyos estilos siempre deben incluirse en UCSS.','Available after %d second(s)'=>'Disponible después de %d segundo(s)','Enable QUIC.cloud Services'=>'Activar los servicios de QUIC.cloud','The features below are provided by %s'=>'Las siguientes características son proporcionadas por %s','Do not show this again'=>'No volver a mostrar esto','Free monthly quota available. Can also be used anonymously (no email required).'=>'Cuota mensual gratuita disponible. También se puede usar de forma anónima (no se requiere correo electrónico).','Cloudflare Settings'=>'Ajustes de Cloudflare','Failed to detect IP'=>'No se pudo detectar la IP','CCSS Selector Allowlist'=>'Lista de permitidos del selector del CCSS','Outputs to a series of files in the %s directory.'=>'Da salida en una serie de archivos en el directorio %s.','Attach PHP info to report. Check this box to insert relevant data from %s.'=>'Adjuntar información PHP al informe. Marca esta casilla para insertar datos relevantes de %s.','Last Report Date'=>'Fecha del último informe','Last Report Number'=>'Número del último informe','Regenerate and Send a New Report'=>'Regenerar y enviar un nuevo informe','This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.'=>'Esto restablecerá los %1$s. Si cambiaste los ajustes de WebP/AVIF y quieres generar %2$s para las imágenes previamente optimizadas, utiliza esta acción.','Soft Reset Optimization Counter'=>'Restablecimiento suave del contador de optimización','When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.'=>'Al cambiar de formato, utiliza %1$s o %2$s para aplicar esta nueva opción a las imágenes previamente optimizadas.','%1$s is a %2$s paid feature.'=>'%1$s es una característica de pago de %2$s.','Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.'=>'Quita la integración de QUIC.cloud de este sitio. Nota: Los datos de QUIC.cloud se conservarán para que puedas reactivar los servicios en cualquier momento. Si quieres borrar completamente tu sitio de QUIC.cloud, primero borra el dominio a través del escritorio de QUIC.cloud.','Disconnect from QUIC.cloud'=>'Desconectar de QUIC.cloud','Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.'=>'¿Seguro que quieres desconectar de QUIC.cloud? Esto no eliminará ningún dato del escritorio de QUIC.cloud.','CDN - not available for anonymous users'=>'CDN - no disponible para usuarios anónimos','Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.'=>'Tu sitio está conectado y utiliza los servicios en línea de QUIC.cloud como <strong>usuario anónimo</strong>. La función CDN y ciertas funciones de los servicios de optimización no están disponibles para usuarios anónimos. Conéctate a QUIC.cloud para usar la CDN y todas las funciones de los servicios en línea disponibles.','QUIC.cloud Integration Enabled with limitations'=>'Integración de QUIC.cloud activada con limitaciones','Your site is connected and ready to use QUIC.cloud Online Services.'=>'Tu sitio está conectado y listo para usar los servicios en línea de QUIC.cloud.','QUIC.cloud Integration Enabled'=>'Integración de QUIC.cloud activada','In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.'=>'Para utilizar la mayoría de los servicios de QUIC.cloud, necesitas una cuota. QUIC.cloud te ofrece cuota gratuita cada mes, pero si necesitas más, puedes comprarla.','Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.'=>'Ofrece un <strong>servicio DNS integrado</strong> opcional para simplificar la puesta en marcha de CDN.','Provides <strong>security at the CDN level</strong>, protecting your server from attack.'=>'Proporciona <strong>seguridad a nivel de CDN</strong>, protegiendo tu servidor de ataques.','Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>.'=>'Ofrece cobertura global con una <strong>red en crecimiento de más de 80 PoP</strong>.','Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.'=>'Almacena en caché todo tu sitio, incluido el contenido dinámico y los <strong>bloques ESI</strong>.','Content Delivery Network'=>'Red de entrega de contenidos','<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.'=>'<strong>Viewport Images (VPI)</strong> proporciona una vista completa y bien pulida antes de desplazarse.','<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.'=>'El <strong>marcador de posición de imagen de baja calidad (LQIP)</strong> le da a tus imágenes un aspecto más agradable a medida que se cargan de forma diferida.','<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.'=>'<strong>CSS único (UCSS)</strong> elimina las definiciones de estilo no utilizadas para lograr una carga de página más rápida en general.','<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.'=>'<strong>CSS crítico (CCSS)</strong> carga el contenido visible antes de desplazarse más rápido y con estilo completo.','QUIC.cloud\'s Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.'=>'Los servicios de optimización de páginas de QUIC.cloud abordan el problema del inflado de CSS y mejoran la experiencia del usuario durante la carga de la página, lo que puede generar mejores puntuaciones de velocidad de la página.','Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.'=>'El procesamiento de imágenes en formato PNG, JPG y WebP es gratuito. El formato AVIF tiene un coste.','Optionally creates next-generation WebP or AVIF image files.'=>'Crea opcionalmente archivos de imagen WebP o AVIF de próxima generación.','Processes your uploaded PNG and JPG images to produce smaller versions that don\'t sacrifice quality.'=>'Procesa las imágenes PNG y JPG cargadas para producir versiones más pequeñas que no sacrifican la calidad.','QUIC.cloud\'s Image Optimization service does the following:'=>'El servicio de optimización de imágenes de QUIC.cloud hace lo siguiente:','<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.'=>'La <strong>optimización de página</strong> agiliza los estilos de página y los elementos visuales para una carga más rápida.','<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.'=>'La <strong>optimización de imágenes</strong> te ofrece archivos de imagen de menor tamaño que se transmiten más rápido.','QUIC.cloud\'s Online Services improve your site in the following ways:'=>'Los servicios en línea de QUIC.cloud mejoran su sitio de las siguientes maneras:','Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.'=>'Acelera aún más tu sitio de WordPress con los servicios en línea y CDN de QUIC.cloud.','QUIC.cloud Integration Disabled'=>'Integración de QUIC.cloud desactivada','QUIC.cloud Online Services'=>'Servicios en línea de QUIC.cloud','Online Services'=>'Servicios en línea','Autoload'=>'Carga automática','Refresh QUIC.cloud status'=>'Actualizar el estado de QUIC.cloud','Refresh'=>'Actualizar','You must be using one of the following products in order to measure Page Load Time:'=>'Debes usar uno de los siguientes productos para medir el tiempo de carga de la página:','Refresh Usage'=>'Actualizar el uso','News'=>'Noticias','You need to set the %s in Settings first before using the crawler'=>'Debes configurar %s en Ajustes antes de usar el rastreador','You must set %1$s to %2$s before using this feature.'=>'Debes configurar %1$s en %2$s antes de usar esta característica.','You must set %s before using this feature.'=>'Debes configurar %s antes de usar esta característica.','My QUIC.cloud Dashboard'=>'Mi escritorio de QUIC.cloud','You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.'=>'Actualmente estás utilizando los servicios como usuario anónimo. Para gestionar tus opciones de QUIC.cloud, utiliza el botón de abajo para crear una cuenta y acceder al escritorio de QUIC.cloud.','To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.'=>'Para gestionar tus opciones de QUIC.cloud, ve al escritorio de QUIC.cloud.','To manage your QUIC.cloud options, please contact your hosting provider.'=>'Para gestionar tus opciones de QUIC.cloud, comunícate con tu proveedor de alojamiento.','To manage your QUIC.cloud options, go to your hosting provider\'s portal.'=>'Para gestionar tus opciones de QUIC.cloud, ve al portal de tu proveedor de alojamiento.','QUIC.cloud CDN Options'=>'Opciones de CDN de QUIC.cloud','Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!'=>'¡El mejor rendimiento disponible para WordPress, TTFB globalmente rápido, fácil configuración y %smucho más%s!','no matter where they live.'=>'no importa dónde vivan.','Content Delivery Network Service'=>'Servicio de red de entrega de contenido','Enable QUIC.cloud CDN'=>'Activar la CDN de QUIC.cloud','Link & Enable QUIC.cloud CDN'=>'Enlazar y activar la CDN de QUIC.cloud','QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.'=>'La CDN de QUIC.cloud <strong>no está disponible</strong> para usuarios anónimos (sin enlazar).','QUIC.cloud CDN is currently <strong>fully disabled</strong>.'=>'La CDN de QUIC.cloud está actualmente <strong>totalmente desactivada</strong>.','Learn More about QUIC.cloud'=>'Obtén más información acerca de QUIC.cloud','QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.'=>'QUIC.cloud ofrece servicios de CDN y optimización en línea, y no es obligatorio. Puedes usar muchas características de este plugin sin QUIC.cloud.','Enable QUIC.cloud services'=>'Activar los servicios de QUIC.cloud','Free monthly quota available.'=>'Cuota mensual gratuita disponible.','Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.'=>'Acelera aún más su sitio de WordPress con los <strong>servicios en línea y CDN de QUIC.cloud</strong>.','Accelerate, Optimize, Protect'=>'Acelera, optimiza, protege','Check the status of your most important settings and the health of your CDN setup here.'=>'Verifica el estado de tus ajustes más importantes y el estado de tu configuración CDN aquí.','QUIC.cloud CDN Status Overview'=>'Resumen del estado de CDN de QUIC.cloud','Refresh Status'=>'Actualizar Estado','Other Static CDN'=>'Otra CDN estática','Dismiss this notice.'=>'Descartar este aviso.','Send to twitter to get %s bonus'=>'Envíar a X para obtener %s de bonificación','Spread the love and earn %s credits to use in our QUIC.cloud online services.'=>'Difunde el amor y gana %s créditos para usar en nuestros servicios en línea QUIC.cloud.','No backup of unoptimized AVIF file exists.'=>'No existe ninguna copia de seguridad del archivo AVIF sin optimizar.','AVIF saved %s'=>'AVIF guardado %s','AVIF file reduced by %1$s (%2$s)'=>'Archivo AVIF reducido en %1$s (%2$s)','Currently using original (unoptimized) version of AVIF file.'=>'Actualmente se utiliza la versión original (sin optimizar) del archivo AVIF.','Currently using optimized version of AVIF file.'=>'Actualmente se utiliza la versión optimizada del archivo AVIF.','WebP/AVIF For Extra srcset'=>'WebP/AVIF para srcset adicional','Next-Gen Image Format'=>'Formato de imagen de próxima generación','Enabled AVIF file successfully.'=>'Archivo AVIF activado correctamente.','Disabled AVIF file successfully.'=>'El archivo AVIF desactivado correctamente.','Reset image optimization counter successfully.'=>'Restablecido el contador de optimización de imágenes correctamente.','Filename is empty!'=>'¡El nombre del archivo está vacío!','You will need to finish %s setup to use the online services.'=>'Necesitarás finalizar la configuración de %s para utilizar los servicios en línea.','Sync QUIC.cloud status successfully.'=>'Sincronizado el estado de QUIC.cloud correctamente.','Linked to QUIC.cloud preview environment, for testing purpose only.'=>'Enlazado al entorno de vista previa de QUIC.cloud, solo para fines de prueba.','Click here to proceed.'=>'Haz clic aquí para continuar.','Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.'=>'Sitio no reconocido. QUIC.cloud se desactivó automáticamente. Reactiva tu cuenta de QUIC.cloud.','Reset %s activation successfully.'=>'Restablecida la activación de %s correctamente.','Congratulations, %s successfully set this domain up for the online services with CDN service.'=>'Felicidades, %s configuró correctamente este dominio para los servicios en línea con servicio CDN.','Congratulations, %s successfully set this domain up for the online services.'=>'Felicidades, %s configuró correctamente este dominio para los servicios en línea.','Congratulations, %s successfully set this domain up for the anonymous online services.'=>'Felicidades, %s configuró correctamente este dominio para los servicios anónimos en línea.','%s activation data expired.'=>'%s datos de activación caducados.','Failed to parse %s activation status.'=>'No se pudo analizar el estado de activación de %s.','Failed to validate %s activation data.'=>'No se pudieron validar los datos de activación de %s.','Cert or key file does not exist.'=>'El archivo de certificado o clave no existe.','You need to activate QC first.'=>'Primero debes activar QC.','You need to set the %1$s first. Please use the command %2$s to set.'=>'Primero debes configurar %1$s. Usa el comando %2$s para configurarlo.','Failed to get echo data from WPAPI'=>'No se pudieron obtener los datos de eco de WPAPI','The user with id %s has editor access, which is not allowed for the role simulator.'=>'El usuario con id %s tiene acceso de editor, que no tiene permisos para el simulador de perfiles.','You have used all of your quota left for current service this month.'=>'Has utilizado toda la cuota que te quedaba para el servicio actual este mes.','Learn more or purchase additional quota.'=>'Más información o compra cuota adicional.','You have used all of your daily quota for today.'=>'Has utilizado toda tu cuota diaria de hoy.','If comment to be kept is like: %1$s write: %2$s'=>'Si el comentario a conservar es como: %1$s escribe: %2$s','When minifying HTML do not discard comments that match a specified pattern.'=>'Al minimizar HTML no descartes los comentarios que coincidan con un patrón especificado.','Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.'=>'Especifica una acción AJAX en POST/GET y el número de segundos para almacenar en caché esa petición, separados por un espacio.','HTML Keep Comments'=>'HTML Mantener comentarios','AJAX Cache TTL'=>'TTL de caché AJAX','You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.'=>'Tienes imágenes esperando a ser retiradas. Espera a que se complete la extracción automática o bájalas manualmente ahora.','Clean all orphaned post meta records'=>'Limpiar todos los registros meta de entradas huérfanas','Orphaned Post Meta'=>'Meta de entrada huérfano','Best available WordPress performance'=>'El mejor rendimiento disponible para WordPress','Clean orphaned post meta successfully.'=>'Limpieza correcta de los meta de entrada huérfanos.','Last Pulled'=>'Última extracción','You can list the 3rd party vary cookies here.'=>'Puedes listar las cookies de terceros que varían aquí.','Vary Cookies'=>'Variar cookies','Preconnecting speeds up future loads from a given origin.'=>'La preconexión acelera las cargas futuras desde un origen determinado.','If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.'=>'Si tu tema no utiliza JS para actualizar el minicarrito, debes activar esta opción para mostrar el contenido correcto del carrito.','Generate a separate vary cache copy for the mini cart when the cart is not empty.'=>'Generar una copia de caché variable separada para el minicarrito cuando éste no esté vacío.','Vary for Mini Cart'=>'Variante según el minicarrito','DNS Preconnect'=>'Preconexión DNS','This setting is %1$s for certain qualifying requests due to %2$s!'=>'¡Este ajuste es %1$s para determinadas solicitudes que cumplen los requisitos debido a %2$s!','Listed JS files or inline JS code will be delayed.'=>'Los archivos JS listados o el código JS en línea se retrasarán.','URL Search'=>'Buscar URL','JS Delayed Includes'=>'Inclusiones de JS retrasadas','Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.'=>'Tu domain_key ha sido bloqueada temporalmente para evitar abusos. Puedes ponerte en contacto con el servicio de asistencia de QUIC.cloud para obtener más información.','Cloud server refused the current request due to unpulled images. Please pull the images first.'=>'El servidor de la nube ha rechazado la solicitud actual debido a que no se han extraído las imágenes. Por favor, extrae primero las imágenes.','Current server load'=>'Carga actual del servidor','Redis encountered a fatal error: %1$s (code: %2$d)'=>'Redis encontró un error fatal: %1$s (código: %2$d)','Started async image optimization request'=>'Se inició la solicitud de optimización asíncrona de imágenes','Started async crawling'=>'Se inició el rastreo asíncrono','Saving option failed. IPv4 only for %s.'=>'Falló el guardado de la opción. IPv4 es solo para %s.','Cloud server refused the current request due to rate limiting. Please try again later.'=>'El servidor en la nube rechazó la solicitud actual debido a la limitación de cuota. Por favor, inténtalo de nuevo más tarde.','Maximum image post id'=>'ID de entrada de imagen máxima','Current image post id position'=>'Posición actual del id de entrada de la imagen','Images ready to request'=>'Imágenes listas para la solicitud','Redetect'=>'Volver a detectar','If you are using a %1$s socket, %2$s should be set to %3$s'=>'Si estás usando un socket %1$s, %2$s debería estar en %3$s','All QUIC.cloud service queues have been cleared.'=>'Se han borrado todas las colas de servicio de QUIC.cloud.','Cache key must be integer or non-empty string, %s given.'=>'La clave de caché debe ser un entero o una cadena no vacía, %s proporcionado.','Cache key must not be an empty string.'=>'La clave de caché no puede ser una cadena vacía.','JS Deferred / Delayed Excludes'=>'Exclusiones de JS diferido / retrasado','The queue is processed asynchronously. It may take time.'=>'La cola se procesa de forma asíncrona. Puede llevar un tiempo.','In order to use QC services, need a real domain name, cannot use an IP.'=>'Para poder usar los servicios de QC necesitas un nombre de demonio real, no puedes usar una IP.','Restore Settings'=>'Restaurar los ajustes','This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?'=>'Esto restaurará la copia de seguridad de los ajustes creada %1$s antes de aplicar el preajuste %2$s. Cualquier cambio realizado desde entonces se perderá. ¿Quieres continuar?','Backup created %1$s before applying the %2$s preset'=>'Copia de seguridad creada %1$s antes de aplicar el preajuste %2$s','Applied the %1$s preset %2$s'=>'Se ha aplicado el prejuste %1$s %2$s','Restored backup settings %1$s'=>'Se han restaurado el respaldo de los ajustes %1$s','Error: Failed to apply the settings %1$s'=>'Error: No se pudieron aplicar los ajustes %1$s','History'=>'Historial','unknown'=>'desconocido','Apply Preset'=>'Aplicar el preajuste','This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?'=>'Se va a hacer una copia de seguridad de tus ajustes actuales y reemplazarlos con los de los preajustes %1$s. ¿Quieres continuar?','Who should use this preset?'=>'¿Quién debería usar este preajuste?','Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.'=>'Utiliza un preajuste oficial diseñado por LiteSpeed para configurar tu sitio en un clic. Pruebe el cacheo esencial sin riesgos, la optimización extrema o algo intermedio.','LiteSpeed Cache Standard Presets'=>'Preajustes estándar de cache de LiteSpeed','A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.'=>'Es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Activa el nivel máximo de optimizaciones para mejorar la puntuación de la velocidad de la página.','This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.'=>'Este preajuste es casi seguro que requerirá pruebas y exclusiones de algo de CSS, JS y carga diferida de imágenes. Presta especial atención a los logotipos, o a imágenes de carrusel basadas en HTML.','Inline CSS added to Combine'=>'CSS en línea añadido a Combinar','Inline JS added to Combine'=>'JS en línea añadido a Combinar','JS Delayed'=>'JS Retrasado','Viewport Image Generation'=>'Generación del viewport de la imagen','Lazy Load for Images'=>'Carga diferida para imágenes','Everything in Aggressive, Plus'=>'Todo lo de Aggressive y además','Extreme'=>'Extremo','This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.'=>'Este preajuste puede que funcione tal cual en algunas webs, ¡pero asegúrate de hacer pruebas! Puede que sean necesarias algunas exclusiones de CSS y JS en Optimización de página > Retoques.','Lazy Load for Iframes'=>'Carga diferida de Iframes','Removed Unused CSS for Users'=>'CSS sin uso eliminado para los usuarios','Asynchronous CSS Loading with Critical CSS'=>'Carga de CSS asíncrono con CSS crítico','CSS & JS Combine'=>'Combinar CSS y JS','Everything in Advanced, Plus'=>'Todo lo de Advance y además','Aggressive'=>'Agresivo','A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.'=>'Es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Incluye muchas optimizaciones conocidas por mejorar los resultados de velocidad de la página.','This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.'=>'Este preajuste es bueno para la mayoría de webs, y es raro que provoque conflictos. Cualquier conflicto de CSS o JS puede solucionarse con las herramientas de Optimización de página > Retoques.','Remove Query Strings from Static Files'=>'Eliminar cadenas de consulta de recursos estáticos','DNS Prefetch for static files'=>'Precarga de DNS para archivos estáticos','JS Defer for both external and inline JS'=>'Aplazar JS para JS externos e incrustados','CSS, JS and HTML Minification'=>'Minimizado de CSS, JS y HTML','Guest Mode and Guest Optimization'=>'Modo de invitado y modo de optimización','Everything in Basic, Plus'=>'Todo en el básico, además','Advanced (Recommended)'=>'Avanzado (Recomendado)','A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.'=>'Es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Incluye optimizaciones conocidas por mejorar la puntuación del sitio en las herramientas de medición de la velocidad de la página.','This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.'=>'Este preajuste de bajo riesgo introduce optimizaciones básicas de mejora de la velocidad de página y experiencia de usuario. Adecuado para principiantes entusiastas.','Mobile Cache'=>'Caché móvil','Everything in Essentials, Plus'=>'Todo lo de Essentials y además','A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled.'=>'No es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Solo se activan las características básicas de almacenamiento en caché.','This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.'=>'Este preajuste sin riesgos es apropiado para todas las webs. Es bueno para nuevos usuarios, webs sencillas o desarrollos orientados a caché.','Higher TTL'=>'TTL mayor','Default Cache'=>'Caché por defecto','Essentials'=>'Básicos','LiteSpeed Cache Configuration Presets'=>'Preajustes de configuración de caché LiteSpeed','Standard Presets'=>'Preajustes estándar','Listed CSS files will be excluded from UCSS and saved to inline.'=>'Los archivos CSS listados se excluirán del CSS sin uso y guardados para que se incrusten.','UCSS Selector Allowlist'=>'Lista blanca del selector de CSS sin uso','Presets'=>'Preajustes','Partner Benefits Provided by'=>'Ventajas de colaboración ofrecidas por','LiteSpeed Logs'=>'Registros de LiteSpeed','Crawler Log'=>'Registros de rastreadores','Purge Log'=>'Purgar registro','Prevent writing log entries that include listed strings.'=>'Evita escribir entradas del registro que incluyan cadenas listadas.','View Site Before Cache'=>'Ver sitio sin caché','View Site Before Optimization'=>'Ver sitio sin optimizar','Debug Helpers'=>'Ayudas de depuración','Enable Viewport Images auto generation cron.'=>'Activar el cron de generación automática del viewport de imágenes.','This enables the page\'s initial screenful of imagery to be fully displayed without delay.'=>'Esto permite que la pantalla inicial de imágenes de la página se muestre completamente sin demora.','The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.'=>'El servicio de viewport de imágenes detecta qué imágenes aparecen antes de hacer scroll y las excluye de la carga diferida.','When you use Lazy Load, it will delay the loading of all images on a page.'=>'Cuando usas la carga diferida, se retrasa la carga de todas las imágenes de la página.','Use %1$s to bypass remote image dimension check when %2$s is ON.'=>'Utiliza %1$s para saltarte la comprobación de dimensión en imágenes remotas cuando la %2$s esté ACTIVA.','VPI'=>'VPI','%s must be turned ON for this setting to work.'=>'%s debe estar activo para que este ajuste funcione.','Viewport Image'=>'Imagen de la vista','API: Filter %s available to disable blocklist.'=>'API: El filtro %s está disponible para desactivar la lista de bloqueos.','API: PHP Constant %s available to disable blocklist.'=>'API: La constante %s de PHP está disponible para desactivar la lista de bloqueos.','Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:'=>'Debido a que puede haber conflictos con LiteSpeed Cache, por favor, considera desactivar los siguientes plugins:','Mobile'=>'Móvil','Disable VPI'=>'Desactivar VPI','Disable Image Lazyload'=>'Desactivar la carga de imágenes diferida','Disable Cache'=>'Desactivar la caché','Debug String Excludes'=>'Exclusión de cadenas de depuración','Viewport Images Cron'=>'Cron de imágenes de la vista','Viewport Images'=>'Imágenes de la vista','Alias is in use by another QUIC.cloud account.'=>'El alias ya está en uso por otra cuenta de QUIC.cloud.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain.'=>'No ha sido posible añadir automáticamente %1$s como alias de dominio para el dominio %2$s principal.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.'=>'No ha sido posible añadir automáticamente %1$s como alias de dominio para el dominio %2$s principal, debido a un conflicto potencial con la CDN.','You cannot remove this DNS zone, because it is still in use. Please update the domain\'s nameservers, then try to delete this zone again, otherwise your site will become inaccessible.'=>'No puedes eliminar esta zona de DNS porque aún está en uso. Por favor, actualiza los servidores de nombers, luego tratar de borrar de nuevo esta zona, en caso contrario tu sitio será inaccesible.','The site is not a valid alias on QUIC.cloud.'=>'El sitio no tiene un alias válido en QUIC.cloud.','Please thoroughly test each JS file you add to ensure it functions as expected.'=>'Por favor, prueba a fondo cada archivo JS que añadas para asegurar que funcionan como se espera.','Please thoroughly test all items in %s to ensure they function as expected.'=>'Por favor, prueba a fondo todos los elementos en %s para asegurar que funcionan como se espera.','Use %1$s to bypass UCSS for the pages which page type is %2$s.'=>'Usa %1$s para omitir UCSS para las páginas cuyo tipo de página es %2$s.','Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.'=>'Usa %1$s para generar un único UCSS para las páginas cuyo tipo de página es %2$s, mientras que los otros tipos de páginas se mantienen por URL.','Filter %s available for UCSS per page type generation.'=>'Disponible el filtro %s para la generación de UCSS por tipo de página.','Guest Mode failed to test.'=>'Prueba fallida del modo de invitado.','Guest Mode passed testing.'=>'Prueba superada del modo de invitado.','Testing'=>'Probando','Guest Mode testing result'=>'Resultado de la prueba del modo de invitado','Not blocklisted'=>'No está en la lista negra','Learn more about when this is needed'=>'Aprende más sobre cuándo es esto necesario','Cleaned all localized resource entries.'=>'Limpiadas todas las entradas de recursos localizados.','View .htaccess'=>'Ver el archivo «.htaccess»','You can use this code %1$s in %2$s to specify the htaccess file path.'=>'Puedes usar este código %1$s en %2$s para especificar la ruta al archivo «.htaccess».','PHP Constant %s is supported.'=>'Es compatible la contante %s de PHP.','Default path is'=>'La ruta por defecto es','.htaccess Path'=>'Ruta del archivo «.htaccess»','Please read all warnings before enabling this option.'=>'Por favor, lee todas las advertencias antes de activar esta opción.','This will delete all generated unique CSS files'=>'Esto borrará todos los archivos CSS únicos generados','In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.'=>'Para evitar un error de actualización, debes usar la versión %1$s o posterior antes de poder actualizar a las versiones %2$s.','Use latest GitHub Dev/Master commit'=>'Utiliza el último commit Dev/Master de GitHub','Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.'=>'Presiona el botón %s para usar el commit de GitHub más reciente. Master es para la versión candidata y Dev es para pruebas experimentales.','Downgrade not recommended. May cause fatal error due to refactored code.'=>'No se recomienda bajar de versión. Puede causar un error fatal debido a código reprogramado.','Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.'=>'Optimiza solo las páginas para visitantes invitados (no conectados). Si se desactiva, se duplicarán los archivos CSS/JS/CCSS por cada grupo de usuarios.','Listed JS files or inline JS code will not be optimized by %s.'=>'Los archivos JS listados o el código JS integrado no serán optimizados por %s.','Listed URI will not generate UCSS.'=>'Las URI listadas no generarán UCSS.','The selector must exist in the CSS. Parent classes in the HTML will not work.'=>'El selector debe existir en el CSS. Las clases principales en HTML no funcionarán.','Wildcard %s supported.'=>'Compatibilidad con el comodín %s.','Useful for above-the-fold images causing CLS (a Core Web Vitals metric).'=>'Útil para imágenes de la mitad superior de la página que causan CLS (una métrica de Core Web Vitals).','Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).'=>'Establece un ancho y alto explícitos en los elementos de la imagen para reducir los cambios de diseño y mejorar CLS (una métrica de Core Web Vitals).','Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.'=>'Los cambios en este ajuste no se aplican a los LQIP ya generados. Para regenerar los LQIP existentes, por favor, primero %s desde el menú de la barra de administración.','Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).'=>'Aplazar hasta que se analiza la página o retrasar hasta que la interacción pueda ayudar a reducir la contención de recursos y mejorar el rendimiento, lo que provoca un FID más bajo (métrica de Core Web Vitals).','Delayed'=>'Retrasado','JS error can be found from the developer console of browser by right clicking and choosing Inspect.'=>'El error JS se puede encontrar en la consola de desarrollador del navegador haciendo clic derecho y eligiendo inspeccionar.','This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.'=>'Esta opción puede resultar en un error de JS o un problema de diseño en las páginas de portada con ciertos temas/plugins.','This will also add a preconnect to Google Fonts to establish a connection earlier.'=>'Esto también añadirá una preconexión a Google Fonts para establecer una conexión antes.','Delay rendering off-screen HTML elements by its selector.'=>'Retraso al mostrar los elementos HTML fuera de la pantalla por su selector.','Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.'=>'Desactiva esta opción para generar CCSS por tipo de contenido en lugar de por página. Esto puede ahorrar una cuota significativa de CCSS, sin embargo, puede resultar en un estilo de CSS incorrecto si tu sitio usa un maquetador de páginas.','This option is bypassed due to %s option.'=>'Esta opción se omite debido a la opción %s.','Elements with attribute %s in HTML code will be excluded.'=>'Se excluirán los elementos con el atributo %s en el código HTML.','Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.'=>'Usa el servicio online de QUIC.cloud para generar el CSS crítico y cargar asíncronamente el CSS restante.','This option will automatically bypass %s option.'=>'Esta opción omitirá automáticamente la opción %s.','Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.'=>'UCSS integrado para reducir la carga adicional de archivos CSS. Esta opción no será activada automáticamente para las páginas %1$s. Para usarla en las páginas %1$s, por favor, actívala.','Run %s Queue Manually'=>'Ejecutar manualmente la cola %s','This option is bypassed because %1$s option is %2$s.'=>'Esta opción se omite porque la opción %1$s es %2$s.','Automatic generation of unique CSS is in the background via a cron-based queue.'=>'La generación automática de CSS único está en segundo plano a través de una cola basada en cron.','This will drop the unused CSS on each page from the combined file.'=>'Esto eliminará el CSS no utilizado en cada página del archivo combinado.','HTML Settings'=>'Ajustes HTML','LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.'=>'Actualizado el plugin LiteSpeed Cache. Por favor, actualiza la página para completar la actualización de los datos de configuración.','Your %1$s quota on %2$s will still be in use.'=>'Tu cuota de %1$s en %2$s aún seguirá en uso.','This option can help to correct the cache vary for certain advanced mobile or tablet visitors.'=>'Esta opción puede ayudar a corregir la variación de la caché para ciertos visitantes avanzados de dispositivos móviles o tabletas.','Guest Mode provides an always cacheable landing page for an automated guest\'s first time visit, and then attempts to update cache varies via AJAX.'=>'El modo de invitado proporciona una página de destino siempre en la caché para la primera visita de un invitado automatizado y, después, intenta actualizar las variaciones de la caché a través de AJAX.','Please make sure this IP is the correct one for visiting your site.'=>'Por favor, asegúrate de que esta IP sea la correcta para visitar tu sitio.','the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.'=>'la IP autodetectada puede no ser exacta si tienes establecida una IP saliente adicional o si tienes varias IP configuradas en tu servidor.','You need to turn %s on and finish all WebP generation to get maximum result.'=>'Debes activar %s y finalizar toda la generación de WebP para obtener el máximo resultado.','You need to turn %s on to get maximum result.'=>'Necesitas activar %s para obtener el máximo resultado.','This option enables maximum optimization for Guest Mode visitors.'=>'Esta opción permite la máxima optimización para los visitantes del modo de invitado.','More'=>'Más','Remaining Daily Quota'=>'Cuota diaria restante','Successfully Crawled'=>'Rastreado correctamente','Already Cached'=>'Ya en la caché','The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.'=>'El rastreador usará tu mapa del sitio XML o el índice del mapa del sitio. Introduce aquí la URL completa de tu mapa del sitio.','Optional when API token used.'=>'Opcional cuando se usa el token de la API.','Recommended to generate the token from Cloudflare API token template "WordPress".'=>'Recomendado para generar el token desde la plantilla «WordPress» del token de la API de Cloudflare.','Global API Key / API Token'=>'Clave/Token global de la API','NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.'=>'NOTA: La CDN de QUIC.cloud y Cloudflare no usan asignación CDN. Si solo estás usando QUIC.cloud o Cloudflare, deja este ajuste como %s.','Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN.'=>'Cambia este ajuste %s si estás usando una red de entrega de contenido (CDN) tradicional o un subdominio para contenido estático con la CDN de QUIC.cloud.','Use external object cache functionality.'=>'Usa la funcionalidad de la caché de objetos externos.','Serve a separate cache copy for mobile visitors.'=>'Ofrece una copia de la caché separada para los visitantes móviles.','By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.'=>'Por defecto, las páginas «Mi cuenta», «Pago» y «Carrito» son excluidas automáticamente de la caché. Una mala configuración de las asociaciones de páginas en los ajustes de WooCommerce puede hacer que algunas páginas sean excluidas erróneamente.','Cleaned all Unique CSS files.'=>'Limpiados todos los archivos CSS únicos.','Add Missing Sizes'=>'Añadir tamaños que faltan','Optimize for Guests Only'=>'Optimizar solamente para invitados','Guest Mode JS Excludes'=>'Exclusiones JS del modo de invitado','CCSS Per URL'=>'CCSS por URL','HTML Lazy Load Selectors'=>'Selectores HTML de carga diferida','UCSS URI Excludes'=>'Exclusiones UCSS de la URI','UCSS Inline'=>'UCCS integrado','Guest Optimization'=>'Optimización para invitados','Guest Mode'=>'Modo de invitado','Online node needs to be redetected.'=>'El nodo online tiene que volver a ser detectado.','The current server is under heavy load.'=>'El servidor actual está bajo una gran carga.','Please see %s for more details.'=>'Por favor, consulta %s para más detalles.','This setting will regenerate crawler list and clear the disabled list!'=>'¡Este ajuste regenerará la lista de rastreadores y vaciará la lista de desactivados!','%1$s %2$s files left in queue'=>'%1$s %2$s archivos restantes en la cola','Crawler disabled list is cleared! All crawlers are set to active! '=>'¡Se ha vaciado la lista de rastreadores desactivados! ¡Todos los rastreadores están activos! ','Redetected node'=>'Nodo detectado nuevamente','No available Cloud Node after checked server load.'=>'No hay ningún nodo de la nube disponible después de comprobar la carga del servidor.','Localization Files'=>'Archivos de idiomas','Purged!'=>'¡Purgado!','Resources listed here will be copied and replaced with local URLs.'=>'Los recursos listados aquí se copiarán y reemplazarán con URL locales.','Use latest GitHub Master commit'=>'Usar el último commit maestro de GitHub','Use latest GitHub Dev commit'=>'Usar el último commit de desarrollo de GitHub','No valid sitemap parsed for crawler.'=>'No se ha analizado ningún mapa del sitio válido para el rastreador.','CSS Combine External and Inline'=>'Combinación de CSS externo e integrado','Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.'=>'Incluye CSS externo y CSS integrado en un archivo combinado cuando %1$s también está activado. Esta opción ayuda a mantener las prioridades de CSS, que debería minimizar los errores potenciales causados por la combinación de CSS.','Minify CSS files and inline CSS code.'=>'Minimiza archivos CSS y código CSS integrado.','Predefined list will also be combined w/ the above settings'=>'La lista predefinida también se combinará con los ajustes anteriores','Localization'=>'Localización','Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.'=>'Incluye JS externo y JS integrado en un archivo combinado cuando %1$s también está activado. Esta opción ayuda a mantener las prioridades de ejecución de JS, que debería minimizar los errores potenciales causados por la combinación de JS.','Combine all local JS files into a single file.'=>'Combina todos los archivos JS locales en un único archivo.','Listed JS files or inline JS code will not be deferred or delayed.'=>'Los archivos JS listados o el código JS integrado no serán aplazados ni diferidos.','JS Combine External and Inline'=>'Combinación de JS externo e integrado','Dismiss'=>'Descartar','The latest data file is'=>'El último archivo de datos es','The list will be merged with the predefined nonces in your local data file.'=>'La lista se fusionará con los nonces predefinidos en tu archivo de datos local.','Combine CSS files and inline CSS code.'=>'Combina archivos CSS y código CSS integrado.','Minify JS files and inline JS codes.'=>'Minimiza archivos JS y códigos JS integrados.','Listed JS files or inline JS code will not be minified or combined.'=>'Los archivos JS de la lista o el código JS integrado no se minimizarán o combinarán.','Listed CSS files or inline CSS code will not be minified or combined.'=>'Los archivos CSS de la lista o el código CSS integrado no se minimizarán o combinarán.','This value is overwritten by the Network setting.'=>'Este valor queda sobrescrito por el ajuste de red.','LQIP Excludes'=>'Exclusiones de LQIP','These images will not generate LQIP.'=>'Estas imágenes no generarán LQIP.','Are you sure you want to reset all settings back to the default settings?'=>'¿Seguro que quieres restablecer los ajustes a los valores por defecto?','This option will remove all %s tags from HTML.'=>'Esta opción eliminará todas las etiquetas %s del HTML.','Are you sure you want to clear all cloud nodes?'=>'¿Seguro que quieres vaciar todos los nodos cloud?','Remove Noscript Tags'=>'Eliminar las etiquetas Noscript','The site is not registered on QUIC.cloud.'=>'El sitio no está registrado en QUIC.cloud.','Click here to set.'=>'Haz clic aquí para configurarlo.','Localize Resources'=>'Recursos localizados','Setting Up Custom Headers'=>'Configurar cabeceras personalizadas','This will delete all localized resources'=>'Esto borrará todos los recursos localizados','Localized Resources'=>'Recursos localizados','Comments are supported. Start a line with a %s to turn it into a comment line.'=>'Se admiten comentarios. Empieza una línea con un %s para convertirla en una línea de comentario.','HTTPS sources only.'=>'Solo orígenes HTTPS.','Localize external resources.'=>'Localizar recursos externos.','Localization Settings'=>'Ajustes de localización','Use QUIC.cloud online service to generate unique CSS.'=>'Usar el servicio en línea QUIC.cloud para generar CSS único.','Generate UCSS'=>'Generar UCSS','Unique CSS'=>'CSS único','Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches'=>'Purga las entradas de la caché creadas por este plugin, excepto las cachés de CSS único, CSS crítico y de LQIP','LiteSpeed Report'=>'Informe de LiteSpeed','Image Thumbnail Group Sizes'=>'Grupo de tamaños de miniaturas','Ignore certain query strings when caching. (LSWS %s required)'=>'Ignorar ciertas cadenas de petición al cachear. (LSWS %s obligatorio)','For URLs with wildcards, there may be a delay in initiating scheduled purge.'=>'En el caso de las URL con comodines, puede haber un retraso en el inicio de la purga programada.','By design, this option may serve stale content. Do not enable this option, if that is not OK with you.'=>'Por diseño, esta opción puede servir contenido obsoleto. No actives esta opción si no estás de acuerdo.','Serve Stale'=>'Servir contenido rancio','This value is overwritten by the primary site setting.'=>'Este valor es sobrescrito por el ajuste principal del sitio.','One or more pulled images does not match with the notified image md5'=>'Una o más de las imágenes recuperadas no coincide con el md5 de imagen avisado','Some optimized image file(s) has expired and was cleared.'=>'Una o más imágenes optimizadas han caducado y han sido borradas.','You have too many requested images, please try again in a few minutes.'=>'Tienes demasiadas imágenes solicitadas, inténtalo dentro de unos minutos.','Pulled WebP image md5 does not match the notified WebP image md5.'=>'El md5 de la imagen WebP recuperada no coincide con el md5 avisado de la imagen WebP.','Pulled AVIF image md5 does not match the notified AVIF image md5.'=>'El md5 de la imagen AVIF extraída no coincide con el md5 de la imagen AVIF avisada.','Read LiteSpeed Documentation'=>'Leer la documentación de LiteSpeed','There is proceeding queue not pulled yet. Queue info: %s.'=>'La cola aún no ha sido recuperada. Información de la cola: %s.','Specify how long, in seconds, Gravatar files are cached.'=>'Especifica durante cuánto tiempo, en segundos, se almacenan en la caché los archivos de Gravatar.','Cleared %1$s invalid images.'=>'Purgadas %1$s imágenes no válidas.','LiteSpeed Cache General Settings'=>'Ajustes generales de LiteSpeed Cache','This will delete all cached Gravatar files'=>'Esto borrará todos los archivos Gravatar almacenados en caché','Prevent any debug log of listed pages.'=>'Evita cualquier registro de depuración de las páginas listadas.','Only log listed pages.'=>'Solo registra las páginas listadas.','Specify the maximum size of the log file.'=>'Especifica el tamaño máximo del archivo de registro.','To prevent filling up the disk, this setting should be OFF when everything is working.'=>'Para evitar que se llene el disco, este ajuste debe estar APAGADO cuando todo funcione.','Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.'=>'Pulsa el botón %s para detener la prueba beta y volver a la versión actual del directorio de plugins de WordPress.','Use latest WordPress release version'=>'Usar la última versión de WordPress','OR'=>'O','Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.'=>'Utiliza esta sección para cambiar la versión del plugin. Para hacer una prueba beta de un commit de GitHub, introduce la URL del commit en el campo de abajo.','Reset Settings'=>'Restablecer ajustes','LiteSpeed Cache Toolbox'=>'Caja de herramientas de LiteSpeed','Beta Test'=>'Pruebas beta','Log View'=>'Vista de registros','Debug Settings'=>'Ajustes de depuración','Turn ON to control heartbeat in backend editor.'=>'Actívalo para controlar heartbeat en el editor.','Turn ON to control heartbeat on backend.'=>'Actívalo para controlar heartbeat en el escritorio.','Set to %1$s to forbid heartbeat on %2$s.'=>'Ponlo en %1$s para bloquear heartbeat en %2$s.','WordPress valid interval is %s seconds.'=>'El intervalo válido de WordPress es de %s segundos.','Specify the %s heartbeat interval in seconds.'=>'Especifica el intervalo de heartbeat para %s en segundos.','Turn ON to control heartbeat on frontend.'=>'Enciéndelo para controlar heartbeat en las páginas públicas.','Disable WordPress interval heartbeat to reduce server load.'=>'Desactuva el intervalo del heartbeat de WordPress para reducir la carga del servidor.','Heartbeat Control'=>'Control de Heartbeat','provide more information here to assist the LiteSpeed team with debugging.'=>'proporciona más información aquí para ayudar al equipo de LiteSpeed con la depuración.','Optional'=>'Opcional','Generate Link for Current User'=>'Generar el enlace para el usuario actual','Passwordless Link'=>'Enlace sin contraseña','System Information'=>'Información del sistema','Go to plugins list'=>'Ir a la lista de plugins','Install DoLogin Security'=>'Instalar la seguridad de DoLogin','Check my public IP from'=>'Comprobar mi IP pública desde','Your server IP'=>'La IP de tu servidor','Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.'=>'Introduce la dirección IP de este sitio para permitir que los servicios en la nube llamen directamente a la IP en lugar de al nombre de dominio. Esto elimina la sobrecarga de búsquedas de DNS y CDN.','This will enable crawler cron.'=>'Esto activará el cron rastreador.','Crawler General Settings'=>'Ajustes generales del rastreador','Remove from Blocklist'=>'Eliminar de la lista negra','Empty blocklist'=>'Vaciar la lista negra','Are you sure to delete all existing blocklist items?'=>'¿Seguro que quieres borrar todos los elementos de la lista negra?','Blocklisted due to not cacheable'=>'En la lista negra debido a que no se puede cachear','Add to Blocklist'=>'Añadir a la lista negra','Operation'=>'Operación','Sitemap Total'=>'Total del mapa del sitio','Sitemap List'=>'Lista del mapa del sitio','Refresh Crawler Map'=>'Recargar el mapa del rastreador','Clean Crawler Map'=>'Vaciar el mapa del rastreador','Blocklist'=>'Lista negra','Map'=>'Mapa','Summary'=>'Sumario','Cache Miss'=>'Fallo de caché','Cache Hit'=>'Acierto de caché','Waiting to be Crawled'=>'Esperando a ser rastreado','Blocklisted'=>'En lista negra','Miss'=>'Fallo','Hit'=>'Acierto','Waiting'=>'En espera','Running'=>'En curso','Use %1$s in %2$s to indicate this cookie has not been set.'=>'Usa %1$s en %2$s para indicar que esta cookie no ha sido establecida.','Add new cookie to simulate'=>'Añadir una cookie nueva para simular','Remove cookie simulation'=>'Eliminar la simulación de la cookie','Htaccess rule is: %s'=>'La regla de Htaccess es: %s','More settings available under %s menu'=>'Más ajustes disponibles en el menú %s','The amount of time, in seconds, that files will be stored in browser cache before expiring.'=>'La cantidad de tiempo, en segundos, que los archivos se almacenarán en la caché del navegador antes de caducar.','OpenLiteSpeed users please check this'=>'Marca esto si eres un usuario de OpenLiteSpeed','Browser Cache Settings'=>'Ajustes de la caché del navegador','Paths containing these strings will be forced to public cached regardless of no-cacheable settings.'=>'Las rutas que contengan estas cadenas serán forzadas a ser almacenados públicamente sin tener en cuenta los ajustes de no-cacheable.','With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.'=>'Con la CDN de QUIC.cloud activada, puede que todavía estés viendo las cabeceras de la caché de tu servidor local.','An optional second parameter may be used to specify cache control. Use a space to separate'=>'Se puede utilizar un segundo parámetro opcional para especificar el control de la caché. Utiliza un espacio para separar','The above nonces will be converted to ESI automatically.'=>'Los nonces anteriores se convertirán en ESI automáticamente.','Browser'=>'Navegador','Object'=>'Objeto','Default port for %1$s is %2$s.'=>'Puerto por defecto de %1$s es %2$s.','Object Cache Settings'=>'Ajustes de la caché de objetos','Specify an HTTP status code and the number of seconds to cache that page, separated by a space.'=>'Especifica un código de estado HTTP y el número de segundos que almacenar esa página en caché, separados por un espacio.','Specify how long, in seconds, the front page is cached.'=>'Especifica cuánto tiempo, en segundos, se almacena la página de inicio.','TTL'=>'TTL','If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.'=>'Si está activada, se les mostrará a los visitantes una copia vieja de la página almacenada en caché hasta que haya una nueva copia disponible. Reduce la carga del servidor para las siguientes visitas. Si está apagado, la página se generará dinámicamente mientras los visitantes esperan.','Swap'=>'Swap','Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.'=>'Configura esto para añadir %1$s a todas las reglas de %2$s antes de guardar en caché el CSS para especificar cómo deben mostrarse las fuentes mientras se descargan.','Avatar list in queue waiting for update'=>'La lista de avatares está en la cola esperando ser actualizada','Refresh Gravatar cache by cron.'=>'Refrescar la caché de Gravatar por cron.','Accelerates the speed by caching Gravatar (Globally Recognized Avatars).'=>'Acelera la velocidad al almacenar en caché los gravatares (avatares reconocidos mundialmente).','Store Gravatar locally.'=>'Almacenar los gravatares localmente.','Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.'=>'Fallo al crear la tabla Avatar. Por favor, sigue la guía <a %s>creación de tablas, de la Wiki de LiteSpeed</a> para terminar la configuración.','LQIP requests will not be sent for images where both width and height are smaller than these dimensions.'=>'No se enviarán peticiones de LQIP para imágenes en las que tanto el ancho como la altura sean menores que estas dimensiones.','pixels'=>'pixels','Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.'=>'Los números más grandes generarán un marcador de posición de mayor calidad de resolución, pero resultarán en archivos más grandes que aumentarán el tamaño de la página y consumirán más puntos.','Specify the quality when generating LQIP.'=>'Especifica la calidad al generar el LQIP.','Keep this off to use plain color placeholders.'=>'Mantén esto apagado para usar marcadores de posición de color.','Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.'=>'Usa el servicio generador de marcadores de posición de imágenes de baja calidad (LQIP) de QUIC.cloud para obtener vistas previas de la imagen mientras se carga.','Specify the responsive placeholder SVG color.'=>'Especifica el color del marcador de posición SVG adaptable.','Variables %s will be replaced with the configured background color.'=>'Las variables %s serán reemplazadas por el color de fondo configurado.','Variables %s will be replaced with the corresponding image properties.'=>'Las variables %s serán reemplazadas por las correspondientes propiedades de la imagen.','It will be converted to a base64 SVG placeholder on-the-fly.'=>'Se convertirá en un marcador de posición SVG base64 sobre la marcha.','Specify an SVG to be used as a placeholder when generating locally.'=>'Especifica un SVG que se utilizará como marcador de posición al generar localmente.','Prevent any lazy load of listed pages.'=>'Evita cualquier carga diferida de las páginas de la lista.','Iframes having these parent class names will not be lazy loaded.'=>'Los iframes con estos nombres de clase padres no se cargarán de forma diferida.','Iframes containing these class names will not be lazy loaded.'=>'Los marcos que contengan estos nombres de clase no serán cargados de forma diferida.','Images having these parent class names will not be lazy loaded.'=>'Las imágenes que tengan estos nombres de clase de los padres no serán cargadas de forma diferida.','LiteSpeed Cache Page Optimization'=>'Optimización de página de LiteSpeed Cache','Media Excludes'=>'Exclusiones de medios','CSS Settings'=>'Ajustes de CSS','%s is recommended.'=>'Se recomienda %s.','Deferred'=>'Diferido','Default'=>'Por defecto','This can improve the page loading speed.'=>'Esto puede mejorar la velocidad de carga de la página.','Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.'=>'Activar ampliamente la precarga de DNS para las URLs del documento, incluyendo imágenes, CSS, JavaScript, etc.','New developer version %s is available now.'=>'La nueva versión de desarrollo %s está disponible.','New Developer Version Available!'=>'¡Nueva versión para desarrolladores disponible!','Dismiss this notice'=>'Ignorar ese aviso','Tweet this'=>'Tuitea esto','Tweet preview'=>'Vista previa del tweet','Learn more'=>'Aprender más','You just unlocked a promotion from QUIC.cloud!'=>'¡Acabas de desbloquear una promoción de QUIC.cloud!','The image compression quality setting of WordPress out of 100.'=>'El ajuste de calidad de compresión de imágenes de WordPress, de 0 a 100.','Image Optimization Settings'=>'Ajustes de optimización de imágenes','Are you sure to destroy all optimized images?'=>'¿Está seguro de destruir todas las imágenes optimizadas?','Use Optimized Files'=>'Usar archivos optimizados','Switch back to using optimized images on your site'=>'Volver a utilizar imágenes optimizadas en tu web','Use Original Files'=>'Usar archivos originales','Use original images (unoptimized) on your site'=>'Usar imágenes originales (no optimizadas) en tu web','You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.'=>'Puedes alternar rápidamente entre el uso de archivos de imágenes originales (versiones no optimizadas) y optimizadas. Afectará a todas las imágenes de tu web, tanto a las versiones normales como a las versiones webp si están disponibles.','Optimization Tools'=>'Herramientas de optimización','Rescan New Thumbnails'=>'Reexaminar nuevas miniaturas','Congratulations, all gathered!'=>'¡Felicidades, todos obtenidos!','What is an image group?'=>'¿Qué es un grupo de imágenes?','Delete all backups of the original images'=>'Borrar todas las copias de seguridad de las imágenes originales','Calculate Backups Disk Space'=>'Calcular el espacio en disco de las copias de seguridad','Optimization Status'=>'Estado de optimización','Current limit is'=>'El límite actual es','To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.'=>'Para asegurarnos de que nuestro servidor puede comunicarse con el tuyo sin problemas y todo funciona bien, para las pocas primeras solicitudes la cantidad de grupos de imágenes permitidas en una sola petición es limitada.','You can request a maximum of %s images at once.'=>'Puedes solicitar un máximo de %s imágenes de una vez.','Optimize images with our QUIC.cloud server'=>'Optimiza las imágenes con nuestro servidor en QUIC.cloud','Revisions newer than this many days will be kept when cleaning revisions.'=>'Las revisiones más recientes se guardarán cuando se limpien las revisiones.','Day(s)'=>'Día(s)','Specify the number of most recent revisions to keep when cleaning revisions.'=>'Especifica el número de revisiones más recientes que se deben guardar al limpiar las revisiones.','LiteSpeed Cache Database Optimization'=>'Optimización de la base de datos de la caché de LiteSpeed','DB Optimization Settings'=>'Ajustes de optimización de la BD','Option Name'=>'Nombre de la opción','Database Summary'=>'Resumen de la base de datos','We are good. No table uses MyISAM engine.'=>'Estamos bien. Ninguna tabla usa el motor MyISAM.','Convert to InnoDB'=>'Convertir a InnoDB','Tool'=>'Herramienta','Engine'=>'Motor','Table'=>'Tabla','Database Table Engine Converter'=>'Conversor de motor de tabla de base de datos','Clean revisions older than %1$s day(s), excluding %2$s latest revisions'=>'Limpiar las revisiones más antiguas de %1$s día(s), excluyendo %2$s últimas revisiones','Currently active crawler'=>'Rastreador activo','Crawler(s)'=>'Rastreador(es)','Crawler Status'=>'Estado del rastreador','Force cron'=>'Forzar cron','Requests in queue'=>'Peticiones en cola','Time to execute previous request: %s'=>'Hora para ejecutar la solicitud anterior: %s','Private Cache'=>'Caché privada','Public Cache'=>'Caché pública','Cache Status'=>'Estado de caché','Last Pull'=>'Última lectura','Image Optimization Summary'=>'Resumen de la optimización de imágenes','Refresh page score'=>'Actualizar la puntuación de la página','Are you sure you want to redetect the closest cloud server for this service?'=>'¿Estás seguro de que quieres volver a detectar el servidor en la nube más cercano para este servicio?','Current closest Cloud server is %s. Click to redetect.'=>'El servidor en la nube más cercano es %s. Haz clic para volver a detectarlo.','Refresh page load time'=>'Actualizar el tiempo de carga de la página','Go to QUIC.cloud dashboard'=>'Ir al escritorio de QUIC.cloud','Low Quality Image Placeholder'=>'Marcador de imagen de baja calidad','Sync data from Cloud'=>'Sincronizar los datos de la nube','QUIC.cloud Service Usage Statistics'=>'Estadísticas de uso del servicio QUIC.cloud','Total images optimized in this month'=>'Total de imágenes optimizadas en este mes','Total Usage'=>'Uso total','Pay as You Go Usage Statistics'=>'Estadísticas pago por uso','PAYG Balance'=>'Balance de pagos','Pay as You Go'=>'Pago por uso','Usage'=>'Uso','Fast Queue Usage'=>'Uso de la cola rápida','CDN Bandwidth'=>'Ancho de banda de la CDN','LiteSpeed Cache Dashboard'=>'Escritorio de LiteSpeed Cache','Network Dashboard'=>'Escritorio de red','No cloud services currently in use'=>'No hay servicios de la nube en uso','Click to clear all nodes for further redetection.'=>'Haz clic para borrar todos los nodos para volver a detectar.','Current Cloud Nodes in Service'=>'Nodos de la nube actual en servicio','Link to QUIC.cloud'=>'Enlace a QUIC.cloud','General Settings'=>'Ajustes generales','Specify which HTML element attributes will be replaced with CDN Mapping.'=>'Especificar qué atributos de elementos HTML serán reemplazados por mapeo CDN.','Add new CDN URL'=>'Añadir una nueva URL de la CDN','Remove CDN URL'=>'Eliminar la URL de la CDN','To enable the following functionality, turn ON Cloudflare API in CDN Settings.'=>'Para activar la siguiente funcionalidad, activa la API de Cloudflare en la configuración de la CDN.','QUIC.cloud'=>'QUIC.cloud','WooCommerce Settings'=>'Ajustes de WooCommerce','LQIP Cache'=>'Caché de LQIP','Options saved.'=>'Las opciones han sido guardadas.','Removed backups successfully.'=>'Copias de seguridad eliminadas correctamente.','Calculated backups successfully.'=>'Copias de seguridad calculadas correctamente.','Rescanned %d images successfully.'=>'%d imágenes reexploradas correctamente.','Rescanned successfully.'=>'Reexploración correcta.','Destroy all optimization data successfully.'=>'Todos los datos de optimización destruidos correctamente.','Cleaned up unfinished data successfully.'=>'Datos incompletos limpiados correctamente.','Pull Cron is running'=>'Pull Cron se está ejecutando','No valid image found by Cloud server in the current request.'=>'El servidor en la nube no ha encontrado ninguna imagen válida por en la petición actual.','No valid image found in the current request.'=>'No se ha encontrado ninguna imagen válida en la petición actual.','Pushed %1$s to Cloud server, accepted %2$s.'=>'%1$s enviadas al servidor en la nube, %2$s aceptadas.','Revisions Max Age'=>'Edad máxima de las revisiones','Revisions Max Number'=>'Número máximo de revisiones','Debug URI Excludes'=>'URIs excluidas de la depuración','Debug URI Includes'=>'URIs incluidas en la depuración','HTML Attribute To Replace'=>'Atributo HTML a reemplazar','Use CDN Mapping'=>'Usar mapeo de CDN','QUIC.cloud CDN:'=>'CDN de QUIC.cloud:','Editor Heartbeat TTL'=>'TTL de heartbeat del editor','Editor Heartbeat'=>'Heartbeat del editor','Backend Heartbeat TTL'=>'TTL de heartbeat de la administración','Backend Heartbeat Control'=>'Control de heartbeat de la administración','Frontend Heartbeat TTL'=>'TTL de heartbeat de la parte pública','Frontend Heartbeat Control'=>'Control de heartbeat de la parte pública','Backend .htaccess Path'=>'Ruta del .htaccess de la administración','Frontend .htaccess Path'=>'Ruta del .htaccess de la parte pública','ESI Nonces'=>'Nonces de ESI','WordPress Image Quality Control'=>'Control de la calidad de imagen de WordPress','Auto Request Cron'=>'Cron de petición automática','Generate LQIP In Background'=>'Generar LQIP en segundo plano','LQIP Minimum Dimensions'=>'Dimensiones mínimas de LQIP','LQIP Quality'=>'Calidad de LQIP','LQIP Cloud Generator'=>'Generador de LQIP en la nube','Responsive Placeholder SVG'=>'Marcador de posición SVG adaptable','Responsive Placeholder Color'=>'Color del marcador de posición adaptable','Basic Image Placeholder'=>'Marcador de posición de imagen básica','Lazy Load URI Excludes'=>'Exclusión de URIs de carga diferida','Lazy Load Iframe Parent Class Name Excludes'=>'Exclusiones de carga diferida de clases padre de iframes','Lazy Load Iframe Class Name Excludes'=>'Exclusiones de carga diferida de clases de iframes','Lazy Load Image Parent Class Name Excludes'=>'Exclusiones de carga diferida de clases padres','Gravatar Cache TTL'=>'TTL de la caché de Gravatar','Gravatar Cache Cron'=>'Cron de la caché de Gravatar','Gravatar Cache'=>'Caché de Gravatar','DNS Prefetch Control'=>'Control del prefetch DNS','Font Display Optimization'=>'Optimización de visualización de fuentes','Force Public Cache URIs'=>'Forzar URIs de caché púbica','Notifications'=>'Avisos','Default HTTP Status Code Page TTL'=>'TTL del código de estado de página por defecto','Default REST TTL'=>'TTL por defecto de REST','Enable Cache'=>'Activa cache','Server IP'=>'IP del servidor','Images not requested'=>'Imágenes no solicitadas','Sync credit allowance with Cloud Server successfully.'=>'Se ha sincronizado la asignación de créditos correctamente con el servidor en la nube.','Failed to communicate with QUIC.cloud server'=>'Fallo de comunicación con el servidor QUIC.cloud','Good news from QUIC.cloud server'=>'Buenas noticias del servidor QUIC.cloud','Message from QUIC.cloud server'=>'Mensaje del servidor QUIC.cloud','Please try after %1$s for service %2$s.'=>'Por favor, inténtalo después de %1$s para el servicio %2$s.','No available Cloud Node.'=>'No hay ningún nodo de la nube disponible.','Cloud Error'=>'Error de la nube','The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.'=>'La base de datos se ha ido actualizando en segundo plano desde %s. Este mensaje desaparecerá una vez que la actualización se haya completado.','Restore from backup'=>'Restaurar desde la copia de seguridad','No backup of unoptimized WebP file exists.'=>'No existe una copia de seguridad del archivo WebP no optimizado.','WebP file reduced by %1$s (%2$s)'=>'Archivo WebP reducido en %1$s (%2$s)','Currently using original (unoptimized) version of WebP file.'=>'Actualmente usando la versión original (no optimizada) del archivo WebP.','Currently using optimized version of WebP file.'=>'Actualmente usando la versión optimizada del archivo WebP.','Orig'=>'Original','(no savings)'=>'(sin reducción)','Orig %s'=>'Original %s','Congratulation! Your file was already optimized'=>'¡Felicidades! Tu archivo ya ha sido optimizado','No backup of original file exists.'=>'No existe una copia de seguridad del archivo original.','Using optimized version of file. '=>'Usando la versión optimizada del archivo. ','Orig saved %s'=>'Ahorrado un %s del original','Original file reduced by %1$s (%2$s)'=>'Archivo original reducido en %1$s (%2$s)','Click to switch to optimized version.'=>'Haz clic para cambiar a la versión optimizada.','Currently using original (unoptimized) version of file.'=>'Actualmente usando la versión original (no optimizada) del archivo.','(non-optm)'=>'(no-optm)','Click to switch to original (unoptimized) version.'=>'Haz clic para cambiar a la versión original (no optimizada).','Currently using optimized version of file.'=>'Actualmente usando la versión optimizada del archivo.','(optm)'=>'(optm)','LQIP image preview for size %s'=>'Vista previa de la imagen LQIP para el tamaño %s','LQIP'=>'LQIP','Previously existed in blocklist'=>'Anteriormente existía en la lista negra','Manually added to blocklist'=>'Añadido manualmente a la lista negra','Mobile Agent Rules'=>'Reglas de agente móvil','Sitemap created successfully: %d items'=>'Mapa del sitio creado con éxito: %d elementos','Sitemap cleaned successfully'=>'El mapa del sitio se limpió con éxito','Invalid IP'=>'IP no válida','Value range'=>'Rango de valores','Smaller than'=>'Más pequeño que','Larger than'=>'Mayor que','Zero, or'=>'Cero, o','Maximum value'=>'Valor máximo','Minimum value'=>'Valor mínimo','Path must end with %s'=>'La ruta debe terminar en %s','Invalid rewrite rule'=>'Regla de reescritura no válida','Currently set to %s'=>'Actualmente establecido en %s','This value is overwritten by the PHP constant %s.'=>'Este valor es sobrescrito por la constante %s de PHP.','Toolbox'=>'Herramientas','Database'=>'Base de datos','Page Optimization'=>'Optimización de página','Dashboard'=>'Escritorio','Converted to InnoDB successfully.'=>'Convertido a InnoDB correctamente.','Cleaned all Gravatar files.'=>'Vaciados todos los archivos de Gravatar.','Cleaned all LQIP files.'=>'Vaciados todos los archivos LQIP.','Unknown error'=>'Error desconocido','Your domain has been forbidden from using our services due to a previous policy violation.'=>'A tu dominio se le ha prohibido usar nuestros servicios debido a una violación de política anterior.','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: '=>'Ha fallado la validación de la devolución de llamada a tu dominio. Por favor, asegúrate de que no hay un cortafuegos bloqueando nuestros servidores. Código de respuesta: ','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.'=>'Ha fallado la validación de la devolución de llamada a tu dominio. Por favor, asegúrate de que no hay un cortafuegos bloqueando nuestros servidores.','The callback validation to your domain failed due to hash mismatch.'=>'Ha fallado la validación de la llamada a tu dominio debido a la falta de coincidencia del hash.','Your application is waiting for approval.'=>'Tu solicitud está a la espera de aprobación.','Previous request too recent. Please try again after %s.'=>'La solicitud anterior es demasiado reciente. Por favor, inténtalo de nuevo después de %s.','Previous request too recent. Please try again later.'=>'La solicitud anterior es demasiado reciente. Por favor, inténtalo de nuevo más tarde.','Crawler disabled by the server admin.'=>'Rastreador desactivado por el administrador del servidor.','Failed to create table %1$s! SQL: %2$s.'=>'¡Error al crear la tabla %1$s! SQL: %2$s.','Could not find %1$s in %2$s.'=>'No se ha podido encontrar %1$s en %2$s.','Credits are not enough to proceed the current request.'=>'Los créditos no son suficientes para proceder con la solicitud actual.','There is proceeding queue not pulled yet.'=>'Hay una cola de procedimiento que no se ha retirado todavía.','The image list is empty.'=>'La lista de imágenes está vacía.','LiteSpeed Crawler Cron'=>'Cron del rastreador de LiteSpeed','Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.'=>'Activa esta opción para mostrar automáticamente las últimas noticias, incluyendo correcciones de fallos, nuevas versiones, versiones beta disponibles y promociones.','To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.'=>'Para conceder acceso a la administración de WP al equipo de soporte de LiteSpeed, por favor, genera un enlace sin contraseña para el usuario conectado actual para enviarlo con el informe.','Generated links may be managed under %sSettings%s.'=>'Los enlaces generados pueden gestionarse en los %sAjustes%s.','Please do NOT share the above passwordless link with anyone.'=>'Por favor, NO compartas con nadie el enlace de acceso sin contraseña anterior.','To generate a passwordless link for LiteSpeed Support Team access, you must install %s.'=>'Para generar un enlace de acceso sin contraseña para el equipo de soporte de LiteSpeed, debes instalar %s.','Install'=>'Instalar','These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.'=>'Estas opciones solo están disponibles con LiteSpeed Enterprise Web Server o QUIC.cloud CDN.','PageSpeed Score'=>'Puntuación de PageSpeed','Improved by'=>'Mejorado por','After'=>'Después','Before'=>'Antes','Page Load Time'=>'Tiempo de carga de la página','To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.'=>'Para poder usar las funciones de cache debes tener un servidor LiteSpeed o estar usando la la CDN QUIC.cloud.','Preserve EXIF/XMP data'=>'Conservar los datos EXIF/XMP','Try GitHub Version'=>'Probar versión de GitHub','If you turn any of the above settings OFF, please remove the related file types from the %s box.'=>'Si cambias alguno de los ajustes de arriba a OFF, por favor, quita los tipos de archivo relacionados de la caja %s.','Both full and partial strings can be used.'=>'Se pueden usa cadenas parciales y completas.','Images containing these class names will not be lazy loaded.'=>'Las imágenes que contengan estos nombres de clases no tendrán carga diferida.','Lazy Load Image Class Name Excludes'=>'Exclusión de nombres de clases para carga diferida de imágenes','For example, %1$s defines a TTL of %2$s seconds for %3$s.'=>'Por ejemplo, %1$s define un TTL de %2$s segundos para %3$s.','To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.'=>'Para definir un TTL personalizado añade un espacio seguido por el valor de TTL Al final de la URI.','Maybe Later'=>'Puede que más tarde','Turn On Auto Upgrade'=>'Activar la actualización automática','Upgrade'=>'Actualizar','New release %s is available now.'=>'La nueva versión %s está disponible ahora.','New Version Available!'=>'¡Nueva versión disponible!','Created with ❤️ by LiteSpeed team.'=>'Creado con ❤️ por el equipo de LiteSpeed.','Sure I\'d love to review!'=>'¡Por supuesto, me encantará valorarlo!','Thank You for Using the LiteSpeed Cache Plugin!'=>'¡Gracias por usar el plugin de caché LiteSpeed!','Upgraded successfully.'=>'Actualizado con éxito.','Failed to upgrade.'=>'Fallo al actualizar.','Changed setting successfully.'=>'Ajuste cambiado con éxito.','ESI sample for developers'=>'Muestra de ESI para desarrolaldores','Replace %1$s with %2$s.'=>'Reemplaza %1$s con %2$s.','You can turn shortcodes into ESI blocks.'=>'Puedes convertir shortcodes en bloques ESI.','WpW: Private Cache vs. Public Cache'=>'WpW: Caché privada o caché pública','Append query string %s to the resources to bypass this action.'=>'Añade la cadena de consulta %s a los recursos para evitar esta acción.','Google reCAPTCHA will be bypassed automatically.'=>'Google reCAPTCHA se omitirá automáticamente.','To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.'=>'Para rastrear una cookie en particular, introduce el nombre de la cookie y los valores que deseas rastrear. Los valores deben ser uno por línea. Se creará un rastreador por cada valor de cookie, por cada perfil simulado.','Cookie Values'=>'Valores de la cookie','Cookie Name'=>'Nombre de la cookie','Cookie Simulation'=>'Simulación de cookie','Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.'=>'Utiliza la biblioteca del cargador de fuentes web para cargar asíncronamente Google Fonts, dejando el resto del CSS intacto.','Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.'=>'Activa esta opción para que LiteSpeed Cache se actualice automáticamente cuando se publique una nueva versión. Si está desactivada, tendrás que actualizar manualmente como de costumbre.','Automatically Upgrade'=>'Actualizar automáticamente','Your IP'=>'Tu IP','Reset successfully.'=>'Restablecimiento realizado con éxito.','This will reset all settings to default settings.'=>'Esto restablecerá todos los ajustes a su valores predeterminados.','Reset All Settings'=>'Restablecer todos los ajustes','Separate critical CSS files will be generated for paths containing these strings.'=>'Separa archivos CSS críticos al generar las rutas que contengan estas cadenas.','Separate CCSS Cache URIs'=>'Distintas URIs de caché CCSS','For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.'=>'Por ejemplo, si todas las páginas del sitio tienen formato diferente introduce %s en la caja. Los archivos CSS críticos distintos de cada página del sitio se almacenarán.','List post types where each item of that type should have its own CCSS generated.'=>'Lista tipos de contenido en los que cada elemento de ese tipo debería generar su propio CCSS.','Separate CCSS Cache Post Types'=>'Tipos de contenido de caché de CCSS distintos','Size list in queue waiting for cron'=>'Tamaño de la lista en la cola de espera del cron','If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.'=>'Si se establece a %1$s, antes de localizar el marcador de posición, se usará la configuración %2$s.','Automatically generate LQIP in the background via a cron-based queue.'=>'Genera automáticamente LQIP en segundo plano mediante una cola basada en el programador de tareas.','This will generate the placeholder with same dimensions as the image if it has the width and height attributes.'=>'Esto generará el marcador de posición con las mismas dimensiones que la imagen si tiene los atributos de ancho y alto.','Responsive image placeholders can help to reduce layout reshuffle when images are loaded.'=>'Los marcadores de posición de imagen pueden ayudar a reducir la recolocación de la estructura cuando se cargan las imágenes.','Responsive Placeholder'=>'Marcador de posición adaptable','This will delete all generated image LQIP placeholder files'=>'Esto borrará todos los archivos generados de marcador de posición de imágenes LQIP','Please enable LiteSpeed Cache in the plugin settings.'=>'Por favor, activa LiteSpeed Cache en los ajustes del plugin.','Please enable the LSCache Module at the server level, or ask your hosting provider.'=>'Por favor, activa el módulo LSCache en el servidor, o pídeselo a tu proveedor de alojamiento.','Failed to request via WordPress'=>'Fallo en la solicitud desde WordPress','High-performance page caching and site optimization from LiteSpeed'=>'Caché de páginas de alto rendimiento y optimización de sitio de LiteSpeed','Reset the optimized data successfully.'=>'Datos de optimización restablecidos correctamente.','Update %s now'=>'Actualizar %s','View %1$s version %2$s details'=>'Ver detalles de la versión %2$s de %1$s','<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.'=>'<a href="%1$s" %2$s>ver detalles de la versión %3$s</a> o <a href="%4$s" %5$s target="_blank">actualiza ya</a>.','Install %s'=>'Instalar %s','LSCache caching functions on this page are currently unavailable!'=>'¡Las funciones de la caché de LSCache en esta página no están disponibles en este momento!','%1$s plugin version %2$s required for this action.'=>'Para esta acción se necesita la versión %2$s del plugin %1$s.','We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.'=>'Estamos trabajando duro para mejorar tu experiencia de servicio online. El servicio no estará disponible mientras trabajamos. Sentimos cualquier inconveniente.','Automatically remove the original image backups after fetching optimized images.'=>'Elimina automáticamente las copias de seguridad de la imagen original tras recuperar las imágenes optimizadas.','Remove Original Backups'=>'Eliminar copias de seguridad del orginal','Automatically request optimization via cron job.'=>'Solicitar automáticamente la optimización mediante un trabajo cron.','A backup of each image is saved before it is optimized.'=>'Se guarda una copia de seguridad de cada imagen antes de optimizarla.','Switched images successfully.'=>'Imágenes cambiadas correctamente.','This can improve quality but may result in larger images than lossy compression will.'=>'Esto puede mejorar la calidad, pero puede dar como resultado imágenes más grandes que la compresión con pérdida.','Optimize images using lossless compression.'=>'Optimizar imágenes usando compresión sin pérdida.','Optimize Losslessly'=>'Optimizar sin pérdida','Request WebP/AVIF versions of original images when doing optimization.'=>'Solicita versiones WebP/AVIF de las imágenes originales al hacer la optimización.','Optimize images and save backups of the originals in the same folder.'=>'Optimiza imágenes y guarda copias de seguridad de los originales en la misma carpeta.','Optimize Original Images'=>'Optimizar imágenes originales','When this option is turned %s, it will also load Google Fonts asynchronously.'=>'Cuando esta opción se cambia a %s, también se cargan de forma asíncrona las fuentes de Google.','Cleaned all Critical CSS files.'=>'Limpiados todos los archivos CSS críticos.','This will inline the asynchronous CSS library to avoid render blocking.'=>'Esto integrará la biblioteca CSS asíncrona para evitar el bloqueo de renderizado.','Inline CSS Async Lib'=>'Biblioteca de CSS integrado asíncrono','Run Queue Manually'=>'Ejecutar la cola manualmente','URL list in %s queue waiting for cron'=>'Lista de URL en cola %s esperando el cron','Last requested cost'=>'Último coste solicitado','Last generated'=>'Último generado','If set to %s this is done in the foreground, which may slow down page load.'=>'Si se configura a %s esto se hace en segundo plano, lo que puede ralentizar la carga de la página.','Automatic generation of critical CSS is in the background via a cron-based queue.'=>'Genera automáticamente CSS crítico en segundo plano mediante una cola basada en el cron.','Optimize CSS delivery.'=>'Optimiza la entrega de CSS.','This will delete all generated critical CSS files'=>'Esto borrará todos los archivos generados de CSS crítico','Critical CSS'=>'CSS crítico','This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.'=>'Este sitio utiliza el almacenamiento en la caché para facilitar un tiempo de respuesta más rápido y una mejor experiencia de usuario. El almacenamiento en la caché, potencialmente, almacena una copia duplicada de cada página web que se muestra en este sitio. Todos los archivos de la caché son temporales y nunca acceden a ellos terceras partes, salvo cuando necesario para obtener soporte técnico del proveedor del plugin de caché. Los archivos de la caché caducan en una programación establecida por el administrador del sitio, pero pueden ser fácilmente purgados por el administrador antes de su caducidad natural, si fuese necesario. Podemos usar los servicios de QUIC.cloud para procesar y almacenar tus datos temporalmente en la caché.','Disabling this may cause WordPress tasks triggered by AJAX to stop working.'=>'Desactivar esto puede causar que las tareas de WordPress activadas por AJAX dejen de funcionar.','right now'=>'ahora mismo','just now'=>'ahora mismo','Saved'=>'Guardado','Last ran'=>'Última ejecución','You will be unable to Revert Optimization once the backups are deleted!'=>'¡No podrás revertir la optimización una vez eliminadas las copias de seguridad!','This is irreversible.'=>'Esto es irreversible.','Remove Original Image Backups'=>'Eliminar copias de seguridad de las imágenes originales','Are you sure you want to remove all image backups?'=>'¿Está seguro de querer eliminar todas las copias de seguridad de imágenes?','Total'=>'Total','Files'=>'Archivos','Last calculated'=>'Último cálculo','Calculate Original Image Storage'=>'Calcular almacenamiento original de imágenes','Storage Optimization'=>'Optimización de almacenamiento','Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.'=>'Activar reemplazo de WebP/AVIF en los elementos %s generados fuera de la lógica de WordPress.','Use the format %1$s or %2$s (element is optional).'=>'Usa el formato %1$s o %2$s (el elemento es opcional).','Only attributes listed here will be replaced.'=>'Solo los atributos aquí listados serán reemplazados.','Specify which element attributes will be replaced with WebP/AVIF.'=>'Especificar que atributos de elementos serán reemplazados con WebP/AVIF.','WebP/AVIF Attribute To Replace'=>'Atributo a reemplazar para WebP/AVIF','Only files within these directories will be pointed to the CDN.'=>'Solo los archivos en estos directorios apuntarán a la CDN.','Included Directories'=>'Directorios incluidos','A Purge All will be executed when WordPress runs these hooks.'=>'Se iniciará una purga completa cuando WordPress ejecute estos ganchos.','Purge All Hooks'=>'Ganchos de purgar todo','Purged all caches successfully.'=>'Todas las cachés purgadas correctamente.','LSCache'=>'LSCache','Forced cacheable'=>'Forzar cacheables','Paths containing these strings will be cached regardless of no-cacheable settings.'=>'Las rutas que contengan estas cadenas se cachearán independientemente de los ajustes de no cacheables.','Force Cache URIs'=>'Forzar URLs en caché','Exclude Settings'=>'Ajustes de exclusión','This will disable LSCache and all optimization features for debug purpose.'=>'Esto desactivará LSCache y todas las características de optimización con propósitos de depuración.','Disable All Features'=>'Desactivar todas las características','Opcode Cache'=>'Caché opcode','CSS/JS Cache'=>'Caché CSS/JS','Remove all previous unfinished image optimization requests.'=>'Eliminar todas las peticiones de optimización de imágenes anteriores sin terminar.','Clean Up Unfinished Data'=>'Limpiar datos no finalizados','Join Us on Slack'=>'Únete a nuestro Slack','Join the %s community.'=>'Únete a la comunidad %s.','Want to connect with other LiteSpeed users?'=>'¿Quieres conectar con otros usuarios de LiteSpeed?','Your API key / token is used to access %s APIs.'=>'Tu clave de la API/token se usa para acceder a las API de %s.','Your Email address on %s.'=>'Tu dirección de email en %s.','Use %s API functionality.'=>'Usar la funcionalidad de la API %s.','To randomize CDN hostname, define multiple hostnames for the same resources.'=>'Para aleatorizar el hostname de la CDN, define multiples hostnames para los mismos recursos.','Join LiteSpeed Slack community'=>'Únete a la comunidad de Slack de LiteSpeed','Visit LSCWP support forum'=>'Visita el foro de soporte de LSCWP','Images notified to pull'=>'Imágenes avisadas para descargar','What is a group?'=>'¿Qué es un grupo?','%s image'=>'%s imagen','%s group'=>'%s grupo','%s images'=>'%s imágenes','%s groups'=>'%s grupos','Guest'=>'Invitado','To crawl the site as a logged-in user, enter the user ids to be simulated.'=>'Para rastrear el sitio como usuario conectado introduce los ids de usuario a imitar.','Role Simulation'=>'Simulación de rol','running'=>'ejecutando','Size'=>'Tamaño','Ended reason'=>'Razón de finalización','Last interval'=>'Último intervalo','Current crawler started at'=>'El rastreador actual comenzó a las','Run time for previous crawler'=>'Hora de ejecución para el rastreador anterior','%d seconds'=>'%d segundos','Last complete run time for all crawlers'=>'Hora de la última ejecución completa para todos los rastreadores','Current sitemap crawl started at'=>'El rastreo del mapa del sitio actual comenzó a las','Save transients in database when %1$s is %2$s.'=>'Guarda datos transitorios en la base de datos cuando %1$s es %2$s.','Store Transients'=>'Almacenar datos transitorios','If %1$s is %2$s, then %3$s must be populated!'=>'¡Si %1$s es %2$s entonces debe completarse %3$s!','Server allowed max value: %s'=>'Valor máximo permitido por el servidor: %s','Server enforced value: %s'=>'Valor forzado por el servidor: %s','NOTE'=>'NOTA','Server variable(s) %s available to override this setting.'=>'Variable(s) del servidor %s disponible para omitir este ajuste.','API'=>'API','Reset the entire OPcache successfully.'=>'Reestablecida correctamente la caché «OPcache».','Imported setting file %s successfully.'=>'Importado con éxito el archivo de ajustes %s.','Import failed due to file error.'=>'Importación fallida debido a un error en el archivo.','How to Fix Problems Caused by CSS/JS Optimization.'=>'Cómo solucionar problemas causados por la optimización CSS/JS.','This will generate extra requests to the server, which will increase server load.'=>'Esto generará peticiones extra al servidor, lo cual aumentará la carga del servidor.','When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.'=>'Cuando un visitante pasa el cursor sobre un enlace a una página, precarga esa página. Esto acelera la visita a ese enlace.','Instant Click'=>'Clic instantáneo','Reset the entire opcode cache'=>'Reestablecer toda la caché opcode','This will import settings from a file and override all current LiteSpeed Cache settings.'=>'Esto importará ajustes desde un archivo y sobreescribirá todos los ajustes de LiteSpeed Cache actuales.','Last imported'=>'Última importación','Import'=>'Importar','Import Settings'=>'Ajustes de importación','This will export all current LiteSpeed Cache settings and save them as a file.'=>'Esto exportará todos los ajustes actuales de LiteSpeed Cache y los guardará como un archivo.','Last exported'=>'Última exportación','Export'=>'Exportar','Export Settings'=>'Exportar ajustes','Import / Export'=>'Importar / Exportar','Use keep-alive connections to speed up cache operations.'=>'Utilizar conexiones keep-alive para acelerar operaciones de la caché.','Database to be used'=>'Base de datos a usar','Redis Database ID'=>'ID de base de datos Redis','Specify the password used when connecting.'=>'Especifica la contraseña utilizada al conectar.','Password'=>'Contraseña','Only available when %s is installed.'=>'Solo disponible cuando está instalado %s.','Username'=>'Nombre de usuario','Your %s Hostname or IP address.'=>'El hostname o dirección IP de tu %s.','Method'=>'Método','Purge all object caches successfully.'=>'Purga correcta de todas las cachés de objetos.','Object cache is not enabled.'=>'La caché de objetos no está activada.','Improve wp-admin speed through caching. (May encounter expired data)'=>'Mejora la velocidad de wp-admin mediante caché. (Puede encontrar datos caducados)','Cache WP-Admin'=>'Caché de WP-Admin','Persistent Connection'=>'Conexión persistente','Do Not Cache Groups'=>'Grupos a no cachear','Groups cached at the network level.'=>'Grupos cacheados a nivel de red.','Global Groups'=>'Grupos globales','Connection Test'=>'Prueba de conexión','%s Extension'=>'Extensión %s','Status'=>'Estado','Default TTL for cached objects.'=>'TTL por defecto para objetos cacheados.','Default Object Lifetime'=>'Tiempo de vida por defecto del objeto','Port'=>'Puerto','Host'=>'Host','Object Cache'=>'Caché de objetos','Failed'=>'Fallido','Passed'=>'Exitoso','Not Available'=>'No disponible','Purge all the object caches'=>'Purgar todas las cachés de objetos','Failed to communicate with Cloudflare'=>'Fallo al comunicar con Cloudflare','Communicated with Cloudflare successfully.'=>'Comunicado con éxito con Cloudflare.','No available Cloudflare zone'=>'No hay disponible una zona Cloudflare','Notified Cloudflare to purge all successfully.'=>'Avisado correctamente a Cloudflare de la purga completa.','Cloudflare API is set to off.'=>'La API de Cloudflare está configurada en off.','Notified Cloudflare to set development mode to %s successfully.'=>'Avisado a Cloudflare la configuración del modo de desarrollo a %s con éxito.','Once saved, it will be matched with the current list and completed automatically.'=>'Una vez guardado, coincidirá con la lista actual y se completará automáticamente.','You can just type part of the domain.'=>'Puedes simplemente teclear parte de dominio.','Domain'=>'Dominio','Cloudflare API'=>'API de Cloudflare','Purge Everything'=>'Purgar todo','Cloudflare Cache'=>'Caché de Cloudflare','Development Mode will be turned off automatically after three hours.'=>'El modo de desarrollo se desactivará automáticamente después de tres horas.','Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.'=>'Omite temporalmente la caché de Cloudflare. Esto permite cambios en el servidor de origen para que se vea en tiempo real.','Development mode will be automatically turned off in %s.'=>'El modo de desarrollo se desactivará automáticamente en %s.','Current status is %s.'=>'El estado actual es %s.','Current status is %1$s since %2$s.'=>'El estado actual es %1$s desde %2$s.','Check Status'=>'Comprobar estado','Turn OFF'=>'APAGAR','Turn ON'=>'ENCENDER','Development Mode'=>'Modo de desarrollo','Cloudflare Zone'=>'Zona de Cloudflare','Cloudflare Domain'=>'Dominio de Cloudflare','Cloudflare'=>'Cloudflare','For example'=>'Por ejemplo','Prefetching DNS can reduce latency for visitors.'=>'La precarga DNS puede reducir la latencia para los visitantes.','DNS Prefetch'=>'Prefetch DNS','Adding Style to Your Lazy-Loaded Images'=>'Añade estilos a tus imágenes de carga diferida','Default value'=>'Valor por defecto','Static file type links to be replaced by CDN links.'=>'Enlaces de tipo de archivo estático que se reemplazarán con enlaces a la CDN.','For example, to drop parameters beginning with %1$s, %2$s can be used here.'=>'Por ejemplo, para eliminar parámetros que comienzan con %1$s, se puede usar %2$s aquí.','Drop Query String'=>'Ignorar cadenas de consulta','Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.'=>'Activa esta opción si estás usando tanto HTTP como HTTPS en el mismo dominio y estás notando irregularidades en la caché.','Improve HTTP/HTTPS Compatibility'=>'Mejorar compatibilidad HTTP/HTTPS','Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.'=>'Eliminar todos los resultados/peticiones de optimización de imágenes previos, revertir optimizaciones completadas, y eliminar todos los archivos de optimización.','Destroy All Optimization Data'=>'Destruir todos los datos de optimización','Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.'=>'Buscar nuevos tamaños de miniaturas de imágenes no optimizadas y reenviar las solicitudes de optimización de imágenes necesarias.','This will increase the size of optimized files.'=>'Esto aumentará el tamaño de los archivos optimizados.','Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.'=>'Preservar datos EXIF (copyright, GPS, comentarios, palabras clave, etc) al optimizar.','Clear Logs'=>'Vaciar los registros',' %s ago'=>' hace %s','WebP saved %s'=>'WebP ha ahorrado un %s','If you run into any issues, please refer to the report number in your support message.'=>'Si experimentas algún problema, por favor menciona el número de informe en tu mensaje de soporte.','Last pull initiated by cron at %s.'=>'Última descarga iniciada por cron a las %s.','Images will be pulled automatically if the cron job is running.'=>'Las imágenes serán descargadas automáticamente si la tarea cron si está ejecutando.','Only press the button if the pull cron job is disabled.'=>'Solo pulsar el botón si la tarea cron de descarga está desactivada.','Pull Images'=>'Descargar imágenes','This process is automatic.'=>'Este proceso es automático.','Last Request'=>'Última petición','Images Pulled'=>'Imágenes recuperadas','Report'=>'Informe','Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.'=>'Enviar este informe a LiteSpeed. Menciona este número de informe al publicar en el foro de soporte de WordPress.','Send to LiteSpeed'=>'Enviar a LiteSpeed','LiteSpeed Optimization'=>'Optimización de LiteSpeed','Load Google Fonts Asynchronously'=>'Cargar Google Fonts asíncronamente','Browser Cache TTL'=>'TTL caché de navegador','Results can be checked in %sMedia Library%s.'=>'Los resultados pueden comprobarse en la %sBiblioteca de medios%s.','Learn More'=>'Leer más','Image groups total'=>'Total de grupos de imágenes','Images optimized and pulled'=>'Imágenes optimizadas y descargadas','Images requested'=>'Imágenes solicitadas','Switched to optimized file successfully.'=>'Cambio correcto a archivo optimizado.','Restored original file successfully.'=>'Archivo original restaurado con éxito.','Enabled WebP file successfully.'=>'Archivo WebP activado con éxito.','Disabled WebP file successfully.'=>'Archivo WebP desactivado con éxito.','Significantly improve load time by replacing images with their optimized %s versions.'=>'Mejora significativamente el tiempo de carga reemplazando imágenes con sus versiones %s optimizadas.','Selected roles will be excluded from cache.'=>'Los perfiles seleccionados serán excluidos de la caché.','Tuning'=>'Retoques','Selected roles will be excluded from all optimizations.'=>'Los perfiles seleccionados serán excluidos de todas las optimizaciones.','Role Excludes'=>'Excluir perfiles','Tuning Settings'=>'Ajustes de los retoques','If the tag slug is not found, the tag will be removed from the list on save.'=>'Si no se encuentra el slug de la etiqueta, la etiqueta será eliminada de la lista al guardar.','If the category name is not found, the category will be removed from the list on save.'=>'Si no se encuentra el nombre de la categoría, la categoría será eliminada de la lista al guardar.','After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.'=>'Después de que el servidor de optimización de imágenes de QUIC.cloud termine de optimizar, avisará a tu sitio para descargar las imágenes optimizadas.','Send Optimization Request'=>'Enviar solicitud de optimización','Image Information'=>'Información de imágenes','Total Reduction'=>'Reducción total','Optimization Summary'=>'Resumen de optimización','LiteSpeed Cache Image Optimization'=>'Optimización de imágenes de LiteSpeed Cache','Image Optimization'=>'Optimización de imágenes','For example, %s can be used for a transparent placeholder.'=>'Por ejemplo, los %s pueden usarse para un marcador de posición transparente.','By default a gray image placeholder %s will be used.'=>'Por defecto, se utilizará un marcador de posición de imagen gris %s.','This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.'=>'Esto puede ser predefinido en %2$s así como usando las constantes %1$s, tomando prioridad con esta configuración.','Specify a base64 image to be used as a simple placeholder while images finish loading.'=>'Especifica una imagen base64 que se usará como un sencillo marcador de posición mientras terminan de cargarse las imágenes.','Elements with attribute %s in html code will be excluded.'=>'Se excluirán los elementos con el atributo %s en código html.','Filter %s is supported.'=>'El filtro %s es compatible.','Listed images will not be lazy loaded.'=>'Las imágenes listadas no se cargarán de forma retrasada.','Lazy Load Image Excludes'=>'Exclusiones de carga retrasada de imágenes','No optimization'=>'Sin optimización','Prevent any optimization of listed pages.'=>'Evitar cualquier optimización de las páginas listadas.','URI Excludes'=>'URL excluidas','Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.'=>'Deja de cargar los emojis de WordPress.org. En su lugar, se mostrarán los emoji por defecto del navegador.','Both full URLs and partial strings can be used.'=>'Pueden utilizarse tanto URLs completas como cadenas parciales.','Load iframes only when they enter the viewport.'=>'Cargar iframes sólo cuando entran en la ventana de visualización.','Lazy Load Iframes'=>'Retrasar la carga de iframes','This can improve page loading time by reducing initial HTTP requests.'=>'Esto puede mejorar el tiempo de carga de la página reduciendo las peticiones HTTP iniciales.','Load images only when they enter the viewport.'=>'Cargar las imágenes sólo cuando entran en la ventana de visualización.','Lazy Load Images'=>'Retrasar la carga de imágenes','Media Settings'=>'Ajustes de medios','For example, for %1$s, %2$s and %3$s can be used here.'=>'Por ejemplo, para %1$s, se pueden utilizar aquí %2$s y %3$s.','Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.'=>'El comodín %1$s es compatible (compara cero o más caracteres). Por ejemplo, para igualar %2$s y %3$s, utiliza %4$s.','To match the beginning, add %s to the beginning of the item.'=>'Para que coincida con el principio, añade %s al comienzo del artículo.','For example, for %1$s, %2$s can be used here.'=>'Por ejemplo, para %1$s, se puede utilizar %2$s aquí.','Maybe later'=>'Quizás más tarde','I\'ve already left a review'=>'Ya he dejado una valoración','Welcome to LiteSpeed'=>'Bienvenido a LiteSpeed','Remove WordPress Emoji'=>'Eliminar emojis de WordPress','More settings'=>'Más ajustes','Private cache'=>'Caché privada','Non cacheable'=>'No cacheable','Mark this page as '=>'Marcar esta página como ','Purge this page'=>'Purgar esta página','Load JS Deferred'=>'Deferir carga de JS','Specify critical CSS rules for above-the-fold content when enabling %s.'=>'Especifica reglas CSS críticas para contenido de la mitad superior de la página al activar %s.','Critical CSS Rules'=>'Reglas de CSS críticas','Load CSS Asynchronously'=>'Cargar CSS asíncronamente','Prevent Google Fonts from loading on all pages.'=>'Evita que cargue Google Fonts en todas las páginas.','Remove Google Fonts'=>'Eliminar Google Fonts','This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.'=>'Esto puede mejorar tu puntuación de velocidad en servicios como Pingdom, GTmetrix y PageSpeed.','Remove query strings from internal static resources.'=>'Eliminar cadenas de consulta de recursos estáticos internos.','Remove Query Strings'=>'Eliminar query strings','user agents'=>'user agents','cookies'=>'cookies','You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s.'=>'También puedes activar el almacenamiento en caché del navegador en la administración del servidor. %sObtén más información sobre los ajustes de caché del navegador de LiteSpeed%s.','Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.'=>'El cacheo de navegador almacena archivos estáticos localmente en el navegador del usuario. Activa este ajuste para reducir peticiones repetidas a archivos estáticos.','Browser Cache'=>'Caché del navegador','tags'=>'etiquetas','Do Not Cache Tags'=>'Etiquetas a no cachear','To exclude %1$s, insert %2$s.'=>'Para excluir %1$s, insertar %2$s.','categories'=>'categorías','To prevent %s from being cached, enter them here.'=>'Para evitar que los %s sean almacenados en la caché, introdúcelos aquí.','Do Not Cache Categories'=>'Categorías a no cachear','Query strings containing these parameters will not be cached.'=>'Las cadenas de consulta que contengan estos parámetros no se almacenarán en la caché.','Do Not Cache Query Strings'=>'Cadenas de consulta a no cachear','Paths containing these strings will not be cached.'=>'Las rutas que contengan estas cadenas no serán cacheadas.','Do Not Cache URIs'=>'URIs a no cachear','One per line.'=>'Una por línea.','URI Paths containing these strings will NOT be cached as public.'=>'Las rutas de URI que contengan estas cadenadas NO serán cacheadas como públicas.','Private Cached URIs'=>'URIs cacheadas privadamente','Paths containing these strings will not be served from the CDN.'=>'Las rutas que contengan las siguientes cadenas no se servirán desde el CDN.','Exclude Path'=>'Excluir ruta','Include File Types'=>'Incluir tipos de archivo','Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.'=>'Servir todos los archivos JS a través de la CDN. Esto afectará a todos los archivos JS en cola de WordPress.','Include JS'=>'Incluir JS','Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.'=>'Servir todos los archivos CSS a través de la CDN. Esto afectará a todos los archivos CSS en cola de WordPress.','Include CSS'=>'Incluir CSS','Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes.'=>'Sirve todos los archivos de imagen a través de la CDN. Esto afectará a todos los archivos adjuntos, las etiquetas HTML %1$s y los atributos CSS %2$s.','Include Images'=>'Incluir imágenes','CDN URL to be used. For example, %s'=>'URL de la CDN a utilizar. Por ejemplo, %s','CDN URL'=>'URL de CDN','Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.'=>'URL del sitio a servir a través de la CDN. Empezando con %1$s. Por ejemplo, %2$s.','Original URLs'=>'URLs originales','CDN Settings'=>'Ajustes de CDN','CDN'=>'CDN','OFF'=>'OFF','ON'=>'ON','Notified LiteSpeed Web Server to purge CSS/JS entries.'=>'Solicitada la purga de entradas CSS/JS al servidor web LiteSpeed.','Minify HTML content.'=>'Minificar contenido HTML.','HTML Minify'=>'Minificar HTML','JS Excludes'=>'Excluir JS','JS Combine'=>'Combinar JS','JS Minify'=>'Minificar JS','CSS Excludes'=>'Excluir CSS','CSS Combine'=>'Combinar CSS','CSS Minify'=>'Minificar CSS','Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.'=>'Por favor, prueba a fondo al activar cualquier opción de esta lista. Después de cambiar ajustes de minimización/combinación, por favor realiza una acción «Purgar todo».','This will purge all minified/combined CSS/JS entries only'=>'Esto purgará solo las entradas CSS/JS minimizadas o combinadas','Purge %s Error'=>'Error de purga de %s','Database Optimizer'=>'Optimizador de base de datos','Optimize all tables in your database'=>'Optimizar todas las tablas en tu base de datos','Optimize Tables'=>'Optimizar tablas','Clean all transient options'=>'Borrar todas las opciones de datos transitorios','All Transients'=>'Todos los datos transitorios','Clean expired transient options'=>'Borrar opciones de datos transitorios expirados','Expired Transients'=>'Datos transitorios expirados','Clean all trackbacks and pingbacks'=>'Borrar todos los trackbacks y pingbacks','Trackbacks/Pingbacks'=>'Trackbacks/pingbacks','Clean all trashed comments'=>'Borrar todos los comentarios en la papelera','Trashed Comments'=>'Comentarios enviados a la papelera','Clean all spam comments'=>'Borrar todos los comentarios spam','Spam Comments'=>'Comentarios spam','Clean all trashed posts and pages'=>'Borrar todas las entradas y páginas en la papelera','Trashed Posts'=>'Entradas enviadas a la papelera','Clean all auto saved drafts'=>'Borrar todos los borradores guardados automáticamente','Auto Drafts'=>'Borradores automáticos','Clean all post revisions'=>'Borrar todas las revisiones de entradas','Post Revisions'=>'Revisiones de entradas','Clean All'=>'Limpiar todo','Optimized all tables.'=>'Optimizadas todas las tablas.','Clean all transients successfully.'=>'Limpieza de todos los datos transitorios exitosa.','Clean expired transients successfully.'=>'Limpieza de datos transitorios expirados exitosa.','Clean trackbacks and pingbacks successfully.'=>'Limpieza de trackbacks y pingbacks exitosa.','Clean trashed comments successfully.'=>'Limpieza de comentarios en papelera exitosa.','Clean spam comments successfully.'=>'Limpieza de comentarios no deseados exitosa.','Clean trashed posts and pages successfully.'=>'Limpieza de páginas y entradas en papelera exitosa.','Clean auto drafts successfully.'=>'Limpieza de borradores automáticos exitosa.','Clean post revisions successfully.'=>'Limpieza de revisiones de entradas exitosa.','Clean all successfully.'=>'Limpieza completa exitosa.','Default Private Cache TTL'=>'TTL por defecto de la caché privada','If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.'=>'Si tu sitio incluye contenido público que solo ciertos perfiles de usuarios pueden ver, puedes especificar un grupo de variación para dichos perfiles de usuario. Por ejemplo, especificar un grupo de variación de administrador permite que haya una página cacheada públicamente personalziada para administradores (con enlaces de "editar", etc.), mientras que el resto de perfiles de usuario ven la página pública por defecto.','Vary Group'=>'Grupos de variación','Cache the built-in Comment Form ESI block.'=>'Almacena en la caché el bloque ESI del formulario de comentarios incluido.','Cache Comment Form'=>'Cachear formulario de comentario','Cache the built-in Admin Bar ESI block.'=>'Almacena en caché el bloque ESI de la barra de administración incorporada.','Cache Admin Bar'=>'Cachear barra de administrador','Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.'=>'Actívalo para almacenar en la caché las páginas públicas para los usuarios conectados y muestra la barra de administración y el formulario de comentarios mediante bloques ESI. Estos dos bloques no serán almacenados en la caché, salvo que se active a continuación.','ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.'=>'ESI te permite designar partes de tu página dinámica como fragmentos diferentes que son combinados juntos para formar la página completa. En otras palabras,  ESI permite "hacer huecos" en una página, y rellenar dichos huecos con contenido que puede ser cacheado privadamente, cacheado públicamente con su propio TTL, o no cacheado.','With ESI (Edge Side Includes), pages may be served from cache for logged-in users.'=>'Con ESI (Edge Side Includes), las páginas pueden ser servidas desde la caché a usuarios con sesión iniciada.','Private'=>'Privada','Public'=>'Pública','Purge Settings'=>'Ajustes de purga','Cache Mobile'=>'Cache móvil','Advanced level will log more details.'=>'El nivel avanzado registrará más detalles.','Basic'=>'Básico','The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.'=>'La carga media permitida como máximo en el servidor durante la indexación. El número de hilos en uso del rastreador será reducido activamente hasta que la carga media del servidor baje de este límite. Si esto no es posible con un solo hilo, el proceso de indexación actual será terminado.','Cache Login Page'=>'Cachear página de acceso','Cache requests made by WordPress REST API calls.'=>'Cachear peticiones realizadas por llamadas de la API REST de WordPress.','Cache REST API'=>'Cachear API REST','Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)'=>'Cachear privadamente a los usuarios con comentarios pendientes. Desactivar esta opción servirá páginas no-cacheables a los comentaristas. (LSWS %s requerido)','Cache Commenters'=>'Cachear comentaristas','Privately cache frontend pages for logged-in users. (LSWS %s required)'=>'Cachear privadamente páginas del sitio para usuarios con sesión iniciada. (LSWS %s requerido)','Cache Logged-in Users'=>'Cachear usuarios con sesión iniciada','Cache Control Settings'=>'Ajustes de control de caché','ESI'=>'ESI','Excludes'=>'Excluir','Purge'=>'Purgar','Cache'=>'Caché','Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)'=>'Se ha encontrado una regla inesperada de la caché %2$s en el archivo %1$s. Esta regla puede hacer que los visitantes vean las versiones anteriores de las páginas debido a que el navegador almacena en la caché las páginas HTML. Si tienes la seguridad de que las páginas HTML no están siendo almacenadas en la caché del navegador, puedes ignorar este mensaje. (%3$sMás información%4$s)','Current server time is %s.'=>'La hora actual del servidor es %s.','Specify the time to purge the "%s" list.'=>'Especifica la hora para purgar la lista «%s».','Both %1$s and %2$s are acceptable.'=>'Tanto %1$s como %2$s son aceptables.','Scheduled Purge Time'=>'Hora de purga programada','The URLs here (one per line) will be purged automatically at the time set in the option "%s".'=>'Las URLs de aquí (una por línea) serán purgadas automáticamente a la hora establecida en la opción «%s».','Scheduled Purge URLs'=>'URLs de purga programada','Shorten query strings in the debug log to improve readability.'=>'Acortar cadenas de peticiones en el registro de depuración para mejorar la legibilidad.','Heartbeat'=>'Heartbeat','MB'=>'MB','Log File Size Limit'=>'Límite de tamaño de archivo de registro','<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s'=>'<p>Por favor añade/reemplaza los siguientes códigos al comiendo de %1$s:</p> %2$s','%s file not writable.'=>'No se puede escribir el archivo %s.','%s file not readable.'=>'No se puede leer el archivo %s.','Collapse Query Strings'=>'Colapsar cadenas de peticiones','ESI Settings'=>'Ajustes de ESI','A TTL of 0 indicates do not cache.'=>'Un TTL de 0 implica no cachear.','Recommended value: 28800 seconds (8 hours).'=>'Valor recomendado: 28800 segundos (8 horas).','Widget Cache TTL'=>'TTL caché de Widgets','Enable ESI'=>'Activar ESI','See %sIntroduction for Enabling the Crawler%s for detailed information.'=>'Ver la %sIntroducción para activar el rastreador%s para obtener información detallada.','Custom Sitemap'=>'Sitemap personalizado','Purge pages by relative or full URL.'=>'Purgar páginas por URL completa o relativa.','The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.'=>'La característica de rastreador no está activada en el servidor LiteSpeed. Por favor, consulta al administrador del servidor.','WARNING'=>'ADVERTENCIA','The next complete sitemap crawl will start at'=>'La siguiente indexación de sitemap completa empezará a las','Failed to write to %s.'=>'Error al escribir a %s.','Folder is not writable: %s.'=>'El directorio no es escribible: %s.','Can not create folder: %1$s. Error: %2$s'=>'No se puede crear el directorio: %1$s. Error: %2$s','Folder does not exist: %s'=>'El directorio no existe: %s','Notified LiteSpeed Web Server to purge the list.'=>'Solicitado la purga de la lista al servidor web LiteSpeed.','Please visit the %sInformation%s page on how to test the cache.'=>'Visita la página de %sInformación%s sobre cómo probar la caché.','Allows listed IPs (one per line) to perform certain actions from their browsers.'=>'Permite a las IPs listadas (una por línea) ejecutar ciertas acciones desde sus navegadores.','Server Load Limit'=>'Límite de carga del servidor','Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.'=>'Especifica tras cuanto tiempo debe el rastreador indexar el sitemap entero de nuevo.','Crawl Interval'=>'Intervalo de indexación','Then another WordPress is installed (NOT MULTISITE) at %s'=>'Y otro WordPress instalado (NO MULTISITIO) en %s','LiteSpeed Cache Network Cache Settings'=>'Ajustes de la caché de la red de caché de LiteSpeed','Select below for "Purge by" options.'=>'Selecciona debajo las opciones de «Purgar por».','LiteSpeed Cache CDN'=>'CDN de la caché de LiteSpeed','No crawler meta file generated yet'=>'Archivo meta del rastreador aún no generado','Show crawler status'=>'Mostrar estado del rastreador','Watch Crawler Status'=>'Ver estado del rastreador','Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task.'=>'Consulta %sConectar WP-Cron al programador de tareas del sistema%s para aprender cómo crear la tarea cron del sistema.','Run frequency is set by the Interval Between Runs setting.'=>'La frecuencia de ejecución está fijada por el ajuste de Intervalo entre ejecuciones.','Manually run'=>'Ejecutar manualmente','Reset position'=>'Reestablecer posición','Run Frequency'=>'Frecuencia de ejecución','Cron Name'=>'Nombre del Cron','Crawler Cron'=>'Cron del rastreador','%d minute'=>'%d minuto','%d minutes'=>'%d minutos','%d hour'=>'%d hora','%d hours'=>'%d horas','Generated at %s'=>'Generado en %s','LiteSpeed Cache Crawler'=>'Rastreador de LiteSpeed Cache','If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s.'=>'Si tienes alguna pregunta, el equipo estará siempre feliz de responder cualquier pregunta en el %sforo de soporte%s.','Crawler'=>'Rastreador','https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration'=>'https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration','Notified LiteSpeed Web Server to purge all pages.'=>'Solicitada la purga de todas las páginas al servidor web LiteSpeed.','All pages with Recent Posts Widget'=>'Todas las páginas con widget de Entradas recientes','Pages'=>'Páginas','This will Purge Pages only'=>'Esto solo purgará las páginas','Purge Pages'=>'Purgar páginas','Cancel'=>'Cancelar','Deactivate'=>'Desactivar','Activate'=>'Activar','Email Address'=>'Dirección de correo electrónico','Install Now'=>'Instalar ahora','Purged the URL!'=>'¡Se ha purgado la URL!','Purged the blog!'=>'¡Se ha purgado el blog!','Purged All!'=>'¡Se ha purgado todo!','Notified LiteSpeed Web Server to purge error pages.'=>'Solicitada la purga de las páginas de error al servidor web LiteSpeed.','If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.'=>'Si se utiliza OpenLiteSpeed, el servidor debe reiniciarse una vez para que los cambios hagan efecto.','If the login cookie was recently changed in the settings, please log out and back in.'=>'Si la cookie de acceso ha sido cambiada recientemente en los ajustes, por favor cierra sesión y vuelve a iniciarla.','However, there is no way of knowing all the possible customizations that were implemented.'=>'Sin embargo, no hay manera de conocer todas las posibles personalizaciones implementadas.','The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.'=>'El plugin LiteSpeed Cache se utiliza para cachear páginas - una manera simple de mejorar el rendimiento del sitio.','The network admin setting can be overridden here.'=>'El ajuste de administrador de red puede ser modificado aquí.','Specify how long, in seconds, public pages are cached.'=>'Especifica durante cuánto tiempo, en segundos, se almacenan en la caché las páginas públicas.','Specify how long, in seconds, private pages are cached.'=>'Especifica durante cuánto tiempo, en segundos, se almacenan en la caché las páginas privadas.','It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.'=>'Se recomienda ENCARECIDAMENTE que primero se pruebe la compatibilidad con otros plugins en uno o varios sitios.','Purge pages by post ID.'=>'Purgar páginas por ID de entrada.','Purge the LiteSpeed cache entries created by this plugin'=>'Purga las entradas de caché de LiteSpeed creadas por este plugin','Purge %s error pages'=>'Purgar las páginas de error %s','This will Purge Front Page only'=>'Esto solo purgará la página principal','Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.'=>'Purgar páginas por etiqueta: p. ej. %2$s debe ser usado para la URL %1$s.','Purge pages by category name - e.g. %2$s should be used for the URL %1$s.'=>'Purgar páginas por nombre de categoría: p. ej. %2$s debe ser usado por la URL %1$s.','If only the WordPress site should be purged, use Purge All.'=>'Si se debe purgar todo el sitio WordPress, usa «Purgar todo».','Notified LiteSpeed Web Server to purge everything.'=>'Solicitado la purga de todo al servidor web LiteSpeed.','Use Primary Site Configuration'=>'Usar configuración del sitio principal','This will disable the settings page on all subsites.'=>'Esto desactivará la página de ajustes en todos los subsitios.','Check this option to use the primary site\'s configuration for all subsites.'=>'Marca esta opción para usar la configuración del sitio principal para todos los subsitios.','Save Changes'=>'Guardar cambios','The following options are selected, but are not editable in this settings page.'=>'Las siguientes opciones están seleccionadas, pero no son editables en esta página de ajustes.','The network admin selected use primary site configs for all subsites.'=>'El administrador de red seleccionó las configuraciones del sitio primario para todos los subsitios.','Empty Entire Cache'=>'Vaciar la caché entera','This action should only be used if things are cached incorrectly.'=>'Esta acción solo debe ser usada si las cosas se están almacenando en caché incorrectamente.','Clears all cache entries related to this site, including other web applications.'=>'Vacía todas las entradas de la caché relacionadas con este sitio, incluyendo otras aplicaciones web.','This may cause heavy load on the server.'=>'Esto puede causar una alta carga en el servidor.','This will clear EVERYTHING inside the cache.'=>'Esto eliminará TODO dentro de la caché.','LiteSpeed Cache Purge All'=>'Purgar toda la caché de LiteSpeed','If you would rather not move at litespeed, you can deactivate this plugin.'=>'Si no quieres la aceleración de litespeed, puedes desactivar este plugin.','Create a post, make sure the front page is accurate.'=>'Crear una entrada, asegurarse que la página principal está actualizada.','Visit the site while logged out.'=>'Visitar el sitio sin la sesión iniciada.','Examples of test cases include:'=>'Ejemplos de pruebas incluyen:','For that reason, please test the site to make sure everything still functions properly.'=>'Por ello, por favor prueba el sitio para asegurar que todo sigue funcionando correctamente.','This message indicates that the plugin was installed by the server admin.'=>'Este mensaje indica que el plugin fue instalado por el administrador del servidor.','LiteSpeed Cache plugin is installed!'=>'¡El plugin LiteSpeed Cache está instalado!','Debug Log'=>'Registro de depuración','Admin IP Only'=>'Solo la IP del administrador','The Admin IP option will only output log messages on requests from admin IPs listed below.'=>'La opción de IP de administrador solo mostrará mensajes de registro en peticiones desde IPs abajo listadas.','Specify how long, in seconds, REST calls are cached.'=>'Especifica durante cuánto tiempo, en segundos, se almacenan en la caché las llamadas REST.','The environment report contains detailed information about the WordPress configuration.'=>'El informe de entorno contiene información detallada sobre la configuración de WordPress.','The server will determine if the user is logged in based on the existence of this cookie.'=>'El servidor determinará si el usuario está conectado en base a la existencia de esta cookie.','Note'=>'Nota','To test the cart, visit the %sFAQ%s.'=>'Para probar el carrito, visita las %sFAQ%s.','After verifying that the cache works in general, please test the cart.'=>'Después de que la caché funcione en general, por favor prueba el carrito.','When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.'=>'Al activarlo, la caché se purgará automáticamente cuando cualquier plugin, tema o el núcleo de WordPress sea actualizado.','Purge All On Upgrade'=>'Purgar todo al actualizar','Product Update Interval'=>'Intervalo de actualización de producto','Determines how changes in product quantity and product stock status affect product pages and their associated category pages.'=>'Determina como los cambios en la cantidad de producto o estado del inventario afecta a las páginas de producto y sus páginas de categoría asociadas.','Always purge both product and categories on changes to the quantity or stock status.'=>'Purgar siempre productos y categorías cuando cambie la cantidad o estado del inventario.','Do not purge categories on changes to the quantity or stock status.'=>'No purgar las categorías al cambiar la cantidad o estado del inventario.','Purge product only when the stock status changes.'=>'Purgar los productos solo cuando cambie el estado del inventario.','Purge product and categories only when the stock status changes.'=>'Purgar productos y categorías solo cuando cambie el estado del inventario.','Purge categories only when stock status changes.'=>'Purgar las categorías solo cuando el estado del inventario cambie.','Purge product on changes to the quantity or stock status.'=>'Purgar los productos con los cambios de cantidad o estado del inventario.','Htaccess did not match configuration option.'=>'El htaccess no coincide con la opción de configuración.','If this is set to a number less than 30, feeds will not be cached.'=>'Si esto se fija en un número inferior a 30, los feeds no serán cacheados.','Specify how long, in seconds, feeds are cached.'=>'Especifica por cuanto tiempo, en segundos, se cachean los feeds.','Default Feed TTL'=>'TTL por defecto del Feed','Failed to get %s file contents.'=>'Error al obtener contenido del archivo %s.','Disabling this option may negatively affect performance.'=>'Desactivar esta opción puede afectar negativamente al rendimiento.','Invalid login cookie. Invalid characters found.'=>'Cookie de acceso no válida. Encontrados caracteres no válidos.','WARNING: The .htaccess login cookie and Database login cookie do not match.'=>'ADVERTENCIA: La cookie de acceso del .htaccess y la cookie de acceso de la base de datos no coinciden.','Invalid login cookie. Please check the %s file.'=>'Cookie de acceso no válida. Por favor, comprueba el archivo %s.','The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.'=>'La caché necesita distinguir quien esta logueado en cada sitio de WordPress a fin de cachear correctamente.','There is a WordPress installed for %s.'=>'Hay un WordPress instalado para %s.','Example use case:'=>'Ejemplo de uso:','The cookie set here will be used for this WordPress installation.'=>'La cookie aquí establecida será usada por esta instalación de WordPress.','If every web application uses the same cookie, the server may confuse whether a user is logged in or not.'=>'Si cada aplicación web utiliza la misma cookie, el servidor puede confundir si un usuario está logueado o no.','This setting is useful for those that have multiple web applications for the same domain.'=>'Este ajuste es útil para aquellos con multiples aplicaciones web en un mismo dominio.','The default login cookie is %s.'=>'La cookie de acceso por defecto es %s.','Login Cookie'=>'Cookie de acceso','More information about the available commands can be found here.'=>'Aquí se puede encontrar más información sobre los comandos disponibles.','These settings are meant for ADVANCED USERS ONLY.'=>'Estos ajustes están pensados SOLO PARA USUARIOS AVANZADOS.','Current %s Contents'=>'Contenidos actuales de %s','Advanced'=>'Avanzado','Advanced Settings'=>'Ajustes avanzados','Purge List'=>'Purgar lista','Purge By...'=>'Purgar por...','URL'=>'URL','Tag'=>'Etiqueta','Post ID'=>'ID de entrada','Category'=>'Categoría','NOTICE: Database login cookie did not match your login cookie.'=>'AVISO: La cookie de inicio de sesión de la base de datos no coincide con tu cookie de inicio de sesión.','Purge url %s'=>'Purgar la URL %s','Purge tag %s'=>'Purgar la etiqueta %s','Purge category %s'=>'Purgar la categoría %s','When disabling the cache, all cached entries for this site will be purged.'=>'Al desactivar la caché, se purgarán todas las entradas almacenadas en caché de este sitio.','NOTICE'=>'AVISO','This setting will edit the .htaccess file.'=>'Este ajuste editará el archivo .htaccess.','LiteSpeed Cache View .htaccess'=>'Ver el archivo «.htaccess» de LiteSpeed Cache','Failed to back up %s file, aborted changes.'=>'Fallo al hacer copia de seguridad del archivo %s, cambios cancelados.','Do Not Cache Cookies'=>'Cookies a no cachear','Do Not Cache User Agents'=>'User Agents a no cachear','This is to ensure compatibility prior to enabling the cache for all sites.'=>'Esto es para asegurar compatibilidad antes de activar la caché para todos los sitios.','Network Enable Cache'=>'Habilitar caché de red','NOTICE:'=>'AVISO:','Other checkboxes will be ignored.'=>'Otras opciones serán ignoradas.','Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.'=>'Selecciona «Todo» si hay widgets dinámicos enlazados a entradas en páginas distintas de la portada o página de inicio.','List of Mobile User Agents'=>'Lista de User Agents móviles','File %s is not writable.'=>'No se puede escribir el archivo %s.','JS Settings'=>'Ajustes de JS','Manage'=>'Gestionar','Default Front Page TTL'=>'TTL por defecto de la Página Principal','Notified LiteSpeed Web Server to purge the front page.'=>'Solicitado al servidor web LiteSpeed la purga de la página de inicio.','Purge Front Page'=>'Purgar la página de inicio','Example'=>'Ejemplo','All tags are cached by default.'=>'Todas las etiquetas son cacheadas por defecto.','All categories are cached by default.'=>'Todas las categorías son cacheadas por defecto.','To do an exact match, add %s to the end of the URL.'=>'Para coincidencias exactas, añadir %s al final de la URL.','The URLs will be compared to the REQUEST_URI server variable.'=>'Las URLs serán comparadas con la variable REQUEST_URI del servidor.','Select only the archive types that are currently used, the others can be left unchecked.'=>'Selecciona solo los tipos de archivos que se utilicen actualmente, los otros se pueden dejar desmarcados.','Notes'=>'Notas','Use Network Admin Setting'=>'Usar ajuste de administrador de red','Disable'=>'Desactivar','Enabling LiteSpeed Cache for WordPress here enables the cache for the network.'=>'Activar LiteSpeed Cache para WordPress aquí activa la caché para la red.','Disabled'=>'Desactivado','Enabled'=>'Activado','Do Not Cache Roles'=>'No cachear perfiles','https://www.litespeedtech.com'=>'https://www.litespeedtech.com','LiteSpeed Technologies'=>'LiteSpeed Technologies','LiteSpeed Cache'=>'LiteSpeed Cache','Debug Level'=>'Nivel de depuración','Notice'=>'Nota','Term archive (include category, tag, and tax)'=>'Archivo de término (incluye categoría, etiqueta y taxonomía)','Daily archive'=>'Archivo diario','Monthly archive'=>'Archivo mensual','Yearly archive'=>'Archivo anual','Post type archive'=>'Archivo de tipo de contenido','Author archive'=>'Archivo del autor','Home page'=>'Página de inicio','Front page'=>'Portada','All pages'=>'Todas las páginas','Select which pages will be automatically purged when posts are published/updated.'=>'Selecciona qué páginas serán purgadas automáticamente cuando las entradas sean publicadas o actualizadas.','Auto Purge Rules For Publish/Update'=>'Reglas de purga automática para publicación y actualización','Default Public Cache TTL'=>'TTL por defecto de la caché pública','seconds'=>'segundos','Admin IPs'=>'IPs de administrador','General'=>'Opciones generales','LiteSpeed Cache Settings'=>'Configuración de Caché de LiteSpeed','Notified LiteSpeed Web Server to purge all LSCache entries.'=>'Solicitado al servidor web LiteSpeed la purga de todas las entradas de LSCache.','Purge All'=>'Purgar todo','Settings'=>'Ajustes','Support forum'=>'Foro de soporte']];PKT^�\(translations/.ls_translation_check_de_DEnu�[���PKT^�\(translations/.ls_translation_check_es_ESnu�[���PKT^�\(translations/.ls_translation_check_id_IDnu�[���PKT^�\����ΊΊ+translations/litespeed-cache-en_AU.l10n.phpnu�[���<?php
return ['x-generator'=>'GlotPress/4.0.3','translation-revision-date'=>'2024-03-19 07:23:13+0000','plural-forms'=>'nplurals=2; plural=n != 1;','project-id-version'=>'Plugins - LiteSpeed Cache - Stable (latest release)','language'=>'en_AU','messages'=>['Clean all orphaned post meta records'=>'Clean all orphaned post meta records','Orphaned Post Meta'=>'Orphaned Post Meta','Best available WordPress performance'=>'Best available WordPress performance','Clean orphaned post meta successfully.'=>'Clean orphaned post meta successfully.','Last Pulled'=>'Last Pulled','You can list the 3rd party vary cookies here.'=>'You can list the 3rd party vary cookies here.','Vary Cookies'=>'Vary Cookies','Preconnecting speeds up future loads from a given origin.'=>'Preconnecting speeds up future loads from a given origin.','If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.'=>'If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.','Generate a separate vary cache copy for the mini cart when the cart is not empty.'=>'Generate a separate vary cache copy for the mini cart when the cart is not empty.','Vary for Mini Cart'=>'Vary for Mini Cart','DNS Preconnect'=>'DNS Preconnect','This setting is %1$s for certain qualifying requests due to %2$s!'=>'This setting is %1$s for certain qualifying requests due to %2$s!','Listed JS files or inline JS code will be delayed.'=>'Listed JS files or inline JS code will be delayed.','URL Search'=>'URL Search','JS Delayed Includes'=>'JS Delayed Includes','Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.'=>'Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.','Cloud server refused the current request due to unpulled images. Please pull the images first.'=>'Cloud server refused the current request due to unpulled images. Please pull the images first.','Current server load'=>'Current server load','Started async image optimization request'=>'Started async image optimisation request','Started async crawling'=>'Started async crawling','Saving option failed. IPv4 only for %s.'=>'Saving option failed. IPv4 only for %s.','Cloud server refused the current request due to rate limiting. Please try again later.'=>'Cloud server refused the current request due to rate limiting. Please try again later.','Maximum image post id'=>'Maximum image post id','Current image post id position'=>'Current image post id position','Images ready to request'=>'Images ready to request','Redetect'=>'Redetect','If you are using a %1$s socket, %2$s should be set to %3$s'=>'If you are using a %1$s socket, %2$s should be set to %3$s','All QUIC.cloud service queues have been cleared.'=>'All QUIC.cloud service queues have been cleared.','Cache key must be integer or non-empty string, %s given.'=>'Cache key must be integer or non-empty string, %s given.','Cache key must not be an empty string.'=>'Cache key must not be an empty string.','JS Deferred / Delayed Excludes'=>'JS Deferred / Delayed Excludes','The queue is processed asynchronously. It may take time.'=>'The queue is processed asynchronously. It may take time.','In order to use QC services, need a real domain name, cannot use an IP.'=>'In order to use QC services, need a real domain name, cannot use an IP.','Restore Settings'=>'Restore Settings','This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?'=>'This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?','Backup created %1$s before applying the %2$s preset'=>'Backup created %1$s before applying the %2$s preset','Applied the %1$s preset %2$s'=>'Applied the %1$s preset %2$s','Restored backup settings %1$s'=>'Restored backup settings %1$s','Error: Failed to apply the settings %1$s'=>'Error: Failed to apply the settings %1$s','History'=>'History','unknown'=>'unknown','Apply Preset'=>'Apply Preset','This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?'=>'This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?','Who should use this preset?'=>'Who should use this preset?','Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.'=>'Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimisation, or something in between.','LiteSpeed Cache Standard Presets'=>'LiteSpeed Cache Standard Presets','This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.'=>'This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.','Inline CSS added to Combine'=>'Inline CSS added to Combine','Inline JS added to Combine'=>'Inline JS added to Combine','JS Delayed'=>'JS Delayed','Viewport Image Generation'=>'Viewport Image Generation','Lazy Load for Images'=>'Lazy Load for Images','Everything in Aggressive, Plus'=>'Everything in Aggressive, Plus','Extreme'=>'Extreme','This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.'=>'This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimisation > Tuning.','Lazy Load for Iframes'=>'Lazy Load for Iframes','Removed Unused CSS for Users'=>'Removed Unused CSS for Users','Asynchronous CSS Loading with Critical CSS'=>'Asynchronous CSS Loading with Critical CSS','CSS & JS Combine'=>'CSS & JS Combine','Everything in Advanced, Plus'=>'Everything in Advanced, Plus','Aggressive'=>'Aggressive','This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.'=>'This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimisation > Tuning tools.','Remove Query Strings from Static Files'=>'Remove Query Strings from Static Files','DNS Prefetch for static files'=>'DNS Prefetch for static files','JS Defer for both external and inline JS'=>'JS Defer for both external and inline JS','CSS, JS and HTML Minification'=>'CSS, JS and HTML Minification','Guest Mode and Guest Optimization'=>'Guest Mode and Guest Optimisation','Everything in Basic, Plus'=>'Everything in Basic, Plus','Advanced (Recommended)'=>'Advanced (Recommended)','This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.'=>'This low-risk preset introduces basic optimisations for speed and user experience. Appropriate for enthusiastic beginners.','Mobile Cache'=>'Mobile Cache','Everything in Essentials, Plus'=>'Everything in Essentials, Plus','This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.'=>'This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.','Higher TTL'=>'Higher TTL','Default Cache'=>'Default Cache','Essentials'=>'Essentials','LiteSpeed Cache Configuration Presets'=>'LiteSpeed Cache Configuration Presets','Standard Presets'=>'Standard Presets','Listed CSS files will be excluded from UCSS and saved to inline.'=>'Listed CSS files will be excluded from UCSS and saved to inline.','UCSS Selector Allowlist'=>'UCSS Selector Allowlist','Presets'=>'Presets','Partner Benefits Provided by'=>'Partner Benefits Provided by','LiteSpeed Logs'=>'LiteSpeed Logs','Crawler Log'=>'Crawler Log','Purge Log'=>'Purge Log','Prevent writing log entries that include listed strings.'=>'Prevent writing log entries that include listed strings.','View Site Before Cache'=>'View Site Before Cache','View Site Before Optimization'=>'View Site Before Optimisation','Debug Helpers'=>'Debug Helpers','Enable Viewport Images auto generation cron.'=>'Enable Viewport Images auto generation cron.','This enables the page\'s initial screenful of imagery to be fully displayed without delay.'=>'This enables the page\'s initial screenful of imagery to be fully displayed without delay.','The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.'=>'The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.','When you use Lazy Load, it will delay the loading of all images on a page.'=>'When you use Lazy Load, it will delay the loading of all images on a page.','Use %1$s to bypass remote image dimension check when %2$s is ON.'=>'Use %1$s to bypass remote image dimension check when %2$s is ON.','VPI'=>'VPI','%s must be turned ON for this setting to work.'=>'%s must be turned ON for this setting to work.','Viewport Image'=>'Viewport Image','Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:'=>'Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:','Mobile'=>'Mobile','Disable VPI'=>'Disable VPI','Disable Image Lazyload'=>'Disable Image Lazyload','Disable Cache'=>'Disable Cache','Debug String Excludes'=>'Debug String Excludes','Viewport Images Cron'=>'Viewport Images Cron','Viewport Images'=>'Viewport Images','Alias is in use by another QUIC.cloud account.'=>'Alias is in use by another QUIC.cloud account.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain.'=>'Unable to automatically add %1$s as a Domain Alias for main %2$s domain.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.'=>'Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.','You cannot remove this DNS zone, because it is still in use. Please update the domain\'s nameservers, then try to delete this zone again, otherwise your site will become inaccessible.'=>'You cannot remove this DNS zone, because it is still in use. Please update the domain\'s nameservers, then try to delete this zone again, otherwise your site will become inaccessible.','The site is not a valid alias on QUIC.cloud.'=>'The site is not a valid alias on QUIC.cloud.','Please thoroughly test each JS file you add to ensure it functions as expected.'=>'Please thoroughly test each JS file you add to ensure it functions as expected.','Please thoroughly test all items in %s to ensure they function as expected.'=>'Please thoroughly test all items in %s to ensure they function as expected.','Use %1$s to bypass UCSS for the pages which page type is %2$s.'=>'Use %1$s to bypass UCSS for the pages which page type is %2$s.','Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.'=>'Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.','Filter %s available for UCSS per page type generation.'=>'Filter %s available for UCSS per page type generation.','Guest Mode failed to test.'=>'Guest Mode failed to test.','Guest Mode passed testing.'=>'Guest Mode passed testing.','Testing'=>'Testing','Guest Mode testing result'=>'Guest Mode testing result','Not blocklisted'=>'Not blocklisted','Learn more about when this is needed'=>'Learn more about when this is needed','Cleaned all localized resource entries.'=>'Cleaned all localised resource entries.','View .htaccess'=>'View .htaccess','You can use this code %1$s in %2$s to specify the htaccess file path.'=>'You can use this code %1$s in %2$s to specify the htaccess file path.','PHP Constant %s is supported.'=>'PHP Constant %s is supported.','Default path is'=>'Default path is','.htaccess Path'=>'.htaccess Path','Please read all warnings before enabling this option.'=>'Please read all warnings before enabling this option.','This will delete all generated unique CSS files'=>'This will delete all generated unique CSS files','In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.'=>'In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.','Use latest GitHub Dev/Master commit'=>'Use latest GitHub Dev/Master commit','Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.'=>'Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.','Downgrade not recommended. May cause fatal error due to refactored code.'=>'Downgrade not recommended. May cause fatal error due to refactored code.','Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.'=>'Only optimise pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.','Listed JS files or inline JS code will not be optimized by %s.'=>'Listed JS files or inline JS code will not be optimised by %s.','Listed URI will not generate UCSS.'=>'Listed URI will not generate UCSS.','The selector must exist in the CSS. Parent classes in the HTML will not work.'=>'The selector must exist in the CSS. Parent classes in the HTML will not work.','Wildcard %s supported.'=>'Wildcard %s supported.','Useful for above-the-fold images causing CLS (a Core Web Vitals metric).'=>'Useful for above-the-fold images causing CLS (a Core Web Vitals metric).','Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).'=>'Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).','Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.'=>'Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.','Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).'=>'Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).','Delayed'=>'Delayed','JS error can be found from the developer console of browser by right clicking and choosing Inspect.'=>'JS error can be found from the developer console of browser by right clicking and choosing Inspect.','This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.'=>'This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.','This will also add a preconnect to Google Fonts to establish a connection earlier.'=>'This will also add a preconnect to Google Fonts to establish a connection earlier.','Delay rendering off-screen HTML elements by its selector.'=>'Delay rendering off-screen HTML elements by its selector.','Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.'=>'Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.','This option is bypassed due to %s option.'=>'This option is bypassed due to %s option.','Elements with attribute %s in HTML code will be excluded.'=>'Elements with attribute %s in HTML code will be excluded.','Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.'=>'Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.','This option will automatically bypass %s option.'=>'This option will automatically bypass %s option.','Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.'=>'Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.','Run %s Queue Manually'=>'Run %s Queue Manually','This option is bypassed because %1$s option is %2$s.'=>'This option is bypassed because %1$s option is %2$s.','Automatic generation of unique CSS is in the background via a cron-based queue.'=>'Automatic generation of unique CSS is in the background via a cron-based queue.','This will drop the unused CSS on each page from the combined file.'=>'This will drop the unused CSS on each page from the combined file.','HTML Settings'=>'HTML Settings','LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.'=>'LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.','This option can help to correct the cache vary for certain advanced mobile or tablet visitors.'=>'This option can help to correct the cache vary for certain advanced mobile or tablet visitors.','Guest Mode provides an always cacheable landing page for an automated guest\'s first time visit, and then attempts to update cache varies via AJAX.'=>'Guest Mode provides an always cacheable landing page for an automated guest\'s first time visit, and then attempts to update cache varies via AJAX.','Please make sure this IP is the correct one for visiting your site.'=>'Please make sure this IP is the correct one for visiting your site.','the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.'=>'the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.','You need to turn %s on and finish all WebP generation to get maximum result.'=>'You need to turn %s on and finish all WebP generation to get maximum result.','You need to turn %s on to get maximum result.'=>'You need to turn %s on to get maximum result.','This option enables maximum optimization for Guest Mode visitors.'=>'This option enables maximum optimisation for Guest Mode visitors.','More'=>'More','Remaining Daily Quota'=>'Remaining Daily Quota','Successfully Crawled'=>'Successfully Crawled','Already Cached'=>'Already Cached','The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.'=>'The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.','Optional when API token used.'=>'Optional when API token used.','Recommended to generate the token from Cloudflare API token template "WordPress".'=>'Recommended to generate the token from Cloudflare API token template "WordPress".','Global API Key / API Token'=>'Global API Key / API Token','Use external object cache functionality.'=>'Use external object cache functionality.','Serve a separate cache copy for mobile visitors.'=>'Serve a separate cache copy for mobile visitors.','By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.'=>'By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.','Cleaned all Unique CSS files.'=>'Cleaned all Unique CSS files.','Add Missing Sizes'=>'Add Missing Sizes','Optimize for Guests Only'=>'Optimise for Guests Only','Guest Mode JS Excludes'=>'Guest Mode JS Excludes','CCSS Per URL'=>'CCSS Per URL','HTML Lazy Load Selectors'=>'HTML Lazy Load Selectors','UCSS URI Excludes'=>'UCSS URI Excludes','UCSS Inline'=>'UCSS Inline','Guest Optimization'=>'Guest Optimisation','Guest Mode'=>'Guest Mode','Online node needs to be redetected.'=>'Online node needs to be redetected.','The current server is under heavy load.'=>'The current server is under heavy load.','Please see %s for more details.'=>'Please see %s for more details.','This setting will regenerate crawler list and clear the disabled list!'=>'This setting will regenerate crawler list and clear the disabled list!','%1$s %2$s files left in queue'=>'%1$s %2$s files left in queue','Crawler disabled list is cleared! All crawlers are set to active! '=>'Crawler disabled list is cleared! All crawlers are set to active! ','Redetected node'=>'Redetected node','No available Cloud Node after checked server load.'=>'No available Cloud Node after checked server load.','Localization Files'=>'Localisation Files','Purged!'=>'Purged!','Resources listed here will be copied and replaced with local URLs.'=>'Resources listed here will be copied and replaced with local URLs.','Use latest GitHub Master commit'=>'Use latest GitHub Master commit','Use latest GitHub Dev commit'=>'Use latest GitHub Dev commit','No valid sitemap parsed for crawler.'=>'No valid sitemap parsed for crawler.','CSS Combine External and Inline'=>'CSS Combine External and Inline','Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.'=>'Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimise potential errors caused by CSS Combine.','Minify CSS files and inline CSS code.'=>'Minify CSS files and inline CSS code.','Predefined list will also be combined w/ the above settings'=>'Predefined list will also be combined w/ the above settings','Localization'=>'Localisation','Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.'=>'Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimise potential errors caused by JS Combine.','Combine all local JS files into a single file.'=>'Combine all local JS files into a single file.','Listed JS files or inline JS code will not be deferred or delayed.'=>'Listed JS files or inline JS code will not be deferred or delayed.','JS Combine External and Inline'=>'JS Combine External and Inline','Dismiss'=>'Dismiss','The latest data file is'=>'The latest data file is','The list will be merged with the predefined nonces in your local data file.'=>'The list will be merged with the predefined nonces in your local data file.','Combine CSS files and inline CSS code.'=>'Combine CSS files and inline CSS code.','Minify JS files and inline JS codes.'=>'Minify JS files and inline JS codes.','LQIP Excludes'=>'LQIP Excludes','These images will not generate LQIP.'=>'These images will not generate LQIP.','Are you sure you want to reset all settings back to the default settings?'=>'Are you sure you want to reset all settings back to the default settings?','This option will remove all %s tags from HTML.'=>'This option will remove all %s tags from HTML.','Are you sure you want to clear all cloud nodes?'=>'Are you sure you want to clear all cloud nodes?','Remove Noscript Tags'=>'Remove Noscript Tags','The site is not registered on QUIC.cloud.'=>'The site is not registered on QUIC.cloud.','Click here to set.'=>'Click here to set.','Localize Resources'=>'Localise Resources','Setting Up Custom Headers'=>'Setting Up Custom Headers','This will delete all localized resources'=>'This will delete all localised resources','Localized Resources'=>'Localised Resources','Comments are supported. Start a line with a %s to turn it into a comment line.'=>'Comments are supported. Start a line with a %s to turn it into a comment line.','HTTPS sources only.'=>'HTTPS sources only.','Localize external resources.'=>'Localise external resources.','Localization Settings'=>'Localisation Settings','Use QUIC.cloud online service to generate unique CSS.'=>'Use QUIC.cloud online service to generate unique CSS.','Generate UCSS'=>'Generate UCSS','Unique CSS'=>'Unique CSS','Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches'=>'Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches','LiteSpeed Report'=>'LiteSpeed Report','Image Thumbnail Group Sizes'=>'Image Thumbnail Group Sizes','Ignore certain query strings when caching. (LSWS %s required)'=>'Ignore certain query strings when caching. (LSWS %s required)','For URLs with wildcards, there may be a delay in initiating scheduled purge.'=>'For URLs with wildcards, there may be a delay in initiating scheduled purge.','By design, this option may serve stale content. Do not enable this option, if that is not OK with you.'=>'By design, this option may serve stale content. Do not enable this option, if that is not OK with you.','Serve Stale'=>'Serve Stale','One or more pulled images does not match with the notified image md5'=>'One or more pulled images does not match with the notified image md5','Some optimized image file(s) has expired and was cleared.'=>'Some optimised image file(s) has expired and was cleared.','You have too many requested images, please try again in a few minutes.'=>'You have too many requested images, please try again in a few minutes.','Pulled WebP image md5 does not match the notified WebP image md5.'=>'Pulled WebP image md5 does not match the notified WebP image md5.','Read LiteSpeed Documentation'=>'Read LiteSpeed Documentation','There is proceeding queue not pulled yet. Queue info: %s.'=>'There is proceeding queue not pulled yet. Queue info: %s.','Specify how long, in seconds, Gravatar files are cached.'=>'Specify how long, in seconds, Gravatar files are cached.','Cleared %1$s invalid images.'=>'Cleared %1$s invalid images.','LiteSpeed Cache General Settings'=>'LiteSpeed Cache General Settings','This will delete all cached Gravatar files'=>'This will delete all cached Gravatar files','Prevent any debug log of listed pages.'=>'Prevent any debug log of listed pages.','Only log listed pages.'=>'Only log listed pages.','Specify the maximum size of the log file.'=>'Specify the maximum size of the log file.','To prevent filling up the disk, this setting should be OFF when everything is working.'=>'To prevent filling up the disk, this setting should be OFF when everything is working.','Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.'=>'Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.','Use latest WordPress release version'=>'Use latest WordPress release version','OR'=>'OR','Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.'=>'Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.','Reset Settings'=>'Reset Settings','LiteSpeed Cache Toolbox'=>'LiteSpeed Cache Toolbox','Beta Test'=>'Beta Test','Log View'=>'Log View','Debug Settings'=>'Debug Settings','Turn ON to control heartbeat in backend editor.'=>'Turn ON to control heartbeat in backend editor.','Turn ON to control heartbeat on backend.'=>'Turn ON to control heartbeat on backend.','Set to %1$s to forbid heartbeat on %2$s.'=>'Set to %1$s to forbid heartbeat on %2$s.','WordPress valid interval is %s seconds.'=>'WordPress valid interval is %s seconds.','Specify the %s heartbeat interval in seconds.'=>'Specify the %s heartbeat interval in seconds.','Turn ON to control heartbeat on frontend.'=>'Turn ON to control heartbeat on frontend.','Disable WordPress interval heartbeat to reduce server load.'=>'Disable WordPress interval heartbeat to reduce server load.','Heartbeat Control'=>'Heartbeat Control','provide more information here to assist the LiteSpeed team with debugging.'=>'provide more information here to assist the LiteSpeed team with debugging.','Optional'=>'Optional','Generate Link for Current User'=>'Generate Link for Current User','Passwordless Link'=>'Passwordless Link','System Information'=>'System Information','Go to plugins list'=>'Go to plugins list','Install DoLogin Security'=>'Install DoLogin Security','Check my public IP from'=>'Check my public IP from','Your server IP'=>'Your server IP','Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.'=>'Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.','This will enable crawler cron.'=>'This will enable crawler cron.','Crawler General Settings'=>'Crawler General Settings','Remove from Blocklist'=>'Remove from Blocklist','Empty blocklist'=>'Empty blocklist','Are you sure to delete all existing blocklist items?'=>'Are you sure to delete all existing blocklist items?','Blocklisted due to not cacheable'=>'Blocklisted due to not cacheable','Add to Blocklist'=>'Add to Blocklist','Operation'=>'Operation','Sitemap Total'=>'Sitemap Total','Sitemap List'=>'Sitemap List','Refresh Crawler Map'=>'Refresh Crawler Map','Clean Crawler Map'=>'Clean Crawler Map','Blocklist'=>'Blocklist','Map'=>'Map','Summary'=>'Summary','Cache Miss'=>'Cache Miss','Cache Hit'=>'Cache Hit','Waiting to be Crawled'=>'Waiting to be Crawled','Blocklisted'=>'Blocklisted','Miss'=>'Miss','Hit'=>'Hit','Waiting'=>'Waiting','Running'=>'Running','Use %1$s in %2$s to indicate this cookie has not been set.'=>'Use %1$s in %2$s to indicate this cookie has not been set.','Add new cookie to simulate'=>'Add new cookie to simulate','Remove cookie simulation'=>'Remove cookie simulation','Htaccess rule is: %s'=>'Htaccess rule is: %s','More settings available under %s menu'=>'More settings available under %s menu','The amount of time, in seconds, that files will be stored in browser cache before expiring.'=>'The amount of time, in seconds, that files will be stored in browser cache before expiring.','OpenLiteSpeed users please check this'=>'OpenLiteSpeed users please check this','Browser Cache Settings'=>'Browser Cache Settings','Paths containing these strings will be forced to public cached regardless of no-cacheable settings.'=>'Paths containing these strings will be forced to public cached regardless of no-cacheable settings.','With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.'=>'With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.','An optional second parameter may be used to specify cache control. Use a space to separate'=>'An optional second parameter may be used to specify cache control. Use a space to separate','The above nonces will be converted to ESI automatically.'=>'The above nonces will be converted to ESI automatically.','Browser'=>'Browser','Object'=>'Object','Default port for %1$s is %2$s.'=>'Default port for %1$s is %2$s.','Object Cache Settings'=>'Object Cache Settings','Specify an HTTP status code and the number of seconds to cache that page, separated by a space.'=>'Specify an HTTP status code and the number of seconds to cache that page, separated by a space.','Specify how long, in seconds, the front page is cached.'=>'Specify how long, in seconds, the front page is cached.','TTL'=>'TTL','If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.'=>'If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.','Swap'=>'Swap','Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.'=>'Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.','Avatar list in queue waiting for update'=>'Avatar list in queue waiting for update','Refresh Gravatar cache by cron.'=>'Refresh Gravatar cache by cron.','Accelerates the speed by caching Gravatar (Globally Recognized Avatars).'=>'Accelerates the speed by caching Gravatar (Globally Recognised Avatars).','Store Gravatar locally.'=>'Store Gravatar locally.','Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.'=>'Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.','LQIP requests will not be sent for images where both width and height are smaller than these dimensions.'=>'LQIP requests will not be sent for images where both width and height are smaller than these dimensions.','pixels'=>'pixels','Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.'=>'Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.','Specify the quality when generating LQIP.'=>'Specify the quality when generating LQIP.','Keep this off to use plain color placeholders.'=>'Keep this off to use plain colour placeholders.','Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.'=>'Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.','Specify the responsive placeholder SVG color.'=>'Specify the responsive placeholder SVG colour.','Variables %s will be replaced with the configured background color.'=>'Variables %s will be replaced with the configured background colour.','Variables %s will be replaced with the corresponding image properties.'=>'Variables %s will be replaced with the corresponding image properties.','It will be converted to a base64 SVG placeholder on-the-fly.'=>'It will be converted to a base64 SVG placeholder on-the-fly.','Specify an SVG to be used as a placeholder when generating locally.'=>'Specify an SVG to be used as a placeholder when generating locally.','Prevent any lazy load of listed pages.'=>'Prevent any lazy load of listed pages.','Iframes having these parent class names will not be lazy loaded.'=>'Iframes having these parent class names will not be lazy loaded.','Iframes containing these class names will not be lazy loaded.'=>'Iframes containing these class names will not be lazy loaded.','Images having these parent class names will not be lazy loaded.'=>'Images having these parent class names will not be lazy loaded.','LiteSpeed Cache Page Optimization'=>'LiteSpeed Cache Page Optimisation','Media Excludes'=>'Media Excludes','CSS Settings'=>'CSS Settings','%s is recommended.'=>'%s is recommended.','Deferred'=>'Deferred','Default'=>'Default','This can improve the page loading speed.'=>'This can improve the page loading speed.','Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.'=>'Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.','New developer version %s is available now.'=>'New developer version %s is available now.','New Developer Version Available!'=>'New Developer Version Available!','Dismiss this notice'=>'Dismiss this notice','Tweet this'=>'Tweet this','Tweet preview'=>'Tweet preview','Learn more'=>'Learn more','You just unlocked a promotion from QUIC.cloud!'=>'You just unlocked a promotion from QUIC.cloud!','The image compression quality setting of WordPress out of 100.'=>'The image compression quality setting of WordPress out of 100.','Image Optimization Settings'=>'Image Optimisation Settings','Are you sure to destroy all optimized images?'=>'Are you sure to destroy all optimised images?','Use Optimized Files'=>'Use Optimised Files','Switch back to using optimized images on your site'=>'Switch back to using optimised images on your site','Use Original Files'=>'Use Original Files','Use original images (unoptimized) on your site'=>'Use original images (unoptimised) on your site','You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.'=>'You can quickly switch between using original (unoptimised versions) and optimised image files. It will affect all images on your website, both regular and webp versions if available.','Optimization Tools'=>'Optimisation Tools','Rescan New Thumbnails'=>'Rescan New Thumbnails','What is an image group?'=>'What is an image group?','Delete all backups of the original images'=>'Delete all backups of the original images','Calculate Backups Disk Space'=>'Calculate Backups Disk Space','Optimization Status'=>'Optimisation Status','Current limit is'=>'Current limit is','To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.'=>'To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.','You can request a maximum of %s images at once.'=>'You can request a maximum of %s images at once.','Optimize images with our QUIC.cloud server'=>'Optimise images with our QUIC.cloud server','Revisions newer than this many days will be kept when cleaning revisions.'=>'Revisions newer than this many days will be kept when cleaning revisions.','Day(s)'=>'Day(s)','Specify the number of most recent revisions to keep when cleaning revisions.'=>'Specify the number of most recent revisions to keep when cleaning revisions.','LiteSpeed Cache Database Optimization'=>'LiteSpeed Cache Database Optimisation','DB Optimization Settings'=>'DB Optimisation Settings','Option Name'=>'Option Name','Database Summary'=>'Database Summary','We are good. No table uses MyISAM engine.'=>'We are good. No table uses MyISAM engine.','Convert to InnoDB'=>'Convert to InnoDB','Tool'=>'Tool','Engine'=>'Engine','Table'=>'Table','Database Table Engine Converter'=>'Database Table Engine Converter','Clean revisions older than %1$s day(s), excluding %2$s latest revisions'=>'Clean revisions older than %1$s day(s), excluding %2$s latest revisions','Currently active crawler'=>'Currently active crawler','Crawler(s)'=>'Crawler(s)','Crawler Status'=>'Crawler Status','Force cron'=>'Force cron','Requests in queue'=>'Requests in queue','Private Cache'=>'Private Cache','Public Cache'=>'Public Cache','Cache Status'=>'Cache Status','Last Pull'=>'Last Pull','Image Optimization Summary'=>'Image Optimisation Summary','Refresh page score'=>'Refresh page score','Are you sure you want to redetect the closest cloud server for this service?'=>'Are you sure you want to redetect the closest cloud server for this service?','Refresh page load time'=>'Refresh page load time','Go to QUIC.cloud dashboard'=>'Go to QUIC.cloud dashboard','Low Quality Image Placeholder'=>'Low Quality Image Placeholder','Sync data from Cloud'=>'Sync data from Cloud','QUIC.cloud Service Usage Statistics'=>'QUIC.cloud Service Usage Statistics','Total images optimized in this month'=>'Total images optimised in this month','Total Usage'=>'Total Usage','Pay as You Go Usage Statistics'=>'Pay as You Go Usage Statistics','PAYG Balance'=>'PAYG Balance','Pay as You Go'=>'Pay as You Go','Usage'=>'Usage','Fast Queue Usage'=>'Fast Queue Usage','CDN Bandwidth'=>'CDN Bandwidth','LiteSpeed Cache Dashboard'=>'LiteSpeed Cache Dashboard','Network Dashboard'=>'Network Dashboard','No cloud services currently in use'=>'No cloud services currently in use','Click to clear all nodes for further redetection.'=>'Click to clear all nodes for further redetection.','Current Cloud Nodes in Service'=>'Current Cloud Nodes in Service','Link to QUIC.cloud'=>'Link to QUIC.cloud','General Settings'=>'General Settings','Specify which HTML element attributes will be replaced with CDN Mapping.'=>'Specify which HTML element attributes will be replaced with CDN Mapping.','Add new CDN URL'=>'Add new CDN URL','Remove CDN URL'=>'Remove CDN URL','To enable the following functionality, turn ON Cloudflare API in CDN Settings.'=>'To enable the following functionality, turn ON Cloudflare API in CDN Settings.','QUIC.cloud'=>'QUIC.cloud','WooCommerce Settings'=>'WooCommerce Settings','LQIP Cache'=>'LQIP Cache','Options saved.'=>'Options saved.','Removed backups successfully.'=>'Removed backups successfully.','Calculated backups successfully.'=>'Calculated backups successfully.','Rescanned %d images successfully.'=>'Rescanned %d images successfully.','Rescanned successfully.'=>'Rescanned successfully.','Destroy all optimization data successfully.'=>'Destroy all optimisation data successfully.','Cleaned up unfinished data successfully.'=>'Cleaned up unfinished data successfully.','Pull Cron is running'=>'Pull Cron is running','No valid image found by Cloud server in the current request.'=>'No valid image found by Cloud server in the current request.','No valid image found in the current request.'=>'No valid image found in the current request.','Pushed %1$s to Cloud server, accepted %2$s.'=>'Pushed %1$s to Cloud server, accepted %2$s.','Revisions Max Age'=>'Revisions Max Age','Revisions Max Number'=>'Revisions Max Number','Debug URI Excludes'=>'Debug URI Excludes','Debug URI Includes'=>'Debug URI Includes','HTML Attribute To Replace'=>'HTML Attribute To Replace','Use CDN Mapping'=>'Use CDN Mapping','Editor Heartbeat TTL'=>'Editor Heartbeat TTL','Editor Heartbeat'=>'Editor Heartbeat','Backend Heartbeat TTL'=>'Backend Heartbeat TTL','Backend Heartbeat Control'=>'Backend Heartbeat Control','Frontend Heartbeat TTL'=>'Frontend Heartbeat TTL','Frontend Heartbeat Control'=>'Frontend Heartbeat Control','Backend .htaccess Path'=>'Backend .htaccess Path','Frontend .htaccess Path'=>'Frontend .htaccess Path','ESI Nonces'=>'ESI Nonces','WordPress Image Quality Control'=>'WordPress Image Quality Control','Auto Request Cron'=>'Auto Request Cron','Generate LQIP In Background'=>'Generate LQIP In Background','LQIP Minimum Dimensions'=>'LQIP Minimum Dimensions','LQIP Quality'=>'LQIP Quality','LQIP Cloud Generator'=>'LQIP Cloud Generator','Responsive Placeholder SVG'=>'Responsive Placeholder SVG','Responsive Placeholder Color'=>'Responsive Placeholder Colour','Basic Image Placeholder'=>'Basic Image Placeholder','Lazy Load URI Excludes'=>'Lazy Load URI Excludes','Lazy Load Iframe Parent Class Name Excludes'=>'Lazy Load Iframe Parent Class Name Excludes','Lazy Load Iframe Class Name Excludes'=>'Lazy Load Iframe Class Name Excludes','Lazy Load Image Parent Class Name Excludes'=>'Lazy Load Image Parent Class Name Excludes','Gravatar Cache TTL'=>'Gravatar Cache TTL','Gravatar Cache Cron'=>'Gravatar Cache Cron','Gravatar Cache'=>'Gravatar Cache','DNS Prefetch Control'=>'DNS Prefetch Control','Font Display Optimization'=>'Font Display Optimisation','Force Public Cache URIs'=>'Force Public Cache URIs','Notifications'=>'Notifications','Default HTTP Status Code Page TTL'=>'Default HTTP Status Code Page TTL','Default REST TTL'=>'Default REST TTL','Enable Cache'=>'Enable Cache','Server IP'=>'Server IP','Images not requested'=>'Images not requested','Sync credit allowance with Cloud Server successfully.'=>'Sync credit allowance with Cloud Server successfully.','Failed to communicate with QUIC.cloud server'=>'Failed to communicate with QUIC.cloud server','Good news from QUIC.cloud server'=>'Good news from QUIC.cloud server','Message from QUIC.cloud server'=>'Message from QUIC.cloud server','Please try after %1$s for service %2$s.'=>'Please try after %1$s for service %2$s.','No available Cloud Node.'=>'No available Cloud Node.','Cloud Error'=>'Cloud Error','The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.'=>'The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.','Restore from backup'=>'Restore from backup','No backup of unoptimized WebP file exists.'=>'No backup of unoptimised WebP file exists.','WebP file reduced by %1$s (%2$s)'=>'WebP file reduced by %1$s (%2$s)','Currently using original (unoptimized) version of WebP file.'=>'Currently using original (unoptimised) version of WebP file.','Currently using optimized version of WebP file.'=>'Currently using optimised version of WebP file.','Orig'=>'Orig','(no savings)'=>'(no savings)','Orig %s'=>'Orig %s','Congratulation! Your file was already optimized'=>'Congratulation! Your file was already optimised','No backup of original file exists.'=>'No backup of original file exists.','Using optimized version of file. '=>'Using optimised version of file. ','Orig saved %s'=>'Orig saved %s','Original file reduced by %1$s (%2$s)'=>'Original file reduced by %1$s (%2$s)','Click to switch to optimized version.'=>'Click to switch to optimised version.','Currently using original (unoptimized) version of file.'=>'Currently using original (unoptimised) version of file.','(non-optm)'=>'(non-optm)','Click to switch to original (unoptimized) version.'=>'Click to switch to original (unoptimised) version.','Currently using optimized version of file.'=>'Currently using optimised version of file.','(optm)'=>'(optm)','LQIP image preview for size %s'=>'LQIP image preview for size %s','LQIP'=>'LQIP','Previously existed in blocklist'=>'Previously existed in blocklist','Manually added to blocklist'=>'Manually added to blocklist','Mobile Agent Rules'=>'Mobile Agent Rules','Sitemap created successfully: %d items'=>'Sitemap created successfully: %d items','Sitemap cleaned successfully'=>'Sitemap cleaned successfully','Invalid IP'=>'Invalid IP','Value range'=>'Value range','Smaller than'=>'Smaller than','Larger than'=>'Larger than','Zero, or'=>'Zero, or','Maximum value'=>'Maximum value','Minimum value'=>'Minimum value','Path must end with %s'=>'Path must end with %s','Invalid rewrite rule'=>'Invalid rewrite rule','Toolbox'=>'Toolbox','Database'=>'Database','Page Optimization'=>'Page Optimisation','Dashboard'=>'Dashboard','Converted to InnoDB successfully.'=>'Converted to InnoDB successfully.','Cleaned all Gravatar files.'=>'Cleaned all Gravatar files.','Cleaned all LQIP files.'=>'Cleaned all LQIP files.','Unknown error'=>'Unknown error','Your domain has been forbidden from using our services due to a previous policy violation.'=>'Your domain has been forbidden from using our services due to a previous policy violation.','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: '=>'The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: ','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.'=>'The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.','The callback validation to your domain failed due to hash mismatch.'=>'The callback validation to your domain failed due to hash mismatch.','Your application is waiting for approval.'=>'Your application is waiting for approval.','Previous request too recent. Please try again after %s.'=>'Previous request too recent. Please try again after %s.','Previous request too recent. Please try again later.'=>'Previous request too recent. Please try again later.','Crawler disabled by the server admin.'=>'Crawler disabled by the server admin.','Could not find %1$s in %2$s.'=>'Could not find %1$s in %2$s.','Credits are not enough to proceed the current request.'=>'Credits are not enough to proceed the current request.','There is proceeding queue not pulled yet.'=>'There is proceeding queue not pulled yet.','The image list is empty.'=>'The image list is empty.','LiteSpeed Crawler Cron'=>'LiteSpeed Crawler Cron','Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.'=>'Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.','To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.'=>'To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.','Please do NOT share the above passwordless link with anyone.'=>'Please do NOT share the above passwordless link with anyone.','To generate a passwordless link for LiteSpeed Support Team access, you must install %s.'=>'To generate a passwordless link for LiteSpeed Support Team access, you must install %s.','Install'=>'Install','These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.'=>'These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.','PageSpeed Score'=>'PageSpeed Score','Improved by'=>'Improved by','After'=>'After','Before'=>'Before','Page Load Time'=>'Page Load Time','To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.'=>'To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.','Preserve EXIF/XMP data'=>'Preserve EXIF/XMP data','Try GitHub Version'=>'Try GitHub Version','If you turn any of the above settings OFF, please remove the related file types from the %s box.'=>'If you turn any of the above settings OFF, please remove the related file types from the %s box.','Both full and partial strings can be used.'=>'Both full and partial strings can be used.','Images containing these class names will not be lazy loaded.'=>'Images containing these class names will not be lazy loaded.','Lazy Load Image Class Name Excludes'=>'Lazy Load Image Class Name Excludes','For example, %1$s defines a TTL of %2$s seconds for %3$s.'=>'For example, %1$s defines a TTL of %2$s seconds for %3$s.','To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.'=>'To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.','Maybe Later'=>'Maybe Later','Turn On Auto Upgrade'=>'Turn On Auto Upgrade','Upgrade'=>'Upgrade','New release %s is available now.'=>'New release %s is available now.','New Version Available!'=>'New Version Available!','Sure I\'d love to review!'=>'Sure I\'d love to review!','Thank You for Using the LiteSpeed Cache Plugin!'=>'Thank You for Using the LiteSpeed Cache Plugin!','Upgraded successfully.'=>'Upgraded successfully.','Failed to upgrade.'=>'Failed to upgrade.','Changed setting successfully.'=>'Changed setting successfully.','ESI sample for developers'=>'ESI sample for developers','Replace %1$s with %2$s.'=>'Replace %1$s with %2$s.','You can turn shortcodes into ESI blocks.'=>'You can turn shortcodes into ESI blocks.','WpW: Private Cache vs. Public Cache'=>'WpW: Private Cache vs. Public Cache','Append query string %s to the resources to bypass this action.'=>'Append query string %s to the resources to bypass this action.','Google reCAPTCHA will be bypassed automatically.'=>'Google reCAPTCHA will be bypassed automatically.','To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.'=>'To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.','Cookie Values'=>'Cookie Values','Cookie Name'=>'Cookie Name','Cookie Simulation'=>'Cookie Simulation','Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.'=>'Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.','Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.'=>'Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.','Automatically Upgrade'=>'Automatically Upgrade','Your IP'=>'Your IP','Reset successfully.'=>'Reset successfully.','This will reset all settings to default settings.'=>'This will reset all settings to default settings.','Reset All Settings'=>'Reset All Settings','Separate critical CSS files will be generated for paths containing these strings.'=>'Separate critical CSS files will be generated for paths containing these strings.','Separate CCSS Cache URIs'=>'Separate CCSS Cache URIs','For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.'=>'For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.','List post types where each item of that type should have its own CCSS generated.'=>'List post types where each item of that type should have its own CCSS generated.','Separate CCSS Cache Post Types'=>'Separate CCSS Cache Post Types','Size list in queue waiting for cron'=>'Size list in queue waiting for cron','If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.'=>'If set to %1$s, before the placeholder is localised, the %2$s configuration will be used.','Automatically generate LQIP in the background via a cron-based queue.'=>'Automatically generate LQIP in the background via a cron-based queue.','This will generate the placeholder with same dimensions as the image if it has the width and height attributes.'=>'This will generate the placeholder with same dimensions as the image if it has the width and height attributes.','Responsive image placeholders can help to reduce layout reshuffle when images are loaded.'=>'Responsive image placeholders can help to reduce layout reshuffle when images are loaded.','Responsive Placeholder'=>'Responsive Placeholder','This will delete all generated image LQIP placeholder files'=>'This will delete all generated image LQIP placeholder files','Please enable LiteSpeed Cache in the plugin settings.'=>'Please enable LiteSpeed Cache in the plugin settings.','Please enable the LSCache Module at the server level, or ask your hosting provider.'=>'Please enable the LSCache Module at the server level, or ask your hosting provider.','Failed to request via WordPress'=>'Failed to request via WordPress','High-performance page caching and site optimization from LiteSpeed'=>'High-performance page caching and site optimisation from LiteSpeed','Reset the optimized data successfully.'=>'Reset the optimised data successfully.','Update %s now'=>'Update %s now','View %1$s version %2$s details'=>'View %1$s version %2$s details','<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.'=>'<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.','Install %s'=>'Install %s','LSCache caching functions on this page are currently unavailable!'=>'LSCache caching functions on this page are currently unavailable!','%1$s plugin version %2$s required for this action.'=>'%1$s plugin version %2$s required for this action.','We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.'=>'We are working hard to improve your online service experience. The service will be unavailable while we work. We apologise for any inconvenience.','Automatically remove the original image backups after fetching optimized images.'=>'Automatically remove the original image backups after fetching optimised images.','Remove Original Backups'=>'Remove Original Backups','Automatically request optimization via cron job.'=>'Automatically request optimisation via cron job.','A backup of each image is saved before it is optimized.'=>'A backup of each image is saved before it is optimised.','Switched images successfully.'=>'Switched images successfully.','This can improve quality but may result in larger images than lossy compression will.'=>'This can improve quality but may result in larger images than lossy compression will.','Optimize images using lossless compression.'=>'Optimise images using lossless compression.','Optimize Losslessly'=>'Optimise Losslessly','Optimize images and save backups of the originals in the same folder.'=>'Optimise images and save backups of the originals in the same folder.','Optimize Original Images'=>'Optimise Original Images','When this option is turned %s, it will also load Google Fonts asynchronously.'=>'When this option is turned %s, it will also load Google Fonts asynchronously.','Cleaned all Critical CSS files.'=>'Cleaned all Critical CSS files.','This will inline the asynchronous CSS library to avoid render blocking.'=>'This will inline the asynchronous CSS library to avoid render blocking.','Inline CSS Async Lib'=>'Inline CSS Async Lib','Run Queue Manually'=>'Run Queue Manually','URL list in %s queue waiting for cron'=>'URL list in %s queue waiting for cron','Last requested cost'=>'Last requested cost','Last generated'=>'Last generated','If set to %s this is done in the foreground, which may slow down page load.'=>'If set to %s this is done in the foreground, which may slow down page load.','Automatic generation of critical CSS is in the background via a cron-based queue.'=>'Automatic generation of critical CSS is in the background via a cron-based queue.','Optimize CSS delivery.'=>'Optimise CSS delivery.','This will delete all generated critical CSS files'=>'This will delete all generated critical CSS files','Critical CSS'=>'Critical CSS','This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.'=>'This site utilises caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.','Disabling this may cause WordPress tasks triggered by AJAX to stop working.'=>'Disabling this may cause WordPress tasks triggered by AJAX to stop working.','right now'=>'right now','just now'=>'just now','Saved'=>'Saved','Last ran'=>'Last ran','You will be unable to Revert Optimization once the backups are deleted!'=>'You will be unable to Revert Optimisation once the backups are deleted!','This is irreversible.'=>'This is irreversible.','Remove Original Image Backups'=>'Remove Original Image Backups','Are you sure you want to remove all image backups?'=>'Are you sure you want to remove all image backups?','Total'=>'Total','Files'=>'Files','Last calculated'=>'Last calculated','Calculate Original Image Storage'=>'Calculate Original Image Storage','Storage Optimization'=>'Storage Optimisation','Use the format %1$s or %2$s (element is optional).'=>'Use the format %1$s or %2$s (element is optional).','Only attributes listed here will be replaced.'=>'Only attributes listed here will be replaced.','Only files within these directories will be pointed to the CDN.'=>'Only files within these directories will be pointed to the CDN.','Included Directories'=>'Included Directories','A Purge All will be executed when WordPress runs these hooks.'=>'A Purge All will be executed when WordPress runs these hooks.','Purge All Hooks'=>'Purge All Hooks','Purged all caches successfully.'=>'Purged all caches successfully.','LSCache'=>'LSCache','Forced cacheable'=>'Forced cacheable','Paths containing these strings will be cached regardless of no-cacheable settings.'=>'Paths containing these strings will be cached regardless of no-cacheable settings.','Force Cache URIs'=>'Force Cache URIs','Exclude Settings'=>'Exclude Settings','This will disable LSCache and all optimization features for debug purpose.'=>'This will disable LSCache and all optimisation features for debug purpose.','Disable All Features'=>'Disable All Features','Opcode Cache'=>'Opcode Cache','CSS/JS Cache'=>'CSS/JS Cache','Remove all previous unfinished image optimization requests.'=>'Remove all previous unfinished image optimisation requests.','Clean Up Unfinished Data'=>'Clean Up Unfinished Data','Join Us on Slack'=>'Join Us on Slack','Join the %s community.'=>'Join the %s community.','Want to connect with other LiteSpeed users?'=>'Want to connect with other LiteSpeed users?','Your API key / token is used to access %s APIs.'=>'Your API key / token is used to access %s APIs.','Your Email address on %s.'=>'Your Email address on %s.','Use %s API functionality.'=>'Use %s API functionality.','To randomize CDN hostname, define multiple hostnames for the same resources.'=>'To randomise CDN hostname, define multiple hostnames for the same resources.','Join LiteSpeed Slack community'=>'Join LiteSpeed Slack community','Visit LSCWP support forum'=>'Visit LSCWP support forum','Images notified to pull'=>'Images notified to pull','What is a group?'=>'What is a group?','%s image'=>'%s image','%s group'=>'%s group','%s images'=>'%s images','%s groups'=>'%s groups','Guest'=>'Guest','To crawl the site as a logged-in user, enter the user ids to be simulated.'=>'To crawl the site as a logged-in user, enter the user ids to be simulated.','Role Simulation'=>'Role Simulation','running'=>'running','Size'=>'Size','Ended reason'=>'Ended reason','Last interval'=>'Last interval','Current crawler started at'=>'Current crawler started at','Run time for previous crawler'=>'Run time for previous crawler','%d seconds'=>'%d seconds','Last complete run time for all crawlers'=>'Last complete run time for all crawlers','Current sitemap crawl started at'=>'Current sitemap crawl started at','Save transients in database when %1$s is %2$s.'=>'Save transients in database when %1$s is %2$s.','Store Transients'=>'Store Transients','If %1$s is %2$s, then %3$s must be populated!'=>'If %1$s is %2$s, then %3$s must be populated!','NOTE'=>'NOTE','Server variable(s) %s available to override this setting.'=>'Server variable(s) %s available to override this setting.','API'=>'API','Imported setting file %s successfully.'=>'Imported setting file %s successfully.','Import failed due to file error.'=>'Import failed due to file error.','How to Fix Problems Caused by CSS/JS Optimization.'=>'How to Fix Problems Caused by CSS/JS Optimisation.','This will generate extra requests to the server, which will increase server load.'=>'This will generate extra requests to the server, which will increase server load.','When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.'=>'When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.','Instant Click'=>'Instant Click','Reset the entire opcode cache'=>'Reset the entire opcode cache','This will import settings from a file and override all current LiteSpeed Cache settings.'=>'This will import settings from a file and override all current LiteSpeed Cache settings.','Last imported'=>'Last imported','Import'=>'Import','Import Settings'=>'Import Settings','This will export all current LiteSpeed Cache settings and save them as a file.'=>'This will export all current LiteSpeed Cache settings and save them as a file.','Last exported'=>'Last exported','Export'=>'Export','Export Settings'=>'Export Settings','Import / Export'=>'Import / Export','Use keep-alive connections to speed up cache operations.'=>'Use keep-alive connections to speed up cache operations.','Database to be used'=>'Database to be used','Redis Database ID'=>'Redis Database ID','Specify the password used when connecting.'=>'Specify the password used when connecting.','Password'=>'Password','Only available when %s is installed.'=>'Only available when %s is installed.','Username'=>'Username','Your %s Hostname or IP address.'=>'Your %s Hostname or IP address.','Method'=>'Method','Purge all object caches successfully.'=>'Purge all object caches successfully.','Object cache is not enabled.'=>'Object cache is not enabled.','Improve wp-admin speed through caching. (May encounter expired data)'=>'Improve wp-admin speed through caching. (May encounter expired data)','Cache WP-Admin'=>'Cache WP-Admin','Persistent Connection'=>'Persistent Connection','Do Not Cache Groups'=>'Do Not Cache Groups','Groups cached at the network level.'=>'Groups cached at the network level.','Global Groups'=>'Global Groups','Connection Test'=>'Connection Test','%s Extension'=>'%s Extension','Status'=>'Status','Default TTL for cached objects.'=>'Default TTL for cached objects.','Default Object Lifetime'=>'Default Object Lifetime','Port'=>'Port','Host'=>'Host','Object Cache'=>'Object Cache','Failed'=>'Failed','Passed'=>'Passed','Not Available'=>'Not Available','Purge all the object caches'=>'Purge all the object caches','Failed to communicate with Cloudflare'=>'Failed to communicate with Cloudflare','Communicated with Cloudflare successfully.'=>'Communicated with Cloudflare successfully.','No available Cloudflare zone'=>'No available Cloudflare zone','Notified Cloudflare to purge all successfully.'=>'Notified Cloudflare to purge all successfully.','Cloudflare API is set to off.'=>'Cloudflare API is set to off.','Notified Cloudflare to set development mode to %s successfully.'=>'Notified Cloudflare to set development mode to %s successfully.','Once saved, it will be matched with the current list and completed automatically.'=>'Once saved, it will be matched with the current list and completed automatically.','You can just type part of the domain.'=>'You can just type part of the domain.','Domain'=>'Domain','Cloudflare API'=>'Cloudflare API','Purge Everything'=>'Purge Everything','Cloudflare Cache'=>'Cloudflare Cache','Development Mode will be turned off automatically after three hours.'=>'Development Mode will be turned off automatically after three hours.','Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.'=>'Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.','Development mode will be automatically turned off in %s.'=>'Development mode will be automatically turned off in %s.','Current status is %s.'=>'Current status is %s.','Current status is %1$s since %2$s.'=>'Current status is %1$s since %2$s.','Check Status'=>'Check Status','Turn OFF'=>'Turn OFF','Turn ON'=>'Turn ON','Development Mode'=>'Development Mode','Cloudflare Zone'=>'Cloudflare Zone','Cloudflare Domain'=>'Cloudflare Domain','Cloudflare'=>'Cloudflare','For example'=>'For example','Prefetching DNS can reduce latency for visitors.'=>'Prefetching DNS can reduce latency for visitors.','DNS Prefetch'=>'DNS Prefetch','Adding Style to Your Lazy-Loaded Images'=>'Adding Style to Your Lazy-Loaded Images','Default value'=>'Default value','Static file type links to be replaced by CDN links.'=>'Static file type links to be replaced by CDN links.','Drop Query String'=>'Drop Query String','Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.'=>'Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.','Improve HTTP/HTTPS Compatibility'=>'Improve HTTP/HTTPS Compatibility','Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.'=>'Remove all previous image optimisation requests/results, revert completed optimisations, and delete all optimisation files.','Destroy All Optimization Data'=>'Destroy All Optimisation Data','Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.'=>'Scan for any new unoptimised image thumbnail sizes and resend necessary image optimisation requests.','This will increase the size of optimized files.'=>'This will increase the size of optimised files.','Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.'=>'Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimising.','Clear Logs'=>'Clear Logs',' %s ago'=>' %s ago','WebP saved %s'=>'WebP saved %s','If you run into any issues, please refer to the report number in your support message.'=>'If you run into any issues, please refer to the report number in your support message.','Last pull initiated by cron at %s.'=>'Last pull initiated by cron at %s.','Images will be pulled automatically if the cron job is running.'=>'Images will be pulled automatically if the cron job is running.','Only press the button if the pull cron job is disabled.'=>'Only press the button if the pull cron job is disabled.','Pull Images'=>'Pull Images','This process is automatic.'=>'This process is automatic.','Last Request'=>'Last Request','Images Pulled'=>'Images Pulled','Report'=>'Report','Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.'=>'Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.','Send to LiteSpeed'=>'Send to LiteSpeed','LiteSpeed Optimization'=>'LiteSpeed Optimisation','Load Google Fonts Asynchronously'=>'Load Google Fonts Asynchronously','Browser Cache TTL'=>'Browser Cache TTL','Learn More'=>'Learn More','Image groups total'=>'Image groups total','Images optimized and pulled'=>'Images optimised and pulled','Images requested'=>'Images requested','Switched to optimized file successfully.'=>'Switched to optimised file successfully.','Restored original file successfully.'=>'Restored original file successfully.','Enabled WebP file successfully.'=>'Enabled WebP file successfully.','Disabled WebP file successfully.'=>'Disabled WebP file successfully.','Significantly improve load time by replacing images with their optimized %s versions.'=>'Significantly improve load time by replacing images with their optimised %s versions.','Selected roles will be excluded from cache.'=>'Selected roles will be excluded from cache.','Tuning'=>'Tuning','Selected roles will be excluded from all optimizations.'=>'Selected roles will be excluded from all optimisations.','Role Excludes'=>'Role Excludes','Tuning Settings'=>'Tuning Settings','If the tag slug is not found, the tag will be removed from the list on save.'=>'If the tag slug is not found, the tag will be removed from the list on save.','If the category name is not found, the category will be removed from the list on save.'=>'If the category name is not found, the category will be removed from the list on save.','After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.'=>'After the QUIC.cloud Image Optimisation server finishes optimisation, it will notify your site to pull the optimised images.','Send Optimization Request'=>'Send Optimisation Request','Image Information'=>'Image Information','Total Reduction'=>'Total Reduction','Optimization Summary'=>'Optimisation Summary','LiteSpeed Cache Image Optimization'=>'LiteSpeed Cache Image Optimisation','Image Optimization'=>'Image Optimisation','For example, %s can be used for a transparent placeholder.'=>'For example, %s can be used for a transparent placeholder.','By default a gray image placeholder %s will be used.'=>'By default a gray image placeholder %s will be used.','This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.'=>'This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.','Specify a base64 image to be used as a simple placeholder while images finish loading.'=>'Specify a base64 image to be used as a simple placeholder while images finish loading.','Elements with attribute %s in html code will be excluded.'=>'Elements with attribute %s in html code will be excluded.','Filter %s is supported.'=>'Filter %s is supported.','Listed images will not be lazy loaded.'=>'Listed images will not be lazy loaded.','Lazy Load Image Excludes'=>'Lazy Load Image Excludes','No optimization'=>'No optimisation','Prevent any optimization of listed pages.'=>'Prevent any optimisation of listed pages.','URI Excludes'=>'URI Excludes','Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.'=>'Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.','Both full URLs and partial strings can be used.'=>'Both full URLs and partial strings can be used.','Load iframes only when they enter the viewport.'=>'Load iframes only when they enter the viewport.','Lazy Load Iframes'=>'Lazy Load Iframes','This can improve page loading time by reducing initial HTTP requests.'=>'This can improve page loading time by reducing initial HTTP requests.','Load images only when they enter the viewport.'=>'Load images only when they enter the viewport.','Lazy Load Images'=>'Lazy Load Images','Media Settings'=>'Media Settings','Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.'=>'Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.','To match the beginning, add %s to the beginning of the item.'=>'To match the beginning, add %s to the beginning of the item.','Maybe later'=>'Maybe later','I\'ve already left a review'=>'I\'ve already left a review','Welcome to LiteSpeed'=>'Welcome to LiteSpeed','Remove WordPress Emoji'=>'Remove WordPress Emoji','More settings'=>'More settings','Private cache'=>'Private cache','Non cacheable'=>'Non cacheable','Mark this page as '=>'Mark this page as ','Purge this page'=>'Purge this page','Load JS Deferred'=>'Load JS Deferred','Specify critical CSS rules for above-the-fold content when enabling %s.'=>'Specify critical CSS rules for above-the-fold content when enabling %s.','Critical CSS Rules'=>'Critical CSS Rules','Load CSS Asynchronously'=>'Load CSS Asynchronously','Prevent Google Fonts from loading on all pages.'=>'Prevent Google Fonts from loading on all pages.','Remove Google Fonts'=>'Remove Google Fonts','This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.'=>'This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.','Remove query strings from internal static resources.'=>'Remove query strings from internal static resources.','Remove Query Strings'=>'Remove Query Strings','user agents'=>'user agents','cookies'=>'cookies','Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.'=>'Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.','Browser Cache'=>'Browser Cache','tags'=>'tags','Do Not Cache Tags'=>'Do Not Cache Tags','To exclude %1$s, insert %2$s.'=>'To exclude %1$s, insert %2$s.','categories'=>'categories','To prevent %s from being cached, enter them here.'=>'To prevent %s from being cached, enter them here.','Do Not Cache Categories'=>'Do Not Cache Categories','Query strings containing these parameters will not be cached.'=>'Query strings containing these parameters will not be cached.','Do Not Cache Query Strings'=>'Do Not Cache Query Strings','Paths containing these strings will not be cached.'=>'Paths containing these strings will not be cached.','Do Not Cache URIs'=>'Do Not Cache URIs','One per line.'=>'One per line.','URI Paths containing these strings will NOT be cached as public.'=>'URI Paths containing these strings will NOT be cached as public.','Private Cached URIs'=>'Private Cached URIs','Paths containing these strings will not be served from the CDN.'=>'Paths containing these strings will not be served from the CDN.','Exclude Path'=>'Exclude Path','Include File Types'=>'Include File Types','Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.'=>'Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.','Include JS'=>'Include JS','Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.'=>'Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.','Include CSS'=>'Include CSS','Include Images'=>'Include Images','CDN URL to be used. For example, %s'=>'CDN URL to be used. For example, %s','CDN URL'=>'CDN URL','Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.'=>'Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.','Original URLs'=>'Original URLs','CDN Settings'=>'CDN Settings','CDN'=>'CDN','OFF'=>'OFF','ON'=>'ON','Notified LiteSpeed Web Server to purge CSS/JS entries.'=>'Notified LiteSpeed Web Server to purge CSS/JS entries.','Minify HTML content.'=>'Minify HTML content.','HTML Minify'=>'HTML Minify','JS Excludes'=>'JS Excludes','JS Combine'=>'JS Combine','JS Minify'=>'JS Minify','CSS Excludes'=>'CSS Excludes','CSS Combine'=>'CSS Combine','CSS Minify'=>'CSS Minify','Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.'=>'Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.','This will purge all minified/combined CSS/JS entries only'=>'This will purge all minified/combined CSS/JS entries only','Purge %s Error'=>'Purge %s Error','Database Optimizer'=>'Database Optimiser','Optimize all tables in your database'=>'Optimise all tables in your database','Optimize Tables'=>'Optimise Tables','Clean all transient options'=>'Clean all transient options','All Transients'=>'All Transients','Clean expired transient options'=>'Clean expired transient options','Expired Transients'=>'Expired Transients','Clean all trackbacks and pingbacks'=>'Clean all trackbacks and pingbacks','Trackbacks/Pingbacks'=>'Trackbacks/Pingbacks','Clean all trashed comments'=>'Clean all trashed comments','Trashed Comments'=>'Trashed Comments','Clean all spam comments'=>'Clean all spam comments','Spam Comments'=>'Spam Comments','Clean all trashed posts and pages'=>'Clean all trashed posts and pages','Trashed Posts'=>'Trashed Posts','Clean all auto saved drafts'=>'Clean all auto saved drafts','Auto Drafts'=>'Auto Drafts','Clean all post revisions'=>'Clean all post revisions','Post Revisions'=>'Post Revisions','Clean All'=>'Clean All','Optimized all tables.'=>'Optimised all tables.','Clean all transients successfully.'=>'Clean all transients successfully.','Clean expired transients successfully.'=>'Clean expired transients successfully.','Clean trackbacks and pingbacks successfully.'=>'Clean trackbacks and pingbacks successfully.','Clean trashed comments successfully.'=>'Clean trashed comments successfully.','Clean spam comments successfully.'=>'Clean spam comments successfully.','Clean trashed posts and pages successfully.'=>'Clean trashed posts and pages successfully.','Clean auto drafts successfully.'=>'Clean auto drafts successfully.','Clean post revisions successfully.'=>'Clean post revisions successfully.','Clean all successfully.'=>'Clean all successfully.','Default Private Cache TTL'=>'Default Private Cache TTL','If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.'=>'If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.','Vary Group'=>'Vary Group','Cache the built-in Comment Form ESI block.'=>'Cache the built-in Comment Form ESI block.','Cache Comment Form'=>'Cache Comment Form','Cache Admin Bar'=>'Cache Admin Bar','Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.'=>'Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.','ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.'=>'ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.','With ESI (Edge Side Includes), pages may be served from cache for logged-in users.'=>'With ESI (Edge Side Includes), pages may be served from cache for logged-in users.','Private'=>'Private','Public'=>'Public','Purge Settings'=>'Purge Settings','Cache Mobile'=>'Cache Mobile','Advanced level will log more details.'=>'Advanced level will log more details.','Basic'=>'Basic','The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.'=>'The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.','Cache Login Page'=>'Cache Login Page','Cache requests made by WordPress REST API calls.'=>'Cache requests made by WordPress REST API calls.','Cache REST API'=>'Cache REST API','Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)'=>'Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)','Cache Commenters'=>'Cache Commenters','Privately cache frontend pages for logged-in users. (LSWS %s required)'=>'Privately cache frontend pages for logged-in users. (LSWS %s required)','Cache Logged-in Users'=>'Cache Logged-in Users','Cache Control Settings'=>'Cache Control Settings','ESI'=>'ESI','Excludes'=>'Excludes','Purge'=>'Purge','Cache'=>'Cache','Current server time is %s.'=>'Current server time is %s.','Specify the time to purge the "%s" list.'=>'Specify the time to purge the "%s" list.','Both %1$s and %2$s are acceptable.'=>'Both %1$s and %2$s are acceptable.','Scheduled Purge Time'=>'Scheduled Purge Time','The URLs here (one per line) will be purged automatically at the time set in the option "%s".'=>'The URLs here (one per line) will be purged automatically at the time set in the option "%s".','Scheduled Purge URLs'=>'Scheduled Purge URLs','Shorten query strings in the debug log to improve readability.'=>'Shorten query strings in the debug log to improve readability.','Heartbeat'=>'Heartbeat','MB'=>'MB','Log File Size Limit'=>'Log File Size Limit','<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s'=>'<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s','%s file not writable.'=>'%s file not writable.','%s file not readable.'=>'%s file not readable.','Collapse Query Strings'=>'Collapse Query Strings','ESI Settings'=>'ESI Settings','A TTL of 0 indicates do not cache.'=>'A TTL of 0 indicates do not cache.','Recommended value: 28800 seconds (8 hours).'=>'Recommended value: 28800 seconds (8 hours).','Enable ESI'=>'Enable ESI','Custom Sitemap'=>'Custom Sitemap','Purge pages by relative or full URL.'=>'Purge pages by relative or full URL.','The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.'=>'The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.','WARNING'=>'WARNING','The next complete sitemap crawl will start at'=>'The next complete sitemap crawl will start at','Failed to write to %s.'=>'Failed to write to %s.','Folder is not writable: %s.'=>'Folder is not writable: %s.','Can not create folder: %1$s. Error: %2$s'=>'Can not create folder: %1$s. Error: %2$s','Folder does not exist: %s'=>'Folder does not exist: %s','Notified LiteSpeed Web Server to purge the list.'=>'Notified LiteSpeed Web Server to purge the list.','Allows listed IPs (one per line) to perform certain actions from their browsers.'=>'Allows listed IPs (one per line) to perform certain actions from their browsers.','Server Load Limit'=>'Server Load Limit','Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.'=>'Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.','Crawl Interval'=>'Crawl Interval','Then another WordPress is installed (NOT MULTISITE) at %s'=>'Then another WordPress is installed (NOT MULTISITE) at %s','LiteSpeed Cache Network Cache Settings'=>'LiteSpeed Cache Network Cache Settings','Select below for "Purge by" options.'=>'Select below for "Purge by" options.','LiteSpeed Cache CDN'=>'LiteSpeed Cache CDN','No crawler meta file generated yet'=>'No crawler meta file generated yet','Show crawler status'=>'Show crawler status','Watch Crawler Status'=>'Watch Crawler Status','Run frequency is set by the Interval Between Runs setting.'=>'Run frequency is set by the Interval Between Runs setting.','Manually run'=>'Manually run','Reset position'=>'Reset position','Run Frequency'=>'Run Frequency','Cron Name'=>'Cron Name','Crawler Cron'=>'Crawler Cron','%d minute'=>'%d minute','%d minutes'=>'%d minutes','%d hour'=>'%d hour','%d hours'=>'%d hours','Generated at %s'=>'Generated at %s','LiteSpeed Cache Crawler'=>'LiteSpeed Cache Crawler','Crawler'=>'Crawler','https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration'=>'https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration','Notified LiteSpeed Web Server to purge all pages.'=>'Notified LiteSpeed Web Server to purge all pages.','All pages with Recent Posts Widget'=>'All pages with Recent Posts Widget','Pages'=>'Pages','This will Purge Pages only'=>'This will Purge Pages only','Purge Pages'=>'Purge Pages','Cancel'=>'Cancel','Activate'=>'Activate','Email Address'=>'Email Address','Install Now'=>'Install Now','Purged the blog!'=>'Purged the blog!','Purged All!'=>'Purged All!','Notified LiteSpeed Web Server to purge error pages.'=>'Notified LiteSpeed Web Server to purge error pages.','If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.'=>'If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.','If the login cookie was recently changed in the settings, please log out and back in.'=>'If the login cookie was recently changed in the settings, please log out and back in.','However, there is no way of knowing all the possible customizations that were implemented.'=>'However, there is no way of knowing all the possible customisations that were implemented.','The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.'=>'The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.','The network admin setting can be overridden here.'=>'The network admin setting can be overridden here.','Specify how long, in seconds, public pages are cached.'=>'Specify how long, in seconds, public pages are cached.','Specify how long, in seconds, private pages are cached.'=>'Specify how long, in seconds, private pages are cached.','Purge pages by post ID.'=>'Purge pages by post ID.','Purge the LiteSpeed cache entries created by this plugin'=>'Purge the LiteSpeed cache entries created by this plugin','Purge %s error pages'=>'Purge %s error pages','This will Purge Front Page only'=>'This will Purge Front Page only','Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.'=>'Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.','Purge pages by category name - e.g. %2$s should be used for the URL %1$s.'=>'Purge pages by category name - e.g. %2$s should be used for the URL %1$s.','If only the WordPress site should be purged, use Purge All.'=>'If only the WordPress site should be purged, use Purge All.','Notified LiteSpeed Web Server to purge everything.'=>'Notified LiteSpeed Web Server to purge everything.','Use Primary Site Configuration'=>'Use Primary Site Configuration','This will disable the settings page on all subsites.'=>'This will disable the settings page on all subsites.','Check this option to use the primary site\'s configuration for all subsites.'=>'Check this option to use the primary site\'s configuration for all subsites.','Save Changes'=>'Save Changes','The following options are selected, but are not editable in this settings page.'=>'The following options are selected, but are not editable in this settings page.','The network admin selected use primary site configs for all subsites.'=>'The network admin selected use primary site configs for all subsites.','Empty Entire Cache'=>'Empty Entire Cache','This action should only be used if things are cached incorrectly.'=>'This action should only be used if things are cached incorrectly.','This may cause heavy load on the server.'=>'This may cause heavy load on the server.','This will clear EVERYTHING inside the cache.'=>'This will clear EVERYTHING inside the cache.','LiteSpeed Cache Purge All'=>'LiteSpeed Cache Purge All','If you would rather not move at litespeed, you can deactivate this plugin.'=>'If you would rather not move at litespeed, you can deactivate this plugin.','Create a post, make sure the front page is accurate.'=>'Create a post, make sure the front page is accurate.','Visit the site while logged out.'=>'Visit the site while logged out.','Examples of test cases include:'=>'Examples of test cases include:','For that reason, please test the site to make sure everything still functions properly.'=>'For that reason, please test the site to make sure everything still functions properly.','This message indicates that the plugin was installed by the server admin.'=>'This message indicates that the plugin was installed by the server admin.','LiteSpeed Cache plugin is installed!'=>'LiteSpeed Cache plugin is installed!','Debug Log'=>'Debug Log','Admin IP Only'=>'Admin IP Only','Specify how long, in seconds, REST calls are cached.'=>'Specify how long, in seconds, REST calls are cached.','The environment report contains detailed information about the WordPress configuration.'=>'The environment report contains detailed information about the WordPress configuration.','The server will determine if the user is logged in based on the existence of this cookie.'=>'The server will determine if the user is logged in based on the existence of this cookie.','Note'=>'Note','After verifying that the cache works in general, please test the cart.'=>'After verifying that the cache works in general, please test the cart.','When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.'=>'When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.','Purge All On Upgrade'=>'Purge All On Upgrade','Product Update Interval'=>'Product Update Interval','Determines how changes in product quantity and product stock status affect product pages and their associated category pages.'=>'Determines how changes in product quantity and product stock status affect product pages and their associated category pages.','Always purge both product and categories on changes to the quantity or stock status.'=>'Always purge both product and categories on changes to the quantity or stock status.','Do not purge categories on changes to the quantity or stock status.'=>'Do not purge categories on changes to the quantity or stock status.','Purge product only when the stock status changes.'=>'Purge product only when the stock status changes.','Purge product and categories only when the stock status changes.'=>'Purge product and categories only when the stock status changes.','Purge categories only when stock status changes.'=>'Purge categories only when stock status changes.','Purge product on changes to the quantity or stock status.'=>'Purge product on changes to the quantity or stock status.','Htaccess did not match configuration option.'=>'Htaccess did not match configuration option.','If this is set to a number less than 30, feeds will not be cached.'=>'If this is set to a number less than 30, feeds will not be cached.','Specify how long, in seconds, feeds are cached.'=>'Specify how long, in seconds, feeds are cached.','Default Feed TTL'=>'Default Feed TTL','Failed to get %s file contents.'=>'Failed to get %s file contents.','Disabling this option may negatively affect performance.'=>'Disabling this option may negatively affect performance.','Invalid login cookie. Invalid characters found.'=>'Invalid login cookie. Invalid characters found.','WARNING: The .htaccess login cookie and Database login cookie do not match.'=>'WARNING: The .htaccess login cookie and Database login cookie do not match.','Invalid login cookie. Please check the %s file.'=>'Invalid login cookie. Please check the %s file.','The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.'=>'The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.','There is a WordPress installed for %s.'=>'There is a WordPress installed for %s.','Example use case:'=>'Example use case:','The cookie set here will be used for this WordPress installation.'=>'The cookie set here will be used for this WordPress installation.','If every web application uses the same cookie, the server may confuse whether a user is logged in or not.'=>'If every web application uses the same cookie, the server may confuse whether a user is logged in or not.','This setting is useful for those that have multiple web applications for the same domain.'=>'This setting is useful for those that have multiple web applications for the same domain.','The default login cookie is %s.'=>'The default login cookie is %s.','Login Cookie'=>'Login Cookie','More information about the available commands can be found here.'=>'More information about the available commands can be found here.','These settings are meant for ADVANCED USERS ONLY.'=>'These settings are meant for ADVANCED USERS ONLY.','Current %s Contents'=>'Current %s Contents','Advanced'=>'Advanced','Advanced Settings'=>'Advanced Settings','Purge List'=>'Purge List','Purge By...'=>'Purge By...','URL'=>'URL','Tag'=>'Tag','Post ID'=>'Post ID','Category'=>'Category','NOTICE: Database login cookie did not match your login cookie.'=>'NOTICE: Database login cookie did not match your login cookie.','Purge url %s'=>'Purge url %s','Purge tag %s'=>'Purge tag %s','Purge category %s'=>'Purge category %s','When disabling the cache, all cached entries for this site will be purged.'=>'When disabling the cache, all cached entries for this site will be purged.','NOTICE'=>'NOTICE','This setting will edit the .htaccess file.'=>'This setting will edit the .htaccess file.','LiteSpeed Cache View .htaccess'=>'LiteSpeed Cache View .htaccess','Failed to back up %s file, aborted changes.'=>'Failed to back up %s file, aborted changes.','Do Not Cache Cookies'=>'Do Not Cache Cookies','Do Not Cache User Agents'=>'Do Not Cache User Agents','This is to ensure compatibility prior to enabling the cache for all sites.'=>'This is to ensure compatibility prior to enabling the cache for all sites.','Network Enable Cache'=>'Network Enable Cache','NOTICE:'=>'NOTICE:','Other checkboxes will be ignored.'=>'Other checkboxes will be ignored.','Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.'=>'Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.','List of Mobile User Agents'=>'List of Mobile User Agents','File %s is not writable.'=>'File %s is not writable.','JS Settings'=>'JS Settings','Manage'=>'Manage','Default Front Page TTL'=>'Default Front Page TTL','Notified LiteSpeed Web Server to purge the front page.'=>'Notified LiteSpeed Web Server to purge the front page.','Purge Front Page'=>'Purge Front Page','Example'=>'Example','All tags are cached by default.'=>'All tags are cached by default.','All categories are cached by default.'=>'All categories are cached by default.','To do an exact match, add %s to the end of the URL.'=>'To do an exact match, add %s to the end of the URL.','The URLs will be compared to the REQUEST_URI server variable.'=>'The URLs will be compared to the REQUEST_URI server variable.','Select only the archive types that are currently used, the others can be left unchecked.'=>'Select only the archive types that are currently used, the others can be left unchecked.','Notes'=>'Notes','Use Network Admin Setting'=>'Use Network Admin Setting','Disable'=>'Disable','Enabling LiteSpeed Cache for WordPress here enables the cache for the network.'=>'Enabling LiteSpeed Cache for WordPress here enables the cache for the network.','Disabled'=>'Disabled','Enabled'=>'Enabled','Do Not Cache Roles'=>'Do Not Cache Roles','https://www.litespeedtech.com'=>'https://www.litespeedtech.com','LiteSpeed Technologies'=>'LiteSpeed Technologies','LiteSpeed Cache'=>'LiteSpeed Cache','Debug Level'=>'Debug Level','Notice'=>'Notice','Term archive (include category, tag, and tax)'=>'Term archive (include category, tag, and tax)','Daily archive'=>'Daily archive','Monthly archive'=>'Monthly archive','Yearly archive'=>'Yearly archive','Post type archive'=>'Post type archive','Author archive'=>'Author archive','Home page'=>'Home page','Front page'=>'Front page','All pages'=>'All pages','Select which pages will be automatically purged when posts are published/updated.'=>'Select which pages will be automatically purged when posts are published/updated.','Auto Purge Rules For Publish/Update'=>'Auto Purge Rules For Publish/Update','Default Public Cache TTL'=>'Default Public Cache TTL','seconds'=>'seconds','Admin IPs'=>'Admin IPs','General'=>'General','LiteSpeed Cache Settings'=>'LiteSpeed Cache Settings','Notified LiteSpeed Web Server to purge all LSCache entries.'=>'Notified LiteSpeed Web Server to purge all LSCache entries.','Purge All'=>'Purge All','Settings'=>'Settings']];PKU^�\JM�I��+translations/litespeed-cache-fr_FR.l10n.phpnu�[���<?php
return ['x-generator'=>'GlotPress/4.0.3','translation-revision-date'=>'2025-10-10 08:33:25+0000','plural-forms'=>'nplurals=2; plural=n > 1;','project-id-version'=>'Plugins - LiteSpeed Cache - Stable (latest release)','language'=>'fr','messages'=>['LiteSpeed Cache is temporarily disabled until: %s.'=>'LiteSpeed ​​Cache est temporairement désactivé jusqu’au : %s.','Remove `Disable All Feature` Flag Now'=>'Retirer l’indicateur « Désactiver toutes les fonctionnalités » maintenant','Disable All Features for 24 Hours'=>'Désactiver toutes les fonctionnalités pendant 24 heures','LiteSpeed Cache is disabled. This functionality will not work.'=>'Le cache LiteSpeed ​​est désactivé. Cette fonctionnalité ne fonctionnera pas.','Filter %s available to change threshold.'=>'Filtre %s disponible pour modifier le seuil.','Scaled size threshold'=>'Seuil de redimensionnement de taille','Automatically replace large images with scaled versions.'=>'Remplacezr automatiquement les grandes images par des versions redimensionnées.','Auto Rescale Original Images'=>'Redimensionner automatiquement les images originales','UCSS Inline Excluded Files'=>'Fichiers UCSS en ligne exclus','The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.'=>'La connexion QUIC.cloud est incorrecte. Veuillez réessayer de synchroniser votre connexion QUIC.cloud.','No fields'=>'Aucun champ','Value from filter applied'=>'Valeur du filtre appliqué','This value is overwritten by the filter.'=>'Cette valeur est remplacée par le filtre.','This value is overwritten by the %s variable.'=>'Cette valeur est remplacée par la variable %s.','QUIC.cloud CDN'=>'CDN QUIC.cloud','Tuning CSS Settings'=>'Réglage des paramètres CSS','Predefined list will also be combined with the above settings.'=>'La liste prédéfinie sera également combinée avec les réglages ci-dessus.','Clear'=>'Effacer','If not, please verify the setting in the %sAdvanced tab%s.'=>'Si ce n’est pas le cas, veuillez vérifier le réglage dans l’onglet %sAvancé%s.','Close popup'=>'Fermer une fenêtre modale','Deactivate plugin'=>'Désactiver l’extension','Other'=>'Autre','Plugin is too complicated'=>'L’extension est trop compliquée','Site performance is worse'=>'Les performances du site sont pires','The deactivation is temporary'=>'La désactivation est temporaire','Deactivate LiteSpeed Cache'=>'Désactiver LiteSpeed Cache','CDN - Disabled'=>'CDN - Désactivé','CDN - Enabled'=>'CDN - Activé','Connected Date:'=>'Date de connexion :','Node:'=>'Nœud :','Service:'=>'Service :','Autoload top list'=>'Liste des top chargements automatiques','Autoload entries'=>'Entrées à chargement automatique','Autoload size'=>'Taille de chargement automatique','This Month Usage: %s'=>'Utilisation de ce mois-ci : %s','Usage Statistics: %s'=>'Statistiques d’utilisation : %s','more'=>'plus','LiteSpeed Web Server'=>'Serveur Web LiteSpeed','Last crawled:'=>'Dernière exploration :','%1$s %2$d item(s)'=>'%1$s %2$d élément(s)','Start watching...'=>'Démarrage de l’observation…','Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.'=>'Les robots d’exploration ne peuvent pas s’exécuter simultanément. Si le cron et une exécution manuelle qui démarre simultanément, le premier lancé aura la priorité.','Position: '=>'Position : ','%d item(s)'=>'%d élément(s)','Last crawled'=>'Dernière exploration','Serve your visitors fast'=>'Servez vos visiteurs rapidement','This will affect all tags containing attributes: %s.'=>'Cela affectera toutes les balises contenant les attributs : %s.','%1$sLearn More%2$s'=>'%1$sEn savoir plus%2$s','Get it from %s.'=>'Obtenez-le auprès de %s.','Reset the OPcache failed.'=>'La réinitialisation de l’OPcache a échouée.','OPcache is restricted by %s setting.'=>'OPcache est limité par le réglage %s.','OPcache is not enabled.'=>'OPcache n’est pas activé.','Enable All Features'=>'Activer toutes les fonctionnalités','e.g. Use %1$s or %2$s.'=>'ex. : utiliser %1$s ou %2$s.','Click to copy'=>'Cliquer pour copier','Online Services'=>'Services en ligne','Autoload'=>'Chargement automatique','Refresh QUIC.cloud status'=>'Actualiser l’état de QUIC.cloud','Refresh'=>'Actualiser','News'=>'Actualités','Enable QUIC.cloud CDN'=>'Activer le CDN QUIC.cloud','Link & Enable QUIC.cloud CDN'=>'Lier et activer le CDN QUIC.cloud','Enable QUIC.cloud services'=>'Activer les services QUIC.cloud','Free monthly quota available.'=>'Quota gratuit mensuel disponible.','Accelerate, Optimize, Protect'=>'Accélérer, optimiser, protéger','Refresh Status'=>'Actualiser l’état','Other Static CDN'=>'Autre CDN statique','Dismiss this notice.'=>'Ignorer cette avis.','No backup of unoptimized AVIF file exists.'=>'Aucune sauvegarde du fichier AVIF non optimisé n’existe.','Enabled AVIF file successfully.'=>'Fichier AVIF bien activé.','Disabled AVIF file successfully.'=>'Fichier AVIF bien désactivé.','Filename is empty!'=>'Le nom de fichier est vide !','Click here to proceed.'=>'Cliquer ici pour continuer.','Reset %s activation successfully.'=>'Réinitialisation de l’activation %s réussie.','You need to activate QC first.'=>'Vous devez activer QC d’abord.','You have used all of your quota left for current service this month.'=>'Vous avez utilisé tout votre quota restant pour le service en cours ce mois-ci.','Learn more or purchase additional quota.'=>'En savoir plus ou acheter un quota supplémentaire.','Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.'=>'Spécifiez une action AJAX dans POST/GET et le nombre de secondes pour mettre en cache cette requête, séparés par un espace.','HTML Keep Comments'=>'Conserver les commentaires HTML','AJAX Cache TTL'=>'Cache TTL AJAX','Clean all orphaned post meta records'=>'Nettoyer tous les métadonnées de publication orphelines','Orphaned Post Meta'=>'Métadonnées de commentaire orphelines','Best available WordPress performance'=>'Meilleures performances WordPress disponibles','Clean orphaned post meta successfully.'=>'Nettoyage réussi de méta orpheline de la publication.','Last Pulled'=>'Dernier tirage','You can list the 3rd party vary cookies here.'=>'Vous pouvez dresser la liste des cookies tiers ici.','Vary Cookies'=>'Varier les cookies','Preconnecting speeds up future loads from a given origin.'=>'La pré-connexion accélère les charges futures à partir d’une origine donnée.','If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.'=>'Si votre thème n’utilise pas JS pour mettre à jour le mini-panier, vous devez activer cette option pour afficher le contenu correct du panier.','Generate a separate vary cache copy for the mini cart when the cart is not empty.'=>'Générer une copie de cache séparée pour le mini-panier lorsque le panier n’est pas vide.','Vary for Mini Cart'=>'Variable pour le mini-panier','DNS Preconnect'=>'Pré-connexion DNS','This setting is %1$s for certain qualifying requests due to %2$s!'=>'Ce paramètre est %1$s pour certaines demandes qualifiées en raison de %2$s','Listed JS files or inline JS code will be delayed.'=>'Les fichiers JS listés ou le code JS en ligne seront différés.','URL Search'=>'Recherche d’URL','JS Delayed Includes'=>'Le JS différée comprend','Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.'=>'Votre domain_key a été temporairement bloqué pour éviter les abus. Vous pouvez contacter le support à QUIC.cloud pour en savoir plus.','Cloud server refused the current request due to unpulled images. Please pull the images first.'=>'Le serveur cloud a refusé la demande actuelle en raison d’images non extraites. Veuillez d’abord extraire les images.','Current server load'=>'Charge actuelle du serveur','Started async image optimization request'=>'Requête d’optimisation d’image asynchrone lancée','Started async crawling'=>'Exploration asynchrone commencée','Saving option failed. IPv4 only for %s.'=>'L’enregistrement de l’option a échoué. IPv4 uniquement pour %s.','Cloud server refused the current request due to rate limiting. Please try again later.'=>'Le serveur cloud a refusé la requête actuelle en raison de la limitation du débit. Veuillez réessayer ultérieurement.','Maximum image post id'=>'ID de publication d’image maximal','Current image post id position'=>'Position actuelle de l’ID de publication de l’image','Images ready to request'=>'Images prêtes à être demandées','Redetect'=>'Détecter à nouveau','All QUIC.cloud service queues have been cleared.'=>'Toutes les files d’attente de service QUIC.cloud ont été effacées.','Cache key must be integer or non-empty string, %s given.'=>'La clé de cache doit être une chaîne entière ou non vide, %s donnée.','Cache key must not be an empty string.'=>'La clé de cache ne doit pas être une chaîne vide.','JS Deferred / Delayed Excludes'=>'Le JS différé/reporté exclut','The queue is processed asynchronously. It may take time.'=>'La file d’attente est traitée de manière asynchrone. Cela peut prendre du temps.','In order to use QC services, need a real domain name, cannot use an IP.'=>'Afin d’utiliser les services de contrôle qualité, cela nécessite un vrai nom de domaine, impossible d’utiliser une IP.','Restore Settings'=>'Restaurer les réglages','This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?'=>'Cela restaurera les réglages de sauvegarde créés %1$s avant d’appliquer le préréglage %2$s. Toutes les modifications apportées depuis lors seront perdues. Voulez-vous continuer ','Backup created %1$s before applying the %2$s preset'=>'Sauvegarde créée %1$s avant d’appliquer le préréglage %2$s','Applied the %1$s preset %2$s'=>'Appliquez le %1$s préréglage %2$s','Restored backup settings %1$s'=>'Réglages de sauvegarde restaurés %1$s','Error: Failed to apply the settings %1$s'=>'Erreur : impossible d’appliquer les réglages %1$s','History'=>'Historique','unknown'=>'inconnue','Apply Preset'=>'Appliquer le préréglage','This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?'=>'Cela sauvegardera vos réglages actuels et les remplacera par les réglages prédéfinis %1$s. Souhaitez-vous continuer ?','Who should use this preset?'=>'Qui devrait utiliser ce préréglage ?','Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.'=>'Utilisez un préréglage officiel conçu par LiteSpeed pour configurer votre site en un clic. Essayez les éléments essentiels de la mise en cache sans risque, l’optimisation extrême ou quelque chose entre les deux.','LiteSpeed Cache Standard Presets'=>'Préréglages standard du cache LiteSpeed','This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.'=>'Ce préréglage nécessitera certainement des tests et des exclusions pour certaines images CSS, JS et à chargement différé. Portez une attention particulière aux logos ou aux images de diaporama HTML.','Inline CSS added to Combine'=>'CSS en ligne ajouté à Combine','Inline JS added to Combine'=>'Inline JS ajouté à Combine','JS Delayed'=>'JS différé','Viewport Image Generation'=>'Génération d’images de fenêtre d’affichage','Lazy Load for Images'=>'Chargement différé pour les images','Everything in Aggressive, Plus'=>'Tout est agressif, plus','Extreme'=>'Extrême','This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.'=>'Ce préréglage peut fonctionner prêt à l’emploi pour certains sites Web, mais assurez-vous de tester ! Certaines exclusions CSS ou JS peuvent être nécessaires dans l’optimisation > le réglage des pages.','Lazy Load for Iframes'=>'Chargement différé pour les iframes','Removed Unused CSS for Users'=>'Suppression du CSS inutilisé pour les utilisateurs','Asynchronous CSS Loading with Critical CSS'=>'Chargement CSS asynchrone avec CSS critique','CSS & JS Combine'=>'Combinent CSS & JS','Everything in Advanced, Plus'=>'Tout dans Advanced, Plus','Aggressive'=>'Agressif','This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.'=>'Ce préréglage convient à la plupart des sites Web et il est peu probable qu’il provoque des conflits. Tout conflit CSS ou JS peut être résolu avec les outils d’optimisation > de réglage des pages.','Remove Query Strings from Static Files'=>'Supprimer les chaînes de requête des fichiers statiques','DNS Prefetch for static files'=>'Prérécupération DNS pour les fichiers statiques','JS Defer for both external and inline JS'=>'Le report JS pour le JS externe et le JS en ligne','CSS, JS and HTML Minification'=>'Minification CSS, JS et HTML','Guest Mode and Guest Optimization'=>'Mode invité et optimisation des invités','Everything in Basic, Plus'=>'Tout dans Basic, Plus','Advanced (Recommended)'=>'Avancé (recommandé)','This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.'=>'Ce préréglage à faible risque introduit des optimisations de base pour la vitesse et l’expérience utilisateur. Convient aux débutants enthousiastes.','Mobile Cache'=>'Cache mobile','Everything in Essentials, Plus'=>'Tout dans Essentials, Plus','This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.'=>'Ce préréglage sans risque convient à tous les sites Web. Bon pour les nouveaux utilisateurs, les sites Web simples ou le développement orienté cache.','Higher TTL'=>'TTL plus élevé','Default Cache'=>'Cache par défaut','Essentials'=>'Fondamentaux','LiteSpeed Cache Configuration Presets'=>'Préréglages de la configuration du cache LiteSpeed','Standard Presets'=>'Préréglages standards','Listed CSS files will be excluded from UCSS and saved to inline.'=>'Les fichiers CSS répertoriés seront exclus de UCSS et enregistrés en ligne.','UCSS Selector Allowlist'=>'Liste d’autorisation du sélecteur UCSS','Presets'=>'Préréglages','Partner Benefits Provided by'=>'Avantages offerts aux partenaires par','LiteSpeed Logs'=>'Journaux LiteSpeed','Crawler Log'=>'Journaux du robot explorateur','Purge Log'=>'Purger le journal','Prevent writing log entries that include listed strings.'=>'Empêcher l’écriture des entrées de journal qui incluent les chaines de caractères listées.','View Site Before Cache'=>'Voir le site avant le cache','View Site Before Optimization'=>'Voir le site avant optimisation','Debug Helpers'=>'Aides au débogage','Enable Viewport Images auto generation cron.'=>'Activer la tâche planifiée de génération automatique d’images de vue écran.','This enables the page\'s initial screenful of imagery to be fully displayed without delay.'=>'Cela permet aux images situées dans la vue initiale de l’écran d’être affichées sans délai.','The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.'=>'Le service d’images de vue écran détecte les images qui apparaissent au-dessus du pli et les exclut du chargement différé.','When you use Lazy Load, it will delay the loading of all images on a page.'=>'En utilisant le chargement différé, on retarde le chargement de toutes les images sur une page.','Use %1$s to bypass remote image dimension check when %2$s is ON.'=>'Utiliser %1$s pour ignorer la vérification des dimensions de l’image distante lorsque %2$s est activé.','VPI'=>'VPI','%s must be turned ON for this setting to work.'=>'%s doit être activé pour que ce réglage fonctionne.','Viewport Image'=>'Image de vue écran','Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:'=>'Merci de désactiver les extensions détectées suivantes, car elles peuvent entrer en conflit avec LiteSpeed Cache :','Mobile'=>'Mobile','Disable VPI'=>'Désactiver VPI','Disable Image Lazyload'=>'Désactiver le chargement différé d’image','Disable Cache'=>'Désactiver le cache','Debug String Excludes'=>'La chaîne de débogage exclut','Viewport Images Cron'=>'Cron d’images de vue écran','Viewport Images'=>'Images de vue écran','Alias is in use by another QUIC.cloud account.'=>'L’alias est utilisé par un autre compte QUIC.cloud.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain.'=>'Impossible d’ajouter automatiquement %1$s en tant qu’alias de domaine pour le domaine principal %2$s.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.'=>'Impossible d’ajouter automatiquement %1$s en tant qu’alias de domaine pour le domaine principal %2$s, en raison d’un conflit CDN potentiel.','You cannot remove this DNS zone, because it is still in use. Please update the domain\'s nameservers, then try to delete this zone again, otherwise your site will become inaccessible.'=>'Impossible de supprimer cette zone DNS, car elle est toujours utilisée. Mettre à jour les serveurs de noms du domaine, puis essayer à nouveau de supprimer cette zone, sinon le site sera inaccessible.','The site is not a valid alias on QUIC.cloud.'=>'Le site n’est pas un alias valide sur QUIC.cloud.','Please thoroughly test each JS file you add to ensure it functions as expected.'=>'Tester soigneusement chaque fichier JS ajouté pour s’assurer qu’il fonctionne comme prévu.','Please thoroughly test all items in %s to ensure they function as expected.'=>'Tester tous les éléments dans %s pour s’assurer qu’ils fonctionnent comme prévu.','Use %1$s to bypass UCSS for the pages which page type is %2$s.'=>'Utiliser %1$s pour contourner UCSS pour les pages dont le type de page est %2$s.','Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.'=>'Utiliser %1$s pour générer un seul UCSS pour les pages dont le type de page est %2$s tandis que les autres types de page utilisent toujours une URL.','Filter %s available for UCSS per page type generation.'=>'Filtre %s disponible pour UCSS par génération de type de page.','Guest Mode failed to test.'=>'Le test du mode invité a échoué.','Guest Mode passed testing.'=>'Le mode invité a passé le test.','Testing'=>'Test en cours','Guest Mode testing result'=>'Résultat du test du mode invité','Not blocklisted'=>'Pas sur liste de blocage','Learn more about when this is needed'=>'En savoir plus sur les cas où cela est nécessaire','Cleaned all localized resource entries.'=>'Nettoyé toutes les entrées de ressources localisées.','View .htaccess'=>'Voir le .htaccess','You can use this code %1$s in %2$s to specify the htaccess file path.'=>'Vous pouvez utiliser le code %1$s dans %2$s pour spécifier le chemin du fichier htaccess.','PHP Constant %s is supported.'=>'La constante PHP %s est prise en charge.','Default path is'=>'Le chemin par défaut est','.htaccess Path'=>'Chemin .htaccess','Please read all warnings before enabling this option.'=>'Veuillez lire tous les avertissements avant d’activer cette option.','This will delete all generated unique CSS files'=>'Cela supprimera tous les fichiers CSS uniques générés','In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.'=>'Afin d’éviter une erreur de mise à niveau, vous devez utiliser la version %1$s ou ultérieure avant de pouvoir mettre à niveau vers la version %2$s.','Use latest GitHub Dev/Master commit'=>'Utiliser le dernier commit GitHub de développement/maître','Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.'=>'Appuyez sur le bouton %s pour utiliser le commit GitHub le plus récent. Master est pour la version candidate et Dev est pour les tests expérimentaux.','Downgrade not recommended. May cause fatal error due to refactored code.'=>'La rétrogradation n’est pas recommandée. Peut provoquer une erreur fatale en raison du code remanié.','Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.'=>'Optimiser uniquement les pages pour les visiteurs invités (non connectés). Si cette option est désactivée, les fichiers CSS/JS/CCSS seront doublés par chaque groupe d’utilisateurs et utilisatrices.','Listed JS files or inline JS code will not be optimized by %s.'=>'Les fichiers JS listés ou le code JS en ligne ne seront pas optimisés par %s.','Listed URI will not generate UCSS.'=>'Les URL listées ne généreront pas d’UCSS.','The selector must exist in the CSS. Parent classes in the HTML will not work.'=>'Le sélecteur doit exister dans le CSS. Les classes parentes dans le HTML ne fonctionneront pas.','Wildcard %s supported.'=>'Wildcard %s pris en charge.','Useful for above-the-fold images causing CLS (a Core Web Vitals metric).'=>'Utile pour les images au-dessus du pli provoquant CLS (une métrique Core Web Vitals).','Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).'=>'Définissez une largeur et une hauteur explicites sur les éléments image pour réduire les changements de mise en page et améliorer le CLS (une métrique Core Web Vitals).','Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.'=>'Les modifications apportées à ce réglage ne s’appliquent pas aux LQIP déjà générés. Pour régénérer les LQIP existants, veuillez d’abord %s dans le menu de la barre d’administration.','Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).'=>'Le fait de différer jusqu’à ce que la page soit analysée ou de retarder l’interaction peut aider à réduire les conflits de ressources et à améliorer les performances, entraînant un FID inférieur (Indicateur Web Vitals de base).','Delayed'=>'Reporté','JS error can be found from the developer console of browser by right clicking and choosing Inspect.'=>'L’erreur JS peut être trouvée à partir de la console développeur du navigateur en cliquant avec le bouton droit de la souris et en choisissant Inspecter.','This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.'=>'L’option peut entraîner une erreur JS ou un problème de mise en page sur les pages en ligne avec certains thèmes/extensions.','This will also add a preconnect to Google Fonts to establish a connection earlier.'=>'Va ajoutera également une préconnexion à Google Fonts pour améliorer la vitesse due chargement.','Delay rendering off-screen HTML elements by its selector.'=>'Retarder le rendu d’éléments HTML hors écran par leurs sélecteurs.','Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.'=>'Désactiver l’option pour générer le CCSS par type de publication au lieu de par page. Cela va économiser un quota CCSS important, mais cela peut entraîner un style CSS incorrect si le site utilise un constructeur de page.','This option is bypassed due to %s option.'=>'Cette option est ignorée en raison de l’option %s.','Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.'=>'Utiliser le service en ligne QUIC.cloud pour générer des CSS critiques et charger les CSS restants de manière asynchrone.','This option will automatically bypass %s option.'=>'L’option contournera automatiquement l’option %s.','Run %s Queue Manually'=>'Exécuter %s file d’attente manuellement','This option is bypassed because %1$s option is %2$s.'=>'Cette option est ignorée car l’option %1$s est %2$s.','Automatic generation of unique CSS is in the background via a cron-based queue.'=>'La génération automatique d’un CSS unique est en arrière-plan via une file d’attente basée sur Cron.','This will drop the unused CSS on each page from the combined file.'=>'Va supprimer le CSS inutilisé sur chaque page du fichier combiné.','HTML Settings'=>'Réglages HTML','LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.'=>'Extension de cache LiteSpeed mise à niveau. Veuillez actualiser la page pour terminer la mise à niveau des données de configuration.','This option can help to correct the cache vary for certain advanced mobile or tablet visitors.'=>'Aide à corriger la variation du cache pour certaines visites avancées sur mobile ou tablette.','Please make sure this IP is the correct one for visiting your site.'=>'Veuillez vous assurer que cette IP est la bonne pour visiter votre site.','the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.'=>'l’adresse IP détectée automatiquement peut ne pas être exacte si on dispose d’un ensemble d’adresses IP sortantes supplémentaires ou si plusieurs adresses IP sont configurées sur le serveur.','You need to turn %s on and finish all WebP generation to get maximum result.'=>'Activer %s et terminer toute la génération de fichiers WebP pour obtenir un résultat.','You need to turn %s on to get maximum result.'=>'Vous devez activer %s pour obtenir un résultat maximal.','This option enables maximum optimization for Guest Mode visitors.'=>'Permet une optimisation maximale pour les internautes en mode Invité.','More'=>'Plus','Remaining Daily Quota'=>'Quota quotidien restant','Successfully Crawled'=>'Bien exploré','Already Cached'=>'Déjà mise en cache','The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.'=>'Le robot explorateur utilisera votre plan de site XML ou votre index de plan de site. Saisissez l’URL complète de votre plan de site ici.','Optional when API token used.'=>'Facultatif en cas d’utilisation d’un jeton d’API.','Recommended to generate the token from Cloudflare API token template "WordPress".'=>'Recommandé pour générer le jeton à partir du modèle de jeton de l’API Cloudflare « WordPress ».','Global API Key / API Token'=>'Clé/jeton d’API global','NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.'=>'Note : les CDN QUIC.cloud et Cloudflare n’utilisent pas de CDN mapping. Si vous utilisez uniquement QUIC.cloud ou Cloudflare, laissez ce réglage %s.','Use external object cache functionality.'=>'Utiliser la fonction de cache d’objet externe.','Serve a separate cache copy for mobile visitors.'=>'Servir une copie de cache séparée sur mobile.','By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.'=>'Par défaut, les pages Mon compte, Paiement et Commande sont automatiquement exclues de la mise en cache. Une mauvaise configuration des associations de pages dans les réglages WooCommerce peut entraîner l’exclusion erronée de certaines pages.','Cleaned all Unique CSS files.'=>'Nettoyer tous les fichiers CSS uniques.','Add Missing Sizes'=>'Ajouter les dimensions manquantes','Optimize for Guests Only'=>'Optimiser pour les visiteurs uniquement','Guest Mode JS Excludes'=>'JS de mode invité exclu','CCSS Per URL'=>'CCSS par URL','HTML Lazy Load Selectors'=>'Sélecteurs HTML de chargement différé','UCSS URI Excludes'=>'URL UCSS exclus','UCSS Inline'=>'UCSS en ligne','Guest Optimization'=>'Optimisation visiteur','Guest Mode'=>'Mode visiteur','Online node needs to be redetected.'=>'Le nœud en ligne doit être redétecté.','The current server is under heavy load.'=>'Le serveur actuel est soumis à une charge importante.','Please see %s for more details.'=>'Veuillez voir %s pour plus de détails.','This setting will regenerate crawler list and clear the disabled list!'=>'Ce réglage régénérera la liste des robots d’exploration et effacera la liste de désactivation !','%1$s %2$s files left in queue'=>'Il reste %1$s %2$s fichiers dans la file d’attente','Crawler disabled list is cleared! All crawlers are set to active! '=>'La liste des robots d’exploration désactivés est effacée ! Tous les robots d’exploration sont activés ! ','Redetected node'=>'Nœud redétecté','No available Cloud Node after checked server load.'=>'Aucun nœud Cloud disponible après vérification de la charge du serveur.','Localization Files'=>'Fichiers de localisation','Purged!'=>'Purgé !','Resources listed here will be copied and replaced with local URLs.'=>'Les ressources des domaines énumérés ici seront copiées et remplacées par des URL locales.','Use latest GitHub Master commit'=>'Utiliser le dernier commit GitHub maître','Use latest GitHub Dev commit'=>'Utiliser le dernier commit GitHub de développement','No valid sitemap parsed for crawler.'=>'Aucun plan de site valide n’a été analysé par le robot explorateur.','CSS Combine External and Inline'=>'Combiner les CSS externes et en ligne','Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.'=>'Inclure les CSS externes et les CSS en ligne dans le fichier combiné lorsque %1$s est également activé. Cette option aide à maintenir les priorités d’exécution du JS, ce qui devrait minimiser les erreurs potentielles causées par CSS Combine.','Minify CSS files and inline CSS code.'=>'Minimiser les fichiers CSS et le code CSS en ligne.','Predefined list will also be combined w/ the above settings'=>'La liste prédéfinie sera également combinée avec les réglages ci-dessus.','Localization'=>'Localisation','Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.'=>'Inclure les JS externes et les JS en ligne dans le fichier combiné lorsque %1$s est également activé. Cette option aide à maintenir les priorités d’exécution du JS, ce qui devrait minimiser les erreurs potentielles causées par JS Combine.','Combine all local JS files into a single file.'=>'Combiner tous les fichiers JS locaux en un seul fichier.','Listed JS files or inline JS code will not be deferred or delayed.'=>'Les fichiers JS ou le code JS en ligne listés ne seront pas différés.','JS Combine External and Inline'=>'Combiner les JS externes et en ligne','Dismiss'=>'Ignorer','The latest data file is'=>'Le dernier fichier de données est','The list will be merged with the predefined nonces in your local data file.'=>'La liste sera fusionnée avec les nonces prédéfinis dans votre fichier de données local.','Combine CSS files and inline CSS code.'=>'Combinez les fichiers CSS et le code CSS en ligne.','Minify JS files and inline JS codes.'=>'Minifier les fichiers JS et les codes JS en ligne.','Listed JS files or inline JS code will not be minified or combined.'=>'Les fichiers JS listés ou le code JS en ligne ne seront pas minifiés ou combinés.','Listed CSS files or inline CSS code will not be minified or combined.'=>'Les fichiers CSS listés ou le code CSS en ligne ne seront pas minifiés ou combinés.','This value is overwritten by the Network setting.'=>'Cette valeur est surchargée par le réglage du réseau.','LQIP Excludes'=>'LQIP exclut','These images will not generate LQIP.'=>'Ces images ne génèrent pas de LQIP.','Are you sure you want to reset all settings back to the default settings?'=>'Confirmez-vous vouloir réinitialiser tous les réglages aux valeurs par défaut ?','This option will remove all %s tags from HTML.'=>'Cette option retirera toutes les balises %s du HTML.','Are you sure you want to clear all cloud nodes?'=>'Confirmez-vous vouloir vider tous les nœuds du cloud ?','Remove Noscript Tags'=>'Retirer les balises Noscript','The site is not registered on QUIC.cloud.'=>'Le site n’est pas enregistré sur QUIC.cloud.','Click here to set.'=>'Cliquez ici pour configurer.','Localize Resources'=>'Localiser les ressources','Setting Up Custom Headers'=>'Paramétrage des en-têtes personnalisés','This will delete all localized resources'=>'Cela supprimera toutes les ressources localisées','Localized Resources'=>'Ressources localisées','Comments are supported. Start a line with a %s to turn it into a comment line.'=>'Les commentaires sont pris en charge. Commencez une ligne avec un %s pour la transformer en ligne de commentaire.','HTTPS sources only.'=>'Sources HTTPS uniquement.','Localize external resources.'=>'Localiser les ressources externes.','Localization Settings'=>'Réglages de localisation','Use QUIC.cloud online service to generate unique CSS.'=>'Utilisez le service en ligne QUIC.cloud pour générer des CSS uniques.','Generate UCSS'=>'Générer l’UCSS','Unique CSS'=>'CSS unique','Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches'=>'Purger les entrées de cache créées par cette extension à l’exception des caches CSS et LQIP critiques','LiteSpeed Report'=>'Rapport LiteSpeed','Image Thumbnail Group Sizes'=>'Dimensions de groupe de la miniature d’image','Ignore certain query strings when caching. (LSWS %s required)'=>'Ignorez certaines chaînes de requête lors de la mise en cache. (%s LSWS nécessaire)','For URLs with wildcards, there may be a delay in initiating scheduled purge.'=>'Pour les URL avec des jokers, il peut y avoir un retard dans le lancement de la purge planifiée.','By design, this option may serve stale content. Do not enable this option, if that is not OK with you.'=>'Par conception, cette option peut servir du contenu périmé. N’activez pas cette option si cela ne vous convient pas.','Serve Stale'=>'Servir le périmé','This value is overwritten by the primary site setting.'=>'Cette valeur est surchargée par le réglage du site principal.','One or more pulled images does not match with the notified image md5'=>'Une ou plusieurs images tirées ne correspondent pas à l’image md5 notifiée','Some optimized image file(s) has expired and was cleared.'=>'Certains fichiers d’image optimisés ont expiré et ont été effacés.','You have too many requested images, please try again in a few minutes.'=>'Vous avez trop de demandes d’images, veuillez réessayer dans quelques minutes.','Pulled WebP image md5 does not match the notified WebP image md5.'=>'L’image WebP md5 tirée ne correspond pas à l’image WebP md5 notifiée.','Read LiteSpeed Documentation'=>'Lire la documentation LiteSpeed','There is proceeding queue not pulled yet. Queue info: %s.'=>'Il y a une file d’attente qui n’est pas encore tirée. Informations sur la file d’attente : %s.','Specify how long, in seconds, Gravatar files are cached.'=>'Spécifiez combien de temps, en secondes, les fichiers Gravatar sont mis en cache.','Cleared %1$s invalid images.'=>'Effacé %1$s images non valides.','LiteSpeed Cache General Settings'=>'Réglages généraux de LiteSpeed Cache','This will delete all cached Gravatar files'=>'Cela supprimera tous les fichiers Gravatar mis en cache','Prevent any debug log of listed pages.'=>'Empêcher tout journal de débogage des pages listées.','Only log listed pages.'=>'Journaliser uniquement les pages répertoriées.','Specify the maximum size of the log file.'=>'Précisez la taille maximale du fichier journal.','To prevent filling up the disk, this setting should be OFF when everything is working.'=>'Pour éviter de remplir le disque, ce réglage doit être désactivé lorsque tout fonctionne.','Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.'=>'Cliquez sur le bouton %s pour stopper le test bêta et revenir à la version actuelle depuis le répertoire des extensions WordPress.','Use latest WordPress release version'=>'Utiliser la dernière version de WordPress','OR'=>'Ou','Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.'=>'Utilisez cette section pour permuter les versions d’extension. Pour tester la version bêta d\'un commit GitHub, saisissez l’URL du commit dans le champ ci-dessous.','Reset Settings'=>'Réinitialiser les réglages','LiteSpeed Cache Toolbox'=>'Boîte à outils LiteSpeed Cache','Beta Test'=>'Bêta test','Log View'=>'Vue du journal','Debug Settings'=>'Réglages de débogage','Turn ON to control heartbeat in backend editor.'=>'Activez pour contrôler les battements de cœur dans l\'éditeur de l’interface d’administration.','Turn ON to control heartbeat on backend.'=>'Activez pour contrôler les battements de cœur dans l’interface d’administration.','Set to %1$s to forbid heartbeat on %2$s.'=>'Réglez sur %1$s pour interdire les battements de cœur sur %2$s.','WordPress valid interval is %s seconds.'=>'L’intervalle valide de WordPress est de %s secondes.','Specify the %s heartbeat interval in seconds.'=>'Précisez l’intervalle de battement de cœur de %s en secondes.','Turn ON to control heartbeat on frontend.'=>'Activez pour contrôler les battements de cœur sur l’interface publique.','Disable WordPress interval heartbeat to reduce server load.'=>'Désactivez l’intervalle de battement de cœur de WordPress pour réduire la charge du serveur.','Heartbeat Control'=>'Contrôle des battements de cœur','provide more information here to assist the LiteSpeed team with debugging.'=>'fournir plus d\'informations ici pour aider l’équipe LiteSpeed dans le débogage.','Optional'=>'Facultatif','Generate Link for Current User'=>'Générer un lien pour l’utilisateur actuel','Passwordless Link'=>'Lien de connexion sans mot de passe','System Information'=>'Informations système','Go to plugins list'=>'Aller à la liste des extensions','Install DoLogin Security'=>'Installer DoLogin Security','Check my public IP from'=>'Vérifier mon IP publique à partir de','Your server IP'=>'L’adresse IP de votre serveur','Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.'=>'Saisissez l\'adresse IP de ce site pour permettre aux services de cloud d\'appeler directement l’IP au lieu du nom de domaine. Cela permet d’éviter les surcharges des consultations DNS et CDN.','This will enable crawler cron.'=>'Cela permettra le cron du robot explorateur.','Crawler General Settings'=>'Réglages généraux du robot explorateur','Remove from Blocklist'=>'Retirer de la liste de blocage','Empty blocklist'=>'Vider la liste de blocage','Are you sure to delete all existing blocklist items?'=>'Confirmez-vous vouloir supprimer toutes les éléments de liste de blocage existants ?','Blocklisted due to not cacheable'=>'Mis sur liste de blocage car impossible à mettre en cache','Add to Blocklist'=>'Ajouter à la liste de blocage','Operation'=>'Opération','Sitemap Total'=>'Total du plan de site','Sitemap List'=>'Liste du plan du site','Refresh Crawler Map'=>'Actualiser la carte du robot explorateur','Clean Crawler Map'=>'Vider la carte du robot explorateur','Blocklist'=>'Liste de blocage','Map'=>'Carte','Summary'=>'Résumé','Cache Miss'=>'Cache manquant','Cache Hit'=>'Occurrences de cache','Waiting to be Crawled'=>'En attente d’exploration','Blocklisted'=>'Bloqué','Miss'=>'Manqué','Hit'=>'Occurrences','Waiting'=>'En attente','Running'=>'En cours d’exécution','Use %1$s in %2$s to indicate this cookie has not been set.'=>'Utilisez %1$s dans %2$s pour indiquer que ce cookie n’a pas été défini.','Add new cookie to simulate'=>'Ajouter un nouveau cookie pour simuler','Remove cookie simulation'=>'Supprimer la simulation de cookie','Htaccess rule is: %s'=>'La règle htaccess est : %s','More settings available under %s menu'=>'D’autres réglages sont disponibles dans le menu %s','The amount of time, in seconds, that files will be stored in browser cache before expiring.'=>'La durée, en secondes, pendant laquelle les fichiers seront stockés dans le cache du navigateur avant d’expirer.','OpenLiteSpeed users please check this'=>'Utilisateurs d’OpenLiteSpeed, veuillez vérifier ceci','Browser Cache Settings'=>'Réglages du cache navigateur','Paths containing these strings will be forced to public cached regardless of no-cacheable settings.'=>'Les chemins contenant ces chaînes de caractères seront forcés à être mis en cache public, indépendamment des réglages qui ne peuvent pas être mis en cache.','With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.'=>'Si le CDN QUIC.cloud est activé, vous pouvez toujours voir les en-têtes de cache de votre serveur local.','An optional second parameter may be used to specify cache control. Use a space to separate'=>'Un second réglage facultatif peut être utilisé pour spécifier le contrôle du cache. Utilisez un espace pour séparer','The above nonces will be converted to ESI automatically.'=>'Les nonces ci-dessus seront automatiquement convertis en ESI.','Browser'=>'Navigateur','Object'=>'Objet','Default port for %1$s is %2$s.'=>'Le port par défaut pour %1$s est %2$s.','Object Cache Settings'=>'Réglages du cache objet','Specify an HTTP status code and the number of seconds to cache that page, separated by a space.'=>'Spécifiez un code d’état HTTP et le nombre de secondes pour mettre cette page en cache, séparés par un espace.','Specify how long, in seconds, the front page is cached.'=>'Spécifiez combien de temps, en secondes, la page d’accueil est mise en cache.','TTL'=>'TTL','If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.'=>'Si activé, une copie périmée de la page en cache sera affichée au visiteur jusqu’à ce qu’une nouvelle copie de cache soit disponible. Réduit la charge du serveur pour les visites suivantes. Si désactivé, la page sera générée dynamiquement pendant que le visiteur attend.','Swap'=>'Swap','Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.'=>'Définissez ceci pour ajouter %1$s à toutes les règles %2$s avant de mettre en cache le CSS pour spécifier comment les polices doivent être affichées lors du téléchargement.','Avatar list in queue waiting for update'=>'Liste des avatars en attente de mise à jour','Refresh Gravatar cache by cron.'=>'Actualiser le cache  Gravatar par cron.','Accelerates the speed by caching Gravatar (Globally Recognized Avatars).'=>'Accélère la vitesse en mettant en cache Gravatar (avatars mondialement reconnus).','Store Gravatar locally.'=>'Stockez Gravatar localement.','Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.'=>'Échec de la création de la table Avatar. Veuillez suivre les conseils <a %s>de création de tableau du wiki LiteSpeed</a> pour terminer la configuration.','LQIP requests will not be sent for images where both width and height are smaller than these dimensions.'=>'Les requêtes LQIP ne seront pas envoyées pour les images dont la largeur et la hauteur sont inférieures à ces dimensions.','pixels'=>'pixels','Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.'=>'Un plus grand nombre générera une meilleure qualité de résolution de remplacement, mais donnera lieu à des fichiers plus volumineux qui augmenteront la taille des pages et consommeront plus de points.','Specify the quality when generating LQIP.'=>'Précisez la qualité lors de la génération du LQIP.','Keep this off to use plain color placeholders.'=>'N’utilisez pas cette option pour utiliser des textes indicatifs en couleur.','Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.'=>'Utilisez le service de génération de LQIP (Low Quality Image Placeholder) de QUIC.cloud pour une prévisualisation responsive des images pendant le chargement.','Specify the responsive placeholder SVG color.'=>'Précisez la couleur SVG du texte indicatif responsive.','Variables %s will be replaced with the configured background color.'=>'Les variables %s seront remplacées par la couleur d’arrière-plan configurée.','Variables %s will be replaced with the corresponding image properties.'=>'Les variables %s seront remplacées par les propriétés de l’image correspondante.','It will be converted to a base64 SVG placeholder on-the-fly.'=>'Ce sera converti à la volée en un texte indicatif base64 SVG.','Specify an SVG to be used as a placeholder when generating locally.'=>'Spécifiez un SVG à utiliser comme texte indicatif lors de la génération en local.','Prevent any lazy load of listed pages.'=>'Empêcher tout chargement différé des pages listées.','Iframes having these parent class names will not be lazy loaded.'=>'Les iframes ayant ces noms de classe parent ne seront pas chargées en différé.','Iframes containing these class names will not be lazy loaded.'=>'Les iframes contenant ces noms de classe ne seront pas chargées en différé.','Images having these parent class names will not be lazy loaded.'=>'Les images ayant ces noms de classe de parent ne seront pas chargées en différé.','LiteSpeed Cache Page Optimization'=>'Optimisation des pages de LiteSpeed Cache','Media Excludes'=>'Médias exclus','CSS Settings'=>'Réglages CSS','%s is recommended.'=>'%s est recommandé.','Deferred'=>'Différé','Default'=>'Par défaut','This can improve the page loading speed.'=>'Cela peut améliorer la vitesse de chargement des pages.','Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.'=>'Activer automatiquement le pré-lancement des DNS pour les URL dans le document, y compris les images, CSS, JavaScript, etc.','New developer version %s is available now.'=>'La nouvelle version développeur %s est disponible dès maintenant.','New Developer Version Available!'=>'Nouvelle version développeur disponible !','Dismiss this notice'=>'Ignorer cette notification','Tweet this'=>'Tweeter ceci','Tweet preview'=>'Aperçu du tweet','Learn more'=>'Apprendre plus','You just unlocked a promotion from QUIC.cloud!'=>'Vous venez de débloquer une promotion de QUIC.cloud !','The image compression quality setting of WordPress out of 100.'=>'Le réglage de la qualité de compression d’image de WordPress sur 100.','Image Optimization Settings'=>'Réglages d’optimisation des images','Are you sure to destroy all optimized images?'=>'Confirmez-vous vouloir détruire toutes les images optimisées ?','Use Optimized Files'=>'Utiliser les fichiers optimisés','Switch back to using optimized images on your site'=>'Revenir à l’utilisation d’images optimisées sur votre site','Use Original Files'=>'Utiliser les fichiers originaux','Use original images (unoptimized) on your site'=>'Utiliser des images originales (non optimisées) sur votre site','You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.'=>'Vous pouvez rapidement passer de l’utilisation de fichiers d’images originaux (versions non optimisées) à celle de fichiers d’images optimisés. Cela affectera toutes les images de votre site web, qu’il s’agisse de la version normale ou de la version webp si disponible.','Optimization Tools'=>'Outils d’optimisation','Rescan New Thumbnails'=>'Scanner à nouveau les nouvelles miniatures','Congratulations, all gathered!'=>'Félicitations, tous recueillies !','What is an image group?'=>'Qu’est-ce qu’un groupe d’images ?','Delete all backups of the original images'=>'Supprimer toutes les sauvegardes des images originales','Calculate Backups Disk Space'=>'Calculer l’espace disque de sauvegarde','Optimization Status'=>'État de l’optimisation','Current limit is'=>'La limite actuelle est','To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.'=>'Afin de s’assurer que notre serveur peut communiquer avec le vôtre sans problème et que tout fonctionne bien, pour les quelques premières demandes, le nombre de groupes d’images autorisés dans une seule demande est limité.','You can request a maximum of %s images at once.'=>'Vous pouvez demander un maximum de %s images à la fois.','Optimize images with our QUIC.cloud server'=>'Optimiser les images avec notre serveur QUIC.cloud','Revisions newer than this many days will be kept when cleaning revisions.'=>'Les révisions plus récentes que ce nombre de jours seront conservées lors du nettoyage des révisions.','Day(s)'=>'Jour(s)','Specify the number of most recent revisions to keep when cleaning revisions.'=>'Précisez le nombre de révisions les plus récentes à conserver lors du nettoyage des révisions.','LiteSpeed Cache Database Optimization'=>'Optimisation de la base de données LiteSpeed Cache','DB Optimization Settings'=>'Réglages d’optimisation de la BDD','Option Name'=>'Nom de l’option','Database Summary'=>'Résumé de la base de données','We are good. No table uses MyISAM engine.'=>'Nous sommes bons. Aucune table n’utilise le moteur MyISAM.','Convert to InnoDB'=>'Convertir en InnoDB','Tool'=>'Outil','Engine'=>'Moteur','Table'=>'Tableau','Database Table Engine Converter'=>'Convertisseur de moteur de table de base de données','Clean revisions older than %1$s day(s), excluding %2$s latest revisions'=>'Révisions propres plus anciennes que %1$s jour(s), à l’exclusion des %2$s dernières révisions','Currently active crawler'=>'Robot explorateur actuellement actif','Crawler(s)'=>'Robot(s) explorateur(s)','Crawler Status'=>'État du robot explorateur','Force cron'=>'Forcer le cron','Requests in queue'=>'Demandes en file d’attente','Time to execute previous request: %s'=>'Délai d’exécution de la demande précédente : %s','Private Cache'=>'Cache privé','Public Cache'=>'Cache public','Cache Status'=>'État du cache','Last Pull'=>'Dernier tirage','Image Optimization Summary'=>'Résumé d’optimisation des images','Refresh page score'=>'Actualiser le score de la page','Are you sure you want to redetect the closest cloud server for this service?'=>'Confirmez-vous vouloir détecter à nouveau le serveur cloud le plus proche pour ce service ?','Current closest Cloud server is %s. Click to redetect.'=>'Le serveur Cloud le plus proche est actuellement %s. Cliquez pour le détecter à nouveau.','Refresh page load time'=>'Actualiser le temps de chargement des pages','Go to QUIC.cloud dashboard'=>'Aller au tableau de bord QUIC.cloud','Low Quality Image Placeholder'=>'Texte indicatif d’image de faible qualité','Sync data from Cloud'=>'Synchroniser les données depuis le Cloud','QUIC.cloud Service Usage Statistics'=>'Statistiques sur l’utilisation des services QUIC.cloud','Total images optimized in this month'=>'Total des images optimisées ce mois-ci','Total Usage'=>'Utilisation totale','Pay as You Go Usage Statistics'=>'Statistiques sur l’utilisation du paiement au fur et à mesure','PAYG Balance'=>'Solde du paiement au fur et à mesure','Pay as You Go'=>'Paiement au fur et à mesure','Usage'=>'Utilisation','Fast Queue Usage'=>'Utilisation de la file d’attente rapide','CDN Bandwidth'=>'Bande passante de CDN','LiteSpeed Cache Dashboard'=>'Tableau de bord LiteSpeed Cache','Network Dashboard'=>'Tableau de bord du réseau','No cloud services currently in use'=>'Aucun service cloud n’est actuellement utilisé','Click to clear all nodes for further redetection.'=>'Cliquez pour effacer tous les nœuds pour une nouvelle détection.','Current Cloud Nodes in Service'=>'Nœuds cloud actuels en service','Link to QUIC.cloud'=>'Lier à QUIC.cloud','General Settings'=>'Réglages généraux','Specify which HTML element attributes will be replaced with CDN Mapping.'=>'Spécifiez quels attributs des éléments HTML seront remplacés avec CDN Mapping.','Add new CDN URL'=>'Ajouter une nouvelle URL de CDN','Remove CDN URL'=>'Supprimer l’URL du CDN','To enable the following functionality, turn ON Cloudflare API in CDN Settings.'=>'Pour activer la fonctionnalité suivante, activez l’API Cloudflare dans les réglages CDN.','QUIC.cloud'=>'QUIC.cloud','WooCommerce Settings'=>'Réglages WooCommerce','LQIP Cache'=>'Cache LQIP','Options saved.'=>'Options enregistrées.','Removed backups successfully.'=>'Sauvegardes bien supprimées.','Calculated backups successfully.'=>'Sauvegardes bien calculées.','Rescanned %d images successfully.'=>'%d images ont bien été réanalysées.','Rescanned successfully.'=>'Bien été réanalysées.','Destroy all optimization data successfully.'=>'Bien détruire toutes les données d’optimisation.','Cleaned up unfinished data successfully.'=>'Bien nettoyé les données non finalisées.','Pull Cron is running'=>'Le cron du tirage est en cours d’exécution','No valid image found by Cloud server in the current request.'=>'Aucune image valide trouvée par le serveur cloud dans la demande actuelle.','No valid image found in the current request.'=>'Aucune image valide trouvée dans la demande actuelle.','Pushed %1$s to Cloud server, accepted %2$s.'=>'%1$s poussées vers le serveur Cloud, %2$s acceptées.','Revisions Max Age'=>'Âge maximal des révisions','Revisions Max Number'=>'Nombre maximum de révisions','Debug URI Excludes'=>'L’URL de débogage exclut','Debug URI Includes'=>'L’URL de débogage comprend','HTML Attribute To Replace'=>'Attribut HTML à remplacer','Use CDN Mapping'=>'Utiliser le mappage CDN','QUIC.cloud CDN:'=>'CDN QUIC.cloud :','Editor Heartbeat TTL'=>'Éditeur Heartbeat TTL','Editor Heartbeat'=>'Éditeur Heartbeat','Backend Heartbeat TTL'=>'TTL du battement de cœur de l’interface d’administration','Backend Heartbeat Control'=>'Contrôle du battement de cœur de l’interface d’administration','Frontend Heartbeat TTL'=>'TTL du battement de cœur de l’interface publique','Frontend Heartbeat Control'=>'Contrôle du battement de cœur de l’interface publique','Backend .htaccess Path'=>'Chemin du .htaccess de l’interface d’administration','Frontend .htaccess Path'=>'Chemin .htaccess sur interface publique','ESI Nonces'=>'Nonces d’ESI','WordPress Image Quality Control'=>'Contrôle de la qualité des images WordPress','Auto Request Cron'=>'Requête automatique Cron','Generate LQIP In Background'=>'Générer LQIP en arrière-plan','LQIP Minimum Dimensions'=>'Dimensions minimales de LQIP','LQIP Quality'=>'Qualité de LQIP','LQIP Cloud Generator'=>'Générateur de cloud de LQIP','Responsive Placeholder SVG'=>'SVG de l’espace indicatif responsive','Responsive Placeholder Color'=>'Couleur de l’espace indicatif responsive','Basic Image Placeholder'=>'Image générique pour l’image de base','Lazy Load URI Excludes'=>'L’URL de chargement différé exclut','Lazy Load Iframe Parent Class Name Excludes'=>'Nom de classe d’iframe parent en chargement différé exclut','Lazy Load Iframe Class Name Excludes'=>'Nom de classe d’iframe en chargement différé exclut','Lazy Load Image Parent Class Name Excludes'=>'Nom de classe d’image en chargement différé exclut','Gravatar Cache TTL'=>'TTL du cache Gravatar','Gravatar Cache Cron'=>'Cron du cache Gravatar','Gravatar Cache'=>'Cache Gravatar','DNS Prefetch Control'=>'Contrôle du préfixe DNS','Font Display Optimization'=>'Optimisation de l’affichage des polices','Force Public Cache URIs'=>'Forcer les URL du cache public','Notifications'=>'Notifications','Default HTTP Status Code Page TTL'=>'Durée de vie de la page de code d’état HTTP par défaut','Default REST TTL'=>'Durée de vie REST par défaut','Enable Cache'=>'Activer la mise en cache','Server IP'=>'IP du serveur','Images not requested'=>'Images non demandées','Sync credit allowance with Cloud Server successfully.'=>'Synchronisation de l’allocation de crédit avec le serveur cloud bien effectuée.','Failed to communicate with QUIC.cloud server'=>'Échec de la communication avec le serveur QUIC.cloud','Good news from QUIC.cloud server'=>'Bonnes nouvelles du serveur QUIC.cloud','Message from QUIC.cloud server'=>'Message du serveur QUIC.cloud','Please try after %1$s for service %2$s.'=>'Veuillez essayer après %1$s pour le service %2$s.','No available Cloud Node.'=>'Aucun nœud de cloud disponible.','Cloud Error'=>'Erreur de cloud','The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.'=>'La base de données a été mise à niveau en arrière-plan depuis %s. Ce message disparaîtra une fois la mise à niveau terminée.','Restore from backup'=>'Restaurer depuis une sauvegarde','No backup of unoptimized WebP file exists.'=>'Aucune sauvegarde du fichier WebP non optimisé n’existe.','WebP file reduced by %1$s (%2$s)'=>'Fichier WebP réduit de %1$s (%2$s)','Currently using original (unoptimized) version of WebP file.'=>'Utilisation actuelle de la version originale (non optimisée) du fichier WebP.','Currently using optimized version of WebP file.'=>'Utilisation actuelle d’une version optimisée du fichier WebP.','Orig'=>'Originale','(no savings)'=>'(aucun enregistrement)','Orig %s'=>'%s originaux','Congratulation! Your file was already optimized'=>'Félicitations ! Votre fichier a déjà été optimisé','No backup of original file exists.'=>'Aucune sauvegarde du fichier original n’existe.','Using optimized version of file. '=>'Utilisation de la version optimisée du fichier. ','Orig saved %s'=>'Orig a enregistré %s','Original file reduced by %1$s (%2$s)'=>'Fichier original réduit par %1$s (%2$s)','Click to switch to optimized version.'=>'Cliquer pour passer à la version optimisée.','Currently using original (unoptimized) version of file.'=>'Utilise actuellement la version originale (non optimale) du fichier.','(non-optm)'=>'(non-optimisée)','Click to switch to original (unoptimized) version.'=>'Cliquez pour passer à la version originale (non optimisée).','Currently using optimized version of file.'=>'Utilisation actuelle d’une version optimisée du fichier.','(optm)'=>'(optimisée)','LQIP image preview for size %s'=>'Aperçu de l’image LQIP pour la taille %s','LQIP'=>'LQIP','Previously existed in blocklist'=>'Existait auparavant dans la liste de blocage','Manually added to blocklist'=>'Ajouté manuellement à la liste de blocage','Mobile Agent Rules'=>'Règles des agents mobiles','Sitemap created successfully: %d items'=>'Création du plan du site réussie : %d éléments','Sitemap cleaned successfully'=>'Plan de site bien nettoyé','Invalid IP'=>'IP non valide','Value range'=>'Plage de valeur','Smaller than'=>'Plus petit que','Larger than'=>'Plus grand que','Zero, or'=>'Zéro, ou','Maximum value'=>'Valeur maximale','Minimum value'=>'Valeur minimale','Path must end with %s'=>'Le chemin doit finir par %s','Invalid rewrite rule'=>'Règle de réécriture non valide','Currently set to %s'=>'Actuellement défini à %s','Toolbox'=>'Boîte à outils','Database'=>'Base de données','Page Optimization'=>'Optimisation de page','Dashboard'=>'Tableau de bord','Converted to InnoDB successfully.'=>'Conversion en InnoDB réussie.','Cleaned all Gravatar files.'=>'Tous les fichiers Gravatar sont nettoyés.','Cleaned all LQIP files.'=>'Tous les fichiers LQIP sont nettoyés.','Unknown error'=>'Erreur inconnue','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: '=>'La validation du rappel vers votre domaine a échoué. Veuillez vous assurer qu’aucun pare-feu ne bloque nos serveurs. Code de réponse : ','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.'=>'La validation du rappel vers votre domaine a échoué. Veuillez vous assurer qu’aucun pare-feu ne bloque nos serveurs.','The callback validation to your domain failed due to hash mismatch.'=>'La validation du rappel vers le domaine a échouée en raison d’une incompatibilité de hachage.','Your application is waiting for approval.'=>'Votre application est en attente d’approbation.','Previous request too recent. Please try again after %s.'=>'Requête précédente trop récente. Réessayer après %s.','Previous request too recent. Please try again later.'=>'Requête précédente trop récente. Réessayer plus tard.','Could not find %1$s in %2$s.'=>'Impossible de trouver %1$s dans %2$s.','Credits are not enough to proceed the current request.'=>'Crédits insuffisants pour répondre à votre demande.','The image list is empty.'=>'La liste d’images est vide.','Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.'=>'Activez cette option pour afficher automatiquement les dernières nouvelles, y compris les correctifs, les nouvelles versions, les versions bêta disponibles et les promotions.','To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.'=>'Pour accorder un accès wp-admin à l’équipe de support de LiteSpeed, veuillez générer un lien sans mot de passe pour l’utilisateur actuellement connecté qui sera envoyé avec le rapport.','Generated links may be managed under %sSettings%s.'=>'Les liens générés peuvent être gérés dans %sRéglages%s.','Please do NOT share the above passwordless link with anyone.'=>'Veuillez ne pas partager le lien sans mot de passe ci-dessus avec qui que ce soit.','To generate a passwordless link for LiteSpeed Support Team access, you must install %s.'=>'Pour générer un lien sans mot de passe pour un accès à l’équipe de support de LiteSpeed, vous devez installer %s.','Install'=>'Installer','These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.'=>'Ces options sont uniquement disponibles avec LiteSpeed Enterprise Web Server ou QUIC.cloud CDN.','PageSpeed Score'=>'Score PageSpeed','Improved by'=>'Amélioré par','After'=>'Après','Before'=>'Avant','Page Load Time'=>'Temps de chargement de la page','To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.'=>'Pour utiliser les fonctions de mise en cache, vous devez avoir un serveur web LiteSpeed ou utiliser un CDN QUIC.cloud.','Preserve EXIF/XMP data'=>'Conserver les données EXIF/XMP','Try GitHub Version'=>'Essayez la version GitHub','If you turn any of the above settings OFF, please remove the related file types from the %s box.'=>'Si vous désactivez un des réglages ci-dessus, veuillez supprimer les types de fichiers correspondants de la boîte %s.','Both full and partial strings can be used.'=>'Il est possible d’utiliser aussi bien des chaînes complètes que partielles.','Images containing these class names will not be lazy loaded.'=>'Les images contenant ces noms de classes ne seront pas chargées en différé.','Lazy Load Image Class Name Excludes'=>'Le nom de la classe d’image de chargement différé exclut','For example, %1$s defines a TTL of %2$s seconds for %3$s.'=>'Par exemple, %1$s définit un TTL de %2$s secondes pour %3$s.','To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.'=>'Pour définir un TTL personnalisé pour une URL, ajoutez un espace suivi de la valeur TTL à la fin de l’URL.','Maybe Later'=>'Peut-être ultérieurement','Turn On Auto Upgrade'=>'Activer la mise à niveau auto','Upgrade'=>'Mettre à niveau','New release %s is available now.'=>'La nouvelle version %s est maintenant disponible.','New Version Available!'=>'Nouvelle version disponible !','Created with ❤️ by LiteSpeed team.'=>'Créé avec ❤️ par l’équipe LiteSpeed.','Sure I\'d love to review!'=>'Bien sûr que j’adorerais évaluer !','Thank You for Using the LiteSpeed Cache Plugin!'=>'Merci d’utiliser l’extension LiteSpeed Cache !','Upgraded successfully.'=>'Bien mis à niveau.','Failed to upgrade.'=>'Échec de mise à niveau.','Changed setting successfully.'=>'Réglage bien modifié.','ESI sample for developers'=>'Exemple d’ESI pour les développeurs','Replace %1$s with %2$s.'=>'Remplacer %1$s avec %2$s.','You can turn shortcodes into ESI blocks.'=>'Vous pouvez transformer les codes courts en blocs ESI.','WpW: Private Cache vs. Public Cache'=>'WpW : cache privé vs. cache public','Append query string %s to the resources to bypass this action.'=>'Ajoutez des chaînes de requête %s aux ressources pour contourner cette action.','Google reCAPTCHA will be bypassed automatically.'=>'Google reCAPTCHA sera automatiquement contourné.','To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.'=>'Pour explorer un cookie particulier, saisissez son nom et les valeurs que vous souhaitez explorer. Les valeurs doivent être uniques par ligne, et peuvent inclure une ligne vierge. Il y aura un robot explorateur créé par valeur de cookie, par rôle simulé.','Cookie Values'=>'Valeurs de cookie','Cookie Name'=>'Nom de cookie','Cookie Simulation'=>'Simulation de cookie','Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.'=>'Utilisez la bibliothèque Web Font Loader pour charger les polices Google de manière asynchrone tout en laissant les autres CSS intacts.','Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.'=>'Activez cette option pour que LiteSpeed Cache soit mis à jour automatiquement, chaque fois qu’une nouvelle version est diffusée. Si inactif, mettre à jour manuellement comme d’habitude.','Automatically Upgrade'=>'Mettre à jour automatiquement','Your IP'=>'Votre IP','Reset successfully.'=>'Réinitialisation effectuée.','This will reset all settings to default settings.'=>'Cela va réinitialiser tous les réglages à ceux par défaut.','Reset All Settings'=>'Réinitialiser tous les réglages','Separate critical CSS files will be generated for paths containing these strings.'=>'Des fichiers CSS critiques distincts seront générés pour les chemins contenant ces chaînes.','Separate CCSS Cache URIs'=>'Séparer les URL de ca CCSS','For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.'=>'Par exemple, si chaque page du site a un formatage différent, saisissez %s dans la case. Des fichiers CSS critiques distincts seront stockés pour chaque page du site.','List post types where each item of that type should have its own CCSS generated.'=>'Énumérer les types de publication où chaque élément de ce type devrait avoir son propre CCSS généré.','Separate CCSS Cache Post Types'=>'Séparer le cache du CCSS par type de publication','Size list in queue waiting for cron'=>'Liste des tailles dans la file d’attente en attente de cron','If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.'=>'Si défini à %1$s, avant que le texte indicatif ne soit localisé, la configuration %2$s sera utilisée.','Automatically generate LQIP in the background via a cron-based queue.'=>'Générer automatiquement LQIP en arrière-plan via une file d’attente basée sur cron.','This will generate the placeholder with same dimensions as the image if it has the width and height attributes.'=>'Ceci générera le texte indicatif avec les mêmes tailles que l’image si elle a des attributs largeur et hauteur.','Responsive image placeholders can help to reduce layout reshuffle when images are loaded.'=>'Les textes indicatif d’image responsive peuvent aider à réduire le remaniement de la mise en page lorsque les images sont chargées.','Responsive Placeholder'=>'Texte indicatif responsive','This will delete all generated image LQIP placeholder files'=>'Ceci supprimera tous les fichiers indicatif LQIP d’image générés','Please enable LiteSpeed Cache in the plugin settings.'=>'Veuillez activer LiteSpeed Cache dans les réglages de l’extension.','Please enable the LSCache Module at the server level, or ask your hosting provider.'=>'Veuillez activer le module LSCache au niveau du serveur ou demandez à votre hébergeur.','Failed to request via WordPress'=>'Échec de la requête via WordPress','High-performance page caching and site optimization from LiteSpeed'=>'Mise en cache des pages haute performance et optimisation du site à partir de LiteSpeed','Reset the optimized data successfully.'=>'Bien réinitialiser les données optimisées.','Update %s now'=>'Lettre à jour %s maintenant','View %1$s version %2$s details'=>'Voir les détails de la %1$s version %2$s','<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.'=>'<a href="%1$s" %2$s>Voir les détails de la version %3$s</a> ou <a href="%4$s" %5$s target="_blank">mettre à jour maintenant</a>.','Install %s'=>'Installer %s','LSCache caching functions on this page are currently unavailable!'=>'Les fonctions de mise en cache de LSCache sur cette page sont actuellement indisponibles !','%1$s plugin version %2$s required for this action.'=>'Extension %1$s version %2$s nécessaire pour cette action.','We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.'=>'Nous travaillons dur pour améliorer votre expérience de service en ligne. Le service sera indisponible pendant que nous travaillons. Nous nous excusons pour tout inconvénient.','Automatically remove the original image backups after fetching optimized images.'=>'Supprimer automatiquement les sauvegarde d’image après récupération des images optimisées.','Remove Original Backups'=>'Supprimer les sauvegardes d’originales','Automatically request optimization via cron job.'=>'Demander automatiquement l’optimisation via tâche cron.','A backup of each image is saved before it is optimized.'=>'Une sauvegarde de chaque image est enregistrée avant d’être optimisée.','Switched images successfully.'=>'Commutation d’image réussie.','This can improve quality but may result in larger images than lossy compression will.'=>'Cela peut améliorer la qualité, mais peut entraîner des images plus grandes que la compression avec perte.','Optimize images using lossless compression.'=>'Optimiser les images en utilisant la compression sans perte.','Optimize Losslessly'=>'Optimiser sans perte','Optimize images and save backups of the originals in the same folder.'=>'Optimiser les images et enregistrer les sauvegardes des originaux dans le même dossier.','Optimize Original Images'=>'Optimiser les images originales','When this option is turned %s, it will also load Google Fonts asynchronously.'=>'Lorsque cette option est définie à %s, elle chargera également les polices Google de manière asynchrone.','Cleaned all Critical CSS files.'=>'Nettoyé tous les fichiers CSS critiques.','This will inline the asynchronous CSS library to avoid render blocking.'=>'Ceci mettra en ligne la bibliothèque CSS asynchrone pour éviter le blocage du rendu.','Inline CSS Async Lib'=>'Librairie CSS Async en ligne','Run Queue Manually'=>'Exécuter la file d’attente manuellement','URL list in %s queue waiting for cron'=>'Liste d’URL dans la file d’attente de cron','Last requested cost'=>'Dernier coût demandé','Last generated'=>'Dernier généré','If set to %s this is done in the foreground, which may slow down page load.'=>'Si défini sur %s, cela se fait au premier plan, ce qui peut ralentir le chargement de la page.','Automatic generation of critical CSS is in the background via a cron-based queue.'=>'Générer automatiquement des CSS critiques en arrière-plan via une file d’attente à base de cron.','Optimize CSS delivery.'=>'Optimiser la livraison CSS.','This will delete all generated critical CSS files'=>'Cela supprimera tous les fichiers CSS critiques générés','Critical CSS'=>'CSS critique','This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.'=>'Ce site utilise la mise en cache afin de faciliter un temps de réponse plus rapide et une meilleure expérience utilisateur. La mise en cache stocke potentiellement une copie de chaque page web affichée sur ce site. Tous les fichiers de cache sont temporaires et ne sont jamais accessibles à un tiers, sauf si cela est nécessaire pour obtenir le support technique du fournisseur de l’extension de cache. Les fichiers cache expirent selon une planification fixée par l’administrateur du site, mais peuvent facilement être purgés par l’administrateur avant leur expiration naturelle, si nécessaire.','Disabling this may cause WordPress tasks triggered by AJAX to stop working.'=>'Désactiver cela peut entraîner l’arrêt des tâches WordPress déclenchées par AJAX.','right now'=>'tout de suite','just now'=>'juste maintenant','Saved'=>'Enregistré','Last ran'=>'Dernière exécution','You will be unable to Revert Optimization once the backups are deleted!'=>'Vous ne pourrez pas annuler l’optimisation une fois les sauvegardes supprimées !','This is irreversible.'=>'C’est irréversible.','Remove Original Image Backups'=>'Supprimer les sauvegardes de l’image originale','Are you sure you want to remove all image backups?'=>'Confirmez-vous vouloir la suppression de toutes les sauvegardes d’image ?','Total'=>'Total','Files'=>'Fichiers','Last calculated'=>'Dernier calculé','Calculate Original Image Storage'=>'Calculer le stockage des images originales','Storage Optimization'=>'Optimisation du stockage','Use the format %1$s or %2$s (element is optional).'=>'Utilisez le format %1$s ou %2$s (élément est facultatif).','Only attributes listed here will be replaced.'=>'Ne seront remplacés uniquement les attributs listés ici.','Only files within these directories will be pointed to the CDN.'=>'Uniquement les fichiers de ces répertoires seront dirigés vers le CDN.','Included Directories'=>'Répertoires inclus','A Purge All will be executed when WordPress runs these hooks.'=>'Une purge de tout sera exécutée lorsque WordPress exécute ces crochets.','Purge All Hooks'=>'Purger tous les crochets','Purged all caches successfully.'=>'Tous les caches ont bien été purgés.','LSCache'=>'LSCache','Forced cacheable'=>'Mise en cache forcée','Paths containing these strings will be cached regardless of no-cacheable settings.'=>'Les chemins contenant ces chaînes de caractères seront mis en cache sans tenir compte des réglages de non mise en cache.','Force Cache URIs'=>'Forcer la mise en cache des URL','Exclude Settings'=>'Réglages d’exclusion','This will disable LSCache and all optimization features for debug purpose.'=>'Ceci désactivera LSCache et toutes les fonctionnalités d’optimisation à des fins de débogage.','Disable All Features'=>'Désactiver toutes les fonctionnalités','Opcode Cache'=>'Cache Opcode','CSS/JS Cache'=>'Cache CSS/JS','Remove all previous unfinished image optimization requests.'=>'Supprimer toutes les requêtes d’optimisation d’images inachevées.','Clean Up Unfinished Data'=>'Nettoyage des données inachevées','Join Us on Slack'=>'Rejoignez-nous sur Slack','Join the %s community.'=>'Rejoignez la communauté %s.','Want to connect with other LiteSpeed users?'=>'Souhaitez-vous vous connecter avec les autres utilisateurs et utilisatrices de LiteSpeed ?','Your API key / token is used to access %s APIs.'=>'Votre clé/jeton d’API est utilisé pour accéder aux APIS %s.','Your Email address on %s.'=>'Votre adresse de messagerie sur %s.','Use %s API functionality.'=>'Utiliser la fonctionnalité d’API %s.','To randomize CDN hostname, define multiple hostnames for the same resources.'=>'Pour rendre le nom d’hôte CDN aléatoire, définissez plusieurs noms d’hôte pour les mêmes ressources.','Join LiteSpeed Slack community'=>'Rejoindre la communauté Slack LiteSpeed','Visit LSCWP support forum'=>'Visiter le forum de support LSCWP','Images notified to pull'=>'Images notifiées à tirer','What is a group?'=>'Qu’est-ce qu’un groupe ?','%s image'=>'%s image','%s group'=>'%s groupe','%s images'=>'%s images','%s groups'=>'%s groupes','Guest'=>'Hôte','To crawl the site as a logged-in user, enter the user ids to be simulated.'=>'Pour crawler le site comme utilisateur connecté, saisissez les ID utilisateur à simuler.','Role Simulation'=>'Simulation de rôle','running'=>'exécution','Size'=>'Taille','Ended reason'=>'Raison pour laquelle c’est terminé','Last interval'=>'Dernier intervalle','Current crawler started at'=>'Le crawler actuel a démarré le','Run time for previous crawler'=>'Durée d’exécution du précédent robot explorateur','%d seconds'=>'%d secondes','Last complete run time for all crawlers'=>'Durée de dernière exécution complète pour tous les robots explorateurs','Current sitemap crawl started at'=>'Le crawl de plan de site actuel a commencé le','Save transients in database when %1$s is %2$s.'=>'Enregistrer les transients dans la base de données lorsque %1$s est %2$s.','Store Transients'=>'Stocker les transients','If %1$s is %2$s, then %3$s must be populated!'=>'Si %1$s est %2$s, alors %3$s doit être renseigné !','NOTE'=>'Note','Server variable(s) %s available to override this setting.'=>'Variable·s de serveur %s disponible·s pour surpasser ce réglage.','API'=>'API','Imported setting file %s successfully.'=>'Fichier de réglages %s bien importé.','Import failed due to file error.'=>'Échec de l’import du à une erreur fichier.','How to Fix Problems Caused by CSS/JS Optimization.'=>'Comment corriger les problèmes dus à l’optimisation du CSS/JS.','This will generate extra requests to the server, which will increase server load.'=>'Cela va générer des requêtes supplémentaires au serveur, ce qui augmentera la charge du serveur.','When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.'=>'Lorsqu’un visiteur survole un lien de page, précharger cette page. Cela accélérera la visite de ce lien.','Instant Click'=>'Clic instantané','Reset the entire opcode cache'=>'Réinitialiser l’intégralité du cache opcode','This will import settings from a file and override all current LiteSpeed Cache settings.'=>'Cela va importer les réglages via un fichier et remplacer tous les réglages LiteSpeed Cache actuels.','Last imported'=>'Dernier importé','Import'=>'Importer','Import Settings'=>'Importer des réglages','This will export all current LiteSpeed Cache settings and save them as a file.'=>'Cela exportera tous les réglages actuels de LiteSpeed Cache et les enregistrera en tant que fichier.','Last exported'=>'Dernier exporté','Export'=>'Exporter','Export Settings'=>'Exporter les réglages','Import / Export'=>'Importer/exporter','Use keep-alive connections to speed up cache operations.'=>'Utilisez des connexions persistantes pour accélérer les opérations de cache.','Database to be used'=>'Base de données à utiliser','Redis Database ID'=>'ID de base de données Redis','Specify the password used when connecting.'=>'Précisez le mot de passe utilisé pour la connexion.','Password'=>'Mot de passe','Only available when %s is installed.'=>'Uniquement disponible lorsque %s est installé.','Username'=>'Nom d’utilisateur','Your %s Hostname or IP address.'=>'Votre nom d’hébergeur ou adresse IP de %s.','Method'=>'Méthode','Purge all object caches successfully.'=>'Bien purger tous les caches d’objets.','Object cache is not enabled.'=>'Cache d’objet non activé.','Improve wp-admin speed through caching. (May encounter expired data)'=>'Améliorez la vitesse de wp-admin grâce à la mise en cache. (peut rencontrer des données expirées)','Cache WP-Admin'=>'Mettre en cache wp-admin','Persistent Connection'=>'Connexion persistante','Do Not Cache Groups'=>'Ne pas mettre en cache les groupes','Groups cached at the network level.'=>'Groupes mis en cache au niveau du réseau.','Global Groups'=>'Groupes globaux','Connection Test'=>'Test de connexion','%s Extension'=>'Extension %s','Status'=>'État','Default TTL for cached objects.'=>'TTL par défaut pour les objets mis en cache.','Default Object Lifetime'=>'Durée de vie de l’objet par défaut','Port'=>'Port','Host'=>'Hôte','Object Cache'=>'Mise en cache d’objet','Failed'=>'Échouée','Passed'=>'Réussie','Not Available'=>'Non disponible','Purge all the object caches'=>'Purger tous les caches d’objets','Failed to communicate with Cloudflare'=>'Échec de communication avec Cloudflare','Communicated with Cloudflare successfully.'=>'Bien communiqué avec Cloudflare.','No available Cloudflare zone'=>'Aucune zone Cloudflare disponible','Notified Cloudflare to purge all successfully.'=>'Bien notifié Cloudflare de tout purger.','Cloudflare API is set to off.'=>'L’API Cloudflare est définie à inactif.','Notified Cloudflare to set development mode to %s successfully.'=>'Bien notifié Cloudflare de définir le mode développement à %s.','Once saved, it will be matched with the current list and completed automatically.'=>'Une fois enregistré, il sera harmonisé avec la liste actuelle et complété automatiquement.','You can just type part of the domain.'=>'Vous pouvez saisir juste une partie du domaine.','Domain'=>'Domaine','Cloudflare API'=>'API Cloudflare','Purge Everything'=>'Tout purger','Cloudflare Cache'=>'Cache Cloudflare','Development Mode will be turned off automatically after three hours.'=>'Le mode développement sera automatiquement désactivé après trois heures.','Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.'=>'Ignorer temporairement le cache Cloudflare. Cela permet de voir en temps réel les modifications apportées au serveur d’origine.','Development mode will be automatically turned off in %s.'=>'Le mode développement sera automatiquement désactivé dans %s.','Current status is %s.'=>'L’état actuel est %s.','Current status is %1$s since %2$s.'=>'L’état actuel est %1$s depuis %2$s.','Check Status'=>'Vérifier l’état','Turn OFF'=>'Désactiver','Turn ON'=>'Activer','Development Mode'=>'Mode développement','Cloudflare Zone'=>'Zone Cloudflare','Cloudflare Domain'=>'Domaine Cloudflare','Cloudflare'=>'Cloudflare','For example'=>'Par exemple','Prefetching DNS can reduce latency for visitors.'=>'Le pré-chargement des DNS peut réduire la latence pour les visiteurs.','DNS Prefetch'=>'Pré-chargement des DNS','Adding Style to Your Lazy-Loaded Images'=>'Ajout de style à vos images chargées en différé','Default value'=>'Valeur par défaut','Static file type links to be replaced by CDN links.'=>'Liens de type de fichier statique à remplacer par des liens CDN.','Drop Query String'=>'Supprimer la chaîne de requête','Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.'=>'Activez cette option si vous utilisez HTTP et HTTPS sur le même domaine et que vous remarquez des irrégularités de cache.','Improve HTTP/HTTPS Compatibility'=>'Améliorer la compatibilité HTTP/HTTPS','Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.'=>'Supprimer toutes les requêtes/résultats d’optimisation d’image précédentes, annulez les optimisations terminées et supprimer tous les fichiers d’optimisation.','Destroy All Optimization Data'=>'Détruire toutes les données d’optimisation','Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.'=>'Rechercher toute nouvelle taille de miniature d’image non optimisée et renvoyez les requêtes d’optimisation d’image nécessaires.','This will increase the size of optimized files.'=>'Cela augmentera la taille des fichiers optimisés.','Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.'=>'Conserver les données EXIF (copyright, GPS, commentaires, mots clés, etc.) lors de l’optimisation.','Clear Logs'=>'Effacer les journaux',' %s ago'=>'il y a %s','WebP saved %s'=>'WebP économisé %s','If you run into any issues, please refer to the report number in your support message.'=>'Si vous rencontrez des problèmes, veuillez vous reporter au numéro de rapport dans votre message de support.','Last pull initiated by cron at %s.'=>'Dernier tirage initié par cron à %s.','Images will be pulled automatically if the cron job is running.'=>'Les images seront tirées automatiquement si la tâche cron est en cours d’exécution.','Only press the button if the pull cron job is disabled.'=>'N’appuyez sur le bouton que si la tâche cron de tirage est désactivée.','Pull Images'=>'Tirer les images','This process is automatic.'=>'Ce processus est automatique.','Last Request'=>'Dernière requête','Images Pulled'=>'Images tirées','Report'=>'Rapport','Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.'=>'Envoyez ce rapport à LiteSpeed. Référez-vous à ce numéro de rapport lorsque vous publiez sur le forum de support WordPress.','Send to LiteSpeed'=>'Envoyer à LiteSpeed','LiteSpeed Optimization'=>'Optimisation de LiteSpeed','Load Google Fonts Asynchronously'=>'Charger les Google Fonts de manière asynchrone','Browser Cache TTL'=>'TTL du cache navigateur','Learn More'=>'Apprendre plus','Image groups total'=>'Total des groupes d’images','Images optimized and pulled'=>'Images optimisées et tirées','Images requested'=>'Images demandées','Switched to optimized file successfully.'=>'Commuté pour bien optimiser le fichier.','Restored original file successfully.'=>'Fichier original bien restauré.','Enabled WebP file successfully.'=>'Fichier WebP bien activé.','Disabled WebP file successfully.'=>'Fichier WebP bien désactivé.','Significantly improve load time by replacing images with their optimized %s versions.'=>'Améliorez significativement le temps de chargement en remplaçant les images par leurs versions %s optimisées.','Selected roles will be excluded from cache.'=>'Les rôles sélectionnés seront exclus du cache.','Tuning'=>'Personnalisation','Selected roles will be excluded from all optimizations.'=>'Les rôles sélectionnés seront exclus de toutes les optimisations.','Role Excludes'=>'Rôle exclu','Tuning Settings'=>'Réglages de personnalisation','If the tag slug is not found, the tag will be removed from the list on save.'=>'Si l’identifiant d’étiquette n’est pas trouvé, l’étiquette sera retirée de la liste à l’enregistrement.','If the category name is not found, the category will be removed from the list on save.'=>'Si le nom de la catégorie n’est pas trouvé, la catégorie sera retirée de la liste lors de l’enregistrement.','After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.'=>'Une fois que le serveur d’optimisation d’images QUIC.cloud a terminé l’optimisation, il demandera à votre site de tirer les images optimisées.','Send Optimization Request'=>'Envoyer une requête d’optimisation','Image Information'=>'Information d’image','Total Reduction'=>'Réduction totale','Optimization Summary'=>'Résumé d’optimisation','LiteSpeed Cache Image Optimization'=>'Optimisation d’image LiteSpeed Cache','Image Optimization'=>'Optimisation d’image','For example, %s can be used for a transparent placeholder.'=>'Par exemple, %s peut être utilisé pour un texte indicatif transparent.','By default a gray image placeholder %s will be used.'=>'Par défaut une image indicative grise %s sera utilisée.','This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.'=>'Cela peut être défini dans %2$s comme utilisant la constante %1$s, en prenant ce réglage en priorité.','Specify a base64 image to be used as a simple placeholder while images finish loading.'=>'Précisez une image base64 à utiliser comme indicative pendant que les autres images terminent de charger.','Elements with attribute %s in html code will be excluded.'=>'Les éléments avec l’attribut %s dans le code html seront exclus.','Filter %s is supported.'=>'Le filtre %s est supporté.','Listed images will not be lazy loaded.'=>'Les images listées ne seront pas chargées lentement.','Lazy Load Image Excludes'=>'Exclut l’image du chargement lent','No optimization'=>'Aucune optimisation','Prevent any optimization of listed pages.'=>'Empêche toute optimisation des pages listées.','URI Excludes'=>'URI exclut','Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.'=>'Stopper le chargement d’emoji WordPress.org. Les emojis par défaut du navigateur seront affichés à la place.','Both full URLs and partial strings can be used.'=>'À la fois les URL complètes et les chaînes partielles peuvent être utilisées.','Load iframes only when they enter the viewport.'=>'Chargez les iframes uniquement lorsqu’elles entrent dans la fenêtre d’affichage.','Lazy Load Iframes'=>'Chargement différé des iframes','This can improve page loading time by reducing initial HTTP requests.'=>'Cela peut améliorer le temps de chargement de la page en réduisant les requêtes HTTP initiales.','Load images only when they enter the viewport.'=>'Charger les images uniquement lorsqu’elles entrent dans la fenêtre d’affichage.','Lazy Load Images'=>'Chargement différé des images','Media Settings'=>'Réglages des médias','Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.'=>'Wildcard %1$s pris en charge (correspond à zéro ou plusieurs caractères). Par exemple, pour faire correspondre %2$s et %3$s, utilisez %4$s.','To match the beginning, add %s to the beginning of the item.'=>'Pour correspondre au début, ajoutez %s au début de l’élément.','Maybe later'=>'Peut-être plus tard','I\'ve already left a review'=>'J’ai déjà laissé une évaluation','Welcome to LiteSpeed'=>'Bienvenue chez LiteSpeed','Remove WordPress Emoji'=>'Retirer les emoji WordPress','More settings'=>'Plus de réglages','Private cache'=>'Cache privé','Non cacheable'=>'Impossible à mettre en cache','Mark this page as '=>'Marquer cette page comme','Purge this page'=>'Purger cette page','Load JS Deferred'=>'Charger le JS en diféré','Specify critical CSS rules for above-the-fold content when enabling %s.'=>'Spécifiez les règles CSS critiques pour le contenu au-dessus du pli lorsque vous activez %s.','Critical CSS Rules'=>'Règles CSS critiques','Load CSS Asynchronously'=>'Charger le CSS de manière asynchrone','Prevent Google Fonts from loading on all pages.'=>'Empêcher les polices Google de charger sur toutes vos pages.','Remove Google Fonts'=>'Retirer les polices Google','This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.'=>'Cela peut améliorer votre score de vitesse dans des services tels que Pingdom, GTmetrix et PageSpeed.','Remove query strings from internal static resources.'=>'Retirer les chaines de requête des ressources statiques internes.','Remove Query Strings'=>'Retirer les chaînes de requête','user agents'=>'agents utilisateur','cookies'=>'cookies','Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.'=>'La mise en cache du navigateur stocke les fichiers statiques localement dans le navigateur de l’utilisateur. Activez ce réglage pour réduire les requêtes répétées de fichiers statiques.','Browser Cache'=>'Cache navigateur','tags'=>'étiquettes','Do Not Cache Tags'=>'Ne pas mettre en cache les étiquettes','To exclude %1$s, insert %2$s.'=>'Pour exclure %1$s, insérez %2$s.','categories'=>'catégories','To prevent %s from being cached, enter them here.'=>'Pour éviter que les %s soient mises en cache, saisissez-les ici.','Do Not Cache Categories'=>'Ne pas mettre en cache les catégories','Query strings containing these parameters will not be cached.'=>'Les chaînes de requête contenant ces réglages ne seront pas mises en cache.','Do Not Cache Query Strings'=>'Ne pas mettre en cache les chaînes de requête','Paths containing these strings will not be cached.'=>'Les chemins contenant ces chaînes de requête ne seront pas mis en cache.','Do Not Cache URIs'=>'Ne pas mettre en cache les URI','One per line.'=>'Une par ligne.','URI Paths containing these strings will NOT be cached as public.'=>'Les chemins d’URI contenant ces chaînes ne seront pas mis en cache comme publics.','Private Cached URIs'=>'URI mises en cache privées','Paths containing these strings will not be served from the CDN.'=>'Les chemins contenant ces chaînes ne seront pas servis par le CDN.','Exclude Path'=>'Exclure le chemin','Include File Types'=>'Inclure les types de fichier','Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.'=>'Servir tous les fichiers JavaScript via le CDN. Cela affectera tous les fichiers JavaScript WP en file d’attente.','Include JS'=>'Inclure le JS','Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.'=>'Servir tous les fichiers CSS via le CDN. Cela affectera tous les fichiers CSS WP en file d’attente.','Include CSS'=>'Inclure le CSS','Include Images'=>'Inclure les images','CDN URL to be used. For example, %s'=>'URL de CDN à utiliser. Par exemple : %s','CDN URL'=>'URL de CDN','Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.'=>'L’URL du site à servir via le CDN. À partir de %1$s. Par exemple : %2$s.','Original URLs'=>'URL originales','CDN Settings'=>'Réglage du CDN','CDN'=>'CDN','OFF'=>'Inactif','ON'=>'Actif','Notified LiteSpeed Web Server to purge CSS/JS entries.'=>'Serveur web LiteSpeed notifié de purger les entrées CSS/JS.','Minify HTML content.'=>'Minifier le contenu HTML.','HTML Minify'=>'Minifier  le HTML','JS Excludes'=>'JS exclu','JS Combine'=>'Combiner JS','JS Minify'=>'Minifier JS','CSS Excludes'=>'CSS exclu','CSS Combine'=>'Combiner CSS','CSS Minify'=>'Minifier CSS','Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.'=>'Veuillez effectuer un test approfondi lorsque vous activez une option dans cette liste. Après avoir modifié les réglages Minifier/Combiner, veuillez faire une purge totale.','This will purge all minified/combined CSS/JS entries only'=>'Cela purgera uniquement toutes les entrées CSS/JS minifiées/combinées','Purge %s Error'=>'Purger les erreurs %s','Database Optimizer'=>'Outil d’optimisation de base de données','Optimize all tables in your database'=>'Optimiser toutes les tables dans votre base de données','Optimize Tables'=>'Optimiser les tables','Clean all transient options'=>'Nettoyer toutes les options de transient','All Transients'=>'Tous les transients','Clean expired transient options'=>'Nettoyer les options de transient expirées','Expired Transients'=>'Transients expirés','Clean all trackbacks and pingbacks'=>'Nettoyer tous les rétroliens et pings','Trackbacks/Pingbacks'=>'Rétroliens/pings','Clean all trashed comments'=>'Nettoyer tous les commentaires mis à la corbeille','Trashed Comments'=>'Commentaires mis à la corbeille','Clean all spam comments'=>'Nettoyer tous les commentaires indésirables','Spam Comments'=>'Commentaires indésirables','Clean all trashed posts and pages'=>'Nettoyer tous les articles et pages mis à la corbeille','Trashed Posts'=>'Articles mis à la corbeille','Clean all auto saved drafts'=>'Nettoyer tous les brouillons auto-enregistrés','Auto Drafts'=>'Brouillons auto','Clean all post revisions'=>'Nettoyer toutes les révisions d’article','Post Revisions'=>'Révisions d’article','Clean All'=>'Tout nettoyer','Optimized all tables.'=>'Optimisé toutes les tables.','Clean all transients successfully.'=>'Tous les transients ont bien été nettoyés.','Clean expired transients successfully.'=>'Les transients expirés ont bien été nettoyés.','Clean trackbacks and pingbacks successfully.'=>'Les rétroliens et pings ont bien été nettoyés.','Clean trashed comments successfully.'=>'Les commentaires mis à la corbeille ont bien été nettoyés.','Clean spam comments successfully.'=>'Les commentaires indésirables ont bien été nettoyés.','Clean trashed posts and pages successfully.'=>'Articles et pages mis à la corbeille bien nettoyés.','Clean auto drafts successfully.'=>'Les brouillons auto ont bien été nettoyés.','Clean post revisions successfully.'=>'Les révisions d’article ont bien été nettoyées.','Clean all successfully.'=>'Tout a bien été nettoyé.','Default Private Cache TTL'=>'TTL cache privé par défaut','If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.'=>'Si votre site contient du contenu public que certains rôles utilisateur peuvent voir, mais que d’autres rôles ne peuvent pas, vous pouvez spécifier un groupe variable pour ces rôles utilisateur. Par exemple, la spécification d’un groupe variable par l’administrateur permet d’avoir une page distincte en cache publique adaptée aux administrateurs (avec des liens "modifier", etc.), tandis que tous les autres rôles utilisateur voient la page publique par défaut.','Vary Group'=>'Varier le groupe','Cache the built-in Comment Form ESI block.'=>'Mettre en cache le bloc ESI de formulaire de commentaires intégré.','Cache Comment Form'=>'Mettre en cache le formulaire de commentaire','Cache Admin Bar'=>'Mettre en cache la barre d’administration','Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.'=>'Activer la mise en cache des pages publiques pour les utilisateurs connectés et servir la barre d’administration et le formulaire de commentaire via des blocs ESI. Ces deux blocs ne seront pas mis en cache, sauf s’ils sont activés ci-dessous.','ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.'=>'ESI vous permet de désigner des parties de votre page dynamique comme des fragments séparés qui sont ensuite assemblés pour créer la page entière. En d’autres termes, ESI vous permet de « percer des trous » dans une page, puis de remplir ces trous avec un contenu qui peut être mis en cache en privé, mis en cache publiquement avec son propre TTL ou non mis en cache du tout.','With ESI (Edge Side Includes), pages may be served from cache for logged-in users.'=>'Avec ESI (Edge Side Includes), les pages peuvent être envoyées à partir du cache pour les utilisateurs connectés.','Private'=>'Privé','Public'=>'Publique','Purge Settings'=>'Purger les réglages','Cache Mobile'=>'Cache mobile','Advanced level will log more details.'=>'Le niveau avancé enregistrera plus de détails.','Basic'=>'Basique','The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.'=>'La charge moyenne maximale du serveur est autorisée lors de l’exploration. Le nombre de threads de robot explorateur en cours d’utilisation sera activement réduit jusqu’à ce que la charge moyenne du serveur tombe sous cette limite. Si cela ne peut pas être réalisé avec un seul thread, l’exécution du robot explorateur actuel sera terminée.','Cache Login Page'=>'Mettre en cache la page de connexion','Cache requests made by WordPress REST API calls.'=>'Mettre en cache les requêtes effectuées par les appels de l’API REST WordPress.','Cache REST API'=>'Mettre en cache l’API REST','Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)'=>'Mettre en cache privé les commentateurs qui ont des commentaires en attente. La désactivation de cette option servira les pages ne pouvant pas être mises en cache aux commentateurs. (LSWS %s nécessaire)','Cache Commenters'=>'Mettre en cache les commentateurs','Privately cache frontend pages for logged-in users. (LSWS %s required)'=>'Mettre en cache privé les pages interface utilisateur pour les utilisateurs connectés. (LSWS %s nécessaire)','Cache Logged-in Users'=>'Mettre en cache les utilisateurs connectés','Cache Control Settings'=>'Mettre en cache les réglages de contrôle','ESI'=>'ESI','Excludes'=>'Exclure','Purge'=>'Purger','Cache'=>'Cache','Current server time is %s.'=>'L’heure actuelle du serveur est %s.','Specify the time to purge the "%s" list.'=>'Précisez l’heure pour purger la liste "%s".','Both %1$s and %2$s are acceptable.'=>'À la fois %1$s et %2$s sont acceptables.','Scheduled Purge Time'=>'Heure de purge planifiée','The URLs here (one per line) will be purged automatically at the time set in the option "%s".'=>'Les URLs ci-dessus (une par ligne) seront automatiquement purgées à l’heure fixée dans l’option "%s".','Scheduled Purge URLs'=>'Purge planifiée d’URLs','Shorten query strings in the debug log to improve readability.'=>'Raccourcir les chaînes de requêtes dans le journal de débogage pour améliorer la lisibilité.','Heartbeat'=>'Battement de cœur','MB'=>'Mo','Log File Size Limit'=>'Limite de taille de fichier journal','<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s'=>'<p>Veuillez ajouter/remplacer les codes suivants au début de %1$s :</p> %2$s','%s file not writable.'=>'Le fichier %s n’est pas inscriptible.','%s file not readable.'=>'Le fichier %s n’est pas lisible.','Collapse Query Strings'=>'Réduire les chaînes de requêtes','ESI Settings'=>'Réglages ESI','A TTL of 0 indicates do not cache.'=>'Un TTL de 0 indique de ne pas mettre en cache.','Recommended value: 28800 seconds (8 hours).'=>'Valeur recommandée : 28800 secondes (8 heures).','Enable ESI'=>'Activer ESI','Custom Sitemap'=>'Plan de site personnalisé','Purge pages by relative or full URL.'=>'Purger les pages par URL relative ou complète.','The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.'=>'La fonctionnalité de robot explorateur n’est pas activée sur le serveur LiteSpeed. Veuillez consulter votre administrateur serveur ou votre hébergeur.','WARNING'=>'Attention','The next complete sitemap crawl will start at'=>'Le prochain crawl complet de plan de site débutera le','Failed to write to %s.'=>'Impossible d’écrire sur %s.','Folder is not writable: %s.'=>'Le dossier n’est pas inscriptible : %s.','Can not create folder: %1$s. Error: %2$s'=>'Impossible de créer un dossier : %1$s. Erreur : %2$s','Folder does not exist: %s'=>'Le dossier n’existe pas : %s','Notified LiteSpeed Web Server to purge the list.'=>'Serveur LiteSpeed notifié pour tout purger.','Allows listed IPs (one per line) to perform certain actions from their browsers.'=>'Autorise les IPs listées (une par ligne) à réaliser certaines actions depuis leurs navigateurs.','Server Load Limit'=>'Limite de chargement du serveur','Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.'=>'Spécifiez combien de temps en secondes avant que le crawler initie un nouveau crawl entier du plan de site.','Crawl Interval'=>'Intervalle de crawl','Then another WordPress is installed (NOT MULTISITE) at %s'=>'Ensuite, un autre WordPress est installé (non multisite) sur %s','LiteSpeed Cache Network Cache Settings'=>'Réglages de cache de réseau LiteSpeed Cache','Select below for "Purge by" options.'=>'Sélectionnez ci-dessous pour les options « purger par ».','LiteSpeed Cache CDN'=>'CDN LiteSpeed Cache','No crawler meta file generated yet'=>'Encore aucun fichier méta de crawler généré','Show crawler status'=>'Afficher l’état du crawler','Watch Crawler Status'=>'Voir l’état de crawler','Run frequency is set by the Interval Between Runs setting.'=>'La fréquence d’exécution est définie par le réglage d’intervalle entre exécutions.','Manually run'=>'Exécution manuelle','Reset position'=>'Réinitialiser la position','Run Frequency'=>'Fréquence d’exécution','Cron Name'=>'Nom du cron','Crawler Cron'=>'Cron du crawler','%d minute'=>'%d minute','%d minutes'=>'%d minutes','%d hour'=>'%d heure','%d hours'=>'%d heures','Generated at %s'=>'Généré dans %s','LiteSpeed Cache Crawler'=>'Crawler LiteSpeed Cache','Crawler'=>'Crawler','https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration'=>'https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration','Notified LiteSpeed Web Server to purge all pages.'=>'Notifié le serveur web LiteSpeed de purger toutes les pages.','All pages with Recent Posts Widget'=>'Toutes les pages avec le widget des articles récents','Pages'=>'Pages','This will Purge Pages only'=>'Cela purgera uniquement les pages','Purge Pages'=>'Purger les pages','Cancel'=>'Effacer','Deactivate'=>'Désactiver','Activate'=>'Activer','Email Address'=>'Adresse de messagerie','Install Now'=>'Installer maintenant','Purged the blog!'=>'Purgé le blog !','Purged All!'=>'Tout purgé !','Notified LiteSpeed Web Server to purge error pages.'=>'Notifié LiteSpeed ​​Web Server de purger les pages d’erreur.','If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.'=>'Si vous utilisez OpenLiteSpeed, le serveur doit être redémarré une fois pour que les modifications prennent effet.','If the login cookie was recently changed in the settings, please log out and back in.'=>'Si le cookie de connexion a été modifié récemment dans les réglages, veuillez vous déconnecter et vous reconnecter.','However, there is no way of knowing all the possible customizations that were implemented.'=>'Cependant, il n’y a aucun moyen de connaître toutes les personnalisations possibles qui ont été mises en œuvre.','The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.'=>'L’extension LiteSpeed ​​Cache est utilisée pour mettre les pages en cache - un moyen simple d’améliorer les performances du site.','The network admin setting can be overridden here.'=>'Le réglage administrateur réseau peut être remplacé ici.','Specify how long, in seconds, public pages are cached.'=>'Spécifiez combien de temps, en secondes, les pages publiques sont mises en cache.','Specify how long, in seconds, private pages are cached.'=>'Spécifiez combien de temps, en secondes, les pages privées sont mises en cache.','Purge pages by post ID.'=>'Purger les pages par ID d’article.','Purge the LiteSpeed cache entries created by this plugin'=>'Purger les entrées LiteSpeed Cache créées par cette extension','Purge %s error pages'=>'Purger les pages d’erreur %s','This will Purge Front Page only'=>'Cela purgera uniquement la page d’accueil','Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.'=>'Purger les pages par nom d’étiquette - par ex.,%2$s devrait être utilisé pour l’URL %1$s.','Purge pages by category name - e.g. %2$s should be used for the URL %1$s.'=>'Purger les pages par nom de catégorie - par exemple,%2$s devrait être utilisé pour l’URL%1$s.','If only the WordPress site should be purged, use Purge All.'=>'Si seul le site WordPress doit être purgé, utilisez « Tout purger ».','Notified LiteSpeed Web Server to purge everything.'=>'Serveur LiteSpeed notifié pour tout purger.','Use Primary Site Configuration'=>'Utiliser les configurations du site principal','This will disable the settings page on all subsites.'=>'Cela désactivera la page des réglages sur tous les sous-sites.','Check this option to use the primary site\'s configuration for all subsites.'=>'Cochez cette option pour utiliser les configurations du site principal sur tous les sous-sites.','Save Changes'=>'Enregistrer les modifications','The following options are selected, but are not editable in this settings page.'=>'Les options suivantes sont sélectionnées, mais ne sont pas modifiables dans la page des réglages.','The network admin selected use primary site configs for all subsites.'=>'L’administrateur réseau sélectionné utilise les configurations du site principal pour tous les sous-sites.','Empty Entire Cache'=>'Vider tout le cache','This action should only be used if things are cached incorrectly.'=>'Cette action doit être utilisée uniquement si les éléments sont incorrectement mis en cache.','Clears all cache entries related to this site, including other web applications.'=>'Efface toutes les entrées du cache liées à ce site, y compris les autres applications web.','This may cause heavy load on the server.'=>'Cela peut entraîner une charge importante sur le serveur.','This will clear EVERYTHING inside the cache.'=>'Cela effacera tout dans le cache.','LiteSpeed Cache Purge All'=>'Cache LiteSpeed Tout purger','If you would rather not move at litespeed, you can deactivate this plugin.'=>'Si vous préférez ne pas avoir des affichages à la vitesse de la lumière, vous pouvez désactiver cette extension.','Create a post, make sure the front page is accurate.'=>'Créez un article, assurez-vous que la page d’accueil est exacte.','Visit the site while logged out.'=>'Visitez le site en déconnecté.','Examples of test cases include:'=>'Les exemples de cas d’essai incluent :','For that reason, please test the site to make sure everything still functions properly.'=>'Pour cette raison, veuillez tester le site pour vous assurer que tout fonctionne encore correctement.','This message indicates that the plugin was installed by the server admin.'=>'Ce message indique que l’extension a été installée par l’administrateur du serveur.','LiteSpeed Cache plugin is installed!'=>'L’extension LiteSpeed Cache est installée !','Debug Log'=>'Journal de débogage','Admin IP Only'=>'Uniquement l’IP de l’admin','Specify how long, in seconds, REST calls are cached.'=>'Précisez combien de temps, en secondes, les appels REST sont mis en cache.','The environment report contains detailed information about the WordPress configuration.'=>'Le rapport d’environnement contient des informations détaillées sur la configuration WordPress.','The server will determine if the user is logged in based on the existence of this cookie.'=>'Le serveur déterminera si l’internaute est connecté grâce à l’existence de ce cookie.','Note'=>'Note','After verifying that the cache works in general, please test the cart.'=>'Après vérification que le cache fonctionne en général, veuillez tester le panier.','When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.'=>'Lorsque activé, le cache sera vidé automatiquement lors d’une mise à jour de tout extension, thème ou du cœur WordPress.','Purge All On Upgrade'=>'Tout purger lors d’une mise à niveau','Product Update Interval'=>'Intervalle de mise à jour de produit','Determines how changes in product quantity and product stock status affect product pages and their associated category pages.'=>'Détermine comment les modifications dans les quantités de produit et états de stock de produit affecte les pages de produit et leurs pages de catégorie associés.','Always purge both product and categories on changes to the quantity or stock status.'=>'Toujours vider les produits et les catégories lors d’un changement de quantité disponible ou de statut de stock.','Do not purge categories on changes to the quantity or stock status.'=>'Ne pas purger les catégories lors de modification de quantité ou d’état de stock.','Purge product only when the stock status changes.'=>'Purger le produit uniquement quand l’état du stock change.','Purge product and categories only when the stock status changes.'=>'Purger les produits et catégories uniquement quand l’état du stock change.','Purge categories only when stock status changes.'=>'Purger les catégories uniquement quand l’état du stock change.','Purge product on changes to the quantity or stock status.'=>'Purger le produit au changement de la quantité ou de l’état du stock.','Htaccess did not match configuration option.'=>'Le htaccess ne correspondait pas à l’option de configuration.','If this is set to a number less than 30, feeds will not be cached.'=>'Si vous configurez une valeur de moins de 30, les flux RSS ne seront pas mis en cache.','Specify how long, in seconds, feeds are cached.'=>'Spécifiez une durée en secondes, pour la mise en cache des flux RSS.','Default Feed TTL'=>'Flux TTL par défaut','Failed to get %s file contents.'=>'Échec de récupération du contenu du fichier %s.','Disabling this option may negatively affect performance.'=>'Désactiver cette option aura un effet négatif sur la performance.','Invalid login cookie. Invalid characters found.'=>'Cookie de connexion non valide. Caractères non valides trouvés.','WARNING: The .htaccess login cookie and Database login cookie do not match.'=>'Avertissement : Les cookies de connexion du fichier .htaccess et de la base de données ne correspondent pas.','Invalid login cookie. Please check the %s file.'=>'Cookie de connexion non valide. Veuillez vérifier le fichier %s.','The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.'=>'Le cache doit faire la distinction de qui est connecté dans quel site WordPress afin de mettre en cache correctement.','There is a WordPress installed for %s.'=>'Il y a une installation de WordPress pour %s.','Example use case:'=>'Exemple d’utilisation :','The cookie set here will be used for this WordPress installation.'=>'Le cookie réglé ici sera utilisé pour cette installation WordPress.','If every web application uses the same cookie, the server may confuse whether a user is logged in or not.'=>'Si chaque application web utilise le même cookie, le serveur pourrait ne pas savoir si l’utilisateur est connecté.','This setting is useful for those that have multiple web applications for the same domain.'=>'Ce réglage est utile pour ceux qui ont plusieurs applications web avec le même nom de domaine.','The default login cookie is %s.'=>'Le cookie de connexion par défaut est %s.','Login Cookie'=>'Cookie de connexion','More information about the available commands can be found here.'=>'Plus d’informations sur les commandes disponibles peuvent être trouvées ici.','These settings are meant for ADVANCED USERS ONLY.'=>'Ces réglages sont uniquement destinés à des utilisateurs avancés.','Current %s Contents'=>'Contenus actuel de %s','Advanced'=>'Avancé','Advanced Settings'=>'Réglages avancés','Purge List'=>'Purger la liste','Purge By...'=>'Purger par…','URL'=>'URL','Tag'=>'Étiquette','Post ID'=>'ID de l’article','Category'=>'Catégorie','NOTICE: Database login cookie did not match your login cookie.'=>'Remarque : le cookie de connexion de base de données ne correspond pas à votre cookie de connexion.','Purge url %s'=>'Purger l’URL %s','Purge tag %s'=>'Purger l’étiquette %s','Purge category %s'=>'Purger la catégorie %s','When disabling the cache, all cached entries for this site will be purged.'=>'Lorsque vous désactivez le cache, toutes les entrées mises en cache pour ce site seront purgées.','NOTICE'=>'Notification','This setting will edit the .htaccess file.'=>'Ce réglage modifiera le fichier .htaccess.','LiteSpeed Cache View .htaccess'=>'Modifier le .htaccess LiteSpeed Cache','Failed to back up %s file, aborted changes.'=>'Échec de sauvegarde du fichier %s, modifications interrompues.','Do Not Cache Cookies'=>'Ne pas mettre en cache les cookies','Do Not Cache User Agents'=>'Ne pas mettre en cache les agents utilisateur','This is to ensure compatibility prior to enabling the cache for all sites.'=>'C’est pour tester la compatibilité avant d’activer le cache pour tous les sites.','Network Enable Cache'=>'Activer le cache sur le réseau','NOTICE:'=>'Remarque :','Other checkboxes will be ignored.'=>'Les autres cases à cocher seront ignorées.','Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.'=>'Sélectionnez "Tous" s’il y a des widgets dynamiques liés aux articles sur les pages autres que la page d’accueil.','List of Mobile User Agents'=>'Liste des agents utilisateurs mobile','File %s is not writable.'=>'Le fichier %s n’est pas inscriptible.','JS Settings'=>'Réglages JS','Manage'=>'Gérer','Default Front Page TTL'=>'TTL de page d’accueil par défaut','Notified LiteSpeed Web Server to purge the front page.'=>'LiteSpeed Web Server a été notifié de purger la page d’accueil.','Purge Front Page'=>'Purger la page d’accueil','Example'=>'Exemple','All tags are cached by default.'=>'Toutes les étiquettes sont mises en cache par défaut.','All categories are cached by default.'=>'Toutes les catégories sont mises en cache par défaut.','To do an exact match, add %s to the end of the URL.'=>'Pour avoir une correspondance exacte, ajoutez %s  à la fin de l’URL.','The URLs will be compared to the REQUEST_URI server variable.'=>'Ces URLs seront comparées à la variable serveur REQUEST_URI.','Select only the archive types that are currently used, the others can be left unchecked.'=>'Sélectionnez uniquement les types d’archives qui sont actuellement utilisés, les autres peuvent être laissées décochées.','Notes'=>'Remarques','Use Network Admin Setting'=>'Utiliser le réglage admin du réseau','Disable'=>'Désactiver','Enabling LiteSpeed Cache for WordPress here enables the cache for the network.'=>'Activer ici LiteSpeed Cache pour WordPress active le cache pour le réseau.','Disabled'=>'Désactivé','Enabled'=>'Activé(e)','Do Not Cache Roles'=>'Ne pas mettre les rôles en cache','https://www.litespeedtech.com'=>'https://www.litespeedtech.com','LiteSpeed Technologies'=>'Technologies LiteSpeed','LiteSpeed Cache'=>'LiteSpeed Cache','Debug Level'=>'Niveau de débogage','Notice'=>'Notification','Term archive (include category, tag, and tax)'=>'Archive de terme (inclure catégorie, étiquette et taxinomie)','Daily archive'=>'Archive quotidienne','Monthly archive'=>'Archive mensuelle','Yearly archive'=>'Archive annuelle','Post type archive'=>'Archive de type de contenu','Author archive'=>'Archive d’auteur','Home page'=>'Page d’accueil','Front page'=>'Page de garde','All pages'=>'Toutes les pages','Select which pages will be automatically purged when posts are published/updated.'=>'Sélectionnez quelles pages seront purgées automatiquement lorsque des articles sont publiés/mis à jour.','Auto Purge Rules For Publish/Update'=>'Règles de purge automatique pour les publication/mise à jour','Default Public Cache TTL'=>'Durée de vie par défaut du cache publique','seconds'=>'secondes','Admin IPs'=>'IP d’admin','General'=>'Général','LiteSpeed Cache Settings'=>'Réglages LiteSpeed Cache','Notified LiteSpeed Web Server to purge all LSCache entries.'=>'Serveur web LiteSpeed notifié de purger toutes les entrées LSCache.','Purge All'=>'Tout purger','Settings'=>'Réglages','Support forum'=>'Forum de support']];PKW^�\�M��`�`%translations/litespeed-cache-id_ID.ponu�[���# Translation of Plugins - LiteSpeed Cache - Stable (latest release) in Indonesian
# This file is distributed under the same license as the Plugins - LiteSpeed Cache - Stable (latest release) package.
msgid ""
msgstr ""
"PO-Revision-Date: 2025-10-17 02:15:19+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: GlotPress/4.0.3\n"
"Language: id\n"
"Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)\n"

#: tpl/toolbox/purge.tpl.php:110
msgid "This will delete all generated Viewport Images"
msgstr "Ini akan menghapus seluruh Area Pandang Gambar yang telah dibuat."

#: src/purge.cls.php:393
msgid "Cleaned all VPI data."
msgstr "Bersihkan seluruh data VPI."

#: tpl/optimax/settings.tpl.php:34
msgid "Turn on OptimaX. This will automatically request your pages OptimaX result via cron job."
msgstr "Aktifkan OptimaX. Hal ini akan secara otomatis meminta hasil OptimaX untuk halaman Anda melalui tugas cron."

#: tpl/optimax/entry.tpl.php:30
msgid "LiteSpeed Cache OptimaX"
msgstr "LiteSpeed Cache OptimaX"

#: tpl/optimax/entry.tpl.php:17 tpl/optimax/entry.tpl.php:22
#: tpl/optimax/settings.tpl.php:19
msgid "OptimaX Settings"
msgstr "Pengaturan OptimaX"

#: tpl/optimax/entry.tpl.php:16
msgid "OptimaX Summary"
msgstr "Ikhtisar OptimaX"

#: tpl/img_optm/settings.tpl.php:107
msgid "Choose which image sizes to optimize."
msgstr "Pilih ukuran gambar yang ingin dioptimalkan."

#: tpl/img_optm/settings.tpl.php:104
msgid "No sizes found."
msgstr "Tidak ditemukan ukuran."

#: src/lang.cls.php:229
msgid "Optimize Image Sizes"
msgstr "Optimasi Ukuran Gambar"

#: src/admin-display.cls.php:252 src/lang.cls.php:287
msgid "OptimaX"
msgstr "OptimaX"

#: tpl/toolbox/settings-debug.tpl.php:48
msgid "LiteSpeed Cache is temporarily disabled until: %s."
msgstr "LiteSpeed Cache dinonaktifkan sementara hingga: %s."

#: tpl/toolbox/settings-debug.tpl.php:44
msgid "Remove `Disable All Feature` Flag Now"
msgstr "Hapus Tanda `Nonaktifkan Seluruh Fitur` Sekarang"

#: tpl/toolbox/settings-debug.tpl.php:37
msgid "Disable All Features for 24 Hours"
msgstr "Nonaktifkan Seluruh Fitur selama 24 Jam"

#: tpl/toolbox/beta_test.tpl.php:43
msgid "LiteSpeed Cache is disabled. This functionality will not work."
msgstr "LiteSpeed Cache dinonaktifkan. Fungsi ini tidak akan berjalan."

#: tpl/page_optm/settings_media.tpl.php:296
msgid "Filter %s available to change threshold."
msgstr "Filter %s tersedia untuk mengubah ambang batas."

#: tpl/page_optm/settings_media.tpl.php:290
msgid "Scaled size threshold"
msgstr "Ambang batas ukuran yang diskalakan"

#: tpl/page_optm/settings_media.tpl.php:289
msgid "Automatically replace large images with scaled versions."
msgstr "Secara otomatis mengganti gambar berukuran besar dengan versi yang telah diskalakan."

#: src/lang.cls.php:222
msgid "Auto Rescale Original Images"
msgstr "Otomatis Menyesuaikan Ukuran Gambar Asli"

#: src/lang.cls.php:162
msgid "UCSS Inline Excluded Files"
msgstr "Berkas yang Dikecualikan UCSS Sebaris"

#: src/error.cls.php:142
msgid "The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again."
msgstr "Koneksi QUIC.cloud tidak benar. Silakan coba sinkronkan koneksi QUIC.cloud Anda lagi."

#: src/error.cls.php:119
msgid "Not enough parameters. Please check if the QUIC.cloud connection is set correctly"
msgstr "Parameter tidak cukup. Silakan periksa apakah koneksi QUIC.cloud telah diatur dengan benar."

#: src/admin-settings.cls.php:40 src/admin-settings.cls.php:313
msgid "No fields"
msgstr "Tidak ada bidang"

#: src/admin-display.cls.php:1331
msgid "Value from filter applied"
msgstr "Nilai dari filter yang diterapkan"

#: src/admin-display.cls.php:1302 src/admin-display.cls.php:1315
msgid "This value is overwritten by the filter."
msgstr "Nilai ini ditimpa oleh filter."

#: src/admin-display.cls.php:1298
msgid "This value is overwritten by the %s variable."
msgstr "Nilai ini ditimpa oleh variabel %s."

#: tpl/dash/dashboard.tpl.php:426 tpl/dash/dashboard.tpl.php:844
msgid "QUIC.cloud CDN"
msgstr "CDN QUIC.cloud"

#: tpl/page_optm/settings_tuning_css.tpl.php:38
msgid "Predefined list will also be combined with the above settings"
msgstr "Daftar yang telah ditentukan sebelumnya juga akan digabungkan dengan pengaturan di atas"

#: tpl/page_optm/settings_tuning_css.tpl.php:17
msgid "Tuning CSS Settings"
msgstr "Pengaturan Penyesuaian CSS"

#: tpl/page_optm/settings_tuning.tpl.php:71
#: tpl/page_optm/settings_tuning.tpl.php:92
msgid "Predefined list will also be combined with the above settings."
msgstr "Daftar yang telah ditentukan juga akan digabungkan dengan pengaturan di atas."

#: tpl/page_optm/settings_css.tpl.php:118
#: tpl/page_optm/settings_css.tpl.php:255
#: tpl/page_optm/settings_media.tpl.php:201
#: tpl/page_optm/settings_vpi.tpl.php:66
msgid "Clear"
msgstr "Bersihkan"

#: tpl/inc/show_error_cookie.php:21
msgid "If not, please verify the setting in the %sAdvanced tab%s."
msgstr "Jika tidak, harap verifikasi pengaturan di %sTab Lanjutan%s."

#: tpl/inc/modal.deactivation.php:77
msgid "Close popup"
msgstr "Tutup sembulan"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate plugin"
msgstr "Nonaktifkan plugin"

#: tpl/inc/modal.deactivation.php:68
msgid "If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images."
msgstr "Jika Anda telah menggunakan Optimasi Gambar, harap %sHapus Seluruh Data Optimasi%s terlebih dahulu. CATATAN: Ini tidak menghapus gambar yang telah Anda optimalkan.."

#: tpl/inc/modal.deactivation.php:60
msgid "On uninstall, all plugin settings will be deleted."
msgstr "Saat menghapus instalasi, seluruh pengaturan plugin akan dihapus."

#: tpl/inc/modal.deactivation.php:47
msgid "Why are you deactivating the plugin?"
msgstr "Mengapa Anda menonaktifkan plugin ini?"

#: tpl/inc/modal.deactivation.php:38
msgid "Other"
msgstr "Lainnya"

#: tpl/inc/modal.deactivation.php:33
msgid "Plugin is too complicated"
msgstr "Plugin terlalu rumit"

#: tpl/inc/modal.deactivation.php:28
msgid "Site performance is worse"
msgstr "Kinerja situs lebih buruk"

#: tpl/inc/modal.deactivation.php:22
msgid "The deactivation is temporary"
msgstr "Penonaktifan bersifat sementara"

#: tpl/inc/modal.deactivation.php:16
msgid "Deactivate LiteSpeed Cache"
msgstr "Nonaktifkan Cache LiteSpeed"

#: tpl/general/online.tpl.php:138
msgid "CDN - Disabled"
msgstr "CDN - Dinonaktifkan"

#: tpl/general/online.tpl.php:136
msgid "CDN - Enabled"
msgstr "CDN - Diaktifkan"

#: tpl/general/online.tpl.php:45
msgid "Connected Date:"
msgstr "Tanggal Terhubung:"

#: tpl/general/online.tpl.php:43
msgid "Node:"
msgstr "Simpul:"

#: tpl/general/online.tpl.php:41
msgid "Service:"
msgstr "Layanan:"

#: tpl/db_optm/manage.tpl.php:180
msgid "Autoload top list"
msgstr "Daftar Teratas Muat Otomatis"

#: tpl/db_optm/manage.tpl.php:176
msgid "Autoload entries"
msgstr "Entri Muat Otomatis"

#: tpl/db_optm/manage.tpl.php:175
msgid "Autoload size"
msgstr "Ukuran Muat Otomatis"

#: tpl/dash/network_dash.tpl.php:109
msgid "This Month Usage: %s"
msgstr "Penggunaan Bulan Ini: %s"

#: tpl/dash/network_dash.tpl.php:28
msgid "Usage Statistics: %s"
msgstr "Statistik Penggunaan: %s"

#: tpl/dash/dashboard.tpl.php:870
msgid "more"
msgstr "lainnya"

#: tpl/dash/dashboard.tpl.php:869
msgid "Globally fast TTFB, easy setup, and %s!"
msgstr "TTFB yang cepat secara global, pengaturan yang mudah, dan %s!"

#: tpl/dash/dashboard.tpl.php:657 tpl/dash/dashboard.tpl.php:701
#: tpl/dash/dashboard.tpl.php:745 tpl/dash/dashboard.tpl.php:789
msgid "Last requested: %s"
msgstr "Permintaan terakhir: %s"

#: tpl/dash/dashboard.tpl.php:631 tpl/dash/dashboard.tpl.php:675
#: tpl/dash/dashboard.tpl.php:719 tpl/dash/dashboard.tpl.php:763
msgid "Last generated: %s"
msgstr "Pembuatan terakhir: %s"

#: tpl/dash/dashboard.tpl.php:438 tpl/dash/dashboard.tpl.php:503
msgid "Requested: %s ago"
msgstr "Diminta: %s lalu"

#: tpl/dash/dashboard.tpl.php:424
msgid "LiteSpeed Web ADC"
msgstr "ADC Situs LiteSpeed"

#: tpl/dash/dashboard.tpl.php:422
msgid "OpenLiteSpeed Web Server"
msgstr "Peladen Situs OpenLiteSpeed"

#: tpl/dash/dashboard.tpl.php:420
msgid "LiteSpeed Web Server"
msgstr "Peladen Situs LiteSpeed"

#: tpl/dash/dashboard.tpl.php:272
msgid "PAYG used this month: %s. PAYG balance and usage not included in above quota calculation."
msgstr "PAYG yang digunakan bulan ini: %s. Saldo PAYG dan penggunaan tidak termasuk dalam perhitungan kuota di atas."

#: tpl/dash/dashboard.tpl.php:112 tpl/dash/dashboard.tpl.php:832
msgid "Last crawled:"
msgstr "Perayapan Terakhir:"

#: tpl/dash/dashboard.tpl.php:111 tpl/dash/dashboard.tpl.php:831
msgid "%1$s %2$d item(s)"
msgstr "%1$s %2$d item"

#: tpl/crawler/summary.tpl.php:288
msgid "Start watching..."
msgstr "Mulai memantau..."

#: tpl/crawler/summary.tpl.php:254
msgid "Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence."
msgstr "Crawler tidak dapat dijalankan secara bersamaan. Jika cron dan eksekusi manual dimulai pada waktu yang hampir bersamaan, yang pertama kali dimulai akan diprioritaskan."

#: tpl/crawler/summary.tpl.php:230
msgid "Position: "
msgstr "Posisi: "

#: tpl/crawler/summary.tpl.php:133
msgid "%d item(s)"
msgstr "%d item"

#: tpl/crawler/summary.tpl.php:130
msgid "Last crawled"
msgstr "Perayapan Terakhir"

#: tpl/cdn/qc.tpl.php:73
msgid "Serve your visitors fast"
msgstr "Melayani pengunjung Anda dengan cepat"

#: tpl/cdn/other.tpl.php:104
msgid "This will affect all tags containing attributes: %s."
msgstr "Ini akan memengaruhi seluruh tag yang mengandung atribut: %s."

#: tpl/cdn/cf.tpl.php:152
msgid "%1$sLearn More%2$s"
msgstr "%1$sPelajari Lebih Lanjut%2$s"

#: tpl/cdn/cf.tpl.php:39
msgid "Get it from %s."
msgstr "Dapatkan dari %s."

#: src/purge.cls.php:517
msgid "Reset the OPcache failed."
msgstr "Reset OPcache gagal."

#: src/purge.cls.php:504
msgid "OPcache is restricted by %s setting."
msgstr "OPcache dibatasi oleh pengaturan %s."

#: src/purge.cls.php:491
msgid "OPcache is not enabled."
msgstr "OPcache tidak diaktifkan."

#: src/gui.cls.php:850
msgid "Enable All Features"
msgstr "Aktifkan Seluruh Fitur"

#: tpl/toolbox/purge.tpl.php:224
msgid "e.g. Use %1$s or %2$s."
msgstr "mis. Gunakan %1$s atau %2$s."

#: tpl/toolbox/log_viewer.tpl.php:64 tpl/toolbox/report.tpl.php:62
msgid "Click to copy"
msgstr "Klik untuk menyalin"

#: tpl/inc/admin_footer.php:17
msgid "Rate %1$s on %2$s"
msgstr "Nilai %1$s di %2$s"

#: tpl/cdn/cf.tpl.php:74
msgid "Clear %s cache when \"Purge All\" is run."
msgstr "Hapus cache %s saat \"Hapus Semua\" dijalankan."

#: tpl/cache/settings_inc.login_cookie.tpl.php:102
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive."
msgstr "SINTAKSIS: Huruf dan angka serta tanda hubung (“_”). Tidak boleh ada spasi dan sensitif terhadap huruf besar/kecil."

#: tpl/cache/settings_inc.login_cookie.tpl.php:26
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS."
msgstr "SINTAKSIS: Huruf dan angka serta tanda hubung (“_”). Tidak boleh ada spasi dan sensitif terhadap huruf besar/kecil. HARUS UNIK DARI APLIKASI WEB LAINNYA."

#: tpl/banner/score.php:122
msgid "Submit a ticket"
msgstr "Kirim tiket"

#: src/lang.cls.php:265
msgid "Clear Cloudflare cache"
msgstr "Bersihkan Cache Cloudflare"

#: src/cloud.cls.php:246 src/cloud.cls.php:331
msgid "QUIC.cloud's access to your WP REST API seems to be blocked."
msgstr "Akses QUIC.cloud ke WP REST API Anda tampaknya diblokir."

#: tpl/toolbox/log_viewer.tpl.php:65
msgid "Copy Log"
msgstr "Salin Log"

#: tpl/page_optm/settings_tuning_css.tpl.php:149
msgid "Selectors must exist in the CSS. Parent classes in the HTML will not work."
msgstr "Selektor harus ada di dalam CSS. Kelas induk dalam HTML tidak akan berfungsi."

#: tpl/page_optm/settings_tuning_css.tpl.php:142
msgid "List the CSS selectors whose styles should always be included in CCSS."
msgstr "Daftar selektor CSS yang gayanya harus selalu disertakan dalam CCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:67
msgid "List the CSS selectors whose styles should always be included in UCSS."
msgstr "Daftar selektor CSS yang gayanya harus selalu disertakan dalam UCS."

#: tpl/img_optm/summary.tpl.php:77 tpl/page_optm/settings_css.tpl.php:156
#: tpl/page_optm/settings_css.tpl.php:293
#: tpl/page_optm/settings_vpi.tpl.php:101
msgid "Available after %d second(s)"
msgstr "Tersedia setelah %d detik"

#: tpl/dash/dashboard.tpl.php:347
msgid "Enable QUIC.cloud Services"
msgstr "Aktifkan Layanan QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:194
msgid "The features below are provided by %s"
msgstr "Fitur di bawah ini disediakan oleh %s"

#: tpl/dash/dashboard.tpl.php:163
msgid "Do not show this again"
msgstr "Jangan tampilkan ini lagi"

#: tpl/dash/dashboard.tpl.php:153
msgid "Free monthly quota available. Can also be used anonymously (no email required)."
msgstr "Tersedia kuota bulanan gratis. Dapat juga digunakan secara anonim (tidak perlu surel)."

#: tpl/cdn/cf.tpl.php:17
msgid "Cloudflare Settings"
msgstr "Pengaturan Cloudflare"

#: src/tool.cls.php:43 src/tool.cls.php:54
msgid "Failed to detect IP"
msgstr "Gagal mendeteksi IP"

#: src/lang.cls.php:189
msgid "CCSS Selector Allowlist"
msgstr "Daftar Selektor CCSS yang Diizinkan"

#: tpl/toolbox/settings-debug.tpl.php:82
msgid "Outputs to a series of files in the %s directory."
msgstr "Keluaran ke serangkaian berkas dalam direktori %s."

#: tpl/toolbox/report.tpl.php:87
msgid "Attach PHP info to report. Check this box to insert relevant data from %s."
msgstr "Lampirkan info PHP ke laporan. Centang kotak ini untuk memasukkan data yang relevan dari %s."

#: tpl/toolbox/report.tpl.php:63
msgid "Last Report Date"
msgstr "Tanggal Laporan Terakhir"

#: tpl/toolbox/report.tpl.php:62
msgid "Last Report Number"
msgstr "Jumlah Laporan Terakhir"

#: tpl/toolbox/report.tpl.php:40
msgid "Regenerate and Send a New Report"
msgstr "Buat Ulang dan Kirim Laporan Baru"

#: tpl/img_optm/summary.tpl.php:372
msgid "This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action."
msgstr "Ini akan mengatur ulang %1$s. Jika Anda mengubah pengaturan WebP/AVIF dan ingin menghasilkan %2$s untuk gambar yang dioptimalkan sebelumnya, gunakan tindakan ini."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:368
msgid "Soft Reset Optimization Counter"
msgstr "Penghitung Optimasi Set Ulang Ringan"

#: tpl/img_optm/settings.media_webp.tpl.php:34
msgid "When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images."
msgstr "Apabila beralih format, silakan %1$s atau %2$s untuk menerapkan pilihan baru ini ke gambar yang sudah dioptimalkan sebelumnya."

#: tpl/img_optm/settings.media_webp.tpl.php:31
msgid "%1$s is a %2$s paid feature."
msgstr "%1$s merupakan fitur berbayar %2$s."

#: tpl/general/online.tpl.php:160
msgid "Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first."
msgstr "Hapus integrasi QUIC.cloud dari situs ini. Catatan: Data QUIC.cloud akan disimpan sehingga Anda dapat mengaktifkan kembali layanan kapan saja. Jika Anda ingin sepenuhnya menghapus situs Anda dari QUIC.cloud, hapus domain melalui Dasbor QUIC.cloud terlebih dahulu."

#: tpl/general/online.tpl.php:159
msgid "Disconnect from QUIC.cloud"
msgstr "Putuskan sambungan dari QUIC.cloud"

#: tpl/general/online.tpl.php:159
msgid "Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard."
msgstr "Apakah Anda yakin ingin memutuskan sambungan dari QUIC.cloud? Tindakan ini tidak akan menghapus data apa pun dari dasbor QUIC.cloud."

#: tpl/general/online.tpl.php:150
msgid "CDN - not available for anonymous users"
msgstr "CDN - tidak tersedia bagi pengguna anonim"

#: tpl/general/online.tpl.php:144
msgid "Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features."
msgstr "Situs Anda terhubung dan menggunakan Layanan Daring QUIC.cloud sebagai <strong>pengguna anonim</strong>. Fungsi CDN dan fitur tertentu dari layanan optimisasi tidak tersedia untuk pengguna anonim. Tautkan ke QUIC.cloud untuk menggunakan CDN dan semua fitur Layanan Daring yang tersedia."

#: tpl/general/online.tpl.php:143
msgid "QUIC.cloud Integration Enabled with limitations"
msgstr "Integrasi QUIC.cloud Diaktifkan dengan keterbatasan"

#: tpl/general/online.tpl.php:126
msgid "Your site is connected and ready to use QUIC.cloud Online Services."
msgstr "Situs Anda telah terhubung dan siap untuk menggunakan Layanan Daring QUIC.cloud."

#: tpl/general/online.tpl.php:125
msgid "QUIC.cloud Integration Enabled"
msgstr "Integrasi QUIC.cloud Diaktifkan"

#: tpl/general/online.tpl.php:114
msgid "In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it."
msgstr "Untuk menggunakan sebagian besar layanan QUIC.cloud, Anda memerlukan kuota. QUIC.cloud memberi Anda kuota gratis setiap bulan, tetapi jika Anda membutuhkan lebih banyak, Anda dapat membelinya."

#: tpl/general/online.tpl.php:105
msgid "Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding."
msgstr "Menawarkan <strong>layanan DNS bawaan</strong> opsional untuk menyederhanakan proses penerimaan CDN."

#: tpl/general/online.tpl.php:104
msgid "Provides <strong>security at the CDN level</strong>, protecting your server from attack."
msgstr "Menyediakan <strong>keamanan di tingkat CDN</strong>, melindungi peladen Anda dari serangan."

#: tpl/general/online.tpl.php:103
msgid "Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>."
msgstr "Menghadirkan cakupan global dengan <strong>80+ jaringan PoP</strong> yang terus berkembang."

#: tpl/general/online.tpl.php:102
msgid "Caches your entire site, including dynamic content and <strong>ESI blocks</strong>."
msgstr "Menyimpan cache seluruh situs Anda, termasuk konten dinamis dan <strong>blok ESI</strong>."

#: tpl/general/online.tpl.php:98
msgid "Content Delivery Network"
msgstr "Jaringan Pengiriman Konten"

#: tpl/general/online.tpl.php:89
msgid "<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold."
msgstr "<strong>Area Pandang Gambar (VPI)</strong> memberikan tampilan penuh yang dipoles dengan baik di atas lipatan."

#: tpl/general/online.tpl.php:88
msgid "<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads."
msgstr "<strong>Penampung Gambar Kualitas Rendah (LQIP)</strong> memberikan tampilan yang lebih menyenangkan pada gambar Anda karena tidak banyak memuat."

#: tpl/general/online.tpl.php:87
msgid "<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall."
msgstr "<strong>CSS Unik (UCS) </strong> menghapus definisi gaya yang tidak digunakan untuk pemuatan halaman yang lebih cepat secara keseluruhan."

#: tpl/general/online.tpl.php:86
msgid "<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling."
msgstr "<strong>CSS Penting (CCSS)</strong> memuat konten yang terlihat di atas lipatan dengan lebih cepat dan dengan gaya penuh."

#: tpl/general/online.tpl.php:84
msgid "QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores."
msgstr "Layanan Optimasi Halaman QUIC.cloud mengatasi CSS berlebihan, dan meningkatkan pengalaman pengguna selama pemuatan halaman, yang dapat meningkatkan skor kecepatan halaman."

#: tpl/general/online.tpl.php:81
msgid "Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee."
msgstr "Pemrosesan untuk format gambar PNG, JPG, dan WebP gratis. AVIF tersedia dengan biaya tambahan."

#: tpl/general/online.tpl.php:79
msgid "Optionally creates next-generation WebP or AVIF image files."
msgstr "Secara opsional, membuat berkas gambar WebP atau AVIF generasi berikutnya."

#: tpl/general/online.tpl.php:78
msgid "Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality."
msgstr "Memproses gambar PNG dan JPG yang Anda unggah untuk menghasilkan versi yang lebih kecil tanpa mengorbankan kualitas."

#: tpl/general/online.tpl.php:76
msgid "QUIC.cloud's Image Optimization service does the following:"
msgstr "Layanan Optimasi Gambar QUIC.cloud melakukan hal berikut:"

#: tpl/general/online.tpl.php:72
msgid "<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading."
msgstr "<strong>Optimasi Halaman</strong> merampingkan gaya halaman dan elemen visual untuk pemuatan yang lebih cepat."

#: tpl/general/online.tpl.php:71
msgid "<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster."
msgstr "<strong>Optimasi Gambar</strong> memberi Anda ukuran berkas gambar yang lebih kecil yang dikirimkan lebih cepat."

#: tpl/general/online.tpl.php:69
msgid "QUIC.cloud's Online Services improve your site in the following ways:"
msgstr "Layanan Daring QUIC.cloud meningkatkan situs Anda dengan cara-cara berikut:"

#: tpl/general/online.tpl.php:60
msgid "Speed up your WordPress site even further with QUIC.cloud Online Services and CDN."
msgstr "Percepat situs WordPress Anda lebih jauh lagi dengan Layanan Daring dan CDN QUIC.cloud."

#: tpl/general/online.tpl.php:59
msgid "QUIC.cloud Integration Disabled"
msgstr "Integrasi QUIC.cloud Dinonaktifkan"

#: tpl/general/online.tpl.php:22
msgid "QUIC.cloud Online Services"
msgstr "Layanan Daring QUIC.cloud"

#: tpl/general/entry.tpl.php:16 tpl/general/online.tpl.php:68
msgid "Online Services"
msgstr "Layanan Daring"

#: tpl/db_optm/manage.tpl.php:186
msgid "Autoload"
msgstr "Muat Otomatis"

#: tpl/dash/dashboard.tpl.php:887
msgid "Refresh QUIC.cloud status"
msgstr "Segarkan status QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:446 tpl/dash/dashboard.tpl.php:511
msgid "Refresh"
msgstr "Segarkan"

#: tpl/dash/dashboard.tpl.php:419
msgid "You must be using one of the following products in order to measure Page Load Time:"
msgstr "Anda harus menggunakan salah satu dari produk berikut ini untuk mengukur Waktu Muat Halaman:"

#: tpl/dash/dashboard.tpl.php:182
msgid "Refresh Usage"
msgstr "Segarkan Penggunaan"

#: tpl/dash/dashboard.tpl.php:128 tpl/dash/dashboard.tpl.php:908
msgid "News"
msgstr "Berita"

#: tpl/crawler/summary.tpl.php:28
msgid "You need to set the %s in Settings first before using the crawler"
msgstr "Anda harus mengatur %s di Pengaturan terlebih dahulu sebelum menggunakan perayap"

#: tpl/crawler/settings.tpl.php:136
msgid "You must set %1$s to %2$s before using this feature."
msgstr "Anda harus mengatur %1$s ke %2$s sebelum menggunakan fitur ini."

#: tpl/crawler/settings.tpl.php:116 tpl/crawler/summary.tpl.php:211
msgid "You must set %s before using this feature."
msgstr "Anda harus mengatur %s sebelum menggunakan fitur ini."

#: tpl/cdn/qc.tpl.php:139 tpl/cdn/qc.tpl.php:146
msgid "My QUIC.cloud Dashboard"
msgstr "Dasbor QUIC.cloud Saya"

#: tpl/cdn/qc.tpl.php:130
msgid "You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard."
msgstr "Saat ini Anda menggunakan layanan sebagai pengguna anonim. Untuk mengelola opsi QUIC.cloud Anda, gunakan tombol di bawah ini untuk membuat akun dan menautkan ke Dasbor QUIC.cloud."

#: tpl/cdn/qc.tpl.php:123 tpl/cdn/qc.tpl.php:143
msgid "To manage your QUIC.cloud options, go to QUIC.cloud Dashboard."
msgstr "Untuk mengelola opsi QUIC.cloud Anda, buka Dasbor QUIC.cloud."

#: tpl/cdn/qc.tpl.php:119
msgid "To manage your QUIC.cloud options, please contact your hosting provider."
msgstr "Untuk mengelola opsi QUIC.cloud Anda, silakan hubungi penyedia hosting Anda."

#: tpl/cdn/qc.tpl.php:117
msgid "To manage your QUIC.cloud options, go to your hosting provider's portal."
msgstr "Untuk mengelola opsi QUIC.cloud Anda, buka portal penyedia hosting Anda."

#: tpl/cdn/qc.tpl.php:96
msgid "QUIC.cloud CDN Options"
msgstr "Opsi CDN QUIC.cloud"

#. translators: %s: Link tags
#: tpl/cdn/qc.tpl.php:79
msgid "Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!"
msgstr "Performa WordPress terbaik yang tersedia, TTFB yang cepat secara global, penyiapan yang mudah, dan %sbanyak lagi%s!"

#: tpl/cdn/qc.tpl.php:73
msgid "no matter where they live."
msgstr "tidak peduli di mana pun mereka tinggal."

#: tpl/cdn/qc.tpl.php:71
msgid "Content Delivery Network Service"
msgstr "Layanan Jaringan Pengiriman Konten"

#: tpl/cdn/qc.tpl.php:61 tpl/dash/dashboard.tpl.php:857
msgid "Enable QUIC.cloud CDN"
msgstr "Aktifkan CDN QUIC.cloud"

#: tpl/cdn/qc.tpl.php:59
msgid "Link & Enable QUIC.cloud CDN"
msgstr "Tautkan & Aktifkan CDN QUIC.cloud"

#: tpl/cdn/qc.tpl.php:55
msgid "QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users."
msgstr "CDN QUIC.cloud <strong>tidak tersedia</strong> untuk pengguna anonim (tidak ditautkan)."

#: tpl/cdn/qc.tpl.php:53
msgid "QUIC.cloud CDN is currently <strong>fully disabled</strong>."
msgstr "QUIC.cloud CDN saat ini <strong>sepenuhnya dinonaktifkan</strong>."

#: tpl/cdn/qc.tpl.php:46 tpl/dash/dashboard.tpl.php:169
msgid "Learn More about QUIC.cloud"
msgstr "Pelajari Lebih Lanjut tentang QUIC.cloud"

#: tpl/cdn/qc.tpl.php:45 tpl/dash/dashboard.tpl.php:167
#: tpl/general/online.tpl.php:26
msgid "QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud."
msgstr "QUIC.cloud menyediakan CDN dan layanan pengoptimalan daring, dan tidak diperlukan. Anda dapat menggunakan banyak fitur plugin ini tanpa QUIC.cloud."

#: tpl/cdn/qc.tpl.php:41 tpl/dash/dashboard.tpl.php:158
#: tpl/general/online.tpl.php:64 tpl/general/online.tpl.php:119
msgid "Enable QUIC.cloud services"
msgstr "Aktifkan layanan QUIC.cloud"

#: tpl/cdn/qc.tpl.php:38 tpl/general/online.tpl.php:61
#: tpl/general/online.tpl.php:145
msgid "Free monthly quota available."
msgstr "Tersedia kuota bulanan gratis."

#: tpl/cdn/qc.tpl.php:36 tpl/dash/dashboard.tpl.php:150
msgid "Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>."
msgstr "Percepat situs WordPress Anda lebih jauh lagi dengan <strong>Layanan Daring dan CDN QUIC.cloud</strong>."

#: tpl/cdn/qc.tpl.php:34 tpl/dash/dashboard.tpl.php:146
msgid "Accelerate, Optimize, Protect"
msgstr "Mempercepat, Mengoptimalkan, Melindungi"

#: tpl/cdn/qc.tpl.php:29
msgid "Check the status of your most important settings and the health of your CDN setup here."
msgstr "Periksa status pengaturan terpenting Anda dan kesehatan penyiapan CDN Anda di sini."

#: tpl/cdn/qc.tpl.php:27
msgid "QUIC.cloud CDN Status Overview"
msgstr "Ikhtisar Status CDN QUIC.cloud"

#: tpl/cdn/qc.tpl.php:24 tpl/dash/dashboard.tpl.php:886
msgid "Refresh Status"
msgstr "Segarkan Status"

#: tpl/cdn/entry.tpl.php:16
msgid "Other Static CDN"
msgstr "CDN Statis Lainnya"

#: tpl/banner/new_version.php:113 tpl/banner/score.php:141
#: tpl/banner/slack.php:48
msgid "Dismiss this notice."
msgstr "Tutup pemberitahuan ini."

#: tpl/banner/cloud_promo.tpl.php:35
msgid "Send to twitter to get %s bonus"
msgstr "Kirim ke twitter untuk mendapatkan bonus %s"

#: tpl/banner/cloud_promo.tpl.php:26
msgid "Spread the love and earn %s credits to use in our QUIC.cloud online services."
msgstr "Sebarkan cinta dan dapatkan %s kredit untuk digunakan dalam layanan daring QUIC.cloud kami."

#: src/media.cls.php:526
msgid "No backup of unoptimized AVIF file exists."
msgstr "Tidak ada cadangan berkas AVIF yang tidak dioptimalkan."

#: src/media.cls.php:510
msgid "AVIF saved %s"
msgstr "AVIF disimpan %s"

#: src/media.cls.php:502
msgid "AVIF file reduced by %1$s (%2$s)"
msgstr "Berkas AVIF dikurangi oleh %1$s (%2$s)"

#: src/media.cls.php:492
msgid "Currently using original (unoptimized) version of AVIF file."
msgstr "Saat ini menggunakan versi asli (tidak dioptimalkan) dari berkas AVIF."

#: src/media.cls.php:485
msgid "Currently using optimized version of AVIF file."
msgstr "Saat ini menggunakan versi yang dioptimalkan dari berkas AVIF."

#: src/lang.cls.php:232
msgid "WebP/AVIF For Extra srcset"
msgstr "WebP/AVIF Untuk srcset ekstra"

#: src/lang.cls.php:227
msgid "Next-Gen Image Format"
msgstr "Format Gambar Next-Gen"

#: src/img-optm.cls.php:2031
msgid "Enabled AVIF file successfully."
msgstr "Berhasil mengaktifkan berkas AVIF."

#: src/img-optm.cls.php:2026
msgid "Disabled AVIF file successfully."
msgstr "Berhasil menonaktifkan berkas AVIF."

#: src/img-optm.cls.php:1378
msgid "Reset image optimization counter successfully."
msgstr "Berhasil mengatur ulang penghitung optimasi gambar."

#: src/file.cls.php:133
msgid "Filename is empty!"
msgstr "Nama berkas kosong!"

#: src/error.cls.php:68
msgid "You will need to finish %s setup to use the online services."
msgstr "Anda harus menyelesaikan pengaturan %s untuk menggunakan layanan daring."

#: src/cloud.cls.php:2276
msgid "Sync QUIC.cloud status successfully."
msgstr "Berhasil menyinkronkan status QUIC.cloud."

#: src/cloud.cls.php:2220
msgid "Linked to QUIC.cloud preview environment, for testing purpose only."
msgstr "Ditautkan ke lingkungan pratinjau QUIC.cloud, hanya untuk tujuan pengujian."

#: src/cloud.cls.php:1919
msgid "Click here to proceed."
msgstr "Klik di sini untuk melanjutkan."

#: src/cloud.cls.php:1918
msgid "Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account."
msgstr "Situs tidak dikenali. QUIC.cloud dinonaktifkan secara otomatis. Silakan aktifkan kembali akun QUIC.cloud Anda."

#: src/cloud.cls.php:846
msgid "Reset %s activation successfully."
msgstr "Berhasil mengatur ulang aktivasi %s."

#: src/cloud.cls.php:725 src/cloud.cls.php:775 src/cloud.cls.php:818
msgid "Congratulations, %s successfully set this domain up for the online services with CDN service."
msgstr "Selamat, %s berhasil menyiapkan domain ini untuk layanan daring dengan layanan CDN."

#: src/cloud.cls.php:720
msgid "Congratulations, %s successfully set this domain up for the online services."
msgstr "Selamat, %s berhasil menyiapkan domain ini untuk layanan daring."

#: src/cloud.cls.php:718
msgid "Congratulations, %s successfully set this domain up for the anonymous online services."
msgstr "Selamat, %s berhasil menyiapkan domain ini untuk layanan daring anonim."

#: src/cloud.cls.php:690
msgid "%s activation data expired."
msgstr "Data aktivasi %s kedaluwarsa."

#: src/cloud.cls.php:683
msgid "Failed to parse %s activation status."
msgstr "Gagal mengurai status aktivasi %s."

#: src/cloud.cls.php:676
msgid "Failed to validate %s activation data."
msgstr "Gagal memvalidasi data aktivasi %s."

#: src/cloud.cls.php:386
msgid "Cert or key file does not exist."
msgstr "Sertifikat atau berkas kunci tidak ada."

#: src/cloud.cls.php:368 src/cloud.cls.php:414 src/cloud.cls.php:441
#: src/cloud.cls.php:460 src/cloud.cls.php:481 src/cloud.cls.php:499
msgid "You need to activate QC first."
msgstr "Anda harus mengaktifkan QC terlebih dahulu."

#: src/cloud.cls.php:319 src/cloud.cls.php:376
msgid "You need to set the %1$s first. Please use the command %2$s to set."
msgstr "Anda perlu mengatur %1$s terlebih dahulu. Silakan gunakan perintah %2$s untuk mengatur."

#: src/cloud.cls.php:256 src/cloud.cls.php:341
msgid "Failed to get echo data from WPAPI"
msgstr "Gagal mendapatkan data echo WPAPI"

#: src/admin-settings.cls.php:104
msgid "The user with id %s has editor access, which is not allowed for the role simulator."
msgstr "Pengguna dengan id %s memiliki akses editor, yang tidak diizinkan untuk simulator peran."

#: src/error.cls.php:94
msgid "You have used all of your quota left for current service this month."
msgstr "Anda telah menggunakan seluruh kuota tersisa untuk layanan saat ini di bulan ini."

#: src/error.cls.php:86 src/error.cls.php:99
msgid "Learn more or purchase additional quota."
msgstr "Pelajari lebih lanjut atau beli kuota tambahan."

#: src/error.cls.php:81
msgid "You have used all of your daily quota for today."
msgstr "Anda telah menggunakan seluruh kuota harian Anda untuk hari ini."

#: tpl/page_optm/settings_html.tpl.php:108
msgid "If comment to be kept is like: %1$s write: %2$s"
msgstr "Jika komentar yang akan dipertahankan adalah seperti: %1$s tulis: %2$s"

#: tpl/page_optm/settings_html.tpl.php:106
msgid "When minifying HTML do not discard comments that match a specified pattern."
msgstr "Saat memperkecil HTML, jangan hapus komentar yang sesuai dengan pola tertentu."

#: tpl/cache/settings-advanced.tpl.php:39
msgid "Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space."
msgstr "Tentukan tindakan AJAX di POST/GET dan jumlah detik untuk menyimpan permintaan tersebut, dipisahkan dengan spasi."

#: src/lang.cls.php:169
msgid "HTML Keep Comments"
msgstr "Pertahankan Komentar HTML"

#: src/lang.cls.php:117
msgid "AJAX Cache TTL"
msgstr "TTL Cache AJAX"

#: src/error.cls.php:111
msgid "You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now."
msgstr "Anda memiliki gambar yang menunggu untuk ditarik. Harap tunggu sampai penarikan otomatis selesai, atau tarik ke bawah secara manual sekarang."

#: tpl/db_optm/manage.tpl.php:26
msgid "Clean all orphaned post meta records"
msgstr "Bersihkan seluruh catatan meta tulisan tanpa induk"

#: tpl/db_optm/manage.tpl.php:25
msgid "Orphaned Post Meta"
msgstr "Meta Tulisan Tanpa Induk"

#: tpl/dash/dashboard.tpl.php:864
msgid "Best available WordPress performance"
msgstr "Kinerja WordPress terbaik yang tersedia"

#: src/db-optm.cls.php:257
msgid "Clean orphaned post meta successfully."
msgstr "Berhasil membersihkan meta tulisan tanpa induk."

#: tpl/img_optm/summary.tpl.php:325
msgid "Last Pulled"
msgstr "Penarikan Terakhir"

#: tpl/cache/settings_inc.login_cookie.tpl.php:104
msgid "You can list the 3rd party vary cookies here."
msgstr "Anda dapat membuat daftar kuki pihak ketiga yang bervariasi di sini."

#: src/lang.cls.php:245
msgid "Vary Cookies"
msgstr "Variasi Kuki"

#: tpl/page_optm/settings_html.tpl.php:75
msgid "Preconnecting speeds up future loads from a given origin."
msgstr "Prahubung mempercepat pemuatan di masa mendatang dari sumber yang diberikan."

#: thirdparty/woocommerce.content.tpl.php:89
msgid "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."
msgstr "Jika tema Anda tidak menggunakan JS untuk memperbarui keranjang mini, Anda harus mengaktifkan opsi ini untuk menampilkan konten keranjang yang benar."

#: thirdparty/woocommerce.content.tpl.php:88
msgid "Generate a separate vary cache copy for the mini cart when the cart is not empty."
msgstr "Buat salinan cache bervariasi yang terpisah untuk keranjang mini ketika keranjang berisi."

#: thirdparty/woocommerce.content.tpl.php:80
msgid "Vary for Mini Cart"
msgstr "Bervariasi untuk Keranjang Mini"

#: src/lang.cls.php:179
msgid "DNS Preconnect"
msgstr "Prahubung DNS"

#: src/doc.cls.php:40
msgid "This setting is %1$s for certain qualifying requests due to %2$s!"
msgstr "Pengaturan ini %1$s untuk permintaan kualifikasi tertentu karena %2$s!"

#: tpl/page_optm/settings_tuning.tpl.php:43
msgid "Listed JS files or inline JS code will be delayed."
msgstr "Berkas JS yang terdaftar atau kode JS sebaris akan tertunda."

#: tpl/crawler/map.tpl.php:58
msgid "URL Search"
msgstr "Cari URL"

#: src/lang.cls.php:181
msgid "JS Delayed Includes"
msgstr "JS Tertunda Termasuk"

#: src/cloud.cls.php:1693
msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."
msgstr "Domain_Key Anda untuk sementara telah dimasukkan ke dalam daftar blokir untuk mencegah penyalahgunaan. Anda dapat menghubungi dukungan di QUIC.cloud untuk mempelajari lebih lanjut."

#: src/cloud.cls.php:1688
msgid "Cloud server refused the current request due to unpulled images. Please pull the images first."
msgstr "Peladen awan menolak permintaan saat ini karena gambar tidak ditarik. Silakan tarik gambarnya terlebih dahulu."

#: tpl/crawler/summary.tpl.php:110
msgid "Current server load"
msgstr "Beban peladen saat ini"

#: src/object-cache.cls.php:714
msgid "Redis encountered a fatal error: %1$s (code: %2$d)"
msgstr "Redis mengalami galat fatal: %1$s (kode: %2$d)"

#: src/img-optm.cls.php:890
msgid "Started async image optimization request"
msgstr "Memulai permintaan pengoptimalan gambar asinkron"

#: src/crawler.cls.php:324
msgid "Started async crawling"
msgstr "Memulai perayapan asinkron"

#: src/conf.cls.php:551
msgid "Saving option failed. IPv4 only for %s."
msgstr "Opsi penyimpanan gagal. IPv4 hanya untuk %s."

#: src/cloud.cls.php:1700
msgid "Cloud server refused the current request due to rate limiting. Please try again later."
msgstr "Peladen awan menolak permintaan saat ini karena pembatasan tarif. Silakan coba lagi nanti."

#: tpl/img_optm/summary.tpl.php:298
msgid "Maximum image post id"
msgstr "ID gambar tulisan maksimum"

#: tpl/img_optm/summary.tpl.php:297 tpl/img_optm/summary.tpl.php:372
msgid "Current image post id position"
msgstr "Posisi id tulisan gambar saat ini"

#: src/lang.cls.php:31
msgid "Images ready to request"
msgstr "Gambar siap diminta"

#: tpl/dash/dashboard.tpl.php:385 tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54 tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr "Deteksi ulang"

#. translators: %1$s: Socket name, %2$s: Host field title, %3$s: Example socket
#. path
#. translators: %1$s: Socket name, %2$s: Port field title, %3$s: Port value
#: tpl/cache/settings_inc.object.tpl.php:107
#: tpl/cache/settings_inc.object.tpl.php:146
msgid "If you are using a %1$s socket, %2$s should be set to %3$s"
msgstr "Jika Anda menggunakan soket %1$s, %2$s harus disetel ke %3$s"

#: src/root.cls.php:198
msgid "All QUIC.cloud service queues have been cleared."
msgstr "Seluruh antrean layanan QUIC.cloud telah dihapus."

#. translators: %s: The type of the given cache key.
#: src/object-cache-wp.cls.php:245
msgid "Cache key must be integer or non-empty string, %s given."
msgstr "Kunci cache harus berupa bilangan bulat atau string yang tidak kosong, %s diberikan."

#: src/object-cache-wp.cls.php:242
msgid "Cache key must not be an empty string."
msgstr "Kunci cache tidak boleh berupa string kosong."

#: src/lang.cls.php:190
msgid "JS Deferred / Delayed Excludes"
msgstr "Pengecualian JS Ditangguhkan/Ditunda"

#: src/doc.cls.php:177
msgid "The queue is processed asynchronously. It may take time."
msgstr "Antrean diproses secara asinkron. Ini mungkin memerlukan waktu."

#: src/cloud.cls.php:1362
msgid "In order to use QC services, need a real domain name, cannot use an IP."
msgstr "Untuk menggunakan layanan QC, memerlukan nama domain asli, tidak bisa menggunakan IP."

#: tpl/presets/standard.tpl.php:195
msgid "Restore Settings"
msgstr "Pulihkan Pengaturan"

#: tpl/presets/standard.tpl.php:193
msgid "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"
msgstr "Ini akan memulihkan pengaturan cadangan yang dibuat %1$s sebelum menerapkan praset %2$s. Perubahan apa pun yang dilakukan sejak saat itu akan hilang. Apakah Anda ingin melanjutkan?"

#: tpl/presets/standard.tpl.php:189
msgid "Backup created %1$s before applying the %2$s preset"
msgstr "Cadangan dibuat %1$s sebelum menerapkan praset %2$s"

#: tpl/presets/standard.tpl.php:178
msgid "Applied the %1$s preset %2$s"
msgstr "Menerapkan praset %1$s %2$s"

#: tpl/presets/standard.tpl.php:175
msgid "Restored backup settings %1$s"
msgstr "Setelan cadangan dipulihkan %1$s"

#: tpl/presets/standard.tpl.php:173
msgid "Error: Failed to apply the settings %1$s"
msgstr "Galat: Gagal menerapkan pengaturan %1$s"

#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr "Riwayat"

#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr "tidak diketahui"

#: tpl/presets/standard.tpl.php:133
msgid "Apply Preset"
msgstr "Terapkan Praset"

#: tpl/presets/standard.tpl.php:131
msgid "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"
msgstr "Ini akan mencadangkan setelan Anda saat ini dan menggantinya dengan setelan praset %1$s. Apakah Anda ingin melanjutkan?"

#: tpl/presets/standard.tpl.php:121
msgid "Who should use this preset?"
msgstr "Siapa yang harus menggunakan praset ini?"

#: tpl/presets/standard.tpl.php:96
msgid "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between."
msgstr "Gunakan Praset resmi rancangan LiteSpeed untuk mengonfigurasi situs Anda dalam satu klik. Cobalah hal-hal penting dalam cache tanpa risiko, pengoptimalan ekstrem, atau sesuatu di antaranya."

#: tpl/presets/standard.tpl.php:92
msgid "LiteSpeed Cache Standard Presets"
msgstr "Praset Standar LiteSpeed Cache"

#: tpl/presets/standard.tpl.php:85
msgid "A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores."
msgstr "Koneksi QUIC.cloud diperlukan untuk menggunakan praset ini. Memungkinkan tingkat optimasi maksimum untuk meningkatkan skor kecepatan halaman."

#: tpl/presets/standard.tpl.php:84
msgid "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."
msgstr "Praset ini hampir pasti memerlukan pengujian dan pengecualian untuk beberapa gambar CSS, JS, dan Tunda Muat. Berikan perhatian khusus pada logo, atau gambar slider berbasis HTML."

#: tpl/presets/standard.tpl.php:81
msgid "Inline CSS added to Combine"
msgstr "CSS sebaris ditambahkan ke Gabungan"

#: tpl/presets/standard.tpl.php:80
msgid "Inline JS added to Combine"
msgstr "JS sebaris ditambahkan ke Gabungan"

#: tpl/presets/standard.tpl.php:79
msgid "JS Delayed"
msgstr "JS Tertunda"

#: tpl/presets/standard.tpl.php:78
msgid "Viewport Image Generation"
msgstr "Pembuatan Area Pandang Gambar"

#: tpl/presets/standard.tpl.php:77
msgid "Lazy Load for Images"
msgstr "Tunda Muat Gambar"

#: tpl/presets/standard.tpl.php:76
msgid "Everything in Aggressive, Plus"
msgstr "Seluruh yang Agresif, Plus"

#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr "Ekstrem"

#: tpl/presets/standard.tpl.php:69
msgid "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning."
msgstr "Praset ini mungkin langsung berfungsi untuk beberapa situs web, tetapi pastikan untuk mengujinya! Beberapa pengecualian CSS atau JS mungkin diperlukan di Optimasi Halaman > Penyesuaian."

#: tpl/presets/standard.tpl.php:66
msgid "Lazy Load for Iframes"
msgstr "Tunda Muat Iframes"

#: tpl/presets/standard.tpl.php:65
msgid "Removed Unused CSS for Users"
msgstr "Hapus CSS yang Tidak Digunakan untuk Pengguna"

#: tpl/presets/standard.tpl.php:64
msgid "Asynchronous CSS Loading with Critical CSS"
msgstr "Pemuatan CSS Asinkron dengan CSS Penting"

#: tpl/presets/standard.tpl.php:63
msgid "CSS & JS Combine"
msgstr "Gabungan CSS & JS"

#: tpl/presets/standard.tpl.php:62
msgid "Everything in Advanced, Plus"
msgstr "Seluruh yang Tingkat Lanjut, Plus"

#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr "Agresif"

#: tpl/presets/standard.tpl.php:56 tpl/presets/standard.tpl.php:70
msgid "A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores."
msgstr "Koneksi QUIC.cloud diperlukan untuk menggunakan praset ini. Termasuk berbagai optimasi yang diketahui dapat meningkatkan skor kecepatan halaman."

#: tpl/presets/standard.tpl.php:55
msgid "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools."
msgstr "Praset ini bagus untuk sebagian besar situs web, dan kecil kemungkinannya menimbulkan konflik. Setiap konflik CSS atau JS dapat diselesaikan dengan Optimasi Halaman > Penyesuaian."

#: tpl/presets/standard.tpl.php:50
msgid "Remove Query Strings from Static Files"
msgstr "Hapus String Kueri dari Berkas Statis"

#: tpl/presets/standard.tpl.php:48
msgid "DNS Prefetch for static files"
msgstr "Prapengambilan DNS untuk berkas statis"

#: tpl/presets/standard.tpl.php:47
msgid "JS Defer for both external and inline JS"
msgstr "Penangguhan JS untuk JS eksternal dan sebaris"

#: tpl/presets/standard.tpl.php:45
msgid "CSS, JS and HTML Minification"
msgstr "Perkecil CSS, JS, dan HTML"

#: tpl/presets/standard.tpl.php:44
msgid "Guest Mode and Guest Optimization"
msgstr "Mode Tamu dan Optimasi Tamu"

#: tpl/presets/standard.tpl.php:43
msgid "Everything in Basic, Plus"
msgstr "Seluruh yang Dasar, Plus"

#: tpl/presets/standard.tpl.php:41
msgid "Advanced (Recommended)"
msgstr "Tingkat Lanjut (Disarankan)"

#: tpl/presets/standard.tpl.php:37
msgid "A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools."
msgstr "Koneksi QUIC.cloud diperlukan untuk menggunakan praset ini. Termasuk optimasi yang diketahui dapat meningkatkan skor situs dalam alat pengukuran kecepatan halaman."

#: tpl/presets/standard.tpl.php:36
msgid "This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners."
msgstr "Praset berisiko rendah ini memperkenalkan pengoptimalan dasar untuk kecepatan dan pengalaman pengguna. Cocok untuk pemula yang antusias."

#: tpl/presets/standard.tpl.php:33
msgid "Mobile Cache"
msgstr "Cache Seluler"

#: tpl/presets/standard.tpl.php:31
msgid "Everything in Essentials, Plus"
msgstr "Seluruh yang Esensial, Plus"

#: tpl/presets/standard.tpl.php:25
msgid "A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled."
msgstr "Koneksi QUIC.cloud tidak diperlukan untuk menggunakan praset ini. Hanya fitur cache dasar yang diaktifkan."

#: tpl/presets/standard.tpl.php:24
msgid "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."
msgstr "Praset tanpa risiko ini cocok untuk seluruh situs web. Baik untuk pengguna baru, situs web sederhana, atau pengembangan berorientasi cache."

#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr "TTL lebih tinggi"

#: tpl/presets/standard.tpl.php:19
msgid "Default Cache"
msgstr "Cache Asali"

#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr "Esensial"

#: tpl/presets/entry.tpl.php:23
msgid "LiteSpeed Cache Configuration Presets"
msgstr "Praset Konfigurasi Cache LiteSpeed"

#: tpl/presets/entry.tpl.php:16
msgid "Standard Presets"
msgstr "Praset Standar"

#: tpl/page_optm/settings_tuning_css.tpl.php:52
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
msgstr "Berkas CSS yang terdaftar akan dikecualikan dari UCSS dan disimpan ke sebaris."

#: src/lang.cls.php:161
msgid "UCSS Selector Allowlist"
msgstr "Daftar yang Diizinkan Selektor UCSS"

#: src/admin-display.cls.php:253
msgid "Presets"
msgstr "Praset"

#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr "Manfaat Mitra Disediakan oleh"

#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr "Log LiteSpeed"

#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr "Log Perayap"

#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr "Bersihkan Log"

#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr "Cegah penulisan entri log yang menyertakan string yang terdaftar."

#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr "Lihat Situs Sebelum Cache"

#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr "Lihat Situs Sebelum Optimasi"

#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr "Bantuan Debug"

#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr "Aktifkan kron pembuatan otomatis Area Pandang Gambar."

#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr "Hal ini memungkinkan layar awal gambar halaman ditampilkan sepenuhnya tanpa penundaan."

#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr "Layanan Area Pandang Gambar mendeteksi gambar mana yang muncul di paruh atas, dan mengecualikannya dari tunda muat."

#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr "Saat Anda menggunakan Tunda Muat, itu akan menunda pemuatan seluruh gambar di halaman."

#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr "Gunakan %1$s untuk mengabaikan pemeriksaan dimensi gambar jarak jauh saat %2$s AKTIF."

#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr "VPI"

#: tpl/general/settings.tpl.php:72 tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr "%s harus DIAKTIFKAN agar setelan ini berfungsi."

#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr "Area Pandang Gambar"

#: tpl/crawler/blacklist.tpl.php:79
msgid "API: Filter %s available to disable blocklist."
msgstr "API: Penyaring %s tersedia untuk menonaktifkan daftar blokir."

#: tpl/crawler/blacklist.tpl.php:69
msgid "API: PHP Constant %s available to disable blocklist."
msgstr "API: Konstanta PHP %s tersedia untuk menonaktifkan daftar blokir."

#: thirdparty/litespeed-check.cls.php:100
#: thirdparty/litespeed-check.cls.php:165
msgid "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"
msgstr "Harap pertimbangkan untuk menonaktifkan plugin yang terdeteksi berikut, karena mungkin bertentangan dengan LiteSpeed Cache:"

#: src/metabox.cls.php:43
msgid "Mobile"
msgstr "Ponsel"

#: src/metabox.cls.php:41
msgid "Disable VPI"
msgstr "Nonaktifkan VPI"

#: src/metabox.cls.php:40
msgid "Disable Image Lazyload"
msgstr "Nonaktifkan Tunda muat Gambar"

#: src/metabox.cls.php:39
msgid "Disable Cache"
msgstr "Nonaktifkan Cache"

#: src/lang.cls.php:282
msgid "Debug String Excludes"
msgstr "Pengecualian String Debug"

#: src/lang.cls.php:221
msgid "Viewport Images Cron"
msgstr "Kron Area Pandang Gambar"

#: src/lang.cls.php:220 src/metabox.cls.php:42 src/metabox.cls.php:43
#: tpl/page_optm/settings_vpi.tpl.php:23
msgid "Viewport Images"
msgstr "Area Pandang Gambar"

#: src/lang.cls.php:71
msgid "Alias is in use by another QUIC.cloud account."
msgstr "Alias ​​sedang digunakan oleh akun QUIC.cloud lain."

#: src/lang.cls.php:66
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."
msgstr "Tidak dapat secara otomatis menambahkan %1$s sebagai Alias Domain untuk domain %2$s utama."

#: src/lang.cls.php:58
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."
msgstr "Tidak dapat secara otomatis menambahkan %1$s sebagai Alias Domain untuk domain %2$s utama, karena kemungkinan konflik CDN."

#: src/error.cls.php:231
msgid "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."
msgstr "Anda tidak dapat menghapus zona DNS ini, karena masih digunakan. Harap perbarui peladen nama domain, lalu coba hapus zona ini lagi, jika tidak, situs Anda tidak akan dapat diakses."

#: src/error.cls.php:134
msgid "The site is not a valid alias on QUIC.cloud."
msgstr "Situs ini bukan alias yang valid di QUIC.cloud."

#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr "Harap uji secara menyeluruh setiap berkas JS yang Anda tambahkan untuk memastikannya berfungsi seperti yang diharapkan."

#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr "Harap uji seluruh item secara menyeluruh di %s untuk memastikan seluruhnya berfungsi seperti yang diharapkan."

#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr "Gunakan %1$s untuk melewati UCSS untuk halaman yang tipe halamannya %2$s."

#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr "Gunakan %1$s untuk menghasilkan satu UCSS tunggal untuk halaman yang tipe halamannya %2$s sedangkan tipe halaman lainnya masih per URL."

#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr "Penyaring %s tersedia untuk UCSS tiap pembuatan jenis halaman."

#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr "Mode Tamu gagal diuji."

#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr "Mode Tamu lulus pengujian."

#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr "Pengujian"

#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr "Hasil pengujian Mode Tamu"

#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr "Bukan daftar blokir"

#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr "Pelajari lebih lanjut tentang kapan ini diperlukan"

#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr "Membersihkan seluruh entri sumber daya yang dilokalkan."

#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr "Lihat .htaccess"

#: tpl/toolbox/edit_htaccess.tpl.php:63 tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr "Anda dapat menggunakan kode %1$s di %2$s untuk menentukan jalur berkas htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:62 tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr "Mendukung konstanta PHP %s."

#: tpl/toolbox/edit_htaccess.tpl.php:58 tpl/toolbox/edit_htaccess.tpl.php:76
msgid "Default path is"
msgstr "Jalur asali adalah"

#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr "Jalur .htaccess"

#: tpl/general/settings.tpl.php:49
msgid "Please read all warnings before enabling this option."
msgstr "Harap baca seluruh peringatan sebelum mengaktifkan opsi ini."

#: tpl/toolbox/purge.tpl.php:83
msgid "This will delete all generated unique CSS files"
msgstr "Ini akan menghapus seluruh berkas CSS unik yang dihasilkan"

#: tpl/toolbox/beta_test.tpl.php:85
msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."
msgstr "Untuk menghindari galat pemutakhiran, Anda harus menggunakan %1$s atau yang lebih baru sebelum dapat meningkatkan ke versi %2$s."

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Use latest GitHub Dev/Master commit"
msgstr "Gunakan komit GitHub Dev/Master terbaru"

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."
msgstr "Tekan tombol %s untuk menggunakan komit GitHub terbaru. Master adalah untuk kandidat rilis & Dev untuk pengujian eksperimental."

#: tpl/toolbox/beta_test.tpl.php:73
msgid "Downgrade not recommended. May cause fatal error due to refactored code."
msgstr "Penurunan versi tidak disarankan. Dapat menyebabkan galat fatal karena penulisan ulang kode."

#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr "Hanya optimasi halaman untuk pengunjung tamu (tidak masuk). Jika NONAKTIF, berkas CSS/JS/CCSS akan digandakan oleh setiap grup pengguna."

#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr "Berkas JS yang terdaftar atau kode JS sebaris tidak akan dioptimalkan oleh %s."

#: tpl/page_optm/settings_tuning_css.tpl.php:92
msgid "Listed URI will not generate UCSS."
msgstr "URI yang terdaftar tidak akan menghasilkan UCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:74
msgid "The selector must exist in the CSS. Parent classes in the HTML will not work."
msgstr "Selektor harus ada di CSS. Kelas induk dalam HTML tidak akan berfungsi."

#: tpl/page_optm/settings_tuning_css.tpl.php:70
#: tpl/page_optm/settings_tuning_css.tpl.php:145
msgid "Wildcard %s supported."
msgstr "Mendukung karakter pengganti %s."

#: tpl/page_optm/settings_media_exc.tpl.php:34
msgid "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."
msgstr "Berguna untuk gambar paruh-atas yang menyebabkan CLS (Core Web Vitals metric)."

#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr "Tetapkan lebar dan tinggi secara eksplisit pada elemen gambar untuk mengurangi pergeseran tata letak dan meningkatkan CLS (metrik Core Web Vital)."

#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr "Perubahan pada setelan ini tidak berlaku untuk LQIP yang sudah dibuat. Untuk membuat ulang LQIP yang ada, harap %s terlebih dahulu dari menu bilah admin."

#: tpl/page_optm/settings_js.tpl.php:79
msgid "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."
msgstr "Menangguhkan hingga halaman diuraikan atau menunda hingga interaksi dapat membantu mengurangi perebutan sumber daya dan meningkatkan kinerja yang menyebabkan FID (Core Web Vitals metric) lebih rendah."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr "Ditunda"

#: tpl/page_optm/settings_js.tpl.php:52
msgid "JS error can be found from the developer console of browser by right clicking and choosing Inspect."
msgstr "Galat JS dapat ditemukan dari konsol pengembang peramban dengan klik kanan dan pilih Inspeksi."

#: tpl/page_optm/settings_js.tpl.php:51 tpl/page_optm/settings_js.tpl.php:85
msgid "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."
msgstr "Opsi ini dapat mengakibatkan  JS atau masalah tata letak pada tampilan depan dengan tema/plugin tertentu."

#: tpl/page_optm/settings_html.tpl.php:147
msgid "This will also add a preconnect to Google Fonts to establish a connection earlier."
msgstr "Ini juga akan menambahkan prahubung ke Fon Google untuk membuat koneksi lebih awal."

#: tpl/page_optm/settings_html.tpl.php:91
msgid "Delay rendering off-screen HTML elements by its selector."
msgstr "Tunda merender elemen HTML di luar layar oleh pemilihnya."

#: tpl/page_optm/settings_css.tpl.php:314
msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."
msgstr "Nonaktifkan opsi ini untuk menghasilkan CCSS per Jenis Tulisan, bukan per halaman. Ini dapat menghemat kuota CCSS yang signifikan, namun dapat mengakibatkan gaya CSS yang salah jika situs Anda menggunakan pembuat halaman."

#: tpl/page_optm/settings_css.tpl.php:230
msgid "This option is bypassed due to %s option."
msgstr "Opsi ini dilewati karena opsi %s."

#: tpl/page_optm/settings_css.tpl.php:224
msgid "Elements with attribute %s in HTML code will be excluded."
msgstr "Elemen dengan atribut %s dalam kode HTML akan dikecualikan."

#: tpl/page_optm/settings_css.tpl.php:217
msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."
msgstr "Gunakan layanan daring QUIC.cloud untuk menghasilkan CSS penting dan memuat sisa CSS secara asinkron."

#: tpl/page_optm/settings_css.tpl.php:181
msgid "This option will automatically bypass %s option."
msgstr "Opsi ini akan secara otomatis melewati opsi %s."

#: tpl/page_optm/settings_css.tpl.php:178
msgid "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON."
msgstr "UCSS sebaris untuk mengurangi pemuatan berkas CSS ekstra. Opsi ini tidak akan diaktifkan secara otomatis untuk halaman %1$s. Untuk menggunakannya di halaman %1$s, harap setel ke AKTIF."

#: tpl/page_optm/settings_css.tpl.php:155
#: tpl/page_optm/settings_css.tpl.php:160
#: tpl/page_optm/settings_css.tpl.php:292
#: tpl/page_optm/settings_css.tpl.php:297
#: tpl/page_optm/settings_vpi.tpl.php:100
#: tpl/page_optm/settings_vpi.tpl.php:105
msgid "Run %s Queue Manually"
msgstr "Jalankan Antrean %s Secara Manual"

#: tpl/page_optm/settings_css.tpl.php:93
msgid "This option is bypassed because %1$s option is %2$s."
msgstr "Opsi ini dilewati karena opsi %1$s adalah %2$s."

#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr "Pembuatan otomatis CSS unik di latar belakang melalui antrean berbasis kron."

#: tpl/page_optm/settings_css.tpl.php:83
msgid "This will drop the unused CSS on each page from the combined file."
msgstr "Ini akan menghapus CSS yang tidak digunakan pada setiap halaman dari berkas gabungan."

#: tpl/page_optm/entry.tpl.php:18 tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr "Pengaturan HTML"

#: tpl/inc/in_upgrading.php:15
msgid "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."
msgstr "Plugin cache LiteSpeed ​​ditingkatkan. Harap segarkan halaman untuk menyelesaikan peningkatan data konfigurasi."

#: tpl/general/settings.tpl.php:64
msgid "Your %1$s quota on %2$s will still be in use."
msgstr "Kuota %1$s Anda di %2$s masih akan digunakan."

#: tpl/general/settings_inc.guest.tpl.php:27
msgid "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."
msgstr "Opsi ini dapat membantu memperbaiki variasi cache untuk pengunjung seluler atau tablet tingkat lanjut tertentu."

#: tpl/general/settings_inc.guest.tpl.php:26
msgid "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX."
msgstr "Mode Tamu menyediakan halaman arahan yang selalu dapat dicache untuk kunjungan pertama tamu secara otomatis, dan kemudian berusaha memperbarui variasi cache melalui AJAX."

#: tpl/general/settings.tpl.php:104
msgid "Please make sure this IP is the correct one for visiting your site."
msgstr "Harap pastikan bahwa IP ini sudah benar untuk mengunjungi situs Anda."

#: tpl/general/settings.tpl.php:103
msgid "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."
msgstr "alamat IP yang terdeteksi secara otomatis mungkin tidak akurat jika Anda memiliki set IP keluar tambahan, atau Anda memiliki beberapa IP yang dikonfigurasi di peladen Anda."

#: tpl/general/settings.tpl.php:86
msgid "You need to turn %s on and finish all WebP generation to get maximum result."
msgstr "Anda perlu mengaktifkan %s dan menyelesaikan seluruh pembuatan WebP untuk mendapatkan hasil yang maksimal."

#: tpl/general/settings.tpl.php:79
msgid "You need to turn %s on to get maximum result."
msgstr "Anda perlu mengaktifkan %s untuk mendapatkan hasil yang maksimal."

#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr "Opsi ini memungkinkan pengoptimalan maksimum untuk pengunjung Mode Tamu."

#: tpl/dash/dashboard.tpl.php:54 tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521 tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625 tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713 tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801 tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr "Lebih Lanjut"

#: tpl/dash/dashboard.tpl.php:301
msgid "Remaining Daily Quota"
msgstr "Sisa Kuota Harian"

#: tpl/crawler/summary.tpl.php:246
msgid "Successfully Crawled"
msgstr "Berhasil Dirayapi"

#: tpl/crawler/summary.tpl.php:245
msgid "Already Cached"
msgstr "Sudah Dicache"

#: tpl/crawler/settings.tpl.php:59
msgid "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."
msgstr "Perayap akan menggunakan peta situs XML atau indeks peta situs Anda. Masukkan URL lengkap ke peta situs Anda di sini."

#: tpl/cdn/cf.tpl.php:48
msgid "Optional when API token used."
msgstr "Opsional saat token API sudah digunakan."

#: tpl/cdn/cf.tpl.php:40
msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."
msgstr "Direkomendasikan untuk menghasilkan token dari templat token Cloudflare API \"WordPress\"."

#: tpl/cdn/cf.tpl.php:35
msgid "Global API Key / API Token"
msgstr "Kunci API/Token API Global"

#: tpl/cdn/other.tpl.php:52
msgid "NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s."
msgstr "CATATAN: CDN QUIC.cloud dan Cloudflare tidak menggunakan Pemetaan CDN. Jika Anda hanya menggunakan QUIC.cloud atau Cloudflare, biarkan pengaturan ini %s."

#: tpl/cdn/other.tpl.php:44
msgid "Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN."
msgstr "Ubah pengaturan %s jika Anda menggunakan Jaringan Pengiriman Konten (CDN) tradisional atau subdomain untuk konten statis dengan CDN QUIC.cloud."

#: tpl/cache/settings_inc.object.tpl.php:47
msgid "Use external object cache functionality."
msgstr "Gunakan fungsionalitas cache obyek eksternal."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:24
msgid "Serve a separate cache copy for mobile visitors."
msgstr "Sajikan salinan cache terpisah untuk pengunjung seluler."

#: thirdparty/woocommerce.content.tpl.php:36
msgid "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."
msgstr "Standanya, halaman Akun Saya, Checkout, dan Keranjang yang secara otomatis dikecualikan dari cache. Kesalahan konfigurasi asosiasi halaman di pengaturan WooCommerce dapat menyebabkan beberapa halaman salah dikecualikan."

#: src/purge.cls.php:312
msgid "Cleaned all Unique CSS files."
msgstr "Membersihkan seluruh berkas CSS Unik."

#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr "Tambah Ukuran yang Hilang"

#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr "Optimasi Hanya untuk Pengunjung"

#: src/lang.cls.php:191
msgid "Guest Mode JS Excludes"
msgstr "Pengecualian JS Mode Tamu"

#: src/lang.cls.php:171
msgid "CCSS Per URL"
msgstr "CCSS Per-URL"

#: src/lang.cls.php:168
msgid "HTML Lazy Load Selectors"
msgstr "Selektor Tunda Muat HTML"

#: src/lang.cls.php:163
msgid "UCSS URI Excludes"
msgstr "Pengecualian UCSS URI"

#: src/lang.cls.php:160
msgid "UCSS Inline"
msgstr "UCSS Sebaris"

#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr "Optimasi Pengunjung"

#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr "Mode Tamu"

#: src/error.cls.php:150
msgid "Online node needs to be redetected."
msgstr "Node daring perlu dideteksi ulang."

#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr "Peladen saat ini memiliki beban berat."

#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr "Silakan buka %s untuk lebih detil."

#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr "Pengaturan ini akan membuat ulang daftar perayap dan menghapus daftar yang dinonaktifkan!"

#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr "%1$s %2$s berkas tertinggal dalam antrean"

#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr "Daftar perayap yang dinonaktifkan dibersihkan! Seluruh perayap diatur aktif! "

#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr "Node yang terdeteksi kembali"

#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr "Tidak ada Node Awan yang tersedia setelah memeriksa beban peladen."

#: src/lang.cls.php:176
msgid "Localization Files"
msgstr "Berkas Pelokalan"

#: cli/purge.cls.php:234
msgid "Purged!"
msgstr "Dibersihkan!"

#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr "Sumber daya yang tercantum di sini akan disalin dan diganti dengan URL lokal."

#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr "Gunakan komit GitHub Master terbaru"

#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr "Gunakan komit GitHub Dev terbaru"

#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr "Tidak ada peta situs yang valid yang diuraikan untuk perayap."

#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr "Gabung CSS Eksternal dan Sebaris"

#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr "Sertakan CSS eksternal dan CSS sebaris dalam berkas gabungan saat %1$s diaktifkan. Opsi ini membantu menjaga prioritas CSS, yang seharusnya meminimalkan potensi  yang disebabkan oleh Penggabungan CSS."

#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr "Perkecil dan sebariskan berkas CSS."

#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr "Daftar yang telah ditentukan juga akan digabungkan dengan pengaturan di atas"

#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr "Pelokalan"

#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr "Sertakan JS eksternal dan JS sebaris dalam berkas gabungan saat %1$s diaktifkan. Opsi ini membantu menjaga prioritas eksekusi JS, yang seharusnya meminimalkan potensi  yang disebabkan oleh Gabungan JS."

#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr "Gabungkan seluruh berkas JS lokal menjadi satu berkas."

#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr "Berkas JS yang terdaftar atau kode JS sebaris tidak akan ditangguhkan atau ditunda."

#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr "Gabung JS Eksternal dan Sebaris"

#: src/admin-display.cls.php:805 tpl/banner/new_version.php:114
#: tpl/banner/score.php:142 tpl/banner/slack.php:49
msgid "Dismiss"
msgstr "Abaikan"

#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr "Berkas data terbaru adalah"

#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr "Daftar tersebut akan digabungkan dengan nonces yang telah ditentukan sebelumnya dalam berkas data lokal Anda."

#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr "Gabung berkas CSS dan sebariskan kode CSS."

#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr "Perkecil berkas JS dan sebariskan kode JS."

#: tpl/page_optm/settings_tuning.tpl.php:63
msgid "Listed JS files or inline JS code will not be minified or combined."
msgstr "Berkas JS yang terdaftar atau kode JS sebaris tidak akan diperkecil atau digabungkan."

#: tpl/page_optm/settings_tuning_css.tpl.php:31
msgid "Listed CSS files or inline CSS code will not be minified or combined."
msgstr "Berkas CSS yang terdaftar atau kode CSS sebaris tidak akan diperkecil atau digabungkan."

#: src/admin-display.cls.php:1311
msgid "This value is overwritten by the Network setting."
msgstr "Nilai ini ditimpa oleh pengaturan Jaringan."

#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr "Pengecualian LQIP"

#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr "Gambar-gambar ini tidak akan menghasilkan LQIP."

#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr "Anda yakin ingin menyetel ulang seluruh pengaturan kembali ke pengaturan asali?"

#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr "Opsi ini akan menghapus seluruh tag %s dari HTML."

#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr "Anda yakin ingin menghapus seluruh node awan?"

#: src/lang.cls.php:193 tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr "Hapus Tag Noscript"

#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr "Situs ini tidak terdaftar di QUIC.cloud."

#: src/error.cls.php:73 tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144 tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr "Klik di sini untuk mengatur."

#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr "Lokalisasi Sumber Daya"

#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr "Menyiapkan Header Khusus"

#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr "Ini akan menghapus seluruh sumber daya yang dilokalkan"

#: src/gui.cls.php:776 src/gui.cls.php:996 tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr "Sumber Daya yang Dilokalisasi"

#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr "Mendukung komentar. Mulai baris dengan %s untuk mengubahnya menjadi baris komentar."

#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr "Sumber HTTPS saja."

#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr "Lokalkan sumber daya eksternal."

#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr "Pengaturan Pelokalan"

#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr "Gunakan layanan daring QUIC.cloud untuk menghasilkan CSS yang unik."

#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr "Buat UCSS"

#: tpl/dash/dashboard.tpl.php:668 tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr "CSS Unik"

#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr "Bersihkan entri cache yang dibuat oleh plugin ini kecuali untuk CSS Penting, CSS Unik, dan cache LQIP"

#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr "Laporan LiteSpeed"

#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr "Ukuran Grup Gambar Mini"

#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr "Abaikan string kueri tertentu saat men-cache. (Diperlukan %s LSWS)"

#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr "Untuk URL dengan karakter pengganti, mungkin ada penundaan dalam memulai pembersihan terjadwal."

#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr "Secara desain, opsi ini mungkin menyajikan konten lama. Jangan aktifkan opsi ini, jika Anda tidak setuju."

#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr "Sajikan Sepanjang Waktu"

#: src/admin-display.cls.php:1309
msgid "This value is overwritten by the primary site setting."
msgstr "Nilai ini ditimpa oleh pengaturan situs utama."

#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr "Satu atau lebih gambar yang ditarik tidak cocok dengan md5 gambar yang disampaikan"

#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr "Beberapa berkas gambar yang dioptimalkan telah kedaluwarsa dan telah dihapus."

#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr "Anda memiliki terlalu banyak permintaan gambar, harap coba lagi dalam beberapa menit."

#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr "Nilai md5 gambar WebP yang ditarik tidak cocok dengan md5 gambar WebP yang disampaikan."

#: src/img-optm.cls.php:1131
msgid "Pulled AVIF image md5 does not match the notified AVIF image md5."
msgstr "MD5 gambar AVIF yang ditarik tidak cocok dengan MD5 gambar AVIF yang diberitahukan."

#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr "Baca Dokumentasi LiteSpeed"

#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr "Ada antrean lanjutan yang belum ditarik. Info antrean: %s."

#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr "Tentukan berapa lama, dalam detik, berkas Gravatar dicache."

#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr "Menghapus %1$s gambar yang tidak valid."

#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr "Pengaturan Umum LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr "Ini akan menghapus seluruh berkas Gravatar yang dicache"

#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr "Cegah log debug dari halaman yang terdaftar."

#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr "Hanya catat halaman terdaftar."

#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr "Tentukan ukuran maksimum berkas log."

#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr "Untuk mencegah penuhnya diska, pengaturan ini harus NONAKTIF ketika seluruhnya berfungsi."

#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr "Tekan tombol %s untuk menghentikan pengujian beta dan kembali ke rilis saat ini dari Direktori Plugin WordPress."

#: tpl/toolbox/beta_test.tpl.php:65 tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr "Gunakan versi rilis WordPress terbaru"

#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr "ATAU"

#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr "Gunakan bagian ini untuk mengganti versi plugin. Untuk menguji beta komit GitHub, masukkan URL komit di bidang di bawah ini."

#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr "Reset Pengaturan"

#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr "Peralatan LiteSpeed Cache"

#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr "Pengujian Beta"

#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr "Lihat Log"

#: tpl/toolbox/entry.tpl.php:33 tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr "Pengaturan Debug"

#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr "AKTIFKAN untuk mengontrol detak di editor sisi belakang."

#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr "AKTIFKAN untuk mengontrol detak di sisi belakang."

#: tpl/toolbox/heartbeat.tpl.php:58 tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr "Setel ke %1$s untuk melarang detak di %2$s."

#: tpl/toolbox/heartbeat.tpl.php:57 tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr "Interval valid WordPress adalah %s detik."

#: tpl/toolbox/heartbeat.tpl.php:56 tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr "Tentukan interval detak %s dalam detik."

#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr "AKTIFKAN untuk mengontrol detak di sisi depan."

#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr "Nonaktifkan detak interval WordPress untuk mengurangi beban peladen."

#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr "Kontrol Detakan"

#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr "berikan informasi lebih lanjut di sini untuk membantu tim LiteSpeed ​​melakukan debugging."

#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr "Opsional"

#: tpl/toolbox/report.tpl.php:100 tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr "Buat Tautan untuk Pengguna Saat Ini"

#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr "Tautan Tanpa Kata Sandi"

#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr "Informasi Sistem"

#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr "Buka daftar plugin"

#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr "Instal DoLogin Security"

#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr "Periksa IP publik saya dari"

#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr "IP Peladen Anda"

#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr "Masukkan alamat IP situs ini untuk memungkinkan layanan awan langsung memanggil IP alih-alih nama domain. Ini menghilangkan overhead pencarian DNS dan CDN."

#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr "Ini akan mengaktifkan perayap kron."

#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr "Pengaturan Umum Perayap"

#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr "Hapus dari Daftar Blokir"

#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr "Bersihkan daftar blokir"

#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr "Anda yakin ingin menghapus seluruh item dalam daftar blokir yang ada?"

#: tpl/crawler/blacklist.tpl.php:88 tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr "Diblokir karena tidak dapat dicache"

#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr "Tambahkan ke Daftar Blokir"

#: tpl/crawler/blacklist.tpl.php:43 tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr "Operasi"

#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr "Total Peta Situs"

#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr "Daftar Peta Situs"

#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr "Segarkan Peta Perayap"

#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr "Bersihkan Perayap Peta Situs"

#: tpl/crawler/blacklist.tpl.php:28 tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr "Daftar Blokir"

#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr "Peta"

#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr "Ikhtisar"

#: tpl/crawler/map.tpl.php:63 tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr "Luput Cache"

#: tpl/crawler/map.tpl.php:62 tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr "Kunjungan Cache"

#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr "Menunggu Dirayapi"

#: tpl/crawler/blacklist.tpl.php:89 tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104 tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr "Daftar Blokir"

#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr "Luput"

#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr "Kunjungan"

#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr "Menunggu"

#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr "Menjalankan"

#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr "Gunakan %1$s dalam %2$s untuk menunjukkan kuki ini belum disetel."

#: src/admin-display.cls.php:459
msgid "Add new cookie to simulate"
msgstr "Tambah kuki baru untuk simulasi"

#: src/admin-display.cls.php:458
msgid "Remove cookie simulation"
msgstr "Hapus simulasi Kuki"

#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr "Aturan Htaccess adalah: %s"

#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr "Pengaturan lainnya tersedia di menu %s"

#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr "Jumlah waktu, dalam detik, berkas tersebut akan disimpan di cache peramban sebelum kedaluwarsa."

#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr "Pengguna OpenLiteSpeed silakan periksa ini"

#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr "Pengaturan Cache Peramban"

#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr "Jalur yang berisi string ini akan dipaksa untuk dicache publik terlepas dari pengaturan yang tidak dapat dicache."

#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr "Dengan mengaktifkan CDN QUIC.cloud, Anda mungkin masih melihat header cache dari peladen lokal Anda."

#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr "Parameter opsional kedua dapat digunakan untuk menentukan kontrol cache. Gunakan spasi untuk memisahkan"

#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr "Nonces di atas akan dikonversi ke ESI secara otomatis."

#: tpl/cache/entry.tpl.php:21 tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr "Peramban"

#: tpl/cache/entry.tpl.php:20 tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr "Objek"

#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr "Port asali untuk %1$s adalah %2$s."

#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr "Pengaturan Cache Objek"

#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr "Tentukan kode status HTTP dan jumlah detik untuk menyimpan halaman itu dalam cache, dipisahkan oleh spasi."

#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr "Tentukan berapa lama, dalam detik, halaman depan dicache."

#: tpl/cache/entry.tpl.php:67 tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr "TTL"

#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr "Jika AKTIF, salinan lama dari halaman yang dicache akan ditampilkan kepada pengunjung sampai salinan cache yang baru tersedia. Mengurangi beban peladen untuk kunjungan berikutnya. Jika NONAKTIF, halaman akan dibuat secara dinamis saat pengunjung menunggu."

#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr "Swap"

#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr "Setel ini untuk menambahkan %1$s ke seluruh aturan %2$s sebelum meng-cache CSS guna menentukan bagaimana fon harus ditampilkan saat sedang diunduh."

#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr "Daftar avatar dalam antrean menunggu pembaruan"

#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr "Segarkan cache Gravatar dengan kron."

#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr "Meningkatkan kecepatan dengan men-cache Gravatar (Avatar yang Diakui Secara Global)."

#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr "Simpan Gravatar secara lokal."

#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."
msgstr "Gagal membuat tabel Avatar. Ikuti <a %s>panduan Pembuatan Tabel dari Wiki LiteSpeed</a> untuk menyelesaikan penyiapan."

#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr "Permintaan LQIP tidak akan dikirim untuk gambar yang lebar dan tingginya lebih kecil dari dimensi ini."

#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr "piksel"

#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr "Jumlah yang lebih besar akan menghasilkan kualitas resolusi penampung yang lebih tinggi, tetapi akan menghasilkan berkas yang lebih besar yang akan meningkatkan ukuran halaman dan mengkonsumsi lebih banyak poin."

#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr "Tentukan kualitas saat membuat LQIP."

#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr "Biarkan nonaktif untuk menggunakan penampung warna polos."

#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr "Gunakan layanan generator LQIP (Low Quality Image Placeholder) QUIC.cloud untuk pratinjau gambar yang responsif saat memuat."

#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr "Tentukan warna SVG penampung responsif."

#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr "Variabel %s akan diganti dengan warna latar belakang yang dikonfigurasi."

#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr "Variabel %s akan diganti dengan properti gambar yang sesuai."

#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr "Ini akan dikonversi ke penampung SVG base64 dengan cepat."

#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr "Tentukan SVG yang akan digunakan sebagai pengganti saat membuat secara lokal."

#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr "Cegah tunda muat halaman yang terdaftar."

#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr "Iframe yang memiliki nama kelas induk ini tidak akan dimuat dengan lambat."

#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr "Iframe yang berisi nama kelas ini tidak akan dimuat dengan lambat."

#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr "Gambar yang memiliki nama kelas induk ini tidak akan ditunda muat."

#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr "Optimasi Halaman LiteSpeed Cache"

#: tpl/page_optm/entry.tpl.php:21 tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr "Pengecualian Media"

#: tpl/page_optm/entry.tpl.php:16 tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr "Pengaturan CSS"

#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr "%s disarankan."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr "Ditangguhkan"

#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr "Standar"

#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr "Ini dapat meningkatkan kecepatan pemuatan halaman."

#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr "Secara otomatis mengaktifkan prapengambilan DNS untuk seluruh URL dalam dokumen, termasuk gambar, CSS, JavaScript, dan sebagainya."

#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr "Versi pengembang baru %s tersedia sekarang."

#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr "Versi Pengembang Baru Tersedia!"

#: tpl/banner/cloud_news.tpl.php:51 tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr "Tutup pemberitahuan ini"

#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr "Twitkan ini"

#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr "Tinjauan twit"

#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr "Pelajari selengkapnya"

#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr "Anda baru saja membuka promosi dari QUIC.cloud!"

#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr "Pengaturan kualitas kompresi gambar WordPress dari 100."

#: tpl/img_optm/entry.tpl.php:17 tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19 tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr "Pengaturan Optimasi Gambar"

#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr "Anda yakin ingin menghapus seluruh gambar yang dioptimalkan?"

#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr "Gunakan Berkas yang Dioptimasi"

#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr "Beralih kembali menggunakan gambar yang dioptimalkan"

#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr "Gunakan Berkas Asli"

#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr "Gunakan gambar asli (tidak dioptimalkan) di situs Anda"

#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr "Anda dapat dengan cepat beralih antara menggunakan berkas gambar asli (versi yang tidak dioptimalkan) dan yang dioptimalkan. Ini akan memengaruhi seluruh gambar di situs web Anda, baik versi reguler maupun webp jika tersedia."

#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr "Peralatan Optimasi"

#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr "Pindai Ulang Thumbnail Baru"

#: tpl/img_optm/summary.tpl.php:289
msgid "Congratulations, all gathered!"
msgstr "Selamat, semua sudah terkumpul!"

#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr "Apakah grup gambar itu?"

#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr "Hapus seluruh cadangan gambar asli"

#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr "Hitung Ruang Diska Cadangan"

#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr "Status Optimasi"

#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr "Batas saat ini adalah"

#: tpl/img_optm/summary.tpl.php:68
msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."
msgstr "Untuk memastikan peladen kami dapat berkomunikasi dengan peladen Anda tanpa masalah dan seluruhnya berfungsi dengan baik, untuk beberapa permintaan pertama, jumlah grup gambar yang diizinkan dalam satu permintaan dibatasi."

#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr "Anda dapat meminta maksimum %s gambar sekaligus."

#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr "Optimasi gambar dengan peladen QUIC.cloud kami"

#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr "Revisi yang lebih baru dari beberapa hari ini akan disimpan saat membersihkan revisi."

#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr "Hari"

#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr "Tentukan jumlah revisi terbaru yang harus disimpan saat membersihkan revisi."

#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr "Optimasi Basis Data LiteSpeed Cache"

#: tpl/db_optm/entry.tpl.php:17 tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr "Pengaturan Optimasi DB"

#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr "Nama Opsi"

#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr "Ikhtisar Basis Data"

#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr "Bagus. Tidak ada tabel yang menggunakan mesin MyISAM."

#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr "Ubah ke InnoDB"

#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr "Alat"

#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr "Mesin"

#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr "Tabel"

#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr "Konverter Mesin Tabel Basis Data"

#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr "Bersihkan revisi yang lebih lama dari %1$s hari, tidak termasuk %2$s revisi terbaru"

#: tpl/dash/dashboard.tpl.php:87 tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr "Perayap aktif saat ini"

#: tpl/dash/dashboard.tpl.php:84 tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr "Perayap"

#: tpl/crawler/map.tpl.php:77 tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr "Status Perayap"

#: tpl/dash/dashboard.tpl.php:649 tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737 tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr "Paksakan kron"

#: tpl/dash/dashboard.tpl.php:646 tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734 tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr "Antrean permintaan"

#: tpl/dash/dashboard.tpl.php:639 tpl/dash/dashboard.tpl.php:683
#: tpl/dash/dashboard.tpl.php:727 tpl/dash/dashboard.tpl.php:771
msgid "Time to execute previous request: %s"
msgstr "Waktu untuk mengeksekusi permintaan sebelumnya: %s"

#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr "Cache Pribadi"

#: tpl/dash/dashboard.tpl.php:58 tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr "Cache Publik"

#: tpl/dash/dashboard.tpl.php:53 tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr "Status Cache"

#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr "Penarikan Terakhir"

#: tpl/dash/dashboard.tpl.php:520 tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr "Ikhtisar Pengoptimalan Gambar"

#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr "Segarkan skor halaman"

#: tpl/dash/dashboard.tpl.php:383 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr "Apakah Anda yakin ingin mendeteksi ulang peladen awan terdekat untuk layanan ini?"

#: tpl/dash/dashboard.tpl.php:382 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Current closest Cloud server is %s. Click to redetect."
msgstr "Peladen Awan terdekat saat ini adalah %s. Klik untuk mendeteksi ulang."

#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr "Segarkan waktu muat halaman"

#: tpl/dash/dashboard.tpl.php:354 tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr "Buka dasbor QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:207 tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr "Penampung Gambar Kualitas Rendah"

#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr "Sinkronkan data dari Awan"

#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr "Statistik Penggunaan Layanan QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:293 tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr "Total gambar yang dioptimalkan di bulan ini"

#: tpl/dash/dashboard.tpl.php:292 tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr "Penggunaan Total"

#: tpl/dash/dashboard.tpl.php:274 tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr "Statistik Bayar Sesuai Pemakaian Anda"

#: tpl/dash/dashboard.tpl.php:271 tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr "Saldo PAYG"

#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr "Bayar Sesuai Pemakaian Anda"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr "Penggunaan"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr "Penggunaan Antrean Cepat"

#: tpl/dash/dashboard.tpl.php:206 tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr "Bandwidth CDN"

#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr "Dasbor LiteSpeed Cache"

#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr "Dasbor Jaringan"

#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr "Tidak ada layanan awan yang sedang digunakan"

#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr "Klik untuk menghapus seluruh node untuk deteksi ulang lebih lanjut."

#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr "Node Awan dalam Layanan Saat Ini"

#: tpl/cdn/qc.tpl.php:126 tpl/cdn/qc.tpl.php:133 tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr "Tautan ke QUIC.cloud"

#: tpl/general/entry.tpl.php:17 tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19 tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr "Pengaturan Umum"

#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr "Tentukan atribut elemen HTML mana yang akan diganti dengan Pemetaan CDN."

#: src/admin-display.cls.php:485
msgid "Add new CDN URL"
msgstr "Tambah URL CDN baru"

#: src/admin-display.cls.php:484
msgid "Remove CDN URL"
msgstr "Hapus URL CDN"

#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr "Untuk mengaktifkan fungsi berikut, AKTIFKAN API Cloudflare di Pengaturan CDN."

#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr "CDN"

#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr "Pengaturan WooCommerce"

#: src/gui.cls.php:788 src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr "Cache LQIP"

#: src/admin-settings.cls.php:297 src/admin-settings.cls.php:333
msgid "Options saved."
msgstr "Opsi disimpan."

#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr "Berhasil menghapus cadangan."

#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr "Pencadangan terhitung berhasil."

#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr "Berhasil memindai ulang %d gambar."

#: src/img-optm.cls.php:1527 src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr "Berhasil memindai ulang."

#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr "Berhasil menghapus seluruh data optimasi."

#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr "Berhasil memusnahkan data yang belum selesai."

#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr "Penarikan Kron sedang berjalan"

#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr "Tidak ada gambar valid yang ditemukan oleh peladen Awan dalam permintaan saat ini."

#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr "Tidak ada gambar valid yang ditemukan dalam permintaan saat ini."

#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr "Mendorong %1$s ke peladen Awan, diterima %2$s."

#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr "Usia Maksimal Revisi"

#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr "Jumlah Maksimal Revisi"

#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr "Pengecualian Debug URI"

#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr "Debug URI Termasuk"

#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr "Atribut HTML Untuk Mengganti"

#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr "Gunakan Pemetaan CDN"

#: tpl/general/online.tpl.php:100
msgid "QUIC.cloud CDN:"
msgstr "CDN QUIC.cloud:"

#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr "TTL Detakan Editor"

#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr "Detakan Editor"

#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr "TTL Detakan Sisi Belakang"

#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr "TTL Detakan Sisi Belakang"

#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr "TTL Detakan Sisi Depan"

#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr "Kontrol Detakan Sisi Depan"

#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr "Jalur Sisi Belakang .htaccess"

#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr "Jalur .htaccess Sisi Depan"

#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr "Nonces ESI"

#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr "Kontrol Kualitas Gambar WordPress"

#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr "Permintaan Kron Otomatis"

#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr "Buat LQIP di Latar"

#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr "Dimensi Minimal LQIP"

#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr "Kualitas LQIP"

#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr "Generator Awan LQIP"

#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr "Penampung Responsif SVG"

#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr "Warna Penampung Responsif"

#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr "Dasar Penampung Gambar"

#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr "Pengecualian Tunda Muat URI"

#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr "Pengecualian Nama Kelas Induk Iframe Tunda Muat"

#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr "Pengecualian Nama Kelas Iframe Tunda Muat"

#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr "Pengecualian Nama Kelas Induk Gambar Tunda Muat"

#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr "TTL Cache Gravatar"

#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr "Kron Cache Gravatar"

#: src/gui.cls.php:812 src/gui.cls.php:1032 src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49 tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr "Cache Gravatar"

#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr "Kontrol Prapengambilan DNS"

#: src/lang.cls.php:173 tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr "Optimasi Tampilan Fon"

#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr "Paksa URI Cache Publik"

#: src/lang.cls.php:121
msgid "Notifications"
msgstr "Pemberitahuan"

#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr "TTL Halaman Kode Status HTTP Asali"

#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr "TTL REST Asali"

#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr "Aktifkan Cache"

#: src/cloud.cls.php:320 src/cloud.cls.php:377 src/lang.cls.php:106
msgid "Server IP"
msgstr "IP Peladen"

#: src/lang.cls.php:30
msgid "Images not requested"
msgstr "Gambar tidak diminta"

#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr "Sinkronisasi kredit dengan Peladen Awan berhasil."

#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr "Gagal berkomunikasi dengan peladen QUIC.cloud"

#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr "Kabar gembira dari peladen QUIC.cloud"

#: src/cloud.cls.php:1767 src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr "Pesan dari peladen QUIC.cloud"

#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr "Silakan coba setelah %1$s untuk layanan %2$s."

#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr "Tidak ada Node Awan yang tersedia."

#: src/cloud.cls.php:1131 src/cloud.cls.php:1144 src/cloud.cls.php:1182
#: src/cloud.cls.php:1250 src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr "Galat Awan"

#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr "Basis data telah ditingkatkan di latar belakang sejak %s. Pesan ini akan hilang setelah peningkatan selesai."

#: src/media.cls.php:541
msgid "Restore from backup"
msgstr "Pulihkan dari cadangan"

#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr "Tidak ada cadangan berkas WebP yang tidak dioptimalkan."

#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr "Berkas WebP dikurangi %1$s (%2$s)"

#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr "Saat ini menggunakan berkas WebP versi asli (tidak dioptimalkan)."

#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr "Saat ini menggunakan berkas WebP versi dioptimalkan."

#: src/media.cls.php:464
msgid "Orig"
msgstr "Ori"

#: src/media.cls.php:461
msgid "(no savings)"
msgstr "(tanpa simpanan)"

#: src/media.cls.php:460
msgid "Orig %s"
msgstr "%s Ori"

#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr "Selamat! Berkas Anda sudah dioptimalkan"

#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr "Tidak ada cadangan berkas asli."

#: src/media.cls.php:453 src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr "Menggunakan versi berkas yang dioptimalkan. "

#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr "Asli tersimpan %s"

#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr "Berkas asli dikurangi %1$s (%2$s)"

#: src/media.cls.php:421 src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr "Klik untuk beralih ke versi dioptimalkan."

#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr "Saat ini menggunakan versi berkas asli (tidak dioptimalkan)."

#: src/media.cls.php:420 src/media.cls.php:490
msgid "(non-optm)"
msgstr "(non-optm)"

#: src/media.cls.php:417 src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr "Klik untuk beralih ke versi asli (tidak dioptimalkan)."

#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr "Saat ini menggunakan versi berkas yang dioptimalkan."

#: src/media.cls.php:416 src/media.cls.php:454 src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr "(optm)"

#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr "Pratinjau gambar LQIP untuk ukuran %s"

#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr "LQIP"

#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr "Sebelumnya ada di daftar blokir"

#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr "Ditambahkan secara manual ke daftar blokir"

#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr "Aturan Agen Seluler"

#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr "Peta Situs berhasil dibuat: %d item"

#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr "Peta Situs berhasil dibersihkan"

#: src/admin-display.cls.php:1512
msgid "Invalid IP"
msgstr "IP Invalid"

#: src/admin-display.cls.php:1484
msgid "Value range"
msgstr "Rentang nilai"

#: src/admin-display.cls.php:1481
msgid "Smaller than"
msgstr "Kurang dari"

#: src/admin-display.cls.php:1479
msgid "Larger than"
msgstr "Lebih dari"

#: src/admin-display.cls.php:1473
msgid "Zero, or"
msgstr "Nol, atau"

#: src/admin-display.cls.php:1461
msgid "Maximum value"
msgstr "Nilai maksimal"

#: src/admin-display.cls.php:1458
msgid "Minimum value"
msgstr "Nilai minimal"

#: src/admin-display.cls.php:1438
msgid "Path must end with %s"
msgstr "Jalur harus diakhiri dengan %s"

#: src/admin-display.cls.php:1418
msgid "Invalid rewrite rule"
msgstr "Aturan Penulisan Ulang Tidak Valid"

#: src/admin-display.cls.php:1318
msgid "Currently set to %s"
msgstr "Saat ini diatur ke %s"

#: src/admin-display.cls.php:1305
msgid "This value is overwritten by the PHP constant %s."
msgstr "Nilai ini ditimpa oleh konstanta PHP %s."

#: src/admin-display.cls.php:261
msgid "Toolbox"
msgstr "Peralatan"

#: src/admin-display.cls.php:259
msgid "Database"
msgstr "Basis Data"

#: src/admin-display.cls.php:258 tpl/dash/dashboard.tpl.php:205
#: tpl/dash/network_dash.tpl.php:37 tpl/general/online.tpl.php:83
#: tpl/general/online.tpl.php:133 tpl/general/online.tpl.php:148
msgid "Page Optimization"
msgstr "Optimasi Halaman"

#: src/admin-display.cls.php:251 tpl/dash/entry.tpl.php:16
msgid "Dashboard"
msgstr "Dasbor"

#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr "Berhasil dikonversi ke InnoDB."

#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr "Membersihkan seluruh berkas Gravatar."

#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr "Membersihkan seluruh berkas LQIP."

#: src/error.cls.php:238
msgid "Unknown error"
msgstr "Galat tidak diketahui"

#: src/error.cls.php:227
msgid "Your domain has been forbidden from using our services due to a previous policy violation."
msgstr "Domain Anda telah dilarang menggunakan layanan kami karena pelanggaran kebijakan sebelumnya."

#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr "Validasi panggilan balik ke domain Anda gagal. Pastikan tidak ada firewall yang memblokir peladen kami. Kode respon: "

#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr "Validasi panggilan balik ke domain Anda gagal. Pastikan tidak ada firewall yang memblokir peladen kami."

#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr "Validasi panggilan balik ke domain Anda gagal karena ketidakcocokan hash."

#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr "Permohonan Anda sedang menunggu persetujuan."

#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr "Permintaan sebelumnya terlalu baru. Silakan coba lagi setelah %s."

#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr "Permintaan sebelumnya terlalu baru. Silakan coba lagi nanti."

#: src/error.cls.php:194
msgid "Crawler disabled by the server admin."
msgstr "Perayap dinonaktifkan oleh admin peladen."

#: src/error.cls.php:190
msgid "Failed to create table %1$s! SQL: %2$s."
msgstr "Gagal membuat tabel %1$s! SQL: %2$s."

#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr "Tidak dapat menemukan%1$s dalam %2$s."

#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr "Kredit tidak cukup untuk melanjutkan permintaan saat ini."

#: src/error.cls.php:123
msgid "There is proceeding queue not pulled yet."
msgstr "Ada antrean lanjutan yang belum ditarik."

#: src/error.cls.php:115
msgid "The image list is empty."
msgstr "Daftar gambar kosong."

#: src/task.cls.php:289
msgid "LiteSpeed Crawler Cron"
msgstr "Kron Perayap LiteSpeed"

#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr "Aktifkan opsi ini untuk menampilkan berita terbaru secara otomatis, termasuk perbaikan, rilis baru, ketersediaan versi beta, dan promosi."

#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr "Untuk memberikan akses wp-admin ke Tim Dukungan LiteSpeed, harap buat tautan tanpa kata sandi untuk pengguna yang masuk saat ini untuk dikirim bersama laporan."

#. translators: %s: Link tags
#: tpl/toolbox/report.tpl.php:112
msgid "Generated links may be managed under %sSettings%s."
msgstr "Tautan yang dibuat dapat dikelola melalui %sPengaturan%s."

#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr "Harap TIDAK membagikan tautan tanpa sandi di atas kepada siapapun."

#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr "Untuk membuat tautan tanpa kata sandi untuk akses Tim Dukungan LiteSpeed, Anda harus memasang %s."

#: tpl/banner/cloud_news.tpl.php:30 tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr "Instal"

#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr "Opsi ini hanya tersedia dengan Peladen Situs LiteSpeed Enterprise atau CDN QUIC.cloud."

#: tpl/banner/score.php:74 tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr "Skor Kecepatan Halaman"

#: tpl/banner/score.php:62 tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411 tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr "Diperbaiki oleh"

#: tpl/banner/score.php:53 tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403 tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr "Setelah"

#: tpl/banner/score.php:45 tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395 tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr "Sebelum"

#: tpl/banner/score.php:40 tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr "Waktu Muat Halaman"

#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr "Untuk menggunakan fungsi cache, Anda harus memiliki peladen web LiteSpeed atau menggunakan CDN QUIC.cloud."

#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr "Simpan data EXIF/XMP"

#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr "Coba Versi GitHub"

#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr "Jika Anda me-NONAKTIF-kan salah satu pengaturan di atas, harap hapus jenis berkas terkait dari kotak %s."

#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr "Baik string lengkap maupun sebagian dapat digunakan."

#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr "Gambar yang memuat nama kelas berikut tidak akan ditunda muat."

#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr "Pengecualian Nama Kelas Gambar Tunda Muat"

#: tpl/cache/settings-cache.tpl.php:139 tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr "Sebagai contoh, %1$s diartikan bawah TTL %3$s adalah %2$s detik."

#: tpl/cache/settings-cache.tpl.php:136 tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr "Untuk menentukan TTL khusus untuk URI, tambahkan spasi diikuti oleh nilai TTL di akhir URI."

#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr "Mungkin Nanti"

#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr "Aktifkan Peningkatan Otomatis"

#: tpl/banner/new_version.php:77 tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr "Tingkatkan"

#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr "Rilis %s baru tersedia sekarang."

#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr "Tersedia Versi Baru!"

#: tpl/banner/score.php:121
msgid "Created with ❤️ by LiteSpeed team."
msgstr "Dibuat dengan ❤️ oleh Tim LiteSpeed."

#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr "Tentu, saya akan membuat ulasan!"

#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr "Terima Kasih Telah Menggunakan Plugin LiteSpeed Cache!"

#: src/activation.cls.php:570
msgid "Upgraded successfully."
msgstr "Peningkatan berhasil."

#: src/activation.cls.php:561 src/activation.cls.php:566
msgid "Failed to upgrade."
msgstr "Gagal meningkatkan."

#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr "Pengaturan berhasil diubah."

#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr "Contoh ESI untuk pengembang"

#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr "Ganti %1$s dengan %2$s."

#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr "Anda dapat mengubah kode pendek menjadi blok ESI."

#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr "WpW: Cache Pribadi vs. Cache Publik"

#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr "Tambahkan string kueri %s ke sumber daya untuk melewati tindakan ini."

#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr "Google reCAPTCHA akan dilewati secara otomatis."

#: tpl/crawler/settings.tpl.php:172
msgid "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."
msgstr "Untuk merayapi kuki tertentu, masukkan nama kuki, dan nilai yang ingin Anda jelajahi. Nilai harus satu per baris. Akan ada satu perayap yang dibuat per nilai kuki, per peran yang disimulasikan."

#: src/admin-display.cls.php:456 tpl/crawler/settings.tpl.php:179
msgid "Cookie Values"
msgstr "Nilai Kuki"

#: src/admin-display.cls.php:455
msgid "Cookie Name"
msgstr "Nama Kuki"

#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr "Simulasi Kuki"

#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr "Gunakan pustaka Web Font Loader untuk memuat Fon Google secara asinkron sambil membiarkan CSS lainnya tetap utuh."

#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr "Aktifkan opsi ini untuk membuat LiteSpeed Cache diperbarui secara otomatis setiap kali versi baru dirilis. Jika NONAKTIF, perbarui secara manual seperti biasa."

#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr "Pembaruan Otomatis"

#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr "IP Anda"

#: src/import.cls.php:156
msgid "Reset successfully."
msgstr "Berhasil menyetel ulang."

#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr "Ini akan menyetel ulang seluruh pengaturan ke pengaturan asali."

#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr "Atur Ulang Seluruh Pengaturan"

#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr "Berkas CSS penting yang terpisah akan dihasilkan untuk jalur yang berisi string ini."

#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr "Pisahkan Cache CCSS URI"

#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr "Misalnya, jika setiap Halaman di situs memiliki format yang berbeda, masukkan %s di dalam kotak. Berkas CSS penting yang terpisah akan disimpan untuk setiap Halaman di situs."

#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr "Daftar jenis tulisan di mana setiap item dari jenis itu harus memiliki CCSS sendiri."

#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr "Pisahkan Cache CCSS Jenis Tulisan"

#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr "Daftar antrean ukuran menunggu kron"

#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr "Jika %1$s, sebelum penampung ditempatkan, konfigurasi %2$s akan digunakan."

#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr "Secara otomatis menghasilkan LQIP di latar belakang melalui antrean berbasis kron."

#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr "Ini akan menghasilkan penampung dengan dimensi yang sama dengan gambar jika memiliki atribut lebar dan tinggi."

#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr "Penampung gambar yang responsif dapat membantu mengurangi perombakan tata letak saat gambar dimuat."

#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr "Penampung Responsif"

#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr "Ini akan menghapus seluruh berkas penampung LQIP gambar yang dihasilkan"

#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr "Harap aktifkan LiteSpeed Cache pada pengaturan plugin."

#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr "Harap aktifkan Modul LSCache di tingkat peladen, atau tanyakan penyedia hosting Anda."

#: src/cloud.cls.php:1633 src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr "Gagal meminta melalui WordPress"

#. Description of the plugin
#: litespeed-cache.php
msgid "High-performance page caching and site optimization from LiteSpeed"
msgstr "Cache halaman berkinerja tinggi dan optimasi situs dari LiteSpeed"

#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr "Berhasil menyetel ulang data yang dioptimalkan."

#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr "Perbarui %s sekarang"

#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr "Lihat detail %1$s versi %2$s"

#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5:
#. class/aria
#: src/gui.cls.php:1103
msgid "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."
msgstr "<a href=\"%1$s\" %2$s>Lihat detail versi %3$s</a> atau <a href=\"%4$s\" %5$s target=\"_blank\">perbarui sekarang</a>."

#: src/gui.cls.php:1079
msgid "Install %s"
msgstr "Instal %s"

#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr "Fungsi cache LSCache di halaman ini saat ini tidak tersedia!"

#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr "Diperlukan plugin %1$s versi %2$s untuk tindakan ini."

#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr "Kami bekerja keras untuk meningkatkan pengalaman layanan daring Anda. Layanan tidak akan tersedia selama kami bekerja. Kami mohon maaf atas ketidaknyamanan ini."

#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr "Secara otomatis menghapus cadangan gambar asli setelah mengambil gambar yang dioptimalkan."

#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr "Hapus Cadangan Asli"

#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr "Otomatis meminta optimasi melalui tugas kron."

#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr "Cadangan setiap gambar disimpan sebelum dioptimalkan."

#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr "Berhasil mengganti gambar."

#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr "Ini dapat meningkatkan kualitas tetapi dapat menghasilkan gambar yang lebih besar dari pada saat kehilangan kompresi."

#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr "Optimasi gambar tanpa kehilangan kompresi."

#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr "Optimasi Tanpa Kehilangan"

#: tpl/img_optm/settings.media_webp.tpl.php:25
msgid "Request WebP/AVIF versions of original images when doing optimization."
msgstr "Minta versi WebP/AVIF dari gambar asli saat melakukan pengoptimalan."

#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr "Optimasi gambar dan cadangkan aslinya dalam folder yang sama."

#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr "Optimasi Gambar Asli"

#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr "Ketika opsi ini %s, ia juga akan memuat Fon Google secara asinkron."

#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr "Membersihkan seluruh berkas CSS Penting."

#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr "Ini akan membuat pustaka CSS asinkron sebaris untuk menghindari pemblokiran render."

#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr "Pustaka CSS Asinkron Sebaris"

#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr "Jalankan Antrean secara Manual"

#: tpl/page_optm/settings_css.tpl.php:117
#: tpl/page_optm/settings_css.tpl.php:254 tpl/page_optm/settings_vpi.tpl.php:65
msgid "URL list in %s queue waiting for cron"
msgstr "Daftar URL dalam antrean %s menunggu kron"

#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr "Waktu permintaan terakhir"

#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr "Pembuatan terakhir"

#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr "Jika %s maka akan dilakukan di latar depan, yang akan memperlambat pemuatan halaman."

#: tpl/page_optm/settings_css.tpl.php:219
msgid "Automatic generation of critical CSS is in the background via a cron-based queue."
msgstr "Pembuatan otomatis CSS penting ada di latar belakang melalui antrean berbasis kron."

#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr "Optimasi pengantaran CSS."

#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr "Ini akan menghapus seluruh berkas CSS penting yang dihasilkan"

#: tpl/dash/dashboard.tpl.php:624 tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr "CSS Penting"

#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr "Situs ini menggunakan cache untuk memfasilitasi waktu respons yang lebih cepat dan pengalaman pengguna yang lebih baik. Cache berpotensi menyimpan salinan duplikat dari setiap halaman web yang ditampilkan di situs ini. Seluruh berkas cache bersifat sementara, dan tidak pernah diakses oleh pihak ketiga mana pun, kecuali jika diperlukan untuk mendapatkan dukungan teknis dari vendor plugin cache. Berkas cache kedaluwarsa pada jadwal yang ditetapkan oleh administrator situs, tetapi jika perlu dapat dihapus dengan mudah oleh admin sebelum kedaluwarsa. Kami dapat menggunakan layanan QUIC.cloud untuk memproses & menyimpan sementara data Anda."

#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr "Menonaktifkan ini dapat menyebabkan tugas WordPress yang dipicu oleh AJAX berhenti berfungsi."

#: src/utility.cls.php:214
msgid "right now"
msgstr "sekarang"

#: src/utility.cls.php:214
msgid "just now"
msgstr "baru saja"

#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr "Tersimpan"

#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr "Terakhir Dijalankan"

#: tpl/img_optm/settings.tpl.php:66 tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr "Anda tidak akan dapat Mengembalikan Optimasi setelah cadangan dihapus!"

#: tpl/img_optm/settings.tpl.php:65 tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr "Ini tidak dapat dipulihkan."

#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr "Hapus Cadangan Gambar Asli"

#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr "Anda yakin ingin menghapus seluruh cadangan gambar?"

#: tpl/crawler/blacklist.tpl.php:32 tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr "Total"

#: tpl/img_optm/summary.tpl.php:198 tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr "Berkas"

#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr "Penghitungan Terakhir"

#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr "Kalkulasi Penyimpanan Gambar Asli"

#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr "Optimasi Penyimpanan"

#: tpl/img_optm/settings.tpl.php:165
msgid "Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic."
msgstr "Aktifkan penggantian WebP/AVIF dalam elemen %s yang dihasilkan di luar logika WordPress."

#: tpl/cdn/other.tpl.php:141 tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr "Gunakan format %1$s atau %2$s (elemen opsional)."

#: tpl/cdn/other.tpl.php:137 tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr "Hanya atribut yang tercantum di sini yang akan diganti."

#: tpl/img_optm/settings.tpl.php:149
msgid "Specify which element attributes will be replaced with WebP/AVIF."
msgstr "Tentukan atribut elemen mana yang akan diganti dengan WebP/AVIF."

#: src/lang.cls.php:231
msgid "WebP/AVIF Attribute To Replace"
msgstr "Atribut WebP/AVIF Yang Akan Diganti"

#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr "Hanya berkas dalam direktori ini yang akan diarahkan ke CDN."

#: src/lang.cls.php:262
msgid "Included Directories"
msgstr "Direktori yang Disertakan"

#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr "Bersihkan Semua akan dieksekusi ketika WordPress menjalankan kaitan ini."

#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr "Bersihkan Seluruh Pengait"

#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr "Berhasil menghapus seluruh cache."

#: src/gui.cls.php:696 src/gui.cls.php:861 src/gui.cls.php:916
msgid "LSCache"
msgstr "LSCache"

#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr "Dipaksa dapat dicache"

#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr "Lokasi yang berisi string ini akan dicache terlepas dari pengaturan jangan dicache."

#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr "Jangan Cache URI"

#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr "Pengaturan Pengecualian"

#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr "Ini akan menonaktifkan LSCache dan seluruh fitur optimasi untuk tujuan debug."

#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr "Nonaktifkan Seluruh Fitur"

#: src/gui.cls.php:741 src/gui.cls.php:961 tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr "Cache Opcode"

#: src/gui.cls.php:706 src/gui.cls.php:926 tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr "Cache CSS/JS"

#: src/gui.cls.php:1055 tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr "Hapus seluruh permintaan optimasi gambar yang belum selesai sebelumnya."

#: src/gui.cls.php:1056 tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr "Bersihkan Data yang Belum Selesai"

#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr "Bergabung dengan kami di Slack"

#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr "Bergabung dengan komunitas %s."

#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr "Ingin terhubung dengan pengguna LiteSpeed lainnya?"

#: tpl/cdn/cf.tpl.php:38
msgid "Your API key / token is used to access %s APIs."
msgstr "Kunci/token API Anda digunakan untuk mengakses API %s."

#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr "Alamat surel Anda di %s."

#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr "Gunakan fungsionalitas API %s."

#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr "Untuk mengacak nama host CDN, tentukan beberapa nama host untuk sumber yang sama."

#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr "Bergabung dengan komunitas LiteSpeed Slack"

#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr "Kunjungi forum dukungan LSCWP"

#: src/lang.cls.php:33 tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr "Gambar diberitahukan untuk ditarik"

#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr "Apakah grup?"

#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr "%s gambar"

#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr "%s grup"

#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr "%s gambar"

#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr "%s grup"

#: src/crawler.cls.php:1310
msgid "Guest"
msgstr "Tamu"

#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr "Untuk merayapi situs sebagai pengguna yang masuk, masukkan id pengguna yang akan disimulasikan."

#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr "Simulasi Peran"

#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr "menjalankan"

#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr "Ukuran"

#: tpl/crawler/summary.tpl.php:123 tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr "Alasan berakhir"

#: tpl/crawler/summary.tpl.php:116 tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr "Interval terakhir"

#: tpl/crawler/summary.tpl.php:104 tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr "Perayapan saat ini dimulai pada"

#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr "Waktu perayapan sebelumnya"

#: tpl/crawler/summary.tpl.php:91 tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr "%d detik"

#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr "Terakhir waktu menjalankan lengkap untuk seluruh perayap"

#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr "Perayapan peta situs saat ini dimulai pada"

#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr "Simpan transien dalam basis data jika %1$s %2$s."

#: src/lang.cls.php:143
msgid "Store Transients"
msgstr "Simpan Transien"

#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile
#. User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr "Jika %1$s %2$s, maka %3$s harus diisi!"

#: tpl/crawler/settings.tpl.php:89
msgid "Server allowed max value: %s"
msgstr "Nilai maksimal yang diizinkan peladen: %s"

#: tpl/crawler/settings.tpl.php:79
msgid "Server enforced value: %s"
msgstr "Nilai yang diberlakukan peladen: %s"

#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104 tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76 tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr "CATATAN"

#. translators: %s: list of server variables in <code> tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr "Variabel peladen %s tersedia untuk mengesampingkan pengaturan ini."

#: src/admin-display.cls.php:1532 tpl/cache/settings-esi.tpl.php:103
#: tpl/page_optm/settings_css.tpl.php:87 tpl/page_optm/settings_css.tpl.php:223
#: tpl/page_optm/settings_html.tpl.php:131
#: tpl/page_optm/settings_media.tpl.php:258
#: tpl/page_optm/settings_media_exc.tpl.php:36
#: tpl/page_optm/settings_tuning.tpl.php:48
#: tpl/page_optm/settings_tuning.tpl.php:68
#: tpl/page_optm/settings_tuning.tpl.php:89
#: tpl/page_optm/settings_tuning.tpl.php:110
#: tpl/page_optm/settings_tuning.tpl.php:129
#: tpl/page_optm/settings_tuning_css.tpl.php:35
#: tpl/page_optm/settings_tuning_css.tpl.php:96
#: tpl/page_optm/settings_tuning_css.tpl.php:99
#: tpl/page_optm/settings_tuning_css.tpl.php:100
#: tpl/toolbox/edit_htaccess.tpl.php:61 tpl/toolbox/edit_htaccess.tpl.php:79
msgid "API"
msgstr "API"

#: src/purge.cls.php:531
msgid "Reset the entire OPcache successfully."
msgstr "Berhasil mereset seluruh OPcache."

#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr "Berhasil mengimpor berkas pengaturan %s."

#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr "Gagal mengimpor karena galat berkas."

#: tpl/page_optm/settings_css.tpl.php:61 tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr "Cara Memperbaiki Masalah yang Disebabkan oleh Optimasi CSS/JS."

#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr "Ini akan menghasilkan permintaan tambahan ke peladen, yang akan menambah beban peladen."

#: tpl/cache/settings-advanced.tpl.php:71
msgid "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."
msgstr "Ketika pengunjung menyorot di atas tautan halaman, muat awal halaman itu. Ini akan mempercepat kunjungan ke tautan itu."

#: src/lang.cls.php:241
msgid "Instant Click"
msgstr "Klik Instan"

#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr "Reset seluruh cache kode operasi"

#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr "Ini akan mengimpor pengaturan dari berkas dan menimpa pengaturan LiteSpeed Cache yang ada."

#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr "Impor terakhir"

#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr "Impor"

#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr "Impor Pengaturan"

#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr "Ini akan mengekspor seluruh pengaturan LiteSpeed Cache saat ini dan menyimpannya sebagai berkas."

#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr "Terakhir diekspor"

#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr "Ekspor"

#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr "Ekspor Pengaturan"

#: tpl/presets/entry.tpl.php:17 tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr "Impor/Ekspor"

#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr "Gunakan koneksi tetap aktif untuk mempercepat operasi cache."

#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr "Basis Data yang digunakan"

#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr "ID Basis Data Redis"

#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr "Tentukan sandi yang digunakan saat menghubungkan."

#: src/lang.cls.php:137
msgid "Password"
msgstr "Kata Sandi"

#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr "Hanya tersedia jika %s terpasang."

#: src/lang.cls.php:136
msgid "Username"
msgstr "Nama Pengguna"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr "Nama Host atau alamat IP Anda %s."

#: src/lang.cls.php:132
msgid "Method"
msgstr "Metode"

#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr "Berhasil membersihkan seluruh cache objek."

#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr "Cache objek dinonaktifkan."

#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr "Meningkatkan kecepatan wp-admin melalui cache. (Mungkin menemukan data kedaluwarsa)"

#: src/lang.cls.php:142
msgid "Cache WP-Admin"
msgstr "Cache WP-Admin"

#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr "Koneksi Persisten"

#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr "Jangan Cache Grup"

#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr "Grup yang dicache di tingkat jaringan."

#: src/lang.cls.php:139
msgid "Global Groups"
msgstr "Grup Global"

#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr "Tes Koneksi"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr "Ekstensi %s"

#: tpl/cache/settings_inc.object.tpl.php:52 tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr "Status"

#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr "TTL asali untuk objek yang dicache."

#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr "Waktu-Aktif Objek Asali"

#: src/lang.cls.php:134
msgid "Port"
msgstr "Port"

#: src/lang.cls.php:133
msgid "Host"
msgstr "Host"

#: src/gui.cls.php:729 src/gui.cls.php:949 src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60 tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr "Cache Objek"

#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr "Gagal"

#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr "Lulus"

#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr "Tidak Tersedia"

#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr "Bersihkan seluruh cache objek"

#: src/cdn/cloudflare.cls.php:275 src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr "Gagal berkomunikasi dengan Cloudflare"

#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr "Berhasil berkomunikasi dengan Cloudflare."

#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr "Tidak tersedia zona Cloudflare"

#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr "Berhasil memberitahu Cloudflare untuk membersihkan seluruhnya."

#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr "API Cloudflare dinonaktifkan."

#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr "Berhasil memberitahu Cloudflare untuk mengatur mode pengembangan ke %s."

#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr "Setelah disimpan, ia akan dicocokkan dengan daftar saat ini dan otomatis selesai."

#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr "Anda dapat menuliskan bagian domain."

#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr "Domain"

#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr "API Cloudflare"

#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr "Bersihkan Semua"

#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr "Cache Cloudflare"

#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr "Mode Pengembangan akan dimatikan secara otomatis setelah tiga jam."

#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr "Memintas sementara cache Cloudflare. Hal ini memungkinkan perubahan pada peladen asal terlihat dalam waktu nyata."

#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr "Mode pengembangan otomatis dinonaktifkan dalam %s."

#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr "Status saat ini adalah %s."

#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr "Status sekarang %1$s sejak %2$s."

#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr "Cek Status"

#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr "NONAKTIFKAN"

#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr "Aktifkan"

#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr "Mode Pengembangan"

#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr "Zona Cloudflare"

#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr "Domain Cloudflare"

#: src/gui.cls.php:717 src/gui.cls.php:937 tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr "Cloudflare"

#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr "Sebagai contoh"

#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr "Prapengambilan DNS dapat mengurangi latensi bagi pengunjung."

#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr "Prapengambilan DNS"

#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr "Menambahkan Gaya ke Tunda-Pemuatan Gambar Anda"

#: src/admin-display.cls.php:1371 src/admin-display.cls.php:1390
#: tpl/cdn/other.tpl.php:108
msgid "Default value"
msgstr "Nilai asali"

#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr "Tautan jenis berkas statis untuk diganti dengan tautan CDN."

#. translators: %1$s: Example query string, %2$s: Example wildcard
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:34
msgid "For example, to drop parameters beginning with %1$s, %2$s can be used here."
msgstr "Sebagai contoh, untuk menghapus paramater yang diawali %1$s, di sini dapat menggunakan %2$s."

#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr "Bersihkan String Kueri"

#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr "Aktifkan opsi ini jika Anda menggunakan HTTP dan HTTPS di domain yang sama dan memperhatikan penyimpangan cache."

#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr "Tingkatkan Kompatibilitas HTTP/HTTPS"

#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr "Hapus seluruh permintaan/hasil optimasi gambar sebelumnya, kembalikan optimasi yang telah selesai, dan hapus seluruh berkas optimasi."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr "Hapus Seluruh Data Optimasi"

#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr "Pindai ukuran gambar mini baru yang tidak dioptimalkan dan kirim ulang permintaan optimasi gambar yang diperlukan."

#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr "Ini akan meningkatkan ukuran berkas yang dioptimalkan."

#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr "Simpan data EXIF (hak cipta, GPS, komentar, kata kunci, dll.) saat mengoptimalkan."

#: tpl/toolbox/log_viewer.tpl.php:46 tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr "Bersihkan Log"

#: src/utility.cls.php:217
msgid " %s ago"
msgstr " %s lalu"

#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr "WebP tersimpan %s"

#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr "Jika Anda mengalami masalah, silakan merujuk ke nomor laporan di pesan dukungan Anda."

#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr "Penarikan terakhir yang dimulai oleh kron pada %s."

#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr "Gambar otomatis ditarik jika tugas kron berjalan."

#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr "Hanya tekan tombol jika tugas penarikan kron dinonaktifkan."

#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr "Tarik Gambar"

#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr "Proses ini otomatis."

#: tpl/dash/dashboard.tpl.php:569 tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr "Permintaan Terakhir"

#: tpl/dash/dashboard.tpl.php:546 tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr "Gambar Ditarik"

#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr "Laporan"

#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr "Kirim laporan ini ke LiteSpeed. Lihat nomor laporan ini saat mengirim di forum dukungan WordPress."

#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr "Kirim ke LiteSpeed"

#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr "Pengoptimalan LiteSpeed"

#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr "Muat Fon Google Secara Asinkron"

#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr "TTL Cache Peramban"

#. translators: %s: Link tags
#: tpl/img_optm/summary.tpl.php:337
msgid "Results can be checked in %sMedia Library%s."
msgstr "Hasil dapat diperiksa di %sPustaka Media%s."

#: src/doc.cls.php:101 tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846 tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93 tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114 tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46 tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr "Pelajari Lebih Lanjut"

#: tpl/img_optm/summary.tpl.php:285
msgid "Image groups total"
msgstr "Total grup gambar"

#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr "Gambar telah dioptimalkan dan ditarik"

#: src/lang.cls.php:32 tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr "Gambar diminta"

#: src/img-optm.cls.php:1993 src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr "Berhasil mengganti dengan berkas yang dioptimalkan."

#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr "Berhasil mengembalikan berkas asli."

#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr "Berhasil mengaktifkan berkas WebP."

#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr "Berhasil menonaktifkan berkas WebP."

#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr "Secara signifikan meningkatkan waktu muat dengan mengganti gambar dengan versi %s yang dioptimalkan."

#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr "Peran yang dipilih akan dikecualikan dari cache."

#: tpl/page_optm/entry.tpl.php:23 tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr "Penyesuaian"

#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr "Peran terpilih akan dikecualikan dari seluruh optimasi."

#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr "Pengecualian Peran"

#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr "Pengaturan Penyesuaian"

#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr "Jika slug tag tidak ditemukan, tag akan dihapus dari daftar saat menyimpan."

#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr "Jika nama kategori tidak ditemukan, kategori tersebut akan dihapus dari daftar di simpan."

#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr "Setelah peladen Pengoptimalan Gambar QUIC.cloud menyelesaikan pengoptimalan, peladen akan memberi tahu situs Anda untuk menarik gambar yang dioptimalkan."

#: tpl/dash/dashboard.tpl.php:537 tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr "Kirim Permintaan Optimasi"

#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr "Informasi Gambar"

#: tpl/dash/dashboard.tpl.php:543 tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr "Pengurangan Total"

#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr "Ringkasan Optimasi"

#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr "Optimasi Gambar LiteSpeed Cache"

#: src/admin-display.cls.php:257 src/gui.cls.php:895
#: tpl/dash/dashboard.tpl.php:204 tpl/dash/network_dash.tpl.php:36
#: tpl/general/online.tpl.php:75 tpl/general/online.tpl.php:134
#: tpl/general/online.tpl.php:149 tpl/presets/standard.tpl.php:32
msgid "Image Optimization"
msgstr "Optimasi Gambar"

#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr "Sebagai contoh, %s dapat digunakan sebagai penampung gambar transparan."

#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr "Secara asali, penampung gambar abu-abu %s akan digunakan."

#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr "Ini dapat ditentukan sebelumnya dalam %2$s juga menggunakan konstanta %1$s, dengan pengaturan ini yang diprioritaskan."

#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr "Tentukan gambar base64 untuk digunakan sebagai penampung sederhana saat gambar selesai dimuat."

#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr "Elemen dengan atribut %s dalam kode html akan dikecualikan."

#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr "Mendukung penyaring %s."

#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr "Gambar terdaftar tidak akan ditunda pemuatannya."

#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr "Pengecualian Tunda Muat Gambar"

#: src/gui.cls.php:667
msgid "No optimization"
msgstr "Tanpa optimasi"

#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr "Cegah pengoptimalan halaman terdaftar."

#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr "Pengecualian URI"

#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr "Berhenti memuat emoji WordPress.org. Sebagai gantinya, akan ditampilkan Emoji asali peramban."

#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr "Baik URL lengkap maupun string parsial dapat digunakan."

#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr "Muat iframe hanya jika telah memasuki area pandang."

#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr "Tunda Muat Iframe"

#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr "Ini dapat meningkatkan waktu pemuatan halaman dengan mengurangi permintaan HTTP awal."

#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr "Muat gambar hanya ketika gambar sudah dalam area pandang."

#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr "Tunda Muat Gambar"

#: tpl/page_optm/entry.tpl.php:19 tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr "Pengaturan Media"

#: tpl/cache/settings-excludes.tpl.php:46
msgid "For example, for %1$s, %2$s and %3$s can be used here."
msgstr "Sebagai contoh, untuk %1$s, di sini dapat digunakan %2$s dan %3$s."

#: tpl/cache/settings-esi.tpl.php:113 tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr "Mendukung karakter bebas %1$s (cocok dengan nol atau lebih karakter). Misalnya, untuk mencocokkan %2$s dan %3$s, gunakan %4$s."

#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr "Untuk mencocokkan awal, tambahkan %s ke awal item."

#. translators: 1: example URL, 2: pattern example
#: src/admin-display.cls.php:1553
msgid "For example, for %1$s, %2$s can be used here."
msgstr "Sebagai contoh, untuk %1$s, di sini dapat digunakan %2$s."

#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr "Mungkin nanti"

#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr "Saya telah memberikan ulasan"

#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr "Selamat datang di LiteSpeed"

#: src/lang.cls.php:192 tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr "Hapus Emoji WordPress"

#: src/gui.cls.php:677
msgid "More settings"
msgstr "Pengaturan lainnya"

#: src/gui.cls.php:654
msgid "Private cache"
msgstr "Cache pribadi"

#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr "Tidak dapat dicache"

#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr "Tandai halaman ini sebagai "

#: src/gui.cls.php:584 src/gui.cls.php:601
msgid "Purge this page"
msgstr "Bersihkan halaman ini"

#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr "Tangguhkan Pemuatan JS"

#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr "Tentukan aturan CSS penting untuk konten di atas-lipatan ketika mengaktifkan %s."

#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr "Aturan CSS Penting"

#: src/lang.cls.php:170 tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr "Muat CSS Secara Asinkron"

#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr "Cegah Fon Google dimuat di seluruh halaman."

#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr "Hapus Fon Google"

#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175 tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr "Ini dapat meningkatkan skor kecepatan Anda di layanan seperti Pingdom, GTmetrix dan PageSpeed."

#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr "Hapus string kueri dari sumber daya statis internal."

#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr "Hapus String Kueri"

#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr "agen pengguna"

#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr "kuki"

#. translators: %s: Link tags
#: tpl/cache/settings_inc.browser.tpl.php:46
msgid "You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s."
msgstr "Anda juga dapat mengaktifkan cache peramban di admin peladen. %sPelajari lebih lanjut tentang pengaturan cache peramban LiteSpeed%s."

#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr "Cache peramban menyimpan berkas statis secara lokal di peramban pengguna. Aktifkan pengaturan ini untuk mengurangi permintaan berkas statis berulang."

#: src/lang.cls.php:109 tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605 tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr "Cache Peramban"

#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr "tag"

#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr "Jangan Cache Tag"

#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr "Untuk mengecualikan %1$s, sisipkan %2$s."

#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr "kategori"

#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr "Untuk mencegah %s dicache, masukkan di sini."

#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr "Jangan Cache Kategori"

#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr "String kueri yang berisi parameter ini tidak akan dicache."

#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr "Jangan Cache String Kueri"

#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr "Lokasi yang memuat string berikut tidak akan dicache."

#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr "Jangan Cache URI"

#: src/admin-display.cls.php:1559 src/doc.cls.php:128
msgid "One per line."
msgstr "Satu per baris."

#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr "Jalur URI yang mengandung string ini TIDAK akan dicache sebagai publik."

#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr "URI Cache Pribadi"

#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr "Lokasi yang berisi string ini tidak akan dilayani dari CDN."

#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr "Kecualikan Lokasi"

#: src/lang.cls.php:259 tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr "Sertakan Jenis Berkas"

#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr "Sajikan seluruh berkas JavaScript melalui CDN. Ini akan memengaruhi seluruh berkas WP JavaScript yang telah diminta."

#: src/lang.cls.php:258
msgid "Include JS"
msgstr "Sertakan JS"

#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr "Sajikan seluruh berkas CSS melalui CDN. Ini akan memengaruhi seluruh berkas WP CSS yang telah diminta."

#: src/lang.cls.php:257
msgid "Include CSS"
msgstr "Sertakan CSS"

#: tpl/cdn/other.tpl.php:87
msgid "Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes."
msgstr "Sajikan seluruh berkas gambar melalui CDN. Ini akan memengaruhi seluruh lampiran, tag HTML %1$s, dan atribut CSS %2$s."

#: src/lang.cls.php:256
msgid "Include Images"
msgstr "Sertakan Gambar"

#: src/admin-display.cls.php:482
msgid "CDN URL to be used. For example, %s"
msgstr "URL CDN yang digunakan. Sebagai contoh, %s"

#: src/lang.cls.php:255
msgid "CDN URL"
msgstr "URL CDN"

#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr "URL situs untuk dilayani melalui CDN. Dimulai dengan %1$s. Misalnya,%2$s."

#: src/lang.cls.php:261
msgid "Original URLs"
msgstr "URL Original"

#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr "Pengaturan CDN"

#: src/admin-display.cls.php:256
msgid "CDN"
msgstr "CDN"

#: src/admin-display.cls.php:487 src/admin-display.cls.php:1168
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.object.tpl.php:280 tpl/cdn/other.tpl.php:53
#: tpl/dash/dashboard.tpl.php:69 tpl/dash/dashboard.tpl.php:462
#: tpl/dash/dashboard.tpl.php:584 tpl/dash/dashboard.tpl.php:613
#: tpl/img_optm/settings.media_webp.tpl.php:22
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_js.tpl.php:77
#: tpl/page_optm/settings_media.tpl.php:180
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "OFF"
msgstr "NONAKTIF"

#: src/admin-display.cls.php:486 src/admin-display.cls.php:1167
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: src/doc.cls.php:41 tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.cache_mobile.tpl.php:91 tpl/cdn/other.tpl.php:45
#: tpl/crawler/settings.tpl.php:138 tpl/dash/dashboard.tpl.php:67
#: tpl/dash/dashboard.tpl.php:460 tpl/dash/dashboard.tpl.php:582
#: tpl/dash/dashboard.tpl.php:611 tpl/page_optm/settings_css.tpl.php:220
#: tpl/page_optm/settings_media.tpl.php:176
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "ON"
msgstr "AKTIF"

#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr "Beritahu Peladen Situs LiteSpeed untuk membersihkan entri CSS/JS."

#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr "Perkecil konten HTML."

#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr "Perkecil HTML"

#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr "Kecualikan JS"

#: src/lang.cls.php:165
msgid "JS Combine"
msgstr "Gabungkan JS"

#: src/lang.cls.php:164
msgid "JS Minify"
msgstr "Perkecil JS"

#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr "Kecualikan CSS"

#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr "Gabungkan CSS"

#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr "Perkecil CSS"

#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr "Harap uji secara menyeluruh saat mengaktifkan opsi apa pun dalam daftar ini. Setelah mengubah pengaturan Memperkecil/Menggabungkan, harap Bersihkan Semua."

#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr "Ini hanya akan membersihkan seluruh entri CSS/JS yang diperkecil/digabungkan"

#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr "Bersihkan Galat %s"

#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr "Pengoptimal Basis Data"

#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr "Optimasi seluruh tabel pada basis data Anda"

#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr "Optimalkan Tabel"

#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr "Bersihkan seluruh opsi transien"

#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr "Seluruh Transien"

#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr "Bersihkan opsi transien kedaluwarsa"

#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr "Transien Kedaluwarsa"

#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr "Bersihkan seluruh lacak dan ping balik"

#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr "Lacak/Ping Balik"

#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr "Bersihkan seluruh sampah komentar"

#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr "Sampah Komentar"

#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr "Bersihkan seluruh komentar spam"

#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr "Komentar Spam"

#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr "Bersihkan seluruh sampah tulisan dan halaman"

#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr "Tulisan Dihapus"

#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr "Bersihkan seluruh konsep yang tersimpan"

#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr "Draf Otomatis"

#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr "Bersihkan seluruh revisi tulisan"

#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr "Revisi Tulisan"

#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr "Bersihkan Semua"

#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr "Seluruh tabel telah dioptimalkan."

#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr "Berhasil membersihkan seluruh transien."

#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr "Berhasil membersihkan transien kadaluarsa."

#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr "Berhasil membersihkan ping dan lacak balik."

#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr "Berhasil membersihkan sampah komentar."

#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr "Berhasil membersihkan komentar spam."

#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr "Berhasil membersihkan sampah tulisan dan halaman."

#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr "Berhasil membersihkan konsep otomatis."

#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr "Berhasil membersihkan revisi tulisan."

#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr "Berhasil membersihkan seluruhnya."

#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr "TTL Cache Pribadi Asali"

#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr "Jika situs Anda berisi konten publik yang bisa dilihat oleh peran pengguna tertentu tetapi peran lain tidak bisa, Anda bisa menentukan Grup Berbeda untuk peran pengguna itu. Misalnya, menentukan grup dengan variasi administrator memungkinkan ada halaman terpisah yang dibuat untuk publik yang dibuat khusus untuk administrator (dengan tautan \"edit\", dll), sementara seluruh peran pengguna lainnya melihat halaman publik asali."

#: src/lang.cls.php:238 tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277 tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr "Grup Berbeda"

#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr "Cache blok ESI Formulir Komentar bawaan."

#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr "Cache Formulir Komentar"

#: tpl/cache/settings-esi.tpl.php:72
msgid "Cache the built-in Admin Bar ESI block."
msgstr "Cache blok ESI Bilah Admin bawaan."

#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr "Cache Bilah Admin"

#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr "Aktifkan cache halaman publik untuk pengguna yang masuk dan sajikan Bilah Admin dan Formulir Komentar melalui blok ESI. Dua blok ini tidak akan dicache kecuali diaktifkan di bawah."

#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr "ESI memungkinkan Anda untuk menunjuk bagian-bagian dari halaman dinamis Anda sebagai fragmen terpisah yang kemudian disusun bersama untuk membuat keseluruhan halaman. Dengan kata lain, ESI memungkinkan Anda “membuat lubang” di halaman, dan kemudian mengisi lubang itu dengan konten yang mungkin dicache secara pribadi, dicache secara publik dengan TTL-nya sendiri, atau tidak dicache sama sekali."

#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr "Dengan ESI (Edge Side Includes), halaman dapat disajikan dari cache untuk pengguna yang masuk."

#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr "Pribadi"

#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr "Publik"

#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr "Pengaturan Pembersihan"

#: src/lang.cls.php:126 tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr "Cache Seluler"

#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr "Level lanjutan akan mencatat lebih detail."

#: tpl/presets/standard.tpl.php:29 tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr "Dasar"

#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr "Beban rata-rata maksimal peladen yang diizinkan saat perayapan. Jumlah rangkaian perayap yang digunakan akan dikurangi secara aktif hingga rata-rata beban peladen berkurang di bawah batas ini. Jika ini tidak dapat dicapai dengan perayap tunggal, perayapan yang berlangsung saat ini akan dihentikan."

#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr "Cache Halaman Masuk"

#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr "Permintaan cache dibuat oleh panggilan REST API WordPress."

#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr "Cache REST API"

#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr "Cache secara pribadi komentator yang memiliki komentar tertunda. Menonaktifkan opsi ini akan menayangkan halaman yang tidak dapat dicache untuk komentator. (Diperlukan LSWS %s)"

#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr "Cache Komentator"

#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr "Cache tampilan depan secara pribadi untuk pengguna yang masuk. (Diperlukan LSWS %s)"

#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr "Cache Pengguna Masuk"

#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr "Pengaturan Kontrol Cache"

#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr "ESI"

#: tpl/cache/entry.tpl.php:19 tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr "Kecualikan"

#: tpl/cache/entry.tpl.php:18 tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16 tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr "Pembersihan"

#: src/admin-display.cls.php:255 tpl/cache/entry.tpl.php:17
#: tpl/cache/entry.tpl.php:66
msgid "Cache"
msgstr "Cache"

#: tpl/inc/show_rule_conflict.php:16
msgid "Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)"
msgstr "Aturan cache tak terduga %2$s ditemukan di berkas %1$s. Aturan ini dapat menyebabkan pengunjung melihat halaman versi lama karena peramban melakukan cache halaman HTML. Jika Anda yakin bahwa halaman HTML tidak dicache peramban, pesan ini dapat ditutup. (%3$sPelajari Lebih Lanjut%4$s)"

#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr "Waktu peladen saat ini adalah %s."

#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr "Tetapkan waktu untuk membersihkan daftar \"%s\"."

#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr "Baik %1$s dan %2$s, dapat diterima."

#: src/lang.cls.php:148 tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr "Waktu Pembersihan Terjadwal"

#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr "URL di sini (satu per baris) akan dihapus secara otomatis pada waktu yang ditentukan dalam opsi \"%s\"."

#: src/lang.cls.php:147 tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr "Pembersihan URL Terjadwal"

#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr "Persingkat string kueri dalam log debug untuk meningkatkan keterbacaan."

#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr "Detakan"

#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr "MB"

#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr "Batas Ukuran Berkas Log"

#: src/htaccess.cls.php:784
msgid "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"
msgstr "<p>Silakan tambahkan /ganti kode berikut ke awal %1$s:</p>%2$s"

#: src/error.cls.php:158 src/error.cls.php:182
msgid "%s file not writable."
msgstr "Berkas %s tidak dapat ditulisi."

#: src/error.cls.php:178
msgid "%s file not readable."
msgstr "Berkas %s tidak dapat dibaca."

#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr "Ciutkan String Kueri"

#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr "Pengaturan ESI"

#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr "TTL 0 mengindikasikan jangan dicache."

#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr "Nilai disarankan: 28800 detik (8 jam)."

#: tpl/esi_widget_edit.php:71
msgid "Widget Cache TTL"
msgstr "TTL Cache Widget"

#: src/lang.cls.php:234 tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr "Aktifkan ESI"

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:66
msgid "See %sIntroduction for Enabling the Crawler%s for detailed information."
msgstr "Lihat %sPendahuluan untuk Mengaktifkan Perayap%s Untuk informasi lebih lanjut."

#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr "Peta Situs Khusus"

#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr "Bersihkan halaman berdasarkan URL relatif atau lengkap."

#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr "Fitur perayap tidak diaktifkan di peladen LiteSpeed. Silakan berkonsultasi dengan admin peladen atau penyedia hosting Anda."

#: tpl/cache/settings-esi.tpl.php:45 tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60 tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77 tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr "PERINGATAN"

#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr "Perayapan peta situs lengkap berikutnya akan dimulai pada"

#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr "Gagal menulis ke %s."

#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr "Folder tidak dapat ditulisi: %s."

#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr "Tidak dapat membuat folder: %1$s. Galat: %2$s"

#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr "Folder tidak ada: %s"

#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr "Beritahu Peladen Situs LiteSpeed untuk membersihkan daftar."

#. translators: %s: Link tags
#: tpl/cache/settings-cache.tpl.php:36
msgid "Please visit the %sInformation%s page on how to test the cache."
msgstr "Harap kunjungi halaman %sInformasi%s untuk bagaimana menguji cache."

#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr "Mengizinkan IP terdaftar (satu per baris) untuk melakukan tindakan tertentu dari peramban mereka."

#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr "Batas Beban Peladen"

#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr "Tentukan berapa detik sebelum perayap harus kembali merayapi seluruh peta situs."

#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr "Interval Perayapan"

#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr "Kemudian WordPress lain diinstal (BUKAN MULTI SITUS) di %s"

#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr "Pengaturan Cache Jaringan LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr "Pilih di bawah ini untuk opsi \"Pembersihan berdasarkan\"."

#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr "CDN LiteSpeed Cache"

#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr "Tidak ada berkas meta perayap yang dibuat"

#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr "Tampilkan status perayap"

#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr "Lihat Status Perayap"

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:261
msgid "Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task."
msgstr "Harap lihat %sMenghubungkan WP-Kron ke Penjadwal Tugas Sistem%s untuk mempelajari cara membuat tugas kron sistem."

#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr "Frekuensi menjalankan diatur oleh pengaturan Interval Antar Proses."

#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr "Jalankan manual"

#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr "Reset posisi"

#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr "Frekuensi Dijalankan"

#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr "Nama Kron"

#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr "Kron Perayap"

#: cli/crawler.cls.php:100 tpl/crawler/summary.tpl.php:47
msgid "%d minute"
msgstr "%d menit"

#: cli/crawler.cls.php:98 tpl/crawler/summary.tpl.php:47
msgid "%d minutes"
msgstr "%d menit"

#: cli/crawler.cls.php:91 tpl/crawler/summary.tpl.php:39
msgid "%d hour"
msgstr "%d jam"

#: cli/crawler.cls.php:89 tpl/crawler/summary.tpl.php:39
msgid "%d hours"
msgstr "%d jam"

#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr "Dibuat pada %s"

#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr "Perayap LiteSpeed Cache"

#. translators: %s: Link tags
#: tpl/inc/show_display_installed.php:37
msgid "If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s."
msgstr "Jika ada pertanyaan, tim selalu senang menjawab pertanyaan apa pun di %sforum dukungan%s."

#: src/admin-display.cls.php:260 src/lang.cls.php:267
msgid "Crawler"
msgstr "Perayap"

#. Plugin URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"
msgstr "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"

#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr "Beritahu Peladen Situs LiteSpeed untuk membersihkan seluruh halaman."

#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr "Seluruh halaman dengan Widget Tulisan Terkini"

#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr "Halaman"

#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr "Ini akan Membersihkan Halaman saja"

#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr "Bersihkan Halaman"

#: src/gui.cls.php:133 tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr "Batal"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate"
msgstr "Nonaktifkan"

#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr "Aktifkan"

#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr "Alamat Surel"

#: src/gui.cls.php:1080
msgid "Install Now"
msgstr "Instal Sekarang"

#: cli/purge.cls.php:182
msgid "Purged the URL!"
msgstr "Menghapus URL!"

#: cli/purge.cls.php:133
msgid "Purged the blog!"
msgstr "Membersihkan blog!"

#: cli/purge.cls.php:86
msgid "Purged All!"
msgstr "Membersihkan Semua!"

#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr "Beritahu Peladen Situs LiteSpeed untuk membersihkan halaman galat."

#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr "Jika menggunakan OpenLiteSpeed, peladen harus dimulai ulang sekali agar perubahan diterapkan."

#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr "Jika kuki masuk baru-baru ini diubah dalam pengaturan, silakan keluar dan masuk kembali."

#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr "Namun, tidak ada cara untuk mengetahui seluruh kemungkinan penyesuaian yang diterapkan."

#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr "Plugin LiteSpeed Cache digunakan untuk men-cache halaman, cara sederhana untuk meningkatkan kinerja situs."

#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr "Pengaturan admin jaringan dapat ditimpa di sini."

#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr "Tentukan berapa lama, dalam detik, halaman publik dicache."

#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr "Tentukan berapa lama, dalam detik, halaman pribadi dicache."

#: tpl/cache/network_settings-cache.tpl.php:29
msgid "It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first."
msgstr "SANGAT dianjurkan untuk menguji kompatibilitas dengan plugin lain terlebih dahulu pada satu atau beberapa situs."

#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr "Bersihkan halaman berdasarkan ID tulisan."

#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr "Bersihkan entri cache LiteSpeed ​​yang dibuat oleh plugin ini"

#: tpl/toolbox/purge.tpl.php:33
msgid "Purge %s error pages"
msgstr "Bersihkan halaman  %s"

#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr "Ini akan Membersihkan Halaman Depan saja"

#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr "Bersihkan halaman berdasarkan nama tag - mis. %2$s sebaiknya digunakan untuk URL %1$s."

#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr "Bersihkan halaman berdasarkan nama kategori - mis. %2$s sebaiknya digunakan untuk URL %1$s."

#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr "Jika hanya situs WordPress yang harus dibersihkan, gunakan Bersihkan Semua."

#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr "Beritahu Peladen Situs LiteSpeed untuk membersihkan seluruhnya."

#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr "Gunakan Konfigurasi Situs Utama"

#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr "Ini akan menonaktifkan halaman pengaturan pada seluruh subsitus."

#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr "Periksa opsi ini untuk menggunakan konfigurasi situs utama untuk seluruh subsitus."

#: src/admin-display.cls.php:998 src/admin-display.cls.php:1003
msgid "Save Changes"
msgstr "Simpan perubahan"

#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr "Pilihan berikut dipilih, tetapi tidak dapat disunting di halaman pengaturan ini."

#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr "Admin jaringan yang dipilih menggunakan konfigurasi situs utama untuk seluruh subsitus."

#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr "Bersihkan Seluruh Cache"

#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr "Tindakan ini hanya boleh digunakan jika ada sesuatu yang dicache dengan tidak benar."

#: tpl/toolbox/purge.tpl.php:137
msgid "Clears all cache entries related to this site, including other web applications."
msgstr "Membersihkan seluruh entri cache yang terkait dengan situs ini, termasuk aplikasi web lainnya."

#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr "Ini dapat menyebabkan beban berat di peladen."

#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr "Ini akan menghapus SEMUA yang ada di dalam cache."

#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr "Bersihkan Seluruh LiteSpeed Cache"

#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr "Jika Anda lebih suka tidak berpindah dengan kecepatan tinggi, Anda dapat menonaktifkan plugin ini."

#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr "Buat tulisan, pastikan halaman depan akurat."

#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr "Kunjungi situs saat keluar."

#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr "Contoh kasus uji meliputi:"

#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr "Untuk alasan itu, silakan uji situs untuk memastikan seluruhnya masih berfungsi dengan baik."

#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr "Pesan ini menunjukkan bahwa plugin telah diinstal oleh admin peladen."

#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr "Plugin LiteSpeed Cache diinstal!"

#: src/lang.cls.php:275 tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr "Log Debug"

#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr "Hanya IP Admin"

#: tpl/toolbox/settings-debug.tpl.php:84
msgid "The Admin IP option will only output log messages on requests from admin IPs listed below."
msgstr "Opsi IP Admin hanya akan mengeluarkan pesan log berdasarkan permintaan dari IP admin yang tercantum di bawah ini."

#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr "Tentukan berapa lama, dalam detik, panggilan REST dicache."

#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr "Lingkungan laporan berisi informasi terperinci tentang konfigurasi WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr "Peladen akan menentukan apakah pengguna telah masuk berdasarkan keberadaan kuki ini."

#: tpl/cache/settings-purge.tpl.php:53 tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr "Catatan"

#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr "Setelah memverifikasi bahwa cache berfungsi secara umum, silakan coba keranjang."

#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr "Saat diaktifkan, cache akan secara otomatis dibersihkan ketika ada plugin, tema, atau inti WordPress yang ditingkatkan."

#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr "Bersihkan Saat Meningkatkan"

#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr "Interval Pembaruan Produk"

#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr "Menentukan bagaimana perubahan kuantitas produk dan status stok produk dapat mempengaruhi halaman produk dan halaman kategori terkait."

#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr "Selalu bersihkan baik produk maupun kategori pada perubahan kuantitas atau status persediaan."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr "Jangan membersihkan kategori pada perubahan kuantitas atau status persediaan."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr "Bersihkan produk hanya ketika status persediaan berubah."

#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr "Bersihkan produk dan kategori hanya ketika status persediaan berubah."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr "Bersihkan kategori hanya ketika status persediaan berubah."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr "Bersihkan produk dari perubahan kuantitas atau status persediaan."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr "Htaccess tidak cocok dengan opsi konfigurasi."

#: tpl/cache/settings-ttl.tpl.php:75 tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr "Jika diatur ke angka kurang dari 30, pengumpan tidak akan dicache."

#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr "Tentukan berapa lama, dalam detik, pengumpan dicache."

#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr "TTL Pengumpan Asali"

#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr "Gagal mendapatkan konten berkas %s."

#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr "Menonaktifkan opsi ini dapat memengaruhi kinerja secara negatif."

#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr "Kuki masuk invalid. Ditemukan karakter yang invalid."

#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr "PERINGATAN: Kuki masuk .htaccess dan kuki masuk Basis Data tidak cocok."

#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr "Kuki masuk tidak valid. Silakan cek berkas %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr "Cache perlu membedakan siapa yang masuk ke situs WordPress mana untuk men-cache dengan benar."

#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr "Terdapat instalasi WordPress untuk %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr "Contoh kasus penggunaan:"

#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr "Kuki yang ditetapkan di sini akan digunakan untuk instalasi WordPress ini."

#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr "Jika setiap aplikasi web menggunakan kuki yang sama, peladen akan bingung apakah pengguna masuk atau tidak."

#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr "Pengaturan ini berguna bagi mereka yang memiliki beberapa aplikasi web untuk domain yang sama."

#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr "Kuki masuk asali adalah %s."

#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr "Kuki Masuk"

#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr "Informasi lebih lanjut tentang perintah yang tersedia dapat ditemukan di sini."

#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr "Pengaturan ini hanya ditujukan untuk PENGGUNA MAHIR."

#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr "Konten %s Saat Ini"

#: tpl/cache/entry.tpl.php:22 tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr "Tingkat Lanjut"

#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr "Pengaturan Lanjutan"

#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr "Bersihkan Daftar"

#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr "Bersihkan Berdasarkan..."

#: tpl/crawler/blacklist.tpl.php:41 tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr "URL"

#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr "Model"

#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr "ID Tulisan"

#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr "Kategori"

#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr "PEMBERITAHUAN: Kuki masuk basis data tidak cocok dengan kuki masuk Anda."

#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr "Bersihkan url %s"

#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr "Bersihkan tag %s"

#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr "Bersihkan kategori %s"

#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr "Saat menonaktifkan cache, seluruh entri yang dicache pada situs ini akan dihapus."

#: tpl/cache/settings-cache.tpl.php:42 tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133 tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42 tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr "PEMBERITAHUAN"

#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr "Pengaturan ini akan menyunting berkas .htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr "Tampilan .htaccess LiteSpeed Cache"

#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr "Gagal mencadangkan berkas %s, perubahan dibatalkan."

#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr "Jangan Cache Kuki"

#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr "Jangan Cache Agen Pengguna"

#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr "Untuk memastikan kompatibilitas sebelum mengaktifkan cache untuk seluruh situs."

#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr "Cache Jaringan Diaktifkan"

#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23 tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24 tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr "PEMBERITAHUAN:"

#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr "Kotak centang lainnya akan diabaikan."

#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr "Pilih \"Seluruh Halaman\" jika ada widget dinamis yang ditautkan ke tulisan di halaman selain halaman depan atau beranda."

#: src/lang.cls.php:127 tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr "Daftar Agen Pengguna Seluler"

#: src/file.cls.php:168 src/file.cls.php:172
msgid "File %s is not writable."
msgstr "Berkas %s tidak dapat ditulisi."

#: tpl/page_optm/entry.tpl.php:17 tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr "Pengaturan JS"

#: src/gui.cls.php:874 tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr "Kelola"

#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr "TTL Beranda Asali"

#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr "Beritahu Peladen Situs LiteSpeed untuk membersihkan halaman depan."

#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr "Bersihkan Halaman Depan"

#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr "Contoh"

#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr "Seluruh tag dicache secara asali."

#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr "Seluruh kategori dicache secara asali."

#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr "Agar sama persis, tambahkan %s ke akhir URL."

#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr "URL akan dibandingkan dengan variabel peladen REQUEST_URI."

#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr "Pilih hanya jenis arsip yang saat ini digunakan, yang lain dapat dibiarkan tidak dicentang."

#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr "Catatan"

#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr "Gunakan Pengaturan Jaringan Admin"

#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr "Nonaktif"

#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr "Mengaktifkan LiteSpeed Cache untuk WordPress di sini memungkinkan cache untuk jaringan."

#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr "Dinonaktifkan"

#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr "Diaktifkan"

#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr "Jangan Cache Peran"

#. Author URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com"
msgstr "https://www.litespeedtech.com"

#. Author of the plugin
#: litespeed-cache.php
msgid "LiteSpeed Technologies"
msgstr "LiteSpeed Technologies"

#. Plugin Name of the plugin
#: litespeed-cache.php tpl/banner/new_version.php:57
#: tpl/banner/new_version_dev.tpl.php:21 tpl/cache/more_settings_tip.tpl.php:28
#: tpl/esi_widget_edit.php:41 tpl/inc/admin_footer.php:17
msgid "LiteSpeed Cache"
msgstr "LiteSpeed Cache"

#: src/lang.cls.php:277
msgid "Debug Level"
msgstr "Level Debug"

#: tpl/general/settings.tpl.php:72 tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86 tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr "Pemberitahuan"

#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr "Arsip istilah (termasuk kategori, tag, dan taksonomi)"

#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr "Arsip harian"

#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr "Arsip bulanan"

#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr "Arsip tahunan"

#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr "Arsip jenis tulisan"

#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr "Arsip penulis"

#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr "Halaman beranda"

#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr "Halaman depan"

#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr "Seluruh halaman"

#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr "Pilih halaman mana yang akan secara otomatis dihapus ketika tulisan diterbitkan/diperbarui."

#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr "Aturan Pembersihan Otomatis untuk Penerbitan/Publikasi"

#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr "TTL Cache Publik Asali"

#: src/admin-display.cls.php:1345 tpl/cache/settings_inc.object.tpl.php:162
#: tpl/crawler/settings.tpl.php:43 tpl/esi_widget_edit.php:78
msgid "seconds"
msgstr "detik"

#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr "IP Admin"

#: src/admin-display.cls.php:254
msgid "General"
msgstr "Umum"

#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr "Pengaturan LiteSpeed Cache"

#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr "Peladen Situs LiteSpeed ​​telah diberitahu untuk membersihkan seluruh entri LSCache."

#: src/gui.cls.php:686 src/gui.cls.php:696 src/gui.cls.php:706
#: src/gui.cls.php:717 src/gui.cls.php:729 src/gui.cls.php:741
#: src/gui.cls.php:753 src/gui.cls.php:765 src/gui.cls.php:776
#: src/gui.cls.php:788 src/gui.cls.php:800 src/gui.cls.php:812
#: src/gui.cls.php:906 src/gui.cls.php:916 src/gui.cls.php:926
#: src/gui.cls.php:937 src/gui.cls.php:949 src/gui.cls.php:961
#: src/gui.cls.php:973 src/gui.cls.php:985 src/gui.cls.php:996
#: src/gui.cls.php:1008 src/gui.cls.php:1020 src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47 tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64 tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82 tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100 tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118 tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr "Bersihkan Semua"

#: src/admin-display.cls.php:548 src/gui.cls.php:884
#: tpl/crawler/entry.tpl.php:17
msgid "Settings"
msgstr "Pengaturan"

#: tpl/banner/score.php:122
msgid "Support forum"
msgstr "Forum dukungan"PKW^�\���7����translations/ru_RU.zipnu�[���PKl��[�%�B��"�litespeed-cache-ru_RU.poUT	;�Ai;�Aiux�����\[oG�~ϯ�M&	#Ң�{�	9�h��Jd'��A�,J=nv3�M)̃-%qg�E0{A0�� ���$Ɣ��_ �ўKUuu��lef�I�H"�u9u�w�s)�&yN���b��l�~$*����
��Է$��;��bJO:���/>�D���&�o��h���l�Q��F�
�F����[�~$��k?g޶S�l��+�h�m�W_�_`B��յ{����*���bfzf�R����Emiyviyf�W��Ͽ��{��S�P�����U�Օ���W��a�X~_k{��)�[N�ƃ��+��gQ�MV���A�7����3����*���-�MF7��)���x]Ԧō�&�xC�����ڤx[L�e1����
1�<%޺!f��	���DmF���f�_���$�R�Qf&ߤ5�S�]��Љ�pY���Z(���lu�z�����;��0���Ǖ�F"��q~8�+��X�޵6��qЎ[�@�1-��%�S�7�����>曝8h����ۅ��D�ON�	:ׂ�"���["�`ۼĨ��G�_�����E��?{�'���q�����x��?<��]�O�|=����?{��E���<�>	<�������,>����+0�!���G��ȭף�l�V[,����\yqN�F<��v͓��Z�+pl�%��Al��c����dG�_��
�WmH��ۄ.4�E=�=�z{�?�x��G ٓd�M�L�Z�{�/�$ìܺvˍP��x�z�Vw
��
1��E����c����m��
g�����Ӷ{��q� �bK?�/Q� �S����ށn�(�-*�	���;~��#�wҚ��`����GE��y� �6�O��;�5��̬�FV7����_D"��3�H� ��
��&P�v3^�i��R����K0"5Dv
^���+wd�(�l�	�� ��wg�v��D=h�Z����iò����SA@qA��~"�h��5�Z�"��\�|ĊtM+)���$���?��O��O��z2!�I�	6�)�������ql$.�~��i���:�z�H$Z�y�)(6rt�+��U�{�cQ��(�Vo��{w�=O�A,v��a5e]8�.����T�Qky��0`G_!z���q��М���	:Fq�y�4�^x�1����e��A�a�=A��P���^]<F��8�,Ddd����D�"���������Fb��_�:
�b �ܐ%������5��dA�kVb�)��Ev�'��$`������E}WҴ����s5y�/������K��p[�J�V�	w�Jy����^�zIO^������zDʜf��up����h�� ���%�8A<	d��� 1�›��	4�I�9��o#p†Y�Ys��V�VW-�ĺ�!(��$>֜&�D8��c��_���
g@�v@� Fq6��[s�!=�)zD�o�����P�Q������ķC)E��-`��t���>�*pe�<
P�;h���n+�D��قg��~�qC٘Li>��1�n�38�=����.�ڗDv���3��g Y��)�'~0�O�����q�S��"�m�= q����M��{�,S����)��9�sè�`&-�7�k��EaGj\��������'D��'��8���ï�&s�.��������ZF[�]�K�yO��="Ueg��e�$�ADڋ���� ��^�q����@�:�4BTr��i��h�սN�����p]��I��qݯc��rwm�����.#.		��1�M	�d���4_9I����2�m�(��8
%�~�j�T��XْH�оa|�Sr��i8`��0h�)c�G�{�`^8���<1b��6��3#M�!h��Q�!cD�Bd���Z��h%�e��1t�Dk�~�7 %��!�rLS`��1i)�%8x����+0?��}:��ǤN�h��Y���o,Ӷ���im�b�?S(N��_=嬉�>�����|t/�?Gܕ;j��gB#BU�Ɛ��K25�B��ň����F�%#�J0E�&u�b�)v��M�����ڵ����bi3;� �f��f�	�v(�]v���^C�F�л(�W�����{S��!��
U�p��#Ax{br��1�BU~�i�3L��2'��?��������X������#R�.�=0D��h6;�9g.����L���S�w�6��!�Z.�S�Q����;r�m��1z0o��A�U��gbW���l�O�ҏ(v9�Ny,#�
X�2!]�#��;��hK�"�q�<��rbТ6��R�=��v����C�o���*9����3�Ku$�=v"�t�gJm�ق4š���ɚBOHi)�{$�s-�d����`���jc�9m-���v�Ŧt�N(-a�S�av�ψ��*��L��^�j���/wA7C�Kr�t��m�`f�z��*��8�m8i ��j�rCY��#E����ڸ-iP#\��Y^Z��̼�d�) g�3��F\Jt6��%k��4I.F��}?*gy}L��=Z��I�@��d��pb��]�W�ǶƱ�
{�ύ�SB*�wF���R!v8j���!��(:ŷ)���д�ϲ��B`�G��@�k�o��|x�1��,hm�wP��瘹\��e�	�P�9Þo�D�>2�r�rl{�R1v�E^89~֛!i��:������-��m����f��a�Ħ�(�C%C�ƻ�Q^�w�Y0�7�]�-���$X	������A���X�P���Ոu�,����N���(*0�1!2r�0�П'Q�Ia(��Y�+Ŷ*�*Q��5��
B�+�h��Dj�=��=�
��l!�7���[���U�)p�͎O��Cp�����j��(�E+˪����1y�qZt8(�!���҂d����򳖣'���3�@<��A�W2g�)�mN��'�:�s҃�-��;�Eq�La�v�a�r�HP�e1Aɥc9�ə�+�&:��-T;M��ń�R9z���o��}���%l|ք���Z|C߸��6����!/���ֈt��?@H�$!m6U.Z��|	k����&Sl�W7�#�?J�䞤�gs5(��+wLW;���_F͠�A���|[A�ck��"��c3e\��C��6`>���,�d�w9M;%6:�p��� �S�ȶ;!D�0��"��(��B;69��M:�M-�L�8�)Ag}�P�|Ε.��R�\[�E�b3Z&[�'3���3��,�S��k��I�6J��[��S*E`�Y���@p0�E�^	��6�y���E�/��x�������k�0p�Z����6w	����4;���GR;�"*3eSdTb3.���=�'ߴJ���d5:ϱOҸ���19d��tO{�22���n�^/.��N�ƻ�i��xfA�f���p�A]�D�$l�d���!*Ƒ*���8�#�'�p��`l�W6�PX���_������K��"�UI��2�I�B�s�UHlz�hN8y�lJv=����ޅ/c�U#�Z���X֢�?����K���plFu'*D�q���R�ʅ=R�/�ʤ'fE$�=bOO-N��à�K��F{�ce��I`�B�g/���NoJ�cQ,�]�i�ut��G.P/�U�������0��yޡ&0�)�8e�RD�s��JZ�.t����'D�m���T��	X�d����}*��wY���I��^����ޓc�L�Cz��r����6����d�mm�ؑ�Wi�m���TJ��-�F�h���c˒S��i7ş^_�4��l��$/�`��d��0Cs����c�T��H��Y!�	v��C�͉5�#�9�M�yu�ڨ�
!'-���E��!�pn,<�w����j+�x�Q�L���(�<��O�A�edx�yV��8ٶ�b]Ȋ���~�ᦎ	l����y0}*pS��hȦ���9��� 
lg )
�b��f�GZ��FQ�d��:w���ѡ ��մÓ�&��,iA�ձ�%k�1���0{B���N�1��Q��W�oc,ox%�aR?�
��恆^C����n:�PE	�"L��iG�����LoI��c��Q��E�=���ˆ
:���$!� X=e�8Ź(�J�[GWFҳ���/#���x/?��h`�4I<�O�L�S�`1�"�m���uP|`]�Fɧ�Ζ[ߢ� ��-��
~�CD� �Q�QQɣT���R�~H�b�uI��iRl,y����:8e�|\���#U�xQ�E��#�̧\t>ĿM�z���gNX�K�:�/�֣W��T�)~,�����D%�f�lЋH�����w��?���j�eOv#����B����X�Ig�DS���z�]�:	d���s��J�9-BU�3Wj��: v�ǩ�G7�/��q�����P��?�+�ЍVGK���R�̀�?�$��Jʺګ�Qt�:Gx�b?��]X����F\M��.f4D��N[�28R<u��ʧA���@4$�R@�m���e,"��M��~��"_a�H�&aH�*�䐯M�H���Ɏ��(�w7�k݌@3�А�@��m�����߃B���o&[y�����y˩�+��׋Ȇ�c��]��Q�����<~W3Y�?��?����G�ypG-jp�!=���K����'�1�&�dn���t?�����ICn��r���uu� kQB'���Fs3n��ղ�V����h�Lt�B�j���Z��^�%��a#坲8e���k�v����T]=.ItI�,��K�f�-iҔ�U���M����)p+S������ݏ�M����b~�T�XSR�(�9�0�~���i�?
�]����m��z��QC0g��� ��������	AR_�/�u
u>��#��%	�+�ґsKc�	�׹���w��Wffr���U�lxRY���6?RI��q喱���7�泷�r�D��r|��b��@��R�N܉2�P���\	�/�8`�Bc�����j��ڊW2~�ڒU��KNԭ���Y�N1k��_�ԫZҡf��w0�q�m��
�n����
���R)�셩�.~.�s�8�z���%n.�.�����k�x��G�CQE3u˱`���Qo/M�+w�L������|�sf���bI���q�	�dz��d!�
>�����ٹB`v�pχ��s��Xٞtl���3,{a8}�t�b�5Yc(jJiP�bf�n���Xvߪ��d�!w�����PY3M�śT`]�	����w��(s�擺u�K�/Ϛ~o7�;�nNF�ζ��=��V���C���%J�d;!^�v�0�t�T�q�*�’�cve-��¦^by?��!=���
Z�c6�+O5B���:8L�;
�#�T2�0��/U�\�g72]���*����S�ORzX`��d�Dd�	.�z�U'-����a���mw�S��M:�U��%��$z8���9_7�ӕ�vЬ��\��aS�-��A��-��GKڏ�$�+�ٹ�����>!&%��:����c~n+�bEX�t�����G��I�HR���4��5�s����QE�nɕ�TT9��+�m�^!�
��?�fT|�����T�9N��WFK9�.���4j�i.Ct>P�j��tI	\^0�䣰cL�@�J@�+�n��:<T�Ȏ������)A��\��|�z�^�f��LQ�]GK���A�8U��
���0_
͍��q����9$�3��!�͓���k?o���s���Tsq��JwOt0�}(���8Ysfd�n�>j��靥�Ȉ;`�/�~��QM���^�����%�ݕ��f�6��@������T�$�Tr�'�!y.�����kI��tB_�����:q�=�����7(�ŗQ�ٹ��Y���CF����C����;|�*��;��v�w6�{"�m�*,�ݥ哯�#z2���Ͷ�q�����d�}��ժ����ۡ���L�����B��1��3�|F�bm�W*,�˴Ύn#^*�h�wPP�%ת,1>���ő˯�m��+���_Q���02�ss�����sQ�o�7�{��x	$V���D���7�u����)]���ָW7o�#c*��9xfu؎�@3�V�oY�*͋H�I��n�x������[���T��m�hRJ��807����]S��I&���}Z�T�Rk�K�]�Pa��E��cu*k�k�dr.��bVzb�ExoZ�dR�/�frvTQ��$����̟�&l׳��e|a��&8L/ [I} M��3�U! y��
\�Ƴ.@O���}s�y/�~���*!��Cޡʍ�")��E���r�1��LO�g!��e�G�;���K��}S�rR�	�*���
�ܯp���z�굺{ ��u�l��������CuZ^f�������S��:�O� ��ZU�;���\5�[���
ˏ���s�$b)є�>����(����_�tjC�+O�8����R�|����V�ɀ�Ct}�Ӊը�ֶZ���
��ij���zpW�K}"�[	R �sNx���=��42�r��S3p0�1G]$���
<��H�M��+�z`�o&^��)4��Cd��K�؍<�P�L�t��-��,��y�h�7M�5W1q�=�A�(E�.Cҹ~
�:�m%��(�E��W"I
�ė�B�?�%��m���Z5Ӯz����A�^���+u��
���p�_�>܄�5[��ř�q_���\U3O�5�
��4z�p��U�cC|��e.
��>W;��[��Y�������Y��.Ww�i�\��3��_�|�\}2N��԰�4|.DJ��[s��Tұ��X��,7�^�7��2m	H�b?��m�ugD$�6�w�.��c���Z��iЈ��
���0�A�'�aŴ�`OB��8K#�nj��,X&q�V�	t��'ڨ/f��N�s.�Q�<~�W�	�s��UP�}|��<�vF�����3wߨw�����%��l<�����Nz�h*8�
��$T�*����6�7Ar�f��:�Mc�
g<9��ǖ��Ij}ߦ@��t_�-j-��a��_�Xq�7�	F�O�n��{�V�o~N�}i.��V��\��n_y��lXƹ��x��j���ۨ�a�c����#8����{ǖc��>���~v�lh���)À��Z�m��Q?a��2�ө�	���-/�!(��ͷ�p
:�Ԇ���%};�I����F)+��ew"���+x�P��]B�#���ݧ���c���~�>3���a���\��U�re�8��W�ݣ�e"������V}��W��8��`e~)�ו�_W;���S��(Zx��2�D/�~J����;)�EA��W���5�(݋g�P��ww��K�3�ֵ���x�ükQ����n#��bl���7���&�U�;�QX^3����Hp��?�\���+��?D�6��#b$�\�;�}�&V�=�e:�(���^��j�_����^�b'X;��UY���m���=�,
_M�QQ�*v��-�x�e��U��N�G�:��?���=?"������H�o�𚵼��bg1�W��>X��u����Z�i���].�	~�@0�(�{��{��ſt���\�H�85O['�j��;;����']�	j�Ntȏ��Wљ}��|&��i����H,vʛ	¦Yw;�z�ݼt�Z�F��6R'�G\u��ۙ�v��Lj�KK�rK��!Ї(Z��*�����]��@�@�7�8�¢�^�-��x��z��M*�U��a�4��[$����ۺ�S,�ȭ� ,�y`H��O��uB�$�����_y�:mD��A�9�Qa��)�ës�>ib0��4��A�iR��)uO�?�VK���\Z��cr�XL�3��I������t�|���x*�LtD�V
\f�-}(�9c�Fv�]���\O�M�����ҽYg���DC	'�A���a_̠sb�ψ^�dg p�d����{�O�XL��$���d�(�zJ��Saw��,���>��C>f`;~�!_�!�V��4���9'�i���Q��2�G&-�̏��}J9 ��������n&�<�D&��Y�0��楿aZq��|{���ׯ�2i�!��* ��r�M4h��ɊIK}��3t�7�pS�I�#Ӑ���uS;�4
����&�5G����5���Ȗ�L������C0l!li�%�У�(+@Xp�˲Qr�W��4��/DvE�D�C�]5��D}�n]Y���]�锷��K�t����H�:<a�>�^����H�kg<�-:���َ�j�C@[M�`��:��"��X�	��������=q�E�O������<¿>��f{4��X��O��L6����qX(J��"�<V<�`�k���;~C:�ǣ�t�@5v2uC�k�+�ɘ��<��!\�a"�s�T�c�t~��7��o�V�6�l��/e\6Vǫ�TiI8,<h����c���?������QT^�o&�O��k�`�6�,�Ҋ;�������k�>8���Cx(�������?���� 7�|p���*�[f�8��X���n{�o����y~�$C�[f�h-��1���ɞr��{	��(���X��e�1:|鞎�J>�B���S�{��h�ӂ�m�Lm��ѧ�M�y�$���+�����i��	I��8�CI���-%�퀦�p�]��;"�w����f~�$a��x�?��L_��s4����`^���5�\�:���\�<��5���NT�j<!�XRC$�)�$T��$�A�Ǯ����ˉD�Zp��QC�3@	rf��i�&��2�g��ǘ��C�P�9�ֺ
�Sk9�l}��S'B%'�% ��o;-�q�L�u��clI��h؀ܧ�B�tAEQM���Ƭ����B�_ �I��H�s>����耓u�y"�Gfru�v��s	��[��˩���А�h��1���8Ϯ=:��Y �¼kcrs��d0m���#!�n�cIo��B����;�&��u�S{�H��T����G�	��
H	N2�gusjU5-X~A*j*#@myiS��S�@����2����ԡ�S?��.M�&G���ƴfP�
�e%Mp
w�â�˪wR+��d���\Oֳt��b[��D}U�3��j��kr��C}ܤ`�tT��Sk��h�xym����D�m�C<o#��$t:����h�X	�r7�=bKKtif1!�j:�T&T��M�\�
ֈ�
\��C�V�|�?ޗԏ1Bz�8�H�р\�������_ƁUO{FH�1���R
9pٴ��w�1�	c�Q�,����^(�MyH6Vg�&����#�+�X����W��>�v�KY�Ϝ�'ezk.��S�$,�8�ġB�BtD
d4��Lk'~& 䦆|�v=�F��J/�.��������~��k�(]������D݃�,�@��z���̽}� PC�z�$t��$�	� 8�bAҠ��UXwێ_T�B������j��c'}P�[�F��M�]2��zzWEA�-���ͻ�4����d�rD�X�����"i�Y��;�EK�F�ջv|Ϡ�R���O�_��$%�R�SpVE�v��>��j��[����;��Y軔��׆��	�^��X?S�N��1?4h4��@l�����ent��R>4~f�4R.p�;���bګKUU���_��l,B��r勫�$p�y��bCis[�NF*ͨ͞���	��kA#�T�W�8%YWF[6If�B���
Xq��l���d_��_}?�vR�O�y�t���7��<�~7L��pW��C�s�Z��������/J�I�>QKA?}���� �v��L�f���1�)�-#�JhM�_��*D��B���z���|"��8��̮r��r�)� }��zl�̓ٻG���ˣ�=�ܤ��*�^���`�72�qA� �2�ۺ[4[���P�a�C�Nȷ��a>���`�Us�(1|���A���������OI�੦��@�'�q�>�%��=��|����@�&ٽ�N��,w�g͎f�5���f�n�^r�8�W�/9����\��ȳ~��}Re�_LЖ��A���"���3�A�N�Ÿ=·�ǫl�	����NF�^€W=Kۇh�x\�/�FTR��?�j>�R�j�Qsn�ʈ��_߻,��y�t�!�t�vӡ֪�r�fC���b�_�.G
���̏A]�?B����q쀹Q@��XL�aϩ_[H�	`G4)�4c���*�u7z�BP�_��kT�h�q�G�S桄��I$�c|_;�4�c]�B-������Ɇ&�5��v%w�X!��N��B��3%�*
HKR����[b?):}hY�`����[Ǫ��,���a��Tm�M���aS�"uه��[.��n���Wing�Ҧ5��8�Kcܤw�N��B�]G|?����"zDKLc#M�O����ν�v�wU�m���.foɋd΁����4h�9�x��b2�P|m�g�s��%��%=w�_Mۺl�F�wϽ������Ö̅5��C���g�Cr���Gڒ�K8t7��yy4"�N��/��rXp����-��8���v����m~Jn�{���O���}m��}�1b-�L��q�I�gLY�fu�ό|����� ���"�v_��ws��}������1���ѵҤ����]�����~����I�\?�	��B,����+�[����B�_;�5�ׅq���^\"`Ī���ɗ�?CB^m;V�;������n�:�	�O!���)(F�CL+-u�,1V���֭Bt�o4Q�G@DZ�L�
!ã��c�meI@1�e�"R���e�(�/��ј4Vj`.�d���&֧�U0c �u�*��ƒIR�Je���ݠ]��Ω�gR:@�"N�ӕ-W$}3U��n�\a��`���U<8��:H�]')��Q���~�P�?�V^�rp煍u��J�읅�U�z?1���
��)'�� k���8�H8�&RYN��NS��CO�-�M-}�R�&�o�	�m_�9%�6��A�ہO�&O%��N���Q��	h��mn���A�,�Ȫ���l�?���R����v��eY���'���ߤas^�ޜ�]o�	�e!6��l�v��ګ�i�rW�4y݈���:zE��4��i �3�5�M�b��|�)A	�8� �Ь�
V7���W��\����qڿ4q�B�z�ɋ�����8
Oa�6�C�^��C�*���^G�Hy��s-P^�;���IBb�Ӊ��n���z7�� IwZO�X����u>��$V�T��S_f:�5�d�:�E���Nk��YVvg�~�s��#]�ޣU���HcO�
{I�^5C�P�K�AYI�����B0^ģ��:����-D�xп���^^����q�s�
Ic��_7y���wP��]����@;��c�����C{�����="�6.�&�4����㯓 3�Y)T
�GY�〆�3zd}K�O�ج���U\��O�肱�f��*������7����O�fOlG�)p>7x������<�}�F�=+�����d�=*֚�v����&�d��i>��zG>���(~r�g�٭]��G��•d&�;56�:�â����-��1����1Hx(s���|����������X���־�Y��<��t %ߛ{�:����\��+:����Ǝ�r8�U&섀�Pl�^A�Ip���*�Z�fnz͌���Y~���`�CM����?�m�����އ�O�aWi=xٔ �����O3� +p�Jht�����\�����l�)W��}�]@�q�7���u]��dx9�S
��Ȁ�C3�9ƚ�/��eVAnm��-���WӢ߭<�?3��짽e,��Kr����vާE����U\`��/��]x�]���a8!��"ـ�;�5�z`���S5W��h4�G�>����p��l鴀ݺ�m��U�⠏���O��#�.�>��'$��ې�P
������=��np��G�ʒ�eL�k<F��gT��P�i�����~�[��Xb$���9V��Dz�}]_��&�ل��
 s�T�R'�Q�"�ɳ;�mtU�m+�P�=�)W/�>��w�}:�lm��[�P�-�v򺶌��.锴�s^�L�:��	 ����f�|ܳ�4�ɥ3r��0�U."Z�U8�D/GK#�C�g&[�3�37/�J��&K�򋽡u�8��/~!��U�	bX[S�^a0&G��N���-F='��g8�?�*󍲢f{�
�1V-��\n���X�2g[��.G�?��ٍ�{���@�6��}��
���ҼW0��8VLiIF��Y��b�W]v�x�� 2ߚ�O�_%T���8(����GC�I�!I!����hœ���l�u�p�pAY����Įu!1�?�
O�
:���G\�*��DIqӥW��<7��Dɫ�0��$�$"�T�u���&)�v�,�GAi�	�.p\7�/��@š�\�v�\�����D|ߟ�����V��2U����Ϧ�I(44ӓ��jUo�S8�zq�}��h�pC,��6�[N�*	��펉MD5��1��#YL�
�.�#�g��el����-Y�G��
D+"���n�7�Y�f_%|��|���=t'BQӼ%іD<����O��t�ߓ7��ȍ�~����P�qk���Y'б���f�
��I�L)��/��w.k_���R�_$̨��J�Z(g�.m��2��$U��P,���'(0u��KP��q��q�
7�H߅i������a�����hK*�9@��I$9�c\bpϩ�:���иj�/)3P	�87��3ӪS��E�P�I��x)�FY:������,��GýCV�2P�؎�W��v�Xh8[,\��t�ׇ��V���Т��wө�� `�Q_q��%qg��i%�	Yk��X��Rj��Ǔ��p���a��k��<E���
2�WT�!��xX*��۸n]Լ-w���\��������/V[S9�(��E�.d�@���oߨGD|U��ٷ`L���$���i�E���r_P�S���,���SVɕD�W曎�B��k��/�g2����;"+��A���C�PAO�*.=�~g&�&4J��"���r]Q]�H�SMA��d1��l�sM�iӬ7��u�*R^�su�*7�E�5f�T'��
2f�LbQ��sq_)�cm�4m�).zN�hN��h�&��cz�l&���X�@��	1G����{�NX9����޷�*^`�+�Һ��*���$^gSb��-~��d�-=n�a}�t��O��iV��瑪*��dM'�$߀�$όq{�λ1e��J��F���)եC��8-Q��Nx����
��/ֲ[Y����d�j.�,�c˷��@���U�g�U0�4�x�:���t��b�P���9���S`1u�G���93��aM3]��Bqn�4�2�Y�ʞԐlխ4�B�w�KD�?�r��<��?3+DL$Dђ������]1��
� ��]�b��}�qg4Gѷ3-�>1�'Fu}����F�%�,��L�CW/�䵵�������4zv��R�	r���������<O1o�v�e���}4�녊Q�Q����	�����&�x��ܵ��B1p �������$�/�b;t	��Y�r�=&�f�^� �7,�,a9sm���5`?q
T5/�Ă�$|��F���>��%{�Zn�D�P�!�"�����N��p�Sa	�蓶��a7*�(���	2�t�ݬ����IX�?\U�\$��gk^��|�O�@���I��MG$=LX(�@�<v)�z�����?�8QAA��#��ys��=l+�a��뺨9}�EZ	j�� �~Bf�?�u�C0;�E~�񵩹�b`a���r!��=�g[�݋{��$�Ҩ��Qo�e�\)k�l�a��:�k)�xWC]u\Q��࿉���=k(�]�uc.(Lw�>��O��y�ׂa�-M=
w𧨭�|���d
�O��5R|���3��{�@�c�����a�Lc�P�K6������I�o]��/�� >p�خ�r��gBz�F�!1�ꊐ��OP^2�߈ֆ��i����㊸̔p$��[���</4-�q�_�v<���>[�������l3���iJ��l7�坘�W6uc���D�n,Z������k�M�ޢ&�	3	ݟ�!���Ag�tP"N@u��q��'���/��R��``�LҸ1H��4�?n�%2u��de��&h���D�(��O�w0�"8����>:�@��4�J�_�9�gR�R�X;s�onXt��Y憭�����鸛��u�����A���GG�hJ�z�0�)�\؟N�zQ�E'��ޞ�c�X�:��4��;�g����cQ���K��g�ّ�//�!�(+��F&.��U�W���"�k�XS��p�c�{��P�9���M�ڍGi��(Yc����$ꥂ;K�>����=rə��f�
mx�������K��P��`�T�k^Oxl��Y���+�,��z�s���kh!GB�k�ĎUVJ0�
&�)�`h��%����A���ٌQ�H�h
�MIpNԟ3E�fJ
�P�2�)@��!
蚶Z{��s�n�YT\��C���[��b򬢈)0�zOI,�T�od��Dތ�K!��n�<�n��
cB{aC�&W����I��g��9����Q2��!�۾N5h�����BK�˜׋H��0�?����\�|�VR����D.$����u�C(��L��6�	���5+U�9�����H�x�?yc��\��^|+-`𡾡?�'�(K��+X~���DR�A��J�'�ˠ�1�n�u��o�v��F���3��G��m�S����A�^��̏q>��l���-�fe�m�#'x�qΑC>$���C?b�,V��]0_G�>�����у��3s|]�w��S�>;W�@�Bq3��ƃ�0;��K�Y`e�'���e���.�����	���%7�8�C�"S��'�8�r4�~$T6�G��5A`�۳HCt,�m 5�B�����GrFr�omi��|r�_�i�N�mj�^qo��Z�o�_�\�M���ƀD�0��A[�|:r�%VP*ΗB!��_&9G����.�����j25u�5�cM�>)b�7��Znyw����[�˂��w��Ҫ���slߓ�fζ��eC�&U��'���]=H��+�B�r��o�1��/=��/�!P�C��}��	�A�2�X�;��Dci�<��q�5u�M\h�>iH��68Fp7�Õ��l��B
�Vr��y�"�~�	�9���*���9�����+kgA�ǜ�G�jlH���هhn���w}�?�X��gq��KV(��]cX�<Tv;{���(�	`�X���j6/jT��rC���\��Be���m$����q�{�$�taB�9��8��Gy���$�c����by"6�%l��#?�5��L�G[	�t]C0��.�@{�P�v�D0�=�!�wX�.�hU������
�;�1$�����=��n�$x�&9�Lkx ��st
]�fx�?�x
�Ԛ*��{Hh��c�$�F���LI��.3'/Ĉ%�����S9j�H�`}��߻vSY�`��1���?m%#��_f��K�|,%�:���!w�\G�׻΅ƚ5^4�8!��2��3l�:�_��H�F�s��t!���11��{
���n��"���/-&��U+�WO��aq��DL�����@��!��5��1�A�
�Y��38���`�7����@&I����K�4]��]���k�1K������&�(*ޝ�����7�?u��\9Kz1��Y'>��O޹���3H�J���k)(׬b(�SV�2ⰲ٧̟�aE}�[�[��V�:�b��r+j3X@���D�TɧÞ=:�B�"���8��EY�c�J��T3?v����!�]�.�ͩ�qy_L
�QW�%)�R�4�S!8���r0��&?���%O�������#}�
s����\�'3�?�6���N�/��|C,kJb���&f�0.��s�(��>��Ӣ�S��֒�(�Z\dw��(�=�t��\Hjw�����޹�#XZ�,�V��l��?���(�Q�yD^]�q���⾝ŕr,X�_9…R`G`�N��_�s�0���)��z��J�2���,��4��r���F���V3%���K)�n>M
�g���sj��<�ec*;ڼ@�r��S�&P��]�v�%Ӻ<�0�~h]���lcVe�U�H�J����E��)��FI�d�-���ӝ����	e�a�O�PU�54)o��w�|���me�r[����K�o�=���7s
.1%S�y�m~=��J��`�"l�gqϟb?%�Y��{I^�H����a9�q�eT�/�2��!���"�@ģ�!jLL�&lbϚDG�J�j�E$�{��F�X&G�a0�p�|�U;�0����Ӏ��E�C�;�k�b���H;R�O�����F����O��҉2p7�t|�|�8*����i���`�������BGg.p`����b��X%�D1�ә�Yyft�$�ZP��nu�c���5�rW�X�O.x�ꙣ�eV���MX"���Ga)��!�@W�"�H��|D���\�ti;U��l��+��u.��gY�B<���f�1`�jrͺ��o�S���t�S`)��(�L�-J�1d?0�dB��-�
�b;�H�R
Ido�#J�d�	NA���'��*&˫5���i��t�L�a��LX��+�Y�\2iD2�~��/�y������sM������\iJ"17���x�����[�p
؋Xa^Y�?s�
PO�}7�wh��{�	rn@]&C���6NU�u���>,Ab��'�(�s����@t�h^�ǀ��P���M:Dk 	���u�����r�j�O��b�W�I� �s� �ZY��qI�3Ï��	F��r{=��#��%�F�M��Mp�K��=<�C,�wV��B�\6d7i@]�<p1s�0:�_�BН��t�K@g��wl4��y�+�����7Q�w�Ep���V&�"�O
ah�Q�T���M��l��R��A�Y�:�n�t�ꇴKպ'H�W��`e�}t�(��̈��F�D"�a��
}=�:�L�NJD*��]`�SA�R͸J�c�AApCQiCɀ��?1��s�rSV�g?H��(���	�s��R
@�l�`eܷK���"���0%��&����Ԓt���4�**J��t�@rs�
95�������'���ќ����f�L(�~��KӴ1��&���|F����.ߧc�~?�8�����lF����Q�n�s|HL`'�ES��;�Ľ�ÃS}��-z����
7�݄ͮ���]P�s�s�l0n��T�a�g�RM���v���m"�"��X���W%B�ͺi�G�#��x�p���B�I;��}T
-�R4��^��ӚO'[9&n�_����;��|��nV�}(,5�CU�y�OH	J�$�"��3�@
P�p��M�i��%�oG�8a���#�R#��o��SL�+��ȡ�`V�v�f�Hh��T�vβ�$@�_HB+��`�1n���V6�{��Mi2bB��w�;^t�A
�`��@�.��d�a��
^�ޟdݷ4!�X���3G��6���i2>6�������/%�-�p<�����ہ�lҭ���ݯ)�tg$o9Q�jv��|�	��X4��{;*�w����4LK�U��v�~>ߩ�xm����K�/���Hu�i�Vj�:WمU���Ǚ�M�z�ع����p㕴?�S�z>I�|�
��S�yNp��d�O��+���N�TcY2�)���"q�:�l�?�H@��g6U��Z��8D]���}��<�ߗKk��_#�s��1�F�T`�#����{���*`H��K�T��eL
��v6.��
��>+��ֱ��/���F<��$�ЩZh�����}��O��Q�k�$���z�4k�$�.�;�9q0t{Ë������
��t��;�|������AxE�So�h���1H|'��I
��e�oReQڦ�y�"���^>�aY����\��H�Y���J�1"-�2F�~�3n����MC\��}[�� �Ps��o�^r����qJ�r\�*�
?��{e�l��C@���g �b�f�[�.i~�tП4H�|�#y�{~�,�?��v%a���q��l\��h!�c0���<J����=��B�=t�C����de�mk��h�F�K��y�+���oh�����$i�����KD��J.��r#�彬�ʈX�n�å�gI�v�V�p�A�kw;-���g�0y/�/sc�p����A�Dz71�6g�a�-�p�<(�P����"Rr�DdF&�����i��DMՏ�I��1�H~��O��V_�-~�1q�_+\'���b;1�d�n'x�zn�]B��Ԑ򔈮�}R"�8�t��&'�)P��;�
����i(�䥄b����Pe��^qhm={����ڼ����G��z��_yg�*J�5�h5Y!amI޲X,e<�"�*��B&��W.=�6�����^G�h%�j<��{-5!�Wnь}��R�^�1Q��U'�n8��D/J���HT��
Xp�.�v�	���(���i�=y�y2���Y�#S	{��.n��V'rV~��IvU5��F	�,�۔��B���9ƙ�y�G�E�p&�`t��@n�SSڧVE�nq��F�c�����Z�h;K��k�>��d@+������+CV�N&�tX(�V-�W���	��hܿ�v��Q>�Q;H���w-U��-2*�@{g����M-��I�a�������r��fXtU�s�\C�y�C@���#ʚ��=��F]��a9�at$h\-ͅ��L���)�FL�<��bF[��u^I�ӝ�l�J�ͧ�j=P[Ӿ��f{a����r�m"\���pr�)����IeJh� �]��`���3��^�=odd*t�{p7{)q6l���qN�9���z��V�� C!>x��!�$�jnպ�&Z?tO����fQ��%sN�����{]�r0�����
��D&0�A���$aN$��R�I�
�6`q:�qF�ұ�ST��'��aI�_m�K=�(�t}�Z��5���{)l�8}����o�.#*��� R9�}֥g�A�պ�X8i/��+��1.�c�8-����q&e��N�l�3��&�ޜ�����*ql4�ט�8"iή��RI�L=�t*^�IG��k�#v2���xײ!&��p�J;��>��L%?|��G�b�+I$H��fy[�i0;Y�\�BY�d���нb�`�>T�:��5��5��C�\&
�q�L6�����3bi�I�`5
%tz.�2h�2 ��r@��&��f��O�d�?d�C���"�S��P7����qS�QÁC��ف�^��\�	@��ny�;8(�%0:� b=�2�jߢR�zv�[V8�e7Z���Z��68b&㲧�ґ�y)��t���b��	m
|���J��b�	_�z�>2�Bg[�x
vc��̓
��Hu�:#Ձ#���6q{��g��6�o�"UR�FUQ����O#j%�HQ�%�@�KYh��L���c	0t�7P��?���\6w���JG+�P:��\w�t�R��u���3�o��{3~����<��4�7;���*>��3��A��ox"��޸*צ��i`�H-�Z?9�R���G�Ƭ�v晱~9��t���l&��ե�����@�������F���Кf��7��E2Z)����즔*T\�����Z���9€l��a6�8�vo3)"�ȋzV�E7g|�w>:a�\�J���;�\�Idl�����ǯ�B�[tdď]�E�I밐~^r.�:p��
_<��ܷjY�d��J�������K�Mp��j�ێaݢ�����I��!�|`�ޫ@M<��@���c�ǀ�nn�٘�^�����6���\�i���Y�o��U1��f�־O�͙m�2M���ɫ:�b��f�*��!UNɹF��Q��f#�5L��+�E��T��$���.2,œ�?v�!.
��I�C1e:�o>��OF�O�j?�n1�g�!��Pi!h�b@)��(!VW�E�,���'�@��F�0�CRY7�F�4�IUÂ��v�(���|D�KS$*}?���;�b5̏����o?��Ə�|�n4�KP���_"� D�y��G��V�ct������VcrH�l�,��7�BB�H�4ɔFT��MZY��v�jᆝ��j�c��ˀɇ��@(�9�KS�0{��"��pf�	^׹�%R�J���s�t-yw�\�زY�s��W��
��j�G8�1�N�)�iN���k���e����쐮�P�a�Si �`'Q��VV�K[[[��eǟ�^�Y���?�i�3dK,�/≀P3|��2Y��,M�B!�	����#'�������̲<�	�Ѱ���K��n��)�g)�է�&�|��v~����}Y���n�\OtjI]9{.�"y�|+��^�<�6�P:"L��l�v�a��N�eA��l!�,lT	[�7lR�<?;{�-���������,���Z�\[����Z%�`���cN�ؼ'a)��[{��^Qa�27Iw�aq���
r���2e�@���|�	,����E)�,�1�E����2K'�:���C�q��sTVQ�o|p��b%���N�g�bsz�8���Q'" a̗D����(��j�̾�=����A�:�������I�FnÞ�2?�LST2;~���u�Ip$��je�n��wmkP(]͍_K
��.(�n�箯����8��i_����/9��,����t�OK@[j���Qr�hѣ�ܴx���~s>��#L�)�v�ݚ�k�⺡���D��v]�Vau?S����x���)&�~Fcp��g�0���|�>��O5~Σ����e�w/����&��[����� \G-�t`Hi��b,Ά>�]�'��D�Mo�7s�yz�Úϡ�:r�q��D�-R;���S�`ط�b�Bp`V�F�S��C�����2
Y���d�ֵ��s!���&J�p4�a4K�G�XI��aoا���`}e��o��A���,ǘzyF���N��6Ī������%;�%'X��29�vٯDf�^���@����B2�GZi������������U#2g�֡HÊ3P/!�x�8�l��,q��M
��/�B����<Il,�9S��3.�T�ġ�s+�n����y��x��!Z��t�Q���e7�]H|N'��G��q�
tL������cW;�i��$������)�[H�d�~���hWn��yku�6�jv��������0�ء�<�ͅ�B
�z���O)��*��ʯxju�m菻��^k�}��i8��?�:���;_�Զ���ۛy�B"�a�6Օ�;Ei)���Y��cCa��)W�������1���	��nƱ�z/S�)q�����+�z�g��(�/�����׿�GC���:`)r�ү�2�5�*���n2ȇ[-8C
�Ak�qz7��c����Ӌ�B���ޑu;Tw�&�̛�ٗ�X:��,C�x�kUM�?��َ�tY�Ĥ�3+쳪���wA8��ծ^,?O�9�B�V�����8J���:����0$M�7ݍ�sY�4�c˭4vl/ۘ
�&+ts�݅H\��%����G�t~nX�>D��}S
!�@��_a	#��ks}������X!a�^-�9�dБX/���
T8d"�^��.�Ѯk��o�Z�1R@�.�ĿAG�Ľw(�Y�(X��h�LA����j�bOG��N�Uha|���~�5�n{o��l��Gyb��B�yi�}h���4w�U�`Dj~��ӥ��\�>�_��w���P_ ?!��v�!�-�nD���~g�����ʝ��)��A�p$7)�u�?ƚǽ3�>�x표F��BXX��ܲ���ԷR�0���w���X�e	[�G�l7�U-,5�Q9`�R�2G�f�-	�:}V�3/j�s������7M~�訤��jN�B����Ik����Y���q$I[{e����0TTY����n�-|ȧ�#*�4Ll����G�d�_�a���t@��B�D�XT�e�
���2ɲⱩ�2�&��+hD��gs�� 4H�D�-!qK��:iv���[F�����n
�I�=�df�
��ZV��;%�O[�i��4�ˡ -<�]t��^hr	.-Yq0��%���ܐme=O6�tb��ҷoۨjq>H��&����0w�?`��C���h��i	d��j�$�_~V86���]Yi֓���O����|<�v��/au���vuAЃ�G��f>��ܑ�؄�yӽ��sR`26SxX"�ہ�X���&�abo��e�.���^h��T�.�E����4I�E"���W_.g�Y��:�ܤ��!k_�Gnk=
��x���$3.��W�w���RZ�۴�iJ�D��ph�Y-2I��u`Fն�*EDJ���Ox�1�}uK{˼�y��n�5XƑ��ue�o��]�ir��f�G���H�313�O 7�I����piQ\���&Y�C��a�<�D��<�.�ݣ�(ʜ��I�,9�?-$�{s�V`iT�}
=��
cY:�i���?�/�?���w����2�Ǎ� ��8ER�|J$}֍�b����+k�nD-��+���Ex������ٶ-d�y�����b��$��tF�s��t���n5X�B/��s��rg�@�8����R��8�8��o�؂@H1�+�2����N��^��f����֖�()���d4��@��	��؀af᳇���
f�v|�S�4i��Z���1�d�돽�;��^d�\���S���D��ףH�+7���(+�Fh@���xέj]/���d��h�l���!B�'g����_�r�J>/_��n���tT���t\�N[l�e�A{�[x���h���@�����9����-�='���&��!��(�FD�fc�|�~�QlP���1�6�
����]��n@+��)G���ɇ@�%�T��Ks�x_�Y�C�Z�Ys�5�Qۜrk6���3A��``��ANߋI*�>�$5z����{ޘ�WwF��d#�Vɧ_Y�o��`I���"�c4�Ms`9S]��ت���7�-c���<�n�ޭ�:_^�@�L��4�l���(�T��8��ζ�+��'L��J>�P��5��U��Q56�4K��Mm2����ne�pi�Tu׬���3��ch���GN�L/���6l��~�4Y(:��Di���-��<��L�%�>�%[ H̀u4�~	���8R�M��H-�v�̎5^��S�U�v������.�`�y��?�����_^�8m�y�����m�(�0�Hk��P���7v�7�џxTo}��+^Z��7�^J�5�[Y&�KX�{,Qe�崺�b��t��:kk��\	\g��Ǵ��hk�c���c�P3�M��Os|b<mI
:ݧ���a��FƣØ�8�~TK�?�D��ʣ�g��$ދl�3��z��9��ze��X�RO�	�fM���dg~I�SC�ZE+���\��lW?R���)d~C���2�X��m��<ҹ?Y~TբU�`��qk\{�+�E�=�Ȣs�ғ"�:
������ߞ��	2+i�
<��OH�S���z�y͡���L_�)��x'N�A��
�6B���v�u �bK�-�&1�\��ۆ|(/v��J?�6��]^�����#৿�� A� ���(��Ny��c�Jj#ۄ@��Z�%���N���[xBhкG�笟��	=l��A��3!42��(�J�C��'T���H����
��z6��kZ+-���]�>�(E9��;�i9�|vЩ6S3�o�*O"m�f�e!��o���).�U��l��܄e�&ȷaʝxͩ��%�1�q�m��U�w�_����Fr��?�r:�`�}Z,�sʠfT��>AW�c��E����0���X88oj������3\���)DX����v��~9�=4�K`��GD�(�����q,3�� �`��ئ:|����u��Ç�ﲯ&F1��ʧ���@���O�
6#���Q�d�)elNu�����8�ض��&u,ː+�p�Hn�t'�P.ױ!U����20�GkC*��Fi�IH-�^����}`��+���6J�lV��a/�g%h��=cc�U��$0�-�e�r�@���y�,��P-�	���k�M9�X�����ԡ��R�ܨPp���F�?�����Ғ� ;яlF�Ox���v���o0N�ۨ� �:FI�S�B|�K��$oK)'�E�И%���'�S�\/
J:�ya�B����]���ԕ>.�vq���s,8��~v���7��n�x�r�z��e�B��M��`M�t|�H:D�(,�Lb)dc�"�~�hD�6�G���̹���|�UL���hN��FG6��S�J98ͧ�6,���K��{��ނ���s
vp��Z_��A��a!Y�~Q_�S6�D��y����]�%�&�p �ϗWj��9kn��:��F��V��f�
]�<ڃՕj���8#j`]�uҔ����m�Z_�d����P�S�pp�o�I��Y�h�k���f�~{oO�X�a��;z�R+�ےݴ?	?��+	HQVu+��4�	m6iDʔ�Ғ�:dO�9BLjE�?h�g�9�\�}�`���%�Ô�m~��$��}%�#)oԳ��H�E��;C䩌�"��{���O�IY��(A����q
?̂EJ���@9���S��'�0XW�?���pA)��Ό��!lQ8�6s��ؚ3�u��@OmC�A���Ç�Au2:���A�&T�D���t����῎��?�w��8�M��V޲�}�C�7�#�S�:C��%�D%w��e�<`�ఙ�z�52AC��@#jJOX�R+ݰo�V۠�Γ��A��	6g�B[�i�Y6��S5�&>3z�ǎwմ�V��R��
��C�.{fe��#MSub�����h����Ph@�c��z�s�D�^�^���N*���="��]TF����g�ӯC�ζ��<��F�Ԏ����O��;�ݝ�M������#V%��dB4��]��P���-�*���sk���٢x�������������BV���<��x i*!��4����1̵܊t��}�-5�C���R���e��y�T��'Љ2�^�9�)�ղl�s�
�m�a�e�¡ /��hʙA�9r��go����	q��ՅP�t��^'R���|�oU�Ar�	�h�t�g8,i~ra$Ѿ<2�����8�'���qyG����t̞�)����gL���kg
��P�m��U��
!�{Ŏ����=�rۘN4�m���o�T�ߣx~Cy�c�_h�b�/jܩ	��0�z�����KЇ�A$�%���5��Hn�����M�[�Q��>���9Cd�!�SG�#���`OQo<Q����ٲ�B��#[6���q������1�b�2�=\\>�t�S�w|`m3[V9x<�����e#&��܄sT���Cُ�:�B,�s����jQ��L�x@t3?ƣ�C�oЍ�"@箫��{<�D(w�v漞�|lX�(T[l�6K�.S�cuz?�-�(S�ˁ��J
B�B)1��i[��P54�r=�7G�k����J�7��U3lB�Q?+s�M �U,�d����B�o�<J
恁G��Y��f���q�,��W����I��Ѵ{gk�O������TP� rI|�M���M�dC����8?s�4mȚ��C>�� ��-�n�c`��E�4�N��'�\D��`K&�B��Ȗqaɵ�/�Q���؟AE��m{�ݹ����!�n�
��[s��.t�@b��J�7�!�B
��VTl%����&�#�0f3����=	\~�Y l�$���7
�FR�nA��<!p�c��<QM���Y�MHH�Gg��<�AZ��q]3N����"�ҡݟ�W'�#�z�k1��$\@�cՊD�T�YF������(!�8U@���~��5��"@꽲��뀎�I���y�+�?�x\Q���p�E��?�՗C�Q���_g��lh�YSU�~��7���(�ܑ:��R��(�� �˘�g��ﭿ�(/�G����MO� ���0
�y�b�5�u�9��U��n�k�,��d]u��w�N:�i+�J(8(,�pD~�W^��zL@���;
���n�mW�2t9��)�j3�P(0Hc G4S��/��)��`T�}3�����Lc�`L��0��4J2�:��%��'X�A��X	�I�Y�����|���`�a�� �u�Z_�v�%�w�{��u�l7Q�d0�57SB��"Y�.�ү*������`�PA��3km�yh����s�/���h�K�v��~[��x���V��5�H��v�f���f�cu�>�'�nƉBG��^�p�.�x��d�4Q�e�ǧ��i���4���f� ��5׳t<���}�P�]�Mż,#O~8-&�t-�%�]��b���^��;%a��_�'���#���L�x��s��\�%���y����`�Xk�F�>Y��|�����\�Z�ɋm���C�bǤx
�o�@�քg��T}:?_��0����r1̚�iQ���i!���(��-J�vDҢFfc��@�
dՈ|�`������0W��$KW�����6�5; 0����kAn,r;�|���1%jR�i�[�i�?B�5�A8Tj�0���}U/*%�-��a�.;>�o��x��4����wI�=�o��<7�>��-;��@�8_ӟyh��M��M��;ʈf��
u6AY/&�{�m��y-���8 �nnPoA�f0n-������+A�!��������*����|ܕ�:E��hD_E<����RK��t!��r��O�gn�N�\TiA+2��H��c�b�H	c�	^�K��NH��>[�;M��~-�y$EU�-�����N[��\l@ZT��;L�fk�ڹ%�r
{<#��^�R	"�!nO��Hj�# �D�ʆ/�íq:�RL��V�JQ��1�>��.����oM�a�j�KM�`�X�F`�C�j�]�[gّ9�hE2-/�4�}�m8�e4�+o:*4��wH�)^L��!��h󀑨h
y��̶Ѽ`�I],�M^�+��N��vW��br�Q9eMAd2Y�u:F�Q�X��ײD<��>t�e���[��끁]j�xΦ�zC�⩮qn�UA�����>t\��!D��9,5��V��p> ��|�)���x0�@����N�W��f\L,\ʭ�;� Z.*�M�{��l<7�o�P�ji�1И��؃K�r.����O��Q�#��U���O�'GtƔ�}{�便�H���gHὈEI�?��I�H>�Ş���5R���Ed!��J�S��5��"�iF�J��TAn���D2�x��\J�����I7���,���.P%��k��v�'lo�$�k���F��Bk�dP-6�0۵�A�?P���Y���$D Ӂ]:�?���tx�;+�t�k!5`%�L\h�>B�S�B]~�hNIK��CIc�c'P���+�;�L�:�{qt����J����� �⃞�u��W�qTn����,0��rL<��Y��;a�[��z!��X��J:IN1[���/^�*�����J����+�~�a ��r���J����K%��Hw�� b%��'[�3�eB�/�&zd*k��?���TտL�g�H���^;���`.E��޵�Ko%�p˓���_P����NIyv�l�<S&=�ʕ������n��pg���p�_y�@��B�IN��U�X���iK���9��@4x��!{�~���d�Y.3�بt�ڗ�:w�oѽ%�C��> �˃�?�r�ٖ��$8{��
�;����i�Mi�bb��Ƙ�U�N~�]|��+ة�J���j�h|k�s�V�{u��Se/a����	@�Z���[��c1�q'R���-V�l�c?uo��+^}��O�WĭԌJ]���|jֲ+�
���׌?0�Ⱦ�V���B�V*��be�^��4�ν�
<}�������@�zYYl[��?��N;����j��T=
�<���^6J���Z��nq՛W��,t\��b�~3Ӌ�d��S��\�\�ҕy[��N^Pguw�8u�VJ�:��[�]#��\��
6����%7D����*�u�Tx�G�T�[z�Z����5N�bC�[4���j󂆵�����Nb�c7j��l����.��s0
ְ*�ϻz$f���ɽR�F�iͰ蠍�����'Z�]p�kRM��%Q�?��_��ڹ^��g�!�8�V[E-��ni���χ�$ی�� �.�a!=ÔO"n@�m�S
U�
����e;��4`�a;�f�*J��K�[*XJ�A�ڞv�8�ް��{�N�2����PK�#�q��G^�۬j�>�c���_�2�w0���������Nv,C���,d��i9�-�L�Jo�˵�_�ˇ�� �w�*�>��OT��5l��
�5_ۯU�_8��G���+���������@�Y����0�2��w^Ӡ������K�z�j:��{�*x��P>��(o�\�v���5&��xy��O���
��J�9؀5�q��obx�o�����I��#�f�ɣ��[����j{X�/4X��#X�@���®Ń��+��r��_��X�0��l�$�ȅ�|<�2��}m��	x���N��2�Hpt�X6��u��W��*G'=��H�E�r��	���j9�dM�b% S���_h=k���}��8}v�S2^��뙬�C�;��k|If�C3*�)�|�z;�g��|Hn`GQ�
�+��>L���n���-+6e�7��w]�
�y��$cu7;Kv�
︶�c��B0;`
#_䉆%�l��`�#������� �Q�,=>�H�;'9,n1�%Mb�x��[דl��`��d2�oL'Y�Z�Ϸ���cp2h�E�Ԕ���2�(���"+�&ԖP���!��y Me?���UB6���ӭ6B�}m��]�O�z���!��[��)B �!�ۜ�Dӫ\�V2a�Q<
6�B�t��Ь����l��\T9�0�!n!��oy�Q_����_×
Ã�+��SSݎ���6{io�ǽQ:��]��s��w�v%VC����e�V����/�vIlM�f!�����֙��!��q$]�Ɏ��#׆��-r��G��5�n��J����s�ER�w]�Oy�ʐ�Y�;[��v`Vl���M��)JlN�J��W!�#1E����n��Rפ1W	q��:b��ڶ��qa�Cմ�
�>ָ ��aQH��nf�l��Y��-�䛵wqy�b:K5"��8M������B�6c@�#Y�sW6ua��dA�a�L�D�s����O�}{�0�Y����YIH<$��j��J�G���)�i�e�W��#R�,,�N�����c��\�Ό��9�
Wѷ�뫎$�hk�c�?!��#k�?r����H`�]_�t��]՝�0S���W/Qrs�+X3���j% �3���g6��&�O�
\w��Ҳ�D'�ϡ��TY���\]*��J�O.9���νvB
�,��a�x�b�-7�|Q�R����}c����k��p���Sx��}�\�U׆�W�����ǡ�qI�7�2��!�ƾ�r��W�o<�r)��+Bq��VT_9ߎ<�\LW{�ʝX�z���,NO��v!�Mz}W'�./�M�a����y�q���;6���?}�#��4H�	�,7�2��8ޛG#N�]�h1�߼g��E��J��6F��,���f�����ؘ�U��t���4����D:П¶�N�L�r�;��e��[eCUf��جF�T�>��	:17P�žS�-�{[^e��)}���
׀��I��Tl�{�U6@$+	��дQ��EZ����}���z]Sע�}m��Q�}(��a�}���^x�}�|E�Q�&�|�o)kj:��a��Wk���W��{O_r�γ���J��a�n(���5�hp���Z0$�����[�˭)��o���=�O8��T�ї�׼�2a����I<�L�ѷ�K��w+!�����<��k���w����:�W���5b�0�l.վ�x��)ʩ`v����$M��u3�M�ύ�vc9ڍ?q�]���_�̥@3i��o5�UE��^�-d4(W[���&��b䑠�~�{aȣ�2B�ڙD��Co��duYf��b1I�=}�VA�����(r�8X�0���d~���ac:2��zE�5�a%@��
�nf,�
�O[���-ݱ���%�N��$��p�Z����Ё|�߄�bϜ�c��+z3t�%���P،��j
�w����rO�$ٮ�<�IBi�+X�Z�[���[�F�_g|���R��5���?���a�ʆ���B]Y	��&o)f	F�aj�)�n9k�/3���@���@�(�71䡴�?�##n���=�cw~���	�
�Pu�I�z��c1l�F!Ԋ�]28��,��_�Bg�b���_�_U�l9Т�L�� �
~�3м;¯�9f��s�ܤ�i*--�'�Z�ߨ�+�?۸�[jV1 ]׸/�1�&p�-
#)�L�{I�	��_��~DY��9(�jzk.�0ui$"�L^(�k����S��xje�:.�BԎ�E��{;���^���?8���\�s�]�U�������9�����=`�Y[[7�\"t�&y�z�|r;�8`�m��C��!BԠ��a�r�N��v��*Baz�t��1�)�cH�2��Kۃ�>&�>�Zc�Է:N�Z�K$$�l��3v'F4�e)�w��w�ؚ�U"8�ХE��E.ܺ�wn?X�R�I{�Lw��d��}��Wmz)�Kү������d�IEx�L�8����X��*��P���:RB��A���1*xb>ώspP�����KM=3��(�a�݋�+��Vp��7�@q�[۞��7�J�Ex{ײ���λ��lD�|�*������	�Zө3�i�
V��s�Sp�d)Ч���|n��0?bѝcޝ������#C�z�l�:���#���0.��K�'�d�=�,���9��{	tT�i�9!|m���<��>jt��rS����9�&�ja�E�
�k?i�ׯ>4�H��#�x|������fՋɇ�U�.�ۙ��3�7-�g��<��O��h�y/���1Pݧ�<�T�̧/p�p�=�>mWt��W���KEo�8'N�!B[�j�_,���նR�X*��[[9��VJ=������2��_~mW�d9xL/�u!f��8WZW��x�XPB+���L��H1P��\��}��HB�2|R���U�s:Ժ�%^���[-���nA�����$8�'�+��m1=�^�^���=��t�����{�g�(�/�{�t8E���ף@Q�ŠN�h֠��h�F�am�>�qEk�7��ٛw�.G��R����aC�47	x��$FF����0v]�@e���Xم����e��h����[}�!w�g��&	�^�$���&U������RW�d׆ŔkB9>p��	�־Eԝ|?L�E��\�#��։/z�����.t����4a�SW�<�`�B�w���c���y+��,>�ݞʈC�i�Wz��5������p�í��!�#�c�G[S�F��r	C�ޙ��G������Ss�M�#o~y|ǚ`s�z폳ݱ�9�x��v�����$(�	��`���ʄ�u�>�&4/[M̯���Օ�K
�.V��&W�
+�23��XM�TG�~8:��gI�7{ų}qo�C���y��tea����)���Q�D���5�B�91�yR-(���-'�J��7
��F4�f~��7e���Y=����a�y�8��b���5���íY�1�^�z�&ԯ�؍�2�X}��������)��^LF�r���
?9^�V)���#-��Щ�C�W����+xW#p�N�E([�a|�ٲ�a%���OG�I�"M�e:f���j�� �!��g;ጙ�&Gj�u��A<�E�{�n�؂�z�x9PQ�e�$��y�9<��al���������	�f;���&r��Lݛ��㸴~�Q���t���S�t 1��k��?�q�̛�+�b��$:ֳ����ߎ}|��4�@PG�����N:�n���O'���I���A��0�朏�h4`�,�ݴ?1b�#�L��nO��`�7v��X�G����M&�-Z�=t�_?�sf�6k3�[0=���T���Ȁ^5�e_T�	y~µ)F��6�/p�/�n&�L݂"��O���`�Wtȧ���ƀB�6��I��\�GZTF[������Mp/U\��
f�|:�!�i�?��A5��2��
�B0���tI�`�
d�Wg�|��qX�����SSq���Qab^|锄V�h�����4�e�_���C�3/�J�P��p8 �+vl�L`՛�l�je=��Vm�'�2ZG���+�h�EZeF��AK���ı˿�1�hE��5O���u�wD�b�㉷B�禆�ؒ=�Ygʄ1���<��.'^��o`�;�����J���T��'���AK�P��D��dG�$5�f�0l�;�v��Z�p���:�na�N#��?Ե���ohU�f7����]�ԅ��=���sa�
�|
��h�9�a		��\u��k���傰q6�ǂjĂ�o����QwG��L��K�#v��OG��V�][� I9+iQ����~=2$-죏�A����.+�#�pb��!_円`46�O%C�c�.�����7��`���t����lJ��	�#@}	)XMZ��᧚M�i��i����Q�'��ĕ���a�=cW��@���|H��ɒX���<��-��S��t��ӌ����
��
��1��yDU��3�5��H�*����_߯E�fU�Zë��D��1n��k^����Iz�񤱝�w��aj�g�
��vIs��!�C1���%��p��d���s5_���k4@nh���X̺�j.dE?P&��Y�e�X���Y��h���P���q_��lCC�sGÉ��L#���2�Y�pv���T�Z��_�:r~S
q%+�HiA���l�����oW�zy>����:~�N��c�������N��SH?r4���v2�}���55휫��Y�K����᧯h��RdF��X�ז��e�ʳM����j�\��-#�Xhw����Y(���wQ���۸�ok��]oq<O�h�{�=���vzNo��v�+����8��⿢����W��i1�Љ�MJ�+a��zS+�Z��j>
����1(�������\{��߼u1沨•��,O�'����`�FL3_����F�}2Ͻ��%�!%!6��JjH������ [�"�d��K#y��׌Y:&�C�(�3
�u��Q�(���E��)Wǯ�(��~�y�C�Z��ɘ,���<�Y�׊�[��g�%S��Qw��~���n8��wej��
�#����z�@�F�F.�޿�4$��D-K�S�;Wx�r���c�K3��;�K���v�~W��xc����QSo��B����������j�A���e���E���}=?'c��FM���[Q��T��_�A�nw���B�y���}=k�)�k
�d審c={?�b�Kye��,@(�DYQ��*25�=*�zy�D��DZ��縊Z\��Ž/�9x�yz����H��†��dJ�{�:�Uw�:��5�2��@���{�D���=@.�U?�xڏ�'B�"�2�K|k<����y=*�8"S�[Ks����c��Q�UӠ�Ӥ�Lp��$y�hLٖV��m
/E�u�g��p=�x�eV����1Q���[��bo�y�J��
ru,�T��,xV��v/�+�ګ}���KM��-��6�����ن�n�CCQ��3jw����SM��vi�v���\�-x��^��:��#l_�0�EA�e��[��~���ߣ�+�8�ҝ�W[J���O(P‰F�b0�r���i�k�S��݌T�P�RI��b��{�Ō��#$\�QX��aV
�������s��=��"�L��×��>F>�5�)"���X��?�%��-D�R<�ʜ��ԯ�
1�k�˝�G��2o����!��:N��6nZz�E�^.oX��-���4�^w�N0��&�R�qY�
��qը-�#��=�y7�m�p��6���c�̭iż`�F48�V�Rw�d��9�������}˾�:�;�v>�tY3AM:t�n��l#RoiL8�Ʉ��}�!1[����6��6�V���{%q��E;	�X�{�>�}�%�e搈O�=��ʴ��h���M3妒k��@�YΧc�ZAbb���JKz�(�t�cI^)d�'��V{����#1Y��t��ݳ����|��._�y����.u�s2�&:T��L+T$Ÿ�p�2˰��+R��V+��@f>V[~��,��������F�>�#������6l'ߧO�f�T���D	bF� �!�ϸͦ����7��/E�	�ǹ[��D�=�o&Y���FT�U}����R��1oK� _�=�v�%�L�xI6p��%Uy"�� aٌG�0h��C�X��op��}��|PZ���C��)�2K?@_��T>�n?rTi�2"�K�u�V o�����������7c�{KP��X�x�X�������,�}W����Y�w9���U��m�1N�A�v%JI�!_Qgj�7�n��!>�nC N9w�ZG����zS�o;V�kÈ���۩ι���g��� ��k�^��3�e3�:��/�ʃ��=�d\Ԏ�'n���6ɷ��fE�j����騇����V�E��)t)"ܓ��k'�6)RJ�HvLUX�L����+c*`�uv�����Q�z�����	h�W����ux�O[I��x��A��rpbS��iGi�V%���K���e�{��<�V�n�E:eY� ��;��دeA��M�V�h0#hϳ�=�%�[�w���wR��;��0+��!|���'�B��"��c�d�y��(E8![��q�5�ʂ;��A��/d#��Z��U�L!P�J([��LYI�C��>.<<y�˜2��C�j�N�!p�r`�'{��������зd<[E��t���	-x�ڒ|��Z��[-�e�i�����1���.�3�F'��o&p���`N�M��A�G����!�IM�:4��ھ}�0�N����#�Mp����nt<0�)�_*����D��g�������>�S*� �����}�r�r�p�m�'e�E���>�ḭ�8۪�e5��b��r�QcBq�L-K���zJ�j��q��B�.c�{��D�I�ūS���-ӵo@�N8�l+s���!��$��@Y�v$�F6���c�R��o�xނ��������pc�鸧���M}*Q�3��b��0�!��eABw����	`��S�m�2L��U
j&�fQʐ�+J]�$���<}�\-@NѢ�7d� ��ߚ���B6~�W�[j��_�y-Z�;�pti�`�Rr!�8�D#j��`{�2.d�?0��ع�L#:����2-��~
95��G˥�
�<;!�����D�c��1��}%`��n�	C���{��������{�?�;��Z����[�R�3h����C��Yf�����b���Ԃ��n+��"�O�r<��j}ەB	tD�9 H��a�U�
�r����N�`c;�(_tP� �˧P�QlO77��=��p�2��JJ��1�
Gm��C�jR9�%�Ҡ"\�_�d�3�P`Mq��\�;��$���t��*;_-�P%o�)o�^���X;�f���;hҕ=�jd+�;v�")E�X�7/|,�P�s�.�85��J�ނO\�¯�g��zA�Ϗ.�buV7��n�4\
�����Ʒ��T�	,7[K6���v���Ugn+SL���{n���+
{��y�xo�2�a��HLm�jV~� 2���Pԓ���h�-�{-N������R 㨋���8��ǃ��bD��i'W�ByE	c�
�%��@-��
�fT�����k.��1:_��G����ȧ;�\�L�(�X#����B��'�'����6�l��0+��x ���d�	�;s^��ɒ�U�m�HP%?:�0�I�(���'��?d!�����{���/C�n0�������7w����Wt\4�+n�}`�\���q��&jG�� ���Z�D��r�٤�MQ��	��2��T�/^L���,�����Wt���
<�~9�5�V�*M����߁��;آ����.ؾ�����?[��-�&0%M�oo��������45w�K����uKަ!�ΈD��~{�1ݐ���~���p	gyqg��;g�F�LqPu���,�����6_ e�|��<��Z��aB;��K���K�2�\G��6��8<�%|���8q��q�p�Vv�#�J}"�d�)�$�Rx"iHg�d]vFd'�u�R�GIX��:�S
��od(���������k�w�E�f�v���6���20�>܃�[��#%�QVqg�I֏	u�cg�2��xО�R�q%�\r	%q�ڑ,�P��7ZA��j"�ҥ��Q���kYk�n/3�W�!r��N�P�^K��L��1�BOї<�d9��;lḎ;w�\�/Pwc�>��력݉Z��\~Q�Ba�u��q�wI����
�-o?�c�KXA��0�7/�c#�*��S.f�'���!E.w��7f���[X����
	F1�_���*�G䙱@��1�)V�jw�����M�������줒��&Q.	np�USԦ`Zk ���,�v��,L|H�aC-�$<��l܃�̬0�Y]��H9lvJ�
��ƭ�7�|c����3���>��J7��d'�U@Z�W�u���� /�=���HGk�!4�?���@���"��z\��Fψ��S�K������A 5�_�SKp?<bHD�����_���kU�¸au��v��Z���739l���8]��g�3n�����X��5��򛪆���v��Qs��jA����_{�Pm8<�o���>*��}NA� �x�dL�y�Ot��j�Z,߮�Z0$�9}�r�A�ޤl1��I���Y��1Q�#��d����*!�$+4�sLl�Sq�s�;J��[*���a����i4-�Aq�X��E��
�(�_��Fх\Mh�I�G��X1%��)��/��̀e�R���Z%��_�0/���D��B\���| Q�'�+q��K 0��#����0p{Q�Ձ&�Ğp�W�I�cN!�P�����
}�Y5��a(��`=֬:'��`�C��{
m�%�3o81D[�k����g��v�/�\��pv��ba|4�~[��;�a�=Lzk�x���!�*R'�@�/�Ng��A����ݑ�OX��2�\7�|��g���
��pFO
�z�6��t�)�uݖ�\O�������\�HG��D]�a����M���<��Z�]9�V�G���BL�UY�*`MN����������p�(�ܾ��/������tp�}#�Eao)��*~��,L'l�c��Ċ�8��c�gzd}k�4��k5�K�-}��Dr��A��o{�(���#��)�����W�`�v��A�
<I�ל�h�3�+�
�e��6��lԟ�e��E�n����o�	E�)�}��^�>���3����N��*L,_-�|�#b�ʹ�>�W٦:�ԟǚ��F�m�P+F}�lz2b|��8�'��={�#҄ޔ�v��j�d*�+&<���nj�����M�Y
��"A\�je�Q��R)F_��"��9cbQ_���f�	���|�m�| ����!~�ll���^o����]mR��G�0`F�p$����D�0X���1$�Z&��E_�؆z�
å@$�g�'�T�'���:<�lz��xx&py��}.@D^ӢH��{EА�Ճ�w���`'Fg���Q�|�.��Z�S�y���1Z�z?
đ�&82�\&�¬�A2C�s��<��c���c�����Hb�8����0���H�5�b���X�qW���� `���2
,����Y��X9
��(O�/e�8��,�S�`CV���ʖ#��){�%
��-cߣ-� #�`�u�;��ao�'!JA�0�[	p�ɰ�/�S.�R�{y�-�A���
�8��H���_d4�1�hT�����L��~�Z�k��ЁR��X�K�OtL��h�l
F�-FE-�I9W���b�4R:���V�T̑vg�a�����O�L�<ˆF	�#.05�3u�od�����+�����VGg7�����DV�︿����t��楿A��I>�yֶW��)'\����[cY��D}�4�����\�{��Y��:���˒
Djӣg@�`"Thl5��.4�9�OK��������9����&!D�%��D��6|�¬a��A^r:���|5J�.״ؒ��-V��d="
��0�&�Z	�k�S�ʺ [��R����.�{��,bcY"J��GIɗ
�R�-6���V����8�ņ[���ȐI�m�$��R,�L�ju�����ڔ�-E]A^`�F�&��4R�]�0D��vTO���6&�ả�n��Q!5�
u�eˆ�AJ�"�\�}���'��Rh�IN|m����Wϥ�Wm6zϢs��K���*�g���ɚ���~��~ו�:����Hs�~��gJ�T �hpsfUm3�����69�:v�_�3yL�>;P��<a����:�ᣂ|�]�򳡏|:)��g��]u+��:�vB��>0��u����z��CJ0D��S�oP��6�]ɺ�ةå����X����"����%&���׳;��R�����=�X�k��|uY����[��r	�	�4	F^DN(����L8��\��_,��G��#5Jyw�96ʺ��=�D���B�^fy:��c�8�e�
M�Tq:T`0V*�a=�X`��>�tW�[`ea'�]�^+�+���E��Kr�}�?κ�d���!K7�N� �ly8��{.�E���2ֿ�!<ш
���a���^�K$��%Wlۃg�X�n����a^	Ւ-�Ln�GF�㔽�u�H�{���Â�w;�]ֳߚ��~9|oX>"қ�ɑ�r�|_G��+�l$��7�9�<�H������	�-��&S]-�|��M,�=�Co)a��k˥��2��ۚ33]ȟ�����g�Z>���w��BR�PY
v�6��]���qv��W�JYD]���iv��
��贂):ʣ�T��1i��0��0ǧ��	��x�6�G�q &�E\���Ip��Y��K|�:�l���Z�h�X	Kߴ�}bo�]�L�s��d
m��ۡTUo�z?L����Ug$���-�3!�0ʋ�g!��Q-�ȩ�0�G"��	D�z$��}�EOH�/��]�3�5�a$��N�ç��b�hZ�T$��h4}RJJJ(G�rދa+s�3rm~��kxy}��둗҇�z���@Jg�G��3����&���]z)����ܳD�R��PK�صY
��.��#���
��X��U<��;J޵�pŕ�(��]Ze�c�ax5Zo*�/y���D���!�ԅ�h�A���i���:�U)�R�U���3�'{�V��[�"�w�Y�Jrj���ʣ
II�כ�G�ԅ<T�'��h{�m'n�?El�_moK�?Z��gZ�/�����|׵���6�2�]�y-���%U��dN�D9�h�K����W��3�"�A�H��en��	���^��x��EW}��N��B��P3h�iǚ�P_���l��]p�4�:��οLQ�K��d	2�-�{�S[��Bj��r�\��u��+ˊ
;�����ˆ"��G�_?0��^�6�z#�6	8L�>���Ͱ�(<;��`MI?:r-O�Bo���5���a %Z����#���X��8�p{3�A����C�4�\׬�-�.�0~޻i�#�x�S
�Zzl=�IPW��~*�Ė�����I�O����`p���^MOu͊����C������ǐ�4���jg	rȬ��w�xn;K�%@~��D�_."�<���em�!�h�������ۺ�Em#�W>w�odi��'`!1�G�s,'��`���G}26���놏�B�`�]�VIʍ�~�Т��{&Rl�Wb��TK�\��V��v��㏞����FkA2�J1�D�;��1�f�L��7-��x:�x�xp�*���w�a*#p�~O]�%�=�իoYg����j�媽=�{kIW=�OXÃ�WN����,W5a�N r���d� �;��$h�#S��i�f�U�|�uj�i�XcY3��t��'ެ%����-6⧬/\ߝ�YH�(U��>)�.(()�:>){��%����Tl/���s��j�6y5���ˑ��.=��.�CSh�#��Q2;.�M����UW�N:�K!�v��t�Q��ߜw���P���	b#�_��P!��R���?ǐ�W�z�>�|X̡��i�"�z��Ǫ
B�^���z<`n�����}T6���"�Ll���d�(ȏњ�g�VP���9XN|)�s`�	�@TvA&Գ��MT��b#��&(:�m��
�A㱿�C�B��H�@�/�������-��b���fk�5Ql#'YL��Ea1�6"��@9�T@s�C(�jT1�FC��Q�
��%?t��F���FNÐ�J�qp�o���k�����J��ŪUk{���RT��"��J
x
0o�] ���rQ�W|��d�nuF�’e	vt�8�K|��caPy�*DY�L�M��>J����mpwB�;��Ѯ��i-	s��Phu�Y��Bs5�jH�Vgn]X�����Ϳ�<�wWךX�y~m6f�پ��<�glOgn��}����AaN;ܝ_b�7�ٝ����Yؤ�5�D�ѡ����r�{κg�t1p�R�ԕP���qەl9f��U�m�@���"��e[����*�8E>��T��+��	�<���B�#M���Bk_뿟���$�)�]?�"-�Y�a��-k9�0��)��z-c<�a�7���K{w�ͳ RpWg���d�4��.&]��$ VX�W�"װSka�{X���8�D8�;v�QD@�[��N|�e����ex:�F�܅�hܵ��Ƌ�ؠ�?��7
)5��9=��cF$Ɔ�UT�U�u��PO
�*�QQ��e��0xjlB��-+kp���qk��nQ�A�ۉ�_[wDUEž�"#Ӣ
r�Ŏ���˃���54\l%~���	:��r%P]ӽB�'�:R�������Hۊ*�QSy��ԁ�ie~�D3��`�BC�M�U2.T�	��:�[Fv�x,�Ԅ��!��#|("%A�!����\Hx�����R��	��l���\�9���O��n��F<�t�6}�B��4ZP��I��r��l���)��y�UV�G����i�B�F��Ր�$XJ�H�:f@�Pu��E���D[9���+oq��|C��Y�z^hy9�X`##+.�u��E\��p�_��R��꾘ĺ� &e�u�:��e�)�;hlұAq����L���:+��E��x��M�i<��!�8)'�"����|��3�.
?}֞i@l�ꊎ�Q�	LT���hھ�Nnr�a�p��s�i��rd�ļ����kW8�'���Yz)����iQ���!K0����p`���:��X	U���OL�[�����8�U�ɭs���H\h����eի�<�� #Rl���_���;���:���^J���!���(2 ٦ml>:kk�G���\�ʛk75ҧ]jc �E�5�n
���(�|�[�d;�96�!���]�	?�PX1����0�!�	L��ɉ�yͱ*��L���� ��"���x�wp8g;�D����t�O��tk[Ĵ�so;ɰ�O11O'��p�9�cɪ���8*�2�pp<��D) M�g�3̘ί��X�����tƼ�c��x��L��&�~y����R�Hp���2�
"��g҃���x}�9���ɍ\�^������0 
�ϼ.z�.]`��Փ|�\�h��
q9�s�=�YƔWB�&~P��A���C�X:�Pc��ug)���7��bd�@����)�h���D]}B�jH�ˁi���_�͙���^���),�L#��<�AX�5�D�k�"�*�[׉���1�@�d��#O�S�k�������R�A�R�ߑ�z����z/ן�\���-���h�H�Z��aq-�:���\�����++z/��5�L�⪫Z���f@��3=uIڿ�G��!���L3�pi\�F��`7-)߀��T��֪�YTZ�E@{�� �jƕ�ʏ-BȪ�1Z�
�a������o[��~�~]�Z"�l��[��8%c���6�]۶�M5�ȅ$�����!�M�%C,7�h/�04+�~C��ū��WXtx�	ƥ%�����	.`=�(f=l0RK�5۴
�0��Ͳ|E��)���>̈|�A��;5	M쁑���*��D,�-����cM�B,��,��~�U~,������j��C��m���E�h5ZN�Rh�f?��:�t"��0�%(����±:΋To�
�YBLn�ź��᳄�ʒ��Q�I�P�/��@O��?l{�<>K�e#�8��á���j�:+�^7xB���,�w���/1�Ft��K��U���ګ)�P{���E�.�ў)W��|��^֬K��wղt�r�3�+���`��~��6�eU���_�?L0z^U�Au߲<���� �E%��V�w�����Ff�$��s�\"�A�������esZ3
&_�X����e�jF�]/��4�b$af�rd2+̶H�w{���4S����J=�f��
.����u#T߯��/��^�
`�@Dd�(œN_r���_�x8�>\/>7��W�y/9�?=/���؜�ebLJ���"G��!�ޯ�`��TS�媂���,�Ϲ���|H�dk���Td���?\;������1<�x^��
Z��+�Y)��L�ۂ��/w�Tn�mO�cu`�ť�ߴ���r�`:��L���6�&ƙ�rc��A?Ɇ�=��0������}������ٮjYIR��V��3�ś��+��b��Rw/�lW�[8�>�e�����O���ɚ����]���P�T�Z��D�~#�z�r�MX��q����l~"ya�S���\C��:�v7Lݭ�R����[�d(��%�րD�����Wn�g*�๎��C��$\�D�=JjS7�S7�P�Y��>1�ps�k��8��xO���o�a]�&"r!F�]�@�K+=�#ŵ�4�p��ކ���[�n����H��oc���ۅ�q�M]�[SuJ�'���bLd��~L��&�Kܶ�_�F�����b_�@�>~Y�1���}����z���X8�'��)�=��߫��23;���ݷG�MuJ�q��5���U�1T1I��h%c"1�N��~A�B+��<����Y�ٜ�`�q���n��ڟ���lT3-:6��y`�o0��
w�~���i{F�ƅŚi]g��|���i��D����W^��Qb���R��|�`Ah)�a��L����:5�;C�*)P��Xi��LF�REr�N���'�oX�
ȡ�V�;¦x0�?��O��He����
���Q���M�觬��2�"\)��$Ol���vK{�?�v9t����m��9a�b,"��7�^#)�s v������-L;@qb(}Ӥ�KY��	fĽ�0W^�'���V����8"ڙ2C��)���J��٢��|�|�~�}ޠ����[��]a.-.�}ceI�f)+5ߪL}�(�[�0���m�=:!���-m@:���YY��e�4���o��lA�-]^��`�@�v,N�x��:PZ���`Ƀ�0�q.zP2TG�aI�G��)����H�V�'�Ҁ(� e�������F��v#�'���!�!@A�~���4���Ue�꼲�0[�l�=�]]�^"��?b=�X���T�'lm�ڂDzc(x��bm}
�k�v21�F�D���"Z\�������,UO'�A�/9"�Г�N&d�#�t�����Q��~G�ڭ5��q�=�JP��î6��A�ۀs4�֢�eR�F�Kir
����o�t�7��S��Q��QKwAd\���R�K`�,�[t�8��(��Z�)6慎��wm�8�[�X�θ`���=o�O�4�k�*��_�^��L����������0_�|����\�+|K�91ʋ	K��^�|�9��X�V��p�js�͸���LG�'F�J$��F�ku5<�~l�C�fё2&R����ӈ�Q��8&�a�a��ٲ��&�p�3V��zI|��#>.�H�R�~�1(k��(�:�w�i�`��n]��分�>��u*;s�Jr��Z�$>�wp1Gm�,u�kU��Y��;�OyiMRv!�s��G�}(��Ev�)�y���;���Q��;�����.9g%3ǩ�����Jy�2q�w([���Q��CQW�*��^rݹ͙��c����J�x6�E���̅�kj%?��`��>A[b��Q��#���B�|�ϲ�>>����Ӯ�����}'CI�g��Au��g�uSܷ�DŞ
�L�Y/��CU��������̓�Լ{��.?���:<�nìѾy[���7��2����d*�R1�{Q���̪?kR��(��Uꄌ[A�}��g��:jɤ���‡��V��g�8����4���:�$I4Ⱥ����'=�S�r�D_q�
Ys6�n����hSn ���Y��[������Wf(}n��7 ?�_|��eTJB�x2��M"�&=^
��1P&ެ*�C��J�?oP$>��[�)p&�VR�[�6m3�{-�Um�TN��c��f�x�վ��bՁG]�v�G��uP�U
�I&W�J�I�!�N���m��eo��=,�	������I�+8�2�/�����p��=*
S��e�*������z��/ُN�Az,�P8���v��z���T��ss7E�k�ш�W��fK�9b�2C�| �H����`�v��a">�u>r�F��W��l�))���˵Ka�
V8s^��\l��.5q`,F��!I�N�oԨY��k_�ax5B-����P(ڟvK���s��柖�*�b�r��{�tj9I�儚g^]�aa���@�4�
�D6���:\�Rv���T3��Y�D�?4��p��Re�`a�.����P��SO�q��I�����fm�"����.�PfP�*\G)"k��zٸ���w���A�����TdGǿ,�Ўƃ�,�4�ܫ{�܁�2�*H5$@tm��7��yna�+��3B��e\���sNR��N�9R)�!�OSյLu��WݜI����~��AU&���Ѹ�\|W���B��`�4)V��s>��������Po�e��C-����9o����
�}�fr�(G��
�4�/��P��]�5����ETч��,��m��M�:�մ,Au���t��ߪ�S#�v]�ٔ�V: ��'ZRE`�B�y�_[4���Ky�C8\��ƢM6F�U)�׌vו�Y�:�p���H�jcXZ6����E�a��+�@����P)��PR_������������]�9�Ë����|�3��.��ݵY(z;�,���¬��+Bm~BWX���e��,�|7w��f�u"��*�}���{
�~�=�f��XG�'�Ju��!R/�2�`3ܪ���#��Q��Ы6}��:?S�\q�oe��e;fP{Ug�7��^ط�(�=�s����/��v}��9<�t��A����(�0"`>�o5�3��w߹V7]va�/7/n�X��I>�7��]��$���o':��MM��9�ٹA�L
��L#y쎡���y�@��H������x�:���6�+�^��L?�ێ�ym�U�CvC��u��B}r?id�K�گzǀu��XM�u�7�b���db�V����h�,&���Ƴ��9Fy�0R�ɘlg{B�
`��U��b@=�+�Ps;b��'دF��5��1�N\e�B�
�k��\g5p�Q׼莬
�Ϛ�7� `1Ƨ��+��
h�X�)e�X8�’���̒�*�I�7�?��N�G�&?�|U�h��]�Aٳ�O[B˓���tuFn[��']�s�x�Zu�V��:k
�貥4To(��yT���3��a�ːcLν:zQ�F�n��qV����:�c e
Oi�y���=��^�tB_qI��m(߳j���n:�qu�6v�s���}6΁�4v�o`�v�f(ηg��N�wư�����Ԋ�/������\f���u~�Χ�?��b�*ƌaj��\
�jnyθꆕ]�:��L�\i�s���u���$)�v6�A�
͒���`"|8��#"����l0
�|�IL@<,*YF����-��{(���J�0�T�n1C^�;����F+�E]9�x���#��dÞu���ϼA��vW��qƜ{+�۠*�q�T��|X��UH�\<�&r�k���U�_�	X��v�{���B>�\ЀV�%�X�sU���c��w�<�W|)0!�W�4��9�������$-b�*��F޸��]C[�pACV�8��L	3���$�w�M͗� )/�'fqU��F�(����2E�`�<ӑZ��[�Ū�L��3�Ia�z��.�/[Z],7��5�yȴ���)�(Հ�v���\p��p�5�\opu�l�Aǹ�P^�U���d<��y���uv_����5D�\�<��N���*�q�<&Y�c%��r]ᵚ4��'��}������3�O�H�4�$��o�/Q0i���t�U��V���w`��
Ӭ���0w����M���rӶFQ�i�a$�p�A�Ԏ7
&Y���1�>0���SO�(>�Kީ-=�m#��"a�M��:��#PK
D�V;Q���8�t�:aƭ~Wm�A�N��TO��;��[;�d����T 2��H�"�MNT�t�\%B)�#�2F� ��N�.7P�V���`Z�T��C��…���Cd!Q����v���jBD�<

Z��M�b>��C�TL7��2���;#Y?*n���L���M�Z�����k�QU���������R��nP�V�����O�^�����@�����"��L�k+z��\3"��Q�u�Fm.X����@����&��<JL#H&��&5h�3��q�2�
�-�W�w
�5	�%!u��<]<m��N����m��*ɨ빬�����N�ȪLW,�j�5>(��'k6�X׭���J�i��o�R[�+�j�f���`|f>p��� @ȁv���1�մ��K�vN�2�7,�gL�S�,l޲�̕��+bGl���Ffؙz-{�)7��>/{�(�8xԽ��Ψ\�%5N̍u��Bp�_M~\p#�,Fr���=��*�cLL�X���2q@iSf�ip]���r=�}�A³�(�O�✺��u,?>�����evS�<��z3�lU�v��~����
n���>V�c'8��s���TvePr��ǵv��C��@���E�4L��#��p?q�>*��
��&�t��[v� �3�n\��/����w/~�dδ�A/N�1E�z�8	ߪJ�Lp'4�a<�1�9��z
Q�B���j��41G�؁�SAW8o������j�������Y`��!��5�d��9'�/���c�DY<�:�HA����n���G��8��!��nn���,*�`
�7K�h{U��|n�PN<E�7c$M����Jg*�In�0�k��(.8���O�*��/㘁�^,�5Ľ�:��3����1.gֲր����
�Ѿ	���@���Ѽ�H���6ǧU��O����S��`hW�}�W{�ۗ�
�R-Y��xF8��n��@����ؗ��YI9k���P
g��gsi��j2�g���,�#uM�u,u�p.���Q-7����G�-�"��8�M_�ִ��]�Wજ�F�39U�E�ⱂ������+UFWgy��,�U>`~u��i5�:���\dx�T��,.�וح.V�\f#:�og_[h;_Yi���Y���LL/ۘZd�P�uh����_���?ׯ����/�1X�|�%G�8;�h���Ⱥ��FA��ι�Z�rꈅ���V��r��(�3?�|ٲ���mp��+S��RV��u��eɺ�[!1.u�_|s"7㾟�	F�^��;�ՔI��$�T�t�EO�]3�wl!�[�=��K޸��u��v1�D�#�YF�)ƒ$�?�:{6��o�7־���H�F��7�	��%���F��������؊�-��5�j�ivY�%����Ȗ[��״�U\�l��H���._�&�N2�����(^�������L��1�	�6��|��x��n�A����'iB� �N�z��ál�`��P܇�:���$j�{�j��8�%����P�����T�-%��D&�B�2ɤ$�
k�Ie.��y����L�:p/vi"z�ي@�*АK�J.�3�{��qѨm�(|��C���R׽Oc
ԅ��|\��tb�9F쌠[ؠ
��S�5�|�NR�T����0R��e�>�_T�Jy�o"�S������͉6��p`�C�8z���n�ŋ_�7i�Ԥ[؜�!�/�͢d�&�
f�����������D���%��Hc��g�-݌��&Lr�1�U�?}��V������H�-�9��Z�%�m}̚�,�"uq�H|C��VV�*�<8B�q^zƱZ\.��
�\ͥ��W��`X˱:�~N��3�����[}�l�i�ś�Fp�C[�ey.:�=O�����ǣ��&�o0���w	.�;����t�``+.�[�%P~�M߶�Z�}1Jwf�:��j�\8kU�8��/�g��b|��eY�0neg�hy������O�MhV�|��ֿ`�<@>�	�q��d�+t"Kld�A)�H�G�ˡw	Zx�o�?P.��с���f�!�:��!�c��Z��͑V�����7tV�^���H.��6\�Ӆ�e�Z�	�]o1}c�bjW�v~��z)q��X�U����^ՠN��q�F9��Y7���؅~�&�ʛ��t�rv��u9KM^Y)5ٹs��T����нqX=�+ވ:���VyUִh92`�v���͍ɕ����g-�tќyF�X��uP�c�������'ؽ�xCXѠ�Z���]��>�44�}R@��Kn:�����q��fE-��mIF��BԢ�>��h��N�n6�cͼ�P�Pd�V�`V��}�OZ(Є�1�]�)�ׁ�֓����L+���p	�Q�j8�܅'!��6�h:�T�p|���2ػ�@&�ZS= �:(G���9����%�'��ߑ�(	���J����b4`$ ���GxG])� @��ր2��k)1Z>��=
��?(�4c�q���U�7�Vr�Hh�#��F�$�4V��"y�-�4�)d��:���:B��*߀?����A�#,�J4NI;8�Ǎ*�6�1d�����o��#�t ��_&v���#������ȼ�:]�ٞ�nh��#���e��ălez�Y���X
V�'��x·?���������]bw�	�Lg#�;�?F�R��b�ƣ�����e0b�b2��͚�bgq�iQ��J�kwG�^5޾]��kp���9�H?�?�\P�5{�p��$Wׯ%��{����8#&��,�_3#��e�e�G�RM�.`�I�������<O^M��j�0ʈ��*��%A)?&o߀����AOD�|k��?�z`Y]R����ߝ��O�,��l�d7�Xz�!_g��J�3�����]X���T�1��;�0@�c%���E�"#~��*6Ԯ�3<��"X)1M���Ȯ��QO#Dy���A5�D��t�-x{��0I=f�9�|���w�WUn��l�V<`^�1���5DS'+�>g���7Lwx]|�XD��t��'4�@�{ϴ(�\E�|+C�)Z�в���4g�kC�X}Z5�&�&e;���N��P %�����o��#%=�۬b��.���I�}D��`�e�¦��}�����ak�:�MŶ���l$195�('mM;'9�Z��O;��?���M�#�◖�3�(�H���������!��64m��~��V�1��}.ٓ�j���\��(|�|�O���8��0��b�>R>����!o�/�'�t�~`Xp��9%�P�)��
:�h5�sI�A
񯲞�aùAS��x��M�RmGڤ?�x�ym��-�
,p��sW{j7��Lh�B�_t��v�UtA�;邾��:&�H��(�̅wPS�`�쾍KC��ۻ}���mpټ4'{ͥʏ�ߋ<�1��ow�4�}�W+VR�}m��7c5s�GѲ����s�M�~\6����7�zepCV'
�.��îZ���n6 G-W��e�;�8�Ŭy��֧�5%��c��)寙�����K�?�J��J\��x�Y�-�gZ���3��
7�Xf1p��Q��:���Lw��.��j�TC�A�2�0�C6�<U����Y�+؈5v'���$1�#ڟ�� ��M��B}�ç!jjGm����:JD��gpf�v�����2A�1����n�$+�:������N��>��8�'�N��u���P�X��Ew��<,�����tO�pw�a���`�����)q��4�OK5Щ�|=Ѯ����#b6=�o�@Pß��'l��1N��I�[p��0�U�;`˓���P{��(�0ѱb��ƌ�>�\��P>���q|��+o���gy=�R��K:�[�n�^%�
+4���pR�=�Y��d�\]��\�y-��мg�;*G�y�M�[c/�,�m�?(]��Fc���]��!�3>P����v
l�ٰGj�j'�IU��B�6� �{�/:4����7�o'箯���;�H-��(u��-�&�9�Ą{�<+���#��We��ˆ�>�qP��>K�u�$&�Iy�=1�P����z�����v��F�������W<r,<��+j!*RR6:�-uC�V��Bl�)���^)�c�����[I�G��	'���(��y�+�x�ő�I���G�j��Kg���"8���L����*��f��K�bN�����,�{*6!N�j��b:�2'�0N8��w�k�hy�+î�׼h5��U�4�~�\J�Xh'�&A$˱�&��-�۾Rճe7��/����a�՗٤d���՝�R'�����k�L�ͅ*�[�	��EA�;������;/?���E��H�JzV�&ι"Ⱥ����<����z�k�wG�S�>���(���{4-�6i�����•�-�R�Bl�8�ŋb��x���߅�>�6���G�_�}b��Z�N�̫�h3�Z̔�Jc/{i �̾"�^�P��C�:Ǝ#	%��@�[�JؙrD�u��@β��l�śq���/f�!��x��:��
p�o��#0�Y�_aCmjM	m��x�n_�������~���c
S�U�Y!������V�*m<)k��|#KǓ�,���%Ht|O�E4C�}�U�g��X�5�H��!��0�!�'h5S[9��Id�EqumOR�������F�Uci�w�����!�B�HkZB��p8��WG�ǣm�z.�c[J��R��W�GH�S-vѫO<���ҋt�2�%ev���Z#0��`C�fw��|��Pr�e���y-
�t;�;��i*_��ދ�W�7�����0q�/��'&�3�gI(֒L�52`c3���w	�j�ͩ����^u�&5�v f��
c�6s���w-�D���m�7�G�Eܯ�ͯ
�v�A��n:�f�$�ss�2���^��[M��)(Gx�lra^Q`�.u�~Q-ҏCП�����L���CU�퀭��Y���Jd,f�O��� )�IG��i����uj��_T�[��N�pQ�g�BLR�ZL�3�=6as��i�II�g��f�>��]�sL���f^�H�Kǁ7Օ4ay
����U�d�>�A0z�}$����j~����+��c]
Y�-'�C!V�%��v"꫎���+�r�8$b�
Q'���}�u_&��8T��7KL..6��f�36���v/��w�ܦ�S�v�뮀��Z�Q���ކ��˅Q�͊C�\Z�*�,�fU�8�K�ܸv�ug���ů��G��������P�͋_�/y{�c�&{��� �d�U��6G8'�FK��^0ٮ���)�Yǒ�X-$>`�qqbM:�����7��ki��$h;��׿��\��Э�`TA=�eRH�~�(���+�?ǧs��C9�촰W^�z���M�t��3D�`k^a)��~ų�d�n��}N���+L	��)��ŵ�܆-����3>$���W\
/=*G&ك1���C؅B3�8iuF�8�ˁ��L'�ɋ��'w�>ڍ}�x��U��y�f�;�Ћl�	�=��'6��p=�ǚ��[|%(MD���3�fǟU	��Qr��
�k��p�Z�`��x�}�eW�{�۠&O<�b���g�w���&-��fk��u�:����*W%
�q��m�}3�D���A�u'6I�_R�ql�tKͻ�{{��d^:p�OUx�	b�ޭj2�caho��Ġ��̟9�M
B��S�N���p4[]|�l92�/� �Lt���7N"*lb|?B�}�����F/�Q�W�b5�\+sg�n!`qH D�����lP�۷޽~���[W�C��9�ɢ�l<�����A���/;G<����������������������ު���=�(�q���W���=*�0���\y�s:���
��a��{?��fspK�>Q��P��[��C)C
�A���C7N�lLo��cc�0?�������>v�IJርl��Q2b/�8�+��6(!@n��!ܳ���w���m�ђu8��!6Q.Q�]:��F7���oa���y%/sK�K-q�H���"�o�!�6��P��^B ���Y�ϳ�U��2u��/��/���<Y^B؝�Ч��_�pd� pZB��+��݇"����
�t8ń�x*��@`v��4y�����ru��_���^B���I�Ğnѕ0G��9��$�*�A����K,&7ҝ̓y|,\��=�p*տA����!��^��$��u}�:��2W���x��WS	wU����W�emu֗��T��S���5��9/��]��k�=�<�C�𣔹~���a�i-�-h=�ӒI�/�.���G���y��+r��s!Sp�[�
�N6��0s�9���#��d����h�P�ӯڞLF�+/�����&Yw���w.��yoڝdR]�'����H�`r�#�[}h��sunmFG8��w6���L���E��",4���w�ɺ�@��=����}\"T\L�Hޅ�D��Xv�[h5U=F�/b�@��b�n�l�F��,��𪺤�q^�H�������}E��‚	���t��e���&�2�ؖZ�e�W0wl��l�����>�f�v��Eof�R��P�X7��hvU����R��_����"2�9˰z�\��F��RX��:��x7�{�t�У$�r�_*-��R.�J�|)�H���OT�:�0&��/E�@�jxb��~
�6�e�T.S�]مr�ncSuX•庶�L�r!y{�
M{�|�SL;�Ԃ�X=&��SadD%K��	T]f����5�9�伻��G��.�@��?D�	��0@{`��z"0($��dgU�$ƇnO�HvS@���h]���ڔ�vu�O'Y��čԙ���;��n����n�
�\u�� /��GQ>���X�S->����OŷlL/4jl��6Q.���|7S+��l(�Qc��ם!�S��,��(����b��Z��şC�q�=_��%ci�Q$3��`I0v{Ⲵ�ur.ńʵ�80Y��T"�
�����d�oY���b'����X���KK��q�\\��ȅ ���5����W��Lؑ�c@��T˫�H`f俜��	e�I�	�z�I�Gn�YhJ��Z�� ��%�2)��eX�H�j��~��
KZ��d`��Xȣ")�!�
w���>M&���Rh��B���lY����?���W�яL���dч�l-��>s�˟��\�}�n֔�I�6��`��;o�x�����c�Jx:N�$i�NLBs��C�vQe�k/nf�x(`���B�?v����7��	��: ':\_X2c�p�#�����_Z
����ċx��;O�
K���'��|��m�
i_�x�Ւ���"X��p׮�g�pZ�CT-�kWB��
Z��� @Dׁ搧���jFiʫ�=%7���[*o;9�Θ��|�OV�C�X�N�*�+�yǯA1:��Q��#q�x���E��$�J��N��ʬ�զ���ș��A��
�p�Ȅ\UCҵ���ˠa��>
Ѡ�����º��^�/����Kۆ
�h�I"5� ����\��6׋��vX������F�#�b��:I�s�yW��΂��<��%�R>#��Y��-W��SǛ���x�b�F��A���s2�C��kP��ߚ��`���U�>E��#�6�@3@$hG3=����q��.��L�5:�,Q7嚃t
�v(���h�Jr.'��mH���_�3M�-�ئS����t�xv�?�Z�v~��235΄�r�#��ŷ:�"T`������b��閵��*y��9�_ס�2�ܪ!SM.t?����ׂi���ha��BB���W��
{�4I�".!D��d–JZ����(�tp�$|�mٻ�>U��Y�g�ʱ�q�e.�8/�ri!\�'+�h���#����
��1��u�d@�Áv���=��t��t~1o�R3�w��7���l%\����b�VMyh`�Z�U�^ui*wo�=�A[R�ҷ7��=�%z]=�ĪqQ�>���c"���O�b��M����g�kp8�"�����һ{DԓE�:�kA���-��}�LJH@�+ץ�9,�:��h���,'W������Ƶ������J��9��T���%:9�rK��dΪ->�w�k���N]M����Nvq9��
p��@02�؜�e�6��L��މ��5��f��k�x�r�"��#��~�&��D�K�[�2��S������2��;�h­��"�m��~��톓��M�y{HJn��F[6�"S�=�.�ӎ����^��Y7&�����DL��i��z6�N<ع>�u����>��G����Q��� ��B���ݴ�ZX��x�Oe�s�_|�P|�#�|īƬG�|�y��lĘ�wj
��d�X���QS�⪲.PRL�ڜ�?�l�^0�,��d�1�F3n4O,<�.v���Z���"�M���Q�9�P�D:99)8��f$�,�+��-)��ˍf&���TӚ?�Jf���yoE�/5L�:�R�4tɹ!վ�}���Jm�U����h��d�=@�` ��k7���@��i�>�J�4�4�͛%��q�)��"i�b��Цa%N�?7�<%~��X+��}���;�ez�7eiA���x��:��x�y�=hNWR�B�հI���j�d��!�\$��G+��1YƢ
�?Aa���������E3�F�x ����}e �:}�J��(Z����ՔnJ���9�7�!�B@u��bmx=���&�&��m���I��,8��g6ŝ2����b5`�4$� �j�,�L�x<�U�5��~8��������pa*N}U�	���I�t�F��+�K��Y�kF�Y��!�L��-M�����F�ݬU�	�c����&�`���qH�.��9�<�ݬ����*��rk<u��Z�]c��\�v�{n��	�r�4�Br��	O��va��G��j�XE�n�X[�ft񚆐��p��l'BW�c��6u�}�kO��x�y��,��V���G���ux;ޞ���i/��}ψ�kpw��b������Tj�Ǧ�f�"���G��^0�s3}�#�F��G����m-S�O�N|���
�_��n�+ER��d	�E
~��~��
�Yy���~{��K�Q#���/��<�B����iWM��ܰ��}��`PLv��غ�+��)���@G��v���4NH�z��b�w�pA[�"�|�h���A�"�1+o�%H�g���M�����z��s�H�UW�^��2�G�o_{Xf���8:)�N�'֏�_�{�;�d�=ޖS�Of;3m�֥�n�W���z`x��d�K�:!���cgBKBz����[���v��8$T"����&�멽�3�(��Y���������7��Q(��om3�	���xx�1`��t�������<"�:x�й*�د+�Ӻ?c���*-�o����j��ouE/���vx��V���k�,��jN������kx������p���S�E���V�G��~�~ԭm�XY���U,�\�
�Z��Ҕ�?L�Z�f��8��B��1\C����	Ŝ&B��P<���jD��84��һ��6_i=�R���,	�q�=q��_�5����m񯕂�!���2��V��D����mJHf���1�*�g��|�ڿA]�����%U��k�	��S3~��%��Nɜ��z,=��(�ذ��%ܿ6T���Y�jr�Wu��.�<l��aϛ�X�
��jy�V �F���;�bذ��'��O��k�fZ�WPj���e�&�(���t���'�׉'���4r����N��sQ������R	�hÉm�Ɍ��p��̑��
*׹�9�D����-Ϲ?5������ť�����g	�.�8��+��
ڋ}�����m�Gt�@z��W���"E��-��Ir�+���|^Lݭ�ఉ�2�1��,�|�YETe��ç�k���F��Q�(�$N&����+��tд0hg��E?��8.H_G��Q���^9C�~�Yf���~�2�����4d����<�4���Dԭݢ�\��,d=(&��l#IG�$�����Vv��[px'eԢ��6i���Ʌe�-��A93�)]�o(�5�����G�n����+.�yN�-�Ϝ
�R��iV\Ԁ������Wg�P_-Դ�l�>VO�X���@:M|�~��VӘB����$�3�ǡEǜ��ӊ�|b,Gt쑩�ڏ����u.o(��y���^豾N��hsy�����r�lL�4��}���j.
0g^�&����n�}
t�\O��c�����=&B�N�VrM޾v�������5�+��z�#�o�7n'K��-��|�ҍ�W�$�_}g=y����w�Q�l�D������
�e���o_|�(��_�?	����/�P��o��N���-�7�����?�����������d%z��m#�`|���ţ����EEx�Z-��|\�i��d�/YZ�JzX[�ZZQ	��7�K���`�룞��+#��L_YIՍ��z]���Wz��W������F�>1�� ��AVak�E��V�k:l���}�#3S;Vs�M����e��m�Ja����ڡ]>�s�+�H�_,a�0���۷�]��J�ku�ȳ�8�qGV�p�Z����O}��R�X��r 
�m|k�cd7k^�c:�dp��Ś�"J���m3�Z�|Ma�#��q����zu'���ü�6����-,��]Um4;�Y��RD�H��3�HL��)�v=�&FoM��l��t�'����l]Q�ӹ��{�q3j.9�,�ߧv��� �_:8�`��a(?����R/�A�G56;����g���Uĵ6l��[�Cc���5�MG:
�[	�)�@�S
`F'�(���9a�d0��=�H�1����0/�7�ѯ�9�UBi�0e�v���j!�*P0M.my�c�u��!Y��PY��DD�RJMo6�r�2d4��c��?m�`��7��eׇ8]�-���p���wꃰ�*j�ڵT�ڜdŬ~Mq�*J~%����<q�B�b�
����i�:�$�
XAyzӶ��m��9/�VWE�)��<�m�a$^�:+����*ܹze(e0���c�^�[Rg��Ĭ�Á[ukz�[�8�T�?��A�T�_oo���	it�j�u�����bD̓�_[*�bO;Y'���!J?��,y{d�t,�„����%l��N����n�x��2L�R톥=� ���}b�z��1�O��+3���rH���-�B�u\�gx�Lt`�c7���R�b7Ю�_��U�\TkF؃b�U'�/��B����7כ�:���I]���l̂ �O��?���:LH�ϗ��ԧ��e�X��w�����3�
��??iI5sQ}ݳLjeǺ�MkJ��Tͬ�X
��o�%?Y��枸�˝�cfMrJ+�ש���ӡ�v�P��ԣH�Qxݵ��̖]B�����/ל����C�J�I������F:KK��j��'�"��O��i��-���yˆ=�e��A���<���c��#!h�'.C����q�k6ג��~tJ���^A�zL�?�����{���>�	�����e�hk�`���"|����N��s�т�vϊg�6�t������HW��ع�d�)��֎ɉ��I2���s����U�_��vV�7�f>B��F�xZ}�/[�g�y�2jB#�ղD�s�U������ث���Kꬨ��jɱ�@2��*�˼	�T 9SQ9k8V�eu-	:�Ͳv��c?o䳭:����pX-�s*2*<�vb�s�AoO��%�\����yYM/N�1O�>�Dz�?��r���W��;���K��p/:.�1K�zKND�|�0��A�馹4�l���VU;�p8
���v��R��m�}�}.TJ@!��;q^7��0���{[�,�V:X2	��n���"� �ǎr�oے�H]�	.���y{3W��س'K�ɈHZ��`ţ��:jԘ;@G�4}\)��2_�Z�#V��?��-T�;j<SQ+Y�ݻ�~��<�nV�q44[6�1��9fQ1	��-��K�?/E/�]�py�3&�=H�9T*y�7���/�d��r�C��#�7톉�^I��o�~H��n���U筝�T�e�F���Q���R��*s�m��+��%����'��^�E���Y�x��}ֻ�c��e�*h����:��Ƭ�z+5}����x�?���7xG�${T�n���+��O�a-�DN�>�GuX�)��^�b�o����?(�[
؈�n��k�Zw���	���2\� ��7L�8�X�D�!p<'�s�m�L���4<�(�si
M��t���_�gC����ڜZ�I�d���kΧ����󼰸��؝��Y^��%V��K�lgde�Ԧ�,�e�{H<��n�;T!zg�&�s����'pq{�ֹ�XF�Q�7j���y[S1����˒���Jfν�t�"|��ʜ+�m��������W:+�ͯ����	�|i������V�o_]-�����̇~�6W��Z'�����}_[,�}m9���r��V�}_[[��ͭ�8?���|c���nND�a�F�a��C�8W�xy��Õ����W|�֩I��k�ӵ��wV�>�_.���P��4Q�,]Z����j�ӎ�w֟�� f�@�{/�>!��f>��8��S�_?c��Ó�PKl��[5<����litespeed-cache-ru_RU.moUT	;�Ai;�Aiux����ܽ����<,�bz��H$��v
VD�ʂh�w�`dwg��1F�E�aC�F�qYYX�.��n\bK1�ؒhM4Ř���?�=ev1��>.w���}n9����S�������3��R�22���;2���2��)m��;�\D��<�
�n�r7*�����]T�I廩|W)�ف�k�9*�K�*?C�T~��#��S��-���\����Sy
�9*�i{�k������7��r��Lf.��r*�'R9����&���ɔ�}*g�@˙L��&*�T�G�T�\�d�QY�ro*�U�]T��*�T>A��G��j&s(�;U1�V*?D�|*?@�T~�ʕT~��ۨ�2�[E;�b�����d>N�:��NT�r/*i�2ߤ�D*gQy�Ow`^�4�+��P�?�������;w��8�����R������Ne�ʯSy/�P������z�L�<OT���v*GS�2�4ՙ/,�d��~��r�:�`��oP9��|w+����T~����������k���W�<�ʯQy8�W|�G*ii2Ci�&P��D����}�|�w1?����]�Dž�ż�R�)*�.���󺜄�߇�OPy�I��#�܉�cN�.�r�I�E'n�>	�~�I��N�<|�d쫱'c|�NF?f��q�Qy�ϓ1��8%�y��}���o֣��:q�E�ו���
�0�n������"|��0�ŀӝ��{.��]���ŀ�6�^���t��v1�i�b������h��X���T���%x>l	��}	�;`	��5���^�Y���O嗨�u	��%��w���4R�۩X��O�:\��]T�`�r*���>v��4��@*��=M��i��P9��N���8���X�*?I�>{:��M���hg-g��h=������x���|���{�DY&�?E�ʙx�R*'2<����?��R��Џ�T���wڹ�,|��g�?�9��,��'���:�{X߹��:�}�u�0���[��u���]o~p��G�X
���R�Y;�G2�R�-ƷK��n˰�/C�,���*?B���o���k�a>�]���2��?��z6��ʳ��{�<���9�[ߥ��~��ߟ�u{��LJ��/�NX�q�����i�W�/�\��ٰ���倫��h�W��ߴ^ݹ��Qy0�{��y9�\����87R��۹h��a������<���a\G�����s�üު�~��=�}�<��W`������8K�+0�wP��c-�r>��9�c\W�������~?N�Gy�������Ǐ_�q�t�3wƷ����߸������/�|]t�Y}�Vmo����/���v_���`�>x!��ޗ.��}!���7��8�B��j���B��O��/m�3a\#����ʯR����_LϨ�4��Q9�b�ϊ���;���*�����WR*���\�v~����;.�8>z	�eg*��qQ��p|	��ۥ��}���{߽��w)��2|�s�a�_��}�2��T���Ͽs�[~�˰z�|�2��o��t�e���c}g\�뛗��u��[9�}�倫���o�˱>\�y��*�g�U��-��
�s�*�맫�nϯB{]���ܼ�J��Zp%���W��~%���̼
��m-O�
��ʫ����ޠrg5��ݾ�'������j\�j|瀫1/�\��u5�?�j������]�q^y5��u5ƻA۹O�o��������5��f^�u}�|��k�7޼��]���^��ͽ��;�b]����p���Z��kq��Z�]x�:��k��*���/�p��밮�Q9���h�x=�׫�$���z���n@?��y����o��{�A~�x>������K��q��>����G���>�}�W�F��n];�F��7���7�uύ��Gn�~|�F�?�	�l���oB�o����&�㊛�ߕ7���<��&�����	��`^���ۢ�?��?���0ߟ����f�c���o���p3γY7��݌����G�o�r;޿7�^x�f�%��Y��-ؿ�߂�^v�s�O�RY�v~���[���_�o���N�%�;7ݝ�_�ԟ�ps�����V��T�!��+*��k�W�Qyë^�߭tK7���n��U��f�~B��ڭxz�яRy ���0���ޮ_�����g�C�c��[������~�]�}�T����xd��gO&������<*�$����m@l�}o�*�0_@叙�܈~e�7���7a��T^��x�y���_l�fnƼ4���6��8Q˛7��'�����f��1��i/��u���w���{�����s��^�������ޚ>�w��o�@w����-h�~�������׷/������@��j��?�oR�*/���ҏЯ���я�ݎ����hw�۱��z~���۱^��Z��x���q>��v��/o����8>z�;�_�݁u���w�?�<p��g�<�����|�N\�q'�s�X��;qޝ}��	w��p3�.�r�V-�ޅ���]������c�5�~�q��ǀ��ލy�n��kw����X���޻Bﯿ��Ww���܍vv����{P��{0/�ރ�W܃���z?~��{0O���뽸>�^��L��Ke3�ɽh�{�����>��8��}�����]z�����>���aܯj��������t?ν]�����W�ݏ�;Z�u�<��~�����%��n��ګ�}�c��i����W��?�����7P>�����3@�e��?��\��6�w���{��w?�|�ʗ?�z3D{_�0� � ��?�?� ��U����k|�p�C�Ƕ���o|p��Cx��Z�	�7hY�	�s�O�׮�	��g�y���מZ�{��x��?:`��_�֫<xY�0΍·A'��0��/���o�\��~��~��A���߼p2W�y[񽶭
'[1��b�+������?�9t�OѿU?�8n�)�����O1�?�~�֡B�">����G���b��x�s����E�b=/|T�̣*��>���ݣ�ǐ���=��{=���?^����0�?<x�{��c?}�q�㞏�ˏc�=�;�q��-/߽�q���DZ��<����ǁ^�'0�Þ�����s���3��x.y�����'�^>��>���|B�T�
a���<��3�æ�a��3�7�s��~����s��~�q?N�,���v�~�~�/p�7���_f2K���%�M����'q��|�v򓘷S��8�=�~_�$��[�<��I���z������@e;�߯ w��)��[��Z�w<
�|���g>
x;�i�i�}�������2�׀��z"�g3�5ίg�y��o@�.�
���T��F���`}�y�{�3����ݰTˇ���~�Y��ǞE����>�곀�qz��Y�3�Y�UU�ӞU����Z�@�]�,�����\�ó��w=�����sυ��oy����?�y��Q��W<�q�<�y�������������s���_@��_�����O^�8���}��N?�[�����h�>}����;������ʥ�O~��{��������/b}�E�(�<�"���/b<u/a�>����K����П�^}�?/a�Ox	pt�K��/?��%�C���������?`�?���.�8��?�9�Ϗ�#��h�*���G=�<��'|��?�W�	��Oh��?�;u/~?�2�}Ǘ1޹/�^;�e����_V��e��͗qn�����qMy��W��^�w�+��^A��|��?���π��v��3�Y�g��F?_�3��=<g���?�/X��q���W����/�'����/X�O�
�;��zU�~���z��{��/k��k�}�5��׀�{
�׀��
8;��[����_�7���0�E|��7��mú��oh勵a�w��I�~9��w=�w�������C��������яU��{^�u���?��>�O�Ɏ�'��������7��c�z�|�Io`.y�ox�[����������� 7�P�m���h���]�o��xh�Λ��p�0��tѐ7q�ϛ�W���y��M��}t��2C�ATr�c��YI%�9o���C��y;�J>;���kh���#�d��U��R����T�~{��J��]���5a(�?f(�Q�p��J���T2\B%�k�|ޯ���š�޻�"p�+�|~��[F%�j*�>\K%�w�^�Q��z�v����#��y��,�9�J�O%�m��c���N*y�D%��Q�����wb��H%���BsK��'0|��*YN�K%�wF�0D�ݹ;�~�7_y��N��鏫�dx��{0?���9�J�RIC��J>n{�9�^ƹ��ߣߏu\A%�_S�t��.�P���yT2�>O%�>��|��?����J���!���T�>��C��T��a����w~�a��"x��J��~��GP�G���P��ޏ���>��]H%�'>�~���X���d�q)�����z��T��c�'�d.�s��C??�I���O�_�|j���Q��G7�_%F�_��:�Y�w�g��Q���]�ż�9�?�s�����sl��oo|������cWR��ȣT2~���^ڋJƏ�Q�v'O|�?1������G�����iT2�p*�1�6l���n��~���E��O��}m'�Kw<��������l����|�J�k��2����n���������_#������ط���Ϲ����W7���#�O�	�q�H�o�j��;�d��H���0}9�6�+X�c��9�+h���3�\����o��J��^�Y��3�c]�9�>M%��T2���z����IT2�z�|.�Z�y��(<��Q��<-�B����|��z*���y�ᷣ�/��s��s�g9��_�n�9�>;��h��8*����.��~�}�!rN���ϝ]0_sv^9�J�Q����b���+�a���I��;kvøw���J%�_�w�|���{�������c~w��u����8�E%�i���l��5z��=0�{`^^��O���=�=;rO��=�g��=�������{���	��7�,���^hg�^X�_��n/�w���
8�{o�ѡ{����?���ɇ�A?N���{�>�U����U��3_�'�~ʏ���v���}�N;�sh��X��}1O�Ry#�}����yR�r=��a����p���?�r�*;/�u��@��T2vɁ����y𾃀��o^t�����>�y���#�Ǣ?����X�c\�F�N?��`�_��X�����7$���q�c��稤�"3b<��	��C'���	��oL|�'`}Ν��ON�:??�(s��T2�:���M-�l��킎���}0d"ݧ��o"�y�����z�P�#��w�I�����z}�$��&a�I%ӓ}?n2�-��ɘ�K��m2��ɘ�?�_��ze�װ_.���騯��M��	��T����!��x�N��9���ۥ�V>7'�#0�wRy2��4���i���aWO�>
x�/T.���75�ޣ���LǺ���:�J�{n���#3P4��:�����g�>yd�dʑ4nZ��T�q��x�ə��^��}1�(��ˎ�?
���Q�O�8��1Tn�zGc�[���*�b:�C��?�x���8.�&��T2_��1��
�`=>��!���o*�|^~{H�tƋ��u�{�M��~��GW�A�0��Y��Y��0p4�ʫ�ޢr�	5a����{y�M��6oT"r��p}g6舟�F�3�c��?����*�l'��\�ӛ��\�4��Ϲ���8��.b���O+o�)~�X���cqݱ�����<��x�0O�?���3�R��x�eH�v�ޣu���|����K��/�c޾��8�t��v����ӎs��v��ϴ�|��qh����>�]�����>������2��2��2��c�8����-e��ST��`�
ڟX�<ΪO�X�~_��WW�/�*X���C���bﮂ>}O��<�k��!����q�l>�������u�:�h�,�Yv<���Tn���2�����柀���J���	�}g���Wk����?|"Ι}N�'���D�k'��{}��b*Y���w�g>	��Ix�'��:p|�ɀ�WN�97�!b7}�)��K�ߏX��l\x8a���E�+�\�����ŀ�ŋ1�W-?�b�c�%�w���;*Y���S���n��S�9mH��_*�y_���u���ݧc��:��g�g�{��s��?s��_x�<�0<���>r&��Y�_?t�SgO��=��,ź���[K�n�/��[
��٥��O.��2<?x�9�Я����-_|���v6�;K�����������2*Y>��s��&-�|���J,�ɜ�u�?�z��X���*�����v�y����_g���;��
|�
�+��>�@��|y��8G�y>���|��w!�-��/>�"��^x>�"��a��s������]��<�b�˒�1�\��y�b��a+���hg�J�{�J��V���Wb�]�q�{%�o�K��g^|U���K�^8z����8�����R��t�S���L���Po�e�WK/=v�e�w�x�+�|�r����ܺ
p�2�C��D����t�ǯB;���_�~�Z�A����t⻯&�F�w5ޛr-���k�n]����k���]���u��/^����1��]��^y=��Q��c��p�t���߀u���
T����މ�W�@�͌����F��݈�ވq]E��uD݈u�f�C���ׅ7����`=�߂�;�����xx��;/݂���e���C�?�Qy>�÷��t+�-w�K:�N�+�w�Y�=���:,[����_��{�M�m�a>���?�6|���Я'nù�Y���昵�ikq]���Gk1��������Ѝu�L7�y7�ѭT����uX߿��>�q=��c��\��z�}=�wp���{����|���
������
��O؀��������nqn�ۈ}r�F�M�����y�&�#6�~[B�(��'�d������>�ǵ}���p�}f�é|��k��#�s~�s����ގ�s;�z����8������~w(޸��;�܉�|�;��V��x����F����.�������]���l���]8��c�������O~�u~�n�͈{P6܃u8���7܃v���dȽ��O�<rн�;�������
��v�����އu�͏��o�:��Q���1�S�"�{�C2���ч�'C2n�����Ð?}��~�3��
:��[Q�O!}�����#��,d���*!�i�
����?�y�sС{�tН��zN�%��w�}��_b��K�'��۞D�˞^��Jv�<�W���
���O��?|�����o�}�1��?���J˾���O>�|ᯱ���5���~
��74��a���f�34�t��g�?�~������@��RI$wf+�D�e&��}���b_��[��_��o��g��܋���^�{�_�>h�rŋ���q^��EеǼ������/����O����/:��#���?��O�!�{���T��t؟��#_?y�˘χ_�9��+��4�yK��O�+h�W��_A������_��g�k~�g�ѽT~��g�_0?�W����*���^^�[˙��_���=���oh9��G�+Λ%�{��x��c��7ȃO��앿�~��h���=�w��������V��u�_^���'��z��!���8����8/o�'���o@�Pz�{����/Пc�����ߠW����{��?�M�C�y��7�����9*y�y*y��S���7q��T2��̐:��Tr/���*������?SW'�s��_�G%��?��{�R���C��O%�w�J��'P���yCя����T�u�l��O%�s�x�A*y�<�=���;�~F�ߝ����J�c6Q��w�O��N��W�d�>���T�}*�K%�3C�U'��Z�O%�m�B�gQ�t��z}/���~G%��;ލv����j�1��Q���ݘ���P'��KT�9���;�?'�_�����s|���cރ���=��T2����wn��:�w��{�~�T2�y�J��?�>��1T���*^���O���ϓcޏu�W�uB��>�狵����f}Ϸ|��ȇ��w�����S���?�q_�a�c=�����W��#��Ok�+��������R���;>Z�9��T�9���	���J�K}��w
���{�'�D^�-*Y4G�6*ywP)v&�ܬ���֯�d��]����*�|�S��
��|��i*Y��F%�������8*'�|�J�3~�su§�9������9����<����>�u�����ݟG��y��._�|?��˿�~?D%��:��ޗ�#��L%㗓v����_�q=�:e�G%��8����~F|p��/b?ϥ���s��~=�E��#;a_��ձ�_���;ỿ��ϵ��;�7P���1T2���J>7S�*�/Չ��/׉<�gT2?8vD��'���*71_2�s��:9�9�7�+u"��W_��y^G�i=��3���u��YN0
��%�롒��9�9�ߟ�d����270�<Z��.u�sx�z��x�*��2*����ֵ�{���Q9_�ur����žu��P���?�dzm�^ur�_���꽰�����ʱ����~|��J�W��U���c�|�����7�`}?�/��}Q��/��Xϳ�ùr�~�w�T2��������~s<��x�l*�G�_������<p7���XǛ|�@���~{ �/wP]f���gF��y��T2���X�ET�\�r*����8���~�d��T2��o��m<�b��'=����ѯ��q?E%�����[9��}��C��!x��T2��*�nf����}�:�j*�e��$���h�ɀ�]���g�װO�L�:�<��[S�/�;�z��/N\}�0��ɇa�C�U��=y�G���QS�NgL]r�T���S�������
�)��}����@�VP��7�L��4
�ڽ�w��~	�̯�s:�c��{�N�o��}t���Ρo��~��#���:�9�H��#1���}0i&�i&��r*��	���0?��}���K������|�N�Y������uz�70ν�d���~�M�_�&��M�s�7��S��돾	<��1���1���c�?���r���P�IZ�3�����8�~A��LW�O�г����_�׉>�7y�+gϾI幌W��7a}���f��?4�W���wi�v�
8���/^E%�c��?1�����։��s��Ӌ���~u���X�1���_:��y����:���8�Њ�����V�_lù��6�?�
t��6�{_�w��%�o'�����^�����qu�ח1O�Tv�`�����ZS��H�wN���T��0�N���^�����2��`�[�~}�x�[x<�.*Y��YX'|J�J�g�j!�T��o'��;h���ww<�N��3N�|��ubO��b}n�.��N?~�ט�P�p���I����''�nyD�O9���'c��|2�N��䕧`}~N%�i�,�y��"�c]���3���[�w�b�w4����b���ez�^8x�_��y�4��{�^'��wS������3�2�yA���g���2��y�=<�)���eubG��2��Yg��O���s�O��9����8�/>��D�d�[G<#�K��#��8��z�ԉ���/\z��1���N�G\|��xh�ŠΣ���_]|��J����!�ԉ\�*Y~��[/P��s��~�y9�釗N&\���J�g�Fe#�Uu"�|�J���*�LoS���V�?x5��1�`_�s�k�?��ӧ����ߢr7*︞�ʿ�:�1�+o��߄�d�M�~��[	0��sP'��:����|Z���W�w�Y�~�.�o��mX�]�b=.X�yߩ|��n��#�Չ��:��O��y�M�A���/d7OV7�}l#Ε3����1C6�e.��K�u��X/�W'�,+�^�����G��=o�o�r"��������D�λ�����c��~wc|7Qy5���e������^����y�}8���ù}�}�������}X�Oޏs��~��M�k���/^�x�s���\��{�ʫ��'<���C����|?���]R��˫�|/�?�a�3�A.��yM?��~౗�AG�{+Υ����
|t�V��T����T^�rퟂ^��{�#�W�Qy�#���=�������G�'�{���{����<��'0�'��?�y��8�w��g�π�g����.��t!�P�c�y;�I���=	��w�q�+��B�G<��j�S��O=]�����߀��7���~����`}n�
Ι=�f�3�����y�ͳ�`~>�,�kO-[�ž��Y�ӿ�띟^����9�?�>�T�<��I�~���:��y��7��<�|חP�/�/�>�;��1��4�w���߁O���0������X�*��{�N�̿|��Ɨ��m�?`߽�+��x`�?a_��'��7^]q5��o8���?��g�ٓ��q���߇�B�+�c�_���N�[�Qy+���嵿��7���A.2��u�!���N쨎}�����M%�_�'��o�.���s���A>���Y�o���}t�@��&�kӛ�C&�T2|<D%��I�~��0T��!T��~��J�w_:T��D*�@�D%��-�<�G%��[�d���T���Ce>w����Tr��{��0�|���J���Ρ��ΤR�@Q��R�}w=����x�P�cOP9!*3�����w�Kt���/��]E���e�����_د���=�������>2/���~_5�=�~�m��O�}��;�}:v2;
��RF�ch���'���[��^�&�Gt8o��{hc����T��گ�/;~{��[<=TB�e*۹6��<��6q:Xw�x������9t��{�[�M>��}LcԱ<��~?F��ӽ�Wb�D�U��C�{O�;t(���<ձ?Q&c��W���~��6�A�#�-�[����}��ʽ�=M�9Σ�fm�iQ"�2�Y�}��v��D{G�g:j9��<1Yr�����ٮ��y�<ӓTg��_�:�j�D��?"Y3WR{K��vz�m�,�W�u�焞2��z�A��]zww�w*�;��1ZI׏�7���w�y����q��;�~�J:.3������7�����t�#�G�zf��}*��6�㙿2�CϘ�F׍���̠߬�F�����n�m��g;�@$��9��=KuxO�K��lCח���T6�ߗ�g�1�y�v/m_Z��Oy���|��8�X����&��?TL,2D�e�11���!t����G�oT����!�w5�^�=g^w�P�w������q�~dl�?}��u�1
e�H���=@�_��c޵�uZ^ĺD���������o:2�W�3���׿����������w��O؁��!���[߻B�0�c��>Iu�L���{������矢�o�LC�{��e���S�?��������w��v�^H��ʴ��G��ϔ��?���A��wa�A�~�Y��z|��H�
Jb+��J�v|�a�����t�gv�6�|�l��8����t�~�+��f�ۣ����?d�G�<P'"��;u��~�y~���V�?J���*o�E�[D�.�߇k�>~��/�,��r�ʓ�����E���޻u��P�s���|��r��N�M�j�=�����	ս��^�XF��T�|��P�H��К��Q����O�� �m��H�>�#�/��2T���I�����R�LO6A<��S��7ֻ����2�B�Ķe/�s��R{�׺��W���<Gu��ߟк��|L����Am��i�{����I|�o?j^�^�3�GlF�d�����i�=��:����A�},��wo"��>���P��3�����g�m��ٯ��0=�4�ˋ�\��2���g=�2�~�_N�潭c8���W��o���u�[��3]A�-��X��*��>����"��C�O���Ų�[�<�v�L�fQ�.���e<���%*��>��g/2��1�Lu���D�勬S���5���+�/�w��ې��/�3��5��ѡ��6�%�K�������z�d�݋t���w���m(�ڳ��J��������to�v���dsgD��ȸ�a^��sMy�����������_�������]����|�yg�k��3������$z�qZ��������h�L�3����4m������V�a��3�SL��{,G��&�:���V|.ҽ>����;�~���tͲ��躗��K�]l��!�!��v��/�{��}��9û�xLS=bC�����j��w ����+-W2}����n��^z�������������,O��vl��Q�����nz��ޅ��%�mZ�S:�W_�}�9��ʑC�����ùa��C��g��j;=z}0�[�ׯ��t<��to���m:��O��,g�����4�_�������p��I�w��w:����]�kT�<����m����yO�w�b~��
����>��y����t]&V�7����ˈl'G�n����*�}�~_�����~A�}�yOѷ70TǶA4/�'�w.��Jj{�,�׾������eCc�ޫt�/ul���<��s��z6����2g*��禶S���E����8T���Sa\�cgY�{/B����!�f�v�K1��*�A�ދ���Y�z��?�������I���ޥW��Ϯ�i����p(ǂ��hHFdA�
a{/�c��g�?`:��d~K�a��>�t��.\���w�{�?K׍u����#8���{�h����]O�~E�d�s��3�qw�yòs�{E�����8�r*Ϡ�_��"��j{�j��m���5z}�ֻ�����V
A�,��i<{�ߙt�,�*&?�ct�8qR�m����i���yO��z����z{v-]�I���s����G�:����g����v/������ٝ�w6��K���xYv�PĈ����W��4��=R�S����#V��9�8��:��S�O0�F�{v����|�>���r���eg�h�D��.�	�C\Q�[�?�s:�o�����{�^�ۏ���*4Nm��'}�Z�M��
\u]�T��s���!�\�\q7��/��"��u�
�;ʹ<ӄT�L����u�_�`x/zv7��#�z?��'Q���{��<�� ��9������0�w�ፏ�ȏ���,���;_����et�u(⊽Iώ�o���hz�uj�i�P���~/��F�e�V�O��,{���y~���t���y9���o�\�������x��7�n��q�{��[��/�//i?Oby�v������ww���8�ݣ�}����?����e����X?K�����v�M%ۜ�<��{�[�g��ӽu�#� fӳbK0M��~����w,�ݚ�_C�DZ̀��=b;����K,3��7R�q�j�k�oݞ�љ�bJݥ�N��oQ_���T��ޡ%�&=�8��9ŜW���"��_u�g�yD���{��z��7�8�8��ڴo䳑q�vl�L��42�+��nҺ�����o�u�.���fڂ��L#��7Y����To�:��D|�}�is^k��-�n��߬cб���P�bF�w���sگS�LU�v����=g�:�����etO�e
E�Y�K�w�C�+������;��Y^�b��B���i�Sjg��w��yzp��u6˩�;��z��0^`:���`��a��iƹuߊ`��
:>GP�/���_�oUun��1����Mm�r7��IT�i���I�����t�2��k�2}��T���CۣL{y0|��3�7�֧�S�ޔ�d���Xg������y�٢ۡ5�rW���e
,��o��g��%�G�?��A|�6��������G��i�7�'`�V��v��X�t��F��<>��C|�f���q;�
Eu��v��b�������	�!���Y.���>���O��3��~AuKڧ�\�~�a;�����˅�6�}@���{�ߧ1�G�W�a%�Bx?1�GϿ�}�d�_�Grߩ����-�N�q-�Lu~�s�vhC�O�nt�8��g��&�Ű̝�q�gܫ�~��|S�3����ʹ�w����#��8����4!��c�{�:�>���f<@��&Y�u&�_� ֯�$�����J6?����N������ŖB%�R�]�۲�u:
xZ���Ҟ/6gg�Վr!���-s���B�R,��Z�p\G�\���r�:��o��Sz�9;��Q6e���:��KnV
M��f�Y�N8�Zh������Ʋ�j>[8�����g<�l[�J��7�g�»�Ū�;�\�h�?�;������[<��Rkk��Y?��Q�fg�4m4�ç�AV
�j�mN�Z�.(���2#�J�J~>ݫ�䋶Q��j+�D��[�75*�lC�:7�_>;�\���0��a2�Y,,ps�;�ms��/�T��? Kv/�!/�IU���Bu�aߞՒo�7쀎v�*���V.�_�
-�|���77�.�[�M4��JKKi����L�Pl���YZ�6~P����ot����~�j��6�q4�Ŧ|Kv\ccv�8�w�~��Y���o�d�+EZ�l~Vi~a5<���Lk�%�fg�+�B9�ok�.(V�fgw��d+Յ-���$^�����bk���9��텥�l�5��B��b*��aun�����m�֢��k|JiA���|K��0�5��̥nRc#�1�ad���;兴SZK�m�`���Ri^6OSYͶ�OX��p�kH��|+������L�o��H�d��R ЬVu���|�h+�fƪ�W�\h-�:�:*�����Ŷ"��法�B��HmK7�Yz�L��^*W1k��#&y_j/��������Q�be.�Zㅣ����]�À#m��ن��X�E��v_�B�
�������R��������+\ ؞K_ᷧO��P�As3�'!�lsI0BS�in����7��h�Z��0�;:?��1�0���V�n��V�
�N{Tv���Ȍm��{�Cl��:��兲_�#x��D4;��K۟���To��~5�K�BS�{*c�2p��o����<��<��Ė�,Z���i���q��c�Ye$uH���ܜ=�X�l�� w�h�Ǎ���1m��n��+�U��-�e�>���4���7�!�zr4�)䣦`9
T�{vRC�𶖅����Ϸ������n7��7蔚_Phh)��S�HÝM��ʼ1cҸ\SK�C{�7��e��,�<�]`yXϋ._!p)�^��^)Ve�팞�&���.0⦗�H�CU��x`욝Sh�}T|A�*�^�J�̙�`MX&3�����ޢ��`��Nͥ�x�����oR׼�<�"!y9�+ٹ�ִu��r~��+��%�9�r�wmY�.�G"�Ѣ_i��_�ܴ���JBN3��tI�j~N��J�!�b�i�=Sj#L�8���H��B��bk��P��nS���T����V,gg��:1�A&b���,�/$T*�dM#%ڤU���`	(����x0z�בo��@�R%����o�����f�i(�[���������Nj/41��+�Zr�|�C9��V����N����£G�m�.���Y��JHj��-E�0U�F��8����l��Ɍ���#��:n���A8�³���Yf�ӎ(�VLx�Q�By+�"����P~M�O^��1�Q�~s�B�F�k�`���t�٭z���.�h@�����Y�|��?틴;
���-[JޢnW1�p��k5�NQq����|�W��P��"/8��cRK��mMs��-uT�ԟ�;ӧ�2c�U>�m �2����)�ˎ�[��f���'�6�+!_��:�s�X(���誃�_��f\¿q�O�`
����1�)��3�8E�i�7�쎣��&����U�Ԟ�1DwZ	]7)6�NGy�O�q
)K��D�PQy�yM�Q��I=�R[�p��[kO���s�t<F�ژ7Ɏ���uv��#^0Z{:���KML�������!k��V�}��N&�����NU�UJ�Nun�':�B��ڷ<�i9�E������4�cJ8.#
�#ia>F�x+T��D0D	/~�#\�C�[�E/�'Af����&�@M�)L��X5+N*s0��Qs��3�%�V�E\rvp|�&��D��x�����3~�PP���`�*��o�?�,oSA�ۑ:�X�O���m��T3�(:���K�w��Cp������|�J�Ƥ�|��+�-U�����t�����B�3ү?pU��!^9�1�-s�w)M�:͐�4�*
)�tc�w�_��"���QncZ!���g(ƺ*T���?@����3�
u�{<���zt�z��a�cA��k�:tߏ�	T�LV&D8�3�`�Q��C�����s:����RS1z��LWi��D����)��<ӧ�RkA��
�leڄ:��o�`*�9m��GSҎ��<a-#!�e�
[z�2�
2�nq�ÿ�Agi.�҈l�&�8r�H�X-zV�N�~�/;*;�X��rB�ō��%��Զ���[����;�`A���_YH4|��:7��r,�Ϸ/P��!w�K�ɍ�FZg,7~����h�}R[�y>ӌ�#g���nz#�E��w��æ�3�,n����벳��`�Η�Z�(@kxKfCo*�-�-V�הҜ9��Q��{������
f_���,�Fz1mB��,���>׋�
���z9��Њ���94�,�+��W
��k "�#/2�b�2�`��
�J�<�8�^fyV�r�v[�<z2�'��֪*l���rAQ�h^ؖo%�b�i��F>c[�X����$�}�`=�	��e��n�u�8��m� Z�ٞ�9E��ͷ�̐N�9��93r�	���ّq|"�P!<)��$<�"Mi.���!���?k�h7�]�{󐳊}�p�y0���,��m:cqKY&H�Z^]d��J�qy�����d�#4�E�h]H(Q�M,�3��.(O�W���dH+��Ln[˫���n!�f�3F�:DP�-�t�#��҈3��e:h��$�3-���t����4�6Ɣ�k\9�������Ό��6��4g���!>xT����=+��i��I;�������J�\`�1�>����Ž	��`�W���J�Є�UXB���g�Z_�)H�y�.RP8,;�<I����Uӑڿ���f�;�Z8�U�S*t���l�/$r�^�y�[0uȨ"a�5L�Rڪ�U�f��R$եZ�x�vC�7����&<�*�'�Ox*䧰IF��x�%T����#�����Xh1�Ŋ��6�X��aB�m��ˎ=G�j�����KM���ۄ{̭@�#((:�"�4S�7J��U�h�����q���k�#jDG�}c��
l����*�!^�9��t�˼��l�-�dU(d՝UY�3������67���d����XY9_9d�yY=�'(��2�O&e�l�=Cɹ�`���q䙻��ӓ���|;u��G6�'��°l��Рr��9[��5S��/:F[j��:���˟�t���2�ef��u���F$��khКn~���:�D���Eot��B��7�57;B�!$Ȃ|�&#�+B3�-b)�n���ya�cJ�/�Vr�U���t�Bȝ�����x���y��w��m��6�S�t|��Hk����*�CRHʧ��|�i�'����l�@��{��5��|k��n�>K�92���0! F��Y(E¬%�F-2�C�-OH2���)!�4���6�>���oC�e����7Q|"�e.^������(Z�&���\ ����	�w�]��c��ؕy���F��451y���*�g�������)D)6���ZȷJ���`p쥎9s��#	5�k�x:8sEt�����W	vt*�P�T�ap��u~����W�#���-�A�������7tyDP�G(B����kO���A�����+6�ū���i��fpރ�J(u5�$�9X}unp�gf5lK���5�5�˵:9���J���F,W��J�3���
̯�3�"�.�$8�f�狼��Co�S�XoXk�������<��1]T���Y���{�ɞ�S��1_��1'{h����1���Zw�P~��%4�V���3�MJ�5�����)�T1W�0�`���!�I�g�ۇN�ޠ��\��8|ֱ�˛R���i�7�e؞��>� ����n�$��-j��ӡȸ�^���`�����|,�U�`�Y��v�U�-3���LhR3ͅ�<�,/f�V�`��ϥ�t�ie(TR�u�nke;���'q.7JTWi��C&�ώ�J
�g�#��|K���r�i$w��@�Gs�٣*Me65��X�#�����a�M��>�Riv�v��Q(�Jv�X��`�(i���a�fD`mJPPs��s������ƫ��`��0c|\��Y!�D�xV�������kK@�18���y�M߰ ��=���<S!>$?Ų����B���&-��{��
�NPFZ��j ��3�l0�[m�	��d��_�bJ��C`AZ�7u����lH$Ǫ�}$�:淓��cq��֜�;�mO�"1+��[���Jv��v�W��i����`f�;�%ZY�]�Ȝ�nḎR5_�+_�o��*;��{�&�N�mhZT��֍��p�E���PNv8˅����:	���Q�3�A�X�Ţ��q�Z�W�ѿ���0��U�ݘ�f�;o$yG���7m�h�
@�Z�S,9�Q+���D�l��TH�Gm����C#;�Z�D���9����
M+�D[���V��-z�U�c���,�!�E�#m���F?,��(;?���ML��0g�K=��V�(��V�A�b�1�>�L+��FfB�$����V�=��".�_�M��[��u�m��P��5y"@��� ��<X�6Fw�V�jiNA�HԼ�+<Q�Ҳ��DT�TX�2�zѠЁ�>=s���mDy��gN��7$6Z���m�cXS#��A���L-��o�в����� _^僎ք	�zh���b^L{r2yQ�	E�tˤ�b��5��d�9Wq�Ui�fuTEIQԣ��G�N[�͹�֖�7	�Z�c��c�k�&@3��[�t,=�y��(���X��|\%�Q%�(j�,�uϚ�-Br������hA�r�9�E�~�;�ƨ�Q�iz�=�=[Js�M�y1�d��CD�[�����h
F���.6��� �"�$s:Z��(��o4�Z��y�	!�E�e�z`2N7N��B_��[��H	.n�Y��
��`H����Jh�&5�C��PI6\�ls�OΖ��?͊ђ=�u���C���z���f�p�Vf>LL$�O}:��PIB`
��j
�zL�g&>jc��ɲ��ؐ�Ǎ�r}���#��Z�&>���'�s�1�L)j�&b�Ƙ;���R1_�S6-?�0X2�m�*�<�`�E�I��j��G��qs'F��Yu��g�~�v�)���69mT>[�Vd�o�U�lKM�`�d$�psaߙ��%�T�7蜎b��=B�8�Y�W�j
h[�a����ޜB�L�9B����B�ܒgN9������px���P���.���ݡ�������'_���=�����#�2nF���W*������I�(�*�o�M��C�]Pe�a�����ch"0�
h�I�gc0 1�����e�G�����kn�)!"ms��n��'웇�-B}��x6=�оG��j#��:���T}� �}�J.�f`	�.:��%@�#̳��j�
�j���mv*�ۃ�@���MG\A�"|)�Y� 47��x馰�E�b*�$�XÔ���Q��)�{��H�*�0��蜜�8�Ɵ�ɿ�VD�2��FX�GN �g$��T�I~��E�}�8��3�<�y�V�Źt���6E����8�+�X)�S(Qm�=,�f�1Gr{F���	F��~܊5������Ĵ��Imbd�b�Y�m�,�o3��3NpWy�*�g��IѾ��t��{�aƗ� AD9ۢ�)�?%�ӯfG˯�y�6�Hʼnb$��B���7�Uw�J��5�U�#踱
��:��5<:��|�:n�@D���>E��I�=�ã��KE-��!7r?YYkI�6�\ԫ1�"UQ�x�t||_	�#�,�.^;v�d[諼1吀���$jn��ec�%*�6�z����
E9�GR̈�ʲ��K�M��dF-<�X�>Mgw��x�B���Up�%\�a�Q���j�o�����RC�c
��✹�|A�L��w��{�03�y�	B�A��R���-c�K�*|�������HK�Z!��4kaV�H����+�b͑*{3K��G�6Hm�j�^��i�It2چό��kS�5ج�.�E�܈��1�r��l�P
��,:��;|^l�
2�f��z��Ơ��������S�i_�"*bފ	 �֣l.��,c�%`PA��+�)0MD�_Y,�1bqc����J.�}:�t*���d�v�e��v�}!r<.��
��ER�a�--�
�z�c"i��`~�г�i�b4̓j`& #�/1�K�����b-=�8SZ�qq��SX�U�7H����{�Ŋ3��w�!���^�*�K����^�C8��y	�Ğ�y�f^c�F-m�R!�!��-�MO�t��lO����m�E��՗�
X�����Q�bK�Wm�&��ɱ���Z�YD�\B?�ѶtsgL�m��~E�愻�B�'�"ϯϊݤ	Qo/�Y�B�nKU����Sj���2�WA���i�/5�+T�v h���y��Ѧ�Hm�c+7���-;GNa�u����ɶ�T�\�4+vNܤ���,o����W�_V�3m�B��r��Lm�,�1��~�S���@�/�c&�٪����}LS��`�7���=rT��+(�,�VѬX�QUI��O�q7޴��L

���ʒ[�bıB��!��K0U�R"�Iv՘7�
�O#��#rv?n�W�o��k�S.g��;��KQ�6��W,+�E�7<���Nb�ɭ��<#B:ry�ŘA�q/u��X������v�I��Źb�V�X��~�m��߱6��-ޞ+�Q�M�]��6F�x|�
�~��4bJ��F�q�e�^����I�xT��[�Kz��x4}.m�6����g�7C�LAF��
bj�����>�x#�$�I�
����3�=v0
�ON.��G7DžÆ����)y:$
�X�(�eS�^{�;p"��D(�/ӎ�L2[%Z�H|��F0>�8�����YEc+,hG���-��IV���c�P�v�,uia�9ê�r3N���R��و��yo/�2'��S���*�P=i�����#�y�cr�8+u�'�W�״���+R���#ގx�$(j�uiX9���3�% �|��iH���K�68�;�$����1[�G�r�$���%��+��+1��]�q�c�SļY�+�m��UЏ
���`�f�I(�ekּe����8|��k�G�3��n#�
u����ᶌW`.��A�'�/���F�����aL���9;^t?P�Or+ ��i����77]w�Iv�i�D��LGxL4q�:��J�T�5����x�D�e���=����E�(����c�)�E՟�K�l��.�SK�[�a�M��
>��O�;`�9���a�1���>�R_u)M�}M��~��3יI"�k�>����[%x�q||
�;"#Tc35�=��bqO�v�r�W�IU{�4�&�,�=�G��ȉXjC02�����.��X��d}E�[�k�mf+2��UC7'Q��0~s?�i�/|�l�x'{n���ĐC%�n�·�<6���n����9s�J 01�������&D��M.��;uXc3���#���3d��n(X�j����@pΞm�Z
,���e�S�%���;�S��ʸi�H�x�Z;Z	g�"v����n�P[o�v`��xi�ֵn�����†��@_��e��dF�^��	7�����ר�Bi�sN�`�V�lM�٤�͊�v�L�`e�FJ��e�\����EP2���fg����ZЪ�\�/�q)�W+*C�i��w�4A3�3��]�
��~���i�dz�c����-)M�X�K��	�i���8��+zWVօ�b����J�T٧�ؘ.
BU�f��̥nI�����0�����An�RC^�����-���`p_��nF��6/C��rW[(��m��8t��ɢ��t�g��Z����ȓ�",����4!E���3#:�/e�͐�a��[8Q�����	,�G��:���d��)"��AAy$.(�� 2a��
�OO
U%݌��ءZ��o1.�S�k`����*��E"#(�UD�oC33l3lO��Ifj���
�|ڀ� dllɻ�V�g�_Q$�lkcT��M8֘@V��El�9���V)z|q�1Ɋ^+�F��l�}��k��P�sD�?	�Q <�֊i��0�*�0�'Z�a���� �$��F���i��7�Tj�U:>v_�Z{��N�XbB���ȫ�����.S��ӻ1��4���4|����-u_.^���E0��9��,�a��F��-���Z�j����X�#�q��bC��B5��W�O���AU�N�w���Rp�A���h�U+�nYF��i�_��q/́,�E�D^��r�'�f뙚��3��9,��*Y*:��a�\gk���������|򲒥[��8Bڻ�I:,�p;h�7~��w���w.�|UF�)�a���}I؛��ɵ��5#6��99�ME�T�F�nGHOb9���To��v8�=O��T�N��䈨f�q�?y��
�3�NI;G���BG���2�������çO�&�3�S:L�C%�(.?cЮ��sO%<7޲�G�;�XǞp��ێ=���+���#��*Ǟ��;�*����Qt��9D�%3��Uv���$"�Bs�-��J��8��$L-y������l�XɅU</T�V{���l۫1�v|"�kREO	�"�;U�‚̓o��^$�[3��.�Ϗ�r'�<`e�!�n��O�^s�6�t��k,(��,/|!]�M��S�94U�0U����n	E���A<�PJu��5G]�`��gQ\�%
����j-c��5	2�"����
Ț��kQ9�W� ��Z�	;��C2�O�>-�_-e��һ�]Q�
N8�MW+.�q,���ث@7�}���-r���J� R����Aj|V���X�P@�",f xx�p�����e�~�޶m�{ا��{J#&�67)g����k�#����h��T1�e��lTo�d�����lm�U�����V2#����Y��S&��I
��lע}Q�����-c�$d3ڪ3LiM�ĒJ%�B@�����qq޶��a�z#/*~�k��"��Ux
	��!,��4�?�va;�}ġ4�&	�k�Tτ�k� ITi7�ѱ�@�5k����=�T��
O�Bw/�!�!�޵�����4���/�DHg%��}��n�i.��j���G[����9q�a�h]h+:�	���NMndžL,�����l�\e#d5<3O�~K�[X�E���&�G5�5���~OsZ�%̈́���n)mV
�T��j��8�D��i"���Ys���&~�T�! I��C�b�=먶w�<�-nʪR4Ѣ�R�l{���GO��o����|\Iu_1g�{8��?��|GUML�7�6��U���4ӳY��e��7�%��tjа�0Ö���F����M0���,F��raN^ۤ�h+�r&цa�
���pC�3FYo�7"�z���Oy%��!���ӣKى��
^H��
M+s�1s��2F]I�Ql��L�mg(k�0�s��O����|U��y���R�خle�:0��^�l�.�mK|���j��5;5�joqCVbO$c�o�&V�	9_��:���i�tٶ�ǃ*�{f�X���+cb9�	k�g�`3 A{��6$/�EJ�-6���Vo�q��]ם�X��mQ�#��V�Bf�*��g�9�ImT�1�fF@.��I�a��>/ݑ��C���l;a�i-�=����J&��%$��1`���;� 筲
���&�� iQmjĘi`٠��I�QN�Q9��J:\�#�j���-;8����G�d=gs�&|�4R��t�dMO�N�e�4xi��n���b��⦶����"ˈt�c�O8�?�E�`�y�o�g'64�ۨ��[XC�&@H�@!̓�FuX���1"�K��-H6c��F�äȜR���q��j���qo�>�r�4}[�U��L,V�%c-V9�$+�G�؏F�C�Ģ�a��ja�s���e_j+�V�1�p���/�W$ړ�ώ��~5��]-�WI�Ɇ'����X�ëM���'^,r(F�F[-�t:"~����4R�yI"�ҧ͓�j0�L�*�j�k�����hq�q&;/JBN*��	�lr٪��Q6��k>��6ڛ��}��X-6�0,)͔X�bB�w�k����eoMn�hhpD���0����Rۗ�D�6�YT0f9���ڮ��5&4�b�<Q�J�L�)��dγӂ�*ћ����l0�mF�PQ�-sXKT>����GVU�cV�	��<>��B�e|��X�
�3��M��`��s��{F��� ��3-x�4PaUn�NY�˫�8���8e��Ν̇r�?��6�d7^���G�.���p����ك�Y2���[iQ����<�QT��j	���gA C��lЄ��F�l*I���rsrQ�8^�)�m��A�x�p�I���.�J�	�{������՜���T��9�o�@�*�ѭ�������[�{q0��H��� <�h�_��ucVͧ����f�6;��b2�
��J����\�M�������Ь��gGZ�dUB�����laA�qѡ� 3���)ZFt��r��ġ�Рӝ����޼��~rI�%�r�-�	�S�1D	:���MT,��{%=�x̼�4�s)���Lu�!�tYXpf��П�3�
��6�<�К˟9������!�H���	ߍL��b�|Ь_����:)�JCZ*6*o-��z����PJ;X���Q�N�L�#xfbZ
y�3_Q
ʨ�Љa2�i�INl��dy�4���C�5a$\�|�k/���o��Qh�HTy<a�yI	3̲*�rA��W��m�}v��F2��H�亐��$}�k���&�t�OLd1�l� O�����4Bn�1�D0s�K���,ݲǰ�Ȅm>�Jj�����7d���5�2&
�^�l��7�T�~0�7�0V���cE�z�P���+��
i����Z���ÒN�8ڔ�T��6�4�7Q���,�E�1�mψEH��@�d��p1�U$��5K0��f�AǤ���
�a��>��tl����p{ ]Ti��G�z�P&�媧���+J�r��� �O����F7�j�Qqa�L���wCgJ�#VВ����4MS�H .z/�$�����PDD�B��~�㳬�oZ����T�8�ib�1�7��N�!�w��Ӭ�]F
�
�hM��}���s%�`��2��LXM�$�Ԡ
N�ˤ*UГ��e!)Idl��շM����~M��+��G�D;���jɷ���$�a��G�L��ڹq��2�ػc�l�[6ZB^�ȔPR���
�asπt$*�}�D��dM:,<�E���VX�G$Z�d4^�9�!��3�B�}�>�?�&O���:DX��n�>P�"���	W	f�
&��f�0b����M�m���j�3,R3Y�����EU��
^^�b�U	��� \���5��ҁ�00w�ǵj�",�H+����j���ӥ� _�#���k�aj��F̗(�7E݊P@�a�.��
@�?&j�I�
�*�$�U�M�o���#��)��Ǥ�̙��*pP�0�a��a&���dC��>@�l�^�#�b�oH���D��bhgI����>���E�\]e����h8�-�
���R=e+�|O����.P��y��%"g�f�����H�R��*�b�l�&y"]��ZJ�����!��q�2��aC#Qs4�-vG���o�ީ��#�rV����
�'�-jLoB�'?�`�93D�
5���w�J7rL%���Ąk�	���-~7|��^*y
]�mBA4gg6�9�\�.�[n7ڄ6_f�]�%�0�;������aTM�6��F4�L��j5���-�&�<�8/���G����l͞gX�qS�#�����&���ڜ�H\�YHX��&6��m����%��HQ�بU�
���͜�.�p#��b��8�d�<)�Y-5̡�Q3MkɃƹlQ
>b2�[��c�E��os�__��!bV�ѥ`�]}�r��2���[+�b�#��8���jXy�d\ �E6hq�����ps&�<���J>�hcEM�O���0b0�Gk|���Eo.�K�sդ)}��=T�p�����ϰ���S#׻��l��w3��٬'gR'@��@����B4���bޗs���P�c8�&��r
L��F6Rwu�B�@���Ͼ;��
�(�&j�k�
�47�W>�q����Բz��f[	��4Wqޚm�[�+b�<���tޗ$��������b��>{�G'&�ڣ�>N�j'k�%�!�A�!�*44���H-%�fD^�9�Ձ��1�+$/�3���_��>Q�;���=�zQ�I�mx	��__3#xI���s�-����E�S�	��m��NX�U]��ɽd��i���i�å�%8���RY5�1c,��+�'�j�����:��fٱ��!g��am9t��a�+�Ը�T
��v�;���.�at�#AC�n�ʅ��•�$'��Al�YyӨt�U)&3�����o�67)�q������>\��=Q
|8$fxR��p�|TMrA��c�L�v:Ӛit��`
&!묩���,�4�3�2le��\�J�9��T����#&���v����ܲ�muE@c1���r��]��'7���5po�#��W'}�k"4/kw�4.ȷ�?�p�sE3Z�S'��W
)RE�4�t� 7j��i3�*v�P���
�Y&�-�~@j��
����q`�֧�d�8Tq4��VK0����R�h�!$��2�8-A�D�@_)�Z��c�el�Y�����Ǐ�L��Zf:}j�h'!�6l�\��;R�Bv��l���?��$��5�,��ق�ne�"Z�I��~��mw�m�!�=B�/���F0��C
M�2�����A��{�:t/r�6+�a2�Zw���|ٹ�L�p��(��*![���y�zW��&����o�W*̨n���*��p�� �A|	o�I���@P��*�[���i-rt����W�s�鞢3UB��3S�r�M���]��(������ �1�ܐɈ3E/���r���|��EP�&�Ѐ��-�HL��lk�"Z�؆�炴�6��l�dHG�0	��Fk���OeUgP�cL�V�A{���̒�m?ˠ���Ri�GЫ�C�W�d�p;�qa�8R|�)PH)�"���y�("��P*۟Ŷ�����j�65�>�3K6~�u;'by�����y�Y���;β�L
��A1
���N���&:e�b���E%�uM�<]'s��Dm�a���J��wk��@��`De�Q2cD̲	���^�X��W�=�[����M�� ���n��.��&左��l�A7q������枝J����vg�����A�g[�7��$�~�y9���К��>Wd�����~��I�E3
���¶:տC,�MLq
K*��-�a��څ���t�Ç����*��^�
�j�Į\dr��&X��d��Y�0�,��JT`�\h�&����+aqj3YωħC�¬b�֑F$��B3���\)����WpLw.G��&'��k��g�b'��-�#)���=�q�8���]�ۘE+�s��2>�)}B�F������Xq�O+�;V�!C��6k�>�;L<����;lƔ�'M�0R��L7�[>~����Bc�bT*/,T���jzY�1ߨbA��}L%I�".ݡ���K�c*߇�T�_3
��(������c�9v�	�3'Lk�>u��F�bd�*m����]��6���6)/H���\zH�ئY�h
r͸�J�	Ů���Y.�q��m�mcl���F�OH'jQ��$�i�c����Ϥ0�q4N�f��A�+�Ъ
�d�'f�	AS8�l�3�l)�i�׉���N�.��ㅜ���ڦ�M�?�劝�'B�q����PGk�k4@jo*�۴e��,6Y�O��u�uaZY2<�\E]�KA��*[0�@zL�D�o�
�bS�{�W�L�CĀ4��Ω��"%Ǭ��\�<�ҐY[��t���k6(�L@~}(�+.��1���f�B�{T,m��V�����YЃ/+�����X��X�es������b����EW�+_���T�>��A�8�$ ��9�B��I!��j�o��!{B�<~ɡ�[(V\�Y�����P����L�p�;=�b���|�����#YXz��W�g�#�#*���9�4Ձ�@E=)����h��`�Ǝ����@�oI�v�e�y_��J�+n߰�MB�kLsW�
ژZY�1d�J�qp�Ds�lܥQ <*-��/ݤ_s�J���Y<��c�UX�0x�)N�ۆxf��!�&����$j�����XAp�g���bR�͞�f��O�Y�FF���:��;o��{��S[���~	�)��>2b�⼒]
�|�&e�b5��Gv��@S����������*�N�+G�&�'�S��R#6(Z��
��B�v��"��X�*� G,ʌ��/♝o�sygÇ�ldB&Hr���Ď�qڢ��߲+�)�;0+.%�K�0��++�IcQ�V|����U�/�w�rl4)�J�6�g*7KNx��M��i,���Q+E?k헌�t�r>a7"�M�j���4^m�|CEY� QO���
t`�hT�����)v�t��������x@D�M�H\�%��	C�Vξ���ao�-e*�u]7���F����=�3Q�"w"p�f���'$K(�V��'c��R�8e�,�vb$C�;am����lH��R�4���b[G�@��[��0���N�:�)9ՃWٳ�Wr?T�'Wu&iq���ހ�F|�|=���pn|5�ۜu�߯�cC��v��_���-�4Du.�� 	z�&ٍ�6�KD��w~9j��mb?��߄���
��1Ґ˚*�E�,�I0(>1�~�bq���g�*7�+cR� jdB�ф��8�l"�1�pCȣX�ߋ���q�{\���8D(�}�p0S4l
�	#�PU�/�iA���I`��8���	������ߎ�N����G[`	�$F��-[�lHrvȐ��X���{S�%�$��0e�]j"��y�*��5j�TD�R5VCQ7c�&xS!�p�Tz�
��(][Y�Q��,5Ζ�IǸ3T��]�e����SV�<C3/qD*�|�T�s�#���p�ZK{�~��&IM��z��"8��ιQ�S��@}�
��6��mO��<��D��r�vLόi��dK5�8ꁫJ?
ba�L�vz͗`�K���	hrx%�)��ɩ,L� �#s��S�~�a���ݮ(����he76�U=p�'D����(�6��o�"T���h��2��͞���:�M�i�>A4�u��mUG�@�$�r:GOU���j#d������e���3�&F��z�C�i����
T(E?��?]V$���Df[%8x��V���(�fa+���hb_&|DS�oTC�V;Ze�O�O&
��"���rt��f���D^n�(A����8hC
��{�N;v��n^}(�u���CQ{Q���i�qԕ8]Ls	�4i�@�=�XN�<����#��	�V�,�"�R{�C���̄��'��R�輷�+�X	�M4՗J-�	���/2TÂH��j���h&I�=�<��e:���f���j
��
�F᫅&�F�@D��s�.(�C��TSz9���X�5�p�!JR�̦+m���\�ʳ݉�:�
g�Fu��wf%�"�R:���cP���kV�����j��%[�F�hj�e�vP]iGn��Д@S��T��P�X/��p���$���%0�Զ�6�˄:�$w�"&�P�S���a[��1�T�]<y/m�y^j�͒o��0@ة��Ne��?W���J��JN�'��K�SJ�[���b�	��jE<4o�/�2v��@lV'?���?�mƟ(b:֬ĨT�a�3V4�",���m�F��r?2�3"���n�p��s^gE�xFcq
gƂ�^-���T3���|DrA�릅e��AA�9�*���0N�Uk�� aik5	��p�j8E�Aj�g8��gX��7`i$&��\|gԶC�1��t�U�Y��B��@v�,�O<�o�6�$�6/�3��q�v���B���$G��;�D3�f��f��p���u:��6sb=l"�m��%DJ�>DaW�!C�vh��
�;�b;K�� )�lxK,O�Y3ĂzS��#�-Shh?ϑgE�bQ�(�V�9Z��5����Ύ�Oҩȁ�T�hh���X��W˅��d]49���,x��w6�y-	:�9cT���{�Ί���Luݢz�(��4z3��h�ǙZ'��31A<��Jј#<G���M���a� Φ��}>¸`]���9}E�&�G��ފ����������p��Ā�U���T,�XJg���Dܱt��i��2��)�#a�93#b�o(
/��f�l������Tf�x&{��i�44��>�O͠�(�4[�N�*֪���H޲�U��d��O�$�gLV����c��6�������%�K��C�����ہ�Eh��4�Y�+�kd7;R��)��f6����
n�*��\f��iS'M�h�1bt�4w��(cڔDH%����cJǑ�NL&�/Qq$ÁT�w��\��13Ёu�u	��F%{��I�c�=2GRohM���(��ð�#��4Vx�&�Ĺ�O�!I���S��%E��X�E��η�ɌK=��
@*�\Nt:ֈ�=h��1�O�{��D�=ji*���(��z�<d �m�l��靱� �~�dns��b�<vP,�����>��#]\9��*���W�H�rB��&#��f��#C�RV���o&�`@2�ƅ��Ð#���o��?�����ȍ�|S����0f�c�����(�X�ܦm�P����ZANp���E�Y2o�4���K
i�~�Z�h���8G�4�K;Xb�F\3b3�ny�z6��[﮼�tϜ[2+ч� ���,s)s`SPdG`6O(�K6Q�˹>2�t_5�.�r���wR��=�Gp�	]�d����9$�~LJ�J뫉��s���E�3��H�L�5$��rY�$B�|³17�i3K%����L�q��}��s�3f]y夵޼3�g��ѳ���<ȏ�|4k�]n?v������㢊�	�3����4�;�V��X�&�M>��.'=ei�&j?+i��ӰæV�Iỻ1���N��
<M��:�&g��z�xN�h�M�δD�H(�!T�<%�9�FK�Ȭ^.���(�
��](��l'�q�6B�ޛ-�`Թ�*�&���F*�C�D�˓�يv�K(��L��N�C�ƶ;�VX�r�˩��<��Z	�H�N��~C*�rk��h��۩ڽ*�;F�Z�/ �@=h�Ŋφ�y$G.-�t�hg��< �`:n���@�[�b�厭GFn��n� -N�'��W9���<s)Ս�=__4!�D��
r��C���Zװ��dG�K�l*���J(+��y�Rr�Y�5�
���T���
��.w��"z��u^,��N����+��X+M3�ab�1�M�N�" �T�wTl���E^�*{3ʩn�1������u}n�٨#�!�m�BZ2�Fk� ʲH7��8hA6�p�m�&:
/�P�^-
|ep�lsi�ը��*՜����eI��6N�{�������v\�jG��$�h�[�y��x�Mj0�9���fGk�_�-Yqz���V��gb"K�V}2��gt)/O�,6��YL���i	���� ���Qv�
��.t q,�&:NJ%��5�m�m���d�����ݚ��Fi�Ҽ�Zh���8�n���:�ɸ*�Y�3���ҥ���j#���E�ń�i�B�D&�\�"]�a�л�[�#0��љ?E)�p���]C����2_'�ϐ�K�Q&#�fD��\fn��^3z�r-l��������~:�`��pNP[��lf 4�x����`~�.�	�^E"��勹L{�BK%�:mp��*��W*�ds��*�S��A���Y��gM�%�3l��1��(u�C�u�l��q�O���DsQs�:�s$�.�I�G�p[��9�'�rG��;��Ɉ�E~��oe❎�� Ի�۞�v�mԮ{ew��=�:f��wޅ���I�M�j�1�]s��0��Fq�145�WG����+\�s������aAfʣ&�����*Vwhha+�Q����ɶ��ee�����#�ew�%����]�_�R��dw��]Gf���aj�v7W+���=�r�yk�쮻eO<Ѷr@v�=Fr+�R+���w��FM4ڈ1ى-���:�����}�)��94{c���%l����f�-8�DT�:��P��F�TYe�#w�0������_Ok3�+��}[����zJw���\�u1=�$��a�ɡ��T����we�l����ͭ˩��%�s���{�۲���M��l���[_���ݿA>�%�.������"����zO/:Au��[ѝ�(�ޜ��wn]�~�{�����%<��Z�.��m�ޮ�Ф��ݭgRw�'�T����5w���+�~ĺO7:�ޭK������I=��y����t�x���
�h��ߐI:C>����_K{KVswU?�MW��c���.Ũ�>�ou��p��'[�g���)����Zo��6��o�b���Rz���l#u��1~R���
 �pxZ7P�NY��54J�`g.3�.�����{�4�#���E&|�t^'��'<غ|d��J���FOF�_>;�\���0�a`P�Sxʩ�>�(��BM��n��:'+�u*�:���Kt�/��;�~��0zu��C>�'����Y�طg����
;�a��f����P.�_��ϸ^g��eE�,6��
~mC�x�Y��Y�Ե�]X�3d�eˍ�ot�2Cc�_J#��zm,��{�7��p��钲,ҭ�
 ��_4�<9=�uxzѽ>�[��:s�^w�L9��d��@#]J[�[$�m��A�-��;�-�7ge���7��pV%�H���
�[^O���'c�a�T�ܟiV�A��yD�Li�nS32�}�e���)[,��ں�
���;;�u�l�v]�wroiz��=?X#�(+(oo]���t�����J�^A|}�Э�zQ������)�>}�Қ���=�y8���=<����
�ˤ�݌Nd��G�n1�[����z��]#�����ޠW�J%
#���&w�z']��b���t)@o���Xn�%�FO�x�������*�F�0ɇ(F9���n�r�a?�&s�G�՗���hW
&wM���m�q�����Txcf-��֠���
qA��iFAX,�����i�6�C=�Y$���'��iN��C�����g�=��tmƊ3�O^["�
e 蕾w&�c�W�-�|`�*2��ɪ��r��k��.%�mo4n����V�9�����9�q���k��`�\}���I��?Q�]Rdx%�M�U{'�����|	u�^4�!�֭K���[��ǘU�x&�����Mz�>��#��d�d�m�������V�Z.@,w���QeTǜ�>�'�+�>��
l1��Y��E�@=z���-=�Zm��e��B�$|�+��>�U�G�܍~m�Ļ-�K? �����1�C�2�W+z�Kf1y� �Af�-��Lj��W��D���`����r%�lndZ�uړ\s�<�?S�l�:��P�)<PEG
�����:~�Q�F�
G0��L�Q��F��U��-|�l�^F]�@�)�/��66	�4�p�;t������nQR��k���>9Sd��5xz��K�r�N� c����݀
��� ���B�wp�R�.��^������o�J���^��罹��:��!��W�����rR2S�$]�2g�Rی%��#t���F�]��A�{<�+��e�pr��P\|��F��H�/h�:�	^���\�p�z��F =��]�'�–�Z�X�CѝҲ��|@u���{##t�q��S�Iz��]$�f@�_�j76���:Gnx�FgJ)#��`�D�=E(�EWھ�{����
���-�"���}�y��P��P��\p
Ց�4_��}�;T6��9%+��f
�>3�wD<h6K*�0D	;GQ��1���_ٷ��(��fL�����L�
N��'(�N���C\����Q����@ʁ�@���0d��'z�UQ2�s.�� 9`�
x��E�R�ٺ�h��y�z[�Z�*D�b#]P��f�/a��$5��:fܦO� RZ~�-�%��u�M8,�/���ft�W7m]�mm/��3i(�n{(��l�-8�z-��쎍nQ0�sBY�I�5��z���?~�F�ݸ�l�u�i8��t�x�zD"�AD�ӷ!B׬������XNP��V*�t�6NK����d"8�ܘ  �C1�T�n�+�H��e}B�wƥ�"��ߘ ��,�4� 6�tl1O�p6� }e�W�"����yxD�\֌y�SE���q[(���<Ag�L^�N!q�����\�i���sL¹�eP��J=���{��&���B�	��hH�ў��;�5
y<kɷ�0�6��k%�!�NEe9��,/���@Sz&h�������݆#DȊ��Q�<q�
pS/l�N����*����ӯ�4Y��vk,�Z�w�6�{8�yє��;=T�9@�6�D�v/���*���
�bP?K!3̱���;�����2�.�g�`��;S$�,�A�5���I�Ź��ɫ�[���o��#,K3�,�!�-�>K�o���zK��A[�zHm�u[�d�\�NC�F��5 1��K#I�H�m�|[UL,�aqt�@�o,���*f��9,��(�
�,�\����ͭmD��*�������,�F����]�����}�CUE3L���Z,�s*�gn�(�=�DVb�'��Ɔ9�G����TRm���TY�L�z]K�;��GЃ��1=����O��
_ 1�EW��b+���_��Q'NMA��z�
������@�-;/��:GQ
1[��͋A�
P� |]�l��dY���:�V���f�?]<�dЕc��&H�i�]n�K�nu����tvG�ֹ/F�5�P�dX/+��я��К�Q��o�w����Ky����N�D��V��,�/�)>��dA���j0٠r��H�Rx&Y7ɐ����Yئ=`�i�_N��
����(K�	�f��ںܐ�X,���4�	c�s�STCT��m��5��A��-XCE�_�I�*ԳFr�X�l]vǦz���2-��j*�c,U���xq�3�$��UV�(+q��J��k��2\,~g֪G6�G�w�|�O�&"Sa�6.�V�w���eVD`qTVt�������j2H���
����Op��R;�
�!X�Y�Z��2n���'�cL��.#4�$.��h_Cp��K_���qt�"�[�P�sIy�DżF{R7
�=Ӓ�r�l�HyQI��ae�Ŏ
�=�Z�y�"�v��fu2�0�j"�����_-�з��8���Izʕ�I:MY�A�zQ���{����
ط�����	�³�ηG�	2�nK�K+c��.W�⩎�7������j��9��P��g����<6�KDB��w�q�m'�Ԉл�:?�:�-����7SK8�>il�F�D��e˗�f.�E9�Nf��O�5��a����?`O$�X:�Ƅ0�$��5�a�D'��HxD�1j����E�U�Q��'��=�TD�'��>{�#��k4�
����é�Փ�����J��t����\�j�B�pc1^RH��X~# �z-�j���
�q�'�J���f-��7t���T���Z=� �������T[Vۓ.|���Y�Y���X��H)�|xb91]ۢ8�*7#M��5�(
����c'��'���nq�����B�!c��B.�p�b����v��Q-�/G[��1E��� @|8by#8Չ
gA'
�u��{���ȋ��}�<iB�T=7S�h#�ա�"�7�p���9����uL� �.헵�T���\��1b8���Q�
���Z���X2��N�N�zb5�Q�>5��
���Ӻ��k:K�>$Jx:���2�I�Ȩ� $�����Ɍ��Γ(�s|q��\�0��2�ЇL�e�u�	�y����:��T��C��۽�q�AP`����V��B�y���$�f��i5�Y�D�1
���ڮ����ܢ	!���[$[r�$:�3Z��0�8G�tZ��jm��B��y���̽�꒗7��E�=��4=넺�i�:=��YՄ�P���U�hZ�'��h��'1
�)�+n�'G��֙H��K�Lj����ܲl4"��}�6a߈(|�Zso��¹{�Q";*a^c{�����)�N9P�	�
�|�l�(z�^K&*ҟ�Pskw�k��R��@��@�O�1ߔr��Q�o��a�·�˞��"������-�I20���i/{Vc�=��HU�RmI�7#xWb)��$�4V�$���M��e^*���`��I:�!b`S�C8�{B�9*󡲥T�dy��Ҵ�W�fc#���!��ϰ��z�F�]7Z����#�Z����RO����+���
����p	��n����R��T�@�:��֖�A���^���*F�U�bC�����o�l*�=B��=��DZ�.�!�::�t�/���Ts�q�[",Ԇж�S���6���㔚s���x�+����׶����Y������^�F;��"NP�[�����f�gY/������H!>��vx7�!7)�_�g�2�
�x.��4h[݉��	bV�΂��>�K����:_���M�Ι*��
����&�y�"�VB9����"⮬���������col�<����&
�v�]�_ϖ����h�0���_���gx�®o�4Α��Mo���Z#tf˱��;���bn��T�cRZb�B�����-C��B]Di��
����;��qF�Kso{<Sra��#"�*��[�� ���=M��
f���Ȯb"*3`��X#$il#�r�P���S��H�T|7��k��{boC"�m�Hu�����J���v[��1FxG��i��c�M��;��%`�/�����P�i�"߷,Bl�ɺ���CހO�F�0�:V�$iaS�Kvb�	ǟ� eؘ���,m�bO���`��>p�@	4p�s�$����������%2I��9\T󫧼�tis#,�<���6j��!H����Wm�֥�O�|{���g����+F���p+��'?6^��Q����+u�w��Q�3W\�r�r���G�re��s�s�]lL�jӎ�dv�3M�n���n�䄐5)�0b�5,��F����������mWR�_�X�ڣ6k��(ٱƞ=��=a#j���t����;
"X/��sZl�J#}�d\�c�G����8#	��Jv�U�j!�zcvb#$���$68��@��(qŶ]����1@��#$��H���_ɎRW��V�I1-�\�S��Z���2xV������7>�1����M��oS������Z#�����������R�q�e����%�5ߞh���i^���L���N$na厷��m���T�A{��
i(�oo�N�e������U�hEN��1�'\��b��Eb3�N�F<��LZ��5���Z
ͅA�m�HW�\Hؗ.5\�pM����Y\���2�3I=u�9��
#&�#8Z�\t��Y���7:el��"PD�tr�Y<�5V�U+~�>��Tl��Ҍi�2#��u�M�}����l~�H�UA��tZ���YZ�w㕍��?������R["��"�u�t?{8��|��fM/(~͊bVs���Z�J�6�:5��j��d���ҟ���⬆�T���1uVW�i��c�7NI2�7�"�W�+_�U�|{��sȤ�a�˭�{$u�ȀM�8v�6l@?�[e͝b���y��z�F�S+`6]1�˪0PkD@`���c�Z.�,em�t�
�:���L[5$�j�h��(��[0m�4��g�,֎
�YE{(S�-n��A'�㚷�>Hs�U)����y�Q,����E��
��.]l9c�]l5��.2/�$,B�4�|��kj�Rܬɝ�,,�!T��\��7�z�v�3�C�hD?‰(E�&g=~�@��i=k�U1��8��5�Cb�8ӦEY0�$a�
98�����+0�n����`O�pf�H�|N�Ⱥ����O
[�*�"����ð �Uܘ�X3���X4���k���Eo�X
��U�C�(ݲV�QŲ������D&�j�L
هʹ$���B�4�V�=�䖍���g߾)`��r6‰�d��0��-�ңA�&.��
*���\ �ѽ�|:�r�L6;"�<�>ƹ�ڗP�$�8����JbȘY�o��$�LX��]\_���d1s�p#2g>�SCր��"���Z��/�x�p�*��!�
�߶F������R��,��M-B
ߡs���~*�����A�f��-)`��V��Qm�b��X��Lz��i��b� e�Z��:D����ը�P�Tz�~�M��ߧ�u
�ZU4Z\�*�a����r��z��h���-�Z�V��
~�.�eC4T�Ϧ=k�t�g�9X�d��\s8k������©��˦��qP�g#�T���܀�պ��(l�D`'3-3�q�e�r:�J����H�7�Ƅ�����rOsTڐL���Z/�2��٨�Y��V-�=�s�P���:��L��G	>�p�I*;Z�4@�!X!���i�Ba�
��E!6��1����8PM�?:�w\#&j�f�LL��?a8=\���5N�*Y�wp���I��3�e8�{�HH�G`�6���U-�`>н�tL�g�3���a	�:�[9cBjD(I��K,FzV�-�$�ۭ���uoi�#��b=�--ϭ���eI]�%%9��x#�pc��d:9BȊD�"~�I,�{n��,�Cr�xŸR70N
��0��;��3�!ш[�0=�&���C�x`���$�D�i��,::%iI�ef
e=��آ(�D����1vEؒ����ф�F�Ĩ��!%��
 �sÁ�T�֛�گ׸|�ST*�������c_>(�c&2�XI�z��!t���1�3*�X��lD����>	�F������V["
T�hpRg�ʕ.�ct�v9Õ����8~Ĝ�m8=-=�2�0��j��r�90Z/���{���~L4�R|�-��/Ln��h��|� <ͤt�U�%Tx=j�jw"b[�Qb�VZ,�g=[�q�����?Pm�ā51޺ ��Ea��H�i�#��Ҫ
�]�=
[���HEW��ʽ1AEH���j˔cv�+t|'rnL�C�q��"
KP��#�,O�t!7=7��@�p2�y�\�q��:)n��l�p�hJ�G�8�G��r&��s|�%'@�8��?
T������2���2,������"b�ʙO?`^��k'����, 2E'I:����bDc�m�s"Zm�3��wsR���������bE'Ol�q�Gcr]�Mq`�vn����P�t ���Hdg6H���e1V���O���?6�v(% �=(kM��uE
��J�m蹓�Z�g��2U�M=wtYg��0=^��Nͦ����t�h�e�u-��H�xMM����K�0d�3��/�%��<1��R�.[���b]��MS�3)�SgҼ�QuI�QL�n�0���3(N+�h�@�=]ln����{���A���N{�ji��)f^���:��N�ȍz5\�+
#2gG1��ߑ���Sjf���咾Sɺ�5���X8u���L�#��'}���f�4��	�D9@��ߦ儌"'����F���md���b�/���$N�O�CR����«�UKA'�T����Eݏ������z�6j�Z)f\�0̣5�G_�&Ś%il���}6SD����h�
�X3�M��V��b`ST�kM�<�3�w')k���s���7f~:Z��.�|�݅�ʽ�
f�x��
?��Mx��K#p:�S��c�����iq�N��oMגv�@����;C&�d�`���0��u����[Z�|m�pNްFV��ERD�
���|w!��0C~��MRqZ
�V�.�$��;��[J��R:h\٘V9?�WRT�q숢-Hl��[B`�_�hM��
���6�+��]���^Ni�ͯ�I*{l�=�9��u���X*�i)d˅qc��;t�-_�H��W]���(�Cg���.�����'ٹ�\vFz�m �d����&X���57x{"I&�.̷/E7Rz�"��_�^(A[�g�(TƦ�	wZ���.?�֖�c���Y����Q�u#<\�-�j���]������M��>x��'�Fm	��ˎ�	4��4<*�e�-�z��`��F�.�����Fg8�5
�@IpDP,�z,#�	�ԀS�C�PD0�������2:��`�V�GM��5q��`�
��3���G�&+�Y�l�O?�tO��t4[�X){F�0~�G���9hUiG�"�˄N�(��Y�P�ģ�P��v� ��z��k c�n8t���xk��E�-���섇e�)z/A@Jz���S�7$8��š�����N��(eKRbZ݊q\%Տ@Dq����R5��|d�/T~N���
�7%I@�m+����Yd
KD|��—i#�@�����0�&�G~�Ռ��WL��q��K7��Z��D:j����N
��hV�S���;$�g@��w\Ж:���M�t�c�{0���KO�q(�V7'�y�wׁ��yK�xw!������{b��xRE��:Ot��j��������F�Ŵޔu	~��X׾-H0N!�q`��z���(�^(�����8K��|��| 0�S̈́Q�<�/Q���yE��!����Q��Fd���LդFD�<��Tv;�K`��c���Z�'�-l�F���l{M4\�,����3�봉cMf�N�b�W���Ԧ��A�d2Rj��C5\Zj
=x=&O��6�R�_R>�Z�(��{��Z�H��qgg|��Y�L��yJA>�g���K}v6QE�X�bf$w�v�=���m��"�fI1�-�[�k�l*��Fb'x�أLQp��|X�a�a�z��tr�����e�_��C�.P԰�S��x��^bh$7M.өc�e��xp3xc��$��@�/�"���F	b]��*k=S�T'�Ʈr��҇./^K�(C�:VNs��|'�j���V��
�`�$�5�d�K�������6;�;ɺ*JS����"d����=iU��B��n%zm>��*.�{O�����.uuĆ^I�3�;z��4��|yavb���>2ș��o��m���ålq��0��Y��a��`�lJ����I�`ѬI��Q�<H^�$�J�����aZ�\����mV�1RaU����a�Y��΍������+�>�Jz�b|j�����8�����p��N����I�D}OvK��֐P�ܵ���C)�
��?�e�x����A�	��z��L�]η*�a�N�+�6���
��Q�\�X�eJ}� ��w��ۅ>�a�z�%�:�m�K�J��^�4��4Y�w�r�IҦ�Eq�הƙ�t�DL�0�4@+�*�'�""%����x~���}晱�E�v��ğ#&��=X�2����+MlXs.5>,j'������^����k%q� B��j�О�g�t:m2E���Ya�Mn�K_�q�������)H��`U�i$�����|�P�sx�=�@�2ͧ'� t����)�Rz%5b
Z����l���7v]
-�M�)�m���0��5�F�o��TIє7B�_�J+��w���m��d%�h�4�]�����_���&쾠}T��%E�Hv=Ȏ��ƚ��݆�t^V}�x��2qdtd�J��,	�����T'����2�Z9{4-/���B�E)�^��a�uKF�%��$��`���[�	�r��n.0&�B�X�.��(Q�&N՛��N<b\Z�)U38�P�W���oy�TJ.��N��I�M�>̩�+̤������uf:�Zm-bdl/�5hQ\2Pkt���=�Y�&�tv��Il��0_���ֹ<�m&#ћ��|�[
�^��'��e܄�,9�y��E�p��f������%��T����:5?�-)�,���v��À鋝��
�/zl	a����Pd���LIL�硧4�cByD�`�'�O���9�t���v������oi������(I�}[����c�n6�z�ÏP�� g@��qDvZh��Fz�Ifc1���ih�PY�㱣�=�oC33�?���i����K �L4xRN�$��RkY���XTG�e�"�V��Q�zQ�A�u<K
�H�:�_'ed��tO�?�4�4�h��BSG�X]�\9����Un3�y8KV��I^���'���TK����T
'���1����^a�����;���I/˥�}O��(ɍj��""T���%7�_HM�\#>F4�S"�.���6C��L��B=_ՙx���m���x�m3�0(����}h��^Ջ�lRe��cIj�>n��8*Q�,;+_)�GjҔ�mjoi ��I"��i9^&7�:��i#��Md4�����8{�&��6�ifg�Ӕ�z���Mn�>\B�W s�I�9!
`�/QMv�>ˤ��Cn��A��+�!Q$�ؙ��R��n��`�z�����;6Y��E�b%D�op�6�9����[�M����@� �H��u��{�� sȮW#�.���\��؍1~�ﹴ!��1t��nu'�kZ9�cD��%f�%ӻƑ"�!����1M�����i��WFѓ�%E��#��拄���+SE�Iin՝�Z?�`����z ���a�v�Ʒ�H	}�W]��Jh%�6��9�1�b��gΚdsM/�c��8I����KR�8���9х�	@K�/�8�0���k��yj�a��v	e M��D����d�M��ǂ�N��["0�'c;����\��X'|�k�s
� -$��,v_$������uIpZ(���}Qi��`C�;)�X��H���|#��9ص��a*<�ui_uxN]�Z���}��ڑ�v	Q�T3r��lQ�oC����-5���N�F����,��|�����z��y��۶i�dv�i~�{/q�e���m���^)~觨��~��-��HQi$W�m|DU�&gG��[3����5uJ���e�J�6;8b�Z,��M7
����$���^��>�~j�MN��V������s�4.ϑ�UA2��3Љ�s�ʈe��1x�ź�0;��*aO�o��#��4�{T�,9�@'��#Υ�bQ�I	�i�8:��'-�|Y�0xO�7z1#��W�磼ȳ5c�i��ډ�I��ϒ$�c�x}��`S�L���J36иo�jZ7`��ݓaЕ�~���]�>�7��0WPU��9T��Iqqp-�ꚣHaS߲EH��^3��<s4��KEs̊����:&���:�F�
�y�$խ��s�-'���"���������1���{iaDѽX��,7.�WP�ZX��
]Z&,"T�(�X	c%�1�F�1��ۖ��w�T�s��Z~f�E��n��N/4�m+�����5A^1ư

�̉�׎��f��K��<7Yg��E_8Ⱥ^�'���`�:ː/�ѝR� �#>l�
�����o.v�*v����M�v
��Ϸ�Žݘ��~I�p���Rj&~"�s*�^DE}-6�0>�_]"qx��N/�ya�ֹ�kgR���kP
���Q�Q�1�#@jY�� f�(�d���D��L�U%гxZ���2��bB�ף�K�wb�mvqƘ=n���.��[�t�\�BT(��C�+�]o���%?'�
�����{OWG�H��B��vcm��+j+PC�gS�Ln/�8��4���Ƀ��d��ŁN�mNC��M���O�1��mx��<2ԫa�|���^�X^NO��o��S ���M6��0�fK򜖦���̝��Sb��Y��$���I0>�s���r>��YOm�-G72�u��W��v�Jj�\)/���C0q��]&�����HzO�=v��w���k6����-��f���C�w�wA��~b���8�v|�jt��ق��= 4�1"�F�;��O@�0���l�����JB<	%�%�;c=1r�Zj.x���=�QS���a����a�LEN�>ل~p�xϱ�~�g��G��	�$z��́2FǾ�<i!\c��3"�-֟۾�!�k~o���	�"\��D�=C���s�sD,c9���q��O� �"���9T���^l�{�c>4>G/��$�v�f��(�� ��АM�K����8~3�E3�?)tA�%�x%B=S�X�/
B&z�+b����^v����71�S�ě�$�/K���W	�=�G@��.�E$�pw�-���t��R�`�����_�x6:�	%ܯ��ɨ�Kj��uc�ߨt0� �}PC���ND�|��?��1ӌ�9��W]v���ٔ�~��ҍ���l� @���K��,�Y zY�Jg@j<��mbx?Gyg��o��'H��-�U4(��8�>vZ�(Ul28�4)�a/����6��g��#�,/R���ؗo!	�5iIu��7f�����E�"���	�>
�Y�Z?��F��bf���}����C�JN|�Z�Xិ6s�-{�[�0@�z4�QB��>=oVQ�MrR����rҏ$*V�&�R,^O�j���3]�!��s�*
S�{�DtK�"̲ߑdl��������FP$��~�K_m���Dj�f�L3)9�3I���6$��'|�<$X����^��T��b�j�o�Gd��F�K�1����݉��1��!�z
@&�Fg/�X8�-��}��f<��!���j���`�� 'H�u�v��--��������$�}6����S�V5>�H�����6�$2�,^�<�����Ne�.U�퍚��d^�m Җ%�NѾ�n��;=��pr�n�S���u�{
����2%�����I��A�Wسj!�4�Dhkb����ԍ�
	�������ҭ�!�6֚&�;�m���"�[�#Fl�e��o$��
�I�WՊ[���6)P٩�L��7sX[��r�hV��|���~�A<�\�|idž����-�fI�
�@i��D���U�d�@)vC���{і��JӨ�I��5<7��s�r��9�#�Ī�&���۬R���Τ&��y�!K�sEӲ��MP�TY�u @=��ʎ�=�I]!Q�Ő��s��N7l���	t������7٨�(�,K�grJ)�2K8��CLp>+��z�F)��� 36�*�s�
��x}c�r���7��)=޷��&*͕
�kMj�N@��<��`o��'6���$0�\�٫zE�P6���'^+ȑ�~0�<A�ר�,�/� ���Ӽȏ�����A�����lIO��Ϛ�1�4"�.��H�^w}�وƼ���k�}+cޖ���}�b ��|�ZUS�ڸ#�q��":H�aG���4_�!�0��d�.ud'�T`	T5���;s	�P0�1&S���y�D�m�KB\� 3�Mbay~���$�3T�e6B�m�D����Qs��Y�	
׫z>��ĹTm�F`�d���AD��Gǜ�##G���rco-��{0rUU�y�\�D����D�z��j\[�iF�G-�6�r9�p��Ddzk\�5n���D$��uHa���p9cP�)����1�Ť�ɴ�E+��f��xg� bxW˰@f��o��u�������|o���i�9A��.��P���F71�m�&���Φ�܇���L5�˧�D�.�>���M��.
p���=�I���T%"�ly����r'�p~!���A<p��2�Ə%��`0�~�ʕ�<PWk���Rƿ�U��lFu��HcWj�I�!�}�"M�
�y�U������‘JW�p*J;t��C���.�~�]/[+:v4��"k�&-�ih�8?{��X:֣���!6��9\��?��OرpY|&$ϻ�U�`���M��.7$w	�|���tQ{V~��9�X�
��1��	Ώh[�8.�
�(���\W�+��:�����DnvQם2�z,_�GՑ�pb���f��`2���F,
$V��"�p���#�$�M�I
2�|����~b�zhǬ\��|�Z(���l��ag<
��l����ha~v��K�����X\����;��.��b1~�^O�ɑdo��'j��0K���hI�����x
u
R멅�b
���i�A9���M��v}��r�N~�ӣ�ҵ7}6���R�g�*d��L���s��H�W/3"�|�Yh�>Z�hf�Z�:
��|�&���Ж�������N������vmd�=��#�w� �yNJ��-|�%,��/��A&,���Lj�8ݟ$��1���
�Y`�M�%܌�i���R�H�yLP2���C_���,�l]��Je�k �4��x���]ao�o�N�qr���@�K��p4��������T�2�w����$�3U���z�-wr�XRh��E>C�X����<���0b�%9h�&����M����6MY/kF"3�܊Ȣd�31����S�=I=�"Β,c��C�]�����\y���Ҋ�T�"9)"��Q�1܋X_+j���N/��1��U��7�
QcyU���Kf{�h5�c�aPz�{S�՜ᄎ�H�ݏ�
�P-�6�ִ-�
�Si��/1�*р���^�=��_��嶡���"a)�]5�l��K�<ۈ���R�9U�~Gl�R� �����F��Ѭd���("=S����=���#'���4&j��To�3"�I�$瘓I��Qh�Ӧ ���׈l%W{�&��a��M��.��f	��+j���f�s��K��V3���h��9ڃ���߄I��
���'�7Յ�/?:�ij�%�Й�>�ALD־�i1Є&�!pZ�p�Im��-���+��u@�3��\�Qy$��q��m�ӳ'IP�QĮ��Q�cn��@��I�vDήC���s��
E�]�VV�'��O�(�@�0�*B��>��U5��E���o��B��N�sl)ݭ������1�F�
L��^�'�B�����5���!S���.p��Y�
q��i
�6pHN�[�cAG)Lr�v����;yF��c�꭮��ΊHhtX��f�ݪi!x����A�m�F�D�)R#;�oN
�&�t55����]c8���X6O�]<�e*m�Yq,����^�P�kY7pQ�ʘ���D,�Z�MS�}_�N�=f���u32�n�9�.I��Ɣ�HǵH%�P�ѭ1@�f-��OO�%�R
�!�2�v�Hb�a=[L|�%��Ji9����F2�i��
�+1��U������M�pN$sS����13�թ�H�1���7�Bh\G�*{g��1V���窴��)��Ѵ���|�����c�=[|��6L����F���	�7���
c����.� "�F��k�#��"��ndD)�k
�#*ExI&Ռ�GPE(|�E9��KÐ�
��J&^��5�KC�(�����6���b5?�������Iv�[�e�,���F#�����Zȇ�)��cb��1����N�۵m�����$�H�_�J��n,�C�m��RЗ z�9!/7�T�8�X��.�t׸$� [=���a
�"#�2A�"U��vj��T.�W�B�����c��6��?�5A�kڣ��	N�EA�Og��M�a��ߖ��-�}&f�]o��G�ù�	�oÓ��
E�y{^@�B�];N����1�h�u�"?h4#Y�]�8_h�M�|e�R�ܜ��sz��m��h?��;�X(ڦE��	��c������9e^w�	s�hfyz�-�6����g�b"�u�Y�R([�0a�}�4s��N�5pg��X0'ۜWX��KZ�%r�7�G@�8�ap��8��w8:�AK��F���R�-w�|͒����t‹����FB�DQ�ݢ��4PGI/'�Z���n*�[l�	԰�qӅ�CΚ����	�v���9?���y}����Ʉ�u��*�|Z,��6�3�9]yI`���m�� �[-�`c	=j�J��i���j 0+�j�:Y�~�%�&��K#���P���x2z��@d�V�\�l#D,�7���W�F���Ov��������î��&zQ4�s���Ř4�����iTƱE�E���	�2��#�PV��%C�&f��49�Y�vn���]�N�[�<_Ý��00V�2���.܌dI�<���l�����}����M�>BG"K���B���`�-�pK,�5��"@�܏��R�D�bgq�:b@N���׮�%ԏ%�FJy;�3<���֕��P_��w��0@I�o��t��
���޳���w�IFH��v��.����"�x:Us�.	��~�4�6u��k}��(�1��[�l���6
\�EQz�;ANᙗ8�n��r�g"Vl�����au���ND���?F�Q0��WJku$�
bm9
�O�t�ѥ�I$���0�D��D*Y���4�V�T ^�=?�W�jV*b�1Q-YL	����dz�jnR�RkҘ��ʚ�E���уԜI�-m��w�k�nk�9�S�w��׺D��'��ެ��@dǞ�K�
���r�'4n�\ol��H�����2��1B���ܐ�C�u]r��a�;�Z���S��0��"�M	e8�f��Y�{Ad��ݖ?/\k#]��N�����g�XH��O?������z_P���c�R�ɾ��FH����ȧ��I�����}X+uB_�:d�	cc�@4��U		��>H�m�s�瘫n�Y�u_�!)��0�(x7��	F�Eqg�^$�'��&�k�e�����/�I�-��8���p4a;â�c�0�H�Ȱ�yuA�Z-�k�25�F�x���WA=�ǻ��8�m�I�,	���V�V1ɱy�$a�	�)
@����/>�p��mY`�v�iJ�yr9�/[�Z3?��f�Q��ZC���V
�g8�4:�A}k#9�<�.{�#A���w�B-�2Eb4�����a0��̆�;�'B���7�&�-��kif��XL����#����%��YC�R��&'R��:�N��+	A̭��[rǴ��^�D��J����ź��K"�q�D�vSS0Fs��nфt{�B�;P��qS٩$A�6�T.��1{d��o��L�R�2<@�Q
�`^��|g�&أc��Q
$��,�y֧�b~���mrb$�����+��f�K>(�J�S,r�'��'w�6�y�o�q�R��I��>A�6Am�{�ϐ`�/�B���ؐ�a�]��\$�������`���D��1��������'u�d1�5�.�v����zl���D�������
�#��r;�����
{U�D8rc��bII��M��t�:ĭ��K�OR�1�Ml�$��C�_�:�ZowV_$#e�pj$��5ߞ��k�`�i�i�Q���:�q�!�d)"=����C,�D�;n6�;�+�A�r�ۄt3�m��#�W�U�
���h�=6_�#�T(�R��⹗�[�=�c��JUǼǺ����^{�L*�
ޞ�i��f뮝��6�b���0�
ѽ5B�dz(����X�����m8�q���g�M�Bk)���+4K�N��=�H�-�����$�o�L�V>t��m�tR�$�>�����g���I\��D���e�u
���J ��-ar�#|_�0Y^��.s��ْ�с�:$��(#� Lb?Kt���3Q�|k���;����U��-h�,��`[���ܛ�5��\+����s|3� �Q�d�Yb2�ƙ3e#��5�K�K��\~��_�6zi=�";mB��_X�˼��S�%雳�����y
�Q��ı�M�5���I�Ջ���0�҇P�`7;#*�O![op�l�}�K/���cz�H85��s	���C��%I㗰M]<�lJP�
N.��'i��������8Czm�=6)Dx��D���ai�TG$�|�0��5�Q�M��a���bۜ���~�5�׀Tˌ�F�7v�μ��CZ�e���K[�����ϵ����+�����4<���G�_[��.�"�@4��2�hX�DJ�{]ϙ��N�>c���fS2;�������e�i �u�6f`�B��j�S&�H�j�0�q ���Ac)&���N��X�d-&4��x�?\Q��q���
�T�þX���E�M�Ҟ$cC�s��t�҃ �R�j�d4y����L�Z'ϑ��e��]/^��q�sd�B\�@iOmf���(t�9���O΋34}�rc".�G�(]}�\k���1Ӹ@�I!�Rw�9���K
���+�ALB������Ĝ�G#%m��,�3w�V���
2�]X�=����w�rqR�+.���&�G���9T&��\�����
��M�5�|+�
vyf��)�����W9��m����/A�}&,<�\b�P��^�4g��N(<��n��
��XNt���ԛ�K�|�B�����oaj� �e�L�	�7"^�<!�G1 Z�6D?1,�'��G�0�&_g�
�֨|���S��4⸿# ~lsk�M��z†.�����3:�˜w��)�p7�@��ӆIT� 2ԃ廻�k�T���v����i��G��ب α�{T�[���"����xG}р��'�R�Ӧ�GcQG5�0~k](�� ���d{��H#��Y����R����hͷ��+�����v���M8bƄ��ߞ1mR�S��baA{�\�Nj��)T"ޖ@!W����"H������ꓻ%�t/
��Т���"5:�.�/>�苯�
����2O�Y�:�#�JmM�����U�qMڄ+�	��k�	����{ޱ����|�	/A+�H5!Ec�9��S��;L���K��#���Ϝ@A4�!���H��.�K`A��~4v�+E�9|�z�kg�
Z;�N�I����2� q��j\��-:���n-��6;���#�FcW�V�z	��P5��OV���Y����c�Qk����ҭ&�`5&*�9�b�o�׺8ې�8�$�s�O��,Fs��'�A����CQ�A("�Ij	�1�N!�(��Ţ����+Xl#�����!y��f 6m��}�>F\�+�l΁
�h#�������#�@�`����������RԺ�o����ix��Q�R
z@�6[d��:�az4*@.3N���t��;U@��%j[�DTS���7񱣠JZ�4��W��\ɍ��˸�U�Qs�8�tN���J��ۄ�6�]�y��0�JwZ̎>�F��A���"�ZڎwDzK$�
E��z��R��q�3'�併�]w�%b���G���~z[��Ofo�7��wk��x~��^��R�8�V�KG�u�#hs\#��	�B���*�z��G2~�e5��#8�wSwJ�����d�>v��/Eϡ)K5��0w
��;˞^�'�iJpTidx��)�
�[z�M!g0��i�(�U�%_E�^M���#0��z�$m_o���,o<���0�#s���駧����TS�����b$6�C��C��(�z�k�_j<9Q���Λ�$��#C
�xk�v	��׬���.�}�Z�z'#��y�w}�Q��0.�YpB1/l܀�G��>�@����j��E�k"�Va�gz�glp�`q���k$�a"k�1b.j�t5~��c�B�2��Hk�
P�a�;�qݼo��K"�(�y���)�aD҃�\L�'Âo]k�����W�+��	�&4�F�e�y���k}|` ��9|"�,׺t�0��.�bU����K�x������D��D^�'#<Gȕ��Dl��|aU;�k�D~$򁍥��Q�{��U	o\���9}���^=�1}Jt4��U�-Z�}�bn�<�N�:��Z(���X�7��9X�0�g�/��ar5M�e�7㻊c,]�+�^Ew��@`5-�*�s���u\/]L�
zt5U���.�^�%$/��͈�
�ӥ�|BrH�b����ɟ\�<�m���$�t!�]�R"�#��{y�_]V9CMB?�'�=��o��D�xl�b��&���&je�U���pΚ�M؂sT�)xp��X�i�&c�����0�3��a	̲�l�=fU5�r��1�°��4H	�>�u��)��"�(�[:MX���5�k(��i.��g'No-T���Y�nS�n%(�|E�z����d��WӋD���:���[}��k�K+����2I2�6�
=�}E��]�4�1�?���Q�ڧ�Z�㝪J�|�#C1�Q�s��B �1_��Q�����v�+N0��#/��tyd�*��tVD�oqaR���H�֬��M����f:[p�1�P�dĒ�%���S��0vL��
'Ì�O�c�:����TPI��ڊֈ�@g��E��[R&�r},�\3*��Z�cS��E�����
�o�ZGÉc�f��d��K�h�/zg��>�O�Ë>~:t����wo�@�\�
E{+q��o�G�'G��3���xC�K�:�,z��Ժ�b���2�\�l�}�A��Z	�$.�)T�+~���1q(aӾͩ��W��E����`�;;��M�
o�U����\��,1Ea ^1�"R�6=)�M�a�FG�M&N[-KF�|Ƶ��-j}�M�Y��E�0(��Ev�aAl:���i�-H��a�$��M��8�����Ș��OJStem�tĤQ�B�iB�\���Ԙh&����m��yݽMs�����ף\���M@�<��՜&x��kwB�wΥ��$�\���c��.mMn�(Ð�1�)�4¨���<5e��)љȣoJ���95<LBN��L�;f�WD��i�F�3�,�g��&m�`=����J٥"(�� uF7­%L�nL���O	3ݙ�=�Ǐ���F;Zx�Mq�G�>lP�����-��.�@�u�s�
=�:��r"����y���V iw����j��	���3Ҙ�Y����o�:������T�&�����Td�vt��"]�mM� .�d,���8�3�g��$r�)��'�I�W.M�
ht�K���s^2��Z��V'gA�lBȜcS�'�9QBl�� ӆjM����8�l3��q�zU:�I"���R!|J��L�0����ūG�<f���.
���'�-16���o#�|aB SO�N�I_
��l��
\7,�`�����v㨡C����,�kT�0'��	Sl(�H���$4�F(�5ȹI4p�[2�_��a�J�ݱa3քiq;5X���)��]�[)T�'����}���*����׋��Pდ+{�rz̉���;١�I4�g��R[5C'!D� r���%�������&뢢G���i_�c���%S�ǚ�&�uۏء��,���"��!�:�uف)�׿�u��I~�NZ��&��J�W��qer�W��e�� ��έ�=&��
�S$U�·�$��Y	k�R}��g�ַ!�RF']�ҽ�1;S�0�!��l�>#��n!Hb6��8Qx��Wِ�ݐ�~���8�1t��C{�,��$p:�[�ęDz���L&jwh>��<����
�w]�Ďg�ak�P�2�"�텒���̘��g��x&��U(E���(�]��*i��
eg4�NJn���u�+��ƤdqD讐�*t��a�#�0�	�O��u.��*���˧�{�q��d��֘Ϻ�Ƿ4�oi��LO.j1�n)��5ܼ~�'-�`��;n–L�+�8���k�A��v;�l-����n-�	�=?��d�����Z�[y�qL;S��D��҆ >�.����$��'G@�]��ɍt{	=�3(5�ܐf��yj�O"P�ע��9�|���g�0��I)�HdY�H��D���[�IN����30��zB&��$g��&�K� �lʵY�ϑ�Ƣ 1t4!�wOr�u��^8Ҙ���c�)�v���
��YT�>!0N�H~���@��\!z���8��Ġn��/	ߧ�\�ܔ�I��IT�xe�F�j��x�X���i�9���a;��i��Hx�
��X��6N����j�4�_M�c��������R�Q�a���FeRX8�s���f{;}��;fM��Ɇ����O��Xe[A�{��B��}3b+�=7Cz�^�3�K��F�͐S]�p���^!.Sб�U7���\�Q?��G�����&y�~4~�"3(6�޷{b�SԂ��J�tLP�К�.�j�m�&'A�&�s�]񥐝z��Ę�ʩO,&�;���O�{�z�G��C?0��mw
�*���`B�z�WE����A)�n��֞�#��w��ci쳞�T�����p����l�4��#N��r�S��+�ӥ�>>�R&�Lw�U3�#�qmR'�O	!�������a����h�����Y7��X�p�|�<��$����^��;��YZb��߶F��M0<��(�;GYm��wf�KB�3�"ɽ�}�'U
���/�.�;qGX8�9.IG�.k_4�Yg�Y,�^���^�Sa1��Π?aV3H^9�����P�z&ݝ]������_�� 1˟�@��a3�s��e���9���o0!~L��#
aj_bc�g�,�:D��=&��i6�HWD�wK��H"��4�}
���n���e�1�2Z�C��y,�����A�p=�o�yve;���xIQ��|V�,��?᭐x��"6�7�>�7M�8U.0xʄ�u�rĢvy�89�\w�32l��6Ze-�k/o�I|�	Rcd�jz"�(��Gc7����N,V형�/��,�D*��*�d�n �����HgIQX9
����C[k4{Q3D�I�����e����1��Y�|:f�d$V}�%k�u��P�<"�@3۾�X�1{��<`=M���Koc�͆K����+���Cϔ��y�\/��H�	-���B���ְ�0`��5T��K!��qk���
���f�(�|1)!��r;GDy�*��>�4�H�IZ��8���2�[���&�;2�+0��b� H�!�ŀ��G]�.��&�&�h�dsı����G�鱳&N�,�ֵ�Ms&~f��E�BRe�/(��N��QaE��@,>C��I�KM<3�XbQ�D,�o�L0�c�G�S�����D�P�I�Xǒp�g��������j��Rl"�
x�GBqΘ6�풕K?DD2��JCl�LC�+$Ҹ"��h�6%{r���qg$b�յ�) b����ȳtO�(s��=3[��|����R���7@�Ν�S/�g��}��&"��؀�~)�J�rfs_�`!��Uf��Je��t�E�RW�4W�\�8�6VgF���5�pQ���n�]��bEm�C-mj�2?q���Rfp]��g�FM=8�r�.5��=e1�g���Z�h����?G���G)���|�FD��ēu �7�!G��
�!D����+5Z�b��WJRl�"�
s[���,��HKv�/%�X�x11<�_���a�v���cI�R�c�P{4q�F�>	���.����R6u#�~O��T�6�rj.���@�I>>��W���I8��J��Ff����K2x��l���R�7s|]�A;4���"��wԜ�[7�z2��{����`�4��	&���ԏ�2�c||au]��	��޵j�.�1���Ĥ�S7iw��^���Mf�֒xu/ؿ�ye�����v2y�Ŀ��a�$��ٳm�~�)߈�Һ�+�G�[���8�3��kdM��k�i�qh�XQ���-��pVn�f�Oe���ߠ[}X�R-����$6��:��	%n���B�l�!5B��5Ͽ�5΋H0��t���&�VɎ�N\�9���@i)`��-�B7����
��8���sζ�p�q)�6�+�Tjm-V�z�HO44?�����ύۘ����0=�Z,�<3UvbB$lS2ޕ8�ST�5ؠ��WL四f3G6Lb-E��8����ܒs0Kr��Y�<��^�lA3.���}�T�����
0�rn���0AQQ3G���˥��x��
6�R͡Zh)7�jAdS?�2����^�׌W� �<h3�[V50-b� �K�M�29&� ��#����j������&��ŕj��S/��6�`��~�&��\�=f6D^h*�*��z/�$G���6�5��"�}a�41��\�.n����Z�|-L1Ş��ȡ��ڧ��#�S1�[,!ߌ��
{��0"��o����ty�OoN�U#K���.��q.��͚���A��|6}�޹b6_K���"}
<�N0�a'5�=�#��r�F��T���/Al餜�crE��Ǵf�vYi3�"ڧ���J7�}���t.˷���Y��kjqi�O�B��F��o�|���p�J�غ9�v�mbA
6�td�">�b{�tF<�vϊ�ٺ%�_�?�]�N[W���,"%��v���h�`SQ�`Y!�"V#���Z�	$�m����e�rq=�B�F����g��V�.J�;�{��O1�q���/���ъa��D����K��BN�k������6�ۊ��Y�O��	�"P�w`p�观�h�`Ӧ
�L^��g5���_Q��)7���)D-O.�$���U�Ez�����6���Sb�l��$�0��+}hT�kR��[
�X"�<��(Nf�ph�Qօ�>��C�M ��a$��*^cԱ"V�OG=��n�!4e\VZ��9!��b�� }����d�#�	W���	��(�q�����x��׌�RHV|T)j��.`u�B����u�]jA8�����A
l-���V:�E����u9�TST�6(�,3��������n�����6�4�7��"=m�,�CZ�N�k(L
d[-�����f!2�*]g9_���d���%4�n+ރ�=s�{�B�0|
q1ov��o���b��l[G�����珻/J�&	��X��?!��j��"S��/֡Ѣ�Bʁh�c9�a��Gŝ��0#��V�xC�:M���ǘ����sx��6Z�c�*��ٝƍ��n�f���G���'O�b5L}���zm�xw�����(CViǜ�|�6��-�<�r{�\F�RNp�c,9�
�a�w)����_��l�W�o��ÿaV&^���GX�P
U����Pp��*W*d!�`�|��ۣ0�7J�^��JcP���
#�	-	K^=�S@!�I)�$��
����L�vEK(���3���ȝY��=���Q�%�1.��,bm�j�n^�N�w��*z�SNJ*��P	t��^6�^�%��5�8
�O$��jW	�c��3�h�E�=�@;fE�t}fD1��IO@�?I�z�?L�0��zє��/�TU��q\ϠO|�F9���\�m��B	�݈/�~
-����{��o��<�`��g		�g�>Qh�|0�1~m~�Kz��)*��\>l��xiۃe$W�Ya[�f�M�Ov�������l�~M!�|2��8�-'��Fg��4��ivK҆+���=�=������"�^�o4R� ���|��YA�\wv9^؏�ވna�b���/ݢ�Y�{�)���4Om��=�7r��UA
\�_4�B�R����@HD	i�,�>b	)�R6�7��g'�7��J#��[�nŧ|���g�Z"�-�Yk�նC^���.�8��F@xU��n���r�vF�ǭ�T��:O ��֫P��ߝ!eR\���o{�j�[L�w_ǿ~�KKW5!h���@\��,~ڀ�z�,��x�3�J����cLzv��pC�5D	v��p".�����Q0��<7��V�e�V��B�472���^Cp���%^U����Lבf�e���p�#:�O(pĐ>�g~^啚�k�P��36,#Ϣ)B����s)�u�J�E
k���\u��*W��G|wc�	�1a�����;����6����k�A��y�T����
G�ب������>�3NY�%S^/樱�TB���^��3H��ul�`Q!������^��Z�M���8󅡈�A���SԹT�KE,�����<$<HE��,!Cm�n�j<ϓ"�2�c*�u4�9�a.v��̓Nr$2Y�۠�O�dԫ��~�x�U7Nj�n(�b>����v���zB��u�~������T��(���{N�/�vxD�}�Js���l.���z��ڪ��a�a�9�W|w�L�I�6��!jɯX���r���ּ�&�z�m��ۨ�OOO��V�D����F�_���N���������d�}ԫ�v��cW�|��Vw����y
��=U��(��,������
PϦ,f�w�D�$�x�j^Uj~�댵LM��Q�
�!8�������c��ȫ�����LԪm-�I*+;�Д�b��0U$ȩ��=?d�L��n�E�t�+�Q�PjI�x�	Ӣ�E<�y
�D��#��PKl��[��n�5�litespeed-cache-ru_RU.l10n.phpUT	;�Ai;�Aiux�������Ǚ&�����X���hP�x��rm+(��ZC�m6)��Ή�j����h��l��˒V�hi�W�$���6"��s�[�8�p��|3+@K�g��o�b����|�x���K������~7��/�Y\ϺY?����^���~V���|���/4^��n�Iy�]�g�����2���_���[�ַ���o���������������Z��,�]�C��?��	���ə�[/&�^���,���<g�����Kɋ�dA����%�v�J����;����w�o};����^�ɷ�s��-s�o���0�~�Yk���og}x�rg��w�d1����^����ik#3Y���,Y0�����u���Κku��0]�i��6ͬ����.Ŧ��V��l���:i+K:i=K�M�Z��6��|�܎GS6�j'??�yv����dd�w�읓�{'�'������y|r���ɞ�p��<2�<x��g�L���G��o~	�4xh�������-|>9z�����쎹�]s�U�C�<�E�$N>5�<��C����k���>���ك���{�KW͜]�K��6|��rrl~�oF�<�����n�ݏ*߄��i;�������'OaX������g���<�I̳��|=�1>1�닕�����|�	�̳�u?��f�fr�̒3�7eR�3�7��`O�5�<1?�7sd��Լ�	_h�u`��~Ӝ�n�KZEo/�1|n�	/�\���������1>�]�;�@���J.v�a{ͬ�,i�����d��Ϟ�K�}�?77O���7sy�����d~�bvB��2�����1�%ɻ�Y�ŕ�f�l��$�NZ�f��G��x�Y��N�-�Vѿ��96�=6c3�j����d&�,�#|n3��`��wܓûƻ��xl~�3�������w��}�6�<l�v�u�'�Y�*��‹��O���i�6
��v�<T�Q;�$�l��e�j�v���͆6�{���}��=����a�3|f�FB�
	̾|���<�ȟX<z��#�@��'����n�]���4��� 3;���Ut��Y2O�N���E?[��)5?y��{��Nv`Q�]'�������f�H���o�-4�/(�d���3h؞�G�B�
\�fF�̬�e���98'�������a�Yd4�޼�ㅿ�+��ϲd��6�Y��a1H�T��i���y_eokX�7�v��f1,ͷ�E�m��3�ü�����iإ��g㡙�����P�M;�#����!n��������f���K�d��>>�o�����m�-�4���`g�P��L�ڠ#���*��Y2���d�A�]/y�G��{x��o�̚���\I���diپ �`q�̈��{���M��|�������B�SlE)�2Op���;9٫���zp��᠄��fY�s�=��d-�8sz�L����~����B�'pq8�}�<�1,1x8w�ݍ�E�_��=��х����k��k��8/E`��F'����|b���ON����z���Z��ċ�*3g�ԧ�c���h�Y���	Ϭ�'�fA�65��,�/x}�n��=v�ǰ@��0�띓`WxYӋ�Wp��-,�_��`<%v�����q%5&�:N@r�}^cTp�h	�×��� 5|ܺ�W����6}��:s\�z�>��s]�G���l���^���r�W��z��L�(�<����^<�M��qnK3YZK��a��0~��2oe���.���Y���pl[��Ұ?'1A^���7�7��fw����d�
Z@��֐���$3TX'f�Ʌ��bؚ�X��|�K:�`=�O��!�<��Q�:��2�x�6Ν5�����2�:uW�֎��;Ļi��N��~��Hj|H>��_�1��J�K��5�LҒ�Ű;�u�[c��'��&d�a9
����޷6�nR�P��a�1�H՘���8�s��P�z���[����(�	Ly��R�n��Y�x�`�'v��w�o't�}k`�pr����0�}�:w1��˓ÚX���3�M/���Z���;�����}�c�F�y�J�p=�,n{>In^�z�^8Z\���į��j1���/�]�M��{�X��f��ˀ;��l1#��dg'IfC�w�ofv���^RT��2���4w߆9T;�Xŭ�6�0Z�b���R#����E�7s���-�/��U�x���y�@_�5n4kf��G��g6{�"���̸5��::,0[���vE��61&�C�x�b�_��={`Q�`��+|�q�.�����\yևL�
�O�D���OLǗ~8�>�Yk����;�����ػ��hb{�_w�U
�6ǚ�}��]'3,�7���u��C�YY��뿔��	�j^}�F��,��:�F��;���>�L�}�?��p����R"�F��#Jf�,��̀l�=�\?{�i��:p7kڄ	<����d��>��R�R���oC >�|�����ή)�v���r��a��6w��AM��n'�f6nJR�
�~�]��?���?7�5���ڰ�^�e<L0l;�.�q��YJ3'��\ɻ�oQ�5�"���M�*s
H���Lջj�=�T�:��h��;�x�-fB�$�����VM��=���ݓ?xG<(�@c��)Sg��jXt�F}��b�$Ωlo�!�
�:��MyNL4$���{�i�+�k�.T�eIœǤ�n�,�����_W������+���#���4�8��)�����mY���4��1���s-�x���l�D�;o;����.u�G��2��	��O�`4���B�s*M��������5H�P�%����)�HV��$_s��,�Y�:T�a�DJ��9;3��H��'�;�.[I¸��M}&S&����8��7x���:{	=�O�A�jA>Bg{5�����%c$y��4:r�֯�a
?r�8np���*r��$O�r�X����fL:E7�X�:�;�Esh\��"��ZBXe����k�h�.���3c�����Ӱ�ipr�l�����LRq>T��07	��Cz[�5;dL�Ks
O��/n�m�2�e���6��r~u�:���X�_@ni����ÔB��s�ڷ��]|Y���k�1"�|ф����2�P�S�=��Q�nGl�bL��o��}t4�NU�d�S��w�2�^߄�d`�d�_l�����	��ŋ�6Y.�Kw�M}<�0�7�wJn9fg1K}�2D�xAc
�.��t��۳c�'����q���E4��o�KG �N
�xvP�)��d�An<0�
ξ�s����f�S?��
z��啥d�S�n���1Tz pcG���7��W�k���x,Y�]|q_�Q�ɚ�5r�y�IbF�?$����vr�^�NԻ܎��&�̒�����<�¬�US�\^:�6WO6�	|�Ng�Wt�rØi]�eWs�$]�86�ZѡHaΛઉ-)�&`O��6�a
a/ש�㗶Ji
s�]�{��{xL��d�W���ô&�,C�y�<���W~�����r}�Ř���AF�Xw���|>H:鏶��қ��ݒm��l>\��)�)|F���-��YyJ�#���K�ꯞ����C*�-@9I
�"K0t����������]:�+���y�<3���Fu:��|�#���V�E9y��
'���>�g��Ɨ]�
����j���f���L�����P��x]c���2�h��6Ѓ\��HH���Z4�k���_ki	;��E�}�S-簝���{8������q�F��m��P�5k�]�y,�P�5��6A�OG@��y�͘T/��w��2Y�Es-ȶۀ��G4f=4p����K�l���AU��2��8f�ڕ�H�6����f'c�˿oӷp�&e��a��<��51��`�=H)ײs�J[t�0ʵ����CÕXH�|�.����}*��mrm�b�� ��������9�����������]�n�~�y�%�ԓ嫯6�ח_�
5�ǒo��f��	H+�I�d-ˬ���x�F+��uR}d�rG•�H��DnA?�4�)��o���r����{g;i��u�A���@`i�3p(PZŇ���*�`�;���Ƚ��H���R�L�W���2�4T`�q��(G��n��F|�0���H���Zn��5�W0_fC�]t��AR��~�E�ґ�U�������A`�Wo_5(}��1��X!�`w`�@%�Ty�:�;�3�ZB�b��L
Lyf��sU�c���U�kֆm��̘R�X�嚰9>Ϋ�b�ݙc�7K7!�R�a% 
�s���d�l�y�7�+�r�}Z}>Ե�о.�|U%��Yq���p&t�S����-�UǬ�[�ճ�+0��a���j������-�H��\|�y�.�
�Π��y��UAHQcL&z~��8���6�+���!L5˩�l��["��y6���:2�]�� �C�8(��;g:!7	��#�a��vأA�U��)��g����!%�oZ��"L}���3j^
���Ϸ�Kw+����رu�!�B�֜�Jx�����Zj��<i�;�/��/�Y�}�=�����N&�q@J�e��t0,mn�"tn�����*r߼1��b���6�J�K�0T�����l�w�ĭPTD�}���fv^�`�-�����Z�t���%��]�6���a�NvΫ��Y2Ƽ2�uixD9_ͶJ�4�ǔ��Ր�N���o�~
4��V?��0��31cSF��>���m�d������p���!��x0z��!��<�.���K�1�c0�`�R+�>Mt�O�X ����G��v@�"��a�!�\�6��;<,�҇}�W����+�~����0�9��FƃD��R�4�A5f`��j��m��^��@%��֡O�$f�a��
z��W���*'V�qQk�nOQ�5�?8��PCڋ�S:T�A��8#��)�)6�L�e	�4�
���+��]D<+����Qp|D���"�Q$s��"(�/i�A��.�ʰ�L���
|��g����ր��Q�>� 9�*���	�Ku�:�S0+Rg��JC��t�x�ĚS֋й�F�!�i�yڙ��LY��/\��Ԏ�9��/�6�:F�������8�A��7����
 n�2^+Z�����GX��Hƕ��\�m$��0&�s�`����Fą�������M&��I���<e����{l��YR�N�#�W�I�
���j>�ga>}�Q=0��62���F�"l��
	���Z}�`[g�!W�O�=�'�25���d�4���!����}�HE�mx��+Y��&o�����A����~CXϵ��V�RUP\oq��ddu�4t��m�q�O���I�a�&Ƒ���%1�"�ґam����2A��?\5
)�ɡ9�?�j��*_�倮�Lů��|�7�QPNki�`�=rN
M�6��&�1:�N�_��1;�l�o>�`7���v��jel�hHB��2�<�qK�͒>{��tXH�O�=�3�dQ�x�w~�|}#K;f��밋�w�+��f�Wx(������|Y$��Vh��;�vcD���#NM7v{�*^�bF�E����
Mε۰~�-�?�.�p���rJ���)�W����9�6l�e޲g�td�ٸG�^��c�ro�e�����}Q#���{���m��,ev�C�v$��fPf�cڢ+�!ׂ�{�,s�����Щy@��k�P�MMQx��/����S���
|Z�����U|��G��b/p��{�px��1�U�>��@&�Ǩ�M>��;���(���j����[f���7����a[��s��J����J����E�������4ՠM!1+�K��|��!l����8d��-��mʜ,@ք:z�@7�[7�U�=δ�_���~n�������R��ٴÙ3+xK��|B3��~a愛o�����oƞ̮�?��L��Ѻ�W�K�Π�&e�e�j��MS����]Œ�4IV�*T�_5�՞^�R:�![���`�T�V[PF��9O��W�#Ac�86ERK8ݥC����0H6�oQ�`�V���o�vR�2(μD����^1O�M7ўm���q5��_J�2tH��~�����ym@j�#��b�ATG�����h!"��2�4�yV�
��x׵z��g8��mUk,їR_`	�6���\�q��{��X�fϋ�2�Hf�۹�?��ݠfތ�@�~�#̴�q����8�q�C�o�+-�W�oP���8�u?�#qD*��A�Eˬ����VQ�o�#Zm=�5���@PAai�X�a������o��}�Y��2����'�e��Q�)�>jV�#,Mp	�|�B�Qqw͗���S<j$���
zǐK��
��zb]�cgn�PS�m��X��`�F���fP~9U�
���-cM��Ԙ�D����_,�jw]�zr؈
R��	X7�(P핺[܁�f�H�q�p]���=�u�e�������3��䇍���V��N�_�'^&��4��>a?  GI��=�Gr�#;�2w%�4�:��ز����o�rK>��]o������G��m$1�su��"0��ep+�&
�d`�1r�ֻhL
9�D8@��님��º��?���?��ܑf����G���f]����7�괊�M������$:�S����W�y�:
����pܭ�d��B�q��|ay�~M9oE���6�^�2�ji4�9Ģ�Fj��v�=)Z�Ls:�	4��-��F�CT��TpѲMp����P���F�!�eR�H��4��¦��s����𮇖Mox@VІ	ƙ'ʸ̒���m'[�s��1Ѿb��u�G��^p�����l�{*�@3����(ꖳ�xD�I��P�R҉jتb�k�-�v;�f@��Y�`8��ax_s#Ե��G�>�m��%5���h���O#%��<��N��򈋂ܞvD1r�l�Xhm|ud�k)�,����"�Ҹ��
�li�k9�
@���Q�b"�-j���WO��x�P��8Փ�LN&p%wm�	��p@�@.���3�&^��W�i��k+7νz��MQw�~	^qġQD�Dzz(;���a>6�#���8���_p��])���Z{k���N-���t�K���ԥ�'�^!�a�'l�td>�};�v�2�z�E~��<��>W�8a���0��5�W0��E�a9Ms��O�3�O|T���Y��	�E���= �i��?nd�f
ou�8Ħ�n��/���{	M4�jc0x,�|I=hn�M|��|���Pi����:ķ荺 �_g�����d�B!�%�Ń�6�
���{���%���m�]�P��̌���.㜠L�0���X�]�G ND`���w����⧻����@��\\�����/��Ј�X0�CY�u�^�j^BH
��B���4V�W7���OE��_�Y�:3&H?3�,r˸w$}���!���jK�1�J�
�?�q���W��6;�����ZW-T?�r~��We�{�2�� b�5��.�x�7ai�D�;v�d�u��A���
����؎m]���X&j�����K�����wBM/���g���NPfYb���O�}��=��}�1n�`@ĹKe}����J�N��!@�!��y�!�/%���%ʉ�՘Q�a)HZ� ����:g�m勐c��\�}��C��L�y��
#�M�NN��7��W-��=�y�!,�D���/�q��9j��e��؄S�y�2�rЏ��N���/�W$i��?0�7`�Sf���	�ƈ���P~����}��7��I2T&��U/��	{��;e�L��L���i�~@T�j_|e�=vO;L�N������s@�n{�4�ؓ�A`�1����)�d��*ڙe�kgf�I��Y�{acM�ӯ9D�!�+|ˑ��T�dZ�7�_IVLd�ڰ�)�u?1���.�ؒ%�uv�y��,�}�5����L���
�ѫ��!i�$��Є1�#rV���P]��-�=$YH)W�y��H���
U�G�)[&
�Q�-�`���#;�3
�����-�a�&@T���X�������1�{������{��~X��1r��q�eb�~��a*Z4�y�v�W�Nq��
�^��>�`c{U��b��聊��6����}T2G��B"=��Ī�$Lw�<�X��J�2m�M�v�j���{p�U��=��@	�H�'��o�2��Q�U ]�c��M�QM)N��TƄ�=�WG��*��'�s�x7h?ZIoJ1��L��oK�x���l�W�I���׉�9�{ʥ�>R�AG�,���c{��?��ҼUH8��Ğ�%ʃ}�O�5cOz'�n�z�&��.�kB*ԏ�[A��Z�n�m
ʄ��3�X;�3~�j��t`K��i~�k�D�n�D�CANT�Tp3�mj۲R�
Js�e���:&�f��7�˟��2�+Y>i"�u�k�t��JS
�!�Wt�[6^�`,s�k��l�$e�n���YN�{�y�v&O�D
��%N�w��˺��CY:7��n}�-w�[�vy3�Xc��)�'�ix�ql����Uğ:&�irsؐ�ĺR�����c�����_Ŷ1=ܺAI��2�)�h�#���-�N�Y���������I4�f�]3�߹��x���\�����F��"+�1�t�魌H�mn��k �x(sP=%��#W��<!p�$���8B����CK_��J;R��P7���<�pq:ȧ����5���g�����<���X���#dbP�:�5����!�?^[$	'j���"�&�����.
�D\�:��Bw���K�N�P
�ba(���S@�R�1:���w��K��'�84��JaH���E��ٞ�&Y�>v��l�#�K,K&b�R�M�v-Ɍ�E"�mnRkx�eA��1���zW1G/A�^�i��lx�7m�oh���1#���‹Ҁ�c'�.l�]s�Q"��Ю�]�@;мS�����T���pEwh�p��/��W���,2�O���<�y���!�p�|��rx�m9
��^Ұ{�[lum�!5T`b�4�[�Uo]��ir6��6۸°jy;��`�=\��jB�W�
a6m��浻]������8���4�
y����!so�6
���	M�K�cp���DБYwbH���M�Mo�X�����V�p�8�:VkX�_�Z�δ��q8Z��l&7�Pt[���-L��1�¼ȴc���Π	m�b�,6�~=�N��V&�߯�c��a�Ds'��RGMá!������s�8O�%�FA_ќ3o�>	�q��U7�
+.����\l���R�j�3ĵ�;‘�y���2%�u+Ml�mC}��+Txr�������{pU1
�����q*��v8�w���5���2g�2 ]8����W�W�
Q��l�qE�`�+`�R���E��	�׋�)Rtv��ӓ�'�h�=c��mn��@ӏ��#�h��9Qn�
H��jy\�c�y%#T��٬O����v�q!G�c.a�/�N�,���Rʁ�8�ԓ��	p�lL�m: /���\V��H�˄Q6�ue�g���P�{��~����n��6�r�#J����ɫ���/��a�[���"�!�:��m����"�t}<Y����_X_�B�	��r��������S�Y�C`"Z
dk�E.H��v]Լ��Al<6�
��L�m���@V�Z��l����!�2$h?����"`	�kS6�X�n�.T�T��~rcص��lk���P,��V=9Yo��4S>Z��j�>B�i	4�>�B���;P2'��y�*�=�c�p�#聩*�D� ���y��G����7��i4�e����X��&�4���7E��G��-�38`��J;q!�*o�?�BT��B����Q���>\����Ä!�;�]��O��:|�E
V��۷8Ӯ���˞�-z��Yf��؇`���Z/
z��4��ʹ��q+�l$oH�9k����zp;�~ �ܣ����n�]tN����Ϧhr�bۙUg ��Ml"��	D!����]B:�￁Nc�T���-%&�Q,>m���k�-B7��L�2ֆ;С��۸O���(�x�6u��Ӧ�%�eR�c�n�fo[S1m�����Y��<���-�{�0k�D:Y�Ƹ��E	L�K��
B��v��g���&�u��SF�&<L$�|��V�d�償��^oT.F��[��w\pKLs�%3�S�E>U�����rZ���,#ֆ�U�p=#��q�κ���T%,	�׳b�:�ūb��"c.�U��r���ɛy\���z���ϡl_5�Ɇ�=�V�j��w��I����?T՝P4������gO��Y�{�Y�	��{��ԩ��ͫ5H&wz�4����,~��<a��U�
=��,/�����	Ф�`L��Y�BG�E+q�[�'�Se^Vy��Z��C�<���A���*!E���ʉ�L^��R���AzD���<�b�r�m�)z�ݞ�#�T/��C
��q�t�K��2M̭�(V����8�Tf��>AZi|>
�z�j%݂�wh���h��uhEСd.C�uc��ag�V���{J(�����<,/��l����\�9+:a�Ymf����Z<Q5e󍤂�
�lĿI�'��e�\���0V�8?P$��Y`8�EMү�(Ap��t'�U"�V�!<S�aF�����ؼG,�V�=l�|�<��|/�����u�5`�a]/�8ቒ�!�i��Q���c��E��h��v��J���!&��݂O�~��7i�O�{Ax1���ɣ��}�\���XA�'4Q���SwH�X�c5������A�T�/CB1�SrܕhZ}�p)��L�69ӓ`���T{sf�3?_�y�a`5�<�kV������꾔�דײNO"��y	�(�R�#�N1\(s�8���h�E��aVhC���5�Pn;���^�)RZe(�����5kʡL�xҎU )E�&㬗�~�u׆ء'�WԞd�{��ZAD���LbKl\�:v D��M�X��tTf�a���&<�Wh4�TJk+��^/K���Y����4s�dҭ�W�BD�ՇR��4�yj:���~�J~$��٣�*	6�}�P�����R5@�9|��6F��p�����b\eM[�c�䗺O5�e��Zr��
�j�
�}U@�F_��e�BgF�Uo|K��j!	 �< ���kW�ꨜ�r���|lѷ�(Z\�&o��A9���:��Ď�3�š
�}(q^��}�'�L�-т%�G�Y�\��l}5Q�H-�3��Rf$Z�yj˖]���q�
,�I$���5�I��[I����Te���
���'�
s��P�oY᠒rR�x�8K)�M�l�饎�#j7�I� #�)�T�/q��B����c+�E
כK�:��Q�6��W��SN�.��Ƚ���E��lOJ��#	�2s��1��Q�^��ʊ-��}�O������0n��X�
�~��#:y��8a�f�f�n���uL��s��v�S^uDx�̳�92K��A:�m7�g�𹢠�If��Ko�'��9��!-r>܉S��t9T�R�]h���TnI T��.��'mJ�W(�F�&1]�B����РF����-��
�HX������6�}3+r�?*�YÜwT>�1U����a\W)M18ǀ���	3Lu�+6�O6��-�'���F��K��@J�y�XUr���c��ɺ~;��x�'�?F��ɗk6+�&�TSZC9�}�+�D�O FKl1�P.|Ќg�+�Uơsb�V�5�K'*�	��<5īdR�B�}8�Z�
W�����c����G�]�����_ׁ��If�2i��f�6&���	�|`v[�u>�;=tWh�ǐ����E����.�D>�-S�)ѦG��<�@y��֮k�s�;f|�nL"&�iX�K.a�_��`1�6�:S��A'M&��s#˸;*�~�ҝ)O��>�6����ؑ��T�%6����=\�t�|��㦪�!RJN�`����c3�	��.m�`�Ȭ��n~@·�T�s���+s?n�L�M���Sd�LPJt�lT,e;	C�i0��]�@.��P*��|��_RQL�{4$�t�H��!M,�Ԟ	Ep�y{z�U��ĿX#¼�{�j|Xu�i2Y���AT�W�X�,dvzsfm��†� ׏���H]6\�����?��7�B.ic�c�v��r�Q}�;�SFE��K>�F�Xh(?B2�n׎�܈�y|���SMű���	�5��C�P6��	��^����c�?B�t_f���m���L2ښ%�=[� ��뉤~ut$A<g�֍���b2��1 O�{	�HE�}�H`,�Yд��
4�̨���c:�{�G�6���#�$�ϑ���1d��$8�mۢ�;<O_[��Y�jg�53��#^�-��U�lv���RK��q�ukf{<N����,���&z�!��)0��-�tJ�
>���"��A�T�Ri�K�ב-�Y������ɧB@�E��Z����1�V�v2��?f� �8�?l��{�q�˛\h���Ĉ]A��k�?0�]��|��}hHˠUG��X�P\s�>n��m��kQ�U�
38l�G8���i�}&Q>��iTB�t�d�m��)㉏�;�@���H�F�H��ۗ�yR�����}-o��ę	}5�6\M.e�ϽA*ր���Z8�4U�\G�\D-E��u�;�Yʇ�sF3�Q�I�g�$M�m�3��|L��S��
�­l"�����Z񦹞ێ�VM��r���&��TXdʅ]�c�n|�E�u�2�m?q<~^�a���b�K�B��y#�f��Z
3���2)�٢�=8[�!f�I��֢��iʠ-�Ү��ֵK|,�?: ����[s�r.x(�X��n �+�l6I=y�Jh�W�e���N���*ݳ���e3YZ�B��k����u�s���v1D���m
�c�nBÞ�L*.���1��)���D�o�CzΚW"��x7�򨳦Xs;1
�����<�9��n)��Ƿ7C�oN�&�w�)�;S΂��Kh���&@a��C�I���T�%��g�y}�
�F��hj�'��
~��G(r���qvI�0�2t�":�2���:���bS�mY
8�5\& LxJ�4t������	/<&G�����=Jj�����c�7ﴑ�����F��i<ϱ��&�6sn��Pg_4s�uv����╕d!5άqJ��V�7scVK��筳�g��s]�eG�����%���2�
���-��X�f�[Q�a�%�2f��u����s4�F�}>@ȋ�3���n�`�'�[lC�Vn�k�&�7A:2�kb|B^LU03*��&��e�="� 3�'��-;�92�5eG)�,'�!B�י$�!��t3{�	P�Zխ�ř{э/�A��E�_���r�
��Z���{��j��w�{ o{ZtSc��ikq%B�B.���x 
ڱ�{W����k`�E�[�p�t���.Ө�\Έ�؟$<��4�(�
�5o�V�`�x@0��� �P�	:_@a�
�G0��Z����ӓ�`��ԉ�_�!ﭵ)`ۍ���ҥda�V����*Y\����<׊�4�M��P`"�a�����b�����g�F�H�	�\��D���ٳ4�z���0{
@�0�u�#fn�nFt�a}(�v�no2��n	��Z��/���4�KM.��Kvk�(p�,u!�#t}�$�9�ۉl�l�EQL��y���1�s5N�=�E�(q��X5�c
�<5�C\��l�w���ə-���*�l�-���$M�tb��,��ɇI��֖�=�`��Yy�s�Q࿨�{85F�E�)L�|a��;Al�M�MNC�_#���>%���Ii�	�8Lj5�s!<�O��\`/��f��C�բ���+�&^�LV	�B�l�<K��\��8_��$<��t�Z�f3�z0�)aQ���P�(f��5K��}�-��O�ܘM�nq���^rnZ���Qz�?�6P�!�A�i��QKY�>R��!a�u.J��o`��k���
&F*+Ʃ�ܱ1N��O�A��LH�W@��F�a�% `���̻BK
�.ۘ����`qa*�աq�-�bL䰚���sYn�Α�`�Bu���Q��w�oa�Z��9и�ɫ�R������c17���A����@s�(}ۊS[zì|�nF�68�ۗ魘�ߦ�1.�(ϟ�����K.Cg>��nno�O��;7Rsh>��.�fD���#�:$驜����,],|�`��V���m�R��E� ��7�H>�V��ێ-�J��8 �cN'��>��T2��@U� d
��6Iؖ���'q�����"S���������1~`�:����朧E�,#X�u*8]��JOp�l
���@�9'���[��"���R�1����f�Q��� �cT'^�?TD�T�&��F�}Ϝ���r�@O��?m�z�q};�}��qM�xBD�Z=��j3��'|t���o��}�� M�,-c�^i�����D�Y��9A�Q5�~�.ֹ�f��d�0�ё�Ь*6{��\��:��5�m/��<�|�l�1:���7cb�k	�D���C��{V�y�^p�dG�ŝ����^��%v֟�� lG"<�j�
f���
[���ֱ�U��5�J,[Z~į7�E��}������9���`[�=��gFح��G�I���F��.(��h[)֮m���ϒnZE�>�HS��1�H›��(:ӏ�[DN�����5��cs2��䦒����lH��
=�&��|쁫՜R:`d����8+��ӧ ���zp����wMI�mGE�j��-�\���58Y\7��$Q+�qM���n�4qvt��Ѹ� /ޕs�L ���L�H` �9l��[��6{]2�پ�[�d��P;�����T��\Gs�-T�C�d����r\a*�cq�x�^�d�'
�\̞��� ��ھ�J��3��:�I�b�'����8S������k� �9�;�Wo�g�x�xQ_K�"��"V��>*�g��QF����Z��m?��D��n�ZC�)�$�sX^N��́-�W����&4́�ai�t���s#2��|�{t?b�?=���:"](���\GI�U1�Z�
�E��?{�jpSˋ>r�{��S�C�TN�5��iiyѩ���׊���sNI�5�@���oe����`��M�'�̀Ux	$qC�(L�Gπj�1�8�x�cI	�I݄Ҷѐ�)�;��b"w֥z��u2���	4鄖�y�#�Õ��uf��$O�q�Q�,�Zӝ�P�bx��g����b��x���K�r���,{�f`�Ta�ޱ�+Z4���k}k�֨�cS)S`��`J��2�r5�Ŭ
��_毌��t3�!5.�g�mgw��e�Q+'�퀬Ӡp&��>���x���;$j�)4
`r�	�H=+�P��:�PLY��v�~_[k�v�����2:�2(����c��(��K��oe�[m�~�(M�2���{h
��՚k��8yxtkPWf�z nP�>.yުJ>ߴ��(��IG�Q�)�[�㏡'��?��UE^��f᳿̶�s�_7`��p�]�&�ȅ��9�8we9ϊտ%i�.SjTI;�`j�ُ12ܷJm�@��J�f�	�������T��-�
�����G�f;�0����6!���.yc;�@����"t��|Y���;?W���0�v3y#/��2��H�eY�r&.3�[E��PG�$���Ԫto����X7��a��,�yT���?B�h̤�r\2�?4�{�Z4��>������w�ŏ��!�u���?8���Q�f�$pP�B���,n������W�iى����_ɼ��cn��*����/ȥ�	7�����9�ؘRj�a]bey%�C����NF%��i���`.�SR&ƌ�!C�Y���C��W��ٙ���D.S�\�b%�#ǜ�h��N�1����(�9���_��Mo�7�_b�*���������M������}FDN�[H�w�%uQחT?����	�%n-MQ�دt[NOL`�-_�Yi�ĵ���5��=Q7O�yې����u�'TYz�s[6���ycR*���E4���*�2!�*(�'�"Ј!0�Pi���=7� Z�<�[�$ͧ�&!v\�>Z�!���Ê	nl� Lo'[ò2�Eۗ3���aq�8^�͛X
���p��D��ͺ�麝=�T���O��
��(Y��Q�MD���C~OsS'rg�ܕ�պ{�g�S�$�k=�<�VIJ�W�1v
>����Z����u	g��j.��<
�UG��&¢�ݎ�!�<����O�Ե������Hq1x�0�A�e��Ư̙�5o�u���ؗ���l�I�\|�G��y@�}	>��J�>�z�����yf�򜺩%��<�֡o�F�j�`�ABH�^b��6j%3��Ж6�'��#��e�.A�Gj�K8m���ӊ4Z�q"���0 }�_i���9�;�c)��|}�x��E)��_݆�H��,��Kz���4V��4����ȧS��nA$aߩ�B͌d�#5�R�f�����=8��!(/OJTw����*�����{#W�	�����I�
���Yp�c�V�=��T7dET3�`���ʘ�	&�ٗGR�mE�,��g1SXͥ�Jn��.H<m�pU�c��29K]�"N_u�P�*��&���w��+�1��F*,8�p俩�P�v���W|��?�.F)��5$ѮSo��O��_��̯�1����z{8��5_�J�:�	�5�7i���c�
\O�Y
dЈ�ġ��#����7d����g���k�P��R��T-��KU(�ul�q[��+��<���'>d�P}����wT�����yYj ,����Y��r8˞b3�D0��g�J��CL�U�E6�b3��)<������b��֘�w��eg�T�Xp�4���1����q�by�$H�q�w�[��`���
��#z�qB����8!�p~=rg�1��g��sݘ�~��<;�ߢ�Rf��X�TŮ.-�3��N㸝�s��t���ءd�J+3*���GYSl��$qo?|�uL��ǁ��>Yk���E��8u/�p�L���a���,���M���>���V8����NJ��	75i����#�M����xS&̞�8f�'`�_rDW����{��F���/Fh��:C��ʙ��� J���clx���R���1�v�Jmtf��Jyd�MR�{���=��ż��^rqX`�di[��#zp��z鿆��NtoHۀ�%���#�5�JNJ�+���DIj��Sg. ���S8tPG&�l�8�_����1u0�"D�xXTc$N�c�i0=N�D���=�,1�'�M|��16�4�*ybU�C5�U?���7�WI�]�+��*��wx�R�j"t�v���ž��6�E������km�o����5V�ä���i�.M#p@�]3�Ű��ǹ"�p�VQ���mV�&�pv���I5-q����+��t�R�W�������ިv�sW�y݈�ė)��Sg�5-+�!�'��8��6���f?A�C��3�����j7�;ɫ��꡿�uNE_�bAx�@2��|i�U"��X�"�X����
�bf��_�g<����q�z<]��Q�1*r�m����Ѡ 4y���)7fm1��3�tLYt�A��0WC(��`��ݶ)2��qH�sĘ�Àa�8��s�RЫ����'rc!!���z.���
����L.�C�
�4l%]�^��%͟q�,;�t±4��R���� n[�N8F��ȕ��+�����=�KP��>+<�1�����,+� W��=˕YB���Diy��ӑ<�]�"몽a�cEœv���m� !i�X�|-��%���a�.�l,�6��2_5}���k#:̐bbW�t�-��|h��6$������Q��!>\0����hq+�%L��D|k���Y��'�����wo�kW�n"�Z�`�¼��6�D��l/�#�8���e[��ĭ�®&\bf����M�3d�d�q�u]@�XB;೅M��W�/)�>��ܴ
mWZ�(��������W�o/�	�T�����1	����\U=ԅ7�^��Zn4-����i�U	
��U�ҥ�5D��@��y86߶^޷�g�(�U�����hZ��bS�mbEnC̻k�y�C�)U�G���{�>t��ǓPb���8ϐ��{�(�L��]o��*��N�W����D8�y곿؎�/��#JxW8\j�K���'Rچ�W�T6f���/�f���ԚG6�������P#y�?����
b��c44�	
�z�jd+VZ.���Q)��5A9���MQ�S�#—N�".Wy���tFTίȅC�S&��7�3�<��Eu,�%D���}���u��mσF2���`~�U@�_��,�^{�����9���f��k��B^~��lK�س���m�i�����~���ݬ� _l������������w��'�E��ص=��2��Dz^xZ�	���׵�w��H�R�Gp��\�#�0��b���K�f� �k��[� ��c���E���D���;�eN��xn:�
��7B3{آ����ɯy �\[��U����=X"e 9���8nio��B�n�M��@�ؚ�T ,��w	j;
�L/��-�^�$4��=8�����T4��ua��=&�Lw��/݄�z�+3N�:�<�bx���xr)�X9�"'ٍ��w��:�?�9�^��J�������Q2*e�[D'Z6#���ހ�굫Ԣ
J����
Ǣ�R/�bY�%�(�H��<����fc�樄�LXa�G[�qo������Z�_������0f0�F�U~J�l����O�(��b�
��Od�(�TXh�a�+e��6�2�$�q�)=G2<���z�p��X��2�౹�wag�!��.�`yD�܂fL|<���e!<`n��3�A8��
�7P%�L�Q����]���O*�c�ᰌa�_���H���I:{T�Q8A��|�,�x���2N�JwiY�3��,ݤ�����	�	����=��ڻli"� &���ȝ��J�օ�΁�����+y�e���2}F����I��d霟Ǣ�\-&>D5�4�l�K`�{��<V [w7���6�f��^�v™�C�N�����T�J����X�w9̰��s����Nr�0G`�)���m5�V�"�����v��v���[�䱽��z�g9T���{�q]P�M
���ٻ��=��j���>�Yn@�aƗ����	�q����6�w���L�L8FARD�AF)f�|3��[�0c��/��!6O^�jLQqk�+�8j�*x��v���wp^^Jߚa���ly�a��_�?s� H��꼠���C,�Jt�BS����a[�Y������Pv��#�H�e�R�t�8!w.�{�|^�6���o�����Hf^�>0�{Y�"�ꘆ�]�}┢po��Nd*Z��+T��!$��c�����$�w:\L�%i�sjX�EK�y�	�e^vZZ²�FKɣ,c�R���V'��������5���vQ3�V�E��O2&��PM:����(|�}�L?�~����~rE��a�5���X���0��g��<��u�
k觻�?�P?�r����9367��y�@�_1�|C�t<�����F�2p_}-ئ4��;�s���\��W3���S�0)"�N��_�\���>x�u�v�
����G!�t����_˻��B[q+ϰ�Gp���dӤ"wX���/���&��曪>��v �����ٖ��@��2T��G��q��w��������=������t:��?�p��t
x����"2�!��3)���k�1Q�8�k��>�3%�%������[B���_L7�M��f��i�k�$�	f�'����Ay؆.YυH�zV�>�˶ԏZB��d|ۦ�mr�m�
k<K�����uTM�D��>�'�0�J)c�*�''�RQ�$�1=]�*`jxBɲ��_)�6�Q1�l �؀I�����~�慵���#.�����&�*�Ţcۓe�tZ��:�϶/��3-s�M&��H�����^�c�ߏp�2��Y��Y��	��l�>��
�N�ԞV� j0�b���
��wE�L q�]�^�
ƒ˩:4�h`��FxwSd7NxY��̧6S*4�6�bl'�Ę9����D�aO����P�v��E�H`B�k��a�1[���0�`��	y��-�8�4z&���7]G�����,�9�R�v�!YB]m�'U;���a����w����]^Y�}�B]c�9kh�v�ʢv�n�HIy���$߁6�1����P`U����jA�xXpZ*�����j\�������E����iW��=��#��e�v�л��%p�`4�7W�0���U���X�|��t�.u����f����&���~�Ո��|�fq,�g�٫��1�DE��[���p����a�̆}`�
r�V�h
��/���Q��U��D`��@f���Kkɵ�40AM���U�r�H��c���B��L)���%,W�\3��)o�>��7��\pF�5I�u-M��w�L��4�H�h���I�|�D��2NTVšV�5Q��4�L�����!�5CK)l���?F���1�K�9W7G.�55�uC�܉�8�����Vb��ThTxョ@�1�C�)����J�<I�
�Q�+[f�r�"=H��zP��r�wAT1���f�w����k���p#��a�,��Ռ�㶺��e3Cp�H�ʾρW�KbC�ɇ�/v��8�_�ɳw�^?��iO��KX,�Lҝ�M	��Ч!�T��*	Y���ؿ�]�De�3v��Qк#�ɘU*Ȣ�8��V�V�����܏"J>Sx�/����F�-�<��vq��.�1C�q��E�0�Ty��}Y�H���	)-�ì�Qs�]�JRFj�>A�w`��������]oq����%ͪt@���� V|>��+�ē[F
.<	��ny���'߅��� 
$�:�ׇy��0&p��[�������c��H�M�%B���.�O)�,nVqt���z9��d3�~*
�1'���O�E�w}�݂��0h�0�Y�A�,�!̈��k�/�����%���>}P��4oLi���6�s;1v�Wx�g���i���>|[z����C��C�3��w���OQ)�NF�_7O�^$N��%�0�������@!Yj�4R�)5'-�"�ա�rn	9�HIVrɞ����L�p�Kڽ"7GB3�U�j���-…�0~^�!Z/�Yϓ�"��N/p,�4��E�J1��5v���1_j�%b\��%5�'� �XPy5��r�M���G�/nJ@I�ep��̲w������Y
H��1�F-�ҙ�jk͜z�O�r��~����AO$+���g��ܖݘ�ʼ}�;	�ݬ۞Y��m�@�k�m�새r�T���P0�_ɧ&���,��~;#�C�
8��H�X<u|Sq�ze��Q/8Yy�Uz�QUc~Y������f�ω���S��uZ��'���$��C��|��CT��Ba�ՋODF�j��;(d��"*�}�ђ�C�4�i�j+��$�<J�H��P���ҿ��6��.I����)�TX�>��Amb�Ws���z�)ߺ�C` TlÔ_�ʋj`��2��K5��lozW�v���&;�"�t?t��c��v?���T�y���4Kk�~-�Εz)B�Zн����Ų�¡_�AE��[��޿�++S`ˀ�7D�	Q]��TV���־L�D��ƩgZ��4v�Y���F���"��	���oQ�
�z�7�h!�<+ϟ�����*@������9��!�2bv��^�,8���Sk�%�@n��ÂW�L�$��{�T�8���ۜ{4�{�*W���㨽�
�T����Ɉ��|��v��8YkـbT�"�����FH�›���]�A��	�W�*�$
JD�6������4��=���'��B��t~3�K�/���*���	� <J��o�j��ԹE%�u��]i7�Ŕ���y藋*��ǖ�n��M����s��M�s�qj@n+����H�,%�nle��d6j�+[���?���KAA�^,U����ڲ�.�1�gs����A2��'#Q�b� u#HԸX�9���=�1����
��RB�G�m!/��<�!�D��H_:�����Go��_l��0��/��W��
p�/R&�"�%���Qk�t~�K�0�r�/��0���G�R�e�;l:�A|�^����������-���'
�C����圦�(�VX'�+rڠ�2S(��LG?_�!0�l8�����
�?�°k��l�����>L}g�d
����y�9d��q5le(A�oNF?�mx<�'h��J��o���n�����Va�+�g��p��G�ڳwFW�t|�� ���}�*�:D�]њ���Cvٛ}���},�F˳I՚T�j�9�:�k2���a�{�T�p�=Zt+��l�nj�	��L��"�Z=�D3��[��5��
Y`h�,�Z2�S!b��+V,������ |@_4Q�L�x�x�����n�^���z��M|�~F�bAސ�e����[`�����]j� �r���%7�-�5�&�r��z���v�+��?0?����3>oG
.]�֔�j��i��8��e���n%+Z0��ْs�:�b3N����)�O����X�|z`���֕t�AO� �n����2�u���ʪ&#X��
�l�*���A��1��n�P��KטE�o�b�;i����Q˪��$B�Z�k��B|F	�AW��̭������|t�F�Q� o��@�7��rb��tb�&���Bu��қ���d)��"M=W��ha�C��!7�c�R4x�TǧLm�tG�0̢��\[VP�X����z�..1Eml���̽t\5����'6KV��4�b�����o�t�+�!Zn�a�Ͷ\�3/�	�
�ْD���]"�+��s�ٕ����5~U����w!]���Q�5i�-���有��wc����\J�ʳ�b�u�dr6(��ͻY��n�L��oA�l�<DPx��f�oT�9�c��(�7%
LD,�v)����7�v���/"y�K/#񛹸�N����}Sݫ������;�>G�kP	�?�,�p�gX�_/�v3�Z��e���ʅ7�����#�C|H�1�� ,E�hhT�^ l�I_"Ї�@\�X������^Vi���"Mi�=8��<�a������~g�~��O)N�
	��-���E��y�j���
���N<u���D��7�j��l�(l*D�1Ռ�]�]�n`x���fB��]֜N܊��c_:��Dg$�&��T�hB�R'��:W�6MS^x��Y�몽*f�{ �����W��bv�E�+�%8*����~��Kn�kX��o��Ev�݌0Fu�25l���
��Ѯ��x"(�, `	��O�%Bӄ��m����Z��T��gZ�d�4pZ��kd����,U�;E	�I;��"��(���@ hY#{�/��{���s�b�iP���2~5�XQ����4NASDf�8�o�Nˍ�"�}n'2��I�����x��Tp��[��$Yz;���XIq!�0/�m�k�=�� �g�����Za(��	v'�*ƛ6O]6�a���C���m�ʥ��}-�������7;}$k�\aR��sl��[�[��n@����
͔e1�ֻ���_����v=�P��{�������y*m��`I�ڦ�B�F�����u�<D�+D,�s���#
ѵ>d���e�#��|�N�
4�E�`K�ؼU�j6���i/D�|��H;2�+iY�"�l��e(�M��`�ٴ�f�2��V]T�'�OU�T��d�p�Α\0偖H�d�V)[�ݵ�1
��G�
әRQ�%D�䉜�+z)l�*Y�)/V�M�o�x�q	uo��+�:s`����HRž;5Q��T	����Y'CM�t0��E]\�-�F��Y��J���--�����~�>�J8����3�l�M]�>��U�cj������__�ϣFu�p���j�Zv[Ԇj��	�\�J+i����%XLp���Y��/?��z�
9Bi�1_���m_��R�-�Ă�*�+�[Xo*ŀ�?#(7_=���+Xz�{�"�GA���ێ�=�^5?Ӵo�m3��)
ֆ��i)o����D�{|Wrk6�=�.�=5u]�S�ܑ
�:w��N��<E��\�6#�;O���\��T-�St�>e��_���s6\*��$#ᔐoã{ɰK�.�.4��}�����j,�2�\4�0���*�*�'5��V5���w=b�1z�qc�ɩ�߷�,�[�!�.��)=C:o��rͺ'�ZO c����Qŋ���puHG���F�*=0�Y�鳫�8{}��YI-K�C�kKK�K����I.���[a�&+�W�K7���)���>�ꕈ��I��G��A�ܒw�	.��9����qZ���:�+p)�p�B��h���PN�T�^���͛8O��e3�Q�F.c�V�ef
��ƹ��%�2��	y0eC�T���R�G��0v_��<�T��Vz�E.����޴�Yd����9��{iէ_}�N}�ك��H��S��$Ȕ}�\��Z���єԎ���ᄳ�x���^e��iy�N�W���1;j�!����0�R��t����_�]_и�:�%���m}����J��g�R�i��G�ϫҵ�{DV��X�ب��m-�}[���m/#j'��`�G�q�{��p����ޯx��d���O�l��ro�4��ί@��H�N=����W�N%wa�0;�3�s��o�n�vo��)\i��pb#��
�o�H����+��Z$�m�g�u	1��	�-�
}���W���t,s��<��

�sq,�wp��6����O=�*��l�rZݰ&���%�b8�2W��}</��B���ET�3���&"�f�4",εa,��Ӻ����+7���?�L�&�$>
��T1W4�ln
#�h֨���儸�������<�ҐV�҄��cF5=�f��ڪѾ$�R@�X�Oȝ�'#��űRq���~c�q8����آ��dvm�{��q�U�;\ye�
�03�qq��?��_&S��k.+a�5���@wM�Ļ�v����>X�ā�Gn��Ĵ&�w�J.�ny�dLC�D�
��Q��q��/�E�9~�:s��~�,�����HN;���S����a��)��}��ɡ�%��}�e�x�����iKgO�*�ǚ`�v�Mw<I"�Ѱ߫�},���I�#˞ů����HȣEA�b��GIR6KǨf�JS� UJ�M��:��dN�"�r$�+yI�WKfA��W������OO���v�%�)6\���	r�&�/[0��t����Li�8k����J�ќ���܊R�o4�3 �[g���`��'
�J�ч�1ܙ��� ��<f����B��=��.0��h'�]�	����J�y�w<��r�&��M;�,mo���oCx.a�K:M5�)Sn.��fl���N/��
�l�ƹY�p$�*��7��ə�!��JS��	+M�ys4e��k���^���/�rn�2�U��9J�a7�b�斟zTʃ@7����ҿ>{Ԥ�]4��o�T�:�>�7�nt���mh�[gg����/cp�u�Wq#�J~ˣ["':�=Da�uM��`	��m�V��s�1�J^K`%�C�*@;�)O�����P��9��1�Qt��s�����B�ԉqV�R|(V�L]X������j�m�1�#��r���2�������X�1L�7��AP��Tq�6\�շ�ƈ^K�H��,�r2�@}HE����34�=��}��C����r�ZQ�~�յF^�Q���b�S�OY�h$�D����9@��
�7�
��t��~t+�Ƅs�PH6�m����ɀ�6�+����Q�>�w�϶��� �k�۠�������R�H��M
S>1!m�a>�W'��[���3h�S��lTA
Vi�"��	_j�"���j���T��:�x�{�ՙ
��z�)�m,.�m��f�nR�lg�y��ٰ�t�H�)�˜�W��{;1� ����D��*�1,}��z=� &ҩGq��ؗ]-��BQ?��:�p'MN<�)�IE�x[M�f�,��kMŮ��P��4��~a8[��b��i��'!>I�p�VeP+�&��ݨ�@�	'�q�B��|�:OI:2�<�ٵ�)�3U&e����]T	x��g��K��h7q�w'��ɟt��8���?ٞfC�#&/7S�J��&&v�� ��������^�+�H�ض�G��<�6+#�"&&ߑG�,"��[��d�?�Ҷ���C���$�:L)�b}B?kj&��)�n�i0�ۧj��Dv,���ԭ*�������n���͚����&Q`�ו�A��̻��+�r�s�<ȑ�ڱ�J#O骣�L�����Z.�y��U��L�Կ�<�g��J���pѬ[�145k���u��O��/>�;�s��)�DPf�(���G;�"�賁 �c��C��0�qw�8��֛k�举0}�c���	-mRn��"��I���*7~
*V��c��V������LՌ�H��!
�D�L�ɤ�]�^	��b��S��v�`-�w�y�g�뀺�NVA�^�t��Β��q�mhD�-�	Y����4%���F�ݵRԊpށ�z�
���{��{ZU`<��k�����|�v�6	ƿއ�ƭ�"��1Q���+�j���͆�Y2t�j��hN�]�)�׳�"u��I�-p?�{T�**�\��s��Z�]��宥�w�D��dy: �����+^��^�	K�<�f5Vv��ϞJ�[���r:��b��&4���o�ө]$W��0�-%_�����
�F��.����K�2/�Hl15!D�p��TYk�l�b�����W-k�
Q/�Ļ�T�K����GU�r|����GL�/BӳV�7E�$�AZ��~�y��8�@��]%�.�ڬm���ſ{���lU
E?��s�d.="Fs�κ!ey*7�D��&�[��ρL���0�E8Z9�=€�š�0��u�ס�׎�+	Dgݐ^�N�|������4I�n�n��aѻ��2sTڗ�T�����+c�w��^��Z��ؚd�ij9J5�w��Y�A���~��\���W���>Ea(	�X��0���~5�6\�U��K^��T��
)���&5��aj12�V����S��U�"����v/c�|v�LV�;����!���\�C���X�9�u<��lxb���6���0Oaۆ�|r<	���@];r�� �IV5�(f�wP���`*C<#lEJ9��C��]҇�M��W�$�C��%�C�
�Z�|�؝�N
X�s�d@�j��/�xeET��s���;Xf�+�<B�*n_�p�wj�q�nSP�[�}�q�n�1�f�/1c������)u�������x��v���⊲��t�bk3m/�P{xɅ�3Y��+q���N˜�� �S�<
َvUg�H}�"@f0M��l��%�F�P�����]�&�dp��[q�DHq15��O�߸�b�z��Ol��z*����܇vDX��������i=���?��;y�ǝ|�6-ܐŕ��/3�=e�a���Z]����*�Έ`��)��1�,�Uz(<1�b��,q�X�G����%����@5ہ (~Xǒ��z�}�fFB>b{5�BVD�H^�9�b���1_Ϭô2��>�t��`2iJ�m��]X���M۝O9�*�\�l[Rz�D@�,���ݙl�3�>2�T���_Y���b!��f�݈N�a��s9��1f��:��,Tz�sh��%�_�3��ͥ��[���'QUr�l&!U�k(=kE�iQ 8��_ e���6�!`
؈�(۰����٬JR�)U|ʪcŠS��L3�	���Z��W9#����@v�^-
�%�xa����.X.	+zҕ����|?'�G|6"���趵�}�U�rs�g���]���Oƣ�”-�A�6�7�S�OZ�St:���P>T�>cZ7�����}�N
�K�o2�@�����������M��|k�U��2;��s���LH�31�ѻF �j�ϙی�X��8Z���;6����E�78���L�E_�r�pbk��T��K�p��d{7�s���Ǜ�r`��ϋ/h��wKe��
-	�>Ƿ��Wmc�&t�����g�j?5V¬]�4�
j��v���/��ubI��d�
$�1c1��hܹ����KJ�2I��6յ��	z�@�eӟ����܄Q���IL3P�i���1�:�����Кa	���C����N>�.���*Ml8t��j
5-B~�h*>�
������U��*�e��4�@7�7�*��Z
�-�*ji��O��}�/����(�k��"�3���v�W>G�����xSM>IҌl��=�E���ylO�#��l�F�
p����i�B' p�\�O�Dٜ2s���k�s�s�,�ʧ��n�#��6"�Nkxٵ�X�F�jnXMY�M�'*T�H"H��1$'���ہ���9/�gA᧕�b )��Iwˋ��5bf�����|@��H�|m-��Y��n�o8c�� ݕ���o�f?~Ӛ�S_�#nT��i	f�B�H�c'��=?Ʋ��SO�o8S2/%�p���j���Z�t��=Œ�U�0lS&���3�4�J��>
�?���K�nOr���ZK�P!�W|��
'ƩB�q�o� �,Ąj(��e�k-�J���n�,�T݀��H�'>��>�P�	Y-z��c#~�G��z�	���;*Q�P`�׎u�9f�X[M<9�X� ;�9*��	��!�&°�}�r�r����SL��#cW*���`\GK�p~=Qt�r�w-P�zޮ{����y
9C3���m���u"�"
ԑbi�8�t���+�JH;=up�b,z>@�
���[n��l+�c!"�rI����`��E�TwH�]�q(�s��t�5q�����R�R��D�F��1��ŀmP)�����HA�@-��W(�y�$�f[+�F�WED_��Nk�z*y�b�������Ibɽ�����8+I�sMa7q���y�OEӎ[C/�5+7&ON�^���JH�g"'9���RQ�d4=�]�J�`F�0�`���$i���L%�������0K�B�x�h͟ҁ��u �]f��"�9��ԁ"x�b8B�
���ɦ=�ɥ`8�]���	p�Ї,A"�mA;�+=^�"Ǝ������������2�;U���#͖�|����N,4�#ɹT�Q!<^�����YR:�m���x�!ayo�:�+a����hyQ��!<�`:
�P���P6��p61��#��Iq���oEy��p�n�j��m�l���b������}�0���<��B(���
�W0��n�l��=�x��}���ӟ�;}�\�}�>�G��;`6�������/���{��s>�<$�
�5v/�v�^<NxOB��	:2z��h�T_q�a��{�Q$
O_D�GY���bW
�(�F���1m��_o��&��Tl'%'V�zcmZk�7�jPJP�����[�`�r�N+��_h��k5���NQe�kn�t::��P״��Q��Ѿ]ȫ[&��1gy�[�j��}W��0��E7h&p�^�)�!t���u[ЬեKR��
B�S�X����)1�Y�űC����!JNt��v�{J�.ŀxl7n~���B��9�p=��/P=�e���o�d�O(�p�^�1%����p1��(�/]h9����~�b�~\�K�À�y>�C��°�����hg�S�e
ŘlcEyv��cd�ɗ�rp, �J��Xm�iI��FX,tU�GA�����h��0�1߷D����t�G�{�ǔ��l
�' �	�+�R-�0igS���X��6�[s�"Z�J�M�ML�l��K�@c'
v�HPުS��'�
OG�J�q�)"��'�h�q9�������8K?����V�pN���ܸ�w�oB�CB��4 6Z�D��b����zPc֖����7��ܼz'��44�.����B�-"��y�P�Qu�~�b}qͨ�&碝�q�91����$ �Z#Wk昿Y�8��t'B�$�ܸ0]��g~��#{Y�z�Q4��G��{�I�֭�yUu߂������L5
0�$��)gWo��e]U���*5�rf$11_�v�YaJi�ak��JadJ��������ED���������(�BvFZx=JX����!q
Cp�P`+�����\X
�0Q:rJf܍�.ž4/q�
S	�W-�3�#]�g4qêU�(�%b���٣`�P���a�����D	�=�<AJ�+	Cp|��-�%7ge�W[��p���\@m>�ei��V��!�8I�N�XO�\��"���u�^�8,�o ��!8C��o�xe��2_��:A��X�(�WYM,xD�[2�LN�ۑc3�a��u�k���^\ ˼D^�4/�~��#����Xܪ��o��a��m;��P����?�\Л�����X�瘁I!e�ǩ�>SWM�[ |>�F9T�J�}1k�跩{r-m�O�-�f6*��1�7�3��
�l����|�^1Ⱥ���٦�<���CbT`�b�VMI����c��ɒ�>9Z�š�?6f��� �b/7!�0� P>d"�u��d��� ����6|���b0暭�.�l���	�no�<�6@/�1��ȱO� �,;*i��W�
�Ɗ#�|�F(YZ�f�V�
��u�O@��� ���nj3@��v�\ا�t\��ۜ1��Qn|�?�"�	�ʤ���=�=������L��c>�-��>����	�v�M,���Ƹ55��
�HK���l�� +��K�D�	5	�j��H����$��`��ft��?P���C�"�Z=A�Ꞝ���ҎH��d�)ŚҐ՚&�L�3T��
��Gνhs�j�3=��M�R��؋5���m-5�J�����1��T�zX�
6��9�"yV�[MބU��g��p����q�rGu��j�Cr\��L�dj��9����E���>�~W�p6�̔d7��׬��􈝔��3zU�hh@\A˼������Ȅh�SB�; �6����-t�*���e���?׳>��_�+��=I�7-.N�Y��B�?{�<>i�z�xH
�0�bAvЌˡad��Ke�������=��qX4�[��oy-�4HH�A^Q��4�+~JqAڭ��p߈�"`=�f���W�Fjo�R1�m�=����7ݬ�s�
�ߗ�S!ٞLI�>'����SL��W�O�u��6�/����������Y�)��8 px�⁓7����Ѕ�*���u��Ғ�1��X_�f_�������[V_�.����%�e�"V�K&Z�Z��2b�o'�.5�W��-ѓ�o�D,XFUf�����'`ڒ|�-�q�ئʼ���u�:^������;��GE
��þ$v�Lc4"�V�e�NX�����M�KUP�������`�9;��Bv��J����Xnc?t���YH� ��v����Z�_�*���/jZ���
n&�5+��s��W�MH�T!Vw#EZUuꃪSq@_Lވ�ō7�e@~��i-�s5�"�2�(,.ˆ�{}:*��5�'�K�Ӄ�,��3I�@<C��L	Hl�o'�ܰ"��ք�{a�2Y��cdy��N�b�1$�����%O�FQH���ֽw߬&rlO���հ�e�mI���=eP���T^�*;���Z��7�x��C�& 0�����A�bE�?Y<�M�k:]5��\
,�����þ����S�"2��[,��@dF����.��{��"�;!���޷���ۊ?��R�g�Iz	��7%����6����X+fifWCZ<,U��x-VsG�X�ZY����k�S�
����X}�8���碑;��D�R���#�ON���K.�S�~{�_	_�M�	���]�I��/�VVν�R����[�K�!����f�+e3�}	xuO��)���TahUr ���ڹ���b�-��Kn��_2��
�O��\�us�$71˹b�[n���Z�+�
�I�:��"\��8�jZ�H�{���-
�
�s�<�YuP:H�rx�?T����T?�F��C{���[���Rr+�NΙ!�ʰ�=%Xn$NA���K��Md��C�c�B��u�k�3�屽���`~��~�}��ٗnY1`N,�����[�#�U�SՑ��zL�v:���Fl�%����\��Hnj�gj��ag���|RZzEXƒJ��]K<��p�~Hq��a�n�5�<�ó�<oA��5fYeG6yh]c+C)�ܫ��>ڄ�����2/�/���! �6����
����2�1�ֲ+4�ᦊ`ǎ$ch���U<��|-����X�0'��|�u M
K'�[\�I(#�^r+����Or��#���ڹ�����������˨��S.���˔��`��U8vX����p�xL�hTs\`,o�B>*DsrL��
�{�`�t�	U3��Jw�ҥ��D�ͭ׈[7�jb��Egᄀ����hu��U�$��0��Fg9-������Ɖ#��PrB�os)���r�8�N��r���u&X2����u2��¥?�cJU��`���=�4����:)M��-�i���řM��P"D�n0j�8��t�-vW"����ZO�
���<����ML����T�~��ϋ�Gq�]J9��j���e's$�9f��N����x�Ȑt��r�SFc���	�{��i��„WC��qB�ј_i5 o؁F�+m��	��D�ei�{�����F���s�E��O�s�n,�����8�} -~�ڍ�*�;ă�E�L�z;���,�g�
rMP�7_�CB�J��0�CuPMeg�j��$Ǭ��
[:P������%����t��9;ϔ��h`R�2�Z�N�.����w�\O��A�6fQ!M�e���P�$P{�؂K���I���y��	�����Z&�1Sk*�q��i���
Ѡ�Qܫ�xt�_M�rv�le:J������E�*]��|)AWb+��z��&՚�r�Wq�=����!�B�LlCR�n
n5Mn�_X@�%��p; ��wo5��@�*&���,��\R��#�-t1qv�W��a��Γ�!�D�C"?��4z�_S�}L�Ǚ\�S�u�	��%沼���
U�s��k��!d���=�;,�� �Pʈ�l�C�>�Hq�!��>��6���A4QJ[O���)��dظcΩ"j��ũ-�Y2�\UB��:���+7(J���i2���Y�2:�'�^h���4zYA���E�^Ov<��;(�Y �(����G	�Ϙ���3Х��1�*��� �w�x|
����q��}���l?�_������w.Q���\R�$PneYo1Ч䫰�b	�����)���z�����,���0��T�o�gx��H��Do��I8|�(���`iG{�6�^v�\n�{�
��W�o��!r�h���W���̫
j
��6"i7�����bzN���.�\ӖYU+j�e�_i���'�=n5��Է���>�`]S�f$�qN
��K˒4l��D�V*:{R�H��
6��Hb����V-V�r�s�ʎ]�.h����%2�h\S�'��SJ�$S
��!������Sp:+�U}T_bPr3Yx��V1�L�j���,�9�c1���n�
����X�Jx�m[�4�ҟb�p�~ͷ�K0�h�E�q��Z^��P3e�d^" �J�K'�	s����7���.�U�V莯ڤr]�Jq�\�D
��
���#Zz��~Ո��l�2{��1ꯈ@�ŶS��=ֿ�r�#�iӕ�a�)JnH��d�΍�/��gDcw��2H��6��L=@��%�/x�'�w���#�[��jH
�ڼˮ�k� �
�H�5��5%G�g��|�6�8��vvX��w��U�EP/b�d3-��4H��&-Kz��&6�3e�ר��4�@�fQ��1�p�[��u@�k��������{\-�
����j;��,L�q*���Y�uة�����g��U�,�0���{��*�u-,�k�<��:�wU|A�6��,���-�ZE)���iR�P]~޾���V�f����K�P��Q+�7���
I�N�
G;�d�Bx
`����ZVW����譾��B��@�O$����� n�H�[�K�T�S���x��89�J+�5�<���Rzu�ՙtP�H�w�:@2s��SO��.^Q|D���:9��o2V��y	�d�S,��
hB_��Z�o�r�Ν�fw�=��A	w(���5V���$~�,�9�jR<��	���_=7r�Q� �b
�K��;�d����A��!iĦ>�e���g����I$SbbR����t�qw��X��&<�*��pQz�@��^%�w)�A��7��@�P�Mv�n�9��Bٌ��D�^�X�c�5�97Wi���y.N�K�Gg�|�Fֺ�(�Mk G��ő��+��!Q�Wc�4�:�K���W��
�Řm��2��
s���D�,#Х�+hv-{�q�[���r�WH��sI� |A^���T�(�F�|��1�{�B5�sM�7"�4oŚ6껮�����9�a-"o~[N�BT94��
R3Y
�Ͻ�TV����f��.EUӀ��S=o9e8�����Ns�*}�!��ؼ����˶�&*@u�y�KA�/��������~@�>E��5:x�$�;��kVAP�7����X�QXM�6
���̆1U� d��l~e_�6��E�ҭ�p�+D� ��;'�!I�t,��6��뼵xCeY�^��&`�%�
��1)ˉd@���n7tW�AyN�v�#���˹�������}8��6�B:E�%������FD�|6�:hh��;ٳ���!��������׍џ��P��6B|��9M��:l�2��wg^Q��!�Y�a7�3;j���4d�T��@����k�����C{�z�H*�VgC*�3Y�d��*��(b�pmqFz��smw�I���ߘKc�f��$���ǚ|���G��i�ס��?�K�z"f��i�_�S%r��o��F���J�+���ʶ!_o���g)+�c���T�bM�aŊ3c	e����܁�)+������n�-2�n(�yǠX��4}���#�!Xe���b����w�i�������Ā�*���B�4��,�!H�[Y�5����y�5�І]"k��&�,$���{�/I\G�B3Xh�K��=��ƪ�HKMx�=�+˪���A�j됀L5�b�[L������l֡�*xT�#�N�%}L�v�R��f�!���P+�|�;�A����I uiIѠ6���T}����_=�b�>��`@��놈�s��^��A��P����~J@�@k���A�v�s�^������V�c��S����T���-�0�@~AަO\�c�,��k�}=T���Ԃ����Ŷ��,|"�%�=�̖�?�
�:��C�,��B8�O3Fk5�W�l�=�1�;�Ů�σ�;�6�Rb�x�(x����"�4���\��ܰH5XWp����we0>z�4GE@���ƺE��a�ٞ�B$x�#$B�8q\�Fi�@0�_lڜ�|7n\�������#ݚ9ߺ�Z��1��1GI�7�Vi�We���v^��7AQo�G,g�G�z�	!�+��r�)2������^��*�?)|Ve�U��T�
�Y�)�;�*�^�X�ʲ����aZQnP�ׯ�ZH����6�J����j^�Pn
WP݇��d�}��.ʕq+���|���/ܾ��6'?Ц�O�������
`�n)��##T�h)6t"dR#{N���g��C�3[�h���f��%ʥ����q�R�]�#<�#�vMڜ����2���(�?�=��y���72H����l���{՟B����>��G�<���t=);�uAȬ��|�8 u�v�rX�3�D����������HtO�g?�v��Q��<7R4�A�|s~�l�&�GS����_��8nR!�>��3��ȫ|�W��؀F��k�ԥȪ�p�r-\����[߮X�Mx��A#7�
+��_Ugm+������V��T!`8��hP�s	���%3ht�-k�S	�&�?����ǃ?��G�:��3%c]��.�Ȉ��늒�C��G�x"�E�����D��]����{����f�߶L�#DW2���F\]��&s��vξ�U���B�w?#^YZ��z)��W��'�cXB�9�-Զ΄��u�dRdš� ������-4���U=8BU��hE���v�ɴ:7���E2ƙ�^�6֍��(5C���`�*�E���qr]W��E�_��I�5�J��kr�+�&��A�KE���2�$w��-H2�?㌄e�1ղ�x��N��nI�qNF���Hj��	�_�B}�D�ag��H����6�ź����ǎyx�W��¼
�;�>�xjs���}�v��k����Z��9�_�,�e!"åf)�X�wc��IZ!�$/<M+�eǐ�	V)�µq5톍͡O�$j9������S���gH�Av��:���q:鏶=���9�jb���i���?�^�6�Q4����qX�&�ې��6p���"nb r��k���L���FŚ��$�	�he�V��>����p�!=�n@���K�s�^�������T�_O�{��y3�$��&�g��-�ybiV���3|t%�)�ӓ�Ӱ��{]��2r��Y�f�V���ك����m6�]�#����8��Ahj=��Q�ϐ���8g+��	�)��|��'�ηH!$�V<��lv}�f��.�D9]"@ޗVJ���{TI��9g���w�~�`�Ҩ���a&�ԡ� "�d�`���R>8�w��	�N;�R}�$‰��P(�8����y���0�Ƶ�W�����W�5�֯��^��������7�v���E;�Q考�M���f7#s��ʁIJ�f��zx����%����w�-�*$����"��e���6�&����Ӗy���f�=�q����4�d.�9�[M=���I��
i}X7�V�V�u%L�G=���@�ӧuC�5�f�I�����Czx�f�90Ѕ�j)�������#�ZSy찫�6����r�b����ۜ�O����_yo�۫���*p���%�M��A��1mܺl
BC�Ceļ��r~�6���U;�贊ͬZ��os/)�Z2�@�Y��w��t�
�ذ�Jm8>T�7ҭ���o���ų���h�F����ߓ�B�
�oi�2���PsaŹ�w�}{�(���*r����\�bj_�g�g�@�����;L����7�h6�"H�![(x�xla[%l�3e��V�\԰?U����5e�ĩ%�H��mL��)G�:�iJFD�&��1R���f'l��~��C��l���k��\_��J���+�b�Z�!���qFxQ#�+�r�ѩ�xJ�#�)�]��c���7��+�%�1SW�P	���^:��,Y6��.6ɫ763���q�<4���g�S��:�T.�����'�� <ґ��ߪ�ٹ�!�%���<_]�;#���:8P�R["�w�񸫠iBVy��}���0AR9�� FĔ�d`��筢�����5 zO��T:@9н3��k9��2Y��6쌰jL�,�m���2�pYF0t��Q�����Dk��
-{����������U�wT�1��45(�(��A�� ��_V
��}�>�*�c��j,d�~#]���~i�HN��c�wK�o�ƝP���'nw��;���D!:�Ti=��gx��f��V4���9T�zZ����B��C��*_ћԋ���7�Ǟ��A�p��R�!��2�4��QgI�3�W�i�_TޙD������%5���C�y�B�&Ok��+�j��k��׺��X��D��d$*�KW4$癈��n(y� ���alyS�9մ|r���鬦[ǐ���g�*,�Hc�9���T/��
V`U��� p���p���è���O�i���rH@�&��ݫ(9�c��J(�}=����(�7�cZXRd�[���	𳬋�����%��2�=�$�*�(�3�[kwЯ�v��+�����*��bF���+��%�J�>�ۋ�I��DT��γ���;�0�Z�S#Z���P�#�RY��x�yaW
Rjg�(w��9�Iz���4�����T��h�A��;��z_��+,#���U<���U��_y��R���g�莕,�x6VR
*#�f���s3#}K���~�����?�||����/�?-��q���&+�՞H?���S��N1���ŀ��]��x�q�jC�	��)��7�	����v�+�-�r5~�ء��:&fg�0���.@��s����*��9z+Ws��yh���2���{�a�O�7�7i��Wg��}w�8_BH��86
�}RX�*��]�s�j&��C�����&m�S�HR%^�����)碉C�q�/
����cE*��B0nP���(h���f��r<T9yk&�\R�4�!�O
����Hz@D����m;��X��>�.:������s�d�D>�VHC�)��+�-`'�7�i.b< ,O�{��A�b�Z	� �\ږ9�\6��,����̚��B���`�����Օ��	�7��\W;��
K5
�����Ke
���ޜC�r�V���P@�X	]|هN[�a\��,1��X����w����ۺZ�N0V�5U��>�y<�8��>ō�X���^�ܲY��i��~ᜇ�=Ю�3

IO�Աj����<T�6��׽��+]���a�K7�XW�Dk/���F�9�d�q�LA?��OֳSO�6]����e�Qݼ��x��vD�	n�ӵ�36����X��E�*�������s��b��n�0�X�,g�"�FV��ܐ��%��~7�74�,VS˧u��Y�ޜf�5ɩo͛qk�u��f�Yog���<�:�M��W����oT!�v�h����rj�};��M,ϡ����W��TS6�:f�N{�I�9��b��z@�+��Z3/<4"�J�m�W�h߲���o�����yPKwL d�a�2��������X���s����u}�^he}��Ģ�]J�e��,�g��-
��X��������,�V���b���Q�� �	�)HK܆+a���
P���.��?Kg{���0O�>U ���-�L������������y��V�3�D��nx{ZN�AZ((l�n,\�BI��d�JX{I�q�JDL�q�v܀�^>�s�+Zѿh���4�%sr<�p6c��2۸����#��b�yת��F�a��`l����j�f�;m�!BbK�W��0��2*EC�w����Ns�{��Q��Q%ԋ�x�Z3G�
��?��*��N��LL�3��G,����~�&�V\{l�[��؝f*��S���P�K�͉$�@�}y�C��啥d�S�nEK�֩�)�m���	���b��T�U�åo�y�5�Zxd_O^N���n�4Ʒ�f̽�H�\�se��@�	x�1#⤁��ݛ��y�f�����[��5�u������#c��duZ!^�����j��3֊	�0��.;��$��!�IM�]M:��O3���z��2^Z�uͬs��'w�: P�@�}�9h�-����5>���D�ȅܴ��׻xئ�J�S�j��n�*�B�=���:9��Z �5*G�e��J�������E�pk:�I.j��'0�u��:ـ�dN�Ym	���C8񗴰�nk9v2("�����L�U��GNUg�a����4�g����7T���3\�0��/�?q���t�FNƢaVXý�:g�;�V�]b���~�@��.�����8���m�s�8l3����1PH����'���V�!���H����_j�� �<��m��Av}��N7/>{h�8�t�
�H.�M����u�T�������D=�HT~�a؅n��T��wf9Ψ?�,V�ޅ��uA�z+�]Ks�ӡ�K_C��p��h�
bh��nY��ל�gpDA߄9W����?�l����f��x1�=��(V�|;��k����v�\�+���L5u��3�Z,s����,:�P��>z�+,W���<�2��T"�qRa@�崤y9�Եղ2�9�ͺ��o7��v���T��@&��P�r�w��e���^��]�O��[���7~�;1Q����
K�y����|`�5�'�tэ<�-��3�]G�^B�S)���e���?r�ɿ���&�1��R֑)d������"�t�R���J������F�
v�Sn�ܷ�.N���Z�7 aWZa>|T��]j*���^���GBe��y3��r�*慩�4�;G,��D7��J9)>"�P����ި�H�9��{�vR7�Ӯ	�  �,�C�'b)wx��-by3mcG�k��~y�ʐ6�l,c��WM8K�>��A�S{(G���/QF��Y�m��T&�B���I�^�m��9�	1r���f�L('ݢ�h�s��b��|3Y����
�qa� w}v���x���u�ef)���H���HF�%�PF�fz_�m[���$��嵦u�g��4xׅ>�jWG������	��~��x��=x6φ���n����`�p�ەx�yuo�c݅E��'N'ӂ@K��h2���cP�d�_U8!z>�ء��7)_�WQ���,WbanV:PkT�)���!Dk;�ŭ}g�ܓj��i�D�UU�b�>*k�䔚#^�¾�/ϟ)�'�N��L%���&ւkXR�Ŗ[�탃��zX��xK�@��k>�
(��8r���Ӓ�xC�������b(O_q)o ��J�
�B� �g7p��
̲x8�� ��2lVi
rdKm���>�v
�#W��	���JALp��-�����,ێ������bW�8>�{�I_ـ&�nн���V��誛u)�l�:�$V`�Ù'�<�\��.��L,i�'��-�����)"p0K���,��c�	� �/����	����+�5{-�.���ӳk-f=x���}�ayi�}�?p��
��o#�)��
��w����
�c��O�7�&�MM$9�F��������qxT^DP���3 ����$���Q��fpAZ 5Lꮈ9E-w�L^�+c�,���n�Y],��8R褸���F^4o���%� m�K�$	�?�R^tFZDž����0}`�'�QQO"�t�ʉ�3�o��_���1c��k�ą� 	��NZj�*��RD�5�ۓa��I�u���!�So�#�J���8,��M���,[qD��N�:廒_ yM:)D��I��f��
\���2%�H�F����Ua�_}I���
w׌��C�\��d��f�[�٠JUf�H��<�3y���-/���Drv�ZMY�"I�%E�pn��{J��=�DM�m��8��8�������r~���KW_��_;���ߛ����|�>�%��nv�)�`�ެz3
@i0�Tm�lz�=Zy�e�yQ�q<r,�0)�D��l�)�*hyȩ{���xE�y=���V�ė�,�y��O�d����F��Ѽ��!�Ǭ�
�Sɳ�o�S��磂��]d�C����ȳLlB}_��r��s�;=�)�����M=��IX\(�0w��r��0��ܣ!�������}��v�aR���̄���8�q׳�7�\�T=J"@�Z
�4Co��ⷃ|�]�r[���z�_J��l[Ʃ$�9�V����e�4���봭�M��L����H׭
�X���l�����q𔓊h+U�W���5�� ��Nl�x�h��1�����i|��M���x9��-A��6����8���vy��P�L�z�Ka�%2ԥ���m�oܼrcie���$�"�$1�PP�,Y��@w�jN����OO����O~~��M���?����d#̷WY���5+��R�D��e�*�-��S�s-ϓ籺��`�ù�Q�%^�$���ֈ��7#��_�?#�,��l�����u�>�3lgSPscѹ̪4�[��+,f�sW`��M�d95KH �9��p�#��E�r(��r�ޕ[4��ׇ]ci!���E�J��$��f-����%�`�.0��6��8#A�<|��؟��CT�u:�x���y���1'����v��'�7$+a�W#&D����Ԉ'��f����C�>&��z?W�M�9�����E�
X�b��ԢO��+̻!lCԐJ���wbK��qY��>�x�?�`����i�W�6r��s�e�]�����?���ƾjy����`�+ϟ;�����!+� km4�|�@S^��ps���S~β�.B����囼��.Z���՚Q�nA�'�Y{r[b���Ӑ�Ŗ�䭼�Ά��aڜ4ؠ�A�Nl|��6*�#˶���j;�m�sg�_j�&��6`,����+���?����fgۆ�j,13$�ccU���0���?����M����n�rœ;�Ay����Hr����J}�s�{*�}����*��ϩg�rF�{����Y��q���ugF�	�w�E��KsB����_�e]{*�s�asXH��f�a�2ƣg��;�2�_p�j�(#���]�u��!�ٞw�}b�ʯ�X�Hw�9+A�#�A(I���Y+�J��v*q��m�669Cr��*�7����.�_]B[�FJ�.1�������1�S�qq\�
d������u�_80^l�zo�{0�`far�����NY��xe���D����[�s��`��r��(��4<O����P��k�Ր
B+�u��s	�~�Ӂ�cR�醗��Û�6xr�#ux`���N-fE�2pF(��)|�UJL��BX��Mk�"d�D��*�A38���ȑ�z����}+��0�	'v�|(w[�&e�(��T���1����~?o��C�(�~eKcm�����YI*z���p3�h��@�GvC�R3Ny!?͌ȣ����ԁ�+~G,�0�0�¶>����mVn\�v��+
��$�&����Ѣ�������sk�n �DPЄ�}I�}j�H�τ��b�*�rD��aM�ږK�����qZ��0r���b�K�*�{�j}Ox�@��mh������-]j��U��+\�T)�-�̨3Ad߄O��m
��Z�K�_W7V�L��.p3�p5ޱ�W��=��°�k~03���K��ǻS�CS}E����i�I�\oȁs�Z�h@pʮ�,PE�eEMͪ�-�g��0��$
7M7��7��#�
q��Q�sO���Pu���J���x(,��B��=(!F�`޲�>��������n,�x�2�Oa��7 1��l(
�?A<Ba�´�sP@�����a_���+�#�z� ��N�ŗ.z�f�3�bX"��ݩ�^�U<l�~�}_ױ#�u� �=��L�od�[vӼ.X`�P�l������'���+��s��N�k�
����ry���)��"Ŕ���g�Es�:X���*Y���}���6��zj���EPQ,%w����ө��+���M�0��:�j�}SYHu�6���˃�FY�*>W.����H����@~\�&��St�����Z��}�˛=�2^�j��SV���*0�m�\Ř����+�fX	Ε6��U�;�x>/1�"
�T,����MF�`#l��}����zyL�	��=�Z��xK�H���F��&	2�0�F�Op�c1�Z�׋߅0�bG|��V'K���7/_���-]}ʈ��D��V�8��<��,�_�4
|�SC�y���H]b3f��ØV�F�` Ż	[l6��5�mT;�ֆ���"}tl���������_N�"�`W��`��H1vhP[h9�Z8B����Ђc$s�K��$)d��h�#0�c̆����E2�6�d����%�S�o�ƌ�\
wFq3v1hQݱ���|�#ң���l����4�'�[i�K�z�W�'��ٙXfBʣ���c�ܐ��]��Y�c`�J�y�v��9kI9�M�6�2n��/zY�	��!6�ױ'�I	)��k�e�^���
�#d|\\a�h#N�AJՁ
��ao�4T�a->���K�qR5��N�p�NbVǥ�C=73��sXW����^w"z�fl�o`i9�&����c�>-Gƞ���n“�쫞q�����(&f������-�I�|�d��Mt����cYu��>���Pn���0zS�=�t"uS���qaY%�E�^�
�
����2�O�5�����������[5ƢSc5�A�h8�]/���>���~��"�~�qpd��6O�l"�{1w��k򃲭��.��Ҍ|8fJ�6VK�D��B�af�������n�������\���;�C~�ҳt�L!vaI�Jߵ	��zGpRΰ�G+���=+ϔ�\���2*��A�g��0
��S�^��$6/��\�-D,�A��N�����Ȭ�wq
�g���;B��V98��=��Yl)����cΙ��uQ�d��q�l��7��:w�̆�������lG�0ၷT�]�3;�B*b��=A�!_�"�77�R������߂��Z7�IOZ����i�>Gĕ���s��Y�/!�)\2�
B��ZJ�f!2�%��05�	$����X��-����|�E�D�@�R�ȓ�䨪�5l�cUi2}�ZY�[?W"䠄�z�/S}����:�uTɿ�++��_�}v��xM�tF�^���Ai��풷�*��l�<:Q ��N������R�(�?+�*k_�[�4	o�ı���50J7x�{!�z��9E�K��CO�5�������;��(~�]˱*���v�}��լ/�л��n�q��N7ţ�*��k�2�b�~�5�\]2�Y���?��6����� E�Ф��)s�hb?YN1�~�A�k�a��A��jDy)c`���s3>R7��ɚ	�E�����=Nl�r�(v����i$���5t�xD�0�U��FM�D,�;h��W LV<���zzV�i�����Eٔ�+���"�0ݨ\~�z�d�y�f�)���@6����B�f����D�FCşh�����yD��xYf�h�P��_��v�V�m;�u�:B'ς�QO!�9H��R�C v<��6��)�<�!57d{�=8�Ą�	7�u6Eh"���ϩ����䅁���yY��h�O�BY�l�#�����CD�B���֯#���k��C��R���aS8�Ž�9���r��:7rcl��9v����,t6^5��f�l�I��H�й����3��s�������x~`��R�d��T��Rѫ�:y���X���r%�\[Z{��zp��-K��[�aW�r7_�SC8���zQ���W��0wcNGLi'[�j��zH����&6O
��G�ʖ9̑�l�X/�H��%*i��h�
\�rB�XNj@0Ę�,�ӗz��h�T���1��)5����Y!MgH��V�%��ڰ���yԦ9_s���o���|�b3�i�Qn,
Ӏ��^c�5�jQb��+0��)obϞ�خ�Y�Ј{6��\�YW'5�^$����x�.H
�3N:��"u�X�5�m��"@2��U���i� ���0Q�m
t��ȑ8c����I K4�%^�ff�\-.�y���˗��+���$׮^�k�b&���:.n�~o�ߜ�ϓ�O>M����`���f�y�~m��sN÷�-���G�2�����櫿1��7��92/�3aU�z}&��Z.ɱf��zO�ߎ̈�����J�LpL�Uz�����f�Nh�>|:���o1]��Xd[�.��|(v�PB����@A7W��X�x�|����_Hh�y41��8%��1�Ku�mX#��r���S/�<���;��7�K��M��I���l�5��|���ט�n� ���"~�"H^�"P��c��u�+��D��rF%����!�GK�jB��]X��q� ���wθ��-��Nq{�X���<�r߈7%�8э�
4q�*�
{��7�p�F+/��[�
�"�C� &��_5���Q��ﹷ�+��%�mi�Ud��m��n
r����oVC8(�#�X%�"v��2��O��ǡ�*��h7�uM�D=uT‰i/��q�z�`+�$��I����8}�G�	�-w4��-�1�\-�dN� _�GmZ��ǘ5��w��%�Sw}>���Wx�B��<n�?���mKT��CZKƍ�r��`B�a��/i3�՘���y� <��V1�x�A�v^�y��7�Z�g�nDB���:j(��P�=���r��]\�{d�̩]�1Kvey�C�7�[	)�Δ!�P��zϔ��¦��Wf�s���iW�}�y9�ݲ)B�ء��dV+U�9�S�	9ݟA?�/�y+nb�^��N[X~�b�
����`����y�\�Ljp-�Z4Ѝ���7�U�Ny���n_�bߵ��ι�̻��i9�~��5�٥���7hG+
F�A\���'��&1S��kr
�O�7/��/7�/I��v��톭2z:+���ճY���T/fuoe�mM�om3�`��)
f�7_�$%y����
@"9uB#���_&�G���L஠'8l8rP+�/B��B��p\'���e�l8��S0<�#g;A��TNo������t�cKY�"1�B?<%�l�#�@4e�N
\�B�Y$��L�J�FdM�S$-| ��\��gmG�/ǖ���q�^/:3}_��E�2�nŋBn�?v���5�T������z��==�f
Gc+�?�Le�M��7m#��,)��!F��M�s��;ɂ�~	��$��g&���,�H�=F��YTϡGc�t0�wY�s��V`��;؈����久?��,�G��җ�_`�̢�#oJ&ԣ_�Ͻ0l@�������Ɂ=a>��K9Ba��K��:7������(�}K�3�ǝ
T'�V*�����`m�>����!��⇂��k8��vCػTWe�!\�\��	
�N��\�F1
8��v}6:��Q�Ξ\ S��V#�Ԫ��\6�R�
�����^�;3T~�+������,������ձ��ﱵ	O��E�������E����
Āy<
s����ف/{7�p��<d��*,9��8�����PKl��[�%�B��"���litespeed-cache-ru_RU.poUT;�Aiux����PKl��[5<��������litespeed-cache-ru_RU.moUT;�Aiux����PKl��[��n�5�����litespeed-cache-ru_RU.l10n.phpUT;�Aiux����PK \�PKW^�\��n5�5�+translations/litespeed-cache-ru_RU.l10n.phpnu�[���<?php
return ['x-generator'=>'GlotPress/4.0.3','translation-revision-date'=>'2025-12-16 19:49:27+0000','plural-forms'=>'nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);','project-id-version'=>'Plugins - LiteSpeed Cache - Stable (latest release)','language'=>'ru','messages'=>['Automatically replace large images with scaled versions.'=>'Автоматически заменяйте большие изображения их уменьшенными версиями.','Clear'=>'Очистить','Other'=>'Другой','CDN - Disabled'=>'CDN - отключено','CDN - Enabled'=>'CDN - Включено','Autoload top list'=>'Список лучших в автозагрузке','Autoload size'=>'Размер автозагрузки','e.g. Use %1$s or %2$s.'=>'используйте например %1$s или %2$s.','Click to copy'=>'Кликните, чтобы скопировать','Clear Cloudflare cache'=>'Очистить кэш CloudFlare','Copy Log'=>'Журнал копирования','Selectors must exist in the CSS. Parent classes in the HTML will not work.'=>'Селекторы должны существовать в CSS. Родительские классы в HTML не будут работать.','List the CSS selectors whose styles should always be included in CCSS.'=>'Перечислите селекторы CSS, стили которых всегда должны быть включены в CCSS.','List the CSS selectors whose styles should always be included in UCSS.'=>'Перечислите селекторы CSS, стили которых всегда должны быть включены в UCSS.','Available after %d second(s)'=>'Доступно через %d секунд(ов)','Enable QUIC.cloud Services'=>'Включите службы QUIC.cloud','Do not show this again'=>'Не показывайте это снова','Free monthly quota available. Can also be used anonymously (no email required).'=>'Предоставляется бесплатная месячная квота. Можно также использовать анонимно (не требуется электронная почта).','Cloudflare Settings'=>'Настройки Cloudflare','Failed to detect IP'=>'Не удалось обнаружить IP','CCSS Selector Allowlist'=>'Список разрешений селектора CCSS','Outputs to a series of files in the %s directory.'=>'Вывод в серию файлов в каталоге %s.','Attach PHP info to report. Check this box to insert relevant data from %s.'=>'Прикрепите информацию о PHP к отчету. Установите этот флажок, чтобы вставить соответствующие данные из %s.','Last Report Date'=>'Дата последнего отчета','Last Report Number'=>'Номер последнего отчета','Regenerate and Send a New Report'=>'Регенерация и отправка нового отчета','This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.'=>'Это приведет к сбросу значения %1$s. Если вы изменили настройки WebP/AVIF и хотите создать %2$s для ранее оптимизированных изображений, используйте это действие.','Soft Reset Optimization Counter'=>'Мягкий сброс счетчика оптимизации','When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.'=>'При переключении форматов нажмите %1$s или %2$s, чтобы применить новый выбор к ранее оптимизированным изображениям.','%1$s is a %2$s paid feature.'=>'%1$s - платная функция %2$s.','Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.'=>'Удалите интеграцию QUIC.cloud с этого сайта. Примечание: Данные QUIC.cloud будут сохранены, и вы сможете снова включить сервисы в любое время. Если вы хотите полностью удалить сайт из QUIC.cloud, сначала удалите домен через QUIC.cloud Dashboard.','Disconnect from QUIC.cloud'=>'Отключитесь от QUIC.cloud','Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.'=>'Вы уверены, что хотите отключиться от QUIC.cloud? Это не приведет к удалению данных с приборной панели QUIC.cloud.','CDN - not available for anonymous users'=>'CDN - недоступно для анонимных пользователей','Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.'=>'Ваш сайт подключен и использует онлайн-сервисы QUIC.cloud как <strong>анонимный пользователь</strong>. Функция CDN и некоторые функции сервисов оптимизации недоступны для анонимных пользователей. Подключитесь к QUIC.cloud, чтобы использовать CDN и все доступные функции Онлайн-сервисов.','QUIC.cloud Integration Enabled with limitations'=>'Интеграция с QUIC.cloud Включена с ограничениями','Your site is connected and ready to use QUIC.cloud Online Services.'=>'Ваш сайт подключен и готов к использованию онлайн-сервисов QUIC.cloud.','QUIC.cloud Integration Enabled'=>'Интеграция с QUIC.cloud включена','In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.'=>'Для того чтобы пользоваться большинством сервисов QUIC.cloud, вам необходима квота. QUIC.cloud предоставляет вам бесплатную квоту каждый месяц, но если вам нужно больше, вы можете ее приобрести.','Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.'=>'Предлагает дополнительную <strong>встроенную службу DNS</strong> для упрощения внедрения CDN.','Provides <strong>security at the CDN level</strong>, protecting your server from attack.'=>'Обеспечивает <strong>безопасность на уровне CDN</strong>, защищая ваш сервер от атак.','Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>.'=>'Обеспечивает глобальное покрытие благодаря растущей <strong>сети из 80 с лишним PoP</strong>.','Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.'=>'Кэширует весь ваш сайт, включая динамическое содержимое и <strong>блоки ESI</strong>.','Content Delivery Network'=>'Доставка контента (CDN)','<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.'=>'<strong>Viewport Images (VPI)</strong> обеспечивает хорошо отполированный полностью загруженный вид над сгибом.','<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.'=>'<strong>Low Quality Image Placeholder (LQIP)</strong> придает вашим изображениям более приятный вид при ленивой загрузке.','<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.'=>'<strong>Уникальный CSS (UCSS)</strong> удаляет неиспользуемые определения стилей для более быстрой загрузки страницы в целом.','<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.'=>'<strong>Критический CSS (CCSS)</strong> быстрее загружает видимое содержимое, расположенное выше по тексту, с полным стилем.','QUIC.cloud\'s Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.'=>'Услуги QUIC.cloud по оптимизации страниц направлены на устранение раздутости CSS и улучшение пользовательского опыта во время загрузки страницы, что может привести к повышению скорости работы страницы.','Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.'=>'Обработка изображений в форматах PNG, JPG и WebP бесплатна. Обработка AVIF доступна за отдельную плату.','Optionally creates next-generation WebP or AVIF image files.'=>'По желанию создайте файлы изображений нового поколения WebP или AVIF.','Processes your uploaded PNG and JPG images to produce smaller versions that don\'t sacrifice quality.'=>'Обрабатывает загруженные изображения в форматах PNG и JPG, чтобы получить уменьшенные версии без потери качества.','QUIC.cloud\'s Image Optimization service does the following:'=>'Служба оптимизации изображений QUIC.cloud делает следующее:','<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.'=>'<strong>Оптимизация страницы</strong> позволяет оптимизировать стили и визуальные элементы страницы для ускорения загрузки.','<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.'=>'<strong>Оптимизация изображений</strong> позволяет уменьшить размер файлов изображений и ускорить их передачу.','QUIC.cloud\'s Online Services improve your site in the following ways:'=>'Онлайн-сервисы QUIC.cloud улучшают работу вашего сайта следующими способами:','Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.'=>'Ускорьте свой сайт WordPress еще больше с помощью онлайн-сервисов QUIC.cloud и CDN.','QUIC.cloud Integration Disabled'=>'Интеграция с QUIC.cloud отключена','QUIC.cloud Online Services'=>'Онлайн-сервисы QUIC.cloud','Online Services'=>'Онлайн-услуги','Autoload'=>'Автозагрузка','Refresh QUIC.cloud status'=>'Обновить состояние QUIC.cloud','Refresh'=>'Обновить','You must be using one of the following products in order to measure Page Load Time:'=>'Для измерения времени загрузки страницы вы должны использовать один из следующих продуктов:','Refresh Usage'=>'Обновить использование','News'=>'Новости','You need to set the %s in Settings first before using the crawler'=>'Перед использованием краулера необходимо сначала установить %s в Настройках','You must set %1$s to %2$s before using this feature.'=>'Перед использованием этой функции необходимо установить %1$s на %2$s.','You must set %s before using this feature.'=>'Перед использованием этой функции необходимо установить %s.','My QUIC.cloud Dashboard'=>'Моя приборная панель QUIC.cloud','You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.'=>'В настоящее время вы пользуетесь услугами как анонимный пользователь. Чтобы управлять опциями QUIC.cloud, воспользуйтесь кнопкой ниже, чтобы создать учетную запись и перейти на панель QUIC.cloud Dashboard.','To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.'=>'Чтобы управлять параметрами QUIC.cloud, перейдите на панель QUIC.cloud Dashboard.','To manage your QUIC.cloud options, please contact your hosting provider.'=>'Для управления опциями QUIC.cloud обратитесь к своему хостинг-провайдеру.','To manage your QUIC.cloud options, go to your hosting provider\'s portal.'=>'Чтобы управлять опциями QUIC.cloud, перейдите на портал вашего хостинг-провайдера.','QUIC.cloud CDN Options'=>'Варианты CDN для QUIC.cloud','no matter where they live.'=>'независимо от того, где они живут.','Content Delivery Network Service'=>'Служба сети доставки контента','Enable QUIC.cloud CDN'=>'Включите CDN QUIC.cloud','Link & Enable QUIC.cloud CDN'=>'Подключите и включите CDN QUIC.cloud','QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.'=>'QUIC.cloud CDN <strong>недоступна</strong> для анонимных (несвязанных) пользователей.','QUIC.cloud CDN is currently <strong>fully disabled</strong>.'=>'Сеть CDN QUIC.cloud в настоящее время <strong>полностью отключена</strong>.','Learn More about QUIC.cloud'=>'Узнайте больше о QUIC.cloud','QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.'=>'QUIC.cloud предоставляет услуги CDN и онлайн-оптимизации и не является обязательным. Вы можете использовать многие функции этого плагина без QUIC.cloud.','Enable QUIC.cloud services'=>'Включите облачные сервисы QUIC.cloud','Free monthly quota available.'=>'Предоставляется бесплатная месячная квота.','Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.'=>'Ускорьте свой сайт WordPress еще больше с помощью <strong>онлайн-сервисов QUIC.cloud и CDN</strong>.','Accelerate, Optimize, Protect'=>'Ускорение, оптимизация, защита','Check the status of your most important settings and the health of your CDN setup here.'=>'Здесь вы можете проверить состояние наиболее важных настроек и работоспособность вашей CDN-установки.','QUIC.cloud CDN Status Overview'=>'Обзор состояния сети CDN QUIC.cloud','Refresh Status'=>'Состояние обновления','Other Static CDN'=>'Другие статические CDN','Dismiss this notice.'=>'Закрыть это уведомление.','Send to twitter to get %s bonus'=>'Отправьте в twitter, чтобы получить %s бонусов','Spread the love and earn %s credits to use in our QUIC.cloud online services.'=>'Распространяйте любовь и зарабатывайте %s кредитов для использования в наших онлайн-сервисах QUIC.cloud.','No backup of unoptimized AVIF file exists.'=>'Резервная копия неоптимизированного файла AVIF не существует.','AVIF saved %s'=>'AVIF сохранен %s','AVIF file reduced by %1$s (%2$s)'=>'Файл AVIF, уменьшенный на %1$s (%2$s)','Currently using original (unoptimized) version of AVIF file.'=>'В настоящее время используется оригинальная (неоптимизированная) версия файла AVIF.','Currently using optimized version of AVIF file.'=>'В настоящее время используется оптимизированная версия файла AVIF.','WebP/AVIF For Extra srcset'=>'WebP/AVIF для дополнительного набора кадров','Next-Gen Image Format'=>'Формат изображений нового поколения','Enabled AVIF file successfully.'=>'Успешное включение файла AVIF.','Disabled AVIF file successfully.'=>'Успешное отключение файла AVIF.','Reset image optimization counter successfully.'=>'Сброс счетчика оптимизации изображений прошел успешно.','Filename is empty!'=>'Имя файла пустое!','You will need to finish %s setup to use the online services.'=>'Чтобы воспользоваться онлайн-сервисами, необходимо завершить настройку %s.','Sync QUIC.cloud status successfully.'=>'Состояние QUIC.cloud успешно синхронизировано.','Linked to QUIC.cloud preview environment, for testing purpose only.'=>'Связано с предварительной средой QUIC.cloud, только для тестирования.','Click here to proceed.'=>'Нажмите здесь, чтобы продолжить.','Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.'=>'Сайт не распознан. QUIC.cloud деактивировался автоматически. Пожалуйста, активируйте вашу учетную запись QUIC.cloud заново.','Reset %s activation successfully.'=>'Сброс %s успешно активирован.','Congratulations, %s successfully set this domain up for the online services with CDN service.'=>'Поздравляем, %s успешно настроил этот домен для работы с онлайн-сервисами с помощью службы CDN.','Congratulations, %s successfully set this domain up for the online services.'=>'Поздравляем, %s успешно настроил этот домен для работы с онлайн-сервисами.','Congratulations, %s successfully set this domain up for the anonymous online services.'=>'Поздравляем, %s успешно настроил этот домен на анонимные онлайн-сервисы.','%s activation data expired.'=>'%s истек срок действия данных активации.','Failed to parse %s activation status.'=>'Не удалось разобрать статус активации %s.','Failed to validate %s activation data.'=>'Не удалось проверить данные активации %s.','Cert or key file does not exist.'=>'Сертификат или файл ключа не существует.','You need to activate QC first.'=>'Сначала вам нужно активировать QC.','You need to set the %1$s first. Please use the command %2$s to set.'=>'Сначала необходимо установить %1$s. Для установки используйте команду %2$s.','Failed to get echo data from WPAPI'=>'Не удалось получить данные эха из WPAPI','The user with id %s has editor access, which is not allowed for the role simulator.'=>'Пользователь с идентификатором %s имеет доступ редактора, что не разрешено для симулятора роли.','You have used all of your quota left for current service this month.'=>'Вы использовали всю оставшуюся квоту на текущую услугу в этом месяце.','Learn more or purchase additional quota.'=>'Узнайте больше или приобретите дополнительную квоту.','You have used all of your daily quota for today.'=>'Вы использовали всю свою дневную квоту на сегодня.','When minifying HTML do not discard comments that match a specified pattern.'=>'При минификации HTML не удаляйте комментарии, соответствующие заданному шаблону.','Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.'=>'Укажите действие AJAX в POST/GET и количество секунд для кэширования этого запроса, разделенные пробелом.','HTML Keep Comments'=>'HTML Сохранить комментарии','AJAX Cache TTL'=>'AJAX Cache TTL','You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.'=>'У вас есть изображения, ожидающие извлечения. Пожалуйста, дождитесь завершения автоматического извлечения или извлеките их вручную сейчас.','Clean all orphaned post meta records'=>'Очистить все неиспользуемые мета-записи постов','Orphaned Post Meta'=>'Неиспользуемые мета-записи','Best available WordPress performance'=>'Лучшая производительность WordPress из доступных','Clean orphaned post meta successfully.'=>'Очистка неиспользуемых мета-записей прошла успешно.','Last Pulled'=>'В последний раз загружено','You can list the 3rd party vary cookies here.'=>'Вы можете перечислить здесь все варианты cookie от третьих лиц.','Vary Cookies'=>'Список Cookie','Preconnecting speeds up future loads from a given origin.'=>'Предварительное подключение ускоряет загрузку из перечисленных источников.','If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.'=>'Если ваша тема не использует JS для обновления мини корзины, лучше включить эту опцию для корректного отображения содержимого корзины.','Generate a separate vary cache copy for the mini cart when the cart is not empty.'=>'Создаёт отдельную копию кэша для мини корзины, когда корзина не пуста.','Vary for Mini Cart'=>'Отдельный кэш мини корзины','DNS Preconnect'=>'Предварительное подключение','This setting is %1$s for certain qualifying requests due to %2$s!'=>'Для некоторых квалификационных запросов эта настройка равна %1$s из-за %2$s!','Listed JS files or inline JS code will be delayed.'=>'Перечисленные файлы JS или встроенный код JS будут отложены.','URL Search'=>'Поиск URL','JS Delayed Includes'=>'Отложенные включения JS','Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.'=>'Ваш domain_key был временно заблокирован для предотвращения злоупотреблений. Для получения дополнительной информации вы можете обратиться в службу поддержки по адресу QUIC.cloud.','Cloud server refused the current request due to unpulled images. Please pull the images first.'=>'Облачный сервер отклонил текущий запрос из-за наличия незагруженных изображений. Сначала извлеките изображения.','Current server load'=>'Текущая загрузка сервера','Started async image optimization request'=>'Запущен асинхронный запрос на оптимизацию изображений','Started async crawling'=>'Запущено асинхронное сканирование','Saving option failed. IPv4 only for %s.'=>'Не удалось сохранить опцию. IPv4 только для %s.','Cloud server refused the current request due to rate limiting. Please try again later.'=>'Облачный сервер отклонил текущий запрос из-за ограничения скорости. Повторите попытку позже.','Maximum image post id'=>'Макс. id записи изображения','Current image post id position'=>'Текущая позиция id записи изображения','Images ready to request'=>'Изображения готовы к запросу','Redetect'=>'Повторное определение','If you are using a %1$s socket, %2$s should be set to %3$s'=>'Если вы используете сокет %1$s, %2$s должен быть установлен на %3$s','All QUIC.cloud service queues have been cleared.'=>'Все очереди службы QUIC.cloud были очищены.','Cache key must be integer or non-empty string, %s given.'=>'Ключ кэша должен быть целым числом или непустой строкой, задано %s.','Cache key must not be an empty string.'=>'Ключ кэша не должен быть пустой строкой.','JS Deferred / Delayed Excludes'=>'Исключить JS из Отложенных / Задержанных','The queue is processed asynchronously. It may take time.'=>'Очередь обрабатывается асинхронно. Это может занять время.','In order to use QC services, need a real domain name, cannot use an IP.'=>'Для того чтобы воспользоваться услугами QC, необходимо реальное доменное имя, нельзя использовать IP.','Restore Settings'=>'Восстановить настройки','This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?'=>'Это восстановит резервные настройки, созданные %1$s перед применением предустановки %2$s. Все изменения, сделанные с тех пор, будут потеряны. Вы хотите продолжить?','Backup created %1$s before applying the %2$s preset'=>'Резервная копия создана %1$s перед применением предустановки %2$s','Applied the %1$s preset %2$s'=>'Применена %1$s предустановка  %2$s','Restored backup settings %1$s'=>'Восстановлены настройки резервного копирования %1$s','Error: Failed to apply the settings %1$s'=>'Ошибка: не удалось применить настройки %1$s','History'=>'История','unknown'=>'неизвестно','Apply Preset'=>'Применить предустановку','This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?'=>'Это создаст резервную копию ваших текущих настроек и заменит их предустановленными настройками %1$s. Вы хотите продолжить?','Who should use this preset?'=>'Кому следует использовать эту предустановку?','Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.'=>'Используйте официальный пресет, разработанный LiteSpeed, чтобы настроить свой сайт в один клик. Попробуйте безопасное кэширование, экстремальную оптимизацию или что-то среднее.','LiteSpeed Cache Standard Presets'=>'Стандартные предустановки LiteSpeed Cache','This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.'=>'Эта предустановка почти наверняка потребует проверки и исключения некоторых CSS, JS и отложенной загрузки изображений. Обратите особое внимание на логотипы или изображения слайдера на основе HTML.','Inline CSS added to Combine'=>'Встроенный CSS добавлен для объединения','Inline JS added to Combine'=>'Встроенный JS добавлен для объединения','JS Delayed'=>'Задержка JS','Viewport Image Generation'=>'Создание изображения области просмотра','Lazy Load for Images'=>'Отложенная загрузка изображений','Everything in Aggressive, Plus'=>'Все из Агрессивные, плюс','Extreme'=>'Экстремальные','This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.'=>'Эта предустановка может работать без настройки для некоторых веб-сайтов, но обязательно проверьте! В разделе Оптимизация страницы > Настройка могут потребоваться некоторые исключения CSS или JS.','Lazy Load for Iframes'=>'Отложенная загрузка для iframe','Removed Unused CSS for Users'=>'Удаление неиспользуемого CSS для пользователей','Asynchronous CSS Loading with Critical CSS'=>'Асинхронная загрузка CSS с критическим CSS','CSS & JS Combine'=>'Объединение CSS и JS','Everything in Advanced, Plus'=>'Все из Расширенные, плюс','Aggressive'=>'Агрессивные','This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.'=>'Эта предустановка подходит для большинства веб-сайтов и вряд ли вызовет конфликты. Любые конфликты CSS или JS можно разрешить с помощью Оптимизация страницы > Настройка.','Remove Query Strings from Static Files'=>'Удалить строки запроса из статических файлов','DNS Prefetch for static files'=>'Предварительная выборка DNS для статических файлов','JS Defer for both external and inline JS'=>'Отложить JS для внешнего и встроенного JS','CSS, JS and HTML Minification'=>'Минификация CSS, JS и HTML','Guest Mode and Guest Optimization'=>'Гостевой режим и гостевая оптимизация','Everything in Basic, Plus'=>'Все из Основные, плюс','Advanced (Recommended)'=>'Расширенные (реком.)','This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.'=>'Эта предварительная установка с низким уровнем риска знакомит с основными оптимизациями для повышения скорости и взаимодействия с пользователем. Подходит для начинающих энтузиастов.','Mobile Cache'=>'Мобильный кэш','Everything in Essentials, Plus'=>'Все из Самые необходимые, плюс','This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.'=>'Эта предустановка без риска подходит для всех веб-сайтов. Подходит для новых пользователей, простых веб-сайтов или разработки, ориентированной на кеширование.','Higher TTL'=>'Более высокий TTL','Default Cache'=>'Кэш по умолчанию','Essentials'=>'Самые необходимые','LiteSpeed Cache Configuration Presets'=>'Предустановки конфигурации LiteSpeed Cache','Standard Presets'=>'Стандартные предустановки','Listed CSS files will be excluded from UCSS and saved to inline.'=>'Перечисленные CSS-файлы будут исключены из UCSS и сохранены во встроенном режиме.','UCSS Selector Allowlist'=>'Белый список селекторов UCSS','Presets'=>'Предустановки','Partner Benefits Provided by'=>'Партнёрские привилегии предоставлены','LiteSpeed Logs'=>'Журналы LiteSpeed','Crawler Log'=>'Журнал поискового робота','Purge Log'=>'Журнал очистки','Prevent writing log entries that include listed strings.'=>'Предотвращает запись, включающая перечисленные строки.','View Site Before Cache'=>'Просмотр сайта до кэширования','View Site Before Optimization'=>'Просмотр сайта до оптимизации','Debug Helpers'=>'Средства отладки','Enable Viewport Images auto generation cron.'=>'Запланировать автоматическую генерацию изображений, появляющихся в области просмотра.','This enables the page\'s initial screenful of imagery to be fully displayed without delay.'=>'Это позволяет отобразить первоначальное изображение на странице без задержки.','The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.'=>'Служба Viewport Images определяет, какие изображения появляются в области просмотра, и исключает их из ленивой загрузки.','When you use Lazy Load, it will delay the loading of all images on a page.'=>'Когда вы используете Lazy Load, загрузка всех изображений на странице будет отложена.','Use %1$s to bypass remote image dimension check when %2$s is ON.'=>'Используйте %1$s для обхода удаленной проверки размера изображения, когда %2$s включен.','VPI'=>'VPI','%s must be turned ON for this setting to work.'=>'%s должна быть включена, чтобы настройка работала.','Viewport Image'=>'Изображение в области просмотра','Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:'=>'Рассмотрите возможность отключения следующих плагинов, поскольку они могут конфликтовать с LiteSpeed Cache:','Mobile'=>'Телефон','Disable VPI'=>'Отключить VPI','Disable Image Lazyload'=>'Отключить отложенную загрузку изображений','Disable Cache'=>'Отключить кэширование','Debug String Excludes'=>'Исключение отладочных строк','Viewport Images Cron'=>'Планировщик для изображений области просмотра','Viewport Images'=>'Изображения в области просмотра','Alias is in use by another QUIC.cloud account.'=>'Псевдоним используется другой учетной записи QUIC.cloud.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain.'=>'Невозможно автоматически добавить %1$s в качестве псевдонима для основного домена %2$s.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.'=>'Невозможно автоматически добавить %1$s в качестве псевдонима домена для основного домена %2$s, из-за потенциального конфликта CDN.','You cannot remove this DNS zone, because it is still in use. Please update the domain\'s nameservers, then try to delete this zone again, otherwise your site will become inaccessible.'=>'Вы не можете удалить эту зону DNS, поскольку она все еще используется. Обновите серверы доменных имен, а затем попробуйте удалить эту зону снова, иначе ваш сайт станет недоступным.','The site is not a valid alias on QUIC.cloud.'=>'Сайт не является действительным псевдонимом на QUIC.cloud.','Please thoroughly test each JS file you add to ensure it functions as expected.'=>'Тщательно проверяйте каждый JS-файл, который вы добавляете, чтобы убедиться, что он работает так, как ожидается.','Please thoroughly test all items in %s to ensure they function as expected.'=>'Тщательно проверьте все элементы в %s, чтобы убедиться, что они работают так, как ожидается.','Use %1$s to bypass UCSS for the pages which page type is %2$s.'=>'Используйте %1$s для обхода UCSS для страниц, тип страницы которых %2$s.','Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.'=>'Используйте %1$s для генерации единичного UCSS для страниц, типом страницы которых является %2$s, в то время как другие типы страниц по-прежнему генерируются по URL.','Filter %s available for UCSS per page type generation.'=>'Фильтр %s доступен для генерации UCSS по типу страницы.','Guest Mode failed to test.'=>'Гостевой режим не прошел проверку.','Guest Mode passed testing.'=>'Гостевой режим прошел проверку.','Testing'=>'Проверка','Guest Mode testing result'=>'Результаты проверки гостевого режима','Not blocklisted'=>'Нет в черном списке','Learn more about when this is needed'=>'Узнайте больше о том, когда это необходимо','Cleaned all localized resource entries.'=>'Очищены все записи локализованных ресурсов.','View .htaccess'=>'Смотреть .htaccess','You can use this code %1$s in %2$s to specify the htaccess file path.'=>'Вы можете использовать этот код %1$s в %2$s для указания пути к файлу htaccess.','PHP Constant %s is supported.'=>'Поддерживается константа PHP %s.','Default path is'=>'Стандартный путь','.htaccess Path'=>'Путь к .htaccess','Please read all warnings before enabling this option.'=>'Прочитайте все предупреждения перед включением этой опции.','This will delete all generated unique CSS files'=>'Это удалит все сгенерированные уникальные файлы CSS','In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.'=>'Чтобы избежать ошибки обновления, вы должны использовать %1$s или более позднюю версию, прежде чем сможете выполнить обновление до версии %2$s.','Use latest GitHub Dev/Master commit'=>'Используйте последний коммит GitHub Dev/Master','Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.'=>'Нажмите кнопку %s, чтобы использовать последний коммит GitHub. Master предназначен для релиз-кандидата, а Dev - для экспериментального тестирования.','Downgrade not recommended. May cause fatal error due to refactored code.'=>'Понижение версии не рекомендуется. Может привести к фатальной ошибке из-за рефакторинга кода.','Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.'=>'Оптимизируйте страницы только для гостевого режима (не авторизованных пользователей). Если этот параметр выключен, файлы CSS/JS/CCSS будут удваиваться каждой группой пользователей.','Listed JS files or inline JS code will not be optimized by %s.'=>'Перечисленные JS файлы или встроенный JS код не будут оптимизированы %s.','Listed URI will not generate UCSS.'=>'Указанный URI не будет генерировать UCSS.','The selector must exist in the CSS. Parent classes in the HTML will not work.'=>'Селектор должен присутствовать в CSS. Родительские классы в HTML работать не будут.','Wildcard %s supported.'=>'Поддерживается подстановочный знак %s.','Useful for above-the-fold images causing CLS (a Core Web Vitals metric).'=>'Полезно для изображений в верхней части страницы, вызывающих CLS (показатель Core Web Vitals).','Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).'=>'Укажите явную ширину и высоту элементов изображения, чтобы уменьшить смещение макета и улучшить CLS (показатель Core Web Vitals).','Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.'=>'Изменения этого параметра не применяются к уже созданным LQIP. Чтобы регенерировать существующие LQIP, необходимо сперва %s из меню панели администратора.','Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).'=>'Вы можете уменьшить конфликт ресурсов и снизить FID (показатель Core Web Vitals) для повышения производительности, откладывая страницу до тех пор, пока она не будет проанализирована, или пока не произойдет взаимодействие.','Delayed'=>'Задержано','JS error can be found from the developer console of browser by right clicking and choosing Inspect.'=>'Ошибку JS можно найти в консоли разработчика браузера, щелкнув правой кнопкой мыши и выбрав «Просмотреть код».','This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.'=>'Этот параметр может привести к ошибке JS или проблеме с макетом на внешних страницах сайта при использовании определенных тем/плагинов.','This will also add a preconnect to Google Fonts to establish a connection earlier.'=>'Это также добавит предварительное подключение к Google Fonts, чтобы установить соединение раньше.','Delay rendering off-screen HTML elements by its selector.'=>'Задержка рендеринга внеэкранных HTML-элементов с помощью его селектора.','Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.'=>'Отключение этой опции позволяет вам генерировать CCSS на основе типа записи а не для каждой страницы. Это может значительно сократить использование CCSS, но стили CSS могут быть некорректными для сайтов, использующих Page Builder (конструктор страниц).','This option is bypassed due to %s option.'=>'Эта опция обходится из-за опции %s.','Elements with attribute %s in HTML code will be excluded.'=>'Элементы с атрибутом %s в HTML-коде будут исключены.','Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.'=>'Используйте онлайн-сервис QUIC.cloud для создания критического CSS и асинхронной загрузки оставшегося CSS.','This option will automatically bypass %s option.'=>'Эта опция автоматически обходит опцию %s.','Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.'=>'Встроенный UCSS для уменьшения загрузки дополнительных файлов CSS. Эта опция не будет автоматически включена для %1$s страниц. Чтобы использовать ее на страницах %1$s, установите значение ВКЛ.','Run %s Queue Manually'=>'Извлечь очередь %s вручную','This option is bypassed because %1$s option is %2$s.'=>'Этот опция обходится, потому что опция %1$s равна %2$s.','Automatic generation of unique CSS is in the background via a cron-based queue.'=>'Авто генерация уникального CSS происходит в фоновом режиме через очередь планировщика.','This will drop the unused CSS on each page from the combined file.'=>'Это приведёт к удалению неиспользуемого CSS на каждой странице из объединённого файла.','HTML Settings'=>'Настройки HTML','LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.'=>'Плагин LiteSpeed cache обновлен. Обновите страницу, чтобы завершить обновление данных конфигурации.','This option can help to correct the cache vary for certain advanced mobile or tablet visitors.'=>'Эта опция может помочь исправить изменение кэша некоторых продвинутых посетителей мобильных устройств или планшетов.','Guest Mode provides an always cacheable landing page for an automated guest\'s first time visit, and then attempts to update cache varies via AJAX.'=>'Гостевой режим всегда предоставляет гостю кэшируемую целевую страницу при первом посещении, последующее обновление кэша будет происходить через AJAX.','Please make sure this IP is the correct one for visiting your site.'=>'Убедитесь, что это правильный IP для посещения вашего сайта.','the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.'=>'автоматически определяемый IP может быть неточным, если у вас есть дополнительный исходящий IP или на вашем сервере настроено несколько IP-адресов.','You need to turn %s on and finish all WebP generation to get maximum result.'=>'Вам нужно включить %s и завершить генерацию WebP, чтобы получить максимальный результат.','You need to turn %s on to get maximum result.'=>'Для получения максимального результата необходимо включить %s.','This option enables maximum optimization for Guest Mode visitors.'=>'Эта опция обеспечивает макс. оптимизацию в гостевом режиме.','More'=>'Больше','Remaining Daily Quota'=>'Оставшаяся дневная квота','Successfully Crawled'=>'Успешно выполнен обход','Already Cached'=>'Уже кэширован','The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.'=>'Поисковый робот будет использовать вашу карту сайта XML или индекс карты сайта. Введите здесь полный URL-адрес sitemap .','Optional when API token used.'=>'Необязательно, если используется токен API.','Recommended to generate the token from Cloudflare API token template "WordPress".'=>'Рекомендуется сгенерировать токен из шаблона токена Cloudflare API «WordPress».','Global API Key / API Token'=>'Глобальный ключ API/токен API','Use external object cache functionality.'=>'Используйте функциональность внешнего кэша объектов.','Serve a separate cache copy for mobile visitors.'=>'Отдельная копия кэша для мобильных устройств.','By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.'=>'По умолчанию страницы «Моя учетная запись», «Оформление заказа» и «Корзина» автоматически исключаются из кэширования. Неправильная конфигурация ассоциаций страниц в настройках WooCommerce может привести к ошибочному исключению некоторых страниц.','Cleaned all Unique CSS files.'=>'Очищены все уникальные файлы CSS.','Add Missing Sizes'=>'Добавить недостающие размеры','Optimize for Guests Only'=>'Оптимизировать только для гостей','Guest Mode JS Excludes'=>'Исключить JS в гостевом режиме','CCSS Per URL'=>'CCSS на каждый URL','HTML Lazy Load Selectors'=>'Селекторы отложенной загрузки HTML','UCSS URI Excludes'=>'Исключения URI UCSS','UCSS Inline'=>'Встроить UCSS','Guest Optimization'=>'Гостевая оптимизация','Guest Mode'=>'Гостевой режим','Online node needs to be redetected.'=>'Сетевой узел необходимо определить повторно.','The current server is under heavy load.'=>'Текущий сервер сильно загружен.','Please see %s for more details.'=>'Дополнительные сведения см. в %s.','This setting will regenerate crawler list and clear the disabled list!'=>'Этот параметр пересоздаёт список поисковых роботов и очищает список отключенных!','%1$s %2$s files left in queue'=>'В очереди осталось %1$s %2$s файлов','Crawler disabled list is cleared! All crawlers are set to active! '=>'Список отключенных обходчиков очищен! Все обходчики активны! ','Redetected node'=>'Повторное обнаружение узла','No available Cloud Node after checked server load.'=>'Нет доступного узла Cloud Node после проверки нагрузки на сервер.','Localization Files'=>'Файлы локализации','Purged!'=>'Очищено!','Resources listed here will be copied and replaced with local URLs.'=>'Ресурсы, перечисленные здесь, будут скопированы и заменены локальными URL-адресами.','Use latest GitHub Master commit'=>'Использовать последний коммит GitHub Master','Use latest GitHub Dev commit'=>'Использовать последний коммит GitHub Dev','No valid sitemap parsed for crawler.'=>'Для поискового робота не была найдена действительная карта сайта.','CSS Combine External and Inline'=>'Объединение внешних и встроенных CSS','Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.'=>'Включить внешний CSS и встроенный CSS в объединенный файл, при условии включения %1$s. Этот параметр помогает поддерживать приоритеты CSS, что должно минимизировать возможные ошибки, вызванные объединением CSS.','Minify CSS files and inline CSS code.'=>'Минификация файлов CSS и встроенного кода CSS.','Predefined list will also be combined w/ the above settings'=>'Предварительно определенный список также будет объединен с приведенными выше настройками','Localization'=>'Локализация','Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.'=>'Включить внешний JS и встроенный JS в объединенный файл, при условии включения %1$s. Эта опция помогает поддерживать приоритеты выполнения JS, что должно минимизировать потенциальные ошибки, вызванные объединением JS.','Combine all local JS files into a single file.'=>'Объединение всех локальных файлов JS в один файл.','Listed JS files or inline JS code will not be deferred or delayed.'=>'Перечисленные файлы JS или встроенный код JS не будут отложены или задержаны.','JS Combine External and Inline'=>'Объединение внешних и встроенных JS','Dismiss'=>'Отклонить (Dismiss)','The latest data file is'=>'Последний файл данных','The list will be merged with the predefined nonces in your local data file.'=>'Список будет объединен с предопределенными одноразовыми числами (nonces) в вашем локальном файле данных.','Combine CSS files and inline CSS code.'=>'Объединение файлов CSS и встроенного кода CSS.','Minify JS files and inline JS codes.'=>'Минификация файлов JS и встроенного кода JS.','LQIP Excludes'=>'Исключения LQIP','These images will not generate LQIP.'=>'Для этих изображений не будет генерироваться LQIP.','Are you sure you want to reset all settings back to the default settings?'=>'Вы действительно хотите вернуть все параметры к настройкам по умолчанию?','This option will remove all %s tags from HTML.'=>'Этот параметр удалит все теги %s из HTML.','Are you sure you want to clear all cloud nodes?'=>'Вы уверены, что хотите очистить все облачные узлы?','Remove Noscript Tags'=>'Удалить теги Noscript','The site is not registered on QUIC.cloud.'=>'Сайт не зарегистрирован на QUIC.cloud.','Click here to set.'=>'Щелкните здесь, чтобы установить.','Localize Resources'=>'Локализация ресурсов','Setting Up Custom Headers'=>'Настройка пользовательских заголовков','This will delete all localized resources'=>'Это приведет к удалению всех локализованных ресурсов','Localized Resources'=>'Локализованные ресурсы','Comments are supported. Start a line with a %s to turn it into a comment line.'=>'Комментарии строк поддерживаются. Начните строку с %s, чтобы закомментировать её.','HTTPS sources only.'=>'Только HTTPS источники.','Localize external resources.'=>'Локализация внешних ресурсов.','Localization Settings'=>'Настройки локализации','Use QUIC.cloud online service to generate unique CSS.'=>'Используйте онлайн-сервис QUIC.cloud для создания уникального CSS.','Generate UCSS'=>'Сгенерировать UCSS','Unique CSS'=>'Уникальный CSS','Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches'=>'Очистить записи кэша, созданные этим плагином, за исключением кэша критического/уникального CSS и LQIP','LiteSpeed Report'=>'Отчёт LiteSpeed','Image Thumbnail Group Sizes'=>'Размеры групп миниатюр изображений','Ignore certain query strings when caching. (LSWS %s required)'=>'Игнорировать определенные строки запроса при кэшировании (требуется LSWS %s)','For URLs with wildcards, there may be a delay in initiating scheduled purge.'=>'URL-адреса с подстановочными знаками могут отложить начало запланированной очистки.','By design, this option may serve stale content. Do not enable this option, if that is not OK with you.'=>'Из-за особенностей этого параметра, он может отдавать устаревший контент. Не включайте его, если для вас это критично.','Serve Stale'=>'Просроченный кэш','One or more pulled images does not match with the notified image md5'=>'Одно или несколько извлечённых изображений не совпадают с md5 заявленного изображения','Some optimized image file(s) has expired and was cleared.'=>'Некоторые оптимизированные файлы изображений были просрочены и очищены.','You have too many requested images, please try again in a few minutes.'=>'У вас слишком много запрошенных изображений. Повторите попытку через несколько минут.','Pulled WebP image md5 does not match the notified WebP image md5.'=>'Извлеченный md5 WebP-изображения не совпадает с md5 уведомленного WebP-изображения.','Pulled AVIF image md5 does not match the notified AVIF image md5.'=>'Вытащенный md5 AVIF-изображения не совпадает с md5 уведомленного AVIF-изображения.','Read LiteSpeed Documentation'=>'Прочитать документацию LiteSpeed','There is proceeding queue not pulled yet. Queue info: %s.'=>'Обработка очереди ещё не завершена. Осталось: %s.','Specify how long, in seconds, Gravatar files are cached.'=>'Укажите продолжительность кэширования файлов Gravatar в секундах.','Cleared %1$s invalid images.'=>'Очищено %1$s недопустимых изображений.','LiteSpeed Cache General Settings'=>'Общие настройки LiteSpeed Cache','This will delete all cached Gravatar files'=>'Это удалит все кэшированные файлы Gravatar','Prevent any debug log of listed pages.'=>'Предотвращает ведение журнала отладки перечисленных страниц.','Only log listed pages.'=>'Заносить в журнал только перечисленные страницы.','Specify the maximum size of the log file.'=>'Укажите макс. размер файла журнала.','To prevent filling up the disk, this setting should be OFF when everything is working.'=>'Чтобы предотвратить переполнение диска, эта настройка должна быть ВЫКЛ. в рабочей среде.','Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.'=>'Нажмите кнопку %s, чтобы остановить бета-тестирование и вернуться к текущему выпуску из каталога плагинов WordPress.','Use latest WordPress release version'=>'Используйте последнюю версию выпуска WordPress','OR'=>'ИЛИ','Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.'=>'Используйте этот раздел для переключения версий подключаемых модулей. Для бета-тестирования GitHub commit введите URL-адрес коммита в поле ниже.','Reset Settings'=>'Сбросить настройки','LiteSpeed Cache Toolbox'=>'Инструментарий LiteSpeed Cache','Beta Test'=>'Бета-тест','Log View'=>'Просмотр журнала','Debug Settings'=>'Настройки отладки','Turn ON to control heartbeat in backend editor.'=>'Включите, чтобы контролировать пульсацию в редакторе.','Turn ON to control heartbeat on backend.'=>'Включите, чтобы контролировать пульсацию на бэкенде.','Set to %1$s to forbid heartbeat on %2$s.'=>'Установите значение %1$s, чтобы запретить пульсацию на %2$s.','WordPress valid interval is %s seconds.'=>'Допустимый интервал в WordPress составляет %s секунд.','Specify the %s heartbeat interval in seconds.'=>'Укажите интервал пульсации %s в секундах.','Turn ON to control heartbeat on frontend.'=>'Включите контроль пульсации на фронтенде.','Disable WordPress interval heartbeat to reduce server load.'=>'Отключите интервальную пульсацию WordPress, чтобы снизить нагрузку на сервер.','Heartbeat Control'=>'Управление пульсацией','provide more information here to assist the LiteSpeed team with debugging.'=>'предоставьте здесь дополнительные сведения, чтобы помочь команде LiteSpeed в отладке.','Optional'=>'По желанию','Generate Link for Current User'=>'Сгенерировать ссылку для текущего пользователя','Passwordless Link'=>'Беспарольная ссылка','System Information'=>'Системная информация','Go to plugins list'=>'Перейти в список плагинов','Install DoLogin Security'=>'Установить DoLogin Security','Check my public IP from'=>'Проверить мой общедоступный IP-адрес от','Your server IP'=>'Ваш IP-адрес сервера','Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.'=>'Введите IP-адрес этого сайта, чтобы облачная служба могла вызывать IP напрямую, а не через доменное имя. Это устраняет накладные расходы на поиск DNS и CDN.','This will enable crawler cron.'=>'Это включит расписание поискового робота.','Crawler General Settings'=>'Общие настройки поискового робота','Remove from Blocklist'=>'Удалить из чёрного списка','Empty blocklist'=>'Очистить чёрный список','Are you sure to delete all existing blocklist items?'=>'Вы уверены, что хотите удалить все существующие черные списки?','Blocklisted due to not cacheable'=>'Занесен в черный список из-за невозможности кэширования','Add to Blocklist'=>'Добавить в черный список','Operation'=>'Операция','Sitemap Total'=>'Всего файлов Sitemap','Sitemap List'=>'Список файлов Sitemap','Refresh Crawler Map'=>'Обновить карту поискового робота','Clean Crawler Map'=>'Очистить карту поискового робота','Blocklist'=>'Черный список','Map'=>'Карта','Summary'=>'Резюме','Cache Miss'=>'Промахи в кэше','Cache Hit'=>'Попадание в кэше','Waiting to be Crawled'=>'Ожидание обхода','Blocklisted'=>'Занесен в черный список','Miss'=>'Промах','Hit'=>'Попадание','Waiting'=>'Ожидание','Running'=>'Выполняется','Use %1$s in %2$s to indicate this cookie has not been set.'=>'Используйте %1$s в %2$s, чтобы указать, что этот файл cookie не был установлен.','Add new cookie to simulate'=>'Добавьте новый файл cookie для имитации','Remove cookie simulation'=>'Удалить симуляцию файлов cookie','Htaccess rule is: %s'=>'Правило Htaccess: %s','More settings available under %s menu'=>'Дополнительные настройки доступны в меню %s','The amount of time, in seconds, that files will be stored in browser cache before expiring.'=>'Время (в секундах), в течение которого файлы будут храниться в кэше браузера до истечения срока действия.','OpenLiteSpeed users please check this'=>'Пользователи OpenLiteSpeed, проверьте это','Browser Cache Settings'=>'Настройки кэша браузера','Paths containing these strings will be forced to public cached regardless of no-cacheable settings.'=>'Пути, содержащие эти строки, будут принудительно кэшироваться в public (публичном) кэше, независимо от настроек отсутствия кеширования.','With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.'=>'Если включен CDN QUIC.cloud, вы все равно можете просматривать заголовки кеша со своего локального сервера.','An optional second parameter may be used to specify cache control. Use a space to separate'=>'Необязательный второй параметр может быть использован для указания управления кэшем. Используйте пробел для разделения','The above nonces will be converted to ESI automatically.'=>'Указанные выше одноразовые числа (nonces) будут автоматически преобразованы в ESI.','Browser'=>'Браузер','Object'=>'Объектное','Default port for %1$s is %2$s.'=>'Стандартный порт %1$s - %2$s.','Object Cache Settings'=>'Настройки объектного кэширования','Specify an HTTP status code and the number of seconds to cache that page, separated by a space.'=>'Укажите код состояния HTTP и количество секунд для кеширования страницы, разделив их пробелом.','Specify how long, in seconds, the front page is cached.'=>'Укажите в секундах время кэширования главной страницы.','TTL'=>'TTL','If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.'=>'Если ВКЛ, то устаревшая копия кэшированной страницы будет показываться посетителям до тех пор, пока не будет доступна новая копия кэша. Снижает нагрузку на сервер при последующих посещениях. Если ВЫКЛ, страница будет динамически генерироваться, пока посетители ждут.','Swap'=>'Swap','Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.'=>'Выберите добавление %1$s ко всем правилам %2$s, чтобы указать, как шрифты должны отображаться во время загрузки.','Avatar list in queue waiting for update'=>'Список аватаров в очереди на обновление','Refresh Gravatar cache by cron.'=>'Обновлять кэш Gravatar с помощью планировщика.','Accelerates the speed by caching Gravatar (Globally Recognized Avatars).'=>'Ускоряет загрузку за счёт кэширования Gravatar (глобально распознаваемый аватар).','Store Gravatar locally.'=>'Храните Gravatar локально (в кэше).','Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.'=>'Не удалось создать таблицу аватара. Следуйте <a %s>инструкциям по созданию таблиц из Wiki LiteSpeed</a>, чтобы завершить установку.','LQIP requests will not be sent for images where both width and height are smaller than these dimensions.'=>'LQIP не будет создаваться для изображений, меньших заданной ширины и высоты.','pixels'=>'пикс.','Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.'=>'Большее значение приведёт к созданию заполнителя с более высоким разрешением, но также приведёт к увеличению размера файлов, что увеличит размер страницы.','Specify the quality when generating LQIP.'=>'Укажите качество при генерации LQIP.','Keep this off to use plain color placeholders.'=>'Не включайте, чтобы использовать заливку цветом.','Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.'=>'Использовать QUIC.cloud LQIP (Заполнитель изображения низкого качества) для отображения во время загрузки адаптивных изображений.','Specify the responsive placeholder SVG color.'=>'Укажите цвет адаптивного SVG заполнителя.','Variables %s will be replaced with the configured background color.'=>'Переменные %s будут заменены настроенным цветом фона.','Variables %s will be replaced with the corresponding image properties.'=>'Переменные %s будут заменены на соответствующие свойства изображения.','It will be converted to a base64 SVG placeholder on-the-fly.'=>'Он будет на лету преобразован в SVG-заполнитель base64.','Specify an SVG to be used as a placeholder when generating locally.'=>'Укажите SVG, который будет использоваться в качестве заполнителя при локальной генерации.','Prevent any lazy load of listed pages.'=>'Предотвращает любую отложенную загрузку перечисленных страниц.','Iframes having these parent class names will not be lazy loaded.'=>'Iframes, имеющие эти родительские имена классов, не будут отложено загружаться.','Iframes containing these class names will not be lazy loaded.'=>'Iframes, содержащие эти имена классов, не будут отложено загружаться.','Images having these parent class names will not be lazy loaded.'=>'Изображения с этими именами родительских классов, не будут отложено загружаться.','LiteSpeed Cache Page Optimization'=>'Оптимизация страницы LiteSpeed Cache','Media Excludes'=>'Исключения медиа','CSS Settings'=>'Настройки CSS','%s is recommended.'=>'Рекомендуется %s.','Deferred'=>'Отложено','Default'=>'По умолчанию','This can improve the page loading speed.'=>'Это может улучшить скорость загрузки страницы.','Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.'=>'Авто включение предварительной выборки DNS для всех URL-адресов в документе, включая изображения, CSS, JavaScript и т.д.','New developer version %s is available now.'=>'Доступна новая версия для разработчиков %s.','New Developer Version Available!'=>'Доступна новая версия для разработчиков!','Dismiss this notice'=>'Отклонить это уведомление','Tweet this'=>'Твитнуть это','Tweet preview'=>'Предварительный просмотр Tweet','Learn more'=>'Подробнее','You just unlocked a promotion from QUIC.cloud!'=>'Вы только что разблокировали промоакцию от QUIC.cloud!','The image compression quality setting of WordPress out of 100.'=>'Настройка качества сжатия изображения WordPress от 0 до 100.','Image Optimization Settings'=>'Настройки оптимизации изображений','Are you sure to destroy all optimized images?'=>'Вы уверены, что хотите уничтожить все оптимизированные изображения?','Use Optimized Files'=>'Использовать оптимизированные файлы','Switch back to using optimized images on your site'=>'Вернуться к использованию оптимизированных изображений на сайте','Use Original Files'=>'Использовать исходные файлы','Use original images (unoptimized) on your site'=>'Использовать исходные (неоптимизированные) изображения на сайте','You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.'=>'Вы можете быстро переключаться между использованием исходных (неоптимизированных версий) и оптимизированных файлов изображений. Это повлияет на все изображения на вашем веб-сайте, как на обычные, так и на веб-версии, если они доступны.','Optimization Tools'=>'Инструменты оптимизации','Rescan New Thumbnails'=>'Повторное сканирование новых миниатюр','Congratulations, all gathered!'=>'Поздравляем, все собрано!','What is an image group?'=>'Что такое группа изображений?','Delete all backups of the original images'=>'Удалить все резервные копии исходных изображений','Calculate Backups Disk Space'=>'Расчет дискового пространства для резервных копий','Optimization Status'=>'Состояние оптимизации','Current limit is'=>'Текущий лимит','To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.'=>'Чтобы убедиться, что наш сервер может без проблем взаимодействовать с вашим, в нескольких первых запросах количество групп изображений в каждом запросе будет ограничено.','You can request a maximum of %s images at once.'=>'Можно запросить не более %s изображений одновременно.','Optimize images with our QUIC.cloud server'=>'Оптимизация изображений с помощью нашего сервера QUIC.cloud','Revisions newer than this many days will be kept when cleaning revisions.'=>'Редакции более ранние, чем это количество дней, будут сохранены при очистке редакций.','Day(s)'=>'День(и)','Specify the number of most recent revisions to keep when cleaning revisions.'=>'Укажите количество последних редакций, которые нужно сохранить при очистке.','LiteSpeed Cache Database Optimization'=>'Оптимизация БД LiteSpeed Cache','DB Optimization Settings'=>'Настройки оптимизации БД','Option Name'=>'Имя параметра','Database Summary'=>'Сводка по базе данных','We are good. No table uses MyISAM engine.'=>'Всё хорошо. Нет таблиц, использующих движок MyISAM.','Convert to InnoDB'=>'Преобразовать в InnoDB','Tool'=>'Инструмент','Engine'=>'Движок','Table'=>'Таблица','Database Table Engine Converter'=>'Конвертер ядра таблиц базы данных','Clean revisions older than %1$s day(s), excluding %2$s latest revisions'=>'Очистить редакции старше %1$s дн., за исключением %2$s последних редакций','Currently active crawler'=>'Активный поисковый робот','Crawler(s)'=>'Поисковый робот(ы)','Crawler Status'=>'Статус поискового робота','Force cron'=>'Принудительный cron','Requests in queue'=>'Запросы в очереди','Private Cache'=>'Приватный кэш','Public Cache'=>'Публичный кэш','Cache Status'=>'Статус кэша','Last Pull'=>'Последнее извлечение','Image Optimization Summary'=>'Сводка по оптимизации изображения','Refresh page score'=>'Обновить показатель страницы','Are you sure you want to redetect the closest cloud server for this service?'=>'Вы действительно хотите повторно определить ближайший облачный сервер для этой службы?','Refresh page load time'=>'Обновить время загрузки страницы','Go to QUIC.cloud dashboard'=>'Перейдите в панель управления QUIC.cloud','Low Quality Image Placeholder'=>'Заполнитель изображения низкого качества (LQIP)','Sync data from Cloud'=>'Синхронизация данных из облака','QUIC.cloud Service Usage Statistics'=>'Статистика использования сервиса QUIC.cloud','Total images optimized in this month'=>'Всего изображений, оптимизированных в этом месяце','Total Usage'=>'Всего использовано','Pay as You Go Usage Statistics'=>'Статистика использования системы Pay as You Go','PAYG Balance'=>'Баланс оплаты по факту','Pay as You Go'=>'Оплата по факту','Usage'=>'Использование','Fast Queue Usage'=>'Использование быстрой очереди','CDN Bandwidth'=>'Трафик CDN','LiteSpeed Cache Dashboard'=>'Панель управления LiteSpeed Cache','Network Dashboard'=>'Панель управления сетью','No cloud services currently in use'=>'В настоящее время облачные службы не используются','Click to clear all nodes for further redetection.'=>'Щелкните, чтобы очистить все узлы для дальнейшего повторного обнаружения.','Current Cloud Nodes in Service'=>'Текущие облачные узлы в обслуживании','Link to QUIC.cloud'=>'Подключить аккаунт на QUIC.cloud','General Settings'=>'Общие настройки','Specify which HTML element attributes will be replaced with CDN Mapping.'=>'Укажите, какие атрибуты элементов HTML будут заменены на CDN Mapping.','Add new CDN URL'=>'Добавить новый URL-адрес CDN','Remove CDN URL'=>'Удалить URL-адрес CDN','To enable the following functionality, turn ON Cloudflare API in CDN Settings.'=>'Чтобы включить следующие функции, включите API CloudFlare в настройках CDN.','QUIC.cloud'=>'QUIC.cloud','WooCommerce Settings'=>'Настройки WooСommerce','LQIP Cache'=>'Кэш LQIP','Options saved.'=>'Настройки сохранены.','Removed backups successfully.'=>'Резервные копии удалены успешно.','Calculated backups successfully.'=>'Расчет резервных копий выполнен успешно.','Rescanned %d images successfully.'=>'Повторное сканирование %d изображений выполнено успешно.','Rescanned successfully.'=>'Повторное сканирование выполнено успешно.','Destroy all optimization data successfully.'=>'Успешно уничтожены все данные оптимизации.','Cleaned up unfinished data successfully.'=>'Успешно очищены незавершенные данные.','Pull Cron is running'=>'Выполнить извлечение через cron','No valid image found by Cloud server in the current request.'=>'В текущем запросе облачный сервер не нашел ни одного допустимого изображения.','No valid image found in the current request.'=>'В текущем запросе не найдено допустимое изображение.','Pushed %1$s to Cloud server, accepted %2$s.'=>'На облачный сервер отправлено %1$s, принято %2$s.','Revisions Max Age'=>'Макс. возраст редакций','Revisions Max Number'=>'Макс. количество редакций','Debug URI Excludes'=>'Исключение отладочных URI','Debug URI Includes'=>'Включение отладочных URI','HTML Attribute To Replace'=>'HTML-атрибут для замены','Use CDN Mapping'=>'Использовать CDN Mapping','Editor Heartbeat TTL'=>'TTL пульсации в редакторе','Editor Heartbeat'=>'Пульсации в редакторе','Backend Heartbeat TTL'=>'TTL пульсации внутреннего интерфейса','Backend Heartbeat Control'=>'Управление пульсацией во внутреннем интерфейсе','Frontend Heartbeat TTL'=>'TTL пульсации внешнего интерфейса','Frontend Heartbeat Control'=>'Управление пульсацией во внешнем интерфейсе','Backend .htaccess Path'=>'Путь к .htaccess во внутреннем интерфейсе','Frontend .htaccess Path'=>'Путь к .htaccess во внешнем интерфейсе','ESI Nonces'=>'ESI Nonces','WordPress Image Quality Control'=>'Управление качеством изображения в WordPress','Auto Request Cron'=>'Авто запрос через Cron','Generate LQIP In Background'=>'Генерировать LQIP в фоновом режиме','LQIP Minimum Dimensions'=>'Мин. размеры LQIP','LQIP Quality'=>'Качество LQIP','LQIP Cloud Generator'=>'Генератор LQIP в облаке','Responsive Placeholder SVG'=>'SVG, как адаптивный заполнитель','Responsive Placeholder Color'=>'Цвет адаптивного заполнителя','Basic Image Placeholder'=>'Основной заполнитель изображения','Lazy Load URI Excludes'=>'Исключить отложенную загрузку URI','Lazy Load Iframe Parent Class Name Excludes'=>'Исключить отложенную загрузку имен родительского класса Iframe','Lazy Load Iframe Class Name Excludes'=>'Исключить отложенную загрузку имен классов iframe','Lazy Load Image Parent Class Name Excludes'=>'Исключить отложенную загрузку имен родительского класса изображений','Gravatar Cache TTL'=>'TTL кэша Gravatar','Gravatar Cache Cron'=>'Cron кэша Gravatar','Gravatar Cache'=>'Кэш Gravatar','DNS Prefetch Control'=>'Управление предварительной выборкой DNS','Font Display Optimization'=>'Оптимизация отображения шрифта','Force Public Cache URIs'=>'Принудительно использовать URI Public Cache','Notifications'=>'Уведомления','Default HTTP Status Code Page TTL'=>'TTL страницы кода статуса HTTP по умолчанию','Default REST TTL'=>'TTL REST по умолчанию','Enable Cache'=>'Включить кэш','Server IP'=>'IP-адрес сервера','Images not requested'=>'Изображения не запрошены','Sync credit allowance with Cloud Server successfully.'=>'Успешная синхронизация кредита с облачным сервером.','Failed to communicate with QUIC.cloud server'=>'Не удалось связаться с сервером QUIC.cloud','Good news from QUIC.cloud server'=>'Хорошие новости с сервера QUIC.cloud','Message from QUIC.cloud server'=>'Сообщение с сервера QUIC.cloud','Please try after %1$s for service %2$s.'=>'Повторите попытку после %1$s для службы %2$s.','No available Cloud Node.'=>'Нет доступного узла облака.','Cloud Error'=>'Ошибка облака (Cloud)','The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.'=>'База данных обновляется в фоновом режиме с %s. Это сообщение исчезнет после завершения обновления.','Restore from backup'=>'Восстановление из резервной копии','No backup of unoptimized WebP file exists.'=>'Резервной копии неоптимизированного файла WebP не существует.','WebP file reduced by %1$s (%2$s)'=>'Файл WebP уменьшен на %1$s (%2$s)','Currently using original (unoptimized) version of WebP file.'=>'В настоящее время используется исходная (неоптимизированная) версия файла WebP.','Currently using optimized version of WebP file.'=>'В настоящее время используется оптимизированная версия файла WebP.','Orig'=>'Оригинал','(no savings)'=>'(без экономии)','Orig %s'=>'Оригинал %s','Congratulation! Your file was already optimized'=>'Поздравляем! Ваш файл уже оптимизирован','No backup of original file exists.'=>'Резервная копия исходного файла отсутствует.','Using optimized version of file. '=>'Использование оптимизированной версии файла. ','Orig saved %s'=>'Оригинал сохранен %s','Original file reduced by %1$s (%2$s)'=>'Исходный файл уменьшен на %1$s (%2$s)','Click to switch to optimized version.'=>'Щелкните, чтобы переключиться на оптимизированную версию.','Currently using original (unoptimized) version of file.'=>'В настоящее время используется исходная (неоптимизированная) версия файла.','(non-optm)'=>'(без оптимизации)','Click to switch to original (unoptimized) version.'=>'Щелкните, чтобы переключиться на исходную (неоптимизированную) версию.','Currently using optimized version of file.'=>'В настоящее время используется оптимизированная версия файла.','(optm)'=>'(оптимизация)','LQIP image preview for size %s'=>'Предпросмотр изображения LQIP для размера %s','LQIP'=>'LQIP','Previously existed in blocklist'=>'Ранее был в черном списке','Manually added to blocklist'=>'Ручное добавление в черный список','Mobile Agent Rules'=>'Правила для мобильных агентов','Sitemap created successfully: %d items'=>'Sitemap создал успешно: %d элементов','Sitemap cleaned successfully'=>'Успешная очистка Sitemap','Invalid IP'=>'Недопустимый IP-адрес','Value range'=>'Диапазон значений','Smaller than'=>'Меньше, чем','Larger than'=>'Больше, чем','Zero, or'=>'Ноль, или','Maximum value'=>'Макс. значение','Minimum value'=>'Мин. значение','Path must end with %s'=>'Путь должен заканчиваться на %s','Invalid rewrite rule'=>'Недопустимое правило перезаписи','Toolbox'=>'Инструменты','Database'=>'База данных','Page Optimization'=>'Оптимизация страницы','Dashboard'=>'Панель управления','Converted to InnoDB successfully.'=>'Успешно преобразовано в InnoDB.','Cleaned all Gravatar files.'=>'Очищены все файлы Gravatar.','Cleaned all LQIP files.'=>'Очищены все файлы LQIP.','Unknown error'=>'Неизвестная ошибка','Your domain has been forbidden from using our services due to a previous policy violation.'=>'Вашему домену запрещено использовать наши службы из-за предыдущего нарушения политики.','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: '=>'Проверка обратного вызова для вашего домена не удалась. Убедитесь, что наши серверы не блокируются брандмауэром. Код ответа: ','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.'=>'Проверка обратного вызова для вашего домена не удалась. Убедитесь, что наши серверы не блокируются брандмауэром.','The callback validation to your domain failed due to hash mismatch.'=>'Проверка обратного вызова для вашего домена не удалась из-за несоответствия хэша.','Your application is waiting for approval.'=>'Ваша заявка ожидает утверждения.','Previous request too recent. Please try again after %s.'=>'Предыдущий запрос слишком недавний. Повторите попытку через %s.','Previous request too recent. Please try again later.'=>'Предыдущий запрос слишком недавний. Повторите попытку позже.','Crawler disabled by the server admin.'=>'Администратор сервера отключил поисковый робот.','Could not find %1$s in %2$s.'=>'Не удалось найти %1$s в %2$s.','Credits are not enough to proceed the current request.'=>'Недостаточно кредитов для продолжения текущего запроса.','There is proceeding queue not pulled yet.'=>'Идет обработка. очередь еще не извлечена.','The image list is empty.'=>'Список изображений пустой.','LiteSpeed Crawler Cron'=>'Cron для поискового робота LiteSpeed','Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.'=>'Включите эту опцию, чтобы автоматически показывать последние новости, включая исправления, новые релизы, доступные бета-версии и рекламные акции.','To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.'=>'Чтобы предоставить wp-admin доступ к группе поддержки LiteSpeed, сгенерируйте ссылку без пароля для текущего зарегистрированного пользователя, который будет отправлен вместе с отчетом.','Please do NOT share the above passwordless link with anyone.'=>'НЕ передавайте никому указанную выше ссылку без пароля.','To generate a passwordless link for LiteSpeed Support Team access, you must install %s.'=>'Чтобы сгенерировать беспарольную ссылку для доступа к службе поддержки LiteSpeed, необходимо установить %s.','Install'=>'Установить','These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.'=>'Эти настройки доступны только в LiteSpeed Enterprise Web Server или QUIC.cloud CDN.','PageSpeed Score'=>'Показатель PageSpeed','Improved by'=>'Улучшено на','After'=>'После','Before'=>'Перед','Page Load Time'=>'Время загрузки страницы','To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.'=>'Для использования функций кэширования необходимо иметь веб-сервер LiteSpeed или использовать QUIC.cloud CDN.','Preserve EXIF/XMP data'=>'Хранить данные EXIF/XMP','Try GitHub Version'=>'Попробуйте версию GitHub','If you turn any of the above settings OFF, please remove the related file types from the %s box.'=>'Если вы отключите какие-либо из вышеперечисленных настроек, удалите соответствующие типы файлов из поля %s.','Both full and partial strings can be used.'=>'Могут использоваться как полные, так и частичные строки.','Images containing these class names will not be lazy loaded.'=>'Изображения, содержащие эти имена классов, не будут отложено загружаться.','Lazy Load Image Class Name Excludes'=>'Исключить отложенную загрузку имен классов изображений','For example, %1$s defines a TTL of %2$s seconds for %3$s.'=>'Например, %1$s определяет время жизни (TTL ) %2$s секунд для %3$s.','To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.'=>'Чтобы задать собственный TTL (время жизни) для URI, добавьте в конец URI пробел, за которым следует значение TTL.','Maybe Later'=>'Может быть, позже','Turn On Auto Upgrade'=>'Включить автообновление','Upgrade'=>'Обновление','New release %s is available now.'=>'Новый выпуск %s уже доступен.','New Version Available!'=>'Доступна новая версия!','Created with ❤️ by LiteSpeed team.'=>'Создан с ❤️ командой LiteSpeed.','Sure I\'d love to review!'=>'Конечно, я хотел бы сделать обзор!','Thank You for Using the LiteSpeed Cache Plugin!'=>'Спасибо за использование плагина LiteSpeed Cache!','Upgraded successfully.'=>'Обновление выполнено успешно.','Failed to upgrade.'=>'Не удалось обновить.','Changed setting successfully.'=>'Настройка успешно изменена.','ESI sample for developers'=>'Образец ESI для разработчиков','Replace %1$s with %2$s.'=>'Заменить %1$s на %2$s.','You can turn shortcodes into ESI blocks.'=>'Вы можете превратить шорткоды в блоки ESI.','WpW: Private Cache vs. Public Cache'=>'WpW: Private Cache в сравнении с Public Cache','Append query string %s to the resources to bypass this action.'=>'Чтобы обойти это, добавьте к ресурсу строку запроса %s.','Google reCAPTCHA will be bypassed automatically.'=>'Google reCAPTCHA будет автоматически обойдена.','To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.'=>'Чтобы сканировать конкретный cookie, введите имя cookie и значения, которые нужно сканировать. Значения должны быть по одному в каждой строке. Для каждого значения cookie каждой моделируемой роли создаётся отдельный поисковый робот.','Cookie Values'=>'Значения файлов cookie','Cookie Name'=>'Имя cookie','Cookie Simulation'=>'Симуляция куки','Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.'=>'Используйте библиотеку Web Font Loader для асинхронной загрузки Google Fonts, оставляя другие CSS нетронутыми.','Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.'=>'Включите этот параметр, чтобы авто обновлять LiteSpeed Cache при выпуске новой версии. Если выключено, обновление вручную, как обычно.','Automatically Upgrade'=>'Авто обновление','Your IP'=>'Ваш IP','Reset successfully.'=>'Сброс успешно выполнен.','This will reset all settings to default settings.'=>'Это сбросит все настройки до значений по умолчанию.','Reset All Settings'=>'Сбросить все настройки','Separate critical CSS files will be generated for paths containing these strings.'=>'Для путей, содержащих эти строки, будут созданы отдельные критические CSS файлы.','Separate CCSS Cache URIs'=>'Отдельные URI кэша CCSS','For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.'=>'Например, если каждая страница вашего сайта имеет разное форматирование, введите %s в поле. Для каждой страницы сайта будут храниться отдельные критические CSS файлы.','List post types where each item of that type should have its own CCSS generated.'=>'Перечислите типы записей, в которых каждый предмет этого типа должен иметь собственный сгенерированный CCSS.','Separate CCSS Cache Post Types'=>'Разделить кеш CCSS по типу записей','Size list in queue waiting for cron'=>'Список размеров в очереди, ожидающей cron','If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.'=>'Если установлено значение %1$s, перед локализацией заполнителя будет использоваться конфигурация %2$s .','Automatically generate LQIP in the background via a cron-based queue.'=>'Авто генерировать LQIP в фоновом режиме через очередь на основе cron.','This will generate the placeholder with same dimensions as the image if it has the width and height attributes.'=>'Это сгенерирует заполнитель с теми же размерами, что и изображение, если оно имеет атрибуты ширины и высоты.','Responsive image placeholders can help to reduce layout reshuffle when images are loaded.'=>'Адаптивные заполнители изображений могут помочь уменьшить дрожание макета при загрузке изображений.','Responsive Placeholder'=>'Адаптивный заполнитель','This will delete all generated image LQIP placeholder files'=>'Это приведет к удалению всех сгенерированных файлов-заполнителей LQIP изображений','Please enable LiteSpeed Cache in the plugin settings.'=>'Включите LiteSpeed Cache в настройках плагина.','Please enable the LSCache Module at the server level, or ask your hosting provider.'=>'Включите модуль LSCache на уровне сервера или обратитесь к своему хостинг-провайдеру.','Failed to request via WordPress'=>'Не удалось выполнить запрос через WordPress','High-performance page caching and site optimization from LiteSpeed'=>'Высокопроизводительное кэширование страниц и оптимизация сайта от LiteSpeed','Reset the optimized data successfully.'=>'Сброс оптимизированных данных успешно выполнен.','Update %s now'=>'Обновить %s сейчас','View %1$s version %2$s details'=>'См. подробности в %1$s версии %2$s','<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.'=>'<a href="%1$s" %2$s>Просмотреть подробную информацию о версии %3$s details</a> or <a href="%4$s" %5$s target="_blank">обновить сейчас</a>.','Install %s'=>'Установить %s','LSCache caching functions on this page are currently unavailable!'=>'Функции кэширования LiteSpeed Cache на этой странице в настоящее время недоступны!','%1$s plugin version %2$s required for this action.'=>'Для этого действия требуется плагин %1$s версии %2$s .','We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.'=>'Мы прилагаем все усилия, чтобы улучшить качество вашего обслуживания в Интернете. Пока мы работаем, сервис будет недоступен. Мы приносим извинения за возможные неудобства.','Automatically remove the original image backups after fetching optimized images.'=>'Авто удаление резервных копий исходных изображений после получения оптимизированных изображений.','Remove Original Backups'=>'Удалить исходные резервные копии','Automatically request optimization via cron job.'=>'Авто запрашивать оптимизацию с помощью cron-задания.','A backup of each image is saved before it is optimized.'=>'Перед оптимизацией сохраняется резервная копия каждого изображения.','Switched images successfully.'=>'Изображения успешно переключены.','This can improve quality but may result in larger images than lossy compression will.'=>'Это может улучшить качество, но может привести к получению изображений большего размера, чем при сжатии с потерями.','Optimize images using lossless compression.'=>'Оптимизация изображений, используя сжатие без потерь.','Optimize Losslessly'=>'Оптимизация без потерь','Request WebP/AVIF versions of original images when doing optimization.'=>'При оптимизации запрашивайте WebP/AVIF-версии исходных изображений.','Optimize images and save backups of the originals in the same folder.'=>'Оптимизируйте изображения и сохраняйте резервные копии оригиналов в той же папке.','Optimize Original Images'=>'Оптимизация исходных изображений','When this option is turned %s, it will also load Google Fonts asynchronously.'=>'Если этот параметр %s включен, это приведет к асинхронной загрузке шрифтов Google.','Cleaned all Critical CSS files.'=>'Очищены все критические CSS файлы.','This will inline the asynchronous CSS library to avoid render blocking.'=>'Это позволит встроить асинхронную библиотеку CSS, чтобы избежать блокировки рендеринга.','Inline CSS Async Lib'=>'Встроенная асинхронная библиотека CSS','Run Queue Manually'=>'Запустить очередь вручную','URL list in %s queue waiting for cron'=>'Список URL-адресов в очереди %s ожидает cron','Last requested cost'=>'Стоимость последнего запроса','Last generated'=>'Последний сгенерированный','If set to %s this is done in the foreground, which may slow down page load.'=>'Если установлено значение %s, это выполняется на переднем плане, что может замедлить загрузку страницы.','Automatic generation of critical CSS is in the background via a cron-based queue.'=>'Авто генерация критического CSS выполняется в фоновом режиме через очередь на основе cron.','Optimize CSS delivery.'=>'Оптимизация доставки CSS.','This will delete all generated critical CSS files'=>'Это приведет к удалению всех сгенерированных критических CSS файлов','Critical CSS'=>'Критический CSS','This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.'=>'Этот сайт использует кэширование для ускорения отклика и улучшить взаимодействие с пользователем. Кэширование потенциально сохраняет дублирующую копию каждой страницы данного сайта. Все файлы кэша являются временными и никогда не доступны третьим лицам, за исключением случаев, когда это необходимо для получения технической поддержки от поставщика подключаемого модуля кэширования. Срок действия файлов кэша истекает по расписанию, установленному администратором сайта, но при необходимости администратор может легко удалять их до истечения срока действия. Мы можем использовать службы QUIC.cloud для временной обработки и кэширования ваших данных.','Disabling this may cause WordPress tasks triggered by AJAX to stop working.'=>'Отключение этого может привести к тому, что задачи WordPress, запускаемые AJAX, перестанут работать.','right now'=>'прямо сейчас','just now'=>'только что','Saved'=>'Сохранено','Last ran'=>'Последний запуск','You will be unable to Revert Optimization once the backups are deleted!'=>'После удаления резервных копий вы не сможете восстановить оптимизацию!','This is irreversible.'=>'Это необратимо.','Remove Original Image Backups'=>'Удалить резервные копии исходных изображений','Are you sure you want to remove all image backups?'=>'Вы уверены, что хотите удалить все резервные копии изображений?','Total'=>'Всего','Files'=>'Файлы','Last calculated'=>'Последний расчет','Calculate Original Image Storage'=>'Расчет места хранения исходных изображений','Storage Optimization'=>'Оптимизация системы хранения','Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.'=>'Включите замену WebP/AVIF в элементах %s, которые были сгенерированы вне логики WordPress.','Use the format %1$s or %2$s (element is optional).'=>'Используйте формат %1$s или %2$s (элемент необязателен).','Only attributes listed here will be replaced.'=>'Будут заменены только перечисленные здесь атрибуты.','Specify which element attributes will be replaced with WebP/AVIF.'=>'Укажите, какие атрибуты элементов будут заменены на WebP/AVIF.','WebP/AVIF Attribute To Replace'=>'Замена атрибута WebP/AVIF','Only files within these directories will be pointed to the CDN.'=>'Только файлы в этих каталогах будут направлены на CDN.','Included Directories'=>'Включенные каталоги','A Purge All will be executed when WordPress runs these hooks.'=>'Когда WordPress выполняет эти хуки, все очищается.','Purge All Hooks'=>'Очистить все хуки','Purged all caches successfully.'=>'Успешная очистка всех кэшей.','LSCache'=>'LSCache','Forced cacheable'=>'Принудительное кеширование','Paths containing these strings will be cached regardless of no-cacheable settings.'=>'Пути, содержащие эти строки, будут кэшироваться независимо от каких-либо настроек, которые нельзя кэшировать.','Force Cache URIs'=>'Принудительный кэш URIs','Exclude Settings'=>'Настройки исключения','This will disable LSCache and all optimization features for debug purpose.'=>'Это приведет к отключению функции LSCache и всех функций оптимизации для отладки.','Disable All Features'=>'Отключить все функции','Opcode Cache'=>'Кэш OpCode','CSS/JS Cache'=>'Кэш CSS/JS','Remove all previous unfinished image optimization requests.'=>'Удалите все предыдущие незавершенные запросы по оптимизации изображений.','Clean Up Unfinished Data'=>'Очистить незавершенные данные','Join Us on Slack'=>'Присоединяйтесь к нам в Slack','Join the %s community.'=>'Присоединяйтесь к сообществу %s.','Want to connect with other LiteSpeed users?'=>'Хотите общаться с другими пользователями LiteSpeed?','Your API key / token is used to access %s APIs.'=>'Ваш ключ/токен API используется для доступа к API %s.','Your Email address on %s.'=>'Ваш электронный адрес на %s.','Use %s API functionality.'=>'Использовать функциональность API %s.','To randomize CDN hostname, define multiple hostnames for the same resources.'=>'Чтобы рандомизировать (выбрать случайным образом) имя хоста CDN, определите несколько имен хостов для одних и тех же ресурсов.','Join LiteSpeed Slack community'=>'Присоединяйтесь к сообществу LiteSpeed Slack','Visit LSCWP support forum'=>'Посетить форум поддержки LSCWP','Images notified to pull'=>'Изображения, оповещенные для извлечения','What is a group?'=>'Что такое группа?','%s image'=>'%s изображение','%s group'=>'%s группа','%s images'=>'%s изображения','%s groups'=>'%s группы','Guest'=>'Гость','To crawl the site as a logged-in user, enter the user ids to be simulated.'=>'Чтобы сканировать сайт как зарегистрированный пользователь, введите IDs пользователей, которые будут имитироваться.','Role Simulation'=>'Симуляция роли','running'=>'выполняется','Size'=>'Размер','Ended reason'=>'Причина окончания','Last interval'=>'Последний интервал','Current crawler started at'=>'Текущий поисковый робот запущен в','Run time for previous crawler'=>'Время работы предыдущего робота','%d seconds'=>'%d секунд','Last complete run time for all crawlers'=>'Последнее полное время работы всех роботов','Current sitemap crawl started at'=>'Сканирование (crawl) текущей карты сайта началось в','Save transients in database when %1$s is %2$s.'=>'Сохраните переходные процессы в базе данных, когда %1$s равен %2$s.','Store Transients'=>'Хранить транзиенты','If %1$s is %2$s, then %3$s must be populated!'=>'Если %1$s равно %2$s, то должно быть заполнено %3$s!','NOTE'=>'Примечание','Server variable(s) %s available to override this setting.'=>'Переменные сервера %s доступны для переопределения этого параметра.','API'=>'API','Imported setting file %s successfully.'=>'Успешно импортирован файл настроек %s.','Import failed due to file error.'=>'Сбой импорта из-за ошибки файла.','How to Fix Problems Caused by CSS/JS Optimization.'=>'Как исправить проблемы, вызванные оптимизацией CSS/JS.','This will generate extra requests to the server, which will increase server load.'=>'Это создаст дополнительные запросы к серверу, что увеличит нагрузку на сервер.','When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.'=>'Когда пользователь наводит курсор на ссылку страницы, предварительно загрузите эту страницу. Это ускорит переход по ссылке.','Instant Click'=>'Мгновенный щелчок','Reset the entire opcode cache'=>'Сброс всего кэша opcode','This will import settings from a file and override all current LiteSpeed Cache settings.'=>'Это позволит импортировать настройки из файла и переопределить все текущие настройки LiteSpeed Cache.','Last imported'=>'Последний импортированный','Import'=>'Импорт','Import Settings'=>'Импорт настроек','This will export all current LiteSpeed Cache settings and save them as a file.'=>'Все текущие параметры настройки LiteSpeed Cache будут экспортированы и сохранены в виде файла.','Last exported'=>'Последний экспортированный','Export'=>'Экспорт','Export Settings'=>'Экспорт настроек','Import / Export'=>'Импорт / Экспорт','Use keep-alive connections to speed up cache operations.'=>'Используйте соединения keep-alive (проверка активности) для ускорения операций с кэшем.','Database to be used'=>'База данных для использования','Redis Database ID'=>'ID базы данных Redis','Specify the password used when connecting.'=>'Укажите пароль, используемый при подключении.','Password'=>'Пароль','Only available when %s is installed.'=>'Доступно, только если установлен %s.','Username'=>'Имя пользователя','Your %s Hostname or IP address.'=>'Имя сервера %s или IP-адрес.','Method'=>'Метод','Purge all object caches successfully.'=>'Успешно очищены все кеши объекта.','Object cache is not enabled.'=>'Кэш объекта не включен.','Improve wp-admin speed through caching. (May encounter expired data)'=>'Увеличьте скорость wp-admin с помощью кеширования. (Могут встретиться просроченные данные)','Cache WP-Admin'=>'Кэш WP-Admin','Persistent Connection'=>'Постоянное подключение','Do Not Cache Groups'=>'Не кэшировать группы','Groups cached at the network level.'=>'Группы, кэшированные на сетевом уровне.','Global Groups'=>'Глобальные группы','Connection Test'=>'Тест подключения','%s Extension'=>'%s расширение','Status'=>'Статус','Default TTL for cached objects.'=>'TTL кэша объектов по умолчанию.','Default Object Lifetime'=>'Время жизни Object по умолчанию','Port'=>'Порт','Host'=>'Сервер','Object Cache'=>'Кэш объекта','Failed'=>'Неудачно','Passed'=>'Пройден','Not Available'=>'Недоступно','Purge all the object caches'=>'Очистить все кеши объектов','Failed to communicate with Cloudflare'=>'Не удалось связаться с CloudFlare','Communicated with Cloudflare successfully.'=>'Успешное взаимодействие с CloudFlare.','No available Cloudflare zone'=>'Нет доступной зоны CloudFlare','Notified Cloudflare to purge all successfully.'=>'Уведомление CloudFlare об успешной очистке.','Cloudflare API is set to off.'=>'Для API CloudFlare установлено значение "Выкл".','Notified Cloudflare to set development mode to %s successfully.'=>'Уведомление CloudFlare об успешной установке режима разработки на %s.','Once saved, it will be matched with the current list and completed automatically.'=>'После сохранения он будет сопоставлен с текущим списком и автоматически заполнен.','You can just type part of the domain.'=>'Вы можете ввести только часть домена.','Domain'=>'Домен','Cloudflare API'=>'API CloudFlare','Purge Everything'=>'Очистить все','Cloudflare Cache'=>'Кэш CloudFlare','Development Mode will be turned off automatically after three hours.'=>'Режим разработки будет автоматически отключен через три часа.','Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.'=>'Временно обойти кэш CloudFlare. Это позволяет вам в реальном времени видеть изменения, внесенные на исходный сервер.','Development mode will be automatically turned off in %s.'=>'Режим разработки будет автоматически отключен через %s.','Current status is %s.'=>'Текущий статус - %s.','Current status is %1$s since %2$s.'=>'Текущий статус: %1$s с (since) %2$s.','Check Status'=>'Проверить статус','Turn OFF'=>'Отключить','Turn ON'=>'Включить','Development Mode'=>'Режим разработки','Cloudflare Zone'=>'Зона CloudFlare','Cloudflare Domain'=>'Домен CloudFlare','Cloudflare'=>'CloudFlare','For example'=>'Например','Prefetching DNS can reduce latency for visitors.'=>'Предварительная выборка DNS может уменьшить задержки для посетителей.','DNS Prefetch'=>'Предзагрузка DNS','Adding Style to Your Lazy-Loaded Images'=>'Добавление стиля к изображениям с отложенной загрузкой','Default value'=>'Значение по умолчанию','Static file type links to be replaced by CDN links.'=>'Ссылки на статические типы файлов должны быть заменены ссылками на CDN.','Drop Query String'=>'Отбросить строку запроса','Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.'=>'Включите эту опцию, если вы используете и HTTP, и HTTPS в одном домене и замечаете нарушения кеширования.','Improve HTTP/HTTPS Compatibility'=>'Улучшение совместимости HTTP/HTTPS','Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.'=>'Удаляет все предыдущие запросы/результаты оптимизации изображений, отменяет завершенные оптимизации и удаляет все файлы оптимизации.','Destroy All Optimization Data'=>'Уничтожить все данные оптимизации','Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.'=>'Сканирование на наличие новых неоптимизированных размеров миниатюр изображений и повторная отправка необходимых запросов на оптимизацию изображений.','This will increase the size of optimized files.'=>'Это увеличит размер оптимизированных файлов.','Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.'=>'Сохранить данные EXIF (авторское право, GPS, описание, теги и т.д.) при оптимизации.','Clear Logs'=>'Очистить журнал',' %s ago'=>' %s назад','WebP saved %s'=>'WebP сохранен %s','If you run into any issues, please refer to the report number in your support message.'=>'Если у вас возникнут проблемы, укажите номер отчета в своем сообщении в службу поддержки.','Last pull initiated by cron at %s.'=>'Последнее извлечение инициировано cron в %s.','Images will be pulled automatically if the cron job is running.'=>'Изображения будут извлекаться автоматически, если запущено задание cron.','Only press the button if the pull cron job is disabled.'=>'Нажимайте кнопку только в том случае, если задание pull cron (cron извлечения) отключено.','Pull Images'=>'Извлечь изображения','This process is automatic.'=>'Этот процесс является автоматическим.','Last Request'=>'Последний запрос','Images Pulled'=>'Извлеченные изображения','Report'=>'Отчет','Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.'=>'Отправьте этот отчет в LiteSpeed. Cошлитесь на этот номер отчета при публикации в форуме поддержки WordPress.','Send to LiteSpeed'=>'Отправить в LiteSpeed','LiteSpeed Optimization'=>'Оптимизация LiteSpeed','Load Google Fonts Asynchronously'=>'Асинхронная загрузка шрифтов Google','Browser Cache TTL'=>'TTL кэша браузера','Learn More'=>'Подробнее','Image groups total'=>'Всего групп изображений','Images optimized and pulled'=>'Изображения оптимизированы и извлечены','Images requested'=>'Запрошенные изображения','Switched to optimized file successfully.'=>'Переключение на оптимизированный файл прошло успешно.','Restored original file successfully.'=>'Исходный файл успешно восстановлен.','Enabled WebP file successfully.'=>'Успешно включен файл WebP.','Disabled WebP file successfully.'=>'Успешно отключен WebP-файл.','Significantly improve load time by replacing images with their optimized %s versions.'=>'Значительно улучшить время загрузки, заменив изображения их оптимизированными версиями %s.','Selected roles will be excluded from cache.'=>'Выбранные роли будут исключены из кеша.','Tuning'=>'Настройка','Selected roles will be excluded from all optimizations.'=>'Выбранные роли будут исключены из всех оптимизаций.','Role Excludes'=>'Исключить роли','Tuning Settings'=>'Параметры настройки','If the tag slug is not found, the tag will be removed from the list on save.'=>'Если ярлык тега не найден, тег будет удален из списка при сохранении.','If the category name is not found, the category will be removed from the list on save.'=>'Если название категории не найдено, категория будет удалена из списка при сохранении.','After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.'=>'После того как сервер оптимизации изображений QUIC.cloud завершит оптимизацию, он уведомит ваш сайт о необходимости извлечь оптимизированные изображения.','Send Optimization Request'=>'Отправить запрос на оптимизацию','Image Information'=>'Информация об изображении','Total Reduction'=>'Общее сокращение','Optimization Summary'=>'Краткое описание оптимизации','LiteSpeed Cache Image Optimization'=>'Оптимизация изображений LiteSpeed Cache','Image Optimization'=>'Оптимизация изображения','For example, %s can be used for a transparent placeholder.'=>'Например, %s можно использовать для прозрачного заполнителя.','By default a gray image placeholder %s will be used.'=>'По умолчанию используется серый заполнитель изображения %s.','This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.'=>'Это может быть предопределено в %2$s также с помощью константы %1$s, при этом данная настройка имеет приоритет.','Specify a base64 image to be used as a simple placeholder while images finish loading.'=>'Укажите изображение-заполнитель в формате base64, которое будет использоваться в качестве предварительного, пока основное изображение не будет загружено.','Elements with attribute %s in html code will be excluded.'=>'Элементы с атрибутом %s в html-коде будут исключены.','Filter %s is supported.'=>'Фильтр %s поддерживается .','Listed images will not be lazy loaded.'=>'Перечисленные изображения не будут отложено загружаться.','Lazy Load Image Excludes'=>'Исключить отложенную загрузку изображений','No optimization'=>'Без оптимизации','Prevent any optimization of listed pages.'=>'Предотвращает любую оптимизацию перечисленных страниц.','URI Excludes'=>'Исключенные URI','Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.'=>'Прекращает загрузку emoji с wordpress.org. Вместо этого будут отображаться emoji браузера.','Both full URLs and partial strings can be used.'=>'Можно использовать как полные URL-адреса, так и частичные строки.','Load iframes only when they enter the viewport.'=>'Загружайте iframe только тогда, когда они появляются в окне просмотра.','Lazy Load Iframes'=>'Отложенная загрузка Iframes','This can improve page loading time by reducing initial HTTP requests.'=>'Это может улучшить время загрузки страницы за счет сокращения начальных HTTP-запросов.','Load images only when they enter the viewport.'=>'Загружайте изображения только когда они появляются в окне просмотра.','Lazy Load Images'=>'Отложенная загрузка изображений','Media Settings'=>'Настройки медиа','For example, for %1$s, %2$s and %3$s can be used here.'=>'Например, для %1$s %2$s и %3$s можно использовать здесь.','Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.'=>'Wildcard %1$s поддерживается (соответствует нулю или больше символов). Например, чтобы сопоставить %2$s и %3$s, используйте %4$s.','To match the beginning, add %s to the beginning of the item.'=>'Чтобы соответствовать началу, добавьте %s в начало элемента.','For example, for %1$s, %2$s can be used here.'=>'Например, для %1$s, %2$s можно использовать здесь.','Maybe later'=>'Может быть позже','I\'ve already left a review'=>'Я уже оставил отзыв','Welcome to LiteSpeed'=>'Добро пожаловать в LiteSpeed','Remove WordPress Emoji'=>'Удалить WordPress Emoji','More settings'=>'Больше настроек','Private cache'=>'Приватный кэш','Non cacheable'=>'Не кэшируемый','Mark this page as '=>'Отметить эту страницу как ','Purge this page'=>'Очистить эту страницу','Load JS Deferred'=>'Отложенная загрузка JS','Specify critical CSS rules for above-the-fold content when enabling %s.'=>'Укажите правила критического CSS для содержимого в верхней части экрана (выше сгиба) при включении %s.','Critical CSS Rules'=>'Правила критического CSS','Load CSS Asynchronously'=>'Асинхронная загрузка CSS','Prevent Google Fonts from loading on all pages.'=>'Предотвращать загрузку шрифтов Google на всех страницах.','Remove Google Fonts'=>'Удалить шрифты Google','This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.'=>'Это может улучшить ваш показатель скорости в таких сервисах, как Pingdom, GTmetrix и PageSpeed.','Remove query strings from internal static resources.'=>'Удалите строки запроса из внутренних статических ресурсов.','Remove Query Strings'=>'Удалить строки запроса','user agents'=>'агенты пользователя','cookies'=>'cookies','Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.'=>'Кэширование браузера хранит статические файлы локально в браузере пользователя. Включите этот параметр, чтобы уменьшить повторяющиеся запросы для статических файлов.','Browser Cache'=>'Кэш браузера','tags'=>'теги','Do Not Cache Tags'=>'Не кэшировать теги','To exclude %1$s, insert %2$s.'=>'Чтобы исключить %1$s, вставьте %2$s.','categories'=>'категории','To prevent %s from being cached, enter them here.'=>'Чтобы предотвратить кэширование %s, введите его здесь.','Do Not Cache Categories'=>'Не кэшировать категории','Query strings containing these parameters will not be cached.'=>'Строки запроса, содержащие эти параметры, не кэшируются.','Do Not Cache Query Strings'=>'Не кэшировать строки запроса','Paths containing these strings will not be cached.'=>'Пути, содержащие эти строки, не будут кэшироваться.','Do Not Cache URIs'=>'Не кэшировать URI','One per line.'=>'Один в каждой строке.','URI Paths containing these strings will NOT be cached as public.'=>'Пути URI, содержащие эти строки, НЕ будут кэшироваться как public (общие).','Private Cached URIs'=>'Private Cached URIs','Paths containing these strings will not be served from the CDN.'=>'Пути, содержащие эти строки, не будут обслуживаться из CDN.','Exclude Path'=>'Исключить путь','Include File Types'=>'Включить типы файлов','Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.'=>'Обслуживайте все файлы JavaScript через CDN. Это повлияет на все файлы WP JavaScript в очереди.','Include JS'=>'Включить JS','Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.'=>'Обслуживайте все CSS-файлы через CDN. Это повлияет на все поставленные в очередь файлы CSS WP.','Include CSS'=>'Включить CSS','Include Images'=>'Включить изображения','CDN URL to be used. For example, %s'=>'Используемый URL-адрес CDN. Напр., %s','CDN URL'=>'URL-адрес CDN','Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.'=>'URL сайта будет обслуживаться через CDN. Начиная с%1$s. Например,%2$s.','Original URLs'=>'Исходные URL-адреса','CDN Settings'=>'Настройки CDN','CDN'=>'CDN','OFF'=>'ВЫКЛ','ON'=>'ВКЛ','Notified LiteSpeed Web Server to purge CSS/JS entries.'=>'Уведомление веб-сервера LiteSpeed LiteSpeed о необходимости очистить записей CSS/JS.','Minify HTML content.'=>'Минификация контента HTML.','HTML Minify'=>'Минификация HTML','JS Excludes'=>'Исключить JS','JS Combine'=>'Объединение JS','JS Minify'=>'Минификация JS','CSS Excludes'=>'Исключения CSS','CSS Combine'=>'Объединение CSS','CSS Minify'=>'Минификация CSS','Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.'=>'Тщательно протестируйте, включив любую опцию в этом списке. После изменения настроек Минификация / Объединение выполните действие Очистить все.','This will purge all minified/combined CSS/JS entries only'=>'Очистить только все минифицированные/объединённые записи CSS/JS','Purge %s Error'=>'Очистить ошибки %s','Database Optimizer'=>'Оптимизация базы данных','Optimize all tables in your database'=>'Оптимизировать все таблицы в БД','Optimize Tables'=>'Оптимизация таблиц','Clean all transient options'=>'Очистить все временные параметри','All Transients'=>'Все транзиенты','Clean expired transient options'=>'Очистить параметры транзиентов с истекшим сроком действия','Expired Transients'=>'Истекшие транзиенты','Clean all trackbacks and pingbacks'=>'Очистить все трекбэки и пингбэки','Trackbacks/Pingbacks'=>'Обратные ссылки/уведомления','Clean all trashed comments'=>'Очистить все удаленные комментарии','Trashed Comments'=>'Удалённые комментарии','Clean all spam comments'=>'Очистить все спам-комментарии','Spam Comments'=>'Спам комментарии','Clean all trashed posts and pages'=>'Очистить все удаленные записи и страницы','Trashed Posts'=>'Удалённые записи','Clean all auto saved drafts'=>'Очистить все автоматически сохраненные черновики','Auto Drafts'=>'Авто-черновики','Clean all post revisions'=>'Очистить все редакции записей','Post Revisions'=>'Редакции записей','Clean All'=>'Очистить все','Optimized all tables.'=>'Оптимизированы все таблицы.','Clean all transients successfully.'=>'Успешная очистка всех транзиентов.','Clean expired transients successfully.'=>'Успешная очистка истекших транзиентов.','Clean trackbacks and pingbacks successfully.'=>'Успешная очистка обратных ссылок и уведомлений.','Clean trashed comments successfully.'=>'Успешная очистка удаленных комментариев.','Clean spam comments successfully.'=>'Успешная очистка спам-комментариев.','Clean trashed posts and pages successfully.'=>'Успешная очистки удаленных записей и страниц.','Clean auto drafts successfully.'=>'Успешная очистка автоматических черновиков.','Clean post revisions successfully.'=>'Успешная очистка редакций записей.','Clean all successfully.'=>'Все успешно очищено.','Default Private Cache TTL'=>'TTL Private Cache по умолчанию','If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.'=>'Если на вашем сайте есть общедоступный контент, который определенные группы могут видеть, но не могут видеть другие группы, вы можете указать групповую переменную (Vary Group) для этих ролей пользователей. Например, указание отдельной группы для администратора позволяет создать отдельную кэшированную общедоступную страницу, предназначенную для администраторов (со со ссылками "изменить" и т. д.), В то время как все другие роли пользователей имеют общедоступную страницу по умолчанию.','Vary Group'=>'Vary Group','Cache the built-in Comment Form ESI block.'=>'Кэшировать встроенный блок ESI Comment Form.','Cache Comment Form'=>'Кэш формы комментария','Cache Admin Bar'=>'Кэш админ панели','Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.'=>'Включите, чтобы кэшировать общедоступные страницы для пользователей, вошедших в систему, и обслуживать панель администратора и форму комментариев с помощью блоков ESI. Эти два блока будут не кэшированы, если они не включены ниже.','ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.'=>'ESI позволяет обозначить части динамической страницы как отдельные фрагменты, которые затем собираются вместе, чтобы получилась целая страница. Другими словами, ESI позволяет вам "пробивать дыры" в странице, а затем заполнять эти дыры содержимым, которое может кэшироваться приватно, кэшироваться публично с собственным TTL или не кэшироваться вообще.','With ESI (Edge Side Includes), pages may be served from cache for logged-in users.'=>'С помощью ESI (Edge Side Includes) страницы могут обслуживаться из кэша для пользователей, вошедших в систему.','Private'=>'Private','Public'=>'Public','Purge Settings'=>'Настройки очистки','Cache Mobile'=>'Кэш мобильных','Advanced level will log more details.'=>'Расширенный уровень запишет в журнал более подробную информацию.','Basic'=>'Основные','The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.'=>'Макс. допустимая средняя нагрузка на сервер при обходе контента. Число используемых потоков поискового робота будет активно уменьшаться до тех пор, пока средняя нагрузка на сервер не станет ниже этого предела. Если этого невозможно достичь с помощью одного потока, текущий запуск робота будет завершен.','Cache Login Page'=>'Кеш страницы входа','Cache requests made by WordPress REST API calls.'=>'Запросы кэша, сделанные вызовами WordPress REST API.','Cache REST API'=>'Кэш REST API','Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)'=>'Используйте private (приватный) кеш для хранения комментариев, ожидающих рассмотрения. Отключение этой опции предоставит комментаторам не кэшированные страницы. (Требуется LSWS %s)','Cache Commenters'=>'Кэш комментаторов','Privately cache frontend pages for logged-in users. (LSWS %s required)'=>'Кэширует внешние страницы для авторизованного пользователя (требуется LSWS%s)','Cache Logged-in Users'=>'Кэш пользователей, вошедших в систему','Cache Control Settings'=>'Настройки управления кэшем','ESI'=>'ESI','Excludes'=>'Исключения','Purge'=>'Очистка','Cache'=>'Кэш','Current server time is %s.'=>'Текущее время сервера -%s.','Specify the time to purge the "%s" list.'=>'Укажите время очистки списка "%s".','Both %1$s and %2$s are acceptable.'=>'Оба %1$s и %2$s приемлемы.','Scheduled Purge Time'=>'Запланированное время очистки','The URLs here (one per line) will be purged automatically at the time set in the option "%s".'=>'URL, указанные здесь (по одному в строке), будут автоматически очищены в срок, установленный в опции "%s".','Scheduled Purge URLs'=>'URL-адреса запланированной очистки','Shorten query strings in the debug log to improve readability.'=>'Сократите строки запроса в журнале отладки для лучшей читаемости.','Heartbeat'=>'Пульсация','MB'=>'Мб','Log File Size Limit'=>'Предельный размер файла журнала','<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s'=>'<p>Добавьте/замените следующие коды в начале %1$s:</p> %2$s','%s file not writable.'=>'%s файл недоступен для записи.','%s file not readable.'=>'%s файл не доступен для чтения.','Collapse Query Strings'=>'Свернуть строки запроса','ESI Settings'=>'Настройки ESI','A TTL of 0 indicates do not cache.'=>'TTL, равный 0, указывает на отсутствие кэша.','Recommended value: 28800 seconds (8 hours).'=>'Рекомендуемое значение: 28800 секунд (8 часов).','Enable ESI'=>'Включить ESI','Custom Sitemap'=>'Пользовательская Sitemap','Purge pages by relative or full URL.'=>'Очистка страниц по относительному или полному URL-адресу.','The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.'=>'Функция поискового робота не включена на сервере LiteSpeed. Обратитесь к администратору сервера или поставщику услуг хостинга.','WARNING'=>'ПРЕДУПРЕЖДЕНИЕ','The next complete sitemap crawl will start at'=>'Следующее полное сканирование файла Sitemap начнется в','Failed to write to %s.'=>'Не удалось записать в %s.','Folder is not writable: %s.'=>'Папка недоступна для записи: %s.','Can not create folder: %1$s. Error: %2$s'=>'Не удается создать папку:%1$s. Ошибка:%2$s','Folder does not exist: %s'=>'Папки не существует: %s','Notified LiteSpeed Web Server to purge the list.'=>'Уведомление веб-сервер LiteSpeed об очистке списка.','Allows listed IPs (one per line) to perform certain actions from their browsers.'=>'Позволяет перечисленным IP-адресам (по одному в каждой строке) выполнять определенные действия из своих браузеров.','Server Load Limit'=>'Ограничение загрузки сервера','Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.'=>'Задает время в секундах, по истечении которого поисковый робот снова просканирует всю карту сайта.','Crawl Interval'=>'Интервал обхода','Then another WordPress is installed (NOT MULTISITE) at %s'=>'Затем устанавливается другой WordPress (НЕ МНОГОСАЙТНЫЙ) в %s','LiteSpeed Cache Network Cache Settings'=>'Настройки сетевого кэша LiteSpeed Cache','Select below for "Purge by" options.'=>'Выберите ниже настройки "Очистить от".','LiteSpeed Cache CDN'=>'LiteSpeed Cache CDN','No crawler meta file generated yet'=>'Мета-файл для поискового робота еще не создан','Show crawler status'=>'Показать статус поискового робота','Watch Crawler Status'=>'Просмотр статуса поискового робота','Run frequency is set by the Interval Between Runs setting.'=>'Частота запусков задается настройкой "Интервал между запусками".','Manually run'=>'Ручной запуск','Reset position'=>'Сброс позиции','Run Frequency'=>'Частота выполнения','Cron Name'=>'Название Cron-задачи','Crawler Cron'=>'Cron для поискового робота','%d minute'=>'%d минута','%d minutes'=>'%d минут','%d hour'=>'%d час','%d hours'=>'%d часов','Generated at %s'=>'Сгенерировано в %s','LiteSpeed Cache Crawler'=>'Поисковый робот LiteSpeed Cache','Crawler'=>'Поисковый робот','https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration'=>'https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration','Notified LiteSpeed Web Server to purge all pages.'=>'Уведомление веб-сервера LiteSpeed о необходимости очистки всех страниц.','All pages with Recent Posts Widget'=>'Все страницы с виджетом Свежие записи','Pages'=>'Страницы','This will Purge Pages only'=>'Это очистит только страницы','Purge Pages'=>'Очистить страницы','Cancel'=>'Отмена','Deactivate'=>'Деактивировать','Activate'=>'Активировать','Email Address'=>'Email-адрес','Install Now'=>'Установить сейчас','Purged the blog!'=>'Очищен блог!','Purged All!'=>'Очищено всё!','Notified LiteSpeed Web Server to purge error pages.'=>'Уведомление веб-сервера LiteSpeed о необходимости очистить страниц ошибок.','If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.'=>'При использовании OpenLiteSpeed сервер необходимо перезапустить один раз, чтобы изменения вступили в силу.','If the login cookie was recently changed in the settings, please log out and back in.'=>'Если файл cookie для входа был недавно изменен в настройках, выйдите из системы и войдите снова.','However, there is no way of knowing all the possible customizations that were implemented.'=>'Однако нет способа узнать все возможные настройки, которые были реализованы.','The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.'=>'Плагин LiteSpeed Cache используется для кэширования страниц - это простой способ повысить производительность сайта.','The network admin setting can be overridden here.'=>'Здесь можно изменить настройку сетевого администратора.','Specify how long, in seconds, public pages are cached.'=>'Задает продолжительность кэширования общедоступных страниц в секундах.','Specify how long, in seconds, private pages are cached.'=>'Задает продолжительность кэширования личных страниц в секундах.','It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.'=>'ОЧЕНЬ рекомендуется, чтобы совместимость с другими плагинами на одном/нескольких сайтах была проверена первой.','Purge pages by post ID.'=>'Очистить страницы, используя ID записи.','Purge the LiteSpeed cache entries created by this plugin'=>'Очистить записи созданные плагином LiteSpeed Cache','Purge %s error pages'=>'Очистить страницы ошибок %s','This will Purge Front Page only'=>'Очистить только главную страницу','Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.'=>'Очистка страниц, используя название тега - напр., %2$s должен использоваться для URL %1$s.','Purge pages by category name - e.g. %2$s should be used for the URL %1$s.'=>'Очистка страниц, используя название категории - например, %2$s следует использовать для URL %1$s.','If only the WordPress site should be purged, use Purge All.'=>'Если только сайт WordPress должен быть очищен, используйте Очистить все.','Notified LiteSpeed Web Server to purge everything.'=>'Уведомление веб-сервера LiteSpeed о необходимости очистить всё.','Use Primary Site Configuration'=>'Использовать конфигурацию основного сайта','This will disable the settings page on all subsites.'=>'Это отключит страницу настроек на всех дочерних сайтах.','Check this option to use the primary site\'s configuration for all subsites.'=>'Установите этот параметр, чтобы использовать конфигурацию основного сайта для всех субсайтов.','Save Changes'=>'Сохранить изменения','The following options are selected, but are not editable in this settings page.'=>'Выбраны следующие параметры, но их нельзя изменить на этой странице настроек.','The network admin selected use primary site configs for all subsites.'=>'Сетевой администратор выбрал использование конфигурации главного сайта для всех дочерних сайтов в сети.','Empty Entire Cache'=>'Очистить весь кэш','This action should only be used if things are cached incorrectly.'=>'Это действие должно выполняться только в том случае, если кэш работает неправильно.','This may cause heavy load on the server.'=>'Это может привести к большой нагрузке на сервер.','This will clear EVERYTHING inside the cache.'=>'Это очистит ВСЕ содержимое кэша.','LiteSpeed Cache Purge All'=>'Очистить весь LiteSpeed Cache','If you would rather not move at litespeed, you can deactivate this plugin.'=>'Вы можете отключить этот плагин, если не хотите оставаться с LiteSpeed.','Create a post, make sure the front page is accurate.'=>'Создайте сообщение, убедитесь, что первая страница соответствует действительности.','Visit the site while logged out.'=>'Посетите сайт без авторизации.','Examples of test cases include:'=>'Примеры тестовых случаев включают:','For that reason, please test the site to make sure everything still functions properly.'=>'Поэтому протестируйте сайт, чтобы убедиться, что все работает правильно.','This message indicates that the plugin was installed by the server admin.'=>'Это сообщение указывает на то, что плагин был установлен администратором сервера.','LiteSpeed Cache plugin is installed!'=>'Плагин LiteSpeed Cache установлен!','Debug Log'=>'Журнал отладки','Admin IP Only'=>'Только IP администратора','The Admin IP option will only output log messages on requests from admin IPs listed below.'=>'Опция Admin IP будет выводить сообщения журнала только при запросах с IP-адресов администраторов, перечисленных ниже.','Specify how long, in seconds, REST calls are cached.'=>'Указывает, как долго кэшируются вызовы REST в секундах.','The environment report contains detailed information about the WordPress configuration.'=>'Отчет о системной среде содержит подробную информацию о конфигурации WordPress.','The server will determine if the user is logged in based on the existence of this cookie.'=>'По наличию этого файла cookie сервер определяет, вошел ли пользователь в систему.','Note'=>'Примечание','To test the cart, visit the %sFAQ%s.'=>'Чтобы протестировать корзину, посетите %sFAQ%s.','After verifying that the cache works in general, please test the cart.'=>'Убедившись, что кеш в целом работает, протестируйте корзину.','When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.'=>'Если эта функция включена, кэш будет автоматически очищаться при обновлении любого плагина, темы или ядра WordPress.','Purge All On Upgrade'=>'Очистить всё при обновлении','Product Update Interval'=>'Интервал обновления товара','Determines how changes in product quantity and product stock status affect product pages and their associated category pages.'=>'Определяет, как изменения в количестве товара и состоянии товарных запасов влияют на страницы товаров и связанные с ними страницы категорий.','Always purge both product and categories on changes to the quantity or stock status.'=>'Всегда очищайте товар и категории при изменении количества или состояния запасов.','Do not purge categories on changes to the quantity or stock status.'=>'Не очищайте категории при изменении количества или наличия на складе.','Purge product only when the stock status changes.'=>'Очистить товар только при изменении статуса запаса.','Purge product and categories only when the stock status changes.'=>'Очистить товар и категории, только при изменении состояния запасов.','Purge categories only when stock status changes.'=>'Очистить категории только при изменении состояния запасов.','Purge product on changes to the quantity or stock status.'=>'Очистить товар при изменении количества или состояния запасов.','Htaccess did not match configuration option.'=>'Htaccess не соответствует параметру конфигурации.','If this is set to a number less than 30, feeds will not be cached.'=>'Если установлено число меньше 30, feeds не будут кэшироваться.','Specify how long, in seconds, feeds are cached.'=>'Укажите, как долго, в секундах, кэшируются feeds.','Default Feed TTL'=>'TTL Feed по умолчанию','Failed to get %s file contents.'=>'Не удалось получить содержимое файла %s.','Disabling this option may negatively affect performance.'=>'Отключение этой опции может отрицательно сказаться на производительности.','Invalid login cookie. Invalid characters found.'=>'Недействительный файл cookie для входа. Обнаружены недопустимые символы.','WARNING: The .htaccess login cookie and Database login cookie do not match.'=>'ВНИМАНИЕ: cookie входа в систему .htaccess и cookie входа в базу данных не совпадают.','Invalid login cookie. Please check the %s file.'=>'Недопустимый файл cookie входа. Проверьте файл %s.','The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.'=>'Для правильного кэширования кэш должен различать, кто вошел на сайт WordPress.','There is a WordPress installed for %s.'=>'Установлен WordPress для %s.','Example use case:'=>'Пример использования:','The cookie set here will be used for this WordPress installation.'=>'Установленный здесь файл cookie будет использоваться для этой установки WordPress.','If every web application uses the same cookie, the server may confuse whether a user is logged in or not.'=>'Если каждое веб-приложение использует один и тот же файл cookie, сервер может перепутать, вошел ли пользователь в систему или нет.','This setting is useful for those that have multiple web applications for the same domain.'=>'Эта настройка полезена для тех, у кого несколько веб-приложений для одного домена.','The default login cookie is %s.'=>'Cookie для входа в систему по умолчанию - %s.','Login Cookie'=>'Файл cookie для входа','More information about the available commands can be found here.'=>'Более подробную информацию о доступных командах можно найти здесь.','These settings are meant for ADVANCED USERS ONLY.'=>'Эти настройки предназначены ТОЛЬКО ДЛЯ ПРОФЕССИОНАЛЬНЫХ ПОЛЬЗОВАТЕЛЕЙ.','Current %s Contents'=>'Текущее содержимое %s','Advanced'=>'Расширенные','Advanced Settings'=>'Расширенные настройки','Purge List'=>'Список очистки','Purge By...'=>'Очистить от...','URL'=>'URL','Tag'=>'Тег','Post ID'=>'ID записи','Category'=>'Категория','NOTICE: Database login cookie did not match your login cookie.'=>'ВНИМАНИЕ. Файл cookie для входа в базу данных не совпал с вашим файлом cookie для входа в систему.','Purge url %s'=>'Очистить URL %s','Purge tag %s'=>'Очистить тег %s','Purge category %s'=>'Очистить категорию %s','When disabling the cache, all cached entries for this site will be purged.'=>'При отключении кэша все кэшированные записи для этого сайта будут очищены.','NOTICE'=>'ВНИМАНИЕ','This setting will edit the .htaccess file.'=>'Эта настройка изменит файл .htaccess.','LiteSpeed Cache View .htaccess'=>'Просмотр файла .htaccess LiteSpeed Cache','Failed to back up %s file, aborted changes.'=>'Не удалось создать резервную копию файла %s, изменения не были внесены.','Do Not Cache Cookies'=>'Не кэшировать файлы cookie','Do Not Cache User Agents'=>'Не кэшировать агентов пользователя','This is to ensure compatibility prior to enabling the cache for all sites.'=>'Это необходимо для обеспечения совместимости до включения кэша для всех сайтов.','Network Enable Cache'=>'Включить сетевой кэш','NOTICE:'=>'ВНИМАНИЕ:','Other checkboxes will be ignored.'=>'Другие флажки будут проигнорированы.','Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.'=>'Выберите "Все", если динамические виджеты, связаны с записями на страницах, отличных от главной или домашней.','List of Mobile User Agents'=>'Список мобильных агентов пользователя','File %s is not writable.'=>'Файл %s не доступен для записи.','JS Settings'=>'Настройки JS','Manage'=>'Управление','Default Front Page TTL'=>'TTL главной страницы по умолчанию','Notified LiteSpeed Web Server to purge the front page.'=>'Уведомление веб-сервера LiteSpeed о необходимости очистить главную страницу.','Purge Front Page'=>'Очистить главную страницу','Example'=>'Например','All tags are cached by default.'=>'Все теги кэшируются по умолчанию.','All categories are cached by default.'=>'Все категории кэшируются по умолчанию.','To do an exact match, add %s to the end of the URL.'=>'Для полного совпадения, добавьте %s в конец URL-адреса.','The URLs will be compared to the REQUEST_URI server variable.'=>'URL-адреса будут сопоставлены с переменной сервера REQUEST_URI.','Select only the archive types that are currently used, the others can be left unchecked.'=>'Выберите только те типы архивов, которые используются в настоящее время, остальные можно не отмечать.','Notes'=>'Примечание','Use Network Admin Setting'=>'Использовать настройки администратора сети','Disable'=>'Отключить','Enabling LiteSpeed Cache for WordPress here enables the cache for the network.'=>'Включение LiteSpeed Cache для WordPress позволяет использовать кэш для сети.','Disabled'=>'Отключено','Enabled'=>'Включено','Do Not Cache Roles'=>'Не кэшировать роли','https://www.litespeedtech.com'=>'https://www.litespeedtech.com','LiteSpeed Technologies'=>'LiteSpeed Technologies','LiteSpeed Cache'=>'LiteSpeed Cache','Debug Level'=>'Уровень отладки','Notice'=>'Уведомление','Term archive (include category, tag, and tax)'=>'Архив терминов (включая категорию, тэг и таксономия)','Daily archive'=>'Ежедневный архив','Monthly archive'=>'Ежемесячный архив','Yearly archive'=>'Ежегодный архив','Post type archive'=>'Архив типов записей','Author archive'=>'Архив автора','Home page'=>'Домашнаяя страница','Front page'=>'Главная страница','All pages'=>'Все страницы','Select which pages will be automatically purged when posts are published/updated.'=>'Выберите, какие страницы будут автоматически очищены, когда публикации будут опубликованы / обновлены.','Auto Purge Rules For Publish/Update'=>'Правила авто очистки для публикации/обновления','Default Public Cache TTL'=>'TTL Public Cache по умолчанию','seconds'=>'секунды','Admin IPs'=>'IP-адреса администратора','General'=>'Общие','LiteSpeed Cache Settings'=>'Настройки LiteSpeed Cache','Notified LiteSpeed Web Server to purge all LSCache entries.'=>'Уведомление веб-сервера LiteSpeed о необходимости очистки всех записей LSCache.','Purge All'=>'Очистить все','Settings'=>'Настройки','Support forum'=>'Форум поддержки']];PKX^�\�^}C����translations/en_AU.zipnu�[���PKf��[�!i<�}ܟlitespeed-cache-en_AU.poUT	/�Ai/�Aiux�����=ks�6���+��z7�ӌ�w*w��v��+���U]�Cbf��AJ����� �p�E����Z"����wC_����:�T)Ssv���j6`ײ��1���R��ۂ�����B,��Z|�d�^��D�%��y���'����n)5�K�����YY�2�E�
���J�DF"ՂqM�CCƣ�|!����B��o�!��7��Ž԰��x�&���`4�����b2�O�k������z�r��q���K�"-w��Cq�%\�_�h�s-�o�޽������E>x�F*��₝�dAc`��Q�W*_��f�f�53?~��Ͽa�i�߉T�P��.Q�M.�><��Sp��E	p�D��[�!W�Q1���j���/`�Yr�ީ�X�x��
���2����}��9)�I�T�-y
�3�V��1Ry����7���E���A ��G���zI�7S<�೓#�[�~�eB[�+F_�e"���i$<�~���#X��5�]�紾�-{��(��2I���~v������R]�V<_��O��^srE��Zh��!��8]��i4LpۻH���������E@2���4�y^��=���L͖"�:��fw:�C��-��si�x$��v��^�gv��b��ŝ:�7�i
'F1�GM�2c�(sz����\�gy/��Iخ`��ѻ�yL�r��T�V+�Gb��ܒ|5gkU�d�+��T���-+�A8Ж�d*�#���a+� {�����G�S`H~��k�G�T�DV��:
�ٰ3�a�T�Ŵ�����@�����N|�\���/E��o�,Q��"<��>K�"z�H.af�4޵���?�2��V��*r`�UdZT'��l�wM�D"/@+��J�B�k|���J��`�������s��	@�E�¿n_��N���
\�pk�T"Sbt�{��gp
��x�\'�s����h�:v���kv+x-=��Y��=����Aɮ�()�P�����D��yr>
�D�`���{�fK�g�[�<�ɚ��O̾���r���Dǐ��X�5�w�_�̄�����吐�<P�y�V��n>
���K��E~u.�,6�1��c-ÖiFZ����A�Fç4�<��uQ�,>.�&w6
�����
cE*��ζ�v�ܩ�Zg�*�9~:��id�#���1�Q�@�j�ݘ�>�Y�C?����� 6�!��h����cwo�=ʭJ�$a��nJ#���
���-�y:=�7I�%�(9��b��0�%���ɾ�;��ɹ;���*W��'�[��u���yj8�_��p�hl�*ڧ���́��״���u@��5=;��2x�CE�̿w���Q��
:�:�2�#'Gg;F�D,��z~�c�}&=��J�YĢ��G��g_�kM�F�,�v�G,�+q@���?�\�΅,|>��/?�Uf��)/�Ų?�T]-p�=OJ��'T3�J�����N�
���E7��Y����*�H0�*l@g��x{\r�
/��dx�.P�(�d$��%z��^"B�_������;���:�C�hD�=�3�0[<�����A�����[!�]X��m��t@�_��m�Y(�
����2�D<e!��Dm�n�zہ�ڹ��Cg��j�����OO��S1z)Y�0�cM�e�RU�d
�� K�����Uh�>�m?=q���
�*r�����X�qF��2�+y�����W7a(�:�8��P<�C
4>?�rW�	��!���p�5������Grƣ�ef�O
v��h���9��Y���H |C�<]c�9E������p�4���P$�xJ����N🐾�=�ѫo
���l3���S���T�n&�@���_��㍏�`7�z۰���sLO�"��#m�I�#�?���G����h܃n(�N���T=��{�
e:
���Z5f�?�o�)G�{a,�¥�s{�]p������9�r����$���{_&n_~]*k�����,a�Nl���|k����e$A�T�Ը\P��,�,h.���omp��OMd�~��M� ��=�g(jP1�F�t��P�
�h7i�
�3Q<���I�ԝdvo���J���jhE�#�]#;ў�[Ű<Y�3Uń��V��R��)J�0�@{��&���g������?kv�@!�10�t&�3�#�U�"Q�i��{}=�q��t"�.�&7��_���O�&�
�0�FI\�����A��F
d?�ãP�,������r��/R<P,�0���B?;�t#:����OL�'L	������{����x�X`���,Z���q�(�iDV�>�rr�&%Vr�,؃��3U���h=�
W8$���M�B�����:~x��!�É.Ozm�x�����|����ݙ�S�X���
�7�d��sp��3�}ݍ 0�W���۔�ȸ@:4�Y˻Fu�s��<p�	�,M��e.�l�7�ոǜnR�������rC�m��;�r��{�z�;scT7:'��6,x�	��@�O�[�B��u#�.A!�	��#�v%�R`2ڸ������� ?��~��J�i�OD��Bb�F��g��T�����@�,`�3�W��n����$�5�梈�FH�:�a�O��B�2S��`7�<EC
��5/6���3��8�3��R�
��Cǰn�N�}G���X���̯!��/ۇ�ވ��r�[�e�[Նt#r��^�˟�դ`~H�-�;QLOj�)Q�	��?-r��t�3�k~beӓG��	�?��D.�?�r��s�8L�%�s���gb!S�7DOO��нUV3,<&/0��֞v��s�����J��:QN�ާu�������Y+��;�	R�@
���d�WX�Di�_Ý����VX�ԟ���m�h�b	�tww���Qz�Ĝ�I�d���!Q�5�<k��a�t[��
���2|7��IP��%ڲ#�����E?�4��Ƞ��6� &;=��||�!���ۨ��ڸ��=�w�dM���
���	C��
o�X�<^�tPU���Ӡv������b�ȼ�yr�}�\�Ew��{�0b�GYlh܁�x��Ż{)D�1or�Z���y������)��%��>�Ɩ9X�5`��&(˻�X��E�s:>��=�TU��/T_9V�K�����U��&���5ޏ�Г��i)b���d��n����[�z[�5�����oxξIVs��{��'ޕ5E�(������X�y�a��Փ�i=�d��M���v��]��r!�y�`��B�99� 	�
��W�F��X���?���=��[i+cLaH�����,+Ep0Nf�2"�s��>��5��:H0��բ�j�?e��8��.�R��y�:`�0����hH� |"4�*R��8}�a�{:����&��
�U�#DZg\c1�JU�0pX����RD�M���M���|�>H��7l3�qsH4��ε�.��Г�{3����~�]�UQ��{�c�'�9��`8ز}�u�!��'�mI���=�V�7��h�w���V��8����R��t�1
3�[�L��AՓ���3����}��?�5&��ԣo�i��M�w�Lg;� �A���]{�ƨ	��P��K����٫>;����w��M�ւ	#��my��"4�e�=g�n�9j��ɶ��OTԭ����Tn!��G��Itʔt�l
:O�u�<�TY�/�;���#z[��)��V��!`���d��0Ղ7���W���0�#O�����i�V�L&�._��$�ӯ��]��R/��>�V��b�fn�q0����H&g!)��4Eø��)��F*������TsX��QTX��8`�xR�0U� œ�L95QKظ�^���f<=
-nSd�H9V��N���?�
����2+Q������*܊\��%f�0O @���HS�St�=Lc�G��id��@��Q7����{�>���2��"�Ld��`	�o���_�o��Zl�6�n}M�_�Ϧ��sA�������[������㈍$�"����0�(>�֊����zˊ��=���߾�I!�Q0��
%��,D�B�%>v�6׋z��H�.��}�:HN�]�2��aksc�>�� EG�����Ƙ=��p�v�`pm	`[}�]&E��C������n���x|7����bG�=z�"��媙kצ���]� ɞ���u)�F[��a@:0�j�`g�9DLe	5n�S���'4C��`�Q-�;\ƒhDr���bY������Κ���ݦ�HZ�����M��3J{[.����z.u�g�޸���v�Z,P
��hn�k����v|�c�/Ӵ�P\> �L����{)�����3�vtް��'٤��R�P��C�m�q�lZJ�No.�h��[��*�qX������J�3�m�='6)����+BA}v�������pH�E�-\�-���l�,����Do�gm�X5��1�ݛ���n����{?|}5�[Օh���r�^����\#J,�E�6��vsq��h,�-L��Z���"�b��`�
�4�{u�nL,���f_�r��~Ӹ��T��/w�^���|v㑻J+$e]�?�9" �r�C��L'�`�O��5Ac���UI�5�q���b_"M�Z,�9#���-��>dWs�'���ի��?�^nGĪ�%��7�.�h-�?̂�Hџ��=�pt��UKU���k��v7�c��Ξ�f�8���W�s��%ڤq���8�G�lY��n��'͕cT4�F	� ھ��QGO#���`�\�h�����U&q��O�ڭ�m�r��ć�ŁՂ�v����v`�f�EI�J��}�0]����_$�&�A�2��Hx"��ӽ����R����(�����.�1&]��:A��e��c��G饜��T�����W���7���.�6z�#���X� �i��)��w�����D�R���/�OoXf���>.S���
�،ùiz��v��uK㝹�Q�i!H�f
��7F�NedԛH=�/�D>Ѩ\�$�L���D���\����iPh��^�/���/Bnϯp�B��q��q'$��4��p�Xx��4��R���j��m8�\=�Qz9��Nζ6Z*Ek�J�{��;0�1���T]��&��z�3�*r�H�I�K�)�ڐWbG�R{/&�Ѫ��f���F�B���馿
ܫ(�ñ���s��wJa����=���kP�^��
�'�v�ǀ�w���ڹ����M��|`���4p#�Z�k�8���3M05+9��:�pi�tk��.R0py�G�&��y<�X���r�R�� �V���%�2�+P
����G�bMA92�%����
`��j_�������MGmE�*�}�Ÿ-Ѵ=���G�_Z�$����o
PT����Ÿ� ,�}<����.��"s�+/
y'
{Ig`���X$��o�ǣ>"���*���ƈ�Z�I���b�~3�R�m���f��>�v�݄������NlH��E�F\�@����E8�&�;E��n����+R�
�?=�}�����ȓQ�Sv>�=�o7�h�{��S��B���ƽ�<-q��v��=io�-�"Wm�	���������[��e���t_���.��7La��н�h�̩.����"§�wimi�\e���C�Eg�/���b:��f��auծ���NW��ۼ���]ӛF��;�}A�c�f�����X�6Y���\��Y�"sI��V�rQ��1��@�m�g��Ӷc�\uBkL8�W��{�g�3�m+��O@_��vO����c��g�-���h�;=�6�A�`�����L����?m��*5���*��۩V�q��2K�Xl�C1���RI�g��3��Q���Wx}kU�pu�r0�(X2�dY��%l����;iJQ>�Ł�d��X{%�J2X�[c�CƝ�c��,XUEA�4K���
]��$���F�[���1$S�m��:w��$,��+r1>&��&�7sC�b~��Pk�;�>������������&uޱ�G�h����d�m���j5�D O:�s;(������_9wM��w�>?�p29��伫�l<��kv���F;�p�?�k���r��r?U����'����/j{��O&�D�6�;n��ޛ﶑${��R=�>�
�2�Ř;�֭>��c��
%�(՘dqX�՜�����'��[�V����8`�-��T.���"�^�D��ύ��L:��p�9u�1���NN��X�|�^:(��q�p?��
���?����8{��/!c Ѯҗ
����=~Kj�����s,|؈�;O�O���RAS�X����lP��S·�GY,!��n80P�~���K�۟��"}�!ic㟖�� �_�!{�]Q—5�I!10Dp
J�����uȗ�Ζ���hmY�#�uO��Y��+�I��lN�P�<dsn�~I�Cv�]�W�˸��B@8�ˁubJ�L8(|��/k��q`��f��bo��U�JtV�O��ABY�9"h��
.}��Y���=�)�'�\4`@�)�w\Հ'�9��?�	�'+fcHOW4�S�P��I�y��m�S"@��y��r����j�
��s�HC��H
�
M�F8��B�$�["@�o`���;dOV�ZǠ�E��觠�⸀.F�KO�@��|�2���?pA�����-�s�4��49,��A<�:��ȿy�J�*x���f[~�g�lS-K�[���4��\�����1[Ga�m�J�}���h�Ȝ(�8χ��Ѧ�"q����c^(��=�9��}�����b{��x�p9��}IֻZ�(]G�tnR�,��Ea4A�h.
0��
I�,c�LD��L���l"2X}+~�\����
���!���������z8��#!�x����ˇ���Ӡ���k�}���-��߯�r��j#�͖�u���q(����P��?���O��q��Zb��;H��_Y
DO�C�#Y8<j�YqZq?��8b${l����}EҜD���f~�z�3���ɖ%����Ta��{q�8���j�
��8�
�}�G�*}��-�����S(u�v"�0���Nh��ElsS*��-��\�XD�������N�"����
�/tn4͍��,��?�@�I�v��A����Fk9�$�?��I�5�r�����0`;�#�^���io�sSf����꽈Dq�z�+�����jgi�rab�?���P�lϣ�ު�$��?�p���}E-����O��H�8Єe�ж^�/�dx7W����)����C�
��G�<=��%�#O:\�r�R��uq�E8�
NX %������
���f�6�]yB���9T��kۃ��a��|�z$��1�Q''�t�xa�n�O�u��q2��e����F4�Ղ�6R����iGA��W�/�b���E)�"v��� �x�Jn�T���b����zLB+�*H(m������?��P�I��z-��`�2��R˂1�"z]R`�2I��$��h1��|24�R�����&�H=[c��0��}.�B�<�*�HL��笪g�r��.�k7���r���ܶ�5�}��$	ǭ����q�YE��j��`Ь���)xUq���;C���$4C�=.2%�p�d#�A�'<�<Vp�x2���^��,�"���
E�aF��F�?(�/���Gś���I�NGM}���>o���o��[Z5m��J�
Ѥ��\�7w�xhET�$?�5��
A��t�QGG��<�Ȥ荝�T���l�V�w��z0��r��=�Rm��e����!V�hx0���{�w���r��ɜ�sQ���2�c�Z�In���3
(�Ӛ��6��7���{!��_D�fn��X��]z ��������@.���(�ڔ=�ma�{Z����?b����QV��k�<�;P��p$�˛��j����'M��
B�)���ڹ��? `����z
Z@im��d|.IQO�]|���RD0����I&����B��p� �w[ȸ����^�.o���2��	��RM����M�Vh�Z�p�p0f;���vz=#h��������ζ��wh�jsJl��ͨD�����3�~D���<���*��~�T���yU�~�r���,�\��\����CPw���21���;�����1��@��K��~�+/5:�$�$ϖΘ�}��<;Q٘�ܶJ�(�C��Fl�2�(nAN����C�kX�����ӡ5��.�'4��Y�ZOܟu�B�EU1�ˊ��<�y������T4�
|�}�n9�ɶ�1p��!�F,�{�	��r��^�H\� і��j�"zSݲ����F
pN��Ϳ������4��rg
�%7�O`�Y”�{���L�¥l���=��v�A�h.}|w�d�]�N�|��ɋ<euR�iD4�
�,��۪�4r�X��Z>�'���-��S[����+Ujx��`�Ј%<oQ%�?���;�*#������zd�S	�>�}�yÂDl�C΄�|,�	���h��6�Sp�p�^W�DWJ�M�6�,�!4-�y^�[4=ā?��#�a��Kݨ�x�x�rJ�tP�ʏd~L�;0pg��IG���|�ͧM�8���]10X��+<\x
���3cp�.�[KJ��NԚg+�d���ތm�1��꒗�d�@s���%L�蓗�N�Ph9�5�%��-���O9Z�C+B�3�v���
�0vWE��^�����@����L���o�0�-��j]1ޭqZ�*E<�;F�x?,v��d�0�]Z�D��E��*�f�,��	��F3N��u��b��‘�D8�Z��x5�B�XF���R�2�1O�+t�>�=#jY-ޥA�ʗ�|-�>��ֆI5����4y
v�־��O�#?+j������
������x�nW���˼������vE��!<̯M�!iFG2��a]��8�N�9��(>ޕ�\^/�N��l=��@�H��������KX[@��Rw�"d����e��T��=y1e���
��q���T�ˋ�jcO��.���?JЩ1�����d�D �vU���C��_-�`h�K�b
�i�oj�0d�Fzͮ��y_�ٮ�O�M��s��pd�
���٫�BK�dS@+(��Ѐž�X��r
oܼ��(�_��;ߪ��MmD'��-j�ﺢ ��^[V�X��	���
���%�᫆�_�/e�*��Ύ����Ymv	�,
;#�j�kc��T�JQ�ފ4�42�J��lbgϣ䥎
&�HA����ȃ-Z��mrb�F������G9��t
�C/d���m}�\���jG/v+��	 *�3�o�6Q��9��&7�|C7�'��.q��w?UOV�f1��7rV�gٹ�XTGat��A�����&XF$4Mۨ߰��m�����=9Mkl���B�l�g�pG��h8j>�zU�h;��#i�i��N�9dw:�o�9��[|��Ӂ6��)��44�V�w�N���|�"C�պ6���a��%����;d��Z��%�ڲV��f7��и~�ŭ$��r��y����X܌�!X��P	�5�|�	4��--�\�(�m�w��ggp�G�h�,Kon�b��<�$[�W����ǿh��r�1�2m��=�9�Ó���e	�[�+��Ԍ<_&*��Ua*����U�h �q0�����!���1ic�Mpg�������f"����R���~������}����`����:�`��A0ʝ�ۡ�2�Ϧw�a���[(ַ�u.� ���g4U��Tl�K����^�N�“Sġ[��\�E������qs�E�����v@Z{:$
��Kd��]KI@\	.��c�����&�	'�AFn�Gl#�?���~��QO�P����x�\���^�u'
fO-��n0K�	�w�|�t'LZG�D@;r����Ǹ���b�#dW^d��v'`p�a��>,�p�#�FU��>V.�q�
)f t��u�#�tݮ�0�!��9X��"V��s
���%Q3���m	�>Gj�����Fӣ5�0n͟6[ʡ�(�T<���v
���h�r:��%|�IF��t�}8�]��Л�}.o>�b��H�NC�;��q9��5dI����#���(�p�,*í�4y$W�ު`�U��;���w{C'�[�.��
�S�K۞\�Ra
��L�c������!�B=h�1	��\�Ed"�LM����i{6��Sc�*x���5̦�����hk�Q�N�5�R��ŷB�녃��&�B�>�7��^*[U�9ؚ�h��}��'�ݻ�/��l��é6�r�^�GF�z�n|�j��k�b�Qi�^��!,mpy�m��*��X��!�;#�Q5T0~,e�п\r�9(��}9���׬�k���_�z���N�%��G����Q ,5��P��`@��
]����|�b����Z<+�_��.Z`ߥ���M�{�$����NKC�������Ty�ްQ�Dp�]"�;��:CH��
���Dg������ Z�-GKM��&߈���b��(��dg<��.�����Kv-�e��8`����#������/�����9�Y-�Z'sI?L��ީآs!�jܙO߱��Dp�s�ҏrZ��r��˾��}��@lA;����� C����K��s��.)�����ן��,�H���M�t,�_�m�c�<�RғFӂK_�d��{ob-G�k=�-�F�?��@��]��>m������ލ���
���X_�-V�~Tһ��=�4ױ�x0��)�`�0rA����Ŧ._K�h��g��XS�v���N t��V��79��fK���|��~�Sj5�-�
;*�����dZu^pO9��_B1��~�5�N&?HC�0��W������<8qvz4:�(-�9�D����BOP6�ձxȇ�������,
�HI�~T�#mO������\��z�Eq�g����3�Fro:N�Z݅ې��*��Ŏ+0�#�"�΅S<ȝa��>� ̿���Dq�aej���B�~��-�P�%�e^|󸂟��)���H���/Rm�6���I�~A�׊�����$��ٍ�V�.�º@B�u�l�*���N�o(k�����m�$O��m!D�ds��b:�(�-6=��B��O[�L���{�|��';��HZBo{�# ����e�5���aY�$`�����2Ҧ^2w�ӪZP@�)�}*
���i�nP�
j����Ⱦ�ʺK�M���S}]�C��kc7�P��&
�N<�3-Ąbn��E�ڭ3���dY���ݮV�j�� L�=#aљ�ΌS'�Y�.�������][RuIC�:T7�o#c�������CJ���EO���j�?��X�v�%�CO(�{��/g_� <��&*0�$ίl��V��׿
��2��b��6�ot[\A���@|[\�PO��F�(]Z%k�w@@���J���8�3�v�yqڝ!�@��>F!��P��8���}�j�^�ԂxmCN�`�x+���Z{�������;�\%���/gh㜽T_�5�#�P�T*�1F3�)��	,��>�+�V�vԾ�';!�;:<񏄵�Rƣ���D�S ��m1Vw/0�	D��lͶ$�l�P�-�E��wZCg#�uWs�En
�N�z�Lq�����h⟯o_�N��/�
ƏH������N
'NpO��f&��c��{�}&�QзWR�B~,��N}��Ӫܲ昁��_%�c��C|�ng<�@�+�u~xZ�T�;J�������;��Nrh���
�t<,U{8�+c�b��w9�/%�Vq[��o]���3��-�_��,�D�"�a�*�z���ɐ��†e�1Z�IM��/��Ĩ��(��j~��U�:�5u��pzq�>+��&�z�*�~h�.�s��;]���/)�����M��ˣ�E	�jH�k#n����E�?�����Sշ�A���z:GF�����V	\U�g(��\;��x@C���λ@0�>7�j��`���GH�0��)�à���1hZ�g�82�Xu�&�Qm��vz�~0m̞�#��!�5��[�KB#K�[�E{:j�i'���/<_L�p��=Y�f���!A�o�?�-J��Fr��Iskv}��ƌ�X[��q�MOsg�����: c���z��p*)FGx����&�}}����E�G�e�vu3C(�ˋP�O���� 5�l��X�7���gM���)=^.
Q�x�kn��j�w�F<'����b݁j�����h�޻��N�c~8h
�E��9�y�)b6䕿L�#�N����.~��vMf�۳�X��]��|qX�DBPAa s
1�ˍRW�6��a�����9�=3rB&�}�i?2�8`i��W���Z�n(O����������9��!c����4�t~�7����L�r�>uc}�b����̗�]@z`��w1�5:S|���8%
"��%~�
�f��3��rs�'�(vN����'X��ہp9f�Ѡ%���0���P���������H{�"�#52�YeC���{�E�)e�W�ЅF�I�4�������zi8�ݡj�[[���Dv�d�G�B�ԛr�~���x����9�@B�#��	�E��5�b>��s��13� ���Q��tV��Ɍ:���5�fŲ�0��n�-� �M�x���fczS<�ڐoJ�"����;�He�H�p�E;�N�l�>��t���/���`L������$�'称m��?��ґ� �|���.7�v�ɷ���۪Bk��8�Q�\��z%Jyֵ?��t2qҺ�N��ܠ��FK��CȒ5�4s���\O�M�}5�"z�.˿�K;=�j<��Kz�����{�m"R,��h�ӣ��K�N��EDa�,���mh�7nәh��z�j±5��|��t+��J�n�G]C<PW�l�����Ї��L��>ȲW[60��q���A�c��#G�c���ʮ��aq�cݠ��`�A%�K{�x[�[��������3J�:����6��-\�V���{��������\>
��
P�����:DP�hv͐*�>�z<U|yz���:LO��H�hƥ�H�b�|�|�,⧮��pv��������7�%ӑ�n�f7D3L/HK��K�&�@������jN쉆"��V��u:��;n��t���Ԉ}�/��JN��,� ;Ev~Z;�	��j(X�?c2���Y��A���w#�p�� ;�-�oI?C�E)�C�eM�%+�OM_� �C��Ѻ��s�"yx
Z0�E�3���^+`�{�P��Y�Tj��|N�����vn�&R��禣�����"�_�/��W�l��5��I���;埇�(���r(?@w���n�l�I�悩Ucc	�={Ю�6m=m�O�n��:���:Q`M"B��|y���i��y�y3}�I��G�{����bq��._�
��1Z���P�Cs��F���\8��7�?7@����h��\(0�����f�9��9�&6wm��x
�)��a?j��2��T�C�q8�!	�ڹp�7uB�@k���o..��u���>M�p9����TI%����R�c_{Zh�l�0c59��C(6���+X���z��}��[�#`j+�7�`@4r��~u'�ք���N

&��jz1ֳ�SU� ��a���%C����d-0y�&e�.��:0 �v�����|@�(�X�([�Z!�6y��Uĕ^+�LP�D�z��&��I/�K��uH,{�͛�2�F�7�	�x�4H�iJ]���DBi`���z�1#�(� J�%l�'�o����g��fzVx�	2X�Zm�S���M���z9�U#�%�u.�7�w73@R[��U�,8wP�����9�h��^��$�:��N�Z���h�(w�
�vяԃ V���@;Jj�������F�}f�
ίA*�NjLi�����/�7�+#�6�FF�X�+TI�ҧ�
T]�%#_�L
���.*!PU{�1���P�C��!q����r[��U�e$�bM
�+}��R�$aW��nrb�\G�2*�
�Y4�	m���
�����2��1��!�t�Ѯ��8>����̦Ϫ�.^Ń���qu�d��=O��רz27�J�펽'�i��"�-gḡ���軜����yw��;{��ݯF��R�W"��>6�:
�T����[Z�P������2&Q�s�#¥�5	X�e����w�A���т���R}�������M�i���lE)5��[?�x\����}� *�<���-L����C���/�B��a@c囚' ���<��<�zK5��u���隫�骢iJ���|�gWN���l#1JK� ��d�Fj��xj��Č�(-��W���2���)1*�9|/�����a$��ifOj�lzfr�^����t�(CyR�a�<�1�Z�+Wض�ݲ��16�g�6S�l9.n6=�1!BBK��C��"'2i6g&xތ�,�'��鰰=e�g���P��
ټS�l��ݲqG9ȕe����(�3�hZnŋ�;���b`�����5��7AP�hm���$��L�5Q�����l�J��>��
����.W%��L�`�[�J B���aE��z����4�Z���{T������G73d��_0��#�g��6
�r�[Dz^�v�dB�\`���)h�W�!0A��~��WLHx�w��*�:f�dY�r����B�]�L�]�o6K�̃���Xֶb�ۛ0�J�����PL���9�c����*6�������;u
켷w�
i�"r�
2��cc"R<�,�+�he�9\�2���m\�M����@GX#�
)��el=���������m��A:���l��h���-��'q�-�Vg�j�;xAo���.��k[��X*�EH(��-]�/�n:<��e�p�"&d�hP+jD��@�7�nQ�P���-p��_Z�wU�rm��@�q[��b�dn�J\q�Ļ�z@��g�S3ar�z+Y�����^��H��V�ۓ�5{?��K���}r7,���b��{snE@��b���^Z�Egxl)��Uv�ᒭ��3"��+l+_*��~T"�P����\|�{��!>�ҼJ��8�|�)�պ��2���������T��>{��>Ư���f�n���?W�f��Z���C��Z���fD��F`-��g���&���lk��OG1|�n�1[��Oy��Z�I�N 9�x�w�F�l".<Y�p�g�G�a�Mch1�as����%&��w�O�Ɔ�}�yТ�����<�z��m���/��H�S���H��{xЋ0��ŷ�g�M�
$�Sn�����WP5�����թ ���_O�>��s4�1�
�|�f���(@�${J�T�~�_ɠd���z"�_�젛5��
4j~���G�w�����똻���yw���
���8��[RB�jFE�j�X:�8Öowe�vW<��F:ݦN��Z#۠�a��E%`�>Yȷ2���{.r�I��ӄB�:�-����9؏	L�p�!^���;|H̺`�4��O���$�4J�`�@|yv��5�@�w��P��]�(hE����AI#6�l����N8���}~`��]n\�Fb���-�%�a��O�'nah���q��4�������=K팖ݜ�jB�撑F��H��T%D�Ҭ
��.@n{��svD}+8
 �I��A��*���c�`�s/�9+�.����𷬨4e�����dܱ�@q!��D}�
gyB�\o�u����B��w{u���
�R�5Kx�n�5�MT�6�5P$��� A�~/p]�)
Hifd�:@V��a/�b�Ƃ���� ^#�#�y�Ef@�f���̏V�T85�aW���l6p��c_0�s^pr��b�﷠y�$\����b����u�.���x�W'痯~>Q�Q���R!��GҲ�
t�Jk��	�������U�גq>*DxgHA�K:!�z���-k��+��ٯ<��C�\�P�� V!d\n.y���l
ʊv��#L�˕���V�!��D�����%���8��ɱ��93����?���>d����J�i#�H�п��y��9���k"n��SP�m���l�5�o���_�sPv����PH��\ώa������haP�as(������%�
Q�!-q1t/r��㌽���I@0a�Y�����#�qzp(��c�:<y ���Յ:��:1t���R%h�"Th�)	���7�r��v�8�/��a46��Q���hh�D3���<��U{�7����G��ZFdՐ��C`!Ͷ%~rܢhl�z�F�㭳�w7�QOه'�_�w4��)��x�D�)�E1����w��h�5/�5�l�l�yye?QѡAė��:���7����z�v�	Ll��6���Jo�E)�wEt.��y��k�H�
��u���1�xhʁ�;nZ��ЁK�@����k`�����"��aeFOI*��3�r������<b�T><^<A���z[l�us�� ���zy��r3.��,1w�&��&Z��翋�
�$��[��В��30˞��F��3�䑌=��j՞S�� �+�&�[v�އ�K�� HC�r|���
E%���ߩ���y0��3��׭�ˍ������+!�~��:Dד����y�&�O�f������(�]wm�uPY�:����_}a���$Mp߆���6�/6��>�����C'Q�{�[x_�,)�Q��%���휯�f��]:p�	C97
F�x�b��{��ٯ�_��O������j���yB��?�oɾV
_K(�XWv';K�m�-rU��v�?G�]a"��W��نV�Č�u;�K�6+G�&�`�|����5�+w����%f����	غ�R����4�5[9�z/�C�ߢ���WQ�-_��̋��;V��'�	P��%Tf?Ϸe~��U�����ǒ�@L�A�?��ͶX�߿�	��۟�g����u_��<�lJRm��
�	w,��������������dU|�v����b�Se��X�)���Q:�0��ls�q*!��	���5�_�U��
�.M׉�Slc�©W�ך_�p���i9"��09��)\r�8~#p�>�T��ο��H� �V�+_�D�E���3hmS-�kxȠ(B��g�<��$��߽ku�kn�n[D��n�'14RP�����ܩ�Mx�w�\S�4ۑ�C�}�䔝�n�����㌀q-W����UÌК��f4;�n��.��o]B>eKt�Pߍv�=�:�b2��QĢ:D��?��|��F��xd�T�V9|��蒄��M�$���\������|x�	#�а"�%en�	�ѐ�P�b���K��r��D}�ǠZ����i�{|ȸ�M����'��>�k~�C�#�#����^�s��$z:�H�l�͊?û�*��_`��XJG�[�Za��+���d�.߽i���ʑ\�������J~Q�9.�'��[�Pk�H�Y���@���� ��oW�e��6̏�r#)r�&K����~-bJHr
{��S���;��;�Ph�)�5{Ƥ܉�Sǥ10�A�͐�
ݖ��Iț�ܛ^jo��t��d�b�oQ��ё���x�	�ĉ�ov+��v��D<���euˊݮu$d��DS?�v?U,��!�2pe}/�ÑN�{�Bc�bY���w�[����� Q���1�%Ⱦ�g�Qo��i�]JHSq��s	M�a�Hp�+AqV+	���v��P������mAA*�3�X�+�
Y��ҧ�+AqSA�A������C,�a�}b�6��pK�6�D9���R"����a��=S��`�,7qCgynB��
n�Ohv�s�h�;ĭк�b⒮���ќݬqbk��px�J������+�'6%�F�<s@�
煄*�O�fh�f�!G�9Q�u�f�5�@�pod��,��:g�� 6���j4(G��)f!c���}��{�?Ĩ8�j外˃���%T�{	�{	%.!�p��A��
��Y���[��6�,�>�XH���˞V���y���_�`Wm���U|H���m�;�mQml(&HR����Q_�DeF��;D��&P�}EhΘ���2%Ar9�tM�9�
���H5��
��7��.��E�}�o��sA�`�D0a���0�,o_��_
���n��_����z
C2X���Z�Z���-�,�
-��u���a����!<���W˜��B���v���Kj��?�b��$�C�v�dS�Z&�&Ǝ����ƥ��FbD�z�*�`wVNS�%��j4�R��̭-C|���5��]��S-�|��$W��,�Ǟ���J�/�����m�?�v[���C�|_rd��C��o�v�:��HS���z-���'��OW��MU��%L�	�poB�P�D4���쵦HEs�܀O�e��è�d琅|��l�{1�Co�`K30��c��*�i�d�SXX�j��VF@J�uo�m�%�T#E�LFӑ�Mx�Ҵ)	Hya�����d
h>c��y瀓���9���}�T6�W���:�G�ɴ������g�@�/��qsy<�p�7��>�+	%��;�1�
9�:%�#�<�nN�_�%�Q����O�|��ӎ�(�V�ŸBF�ݳ��«�h�Y'�x�
���o!��e��x��x�n�@��ـׯ�k�z����7jhS�*_]\<���n�L��
#�~wl[8�S���Jgn��0}������F�!LE_�i�}�M�6 ��%l@�-[�_�]�}B�dk�n�����������Ai@owvB�ؔ@�Q����x�ä��,(�^3Ɓ�s�I�c���gN�J��-����;9?;��9���@�0�9�2�#���B���ۦb�+���*/��ʂ
؛9����Fj��7��M<,�<P$��N(([���4^��]3��(4��rW`�̩^$�%(}�\P��*�vDI�EU�/gΌE�5��o(��\W�������Z�Zm�+ji,�-ڈ�7�XD:�h�(���[_�Q�@���M">qu��mC���n������x^�ml��`�����le˵ۙ:����M�v�n�����?��FP'��8���W�Z��r���(��w�(><�����|��~\'Ù{	k��Z�Gs�����`��s��%~��h4��]��2��7�^'�\{���K&�鬘��tGM�Mc@����Ɓ<b��J��h�:���n�Cv(:�Q�r�0��g�2��N�ԦU��
.YWQ�4/j(m�ۜ����#�I�6d�Dd�W����m�kB�X�v�:<fx�.8x�>f���Xw�/��W<OP�(�l@���+��n_���Q!}��h�x�eF���
ӋR,��_�XUm��}*`.�KE�.�9����p�m�_�����31EG���!_��@�\��uf��������Sb"E����adQ8��w��T�jf�Vl��h��rC�e5�n�TG�.������8�D�#��}�|C���Sx>~���%"�e��_�]~]�x��P����?�{E;��U+�-�0��0�:�L"��^����3��8�t�������u8i{�EA-(,~r�Q���izYptL/ܛ����ە��Z�oٟn�cn!��ySMw7��Q??%j�;�:�S�!���$��H-hy�5�b.����n��d���)���%���Zz[���o+v�jvu�Q���R=/�s��un!Z�U>�N�s��~����J�*�����&��wp�j�oZ?���u
�<���
��lo�� =�G������A:x>��\����(�����P�Jy��oe+,�1���"���m��Ɍ��F��㊊��J�K�z�L���(C[Ĝ�_�������a'����ı�,�8�7�JN��O~�٧`2��uκ�D'#�r�s��"I����Z[q������&��k|O��|O��F�GԺ����h^ϫ|�
"�v�ر�[�={�<��;-^�Z�
��E�y��3�T!!�ؾʳ�[��tn�!�;��8q��nt7d����k��G��ՙ�z���NVz��]�0�r���e0*�C	��3�Y֢N`�:8��O
=d���zqr��H'�1�7(�_���ؐ�JFGAq�k�W�xG'$U|IB��N�h���?�띞K-���l*���/v7�v�ߞ�(N���7[Uŋ�����b8ڝ��2�}c�g1���*�?}v7[��)V����[b=���Z�>��G':�=�ĉ:����3��R�X3=@G���Aw
~3�+u�o��PU�u��UR������f��p��W�feLXwqx0��R8����iY]�KgHVr�`(������::}6iU��jW���������C/b=?�E�WC"kY8����-�&m6�Z 3�x?b�
�,��ݒ����E�3b�(kY�<W|��N_�Q�*�Yy�;�q��k7��h��Ns��!��Nɹ:�X	'������Z�R檰X���Է��T�"392{��qO��=��q�P��b�o��xؘ���[Q��''Z��R}P���c��-�4��M'��E�HO�Z�zV���g�6�xS�Xk�L�(h�$?z`�m��z4$P0� ��q}*���X��^72@MHBߚ�8�C�)I'0H��Ӭ�h\��
�p9f�
�"I�6�.�V h�H�3����y��}Z�0��r�	�)j��yV(I�T�;��3�/��Jv���!�H}���{tm�4'DM��}���	R�j�D/��T�R�Ol{�_Z ��gO�����*=�P����R{�˨Ud��U��r���^yM)I8�ԇȐ�`����/*�>���Z+:�椒�.-�S���![�� ��?;DWǟ�T{���C�2�I)jQu_�kf?7�� �����[;�&�k���gv峆��]ޡaj�wW���ep%NF���C�>�=Y�wIw�K���ծ6�K�>t���Kz\��0��ɑH,��,-Z���
W���^�
矽�g|�
����׺f�N}n�"��Eh�&[�h�����x�;p�$��B�g�l�`0&W��0�����i���Y�(��Ǹx�@$7��P�H9��Q�-M¥�59�>�yǦ�ue�7���m�Ŀ����w<Y�VC�T� p�<�:��
��|yy�L+�qa�{r�Qc�0^~�����!�I�ܕ��Ϳ��uB�rCC�yk졺a�
e\v�d�_�?�59'6x$>��Q��*�!A��w�`����<h�u�Nԍ���N�q]��mq�!�ґ��Á��:�׬\c:N��jZ,�-u��8�%�8Dܯ-�o�|���5���zl��ƼJ�H
�V߽5��j��a�
[)����z2��T�&S��!79��7=}˱����Ge?�_�@�����T��/v��ȵ���*����Z�Lŏ���$'��`+1R�av7WԖ�����
��ו��de�X(e�v
�\\�t�J��̮J#vㄘ���>���-ңl������ъc͖?�v�9��tg\�ʿ.L�G����	4��GF��Z(e,�v
�/)e�mO��k��nك����-��H��cU�v�pޝP�N��Æ��h�~��|�v�ѣG7���Xfw!��"�Z�P�Fb��Vk�9)AN"g�>Ke"
��h��z&��G~QXS�ƚD�Z� V�9�(g��d��4��j�˴���#�t_��㦧��l
�i��������%XZ�d�\�$ߩ���'�T�PZ�,�������2f�S�1OPm���@���h�@hu���V��Hƍ7./�i�,�p��mtD�^Ŧ��y0}���ߔ������>��E��5�ĸ�u���(�����Fxó�l�����0���a��]Z��@��|������(�	G��N���vb]"�рV���kT�:P#^���M>"<�����xZ醆��De�!���f�`Ss=4*��x�V�p<ꢼ^���a�4Ӈ{��o��A�����!W��[�<���~��!���d7W��,f�eo+�[T�s�����`�J���b^����o�G��-<��$i�|�n;�l(,��߈�!��jxC'�Z3�|�<�NF���d�����Y��_K��m!�4�'���{:��
m�_�j��x���\W�ZXz:���8����R���B��v�
�E��(l��3�����@jڑ�
�E�ԋ�}/�`�M��k#g��3>1�X��:�MR���ę=�>��w��0�ƫÓ}�c�ڑ�d�<�[��NF\�U�Ɯ]�rN�+סo^/���L�/w��lnY���W����z2F>A��H8S��A<c���GN{
���8��i�&o��Ќ%=���Q�!~b���\\��-�79}�`��^uzk�]V������r�����h�b_����N�flj�	�N��@��9Z��x��(X\�9���3�IVUc�[�+��^�������H�$���tyn|��T:)'A�Z��d����y�ί(��zM��Hh�q��i�
�H�%2�~�r�{�,R������%�Q�5ɗ����I�I�f��{�[@���j�(;m���m���-�˘���3�T"`���\D���J�!�
l��y��i��Z�o��!�Yi����}2�Kx�����nU�����\���4�����^n�:T%��Ȟ���2S�1��4��F��Z	q\m�3�V�{y�IA���1Y�.�Aī���wy�^��5�+%�e�>��`^_B�2��O�$ʠ�����7U�b�P��;oy���@�O��U<�&�ME�.ԑm��T��Of��2����<'�
����,��ט��]��c��@���1�������gl/pƆ��:.��N��H;�t���NO�F���X2�J�������|ƞ|�t^^��St�Yl+-�F�t��36���Ǚ��b�./�|vN$��|20���[�^k�r�����Z��D"ZC��DK�#�q�`���!��E��|�;���M�
�-Y~����4�Hl��M��f�[v�0�X��.���L8���ZΪUP�s�@�Y��������)x��c_��{�+m�Z[��Df�L�3���75���d/��v\��Y�^"Z_�>�~��p� �㕮$7�Gn8�Mh
8w�Stl9��80Y�_.��`W�5����0����/|#��v���+�j����l��?	�[�����a�`F%#_�������Lw�n��7Z��
$s�Z'��a*T$�F�`:x�$WL�&��s�339V�(�)3L@ۜt��&׵�P��Lx4b��e�����y�:�~�\�-�;^��An��y>���
b�)�_����A_��,�O�K�]-Vn���j}�`9��{�/0�f���ĄfU��$JVM^�h�*������e�&����ebK�6�k)�?�L��ЕRE���J:�m�M���
\a��k�/�Yu���+q�a3+��z-փm_�����(�K��'+�S]�IdUE������F�KmX_��P��M$���͛kl�����w8<�w;���m�5�D�W�r���0:+�Qk~��U��]��<�0X u��o�ב�s���
�φl�����=�f�睑�]�T&u^��?%�ih2�R70]���N=YQ��ԕ���Ú}1@�M?u$1��"�j������هK%�=7{�b����pJ�د�W��9��̰��׽ˢB�&b�eF��7��M�c
�!ly���pj��:�x���a�~m�'Wk�0	��~ɿ��i��	~J�n����|��2�V�����s�����	��Ğ�_.�9�����s��v^���CQ��؞VǝLP�l����|���;�|����pX�g�+�T80��բC�B�>.�&RwB�w{��h#<��W+z��
�Zj�o(��e&7�:����L���1�F|)��n�.���Tb�H�7$]޽It�N`R��x���W�`ԋY�N���~;��^�8m�O����
OBO�O�)^���jZZ��5~��e3���=W�7����,9����ڟ4.�����v8���Q���������y�"GӇ�>�`�"bj����Uv���8ʧ�Jo�S���=c��������ß�h�
�U	*2Mls�����>	�W�ꪤ�j4-P@��# I�����;35�S�����`����/tD�s�{�+7�B�D��(e�44��\([�hgv�q?p�r���bJ{��5�U�g\I	@<��
<���L3@��q��x
컂6��~>�έ��v8>@��$�{ٷ�T���٪b�	:��.•�ZJXyu'�_v���V�=Q�%��:�-�ұ��N�H�ӎ̈�Ph��Ttź��z��bM�M��T�N��}��8��o(ir@CC!
�8|y1�#�w�}�b����8�_��(kX *��ݦ��1�=�j�I��h�2���dX��C�͉�O��כ|��u�@�	bu�깝��c���i�kN�ƚ�۳ܩ�1rw�$0���|�{O�HSڿ�꾶H�1R���fru��K��0b9�������5;��nb�z&^��}�냆Qwܱ{3Y�A½N���O)l��P"��ˇ��M��:ϛ;�Z+؍���qG�o,n��q�6��X4��(0N��Kn�R����
?�"�;\0���j�<x��k.j�;����
����6ز��31���ߓX��I �yRK��61���B&�	�0����P����������/�pP1:��f]���]��/��}앹[��PBd(�: �Vs�/��
1���P¢�/�����ҭ����?����h���F���	�W�Q��ـ��H�ۈI�0�=�>�~M���FD�A0Ѡu<���;Nr�D�	���}��.�S�\�"�j������iv��f4Hy�:�9����v;f^��5���̷61��0M$�8D�ḐY)�6qY]_s'X_O�c�hØnL׷2�SV�f� v��H��k���%xf�X�,�m�c'j���	ӯ�zhQp@�=�
^��ȷ�¯ġ8?��+X˨3e�ͯ97�G#���$��[]�Pk��U��O��
�Tၐ���	"���W�b��N�
�Mj8��k����%��z#@���eګ�@~6�z^�T�8y��~�����`F�esF��=���Ŕ�=��*���9�‹L0�)Fͮ$�E�q߯z�>�[�p|x�rpl4_nKFv��RKB)xENJ,R���aҩ���6�V��\:Cv�V��)<w
!��=ݨ�:�c�D�1۾�dj��� �� !<�/?m��䎢��$�,��bU�F�Ӵ~jg���_Z��j�5L�X�"��\�WY�
��%P�J�A���C���	,ev���0�Z>�ō�#��v%���ծ\z�[�k�?Gj��Z��!�])hN�,�ɐ�z���*Ѕ##Ơ��٫�qŖݾ�����lw���� �ܹ�S��$i�;N@y���9"h7ُo..1N'����ܦf`��/��ݒNO�xd����B�����ԛ�����Vq��q�k�����ߏs��j�Lyފ�I���䏳��.>_��	��?:w��[���>h��ss�>Ш�@�V�g�0��fo5�w�����-�O�g^��S`���,���gZ���g%�7�1�1��^1���zF×5�Z��c��Tw&>i���5't��)���[��]7
hd��O�TV�m�
�)��JW���)��^�v�G��rE�JC�ozR��'n�ʧ�I�ODŽEB�A �-�۳b��(	)R�&)��X����{�s�l�4��/7q�#�a"�
!�V�3�Gg{���w�K@�k��*��9,��Q
L��ݺ�&�4?�禾_4��
�ܬ-r1.�������<�9�Gw�=�D��(a��E��]92&I��׺��/���ː<SG�c�"�"���w�eS�O��x��Qg����8+�EX���s��nQ�K��Rs��������7�3@w��ʱ`�FL('�T�,V�x��nK�d�߂��)H�d��~Y���7u�%4����R��䘩M2=�' $�o�a�p^�'v
V�JdF�	e[%�E�/�0*�E֛L:v*Ϊ5{�>��X�?`-*�`���j2}$-�R�C?G�U��\���l-��o~Ds.��9��A�)a�m9X��#��0�G]z�ʧ�������J�����z�3VǙ8=�q\�ə.�#�S7":륉{�/h:a����vⱗ4�.V.�($u^�ȰM��Z2��4�x�PD �z�:�O>����D$�2!61�]l��w���l��u �;vcg�oYM�`8��͠��y�ux� {n�B�~�1���w��xS!ľ9_��x[�~i��hU�º��k��أ�W�آ���ñ������}��n���GFi��Cj&���������ym?��b�,��m��|��p:���)V��#��#�Z�'+�Ц���{S�2f��C�W�U����Q�5�˗seUI����˭��5���M�Q[S�s
��o4����E�y��o�z�7�!.A
.�g<n���]s��R�5"-�%�)�R���������͏<��q�ޕD��G���`%g���\F7�|3�՝L�X[ܘ��	6���۟�߄Z+^��u[��oxf{3c�iOG�=��"_���hx�8O�΀N���6��W����1�6�nf�����9�J����s��	��~�NO��g��C�3
�ܺ�K��
�3Xa�yF�+���*�u���=
���55��qr�e��T�3p���(Im&�VN�9?$9N���V���T�H�b��$T�h�
�f�RR#�t��V�������΂$��O'm���uC��t�eF^�u�"=��#];�=��ݽ����d�YN�M��<�y��#Y�hH����/����C�!�/����)���hs�:���B;�K�7�ݦ~����*�+f7���={!�Y�o�g�b��06�3�8.a���A��}�'�iK�߇�{��IJm�p"�rs����J��}F��+�ּضbۛ~l�����˹
J�s�v�Dڱ�Wv_i�n���+1Ȫ����y�-\� pL�-*�Q��㗊��N���:��qD�3P��0}����‰��L���aN97��U��&���-ݾ9�s.�g��	7r��4ж��֭K�'6�V�&�@��u�����=�n�`�|�����æX�F������G3E�
g��(8�74فql��a�s�c5��#���S1�%���>��le.5n.(ߪ����l���G"�Pܩ_Գ�ro���-ؔ	G�������\�Xe�l]�L�by?�!�bux��q5ݻOu���O����G���@}�k��g:lt�(T��\����3@�a��O�I@ıE�\���Zsb-n��|�^[6\n�����vK�׵-�:"�#ӛ�/�ֻ�O褾�"��»�2L �Gh#dK�����ê/] ��k��e	����s�������h�)D�c�x��<2FnLb	߂	!ri��)Snv��c��gYq|}̍��|����q#����;R���A��f���}HF����Ƞ���C�n�[4�`T
��d�N$���e$ٯ����ݥ�bڶW�@�}�!mKx_���M��~>�ʥ7=r���\w����|'�^�����F���6����J@F@L	�Ođ֓�#�{��D�E8��	g��#�^��+ι��Hm�����J��B�Q)���!U�s�@V�lƇ���%�n��&F�����~R�A��@�"g�ދoV��!{Õ��I�//Fxllr�ڕ*���(�W�_sW�۰�=�vK'���H%�-��/�r��"��CK�a�c�.�F�N�7c�m���7�v����O���K|j[�n�j��;�Q7$WV�_X�L�$�m��?.;�@u�c/�ק�j�%_+(c� U<��i��Oɑ�?��^(��Յ�T��gp��Oy�ک�T�_Kv^�G�p��՞
��%S�^��hݾ�s��h��~%/��I�`j�m���B
6�u�Vr*)]�q�5���;�c��Zحl�զ�'֣5�*r1��cmq�(3X��ˠ�K[G�/�?t�!�:�Q�XҲU��	�/0�g5[�_ �*E��h�#��W]S�#��P�`��g�G��� .�$�t�i�?�"+	նǽ-0H��Iu��o%;����B�S�t�!#�_��|���T=Jm�Ƙ�f�o�����G�ڬ�R�V1h�X(1$8=��Q?RI��aB��i'�o�;h:v�kjV[(����Wi�n���J�o�
m��3����m+bI���T��6`��gH<I�Kb����^â�Y�R���7��|��!V@�R1$�/ا�り[n�w�/�Y�}����~B4Mϟ��f������u��׳�avn��3 ��2�Q�/�f�hN�����C�Ǽ��$L$��s�d/BDU����}&q2���s��Sn����(MVrB[��/�F���c'��P��wN��ihTG�����Go
=�/��`�T?�6���Żr�q=�;
CȬ�,�(dP�B�p��m���b��E�C߹�w�����6���65��A�%ﰂ�A�m�͞�,k�9����6e�\J�Z�JxZ����J���b@Д�@���u��e�T�}Z)�KT4�V��h�T��mXݷ��꜀7����>a����M|����ӠO:���B�u]\�J^��܂�w���6"�6k��FC�&�S����3DZT���`�Vl�G�W/_ �ֱ�7��P!V���ñ��0DCN��i�αBwV�e�憊�]�Ɔ�1�?ָ�ɲD��}Y�ڤ��˛����}z�\�+��|����X�S��<�K'��ʩ3���ꉥK*ߺG��j Kve�4���gj,���q)�Zm����'��'����(��n��,�l� �#w_�ܗ�	�=x}�X�b��@���̚{�N�Լ�W���Ŕ�K�;nN��/	N�F�[��D�Bs<�2����f���	聯��q��-O�Y2|��>�6�U��_P�%&`�V2`jHj*fNGQ}�2"�`8�Ƙ#4*�G��/s�p��V.pV=�![�:ù*س���_O�^�y�}�x��"�p��o�h[�5���/

H���ص�Jp�.왑�����M��n�6ح�g�t>H!�-9r�v]�bOV̽�2|ǘ�%��bƗ�$����y�D۟�j�Ͼ"h����^sn$VkH��ʈ�m��U��IN�v�#VՌ�t��
�	�)�G .��@2%�aB-�����޼1�ƛ�e6�h;�I��a3�[���vix?��7�����X�%"SDF}����dd�Y��%ɜ<S�vZ�BIZX+֍�V�|��h&'�YGo��ovb�L�qf{)�6�����4	�D�jwI�
�i��Ӭ_�֣�M���q4���,n5հ��].���� te�o�#����r���*��Q+��cE���YRzOn�f�K0}��k���h��K-A�\�MJ�F��wb��}��j�s�=�M8}��D�հ�߭D+�r���?���|���v!1�0<�n�*v�P����ڑ7Y��ɀe`_��=�j(��5�s�U��Bdz)��}��n�Mk|h���߿�I��.k!Y8a�!�����c��Y9�Jᵭ"b׭
G��Z����E�  8�ӫ"���|i*@^��`�4`�yR�Pk�T��]�� ���kO\�_.<�#�k^<aO�.�	F�>A�(Hz��D{w��$V��WO�ws�ƹw�t3�G�������Ҝ���݁�sӡ-[u$�a�J�#�wٔ�U0~�0�:H��:�\0�mm�x�<��A�� ��W�6��mVVWղ٥�;Ա�/+Ю`��|&eG�|'��@C8�l��ީr�o]�\^Jȵ��;�ߟ�\\~�!���oK�<�'���ol��+0��n�vw�$☈�
��˞�R"�e��A:��M����%�0���6�S߷ڑ�%��͒��o�
�4���z��V�mى�,��dFY�M��Ɔ��M�sֱ���t������
��̝ٚ��74A��6��<t	k.�xV}��x�'�ȃ#�d��a��pQ�PF�4�?�%#��@Vx��f>����6��]��u�e��;�j�*4T�e���y�<��*�l_�At����a{
y-�$��������k#�Aߋ��Y���
�h;��A�z��i��dԜ���ت���XR7��1w�b�Ǚi����.8�[lW��y*�����X(�2��jjY-�SJj�:/�Z��'��LNC�j��zw�#�d�Vw�ߊ|�k�����\ʞ�4⚕凛C�NO#���E�}M��TR1��U��%ii�Н�.���)�6nW#!�D�B�`�MU���9���S�
�=�C�Ncz;dqT�s��8p]<�t�s�c��^����ï
f��NwKD^ ��0�s��kP��N�y���F��_�z���eRtiC�.#q�:���!�_�JyL�IO��|w��
�%�D�؅�Mݴqg�>�ݴ��Mt�Շ}7m4t���'W���iݞ����s�����O��اw�ӑw�ӱ;����t:��Ov&��^Ǔ��%�d]���:<�qC&{5V
2��ʓ^C�
H�P�4R]�v�F��K.v�
��>4�#w�D�>�T�PKf��[�'���+�litespeed-cache-en_AU.moUT	/�Ai/�Aiux�������\U?�6	*��@��I ����@����n���f�nB�μ�2;3�7��RC�7iқ�ҤI�EAT����������[��l��6w�}��{�=��S��	g����˔��Yl�� ��+������)��+��N�֔5�۔~��k(]��[)]��{4}��OQ���S����z�ʠ�<o��͔~�ҭ)MSڙA;��=�Rfp"��Rz�C<J�)�d6v�tOJ'Qz.��Sz��)��s(�{�~=
���wR�J��tcJ�Q�YJ��tJϡ�Ӕ� �8��P�ǔ~��O�;��)]{ ֢��҃(ݖ�Y��2��x�7a0�R:mߓD�x��7�︌�M(}��J������Q:��=)���]y������0)݆�})m��LJ�(}��y��9���m�J˔~�һ�G?����.��R:n�wsJw�tJPz�2��O(�)}��N��<�}M��<�e��G�F<�è��{�1��P��/
c��@)�l��a��F��0�VJS��X���Y��\�w]_�\���^�8�X�w�U�1P�A�v�OR�<��t��%��ǖ����l��������c��/<}s9�W\��<P�_�p�}�u9��}���嘇�/�������v�+c��˘��˘�Y�~�2�.���e��Q�|�>_J���D������l�yk�W��{���P�L�1��1��?c|DŽJC�
��������o�V0�/U1��)ݐ��/Q�S�z�5��*�_��U��O����y���;S:��%+0���}M__�z	�ٔ~m�ʔ��<�`�S�%�����w�O�J|��J���+1?׭�:���J��)݊�y��(���(��JSz�ߤ�?�hg��nC�����g�y����|<z���>v ��b}�<���Q��Ο�<4��lz��ܷ��YpƓ?��AX�#º�����r���}����� |W��w;P���h��1_7xy��/P�4�_��c�����|�t��;�;p{�!X��~��!�K�`�x�嫇�9q(Γ���=���7�8ߣt=Ɠ��.��<m�
㞹
�c�*|��Ugn��U���n����=��<�
���
�K����;��a��r��~���a]��y���n����q�~�"8����n��](����;2]q8��� �Bi���G`����`>��@?�#���ҭ�Zq$��x$��#�ߓGb�?9��.�;�>��^�Ga<�8
��t4�̤��n�h�{�ј���?x4�yU��9�2���&��ִ���bJg2^?�u�1�3��r��9�����lF��M��b��a�=�8�8��
��u������3�G{�ǣ����ZF�r�����s����>�;�>����|�|"��D��Oĺ����Ϸ����;�ʉ��'��O�����$�˔���;	�v���w��[�'N��<q�I��{N}���7OFz��h�['>n>�>z2�镓q���d���uo;�3���P�>��9��~u
��J��p*�J#J��~?
��y�]v���?Y�/�ל�z�4��g����u����1�SN��9t���1o�9�|O߿��o��������9��3�7�3�3P��3@��s��30����<��g����D�:p�ә����D{o��?����1}�9�,�?�,೽�����`�Y��0/��}��R��?=��g�^�l�I�l���8o>����(�q;��|n,�~��x�\��_=/QZ=���y߆�^�n;�ߡt?���`.�����B�J.�)/R�uޏ��s��}�wٷ����^����׾��q>}���(��}�ŀ��/F�����_���7��m�%���4-]�Yu	�K���K��{���t��z^
��K���K1�^
x[��XϯP��/�������
�!}�2��������b���<���q9����߫�c>~��߻�8J�N���w�z��r��=W�T�׺�7�p�v%��y%�o�>/�4�x�J�{�J��[Wb߼%��^x��*��qƳ�*�;{֧|���W��s��=����|�h.J���<���q�����x��j��\���jУ3�F�_�uY���hz��z������\
���W/���6�o̺�5�����p�5��\:�G��߾��t-�O]��7�p��X������/w]����k�ۮý�|�}�u����w��:�������z�s�O�h���G;�^�v޸x�7���n�wv܀�܀���u�
���nP:���܈y��F<7S�e���\~#ڽ[��F�Go}�&��0O{ބy��#n�y}�M��[5}�&��Z�W7�{��q77|�f쿍nF�moޝq3ڟu3�[z3�x3��`M���{���ߌy�U��f�+7�{3�k�[�ގ�`�̾��݂~{o�xn���Z�[�j��nA�?���v�݊��������
�����>r+���[�7j�On��V��������d������-���]�����m8�:o�w�oø����P���0�o�y��m�����K�~y��o]��v�g�ݎ{�o?��c�[ށr߼�Yw`}�p�O݁�����;����C6�΃�0��|p��p޾�=|���8�}�Sz���^��;�OǝX���>��{؝X���<\s'ڹG߿x'��;1Mw���݅���?j�]�_g݅���.|��w~�ݍ}���z�p���X����?z7�wwM���
ߍ�~7��w��^��|7�����`�7��;���{�x�/���t!�{p�<w�w�{1�C�b\߹��{Q�{�o~/ే�m)=��^���>��}���>�קQz��@m{?�~�ݏs�1?�ߏ����Ώ=�q����-|��.�t>�X�/?���(-1]� ���=<8�!�奚�z�˫�O�|�?�G~�v�!���n���)=�Ϲ�_��Ê��:�0����>x���8��}�7�|����ܜG�<�u��GP��G������Gpީ�~���v_}��w�O�Q�cˣ��}��(��G��=�}��G�/wz�q�c��?��{�1��{����ǸO}�/y�q��Ǹ_y�DZ���8��OLyt�'�'<��'P��'�?��ڞ��$�i�'�_�$��'��.|p}㓘�j���<��$���Ob����=����+Rz �w�|�{xcק���O�Oc��~��i����'�=�q�K��fϠܬg0�o>��.�t�3�)Ϡ�˞���t�[�`�[>��g<�h�gq9�Y�ËϢ�_?�v�V��0����w?8�<���9�]�a�Oh��a�z��qϣ�]��z�<�"�<Σ���?�p��7O=�~�~���O���AJ���|p�"��/>�x���)d���g�%�^�z]��?��t�aL��ȅ?��a��1�ԏ��J�
�S���g~�{���������:⼗1�/��{��/��2���i�`��
��W����|��+��i��~�ql����'�W(ݗ�'�ϓ_�}+�*��ͯb�~ᧀ�y?�<짘Ǜ�s�������=~�y��p���g8����?G��?�<��9�[W���.ǿ���zc�k�#��9���װ�|
�����y]���c[^�t��sm�뀻�_G?�����Q�����y�̤7���s�������{�
�ӓo�/J�a<��>A�/1��(݋υ_��
~���R�?�3J�u�5΅�
>ܳ�_`ƛ�����'�^��7�#��������[z�x��[8��Nh"��蚇<����v�ƛ���+~<�߁���{����]�{���5����6�g�m�ϓ�F?�y߷������q���?b��tšD�/����O�����?����/m��%����{����>�]��w�k}���C�Sz%�O�=y�����p��������+������_�tG"��z����Qo��������|���?�}�ϼ�q��>����}�{���������~���{�u���&��b�?�/��￰�O����B���7��y�7�+?�7���?����s���!�žz꿀��W�M�C\�R�/nj��J)�u�5	��(�r��_?;�I����
�|�lJ)��i�2<�F)��,��F)e|w<���ϥ��ǵZ�J�>��?A�eO��|��f��R��g'��(=���ZMr�8w-��ǚ�>i����R�_�Q��J�(ezi��G��zwQ�t�Ô�y�6���>��}�|G��?�q?D��S?���%�|���R��}�e(e���R>w�_�ж6�w��ϝ�kc��)e�YEi��km����i<Y��Ϗ+)���蓘��)e<��|>}�SMrmJ)��Oa�)�}u"���������᧱>�P��έ��|��i��+�2��5�������-���:x]|DZ��;.���;��|=F)����u1���e��`�����Q����`ޏ����)��*���~I)��k�ɟ�L��4��Ϣ��}������?���|�d(��|���&���~�OQ�t��_�l�|߅�2^��R�cl=���uXA)�g����w=��/��K)�
�o
��ss}���un�b���Ŕ��}�л��
����|q�&�/��7D{�m���醘ǿm���φw�FM��ō0�n�Xgc��6F��n���|c�K��(w����m����R��~������߬��&�/X�K�?�K���)ݔ��+5��/����}�����+�w˯��m��q�i�W�}_����h�����|�>_���_��>���*���_�<�G)��R�x�DJ��x�R�gؤI趝7���l�}�r�{�&�[�o���SJ��z{���S��
S�㯧0�����)��2�:><u�|�=��6�q�D|�Q��݉��_OD��ND?O�wl6I�
�L�NB��Q�L�L}yS�ÑM��n���|n��)�t���37�ƛa}鈿P���.����d���d�#&�{������S���'7�:�E)��o�����1�-�����-0/m�������&9o�܌y�i�X܌�/4�V�1O�kzy3�yC3�ϝ͘�W��i�w����N���S0��|�є�>ӹS0o_�Z��3�R��Ԗ��c�\��%�9W���ߺ%��-O�m��%��_Z��-��)-xަ��]��m�<�[����[��Y-��-��{Z0���i���o��~����yR+ε�(e�v�V��i���ZWh���F�e�r^�SMc��w���,���l�z��<�ӆq_؆���R�߿���\���������3�b�������S���婘�4�x+|�tMíP�ح�ǯ�
��B)ӫ�o�q������h猭��[c<�l���ր��y2
�x�1��u<d��Ӧa�?8
���/_��c3�L��
��6X��n����
���b���㶀��m�m�s̶���o��]k;쓩ۡ�~ۡ��v��÷�x.����?�����0�?l���vX�	�c�>�=�m{��n{|o'�L�/��u��wߧ�����L�����@�-��Of���|������S��������_��#ƹxG�CqG���;��|G�'����6�yp:ƹb:�#�c]Ν���t�����OO��x:��逧N�x���S�N���N�����N�N�wϝ0��Nh�PMO�	�p�ֿ~'�s�NJO�u��N�۵v�����wF���1�pg��a;c~O��޴3��^JY��J�~5���j�;7�xe쟿S��MwE?�R��[v����?u7�������a�{�(S*�FJY����0�ѯc��:��e_G��:�mn�<Om�w����5y;��v��%�[5�a;������i�zm3t�N3P��8'Ξ�>��
JY����?��<�݁ql܁yl�4ׁ↓㹹��P�{���|�6��/٨�{B��N�[;Qo�,��3��^�g_]=�=?��g�����x7���i�����=g���l��l|�y���3[����������i��gNޞ
<��|׮s@_,��~^��s��&]�����oW�i�.��q��h��.|ϣ]����t�>�p.�,��uX>��k)e}�7)e>��@�~�
�߄y��<<���5�5s��y����?x�s�<��5����y��)��Ύ��O���c>��}p�|��7��{�|���Zn�n�+vc�v��xgtc|�/��h�hM/���ݍy[�������`o\�q޵�?���g?�Y���������=(�ۃ��>=8/�{@��8y���+�c�[��w>���t �̧�]�q���z!�Eo/�݋)e���z�0��P��}�����rJ�o��"�Ǧ,n}�
�̟���S���{��=�_���l)����>��K1�-�t-�,�|k)��yO��.{��"}^�'��=Q��=��~�'��
M��pӴ�I{�k/���������tS���/�q�7�픽��ߢ�������m�}0޶o"�&ƻ��*���t�7�<���/�j��o�}1C�~ž8����}��b�������~�{������No��<���Y}�	��O}S��
1������^����!��\�q�b}�o~��mԏ{����K)e>�Ք2�����Q���/Ƞ��2X��f@�>�Aog�.���Y��dAM�_���wς������g��g�7�b=��*=a�F���t���a�����n��E�?�a��2��~�������u�6x]<��>x�?i�ȥ���G��^��ߛ���������C(����!�m�9�׆9|�9|��9�s�χ��<��k(ey�9����hw�Qn�?��A�_�?���1O?��'}^k��
�ỷմk�s�e�?��XL)믜�x��e�h�;��>��?�������2��5�d߻����1/���~_�WppX�uv^υ<��cZ��<�})��Ǻ����\�3���F�K���a�s��AÀ�3���c�Ƽ�?�uٸ8ު������X��
���
��7���E<o��"�{@x�"ΧG���1�JH�(���%�����xn	�ѣ喔Q	x���K8�>�����O]��_��^_z`�2�wNp0O�e�y_Zƺ����A��W�y�2�55>�5�y��;O�1��b��{1����^ur�<\���P>{��_�:mP<�T��nU�_\ź�_�QE�gh����G=W��`�k�
|Wa���W]��q�
��+��Py�
|������iƷ���#�����x�UFG�`�g�`����^;��t�yF˿<��n��`%ΟޕX�;Vb����(�����d�fx�(��9�I䎝�>s������p`��3M;����7� �+�a~<�� |�a�������<������������s0���C��=x�UM����Cq��=�t��#<t(���hw�U����7m�<�R�g�}����R||�a�ð���x<�q|�����wi���v������_�p�5��p�{G�ه���}��<}����<�v8������t��ӕG_�s��?GO�p$�o�#1�#����MGbܟ?
�'���y��(�{��0�����*G�;.9
��ڣ@�>s��G|�h�?�h��w�F7��h��G���
8��1�g_=p��1����(>8�1��C���;G�o;��1h�]JY���>�<x�c�+���t,ƿ�qʧ=��{�d�8����P�����r��q�~�M��q�x�;�x�o��s�?�^�?t<�_�{ȿ��:,9���r���?���'(�y���o��y�D���D�gO�x�'�sԉh����??p��8��r"������O��9I�]��O?���0�Y'7��~�ɀ��N�>��)���S@p
�g����)�o랊�j=�g�
8=�T��O�ҩ�n~��Q���SN�~��R�gz�4���{������O�~��_>���'��g`^�;S�͙���3��������Xy&�_x��I���3q�|�Lȣ�����p�z�,��m�ƾ=�l��3g_N8��98��|�98�_=�s�sq��v.��U�"��s��/��y�p�[���V��<�<���y�79����w>�}�������k����s��W�+x>ε���5]�~6��ӜP���g\z������M@����_���\�y���UB�_;|��.R�!����-��G~��ַ �n��I�sι���/�����b�K���R�/�Kq��m��q��|<�m�����>����y蚹���z9���1�w.�:�
�+@>w�ʡ��5_	����]��[�T�˕؟��
�,�
�w�U�O�]�q��#��u��w@W���/����y�j���A���^���K�k�����k�_�q.��0z��Ϯ��{}��3�r=�ɿ���;��ho�1��F��S7���ϴ�MX��[P�[�߽���o�|��������8G�}��w�}����.���~��6�=o��
x�QJY�i��1��ߎ�~y;���:�u�=�R�Gz��W��=��1���c>�}�3�N������wB��w�N��n����G��
|�ۻ�_�����{��λ���{p�\u��������{��}�ݺ�b�^�܋����;�^���^�3-����{1�[�p��?�>�?�}����o���t\�a=x΃W�>��}��>�xd��Qo��A�ͽ�Q�~�ŗ����O���P|��e����p�?������o|5?�s�1�����ك��w�LxzF�>�u9�!�ɿ>���k?�>��?�|5?<���8����U�x����>���n����#��_?��I?
zg�G1_K���(��ܣ�_7<����~�c��O?��H=�r��0_ݏN#�?�1���a^�{�}��?����ǁ7�{�=<4�8�CG�k���q�3��q�s�X���rOn����'p����[��8�{�w�S�_����|�)|�ħ�Wvx|��F?o>�r��qn|����gT��p�3��>}�ǟ��8�Y��-�?��,�&>�ux�9��&�c?w?�v.x�����^@{[���
_�<���0��_�>�'^�V��8�E��/��e/b=�}��[�%��������K�w����|s�K�/8E�7��mJ�x^���૩gl�i�Wp�I������^N��J����w?��'�G�Q��q�MW��o�ܮ�^���o�1�߄�菎��	x�T����w�������o�7]B�	��<w�#�W��}��]��iʣ�Pp������J˜Ai�R;)JϦ�i:ֹ�Z��08��M�����.�c|�h�@�|�ң���]j^��}y�oWjc%�����������O�To�x�
��/��'�݆T��Tn���{(E���/K�L�\�mDe��o��H�o�j"����M�y^�ҹ���揣���6�����R���u�ƙi��/��S4�s�>F�D�^�3��_���(�3����~��k�>�(�OL2���=Ĵ�g�����ߡkp�~�o����<L��O���~��?��9��3��o��D�������,��˴��Fz�ES���)�����o��u���T�d�{�x����O�g�d��P���T�:��@����<����oo^�&�Y��y���Ae�����2^<�e��`}����W�u���Q;��2'���;v�w'��ul��L���1
y$��kk�Jy��2����:W��5���nN�_���(o�8��v�ٖ~O続��� �����yk�g-�e�}�O��sEmoG�ߦ�~���y_z�3=�~�@郔���_u\��Zv�T�>�R[[4Ag�'���I،B'�Q�7�Vq�n}�g+�+�8FX��a�������{ヺ��k���]kQ���W?V�>����h��9�g�	�Ӊ򮠿��w���������a� cgܪ}�R�:����A����̏�ޑ�1}7�~��G���1��^Wo>_��;Sz$�A�L�
ƖT�3\�K�~Bi��f�v��ͽ�n*s�
S�{�L����F�_�o���k��`�1ou!�q6�}�ى�N���ڔ�����s����4�9����b�S�qJ�z�23���s<l?X�r)�>�����DR?�t=�ۛ��y�;��EJ��i�q����:�S5}Λ�EZ����������P���f��+(o#�k��u����V����C(�˔���ߏi<��R�+1n���ω�o��	��N���㓔^�wRjc	�-3g6�އ�Z�����>�f͵�Y��ML��]w���9�W��ś�=���J��j�d*�+��i9�h�+�)���}�?A���L����D��Q��o�IuO�g��}�kK4}C�-�^��_����G���q�E{��oWsnmA��>?A��fz������m�f:?|O�;�=����f�3�
3�=I���6���3�f�f<��^�3y_ZF���k���aw�C�;H��ƿ�9�K�.�t��1
D�����o�\�4��ez~��=�����mo�/������z�7�z(o*���Y���ƹ��L3S����u����{�4�ߐ��/��y�%C��ҵ(x��������	vd�j�?���L�P�W�ߥ��=������۟���=Li������j�u'���t�'�O�ֻ�w���G��\�����T�}�x�a@y�i��i�M���1?�Bʻ��}��d�����r}Zv#�_��'�}y���ף�o\�1
������K��O���M�[��:���=�Ǵ�#�N�t�ѣ��|p���4��;ܜI��8�kјo�}C�+�?��+��]�-��C�y/�Q�T��&�~�~?�4,�at�`�w�q���$j��O�a��76җ{e��]��=��S��ƣ>��tc>��ݯ�r3��D����ձ�O��e��-��}��5�y��)����T��&qoL�zUʋ�Þ�w�y���痨�ߘv�:|罎�a<|�~����;K����~��[L����)/�`n���4��6A�c�k�����Ӯ:��S��w%=�IeG�ފ�ɜ��
=�N��M`G��9,R^=M�y?�4�fX��=�aH��'����y�w�3�s�`k�q*�/�
�&��8�+M�� O����|�|���r�+�є�k������E�c�X���0�Ge�g:��6��-��@���c�`\New�6����Ee���S�-T��&ش~elU���3n�w?2Lx�lHeO�[�������}������z-������u�ַ�Ke����b��x�›50�W�?��j��k��a~;���Y<-w:��`7տM�=H�t�[����<���L�>�<���K�^a��s��ߚ�����x��>���Oӻ���z7��ϡ��`O�e㹚^���,�����C�ocͿ�q)�~F��ih�I����ٚ�>�M�}�w�%�=�:�{^��������fjk*�o�ZLSP^���&��|X��������C����pJe/�66����:Ә>��	��V7a���&������`=�wR�7)݀�.;���`�=Bu�����h,7i��,�U�m��w���@����0���ca����Z��M��/0-�|�&�@��q�7?�)���&���=0���Vʿ��6��#��G��I�?��U����5�������wF.���M���sL�^��z�D}D}�F�!����]�m�u��s��Ni��1�-{��̏�������;B�~�3��i����Dz?���<~���O�ע������1�j�+ϵ��i*�
�=�����{�i
z���'{Ƒ�Wޣ�.�|N��JO�5�w�4�ώ�((o�[H��g
�/�7���%����-��ql����*��*�L���߳1=O�~5>���S��)���>˵�Y6|�ޚ�����j��|+=���|��@�ϴ���?���2Ni�O��k;m��;��ʴ���-��,���~i��rs����̇f~ �{���Zf*��<7����y��P{nj�ώoS��Yơe>�_$��?�27�m�ɼg7�-�,��|?�6���������vv���
���k|'f����2��w�����͟һ�럔^�m��m���Hmm�ߓ���b0y�����韁\>�S�h���R˫Q5��R�:H9+�r�+P�-���Q65P,�*C9j,S���`r65T��M��\�Z��/Ɍ�L����q�se%*p��H��#̆��(��)�*6w�\���i+7F��x����pT�FY�8\�+��(U����݇�Q��+�*��H��,4��8\Ay�~(�K�a��$=T	3�(�S=ae(�9L
���]&��M���uq.q�7��/U�\>޹-�5E�J�H�m�H%,F�]&�۟�&�Z-e�
��J;�v��Ga��l����a�>h(�O��#�
�b��4W�o��-d�_R<��;��v�1�*u�j��S#9��f'Zeh�������ZR,g{���j!���bqY���}}�թ�[6����Ge�2af(�"�afY�ĥ"������R�-=W8��67�;�W���+h�	�Gei�?$.E\cT���]W�4c���b�Ϗ�Ғ��T����Pc����lj~.��r/�%�@�4��;�h�<���/�Eqn��7��yF��Y���ΐ�*�y)�� ?5/<`�u^1$�Ku۳�R]=����}�a!e�T�B�S\v/��ՠ
�"��S�<�
]����e�v_�53���:���s�{� �L@J[���iq�"��^酖470��O�s��R�^pv�t�����l���"E,d�1���-p��Ѝ5-�)W�P3��z�4��\(��jU�$�AH��n��=Y��&
�����F�����3�oY�*�CBHQ��#��`���
TC��Fa5������MWe����I��J�Z��Ҟ�"�ppu�Gh1��ĩ�b!J���B4E�<*�~Ne�2-vA�/!�rq��-WN����:� #���L�G�QB��i�R�r1[�Th"���Pd������հP�UFk���7�T����~����4����8e�B�%;��o��0@e+�b>�Z�Ȍ^
"�R7���T���KV���G��.3c�h)���D��9�
�D�*QE��M�HN�N�A����eA��A8�…��q���#��x��h��Q�U�jJ��P�&�'���ݫ)O�Jc��&�c�0�y#�#M`~��
W�C����W�?�!��3�JfU��Kj)-d���B��f���7��>�I�:�y~�W+C4��L؝w|��(���7���U�XfQ��j?��P�"9#Qf!�(<%3�G�&D�Q<#����׫�9(�C�� �[�	&3�Hk��+�#=f��B�J��hO�E��25�Q�)�TGw/��@T������@���1[�T���.d�U�g�`��%5��^���]���P�H��Լ���_�G�K��r�����R����$5
bu�3J��#I�_�
��U��%��U̜��
f���r&{m�JD��L�o���\�n2�ik�Q�&d��/�Du�\����T�P1��s{�Ԧ�>�V+���wd�LP�J�꣒��J�/B���T�*x��f�l0��4C��O'����Rd�j -����R������~�/��ʤ8��O��If��k�!�d����fVo6E@��0�[�"6gd:�G7>�j��f�>dJXW�X ��>��#h��*��ܚ�e�k�r[�E�54�҅6�P�YV���I����L5��]�2>�u�L���:��:�M��,fr!h��řLo�9��9�ڙ�i��8i�|��ՠL�,"L��-�GҎ�I<ay���ҩ@��5�
������E|��@�`&c��M�Ӊ^�����\�v.?Y`1伦:|�{9:���0��-�27�yjn/���~"�$��o�����t��}'f-�':z`T~����zs���C!�/��޶q��޿)�f�e}���c�>`8�E��l�-�sr�5�88e[��E��F���×hd�-�,������޾_�tw
�KzZe��,�7n��F��t4�|���KC����'���"�U&��W0���3�)i�#�(S�MbSAΰj._�'3���
���3r�K��3�#/K�2y�\`�3 �^B=�<-��G\\��1�(7_
��/��
N�:i{�S�3��)��J(�ER5����2.G�q%h5�{Vx꺏q�=�-�+o��L82eZs�H���t��d�e�e�B�G��A�Z�o�\Q�}TA#c|�-�ʄ>��':�0u��'���{^YY���kf9���K����ZT��m6�Aԁ���*'"Jӽ+�K4��D�8�>:j��T���]9Z�c.����3��d����J��aF�X�}yJ��T���xu=�4�yU��*�m��j	�$LO�ƣ�%�
�5�����i0ߍ�%g�a��/)P9�p�9�Ң���(����`kذ��Vm�‰Xm���hT�J��w(C���-���;!��/r��o��2����0�0�#����܍V��f�l��\a5�n3	u,K
Ee�TLV�,�f�ղp��MY��FL�Df�����h�2x��Z�5��U��-�[�5�nj�{�=�Z.�0�%���ɊPm�׭����PYN�f�f̹;�iز�T���i��8��)+2)~=C����Q�p9{�X*��a�����tzq'}e�M�>'�d2C;m�Yd�
��MF�E�yR�������s���é̤��.�eh�J|`N4Z�m*���3rh�wᾮ���T� ����2F�����|���=�R�Lw
Ŏ&l4��)���p82�{��9��|��z���
]@���:��������@�S���bf�{����v��m�}��b&���)L}���R��džO;Q$�ҥL2�oE41e� 4O?��
����,R~�K�Kp�J	�0�D/4u�S��5�X\P*3Q���<NV%�*���Ѫt3q%�m�z�
phb��g_��J�!��Wz���1'�G+���Ї���|1���\ʜLfp0����0�F��!,��h+f"R�E\.ѥX:�qދj�d
a]g�D�=f��I�1���X?Z�ԋ��N�Qf0����������0�G�%,G*�Y˘:�ϭ2S;���/��l�0���3�z��[f*�e��]��0(8YёW�]�)�i��#���D�_3�4��V�7��r3�G�����v5��*�,a��T�$�4��-�l��~��&���(Ƣ��ke]���3�}^�������)���cO�7��Կ�[����T^G�+�*�})�c'�g:ҤPx��ͼ^�螟"ܬ�੭*��E}���5���!8�̬�;{�a�
�R:Ƙ�}���2rh�\�LJ�%q�t�G����H5�d)m���\%��L�s�)<x�_ �2�֘n�Q��(�X���tL�}kM�N+�1w��@&4�#d6|�$���;�%:xۀ��`y�`,[,�X��p#c�"4!�5ӗ���,�Ny~����.���Q���i[KB��'��˰�G�|�I��$�*-���G��a��dM�I&"�"o���΢��N��f��'pQXv.��^LT���;9%N"
+ޱl�s͎���`��Rd+jS}�%�T��τeJ/x�ө>��{�Y)fu
��lnay�X	[x�#��a��w!M
��Eڂ��\:���E03��	s�L��p���k�����;�j�O
@ؐ�Y�n�*aL�R�e��Q�W��=�S)�D&/ܵ��<nn!��x��}.��m�)���Q0E�j+�fZYsM���5�����K���-􅵅���aAB��cʟ������
��8R���69}��|�F�O��[/۫!�p�j�-��OG���젳����h�c�iR~�N��[��	j�Y"#Q�/;Z��tR񀕾y�
C>�\`4
,V���ܴ�y!�yFF�h�u�t$F�i�"\VB��/V]X��p�
�/V]���`��:�Y��s�7�z�`d�d�gf	�p~�����K +U�Ƞ5᣶��)�\;-��x@��,� 1�t1�+�ːӼӜP�\Vh���������	RV_s�2��&A[>՞��V�'�wh��9��C�Y�>D�'�	u&�=�7�[Ӧ��&��\pꋢ��U�~��aM2���E��^�+�%6ٖ9B��t���t�1k�1�6!�^��>�u8Q�J�CŞzT(h0Qʀ��eY51�+�`Jpb2[��V��-b���G1�k�ȏ�`"%�u{��L�~4'Nķ���#ª<�����`G7�uE�rh���"X�@��C�t�IŠ�6q�������:7
f-��|����j�Z�
߸��k��L*�]#���l���BH	��{�a�ypx�\:���itQ�&~�J�v]�I�܉ZK��R5TBJ��A2g@�+�q̡Z���J�(��}�+ޅ�3@o8yP�d���񮸙	��7�`5��[d4����D��[�a�Z�?c0���586���vy��_�⮜h��%���hd,�Y\6�{��nR�w�\a��
��N���"C�ɩUa��ᦴW����� 
�#t'R��,�75Ø�A�E�H��K�[B��dщ��$��̈́r�U���Z:��X�9ռ�ODf�O*$%�"���r�[[�25���6��55��ACg<����BMUB�Lʎ�[T|�K92#�OZ�OvRKJ��zV����2M�L�L���c1_�N189큃�E�N���E�r� r�t�"��s���D>Q��ĕ���c?���,�I��jE6�^���+�"����Xg'T��
"��Z��.WX&jxoLߺ׼��S訾,z5���Q{�1��\(�
]�cD<��-
-E�
Z�"<�F4�j�_}�eQ��R�~v���C�Yˮ�+X#@9������j��X�
���l��9��B�Dy|��nDd�����y�����=�ѣ��M-3�Ŀ����,������:��+1`�kEx��+�>Η˜��\\��
O����0��S��U�
�(�I����-��_��,)�x�:a���-�����g�7C�a�U9h��B.�[J��5<m�
sD����@q�4lF��nP�Fo�X�w�|�֜�j�YY2;F�L�'�$�C�cW� ���2'Lj�Ɣ���f���q��mVne��\���	�k�5]��yIs�p民���E��aY� �
�JE��x�3Š�6�f7"��&��s��� &" �ըb��
��4�a�yڵ��C�%�E�ף��k ��l�y�Q*KС�ȥtCE�(���C{��%�'���h&:	��¦�ᵜGR�	��u��(�A�l�j�͘��4�Y�0�D�z�N(в
9v@������Q7����`����PZ��	k�V�If��r�E��?*/�]|�n+=1�K��#pK�ł@�q�A���F�A��U�/Y�Ql���s��hqڮIxI�?z-+�(ǖC�����A?Q'd�7�k,&_׀�G���9��B�	���N�Id�E0�l�yьSs �ߖŴ��p��en��e,m†9�*�+�2�Nm�UBgZ�q�2D̝���
��~�_����˴�-�BE�5�q�i����`�V�t[�د(�%
|�_�p��$' T�`1�,���A�L�r�����ظ��e�W�قȝN?��|UP��a�
�G�fE��M�T��u+���mۋU`/GP��_9��
�0����&�{ޛ�?�ʂ��t�a~���(T�4,%Ӕ2��.2���t	��1P&�p�#f$W�g�i8�sc��3�'�+s�\�5J�Z� D���TH(H1�4Ȋ���O���/��#r�`�����n�j�[�/V]��y���%��*�)-�eET#��τo���X�`B Y�Qz5dDHG��eD0fP�E��p[��(�CY�B/�[u�[I�fm�N�� y6e*�K���ɋa��=$�ZSouk�`�Q���*�o�ɛ�.�e7�S�k�
��1�VoX� �Qb�ީ����h3��	���&���(�@�=��d���IE�}NQ�~ᔸ��d�͊X&�)+�\0� �����4n��J��rz<����EW��G,<1$t?S�>{�I3�*�D(Bӎ��<���$W�K��L����Y.�P�s�Gm��R+4�a�[*��I�D1���V���SL#L:,�(gqR�+�9�fæ�ཽ�oN*9�����z�4����#L�=xK{�1�}�e���+�k��9�-���B�v��ؚ|I7��S���f�u�y��
G�P�y-5�tB̈"��e��
I��⴬2�����9�YFU��<�b�RMOuƗ�D�W��Ŕǐ{�����H׏nb�s�/��چݻ��|�Ϙ[��T�0�!��r+ �tE�3�l��t�o�pA���&�Z� &�/�T�諱$��tJ�`��n�ϜО��x�	����'��jy�ʅPvai�KS]��/��#�-Jp��2z�pW�����,^D.�����BF��(���ZD���ʗ#���*tU,^��a����&ջxv�T,�R����<k���7 �ע�#s.²�/eA�dDזRe�@��P�q?�z��k�k���zFJ�D�<c�KG�Z1(�F�B^�5jG�;���s���0G2CŢ�SZؒ�	�i=�L�7��"�0��E"h�W�Х���7���$�������D?��Bx����S�ʱ,��i�H�x���ô���D�w��rZ�6z��n@�q�d-k���m+��hb��,�/�l2{C�̨���1v�K�vL�}��]H-��1���#��e��ʺ����c�#es��![]�!p�X�+/h��x��n�;�Tt�/y��LA�#P0c!W�\�6q��qqjQ"`rYG�3@��|�A��V�o<d�1�>��"��&��'2
�(�5�'��cn�iT��$�*�QO%Lu	3<�"e3~K�Ѱd���	Ҟ�)NV����PO�Z�^6�#0�!��̘/֬gP(.#���y�G)��Bҝ}>�E��p�'��V6�\�L,	I(��(jؘP��W�D�+>v&�T�a�B�5�81z%�fA&-
��A��+i���Pj�E������c
K$�A���k\E�Q�*F�7�.1����m�
��'[$��`ݩj�7j�Y��>/�x����������;M�7I�i\skK�	�j4�*��V!R�	|m��m�2s�ތ�h/�`Y��1'��X�W�勿++��{���=��|��
�&.[�����P�^F_�*�����$z��Zʰ
�'9�>t6pf�����[�AY��W�'�Q�@�U	�<�9e����\GU��cY�Zڳ�5*.�z�B�!��D��e��T���eY��䱽�ڸ
���23���\E�p��J#��j�!c��`~X`�%U�/�;��p����x~X^�Aq��V
��0���П����j2�;�w��l.t��|��y,	���2T����0�7-���p�`2�6��(:F!�KX9W����cO-�4xv>�3�ُ��;_\�9����D�
:L������G�9�F��#��k�ZP�lSt/����f�d�IFNHi�bKa�&n��A�՛��Zd7�{�Y�v=�\�cd��'����/-Eˑ��oP���8�0�ח�l�M*��Q��X/����E�S�5������t��g��iazEk4ݍ�
)�8_l�����F.���ٳ
V�b&�o!�7�:���?���{S#����P��b]r���y�gɤ}�
��n�C����n]�U��w�߀1�3&[k�!��=��_�
��DǪy`��װ�X��e���f-kX\��X�*��q����G��0�̚,�,`C��"��#���б�7�6��ʅ��i쏀�����"<�
DM�ԂI���7"w�1 U۶�k`W
g��F��BnR�$�ϗ+�q%d���!|�%�Q�^N.l[�"2p��a��̍���M,O։M�Ǡ�T�Rh}���X�$� >5�b� 
R�f� ��1�*}�ΈrW�36W���a�X5&�r�a�H�t%(��?�Jj�B�V���$=Ǝ���ڦ�����ذr3�9��$u0�n(�Kd�E��AC�o��˞W�c�Vȏ���w�
Qv��E�	�F�5���/�lp���}��m��c��	��՗�m���~��1іg%�ڲ�}x����'�߆�����i`�ne�u+U�o��.=���?̚��}��fef�$2���3߿�e^S���j�9�f�`���|�v�AsND�4�����S3¼�����up��T��f+�>6����r�2�3L�����
�DF0K�:�"��HI� ���b6Q���F���sr,�
D�VXn�Pc(G���I`T(�:KC�״�h�Yŏ��}�(}�*��x@�fO8�ת��*�x�OP����24�LǢ��`FHC���ZGƋ�S�3���n���k�h�*X�N�t�I����D*R�6�*�p�J&j�U-򁦕U��a��`1x����E�4��vF}�P�Lĉ�Z/^*BWV�x˶M߭EN��rqB����q�MX�"���	�xu��;*�ۂ�Z�Y3`�uOB;�(�{Ø�-�
�Z�)�V�T��mB6�TYU�����eY&�ܘ��f�{�8�e��V���S�Q+3ap�V��@�-9��e7���&s"��핍��V��jX�0WKPlW҅�EU��R�;�s!F%��X��ʦ�r;T����KsMX�����"M�
�G���=�OZ�Jˈ.I3���u�ǴP |EvٹG�,pњY)W$�-��=�-�EV;T�QV�)&�{���=�H��a^�XJ���@,��~�vt&�	g��V�fW�9=��s#�M�աqo7�e�|v�2��/ߚ��Ap\�6-ϗ�4Ê����93#�k��2��t�j�S�+�e��(�VU�z7,S��bV|j���@
�����K�ďY����EQ��&�V�s�Iژ�U�E���to}�z�x�Tg�*�(xFu�$\$���2y�D�Y�'��x(��ss�NH����V�`Ϛ��~[]�
u�jG3`���&o}��Ua�f�θ�)�R�EU�[a�{�h�Tz"]��Ų���~&����y�y�p�f=�A�D$����-����3F�i�$�l]5��ьy-�Y4�z���}���@��Ϳ�{�J�5�/��^�ɛ�6b�XF��,�D���[SQz0]��m
+b07Mk[*�$���jv%��i�����#+Ё'-Y��>��ښk��]�k�WS���I��{פ8���Qn�6��@nk��YQ�>W�y;�,o��淨X�	�p�Fhu�T�T�F
YĚo�
�E��GY%�<ɾw�V�i������u����i!�nA:��>.�^�1됫���5~��ij�$K]LJ'Z!����;�0u�5�m��z�pY\���$��V��J��\��N�[�ɳ���UbI���FTh�ٱ��F�:��A�;���\��gn}�)��]�%D�h�eK�[�|�	k�&�4�Ē��s$�Z�Qy���s&[�'CN��I;F�
PD�2�S�x\W�|J/�HҜ�W��W]�0l]���+���	p�47i eD�I�`�<q�B5TZT<,,M����ec��jω���lk��/4
t6<��(�;�ά�@��|M�l�ֵ�u�QE�y{#���T�c�F*@��v�~+(>��	�x���p�#��N�0�1_p���;i�ļ�I�y���L֖�e��������
紐��(��%T{�0Z�
D*f��I�5���3�S��ľM�+k�����dywMN��:z��hĩZ�/-����Y�e|^�F��ÀY�S��k����ĺ�*\8�0*
�;Kv,]��A�S���UCj�fD�������T���Uv���8�\��w/�9ԋ<<oݹ��'�S�x��5�7o��H:�ճb�>�SΥj`a>*f��$@V��?�+��|))D��lc�Z��k�k�6.rm���a7��D���Q�Б5��F$|X�ʍ��ł��83ʹ*$,2�΄�H�n�#�`察�1�N2��m!k����E�~�<����j��΅�\�w-Q�
C����J������j��M��l�̋.���X{��kXOc��'$JF�W���T�OZK��=�5uE�R��4�MTc�6��B�a��v`����N����k����� [u��x�{�*^{ƕ5.<����xpZ!��XYv>�F�
��?��V�S�n�=�{xנ1�?�[ۄ6_f[�%�!��i��`�Gs<%�1���`ϧ�(�[��� �ˈ�F���G��:Zw��C�u�o��ΜכjSc�8�Z �����.:b.#�V%ʙ2�B����!A%H�^�����d�`�^g�/f|�r.��,O�z2s
ua<�.?L��3�w��u��&�e(�:��
»��_����>�Y���k���V��
��
q�ͬ6B���W�}�<v��R�Udΰ�RA�JT��O%L�j	c�<�=�y�h�q/�*.�+K&֏�V�L\�z�!A/7�G)��C�?��$�*{2��/{9΅�OO�*\
��P��Y����u�o����ɘ�As���0?��a�G����'��wH�儕��#�eV�p��
�c���U�Ŵ�@�؊B���F^Ԑ5�O�����vh����|��DÂ>���A��y�}�(�	���������^���(.�%h�G��k^^}tzQ�ְ�3�(����Si�Á�ðk'YzXU��h�h=��=�_ҁ�/�qjN��9ۘ�	�1#�\����%��ZXg>^�d���J���钥	'��&M�'���)B���wժt��Ďn�C��%�F�&�Ϛ
R�=�� �u��!4�VMº��P��� �DbY���YR1],�"fѱ�f��Äd;m.{$��OnY…%UZz�k��CJ��y��N
e�a�X�,��ڂ�_W�+a���%�G�)gm�kE�T�J4SžMD�ip�ź��8�Z�Y�Q�lPK8%�sJ�1�b��'ؿ��ѿ�A_�FzD�hh`����PuQR��?���P�!=6��=��^����l$�FZ��||�����AF�QW�D)2���,w�;?��׿s�4&������Ù��yė�ϝ�".h��An�NqkBO;`�'}�WfK�eu$1z�Zwܬ�RXvZ�;w_D�Ͼl3')zԮuIl4%��6����Ddu����b5�)2�a��6zB����nl.�����Rq�Rȴ�صC�
+��^�LًdY�&��YY�ՠ�"@_�I���b��]�ɨ��S�b��M����}�7�U�gE�Q�C��\,ُ؆��'��XWvD�H�L���2�]��	�:=����NО��zRHj�Y ��껯ϣ��F��x?u;�q^�H���Q7T
�Xl�*�(ce}���ц�,���\!�L�:�����6%a�����C�X-y��Z��/�K�KI?�UX�y/ԴF�c�7/|kb��K2�%[a���s�LH��	��"G�0H3�2����dc52|rk��D�N_Qy|�
<0��8SYx��p��
{�>��W-�d�q��!��x����ԩ~uRK������V�p1�2�D�
��SS\iT�!����C2�"+�-�1ly����	h���U٠��8��Mat��c����T�CQ�2��'�4:��V�϶!�0�����{��V$*X�}�wX�nd����|��7xڨ,��~�ו�
��,D+=��`^� BT����!#��&�Vi�xA<�)94�`<�D�R��_��M��M+��"�'Xa;<�9]X�t`ǘ:�{�D zE�PزD�`��oъqC��B!}�A}�r4���QMI�*Y���=��T3��_4������s�zI�3GQX`�i�x��%l��B�)<��1׸�J��M7}�Q�M���q��Z��"'�t-gAw�Rń񃨏�ag�>ԣP]��w,n��ّZ�۹�7��{�R�!��%+E�bNb�ۘj��h< {rVj�!4
�Ȭ��H�K��{q���Џ.ù+����m`,�=�0[��I�_N�K	��I��Z1X�Ϗd�!���K(2)6IM��
Z�v�f|�Bܠ ��%�;C�|�PBU'�%5�O��+��Fڦy�;�"�3��_Dt�)��M�^��M�'�8�Ж����]��c�봳3��9,�z�.� a��팴�90xILu��3�9FR��n�0��]��e�N���%}9���e�
ȅ��D��Li�z��ae��J��rtBE��}s��i��A��+�Ĉ�v �C*%�9[们�b��ZH�d~[YO�<�U�X���jp�#.G�'��,C�bb�^E
�Q�$`~�
���1�cpY޸�\�|�GXx��!9��^�&;����[n��)�K��J������E�$��r���L��{坌1(��d�ؘ"4�B|�kq�0/PJ~������c�oX�!���u��8f���}d�i��f��"����
"!΋q�	1��~
�;������FWqs#G{����a�&�xϲ�d�Y[j�T_�^��L�lXD�B�)a�Q6�,�����o01ի3����Y��iWV3:;.���W�@4�`��)��[�h�i�L�k�����i�Ӗ�)Z��V�2U36�?�Gr9��\Yj��g!C�;�j	D.RO?r����G��f1�\�3f�B4���
�A��"N�1����c��hT�G�\b�2[Ŭ8���<�܈�����o��'�A�\�Ih�Ie�����]���������t����q{�ƌ�~`'v�#b7��a,n�{Vv+��&���	�M1o��u|%)Y��G�K=Et`�hT�������rt�1���rw!���i�&M$��)�_�ƽB�0�g��WY�e;�9K�
��Z�[���:�^�
[���ETVăHX1��	���Њ��d��%(p�ոX2l��1D��N�ղ�6���E�:�p��T����j���!�V��΅K��tu�f�������h��O�Bu�7��9VLQ���gkT��4�WS�Wp�~A�qj�Ie;֩k�U�hȊ�%B��M%ƕ4S-�V�Ȕr#w��9�j�mb�s�߄Z��
}s�5B�ɚ*��JD�'��|"����bqx˵g�
"��A#G�	?;
Z���!����TCe�B��0B%zf��O+5���J��j�)�;�l՝�d�
�ʄl;)֫)/�=Yz"��|��������2�v��F�l��f�%郦��2�fC������˪gl�̾Z���\��_b(��0��@���0���6�H���개:A��l|L��giن~q.ܔm
��FcF�BQu��w�k0�Z��N=̗�	{Փ]�;�1�+�JO-��6�řv_�N�X�}�f����yg}���)�`��֙���&e��f��uwbsQ���|RB�*��"t�Œ���q�:�g��X�ƶ[X1-+���ֺ���ut[5w4�q+�F���C�~�
�
\�Dx��N��a��<�9����k}�v���im�?tL	?C�u���B��Ȱ�L�e�.\�/�2LWG�/J��F@kF8�.�%���	C�0a�r�Vƿ�62�Yg��oTk�ʾ0��Lx�\Rk�Ɋɡ�	���5Æ��jpxd.[-��Dz�$G�m��f����5va��Y�l�zdY�d�;�^�̛�[�g��,��Q[�+\��Ib�����t9�R�]ʿ��yF�Q����0r�avu��,�� nc��L�����&�U��i���dM�qK� �Y��G�I=�
_��]���5P>�yZ�e�`%�� �K�=�P��V��W���wL��@+�Z��l��b��N��*rrz2��$
���/��^а�L�B���Ol��m�є@S-��I�V�l\W�Ei|4���`��������Q�H���X�E"U	SY�9T�>�����J��� y��,E|T=f����jN�7�e���Ó����b@~���|�/�����'\r�=��G j9�G��R��̓5z#֒��F��P�*͋
Fi�F�(�d��P�h����B#����\��i�!��?�7d�p�#/��
��df��x5�5B�Zd�Ʀq�/Ŕ$ԑ�Ӯ*���.2f���,��i��
�3k�b�)����`�5�8�߀���ԃs��Z��ڷ�F�e�SȲEp��4V��O�T���W�M����9\�����B�գ�y�$Hx���%���պ0�b����/����fN�2}M�E��LS�$�>D\T�&ڒ�����X�+��=_�/��:G��n�'FjG(ˏ�E�0��3�����-�o%l�ot��\���0z�p�;�(�S�=Z�\��(��>B`�E��i���as��YGؾK�F��߭!�B�m���y\ҺE�Q���*Jt�? xj��M]
�Yf�N��!�3H
Y{[���=�)I��E��6�ꔍ�%�����4�OIk�a3F�Co�2�ծ�Y/N����wg��5`4�-���Ijl<�Y�#��CL���)�`Q�f��0��~T*X�����n��U�U�m�U�}�j�Jr����m��i�ֈJc�W�U�D��+�8p�!�'�]��U���_V��������(t�+�T��ЋO*��<�>���g�X��[f�.�IZ{���0W�p�j��%����g�t���9�QB��1��ɋ·�	�ǤzY6J�K�H��*���}�nT�w��衶K`���t��18����m�O{dP��jI��Q��㲣k_e�rO��{�hm�@�$aI�3YcpV�)нMΫ�NH���b�$�g��Mq�KT��N���(�w}�g�-#�'œ�Y������.E�E4�h�9�Eވ�#$���i�ti)x��XN�U#8&4�)���x2�b|pWG��6�H�EC�*E櫱By̆�@W���z3�;��"k��S^[c3�(�5#j<jP�>�������d�hUsh�9K��g3�:l\˦���9 *��kAnJ��gŰv�
Ɩ�Әg'��0��I8�]�;�/�͝Y�?��x�mJ��*u�}�:��Z�kh2�
q <ց���q��v-;�OEר-)��P�x9H�jv&���{��o���vsKJK��^�R+Xc����.��R�����dθa����)%�J~1�H���+�̔^^%��j
�N3��P6>Ic�)��40��E#�֦�ƜJ�3Z�
�_�q����eB.8���<�NMi@'��KEt�]y�G�l�-�@`ⱅlA�u����{�		qP`[�r�F�foSݽW�ŪC��>�֘������Bc���"�
�*�^�XĶ�X��>ůHS�ZV|�Ϊ0����xq�0����B
#�y�t��L�� �xV#ڕ?S�e��@�|,�L>�@�0�f��sm��5�pU�C,=Vc�)���X�T	-��
���&q�"��O��,s��H��a6+V�xϗ�e�h�M��y�j
A�������E��MWRO�G���HTW0?n�g�cmK�� k���>���N�r�B��H�\��H�hLv����/��W|[C����_�}��h�e*�����au�)۸v�ol�_�I�_B��0P4U*�xz[���H�F�g��4���߶��¸
�� ��r�n�e�B[ ��Z��ʈ�|�3�a�ɘ��a���
�����Aal �(�m���9�na �f"nZ��;�=�Tk���
c"'q�U��ٜ:�'R~�(QI{�s&Wz[Ԋ8�zb��e�z`V��D�"v`ςV�E��Hv�7u�mZ�Nk�j����o=m�VӶ�J��3�k~g�����JO]g&|	����45++m�t'!Nh��,�պ�+��Q����f����v��U��ɳ~R+���BI�]��)���RwIm��:{��ا�S��Ŋ�mۤ����3�n�U���D`�۾h��r��]Y7j���i-Ͻ�o�`����<�)��e��)#GԷ�a���U��]_����YGoߓ��Ѥ1��v�$Ӏ;�]YO3�H�j�J���s�S�͕;��!məa ��k�7JEf\����oL�j�\(��I�)�Ph%�c�~"q�N��;���r4��$��I2[�ʵ���4w-߹-ܕ��U�F*m�G>Tv��o>,,������\+�\�UOm�Sm���'��:�'�o��m�]e�A���9��@���NJb�f@���4�f�?�:�Sr�����{1��sX�@��Z9˅�I�:��v���F���Q�/��eʹ����;�G��w욳�M��Ut{6��0l"dmP�a��i��[��jG�+zv�)C���4�Â�T����0�	�I���Г�?R͞��).��	l�(���ߋ��q�e޼��~���M�Y�E0ڕk��d�����q�l�ͪt�sjW5���ޒE9 g<c��Ŧ�'����I �Y�C�o/�>ړlN5ih�
�@p1����9y�ҭuU��/���&T�k�G�B�9uj�x��"��?vc�A	>k���}�3�PֵQ�˕�1;/B��騺B��v�v�܁��˼�^���w��ݹ�5lC{���1~�{l:%��(� jp/��7���������,q$�3ɪލ}�W�=�*SyE�1���t?Ŏ�;��%|D�֠
�8��~��PS:��&ڵ�~@e���+o�va��1o?���	̯�1k=��W��V�S��c6�j�QK�����#�x,h�r�˅���r8�ۑ㨒h��&�_�6HzQF]���n�p�uN,�=�\.n`��:�H��dEGz�=M�=9���:���o|�/y�>�ٗ��0>�����`��0ᱮ�T�E<�1#!�g����ˑ��Y������$5
bu�3J�b��Qu�3��6PT�՞�!�L��c�m�o��
^$�U��2��Ax]�`(af�e�;2�� C�*a�]��*�ᅽ�~�k����]ό���sU���H]���"�ʉ��8�V/�0�E�3W�Ë�2�2#O��If��{n[D�67��57N��¸El��tJT����;�:�$��j�����>��"�G�]5��@�r[	ƒ���v�.�QYÃ��ء,��|�%E�~[�o���Xل�4�r\���D+�Ľc<[|�\c�AWc�YS�LL��*-	1���Ea��`#;�ձ���J,�!"�"�aUOӁ�t�I���f�As$j����r^S�a�CI*+�4ĕd4�-V�/�uQ�.~oU����|��x֓�mA
)?-P
{����1�g_�0��^AM�\ߒ='W�_�\��m��j��6�$d5�C!_�l�z�s�aIO�Y�Ogn�,��Z)_����^��J�V4\�Bʯ`��=)�DI;iF	_��v��V	u�lZ�<�g�gbp�e�^&O��5qԣ�+0�����1����h���թ�ə
u&#�<%�g�9x�i'���u��e\�"8��+A��������%{孽�	G�շ�M���e	��`�4�0<j�k����
/B��e��>
���d��>����YTJ-r�X)@_�*�UND��{W4A6%n��f�R9�*����
�^����D����f�+V�U�N���x�h�.^]2
e^��qc�nJ�$az6nێ5�����i0ߍ�%g�a�ǯ��*'�6����(�汌��:&ְaOc��X���B5KѨ����Yg3�|���L��A�����[XDƞE��3n�Q�EHimc��|��l�
��+xq�a#�e[d%n�ro�0P-W�ܔ�`k��ٺˌ�|�q�:�t�Jv^�z#��&��ߣ>��!�Պ�Pmc����V���aˮ���qE��� i;ԚR!�O��_ϐ..z�~ΞE&���|X�k����W�v�Lfh�m1�&��򺭑,N��|�YՐT/\m	O͸S�_rӚnS
�>әCe=�����.�Pј#�Q;|�#�_����.7�.yH]�B�c��
yu}
�Z"T�o/����Xe��ڟل�5$��6~���&_�<@�������ը™G렡����R�[��i'�Jw~���Ĕi��<���h��iK�d�Oj#��!�AM�ाh�y5�{\��d%P�0�����Ѫt*N�m�z�
pL5��s����J/�|8�.X�y-h��
�Lz�d%��<qx���Ϻ��?y�qD�F�ꋸ\V;���1qfz�U�L!O��j'�׬�EW��?���l��h�&�/v�0���6��K<X�T"��1 ��a�vU�_�����f84�6˸����9�)ڪ)���
�MyLc��`N�/�5O�Xle~��/7x��ު����rYF�����bR=���,޷�3�Ν��-�߀��+�Q}��-���i�F&?�a���5�/��gSk�����y�*_���jO��2����"ܬ�{U��iP_�8�t?�O��h�ջ��fcJ�)S'�jT�Ϟ���(�E:���ՑjS��C�O�2�Vx�K8��������K�)�i�7����5�T2�1��I�%v�Kt�1�a�c��������
�d&␪�y�<?8ȕ-�.ʺ��ݪ�9n/iu�!*4hRk��TZL

�d��~#ɚ^�9h�!RrdR��Y��f��'pQXv.��f#
��wΩ���jձl>B:�G����9���VC�	�����9��m�9ha9G�l���\�WH��R聸2*��БRq����;��m���G�G��N�X�n�*a�h�U�?�s���ح%z�@ע�
�������Rq�ن��:+�Q$�F�rj�ӞK�*]"s6�|y�C�G��ɒ8���	��aAB;4ɔ?]���rq�uG
p�
�&����o�h dyx4WCB����姃���t�v�};��� �P'`�-����R�F��+�����l�j�-�NԀ�_�b�8!�z�:CE
~���Y�eX�1n.k�C��~�����Kq���.�z/B)֓��y�:7��؟�F��������%N�����+���o)�Q�ntŚN�\;-��x@�5	d"�S,��.CN�NsB�ri\���b�:A��kU��c�
�vh��s�;��YV�!�,xXX���vKX���>�:�$8F���(�Y�G_O��y��;F�r��Ȋ�~�q�1k�1�a�q#[��+�p�p�|7����}ssYav�1]�@�7�Zm{z�K�)����l��E0�Ѻ=nt&X�[O��om����PCZ�ir�B��"i��̂�|��ˏ&��I��Nkhtz�H
)�`���u/�6V��"�n��ӳ��k��L*�]#���l���U�@:���֛����SYΞFW��1�į"v�&-psg�j��ʥ�Ƌwe�|�xL�Ք�QP���W�Ug�,�p������]q3Vo��j.+d��h�/�-ˉ�)�����D��.�[ű��4�Fָ���{�6k~V�U׺�M���ؾ?]ݤ�/���
��NB���9/p�)�U�%��fA�-F샥\�yݼ����=}�z��o	�5�NE\Չ%�eʑ9�B5�:P"̉���2#xR� )����b
Q5nElab��p�fq��fB�B�x���@��BM՜qS�/�].[^dsD�I�5���ޓ��Sqe:�&�W5�x�n�)'�=pp����Iu<>�����$[�9A�f"�(DF���勋����hfYN"~6P+���zE
^1��ՠ��:;���U95Բ�w�1��1}�^�rO^�Z�%��J�=�8g�\(�
]6�Lf[�2B+@+[��s$���&I�����v:�Zv^�E���qo.�}j,�U�r4���o�vi��wM�(+"=�|ϻ&O�~�����Ц�%��s`�d�=��l>��6^��^+�{�^�?��+�	��u]`é|op*�f���Ane#����W{�:{�&(�qd]d#F���Đ��q\��_-�r����X�S��Xf�`)���(~ۭ���
�+�t���9'78�곲dv����O2�I0��Ǯ4AX��eN��)G}ͪ�
����Y����r��c8&8��gU��%�U"q����st8�q��P~�"�.ե���7���h_4�蜜cPW6�u�jT1�Kz[���0�<��BԊ!��P!]	n���y�Q*KС�ȥtCE�(���vh�w6�$C|���4aL"�t8���H�4��#?N���Y��;�d6^��4��tB��U�bU�4�s�W
�^��Ro`j�8 ���p���Vz��k�9��j�zk$uc��ŏ��k7�b���]����ZV>Q�-�
��C�P3��E���^����H[8��)*f�z0
���{瘅���N�Id�E0�l�	�!,�Eټ�=���Y�2�6a��Ȅ2X���j%$��δ��We��;#5�4š��L�jBۈB�.v/5�{��RT�h+	q�-�s/�~b�lݎz,1&�"�J�IN@��A6Ԯ�(kAЀ!S�#yAo����e�W�قȝN?݄A3��ŎH�ܤJo�^�eo�^�{9�Z�
a�n���5��7����)V,�U�_8�`�<�j���3��1M�m82�SE��˘	
(�L8�Q$�����4�ylC�;/C^��b�Ҭ��!�t�
R3
�btw����˵���-؊�4�n�j�[�/V]��y�J�`�vT2SZˊ�F>؛
�	�6�s����X�Ր!���I����z%f
Z2nT�_�ew��(��:��
�;�FIŶE�!xkC͒��C,���Y���h�7��]��0n�����
d9J��;9�U�m�35�����W��2({D��<��������>8��������n��;e�&��㻸��Ɲs"�J��4`����h��'���g�#�go� iN�D(Bӎ��<���$W�K��L��������l��V�ʢ��@��'QA&�E�},��ba�9��
~X�qJe��^����<Q�3T�A�����q���I�����W!�į�9�-�{K�9Ÿ�4�&��-�2P�6K����\W�:B4N'=]:!f�@�JTIrq"�^��	�X�����_5��L����b�RMOuƗ۞X�r��wc_�������_��cb�w1C�ȟ1��+��a�C���V@,"���g��,��1<��<�+�:�7�nrH
�a��JSuqÌeECI~��@� ���sB{��N��]B��/�.8�7�\�gG�&�4�e��8�ߢ��,�'�w�؟>-��E�:�a ��c�7��� 2�nW��]�W٠��8�x(�N��&ջxv�T,�o%c:Ϛh��
��(�Ȝ��,�KYзѵ�T��1��5`�O����Z+�����
j�<c�KG�Z1���d!/�8��h��q�j�#��bQ�)-lI�s��^��<_�T,B� ���]^!C��K߈���\ۊ���I䜷.���S*�(?�ch�� �Α<�,��=��
	O�P�c������R�]��s�UHdY��4��:�!"Ր���hC�׫ߥ1��}�G���V����ȉ�<�/՛T2��XYCO𤍃��6�z�H/ɨ��o�G�%�&p�Շ՟Q�@��e���+B�_��[���X�l"0��R��Ơ�h�"�Z����ܰ���"�IT�Uʣ�J��nxE�f���Y�(6�L��Lr�ư���4��M��~H-)3�5�$��Hhq�l^��QJ�� >��a�<����G��L���ebQHB�@Y�x3�ecB�G^�5�ؙ�\S���3�+��M�(��B���4�a��R����"C��M���@���5,m�P��qEFYs�
Џބ�Ű���V�宏c�H��k��h׵����gV���Kp��#�/���NU��MRc���Ru��
�ʵE�����b=ڐ��ֽ��^"²�Ru��3�_j�k�M׾V�b~H��~!���e���{�c
����`���8�'YZ��4,G��C�����z��jXڢlueY��z�E~�%o�u���rx�yo����O����=[g�kP\x�:�ރ�[Hd9(Q?M�	�h�,�� �gm�
���27��@�z�y8.P
V�!�?#�Xz6�F�1�$��f��i�=��'��e�Mg�z��B�~~8�Ϻ�l��y����ǜfx��5_��!��U��ԓ��f���Tu^L��5E�(�}	k�9��}r쩉�f���L�����k=L��.���aB=d���E^����Α��P-��6*��u�?]3M2ݤc�xO�-��wzu���$�"�	�u�{��^d�,C.s�1��}ɺ�bG�闖�&�C�E/Ǚ��¾\f�lR�}�*�^�|����K��ZJ��NJRq:Y�3z��0��5����a�Q�/��R��MG�
���+d1�7��+c��^��Z����%ɨ�P�Sber��9��gɤ}�
��na	k�l}�sЭ��Mh�$+u��̈���m@�:F}OC0��C00�q2��W�r���/uծe
k�m��X�5��4�H���[�,X��LE6��;F��l���r8�,���s���%�X#P/]��:E��Ⱥ�OX�;���m�
6�����J#6�)=ə��r%3���}>>�Ol�@L�G5qTLi/�Ed��%,���q�B[��e�:�	�T�
W
��"|���d��
�T3O���b�>DiD٫B�����mf��0[�i�z�4S�^:���šM��{�Z���p�cHM�JrmS`�p`x�띅K��餤�
�w�L�(�r h肙㭗v��q��
�Q��t��!��޳�8A�������
.��`�/��~�z{�8a�0�
���@v�ׯ�=&��%U[�d����'�߆��u�i`�r%��C�o��.=���?̚���n������iu�_g-b9G�l,����=hΉ����ӾtvjF��u=sz�������l�b��V��]�Q.2�L��-W��H� 2b�Y2=Pza`��FJ�I��,����5r}ş��`M�0:�r4j�F�b�S�t�װ���Y͏��}�h}�*~��4{B��ɮ�g�O����24�LǢ��<`FJ�q����q���zU
n��VC�Mb
k8�M'٢Dό�ԺMU��C,��0Z�M+��G-��H�b�V#QK\��jl`�
%�D�X���2�5�+*��m�k�3�\�P=a�:ƁrqV�ȶ���pF�rn]!��
�Ơ���L�Ȝ	�=	�����
c¶(:Xj6�l[!�R�z�	��jP�UmF�V�h�!�=?�����a�E�>|5j�E��+Ȩ��08q�-(c�%������� �dNӰ�����:�ţ�)s��vu ]h}T�.���;�b�Pj�U��l{-�C�Z�qOO�4ׄ��z\q�D�����
sA�甖��-Gd��()dF�1-_��Bv��5\�f��bKjvOo�������~�5�BJ�	��h�m��=�b`��=�Rb-=K����.4�b›���ݕAvN�a��4=V�ƿ�0ܗ�{�D�Ĵ	��5�bB����%⤾F�7�#:�����<I�e�6�W��a��%�Vj�^���ί�XB)~̒,o�4h�����h5=�PQb�[4 ��l�AK��G����L%�v�⊂�aT�A�G�)�!���K䝩��≏�;?G4�t��a>B��`ך���[]�
��jGc��Cw��7�w�z��-U��7�[a�{�h�Tz"]��Ų���~&����y�y���f=�A�D$���.����3F�i�$�]5�9�ьy-�Y4�z���}���@� ���WJ�)~I}�p[`Nބ�kƚ�0*��`�%܆�Yߚ�҃�Z�mkaX��y�hZ�R	'Y]�(W�(��W�u�X1��X�<i�j��4�Q|@��\Ӿ�C�*$�6e|���:.�Ԭ�WqM�� :*A%�ls���07L����s������h~��
���
���H��g�{�(�D�'����;��ޱ{B׹�c�W4�"-dB�-H�z�ǥ�ߒ�3#vr5���Ʊ"ް����d��I�D�"ę��z��N����;�_�.�K��!�?sL@#+!Rr�J:}w�&�Z:zT�%m�[�Q�If�r_hÛ�	����s�n4���ѧTL^w1��ܢ��-�~���!'�y���(K��i��j1G�u�ϙl!�9�'A���6(@�ZF�?�u���0��$�	�~�Qߞ����U�X��B��@@s�&RF��$�f��.TK�E����d�x�1n^6v������ȶV��B�@g�-�b�c��̚	Ě+Qq-Ӻ�#S�.?��1o�ad�<Z��xl�H���o���:�Y7bVTސNw��
$���*3契�NV$E捳S3E]r����g������/��C·�,f�P0�y�i�k(0��'fY2�+&�N��6)���T�
z~���59ݢ��e��k)޴�v��f%��	+vwf�N�v���'��ª����(H�,ٲt_��Lc�>T
�����tr�6���T�ڎ{w�����K���ǃ�;W�l���=�*���&#.�I��zVl�G�ʹ4C��:Ά��(@V��?�+��|+)D��le�Z��kl�86rm��a9��D`��Q�P�5αF$�x�ʎ��łR��93ڹ*%�8�&�F�t��
+�$��t��nY�]��2����i�Z�[�U��k��%��a(ߖVC
��k�?�A^Vc=>i�`g[dftql����,^�z=��<!R2���Fv��q�٢ۚ��"F��|�z'���V�QZ�갎 ��z4��j���q���XO(N�A��j��<6��]����+k�xC��1�B����2�|؍ԆՎ
rӕ��w�tA���vk���%���t�4�=M0�9����.�W���l����VR�P��eD�^�}_ԣ��;��܀��7�Og��M5��1���
1���GWTp71��`��L��F�_M~��	%`�j{j=�G2R0o���C>���9�,_�z2s
ub<��{f�r��րԄ#�E�gֹA�W��Ks�߫5˕{�{MV�j��~S!.��UGȕ=k�o��P@*����6X*(Q�˒�Q� �옇>�H5O���S#����Ӆre�D�
���j��3�^�2$���(��;b1����a�_�r��1���]��:�l}<�0����6�
 g��1c��-�!��~�7���.�.305|OXQ���	/CcG&�g۬��&���0�?��i#����ba�̼�!k���k	����|��"ύ�}l_c:�|#����Du}-^-5A?���VQ�RKؤ�P	�%ּ�z��⚭a=g��Q�ջ��������a�N�����R�
Q�B��i_��b��.c��1�~cF6
�F+�K5�Y��Ό�dɲ�㕒�?��K,��o�49��Jn� (M�e���U�ԥ^;��U§Ԛ!�b?kvHM��w���yLJ�THXm4k��OM~'��#���F�fi�t�<���5D�ZB'���왬�>�e��Tj��ݻ+I��̲�;6��G���`����k�]�ބY�b�;���mc䜵1��S�*�l�6T��E���;�D|j9�Fu�A-�8�)e�l��{�`[�F�}��AH�с=�+� C�KI
WCi�H4؆��@�z)�;Z��YyIs��EZ�rJ�)m�G]-���������D*_��Ә��j�"��Ngv	�Q_�C<�f����ɉ�ŭ�>�L���t_q�A����E���k��Ka��].��}�>���X�$�Q��+�ѕ�ۘ�V�ա��Fw(��л�H�U<n���	�
�Z�����N*�J�a�I!Ӛc��c(�4v}�Re/�id�o�^l�g�9V�6�}U��F��	�_�yU&���W�sQan�e�$6}��D�=4m�X	�I7 DV�hˋH�#�a%��<֛�Q=#Ɓyӂ��e����eW)e�FB�NO�ke��'�������n������F�Q�6P���p�#6���f�
U�1)��=�XY#E��Ag�!.�e�3W�F+өNkBf$�v�MI��y3�#V["�V���2�V��xvtKƋ6���b����_�������xg��Vܢ=�0�PD}Bd���8�L��u��6�X�L��'�Ѯ�XT&����6�T���:��v���o�-�g|�p�";"#el5u�_�D�R���BC ⠕K\�|�Ɩ��F�����W%l�$lk����!��H=_�r[����x�}
�0*ae6h�8VfF�S�eu�ؠ���:U�P���O=u�#���m�9�%�(f��l�	�i�� Vn����b�*,�
b�6jK��_eve���5�J�B2�t��"��n��z��	�U�)�^�J
E6��Q�T��0Xz{��o�8Ԋ,�H�	V���}N;���1��N/�^'T�,�#�}�a�b�Pm��PH_�FP_�
r�etTS�B�!~�.%��
��������뜢����Q�z�(�*�E�[b��D
�r��5.�b&Fl�M��B��>.�(�#�b�MNR�Z���8�M��	�Q G��$�ݨG�:Ki�X��=��#���saojA���\C��	JV.��Ŝ�+�1՟�y@����Ch�yG#����3�U1�<>\�sW�K����XF��G�N�����gյb�>��hC�mE�P�Rl�2�84xe�j-��D��AA�� K2�
v������N$XKjv��W
�m�6�M?�w�ElgQ����+_S՛�����O:q_�-�eѼ��.��gg|�sX2��,\DA��i-sl�0(��U/��s(�����2a<�����(*�j/�W�rQ����"�Yg�>���J�&�;9��:��$H%��$��=f;L�0(g�8%?V.X���@��TJ��s�xY
��^I���7���:���yƫڱ�!}Mc���G��
S\Z�����C����
%��c��ർq�ع�:p$h�Ct0V%�PMvV}5��S�]��)A���M������I:1��4nS��d��%.��;cP��ɪ&�9Eh���L��
4a^8�:����/*�	E|���n߰`C�G@�$�s����Ȯ�*&*!�(�E�DB��"e�&�4�+v+B>&��Gq���2&G4��:PmqĠ/L<�e��:öԮ��*��l=�ٰ�$��S�^m�Yrc員��u*`b�WgRG�ͳ�S�(�ftv\B
:0p��́h"��S/8������X�M1�7�ӓ�-�S��R��2�g�fl�r.f����%��B��w6��\Ğ~�b�-�.#�8��8�g��>��c� e�w2A��p�{c����-Z��Q0����V1+�}�s>?7br!��q]l<�	gQ�qZyREY��-.z��?�$�p� ���ĝ���m��1�؉�����a�����݊�	�%c�pS\lx_KJ� �T��RO� ���up�r��g̬a��]�DdگI�+m�ؤy�PG&�4���U�n�Nj�R�x�vB�ֽ�.��Wb��vi!c� 6BL��|B271�2%>�r>g	
�j54�۱|����`��x*�����"��3U-�;�o���u��չ�s�Ҿ9]ݳ�b�2���{�=MZ%�����E��M�~·�SE�}��խ:�Ք���έ_PÜ�Rَu���U��f�z��i�AS��q%��Tˆ��88��ȝ��@��y��w��7�v��B��{��m��
o����5����k{�Xs���cg��Ue��N�k�c���;�TYᆐG�"�P	�Y��JM����}�Zu
�+[}�5��D��C�2!�N��jʋ{A��H` ��/+~��m�u�Lv��4�t�Y`Iz��Ep��ِ̻���6�Ʋ*6��WlsW)�0��B(L 1�zFr8�|g��%��a�廲:,�n�4>�9�ZZ��_�7e[�q�Q��Ua�]�L����z�^�d��mAL\�J��S����q��W��6��߾�)`�Yo0�=i
<>��vf���J٢��h�(ݝ�\T�i63߃�P��h���0���hrrܰ�<���;����VL"�,讵�a�v�V��i�J���8c�z�Cag<�e����pX)/ϥ}κ�F�e?�]_�]���mZ+�S��Pbݭ��Pq��,2,'��DY|ᯋ��˺��E�����㋒��К��f	c�~BĐ�cL��\���o,���@a�٤��Z��/p1^*��z�br(m�|�vͰ��!��VK�%ɑt[��Y���g�]�oj�$[��Y�"�莴�-���Y�9��z�@�
z��w���mH�:F1]��z��/byA!D�h�s�17��m��}e:�<�ۘy)�8S,��r��`�o~5f��0�Yg��'�a�,��mROw��nsf�)cv
�So��v��3Xɡ`�ʪ�m�5��)��+#��) Њ�F�d7᳘)�cDP�������,#	��!勶��4,,S��j���[2}+x4%�TK��B���"�UaQ/�b. /�B�i�a�m�9�3=�@bQD�HU"U�tU!���be �B�+H^j+K/F�0@����S�Dl����$޻ĥ�F��&D"��#b�'�	��uk���Z�RhU�6�d��ވ���Qh&T7�N��گQ2�*Y&�E�;�Ef'��Јl��i1,%��q�aȥ�O��
�;����f��0���#�^Mk������D\��{�K1��	u$ഫ��-����!f��9 hAZ�t���ڭ�{�����8؁m
;0���7`�&)��\�$��m��|���l��2�������&�g��hS�q.�`���@�zT</�	���;��мZ'�S�y>���;�̉զ�鲈{�i�_�C�ч����H[����кc`�x%f����%0_�
;٭��H
	e���f�Cv'3�6�E����r���A�+�B�I��|��0%t*�O�k%�b�G�
�ࣈ�9�6�}?�.1:�
�w��:Y�5dg��-V�>�KZ�h�0��SE���A�_��S�1ˌ��)"ODzI!kp�4U�g�9%�=�(6�&V����d�7�p{���)i�"4l�Hqb�-[��pl"�lj�u§R���9��fb�梼�t9	C���~!�yd�|�m��3e,�Ѭ6�J�{���3�M��j��������^��UI�h�q#e���5�Ҹ���+!�=\xH��Yb�lDa�+����e����t�3��&,�<

��
\�e'㓚�5�&�O}��������Kz������0�2���`I�����&�.�iNp��.dT;���scDm�2�ޖ�V��1�=\�
j�����-b�z���3�H3��.B�@��G�z���&W�ZR�Da����l隓��A��\�ӆ-��z%b:1IX�
qd�Y3�@[48��c�!�֑�(�)�8��.Q�V�K�n.��_�9����x�(sg�
�c#l������{#�B��hR�k��Kҫ� �_baX�V��P�צ����	���^��ڨb�
{�$���
�1!]U����xr�O���Îym�y�!��|׌��I�����Fk��N쒡��pTͩ�,-h.��0#��.�j�怨\�ޮ]�)5��ہ:��Nc��(xlÔ��'��v	�T��7wf���M@�)-J���w��T�j����$/��0UX	�b�"�F�뵸�.<]�/��XB9��p Lk�ٙ��{�յ�5����Z�-)-��J8�K�`�
�)�R�4��K5��U��Y�sf�^���*��4#j�Nn�|3Szy��?���-���P[(C�4�%8�@���6��Z��{*U�hA��r4(�~�Ǎ�K�
��v܆�:=��&/Q�w�!�����a�����c��g��%t$�E�mڱ1�Nu�Jh�����P[k/�2�v����T*�H�dTz�`ۂcq$�$�"M9hYe�9;��1b_�����dÌZ�s
)�`f"�%B9nF��Z�Y� iWMm���R\����3���-�`��FεAK���U��M��X����w0+�c!�S%�|�*Ų.����:>A³�Q&0#Q��٬�E�=�ʗE��6�o晪)��n�w��mC|�7]=H=�a[{|#�E\�����5.������ZvJ�*
�"Mr�"�����ޗ��6_�
]�hz�K�~��������X�v����lC�i����'[|
�#�@�\0T����mm###im��j���ۦ�
�6�d��`zDm���-om�x�j�r+#������o'c���qlp��[+,��V4���P�ܶq
��H�ʅ�����i�N��xR��F�*����vW��fs�/�H���D&�a֙��mQ+��������Y�/	W��PKf��[�����WΊlitespeed-cache-en_AU.l10n.phpUT	/�Ai/�Aiux�����}�rו�y����"c
�l�{zض:H���&A�%���ʬBU��YK��Af^��d�wι[.�`�d����y�.g���uy��uެ�2��ѧ�Y^�u�T��ߌ��W�i���_~=��:-�<m��<�����G�69�����૯~�����׳�|���_�ϯ�?�����t~0��A�R���/���}�|�����u��|��u^�T9��fEi���m��g�<ϒ�tr�S�Y�^���1�,7MR��<5�jk���U:����>�Hiz#J�@�ctDE�$�ϓ�^^�%�����Eޤ�Ф�3�N�ƣ�6���(�{Rǣjz�s���Ov��kLTZNx�;��{gV�	������%ǣ�)��S��^�8��Z%jg^PjC����J�f�\��:�T�U���2�s�v�
��H<�Dԏ�ǣSLzY�B)�Yb�L�Z&�-�<�W)=O�j��ɬ����� ��+�G��d]�j��"O���\VM�2y��,i*j;�_qQ��t݌Q'Y����csY��Zb+�RV��<]s-ZL4��+�C��ecx�?[��ѷr2�4#&�φ���xN��:��w��\��q�x*d��b��R��Fuݠ�;T8�"n�ĩ��˓��/k��G�*�7�P��_���v&yݤE��e�΋��u��mV�d���7�`�@�wo�6#mڭ�Ŝ�;�.�yQ�TY��t:]в��c�O�-j�G?�M��\���i<�Z/�`r\N�L�f_25-���^���25��}��N�b�N.���j.ä�]ҵBK.I/hQ&84�WbJ�Ҭ�T�����G��y��zt�����a�t�s�&��9��2Y�+�Yec?����r�GjR,p)&�|y%H�z�N߯6��������]�4�~{��#�{kL`j��D��eQ��t�
Z.k��f'uzC�v�m��P��Hϵ)]��������&U9��H��]��9���a���n��Ig�� Q�[}�[�ޥ���j����{��?��(�F��-%�R�%T�i���>�5}ȳ�у��l��E�2�L���vkN�N��\V�y����U>'����[���ӎ67>N1��x�W�L��\N�	���{ס	��
���4��.��Zw%��|�%���h�F�Y6�����&U'�,����PI��9��,y��W�ZW�p	ܰ:Y���	j��e]���9�7|7�-�b!����*M�Ѵᄤ��tf���.@קs�E�2]�c����8>�잚Ž0�{�t�2�`dg�Ҕ(ዻ�L���hX�3�y�����E>E�t��3��
��֣���:��W)�y&�p�h�9m���e�;�&-y��~,�U����卌�-�>=3�u�jt�PV��9W�.�GƦ|�
�μ�l�$
�G�꺪�%��^�L�X��N[;���+������hU^��
���L���Nc��_�/�j&���~�2�uD��|��i.;�f��2?S��я���i�˙�<�M�D�˹PM�Ť���I=��,f,M��H��b֕_��e\D�51/&W��9�	euP抙+,\�4�tN�T����S���W��y�ũ�����"�Yh�
S,&"����ڎ�{����U���|�G�6Z�z�eUण]����DW��a�����l�ߦ?���DA�d9]Qf��d�
o���լ2��ߝ�{{p��3�W�Vv+��?R\�́R/I�er�U�J��t8�U~���ު�K�yV
����;�V�K(�;�	�NϞк",�I������[��g3H�>=���xs	jB6�՟�*]��&��ꫤZ5�A��>�|�_`ҧ�X1ig�5i��2�H�t�C�4Kd/sPZ��O1)�C���|UZZ�24�Z��Mk��>�f�b^T״�>�̬a(@'a���|���3�>4_1G51S�Q��w����_aB���I�,����lp���n5��S��׬�d���'
e�h�^�s�')n?\t4F�=��]����G5�,�</>j��wOƟip�pvM%߯h���a�3]F���յ��kN�fr)K򧶥�<W�y�	ݾy]���C6�ﶖ�E��,�%����G߲<�Ė("���g��p!c������Mf��-�<��O��"/�y»�?GwƼ��Ʈ²��lEG���ADw�M�t	^��`M����"�.h.��]�$B(J�%����G��gEI7T��w���o��ѻ�V��V,�
��_�U@��N	�\K6��������ɷv���
��g��r�>��c���_�_��jI_��S�s�
NlvI_��0c�6>MW��Oz�@��f�g�?uI�#�����@7�d)n��UK��%�),[���(�c�#���$Mz-���.���m˅��|�O��M��i�@;���@�!�:M�6A�H�iA��i]]������𶚵&�S�,�ܛZ�G>9�G�~U�ţY���*����Ƞױ}k�]��'OV�Z��3�]]���3�|/Dv��@NO��1?P��/��,�.�/�8�h�.4&�i��hM���L��߫��L�o5L�.���F����~K̤&Nu���f�f���,k�ZV�	�ˬ��g�ô.�kZ��H�iw]D;�戎�<����	F3���س��r![p��#'�<�A ��,�Q�qR4rZ�p�s��i�p~k��yS��C���[k"�a��z�hLU��9�\t�^`���Jt�,u����Id��m��c�\�g<zd��B�Tޟ�:>�gSg`�x{�h��]fg�(���6,G��K��
^���Y�'Y,0hK!Z��V�˔���}�~,M�!U�m����g�����cr|OD	�l"R��g�?��u�dD�;�{J���HF�<�찃.ִ�����i�dR���ڳm*5w���^��1�ٗf*ʧ���he�uf��B6��{��j��U#4\r��ĭ���֮�=TZ�0���j�T����a����Y�I��)��%�7�e�%���J�F�2:_�F�A�'�+�0��Y��	�GE���[A3Z���
]nj���T�\��I:�p������K�A]�f�������&E�lϘ����:��骜/I͂wāy������ ��m���L��ն�]x��z���V,h�6K��wҬ��u���.�}Z��0��vXs����޽5�S9q]��DV'?�����9�.�M���V����jV�u�-kF⨩S�b���P�ܨ*>)2E'Ӯ�Υ=/?y;�Ϩ=��!f��Vs��������Iď:7��+g�Y�m�ޥ��*C�D_�����<c��&�_�Jo�5�E�a<�l�t�O�&�N����N�uG��[S!�me9��is�2߭!:��;���4P?�IR+C{m,�=h�2Cq�M��$���2�w��FK�U�Y����i
)�,���rϊ��^��lO�,Y��_V���
�ݪ�&>�u�{���rVÈ$��C`}a��3�g{:�k�ŵ��&�`:v@ޟ����m�|��H^��Oߥ�@]4�,�VL�X"I�ev�jQ��
�ESR����z�hK�P��{��g�D�B6[��c	y?k�����RfZ�@'�G�kUMS���2i�M�g�ʽ�5���^U���k�D����l�|�$�?�7�����߼�޿~=��x����QWB�U��9��c���ȟ%�O0��bg�w5T�3ƭ���mZ0�7���}IGۀV��TJ�v+LnjO�)ĭ��df�����Y�s
;��68�X̳	d��7�@�F�6����j��9+�º�yw�,y�ҵF�܏�E�CA;���.&O,�x?m�Gg0�)��Qe�\F�"���9#�9#�1�>�F�"�ctl�AŘ�bڈeX�X�`wx���g"��V�f(v�*�ľ���9�d�;��ǧ�q�1�hy%�>玓����a@ĬXJi��VJ+0/WB��B�”���*�u�Vi�]�S�Z&U���K%��e>_ڏ��O��b�/�D�c�[�)��t��>~�<޴l�:�	u�Tތ
9|�a$P5T�2�E��Lw��_7M.��g=�5�6��i�˪�q�������(��."�
τ�3M��p�Z���q`�3��Bl��q�<UѱW�<p7!�M߱b�J
��z�a~[U��_Wz����С�XoI�x�y�>,Ъ�,�"�jњLD�%��;.�SBwj/�C�oU���[��9�v�=g)�f�}h�YIZ��҄�9�-,����-�eU5�8��mן�i}���N�(m�53P�4�	�p���e���{���A��
�/�?�3d�|�^x<ze�;�s���;
]�;����+�h'*�9��3�8����%�s �����c���=\�'��iT&9�ev���zY��� �Nco���H�N��Rԗ� 80���6�b�|.�e����pd������_�ǣ+N�.Q��r���v�7cx�Y��'\��Jߪ�x�ܾwh1A'O �)k?
0��P���-K�)g�/Q
�s��l���\o�
z����jGrL��6��ߺo��x�GK�'��B�1/7�eN=U�S:�/��]|2`v�J�Id���Mj9����x9:b����D��1�k��oI���_.���܅��H���K�Ũ��G7��H�|E�!��CWV8����V�B�N�ҋ��.���PU�~t#�QV��7��Q)�R����8f�2�>��)�l�F��}ax����wjf<bƑ^��YxP l�=���BF\{1=Y�n�t��>���8��̖��肨���Ļz�(>�e�)���Et&��
(A��p	�Q
 ��#�4<��U(�B:�ɽ�78���� </���-�`]�l���o�livC�Z
չ�
(�2�� ��K�'c<:�}1e�7�9��&C�X�D)"Ŝ��)_t+k�������=��gAL٧��$bT
�4�ߊ(�@�����Rw++��Sɫ��{B�o.�O�$���ޥ$_�0������ʙ�K����|�nt<�z
��|�<�_稢h_C���8�����4�ˇt^4�!٩,���u���ћ6�L{��^��LԢl���['��Jl���K����iL�ǖ��z��+LLՀ��I$q5)ԩ����9�o�p*!v���P��2gF,�G���'���R�v���a�,�;+~}q7Q�:���Ak���6g
W;/��ޜE�9�N੘��+��J�{7C�Y�i��<�P�n)C7Q
���}�~������mE7	n�Ļ��&_��-�b��[��]��'��D�^��w)�K����φ����f4!�8X��^ԁDE�&ƴc92@^D-����(`�oi<b��D�9ϧ,vc�Ͱ7��#Q˘EŨ�.vHrr�?
�I�sr�V<U/u���`��f	n�	��Mن'^���T�bǴw-b��I>�z)�&LU/���c�}!��r1�
d��%U�[�bL��(�6�l0z�߹�>��lC�v!��#۬K|u�baj�.Uc1_-+�~�����Y����L�Q��$���h+-<�m�H���_	Vv!��B>��O[=��E�+l�� ����\C1�p�լ�-�X /���_�+��_��x��w���5�nـ�h"~[>��V�"��<�0;�@�v����>/�Vܛ��9��>c$䓕�����lYw��1;��#z@8�RoD��]�����Yc_���B�Y��~���Za���C�Ͷ3�eah�����mz�� ��wa,�֗����A�0��|v�˪���s�2�=G
�Ws~]l?�v,��7=�����\���ǧ�'���5ACq;q��k�ƨF��Е��{֏����'����dī�k�G-��;h���;կ��\cûm�z�s���
�8����L�b�$��,D��ӻ?�B�P��w���`��p�3a��[��N����đ�������;����4��<��#{8s�@��,0l�.jJ�{
��P�3��F���6���KK���^	"�kRp�-B�p~z�Xfص�"B�&��]�nj�/ؗ�b�B�d����-��vO���b�Q�Q1��x^����,f�W�Yh�x�V�>�|�&9�J�'!S�P@�+>F�A���P%�!��շ����D��%1�ɷ0��ҳM�TyVBL��ˁ.��B�9i��g?�a1+����ܭ���uŒ4�ȹQ�d�s�Ɣ�>�$A��XA`�����lO�0�G�Xh��
\�;�L�d�<�>Aא#�����n���Ɋ��К���#d��g�Y6�c,R�M9����ia�%��EXx��X�E� Y ��'�Zb%1�u���9�l��,�HV�6UE#-��ڽ�3���l�9�o�Ǭ=��%�k<��QusԞ�h&�"&�s# t�,DxYMV�cy�L���9g#�~�t���,FNE9��Y��W�Ťn|��
�Ԧi60q��m�^Q[��֣]��m�R����E)ұ�sc~�In�y|oo+3@�� [�$�K{,"��q'�(D���<��Uw,��R��41��.;��JހFRlJ�q���i�|@	Jb�����Ʊ?�ǣ����y}f�1�j>L˃>�D�/��F���*b�|�9��M��W$���E���&����3i���� ��N�h�}��A[�ٟX�CW�d �����Ԏ�� �~AR؂A�bt���W7�Z�̽���8�N}��=�Ϋj~Q}�;yl�b���5t��1c�(a8�	��J���E箫9�us�3h/)�Qе`����������zXV��`ʮX
�	\Y\����\v<��Y�
|x�ɶ���P��c�(}d�	�Uʨ�*l�c���$����ÿ����-�ۊƻT'�9�q2�I�x���J�HUv.��[�o�&OÞ�Ι�E�5oC�K���ۢ�6V�l@"Gz	 )CWT6Ǵ���'�i���b_$�Mx�uSiXCi@A�ؓ
�
��9Q�t��nХS4kQ���j�5���bL\N�ٟ��tq��(V>��r@㰧oK\��f�ܢp���9�"��ķ�v94\��z�� $�*dr�*q�񷯨�K-D$�*zyB˷�Z-�B#��Ү��Z鸥�7�裞�L��I%�2�rX���h;�%�� R�<���XQW&�k=����h�Qfə������fQr4
�4� ��}��U#�K����ƣg|�H���]��/�M�A4[E����D�����jk�6��E*S�O��jӂ'���XV�����"'%X�gD���X%%}k��_�Sж���h�R�MQf@�v�8��2QP�S,ܡ��)�'kлċ�5�\�55O3�b �����+VdB8��֗.��AHg�$Vj@��˕���^P�>���k �Xpjh� P��,2g��)����p���.=	���Vv%@��޺�w(H�[{Ԡ-��<�:��4�Q���:����}�� �zV�E��R�7h���{̸P@B�<|7�� ,P���S�
E����_*�1�<��a�+(P��'�:m�R�͜��S/��AA��]"!z-k�̈́�a�(3��RR�y�?\���G
	�=^Io�QD_��f�~�ݦ�[��Ɩb�z�3�+�ʪs$
�6�����l�����>?�8+�CS���\-.�pj������X�(n��u`:���P]l����C��Y�;\��@�f��8U)o�5�5�Eۃ�pG/u�R��P!�\{������C.!$���Ay%xxcnSЛ��yr:��5Q��A��Z��
�h��o��h����UR�EB�A:d%1l`D��ƳA�ԛ�Ki�`^t`��X.rѹ)��ˋ~���.��N�z�F�S|q�czǢ�zw�%2֞��V�FF$ڜ?��&/.�n\���E��W��Շ2Z#�<wh�Dm!8��+�7�^CY㑏�(6ڢx";7lY���`E�͹��8�;�U�1�_Ҟ���*~�4��e��I4�b��ݪ���Z:�~T�3`c����l��͂&�ei�4�C�W����x�,>�}E!Y��z�q����R»ph)6�p��:a��
�).�F^U�����;���f������]Nh|����UAg�L�/vp����Z.�=�ha�����ѿ�R�#�SEI���sZ
���4m��jW�H�|��v�:8��9�՞ءV����K�D�k��"������Ǻ�s���Z0#�����v�Ֆ
+�,~H�B\�y�:��	(4z����~��̞�����$�N"���|O-���s)����[��p~�R��R�S��W@A�X�$\7�����=]���Ll|�B�l5>�PD<���Վg��覄��נ�pwn��#��w�k@
�8
wl��{��Bw�5B��gEܷR�)-R��E�0�F�i�Z�J���g��V���m�IS��إl��$���e��"-��
���V��^k�q��)d�O���3�e�t�*jET�9��N���`�j%�8�^[�����问�Z��-��mpc�w#d��&y�%Ӓ�ɕ��l�^�>�&��1��5��«j�\0�E%�% �=9�5^ܣ�����XG�
(Ik�D��W�k��_���ݡkE�
7u�ݵt��LSWk^�-;�!�\��	*���5�}�qɐL��5�\�0<�O!L��Zf����.f$���T)Z�Dm��t�z����S�x�˪�\�9�VP޾�m1�ܙH=�C��v�#�:�B�r�hϱ��u>[��K�b�z���_�!%����\Cw��'`�e4�0����8��g����@�>�GO-T6��D���b�X���b^-���l-&ŋݱ0Գ�	��Z�%B��A�,�
���:c1vg�4��R3X=4�T�Ic+S�zX�`6AZ�JѨZK~W�}Yː��q؆�0�eC���\�ߜ�$���ˆՇ��{��×�װ���{����kʔ�����$��V	@l��&�	�$`�ev"X��A!��./�/�*�� d�
�<�\��UUH��`���=����_�D��0P�k���3��{��u9��i��O�ʅ�
���/����%M�/9!��[��#�U�
,U:it�,؜UUv��T"��w����b�Y���Ò���㲬^�'�v"�9��俰������&�\
��{� Z
&ڸ�mE�A���"X��ʕ�W�X�8��,j6��y3��7���qd k���<g̦�(x�vn�Vj����h���	����!Q7R��a�m`�8�Jl
���gk2|��&
�J"�����_�}��[�V�$���G=�]��H�t���'o"���ۼ�o��&,Ă�O�m|�5�
.�,5�UZg�`�7���bÿ��yˉ�38�C���I��a�����A�X0r��٥N��s/`����8j=�L��m�����IkH.AЄ��yK	j��%�s�W�[=td�LGf��{G<�\^'������X�1J���3�	�I�-��Md|��U����Uѥ���T�4���nD�%[���_ɓ���I]�!�?P[^śOf��jm�c���eK��".������ߥ˥U0�[[��Ɋ��Nr6�A�V
�I��9�!��m�IV��M���~��bx����x���;�����ݡ���
��m]���̱�&>�;T `�7�����瑓>��e[���
�ە^v%xd}��nq3X����ɪ����sYq���Z�6۽�6�
�X�	����P1�w�d�.��M����n���O�5�
5~:1�ȶ�����w��,��]��.x�le���[o�6�kOjXTA�ZE]���>wQk�� g�C����mp [�l�D��@&�cMM{ӻ����U=,;�g�U��3�رq�:]
��V	:ې��
�;��֭3�E�|vL�C��F�S�)t��ƒW�VD��x|�X-^���:.Y6*��`7[o2 �A��Q�k�'K+�]I�loG���Z�O�����'���^ C��U�`k�����Z1p�㞆��[��12�Vݿ
zĺv����^���][�ڜ���C�V�V�5�T�t9zR;E��Kn��a~r����;܇����K��܎<�'��ElJU����t�8D<Gk�֋����4���A���B������\�bZj�3zV�"�B{xϪY� �)�N`n��bR��_Tl�*\�� P���v#�޶ʣW��WyHs*�L[4��,b�qQ�z�R��3p�q3�5
�=]�c�A��MP�B����b���b��Y!1<�QV��I'��)��Z^�T(m��r\�.�;�:J�,g��y;嫊M��	G�7T'�gZ~K�5/ c�'�ze�bc�[����	X����'��D[ʄ�
:�'Άf!���X��A�>T������=���N``�<��G��
<<D<Kѳ�V�U���/�us�"a�Am�1��q�W���UL��W��ȍ��������YI�C�?-����pN\��#^�;�d�j�A�:o��MX�6�kۮ8ZR�Y�f��_p��v�hv�\��+�����1W�����#ψ��&lA5=.l�!�u(��`$�'@6��ؔ
�t���|Z��J��zR=��(
I�g,s\D���dФ
�‚QC}�@d)��i�����6!B΋��n��&|v867|��=�+�C���� ���H�=L��@� ^����`�r{d�y7ÿ}���v�C_8Q���r�ClY�w���H��DGJ�Psz��G���P*�
섃jgǕyo�W�|U��4�t`���<�J�h2���l06=aVu�q#�(�
���eE��:��B��ô����ٲ�������27�|��`�
�Y�C�V��<	��D%9�g?K\�������U�}5�RhmѱRl����� 6c�R��y)���u��w*�/Kg8\1�r��o�C�;���o��bշ�Q�D�X���i�(�\ک �a�mC�1-�,���#xC>�Ʌ��
Vt��1q�蹃*�[���w/0�ȱ�'Cl�u�e��.�[�@���܂=hBl�X��{�^+�U3->�o�m��'/�`�Nk�-�,Ϋ�x�ßu�j'�����d��	Em�3x&��<]84k�YL�Z�7����W�Y��
G�΀��"k��*�_�Ȝ<,������R�1�ۙD�(�Uſ�]}�b�ޭnth�p���YI<H��1bt�o*5i�4 �E�z��}�\��a�c~a�U݂?
�<@�Bz�X�v��컇S_��q<z>U�V�ݩ�����geȹ��Rx%��Pڳ�!$�x�7�~ƽ��j�$>ha͑	^���?�;eI���ɡw�Yq����=��Ӄ1�ML��S$'�2zfh�!��b�’�f�̍��u���<l�6���q�S��i���R-&v/�T,�w>�K��vpG�`�>1A�O)��c5��@bp3??��ж�S�����X��̻P
$I#�
��Pʍ!�q ebz�Ae���� A�UD��6|� Y��y��>Z�2as�����ͭt��}	�x�ɓ���H3�ι�.�g`Վ�4�h�q|�D�~_��P&.��n<X�b�EL����2x�*n�zl�rB��*�Z�?.�Ɛ�e>�@G��������FΝ�Y��gBA�FI��Dfٙ�,�Ň)�u3Q[Z�c��D~X[ˎG?.|�D�ɵ9L�����[���H6� �h/P�kPBߧ���-�bX\ڎ���}�ܙ�Jq�:��{��c��Q��d�N����`V�c��g��	7��j��$׃�u�,9�v� �ae�y�g�X/s;�i�);6K��Ɯ��x�	���'��0���c��<� t��bE
�
Sp��\�)-Wzsv8���q�R�.'��V�
D��rA�ؤ^7����Cv1��3��>��.ks�p�YP�̵�?.�H�	�	8J����R�/f,m�����PIa�nϊ	�g��Ia�{��2�B,���k%;*İ�9�Rar$Т��0}1`��ı�������h0�#��Y�
�H�b*��b�U�5
���"+�ӼV�<Z�"{ >r�-�D�]^Pa��v��v��_�$t��'��d� ���VTh�Tr�ϻ�Th����o�"C�k����=����%��r��|��uݥ���Ǵ[�R/
�e�oú
�+sV�-�C�v���΍�O�(�r���u��
�w>�*6�	�E�mC���h�(�,���Q�8)9��=��.�s�j�������Z�1�E��d>�3O׀����j:���-�B�����k|�N|�B|(.��d��L�	��o��N\��om�Cץ����oU��!3�g8�B�U�c���`a�A��JԘ���9ѨGu�p�ِ��j@�K�Q��E�cvy@T;�Q��d�l+2e3\h�gZ�+!=�h��b� F�q�V��j�f�Q�P�����D�0!����f�7,Bk,bЖ�����Χ������o��+��/���a}��r��7L�������%�i���/�����L(x"*CoW�^)����Ìz��2��^wod<���T�q����	1�-j9d
bI7E�����&m��?ю(r�逗v��/��7�a�ޖռ��|a��C%����d����e�&I�As�q��A/���z��[�i�0l�:n;�Z�
|�;Y�w�#5:q��0J�\]�=�c��P7�����
� ��JA24��0�m��JJ
*_>���@N��D$7B�t��!F��WƬ#HE��~P�{i�o%�>�g�qP��jS��Z@lN]#Arw$|a��@�s�#ӴS&�z�x����Mp��\�<��屼A"V5{��SXh���.*��^�M6�:�v�t��HHr���4苋R��b�Y�e��Z��ݚ�u�Q�9�eu!wO:ZS�k��1�کDC}x�8h���y��
*z�2?�Ĕ�/Y;����)����A^m#
ӑ'��X�B8�"H ���#j��wn.�2>�xD���ܒ[��F�-��Ĭ2ŇJ���7�
�v�{*�P�'��_��`c���GU��#vQ�tB��XMi�.�@�@T|\^;HlLKG��j�-�6g���J�L}�!�����C� ��P�YK���OF�~lY�/�v�(t��Qd�|�j|�����5ú��sӓ�����ڜ\�<wFm��݆t��2���(��c�#qZ V.Ι�������>vw41�Ŝâ-W�̫��<��Ċ:)S:�ӹt�k�E��m�E��8���V�f�t+�J�JL�SH.�Z��i��1_<_<�-�[��6��Lh��Z4�����D�������`c٦ZZ�-�}?͍G5K.U���#L�t��0L��{O[7%�-���-�q0�f}�~��b��>����}KSf���
��Q4���p�]�O�6p�q�� �\�_�!o�Z���~��?{�Z�s�<u�X��J�^
A�|ok�&����P)�T�,"I�	.�-Z�#���g߳�0l&��4pJd�`A�٫�v`�r}vQ�`���@_Ǒ�D���v�wm�>f�K_E(��tNqf�a�?哕D$�ʟ.��4:�˪R{��5|,[�;$	V������3�G�����K�E�D����;i;��}�(����>P�H����MA'-"�����&�lh��Ms\��;�1�����-�vskf{k�z���ZK�{���c��5=s�o�|v��.�998xr(GSa����vu���q�|�U^�=�`�x���#�gtH]�x'M��e���g�@��˵DK������R+n��Hأ�����*_'O��UΒ0Y�ehLT�xW�=�h'�)b�f��a)���p����vb�MM�7���B�*�_���N���z��7�Nm�q�<,�s&��O�3woOWA����?�[
�%�-#*;��S�T�j!������6���d19��q�(6t�
v�2�~rM�߾�	����	+0Zv)[��Գ-P��f2;XH�hX�X�������!V�ۆ��$b<`��脡�5�a䫌/��H+ѳқ N��ԃ��=l-FM��+��0n��$3�lhf��y~s���uv�O�,��pD�V|CLWH���ۋ�w5�������E�]Z�"/�ށ31��	��g
������4��5�IU��5Ť�RV�*2ݣ�xt��>��Q�������^	��,�`�L��k��L���1S����*�֥�}��P�;��M�|�jhAcʌG�U7H|]|JN�^ja�lY�G阐��e��1U���X��
LUƽ�t���CZwlTUM�
�N �{��l(Ͼ�����Łt�.��%��j)��|�H҆k{ԃw��Y!'��1!B�&�����Dz+Ys�.��x��:�e7�tzt���̞�m{���w�M����%���zqR8�'��eD^�J����a@�s����V��.L�}w�e�Zl_��u6�&��v�Pˆ>t��9���6.�[�"$��T�n]7���C�F1t�d�
b4}(�㗲ډq'�.��V��"�P�) �����&�A<�<�Bm)�_�.�A�V>���,�dǧ����Ά"��l.�L 5���0�~�g�t�2[�t��=ӨE�Næ|��!d
5�5C���0y�
�rR��b���>	���֎����s4�c��A��M�8�n��f�¯�zii�[nj�%�CƩ�H
HK�\���>�C1jl^]���8��t�ɹ�C�$f�^}jľZ�(��ӆSr��,�	�a�B2�!,�P߈.���4�������w*G�wj��Xhy/J
���7��3 w'��Q6ޡWጃ�p��MN�{���ވ��C�l�
��ܬ�݇��s�>�\)�SU��A�Ņ���XL`�3�=k(8o5�X�j:=tp��LjB�^�*�21-�u�;7�g���������S� �Î�����9����_�Տ�8���N(��YzsA��%�%�j��7t���w]�����4�C�#��G�S�k�R�P;U�zr��V�=��"o��ںc��sDY��;�]�3&6��ﲸB�Bv��q�
�Y:��w�K<�,N�{뺁xG��!�0��L'���bg;l����O��8��ŷx��cZ�o�|�SOzVg�J������N�
���M�%bOϖc���8�m�&�����D�dʹ�2��o�:q4�v�	��Κ�ȑ����{~g�Q�E=��Z�!���G�a	����f�<��CKS�[�FSWK�|�k{�G`7хB�lq@\l�9�7�]��g�}�B<:s$��&��$�����P
�����h�4G�Β&����^���W'n�!>v3Nj�~�gX^q���X9묘�uo���l��D��fP�FAV��-`���y��	pB�y�Ɔogl�����ӵmZ�~���Q�f�*�m�O9�лW�p�*�Wi!����c���8���l���c�Q!��_t�=�����@�A�b�#�\����(�4��~�1C�O
�b��	%
����Ȳ����ܦCA⻫�R�Y��h�ݲ
�ߤBt�H\µx���I>���N�	iL�B'[� ,_�v�&TƵ�DX筚Fi��XQ�+Z<Y/��EU
?����Q����,R���s��hT1�쳛�S��`�4���T�����b$�;�@�	�$��/���w�R�~�F�V��]a��+�RU��M�m�cѷ��v�x�G^<�yK���EM�Fފ��M���*��
5x������Lm0{R���9#��?��lW�/RT%��E1=���Ջ�z�uy�V,�>����,���鴴��3�����2�i��?L�/+����H˜��=E�Q�$?r��J6�Gæ�06�<�X�,X[�e'�҄��-�{qp���C��_��4��ݦ��Q	A2�;�H��N��T��3_ͬ�`*nY6��J$a�B*�]@M����sÃxtV��j�n�.��wˊ��9�[��v
�r�E4���B��Z+�&��j�;�N��7��7��;���h@	�&δ��q)��z�uՌ�*f+�	j'97<��l�X{8��������’�r7o�ޢ1�l�ͫP�l��� ��Kb�^��b_;5���.J��0ݪ^��~�A���2�A���ɩ��"&��lГ���䈎�+q)�mֱw�����ie�?���N�.&�`<�6���Ɨ\[I~�-!zi:
�M�ls��ҹu���uev���l���f��t��"l�ޱd^z�tps�T�i���*޼��Řߑ���:�,ݡ�-l
�Q<�
�{�4�Ȟ�8��YBWӟ�����v�r��N��{�:V۲h5�-�����|�*������������.�ľU�A�{# �>����NJ�j�&��wc�k$R�����(����\���v�a㘬H#r��2�X̳	�wD�cO��1kI����Lm'�i��\�'�It�)���GĜ�q���Mb����b;w)�♜���!,���a�]�U����Z�߾�Ev����sEv?�ӈ��t�Oq�:S-�!X�O�E�a�;Q����	H��9|X{?�y&��ng�'�(/c��8�S_�8Y&�Y�Z5�K�Zn�����Y�r�Z�
�i���pP\O8z�}��ɰ����Ndc.��ȇ�6�C�8�=���
�+V���Wf$sbFʞk�B�ҹ8w��YX!XcQr�q-��f�O��i�WyrJ�f�b�|{���J���ޅ�?��Y�f!n��{��|G��2v��U=�]��g2N�؟&�Y��q<tsΰ?�p��D(���X�r�p�tN;��B�&��w(�zw��u��ug"ϡ^�C���<����#k�M*���L�5��ȗ���������\���B�G�O�R��#]X��
g��Ղ}�m{Vj��Q4�����h�w|���L�!#!��ޭ�֨;�iC�n���ߢVk����UU�@Pa��/��ϼ�6]�K�qhy�;��I�#ɳ�ԗ��D��,��YD��6�=��R�e��� X�G��IUO0�ߤ��Q�F�1k�m�
�k�������h�%?�v���b׃�7g�[�9���û��iWw�m�7P����gz���B���0����|�6�b����F�����ZH���]8W�m�N�%�8�O�(A^,�)�g��T4&&~b�'�}l��,���7����׏.��ZVݲ�D'����wo-I~h�w��#~�<6��#j9����yT-.
�A�8�7��!j1z����Q2}���C稦�e�kŠ'b%dU)�V!p2���5���էڱ�	�]I�0� %�-�%#�e�����jz:����aqLlմoe��§ĆNo��c̰��,�a��xj��v� n�?�T.hD55ɢ|pC��چ��@����B��J��[O�
}a�A΋��Im���
�U*����O���/�ؘ6��iX�7��3#�XC�N�q.��IGA�NZ؃Y�����,G�9l8N�7�n��X/��[ &J�
��'����t�~�n���&/]��1l���@�f�K���+6�

�Rl���?�ݕ�0�&�3zwZ����7�`s[K�&�v�P�;������f7���EK}��M���j��m��\�}q�TYƃ�{��m$^�C�l,��ˮc��*�8��Z�
gZKX�tPV��Nr�p��f(Os���}&gL�lr��I\l.�Խ?��}Co�2y�b�$�zB�����X�1�uj}O��ƥq��]��e�5-�l�ݰ]�<f�����Y���?qy����<�_8�
����t�$.c��O�CO�x�_�������b�&IoY��‡Q=��;��M����(�ew��EZ�r>�9c���`�Y�@=%�R��B,1N�4� bl"�㛛JSpU�����կ�����a��W/�.G<ES�J^�i�0p����2]�!_s�{Z�3��x���L�Ř|q!�ҳ��*+I��n.a�(�.ǥ�eux���y#c�}����LP�`;���k����*3��|YY0����.��GHM���T��`{tp�(H����4�>w�?���$F��UL\�ب���Q'{E�
e����6��u��{o�I��1��xea����CAT+�s懲b��3N��%y��_��I�^�����ϝ
�G/R#��9��S�X-bTe8�����,�jZ�!<PO=88���M:͌d�x�4,5M�3�<dOS��
/�E�p�F�*0�Z.��^�0�+g�Ј!�#�y;<�9�FC�C�}�
�����ín��bNk�H3�<��^��3��&���c������|�[V9$h���h��.&��>&-8x��	�_�eU�rN(̇4�<~{��Dd6�ٓ�D���Es)�b'�;�t
��:D�?	w��[��E-`&-�(ÿj�
+�s��ѻ���B4g���Noۏk6D%P!nm,�nn��9N?��/�/E����XV�,ي�������wɢoX����%�D�"�s��M���4�z��xC
�x���70�U�V�빓��:辯U2��S�K��-KmZ`�q�q.���.��n-�G��D^^䂆�ƣw/X}�m�f���oq��]V7y<���U��Y�T4f�A9�2��bI=����7��8���xX없K�.���ψ+��T��l��ӥ�1��*��.@[�6_�[f���W�֘[K�K~��1�ų�7���_}e�x��,h5O��k���ž��	'����	Ԯ�nQ��z�gkd�#_30���������-
i�B���ڽ�UN��D�<; ْ�‚OW
�������ɷ̵�Oy�2��%�(�B �X����B�a�(��a�m�C�U��3WoC6��RVr�3�˅����u��ܡ�sY7���+}���ZCg��N}�(�}�0B0�nǧ�}q���xv��T1=�IPQ[�B��M��ֺ��&z�岺��I<��Y�cFyr:\�C\p�S��k�i:�e�	̛�+���V
�A`܈Xų+!�h�Fg�>�=?>;>�D�$t?޲r��D�%�)�hv,i��E�Ǥ��r_���z�yK��ղ�/�=��Z�����Q��m���	�-�eO2�m�Q�H�=�Wo�`�O�M���jP4�*�4��Q���<!d�j��@"��A���٢T/+Z�6A�"�m����	X�tq�(ԭЍ�b�8=3�?�]+�z�� �D9F�@Th:�t�&He�U����i'�,7�`(˽X�N�x�4K���ӛ��C"�s6�G�C�7�ҵ�a����g�B�ʠ*�披��ﳹ���)b�Jb���
D%�Oe3���"�Ɏܡ�e-bL��Ԇ���w,6V��Z
ҷ<2A���~�k@��Y���X�A�\�������/|tQ��!�� L�Os�h������`�ʨ�ő��2/]�q��F�kt��g�ڄؑ�-�l�j5�Ը�s���Q<A��� ,4ȑ�j���t����l#Q��a�9�R%/S��0��*�����t6s\�d�|��Y�
W�΂��Ɩ�u�fs��O��J
,D|R-%���e�AR�З؉�ǐæZV��e�$�yy\�m�1X##dt�zo��+u��q@��c��h�z��kn�R-Vn��`��9�/��v��}!��.�ך�
'�1f���!t�ܻn`���	k�޽�^C>������.ҙ��0X�A��E���H�ш�RX؞ɼ];���6w�㳝��[�g�'��"�igmO�[W��ux�{ݾA-	�qZ@�aQt
�b��$�}�"�;I�*k�v�90a!w�g�Ce��J�0�:P��C�$���
�^�ӈ]GB3�x\�Y|/9V���0��Y�Zai�O���3���g��d����^��pRtFL���OC����:y%����I��(�"��x'���X�b�]�S�j�
�ߩ��}��ׂ�b%�*wu��R6�mK}�ë<���[f$�YH�*��Tݹ�ǫ�L��zÓE�b#�6�F�.�Ac����c��z���f1l�W�X̏8�vc��r��7�`s��ݪ�
��"7���Q~��bn(�.�o����L�����D׻���r1M-Q���B��A�/���4X76�)c�-�{䡚�;G�qUw�xZ��E��*TX[�>�n���_���r�솊�m%����S8*�O��J��	�Hk�2a[����zr��uAK�
8(�:����P��EEק�!�i�~@!2r��-���L5�
+��ܑ�ʖ��l0]bN�
�ag��F�#��6�n�
������"j�w��$U,�{jI�,�>q�P��7]��F�	k�	\GB��?�V�Y��>coa`�����qt� �G,!��WE���¾��bx#Zͼ
\���R�j��a�M4ME���Q�m����X�5o��`�;6���~�@|{���~-��`��A����
��F�xT���2�hi�����fǬ�A��H�9�=*�;�L�-��Ev�նt�G���eo_y<���0�Y�	��ڽ���N����Wua��d�5���>��_5N�D����C+ۈ���ҭ��^��j9ɹ��zd�f[G��@ی���E$o����+�Y����2���u���k�>~�����zx?A~��gg����/�T��Ώ>�Q�/^���aн474�~I�9��ff`���o1�Q�:�_L��O+ ��\V}s#�P����T&8kX��~�u�Ж��;��<r"�]J:��9�;C�4Hԉ��Ã�!�U�J]v:����5�g!s��M~����� �������nb!D3t²Oĥ82�=4���#�3u�����j����ހAa�z�xX�I��Y��~��eiXG�h�{#�mE�B��7�����Ya7��G_V�)̳T���׸ݹ
~U��9P�15�_��������٫g����/�g%o�OGّ^V�1��BW��}+���&Z�	֞�'��b}x�H�X������<���BBH�n���B����&N����ѫgC�FD �9kt�3�}��[���D�N��΢l}n��L��w�zi�%�������"[�<<G}?�ُ�'�}q
�����y��]�E~�	�Z%BڏM#VK{돱��$d&�)�Fu�@���m�B����`�Np��B^�hu���mc�_�q��-U����S��-�E@���T�E�)�$S�J�
���B�j����*���\KՕ�����WP:�E�!���x�?[�/�@��z����m{�l��@��*�x��1�Zx
��l��ޖ�+`���A��s�2f�z�}M�Ú��#�'o��܀�U�C`ֆڿK�ڸo,"�"��Mm/�ȵh�qsri����Ψ&H֝�6�o9���P,��]]�����?~���uZn�ݭ����EZO.ᅃ0��zS!p	Bg�Fsd�\�+vx��E�o�tߨ�=Eͣ���^�g�xhA�3���}��N"R7�ü�*{��Z�q��xm>F\�}="$X�b��-��[M�#���
�^ޢ(��1�C}x-�
=?�7���B��z�V�c��:rp�SE1/�OO$�>����ZA��pLesi'�G��:.�JQR��N���-w	:—j��tU/A�4�t��S��1�X�G���A�2
wڣO�|(L9}��dOW�ۉ�{lT1��V�X�t*%��b�a�m)���f?�X;o<Rq+Jٟ^CmB�w��{7�yѾ�(�-��x{v�\��XЩ(#�/?x�������PKf��[�!i<�}ܟ��litespeed-cache-en_AU.poUT/�Aiux����PKf��[�'���+���A~litespeed-cache-en_AU.moUT/�Aiux����PKf��[�����WΊ��-litespeed-cache-en_AU.l10n.phpUT/�Aiux����PK U�PKX^�\�'�+�+�%translations/litespeed-cache-en_AU.monu�[�������$#�IHbIbQb2ob�b�b	�b
�b
�b�b�b�bc	cc	(c2c.Ectc
�c�c�ch�cNd=Zd"�d7�d�dH�d@eIe[eke�e'�e
�e	�e�e�e�e%	f/f|5fF�f
�f.g03gdg%sg	�g"�g�gP�g7hTFhZ�h>�h5iRi4_i-�i/�iL�i2?jIrj*�j�j�j#k&kQ8kO�k�ks�kEdlP�l0�l',mTmkm�m3�m�m�m�m$�m	n	#n-n 9n"Zn/}n*�n�n
�n�no�o4�o��of�pqq
q%q2q#:q^qoq{q�q
�q�q�q�q�q�qrr%r	<rFr\r
mrxr�r�r�r8�r&�r0s*Asls �s �s(�s�s�st�"t�t�tK�t	u%u7uPu$lu�u�u�u"�u�u"v<v!Wvyv�v&�v&�v"wG*w!rw,�w$�w+�wx2xNxfx'�x(�x
�x�x�x1y%By2hy�yV�y^�y
]zhzwz�z�z�z�z&�z.{N5{*�{/�{�{�{!|#|/|
A|O|l|{|�|�|�|�|%�|B�|
-}48}6m}�}�}	�}�}�}~~;~L~`~ {~"�~�~�~/�~*<I7�������
5�	C�M�V�i�z�����
��À	πـ����$�
,�:�K�!b��������
/�=��F�9�&�).�X�+v�}�� �D1�8v�����
̄ڄ�;���9��� �K"�8n�����Æۆ���2�D�V�Co���H����
�$�<1�n�����9��9�
"�0�C�S�
`�,k�q��
��N2��������((�
Q�\�y�����ьٌ���)�2�E�L�\�d�+k�%��,��s�^�~�����Ȏَ�6��/�G�a�}�L���9�:*��e�W�Z�k�
����
����‘ݑ���
�)�
H�QV�����
Ӓ��� �00�a�p���#����
��̓!�� ��;�Δ����.�
:�H�	\�f�Bx�
��ƕΕ	ҕܕ2�Z�,o�����-̖���iҗ;<�Yx�KҘV�Uu�L˙B�Y[�:��V�`G�J��g�x[�=ԝ@�=S�������Ҟ�	�
�<*�?g�����ԟ��?�Y�`�p� ��&�� ȠD�.�l:�G������
��(�����ãأ�����
��¤ۤ
�
��/�/0�`�<u�
����(ܥ�
$�/�C�	O�Y�ce�ɦ���.�?�
D�O�
d�r�����h���A'��i��	��%�2�'B�
j�x�
��
��"��Ʃϩ$�+�4�#F�j�*������֪�
�
�$�<�O�Pj�@��2��B/�>r�"��&Ԭ���%�E�]�%w� ��"��&�!�*�D� ]�~���$��ڮ���(�d?��� ��ݯ/�.�M�Z�m�������ǰ۰�����5�B�F�Y�
o�}���������ұ%ٱ��$�
9�G�L�S�f�s���@��
ɲ%ײ���	�>�P�b� w���*�� ڳ2��.�G�"d�*��"��"մ��<�,E�$r�
��
����õȵε
յ.�?�6R�;��1Ŷ3��2+�6^�0��Ʒʷͷз׷���Q�Di�
��#��-�$�?3�s����7�D�%Q�	w���������Ժ��$�6�EO�+��*������5�D�I�
Q�
_�$m���!��ǼԼ���#�)�F�M�V�h�R~�cѽ25�?h�
����վd�<P�5��SÿC�5[������K5�O��'�������9'�;a�0��M���3�p;�|��/)�&Y�&��)��8��7
�4B�w���
����
�����F]�����������A��3�9�H�	]�g�w�������
��	������%���0,�]�Io���$��D��@;�9|�1����8��a.�������������+��
�#)�=M���Q��+��&�/�?�Q�e����������������3�&H�o�{��;�>�W�4m������������!$�F�^�q�������&��B��+�B�_�Yz�������$�<�N�Ic�
������
����:�=�[�c�.p���'��d��2�G�f\�$��X��QA�7��+����g�y�����Q���0!�PR�^��	��9�vX�}��(M�v���>����U��NB���
����&����#���9&�
`�Vn�_��C%�Gi�a��8�4L�/��7��6��7 �-X�)��L��*��)(�-R�(��H�����(�3C�w�R~��������$�,�E�2J�}�(��5�����"�&�,�e0�-����/��h��]e�=��i�8k�[��c�Cd�j��z�A��q��`B�'��q��=�W]�O��>�D�]�Ku���E��1�->�8l�M��Y��,M�)z�9��&��)�9/�$i�X��1��A�^[�E��U�(V�S�Y��-�JC�z��(	�I2�x|�^��AT�4��)��c��0Y�.������`������A��Y��*I�Ft�9�����R0�p��,�*!�1L�;~�/��(�J�4^�B���N��QD�o��X�/_�G��9�1��C���J��^�3J�N~��W��C��<�1�VLe]�#3$?dy
��������/w(�)�����

(3?Wi@v�
�%�g�HT
�
�
����:�>$@cp�	/	?	Y	m	�	r�	]
5p
_�
�(�8�##G$g.�2�r�Ha
�
!�
�
�
C�
F)p
}������
'7L f�K���+�%):�d �
%:KecJ�jMJ�g4�R�Zav'�#��%�-�E/�(-EV��FS.�L�-GD�/���)�Z(w��

&KD��J�	����
��#���2�#+	4
>
ITaw�	��	��.��

h#N�=�"7<tHx���� ' 
@ 	N X a x %� � |� F3!
z!.�!0�!�!%�!	""$"G"Pg"�"T�"Z#>w#�#�#4�#-$/C$Ls$2�$I�$*=%h%w%#�%�%Q�%O&[&sq&E�&P+'0|''�'�'�'(3(P(V(n($u(	�(	�(�( �("�(/�(*.)Y)
a)o)�)��)4*�S*f +�+�+
�+�+�+#�+�+�+�+,
),4,A,_,l,r,�,�,�,	�,�,�,
�,�,--"-81-&j-0�-*�-�- 
. +.(L.u.|.�.��.+/8/KP/	�/�/�/�/$�/0+0C0"[0~0"�0�0!�0�01&:1&a1"�1G�1!�1,2$B2+g2�2�2�2�2'3(-3
V3a3~31�3%�32�34V(4^4
�4�4�45'595I5&`5.�5N�5*6/06`6p6!�6�6�6
�6�6�6�677*767%E7Bk7
�74�76�7%828	E8O8c8�8�8�8�8�8 �8"9@9V9/o9*�9<�97:?:N:g:v:�:�:
�:	�:�:�:�:�:;/;
6;D;	P;Z;i;;�;�;
�;�;�;!�;<<7<P<a<�<�<
�<�<��<9m=�=)�=�=+�=}#>�>D�>8�>0?8?
M?[?r?;~?��?y@ �@K�@8�@(A0ADA\AqA�A�A�A�A�AC�A4BH;B�B�B
�B�B<�B�C	DD9/D9iD
�D�D�D�D
�D,�DqE�E�EN�EFF�F(�F
�F�F�FG3GRGZGlG�G�G�G�G�G�G�G�G+�G%H,>HskH�H�HI2IIIZIsI6yI�I�I�I�ILJeJ9qJ:�J��JW�K�K�K
LL
 L+LCL^LuL}L�L�L
�LQ�L)M9M
TMbM}M �M0�M�M�MN#N<N
BNMN!dN�N�N��NOOiO|O�O�O
�O�O	�O�OB�O
<PGPOP	SP]P2bPZ�P,�PQ2Q-MQ�{QiSR;�RY�RKSSV�SU�SLLTB�TY�T:6UVqU`�UJ)VgtVx�W=UX@�X=�XY$Y7YSYnY�Y
�Y<�Y?�Y(Z=ZUZqZ�Z?�Z�Z�Z�Z [&"[ I[Dj[�[l�[G(\p\|\�\
�\��\�i]/^D^Y^u^��^0_
8_C_\_
h_
v_/�_/�_�_<�_
3`>`(]`�`
�`�`�`	�`�`c�`Jaiaza/�a�a
�a�a
�a�abbh8b�bA�b��b�c	�c�c�c�c'�c
�c�c
	d
d"%dHdQd$ed+�d�d#�d�d*e0eAeXene
�e
�e$�e�e�eP�e@=f2~fB�f>�f"3g&Vg}g�g%�g�g�g%�g h"@h&ch!�h�h�h �hii$7i\isi�i�i�id�i&j >j_j/pj.�j�j�j�jkk5kIk]kfksk�k�k�k�k�k�k�k
�k�kll&l5lTl%[l�l$�l
�l�l�l�l�l�lm@
m
Km%Ymm�m�m>�m�m�m �mn*1n \n2}n�n�n"�n*	o"4o"Wozo<�o,�o$�o
p
'p5pEpJpPp
Wp.ep?�p6�p;q1Gq3yq2�q6�q0rHrLrOrRrYrfr|rQ�rD�r
0s#>s-bs$�s?�s�s�t7�t�t%�t	�tuu,u?uVuju�u$�u�uE�u+v*Cvnv�v�v�v�v�v�v
�v
�v$�vw!'wIwVwtw�w�w�w�w�w�w�w�wRxcSx2�x?�x
*y8yWydmy<�y5zSEzC�z5�z{�3{K�{O|'S|{|�|�|�|9�|;�|0}MP}�}�}p�}|.~/�~&�~&))8S7�4���
!�/�
C��Q�F߀&�>�E�R�g�As�����ʁ	߁�����+�
<�	G�Q�]�%l���0��߂I�;�$S�Dx�@��9��18�j�8w�a���"�/�;�[�l�+t�
��#��=υ
�Q*�+|�������ӆ���1�G�V�j������&ʇ�{�;����و4�$�A�_�w�~���!��ȉ����%�&C�Bj���Ċ�Y��W�h�|�$����ыI�
0�>�N�
d�r�:����ތ�.�"�'(�dP���ʍfߍ$F�Xk�QĎ7�+N�z�g�����-�QF���0��PՐ^&�	����9��vۑ}R�(В���>�[�Uo�Nœ�
!�/�&L�s�#x���9��
�V�_H�C��G�a4�8��4ϖ/�74�6l�7��-ۗ)	�L3�*��)��.՘(�H-�v���(��3Ǚ��R�U�j���������ɚ2Κ�(�5H�~���������e��-�H�/P�h��]�=G�i��8�[(�c��C�j,�z��A�qT�`Ơ''�qO���W�O9�>��Ȣ�K��E�EJ�1��-¤8�M)�Yw�,ѥ)��9(�&b�)��9��$�X�1k�A��^ߧE>�U��(ڨS�YW���Jǩz�(��I��x�^y�Aث4�)O�cy�0ݬ.��=����~��A1�Ys�*ͯF��9?�y���R��p�,x�*��1г;�/>�(n�J��4�B�Z�Ny�Qȵo�X��/�G�9[�1���Ƿ�^�J$�^o�3ιN�Q�Wo��Ǻ�^�<#�1`�V��L�]6�����������$ý���
��/�6�F�O��W�/��(+�)T�~������
��
�������@��;�
?�%J�gp�H�
!�
,�
:�H�P�g�:m�>��@��p(������������r#�]��5��_*����((�8Q���#����$��.�2?�rr�H��.�!7�Y�]�Di�F����
�
� �?�N�e����������� ���K�`�h�+~���)����� {�
��������e��JN�j��M�JR���g��!�R8�Z������'�#C�g�%v�-�����/��(��E���!�F��.�LN�-��G���/1�a�{�)��Z��w�����
������K����J%�	p�z����������v�Pg����7q+�b�����}�A���f�|YB8������������
���S1�,y �3J�T��0�x������n6>x��X�8Gz%j Id�&��o�l�9%c
J1B4�d�	bc�p���[������/��3\�9���0�-���������Wk;���&Ut����� 	�{
MN\B���K8#��}V��*���9�#5i|���-]qMGI&kq�5:-9��@2���N6�b�_<���mz���.��'R�IxY���_1pw��Z�����$l�r/i9h�a;�#�.���:Qg����wn�$B��<�:))+��s�?&N~mQ^?�,�|RG��;�`	�M��;q��tg�CZ;�Y�4��L��L��Zi���U����v
���~��kS�pMR!P��V��sWkJ],�*a�F	�A3�L=n�y{f�>��ex����=���O�C��z�W�' �O��]�6'�����$_EX���M���28S�^jc�%�|��[�g��V&�ec���Z��7��`"PlFW~h�+��u����t��T��FD�@��E����j��p�*����a�T����
Q�#~�h����4�Tor�`��K���b��	������<Pv���?��_�y��Y[�=����1���"�ceTf�O>X��5���C!�m�����]�����7��"ueI����������-�$�vV�jl�.#�/��:����yvQ!�!o*�[H���~0H���<�eil��gI��<���}�t�`�����'{CDV>rX�����/JE=����K���s]yt��hp2�����?��FS�(�J?fF�Q���'
���hY���2����E
�)%H�5���u�����a(G����K�z����(8b}�[. s�D3�U��r��3
+���*�2�^�>�ow�n
4,du����6�m��+��o{���A�fL-�$���"B��E_k�O���@�aW�x����srSz������wj!G�Z�0\%����K����P1���)ui��A�
w\R���������}^)�D�@"��,`���O�����@{N�(:�/���75��d�HR��UX�0(^qL��������|NUd4�m��=���nA�\HC7�D���.�6 %s ago%1$s %2$s files left in queue%1$s plugin version %2$s required for this action.%d hour%d hours%d minute%d minutes%d seconds%s Extension%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$sA Purge All will be executed when WordPress runs these hooks.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimized.APIAccelerates the speed by caching Gravatar (Globally Recognized Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced (Recommended)Advanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.After verifying that the cache works in general, please test the cart.AggressiveAlias is in use by another QUIC.cloud account.All QUIC.cloud service queues have been cleared.All TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Already CachedAlways purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Applied the %1$s preset %2$sApply PresetAre you sure to delete all existing blocklist items?Are you sure to destroy all optimized images?Are you sure you want to clear all cloud nodes?Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Asynchronous CSS Loading with Critical CSSAuthor archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAutomatic generation of critical CSS is in the background via a cron-based queue.Automatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimized images.Automatically request optimization via cron job.Avatar list in queue waiting for updateBackend .htaccess PathBackend Heartbeat ControlBackend Heartbeat TTLBackup created %1$s before applying the %2$s presetBasicBasic Image PlaceholderBeforeBest available WordPress performanceBeta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a gray image placeholder %s will be used.By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CCSS Per URLCDNCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS & JS CombineCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS, JS and HTML MinificationCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache WP-AdminCache key must be integer or non-empty string, %s given.Cache key must not be an empty string.Cache requests made by WordPress REST API calls.Cache the built-in Comment Form ESI block.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryChanged setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.Check StatusCheck my public IP fromCheck this option to use the primary site's configuration for all subsites.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all orphaned post meta recordsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all trashed commentsClean all trashed posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean orphaned post meta successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean trashed comments successfully.Clean trashed posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all Unique CSS files.Cleaned all localized resource entries.Cleaned up unfinished data successfully.Clear LogsCleared %1$s invalid images.Click here to set.Click to clear all nodes for further redetection.Click to switch to optimized version.Click to switch to original (unoptimized) version.Cloud ErrorCloud server refused the current request due to rate limiting. Please try again later.Cloud server refused the current request due to unpulled images. Please pull the images first.CloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimizedConnection TestConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled by the server admin.Crawler disabled list is cleared! All crawlers are set to active! Crawler(s)Create a post, make sure the front page is accurate.Credits are not enough to proceed the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent crawler started atCurrent image post id positionCurrent limit isCurrent server loadCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently using optimized version of WebP file.Currently using optimized version of file.Currently using original (unoptimized) version of WebP file.Currently using original (unoptimized) version of file.Custom SitemapDB Optimization SettingsDNS PreconnectDNS PrefetchDNS Prefetch ControlDNS Prefetch for static filesDaily archiveDashboardDatabaseDatabase OptimizerDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)Debug HelpersDebug LevelDebug LogDebug SettingsDebug String ExcludesDebug URI ExcludesDebug URI IncludesDefaultDefault CacheDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default path isDefault port for %1$s is %2$s.Default valueDeferredDeferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).Delay rendering off-screen HTML elements by its selector.DelayedDelete all backups of the original imagesDestroy All Optimization DataDestroy all optimization data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable CacheDisable Image LazyloadDisable VPIDisable WordPress interval heartbeat to reduce server load.Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.DisabledDisabled WebP file successfully.Disabling this may cause WordPress tasks triggered by AJAX to stop working.Disabling this option may negatively affect performance.DismissDismiss this noticeDo Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.DomainDowngrade not recommended. May cause fatal error due to refactored code.Drop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in HTML code will be excluded.Elements with attribute %s in html code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable CacheEnable ESIEnable Viewport Images auto generation cron.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.Error: Failed to apply the settings %1$sEssentialsEverything in Advanced, PlusEverything in Aggressive, PlusEverything in Basic, PlusEverything in Essentials, PlusExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to get %s file contents.Failed to request via WordPressFailed to upgrade.Failed to write to %s.Fast Queue UsageFile %s is not writable.FilesFilter %s available for UCSS per page type generation.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimizationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFront pageFrontend .htaccess PathFrontend Heartbeat ControlFrontend Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerate a separate vary cache copy for the mini cart when the cart is not empty.Generated at %sGlobal API Key / API TokenGlobal GroupsGo to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode JS ExcludesGuest Mode and Guest OptimizationGuest Mode failed to test.Guest Mode passed testing.Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX.Guest Mode testing resultGuest OptimizationHTML Attribute To ReplaceHTML Lazy Load SelectorsHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimization from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimization.However, there is no way of knowing all the possible customizations that were implemented.Htaccess did not match configuration option.Htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If every web application uses the same cookie, the server may confuse whether a user is logged in or not.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you are using a %1$s socket, %2$s should be set to %3$sIf you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimizationImage Optimization SettingsImage Optimization SummaryImage Thumbnail Group SizesImage groups totalImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimized and pulledImages ready to requestImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byIn order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.In order to use QC services, need a real domain name, cannot use an IP.Include CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInline CSS added to CombineInline JS added to CombineInline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.InstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS Defer for both external and inline JSJS Deferred / Delayed ExcludesJS DelayedJS Delayed IncludesJS ExcludesJS MinifyJS SettingsJS error can be found from the developer console of browser by right clicking and choosing Inspect.Join LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain color placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast PulledLast RequestLast calculatedLast complete run time for all crawlersLast exportedLast generatedLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLazy Load for IframesLazy Load for ImagesLearn MoreLearn moreLearn more about when this is neededLink to QUIC.cloudList of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.Listed CSS files will be excluded from UCSS and saved to inline.Listed JS files or inline JS code will be delayed.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be optimized by %s.Listed URI will not generate UCSS.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache Configuration PresetsLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimizationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimizationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache Page OptimizationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache Standard PresetsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache plugin is installed!LiteSpeed Crawler CronLiteSpeed LogsLiteSpeed OptimizationLiteSpeed ReportLiteSpeed TechnologiesLiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.Load CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalizationLocalization FilesLocalization SettingsLocalize ResourcesLocalize external resources.Localized ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum image post idMaximum valueMaybe LaterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMobile CacheMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuNOTENOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New Version Available!New developer version %s is available now.New release %s is available now.No available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimized WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo optimizationNo valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Non cacheableNot AvailableNot blocklistedNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONORObjectObject CacheObject Cache SettingsObject cache is not enabled.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Online node needs to be redetected.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed users please check thisOperationOptimization StatusOptimization SummaryOptimization ToolsOptimize CSS delivery.Optimize LosslesslyOptimize Original ImagesOptimize TablesOptimize all tables in your databaseOptimize for Guests OnlyOptimize images and save backups of the originals in the same folder.Optimize images using lossless compression.Optimize images with our QUIC.cloud serverOptimized all tables.Option NameOptionalOptional when API token used.Options saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Orphaned Post MetaOther checkboxes will be ignored.PAYG BalancePHP Constant %s is supported.Page Load TimePage OptimizationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:Please do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please make sure this IP is the correct one for visiting your site.Please read all warnings before enabling this option.Please see %s for more details.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.PortPost IDPost RevisionsPost type archivePreconnecting speeds up future loads from a given origin.Predefined list will also be combined w/ the above settingsPrefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimization of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Product Update IntervalPublicPublic CachePull Cron is runningPull ImagesPulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge %s error pagesPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge url %sPurged All!Purged all caches successfully.Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud Service Usage StatisticsQuery strings containing these parameters will not be cached.Read LiteSpeed DocumentationRecommended to generate the token from Cloudflare API token template "WordPress".Recommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRefresh Crawler MapRefresh Gravatar cache by cron.Refresh page load timeRefresh page scoreRemaining Daily QuotaRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove Query StringsRemove Query Strings from Static FilesRemove WordPress EmojiRemove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.Remove all previous unfinished image optimization requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed Unused CSS for UsersRemoved backups successfully.Replace %1$s with %2$s.ReportRequests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset All SettingsReset SettingsReset positionReset successfully.Reset the entire opcode cacheReset the optimized data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColorResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore SettingsRestore from backupRestored backup settings %1$sRestored original file successfully.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun %s Queue ManuallyRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSave ChangesSave transients in database when %1$s is %2$s.SavedSaving option failed. IPv4 only for %s.Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.Scheduled Purge TimeScheduled Purge URLsSelect "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimizations.Selected roles will be excluded from cache.Send Optimization RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe a separate cache copy for mobile visitors.Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Server IPServer Load LimitServer variable(s) %s available to override this setting.Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimized %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Sitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSome optimized image file(s) has expired and was cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an HTTP status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG color.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Standard PresetsStarted async crawlingStarted async image optimization requestStatic file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimizationStore Gravatar locally.Store TransientsSuccessfully CrawledSummarySure I'd love to review!SwapSwitch back to using optimized images on your siteSwitched images successfully.Switched to optimized file successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank You for Using the LiteSpeed Cache Plugin!The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe queue is processed asynchronously. It may take time.The selector must exist in the CSS. Parent classes in the HTML will not work.The server will determine if the user is logged in based on the existence of this cookie.The site is not a valid alias on QUIC.cloud.The site is not registered on QUIC.cloud.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.This option can help to correct the cache vary for certain advanced mobile or tablet visitors.This option enables maximum optimization for Guest Mode visitors.This option is bypassed because %1$s option is %2$s.This option is bypassed due to %s option.This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.This option will automatically bypass %s option.This option will remove all %s tags from HTML.This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.This process is automatic.This setting is %1$s for certain qualifying requests due to %2$s!This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This will Purge Front Page onlyThis will Purge Pages onlyThis will also add a preconnect to Google Fonts to establish a connection earlier.This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?This will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all generated unique CSS filesThis will delete all localized resourcesThis will disable LSCache and all optimization features for debug purpose.This will disable the settings page on all subsites.This will drop the unused CSS on each page from the combined file.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimized files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomize CDN hostname, define multiple hostnames for the same resources.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimized in this monthTrackbacks/PingbacksTrashed CommentsTrashed PostsTry GitHub VersionTuningTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in backend editor.Turn ON to control heartbeat on backend.Turn ON to control heartbeat on frontend.Turn On Auto UpgradeTurn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Tweet previewTweet thisUCSS InlineUCSS Selector AllowlistUCSS URI ExcludesURI ExcludesURI Paths containing these strings will NOT be cached as public.URLURL SearchURL list in %s queue waiting for cronUnable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.Unable to automatically add %1$s as a Domain Alias for main %2$s domain.Unique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimized FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.Use external object cache functionality.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Dev/Master commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimized) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.Useful for above-the-fold images causing CLS (a Core Web Vitals metric).UsernameUsing optimized version of file. VPIValue rangeVariables %s will be replaced with the configured background color.Variables %s will be replaced with the corresponding image properties.Vary CookiesVary GroupVary for Mini CartView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimizationViewport ImageViewport Image GenerationViewport ImagesViewport Images CronVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWelcome to LiteSpeedWhat is a group?What is an image group?When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Who should use this preset?Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.Wildcard %s supported.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou can just type part of the domain.You can list the 3rd party vary cookies here.You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the htaccess file path.You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible.You have too many requested images, please try again in a few minutes.You just unlocked a promotion from QUIC.cloud!You need to turn %s on and finish all WebP generation to get maximum result.You need to turn %s on to get maximum result.You will be unable to Revert Optimization once the backups are deleted!Your %s Hostname or IP address.Your API key / token is used to access %s APIs.Your Email address on %s.Your IPYour application is waiting for approval.Your domain has been forbidden from using our services due to a previous policy violation.Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.Your server IPZero, orcategoriescookieshttps://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowpixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsthe auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.unknownuser agentsPO-Revision-Date: 2024-03-19 07:23:13+0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=n != 1;
X-Generator: GlotPress/4.0.3
Language: en_AU
Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)
 %s ago%1$s %2$s files left in queue%1$s plugin version %2$s required for this action.%d hour%d hours%d minute%d minutes%d seconds%s Extension%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$sA Purge All will be executed when WordPress runs these hooks.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimised.APIAccelerates the speed by caching Gravatar (Globally Recognised Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced (Recommended)Advanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimisation server finishes optimisation, it will notify your site to pull the optimised images.After verifying that the cache works in general, please test the cart.AggressiveAlias is in use by another QUIC.cloud account.All QUIC.cloud service queues have been cleared.All TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Already CachedAlways purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Applied the %1$s preset %2$sApply PresetAre you sure to delete all existing blocklist items?Are you sure to destroy all optimised images?Are you sure you want to clear all cloud nodes?Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Asynchronous CSS Loading with Critical CSSAuthor archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAutomatic generation of critical CSS is in the background via a cron-based queue.Automatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimised images.Automatically request optimisation via cron job.Avatar list in queue waiting for updateBackend .htaccess PathBackend Heartbeat ControlBackend Heartbeat TTLBackup created %1$s before applying the %2$s presetBasicBasic Image PlaceholderBeforeBest available WordPress performanceBeta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a gray image placeholder %s will be used.By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CCSS Per URLCDNCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS & JS CombineCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS, JS and HTML MinificationCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache WP-AdminCache key must be integer or non-empty string, %s given.Cache key must not be an empty string.Cache requests made by WordPress REST API calls.Cache the built-in Comment Form ESI block.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryChanged setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.Check StatusCheck my public IP fromCheck this option to use the primary site's configuration for all subsites.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all orphaned post meta recordsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all trashed commentsClean all trashed posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean orphaned post meta successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean trashed comments successfully.Clean trashed posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all Unique CSS files.Cleaned all localised resource entries.Cleaned up unfinished data successfully.Clear LogsCleared %1$s invalid images.Click here to set.Click to clear all nodes for further redetection.Click to switch to optimised version.Click to switch to original (unoptimised) version.Cloud ErrorCloud server refused the current request due to rate limiting. Please try again later.Cloud server refused the current request due to unpulled images. Please pull the images first.CloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimisedConnection TestConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled by the server admin.Crawler disabled list is cleared! All crawlers are set to active! Crawler(s)Create a post, make sure the front page is accurate.Credits are not enough to proceed the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent crawler started atCurrent image post id positionCurrent limit isCurrent server loadCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently using optimised version of WebP file.Currently using optimised version of file.Currently using original (unoptimised) version of WebP file.Currently using original (unoptimised) version of file.Custom SitemapDB Optimisation SettingsDNS PreconnectDNS PrefetchDNS Prefetch ControlDNS Prefetch for static filesDaily archiveDashboardDatabaseDatabase OptimiserDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)Debug HelpersDebug LevelDebug LogDebug SettingsDebug String ExcludesDebug URI ExcludesDebug URI IncludesDefaultDefault CacheDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default path isDefault port for %1$s is %2$s.Default valueDeferredDeferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).Delay rendering off-screen HTML elements by its selector.DelayedDelete all backups of the original imagesDestroy All Optimisation DataDestroy all optimisation data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable CacheDisable Image LazyloadDisable VPIDisable WordPress interval heartbeat to reduce server load.Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.DisabledDisabled WebP file successfully.Disabling this may cause WordPress tasks triggered by AJAX to stop working.Disabling this option may negatively affect performance.DismissDismiss this noticeDo Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.DomainDowngrade not recommended. May cause fatal error due to refactored code.Drop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in HTML code will be excluded.Elements with attribute %s in html code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable CacheEnable ESIEnable Viewport Images auto generation cron.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.Error: Failed to apply the settings %1$sEssentialsEverything in Advanced, PlusEverything in Aggressive, PlusEverything in Basic, PlusEverything in Essentials, PlusExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to get %s file contents.Failed to request via WordPressFailed to upgrade.Failed to write to %s.Fast Queue UsageFile %s is not writable.FilesFilter %s available for UCSS per page type generation.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimisationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFront pageFrontend .htaccess PathFrontend Heartbeat ControlFrontend Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerate a separate vary cache copy for the mini cart when the cart is not empty.Generated at %sGlobal API Key / API TokenGlobal GroupsGo to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode JS ExcludesGuest Mode and Guest OptimisationGuest Mode failed to test.Guest Mode passed testing.Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX.Guest Mode testing resultGuest OptimisationHTML Attribute To ReplaceHTML Lazy Load SelectorsHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimisation from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimisation.However, there is no way of knowing all the possible customisations that were implemented.Htaccess did not match configuration option.Htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If every web application uses the same cookie, the server may confuse whether a user is logged in or not.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localised, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you are using a %1$s socket, %2$s should be set to %3$sIf you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimisationImage Optimisation SettingsImage Optimisation SummaryImage Thumbnail Group SizesImage groups totalImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimised and pulledImages ready to requestImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byIn order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.In order to use QC services, need a real domain name, cannot use an IP.Include CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimise potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimise potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInline CSS added to CombineInline JS added to CombineInline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.InstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS Defer for both external and inline JSJS Deferred / Delayed ExcludesJS DelayedJS Delayed IncludesJS ExcludesJS MinifyJS SettingsJS error can be found from the developer console of browser by right clicking and choosing Inspect.Join LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain colour placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast PulledLast RequestLast calculatedLast complete run time for all crawlersLast exportedLast generatedLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLazy Load for IframesLazy Load for ImagesLearn MoreLearn moreLearn more about when this is neededLink to QUIC.cloudList of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.Listed CSS files will be excluded from UCSS and saved to inline.Listed JS files or inline JS code will be delayed.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be optimised by %s.Listed URI will not generate UCSS.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache Configuration PresetsLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimisationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimisationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache Page OptimisationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache Standard PresetsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache plugin is installed!LiteSpeed Crawler CronLiteSpeed LogsLiteSpeed OptimisationLiteSpeed ReportLiteSpeed TechnologiesLiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.Load CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalisationLocalisation FilesLocalisation SettingsLocalise ResourcesLocalise external resources.Localised ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum image post idMaximum valueMaybe LaterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMobile CacheMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuNOTENOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New Version Available!New developer version %s is available now.New release %s is available now.No available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimised WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo optimisationNo valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Non cacheableNot AvailableNot blocklistedNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONORObjectObject CacheObject Cache SettingsObject cache is not enabled.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Online node needs to be redetected.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimise pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed users please check thisOperationOptimisation StatusOptimisation SummaryOptimisation ToolsOptimise CSS delivery.Optimise LosslesslyOptimise Original ImagesOptimise TablesOptimise all tables in your databaseOptimise for Guests OnlyOptimise images and save backups of the originals in the same folder.Optimise images using lossless compression.Optimise images with our QUIC.cloud serverOptimised all tables.Option NameOptionalOptional when API token used.Options saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Orphaned Post MetaOther checkboxes will be ignored.PAYG BalancePHP Constant %s is supported.Page Load TimePage OptimisationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:Please do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please make sure this IP is the correct one for visiting your site.Please read all warnings before enabling this option.Please see %s for more details.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.PortPost IDPost RevisionsPost type archivePreconnecting speeds up future loads from a given origin.Predefined list will also be combined w/ the above settingsPrefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimising.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimisation of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Product Update IntervalPublicPublic CachePull Cron is runningPull ImagesPulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge %s error pagesPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge url %sPurged All!Purged all caches successfully.Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud Service Usage StatisticsQuery strings containing these parameters will not be cached.Read LiteSpeed DocumentationRecommended to generate the token from Cloudflare API token template "WordPress".Recommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRefresh Crawler MapRefresh Gravatar cache by cron.Refresh page load timeRefresh page scoreRemaining Daily QuotaRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove Query StringsRemove Query Strings from Static FilesRemove WordPress EmojiRemove all previous image optimisation requests/results, revert completed optimisations, and delete all optimisation files.Remove all previous unfinished image optimisation requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed Unused CSS for UsersRemoved backups successfully.Replace %1$s with %2$s.ReportRequests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset All SettingsReset SettingsReset positionReset successfully.Reset the entire opcode cacheReset the optimised data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColourResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore SettingsRestore from backupRestored backup settings %1$sRestored original file successfully.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun %s Queue ManuallyRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSave ChangesSave transients in database when %1$s is %2$s.SavedSaving option failed. IPv4 only for %s.Scan for any new unoptimised image thumbnail sizes and resend necessary image optimisation requests.Scheduled Purge TimeScheduled Purge URLsSelect "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimisations.Selected roles will be excluded from cache.Send Optimisation RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe a separate cache copy for mobile visitors.Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Server IPServer Load LimitServer variable(s) %s available to override this setting.Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimised %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Sitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSome optimised image file(s) has expired and was cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an HTTP status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG colour.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Standard PresetsStarted async crawlingStarted async image optimisation requestStatic file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimisationStore Gravatar locally.Store TransientsSuccessfully CrawledSummarySure I'd love to review!SwapSwitch back to using optimised images on your siteSwitched images successfully.Switched to optimised file successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank You for Using the LiteSpeed Cache Plugin!The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe queue is processed asynchronously. It may take time.The selector must exist in the CSS. Parent classes in the HTML will not work.The server will determine if the user is logged in based on the existence of this cookie.The site is not a valid alias on QUIC.cloud.The site is not registered on QUIC.cloud.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This low-risk preset introduces basic optimisations for speed and user experience. Appropriate for enthusiastic beginners.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.This option can help to correct the cache vary for certain advanced mobile or tablet visitors.This option enables maximum optimisation for Guest Mode visitors.This option is bypassed because %1$s option is %2$s.This option is bypassed due to %s option.This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.This option will automatically bypass %s option.This option will remove all %s tags from HTML.This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimisation > Tuning tools.This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimisation > Tuning.This process is automatic.This setting is %1$s for certain qualifying requests due to %2$s!This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilises caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This will Purge Front Page onlyThis will Purge Pages onlyThis will also add a preconnect to Google Fonts to establish a connection earlier.This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?This will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all generated unique CSS filesThis will delete all localised resourcesThis will disable LSCache and all optimisation features for debug purpose.This will disable the settings page on all subsites.This will drop the unused CSS on each page from the combined file.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimised files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomise CDN hostname, define multiple hostnames for the same resources.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimised in this monthTrackbacks/PingbacksTrashed CommentsTrashed PostsTry GitHub VersionTuningTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in backend editor.Turn ON to control heartbeat on backend.Turn ON to control heartbeat on frontend.Turn On Auto UpgradeTurn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Tweet previewTweet thisUCSS InlineUCSS Selector AllowlistUCSS URI ExcludesURI ExcludesURI Paths containing these strings will NOT be cached as public.URLURL SearchURL list in %s queue waiting for cronUnable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.Unable to automatically add %1$s as a Domain Alias for main %2$s domain.Unique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimised FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimisation, or something in between.Use external object cache functionality.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Dev/Master commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimised) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.Useful for above-the-fold images causing CLS (a Core Web Vitals metric).UsernameUsing optimised version of file. VPIValue rangeVariables %s will be replaced with the configured background colour.Variables %s will be replaced with the corresponding image properties.Vary CookiesVary GroupVary for Mini CartView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimisationViewport ImageViewport Image GenerationViewport ImagesViewport Images CronVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologise for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWelcome to LiteSpeedWhat is a group?What is an image group?When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Who should use this preset?Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.Wildcard %s supported.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou can just type part of the domain.You can list the 3rd party vary cookies here.You can quickly switch between using original (unoptimised versions) and optimised image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the htaccess file path.You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible.You have too many requested images, please try again in a few minutes.You just unlocked a promotion from QUIC.cloud!You need to turn %s on and finish all WebP generation to get maximum result.You need to turn %s on to get maximum result.You will be unable to Revert Optimisation once the backups are deleted!Your %s Hostname or IP address.Your API key / token is used to access %s APIs.Your Email address on %s.Your IPYour application is waiting for approval.Your domain has been forbidden from using our services due to a previous policy violation.Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.Your server IPZero, orcategoriescookieshttps://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowpixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsthe auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.unknownuser agentsPKY^�\z�WՈՈtranslations/es_ES.zipnu�[���PK�}�[m����N�litespeed-cache-es_ES.poUT	��Ri��Riux�����\Ko$7��ϯ��Ӱ���U�g��5dIm�d������ɪbwV2��,��S��Gc��`o���?�_3��zH%���-%Ɉ`0o�����4Od�M*�P\'�H����t���R�8��X�K���D��1[兰*Q2W���~&S����A����Cq;ֹj��߱��ehe++
@��D�DG*͕�9�#�3��#��$�X|������W�7j�s�o��Eo�����m�^��q������C��/^�o�,�?ݎ�zj�B���,�B�T<�l�S���U�ٛۗ�G��ء���idb�����@<��2�~i�$?iƿ�>���R���D�S����*UV��/S\[���:;�]��J��8*w�y��b�"�[��%X��͒�#&!y���K~�Ө3*1���N6Ύ�0�p�>��,��PBR�?����ȚT�,#=��S�D��O�i/D�-�e�{�2If:�,6"2ւ}�N�d�I�v_��0i
����`���ⵉ���~��D�ľ��E���UMU���O&�-��(�m��N�䌫w� ;�*;�%�u�� 8����	
�܃rtװ ��|��0��`	tC�%�(��*�y�+����b����t��%8�˜d`~z��:��`��k�{�$FP=���o��ό-��w*��y��
i�ﱓ��z2O�Y�VIA
������C���C�/vk�Nq�R@�|s}!bY�PD���d����1��T�*`��
=�?5r奩�����O�O��#<o$�u���T|b3SZ�[�^���L
�X
:*���O�BO�G�L�
�>΍��x��	�7:��Il
�-2pX��#���r:���?�[�W0`����EEX�į��0�����ޣ��m�H��~5%���2/X�6��`	j9�H;�@o�w�J�z2���
rw��{?���r��3�ġ3U�%��DcƏ�m+�vb��z���ͨh��4c8K�E��3���F��3�5�ʰ�>�uzA�	�}U�b'���0��
�{�y$�����kYx8�Ϋ���A9jx�w�N�q�5���V㚃2��I+tr,���yq-��A�<q�7V����;����M	m��FM�T��9��	T�K+g�?��D�ĥ���}]�:!ݡ��$6V|tVcmI�����I��	9�����
�H��퉯�'�؈�#&b=��/�4P��+B�`o���������2��ϗ�.fN˧��ƾ{�e%.��������h_ٻ����
�wt~@b���_`�Bs��Nq�1<6Ix�i�5��.Z�����d��H���i4y���F��
��7�픻��V4��f�-s�`v�("�H>��&d����YS�އ��F�F&�g�lZ��2���H��5�V�.P���Pq�+`-�&��,�L7�'p|R	�"��cM���|
��A���i�/.�D�J��%eF@B�'6�)���	�<%X�d�k
��	�Ǥ�5֣��yWQ���\�b̔1q+U|��v�ݩB��+
����}�ի��cx�$����Y�%��$%qj�vM��l��E��!B�3-��t���{�،JM9�/�y�-���C��2�]Ӛ�ZVw,g���p�HsB1�W��IfK5�mA�����!�Ij!��i�i�F�q����<4���
܇�VI܎�H�da��ږwww�5�odR*1�fB��l2����)0���&�����uxvzw�[�Δi�������$3>PG\��(Z�pX�@�EXcDfX�:b;��{q�1�h�j:ݍI���k�~tؘ�ico-{
y�#�ӳ� �=��{�T�E���(�W���!�PS�Gamv%9�L�8�EC��?r@Q�	@wpT,�
]�������]��-R�1�*z w�jcU��mt}I����0�cw�=�#�8.%&6:�A�>e��|�ޟ��Ο�懝���G����o�i�<��i��l^����ʊ4�ބdi�N�ۖ�ȘwZ9d�&�����3'��z�n}��r�N	��Sə:�V��ו9����-bwe5�e�L������R�&��Z:���O:�r�-2'j>�M(��LVf�P��6`�S)�D�=kl�c�ƞ�C�Ҿ�VP����}�<��y.s0�ŭu�J+�y�!4����p�8��|F�|��C\^ݞ���Q��.Tcw����Ym�"BQ"�ti�D6��pQ{�[�߇rjlM]9�,�I�2�eBX8h���R�$8	FqX�N
��j��y�o\��t$,I�8i玩QN�T�fÖ�r�X�-�J8��>�`w�I���7#s��o�3!-���p��9��i����9#�D|���7B�M������@4ޘ�[p����� �uް�95��vi�I˙ze�����F*�X~B���#H�U�U)brh
O��(Ȕ��al��p����lPs*��k�%��R>�J-DJ�,~�r�p\歘��E�4������@�@�ӕ0O6��ʧ.�+�V$T4�ȱ�N��q��
�7泯�TG!�E�P⁳�Y>�v=1��0;3a=ǎp�K��{=�*��b��7p
B�D�v����wҽK�7�����r4�m���3#l!��@!U%��� �����6)|�79Z�{y�3E��D�n�q�^�0L*��2�y<%�b�#$cnV�X�����&l������p:j(�@�޾�bK�m���+3ؾ4=
��4I�x�$صL�fK��#�,zl3���>���{��<�+Ʌp�z��}"�&���Xe��q�v>�����v[�7��Ļa�F���=4����S�ׄ�@mU�?�?8���qoo9������UY�f�Q�=_`Qi���sa}KE�{��o�gg5���~��Ǻ'��|}��'���#x�����%�rߡ�]
���~,MA�>�J�x�E�ÇJ�#��2���ݝ^����2�:!�Y�=�qz������n���
��nDd�=܄���`�ŰU-k�c�a���~�[.�����C�8��c�CH=�Q;2��ܕg��=�B�B��"S֣&�&�V���(�G���\�S7�jS)�veJ�:*-��"�u�ʁ�r%\�'a�ֹ�	�ϙ6Y�OtB	j�l��\�Q$%��<N� J*�;
�TD]Q�|Iq�CE=9���VEeA�W��LH�Tյ#n"8/��p� b�n�3;��S(&��$b�s�,4��[�TA'�Z3U��NcJ�d$�Tۄվ���p��\.|�4�㰺>Fz�JȞ(]ݠ/"�,k�J1N��y;���U^��a
�P�B�9�Q���<�t@�Fa(�\U�zV�C8��r�խBjNOʢj@���ܐ"i�kG	
���8r�7�����oD2�@�|��MTFCO�~/T���)�H�p��68�(�TV�k���
f_*��•Z;�d۝J}��ڭG�>�{��vC7��:��RC�9e��zغ�87U-X��T
�E@��@k@�_�4	�Q�vu� ��TE�yh�{/�+p�\�r��et��U8*;as�n`�7���>�����_��U�X�Z�{>�3� ��n�vPNBP�u��Nm��I��E$��M��n�^k�U��G{>��w\�7Y���J�,"U�w�-%��>t74�
M�
� ũh_��2-�U�Q�蚛q��JX�P��c�F5t����,w�-�9B	�溆������5��wx�	[���ƶ���W]
?��_ޞ|w�k��a�`e�D��?|p��A
K��?F��ͩ��
md���\�	А�� 	7�݁F��� iX��'�%�Bz�/�F�1�����98���?�����E�M�V|q.�\^|��\���z-�n�:�ߞ!N��_]���^\]���!��ARD�y	��{qvѿ%�}7'}�F�����>0q�,p[P�I�D��	�:�n�
L�y:%���Vi]��~�p�0�p�N�:N[�l�������A��WF?‘r�5)���7�8Г����+8H6۲6�[k��Vvx9�@B�qg�%P����U�/�e3��
ۧ��`yF�z�<�B��{��E�L`����
�U���Gx&ɿ��y��P
}u���6-CF���<b��mZ1�W�i����sx��C�u+�<}�>̢�U�j��s6�"Z^�s>6eB]�r����)��e�=&�쨜Q��� ��VULp��N���vtp��m�͟��7�
�����p�*�U��V��;�28i��;�b��6n�*g�u/�Z.][��<*a[̚�{ח�*,PU}�[��%��u��/��ΰ����s�-�f����
9t�p'];�R'h�����Z��q!�q�|�̰ޠڼ�q�Y�/kj�)�%��ɩ#������op��J�<S2��FM�fG�r@�Z-8-%S��&��1�c�'��iVmU�IpQN�R�>�`-� ˳#n���PR����ƜR��	s�"CH}c���4'2�<ƅ��-}�!�%����o>	��Ī�x��z�uL\�:NSV�M����k�qj�as�.9�s�N'鸲Y��_N[];�4K�kYde�_҅�T|���7�|-�
�f�I�*R��J9��ˉN�ty�5�k���|!��
�'EH\u
R��] ���;������#���Ѧg:+��-��A�8:גPȤ�F�-� �u!��^��!!i����M6�P��Q.j.�41���v*���[���„��7Λ�{;>7QW28B�+N8^��
m�l�fZ�?7�2��.�]k8w{˙%�$H(�4(5T��tN�_??���o� Z�I> 2�(��'�|a�T;]��6�E�R��B�VAf���������wʌ�H"IU�&�E�0&�%����i�j�A��V�j`х�N��;�C��W�,0ُ��of�!�B�;�ԔT-h=a����؏)��l`�j��,�d�}o
=Q��.
��N���� WÊ/˒�;���
|x@�MC�����fkU�ǝ�k%���H@���ꍎ��ڮ~�����c�u
!@OJ}�b3$G.���c��
9�Yx<8�;#'�d�u5�B��Rpi�Ux�7O�n�����)=1��é�j�e+ߑ���;�P�~m��#̎�w�~�J�!6p��,Z��_�?�}��/o�!yՎ�κ����q��/�ū��.�̝�d���7�E����rI2Mr�+���ucE���j��^Һ.-U5�St�ZDl5%^Ķ�Lt���CЪ7�.�@z�_ﺪw
�'�ꌢF v��
�#:������x-�/t��K�<�,�w��>�>B���U�H�nS��g�����E���R��3�w�
]�5��f9�e��������$�����ut����[��0T:'e0�ʽE�7��p��S�(�g��?�>ӛ<Eo�gy.Jn.~L�I6���
Ǫ���t���^�����+�T=k-n�&&�۲ix,\�;�
��k������"x�5��3k�,�֫��!�3�z&"M�
�)y)�oY����K�N^�iR:��"�3$�Z�b/G͊��2=<�
��$��lZ���1�-�{pO.�ۃ����-����:�|���C��Y-u���f�E!�	`)ۀŽ��X�$�>���h���"��8�Q��ibǦ-6)uq¥N�)�&)3�22����l�AY�C��n5�MV"�&�U�N�5s�]k���xjr��6�MQ9����%s��{��$z"�G�����:EE�-����;i���4g|5R�)z��(�A��b���_s�QB��SSS�pƷޤlW��n?��5wh��^��W�T�TW�u�t@�;��-��`���v�o��$Y�(�+���*w�N㝎�J0����#����Ci�$5�L�RՌt����~p�C�(�C!_�
$��`~ad�Ed���<�������M�e����}�En�Z�h������107�d����	g��Wc#��DG#ν�RUb,J7�3/���ksQ�ɚ\nhƚ�pL?��Ә'�f䩙�_��Ѷ��Uޡ?�����{��H���ڟ8�/:-/́�6���([\������t��{��
t���qw��j��ܼ"�ݬ[5�O��"]�S���h�
{y�cl��;�/�iV��P b���r��Dn�Y��j��@*�=mn
Q�NL���g�
�V"_�>y˟)�*�K���ϭ>��C�68b�I�p��_�K�z̥0�ϟ.Ksݘ&е�)����7�~��n!O����2�̺%���"�q�4��l	�
u�@M��_���8{�m���.���I!8G���90���߿:WMt'L�
�}R:D�끩8/�O0���~��HguܵucO�>��E�)�_��OF��$n
BFigu��7�����K��r*��b�Z,e>f0�͹��F&�{l��}��<E�#J����44�� 8L8���46ݓ�_ܗa�a�Dic��L%�c�_Xqu6�mN	WX�)�a[oj=�uE.�T&�M�x���qz�OȠ���x���z����4U{-��f9=�rr[0��Zb�bҘ�����V�u"��{�k������舌���rĘ췂%���Luכ��GCf��t�I�R�솃�^�}^"6��l
���I[��+�,T��3~�f_B���4�Q�I{��׫fi��Ҍ肃
yq5n/��X��Oe�Rή�@�����ƙ��	�k�2=t>��9��\\���j��%`L�rJ�IPʈ7Q�-�M��~��|w�
8څ�J\¸� �N�����\�Cb,��!�v����ﯫ،"���.0�K����ڕ)�ө�Z�8*��+X��{X7`�4���S	l`�R��+R��<�Ig`Ƴ�.��\�o�\���U=��s��2���ї�g�z)�9�X<!�!O|9[��S/Lg����%fL�YY��*��i��+:5C;_-r���{��&��q���R<��,�A��<F�Z��E"��Q8l�h���v��n�_�d,?f��ʴ��Qo��3/=�a8�����.���N��_�N�|^��@ Px>h�DO��ޖ���|��wsY܎:1�&��Z�M��'�/:�ǥ�1[l57��´�|��+P�v�#3rD��Vdw�oYظeE��
fk�W��Ã�3��{/�)�/�7ps<r�yב�年�V�b�سH��zx���燭���4G(�r�����
�l���x
<���GDᷧ���_��/i�|l�];8p�5��_�ů��6����fZu�Go��l�~eO��AF�x72��L���$�c�rƻ�
Q
�NW8f���f�8���^V���$jO[�õx��?�����K�`�^x��]���ᓜkva.����y�W��B���.qӫ�*U:����R�\Hi�8������D����˻>պ����M�=�q�mvWk��
�t���F�Q�#
/����[���^fWp7��<D*;�.ŜrA�r:UtL�I�C��[� ��;l�#���+`Dm���C��*�%n$#�����ʆ�9�~m����.l��0wp�w��}7�o�[q�Io��@tO�;z(Y¦���ap7�n'ʄ7��#��+CfeN<	#��.TT�t
8�s	�v?��e-�و�9�%���s��`�(+��U�-�"o�ӲFD���H�Ù�9��ʬiM\���Ɂ�3�����^��p^�c]F!�q�`����3hD�FF���p�ߔ�J�&8��/k������(��g�@��3|�B��:s��'h��?�}�����%0a�t�䰝�1a�G�������7�9;(E���0��+g�M�����C�&W|T[�bd�W>�e1Wx����Ur�U��|	��b=�a�{��ҙ&^`�p#��<�ly��9+񉓙�N<c����_���I�n���Uw�����~n�����c��sn�ЍF��+M�J*yY�K���/��c��>���� �)=^�*�)�=�R�|h4Hn����Uq�v@O�F�'��I��9���7lK�i���"��qY�����U�O?m��F��GM���s�K�^�b�]��]C~� �!�f�49Q��&�GC���مd-~�_jG�I�ĒUr��vB�nz�X(5��]!��%#��UG{��X	c�Bי��o���Ҵ����)��c`���K[��k)'�b���?���:rS��N�w��K��:"dT]͜�Fe�m�����Uy�?�]�[Q
_`����L>����t����N���X����I�m��f�EYg��������M�>���(Va~��ҹ��qa	l5�?d�	�d�ɦ��Fkk��>~6��h�����A�=�8�.���n�=��6 ]�x�`w�߹x{�.�=��}\��F�2�Eq�:�=N�#7�
C��}� �le{T
����a(\(��"�9�n��ɧ�פ6���#����IA����`sAwK�S
�)[��d:S��m�B�����P{&��fQ��@�m��i��Q"TO�Dz" �
\����G��S��s��8���b�[U���ȯ�I?�
c��5X��Ї��R�Z�3���f��h�H�eRt�z��L.��4��,�uᳱ(Mq3�X���o�D���]��j����#;V�ji����R�5t*9���X�3��GugIM�b>�z*��p>>���ICF�[L
��n�p�s�E�4����
��л&v��̔ri)��
����w���Ag��d���R�x6C���Y/?c3�ך/�?èb�9Ig9�/:~��G��
ʣ���$*yX�%A|�
��k��O���A���'g�Tg0'��X�fgG�~�ۨ�p�/�իu�FW=���e�p|pk�rFkWC|~���&�����6��U�5J�++ �kίl�\��^��\\VY0y�B{�N~)�%9t�{8�M�>�)s�����Ҕ����P�x��ڷ9
M��G��p��g�v'�ѮGԐlm#.:J_�#N���FhBYxN"�6%�fw�o�Di[�t���u]-�_cF5���!}X��ʊ���V��6Oc�k]�����K�E9:[?9�Df�c�_ɀ����ʑ�k��
Ӈupd6j����?-�l��!�����B�S�|Uy��ص-��+�T�T]�a���ڍ��
����TF�>GO��>��ˣ:Qj�{	�NZX@��F�ȣ݃�����x�q�t�f��z�V�j�D�Ij���͞`��
�/�|���h�����:ʸ
�/�/t��q�W,��v�r�K�I���62;�	��O�\w_~�/�=��z�=��;�������܆��@���3M��l�Ѻ���&�ϒ��Ѻ�3e���'-�P7�%�݈�m�[B���vDJԮybe~�
�x�7d�{�@�c�ɧ잭1�1D�v{���b� �`��eW��uW|x����~�_������N�_�'m=9i���g
:�s�=���Fj~�ݩ�I�_�{a6�͉“�{�򚖋E��ļ�ټ��ZI�X�S��'�e��s�J5�eQ����#C�ѓ �x~z��s�Z'H0g3V%�7�$jI��S(�����A��6F�!q� 3�ɶX�sa1G ����c�Kg$�g�䚶,\�&��:KH���l�����vK�Ds!(1PXo'����Պ:"�1�&�*�U�E��6O�:�������f�e�n�Z��9Ձζ�u(
QҚi��yNg�\�9�Z��A�R2��h��Xw�i2<��4wQ�ft�ǎLŒBP�ħ�)�)/oV��J3ՒqX�Ya9�?e�f�<��lP��D���sج-�1�`�(�}�\�Ʒ�0`]‘u��q�Θ��)`ő^�}�N���c���4-Br%��uƎڌ��|�,!<�T��ĉ�(�bQ.�h�І��OS:l�v����	;���߄N��w�}��?Ĺ�	�Ě�I3�5�]$l 1��$��)s.�b�̈́�F/�>S�RL�p�n���RNI*q�r����V��i�Ao���&D�۝��nX��,[B2���Z��
�&��է�*փ����u���kEB��5�q�x�[G����Xw��������q�C?z���?�)&Y���l�w)��&[��~g�+� �i⌜�=*W�|׊N_�M4�a���Tܗt��R��*;�=��z��)E��@Ҹ�W�=T�
4E�*�cM"ж@�3nϕ�_���^ђ2�� u(��f����T\���A�V��oL�j�kp�#4��7�u��0-?-g�����(���pИCH�޸,�}�5�Z�=?�DyN+�)O�&�0����Y"罊�{V�P�F/ެ�h�`0H����� �Yenr
���e�m��=���zƅi2�*'24���cѫ�ϩ����޽�E������l�$�)-�+�.�9#P���D6�TRB����B�x7y5��~vW�t �Qۖ�6�Wba�S7?\D�� g𒮦��8�Ѥ3�0�:CN��dԩP�A�\�24��E�L)�kj�<e���l�'�S�[�� �i�S<,��N3��0w����{-ː��y��t�A�Ý3n�X����(�A�F�������N{]uo����)�	�"q�
;��"��
zs�jXZK{#���9]����ǯ&}�Uk�<���r�/�;{�ӷ�喍k�p�Q�0�b�����lIr!�+�dR
�_y�.�����k��Z�
��ޒT3^Wݣ�Am��:�ù�19�̟��,����}�:C~�K5��6���CZ���%~�.WrśET�6�e�z�/���ur��._�WkX�����3ۙs�
/���+f�(��_j7�Jgi��8<�(��C�./�.3�I���e�x{�<�BK�>�fc� F�#P��D/��"¿���4kA�I�ia%4R'-�F��[ۨz��9i�3�I�@Z�ފ,�Ok�C�|z�'��v�z�x�P�d�^����K̮�u�Ƹ�ٵ6����{�l��Q��5����֛�*���h}n�ٔ~�S�������v�+���x����nCr�4��������_^�d�ħ����>�4C��� 6���ˠ��c{ ��I@�$��F�Ր4Ǩ�*o���`��w�_��`Z#f�s���3X��4#��� {Z��	��4���	�Ż/��W�,z�l���p9���Q�dp�z�ρ׍No-p��,閼:�ݧ�/Fi���F��9D�q1g��V����hg�K�'�0DF��Ǯ�� ca2�u�n]򢌿c�&I�y/%`!T�j���f*Ҙ0�<�Л����}v=�ٛ�s�X/d2�e,���/�
�ClL}�׌��h4ͽ����M�<��$�Y�TpOSk;NW�4G�X����,�P��,��A|o28�,��t�%�����$ִ�8]�!d��,�N�`�`��H["�ـ�'��Z%m���<�3�*��fA�9��������4_���e��_�9,��r���|��8��R.��
�p
arO]&��s���V
�������;.y�5]�����EYR.�ĩ�BfY�u�Te�R ��@v��g3$��$�r
00�/�!Nu	'���`�x�`(-Y����I��|5�v���n��%9�/9��M���2�S񔮩	k�F�*���U�09Aפ�[�&��/��o�)����w�����ǵ��2�u���jU������Ng�7z��re,(s�>s�����K�%��bi^������;9:�1P�r��.�sKl�X+P�0�Ê�+$�LR	� �s��	���rrf�\9�9qD��ndϋ��˿?SIb���-l�7#�����:����%�l!��Q
���&�-J�VPߖ�܎8$���N4�3�5�P��@!��'עME@/��+I�Q��J�P5�e�Xy��\3�"�@�TO,UC���䴸D0���Y�����e��  ��wm�8�'4q:`��*�;���V8���eVe$əS� %�z�e�(�i5E�g���N��?~/���1�_�@o2���e8�u|L[=���4(�T�������U2&�<&U����֘�(�q�ٹ�uW�B�ge<A���p�%_t=6Ū�d]
�7"���_�/��-��+-�L�m@9^�|]|*�;u`����)�#�Oi8Σ)z�2�F�;inP��.��CRT�^�-�p��T��s�}Fl=𵛓4���<�xt�_�(ǯ��E�2`o��C7V��K��݉�O��`u"c���>�����*�l>�oӘ�=��|~�WW���'��UF�O�\ʯ)�*2k��E�}��"��v�B�i�ן�f���J:��i�@�v�P �.ي�³����{	���6�R�<�k�r���Aj�z�XHM6����F�#!��S.�K�p�������uI�p�;`9�>8Qڼ��l�^ȣ2�u谓��Rf,Ė��WԈ�|��0ׁc����.+��|��L�� �%]�߄�
bm���"5~�s��vB/6_$��ƀa�>1�o��,2���HQu`Jb�6Qj�)q����la�R�%�d�\��h�].�l�+ ���p��A�is���X�2�`��\�%��QTO/S"<���)i�2PB��u��&�O��a�qf	�E�wZ3��{K�'d�kv��;ݾ�Y�d�_r]��%�"ICV[��!Ca,p�s�g�/���:��xڟ�������.t�+Ŷ��J~R3vW�U�]_����(����o���9�2�MH�q��q�ڮ�9�1�+M�d�^��N{Z쬌�%n��jk����/�J�N���k`z�~����u&������!��{�U��ϣ�t�K>��U<O�6����5�p����nK��.q�׬AW̚3���&��m[f�ߔ�10��E�F�@����&8Vݹ��C����J���h4$o��έ��&ᡔ@���L<و~#���ӆ�A�ʊv*��u���a�t�,�2����J=�T��� �֜%߳�:�ھ�D�̟aԬk'8S	:��iL�nʞ*W����%�K�J4�,[������e!�4��`��?�#6�l�(�wS�n�> ��]��h�D�~Q�0�)�3�{��?j�Y��3���F���c��s�YJ����pʰfg��^��2J{�{��6^�_�e�k�>��
��>e�{F���Q��\IV5���~�{���!Z��t�x�[v��(]O+��{��̠�����%��Ie�~�����B�1/�kr�W�U
i�dU�$���v߃��������P� �^{}DIU��P�\a�麪�ڑ֌�.
�خ2�>��͸
�P��$�
C-6k������{Y��c�Y�����
�?�Fh��d�4�c��54�j�v�Nș�&4�H��,�E�1��#�0��
U�?�zQu�\[^PEZB�S�6yw�{�'�W�*5m=>2Bf]��|ڭ
N�{g����m̭B3ǘ�iD�w�ǓU��j���AN%:,0Z��wɃ���_�,w��w.�mm�
�J�OuNGμ�c��={���Ը�ͥ��e��@��=K�X�(�X�t����)(��c�X�|�љ��p�x�|c�Q�yn�c�60^�%Ԡ�ƪi��l�Ύ5
7O,s����s��Qdžw��)/��L.9m�Rx����|��^��[�K��4#�CY��c{�r�u���g�'���:N�.�?��~�Ex[mS���m��c��$ǥ���⻡��z���F��Q֔�N��&^��1O���k5��J(+�����_b'�^G���Mю��s�
AE�Ӗ��n�Jȯ=�;M�
����.S8�d�v|8�$�4=�&G��T�UjL����$p��3FE���sKI���mYR!���^����hU���ن�h�Q���T�,D0"� @��F��L�d���2cC�{�ś��Y�p�3��#���ԂZJ�+�Q�w�W��KN�X�Yѝ��^j�E6Ǭ��S$��v�R��y�
�Z�K��&��&�շ����>�04�g����
���"�m�(F#YXS������̡�h��A}l
_1�����yy��جja��u�Vl�g{ĩ�p/*s��k�Q��~�C�W��uE@�:o�ܥ*���,Хϲ���z(�B��@�=��^�6�jm���%��h��N•B���g���-�	N%ݧ����j	l���{�@��"���)��CV�݊iΛ�j�:�i�_��9&��D���ɷ�|�8O��<���q[���N�.�Pe���ȺN��&��M�lD�q��͜�8Җ;2�ܽ�矩�,�g���+
eO�,+����ќ��x�E����A�����@�Βy�8N!��Hn��k�m/�֥�[f`wA��PϏ5�1�HN6�Pӵ�x�/�\f�*�5��|�u�#����)eow
n�~D��6#ey���c�a
���@��<�
O�g2�a�t�1:
�9�����[P�#�>�����X�2d�=ь
��3]�5rK%��l�&��1��:�U���_�uM��+I�0
G<-Xb�[B�u��m�ħr��R��/ť��`��qs�a�sR�$ٞ�}x��ikW#��g�j֤,�N�h���ƽ�3ʻ��n.�	�{+��*��|�#v6B����x���2�Mkc�ۃ��a{@Zg�X*\�p�6��.A���%j~z��9<�+&���N��2B�q����l^�Jһ��Ql�p��^�'?
�|�mل����=��7����7n�kf
"�{�$G��P�}2�c˜�jT�];c���s'�U���f��^6�7d�H����E�$S�"Q��z������Mz�C�Jآ����٦�#�Qr#�kB�9�>����Y�Y�����IĴ���ߨ4�Z�������	SX_���s��2o���";6��۱M�/��V$Dž��0܍݅��ee��}W2�J��gb'��ڦZ
�i�$�]Se����m����j_�s�/r�
����$i�^�^Jҫ��l>{���U��������@a	����o�H.��ia�S���H�D�ժ��\i>r�f[j6w���rj,vA��¯ӱ-��,W�:#_�����	^*�L����#�ߐlwo��|�39i���[Ʈ�|NN`���e�z*N�{�cf�[�L�\js�P�̊�Y���VRj�l魄��]^k@�x��3u2Me��uyI��Wx�g�x��qY�"!!�t��iǞ�s���B��%8�}^g��47^Sfb�ӭ]�[�|��_��\�H��R�L-�m{�'�̅��ime��E���K�s���B^�}��\�2Z��Z6Hc#��ߦes�oʪ\_C�
ȹ$3G��a�d�9G�UU�̂��!9��-�<�il�;1�
�
%�Sd	Y�]S� wC��VVG����0�ܗt�;�;�M��U����Q�zL�����]�$sf)a;a��G�^�[|�O��r������z(hM)�9gL�e��%�*.I08��
��x�	���֏��"7��I�e��RTaSB&������� w��
�9�|:;�8��I���K�a+�����)�x9�	+�^�X��\h�!d@p�Ff�)��E��z=�S()��S���u`��X|�p��}�=
o����l�)�̕˝�B�i�^����r�"��l��Ö��P=gH4���X�J�>
�kӕ����lV^ɦz01z��<Nj�m����-��=mU��]��J{9�Ot�l�(6g3^���H��m8]�S3�����$XRH�[���k�~@�),�r�e3�M��if71�&���E�"4�g��Y����w�Axd�f��\QZ=�w���{K�|��>� �#:�m_�� V8ڕ����uLZ�R�2 iRr�<D�Ǵ҅����tG�� �������7�"��{&g쐗tO1]�]�e�"g���x��X��4/`b�!S(��-8�^��S�('�
��W��Y�l�t8�D�!�b�l����x�T���т�[��L
��-�p��	�-�-_�77%Z8䖆[�hf����CAD1�����ҁ-�Z
���a��*��������fDp��n�ٛAk�k��Z��l8��ʊٸ��ۅ/o���ͫc
�t�o<�|]�pfXe�
%���eUf���*&�P��l�I��m��,4����o�շ���Ev��M�ʉr>_5�;f�?�
�ƥ<�_2
�6k3GS�:�X��^Z�J��k(W��H�9;c�L\���`ݗB����$&�y�9�a,���劾G��9�=v��SX���d�$u�ֶ	�L��>c�@u㲑_ҭ��]�sӊ�	�M��,	E\�H�̖9e�	f
M*)��Tv]�Y��g;W��N�T��eU�6.B�r��u�g����r�‡%�1y�����k��O�`��H������6�6�}����g�]<;k��f�D/��A@�ksW_��(
&.]�Y�r^����BvN�O���\k�q�w�f����MѵxI�H�Y��5�m,dq���*#�o���k�Bj��.\"�"��B|\JFT�}�m=F�}���o����n�5���Mr�F����Zr:�,6�ɽ!���
7&�zL縭�'��p��b�/�ݥH�B*a<�v����L9�3��nZ�O�C<��;��|2ˏ�|F�&��-�31#�93�0�.�R��_���A�����i�e�|@�,h��f���bq��`���H#a�X?f��f!�I2�ʧO�5Ϳ9��i����sƗ��q�Z_e�a-�.@�A���d#��O���7��3if����@��d��t;� �GX��@�����&�Z1ߌ�8=</E������;�4��i.^��M�S�ypY����LY��1��#I2��Gs⃿g����Fm�h�$!VCT�O�I������y�c�"^��}�u+Y��H��NE�*@Ϛ��4�:�s�hdE�aff&_���qAgY�6U�)��+���.f�n~d��cɊ���'3m�j2�i|�h��	��ax���k��C:�,�ef(݉8ش��1���7�|ig�sc?���|V�%n�����W/���3�&�� wƢ�E�P/��ѿ�G	H���%)��U�&*p�N�d����Nle�1.�D��Gd�R���/_(�����e�1e��}�Ȟ$���r]����ƒ��+��˪���f쓊�8�Y�1f*��*�[�"�\����P��N-3W�2�ABD����mvM��Iq3@�	�����֗��k�!���=�����B�
�;Nabpb*��.����u�FX�Y6��|������mm�^-�O2�+a�r���.��s��T���j�W���0�Zᄀ��n�h��������V7�:6�o�ᝯK9Yg�ީ���j��$�pt��3�{L���P�&�C�~rhVQF]+6���$X��/d�U��2™�Aw��U��	k^n�˘D��LxhSAW�̥%:�3�z�A�������̆�H����
s��l
6�d�`r���7��q"�����,�Jn���|-cI��幬��)�_)4�67��˵1v���PW-�:�>��W^l�c}�r<a#[	��i�A��)ݐ���&U<���"y�0g��9'ڗ,⒎��u��`�X<�H�9�r������ݽ���+�%z�4@�i��4�	u���폏6i�H��K���te���5��sYE�Z�M�
y�U�V�z䚓r��|-��9f�h���ۧ c�Zu����{�NK���1?݊�|& B#�Z&E�i�G��\R�,w��;�K��c�Dw���0�Oڦo��K
�3��f'o@��p�)�Y�6�赿���!��P�9���NY��o��^VM@�w�ך�=��"��K'a�����q����:!Y�(_�U~��H��{�m��C�ܺh!�X4��.���_n�y���98����؅y�;�ɣ�IX;;���Xkrs����߈
���?��-�9j�G��1���[6u����=B�����k��yG ~���p�*g�X*��;/z� 6[�m�6-��$���;�M�<�@$i�bL�af�}���l҅�"伺�n�U咺���hd�Z ��xM�0lF�Ql�Z�%:��!�	��_�u����
D������@u��)*��!I�1u��ȑ?쵼4s}�K�/"6P�q��ʜZ7��pe$uJ<����0Grm��A,͕E	](U?�B�˙��S��I���t������@�#����k���h7� �p��&*�Y�� T.V����S�{Զ9W��)Y��$�뭕g��_+v�0��g���|ԩ�J�|:T�5�$?��n��?��xU`)N"�e�#�L��(�4+0��R+�����6׿����I�QP$�����&*���GJܑ-+�]��b�l����G�8vV�V���٥eN���xjLqi1�"dB���ix��ҭEEk�q�z�6�1�iQ>�
�S���i��R_��K�ו��e�A	���ǒ�<�����n��� T���NP>�E?Y�9=C��^�S�
�?uIf�"\��;���-|�f�ٌ̬ļ�YY�W�%�����ƸG���U��y�I���q��5s�*�$y�8�hɲ�jl�tJWi���M'� �5gqg���[�T5��U��1��J0f �56�_�o2v>�`ع}�
as~�.ϵ=C���#!�K��:���^6�����tKu���H�qG�靏t�n��o�R��¯Ҵ��3�����X�j/<&�/DɋX���:�i�"ץ�>z}w����@���?��1O��Ӝ��t�wz�p�?���
�E�<��fg�85Ņ�"���a�hf�xrl��1�����k23s�����q{8]�����E�d[S���48N[ʌ����G�cl�mZ׿SG�"]�ԅ�g^̲�R؊��!rm�U��7<y��/��\�Brx�*"BTK&��/ƨ!>�y�8-?_����/�;Z`
kVH��R�2+�M�Zv�wK9��}z��t�����RN!J@b��q66��=u*�W�<�[.��|�yz5��o׊�^����e5#,�Daf��g�ZK�`�4�
��ﮰ��w��[t[v���OI�f^^��»�5�O��}@�j	B���1���]�a����|������׉�O��j�(�i�_ߤ�%��8#��rZ;m+U0������e�rJ��%����GjY~]���P§��=��e?�����7hs�<�����7��ӂ�H.���G�͐�*2y�������\.EO������ $���>���$ϧU��8M߇k�1�ngB4���xU|�����T�q��A���SrͲ	�Ƽ[�}��+�U�CI%�GH��� �I�(�w�0*�8-��BNw��x۲P�ʷ�˳���d��Mҍ���ݱ�f�2kZe��Gn(�9ys��rV�Vr
sO���)UB�ա�>d
���M^�."3q�N뺜�BPkf��ey&��a�&�
��I��/2
ⴅ��}��V�X����ɅC��}��<�.�V}o���2����YL�.�p}�y����J�i�#�0PO�]�5Epc�4R���A��}E�Be7���fDL��p�+ejo�ۖ2�}���L�*끄�.��]O�v:�aF�vx���S+N�B��v�����y"��Sc�@��v���m��gH��uXƁ�;k��x���Pp�|kg�^�ϛA��sΣU۹���_;0�O�W!�T���"�I�Ƣ����:+�X6=�z���y��؝�X�$�ݙ
�u⹳���5o��s��`?�)�;Y<��;��Kp�]�ʬ?)4�T!i�7��b�5���ۧ�fY�?n.N����T�5�5���v2��!���!�-�i
�D]��:�^����L�yn����6Yc�"wn�/����{W�>Z�;���u�f��qWy:٭='�m
i��>���Qo�1�gF��F)9���2�d�r��fA5G����K�03�7-c=y�k0yl%�� 0����:W��Mj��*)��BTTn�1����~��s�u�()���6-�AQG�
x{�0��!����7�Yְ��b��.���?��,x������FM��G;�"��E�9���A�&�h�EK�OV��T�taIޒ��e��:�fvG+�hz�xmz*J�_^�/3M�fcl�3�a��5���-���Q,"��ʩ�7�-g�1e˝���N�YD�;�����|���{/���2�����O��E1AdjE|��Ŗg��q�:�����3����:2NQ]72!�� %0J�\��o��xpԛ�9�n
An�@mO��g�L��`j �3d=�;e���t]�P�]��Y�*�7t�~���E�Ȍa��vb�F$��E�T&�JB;��3�s�2����]�-.�r�y� �u��(��J����,�gy	���W����1"n�`U�L1��]��J����M}3�΢��>	�[��l0�w�Yo,��M{D@.
m')1�P����ԹY:s��[dz99f�E�cHY�4e����Q6���q/ބ#	�{��}�(/�j+�W�{�F����&{G�w�&���JOS���}�T���g�sDl�u.��K)
�O7Aj[]V܉��ݞ�#�|w�D}`L=rel���3l���.BI���N�`ב���K������^��߷�3��
���_��]�N��>P{�8����C'�|^�MΚ6�
����<�QR���d�(SN����(/;%CO��mt{�&~}}���w=�x����G�/SHm=+���B�!W�}��	RK�K�n��"n�y��5ы�6��J�0��|�1��6{��~��䁘����R��G�<�k�V�T�v�K���&�f8oL�D(�b���G�����r�Y��T�^/�ӡ��F����G��qٙ5���wã�[Q�glI|��Y�u�!�jL���H��l�X��$�����@��s``�=�<(�`s��E�PY�ݳ���罭--�=�޵&J��,s[S��1�*���G>��
o��*h�Ւ����� ��b�g���`�u�=��-�r���32Om��0��U�S�Y�&Q
�@RZ#�鐇�w�@�i��M�YH�G���KI*3a5;�	.��?g�g6��~����r�5i�f�擔� �`$�]Vk���m��z|ܙ�$T���eS��+�d�4�W�~����j����h0�.��5�9��Eٳ
���x�[W�c����@�ހ�n$����"Z���u��q80��n���.�fֲ��:H��ֹ`������&�{�ح�~?`l�=9H�g� �E3
�6��3��g1���e��� �f��B���d/.A8ZP�/�|�L�̚����%G���!h
.��q2���)K�!j���^j�&�N��s�H���a�o''�}�ğa��w�q�@!��#���;������\a�&�p���;F���Hm�	Kp�dmŌZ���2�~fx���"c��'�3��b.)��AHY_B�Qz�~�p~�Xg;b��iA���Ez��x�K�9Gܴ�n:`*�����~�=�ѝ�E�Jc]@A�����>�o��w�����x�h�nW��k�2_�7R�ub}x�����uP�k��C��ħV���O�����*�| �fs���MfX��t�?i@�?1%XG�
�a��B�V��%���-���d<[�)�[q^z�ֵ�Pe�e��>9�==�]u��:�@�ŵ��d�09
�p�^\i>O�Ea����:@Ќ/+Ф��b�
���+eׇ�Q��t�ݼxu]p`���1��ɞUy{����l�Vo��<��Iq��Ҙb⠜KzZ�
�:��N?J4������;a�cɒ*#���D�xB #I�C
��1z.^�L�V��1��Uff7���,s�TB����"�x�iA8��t{d?��AXF`���t�������v���YS�l��"�l��<t��Q�L���P�ik�<���Ӫ�N�Z$C�X��D�c3�f��ʡ�^���2�Z`V�4/���;'����<D�)]	z�Y�s�w4�����l,O��(���־+(��0A�sU��2��HW��94b�
�.f�`$�3AEҕ�Xu����mf�4%e�Xً���ۼ���N�x��@\=?)7��p��r�	���R��nm�o��&5�ܰ��zJi��Or"���
��v�tR�(�CA�{��2�i�;�
h!��sv]ew��׫�����"���߷�.���LՇ���	F!��u��a��[��ή?�i�PƟ���T	fI�h�����>��~�t���w���}ҍ�^}=��ݠ������^4_�~��d��|�*KcbG���Ar�O��tM��(`�Q���O~v1��i����uQ1
cUN�+8��FC&{ǽ���Hn���Q�PW��rbh��#NJ���x���Aj���ʼn�C�����\�k,
�����*�%�.��Wbņ:V�!�C
8h��X�p�bYn)ꎚ��ӹ�Iq� �<�#�#��M�C�_����P0������H�	N�>e�N+A@���\�D�w�y�5MJq���br���o}�
�܋�I�jCI���{������!�/�,@n}����9y6��}(�i�Q������B��:���(r(X��?\���_(��)]��P^���u�O�-6$�M�enk��l��o�"�;���[/-��V��&`
c�k���,�~uC\�5�uGJB�a�NY��)>[A��R|>=?����;��4nSz�QƘ�-�e�L�X��t]v�J�
�ek&�|��C`u�B�M^�^F�X�&jǽG�k%���h̸��
('Is�AF��j�.�ѐr�2m�`��n��e�^�`�yu?��<���1����)������j�
m6�Z@���
��XH�*��]�:|Ɛ��J!��He��ލ�7��fg�U9�ĕ�l�ʞy��SL�I�y1>f�r�l�x�U�O�{CjW�����?��Q�^��\�A2��.���|:�W@ȴłp5��`A��S{�@�K�s��ً�`oo�F}p�O���JӺx�V�Y�j#��<�wo�

3i���b`�~-2�n�S�T���R���so��h\�J׬/j{�Ew�"a����#|��J'�il��|v.�</�99��(��4GjܹY��>
��hL��ޟb�c�4�I����l�wG����s"�yM/�b\��:v8�c�m��i�^��E[���63[}H��ݨ�����4ܯS�]�ѿNB����]BSa\�| ��W����W�Y_�s��<z}�J]H0uڹY[R�����}��9��
�4�����	��!s���Ai]͈	��U�.�/Ig�uhxkV8��iς�Xb>�'�������Ѳ=�g�1�K��e������w���y�Cjb���j����r�:"%%��`�N|z��2��3�cʡz�Ȩ����:�=�G:X�z\ܛ�}a=B�O+r�덇��Wr��S�.��x���lHyl����3@�d��(���#�mnR��^�O�L�ܖgC^ū�9	�Ә,�����pUՕ8Aq��W��1�f���3�%��*�)�y��63�d7l��	w���H��ٌo�!0�A�I���K��f�����⒮!87��P����_��dp�����zY��Au��.�5��Z,�G|ny崶-\���R6�8�B�@SR<��?HrqI�ۉP����bDv�O.�V0����^�n�^{��N�}6�[h�����10h���̎�4���:�p���~��#��WV����!±�sg5��Xy�X���@1����mEZ�J�0u�S�����pKv�*j�ԥ��Q��HPm��}奷����z6�����Z[-���V2��J݈�q���2,�J�_k���#�'t��j�7۶B��v!��ʕ6?�-�v��*]9)�u0$��ܬ�=��e�l��ߤ�L�����u��P�	 �i�A���[a8�#���Ƽ�G�c�D�8�(h����i��E��^x���Q<��Y��!֛ c��TrԻX"�jv{����|��O�+���&å�S�If&��&���/�M�Q�Iwo���b������w�eG
7Ͼ�׬r�g>5>������REjD1Z���!L�(c%�s�p,󼬠�6��8�ƚ�3B�pr9<V�^@|/K(���R�
�+:�̣���+�;[ I;-ֈt4�:�����m���:�#+K�����N�X��!/v@�W���X��Y�D��)?���}+%$՚�6�����T�5k�'3yhmɛ�=M�.�y�F8D>�ܸ|��A�OV�7�I����CcO��l��kz>�,k�pO'��p Rp7_d!Ђ����v�j�𲋀#�/�+�[�k8���u�}a/].���8 2B
GK�-��j{�E���KCT���.b ��A�Ք�e�O���p�Ӝ������U_���GٷO'����6�c�$Z��J��W��@�2��2��0�rU�0�9U�O��ۓC]�j� )-��:%f�,wS%��d�p��+9�XB _f�@��=r�|���MRZ�2�E�:��Z��:�0��Pn8/��*���tp�A,��,�Ot皥��l��/ N%�R���d��V�}I�}����Y��:�]�ΚE������D��,����pz�{.ө$�1�l���m"�W;�%lP�-	YL
qNΨX���5���IAq	�R9*�ci�|A�c��zϱE�G<//^���Q����IX��E�d3t�(���׋�Z&�?y/�l8�O�k#�
��.�Y���X]������5����f?�Gp�,��PZ	��x�e�#�?��t�9��c/��>;_ӝF%{m����p<m�ÆG�e|�ë��M�	�6z���Fl�뚓�E
H�ۻX
ͣ����ږ[ɔL$+�=�����gpa�J̉1qH̜
�b�`1�+^G�m,;�_�ۣ���hT�� j����cA�Z�8W󶆇+��h�C{���v��1*�+ڼ�J޽���l��=�Dj-g7��#@�e���o5�@<WV�v�¬�W�VZ�W Ի��Je����믷����}vo�a�ق3p:)����\R5�2��R�>�ú�)f)������),ˇt���J^�&��V��	C�3��h�LJ��f�_�I�ȶ�&���$�t�L�<K�,/̉�L)�0�x�:ʷ�
��<���N{�_�K�	@)��#��\�c*D��K9.����H�Z"���Z�W����r)vs����˜}��vi�|� �\ĩ=��g��'�D�_�^]�ͭa�j�2+D��a˘�� ���Q��5��������x�fJ�h|Ouz��kD].�
V"��p�Р�-ݬ�ϵShƺ]N�m�n�V���i���}������eY���lm��>�N�9�6��������EW�cV?1��X�ʍ��1*����v�V������\���x����.r��ٓ�p�/謿]�5�{DO��kc�2z4�a�6��7�6��؜�,���N듏��_d��L9�ǁ`��Ā1��v��l�O��<K���o��f�^nǮs�VO*T�J�Olд�_�qe��5�<�W�-9>P{�s���ְB�Zp�2�]�?�,8�$ѭ�jB݃�I���sYR��\0���͊y  : -ć0��Gfs�X����	š�H|�.)F�^t�M���ʧ7%�� gi��iV�0U�-�dkߌ��l��Mf������_�g�ym6h3LbTӈ;B�3��oR�s"�4� �����o����%<6�9�*�;"��'�U��e@��u�;H���Z��9�k)[�5ó��?s�|�nk$ WS���Sֹ�ϋ�۩����[�^8}?{�u���:2�9-���&��u/=�3��\�r��o�Ti?e�X�F��7����O'��n�J^+��n��&��,[J*��i���Sp!	Y͐��.��R�V���5�	E�ED*v��vqxЪ~��lÿ��d��s��'vh��q}`�1-3�p��J�1%��]-����=�8�.W�iO��t���#>F��Dn�@��6�����<o�=�
4/$1vLwZ��ݓ��q����s��m�%�l����
���?@/����K,���0��^{��V��(�a�6�D|�`ޓ��s-7������sP֭����������ח�v>��3G����F}��U������}�zj��S�٧W!�Q����%E��T��o�NvZW(���{���nz�q7-��9��$���IuQv�Mm�cM�
F���U��;"�|�P󨑦��a7�^������>jd6E4|j�ɇڔ�3
��\J��zE~q*9�7g8SA�1����{��ݴO���7"�m�L��%���1��L���S����_�3d��vk�1^��T'ӱ���:s�α����Ru�����
����a�VQ�����M�~Go,!`-��{D����Ն����d:��(��t0�(�U�����o��yIh�UMq<��a������y?���a��\d?eV���zu�v��A�+*��dt8P��F��V쎂���Tsm�-	���Ψ��X'��6� NU�Ϭ)Cpu&:��{j�\<˔L�����¦�)�\*/��{
k�]���+j|�L�g�me����T��_z*����G�A��k��i�J��uz*������5�iکmT �6l�d�K��=ǵ�7���U�i���40�{Q���
?�KA�3͚�p8p@�Sv����]&.�Z��]�J�B�\�\��h����5�W��fL�'J�x��,�
r֨5fM �E�z���]�!�`�7�.��0�z�|N��7�`N��T�k���<�}w���6�w=x�
�K�v[V��f9?�M�*�5��&;;a�gYW))����$��.���G}���6^/�<�c�z�N6Y'���З�-�z>��r���|��q����,/i��9���ѪZ�
�����nL���j�FŴ#�#�rt����@�����z�yd9�sj�T*��Nm�"w�娦ݯr����S�&�g������u����T�ꫫ>y\���O6���`�����1~�S�2��^��d����W��e��Z؁�躂�H3>�Ԧ����K*3בIJ�����6N~�E��s�y�smZ�}��(��`&L�⓭�*��%,�{������C�jd��–b�z����D�Y�J}�s+D����c>�ϗv;p���m���wc��9P�2�F���o�,�}N9Gfa�1{��YY\W�E�ۛSS�:%��:q$9�$�\й���ԻiX��`v����߯�L ���-v�a�~��o�/|�#����c�&���o��H���\Fvtdl����t>���+i��n?%��i�z���CJ�Ա�4sDS�4<�	���0ɦS��O8I�@:�*V��?��}��=��cEٶH?el�Dt�$x	��Ky7�v�=�?������)֢ؤ(�`+A˹0+n���3��*��b��E5�k�O�t'*'�a)�pv�J�3���O]�Y`֣�8���U�#]��K�#�2X��j��4�4�Ֆ�/�)+�-�-\�pq`��VТ�6~Il��y
��Τ��i�݋�U;`��4Ì�3����2m9�,�-A3=Y �����6�yL��%�������R;�hM�`����5�o���/;t�_�>����f{|D^3��,����O`�g�u��b�W��8�B��Iȼʦ(�����k�\�/s�R����t���^���kE���ᗔ�0XF;�_����fh������0̩0��%1�YH���h�DH�w���~�k�E�­y�{z�Q8/���[���$W�ί��/��G.��u_�h6���T3���;�[c�jh��И;��B=��F�1�������
TPFP�벜��s�j3*o�_]��1��u�a����m���;fH��1Vl�H�E	��=�9e7"��U�(�_0U˚m�6T�G��n5�Gr��b�M�7���(d��?G4�'��?nO"#��S-���X�M����gN��q4��B
�h3%��JX�L�{���mc�m
f���j��2�Y�gG:�/䧺�A����_=HE,Ks�fKH����n�G����+ߏhi��W�8�U+��@/���%^-�E����a�%�����@G{�=;�|�_#͓��
�<�J�8�����6��k�tu1�-F]Y�SJ�a���Ѳ��1>��1���c�c�f�qA����Z�a���e%��޽��{{+p��σ��V�wrG��緸�IP�_�YV�!3\�quJ��r�;j�d����~��t߬c����v=��l�P���=�L2=Ϧ�	
�&I�]х�>���3���ժI�����0e�9�5|]�j�PBك���
\��G���8�����x̓��o�yK>a��-�֧L�in�5�}}W7Gn��f$�V��@����
��'�Y�qG��4��վ��G��g7���'�2�Q��G!��턕T�g�ta��:�b��*�}��5x���{�x�F	6���u
�e�v�N�?��~�ʰ��a6O�q������:�"6fw�������+��;䅶���)��A�a��=�j�����#�g�o��Z��->���Q�3O՗����5z�#d��X|�����~��t�7������ؚ�Y�YY�n��y݁T��#�ݓ�V�����QNL������h�.����W�YSc�����`]�#�3j��T�����t�$:��?��T�wG�G��Ծ�Mz�-��
OT$;�t�j�_�4d٭�I�U�l�w�Vw8��y9�o�)f����J�����qP�DuGΓngc;l�(۶j&	G}.�ҞЎ���-c���Z�.I��+v`��R|Eϕ��
�Z$qH�ТDh��
�Պ����σ���Jh0��_��pwb��흷�8�Ǧ���2��7T��2+��i�����뽽��ߋɁ���*<�"���jWZ/z���e�uu2m{�����8��CjL2���7�-]p��VU~	�ʎ,'l"o��2@�4R �bxbx.b����$,-�t��������,9"����팈�e��`w�"f�nԠ[ʶ�az�F�����3A$�Y������D3������WX�h�E�U��Ԃ�&jFaq1f�E��<���UX��T�����m�5��M^��V��vW��9PM�m�^�M�X�g�TXJ=�?�
��������lp�ܟ�)#z0e�����r?�n`�{r�󞢌�`Z���m#c�iҲڋ�r�3T�m
�ퟄka�p;��H4��a�Y:G��g6�Ѳ�V}x��|Q�S~{��N&!����CsvTOx5���r^V�ּ{�I�:Z��V�+�V�[���i5p��b��iG��!�n��ˑ@�xj�x�N�Ph:�fogF��4�5�ܙKs�M�5�ē���A4	O11����,�
{�^��#�cKS�Ś��З��멈d)`0�xbB�`��	�����r&5��Cl���l��^��9AF�p��)d����C��q�-��DLB�|�"�i�o	�J���@�~����z�~NN���%6/FH���8X�R�~{�o	c�[�1
�5��I(����W-ٌ�5Ǜ�K4n�����,�U�Z:��Yx۸�}R����܅��{6t�9!F,����X���=M ��V�0�l�β�Z���9�̛�ՑS�>�l���_�ҡKbb�Pn��;��t�$����:�o+Q�Z"���9᭛f5}
j_Z�s�|-�wv�rEB[�9�f�n�U���o��2�����Aݶ�$��VF�ZI�=�9\�����o\��!�A��}K� #2_S�������(%lȡ�S)r� ��7����'� �EU~[�z�ᮒ=�ދ��� ,=S�4���L�;�R��:Bʲ7f�z��Q��q�e�_
;5n]Q�A��!ܿ��b�� ���Xb�x$rd�!䴔�H��y�����hw��3�����)4\���k�㍋�E�M�.�\���E��}��vSF��t2=|�T�*:k9j���"�f�*�7�~�h����0kPߙ���9���U�1�--�k�Gw�$s��"��r��r�v�����۷ց��o�x�����mk�wbU�B��ո|0��>ߕh��h�_
�����\'�����3Dg�{=�ܠ �~��ݱ�{sbl���p�v5�۪��(6�2J��8d[�n5Q��rE��Uxҝ�V��y���ԞH��f>�LHsZ����]��,c┖���߿��Ь+"��C]E��%{ѣ�ɬ#��ˠ��w���設><i�����<�Qm��#kB��%�hZ�W�w�$I���uW7vw#�ȴ�a�	n{��x��w8�.2֪��3��u�´z��m���&��xD���>9�0+�����my�:I���ΰ-qܡ�)G~�)K
*�1�E����$RCt'�rް�ã�?{'���{6В7��M�6n���0I�O�+�����J�pƺ��8'f�K���5�hl��ծv!����"u�[*��n��� |�[A�o�n���7ٛ��y���ǻ��n`�Uq^V����v�E��=b����n�'�.ef�]�cGv��u�LT�UL�X�!��j!s�"�fA��V��)Ű��ӳ�)�VcW.�Z�!�w�M����/�eg��<E* �$�%�R_"��ZT�Y��cš;;X�:�B�崾8� �W)�}�}s�����n���P�Y�E#�QsL��]���F���L	KD��sK���hF�������"u	�1В}�%�2gNu=�p�_1x���}�3�3�z�7�8
.0��&nǸU>t�u�bW���P\<iX��{��F�cz�/m�k��:�rJ���z�w��;Ƥ&�G�y#)�>+-��O���3�Mq3����}�vHs�t�i*�Q`�P�~�;x/~�|X��3K�
m�e�ݔ����&ϯ�(mY�=�h�7�s��tK��¸9��:�㡂�u	B|����L5k��C�����H�w�؎�r��t�ٝ�nF�
�p���Hw�����iLjo�4��w�_#�i�N�������G������Q�~{�Qz�e�/�1&�=-��,�5�����n#�����e��=��_��sv[Ȃ��?�������XQ��{�%���L<y
�ߝ�x�%�WY�~�K�%�P?3�6dm��戮Q)|[x��6G��5�۫���MZ���5����V%g��)��I;�s�/���GX>��r�~0��wzT���������FG�"+�O5��W��I�vB�sI���ܥ����ȧט�?y���|U�;)����!� ݌
��$(Um�NT䫂�-�#�l+O,LALH��Nc�|����n���2�fw�u֔O$)���	��O�l�ȣ�H�&*��]ƕ���U�V���/ÅxK���b��^���x���Ej���!t8���@K9Y�Xh�c�R�}�̼�L�����,���
D]P���8�z8��H��=_�?��V�P�r^��E�G��p0��D�V�1I���$��A�WiN�R"�=先��{-c�E
�w1�J����~N�D�S��"}%����m<�yv�.<�dgt�����<���t%i���$!_��2B��Dt:|H3iN7ژ�u�㲏v�J9��͹��
����1Ǩދ�Z��>��Ӿ�Y������I]J�
�d�`*��}��O�_�v�gm�;��*�f�WΥi����XRBS-V����\3�GORϫ�D@�>1�`׃��hj�0��\V�M~��K"Y�Wi`����?����.��.�9���SrÁ�~"���aצ'�j�(b��
=�"��&D�B�쎘6ai��6X"���T��'�2e�'�x��P#t�,��*n�1��-&Uc�8��o�����_.}�^��kpc1�8.J�P��vr�c��D�#��sP���ݠ��� v�����]ffa�'����o0m���jNo�����cd�ccUv�g�$�?��r.�s|H-ck~��[��y}Ŭ#
ʉӮ��x<�Ͷ6�ŗNǚ�*K�9t�o�Z	��\�-\?	!ai���1�&�Q2\����|Q�S�'���3�A7�z�3�Q �r�G�)Nf�v+'�O,^Z]9�I�	�ͮ����t��2i ���I.~��ya�����lj�6��]qБ�5PW�U�6_*���_,���!����@
<p5�$�֬(����3�f��Lhgy��!
�_喴�GT���ƇlXq:H��]����.
î�R�h��|����*���%�7,nFN���n�<�U���k��ۇ_��&M����mF~�\�o�+m+�\ڨn�iX���|R9m��LZ�j����t�3�Y�x ���K����[�B�]�	v�j�"->tS���� <G�o�Ѯ�t���V�#�gQ"�fR7d��j�Ey>����:[�"ŗh�6[�^��^��2%�c��RD��^E��[���h�B���lE*5V]�K�]%w˧�O%�i7C����z�B�Y��J��w;�a����\gs�=G��ض�u^^_g��L�P��"�D;-Lih��<�`F��mr�GH���П�9��%J˂ɷE���|XBg��$�Kr�����ͼ��)�"�o��9h�<@b���B���t|д�2�] ���>�wZ\��F��<�����ܷ�͏b5f�^�lk&��eM��U��%H�$%�Ѩ�tA��ؼ}���ϔ
�$�D&|sz�GO��2�U��w��H�U*���,'�
�Z0�xF��-�9�t`_3�N�� kf����}��m4����e+���\w/������RgZ�Ry�B]{;x��+�rZK]*��I��?��U���#KI7�)D6�NLs��K|�e���~�.-1�	��&.RI��`/[�Bh6
VӬ%T�0�̥^�Q�wK&PH�xR��z*=�m������d��>�beBؿ6�A�o{�'l������������W����4j�����՝�7��eW!�����7i��^�$�(�>|8�>�c�3F�3�F��>�Z�h�6r�T� ����NE�Q�Ej��ݤ��%��3�v듴��j�B���\��}d���m$s�L�6I_��+���V*RΌ#���l�=ܥ�'/�������9�!�-~����3�G���~ȍ���~���]_ZmF5(�
T�>$?�Kң�W�����'�ݛ�w_���yj�b�Bڬ@���#ct��5�;��W�뢴r���SI�*����+��9Ό��W��X�A�33%[�S�f�T���ƒX<�l��!G�=�_YhU$�C�XB ӟ�3�f�w��Ζ���֛J(��T���<�M`$�z��X+�%�i�+�jL����fK_�^�	G��SőNF<�A�_��:��X ^�
@�xG��g��Pgf0g�\��@�g?!����~$�^R����R��N��
+�&@��|�5�|�H�V
EО�(��£.�;bͲS���=�j"N,zs	��� ԸwB#aŬ0
��}qpuƵ��W�6
�+�ַecf�����x�G>i�b���2�}C΅wEB��3L�)C�č7��{jU�����!r�d-M^��x��[��X��E�8Io�]8�I=~
�H��O��[T*��L�Ft�������߱���2�7��#yZ&����w�.�P�@$��?��;��e°����c�5E��&����Pi)��{���ʾ�I�e��
zrD�~�6�aЊo�KIk!Ie��%=�r]9�QawZ(u����h�v2N��`����?�t�t��K
�v�f6#���;<v�ei�}̳�fN@��K,�&R[���!KDM�}O�9�Qr�K�5"�N�3�tW1���O;�!����ՆA������X������P��O��P��nj�M�<�z++$�Y�ݑm�-��'�lEr[o'���p(fa."�.��{�f��+�5�t��ylza�	l�b����|�r]����=�T�Oc��S>��֨�HhQ�}��w�M��<��v�$�G��t�c��:�ߔ%K#���8����r��!��z��ƛ�A��Te#��vS��I8���JtA`1�iY~ʍ��B�gM!ۜ�#YM|	�����I��������]·�*!�S��";�M��а�̶�kڢ��B�r�b�LB,�ĕ��P}�hhU"o���D�<OSA�dK�Ք�3L
�N^�Xﮦ��~)�t;��8�Hiw:����X#��#�~1]5O�m����zp8��0���(�ifu0��D��H��E���IT��#��yԪ�Qkr?P�w��
p���yi,色փ�><bv�����Te�������xK��>����J��Y���򌥖��l���I4P��o��f]�f2!�\"h�I�t�Ĺ�H�W�#�[Qnw�?��t;�Gkx2��X#9�b�i��Ѫ��P�̘@�F���G��g�ɫ+v�p�ٟi=M�1!G,ӸI���F�u#�<�8�P��9��YĹ5��!ݲ^�����h7M�z��2��$w8�TRn�kM�?M��;�g �L���Gc�?����/(4�a	J��N�T_�H����Y�^��c�9H�f:0���p�ΉGs��1�&��˚�!�Dh���Oݮ�d�x”��7w/��y�{ߔfCz����P���\dX�{UN��6¥�����Nq�/��M�+N���g�֙���iE�̒h<m$��5�;5|r�[�K�s)7�r���H`^@����#���(Nڝd�kf3�K�y�5�����WWE��N�xk7=�M@���<z�0�v���\�K��V�:+��kY�ˑ6)o
=��p0����g<���W�� ��KSA��ۛ�>P�@N�/�Y���Ԕž����&QN;M�M{��!�s��\��,H���ͩb���^!ïB&���f�XV���5vO�)~��~@GuD��B?�g�*�~y���~�8)������I3�)
�%�g,�Cx�#��aNx�3��͔1��-�BJ�Š�Ij���ψ�S|f�o�̽O��]bq�#�iގ�T�J��H��i%��B	��S�I��Ft���� �$HMi��"7f�q;&IlB���	��pY�,�2c4ы��6Y�0��,ݨ�G-��b����R#�2s�0W�g��|E[2�F�<tO������[�x�0�E�ȨȚaٵo��}*.val�|�k����@�>ãt��)��~|8�w�͗�����\��50����
`���>�&͈ZY����F	)��~M���)@Q�*3���tb�'�Neq���E�:#p�I?��eė٧71i�I��e@@��i��9�ZMS:̣���B��i�U?�Pv7�
r���A�^LI%J)�I�qk���:u�/_qrX�H���o�[�����\�c� ��Ҹ�9��Ȃ5{�'N��)k:����g|��������KWO�����m��?p�#��@�|'sY����nr�ý��?���m^6s�@:����Ja�v�R7��.�L�*h��|��P���A����O�}���*���З���VY�eA��gn2\*���@���!��lD6Qҭ�����օ�zj�a]���F�Rp�.Z`���V�j����NX�{�t<"�z��n�fֲ��>���=�`���u���d�f�i' �<2��'��8�
*��uR���q��x�Vy��칶n%�ϭ���<x������_��ʮ��$1�?��Z���E׻=߻y��+6	��>�v�_(F~���?^�s�����4�i�,��
�iW?�v�MJ�S��u<v�C����6!���y�6��Ֆd3l�J�Ҧ#�K�;�5d�:F���z�%��I�8U':Z�u�7ݤ�'Ίf�D^6���^���v{��\�]��Ka�	5!��k��Qk��p���qD�9eg�9#M�P��pG!�}6���:�FqwW�B!��M}�l'�mil�k�(�Sܓ�Oqk�Td^�V����6�46�x�‘��c����R�ړ����|b�����J]U�V8L
�%c�5�t�uK�p��ʎ�uަ����Ug��8y�8�C�"6��"v��.�!����UO����Z�w;
���Hnϱ�}�}j��ko8�%Y���w
1�2���w���R_Å��5g(:���T�KIE�·H;]�Oe;��")�o�ِS��!V��ߺ���{$ڹlw�y����g
"*�lH6��ԢC0����� �-�v�'Q�0[J�1v\J�6�>0��VP3`f�u��p�O����qP��<���(�B��� �Ҷf�F.������/���<`GK��~1��Dշ�&/G��(pl�,��D�jY�Ǎ����59��R���W��e�˖��3���^}���Gr,�J�Kƴvy��=_�(r��N��(�p�"J��������#�c�#���\�l��uON�+&Ok�j���6�2���ȣo�2[�́�F7���X���<i���O��_W���D��[���0c65��Bv���B��5e���e4�8���+�����dp�=��1��5�2A��j�xq����!��m��l�Q��9�C��ے�(��h�kn亲ni�=@aj���\0c��
b.�HCB��Q�Q�)�n��Ic,F�l�6��=늧�EV��>����!o����d��*�?��N&Gc��~�c�K��;��_�@ͣz0V��&�㽬�.\v��Gc4A�<A�P�<R�\�T�"|�䄗���6�4iwl��N��b������QZ���7�h}�����=�"b�t4�7zN�+ج�mr�i���3��|q�6݈���U"�c%�Ӭ�2E�������]�gk�5������&�p�+3���
�[��!��2���Na�l�#��fm �b��ٵ�C��BG�##MP—�1���u�s��޳ޫ�)�QU�wx�\�k�����9.�3�`�2楹�p��Y��ϕ%�"	����R�fVޘ3)qYB{=�k0a:�.���:	KmIɈ��`��u�(���l��t�6�~���@6B�Hv�]��\"�a��9�	^҉'$�y4�i]�PɛU�]Q^dʜ�4ܵ����G�޹�
��H��d�#�Dv�peE�{���'�d+Y�m2K�|NL4\�3q��^%E��✫����:�7��B�Hލ4_r�ߌ����Y�,���&+�crdb-�N�	�E�C��w�VvJQ���%';�5�������)q�:;քu�j=�n��C�&�j[�a���(�oÃ鈭�m�Iaݮ���C+u��58�d9g�XSr�r�،%�f���qz�
�.u:�-m���$��� ��IIϖ�a��i�]���|L���a��������@�k�:T_G|(��˜h_c���l�:�*��L2�V�s�kn�e~���m�ۙ��y9���L�HQ�v��'�=$+�d�m�/%Գj"��.N�֟c^���	�!̙�e�b�yYVP(�ɛ__g����N���V��z���T�3�-B�i%��Z�'�jkb��<�T�,�):
GN��W�mڣAH�H����Ub�%�-����ʔ!��l\!{�ޮ|���-� ��:��q�4�'���K\L� �E�S@�˲J�$�=%�Ι�����`�v�I�T�l5�2v�[Xe�c�7�z|0���W�=���A�����Ԣ�mY���Irx�E�Mc	�νQ�񱅊h&��#�t��Z	s6�N}��� �ԬRx?+�n��<��	ׁ�5��.�)(��@�Ҩ\��IH�9�89Z�^��
S��e?X�f��r�U����q�F���l��4�0�azȥ�9;-2}�7��>�'�&u���0f��E%Z����е�W�
g���k�����j�zU�#]��1��v3Y���T���m9�T�q���~���뜽v���^����pLt��-�]�*�@8���.q��t�d;�k�9eA�{Ճ�3ˀů��\X�Z�CCD��p���8Ui��ga(������0�z��p��E�'=m�6��X�W���è7��nz��ef�[��O��FS�M�A:4�Zz<;OmK�]#��k5��	>��*�u]����U�#�c���2�35[��e	������M���{Ffih\Y�u�f�"��L�s�<�D/3K^�f�4_>1i�֙�A^<�<9�O�d�]�>��� ��l�uQ�Hݔ�0O�4��Vm�n?�6�^�|Yd>��\I����8x�N��o�es;\S%\V�� _8g�Cj�,�a��Z��R-W��h{�:<9lJ����ۉG		LJy��Z+�2RҞqIh�_�S�i}���17��}��̷`Isr�SWu��42�ZRy1�@@� ��6i��R��3��R�"�!M���B<�V=��-W���"fh<���%���4sT��C#�S�%�@���h�B�38,�ZX9L�X˲n�I\-6[潶��F>]!���Ϸ�K���\>����$2ަ�t���B����kiy�ϡ�U�+�h�eNz|�J�t	ގ�ZC0�%��Q�Ns?9�=��#�..�}w�Q)�؅?=��N�b<f�SY Ҫ�)�O)l��鏲�@!m��
��uZ\����f��Nl��PߎA�2��w�E@���J�m�}a�Z�0q�����#���Y_�
��X�
�{�r�Y{��_�w6ş'��@t�m�4�1X�g\��(xU�n	�(wz��A,�V)s+�F#���p(����e��$;�g^����长����篒O�}��4�SF���y��0���P�b:���O��g�2g	��ʾpV֤
����2>/iG�L( ��&���BF�gEo{���;����^�9��Թ��G�w�cͯJ(��xK<�3#�~��|����R;*uBg9�����	�X�7���JSW��Z�A�	��h=7P��D��We	�6(��ҹ؆�Nwz�]+����0G#���}��֋@R�<�A7��f�A���G|���D�W9/A��U�ۼfo��u1��g��s�(�4`��@�0?���*}�H�_�(��b�9��
�����=l�uԚ���[�aܠ�٢�G�u��}�sGg��F��nB"�,䘨|����@�����{>��h��꤃�7�<
V<J���0�<��K7��(⢪��Q<�=
��p����[36N�����2��y���Y��
��xdf��<�������]0���O����QP�l�䰯�!r�c�nFn�x�[푷�m�˘����?�6*8w�hȝ!��U�̫��D�c�)3�lb���Hc#	�B�0�\���zO�.b�s
�5bx�h���g���,=�ڵf�oxDMaPS\S~U'/P7;mNjѱ�wN.��㑍h�Q��N["�Dc������;�D|I����	�7_�O	z#�p�?WڰZ��~b+�������\mN@5Dϕ݌,�U��趠z_���Y������z[u���z�t (K>��)��CN4�9�6u����%��e��nQ�(�f5��a��=�8���ݞ��l���w��ՃJ)�"K���^���/�`q#�Τ�n�C,��fĩ�%�"��q/��L�<Խ�Z�@ـ���i�D��A�kg�Gq���� �
N��
�,���I��U��;��v�!Ӽ\y��`�<����>�T|��>�vx�2�����ܔ�k���y��N��8�;�>�-�q���Z]j+b��
�PIr/^��$�j�~�3�Ue�����Mi	�0�*�h||4.3go<�����9��yiM���n����gA�0��ݓ���6{��p��7l�dg'v�CG�Lv[�ឌxH	��RG"��T;؛4	9��6��sF�v�Gj�eNS�Ϳ����MX�C{��ETN�.�zi�|HYI�M�e�e.�H�D-8��
��~�,_٨�-J��4����$�@�3>�@>x�S?�-"pߖwh���b<�lQ�f-�r	�kO�<{����Pg�!�@��u��
��MX��n�L3ka�j��>�l�	6zϧ�͑��;�5מ](̒���T�kH5mМp��1s5�d�4oGurddB&����`Mg!�x��i�iw7J�$��;>5�җ��M�B�(�nfj�~�2`�)co�%
T6X���#�QN
�g�O	Jh@��s`���$�dD��:=.���#��s�?Y��HVe�h�c�cq썣�m���j{�Ѻa�؃��+?�m)#�Xg��=U�M�v&\.�f���,\cw�{���"u��3�Κ|b|������\6�&�8W����Fƻjc��F���佑�/i�^�&Ə���>����;P1[����۷P ��k��L��I�x�=�E�4��I�׶.-�hwB"��/?o��}"���m�-���P]?C����V��n<��%q�u?u���`<��OY�|�"�І[����h`C
�*i��,��j�>�9�J� '����B��Q�}�����J4�@)%�ty~|���1}�����(.t/�㛴^a-8�(�DV����#J�(L��u����6#��;]]^H�\j4m�W��Ӌ�t�8��*R*
Es�.Q�5!��z>uTf�Y_���=z{Z�*:$)$���Yq��@�{~r�MO������6p�[||���{�4����8ћluS�o���/}�G
d8%�T�;/H����5��$ǔ�
�Q<_~0�9E��4T}T�qR�#�sI_�m,
h+4GN�����MU��ol��v�
�U�i���$�2��X�i����F�]�.���)>f�>��h}͜�h��'�l/�E��SrܷQq��:��̱H��ɜ��"�/��Oq�`�Y��^���҆�����P�9I=Js�#��Wq�{*���d���F�\�`��9��κ�[����K�w��~�6:1����Cm?��٥���o��of�18��F���b�lm1џX0q��8�ȸ����0B/!�a�Y>�<l�ȎX�Q�q�B�ʂ\(�c��׷yͼ����=��壾ί�U����]�����Y���֧ٛ������HOQ�W+ju���Z�?i+{(^~���~���kX��g��)_k�-�8dyɜ�ͦ�b�&�8����ެ0�ɰ;�Qm))+l�r�bI���&"���5	@E$�_��J�n��!
�`[�wD�A��3�b�&��(Տ5̓��|����.��L�
��a�1��緥2�U�?�s#��7ưQ�7�x?�$l��O�d�[��SU�ΐ.�PB���_����E#��@����X�!��B�S���6cS�{C
؝Z!�����(ɸ�	V��
Ƨ�DB����c�*��?�;YC|��M3fI����[a�R��D#>+

�?e�6݂��K��l�w�ޕ�r�9^pFP-�L^%P�Y̰G'��*�4��HI,+��45/���u�Zyr���<�4DF��\�=��S�^P�*�_�L�o��Ah.���������/�I�L��ͺ�.��U�'阦���B��7Xv�	�Yz��fsqˀ_W�]�e�Y��� ���G��UEX�*�ӫ��O��ԪA�:��ƬG�Uv�*�q��)�fHH(H]�&[�,"v	X��)�a���$�*�Č��)�E3\��{Bi�v�
F��\�~A�i�(��?�@��r�9�]7՟ѕ��A:�V���n)�:ǖ!�Z�������:����I|�9���VRIOI�� 軯��;��7��{���}�������/�^�����1��S�~�����o%kC�ٟv�Z������l܈&G��PDu{	~���f�h�cC@����Oz�Ql�,ܠv!�2������N�
�g�t��x�M��xSx+�t���>��������2m����*7��H���z��g���_�?�?%��Y��Yd�͊�)�G<_>
r�Y Cx�m�h���Nς_o�eA0�b����
J�pE��
'k
��
�8-�Py���*A�gG�&���?���/�����}C+��%�@����o�蛙/2�ΪrI��.z���gi/�`[�11���e��,��6�F�%]���%FÔ]Y��L8?�<@\|m�a���*#��ε��h��i�.h�T(� ���ϞOR�98��xr�+"��N�\��f&�~�pN��E�
�wϽYdޓ8�9�Z�+���Ejک`�)�r��s�l�QV��d�K��i�W}����m�~-���8��q��̪�$��8�A��g�9��#R���w�2�{�ß���pL�n�����Q�mH^ѽ�Ls��au'�g��ι�my����u����6����-�{���H���$�'r��e/�j��ֹn�ULm���\\ؓ�2$��E$�c��zqY ��&_|Z.�x6�q�_��hJ��H��8�c4�88�����I �����8Q���a�<ӑ�N��6�A,r���D	�G�1�	p��fY)!_=�\�rOy�
X}pOM^��=@������|s~�E^X$�l!�(�_�Pz���<D@H�.(J��L��e�L��%> ��K
�_�Ufi^^�ͳ;ew�=qt�� ��V^y$�\xZ͞�W��n������K_��?Ro����>/DX"d�sZ��7i�Q�^X��8�IcC���*��#R� 6�au���;a�V�s����$�.&Y��,��,�g�c���\?��p��-2I�Ӽ�������'��H�Y�m��Cu�S���G�Dyg�Ԑ�Z�UN^|cX�����&rͦ�����&�cZq�%�;&�53��$g_�ׂkA��#V%�	i�m.�����%�p �].�Z)�OAެ3Z20([׫^�Z��A�Da�2�"XR��z
�N<F��{�C��ƫ|�����R��k�NnY���Иt��!&C���wr1����@�?5�4=�i�U�wΞ�Lɼ>���Fa��fi�&(O�
�&yG������dӴ9�f����=������M���\���l�>�;X��|�v;<Ҳߙ�m���S���-�m��᱑<e�¯4;m��
Ϧ=O��#	W[
/���uC��4P�ұZ��Z�UEZ􁙼C�C�.��>|x�=�ǽ0G1H�^n&ɏ�_>�M��/?�Oʮ��q����C�	��)�:��X��uז�Qj6�{�uC�R��I/I�� �l�c3&�M���N��~�H������d����X.o�"��X$oJ�}�e��<�'�� �R���,�&�4>%3��0&7�~����_/p�Zv���%I�]�*�Q;��T[�NAJW��<9��P�Q`1+��*��U'z��h����/�kU����ξ^��$�y�뾚Om=�a�1_W!����I����j�A��6�p7�eܴFo֕�@�q���_��']k+}ʩt���3���4g̃w�����fn7`���-��\�ð���E y�n��Z�i>j��#�3��f‚����놼2�$4�V�lj1јD�F	d�(&kz?����~��L�������:dGz�� bدw'}�;ߨq�������G���Ng�O&!�)a�
R�P|���@xC���?Ս��p�W*�Ldc�$�|}m��W�ag���ϼ �N���A�ټ&qq4����>c��J��?��x�K��x���~�`uy	3�'p��euO(�κ��.ۅ�����s�~�\o�Usze�ڔ$�'�_Y`-žZ��̈E�^�G�oa6A�t���P�D�b\K��6�Rb��,��b�BB����tK!�᠐{���$���?�qx�
F�qݗ��sc�3׃�c�;�����>��7�`8�U�����W�O\�j��ʞDz�x���k8�nj]x���4��|�l����r0������M����'�Մw���h��}�����no�'A�-2�g��{�
b����1�Ah�Qp� {̎d�nb�� ?g���#�^K��H�4��0<P��o_C��I/�F�.p��jj�k��h���C&N� \�d��>DG�g����<�7|'p�ʘ���l�� !D�isf�̑~ 	�J�b�{^)c�|"qO��l�/�4�A�*P�d���_,�(�,6�U
����u �N��!�{��8h��0[��
��4j�
`\s�y�np����t#�LSF�|B�K 5�:����|�}"��bxB�^��&~p�����j���
أN&��R�n�4�o�V"�&�����"�.�jt����Z-|�+I�E�n��~H��H����%�c�g��}��
��6 ;��ٓM��&�|
?��DaGJ�m��r���I�$h�ڷ�̳����V�•��\b��|OF�ͭMcV�Jk���*�%�|�Y��v'�iG	��)��}�%�vH�p�*:���Ύ�t
�-�ZVtY�c����D����R^Y�et�yyK�� ���w��`>&?��^�o������k��H���ɑ�[�cEŪ��:1�����\�=Bv{�X�tě!	��^d?�����/����k;y	�Z2__�!�j�~��J�Z��
�x��W§��A�IO+�;�$e)ƉG�3��!� c�d5�$iJ�t��
�d�h
�W�"��S��\��%; 1?lD���_�NޙN�B"M��)���uz�;���e�s=�K���k�5���7`��TgzZ�1���~d �)P���'�g����0��l�KR�(ys�56n�japʆ��CDyZHPh�YzE~͹���qN���^�cq2rBzf�c{]�`�[�?l�f�^�0��\��y#�w��;��UR�T�H3p�7B���R-��M����%w�7�c�@M~21�yOoD��~���Hy~>�-P�h?��–:{��p���^qA�6��)j��2T�`s�K�o��Q�շ"L��*����|���@9¤���	[`"��'h=�) �� ��E5�OI���&�����27�K9�ŹM
�Ҝp�@"��k����0�Jv��qZ��+��;�7f9���/�F>�ֵ��i'���o�KNRR

�_�?c��t1��f�l)�{U���P06uv�"!Tl���?�	���C ��7e[�M). �Lہ���|U�33'� <�d��5w0��/��V2��t��}���/Qsd��)�e���6]5�@%�yY����}��_�Ir�-�_[���7i���SdY��Tu	�N�t�ل��7k��NwU5��u5��r�9��E��JO*�K^����������Ȭ�k�ܛ�ً�..�j=����L��f�{zU�g"0�b#�hǰ�Y�޹Ueװ_P�z��e*��rr�I5���f8�H%2�@,B�=�n���Lw�zZ4�$���Vu~��/U�z�aV�GZ�t�n��l��L�B�֔��Bm�_>�L��%�R�*�r����jٜŸG2s�N�ߘF�xO:�"D���0���Sr�|ʒsSڬ\l%�|@�_���sS!�Q{o&�u��w4x��֔�rOmVuT4zT<��|&�y)��T�
�gS
i�x���-i���J�>]��r{軎���ǶI4���I.���{�)�я���#*���\]@|��/�aڵ��K���v,Y"���IKϘx��Y\�嶩�A�t)0��ZS)���jj�𗂧z�6nص�
D���KA�^!��R���Xy�i��j!�0�1r�X��[+�Q�Gu?fc�'1�َ*�k�n�d5�N��k;����@a��9�U��(�Ƒ��`�DW04���n�}�Z��<�����n'>��:�an���m^�)�Ve���9饨f�;�7�w'����y�E��r,[�C(ȩNCÛ��燠����Q̟-͛h=Y�YnoyQ#18�V������v���G�
7B����^�k�I�o��6��/;���WZ�e�HN��̥�ϔ��qK�/ǡ
�w�����mw�Yf�o����ߦ�TޑLٳ��{��N]O��Z�E"��cFA@B�k<`QL��pa�
n'�)A
�:`rࠛA�� 
�h35Z��YK˾l�<X�<]ݴ��Ѫ��y�ƑƆ)@���粠X��x|��U*{�6az�['͈�7����	a�B:=��17����)��[���3�o�}��g碵��F�g�q��}�r�.,�FYn�_����֜q�Z��/\|7�U��ޝ|��#�T�x�9fh�@~��a�Eӑ�F��;#`��ie
��r>��M�8��U�I�s�c#_\��}�_��~eD.�GbB����4�  ]��KoӋi�/Wb�Z�v;�J�(�B��^�
3�k䗜7�`1�6��.�w+xb�)�+�^`,p뻔f7O�1[�8Q����.����o�<3_:h��Q�E>�/.���x��e�h��{Ď[f��6�t�2��P\|���k��tf&��i���Y`S����~Z�E��3�U+Y���j���?�G>��-R���@�d�)Fq�G�
H��Q�(�����ATo�l�^�2ﻼ@��o���U��+�axw�8qg9:��b�q��抇�������@�M�]�a��<7��������Uqʾ~u����К�i�'���v�7a���փ�!�A��a�pw(��x��u��Y���H������h�
�"��af��Z��z�kMuJ��Z��S��W�Z�=`�ζV��Iǔ�t���ѓ���I3���/�pp<4k'�qj�;�'�O�?�����m�
�Q��;��.������
PR�+x�2�==>I
��Dž��J�<��x����1���{6!$���s�s�Tp�v�߼C�J�����ϝ�g@��v'�Z������rq�k�`�C�[��*����i��ΤmqF�"�{�Wġ.���a݅��w��s&3'>��J��,����-ع,8Đ3Jy;��RbI�sܪg�?�q�dSaX
�i$U|nIŠUK�JirU�jR!z��v�M�>rz;љ�D��!-��C_?����?4�h�f'�ſ��b�w���Z,^���N��Ƃ>Y6�&d�h7!4g#��X|d�2�4�Ql��'�Y��L�z��{���� p�@z��
���f��]�<[�E��=�i�EJj�F`�s|UC�q�
A�%��
�;����I��J��
^Jk�۰G�f|�&��H����	
`A�	8�dE���`�x�T�k�We����%�Z?؊k�dr�nV�N�;+�7��~qA>6a_��R�m�|�Uq�
��.����Iҿ�>���z�^�0T�»��7�S�nP�nk�j�x-�hO�I��8�钤j�k��nQ}g��΂�osܤ���f�e�شwxg�2�3U�wh\�����x6�%�56w���
?�W�����k���?T���i��B�:�ҫޏu�4�VXţ&�`+<c�)�~�V+W��#���n�2��#�q=p�gx���r�N��+���Q�/+xrvƜ,*��/�y�pDW�ː�j��
��,h���n�+p�G��vO�;=�n���>�٪�v���H`�ׂ���8�}g�V�G3���5"�ؘV5Z1cj������>��ش���:�;���cZ��{��o8��F�&��rcZpپ���� �9��T޾��{rҲUhS@[ʏ(L'�4K+oR��ٮJN,�y�������-j���W7�
IU��Ѕ���g�wtB�I���\mE9=�.~�&�3�puS֙*1
��{�P��ԅP�kZ�64��h � �ԗ��SEP���ɜ������c
�����f���o��0m��p�uX�F�d
�K� .�ꎡ*G<�>S9AU��
.��z��ǎ�\ּ�HV�m�	b3�Q�׃(F	�
��c01V>�i/6�L�(7���[;��&�g7�ˀ����04��e��f�v�1(Դ�V�1���Fi������6�����7��-ER����ы�3&'���6�G�u=v��K�����9�Ψ��V�Ì�|�Ԭx��`m.�����y9��i@-�W#Ո~BBzg�L��)�s�VB>��ð��M!��]�u�7�┠�_�:��c0@�iE�t
����Zd��^�\����RO/�X
�I$H��T���*>/����	��@+X|d�Ȑ=��eϏc
�[��R�⹬
ٽ�����p�^ff���~A��l F�̀o�ټ��_�~���dp|��~���w�S$�O��g��Y���ʟ=бJ[��['�F�q{8J�b�`�����O!�)�n�8���2ߘy���{�YL]Σ;m���-c2HL��/.Y��:����?����*�ɫB�VQ�A��1�m2���L��/�8���Eo�ڮr"��qq#ܱ�L̙Ez���K���[�/b6�9�~W��BN;�dIX#�"a�����2�"I�D�kw������:���Ç�m@�1P8w����C<e);��'�S��JI�U��Jh@m�[��T��:3���I��-RV��i
�����.h�g^�#�М[����,�P�X�%�C�1���I�4�9�b���33=/r@�U?ْ�K�����w��vG$ዞ�Í��3�yS+�w�4�k�s��,X�zn~�x��JWa�Dz�5h���:��
��{����#oI%��#����`S/
��M���Ͱ;���~��d����|ތ�u�L�TD�~uk:��\�l�Y�[G�LU�x05�!�e��(�G�gxi��t&��k��?Jk�ѿ2�����]�O���~���e�ج?bj��b�to������*��3E*"��tV�)���t�OY�|�Zߕ���ŌJ�@���̡r��)z�gX�L���kR�D�ZT�m� ��$ϙq�1H�<��2?ǂ�H�@�
U�u��4xn�Y���e��uCJ�D6�4f/_��e%�ќ&�2Վ�&�%�d�M'<{���(�n������$�h+��bY�
�)F�r�Fm1�+#�����Ɉu���ȴ}]Bn�< ;���;@�%Q�Ȥ
���u����R.�������W	�+�C��A'$^�2p���E�>�Pic �O��M��h6��;��G��ya�z��DVYG7)���bƌ����NX�S,�X+-	����x�3�]�������/�/��é��e`�ِ4m�V��D��H�J��?��ҷ��*\�ȁ�
���I��k����6��2���u}8c���5�c�x�|��(yx3s��*
�nc�K���[G���A+%ʫ:�~uT$/����<��㶅@��u�
���	�Y�O�'Q�Q�6P�qw���o�����>��	l����m>���a�<���!|1}VߔwAP�T��^I�\.^iL&�5��9��$���7Jf
=�+�4�aC��p6#D�e	�o�D
�!^̳u��"Bd2�J��ke�k�o�
�?`��%�7�X ;'���e�2#��kJ�xF4��F�'s�
�]4�-���A���*r�qb��1q:�Kl�._$�bjs�iȘ��6��</����#b(�f�_���piA�s��0�V9s�"�p�fNpQ�h���
y�'
�8!���碯N�H�ʧxR�w��(�31m�v&"L���H$�X�Y�?P�$��"A�|�y,5����>������OsiG���
)��Gu��o�N�KK��)!�b�rI�����"�0��4�3�}�۰�?�,����ό���ڻ�-��pLc�_Wds����Q��*������b���HS�% ���f�_K�h'��� 3��u{R�Z�p���g���yQYs/�-��h�)}��ԫ��0t�|�7 �,"�$Tz��	��1H��^�t����Ġ���U�7_����K+h�+�2Hai��P�,�mj���Է��X]f�ҴQ;2��+�u��+4r���0Q������PӐ/����4"�����fE����u�N�e����Og�g,I���U	�_�h_/�>��<��g����7�:<:�y>s:tt&�tVPl��}n;�ͭ�����?�ؚ!;���M�m��9�zZ�S'���J�Gӕ���dUή
�I�/��s�˺����]�f��@�Rzo
�����
�8���+�*D��BT�`�ų=�ŀC�X1��:{��|�=Ov��wv�'0�ެN�]x
:__� 7/��Q����a\�[UJo�5�gb�H�+��s�	�{��u�dV�L��ة��s�bQ�n�H��P)"{���$��_λb��\�#�Գ󘢬N�K�|V�V�-Sm�"�I쨼\A�)�8c�s_Z��̈́.	���R�\��A�CY(�ޑ�g-�`��}�R�;�0�o7(P}��<��l�*m	�Jׇ�h��z��م����t�dzOd�z;�CA�uf�	�LoD��y�M�/���~�a��佾��a�^�ر�d�Uf��G���o�v��rS�W�dV]#�3,�셁�c��G�k��~D�5̬@�tmB�>���鏖@����߾z���E^���o�^�O?��S�$����8#���+�Wc�mj�N�i��g�Q$j&��k9r_�c��_�FdLXt�	z)Q��.g	���U�H�J֗53�G���hN��WphB*��פҩ҂�*#�U��:"��1���E۩oH��؏�;+3�Q>���< �h��d��"'���
����i[�r�/k-Ҟ��͙F#ϫ{�J�j(N8w>�m�ߔw�+�<֬a�@�#�����ؓR����ApU��V�"J��x��Sӈ0Ы�:�]�#d���[;�*�~�g'
~��,��d�w��l��� ���TO]��P�vN�����$ �Xӣ�re	�dZ�k�U�O;/-�,[���U��"w<����D�e�c���	��o~��v�e����du].��z�M�6[&�{�u��v#}R����m:�4=��8�ڱ�^�^C����ӱ��9"��#ْ��Zï| 4�I�	@�Y�so����ū/���w�?oT��Ml%�M��wOH���Ex�B,����W�6�r���}k��X9�'���,N�D��(&��k3W~.+?����T62t]z�Y��ӘWѰ�v
K����K_��ݓ=��f��F��Y;�}�v�S��ӃR!}�N^yuV�h��\`'p�}e�q-��`����1ո!��Z�\D���Y�?r;T,Or��tK��:l�O�*sҽ�N��{3�ɇ���Xe�"2s
�ș(F^����6՟B`_�g�z�\���;69E����0�L�2]V�o�e[��@z�kVo����*Y���'Sp���'Lf��!�f7��+�1dfk1;���Zu�x�2'NG6��:u��D%{���z�k`e,�bj�vuC�}o�bM��j�
_�SzA?����*�
�0�Xc�zʡ�k%]G���������1eO�)h���t�,.	07O��pqʲ�e���m�]�%L�-T����V��f��Xkܥ�S�]�����-��=Lz+�;Q����\w��'�]7ʮ�_�XO-�v߸�%�0����a?Hq�Q��yT��j��s�]�}�� _��,�(˟��Q���O������,]`�K�w�}�ܤ��=���\H�
�zT�
,���Q%�q;�_���Wv��Ƞ%9��_��i�U6��H�,y_w�;��;=�M�d��%)�W�L��N��|-�o��|�FDƢ�����ڹ����"�KS�-�f�Z�ϟ=����v������\<[�[�f��)�X?C>���S��5n��j��e�;'���Dy:�ɚR<��z��yj€��8*VL!��W&nɔ��@��&��#`c��%�Bދs�h�E��$ub��ipF�M�u�M�W��E��͡׻]Ul���6����,c�19/���;��$�)�[�s蓙�LˊYl���i���F)��y߽��܆���lƺt�%�9�贬��L�:W��9|c w<�+�ԓ�坾��M����!.aU=gLŊ���%��ό�b9��"��Z��4���291�P�w&e��S/~ӹmy���m���c7��%/�ٻ�iM�X�H(�a�5��wˬp��!-񜅹#$S�����4���	�	�B�[F���\;]˸� W �Z�
�iҔ�~滗���2�R��׉���z�l�$�/J���[��~L}�YtJ��@�;Q��$p���+��:?�S
���R��;� %����٬R�On�ٜ"e��i���h�����.��z��(2a���Ƨ��D���%A�"�<��7�d�*�g�˴�.�P��)�\�J�C�r�iF�èudU�H���1���:���l���$��Ӏ�{J�3�ĸ(h�	��q�X���0�#�����a���䗡�6����D�"��c�7uE���ȑ[+�%xY�ݪ�g��Tr^jBm%G�O�4�*����4m���V�ҩ�_���[a�6�

��)I�ß�#|�Uʱ�ej�1����O�O�
�T�f���z��r�����o^��3����b�9�kM�>6��-/ܔ��gW�-,r�#��ּ
czWhX��|{v���٫�o^����w������*{�};�y�^�P�m%Cn�V����Ar�]��A=���Ջtǫ��g������7:��,�*�Kg�X�mG�ք�x��*�f���5�ź��bU�PcXڭ�G�p0��&�5���1�:�SX}<��|v:��*�N�Sk6�l�z[��ٳr�֪�����jk<O��I���I�TM>���2��*sh��wtA����~�)�x-��>��F]
Y���y>�GQ��ߢL]G��0j�QKϛ���2W0�H;ؕ[�
{�^%̿�W7a��@-sq�ּ��в��1[+�zH��,���u�>��fnv�Mɒr^sq
�᰹�6�E��f�t����3wW�,s��,�,ć\Nx��������6`��])É��s��!);:B��aj�$6
�cp��^v�:ON��4%vvܼ�@����ۛ�I+{���At�^i�t	Ts��@��A�f�ƈb3&d���u���B�6��g`!Y���
(��
�MP2�jrmo��>�;J�I�%�u�z9o7�]��JG��K�W�iA�@s�g��+��bi�×�o��Hq�Ք\a�å�#���O�=�r�U�d�8�X��#R~���'"8�`�ʸ�D(d�3�gZ���iA��	4�UM�74�!�W\��9Hk���%Ȝ钀�1�Ì�9�۸���j�
��oYN@�{R�J&��|�s�>�O;5���{��(�j���;���ʲG��Cg�_ y�������#&�6�5(5vs�|x���BR�ڄQ��أ*b��Yv>� jf��Sl&w�z��I������mυ�<a�s�g�
�VH���ԔcGΫ�
���Y����2�F.=�JR��m1��d!�uLq,�zF��5�����JRʩ%�0�4����
Z��?8)�LJ#�u�z��V�Z57m��dhj��Yc�ez`uj@8g��NND"A�����W���;�)�u��Z���z�9�WX�W�B���ʪ`�'��98a�kV�\B&	���{��
�!�ұ3�R^�?��/������E�w��7
�H'j����Ȗ"m^��v���т���Y��k#�Z�F���r�Mg��A�ś��6���ⱏ�!O�uy�H�����>��\��Γw�_��p��,���k��դIn�1������œ��q�H��۩���1S��T�QãiB6Ңtt`<�j��J�>���ܨ4e��@��y^�Gz����(��W�]��m17�X���d����<"�Q~�s\�eԙqC�*t{���"��f�,��dNs��Ȩ����f�j�^�oٽ�Ÿ1�V�ƺ�m��ѶB�ș��a�"6�L㪂�����z1l���W���q��ے��V���r����8�~�dg�d�'�k�F�v�B����*�m�
����݂,��%�
o�j�gweIA�j�m[���ʇ #�2ƚΤ���B�H58�%�娪�U)��ۿ�A{�����Vw��Wt�;?Q�@A'�L��zsw�u�!A1c_Z�Q"��_r4]>�����l�m��b��H�rѢ�얼�\�{9�����G���Y@7m�{ar��י��74�����l��y���+Z�I��T���$~��'p_��{n~�]��q��Fsˇ�_g*��v2�V�s����ʍ��Y/�6[ӱi!f2K�f����<��?����$3X�r���6��i�u]N󔉧$�#dl3�rR�A��Z�,{��rRꔆ��r=1�$3cro�S����G'L�K�$m�_x�)c_y�\��ǎ
FEjb��ds��ц%��e�XW�'p}�N�n�`�`;�m��z	ft����{[z~�:�BD�?�3��E�3�xt�ғ^��.�����F�)�����&7f��=�Q�i}�z���Id�?r�Y����X��?�f?e�|I�S.V��&5n�o�-�M�o�,(�����2��(_+C�ڲaK	�#�4��,�n�.wGCOxnl˕,	V�9�\�$�`��"���J��l&.]!Un\-��1I�W�h�kl�HD�g*@y�H\�@�$�#/�G#�C\��c�ܼ�r�
�n���X��kxb$���T'{�G�zZ`�-����V~��Y�gm�J�D�;�
j%F�ȮSa�f�n��ģ8-�$� �li�.��}�����*��h�C_!I�53��g�?aY��}�3PSPa���#ua�~���+��W	��sbU�v�H��q�4��_�H�6��Vʒ����.&����k�n����܊Z���Ob�u&��?���81�{2�� ���`-������.����搈�6�4c4�e�n�V_��_�����*�(J$auS�:Km �b��<��!����6&����=$_�@`m���6(悙
|ߚ��(mth��ϸ�j(�(M38�zb��/pٝ��'+\�|�bfTc;%�Be�MM��4�lHbj���qB�����rt�f�8~?L�@��8��p�JAi�ϒExBK������?�݂��>���E�*�y�F�����*td�Ń��KF'LY9��s���9��N�	]�|���]���A0�CoZ#D�f�-�	3K
CV�����e�[{&8V�x��Y[�-$ōSG[P������#֚�#���]��J~C�� Czk���U5���6���ģl�SZҞiS����b����X� %�E��"��d"�.��gs�/��c�R�qb��ӷg/_$�_�|��{�����0A�,�B�.޽~����?5/��ջ��Ԕ��N_��h㜝嫏���]_&1��1��
h.�֭���A��n
���:AG�N����4�S�@�j�':Eݼ9V�hD�j��~mL����aDz�;��~{�ŭb���ʍKs�}"&3�w
t�gZ��u��<8";ޜIU�� ч���_�PNl��08�'*���:��:wFe���݇Wg/�w]&�q^v��h?��x�,U����@�!�Z��ݕ�z�9+��< �p�0��ם٭'�
@C{A6���ýV'�}G���h���碡��L������șH:3��S3|�R`3-Y��REJ2�I��;�����O3o��͜�d&�i�
i�ɠ�ô��E���˩��<i�'����/���80IE٘���^}�w"-ȳ;_`ĥ����g���;(X�}�M'����-���2���!R'+�L�%��҇vl9O��fe�����;oK�d͆e[���z���2�Z˄tRrz<�-e�N^�pzv
ö.#�*.ɡK�ƛ��շ%�du�
�RY�e�%�����Q���3�,�܂���e���RT�#!����I�%J�A�-��Ks�|vBo��Z����m}����O��W�;��#�ԗy�g��	N�w��w�%"`��^�[T�A��G��񷂐N&�q̬35rxoYiMYH���(*��D�Ț����R��m@ֿ��jS�bt[��$@.�N~��K1�����)4lu�
m&���'�uZ^��j����g�����ur$�1P{�d������D����t��T�뗴껋~��.:R�x��.[��h%�o����Lv'��;v�\J$$/��æ�zt����>S�=/�3
3���=�(�܏K���(�m��S�O�����|����nR~����D�n��Ngh]�[��v閽����D`%
y֠�j���ҕ�A�7("�5��;9��K����rޟ�9988V�IL�"��\h� �<r�o
�I�GA�%6�5�1�(��$�#��)~ef�\&2�1��IC�˞�d1U6�
ʱ����Ň����:X����rِ;���L��KA���"���(:y]�9��fg�_�
���3!‘:o��t�]��uA�C=�'-�W`��%@� �	6j�f���,�z��l�4�G�s�^ �x֚��LJ���:����{�d�[������g��Ø���(�8P�� �*��\d�1����+�ջ�T�i��`=�'9ҹ�5�	��;��O �j:Ve�f-�5+7*� %��}��]Ǿ�n���r�<Ϩ�UW��NN׫R�5Grd
ؤr��?���.�,0B�W�` U'}�˴(�����"Bj�7���>β[u�S�`an9}�@���g��wN[Z��J��T���p�4%�D�_GQfWv�"��ә�e	���݁�O�8>�}���c�-�0�
����2o��ԝ��r�8CV-��XR@��w��C���O��H�~�ߥ�}��[��n��eQ.̟���z�ϋ4p���Ҍq��'>2Z�n��E��ZS��쎗?�m��\bX[�Q��}�3�V	�"�c��f2o�=�pFI5��=�g(��m�妿Pw�� x5^��g9��>.��E�&#�,1[�-�93�I��6(Q����lM�%F��)��3�B��� 5����G�.u�x�֎�I���_ÆB�9w�'�Y��Ti٪[��K���Rh:�;�✙;�nk�	���io�`�ݶ;�G��-R����X�p�zg4������D��^g~|uD���R9*���:"9M�Y#����5��8�(�
��__�iޖ�{�N�"tP�ã��ߎv�^?�5��{����������;j�������i�m����N��'�����~����~��'��}?9j�������v��?��qow��8;��yrg����Gs��}�p��ǣ����w{~<�xPE$��ד��'�}��6rH[G�vŃ���~�߯2Q>�w��?�WGa���Z*��d���PK�}�[�"�����litespeed-cache-es_ES.moUT	��Ri��Riux����̽�\U?>	A�)/�@"�	U!R�l6ɆM�d7��;ow�����$٠�"����J�;қҔ&�H��?�|�-��l�����|��y��w�}��{����ύ�I��;g�\n=*[&�rG���m����7�$���\���R�7��Sy��_F�T�H����3��}��OR����rM*����[S�I*�M�W��M��?-��v~������z*�Tޮ��4���O��T�G� ��R9�����	*w�r�}r��ۧ���/� ���܇ʐ�Ǩܞʶ�r*��@*�E�b��4\��qT��}���C��r5*��}�ʭx����P�#���r�1�e*gRy����:<J姩|�ʯ�B��}���R�	��h���S�x�D����v��r<�+���QI����ө�q ��1ޟR�ǁ����?���woC�T~��.���P��T��wS� ����Ty0��/c��>��:������r��܅ʽ�<��N����Cs�*���:�˩�E�K���m��>A�L*���r��a��0?��y��0��o��T���J�\*���� *�*۩����n*����1_��~�>��X�n*�L�^G����ܒ�S��z�N������TnD�kTv3|�y/i��H|�G��:�qɑ��;����>��(|�Ga<�G�{w���QX�W��+����|�h��n�`|����=�}�1h��c�g���{���?���1�����7<�鱨�ӱ��]���X쏊^s,��c�/��p��h�w���;��±��7��'�C����&���Z�����a]��rc^�㰾7��q��/���v<���Wiy?��|�x�kp�o��|��};SI ��O�8�:�=�Ǵ�Q���c�c|߿~�u|��/Q9�D�ׯ���扸���h����'^~�����O�<��c����4-?�|���?�{wS9��7��O"�D�'aGQ�)��Ih瑓��'a<_>��X��'c���1G��u��޿�d��'c=�=�S�/�v
��N|I��N|�y
���S�W��M-ۨ\���T����g�S�9���T���b�P��ͩ��ک��b�N;���Sq.��T�ѷOþ]x�=����;
����\n*�8�ޠ�_O�>|:���1�/��u�p�g����|����Eg`�;�u�د�8������w�����ש�J�W��|��ù�3�O^=߽�Y��7x~�B����u9�,����¼��,|�r���Y��/���[����>�g���?>�x�ـ���_�[�y�����a��R��C�Ǘ�<��|�.砝~����GT���u��s0�����z������|�?�\�u�Ÿ�<�aƹ��9��v;�V;�z.���s���b<���\�s������|C��\����8��<����:�{�y��y�����:���yh7�3|��?���/�?�R��������H�T��s�瘯�?^�	�?�s���o��	�0ܟ<�������c��?�~�|��=_���ߢr*o���B��T-�.^=�B�s煘�5/B]��i��~�"�'���^��N�Hϣ��n���0��P�F娋1����_���b���8go��p�ŀ�ۨ�nT.���X�/^����g�%��]�<��ϭ�`\���%�{����\��⥀�	��{v�r�K��k�.��Y��/K�<���o��y��T���\�~�e���;�����_��߹����r��嘧��������y����/�z�r9���������v���_8�+��~��]�+�}�
��[�¼mx���
��+��"�����@��\<��X�/^�q�\�x%��z%ι�W��}%��+ww]��x�J���]��
��9��U��C���@�>'�B{k�t�T�����k^
:c���%W����ܯ����իA�<���_x
��k�g^�y�����k0�ۯ�z>w
�s�kAw�Z�O�Z���z��k��
ע��b=�����7�:������u��G_�u;]�]v����a������u���\���z����-����^��
hw�p=M���w��.G܀�t�s�
����x�����ހ�|�7��q�>��o���r�_��<m��Y��no�
�~��s#�}�0\߈�/}��&�ɟn�\�f���7>~z3蒧��O�v����[�	��-�=��w�-h�	*�5�m���=�,���_N��*�0<�|��T~�����1?���䏀����������y��8�A�|�	��{�	���?����P��??��g����g���ƾ^��?�3έ3���~����}��_'�Ͽq+�;�V��[��*ob~���S9���Z�uƽ�m��oQy��6�˛���n��y;�w;�%;�ow;�`���oG��S����혿	w�~t�m��c��}������@o�x}'�?Ie�w�܉�>�N�_�	�x����W�D�o݉q����]X��w�oڛu�>Ż0wS�J�T���n���wc\��_��8�v7��ٻ��{wc�׼����~�=�-w���=xX������K�ރy�W�?s��w�9�x�x�b���i�b���8�_��4�>�ۗ��l��߾��t֯r��O��8~}�?ߧx�~�ShX˛�d��Og?<t���}��>3���?�o�/�M�ȿa���7��u��߁G��;��;�W�w�s�����G�G�<�����1_[<��vz�JN~�:�A���1/��9�!��a������� '��C�gӇ�o��x��0�W�a����0���~��Z�`]��3E�9�~z���y����|�<|��G��gk�����G�m���>�|��1���̣*G�r�G1oSE��=�u��Q|���b�N{��(���Z��G�b</>��G��ѧ�����������@��9��ݍ���b=���҅�ĸ�'��ĺ]�O쟻�{�D��?����a��?�:��n�cx�wZ�����8��^��q|�^Z.}x��q>��q��돃�����
�������vz�<�	�?�	|�Z��O�~�έ����$��'!�8�I��z߹�S���S���'g?x:�)��Oa�7�'�B�O?��|�)�߻Oa�>�/�;�/�^_�/���?�q�z߹��s�O�N9�i�w���<���������k�A��<��z�����:l�,�c��؇s�E{<��?89�Y��)Ϣ����-Z�g���0�u��m�>���)�)�<�yy�9�՟����ط_yp����g���?�q���W�<�y�{������z����=�����O��˾�����w��/O���z�������|�<�E�{�Q��];Q9���E��W�����KX��^¸�|	��/�k^���%|��/-���ː���e���^_U�r/�T��W@��o�#w��􆯢���<8�U��Wq��U���b�}��W�7=�*�ͺ����z
��װOn{
r�^�t������0�x���_���
�W�ky���<����<Oyr�����D�|�xǛ��G��T���&���¼���m���{,��r{��z��\��6�|ݷ��������<\�6��&����_O�
�yQ￯�|���ZN~G�w��N��w�n��m��['��y��;X�'ށ��w�=;��}�˻�'?x��o���~��{���{��}ރ~��0�/������l�>�}�O�����c���G��{�|_��}����ΟztӘ��?@{'|����n������>�!�`ˇ�/v}8|�C�/�F�N�s���dG	|~c�(�	��}{(��oϥ����ǎ%�hԟB%��N*�������0*y��Q��z*_P�p�$����R�xh��F�y�����_
��WC{�T2|,����H*�K�y��cF�����2�[}Tn�*y>.��������}����3?��������d�?�J�'�|����~�|j�Q�?���k��סּ��o
|�	T�y�L��\��50_������1��>��yT2}<�q|�
�x�*Ob�Qwњhwњh�*�/�������Y�ɵF�>��i�ZX���}����\B%��7����]p��O`��R�z��Q���w�M%�Q�%�v�O���T2�i�$�s��7Q��T��`�O�;�������Z{����GR�r���Ƽ��4Ƴާ��pz���~�i��}�F{/Q��۟%���Jޗ?��嘷S�r�I��{gQ)�Ϣ�[>�������T2~��簟ک\�t�,��=��W�����uP�P*��8v���T2~~�J��n��(�?8l]��⺘�5>��Z��Ǹ��v��ϳ~*_,�<��y����8o�ߤ��/c�0J�=ߥr/�|Ύ�"֧H%��˩d|�Η��:�d<u���>�S�t�z|y��m�R��ڡT�|�2*�z_�O�
��
�i*Y�}!�|޼J%�[}u���P����_�~�v=�ˬ��v_�$T2]{�z��w���X���w\��>���x�d}����c�~�>���1�7�<���O^_�~n��d:e�
��I`=.��k6@��m�}w�Lg?���z����77�<�!�;bC�	T���*Yα~8>�J�>�<h�u>`,��y*���8����OR��Ԅ���-e��װko�}�E%��n���k�q��ߌ�=D%ˏ�|ݽ�(�dž7�yc���7�:����m�$�;�J>ߎ�0J��;'�GO�7�8(N~�z"��g��ځJ���p�u�7�����M�^l
���M�߇�b�6o��Oo�����z��u�$��A���/&a<�<��w�W�<��<�c2��T�����h�f��Ͱϖo��g3�Ӹ́��x�j*�D*Y�u��r'�~uK�7m����Zo+�E[��[F��=��w�7�]Z�M���ob?�M��۠����8�n��u0�L�>�
�c�课-�{��h��mq���8�~
����:i
�}l
��/|�|�o?.���d��/o��;|;���v�_������T2�*Ob���Y*Y�������~xd�o��_}p>��a+�YL�����{��}�
�w�@��׆q<����4�Ž�aWOþ}x�̔v�ہf�O�n�9��v�Wl��|vn;�֕�/���׎��am�v�G���gM*��}4�x�t��S��k�@?��|Ϧ�G�o�d>|��Q��|&��V�(��;:0ޞ�͞��t����gT2�����:�GF��y?a�8*���}�=��������݉�a�N���N|�&��w��ĺ-�D����Չ�wp6��ٸ>a6���1�7�|�Ce��l�c4��98_ߦ��㹘׷��]8�w�������.��u]�?��¹����ug�Õ;c������a�&��x[�a�����7���y��G�a�����yc���ݠg7��}��?[�/�F�K�1?'vc^���v�����z7�{z=�x���]�?��v>�������Ǻ<�;a>���x�����|�:��Z/��v��c�]@�Vw�y�.�7~�Q�wVv��+ڽ|W��-�b>���^�n8�O�
�xy7�ߘ����;X���`�*T^��w���;�ʫ��.��ֻ��K�;���q��C寙��ި\���{Xϡ��|��J惟�>���{�|�m��K�^~|��\���'�ү�ĸ>��tR<Vq�W!��!ƛ�źo֋��Ջu�׋���l/�@/�an��>�Dz���_[<�RP:������{���[+B������a=�@������|B�{�J��{E�/��~ٟJ"�rG���K�����u���T�|i� ���hg� ��o��A���A|߲A��A��5T�����g7k�Τ"����.b��*��R�yU,^��z�1���7��-.��:�\*YN���Q��X>�x}��(�+�\9g�p
�?�u/��]��_�{;ƣr�2=�;.�n��|ao৉{M��h���o��io��{~��y]Z�<���Ϭb�XU9@��*�j>���)�<���	�m��x�>����X��
5ܿ��������u�7����c��c��L%ۙ�\��\zl�E���b|����Y�A�\���[����\2*7�r	�{�m?�u9r��a�1�
�;��xqh)λC�b?�n)�}|)�}~��M�Q��>��>�������>X��:l��S���X�_i���v���o_���}�_���־�C��s?��p~��$*��al���s�c�����~O��}�X��1�������y��|޿�nr ��˕�����={�z��1�_<�x0ηm|�8�`����ۃ��=�y0���(��w�gs�?�����>�;�x�!�K�j�kA?��}��!��k
��p(���P��v-
�8���C1�9p���87�þ9�0�ɣ�a�L�΍hyя��~�����1�����p�W��/��c������w��_�x���‘�ﭏ�ww	>�r$�s����	�i���o&��ӎ¹V:
t��Gao?
����0�Ѩ�ݣQ�ȣq��h��h�
�A�%����cP�����=�Ÿ~t,��c1�{�]�ޱ�7[�u��q�g�a~�:p}�q��{����?�|������\?�x��x|ϫ�C~0���'`���ܟ�s*��u�1�����1��?F{�X�Z�s"�h��v'�{"���T���O|N�	�3�'����	趇��$�?9	t�UZ��$��#'a��9	��;�|�Qoד1����'c�|2�;�d|�'�;��^;�k�S�&��v����a�S /9���ר�����������g�S��S�?:��h��SA��T���z�i����0��NC�SN�w��4��}��<��O�zM?�d�Ӂ���u����/����&��q/>��o��~�L��zg>v8�1�L���g��gb�<�xəJ���u�Ù��O��}�����p�����Y��,�#��q�������,�󷟅�~�,��Zg���l��γ����.<�~��8�q6����j�.���9�P��;f��g�0�^���lo��2������s�w~�\����~.���B����0��σ<��?��e��0�y?ú-���?C{����A~��Ϡo�9�|���w��|�]���>��U���`����w�*�������/�<}�B���xo�_�����\<Յ��u/�9��E���.�wM��X���a�Ϲ���xAO�u1�|�/GK�u<���+����_������釿@��]��ۗ��)\�q^t	�k^�u?�R��q����._��w�/A�L��O��/�?׼�os�@�e��ˀ�ʗa���E�a������������U�u9�}�r�_/G?3/��Y��j������5��{�r�����_>���O�
�g�+�v��\���X�;���+0�]	���J��NW�J��'W�^>�J��T��
�fW)�}�Q�
x������]���_�M�5��	�ƹz'��2^�r�����|�k0{]�y��w�5�㋮�����q
�o�k�v���k�=_��|׵x��k���_�{�m��g]8��:���^��z�:���c�7���V��|-]��t��y���z=��z�
h���׎0�{݀~�0�o��^t�y�
���z������o@�|�F�������s#�~#����]�߈�F��m7�<q#���A_��	��j��M�羛0�o_�Û�W�	���p.�3�d��1��f��qTnL�㖛!�{���k�݂�[�7�t�W���9`9葧���:�x��A>����O�=��X��?��-���l�G�3?�#��{T����(�oy���K���_2�V�Sފ�=�V���b}��
��­��O��;��w�+�?������u��mX�m��y��m�y��ۀ�_�
�7w;�їn�͹��v�gݎu~��������3�q�աwb<'܉u��N�s���9�ϩ|���¸.���w����V��Qb?=����{������mp/��t/Ε�����{1�w��x�^�����߇�u���z���_����=z���_�~�5,������=���������`�?}�^���z����|�������߰_����)���߱���;�{��ho���ľ��A�����q�V�{W��?�}{�^?� ��=���Chg�C���z�h�!��>a]O||�Ea_>���c>�|�U{X�L���0��Kc��<<7�|�N������G0��A{7>��{���g�y1�Q��<��;�Q�W����7����������~�?�n�'���0�E���;�1����=�st����j�8α���<��q����o<������'?<��q��//=>�3O���ϡOb^~�$��KO.?����Oa=[��Oa]��z�� _=I�o�/�m��y�޿@_�/�W���>��Ӏ��O��)Oc���u�i=W��\�4��Ƨ�wP�v��>�u�i|�����gT��d�g��w{�~�{�����;��x��g�j{�gq=�Y���Y�{�<���g�N'���_�,��gq�,�ŗ��9>�9���ϡ^�9���ϡ��<��?xr�՟�x�����/��y���C���X�_�����'?|ps�:�/�~�"���_ľ\�"�����/�m�Ʊ�K�ܗ�O��}�k���2�{�˘�ޗG��q�2��U���^��2��+�k��i�+�/�
ο{^����o���{.�7���>ȿ
���*�i�Uǫj�D�(ƫ���k_�w�*���W�n��
=�W^p�k�7�|���X��u��u��_Ǹ�{��ױ��{��7`��70_z�71�қ�����:��M��o�\�Yˇ�|��&��o�oa�vx�򝷰��|{�[�w���~n|��[����5��a������x[�m|����o�6�Ώ�����y���1���|=�6���V|��a�;��-�A;��}<��{��u�;���Ÿ���r/-��E�'��u<�]���w1�[��|<�.�һX��%~o�Go�:v������9�}�߇������}8��I����n�b�.����S�K�;J���Q�Ŏ+�����T
??z��v*^���(S�p��J�o���,*y�@%�1���i5�?�J��?H%ө_��b*E�M%��'S��O�>Z��T*y?�A%��g?6Z���a��R��_��ss�5F�:�K%��T2�K*�A*�f:~
��-z��d��k��u��J�?���׷u��O��d8����P���}���y��'F��@%���O`�O`������O`^/��7~��"g��}M��>9�n*�\ވJ�c�I��*y���I��^*y�}�S��Φ���R*^~O%���]�]*����+�d��7��~���Өw4�|��i�{��/��4�*��X�3�ޑJ���q��`��R��9T2|���Ѳ?��dz����Σ?������}��ύ�q��?�ﻕJ���:��/\�ӽ�h��O^��ʺhw��c�'~��y���c�n��ϣ��_��|�Xߩ_�<�~�}��/��-�|��|�_@��|���~��|��E���_�?H�G��%�h�/�9��/c_-�2���T���/>�~e��;�d��W��?�U�g6�L'ֿ��;���G7P����}���.-롿��v_�B%�Kg����c=��"�|��Z㞱>��T2�=�J���>������[�����`�O��;*�;I�����ؗJ�c���w������s��Ʒ�L��0\��������c���s��J>�N�p�X��T�����_�J%�/�C�
�6ZΙ	_�:�I%�W��k�g�F(���tK*��;j#|��Ǐ�m�x�����G��ݍ��~�1��+T���s����}�&��6�<��	��g'`�T�92L%�;7RYf����"w>s"��_�w�:ډ�8?���T�|�.*��즣s���&��G�rS�c���-��_��nA���������'N���$�OG󶗖���;�h��<���<�����;N�:�&�����?Q��36�xh�����}���_P���-F���j*��]wKԛ�%��-�_�
��K%�o�S��{����ր�*��?~k�۷�:}�5ڙ�
��)�|���h�3��M෫����71O}�z�hg�mp^M%�O�p�F��/�m���b�{�|T��|��O�x�*�ξu[���b?���}9~
��NS0��`\������~�n�-�緩\M�=G���oa?�Q��oΞ��l��7����J��ݹ�iۏy�y�������W����w-t��;b���˷G�<��o�=�x�9*�>f����/Py,��6��Em�{j��r�`�i�!�p~=5
�a�v�*�H�܄��d��Ӂ�w�89v��3��?9s��#�����i&��g����ׁ�.�@{�vN>7��g��=v�,���7�	�{���}k'�u�;��҉�=��
|������>�j�����O�]�'�L/�4�^�t�m]���v��|gܿtg��OR���y���*�H�ҡ=�Q=�sT2��:����71v���~~�+Ω'wE?_�
p?{7��݀w��
���p�o��>N���z��zM�.�P*���w�g>�.��݁������kw�{c�x	��}���a=��'���b�u��'>�>�cp���{�����j��b紘�˙����|�����^ໍ�0�#������z����߰܂��D�~��2-���9����:��O
�
nO�~�� �孊���]^�]��.�)���"��O���K�X������]��^�G��<��^������*?M��{{N��8s!��s�@7oK%Ǘ�E	�p�Nt�/��?����]�}���X�89�0+ƾ�5>�8���t�'���h��,�����h��8��U�wp�O��{Ϩ�ݫ����VA��]�s+���R�v~�'��5�{h
ק�0�7���5싗�<��M�\W��x�hяFT��Ŕ���-?���8��^�r�%����O�`�_�}�
��d�a���1�͖��.�w��b�ե�����o=c���R���~:�>�A���<r�>��>�LJ����>��~|���S8��X��~8��X�k�
~��}��87���N�!���?��\�/���p�{��Ծ����8��~�7��t?��'�q���O��b�pn_wαuD;S�}�J�o�} ���qήu΃�a/�򱃱n[�y<py��q����{�T����!�c�::w��X�K������ΏpN/9��wT�����/����|��#�'��|O;��Gߝw$���z�:
�29
x�GN�;ߵ���{�����W��z��u}���,�9��c��nBe'���cAw��8������'?����ǣ��˒���v���N�z�|���wk�8\��#�=�.��J*G!Dtn?��m��chc�L�c���xv=�!ݿb5\_8
~ˏSy�#6%w�ݥ����1��L��ս��yw��S�߁��8c!��G�9I��0D�~M�nӺ7�{�tok�����AcX��Ғ��ݧ��mM���~buĨz��}�~�)g�:�_�<B�m�Qy=?H��ob%rW�B��n��e��"ݿ��@�_c�R�M,Pnuz�-=�}|L�k�1,S�o:�r�ߏh��TV��'Z�<���;��9��Qi}��Yc� X�>I�����T��1L��W����D�����r�c4�s�IJ�B��w�>�
=�'�]���h�
��܌�i��5�Ez�uzF�J�H��ӽ���9�K]�`���.i������W�k��̠rzg��4ܭ��=KmHϧi;̛��V�8�����H�s��%�w�M�����1�T~���^7��k{o1Σg�~<��8y�	�{��xG#����c`}����oSjg_z6��?��i������~�H�_���!�Ʊ��R�=��ن�s��OZ�9z�ez~��կ����Z�/�����g�Cw����>N���{��M�zT�蝯��{t�U}�
�������Z2��G���x0�^�ٿAu���k{���h����͡rS��F�{��&j�����&�u�s��9�����j���|�:��>��@�G�_��;R� ���U���>�r�uޢ��=4����_�~�z��<C�&t��W�+�?�4���6�K����Kt���o���4]״.�AO���r'*ߢ�GF#�ދ�w-��=[4&�W�:?�v���Q����uWOכǰ���:�N޳�w2{��<�=r�PC�	��p;j�h���^���wv��8~�����_���v��st�OǸ��gm�<��c�|4ǰ�o�W>��X���C�N��������t�F���l���xァ��cof&��:f�����k��0Ou��չ�i2��<��$����nIǻ�>ϯ�X�Oг%t��;�����{�k���{G��c��o�����?O�=B�o`�I��+�wif�ئ�<c�����?b}r�
{Q�Oy�~����>n�1�F�oOϟ泗���o��0�&to5����|ƴ��_�6����\}�i�3��-��F�ϊi�;����7
'�{?��q�Xg�Z�ڵh��ш+���c�n'�����<�OWCL�)|�ߟ��3C�	�,#��q�c�H����V]��*�X/L�����k�:���s�|��w����[����{��o���~��c���?��R�X�\̰M�.�w_��֠�{���u�9L�0?��=�6]w��<�mC�eh����<����+�i{u��+�b�����eT�Z�A�g�<�`������lu���_�߿�6���=����B�[�c����j��7o�����t�}�>ߌ�O���n�C�fp"�Z�a�H�Ϥ�:}μ�u������x��]C�M�Q�c�}���o�﫨\ݜE�����O*�4֫F���o�;�y����Yw�{'�7�\�v�y���1��5�����ʹ]���{ޛ�9���Ī�v���?������o�8�?��g�����UӨ�8�/Q�6�O2��:ߧ�����N�,�mD��������M�_��	�{rT�;�A��L��{��VlK�����z�v�w��c濵�zS�[���y<T�8�}���|�}�t�oT�K�!��7u��a��=�s'�M�5y��|T�t�^�����4��zvJ��b^����uLP�������I����~�O2N��{��T>�y�V�a5������4��xO(l�L�_`=���>��.��;_e���&�N���7�~��ں����0����'���;�ہ��SG!�FD��C����}Lmi;�����\���`:�WF!~�wf�D�nN�=Ou�@�O�~�F�_d|LuG1=I�{�<�>�L�1/8F�.��j����<��{�7�;]���,�>�F!���Yt�U�W��yto�i��y=�e���*���{�oax�Xj5��B�}�)q�G!�^�#���!߻�8O��_�y����X��j׋և��[��E���_9����YV0��Y�8�5�	������jjwO�϶���}���]����9@��!��;>�t����l}v�����2�^�����&�}v6�ۓڹ���>�J�xm����13M�0M�:���һc���ѱ���kc�S���w�5ޯ�7�޽G��o���ߞ��ͺ�A��K�ݫ��N���9��Y~�6�+����$}�C���{�g:��y,�mo'�;3��΀�1�1�μ�'xuXv=��[��N~��wv��/��c��8*'�ߧ��a���&k�z��(���j�����(�U�y��~���Mo��ƻ����#71�gY՛�|�>��~M�P��o+��)����U�ޚ�6��gi����w�}����k6��A�K�ՙ7�6��!�㋼��礶��Yf�<=���	?ҳ�� >'��Π�u��P~�g#��tͲ���<�ܞ}X�q���c5�/7j�?>b|M��0����L���iW�Nz�J�G�m���k{_��vz�R�c��ǩ���;=�����t��}�z��>��\���<!��:��S��y���������;�轭�z{j�e��|�A���o5x��]j��=[L�~鵳-��{kyc��c]e��<x����L���R{�G#�����BGPj����#享!���:�/��Z��%���ͼ~'kݽ���g�Tn�=b�����˴6�vZ�_,3�X��j�G��_��	�+��^to_�&��cb��B��ӹ8]�l�@��糜���ߧR�X���;<��}|P���o�?�4)˃����
���Ր�O�2]Ϧw6�z��l��_ӽ���2�?���1�3*��~wг�X��fd9L������é�?�V���l[���0�ϩ|�������t�����ؠ�0�N���lc~���>`��?�iOo���ߟ�ޱ�#����l�s3��7�R�׼���*�	��k*�:���̧2����{]�s��M�ߟ�\>״��T����?�Y����]O�{�|���Q�kc�
���j�C|ó�9˹s�O/�Nߴ+=���|Ա�l��X��.g���H��J��d�z�L�P���w'ס�1���]':_��B����t���T�"�c���`�}3���u4r{������m����aZ�u�W�L ���uZm4�Z�9���L=�#�11u��A\�K���_����2�-1��/h��_�cզ�+�Guy���2G���2�1}H��:����|�{�ܗ�_�t�h�F�f��uc��hM*�a]��s={H��2�ш+��}�;��@�.��Y&�ߺ7]�;�휕�X��:���X�7��Zq�E^�{C�/^�g�s����K͙���G֙��1�e0s��5�����_9
9H��o����E| �k,7a^@���䴭���I��K�?ź5�w'˫Y~��i�����|a5��&Чw��r�ш�\f�:���"#��l��*�P�f�w[�z�ǩ��e��5c4�%�l�y��Z�q�y��y-�g����<.�w��#�F�k2x�M���WG��?�X֣�ǽ�ww��]����;����z���a�g_��^��g���� O-�'P�KGI�܁T��	�?:Z�N�._
9O^�oc����\����v:�]�o�a�z�ud�R��1ȡ�6�j��]
�ڶ���!~Ds�7� �s�7�(	�o�Q!(֢�	�D{'	���(	JQ-(����Q=��"��*��X���V�Fy<���T}QTM�qժ��b5��q5�
�}5z�W:��Zf�Ո+�����^5�ܰ�+C�r��_�<���r�~&A��ZT���YrWA!��A������3����hta!�-E黋�Ś�;P���C�)����[��}��PT.h'C���FMP���7IT��A-�Յ�܄r$�"�G_J�Iq�6D?Q�ka__�$AWX�m�ը�q<��d�wXP���ߒf���b)�nr�C@�������*��:ն�Go),/�C�BS�s����綫��U��$
�Bar5���>����>�T��7���b����Fe~�<�)�M�� c�m�Ԫqy`�6��b_X
ں��	m����&볠��$XTL��A�/�&QÓ��uV�%��aR��AX.������^*Im�D�m?�<��J�8T\*��(.�a� 
K%jL@�����`Xjհ�M����xq�s=,k�:����aRc:w��ؤ;�:L�h��6
M0�W)�!Me-(�K�1�������(�o�x[R5�	���CI��RD�YKu����|�/i�cU�W�
��r=!`����"��AR��B�ږap�V�	v�0�V�j
��tux=U��"�T,�J�I��TL��O�6#�,w���Z��:t�J���H��D}�*N�r�K\-tUy#U�e^�`{�&>�w��і�+�u�r$���6P�"2t�l�
����ri8�u��¾A^NE����Q��Ia�����vi@F�K�C�!Bϋ�o�؃
�Dq����8�I�[�����W������L�	e��-�J�+�2�����
`�6��?ՏK2���N��ͨn�p&A!�����Joط�^�Z�R���;�����ҡ�
�j�5h�6��\kW�M	�K��dZDx���G_(&��-$H��Q�kfW�F�Yiԫ�҂��@^4��>���`�މ����Or�t�ң�n1H�~uU�����y�
pϨ�x��&�(Ž����yt�
�y�Vy�L�Q��r��B0����f�*wʴ�ۦ�	����}���	AyɼL�S���
iH�=ٍ�j'!�I�@@-T����K�����2͑�L��N��v7j��n:�.�x(\OZ��~Zb�+��|�YDT@�pc�8�\�[���b�0�q��
w܁�;%EtL�KBb�!FU�����:�ʌ�[p�P�Qb�U�Mҩ�k-C!p�-ޜ!
j���蓸^�7ih�}��"
BC&�  mB�}ԯ�c�B��E>���@\-*����щ�K�Kkl~��u�}�'t��R,}#Uj���K�Ű�E{&.�3�Չ2�Q���P�Ui��J����C<o�j�[�V���� (+-�	����KSLJmҚ����P�
�e�%����g��zR#���\�>ʲ�q�Nw�4
�p(�
��𓳚wR%�c 0U�K�`>v�P�:�q��*��dD�й�p4���`�c���I�&��R�;�������A��ɵ�z	F�Y�a�p�'tn�jp��	'����%&���~����C9���t�
���Ck�`|Ǡ�?��V��>%��0 �o�B���a���iwD���-Kq�[��*F���]��àh�8�p�%+|�W��P~%�����d��7Hd\\O�������S���Z��T>���1U��#�?�7^"'|���畐/����x��� �U:�]��iհ�q	�M8����t��U�e�r�|avPg <�m4xs'��Ʈ���Q�#�2
jmW���n0��jq%��Ew���)�3���>��F���YN��Cڧ}4�IDcF ��-��ߵ'���@���]P���9ݼ����R�1����B�Wg���2!��e��%�EDD7}~��0&Lbn�6��~]0S�_��96͢��B��i����i�p��h�P�)v�ɋ�6�����O��{�K�aPV���W���gh�kf%����w1"ψ�홄k�Ħ0��'B�'L�N�Gg���ҕ�
��̈T,�>�y!������T�8��1gz�2ŵJ�Z�C�2oK��>����d��S���0�6>Km顆s�����~���2�3�Q��!.!
�3m��\QёT����s��ǵ�	�W6��_�UAh�dF��Q��۲�z��DW0�ʄ����b��n6귺Ib(�|�S���Z�J��{���(��)�;����]�4ú+�e|b�x�r�R��k�p�
³�F\W\�F�t��L�-���CD�!�
m���@��R�#�ĉ���xY��1�@T�;����BN�H�f��*m�NE�o���8Pn�<���v�|�	+EF��
{��������;�i�ϱ|-��d.K.�� �E���'.���I�4����\q�n/
�/���!>�F�7�`q�@���,$NOK�YX9��%�q#-̟�07fuj�%\n4�-2�*�r^�r�<o�4����b����f4ru�{3{fw��X�LO'sﲳ�0�Sê^MB0��%��7�z}��Ś����$jx~�^��t��~z�h�3�m��ڻ{4��A/v�$C�˅ѰLi�4�,q��*5C���̒�̋�L������CD:0���e�{01/�Q^/�j��vr���P�M��PUŬ�X�T�'@
��p��t*I��7�I�Rbő�f�O��T%h�,��k���DZ�����
Ke$u9�E��͗q���*�̨:EΖ|�Nx�/�qjヮD�p��L���ˆܧG��:Q��I,z����W!��0+;��`!�hl=��-ef�5yj�
�U�&5���Ľ�Ĵ�����7 +C��*��ǒ~1gX�H�_F̲�C1�@C�80c`q1�*W��Dx�Tg�#=`���j(�HB�U:��&��/}2z7���s�8�`�`��
U�[J�jѼ��꯶j����Êޙ_	�U&T����;>�T�W����
�)�|yR���a�T��W�gՈ�+t�y�JH'!�U�~j�Z���AZI�v�JW�PG'��dE=�4�yT)�%fδO��i�	q|
ϛ7�d��UK�x�*�)�:�ˠ.�0�-J4��iMF(M�1��M{i�F��Z�V�,E��T�/��Sb�ne�M�	�侧�j�t:,3H�W�;#�2���G���6��?��٩��UM�.j��8�e�����d��z��{,d�0Y��"�c?�a��t��eɈ�f��3�����^��J�H�E��E�Y��"&LӷY	��Rb3�A�X�JF`%R@�F\vW	�� =�h��|�Z�\�P/�7&��0֭ĕ:#P��ɡ��UNV��!
eAZ�Z�=o�p���+Q�5aT�]c=��{y�����l�̲z'B0
[	��
���4�� �R�Nl���~�=C��ӈ�a���qt�����	�T
+4��E��
�3ghm��d��ؖ�l�����b���<��5W��]��p�I�‡8�DT�'�օ�	��NV��5�KR��ˢ�S���2��(;Zo����B}$4��01���L�D�c�E,o���5�
�f#�?�1_*�M�G�f��F�O[o���@Ȼ>*���,�M1�L(���M��iQ�x
��9Q�5Q#> ����"&ti�;��x�Ts���W4�s¡��*Q8;�Y��L1rb�K?ꥂ����-���Zd*�:#@9�D�)!563�X�6�>�^�w�R����*�Eh�|c-��B+}���	�Al����i���m�^_XmE�̴��/����J*Ak,����ڟ-I�~�-Zcm�6X@;���b�!�>x{�'�Q4p�����(���	�vh��F���f�cp�欯�)o������8��k��Y��[�Ե(�j���M��w�5C����H*�?��J+`髴��{��5�r����*'u��G�����,ͻ�̤�5�H%g�	)V��c9֨{C�=F����=b�[X����\����|_d�Ncw��@�|��@Ax|�ݫ'i���w#���?�W��.Qo�G�?B�R'+�J_^� W��y/��ݍ%��L� X,�
�.�s�Kх�.�� u3+��M������f��9�gYGcX듪��]b����qc{y@=��$��1ǔ�������$�lW�No} ��*,��U'�|�߄����.�&�bGܝ?���-c�D�D�mJ;,\M瑲����(����==]z�����s{�bErg���6���U��;�}	L��7ؒ��_
+b��y^!2����f�?~�Q�Nj�`櫈��?xj��Z�dO�
qB�[��B��a�f��4��tj	��T�WԳ��9��H�Q�C�ń�wL&��΋6e��XK	3��b�D<���/���II_��\D�l�/��c)Q	��)�iM��0�o���yZ)Q�}[XXZy�
�\#�,+IE�m�٦AW��7����)� ��i���Iu��Ɩ'Cb�:/��,l���.֘E�zӷj	�~�S�L�7��VY��a���i��af�h�a5Ij�MK��
�j�E���t�C~#�7�&�f�A��R�w�Z�6�);b����b�nj(>�+����MNns{�����Ze�*s���#�X�rP+��C�QU�3\a�ABtVAdj훇�9P��}
D�����0lDB��D�Ec�]O�FDCL[���k�17k���ax��ʀ��Vae~�37���=W�V�>��k�ܴ��d!�K{r�y��b��B6��&��L[�r��D[X@����8��?b��h�
��f�����P=V�6kh��/Q��x;��G��R���0[�����C����MX��Fq�F�6i,�ɩdZ��,6-j��5��v��	��Dc[��!:�[�,�%Ӫ��l�ڻ;��>��0���@�&�l^�5�Bv��t���R����#@p���7�Tf�
	H��H�pԼpR5DҲ���(1 �ZDmFG��W�e"�����
���b�o�w�b��/��Ѥ����Pi�
ȋ�p��#dA���G![q	�5d�T��,/���^X0d���vb�莵Ui�!TJ�9yq:�h�z�5�L�p���Sϯ���Pi�7	�JAk����XM�u$:nY�����CB���(�Oϖ�u��w��L�<J2���@�L�X�7���I�DeQ&•��Q:�Y��T�q��i�=�QK�@��6�#K�~�vc"�jZ���nc�B0I��+����GI�M�N��z)d��Icڠ�džy>ҩ!�E��f/`�w�<=�8�l%�R2��+�N"L���CH��o��j4�AK[b�+��A�ȧiiX�X��S[g�Ѝ9�#����?��Z�Y=���6G���`�aB7=�@�8Uz&1L���	G�٘�~��o���B���FM��D�#����Toxh-қ>S��O\��1�LL)
�>b#��; ���6L���������̅���kW�g�N�h�i�Rcǔf1�&Sm�@�[��I�.z潺}N�|��V!?�U�hN

a�fTp�c�����E(�;v�^,�$������چ:
z�|c�ҙ@�ؠ{��)��zj�����jf��y�z��G}��g:�K�U\a(���!+\-��akM����l̐*�t0zO5P�U�K�|a-�94��{�F��m�ag1������t�t8��]X�os~";c�V�k���h�!��
�1��΂|n?&��pOɠx㹊���~'7J����'L���h�
3�>��c�11���Ӹ�
�#�	C����Ѡ �M���&Dv�s�Z.m�&�xvxD��D�Ȑil)���f�7�QRl��,3�)I����b�]{��`ɲ��VR�N�H�H�b=N�C>D�E�a
�"x�%�6���2+^�'���j_���I	�ha�N3�K"��kK�y˂��C��q���d<���!r�G"�~"�a�Y�2��G>���\
n��f�}&���OgA��� ����-�_�ӠM,a+�tzF����РƱr"�g*���0��o�o�kUv��^3R&�e1������X^(�`���nj��U踡El�e|�*Ö�"��(�k��0�l�������x�D�-L� n<d�z����͈�ɹ��	R�;E�d��/��摲�3V�L}ln�x�4��GW�g�n��;�d�`�
B���v���l���[<�<�>���H_Bߙ�'� �qp]�Ij��Ɯ;!��t�O�ߊ#'��p�g�����e�P�j���&:>�~<����Ⱥ��F�=�s���BNHXA�����M��(��N��q҄GPr��	�Y����RC�a��,�䫅�m��j�1��';EQ���&���DqӲF�@M����ฌ�_\fPq�w#֘Y��K�eŒ߁��0�MI�Ӕ�4A���kf�OS��2&��+���<�ӋK؇��h(!���;�1�?Uy~�Q�!G��|��o��P�t*q�p}�M�>��-�q%V�D��4X�P�I�E�`Ƃ<�W�Jt
C(��M�W�(�%k�hq��?�8i@	Y`��J��r�sZ��lI&}bh%2P��<�N���u	��Pn1�O�y"UN|��}�0)D�Lľ`���T�w�|�8p��v@����2�?P�-�*��KŅ̧A0��t�!r2Fp)[��[�!0�\]�{!c��A��}&� ���Qi)
xb�l����'֩��\>F�U�S���
�`P�Sxq�P%��cM�]�1�H�d�=��b��[��V4�>7^�*]��rd>�;��ޢ�����Lb������p*���0&bw�R��H�Wpf�bC�`�-�Ä`S��8��Dm፰H�]%v���֛�n��ZH� �M�ɏ>���
�`�#aL%ME��*�5����/'�%ҍ�����'�V�ԇ����\��)�"6-�r3��z>�Vf+M@�6��-"N�	E4�jӯt�/�g�:-�����j/�-�jJ�;H7P�%�/�*��7�S�V��4>	�`�ܞ�)�.J|�m�7:��0�
F�eF�I=r��&U�+/ˣ+@�]������M�b�(�Uy�oc�i�4m/֙�����u��w,�f���2�U���$>�l!D����1#Up��"�iJr,k	�U���.��J\Y��h#V��Ta��4���a��i}!,�X��Z�x��{�.`?G��>�*	� A��6�fL�{S��QL�OH��k��T�I0�h���&g�;>��Z��=�D�.��τ�I��X�`B6Ԑ���h�hG7�̠l�F7A�b ٦�n�I�:���N�ڪw/�HK�,}�a�U{��A�f�o��c�(�e��B������:�w�f�lnh��a�č���-G�6{��Hx�3H����5��l�!�h���ʩ2�K���9�x���S�o�XE���n��*�������F�+@�:q���i��j���(�;ӽ�^��('�!>]ZC��s��V�X<U�
"�i���W9iZ�ӡ@��L�C|R���[�o����$x�!$Rm�*v�$Y���%9�ZW"��N4�0O�cul���"\y��p���r�90�$\&���3HӼ�g&��.���#��۬���({^^Ӓ�j1�B�q����&�E]�Uޯ�"���-�"�j��Au����`"0��#��EE淈��L%��4x����*G��e��!&ŧAOWA?6&��L`7��ϲ�ˑ��׍3a�#��{RY���ۈw�A[ H`�`�X�o����g�_=���zBt}�Ϙ��`��*a���V@"���^�fX(]���#=��3�o����VBm�!���G��-��Β�h,t�p�C��Rn	d�4��sx�-/�Rx�9-�x7MuUp�>�/�o15/�-�+8�utٟ>/���K��#Y�.lL~�����~��\s���Q,��u���3o�����5^�1�Bt�Ȉ2�S=�&�G���P�ɑb\�:j�T��]AB��}c��{����?��P`֊c�c1=����ȯe����h~r��NT)�a��~:`_�9�*���)��&�H�ݐus�5���H�܇v�����V-2�@`bdn}��Da�fŴ�N[�]bX�x�x���<�
[-��"�~sF�R`��/�J��Tʌ�rF�L>�⦝"��I�ӊC���5+.�%B3ا3^�um��'�沱|�?�ŗp2{��̨x�h�Xa�A�����P�ȠV�d"��ޫjR�ʿl�kcs�a�j�H������m�K���<N��7�8S�EgpYB���4�&Ԭ�OLO�6q}(Ҩ��,��x�wRr�"�����wX���"s��\�ٸ	z3�'�����7~OZO�
��)����ĕ�/f.E�*��C~}cN�+q�T=�F�G�����J�̈%��#���{ڝƒ{�M�D=�y������������X�[Rg���3H.w#��n�:6�R�j6F���e#u���gC�ڐ���@�Ř����LP[��(��FU�-��As�;y�R��-I^]����"A
¢�@C�:4�
�6�T��a��yI���#q���H
jk�dG!��L�f��R��-�k_�����h��v4����NJ�%܊h���|��Y�F�iO����=�1�n�V�F�8@��!5$� ����Y���՝6�,�H_�Wt�C3����
?}�p\>�N��Ym�_#o�=���!�l������K�!%4i��΂��ͬ�I��r�l�+�l�&��l��–�&m��6��ZiV���d�κ�U(д�8�=q\ꍗ4ܗ��H��1��եB�&CڄJ�+h�������a���{���(4�_��R�!�qz�|�lw["k���$�w�'�,��E����:�-s���f�?`�,gU���P��@a�	쒿�lњ�	i�c
�Z�}��`{��i�a����lE�h,g��ƋDzH�õg��T]T�:��E��-�����05p�,f��^d	���x�X��bM�1D�W��%��<��Ss����:�Č�����gD��8��찺�'퓀n!j�W�ޅ���p���ع�K���#�pi�k6�H#�̎j�1�$���bxh-��@�AssV�7�LIP�vS� uJ���~�z�l5r3��B��F+�WJN�b��yϐM/S�1L����Α�`��$Yn��?�8aEa��4��xgD��1��O	*"T�4��m �ڊ��@-!�EQ:0�CBG[�SL�N��<m|"����'g�*�;�N�d�Ӭ�a�:��:�+�p�I'lj�$e;¹f�R��;kȸ��gIm�ѺM�h���^eyA�9E���#����u)Ǚ{!�S.�
K`杪��{�%+��L���'&�zU���'���}gB3�<�X*$�˷��kD�S��5I7qdS��9���<�FӗWZ�D�P�nq'�p%v���=�Y� ��&W�^��9.��5U�4bJӪ��NjQ��x���r���4��^E)\ �4����P��,d=�aw3��hױڽ٨f���ZS���zd��n~�w���*���)�^C���ӧ�������3ī�K�ƻ�V1�b_�0U�S�y9Db�B1��u�;Bwl�����߆He�-�.���TJB���cle���v�����F"9��F?�:�t%b9]�	��^,� J��`w<�,����i�Ǚm۪��o�
[K#&w7)��u��k�^'� ����19b�hmf��8{/����܀�-I1)Z��"t���*������&��P�>���Xt��msxh�ƞb�̎5g�8�Q
A�*,!2Ĵ�br[�Ԥ�Mx*4�
�;�*pD���\7������)�-���[a�������$ĴQ����\�R���Zz���Pc����͛Z}�n2�l�n.h貼��!��0��쌓�M�J��^6��} nu޵"�s��L$[��}����>�-d]#IR���ꐔm�����5���/�m��u��W�p%s�y��64`"l�U�f`g�kE�]+�<�<e+O� d	/�����T�\ܔm�?۟��K�	����RڄYv����]�(��\ V�f����
б�д9zC�7^�m��C���J�l�VUU���h�q�4v��6#��$��\h�Jl��HXyҋj!u�%q��Y�"�V��fdɳy�Ҿ~"��A�j�n�U:r�6�N��j�V/�Jk��r�.xc��L�8mH���G��ؙ���14>��M��i�Q*��
��f�ݓ���9��d?<���������GxEv��N���+f��nıΈ�W�6�&�4���%b���>��M�Q,�؅&S��	0g��h�D�d��i�jXÌ0p�鄘n℃dP�b(�V|�`�L
�P��.З�L�A6��/i(�W1���I�ד�7����a�x{0V�@�j��������4��q���܄�õm�a� ��a���M��ʍ�h�[l�:tC:�]�LP�tM�0�&�k�pŠ���nu��"bkI�l���1�<=xE(��c�R��X��|��$�dCzB����.a@�(&��s�cQ�+�$.3cp��p$g��56�2�*��̛!7ZRQr���|RADB�m�
�S��h�^�ĩ��F�4��䵞���
�5�xH�vQ������J�k���S7����.�-9%�ɩ�1
�<��˨&�<υ�ڊ�l�]�H'��W0P��J��M�\k�S�\����-���Z~U�5|��m�M#ŜX�Dy�3����Nfz<'��Ҿ+�("��Vb�����n�q�[8�F�asle��K�6y��]�bΨ�,�� �M��^�4�q*뛓�h4sr8�%�i-ҼC�ia!�%q�bmf�W��X�L���P7�����X�o̢I�wK�
p8��u��I˾bD��6by�������ԟ�jV��j)?�k�]H���}��S_��/9´	N�;��$��b����@7/I&#U�=U�F�̥"K��
p�7���%��m����ń��R"�8vB>heMv+vg�qd�M��o�F�M�qwv����t�fb�ڙ�4��f��3C�֬��UBdb�S�2c��	(��Mjď�UY�+�����~��[�ax�cD�|�Ά�ye���?Bv
�V%#�$���]�/�H�5O5��	b�NJ�Z��j��A�h�J���	�	!�s~����2��
�Me�ac�3vC�������(]5oZ��ie-��rDG�_^}����x3�T���`��{B��M���S��y�$p����7:e�gljuy�[�H���ƞ�1+iv�DR���g�H}�bK��!�R/O&w��$���:)����W�
�R��H��m���8�q�iI[��|
�ح��H�}=e�
��4�Q�f�\վ�C�*3�1_0��(��3���Tg�+�Җ�~�����-#dH
Ƭ&]��Ւw���X���Fi
��dc�k:��
.%׋���H�	�Z4�cTPb۳���f��*g��֘�s1	-�>.:,�J����|�,�^�q�q&5iЩM��a�^h���S�k>T�f㯎�܄�[�c���>l����1�a�\"e|�g���k~�8���Kb���(ϋ��E���\�	������#m���$G�k�	�?B����dJ���D����#��	�ZfZ�i��)�;��E�AKL?&��ڜ�!(ԫ6
�7�%�y�R¬�x���\0L��$39�^�Oڥ˥
L"f���z���S�
"//lT3A�<��&>uH����vXp��0��r����H�}IE�IՃ'l�&��YFi\>բ�L	��f��6�1�&l�P��.�e�G���|M�g�@�%��(�}^\[��1�0�H�y0H3e*1��gC�۫�{�>���Ш�'��K��3Wrİ?}[��nٹfh�$!	[����<w%��;����2К��z���ޜ8�<�Z�7��_?6��N�<�&��9�5�g�c GS����@e�%'�q|�F�T��+K�7kddҷ���Ad��ZT�������֌���2�X�Sa���D����VsR���x����g��{�KD����<�̾b�XP�)�n�|&��P;��՚���+�/�H��DP5�����a�w�@+qI��L�KI�w�.�RG�QʒZ�Գ���qH旅Ne.GH�IJ�a�\�,J���D��� &p!-��[D9�2��PE5F�|ߗ �͝�&3�;	C<�p�o��]���v�/05�#B�ܳI
7�!�V��g�f
�\<�lV�w���#��D�ؚ
#5��b(�!RqO�uY��
�h���C_\)jc񠤚dxcm�4QaMϢ��l��A���{��QCN��e�p���p�I.>6��è�UƬ��(S�*7dWaW�{f�d�ۧi��9e�c�R���`��Y쭆���2{&���p	��f��Y�;�C�S��Jv�1�&Ѱ,�3Y"j��N����&�+/Aڼ�h9\�X6�����}�jR��T0t���H���Qm1'E�ʞY�<ߧ�"U�j��}�w��Ӻ�¼�V'��J���r��<��}j���U�7G_�?x7�=�Щ�9;�o�ϛ;;��3�}^�K�T��:;�Z{:���~XJ���q�%�-���F�X���_�2��>:�m�^�͹6�>Fslma���]�M\��m�e)�R��/��'vv�$U9b�09+<źm�\p����3����$&qr{��+���G�e�X��(�d�8$S�#i��	���NfP��wHH�U�_s㩫��1�c5�`b��8t�Fs���3)�m%�M�\�g�3x�����%c�HA�q҅��6橒
���=�p!M�[ըEL�LF` �"�#��e�d�S}�
�K$7a�x捳�ĩq�*�`���>Ŗ�`y"�Nj�Z&��ڐ[��q�6��E��b���t~�N�μ:�X�1X9�X���Cˤ�i�X��+��o^\�Q�����Q{!�2�r��~�ԏ�B����Y<��E����b+0��_v
�"�����n�	�yϜk[�àjR!����@�mkjz6ʆ�� �9���2���	GzGq:̕����QY̓�p,Xf�&$­sz�*���}D0Jb���YLS*��mn&~A��#KN%��~��m�?m���01Z��)�|Q�	R%�	�*G�v)&&��g1q�K�q+v��e6"ho$D�ⲡ�]La��jo��忊M>W%����@�#ΌB&.s�0�d�l�1E N-�d[b{"�I�__�g�d�G�ˈŞ��|@=����*ς���A>ޏ�ęE�)W!6h�
S��gb���ps&=�w)#X_La�f���k�
8�����W�^����OiKE9MT	E��葀j�O���$�{�����ق'�F��&�U�S��
�Dk�b{��~6qa�6u>����CQ6Z��$޺���8`��80�f��C.$s�
{��l�d�¼'$G�An�%l2qɰaB�f��U�����v�L���c"S�S3�HV���q��Dn�G�(yB�ϩ�$M�Q;�Hݫ��N��}󓝘���5F�bN�>�����$�3�� b5d#Z�
ф�pU)ua�ȋ�k��	���V�ݸA��Ec-^-N�N�U'�^�"Q��(/!^����_&�㪿�b`~��SFg�S�#w����t�!��+�!�5�_Ӂ�o�d9n�ӅiD��o�ح��5�KW5�~����tͪ�T���fJז�(�5n|2N�LE0*~zS�e&�&�2���LC�܆?J�RQeQ:d6[S��*���F�9�fѤ�������M��.�i0�ʎչ$.W�8,�>CUwiT�Z6�C�dg_���G�M�n	�g0O��<�ۥv�i'2e�)]�^8��3�S�6*4�vv��qu �X�O��+3Qp�s=�T�f/��j�#A���,Nt�^�{���뽜
=$ ��t�Fۧ�?�>HW�T�&���ˬ���^V�"�
c�l.q5��b�ha�}Z��v�H�y��o�*��������&o��YR7���/��|S v�~<^�� �M��@���d$��2�q�9c!�M^�$p$�
G4��R���	Ǝ�X�0��9�%��Hr=��BQ�C�b놈,��K���U��vt�,EV�� �[����0F_��x�E��c����Q8:'9:��Zx|��1�'�zV�-�9ጐ25yϲ��R4=0��d�b�Ss�,�<���5w2��l5�<O^�Ny1�a��'����G7J�L6��f´��p7Q�b��P	FctQ��L�9������'�U�t��ZJ�ش{��8�L��Z�����<���*�U��0c"�q���^���l�:3��T�NH'��9�^�`#uR/z�G�$8R��i`r�4B���L��`0TL��#�a��w�q�^���^,)�Y�*��Z�&�ov��+
`���UMLОR�y��Զ��[��Uf���j���"7i$b�p\���H'�o�7�c�{��2#��J4��m�Y,�%���F2�v�MM�t��L�DC�]���_V���w/��䉁{mJ2;�z�D�E�
���N�$&�v1�f�c�)���V��M*D�~�F�m�+4S�x�p��F�]k���h
�3%K{R�b��@|S� z�f�
��1�q���QDV�@Kz���U1�lR)��K���m�	Mb������ HD��;�?A?b�s*ΗG��۶�>�|�	����Hr!n1�4C���M�z9�m������i�w�7�9����/\: \���-Ƥy����`1Zd>�R�!��\w��8���@d���c��i�{�����"��6A\b��&�^��ܼ,��T�]���f�m-�B=�zus֤6dwE��(���؈g4S�I.yh��l|�s�U�s���0��	�И)�ђE�p��t�`�g�1�)k�+��	�t�-L�����[EGٚ2&d`i��(�=�Ɔ�t�`o��Y/h̗b`~N\�w y0�	�;{~gOGwGO�DM��c�Ȱ� �CV�BG�ű�<<�2�>BM�_`�:��D
Q-�D����$�L􏴧��m�c��/W3q�L�.Bg��B�G�:mA뜶�i���y��9����;
��S0����wU�(4d���A�����i��UQ{��XV��M$g;���$S��E-�}"A��v�ZJu�!̈��(YD��LZ1�T���\7+6��éӉ��I�6:��X.7�bř5EϦ�S�]�:ы-��і->��?�6�����&����x��L#
�p^�Q`-��~LM�%����W�Q2���8�_�O=k
��^��A���O"8_�U�Ÿ-a�W�K�sY&A'R6����v�")�Ns��m�5���Edl��hs
��ͥ�:"<ũ9q�	��~裟�aߙ_N1m��?V��Ԉ�?��0��|[�r��Ų�ZI��Nb�!��Eӎ���L|�>��JTY�E)4�U�kR��g�7o���BiCXgiI��PL\r���K{�
Ǒ^R�o��V��L��0�Y$9���%/[�k�yS���ɮ�L���>`8��B��j�Ai|}k<V�x��
4aI�:�Ұy_\NR>�"NHܾau��Ѥ/6n�KUp�Q��b�&��D��6�$P#II�t�<w�0�׀�^�X��a���L�
�_�(�;h�e��%X�>0i�%o��[=Svz�0w��K�
�%�P��Ah.r7Kn�|2��q��:�::o�ux�I\y���2TЁ�}d�&.r��q�4k��=2���b>\B<�"M4Y��h�Ot�X�M�;At�������Knx�lժs�0<���nK����|��u�z����������!d��G���� �:#��j8>ڴE���4I���ƴ��p]jX�bo{��M�<�������ӽZv�B��H��>eMX�]��*�j���Kd�x���^`'�@-:jk�f�-��K/"�Ft�
�1&�hV5��mre	R�[,�с
�Qe���8��.�y��v,��4'��k�D�Zǹ&����]�lc�*�̏�(VR�84�*��tz�z�箤�	vk��V�Ǻro�
o�R�,����)�:="�jYwo���w�ܹ��ory&�N�:�}�u±iBF�*��JE�`�0aB�%ġ/��_*�/�����F���x��q�[�
rh��+��8���U,ף������ۭgfǜL�d�F�q�=���ͫ:͌�`e��>W�db��k�W�ݺs�^A}�ڹ��#�Ļ$��#e����f+9Ml�oҔ����%�J��KD]C�����Z�C�~�;�	��3g��ǒ  ��չ��5A�n�U1>�f�Fd��'�ꢌKy��K�h�MZ�f����s���@j
7���5����lV������Gk�&���1B]�)K5l>�k�*�L}�y�#ȓ�	��H��hV#�=�ߎ�Qlr�L�����E��b/��`�
��}c�z_��R�3M&r�D��)���R��Őn|'kXТє��'3���G�:5�IA�z�3�8lX~�/�y��b54'5Yr)�l##h5.BI�Qf�@���5$
SKE:YU�h��oB�)HZj��E���|:ռ�<u�ž&Z�����9���B�=�Wzj�;*Uω��
Gp1�H��?�b�ض'MA��,l�{z:uz���h��Z%U��7�
�C����/��h>��8��ޠ��I�w:�/�S!���� ���9Y�x��!0�։��\��t\����	�=6����e0Tr�'
��Hۦ�-�d�h��0j3��i�ߦ�$��1��_���Z��k�؁�O���Ȟ���>�qQ8y���ٟ�L	��$���G-v��oS���c*��*����:��2v�bFG�0;$�S,CT�����҉Ҭ��Gx�i\�Mi�T��Uj�b5�5��"uJC& T���������b��
�6^�R�0�����Q��7�Hl�bx�-iI��es�OWse�谯��0�䄅!�i�{*��B�$#=���{R!$9�zrz�κ�L���$�v[��"�v3�՘�$�
��8.�L
+�
ȿ��H��a'��rn��9�S�c���d2K���k�on��_
��%�B�X��]3��>]�1�g��F�t�	A��a�j�m*�(��%m
�Q(�EB$��k���;�֤��P�,x͘��4o�1�K)k!6�؀rq%�c[��L��,�u�kB��M��Q�S�`)��A[��1�&R���y�L{��5�1
�f)_��L��"[�!Q��8�(X� Ģ��G��4���Ӛ$�xXIP�I�s�>2�
Ƶ��$���w��*SB�G#�¡X�D�\�"���yl֐=�mJ�6����A�f��'��?cXWM�놑��Xq�X���������m|��d>6�����&�7�~*mi�Ū��fŷ,NK����qP�v��6U~�$���旍`�@��4����0��b+ ���hp1�-F��2��Q`��U?ܐ�b�x�}m_�ف g;U�8�����$9D�A����-8�ַu���
M����R+=B)���s�ᜲ�,�k�&��x���Ɲ0~ˍ��v�V��E���˜�U�U9
�9����syi����镍s&��|�\3s/�L���JD�o��'�^ejڭ�&fL�Z;�t�[�]��YV3r+��t�{��̝�n���q)]��Q�,M*o�v�	�O7�k��ĉ�<�T���'��zX���B�H�E�r��T�+�����Ce"ڛ��t��ya�90��̉��t��%I-AJ@ɨ_��UgKn�m�>B�N ���6�E�PbV}�N�!�e�[�ΐ�����G�!�[�/�2�ӓ�$A�
kbkA�	�'"‹	?qxR������{I�f)�H#�V�G֌���P0:��ҏ��:ىlR�G�'kO�q^Jx76	qt�*E��)��F���'k�����p�P݊��R6D�/:�Ĵg��H��U-�����X�%����W��3��>9VM�N�AO���)�
:�-�1I6�9��!�;=l�mT���/�-+���\�g��g��u��^�AnAWGN�W`!�a��7*�*��7tab��ܗ��4���"Z�W��*pP���3�HPX��qx3#�j��,J�O�>��@ds����ò�6e�P�I�ˤ$�K��S!�D���)_���&s�Y��TL���3�@����]���D�\,L[\'ԴK�9sf�r��;�{�V�q��>c����hJ�2Ƕ]�8V4z��$83�fkG��{��T�]w�-B$pL��l%;{���u6�I��5U�@�G����9"|�1�-�y�e?�ZQ�`��Z�"ɚ5����QSF�9�Zs��MR��|r"�V�aġQ��F�]�<I��zT�!�v�dvQ��b�ݍ�/^�lMk�^b�I�?��0G,���u���k�gs큀���1���y�N�#gG��5��m@N9jiS*h�����,���"��aJ����ѕ(o�-]��O���0f��c!�5�HQBв�HY��	��Ƿ��ԙ�x&%�g�s�`�T�
�2�I-m㦙��'.m���WF�hk̽0Wd��\3b�Śۢ߅�I`
7�]c#3��#hy�e�rOέE�kF�$�� ��I7JY�9�,��5XUc�ܱ���qd�t�����ܘ#�l�������{��r��¨��Z��~����OlQ�Aͺ��WΤ5��Mfbh[8ֈ��/�wjŹ,��h�҅�lb�Qw�c��U��h��qF�
"0��ص!��(�Tv��rn��$�ϭ��h��ۻ)K��-���^D傍�	!�2Ѻ��j��!�tPaل�����⛫v�p�{�M�!�Y��:�Z"P�[�+X���LT�nj�]'�m�ԗ[��/�!_}����o&/��-N�\
[�^:�ٲN����z+N�Q�w:7n#���n����S�&�k�~M�Y9�s��.��yj
ٸp;s�Bګ�h�Y��+�pJ�)�����V�hH��d���"e�(��l+p~�M�tξ��[�rQ]�Zlu���VG�$�VV7������M�ָ�8���Z\L|ROL!
�d�E��"=6�')�
�*v|��
C�,���M	����L�YN�,��m���G‡VMT^kOP�fuk
	2`*b�A���&��"_�8.�+��/���DQ���)ǬU͠��2����
����Ju�/Y/������I�
u�����<�S\�VX�W�jAQOlN"���g^ZiUv���D�ڹ���V&�܂�ѹ�A#��J�Hm��w[{�g�im!R-�&�\0�x������jE���eɏ��
j{L�
��!�w�B;V��Z��"��X׎�Z�������!��n�2�^ê���I�
���`��Ty�vt��������`�f
�;(ƃ���o�@�&i�<��B陀��S'���"V&��y�[i��+���u�UG��=t&<ā��-��
�kz�2�|͏�aB�k�V�3�W��I�a����$.�$S�obc3��y�a~mX�0lz��=��Ѡ�n��#ԓ	@���\�!az��t9%Y�n~Ƒ�y�U]d2z�z#j�Si���87IR$V�m(�Af0��w���'��唺�I���f*���*ɔɓ/^�/��'�l�'T�⧓
��W)�ܙ̖7��7�7J�Hp�`�
CE�,�E
��L�ΒD���D�$���u|w{�'`OCQ:"��fF"J����K�F��d.S�<�f�9s�O��<0�[���U�
�v��T��$�>�I�J�}[��pp4O�gŬʈԡ�ʉIsl��5w��6>iZȉ*��l��'m�Ť-�
6�z��ߜ���nF��5�cv�$5w�l��l-��N��Shj��&WJ����ƹ���银q�86ST��^&s���kku�ر`�+$S�rE.��V��ۗ����k�]'�0Z�)��R\i�V���[�����%kuUc�O�(�!#z����'�̋a�J�U�=q�M�ċ�	\s�,��L�we��DL0�2�F�����8�z��j�!^~	�B�$fY��4�]����3h�_��~E��TU�U`Z2ro�'�[+j;�|Y"	o�"�CSʍԧ@����I�C)�w��k��_z���F��+Ⴁ���iC���q�u�l#Ne��N�L�_��Ӳ��P7�z%�?�g�\��|��U"��C�.��H���Aƒ(�5�|�F�h��$���5��|��܄r<�p��B1�^e��0o��
ro�>�]V�����*���aQ�x�%��d�K��F�v���8p�n%�n-���Dm?n��RX^8n�
,
��_�綫���9��E|,�<,D���$!Z��,����)���W�1[�:W<��&Wv@r$s|�v����4&ph�.%��@����"�Ę�Wl�k�RbeU�C�T�/�pM9�y
�%���\gh�Ns��8�Yj7� �sF��
�`�+��;D�˪'��
˩!�s�%��G@\��'Eo���p/��+�L`��77%�K�&1uDi�ө�1zY�)����ݚ1��J7r0�"�Mz���PG�t�a�E���u����@�@��G�%�$��h��i���������4hDlZf\��Ұ(�K:�5�n�4�a)���z�zC����%7���f‚�oD����<
|}j-4��3�[���u^Φ�˱�����!m���k��ζ��P;�v�l�O�+,�
*ZdҮ�T��3M�D��g'�i�cqDIAZ��;.	�-�lg"�i��xo�i�yx�y��Z~!���d@�2F	e�{ËFܜ ���P���+�2�5Ȃ �U���k���PE^<��S3*��Q�ҹX�q�t'r��7�K�\��egQ�6c�!"��b��pVi��ū��n�:=f2y�"�rU�^Ղ��JQv.�
U�!���N���gUKԋv����9b�oJ�.�wh'K�ݤF���u�r����a�m Q��]��Qy�IC��u�H���m�J�j�L
2ݾ�Qb~
<�\+�����5y 2�ҫ�^��o�n�
0��"�;�K�8�ݘ3u�Ez���4`|N�����=��#PѼ�g���z�(���;���&s?�C覮��� ��Q��,D�끗$G��#D��c��9�O!��l%\H�Jl$�"Ӆ��VDv��Y��	�@X�FU�
���ǐo��4:��/L�����l�~��#�0R��`��b"���N6`)ST�]�5�^�7�����!u�C�E��J������"�d�V�<MI5��I,�Ǭ�3zI� ��Wy�DB�ఊA �\�g����j^9����9fہ<b�%�;�ˊ��$�I����ⶤ�-�K�d�G�^f�
e[���މjl�V[q�]���7į���Ro�P��\~I9
'*��oEI�TC8%<OuVS,��ER.SVWr�,��8�u��
�&II��p���^�	����0�4a�\H�-�N͞V���
0�/c'�_��E\,��}a�p
l�_� 2�G��`�^mґ�jp��Q 4(X+Cɗ�'s_���J[D��5����V@B9�SKbGp���ϵ��>�Q���n>�C�MܔZd������1\��HM�˞I���Z�^�z;��vޱy��q��/�/�:#�¸#fifXMo���J�3�aQ����I�ݗݨ�q��u��r�>
 ��Zd	.�{�G싈�*��j?4�E��"��;�^*E�_<Z����TE��*A�漐�EaI��x{|�\�aW`,K��-��*�y�\ka�:�(#q��4��'�{����O�n�(��
?ɰ�ؐ�T�,55ޣH䤬�J��J<V#._�����{�Ÿ��\t�Á�;ȍ���˄Q�k@��58�3���9h��T1�~#m8�"���gB��z���4C���/�]Y�� ���d��US�Cv%N&���!T�L.!�S�tr��M��
sd�Eh{��;��Ez�7�����i�^C�lsSts��>̲��7ͲD�f�)hB�X]��ETd׮E�Rل]-t��G�L�y���H���!#�a����v�.4Y�7}ɲָ����P����g�i
]�7ع���q����Z�%C�P�&���q��{ź���R�<'�eYn�ǯX�˜
��p��@4���2Ng��9t���w�;���U��[Y��F��On�/�Awa�c�T�xĹ�+��d$�*T��IKT��JH�,����nY��^h!z��`��*?f�-A��e}Œ��lp����O�溄6OĠ=��1U����^�,g��Ų'vW&�pi��S#NI-��
9j�؅%˯�-ȢTyMp��i�Ԅc_$�C��3���a�F>7�P��6�-���<�OHf�0���v�y�S�-��$ɲ_䴄EV
�ɽǝ��&�V� ��q)���lͺ��v'ɲ�.��`eꁪ�O5�btn�xvQ9�[�o�ˮp ��zZ�[.n�GW�����R�,�
��`��&1��ۡD��U`�`g5	PeE\U8,��$�B�Q�J�F��@1��VhQ�<

qY��qo�:����;I���T�+
0"BY� �?�4d��N��+�!4,���|�o�X���I�4#t*�z�5}YnD2
~�ip�!"�ZY�-k�<�b�Tَ��'��<�ę�ޤ	O��D�	�|5��N�1v��h�Ē��qN�k�xgv��\"_��ԇr�zG�a�M�A�WRpH�^�QBd3���*�3""n�V��h!X#��w���w�4b��O,8���&��ZF�!�D'n����7���apŢbɾ�vD��-�n�v�:p�.]�ī�ɂ��8A�(H��g曍�	�U#�6���/	y�}-Jںl{̶�]巃F��s}LZ5�BJL���R0Y�r�];�hTR٬؜��&Ч��W�,�5Z~c�8ɶW^�ȢDl20�Э���M�N���eC�@+g�ZB�c�r���%I�2xy���v�eTA�(��3�bZ�-�	Gl��g�MW(V�9����jg��) ��8V1ˋ۬pJ�����(�����H0��nI��
o��.�e'o9~��� �@B���e�0ll�t��Ɲ�����%ڬ�J&ġJ
��X��_�`�3ʤ�ի+���P�Eߕ��	;��s��L
��l|��#T)��y8[7{F�߻���|Γ?أ
t!
��Q5Y���h
q��1�����0�G�X	8�
��r ��
+�M�}�1g@�T�\D��T�,���:��Q�4/��'*a�@,�V81H�S�Y��S1����o}�qX>>�-=�DK=sĐ��jx�f���JWl ���@<���F���Ad�����JX�V�h�
�iA�D�ͅY
�Y�Gj�B�sWT��	����F��� �w�2�8«{�r��0��jB���I�_�h�u[~'�K5���HLQFI4�w�`�y���el^ٮ��7#�$tpf�&_N'�}#V-�đ+�� +�һĪ�J�B�ޡ�tu�ä�&�P%��h�!�4i�I�I%���Cx҃"�o?��&f��3�!�r�i!����g��j'���X�S�˗�M
��u�w�U�R
S�q�x��<��p��|nf�T"8�0�A�1)y�Gx��Z���A�-�<kPkd_���)Ċ�ƭ�8�W���Q+������dĢ�c:T�d�&��N6k[��j��!x�.��o$ZJJw�:Q�����u�^;G�]T������0�ǰ��Z��\�|jn\���x+�pN�5("����K��$u"K��+�<@g�#
���FR7U�j!�븿?�1`^�b&���]��uw���n�ť��T��YL�]X�4�6V�&X
�M��-V����B+�c*�&9�-�'�^�;�~�j������l�S��B�m+����L��P��	��nY6=b� *.J�=u�=-?�)oW�jKkV��=�J�v
�\j��XM�'l��#_��ߵn�T���GH��}'�ilQ��{��&c�Oڏ*����G�n����5рy���=3���Y���Q.�Ӧ�[��q����Z���&���a(�]�:�TUav��PSvv�
4
���O��`�*��P�l�69ѥj2�9�Dե)���y5‰�l�y����YW�L4����3]+�8'k8�bH`^^|XF,E�2w�;�ۥ�v�2g���&8���T�ڄ��S��Ԩl-`���
In�]T��*X�j`"���L�_��X�r�y�*KT��d��[KUN�Q.��Y�
��M$�ȕ� i��Qm�����8<�ZR\���|ͱfi8PE��:���B��)Ă��Ρ�`�-='�(H��r���z����߻M���:%D�i�{V�1&T�`�[��9rHj$�"e�!q��A��i��J��w�b��s�I�Z纬�%�x��c���$��,�5Ap
���]f�=�q��B
�E����
d� ����K�J��N�	���b~1a1�I��&�@���[؂5�z���
�O��n~��l�`�۱£����@O���
-�O+�Zl�U>!�`?J}L�F�n�,ɧ����ǰ�����{���ࣉ�љE�nM�rS���Jrs-IU���8/J�x��=�g8��6׌mGo)ll(�g	dn�9�+�z?ӌ���հ�r���򟅨b䙹9b��iN��}o���H0f�G������H<�%f�����h̯�iw
����ܻ��γ��[��c���F�h�d9�n�ٞz~�rĊo{�d;縇M��-[���•TR�x�Z����G��1���,��F,�m^�e��	�,dd��j=f#Rvb'��u�
��}��-�Y��������I#ڬ�|8c�9��3+=�^!L":���դ�~&������p4��ф��r�B0��(���GI��|��U�t�ף�9q+aYr��<%u��6m1�k��hĕ4��'����V�6���(��<�錵S}�b'2��6�]q��e���f�y)��`��KSM$v�4�tj���Z���g�=��v��P:L�z�o����Y������f�c�V�=El��I��0��h#���jL�q��m.B���߃��'ܪ�

���m���I7;Zn���x��&��e^rE�u,�-�aʀ���g�l'M�vF{iMSj�l8�3�Y} Tc"k���Q84�� 6���%

��-�t��BL3���zi��n�:�UU���ʅ؜�1��X_�;'�0�N
��b_c,�V>���l�!����>��&�cJ�UEЉ���J[SC�a��{�R����m?k����df�a
�K�-��I�V⹎�2�>{��=Sm8��{�w&��k_N㸦o�/�LEG�XnjT�9�'�HM�n�gRU��I�a[�V	X��j�n]�|�*6_%�j�2��`�7�Z�y��
P�uσ���~�Ú/�6�T5r��y�T}��k����} 2�ʣ9���Sj��L�'�L�iZjԢ]e���D���j8`|VeA� �+,!�S����C\�>c4Ԅ2ʪ�!�1�-��Ϙэ��`��2g$��NK���J%�u,�_Zk�uKhkgd�9C:ʖi�n+���$պ�2�!:�%�T�j��i�`d���O���L[�4�I3g��;RR�ʲ�4�$j.��,�g��
7���M��kC%�'���UW=��, jP��MX��O9s6�ƻ0�g�T[Q�ם�lr�F^�aJN���1��B�G�R����p�/�prf�h�Qv
�'�z(E��_1�4�o���Ȧ#P�JU���̞�.lX�խ�����7�t:��FU�KB���n3�3�⟝�tp6=5�de����U�Ԋ���	�m-U5v<��g����B˂[v -ž�X%���Ճ�A���I6:�9O{�۱O&/[5�N��I.���^O�һ��dof�#|�G-��\�1��� ��N���J:6���a�#A�ZX�&u�U���I=`O^I�yp�CD����v���{�F��'�$�b���ӂ��O�v��v�GYdE&��>�`��.Y\�0?�tq�"�*�̍Ò��gO�~ءˁ��@Q$��>ULV3�H�bWkhH$�f+2��kS�;���F�W\s��:sj۱����E��jҢ8g���bJ&Q�`����-�`&�8&±A�ΝST�a7v~��er�	� F�q}a� P
��+��u�.���jڴяF�~���(�"����x�eIwJ��d�s::aZ�z,քZ�kh�=Նϒ(�a泚�N����PV�+�b�-
��J��S��<�4Tb��5�=��"?�A�1ZЬ=>WiÆL��f�eΞ34,�Re"|=I܏�m������Cj|����w��|nV��0G���:\��At��5�f��>�4�,�������ĀC��Ⱦĵ��!|Qԕ"�v���G�2�m��ai6L�˧�-��p�U���N#8
	J�*�Cƶ�^$/��
��Ƿ�k��X���^F�<���bƿ1�ӟՈ�B��!�E7�
KP��蛽�
��B���V4^���^�,�i�fi�]�0N`��@�ٹH��CIZm��#d��Y���F�Pn$ڦ�U�v�ϳ��nG�9n0���t}*��oa�z�M[$?��ͪH�Z�c��_�*A#���3�b���iM(�)g�7��2Q���B�Ua���`N���#��fj�5��֔�ѸC�����S>�ʜt������Vd�k/Rq�t=i>��Qm�L�jpc��B���C�B=�3�U!w
�̣��,�c�V�h|�� X;��bj.�&�H�c�[�#d���m��ٱ�w�6�[!�S�.d67�.b�؄$I���4�G5jk��i������Dr�3dI!���O�?�I��,�ե�QJ�XY�!Zrݖ�1����nBۄ�x/롧賺�㷔m�uOz+�"Qk�~��æ��M�D|�G���x�!���OǺ�"c�����2t
�4O�x�u�_,R�[�JCL\%�#�����\��,"΋��d�W���5��41�QA���.�r6A�;�Y�rܚl�L:�H�w�!��s�x\�&����P{�t"�c>��nZX��Pa����m p���E��ᘾ�v1��+g�\�f9ʞk[~�T���3��
��
h-�6�e��)ox:�2gf�3�H����1�%��<k��'�#h����%dX�61O|�f�:�U
F3M҆���"�]�𗬺֍y˲�bJ��B?#ol�1;S|c��}�\����Sٹ�-+!�hQ��!��HIG��V�w�t*q���I���GRH�~�E7�"�bd���TBv�o��aU���@)K�3�a5�2M%o��>�*��29��<K�n��Хƹ�W�S�{P,�3��-)�j�:8��cLf�|j)&�.�e�ER։C�Ȃ5��w��O��Y~�H*$d�Ԏho5c��M8:֋�����o�/���A?�W�:6�l*��G�����ņ�/A�����M@�I4I����i����R��$�H�r�D��Zҗ�����]��4�8-V�k��ǭջzņ6v�՟{�E��`�)q�%�գ�7�oK#~YB����D�k�/>�7	��h�6c�Y-���D��(`z��S�KA�HnJ>��4��6�����9C�X2�)��/	Ay�ub$\,�I(9˷��v?=0ˍD�Y��^�[���j��g��Q�EK]�r�d0��&�`wVO��8GNM������=B�q~��ޚ��b�� %�p����O`3�<hVf�f�s�N��s�П��K�y�"r�j	8�9��!
E�e�LJ��Z]��p��[�<�,��ظrzaH�M�e1w����Ԋ�m���<�9���~{A���c"�q�#�|uF�&
�ʙ?-����b�%T��Y�9Uw&�@%V�i���P&nQT�����e��([K~���I���!��`6R���h�tր������-כj���H^YY�t�h��81����v
�Z�E(��g��]�	���€b����}�\踇4��"{ؘ�T��Xs?��5�)��\���S�
���`�N|:A(Tb�[���'�!"=���W9{���l�X%,����o/-7i�Ch�_7Q�l�`Bg�.ݒG��܎'��XLŵ�;bh�`�Zi��T�a��u���9u$�,�C4�E�e��m�:�Й2�\�u�IWזr���7io�@�H�_ND¦ ��{�F>�=�x�6�
r���"ML�t+��1L��xU���߮��h|����g�n���x.�ŜgHU��G09��J�4@������ݐ�'c��d���b��lթv�F�RD�
��'�5"�/�LB�H�����'�:�&���M�M�� <���B��0j�	9��H~)&�kJ���0�U5�u���:����H�l�I��)����--8bQ�uZ�A���A�R!��Uc�a�hE6+-�^C�M�
n�����օYJ���Nf�bE�=Ӆ�/�4����%e�'�Y��p:��p��X�h�֜�ȝ�P�hR2�U��N��%�ʰD�b��l���`����aj�ΰ&�{�j^�ڲ����ey����/���݇z����Y�5�*V]|�$7�Hg,��BغIp�����0KZ"�1*.7ke�on�o��~�Y5�Y5�v+%�BI��2��J�ɥ�������,
��h��`I��ͧ���0-��%�V%[W;G���]aiOvya5�D�c��3��J�5t��r0���<�'���3B�j=�T���r��ik����1�uv���vuF'�����9�(>�bQ���;�%X�4d�Ɨ�\�MQ0��{��7��V0���o�.��ƈ���44N?��w���W�'55]r����RL�B���}�$#8(���&֦j�JqV*�"]�/�����	
\N�R��ʰ>�.��`؇�a�K�i�'9�Xqh�*Q�1z_~j92Fu0�R��&.laZ�o��7F���&�@#�0��YfV��	^��>b�9���]�ZB.���j�x��������钲`2�4S��^�QȉJ;'�+��5���󤨼����h}�%h[	Mo��%����M��P�di�D0vrDSԍt�,��
}ԓZOC�9��L-{r{�oH���X�&U��Q�L`m+�/�0��[61d����R$��MEewl���H�u�[���b��C�ʖ6*b,�p�c��v% W��6�q{-�h`�jcl�4|Wl�X�9V��̴dYc�C�L��^b���D�`>a��eb��BN�6��={=� ��1������Y�����O1D�m�&e�͆Q�#X�1��짺���J�p��a�0º,��Ӝ��^3'�*�"��<���'K����߫Y]�/G�7�=?V��H�0���sAkt��0�5�ѡ_�y�Fp��H3��y	{�~B�8�u𳣚+�B��N{���,�f~J�g7�+[�\��H�2�� \��C;,~��=�Kl
����T�>5|�Q����)��B��]$jߕ
��%0 ?��_�/��
E3������ͧr���ִ	��ZS1ɫ{y)�.��++á�D��v棝�i����}��4ɥ��[NF�
-#ӓ��ܑ8+�8)"ְ���~K2F٦gy-����p{�qt+j"��2�x�ùh�դ���r��T~��p_`p�'s�qɷʱOQ(h��~��2k�A:Sn/9��#D��2)+�FSψϽ�
���t4{:�I$�T���Y���w�Ju��=B���I�&��u+�>�]����=;s�p��mkX��/h��WE#�i0��K6���� �;�N��WdgB�W:gf}�`�ٸ /_���G�K�AZlq�8��8޼�"��盄>K~*̙�ݰ��Q��vG��"��t�x�9�E�6��Q�E��6TW��d?/%q��}�B��4����AJW�5���U�Db�Z����X��3u�E���������%˯(Y���9�Y�	��#a�����_�ԩ6<>���](�C�<�T�yM����.�����GxCC9�����Qc.�Q�l�۬�,�f�yv��쩹�<ZS�҄!P��k���c2Az���J���i�Z�\ǴL�3�0��F�2#��P."kn�zq)_y�2�������Ģ�����J$w��c��:q��K�
���,��$E�h=�˨K �I�i��x�L�\�
B�ze\`յA8�\���4�5r"*bD��P<z<IH��qa�/&&�����#[���M�7�M�Vָ8�e	��	�9x�M	 ���Y�͍�fb��12M�Z@>)vw^��=�N�	�͆r�S�������L#6���FDa�f�,U��g�v�˲9b]ju�)��� �������X����@7MrY盼�,�����	��(U�˯X������Mj�rl�����<�\�MG1B�Un�V�zbm�R���\i�7����;��D��{��PV�UqzO�����!���OL)z�T e��Lj�lA�)tR367��2K�gگˆ���P[��H�8�bݾ¬�N���n��M��F���+of�M�&���L�LUWY�����D$���@�/YN/��ʚ�J�U5�|���*�5�5�}a�i���ӎx�OC�'��V���H�j!�Aʏ��X�/��6���$�V�1�m�nk�:�sS��!=`J��^�ȵRm7O���G��GtU�n$-2.׫�q����9)���p��ػo;=��N���;'7�l�Q�Xx�>�}6r��,zQ�5�&;���"x�c�5���y���f���^��l�s�a�9�/�m<ag�e��H�ʪ��Lw��K�$��]\\���~X����W#m#�k1䈨��OG�{��n�<aS���"LsY��_��;���w�Ì.�]f��
��}�I\v)���\��!���XZ��
�E(4Q�L8O�)3h�`ϯy�aӢ�G�lhZc�X��Q�Jݨ�B���ʨe9�$�M����Ώ�Չ�F[c{6�ĞxD �PG���go}N��D�n���	���R/%0��k(mpd",+�	��)m������#��|����x~B�(S}n�ҐF��m{s�3�5�\b�4��UM?�������,�~�ߚg�&�ż�L�U�_X-����nY�k����7�i�G�j��4Lr��74r^�����B`�@��?H%l�%,�V�Hh�aʼ	9�,�?yv}Ĩ��b���l��s�3��͠6Y�7O����'b�0ָ�{��G}���`�EH��B��h�M9!�m�0N#NS��W��G}I�4��56�$Ђ<��D��ԡ�M'�M*Ȏ�<,7W�Ns�1ou�r��"ޢ�����
�]_ƪ
�|ܚ
��(x*ac!��pr���fx�B0׀ci>`�C�!�`�S�
g�a�mP;�%؜Ab���̭{�_L�c17���fv� �M|�F���Ш��]**��# ����^&�b)�5N�0�-jh�\�$&���rj��hqy?�y�M|iq����4�'h���&f���Cb�tc2Q����C_��R��T��*�H��y�%-�q�e]Z�φ���+y��1ɎcU���S��2N��64����#�
��ZNbf��x��+��6��K����M�sO�������1�3����(	��%?����s���Ts�bw�-��rH��E
qf�8�XZ��a��8���Ɨ�]~E���o����YY~	��&���;5��h&���>y˯���pc����Hm5�G�U�S\��R�s�a��C�:q��\�R��ж&����\����m&6�.]�D�,����4�09v3͆�:�O�xa�<"о��J+8Dk�`���W9X/��|��y�<��}&�'�Wi��;ٷ��15���7&|}�����u�����a�H6�$��8�4�ڇW��ʳ�a�����!���͠��F\e�X��#i~|����H���;�V�g(L4��p!�X3��8S2
""���muz��H�|�U�$�jB��e���)έ#�qz�i��1e��gL�Լ�P�,���&���5�7�#4�$Y����g��dl����7�����}W"_'0L38Xk	ftu���[Zl�ed��Չw�I��l�	�w�'�:��3d x)��V�s�u�3n(f7�2�:��{��"ɣ+]d�L\.��v��zb�Z���ykF�6���kB��!{����#n��RF;-Z��Y�I깘og�L�ݪ[-�j��M��%�^���4��L"�B��eVfi$L�n�7���S4҉aK�x*�[�HP�+�Fg*�n�4Br봒��)�?n�O9ڪMi,��H���@���iKg�VK��"�g�����^��c�5��͙lI�DN�n߆�u���ىva[M$̍���`zb�7����_��
�(h��u�8;]�&t͙��s]3�˰�eD�<6aL�
�!��l�!-Ky5�W	���KH���.�K�„���H��D�q����5�D|�h���L��F��f����#s�l#��"�Kb��L�ĵHh������	`�ifr!
G?
���J���@H"�A~�O�\S�+9g^Q�|�Fe��${�VU|�n^��\c�
�þ��\�Of�Lb���^�t,_�V3�ϧ���6*n�3�~����&����ʘP!�c�OYë�x�T#V�'�O��� *�/��VH�(�}���M���Ӽ;�iWwJP�L�]x2�3��E吻�yٴ�
ۼ
b��S�0m^�(Z�Ȕ�h�nwَ4�����M*�۞�3M��ƕ�1i��5/r�Y�um�YaVM/\�-8m��q�R��@���nI������O�
�ϓ�Ll�[�vʁ���}T1�3!v���
���-������4��"�mMm54�Sȓ�˓�7���P�8X2O��ŏ��X����9Ĭ��i�>6M)�ْ�3�;��|���� EL�5���5I�Dm
�M�sz������6VT��v%»�q�)\�n?)�#r'8�*x�}{;h�S�E<�p��_Ϊ��~^|MW��+��}�M��E�n����/R��x�~�'H��R�ĝS��#YٜiZC��cC�fd��Ùd[l6<�V���԰�4�8�x��d�����єBe%�����&�\�8����ƃJڍ�FZ��Ȧ���9ľ�/a���CRb"�oQD�#��w=R�L�,�T�C~��rC��L�V�,�.L�M��{��}�mb�?/�`O�%�(�����f򖋭xA�'t��|�l��W]_S�-��f��\�	�  !���b~�l$`�	n�J�xu^DX3'�ù�Wdr�iH�	j�,1A��g�WB��4��O("��&�5����l�k4�C#�J�T�*?�X3���V��k�%[w־�޼�,��:�K0a��3b�K��P̗x��n(��&|̣]B��/���'��I�91G*5���6�������Kw��@���S��m�ؐp��9��$^e�7��Ob��
qژfY�D�gDI�/�.&da/�@��r��ƾG�	�!/��YSU�A�GϞw�"���iނ5�W~\/��}'��*�吘�*�w�p��d��n�qZl�	�LN�jX�1)��,إR"�x��Fp�/p��a��³Y��!R=�S�4r�U��s����|j�%šz)��a��*���������w�5�ec'^7�h��Ɏ��h��y�~
�X�x��F]ϬU�'�ry�V��]�l�@��s
$f����֌K��%!fL�ď'8��2$��{�&_�g&�J0zg���t��ƖL��j��d�iý"#1�P!�
 ��\�6�׸JU%��Vg-U�Vh,j�7�`�흪�\�/�^35������Mk����HÇvƉ���24�Gr������}/��&FMc�xT�w�$%��3����G����h�#D�Q�F�m�ݜi2��O$���P�ń�(�7�f��N��ݵ�c��GN�w]�zUx.-�N������˾�^g�d0�ol�ȆXOGZ����cܥ>}�T�.�ƊQ??�P��3U9�KS#
�-�c'�e��ф��yv����Nո�ԓ�&2#7�a�0N~�����Bv�A�/� ��xk�ΑE�_�G͋� )�k���Ğ��/L�e��cNO��S���0��_X��Ä!� �H���$b��2�:e(^~]�W/I�SB��*���`Z����}^���9m��n�����s{�v��I��:��i�vi�����)�^+I���Xnt��#��3Ԯ^\4�9�J��>m?�:�mD��Dr�IN9߻�y!��sS��	���7}�]2i�b�����i(WJ>�2�d��p�m�`�A�34C��ց�Q��t��t,d�X�$��ꖋ{�>����)jq�0���B�?-�LCV��8��Q�Z�
w�6�F��w!�
���7�$��r�ڑ���8
dc�&&x�X��Ee_����#�۱˪zZ%��蜽�}��&ZqpCI�锤[«Uꢤ��ة��G��'�kϡ�c4�����Gn��t��� x�hNj&��섭���2r���+Y��M0ׁ�������k
aoM�~�*1̶1�ŵ�1�?��a~�h3I2v'ڣ�	�Z~���5�w`x��#�i��R����M4�I5u_d��q=6l���
99�
BJ�b@��>��<�aVIZ�*��qj:O\&���eo�oJ�
?��:� =r�/�2�4����d�j�g��7k���E���o;
{I`����I������*����ǥI�$�p����N��Ǹh��NG�0)��ן�'A�PV�#�@��	��t�&�_���|Ӧ�J�8�rE%/s��/�+�Eh�D4e-���֠�h"&���uvxGAU�j��6/fMo��6,��_%�GzX�j�I@wg����\i0��^zX}	k~���f�u	*�&����.�vU�_��XFF�a?�)�^�[�T����Mȵ�!�}C6#��
�2�o���)g���Ⱦĕ�N#�ɲ5=G���abGm�%͖����)����
��71��w
��j��>T���U�ĈN���
[CJb��e�M�ψh�"�����`��h%��+���tyn��h�����)e��mډ���;���1:6V"�x�D{��
n��z@i�2%4Q���aa��%��v�g&��FOR!�̈�$߿�i�!�M�B�LD�"m���YC��̆
��O���
!C�1��\�b7�JW������=���9���3yF{�<�)�N���|��x�Za��������Q�����5r�b|�O��ʪw΢'��_��}Y�GV�|L�m^���=j�X*��>��E��b\m�lhY���e��f~�;L�e�
���m���'3:��ɦ5
g�`jn�R�!��������1:�i|N���MD3�j\����4�[ײK�����e���v3�ê�<B��%Qiy��Py��v�M#?q��R�0i�׼�>��Q7+hC�^����:���u�^�Ƴ͸��VS7�j���4R�ˎ�o%B�;�
�՚�Z�ᘻ���	�0�=2OD��EC�
O�$���BQg�t{�H�5k��k��b[��H�!�B��E�������p�}�g���Sm�=�b�����

�b��(����.��P��)���޼��f?s�,�tLY�qp��A�-56��ū১j����p�.i���2;��G��j���w.h��tLӌ�jW"�U��<W8�F�>��Sl�߲{��}�N�o��6��\����܀@Q�:�]�FY���Y ,������]����Ӳ"�ь9���!�+i$�V�
�N��ⱹ��a��٤O�IL��X�z��L���_�0�.��s[���4��m��ȴ����ռ^�?��]ҚO5�ob����qjrfp��t�y�r66�!��_�����	�8��R�kW�Jn�A�QmS6Q�%D8&㤑�}�e�Ÿ�Խ(�U�8�8�S~��/dz>&�D�^�_kh=L��Ct[�gz�o�e3��V�h���MbEK�A��WDC���">wɺ5=j��"��Ci��d�Γl�`�^\�P��F���$��fN��Mt��D#0�b@�P�e!���Z3���9�ăM	�4��#�-�h�EH�"*M\�&��%A���n�۟	} ^��QW�lD0�<�h�=8�y:c�wQ1Z�,k�+���=<������
f*I�c���Kz�=k*hy�}c�T:&!�ۻ;���� a�� �[���D�ʊ,O3	�쇁ͯ潰d&]���X��o��ƦKƴ6�U$낍.&r),63l��v����a�2D0�5vr6�cIކ�MY[�0\y�K׬�tx��eDK_�j-�GfW�e�z�TN�?W���l�!��9���߻� WO�]�0����R��қ��b�e�O�,�Rx�!x��,��a��w��!�a�B�/j"L*�g3/j[k��
Qc������3�Q*�[*��J <�l�0E�q���;��I�!:�	E�(^�u�}�D�'�`�X┱�"ƴ��T�b5���^͸�^�ZJ8�I.f`ų��f��k�
��L����FK�t�j�4�պk�&Ow��������Se{��R��`Mn�d\~豬���0�"lF(`��6�bE��y�h]�X��L^,O@ �<$�#Qݴ�/��r�bC�74&<���!��Z
�Fb7�,��|A �S3����dP�� Lp620��"��!�l�cKi�z�-�+AG(���r�A� Lc,�քT�A��C��3��m�ϋ��ވ�$ɇ�/a�ʕڴ��բ0i��dI��d|L�Z���^��M{A�%<{��h�l��7"+p�X.����McI�i|�]r�«��m�"×2Q����~���-R�1Ԧ!s�G癄
d�Z������ֶ�A��Ֆu��
�5Ls��%f�0�ft���5d�+r~G��y81
�sP<�=��^��E4�;����v��rsH'̙̞�������1w�Fi�	ڢ���u�K��2.&n��fU⩪�j.�e����.�_���t6{ՙMQ�B-ep��md���T�@�?��1���	y���p��s��i2b$� V���1��{n�ܠ�u^k0�{~뼎��A��9�i�6�;����%i\A�Ui�PS���G�@�]Z��!օ��M�&��[��!~��ݫz��Zt1�1�[C&���tb�O��]���b��t��ZC�
��il�I�����wbg��NCL��k�l�:-�y�)/�&_��=
�vs�DeO<+C�"�x��`F{!��j�9��U��_Qa�]�dRF��o�Y�),C�qtJ�����	�	���NRTu�e�7��s<k��3G�8��&��%,Fɀ$�T�<�-�K�i�x1���5r�L�^���a"���*�3hb��
%ʌ���b�
�t�fh�4I�f�u8_!ԟ*�K"�q՜{E\Oz�x�0ObdJnB�-�jgq�+�C�[��T
��Q�T2Z|1�tq���'*�w���G��X_�Jpv�N
�{A8�ZK[䅋�2�8ͯ���,��գ�	�n��n�Rh��ڇf&�~6�8�.�X�U�mg�m����K;�{I�)4|5�wd��������۶F_���Ճ}�Da�9f�/����2��z�I��Ŗ��X�?�"��F��.)�3���W��O�l�9�/,
7�͊4rrX�N��/�D�)��hI0�@,v��3L�Mj�ZO8�R���٧x;K�9�?�Z�}%���vX?����j誁U�A���f�|�訇�H��"��Qf<��o�́;p���2Q�I�L젆��%�$]�'�~�-���M� VՕ�,\b$��l[��E���~�/��r�XR�y����qq���?�wt�%��XV?WZ��e��`��cs���_W+j��dU*���t�.��zxq�zlo�l[a`�Y�F�^�Ll���U#K;�|J"'��Y��P�˅h�L��p�R�̴0�y�ed��<`J��Fj��B��O��ʡY���k9�Y�#q��v٦���j�@�6_�J{��I{F圎Hf2�e�6B���/���iX����c�/�A�l��]���-���!N�Y�QI�:G*�e-�x�X�2+��9�im�[����h�5�b�$��taR�p��S��J-��1D�a'���L�j�R6�Ǧ�{�XU:[��=�'MG���7<�8��훰]VA5>I�ޛ#4��rɫ*Ѿ�,�凂_�[�R,���J*oD,)1�d�@~$N�4�4��H�\3'�z ��a�y,��дj����td�t�R51�����2�v�ћ8�FL~&c�ߊ�/JR��%/��:�V�
L�o�ig�)!��2!��}r�R��is���ڔ��Q�s����!�ď`oe���:��M)X��Cn3̐�	��B��w��͞�ơ�#���-ŻJ������y=��Z�Y�T����&��
"d4�6��Vb��j��M�)5S2h@�&����E9��X��G�oڨўf�q�Uz*�z["�Df�[�1��:�X�kk)�c����\p�N?l�D�R4DL%��f	3͎h�h�gI.��<̫�����'�a�L�\��v\���B�k�p�
�@�&Bqәm2�f��ڹ��Z3/a�!���:W�tbfū�L�(�����j��r=l�l�=dN�
��BU4�3��3�,��1��n�_2�.�)���3���0@ƆVD���%�86�{6p-�Z�����vΛ=��3R���H��^�%�m���;º΅�!D?�&0�A�'i��j�5�0��E��%.i��\�1��hG�%���功2I�[�%�
�Y5�RZ�k*��Z����OtGH+!���a�	�@*�Ɩ�nqO�J��|��S��Ooײ�8rE�) l@-ɬz�Pl�c���-{���4E
*ʎ�S��� �Hv�K��"%{��bF��*����s��d��!�Y���.,�}I>(D��[����T��d�T�&g�+c�G�{�`
6�E��9���4���
&�V�anz�'�Յo-�(�8��s����>�~�b'slP�a	�^�<�B�y]F�c೯�i�K�8u4�E�+��p�6�>q�c �Kxm���$q�!�3�yFq�.@�o�
R���8 ��Ʉy�\֌���j�F��m��}Jp1��c��xNT �"�ẝS
�
�[D�S��f�
*���&:��.$B���*�h�{*O����Y�~wSx��ڣ��v�|���|��.yM��K�b��hDzY�j���[���.v���!>�jx��
��B,����{^����o*`���Hp-m�I��?RrN/������`:��
I\�o�s��\U�u�i�\hM.
�ǰ���8k̀�[n`��9�S� �e����vQ1$������,K�l����ɬ7�f�gH��ӄL�!��5���1�LI��nP�$����}�����y����O�jn�~b]����83*�rN~��7�e�Iʤ�(-Y�Q~G����o&7�l�*�.N�.NϮ�]��+{��;_+A���9�S��� �l(��o��̽�o-^�!IpJ��L���h
��"p���yq�1[�J��ز��(m�W�Á����s��@'2�x̢z�]�S3$2X�K4�U"��
|��
3ig�9p��s;g�S���oIN���?�P�;�q�v'>74gr��,Z�j;�
d���8�����C{�[�`;�>�>��#	QV���.D�7Z�b���!3�d��10vt���Q6ϰͮZ��j�29���W���[���K�Z5�a�6��.�,�JU��{�g��V2�U5u�����`���f�>�a����-�/��
%|�3�Ј���F%6�8��c�$�9~�3��Y��ҫiBW�{Hr`�����3ISȭ�؁p���§��g���Z$-`
�-�0��)š�M9��j����r���nK�yl�6ľK>Ts>�N�?C��2�.u�> �^�"c�&hS��E%0�N���&��4s�NJ�m͹������L�D$=�����6lS�BK>�PPX,�����s�V�=U+cz�¾1V/3��)2<���{����j�!"�$ܠil��gF[9�I��`�7f!ew��V%;�8����Z�DA3��I��|1)�U����8�d�� m:óE�L�+j�f���]�]�ҍgj�����'7��|���w��<�؈@d�e�r�9::8q&6�}�cB["	E8|dID��#'����@j�f l��b��CϨu�nΝ�B��)I��O���:4J4]��2#GCyPI!?�8n��gX�|�mS��5Ё���i���B�j����a���w6T��vf+ޖ@�^�W� �Uؤ �������1�%6J�˅��9P��;�;"�$������0��b�#�rd7�*m�"Om�B��s8�q�]�%�k	��H�K_u�b�:aтv�y|&�ޔF�3�KU���+��DX�+W����|��.
Z�<ƙ�M�;N��c��t���*+����a��8�Ɠ�W
��D�G�ڝW����f�v�!�Q�Q1�2��>�)TQَg<u�:�jT�04a9l�Z�`)�TR�G�U3B�GY��d��G���
f�a�{�H]��r�]h"��rx�| ��ۻ���ɨ��<g
���!8I퀫�!� �Ј$�2�R�+”"�ʲtEM�M���}��B���[�uX���7lJ���M
?K� \�w�-��`.8�H�+��
�����oD�}K��b�~��˾�d����
�T�✎�%?�mǡ����uL����M<��奇9P?]��]�%.W�EC6��,���gW7g'�S����P�#<��#������ �/�*�!�
ko-OU$99RZk��$�^�d�����`�B$����7%���)'P������&zKp���&<�q��P{���=�����������V������j��%. �dz��,����y����)
&쪡7����S�Уi*���0�כy����?ǁ<R�����wC�9���-����-G?�㋽�w����e-yD�FU�RUn�2'���`.an��ↀh�AQ��c�	}/�)��3S��'�un�+=��vE���VbGQp��*�(�/.�wAl�M%6Ѯ
��p�K#��$�G_�-�)-���H�zǬu��f�QC��{#�`"�$�J�q&굼�;�F�k&L�1��m(C�cL�K�X�D�m[�D�vÂt	b��%��J�l�5L�d�R����&�1�CM%�r��nuR���C&���,��⪢�����󰥼������~OܲI���l D?�d �gq���%�3�kH���`��i)�T'�A���F5�7�Y���R�I�>D��ϸrs7�K6s����ܵm|++;�X C�-�۱T[���3��'U��ڮX8�q�ݭ�ޏRIre��rR` ��?�r왾*>{�/N�"���۲�:�v�������!�gF�o^I`Š�X����!cdi5_�@1GѸ��t��R����<BPwFؾ��-RsF#>�@Y�2w���}n4�'{y^��5]�;�o?nwT��o\k�!�
�+9',�0���l̸1�_�v9��4+����="�M�1v��}����i�������x`��F���Ĝ�X�y��+���-����g���-�����7��ox�����Rs�5��	��<G�[�U�Y�q�08;:�Y�Oر��1}��2P��Fm�"����co(b�I<2�j�K��#�R�q!.�@�u�K�����ןKī�� *�i�@�P��"3zA�>�E1�
�|� b�٢�_��Ĩ��4�N����॰��x�TT"qo'�	�2
P�4��gd����\�Şr�w�)�0�Wѯ�����ك���k���]�K�B2e=�ؐ&-��KV�$x�l'?��dc��85�}[�v% ����K��l��3y���#D����'7-�L����f��>�<eI�o��ۯ����BWi�^�T��0"��=���t(ؤ=� �E��;H]��ETe�	�5�wnlg�H�O�/7'$�ø$a�Fk���1iA��jٰ�Gf�&���mU.k��_�/��eF/R�c6{,;�WP��xdI�o��KLL���u�^�V[�:�nk�(׼'�<��e�/ճ��D��ʽ<���� L$£Pm�")�!��@�p��4fWΥw8#��~0�(���FT�Z�|�h�O��(��Z"�I�s�x�!F�Y�F�ЎE�9R��/T���ӳ�#�ʽm^~�υ��G`��Ƭ�=�q/���'q���˜LC!Q���y2��O��]����&u���Y�8�<�/u���|J�cL������AIxk�9�zx�Ʊ�9W4Zw2Zķ��� ��^���㨍(m��$�;�*����-�Ř���ɏ����U|�B����5�).���1@]�mBR�
�B�=�͘,�;��<^h!{�'�!��B��v��/PK�}�[:���k6litespeed-cache-es_ES.l10n.phpUT	��Ri��Riux������r$Wv&
��Sx�:�L;�`��>�ɖT"�$�&������qD8gz���#�^�7��cs.h67ee����X�͈7��W��}k����Y�>#��D���۷���ַ��������֛�-��O?<��ڪ/�]��?��_4����᳿��z�7�|���vh�uݵO���E��p�o~�������7���㳿��?��o��_��s�fӗ��ˮ_������*������n���i�xzS����6�������z]���jQ���J~9[�MU<��Uú諦*�ꉴՔ�զ��A~X�������ٶ��e�T��釳���][_��?�r�i�E�+y7K��f>�6.7M��C�EW̻����˪]W3{�n��ٶ\�b���Uqr�ٻ�b���u��O�MU[,;�l��Oi�X�i+�^���͚/��Q�(��?ux�|�b�i7I�M=���k�X�M��^��}_4���?�����M���=ϯ롸����u%�k
[M��7uu��uq����x��\�|���2�z����w?�A��*�4|amP���#��4:���eX���법�.W5��4�I��r���9h,��-ެ����Yߢ�I[�B�K�[YQ����v��X�
��4l����,0Y�w�Gq8_�7el��;tM=�9�����WK!o��a�2HY�J�n��]Y�����Ύ�����c�x��ְ�0�}�>��Ϫ�Z�*?��w�a�O0u�f�,�-�{+���]w�����z~-�S�K��Қ�@�����qS˵����-S��~>��e�7��d�ݦ]$k�j�]+�Ff>XyBW\q����ou����N��x�d�����粯eu,��gQl�u�<+�^?%]l�/���B�O~]�ҧdb��MU�oϵ��P��JC_�oŋ��*^w����
�O�.d--����O�{�}���e/?V�ݏV��ϟ嵌E���S�����KY�5Z,D����I4>Lϟϙ��M;ǩR6�z�;����m׿�g.���+َ6�(�D�Av��E��Xe���F�!�YV�\�,�����u��½}�{e�+���y%�+\�u�7�����"*p>`ͅ���;���+NF/���>əUS�E ���-Jȣ�u1h�v �{[�Zj���]Y��|
�'9�ZZ���\kC�?�6�kH�&��o�E-��Q���Y�[ǻ��Q���Ί���۪8�0o6�L�6y�ϯ��{.�в㛻[���(��R_�;9�͛n��;��	������G��m8�(���.�ʺՅU���W�|ě[|�p���M�2�ev&�7ɳeڕ�A��n:�\ky�nsu�ų�ñ€e1����,�{^u�«6[�}��V��K9O��4~���ދ�+����T���}��m$�a.{&W`T�^�U�p}kEu⛲�T�e�-��r�j�k^.��u����Ks]���7|Z�!R����Loq��4hs3S*�+��+݅쫹�����O��=��G���x��-��w�HN���k�X�_�S�r�(̋겆f}ɴ�f]G�v'����1��b~H�^Y�T�����ϲ�Ĺ�}�O��M
Ŧ�������;�|�J�����N��_�W"�U��W�m�g���/�3S�z]Rs�����%����A��K��69	�.nJj��T>�mo��ݏ�m���D*��6�ݿ�š�5���ZΪ[mV\TY����,�e%2\7��J�)Yo+�1��Tֱ�η�%�[�t3��Uq�!���A��幝�R<mX�e�"_�9?~&s����Tt��aPJ�V��3�gJT�b#:�7M��ĥ�w�ey�>��V޷����T»�-�R����Q�O$
�����c���-���4�M�Ȱu�^Tf���~��x����j��&�M�Z5�F��^o�������XwXtz�oiN��S���AS��-�/�pu�������C��:�N�͵J���zӲj5:�Q���XeU[kM�5T�@_���ę��Z��[U]oGn|)=~\����oc�$���}���V=6���ى�bc�X}Z�J�pA+�Du/�u܎n:L��3T���P=�NW��������B/�?:�pV�7�\���Rӕ0�Wpji�W�:;:Xe�(
���Z�[��Mu6�_��wZJ�z�g�M�ī���!?_�at]���fuс�T8����EWh"��C��n�ԋ��C u��R�3n�.��MwA
�R��������-��f%;�]�s�R'.W|BgJv�Jt�����y݌�𖏊QҹCS�Z� �v��֛���w�n����iâ!v��f�˲a8��鰮��.���G���?š��w�&��\W��n���Ɲ�<�>pz��/�_��Ӗ,xE����aï�#@����"Q���M�ƶl�u�Q^j��HW��]"C�F~����'xή!Qّk�r���˗]��?�/7��[����G�
�&�}ŝ���P<������y<<�}�G�XZ.�v}G��r-FG{5����\�l'h�M��aԶ<"7-��|#:q+�����Egj�=�вI��	��\�N]��)V��r:�b+�1�9�x�(9���{��~����/e��a���v�\�]5���+�M�9���Xȱ-
Ⱥ�<c�r<trJ���n)�4 ���U�"M���s]C���[6F�Ul,9A����`gc�N;$���`�/�[�V�G��sO|mǦ����㌂F�\3	R��������3Y^^�q@-a]^�$^����\�4���4�o�+���G��eJ��̠����j#��^,ȗ���"��JV����p��X�&P^!*V^�V����b
A�;�=C���ޜ��I<��}/¡�'Q�����J�ɞ�Y�M}��Bֵ&���SQom�0�fz�rd�JZmi�w'm��Aa�x����N�{���̑�OZͮfr�I���P8e��jV}7sQe��*�Zlm�{�U�/��h^�n��[�.�l[�G;ݴ�?Y���n�	�N��Z.}r���F�����\
tH��<�!��L���O@���O�F���^���3���kٻ�-e�>���ODs��Wr<
�i�`��F&Q���	?9C�x���@)2��?�W�8�R)m�"v���PZ7�d+����i�р{D_�����ޝ���^�|��x�ͫ����o�o�?/OO_����y}�?�m���2�3��x-=�+�����W�$#{{x&� �dP�g&�`s��,�BVZE�t�����@���L�
숹+�j��$ޗ� ��S�IF���)�=-��<����V�N������|h�.�[Pn�A� פ1�">��ш�ނ=G����ZG�5"�j����"v(��" 
Q�����Ggg���8Ne�� �.}y���緃X�i�\�D�uo�}	_��K���
��{�-^2�}\�9-�a��-Z��M�0�m�0���t��usC�o��f�G�ˋ8\��^Cբ�Qk�/0�w�1��1gyyI��"�쪅��ϣ�\l��F�Sz��F����&�ug�V&�u�jt
;�5ا��������D1��L�T����ܣ;q�A��<%��Ι}�a;.B��[է�06��M���)J���=�-�U����A�H� �L,�6�Ш��m�n��f���l\ʽ4o�Z<�<b+�C[�Kў$1+���C�p��H7"�`���T�:��BK����y���Z.��D3��ʋj
���4
$/�w�krQzP��.I�ݭ�Һd�`�$��@/�ߍ?��K�f�^m֔r%L
��%<�Q�0x��Q��?/a��Y�T�� z,CH�"��;�p�k��闧�%<Z�t�Z�-��\(�\�[iW�7��28�)v���D��IA[��`B�ec��\�A���82E6���h��t�y7�yt�Ԫ�r�t�ޏ���������כ�ڛ��D`������<��*C��[kH�GzO�0����$-E%��-4-Z\�i�����g�ߜ��>t}�I�y�z�&}r���N{:�m�σ�K�?Q�Ei�T����@h���0D��P��sH�|9́�3�Q��<j,���X"�2�K|*�S��=�6��-.o1s����T���Rg���Z
e� �!��u��n�j�:y�|�u'��pw�z�պ;���u�4z��L`�����Y�M�Ơ���r��d����踠H*��3s�B��iVK����Qr+(���Y#�Hp��
�^Y90;]�r\��S���8��,�e��O!l
_��$en}���8@c�ɡI�3>9�A>/�닮�FpHr{�ȣ�t�#�7/�/S�r3cAg7�|�Y�ì�l+'�Y�b85�dr�ҟ����N�E��,�	-W�� ���Q�wb��oc�~�L!�O����r�98Vi-�0l��E{��mUJ�9X�}΅Nź��3Q�̹�s��7��*~)�e �9��S����Q�<����A
� V��ߺ��؈���M�a��wa�׃�ͩ^��	)�L��#��턦�����^�c>����~D�B�7�TԆ�	,�'(��{t�8����>��b��-��x�/=��:��

�_��O|�	ѝ��Y�e�uI���"##ȱ�d!|�d�^"�˻�,%�����g�P�6��طuh�~/�%$�=�z��f›�;�db����I"�-��pl�5�J>�/$�	��o>�[�,ix���.���}��]:EY���3�ܭ(�ګ��ʏ}�
���T��F� n���6WE0,��b��&����A8`W����z��r>tkp�,�m'*@9�j��Cf���ٔ���B��;E����c	0@��3�ISp
�Q7(P��zM�\^"L�}�[؛��Y?��Oa؟F�_n�!���Ap��7Q ��9;�q�Sc�\H�65*jk@+ô�J���>$�7=��:;1i�&�#��	���
�bzҕ���_tM��y9��Q�Lcc�~%�2��;S��<Ed�g��~�Y�R>���h7?>kw�z�m��#G���*N��!��d���["��ذZ��P_-���Q���a���k4��,�-|��Δ�.�,ʁy�0�Ŷ-����k����D����6b�V-?��(�z�A�fjT-���~X1��F
�nš����ۘl·bTr&
�HN�+�k?���r^<����I\�+_���WM�tՉL����F?E�xKi�B��96�ᝄň�yC����2�-e��!x����l����m�F�

:X0S��_~}r�tdc����aI��@�u��kٯ��Ô�����+6���+�%(m��E�c��a�q�%Xc��rX������dQ�H��Â�D7�џ��E��<�1�k�Z�k�1\�I���C:��?-��SZU�b@����"E��>7z��xܑÕ"%.+uC=�Pl<�^�'����)
ƁYV̿N�6��ԏФ/~$B�a}��|D��!u����,�X�a�#�
gfk
V?g�O����r�;�JǞ���ĪN_����͑�n��8��{�@�gA$J�V���G��\��E�ao��
���sX���T����%R�}�����%�&�|�~Q�a�d��ꔫ���r?�&��T�u}Ibz����h�&Y@8|��y�`LW��v�So����TN�n�]��bG6�M�*N_qP|u��N4�^��a.#(���f�a�06~�R�L��]�s-�	Y��
]ʼ�?ŶC��B���Zڢ*3���|�*��(�D����7�'6�4���S7������
�:��8JCmB[���a7Jf��feǍ�#'�i�zӺ�F�찔�W}H��-�Ңk���u1�b{_��/zF�6�����͖�p�i��}�(���4��_
�8�u�k�D��݅���U��
��g���9����tK��t1��,��;�#
.�k�0���`�G	����U�0q����e��	��_y�n��%"_�#��6�`��S"=��`w�'������,�'�x"����w�$14��3�E��Vm��~a0$����<\�G����*&}�+���;\�����É�z X��feQx��L�ա�#"l��'�}�v�&��������.c/���z+5�jç�ۓ���Cb���;�w�	�~�c	6@fG�׷�%��2/BH�=��!�W�=,�E�3k!�_�1�e`�Jd#��|���\3��KQ��ץz	��^*��yu�t��C\d�`g��1������N�g�Tػ���������5 ��xR?	\��x(�0��%L	�C:_+`x����x��w�XGA��T�{d�uYY�f���5�S�Y�g������NFY��z��H��RmlC���=˳⼃���ĩ)A+���"
W�U%6:�#�H՘�z_�h���6�RI�c�E�BTG�e��:
��z����U;�+m�5����
��+��6L���MZ��x��]u#�}>?�5���c�Zz疴~�
k�Qp{�?w`�6�ݏHE�#�O�ʝd #P
�gM���p�ëR6�l��Y͡�w�yJ_�6������>@�i�y����7�ci�ʄ�р�~�:�@X��%���Z/�X��k����^$�!Î���1��BZ��(�{���O��0���]w��0˳<�CS߂���*�>~���-oC��PG?e���n�{��*�Z<�����;]%�z&{����p:�U<�n�wz2�v< �'x�}�ԝb�j!�M���.}A��o#�Ύ�zs�b�Zm�+����}��xh���d���@��ȺY�s��j�	!�4��s޲젯�WD"�����@k����%�?�.�������N�<T�;'�V��u;:v7����I��&�����F�hĎ�4�k#��Z���%}8��Cqn���T�R�`—��1߆��$�J��0�i�]�6�~]��̐ߎ1��( �9	�T�����4�g���{LJ7׿l�~�/g�on0��m��6;%a�09�2̘n�yV��#�]��Y�*�(����uY�����n>�Y�.2�x�����qGĠ�]��9no�~D:g�O*�;M�!���}�mG̝�zz��a��(���"mj�n�>U�u!]�C�^_np�"�F�VWH'gsw����!��W�Rb�N{r�+.�{Y=�����<�+�"�>pA�@���cb@�ܜ<�
�R�ܣ���+0�?\ɱ��B!�:�/S����c�oO�텷1��f��N�FNJ��9���pb"B�;f�|��)���d��Ov&c65�0���q��C}!K�����MI�W5n�E��չM����/dnա���u"��ɞ����8J�wZ�M���{��k�x�Sf��<���Ls�+�v������Im���8��	��Z��ۨ���򢯲�J�M9�����9�gN�E�j���06%\^��ljp�5�H�]*�G.gfZ�8�ݮ��#\y{�p�s��J���&η�%�\���
��̘��+���<�
��L�<X ]�>��)��˱99t��.k3�-$����i˲�B^!�P�.leX��$iP�t�]�����
���.���eala���&�P۱���n6B�F����xk�PGP�ɎGB7ӣ�HH#��?�d)��A�?��T/5]��G��2%9Mc�����W5S�'��_�����q�2�`T�pD�����y�>�NC;����i��(�	��:�hg#�W��ՇM=���y��楨"�YL+F���l6�k*۩����Λ�a�t=�!�W���
��z{��Lvq�|#�﫭����J����E��.+�;y�9��f�h@�6_%���_��ޕ��f�b	PՌ���W�n��;�rK䑉.F~d��dI�rL�w6]�	��Wp�E������'��6�����3��Ht	eL
-��I���rx��"J���5�
�w�Q9�!����*ڮ�b��q�ay��Թ��R��a�pU���E�) ���T˿�.����B�>r��y��DeM��m`hk��EyQ�1��TS���#bդ��-���
f�dLJ�T։E\����e�*��}/�ð��q���n;S�.,�u����j�����Aƒ�Z:�ۈ�j[�8]��	1�A���I�.�YKׂ���B�a��BSW�:������@Q��\�>�M0�[��Bcʎ�)�5�+%Ċ�t��Z̤�U��+'�v1���3��E$����d;�ħo��?��<�<Zf��h�1Ł�+�%��]XM�^Q*����y�X�v\%=�҆GOV��3ú�	�X�U�V���Ot�k4��1'�?W�
d��\M���0�+�t�
����%��/5���q=]��Z��>����ڤ�W\�紫��K�0��t����j)���9b�+o5���M���d�{�]��ʗYפ�늞�㴎�&��}�D唝{q��w%�ڷ��@#�T����X�p�-�����+M�mD7g'�^A�t���})g9��o��{)c�g�#��@&�FX'��ċ��|]0�6�H��q��S���+�8�ֈ�rR���Y�ނ���=�7��$>S�p��ƪ��D�~�t?�7h�H�V6��f��BZJ�EE�>�j��{ûj>�N�� NJ�;������IA��3nA� ��c�#�5QvbGvJ�fA�������ͯ5�D	1�M�3T����jʭ�B��|Б���Q�5�M�nUbe(�-- �|0�ЈL�ZŖ8�A��qhr�55#Q�g}lˁ��:A�Pn��r� �@�j_85s4��L�&p�������>K���޼'a�a\�0��RԹ����lƼQx�^�q�N�,$��	�t0M���	���`�ʮ��n ���X��V��q
��¨�*;�7����ِ#�\)ʉ�(���Y.J�Ё~���4G%��-�ܚ�\��ɍ�ې����㢾�p!��tP�z�ʻ�/��
͠��7P*
�Q.ɓϵ��DiL,wN�=� ��eM.ʐ#���������
K�ٙ���[[Z:3].d��8�%�͊��z������겎E��iv��rD�+��,��9�&%E��� ӊ�A��*G�����;)�n��DS���J�ե1Q�l`KqӪ����F�j�:G4�k�E���T`��|]:qlX�����b�����G>��2g�=�{"�l~ct��k�0��}7}X8d[��8��"���f��c�jߋ'N�>x��?R$
��猎]��|�mŊY0�DZ�fq��:c:W�����z^�$6px]l�dN�G-@j�Ls�����ұJg�&/D3ӖBpG�4���ݭ���*�ÜY��S�w�����N�s��ԥ9����$��&暫�;��X��2���黡ue
�EyU~�{iߙz\���r#*�8�)�B�e�ګℌ�d]׋Qàk���򈓵���ҋ���)ҝRy�gBr���_]��y !5�㯺��3$G��Dcذ�s0j�I�b�C�aZ�r�!�74�A#���A�!�&�sHt;ެ\������re�xDj@}��Ã�%���>�zS(u"���KC�FIY"�gD-I�!8���@�e۩6S������
ԫb7�Q����E��Чv8�s�R�l��‘m�4v�a|d[�^'��ݙό��ʒaLB]C�:F�Ś�3�QIy*64�1,q(!�
B��آ3����X�M�}� ����U6��F��9a�@�RL�����D��m���1����n�t�?�Kv��
��2..S�M��,J|��^
�h�bz�-
�L&�r��DL�����r�����j��(��;�wy�����J����Ad�J���G�V. $�UNB
N��(]H�V�vj��n�]��iV��߾6���7��:o?g�!b�Z?�= Ǵ�F�k��gH�kjXւq q�,v�nJd�m���Yt���b�Y���U�o������	^
����#l�mw�O)jɴ���:��?���lc`&0-��ԕ��#,ԸH�B�tq�?�M,��i#�6[�)RKq"�z/�ӫ�U�;�$�ݜ�l�����6М�KX�y
H�p�z�B��-	�)�K����ǟ���=fF�օ��(#)3����=��O�zx��;	'���lU��[鲢r�ݲZ_[���j}[�a��<!�@����hEIG��1Gj�Q�(&X����c�~±�܀W��XC�H�:2����w�S�l�:�=x��:m�����us2�7V:���2��eT2�p� ǽFlH��bt4si�*�7�lF��HF�q�j�|ż�RJ�㸒|�ͬ�]���P}x�ڵUȊB��Q�h>�i�L��h>��W?�k��4[?D9sQBl��8:!X�H�>����/A��R�y�
�JM�HȢA��u�_�q�tmyzQ���A
Dʖw�McB�P���I*�}����kc\��8ڭ'��Bf6θI����G��U��WQ批��R����
o��NHp/]�GZR���Y�GB՝�cGV0(6��t_}���q��&�iN�Q|�ã��WXC~�<���2�*��Ԏ�)W2��Vg%� ���
�]p F��S�;fO��x�
�Oj-�c������h�/�keX.�n�<F0��%}[]@nʠ�d�0'�_g��t1�qS@_�۩��"·������Z�j�`U;IW?̜Qb�E8ƒ�H�T�wK�b�<qm#���C�!ơ��;��F;E�t�ٓ�-� ��sb���D�����Iv�	$�;�&A�x�]�4�6C��[$�O
��O'��R�
����$c�M�=T2R�����_a*�-j)���[ӫV/fK6�d*q����s�ɚߑdT%~��Ì�V��1:�L�5��p�эo�`?F̑nl��U�����%� C�}�l5���,�KQtփ�zqS�����{�(f��F�f��u���.8�R~5��[܄j�J["ߧ�L�[y��/f�!̍�5�zח�K�5�|-cmۏ�ngz� ��n4Z�B�kyl��=,ō�R����!d1p�Z��:�2X���fp�M��5��Ӷ�K�vX�F4Ѫj�k��N�����C�r܌F���o4ԣ� (9
b�5�WY��ܜ׺F�g�~�F�O{eip��Oc��\�|.
�|$n��B$�L�A*m�*�㷕�cD��+�gW���/!�>"�h$Q��m�d��(���/)�&���u����[��h�Mw��˲v��7�H��ֈΐ�f�N"�V��ܬ�oH�u-'|�T:�e�s�	�#�|f�Yvq�Y�u��9�z�H�8��-#]�H纕���K$��A+�����PK�H=�˻?���Ζ8N�c8^�O���޻��rҏ�V}ȬD< -
�z����bI��b�����rX�ap�+�D�L�C��&@��h�_��t&�(f�F	���I�Ձ���ΞZ��w��J1�:���@�[�'+�PQA<�M�
��;Tl40��lsժ�Q&s�X	��$Ok�`^��y?^�+��Q1���a�1�bx���{`�Ц= z��2T,r��A�H�`j�DC�7��j�<�Y�2FS�X�G�.47l�`��$5_h����oC�t���C8r+�L|�L�j���iG
�ڝ�^�k�>��Y�������ʚ��5��u�Eγ��|�y|��v�ʞ�㵃���ZwkhٍV+)2tjP�i����Kj*J�*�����I|(�����:��~��-۠���Ui?A�D��5(��7Uog�P�t�z`���υ�B�U�eլ�4<�nt���8�ӒeY$Lw��fiR��
$���̱�#�\PpV�3*h<ȳ	g鼯��rCǢ�*b5P�4��Y�� �rZF
y�AAԝ���;b��:v֒Y�ը�q���ݙ|u�p�i]�*�zR~؃�'\�d,U��������z\]kǟK-���`��<d�E��EΝ�ʦ"���<�����8,%!���ՙ _'��<9��F���Ҩ���1U�clϧ�Y�.��r��6���6.kf�gȠ���7���@�
eC\�F"��_ēŚ4�86�[��}�UQ�����7�
�L�
�C
 �B%o^:2�ʻ��g��`�*6]<&�"��َ�R�����0�ӓg�Wך��ˊA�?lNe���<�wd�q�8D1-��x%'��)�M�ȑ��	~�^jb9,M�����w�ڣ���M7!�$ހ3eP���^��n�4o�Ή��"u_h|o�lRP� 2�[��Y�4?ƌˡ.lm&u�u��u�zC8nn\��n�cm�'��[�;h�J���
/xQ�sn,��z=B���_���r��h�4p�d���D���@Љ�$�"��mK[���{��ݺ/��оk}�gپ�oj��s�����ß���%���
�9��(QζI��_��/�B8�r�ʊ�A8�oխ�``��o��q�t�Z��|�Uu#z^��F$�w(��^d�H|u��4"����b�ُ1U@g:�F
�Ժ�-��
���M��P���X����F�͚�K:�,��I|^����є��
>Jc�C`�[']��1dD����t��Wh6��D���Uf
x���Z�")zfÅ���2l�*N4���0�R3f��w혺�ؽV![L����E������U��<��B5@��+�qA��H=?���N�������j�
p�*�x������_#Gsɰo٧�Ҋ|��d��=æ�Fuؚ$5q�<�b��9�YE��
���cbnR�N�z��՟�5���^�e�%;j�`�n�j���ф���s�����<�GG��A�y�
	1^s���AA?Wo�����f�>#�W64G�Eʒe�qJ�&}��Ĝ���V���៫,�n
bJ�w���ˀ<Â�$q��KYܵQ�,G��Q#X^hD�i#��V��W��%���x��9AV���x�AS=��i�f�w���϶�h��m�2�j�/�j#VsޘҺ2��F_l�o�<�Ҥe4�ՂQ�M?��ے�6���]�V�a/k�i��]��xrHB����՟�-�G�gf-ia�6rX�1	��q�ӫ�R�S�=ZT�ǔ���������^�"�Ⱦ�ٯ�E^�[�9�>��P�U3Kܬ�4b�gv�xZz���S��Kn�ι��S�d���"b`�0����cM�M������LЕR��D��,�d�Z�A��]��5]B�~ �d+�s's�����L�2r( 0AљJSv���@���N�N����i����n9_!)H�B�%�_D����"�C+r��d*�<��ԣ �kH�/�[��z���x^�|�J� �Y�S�HR�W/��K�چ���7��t����B��j��Z��,��-�S	Q�
]�e��19�	�j`9�H�(#�k�¨����a�4��T�
�A���Baեò�`�m���,��~���H2�B
�l�!����Bd%+����zV�M��v��e}��Q`hi'tN@gJf��g�c�A�]]���V�A�y�5�e��/��>��쳣�ɢې�Mf���^��Ғg���,�L��\�[]�~&,^�OX�5�R�b��oD\�b!�u�H���6�ex�l��YK��\~�:��eC==�~��_���A�{{{*)���׻�-�@��B�i��,&�i>:�f��:6�)Y��.����Y���($W)4� [�s�
�P��
���n$0y4>=��謵ޘ��œX��ڔ��C���ڼ�y��� �^���Y���F\Cꄾ�?�)3��T��8$.Tc�C��k��-a���ˆ5�~��}���D	J�L��bƝL���Eq]��P<=t�,
�	
M���7\ח�!�����<�b紈[�#m�H��!���q^�]�z)�U�H�9�;�i8�!�U���Oʑ���@�37��?���Y�O��Zt �T��Oy�Wcqs�mj'��%�X0�݄��/U��/^s�5��A�����XMM�Rڭ�`�Ujkk��#����P�w����)�E�2&k��t���҄;`����x�Z�����uլ|m���(�
r�PF����0�"�_�</߷��v
���^-�Q]`Hn�Z�Q�uËҾH�ciC�f0J�d8���i�!�L��B}� ��[�	�<Řhǃӌh�iq�4DC������nq��Q�S0���d�v��u]4k7_�iV�8s��-�]�V�OQ!F&�������u9��$�-�RQ5��M�ٳJ��[�8"%j�4Q�!GF��b��
<,�|��{UWq
r��Y�#��e�W4�lo�<A����iս �Ɩ��#a�Uhf!k�M䱤�Ԍ�o��	�L3,�.r鋮���Eg�Z�0��Z�+�����a�!h��e�n�y .s��u3XM��#P���,�ԫ^#��O5B�r8\d���,.dҨ:kL~&���M q!V����\���p��>r/)���W�V�l
w?�F;�(�UOy��TQc����kHHY�ף%)J���>�0�t�y�7��R��вWQ	!�	Z�Gc�V$���\�V`�N�BQ\Р�
�8d�/Ȏ:O4TK9���=�A�lN(�6KO_�(-�w��ǁ�ط�xo׃�kj3F��a��P0�Ǒ�,�EUގ}�iU�HX�4�WWFV�-O�O�W��4]��;+L��垤�./����f�s�V`em$$� �&^S,��v��,/����� C������'9�Ƣ�72}˘tӯ��*ؙ������t�G�v>�%gїUS�j�m	�PC���d�4�k�rD��L�;7z}*��BP�� v0��|7�r��#܁7��UbIrcƷv�-�ߝ�]��&ힺע)w�e�Xe���oJ���vC��פPxe<}�j߉R�͞�5Ƙ�h�g�z�R}O�z��Lob��@�*�#�0p&�3���:���Ά���7aº��H�E8�~�Z��.s#v�Q�9�o�~���Z��U�*���C�w+-#S�xb{�'�ns͓ZD6�q�b8�?�b�B^DE7��j���K� ���eYD��	[�sV.�p������#��%f�̲��>�݌,�"��=-[!y��'R�wܻ9x�<`\tJ�ڙ��MCl�ea��ػ���	D�+��΂ݣ̢u`�3J;��̹�Zz��R���z*��::����~a/W*�H��&UZ��4��VZ:���9�9ppـ�XOd^h���(��/Yj̢]���Z�ŵ�,݉2�=
�Ձs��̃^��8�� �Ë��S�c�a���F��u`���F#]0�1�+��`X��Q%Al��.����oDb����O�~�.����L������6{�5vr
Q�@"ތ�� 1�AGb�X�	�CI�z9h�d���3�>
�7yZ�����V�tJ��Y츫�V(�]3�!ܺ5�FV��i$��#]_���XÑc0���l���Vt�rN-XQC��P� <k%�
Gy�<q�9�rc*���I1$˘�Z%�~X�
D�X�;9�h�ITO
�zX�����g�B�l=��K�B��=��?�ׁ�(҃�J�c�����K8-��>�x7����X5B�s"���Q~�)�5��t����@�hfTޮ6��V?��u�x�B^���A�U���{Wf���V,WϨ�ö�I�vl�e�"׉��#��:X��Z��f��~g �=N��R�D�d��2��C�<�ŀX(Ƚ݃$AO��b&�.��m�6z
�����OOd��y����65��k�*�U�ʃ��k�����۩��H�A�Y�qM"�������92B�玭�c̃��O���o|��p���q�TeuN^��ն���:�S\~ b��Z��� oΏ���Zj5�����J��W�jE�*��#Y��eSöO�A8�t���-�%�8${�P�6IK��c�U��i���/J6�E�]�y�	S�Rm4H?�R�A�O�`�[���	���#|KR��ݽS��˴�G��]���6�8U�>�"v5�y�wJ��3
�ҿ���Tz~]��;�蒐v<�$�����m0di���o2*��龙��u33V��Q��<�����Ϸ��%C�l�j[* ��`�EQHT�۳9��Fr�B��g����U=�f��x�b��e"�z��������e��QE�֌'8�ۊޠ�yuq=�?�?��
>�ӿȟ��U'h+�<R�j�k�IL�T�GD:ɳ�Bo�d�/�y��Q�
C�`�����'8��L�q�$0�2�̅tZ%e��ٻ(�u�G@�>,���g��V	ՠ�rp�w�jt��j��">"h-3�S�Xr�Ի�
����^~L�cN��+>UX(E����.�.��7�	����C����L,O+P`��x�.�͟P���ώ�Yx�q6�]�mz����Gb�ylI������>q]����AUP7�89�@���C �9G4�Q��f"Ko�I�Ѧ����Ihu��n�4�L�G�ϵ���h� �q3����&ɫ�c�H�߳��,�  hm5��qm�[>���3�G�I�j<�ߓTV$�|`�4���������6u5{AȦL�᳠���
i��*ɍt�#�~U�*?&G�iz�/��I���`Hz�f�["�ܘ� �[[¯u	�:cjC0^w	vZٮ_�	�p<�T�"�+�Y/[V_�k��~�$�Iʛ�'T��d�,[��,ڗ����k��`.j9C�–�,E���gX���dp�7��im��d-���RKc�f��b�oh=�C�^��w4���,YB7:N(?�TE�|m�߂�f0�uE'(@л��a�0��<c�Ӛ⢝u��v�l���ܘ�±O�=��*��c�IwՑίns�%�&�2:� Y��ԁia�s�C`MK�3���Ffje��$g�A~�u)/y�Y�'��_r[� 
��x��D�|���A�d���(�Q�%��^��G��@��o1p�Wb�K@3�Z�j�����`	���[̩�6��6DD���)X4T~d
�}�H���)����C�x�xe�a�t�&x�8�m`�mM�{*�T��c�`j�~u�`���W�h!G�ڟ�p��^�_�����Vm�cXo_���WgZ�TEW�>����=�'b�@�I�)�8\=(l�,@h7�|��‰�D�sk�L�˕(D�����(�j�$^�Zsm�ki?2�@'��N�bbC��i��z���v�Jd����3D��U�������/z�e"�y%�4�����i�3:��.���C_D�&h��h��ͰG�~��;dK� �Y���BmrA����5�2��dngS�Iq�>��`���c~X?d��ۢvi�	9�z�,����t?��Q��K�z-[��r�Zk.?��-�uDd:⽧��^b��4?�
a��%��m��kB�`l끉�i���"�=!ԕ;��Ec�?���bt�}&��bu�a��!�G������1��N��x�q(K$��`�A��M�j���ѧ�la���j�&�G����F���j]��W9�g>J�o"I]9�*�}ޓ��g�QR�S��y
z�����|V�����Dv55-��w��H�?���NS���VJ��CgL9�K��M+�7ϯ�����C�ū��� ��,��u
	��Cˏg�^���~ܙ���,�
��jeu9�&J��obʚ�����`ɍj�[[��9?=+��F8G�FP�*&xW�y��fx���}BI���3�ވ��\�~8h2b�f�)А��}2�y�z����kI�o0�xN������q9���c�vr��Q�6{ʪ]�U�+��`�C���I�����bT�-�ہu��%�r��O��z[a��-�$����s~�Y^�e�_ Y/�˿�L��0_�[�^*�j�挵.b3�=5�BP��˳oϰ�J�Ļl &�l �	�8WR�4)DI�B����,2�Q�+��.�݌�o�iEYD�7p;��*T+>�:��h�[	,�‡���i�Z����.$�s%���2�/=�@�*=�E6!�EgX9u�����J~�͛��� �b/i���n�>�2v�>Y����]�C��P��ʲ���[�o��W)9j�/i|����uʒ<��U�=jZH:aZB����^ƪ�Z1=X2�*����\�G
0�&��~Dg�T�`z�Xti!)�W�Ԗ!�
1�T����xx�Z�Շ�xapܖCV�.OH�-Y�rZn�ʱ�?��)��)0�_w���[��0Ka+/2�粺�xج�����(KD��į�b��yd7`#gsFۦ�����,�V��Q�3�y[�\���}��g��~s�⁃�o�;8���Q�{V����Ƒ3O���|C#x�*:|d�v!8ҳ�r��U��j)?���-������Br�a�K�gR�8���~L�3��qf��ݭh ��X�o(�)�E_ސfʬ���u'�p&�b!'��$@YwV� ��)w��6G�f�%x��_`�^0�n�韔�� �a�sO=��0U#Ju�fRS���r�]c�ۣ{뼌f�A,��s�����Bh,��z���CE�XڈT��P�!���.V� %�%�:�i�ʱ�O�8K�b�8@w��8h;��5�jDI��&uC����OKcL/۬<X�� G4��o^�P
�J����N��mĒge�LZ�r��n����/��qO1�u�)���C�
��ʬ4�U��b�^=$B�D�ρ�J��h�ֶG3L�{ ��.i�O��1П2y$�pּ*a�����(z�c7~�`�HO�MzLĪ|K��lw���A4
����2�yEngJ�r�5a=��F���Ä��n3��J=�������"dqX^R,[�ζ���+I�Ç."��ؕK5"J@'��i�ޭkjΦ�T>��]�\t}��4.>�X�c��V�Ԉ\�24s��L�pV��S:m甤�%�y�u ����__Td#��@V���I{h9]	�O+��A�<�#�t���ټ*��i8���F~'��E��{	Ya�b��Љ�uJ�;����޲sKZ��\��rW��j�u��������K�GC�
��6�'��K�+ت����C>�粛-9GN��_$�Ĺ��(%�4Y:NAx��B̺J4Sys�����O�F��$_�����-����u�����U׳��:1�a@,	�/�uUZ1V�W~�Y@j��c��|*Y�i�$J��C�l�ž��So�˺}�� ;�P�-u?ak�,&�
���e�A��E��F��P������K���"{��"��>Ҙa��6<�EGf];�|�I���M��
���Јu ����O��z��~pM�����L�0�/�b`�"���(.iY�w_�
��L>[�'�f.ȍ�a��E�đ*��f�Z,T[3���EV~05�(W��V�F )�m�~�A�����v3�q	)~�Z�V�~�,P����M���B�E]���T�����l�Z�x5D���
p�OƘ�8�l���
7{~48H���ݟƷ���:�q4���P�P8�M[&��~��dO=�tI!L1�B��s���B.i���0�Y�"��
��ܚ��"�2�G 	

)k���O������#ç�&��I��}���	��qʡ�Q��3j�gi,�1�<����f��7��ќP�[��?&���{_fj&o}k�Ǿ:^�+�(�A�L��?f�v�C�4����Z��P�n�p2�n�,���+L�(
�,]���B57��۲�����,�c����@(�A�K�WA>�t<,Ք�{u6�Rڀ6�̰O�t�0��H+ׁd�{_Wt;j0�Z�:�,�8S��>&�Z��'��t�>
hٍ$$Yn`���WF�)l���LD��b-��N�v%�1�L�3��B`�xr���J���=�^�dä�|�*�5@�v�و1w"@x��D��9��\"����zY�.z�s��A%am[�F���>cW��CR����r���\?�G�@��)�F�Ru4��QUmԺX+�}�Z��M�d?/���T���6hO�ܙ��-c�k��D,��J5l}=(�戮��!,�_�Źf �~cN4$t�'����Ty_����r�������$�ep0�L��* Rg��N���e�^bb���I�w���hL��>9{�PU�]K���c9q%��G{R�G�AR�� YE�^���8�8-Q#�밵@G�]B񰬠.Z� ˄"�s�h�̠�c�W����fQ~t(E�I�E�@i�12�!�G�%��4�|5�gZ!����wx��i
���D�K���m_eOE�Bm
}`;9<�����"8=�3o�OH��Y�)e5J����F�t�#2%�<�4F�~�f����/[�!�ǹ1�pc����)�UM�j9dtF�
�A��آ;�3p���_0�"����ت
UK�3*�D��B��$���# ����� 
|�t-LЪm�0$�����k�ܣի-����h�9um�o=)�*KUb�h�����m�a�M�mp��zMlSY��T8nA��?5�3r�j��0�[Q�4�P�i�&ׁ����8I5&��8��1�Q�|����*hHUK�
���ô?&�M%��tdӰ�edFd}���Ŭ�E݊DgL�"1zQ�-�.9�U}��57"�G��\��R$�"T�@8�5c�9lH��%�
cP$)ȯvQ)�m����
��z���L��D	��������ʋ����d�M;�]�@U�+cШ��F�B�Ce����j8�1f
�ޚ�ŭ98⌏y�Z�I�_e�d)�����n~�(����h��-�fW�Tm#�:E���}I��b>gx�� Ȧ��UK`���`<��T^EP�(.�4{Շ)x�EvL<؀ȳ�hД_
rU;&C'��yS8_��#
�7P����Ҩ�{����\�p;�WH|O.5��[�������tWbQ�5]MO ��J�:,���i����j�Jǀǂ��G��J�7s�rZfN*3�v���r3PȐa�F97�3���F��hM���镭�ޡ��d�U��**,W��͑N�d���x��%B��&�KgT��`�4�pU�����K�_6�ڴ	��8^k�d�.&I��Z(�
y݁>�1UGH;i���a��[eg�7�,c|�9��!^�?}��"(�֧�Ǡ�qd*/�Ǎ�H��~>�!�lg�g8K�B�w��+�5N-j�c����(�Do�Q�T�ڻ�>�6Pq~7��3ɰ�S.��X͡k\�$/���U�2�套��oD�;�e��T��0%=U�M*P��z��dJ���(���"0��WSD�i��h�H��рZ0�7^
�����Sβ9E:��~���X�Q�"L�c���m�sG��⠣*Gt��y2����\���o���	��7S����Ƴr��n	�':`E�*�YN�q�E��8����M����7��K����g
���!˿=H�ס*�C�D[;�g�D{�p{�_�l$y]O�dѬ���4���k����3��r�0kTKV��&[-�ި^V��CK����-:�d8�����1�,����B���rڎ�SQ����Λ�Z%U<��dvF��$iX��CHᰦ�Q%��5z� �f���k���AȬ��Il.����1aʻ	����b.%Gf̗S��Ϛ��J-�ޡ�i:}�@�=c_N���gZIjN�_U�ߗ���4SF̜=�ͫ��fi�#��I
�GC,E�����E#�#@�l��K#ދ���H���5�u2"��+��,P�d��^F�V���ʸx�"��1���@�����_J?5Gc���g�)\G�U�� ܐg�D�Y����պ�
'�������n��7��t1V�t�{Rl[�j1Q�;y:��:9��B�u�r(��Nda�_ŌeUҀ��Wi��.P�\6��y��W�Z�ᚩG𥚉�Ꭼ�bR5��Fj�xl9)���ރJu	�.*C�҇����X ��:y2l��Au��NN�M����i�:(�!?���*R�D�D���&����_�۱5�J��>�ЍR�`2��ݖ{l����c��Ac�F��o�>��L�9��T�7��@vCg0X��[td��`V�-�����a�!>0�{��귕�̼�kȣf���:'�>�Ǜ6��ΰ�X2��k�%{���m�62/���6I�s�#I�ЬO(��rX�u�K�|�J�ϫ��p�n�^>>�GLw�.V��<EqRڳl��(&��+Y�V싊��2f�l��k+��k��9+�&��Z�����Cb\����O�V/]�[;�d���g��N�%�\I_�p���T.>2$w�3$n��T���!�;�P�pm�u���Y2��eދ
�=�C��6ڰo-Q��f,h;��
<���:}a&�l��}�Y
��m��y���G�K}�L�.��E@�G3'��ܺ�c�}q���"�y]1�#pk����^�_��*ψW��9�p�u��h�~$wr��Ӝ��1����Z�{�i��Y������3)�E���0��н��F�r��`nK>�(=E+2{낯缘i!�Vw+P%��Bu�f���֨��@��~�]�� ��쓃�X�Xr��ćD5���T��	�Б1x�	|��,��Y+{CK�ry�PF&�K*j*�*�gr�3�&�y(�P"{0���YJqx(����'^]Y��|{`bw�?#(��A�b��n���4�p���Ix��jM�K+h��=a�TC^֕N$�Ь
��
�B���QRnL?~~�c��nӲ�aL�
��{xߘs�T�"�z�H�ǟdG�E�g"�����\C�|���uO�H�3����2�O��y�S��(V��Vc�~|�C��e59b�$�W]�`��Z�W(�j{rv�J�啓5@����n��e��L1�qQ�e)��DW��I�v�?���d�گ���}O�]╯���Z�}��?��5V�OևnC�c0om��Vm���擢`ɸX�	���炋����ɢ����@��"��x�鲅�5:�B��5�*[�����x������4Έ�{�ތ�b۷�����C'��.�E�j��n��ZiP�R�N����4F�H��v��&��
�7�w��布��z�*V^��xl;S0�Є�}}��w��P���%=L4&�l��h�B��"P�R��̭&��AxC���oO�k�y�Y#Ws7��
*�l2�a���i��pU=�M7`�痩&���Ԣ�2crK��\#9�q����W�U���b,�M�5�Q:8�<�
%�I^g�zx_��6�~���x����%�~h@JG�A{�f!�$�Dǹ����Ԓ4�,�j0��(W�~���E��aڹ�ƅ�
�a)��?�j�>y4����F�ҭ�<n���J75��Y�Z
�w6ڼ��t�:���wp	-M}������
m��(��/ _]Qw:�N��X2
p���t˝øU³&�a!�[S���~7ı+������\���;��~tR�I��q��v��N�v�C=u���8_hN&-�02�T���Y�N�����c
S��k���r����%Q.���=K�L���e�驳�؆��d����䣕��PVO�R+�!�/k{�t��Lru�(�e�<��4/A��48�\U��:y�z2�4�@��פ�$Ϥ��ϻH�S%@ŬǁҌ�y=.bS��J����0�ꗗ�8�{&+����;�|n�U�}����; ��Bcu%�U�m0�zo�)��"C��CFܠ�a<@CR�� ��~ˇ[x����f���g�9��&�T�O��N��)�����?��N+o�A�����v��Iiǝ�"~8A�]�dHܙE��Y�R$r�&;z��Q�������=v��Z�Z����L�r0���-Ì�z�\��n\lG�X;����*��L^O�x�!4Lm16�}�ˌ�w�op�&�����n�M��N�X�p�Q���u��M��tr��
����Cq�Z�1v��w3�hf�O���onޓ�ɕ=�d
��&�ԛQ�S7��5<>�8���v�1s
T����E����]eR��9��"5z6-*;:��g�?㬚gp1� "&����,���S꺘��sc�xH�V.0
��j��i������H<ћ`�G�x���
f�%�ٵ�"���xc	���G_�g��3d�f��J	&�Ƚ�{ƻ�F��`ӯ��&3+,%�x�0O	�/ۀ�IcBQƝu�e4E�t)q���6�A*�ͲxŠ*	p]?�t5%l�x�^��5�z�*�p�e��>�hN�����86f����q��~��A�i[��x>fY����w?��by�=���A�ȩ"S�ŀ�SH�������~#���S�"˦z�3��׸N�_�-X����(b����w���u��6�N
�4-���J��TVԌ��G�����M]�\a��6.������|�s�G��$hHr����Py��a�9o&��8�*��y�o����fF�����&���+Lso�+�iOHҤ�'�WT�p#��)y`B���y�\#���Q�_��F�����H�ZiAO��{�#%ݣ���(wf|��<F��]�w�{%���0�b%�~�a�5�dj��k�L
��m��S������ӄ$����M_&@��N+d�d\���W��J]��7����ϫ&�&�=F�J6�#w�����5)��[�6�j�$`y,���j�;�6��KY�,{����^U�0��Õj	�ŝح��g���E���^��&ݖ��cre=H*�ӱ%fz�ㅓ�1��D}�Ɏ����p�s��?^w���)��d�,�B&��ſF�SSK��d)d���*G�`.��XDO�BpN��E$y�����=h�'m
��w>�a�V&7e$��e��';/9�����=Nv��7���qD��4>܄���Ğ��`��=�T�� �����u��[� �~U��7�2��ď?^laz��E�hR�ޙ�f�>l�g��]�6k��d����x����x��{�;�
��v�p���7������:3]��S����v���k�;�����=x�y��_�ߗv]�@�4@R��Fh�$�-&�&���մ,ql��yj�V}� 0�d<]�0�*�"5J����l7�[(U�.v��n�4A��J�s^��y�i�v����qb��vB��2R��]ܠIs^��Z%�\h���ݑw��Mڴ��Ӧ�=o��]wL�%���T�>���a�R}٪?���U3�H�|�@ڴ��o+��ٿ����R��Aa����L}�t��e0�͛i��&o�7�3��b��8��7Gn*u]T1i�lHf��PW�"�B���EՀ=��������Nv^���B�-�p��)�}��vn��k9h�J���G#3�\p
wN@U���Q?+��mM�#:L��"���F�#ݛݴ7n�MN�>Lw{ʞOP�{KOk�s�ߵ�[�Tc�pj��4�̠�+Y�D�>��T��2B�V�[����ڏ
w`��R�V�Ӭ��&"S�
~:dy�G�2�&�����)�*�yb��I�$���
/i�~���^{=��
��I�$N_�ㅹ�*�=+��D�ƌl�>
�.�Ϲ�/
�� �`i>��?���i5���ݯ��M�r����j��d��5+��Y���|V����?���;��e�����y�N�Q\�
�^[�0-�*���,��|��qݘw��n��w7P�2���)��2�H�8@NG�GV�Q�t���<��?B1�]d���(:���g����d��C̿����X=ɋj6U��C�?3,4�^�
���Q-,(�Rq���(Fͯ���_>�Φ�~P��K*�s7N9P/�yY���/4�J������3rP��$�6�ֱ�6W�0�����7�����V��e��y%VF+�}oG ��~pݣ[3�U[�j�]��{�ﺦy꤆�,�S	�d6@Q<�9%�5�x7��ZHpm��F^�ۼS����������S�7ݥq`��|ݭ/���N�Jb �+xY��4�9d�I�����1e�� ����U�$@� �����9w�$�i��uu���Kqޑ�f]ܮ�r�v��&�[�i���*��V B�6�vo�+>]�MwuU-�*��7�
r'�����"�k�肤^2*;FeFjOs���c��lqP���ҁ�jp�}~��^�A{
�W��MM�Nz���*�N��b����L��&{y�tDC �4�tt��p�xh���1��EF��͹,�Ru#��DZ���v�.�H��o�-�@!��������W�]�pv_$Ӌ�V��nH�l��X�3��/�\�M?�N`W�[��	k�����qgp>L7j�&‚3_�d�������.<*��P��"P��N��6�`�}�	m�=G�4�Jw0&Gf
����@G\Z��s�LX���S,�I+���s��}�U^�4��q]�n_�L­����9xtb����G�~�$T�V�"��i���W첳S�5g��yc�IX(�N^|�O�NU2�W2$�߄����#}�3�j����BoR�R�q��>��a�����&ͭn�
bŅҵ�ޮ�!V�Bq����^��M�9�KB�\�}}�^��Fv�Q7�k�(uG;�'�w�$�}��*�#E�={ED��{5�J�i�2�Lxs�iyJ�X==�5$d9���g�)�c<>T���99+��q?Ö�n'��4��%��E&��Ɓ�U�y���H���y��y�7I4����.{�@��Qk���������b�m<D�
8�8~Y��ʣQ�[�gz<���������|&���)]j��Rc�u4F�_��xiKG���=��(^�&O�w��B!�� �읆S���xl,��t&#��*n给`�)�k���s�@v�����\�<�����������\y�#uF_��g�=Q��4hp����ZQ^u�1lTX�Æ^Y�K,䯓��_�2Δ�� ��Lz��k4T�d��Ә�6V��
�E�Nh�W�cM �÷�"�ak�5,�^ù���w�QV�;}J9p�ss��5�*
Z����"��m��z7��:X/λh;�(����Ry�ݝ��!M�<z�Uk.�O1��Y���7ì���<ٴ�R���M��9-�Mc�&���I����h�U�4~��%�(��s0�_%5.iE�����;������ÐK�]��C����Vd��k�����d�<c��C+����BI��N:Oi�:�-�}�I����)�E݂0�M��TpX�{�Z�ȤBeU�H�'R��*�BVg�����*U��UZұJ�K�R)�V��5hF�.K����/���`��h1��۪�`���ञ�Lc	�c��:\�����S!.G:<��F�E�Ћ�7IG0��,�$s�W�	7�3��H�'�~=j���fҭ-�d4/�m;��V��F�Z)-a�DA���(Ƽ��z�AΕ�[Ws���a�@*��G-G�� S\�9Y���N�S�#�zXI��l�7���P���س��JS�P��~ʭ."w�6a1�	��?4�;��ǃ<���oS�aa4���8O��_�<pMը�c2uy'��ʰ�`���N�0;Cu�����7�ZKu"!̣�歔�5y�Ƃo=[�S!XD\	
vِͪx��5[�j�f� �+Ȁ���2>m4u�M���N���jm��X��i^)�v�dY��*��]�5<�&�=c�ݐ��>���,�����Y`nM~��|�䚙�Q_*����;�V���W�^�|1�uYP�F?��J���C&ΪHa֦;ݵn�:a�JXj�����a^���E<e
���w�{��Bg���Ri����R/���4�|WR�J&����J��1����#�U5�債�K����ֲ·�\Y^��=�=��d��v�c_�V�)�������ZZ؃a������քS��g$��HJL�=,(�8q��e��j{�=Hޚ$��VT�.��B;8�"�`�����w�`(J�$��6��D�K��FQ����Zx.�����]X3�`%'�)�&��YL�=m&ӛȻKxK6I{V#�Y��K'Ԧ(�\v���'���H,���tBS"`�5�	~�-���䏵b�&&inИwVR�Aֆ�����P1���k�$.�p="�O��i<]W�*)�ܔ[0ف�dsy	4躜O�������s��<��i}dc�1|fJ�S'Q3��KN�6ۛ
�?{+M��!)dOA�.E+&k��iG�Q�y"?�]
��KR/�j{T�Q ��2�P�0������a��ѷ����K7ƙ���uVI
V>P{�1�+����V���3*,��?J�]��2T�U9�~�yo��T6�}�����ñ�11�2�=�Q�[s
�$�/e�>��������G�L
%"c����b)=vdndW.��,Pz�"Ҫ�3|�c�!���M�;5��|;R��O��^:_�o�];��7�iTo�1:�^6 ��}Y\���?|��?��d��m���|�����
���������'�h�����|L�us�P�k��A=ۥؖ�g,��ϓ�Fe�}7ՙ���!�t�t9M_�CL9a���6]����������2��%���]�k�c�ԩ�yO�v+z���zNO�7����"��칧�ў�k��	�`�٫�����	�]�M�t�j����칂vG�[[�[m2�?\�%(�p-@��`���F���i���I�Yk���_��XW�+̏V626m�t��q=a'!���70�(�,��g	=�4�d/���c�|��`N�xEr�H�m��Y�t��i��d�y��k,��]w��r`��xݑ(M�N�P],햤��������c�=I��{�Q�z�'�]d3tx]�h}��T��sb���(sv�I8�>�o��S}˺#]�h�6���v�����ٗX$K//����fVZ�a�^VSf�P�Ww����j0�$�$�,���<��O{!;�T//�a�ˆ��D�L��}v��ɋ�ў�Œp"��d�F�/�����>��>��:��5j?����	
�Kj��|&c�r�'K2"S�h�XU�|ƃ�8	�S1c(��zfQzsӓx
�9'�o��{�5��J�^<f����ТI��DgsVs�n�q��юGj�g�d,d�����h%�#y9>�8�E�gj�gD����1_��0H\�h&y�,>�X����h:$���!�%��TRo�{��5����.ފ�V�E��`ZY��3T�/����p��祣Q���j8�+�Fo�c]ۑH���Ud%�`��7�m�;�,l(��@��#Nu�� ����&J�F���m\=����0��j�s S����h-߻p���P(1�ي����2��t�l?���A��?X55\����˸�59���aׯ��}�7��`�/s@4c��J5����Ph�r�+��Rb�'V���pQ�ׄ�U}��Y�+٢-�Uȉ[�K$����X�Z��~����5�"+],$���P`���	SbJc���k܌:��%o���{E}mI�
}��a�&��=��u˹X@l�}��Z$��E�$�QΉ��2�P�S=���'y�Y}SlΪ�p�զ��0%EXG7q�-��4����mh��M^D3d�y&�hBeo�)9p1��֡��ڽV��9:0dž�%I��Șr��ӟ��p�`+RCV���AuO����^� �gOl]��5��E������+n(���ڜ�)�o�T�;��b��6V_��q�`��M��~(�������g5Bs������睑E�.�hʆ*o���ou7�o�e7�sTޓP�9I�w�-\� _]E0�q ��i$�3�F�C=�V6�e�
�?A��i��`+�v�ӸS^U�ܹM�c��Ha�����Q���T�9�h�8�y��I�����{}uU��]�:�'&����;5f�pv*�*�Ch�$���k�"�+<�����w��B)�-�\=c��#��3�?+�M^9���ST)c���k¶�ݓ)ԙ�~GtNp��q�;�Ș��S�G9���D�
H�sQd@_Hk�wҙ��v�O�W~��{�8�^�l5���P���}��D�������^>G{ʹE���G��:MY%(��ju��]�0���?�<��fj����ˊ<��e��<zI�`ߎ���s��"e�b�/�Hl�VU�˃��iGe�۬�^��F |���3��k�,�Y��z�H�����W�Z.��sm�(��rB��N,ֲy�֩v��>����sA��h�L4���Vd7��9����Qı���ݏ�^t���l���l�aj'�̫}T�S,�p%�)��~���ѦD�z���}�J_��Y�p��"O^���5P���$qV�x��Z�UT��bMe�9n���y�Q�2�Q#���>,N�QR���Y5��:����7�`�s�u��#�!��)�x���]b+J-]�+]1@��fa _�u�=z���
!x�}�^�{PE&9�]��L��pZ����? ��B��C^���Vd?4*V�.鉅9h�j"V��ih+�޾|HJ�Fx��n�Ō��>�v��g�6r_�K-��%o,?dg}RFrKWS�C,��ؘI���~gu�������A,6om��x�!�k��b�\a�3��Vwj	)u��t%��A����3�Qhǟ�.�g_��\ן�΁	
$	����y��Y��$��X{���!����R�Wc�nU��Cyn�f^�J�gRSx&�+t�;��g"O߫���j���ٲŒ�Ғ��#�ޗ�g4��[S���"��J�A�J�B�+�4\Mw��Ta6����Q�x_m�Ϥ���ĀX����2p�ipB�y'���g����Q+����Vi���'��e
i�5�[�W��y"�Y�ƪ���i��je�]:0Ҋq�ք�t[���kb:�o�Uˍ�H��+C�Ӧ�?$3$�7d)�(2��?�g�4>$�k��NQQI���O���5W�E��{GP�oj4ߞF�O�o�Fi� ��Z;ٿx&��UE���*����o�!g�0�7O���[��VL~iJ���������ۇpԹ��!}���ث�c�q�tH�>,�>Is��������b1�]����͜��W��]B�K�:�횏$!��Y,�X#���g�u��a^����{�c6��61m'hz�M٤���֥u�,-xb�����g��0DC:U�a�
:b���#)�*z�d�i�v`!,<3ӊ�x�e0	�]�a�Z�v;��ʖ3J�tAS�X�o;)�t�%�zXt{�3����n߼�Ӂ�};Դ�62�RV��!���KĝE|�Tk��$��+��`�g$�=�R�
Ψݶ5�����_H1o�F�J��9Q��c�C/mpQ����U������fDy-ƌv/�
)�ڳR��Zh�M]B����7���/zs~�%����xx�l��+An�a�[�Bj�F����
)�F���fS'�jόS���;��d@<�4�c�9U�Te��q�s~G��O�~�7M�i�0�;�hŁ;�"��]T�0e��2ق�(mT7)�a4�;���K�A��n�ڋ�Cq�Ţ�u7p1���pt��%9�7�L
M����6��]}��>V��Ī?-ڍ�!�Y=�9�j'���]�0Ն�z�
T�\���<s�)�
���-�
܎\�L�$�Q���\�MB����a�׮4C��
߱\����i��6W����9���0�hTĢ��C5Ġm������W@��C%�3���dчZ5�C�PZ��nj'��d���Ҍ�2�6��J���C
�t��p�AD𨲓e7�m�����F�z�����I�͋z:�k�֢NV������^'[2��d��qk�1�G-��>��GD��[��X�Ց�!��DF����,hNl�Cnz_��N�v�O�u�v��'�C��g69~5Ɏ�)���m��C*�0Z6���Ƨ7�Sd�����2QixVT�$m�a�����YZ�Z�i��ւŹ{�49�b���|��;%��8���lKj�j�v{��� ��,<���t�[i���P&E��K�Va DU�~���,!c]��Fq���,������[��E��zv�f�R��G�ծ^U��n�ȿO�����}��Ss����vw�p�H+k5~�$
*E�ڲ7�H&���s�����9�t)��{r
<dV<~lB;�6����O"�����n�vh6@m<*�X�M"��i�I� y
s{��m��W�hD�5�
�}ikL���pN��]�ZfL��"ؿ_�-��7�r@��>]˄i�Z.Saf���B����X�\�/4�E��vx��+�n`�/��?�7Յ�>���~�a�9b*��R���ȫ�'ex���H���FUy|��'��,i�V���Z�s�8v V�i�9|6��z���߰�'�0وB��(��)�,tR�Ղ��@c,�Q�d����tÆ-�߻/����fd,^�G���MX
��Ÿ�)�l�97�F���h����Jj�$"��nf�{�^��
:�|w�d��F&Qڬc��R������]^�����Ka�
��{��f�Æq�eGa<i���do0U&�A3�F����m�����$�/1�d}T\ ���@�BAs��{�;MX5���kU��r	�4�*Լ{8^�~������p�tN�w���'_WZ�[�2.��?MɌ'��w�����hBc��];jgB�d�=O�+���U�ϵ��ȱY�=��0��*�n�VS��uO�xo���tA�kQ^��H��,1�;{X�n�:�*b-/ �ٺ����%�%bE�Cu��Bى�e��W	���M�]i�@�`6��e:���'���_8�!���Z�����Н׃�??�U�rO���Ju7,�H�|]���>B�	�+?ȕ���
�_�
?�fO���_??~;�����LO�9����S���T�����{nVo@r)��Qd(�eHRC�EH���p�
�9TGzp^�C�DŽs}�.cT)8IT�I�9�ޕ�n<\��l�U�#��+>%}�"I@1�.0��&�0F^����:5*h��QĢ��W�؁u�<o�_�5]x�	�\���#��xۏ�B>ɮ
��)�$#\�Z�w+N��5�!C|��|B�+"�&�F��(����
�V{g����ԱiÃ�F����M�G�Ⱦ&��A���Z&�9�"�S�`�,?H�P��5��,�,����8�R���A���[�3�M���q�Ƚ��߃Q(�4��N���D�U9�i�{��'�g>�d�����h�3m�G��E텀_Y��<^���h�����GT�g�ʤ�Sz�E��IBT
��ؒg�=�C����f>*�h}��1'��;�uω��v�Aee�6u��b2�R{�ӘA�GԹ__o�mI���-��U�"I}����
b�Z�a��]Jp!k���!�Ƭl��"]HzN*�1|�s8����[3O�ƣ�'z3�{�,迎��������s�2����E<F�
q���g��*�½��poɿ��x�^,kнf�`�w�ݩ&9V.�U)�&��k��{ `v�<ꮆP����U�,����U�;4���{LK��<���`��F�<�L��
��*���_�����]��
+k�g��&#4J�zd(�~FERƍH�x��e���ϧ6�Iʖ:R#8����q]Ӳ��)�e(��^fg��\z3W��9@=�$F���jy�9�0��l0V�[gG]���5Hd�k�~X���+MT�^�yF�i�1y���j�[��V�<;��U��ш�O��M����!/���s���FL=ҫ�2��q˩N?��{��+����g)�j�o���H4�Iɻȥ+�;�
K�a��[l�S���T��̀F��Q@2�K�L;{�?n���/A���#���{����L66�2I� �GA��c;IԇY�Z�\�T댄����D�h��"�H�F��v�a[i-�G�+x��S����FT<�i�&��B��<	����h�A܊��F�˪"�b�5hx+��4�(�j�a7k䭟X�Q�H��Ȟ��r�N$�p�ѱ�u���.=x�B�۬���~^�j���v��ju�]�i�v$՟�6�[Bm����^a��e���꫖�0r�8����ؚ�FI����C8�A̒����wsZ4IF���`��oƜ���R?�eD�r&��	��$E��YW�����h��4�O֋n7�y�q���jM��?V��_2������ܩ� ����xW�+�։����͕��.5+�/�4�%K��dczy�D����U�� ؐ8�~64m,zk��EiJ��y��sY%[5?�F��À���Q����s�lm��G~��g���P�dP���e^Pøٺ�.x�y����)���-[B��<q��i1v��t�U��W�ρ"��Ä��x�L|?�O�l��N��(o��ԙT�(�����;y�!P��}���AXtHg��R�e#8��65�1�d�O�&�|����Vv���n.e�'�S>�	��K+s%eg�u��5M%��M3��m`������������mT�Wí(�=4�$���k7���E�D�@�/�
"`D�UӘ/-V7�7ώ���^�%kQ��1��A��K+k/w?:���*
�2�`�� ![�?�NO�<��&3*��[w�4�"�4ؕ�ʒ��N}8T
&�4��ڔZ/�56^J
0ۘ�0�TN3{ڠ#`A�{r��u��J�}�^6�Żs*{b���<j�LX�n�)�F^=���hx���N��"k���"��F܏���Ҫ�'F���+i�j9؁��f��2�ޓ
f���D�.�퇧Ǣ�u��3z,�;�
EY�)�ns�\w�ٺ��٧lJ�)p����݉�z{��ɌTW*-){�+5������zV�I�"�?�ub$.�2j��>��+�z���r��2+�������-��+�ݍA&��k~1��!��NM������w6j~�^�)6s�����ĺ~��:Vm�T
U+�����?6��{�5���؜�I���JՆL��j�i���)ֿ�E�����ƨ9y�D�	��,6JF	e�V.�'=�W�[6�f��I�5�?j�;kzf���n�=���
�
K�Ř�+?<ˣbq[�>�܆�i���b�U�Y��-wR|����`�_[
��dV���z6�2�F�%96����6d�Di/�RK��O%��
]��J�_� �i��[���I�
K1Š��X�}3�4�H�L釚(
�
8V���`�.D)U�������|�_�y����ZK��Zr_o��1�Y%�����:�^�QY]�Iy���g~W,_�����P8����)v��˫�hu�rDf��`�~Ctga��C7$;��"���X�|�걲\<t�<��u����ߧ4�Cx�K�?���#	�(��E�Wg�s8�{�"���`2�k�/\�i,͖�7���|
�M�	X�$�W+���ɾ���K��<�4��A�M�
 ��{.��p3�
���qq��rf:*����8��y"���P�����'�co��!+(�_m��M�`I�қ�ř]�84�C@Sr��TkM��*Ne��nyP|qLC���2���w��?��1�U��_qq�v�M��V��e�jK��H�<�;���&�l��d��t~S4F>�و������y����*����M�Cs�(*}�u3Y���'�l��ä-D!�Y���R�c ��b��D;5�c�*y�@&�{s�F/�u�h�l�Q��dG���*���8�2��3�f�!���?|RfŹ�sn���"}�Ғ{!-�,�!���.�D޾ȎG�{�Wm"Y`�xb�
?�%�&F��n��r6?e��&�;�K]��}�I�vñ�0�:8��Ķ�F��u�*���[L�p�{��$�R�)G�D�#�U�(-�4�e��$ܽ�Sg���\�n2j�ݟ�UӥجtB���š�'��Ll�P�$(���/�Sl��r
?kwJe���o�#�&:��C������A���f"��z٘��u�Fc{���thyR�Ҝ	y��o��$�X�^���'�����7;o�Ǡ�`5OR�u��f|��Šy<�c�PI"N����$�K�D��'R���9��)�0�44�."!XZ�X���J6*���T��*o�3Q<Wk����o�d"����%�t�	��]�pq��+~c�C�Z��%s5�1��n��>_���ux�X���fN���������{C�x�W�R���5�s޲\�e+����W/�H�Y��K�J�̼��Yݳ���ѫV�ҙ(�m�G>�	�i2�툗�G��U��t�.���~��w�Qp���!͵�%%M&��/	���/�;���]�xH�h�ĤǞ	_��ﭚ�U����-�z��i��(M�{�Z����8���e+�?�/�y��aE�e��B~�&��\u��>���3�|�5�\�HB�@n��+��bps-�=����5��h#�&r^�f}0��Ku6������Z�+�e�6�*�aIO5�{��.'��W�֫V�m�j$����ݪ���1��UC���(��3��i7��X�����E�Ǵ�T���t�RL,��7"�-h̊47��.���"��u���e��Z�_:����OH2ɔ�%JИ���Vk�Z��-]։��!'��=^�>`�Ĕ��=�'$���m����3�V.��"}�6�0�H0����|Iy���Q���`0ܽ
�+�f������)�l���Y!�DT�$�V[ξt>�Տ�x��}���o��W�ck.����b������ſ�)��Jn�&�ʺ
>;M[H~OoϺ'���'�Mp�f���-�k�p��p�=pS[�|�`İ*��_U�שݳ����z��t���6�6W��6j����^Hg��/��r�K_(N����ʡ��J�<oGK�ggh����ϯ/�����N�}��V��P��c��v�D�kGY�d,�f�rd"����Zd���bA�%���~���������y�ɍ?�z���ou��}��6�mЇ�ْ��;S;���~��]z�ȹ�t�������m1�:�7:��&F9Ŭ
���s�Y��@R�|�H˷�����"�	�(R���4&P���?T�=1���{ۭ�Q�{�����%�e��JZYB��*�yUpnp��krܫ�c�j��4ۧ��ZDe��35mw(�.����Z������n��Y��"T�/��f�	�YlWI"T@u��}���7����Bo�� OI�ϑ�(�ɀg!�*��wNYF��_��.j��O4;2��}q���u��8�?.x�L��.�^3�ș�6*c|��+K����'�,3�.g�ܾR���$
��h���k�蓽 2���Y�+���eq|v��f)5h^M)����+����n,O���N��2��1=h2.��s�G�g�J��+=�8�ʶ=�&m�=����N4�!�? ����;K�N�S\�t2��fw����ו~�/<��0����~I
�ش��7N.�$����~�–p`�;u����\vx H�A����mq��	4]����:�PXp?�`����2�*�x�\���DT&ք3������RCukOP�s�x�<`4���˫��K��dl�P-/��骢(&P�~��뮩�h�5Ym	���:&��+��� ���'u��˚IkfxY��xD��X��l�/v�5���a}�
����ʺ2R����6yF�3K�K�E����c��'�G.�^�z���� W�	k��S������Z�L��
N���-:{��De�$s�Q��FY���;鯌�`�8B�b�C�� �9;G4�u!d����@���o1����j�>�\�Ó)�-�Џ�%��9���j�i4�򱔚z/K���2�̤��7�(�d�$�y�̝r��7���O��ϥG)��W�E݄�wU,�xS���l�@BR<��2��XTЦB�_��Jy�|Ж�NwQ��1�����\�x!K�b}����4R�lTB��U#8Y�%��2����\v2D�!��ƀ��kg������gM���r�r�����^�Ս�y!W��"��p��{��n��̿Ny���ݶ���{�Ĵ�K�sB�&�QW1I'�&w
SPǘ��k*�B(��(�$^���қ|l	��������diϳZ�⑨�����Z�;@�Šy����{���J:>��Tzف��4(S�"�J�zD�'�V�w^l����s��!c��K1%Z�*�5M�,u3{�
�3��i��Eڶ?ww�5�cf7�<l����A̲Q�|V�j�c_9���]�T*Rag����x����3��1A�<��?��ْ)���@�}R1-���(�ZJ�uZB`4D�,uO�ʰ�,�ag
L̯�x@��2���31�eb�NӼ����0P�f/wo������;�v9��T}3-$� �.!�E��#-�?����
�F��s��1�{I?�l�kr:�9VP��H
q����i֌p�)��8��O,��opZ'�Le(A�qTU~�u/�aY.?N=������@�k�kx��xH|5-�*=�%4��W{VU%ռ����������'��fCO��2�Bίk��*�r�^5{ �}�Ҡ��ens�8����1��Gx5�T�H8�,]k�@6�
�v�dg[�L�|g�O���0�.�6���K_�D��h�$���#�mAXF�؊>rC��^�*�n_�m:T+R����Q�z9�)z}`
�s��^Z4�q��Þ$d8Z�/��\�)᪁K� ¼�;���̕Ǜq��M�P�o�&'�fZ�C���.qJdz���g���2�Lmo���kA�ġB�J�fe�O �i�V�T��4�`�K�Q�X#r�Ѳ� f}Qi������>'�s��/��G�K���|��h=F���ȈI����?��\,>3B+f
=\�n�v*�������G�N�C@^3k>�Z�9�i*i�x�
�fI�M���۾���u�i��C&P�G��#N<�T�ģG2�j�„v����wd�i�G�!��e
M�t�p�Dg�a5y�<�k�D:2#�S���-b������^�x�wJl�d�)��J��v������D-j�y���C$`4��+��۞U�5�X10e��q�A�%F�G^^r���u$,�7�z���֒=�����hȋ��9�V�_�7�ř֯R����r/6���V��)��Zv�J��:Kr����c�����rf���G+�9*�����@O�Ya{� ��I�&X�F	� �j�1Pc4-�IA�Ɲc�4��JA,=Y�>-�s�����/�l�s������ɡ͇(�I����Z?(0f��^�Q�d�"y4D��S�"X"<�Q��"L��&hJ/�)�>��g	�p�	l&��n�b����+:F��3W	�� eS�5�"|�����(]e��|
/�;F\����ð~���������J�bI�*9�xd�~�������DnZ���׹H�Q�q�4�9�ZYs�p��m��?9���g��A-���c�e���a��QU*B�(
v�$��5ZEiPKp*�*�ͦ�Wa�ޔV�[�*�x1�M�Vz|\T����c�C9O�E�b~��:�o����U��f�q��y��E5�r���KL�5��n:S�g� 8I�7���^&�'`�ՈA�	��j���rx�������%�d^-�Ϧ���5�Lx���e%� �ym�G�}<T)]{Ô�,=,K�U�-
T��D����'�z3���ka���^K�
T�z<���f:��]X)K�Yj_^�mQl�u���[F~���u��X�I�McY���О�â��7�"ag���?U�9'����#�f��*|���,���}�H�Y�
=&�L���V!����]�S��p䅎����V�">I��'�V�vS���~lgz0�)?�S3+FzIo�٭8Džڽ����eŢ�[�O5�I{��Q�f�K���pY��Ь5�o�V
����*�
��~�r\.y�1qZ����M���:��/�EY�e�)Nd�^��O5~wi�D��*��f+���Fp��.�0dW�5�~��_Y�7l� �����W��"�o�N�&Һ4�
�3]�����%�^��r;��j�%֦n�>��GCƙ�h��(��O?Н��9�+vE�S��8)dD����jˢ�
�|��{��>F$��?1�z��}�����L,��Y��j~=��/�g�3����h�g�<���)�8���C������9�{�-v3��W��Q���	'��f:{��1
�0} 'P���3��=���8;
�1�?(ϱ���N�}[��0U�erՕ�ѽ��RG7nk`���W-�~���LV��(�*b���4z��F�Uu�ZDO���%6��	��Y=fԩy)����&�VH�Ur�|��;����×�����b���{כ� e�{���p� �
�)�j��7��*ۧt��0�R'��{�Iپ�[@&���L�XV8�d�k@�g�إr���+r����8�H��Q8pa��Y����b~�;p�k
͢�,��'�i���Zti[�l���{󦴪�!�z8���‰��U�b��ע�t�8髆cn�x(,e\t2�RL���
�����U�%�:�+kF��C�1e64���׻uLU��-H��g�4O# �0������p�!X(n�[ӻ�YÚS�<��N��쥭���*^m�!�8�5.���:X����X�S�l졡��:�nA�
Q'����x��B����tT�|s�C�� E]�i���Fg����0�f������߾y���ߩCּ��#k�J.z��j�t���eu�EHkvM�p�{��T���eq����������WǯϏ�������g5�18�;�*��׍��`Aj�~�!%���^��ַ5�,!jJw��P��S�j�&K�c��Y�L�i�m8ȃaFk$��K�d��gڣ)����E�W`"dY��Ȯ;�FPN��iQͮfTLJ\kʃ��͹ge?+V3���5z��DᕊL���*g��K�,RKG�G�u��A��K��Q����4Щ|w!�5Q��*&������T��C��P��>�);�WeB��S���3]��yp�y7hf�̥�X�U������լ���H����=��ի\^���-���2z)�i����ܵ�C��3��o�dk��.�%Zǜ����pπ�:RU�f����Nh's���KN�)ƛ��0�3^��LC�5y���'��-"�>p�+Huྑda�k�:�Njg�:a$��!�6����7ӊE�����?��#��$��p�\�	y���R�jJ1���׷z�]PV��b�Nz�4�Q�&pY�Ts
�L(�Zs�6���'�
��_,����6+��N>�Ui�%R8��e�SD�H�rŘq�˜��"6s�_Bά]�9�&�_A�%;�O'݆D��M�Fi��#dq�w�fFbDk�����<�_��s��w�_���ny`����zo"���<#��:#���p0�*J�w�
�+K�>6��C	`s�4�E�=��LR~��-�^���,ѱ9�N-2HfZ���ف&URΠ�*޹A搭:�Gt(o�9(Jb�hpxG����j�{"{� ���41x�^\�sw���?֜B���l�E�̼��{S��*�����+o��QFb�1lT��D��xp����ւ�R�z�L�k�Lnc���>��M�����^l�U��>3�bD�#Œ��2�q��?�Ă]^�Ms���s���������﷼À���v�e:��u@i���$Ҋ�
8�NN�7�{�)m~Z��nG_x&Y�չ�Ú�:��"O"k���!r��^�)	
�0�=$�+�?Ɛb�����ؖlX
�%4�����k�<:t�,
"n��g��B����(>su>�]��jjPv}�i�Z�V{�?N�9����kT=��؋��c�0IB�"�T¡����7B�	�x>��hi�("7�텐AXX�	Mz��z�-�k�w�<�N�r����_?J(+��5t���Qj��AC�ݫ��Yrwtgp'C�$�R��ͮ��P&���Ee�N��΄t��d���P	����#"]�0�U���d�Y�5^��
ݬ��P��0��8L�PE��j�I4�{����i�LQx�la��39b�h��Pm[�ӑ��s4�S|k@Jn_@E؋��=b���b�v�@��n�����S�<�G�����gb�Y%v#��k��|M ����k��zX%U�l�(r:�л`j�\��]
��Kt1�;C����0��RR���HMj�TWKQ���"�+�E���✑�7NU�A���	wlX]��*��=/o4�P\u̿|�����Q�k�_�y�l�r�2��s���G��i���v���~�8�}�_4��Q|t&F�!�y_�6����Kl�1`e�������5�_H�^��E�O�R=��k��KCh�b�ig�u�<-԰2,�ii������o~}P\�溗���%�����NQP�ǿdK�mm��{�����W�X9���u�[G��Ӽ�������W �#�-�~�u�vZ�`̟΅�����JK��S$�fyX����hM��G�Bo�P*����4�6�5\�,8Cz���Eo�~@h	��<��N����6��3&D��:�B̐K�=0�b�� ��Y�r"�����l'��N�0���?[�X7�o��㳕�̗Q��W�y��Zn�ɚ�
��^w���u-�c- t~�.{��M��/�rǂ�P�C7=�6�k��6U�^?:�H�\��h�f���}/w����XLo�R��H�)��V��	������d�7��� �J�ܑq�*gq�ifX�ݥ���9�p\�#�6�D�3�tb<Z7}@@J{̱#�K�x'm��2�����w���7s_'�~=��B,òݥ@�m�G�"P��ar�.�,����0��.7MB��ŗ"�k�F>�r�L,��I==��ɺ�(�%�V�؁�
�x���;wh�n#�I�2�ea�H���������`J&x��i/Ay#�N�TKT���439� �c*�����s-@9�R^�֞��C!h��wY�L&�����G�ϋwg�oϊ7�_�.x�c-���Ago^�)N��c�ߞ�9+���r����,�y�ydG�!���bS/c����76��
d
��_�"��>�S���v6�Tޮ��6�ژ��*����'�iu�������KM������پs/���D|�oN�ތA��<jN珜u�2��}MD�y�7��
�Ư�"�?�%�N�V������,��Ι�dZ�(S���R��Ǒ�R���h�BM�<�C�Q�Y����E"G��&�#�)A��d)�X�:h	�)/�7uu�9�����o�@���Y��s1E�bj���
tMM��w+�⥩���sl��bXMK���zK��q������P�)�s�ҍYB��ĀH�Wbe^�:^n1V�#�aᏔ�`Q;kn':BÞrc٩!8��&s�}��z�_Qa��l�"PS��>$U��Q`��
��!o֚��"�L��i>1����$M���)u�(jךL��45cȎ���*��Ƅ���pNP
��*�'�g)�J���5�u��_u�K*�/\�J:5^U/���~7>*-ˍg���/L���l_v��_��q	}�y
�6�6���[5�:P79�3�%c�u�ً�'SN�u�	;�D Q�
�")�"T(��x�X�c�Ғ>#��C�2�[���s�=m�w,Tzgz؏k����!C[K*��:���+
:C
���ꠗ���ϧ2
Z
ա�������EA$�=H0�9�e�kGK�:��m��q���J���f�e�bB�\���&XljQ�͘�DA�(�.	�D+�{T�h��a
�+g�2J?<���X��I�+�>x�j��`�6����m�l�#���h7�#p�O~Nц��ְ�0:��%5K)v�Xb��OsC2>�4�3����J��d��#�N�]��a�ƕ��4��&.e�ҹ��vP�+�Wv�^W�,�B��l�;!}��yȬ�eX�
����1�,?<I�O��=�E�=�M�7Q��C�vK��	�s�p1j�Y�����{=}����/3}���>���Vt�/Z{Z/������a
C�{�/�e0���a!l:�+�#u�yޘ�3�FZ�0���(���ن��A$;�Q7�(���52��5G�
�$ %
ׁY^S��%}���3���s�dNzw.���2ڎ��)ӻ&L����j<�����N�)�eMm�.�i�R�ڷ�Zu��8ړ���ŗgG)��iF��Fk:���B�\�;j#~M�Wi��i��������PK�}�[m����N���litespeed-cache-es_ES.poUT��Riux����PK�}�[�"��������litespeed-cache-es_ES.moUT��Riux����PK�}�[:���k6��b�litespeed-cache-es_ES.l10n.phpUT��Riux����PK ��PKY^�\F;l�>�>%translations/litespeed-cache-en_GB.ponu�[���# Translation of Plugins - LiteSpeed Cache - Stable (latest release) in English (UK)
# This file is distributed under the same license as the Plugins - LiteSpeed Cache - Stable (latest release) package.
msgid ""
msgstr ""
"PO-Revision-Date: 2023-06-04 17:52:23+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: GlotPress/4.0.3\n"
"Language: en_GB\n"
"Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)\n"

#: tpl/dash/dashboard.tpl.php:385 tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54 tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr "Redetect"

#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr "History"

#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr "unknown"

#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr "Extreme"

#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr "Aggressive"

#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr "Higher TTL"

#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr "Essentials"

#: src/admin-display.cls.php:253
msgid "Presets"
msgstr "Presets"

#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr "Partner Benefits Provided by"

#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr "LiteSpeed Logs"

#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr "Crawler Log"

#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr "Purge Log"

#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr "Prevent writing log entries that include listed strings."

#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr "View Site Before Cache"

#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr "View Site Before Optimisation"

#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr "Debug Helpers"

#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr "Enable Viewport Images auto generation cron."

#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr "This enables the page's initial screenful of imagery to be fully displayed without delay."

#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."

#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr "When you use Lazy Load, it will delay the loading of all images on a page."

#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr "Use %1$s to bypass remote image dimension check when %2$s is ON."

#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr "VPI"

#: tpl/general/settings.tpl.php:72 tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr "%s must be turned ON for this setting to work."

#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr "Viewport Image"

#: src/metabox.cls.php:43
msgid "Mobile"
msgstr "Mobile"

#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr "Please thoroughly test each JS file you add to ensure it functions as expected."

#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr "Please thoroughly test all items in %s to ensure they function as expected."

#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr "Use %1$s to bypass UCSS for the pages which page type is %2$s."

#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."

#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr "Filter %s available for UCSS per page type generation."

#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr "Guest Mode failed to test."

#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr "Guest Mode passed testing."

#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr "Testing"

#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr "Guest Mode testing result"

#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr "Not blacklisted"

#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr "Learn more about when this is needed"

#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr "Cleaned all localised resource entries."

#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr "View .htaccess"

#: tpl/toolbox/edit_htaccess.tpl.php:63 tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr "You can use this code %1$s in %2$s to specify the .htaccess file path."

#: tpl/toolbox/edit_htaccess.tpl.php:62 tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr "PHP Constant %s is supported."

#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr ".htaccess Path"

#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr "Only optimise pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."

#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr "Listed JS files or inline JS code will not be optimised by %s."

#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."

#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the Admin Bar menu."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr "Delayed"

#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr "Automatic generation of unique CSS is in the background via a cron-based queue."

#: tpl/page_optm/entry.tpl.php:18 tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr "HTML Settings"

#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr "This option enables maximum optimisation for Guest Mode visitors."

#: tpl/dash/dashboard.tpl.php:54 tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521 tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625 tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713 tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801 tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr "More"

#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr "Add Missing Sizes"

#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr "Optimise for Guests Only"

#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr "Guest Optimisation"

#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr "Guest Mode"

#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr "The current server is under heavy load."

#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr "Please see %s for more details."

#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr "This setting will regenerate crawler list and clear the disabled list!"

#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr "%1$s %2$s files left in queue"

#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr "Crawler disabled list is cleared! All crawlers are set to active! "

#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr "Redetected node"

#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr "No available Cloud Node after checked server load."

#: src/lang.cls.php:176
msgid "Localization Files"
msgstr "Localisation Files"

#: cli/purge.cls.php:234
msgid "Purged!"
msgstr "Purged!"

#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr "Resources listed here will be copied and replaced with local URLs."

#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr "Use latest GitHub Master commit"

#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr "Use latest GitHub Dev commit"

#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr "No valid sitemap parsed for crawler."

#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr "CSS Combine External and Inline"

#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimise potential errors caused by CSS Combine."

#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr "Minify CSS files and inline CSS code."

#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr "Predefined list will also be combined w/ the above settings"

#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr "Localisation"

#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimise potential errors caused by JS Combine."

#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr "Combine all local JS files into a single file."

#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr "Listed JS files or inline JS code will not be deferred or delayed."

#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr "JS Combine External and Inline"

#: src/admin-display.cls.php:805 tpl/banner/new_version.php:114
#: tpl/banner/score.php:142 tpl/banner/slack.php:49
msgid "Dismiss"
msgstr "Dismiss"

#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr "The latest data file is"

#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr "The list will be merged with the predefined nonces in your local data file."

#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr "Combine CSS files and inline CSS code."

#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr "Minify JS files and inline JS codes."

#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr "LQIP Excludes"

#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr "These images will not generate LQIP."

#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr "Are you sure you want to reset all settings back to the default settings?"

#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr "This option will remove all %s tags from HTML."

#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr "Are you sure you want to clear all cloud nodes?"

#: src/lang.cls.php:193 tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr "Remove Noscript Tags"

#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr "The site is not registered on QUIC.cloud."

#: src/error.cls.php:73 tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144 tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr "Click here to set."

#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr "Localise Resources"

#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr "Setting Up Custom Headers"

#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr "This will delete all localised resources"

#: src/gui.cls.php:776 src/gui.cls.php:996 tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr "Localised Resources"

#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr "Comments are supported. Start a line with a %s to turn it into a comment line."

#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr "HTTPS sources only."

#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr "Localise external resources."

#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr "Localisation Settings"

#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr "Use QUIC.cloud online service to generate unique CSS."

#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr "Generate UCSS"

#: tpl/dash/dashboard.tpl.php:668 tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr "Unique CSS"

#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"

#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr "LiteSpeed Report"

#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr "Image Thumbnail Group Sizes"

#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr "Ignore certain query strings when caching. (LSWS %s required)"

#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr "For URLs with wildcards, there may be a delay in initiating scheduled purge."

#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."

#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr "Serve Stale"

#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr "One or more pulled images does not match with the notified image md5"

#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr "Some optimised image file(s) have expired and were cleared."

#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr "You have too many requested images, please try again in a few minutes."

#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr "Pulled WebP image md5 does not match the notified WebP image md5."

#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr "Read LiteSpeed Documentation"

#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr "There is proceeding queue not pulled yet. Queue info: %s."

#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr "Specify how long, in seconds, Gravatar files are cached."

#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr "Cleared %1$s invalid images."

#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr "LiteSpeed Cache General Settings"

#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr "This will delete all cached Gravatar files"

#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr "Prevent any debug log of listed pages."

#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr "Only log listed pages."

#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr "Specify the maximum size of the log file."

#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr "To prevent filling up the disk, this setting should be OFF when everything is working."

#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."

#: tpl/toolbox/beta_test.tpl.php:65 tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr "Use latest WordPress release version"

#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr "OR"

#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."

#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr "Reset Settings"

#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr "LiteSpeed Cache Toolbox"

#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr "Beta Test"

#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr "Log View"

#: tpl/toolbox/entry.tpl.php:33 tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr "Debug Settings"

#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr "Turn ON to control heartbeat in back end editor."

#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr "Turn ON to control heartbeat on back end."

#: tpl/toolbox/heartbeat.tpl.php:58 tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr "Set to %1$s to forbid heartbeat on %2$s."

#: tpl/toolbox/heartbeat.tpl.php:57 tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr "WordPress valid interval is %s seconds."

#: tpl/toolbox/heartbeat.tpl.php:56 tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr "Specify the %s heartbeat interval in seconds."

#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr "Turn ON to control heartbeat on front end."

#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr "Disable WordPress interval heartbeat to reduce server load."

#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr "Heartbeat Control"

#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr "provide more information here to assist the LiteSpeed team with debugging."

#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr "Optional"

#: tpl/toolbox/report.tpl.php:100 tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr "Generate Link for Current User"

#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr "Passwordless Link"

#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr "System Information"

#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr "Go to plugins list"

#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr "Install DoLogin Security"

#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr "Check my public IP from"

#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr "Your server IP"

#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr "Enter this site's IP address to allow cloud services to directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."

#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr "This will enable crawler cron."

#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr "Crawler General Settings"

#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr "Remove from Blocklist"

#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr "Empty blocklist"

#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr "Are you sure to delete all existing blocklist items?"

#: tpl/crawler/blacklist.tpl.php:88 tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr "Blocklisted due to not cacheable"

#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr "Add to Blocklist"

#: tpl/crawler/blacklist.tpl.php:43 tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr "Operation"

#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr "Sitemap Total"

#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr "Sitemap List"

#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr "Refresh Crawler Map"

#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr "Clean Crawler Map"

#: tpl/crawler/blacklist.tpl.php:28 tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr "Blocklist"

#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr "Map"

#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr "Summary"

#: tpl/crawler/map.tpl.php:63 tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr "Cache Miss"

#: tpl/crawler/map.tpl.php:62 tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr "Cache Hit"

#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr "Waiting to be Crawled"

#: tpl/crawler/blacklist.tpl.php:89 tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104 tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr "Blocklisted"

#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr "Miss"

#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr "Hit"

#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr "Waiting"

#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr "Running"

#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr "Use %1$s in %2$s to indicate this cookie has not been set."

#: src/admin-display.cls.php:459
msgid "Add new cookie to simulate"
msgstr "Add new cookie to simulate"

#: src/admin-display.cls.php:458
msgid "Remove cookie simulation"
msgstr "Remove cookie simulation"

#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr ".htaccess rule is: %s"

#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr "More settings available under %s menu"

#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr "The amount of time, in seconds, that files will be stored in browser cache before expiring."

#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr "OpenLiteSpeed users, please check this"

#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr "Browser Cache Settings"

#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."

#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."

#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr "An optional second parameter may be used to specify cache control. Use a space to separate"

#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr "The above nonces will be converted to ESI automatically."

#: tpl/cache/entry.tpl.php:21 tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr "Browser"

#: tpl/cache/entry.tpl.php:20 tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr "Object"

#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr "Default port for %1$s is %2$s."

#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr "Object Cache Settings"

#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr "Specify an http status code and the number of seconds to cache that page, separated by a space."

#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr "Specify how long, in seconds, the front page is cached."

#: tpl/cache/entry.tpl.php:67 tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr "TTL"

#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."

#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr "Swap"

#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."

#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr "Avatar list in queue waiting for update"

#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr "Refresh Gravatar cache by cron."

#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr "Accelerates the speed by caching Gravatar (Globally Recognised Avatars)."

#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr "Store Gravatar locally."

#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."
msgstr "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."

#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."

#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr "pixels"

#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."

#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr "Specify the quality when generating LQIP."

#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr "Keep this off to use plain colour placeholders."

#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."

#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr "Specify the responsive placeholder SVG colour."

#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr "Variables %s will be replaced with the configured background colour."

#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr "Variables %s will be replaced with the corresponding image properties."

#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr "It will be converted to a base64 SVG placeholder on-the-fly."

#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr "Specify an SVG to be used as a placeholder when generating locally."

#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr "Prevent any lazy load of listed pages."

#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr "Iframes having these parent class names will not be lazy loaded."

#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr "Iframes containing these class names will not be lazy loaded."

#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr "Images having these parent class names will not be lazy loaded."

#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr "LiteSpeed Cache Page Optimisation"

#: tpl/page_optm/entry.tpl.php:21 tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr "Media Excludes"

#: tpl/page_optm/entry.tpl.php:16 tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr "CSS Settings"

#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr "%s is recommended."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr "Deferred"

#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr "Default"

#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr "This can improve the page loading speed."

#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."

#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr "New developer version %s is available now."

#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr "New Developer Version Available!"

#: tpl/banner/cloud_news.tpl.php:51 tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr "Dismiss this notice"

#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr "Tweet this"

#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr "Tweet preview"

#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr "Learn more"

#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr "You just unlocked a promotion from QUIC.cloud!"

#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr "The image compression quality setting of WordPress out of 100."

#: tpl/img_optm/entry.tpl.php:17 tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19 tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr "Image Optimisation Settings"

#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr "Are you sure to destroy all optimised images?"

#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr "Use Optimised Files"

#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr "Switch back to using optimised images on your site"

#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr "Use Original Files"

#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr "Use original images (unoptimised) on your site"

#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr "You can quickly switch between using original (unoptimised versions) and optimised image files. It will affect all images on your website, both regular and webp versions if available."

#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr "Optimisation Tools"

#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr "Rescan New Thumbnails"

#: tpl/img_optm/summary.tpl.php:289
msgid "Congratulations, all gathered!"
msgstr "Congratulations, all gathered!"

#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr "What is an image group?"

#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr "Delete all backups of the original images"

#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr "Calculate Backups Disk Space"

#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr "Optimisation Status"

#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr "Current limit is"

#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr "You can request a maximum of %s images at once."

#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr "Optimise images with our QUIC.cloud server"

#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr "Revisions newer than this many days will be kept when cleaning revisions."

#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr "Day(s)"

#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr "Specify the number of most recent revisions to keep when cleaning revisions."

#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr "LiteSpeed Cache Database Optimisation"

#: tpl/db_optm/entry.tpl.php:17 tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr "DB Optimisation Settings"

#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr "Option Name"

#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr "Database Summary"

#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr "We are good. No table uses MyISAM engine."

#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr "Convert to InnoDB"

#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr "Tool"

#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr "Engine"

#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr "Table"

#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr "Database Table Engine Converter"

#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"

#: tpl/dash/dashboard.tpl.php:87 tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr "Currently active crawler"

#: tpl/dash/dashboard.tpl.php:84 tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr "Crawler(s)"

#: tpl/crawler/map.tpl.php:77 tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr "Crawler Status"

#: tpl/dash/dashboard.tpl.php:649 tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737 tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr "Force cron"

#: tpl/dash/dashboard.tpl.php:646 tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734 tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr "Requests in queue"

#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr "Private Cache"

#: tpl/dash/dashboard.tpl.php:58 tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr "Public Cache"

#: tpl/dash/dashboard.tpl.php:53 tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr "Cache Status"

#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr "Last Pull"

#: tpl/dash/dashboard.tpl.php:520 tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr "Image Optimisation Summary"

#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr "Refresh page score"

#: tpl/dash/dashboard.tpl.php:383 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr "Are you sure you want to redetect the closest cloud server for this service?"

#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr "Refresh page load time"

#: tpl/dash/dashboard.tpl.php:354 tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr "Go to QUIC.cloud dashboard"

#: tpl/dash/dashboard.tpl.php:207 tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr "Low Quality Image Placeholder"

#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr "Sync data from Cloud"

#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr "QUIC.cloud Service Usage Statistics"

#: tpl/dash/dashboard.tpl.php:293 tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr "Total images optimised in this month"

#: tpl/dash/dashboard.tpl.php:292 tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr "Total Usage"

#: tpl/dash/dashboard.tpl.php:274 tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr "Pay as You Go Usage Statistics"

#: tpl/dash/dashboard.tpl.php:271 tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr "PAYG Balance"

#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr "Pay as You Go"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr "Usage"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr "Fast Queue Usage"

#: tpl/dash/dashboard.tpl.php:206 tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr "CDN Bandwidth"

#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr "LiteSpeed Cache Dashboard"

#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr "Network Dashboard"

#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr "No cloud services currently in use"

#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr "Click to clear all nodes for further redetection."

#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr "Current Cloud Nodes in Service"

#: tpl/cdn/qc.tpl.php:126 tpl/cdn/qc.tpl.php:133 tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr "Link to QUIC.cloud"

#: tpl/general/entry.tpl.php:17 tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19 tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr "General Settings"

#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr "Specify which HTML element attributes will be replaced with CDN Mapping."

#: src/admin-display.cls.php:485
msgid "Add new CDN URL"
msgstr "Add new CDN URL"

#: src/admin-display.cls.php:484
msgid "Remove CDN URL"
msgstr "Remove CDN URL"

#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr "To enable the following functionality, turn ON Cloudflare API in CDN Settings."

#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr "QUIC.cloud"

#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr "WooCommerce Settings"

#: src/gui.cls.php:788 src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr "LQIP Cache"

#: src/admin-settings.cls.php:297 src/admin-settings.cls.php:333
msgid "Options saved."
msgstr "Options saved."

#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr "Removed backups successfully."

#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr "Calculated backups successfully."

#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr "Rescanned %d images successfully."

#: src/img-optm.cls.php:1527 src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr "Rescanned successfully."

#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr "Destroyed all optimisation data successfully."

#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr "Cleaned up unfinished data successfully."

#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr "Pull Cron is running"

#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr "No valid image found by Cloud server in the current request."

#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr "No valid image found in the current request."

#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr "Pushed %1$s to Cloud server, accepted %2$s."

#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr "Revisions Max Age"

#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr "Revisions Max Number"

#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr "Debug URI Excludes"

#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr "Debug URI Includes"

#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr "HTML Attribute To Replace"

#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr "Use CDN Mapping"

#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr "Editor Heartbeat TTL"

#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr "Editor Heartbeat"

#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr "Back end Heartbeat TTL"

#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr "Back end Heartbeat Control"

#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr "Front end Heartbeat TTL"

#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr "Front end Heartbeat Control"

#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr "Back end .htaccess Path"

#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr "Front end .htaccess Path"

#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr "ESI Nonces"

#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr "WordPress Image Quality Control"

#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr "Auto Request Cron"

#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr "Generate LQIP In Background"

#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr "LQIP Minimum Dimensions"

#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr "LQIP Quality"

#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr "LQIP Cloud Generator"

#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr "Responsive Placeholder SVG"

#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr "Responsive Placeholder Colour"

#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr "Basic Image Placeholder"

#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr "Lazy Load URI Excludes"

#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr "Lazy Load Iframe Parent Class Name Excludes"

#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr "Lazy Load Iframe Class Name Excludes"

#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr "Lazy Load Image Parent Class Name Excludes"

#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr "Gravatar Cache TTL"

#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr "Gravatar Cache Cron"

#: src/gui.cls.php:812 src/gui.cls.php:1032 src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49 tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr "Gravatar Cache"

#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr "DNS Prefetch Control"

#: src/lang.cls.php:173 tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr "Font Display Optimisation"

#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr "Force Public Cache URIs"

#: src/lang.cls.php:121
msgid "Notifications"
msgstr "Notifications"

#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr "Default HTTP Status Code Page TTL"

#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr "Default REST TTL"

#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr "Enable Cache"

#: src/cloud.cls.php:320 src/cloud.cls.php:377 src/lang.cls.php:106
msgid "Server IP"
msgstr "Server IP"

#: src/lang.cls.php:30
msgid "Images not requested"
msgstr "Images not requested"

#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr "Sync credit allowance with Cloud Server successfully."

#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr "Failed to communicate with QUIC.cloud server"

#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr "Good news from QUIC.cloud server"

#: src/cloud.cls.php:1767 src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr "Message from QUIC.cloud server"

#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr "Please try after %1$s for service %2$s."

#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr "No available Cloud Node."

#: src/cloud.cls.php:1131 src/cloud.cls.php:1144 src/cloud.cls.php:1182
#: src/cloud.cls.php:1250 src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr "Cloud Error"

#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."

#: src/media.cls.php:541
msgid "Restore from backup"
msgstr "Restore from backup"

#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr "No backup of unoptimised WebP file exists."

#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr "WebP file reduced by %1$s (%2$s)"

#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr "Currently using original (unoptimised) version of WebP file."

#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr "Currently using optimised version of WebP file."

#: src/media.cls.php:464
msgid "Orig"
msgstr "Orig"

#: src/media.cls.php:461
msgid "(no savings)"
msgstr "(no savings)"

#: src/media.cls.php:460
msgid "Orig %s"
msgstr "Orig %s"

#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr "Congratulation! Your file was already optimised"

#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr "No backup of original file exists."

#: src/media.cls.php:453 src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr "Using optimised version of file. "

#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr "Orig saved %s"

#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr "Original file reduced by %1$s (%2$s)"

#: src/media.cls.php:421 src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr "Click to switch to optimised version."

#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr "Currently using original (unoptimised) version of file."

#: src/media.cls.php:420 src/media.cls.php:490
msgid "(non-optm)"
msgstr "(non-optm)"

#: src/media.cls.php:417 src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr "Click to switch to original (unoptimised) version."

#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr "Currently using optimised version of file."

#: src/media.cls.php:416 src/media.cls.php:454 src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr "(optm)"

#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr "LQIP image preview for size %s"

#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr "LQIP"

#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr "Previously existed in blocklist"

#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr "Manually added to blocklist"

#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr "Mobile Agent Rules"

#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr "Sitemap created successfully: %d items"

#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr "Sitemap cleaned successfully"

#: src/admin-display.cls.php:1512
msgid "Invalid IP"
msgstr "Invalid IP"

#: src/admin-display.cls.php:1484
msgid "Value range"
msgstr "Value range"

#: src/admin-display.cls.php:1481
msgid "Smaller than"
msgstr "Smaller than"

#: src/admin-display.cls.php:1479
msgid "Larger than"
msgstr "Larger than"

#: src/admin-display.cls.php:1473
msgid "Zero, or"
msgstr "Zero, or"

#: src/admin-display.cls.php:1461
msgid "Maximum value"
msgstr "Maximum value"

#: src/admin-display.cls.php:1458
msgid "Minimum value"
msgstr "Minimum value"

#: src/admin-display.cls.php:1438
msgid "Path must end with %s"
msgstr "Path must end with %s"

#: src/admin-display.cls.php:1418
msgid "Invalid rewrite rule"
msgstr "Invalid rewrite rule"

#: src/admin-display.cls.php:261
msgid "Toolbox"
msgstr "Toolbox"

#: src/admin-display.cls.php:259
msgid "Database"
msgstr "Database"

#: src/admin-display.cls.php:258 tpl/dash/dashboard.tpl.php:205
#: tpl/dash/network_dash.tpl.php:37 tpl/general/online.tpl.php:83
#: tpl/general/online.tpl.php:133 tpl/general/online.tpl.php:148
msgid "Page Optimization"
msgstr "Page Optimisation"

#: src/admin-display.cls.php:251 tpl/dash/entry.tpl.php:16
msgid "Dashboard"
msgstr "Dashboard"

#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr "Converted to InnoDB successfully."

#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr "Cleaned all Gravatar files."

#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr "Cleaned all LQIP files."

#: src/error.cls.php:238
msgid "Unknown error"
msgstr "Unknown error"

#: src/error.cls.php:227
msgid "Your domain has been forbidden from using our services due to a previous policy violation."
msgstr "Your domain has been forbidden from using our services due to a previous policy violation."

#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "

#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."

#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr "The callback validation to your domain failed due to hash mismatch."

#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr "Your application is waiting for approval."

#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr "Previous request too recent. Please try again after %s."

#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr "Previous request too recent. Please try again later."

#: src/error.cls.php:194
msgid "Crawler disabled by the server admin."
msgstr "Crawler disabled by the server admin."

#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr "Could not find %1$s in %2$s."

#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr "Credits are not enough to proceed with the current request."

#: src/error.cls.php:123
msgid "There is proceeding queue not pulled yet."
msgstr "There is proceeding queue not pulled yet."

#: src/error.cls.php:115
msgid "The image list is empty."
msgstr "The image list is empty."

#: src/task.cls.php:289
msgid "LiteSpeed Crawler Cron"
msgstr "LiteSpeed Crawler Cron"

#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."

#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."

#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr "Please do NOT share the above passwordless link with anyone."

#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."

#: tpl/banner/cloud_news.tpl.php:30 tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr "Install"

#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."

#: tpl/banner/score.php:74 tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr "PageSpeed Score"

#: tpl/banner/score.php:62 tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411 tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr "Improved by"

#: tpl/banner/score.php:53 tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403 tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr "After"

#: tpl/banner/score.php:45 tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395 tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr "Before"

#: tpl/banner/score.php:40 tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr "Page Load Time"

#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."

#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr "Preserve EXIF/XMP data"

#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr "Try GitHub Version"

#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr "If you turn any of the above settings OFF, please remove the related file types from the %s box."

#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr "Both full and partial strings can be used."

#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr "Images containing these class names will not be lazy loaded."

#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr "Lazy Load Image Class Name Excludes"

#: tpl/cache/settings-cache.tpl.php:139 tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr "For example, %1$s defines a TTL of %2$s seconds for %3$s."

#: tpl/cache/settings-cache.tpl.php:136 tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."

#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr "Maybe later"

#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr "Turn on auto upgrade"

#: tpl/banner/new_version.php:77 tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr "Upgrade"

#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr "New release %s is available now."

#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr "New version available!"

#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr "Sure I'd love to review!"

#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr "Thank you for using the LiteSpeed Cache plugin!"

#: src/activation.cls.php:570
msgid "Upgraded successfully."
msgstr "Upgraded successfully."

#: src/activation.cls.php:561 src/activation.cls.php:566
msgid "Failed to upgrade."
msgstr "Failed to upgrade."

#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr "Changed setting successfully."

#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr "ESI sample for developers"

#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr "Replace %1$s with %2$s."

#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr "You can turn shortcodes into ESI blocks."

#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr "WpW: Private Cache vs. Public Cache"

#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr "Append query string %s to the resources to bypass this action."

#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr "Google reCAPTCHA will be bypassed automatically."

#: src/admin-display.cls.php:456 tpl/crawler/settings.tpl.php:179
msgid "Cookie Values"
msgstr "Cookie Values"

#: src/admin-display.cls.php:455
msgid "Cookie Name"
msgstr "Cookie Name"

#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr "Cookie Simulation"

#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."

#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."

#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr "Automatically Upgrade"

#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr "Your IP"

#: src/import.cls.php:156
msgid "Reset successfully."
msgstr "Reset successfully."

#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr "This will reset all settings to default settings."

#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr "Reset All Settings"

#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr "Separate critical CSS files will be generated for paths containing these strings."

#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr "Separate CCSS Cache URIs"

#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."

#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr "List post types where each item of that type should have its own CCSS generated."

#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr "Separate CCSS Cache Post Types"

#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr "Size list in queue waiting for cron"

#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr "If set to %1$s, before the placeholder is localised, the %2$s configuration will be used."

#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr "Automatically generate LQIP in the background via a cron-based queue."

#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."

#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."

#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr "Responsive Placeholder"

#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr "This will delete all generated image LQIP placeholder files"

#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr "Please enable LiteSpeed Cache in the plugin settings."

#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr "Please enable the LSCache Module at the server level, or ask your hosting provider."

#: src/cloud.cls.php:1633 src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr "Failed to request via WordPress"

#. Description of the plugin
#: litespeed-cache.php
msgid "High-performance page caching and site optimization from LiteSpeed"
msgstr "High-performance page caching and site optimisation from LiteSpeed"

#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr "Reset the optimised data successfully."

#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr "Update %s now"

#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr "View %1$s version %2$s details"

#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5:
#. class/aria
#: src/gui.cls.php:1103
msgid "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."
msgstr "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."

#: src/gui.cls.php:1079
msgid "Install %s"
msgstr "Install %s"

#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr "LSCache caching functions on this page are currently unavailable!"

#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr "%1$s plugin version %2$s required for this action."

#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologise for any inconvenience."

#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr "Automatically remove the original image backups after fetching optimised images."

#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr "Remove Original Backups"

#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr "Automatically request optimisation via cron job."

#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr "A backup of each image is saved before it is optimised."

#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr "Switched images successfully."

#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr "This can improve quality but may result in larger images than lossy compression will."

#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr "Optimise images using lossless compression."

#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr "Optimise Losslessly"

#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr "Optimise images and save backups of the originals in the same folder."

#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr "Optimise Original Images"

#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr "When this option is turned %s, it will also load Google Fonts asynchronously."

#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr "Cleaned all Critical CSS files."

#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr "This will inline the asynchronous CSS library to avoid render blocking."

#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr "Inline CSS Async Lib"

#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr "Run Queue Manually"

#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr "Last requested cost"

#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr "Last generated"

#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr "If set to %s this is done in the foreground, which may slow down page load."

#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr "Optimise CSS delivery."

#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr "This will delete all generated critical CSS files"

#: tpl/dash/dashboard.tpl.php:624 tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr "Critical CSS"

#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr "This site utilises caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."

#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr "Disabling this may cause WordPress tasks triggered by Ajax to stop working."

#: src/utility.cls.php:214
msgid "right now"
msgstr "right now"

#: src/utility.cls.php:214
msgid "just now"
msgstr "just now"

#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr "Saved"

#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr "Last ran"

#: tpl/img_optm/settings.tpl.php:66 tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr "You will be unable to Revert Optimisation once the backups are deleted!"

#: tpl/img_optm/settings.tpl.php:65 tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr "This is irreversible."

#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr "Remove Original Image Backups"

#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr "Are you sure you want to remove all image backups?"

#: tpl/crawler/blacklist.tpl.php:32 tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr "Total"

#: tpl/img_optm/summary.tpl.php:198 tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr "Files"

#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr "Last calculated"

#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr "Calculate Original Image Storage"

#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr "Storage Optimisation"

#: tpl/cdn/other.tpl.php:141 tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr "Use the format %1$s or %2$s (element is optional)."

#: tpl/cdn/other.tpl.php:137 tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr "Only attributes listed here will be replaced."

#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr "Only files within these directories will be pointed to the CDN."

#: src/lang.cls.php:262
msgid "Included Directories"
msgstr "Included Directories"

#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr "A Purge All will be executed when WordPress runs these hooks."

#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr "Purge All Hooks"

#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr "Purged all caches successfully."

#: src/gui.cls.php:696 src/gui.cls.php:861 src/gui.cls.php:916
msgid "LSCache"
msgstr "LSCache"

#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr "Forced cacheable"

#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr "Paths containing these strings will be cached regardless of no-cacheable settings."

#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr "Force Cache URIs"

#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr "Exclude Settings"

#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr "This will disable LSCache and all optimisation features for debug purpose."

#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr "Disable All Features"

#: src/gui.cls.php:741 src/gui.cls.php:961 tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr "Opcode Cache"

#: src/gui.cls.php:706 src/gui.cls.php:926 tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr "CSS/JS Cache"

#: src/gui.cls.php:1055 tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr "Remove all previous unfinished image optimisation requests."

#: src/gui.cls.php:1056 tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr "Clean Up Unfinished Data"

#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr "Join Us on Slack"

#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr "Join the %s community."

#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr "Want to connect with other LiteSpeed users?"

#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr "Your Email address on %s."

#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr "Use %s API functionality."

#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr "To randomise CDN hostname, define multiple hostnames for the same resources."

#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr "Join LiteSpeed Slack community"

#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr "Visit LSCWP support forum"

#: src/lang.cls.php:33 tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr "Images notified to pull"

#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr "What is a group?"

#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr "%s image"

#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr "%s group"

#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr "%s images"

#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr "%s groups"

#: src/crawler.cls.php:1310
msgid "Guest"
msgstr "Guest"

#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr "To crawl the site as a logged-in user, enter the user ids to be simulated."

#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr "Role Simulation"

#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr "running"

#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr "Size"

#: tpl/crawler/summary.tpl.php:123 tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr "Ended reason"

#: tpl/crawler/summary.tpl.php:116 tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr "Last interval"

#: tpl/crawler/summary.tpl.php:104 tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr "Current crawler started at"

#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr "Run time for previous crawler"

#: tpl/crawler/summary.tpl.php:91 tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr "%d seconds"

#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr "Last complete run time for all crawlers"

#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr "Current sitemap crawl started at"

#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr "Save transients in database when %1$s is %2$s."

#: src/lang.cls.php:143
msgid "Store Transients"
msgstr "Store Transients"

#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile
#. User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr "If %1$s is %2$s, then %3$s must be populated!"

#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104 tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76 tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr "NOTE"

#. translators: %s: list of server variables in <code> tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr "Server variable(s) %s available to override this setting."

#: src/admin-display.cls.php:1532 tpl/cache/settings-esi.tpl.php:103
#: tpl/page_optm/settings_css.tpl.php:87 tpl/page_optm/settings_css.tpl.php:223
#: tpl/page_optm/settings_html.tpl.php:131
#: tpl/page_optm/settings_media.tpl.php:258
#: tpl/page_optm/settings_media_exc.tpl.php:36
#: tpl/page_optm/settings_tuning.tpl.php:48
#: tpl/page_optm/settings_tuning.tpl.php:68
#: tpl/page_optm/settings_tuning.tpl.php:89
#: tpl/page_optm/settings_tuning.tpl.php:110
#: tpl/page_optm/settings_tuning.tpl.php:129
#: tpl/page_optm/settings_tuning_css.tpl.php:35
#: tpl/page_optm/settings_tuning_css.tpl.php:96
#: tpl/page_optm/settings_tuning_css.tpl.php:99
#: tpl/page_optm/settings_tuning_css.tpl.php:100
#: tpl/toolbox/edit_htaccess.tpl.php:61 tpl/toolbox/edit_htaccess.tpl.php:79
msgid "API"
msgstr "API"

#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr "Imported setting file %s successfully."

#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr "Import failed due to file error."

#: tpl/page_optm/settings_css.tpl.php:61 tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr "How to Fix Problems Caused by CSS/JS Optimisation."

#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr "This will generate extra requests to the server, which will increase server load."

#: src/lang.cls.php:241
msgid "Instant Click"
msgstr "Instant Click"

#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr "Reset the entire opcode cache"

#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr "This will import settings from a file and override all current LiteSpeed Cache settings."

#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr "Last imported"

#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr "Import"

#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr "Import Settings"

#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr "This will export all current LiteSpeed Cache settings and save them as a file."

#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr "Last exported"

#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr "Export"

#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr "Export Settings"

#: tpl/presets/entry.tpl.php:17 tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr "Import / Export"

#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr "Use keep-alive connections to speed up cache operations."

#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr "Database to be used"

#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr "Redis Database ID"

#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr "Specify the password used when connecting."

#: src/lang.cls.php:137
msgid "Password"
msgstr "Password"

#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr "Only available when %s is installed."

#: src/lang.cls.php:136
msgid "Username"
msgstr "Username"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr "Your %s Hostname or IP address."

#: src/lang.cls.php:132
msgid "Method"
msgstr "Method"

#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr "Purge all object caches successfully."

#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr "Object cache is not enabled."

#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr "Improve wp-admin speed through caching. (May encounter expired data)"

#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr "Persistent Connection"

#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr "Do Not Cache Groups"

#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr "Groups cached at the network level."

#: src/lang.cls.php:139
msgid "Global Groups"
msgstr "Global Groups"

#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr "Connection Test"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr "%s Extension"

#: tpl/cache/settings_inc.object.tpl.php:52 tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr "Status"

#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr "Default TTL for cached objects."

#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr "Default Object Lifetime"

#: src/lang.cls.php:134
msgid "Port"
msgstr "Port"

#: src/lang.cls.php:133
msgid "Host"
msgstr "Host"

#: src/gui.cls.php:729 src/gui.cls.php:949 src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60 tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr "Object Cache"

#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr "Failed"

#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr "Passed"

#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr "Not Available"

#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr "Purge all the object caches"

#: src/cdn/cloudflare.cls.php:275 src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr "Failed to communicate with Cloudflare"

#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr "Communicated with Cloudflare successfully."

#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr "No available Cloudflare zone"

#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr "Notified Cloudflare to purge all successfully."

#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr "Cloudflare API is set to off."

#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr "Notified Cloudflare to set development mode to %s successfully."

#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr "Once saved, it will be matched with the current list and completed automatically."

#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr "You can just type part of the domain."

#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr "Domain"

#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr "Cloudflare API"

#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr "Purge Everything"

#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr "Cloudflare Cache"

#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr "Development Mode will be turned off automatically after three hours."

#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."

#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr "Development mode will be automatically turned off in %s."

#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr "Current status is %s."

#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr "Current status is %1$s since %2$s."

#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr "Check Status"

#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr "Turn OFF"

#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr "Turn ON"

#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr "Development Mode"

#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr "Cloudflare Zone"

#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr "Cloudflare Domain"

#: src/gui.cls.php:717 src/gui.cls.php:937 tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr "Cloudflare"

#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr "For example"

#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr "Prefetching DNS can reduce latency for visitors."

#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr "DNS Prefetch"

#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr "Adding Style to Your Lazy-Loaded Images"

#: src/admin-display.cls.php:1371 src/admin-display.cls.php:1390
#: tpl/cdn/other.tpl.php:108
msgid "Default value"
msgstr "Default value"

#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr "Static file type links to be replaced by CDN links."

#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr "Drop Query String"

#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."

#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr "Improve HTTP/HTTPS Compatibility"

#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr "Remove all previous image optimisation requests/results, revert completed optimisations, and delete all optimisation files."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr "Destroy All Optimisation Data"

#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr "Scan for any new unoptimised image thumbnail sizes and resend necessary image optimisation requests."

#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr "This will increase the size of optimised files."

#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimising."

#: tpl/toolbox/log_viewer.tpl.php:46 tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr "Clear Logs"

#: src/utility.cls.php:217
msgid " %s ago"
msgstr " %s ago"

#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr "WebP saved %s"

#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr "If you run into any issues, please refer to the report number in your support message."

#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr "Last pull initiated by cron at %s."

#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr "Images will be pulled automatically if the cron job is running."

#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr "Only press the button if the pull cron job is disabled."

#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr "Pull Images"

#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr "This process is automatic."

#: tpl/dash/dashboard.tpl.php:569 tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr "Last Request"

#: tpl/dash/dashboard.tpl.php:546 tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr "Images Pulled"

#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr "Report"

#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."

#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr "Send to LiteSpeed"

#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr "LiteSpeed Optimisation"

#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr "Load Google Fonts Asynchronously"

#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr "Browser Cache TTL"

#: src/doc.cls.php:101 tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846 tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93 tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114 tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46 tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr "Learn More"

#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr "Images optimised and pulled"

#: src/lang.cls.php:32 tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr "Images requested"

#: src/img-optm.cls.php:1993 src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr "Switched to optimised file successfully."

#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr "Restored original file successfully."

#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr "Enabled WebP file successfully."

#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr "Disabled WebP file successfully."

#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr "Significantly improve load time by replacing images with their optimised %s versions."

#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr "Selected roles will be excluded from cache."

#: tpl/page_optm/entry.tpl.php:23 tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr "Tuning"

#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr "Selected roles will be excluded from all optimisations."

#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr "Role Excludes"

#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr "Tuning Settings"

#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr "If the tag slug is not found, the tag will be removed from the list on save."

#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr "If the category name is not found, the category will be removed from the list on save."

#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr "After the QUIC.cloud Image Optimisation server finishes optimisation, it will notify your site to pull the optimised images."

#: tpl/dash/dashboard.tpl.php:537 tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr "Send Optimisation Request"

#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr "Image Information"

#: tpl/dash/dashboard.tpl.php:543 tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr "Total Reduction"

#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr "Optimisation Summary"

#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr "LiteSpeed Cache Image Optimisation"

#: src/admin-display.cls.php:257 src/gui.cls.php:895
#: tpl/dash/dashboard.tpl.php:204 tpl/dash/network_dash.tpl.php:36
#: tpl/general/online.tpl.php:75 tpl/general/online.tpl.php:134
#: tpl/general/online.tpl.php:149 tpl/presets/standard.tpl.php:32
msgid "Image Optimization"
msgstr "Image Optimisation"

#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr "For example, %s can be used for a transparent placeholder."

#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr "By default a grey image placeholder %s will be used."

#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."

#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr "Specify a base64 image to be used as a simple placeholder while images finish loading."

#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr "Elements with attribute %s in HTML code will be excluded."

#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr "Filter %s is supported."

#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr "Listed images will not be lazy loaded."

#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr "Lazy Load Image Excludes"

#: src/gui.cls.php:667
msgid "No optimization"
msgstr "No optimisation"

#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr "Prevent any optimisation of listed pages."

#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr "URI Excludes"

#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."

#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr "Both full URLs and partial strings can be used."

#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr "Load iframes only when they enter the viewport."

#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr "Lazy Load Iframes"

#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr "This can improve page loading time by reducing initial HTTP requests."

#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr "Load images only when they enter the viewport."

#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr "Lazy Load Images"

#: tpl/page_optm/entry.tpl.php:19 tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr "Media Settings"

#: tpl/cache/settings-esi.tpl.php:113 tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."

#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr "To match the beginning, add %s to the beginning of the item."

#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr "Maybe later"

#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr "I've already left a review"

#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr "Welcome to LiteSpeed"

#: src/lang.cls.php:192 tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr "Remove WordPress Emoji"

#: src/gui.cls.php:677
msgid "More settings"
msgstr "More settings"

#: src/gui.cls.php:654
msgid "Private cache"
msgstr "Private cache"

#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr "Non cacheable"

#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr "Mark this page as "

#: src/gui.cls.php:584 src/gui.cls.php:601
msgid "Purge this page"
msgstr "Purge this page"

#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr "Load JS Deferred"

#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr "Specify critical CSS rules for above-the-fold content when enabling %s."

#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr "Critical CSS Rules"

#: src/lang.cls.php:170 tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr "Load CSS Asynchronously"

#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr "Prevent Google Fonts from loading on all pages."

#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr "Remove Google Fonts"

#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175 tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."

#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr "Remove query strings from internal static resources."

#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr "Remove Query Strings"

#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr "user agents"

#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr "cookies"

#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."

#: src/lang.cls.php:109 tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605 tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr "Browser Cache"

#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr "tags"

#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr "Do Not Cache Tags"

#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr "To exclude %1$s, insert %2$s."

#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr "categories"

#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr "To prevent %s from being cached, enter them here."

#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr "Do Not Cache Categories"

#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr "Query strings containing these parameters will not be cached."

#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr "Do Not Cache Query Strings"

#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr "Paths containing these strings will not be cached."

#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr "Do Not Cache URIs"

#: src/admin-display.cls.php:1559 src/doc.cls.php:128
msgid "One per line."
msgstr "One per line."

#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr "URI Paths containing these strings will NOT be cached as public."

#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr "Private Cached URIs"

#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr "Paths containing these strings will not be served from the CDN."

#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr "Exclude Path"

#: src/lang.cls.php:259 tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr "Include File Types"

#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."

#: src/lang.cls.php:258
msgid "Include JS"
msgstr "Include JS"

#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."

#: src/lang.cls.php:257
msgid "Include CSS"
msgstr "Include CSS"

#: src/lang.cls.php:256
msgid "Include Images"
msgstr "Include Images"

#: src/admin-display.cls.php:482
msgid "CDN URL to be used. For example, %s"
msgstr "CDN URL to be used. For example, %s"

#: src/lang.cls.php:255
msgid "CDN URL"
msgstr "CDN URL"

#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."

#: src/lang.cls.php:261
msgid "Original URLs"
msgstr "Original URLs"

#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr "CDN Settings"

#: src/admin-display.cls.php:256
msgid "CDN"
msgstr "CDN"

#: src/admin-display.cls.php:487 src/admin-display.cls.php:1168
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.object.tpl.php:280 tpl/cdn/other.tpl.php:53
#: tpl/dash/dashboard.tpl.php:69 tpl/dash/dashboard.tpl.php:462
#: tpl/dash/dashboard.tpl.php:584 tpl/dash/dashboard.tpl.php:613
#: tpl/img_optm/settings.media_webp.tpl.php:22
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_js.tpl.php:77
#: tpl/page_optm/settings_media.tpl.php:180
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "OFF"
msgstr "OFF"

#: src/admin-display.cls.php:486 src/admin-display.cls.php:1167
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: src/doc.cls.php:41 tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.cache_mobile.tpl.php:91 tpl/cdn/other.tpl.php:45
#: tpl/crawler/settings.tpl.php:138 tpl/dash/dashboard.tpl.php:67
#: tpl/dash/dashboard.tpl.php:460 tpl/dash/dashboard.tpl.php:582
#: tpl/dash/dashboard.tpl.php:611 tpl/page_optm/settings_css.tpl.php:220
#: tpl/page_optm/settings_media.tpl.php:176
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "ON"
msgstr "ON"

#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr "Notified LiteSpeed Web Server to purge CSS/JS entries."

#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr "Minify HTML content."

#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr "HTML Minify"

#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr "JS Excludes"

#: src/lang.cls.php:165
msgid "JS Combine"
msgstr "JS Combine"

#: src/lang.cls.php:164
msgid "JS Minify"
msgstr "JS Minify"

#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr "CSS Excludes"

#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr "CSS Combine"

#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr "CSS Minify"

#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."

#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr "This will purge all minified/combined CSS/JS entries only"

#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr "Purge %s Error"

#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr "Database Optimiser"

#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr "Optimise all tables in your database"

#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr "Optimise Tables"

#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr "Clean all transient options"

#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr "All Transients"

#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr "Clean expired transient options"

#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr "Expired Transients"

#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr "Clean all trackbacks and pingbacks"

#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr "Trackbacks/Pingbacks"

#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr "Clean all binned comments"

#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr "Binned comments"

#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr "Clean all spam comments"

#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr "Spam Comments"

#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr "Clean all binned posts and pages"

#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr "Binned Posts"

#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr "Clean all auto saved drafts"

#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr "Auto Drafts"

#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr "Clean all post revisions"

#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr "Post Revisions"

#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr "Clean All"

#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr "Optimised all tables."

#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr "Clean all transients successfully."

#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr "Clean expired transients successfully."

#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr "Clean trackbacks and pingbacks successfully."

#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr "Clean binned comments successfully."

#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr "Clean spam comments successfully."

#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr "Clean binned posts and pages successfully."

#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr "Clean auto drafts successfully."

#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr "Clean post revisions successfully."

#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr "Clean all successfully."

#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr "Default Private Cache TTL"

#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."

#: src/lang.cls.php:238 tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277 tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr "Vary Group"

#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr "Cache the built-in Comment Form ESI block."

#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr "Cache Comment Form"

#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr "Cache Admin Bar"

#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."

#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."

#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."

#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr "Private"

#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr "Public"

#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr "Purge Settings"

#: src/lang.cls.php:126 tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr "Cache Mobile"

#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr "Advanced level will log more details."

#: tpl/presets/standard.tpl.php:29 tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr "Basic"

#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."

#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr "Cache Login Page"

#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr "Cache requests made by WordPress REST API calls."

#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr "Cache REST API"

#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"

#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr "Cache Commenters"

#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr "Privately cache frontend pages for logged-in users. (LSWS %s required)"

#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr "Cache Logged-in Users"

#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr "Cache Control Settings"

#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr "ESI"

#: tpl/cache/entry.tpl.php:19 tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr "Excludes"

#: tpl/cache/entry.tpl.php:18 tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16 tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr "Purge"

#: src/admin-display.cls.php:255 tpl/cache/entry.tpl.php:17
#: tpl/cache/entry.tpl.php:66
msgid "Cache"
msgstr "Cache"

#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr "Current server time is %s."

#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr "Specify the time to purge the \"%s\" list."

#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr "Both %1$s and %2$s are acceptable."

#: src/lang.cls.php:148 tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr "Scheduled Purge Time"

#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."

#: src/lang.cls.php:147 tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr "Scheduled Purge URLs"

#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr "Shorten query strings in the debug log to improve readability."

#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr "Heartbeat"

#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr "MB"

#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr "Log File Size Limit"

#: src/htaccess.cls.php:784
msgid "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"
msgstr "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"

#: src/error.cls.php:158 src/error.cls.php:182
msgid "%s file not writable."
msgstr "%s file not writable."

#: src/error.cls.php:178
msgid "%s file not readable."
msgstr "%s file not readable."

#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr "Collapse Query Strings"

#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr "ESI Settings"

#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr "A TTL of 0 indicates do not cache."

#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr "Recommended value: 28800 seconds (8 hours)."

#: src/lang.cls.php:234 tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr "Enable ESI"

#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr "Custom Sitemap"

#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr "Purge pages by relative or full URL."

#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."

#: tpl/cache/settings-esi.tpl.php:45 tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60 tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77 tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr "WARNING"

#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr "The next complete sitemap crawl will start at"

#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr "Failed to write to %s."

#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr "Folder is not writable: %s."

#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr "Can not create folder: %1$s. Error: %2$s"

#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr "Folder does not exist: %s"

#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr "Notified LiteSpeed Web Server to purge the list."

#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr "Allows listed IPs (one per line) to perform certain actions from their browsers."

#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr "Server Load Limit"

#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."

#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr "Crawl Interval"

#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr "Then another WordPress is installed (NOT MULTISITE) at %s"

#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr "LiteSpeed Cache Network Cache Settings"

#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr "Select below for \"Purge by\" options."

#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr "LiteSpeed Cache CDN"

#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr "No crawler meta file generated yet"

#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr "Show crawler status"

#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr "Watch Crawler Status"

#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr "Run frequency is set by the Interval Between Runs setting."

#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr "Manually run"

#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr "Reset position"

#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr "Run Frequency"

#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr "Cron Name"

#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr "Crawler Cron"

#: cli/crawler.cls.php:100 tpl/crawler/summary.tpl.php:47
msgid "%d minute"
msgstr "%d minute"

#: cli/crawler.cls.php:98 tpl/crawler/summary.tpl.php:47
msgid "%d minutes"
msgstr "%d minutes"

#: cli/crawler.cls.php:91 tpl/crawler/summary.tpl.php:39
msgid "%d hour"
msgstr "%d hour"

#: cli/crawler.cls.php:89 tpl/crawler/summary.tpl.php:39
msgid "%d hours"
msgstr "%d hours"

#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr "Generated at %s"

#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr "LiteSpeed Cache Crawler"

#: src/admin-display.cls.php:260 src/lang.cls.php:267
msgid "Crawler"
msgstr "Crawler"

#. Plugin URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"
msgstr "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"

#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr "Notified LiteSpeed Web Server to purge all pages."

#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr "All pages with Recent Posts Widget"

#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr "Pages"

#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr "This will Purge Pages only"

#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr "Purge Pages"

#: src/gui.cls.php:133 tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr "Cancel"

#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr "Activate"

#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr "Email Address"

#: src/gui.cls.php:1080
msgid "Install Now"
msgstr "Install Now"

#: cli/purge.cls.php:133
msgid "Purged the blog!"
msgstr "Purged the blog!"

#: cli/purge.cls.php:86
msgid "Purged All!"
msgstr "Purged All!"

#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr "Notified LiteSpeed Web Server to purge error pages."

#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."

#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr "If the login cookie was recently changed in the settings, please log out and back in."

#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr "However, there is no way of knowing all the possible customisations that were implemented."

#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."

#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr "The network admin setting can be overridden here."

#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr "Specify how long, in seconds, public pages are cached."

#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr "Specify how long, in seconds, private pages are cached."

#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr "Purge pages by post ID."

#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr "Purge the LiteSpeed cache entries created by this plugin"

#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr "This will Purge Front Page only"

#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."

#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."

#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr "If only the WordPress site should be purged, use Purge All."

#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr "Notified LiteSpeed Web Server to purge everything."

#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr "Use Primary Site Configuration"

#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr "This will disable the settings page on all subsites."

#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr "Check this option to use the primary site's configuration for all subsites."

#: src/admin-display.cls.php:998 src/admin-display.cls.php:1003
msgid "Save Changes"
msgstr "Save Changes"

#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr "The following options are selected, but are not editable in this settings page."

#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr "The network admin selected use primary site configs for all subsites."

#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr "Empty Entire Cache"

#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr "This action should only be used if things are cached incorrectly."

#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr "This may cause heavy load on the server."

#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr "This will clear EVERYTHING inside the cache."

#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr "LiteSpeed Cache Purge All"

#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr "If you would rather not move at litespeed, you can deactivate this plugin."

#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr "Create a post, make sure the front page is accurate."

#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr "Visit the site while logged out."

#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr "Examples of test cases include:"

#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr "For that reason, please test the site to make sure everything still functions properly."

#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr "This message indicates that the plugin was installed by the server admin."

#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr "LiteSpeed Cache plugin is installed!"

#: src/lang.cls.php:275 tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr "Debug Log"

#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr "Admin IP Only"

#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr "Specify how long, in seconds, REST calls are cached."

#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr "The environment report contains detailed information about the WordPress configuration."

#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr "The server will determine if the user is logged in based on the existence of this cookie."

#: tpl/cache/settings-purge.tpl.php:53 tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr "Note"

#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr "After verifying that the cache works in general, please test the basket."

#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."

#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr "Purge All On Upgrade"

#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr "Product Update Interval"

#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."

#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr "Always purge both product and categories on changes to the quantity or stock status."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr "Do not purge categories on changes to the quantity or stock status."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr "Purge product only when the stock status changes."

#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr "Purge product and categories only when the stock status changes."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr "Purge categories only when stock status changes."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr "Purge product on changes to the quantity or stock status."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr ".htaccess did not match configuration option."

#: tpl/cache/settings-ttl.tpl.php:75 tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr "If this is set to a number less than 30, feeds will not be cached."

#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr "Specify how long, in seconds, feeds are cached."

#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr "Default Feed TTL"

#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr "Failed to get %s file contents."

#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr "Disabling this option may negatively affect performance."

#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr "Invalid login cookie. Invalid characters found."

#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr "WARNING: The .htaccess login cookie and Database login cookie do not match."

#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr "Invalid login cookie. Please check the %s file."

#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."

#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr "There is a WordPress installed for %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr "Example use case:"

#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr "The cookie set here will be used for this WordPress installation."

#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."

#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr "This setting is useful for those that have multiple web applications for the same domain."

#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr "The default login cookie is %s."

#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr "Login Cookie"

#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr "More information about the available commands can be found here."

#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr "These settings are meant for ADVANCED USERS ONLY."

#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr "Current %s Contents"

#: tpl/cache/entry.tpl.php:22 tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr "Advanced"

#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr "Advanced Settings"

#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr "Purge List"

#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr "Purge By..."

#: tpl/crawler/blacklist.tpl.php:41 tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr "URL"

#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr "Tag"

#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr "Post ID"

#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr "Category"

#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr "NOTICE: Database login cookie did not match your login cookie."

#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr "Purge URL %s"

#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr "Purge tag %s"

#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr "Purge category %s"

#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr "When disabling the cache, all cached entries for this site will be purged."

#: tpl/cache/settings-cache.tpl.php:42 tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133 tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42 tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr "NOTICE"

#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr "This setting will edit the .htaccess file."

#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr "LiteSpeed Cache View .htaccess"

#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr "Failed to back up %s file, aborted changes."

#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr "Do Not Cache Cookies"

#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr "Do Not Cache User Agents"

#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr "This is to ensure compatibility prior to enabling the cache for all sites."

#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr "Network Enable Cache"

#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23 tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24 tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr "NOTICE:"

#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr "Other checkboxes will be ignored."

#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."

#: src/lang.cls.php:127 tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr "List of Mobile User Agents"

#: src/file.cls.php:168 src/file.cls.php:172
msgid "File %s is not writable."
msgstr "File %s is not writable."

#: tpl/page_optm/entry.tpl.php:17 tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr "JS Settings"

#: src/gui.cls.php:874 tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr "Manage"

#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr "Default Front Page TTL"

#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr "Notified LiteSpeed Web Server to purge the front page."

#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr "Purge Front Page"

#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr "Example"

#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr "All tags are cached by default."

#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr "All categories are cached by default."

#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr "To do an exact match, add %s to the end of the URL."

#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr "The URLs will be compared to the REQUEST_URI server variable."

#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr "Select only the archive types that are currently used, the others can be left unchecked."

#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr "Notes"

#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr "Use Network Admin Setting"

#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr "Disable"

#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."

#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr "Disabled"

#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr "Enabled"

#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr "Do Not Cache Roles"

#. Author URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com"
msgstr "https://www.litespeedtech.com"

#. Author of the plugin
#: litespeed-cache.php
msgid "LiteSpeed Technologies"
msgstr "LiteSpeed Technologies"

#. Plugin Name of the plugin
#: litespeed-cache.php tpl/banner/new_version.php:57
#: tpl/banner/new_version_dev.tpl.php:21 tpl/cache/more_settings_tip.tpl.php:28
#: tpl/esi_widget_edit.php:41 tpl/inc/admin_footer.php:17
msgid "LiteSpeed Cache"
msgstr "LiteSpeed Cache"

#: src/lang.cls.php:277
msgid "Debug Level"
msgstr "Debug Level"

#: tpl/general/settings.tpl.php:72 tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86 tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr "Notice"

#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr "Term archive (include category, tag, and tax)"

#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr "Daily archive"

#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr "Monthly archive"

#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr "Yearly archive"

#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr "Post type archive"

#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr "Author archive"

#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr "Home page"

#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr "Front page"

#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr "All pages"

#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr "Select which pages will be automatically purged when posts are published/updated."

#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr "Auto Purge Rules For Publish/Update"

#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr "Default Public Cache TTL"

#: src/admin-display.cls.php:1345 tpl/cache/settings_inc.object.tpl.php:162
#: tpl/crawler/settings.tpl.php:43 tpl/esi_widget_edit.php:78
msgid "seconds"
msgstr "seconds"

#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr "Admin IPs"

#: src/admin-display.cls.php:254
msgid "General"
msgstr "General"

#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr "LiteSpeed Cache Settings"

#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr "Notified LiteSpeed Web Server to purge all LSCache entries."

#: src/gui.cls.php:686 src/gui.cls.php:696 src/gui.cls.php:706
#: src/gui.cls.php:717 src/gui.cls.php:729 src/gui.cls.php:741
#: src/gui.cls.php:753 src/gui.cls.php:765 src/gui.cls.php:776
#: src/gui.cls.php:788 src/gui.cls.php:800 src/gui.cls.php:812
#: src/gui.cls.php:906 src/gui.cls.php:916 src/gui.cls.php:926
#: src/gui.cls.php:937 src/gui.cls.php:949 src/gui.cls.php:961
#: src/gui.cls.php:973 src/gui.cls.php:985 src/gui.cls.php:996
#: src/gui.cls.php:1008 src/gui.cls.php:1020 src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47 tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64 tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82 tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100 tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118 tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr "Purge All"

#: src/admin-display.cls.php:548 src/gui.cls.php:884
#: tpl/crawler/entry.tpl.php:17
msgid "Settings"
msgstr "Settings"PKZ^�\�E��<p<p%translations/litespeed-cache-id_ID.monu�[�������,y�Y�w�w�w�w�w2x9xLxTx
]x	hx
rx
}x�x�x�x�x�x	�x�x	�xy.yEy
Ry]ydyhsyN�yg+z\�zo�zb`{e�{a)|=�|d�|�.}w�}�)~"�~7�~.#4R �
��H��&�8�H�c�'t�
��	������Ԁ%��|�F��
ց.�0�A�%P�	v�"����PÂ�T#�Zx�>Ӄ�/�4<�-q�/��qτLA�2��I��*�J6�����#����҆���
	��Q)�O{�ˇs�EU�P��8�0%�V�'s�����̉3���4�$;�S`�	��	��Ȋ Ԋ"��/�*H�s�
{��������48��m�f:�����ƍʍ
ٍ'�
��*�#2�V�g�s���
������֎������	4�>�T�
e�p�}�����8��&�0�'9�*a�S��� �� �(?�h�o� x������?�L�Wd�K��%�	.�8�J�c�$�����Փ"��",�O�!j�����&̔&�"�G=�!��,��$ԕ+��%�E�a�y���'��(Ֆ��'�,�
C�N�Pk���ӗ1�
�%&�2L����V��^�
M�X�g���������̙&�.
�N9�*��/��V�]:�L�����$� =�^�!p�����
����ǜ�����!�-�%<�Bb�
�����4:�&o�6��͞ڞ	����6*�a�|������� ۟"���5�N�/b�/��* <�<*�7g�����ǡ֡���
�	$�.�7�J�[�{���
������
΢ܢ	����*�=�
E�S�d�!{�����ϣ����)�
H�V��_�9�?�)G�Mq���+ݥ}	���D��8ݦ��!3�
U�c�z�;���§�� �� ��K̨8�Q�l�t�������ʩީ����0�CI�����H����

��<"�_�y���9��9٬
�!�4�D�X�
e�p�����,��^�qH���®�N�Q�^��e�(��
!�,�I�h���������۰������,�4�+;�%g�,��s��'.�V�j�"��%��Ӳ�&�-�D�U�n���6��(������5�LO���9��:�6�-T����K�Wk�öԶ
����O&�
v�������˷ӷ��
�Q-��2��¸Ҹ
�'��#�>� Q�0r�����ƹ#ٹ��
��!%�G�b��}��*�=�W�j���
����	����Bͻ
��#�	'�1�26�Zi�,ļ��-!��O�/'�iW�:��;��Y8�K��V޿U5�L��f�B?�Y��:���V��`��JV�g��x	�=��@��=�?�Q�d�������
��<��?�U�j�������?����� .�&O� v�D����l��GU����/�;�N�
]��h��(�����4��O���
����
'�
5�/@�/p���k��<!�
^�i�(����
������	���c�u�����.����
����
��6�C�hb���A������	�����������'�:�
G�
U�c�r�
��
��"��������$��+�E�#W�{�*����������
��
9�$D�(i�����C���P!�Fr�F��E�@F�2��B��C��>A�"��&������%���,�%F� l�"��&����!���+� D�e�}�>��2��$�3�J�Y�p�������d��$� <�]�/n�.����������3�G�[�d�q���������������
����	��$�3�R�%Y��$��
�������������@�
I�%W�}�������$�>,�k�}� ����*�� ����21�d�}�"��*��*��"�"6�	Y�c�s�<��,��$���
�
&�4�QD�������
��.��?��6%�;\�1��3��2��61�0h�������$����������
�Q'�2y�Q��D��
C�Q�#a�-��$��?����/�7������%�	5�?�G�X�h�|�������������$
�2�EK�+��*������
��<1�n�}���
��
��$��������!��1�I�YV������������"�)�2�D�RZ�c��2�?D�
������d��<,�5i�S��C��57�m�j�����K|�O��'�?@�����
��������9��;
�=I�>��0��M��E�\�pd�|��/R�&��&��)��8��73�4k�����
��
����F��d�U2���X�����
�"�A.�Ap������	������(�
9�	D�N�Z�%i���0���I�8�$P�Du�@��9��15�g�8t�a����,�8�X�h�y�+��
������P��<N�������/�
�#%��I�;�E��W�<�=/mQ�+�#32Ex����
�� 6L[o�����&��%�{%;���4A^|�F���!>!Vx�.����&-&KBr���Y^o�$�,��	I	
d	r	�	
�	�	:�	�	
;
gV
�
.�
�
'(d>��G�f$|X�Q�7L
+�
J�
�
g}���Q�90EPv^�q&�	����9>vG}�(<e>��U�N1e��

&8_#d��9�
�V�iT_�CGba�84E/z7�6�7-Q)L�*�)!-K(yH�A�c-R�M�2CU(l3��R�#8Paq�
���2��($45Y�����e�-+Y/aZ�h�^U]�= iP 8� [� cO!C�!j�!zb"A�"q#`�#'�#q$�$�$W�$%"%OH%>�%�%�%K&T&EY'1�'-�'8�'M8(Y�(,�()
)S7)9�)&�))�)9*$P*Xu*1�*+A+^W+E�+U�+(R,S{,Y�,)-J?-z�-(.I..xx.^�.AP/4�/)�/c�/0U0.�0��0�\1��1�2A�2Y�2*E3Fp39�3-�5161Q6(�66�6�6747RS7p�7,8*D8.o81�8;�8/9(<9Je94�9B�9(:NG:Q�:o�:XX;/�;G�;9)<1c<��<�!=$�=��=J�>^�>3M?N�?�?W�?�F@��@>�AH�AH*B<sB1�BV�BL9C]�C�C�C�C�CD$D8DMD
^DlDD�D�D�D�D��D/_E(�E)�E�EX�E�PF��F�[G
�G
�G�G
H%H=HOH@\H�H
�H%�Hg�HH:I�I
�J
�J
�J�J�J�J�J:�J>!K@`Kp�KL,L<LVLjL}Lr�L]M5mM_�M�N(�N8�NO# ODO$dO.�O2�Or�OH^P�P!�P�P�P�PC�PF@Q�Q
�Q�Q�Q�Q�Q�QR$R>RNRcR }R�RK�R�R�R+S<S)QS�{S 
T
.T<T[TvT�T�Te�TJUjeUK�UdVM�VJ�VW$6W[WglW�WR�WZ>X�X�X'�X#�XY�)Y%�Y-�Y�'Z/�Zk[({[E�[��[u�\F]0^]D�].�]S^4W^*�^�^C�^A_L\_-�_G�_<`-\`�`/�`�`�`)�`Z&aw�a�aCbLbcc
lcwcc�cK�cd	dd)dJ0d	{d�d�d�d��d"e*e6eVf_f)nf#�f5�f�fggg&g/g8gAgMgkg�g�g�g	�g	�g�g/�gh
h(h/ho?h>�hy�hphi��inkj��jndkH�kjl��l�m��m%Jn5pn�n�n=�nA�n&9o`o'qoT�o�o�op%pEp.`p�p�p�p�p�p*�pq�qP�qr7r1Drvr&�r�r-�r!�ras
ps]~sg�sEDt�t�tE�t<�t-9u�guQ�u3>vOrv(�v\�v
Hw
Vw6dw�w(�w
�w�w�wxS1xL�x�x��xRhyZ�yTz-kz�z.�z�z{{34{h{n{�{'�{s�{)|
8|
F|#T|#x|7�|4�|	}}!};}�N}9�}�~i�~d#q���)�
���*
�8�
J� X�y���������̀Ҁ���
�&�6�K�_�
k�y�����T��-��:'�"b�(��Z��	�!%�G�-g�����'��̃��
����S��R��,P�}���!��'̅2� '�H�!h�&����'ц!��,�&H�#o�*��/��%�S�$h�+��&��1�(�%;�!a�%����7ʼn-��	+�-5�c�
~�'��^���3�CP���)��6ҋ	�
�Z#�n~�
����%�6�H�^�n�*��6��S�)9�'c�G��Sӎ@'�h�������"��	�
�
+�	6�%@�f�y���������)��M�9��A�,�(�9?�y���	���� ��F֒�!=�_�u�!��*�� ٓ���,�>B�4��4��F�A2�<t���Õ
ڕ���&�=�J�
Q�\�s� ����–ǖӖ�
��	�&�7�Q�h�{�������"��ؗ���#.�R�"e��������9j���"��[ϙ+�)G��q���B
�2M�����'��˛ݛ��D��P�
.�#<�#`�]��@�"#�F�N�f��������Ӟ����M#�q���\����

���$���ѡ�;�;/�k�x�������΢ۢ��5+�Xa�p��
+�"6�"Y�W|�Ԥ���'����!��٥�
�)�0�I�d�v�
��������ǦϦ3զ%	�-/�v]�$ԧ��#
�!1�"S�v���#��Ψ����0�>7�/v����� ө�_
�j�@y�G��B�9E���\.�\�����
��4�VS�
����ӭ��
��#-�	Q�Y[���9Į���+�=7�u���%��/ů����&+�R�	W�a�{������ɰt�������ٱ
���#�+�A;�}���	������>��W�-L�z���&���ٳFٴk �<��KɵJ�T`�Y��X�Kh�Y��B�]Q�<����U��h�bP�����^�B�J7�B��Žֽ���7�I�>X�B��ھ"�%�8�L�1[�������$��(ֿ$��S$�x����U	��_� �-�C�S��_��(����#)�"M��p�)�	0�:�R�b�
n�4y�.��"��p�9q�����-��$�+�7�
L�Z�
f�^t�*�����9<�v�
{�������
��%��f��\�<d����
u�������������8�:�M�a�s�������2������)7�/a���)����/���.�J�]�o�(����2��/��!'�I�K^���T��D�Ca�W��N��<L�S��U��N3�0��0������"�+�C�#Z�~���)���� �!!�C�^�}�"��>��3�� -�N�
e�s���������s��T�m���3��9��	��-�B�Y�y���	��
�� ������*���*�/�K�f�
u�
����������#����*�
?�M�S�Z�
n�
|���N����&�� �7��?�
����H��?�O�i���+�� ������B	�"L�o���7��7��,�)K�u�����R��@�=A��������[���"�
*�
8�>F�G��A��X�Dh�B��?��B0�;s�������$�������+�dF�A��Q��R?�����"��7��!�<.�k����;�O�\�*x���������������
�'�>�X�m�+~���=��*�.3�!b�	����(��J�����%�7�!D�f����%��2��
��l��k�������������
�����S0�q��5��;,�h�%����{��B8�6{�U��E�<N�"��q��� �m��w)�-��C���(�-�
6�A�P�Ld�L��W��MV�<��R��4�I�pP���+A�,m�(��&��A��A,�<n�����
����
����S��t�^{��\�Q�X�e���S��W�=�I�\�r�����������

��*�*A�l�:���[�)7�7a�V��E�A6�8x���A�e�j�����!�����.��%�)�8�L�Wk�B��"�9�3Y���'����9c�K����8��:�	X7&�
���.�%.$Di����!��
-@Tow%��0���G}��4�-'Ur�D����":$Sx�3���! 8/YM���c�� �#�+�	2	UI	�	�	!�	�	�	C
[
v
w�
��
�0�	�,�#r5��N�w-
8�
[�
[:7�0�M�Mbg�+�!	+TC�8�f�tPv�%<
bm)�#�B����+Bn
�G��d�IXn�+=N#n�#��$�M�
<^Jq�jM�P�P%;v:�5�;#:_9�'�$�L!1n$�'�.�H@eh�W[g���0�;0l]s�� 2; Jk4p�3�)�1 P j {  � q� 5� 	3!6=!qt!j�!UQ"e�":
#sH#6�#_�#]S$I�$g�$uc%J�%{$&u�&&'l='�'�'M�'%4(PZ(7�(�(�(m)*�)W�*0+96+?p+G�+T�+/M,(},X�,:�,&:-(a-:�-/�-V�-4L.�.T�.v�.Uf/u�/220^e0V�01O71��1-2E>2��2o3H�3/�3!�3i4/�41�4��4��5�N67F7^d70�7Y�7�N8#�:+�:(";K;.j;(�;"�;=�;S#<ww<1�<7!=AY==�=G�=:!>6\>M�>@�>U"?#x?`�?W�?nU@Z�@6ASVAL�A?�A�7B��B2�C��C_�D[�D,@EMmE(�Ea�E�FF��F=�GHHLLH2�H,�HY�HQSIj�IJ	JJ%J7J+HJtJ�J�J�J�J�J�J�JK�
K8�K1�K.*LYLkwL��L��M�
N
�N�N�N%�N#�NO$OG5O}O�O)�Oz�OZ/P�P�Q�Q�Q
�Q�Q
�QRA RIbRU�R�S�S�S!�S�S�ST|3Te�TCUqZU��U-�V<�V �V'W#>W%bW6�W0�W|�WNmX
�X,�X�X!�X
YH+Y<tY�Y�Y�Y�YZZ2ZOZcZ�Z�Z�Z�Z
�ZG�Z;[D[2V[�[5�[��[!u\�\#�\�\�\]]w,]Q�]w�]Nn^~�^C<_V�_(�_&`'`~8` �`^�`d7a�a!�a)�a#�a
#b�1b$�bD
c�Oc01d�bd1�dPe�je�fU�f@gQDg/�g\�g?#h5ch+�hW�hPijniA�iFjHbj-�j!�j6�j2kKk,Sk\�k��k�lP�l�l	nn%n*nGnKen	�n�n(�n�n^�nRo[ogomo�qop
.p��f�
V����q=���@���n��� ��	Aby�����F���d�s#ZGg{�@��NIO9�����*	i~/���q��$��(ba��3���8;D��^�C�lZ��*���L~?��K4���'�)�g	��e��n��^B��l�++G�LZ��_�1@p�T�����[L$l_B�j:F��5�.v�n}J&���Y|)�O7��B;N^k�U�r�m�"`�[�V�TKA��	aM5J2��5�����\���^�k�Q�Z���TP]�1�G�.�}�$�&#�e����i�C��4�Y8K��|eY<�xx�Q�7�b�h�@]0���0Ed��Y��I���;(�x>�����w��
���<v^���|	�K���X'�!CH>��u+O�nW9���@�����)�m02L����X�Xh�iPFD�D�
L=%�=�I����#K�~������%�����X����|A�/�vvE�-�����V��0�����!`�������jQQ��}$�,�U"F���3�R���v
���F�N�k��i�ET�%=�>��>CJ�&�z�Jx�u�#�ar�,�z��)e�-��;�/����2�/�>O�z :�~4
f���p�lM��1���oc��i�F{S�.<cb��(�V���9`%=+�'�R� �����]M�����
(2���A�=��mu��H]�&���0<lk(�_@yS��W���}p����hW6���r{�~�+9����Z"�pDR�Y��k����h��`I,��\�a�6mx�����sER����\4cU�cy����5]4|�S�q���gg�.�[���h;��{��yGM���P��/?b��M'�56�{����_�u���t�V�oD��BZ�\�s�
�Yw�'�f�GUP?n?�����8����G�#:�����$�w����E�� ��.0��Q��f��H�6�!Rz�5���K�*�1�z6�L�-��&��d�Q�"sX7�������\�l?O<�e��6w����[�7s�r�.�:�O��h���D���^���-�Jq���V�{��U>�aS��mcIAryC�%����*��T�H �i�jk�,1,�8�H9�J��;)�NA|��������*��boa�d���#�� S������o�:B�Mf�-&��SN�)I!tc�r�X�4���w�$
d/��[��W�v�72����o
�[�
�����]��jT*���<8�	�Ud��n�e�����(Cg�\H�����~tz���u��!���PW����R8s�7�3:N�}q�q"����x+�"�B���2E�_3o���j������u���p�g}�t�-
W�9���'�
�t��1p�,���!y�m�_�%3w�j�������������`fP������t?�`3� %s ago%1$s %2$d item(s)%1$s %2$s files left in queue%1$s is a %2$s paid feature.%1$s plugin version %2$s required for this action.%1$sLearn More%2$s%d hour%d hours%d item(s)%d minute%d minutes%d seconds%s Extension%s activation data expired.%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.A Purge All will be executed when WordPress runs these hooks.A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled.A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimized.AJAX Cache TTLAPIAPI: Filter %s available to disable blocklist.API: PHP Constant %s available to disable blocklist.AVIF file reduced by %1$s (%2$s)AVIF saved %sAccelerate, Optimize, ProtectAccelerates the speed by caching Gravatar (Globally Recognized Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced (Recommended)Advanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.After verifying that the cache works in general, please test the cart.AggressiveAlias is in use by another QUIC.cloud account.All QUIC.cloud service queues have been cleared.All TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Already CachedAlways purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Applied the %1$s preset %2$sApply PresetAre you sure to delete all existing blocklist items?Are you sure to destroy all optimized images?Are you sure you want to clear all cloud nodes?Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Asynchronous CSS Loading with Critical CSSAttach PHP info to report. Check this box to insert relevant data from %s.Author archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAuto Rescale Original ImagesAutoloadAutoload entriesAutoload sizeAutoload top listAutomatic generation of critical CSS is in the background via a cron-based queue.Automatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimized images.Automatically replace large images with scaled versions.Automatically request optimization via cron job.Available after %d second(s)Avatar list in queue waiting for updateBackend .htaccess PathBackend Heartbeat ControlBackend Heartbeat TTLBackup created %1$s before applying the %2$s presetBasicBasic Image PlaceholderBeforeBest available WordPress performanceBest available WordPress performance, globally fast TTFB, easy setup, and %smore%s!Beta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a gray image placeholder %s will be used.By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CCSS Per URLCCSS Selector AllowlistCDNCDN - DisabledCDN - EnabledCDN - not available for anonymous usersCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS & JS CombineCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS, JS and HTML MinificationCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache WP-AdminCache key must be integer or non-empty string, %s given.Cache key must not be an empty string.Cache requests made by WordPress REST API calls.Cache the built-in Admin Bar ESI block.Cache the built-in Comment Form ESI block.Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryCert or key file does not exist.Changed setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.Check StatusCheck my public IP fromCheck the status of your most important settings and the health of your CDN setup here.Check this option to use the primary site's configuration for all subsites.Choose which image sizes to optimize.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all orphaned post meta recordsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all trashed commentsClean all trashed posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean orphaned post meta successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean trashed comments successfully.Clean trashed posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all Unique CSS files.Cleaned all VPI data.Cleaned all localized resource entries.Cleaned up unfinished data successfully.ClearClear %s cache when "Purge All" is run.Clear Cloudflare cacheClear LogsCleared %1$s invalid images.Clears all cache entries related to this site, including other web applications.Click here to proceed.Click here to set.Click to clear all nodes for further redetection.Click to copyClick to switch to optimized version.Click to switch to original (unoptimized) version.Close popupCloud ErrorCloud server refused the current request due to rate limiting. Please try again later.Cloud server refused the current request due to unpulled images. Please pull the images first.CloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare SettingsCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimizedCongratulations, %s successfully set this domain up for the anonymous online services.Congratulations, %s successfully set this domain up for the online services with CDN service.Congratulations, %s successfully set this domain up for the online services.Congratulations, all gathered!Connected Date:Connection TestContent Delivery NetworkContent Delivery Network ServiceConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCopy LogCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled by the server admin.Crawler disabled list is cleared! All crawlers are set to active! Crawler(s)Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.Create a post, make sure the front page is accurate.Created with ❤️ by LiteSpeed team.Credits are not enough to proceed the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent closest Cloud server is %s. Click to redetect.Current crawler started atCurrent image post id positionCurrent limit isCurrent server loadCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently set to %sCurrently using optimized version of AVIF file.Currently using optimized version of WebP file.Currently using optimized version of file.Currently using original (unoptimized) version of AVIF file.Currently using original (unoptimized) version of WebP file.Currently using original (unoptimized) version of file.Custom SitemapDB Optimization SettingsDNS PreconnectDNS PrefetchDNS Prefetch ControlDNS Prefetch for static filesDaily archiveDashboardDatabaseDatabase OptimizerDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)DeactivateDeactivate LiteSpeed CacheDeactivate pluginDebug HelpersDebug LevelDebug LogDebug SettingsDebug String ExcludesDebug URI ExcludesDebug URI IncludesDefaultDefault CacheDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default path isDefault port for %1$s is %2$s.Default valueDeferredDeferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).Delay rendering off-screen HTML elements by its selector.DelayedDelete all backups of the original imagesDelivers global coverage with a growing <strong>network of 80+ PoPs</strong>.Destroy All Optimization DataDestroy all optimization data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable All Features for 24 HoursDisable CacheDisable Image LazyloadDisable VPIDisable WordPress interval heartbeat to reduce server load.Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.DisabledDisabled AVIF file successfully.Disabled WebP file successfully.Disabling this may cause WordPress tasks triggered by AJAX to stop working.Disabling this option may negatively affect performance.Disconnect from QUIC.cloudDismissDismiss this noticeDismiss this notice.Do Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.Do not show this againDomainDowngrade not recommended. May cause fatal error due to refactored code.Drop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in HTML code will be excluded.Elements with attribute %s in html code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable All FeaturesEnable CacheEnable ESIEnable QUIC.cloud CDNEnable QUIC.cloud ServicesEnable QUIC.cloud servicesEnable Viewport Images auto generation cron.Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled AVIF file successfully.Enabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.Error: Failed to apply the settings %1$sEssentialsEverything in Advanced, PlusEverything in Aggressive, PlusEverything in Basic, PlusEverything in Essentials, PlusExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to create table %1$s! SQL: %2$s.Failed to detect IPFailed to get %s file contents.Failed to get echo data from WPAPIFailed to parse %s activation status.Failed to request via WordPressFailed to upgrade.Failed to validate %s activation data.Failed to write to %s.Fast Queue UsageFile %s is not writable.Filename is empty!FilesFilter %s available for UCSS per page type generation.Filter %s available to change threshold.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimizationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, for %1$s, %2$s and %3$s can be used here.For example, for %1$s, %2$s can be used here.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For example, to drop parameters beginning with %1$s, %2$s can be used here.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFree monthly quota available.Free monthly quota available. Can also be used anonymously (no email required).Front pageFrontend .htaccess PathFrontend Heartbeat ControlFrontend Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerate a separate vary cache copy for the mini cart when the cart is not empty.Generated at %sGenerated links may be managed under %sSettings%s.Get it from %s.Global API Key / API TokenGlobal GroupsGlobally fast TTFB, easy setup, and %s!Go to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode JS ExcludesGuest Mode and Guest OptimizationGuest Mode failed to test.Guest Mode passed testing.Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX.Guest Mode testing resultGuest OptimizationHTML Attribute To ReplaceHTML Keep CommentsHTML Lazy Load SelectorsHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimization from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimization.However, there is no way of knowing all the possible customizations that were implemented.Htaccess did not match configuration option.Htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If comment to be kept is like: %1$s write: %2$sIf every web application uses the same cookie, the server may confuse whether a user is logged in or not.If not, please verify the setting in the %sAdvanced tab%s.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you are using a %1$s socket, %2$s should be set to %3$sIf you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images.If you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimizationImage Optimization SettingsImage Optimization SummaryImage Thumbnail Group SizesImage groups totalImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimized and pulledImages ready to requestImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byIn order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.In order to use QC services, need a real domain name, cannot use an IP.In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.Include CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInline CSS added to CombineInline JS added to CombineInline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.InstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.It will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS Defer for both external and inline JSJS Deferred / Delayed ExcludesJS DelayedJS Delayed IncludesJS ExcludesJS MinifyJS SettingsJS error can be found from the developer console of browser by right clicking and choosing Inspect.Join LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain color placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast PulledLast Report DateLast Report NumberLast RequestLast calculatedLast complete run time for all crawlersLast crawledLast crawled:Last exportedLast generatedLast generated: %sLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLast requested: %sLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLazy Load for IframesLazy Load for ImagesLearn MoreLearn More about QUIC.cloudLearn moreLearn more about when this is neededLearn more or purchase additional quota.Link & Enable QUIC.cloud CDNLink to QUIC.cloudLinked to QUIC.cloud preview environment, for testing purpose only.List of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.List the CSS selectors whose styles should always be included in CCSS.List the CSS selectors whose styles should always be included in UCSS.Listed CSS files or inline CSS code will not be minified or combined.Listed CSS files will be excluded from UCSS and saved to inline.Listed JS files or inline JS code will be delayed.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be minified or combined.Listed JS files or inline JS code will not be optimized by %s.Listed URI will not generate UCSS.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache Configuration PresetsLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimizationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimizationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache OptimaXLiteSpeed Cache Page OptimizationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache Standard PresetsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache is disabled. This functionality will not work.LiteSpeed Cache is temporarily disabled until: %s.LiteSpeed Cache plugin is installed!LiteSpeed Crawler CronLiteSpeed LogsLiteSpeed OptimizationLiteSpeed ReportLiteSpeed TechnologiesLiteSpeed Web ADCLiteSpeed Web ServerLiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.Load CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalizationLocalization FilesLocalization SettingsLocalize ResourcesLocalize external resources.Localized ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum image post idMaximum valueMaybe LaterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMobile CacheMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuMy QUIC.cloud DashboardNOTENOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.NOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New Version Available!New developer version %s is available now.New release %s is available now.NewsNext-Gen Image FormatNo available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimized AVIF file exists.No backup of unoptimized WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo fieldsNo optimizationNo sizes found.No valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Node:Non cacheableNot AvailableNot blocklistedNot enough parameters. Please check if the QUIC.cloud connection is set correctlyNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONOPcache is not enabled.OPcache is restricted by %s setting.ORObjectObject CacheObject Cache SettingsObject cache is not enabled.Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.On uninstall, all plugin settings will be deleted.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Online ServicesOnline node needs to be redetected.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed Web ServerOpenLiteSpeed users please check thisOperationOptimaXOptimaX SettingsOptimaX SummaryOptimization StatusOptimization SummaryOptimization ToolsOptimize CSS delivery.Optimize Image SizesOptimize LosslesslyOptimize Original ImagesOptimize TablesOptimize all tables in your databaseOptimize for Guests OnlyOptimize images and save backups of the originals in the same folder.Optimize images using lossless compression.Optimize images with our QUIC.cloud serverOptimized all tables.Option NameOptionalOptional when API token used.Optionally creates next-generation WebP or AVIF image files.Options saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Orphaned Post MetaOtherOther Static CDNOther checkboxes will be ignored.Outputs to a series of files in the %s directory.PAYG BalancePAYG used this month: %s. PAYG balance and usage not included in above quota calculation.PHP Constant %s is supported.Page Load TimePage OptimizationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:Please do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please make sure this IP is the correct one for visiting your site.Please read all warnings before enabling this option.Please see %s for more details.Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.Please visit the %sInformation%s page on how to test the cache.Plugin is too complicatedPortPosition: Post IDPost RevisionsPost type archivePreconnecting speeds up future loads from a given origin.Predefined list will also be combined w/ the above settingsPredefined list will also be combined with the above settingsPredefined list will also be combined with the above settings.Prefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimization of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality.Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.Product Update IntervalProvides <strong>security at the CDN level</strong>, protecting your server from attack.PublicPublic CachePull Cron is runningPull ImagesPulled AVIF image md5 does not match the notified AVIF image md5.Pulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge %s error pagesPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge url %sPurged All!Purged all caches successfully.Purged the URL!Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud CDNQUIC.cloud CDN OptionsQUIC.cloud CDN Status OverviewQUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.QUIC.cloud CDN is currently <strong>fully disabled</strong>.QUIC.cloud CDN:QUIC.cloud Integration DisabledQUIC.cloud Integration EnabledQUIC.cloud Integration Enabled with limitationsQUIC.cloud Online ServicesQUIC.cloud Service Usage StatisticsQUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.QUIC.cloud's Image Optimization service does the following:QUIC.cloud's Online Services improve your site in the following ways:QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.QUIC.cloud's access to your WP REST API seems to be blocked.Query strings containing these parameters will not be cached.Rate %1$s on %2$sRead LiteSpeed DocumentationRecommended to generate the token from Cloudflare API token template "WordPress".Recommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRedis encountered a fatal error: %1$s (code: %2$d)RefreshRefresh Crawler MapRefresh Gravatar cache by cron.Refresh QUIC.cloud statusRefresh StatusRefresh UsageRefresh page load timeRefresh page scoreRegenerate and Send a New ReportRemaining Daily QuotaRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.Remove Query StringsRemove Query Strings from Static FilesRemove WordPress EmojiRemove `Disable All Feature` Flag NowRemove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.Remove all previous unfinished image optimization requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed Unused CSS for UsersRemoved backups successfully.Replace %1$s with %2$s.ReportRequest WebP/AVIF versions of original images when doing optimization.Requested: %s agoRequests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset %s activation successfully.Reset All SettingsReset SettingsReset image optimization counter successfully.Reset positionReset successfully.Reset the OPcache failed.Reset the entire OPcache successfully.Reset the entire opcode cacheReset the optimized data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColorResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore SettingsRestore from backupRestored backup settings %1$sRestored original file successfully.Results can be checked in %sMedia Library%s.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun %s Queue ManuallyRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSYNTAX: alphanumeric and "_". No spaces and case sensitive.SYNTAX: alphanumeric and "_". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.Save ChangesSave transients in database when %1$s is %2$s.SavedSaving option failed. IPv4 only for %s.Scaled size thresholdScan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.Scheduled Purge TimeScheduled Purge URLsSee %sIntroduction for Enabling the Crawler%s for detailed information.Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimizations.Selected roles will be excluded from cache.Selectors must exist in the CSS. Parent classes in the HTML will not work.Send Optimization RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSend to twitter to get %s bonusSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe a separate cache copy for mobile visitors.Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes.Serve your visitors fastServer IPServer Load LimitServer allowed max value: %sServer enforced value: %sServer variable(s) %s available to override this setting.Service:Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimized %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.Site performance is worseSitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSoft Reset Optimization CounterSome optimized image file(s) has expired and was cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.Specify an HTTP status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG color.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Specify which element attributes will be replaced with WebP/AVIF.Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.Spread the love and earn %s credits to use in our QUIC.cloud online services.Standard PresetsStart watching...Started async crawlingStarted async image optimization requestStatic file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimizationStore Gravatar locally.Store TransientsSubmit a ticketSuccessfully CrawledSummarySupport forumSure I'd love to review!SwapSwitch back to using optimized images on your siteSwitched images successfully.Switched to optimized file successfully.Sync QUIC.cloud status successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank You for Using the LiteSpeed Cache Plugin!The Admin IP option will only output log messages on requests from admin IPs listed below.The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The deactivation is temporaryThe default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The features below are provided by %sThe following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe queue is processed asynchronously. It may take time.The selector must exist in the CSS. Parent classes in the HTML will not work.The server will determine if the user is logged in based on the existence of this cookie.The site is not a valid alias on QUIC.cloud.The site is not registered on QUIC.cloud.The user with id %s has editor access, which is not allowed for the role simulator.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This Month Usage: %sThis action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.This option can help to correct the cache vary for certain advanced mobile or tablet visitors.This option enables maximum optimization for Guest Mode visitors.This option is bypassed because %1$s option is %2$s.This option is bypassed due to %s option.This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.This option will automatically bypass %s option.This option will remove all %s tags from HTML.This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.This process is automatic.This setting is %1$s for certain qualifying requests due to %2$s!This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This value is overwritten by the %s variable.This value is overwritten by the Network setting.This value is overwritten by the PHP constant %s.This value is overwritten by the filter.This value is overwritten by the primary site setting.This will Purge Front Page onlyThis will Purge Pages onlyThis will affect all tags containing attributes: %s.This will also add a preconnect to Google Fonts to establish a connection earlier.This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?This will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated Viewport ImagesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all generated unique CSS filesThis will delete all localized resourcesThis will disable LSCache and all optimization features for debug purpose.This will disable the settings page on all subsites.This will drop the unused CSS on each page from the combined file.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimized files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?Time to execute previous request: %sTo crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.To manage your QUIC.cloud options, go to your hosting provider's portal.To manage your QUIC.cloud options, please contact your hosting provider.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomize CDN hostname, define multiple hostnames for the same resources.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimized in this monthTrackbacks/PingbacksTrashed CommentsTrashed PostsTry GitHub VersionTuningTuning CSS SettingsTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in backend editor.Turn ON to control heartbeat on backend.Turn ON to control heartbeat on frontend.Turn On Auto UpgradeTurn on OptimaX. This will automatically request your pages OptimaX result via cron job.Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN.Tweet previewTweet thisUCSS InlineUCSS Inline Excluded FilesUCSS Selector AllowlistUCSS URI ExcludesURI ExcludesURI Paths containing these strings will NOT be cached as public.URLURL SearchURL list in %s queue waiting for cronUnable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.Unable to automatically add %1$s as a Domain Alias for main %2$s domain.Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)Unique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUsage Statistics: %sUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimized FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.Use external object cache functionality.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Dev/Master commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimized) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.Useful for above-the-fold images causing CLS (a Core Web Vitals metric).UsernameUsing optimized version of file. VPIValue from filter appliedValue rangeVariables %s will be replaced with the configured background color.Variables %s will be replaced with the corresponding image properties.Vary CookiesVary GroupVary for Mini CartView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimizationViewport ImageViewport Image GenerationViewport ImagesViewport Images CronVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWebP/AVIF Attribute To ReplaceWebP/AVIF For Extra srcsetWelcome to LiteSpeedWhat is a group?What is an image group?When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When minifying HTML do not discard comments that match a specified pattern.When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Who should use this preset?Why are you deactivating the plugin?Widget Cache TTLWildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.Wildcard %s supported.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.You can just type part of the domain.You can list the 3rd party vary cookies here.You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the htaccess file path.You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible.You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.You have too many requested images, please try again in a few minutes.You have used all of your daily quota for today.You have used all of your quota left for current service this month.You just unlocked a promotion from QUIC.cloud!You must be using one of the following products in order to measure Page Load Time:You must set %1$s to %2$s before using this feature.You must set %s before using this feature.You need to activate QC first.You need to set the %1$s first. Please use the command %2$s to set.You need to set the %s in Settings first before using the crawlerYou need to turn %s on and finish all WebP generation to get maximum result.You need to turn %s on to get maximum result.You will be unable to Revert Optimization once the backups are deleted!You will need to finish %s setup to use the online services.Your %1$s quota on %2$s will still be in use.Your %s Hostname or IP address.Your API key / token is used to access %s APIs.Your Email address on %s.Your IPYour application is waiting for approval.Your domain has been forbidden from using our services due to a previous policy violation.Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.Your server IPYour site is connected and ready to use QUIC.cloud Online Services.Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.Zero, orcategoriescookiese.g. Use %1$s or %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowmoreno matter where they live.pixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsthe auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.unknownuser agentsPO-Revision-Date: 2025-10-17 02:15:19+0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=n > 1;
X-Generator: GlotPress/4.0.3
Language: id
Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)
 %s lalu%1$s %2$d item%1$s %2$s berkas tertinggal dalam antrean%1$s merupakan fitur berbayar %2$s.Diperlukan plugin %1$s versi %2$s untuk tindakan ini.%1$sPelajari Lebih Lanjut%2$s%d jam%d jam%d item%d menit%d menit%d detikEkstensi %sData aktivasi %s kedaluwarsa.Berkas %s tidak dapat dibaca.Berkas %s tidak dapat ditulisi.%s grup%s grup%s gambar%s gambar%s disarankan.%s harus DIAKTIFKAN agar setelan ini berfungsi.(tanpa simpanan)(non-optm)(optm)Jalur .htaccess<a href="%1$s" %2$s>Lihat detail versi %3$s</a> atau <a href="%4$s" %5$s target="_blank">perbarui sekarang</a>.<p>Silakan tambahkan /ganti kode berikut ke awal %1$s:</p>%2$s<strong>CSS Penting (CCSS)</strong> memuat konten yang terlihat di atas lipatan dengan lebih cepat dan dengan gaya penuh.<strong>Optimasi Gambar</strong> memberi Anda ukuran berkas gambar yang lebih kecil yang dikirimkan lebih cepat.<strong>Penampung Gambar Kualitas Rendah (LQIP)</strong> memberikan tampilan yang lebih menyenangkan pada gambar Anda karena tidak banyak memuat.<strong>Optimasi Halaman</strong> merampingkan gaya halaman dan elemen visual untuk pemuatan yang lebih cepat.<strong>CSS Unik (UCS) </strong> menghapus definisi gaya yang tidak digunakan untuk pemuatan halaman yang lebih cepat secara keseluruhan.<strong>Area Pandang Gambar (VPI)</strong> memberikan tampilan penuh yang dipoles dengan baik di atas lipatan.Bersihkan Semua akan dieksekusi ketika WordPress menjalankan kaitan ini.Koneksi QUIC.cloud tidak diperlukan untuk menggunakan praset ini. Hanya fitur cache dasar yang diaktifkan.Koneksi QUIC.cloud diperlukan untuk menggunakan praset ini. Memungkinkan tingkat optimasi maksimum untuk meningkatkan skor kecepatan halaman.Koneksi QUIC.cloud diperlukan untuk menggunakan praset ini. Termasuk berbagai optimasi yang diketahui dapat meningkatkan skor kecepatan halaman.Koneksi QUIC.cloud diperlukan untuk menggunakan praset ini. Termasuk optimasi yang diketahui dapat meningkatkan skor situs dalam alat pengukuran kecepatan halaman.TTL 0 mengindikasikan jangan dicache.Cadangan setiap gambar disimpan sebelum dioptimalkan.TTL Cache AJAXAPIAPI: Penyaring %s tersedia untuk menonaktifkan daftar blokir.API: Konstanta PHP %s tersedia untuk menonaktifkan daftar blokir.Berkas AVIF dikurangi oleh %1$s (%2$s)AVIF disimpan %sMempercepat, Mengoptimalkan, MelindungiMeningkatkan kecepatan dengan men-cache Gravatar (Avatar yang Diakui Secara Global).AktifkanTambah Ukuran yang HilangTambah URL CDN baruTambah kuki baru untuk simulasiTambahkan ke Daftar BlokirMenambahkan Gaya ke Tunda-Pemuatan Gambar AndaHanya IP AdminIP AdminTingkat LanjutTingkat Lanjut (Disarankan)Pengaturan LanjutanLevel lanjutan akan mencatat lebih detail.SetelahSetelah peladen Pengoptimalan Gambar QUIC.cloud menyelesaikan pengoptimalan, peladen akan memberi tahu situs Anda untuk menarik gambar yang dioptimalkan.Setelah memverifikasi bahwa cache berfungsi secara umum, silakan coba keranjang.AgresifAlias ​​sedang digunakan oleh akun QUIC.cloud lain.Seluruh antrean layanan QUIC.cloud telah dihapus.Seluruh TransienSeluruh kategori dicache secara asali.Seluruh halamanSeluruh halaman dengan Widget Tulisan TerkiniSeluruh tag dicache secara asali.Mengizinkan IP terdaftar (satu per baris) untuk melakukan tindakan tertentu dari peramban mereka.Sudah DicacheSelalu bersihkan baik produk maupun kategori pada perubahan kuantitas atau status persediaan.Parameter opsional kedua dapat digunakan untuk menentukan kontrol cache. Gunakan spasi untuk memisahkanTambahkan string kueri %s ke sumber daya untuk melewati tindakan ini.Menerapkan praset %1$s %2$sTerapkan PrasetAnda yakin ingin menghapus seluruh item dalam daftar blokir yang ada?Anda yakin ingin menghapus seluruh gambar yang dioptimalkan?Anda yakin ingin menghapus seluruh node awan?Apakah Anda yakin ingin memutuskan sambungan dari QUIC.cloud? Tindakan ini tidak akan menghapus data apa pun dari dasbor QUIC.cloud.Apakah Anda yakin ingin mendeteksi ulang peladen awan terdekat untuk layanan ini?Anda yakin ingin menghapus seluruh cadangan gambar?Anda yakin ingin menyetel ulang seluruh pengaturan kembali ke pengaturan asali?Pemuatan CSS Asinkron dengan CSS PentingLampirkan info PHP ke laporan. Centang kotak ini untuk memasukkan data yang relevan dari %s.Arsip penulisDraf OtomatisAturan Pembersihan Otomatis untuk Penerbitan/PublikasiPermintaan Kron OtomatisOtomatis Menyesuaikan Ukuran Gambar AsliMuat OtomatisEntri Muat OtomatisUkuran Muat OtomatisDaftar Teratas Muat OtomatisPembuatan otomatis CSS penting ada di latar belakang melalui antrean berbasis kron.Pembuatan otomatis CSS unik di latar belakang melalui antrean berbasis kron.Pembaruan OtomatisSecara otomatis mengaktifkan prapengambilan DNS untuk seluruh URL dalam dokumen, termasuk gambar, CSS, JavaScript, dan sebagainya.Secara otomatis menghasilkan LQIP di latar belakang melalui antrean berbasis kron.Secara otomatis menghapus cadangan gambar asli setelah mengambil gambar yang dioptimalkan.Secara otomatis mengganti gambar berukuran besar dengan versi yang telah diskalakan.Otomatis meminta optimasi melalui tugas kron.Tersedia setelah %d detikDaftar avatar dalam antrean menunggu pembaruanJalur Sisi Belakang .htaccessTTL Detakan Sisi BelakangTTL Detakan Sisi BelakangCadangan dibuat %1$s sebelum menerapkan praset %2$sDasarDasar Penampung GambarSebelumKinerja WordPress terbaik yang tersediaPerforma WordPress terbaik yang tersedia, TTFB yang cepat secara global, penyiapan yang mudah, dan %sbanyak lagi%s!Pengujian BetaDaftar BlokirDaftar BlokirDiblokir karena tidak dapat dicacheBaik %1$s dan %2$s, dapat diterima.Baik URL lengkap maupun string parsial dapat digunakan.Baik string lengkap maupun sebagian dapat digunakan.PerambanCache PerambanPengaturan Cache PerambanTTL Cache PerambanCache peramban menyimpan berkas statis secara lokal di peramban pengguna. Aktifkan pengaturan ini untuk mengurangi permintaan berkas statis berulang.Secara asali, penampung gambar abu-abu %s akan digunakan.Standanya, halaman Akun Saya, Checkout, dan Keranjang yang secara otomatis dikecualikan dari cache. Kesalahan konfigurasi asosiasi halaman di pengaturan WooCommerce dapat menyebabkan beberapa halaman salah dikecualikan.Secara desain, opsi ini mungkin menyajikan konten lama. Jangan aktifkan opsi ini, jika Anda tidak setuju.CCSS Per-URLDaftar Selektor CCSS yang DiizinkanCDNCDN - DinonaktifkanCDN - DiaktifkanCDN - tidak tersedia bagi pengguna anonimBandwidth CDNPengaturan CDNURL CDNURL CDN yang digunakan. Sebagai contoh, %sGabungan CSS & JSGabungkan CSSGabung CSS Eksternal dan SebarisKecualikan CSSPerkecil CSSPengaturan CSSPerkecil CSS, JS, dan HTMLCache CSS/JSCacheCache Bilah AdminCache Formulir KomentarCache KomentatorPengaturan Kontrol CacheKunjungan CacheCache Pengguna MasukCache Halaman MasukLuput CacheCache SelulerCache REST APIStatus CacheCache WP-AdminKunci cache harus berupa bilangan bulat atau string yang tidak kosong, %s diberikan.Kunci cache tidak boleh berupa string kosong.Permintaan cache dibuat oleh panggilan REST API WordPress.Cache blok ESI Bilah Admin bawaan.Cache blok ESI Formulir Komentar bawaan.Menyimpan cache seluruh situs Anda, termasuk konten dinamis dan <strong>blok ESI</strong>.Hitung Ruang Diska CadanganKalkulasi Penyimpanan Gambar AsliPencadangan terhitung berhasil.Tidak dapat membuat folder: %1$s. Galat: %2$sBatalKategoriSertifikat atau berkas kunci tidak ada.Pengaturan berhasil diubah.Perubahan pada setelan ini tidak berlaku untuk LQIP yang sudah dibuat. Untuk membuat ulang LQIP yang ada, harap %s terlebih dahulu dari menu bilah admin.Cek StatusPeriksa IP publik saya dariPeriksa status pengaturan terpenting Anda dan kesehatan penyiapan CDN Anda di sini.Periksa opsi ini untuk menggunakan konfigurasi situs utama untuk seluruh subsitus.Pilih ukuran gambar yang ingin dioptimalkan.Bersihkan SemuaBersihkan Perayap Peta SitusBersihkan Data yang Belum SelesaiBersihkan seluruh konsep yang tersimpanBersihkan seluruh catatan meta tulisan tanpa indukBersihkan seluruh revisi tulisanBersihkan seluruh komentar spamBerhasil membersihkan seluruhnya.Bersihkan seluruh lacak dan ping balikBersihkan seluruh opsi transienBerhasil membersihkan seluruh transien.Bersihkan seluruh sampah komentarBersihkan seluruh sampah tulisan dan halamanBerhasil membersihkan konsep otomatis.Bersihkan opsi transien kedaluwarsaBerhasil membersihkan transien kadaluarsa.Berhasil membersihkan meta tulisan tanpa induk.Berhasil membersihkan revisi tulisan.Bersihkan revisi yang lebih lama dari %1$s hari, tidak termasuk %2$s revisi terbaruBerhasil membersihkan komentar spam.Berhasil membersihkan ping dan lacak balik.Berhasil membersihkan sampah komentar.Berhasil membersihkan sampah tulisan dan halaman.Membersihkan seluruh berkas CSS Penting.Membersihkan seluruh berkas Gravatar.Membersihkan seluruh berkas LQIP.Membersihkan seluruh berkas CSS Unik.Bersihkan seluruh data VPI.Membersihkan seluruh entri sumber daya yang dilokalkan.Berhasil memusnahkan data yang belum selesai.BersihkanHapus cache %s saat "Hapus Semua" dijalankan.Bersihkan Cache CloudflareBersihkan LogMenghapus %1$s gambar yang tidak valid.Membersihkan seluruh entri cache yang terkait dengan situs ini, termasuk aplikasi web lainnya.Klik di sini untuk melanjutkan.Klik di sini untuk mengatur.Klik untuk menghapus seluruh node untuk deteksi ulang lebih lanjut.Klik untuk menyalinKlik untuk beralih ke versi dioptimalkan.Klik untuk beralih ke versi asli (tidak dioptimalkan).Tutup sembulanGalat AwanPeladen awan menolak permintaan saat ini karena pembatasan tarif. Silakan coba lagi nanti.Peladen awan menolak permintaan saat ini karena gambar tidak ditarik. Silakan tarik gambarnya terlebih dahulu.CloudflareAPI CloudflareAPI Cloudflare dinonaktifkan.Cache CloudflareDomain CloudflarePengaturan CloudflareZona CloudflareCiutkan String KueriGabung berkas CSS dan sebariskan kode CSS.Gabungkan seluruh berkas JS lokal menjadi satu berkas.Mendukung komentar. Mulai baris dengan %s untuk mengubahnya menjadi baris komentar.Berhasil berkomunikasi dengan Cloudflare.Selamat! Berkas Anda sudah dioptimalkanSelamat, %s berhasil menyiapkan domain ini untuk layanan daring anonim.Selamat, %s berhasil menyiapkan domain ini untuk layanan daring dengan layanan CDN.Selamat, %s berhasil menyiapkan domain ini untuk layanan daring.Selamat, semua sudah terkumpul!Tanggal Terhubung:Tes KoneksiJaringan Pengiriman KontenLayanan Jaringan Pengiriman KontenUbah ke InnoDBBerhasil dikonversi ke InnoDB.Nama KukiSimulasi KukiNilai KukiSalin LogTidak dapat menemukan%1$s dalam %2$s.Interval PerayapanPerayapKron PerayapPengaturan Umum PerayapLog PerayapStatus PerayapPerayap dinonaktifkan oleh admin peladen.Daftar perayap yang dinonaktifkan dibersihkan! Seluruh perayap diatur aktif! PerayapCrawler tidak dapat dijalankan secara bersamaan. Jika cron dan eksekusi manual dimulai pada waktu yang hampir bersamaan, yang pertama kali dimulai akan diprioritaskan.Buat tulisan, pastikan halaman depan akurat.Dibuat dengan ❤️ oleh Tim LiteSpeed.Kredit tidak cukup untuk melanjutkan permintaan saat ini.CSS PentingAturan CSS PentingNama KronKonten %s Saat IniNode Awan dalam Layanan Saat IniPeladen Awan terdekat saat ini adalah %s. Klik untuk mendeteksi ulang.Perayapan saat ini dimulai padaPosisi id tulisan gambar saat iniBatas saat ini adalahBeban peladen saat iniWaktu peladen saat ini adalah %s.Perayapan peta situs saat ini dimulai padaStatus sekarang %1$s sejak %2$s.Status saat ini adalah %s.Perayap aktif saat iniSaat ini diatur ke %sSaat ini menggunakan versi yang dioptimalkan dari berkas AVIF.Saat ini menggunakan berkas WebP versi dioptimalkan.Saat ini menggunakan versi berkas yang dioptimalkan.Saat ini menggunakan versi asli (tidak dioptimalkan) dari berkas AVIF.Saat ini menggunakan berkas WebP versi asli (tidak dioptimalkan).Saat ini menggunakan versi berkas asli (tidak dioptimalkan).Peta Situs KhususPengaturan Optimasi DBPrahubung DNSPrapengambilan DNSKontrol Prapengambilan DNSPrapengambilan DNS untuk berkas statisArsip harianDasborBasis DataPengoptimal Basis DataIkhtisar Basis DataKonverter Mesin Tabel Basis DataBasis Data yang digunakanHariNonaktifkanNonaktifkan Cache LiteSpeedNonaktifkan pluginBantuan DebugLevel DebugLog DebugPengaturan DebugPengecualian String DebugPengecualian Debug URIDebug URI TermasukStandarCache AsaliTTL Pengumpan AsaliTTL Beranda AsaliTTL Halaman Kode Status HTTP AsaliWaktu-Aktif Objek AsaliTTL Cache Pribadi AsaliTTL Cache Publik AsaliTTL REST AsaliTTL asali untuk objek yang dicache.Jalur asali adalahPort asali untuk %1$s adalah %2$s.Nilai asaliDitangguhkanMenangguhkan hingga halaman diuraikan atau menunda hingga interaksi dapat membantu mengurangi perebutan sumber daya dan meningkatkan kinerja yang menyebabkan FID (Core Web Vitals metric) lebih rendah.Tunda merender elemen HTML di luar layar oleh pemilihnya.DitundaHapus seluruh cadangan gambar asliMenghadirkan cakupan global dengan <strong>80+ jaringan PoP</strong> yang terus berkembang.Hapus Seluruh Data OptimasiBerhasil menghapus seluruh data optimasi.Menentukan bagaimana perubahan kuantitas produk dan status stok produk dapat mempengaruhi halaman produk dan halaman kategori terkait.Mode PengembanganMode Pengembangan akan dimatikan secara otomatis setelah tiga jam.Mode pengembangan otomatis dinonaktifkan dalam %s.NonaktifNonaktifkan Seluruh FiturNonaktifkan Seluruh Fitur selama 24 JamNonaktifkan CacheNonaktifkan Tunda muat GambarNonaktifkan VPINonaktifkan detak interval WordPress untuk mengurangi beban peladen.Nonaktifkan opsi ini untuk menghasilkan CCSS per Jenis Tulisan, bukan per halaman. Ini dapat menghemat kuota CCSS yang signifikan, namun dapat mengakibatkan gaya CSS yang salah jika situs Anda menggunakan pembuat halaman.DinonaktifkanBerhasil menonaktifkan berkas AVIF.Berhasil menonaktifkan berkas WebP.Menonaktifkan ini dapat menyebabkan tugas WordPress yang dipicu oleh AJAX berhenti berfungsi.Menonaktifkan opsi ini dapat memengaruhi kinerja secara negatif.Putuskan sambungan dari QUIC.cloudAbaikanTutup pemberitahuan iniTutup pemberitahuan ini.Jangan Cache KategoriJangan Cache KukiJangan Cache GrupJangan Cache String KueriJangan Cache PeranJangan Cache TagJangan Cache URIJangan Cache Agen PenggunaJangan membersihkan kategori pada perubahan kuantitas atau status persediaan.Jangan tampilkan ini lagiDomainPenurunan versi tidak disarankan. Dapat menyebabkan galat fatal karena penulisan ulang kode.Bersihkan String KueriESINonces ESIPengaturan ESIESI memungkinkan Anda untuk menunjuk bagian-bagian dari halaman dinamis Anda sebagai fragmen terpisah yang kemudian disusun bersama untuk membuat keseluruhan halaman. Dengan kata lain, ESI memungkinkan Anda “membuat lubang” di halaman, dan kemudian mengisi lubang itu dengan konten yang mungkin dicache secara pribadi, dicache secara publik dengan TTL-nya sendiri, atau tidak dicache sama sekali.Contoh ESI untuk pengembangDetakan EditorTTL Detakan EditorElemen dengan atribut %s dalam kode HTML akan dikecualikan.Elemen dengan atribut %s dalam kode html akan dikecualikan.Alamat SurelBersihkan Seluruh CacheBersihkan daftar blokirAktifkan Seluruh FiturAktifkan CacheAktifkan ESIAktifkan CDN QUIC.cloudAktifkan Layanan QUIC.cloudAktifkan layanan QUIC.cloudAktifkan kron pembuatan otomatis Area Pandang Gambar.Aktifkan penggantian WebP/AVIF dalam elemen %s yang dihasilkan di luar logika WordPress.Aktifkan opsi ini jika Anda menggunakan HTTP dan HTTPS di domain yang sama dan memperhatikan penyimpangan cache.DiaktifkanBerhasil mengaktifkan berkas AVIF.Berhasil mengaktifkan berkas WebP.Mengaktifkan LiteSpeed Cache untuk WordPress di sini memungkinkan cache untuk jaringan.Alasan berakhirMesinMasukkan alamat IP situs ini untuk memungkinkan layanan awan langsung memanggil IP alih-alih nama domain. Ini menghilangkan overhead pencarian DNS dan CDN.Galat: Gagal menerapkan pengaturan %1$sEsensialSeluruh yang Tingkat Lanjut, PlusSeluruh yang Agresif, PlusSeluruh yang Dasar, PlusSeluruh yang Esensial, PlusContohContoh kasus penggunaan:Contoh kasus uji meliputi:Kecualikan LokasiPengaturan PengecualianKecualikanTransien KedaluwarsaEksporEkspor PengaturanEkstremGagalGagal mencadangkan berkas %s, perubahan dibatalkan.Gagal berkomunikasi dengan CloudflareGagal berkomunikasi dengan peladen QUIC.cloudGagal membuat tabel Avatar. Ikuti <a %s>panduan Pembuatan Tabel dari Wiki LiteSpeed</a> untuk menyelesaikan penyiapan.Gagal membuat tabel %1$s! SQL: %2$s.Gagal mendeteksi IPGagal mendapatkan konten berkas %s.Gagal mendapatkan data echo WPAPIGagal mengurai status aktivasi %s.Gagal meminta melalui WordPressGagal meningkatkan.Gagal memvalidasi data aktivasi %s.Gagal menulis ke %s.Penggunaan Antrean CepatBerkas %s tidak dapat ditulisi.Nama berkas kosong!BerkasPenyaring %s tersedia untuk UCSS tiap pembuatan jenis halaman.Filter %s tersedia untuk mengubah ambang batas.Mendukung penyaring %s.Folder tidak ada: %sFolder tidak dapat ditulisi: %s.Optimasi Tampilan FonUntuk URL dengan karakter pengganti, mungkin ada penundaan dalam memulai pembersihan terjadwal.Sebagai contohSebagai contoh, %1$s diartikan bawah TTL %3$s adalah %2$s detik.Sebagai contoh, %s dapat digunakan sebagai penampung gambar transparan.Sebagai contoh, untuk %1$s, di sini dapat digunakan %2$s dan %3$s.Sebagai contoh, untuk %1$s, di sini dapat digunakan %2$s.Misalnya, jika setiap Halaman di situs memiliki format yang berbeda, masukkan %s di dalam kotak. Berkas CSS penting yang terpisah akan disimpan untuk setiap Halaman di situs.Sebagai contoh, untuk menghapus paramater yang diawali %1$s, di sini dapat menggunakan %2$s.Untuk alasan itu, silakan uji situs untuk memastikan seluruhnya masih berfungsi dengan baik.Jangan Cache URIPaksa URI Cache PublikPaksakan kronDipaksa dapat dicacheTersedia kuota bulanan gratis.Tersedia kuota bulanan gratis. Dapat juga digunakan secara anonim (tidak perlu surel).Halaman depanJalur .htaccess Sisi DepanKontrol Detakan Sisi DepanTTL Detakan Sisi DepanUmumPengaturan UmumBuat LQIP di LatarBuat Tautan untuk Pengguna Saat IniBuat UCSSBuat salinan cache bervariasi yang terpisah untuk keranjang mini ketika keranjang berisi.Dibuat pada %sTautan yang dibuat dapat dikelola melalui %sPengaturan%s.Dapatkan dari %s.Kunci API/Token API GlobalGrup GlobalTTFB yang cepat secara global, pengaturan yang mudah, dan %s!Buka dasbor QUIC.cloudBuka daftar pluginKabar gembira dari peladen QUIC.cloudGoogle reCAPTCHA akan dilewati secara otomatis.Cache GravatarKron Cache GravatarTTL Cache GravatarGrup yang dicache di tingkat jaringan.TamuMode TamuPengecualian JS Mode TamuMode Tamu dan Optimasi TamuMode Tamu gagal diuji.Mode Tamu lulus pengujian.Mode Tamu menyediakan halaman arahan yang selalu dapat dicache untuk kunjungan pertama tamu secara otomatis, dan kemudian berusaha memperbarui variasi cache melalui AJAX.Hasil pengujian Mode TamuOptimasi PengunjungAtribut HTML Untuk MenggantiPertahankan Komentar HTMLSelektor Tunda Muat HTMLPerkecil HTMLPengaturan HTMLSumber HTTPS saja.DetakanKontrol DetakanCache halaman berkinerja tinggi dan optimasi situs dari LiteSpeedTTL lebih tinggiRiwayatKunjunganHalaman berandaHostCara Memperbaiki Masalah yang Disebabkan oleh Optimasi CSS/JS.Namun, tidak ada cara untuk mengetahui seluruh kemungkinan penyesuaian yang diterapkan.Htaccess tidak cocok dengan opsi konfigurasi.Aturan Htaccess adalah: %sSaya telah memberikan ulasanJika %1$s %2$s, maka %3$s harus diisi!Jika AKTIF, salinan lama dari halaman yang dicache akan ditampilkan kepada pengunjung sampai salinan cache yang baru tersedia. Mengurangi beban peladen untuk kunjungan berikutnya. Jika NONAKTIF, halaman akan dibuat secara dinamis saat pengunjung menunggu.Jika komentar yang akan dipertahankan adalah seperti: %1$s tulis: %2$sJika setiap aplikasi web menggunakan kuki yang sama, peladen akan bingung apakah pengguna masuk atau tidak.Jika tidak, harap verifikasi pengaturan di %sTab Lanjutan%s.Jika hanya situs WordPress yang harus dibersihkan, gunakan Bersihkan Semua.Jika %1$s, sebelum penampung ditempatkan, konfigurasi %2$s akan digunakan.Jika %s maka akan dilakukan di latar depan, yang akan memperlambat pemuatan halaman.Jika nama kategori tidak ditemukan, kategori tersebut akan dihapus dari daftar di simpan.Jika kuki masuk baru-baru ini diubah dalam pengaturan, silakan keluar dan masuk kembali.Jika slug tag tidak ditemukan, tag akan dihapus dari daftar saat menyimpan.Jika ada pertanyaan, tim selalu senang menjawab pertanyaan apa pun di %sforum dukungan%s.Jika diatur ke angka kurang dari 30, pengumpan tidak akan dicache.Jika menggunakan OpenLiteSpeed, peladen harus dimulai ulang sekali agar perubahan diterapkan.Jika Anda menggunakan soket %1$s, %2$s harus disetel ke %3$sJika Anda telah menggunakan Optimasi Gambar, harap %sHapus Seluruh Data Optimasi%s terlebih dahulu. CATATAN: Ini tidak menghapus gambar yang telah Anda optimalkan..Jika Anda mengalami masalah, silakan merujuk ke nomor laporan di pesan dukungan Anda.Jika Anda me-NONAKTIF-kan salah satu pengaturan di atas, harap hapus jenis berkas terkait dari kotak %s.Jika Anda lebih suka tidak berpindah dengan kecepatan tinggi, Anda dapat menonaktifkan plugin ini.Jika situs Anda berisi konten publik yang bisa dilihat oleh peran pengguna tertentu tetapi peran lain tidak bisa, Anda bisa menentukan Grup Berbeda untuk peran pengguna itu. Misalnya, menentukan grup dengan variasi administrator memungkinkan ada halaman terpisah yang dibuat untuk publik yang dibuat khusus untuk administrator (dengan tautan "edit", dll), sementara seluruh peran pengguna lainnya melihat halaman publik asali.Jika tema Anda tidak menggunakan JS untuk memperbarui keranjang mini, Anda harus mengaktifkan opsi ini untuk menampilkan konten keranjang yang benar.Iframe yang berisi nama kelas ini tidak akan dimuat dengan lambat.Iframe yang memiliki nama kelas induk ini tidak akan dimuat dengan lambat.Abaikan string kueri tertentu saat men-cache. (Diperlukan %s LSWS)Informasi GambarOptimasi GambarPengaturan Optimasi GambarIkhtisar Pengoptimalan GambarUkuran Grup Gambar MiniTotal grup gambarGambar DitarikGambar yang memuat nama kelas berikut tidak akan ditunda muat.Gambar yang memiliki nama kelas induk ini tidak akan ditunda muat.Gambar tidak dimintaGambar diberitahukan untuk ditarikGambar telah dioptimalkan dan ditarikGambar siap dimintaGambar dimintaGambar otomatis ditarik jika tugas kron berjalan.ImporImpor/EksporImpor PengaturanGagal mengimpor karena galat berkas.Berhasil mengimpor berkas pengaturan %s.Tingkatkan Kompatibilitas HTTP/HTTPSMeningkatkan kecepatan wp-admin melalui cache. (Mungkin menemukan data kedaluwarsa)Diperbaiki olehUntuk menghindari galat pemutakhiran, Anda harus menggunakan %1$s atau yang lebih baru sebelum dapat meningkatkan ke versi %2$s.Untuk menggunakan layanan QC, memerlukan nama domain asli, tidak bisa menggunakan IP.Untuk menggunakan sebagian besar layanan QUIC.cloud, Anda memerlukan kuota. QUIC.cloud memberi Anda kuota gratis setiap bulan, tetapi jika Anda membutuhkan lebih banyak, Anda dapat membelinya.Sertakan CSSSertakan Jenis BerkasSertakan GambarSertakan JSSertakan CSS eksternal dan CSS sebaris dalam berkas gabungan saat %1$s diaktifkan. Opsi ini membantu menjaga prioritas CSS, yang seharusnya meminimalkan potensi  yang disebabkan oleh Penggabungan CSS.Sertakan JS eksternal dan JS sebaris dalam berkas gabungan saat %1$s diaktifkan. Opsi ini membantu menjaga prioritas eksekusi JS, yang seharusnya meminimalkan potensi  yang disebabkan oleh Gabungan JS.Direktori yang DisertakanPustaka CSS Asinkron SebarisCSS sebaris ditambahkan ke GabunganJS sebaris ditambahkan ke GabunganUCSS sebaris untuk mengurangi pemuatan berkas CSS ekstra. Opsi ini tidak akan diaktifkan secara otomatis untuk halaman %1$s. Untuk menggunakannya di halaman %1$s, harap setel ke AKTIF.InstalInstal %sInstal DoLogin SecurityInstal SekarangKlik InstanIP InvalidKuki masuk invalid. Ditemukan karakter yang invalid.Kuki masuk tidak valid. Silakan cek berkas %s.Aturan Penulisan Ulang Tidak ValidSANGAT dianjurkan untuk menguji kompatibilitas dengan plugin lain terlebih dahulu pada satu atau beberapa situs.Ini akan dikonversi ke penampung SVG base64 dengan cepat.Gabungkan JSGabung JS Eksternal dan SebarisPenangguhan JS untuk JS eksternal dan sebarisPengecualian JS Ditangguhkan/DitundaJS TertundaJS Tertunda TermasukKecualikan JSPerkecil JSPengaturan JSGalat JS dapat ditemukan dari konsol pengembang peramban dengan klik kanan dan pilih Inspeksi.Bergabung dengan komunitas LiteSpeed SlackBergabung dengan kami di SlackBergabung dengan komunitas %s.Biarkan nonaktif untuk menggunakan penampung warna polos.LQIPCache LQIPGenerator Awan LQIPPengecualian LQIPDimensi Minimal LQIPKualitas LQIPPratinjau gambar LQIP untuk ukuran %sPermintaan LQIP tidak akan dikirim untuk gambar yang lebar dan tingginya lebih kecil dari dimensi ini.LSCacheFungsi cache LSCache di halaman ini saat ini tidak tersedia!Jumlah yang lebih besar akan menghasilkan kualitas resolusi penampung yang lebih tinggi, tetapi akan menghasilkan berkas yang lebih besar yang akan meningkatkan ukuran halaman dan mengkonsumsi lebih banyak poin.Lebih dariPenarikan TerakhirPenarikan TerakhirTanggal Laporan TerakhirJumlah Laporan TerakhirPermintaan TerakhirPenghitungan TerakhirTerakhir waktu menjalankan lengkap untuk seluruh perayapPerayapan TerakhirPerayapan Terakhir:Terakhir dieksporPembuatan terakhirPembuatan terakhir: %sImpor terakhirInterval terakhirPenarikan terakhir yang dimulai oleh kron pada %s.Terakhir DijalankanWaktu permintaan terakhirPermintaan terakhir: %sPengecualian Nama Kelas Iframe Tunda MuatPengecualian Nama Kelas Induk Iframe Tunda MuatTunda Muat IframePengecualian Nama Kelas Gambar Tunda MuatPengecualian Tunda Muat GambarPengecualian Nama Kelas Induk Gambar Tunda MuatTunda Muat GambarPengecualian Tunda Muat URITunda Muat IframesTunda Muat GambarPelajari Lebih LanjutPelajari Lebih Lanjut tentang QUIC.cloudPelajari selengkapnyaPelajari lebih lanjut tentang kapan ini diperlukanPelajari lebih lanjut atau beli kuota tambahan.Tautkan & Aktifkan CDN QUIC.cloudTautan ke QUIC.cloudDitautkan ke lingkungan pratinjau QUIC.cloud, hanya untuk tujuan pengujian.Daftar Agen Pengguna SelulerDaftar jenis tulisan di mana setiap item dari jenis itu harus memiliki CCSS sendiri.Daftar selektor CSS yang gayanya harus selalu disertakan dalam CCSS.Daftar selektor CSS yang gayanya harus selalu disertakan dalam UCS.Berkas CSS yang terdaftar atau kode CSS sebaris tidak akan diperkecil atau digabungkan.Berkas CSS yang terdaftar akan dikecualikan dari UCSS dan disimpan ke sebaris.Berkas JS yang terdaftar atau kode JS sebaris akan tertunda.Berkas JS yang terdaftar atau kode JS sebaris tidak akan ditangguhkan atau ditunda.Berkas JS yang terdaftar atau kode JS sebaris tidak akan diperkecil atau digabungkan.Berkas JS yang terdaftar atau kode JS sebaris tidak akan dioptimalkan oleh %s.URI yang terdaftar tidak akan menghasilkan UCSS.Gambar terdaftar tidak akan ditunda pemuatannya.LiteSpeed CacheCDN LiteSpeed CachePraset Konfigurasi Cache LiteSpeedPerayap LiteSpeed CacheDasbor LiteSpeed CacheOptimasi Basis Data LiteSpeed CachePengaturan Umum LiteSpeed CacheOptimasi Gambar LiteSpeed CachePengaturan Cache Jaringan LiteSpeed CacheLiteSpeed Cache OptimaXOptimasi Halaman LiteSpeed CacheBersihkan Seluruh LiteSpeed CachePengaturan LiteSpeed CachePraset Standar LiteSpeed CachePeralatan LiteSpeed CacheTampilan .htaccess LiteSpeed CacheLiteSpeed Cache dinonaktifkan. Fungsi ini tidak akan berjalan.LiteSpeed Cache dinonaktifkan sementara hingga: %s.Plugin LiteSpeed Cache diinstal!Kron Perayap LiteSpeedLog LiteSpeedPengoptimalan LiteSpeedLaporan LiteSpeedLiteSpeed TechnologiesADC Situs LiteSpeedPeladen Situs LiteSpeedPlugin cache LiteSpeed ​​ditingkatkan. Harap segarkan halaman untuk menyelesaikan peningkatan data konfigurasi.Muat CSS Secara AsinkronMuat Fon Google Secara AsinkronTangguhkan Pemuatan JSMuat iframe hanya jika telah memasuki area pandang.Muat gambar hanya ketika gambar sudah dalam area pandang.PelokalanBerkas PelokalanPengaturan PelokalanLokalisasi Sumber DayaLokalkan sumber daya eksternal.Sumber Daya yang DilokalisasiBatas Ukuran Berkas LogLihat LogKuki MasukPenampung Gambar Kualitas RendahMBKelolaDitambahkan secara manual ke daftar blokirJalankan manualPetaTandai halaman ini sebagai ID gambar tulisan maksimumNilai maksimalMungkin NantiMungkin nantiPengecualian MediaPengaturan MediaPesan dari peladen QUIC.cloudMetodePerkecil dan sebariskan berkas CSS.Perkecil konten HTML.Perkecil berkas JS dan sebariskan kode JS.Nilai minimalLuputPonselAturan Agen SelulerCache SelulerArsip bulananLebih LanjutInformasi lebih lanjut tentang perintah yang tersedia dapat ditemukan di sini.Pengaturan lainnyaPengaturan lainnya tersedia di menu %sDasbor QUIC.cloud SayaCATATANCATATAN: CDN QUIC.cloud dan Cloudflare tidak menggunakan Pemetaan CDN. Jika Anda hanya menggunakan QUIC.cloud atau Cloudflare, biarkan pengaturan ini %s.PEMBERITAHUANPEMBERITAHUAN:PEMBERITAHUAN: Kuki masuk basis data tidak cocok dengan kuki masuk Anda.Dasbor JaringanCache Jaringan DiaktifkanVersi Pengembang Baru Tersedia!Tersedia Versi Baru!Versi pengembang baru %s tersedia sekarang.Rilis %s baru tersedia sekarang.BeritaFormat Gambar Next-GenTidak ada Node Awan yang tersedia setelah memeriksa beban peladen.Tidak ada Node Awan yang tersedia.Tidak tersedia zona CloudflareTidak ada cadangan berkas asli.Tidak ada cadangan berkas AVIF yang tidak dioptimalkan.Tidak ada cadangan berkas WebP yang tidak dioptimalkan.Tidak ada layanan awan yang sedang digunakanTidak ada berkas meta perayap yang dibuatTidak ada bidangTanpa optimasiTidak ditemukan ukuran.Tidak ada gambar valid yang ditemukan oleh peladen Awan dalam permintaan saat ini.Tidak ada gambar valid yang ditemukan dalam permintaan saat ini.Tidak ada peta situs yang valid yang diuraikan untuk perayap.Simpul:Tidak dapat dicacheTidak TersediaBukan daftar blokirParameter tidak cukup. Silakan periksa apakah koneksi QUIC.cloud telah diatur dengan benar.CatatanCatatanPemberitahuanPemberitahuanBerhasil memberitahu Cloudflare untuk membersihkan seluruhnya.Berhasil memberitahu Cloudflare untuk mengatur mode pengembangan ke %s.Beritahu Peladen Situs LiteSpeed untuk membersihkan entri CSS/JS.Peladen Situs LiteSpeed ​​telah diberitahu untuk membersihkan seluruh entri LSCache.Beritahu Peladen Situs LiteSpeed untuk membersihkan seluruh halaman.Beritahu Peladen Situs LiteSpeed untuk membersihkan halaman galat.Beritahu Peladen Situs LiteSpeed untuk membersihkan seluruhnya.Beritahu Peladen Situs LiteSpeed untuk membersihkan halaman depan.Beritahu Peladen Situs LiteSpeed untuk membersihkan daftar.NONAKTIFAKTIFOPcache tidak diaktifkan.OPcache dibatasi oleh pengaturan %s.ATAUObjekCache ObjekPengaturan Cache ObjekCache objek dinonaktifkan.Menawarkan <strong>layanan DNS bawaan</strong> opsional untuk menyederhanakan proses penerimaan CDN.Saat menghapus instalasi, seluruh pengaturan plugin akan dihapus.Setelah disimpan, ia akan dicocokkan dengan daftar saat ini dan otomatis selesai.Satu atau lebih gambar yang ditarik tidak cocok dengan md5 gambar yang disampaikanSatu per baris.Layanan DaringNode daring perlu dideteksi ulang.Hanya atribut yang tercantum di sini yang akan diganti.Hanya tersedia jika %s terpasang.Hanya berkas dalam direktori ini yang akan diarahkan ke CDN.Hanya catat halaman terdaftar.Hanya optimasi halaman untuk pengunjung tamu (tidak masuk). Jika NONAKTIF, berkas CSS/JS/CCSS akan digandakan oleh setiap grup pengguna.Hanya tekan tombol jika tugas penarikan kron dinonaktifkan.Cache OpcodePeladen Situs OpenLiteSpeedPengguna OpenLiteSpeed silakan periksa iniOperasiOptimaXPengaturan OptimaXIkhtisar OptimaXStatus OptimasiRingkasan OptimasiPeralatan OptimasiOptimasi pengantaran CSS.Optimasi Ukuran GambarOptimasi Tanpa KehilanganOptimasi Gambar AsliOptimalkan TabelOptimasi seluruh tabel pada basis data AndaOptimasi Hanya untuk PengunjungOptimasi gambar dan cadangkan aslinya dalam folder yang sama.Optimasi gambar tanpa kehilangan kompresi.Optimasi gambar dengan peladen QUIC.cloud kamiSeluruh tabel telah dioptimalkan.Nama OpsiOpsionalOpsional saat token API sudah digunakan.Secara opsional, membuat berkas gambar WebP atau AVIF generasi berikutnya.Opsi disimpan.Ori%s OriAsli tersimpan %sURL OriginalBerkas asli dikurangi %1$s (%2$s)Meta Tulisan Tanpa IndukLainnyaCDN Statis LainnyaKotak centang lainnya akan diabaikan.Keluaran ke serangkaian berkas dalam direktori %s.Saldo PAYGPAYG yang digunakan bulan ini: %s. Saldo PAYG dan penggunaan tidak termasuk dalam perhitungan kuota di atas.Mendukung konstanta PHP %s.Waktu Muat HalamanOptimasi HalamanSkor Kecepatan HalamanHalamanManfaat Mitra Disediakan olehLulusKata SandiTautan Tanpa Kata SandiJalur harus diakhiri dengan %sLokasi yang berisi string ini akan dicache terlepas dari pengaturan jangan dicache.Jalur yang berisi string ini akan dipaksa untuk dicache publik terlepas dari pengaturan yang tidak dapat dicache.Lokasi yang memuat string berikut tidak akan dicache.Lokasi yang berisi string ini tidak akan dilayani dari CDN.Bayar Sesuai Pemakaian AndaStatistik Bayar Sesuai Pemakaian AndaKoneksi PersistenHarap pertimbangkan untuk menonaktifkan plugin yang terdeteksi berikut, karena mungkin bertentangan dengan LiteSpeed Cache:Harap TIDAK membagikan tautan tanpa sandi di atas kepada siapapun.Harap aktifkan LiteSpeed Cache pada pengaturan plugin.Harap aktifkan Modul LSCache di tingkat peladen, atau tanyakan penyedia hosting Anda.Harap pastikan bahwa IP ini sudah benar untuk mengunjungi situs Anda.Harap baca seluruh peringatan sebelum mengaktifkan opsi ini.Silakan buka %s untuk lebih detil.Harap lihat %sMenghubungkan WP-Kron ke Penjadwal Tugas Sistem%s untuk mempelajari cara membuat tugas kron sistem.Harap uji secara menyeluruh saat mengaktifkan opsi apa pun dalam daftar ini. Setelah mengubah pengaturan Memperkecil/Menggabungkan, harap Bersihkan Semua.Harap uji seluruh item secara menyeluruh di %s untuk memastikan seluruhnya berfungsi seperti yang diharapkan.Harap uji secara menyeluruh setiap berkas JS yang Anda tambahkan untuk memastikannya berfungsi seperti yang diharapkan.Silakan coba setelah %1$s untuk layanan %2$s.Harap kunjungi halaman %sInformasi%s untuk bagaimana menguji cache.Plugin terlalu rumitPortPosisi: ID TulisanRevisi TulisanArsip jenis tulisanPrahubung mempercepat pemuatan di masa mendatang dari sumber yang diberikan.Daftar yang telah ditentukan juga akan digabungkan dengan pengaturan di atasDaftar yang telah ditentukan sebelumnya juga akan digabungkan dengan pengaturan di atasDaftar yang telah ditentukan juga akan digabungkan dengan pengaturan di atas.Prapengambilan DNS dapat mengurangi latensi bagi pengunjung.Simpan data EXIF (hak cipta, GPS, komentar, kata kunci, dll.) saat mengoptimalkan.Simpan data EXIF/XMPPrasetTekan tombol %s untuk menghentikan pengujian beta dan kembali ke rilis saat ini dari Direktori Plugin WordPress.Tekan tombol %s untuk menggunakan komit GitHub terbaru. Master adalah untuk kandidat rilis & Dev untuk pengujian eksperimental.Cegah Fon Google dimuat di seluruh halaman.Cegah log debug dari halaman yang terdaftar.Cegah tunda muat halaman yang terdaftar.Cegah pengoptimalan halaman terdaftar.Cegah penulisan entri log yang menyertakan string yang terdaftar.Permintaan sebelumnya terlalu baru. Silakan coba lagi setelah %s.Permintaan sebelumnya terlalu baru. Silakan coba lagi nanti.Sebelumnya ada di daftar blokirPribadiCache PribadiURI Cache PribadiCache pribadiCache secara pribadi komentator yang memiliki komentar tertunda. Menonaktifkan opsi ini akan menayangkan halaman yang tidak dapat dicache untuk komentator. (Diperlukan LSWS %s)Cache tampilan depan secara pribadi untuk pengguna yang masuk. (Diperlukan LSWS %s)Memproses gambar PNG dan JPG yang Anda unggah untuk menghasilkan versi yang lebih kecil tanpa mengorbankan kualitas.Pemrosesan untuk format gambar PNG, JPG, dan WebP gratis. AVIF tersedia dengan biaya tambahan.Interval Pembaruan ProdukMenyediakan <strong>keamanan di tingkat CDN</strong>, melindungi peladen Anda dari serangan.PublikCache PublikPenarikan Kron sedang berjalanTarik GambarMD5 gambar AVIF yang ditarik tidak cocok dengan MD5 gambar AVIF yang diberitahukan.Nilai md5 gambar WebP yang ditarik tidak cocok dengan md5 gambar WebP yang disampaikan.PembersihanBersihkan Galat %sBersihkan halaman  %sBersihkan SemuaBersihkan Seluruh PengaitBersihkan Saat MeningkatkanBersihkan Berdasarkan...Bersihkan SemuaBersihkan Halaman DepanBersihkan DaftarBersihkan LogBersihkan HalamanPengaturan PembersihanBerhasil membersihkan seluruh cache objek.Bersihkan seluruh cache objekBersihkan kategori hanya ketika status persediaan berubah.Bersihkan kategori %sBersihkan halaman berdasarkan nama kategori - mis. %2$s sebaiknya digunakan untuk URL %1$s.Bersihkan halaman berdasarkan ID tulisan.Bersihkan halaman berdasarkan URL relatif atau lengkap.Bersihkan halaman berdasarkan nama tag - mis. %2$s sebaiknya digunakan untuk URL %1$s.Bersihkan produk dan kategori hanya ketika status persediaan berubah.Bersihkan produk dari perubahan kuantitas atau status persediaan.Bersihkan produk hanya ketika status persediaan berubah.Bersihkan tag %sBersihkan entri cache LiteSpeed ​​yang dibuat oleh plugin iniBersihkan entri cache yang dibuat oleh plugin ini kecuali untuk CSS Penting, CSS Unik, dan cache LQIPBersihkan halaman iniBersihkan url %sMembersihkan Semua!Berhasil menghapus seluruh cache.Menghapus URL!Membersihkan blog!Dibersihkan!Mendorong %1$s ke peladen Awan, diterima %2$s.CDNCDN QUIC.cloudOpsi CDN QUIC.cloudIkhtisar Status CDN QUIC.cloudCDN QUIC.cloud <strong>tidak tersedia</strong> untuk pengguna anonim (tidak ditautkan).QUIC.cloud CDN saat ini <strong>sepenuhnya dinonaktifkan</strong>.CDN QUIC.cloud:Integrasi QUIC.cloud DinonaktifkanIntegrasi QUIC.cloud DiaktifkanIntegrasi QUIC.cloud Diaktifkan dengan keterbatasanLayanan Daring QUIC.cloudStatistik Penggunaan Layanan QUIC.cloudQUIC.cloud menyediakan CDN dan layanan pengoptimalan daring, dan tidak diperlukan. Anda dapat menggunakan banyak fitur plugin ini tanpa QUIC.cloud.Layanan Optimasi Gambar QUIC.cloud melakukan hal berikut:Layanan Daring QUIC.cloud meningkatkan situs Anda dengan cara-cara berikut:Layanan Optimasi Halaman QUIC.cloud mengatasi CSS berlebihan, dan meningkatkan pengalaman pengguna selama pemuatan halaman, yang dapat meningkatkan skor kecepatan halaman.Akses QUIC.cloud ke WP REST API Anda tampaknya diblokir.String kueri yang berisi parameter ini tidak akan dicache.Nilai %1$s di %2$sBaca Dokumentasi LiteSpeedDirekomendasikan untuk menghasilkan token dari templat token Cloudflare API "WordPress".Nilai disarankan: 28800 detik (8 jam).Deteksi ulangNode yang terdeteksi kembaliID Basis Data RedisRedis mengalami galat fatal: %1$s (kode: %2$d)SegarkanSegarkan Peta PerayapSegarkan cache Gravatar dengan kron.Segarkan status QUIC.cloudSegarkan StatusSegarkan PenggunaanSegarkan waktu muat halamanSegarkan skor halamanBuat Ulang dan Kirim Laporan BaruSisa Kuota HarianHapus URL CDNHapus Fon GoogleHapus Tag NoscriptHapus Cadangan AsliHapus Cadangan Gambar AsliHapus integrasi QUIC.cloud dari situs ini. Catatan: Data QUIC.cloud akan disimpan sehingga Anda dapat mengaktifkan kembali layanan kapan saja. Jika Anda ingin sepenuhnya menghapus situs Anda dari QUIC.cloud, hapus domain melalui Dasbor QUIC.cloud terlebih dahulu.Hapus String KueriHapus String Kueri dari Berkas StatisHapus Emoji WordPressHapus Tanda `Nonaktifkan Seluruh Fitur` SekarangHapus seluruh permintaan/hasil optimasi gambar sebelumnya, kembalikan optimasi yang telah selesai, dan hapus seluruh berkas optimasi.Hapus seluruh permintaan optimasi gambar yang belum selesai sebelumnya.Hapus simulasi KukiHapus dari Daftar BlokirHapus string kueri dari sumber daya statis internal.Hapus CSS yang Tidak Digunakan untuk PenggunaBerhasil menghapus cadangan.Ganti %1$s dengan %2$s.LaporanMinta versi WebP/AVIF dari gambar asli saat melakukan pengoptimalan.Diminta: %s laluAntrean permintaanPindai Ulang Thumbnail BaruBerhasil memindai ulang %d gambar.Berhasil memindai ulang.Berhasil mengatur ulang aktivasi %s.Atur Ulang Seluruh PengaturanReset PengaturanBerhasil mengatur ulang penghitung optimasi gambar.Reset posisiBerhasil menyetel ulang.Reset OPcache gagal.Berhasil mereset seluruh OPcache.Reset seluruh cache kode operasiBerhasil menyetel ulang data yang dioptimalkan.Sumber daya yang tercantum di sini akan disalin dan diganti dengan URL lokal.Penampung ResponsifWarna Penampung ResponsifPenampung Responsif SVGPenampung gambar yang responsif dapat membantu mengurangi perombakan tata letak saat gambar dimuat.Pulihkan PengaturanPulihkan dari cadanganSetelan cadangan dipulihkan %1$sBerhasil mengembalikan berkas asli.Hasil dapat diperiksa di %sPustaka Media%s.Usia Maksimal RevisiJumlah Maksimal RevisiRevisi yang lebih baru dari beberapa hari ini akan disimpan saat membersihkan revisi.Pengecualian PeranSimulasi PeranJalankan Antrean %s Secara ManualFrekuensi DijalankanJalankan Antrean secara ManualFrekuensi menjalankan diatur oleh pengaturan Interval Antar Proses.Waktu perayapan sebelumnyaMenjalankanSINTAKSIS: Huruf dan angka serta tanda hubung (“_”). Tidak boleh ada spasi dan sensitif terhadap huruf besar/kecil.SINTAKSIS: Huruf dan angka serta tanda hubung (“_”). Tidak boleh ada spasi dan sensitif terhadap huruf besar/kecil. HARUS UNIK DARI APLIKASI WEB LAINNYA.Simpan perubahanSimpan transien dalam basis data jika %1$s %2$s.TersimpanOpsi penyimpanan gagal. IPv4 hanya untuk %s.Ambang batas ukuran yang diskalakanPindai ukuran gambar mini baru yang tidak dioptimalkan dan kirim ulang permintaan optimasi gambar yang diperlukan.Waktu Pembersihan TerjadwalPembersihan URL TerjadwalLihat %sPendahuluan untuk Mengaktifkan Perayap%s Untuk informasi lebih lanjut.Pilih "Seluruh Halaman" jika ada widget dinamis yang ditautkan ke tulisan di halaman selain halaman depan atau beranda.Pilih di bawah ini untuk opsi "Pembersihan berdasarkan".Pilih hanya jenis arsip yang saat ini digunakan, yang lain dapat dibiarkan tidak dicentang.Pilih halaman mana yang akan secara otomatis dihapus ketika tulisan diterbitkan/diperbarui.Peran terpilih akan dikecualikan dari seluruh optimasi.Peran yang dipilih akan dikecualikan dari cache.Selektor harus ada di dalam CSS. Kelas induk dalam HTML tidak akan berfungsi.Kirim Permintaan OptimasiKirim laporan ini ke LiteSpeed. Lihat nomor laporan ini saat mengirim di forum dukungan WordPress.Kirim ke LiteSpeedKirim ke twitter untuk mendapatkan bonus %sPisahkan Cache CCSS Jenis TulisanPisahkan Cache CCSS URIBerkas CSS penting yang terpisah akan dihasilkan untuk jalur yang berisi string ini.Sajikan Sepanjang WaktuSajikan salinan cache terpisah untuk pengunjung seluler.Sajikan seluruh berkas CSS melalui CDN. Ini akan memengaruhi seluruh berkas WP CSS yang telah diminta.Sajikan seluruh berkas JavaScript melalui CDN. Ini akan memengaruhi seluruh berkas WP JavaScript yang telah diminta.Sajikan seluruh berkas gambar melalui CDN. Ini akan memengaruhi seluruh lampiran, tag HTML %1$s, dan atribut CSS %2$s.Melayani pengunjung Anda dengan cepatIP PeladenBatas Beban PeladenNilai maksimal yang diizinkan peladen: %sNilai yang diberlakukan peladen: %sVariabel peladen %s tersedia untuk mengesampingkan pengaturan ini.Layanan:Tetapkan lebar dan tinggi secara eksplisit pada elemen gambar untuk mengurangi pergeseran tata letak dan meningkatkan CLS (metrik Core Web Vital).Setel ini untuk menambahkan %1$s ke seluruh aturan %2$s sebelum meng-cache CSS guna menentukan bagaimana fon harus ditampilkan saat sedang diunduh.Setel ke %1$s untuk melarang detak di %2$s.Menyiapkan Header KhususPengaturanPersingkat string kueri dalam log debug untuk meningkatkan keterbacaan.Tampilkan status perayapSecara signifikan meningkatkan waktu muat dengan mengganti gambar dengan versi %s yang dioptimalkan.URL situs untuk dilayani melalui CDN. Dimulai dengan %1$s. Misalnya,%2$s.Situs tidak dikenali. QUIC.cloud dinonaktifkan secara otomatis. Silakan aktifkan kembali akun QUIC.cloud Anda.Kinerja situs lebih burukDaftar Peta SitusTotal Peta SitusPeta Situs berhasil dibersihkanPeta Situs berhasil dibuat: %d itemUkuranDaftar antrean ukuran menunggu kronKurang dariPenghitung Optimasi Set Ulang RinganBeberapa berkas gambar yang dioptimalkan telah kedaluwarsa dan telah dihapus.Komentar SpamTentukan gambar base64 untuk digunakan sebagai penampung sederhana saat gambar selesai dimuat.Tentukan tindakan AJAX di POST/GET dan jumlah detik untuk menyimpan permintaan tersebut, dipisahkan dengan spasi.Tentukan kode status HTTP dan jumlah detik untuk menyimpan halaman itu dalam cache, dipisahkan oleh spasi.Tentukan SVG yang akan digunakan sebagai pengganti saat membuat secara lokal.Tentukan aturan CSS penting untuk konten di atas-lipatan ketika mengaktifkan %s.Tentukan berapa detik sebelum perayap harus kembali merayapi seluruh peta situs.Tentukan berapa lama, dalam detik, berkas Gravatar dicache.Tentukan berapa lama, dalam detik, panggilan REST dicache.Tentukan berapa lama, dalam detik, pengumpan dicache.Tentukan berapa lama, dalam detik, halaman pribadi dicache.Tentukan berapa lama, dalam detik, halaman publik dicache.Tentukan berapa lama, dalam detik, halaman depan dicache.Tentukan interval detak %s dalam detik.Tentukan ukuran maksimum berkas log.Tentukan jumlah revisi terbaru yang harus disimpan saat membersihkan revisi.Tentukan sandi yang digunakan saat menghubungkan.Tentukan kualitas saat membuat LQIP.Tentukan warna SVG penampung responsif.Tetapkan waktu untuk membersihkan daftar "%s".Tentukan atribut elemen HTML mana yang akan diganti dengan Pemetaan CDN.Tentukan atribut elemen mana yang akan diganti dengan WebP/AVIF.Percepat situs WordPress Anda lebih jauh lagi dengan <strong>Layanan Daring dan CDN QUIC.cloud</strong>.Percepat situs WordPress Anda lebih jauh lagi dengan Layanan Daring dan CDN QUIC.cloud.Sebarkan cinta dan dapatkan %s kredit untuk digunakan dalam layanan daring QUIC.cloud kami.Praset StandarMulai memantau...Memulai perayapan asinkronMemulai permintaan pengoptimalan gambar asinkronTautan jenis berkas statis untuk diganti dengan tautan CDN.StatusBerhenti memuat emoji WordPress.org. Sebagai gantinya, akan ditampilkan Emoji asali peramban.Optimasi PenyimpananSimpan Gravatar secara lokal.Simpan TransienKirim tiketBerhasil DirayapiIkhtisarForum dukunganTentu, saya akan membuat ulasan!SwapBeralih kembali menggunakan gambar yang dioptimalkanBerhasil mengganti gambar.Berhasil mengganti dengan berkas yang dioptimalkan.Berhasil menyinkronkan status QUIC.cloud.Sinkronisasi kredit dengan Peladen Awan berhasil.Sinkronkan data dari AwanInformasi SistemTTLTabelModelMemintas sementara cache Cloudflare. Hal ini memungkinkan perubahan pada peladen asal terlihat dalam waktu nyata.Arsip istilah (termasuk kategori, tag, dan taksonomi)PengujianTerima Kasih Telah Menggunakan Plugin LiteSpeed Cache!Opsi IP Admin hanya akan mengeluarkan pesan log berdasarkan permintaan dari IP admin yang tercantum di bawah ini.Plugin LiteSpeed Cache digunakan untuk men-cache halaman, cara sederhana untuk meningkatkan kinerja situs.Koneksi QUIC.cloud tidak benar. Silakan coba sinkronkan koneksi QUIC.cloud Anda lagi.URL di sini (satu per baris) akan dihapus secara otomatis pada waktu yang ditentukan dalam opsi "%s".URL akan dibandingkan dengan variabel peladen REQUEST_URI.Layanan Area Pandang Gambar mendeteksi gambar mana yang muncul di paruh atas, dan mengecualikannya dari tunda muat.Nonces di atas akan dikonversi ke ESI secara otomatis.Jumlah waktu, dalam detik, berkas tersebut akan disimpan di cache peramban sebelum kedaluwarsa.Cache perlu membedakan siapa yang masuk ke situs WordPress mana untuk men-cache dengan benar.Validasi panggilan balik ke domain Anda gagal karena ketidakcocokan hash.Validasi panggilan balik ke domain Anda gagal. Pastikan tidak ada firewall yang memblokir peladen kami.Validasi panggilan balik ke domain Anda gagal. Pastikan tidak ada firewall yang memblokir peladen kami. Kode respon: Kuki yang ditetapkan di sini akan digunakan untuk instalasi WordPress ini.Fitur perayap tidak diaktifkan di peladen LiteSpeed. Silakan berkonsultasi dengan admin peladen atau penyedia hosting Anda.Perayap akan menggunakan peta situs XML atau indeks peta situs Anda. Masukkan URL lengkap ke peta situs Anda di sini.Peladen saat ini memiliki beban berat.Basis data telah ditingkatkan di latar belakang sejak %s. Pesan ini akan hilang setelah peningkatan selesai.Penonaktifan bersifat sementaraKuki masuk asali adalah %s.Lingkungan laporan berisi informasi terperinci tentang konfigurasi WordPress.Fitur di bawah ini disediakan oleh %sPilihan berikut dipilih, tetapi tidak dapat disunting di halaman pengaturan ini.Pengaturan kualitas kompresi gambar WordPress dari 100.Daftar gambar kosong.Berkas data terbaru adalahDaftar tersebut akan digabungkan dengan nonces yang telah ditentukan sebelumnya dalam berkas data lokal Anda.Beban rata-rata maksimal peladen yang diizinkan saat perayapan. Jumlah rangkaian perayap yang digunakan akan dikurangi secara aktif hingga rata-rata beban peladen berkurang di bawah batas ini. Jika ini tidak dapat dicapai dengan perayap tunggal, perayapan yang berlangsung saat ini akan dihentikan.Admin jaringan yang dipilih menggunakan konfigurasi situs utama untuk seluruh subsitus.Pengaturan admin jaringan dapat ditimpa di sini.Perayapan peta situs lengkap berikutnya akan dimulai padaAntrean diproses secara asinkron. Ini mungkin memerlukan waktu.Selektor harus ada di CSS. Kelas induk dalam HTML tidak akan berfungsi.Peladen akan menentukan apakah pengguna telah masuk berdasarkan keberadaan kuki ini.Situs ini bukan alias yang valid di QUIC.cloud.Situs ini tidak terdaftar di QUIC.cloud.Pengguna dengan id %s memiliki akses editor, yang tidak diizinkan untuk simulator peran.Kemudian WordPress lain diinstal (BUKAN MULTI SITUS) di %sTerdapat instalasi WordPress untuk %s.Ada antrean lanjutan yang belum ditarik.Ada antrean lanjutan yang belum ditarik. Info antrean: %s.Gambar-gambar ini tidak akan menghasilkan LQIP.Opsi ini hanya tersedia dengan Peladen Situs LiteSpeed Enterprise atau CDN QUIC.cloud.Pengaturan ini hanya ditujukan untuk PENGGUNA MAHIR.Penggunaan Bulan Ini: %sTindakan ini hanya boleh digunakan jika ada sesuatu yang dicache dengan tidak benar.Ini dapat ditentukan sebelumnya dalam %2$s juga menggunakan konstanta %1$s, dengan pengaturan ini yang diprioritaskan.Ini dapat meningkatkan waktu pemuatan halaman dengan mengurangi permintaan HTTP awal.Ini dapat meningkatkan kualitas tetapi dapat menghasilkan gambar yang lebih besar dari pada saat kehilangan kompresi.Ini dapat meningkatkan kecepatan pemuatan halaman.Ini dapat meningkatkan skor kecepatan Anda di layanan seperti Pingdom, GTmetrix dan PageSpeed.Hal ini memungkinkan layar awal gambar halaman ditampilkan sepenuhnya tanpa penundaan.Ini tidak dapat dipulihkan.Untuk memastikan kompatibilitas sebelum mengaktifkan cache untuk seluruh situs.Praset berisiko rendah ini memperkenalkan pengoptimalan dasar untuk kecepatan dan pengalaman pengguna. Cocok untuk pemula yang antusias.Ini dapat menyebabkan beban berat di peladen.Pesan ini menunjukkan bahwa plugin telah diinstal oleh admin peladen.Praset tanpa risiko ini cocok untuk seluruh situs web. Baik untuk pengguna baru, situs web sederhana, atau pengembangan berorientasi cache.Opsi ini dapat membantu memperbaiki variasi cache untuk pengunjung seluler atau tablet tingkat lanjut tertentu.Opsi ini memungkinkan pengoptimalan maksimum untuk pengunjung Mode Tamu.Opsi ini dilewati karena opsi %1$s adalah %2$s.Opsi ini dilewati karena opsi %s.Opsi ini dapat mengakibatkan  JS atau masalah tata letak pada tampilan depan dengan tema/plugin tertentu.Opsi ini akan secara otomatis melewati opsi %s.Opsi ini akan menghapus seluruh tag %s dari HTML.Praset ini hampir pasti memerlukan pengujian dan pengecualian untuk beberapa gambar CSS, JS, dan Tunda Muat. Berikan perhatian khusus pada logo, atau gambar slider berbasis HTML.Praset ini bagus untuk sebagian besar situs web, dan kecil kemungkinannya menimbulkan konflik. Setiap konflik CSS atau JS dapat diselesaikan dengan Optimasi Halaman > Penyesuaian.Praset ini mungkin langsung berfungsi untuk beberapa situs web, tetapi pastikan untuk mengujinya! Beberapa pengecualian CSS atau JS mungkin diperlukan di Optimasi Halaman > Penyesuaian.Proses ini otomatis.Pengaturan ini %1$s untuk permintaan kualifikasi tertentu karena %2$s!Pengaturan ini berguna bagi mereka yang memiliki beberapa aplikasi web untuk domain yang sama.Pengaturan ini akan menyunting berkas .htaccess.Pengaturan ini akan membuat ulang daftar perayap dan menghapus daftar yang dinonaktifkan!Situs ini menggunakan cache untuk memfasilitasi waktu respons yang lebih cepat dan pengalaman pengguna yang lebih baik. Cache berpotensi menyimpan salinan duplikat dari setiap halaman web yang ditampilkan di situs ini. Seluruh berkas cache bersifat sementara, dan tidak pernah diakses oleh pihak ketiga mana pun, kecuali jika diperlukan untuk mendapatkan dukungan teknis dari vendor plugin cache. Berkas cache kedaluwarsa pada jadwal yang ditetapkan oleh administrator situs, tetapi jika perlu dapat dihapus dengan mudah oleh admin sebelum kedaluwarsa. Kami dapat menggunakan layanan QUIC.cloud untuk memproses & menyimpan sementara data Anda.Nilai ini ditimpa oleh variabel %s.Nilai ini ditimpa oleh pengaturan Jaringan.Nilai ini ditimpa oleh konstanta PHP %s.Nilai ini ditimpa oleh filter.Nilai ini ditimpa oleh pengaturan situs utama.Ini akan Membersihkan Halaman Depan sajaIni akan Membersihkan Halaman sajaIni akan memengaruhi seluruh tag yang mengandung atribut: %s.Ini juga akan menambahkan prahubung ke Fon Google untuk membuat koneksi lebih awal.Ini akan mencadangkan setelan Anda saat ini dan menggantinya dengan setelan praset %1$s. Apakah Anda ingin melanjutkan?Ini akan menghapus SEMUA yang ada di dalam cache.Ini akan menghapus seluruh berkas Gravatar yang dicacheIni akan menghapus seluruh Area Pandang Gambar yang telah dibuat.Ini akan menghapus seluruh berkas CSS penting yang dihasilkanIni akan menghapus seluruh berkas penampung LQIP gambar yang dihasilkanIni akan menghapus seluruh berkas CSS unik yang dihasilkanIni akan menghapus seluruh sumber daya yang dilokalkanIni akan menonaktifkan LSCache dan seluruh fitur optimasi untuk tujuan debug.Ini akan menonaktifkan halaman pengaturan pada seluruh subsitus.Ini akan menghapus CSS yang tidak digunakan pada setiap halaman dari berkas gabungan.Ini akan mengaktifkan perayap kron.Ini akan mengekspor seluruh pengaturan LiteSpeed Cache saat ini dan menyimpannya sebagai berkas.Ini akan menghasilkan permintaan tambahan ke peladen, yang akan menambah beban peladen.Ini akan menghasilkan penampung dengan dimensi yang sama dengan gambar jika memiliki atribut lebar dan tinggi.Ini akan mengimpor pengaturan dari berkas dan menimpa pengaturan LiteSpeed Cache yang ada.Ini akan meningkatkan ukuran berkas yang dioptimalkan.Ini akan membuat pustaka CSS asinkron sebaris untuk menghindari pemblokiran render.Ini hanya akan membersihkan seluruh entri CSS/JS yang diperkecil/digabungkanIni akan menyetel ulang seluruh pengaturan ke pengaturan asali.Ini akan mengatur ulang %1$s. Jika Anda mengubah pengaturan WebP/AVIF dan ingin menghasilkan %2$s untuk gambar yang dioptimalkan sebelumnya, gunakan tindakan ini.Ini akan memulihkan pengaturan cadangan yang dibuat %1$s sebelum menerapkan praset %2$s. Perubahan apa pun yang dilakukan sejak saat itu akan hilang. Apakah Anda ingin melanjutkan?Waktu untuk mengeksekusi permintaan sebelumnya: %sUntuk merayapi kuki tertentu, masukkan nama kuki, dan nilai yang ingin Anda jelajahi. Nilai harus satu per baris. Akan ada satu perayap yang dibuat per nilai kuki, per peran yang disimulasikan.Untuk merayapi situs sebagai pengguna yang masuk, masukkan id pengguna yang akan disimulasikan.Untuk menentukan TTL khusus untuk URI, tambahkan spasi diikuti oleh nilai TTL di akhir URI.Agar sama persis, tambahkan %s ke akhir URL.Untuk mengaktifkan fungsi berikut, AKTIFKAN API Cloudflare di Pengaturan CDN.Untuk mengecualikan %1$s, sisipkan %2$s.Untuk membuat tautan tanpa kata sandi untuk akses Tim Dukungan LiteSpeed, Anda harus memasang %s.Untuk memberikan akses wp-admin ke Tim Dukungan LiteSpeed, harap buat tautan tanpa kata sandi untuk pengguna yang masuk saat ini untuk dikirim bersama laporan.Untuk memastikan peladen kami dapat berkomunikasi dengan peladen Anda tanpa masalah dan seluruhnya berfungsi dengan baik, untuk beberapa permintaan pertama, jumlah grup gambar yang diizinkan dalam satu permintaan dibatasi.Untuk mengelola opsi QUIC.cloud Anda, buka Dasbor QUIC.cloud.Untuk mengelola opsi QUIC.cloud Anda, buka portal penyedia hosting Anda.Untuk mengelola opsi QUIC.cloud Anda, silakan hubungi penyedia hosting Anda.Untuk mencocokkan awal, tambahkan %s ke awal item.Untuk mencegah %s dicache, masukkan di sini.Untuk mencegah penuhnya diska, pengaturan ini harus NONAKTIF ketika seluruhnya berfungsi.Untuk mengacak nama host CDN, tentukan beberapa nama host untuk sumber yang sama.Untuk menggunakan fungsi cache, Anda harus memiliki peladen web LiteSpeed atau menggunakan CDN QUIC.cloud.AlatPeralatanTotalPengurangan TotalPenggunaan TotalTotal gambar yang dioptimalkan di bulan iniLacak/Ping BalikSampah KomentarTulisan DihapusCoba Versi GitHubPenyesuaianPengaturan Penyesuaian CSSPengaturan PenyesuaianNONAKTIFKANAktifkanAktifkan cache halaman publik untuk pengguna yang masuk dan sajikan Bilah Admin dan Formulir Komentar melalui blok ESI. Dua blok ini tidak akan dicache kecuali diaktifkan di bawah.AKTIFKAN untuk mengontrol detak di editor sisi belakang.AKTIFKAN untuk mengontrol detak di sisi belakang.AKTIFKAN untuk mengontrol detak di sisi depan.Aktifkan Peningkatan OtomatisAktifkan OptimaX. Hal ini akan secara otomatis meminta hasil OptimaX untuk halaman Anda melalui tugas cron.Aktifkan opsi ini untuk membuat LiteSpeed Cache diperbarui secara otomatis setiap kali versi baru dirilis. Jika NONAKTIF, perbarui secara manual seperti biasa.Aktifkan opsi ini untuk menampilkan berita terbaru secara otomatis, termasuk perbaikan, rilis baru, ketersediaan versi beta, dan promosi.Ubah pengaturan %s jika Anda menggunakan Jaringan Pengiriman Konten (CDN) tradisional atau subdomain untuk konten statis dengan CDN QUIC.cloud.Tinjauan twitTwitkan iniUCSS SebarisBerkas yang Dikecualikan UCSS SebarisDaftar yang Diizinkan Selektor UCSSPengecualian UCSS URIPengecualian URIJalur URI yang mengandung string ini TIDAK akan dicache sebagai publik.URLCari URLDaftar URL dalam antrean %s menunggu kronTidak dapat secara otomatis menambahkan %1$s sebagai Alias Domain untuk domain %2$s utama, karena kemungkinan konflik CDN.Tidak dapat secara otomatis menambahkan %1$s sebagai Alias Domain untuk domain %2$s utama.Aturan cache tak terduga %2$s ditemukan di berkas %1$s. Aturan ini dapat menyebabkan pengunjung melihat halaman versi lama karena peramban melakukan cache halaman HTML. Jika Anda yakin bahwa halaman HTML tidak dicache peramban, pesan ini dapat ditutup. (%3$sPelajari Lebih Lanjut%4$s)CSS UnikGalat tidak diketahuiPerbarui %s sekarangTingkatkanPeningkatan berhasil.PenggunaanStatistik Penggunaan: %sGunakan %1$s dalam %2$s untuk menunjukkan kuki ini belum disetel.Gunakan %1$s untuk melewati UCSS untuk halaman yang tipe halamannya %2$s.Gunakan %1$s untuk mengabaikan pemeriksaan dimensi gambar jarak jauh saat %2$s AKTIF.Gunakan %1$s untuk menghasilkan satu UCSS tunggal untuk halaman yang tipe halamannya %2$s sedangkan tipe halaman lainnya masih per URL.Gunakan fungsionalitas API %s.Gunakan Pemetaan CDNGunakan Pengaturan Jaringan AdminGunakan Berkas yang DioptimasiGunakan Berkas AsliGunakan Konfigurasi Situs UtamaGunakan layanan generator LQIP (Low Quality Image Placeholder) QUIC.cloud untuk pratinjau gambar yang responsif saat memuat.Gunakan layanan daring QUIC.cloud untuk menghasilkan CSS penting dan memuat sisa CSS secara asinkron.Gunakan layanan daring QUIC.cloud untuk menghasilkan CSS yang unik.Gunakan pustaka Web Font Loader untuk memuat Fon Google secara asinkron sambil membiarkan CSS lainnya tetap utuh.Gunakan Praset resmi rancangan LiteSpeed untuk mengonfigurasi situs Anda dalam satu klik. Cobalah hal-hal penting dalam cache tanpa risiko, pengoptimalan ekstrem, atau sesuatu di antaranya.Gunakan fungsionalitas cache obyek eksternal.Gunakan koneksi tetap aktif untuk mempercepat operasi cache.Gunakan komit GitHub Dev terbaruGunakan komit GitHub Dev/Master terbaruGunakan komit GitHub Master terbaruGunakan versi rilis WordPress terbaruGunakan gambar asli (tidak dioptimalkan) di situs AndaGunakan format %1$s atau %2$s (elemen opsional).Gunakan bagian ini untuk mengganti versi plugin. Untuk menguji beta komit GitHub, masukkan URL komit di bidang di bawah ini.Berguna untuk gambar paruh-atas yang menyebabkan CLS (Core Web Vitals metric).Nama PenggunaMenggunakan versi berkas yang dioptimalkan. VPINilai dari filter yang diterapkanRentang nilaiVariabel %s akan diganti dengan warna latar belakang yang dikonfigurasi.Variabel %s akan diganti dengan properti gambar yang sesuai.Variasi KukiGrup BerbedaBervariasi untuk Keranjang MiniLihat detail %1$s versi %2$sLihat .htaccessLihat Situs Sebelum CacheLihat Situs Sebelum OptimasiArea Pandang GambarPembuatan Area Pandang GambarArea Pandang GambarKron Area Pandang GambarKunjungi forum dukungan LSCWPKunjungi situs saat keluar.PERINGATANPERINGATAN: Kuki masuk .htaccess dan kuki masuk Basis Data tidak cocok.MenungguMenunggu DirayapiIngin terhubung dengan pengguna LiteSpeed lainnya?Lihat Status PerayapBagus. Tidak ada tabel yang menggunakan mesin MyISAM.Kami bekerja keras untuk meningkatkan pengalaman layanan daring Anda. Layanan tidak akan tersedia selama kami bekerja. Kami mohon maaf atas ketidaknyamanan ini.Berkas WebP dikurangi %1$s (%2$s)WebP tersimpan %sAtribut WebP/AVIF Yang Akan DigantiWebP/AVIF Untuk srcset ekstraSelamat datang di LiteSpeedApakah grup?Apakah grup gambar itu?Ketika pengunjung menyorot di atas tautan halaman, muat awal halaman itu. Ini akan mempercepat kunjungan ke tautan itu.Saat menonaktifkan cache, seluruh entri yang dicache pada situs ini akan dihapus.Saat diaktifkan, cache akan secara otomatis dibersihkan ketika ada plugin, tema, atau inti WordPress yang ditingkatkan.Saat memperkecil HTML, jangan hapus komentar yang sesuai dengan pola tertentu.Apabila beralih format, silakan %1$s atau %2$s untuk menerapkan pilihan baru ini ke gambar yang sudah dioptimalkan sebelumnya.Ketika opsi ini %s, ia juga akan memuat Fon Google secara asinkron.Saat Anda menggunakan Tunda Muat, itu akan menunda pemuatan seluruh gambar di halaman.Siapa yang harus menggunakan praset ini?Mengapa Anda menonaktifkan plugin ini?TTL Cache WidgetMendukung karakter bebas %1$s (cocok dengan nol atau lebih karakter). Misalnya, untuk mencocokkan %2$s dan %3$s, gunakan %4$s.Mendukung karakter pengganti %s.Dengan ESI (Edge Side Includes), halaman dapat disajikan dari cache untuk pengguna yang masuk.Dengan mengaktifkan CDN QUIC.cloud, Anda mungkin masih melihat header cache dari peladen lokal Anda.Pengaturan WooCommerceKontrol Kualitas Gambar WordPressInterval valid WordPress adalah %s detik.WpW: Cache Pribadi vs. Cache PublikArsip tahunanSaat ini Anda menggunakan layanan sebagai pengguna anonim. Untuk mengelola opsi QUIC.cloud Anda, gunakan tombol di bawah ini untuk membuat akun dan menautkan ke Dasbor QUIC.cloud.Anda dapat menuliskan bagian domain.Anda dapat membuat daftar kuki pihak ketiga yang bervariasi di sini.Anda dapat dengan cepat beralih antara menggunakan berkas gambar asli (versi yang tidak dioptimalkan) dan yang dioptimalkan. Ini akan memengaruhi seluruh gambar di situs web Anda, baik versi reguler maupun webp jika tersedia.Anda dapat meminta maksimum %s gambar sekaligus.Anda juga dapat mengaktifkan cache peramban di admin peladen. %sPelajari lebih lanjut tentang pengaturan cache peramban LiteSpeed%s.Anda dapat mengubah kode pendek menjadi blok ESI.Anda dapat menggunakan kode %1$s di %2$s untuk menentukan jalur berkas htaccess.Anda tidak dapat menghapus zona DNS ini, karena masih digunakan. Harap perbarui peladen nama domain, lalu coba hapus zona ini lagi, jika tidak, situs Anda tidak akan dapat diakses.Anda memiliki gambar yang menunggu untuk ditarik. Harap tunggu sampai penarikan otomatis selesai, atau tarik ke bawah secara manual sekarang.Anda memiliki terlalu banyak permintaan gambar, harap coba lagi dalam beberapa menit.Anda telah menggunakan seluruh kuota harian Anda untuk hari ini.Anda telah menggunakan seluruh kuota tersisa untuk layanan saat ini di bulan ini.Anda baru saja membuka promosi dari QUIC.cloud!Anda harus menggunakan salah satu dari produk berikut ini untuk mengukur Waktu Muat Halaman:Anda harus mengatur %1$s ke %2$s sebelum menggunakan fitur ini.Anda harus mengatur %s sebelum menggunakan fitur ini.Anda harus mengaktifkan QC terlebih dahulu.Anda perlu mengatur %1$s terlebih dahulu. Silakan gunakan perintah %2$s untuk mengatur.Anda harus mengatur %s di Pengaturan terlebih dahulu sebelum menggunakan perayapAnda perlu mengaktifkan %s dan menyelesaikan seluruh pembuatan WebP untuk mendapatkan hasil yang maksimal.Anda perlu mengaktifkan %s untuk mendapatkan hasil yang maksimal.Anda tidak akan dapat Mengembalikan Optimasi setelah cadangan dihapus!Anda harus menyelesaikan pengaturan %s untuk menggunakan layanan daring.Kuota %1$s Anda di %2$s masih akan digunakan.Nama Host atau alamat IP Anda %s.Kunci/token API Anda digunakan untuk mengakses API %s.Alamat surel Anda di %s.IP AndaPermohonan Anda sedang menunggu persetujuan.Domain Anda telah dilarang menggunakan layanan kami karena pelanggaran kebijakan sebelumnya.Domain_Key Anda untuk sementara telah dimasukkan ke dalam daftar blokir untuk mencegah penyalahgunaan. Anda dapat menghubungi dukungan di QUIC.cloud untuk mempelajari lebih lanjut.IP Peladen AndaSitus Anda telah terhubung dan siap untuk menggunakan Layanan Daring QUIC.cloud.Situs Anda terhubung dan menggunakan Layanan Daring QUIC.cloud sebagai <strong>pengguna anonim</strong>. Fungsi CDN dan fitur tertentu dari layanan optimisasi tidak tersedia untuk pengguna anonim. Tautkan ke QUIC.cloud untuk menggunakan CDN dan semua fitur Layanan Daring yang tersedia.Nol, ataukategorikukimis. Gunakan %1$s atau %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationbaru sajalainnyatidak peduli di mana pun mereka tinggal.pikselberikan informasi lebih lanjut di sini untuk membantu tim LiteSpeed ​​melakukan debugging.sekarangmenjalankandetiktagalamat IP yang terdeteksi secara otomatis mungkin tidak akurat jika Anda memiliki set IP keluar tambahan, atau Anda memiliki beberapa IP yang dikonfigurasi di peladen Anda.tidak diketahuiagen penggunaPK[^�\\�y�ninitranslations/id_ID.zipnu�[���PKi��[�M�����`litespeed-cache-id_ID.poUT	6�Ai6�Aiux�����\�r�6��������$��l�wg�[{<���Zv.US�@$$a�[Ҏ��>�9/�Or�n�(K��J��Tmd�n4�ލ|-�r��H:MD:���Ĉ-q�5Ȕ
ř&
O�FJ|���"W��F}+t".�0M��2��kq7�F�4��ߡ6E��e@e�\fd�D��%��gu&����W��P�yC?��~���lݪGm���s|x"z;�����V�P��N��'�����,�t���֏*��'�۱O�ҤPI�u7��P��Y$u�&27�����b먽�x:R�ֻ$HC��O��P���e�u��9I���{�	��D�]t��?o�W��e��'�}��\�������+��K�D��B��/*(�.C��?�W�����nmi
�߷�2��M��nw��9���"��牟cK8P���S�慸�A�q't�h!�2�J���F�q�+)�2	�?�^�C���.T$'��a)�����AE[�m�x����I@��c�R���G�[�фh�1�Z�qH�B��m�u��4
v��9�'7���p<�e��P�$���Jb�,-s/�Q�W��
�r���=JO���
�2��U,4*����e��X'��D5(ʤ(�x�ߜ��XɨԢ(�PCB�`��|�ݜ��<Ux�K���\���{�`��5����GZB'h\�6UϠ�q,�'��	�a}R�����s�H�$Ma�&:�M�"��d�Hӄ?<���HOD9�M�=-|��P�}D��z�4}�V�G)����N�r
Ѕ�K<��S�4���O ���Z~-��n��;�2�<o���������G�s�4����ƭ��V�������2Q����k2��kPF��\\���a:˵!Md��F����P0����R�٭��G%~=���S�E"�~�������
��X��GϠ�����?��-�M�n���@墷'>�z翔2̰V��2~N�P�|����3�ϩ�У2	(�.f�^'i!��|��u�E	&h��k[�ʿ���G���z�
�t��11:*+m!������9hO1+'i�k���2����^�!�&���.������
��Kyj��	|��`�k�5��t΋� %ܾ5��m��0��G��J8x�!I٠���āU��DbA���z+˭^ϧ[�*&K��vn{>��������I�Z�P��H/��=h�ݟ
�#�(�� *Cp��cC�3����T%ğ��l�8T*�����빸O��_��]Z�"H�D�6���i��I(E�Δd�̒�@���c����}Df1�x���
U"�\	�@%$3�"����Ͽ��Pw�����؂J�r<A��#a!�j6CL�q겔
��
�'�kx�NH^�v��\O�2ß�E�E��j-���>����vV����z1�H�(4��_��C6Na�����vkp?"�Tb��1冴w�e�V����5B�\�K*た2k��*|;��������i�x�)��71��Z
:�ԑ�A:�`L"5q�^ �w|�6�
z�k��/`W��7��L�����C�{�^�x“���kG��$q�9/��~��35L@.����,�H�l���������:�D)�1��s9*�CJ�K[�/e�̤���z�P��>�[��\2"���z��.�����YG������k l�v�_{�S�Y��d��0����њ+{���;�X���f�_S���+	�==�oy�t���ט����M�Yw�GV�+�TV���4|�I��)䰕X��m=�&�z�HO�-���0wr(�d�,dҲDm��2�J�s=r1�
�KM#�L�4+3��E�Q3,���/�ذ�~���hq6P�[����\�	$�D,\%�U�_4��0�H�t�y��D�CD7���#��7w�@��0U6��m���L���UD:P|X���L�+��l�W�䆱Z�
-�Z�Gj��b5)��#�N�����lWX?��15^�`=�8h2��04�@D��5{R����V�Te e�g�`[�M��
leS���h�k����LȜ�I�eĊI-|�p�}"ܙ��c�3a$���Hp���<�q�^i= MD֯�SA(%���)�"��`���"/c]���א:Ф�*G���!|Ȉ��Br�
��������!n��V
��*��׬�&�?
W8Yiw����[ ��7K6[㎶Sη��r�N�Җ�� a;���l���
�]��� ��h��f-`7J</)M�ĝ�'%�󓗡zD�� f-�54Nr��G�0�$l�L< ��zmȪ�G;~��3�8�y��Q�9�rUg�/�pάAA%c�g����?L%��
,K�}�
�c=�^�����|J�{��{Hs�*y( yK��]�2gJ05�@^���Q?�
�m�Y�as�q�{l����2
�G鐋J#�������@\0#?Vf�lI����,��4P�!.,�Φ�xQ\�Ao�K'����z}���e+��W�v5�+�?nH�p��sn Iv%r:�Z's��]��p�%��+_��oڌ����!|-�{�G�^���b��6!ǩgR4s�_�^#%�{^��I
��WZ=?v�<�R�=�
QI:�V?$�#,D�V!i�_���-�F�>�ޡKcOyo�z�c�`�3�fHEw-��%����Z(E���V����~�k�*=�a:�8�Y\���V�me.m�
�C�^N�6�1�Sl���)c~�/�z��[i�v{-�r���थ�p�0��ʰ��j�����ň��_�ZDnߘo�+�Ӓ�o�>����A��$���b��w8�J���
>��e�O\��o4��.18����
�IP�9\w4��ô��p#�$	��LJ�A��0qd��ꑤ"n��fU5D�HUn$>��K*H�
9ET�+��
��m�"��P�S	57���>��2��p�l�I#�SS��%�NJ�P�̡�ʴO�K+�g:wp6�cHfA
���t�m�le�Ns
)mw����M�S�<}��!�MO^�u)��"�ZW��ި���T�&ۿ���Ai���pQ�Ԉ�?��(L�5�2����dU��)��pQ'ޛ$��s�]H����屲�f��\�ٛ��|["��M�
(U��d�%Cb@sMh�09�{��_)�#E$e7m�'���
�W�$��]����wa[�
$��"J�J�O�쭢^��M?�n$u�*K�%��D޳�;���SN�$�y�pF@U�ԫC�]Rmk�^Ըb;{��H�Sٶ�s<�Ui�B���
�FUl^���/�Cju�_��Gu�$J�wHsr����}�ty
�T֫��D��Q�'Ow�Z+rE�g�m�U4u0�z�y����q>�U�+>r{�a���i��o��`����.��
��j�*8�kU�I��Q>M9}~�'���|~�2W���-�$Ti���.%ƥ�Gι�*N���7v�s�Ӫz�LS��/�w�?��"e��XA��[~~��MG�Q&e�a@�V�r���\����D|�H�ثIj`9���N[~�������a��CV rv@f4]�Q6��_d��oOU��?�����s��~p'޾�ח��'.no>����n�O�ފ�~��������z��%���~@�~秷� ������i�:��������ay�ޠ�{:y)�1�9�,��*�rb�c<凋G*��JqF��QDUݠ]�s3��p�V:�ܺt��<�Z׮��8���#y����p���K0TŦ
��Q�M��N��ڪ��mQ��R�"���kZ=�����U:���0b��+��{�.�|P�������A�:Tg��/I�"ih�իw����U�)`R�扄3�U��0?"x Pa�G1���Ոǯ:�ߛ˛h/�F(8�6�4���)f�c&i��:_?�<#j�M�=�q֘�™��kx��Hm8�[��^����?m7��nm���\�~x�Vx�`�&����N��ͨ�L�t!e_i�ҏ�z�ต�e���z1��u-�*��AU�^kUE�c���=��2��/�*J������H՟#�"-��	���&�a"������+ԝ�����%�򚣒�"�|�Z�����^F�� �ȕ���hV�v���<A�L:p�H&i2���`�7I*T��\չ
��,8m[��2�[�T��NE�ԃ�U);!�_���+$���S��]�Z���í�#Y���Q��a��3W��,��d���˾C�r ��������3���|fG_��85}Z�ti�YcRε��NZ�����\��,��`��!����#��d�,N)g�f��!rr&��/9��ֻФ�5d�!���g��n��(����>��D_�V��!�@�����{8��<O����cu 	���a�q�.�E��)$v��T'4\��������\zU
�.���[�>o^Y��W^��|��e<���?�1�WC��q债u�!�@q��Z=U(�x�zl�W���ƪ5��}kx�����zN�T$(-��#
(�o.���O��pD��$�!�rI���a�\=jk���Q6��U8�+x��b�Li�����f�ܫW8:C�G?��ƚs&�
�?��_O��6EmE��PV�`��zxR���/���#�3.���?g)hn�.�).⻙X�J6n5y�W��FT�ۛ'mނg/
㆔�b	[�,�f�0�l0I:Ћ�"��7���t�Ȣ��@n�]\9���<"	�g�2U��5��\v¯>�v���ג�I<�"��\�)y��^F�`�CDQ�|!iٰ��ܽ/RӐ�����|H�e�t��[̆���H��G�A�Ze��ڲ�;�=Ro�5��P+���W ��a��8���eL�
a��<`���s��u\U
�������[��RODX�[O윚��j%�W&)����r8Ols�Pw� E�6�ru��/ҷC��3TN(�2M�\�XbWTܨo>b��4o׷G�^���c��Su`�D<CR�D�	���	Α����`E�-A	����~�7�H"��9)q�wˌL�Q™�jg���<�����,�����p���9������]�"��d�"�ki����k�!R���[�/S��itV����$԰&��q��^�4����7�WM�o����1]nS4���o�eHJ�q:M.��8�=�3?�z�Kq�P��W���2,~n�R�4����,�4����8��f�R�f
%�
��N��Ruq�
G�<�n�6C�O���4X�8�' ���3�6w!��G��Pm�"ano�Юŷ����;�糪�A;�a_?o]�_`��`a�ǜ�&nc�3����+4 W2��b�\��em�1Zf��T~�`po=��ϗQv�q	a�?�ay�H�Z�o9�ɾ �A.�t�Ec�ݣ#���z�zT���P6Ű,�r[���6��%+s�)���p��Yus�2zV�ڬ󊘪#�z:�E,^"z�v�����%Ft�\��Ĺ2�⋗���%��e*XN7����ٳuTk�9��ш�H�.����K[���׃�,�÷5Mm�f��i�.��!��h�Irv_C�G@�,'3͌%�5-UH
{Y�R=>�i�� ��lu���B�i�1*(s�0-���G���!j��R5��k;���BREd���.0�H���#��
��y(b:6Z ol��\�g�8��ҝ�J% �}�j��	�[J��vT�XM��#=���}��K�B�D��`�iI!m����5D�M�K��k/P.K)�i���\Û�a�<����ͪ�Og�u�o�q�Z�(��eGU�E1|��e���zq�Tfնe&�p��xxTx��\_��|���wq�S8]8sN�g(�����U�b�p8��1�H��%��`G�C{}}�I��g|d�s�c������R�7���M��gVLӕ��}]���$�����t��έ�wDrѡ�:��N;ֈ�&y����3�Ɩ��1�_6�=_���7{)ypρ�F��iD ����mWu�8Qw�MN](�a��H���oc���|j1��X�y�jг{_<$�0Y]�4��s���Wj���YqL¼����s`	�
���[��⟏	������Sn�t��Q�;?gD���f���7)�+vN|� ��ںs:E��q,Dm�vOڗE��N�=E�M��]1�\(OA����6	OǑ>$�͡�g�!DsDe��֮�*�c��Rg�=%�Ӣʜ�z��pȞ��Н3�ڲ�)���L��^��(��ss���'�<�$Z��\>����y����]���|!�.�:���Փt�m艨?~�v۲;1B`��ߗ����3M/}�=&�pW2*�m2A͙�H���}ye��nI�;CM&��2���1=���'|-��aJ�M}+$��5Ə4B	��v����-��o%T0� �&�Fʩ�X��}��(�h	�&W��$�\��yE�[h�$^�nB�]h��Nٜ�3�yq;v���M$���ԾsB�cy�qs���8`g�9{L��Y��5�}�\�Xe�=z�d��ȭ�p��E���yI��cQK]����(h{ެ{���'�+���f)��<zKf�,E�Nj�Ƭ�rn�|
�)�|�R�ſ�,��zLjN��Ι�E���tC�΋
�����t��'�{ᬀ�Zr�05�ȁ�c2�jw�jѳ�*��Y��/[>e9a�/yf��)T��uW��4�;��!�]�_��Rv�ग़�X�lF5�|*ʆ��_���[���W0	��=�o���^l��9�=�� ��ꋪ1�ܒ�ߞe���]�s�:������Y��d�Z$��V����S�����_|,�84h�-��,�[�	�K5���"@�ٶ��2�~K�'���i�<`��M'ٸ�cz��g;�-����w�
Ī�1�ƙɈf�[jl|�e��D�0�0�61��ӎW���!ƵM����6OR��]�'&rl}��f�_�=J�+uº��������D4܂-���S�J�y|�q$�a��A+O��`���kw�k�?�F�Rh�uf���{��{Mx���/:J�����f��F)����2��~j|jw�6��ö��F�T����QI�J��QUt�[�U�ݭ�V���E�1{�ߌIѧO��#vi�*�,*Mj�F�-y~{\<Gm7�™"+Qp�(�jq��[r�V�cT(M�G�%�� ��y"�D#��PA����T8u��tN_i�lK���r���b�a5�`xZ��7�k1�ݯS]�_�qO?>�mѦ<yfI�|�nrS$�1W�9��R��b!`Y��OD����Q=��g�"f����`Tv�mhߦ-+�D�U1���ws*�T1�����}a�m���hI��obX��]��L�Q�n�=��![��;=*,*�q�}Q��8B�w���-Ί���)�Z�emOp��T��X�`���t�w�џ�S&�X�%=.�����O�/��ޕMջ����x�Z1�Hv�����J�P�R�<��Y����E�1'�S�DD�ϰ�F�Ƃ������Bh�{Lfa�ŨO6TN��`7�5Έe���o�{�MYkHW��>Y����v~�ÖB�����X4�ZF�zLj�ܿ$�[ȿ$[�t���>�t�C�u�n��L��3�4qy�fC��o��b�&ư�g}ּH����Os;F:Z�c�JiOY��v����.�
�����~G&b����Օ�'k��X
�>���.׺n�uJ����Qa�K���\)���-�>2B
/#[TH�����E��������'�bA.�x[�kp)8��a�x\x�d��I���p0h�I:��C}N�����Fl�R#=��5
o�	0;�Uuշ��y����F�������s~($���]��;��64M�w����lFE";6�l�늑9aJC�i�w��[�M�x�Ƈ�g�l����WB �|N��b���,��c/���V{%�{"F��A�`)�[������ �7��4_�z����pV]s矾c�d5�/rEσ~��=�wǏ���|��Q��
}D�7�|35_R�)��E��U2g�i
��13�دP\�"/�9l�{>^��Y����X���JI�4M��j��,���}AA��CN�0�Pq��X���
/��+]pbyg莠�e�6b����=r�߹�P|��4��E�pF�oQe
�
�-#�'�ؑ���Բ<��spU�=6&���4�k���v����>�LO�+2��fᫎ(�Ki*b(w�t��$�J8�M��"bT3/F�s)�
�����lʓ��%���7�K�4B~O�{VԐ>(v'�>���]x���(�UX���j^�ٜ5��
�.֤�N;����Vg�G��;h�냓���W��#����,��Dx�$�g�	��}m<ks}�9G�5��������5�.�>����|�d��p���q�8��f��s��|�{�����
,7D:BQ(_�oA	U�\���a��ۮKőܳ���6�䒓ف�1���~�kU��<���nN_��BT�$Jn	xB*H0��Qu>t$8-Jc��Ԥs�M��Jr'���N0�Y�J��=�?k�dm��/���!��w�o�=t��<�db����5w*�Ɩ�5g(�Q@�*Y��$[|�M�y�p�s&A��j	N3}zd6A%��s�����X�QI �<��ͷ����[�7����Ic1���h��?�'&Ʀ{Q3��]����u���vؠ@�q���Fe9����<��ĒШ��Cb�A-�/ү����Q���2Q$�qN��	׭Q�����;B���x�X��㺿�4����Ȗ;��I�4w�����ї��){?�,)�m�鏏K��q��"���R対�n"����{��9oŇN���f�����K��Jb�ߗ|��T�^�"7ߜ��7�l�ĎN�U�%D�㏍v��^�;s�v��������Ⲩ<kM�s��H�§n�u��s�,��
��B^J�Wk�Y3X՚����+�l`ã�����nr�G{u=�����v���W
�cP�ݱͥ�E�5�98����Q+�n����e��q1�SvM�.�-�I)�aT�p�)�0#��#Fj��H9�e�~
#����UA�����e�����nj���龀X��td��v!����G��v:无}
�d�[!峹g�*�`
n��Ƙ�9�3��:�B�$���&�΢Qt�T��+�&��ۘ G�g���/�"h�\��j�*.��4�F#�eܟh�v�$ ),�{���=U�"�:'̅-�M'�\�G�D�&_ċ��E�
SJ�"�k�5��I���=��b�>n;��� \X�;����(LWC�w���T����F�-,��4[�����R	>yh&��]����kӒ�����鄱��K{�X�˗7o���
��淏8ቪr��w����<�@�砷�b��9h���EU*zF^�ٝ�͸x+|ܒD�� �Ӡ��y*s5,��4�G���~9�w!�B����͋7�o\A4]XYL�H��P�El2_PT�씹r�|��	:
(�@A�儴���U�3����I��6�_�
̧~�(�
w�QX����wY�L��Y	����w�����z.橽�y�Ef�˟qE�Xm���j�i�
g�,���Q�Z��]�1�UL�=_�;h�w+��>�������a,��x�p��0Ӂb���?��ɧ��[R�[�o%Xo	�r���i.9��{����m�z��A)J廝��@�q���
T����gfS�����u��v�3�_O��"�L���C�vW��0]��3��H�7�e�|���6����[�ɯ��(
/��\3��N�|䦼i�����4��}��#�F�71z`�P�������֏�}L��2�nF�*%����|U�>��_�wR�k&���<JgV#�>g�+Fp�#�}�*�3=�?��N�>V����|I>�`��e�*iZHrC�<�Tx[�>#���V�l@���D|�H�@*��0/rB��(��5��J�pMe���D��g��k
�.�O�;�I�¡5Ӣ0-6#6�e��qA
Z��m�rU�5�[�P��i�.3��]�\m@�g6�o�ݚQ	�I�_GXΠ����Jq�oIV���;�'^��2l�_�?�l�]p���MV9��¿��b�)g	^s�8�>�E�a/�N}F��_�r<�x�G�>*<�4~��~`<�w�S\�d$x�*X_��U���+�N\���{�;꤅Kq��I	-պ��*vZ�L6������|OK-Yh�3��zU�����(H{�E�=����1_�(T� ��Ӹ�dZv6}�d�����-�^ɶ���_�	��B�MG3��,���STz����k��UA�9�)�C#u���L�<ls�#�vm�q:�p�D�Ҙ>8:l[�������(��#f�O�Ј���}�gQ��fI�'�:"�9OW'��w�o� :�V'"�ȉ��'��~X�oZ��9h��q�T�g���D¼��m��s���2G~;w�<s��[�s�)�;���f�v��c��5���G�h��y�jøt���b�y���a�dpۀ��|
r_�l���Znq��0R{���9b<z;J?����Ϟ��b�>�3A:v!	a�-�����_=��gZ�	�΅E.�,]������1e}�#�ע疖H��d��}�:�b�/+��ʫ�
R�j�����WP
�ARjM�"nV�|�����C/��~�H�۲BVry���Ҭt`L�T���^7=���\m�����~�"��8q^�/j
b!���9,��[�	�ù��Ѹ���4����!����C�{>��e�K��b����3O���{usܛ��~��8�)2���7; _��7�j�,G�X�X,C��Q�V�89l�*��u��[q����$'-W2�J�x��1�)f��B���7P2����l�/�k(��`v�F{��ł�ͳ�y�z���׿��%%݂�̱{߿�+X5��߿��M��~���-.����N]�l�?ӎ���R�<3�Ec���V��,���K+�AF��:T2<�?qUk��p�$���c�gD�#Cn�+0u�:�ٙVYmu���(���PW�4�q�J��ug��ؒ�uG��e]�����
��X��������u<)�3
���+w�3:"��\�"E���ynGg����%�a�����鈪����V2l2l"��1���n��c���Qx�{�(�?���8^D'�h/.r� ����N0�B����%1:�-A�_�c@�DW��Y���#K�IVG��]hʛ�\�M�3�R��hm��0�!1���U�%���&�1x�_�a��V
[����1.
�V��ݱ/8/ý��w[8i~�/J���i]ԋ�����E�ޫ�a��uB���vE\�>��P�Ho�;�����Q$K��mL+�!)�-�+>+��(zz���b���^��>�B::��
�!�[�g1p��Pc�{0��P�Ա�K�Ū̾��Ƕ�zÃ��]�<�b�������>o�_�\o3�:� �����Cr��r���q�)J�~��$B���W���ў>�pT��o6�:����o�5���a�T����u|�8��{x���9/��6dz+�����i�}Z��˛�tQ<,�2n�6Q(��i̓��h&��Uwc���^v�&��ؕ�y�*[eKP�r��`-�:t������y-���1V\�KrX�V����2PXӉ3�}�x\lZ������S���S/|�ï����9���uFe�ύ)��QR�hzo�;��\l�h���ܬ�~���)�;��`0��Lg�,�~7��<�Pz�,�ٚ.�QE�~���
A��ñ5ύ�o�(3��Q+@��q�@�D"{��;тy����=�X��$��FYF���N��B�l.�i]�H*�ɍ4t@b�B��}�2��Ry
e��\�Itc�N}ϙvl���Ux�B���\���s�d|�)�)�^���r�F"C��������!/2#4Bl�
ĆN|#[P�6��A����Ψ�U�*f;s�&ӕ.P����>���b���~���L]�ؘڄ2P��M1Ί���
��磔ȣg�x��]��3�!A�^̸�y�j ho\j��'q�A;l��2r.ƿ�x�v�W¹�DR����Ż(�ø���$4�u�f^�<�^�4q>��d�+������-u�3=�H'��7)+��t/��>�3��iA�,���i�Y~!�}���\�#��א���+ەM�ズ��.�-�v��k0θ���ؕ�;��ga�4H��W����ܧ���5��k>z4�ez���w�,���,C�.Pu��C6�	\�H"S.>���Sr-	6��6G�\n6y3'HX�W��+>�0��6��5*7�7g�xc����)��.n�f�1'�Of������>a�
�9l��L0�m�m��p�	�o?:jX���tް.�oݭ�2�������͗Pp���.�I_D��ݧ�R�T�:x�<�Rs��O��x\&ak+�>q^����hw��^ҧ��/_����X
L���Կ~Qa/�Lz�sxԱ��Q;͂��'4��sT�mƙ�*��Cg�Yi�V�¿yv�W�_wE��8Yj~7z#�eM��#c�7�wkܜu��.�����j�(f߭�Z�ޚ@���$3S�)F"��R[*�>��o�%����uK��5eɿ�}���	W\,��[+"��]S�[��@���>�&�6I?��%�'�1�1� ���{:K��۰c�"(�3��	n�s�z.{�|���Qa���>h�Y�1��R�^�p�OK�q"���~c9T��s0�ڭ�c[O�
��C��{sg����
�?������&�o�'���>]�O�W��q�p��������<��qU����i�}�$O�����g=��i;ǦO���1_�Vm)�	w�?�4��͏�3�Y
-7�����Y��+{R,֬R&�D�5q
�)n
du%4�\倧�R3����a��^r��.��`��R�b�.�Y0!JL����b\�4L�%t�S�a1��bj���8��}(F(�����SP�|fD���ޠ��}��-��ks����W��'��Yk��O���ʰOG}Lc�'�ML[���%@sr��_�|B���%��+��fR�`�Xci7yc�(����K[j���Q>/�Y �5A��XbW��}n��?V�54}��=�Ɯ�����m��)Q&�/I;�Ykxd؆��g�|�$j��-�Sen��Gzg��f����΀w��r����T�B��jC!S��)2}n#��4��ߩ8<�����ړ�
������ON�8�m�:cXń��/d2�����p�2Ҭ�.w����s�b�q
�iEmY��%�f֨k�Ht{%�n6B�eA���okN�[Wz�*�q�w|!W?�8�JU�5T>uo���k���ڜzƈ_d��eYT�*K0]�"1�!m���,,�3�;�$�����+x��U
�_����0��[�-mzA�sF�Ű��X���9?��ɖ�Օҟ��\��$m��@I�1zҬ�yd�[�(V|��3) ��{{��Ԏ-�|D��)��r^󻽇�)��N���#"�]�=�-2;ѵ���WW_�ƾ꽒�.�o�Ũ��=y�͖A���/8���u+�xρWK��X����R�tUCLQ����ۚ8�n��
��v�2���_!!��l2��*��JZYX�[v�KƺYi����႙��}ȭ��3�[r�n��ս)�p�?�O�ȡ��'5���G���rr�;Z.3�2��	�	�ٜ�!��[#�Y'Ln)Ce
��_4�
)�,S��+�	q޹���8���(��횘��
��.Ҿ�_:q�
3*ǥ�b��)�dVhJ'�F��o}�~�c��R}5�5'eZ&y������k�)����q��%I�����v�]�
�$��	�e>�Ok ����XF��o�$ȴ��Q��ҕq&�{��-�ٻ��>Td�ZFMZ󫥥�(��v��~�	�\9>�����O�lTU4�iG�L������9xw�5!+��`��^�v2LJG��R���%Fm5��8xkR�gW�/
��-�U��ROo��Y&{RziX��e_PV��g�G���^�
(��{끾�;Sj���sgp5	�D��J��{�O�]9���P�(��u�x+���<(YVE�$)-�Y��}z�O-P`
y����f@T
��%;����R%�!q��`%�(e��}����WG�]�0�f˝��N6	v���~�dW�v��v��S#,0�M޸�)���:�� �4u��¬�*xm?6�$a�ɗ���W�4<��l�����;�n��NM�{�s�ߴ�mסe���cs��K	�������[Т �V
S����i���Y8:f
*���Hgi�hr�=D���nr�*0?|^Cy.�z�A�F��Nc��0�s�;bRez	Y�7�O�e�Fxu
���X�i�èR�?�avl)�Xs��L�&�?�nT�P���NC��� �l�q3.$�Y,���r68��h������szv��rPr��攠��5�7�����z�՝���C^j���ƀ���#֜<�XQt!��Ҩ�����A�ia\�{�UXB&G)b˶U�ˎ�Jf.|U-ÎB�N��K0����̩�%�Hu����e0xo,�L���,�E��{�d�QT����o��M~cŘ[82P'>cK��U���pXIf�
KS�u���p-p�sI�m�}I�nll���(�9
�	�Q�h���#Gq �+�r�%�w6wp�2�G&�G�&��u6���I�恌&;=&�m���$�l��]��ׄ��v���bq^6�a�ʴReeΥ3]�,{0��
Z�E�fH��2���J��=�i�;{gi|�I�P�,�υ����v��
Լ0�t��Dƪ�Ƨ��;Μ6=g#aC��g:�	8C�P�bn/�]��J���s�r!�j�����K���-�&l{�T}��O���'K����O�߭r���̇���j:��A_��l3Q(M�߳S�4��.B�Zܮ�:�-Xe�f��[��<��=T��/���H�L>�/��J�2�џ����ɛ+B[�<Ү��u�f�.2[+~8%��ڵipo,�Q��A@*(T�r*e�mV�̦;vZ�Q�����!7ISWZL���Gq�� ��{�f�,N"�*
N�W��B���$�_=N�Ȱh��2ش�̕Dפ16Q����E胫S�(�ڀI�r�~36��Z&n���z��S{�+
D�2gn�����-�
^A{�=�Ó�:��Ǵ&�f���IK� �#�ۢ[KƟ^��m׬���id��@A=�N(M)O��ӗg����6Jǩ���q�N��^e�BFX�
��w����]�'���'(�s��d~}5�xEv�#��7�O�A�Gup�l�~]���iB��{G�w+TƓ���"G�x�>(c)Y���G�A����g���Zւ{&�,��k�3��cD
y�
-���
н�D�4����l�#_k�Ojf�M�~�%�R`[�!;_W�ia�\s�����F ���$81ڬ�\Dg%���H�K�<��Dz�9��$^�.&,`�/�����r7�1\n2�E����ի8-O�� ��$���2�b�"��~@�^���.���C+D$�W��Q����s�}p�U�8�Bs�|��f�p'��\�u�����9x7O�e1
��3�^�sK|�� }V�N��H2쒧x�Yqw���ų�{^B��M.omj�6�O?������/�/ΫȢI�!���#	;zg��e���'qY묨Wj�(��0|Eяp��v"%���#��v��$���T��)$*1���m
`t���\�=i:�A�Bb��a�Nh��,��p�����p��nl.�F�8�r�v�:�c��а���}����3�O������I�̩���a��Z.��Θ�%�n�ZR�W�Q�\{[F^|Y�o�lBO:�?�ȱ}.-�C� ���q�kg�2W�s3��᰸l�8���_'OSc�����l����=��?���O@V��%�O��@h(����rs����V����_�|L���0)�է"M99�RDТ�T�n����횉=l�A�9�A�(Ax2gHQ�����$�a��*r��,U]�J��лC�8IDfMQ�Eh���h0�h�[���Aυ	Q
VUa�1��X�{K���/��r�Yu�}ܸ�~�I�l}<�X�������6�~�� Ѽi$��W<�Z��#�"�	�ō���ڛ�Q�箿ִ]E�O*�L�%°�����>����3�a6�X;�r<�e8)"��S5f$�]��>�-�uQ!��P�Z�J!�}��.x0��ϗm��ځ[�b��T�Ѡ�Fy
�j�$W�e���V8N�i�PFe�OEԡ���=�x\��E�qt�-��#*�ȶ�9cv]ӎ_�R[@NĢ��Uq��V��+cX�h�"��1�/
z��DFֻ�.�\g�a��ԃ�& �]��E\�ef�-�1v�=w3�:��z\tV�
y/�(fġ�&n��Ѥ=:/�
��C,��
��by�I�|!H�����l�(��#^jTdH��󝫝��F`�|-��A�@��S-�Tc:8��
�Z.(����E�|��)
�2~.�3F>b%4�T1P��fy@"�h·�]�,:�r[:J�)5l��;�T
���Bu�g<_}�i��sӲU�g������nLj0ϸ{��t��&]	��L�%	��G�F����h�HÝo�6QB
87�DZ�;��K�s*Rx�rAT�x�%��ʥH�̜@f{�t��>�|aE8�f�Ha��V��70�o��6Ƹ^��U5�u���Ԉ~ώ��M��J�gge�sWP":Ef�m��v~}{��W	���L�d/�k�b<ܫ�v�Rr������x��<r�l�?O�e�����v�����eNE��rYՁD���Q��&�v�rDK�y��P��g��|9ba
����X1t��(�*f�&�Y�Q�H��FA/_Z���I9���)�'�t���_	^�ÛuE�,z�JkD�}�|���0�Ӊs�ο��:��ř-d]v&�8�"8x*���-D�t�^7�����?8S�J3��
 �_4�U��#�w�&��t7q��N����T;�!V(s�b �����nF�׿��þW�
O�{_yܷ&go����hC��������:,-h������_�{#"�
�b�8!�~��){7�88ݍB	��.�i��%c�O�bY`E�������ٍ���w�H�ܚv�<)��3Rx�#b��&w,ꎔn���6�*�4���"[�bh�[3f��	m5��)-_{*�twȋ�����:��Ȗp'�K=�D'�,��@9���ڳ熼"�<3���^�Uy��tr�8�%����֘|����-e^u3I1K#z�p�㰀Y�œ|�|k��,��t5�DJ���,�Sn5���Xz�G�� �v�/�|I��c��LU��b�����g��2t+��q��.��f�7��w+�f]N�F�0+<3s���K���#��AR���U�(%SUX�Q�ɲ�:�J��3�H&�zFl���c��"�h�D�	� ���փ�j�_m�|�<#;V�wA���%;��Gv���_l�Д�EP�2�rk��Ͳ�����6D��9�d��lNME�%��o&Lk�ڔ��@�0|Yv�1w~J�Sv�9�	lj������\#����j��#X88
C��?���"��(i%j�&D���;-�:�sWnd��/k���xC���,B��NW�ج�

p]a�'Jw��8�9;.�J��L�)����ЊX'6Ыj�*���"Y��d74T
�Ak��fj�z���^�%m��RY�;�'G<Er���<�ߚ����I�FW� !�l��9�c��_ț\Dg�G�X��sˉ�9�.�.ѣ��ӎ��O�
�����vh��>\���AuxȢQD���m���"%�$�<�}���IGG���?�v������]r�{��p���b��(�\i݌"{E+(Ꮛ*��]��@�4a[�-�E���G�]+u�Y?&5"�9�~�}�g���P�zM'���5-�����el�mlѿ���ܜ_̣F��/&��r'�=�-�������2����|�P�چ�'���eZ�hw���>��,���D` �0ҵ���,^�ok��OK9��|vuid���;����j�\lS�U�7�Q�Z:T��lr��ő����`~T�Ҁ�K�������h��|�M�Tˈ5م�)�g��OQ�q
O�1�of�G�{!����M��V�7n���*��I�}�t�A�lG��dʱ���t��@��n#]J���H�J5�]Z[�g��������/�Mk�sY���P3��.>
�Jp�B�����2��F9;��HY��m�J\��1=��
���.�|%���|ڽ�c�&���Q�a͇�I��bL�$9��קc�#&r9e`�)As�E��U���s�c1r	
Z�Y�p�׃�fjVGO����j�H#� �;�V�J�[����u]��1P�{*�i�1�z��(��*�0ε�z$�.�s�=t�~c�3�O��ҫ��v��\�գy%������cr��;�9������M�4m4�؄qќ#yr�)�e1΅��,�ߊ�\�e���J��7S!W��(�R�'b�9��8G�%��)����{':��pLEh���2[G'-�2טP�|�w��sR�:'���	š<V��f8د+����JnT��:m�S��Yg�	�3�a�?R~��/LK�6�"��j���\ ��� J��Ԗ�#��:�W��h�bP�庇PcT�Um�3#�3���u��1&}ޢ6tDf���,k��J��Gkk��@�v<����Ž�EN�E��kM�]m�3�P�������/�&��X��k�?q�q�[���g�ِO;�d6s�~�$�ha��z����ME�)��ǽ1�*�bW�|{���0����*�`�ʿ���dY�r��� �TW6��G:�VD�f<��8=n�*|0B0��:���k���jk8�^�ʻ�O��JƌAl�g�g��o?զ6r�h����vG��Y�����觚Y�L��I���l���w�\}n�:�FA�ϲ[B�P�L�g��d�F<�k���X�d����rf3��'��?���N5��"=��짤Bkj�:M��˧�Oɵ�F���j��6Jҟ�r�f؋�K�2��N���
<g��BU���=5i F���~��g�\*H��-g�'���q�޳��䃕(i#ì��+��X�A
3��BY�Ƴ<2�=V��N'?i׿�`�*�s����1&q.4�"1)��,v�`;�k�̈́[�:8�E���B�˕�zPH�ҫ�J1�V
�)�۾ ��$�w-^ا�
��S��}p8P�iXl�I@۔�]�n����r��b���B�{�*�4H� D��+J�#�5X���ׁ�uE���r��E���9�ݕ{;�5@�#�I�V�5��p-����xq���"��=��CDH�fys��r"K��X�>K�WP3$t�]�'�ڣ�#B[%W�;�D���[z���`/b�zUT��QzQK�����2)�+D�V��R�S�Aޤ"	�GE!��Jݣh�(
�i��j�<������߲��d�����
�����<��
�-+��I�����9�A����(5"��Bdռ����uGY`��ӫi��*�/ס���gK�~Ɓb
ݭ��_Z?ߊ��/�}��(�n�u�������rݻ������D|ժyBl�y�޸E6����a4���ܪ������i'T���7��Ԯ}	]<�J�f��#U����K�۬Wp��P���b�=|�1�����|$>�~�Xv"��������9����R>�k��_�;�U�~۪����^ЕۭG�����K��j�”��o�
p�����t|Ӗ-
�o�B.���j_����p��ٕ�D�E����LE�u�v����/5#�O���
�VR7�_���G��?���I��{��9��>�l#n�l]4�	<+J.���;�����sq��-ۭ��y(��
�����VcP� �T׈�l�N&H�
�Yj1�k���.gDٴ[c�}��{T����5[V���j�*3[2_%X@��:��R�U/�q�1v�̈́���O�ܪ��h��
^b5�g>��9xg6��~�[��zL�TH1eeP
�A�roH"I��p%樿mQyr�Xl#D�xTj�V�S4��Km�J�Fƴ��X��"�����m�j�bh?F�kB�qQX=5
��1U3�0ݏL?�x�/��MzW�+5s4S۞4Qۮ�;la������7�:B�j���v8�`�	9���>��ZkƁ{.�p�w3.�(��I�����a��e��i-&c<�%r9̻H��\�T��ඥp!��L�7�G�N���KΙ��K��o�M�Ekv��JkV%5��g�Bf��U'���*;==j� ~���fߪ��ܻ����ǻP����)p�/��[�#�N}.�a��k��1nk�Dn�'�h�V�ɇ
�R�ٰ
Ⱥ@�!X�Jw��<����2&���t�F���[�C����'�Bn��F�4"��C����>��Z0�/n�`�o_q���JZ�6-����r���R��5]+پV��I�����
C ����k�K}X���X���*��2W����T����h���j��%�f���:m<�n�e��+���A��{a�5�8
�t��+0d���T��_��.Ѻ\��ZzE����d��g��w���ͽ����$ހ .����
(�D�gC6ޏ,/לW��H'
��	���R�˻r�|�.����tx�����j�u�U�)VQpJ�����z.訧^5״�v�5�G���F.B#��#�R
��b��}2^Rk��`���A:���	9��l0ڱW#Ù-��`Ȝ���v�s�č�2�Cn�y��A<�G��x:J/;9s�G���n�E�ױT)KH���Ϝ1݃p2A�&(n����#���7�F�5N)�.��;
;ʖ�y�ͷM�^�P��|�x�*��3�����v�N{;�K@Y���x���\���{�B�0�KRf��ai�S=)2~a�t=���?�'��0��|r�g	�y�`0�Fn�l�qc,x~,�,kݴ]Z����>ƞ�1�ӓB���yZ>Ci��H�Ѵ��H��]�BHqCr`r���n�J�Ͳ�J2��qU{Ǻ����̉��G��2
I�+p$�!��e���ڬ;+�}�
/G"Rr{��Pj9�,�I�@���Te@�n_E{��8��C�gnY�+(X<ᥕU�V]��
�׻e� >� r����=$�T{nHtM�#4\Ͷuz�	C�(y���mQ�w��~�?�/�񆜋0��
��Ŕ3�fdx�,�}�X1}ު�[p�"�&J��G��3ME��-^�%gf�Z�.���$a�����ma�|���R�4�z�J!��/���.'ڒb�C��*�N�|_�� �lFB>�	J����1�֤�m�(mN���A+�'���8�t�ޯxy�}5��0��I�b�vv*f���@Fwv:���@�x�.��fww�G4�J�y�r�.6�g����[�U�q
_M�Phf{�ki&�i4��?�����?�����J���Ӗp��[߽��}�ذ��Je��[�EQ��=��0�fia�ӝ��I�
������Q���q}O�m%1����%;)�{f&*��*����rfs`M�i5�Q�0}�ઁj�\P�.s�”�+�t��i[�yG	��'A� ���������r3����L¤S�;�7-~*J4�g7�~X���� ��q�L��Z
�0�<��߶&�k�~��ζ��/}�>Dd	�-Y@i�M8�~��`�@r`q)�忐[)� c��g1+jbT#c�V��T�y�h
/���X4�s���m�.��Hg.ʚ����ky4$�T
7rj�S���Ϧ.!��A��w�ׇ�3�X�<��խ�W�$(E��D%������#�X1����a�M��0R�m��*�n���0�Q���J����Gf�14��>!&���е	�G�0�_�r��9�s����#���3��~�+���������A��vM��-V��,"n���{�� 7�5H��<�q��y �C�
[ld�|�?����V}@�&�~K?W���i������ՙZТW�}�E�39s�]�/�Q�����_����O��{
�'U-�a�a��<�f}�f��!�F|�2̺��W꼛�nl�<*�-ss���3���'B�A;�իy*@`Λ�e	�:`�[gf)P�����%ixZC�\I��iwA��y���Ôy�U?�Ow�rT�7�[��k�y��/{�/��W�٘a�(�v�Rd�W���5���E�9�S_�h^��;&3,4�˒���t�L�w@4^�׭�qp�~,�q{�׃��[���8�NW��*H������5"]e"]�����B0@a̖�u���G=j\QsAJ4_x���d��,7�Y>�����Z7�]25ALW�v=��g@K�t�q�\)��^��Y�d;�̇���F�N&�@�X�x��4`�p�f`*0L�s�]x0 2.U�,��8N�c 1q/C�x.>�ʹ�n�A����tp#�Sx-��
�]�!��9@�9
Ԝ��񿴊8���X�Ly�(�G:&�&�DxUz!
����l�xHq'w��2ш�
u׸���	�R��Ã�F��WV�5F���Ο�X��}g/��/׏^I�.�ޤ%��~-�Ϭz+t7�o�
��G��b-�a:}�����=	.@-c������Z�{���gP�ʣ�d!��\��a�^OF�Q��qR���z;?V<[B����l`��Z�е�}�km�?�W��;O{sJ�J�{̄<|��
�������OԻP��K�6~��eUڔ�v��e���^�u��5�l>����<5-��%g���

�z�"F���xz���c�<
[�Go!P��CP��~�4V�y�&��]�.����w�����*����Rf�e�
��@C���B4X�w�6?�A���ѽ����G;��{/�j�����V{���W֧��eU_O�V5�"n��2:��X�;_�8Y;p3��&��d.��V�c3���L�ih<AƬؔ.�Lt�'�"{��BT<�i�UH��3�}��e���Id,Ig�Spr��d�Nޙ>�s֥b���fڭ��\n�yzk�W�D����|{����߹Ph/6�B7�,""_}qU��������x�fzBRқZwfl}d�!�Dt���[a񏆺`"��9�ҕ�<���K�vK�FZ���iÉ#
C'�l�>V��K���*]	����V����YY������O}��k��Fx_)TIKq�s��1�켒������%W2)��EFT��ҋu��{�'_���T޴y�c�a�Ѐ�V0�8Fc͢x�ݾ��lV��B|S����e�b�xO��k ��e*��1kUm��_��[�u����<@�V���2��yϕ+�;��
�����c�i����s�n�<�Q��Ne&8bR[��V�<�5y��Ҁ�Ń5&�g��L�(p�H��RbRlv�@T�/ӱ�#1s�Z���’�ow��wf9K��h��S��
6ٞ���RO��ٿ^<(cB
����F��G�C���)3�X9G��8�i����YEwGĔ�W�k�aL�'��k�>���ܶWk'>V儚O�DcּL>i�V��v��y�\��p����t���C%�����z����
�J=e���*u����,�޶ݜ֮�Zՙ��e��"i��+"�ݔ\�-:%2�ؒ��3�bj�}�TB"�n]������rBt2t���dx���p*�_�!O��`�ϔ��	�o嶣	����-�P��e�Ԇ�$�x��;_�ג�QĢ�^E^T��6��֖,��S{6��;S�L�d,e�;��/xv�\١��g�r�[%
��-O�Hm�����w�*��}�h���2���C�������y�G�<�@w'h�G��[��-����-�9bgf���5�w�
Y͊ e7kȶ2C�Ź�E$�*9&9fD`j|sqx����М� ���cg������H�,���Xղ�y�+UZ;_ʏQr,��yK�`(ޤ{����XV!4�)x����x�;$!i˂��Y���y402ؕM1B��y9)�(E�t�Ř� �w����Ԟ��A�tBPZ�|N,'U	�XP�fu��*���;j5k��=?�uH`��㤎���-eX��}��g���� ;�U�G��\�OY
�l'P��[P%Oq	�+��ll�����q�n��3�����&�z���xB�_\�c����a�1��
�.b�˾={���fOgS��Fe�X����
��z�ԩ����
�cɎ�r�|��ۋ��b='ԏ-N�;b�b��5�%ҿ94��K��эC@�"�tC�Җ�~|��c����n�1E�G����MIpj��
aHF�6NP�B,��_s�ܼ\�H��'�Tk�"�%�G�y@v3�h�<�.[�����@�#�0���mwv��l87`���͔
�̧f�ݦ-O��>5����4����̚�#��gĽgvHRH�S���J8Ľז\�
�ϸU�L_]a,��i�D�O�f�7s-3�e5>eg8G�D�]�B~3݈�����9=6V��o�cL�l�.�v$�U鑓�r��äL�ˌrsSz*�D��l��z�ޕ�:�&�2�*���E�A�_�S#E��GlA݃�	�wY��:��[�^�kEԼ�Y��kD��W"�b�5P۩*ٗ����1�4��
��������v�w�@�:��}f��X9�l0fM-�Ϳms��C)f���nfN��F�aaI�[�	6;�[�j7�z��ګ]a�yիL�}�/�n���%���m3&/�+�1$��ć�BVk�m�ī#���2�q~�ǚ�i"W��z����d�SF%�v��̓Z����7��4{t��x�ۺ>�&��>:���J�xn��m`M]�����V�Ay2��^Md�rƙ���
���Ҫ!��9�򇁏���.�=�A��7k��<^�� fB�WQ�&��������^�"�\���+�)edz�,)�Znn䁇�-���-',��|��>N6ӘϘTx,Y-3,���O�s�a*	�ɬ��?��A_�-�����sl�6�R�!�>l�b���ס]�V�rcYS#S�`���Ô��`���z���

4m{[�$��P=�p��+;����ћ�XG���Yc=�r��z�E�	�.٪??�Q��R�q�W��IŘ�hGtx9���(ƒ�/�
�n1.s	u��x�19o�5�]H*��KK[9�D߱D�Q�p�/���Y���*��}���[`�UJ9�Hf�@U$�G@�gb�Y+��t���L�щ����*���I����c�`6���&�-4Mxe{�"(��+B��"?'��'���R�X�y�#�p#�UFtf��S<�+?�WǍ�J��|5#P����fEϋ��@��f�
4 c
Dڬ7K�`"���mC؅��2�W����;ݢ5�̭���ER�
!��5��ӲW��)���3�IP<#�����VX�w�I:[��k4�o�rm�:
a�&t-+�#��Ɵ"9�o�&�A:�[K�tn�mj��4��쯘����Yfc��j�bCȦ���n���Sn�93�	;7Pa����_��+�/�m�k�x��U/Y��~�;ˆm�zC�V�L��#��ԖMlR�3@%iX��0��l��
�]H_j�ܑ�G3�%�`9�x
P�t�d:��Xf�j��^�;
�a���Ng�pV�=��n���˃>�,��?kx�7�#���� �ԓ>�bJ�W�kl{z������|<5��D�̇��p9�&;x=j���:�4d��J��-PX�ѫ~�Fx������Z�l�t�����ܣOE�Q*8A������s�����a��g�g�����j+�s�a���^�yzA�I�|jyB��,7~d"tI�>���݃}
�e�ħ->�CE���Cʑ������"�����ړf�Q������}(m,e��#��������16��c'������/7���t�Ú�	�$9X��X.���4oڼU�Z����v��]�_g��p�,-�Q�AT�Შ��	*���3U$��Ƅv7o�G`�ir
`��1����Ҭ�s�Gw
9���
\E|[,�#�J�b�u�]���
af#ٚ�O3�<tǶ����WnLM�n�����&"�Ʀ߈܊b����Ӆ���1�|Q���\��jPS+��
]F�;a(���#�-���bK��(�i:��3���5MK�VU�ɚ*���u{ѩ���ފ-nG\QG�H#'@�@��g%m�O��e��T�|�ל��=��wv�RGAff�)�MDI1n8fHl�z�'�,�:��6e�Q�Tt����YVXU*���&�f���;�]���B�|��3��p��֧�z ں�ѧK���f~eT�_��w5��$p����W�F�KU��ػ�D�a��C9_�"}|Z>���Ϭ���/�xk�j�L�f���S�c�'��+�w��8�-�0���~>"��)�{a>%dx�����*���n}���5γ��.^��sv�:�4I��aH	�|L�ZKatP�t�����5V��I�nXYd��+��n�`ee�����C��3�{ԫ;O��jC$�o�΍۾�Vv{�i�3$��/�s��*���߻��+�j�5�I��=��]���֣#	+�	J�}�/gv��`<�DfJo�������X�c����v��Rڦ��{�N�Z��z�)\���Ue��pbj����@2�]���S ��W��C�8���n�4B���_��_��Gp�j�G����g��WQ��
te4M���?�;8�>ұg��p���MӒ���ϝ�=j�^�`[�����ۢ����pbo{v|�>�'����>�����Xd9^�@��Z�a/I(����U��W�|��6��Q��xs�>�����1�'ݟ�6�����3����k���!C×[G
�{�h�%������n�w>�לM
J�ZS�-�h����Q@�i(�
�	�M�A6���˩q�%[���d��e�Li�z�ߕ�'��|�m�_�5�[-ڏ�l�0*��fE��\��Q �_JV�Wu��:E�(��I�Z#�v-��EN��o=���߽u���g�HBw�T�k7�9RH%��(VE��:�۪�W��9�>"|sLmA�wG|��
�il*uf�SQ	�X���:��9�����r�4`s����4ۆ�dFG
$�M�~6/K��5�<�׏���\#_|�O�]��8�S˧G�|T-�/%�����Ʌ�ynJ�����Ŝ;�]�6��
�d��<��}��ը�>p|)�܀���a��ä��r]�f>��.�:���#��]����k{eޕqY�2!��f�6���_�����OZ�i6)�����q���xm����
o�O��g�w,aӼ���q�\f��k�R0��Kϱ�	,Q�Q�9�X��/x7oִ?�-�on�*�w�={���ELn:v�	or���iTp�R�*Q�-��}��IZ��7�5y��ť�QP'6-�0�E���{(c���9i�ěK3��=L�d�p�ƞUF��d��?�:X��a���J�#��,��ӣ‘<�jO�zu#	d��!K��.�R#e��P�fs
���2RSZa��2@��'�,#-�t�6�8t��a�{|H�˰��%1R�]�㶩|<���51f;�(��Iv[h�|ߒ�a@_>��0����|(��٘ڶ�*'��p�Ƿu�7������f1f
!c`�&�����?���G�!\W١�N��K�U(vG���TÓ<�����<HWfݗ�g�>_M��j���(��g�VƳ���(���.l
?9��m�����w0h��W��
%y�^��ܧl�z��Pq�P^
؅�AY)�l�<>8
���M�
���n��Wي�lՁbA&�=V!%��]�\[,��g��H������ "- h球�O7g|��F���?�f4ۍ��烣}��`F9NG�`��j��͂8[1<)'�-���`��7���\��΃U��%S����Ӄ *��g��cbS%}�K�@A�x֪�z�tc*qD�o�hu��y�6E�w��F�P�M+�i��q;-u<��'���P�̣/3���4���^mh�X�=�;	hE��>"��bR��y��l�|���q���*J�'�Udˇ��L;__�<5���Z|ac��
~$XH�(�o��P#���ˮ�6wac�{�6/q�����6���d۝Y{r��RԬ�l
ҥl�|�u�MxR
����Y�EkӱөQ�y�\�20j�#�q�ng~��`^�'&,�b<	_��⠩E��z������5������eoWT[�hmߺ�O�,:P�~��v�[��P�������.�h
�Yڵ�$`��i^�����λ�����vϝ�93'�wV�<�O����jQ�����o�⢦����R�D�d+�R���I**���i��O�rA�i�������i�eEc�!��s�Gz�x�tu.��5�	���àY�eM7/����A��>����]�q����ڤ"Qs&W!�I]f�#R���h��#F��N;P[j	����E*I� 5����|��c���g�
���bk9�}P�7.W��@<dW��|G���/ 
��4��q?�}�k:����^���p+�1Չl|���z
�A����p�����E,9��P��u]���
��勒��U��U���~�q@�k<d��WR~�|�\U��[v<�g	o���7ĕiz��h:h�hc̜�.�/#�U(S�a�J)�-jV���Jו7�28��������'b�ʪ�T �pɵ�F>�lcwqw�__�T[�����7����Vܙ#��I)�B�a���z|\ף���5�'^�/T0�k�ـl�"�4M��ߏp�LI.""�J��;h�tC@G�y�u=�f\_E1j�y�'O�7㺪����l�Y�3:5�8�S�((�P�%���ߥ�{0C�4�����q�}烙y
�t��*+)*�]�
V�d���c���N!�[E�K7�tǸ��c�R��8�i��F�\ԏ���9��ДO1Z�,][��`8���A�O���[;�~sᑿ^�����S���({؞U�ө�q��2�(���fy�bN��)��2Ǘ
1��eMQN�A�%�����/�K��%%(O��-��	q1ˎ�s"j�2�FBѻ	�OW��B�n�,-Y�F1`N�ؙ8<Сv����S
��̬.�*w9��V}�Y��
�t��o��
�Y��]�.�!e�tSC!y�3�̡�)�L��S|Yς��p�O��=����_��+ZJ��9p�����k���z.vod0h����_iLD���=y�3S��[�����tQ ���z�O����{f6��ӝ�'e�6_k����0-�0�VY:y�[�����`���*�F���ߛ[p�~gXL�-��~�
�ո�h�$A�-^*��8$�h�`ѫ�o(��o�y>)���O���.�#�n���n"@�������l=�i�]��
�c����gw^��Z�2�����e��.������v�<n{������ڷ�~)�o�y(G��A�\���<O��3�`[��j�W�67��~psKӍ����\�u�<Y�g�li���Ee��z%�d`=���l!dX��vUc�YO�:u�����.6İ�N&����J+q"��s�뵡S�8�N�w�XL�b���M@�$����8dz
U�FO��~YŒЬ$�C^p�⡀1�-;Z�p���}+ ׷�6tߝ=�Z�.��@v].4�;�ϝ-)ޯ�lc�2�yg�>b��da���Gk^�G�K�DȊ��tգ���H�!l�=ak{6�v������D;�����6��x{򃐗|Ǥ��0M�Ob���֡ME�7�9���rf2?"r��ћ'%-�U6�@��ݚ:�Qe�W���,~�^�|�W����K���N�_{-ѡ�˟heFuy����e���M�Ǔ(�-��i�������4b򑫷W$бFU�m,�k��װ#c4��S��Iى��W̡ί!�l��,GBW�m͜��>���:n���j�&�ћ~>P˽7Av�s�*$4�DCe�o}2� Y�����L��	�5�&��8��M��?��1G������+��goj�LqM���lڦ#%��N2��!����t���.�gm�i��J�؜7+��s赸��G��]�x��Y���&c�W��,�����Eu�y��pތ�C�r�l�|iJ1f@���y߬��X}�3�r��6q��v�8V3�G��pj[���"I]Z�@4z���@��f�3R�|�h�t�<e�@):%�QM�2f�2m���gK���f@���9/�
y�4΍������|.��~�COo׼�J�m�����?�Xv}�O5.���q|4|�4�j��r&�U��Wh~Z�I\D����b!����
WP���	|�x��Cs�v�B2�L(�.w��iV�3Ɉ��gv� �3K�r��)	�
��?<�`�-���}(1
skg	ڛ���*��$��Y�M�����^�� �|!&�Sr���/�\�F`��~�I�"�|�[��|wv���!
J@p!����C5����g�>�E����8ƨ
m���\3o;�͔j��k�=O2=۾�yxߔ���e�Q�ti� 3��L��|�Vc���YI�i�@�*�6���A;K��I6_���%��e���r���u����k0Bv%���(�j٢��G��1�ާ�{$�i���z���0�m�;�0Pɷ�hݯK
����,����JuH�b�B�Zw�4sJc2�b�4�T1���N���{�f'�$�U,r��X���V���B�
�~�J�V����y�h��D|�^o���~���d��S�4�YZ����p���Y�~T���.�<�畨n�T��9�����Re!)4�}Ѝ��7�<�0$9�n��t^�u%{}��R��y��-����ߑ�H)��{�`o��q��X�W�z���z>x�Ɖmc�r���a�=h�M�̴Պ��)%���'2rc�ό	N��l��|q㓲�J9���"����|`)|I:B�j���;M�E@��^�����;z��$kN� ~7���(��P�]n�c>�ʝ�~��W�C�G:����vY�:�W/ܦ�JVǠ�#����>2/ý�<t�B+�UH$i��y
���
)�:(����^�����i-W���ld^��T�����S��Xz'Bzqظ�#1����:�D��%�}*���,��9�a���ۘ�����~��O��h��֟}*��`L�ԅ�-9ً-#���M#�k�NP��ۀ��
��16���.����1����6�#��mP{�={\��~�_1%"��+ǘ*/�G9�~����S{�v�
v[�_�]�>����2Ѓ(�I*�����R���\���4�u�їP�P��ZSѣ�4��_����?\F���N�1{I�������p�j�7���fd��TN�t�%��*KuK��H�d.�|�ڝ7������Z1�G\�NX���2�(~{b���w-�
	z!���O���9�̈�M��ف���r��o�"/mX�)��M�5��T��댎�� ��h.��j��q�,�'��/��%�cY}���Ͳ�#+h[ị��=#]L|�JS�1:41k
8��H~�|��p������i��<2�g��d��s�!t�	��9�6�XL�db}E7������X>�K�f�-��X�����}{<�Q�'S�(y�$c������H�"v��*�L�u�tp)'���BNR�ss�Vk�mp��~Sn,ؙ:S@�%A�s,3>�9WM7��FjS:iV.���?��f��O�s����A��WQ�4�
��?-��� ��Js�Ȗ^��C��`н����J<��;��t}������?aoK��H����KZ%I9� ��S����x�KBV��_��������'��8P:z$)��r�N8C�6�\��H4\��q��L,�/�A��
0 �Ţlf�ڞR����	 �kj���}�m��E8��xg>E����M�>n�'���<����x/Z��j��Ԕ��5~4h��#�~M8�+�ꂈbq�9N�k<��f�����Z'
�1�n/�5,/�8�7�daKm��A5�
��j���A��b�IB����4�q�n�b!!�%�b�=�yQxʽ�M
B��
	f K��/�6�R�Ί)Z�9"_7���e��'�Q�QK�N��tq=?z�N��-�4���]L�'.�i��b�B��GD�8���<�7�d�F��E��Jx�����Kd�2��eQ��B�y���o����Ϯn�ߞ9"</�'��+�SMZpޭ*GT��ǚO�.[��1)%��b�C/C��P���3���aw�!/�9�$
�&��f!#14BX	s��%�,��	�&cv�F\+�RO;��c�״*��5�(a��͔��k>?(��c��Qv6���g�r������}��0��]`�����vrFlD3�J}�-.��G�׹�.?M���l���Q׻U8�7~1��Kwg�Q[5�FaC��s<���x���^��A���0$PÛ�6Z�f�0����+�%��?.��b��{��ƚ�N��I=��Ʀ�,�"�x�`r�tjw
r��W�F�CR�+N�3��r&IGw�,86�6Kh����6gξ��.���������4��V�f9�*ʪAi,�t5%�,�<il�Nv��[�mp�����l�BsB��xT�l�6�}fFn�	�x6mF�o9%�v
���N�#��2�b��77��nc���q�S�wP�nz�ur�w���	�<��I��Ϟ��	�(=�s�Jc���}���Vh�������A��8�ҾM���s�.ң����4��m� \NE����
�y���)9��1��+��k��ۧ�{Q�,��%���I��a��i��NpAw�ݹ� �^c��ׄ�$��[)�B{fr�Ҷ��˼4Ɵ���}#H��	V i(4���@�踖B�;����l1���xS~�j��	Qpi2�	�8�oo3�H��4����˓�U2��&}^
U�{��Tc>�s�̶��ʲ-Y�
���B�<@�&F���e���`(���}�R�ǯ�a�ۿ�x]c���~ �-3o��H8���⣣ ZiI�U_�p\z-P�I���$���2�4qR��/��`���%}ܶ���x7x�����ᆇ��V��=_K�O�m��
��Yx�j9l_({�MP��W����s�1+�2Z���󭠾n�S�"��mV�Q�_O����[�ֱPY�B;((����D�[f��ɀ:'<��ʵ*��<E�L�s�L��!��a"\�k-M[D_`���ủJ��m��vO�4�R��%L���C��M5_����N��,��״�
�p�F9�!]��i=fZ`�6K��Z��YF���v��9�al��H?+����fKQRڌ��y��6�6���;@`׊6��jbȓ�i���c�s��#��9)*����,�_"�N�##�F�$+���f��vf�Vʻ�����+l�����3K^/::HW�拖�_9�V��c�W��0f���ح��~ɑ�#�1M��O�%e�rC�}3�����`�5��lf��h��N����x��{s`��*$�����E��bZ��\>W	����H��\�f^���χ5g���^�(8+`d�C��3���M.��p��J����73�������6;�s�
���/����Hn�YH�N�x�f
��DԌ�s�-�l^��YBt1ɂ�������ȃ�#�"��$����,�
�ģ|�|=��h�
�]�'�y0��t?)]ƫ��A��N���F�;�ܙ��Н��64a��f��5�>���������G$M@��D���s}�Ʒ�������%��?���f>�Uv����_0���F�Wz,�DC�D��"�+6u��vtT��������/�����;���7�&�!�;�J�C�~U��_�t_;{>fy�0�1�1�m�_����vU�T!�1��q�{�&cl�$WV�(��گ�,�0v2֔�������Y��&�+�26��z��Y
��P -D+\�š,Fݠ|��ţ���A�|qժ#w�~7c�3��Rx��9*���w����e1+��Q>b�1
Cܤ�˛(?������|�$Fg4� [}8!m/>͜��B�=I�OUG�	uKuV�;Mo-���7�ܪ�j[�ɔƱz�V
}�s<+lnY��"�Ґ��m�NwE��X���Xl��ܒ�6�!6ڧ�G�ꑣzţ����@�U�gކM��vEpx�Ȁ;�|+F��'��wP[�c��K+Z�權��)*���%�;��Ω0ǽ�]mWȄH���nt��
���z���ɶзe�Pצ���N<.�g��p���CA���(��<���q�
ø]e�H��0�l�!rF]���S�HN�u�wX��f�QV��	�KN�{�3�QF�O�dH�~f�Ѹx2�ZP�[S�/Ô���|�'���>5W�"F�\mɸˇl��I:Y�|P�8���gWhв�l��=)�&�����2�&��`�J�
����n�NQ���,7�#��L����a��ŗ)�r�dI��^t:6�GҏC�|��4����h�6��ךP4�f���=�7�+�N�h����gtț	�ι����g��4�f�_�jϧ6r7���+������c�gp�_���j"������u�� �*�e���8N���4����
Z�� Q�Ji�i�{i�+R&;�8�؍?;�t�~gv�<��9�3��$�[�Y�ϛ�H�Zꯀ(%�k��+����V��_���wh�y���]b�8�=s��7e~Rn�!�͓�t=�������c7�&W�jUKm�W�.o1���c��O���:�ף�_�.�7��p�@�jR2cU2�Qr�z�lŎ��*gŃ��a�>-6�J5�����t��	d{v����U�Y��@�pΏ'.o�p�w;��Π��dl^�Hb�Ͽsvt�T����L�����O�Y�r�9@���V���
���W����+y�(|C]��A�xvh5B�ӵ����4�
�n�9�����S�&\�~��s8T,|k�[�
bJ�m72o�-T�����,����$d
^&&g,rI%_�@E}���)�$�:t"!R8������f1�?,�ق�W�q�	�"��KpMsi�;d��[d�L��b,�is|���.��՗q�.�QD��1��ȩ�/p7d}��	^��yE�M;γ˰j�❖�+��*�h�Wɂ�(3�|�����D=d$^�6�C�/�TL���<�y$;�x|L�:P�-��dn`a�z��H�����M!�8�i>��k>6ZVoX<�_o�
QamMS)ʓ �
4b�Y
MGB�`&=9(�|�c�c�ߦ�dA��l;;�hE�ˬ��vqM;k��J������
��\��܉=:뒼m���_g�E.�^fv�q~�b\x����1��tU��K'��+��>�Ʊ��'aǺ�4B��+�-OR�sbW;6��F !?A����rt�ƬE���wkg�פJ��
�ފ���Q���a9�I�S|^�-�G�.[�w��ٿ}ʺX�@n���؆rNy46��"���{X��
O��bl��. V�����:9�A
���Nu�
E���Ò~K{����5�sa5��^��ul|Κ��F���"�&�J�p�Q�(}��\�E�)�yC�6D�,�aM1
=C�̎�OQ����U�A�mfT��,dvh�.��]Oy���z��1���*�`�((,�tY��,E�Opx��)&�u�]����MKw>@������H�@���q�rR���c��P.��ڌQ�o���,e�m����De⾋"`6i�ş�t}����|��� ���N�>,uc)z��V�–��x�\��.�\���ٔ�(�졳��x�li��uV�����A��V\W���
�p���f��O%��@�zG�ج�|��}�tB�p\Wr�����:���	w�#��\ƍ�A4;Up��Vn��A�Dxm�/��!�`Jݢryۧ����g5)�^���)�j�l���
�g5���)^�8����NL1���˜���و]�*�0���b�༒�2総�S�F����nQ�F����1˔�9\�5,uK
�'���K��깿�?�=՟]�wa�~��)@zw�nlɅ�L��76�}�fhY�ar�
�c�m���ژ��$~�Ƣ���ԶҠ���D�11O�ƥ1�#����tIK)*o���^n�,��O����~7^��#��w��fQ�t��4*̐��5"e��3�PM7�k�v�̕`48X*��hɸ��c���f�׍	�J�b'=�Q�~����7W��9:=�*�J���۩R���ʋ�j;��Nx88e�I�Z+n���*2���:n���ܥBRg��E��
�{�� ��R���SWm�LK����߬]��0��LV�����r?œe��}��(,~S�y�Jo�O5%[�?@����N��p‚�؛�{���mV
ـi�������ʱv�1�S��Q|�`'�"�fn�q'��8���e|Z�Ï�n?����k<�Dt�j�<���[C�{�]�t���O��?��~��u}��[��Ç�&�G��Y�"��P4�:�X'׻�J�6@��|e=~�8G]�s���/�����b͟!.��Ft�#����ŋ����!�B��k����T���'׵����W[q�c��@CV5w�n�H0�:�NՅ�
~��c��Y��~��3h7��|k���ot�.����v�ֻ�a
��ե�:�fLӌ���"`S��0�n��/�z���"�KA8P�K��ΐ�A(D�z`q:���k@eBJ���َ[[N?��ά�W��$��6<Ah;�hJF�4''�.>Rqb��|3[砤����4��A�����1�Sf�����lqAF�@�=��$F
Y�4Ŷ��������Ə�׷����#��|���+��*V`�Tk��5S�w�N�����[yJ=��B�os�(@�^�#�2����_���r<�7I�	2�Kh36izo�L�RG�-��y��_�$�n��UqF6����};����[;��e4���/y��7 ���a������7��B�sM�Cy�|RZ�s�M�LKé�R�k��UAx>�.���5�1���f�s1� _i��f���9��+��T�mK��
)0��Y�U��XB���nz
d����¦�p�w�׋	yii��挸�H�4��6ip���i���2"/��i����A5j���t�9�X�q4�f$ʘuE�D�eP9+�������F��1��-��@�l��^��٠�g�EN,��ږ&LJڣ�0��7�vV�	)��
�5�@�萑�е�ι�Dt�8Vҥ͎�E�����%4dkzѱ?�?��4�˘��3ʺK�B�/�$��M�A�=*��)y�I\�6��A�d�@�q(�5iʘ�O����d(%�Y�X�&��u%Kn�P*}ٟ��V����<n�>��Py����'|1��S��gK��e:��nN���T����T%9���|�T� w��œ������G":�����ߙ�eP/ʔڌN��|�i *w~�6�}��-n9��ر�~p�#�uI�an�WO��/5cϨ��w|M���������y�ij�~�y�2g7�}l��g�r��;jfG3b�L�
q��:Օ6rx�'����C_t`��`��!��A�7�k|PKs���e���@>�s����1���wQp*�}zrܯ�c؟ys���V�ãN"���ڣ-�=9�-��_�����p��O���~�����8:DҾ:�s7݃)U��KeY_]6%���*�`e�,�t�Y����Y�H��m���Y�K�E��,Ó~�0jV��!T��>�]Gb��=���3K��5yG��}躼Ț���5Lo�����jU�
u��F����T_�wNu6TS�j5R��p)\A��aL��f��t�L�&����ws� �Ml��c�)�D$��g_	+*�x�|�q
[C�Xѵ�a�4Vw���0/M�#�V�6:�җd�8QT�GX�%�v�JN/�՗�s47�R�]-����E�U�v
_��%����HR�x_�z����53s���r�<q��n�rDZXƑ9��:��"��[W����E�O��q�m��4�_�u "7��/]�aMV����OyK@�ҙ1�:�Su0p��%c�Jv���$��%q��k�
Ob�r�t�iT�(G{�~��4j�w3{і\MB��Bۛ��L|I���K��œs`ˡ��f�㬡V���xaf%����+O:^1��9�A�-^Ͼ	�o��V�4n��5s����dc�/��
2��U����I��Ë�9zD@<���i�-��(=��H��G���y��]*V=���i�0o&>jB��]�F`z��/l��c�0'�n�0��J��MA��l�R��Z��PS}�����m��tnHd�HɉV�8�7��W�z��sY2cWPJ�%�?�rWҵ��'�F
����-�$�*"v��p��jP�΃�&�� �%Y����E�|�JR#
�'�F^븽�Þ�Z�f�o%�p��Mb�F#�U�M9�-�ݡ=�˩|���D���L�,yC�!��YR���m�a;���44m�V8��,�hq3W�ˡFC����F'�{�~E2�R��<��b�Ÿ�PʎK�@�YP��c��k�
K��S����9L�*Ǟ5ƈ�d��oW�)ϕ�{C;����P 9w���d#w�5��>�"�X�0��(!@߸�l�7�e�]���K�2٥>�L?v���߈ԫm�t��Y12~H�L�<����h�;��M��6����?���k�t����k���H}��Ix��Q�s�ߙ�<Ti�5T�D���1�Q�"C`�d��
�ܶ�����mJ���u�&��}~�����ϩ �.�&g賱e���D�W�=C�ы��U���?�"0N�����z��|{��$��I1q[m8'!mG۪�Cml��ofۭR�>�>��.!�
��_W���X�y묁:�g͙��6�ۡ��v��T��a��>��9TF�	�<w7ƁMx�/#����]��Цs��$��6��n�@>���P��?��sg(��m|�Z>ZX��nvq�3	����r=�

�M#<T�\�Q@09Gٹ��� W������t�:�@��#x��;p�8f�
z�Ak��Z���5Θ3ҳ��@�������C�F�KE��"L�E�D��qJ嚭-)�a�,�?L!"%�D����9<��
�b�TB�_b��&��|�(l�
�f�h{uS��ޒŕ�H��P~vP�>�d��Q��5�aPmw�X2�ܘ��հ�z��j��B�kLx�̷.!a�5NV��fP硅+��eE��Z�^�
�a�I�6���n<��{T�"��W	'b�&u��m�Ymf�ǣv#��f���)��8��]���̜�B�m8$z&��I�[̵M@#Fw�-t���A�{���,��k���-���2��
KŠ���vB(+���I��w[�^���q����d�璞�ID�̾A�>�e���a�s�'�Cr���5�q�c�����$�;��440�X�go����n�T��Sd�3�_�����ڶ�kڪߡk
��qW�a����	����CRo�桺�3�}���;�u�iN��I�x�x�q�9���t�:����/�̱���V��r���ܬD�Yʆ� �Ż\���)D��Gsvlm}n����m�&<���^�}����9�tN*�$?%ŒGD񒛍1?�_Y�Cˣ�06`��ǃ֟O�Z���f�	4�A��45��C*����dv!�o����@1��,�&ial��N6�>���-�����9[h���hc,L:a��U���j��A�R�kat��N�yc	P�6+z�H+��8 ��m�*w4�.�yR��:s���=�Ҹ帨�Š�!x�G�;M�5M\�5��� n�Prxq�\ϷDD1���zK���\�ǁ��x��B�4���>I���:�:j�
��."g@O�<���&�D�P	�9`ɽ؟K�ؾ�Tͨ��8π�^po�4����i��eީ+����Q36<�o�>n)9~�l�f�����;�����%yhX�1b7U/�`78�a��
t�_�2a}��'�#ֲ�ڻv��t���g�S�TCP��u�<���������yf�1��'D�7�H��|D��h�Rْ�M�70��3|�+=��wn#��2��e0��R��2�W�\���j�=d?���A'����D��&^���?<yPY>M�%]��S9���'�(�֟��Xw�7W�;�D���#2�濌a����a�_J@�=j�)�6�r�J�ӂ�M�_�WDY��Nf��gP�\6@<+�~ϳeu]q|����T�Ն������IB���7�? ���f3��})'��D2EWYПז�1HV�3FM�}�JYp���ʬ����|4;ɒ�`��l��J\`����-W��K��b�mwV�sF!
�\w̒��z]m�m��jNŹ�f)�5��JM�ф63<���PɌ�s�S���v$���2R�\�SEYn���".�S#���r:�J�����(D�s��*�<��VJ�U����4�:=��5
~4��,K&P��f�f��=���sRcU|Md13=���dc�����H�*�qCS�FUZ�7����Z�d���	�@��Ła�������8�uD4&�4��M�8��׃�����Ҽ�%YYhq}����i!��=ѝ;��%\�t'�[6Mw�kf�mK�ٗ�Y�L���f, W�0n:��ރ<�t���PN厠øRag��Hlx��I��E��&�S����zv�o�'���@u-G���\�9�mTT!�%6���ԕ��Z������ ����@��8G
��?��^�u�Ih�)���|�5OB7ހ��5�'�Nb5a����{�֒���z���c���	k�d.8��
�������𴟀�Q_�b�ލ��_��2>�7қ%������f݇���0�&���|�U6^b��|��,Ѧ�Mz�5�-ئ'#�$`^�v��z>�G#qr55�/t���Ꝟ�{�����!��2[(�Ih�çiˁ��Q�>�"l����xd��DѤ	1����%��G����~D��e�*�U��Dž�w��6�-]	#qXF�}�c��ʜ��Wj�<q��5ʞ%�Rq��0bCz�,wI9ڿ�Nl���YZ�+�g�nǪ�)�_n�p���ij�����
K�Ǣ71��Iq���&#�l����ل<6�6'`�J����>X���nee6�o�	+��dU���*��kF���I3��~ro�Tv�vV�����H��0p�Q���͝E�߲ ���S<#�:�7L8���B�S{��F�֌�ޡ?�[	���qES[|4^I
@��b�H(�'s����-XϘ�ȫ��
\ӍOLi��a[<Ng���Z�,%��FFzp�PT��w�P��(10u	��<�4�ٺ����@
��P(R]���+Øa�	cz������m&L��=f�9�|'���{�g�Ky�[ļ�}z�_��y�OL���I{���.7�(�@q�f\��(��COY��Ge�v�ש�`:���
O��^�se��u4+�F�ve������Î��׌b������hp��[ݨ�A��upa��{��8-�~ӷ�����0qLI�ɗ)A�(�~+��'�s�]E�'4}���*CK�]z��ݎ��̥41ej�Jj��*����5��Nup�h��%D&��g���U��L6�1�r\9{c�?df���6��l�x���=zJ�~�ܜyS�W��h5]Z�B��'���T�Mm�߳�z~ g�r�i��V�.Rp�eG6���h�H��,|��p����|��:Uy�ҋ�~4.O�5\��註�0�Z#���{<rH�����=��m��d��~�ղ����H�pv����5�Ӻ�upvQYM�'V}��'�����b��S۽��-Ȝ� ]:����m��ۼ��ޖ�z[r�c�B��6w���0��	�BՎa:���R�q���U�����>�F��r+���$���`��$���)e�E���pJ	��PL�MmD@t	L�6��b�:�y+�w�������1�`�Vi���]z���Ml��/�f+���d{;֪_K{
�DN��K���-�MlR�
�g�e��I�����0����:�;�Nvk
Q�� Dv�9���tWk.%�єQ��W��!��tFԠ�$�,���(�M�x}$�n�V��ƜpV��4R���`��4W"<�=�+�/���ܞ�g�40�G��M|�YS0R8M~��p�I��j1i!]���|�<$�
�ϑ������*:��R��9s.�j\=�ʡ�K8�\ԥa�Q�X�\GP��Q�|Hgۼt�/�w.��m_��U��Ea��Z�nˆA���߰7׿�f�)؟�|�G�9�� ⇰(�+�vpT�AS�_l
DP�5����cj�+4��{h�yk�~,�T�X�"yJ���?�URpѢXj��|���i�>����~rT�xk�7S,b��I��S*0��Ԣ�1_
�d�L�r�����g�41�ҝ���LpM*�������bg=T$yj�Y���_�æ�Ռ���)|��~�#�4��ȓ{+1xi_Σ�d����!]���|�a���a�����j�U����+SVz�c��E(qXӎ7�+��ͦ71�lv���әR��N���-�G��M�G�g�b�5�V�3��ē|�n���~{P�p��=Ƈl���:4�f_�􀣚��uE����CUv�G����Bui��t�74r�
�u
~7�
�E��?��)�h0Q�
 �x)��fԷ{xrP��#1���uV�U}5�J�&�/��`��A/E؉ZtuJ�\��gB�_�1�`�Uc��__'��L4�ґYt�����Mh�D�
�=9��F=���[�0��1�F,o��YδKb�8�-O=~���yh;��A\� g��&���oń�Z0X/g͇n���(h�b@~Q:R�*h��h���,���� ��ԛ�xp��}=�`|2ht$8Hi:M���$ll��+�ڤ��$on��~'���t�X�N�����ٱ�Ym3s:�Jw�w�x��~`��~zO�痑���d���̂<`���&��vv�((�CO'8E��6׼h�1�:�ʪ�S�Fu�b��S
ŋ�i�U?��SW��Ÿ(���+|�o|j̚Gg��`,����˕��.���\�.�]�-#��7�F����J�a�R��W.���ﳱ�̩g�i
��"��?#,"I�qu�31��� ���<����0Z;?�+�g�Y!�'������F�:���ze>_��p��8.uD��6�
UƬ�"��#]n��&���J.���j�"���ʻ�ؽ�VF�nB��v�vPv�gK���⅜���7h����~
�o�����X�!
����,�S��|yLb�u!=�/�2_�8W]c� ��-K�ְm�=���`��?�-^����?vn�7�3뉜��̕1O��<����O��t�(u?��?�K����z�=#dΠ�{`(T4�U��N�|,�d�b�ڬ�<R;Ӣ�tR��`D�ѫ �2'��G�i"����>Ĝ����-�`P;}$�[C��܉�m>-�J��#(,��J�e�'�!�A"���~�t�g�rc�M]��Kj�<��fL��p<�Xj7�g�i��48m�_8�#�<�p�ѿX:�Q�����"�N�=�g�n��צ�?Xf�z�-o�:j	ѼJ��X�qG�����iS����.��π��<.��vmH�/DE���	��u�#O���{z=^�˵~�-�ΥDIooA��۲���6�'��4|�rͩ)Ɩ�òHSWZ��ܒ��*�)Pi|o�'�"4T����)<�N!�?:w���Iå?2[�o�i:���4P3O�����H�m�*]���!\oo>��|	Xf��q�ł�z̤�|�=�3��W���,sd��<�G��ƹD7�oz�DxZ!%�anQ��I�+�'f�Pc�C
<��Q��+��21���5@�~ಙWǫ*-Q�|��`�d���������7�l�/�?�'[;E8�S�w���5�릵
�|��S^c��'�mр�ۮ8mm`�䠗9��
��^ôv�]�:�G�]�����H�p�"���q��a����qo�4L��t�b&�h�4"=
o}c��:j__�������\r�Z�V'���<�a�,�`xҺr����Y�O����`�Ou��*�e6�W���WP��rp\���߲Qr�k��[T�	��^Yz�+)R��C·VC�M�T5�Z�����l7H�0�l�f�|f3������*j�[�i�6&��`��
�T����k�q��8/�|�֋HS[����h�߯#^���L՚�n��A��8�m4>J`07AüZ��/�*0D
�r�k[,8P����M���x�q�<�Kh8��I��	��A���#�ҷ�*]&�o���s ǎ�$
�
S($n,[�`��Kl�!��Gi���Z�4a/>Pu���h��1D�]2^�;���o�N^�yf&��A��0��BU��F��B1��#�T�k�È-
5P���O�!�[�5�ꚧ�T5z�Wї�B0�/R՟J��q�`�6Yté�SZy"���)\��8�F�=��y�ٶ1W�pC���p�u�y��@@��Ap��Z�D�{�wtw�|�7���M�voz7�>�U���赜Wg�ZO�:�{����6Mվ��td�G��f�����Y:&�Ԃ.O�ӣ�s�v]���v����3���~�S��ZNŶ�)�3l�S˔���@=�r^���|׷��I�ʥ9�<�9��ݕ�i��c��N�{5w�<���5wY����>�p�v�{�}\�_
6�F/�������#��NH$'+s,w��E�-m�P&;���g��"��N>	w^wc5^�Wˮ��/�o��3�%+�����)�����8���;�Nȁ�T>C����sE��u�z6�Z��m�d��A�L{[����i˾�a9�
���O��t�l7:O&�C'K�(��+���-�?<	Z;�?ج��5ؾ�<jx�h���g��x[�o/��ǎ����Vq��y�ng�unp-�Nk>���[�Y�.��Í�����]�@�va
c!����͈;L�ԝc�W�#B�f��s�mB�<��E��!rd���
�
�qK%P����L��%�>v�h�`B�w�DT�V�	�\�2d�ɳ��KŸ0��IfD^�f�n�<�,���O6�����/ְ`��9 �-z`5�	���'����tV\>�X��#$��%;w�x�,d6�I��z.?��B��haG�AcP=	Ԛ�:��PԺ�.�R�I�e{KW9�����UpEUa��4yo���+ҽzt�az�)]*��i(��m��/�in^�W�RB��)-�_;@�7�$���qOx��q�eߗ���B��3�$���<�f��g��K�3��<y}}��f�xZ���N�g\gvѕ�u̡��6C���Q& 4�a�K��^�w���|$�m<�U��{���[�+�T�Oܸj����F^$���_��0VxV��1�
�'���Z��Q�M�S?!%���
��g�Y�v�Y�P2&
��'��	��P���n<�Q2�
hF2@JA ���߫k�&���M.6)����	�t�4]N/��_I�wv0_r���F��teL�B���"�˛JHPΨ�Uz�&#�$&zO�~f#���]F��N�E>܃���r!'�HF`T�l�c2��Ҽ��7�8Ԡ�Cw���ns"�Ñ|/L��$��y���sK6Of�;�/r��9��a�e%�@�yyv3g��ƌ786B�;h�ME��U������[9T-O�5:v���	5���eC0v���+:}29;�-�\�C*8Cx��73nۙm���I���2��
����)ʗ�����eH骇R:A* w*�oL2��9<Ⱦ�+s5UI[�F����Y��#��xߘ���'fq_�@�0R�4�1�M�z4�;���s�i��!s�ܺ[R�i7O�ڼӨ5O��!7��š��b�k-��Y{��D��P��뉧�2�5��7!ܣ��G���)i#����v	����@?�' �-�lU��4$��L����=��d��#M2X�z����J(uܚ�[��"�Ig��LN�
�s��X��c[j�	���\�!l���|3O��T]`k����(8�oB
�f���t0'�tDb���K��׹�%�<�d��a�5�*�Pk�6����ln�?n�>Ͼ[qi�=�;R��v�i;<��8�`�4JC�W�̱�>��iXR��R���$�l���1�l��fs�LS���"D��<��'�T�ZHP�u��A�2.��*I�9��o�Q
�<@o����G��1�7�h�����񅖄Iw��¯�j�iK��~d��/�`|���/oec����'"��r��mn��:�g�����kG�\DXmK�x����`�����?	�y�pT�����{=��Qt<��G,A@����N
�f��!P����<"}l�/��s�[ �(,�n��o��qc��}?Uh)�P#�h[G���(�1H��ͳ�|�음��C��,ZN�*�
}۵���yK��5��a��h�?~�w�����h�����kRq����c�k�h��^�ܾ�f�d��ٯ|�2�/e�$]�j�����+�9�_�b�*f���;�H1��B����G��>a�����4*O��Du4��I����2�@2����pM����=�Q���b�^�_����W0}|5�㭱z��x�Tk���dM��p1�"==��X�R�@�����[��46CD^�!be-`��';�d�T)*�& sY$�^��ܐ�m6.����b͠���3<Q�tGf�7J�OA*�u@*��B#2��bJ܍��gN*˧O�W`0��Wh��Gc��l	7�gW�,�1c�~cy��x|�N7�`
�*/F��cc��?��5�7i��B��ެ7K��Za!��~ގ�{��5)�*���&�|l�y�	`������� ��!��|�y0-��<)��j6�u��$�5�Y����G��T�gD�jT����8[R�;楤k'R��H�W�n4�N��ʫ��� �ž�M>�◣v4�}K'A!HϮn�`�}I����B�>S:�����d�����c��<soD׫X²�eP�,�����iOP�W���"���dqK��
o�Z�7����s�����yR��
���bd6�.����b�s��,�:%����1�#4���x�'˙�8|���ZY�H��eXޚ�z=�ҵCQ}Y�i���iӫ�܁�6�W�^���T�J~aeb.\
t��)%�]��^p�ߖpt:��`�(ޥn��;�洎�[��{��+�~P��k��,�/X�x�mu��%t
q;v�`�
~R�W:y�&��N�v591��#�����E�7�;�٫���ѱ��͜�˲�u�<���G8�3��:;�jq�r]����X{fu�_��*|\7�'�q`�\�Rn<�7�y	;V���B��{:�d/�����=l��bR&OO��b�QU[�Sy�q��c���=���o�Y�|��o�K;��iL
4v�+X�.	<�C�WՋʆ#ՙ#�*\�%�-ѳ!����#��ƭ<aߗc��Xt�;:�Jv&ș��x��m@�I��]�pő,�&S��N�G�95<��+�)�"�l�.��^�R��]��>��"��l&97��yz����8�YpS9<��[KIK�߻5��-
�	cC��>Y'�eS��������D6zH���8��e��^t~q�桎��f
W>)��N�ZZ��C�
��7k&4��	����$�(o��]��٧iv��ES�8��,�����گ�a�E�P�f�G�W�FjN�b"P�������ˏo��������w��W�q��5.gƈ"����x=J��8(�$
��%P��w�H'Kv/F�+���ON�?��i�3�>�,�QONV�ؽI�R����C#�[ՒK$`#�5"^�M�EuV�˶nT��S#ϑQƟ|)�<'��L*MMks��mT�do��A���"���w㏾�
��4��e�b@��T}�eY�����J�b{.�(B�1H�URP�F���rO��������0��=\�7��G'�����D�w.�V�"�p0<%��OD)�򪌝]��l�8'�)���'_�VĽ~g3i�WJ�����wecHf��,L���*ڴʦ�F��i���b�ZW�3���zdV}	�����
�v�&�(�-����ؘ���A�}��.B�m�7I��Ey�Y�(�d+Td��){��6غH S���
�h���y�%D�M_"I�]+mۿ$n�n��^=|�M��y��B�r�B�WS�wCh�#�|�h^����)��>|ysy}y�Y"U�>�.`;A]'97�<}����Gn!1M|�~�z���z���Z�����o��"t�/���yF�<FCh�#;Y�atdt�Cl���?�b+
u`�}]��vJ�HGs�q����~Ӝ��(͏�da�������X��i�H#���l��)#��s�Q�gd�x��_�����m�؉�/��>=�	���đ2�|��L�W�=�QO��ȱV���'�������Qvi<׏�ؘ'7i9Mllp�j3J[ȡ'�n)��1ځ�`���3���~c�L��p˔2�VLn6w�u^�욻�q�Zv�H�<[@k�,�-��3��6��%H�b��0�.<=<��_�?3����jc�\��y�E��_���\�g�X�ZeV����>��
E�W�E@R����>-�x
{Y��$�2��Jf�
zp��g;�u3u�ۉ���a�=Lu��#RW�������-��J?.��+�Q�g�mM����O& E�h���{���͟�l�z�U��懧�y�Ђ����ߺ�ON�k��oZ�a�I�7�D�L�FQ%8楹�P6j|}ʼn�;���..��ȉJ�Y�99���1!��x����96�t��>��:\.�diQ> ���q�'�H2�|��7�r�)�+'���D˗�a`��
��Bx�͘#u��$�EE-',ʔ.��wp�Wg�G�g�
�_�6@��U����93���ķ3
�F���e��ŋ���]w�:���%�=K6
�s����,�#�2����?��zʦ���-}�:Y�q��::s�Pxfˆ����x*�w���:Rœ@��ֿ1֞S���
���,
��*�
��WNQ/��!���D�,����_y�j"H��
�C��̋I:۝d������@�8��>�,��4�q��S�'}.{�`�#�M�Y���j3a����ڸ�ƴ�LX�ʵ�jYכ����Lٞ���9�X<�wKN�u	9��c0�VU.�k��P8��ohi8�iid�)���漈��f>ͦ��@�����kznG�M�S6$�7�!ҹ[�2��l�!$�7�+k�2��VI��7%����A ��)�LJ�3�c��5W�����k������h7�dH�
�D�d�K�">j�6?�WWeS"�8L�W$)`�؂i���X�E�� 
�+ʆ$_ѓB�F��F扞�1�+'.2Fcx����f�� l�/!����7�<-���!3/oGL'
ܛG}�m0]0���7`'e�#�:�d�$M��@�#�EPb]d`��
�F6�@>��Bɰ�}\nj�{���*-p���W��':
۫lV��IU�����
-(r�YQؚ5��(�u.�B�:�ĭǝ��7
���O�i-'_N�0;��2�rR��d���إy��*��7�g�`���\:�<��F����Y
WOI�Q�䝰B�~E�!cFw,�B�;q�lC�2PbvT'���
ƽi�8s?��k,��ϟ>�y������5\���3t��O7�N�uR���6{�eO!h$sP����������,�mV�§l�Tuh6Z[��_�0d+�.#<;��7��(�)���[ї�E0�@���L���(OZ( +J�z;����=r|p��4`i*��<�|�o���i��&��`��v�	h�}Vh�)�6;A��)H����22ݷ�.���������A���J��$۽�e�����讵f�G��q�e�@�
=<O�yi�Fi>E?>T�]���qDF���2՟�`!���c�>aE,;�Qz̚׎@66��3�q�%�J�Y�֖����z�I����Ϳ�aD��<!敓?���PC��$�#���C}�m��0`�Ff���ex_�f1l�Qu P`R;��D��٭��Am�;5�����F�����{Ⱦ���мR,�5�(�<b��J�A~&Y���I���)S_�OH��j�ETb���9�xzz��c�����5
.�كS�:�#:�+��;q^���!Ӓ��
"J��/�-֓VJ
?�1Aety�"��$_�/;��)� ��?���~��O��fl�Ѻ�kFVLٶV�B�۲;S��/��=����Kc�f�FTŦ�K�_����iO`P�����GVN��x�ެ6/�l�Ɯ]r7:�;���B�d�f#�%|M_="��B��,`�‘�z0ܭJz���GhVv8y	�W����0�95��r|x�V��L��=Y��i���S�"0S�C�>H�3”Sg����L/��g�G&7(*@�$��
��f�Zb�	%cL{��ן������7�ƀ�f���-^����'0e=h��b@=�P���w�H�7���o���}/f���]��3�9l�ų	��t�݌�l�JE��̂Iݷ�Z��w�:NE��].ty�M���!��8޼:g�DJ��s8I�����@��goPg�����SÃJ�,���m18���i7g"a+6�)~g���UR�$����Sg1Œ
v	R9NK*=���
iD�Z�p'>�o$E�/7�e�^�<v�a�J�b�"��Y
�ؿ$o�&f���z�Y~r�*P��X�j5��^�%%�e,b�.�=�iN�k��;���E1<�l}�/�q�Y��F�	&F������\�RI�4g��G�W(��Q��v)	uw��#����Xcr���C��=��
ۉO�����n�]B��(��.��OA$�-��a`W�ژsmk��Q�7n>&�P�uB�2/@�p*�;�q��	^�c��a�p�\������_�D�	&l��E`v�50
��/�y�3FK�/DD��qψ�����k��QS�uC��ܜD��zb޺�$!oF.(�Z�1j�<�i[
r�l����c���ն�(��v�A�'�ͅ�ٞ26���R���'�@���e1@;�]�MJ
�d
�h��T�s�G�u8������I�|�.��;v_s�ׯ�}p�R�� ���ow�*�X�f�5,#y�|5��㋇����j��ZI�(�(��+�>PO�0�J��F���r~�|4�F��#����T�o曹?{��(5��,yT��/^z_������,�:��oNL�&��rщ�l9{`��ZtϜJ�O����u�����aMR���3�� j���v�a��<D�"�(��t���5�D4�@�|Z$_xൎ��n��|�qV��	���"�����nա�q_����"`��P�s�b��#3���u1�Z��h���$���
d��8O�G��1����|��GLyiɝ�.�n�2�������9;w�����c���z����k���N&A�����Y�nr�U0��x �
Jy�y�x�=�R@��y���KԦ�4Y�'�<�\�O�G���u��H�5���v�m�\����j�2�N�@���2B�H<̖#ݫie����O��w<�����;�ޣ��_?��kf�+�\�[P�z�筰���o�!(��	s!�9�j{Ǘ�f��2eE����_9>����Z�U�c2�2�+��6��In��+aF�f��75�"���N,�)��!b1ʠT9�{>^O$
���=17�pp5�+�Xt�gD
*W�E��R�MsT-W����T[�N��Գ~[·�H���7Xj�E�^dw�p�Z��c�B[������tp�.�@����=����n�?4����1�L�ĭJt�A|�As���DX�)��q����U�l�%�-�Z�����I��w�4�u�
/�@���uI��3���z���y��!�2��⭟g�R�����i���R:|0�����-�
9q�l��A����ٸ#�ѝL�`z���s�\h,I2�8W��g�<�4� 2���y���)��2������8����t��
��n�X�!�	B;� ?����>���o
��HL�x�!��`��Ӑ���x�P^V�'���v�]!j�r� ��Il�<��tS�!N��iJ6]���C`;R��� ��{VIkBj,�Q��2�((t�5Hѻ�)��]�@�_&��Q�M�Nu�Gf&LiX�/�o73�)�9���L�	���&���z�0^����1�="�y��s�ƫ�[�sִX$8%��z��I]�1/���I��ˆZM���sȟS�Q��tk�k��j��wc\��I
�A�3p����s�m�v��<�Z�	��(xۡ��R��(�������gƛ�Exv������ɗ�ן��O�G�Bd/�C�6~��z��͛/ϒgo/?�]�;�:fH�Jb�\sԟ������5�Q�Z��G4�v��8��>���2Yp'���b)̫WUDGZ�@ދ�Hw�_�}o��:W���v���Q,����n�k��g8芸To4K�S"j�zc���Q�S�R�/�������-�TeW?�l�}s�E|y�6���qä���I�ȪoB�*�ʴ�"������& =a_`�k��+�%ܜ��y	#r&�3��.�BŴW-�;F1��j��ei�<��9�
�_:�F�Zsa�*PS��~�ۙ(Z\���8T��*;�Jǹ�Q$m�@���`���{WO�a!�Ře�	V�j��}_�ѱ�T$}(
^	�cŶwZk�+��G/�{ёK��6k�([�f���؃F�ݯy�����L�~��H�:��~�j���z�;���ص5v���Yx�����L�F�����.��ca�s�D,+i
o1�Sc����o��݅K�(~t�'[֠i84Z̈́f��g�U^���x����%�E5e�n�	t����C��Sv�׹�b�΄}�N�Ó�]�Q�Od�Ao�y���G����Opd�����]=�L�-��[<� >�������'r�)�f�ͼ�j~��<���
����c���r ��u���8<�����E�7�Gc�J���$l�PXi�XH
�aߔk�`V��g�6�ñH5���AڹC��i�0�F���J�O[��&�b��r���N��t������3�eq+����
�PӞԱ�zWt���	k�e�o;��$��J�BɈ~�nw�~�n@��g7�b���m�w٬���	��JB��gV�:�xu�I���<>�٭u�I$���k�*a��-�2\�Z�2�Y�����8�L�-*\��;�LC����4�G�ڭ����r��{��=N�����;�4�&&8�H�*)�b�^78<�U��K(��=�K�Տ���C�NH Bf�3���0��9�Ȝ����N��ؗ�:5�(�؃�l���)���߿����
�/�e7�G�á"W��QJ��SO ��g^T���<�NHW̛��PX?.3%�-2��"d8O�Lβ�5d�q�';����-��1S���b��r�����o��HΈU'��fB7�X��Y6�?��L�W��\kN2\ΆjE�>"�q��k%��w
ն��I ��=v�`����H��,#3�&#mg��m��[�y�@U\[����=�R�����Ȕi�h"�E-{Ww���pI�f�`���fh��}��|�+Z@��>۬�՟K
ؓ�/�6��7c�Z�ep��d����7hv�E�2�᫈#��M^q�����r��B���W�$ϗ�j�`%~��(�_o�׬"k��NJ���v����~��QY�����o�w�~����Q�a��5GJ��ۮ���k ҰT��P2>[���P���j�ξ�R��B�0�v˜���-�$\�ħ�~�Brㄢ�ӲX���\�9�L<���{�}�S}0��}s�#���o�0�����V�r�h�8�q�"ij��u��ho�[���5��d����=���*,��g�ۤ����Umsz8�-*�����=�<F%��,Y*[�5e#F�r��&����x���:S���I\^_ …��A�%戵��@�����Ԣ)����v�n�x�/�n�����
>�qJ����5�Ec`/\1[�z7G|��ao�k�[�dج@����ֵ�8<�KJ՝a!i�\�AH­�/�ͼC	{o�)�ўBo:�è̾�1nA����\sZԔ��%���m�O�D���@�pd���N�;�;���xp\��i�o����տV�v\��I5���W��`��ӽ�s�j��_����g?=�}���곟�T����9x��{5�6�b%7���u����h��֛�Z~<��|�����#V)�
M��v�>8i�u��R�XOf2ߤ];��A͊?9hW�(R�~�7Qq�J�h��3ך�_K�i&���?PKi��[�E��,�<plitespeed-cache-id_ID.moUT	6�Ai6�Aiux������\e�?OBP����� ���&%47ٔM6�&�I(
�ݙݽ�ٙq�L6"M��ޥH�EPl"E�  i��s>�)��l���ܧݧ�����cN��g��ɬK�M����3�{v���e2�үR�Jף�OC(�
�[R������n���)]��.JW��Ji�>W4ݏ�/Rz8��Pz2�_�4�S�yJ뿨����ߕ�3�,�k
����h>���)�2�9J�)�)�C铔�Q��>��(=���Oi7�{���)��!�~���D�Q��(�#�Q��/��qSz��Q&�!�7R�-������?���
��x7�tk'���Q�%J/��sJgP�����:lB�W(ݎҵ)�A��P�)����Y`�.;�o�t-J��<D�8�WJid�x`&C��Y��i�{ ���1�g)ݜ�� |O�A��q�Yr��J7��J;x����Ӟ��twJ�R�3����Ə�~�yّ�fJ@�DJϥ���Oi;���1��Q�J�M��dfR�͡�@J�@�q�n��r(��ׇ����y(��C1��rߠt�+�s)�0��?Q�P:����{Ϥt;J�q8�k��g�X���Ù�~���@{�P�����X�H��u��>ޚҍ)݁�NޟGb�o��#�w���БX����}�(�ό�pN����q������:
��Ohl�R�K餣�N���]u4����|�}4�}�h|�K���cPo�c����zly�}�1�1�?��?��ß�����|ܬ�����18����c�}��y�X����}ױh?,�+���O��ϧ�u���Mxݏ��r�s��0��qX���u�8��'��|&3��]�Ǻ���W:���;�R�Z����8v9��N�"�g�΢��pW9ߗ=��ߤt所�='b�����~��_O�~y]˯~��N��K�XJ������W����G�w���t�L�t��Q�J��\|2�����:��vƝ�~����`�O�z�z
��S0=��s*ֹ�T��S1�sNŹ������ �[0�;��a79
p��4��5=�҅<J�������ӱ?v=��;��ӱ�P�5�7�c�z:�q�阯��������?���3pn�?������;��4Jק�3���y�w㳰�v:���,�C�,|�	��Y��k��>��,�۝gỞ?���?�W9�=����H�dJ������#���O&���.Q�
��9h��s�.���}��9����w~�\����؏��Ṙ�3�E�+���?q.����bm�S��;?E�9?�<wkz�O1���tG���>�y�y��s�C;W���)<�tM^��>8�������<g��n{>�?�|��=�Ǹ�=����1�����:�|�ۭ����:<��|>���Q��oh����;]��S/@��`_�.�>��ó/�=u������`�^�}���.D�3.�w.��g��E���3��(�N�l������g�OQ������(m�}��S���.�|�1ƽ��������1?�P���Rz���߁�`������s	��楘�y���¥X����Ku��F}��{�R��.ź}�2��_��ܜ�)��]��}��ˀ�]��߽���.�~X�r췯S��(��c����5|�s���s5}�
��׮ĸ�^���J���J���z/^�}T��s���]	x~땀��\	�l�U��_^���[M��
�m��h���=)=���p������k�����j��ׯ�]�~λ�s�5��k���>���5���ע߯_��^�Z�Ӥ�[_���õ�g}��;����/��}����:�:��#�C�+5�����;��}�z�s�_���G�������1/�]�}�����^���[7�;7�^�{��Y7`�/�t�
ho��WwQz�����x��1���=�s��?4���㜮r��Mn�%7���7a�~��0��	��	�~�&�c�f��
n��|3�e��q�Ͽ��>��_����o���ο�9���g�_^���uZ�����/0ߟ�߱�/1�/��d�/�tM�����/1�ߢp�<�ϋn��.��q�-���`g�x}�-ؿ�܂{��[0��oż�s+�F�������t�[1?��
z*����ܿu+��_a��R��_�۔�`��
��7�>~L)�����ہ<M��g��>;�נ�5ƽ�oP�ߠ�')=��ߢ�9�����oA�-��-�[�Q�������|��?`~v��u��r����g���y�����t>�wb^܉}��N�;H�Ϲ���w���w|�.�/k��]�_ٻp����p?�z��ǔ��<x�3��y�����xw��s���/��v�s��d�	�~Cӕ��y�kJ��q܃���=h�{��Fߋ�ֹ��x��{���i�^��SJ���7�>���>���>����Z}�������y��G���tS��Q�v?��q�~v?��[��~�~���1����W�3�k�?�o�g�7����t�Y�
�-o(=��/����n��;��q��/X��v��{��3k<��I`�5]�֯�ԯh�!������=�0O�j�g=���w�� ����=�u�A�'=��� ����~~�A��'b��x�d���C�!�_����8�~x�oR��W�Mc�
~PE�_�����8��:�a��_>�v>y���G�/����`^�~��#�/�x�检�M�"ڣ8_�G��я��kE�G�~S�}�1��f��^�c(��d��0��ø�x����1�[=����ϻ=��.��c}N{�}����8��	�����'p��O`���;O(����u}^�I��ZOb~��t���?{<���'q����|�<	xu“X�ӵ܍O��z�=��{���'q>�tէ�_�t�0o[=���?�u��)|��Oa�Nz
��)��;��=O)�����SX�w��JOc��4�=��=����i�;�i�[�x�7���l��e�o�~�:��7����[���]���:�`?l��O���~�`ߝ��Jӗ5�k�"��Y��ݞ��h?8z𳸟�,��g�w���4��9�ǟ>��y�s(�s���%�a_��9�[/<<o��q����s��w��;��?G�-���<����c?��<��c�7k�Sϣ�g��z��<����1_���qo����+^����0�)/�;�8�<���/�{}�͗�����k_B�������K�7_y�𝗕�|�p���oחq��_�>���؟ǿ�~.�[�ܟ_F��k�O^���
�|�p�+��ǿ�����˯�\�����^Ź�ګ�[��sV|�߫�A�b����W��E�b�z���W�}Ͽ
8�ޫX�o���i{
x�����5����^�yy�5|כ������u\�X�
��qO��o�|W+��)��ׯ����c�Z_Ǹ�:��	��|�u��;_�7�Ak�����w4�7AG
R���?�3��&���t�]��=�ͷ�w��}p�[��3��=x�[�����<\���7o�^z�-��/�
���m�����9����W��6���w��(-3�xr����?�]�Wiz��{��]���.��V�?6������_��y��=�LJ��UJ��yx��¼�/��[���{8��r{�c=?|�"����>�����KYM�`?\���f-�8_O~�}��K�‡؏��t���|�z��ܜ�����F��:�C���b]���7>�l�o���������}�o��|����\�r�+?¸��1�o�1���1�}��N|���u����=W~���1���c�?�1�O>���	�;���'(w�'��|k�����m��>��_��_��|/��_�ω�Q2O���ݟR��gQ��}�R>�k�%��h�oE)�ש��-������8O����
�
�����S��F��SF�������f4ʷ�F{{P��D)�ߏ)e8t�o��+V%��7+���)�}�_J��y3J��<J�>5���R>7_\�߲2��se�CJyߟD�4�w���ݕ���>7J�纟C���y���K?��:�R�o���?~���0_����s��8�?��Y�2~\�<����c��P��
��Ǭ2J�ݞ����*h�`JyߟG)�X�g��ʫ��s���X�ܪX�ʪ���4��U�=Q�t�/VE�ﮊ}��j��)e��BJ��ܶ��O�2\�7�o3_@��)e���0�4��R�凜�_�"�㇔2\:�د����`���oL)�	���/a<_�2�{�/c�K)�����}qߗ��K���+��L����J�_y'�̯�du�;�R�Ǭ��oY�s���UJ���*��Δ.a��R�S�F)�U;���5PnJ��8|
�睔2|~�R�n�Q�gp��P�ůa�3kb���&ƱΚ�G�Q��^�2�ȭ�򇯉�8yM��F��&����R�t}}Tf//�|Ϯ�֧�R���Q������J)é}�����R����o}s��m�(�{mJ�?t)���K��~�f}�4L)�ϧ���(e<�y�Q�WO)߳ϯ���:X�)��,X�(e���up���y쿍��y�n]�ӱ.�E�.�`]�C��|�.��Y�b�o\p��✼�.���z��[S�x�n롽c����RƧoZ��}��zX�;��|l�>��m}�sH)�󎧔��X�u��D�w������뗔�� �<�����Rƛާt^�
1�Om����F��/w�F8�oo���7��dc��(e���.o8n��]3�a�6��8�?)e�l�MhGѾ����6%����)��M��ۍ<t<��3��4a���N��>j�����ַ�.�|�}��m�Of3|��7ü.��f8�o���߄��m�x�o�����K3���f�_9������K�h��,�똈�t�D��ΉX��&>-��PJ/�}G)󭾷Ũ̩|���=q̖h��-1�׶�9���2���v�V�߷����`��x��m����-ƹ��8G��2^{ѶX�ol��Z��xKۡ�s�ý���������1_����5��|a{����O�>�R��zy�o��޵;N=��yŽ跇RƗN���3;a�o����O�/����΀�wA��}��]�����L����w���o�zV�oO%xX<�f2��s������z�����2��)�C�O�=��V��k�ا۵^�n\ڳp��
8�+�C[����o.kE?�SzÝV��^S��N��y*�yn*�}J�}:m��ُQ�r�=���(e������c��6�}���f�>�K)��ߛ�w��?o��3p�?0�9�mT�P��m(w�L�{�����w]1���?��w�e&�gb���B�{��=o��5�1_M�xޱ���r?J+|�c�2p~p6��(=�����ys��z������8_�s����87G�Žr�\���\�ÞXNj;�^Ӂ�{��}������;p�;�~�<��I��=���\7��_�a����}���}>��x>�g��9��3x�~���|�H�ߞ����V�D�;���Q��};�Η����.�o�.�=�PoI��Q]�_gu�޼��y����0�?/���B�#.D��)e�r�E��m��=a�a>Zx��"ܿ;�q��+��]q?޷+�_�b���mT�R�G�a_?����|��q��F)�U���˾{�޹�ҟ3~Ii������>�=)e:���c�<�}�K+�	x�hO���y�iO싇��=��^�G���t/��G���`o�oo|�{c���u|o��{c?��I8J�^1��w�n�O:�����==؏��3ԃ�޿����
=(��^���~�r�nB�yx��9�w��Gk��)e��34�<�˷)%�)�M�,�Ÿ���w{������ڋ�݋�W�C��>��~��DӉ�nׇ�Z�P��}��#����^ۇ����ø���:<ه���~��z��~�Ӊ��/w�ܻ��a����#���(-�8�?�Ϲ��p��-���a��pa��E���3���r㼨�tcx�/��w���m_��.��R�>���z��}�~	p��e�Ӹ2�j�~�2�;��z����e�Q��2�Ëe��W<�[?�w��?����߭�sI�>�������q[��I_���1�ŀ'O�8׭U���*ڹ��xf���*�ݾ6*�c�SՀ����d�%��+K/~K)멿���B�px\n���C(��j������p?��pd����,�}��,gya)�a�0�-�X������������}�ϟ�̾H��߳�������/��w_싣)e���źN�!ƿ���~��٥��b��!��C?ľXu?�_c?�?v?|����Ü��?>O�|�:��?����`�����?�Ǖ�^ܶ?����_��{V>��K����y�]@���n���~�P�o?�u�����?�������@��6b����@�?p��{����'�u��@����A�D��}��!a\u����<�;�u����w0�}�X�3�^x0��s0�����c��c��K�}�ɏAot�����ۣA���v�9xԻ�`~7=�q(���|��_{(�E�x(�Y�0��qֿt�����o;���0�5>�8�G�_x��ᘷ5�@��@�>|���#���8���6;��9���H�㏎�r$���w}�(��VG��8
�ण�_/9
p⁣���͟`]7�	�i��?A�~�s������������f����h��ј���FW��z�h�c�c0��c��u�?x�M����s{����g�y��X�����p,�w�ż}�8��z��;6;���y��qh��8����p<�����Eǡ��øs��״�Ǐ�\����?���^���]N@;�'��CN�8N���O�~���{���^�D쓝N��u"�eM�r"�Q��1/��r_?	��N>0�$��5��I�ﵓpOoy2���X�kOF;�;����'���N�>_���N��y
�{�)���S���S0��N<���i�=�s�)8��~�<��>�W?������v�=��;��Oź�>�{*��S�on<����vV9
�i8������P/�=�4|�I����iX�ŧ��OG�+N?���}���}4�R֋���g��ڙ�c���<�L|�g�\p&��L�ǧ�Ĺ��L�_8kT�)>�g)]u6�cGM�>xʏ��9{�l�s�s0�i�`>會{����A�'kz�9�/��<x��EM�?�d�sq^6:�p.��Q��9�\�����O�V��ң��Q�l�S�ߍ�)�z�}�<���t�X����K5=�|�s�����O�?q>�Gӯ\�v��	/���\�y�F��.��b=�����t݅X�C�u��g8�7�����0����"�w.B���\�E���E���0�c.R:U�]��n��z�E���E���^��e�Őc|�b�g]�s����7_����|o�%�SK.A�S.A��.�8����X˭{)Ʒ���K�^�{uɥ���.E��.�x�R�w/�e�˰~�/����//�}9��TJ��}{9�Y�
�G]�����^�s����g�+q�l}%�x�W�eWb�o��+Q��+�V�
��Uؗk_��h�
pk�U���q��U���:��*���Հ/�]
:j۫�_�vr5��ܫ1ow\��޻�;����5�ϛ]��Ϳ�Xt
�ax
�پנ�S�A�WQz�O�\�Z�{̵�+ο��_��}�Z�����3ס�կþ��:�ov�����:E��:����?n�����Oۯ�8���9�z|�u����s=��n�%���On�7�����X��s���P��&��p�՗oܜw3ڻ���N���9�K���p�/i	n]�K�{ފv޽�o�+<�+����?�+|ߋ�|u���a�l{ֻ�6�Ϯ���Soùy�6��7o�>Y�v��v��<�v�{�xp�퀃'ގq��v��ko�>��v�g��\J�|�߿�oFe~�x�o�^�[���ߢ���b_w���^������~z�wX�/��f����)�����+<��e�;0/��@���@��w��3|�ҫ�@{O�8�������^������}���ݟ�S�㝘�m��~o����N���;��=x'��4]�.��]��K��8��K��wa}ϸK� �B����x�]���w����}���A�?���jw���w�^t7����#wc}^���QB�I���xB͏�8q蟰���W�	��mZ�?a=W�G��=�w��G�����=��{��?�>e�E�3�E���ŸK�*=��W݋q��^���6���v���a�]v���oZ�~�K�7?�r�O��<�����?c�?�g���/�����~|�/��w��}������<Ny�|���~��9(_A˿��̃���>Ly�烘�D?�>���q�� �7?�~�<�}���a^��g?�qߠ��z��g�>�+�9�W�?����¿b?�W��5<Y�a���(?�a���a����ϩ���c��a���������0�כc��~��ۏ`�L|�3����G�5M~��G0��8n|�?����G�����[�Q���Q��ُ�|磘��}Q�>
�r��'�>�~_|�Շ�b>��p��}��]C���_z|�=����q����1����#���1ow?��8�y�q��>�}��O�	�s��?\��O��]�I��YOb�jOb\�>�u;�I�i�|�X�)�--O�
�s�S�w�>_��۴��O+��i|��5��i��iO�;�i��>����p~���ﻒR���>o����W?������m��?���'�~��<��[�Y�͞�|iڳ��ς_�����]��:������0��>�y}�9��/�p%�w���!w=���מW������{�p��4��y�����y�濤鿟�~�|Ϧ/�y��v}�_�>���������*/�>��E|G��8�?~�{̋�˧�<��/b��軵_¾\�%��q/�;�}	��t�K�^�{	��/��%�CS�U�y	�4��s����_F{�}��/��v�x��×�_}�~�W���W@���Oӫ�U��ǯ�{.{z�������k����^��`�������(e���Q�A淿�ڄ7�������}�M���ob����l�&��M���7���iz훸��&���x.�'��D�[���j{xS����4�I�ۀ�oc��x��wo�|��i�;h������`=�����`����w(���w��QZe|�=�Y���r�@׽��9�_�O��������/|�����}엶����K���z�|�ؗ7�������g��q����`�}������
��~�����@�'�A��!��??�<n�o�kK��~��7��o���|�v��|��?�#���}�}q�G��?�����>�9���_>V��c�g�ǘ������1��s�`��	�w�O��	���O�����y�~|��?��Φ�r��}'��t�1�U	`��.�������q���D)�uwP��}�R�J�\�5Z�%K�ؿ�B{�<��B��(�D��R���)�u�x�����o(��5�F��F�]�~~�;��J�N�ڽ�R�#����O)�o��A;wP*�5�LǼM)��MW�w.���_�R>GGR��	+c\���~_^����>�ڝ�9�C'��^3�B)��Ŕ�����R��>��X�R�3������(e8r��1�G(�u���ʫ�=��V��)��q�*h�
JﺗR�+o����[嶤��g۪��s)����oVE��S��JN~c5����y_B)�Ӄ(=[��ݧ}�q)�|�=N)õ翀q}���E?�;_��E|��)e���/���/����3J�\?��/��s}ʗ��}_�|���hg�WFߠ�+�����yx�+��UW�<nF)�-S����5�2}�
�';�:Z�yw|�n�5F˽н��R�7��ﻜR>������F�}�:��y��k��5��k����ľ=A����w(e=�]�>Z�I��յp�6[��/欅q)�E}>}-�ۯ��~��Z��7��9����>�I)ߟ�R��|����i:�[��^B)×�(�{�u��hm��E)ç3(e�����cJ����h��A�O�A�;��y�R���]w���yJ�?t�?���E�z�ǿ[��zدϯ�}��0���Ǽ(e>T�>��_��}q}��1`����`=������LJo�����8������
��X��붘R�'����5=$�:`^?	p��;Z���}u,��ű8��6-���b����h�;gl�z�R��w6�wn��u-��o���7�3n��Q�x�ƛ ����Xk�т/�)��e��<߽)�ˋ��l=�e��8�����x�Ӈ�2~��љo�?h��oc�V��gJ�)o�sr�f8�l�9�i��M�5�^��	��&�wR3އ��?����~�Y���h��,��Y�o�D�í�2����87�����7�<���h�7ٖR�G����[�<dgJY�ǔ����[a���ǭ�>���)����l�}t#��1]B�<�����6�ϫl;Z���m����|��R�ǾK���v�L\��$�ӆ;����p��?}�����(e|p���v����=v�тW�ʟ��ﱝ�cwƾ����7'�s��Θ�
w���R�z�g���.���;Z��.�٠�Y��rY������1yt�����~�N��
�����<ߊ{�S1�����[(e}��)e?Ӧ��<�}���XǕf������h���)ez��
�gm�#���9��L��
f���	x��L��}���:Dӓ���f~�4��w3q�?����<5��,����}0��v���(e9�P;�����Gg�e83���s��s���4p�s�������\���ߙ8��\����GR�v7��:O� ���đ(w�<��a�a��'4�E}�x���c?����c�]A)�9��ľ?��]ډsx��?Ӊ{����{_�-��[u�^�|i��ϻS�+^�8�G.-���q����Z�0?;/�|u/�~>|�����?O��}��Ww�{W��#}��n؏��~��a]������
��k�a��;�o�-w�w����G���z��_�;��=�c�_����X����l��b���#��=w�?e<a|G�{(�0?�~��=������>�5�8��}����_�Ǽ����A{b�v�p���p���Efo��M�F���zݴ7��{?�6Ĺ:+�x��o�b��
�uNo�
<�n�����<��ڃu�"7Z��s8�/�p~+�s��R�'ݠ���^�˕��}�'N���?��mԏ����8�p�~��^8T�p>�p����{1����-��h1���O��;��S�W'����O���E�u�����w�.b��S��m������-E����Q�����/�Q<�+�Rz���b\뗱NYJG�9
��G�`��R��V�_񞹅��
�q��ˣ���:�+.�[z>�~_��}��N�񜬄�"�3�}-�VrmT�sc`�������*嵌r庩ΰ�{~�˿��X'�L*��}A��U�y�����d�`|p1�����
}�t��0�(�.�]G�ޣw�3m�n������Ez�=�])48����ys�U�n�#TO�4��~D���̕෉��5=n���"���7P��)�����O��XeB��)�Lo>�Y)�T�+����S�������A{��~Cy��g���?I�N�q���X�w�S�'������:�Q���=v%��j�$����߅�8��_CufQ�v����_A�G���;F�0j��ڝ9J�*�9��Ϊ�^�c=o|r�L�i��}T�Z�7��s��=�ʜHeΣ���3��f�_��'�߮ߴ>�'П9���2{Q�[�ۂ~W˔)��wQ��^?,�����A�X�m����������������L}�.��̤Q���w��7���;Ы���%���#0��O�ʔ!�'�2�Ϭ�2|����O�����Oh�_CS�ӿ��
��A�d��{��1����Z��Ї̕c�O��?�� �?��
�=�7�y�����üoZH���]+��G��&�.-�yz���!�R�lo�}g|���9�}�Y��ߡ���zw7�}3�=�~���72����#V�O��F×ͱTvw-��N�zs�E�;V�����Z�F]?�/�:Y�<�e}����x27�o|�~o�u����>����������~J#ޓTg�(��{H�oMχѻݼ��5�����pQ�-�޾`.ϰ|�`�F�w�z/�����<M�t[*�խ��T�����+���Q��4�ߟ�x����л�G��
��(=���P�*w�~c=�İ��o�桌�q��푥��ׅut~�w�.j� J�X�����}�c����ٸ�|p,�1��헿k޵޷<Em��ʬJm�ʰ��O��MJ�ƴ��a~����3V۞�{b��ݙ�BuO��jo��t��Q�|�Q;?��E�[�m����ܛ�w,����Q9^����'��2�R>�0����� �asz�%�9m��|�<A}�����������޳T�����M�;�ҟQ^+����W�6��NTn埬}�D�T�����{�)��b������j�?ƳW>��E,����{=���(�;Bx����x�M��U�=D����ߠ>ж��)��7��Q݉�w�1�f�h���J���ѿ��j��)X�
�{��Τ��;_��i�/S�븾L�'��U�"�]�c��c���T�.��F�?��W�z�}8���bz?�~ϣ�`o�My�1c���W�2����U��LlW�O��軭�ј�L�؆p�J�u��?���V�����X]�u�'�~N�|����P�۵<�TkB�3�����.��O�[�ݩ��sޥ���>�+���7��y4ˡh���������Lͻ]�nBϬø�����})�׎�ߧ�5�	���F�_����C_E��8
~�^��}��E-w5�����?j�E���>O48���лG��R��%�I�N��o�$���(.}�%)�pm3`|�q}��͕��K�Z���Ny����(���Lc��~�ژ��SJ���-��fX�4�~kI�0,eWQ"'3g�6y�R�R~'�f=Ƭ�oGm�e\,����ǧ�s�݅+'��v��_�c���1����h{��c�H�6��?�ߦ�w>�ͧ�Πw��JmF埧��z�k�+ß���o|?xc}c%��f���Q���n���%��2�m@y皽��{Tf=zwOj��_	~�ޢwߠq��RF��5��P���
�����(��h������c�3����;��j�>?��J���8�����|��=/�2��{�}��M�m:�2���GҘ~G�Ob�J��oE����:�WXn;FL#ٽOfM�ͼ��{��4	�ޞ�{���;�������`%�{ސ�?ֹ-�<������K�ߍ�?���]<'��-�x�~����;�2����0����;�yߩ}�|�gW�5��ߩ5߆���R�y��������m�c�oP�o����S��~�����~Ki�~�m�TJ{�נ���8�3~�w���h��k�.�[S;?�W箓�~���W��`4�CC��>*{,=g��$�c��U�ا���e���8���w�������4�g���Tf}o�f��=�g�i�ᗱ����(���5��~�D}��wO���%�غ��S��׼27��l�#��_���L_a�U�
�_����kP�Μ��Q��r��_��ڻs�5�]ue�Gp1�?ob݉Q��w0�&�;��L�tw�S^����Gi��Y��K
h�/0n����\m�su�J�i~7��>�u-�~����=�Bm}�s�����;��M�?x�VΈ�<������f\R�6�;�=�o#�3��j�ᔾ��Oӱ��6Q��z~���i �a��|z7�;W̫=��n�Ϝ�w��#R��h�ML���/��>���ߟ�ޥ��lp?=J��3�!�_�~ߠ�����.�2,yy|z����bz�e`2����2կj}�?���
����o���J�����*�ބ~��ydT&�s��N�����ې�c��ue���}�ޝ�s�~�e���u4b�R�Y����վw�߷1ϊҿ3���؆���|�������.��m�/f~�%T�Az�e�d4��i>�g��7R硟���!�E���}JG2=@�{R�ϭ��_l��?��!�5������L�m�̺L�!���2�F�z����zwR�SF���T~
�?��C5~_�ƹ�e��7=T��+���O:_�7L�ͻ�ү��_��=�\�Cy���sJ��_2�é�-�2�C��畨̉+����wQ~��N,�h��{�����<�=������o��F������_-��p|�>F�^���>�-������n����f8M�_7�/�r?����������ݟF�~�~/���{���@��g���S�}啘�t��L�n6�Lß�������͸�e�=�~���)�%�7�y�gݥ��.�-{X��阕�7�Wٕy5��+�g�JL'�|���Χ��W��Տ��Q�˘.e����y�k"��;�{����>}_�}��7F����	��ߖ�����e��d�����X��KLS��w��E�m
��4��.���y�ޭE���8����6�DϋyO����t�?e����QǺ�WR�U��H�����Qz1�/(��.a��e1Z�[�_��TLC3����F!����8���[���_�Lӻ�uL���T�1Ɖ5�:~����0��~�ipM�_��:.�Pz�(���3��޿V�_^YC�7�R�[���|O�`�v�{����x[��I�s4���O�w�1��|�?9�ܫL#��+4}!�-]	�����C^��_���=���M�_z�3���E�V|f�γ�G-�{jw1�����վ�g�-*�W�y�oM��X����*[�߯z��7�Ju/���rJ�������7�m�
���?�ix����ݲ���Rs�"��R�K�~��_Ų���%�~�1�a�?�^�}���y�c}�;��Gy[1�������L�j1r��������7uO2��7�K�]���ǩ͕鯗��������)]߃53a\��q*��9cD�/��X�u	��w��8�J�q[l��8D��x�͉�ި���B��D���|-���E�r��|X�U�Y�,j}T|I�G�"�U�?�E�<-U�j?���[Tiχ�b0�T�s�̸\�_�UL*vp�`0*֪y�K���R1G?�`��j��]�w�$䮂\X
���2�#���b�J�saw!���DU��W)����
�}y�Y��=���|1����jНh���s�)���jT���`�T�f�KA.�<�Rz(6���A��$�_
{z�qt��̎a�_��!O�2�;/��Cn淢���aT�w��PǮ��R�;T�V��՝6ܫ�6ܹV���9�Z�̎�;
�0�a.7��/����<}J�P�o�)�h�DE�~ѝ�-P��ހ�7ilj�e���j�T��y
�o��)����)��'껠P
sq�$�#Z� �.-�7S���c�:+�W��0��+AX�CQ�?�
A\.P�Y�O/O0�\��}d+�n��%4��R-��B����&��}�e�?��JX�#ӥk��4̫���:����~&56�}^[DŽ�i?�a:G�������|J�� ����p�aL��c�o�4ҷ�XR1�	���CI��<m�j,{Pg�;H�ׂbDG�� �*��`���V�Ŵ���a�Q1Ⱡ�0��|.��e�A@�*4��ީ�R��Y���;ڼ�ʕҒ��T���r��@h�����<mw�f;ҡk	:j����C�C�/�4�C���I�,*Ur>H�Z�W8O{��&>����M�J5�hż*>�
�h��� ���|5�-��nZǞ�'����T�H�A��/2<�-��ev0U����h�6H�yI��Ǭ��
�D4��Hma;�qm������S������T�2�\K;���r���@g|gy�F+���ʗ
2���v��ͩl�`]&A�$���"�a�@�̥��w�3۝���C��ٲk0���>2-m�7)����ʹ��2/'�>��P���^͢xnj�`
}g5�Q�H��m��hk=<�a���x��PCgZ�:!�G��d�
�ꨔ��*�[�8�#5h6��
��n�`��B����p0����"�A�"��	4*\�LK.̎bt�]%�H�xJ�`��v��C�1���i�Lez�l��3�!�B�f7���4��Z�!
A[��O��K�"͑����n�	.�����N�K���7-}n/-1��y�6|�]DX@�`c�0�\r7�ƒ^hKF�ø:d�������STD���UC.1**�Z�
����|��r�j5�r�N}}&��ʴ�P�Ň��AH��n��#��T+rM���� 8d����C����|�+t�-�%�|�J�H��]��8a�������0ZG>���.�EQ��)R
���Xi��]�Z�w:�̔����Ku�Ly�B�}0��Wh�������yޢJ�]�V���]V
�	����MSǗҪ����Ҧ����1�N��F�Q�q��?�K�
�Q��/�vL�P	��0_~rW�I*�{xa0U)��F�� uT*�
�y+�� ��B�2�qvH�/h/�`����0���=U/D�1] �8 �:$'�B�!(�g�kuh�<�{�V�;�0N(�x��u�Z��*�?�B����6j���e�'�������]�.�|sZW
����l�X�¸��Vx���#��<�c�B)�#�N�GP�)�eY�aP4F\d���eV�U�J��R��=>�%�{�	�+�b�"ہa�d�X��Z�;�o���[Bw�f�)�y�?���Tn�"}�+_���q|j�~F>+t51��Q��J�˰�'�_c�i�u3F9q�;(3���)4x��X	bW""hh��J�������U����S�TpiQ� ���rr��SC�BH�T3�)8|H紇��L8f>`��Ś��?[{r�/(�U�2M��
Z�t���W�-�,�Mn{̕zj�t�]&(�ñl�53	���/S��q�۩��G�_�����ߣ'@�M�����rw�ojp��=\`*Z�`����r�AE�6�—��O����E�0(��`V�@Q�3tj��Y	����]�S��=�`���F4�Fh�Q���{�N�Q@�b�!Cs�ye�OfZ��SǙ�R����:�L/[ƸV�PS�g�P�mi��&7�3t�����Ō����R�@����)�/����A�&���x��|��DH��[�,��u$E�/!g"�\����+5�����/�(
��H>9�5�-�9�'���TF,h���W�V��F�V6�
��
�j�"c+inh>�+��A���GX��.A�a=�e��2.�t�~���$�=��l½Q�),�B�x��L�-�2�KD�!�
�ި��`�Б��z"%<#f#��0�@X����	C�K�y�Q$"�+t��t+z}���Q_�	�tNڑ��'��7<�lЊ]�ثB����*����<�a�Z�A��T�<t�E�C��+���0���VЖ9}�<q��,
�/��Ã|�����dZ��(G����N4���:7��r1痆�D�41}���$��I�i��pp�h�[x���mły?ӌ�f��;������
�)�ft�nG!f0��N���dy� "'�}�}@8	}�`2KfC3�z}K������K}}�\35� v�(�r��L@���n:F�0jgW��=�B!�â�f�>�-c:�1�Ѿ��g�s~�\5�>���,	�OU�-���m�W0��$ԁ�,��(>��� Wy-*T����S;ۀ�7,�Oz]Qe�������䆋� �锓��o8���ز#��B��!�Ɋ&�	:�j�^&�DZ�R�rˈkr;��/�n��U���$�[��T�������
��H��QbZ:^��Jy�~!��e�$s<����L�+L.v~��m68XN�0[C{��YrM�Z��HU*q��@�,q7-1� C'��͖���a"�	G�a�
W�� ��/fY��@�L80a`a1�*��@p�g�#�`��Gj(�H�����Dw_�f0�n\����KD�C�����d1I*E�Rd����T�!>�˚��,(*O(���/�;�Ɣ����ޕ*eZS��2��"�J�/$�*y��]潈�!݄8W��䮱��
mg�Ҋ�д�S��::�
����A����̫�py�/1q�%x�0=
WI��{߸��ݨXr�qo���U^v��	�oR�A�0�k2@i���5l��H�6R��,�Pj)��R�x	�"��{�[n�N����ۅt�0� �+(��w��eHyW� E�F�;�X�2�S&+��6���
E�Q+j�`
�pz���t�c!+�Ȋ�Kh�����1xVґ��9#�-0O]z����+�#
F�
��R��3b��f!�f%�f�0�<�V��J���F�<�bBL	@z@���ن�̽:�V�5&�U�K�P�ɥ���OV��ʌ�Z��g��J��-V��B
�ػ�r�>��W����Z�y���`�|e�-�����~�K<��e�z{�zeu�D�0��r��v/1�\*�2
o��~;A|f�m����H�m�d��-f��(/�tv��d�R`���ke�ę \��4��.dLh��Lu��
�)\��h�VQ�*x_�:����z3^F{h,�G�C
���x�L��9�[�R���\3�k6��G%̗�j���l�1�`Ao$������|����W��3#J�e���vk�@4�9�*K�F|A[T��Kѥo+K��M���W$�s����	Q�Pv�Yj�1pb�K?j�����-���Zd,�:#@9�H�I�56�!X����^�w�Q�"�,�Ep�l})0�b#B+
=(��	�At��c�3��r=aQ��"�
�h���^��1G�O{�b�$��1�h�E���N
suEC�}�RN��H����-Q�
�'ܡ��ȫP���������Ƽm%=�ϝ}�7˳�N7^�H���pP��"�-`��j}��-�hs5OF�@TD~��֍�U�T�&�m.�9���6���]B9��{��4��60�V�+�	1$�X�����Z�l��)r�T��ƽb�[X���TW�sC`�'o�N}�KP[�|��B���˫�I���w#���?dW���|wǧ)?B�eb'��r+/k�˭l��U"�;���	�X���@n�(��ă�$2���Lk��L��H;3Lϲ����'��Yd��et	�qj�O��
��HyL1eZ�Q=q?=(,�{�U��3�2�����*�7q�r3�G��-���5�2*M�%�l��a�i��9�6C��h��3��:�J�����K��^̂��������p�������֤�WŊ�tEgܼ/����>��W0
�����)O>�?xjk�jT�7B�(!��J!dP|�0S�M���R:���y���n�JkN�$�|n������im���),�C,��a!f���L����"���}�m�{*��"�e�~IW_K�r൦|�U}0��Roa%ϣ�J�ʼ�cXò���}(��fQQ*jn��7:J>{�U�'�H@�<���Vx*�I���5OE	��4dYXO�]�2��	4��j	��^ާ��o�̋*V��Z3�(ý�!-�� �Mg�.�J�T��(%
Uo��
���V�F�5�&g��L*�;M5Bfʉ�r�`�轛
�	�e�s���d/$��v�H�U恪0�	�<��5���]��2+U]�eĄg�D@�ھYh��ce��-��0B�-��V��M�7��TE�Ec�SO�FHC��<-;�Ven�l9�7��,0��9&ɭ��pwnz���^mX��ȗ�i����Kg��i>Т��LV��&�T[�p��'ʉ��l9�wx���F�j�e@��eV��7ʣ�J���L��f�|��R��a��Kr��
���t!���9,�n��YśВ��Jq�F�:i̼�(��4T�U�r��l�Խ�
"��X�]M��ʜ��
��?���m�G�Fk�O� �CCV����A;�l:q�N���j��F�p���7�Td���-]-��	G�%UF$-��ζ�a�H�I�ft�`L�pV�V$D�+��p6H�&�|b�iU����:I��L(�(7�A+h�KU�
Y��P�&�!��`(�gY��X��!sȌ�M%�r��J]�`)S�͋۱J��]��d*�˹��N<���ˆ5i���\�!=��t*đ�Ȳ��ٓ���i<�.�OO��e���Ju�
^ũWi��x*e�Țª�$W��(����0�C�Cv��R�G4e\�B�B�/����_v;�1aK��}WG��P�=�7�,�W��z�FI�MD�K_�2Y�(�Qm�t�kü�֐�"�L��a�w
?=��q��B��h7��D	���&���4f�h�
)m�Q�����o�°�ќ�����sq�KP�*��T�ka&�D��u�X)��@Älzmu��Td���0���J0���L�y|UQ:i?tꛂ�B��U@o�Z4��qݙ�P+1��w{�j�dr�i�rm�*���h͙�
]7U兞;e�y�įRe;�&-��N�jk�@��شI�,z�e��=�ѝ�s/�T���'N�
��f$��c�q�� ���ZD�m�E�@$v��6�g�g��d��
:�ORjЕS�/�/_5Se��D~���/y�‹:X���$�D
�Ji+gړ콯AG֯""���n�GW�mL�`pq6�1O�8Ĭ62��f�I�T~���߈��XɊ3�̋�,0Ȼ�UF�d�fF�J¶Z(��:W�a���d�Ad�T>��l;}���I�`�c�Zf��';3�&
��i�n��������!�~�
�Ch�0�P+�AHd6�i�e�f"\g�E!(�Ld�jO�V���i�.��=���(�=��TU��hR�Q3�����R�Um9���̋$Ex@%�y���|%�!�zC�RS �j�׈�Uii����=u�z���@�y��;M
N�2u��*�g/,����c�풱�r����b���=�r��H���ݞ�O� #����Ϝ�<�������Z����SD�%�\L'5��l��ҘIN�x?�y�z=��WV�U�N�5=���VU8(�{��l��g�νf@�BG�,a%+c�T�a#�X�A��ئ�"�/k[�a\�=J6�A�u��p�"�ͧ10��g�"gP�F����WWi _4��8��BJ�c3�ž������h�UK�8M��{�
�	">���kʌ{a��S�s�背F
���#���<�
�=�a�0����vĿູ�,��(��͓���J��K�*B9�~���e��,���=�A�ze � Ԗ�$Qs}�ʦFUQ$`�XU�H_���b\�r�c���e&#�JI��<�L����Œ�]lw$�����F�5Fs�Į�jq��q���D2�z�"�G0��Q_���	3�b�� 6�
N�~�1�A3"� hL�et��W̏C<�Ӣ�ltLK4����=���?UY����`Zg���\F�Z5�R�="��F�(��F5mBbf����@���?��	��+\!T��!�Nۦb\���z^~(�֛�t4aC��o4�Y}I4��r�s���kAa"}bhY(��
ܯV�ai3��$�-���Q�_8�
��b�&�\ֵ���B��i�0�D�ʯJi���^��0)��e�u �ȗ���<���s��cRZk�[���M��זV�&ڸ`��b� ݉�=c:�7��(��L�}:֠E�bkN�,�T�ϔ�u�>�B	/.�D��x�N��5"n�yԢJ��3��b����̬�[3i$㵬�`Q�)�͇pG���T_YlN����v��;�-\�*m1��(ʠ��{3��޷謔 ����A-�Y��"��̲P�u��Q�fW�m�K5���̊2�j5$d�n���W�j�l:T�-�P��~���᠜*�5��G�0_���5�Wà��b��x	j�������X��)���js"�zFƖ�*M�=6��/Z@�<
hh��FI�vE�|�:��yKH�I\�
���|U�t��ͮ�
痫�����z���2��ƈ ̙�5u�QZ�Ǿ�����-6u����"�¸�w[�u*θ]�GW�v�O�j��"�L7͊B�xC�΃C��i{�֧F[W�L�;/|b��2��VD��q�J!Xf.ǴR�)3�� ��)��1�$dTS-,�{��@`eE8�"�˳�����/@�tn<��BF�w�����b��K�����B�`*$��x�2⓪�I�NPF���ߐ쒣�>e��x(�p눱�CH�ݫ=����|�7<��Nb��r�=k���8�1A�`�x����a��1U���A������tl�V�q��Y`�Ey��^
������T^Ɗ5�W��l�kD��X�o�\��{�R����"����Y�m�N��𪫟s��g�J���;�t�y&T+�ҏQ�6O�qRQ���)��Sy�Jv�Qo�\L��w�O�+_��14]~�qs9��zR�!�u:��K�j�PJ�M��4!�Y9���?�x*_@(Wӎg�֫�Ф̥MUv���*��2
�;b�l��P�&g�aT�"�ے,��ņ8_��?̮�`a�$���J7E���4�/��nsa�uI�L��g����w&ߤ�_���yS�X��0{^^ӂ/�i2�\!dGG�툽\I �.
s*�r��z����s�h5���:i�����@0!1���A��� �[�ݬW�,��ag��yc���Ȕ� �b�����븒9l��^
gYI�YE��uc�W���/w1���Cp>mD�U!o�&��F`�Xc�������g�?=�
7x�t}�ϘY���U���&is+ .`�����s9�+c��f�y�W"�p�J�M4q��2�����T����VѩBs��.5ٜ�ҽ��[� 
f��&�&�_��`��IS]�/攆�[tã�z�eW[����B���\:8��Ȝr!c�#�Wa]�5�U�+_�C��\�L��ޝ]��Ι޾��
�9��)��@����'դgbo~HL٪U�R�MS[��*=��F���lt.�� yKE8�d8�y��l�z-�����(��K�cf2�����cU�k�d��Nc��jδ�fz������
0d��o5Xx6b�ϡ��5��U��~�h��[��m��f3K��N��Y`XE����Y!y���X6#�E ���掠���Eس�,t+1�_�QF2~��l�R�v��'�V�F��ϫ��>j���.�Ӳֱ��c�dY�;B��	����̨�Ũ�W!������:���:W�Vfd\�@A�b-HX-�h�kc3���b�H�U�������Y�MΘ7۸S��Ӑ,�U��	��3�c�u��M�
��6�W7���XБ���*�E�^~���\��9�E&��<�XG�\bO�M,uc2o���<���_
TO���z��dE�~y���'��TQ���˦�H|�H�̈E��#���<��0�A=�!`��
����.��u���&r�`,����Ŋ���e$�\6�c�(%W[�N���������t�]1���/�(e�/��E*	���
"P׌"7	+��˄4N�p%ye
 ��D�S��L*ԡ����J��{�/KB�U^�mx=Rp)[��w�A˄mf�#E{��w틁��I)+{������Iq���[���Y`�a�7���8i��ك�f��m�JZ����������60�~3;�z�9\�+\Eǝ38�19��M,��W�
G���V��j��Bw[$�H�FL��uTZ��'���C��g\_J����.��M�<|�t�:E�t���tcq�r��.&m����w,�+�{3bg�D*�hZF�ЮR��]ZZ�/Q�H�k曫
��M�	�׭M��Y
^�����"r���1YECB�J!�X���-�]���p�#L/P/�+��_,1a�����VK�TN'�)\f�?`e��,eU��.���B�8�%�$����Ғ��!�0�|U�`���a�`AF�,[�=�aU��,Q�n�Y�
Q�δ�@�0�嶯
(�i*T
\�%¬�`ۋ,���>�g������;:�v*�e^�̞��-�>��`�exN�޾#�4þ�f����ʂ���q�ͅ���p��-������E�C��h�k6�H#���W�Kԓ���s���Ԑ�M��5�N�Q��+R�r������a���^A�f����+&'b1�Zʴg�ڕ	��}�@l���Z0
\�>,3{؟?w���0ia���s��Θ�巴��T�$�rl���*�~|�K�IOjimS�j2ɤ�vK���'"KJ0y2��Ss�"s�h�\��j��S.0B��N�X2qBw���d�(�cVo
����j3��zL�����)y���5�V>��P�J�X�}؛͜��Z�B�Z�q6Y�3��lA�[ԙ�xES��M�ѻO<�I}�B3��y"d������q��p-�,�9�unB�ȡb�s�D��ˋ���[ظ�P3l���p!6��S*zڱl�g��<u{�v�8N58��T�ӈ1D�M�R�8�E�&ϳ'��sDl����)��"Oc\����Ź�\�Dz7#�o����U�ͺ![�j�MyV����P�`
07?e����U�N`>U5DD�;mZf��܎��:�th�|֊�D=UCTN��g�:A������5w��X�>v!�u��i�FV
/\0$DA)���T�����;�j8dR��ޚś�\V�������M��?��V"0�:��E�ƀ��{:s
��l�V|
x3���4b�mp���X�E}fws�
2N���|�#F�ֆ�N����-m�
������/���e[����3s��LB볚��E�d��C0�d��:�	V�Ra	�!�E��sMr���'%�&�aeA���T�Z����65��:��3s�Œ�૚��T�6���m�K�P��ZS�4�U�Hjx�VC��D&ʶ��˺l��+�!6��Ǭ�Wvy�h���yϢ�SO�D�3�ol!^��jH�"�B��at��$N����Q���F����Q�J�eN����Vi@��u�%��Ѐq�5Wa������U��P�T�<��9��(zǂR�r�+�q�l��i&���Kj#\٥bk2���Ys�GWqtAdX���O�+���Z�h�l���R��E��#�U�5���ZEE����hB���e��� Q�A�K�'
����țn�RZ��Ϝ�*"t5�lF�<X,i�'�,at���z��БC��sL�V��z�dZ�^�[w�C4g:�hC�=`�vd�{�핌�^C�b�m��eUˌPJ�|_�m�X���Y�1��M�¸K�
�I�����U�4z�d�k:�afY�F��R�	�ػ1m_�V&�b�t~3צ�嬳A����;�h4qW�O2z�4_U�a�8�tBD7Q�Aܯ~,t���}�*��y�8\b�@+��doR_�(P�1���ۊ�&Co26/�(�xp���l�m�wX�E~'�4Y�a���܄�õm�b�ԡ�RD�%���cl-�C�!�.�~�
��E�ⷰ��h��Y��şة6��X-����9�D��U3`8�+��,�Z��/��H��`�@O��E������D��Q��c(�{�Hcf�{���`aꓢʊSƳ��y���/-+
9B[�>)#
,!#��n�j4l�bK�M#z
��ZN���
�6�8eH��x��$Ne��WKʒ��Ls�;�� #�Z[+��wx�MZ~��(v�eA�Y��ƮI4B�@�A"#�rMXU��R�\Ʋ�*�
Ml�-��u
�Y[n�>1%�#n�E��9�Şaw�ψd���Lݕpa��gC+Q�i
�wt6Y��M�A�9�B�%Z����i1c�?[g� ���T7���P��R"L���?ss8�%�B�.ҸCa>�%���:��-�Uّ�����M�=l)��0kҼ��Rav�d�:��%Ҳ/�a�Οh�9��)/��ǢX��(/���{.�X��qĒ�W��zdG4U��jz��b�.��{	>�����z|�z��T��C*.z�u�I��L>�`�n�z�g�m����E���H"H8NB6h�MN+N��qh����ohF�M��pwv���t�fJ̵31dje
7�1g�����
�W��jeF�+7�=�Sa�c�hyeM'&X���
��XHÊ�K@0tV��*9����i��*>��9��0vц��z��|ī�=����_VU��E�M
��Ѝ�j��$dX�L���m2�`���O�
澓�%�DɢYӂ7O�k!Y�[ <���#^�}�؛'�w�cU���m�DdN�f����&��U3���gɔ��z��˯-y��4�ٕN�_R�%\��-��:JT�Lrp�$�o��}ٴU���R7�m�n��._���C�ę@4��Bl��G0R(^OX���1
|?��+��]!fR��1�š�5�*�HqV�b+mq��{�����	��$�����s�R����k~�`&
7r�,�X��.�>���g�
	<�U�Fd�����Rz�)1�����dy�F��C�ב���Hy����7�Ƽ�v܍;�A�Nth�F�Ø�|�&+O�:�S�u�:�{�oٯ�K�k��n��<�z���|����YFb�)J���]�g-�WyV�̒�'F�z���Rob��w$US��dW{�C��Gȵ�`�LJ�MM�u5�,r�M�ᰰ�e����['�|�\����c�w*�́�\�b}�0~cL���)�C�U�7�������&G}aP��E.�_�g��7�,��0�cyy��1��c5��Cl��|����s���]���X�%-M*�ް��D���Jf-��̤`���|s�6l�v�=�˂Yf�e��i�Y%"ɑc�ž�sD��1ƳF�c�:
i&MD�3y֫��j�g�{����yә|�W:�dw�(�'�e�P��kލ�y� �Z#��7�=Zɺ#R�<fTs.oZ(T}:���)�8^�5�2�5Rc]>Nr�7	��NV��YvZ���t�D���*/A���c%߬|Gw\AX�Y%#op�g "�%֤�\
�=�?X��$���1�2_����(����Z�q
��G&{�>��_a�.�|���� ��L���v&�+UO��WПs�󓎉 2jԷ�mðuUA+vQ��L��!��Ix)#�(E	�,s�iC�W?$����0�� J$X�q�Pu��sDl"h�=d`8��B�5���T�6�E%F�}ۗ �+���F���w<�pkok.3��Y����u�����lP�������zl���ػQ�6x�Sf�G`��Ѹ���H
h���`���N��A��4�P͡�T����xPTMB��4T�(��gIRy�qv0�mGzٹp���.�w��p8{�B8�(_��^��a���c�ye��E�9U8&Ϝ���a�6�X7�p�^��B��wۣ�JX'�g�u����l*G��\f1?�%��*٤Ƭ�xÂ�=	�qZ�:d3Q�M,O^D��5�r���l��iɊ=xjP��0t��p����G1�žZ�|ߦ�U�i��}:w��ղ�$��,V'��B����{m�)�+�Q5����|���P7�����S�s��-�L�?wv0�k������	��ho����6wN'��\J���/�kT�JI[|@Y.��
��;� h�X�5�z17��t�̱����˹L�8,.�|�R����_�O��Q�b��0��Y�-�i���~:S�$:�?U��0���=Y�"�*��Q��ZQ�bNl�觾'-�`(�q�5�C�RQ�:�57���
Xbq�:�m7�yv]ƣѠ��������uԦR.�Ƴ�<K��xϒ1X� n�8JB��6⩜p���=p�B'��^���@�EV4(�l��s����B�6R.�J0����cQ�S�tU� e$h}�,5&��F@�:Ԣ��D��.�\c,mf��������mN��*:Qo��%B�2֭�hͩ���k��?V������L�;�;:�ɣ��\Z����‰�B��O�Z,� E�.�/
ƖcR݋���I4c'����n�	�yO�k[�C�JRe���)����V��(d�uE�~z3�1��a~��,�4G܍��̕������սa_�L��'�yT�x
�}�ۈ`�DN�L2����nn�AI�#/�F����^
�m�?S�;��a0b�N�E�H�&<��1�����}�,A�-�]]�Y���yQ *

v��`
\�tG9/`U�`U�/XP4��|��e�"����–�?�ĉ�oKtoB�7�r�!?�&s?:]+���j������<
JD+s�8߷�b)��H۠�(L�w���S�͙xF4�}��l
�0���L����g�#����;�sJG*��Ȓd��.q�f�z4���r��*z�_Nz�5x2��+�h�[%8ū����C�NϷG����*.��&�)���`>�-R`�~��0>K�TC��D��A璹Ӻ=T_6��y��cq�#�G|'786����0.�\�E�x���s;�&N��e<S�[��k9�,,��C]�ˍ�d��=I\#v2��W�D�Zn���'=1���k��E�BmL��@I0gV�� j�z�L*�	�B	؅�"��d�i�
��1������.�7V�2+�����Q��4��/v��k�.sq��9���Z}��t=�>r���h��I�T�\��J�Ű:��K�-�2Y�����F�"�3z��רb��E����^g	j�dűT�In\3%K�u����p\��B�� T�x���L�Lƅ�7F���V�
�~��*��¢��l֦
zkD��F�9�d�ĥ򤠟����M��.��@FQ�'�s�4��q�X<y���҈���w�N	�>B���G:M�mq�g O*{d�?��b1C��0�ᔮN7����)H+E;;{�R�/�3ǟ0uVf��J�3=�X���K�:C�Na�Y�蠽�{��:k��<�M�^���!
ʌ �O�:}������MsX5��Yl?6�9�韈u���d:�����d1Z%?3۾���vp;y��o�
aw� ��E�2��
j��WR2�
߾�]�� FK�o_��s�("�P�g�9��֪�!��m^P�S*�.�2h�/�v��!jb�NCn�K'Pi�d����C,b��:?+"�K��A��|m�H�
�$v9r-�7oYb�^,�n9��a�J�#{8���A�p!6;�CUxԇ�B�����e�,Q2ab�P�dr�W?��{�O�R��$_��/'x.������\u��HW�V^A����D����GΟ:o�4{�Ϣ8I:�v: �U�1��}g�D���U���2�DEcPU���/zB��Dmm�R��&�^�� ��j��M�6a�q�,ּU�"y��`rC��.��em]s���C��D�$'����"���%�m��Pȧ����8,!UN:i&��?�bQ���m�m�̸ .��JI�s��
�:��]*��д@�*��ݞ�yZ�Զx[l����Q����
7�!`�p����H����Ujd��(ce�D��J���XJ�3*��K��T���Y�6%ᨥ˳*0�%bu�B��|Y�	��|#�)�����ؙ,K�c�k@�+X�
']BW��Ql��Ǽ'2�<V
�[�,	�+,��}�3|i2�����r�v@�ڵ�g�U�ߙH2�+���x-U�>|�j`ۀ�a.�*+���n�g�k	�&����2��|s�:�.�	��/X/�2�f�w�7�U ��1�);���2�i��0�\H�K��0E�?&�A�y���9,mc�%h�;M�a7�9�A�B{c������-�x]��K�g��:���A�;H5c�� �z|L�5uao�<⦷1�k�zЎ���ո�-ޘ���W��2�s��w�� ۹7�-��F��B��U)
�\$!�|B)�njf
��%��"��y�u�Eu9N@�<�2o��b�d�/Lc,&PN��L\I�ڡz��BA}��t�J��ۭ��tI��X�b�J��i��moT�Y�g��J����S�B�Z���v�����ζ��4jb��"��L;TYq�(������|�S�T���Lq��We����d)��#i,w��8�;�)UR�L�����͇�e��ua˜)S[��S�ws���5�+�#�$'a>��pm��(4h�lJۃZ�����h�<{�3*����&/w;̫�=��S��"�s$A���r��tJq+� Ȉ�:���#v�u���/*>�u�������%�p�v��nЪ��h�'��
Yq��A�iJs�������L��R��Smӏ��o���"�	Cb@!_ʫ;X�|#�R�r��-�+��(�	]�3)N�ݗ%�[OÅ�ho@����f���H�)��bxQORu��2ap%���-e��[��l�6�-�ƾ��U=B�U��a�60P�L�#�SL�ct���>���M��Ӗ����
5�����6$�*g��
kX6Y�\���o3[�_�Ǘv����f���H+Pil���Ty~I��W=ɾ߼هJ���16ڸ�(vQa��X���#�TI��q��_2y���>��7"��hk�}�LRfb$fV<Q}J$��:@��,��^���8�
��g�A��	"С�M}1$IXV;!v熅�FC�Xo�.]��8DH�"ˍ@�"R�f�!5��|�D��I�����
��/lL4���5P�⎃��R�+Q�-.@����,�,�Zoo�s�U�;TJ�lP��T
B���Yrc囡���f06�ԙ��y���݊�����̾�W6�g�1��eaAc�Yv��tF�ֵ@S��s��	'�F
V��E��gX����/�sQ�
m�.Zq���p��Xn
㭙ߙoaT�FT�(��w���=��ݽ��&��	�3/�Vu��m�*�ƈf���*l�[��ņ^pl��߀IF���$���DZj9/�F��&,�.��c�aQ�JE��1����L�n@'�+-�g�~f�($�F/!�Fx�2�1&(h�U��5me	�	�,���H��b��8'���>c��qw]��L�5Y�{�9\�`j�.�l�*����Pt�dqhn���t[����]Ni��֪D-�{�ro�5h)��XV�Q�����`�u�;���LC�6��<�@'A���90a�3![e��Z%|c0v3"������/D��e`.���:6�!x����}��X���oJ�ZJ�0�GE�Z~�C�����߭kFۜ��A��q�=[���Z��:�˔�`y��9�W<1�x���+T�挦�Qކ{vFB~A��2^���Y>n#4�Y�MÕd4�X�ކ�\$[��k0T���l4Ձ�@���oBm��]�D﵄���홖�%�k�۴WE�(ݛ�?���*�2���)%|P7h1�[�
�uUJݣ�!�U���y�1�<�U����V�K�x�h�Z�"S�h�|(."(�$ש�� W��ߓ=P�y���Y����Y�v��ae��,I�i j0���
�)S��7V�M4(����w�q�=e�]ja�ԭ�\����G�e���R5ZfiS%�)`V�v��
�/#�6oD�,���@�K.�����ZU��}�9!�c��ru4��RĮ$+�m�H�0�H��\�:ķS�k0,�[�2�K���������-�ѓ~��&�Q���Cd�W8��!E�!��)`[Oö=i
�8�g����ծӳ`~[��֢�����qQ�
}�Vz�*���i���
�7��.u<�N���҄X�s礍�9�;�pG�d���M��Mp�M����F�/.���]�pв�m��Ȇ�D�ޣ6^�s,���mZ���S«ubݭ�J����dXN��_��q�����|��\�yp�? ��E�7�dG�Q4�Tۻ�"�ȏZm����i=����A	�R���&��fM�?E���27%�ESV����xWy���S2n����|���洰K*��q�8�Ka�|��F �jЕ(<�Z���MIN��es�MS%d��К���!s%8��3�
� �2̛��3"�r��V�'���;LLk�Vb�V�IEJ�B�Ĝ�n���ϫ��>�O~G��FP-Ό3]���'2S^~q��[{��&Z�4l�
j��?�&b-B4�{f8m���cROg��ev>��3���U���d�>*�AK��`	��l�#

,X"RWs�IQ	�ZQ@��
1*g�K��/$4���r��/���/hص�d1h�QY��L2���iO�n%x�"�Y�����9�2.�7�7 �([7�Ԫ�d��&9u���D�SC09�Ň>�`������Wp�x ��C�Z�ӝC��7^��-E�v.����R��Nc��EPn��f�n.�����7k�&�6�5hU/���2�N�ql�t�љ*U�G
k7�R�ʳo���8򗀌��m��s�<d�J�[������3Z��"��Y��<��� g3�E��:�v*?�M��D��h/���S�\��V�`��S>4�YLn�a����
�=��7d�+c�C�h8p��6�I�"NbgM$%�
�:t���Bppss��y�D)C#�{��T�@�+`U�p�&"sz��J���b9���m�q��ʎۚ=�;wt�s��QSE�Qo��XT8�1�KӴ��^i�dB-0r33�z�K__Dh{|[^Tm��*#�\-0N^�VQ�Y�Ca�
�Tg�Vհ,�A�k�Q��pT��,��Ĕ��+>շ�(��-A��P��)�c�"A��gQ"�>�.��Z޸�
Dbϕ���P���(&��k�	�n�2�N0S��#㴇�B3'�t/�e�#�	�#�~��W�c,�N�Q}����X텹ŐOV|~M�.
e�[�y�t!�ϣ�KG�!;H�D�i��f�Q�D�P>L�*G�|�	u�A�	>�?Q��¢���B{i�f)i�"�T5V���K0:��w��hw��Ws�W��F���fE�[2l�*F��)���G��/'���ˌ�ީg��
��Pڧ�xϝȄ�)˂�0X�U�*8��mW�"VM�jAGz�;������s�Ur���Kx	Or�8G���'Dzg��NĚ���/��KN�r�ٝ�P�)3�jp�l�Y�і��C� ����M�yo�b.QEhl�懆UE��f|+�F0(g��W�]X�po�0#Bj����%�O�>�@hs��� ���6ƣ`"�I��G���������qWR�z԰�
��g^(��;�,�H:�7��g`�m���E-��͙n�I�"�D�	5p��#D�,9���&F�*�X�-r�V�!����T\�]�,��Q
��Q+{��#hy�Xv�p[g�l:=})MK*G�P���g=uE��y�3�xF
E?.Z$
P�erX����Jx[E1�)�Ɍ��9B�%)`c49�{��|0�P�v�k�{0U�7q��.zU�)���|�,R���]\F��q>+����%�$#4
���D�����d��BY6b	E�v�$������7����`#'l��)�4y�
�mW��
<���	V�by���tm�kt%r�a���o��=f���c���H$>cY��m�P
��[6_�΁��:�f�����X�2.�I5�������.Ρ�җ��hkL�0Ud�\3�̩����������E�%��B!px��垜Ŋ��Y&�{W;er�2s6lW0k�O�R��{P�yvE��R5�Sh�˗�6V��SY��Dp�Eʘ�5~jN����Sh�	MJ;�Ɩ��i��c0�ɔ�k�χՅ3���ZN-s�Ľ�t�ّU�E��p�*=��@��qB`
X`�{
�k}��n�M
A2�%���C؍�/\��ݔ$��	�ؚ��r�y��Z��p~5PL�\���h����`��R�9������5���n���0T��VF�
���;ce���?���j`j|���ڠ�>�j��	�v7����IZ�&e��:�MA7�Ƭ4'rL���ˎ��:��ac�N�W�qj�Z�4W����4��YIC�U-���rpaQ�p������,�W��$�;�B=�-h���wI�3bϡDB�P\��V`�2X2��9\��n�
Ƒ\�8�8�֖Q٭nm��X-0� �Vkf��Z�`��lj(�}RoLA
h��#���=66%	�
�(v|��2C�Ŋ��Ւ5�r�,'b�V��,�m��G�}V�]�*PN��Iig@�6�91;P�<�
D�Gp)�V#W@Qqb(�NςS�Y+�A#r�kE�m�3eL�R���"_�$^,N ��.ℂ� M3��''�6����d��rD-�A�T�)���ܢla-x�q5o���H���F�F�\��(�GjC��Ӫ�75L��hA�8 Ŝq�,8�=U]8)Kv�ƖQ�#
�Q=���%�<�>���'BN�u혮u�]+�a��<���V��א�j�hb��h�8���R>�m&B��g��@~8��n�=�
�4���Ue�`޴u ���E���e	�v�խ)4���L=:��C	��:�����a���0��ދ��6_��z��k�9��lbe��!�C?*��ה���9n^l�_�:�
����NvYm�	���d<%�(�H�^F2]HfŨ�"��8܆�.R!��6Ү8Vr��>7QMĹ�m(�Af0�����q�2�]e$�т1���W��x�ĉCCC��p2*�z�YU�~;�鉰�R����T#�z�|P
��#�WxWd�B[T����,�K�r�4_�3��\Ƿ�Gy��ql0J�UY�HX)���'�v��(}�Pc��gX�:c��f}��osk��S^��T��VZV�J�X�xħ���ڷE�z;��x|�ͪ�H
��h�5�z
s��{��֐#Kl����i�b��-�
6�r�ߙ���mN��6�m��fUw�l��|5��6���I45K��ڿ;�G��iA״��\9v�ԛ�4O-��Aj���j�hf}�xRP,�c�Ӗ;��[�l��j�6O7B�I��B�*�ĭ��g�Z�=,����5ʭ�Q)1��-�F�<�
'-�of�o����V����2�a���m�OD}�>2���-3@�}}�@��jfD���"J�W+��c;��ĕ���М�֨��j�^؎-�^�h��I��9i��ܑ/��	���?�IX\�J@�q�`q8�%w��R����/�����<����p��ɠ����6D�f3��ɬ��x��g0��wo�5��<�8��H��`wXI�b���Z�B��Zk[ˬ��i�Z�0��[�J �sJ����_
�e8<"��8!3��9$��Hf��T<��a�_��!��2�;�G?Q��f1��8�qb�3]Ia-p���J�w��cv�p�n��;�y�+���:���ճ��;w��Ŭ�7��}�-`��>' l�`��*פ'�w��5���:X"E�a<����b|
�k4�9}�p�Hm3|T�_��y�8�3]�}v�wQO^V�e��^��5��M�P��)�.K�����^
jt���`u1t5@�^�h �D��a��3�2�����	5;?O]��Y�:�n :��7��5m�aj��'�.����d���!�-�Mt%��S0�O|X�p�h[f�EdV!�b^-}���ajDG�
�L������r-���2�%�!�;�(�-՝W�[f1�v���tRj�|�HZ��D��Vc�Ž��L�� ��eq��;��{R I����2�\���Dx����)�&bqX�AU
��Et�U�� �x1/<�f�ʕ��Q�V�v�o0@ral�r.bP�+��AW+��l�J�2���*��
��7�`8idA	.B@g)_��
{�#�x�U_����J���  ��w��� L�����P��L
�����(X�����š�TV�[�)a94�(,�Aז�:��Mg�20�€iH;T�����:��u�,�X/v>	�F���VhDH�̢�,�B�&�S����ȷ�syV�h�����L����@���L�2��M�従�����n����n�����f�؍oA*��Jg���Ј��nQhя�t��,�jJ�l���B��%l�j�d��"��=�b�&�<�gؗ��R�����K���#�A��e�.=��R���V��L�t�U��>��=@F�G@D�B"�X�'�����'ܨߤ��!�n�ܘ��(�"��P�}�/�dюq����C�K�l:���K?y�Ȩ®�^9k�.�C�uK�8���j�U0��
�4C|:iW��5�f����G���gRdgӦ� ���Ugpwv��c�ސ�"�o]
�'�f(�l���5
���@'�lN�J޺u�G��t;D�4��m�>��h�$���Ӗ9Z�(�`�f���h�h�����`5#ZG^�
!��5ƹZ�;��j^/���F
�k���)d���R�QCxbf�0R�Nh�
�x�t�h��cP�D�F`h�$rC;�.�XU��u�t-�y��҃4���HQ륡��'�a���o'-?ž��f�Z��/K-��Y��79/����2��p9Ż�n��+�q�h*wY�VF:�+T�(n���4���A�J�5Z6�;ꪆ˒w�;<�]�D)
f@��`��$�w��'D�;�!+��A���F������sy�X=s�i(+4	=���T6�3� M;7��Ĥ����˕3�K��#���tx�A!�G�e���`{Kr��bsY��`
ǝ��[���Lۍ��P�����Xb��y�-t�˂��ɴV��`.�Oq����O�~�w�G�nƼ'��!:}����Qf�'�l��<sD
ɕ�w��M��L��jSYW%H�i�d���|��$_�W`�Kf<�e��FERT�;/N����#��8��b=>B��"țO��(�$g
���.�x�T��Bm�<T�݈�
) )
px�&q�(856u���q���`%\V�������D��Sh�&�����B�L�~|<�2Q����d�:4ˣ`�N��=�3��O�M>'�-_�u;M?�Z���u\܌�r�t{*ڛ`�@kL1��]�,�N&�'��u,�,Z	�r�/��7���E�mU�G	���k�o�V�{�o�f��tK�̬��.�I�*/9�Æ�)a� ���l
���MF^�=�'��a��	0��	��X�7��/����8�W�iR2I,?��U�����d�L��%k0Y�g�m�(#F?yF��#R,��f�q��zZ(]��d$�;U�C1����7�9�z��T]���O9yb��U�I��{XbYi�l�b���߿��}Jq��-�섏h!D�2��ʚ��3С��L��";)�uA��ɢ�-Lt��5�-VJ5�v�A���@�z��8`�ME.g)�5�t�¸Ď
#��G�T��a�1L��-X4��
cC�������l��B(�̰2���pqd��<�5�+	��ٷ����pa`W��,!_\�f��4�=���`�Uy�4��"��/h�<�a�R��2/x�۝$��h��D1�%ܸ���Q�}���l,8Y,`.�g������7	fvj���Iފ�D�7r“
*3��.O��6��R��[���ꁃ�<h��W�䰜���J0���v����~���B��j���^f�g3.����ּ����+1��!x��P�΂�x�䢎f��zڤt�E0�"�`vpa�@�{{�K�&�)w9�hT�B�kӆ���YU>.�>�B��O�'�9^���D��[کCB���ԭ�-8�TC�Es\7�S��8d-�É7]yq�fP��k8������"�H8]�pT�X��`f�b4�~4Fs)8a3�8lW]�+�Գ�tf�N�09d�YJ�s�ɪ�yt���
*9����5=��3�@P��F�%����
�2��p\X�l���D� �\�0'�^�*k-��!����~�	vJ~��Nt�挅�'&�B�m��;���ʾ�����1�E�P�l(��d��mZ�_�I��$�Z��w�D��-�luD�bō}�n�NIj�g�(�i;�����^�Z2t�����;z%̸��c�!��u�F� ,l�l3H��=Р
����
�����A~�
9h�`��PH�-�94��bi��E�b�z&�;��uZ�q�\�LPΉ?F�V�� A~��Q��#4劆\Ԫ4(:�*�T>��� ��'��U�#�t�	�/��j���8?�ix��9�+��T���HeSk��b
���FA��NZvA#�Yv)x�_^�,�n�_����m��4)�~U�N�����"x����6t�F���\����!�"Sنԋ�(�#Wlͺ��^�������-zb��Q�2?W]�*�ca�aMx�n7jX�M�,CѬ�N�#@v̩�{�F��e6`�e��j���nc�>���1mS%�$/�e�F�x#�w�&����8�d\��t$h
���L������Pr_X/��������������M�0���櫞�ň)�P
��I�qFGv��+�^=��dq��S+��H��;�]�b9�!��o��lC/P2�����3;�� ��9Y^���6��	>��1�M�A�e�ȸ�g/�ȓhD���;)�+59I��n�Y�vY�c#2g̠�n�rMP���I�7L�tw�("P����ԥ�!����5�N>�ATm�\+��t�Ђ��k�ȓ8�b�����L14�{)�JO����"Dz��~�R�d�t�h@b�R���f��?�6@��
��4'���f'	�"}M��1M�6c��x�@��цy�N���1�ԓ�����L9qdUZ-D�
����R�
z&T<"{��
:��t�#�gl`�o̿�LN�O�l0n����)3�K$�D��he������*m�:�a��"�r�4!��r
�x��U.���	c��L�)��ƞqUx/Nr^��T�f��wz�;��7o>s�
:E`�l��Sc��u7f#�N0Փ̵X^���&d���|�:�r[�v"D��t��#`�{�%!���	c�,Q �;y�&n�l��VW�_�LG)f7�YLR/(S\(�8�1@0{1H[x�,w:��7�2�i�M��Q�5B��သIS`�n���:]Gr�s�>��	�|ʡ۩NeW�b��YF�Z��Pk�J#�E�}��@��?�eTv�`V-���V���|G%�M�"M~JI93����U�H2ф�A��L@o���,�dE�S�
�춁�*�k�y�4fk%��'�:�
�����)�4#��K�V�����f�9�U���e�j��o�u�˛b������,������>�	$��eKgD�$�6ar���,\���>�,��z�%��,i)R0�{q~�����J�͈]]>8o.L]�(b$�%iYD5<!oE)�wb��Ճ<8��\H�}X��&��lQ6�C�/�"�L��D�1ዊ�&IK��?k�z|W^���Y_>��5��_�`RRO�4��5?��"��*�f�����ij�j��AG0GG�Ɗ����I����ɢ���JB���C�9o#H{�mnx��m�Y��⌥��n�gD��oCC�{9����4�+�#ꇚ�j��P��#4�jS-8���\�.��)��I
��&���)S����FΪ|o�t����u�rV�i�m��̿�&�~��3�K,�1�{�M@&3��Xq~�7<Ō&m�5!���p/��ۏ�:�:�߲�,���a���gP'�q�l��lu��2JC�`&��بjr��-C�:G`����ـ;�)��	5QkE�F8@��jMJ\?"���pj�*簼��8����g'��e�a|A���*�?��Ƹu0� QO
��4eڷ�J�n�� {~��}^�ӕ�Ʊ\
�LK��ae"��������pR�
���Lp&r���["'�OI�aT����
��|?'2Z�T�7�y�d\f�\m
�=f��'�L%F �-Jh�@k�G�7�;��[��bCDž+*M#3�'ʦv��g�e��;��2�A��&��β�z5�V���n@Ə��V¾�<�w�H�M�M-'
D��֊��u��r =�*'Zq�
�}S���L;����8��`m�I�:1h�#-D�٭y�Fi$�V^��T�K"���Ym1a�Sd�u׊<	Ḻ���Ð�3vi�������Q<�ŦYS�yh�!<��v��J�m�D�?_ifE�W��,�U��W�,���ڶ�+���%y��G޶�]��2��uv
�]a�D��\����ϙ�@#���/Y�x�7E�Y�n�I���F{^��;�#�� �?:�AeV�%8h�]�K�W\�l����_~
o���_|}#�{�M�sx����3��y��\V6Z��~�A����F�;�>d�F&�k���M0�k��B�E|���,��L#\k	�"�����-�9�7�!������*L��·�3ɔ���yX��,��Ik�&6ُ�%�§�+QIm����s�ET%�faqR�Em�(�F�Z5��z��T��~�O/{%3�4(��Ƨ�e�`���¯�32�;������.�mͶ�U���r��*e�v�0�eS���h��ܰ)��xg:g��Z���!��h r�C��l0aq=�l�ny��
:�OR��Α�y�uxy�ax��v��
�����/�:X�͖`!28������o{�]���X&>�n��>�OB-
���#�ħ�2�r].�([�"�X��Y��xd�VwG,*�����ɩH��f��jR�W�:�v��ꀉ��Df���r	����4�� �gc�H��aڛ���9�z��b�Y���~��\�LQ�B1��H3u:�"3�8DxC4�����W+�l}q�]��5�T�E���u};�C�d/�t���JX韱	ZXB}�_
:F�3��3��A�Pwߪ�Q�γƝ�O
O��җ52W�Dǰw�v+���F���0F�P���)��坅�3�̈́��h�i,��M�9�U�NT�Ιd��� �i��=�W�IB����Y��>���c3R,i�`MS���	&�*��Z�k��=�ةP�������`����.�*�����+xUgӂl���e�ˤ�P4�8�+~�5\�
��I���ݢ�Ժ��T�Bg$���Y�d�`lU�\�0`V����#�-ɥ.�@�P*�f\쾒!a���Ԏj�t�M�s�������՘��7��K�6�h�lH�!��2�b�.��Ƥ�πK�J~JKGה-�P��m�qi�Y��D�<'�Y�>��7���o�Tj�ʯ�<dfg���_2/����+=�zمZAP1J�_	^��E<0}�Y�F׉3m6���7��*������5�i�JB�m���h��?f��If�Ȏݛ;	"��dZ���0r���YR[�/I�*S�e�50�W�8兵��'�SQ
bЊq���i�����p��Q<zE2I���8�x��l2IP%3?"����-,��,��!�gZ��:�|-���U;���ń3j'f"��ՊMk
�#��e��*2�P�l��u����ƪQ�)Y��2y�(=�J@q&A�.�k��8��͘�kϷ??o��q���F�E1q��d��S�M�/2g@��cM䕽i6#g�T6�~A6��-�HBPw��a��3g��=���R��a)�n�7>c���[�b�'�^�wf����c���e\YM1fzhYB]4a$��Q,;%��;���u�@���Tղ�t���XQx�=�+%�WQ�ֿ	_\R�_ܧଥdfsXvS`��2CȺ-�d�Z
�;~�fS�<��S�h*�.5ג�̰ς�4y�HZ`d�Z�tK-B����J(4К"��e��w�0A|$�]+��`ٶ,˩N�h֚ekC�Eh3 �nA�J�FMl��Z_=h�1]��}�n��9�d�[[RmK�U^qi!47[,"shn�6qŜ��B�%a�m"��#����0��6r����s��K�-�wg��GЌ��豉�B�K�@�̆,ΘP��nXم�q�
`+s�a�i-��(~���2��6N�`JK�o�$ab~y��h�!�h<%���N���`��3v��X�WP,
rdx�����4�JS�V�
�m������1�y0Ӏ჉�<wB���|f�$a^��@�,�ʑ�4��
����R��NWGe�)�-�êR�
i��U���Y;g=U��ˑ�f�3��Ò�<9�O
n�0��i�tZ
߫�<���E[5���^�`E�Y7�aR^���v�}��1}��a��_��!+rnH�m�0A����=w,�oSk	��;���SFԺo��������s���ǑN���0��I�f�Z�L[/�E�L�<�L�H�i;��*,��d�9�h�UPV�)��'}'ٍi`�Zˏ����i�\�9!�?�zeRЬ������x���0 }�f�@_bD�6V߳��F��L�7=�Kkbr�VC%�����۠	s�
��d���|�*���_�P^-�Kőh��O<z*@0PN�su“!�⴫��;����y�%���+k���#!|C9۾D�yUNǍ�G��Qw�LN2p$W�C�fh���l��΃�p�=�	���sf��$�Q��������$��CQ'dLڳT�ͺ���qi��|�ߪOi==u��Ot�"Q�m��[�H�8�^��d�iۣ��Ig���`��^4��0�̵��	�2��&v�z����[T��9z�J[*��֛�)ՙ�ζ�#�Q#'Ũ��c�2�g����q���s.�SX�8�Pf�l\U|��Y���Ԑ�-�,akz.��G��c�ϰ�!3��ϱ�:���U�19n	>-�Q��Gґ��בX���{�4�gf.�����l����x�+�7a	�o���v&�6h	|,ԝF�G���P^K:��&L1;e@�L��Zj�X�����ڰ��T��cJ��3m+��23����|y*���7����^%�"�X�|Y�u<gT��/�U�0:[�Lo��,.�U�ބY�2�����8唛��`zB�U�/!1]d��<�3�_�\8=���lmzS����z����ؽL�Q��̺���	&���>Ѩ_S~��o����9����L8�����6��sxe�I���q��t9�P�n�5��l�(���,Ǘ���)���/�S��,�=
�2�I'b�׶%�^��Pv�!�9���J�>k%�
%��b%��O�[��X�iE�t�@٦D2�;{T�[��h���"�¸�)Ǹ�f#�E��k���}e�Ze��{��F�(�j{'�ҦA	f�f�`���5�J:s��Y��m��q����؀��J�6P-���^uCk+nPߎoA���<<J������6�
�⤇f��˗v���E��K/Եd��ves�:;u��
��1O�i��Ɩ�/|�;.�륜4<M��ʚ���e�2e�B��b:K�@�m)kE[��*�e����"d�Y7�Vk�j
�U�cbd��	[M�˔.v2��K
W_�W��-(}5R_^C<�P�[N�kV(�xܰ��g�UuH�	zmAv�!��N���H���!��6����͞v��
�.Ly7	FҪU!��"L,�j���0�ʔ,[0��=�^h̞���T����	�|�MM_�Ciݺ�U�ߨGh�hcUnCK*�a
�SQö=��U��a;�ⰡD�<�"�JL��l��ek�Vu~�eŌ�W'�C�l.�3h�2�M�oc��Va�=|�W���e�ң���p�?]�$���7��m.�>K�3	�"��0�-�P��o���eP5(nX`��>�Z-^#�yp��#�</m;k���Ua�[�m���n]�)#��߼���u��.�V/G˻f���*�*,c#̪Z�6�YaR�AE���4���EI�5�"�)����Y��Ø����W����p���6�����h�J)��؎��=��Aе��:E-�F!V��ǐ{�{Y�\䢪S0���T�AhGP�FE���5;��gH�.f
//����V�}�d֫=ыR-��;,d� ��gı-9t�X���|Aզ3*�γ5i&ٓ�<й��ھ�d�~�oi���P+-?�R�Ֆ��f���U�-���>�8��b��/a�����B�efO&ڜ!��*0��xe ��8�i���B�0E��Nl��ժ+bbO�u;�)� �#:\橨]�9[�}�i7���h��W�r���7)�Z˺2*/c0/�9�j�JT��a ���6�N��$�Z��y��Տ�$0b'�j�����TI��y=?�9��3���Y^;�TB:��4�uF�+�Ob�`p;b��O:�y!��'pRs�U��ת �٦�[90)'���Ξ<u~[Wˌ4��Ӥ�c0�Wx�#
'�@��ӌ�^�N��v3�[�3����}=��Z�e�Vk��X���D��M�6���m>�?�����,"��4��+���_Z��Ȋ�d�](��\�A���}_n��mr���.O%Q�;xa��x/Ƅ�ȅ��i#��5+P/a
���d�(���-~HS��v%�����R�,j���s�?��v��(���(���
Պ5�B
x.��z�%��)�Фd��Z�V��p�f�$Ϝ�O[źO�.'(�>U�Á�U�-_�`ZS�ئ��~�)�eU�}�笷Gr��B��:7j�5��l4�
5��#U�hfˎq���v��ن'��}�F�"��if�>�D��5�mO����e���߁�PԼ��g���~��{AF�#�Ņ�uT�_.�RB�I��b�^�L��z�`džc�h�����EUC�X��q�"�x���Ӛ��R	��S�"�MSY�\������=��V�w}�>�;��xZ2��]���金B�\܀&"�e��VA*�O=u�@*��!��qN`n��Z+4_#��hQ�^΋Uu�5�X�޶�כƄ���t�ls��OY?TF�IO��lm��I��Sq��TlB��C�	�M���Ҝ�hb�V�9����� ���`w��,���q�yʝ[����5�Mf[Wss���\�-�(cX6u�l�:%6��Ѭ��B�Ǟ���|�Y�$I���a�$���������kD�:ΕD����b��JY��b�-��Ш�ʱ�=;!�ބ��c���h;ȦE�	g����
����D����]��^�M��z�:��f���\���O՚���.B��}h�&k����.h��)A��D���D����+Q�N?'�x.~��l&MoĆ�'��.�x6��6�L����e�q�L�,ѩ�Q��Ш�@i4�|�ZX1����v��4��[�3,�JAG�n�3�Oʟ"�q>x��\i(8c����#[+�H�J��B���U	$��4�B�3���Գ����6���˛evT�
�jMj(���l/�!U�T�����J�ˇa�1 �g�dg�"�;����SlQ��c�al5j�cb��e7	;d���T�z�~|�Χ,���P�\�fn�Z�M��'ˆ��,�
;�v��!��@6l�*}ʲJ��|cvk
��Xn	!��^�7�B��S��
��m�
�k]�|#q�$���e4�� �Ǯ�yC��o��Xc��16�&Ft�cM�]]�٥\��k��\��ƛ��_FFo�K���cZ�n�M��N�B��ar�D�%�i�;�I�
0/���vo��ϴpA�.u�n�ss%���q�8����E�"~/��:A0�q�N�/��{�����l\�8�l�b��Gq@��bh8�a���>�_tz!8Œ��sv��q�l�~*�aPH������<��{-�u�0\Γ�Ce�[�5�t����ò���`���6(߭IG����(�޴���e(ۙp�G����91Xe�|�6UŅ����$�~��3���<����C�<1��.��k^�S��v*71|3�M�	1V�ƮH�JXTߜ���ͻ�ݘW�7�_��)�6�F�|�(�E��(�����)��]	���hUT��M���&k$�ׁVM젲�O8O59q��*��t�dS"��8��uZh�WM�2�"ll�즭�T�uozn�F�Ѕ0�
L��3j�&S�Eg�7Th����>K�IК_��2h�bc��Y�÷�Q}O�i���z��J�O���M�=z��E�r
�R��-�h8t<��YUo1]�2�w6���և��0+��-h��NWC�l���p6�I���xn�ˉ���Js$X_)i�e
��N0�Y����������=h�N�����p�(H pEj�n�
��T�m����ҋs@����]f�Z���f���	(�]��ҕ@�ҧ�չ�B�o#B�BB�:i���#�aU���+& z�xƖ(��82�ʁ</��� 	q�<�&��$f*\�͐�#VB�Q?JI�J�g$�J��.
�b�&T���V�t2�e�G(��Y)�c::�׊1)��S�U!�x:���?Ώ�h�~27��pJ��U�7B�zZ�޻��ba>g�ˊ)i4����'ٛw��uՒ���^F���3�6�;i_{o�놄�J�/eq�#�MTm8��n�R�#��A>X�<�����;�f��%�r�&�A0�F%��
�&��P6���fWd��4��s��?L�mEX+����O�5~b���iѝoQ��(0B˨�^�ή���FllR��q�_�dߵ���%�����
J��Љ��c��z�7�}���VŠ+1\%%�WN^���J)Ue�{JF�,M�Y.�	f�|�R�17O���	�Rwx�5^�(�O�f�6��:���,��MH+���ɡM���O�^�I�#Y���`�.1%���α�<o�
�W'l��-�ߗ�L���2�iMjۄ�58R6��E<�AO���P7'�K�Dc5>���^�s�F������X2�l�%۪S�M��i1��n5l4.�}��9��C�q����n�9�Π��I-������J9Th
�czy>$|>m�*�Աj�GR3e��'ZK5��c�s�P�%�X�Q�j��Đ����
V��iv��lh��
�0\��I���m���p��ߎ�L�tN��p���45�j<
�t$��9���'����(>�r��N�����6"���I8L�G��L�һ�?�敆A�z1g�婙�G{M�~���0�j��Yb�ht�Y�.��f��fbx�0WC}r��ftѽ;��T�rU���2s��|	�U]hAG���@��&a�|-Ȅ��8��Rp�Z�[1�o@�-}�K�g��
��K2�I�:FRo�F��h]$Z�*����Bw*]�
�����������1^���(=J�)�M�QJ�x��������c�jH��_�Q���5�(�G�
ɶ��V:ùQSn�d�I��)}~��#�����nic(ռ��m#�4�׌�%��p�Z+
��G33[|����lj�D~�/Ù4�f�Fg'2�,�
xSf��s7ə�Ht��'@?}~1�

>U�b��6.��ȎT$����Mxjg�p�:A����<��x#�Y�6��=��F�³O40,�t�(e����l�*���Q-g�%�Xъ/���z��S�)Ӂ��U���9��d��m���z&4�r�G��Eb���M�<v����b�,3�^�rA�q<�'&{��zI7MD(���NW��� ���Q����a&4Ք���]�TB��w
������?#1͋#zR���cr��V9P���U*ӗ�;,4^w�V�ֲIkIJ�A�Mh+5S1'��:�+�U��p�3����P�7�W=�*��4�k�C��YgUnb�Z���Igۜ��Y�m���t�zeg����b<�m�s���s�=!�@�[C=S�2�BpO4rf�TyC�؁��,~&
k6���~�-�t��
Z[�2���6���-X4ur���6g�n-V�dY*&�j¢��!�$�8�n�hu�Gt��mK�N]`�O����_��зz��e���	�j�w
�˾�=*T7��xd�x�}6��@��]5:��0/{W'b)"O'����Gt��ʆ��R
rCL��r}���Nl9���3M7\ ���@ܰ��צ�\�Q1��C��l���$��TT�A�I�"�V�?�Y��Te<B#��1�m[�N�5�ɸ�U����~D<;s�q����;��ܾ�D=qu��^ҡ�e�jb��ٙUp7�l�Þ4�5�AcyB>�Y�7�K+X�^�5��պ�'~\?'@<��� ]�ͺ��PTe��:7��K�Z,=ة��,JÉ؜
K��
1b&^��Zo���8SV�l~�y*�������1£6t���9٥��������Y���.	;�b�L�y�?E�0�p��V�?j������_��k����w�'Q��:���Z�N�9��4�5g7��o�-->gP�����,d>��P+?�q��<�"ȥ����]ɞ{��–��d�kBpT%�D�A�t����P�l%�c,Ni��K� Xz�p�]ު~����4v.*��w�$+�?�2����n@�����P�7cb,���[N���1�LĊ��U��b�gD������)���]z
3�'�8$f�V���:Y=28و�`3�`n#���C�F��!~�"��8����0�K���9����~hʼn�I0�R���^�>IC��O��
�Y&
�t��m���%�O�z�2�O	ER�	�Fz_���r���.�Mo��'�k���4�y���{9?mM�1̇y�dC�%!d�)��<��+�Us*p���0νѨ�04�?rL���~%�c��2t�m��	�D|���1��k��]2�ŠN�.w�e���yIT�&A��b�m(�ף�5��h����J89Z��[:��`��ꊝ?&,��gM������ ���#>31JF��@5�0��&���f$v>څƀ�3�9]�ȍ<�f�:�L7X��!�0̍[.'L0���[F�R*#"�OU�w�4���wտ�Lu5&�g�
�����_�kȆ)����.���=�5^!����=�dl��slc0
HY�Xd�*����4Il|�,�
��&"^,�.�0�q#���cY�w���)�#�a��K�"�-Flh�mX��ug-�Ƌ4�8���7�9W��S�L-�N��P��¼5$�869��uw��<�|�N
�uٔ���l�($Nq5��J�l�Ӱ�B�Ƚ27CR7�������g��D�%v�"�A�!�d.-Cccy�O
���J_60�&�1�;�E��L"MX��D5��2�3L����5��l&��:�rkxn�\ؑ�G�c�s�-c�g�(�v��t�9��NE?�\N�b$l$��1�l�W֍�s��M�	�kC�4ό��w'ݤ��{62gkX���l�2�K��p��`9^��"o��s>����`']��.�S<S�)
��W*�p��hC1�c
֫a�>ޚ2}8��U/��R�4MLST���JR�$�h� ��}?
ݥ�?������u�'���(�1��+�yU����K3�2#�,\�㶤��q�+ �,�ڈ��	��5�����݊$��c�[8'�%@rʈ���	���ҜG�Xu��Eo#��P���^L�9���)KҬ��S�- �j��ۜ�S�R�/5����6,{��.�$nS�=���Q�eZ�t�5i�'sJŞ|l
xU���V�SX2'���t�4�krF5�:$7(�G(�� ��1|�T�W��e{L�b�-�B��!�"�n�Ð}���j�Ɉ=�BԻ�<��?eKYZT��sq#{�J~(,��������Q?�,&Ӏ�M
���x�R����E��1
:~J�}� ��q��5'm)v^
2]K�,�Y�1�]�q&i��,o�-�J訴A�1�2�ULTL�l���WoQzM��adVDb
`��Iv��9K3Vn0���y�
��#LZ~v)�e��
��%���kg�F/��ޕ~l�D&f:�8��F��<w'�b:��D�u��
֓4`?$�Q���=
#��r�X��I���������%��W
k�aw�@�-6��ZLj����}֋�.�9̘����u��E���ZO&��H��x�;��S��8V�9)���<UT>(8w�R�́1׃��M�q	ܠ*tnɘ�<te��E�|X�D�Ω�:����lZ�!&T!��"F�' ��rIs���$�k6L�餜/i��2a%�sґ\�V���Ya��Q�o@>��{ ��Są}����âa��̬��B���Z6�\�#	,?����Q��Qj�`�!=<t@8���8�T~��~j��	gx�(E^�����d�ZoA����q��P�:)U��������R��I8Cv��A���[]�'/��2'�����-�l�Z�9�B��cw4�7=}�\h������3�ڊ��2%�xf�B���wB'�"J�?��*Eڥ��MevZ����z"M19:�^H�8{$_���:g��sZ��-3�滥e�d�<��3���k:7�Y���=�8?�7�ԇDr^bG�"33�TQ�5*��X���tk��bF��TC*i/����P}€'\�U{9�E�t��6Hŵ�!^`ƅN=�����z�f��G��20(��w�T���`z��E�
y��)��i�(�+�(�[�חh:�o��c1�Q'�4�m��Yg�8Y
]��f��<< e%B�%P�~�8)j����Nle�n&s�
T���o5J��J9D�ũ�6Q�<��C���Ɗ`n1�l8�)7@���֜��ۏ��p�=�h��س��0H[�1��
9�E��2��P�:�jۢ��t[m�J��_�z��w���ߦm���]��R-��\��+f�]��P.*�H�Fi_�o B�"V^N���T�Vfw�<B��"���}� )}���L�;�n�
�u��#�.8ߒ���f��[W	+��Ց�`9�X�[uc��
O$�$Gf�%�e�bC}�֫r�Y&�P�+�n4�^B����uC���"A*~���M�HD����j��b4�]3��{�Et�g�>��T�䅥�]�]�:㹝��.���bb���h��N�LnU��S�V��X �c�=� k�#l�G�8e)��Sp�.d�nY�$��6�Y�66�}�ª>�”�
;5a�����|#�uc�ys&���V����V�K�pC���,�9�I螌�zq��$���XH$@�J(}tB��=of�9���Au�FQ0W����Q�%��ʺ7�%��:��u=��Ʒ�-��x��j��b~d_vg�Vl���z;�^aӪ~V��H����6W��a���We0���Bw?�@�2	�X��xW�n�Z�Y�w�7��$�d�Qq}4d�eN�&��ZA�u�j,Hq��l��X�=_ #��Py�`IJ�>,G(������>=V�'5a˟��!F��)�,�H�/K���3�V9=�K��|v�*�e��l ﻀr�R�d֑.�9�6V����tS�4US��e\:P�k�³�d�;F���]�*8�:{A������"�m#�i��\V�F2��[�;��N��)Y�@m�""AP���O���V$�ST���n9D�IW���KO����H"t�h�fGj��tos��W8�o�2Y��H�-j��	�j�y*�&�2���{Z��>8�|p�FS�i��՛��!�)V
���Ԯ�o�ż˵��y�[q1���Ou���ة�"������h[��e͠ɦ�Bގ�aіF��^hu��m��y^�IGE|�;V��u��1���{6T�*�I0��[�6�^�m��O�����vf��<��F�E���"��	]�"ݜ���1L����Fa�H}??��{��<���+�)g��Qm���@05H��ǐ�#8	�r�E	�<9���rn�9P�����7tH8�����Zt���h����'t؊�&MFdZ��o��7�#��z��o�el��4�0+hPB�7����(�*�4�۷B���vC��XmM��Z��X���C�5\��-$���}��I�q��~��fƉ=�)��
�A|%��/j�����9J�E�����\kζ
�i�x/X��X�E�x<�2*f�JW4�B�B�&�Lc�JP�0�4I#���r3h�����s�Y���:�{�R��$*�n���5'�Eo?�)*$<�7Gex�Fr�l�UB֨I�:z����4�b�D�H�;#�BjN����6���Q�(K)R5��v�o�OU���*�醺+֐	��!Znc60
S
�S����vU��+s#�;�ÊpS�=a�@ؔ��`ϛ+�M]��O������m
�N�]��+�>��38<�|��VӯKK�Kf�2k��7`�z
�ex-����Q`��G8�\�J�S��k�0q%2�</Y�Lf���dWV����ɘH�`-d��� bq���%S�lƂFxe�H�͘x�G�Ѐ4f	#à�l+�E�j
�ϱ�[*�Ӭ��w���%�⩱g.�Jj\�F6c��2�,����r'XM���kh��g\�*kսՀ=N�w��j�ZGbJ�ML/<���R�8ɟ�׊5��u�PҎ�Ԫ��|D�0�.S�
5k��Q��#��hy�pgk�R�jrQXTH�p�
��XF_�:�|U���Ji�$�+��]�@�
԰>;�4����j<A�	즂�0	���n�\',��t@��40ꊊ�C���~=�5$��,@xeAH�*�F�,��|��j��4��B��=�K�b�{�3/
b�$���i���qf
�{�C�'�����$��`��'%el�l]�V
tA@n���V��$Db��묉���
�lG)�꫄�r��-]/��d�쿺�s#�SP�`�j����j%��y��p(�bD��q�2��M���J(�*G�?n������<nk e��f�\�Y��k�e@3.�o��o�>v��{��E����'�ʜv�QV�o�����g���y8$��;����v��Ӱ%:z�&(���XK��D32�-!�H�ت�F�-U���Zʃ3�^�P^�b6¤����CN�$a:p���e��Y'�bK$a����z->M�,O���|R�{#�A05���G�^
��p�6�僎Bؓs�e;e�jπ~/c��Q������,��'�)GHl�bp��:���:Ӑ�
�c?����K�"!<Ox����^]]�pG.fy���T���
�V�qK{�'LŰ�1���������(0Θ-m��~�:�VR�P�iJi���b��ڃ��cN
�,����q?��f�!�t��'�%����(OjͩN��Lgz��(�D�LԨ)�,7B�7@ʜ�h����q|��	N*-A��!t�|x��W;[q��tU"I`�j?��j��`�����5��z�5c.x�Wt�K��=Y5�]�{jur�E�oq���"a�+Q��i�n��w��?dv�W�|�BF��`�f��0��o�qqC{e_�L>�IO#=�܆���C94��qr:�yF4�lcųk4�0����*��f�
3HZA'�Sԁ	�z�K�$���x�Q�7��UѦ�g�Bh����$JH�&�W�
V{�E�r�������L��6gzKQ���3���E*����E	g6�����pQ�T<�
�p�X�.fZa�k<KOf�/�qZu�o,�a��`�n�`�p[g��lF�+��b�9����ݦ�X���`4e,=��UWO�^G��1X�/��b�k�J}�D��1p@[qT��S�U"�j�����h7��#Lp~2��V\��Pn��M'�AQ�*hr��T,�<�]�siC풙�_��(�*����T�5���]X��K��.{Ii�:u��"��P���ZI�_B�]�M}�T �P��\�޲#��srF�{����M���d�諭
���v��/���Zj2Q�E�a�y`� f+;�QZ(	'��l�[б�Sס=V�gLԘ��N�0W�
7�;f�~�l�q�T�ue������W�6i�!B5��כշu��}�3�5|a�t�ji�"�&5C��*�X���"qq��eڪ*���J�������#�T�๺rkc� ���V,�2�gz8ۨ{��ɥVt���҈������j�|<��c�]���C.#��i>!�Kr��+o-��س<8?S;H����-=�nQ�4�48Ƞ�-��:��yLO�>��_��rGҚ�8�ʋ&%��Kb�O�ѻ�%�
�JÈ��6���HIn��G%�%��|�4l��0nŁ��t8�
$\��,\�P`��R�Ёj�
.�P�46�߲R%��	��P�w��T�Ȁ�{���N��c��T�s@�YG�d��(�:����`Xc�*S���i���O;�e�#g�&6ΐ�'��h�6D|�*W��kM�����>.N����[�2k���u��dF{#��()ޭbE	wX��i]C���O�>�>u%�)�!�Z �u�p�`���*���Ɓ 8��ރ}熐V�Ю�y��dH;��{�]����3�==���R���C��+��F�L;�h4V�,i
���Ǯ��Cn�ˢ���F+Ik�]���	�A+��_��N��DȔ�|��e��r5.��JD�3�u*���4u[�O�`L��)�q�b�a���D��(c�_2���I���tfo��Etz�w��"O4jJ�)k����:H��D~���
$�x(���4�h/%]��Z����~3�߾J=��RM�aG�
�o+��H��[�M|���S�F���z�\��X�gn���3gEˑtE%<y@��O}���5�Τl�F�+�6{�����7���yV:�ۼ����(?58ʜ�D�C���`�!�#�%��΄;zn!Ie�ZJ�`&-�_��x:�;_�ia�E~)6 ;s�a��!@�s `�-ܹ���3nkW�p����ߕ	
�?�o�q�Ԅ�Hk	�i�j��̜X�7�,h-��cՙl�?Vg+{���w>�s���*B+Tyy>��kr��ԗ���V��0��/~���{pn6"�Y�+�q�Y��2��ţ�ծD��6'����ޔ9L�?�N�4h���:�Y��2�&m��0^��|n椤)��Y�_>���Si=�-p�H;�<g-4r>^R���v���TLR:K:l�|b��MU�l��ɡ��F�%�(�U�#�s
�H=��>1즬��S�[i�䎨�[��%uT|���ǐ8�r��*�ٗ�*���>��V*ӑ�	h�g�ޫ��PKi��[+���#�zlitespeed-cache-id_ID.l10n.phpUT	6�Ai6�Aiux�����[�rɑ}߯�UX!)b$َݥ��G�!ȹ��)�@��=}!�y���d�ɬ�HI�aG�̃H�*++�'3�_~Sn��\�V��ˣk���6E�諯�ΊfV����ӧ�?<�<j*�יm|�T���!�����O�����Ӄg�a�>?|���g������ʬ�lv�*�mͥ�~P���F�*7_�g�ڪx�́On\��c��k������K�sl��O�]d�<c�nL�2gk��2��[��|���
~'yt��Yfli���1H��,�ƜnÖG��76��ٺ|��e[�ځ�vc�*g���	�4��va+��ύ���$~��f
��]�<�٩����_�R�4��p�UT��l��85=��m�-�����KK1슶2%9�{�U�f����,+�z_,�䣴�+�c3��ek���5��R��[�����}�o�M�Yf��sA`af�֛�]�Z��M����}5yO����Z�1�,L�g|���nm����
}�7EQ;s��ˍ�ԯ���US����f�3�1m*��j>�Ze�� '��tVE�'B��'6���m[JSiM#�X�f����f�͵���߭_��=ℂp�V�����١yXO�t��"��jo��
�m���m�g~>Q����Q�g�*�ks^ܒ��+����|@yL��Ǧ��k�S�5h�C�b���?�7�e�GI�g`x\����/�(��;�6_2���7;���h�mQ���Լja�^����,\�. �}��U��7�gr;��r��
.�)2��~-��]U�b�i� 4��1At1���7�[OK�y�0Z��,7���G{A���ҙ�V`M���٘Z�	�X�g~' �H`_�C �p����zj�D�Q1r4
,�K''�������{�{��B�����I�Q�y��>���i��ܙ��Y����B�M!a�ħn�������1Z���x�̊61�"ϝ�����,�
�L�LR�i�5\����w۵��H�m��2�ScZ��VS��6/,T�����=��O".\�kj�ˋv�A
���Ѫ:6a������]w�L��,R
<.���t�Okkl�_7���N�6��й�.K�>hZ�h���#�8���-։�ز̼�?�����`�іj���7B? �U��ov"	�9��ѷA�oK{�6݊�@�!��<��Su��B�����@�XD���'��<�B��. J�k����wɇ]0b׃�ybW�>8�M��̴�|g�{dm
j�_���j+�ܛ& �F�q�Q'�7OϢ��g,�g�3��}�����2|x���O�VŃ�o�RE^�ڠ�����K0
X��.�4 $X���p�1�+�0g6�668"X)��-�9ڦ-��m&̝8��j%�F��O��S��x�[��=`���a}Y;I��%�����|U#��_\�<��b���R� A0�$$�^$�Tg�C��0�Ѡe��VX?���j����7oڬ���+�~hN�$����.��`46u� MN��,;T���j
��|nm38J���I�J������fgl%"�`�L�|óޑRi#��精A�^Ůϐ}��t�������!�.Y��%�Hq�T��7��f�*s�s�f���zoB�jpo��NC6�/�9&"�]��yR5~hz,:6�=t�o�
ٺEt"�PfC+?��[�2��l�F%�
�CqJK��+WmZƙC�i�~;G�o3~4wՍ_�g�g�À}��"h��Ad�bA
���� h��B�����+��,���u���9��5�d�����1�%�i�R�4�4Y�-���ÖmQ	Yg��3��ЕE
��z�bb�v���	����_��.])�!Xt-&C��E��`����VZR#���`%5�{���W�YY�5��[��w�_)��G/��#�Ҩ<��-��ɱ ��c�)z��p/p��rڐ����,���s��v
w̎~z��A��� ş�o,m���G+�g��y،b��i�f�e��"��I"��%�1B�)s�%�����N�7��`��(a��ah�;H2O��A�-+{?>J�ÕX{��e���6���#=��p�C�-��6KV�ө\�]KL�u���m��0����sI�-�{�l�s�A^�H��D�9�Y_�a4nJ2\~��I�ȹ,2�rd��#��Ʀ��@�SБ0�	�K,&�R�;���Y�JV�(~�w���Á��o��%��-�a����m髞�D?�v��(�|�7������C�7+�2`(�F4��j��3�K���v�Wn���Y� MI�Ѽ�1�*�j�����%�Ę��t�B��Xd~��AcN�
��m\�uX�B"����!>�aI+4�D��πD�/a�u4L��{�:g�_+�DRm��2�a�Ǹ�H�{b#����b��T��>�E��_�Q�f��GE`�%��yXG4$���K�k�3��€\.ժ�f���v���41��D��+��n��"��ҥ��^�r�z��!ɷ`�
�t{��������Yה��	.	F�vn���ؓO	�U5RWPXz��
"�Yˆn�@��j�T���(]���n[�`��������C�f���nQ\,%�<�����ԥ]��%�}�r�ۍ���)������o%�oY*a!|�J�P\c�������L���Q0c������7���nR�~��[��dܼ��_�/���w�/ͫˋw�����K����h6;;Epzq>����ysty='�o����);;}{4?.ώN��:Q�l�:q��F�t���F�9f`��2XF��O��kF-��>� ����%*�03�/!ƣ�)n�u�,��I����3�<3ܧER�M�6��gE�Kr�1g�Zk"8��¸�!�2o[�q���(���s�
�li�(�xx���ջ�{�����Dxu�����[LI:� ��mە�su@Q7�F���Ux��2pTo�6����jJl��y��בA���f���q-svCi���y��/`�_��H��kg���	�D�'!K_�6҂T�X�8�q��*�q�Ѹ��
rG��R!�Uq㓘���.F�z���&,��x����B,	��U�+�YiOX4k�f��`w�}��9�ƨX�v
�)\0�W��-��ݶhk�~�p�gR���%O�#�)�T́S�"jj$�k/�����<��c�f`.(����'�u��GZr�`�JP��E�s:�I01�?eS��6���Ê۽ʵ�����N����ZF_�M�6s$��5Ŋ]���2�Vr�N[�H�1a�Dp�.̦�*���w�������@wU���q�}I3\��(>����e�|d�c�!�:��Vb��rv�V@�1��j
U�b85H���"�p��	�����0l/��!C�;\~�nZ�}�n�y���t����:wR~���@D2
י�jح�(�z�1�U�&	y��a�J]R|ξ8���U�4��-��qC�$?�p�}�:�~�pB�
�����l^&��,���n�6@�=��(�}/m���šjq�7���>��&6�I�Ŋ�|=l� �s�+Em���m\z�%i>ַ^R#ݸ��+�U��Ne�C��M���/>!g��] �ѽ,G�z��ivp��q����t�'�F|!u#�l�|L��"6�z@i}���+��R�YI��d��C�ar=H;��
�s�p���g����_c������D�+��qn���aP�|�9U���'�ѯZ��]r�����N��zDR q0(V2�ۛݝ�z�(l���|_F���Gqn�KK�D�j��:Ԧ�`a��k���}*eIK�o1o��͘*5�R�רW�>�V;�`�!�����ʏ��+���\|QT�1�x���ps_��r-�˃aj7i�l��Ћgn�2�(�o�tCE�S��D=F�K�dbgS���gy���3D����
N�6�O��9�z�B������6��BC�v�:E5�����ٽ���Y���j�\�0�9�����|����/���$�{졕$Q-��aI��b�{���=5g@44��!K���c�#��Ȍ�4�4q� �i8&��z�H�Ϟ��	�X�b�EO)T����*���dO����m�hL��?k�����lm���tz�ޠ�t���F���m���x�8؏ub�/��\I����V�&��菛�]����Z{[�#��j��"�
7�<j�v���XrdHz��D���)x��Ek��+#��܍�vZ%MP�4|n���hҥβ�q�״u}GbϾ{N��)'�mY��q0b_x]�u��W����T]h���7���i��F�����8�:��b���.�f�#.Z�5='��(�����v��(r������J��EI�k]��Ԋ�����KبR��jfk�$T����Hi�k9]w���l+���M�P���;kBj��W�cdؤβ�J�v���S�����R�#ķ,{�L":���ր�=�B>2�@�+~�J��]ܒ�xt�v������ͬ��}l���M��[ڴ%�	�C���H�)߹�^1x���N��IZe��V�!ޢf�H3	�r��r��K�5�#ƸO|9?�F�]�w
״��=���T�q#Ω%uƚ��!�2�F��w(E��4�ׇhX2�t�����=�6����>�UF��vYvP��7���8��sD	�F��g��^c��A�uyt�9��'���L�4�XJ����Vgŭ��է���f��|�	7x|���lpv1+-� F+AQ�7*>+ |v-��_w��Gw���w�_𭜏=�(�b�O���rW
j r�/�d��4
����:Q⟠P}�y��/��)��88]�/+D�I����/�i���:�w�t]n-�뀝F��	8,�c���%;l+�k/���a��J.[��������.��X���|G��>_[�&�G��d`�4�Ϋ9���< ںH(���gQ읤ڈ���f�r�U������w���b��$�kb��BQ�xٸ|*�!�IZ6��'�I�R���0q���>*��#F�%o�G���~)�����>`jM;i|�:@ޖ��IswUpO�Na˩���Cr�&�l���|;{��b*�5B��tTM�t�|�_��l�ඒ�;�V
ч�������B���1�y�@�͛��'��Y"�6|��>4�O�h	B��`�U�^���x@%�U�04n�BC�IBE�Cq��&� �D�2�\S$���W���*��Vo�>0>f�I�����v�'�KX��!�nP�)"�	�~��-�"���:��7��m2䰱ԶG�bC�t��}���>ҌN�.C
����!E�|"�I�<�xa펧�����ʩ�W���G��[�ɻ=
�!�QI�m�m��b��|$!)�gy�"��i{�|?���]aޓ�;S�8��MF���Z��R��I��`�Gm���$�K��x}�J�
1���0R�L�pV8�����q\4��+��A|E-Hߜ�e�1�”?#T&P8�Hp_�j��T�'O�,�>!=Y���{��1]�o�bIh7��Jz�V�#�����/�I�3��,<�ԗg㇛�nſ��4�jԏ�'���u��Ѽ1�n��՞�h`mdX��@��J�8#���[}�*��󨼷��6v��l-j4A����<>)��q8���Iݼ��W��6��m���%X��I�\*�Ló��[��D�<���n2���[�Z�q�1�F�/نZ S2��2�c�ף�Ƚ�p{�l��}�0�������rɖ�+Ye�Ӥ�<R�d���9,x�!��>2�d���K�22�B?���Fo��=���k�o�����2��������k���=�)��F3�@�G�ϫ;�V��R;Օ��2D;�\�1bF��$F�I���]�V|�_�v��l�<w���|�ar��gm,pc��A�4�R?�b7�˽B��]]����IgZY�_����'c���u�w���_&��7�@��`δ���v�-!�����X:Sb��Ty���g�G8�����:Nr��~��c�ֵ�X�ž�5�ٙȧi(�8�P�׀��\(<�L�
2��<�"�4�:���a�p�����y���Qv01o�U�e|7Y�ѐ1�=q�~Lx%�fa��E��d��Ѯ!�I��4�"L"�ar�NK��ar���,hr��be��Lg=��Y��'��V z�e(�8�2x�<�|�'����]�#�r+�.���;�ms���E�v��kDg��~nxl=�)����{�r�x�YF
�X��¦��՝�e�3��J��Z�#��xtV!�n�6;��|�9�,4�dͩL�Y/�(g{.:S'��ڇӻ�-������v��&��=�rb�&W�C�_sY��{<�%W��#sj��I:�"ڝ#T�_g�
�m��b�6G���qbV�Y�Z�J.���e-��k����
kõ�Mao4���k�8�
�|
�Q���{�\��ߦ�-�?�i.��[�?iᤔ��bY���Mr9erW
N�Y̍��H��F��]�� �;���
�/����n��!�%cͮq_hn��V ��-�7�~�w8�}��%68m=F&wWd�A���I_&��6lS��#�ôU<��J�
��1[��I�g��4F�w!:�����j^)#(�����,?�F�����ġˏLﴟ)�~�cxMOu��� εV��+�b�'��Y<o��B�x{|�:čV��U����|"�s��XG|�˳��DZgf<�ɾx��.v�v�IYC�U�_��f;V��GX�Uڋ%T�#لuKH[c�v�*q�t{:�z0v%�+*�j�~[��
���^K���aq���f��&�A[-J�P9f�$:%m�;Z��-�.�ߩ�,X4�u0?v��[i	���NP��w��鄂��������=0��U��]�?��j?�{�X�\q��Ҥ��>�q���~�AEzay䉙��t#�)�
��u:�{�DX��ʻ�罎�s#��T��S�DĬֲ���a�c��yiU]0J�&���k������#E:'z��z������N�
eQ��|R�����0(�=6��G��V6�/<�V��c�ٝ>�'c�Q9�4��8p4Mt��f�}b��/V^T��8X���p�f�g�z�kտ*��o��E/o���o�9�
^��W�_7t�$l� O�4�%����'^�o٤?�)�meZT�\�m��
�7�rk_�l���a��\�����(;a�N�S�
�C�ݑ9f'YR���c|e�Ũ�oy���-�t��z4J�Gi`tϱd֮ViB�%?Tʔ���Ŷ��	zӫ4`��	]�n�����촬e�uјE�\.�B3B�!4��v8����	ׄa�q��NIWĶe�U��i�Ѱ-A�b:�["�,�8*�Y��җ�V�+X��ɬ>@�7&~�ڱka�r�y�_g��c2��I�Ro�z�Qh�u�›�eC{V�y��H����
r�LO'�v ����j<N�������
��֖�r�mc/uz�^���aQov��S�73�`�o�
g�â:��Ɔ@�����d�j��іҦ�t?X%9kV�#Ww�Y�:�RF#�D����x+\5K��4p%ב�aI;����gq�LUv�#���h!tm�q��̀a��>�'�҂�y���٫�:X�`
�L*H�Uh�?z�L- N��2TR�1���Z+>y7{؜D`��cj@Ċ��)�_��r���>K��7��o� G�M]o&/t�5��_�.�o�>Iu���[!�y��oq"�b����&����t�ŏ��5�W	g�j�¡#Yq��M�J��v�die��ۼ|�X��@��ݽOo�,@>���֡��J���ى�p$�¨��Z�J-�)�3��Jނ��U�V%l��'̝I�\�5C�#����F0ǚ<C��҅$K7\�
��ToxH�$R_}%���7�n����K�Co絣g�+z��G	�U����~�
a���]�<������D��w�O3f��T����Zq���$6����������zɛԈ0%�Dj;��{D�H)�ru�S�sc[i9�*�;3 �Y���c'�=`�e�Ѡ��c�Γ�յ
fl����74�0z؈���IE�0H������Rl�NK5�Ȭ�
����9o�S����`�m�(�L��3mꏖ&��vL1�
/qW�hnI��t��aߌu�pM��H>&Bs�ƿ�����w��p�z�<�r�k���ñ��W��|C������6��7~+�C�$O�rv�߬�ى;5�a]ie!�r:�	���}m���z5��۰�G*Q��e)[Zz����i!��-t�ҟf��՝�J�|}k�����>'>a��B�ƴ�w�����y2�f���jJJ?��N�1i%�?�؂x;���V^%����+��Ɣ	�,rX�[j�2k!.�z�y2�t�
��]�o�v�����7������%�E���Rv(�9�iV_KY�,8�
rf0H��Vm6c�q�͘!�V_������1N��m����͂0��̍�=\:�	I�]1'���y�C���F0�M�}�����E�I&*3��ƞ����ε�Ra�O�*�#��ݪ�S�6��Z͕��N��>�c�P�74N>�X���fل-S�X�A���y�<�d���)�Y���ba|T�m�����?0��mHy*��ؘ��N� �ȥ��~���	�"K�"6iT&�c���T�T`r�\����5]�p�(������њj�y�SS��Ur�qm�s�]���I3	�j�kka&j
�W���Y
Vv΅R�nm��%SaX3��V��dZv�bB��=��%�Γ���gֵ��b�
'�o�=}J�
��� ��0�p_�a5�[5�ӗ�֣I{�D��V\l��/%?|�m�
�OiaN£Nl=	�3�%V���%y&`��l �"r�I1�"��#Aec��%(��Ů:��`�
}�<gjg�Uڔ�Bz�Ǣ�;��ϋa����g'
�K
H�S���h�n7i_ �GZ�;����$�X��u@��J#�=eJz����Y�Jh��8��ˋ�]aH~J"%���ԑ`�0ƞ��I��(>|������
xӕ3
3��k�$Gi���W,�>m
�!�S��m��\��_ɡb�_!#!�
�;e�IL����0�V��Z����wl�f����g����Ԛ���]��,D�:�ʶb��'�{�˜�A��
�����V��d_
�k*�[��0�	OS�W��ݷ�����:lS����Ҡ���
oT*�.ϒ��s�"�Ѱa��N��>�9���bb�`�Q����^��a�!g�ZH�J�?5�y&?6�iI��o�^���u�0"9�H�#q?E���?�{3�먧0a����;�C��ZQ�+'Q��Nr��4̦W���i��Mk���CI�,9N�}��� 蓔(���X��U3k��e�OӦ�\3x��W|���Z9ar�
�%f�N'[�ڞ&/j����wz�j�6�״?�JӒq��]ջ���w����FZ*_�X2g�d�ɜʹ�9G���Y0�a�E�R__|����Z>���N@h�P>F��d/ڣ��KG�҈��(�h`" �'�{}e�sRonmX;u��n�Ӏ�=���%��̀�&�Ղ������d3��G�������B�6���硫�k28��l���C�K/�N�%�{�X�٩�qb�H:gL<T��"��oQ��VJ,ݍL��	i� ���(ײ�n;N`ľ�^V,�^����|$�?zS�E��N�e
Z�����g��^0ր���ֽ�0<}\8�7�HD���c��f�KwI#����XB�������e����i�9bGY*�����)7�z���i"Yz���
���+��-��G(?�/͉����`�k_!���5���X?J��a)�A�BY��\��v��Z �Fo�����y�ެ�g i�Iz[_b��bN�^�6���M�u"c2�A
�fr�<mPL;4�S�*�?MDҦ?a�X����%�(����)�m���p���C��ig�.�R����l���
�a�I���OQhg:��Wr�W�����'����m���Kx��SP�'=VKvc�n
o{+����	�	:Ee���cuR�6��ҿ��q	��V��~�T�90O/t'��O�<��T�d��G�_<4������c1X��P��'�U���m�q����n[�r<��jՂ��,��$}�R�u�̦]'NU^���-��v�Ÿ��]H�,GNz�}�!߂]*,Y�#%����Z+_a�%M�\�x:)�w�nMz�ˠI��__�F]�G=�9C�SH���)C�D!���J�i�_��9�qU��T����@�EY1�Bv)���Rg-Y���P�"Y���~b;�,��FLaaW^tz�\"E}/ L�#=s}"?��P��p�H�;�1Ѐ�3Nz����Z�y�
�e�k<O��l'U�*�)L���Zp�b�bk�<�xK�����N�M��	��O�R�b[�,�Z�&�˷n*����`|~�%߲l8�V�+�y�;���&��f#v���PM�4p5�xm�
�۸4
K2�۳��ﹶ�8�Q$�@���K��@�Z`�2+�4�дך���-���@r�TO6yU����% �����U��(P�����/)n�JL��Ka�;C?���/a��!��?Jb>x��̆T��	�[�`T��J�r�t�3X;���Wv��I�u�G����V���ŴB`l'��`�Ź�iN�Y��%u[j=�2U��Yp�/J�)џz5�'I;'�
�',K����dl�u�I��cq,��U���;F���'
z�=#�Ep�=�7!T1Tq�z� '�i�2#n1�ڤ`y|R�;�����UL�����bu�X�lmɒIP��lj�������<��+e�o��U�]ڌ�	���P�u��x�U�+���5(�9)5��󶕠y���l�JH��~>s�
Q�џ2KD>�4M�0�]�R�`�T�b��}ɞhͱ��5��؂���L�����G��<a
�s�F��}KN4�z8׈���w�m����r�2��_O~��u��c���rl��I����XK7h���Fy������r7���j���
�Ћ�7���
c�G�Z|i�\�a-I�^ݦ�4��MMV�Uٲ�៩��#��ɮ�:�l;�j��d�G9�5��_ɚw.ł;n�.2�]�ː7@�ֳ=�66�i/u.�k���� �#K$|t�����GY+8�ONG��1X��53zw���~�QN�d�3,Ύ}�y-+�œ��T]Gǝ"F���&����a"���I��"R�M`\Z��J
�9E؜��s2�R$̈́>~s!�u?��g��u�KNG>���+-���[�b�#˃����7��Y�z�.b�*�$��h������w%1�p&Y߸.����*���{4�'B�$�볿�o�-|�Ϝ��c�T�d	��%At� �	I���ڋ'߳~��xc�i�6�P���]�J$ud���]
�N3}u/y��7�Z !�dr��D�aT��9iH��PM�����;��)���A<��n'O[}���
���ܻ�y�ȅ���4%�OnL�E�rǿ��L���\)*bk��A��rcZ��.�MW9��o"�a
��6"��PQ.�h��Q��~��4#eҦ>@��mn~�˿aG�p�iwbc�FіͿ�{��	��ZF����s���B��^C�*��8�8Qr�XTK`�H"x4Q?]]Fu*�EI���8K^f�m2sC6V��r����7� ���8Zj��;Om[G��n�D�R�aZ1�W���+ȵв	�	Ӽ�Ç�l��!+��J2Q�I��m�}.�sSz!��Z��>)7(԰�'��r3��"�VCFK�ƂV��sJG72/(JQ�
�n�Uf��.C���x����U
��l҂:y����쫜yъ)s�o��/C�j�Æ��=x6e͐{^D��VF�j�Ăx����Xb�,)c��Y����6��u:j�-�۴?HSV��wͦ����&�{��]X��,�Y�����9&�W� �pR~��,��0�,JrFد��D���'�M��ݻB…�mw�N:��o��9��<h�Iכj����AB�W�>�D���l�|�J�w�n����~��<�^p!�a���-�`[w��N
�r��@��]�K��,KF��K�H��������%�SR�j�C���Z�ԙ���
���vV[���/Uf��ڡ���ϛ�{'�aaz���&�r!��KY�!�g�\8�ՔdZқe�M��Ͱ@+;�oNU��<�M~NG�ֶ]k�[fϣ��-��	���R�k�p"�!Z�.�{E��:C��5]�ÑL��M�,S&��ov���`�2d�ÉI���jV��c
��:���tP5-�sjn���\�Z�8+DU�L�|����Ub��-�����8��p����
��̉yM�h{�ֱ��7֘�{X���n�$��Av��7��j��ٸ��x��ųO/����L�ʗg�.��f��E���;1�4H���2�Z����qImF�2�hS����k�av�h?K���B�b;���(N��q�kbH�=�6i���ȿl���]��ko��э:F3�xȝ��C��Ws�;t,�!;���];��%b,kiʴ4y.�Kaj���\�aq\apY�}�^g�I50��<_������O���cj)j��+�Ï?a]={}���0�?o��tJ.)�W��!��M��)���l.8#�u���'�h���{�����h����t:�j�^o�
�I���i�B&���o(�F��R��ХOO���sYi��{�@nP-�O�i}!�D�
��S�-�߿4�9I�s�!<��1�X��Rgְ{��- ��o�'��tƦ��r�s�V��d\̞��dz��e�)�\r.D��<�"�w�k�u�lf7ϡ���Onj���e����3P=cY��n��]W(�<�U.~S	D��z� ��%V�@2U�A�9@�p/my�5��&��O����\�1vc�띈ck�i�C�X�4؟�%����JYŷYM����,�k��.�Y�W
q�7�L-����8�ֽ$��Z�P��^���6_[�M���� =-t��T7�K���I�K�m�	��>(��إ���&��Դr~�����DnekɻIr:�-�*�J@�6-�OO��*�g�S��(91����R!z�ty�5��y�ޜ1,�`���By ���$�U�3to�X�G��[V�d�yZ)���Ӻ�P{5�ܶ�8����gU��g7m�1>]���M�j%��v� �<��mH�T�_�����B��TZ��a��H����;Ҥ��t��)&�ܢ
HX�=��g�`��Rh�u��K�LD�q&T"?�.A�H�כ�n�eЇ�7�WH_�eT��Ĕ��.�m���m5�8�[:�<M�|����������P��	l�Z/I����مĬ�-�5:C(ty*�`9}�Os�;��0�t�n��P��U�s+FĆ�27Z�a��-�o�/,�Bn�F��k	�/�d�LEUyưamׂL�[ �S��Ҧ�J�fכd���7���5�'՘�!w:hv��@���4���o�Ae�9��+~���/C�éP�p�")��دG�45��=�Ռ-��r)4"�����/�tlvI�+
�:��FC�j�sd�zisI8wi�K{�ɫp�����f[z����]q4g���c��An�b�͢��=���ֈ��Tß�R��f9��VU�6�>�I�HY��(���$��6�cg���/�U)�t��JM�^s�\�k2�UN�SO
�w�L� �Pj���7���֩h�O��f�&TTC����t��Q�<�M{�c)@T.��@q�YW^\�{f���w���.a�2�G��;r�=���j��=���,s�Lb�Dfn�u5�~4E�*�bi�j��էeő��pbT�֤w�fQ�r�8��W`�A�r�v#���L�秥�0�Iu�<3\���2ү'j9\��@�I����ĉ��\��0l����^a��,J�uӷ�@J�Xj#2��Pj�}���b�fg�ed@�,7o�"�5���Ù%���Ʊ��$�C��~�R�����
�x��f[{k����B5�w�b�Of"V��_	T)*�#�Z5��-����<i+�um�w|�xz�"�1C���H�B�O�A�i���ɥ�r�m��5C�\�M�?ȋ�⚅���JH���L�c��RCQ?�fG�37�Y�j�_����!��	��v\+�Y��R���w����s�(���$X��BS�i�$Ϸ�
�5$*1t�,W��GHx�^��o+��n��&Z<}�~���1ZƧ}J���3r6���SV�館��n雝a�!��/]%[����5�<f��:_��k7� @�E
��E�!��YRD�`N�-j��FƪX��R/���'+-�祢{�f�
	(_=�0�`��(%���n1�G����ԙ����&�C�*n-���,���@�S��и%��U�Uaއ�f|�+�e�J�$=lx�UH%�V`�A1I��Ԟ>!1�_��8%پr�D�]D*#�`��#�IC:�0$<'�8^uΕz"��U�QN��!��)��X�������$�Wp0�t#�h@\�ͮ�7�P6+���3O�"A��.���4�p��Q�'�vd��Ȫi�̒"?>;M]\�<`�eyq��#.��a8\C�Z� a�F�T$
�Z�r'?Ry���{T�֤�yY��^�4!XiiG��{T�v:8)�_@��u�3[S�ӳi�P�/詬��S~�Ɓ1Y��j�����H�&a��knC3G 4L���5_��"���?�D�)wd�����i��M2�����+#�S/v��oӣ����^��e��3�~����'*�w�KE��S
�M��ӥԃ��ϣ�g�U��쮮a)��"WK��םD�^�b�򳐹θWn,��[�@rL�K��]���^�*X��l�<�=�U5`�
���ܨ�n S푧mT<�]zM�5������R�hBQ�v�F$HT5��)Pz�eu���=��JW�<X�ɉmg��d��mI����<gM‡�i�_
$b]3Sƍ�,-�#�V��%��l|#��7%�m�$�yI�\��6Ú=Sum��4򼉳6��|�9w[�n�^?��K�z�à�I7�+�x>���2>����Lš�|��[��O���\6$�:~'��ױg^�3�n���^�{!���q��?�Y:ܙ����"#H.�	g$	Y�ݰ+�b	�y�����+�}8A�_e�5��&���mm�Ɵ���j�7�H#i��YI�ʘ�ɓ�
��z䪅�.���,�YHN�܃���J��n@J�I�Z�_5�X'��gNV>�����LO�lRr[�̅��蓍8/$>��,�^�%�y��,���q
Ġzi��=?]�@��y����u	`�
��(v*T�ߡ��]�U��jK��$Ԉ���-���꿛�g���|C�^��D��?k���\}Q��D�/C^�+�w��!�]��Gߞd/>���%!��o���*�����(Ai���t
vIs�K�5R�߉ٙ�C���x�ܔ�\�vH'k�tʄ��"ćb��9�}��@�	p7��Ґ�a�|�Z����q��ðo��(�����{�1r�F�����}��R���nwJs�é��(_�3[H�b�Ç��˂$o�Jz�M0��4�������'%�L��@��@L�c���'�m�"K$�$P�R��^Pl^��4��}�^ܥ�*�	�,(���^�Y�"�����;��su]��	pd��R�1�
����Oٙ�œ.���]~�ф��ޗ�B�l	\/�"g3g2H�ݸY��e���>4
+�t���F@�sij�ӱ0���'�j -L���}���
g0
_���7�v���f�^��o���L�#�����T/�I��1%���������L��±�R���г�Ӎ���y��4���972h�L�&-�"�����y�
��Ͼ>�ͪ�1C�R���6"��i��3�֣%��y���K�q\g��M^�ɲ�	��6����iX��tpQkS�ہ�եT?�n>J>�E�m0���������{��Fuu�֙��X���m^RK��yi���&���?�t��%���:8F��=���ûȽ8Y4¹���-�L��Zm��#�Y�I��c0(?V,>�Q2��_e�tYl���UӬ7�T�=�Cl�[�P��`^�����l���!�4q��Ŋ��?{"�Z_%���;� �˙
S�e|���?��^���|�2<!g�^�%8�I�lgt=8�{�a���t�U{O���?g��m7�6�]r��]_���4Rٛ�c���,�o�g����"61�Q⬨��O=q�I8�Ү��4���$�^����?m&/����N.�֘�M�U�:yC
�C�V�ʼ�UX�S��e^�Lx#`Z��ɦ/6��^
0�z��سܦ%��5;35L%ҙ�b�h
M'��F��ZE���ا"W���]��mN}\W����_��U�Y�j�!��^��E��p��]���p,^F�>���^#��bŊˎ)�V���3��n�%F^eJ<���M���p�#���1J��������ʣ�ă� �Q<�	�/q�<�+�m���1�@k�a�?��ֺ�’�����U:_�P*��5.�
�KJ���i��kD��?��%>�g�=���H���UT�_�g�����j���I�L-�Eph��2R�x�[����mmܱ�r,Ɉ�����
�|��D���Ÿ#�MHLDɬԜ\����EG-�bEc3���Q��FOKC"j�T_���@a��9!V�����t������`pe����/i��$����&�E�}��QH�������}�`���19u,=�-�@\�!f�9<L%��~��%�)�c��&拁�B-<�P��#�ObvJQ�j��e@��Q��Q1U��t<��QgN��w�(���D��\�'�m��{"��"sN���
!&'w�<>&T���Dѥ�/��R���~j��!s�n��b��U}c}�ӣ�D��@�K�
0��g�ʗ�d�~���|�|?�s���c�	�K�
߅�|�w����;����v��T��Z�\�+��:ƣ�<�I;�ӊ���s�˟��kZ��t��.jT5ш�K���Eu�WA:7�;����€
�\���t�i�ˮ�A��)}��&��]�6��tU_$Vz�g�����Y�$��j9B?�Kw�1Z�uk�F�Z��A����"�=�H�cL�D̒�!��VC�QkY޶7c$�{t�h�;�����f{e	�����u�W��VI��9Y���
I�*�~q�y��0�[KV�!ЪLJ��+�������t�h���@��%G%&��}��G1k�@�ܱ�N�OeP!�A��Qu#u�VMn¶c\A��D����oY��-���({��v��ǁ�B>��+�7�@K�vb^��Bd��<!<,=��gz'z	��9뷲YD?Ax
�9=%n&�>|�Ntq�Iׯ;3i�����Η�b�t��G��((�ŨQ���s�,Unݺ����-�By�C�<�{�xG�UD
�O�%�S�u�~dp'n9�B$��S]����p�KBc�[�sʨ��3M�g:�פv�d8B�d�㛠����	�m��I����d�Fih:��Tѩ=��K�x�WO(�i5(ӯ=���=�1���U�Si��Ϙ�V���9w�΂��V��'�T��_���1=1�F�+�V�����x�����_����HW�zϛ��X[��7
6�vc�i~;�P~J�w��b��<�o�-J����Q/���tϞ��̼�˴�C\�N�U��@��U]��ɮ(��Օj���G%N���ǒ��i�.�
�r!L7Q�O���2�і��z!�=p� �ᗋ�`�4!��)#
g�m�q:_b�і��x���� Is��Lѻ,|�y�d��˟�ڀ�ԫ�d�R)>1v�9d��1��;}�6mU
��tv6�;i�
���Ww� �\63�>��ݓ��'��Me���)���g|���,H�?\�[�3��']T��rҁ�"�4�B��Y�K`)�밠���j���k�:�q�r��+�ыA�I$���J���Q+�Π\n�ytڧX���%�]G$�`aӮt��+�i�Z-I������@t��\�хͬq��9�za'gBa�OY��a�b�g�|M��zn�w9 f�̼�ƀ���×��*���I�L��O�$ޔP^>4�Af�1�{c�l��Rq��^��x,�QkP#�jv:��N���(�����n�0l���v'��#}l��ᚷ�Cq�G�´�.}P��Z+ɋ�&6�q�nV#R<�x��igbA��W��q�.nv��r��w�����wn��o?	����ϿT���'�&�ټC3�ȱ��y��8�j�Eʇ���Hm�:���DG���ج1YvN��^3>&��z��3TfpɁ��q�JG[���� $� �Py��?h���+�ۉtP�^�i�+_o�{u��ⷋ'oR+5�C��	�@��KU���g���T\=_Gi
�����=�N�9W��G��!�J�Z7�ƙK�5�V�-��3��0�F�/�4y�_�¤�x$���PM��eH�t��CPSl�z�p��c!K�+���!��Q��)�y��$9�뛙����/?�ii��nX����s���L�4��+�4���f#VP��i�vQ�̜�5
Y*%�R7^F���PW
�Am*=�Bp"V���Z���:gS�J�1�k�G{#�a9�'���h�5�e%��Sz
�U��\�{)Op
�m.6-�=�kM����&s�����l�V�C~:�ft���i~]
w83���*��\�W>��nf g]���)/���S�`S��'�
���o^A"�o��,�1GG�D��Q�7�z�1Ӽ$,4�S��x&��ZDFX�	8H��8�/�+/7�P!
?dڃ�u%����ʵ���$����N)YA����U�~�k��.�F�>lN�)7;�o�TA64sB�%�la��U�ȍR,�	g�	�Ӵ}[ ����*����*y��0KOn�(Sc���GÍJZŚ2�Ur���&�^���Z4����s�dq�)��du�'�K��֨e
?���V��
RK)��VK���1�j��PL�8Z��{��C��<٪a8�!Q��(€NAEM@���!u�-�gQ�y���l��J�1N�[5roi�2Vc��f� �ŭłMc��M�O���0_�H~���Ab�������j�!V�IK=
���b�B�	���d�x؇]�Z�v�B��Q�B����i05�T{2�K�d�����U{3T�5��l��X�O�@z6wO�:<5���]�W���r�Ja
�'kq��ˈ���$��F�5�*��5����+F*gW��C�i�/��Cb餩�Ƹ��aBJ
�1�D#��K�G�o:��|�G��L��W(W�IG���?���)_���]�%��s�Ϳ_�E�Ϫ?1:+�7ljyMD������)ON�PZ��>+�}��bme����I�@>��`s0�����vL_E�@QF��; y%�m��q�j���y9�ؒ�|l��]����5������Ī�	�M�k-���diS^�m��N��S�������3k��c���u[7-�D^Q����V�ka�ĭ�b�t���t"��H�W�ݴi,��D�s�F����zKg;Z�i_�[�q��t��a;�
�(!�E��Tӝ��J�[�}<
l�VH^c����M#YQ&ٞ�co��,Y0~S�E(]]
��g�e��_L������ǔ^}����R7��I��mZ���h�Y~�{�v�XD!�6�4�bRw�7��	��@1��������j_�+�ѕ�j	���vr��+�������<��*X �J2�Gٓ(�##
��L�(��Lg6�\)���
����G[y�S����Q���:e���(;�w��x��?��k��Zx��\;�y��ڔ����tgp�D��RM,>��~������${�&�	΋5�?�#Z�E6�A�dI�{�"�Wp�!��%�M6�^Š���֣�at�
DcBah�ܐ왎��`;4���h�����z!g���Wa^è�B�}��V�A&���3a�<Xß�p���O$���D����g���^@���Ddk�#p
I�{���J��W���Y��RXw�K�P!���z���CNt�BK�
�;R-e��#)�}��s��KG����uC�k[1��$	6zSJ�-�€���h�A�ycQN�m .W��
�@�Z�3?0&s��{�zZ]� 2��>�ֶ����r�g���h�B��.�@�!��L����~��n�+˃�r[����ҹ����T�㰇���+��
}+pp�
l�Jt?C4c�FR���v�
�|�lY|�>��I-�6�Л:�b�[$�(�'hG�]�ƶ����`kO�w�㴷@�P\H[~����jUq+9��}{�R��dh�۶w\<=�������V����f>�I�f��sA�0O�̄����#�LJPu�4>�K��Io�<�C}<�H�k[�V��x���=t�Uف*�cR9�Osb,vA���"�}����w�59�8&֗�	��=��6��GLи��5.E��
��%��H|�m}�_�
��/7��V��dOs-�h��Am[r���|%1�
��b�r�1�Y0�x���9ڌ�y�X��x�w���A$�Lo��)/+B��̄O���J`н�Xw���r�xH���X3��*�\W�\�/Z�U�4-
ah���ud�:�	(A�=���Z�:�Μ�~��ԥ�2��;��ޤQ��%����,"��
�o:���~H��Ϊ�TĄ�T�r��pz7i0���9�l����^v�.��m�?��� ��OڰT����r��>/�o!n��K�Hگ%�neB~����<�7�,=@��s=�}M��B>�1�2�>O'8%I;!�އ��S��S_AՂ�je�W�7Z�X�<2vj�#f��>懄X�V��#�y��$T�(��w����`��L"sDh`݆L�͏b�_e�+C�i9����l3��&sh�|�n�ۼ�<}v|���	P�C�W���r]���",K������J%�*���ۧJƿ�J��Dy�&f�$�o�m�����R=7�J��Q(�;�cz���}��D3��a�,��}��4g8�g='_>�q�N��Uu��q���ɫd�n"�N��4)��t��u�Χ�����Eh�����	;�F�y�);�TSd7M%?Q�����_(:���:]���{�M���ۢp��nMD��Cs��@k���ה��1ѧ�ryc���
�C �<�$J�e� %��#%�$�*�XZ�����`��l%[�"9��I֮���l�D=��&Y��,).���tU,����Y��ǖR`[�U6e��+�'z�D�=���)���!�D>$�׶��SQ��4Ĕ�(l˙F�Ug��Չ����`�6���	Z��;Q5����ȷ�L��^P�`%����X7���������!�%Jrc�����E�bD�s�_�DX�m�)��XM�Pz4��\���ҏ��?����z�o���E������.�.�����&�Ob��ާ�,��N@䊁%��p:� z�n.�j;�G2+g�I"ؼ�ȱ�ޘ����r�ǯgJ��ޒc����=�q`��=��������$G�53��W��#̧�xA��}6�ڵ�@�u˘QӴ_�
�f�"����_ �����>�����e��#u�&pS9�����%K$��|9o'�k�1r����H���NsZ�g�^�6��6�Nާ���L��3��ʍZaʝ�l
�n4v�q	id��`�g�������_�*���3ݹj
���g��IX�)^�+v��GQ�Ŷ+b�ao��<~t�;K*71�m���ֽ�<T�,�rI<�� X����2}YT�PN,r��)�E?a�|P̋���G(A�H|˿�e�@�p���z����iQxW��~$�:����G<l���x��:�x9ڈ��$f�e��)�����`�� =SA)Z���j���M��0�=d���i���׀�+�1FqOg(��G:#o$lq�
O=���G���'+	ɊK�Ⱦ^���%�3���������b��\=��P��vW�n]�H
:��)���VDڶ��!}o�n�� �Y�&XT�������v���1��Z������I6�h��4=ԩ�݉{y���0�a|�#(*�Ll��h�M#z�(��vG|*�e[��_'�r�~�H���D.\������ U�r�%��J1+̶�����إ5�F�Q���=�Ɏ��2���C�ǽ���~�-0�e?���z�\�Q�V�:�kF.��]�\��m�n�s����n��GS���N���p�oy�uszcU=�ɥE��U�n�/�� ��?��(����q��U/����z���zXBnq4�\�`<]3x. "��O�H~�����C���a���l�;�v�3ܡo$Ei��w�O^��k��\���huV�J_죣����^+%�	@�F��\�PI<�%�\��dh�t1��v�<��=�>���Uj\�0���|C�)1$�D~�����۔A�}�y]�� de���‹�<��V��W.�Fa��3����dzV��5�0	��p���T�d�Mr1��)�yt���zO
��$�L��1��1��E�PHC���硊�	
k����x#�m�/‡��+�Ե=/��*�]U³���-�2�̶ �l���sy�$=i`9j�E8TҀ{X��Fw���3w���ߛ+�ж�/��#��7�H�f[�uE[��ۺ�hKg�(^���Y`���M����(Z�I�8	\)r0+���J�G�=/A�/
�:��]��P�(KfI���J)f_:�k0is$�l�C'_i�l6���6y_u��fK��9ו�<cφ"�]��L,Ӊ|Ϡ	��b�
~L:�X���+n$?�~i��1���V�%��#}���R�>�{����l{C�kQ�9!s��ĉ��I���f��V���ıj@@ٓU��Ŕ�^)��(��X�������#�������18^�%i.��7�A�)����V�8����D�.�JV�N����G8kM���.��?���
Z
�$qbl~��X��(Q86�X�>�*vI�2����W'''��i�Q�J���Q?z阱s��g�����{�y�o��o+�m�_�ozo���ڿ�}�k�^7���&]���D�9�4dJ��KBx����p��;�x)g��:�����Fγ�E%��}f�w�zOTr5WQآ���S+V��>hKT+��a��+Q�-�W��!ݜ�Y�k;�P?0��F.7���կ��i|/�wO+�e'���l�?�.��X��@W��O֠�ųC��8�B�&��u�E4Y�/����8�KQ��Wpy����TTd�
q���b��a��2�$~`栛�Ib[���f�o��ɳڃ=m�?.��u��*S�;y�/'թ[�FC�v賟�X��C�ZyfC/�7����a�{d�J�p`��YF��:4�=Q�6H.���|�_U����pCyXV�i�X���.�`�\5�?�4S�17���pn�Һ��Lh����ش�@�����!!Ұ��Ujĸ3�@��P��@ T�H.��U��R�i���w����^W�ͼ�8c.wƗ�FqZ1ěb�/��G��$��a"Ujx �)B�FT"�7l��ů�ꥧ:r禐?�
}��+�'��oK�����o���-���l�9�6ʦ#g��w�f�|SI����fj�#�xK
��B8�������i��i׊ �LQ��
����PPdsL��L߮n���;de���~:)�n�����}�㑔��g��И�ɭ�I�i�j�j��h+UTyT���9 �"L��&�y�CG����Y
D������9�Iz�Ge&���P��.D������ro$�D�S�F.<Ģ������{Qsd"�5x�ܛ���k%�+�鋀�}��ޥ�UmC�g;R�ڒ���&)�ݴ���W����|Ԩ^�i��zD��@K��z��d�MP���/���
���x��׸�����{���Ok��=��i��n�����2��1>	��E]�\��ҩI[�F�ಽ���O��f�Wx��5%���l�����3��jrBE�X]jZ�9�$��`6��.N�pr~p@h\iBy�ق�H�Dq�9_�3�0i nh|��V�@Q����2�8\��}�&ѝUF}�N��H���3W���_@��w����\�����k9P� ��u`"���6e���ǧ��-�ۓ?Ghvu�o��o'����1)��G@�*�o&�u��Va8U�h�É�/E*�ͶI7�R_Z��o
v(j��T%�b�t�T�)S�SuIt��L�/9�nɩ0�L�]������W�f?�����W��~mnsm
{d5s��q�a
Z���O��X��z��ǒ�=�/�Ovx)�Z����݌B<%?��h�"B���?����ޝ1�h����ɸQ����R��,Ru,?
����6��h%Z�l,�f���l��bpqw���,�m���k&r<O�+�\�h���m����\���y����B��
�;)QJ	�V��jKb����\#e�f/��-L�Z�lU�,o8�Ub A��L=����{�z	�o�4�嘡^V�Z!�s�%!����(f3!)$��߻N�v`Dڛ#Wdފ�$"hwDZ�@�����'
����R�G:ϥ`4���K%V�V"K:����5*nZPR7t>&DIv9o�j�:g\�7b�"@%�#.v����J7�w�
�^�N�4��'`T>I2����B�+`T¥�WS~�"9�X��أ�����
�����Nl~�0�q�����ߠT�*�v`�K9��柼2��O���%3�;K;�h�w>�z�;f��.��BP�S�wLɵ����ȭo�����^�u��Ճ�5�]� �Q����&Q_-3uХ�A$w�5Fb�dC�s���k�#����X��RͶ�0O0�Jܞ,]��f�0l�$��Վ��H.�v7Sغ��2��
�FEVT8KA�X/���]�^�U7��0)��&_�:�U=�4����"�B �!M6U�T�^��JqӪ���l�P�#������ַi�em^)�T�Rq�����O�����&���уA1Ž{�J
��<g�N�R:�,�8������XK�`!܅�����L��L|���6;7�^�e��Bp�>�O:�_��|>ٶ˺ظ�
^8�M�3(��~S�j��R��	���&7�t"�z�Ь>Z�m��cz{�:����a���y↲���V��-lyQ��)P�u���r-:/���{���
 �
v?���髱JL'Џ�A�����fۮ%I��r��:�,r��/���>�b���u6���y:1Sg�;�t)��K%�Ã2#�.
�~'<�b%��{�P��q�K��1\b��ƕ�晽W��,��T�8��ᐉ��3g��Ml�
�=����֗7�(u��h����&.
��ΗTN�p83z�hX0��	E�
9�{���z�n2��N�R�} x�U���@{V;^��KHj��\�*��ΕD;mAA$���,��67���Or-mD�a[dѶ��)5e�|��1��-���έ Oj/>[X�͕�fر��l��7WW�V�[Ӭg99�\��C�M%0h���^�2-t��Օ`�K��q�Y���tY�J�w|ҫiP�N�t�Я���Dx;��#�@�V�m�4�"OӪ�1~�����HR����dqhw����ߴ/�}����h[�I���C3�=�@�͛�l�BzA��?�0K[���Jkl�d.-�e�W�kO�㑱t��.��A����s!Q�oh�����;�Ii��3�%�z6���&��SZ.�&���uQ0N~I~Qűx�\�\� ��/}�&�"-�j����ԿQi�]�{�C��"�L'���i;hv\��ې��k9�#�a��0Be��%�C	���}�Z�g��yZV(($)0��˸���������b���B��F1��m#.�Ba����lD�.��C�M� ���61D�dW�/�8P�qHN7@2�3�K��n�\l�,j�����Z�7et��.iq�K8�3��;]�@�o�<����I�s�U�B{�,�HiJ/$c~ӊ��
n�ö��9=1x��T�wF�|Ǡ�5n2-ه��2��\|��‡�K:�'�����4�x�TM
O�#�sQVZr��
#�ŇN��s�K����J�8�9��b>�q̡�_/`��Z�5��?���[Mv��J
P�=��!�
μ�A�o�V�C��ץ�1}�m}����O��b�����Hr��O��x�@='`p��������R? uwqƞUtO{���'qZ=�Y�����Gf��G]|��N�a^�Uo��B�X����ޏ!Y�k¬���t'&��(������3��&}���꽽���X?^��M�o
;�K�8q��k��D���Y��f(��V�:������<
��װ�;ݚl�kiR
RV�h/����I�\��O�Ԁ`sRX���!���SZ�M'|,�8�^��,G��.�2���Q�6%Ϡ���i�����7�ؿ �4\�ʊ�2�d����l����X�/����7;(6jXj���Cs�e����6������q(���F�W����ȳoܺ�V�[ƾV��g��p`��`@mĹ0��R�cH�l����Ś��a�*ZUE"y�n�	u���TaI�-ݳ���rVB�;F(IYt�9����{����[mN@١J�j�~s&ce˳�O�T��J$ˡ�5߆�!��8�d�˭qP�E$$}&���l[c�CSN�zQ���/\Ѭ�9E~�u�����[nˆ�_��Nd�cK���'��o��<��Xt���㘲/#�X�0[�&�Ӛ���1�>D�� ��U�2�<��C�5rL1��.A��������c�վ_&�GȢ�e�Ɏ�D8SY�U��am�[h��J����Ə��si\�S�.ʊ5�O�{���k`"~|�!�d~5ʐ���CV]�k ���ΦMA�D����n�[�߲P�p��BCsB(yDJC���)K�'��=�L��k-*��ƹ���wT��`<Q��~&�ݐ��"f�t�����~�i�η�3|�@[�m0,7 �M��f�`�uoy�|��<�q\�<��¶.�i����:���0'�O@�Wլ�	I��U�t���d��}�k$R�L���mq�"����a�Ќ�^��YQ���q�픡�]�❻	��2�.n�t��K���^$�@|%�B;DU(�^4[��ܑ;ԺD�q��e�%����͚C�) ϡB�k��s,{+}��/���P�a�ZX���v�f��S�c��o�3dD0�9"�l'k�)��8. �m���}���#}NF�Lh��~���Am��4�#�K����z�QVG�7є�y�m��R�1n6�i�sB��5EPӈ�ZT��R��\CL-�Nr�����zx�E���1���= �KK�HC�p}�|_��FP���V���u%����\�4Ilq�}�̙Ym���p��z�n4"̦�
�>�=
z�b�~���2F%3��۴�Ap=5���s��A&\Ț�S��/�¢����-�I�$��F]f�E�NX� ��Fij
�;��ٷH�;�t�V����"l}�n�/7�P��D��.�
�tp�^�uX7�l/c��o�~�����-c�Y
�$*��]j�\4�3q �T��G#���4A����<x��1Jp�Ṡ�%;��t����*��D,��bo���g��:a�������Uz��8��M���!��Ԃ<�Y��=��l�e-�*kҋ�ٸT��QW;�euڗ�9��!��(��.Κ�W��r��I�)�l�F@/?\zn�0J�I�L�K�NL^%���x�EN1[2�~�5�ԷA<jV"\
L��{��������MC{mO�S@��L�P
Z�]�����F��ET4$��h���Y����JmfȘD5��Jq�YJw�l�J�u3���K�\�z/o���
��/�5��|�_�2�H'���q�,�A�P�ֳ4W��J���>�a�e0�pV!�t�wO��v��32Re��N�#%�km��P�
�P�'g��hmZ�2}.!�<շ�u�/uӶ�Y��}N1�Ө/��ϭO��(��9,�{����#��:��2;��&�O1� ;��Eҫ�\d�'͆|W����ڳ{�(YRDз ������ۧ��2���%=�8�FY��!�L�θ�<����*Y!�*Q+��*�#6K��������KO\�I�3�^�hF���d�L�&F�w0Y<�:W
�E&�$�]��lHɼ�Q�L�޸M�� a�e��k�WQ|������5��xq�Ṯr,Cb�8ӡ�P����(�R�W�.��6�O��'Z��W։����si+�:mS�O�Q��f����ˀ4��F�Л��Di�v�{���j)�Em�����1�s~�X3�4a�G�������Q�
_j�E}7y����ۤ\*"|R�:�.��f��5��J�)�iWE�Ni���Q��/W�CV��᭭��\G4�֤�I��PAu]�괽�*>5^i��[�䜼g�\�Zɱ�/w
��K���<;�ϙ=K�,Ἰmã��x���v��$	���;y�|e���c�:�w�"~9�Q�v�_��d�ɾ'//���F&�F�7^Y^����
�56.2�gU!]�m�BL�w�cO����C�w��w(~�9�ޕE�e��V3��֠�c(o�&J�e�l�6���1��syH�Rm�1�;��c7
&}	��	�ۥ�c����)��a�m�TZ�)��ˮ(��.}n�w�( ��n�8�g�pU;�x���!ߺ��V��O=�z,w���Y~
!i�+<h�	v��ԕ򭛬ӣ/�9��ӡ!ؠ�]�Łр�?٥�5t��u�D��)d]�pdt��Qs�2�~6��W�����Ÿ��?J� >��FŤ����F�w�Q�g~��#R���eQ�[U�J�I
��L}E8�>��U���i���}�dl����N�/�{����鏻';w����-�\����,���V-%v�~�ILSԐg�\�g��	���>��A{�/pv��z�b�5Z,~}�5���m�g֒�%����䨬Ӷ����G�0������?6�Nζm��;{
ګI����~�sLR��N�
ݕ��t���@T�_Ӫ
z�m@�Y�L���	�2��Re�@�9�NJ,�PL_L��E$
U��´s5A>¶7�����R)�����vT�X�ዿ+W*�݉���j)�|�jǻc:_\��B�m�s�e���7U8;k�/�W7��{��Fe�!\m2�P7bR��P�:�*ZqFf�m|,V�F�q*
E4�e{�s;�La���z���~.z�HDg|,1F�`�"ҭ�K��˴���ͺ��4> &}�����h�U客�$I�+��g�F�+1����z�m�D<����G���B�nj��gp8��-�3�y���ڈ�,�T��V���ܳIn�z�
�����jI�?q�L��יLBοLfc�ʢ]S]Ij�D+0'Dl����q�W�eɽg`���΢.�a���N��%/�I|Q���"�/ڗG���J;!�P�jϴU�g�J�z�5�k�WΓ"��G�g�'�b��%�)nױ:�T��L7��N"Ƨg�N��.q�J\R�;�#�]��i�C�I�Cu�\~������&GgMj�LB[��S�����k�iL2	����͖�W���N�C�y=k��~$�- �'�':�K�f
C�����'�|\b��<��{����1�/�9�9�!ؾ�V��2e�����6��4:�
`.a�{�Ρ(+k�Q�kUr#|_+��u^����*���e{Y-�Cy��U�,���J��З��;)��}I��b��$1���N���S��Ku_�9�f�y����w���)8�y��g�/�ˆ�w�)ۏ�/NpQ�����o������X�Ŷ������,��5���W�…���̼��=;�Wg�F��]���
1��*���B8�fFsl��A1�����r�=�Zj�uIk�����*r���@�ъ�D0/���'H��r�KS�cBLT��? iN�tFx��LP�N��m�F���C��F9���OK`�����ek,,l�P��zFpAxk<�u2<�0n��[��R�o�BH�;R���;���O�K�%�]H�]���ʆ����I����l�u�&T9�Z����ܽr��޳�yu�qc �e�>D�|KL��3&�H7�k��G��юt�� ŝIA4��h|~��#�Q-��X.c`0���LQ�x����m����j6�$���* F�$�V�N�5�ue#]o�ƣ����DZ$
UJ�.*�v�_#z�A�yDmx�.�T��dڄBn�Q�0>Лz�j�/j�� ��#�A�6x�h���>BF���+g����6�pQ��/
��C�+�h���&���J�dz��hVh�A�n�I�!G
Py39"��F��ęƛ�Tt�|w'�7�� {J�y���pɂ ���� 	{zf�c��_��:=��J�
�2;��T�2u��R'���OY�u�H��H��

0Pl�
v���HO
���sa9b�ԛgv8"QF��2�l�_f"p�h�L��l͜�w!%�9�]R�o�3��EE����eY�%�(]��q^�{(M��z�]0�}����$Aͮ���~|~���̹��9��Q�6ܣW7zHl,0qm���e��g�\2�6����e:�d��ߪ.�u I~Of���F�o��_�8�J���%�D%ٟ�%�O���`�����D�D�RC;�l�Ⲧ[tB�_�<�t�
�aX�+y&�.��A���d8w7���9�@x����y��
�p�r�B'��|�P�P`�I�T'
̐A��
DKF��/�?k���y�ݾO��`��1��ĵM^��сB^	S����_i�"!펅�����LϚ
���\r�h�	��(�4k���R��P��m{�s��_үL�\Sd��@�I`E9"��'G�l��'�#���]���Ӌ^�)�٘'kI�c/!����U�l�1* x����8J�r�_k���'[��]��\�ج6"gY{�G34�<=v�]#��wRQZ�2i��([�>��'E�Ј���XO��K�O�
X�|sd
�!��C�2VWtv��F��-�w;9G��3���f\�E��/ڮ.�e|����������{ꊡ\�V=�t��h�N9�u��G�c��3p��V|�-0�Vf���#U�[����2=��i�D'*�F9$�����9"I"�]6�:>K��)��̏�zR�{�}ڒMB��V��A�g��gP�y\�f
)jYw���VX��mr��B������i3�f�=Df�Q��q��RN��bRe@��B��ȑ���|��?Їl�@
����`�[
	ؼR�Lو^'f&#jt棄���h��ɖ!@�̘@h����B��F�C��ը��S�yO�ֳ5����6J2�ߐ��A`00�Pp�{-�7�k�ʒ:ê�%��z/\޶�K̪نA��&yB'�����~y��])3| +gF����⶙�Uc[6�\��:
�h�UP�T=y�ꫠ�!-Ū�=�O��]�y��遙�Ѷ%�� �!���@��k��a���߲�_[��JJ|�\8�"���32\I��/�8aK��؝dr��Gg	�aO�Qz�v�{��u��j&݆]�߿��£*77���_ G�����^_0��Z8$�S qW̔-&��N�A@M�#5*�KLYVx�Q��h�+��b
8�r�*��x���h�fM:���h.F!�4rD�&�e2~�k)��CZ��TVZ���~�r��`+i�Uх�j��Oa�Օ����r���w���W�0ԗ��8&�o#��1m����3�G�iIg���z~符��VwC�:�>�+<7���/
R]�O�j@O�.���|��T�����$�E	�ғ)���D]sZ�ֱ½3�ֺ��V�~*���������F�Zu6�!QtY���p��1��d٣<$o����_��)t��}�!��顰�U��g����U�ʍ�u	}��n�����d��f+�+{�9�i��MN©�FQ�;�𻴙�`p�R�s#3ͤBP�H�Э|D��H(4C�פ8x gى��߷�>/�!�wڼ�@ԍ�{�2��^Y���w������=��t�VD�|<=�U�R:G��N��R���I:Q?7Ӊ�-�/��ٕw��5uS��ϭ�Y�h䞢���v-ڀ�
�'����O`	��J%�O�v�C!9KOE�����(��7W[�xP��Vx}껀�����kq�-*L$��#��A�x�\�Ha���8U򌒿��`9	w@7�Ӊ��n����ҫ[�՗D,�n��vpKT��Z�!S���#�����=�%
�B�sx�rfd!��|�H~�P��$�LN�`���
ٔ�dIޟ��Z������,�3pJ�6��c�&�\o!�=Y�?�����餟��n������i�>�Ě"}LX�}�u�x��m�
鹙��MB$ow4��Ê����Y�J�p�xE�i)2�zYT���*7�^A���u����~�,���笵���7i>��U_��yQo�{�	��4���Y��a��Z ���*�ѣ2g�#v�cs��e�US_|�Ѽ�U�E�<�D�dV�36�Y�cp]�_�V	���."�g7�s^�<��8��o*��ۙ^�ON��* z��Q*�=�E�f��K��Z?�=MS�)��8A(�����K�N�"���>93�̨o7��e#�I���bb����%���	ІqK�4X�QRD>�`�Q�<��=�$�AŠ�B��F��ҹ��172v�sL_����r����%YO�R���h��bU�C�W�.�w��A�/W���HiL�b��u�	��Q�G���sk,����Z�J<"
B<
����b�=�h/�Ί��Yu�����E��?-D��PDB�E-�@Հ!L<MsU��<�Ҋ��J��B�cQ%�cb�K@i��&�)ą)祝m9�D"����F�M�זwOU�zo��d]�(�?©k������M':b���l��4�D�ꉰ��'�3��8Ŧ-���l8�DžP�Y	nl�
��!�_��R$6rGCBcW�<L�����П
��K��z�z�&��m��IUф�k6�$ր�Mh��<d���#]���cF��w�m�lyp��V�jcz����(zR���ܭ�;ƀ#`~��+}VL[�;"���#ƠÃݤ�soSy�ǰ���C]F�F#�yLJ(�%�U!����C:i��D��0ۦJ��h��	:2g�%ӎ�>pA>�QʹM�5�Bc���-�oq��!Fn�9��C�3P#��	:"U����L�3�U�l9Wjq&,��Ҳx]}�Γ����Nk�(�P�X]]֏��5i>�_�M�܌Pۆk�H����閦o��f��e`�uY��y��Y���߶��=�跼�ŔI�����&��oy�j�K^1C?]�{+�)N���S��"/��pW~�%�Q[Key�f�M�D�����P@�F�Hpσ��-�e�\��n3��t�O�`0�χ��~���M�I"Ȃͺ'Cz�� �d�+��r�:��q���ҁx���7�����_y���2�l�}q/r�2�4�}n!���Gj\x("����Kr��h���j4Ksqk�q��T\������M���k�J/���%iQ��8�0�D>Ю�e�o���i[~Ta��w7-��a�x�s��d�2��"	\'Oy�}q�v�vRb� �!B:��Yu��P�vGU2�<�+���
�6�@P�uc��s�Q���Կ{�.%`3�\$���l&/;��Q�X͟��iH�J���Q�%���G����D
eX����x��q_o{p�P<�Y��hP��G#4)����Pgd8L��^���	��ټ�`�8��v��_��O0�z�(ze�G��X]�W�T<!�J
:�(�h���)..�m�g��FҺ��_qIJ*R,��DR��yvx����Y����dH3��AoB�d���xߋp߹\�&_���m�2��!�:�e0/�۷�'�r��-�r���u}�˸�a9���V��%����*TQ��m�b�Xr�7��̿�_?��_Q5?���3w��lo�"^�Q�M� �(O8گa
߇�?�+H�(8_��\+owN/���,��$��f���6�u8gxK�+�h�Xc�r������֊�5�\o�|cGS�{V>a�?��\2]-m�K�͕�����6'_`�f��"��VX/
��$<Aʞ<e�S�⌽ F^�!���vw�Z^���Q�B��:l�:��s�>1�zL�_���V��#=�8)`qQ�Wy���S����C�,	�E�El��<������f�����NJL�TC�&_8�F�e�%t7E	F��i�Dmv	�h�!�Zjg���Og�3yw#җ��ԑ`�-�c�x14{D���"�NG�u�)�l���m�؂��kz���
��P%�0e������;s��|�㲬�{|��Y���(�/G6��n���<M��uO��
�y�:�����HuH�܁�Q���������;T���H�~�VIڜo+�$���
���L�Y�����rq���D�/\�K��f!	�<�%� $��.4�"�]��	�ı�ڎ���:!���V�ttA�פqV�0�ee���OmS��)����ㄿ���,lh���}%����@�<�L��W�a04��ni�@�H<7�j�#c��:w�j��>a��yW��:�W"Ⴊ��V��kn`�y,���*.4n�k����Z�;�S��+;����$Jfy�|j>�!�%Q����
�4r(|#g��������j���8��-bҙQ�R>�؆J�1��J=��(�v�R�Q�M���:��ml�3o�L5mX�p��7s��պ[drb��;ٕd��Ocm�,����pg)R	"zGX��5z)uѝ����sE������8�]V�6�F���Q[�D��7b@� ��/�zx��/琘ӝ�8��k˾�s!fTx�7c��_G�p��E b�:k�B
E
�<Y�))�o��J��`��l�ਈ�e�yN�/��hυJ6���V�^I��w�HW��O{��i�Z.gz5�3Q�봚t2�6��j��E*xvI'Os������}Z�G�4!��I5�t��<�]�:�0B	q��{�yW�8�&�U�K�Е�S,Ji���5k�х��Ǻ�rZgqa6�Y����2��S���
k=vX��,x:y�_�|�R�:���3����MQ�LW�\W�'�����Q���!��f�p3K���@s�D`��n�lǖ�C�c��9P�j�E�޶��9S����']h�r�J�"�ҋN�c_�_��	�/p2��1�q���*�v��E�<�~��b^�i��"��K�)e�R# �,������ߔ�̺]��ʔ�K��N�=��AP�~�{Xn���еTv�Mv�a��)�\�I9��S�ީ0�m�� B�=f�N=Z��'}�T��w�7�u��q��b���#As>���I6d���_�w�]D�hS�t~�^"yz���7����cI������C��0)��1�=�`
�C�ʘC(IKִML-�����%Y�̨u�׬�p�y��(�2}�l��$�MN3�
�����Ɲ�@���]��Ҥ'0�l:����4�c�}s�1��O0Q�V��nt�������j%ix��IC���z�t
��TU��&�S�]:L�M2ۂ�|]V7�UqM�^�v��g!"�w��~��2Zj-���4�Hݣb��^N�q��H���=���|���^iGU�?����/5Džۼ�Bԯ�&g���d1+Skc���+��(^m�8W�˹��."�d4��s �j��ڃ���m��<	<�gTr���PQzz�j��ݏ� ��1%%#�2�t��!�w��[�;�8�_��e��T_D�`h�/nYXT�0
�	�)iV��fi�]�H�s�L�?�����E��6�w�	'~N�� }�)>kPf,�0QJa]��͟47\��ϔ=K��`�ʩ>g�p�,S�|�����Z<Wb�\�L��Y~f�2��&�9VYf�}����9u�Ә�`:L�V�_�cKC(�l��F w/��n�3+yON49��I��F�i��$��sv������}���*2�|���h�����O���lL�'!Q�<!L�綥d�]M\��Z=39��CQo�53����"y����S�ZLS���
�d�O��d�v����c��x�@����r�5�"0@�;Rkm�49����K[@#P�2k���0Zꎨ��,߂��RN[��t���Ei��sȭWV��z��n��W��X�$Z@ʁ1Eϣ�D�'�o��CD{Si@Xa�5V�L=������gv�R[�d���m��D5(���Fq������_q�_~L��2��_�L��">�Z�j�ZB�Lx�Sn���I���Խ��9d�"`�6���`w��c��V¢-��5c���5����X�cѪ��=��ݼ�u��
�U)��^߄T��2�ߌ��ů:aU��Fv_菴�(�QTR�E
-L�ʖ�7�5�,�@#3	��D�%�e��g]�x���[��y�J��l��ڽkk���Z��bcd�,tJ�%i(U<t�x[/�L�o�ڡ�.��,���P.[+�3!��g�tH,�N:�!���a��.K�T#M�S��
F�_0HnyF���Pa����X�z����R�q��60y`��Oo/N�O/^>�4�5��n+�o��������{'��O�O��i��⽒�[�q�_+�+�0�H��G�r�\�}o%e,[�G�r��س�`
G�ӑ�g��H޷>5V�>���f�]���T5wuW^ۋ�a�{�6ʎ)k�W�+!p����j!�_1�!��/�ݥ���U�ϟ=}v�S3R��Қ_M.�n11�+��KzȺ��.MfF��4u ��R�wQ&}���}���I�α�|�";����{��>��Q�x��]1
z_%e���W��4AI���Q��Ǵ����5��:�ڨd�}�zs��	��Ϯ�t��XHC+��J?�6-i�V�a�^�G{��g�*:?�(�F� mJ��g\�'£9�{I4<"��u�������τ��ߺ⏯|�^r"QU�Y[fYO�8FJs�pz��	#��JG�N!i�o�;(�m6w�Z���z[�a㣮`�SC��aO�Z2��o����d��P�s�a.�eq�����{����U�ov�M�óg�����֬�ճ�i��m�7��l~�Y���=C����O�X��[6�`����-F�H��5*����!�DX�9X��c|P�̰�i��j�3�E����_�3��I 
n�w����������r���y��$KB���Ҍ_&�ˇ_
�����O��=������䫽���>W��������wf�I��)��\��zQxy��_�>��B(�{�����D6����l��!m�~�Q�s��4��sقh߄q��`5�|�Ny�z1o��"ſFdIU�R�EF��rK濤�yr[!a���d�6w:�~9"d(^F�`ΉZ��8
�.�$t	O�H�-�x��wQ<*��_-WU;�)'(�5����;�sk����M:�ёc
�>(��[�?�����V��UE� �Pb�d�ya�%6WB���c}Q�j��c���9�����˜;�����TRxb�J��Ǎ(K?-b�G�
k,����.\�'U��ZnM�� '��
�\�1%��S�/��ݩ��O�x-����Hx�#�Z��t�GR���W����\���R�������k�Ì��;�f���j��.�(P�쪾����#�lr*�W8?F�hr췥�8<�EI�o�x�i�Ӭ���`|P2zތF���Ϝ^l���ӓ��NO"�̃$y�˴�J �$�b�#5�^�ϑ
 �/���?�D���p強��p������}c�G�y�?�"8��q�|Q�IzЧ�zz=����"w������"m?M|g��P�%W`og�-:X������J����<$1W�����9ɦ	m�W��SO*�$����cڿhf�y{�U�"Q��2V�=�9ϐ�D����]_5�0��7���m��|ڥ/PLqe�/�2Ji�%7���B��.�O
�\�ڈm�&QD���ګ��F�O�,��k�]:S�p��m1�a�8h�.C&�:I��b�M���X�y>
@	:A)��X�`���9�Mɨ�e�>#W�d��S��#�ܗ��n/DL�9"�=v�+!4�<��v7>�ǥPpS���~�ڤ��P���c��d��zn
�/Q7A4|����H�MG�N�[.,��x��%O���|�0@�1g�*�%R�Fa���Da�8��R>~XX*��p��9��f�D������β�����i�e���H#��,E��Ѫ/�͠����"ԣ&�lڀ{�-������0xF��?���׋�N߿BZ��c�/N���>�V4U�h��!�7�}��G��% �n9��;�S`ɊN�5�����G���{"�V����v��w�i���R�n���G8�٤�8c���#��+*J�o��s�̰�j2_"��̀��D�)�N6���֤x�;�`s�Ң݋a��2M2��QxVXYE��U�JdC�N���u�A$���7����l���e>�9
 �o�r�ڹ���w�^/M���Z3S�=:�.�!Ud&l=����l$?�5�Y׷!CGj�:'za��e����cp�@?�m2��9j=��e��f	��6d%����nVҋ�����z���C�˾c�
�@aH�s=�(�CO�&�Z��K[5��?F|+7�4������L3F���S���,{Z�,��sLL�aD�h��0f)��2ɴ��B�b�*�K_�B�	&�7��= r�@/x�|i�rg5�J�xM�VD��J�0�M��V�����AaJ��z�8?]<���E��bv���M�U�@�{�b���X
��MM
&p�{�`Ѕr[h
#9/$�>�����11���W@�[�+&������su��"�M����f5��98p�؜̲�����(po�گ�5k/�6�>�g%���	Ijכ`�����B�Ln%A|�������8�~s�u>��g�OZ>5��tf�Ge̠L��ck�y�  �z^BM��*e�֓Oҧ�I��E=wę�H7�qpȞ���)^��&���ҶX06Um���K,���ݮMN��k��~�P���5[Tȵ3�1s�;�����9^���W�4�����k�ϊ��8UTm�����(�Rr1̫�ԡ���e��+��	�CD~�<2ƣ��ZH-���R�s�
�ߞ�'�ǩ^��3m9�o������[u�!,���٣��EWt|
��s�wy)%�����=~�[�2��<�7?0�7}�����7|�v	�f6ׂ��2�!��@'�z�
Vs:�A뉢�*��-EV0��<�\%[� �%=E;a��sb�`xi���FC��-ﷄ���F"M�=�j@���9���H	�Y�{�Fn��\�ju]�4��f�y^�וچ�3@���O���;��p������/�Si
Ō 
�寙Z_*t�=�,_#ס���V�D�G�]�!�?��rzc�HEbq��ks�OK��У��܌/�!so�%px��ھq�1����E��/�xZs�� �!DwI�ۛ�0U��i�z�Ť�/�K0�*cʩ��ǃEBR]�E�� ^�*�O���G�.,[E�����0���LC��0�M;��<�����Y��I�ؘء�äY���0;#�~��� +z)����c��V}�* ��Н.�rK�K�Bdi�e��pT#�������oE��_���WH�]b�!���e4��u�q��$����@{��NWi�l���=���a�?�[�t
�핏z>�xq����ۢ3"�b3�ea!��NQJ&e�/x�_m��n����Ӂ�ydp+�53.u��?����[�n2������K���B��⪆N>������_�<�|:��|��ۿ�}����������W�>�?��;����4�ꥍ�{�'�C.��^�)3�F	Tݳƪ��U��� rUR'�}���Ӟ��<��
L���q�tz��	y:��4?�I�vSw��Y���8}��CGWa��b�8j�4{�<h�?}�h��q�t��z��KK�!пy���\��Y�w���d��̃!���Q�[�=q�����(C��Z��(�'��EQ�8�/4��� ��wȶ����b�;͜��7�Hn��|E�c����)�lpv�ߘAr��� ��ݸ�9��ZB��Q����Y������tgֱ�h���^�n#���׌����ʯ�	�3��F�ԏ��`+V1"��� Z�Њ�ή'��'M�V�0\� |�NC�5H�6�k��AԢ|��1|�4�.����|�\~��NE0��-Q�)�d�	!����$|���a�ڪq"�z�ޒ\
E�>g1�AN5d�T��j�L_�CC<7�쐀����`o�Y{�3��%[}9��nE3�7Ԭ�>?t��]2����M�l�Ut3�'8����m�����s���Us>rWGqł6ʦy6�@
��
�t����u��ɩ�y.x����s�ŋ�T� 3M��}
5�w(rҪH�����b�-��#�i��f+ׇ�{[�ܺ���Y�_>�<��P+�$�6>�U}Y��e��re��{Bka�;b���nP���D�IS�t"�8�������Ҟ��,wUi�� 7fQ+ӂ�EG�pY�v#������2]���ȶZI��ʋ���m㵜���G��UG��蟻8:���mSr]�|�e�����oUV]nלȂ-7x�r�RӲ.��r��O��űY��kr�m|���0].��-��Z�FX;�f�h��_�̒��"g�N��������cM���Ja
e�~��`�Y��=v܊m&z˜��k��yB&�A7yRn�˓i7���H|^�׺ڎ]��Yg&i���E��2���2��6R0M���ݡ
ŎT�~�����{Q�H�K�u$ �ɺ� 2&�vW���j��ٞ��r���0�$���t�w42��
r407����69^��,�I�{&y&	���8�)ܼ^�]�#��)Ot|��X0�x�Zng���q
c��?8�Լqq|Z�W#^�!Wy����Vo�_D�Y�	�[�6��-����i�gi�q���7���Nj�cY�������PKi��[�M�����`��litespeed-cache-id_ID.poUT6�Aiux����PKi��[�E��,�<p��?�litespeed-cache-id_ID.moUT6�Aiux����PKi��[+���#�z����litespeed-cache-id_ID.l10n.phpUT6�Aiux����PK 8hPK\^�\J
��J�Jtranslations/en_GB.zipnu�[���PKg��[F;l�k�>litespeed-cache-en_GB.poUT	2�Ai2�Aiux�����=ks�8���W 3�ۤ��,�ޛ�J���N쉜�m�U� �8&	.v���� R|�q2[�5��A��x���]�<L|�z2drɮ�l�	�g^*�.;��Z@�<�_�g�[$)��/x"�3/d�Õ�%k���ߞ���^{	[z��u�$��E��,tE�R��@0�sD��j{��wn�J�$+�e?��?�����W���ĝ���_��S6����`†ǧG���?�
������1�?e��z&�T��&���F>�¿2g��D��~�~�?+��]]�x�u�H�W�l��R������F�Ar�ˆ~M~���
ٓ_����ߊP�<��){���*Ir89���Wl�)��ۗj�X�!�t��5�y��"��~�%G��˓5��B��=���h��gG�yEH��2�P���|��nd��I<�]�&ߧ9�V���4�=Mn�$):�Þ=G�YK�@�7PO&-}�"� z�_�O�)쿹����(��0Iy��;:��s8�pd�1`��n(G�Jކ�>4P��N(Ǔ��i,a�
�@��ȋ�
/�wg���:A�fkVk`$����
:.��$@����:�
A%�s������o?Q(�u��2P��."�����q
��^=-�4a@�w�����A{�|�TJ!��rus�{���	
3��+�j{��Y�,�>�C
�Rcpfc�x%���*��8�]��V�g3���x�}�aO��%P���g.����/xP:�B����î�9���R�B1m�J���'��R/�I�A�|�[���=��Y��v�N�H*3M��'�
��:$���F2N�yCƳT2%�H�qbZ�ۨ�X��Œ^$h���ȿ$p]<�6,qb!�e�*���������0�~�J�{�Zf)s�#���8E����r��2�h}L	Ąݯ=g��}�"�c��N�K�{x7_��hM[�2`>��H����)�nGA�_�"d��T��t������}�τ΀|����*\<N�i��1a�V�FF��>�[BWh�$�1��h�Mh�D3k�����OG0���Gk%�i�ɛ��s���/��\��Wnt�Q߽���B�z�� �h0��H��#�C4�<��4��^Ʒ֖�:�C9]������nϕ�@�	!�jѤ+��@!��e�|�p_K�-N��X��e�Z�"�E��c����D�஋��[����Xf��@48������ǣ�y�F-m��H72t�4������mY\���o�<Zx��\�\%�r.�?�,o�r��v����pR��R ��
���"���v S4\��@�)�nP}��O
+�13�4�gŽ}�)��[���:�j�=��PYK|�&~���*�kn����!���	j�0��~,����fR��`X��[}v����j��U�
���ԬA#�=��v	�.����>wnѮ��|%Cଷ��2��n>P�Z*/��n�S�X/,fPC��"�cRDH��!���z�b4B������F���ZK�
�Hf1h�������~@�`��L��yx�N��$�؃V�<�Ko���)4��iV�E�B��!)��w�℞V��M�Ri�90%�#������A-��k�Y��n�]�3P%R��Q��"T�ʢ��[?��1����i��2�|��^��iH�N���tb�Y����
.�>g�Oe���e���)]�y��@��������%;T`Wf�|`Jc�Ӆ)@щ�m�PI�$Tv����ȑ�>�	P��׎Mt}in����0xj�I,8�m�I��P1CT}�!��M�da���Z�h�*O�����/n�
�Wd���[B;�(Fc��bΞq �_����`	`m�sk������ӝ�y�w�ۈs%�	�"��5܏w7��貋�ί�^#�n(�zJ���=)�)�.<95���w�-x���-H�$�^B/
B-���e��"y�l��n��"�E��M��%j�G&� ��BB|Z�:ܔ;�3N��G*�ޙ�yt�].��i��4�k�#�?\���d�Z�͝ޓɬ�E�+�ݔ��Y��-�
ȕ-��`�Wg+��T�GD'�Ά]�G���'���Q���I�Kg8n��w�
Z�03�����-��<Ą̌��^��+����nXͧZhÓ�L/s
�8o� �-�������P]�����͎�l�3+7ױ�2�E��0
:��,�1�nP0�T~�Z�Z�x�?�r�R�Tr
������А�ˢػ�ΆE���9��t
T��OV"���'s�)X�ɶw��c�<G�%Β�'�b,���G
ȑw|t�#_u��H[�oO*���m���Y�����|a�̳._qY�2!�D)m�Xb�Qq}���-�D�n��L��hKK�kB����Am(��JI�;�w'���x�*PƋgv�x0��Z��DL[`
g#�=�|Ngt�?���K�HQ�c��v*����<�΅�"fo�H-=^��o��ad�5w�T���8��V���)$y�{-bQXB��<tC��|�|�踢rJ �9�c��Z�`7�홚mO�Nzz����:0^Zv��v��0�m`��]�)�^b�xd�FGC�J���C�>���Q_D���%�ѻ�����Z�d�@��Wؤ�M�Ctu�eT�s�w!rp8m��%�:�]�Y]��Q�ġ�$�	'�6�0[�\?B�A)�D��4��|O�ۓ��|��	�}2U	E�:0A�i����(�%�찐�gg�0�RAQ⫲ZtNXԳ{��w?�o�h�h��l��W)O�K:5���贈���?Tv9�%$[�7����DP���k�O��4��t��Nj
��W�d������-'鿜~�8)�Xθ���)��
�1Il��I;���-�=�Y
t[����|Dv��ê���"���{���T��@9<#�0�7w*;\k�E���8`~i�sT����<���ۼ��74�����m�V�=.Oy^EP�ck;�gP���pt�@]X)���
�С���������р���&�:�}Eh��X�x\���k�j�I�yG�zOҠ�~�N�PRݢ�rs�G����Y�%y�\A�3g)߂���`�0���a��c�|Dy9��=F�(P�v3��|1�*V{bI<����[>��ٲ�e�����+�)8-&!q����lnp��WuNoרt��� |�C�B�}l�����,�T�Oj�e��^��kn�_<��l]4�(1Ab�
eI��rV�]�!���K�[q��h\���3��;T*�FCc���br*`�_�����o
���z,X��R�K�Z�N��O��>%�爝eI�[p��-�ҥ�f�s�Hj��1O�hH5I*tX?")��soO��NN�m�����[��[&y���	���H����x$#IE���IL��P��:
u,K�G���M5��՜�7�vAA���[�[4SL�M9����^�N?���n�5Kn�y��\1�.>+d�DNQ�`go�Po%���<s&蔏�dJ+�Tn�INg-DjmA���.���1
M���B���fQh�Ă���Q�+Vmz�<CS��γgfv��4C�T�ʾ�T�eǢ��7����D]�j��/�U�#��G���z���{>{�iI��kk���A
sa�*С���dK7�엍pq�������B��:�IA�`�.�_��,c��-乵�o�`\V.��3o$eP'����t �d/��
��\��B�>��xS���x+9�Q��Z��^nn��=EZ�I)���}t>R	�{�2��k��Ǽ�.�Tj���Ԃ@u�����K����8��qY�9 �}$?+�h�<����v��x�Dt�Px<u��YM�����=��Z3��T=���Q�����,y�֪&��,�{^x�<"�q'�0�. 
�����& �Sa��W��NmJ�g���'�:Y�{�fiI�x,x-�b02ҍ��9��!�ί��Ο�vP� 	��f)%(`���O`]X��t2TE+a��^
�:��ј,�(�@&F��}�7`��ߨ����
 vU1OL���_�{0���ލD�BN�6�wT���k]�D.��x妶L��绫���ו��^U�J9~4l+1��j�u�wg��qx�jʪ-�l^�1�0�o��y>#/y	u��2Os�*�߷_L�����X��M��d|�s�|"��L��K]�����w��Yav^Kt�Ӯ9h�:_�v��ܬ�h�K]�y��CoRT��`Am��{��N,1e2�6�	��"KSP�З�ʈḢ�
��J�|�yj�~��$b����'��+��CS��?x�i>G�7�ʵ1��h#�63��w��dQ�>cM��缈	)ȸ�aէ�6����/N��W�r����Տs�45��sP�����s�����4���j{{!��Ш
�kտY��g0�/q���Ҳ�LS���t��%۹��t��a�GG�'\�w��^�u
F�<�Ⳇ_����#EQ�‹�ϊ��JU�[��t���o3�Yid7^�ВZ}��^��::�f=vyX*�����[ƯRt�D��w���j�+7��*2���ޓ\��_O�;��Z�]k��Y˴N}T�+��֬h�a�(Mz_}������Ӑޗ߄�^��rK��3�M
_}�7�q��=�v�6�
�l�p[��H����@h��׉c*�ɓ�Q�.��
(���UY�}L��+�ڕ;2�~�RG�tA�?���^x���Z�5&�	�4��@����^�"�x�����֧�&�<߀e�ss8��|�8�
�x��~(
@kSj�u��Ot�����^���(�zt�Z'|FCe�s�v1kC�]f�;�kinp~Ur��{������4P�_D���2����_�D�À��.�C`�;�u0�&E��ˮļQ�@�R�{���B�+͵��JY={����͢��&�p���^g^�x�����z��_W��T��j%U�ë�G��'G�J&��/�O�R����g0�B��tc^U��E�C���\+�,��V�����TM	W�G�xIfV�E55��K��s3B���-�kc�m�=�8�S�Ju�0�怷�t�r2n��xfD��G�er�Ԇ�(s]Ft-S[�W��`Y�H�A��[� ���%��5�	��l�����*��'w��|�A,��X)�n�ƚk�=MJ�T�ЭE�2��@s�j`�I�жm�q��N���r��u�Q������;�i��W�*L����-.�>j���=X�I�
'm���"�''��;��y��{��%�"A�>���n�a�z��pV=�����x�>eaXR4�P������B�s���R�[OP�]������-0��E&G%���:y� CxY5��hV�f4
�Sn�Q���[n�57�W�q	{�?k��;pƨy�?�gT��ֽ�U�ܑ:�X>x�|�~;��oL���dK�&iߔ��w�X^~��G��͟/��p���w^ �ql��)���ހ��b���[���)I�v���쒮m�B"Bs���W�g�����*KJU��^]�p1V�K�@u��m���
�a��͋�<]'��������uz�a�$���u�=+�}!p���/��nڱ�1Y�0�o_�ee좩�k:��R���4��B ��ڭU���ѬR0�I����q�>�sCS���:���/�-����HE��+�
�>@W�zF����$O���*Ku1��Z��(BؽT��z~N&���CtSeR�PƴR�=l�d���·H���y�q�G���o�8�ON����?{����+|O\=����$
��dz:��W�T�=b��ݼ�����rS�w��7|n��i��Q%l�&n`�l��NчF��������MK�s~�
r��wMF5�&��T=�D=�m4��9J"�P=�J�n)w-��hz�yr��e�O���Qkz��<��d��ybt�����K>½Ђ`������:��MZ���������a�GkEĈD�=�(u�z5�^J͟#7�n�(.�̋��M��{�����.�gu�����mw���7�A)��&":�s"�>�Ң9��K��ƺB��Z,��4��hX��6��КB=z�n�I��Ec�D_�>���|��5:S��K�e���]q2FW�,rV�m���::;��/����k2"�f�)����[_.�F>�]�T`�v)�_��I⮫2*��F3�.iy�v�����C@U�镰T�*�`�bK�?�N��t�������t��$I�U��V;*3��}�z{�:�������X��@���D#Q�_� �/7O���ǕIR���fuqx���/r�sr֟8i��˿<��6<��V����4�����ՠ�pѨ
8��q�E�1�ìB�)�po�'Ceg��Jv��N�n-��Řoʯ�f(��Ҡos�ml%'�#U��7<�"8����hl5����T�`\�;����[q�B.��EX���[\Ux���7bk����
��MU�3�~��.�����Kv-�%D��}E���Hk��OQl�?�r	{�&`\6�[�d.釉��;[t.�i�;��[v"�����z�[�ANK�U.հcٷ߰�X~����,�d�@-�]�N���wI����g���?f`YE��m�6�A'�mɁ��h��	��m����zb[��n����Z���z[>��&�s�)�;3x�c�K�6���Sy@�~q���3֗gK�z��nw<b ͵�(�kpH��F#���AMu'>W1m2�U��|��t4\���58�jY�&G��|1�֘O� ��pJ�Ơ�ŲaGep��ߓL��k��a��PB1��~�E�N&?v~C�0��W������<�qvz4��(I�ҥ��c@#��@������T8��! )��Տ
!\w���0r#Ӷ�yɰ<J'ޢ����L��ܛ�)EŠ�W?�,v\XH��C��-�s���n��1���/ύ'���k��4na�TѫE���~V�e,�X�"�E3m��6���I�~A�׊�����$�'��%���]pźP�[�����L@��7�6�_���o�'[��W�9HZ���$&�-6=��B��Y[�ID��6{:8�/`cRo{�- ��1��`�b�ey"����L��6��#�iU-(����]�/YSQ��JgL�����g,���X���qp���tܔ��9���<�\+�����0�(w⹟i� :\}��/R�r�ѯx$[;��v��V��hdDc~�Z�Œ��ZgƩ�,����{��d\�*�K�^+X��M������.���7p+/���Үd}�ӧ����17֫�z	}��QT��/�� <�gl�Q��_�8�r��(Ce��0�����t��ķ�~����4ۨV�K�dݸ�-PP�Ŀ���6N"����eF^�vgH�`���Q�~&$�/;�.��گ���6�	�\�?�$^�OGo�X�x�Z��I@��2�'FZ%�g�@���z�}��D�oj	Kc�W#�dj�xO�oY���eu�RPe����g�CS�h{�μ��'�$ef��H/a�
�;��͉���g�P�1�JE�\�Á�ktC��Θ��N
'N�B�
�8V��ۜxB&�Qȭ�ףA
?`�G{�h�cYs��E~��r�!2���g�
��G#�bm_燧5�����$�HU�d��hΡ�����Z��x\��pBa�my��|���=Q�f�Ep����i�k�~c�U� �-�a�*��o���&��巅
( c�4z�����͉Q%��*���jq��UܤTu��pzq�.+��&\x�*�~t�m
�X��u���qA�Y1��nX
�Fq-������{#G)��{i�چ�k�J�m�A�@&����т�65<,w�G�/���p<׎2��4�8d���s�c������M�v�Sz�;7��D��q��6K��7Mkr�G��ܱ�l^�N�!�����~,:t�qHc
��#8Ӡe�F�Ң=5���i������r��z�b��'�Cb��_���[�*g��Xk���f0:4ٍ���������J5Rcm�u<���-�SLͷTR4�z�Qz8j��׷O��\�~t,n67$ɾ��yKRc�v��%{�I�MѴ��/����d�Gh�,���{�>hPW%�%�T*-t�=�F>�@Kg�����s��$?�ᇃ�U�1�ǟ"f�5��D:��4_	ݞA@
������dG�)�E��� ���\���	���X��(uum�	��{k�-���:3''dR��ǘ�#SMQ�ME�+��V�������N��-�_/ڿ��?��"1��xmMC!���i�
��+�S7�'-G;?��O��|&�Fj|w�N��1Ň@�o�S��0�^�wk���p,~�-7'z��b甆�}�>�z�&���1��-�4,�q��"MM��|0>Ҟ�H�C#V��6W��+�)>Z69�"��g�K�@���n��q~~����=�ƺձ%�xOdgH�	qĮ�:TN�)���Sq�7��ș��y$�8X�]�n^sT!��gj�̏�惰�Z��k�c�Y�g'3��r������ݶ�A䖀�5����tx<��-ޔH;P�ㇷ.�ʈ��Q�v:��҇�uY�Lq�]��s���#���3�H6O�Oa�@[.��cӥ#	!�����]n��b�ow��wU�&��yq,�R�"�OU�J��k�7~�d�u;�o�A�)���V�[�%k�i�*S�Yi�����E��]�16��p\��`j.�R��{�cZ�M[�H�pS������/np8�j|"�D���-��doܦ3�.$7<����1���|�����NH���;�u
=@4m���{��gC/�k;0��� "�^m���������f�	�ĎV�;#d&�PX�jAI�>�J8l�v��p�~����:��g�t�G`�m`{[p2�*�c�O���]�5;�.|:x��6�S;CMu���
��A>~8�8X���:.��u�������njO;������93�8X�O]�_�
��L�>##@I~o0DI��(1���n�f�^���Ǘ"K��/e���.��%�N�6"(xȫ��"PE��?ʨ��7v:�#��!j�$��'���(�6	�x�Y��5�_�jd���|M�������a��J$i��}7�KA�3�т���s�k2�DĻ�t����Դ�3�����3�/��P���;�z�B���x_��AY̟EN�h�g^�?I�x��a�h��~nz��h�L�~/B�8�G[x��FȡZCh���$X�O�C�<�q�ނR�5��t�.]�#�v����_)�\56�P)ЃQ��n����&���h_��4$���+̗�s=���7�'��t{�D��kZ+���~^���мNC�N�}u;4�z�%υ��{��s4����P�l��¹����Hm�Q6[�,�ҡ�!��kی�S�O��!0��������ڀ��V�
J��.�'����Zح}xsq�'�s���i���#�g�J(1ԯ�^Ǘ:��3�Л!�.�hCNm����د��;�V��󽞥o�o�{�a�����u0  �gu��msB�˪������Yʶ�}�Z�^���TU(��m/N��x�Pk��7Y�Mޱ�C�G��r��ʝ��,_J3J;�����V�M�g�׊8S(���w�Ƀ�7y���;q�z�f��L���
�E�\6
�E�F�R�߅4U�Hb���r�!#pHu	[�I-�s݊�#���g�}+<���[�n���r��M���9�Y#V#�u.�7�w73@R[��U�,8yP��O���yd��\�n��_'��x�ux�J���z
���I+�ol�=v���
��e��>s��� �@'5 �C�fM��E�ؕ��Jg##�,���V��u*/Ж��g���th�F`�����L�?e����`��E�8�Y
�v6W�)�aw���]j�$�@�`��MN̟��WBFE���#�:����S����:9@F[$�7� v:��5����Gxn�����Y���k�x�3�?�|R5�����C��P��Wi�ݱ�D7M�TD�E�,7t��}�ӹy��#��xg����(��_�J0�'�FQ����y`p~bKk�55���@�$JX`�D�T�&h���5@K}�؂Bɍ>-nM/�w�z�0V�b��d���V�VC���㈇;��`ه���˳z����ٱ*9n�i��
1 "��2V��y� ��	�J�Ө�T��X���������*��D��~�W{v��k��6��t���M�l�ƨ��
�I�H��R�?�mu�ѧ�N�Q���;J����#9FO3{Rd�3�c�FD��`�@'�2�'��˓���r�m��-[� �]fn3�F��fӃ"$�J:���q"�f��a�θ�Bxҏ��P��|� �gɳi�ݐ�;��vl�-[w���,���ry���l�oŋ�;���Vc`���n�5��7A �hm���$��L�5Q�������l�J��>E�w%b�ˬd������~K����9gwG�m*ƅ2���-Mܖo�Fh�=*_�M�*ã�2�ү%
�U��s!�0J�8���N-�^�v@�3�\.0�֋���Q}L�f�_�		O@�^ W%[��,�ۜ���;��@�;Sc���J(�`*h�"���X�&L�j�o�7Ӯ�r��X�:���
���~/�����^]{��%k�:eC[��b��̆1�;��Ś�4KpK0�h����%bQWiS�@#C26�ֈ�D�u��F[Os�k����A�F�V�zto�B���c{A[�*�F��U͓ȁ
�����v�;xa[���.�?�[�7�X/�YH(�f0]'0�>;<L�hz�r&���hP5j�F�P�7�nY~�j�~���RP�f�.W��ZA�W���2s[@R�3$�V�[@=��<��	�K�cX��\�7���oUpi#��>y]�G���@���wê��.ϸk�V��XWj㈎.[��������h/���%[9�
D,_�W�V�>Tr�èDz;����2����"�H�18!D�\���7k ���D
h��)�Le"!!�6ʺ���<�O�����+��Y�kz���O�L�T[+`�y(���D����D0��.>��i�d�����Ql��m��2�S�Xj�D���GN:#�]��=��O�R����`�f�t�t��#�-��S����S��amd��4k�4�p�t����?g�p��
7�dB��i2z�S���,�ɿ���w�����	��w�m&�@+H&{��?>��w�h/c��������(,@�${O�T�~��d�
2|O^�7=��/qv��^�1�����#�;}��u�`Qͼ;l
a�yO�
����[R��jN��j��7�8Öowe��W<��F:ݦN��P#۪󡁭D%`�>�ɷ���{.r�Id�ӄB�D�G����9�	�̂�U�́��1e${�v��G�H$i�2$�����ck�����>�)��Hp���P�>�_M��x��y~~�v�}�h���[�os��剫�w�ڤ4o�/����>r3C�Ȟ���F�Q�?4�hЍ��-��{�1�3Z�s��	Q��KF��F ��$�9�p|%ͪ�k������`Gԗ�C���.�O�қ�=v\8��2��"��j]��D~�x���YQ����"��ɸc-� �B(������';�;\�)�j��@��^݀�����r��^y��i�6~b�rE
Ih�G�H�.��\�m�H�R��q�U�o�|.�ط�����<��H鈶G�|z���ٗ�8�C�&N�����'�
�&�����\⢁��-hA^t���6��C�$w]�L��k4�|ur~����!�u.B�$-kFp��#ە厉v��\�P�`39���"g"��~�sܵ(\���١C����"�t�Ε=W�l���–B��/Eآ��ͶZs9߻�aY�1a���c��
�d�W�~K�J���1"��7�}��7|�YBt�}Q��	e���Х�s,�3��G'qE��_��ӽ�����Q�'q��pt�l�KT���P4���P�R#=��QoP���o$Z#߀��f����3֐^��FW<��amU���q���
׾jb��OV>(B_^ˈ�����(`�oK��E�^G�R�@�d��n<ow!f�Ζ�Oڿ�'�h^AS>��p��S�?��e;��]�+�k��FhQ.���p��G��-�kZ��8K�=��S�o4$+���e��'���.�@�#.h�C=w��+�0�w}�s���<�A;&e��2<���ǦX���{��4�aZ.=`��v��~���*;3GR�t\H{~	�&���(9b�<^66a�/{"�+p�8�bUs�;���o�%�\~���muz-F����������A���X�.��#rߛ\�Hƞ�T�j�)�1k�.��-;e-�Υr�g�!
6ʲo���zo���p��<0>ŸF��K�o��FD���Azx�8��a�\�n��P��•��&�A�f��<��ـ�]wm-t�K�:����_}i�}�$=b�F&�6�/6"���{VOSv��D��o�]�س�|G
�V ���s>s��v�
�ra�~���Q��Mz$���>���#
0��f��	��п�Z5|-�&a]Q ��,y�)��U��l���v�	:��C�ZdZ��V|���X/!�|%�0h��u�փ0!��ܭ
�S�A~��'`.}G��F��L�l�(뽐m�'�W�Di�|�#O�(vfT�X9_�D&��c�P�<ߖ�Q�W=<�/��K_1]�?�5��g7�b��~�3��?c��V}���y�Wؔ�ڀW�,���X�Ռ]
���_E���CM�*�w��y�h��2s추_X�(h�rq�����	�[U��دs�"�H��{�����)���F��+�k�/��O�P�����6
�eh֚o�.�q��W���)���, (rvy��W�&�m(���
g�ڦZU��A��ˆ��j�I:�P�{��p��ж�\�l�Ob�b�W���/!�Ly���\S�@ԑ6BAF�@�N��@|��ЌqF����+�wS�{5k�Z��֌�E�ҭ�3����"ȧ,�.�ߍv�=�:a2�N��P�D��?��|��F�ſ�]�T�ns�5bѫ}�E��vU�a�����y�e���F�	p�J| �fЄ�q8�{c���sCȿ��K�j�f�ǧ���!�
B4yf�Z�(J����%ǜ����s2tz��n���S"5H�6J��r�Xb���x�`���FW��k�q���{Ӯ�k��#-x{&Na��N���FcN2�O����
��� �.�^��	�\	��j'@���f�e��6̏�rr�&K����~-��ITr
{�R��j��hY3ʯe'm�f&���ڛ�4]�;��F��CT�*kt$�E':��0$a�,���5[�e�G"�\���c���:��_�p����Ѱ9ŪՓ練򛅒�A�L�Շ%K"}Uc��{��NkEB�:��T�a�hjEK�]	
�Z�T�g������,w�=��l�bTD�ď8�p5��7,�܃�>�^	��
b���L��{��
`���ZE�%�Z�����G=�Qۈ�s|�E%����g�5��D�]n���)����_C�zV��
�t@��.��8�(���'��i�
`N/�+z����B��Ħ�D-0cvd�����4|4g*�79ґbK��.ٌ�w&�e��}"�«�f�]�����
�V���(���h�Q��)F�@�''�\�S/��_K�_K(q	ه�h�o����:nE������ò�:�/c����䗓�@�]��"��~DϿz�ʓ����Y�E��!�&I	~O2��N�����#��L��oˍjCsθ�h2%A6�tM;[�E2͡�
���6�A��eZl�[|�'��9B�N"�0�al��d���!�/�Vn�Jyg��>���z
C�<���Y�Z�r�-�,l����a���MDg����ׅ�l�s�H�D�t��!p��>E|8��v�֒�lꏖ�;��رss�ڸ4#��\��g��vg1��%�j4�Rn�̭-�n����]3�c-��W&���Y��x�Jt��~����m
f=�v[�+P@��^q4V���CRӷX�j
���h�)
�e�Ƥ��٧+���*�u&�t�~0�@lH"�A?�E�ZS�"_n�3Ʋ��qO�s�B�Uv��Z��[4���v���o��p�y ��c�TG:���4����6j�9g[sɧ�т>U�h:r�P	6�6%��.��V����b���pV %#'ѫ�OAS���c}�^^��=���3ղ׈��KKuOZ*t�g���J��j'3�M�6C�hNI��r�����_a�bT�������W/x���*��l�l���ʵ�i�	4�R�Ʒ�����Ҳs�����7j�5O�dl���4S�mv�`�5��u^�..��ra�i���W�^�;�5����(�	�YUc}	y�ĪO"R;DCņ01F��M�Q7��*	��ݪ��lv~awu�e<��ɺ9^c���A�nzA�e,��!�	}�cSD�;�����VK��x��x�nͽ�t�AnF�9�*Q>l��tt�zs��+d@���j��_$@�o0�l^N�O����-^8P$�EN(�ꋊ+^��Q*�I��jW���̩Tꔕ��	_!�֏@����x�jYU��9"c������57�ն�u����ӹ]V�-5���l�j\�\���K_�A�@�U��ٟ��8�@�����ɉ7�T����x��m)��`�����$e˵ۙ:����M�v�n��ז�?��B�O[��L5�0�sX�H���0���
ʠF�\�ڑ;m��Ǥ`��|�V~�r'Ù{	k��DΜȖe��7�>���9}Y�5v4��a�.t{�[앛��}��Y/��tV��h���֦1��IwlH�@��B�uVr�C�F��i7�!;U&�b�#�;'‘�L���15A���J~Q�3mC�E��6g�3p!q�ȱCҢ
�z����(6�j[ڙP!և��
�����.�r�����~�;�|��w��>�"��;dv��F؆
���F��2�͖X�1�*L'��8Fwm�Դ���T��.AS�k�fJ:2a��U>�%1Ggb��П	`����G�0�S��6�&w:�źzsO��<��
G
D�D���12,s�T3�w���J;g�
œ( w�E)� t�t
S�����������o�����m����V^����v�u�C+ƶ$��+�;LX�m�(��ű��>$������]�͚���^��K-���V���Q��"b'��(;���/��½i;����]��e����v:���-\��{j��	���)�u��R�V4�b��C��'A}Cj�@˓�ٰs�G��
v�M%���NO��k@�����c�5;�V�(���չ�PB�I����-�ֹzfW��x�.<~���+;�Sj�y/�T��7DO���i��
H�߈=�0r��ר��
\�}�t�:0$�R�)��K>z���VB÷��[PF�;
Yj��ھ��M��B�XMk�R��[Q%�Qջ��v{�'��X狫�r2�(�=��I�_�����-��X�z�n⸺�����iT{D�h~O�;���z��yU���Ax���86�T#�g/���'��kRkzA���(6�r�ܗ�
�CK���sR�O���;��Т�'>�����b��42�Y+�cg�LU=}Me'+��Ĉ�m�y�䦿2�
����圙ϑuC��pD}jU S�ﳋ���-F:�,��S6����#��,�JFG�<�kiT�xG'$4|IB��N�({��?�؆��K훭�k*�/�+v7�v��x�(��Z�7��ċ�ՠ���bƝ�1�}c�g���*n?}v7[�'�#����4=���R��^�' ���h��~kp��^���|v��چ��쬒2ȟ,��7�ńk�h^Y�	("aı�(�qJ�^P��U5�Wΐ���P�a9�٥�%s2�L�2�x������(l�B����C/bb=�E�-C"�-���-�m[�Z����b�
�,��ݒ��o�e�3�"(k3J�u;W���N_?��*�Y��:6T��kC5��h��]�Ns�ѫ��9�-X��gb��8c�h
)STX,QKZ�[�y��a	���=Ͻ� �2��֞B�l~�Ml�ʷ�w<l���H
�&lW��͙^��>ܷ���i�W��¦��^'ғ���U�S%�Q��/�T*֚��>�65���ȏ{�z�
	�"f`\��J���@�h,k�׍�P�<���d�9�ݔ�
Ѝȣg^p���1gM��(F��K�n;��g8�C���#�2����|�1�=qH"�C�4�
%)���>��Z��t����o��T��Ö愨�S��o�(;9Aj]͛���\
k�m/�K�0�\)��q�5Y�Ǡ�/]j�c`���Sd(o�!�{`� %��CR~/��.�H�+ྨ��4��k��5'��vi�ޟB�w}��r�_0����!�:T��"�G�%bv`�����0�`Jf�s�L
R�1�~��
B�)��}���]���npW�wh�q��k�?
����{h��'�.��w���ՊnȰ��C�K���SKjQ	��Ѣ���@_�]�%�@��~~�g��ﮌ�}�>���@ER%��HM�ш'���bw�4(�X��0��|K�1�鏻���N����Q�q.]9�Hn"ա2�r���b�ui�,�rQ)������֕��\ׯ���Ŷ6�[���d�Zu�>	ZN��x<`8:8��b�|yy�L+�qa`	r�Q�0^~��ؘ�!�{���]i���M�
:�pz�[c�
��3Dq��Q����������q�Gٖ�l�-_sp�e:IZX��N�-;Q7v�6;��kw�lC�k#3;&�@�J���s�մX�[��p�K0cm�_[��l��ogk��U&���)�m1�Z}����`�^�@)l{���?
xp�ɰ`RŚTL�?<\z
�X�1t��t~q�10V>�>P���ؽ��z���*��"[k-1?���+�K�(Vb<�~��n��
M�*�
l�+]_%�ʜ�PJF����e
>o%�CfW�(nBL��v���h�u�)�L��B:�/�l��/ҚCmI��[X�ׅ��M��qX�@
h�A��c��Gˀ(�pB�KJ�h�:���T�{P�[Oْ�$�7�k�~Tn��j�i�N�p02@���v��@��=z��&TH˼�>�_�C�V+7�H�S��xNJ9��ș���@���i8�F.��	F��_��T���7��%��u�+�Yp2ٱ�6Ͷh�hC�'G$�龀KXqP�c6��E�q�G�F�,��1|�
����`d�s
*_�O����kfm��G���)�'ޠ�?uP�OTo�B�d �:�_n�;p|����o5qO�����6:�N�^�bS�p�<f�;P`�o�_���n�EN��ΌR��
b��:{WQ	M���#Fs��.o���Hi!��3pس�W�N�$'�b:��]u���N�?�+�ƳP5�@�p�����P�x�*�JS�i��ZR�E��hS�тM�,��%[=�u4���z].�1�d��u�����Q�� 8��,�dy<Q���g�c���ɮ���pÚ�V40����\�Do��\��`�5���D$��[x��C�lP�vl�MX��
��A`����NN�f�y���t�ym��˯�z����K�/�4d#���{Ϯ�k�1�j�r���\W�ZAz:���9�G���>R��R��n��j��
Y�i���Ж��so{>:V�H7bX�uS/�p��51ҩ��0���|S�<	I��*"�*>>�k��j�<Yїg?���Ĭϋ�e��d�e�Z-m��/��r����O)��pw��Y喵�X~u]o�j�'�a��(��ĥ���Sc<l|�����`jx����o���X��E�7u���k�%��ܪ}��a��|�Uy����euܾ<��Z,?�A����V�"�vz7;N=I�g��-�"Тs�F���z�y%����H��O��ҟy�撽Fv_$�o�N��I@ᦖg�"7HŐr�㮠u	Kƌ&�;�ί(��np�M��E��q�i�
4E�%ڄ~�r�r�,R��j��:%�S3ɗ��j#��/߽
�1��ɠ���i�1jQv�)���C�;-?t[��1�T��g`�Ĵ�gh����K���}vK�8�4�O-�7�萨o�4J_�]�>�%����R�`�
W�*��v�eFD���RP
�j)�7��R����J���ég���d��1���g�VW�댽�~/�3)̖�7&��E0�x����!߂�W��e�/���hL�A�	|	�L;�(�Ҷb:PS�TO��-��V����!K���5?�a,mE���]�C]�=Ʃz���J77l�_��yNTb'y#%Yd�/��*���X�ȥ�c~_�5h�y����^�
��u\�ٝ&~ϑv�g�q���t�	AA��1���>���B�s�vy�fOх'�G����a�����?g�K����<���90�G��0��n
zݠY��.���jC�	�h
�$���5�#��Vf��-dNG�Tl(�9� ��A�.?̸�5b5�hAӿ�)��-��)��:�ȂD�k*�'�Q�yu[���/�k�`h%a��o�^ul@�|/�-�A��P�Ȭ��^"Cbj_~�8��#���%2 �k_�+�KD�������{�ҕ���
'�	����j����F2^&���E�l?����zP3��o����W�?��U�m�gW�s���V6l��`��c��}�Q�|y����o�����!k_�d�]���0^A��dq�0̻��䊁I��Rz�cf&��?e�	��n������	�C�*?�9���n���.o�����9k��c5p��A<y&4�����׈|��F��5>jЍ���~�����dqW��ۀ� �ZW� �iD'�LҒ�����>�DɪɋMZ%4���/}1Y�d2r���\k#�d*aW�V����$��UXg)[��Cڶ�h>�;��
�6lpw�˪3mDG����Y�^�k���kcx��B���/�`5�d�E]<Yɝ���@"[�*�u
N?��p�Xj���n"i���o�\c����ŗ���1�ߑ6&h#��'�P��nAB��b�Q󣵭X�}�z|���Ӭ�W�ݸ�� ��dU�~6d�|ldH&0#=�2��)A)C�q����zg��X�Ɋ
&���W�����4h������BT��L=ef��_�p�쉸ٳu�x8�����~M��U��f�Ee��}6�.3��	 g�v<RhȍE�S�4�Ӑ�P[�P��.Oc#/<�ZӇ�-�K�%�`O��N�S�R?Ӿ��r	�bP�X3vi���	;��7l'0�{�~�p���j��<���yU�;;�E90c{>XwB01@adS���vz�:��Q���[b�aɞ�?gR��V��F�-���H�	qd8��,���v_��L�L7pj�q���
�l$���pTO脺�35f�7"��4n���<6LS�i#��d�ty�&m,;�I�b�_��Q/f�:4?[���>z��i?AD6'+<d<-�7A#��N
Ωii����Q���\�\m�f2Ÿ��4�Q8�gҸhb>��f$��$�jG�nZ��N��v���M��B�烱�Z���?��B!�q$Nx��&p�}��k�)�;�/�tu ��\��@KT�8�J��ib@`��6(���H�aH(��ng%�?�i��R�I
�C��{`��4��;#1@aD)؃�i1���cS�
�����5��"JY&
ͪ5ʖ5ڙg�OA�o�����*�E��WRXN>��Y�St��Y��l�߽�6��~>�.���v8>К�$�{ٷ O5B�٪b�	d����`)•�ZJXyu'�_v���V�"Q�%�:�-�ұ��N�H�ӎ̈�P���TAYź��t��bM�M����N��}��.��o(ir@�.!
�8|y1�#�w����%&;�W�s�������s�)n�x�;�q(�7v���"�v�dH��C�eK����z��6v�*k�؜�zn����Ax�E�bgҝ��V��ܟg�Ej�Z����6_�g�S(Ҕ��>���-�Fb��g��<��\:B��F��K��Ci;=B�;6{͎_������3���C^��"�~;vo%+;H��i�����)e�Mvc�I��x�Pӽ��zBgysRk�1;�0���#;�Uk��	��dc�`���0�s/i��:�>���5�؊,�p�`cC�1��in��l���Գ��6@�B���PȆ~�D�j(�bvO"�.	���I��2����l^l!��������e(����jw�8�XFy��
(�;���Ӳ.EK�.��f��>��܂�?d�HID�Hw՜�t��B�eux&ԯh��F�B"��t��)�����/����C}	WWP��ـ��8�ۈI��)�5��|�:!m�;!�_�)�x*�e�w���?�^4-a�j]��9�e��=c�E���]o�7��lU�?�c�E����iu�3/@��	ƀ|�omb$#a�H�n&�e!!�R�U⪺�����5G�ц1ݘ�/e����2@��*��1�b?��+��8Y�L�NL���&L�f�Eqd��<+x���"߲�����o�X�NF�)�m~͙!<1��"!���B�.�@��|*�n�
��t-N��Z;�'v�lؘo2�P�!x�X�O/��,�����N.�о���gï���H��ÑW-a�wk����ULet�N6g�_���YLY�ڧ��Ȟ�Y�)�(���a��J�;Q�5��3�E
��ǧ-�FsuW2��+�K-٤���H}"��I��k�ۜZ	�r�Y�Zņ���5����t�v�܎y��l����:Nbzx"Bx� ���e����.
`���U	��O�����~i�3���u�ba��ky����/h�,!�N2����PO ��L4����E-n<�k�+ټ_o��v���ޒ5X��RCE�-[�ݕ���Do���p7�k�o]82"��Լ��Vl���,���Fp�Z���
�ޔnN�ِ�����m�@�� ����%F�������s`�EV�[��IC$��%)n
!=Kw�Ror@J(�X�EK���喻:�~?�Q���3�s+�'t��?Ξ���tL�&���1�,�
|���Aè�3���F��b�:p<���7{���/����m)H}�=��dG��8�f�?�?�z��V>��@�ٌi�1���v7�����2c��H���0�Is���,��5��HY|Uܦt��i@#Sv`}�লz��*TpKa�Ur�Z�MO����=b���$�3����'�o�V0��|J���tL@$�A���½=/6���1�"e���`��)�b
o�=�'9�~�M�]�r>�&B9��iE|�~ Ak��NК|����ޭ���b޾iC�)�[�֤�������ߺ�����;.ƅ��}�ַ�>1���x �Hl%l��ȷ�Y�c��:~�����m��3u�:v-r���hz\6��dJ�7�uF:ƫ����_�}^�X<1)q��$8+�@;,/��|�W<t���K�m�xr�Kժb�^�i�'�ݶ�O�@v�1�-h=���dIv����|S�AC�)Z�!��L���$��s{B2�V�
%�`�`�DfT��P��U�W�r@��\_d�ɤ�a��Z����	�t��SѢR@�0vN�݊�&�G�+�p 5;�3p1��7��0ӛ�D{�
h��#��*��=H6%��-��vD7���K�U��_�cr�U�R	P�sZ��s��8��!�>��99Ӆ|$t�FĮ�c�4������`��݉�i'I��b��Ja��W �6]S"jɰV���i�sD������|:�pvz��l˄��Lzt����:�,���v��@<�w����޲��p���A��?�%�}�}���~��RxD�KX�U/,�M��-��|͏�m����B8.�=��O��o{`�nQb�~e/��KiCIQ���ݤ�w��1�ޯ��L����	W�	�����~@+�bX(+��P+��r+�t���S��N
�-��TOVT������c�<�V(��Y����Q�5��WUI����˭��5��
�
L���ƃ�D��Y��tf���
�����Bop@\�\�x.Q���:Z-�.k�X�1��S��x��������x�Y�t�/�&ɏ~��aJ�m'~��nj�f�;��Q��1
Jl���۟�DŽT+^�:t[��o�d{3c�iO��=��"�-v9��)p����-mZ?�.`��c�[m����8q5i�l�� paQ��F�<������Y�3f��u��l�lg��
�>W@#�Ur���{.m�k
gJS��������qg ���Q��L&�G9��8��>Z��S"I�"̒X P�:�U*P��JI� �u[�"�'p�S;��?��%_{��

t��1xU�yB��dڎt���Vv�z�RǓug96=;�c�8���dY �!a�?�0���9�p�ڃ��t�S���B�
�#,���v�����wwwǪخ�����s���f5���q��s0�����@⸂i4��G%��t�-�~��=�&)��‰���!>sP+��W�	L��g�lZ�Zۊ<o:��J�K��.�*��
�-i�_�}��>��n��� ��"_/
�h���`���lQ�Z��T�l�p���)��#"��������d��N��f�w�
`pʹ�쬢h�4Q���n�͹^pI<{�ɚp#�OLCl�lݺdxb`�jel�D�}��Y�J�س��
������<]�pm�7�Z5����v_�xS���q^ω�#pC���f:w|�&�#��_D�V|*f�Dv���B`1��,���Ad�[�ߡ�\�2���;#w�zvZέ?Ww��#ሂ"4֑ܙ��\_��ઌ��K���Q,/#'s#�;�Op4{i����:�	���q�c�O{
��L�N�*v�K���|�=,���i1��������_P�0N���\,�k��m_5й�n�񹶥QGDudzs�����z�	��WX��Vx�^�	D�m�li��a��uX��D�c��t��,!^��|���׾�=���*Ķ�f~�IEx7�`L�	L<�2��ϲ��	*
H��2\��J��[5�@���2����|u�/#�A}-�E�Q�
�:⡢~�yQߟH@C�o��_�ݍ),�O];�mS�^�Cږ�@=<X�.��č�Koz�n[��58!�UI��|'�]����Ԇ��q6l����J��ZL	�7Dy֓��{��D��,��	���^���+�]�[�Hm���&�BJ��ҫQq�<�!ՠ��U�iƇ�8�G%�n��&f�����~R�A��H�"g�ދon7�C��+�,�c_^�����\�*T<o�P�?
̿�طa'*{*�VN��J�[�-p1��0�7E�����5¨��]R�v��#n����ͯo>����ӳ�@�^���l����I`&�nH��n���I|��P�~\v�zv-FFb/D%\�8JVP��A�x����+nC�#�}���P��;
��pe�ጧ��~�S;�dR���PM�b'<�=��K�6�=߹b]�Ks��h>��/�7H�`j�m���6�u�V��))ݼq�5���;�c�Zؖ�<{�'�7k U,b÷����LU�sZw�"*m� T��F�9��d�pF�cI�[T�?�O(���8��Z������A��*�muMA�TRk�gRqz��7�Vr�Hc�(wA�J�Ѽ�<#T����ή��%����\C8^Pqon��Q@��@>)��z3f���&
��E�c���e
�\pnF����4�X�T��`�D��̛2G���HR�
�WO;i�M�A����^�@�ڊ������J�uSn&rx~WUh���׿�%�hD�M�@�R$���~=�I�^�܈��`z��~.v���Z_�7��|���~R@�R}#:P
@N���Ew�h� �_�s�V����Z�4=��g��3ut����G^��ٹ-Ѐ��F�Feܠk@,Т9mH�Z�5�R��V�0d����c��	�P$ֻj�Y��XA2O��9�M�0�j^��WI
m]�܍S��NVw��Ko���ihTGs���j1o
=����`>�mJ#��w��zb���Z�YDaȢ҅$��
��Tm�Ŏ��·�w��C���55�m*��mj>���K�c?�D�8:�A�Y��f�h�kJ��@�t���U����x+�!�$z����K�ރz��Yg��Q�d��H��Ǡ�2�D}0o��&O��m�F��޴^�[�p��FM�u��qqa����W�`BIGs^�����\@5�;\[EЫ���>�F$ &��Զ@�x*��|��=�j�6lۊm���߅�����[�0G�@�@1r�3ǎ���
��w��Y��
�Y!�at�*��$���Y�&��h�e}��ƻ�#oJv�Z�ft�]p�����?�Cc��W�s�2��++�>SJ6��'�,�|���gԩ�8�7Ӭ�b���P�>��
ǥpd��3P�끤Z��ZM��:�+fY�٬@�G�F�/�|�M'h���p|7@5���86�y��&[ϋ)^�&r��o�_8q
�vˮ�M��������-n�6Mx7��$�C�yZϒ�ʾ�Ѩ���z-2�8�����&CRS�m:��;ye���]�8r���x�����r����@����ۂ�KpQ������՛��Nj7.��go�f~��U��E��R�=:*�
RƮ�W��t�Ɍ�FG�^�n��I;�1i]��(���A�@~nɑ���:�z�b^(��[�D�OY����D�/��ΣX$�n'�U>����R:���R�!i�(#��T;TUs'9���XU3$��k+$D�pJ�u��z�Ȕ��T��_��z�"Ąo~D�1�d��x �#̴o��ەᤨ��˛fj�`��u����Q�+�:x(YiF�=CK� �T�����0R��Њu��p��y$��Éh�a��8��}�;�h �^ʹMTx���5M"���]
�rZ8apy�4�W���lS'�jm�~-�;M5l�`�=��$=���H>��\)m�J��G�
g�X�شp�Ԇ�����������d/�%ZA�RcP.�d�R�ѬP�����|���\{k+N���#�l5,�+AE�e&��m�2$3�݆G��!���f�.�]8=��y#0IߚlX���ܣ��:�">WQ\�,tؙ�z
A�h|�xѴƇ��o�۟����BL9�������=f�����^�+"��m�h{�_�,�q� ��qz�R��/Mei��2Oj����K���������(1������B�@�Q���(H���_Mb�y���5m�{?�5�~�a9�a٬,�i�k�8�0�0ڲUG�F�p�z�M)���
��AʈLp�悩mk��䩕:�	Ž2� �n��p;�V�^=ݡFY�v���s�(;�b8�
�ob�^��}�:��RB�ED9�a4������
�\��K�-���d�u�)�|;����aS��`"�+�w.{�;H��V�r���n6U�߬���-�Z6��i�����(9?n�,N~�u0P�1����ڷh��N<c`��'0�Zm��6�-nz����-L�G���V���•��Y8��hEohb?/l��E��\��a�O.�G��~wæ�QQ�q���i\�KFj]�$����|�b8mIm����u�e�s��*ɲ[�jQ|!�'�
 Pڕ��.7t�4lO!��$�Wˊ [��6BPXt�[���q��o�{�ɟFILF��N����e��Sꦲ44�Vl�87���w�G�q��s�
*%�<JD�̿�xJ-��uJIM^�%X�p����i�`S��[�n|d��4���[�o}t��4�cC�\�Kٓ�F\���ps(��id�dH��)&�JJ#�߶��C^�$-�\����%�!���j$r�-�:,��*R7��45{
<ߣ���!|L�iLo�,�J8�~�gދ��s�Z`��x�+�c��y�T�x��n���?&sN�8bw?x
jt_aЩ;�W��v�]'�:fl`"�l��U$|Z�R4�a�])�)9�i{�Гo/^Q|���W�D|���Н���6�|��ݱ�֛�i�����轢�n���d�J�:7���U�v�qN������i��t�}:�}:v�>��c�NG~���ē��x��d��+��,V'�5n�d��ʣAC��\y�kȜv#�C��ʝF�����������ι��'�f�.���G�J��PKg��[>�?����litespeed-cache-en_GB.moUT	2�Ai2�Aiux�����}	�Ewo�(��$���lH!$�fw�lHv��&!ܽ3����N�3�,g��[n��[�SE�@�C@�A�{�_UW��&��}�e�������^�z�ο~v��=���:��EJ�)���G����a�=o}J}J��4G�TJO�;)݀�)ݐ�_R���k�4����%J���=M7Y�z;,A��z��߇��R:��4�/A;_[�v/�t=J�I�&�^G� ���NJ����fRZ�t<�7Q�JG�X�ޥ�7��M��S�'��RQ�
�'P�J/�t"�7R�iJ���|^뿦�ߣt��y4��J��t7JgSz�������[������Q���v�xS�K�)=��� �ۋ�S(݅҇(�L�)m���{�|J8�J;(��x���P:���)��?Ci��C0O?�4��IJ�)�:�9��)��p(���y��J��t�a�_<�p���;L��0|�u��~�s�)���0/���ԧo�}��2�P���U>�!�'Rz��qi��~J�}��_��ޣ}�����޿�0o���`��gPnV�֥�h:����3��#2���2���2��3�Οf0.�����w���,�g�,��b������:=)�q�F�)���e1����-��/Qz2�3��`���
��R���۵�7�[Q��_�����Q�
M���<=����M�~v�t��0�MϤtG����9�~��>���(�tJϢt'JoD���>/�~|18�%�q8(�q=1��:;�y��ҝ)�q����V�0�.C�%�0}�0~�/�|���s�2�-�0��/��i�x�y9����k)��[���-G{�����яy���^��;��׉y��yy��y�ϵZ�~-��<��)JgQ:v�7{�c?Jw�yB;�a�<<E�放8�~0�yݦ��ص�����_�|_���~�U������X'�o��	���!����o
џG(݂�+�8��_�
����M���"�cZ��)b=Q�P�UD;���s���4����}H�}��y~��yz���pໝG��=峇���1n����v���_R���ဳ���yGS:���~Ji�OP�;?�P�7�D��ڿ!�|� ��C�zۗQ�2�'[�w�,���5�[e����ߗ�/j��2�w���~R�8V�<��W�uX�|�M�‹�۟W��Z���;�y{0|
c�z��a���0�9q�;<q��3��f�����:̮D�[W��?��\�ߕh��F���?v��A?����3�~�l�i�{Z���7���x�p�#�����z�x��~�H�;�H�[��x�AGb�����H�ۯ��{�H��G/����:`���+��~����K�<����]p4���h��1>�?F��1��v��u�d�1�����O��g��\u�=�`^�r��_z�����������v,��%�b��r,��B-wݱط�=�����?�E{oj��*�G�*�k�ū0.�U��Q��i��._x��*��;W��W�;78p���P~J��8�+�zm�q�������8��q��69��(���y[���|�K��'`o�Uj��rJ�U��OD�8�/;�ޥ�H(��$���~�t���'�>�;��Z��N��3��{�;�󩘿�S�����S1^�
<�-J���?�7�4��WNC����OC��N���4�����4�s�a?]�t��t:���1_�hz���絧>�>��KJ�c|I�O���x������;��?�����@�����W�?r��?h���h�+g�矉r��	8?�L�s뙀������3u��Y��x�g߳�^�Yxρg�?ų0�ǜ�t�Yhp���,|�Ng{^�SJ/f�y6޿�9���A�	�`ܧ��i�9xϲs0�+��dM�?��5�����G����9�w�8��\����b|������s��?�߹��'4}�\����;����8�u���_�9�w_�|�<|��_�a�>�r��Y��n?���y���󰿧�G�Y����v*�c��8���|�7�c��������ow��v��y���V]�������.�w�|訏�~�AN��׮��1C���AO�@�ƿ��B����C��B���1�/]x����^���L��E���n�E�E^���s�Eh��h��_��=z��Y}��E�G�j��/F��/��Ũ�ŀ�c�W]x��b��7c�_��%��/]���K���]������.<�N˿��㾡��o������m��>�
�{�K�nq)ʏ���z)���\���.�/���K����R��]�s�.�њ���2��P�W�a�\�r�算c��t��x�ޗc�g_��ߝ�t?Ƈ���r�k�+�?�t�o���1W`\��8�gW��_r%�?�J�ۥW��%��+1?O_���J���Ux��U��iWa��_�����]>�%W�<}��SW�{�r5�u��XK��s���ïܬ��w��_���j�����w<s5�ѫ�Χ��}��o�5�ϙ�`[��8v
�?��נ�S��ҋ(��:���M����D�&��c�D�׾	x[�[4���(�a����G(=��ŷ@'�
>���^��w�|߿�w�=-�A���8���rJ��g���.����u�w�7��t�kq���Z�7]�8�Z�7v-����h���n�=��z�N������N���u��9��z�ü�þW��r�u��{�>r��	�����:��G��؇�G�]�G���G{�|/�����1n߸����z�
��}n��
n���
��_��{��]K����R�3~�>���>��F��7b<'݈~Ͻ��F��F|�7b��F�yw�x}_�}�&�k�M��n�wt�p�s�M���o���M�G�ܓ7a\_�	߽��X?_���oF�.J�d<v3��ٛ���t���[/nA��oA{Wނ���-��on��}Q�mx+�7�V�oM[oE?ފv�o�~�V��݊��z+�g��@w��
t����q���Џ�n�={����-�c<�n����_C���v���1o�]����^�p��x���9E��~��-?@����g8����;���y�y�A�,�t����G|��1ޏP�Ζ�t�0���#���w���w�[)���w��_�u'�q����o�8��.��ޅ��.�g6���1?��ݘ��܍�z�n�-�\os��u���=�w�=8}��C��y������{�����m��w�����0~O܇}v������1��u?�9��c?��/�	�
���@���`�����}�Ǿ��~����y?�o�|<w?����<��c�G3�{x��	��=�����yp��޿Di���wуx�	bN狻(=�����S�W�S�ߗFg�#���}?�xo��Z<������􂟃os�ϱO5�������/������6p�y�p����ƾ�;Jס��v����#����w]���Ï`~v���W��S~��5�O�º��XW����k�_c=��(ޗ}p��G1�cا�{�~����<��c(��o�7�ߠ��~����o���[��o_���ݔ�A���a�f>��?�t��(��������޻�����[�x�	���<��Ґ�H�8|���������#���{�	�	�sş��	�N�3�?c~���ƛ�s�h�Ob�~�$�W�_W���_��<x��S���}
xk�S���SX=Oa=
>�0����Oa^���z
x��T�I�5L�=���+�^�+�'���w�t���{6|Z�hOO����XE}^~����o<�}隧�w>����Oc=|��M�ّ�߾��g�gq��g�o�<��n{�����o��Y���ú>�9��>8{�9����N��;�P����QW��߱/��w|�6�c^��<�—����<����_��yݏ������3���激qzx���?y��/`������_ļ�(=�����_^ĸ�����%�������y�����/�'�Ջ�	|��������������_�w5��r/J�`|���/��<Sy�v���1�`�
�y�s�+�[_���
��+x�>�b��^��*�g^�x/�y��{�U������}�U�S^C���z
�s��w��y_B��3���
�������x�?���_�7����뽎u����/i���7�u�������u�}�u��	��-���^�=�:��7�c�{�u୎7��]���=�7�;���}�7��c�}t�X��	�|훀��<���ݛ���o���-��[��)oa�/~z�����-�����Q~��h��m�7�6�㬷A��6�
�w��>������}s�w��>�]�ף�b���;�=�����C�O��e�a�^y�<����?8Gm�>�e���Ǹ�>�%�cn��w��y{�}|��>�>����y���=�?������`.�����W�0.�t�Y�ż��_�c��ho�1�~�~�|��_�!�
}�y;B�O����}W|��և���?��C��O�;��!�}}�����^�G��=�~�G�E�O����0N���w>�1�w����|�u��1�
>F��}�����*����Q�㸌R�ێ������͔r��5}�R����ܶ
�߃R�kQ�[A)�煚�A)�q��Q�xqܘهr�2]t:�</?����/cP��x�ı�G+��R��p�<��S��u�"���)�u�5��>���罴�C)�é��]D)����<D)��(��:�o��W)e<�x]�[�2?F)��z���zh�y=|w�z�GF�CJ^�[�q�z���2��E)���a~���ro���\g�97y}|���>VR�t�
룝��qzg}�Æ4���DJE�`�����
0�gl���>�r���zq|��!�c
�L?H)��6D��!���"o���F��$J��n����ӹ��Ѝ��c)��u��F��j;�m��ޫ�Jӧ7����~��Sc���p׾1�����Q��я�6Ƹ�dc�����W7F��R����?� x|�|.�|
�I)��t��y�F��?��9�Ә�+>����4����^w��o�;m�Ϲ��;��	ڹW��	��M0c6<n���M�{P����M1����(e|{㦀�[7�|�K)��rS�����o��O���'s7�x���fX/�l�vn��x3�_R���6�-�,ƿ�Y��s?�z�|�|�RV�|��h���Q����7G��6G��6G?��\�os������F[��m�v�m��FJ������A[���S��[�=�o��uK����bK���-1ޗS*�RJ��qϖ�����x~�s��;~��(e:����vJ�\���W���7����}�m�v�l���{�>��n����忹��n-��>|+��׷¼~fk�ח��}zk�ی��K��.����ӷ�:�{k��/��߶������m��}q�7Q�Y��:������m0.����i��6�����m�?_�w��s��m_@���2=���W�P���i_��~�����j�"��(e���̧��-��m�2?���b�R���/����|	�ۺ�w�v(���Pnr�A�
�J��(e��)�@�o����q���񽋶�8
l��;b{���y{�ׯ��R��l���;�v@�w<\��ݲ��;���0�[O�~:]�	��O�|=���&(L|�1�Ӱc��|�R�+xdG��܉H�3Q�t"�?8��D��������Iؿ>���Ihgh���I(w�$��Ót��x[�?��7b<�܈u�g#�]��9��ܨ�nD�ӈq��x�W�h�ϔ��?����/7j��Wp����;�?wB��v¸�v�4��s�N���^M�	���w�p'�����ϰM���M���MX�G7a|�j�g���&|�;M��OOF��d���d���ɀ�)��NJɀ��(�s�Fi�KG�SL�_�����X�ק���\���|���4c_Ҍ�#��כ�����ѿ��
�`������|_��/���a
�{�>���S@7�8������|�����t�;����1���o��ĝ��\��;c�=�3��Z��6���7��y?�2E�S�}s5]2��?�8����[�b|�^�
�~_���[o�k�ix�8
�(=
��ih�h}~�4��4����0�wL��3
��`��`���p�H�W��|�.����q}e��F����]q���G�^�+��w�~�Ү�ޭvC�gj��n(�t7�?����n����;r7���?�p7����}��+8�,�����}���WPn�ݱO�;�3�;潨i�;޷bw�ѻ�N��}%��?�gw��M�@�z���Է���=п����M)�O?5t����Ϧc=�n:�������jO��=��>{�=1�ĸ}uO��<��̇��3[�<����3�'�z8g��kgn�?�M����v��3�[��:�q&�i�	8뙉�31����#gb�/���_��;���R�7>F)�]���x�^�;�B���k��Qo�ހ���2�JY^q�ޠ�٧A�
v�t�w)e>�[������-���[�=#-��)-��KZGOP��ga~�B�<�̷.��z~�y�V�3Zq�ɴ�qF+��g�8o~Ԋ�NkC{=m���0�9�?�R�+8�R�n��yX;�we;���v����1�W�c߻���Z�������Ƽm2��4���>�[���؇�٨��r+f���g/�3�������x�3�A�m������Z9��9�s��=��\����Κ��R�{>>��J���@z;0��u�߫:0��t`}\܁�i���:@��x�:��^����n��y��o��{�x��<����a<��W��b\'�/�O��E��)e����m3�{�|]��/'��}l>��|����j�
`�n��Z�K�yM�\�~���^�p{���-@�v���Jwt��^щ��ub>�މ~l؅�B�}J�.��)zQ���.��~ԅ��Յy�l7�w�n�#u�S�zu�=?��	J���R7��p���
�|��~X�b�X��$JY�q�B���mz�\߃�{�|���&JYN�Ы��^�������
~����E��]��"=?/¾��"��n�q����+c^[�q��b��FK0_��u.\�,A��%���.A�/�9�ה��l��W��?�����k��Xo�R��K�ߞY������~��x������| �O9�xˁ�g(e9�Fa�9�|�A��<��A��wº��`��vc~&����`���V��\p0���F{o��������)e����w�s�w�!�����]JY�{ء�#������� zW����0އ�
"���R�+ؤx��>�m~ه}jf�A���%��`?��n��b���8��ž�i� z��^�v?��X��
`~ܞ6�zP�_�-�����ʃh�W��ǃX-9�����a�2��2��G������(W^�q�r���r�Mc�g�<�Gy�ׯ��ߣ��
��x��(q���	��O�>�*�Gяk���W����u8�p�s(e����8�ח���R�x��=�Dh����dx�^F��2�2�IJY�`Zt�����
��=V`}����
���À�}��s��o;����-�:8K�s��a���c�^�?9<������W��a��W���f%���hǑ�+�st�#�C���>�{�{���G`�ݠ�o>�����#�?�}��#������#�v?�
	��G�6��i=
�=G���>�(�y��>��Go�x4��AGc]�}4���G�>{�u�1��%��t��1��c�/�z,�sɱ���4p,�c�o��|t,��mWớV^ZW!�_��)��y�U��Vܪ���z[�8���y�8�w��Wp�qhg��1�{���=�x��x�������x��3O@��'`_}���
��9_E{/��p"�ݸ�u���:t�Q��^��'b�p��i'a�n��0�-'cOF�?<��Ǔ1o���}�d�g�S�cO�<�y
��SP��S0��;�s-�ũX'۞����T�ᩨ7��q�b}���g��y����?�9˃L���;ƈ������/P��X\?@��y>�B��aʻ��lH��(�&���'Q�����~t\�;�_<�d?M��e���|��]@�oQ�o{�-0�������}0�K�^=:���WG4�"z�7��N�e�cXΉg�ѳ�/��C������Z��Z����~�ݤ�fOҳM����z�����!�ߡ�W�m��
�����D�M��RJK��v���o�(�k,�L�c��p������e�+�w�-�r[����ƛ��1-4��?G�u`��g��^Ϳ^z>�~7@��i*s7]ϧ�_N�w=��ߣ�?���u�g�Ey��Y�ᘞ���a��g�@��Dy���池r˴�-)�L�0�����~�~����w�Y3�}��L��I���5�y�}H��R�o���Mާ�@σ�}<:J_�<"����}(=�]g�����6�ߛ����b��p�5�PU�HM'S��e*C��;U�?�e��_���̃���ި�WU��3=��~s��{x���=�F����3=�^�hH�q=���]J�N��ʹ�3�E�n}�S�ž�ljgD���tƭ_ײ��F�3@enԶ�S^��F�H�
�?p�'��ө��t}��c[im�m-w�y�X�%s��Fe~���iy>/�Ne�H�Ky�ѯ�z���~�'��޿�u[����=mޯ�|n������U�q�;����Gۖ���c�+l�-��?Q�}�(=S�H�-z���!�λP�3���T��{�҇��J��x-j�P�4�בּ�_B��״�}�i�A
��t�]JeV2�����o��?&�Nx�R�*w��9��K�1.��+��
Л�@��x��9ρ]�u;Dz~
�NϦ��N�}�K�>�V;�w�>�n��y�h�;����N}:z���`*�=o]��y�=#�����cZ�z�}��|z���U��7�}��g4=Mӯ�����K��_����2mp*˭(���ަT�%g��t}������l�c���B�f�j/؟�D�v�ߜ�ui_�Pޟ��ޚ���{�q*]O�߾c��%����� ���E?:��YD��q	����|�1�=�|�1U���WR�.-�]�eZ�y��X�d1�y3]�M�=�w���ֹ����t�M�����f�2F�@�^Z_����}�6���^�ߕ��ڴ�_(�e>�3L��y�W�;>M�3yܨ�6����E����W������+t�������$�ӯT�Tg.��u�X�?��S�����X���M�c�������*.�g�R���'�0�XtMd�w-�W��tm�@��6@G�^I�Yzv���[t�^�r�ۇ�����ΰ�s�}y�׹���c�D�ٝ~������X���Z𠏺�3�/S�Eڏ��3z�gj�d�ǘ6}���w�O�7xܬ;͛�xB�/����<� ����_F�h�=����
�� �u�[��S|�\���ҍ�GY��[&��*w�����9L�9^�~���g�y0����%<.�c���@�nM��q=}GD�yZ~�uX�:�}���-��7�Ȕ�y��yN�?;1^�����~�mm��Ôw+�g���w�����>��b���~����q�}����EtA7��oA�oQ���LA���{c����A�_��/������=����\���T�-Ӭy�Q�k��@˳,f
�]�i}�@y���/��@�ͼ_6��a���oQ^?�e�w,�f�?O�f>ãt]a�;�
�?�o�Zn�?�t�;R�w�:�o��������utݣu��"ݗ�7�v8<~|�c��X�6��4���~����=�3EϾF�y�|�+�=Ay��6���
�K��ڧ_��Z�|C>������0�A�t}�8Ƨ���t�AU����ٙt���UJa:����2ӂt��ؿ��k?~Ny��쳔���X�N�M��C̫�^�=�{A�w���og:Q��п���񪱰2���k�@u~Km|C��_�8W�]��J*�C��#އx��l�ϝ��%=k����ރ��a��ҫ�w7�ct�2��}�#<�4�{Q�T�g|w[��~	ï��k罯i�a�o���|D��hޜ��}��S����_a\J�_W_���S�g>�X��?���(���F��0
� *�ƒ���%�V�Mo`�l\��AԐEs���cYG[a��K�/��N��J���뽘/A�Øo��J�q��f΁T��Z����(�St3�v�#)�7���t�������|�y������G��0���!
�.2���q~���&�yd�����ێ��t.�T�x>K�zҾ��k�a��3���w5�,�1��3��s��|}ǵ��ƚ�_�x�y\t}��=��T�w���\�`gv����j��~>Ck����V�ֿ���|&}~�bca�-�r�w�¾d>�gx<�L;���M�
���4Jo�=���p�<
��)�	y���T��W�\�����|�Ib+@�1�_d^��<o�����t?H��/`���P��e��uϸμD��/�ӣ߇Zo
�!�K�gگS(�5��r�:�,W�����:]��יVжvgښ�XL飬�����/�s+�bz��_�3��a��ǘ��w����p��Ct=��C_�N�O�EjB��Bo��;D�	S�O.D�|�_N�
��+A%��b�2@9+�R�(\
��JA6��R�5�)�Ӵ7!�+%�F|1�+T�A|%�Q�	Y��R�+�A���G���~����D�p)W����R��Vn������ph((d��T�D�T_�*WJ����C��\�R�05����I�0�+(/j���X�K$���Q��˃�?5X
�g��/����\0��4�lP�s�hF��W�^W�E*�JE�~i (�h_�/,�W����<�\+��(�՝�(H��ls)(�}�`@��χ�
�0Ks�+з�&����o����^�G�%�]��Z��p����+�MW65<RK�R���Z�"n��=�ˣ4���ϭN��es�)}d(3��3���3�+E.P&�'������}��hhsC�#x�Z�;��|P�V�C�b�5F�m��9%�O#��4'����Hj!M�@��H�ȳ��#(���k�fSrQĕ{�P$9��ֶ�Ԣ���}��008D��J�T��Y�0�<��ʜ!
�G�Rr)A~j����O0��0�di�:�S]�����~!d�E�P?���"Щɇ�!,#���rP�_��u��3����Nua@}^��%�FZS�\D�hF[6��[h�r�#���(W�+V���N��3�C9U��3藥�̿�%��@P���7^�95�Jejf`�a,������[�	3�r$�Xa)G��KڴB6�+y�O��lsE�Sdx�fR�aT�RKrYZ\R�����p��"�1Obw���T�>4�+�2$A�w(�	J4E���J�W���+Q+����a�P�,����U,��J���Y��h�2�~�{����_(��#�/�2A���n� ���bU��?��#��+Q 0K+'ó�I���R�O�1���B�T�
0���4y7(��J<�l�h�82�c�Hя��f�B�J�*%i7K����'�Tn�Ϭ"�`(ڻN%zq8"�����4_�0q��WI*a��<�fԷ��b>�.Qլ�x�(��e��66����������H
݁"�d�Za�>��*�A�_"ȫ�B%�J~?/�>_X�m}6���06/��e�>���Z�͗s�	dt�
� l])�T����Q3���%�7�u	:V�|�51��g8�!�'�xQq�D��*7(�f�j�졕�e�sj
B���0S�-�L���W�
��oM�y��dJ�"����Ny��'�uAj�~������)dX����W�u��h��ʬjs�bc��$�,�
��Z�H#ʕ͘�H�fQx�V�&&{.��r_@������)7�e�W��n&2�|�v�Y�aSR�S��q/��mi�u*[�m��{o�A�4y҄�dt�/*�'E�+ |`�r�� ���+<�_sQ�f��Z�_ɻx3Nf�i�!D3�B�L��4u�	VH���&FfSH�z�e|_M}B�d�i>h�>"�h��v�"��e6��X���Ѷ���˹R��-_^�=D6Ax��<�Zu�T&NW�S�d?�{��"]�b�%���_jM�p.K`�wvH
����$�C�Z�J�(�&���5꣭׽��C���vG!o���d<���v�G�2~yOO��s�o
��,����rz(s���Y���YKN�=7W֫��@��L
/��j�K9�|jA���2�	֛��=�)��(e��C�b����uS-�@H��
��*�|���~]���{2�g��M�R�֖���z�Lpv��CK_��#F�F�2G��PA���-���S�R�7|6ie
8O��G4�Be�b�j֥��%���X��H�<�0G&�� +����מ�$,�"O-�*g��aC��1�a���3
&�`@۷�&�!ҏv������zV�0A�-c&��2"�A+�?7Pэ�l�Q�����R�
|�ӫ֒?L�����9���E%���6�L�7�3A��XdD��HT3
ʊa�D2��I�'���K
��i`�.Y$��H�g��� _W�S�QQ�����%����uV��1Z�j��o&9�u��O��	��Cf��IQc��P@�_�*�3A�ɩ��Ѧc�‰�]m��1�W�J񬴖rB	����ܞ��<
�N�l�Bk�3
�[e>Y��*E�l�b �ɯ���g�'ϭLB����ɸVZ��S�AI�Ne��8��CVm��R�Vs␣���֙䫘`T�Q�R�N�l�F�
a��?O��\bOIܦ�6������Tw�8��H�\��9 �7��"!�������3[��k���ْ�,��-f�25ϔnM5Gd�Iq@$�>��D�3Aȷ�$��.$�o��Lt1�	�)HKA4G���l
R��*	Do�y���Ώ0+���l1�LV��턿p�gx��q���i"e":
��m��iy5]�U�?��p��ê9��|�1_X�ge[��`�[�
5���hxO����hn怫�?�����6{��fs���r��ٲ��kK��aI�`	�2�R:�Y�>�ƥL�1�Rh_�R�I�e00Ô��,x*%̋��BH߰2 ��X
3̂^A�Tb�Q���-q�ø��ӣU	&[AfG6�S9�4��s���ÙHh��Q�`�G�f��N�5�����\��d�j���*|��s���<��:*Q�<lX�ajI��m�ڔ��jq�޳�ʦ��hm�z�LV���ѭ��č=}��9.e�������s �y����1�g����0 (UхS!>aQ�^[�W�������gv���5�����v�Ž��gul�JM���k���6CV~�s{{�[�Љ��DW�2�����HX����}»����e�>��P^E�m���"�.#]��
F�|\�y��}��P�_�}ģ�'�H	��V���:L��	�
�-G�Љa;[��Pj�鲗S~?��yj�K���GQ���N������E�X�,�dX�����*<�*�(ĉ�V��F�5�&yC��HL*�;�v�"���s��agxb1SF1j>�ᬽ��K�|HHGr��Z2>���ז���o���$ཱe^�B�â�Q�����M! ��0��&2
>FK�!f1h��,�ݥ-�����Պ#�򅄨ʜ	l"/I�%-��-�Յ�T�0��e@6J�GA��?�N�xm+�Ⱥ���{:�G��1����>��!b>D����5���Yv�����\�(���|"^M���P9�@���2<H�&��	ɦB)@�%B�{E}zvե�J���=��2^��l2����ҼP�y#(S�z��#E�E`�H���J�&U�X
��A�x�-��I
��^$,=A�Y�f�wډ֢˂��$ݞ0p ��4]}���c��Cy9B82lًh���T�S-�,�3�+@�\�C
��<�k�S�F��,՗��]��	��Ӧ��Fs2�8D({O
_�f1
K>�D�H��eD�/k"G����Lh2���&�sal�#u,2��!ɹL�ȑ�BF�	�P�hg�
Vڈ�X��o>N��E�u3\��%+d˱,1K3�ar�yJ$4Q��Q��t$hU�
��v�vV3 $�<�����1c�r�p�'�&����Z6���2D!M79ءEHّʝ�\@�bnb�`(�v�9Bl�"��ĭR.\{�	Di���"�J1�*0�x��lkP\�)����է�Օrt����qlR��1)U;��	�L���)�,�J.˻
��1�-�-ω��
��*E�3��5�(�FNƢ1���
�nV�w��D���٢�ճ�M�Jj��!?�WP�����DǪ���#�Y�i�C��Ix���ˆ^'���,��'Uݘ�N3�L;v���Q豐D�b2����_6�)���
;�?猚+y�㴋�=G��%�/�}���􍶏0U���tǗ�
lk�Hi/�}�RUU%DI�m�B���y*}�D�HB��JjJ�HFwr�+Ӵ�t�����F!�;�K�9���jUX��L�^���*�7�Ӷ��	zS����y��8�8����2�Qg[&.��m~���#�m���հw�$d��A~�<��ˀN�o�c^@�N(Z��2�䜐��PY{8�#('BE��B��R�Z�F�iX
Z[�{[��ɇ�
w�=D�=�{���*OFM:�P>�F	=.j�q��p_��-�*C�y���|98�4�9�|�Ɠ��ۻ`~�ŒL���!�OTB*�v�A�=�����h��47708�9o;�e�"I�\���4Ak�Grn��%�)G�
��]E|;�#4;���!�����@p��T��~~���z4�Qmj��"����L���V�(Ǩ>#lmC�a��HJD���皅�́�J@��ف�s
��R7�wL�!0�E
��N0�u�'X
M��E��(��"d��tWg�J��%�yJ,�d��F�eG4�Q�B�Q�J����Q9gL��A8r�|���*�J�V�O�g�S���	)�����%���K���y8�).�0<����e�k6��s6�xÃ8V������<�8�țХ�����b�9�8��&����U64OY�Qk�w�1rQ,�B_e/M�KR_�iY�9ֱ-f��7���.iY�cx�,:���W�
Ԇ��G��'Pz��BoaʳJ��"���E�AgYR�K&�UroN7�e�Nʚ�aڐB��$@[-������O~�I���3�T�2���+���N�Ҕ�'TYM�,M���U
m%!N�%���C������'�T�M#-�ɰT)�`���.��1�+`�1B�O�
e]��!�f�fE��M*ߑ�+�9��o��m�:B�3���2 2}e^0,k�$�, AQ�d�mN$.��`6�U��4��L������D�5ane���
Gk���9b�;�ˍ��Z��_��03$n�JI�a'�����>�
����0��F$,����d��П<�n�Qj��Ϯ���Q�ʡC�r���ilRT)�`�`g4x$\�QĢ�kGf��Gd��L��x�Ѕ��Ĉ`,������50P`�h��U0�`n�$C:5i~ϒ5ct��AѨ�ŸI�Z-�:Y1US��Q�w��T�F�(�����S���#����>e�@�H4�s&��7��M�����i��S���t�P�T1���i	�LXHR�)ey�3����U�PA2�*�v5�~=�'�XT��h�	�fP���P��ڗ#�3b'CE�#�Hsc8[�>r��>Bu�4�F���T�%�]s-<�^Ǝ6Km>��p`��Z�� �(?(ʕ�`�??�ʌ�*L���A�����Q�d�/*� ��a,��@�c<1}������e����ݟ�����6��D��ƼگȦڄ�GG<-�H!CǑ>�d:oR���-��f��$P�:�a\�?�YNwP�趗.�Ĝ|�UP�M����I�R^�oU�,._
�����Q�k9�*��)�K�g�m&S���yu��\�U�����γ��m�y!}D���3���HAy�H�7��}�X��7��O��7��!�D�o��3(䏞�q)\�=�%d����Pe��dƉ��_����Y��l��	Z֪�h<R���{y���H�eP:C0
\-@lY�'���.���3��n9�P%���{���g�Ò�&��Vvgr֦��"d���;�MBxIE0!�Ѫ2�d�J�\��ˑ�e���z\�Èط	���=���,;0�Ԃ7�r��!�m�
P1Z�Fo傕�jpgϡ��
��Xwb�U�H�-QXYi)�>���%�ݜ�S �&y�g� �u���沉��5Ԓ2�>X�7cϋ3"��N �j�C�K>�0�aiB<��JL�)��u��$�
�#Q�ŁKV��` O�6B�X`���X8HK�4qV	�W���by����~�D�)�����T#�XB��C��#�dy�,��S��X��IR	wu��qu�:D{u�N�V�T�^cC�ES�d�F{�0O�ۚ|1綬���j//�rB0S�)�O�٢fߎ�-��d���B���/^q��!��V���͂��nC��$9=�	/Le0�ޗW�<���6Ņ��_�ܤ rKd��3�G�Y�$�6��-2lq���|�#bd(W�<�S$�[�f��u�����fFSR��R6�2[�A`�������݌�e�:jct�%=�g�=\�qM�?Ƥ��#�������`��@��I�ZK���~��yuj*��P��1R&Eт�U	v5=�h=ʮ�@<��z��Yee�L
�,pT���ʢ��F���i��CFȆ:^gWo;��h5�t�ƈ.��L�]���=��bjr:%��GڌLj�*���%�*�Ď%���=E��h)�&Ku
�NN�s��wr��I}�Q��{��#� �3t@X�G�Y��E�[G��)Z�6��	JŵCl�*�c�HP�"� ����,>�f�z(�Q��[y���v�/�/k�Y ��>�̖�%��V't�:�I�w����"�!�k-�F)�,�l�&$��wt?�>�b�/V1���Y�jb�����*��e
�&|�:V��U�����@��=����zЎ�D��{����d�c�K��eb{����e��"i�!�yzW�՝�pƢR
VHնmy�XUC�]�ゃ��]������c���R���ER`OE	bM��D{���=�GTփ��,�Ҿ(�H�Aj�H��}@$����,��J?Ex���B9�����V�%V�Q�xD  r	�A�wb\.CQn9�]cyC��r@Q@r�^�|d�Fk�ʥ ��\v���'2����@��Q*��*g����v��8/i��!:jν����hDgYcqa��G���
���G�Q����&g��9U�yb^�F֏x�am�겲4����^W��߆��Q�:��u�De���yW��X�d<Y�,�����8�2�wK��.E	4��Μ�}�}�-K�f�yV��v����5
sr��F/[z��8GY��"�eڻ�R����,��\�]
W�`�w��$�>m/d����ĸ�%c>!��:+�2|VH�J���mT��v3�Tizm�쇾��}�B�/��J�	��9w���o��:y&�v)��M�34�L�F"ڍ- =�sg���hP��Un]t��E��^	y[��ꭢ��nd8�;���E�� dEI��e�a&�D�ݏ�����*�J�M��N�O���N(�"�2'��h��^�Ǖ9&�~�E�t�5����l�5
Y�Ǟތ�&Ӈ����_�^�`C�����e1��+�4m9�ے�H���5m�苘c]���1L#�v�j�͜v��hC����w^�=ov��u���l���IT�5�\GS��v<��yFl��0�O�̈t���\.U��
C�I�SUb&SjNwO���oJ-FԦ�E�%��L�ּ��ni�e��ﬞ�-�X��A�(
��5&�L����6k:V��ƚ1³��
���0IM>/�Ie�%�My��
��O���<��Kh�Z�ec�n��A�ר|S�)�C�\X�Br�Pu��4N�s@�4����0z�J�k�2}OI-���c�.ma��qK�c�o�
>^����
�#��T}33Y-Bv��9�j�������M��?���u�#4�(�*>�b[u�N{���2#�:�
�TBj`6��F��$q&I��cĊ��O8]�9�1ޝ�n3��������Y#鴶�j�gI͈�f5c�.CSJ� ���n{��_��=.%��[R�%���n���*�
#BEIfZ�x�Z��SAz ��V����E~>�U�T���6�E�p#VS��������a��vxL��x���ھ�?�΂�8�:ʸ,��Q�VGϩ�6��/(B�p��cjQ�XpG$`����R��~gyٌ3�"��ᦁ0耩��x}R��e�5�� ���#st�\ꐡ���/��VCA[ל���l�OH�:=�Iga��\�驩��>e�����;̤�!x��|`�=���l��0觭}0�0��Y�̵J���U*�z2;���B�Goz�&�3��}#L�5�8�YM>�3UO��ǚ1�CᲜ���l��	B�hq4C���2&$Je��喏`a�:M;�[Q�w;�V�
[W�Q��E�{c�ܤ���eqw���l��Q�wݦv#X?8�RQ��B��b=�/"��YaU+#�eB{�eV�Ȕ��ʲuڭ
YU��#�th��^#e�0����?�u|,X�b]�#Q�9շ4LH��1KE�(�����g�	9���g��Q�HH�X���f��GX�����oآ��U
�v��Vr@���V�t��x4[�d9`UN��9��`8VyW	|X`��fd��Mav��'�N/dCy+.�;�	��J��(R:���A��V��Mc+�n������z�Bv���ôT��Fvi'8���aj[=��q�+XFdR����g��HQg*����+0ü��3�WE
��م�g�U�W�iz��(�`�Ug
_���Q!�iI�W�r	�f�	°���F9Y�#.,(
v�榲��Y*j���k��j��>�7�l!kãg~U�5���oH�hY̰؏�HAm��b+&Ԥ���0��'��j�3zo��^�"��B��o�`�U�!�Z�S�=<�	�Q��'��Ԓ�&��l�emM�"F=�|��a.T�J�	
�PeH{��Y�\�`��S�С��Xδkc��xe	����}�Sl[��8%��=q�ل�2�E�"����ё��c7;���ۭnB�/�f�^	�Z-���/�d>)jL���o?*P�e���Tn�2́�ó���RC�R�q�Q��D��~���S���=�I>m_�X��8Wf��¥\�����n2���\��%�x3W�:������ �)��-�ykZ��#�p�lm=�ў"���\���xJ`�/U�6�HvV%��G� �.��Z�s��ט�A��WHs�a׿�zr��C�A�Y��\��c��V��+9��*�𷰒x�uY�5�9��
�'z�F��ev���
i��]F�o��A�P����B2�c�-���b��hL{=�{T~xE��,��l����s�}�q-Iw�fL��u���Ԙk�~)ŗ��O��IQ��M�����E�z�
��9�l���/�[c`&p
�h�������gP�.,�?�R{�F�b)
��q�PC�H/)�`~h��B�!�
�E���},_�^�|��b7�3�B�}C��*O�NЏ5Uq�?�T��ڗW�J����׋�>I�ZǗ�T��@�-n'YzHuE�?��j�▌Az��3;���t9�y�JໍQ �UT��.1妉Fg5�3�)Y������L��	'tr�O�ƫb�)�Q4+u�tW��UԇO['�c�����?�Yb
����c�5vy��P�7�y�%��ai 03����20梒���T�1q���=)���]i1�|����a�_�D6rZ��`E�q^ϰ_�?���Ȩ�=�Z���hX��0�ӄ��:G��ˈX�7�د�QĪSK�B�KIʌ��We���B�ހmL�R��]��8zw �A�iq�Go��U7�@dŴ��:��Ґ=M2�.�}ob��:��W6z��z���"��G�A�5
���G�k��*�&v/�����8�H��KDQ
����ʪ3�֫`'�J��5�{��T���i=���R�鵰}�E�-�.Q��F�j�pFZ
n���2\"x}�JM�,fC�t"�R����M�UW��m��eaRO*���+�E����Hbq��$0{�R��z�l� � �HD�
?Ãa��{��r�!.9��h#�,�9�yG>/�Ati}?�\p��/&zo05��D��	۰"ۄ�h�G��ȑa��ʌWAS��BF��U)�BDNO���+&hO�'���z?mHu���Pe�p�Z�,je�+݉�Uٮ�v����1#��4��(#��H�� YႿ�15��h.�΄�I=XG�P�I�5��]�z��HY��F�"V�W��9"��@���,��#p_��!���/�;�Q^��=/��Yy�㬾�5��z1��#��mh�#csϮ�m������)nu�=`��x��(���'B�մa5�<2��[�5r��L��mkx��5}�
69N�d���}sn�w)O��^��Fj7s�2�D�(9�_�:�뗣�Su��reh��4:�V�϶aЅ����ۮZG�����^ǩ�:60LA��v��(,Eu���kS�<Pee���ؠ�JǺ6�D�!��P��:TXb�%�Q;�uÄ�k�P�c7Y�0��5�r�
�-�n,�����e�9JߩI�c�`�ގ���F�F�k��_�q�G1����<K���%U"�Hb�yG��&bٙB.r���b$-Z	R���-�ŢΉ�c[*�,�j��Ҷ�����-���}aO��s�R�aA�����l:2��1�f%����9ˉw��Ƨ`��p@À3A����-�*nD59�q+�6o�M+ʖ▫F�;IN|K�&��Դb0(�b��Uc	�S(r�I `��:�Z�i��ĤNA�؁30��m��9"'��:QM�9��{])T�U��6]���≑��NEA�<�$�kJ#z�S��m�i�]C���e�_	�8؋sceЌ�S��V�uC,�`��[��R��<A�x��?Yl��ꉅ���r���ucb��MI���$���X;��Z�Ή�J���3�@���t�>2��OS��*��"��ɑ+�M/�:N��骖��r0�r��Q�9Wu���M-6�I�w���f�Wh���a���~?�P��.�>o�u�'<�%G�1αX����-%-�S�
�uL~Ąp��̀Q�=(��Kcr�u�k�8�j���Xֳ�HS��;x�AT�mAt�J^9�d���ȑ�2��r�
\8�V�fw3�|EPȆ����-}�[Tt�?`W�-S�pI�dqQ�9�t=gk
�gY��R���v�ï�m�H�5iڀ�M^�U�-9
1l�~G�*k�c5g�
�juIفj�w[�u��}q�¥�s;:�0���0d�Ž��ndIVs�����V��� �Eg��N��nmH�DA�a�4kT�4Z�z�g9�{�K�NS��G���PC|�Jjqa�t̜��.��q5�)�M�E��KD�� ��["cK~�GY;F�����%t��}
!Tj��p���D� W����x�qd9���&�h�	�ŕ�hwm�,Ѱ�P�}��Ҫ��@V��TB 9��+)��W��J�H�m��2�a��fk����^�ugKH�d�lz�ڃ;X�a#�f����$k��g'R���٧.��&h��z
Mb�b���cG.*ڛ�Xԭ�M���C����9��c�'�̗:��R�(0F5B�6�hWg�:�_!�F�Es�5�?Vy���7�ޯc���8��=�7�t��+N1��Y�jh��D��է��~t�6�q���0VN̻e���
G��V���g���3b�y�S�T.���]��>�N�ܐ9`�58B��
���)y��u�f�V�k�s�׈	�am	5�����f�+�7`�4�yRE:꡽q��Z�cvn���ic�)���>���yϸ߁����iP�p��vri_C�j�뵡N��m��^�Vj��&�u��n$5'W�[�3n8�ފ��!��M%�7��Ӥ�����-)cߢ1�Ea�솠F7D3G��a���ɇ�򰺞q}��d!f��ϥ}��ծ�W���g	ij��-����ǔ,�Z8x�1��L��M	4U�a�I��n4�BU-���G���	���N�����#>8�ez��D"Q�S�
T��5����ܟ[���#�jː�<���d°
����;��:�ǝ��'�����2�+6O��_�NJ��5]�;�<_xj\5��lÞ�$M���"EA"�����r��k4( t����P��b0��]ZL­rl��|�.j�Ra���S�_�ՙl�n(,\TV��wF��`;ڧ�aY��܋����f�'��_�#!��?�$6��-�3:�qV��E��Օ1�c��b�j�`5�!r�qylJ5*�`3&V���!�IӔ;���J���:��Q��f��ߙ��wf:��2&�w�~Fa��O&�y�`jm�#U4D�h ��x�P�SĠ�F[�Bl!s�:�_Q�<f6K\ER�*`dU�҄2Ģ��,j`3Ӛ�s�QB����7����#��pӖ��
�BĚ������4rD��+�y���F�7�Ek���wwx����4�U��·QTh��Z��,Pyֺ��:k�,5��ž�=q(�m�sM��"�ʃ���z��	Vk��6I��������>�����+�KZvvt�1�t��\������Q�����,�	�L�*y
�,��JD�^\��2��,�7��P���K`Z0���w�pu�@ F:zZ�
�{ -�T0�7���a"+�
�B#��e�y�u $^���a�EqǨ�c$�CAt1
hҋ����=E
X�+K�|&�rY�>�D9�><��g�l��#�`�7��*s��z��
MM)�����^k����hC��
n��"1��W%B&F�҄(�E%�ք�5>��ź���Ad4�*���~����e�
͗hx5
�m�Ԥ&�|xDP
��؝wc��tٜ'!�bE�i|��M؅��%� �ğԞe�R�䘨ʍMJvhh7�J,���G�ɃV<�rb�`1e���gT���tL^�H�0eI�����Q<��
aE���k�U.4l�K��L�
뼂v��i�R:\8�$�j��e����XnD���\f9�U�P��V�n����Q.g�]�k�*uE:
�Jk��o��	=�h���8��q*���~�eeQb���'bӄ��W�0=Fڂ�����Z2>r�^���A+rRcgb�;�F��y��D��펈Z�:��?:���ҏFՎN�Iq?���B��&l�D����e�ب	��gй����,M�9"ɚ8�!�K˓�n�nx�\��P�G����r���eU�`x���
����C?6.�'�IэQ�Z�hYQ� ��n���7���(΃�r1���<<<��qzX���mg�O��@�,xb��kfƛ�'3x�#8�N>B�HLT�j{[��P&n�rY1&��E�A$r�G:Ҷq��c�W�y�N���]����d�hؔ~��i���6y�.���2}שӧN�i
��hAǂ������9=e�V�8Lfk��ԥ��f�@��`}:��\�;{��q9�{�J�ۉ�-fzj��\y��<�&3W'��*�6�9u�.gR�f�v�s��'�`�Ss�aYPg�.�)�i�'J�B�5���sfm�]
�c��l��n
�8���2��*^0���G�ƍ<�=�� 3�Hk�-O�G��R?-1aa�MMȊ��F|��_I��F�������g��B�-�/��qW�R�^H[����$L�q� M/%=�:
�h�����I��i6���0���!�DR�s��,�3��؍���K�};~���̥Ǖv�J�2Bf���������{)/���k��ŽT��U��i�D�vP���M��\�K��8��b�S��b/��kE�%]<�
��č��\�Ae�-�`��R��*S��C�PN��б�� P��o�r��Pv��Ҧ�5
܆9f�-��k�fS��ZX��s��g�Y�{=�b"yD��ʐ��#؝I3=:YX6zX;���Is�+X>k/bb��G:L
�$=͉�8��r�A�,�ۇ����md�e����@�McN9�"��k�5��U�ѳ�%�6���׆إ��rf����{��a	�.�G��oĈ�R���6W�U�I�%b�.ED
g���*C@�\U�#���<�d45r%�U�Ôf_8G	u8������R�lū�3s�0���3j�B��9Ȇk�;h�z-��u
^ɘ�9L��v�R�K@h���ڂ�rs��A��S�^�8j1�U��`��!�r���>rVW���t��0���pg��m��YM/ :%JW[�F��z�{SKv�hG"ii+���T�]���1�^
���Gu��-���;��v��)�Ѽg��/����+�C:nO0��/$sU������E��'�:�Z]&�rs� h�����ܛ�.�w&tk���qBi&���Dp���:H��A̅���/�w3UP�QͤA&x�4)U'P�ͯ��\�۲��\�D������b�2/�g9>�ksʱ�����
�Lឰ���zO�o(LJ�[5.��p�n�5z6��w�̖!rl�^��ئ32���212�B:%�ȰPC���"�`@o��K����m	�0���r��˹R�(4%�r�1��	4�p!��б
r�4A��J.ҵ/v]�pi��1a5��B�<W)�34���-{�7*�-t��F���V��7��/�C	s���z�J�Y�#�d@(�.��W�-��E#Q�K9�Q�s��X"��F�ՙ$V��76�ش����b7�`��
��˗'KpG�2���F^3���q��TS
��*�mjA��X+�CA�!BݨOWO�fs:(�L�)�Q�ת���L�Y�tr���I���5�e��_�����liyjiW9��"G)7���4�E�i����1B{W�|w��c%��gbu�Z��V�����r=�!gQ1�(vG�"}�+�_dYP�"���A��4�cY7?9%6�lv����N��~c�R�Y4�#$_M��n2niM�z|wݦ�C��zW�~3Ɂ�[$~
�-6%�?f��I,)����[ZOrzSS�M�MF��U㺺2U#\����l�ёN>Oj\'�	W':ё���1�*E�/c��r���m�pcx�N8 i0G���6E�Y�C�?d�WJa�9)�*��^�X,Q�T� #be�
�`�8V��z�^��(�q�i���qF��ݜ8*Tk��Ũ�a�ٮ����sG(v�������լ�0������n3���W�lZS���3��I��
!v������@�����$�2��x&��G���b���A@N��֟{�Q(�m�L�ȫ�p�$*�^;5G4-x:Xǔ�DZلH��j�z�D�L�9475!!�v[]%�7��.���UM)c��n��Gý�����{ǥL�/�2P�a�KMI�*o9t���@��D��u�Bc�Y)��s�Z�F�䉿ȓV%�T�Bd�� l2/��>v|�	H�e�H��<�5il/�Sj�n%�|�4�������ai �-��V&ú�lu\3&�ĎF�U�H�]�Q��1��=k�lꉑ�::�h1&X�v90�D�H���w��s$�q�A���U�f���2>wl���I���L���B|Ģ<�(�61���|.��|f:�kZȸ�?Jn
�q��j�,9��45[›ҹ�f�f\n���e�d���l~�F������R�[�U.H<���a�>�)W����êr�j#T�
�چ`����(a���M��D�)��i��r��:�L�1͏�e��+B1�g�[V5e�L��We�hcd���GQ�A�l�_=��9a�@�&#v�qG��룒�R@��lu�m$Y�i2q>�^&����o6�	��+��{̗I،iݬ�p�[V�G2�Fl����G��b@�ٲ�_i�X�a<��B0ૣ3y��%�8�\MQ���ma��P*O#V-H櫞A"s$���$�x�����E|"G��&s���ʒ*�F�X{�Ұm%Y��^{O����D.-��K�1���@��JeYڰdUG�&4�������U㻸,�uQ	�ÁޓC-bJ8jD�4�Yկ��Bܫ<{c�>=���"{9Nq���U�An%u�����&6���(=S!�"â���ds��6W5��	�J-��e���,-�	WOmN5�-
�ؤ�\�A���A-�zcJ)jR��
�2�Yt|Z��CwE�v����Yq\�Dd_���e�70a"8�X���pL�a*ѲJ�XJā�����EO"ƠjY�r^��.�^=����ƬIGEF��B���K���x��5˱�n.+�n?����]��Uub�h^�`ޖj���SB	q0�n㡐��r�ç�IނU`C�A-��[��DB[����Q�`0�T�o"���l�"d;P��ÖR�+�&F�,jWΐ#�n�gM�*���7[|Ii"��g*Ŕj�4�k)��m��l&>�V�_WW�6�S(@A&c\�A��X&D{���C�@%��#u"���D��]=�u.�8�i�NB}�s
:J|�����B��\���*�?���9�*���$�<T���F������y��D>�][ ��j����۳q����>�̓�n�]��ƴ�W
�2�XT��
�b�.��[
�U-Z�3���ϭ��HӞ#w�2�B�])����b*��_!�����j&�njT-�R���'�XTUU5g\t�����+�9�o���ňF*b�u�2�Z7��
��W���l�@t��,Fc&f48ƻPƎ�jak��x6u�d$�-N�8Ş���0u�eg�eAp��V\�����jx=s�􎂈� Kw�[m�1`".~�k��e�K��Q9'�u�T���H�T�SDYaF�U:���iA)hm��m��b��,�1�-#�@�찪<5�C�8�%���e	��r.��K�a���<�nj���#
N��I[��b	�^���'**�k;ѠI���kH{1�VIss��]?�� ��\T4x�$ί�}B��e�#97�+����w��!+tӟa�ٹ�
��PDSPQ�;*�u??�Uq�:�d7���X�Xz��n�0�V�B�P�}X�3�Y0!�x�esY'�`Rx2�-͞ש#�tL�!�E-�W�^G���*^K�bk1,B�:�Kwu6i�8���ȷĻu���o�)wK���xG�6�j�%vNl��}���:Pdy�UH�6��@�:?�ΨqRJh�o��C���6�j�b,f�f�o6���6MEQx����qW�����F��rd;i�1L}�*�ԍ�M�7|W1#�"+�U6�$�$U7����Α�Y;�bҋ����Q�`J��c�^�-��n�F�>��B�ylJ�XbV�-<zV1�W�ل5!�E���z�SNuPc	[�n�п,�V9�aD�N?��'�"��H�#�<���2m�q�_/�5��[W1(Xĕ�8]�8�\c���S0��FZ�"�	���m���Xڔ�H>AU �d���S<۬��$�n�X�X��-V�M"n��0{�C�a���2/��Q����D�lB�M`��Da6�U7�
1i�*Yg�p�k"��,
�~+����a���^�$��ԝ�呍[�:����ԑ����+5v>��$*	��dX'�]l�zݡ�$O��&	u��KY6�,	���M�*�),����H�-�q.�[�7�<+��g���S9�j������Z50P�J��d|�}�P7X0t�\/��Z�u�b���3���
m���� ����G���D}ΨU����ƪ�o�cY�p�_Q�Hl4,3�\v��k�T�8��3�s I5����@����.HF|��v��~=�'�Yj�ͤj3��V��-`=Q����F��l�A,dؑ>�K
��+���.=t���\#�L�ڀ��yq�.�Q�JB6N���7l��I���r���ȁ Y��+��$4�B0��4�%b�08�>31����6����Kt��޳�8�N��O��j�"k��d�����9H�(S��T�t�l���C}*	���p�"��e����:��K 1G���9h��(�~�"�,._
�����Q�I†��@8.m�WW<p�e]��y���<�y;�Q���G8���L�)O�FP/9�<B�~�-����hB���I��/ D;�QR��(��q)�k��L���/`[�6���j����O(i�È	Z֪�x<Rƕu.t�j}F���Mw��%}_�~�:����f��!�J�ˌ=`���í����9�c9k��eZ���hß���t��,�:�8a��ML�8�Đ�	��=�0p��[0�LL��X�c�7��Kn,W��#B9x%5��A��!����N�L\��	�
nVEJ�ϱ�|&�����)�I�YEȁ��Bݾ�	��l"G�t
��̨�����⌄����#�� ��P�R�g[�!|�#\�c���7Л/�~U�OȈ周��Ă%3T��킰�uWF�)�J-��A�8��ȫ��z��QWxV�@R"�M�O�DL��O��V�PMV	���Y"V���Z��NR퓤j(��R5|��u���"�KZ�QNM̪56dy45OFm���ίr�4z�,�p~�[�U���E�8��[4,{�����O�/^q����s���S����_�������2q���PQxZ�Y��k,.�/�:�F��%��Q�Y�Fj��,M�6�o���
 �%�(�rϩ�z.�j��yfy��Xo�٬Jn�*�}F���&��rw3�R��/� �CH�Ǖ��t��cL�[;24��(��Ay0�z��֤���T�v`&s^����"r����ԘIQ�`gՇ]��\H�T;��)�X�};�pQ�e��+
DvX�;��a�A��uv���V�L7�h�\~����Z159	�N�#mF�8�e����:G~2�j�Ğ&���]G����<X�@����Ǫ��ӓ�o�T��*�G��@g�x��ڏ8� <J'�8z��.�S�J$&j��"�k��*2�e.�ʢ��1�P��c�k���
��X��b��LVCK��P��:��
���s���ҽd���R_���4���ϋ
sZk�5Jq�g�51!�����%�/N:�_�jb
����j��e
a'|�:V���U��	���Ӳ��N�k�EiMٸ7�Ρ��R��H
��B�c7!��G��c�8���jD�]����S΢R
V+Hնm��XUC�]�㑃��@�6����'�#����10��kZ���$�c���Q>��D���gY��EAG�
Rs����~�F6�a�$�Ԛ�rA
Nsk�6K6�#9�D@ڃ"����\�b�p�*r.�Y����倢�䊽���b�)�����K��aT����d�ۖ�Bg���t�=?�"��G⼤m�ӆ��9�"����q!�)�����3QJFQ�:����T�
$�y�7�XmY8Y���Pz]1��~0�G]�8F/�����f^Ij���de��nu�O�D%�@'(:s"���u�,�����YM����:$��ZoNwr��e��ڳ�
y��a�r��R�6��,��`�
7u���UIX��^��3��c�)rY3J�|B䭍s�Xq���&AE!�lws'��Z6��/�����_~G���Tq�Z$��~��8'L�A�RP��ghX���D��Dz��Ά��>T}y�\�F�nxa$�}A+���C��2��T��8,�1~$��*t��i!�y��� �!p�M��N�Oz��N��"�2Gh)O��H^0�Ii�O�(���2ޛ
��Fł��8�ߌ�&Ӈ�����M��k'����
�����-g�^�%��� �	�j� 1˺n{%c$����T[�nf����TG҅�<��0큳;DG�b�C�5�\GW��v<��9�������^�U�ĿJ���a�5�����eSjNwO���oJ-FԺ������L�ּ��ni�e�n𬠁=��Y'�F!o Lx��*��m�t��V|6"�� 7	�?���6��}L���%��er��XB�pԒ,�v;`]f×�J8���:T�F�]�B����b�
����pz�J�,k�r}SI����c�.�a��qK�c_pƙ�M�����$�1��op����"3�s@֪�����Q�I�&�N�~3�O��&�x�^¹4�����+ S	E(v��`��'�ġ$Y��+�r?�!f=�xw.;�t�
�_2g����^��&��@��1_��)�d�\�_�=��ѯ���R�-���wf�JX�Z;�D���$3-n=]=�ɩ =�V�o�ķ�@ipT�Rؿ&_���.]�q��XM!V#��{0�WG����1
|3��k�.�P;I�����F@�j�9צ�	y*��Ǝ�8R݈�<c�Q��2�0��f���1�r�]�'����r9|M�.�*a��#�:g�%f�Kh��P��Ug}�{!۰�ҦNq�Y;6�}zj��O�bMq&���Fn�f�E��|O�jY�D,-�ikLx�2y��s�"�}nՊE��̖�Ք%����޺Ă��#q��`ʹNuHV��L�Ӥ�f�DL�P�,g��41[5�y��0j��j ���1��-�ѿߧI��/��n�?�j�a�8"������b׌��Բ�2�� nd�[Б�-TE�~��v��cY**�\h_�o�A�T2�#�re���r�_dJ��e�:�ֆ��[�r:4|[�D����.L��XQ�ۂ.�e=��S��d "�9b��4a�l�B��tBf5�ў�,��>�q
	�k�9�
��x�V��
c�p�J��/���ZN�_
h��l�T�z�����J�V�t�֑�Y�c�'�v�l�v9�*Pf_0���B���S�s�"-���b(�Ú�.�Hl%��0���P��Ybd!{H��aZ�Ze#���G��Jx�0��~q㸑�,'2�C�U�ų^O��M��:���^�z̑^FLg���W�jz��(�`a�Ug
c����!�iM�W�r	�f�°8��FYY�5.,(v��Ґ�y*j���k$�|�x�od�q�gY3=�:�u��(�YC�.�%�T9�m8��D���o��*�3~o�p��Ef�.�80Ѐ�U�H����Ox��n��䉬/5&q�S���57��A�i◹Pm.�.�$"_Y�\�a����P���X�kc�Kye	����}�cl�鵸)��Uq��L�!���@AA6::v��
�co�s��Mh�F��O��Y�A�&E�ISv��g���^S��2�V���H���RC�,0~9j��h0ׯ!M���=�I>�_%D}\�+�|���R.ӈ�JGX=��
}.���Dܛ�Y��u��v|�
f������.D�f6�3[[Ol�'��'�V��$,*���\���,���љ�j���ܲ���u�C��q�;{c�YOn� �|�8h5Kx��|�&�JQs%����q=�J�`VN~
dβ�D@뉻ޤ�?�F��an���e��K���>�.�!3�=Vڒ?��.6�=�δ�ûG����W�p���"v1`�� };T�A�{�����.k��!}$�	�z�N�����Sm�D���E{j=x�1H7�G=�Z�3��1Vfr���Yٿ���~��BX�*�7m$�.�� � ��5d-��2f��8k4b�0_��Z��6*��7�h7*4�E�}C��*�N�5U�q�O�T��ڗWOK�����sc��}�Zg��T��F7�
qh?���a'���V�d�C𐜁�N9v��$�ۘ��QE%��S��huV�:3��%�����KmM��'s�O�ƫv�)�Q�+M�^G{�~�Z'v45��DKBuU�z���ޏ����" #���Z:,
�f�����hT�c����g&nY<�'�=rF�K-F"��8E2�=,�ȦNpP]��z��"�A@G�SU{�
�(�Q%��`�&�.�9���-XF��¬W�Z�.��6V�Z�)"\JRfĦ��*;���;�lhB�m�[�Q�%Q
����8}[����"/�m5�Й�����qh�x|��U����녤��W�|AG"���뾏�zG}&�a56�/ ����N9�HV��SDq
����ʪ�5%�V��,�k��J��|���z��*��X�ka�~�h_8��\�$�������Yce-D���nY̆�D�;��U#śP� ��[��ä>�Tb�WV��
�/���"I'J`6o!�O�Z�@AvAq�&�Ta�gx0L��`g]2U.7�1Gm�%��3���5�B�o*�8A9�Vƃ>����F��DmX�m£��'�O�Ȱx{e��Sl���*�,�@���)�Z���	�#٢�]_���tz��T�4F�Ϭx�k`ak���}���8QMa��S��u��u��D��p�߲�lVx�s�N�'�h)BUWE�v1,DqڡN�8Rv��Q�Ȅi�����tE�h�!5��C���3vpCj;a�n�^G�]�� �`Z�Y���:C�:���0�ơ%���=�ζ=�>R��S��Ս����i⁆��>(���Vۆu��Ɍ�o1��QTf43�/����ؤC�P!�+"�%�y�	>&=
D��a?��@��˨K]��ޑ꼯_��N��ʕ��+A��	�+�g���BSB�t�
X��dq��a��\L����E;�d��:Qd굂�W6��8�1mPc�cb�t*��c(Ki*
Ԯ���q�3&bS�=���R��M��3�0�h	uci��d�7`1;8��NMb=���v�t�7�W�^�u�Zܨ�S�<�i�>�'�X
�p���.�B	F��;\=`�'�ۙB.r����b$-�Z	R��50KUA�MñA;�|�foi[����ޖZ�Ӿ�'��9)װ�!�Q^�b6�~ۘj�nvw��e�;��1'd?�0�$�Xbq��X�
��/�#�%��
�i��R�2�h�c'ɉ�	��IjZ1�q1{�1��)Qk}�$0�l�V��4�?qeR� �W���ņR���T����Ԝ^a��*�*Rk���_~��Ȏ@D���@^��5�=t�)�e��4�!���2�/�]�Ź�Bh�u�)�S���:%�f�Y��zL)X���J���2��l���.���^7x�����ٛ��cM����ho�r�Q�o}#�g΁�f�z}d�-��ؿU��7D@��#Wҧ^d��G�U-K'�`��b��fs�.�W3�Zl/$Q��7�F��0~�ж������sA��a(Aė~�7û��x���Y�]\�񖒖�`�@&?bb:�tf���~c/�pݥA9�z鵁����5�S�r,�Y�)v�<� *�� zT%D�i2�T~�o����9l
.�Y+{3ʻ��"(d�R�x��>�.j��5�+�)H8&k���(�P��������+�
|j`=�:�Ƒ�_��
H��u[e�b����Q�ʚ��A��}C�ZeRv�����v�y�l_ܾpi�܎�9� -3����Y��\�h,���g��Hoћsٓ��['-QP�a���%���~�Y�E�^$Ē�Ӕ���%,����Z]�=3�1\��+y\�c�ic�%�s8�)�ۆ�ؒ��Q֎���&a]��jw�B��Z�=ܩ�=?�*ȕ��*j�Y��>x��?�8lqe+�]�!K4l>k��$������U�x�H��J����x��#�a[�����iXú�Zb$M��Wj�`��#C�ޥF�Vc�H��79N+p2�����	��[t��9�	"䳪B��� �8��ؑ����7�v+k�*��Rx"��|�&�x�:�c�3
�a��M��ՙ�XH�azќ�8AM��!��
c���Xc�@8�tO�
�!���SL�r���-1o=�)e�]�Mk��>%,��n��r�F��yx���f^�T,��j|2A�)�S87d�q
���e+EC"-oJkb5��ٳU����5b�q�[B
!lji����J�M�-Mh�T���ho���똝[�4}gژt��!�τC�9m�a�3>x�C �{�G,\�]]����zm���n�vVU�X�ge$��Al�<��gtx�Q�C�JLo���E�II�+��-\R��E�؋�P2��3q#6s�Yؘ|4/��'�wA��JA��aՊ�\:�G�e��z!sc4HT�5T�
k.�o�h�P�*�����p���T�.)�h���Z�#��Qel��}��	V3Uw>|r���h�D�&���z9dk"�a�?���8bw,<ۖ##fyF+��De
Uׯw8`Uf��;1�O�W㛵��e&Wl����i���c��d�������j�ن=c��i�v6��(H����]6��=�ԵU%C*QW*R�K��	I�U��S���eCnY2L=@�v*tl�:�
����ʫ]��(�|G�4Ҡ ,���{��>�ح��Q�{�NBQ�<�=���"�!B�խ�a�ju����r���ZoX�f��\�R�: ،�U��zer�4�NAł'j1�R"�ޣ�,����z�'���N�	�޲�Qd��~^B�Z��H�
T�=4�.�1������%W��p��cn�1�U!��"HVE.MhC,�EȲ&6s�<'-��|cZ���12J
Bm��DȱD�]1�Z�,|�KK#G�
M̂\��{{pd��.V�5�-���$�1S3�i�Н�o��Рt5kQa�Q�Y�FJ�մԈ>�����S���u�5u#���*G�r+r�&0[��N��$�&��K��*��{�
$��/iY���9Ǥ�EP�bNޠF�ƶ��&3M�6�̲�[(+yP�zql"����TV��&#K/�}�@�F���	�,��iY@�7 ^�����ᔲ���,�*���+�q��׏�x������+�:��H��(�I/�i6�)`��,	��e���=�p�w�a�m~PP�L�u�䲫���jPJ4i4�Td��]��z�
�V�
�3$��բnŔ�3�J�P��'�	Q�J�6�	�kk|*�3��P7�0iPWT��p�a��|�/�Xk۸�IM�	�Z7W�[��*��9QB����������1KxA0�?�=�6���1q�����8o��X,RmC�&�G�x6���Ac�F�'�O�L�����‘�qʒ0�3
G*���x~A6"„�����<�_*hت�.).�^�ym=	��t�p\J.�p�*�����5L��+��r����v�&<���m��a�޻�5&U
�t����Su���-�#�#0�~�~,p�J�SV5���0"�O�h�yU
ӣ�-X�,�����#G�5)�{4#g5�y!�{�l�-��g]`H��~�����	��k(�(��hT��t�w���,��n�J�{�Z������юx��L^�q�4�#��	l"޴<��F�Ʃ�E	;zD[�/�:�_V{	�'�p!ߨ`X)Ų�f�cC�rr����������BL�ȋ]x
�̖�������
��2�4�;�ڬ.�fA�5._3��D�=��#o���t�!�H�b"�T���U�2t��8�1]PfF�P"�����ӑ��E P�
N��0�|�
�?PKg��[]���I^Glitespeed-cache-en_GB.l10n.phpUT	2�Ai2�Aiux�����}��F��}
H��$m�E��3;���Y<T�X�*J�3=6�L � f����_� �/7O���{\�Ү���J�������iu��ou޴u������y^�u�T��ߏ^/��΍y�o���GM��f�6EU>����G�69��ͷ�=�����w����}�����7��[-�:]<�U�Ҡh)	��c"?�X&_�1��?�p]��O��E��*����-�yQ��q�h��U�g�q:��)�I'�<yH=�M��"OM��h-�rަs�_^���甶�7�$t��F�,o�5p�ǣ
C��F��9�姲���؟����M�/��s<z6�c܊+N�@y~�����[!�1y�4.L�?�G�y��'%�uC�+yNmV4&9���"���pϷ�G~�Vs&�I����zA���#5����f���u=����(�ɢ�'�\�I�˴I�r�h�<Y��Rc��ʹ9ҷ�Y����"�N���i��2=@tC�@����X���)��^�v���/V4SQ!N�oZ���UU7��S/IۦJt��dZW%��A�ǣ������'OVT�/#C�T`�$fZ�y9kI5K
��	њ�	%.�IV��"]�P^�e�6I��3w�����4y}UL�D֡I�/���1X��N�Iu�sof�"'i�%�g���e2��e�HY��I3}�/��x��e^&�MZC+9o)g�4���BF�i�&9
^J�4}ޔG�{~��ƣ�D���o�^���f��hzsi�\˼4<�.��'j���T�&�S�Эiв;;��Eƣ&Y��kӜ�1DS�)�vM�T�#5�Pc�U��{p`
Y���u��G�I��,�E��"D���v~I��O������y2�R�a�,Cc��-m�]fm9�*�YD���fW.��In�$O�&_b�&L@�f�ڑ۷�7"78�>��뷒�Į;�N��*�4�t�4��wA�Ϝ�D��#4�SC:U��.��[�eH�}����^��H��ѫb��}��*-|��njVN��
k�G�[̌w��3����la�[r����Ȥ�n�n.��t��Ӣ�%�v�t�u2ǣӊv�E5�$��KRꒈO���L�8��8�#�w4�k�_I��ܫ�T�İgaMQ�����KU[�i���D��,����e�N��i:�ŧ�G�}e��|�p�����n����b&��,��*m.�W�:�D{�g�1�iMJ�%Ӯ�-��hk����=#���I�ޗ��U���ņ�=�Y񰤯M,朆�(%�h��7G��̞-���_�'�"��9r�˷O�'0CY�N�W�^NCCM���:a~�N��g~���E�墠]���2�h�cjd6ބ��ƣ�N�'Ģ�2��5��R]�$5�U�� ����'R�g-Mv�r���e1�tT*�$)wv��<y��D���S>!>�!�)Y�:����R˴�/I͙ZĜd�q�f��E�����ߐ��trFS��p�H����s�$;�q������(V\�-i-N����ie3������uB�".�O�I�Y��2
�be۲�k�c�c�%Ӝ���M��H���<�x�b�Q�VX�&I�Ż�ɹ�q��c��Ԓ����b�.횒n`�'�[�N��J�� ~�Vn�f�1��
���_X�1�H���*m�wh��m��`�<{w��0Չ̾���"ᴭk( ��E#A��~\��UG�ۧ��M.����G4I}ė����XD��]1��Ka�jp�?L�1�H�MySF�W��ޞ�M8p����x�Ϡ���b��^�Q�(r�y�U�z�]����5�E����:�[P;�U/ubt���,��j���>���ea
!�n�ܠ�—�*{���PX�0U�`�WN�}��#,��j*��swPO�U��/�"^S�#�づ�iyTDR�����$�Rï^-�Ec�mE���ȯ�R��]���0C�LW���W��tf�o��M\ڸ��������ђ��p����Eƣ�#�6U�p��O��"�p�����2訯t��t6��|�–]����񲪋
*M�M3��g.�v�%tF*�Z5��M�͜X�V���x�~��`�:���LRe���\%��~Y���3~[އx��[�с�~"L+�Lp�ߦz�kt����&�Zo��c�s>mQ��͎y�z����>����lC�s�*l�&<�a5��h�Q��<˄3���5He<z�s�|�k�|Qa��П´�ޟ�M*߻0�I��Jn�Q��9�N9�䳻�XV���Z���s��]���b���gI�ѽ(��Є��r4�H�o$�<C�_��+79���v�v�#��4�|�����a9�}�)2y*��q���bǝ��-e��ؕAz�h�$
A�'\�Qc˻o�zSf+���x�
U�0r'N+3��U�\�r 
����Ċ�
7�sl����OO����8�+�dA�|&txy�z�^�;��ı������ŝ���5
7O3�1ݜ���^s�8�Aij܇.k�����p߳���E#Ģ�S?�蠦ٚ���&ի��({$L����]R�Z���<��BE"��('��wsǷ����wD�PIG�J���d�^�^��W$^/�Q�8��ɸ�`C�@=rŹ�dm��LٶĚL�Ua��(�Vl����V%�c0)Se�G����L�x[��l$4�c~���F<)+=/.��$!9y
u��m˦��j�i^3�F]��� C8>t7�÷�?�c2�_ۂ��GL�VƣW_�Y,���iZgf��%��t
^ �;rjA�x�14PY��
�C����x�|M%M1/��=���7Ы��%֣�hb�3���b��/����g�"�-��/�vrP;5ٻ�#�Z����V�c��EV�Bn�6�KϖQR1+l�d���\���k�/2$l�C�(���j�$f��S���_�T���ژ��ܵq�����嚧m�\���S�74��yʓ���,��$�6��%�l<�?�3?J���2.*��[��f�
ߋj��0sR��|f}jfeVu5�X{����tY����S�rV=�WX7�L�I/4/�kb+��lrZS�!^������k��u6ݴ�\c�����˻;��9 ƒr.�{W�
��t�����pio-�����l�H�W��ʽ�%��y=r����w-\R5S㪹7�/L#WA��~S�3��P���wq�ʠC�WrR�z��ļ�E����'�bl*�~t�Nڦ��|S��	�֎[߼��4{'�6���΄�X�&/h��²�~�/�f��-���x�r4�>����u��.
oB�L|�#ZMnU�Ѯ��sQ����r�#)`O�%�Eյ㗿p�|�A2{��tR�[�EU-&�硝�f��‡���cΖ�"r�ok����B+B�S�É��n
�f��Y1O���nQe��Q%	��h�r��&_y��x��Y�2�&EwVs{����֓��~���g�X��Y4�L)'2[��HVa� �Nw�Q��v�_�5f��]|%oҽm�Mu��]�c�(K�Dv��!���`R�e�
t�Ѥ�@���k��ӥ��|z��Ar��Ā�*Ӆ5�߁P��(?�,��6m[u$�����1tJe+
��C7��ߚ�er�߄�X?��U�V�[����O�
��1���PqйS4k�ِ A/��]N�4!!�X�g��P��qr�r@��٣���7�U>�O�LR����zFU��� �@St�*�6`��s�*\�$e��V&_��S���o_Q�Z�ũ��8��[}jWF�n�-J�ߞ��J���¹^�(�
&�x�yN��\�skl(w;�i��f��RyX;I�4��s��4˕��nz�zt{+�$k�&D&f�1X|L�*#vH�
C/
���k�.bhi�a�E��'�o�x�o1��x���.]ɗ�'��n�h?1�hp�#u��y�\��SfR���[���f� ���촰��KWؚn8#�x���WSҶ���E-�1�mYj����&�E�S��j%\}*rV��Ee^��[Ԗ9U�׶�^��ꕸ%�-M����ؐGcd���/4�"����1��wZ�I���Β�����]P��e�����X�F�5x�u0��8���5L�E�<�6�f9�����.=+ecUX�1���[p<P��6)�$ܖ7䀙h.
�t���P�|�ע�O�wA�h�b�<U��F���M�}>k�@3�L��W%8�Ծb̛=+����=��s)wmr��j��i�y�T�/}�A6B�l��m����b�N�zt��u]�l�&�2���k������dCd:e�~�ݤ����ƚ���N��\����ik~���%,Ձe5��?:!q��k��U�d�n�}�Ϻ��`Ɣx_�Jn�ƙo�t�#Q���l�՝7�K��:��1
GӾz��Ui2�?�8���H^���f�f�N�10��Rs���t^�r��|��|&
Ep�%X:Dy&�*��X�LS|Q���y��5��2=�3 �k�C��=�����F��Z�=���p.�yV+(��>�MM��K0��ԫN��
�#L�Yk��
���/�\9�K�����jhg5��ju΃�����"G�[����A����v�����3����ڍ������@�x^�E��ֈg�-h����P�<��z\l��^9�J�P�I#A=d�'�=�b
��P���"K��C��[?��?<I�g
"1/4��s�GۯѬ����l
߂�.RM�Xu5������V7K@VT���d�o]�`�T[�Ѫ����7M�9Uу�[w�.�����҂IE�N��Z�5�%�5p��+�B�*��Ƴ\�(��5Qn�����.U/��
�dh~���U϶e��.`��S;o/<�s���Rb6��+��:/h6�'ô�Fۭ�3��)��-��?i����W{�8�g��Iú�*�,*n
���z�+VĐ�՗h5�NA�`D��_���Վ
-K?�u!�s<{{��
W9+�-��з{k2����c�;�ՊD�~G���l���4������3ߪ|L���P�U�HV@A�Y�0�@��k2:�Ll��\v!l)	&������I�@��H%�G�#�<ܭi�n�t���f����pK�;�3,����BΉ�]�idz�I���j |f���b�k_q �Ex��Pa]~;�>��`�s��f,.����c���[6s�z1�+��gy#<.�~�l;�v��m����Bf,�co��=g�v�U2|Q��F���)ɔ-��Ik-��^[������W�G-�����Z�y�[#�ix�D�4%�s����'��dzϵ	!�Im�ƍ?�-q���'˲�t���1PCTkrd�zX1x^�IZ�&�t�=; (�w�|�l��`-��-"Z�av���f��Z�l�X�n���V0A��;B�C�'��Y�����݀%khqm+z���̆Zگ��и�݊S�he��öt�z�����W�C��-��hQk�I�\�H_�Rw�R�x��"���z��fP�ƨkܑ�|���E<��y���OV�X]{�U�s`�͆��/�u� !k]&��S�x�}�X����sb��&��t�{��y�l5;J�O��S���9�$P{�Y�Xb/ɱڕ�������&{��bʗ��s-J[����h��ݒ��sք�[��-5���D���4�hT�A[���������Ɠu�*̈s=�9�Y�����Gv�Ƥ\Z@n]{�Ka�|>K�^l��q4���`�iuU&�1�D�a��K���bY1��TlZmh��¶��)�>�"mR�v;9�NA��|���ǩؑ%���솏Vm+���Ѻ�Y7���(9�DS	A�$��'����9�z��=	�/��,��u�$�\��/���w�������Ps��<��������5c�^�a��|!��l+�)&�
80e��_nO�mFt�	�5�
6�~�3��u<y�,�
vR�_l��5�z{�'���
t���W؏�p�G����ᳵ�	:>C�K7Q�ڇa~�O�!v�M}{#"
ԩ���[��GtK���;o���]�އ��	+^`��{�c-<��"K��J��[z���|�T�Ϸ�!j9Uh�8�>$����QЍsժ~R9���My��S�M����WU
b�@9�+g�q;��<˜f
m�С>�(A$���5�8\	q���B� K�3ۧWX;����zi�_�R3e�77����30�>�3!�7�+��c;u`�0������uߏ�b@.�ۺ��Yz��J���Z�I�|9�
%0��x�Ɉ�R��xlp;`hk��<bh>�s$ֳ��	|!7����ߥ����3Z�>�?�
�m��D�tRؓ�9���E_�}h,X�Oe�g�1��N0� uZ��1�p�7*v4��gn���ם�����\H�T��I���9�˴l�ɘ�G~p7�-4v��.Pg8��@_v
	m�ޭ�uր��!-�x���@dܮ����z~�޻�8*'�5Ya��l��l9Uo���B^B���Q���s�&�74hs�ɟ�<P�p'��8���
��Y�R<��ߥ��g�<�xmb��)����n}�>~8��IRâ
*�)�R{���{�Av]��:�)��`K���0��1v�K����
���������>���]��+�@-��J}����n����
���ٞ�A�]7{hܮ�~%�X��`O�L���?���[n<x�]E�+QY�w{'�Nl8�NJV��U����
�^Ћ�p@�x��J�cW�>�S�W��0r�`:�"�n�,��ЃdS�ƪǰ��R��
 x�x�
IQ�� k���f�!'�"��4��
�=1TF��.>@|_�;������]�i�ZSA����` �W����n�~9l��ə�҆�p0:z�bO��+d:]��oB�
��~|(fp+�K/N�V�l�.Z�l��:��yB^�_t�4�
g�x;��<p�T��sS@��T"NWMĴ���x`��H+N�@�{���*Fv��ݷ��r]w\I�������T,A���q@rgXsp(�-Dv��x�Ð��|��8ϝ�Yt#�6@k�������t�G�SϬ�~t�C׮浘|�q�M�o���ϭ��S`Z�"G����j���������Q����D2����#-�%0�W�1p��[��c�/mK������D�'��H.v�	5�[�9��4X�G�6}˥��w��h�{5�k�,���x� �C��=Ki���?�W�_%�0/��0��������UL�ug�ȭ�d�����ɣ����q����k>�1q	R��`�\ܫ\�cT���{�X��-h‚7�ෘ�v�є*S���`�i��vi��n��ދ�u�^п�}1�
"�l9|p��"�K	[P�f��5��,�����w��|ٲ�_�e�D�e۸}�S���U���T
`a6C��)��v��(�T�VX0"4�H�ɘO�_���G���#5x�p3�s����x�y]�a�o|1ظBC2�a� X��񨖸��s{`�t?ÿ}�#�k��h�8D�r}��Q&��~�7�ܗ��!s��r&��9-��
@���P�-ƾ�x�fǕymW�o˱��^n�E�QLǓ	HT��=��0m`��G*[-�dUѦ�N�a�
�#u�D��V�<MRu�ڕ���m�~���V lĩʯ�J�I�!��$���ٵ�i��:��W���z�ٙBs����0���}�@FW���V��_Tʪ+��'�^��a����*fYn=��J����&Um�Y�
Z�z1�&��	���
��,�}.�Pg̊2�@btޒ��@s!���x����!�/jv��V�{���fB��,�m���P��N^dŠo�|rc/D�=��b��ʕ�"t����Y����V�LX�:�CPZCbq�pn�c�����{w�~�X�*��<,��"O��ƹƦ�ց�-,�]8�$�c1�՛���l�����{�bY�������ʉ��'��$�A����V���z���T\�����3���_0�tq\*�o�0 �C0{��}����a+�������~O��h��#`�
�IPa���~�\�����L�[�agJI)��7"j�I� a�=����>����^��~�P��C�x�
3����WO����S-b�@�3�
�G1He��
|`Ϯ~
qd3G�=C���r�VI\r����E|��6hn�C���i�ѿ,�<�'X�%�_�ݳ��{�6��W�{�
_
"�E�9��|���~�o�Y��4�!��SF��yJa��H�Ta7sc�vʖءy�EY�`�5�tQe���G��uަ�+�#����L�f��J8p'���/��%�z�d����2Bf�w����O�9䵓��2�wh"��W�T�)�SJ'Lp1΢�����f ]�~�*k��n���*n��6�w�:���j�sg&����Z@lS�
~#��LU�3qK�I��D)fe�MY�7�7Sb��f���������v��~Z��4���+s�t=�)F'�`M��|l+���xT� �`���O�A�-)���0���]�����Jqh�z�|ׁl�Р��_�(��~K��<�@G��b����!��s��I���������+5�rzIR���{%�͹%4lCC� `��$3F��/h_YW���Z�����^V�`��rp�ӻC�M�J��L_��
��0��ک�/$�ep/9���Ȯ�q��6���l���"J���@1&�0�Y�0�������*�]
:z̑�#���yΫ�I�����4B]��Y^+������\��M�yA����
7�g�~k��(��
^�"�ZN#�7qª��kQ
y5C����"�[���wJsxr�����i�%p��K�Ѻ.�S��;�#��-�#��6���]HM�dF�"Z�>Tj(EJ��M��+F�h,���\?��c\�e2 027%F�E�O3��<����)ei]
�!����[Qg�2MF&�j��1+���A�E�f
�.���F���u��G|�m�f��M��a ]�i��g{Vw�Qu��r6l���oT�� �[�j�B�J 3�P��S`@��\�]VBC��ݹ���f���.�,�
A���c������ �[
�>�@���b R	�p3HŲA��{����%�&���Q>��굈�a�x��X">:X�oYc�X��%ƣ?��e���5
}͹�s%W�;_�[��J��J?$��4��?&����^�a�(j���|1M	��������V*.������L#-�퉌G�Y�m
׬�o�o| 5ߠ�C���tRԼ�,./�N��3��"�Krq���!^7,^KG	Z[U�j��us%��=������ة.Kh�cL�	*w�����5��ܐ���p��4�L95(�'�e��M��ho�
�(����=�c��P3�U���K��cU� ����vxUe%�,��}�����Ő�1BH�����,*c�f�0��C+���2�r4����x@��;GG$H�L�P`����<팙��>ތP�!�Nj�k��Ȱ<�T���c�$��B�-�nU�lpwJ06<���=s��"!K\��ʷtA[\<�
�W[irl"k�Ց]nG
�5�G�g�O��D�tM���jX�TuSh��ҞVbm<������H�V}t�x��˱C��9VT	���|N��5]��䂉�#����%^Zq�N	����C.�-�(�W������)��0���� �_�Qf�r1˘���y�P@�iLH(�k�`	Y�c�����
>�X3��ͬ�>�D4U���Qn7@	�h�=�`��S�P��M�\U��br�ff�Q��G�Ҕ��,j��^3�P�-G1]?�K�9�,y�����ip�F�a�U��ʍ�'	gϷ�����J�)g��O�FF�iءx�N*�SZ���߫�M��uR��ѥi��V8��a~4��>�frt6�}+1�L9��j��,E��m�m��7yl$`�`�G�ta(Ф����y^Kϟ�y�/.py����~N?�ɍG5��T����,k��Ml0�dfw��=�������@fb�`�0�cL�@e�>���y)�)=��>I�$w8�/�Q�Y(.��+:�\��]`w�j)���T����(�?�ԁ
�/$�@���B� �?�YFb
����&��Vf��A�'��j��/˱���Q���Z�°m����p|kӅ���
ڀ���5�c� 01���Ǜ
$^�ޖ�]��ʒ�����ϰg�a	��i+q�H��KݖF�sYUj$r;�'��@�`�IZHD�s��]E�v.бY�,�B�K�;���<,��@W�YD�j�ݬ��"&^�[�$�
]\�Y�V��8�;��Ue�X����M��2Q^iINv�!�p�G7�g����͹ώ�݁�.:���L6�h(l�-n��[���~\%}�jĻ1o<zCD��sڤ8�}/M��9�Bg�;ȆDu�c��n	V��f��N�]�E?����\�ҨQ�9*�w���҆�#�A z0��K�y�*p_��,k��&t�.�Vx6�8��9�2kK������
\���pjs	\���әgΫ�]�MΦ�%��6���l�
��=&��u��k��A�O.���ۗ6aq�7a�0�b�<��ߙ����S�)
ʰ�VH�׉�mc��5�_�Eג��D<��2�����Y��=++���J=B�K𸬊����,u[rEwƲ.[B�m.���^��df���S�'��*F	O��|�a<k���W��9��xc�H�JKC�`};��zq��a#{^�>�g��*İ&����'{�0׸�Y��*	�0���xɦ���4��C�{��(�n�
�E�[$n�,�0�T&��섙O��n@
kb;��=KZ�G_�_�|@lK���������Y]�K-
q��W��%%&|@-����}��4�|R�,��P�� ��&�[�s��+�%�Bs(àNmjY���{�D�Δ�Q�|$mc�o�һV1�Xݚu����&�I駞��q\�8)��3���#EF�������1E}w���K��b�]٤��}w�'�'�M��L�!l��q"�ە���~�z���
bs���Q<� ��D&�䅬�nb�z�J8K�Ӣ젔�QR��U[�J`�� v��Sv��Q����~�X@�P�
��3+x�`K��5�U&�|��* X����d��agA� W�+�p�aؖ�Z�G�̡�f��}8J��껜V-3��@s�G�7�����@+j
us��c0�fu�������d����p��_�!��O\k�(F�8<z�f���<���BE�n�/?7b��'f㮸�+��j7e����sSODg��b���$�����v&��z���9ky�����������孀u�wT�� !\?l@.�x��|�X;�=����.7�f�/�]zRS�R��0�f�o�cq*�,���zw`
E��+kP�fG�sc��}D!u=d�ܖ���I�8��b��
Y&��+�h
{1H@w��������[2��5�5%��ȑr{Al��%�%��~�7t�%.�qc0��.H�(y%g7
���H���P�y"�G#�F�t��Pg������Jպj��}Dq^[��v�u��tY�b��*�t��TX�/�P<��p\�F�p���
T�5
y�E��(c�
��v���t>�,���Wα�m�O=��C3-���s7)*�^?1,����:^p���Lm�]..�7�8��yD�h���tV'�K�¤K� ;o֢Sa&p��M7,�-���'�TL=�c�XͧvuƋS�;�<աը7u��}^���׺�Vzd8)�"��b��j��?~�GƠ��f+����5�m�z���B(=r��hp'������ז��'bpl�I-F���+FV`��!:��]͛�7[�7Q�>��#�{��/`���x�?��Ctpy���&f�\Q��?���]���17og�2��U՞�|��3L�{5���b|�Z�XU=��[(���g�c���'��5t�6�G�Q�~X�]4�9�wo��g�O����\�T�\;NpJ��``
v1�Ɯ�3�	O�1�lp���+�{;E�q�j�p�G�hˑfkqՀ9�|�=J��Eg�"P�1?S�l=A��]!@ҍI�k%t0"k�F6i֊�|i�+Z�I�ӺAU�R����Qך54,tB���s��h�!���3�`�4�aeT���p�Sfr~��	㴼@�u���Y�+h�N�z�y���Y/��LS����_��"_nZݱj{�s�x�\H��eƣ�5	y'O?�ڣ]�$�W8���}o�;3dY��8�v����D�a�T���L�fo����Ñu" y��.g��0�F�Ү"��h+��epi?/9j�D_UN�E�>)�.�� f��1�A~��o��¦K�e�O���U�!a��q�%R�����CԳf
�k����ٿ�.�g�F��'؎FWN�$>б�4�<1�vnU�3�YހT�:Sy�<ё��wG�u:�yE\_��i���;zהʓs���p�6���hnx�,����َ.u<�C7�]�m��ۏ]r�P�^48ރLgڈ�'��I��O���?@�`�u��X/r�����k�������{��b9���JB���զ�z�@�`䖮�8%��������O8Ԋf����9��´R#��������I`4
:D�u�_|?-���4�����
���[�L��p
{��%���S&&B���t�
\u�,o�w�{��2G��P��:,@�cf��,�����Pf�,�Ǔ�"���U��}Y/^����:VwT3�|�r�r���Px<���<�o�~d/2U�<�����(�L�]��쾓���ڠ��x���@�?�5��WEŗ�����|�����Z�
u0��Op�ɼ�8��N*��
~7֦Fz��!d�G�Fg��U6����dE������b�M�"3vwH��g�K^#�X��-��2�Sb�k��(��B�8������y�=G@	�PSl�-eX璓�W2�  �=Ϋ˰7�0ᵦ�7�?���{P�'��Zb�-��u�<f�eK6���i��{z��t���Z���A�y7��jo�'���l����-�l�e�/'`x�O!R�Id�z���ڥ��k�����y�ʟZ��i���0�K|+.�1}�ǀ�`�+�=����W��%c��r������+��Gf�HbA��kж��wp�[�M��B0Ǣ��Z��͔AvJ�O�(>��5�U�q�b�ӑ���0�y�Y�f!P���D�|F�d��s�z���V2�8}<b��tn
����h�@Ϝaz���(P�UMʡ�y��ed��T=J,�|̽;X�:_ILCg���B5�ܓ���@�M*��v�/4��ȇ�2�*���[Gg��}AQ�؏蟘�J���X��]�f�Wђ��m{V��qԡMY�џ�i��_B--8�r����{z;�^�VӖ�<y��A�N/�+n?�O����ы��_��by�a:bW��de�[����WJ>h�Yo�7�mIx/gP
=���9�'J���������*='�`��6fM�m����Ng3ػ�Z^2p��t�#����o�÷|s���>��0��i�7P����gz���B�؋S���#|��>������
���s'ZHt:�M8_���D�: 
��	�b�L=s������ɞX뱡�3�
� 䗳bVg6:�jk.uÚ_�xvU�1K~d����#~�<���#���G�<���B�'��$��D�g�h����O���6��	�^p��ՐU�pZ�@�%r����('T�h�N&t�"��zp�9��Ѝ�@ɛ�0
���T�e�����T���V����
��I	|�,�^�zY�:��c�	����dA�j���\@D55�"L0!�Ol�y�����_!vM�X�ַhK������m
�v�g�	hI�����O��.�`x6��YXy0��2�qX벸E�Oe��
q���^)O�����qT#�ҍ�z
C�,���n�I��<��pD31���t�}�~��'/\��1��!9�Q3���Ƀ[G�;)��3��~ee�
� 1�U6�A�G��j#��%-�M+a�=��E��lgyl���M���v�3�w�n{i��1Oeo���X"���Dgk�h��<�zOz9�mSc�ְ͙UmT��Ҥә2x�4�@�\b�M��٠R��\:I|�˸��a�̮�
�S�<��a����%1�$)ւ"c}}$�0�)�Kc�Ȼ,֏UX8δX�5,nC�&yȬ���F`��#bk<֛g6L�F#��b:�:����oC}�C=�Wg�$�E�}�.
���x,}�DYp�����|O"J�E�����|��bwZAf�o)ZTA1Jt��˄�7!1N�:� 8d"A���JSHO��mɠv�OY�V��B7%��N^S�Xv���<mӺa�>���e��C��f��N�r<�"�`�X�ɗq|��<U�z��%�yj&'��e�_@�y#}�u����LP�`9���kʐqk����*�g����Y�\ɮ�p�6E��T����<�=��y�T��m�n1~�৒��×�X9��/C[��m7Ԓ*"�[D�����9U�?t�,<�Eh�_V�UP��ͽ�&�"�{�>���
�2���L�
$��{���F:)?�l����b�.S�6@:��0*8j5��6POhZ[5x=��э��N����F)�5@>hoF
S��E��,�!��թ��q!�_Y�w��s�ODƑ��\���v^Ӧ�Q�6��~[��̡%w�l1w_�L3�9�f^�_06nFM�)P�6c�=����b�KV$ܹ�Nő*EY�;Ez:J: ���1�c����V�	E��G�÷�?�C9f�J=
v��H�:<�B���H� ���Ǥ��p��!�`.jY�(�hBF�Uˆx�X�?��L����-�v��n���8�!Ȁ*�q�B�sc�+�q7H����Z��]���eվ�����M�ꜣ"�X��M*������1�TY}�p>��r���&@��
�Q��((�1pF��8+jN�K��v�k����zi0��#�|^vlh���=� ¶a_N�7]>��(�G?��^Nr���ѻ�|q��r�s��0��~�x��z�f��+P�z���ue��22Ĕz��'��yNq`û���V쑆C�.��Έ+�
T��`Z,ҕ0�ؐ#"T��>��Y�6��[fׄPF�V$���`�%?���i��?��7�X����?��#��ڿ����{��NghE%�"+�[�b�^�����Wbg����d?�|��w��l�l�*;�Q�S>Ё�nIva���6t��������k�Z�}���c_a��8��U�˰X��(�*�r�dZ�k쩫�%gg)3��Y���O���o��McﲮOY��W�L�S��؜���u�;�j���E(ԡ���t.Ԓ��N��*��5*jkR�2�]�t@�l��Έ~�g[.�k:��Q��%At��-a�-����B�[;Oӹ���F`،Uq �wRx
�F�*^\	�>��07{��������G�������)O�A�gI�,J?fſ�mx����P��;�{�65C��;e?�2ob���[獺S�*�L�u�n�,��.ǚ����}�b*P�[PCq�Y�<�*���	�oQ����QzU�$��q�t��m��'`��u����Ảk!=3�=�]�h��C�a�#Y`*4��D�2����n�t�����ߔ�^,x'J�l��y�������9�#����O�X���y��c��f�@��)�!!-����gR�qx%�xYy��!���C�S��eE�Q
f�&�~anCv�3�5�)�r-�)��@�`){�_�P��B�&6�ë<�d�d��T�ą�.VK"$~}g�i��QX�����������=��0�_奫9p�],z
���lȖ
w9��ڛ�{"��`��:�.h*Q�j�亖t���VpNa��(�p?�9B�a䒗9]"�A-?�"�Z�`ڛ9_2e9�"|�.𚫃OgE\f�&ܘ��N]��V��,#����c�_�NZ��X�ֻ��uZQ䋴e�$�y%\�l�%X�dt�z?��+���q����{]���
2�{��٤Z�ܤ͍U{B<䜼��]���?�|^kh*��F6�g$O��]�����|^l<n�Ez/(�}y��G�#э��"i4���t`tnF�ם��}�1ެ��J��-�W�uv�vK�q���S�}�qԒXgu�m��`V�[���(1s0<d���j���]p�z�8�=�Wk�r�Ei�&Nþ��RQ7F�:&�Ŏ�ϲ�{U����)��@�
���Ǧ��*��&�k��nj�ta`�A�1�c{7��⮚u�Rt�Zj Ug���R�h;c=J|wg5#~+"���2O��ŪTU���ۧl�ڦf��Ǘ�|����khZ$�V��*�=ݾ4$|�L��z̓E�z �6�B����B1�S�b“.�B�j��s��3|,�D���׶���7�bq��ݨ�
���%�Z��}�c8n)�[Z6�ds*�ԙ�����\�n/"�Z�$KDA���O����!1
捍���Ĝ��/�v�~mp7č5����㕋6�|p,�� �_��wU�Z'��`��;Ϸ���Ca�<9K�+_'���l��Kc�7ԓ� /�
��l��@��rY�xt0u@�h����i���d�b�[�_��i�T�`�-�oOr'���Ek��!�ܟ�ܓ;4EjI�����g+ߢ��x�_��Ta�nM�^�SΛ�O�U0w0�L�Pg o� \���u-p�����hW�ڡ�}�������3�0�A:�X�I)��eSV�N�K��h�U����M��!���U4�4���C�m�J�b�Z԰������!�z�u;��u�6��8��%�A|z�K'r�������]�=�ehpB�潻2Nf������4C��J݆zx�vo@�vc�ڎf��փ���+�G?4)�p��	��v��)b�utyH�;&�ZSޅ����7�dF�FH�;���o���,�*�����K-B� �ų��wMC��X|�9+$�2��jm7J��
p�oP7:t���U��T�'8����u���t�5��rԒ���Q`�s'�6���IR�Nn�ٖ�\Em���(y��ץ`��8�חU���*w4~l���K�چ�o�_F��4��p"�.��f��NDe]D�P(
u �Cb�`�!@��`��^���p;"���\�$]���Z��I����������﬑H�|�[�jLef{�#�N�v�{z��%m��=��2Nİ�2���a�7��
�wa�_v�D����g� }PX��0��[1��-ڭi�0�6\����<{����/���/?�'�O�پ�����>me�zX��a���
ݫB�����h�&R{F��l���Q�$�#@��
��T�I�s� ��O�C�!����'�/�n:5"�MT�ݟ���Q�o����qf�ḅ7~�<���w��ʄ�*rgϠ��X����^"��Pԋ�����~0������T���8@�~��Z����ҿuJ���;�+{ꏱ�٨#�&)��h��]�Al�����<���d��4�(������%���j4��G-��}�`�[�ZX�y̕M��A\�b^C@�[vr��_?[,�V�\�.����l�er@����/:
1je�k�ٺ}�:�/Ԓ�	��P�g�sfK.�%�5�@ϣdc㤅�@��֜�A����t�8� u�r��zX�n��'~�
���jR��p�"�X���E�H���NjwAơ��H��C��E5+�.*7�x��U�[��{4���/�/�P���^�u�&�����-�zz	�D�
��+�
AJ>��c�����X��}����
~�6vo��]]�b8�E7��Y�&���S����xs���l捿��a���F_�߂�n�������0v�i�q�XV���G����_�� ���G�����E�^��P�s;8Ʈ�8��G
��
�7D�t� Ȇa$�����t�ƣ?�i��(+ϑ��R�D���KuR`����X��:�ܮ�ǘ
,�#o�w�"eE$�P�|�J�}َdOZ�܉6�;$�(zr*q�k:��O�fɡ��(����06X7o<Ru+Jٟ��ڄ���a�]L�6����8���qhGy��@�zp]����w�����PKg��[F;l�k�>��litespeed-cache-en_GB.poUT2�Aiux����PKg��[>�?������Qllitespeed-cache-en_GB.moUT2�Aiux����PKg��[]���I^G��4�litespeed-cache-en_GB.l10n.phpUT2�Aiux����PK IPK\^�\I�P(�(�%translations/litespeed-cache-pt_BR.monu�[������4-�LZxxyx�x�x�x2�xyyy
%y	0y
:y
EyPy]yyy�y�y	�y�y	�y�y.�y
z
z%z,zh;zN�zg�z\[{o�{b(|e�|a�|=S}d�}��}wy~��~"}7���.�4� O�
p�~�H������+�'<�
d�	r�|�����%��ԁ|ځFW�
��.��0؂	�%�	>�"H�k�P��܃T�Z@�>��ڄ��4�-9�/g�q��L	�2V�I��*ӆJ��I�X�#d���������
ч߇Q�OC���s��E�Pc�8��0��';�c�z���3��ފ���$�S(�	|�	���� ��"��/�*�;�
C�Q�h��z�4��5�f�i�v�����
��'��
׎��#���/�;�[�
h�s�����������ԏ�	����
-�8�E�T�a�8p�&��0А'�*)�ST��� ő �(�0�7� @�a�����W,�K��%Г	����+�$G�l�����"��ؔ"��!2�T�t�&��&��"�G�!M�,o�$��+���
�)�A�_�'u�(��Ɨ'̗�
��P3�����1��
�%�2�G�S�V_�^��
� �/�M�^�p�����&��.ҚN�*P�/{�V��]�L`���̜ܜ� �&�!8�Z�f�
x���������ÝН���%�B*�
m��x�4�&7�6^�����	����ӟ6�)�D�c�t��� ��"Ġ����/*�/Z�*��<��<�7/�g�v���������
ޢ	������#�C�W�
^�i���
����	����ɣߣ��

��,�!C�e�}���������
���'�9ͥ�)�M9���+��}ѦO�D`�8��ާ�!��
�+�B�;N����I� R� s�K��8��4�<�P�e�}�������Ԫ���C�U�l�Hs���Ϋ
ҫݫ<�'�A�R�9g�9��
ۭ���� �
-�8�N�i�,��^��q�������Nʯ�&��-�(��
���"�A�[�z���������ұ۱����
�+�%@�,f�s��'�/�C�"c�%���� ̳�&�'�>�O�h�{�6��(������/�LI���9��:ܵ6�-N��|�K�We���η
���O �
p�{�����Ÿ͸޸��
�Q'�y�2����̹
�'���8� K�0l�������#Ӻ��
���%�!<�^�%y������M�g�z�������
̼ڼ	���B
�
M�X�`�	d�n�2s�Z��,�.�C�-^����/d�i��:��;9�Yu�K�V�Ur�L�f�B|�Y��:��T�V��`2�J��g��xF�=��@��=>�|�����������
�<�?R�����������?�D�K�[� k�&�� ��D���l%�G�����l�x���
������e�+�@�U�q����,�
4�?�X�
d�
r�/}�/����k��<^�
����(����

��,�	8�B�cN�������.��(�
-�8�
M�[�s���h���A��R���	�����2�?�'O�w�
��
������
��
��"���
��$1�+V���#����*����
�$�:�
O�Z�
v�$��(������C��C�P^�F��F��E=�@��2��B��C:�>~�"��&����%+�Q�i�%�� ��"��&���!,�N�h� ������>��2�$K�p�������������d��a� y���/��.��
��*�@�S�p���������������������
,�:�F�R�a�p���%����$��
���	��#�0�@�@E�
��%���������Z�a�>i����� ����*� 2�S�X�2n�����"��*��*%�"P�"s�	������<��,��$*�O�
U�
c�q�Q��������
��.��?"�6b�;��1��3�2;�6n�0��������$����$�1�G�Qd�2��Q��D;�
����#��-��$��?�U��l�7��&�3�%L�	r�|���������������
�!�:�$J�o�E��+��*��%�;�G�P�<n�������
��
��$����!�!2�1T���Y������,�<�B�_�f�o���R��c��2N�?��
������d�<i�5��S��C0�5t���j���5�K��O�'U�?}�����
��������9�;J�=��>��0�M4�����p��|�/��&��&�)
�87�7p�4�����
��
'��5�F�d
�Uo��X�6�=�J�_�Ak�A������	�#�3�H�T�e�
v�	������%���0��I+�u�$��D��@��98�1r���8��a�L�\�i�u�������+��
�����P:�<������/�G�#b����;EN��</=l��Q�++W`p2�����
(? Rs��������&�%%<{b;�34I~���F�1C!Y{!���.�)&Cj&�B��		&	YA	�	�	�	$�	,
0
B
IW

�
�
�

�
�
:�
1O;Wg��.7'=ed{��G

fR
$�
X�
Q77�+�J�8gR���Q$v0�P�^qc�	��
'9A{v�}�(y��>�UNne�#=
JX&u�#���9�
,V:i�_�C[G�a�8I4�/�7�67V-�)�L�*3)^-�(�H�A(cjR�M!o��(�3�R
`u����
���2�*(H$q5����"(e,-��/�Z�hS ^� ]!=y!i�!8!"[Z"c�"C#j^#z�#AD$q�$`�$'Y%q�%�%&W1&%�&O�&>�&>'W'Ko'�'E�(1)-8)8f)M�)Y�),G*)t*S�*9�*&,+)S+9}+$�+X�+15,g,A|,^�,E-Uc-(�-S�-Y6.�.J�.z�.(l/I�/x�/^X0A�04�0).1cX10�1.�1�2��2�]3�3A4YR4*�4F�495-X71�71�7(�768J8j84�8R�8p
9,~9*�9.�91:;7:/s:(�:J�:4;BL;�;N�;Q�;oO<X�</=GH=9�=1�=��=��>$?�D?J
@^U@3�@N�@7AWUA��A�DB>	CHHCH�C<�C1DVIDL�D$�D]EpEuE}E�E�E$�E�E�E
�E�EFF&F6F?F�GF/�F(G)DGnGX�G��G�eH��H
qI
I�I�I�I�I�I@�I)J
-J%8Jg^JH�JK
L
L
*L8L@LWL]L:rL>�L@�Lp-M�M�M�M�M�M	Nr(N]�N5�N_/O��O(-P8VP�P#�P�P$�P.Q2DQrwQH�Q3R!<R^RbR|RC�RF�RS
 S+S>S]SlS�S�S�S�S�S�S 	T*TK2T~T�T+�T�T)�T�U �U
�U�U�UVV(Ve@VJ�Vj�VK\Wd�WM
XJ[X�X$�X�Xg�X`YRwYZ�Y%Z:Z'ZZ#�Z�Z��Z%_[-�[��[/k\k�\(]E0]�v]u-^F�^0�^D_.`_S�_4�_*`C`Cb`A�`L�`-5aGca<�a-�ab/6bfb�b)�bZ�bw
c�cC�c�c�d
�dee"eK@e�e�e�e�eJ�e	fff!f�&f�f�f"�f
�g�g$h%h>Ch�h�h�h�h	�h
�h�h�h'�hii:i	Ci	Mi
Wibi<|i�i�i�i�ip�iHkjz�j~/k��k�^l~�l�bmK�m�=n��n�yo�'p0�p9!q[qmq>qqE�q$�qr2rZMr�r�r�r"�rs='sesxs	�s�s�s0�s�s�tF�t	�t5�t3uNu:cu�u0�u4�u`vwvn�vo�vEnw#�w�wQ�w>Ax8�xs�xZ-y>�y]�y0%zaVz�z�z6�z!{29{l{$�{#�{+�{k�{ef|�|��|Qp}\�}B~;b~�~2�~�~<7H9��'��.�q�
������4��#��3�.M�	|���%�����فH��Ԃ{�d�'q�����
��/����
�#&�J�c�p���
����Dž���!��$�D�$[�������͆����X'�0��E��@��G8�d��&�+�8�1L�~�	��.�����ى��&��k��X&�2�����؋-��8$�"]�$����&��'،"�'#�+K�w�(����#ݍ�S�p�����#̎-�+�$J�+o�#��7�����<�Z�u�%��]��
�&�<@�}�.��>��
��
�k�q��
���3�F�Z�q�����-��:�i(�2��(ŔM�V<�C��ו��)�5@�v�������ɖܖ*��
1�<�$O�t���;��Tޗ3��B�E��(;�Md�����֙�$��F�e�'������՚+��"!�D�Z�v�7��6˛1�G4�F|�AÜ�1�M�b�${�1��ҝ�����2.�a�|�	��������Ԟ��#!� E� f���
������0�!�>�\�2p���"��
۠���E���.	�T8�&��/������M��A�	1�;�(W���'��
��mƤ�4�
"�-�F�`_�>����	�#�@�"^�����+��!��+�+H�Rt�Ǩ�a�N�i�
m�x����#B�0f�7��>ϫ>�M�a�w�����
��Ĭ!߬!�Z#�d~���g�o���N���	����.��
����6�N�h�p�#������
ٰ�����	$�<.�&k�/���±(K�t�)��)��/߲(�18�j�.~���ijس���A �,b�������#�T�Y�;e�J��:�1'��Y�T�WX���Ʒ��!�c4���!��?̸:�G�M�d� ��
��g���>!�`�"o���5��׺��%�27�j�|���.��	޻�4��",�.O�!~���'����$������%9�_�n���	��2��Gؾ
 �
.�
9�D�T�=]�d��C�D�]�2x���?��A��=��l�dr�Z��b2�N��k��[P�q��I��h�_��o]�Q�������P��W��P.����)��!��,��(�C�PW�W���'� A�b���U�������2'�'Z�%��T��
��|�d�����������
����������&��%��$���!���������2�>?�3~���w��GG�����#�� �����&�7�D��Z�,���%�J@���
����������2��x+���P�����	���������!�7�=H��������������0�C�V�v�@��K���?<�.|�I����*� ?� `�
����
��+��&��%�.�VE�%��X��J�Jf�Y��N�BZ�R��W��PH�#��7�����4�Q�o�1��)��*��3�D�+\���"��*��'��+�LI�<��/��� �7�N�f�}���|��!!�*C�n�O��O��
*�8� R�s�����(������2�A�	D�,N�{�������
���������-�M�.U���.��
���������5�D�MI���,���������
����]��*�9�.N�}�=��(��	��&�D/� t�#��$��9��/�*H�:s�������P��98�1r���������_��U�
b�
p�~�-��K��>�NF�@��?��C�FZ�F��
������0�J�M�T�#e�%��i��E�X_�P��	��.,�7[�-��F��&��/�O�'�7�+P�
|������������!�>�^�y�/����?�=�.X�������)��J�2�C�L�X�s�(������/�-�
?�tJ�#�� ���5�)>�h�q�w�������.�D�E�d�7y���n�55�6k�U��D��3=qw��	[�h�0hE���
,RDH�H�I)Gs]�2zB��<I?�;�4b7?�A�+H
P^
t��h<	d�	o

%z
\�
�
+ARSK���	$0H
es����1�!
:2
m
U�
�
-�
S%DyJ�7	
A=O��
2@M
ky�3�
���+�g*P��(�%6E|+���C]L���D�Se"�\�-
.9I5d	��/� �#,3 `+�����$@`2|�=��	V�#<@*}��
�N�.G$^�
�"�"��/
:Nh$� ��J� 5'V'~��+E*b�@�� [#  � � � � ^!*a!
�!W�!��!u"<�"�"/�"�"�#�#�#Q�#x-$-�$g�$a<%F�%5�%Y&$u&��&!'.9'*h'�'[�'
(=)(gg(o�(v?)"�)�)�))*.*RN*	�*��*�D+O�+'.,V,[f,�,l�,RN-d�-.&.8.
J.X.q.*y.	�./�.A�. /|5/��/}80Y�0Q1yb1U�1Y22N�2Z�2[63T�3T�35<4Yr4-�4R�4=M5,�5Z�5L6d`6S�6X7r7�7!�7>�7M8N8uU8�8 �8
9 9	19;9B9&T9{9,�9�9#�9"�9N	:#X:|:
�:
�:�:�:�:�:��:8X;�;+�;��;zI<j�<_/=?�=��=:j>b�>n?ew?��?�h@G	A�QAe�A&;B�bB�B!C^0C*�Ce�C] D~D"�DP�D1EaDFE�F:�FG'GLoG[�G.H+GHcsH?�H*I<BIWIO�Id'JG�J�Jg�JlOKa�KsL;�La�L^0M�MT�M��M/�NO�N�O�ON4P7�P.�Pz�P7eQ3�Q��Q��R�xS3T[QTb�T4U[EU��U-:X7hX1�X'�XA�X)<Y#fY<�Yc�Y�+Z.�Z5�ZF[;Y[S�[:�[/$\XT\F�\E�\#:]c^]\�]v^q�^2_Y;_J�_M�_�.`��`0�a��a]�bj�bC^c]�cdc d��d�eJ�eZIfP�f=�f@3gftg\�g;8hnth
�h�hi	i	i&#iJi_iwi �i�i!�i�i	�i�i�iSkIVkL�k �k�l��l�Rm��m�n�n
�n%�n$	o.oEoWWo�o�o*�o��oj�pQ�p
@rKr]r	przr�r�r@�rM�rc2s��s !tBt,Vt�t�t'�t��to�u;�u�3v��v2�wP�w'x)>x*hx'�x3�x4�x�$yS�yz'"zJzNzgzD|zS�z{+{?{$^{
�{�{�{-�{;�{.2|6a|#�|,�|	�|d�|
X}c}5|}!�}<�}�~$�~
�~%&F_r~�N�z^�[ـj5�^��j��#j�)�����Ђ"U�`x�fك@�,_�3��%��
���2��=��$�=��S�0�Z"��}��B�HƉ+�E;�8��d��@�4`�#��G��X�[Z�7��S�MB�.��(��:�#�B�-I�aw��َr�O��NՏ$�
-�8�@�W�Ku���Αӑ�T�H�
W�b�k��p���A�R�S�~��;��'����I���u!6l|��c���i6��w�(�5�`�<V3��D��x1� T����o-:&@k��Sr������e��
��0p�*����;�����0[�j+8��'�]
�Q�Jm�Y��H()`��E]9���N��;��Q�A�T��iWo|�����S�/2R,B�`�?�0q��H9�����f�Bt�&���g�i�+���J@~d�-e6�!q�O,��*sRA�;�Tz�
KT!���s4<���h��'�(�\l�{���Q �bu.���K��g���w�}��R�<�������Z=�c�gw?���lF#]d_����
!XdFR-�{��%��I�7=����������m/��x��K��7@��tL����H������4z�ngj3��>���%y
���P�Pc4$A����~#N.-h��M��J;A��a� "k~�v�Ea�\BZ���,��Eh ��{�
cp���G�kn5�@M/8�)/��fv������UV���j�Vi�y(����F�1G����9}���s
��T������7���y�u��V|2��O���f��j����WVd��yx��-FEm��5_vHD%���ZC#t�7G4Qs���YK+W�����Q���8W�^�C���|	���&~���}�CP������XT+ ����OS*o(.��"����%?C��f[_��m�]�P��'�2��$����\�:[��g���zc�SeSn�p*�p�y��,u2�	]k�j��$b&��?Bq;v���'H^���Na��������9"����[�w��)�a���D\��"��I���U�X���K��}`Z{i��L��r�o�.U_��>�pL�$�v���.$4@�#0z�0��+�� B��\a"�Z�V���h�5,�q
k�����N�5L�����sy�����?�c������j�^>�?��e�RO>�H������+F�	8��U|0���#=����`M�6=t����*7�w�:f������2�&O���e�bP:�oi1/qLA6�.��U��1���)ak~1�)���e��_���P����^7�Xh��w�N(�9�5�KU9�J���������n!I_��8��#�E��}�l�����M�r�����3��]����u��`�J>C�^E��X�2�L��BrX"�O�=��n%Y����<lM��t�N	G�Y����WY������{�>3�J8����b�m��t�v[�G��&�xZl�Qg�z�
q
���@D\����or�!
�1C�r$����dd�:������/���GpD����uI��6���Dh^�
In�%����-3	��*m�x�	F����'3���x��[���M���bW)zb���f<����,�=Y<{�s�����|}4��: %s ago%1$s %2$d item(s)%1$s %2$s files left in queue%1$s is a %2$s paid feature.%1$s plugin version %2$s required for this action.%1$sLearn More%2$s%d hour%d hours%d item(s)%d minute%d minutes%d seconds%s Extension%s activation data expired.%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.A Purge All will be executed when WordPress runs these hooks.A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled.A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimized.AJAX Cache TTLAPIAPI: Filter %s available to disable blocklist.API: PHP Constant %s available to disable blocklist.AVIF file reduced by %1$s (%2$s)AVIF saved %sAccelerate, Optimize, ProtectAccelerates the speed by caching Gravatar (Globally Recognized Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced (Recommended)Advanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.After verifying that the cache works in general, please test the cart.AggressiveAlias is in use by another QUIC.cloud account.All QUIC.cloud service queues have been cleared.All TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Already CachedAlways purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Applied the %1$s preset %2$sApply PresetAre you sure to delete all existing blocklist items?Are you sure to destroy all optimized images?Are you sure you want to clear all cloud nodes?Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Asynchronous CSS Loading with Critical CSSAttach PHP info to report. Check this box to insert relevant data from %s.Author archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAuto Rescale Original ImagesAutoloadAutoload entriesAutoload sizeAutoload top listAutomatic generation of critical CSS is in the background via a cron-based queue.Automatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimized images.Automatically replace large images with scaled versions.Automatically request optimization via cron job.Available after %d second(s)Avatar list in queue waiting for updateBackend .htaccess PathBackend Heartbeat ControlBackend Heartbeat TTLBackup created %1$s before applying the %2$s presetBasicBasic Image PlaceholderBeforeBest available WordPress performanceBest available WordPress performance, globally fast TTFB, easy setup, and %smore%s!Beta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a gray image placeholder %s will be used.By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CCSS Per URLCCSS Selector AllowlistCDNCDN - DisabledCDN - EnabledCDN - not available for anonymous usersCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS & JS CombineCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS, JS and HTML MinificationCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache WP-AdminCache key must be integer or non-empty string, %s given.Cache key must not be an empty string.Cache requests made by WordPress REST API calls.Cache the built-in Admin Bar ESI block.Cache the built-in Comment Form ESI block.Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryCert or key file does not exist.Changed setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.Check StatusCheck my public IP fromCheck the status of your most important settings and the health of your CDN setup here.Check this option to use the primary site's configuration for all subsites.Choose which image sizes to optimize.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all orphaned post meta recordsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all trashed commentsClean all trashed posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean orphaned post meta successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean trashed comments successfully.Clean trashed posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all Unique CSS files.Cleaned all VPI data.Cleaned all localized resource entries.Cleaned up unfinished data successfully.ClearClear %s cache when "Purge All" is run.Clear Cloudflare cacheClear LogsCleared %1$s invalid images.Clears all cache entries related to this site, including other web applications.Click here to proceed.Click here to set.Click to clear all nodes for further redetection.Click to copyClick to switch to optimized version.Click to switch to original (unoptimized) version.Close popupCloud ErrorCloud server refused the current request due to rate limiting. Please try again later.Cloud server refused the current request due to unpulled images. Please pull the images first.CloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare SettingsCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimizedCongratulations, %s successfully set this domain up for the anonymous online services.Congratulations, %s successfully set this domain up for the online services with CDN service.Congratulations, %s successfully set this domain up for the online services.Congratulations, all gathered!Connected Date:Connection TestContent Delivery NetworkContent Delivery Network ServiceConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCopy LogCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled by the server admin.Crawler disabled list is cleared! All crawlers are set to active! Crawler(s)Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.Create a post, make sure the front page is accurate.Created with ❤️ by LiteSpeed team.Credits are not enough to proceed the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent closest Cloud server is %s. Click to redetect.Current crawler started atCurrent image post id positionCurrent limit isCurrent server loadCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently set to %sCurrently using optimized version of AVIF file.Currently using optimized version of WebP file.Currently using optimized version of file.Currently using original (unoptimized) version of AVIF file.Currently using original (unoptimized) version of WebP file.Currently using original (unoptimized) version of file.Custom SitemapDB Optimization SettingsDNS PreconnectDNS PrefetchDNS Prefetch ControlDNS Prefetch for static filesDaily archiveDashboardDatabaseDatabase OptimizerDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)DeactivateDeactivate LiteSpeed CacheDeactivate pluginDebug HelpersDebug LevelDebug LogDebug SettingsDebug String ExcludesDebug URI ExcludesDebug URI IncludesDefaultDefault CacheDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default path isDefault port for %1$s is %2$s.Default valueDeferredDeferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).Delay rendering off-screen HTML elements by its selector.DelayedDelete all backups of the original imagesDelivers global coverage with a growing <strong>network of 80+ PoPs</strong>.Destroy All Optimization DataDestroy all optimization data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable All Features for 24 HoursDisable CacheDisable Image LazyloadDisable VPIDisable WordPress interval heartbeat to reduce server load.Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.DisabledDisabled AVIF file successfully.Disabled WebP file successfully.Disabling this may cause WordPress tasks triggered by AJAX to stop working.Disabling this option may negatively affect performance.Disconnect from QUIC.cloudDismissDismiss this noticeDismiss this notice.Do Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.Do not show this againDomainDowngrade not recommended. May cause fatal error due to refactored code.Drop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in HTML code will be excluded.Elements with attribute %s in html code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable All FeaturesEnable CacheEnable ESIEnable QUIC.cloud CDNEnable QUIC.cloud ServicesEnable QUIC.cloud servicesEnable Viewport Images auto generation cron.Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled AVIF file successfully.Enabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.Error: Failed to apply the settings %1$sEssentialsEvery 15 MinutesEverything in Advanced, PlusEverything in Aggressive, PlusEverything in Basic, PlusEverything in Essentials, PlusExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to create table %1$s! SQL: %2$s.Failed to detect IPFailed to get %s file contents.Failed to get echo data from WPAPIFailed to parse %s activation status.Failed to request via WordPressFailed to sync Guest Mode lists.Failed to upgrade.Failed to validate %s activation data.Failed to write to %s.Fast Queue UsageFile %s is not writable.Filename is empty!FilesFilter %s available for UCSS per page type generation.Filter %s available to change threshold.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimizationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, for %1$s, %2$s and %3$s can be used here.For example, for %1$s, %2$s can be used here.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For example, to drop parameters beginning with %1$s, %2$s can be used here.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFree monthly quota available.Free monthly quota available. Can also be used anonymously (no email required).Front pageFrontend .htaccess PathFrontend Heartbeat ControlFrontend Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerate a separate vary cache copy for the mini cart when the cart is not empty.Generated at %sGenerated links may be managed under %sSettings%s.Get it from %s.Global API Key / API TokenGlobal GroupsGlobally fast TTFB, easy setup, and %s!Go to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode IP/UA sync statusGuest Mode JS ExcludesGuest Mode and Guest OptimizationGuest Mode failed to test.Guest Mode lists synced successfully.Guest Mode passed testing.Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX.Guest Mode testing resultGuest OptimizationHTML Attribute To ReplaceHTML Keep CommentsHTML Lazy Load SelectorsHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimization from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimization.However, there is no way of knowing all the possible customizations that were implemented.Htaccess did not match configuration option.Htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If comment to be kept is like: %1$s write: %2$sIf every web application uses the same cookie, the server may confuse whether a user is logged in or not.If not, please verify the setting in the %sAdvanced tab%s.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you are using a %1$s socket, %2$s should be set to %3$sIf you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images.If you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimizationImage Optimization SettingsImage Optimization SummaryImage Thumbnail Group SizesImage groups totalImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimized and pulledImages ready to requestImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byIn order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.In order to use QC services, need a real domain name, cannot use an IP.In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.Include CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInline CSS added to CombineInline JS added to CombineInline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.InstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.It will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS Defer for both external and inline JSJS Deferred / Delayed ExcludesJS DelayedJS Delayed IncludesJS ExcludesJS MinifyJS SettingsJS error can be found from the developer console of browser by right clicking and choosing Inspect.Join LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain color placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast PulledLast Report DateLast Report NumberLast RequestLast calculatedLast complete run time for all crawlersLast crawledLast crawled:Last exportedLast generatedLast generated: %sLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLast requested: %sLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLazy Load for IframesLazy Load for ImagesLearn MoreLearn More about QUIC.cloudLearn moreLearn more about when this is neededLearn more or purchase additional quota.Link & Enable QUIC.cloud CDNLink to QUIC.cloudLinked to QUIC.cloud preview environment, for testing purpose only.List of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.List the CSS selectors whose styles should always be included in CCSS.List the CSS selectors whose styles should always be included in UCSS.Listed CSS files or inline CSS code will not be minified or combined.Listed CSS files will be excluded from UCSS and saved to inline.Listed JS files or inline JS code will be delayed.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be minified or combined.Listed JS files or inline JS code will not be optimized by %s.Listed URI will not generate UCSS.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache Configuration PresetsLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimizationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimizationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache OptimaXLiteSpeed Cache Page OptimizationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache Standard PresetsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache is disabled. This functionality will not work.LiteSpeed Cache is temporarily disabled until: %s.LiteSpeed Cache plugin is installed!LiteSpeed Crawler CronLiteSpeed LogsLiteSpeed OptimizationLiteSpeed ReportLiteSpeed TechnologiesLiteSpeed Web ADCLiteSpeed Web ServerLiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.Load CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalizationLocalization FilesLocalization SettingsLocalize ResourcesLocalize external resources.Localized ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum image post idMaximum valueMaybe LaterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMobile CacheMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuMy QUIC.cloud DashboardNOTENOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.NOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New Version Available!New developer version %s is available now.New release %s is available now.NewsNext-Gen Image FormatNo available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimized AVIF file exists.No backup of unoptimized WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo fieldsNo optimizationNo sizes found.No valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Node:Non cacheableNot AvailableNot blocklistedNot enough parameters. Please check if the QUIC.cloud connection is set correctlyNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONOPcache is not enabled.OPcache is restricted by %s setting.ORObjectObject CacheObject Cache SettingsObject cache is not enabled.Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.On uninstall, all plugin settings will be deleted.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Online ServicesOnline node needs to be redetected.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed Web ServerOpenLiteSpeed users please check thisOperationOptimaXOptimaX SettingsOptimaX SummaryOptimization StatusOptimization SummaryOptimization ToolsOptimize CSS delivery.Optimize Image SizesOptimize LosslesslyOptimize Original ImagesOptimize TablesOptimize all tables in your databaseOptimize for Guests OnlyOptimize images and save backups of the originals in the same folder.Optimize images using lossless compression.Optimize images with our QUIC.cloud serverOptimized all tables.Option NameOptionalOptional when API token used.Optionally creates next-generation WebP or AVIF image files.Options saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Orphaned Post MetaOtherOther Static CDNOther checkboxes will be ignored.Outputs to a series of files in the %s directory.PAYG BalancePAYG used this month: %s. PAYG balance and usage not included in above quota calculation.PHP Constant %s is supported.Page Load TimePage OptimizationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:Please do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please make sure this IP is the correct one for visiting your site.Please read all warnings before enabling this option.Please see %s for more details.Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.Please visit the %sInformation%s page on how to test the cache.Plugin is too complicatedPortPosition: Post IDPost RevisionsPost type archivePreconnecting speeds up future loads from a given origin.Predefined list will also be combined w/ the above settingsPredefined list will also be combined with the above settingsPredefined list will also be combined with the above settings.Prefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimization of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality.Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.Product Update IntervalProvides <strong>security at the CDN level</strong>, protecting your server from attack.PublicPublic CachePull Cron is runningPull ImagesPulled AVIF image md5 does not match the notified AVIF image md5.Pulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge %s error pagesPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge url %sPurged All!Purged all caches successfully.Purged the URL!Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud CDNQUIC.cloud CDN OptionsQUIC.cloud CDN Status OverviewQUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.QUIC.cloud CDN is currently <strong>fully disabled</strong>.QUIC.cloud CDN:QUIC.cloud Integration DisabledQUIC.cloud Integration EnabledQUIC.cloud Integration Enabled with limitationsQUIC.cloud Online ServicesQUIC.cloud Service Usage StatisticsQUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.QUIC.cloud's Image Optimization service does the following:QUIC.cloud's Online Services improve your site in the following ways:QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.QUIC.cloud's access to your WP REST API seems to be blocked.Query strings containing these parameters will not be cached.Rate %1$s on %2$sRead LiteSpeed DocumentationRecommended to generate the token from Cloudflare API token template "WordPress".Recommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRedis encountered a fatal error: %1$s (code: %2$d)RefreshRefresh Crawler MapRefresh Gravatar cache by cron.Refresh QUIC.cloud statusRefresh StatusRefresh UsageRefresh page load timeRefresh page scoreRegenerate and Send a New ReportRemaining Daily QuotaRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.Remove Query StringsRemove Query Strings from Static FilesRemove WordPress EmojiRemove `Disable All Feature` Flag NowRemove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.Remove all previous unfinished image optimization requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed Unused CSS for UsersRemoved backups successfully.Replace %1$s with %2$s.ReportRequest WebP/AVIF versions of original images when doing optimization.Requested: %s agoRequests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset %s activation successfully.Reset All SettingsReset SettingsReset image optimization counter successfully.Reset positionReset successfully.Reset the OPcache failed.Reset the entire OPcache successfully.Reset the entire opcode cacheReset the optimized data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColorResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore SettingsRestore from backupRestored backup settings %1$sRestored original file successfully.Results can be checked in %sMedia Library%s.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun %s Queue ManuallyRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSYNTAX: alphanumeric and "_". No spaces and case sensitive.SYNTAX: alphanumeric and "_". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.Save ChangesSave transients in database when %1$s is %2$s.SavedSaving option failed. IPv4 only for %s.Scaled size thresholdScan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.Scheduled Purge TimeScheduled Purge URLsSee %sIntroduction for Enabling the Crawler%s for detailed information.Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimizations.Selected roles will be excluded from cache.Selectors must exist in the CSS. Parent classes in the HTML will not work.Send Optimization RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSend to twitter to get %s bonusSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe a separate cache copy for mobile visitors.Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes.Serve your visitors fastServer IPServer Load LimitServer allowed max value: %sServer enforced value: %sServer variable(s) %s available to override this setting.Service:Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimized %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.Site performance is worseSitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSoft Reset Optimization CounterSome optimized image file(s) has expired and was cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.Specify an HTTP status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG color.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Specify which element attributes will be replaced with WebP/AVIF.Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.Spread the love and earn %s credits to use in our QUIC.cloud online services.Standard PresetsStart watching...Started async crawlingStarted async image optimization requestStatic file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimizationStore Gravatar locally.Store TransientsSubmit a ticketSuccessfully CrawledSummarySupport forumSure I'd love to review!SwapSwitch back to using optimized images on your siteSwitched images successfully.Switched to optimized file successfully.Sync QUIC.cloud status successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSync failed.Synced successfully.SyncingSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank You for Using the LiteSpeed Cache Plugin!The Admin IP option will only output log messages on requests from admin IPs listed below.The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The deactivation is temporaryThe default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The features below are provided by %sThe following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe queue is processed asynchronously. It may take time.The selector must exist in the CSS. Parent classes in the HTML will not work.The server will determine if the user is logged in based on the existence of this cookie.The site is not a valid alias on QUIC.cloud.The site is not registered on QUIC.cloud.The user with id %s has editor access, which is not allowed for the role simulator.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This Month Usage: %sThis action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.This option can help to correct the cache vary for certain advanced mobile or tablet visitors.This option enables maximum optimization for Guest Mode visitors.This option is bypassed because %1$s option is %2$s.This option is bypassed due to %s option.This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.This option will automatically bypass %s option.This option will remove all %s tags from HTML.This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.This process is automatic.This setting is %1$s for certain qualifying requests due to %2$s!This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This value is overwritten by the %s variable.This value is overwritten by the Network setting.This value is overwritten by the PHP constant %s.This value is overwritten by the filter.This value is overwritten by the primary site setting.This will Purge Front Page onlyThis will Purge Pages onlyThis will affect all tags containing attributes: %s.This will also add a preconnect to Google Fonts to establish a connection earlier.This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?This will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated Viewport ImagesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all generated unique CSS filesThis will delete all localized resourcesThis will disable LSCache and all optimization features for debug purpose.This will disable the settings page on all subsites.This will drop the unused CSS on each page from the combined file.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimized files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?Time to execute previous request: %sTo crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.To manage your QUIC.cloud options, go to your hosting provider's portal.To manage your QUIC.cloud options, please contact your hosting provider.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomize CDN hostname, define multiple hostnames for the same resources.To test the cart, visit the %sFAQ%s.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimized in this monthTrackbacks/PingbacksTrashed CommentsTrashed PostsTry GitHub VersionTuningTuning CSS SettingsTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in backend editor.Turn ON to control heartbeat on backend.Turn ON to control heartbeat on frontend.Turn On Auto UpgradeTurn on OptimaX. This will automatically request your pages OptimaX result via cron job.Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN.Tweet previewTweet thisUCSS InlineUCSS Inline Excluded FilesUCSS Selector AllowlistUCSS URI ExcludesURI ExcludesURI Paths containing these strings will NOT be cached as public.URLURL SearchURL list in %s queue waiting for cronUnable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.Unable to automatically add %1$s as a Domain Alias for main %2$s domain.Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)Unique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUsage Statistics: %sUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimized FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.Use external object cache functionality.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Dev/Master commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimized) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.Useful for above-the-fold images causing CLS (a Core Web Vitals metric).UsernameUsing optimized version of file. VPIValue from filter appliedValue rangeVariables %s will be replaced with the configured background color.Variables %s will be replaced with the corresponding image properties.Vary CookiesVary GroupVary for Mini CartView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimizationViewport ImageViewport Image GenerationViewport ImagesViewport Images CronVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWebP/AVIF Attribute To ReplaceWebP/AVIF For Extra srcsetWelcome to LiteSpeedWhat is a group?What is an image group?When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When minifying HTML do not discard comments that match a specified pattern.When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Who should use this preset?Why are you deactivating the plugin?Widget Cache TTLWildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.Wildcard %s supported.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.You can just type part of the domain.You can list the 3rd party vary cookies here.You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the htaccess file path.You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible.You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.You have too many requested images, please try again in a few minutes.You have used all of your daily quota for today.You have used all of your quota left for current service this month.You just unlocked a promotion from QUIC.cloud!You must be using one of the following products in order to measure Page Load Time:You must set %1$s to %2$s before using this feature.You must set %s before using this feature.You need to activate QC first.You need to set the %1$s first. Please use the command %2$s to set.You need to set the %s in Settings first before using the crawlerYou need to turn %s on and finish all WebP generation to get maximum result.You need to turn %s on to get maximum result.You will be unable to Revert Optimization once the backups are deleted!You will need to finish %s setup to use the online services.Your %1$s quota on %2$s will still be in use.Your %s Hostname or IP address.Your API key / token is used to access %s APIs.Your Email address on %s.Your IPYour application is waiting for approval.Your domain has been forbidden from using our services due to a previous policy violation.Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.Your server IPYour site is connected and ready to use QUIC.cloud Online Services.Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.Zero, orcategoriescookiese.g. Use %1$s or %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowmoreno matter where they live.pixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsthe auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.unknownuser agentsPO-Revision-Date: 2025-12-17 01:48:43+0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=n > 1;
X-Generator: GlotPress/4.0.3
Language: pt_BR
Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)
 %s atrás%1$s %2$d itens%1$s %2$s arquivos restantes na fila%1$s é um recurso pago %2$s.A versão %2$s do plugin %1$s é necessária para esta ação.%1$sSaiba mais%2$s%d hora%d horas%d itens%d minuto%d minutos%d segundosExtensão %sOs dados de ativação do %s expiraram.%s arquivo não legível.%s arquivo não gravável.%s grupo%s grupos%s imagem%s imagensÉ recomendável usar %s.%s deve estar ATIVADO para que esta configuração funcione.(sem economia)(não-otimizada)(otimizada)Caminho do .htaccess<a href="%1$s" %2$s>Ver detalhes da versão %3$s</a> ou <a href="%4$s" %5$s target="_blank">atualizar agora</a>.<p>Adicione/substitua os seguintes códigos no início de %1$s:</p> %2$sO <strong>CSS crítico (CCSS)</strong> carrega o conteúdo visível acima da dobra mais rapidamente e com estilo completo.A <strong>Otimização de imagens</strong> permite tamanhos de arquivos de imagem menores, que são enviados mais rapidamente.O <strong>Espaço reservado para imagens de baixa qualidade (LQIP)</strong> dá às suas imagens uma aparência mais agradável à medida que elas são carregadas tardiamente.A <strong>Otimização de páginas</strong> otimiza os estilos e os elementos visuais da página, para um carregamento mais rápido.O <strong>CSS único (UCSS)</strong> remove definições de estilo não usadas, para acelerar o carregamento geral da página.As <strong>imagens da janela de visualização (VPI)</strong> fornecem uma visualização completamente carregada e bem polida acima da dobra.Um "Limpar tudo" será executado quando o WordPress executar esses ganchos.Não é necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Apenas os recursos básicos de cache estão ativados.É necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Ativa o nível máximo de otimizações, para melhorar as pontuações de velocidade da página.É necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Inclui muitas otimizações conhecidas por melhorar as pontuações de velocidade da página.É necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Inclui otimizações conhecidas por melhorar a pontuação do site em ferramentas de medição de velocidade da página.Um TTL de 0 indica para não armazenar em cache.É feito um backup de cada imagem antes de ser otimizada.TTL do cache AJAXAPIAPI: Filtro %s disponível para desativar a lista de bloqueio.API: Constante PHP %s disponível para desativar a lista de bloqueio.Arquivo AVIF reduzido em %1$s (%2$s)%s economizado em AVIFAcelere, otimize e protejaAcelera a velocidade ao armazenar em cache o Gravatar (Avatares Reconhecidos Globalmente).AtivarAdicionar tamanhos ausentesAdicionar novo URL de CDNAdicionar novo cookie para simularAdicionar à lista de bloqueioAdicionando estilo às suas imagens carregadas de forma lentaApenas IP do AdminIPs de administradorAvançadoAvançado (recomendado)Configurações avançadasO nível avançado irá registrar mais detalhes.DepoisApós o servidor de otimização de imagens QUIC.cloud concluir a otimização, ele notificará o seu site para recuperar as imagens otimizadas.Após verificar que o cache funciona de forma geral, teste o carrinho.AgressivoO alias está sendo usado por outra conta QUIC.cloud.Todas as filas de serviço QUIC.cloud foram limpas.Todos os transientesTodas as categorias são armazenadas em cache por padrão.Todas as páginasTodas as páginas com o widget de posts recentesTodas as tags são armazenadas em cache por padrão.Permite que os IPs listados (um por linha) executem certas ações a partir de seus navegadores.Já armazenado em cacheSempre limpar tanto o produto quanto as categorias em caso de alterações na quantidade ou status do estoque.Um segundo parâmetro opcional pode ser usado para especificar o controle de cache. Use um espaço para separarAnexar a string de consulta %s aos recursos para ignorar esta ação.Aplicada a predefinição %1$s %2$sAplicar predefiniçãoTem certeza de que deseja excluir todos os itens existentes na lista de bloqueio?Tem certeza de que deseja remover todas as imagens otimizadas?Tem certeza de que deseja limpar todos os nós na nuvem?Tem certeza de que deseja se desconectar do QUIC.cloud? Isso não irá remover nenhum dado do painel do QUIC.cloud.Tem certeza de que deseja redetectar o servidor em nuvem mais próximo para este serviço?Tem certeza de que deseja remover todos os backups de imagens?Tem certeza de que deseja redefinir todas as configurações para as configurações padrão?Carregamento assíncrono de CSS com CSS críticoAnexar informações do PHP ao relatório. Marque esta caixa para inserir dados relevantes de %s.Arquivo do autorRascunhos automáticosRegras automáticas de limpeza para Publicar/AtualizarCron de solicitação automáticaRedimensionamento automático de imagens originaisCarregamento automáticoEntradas do carregamento automáticoTamanho do carregamento automáticoLista principal do carregamento automáticoA geração automática de CSS crítico é realizada em segundo plano por meio de uma fila baseada em cron.A geração automática de CSS único é feita em segundo plano por meio de uma fila baseada em cron.Atualização automáticaAtivar automaticamente o pré-carregamento de DNS para todos os URLs no documento, incluindo imagens, CSS, JavaScript e assim por diante.Gerar automaticamente LQIP em segundo plano através de uma fila baseada em cron.Remover automaticamente os backups das imagens originais após buscar as imagens otimizadas.Substituir automaticamente imagens grandes por versões em escala.Solicitar otimização automática por meio de tarefa cron.Disponível após %d segundosLista de avatares na fila aguardando atualizaçãoCaminho .htaccess do painelControle do monitoramento de atividade (heartbeat) do painelTTL do monitoramento de atividade (heartbeat) do painelBackup criado %1$s antes de aplicar a predefinição %2$sBásicoMarcador de posição básico de imagemAntesO melhor desempenho disponível para WordPressO melhor desempenho disponível para WordPress, TTFB globalmente rápido, configuração fácil e %smuito mais%s!Teste betaLista de bloqueioLista de bloqueioLista de bloqueio por não ser armazenável em cacheAmbos %1$s e %2$s são aceitáveis.Podem ser usados URLs completos e strings parciais.Podem ser usadas strings completas e parciais.NavegadorCache do navegadorConfigurações de cache do navegadorTTL do cache do navegadorO cache do navegador armazena localmente arquivos estáticos no navegador do usuário. Ative essa configuração para reduzir as solicitações repetidas de arquivos estáticos.Por padrão, um marcador de posição de imagem em cinza %s será usado.Por padrão, as páginas "Minha conta", "Finalização de compra" e "Carrinho" são automaticamente excluídas do cache. Uma má configuração das associações de páginas nas configurações do WooCommerce pode fazer com que algumas páginas sejam erroneamente excluídas.Por padrão, esta opção pode fornecer conteúdo obsoleto. Não ative esta opção se isso não for ACEITÁVEL para você.CCSS por URLLista de permissões do seletor de CCSSCDNCDN - DesativadaCDN - AtivadaCDN - não disponível para usuários anônimosLargura de banda do CDNConfigurações de CDNURL do CDNURL do CDN a ser usado. Exemplo: %sCombinação de CSS e JSCombinar CSSCombinar CSS externo e embutidoExclusões de CSSMinificar CSSConfigurações de CSSMinificação de CSS, JS e HTMLCache de CSS/JSCacheCache da barra de administraçãoCache do formulário de comentáriosCache de comentaristasConfigurações de controle de cacheEncontrado no cacheCache de usuários conectadosCache da página de acessoNão encontrado no cacheCache móvelCache da API RESTStatus do cacheCache do WP-AdminA chave de cache deve ser um número inteiro ou uma string não vazia, foi fornecido %s.A chave de cache não deve ser uma string vazia.Solicitações de cache feitas por chamadas à API REST do WordPress.Armazena em cache o bloco ESI da barra administrativa integrada.Armazena em cache o bloco ESI do formulário de comentários integrado.Armazena em cache todo o seu site, inclusive o conteúdo dinâmico e os blocos <strong>ESI</strong>.Calcular espaço em disco para backupsCalcular o armazenamento de imagem originalBackups calculados.Não é possível criar a pasta: %1$s. Erro: %2$sCancelarCategoriaO arquivo de certificado ou chave não existe.Configuração alterada.As alterações nesta configuração não se aplicam aos LQIPs já gerados. Para generar novamente os LQIPs existentes, primeiro %s no menu da barra de administração.Verificar statusVerifique meu endereço IP público emVerifique o status das suas configurações mais importantes e a integridade da configuração do CDN aqui.Marque esta opção para usar a configuração do site principal para todos os subsites.Escolha os tamanhos de imagens a serem otimizados.Limpar tudoLimpar mapa do rastreadorLimpar dados não concluídosLimpar todos os rascunhos automáticos salvosLimpar todos os registros de metadados de posts órfãosLimpar todas as revisões de postsLimpar todos os comentários de spamTudo limpo.Limpar todos os trackbacks e pingbacksLimpar todas as opções de transientesTodos os transientes foram limpos.Limpar todos os comentários da lixeiraLimpar todos os posts e páginas da lixeiraRascunhos automáticos limpos.Limpar opções de transientes expiradosTransientes expirados limpos.Metadados de posts órfãos limpos.Revisões de posts limpas.Limpar revisões com mais de %1$s dia(s), excluindo as %2$s revisões mais recentesComentários de spam limpos.Trackbacks e pingbacks limpos.Comentários excluídos limpos.Posts e páginas excluídas limpos.Todos os arquivos CSS críticos foram limpos.Todos os arquivos do Gravatar foram limpos.Todos os arquivos LQIP foram limpos.Todos os arquivos CSS únicos foram limpos.Todos os dados da VPI foram limpos.Todas as entradas de recursos localizadas foram limpas.Dados não concluídos limpos.LimparLimpar o cache do %s quando “Limpar tudo” for executado.Limpar cache do CloudflareLimpar registrosForam limpas %1$s imagens inválidas.Limpa todas as entradas de cache relacionadas a este site, incluindo outras aplicações web.Clique aqui para continuar.Clique aqui para definir.Clique para limpar todos os nós para uma nova redetecção.Clique para copiarClique para alternar para a versão otimizada.Clique para alternar para a versão original (não otimizada).Fechar pop-upErro na nuvemO servidor em nuvem recusou a solicitação atual devido a limitação de taxa. Tente novamente mais tarde.O servidor em nuvem recusou a solicitação atual devido a imagens não recuperadas. Obtenha as imagens primeiro.CloudflareAPI CloudflareA API do Cloudflare está definida como desativada.Cache do CloudflareDomínio do CloudflareConfigurações do CloudflareZona do CloudflareRecolher strings de consultaCombinar arquivos CSS e código CSS embutido.Combinar todos os arquivos JS locais em um único arquivo.Comentários são suportados. Comece uma linha com um %s para transformá-la em uma linha de comentário.A comunicação com o Cloudflare foi bem-sucedida.Parabéns! Seu arquivo já foi otimizadoParabéns! O %s configurou este domínio para os serviços on-line anônimos.Parabéns! O %s definiu este domínio para os serviços on-line com o serviço de CDN.Parabéns! O %s configurou este domínio para os serviços on-line.Parabéns, todos reunidos!Data da conexão:Teste de conexãoRede de distribuição de conteúdo (CDN)Serviço de rede de distribuição de conteúdo (CDN)Converter para InnoDBConvertido para InnoDB.Nome do cookieSimulação de cookieValores de cookiesCopiar registroNão foi possível encontrar %1$s em %2$s.Intervalo de rastreamentoRastreadorCron do rastreadorConfigurações gerais do rastreadorRegistro de rastreamentoStatus do rastreadorO rastreador foi desativado pelo administrador do servidor.A lista de rastreadores desativados foi limpa! Todos os rastreadores estão ativos! Rastreador(es)Os rastreadores não podem ser executados simultaneamente. Se o cron e uma execução manual forem iniciados em horários semelhantes, o primeiro a ser iniciado terá prioridade.Crie um post e certifique-se de que a página inicial esteja correta.Criado com ❤️ pela equipe LiteSpeed.Os créditos não são suficientes para prosseguir com a solicitação atual.CSS críticoRegras de CSS críticoNome do cronConteúdo atual de %sNós de nuvem em serviço atualmenteO servidor em nuvem mais próximo atual é %s. Clique para redetectar.O rastreador atual iniciou emPosição atual do ID do post da imagemO limite atual éCarga atual do servidorA hora atual do servidor é %s.O rastreamento atual do sitemap começou emO status atual é %1$s desde %2$s.O status atual é %s.Rastreador ativo atualmenteNo momento, definido como %sNo momento, usando a versão otimizada do arquivo AVIF.Atualmente usando a versão otimizada do arquivo WebP.Atualmente usando a versão otimizada do arquivo.No momento, usando a versão original (não otimizada) do arquivo AVIF.Atualmente usando a versão original (não otimizada) do arquivo WebP.Atualmente usando a versão original (não otimizada) do arquivo.Sitemap personalizadoConfigurações de otimização do banco de dadosPré-conexão de DNSPré-carregamento de DNSControle de pré-carregamento de DNSPré-carregamento de DNS para arquivos estáticosArquivo diárioPainelBanco de dadosOtimizador de banco de dadosResumo do banco de dadosConversor de mecanismo de tabela de banco de dadosBanco de dados a ser usadoDia(s)DesativarDesativar o LiteSpeed CacheDesativar pluginAuxiliares de depuraçãoNível de depuraçãoRegistro de depuraçãoConfigurações de depuraçãoExclusões de string de depuraçãoExclusões de URI de depuraçãoInclusões de URI de depuraçãoPadrãoCache padrãoTTL padrão do feedTTL padrão da página inicialTTL padrão da página de código de status HTTPTempo de vida padrão do objetoTTL padrão de cache privadoTTL padrão de cache públicoTTL padrão da RESTTTL (Tempo de Vida) padrão para objetos em cache.O caminho padrão éA porta padrão para %1$s é %2$s.Valor padrãoAdiadoAdiar até que a página seja analisada ou atrasar até a interação, pode ajudar a reduzir a contenção de recursos e melhorar o desempenho, causando um FID (métrica do Core Web Vitals) mais baixo.Atrasar a renderização de elementos HTML fora da tela pelo seletor.AtrasadoExcluir todos os backups das imagens originaisOferece cobertura global com uma <strong>rede crescente de mais de 80 PoPs</strong>.Remover todos os dados de otimizaçãoTodos os dados de otimização foram removidos.Determina como as alterações na quantidade de produtos e no status de estoque dos produtos afetam as páginas de produtos e suas páginas de categoria associadas.Modo de desenvolvimentoO modo de desenvolvimento será desativado automaticamente após três horas.O modo de desenvolvimento será automaticamente desativado em %s.DesativarDesativar todos os recursosDesativar todos os recursos por 24 horasDesativar cacheDesativar carregamento lento de imagensDesativar VPIDesative o intervalo do monitoramento de atividade (heartbeat) do WordPress para reduzir a carga no servidor.Desative esta opção para gerar CCSS por tipo de post em vez de por página. Isso pode economizar uma quantidade significativa de cota de CCSS, porém pode resultar em estilos CSS incorretos se o seu site usar um construtor de páginas.DesativadoArquivo AVIF desativado.Arquivo WebP desativado.Desativar isso pode fazer com que as tarefas do WordPress acionadas por AJAX parem de funcionar.Desativar esta opção pode afetar negativamente o desempenho.Desconectar do QUIC.cloudDispensarDispensar esta notificaçãoDispensar esta notificação.Não armazenar categorias em cacheNão armazenar cookies em cacheNão armazenar grupos em cacheNão armazenar strings de consulta em cacheNão armazenar funções em cacheNão armazenar tags em cacheNão armazenar URIs em cacheNão armazenar agentes de usuário em cacheNão limpar categorias em caso de alterações na quantidade ou status do estoque.Não mostrar isso novamenteDomínioDesaconselhamos a reversão de versão. Pode causar erros fatais devido ao código reestruturado.Remover string de consultaESINonces ESIConfigurações ESIESI permite que você designe partes da sua página dinâmica como fragmentos separados, que são então montados para criar a página inteira. Em outras palavras, o ESI permite que você "abra espaços" em uma página e, em seguida, preencha esses espaços com conteúdo que pode ser armazenado em cache de forma privada, armazenado em cache publicamente com seu próprio tempo de vida (TTL) ou não armazenado em cache de forma alguma.Exemplo de ESI para desenvolvedoresMonitoramento de atividade (heartbeat) do editorTTL do monitoramento de atividade (heartbeat) do editorElementos com o atributo %s no código HTML serão excluídos.Elementos com o atributo %s no código HTML serão excluídos.Endereço de e-mailEsvaziar todo o cacheEsvaziar lista de bloqueiosAtivar todos os recursosAtivar cacheAtivar ESIAtivar o CDN do QUIC.cloudAtivar os serviços do QUIC.cloudAtivar os serviços do QUIC.cloudAtivar a geração automática de imagens na janela de visualização (viewport) via cron.Ativar a substituição de WebP/AVIF em elementos %s que foram gerados fora da lógica do WordPress.Ative esta opção se você estiver usando tanto HTTP quanto HTTPS no mesmo domínio e estiver percebendo irregularidades no cache.AtivadoArquivo AVIF ativado.Arquivo WebP ativado.A ativação do LiteSpeed Cache para WordPress aqui ativa o cache para a rede.Motivo do términoMecanismoDigite o endereço IP deste site para permitir que os serviços em nuvem chamem diretamente o IP em vez do nome de domínio. Isso elimina a sobrecarga de consultas DNS e CDN.Erro: Falha ao aplicar as configurações %1$sEssenciaisA cada 15 minutosTudo do Avançado, e maisTudo do Agressivo, e maisTudo do Básico, e maisTudo do Essenciais e maisExemploExemplo de caso de uso:Exemplos de casos de teste incluem:Excluir caminhoConfigurações de exclusãoExclusõesTransientes expiradosExportarExportar configuraçõesExtremoReprovadoFalha ao fazer backup do arquivo %s, alterações abortadas.Falha ao se comunicar com o CloudflareFalha ao se comunicar com o servidor QUIC.cloudFalha ao criar a tabela Avatar. Siga as <a %s>Diretrizes de criação de tabela no Wiki do LiteSpeed</a> para concluir a configuração.Falha ao criar a tabela %1$s! SQL: %2$s.Falha ao detectar o IPFalha ao obter o conteúdo do arquivo %s.Falha ao coletar os dados de eco da WPAPIFalha ao analisar o status de ativação do %s.Falha ao solicitar através do WordPressFalha ao sincronizar as listas do modo visitante.Falha ao atualizar.Falha ao validar os dados de ativação do %s.Falha ao gravar em %s.Uso de fila rápidaO arquivo %s não é gravável.O nome do arquivo está vazio!ArquivosFiltro %s disponível para geração de UCSS por tipo de página.Filtro %s disponível para alterar o limite.O filtro %s é suportado.A pasta não existe: %sA pasta não é gravável: %s.Otimização de exibição de fontePara URLs com curingas, pode haver um atraso na inicialização da limpeza agendada.Por exemploPor exemplo, %1$s define um TTL de %2$s segundos para %3$s.Por exemplo, %s pode ser usado para um marcador de posição transparente.Por exemplo, para %1$s, %2$s e %3$s podem ser usados aqui.Por exemplo, para %1$s, %2$s pode ser usado aqui.Por exemplo, se cada página no site tiver uma formatação diferente, digite %s na caixa. Arquivos CSS críticos separados serão armazenados para cada página no site.Por exemplo, para remover parâmetros começando com %1$s, %2$s pode ser usado aqui.Por esse motivo, teste o site para garantir que tudo continue funcionando corretamente.Forçar cache de URIsForçar URIs de cache públicoForçar cronArmazenamento em cache forçadoCota mensal gratuita disponível.Cota mensal gratuita disponível. Também pode ser usado anonimamente (não é necessário e-mail).Página principalCaminho do .htaccess da interfaceControle do monitoramento de atividade (heartbeat) da interfaceTTL do monitoramento de atividade (heartbeat) da interfaceGeralConfigurações geraisGerar LQIP em segundo planoGerar link para o usuário atualGerar UCSSGerar uma cópia de cache variável separada para o mini carrinho quando o carrinho não estiver vazio.Gerado em %sOs links gerados podem ser gerenciados em %sConfigurações%s.Adquira em %s.Chave de API global / Token de APIGrupos globaisTTFB globalmente rápido, configuração fácil e %s!Acessar o painel do QUIC.cloudIr para a lista de pluginsBoas notícias do servidor QUIC.cloudO Google reCAPTCHA será automaticamente ignorado.Cache do GravatarCron de cache do GravatarTTL do cache do GravatarGrupos armazenados em cache no nível da rede.VisitanteModo visitanteStatus da sincronização de IP/UA do modo visitanteExclusões de JS no modo visitanteModo de visitante e otimização de visitantesFalha ao testar o modo visitante.Modo visitante sincronizado.O modo visitante foi aprovado no teste.O modo visitante fornece uma página de destino sempre passível de ser armazenada em cache para a primeira visita automatizada de um visitante e, em seguida, tenta atualizar o cache de forma variada por meio do AJAX.Resultado do teste do modo visitanteOtimização de visitantesAtributo HTML para substituirManter comentários em HTMLSeletores de carregamento tardio HTMLMinificar HTMLConfigurações de HTMLApenas fontes HTTPS.HeartbeatControle de monitoramento de atividade (heartbeat)Cache de página de alto desempenho e otimização de site da LiteSpeedTTL mais altoHistóricoEncontradoPágina inicialServidorComo corrigir problemas causados pela otimização de CSS/JS.No entanto, não há maneira de saber todas as possíveis personalizações que foram implementadas.O arquivo .htaccess não correspondeu à opção de configuração.A regra .htaccess é: %sJá deixei uma avaliaçãoSe %1$s for %2$s, então %3$s deve ser preenchido!Se ATIVADO, uma cópia obsoleta de uma página em cache será mostrada aos visitantes até que uma nova cópia em cache esteja disponível. Isso reduz a carga do servidor para visitas subsequentes. Se DESATIVADO, a página será gerada dinamicamente enquanto os visitantes esperam.Se o comentário a ser mantido for do tipo: %1$s escrever: %2$sSe todas as aplicações web usarem o mesmo cookie, o servidor pode ficar confuso sobre se um usuário está conectado ou não.Caso contrário, verifique a configuração na aba %sAvançado%s.Se apenas o site WordPress deve ser limpo, use "Limpar tudo".Se definido como %1$s, antes que o marcador de posição seja localizado, a configuração %2$s será usada.Se definido como %s, isso é feito em primeiro plano, o que pode retardar o carregamento da página.Se o nome da categoria não for encontrado, a categoria será removida da lista ao salvar.Se o cookie de acesso foi alterado recentemente nas configurações, desconecte e volte a acessar.Se o slug da tag não for encontrado, a tag será removida da lista ao salvar.Se houver alguma dúvida, a equipe sempre terá prazer em responder às perguntas no %sfórum de suporte%s.Se isso for definido como um número menor que 30, os feeds não são armazenados em cache.Se estiver usando o OpenLiteSpeed, o servidor deve ser reiniciado uma vez para que as alterações tenham efeito.Se você estiver usando um soquete %1$s, %2$s deve ser definido como %3$sSe você usou a otimização de imagens, primeiro %sexclua todos os dados de otimização%s. OBSERVAÇÃO: isso não remove suas imagens otimizadas.Se você encontrar algum problema, consulte o número do relatório em sua mensagem de suporte.Se você DESATIVAR qualquer uma das configurações acima, remova os tipos de arquivo relacionados da caixa %s.Se você preferir não se mover na velocidade da luz, pode desativar este plugin.Se o seu site contém conteúdo público que determinadas funções de usuário podem ver, mas outras não, você pode especificar um "Grupo de variação" para essas funções de usuário. Por exemplo, especificar um grupo de variação para administradores permite que haja uma página separada publicamente armazenada em cache, adaptada para administradores (com links de "editar", etc.), enquanto todas as outras funções de usuário veem a página pública padrão.Se o seu tema não usa JavaScript para atualizar o mini carrinho, você deve ativar esta opção para exibir o conteúdo correto do carrinho.Iframes que contenham esses nomes de classes não serão carregados tardiamente.Iframes que tenham esses nomes de classes principal não serão carregados tardiamente.Ignorar determinadas strings de consulta ao armazenar em cache. (Requer LSWS %s)Informações de imagensOtimização de imagemConfigurações de otimização de imagemResumo da otimização de imagensTamanhos dos grupos de miniaturas de imagensTotal de grupos de imagensImagens recuperadasImagens que contenham esses nomes de classes não serão carregadas tardiamente.Imagens que tenham esses nomes de classes principal não serão carregadas tardiamente.Imagens não solicitadasImagens notificadas a serem recuperadasImagens otimizadas e recuperadasImagens prontas para solicitarImagens solicitadasAs imagens serão recuperadas automaticamente se a tarefa cron estiver em execução.ImportarImportação/exportaçãoImportar configuraçõesA importação falhou devido a um erro no arquivo.Arquivo de configuração %s importado.Melhorar a compatibilidade HTTP/HTTPSMelhore a velocidade do wp-admin por meio de cache. (Pode encontrar dados expirados)Melhorado porPara evitar um erro de atualização, você deve estar usando %1$s ou posterior antes de poder atualizar para versões %2$s.Para usar os serviços do QC, é necessário um nome de domínio real; não é possível usar um IP.Para usar a maioria dos serviços do QUIC.cloud, você precisa de uma cota. O QUIC.cloud oferece cota gratuita todos os meses, mas se você precisar de mais, pode comprá-la.Incluir CSSIncluir tipos de arquivosIncluir imagensIncluir JSIncluir CSS externo e CSS embutido no arquivo combinado quando %1$s também estiver ativado. Esta opção ajuda a manter as prioridades do CSS, o que deve minimizar possíveis erros causados pela combinação de CSS.Inclua JS externo e JS embutido no arquivo combinado quando %1$s também estiver ativado. Esta opção ajuda a manter as prioridades de execução de JS, o que deve minimizar possíveis erros causados pela combinação de JS.Diretórios incluídosBiblioteca assíncrona de CSS embutidoCSS embutido adicionado para combinarJS embutido adicionado para combinarUse UCSS embutido para reduzir o carregamento extra de arquivos CSS. Esta opção não será ativada automaticamente para páginas %1$s. Para usá-la em páginas %1$s, defina como ATIVADO.InstalarInstalar %sInstalar o DoLogin SecurityInstalar agoraClique instantâneoIP inválidoCookie de acesso inválido. Encontrados caracteres inválidos.Cookie de acesso inválido. Verifique o arquivo %s.Regra de reescrita inválidaÉ ALTAMENTE recomendável que a compatibilidade com outros plugins em um único ou alguns sites seja testada primeiro.Será convertido em um marcador de posição SVG em base64 sob demanda.Combinar JSCombinar JS externo e embutidoAdiar JS para JS externo e embutidoExclusões de JS adiado/atrasadoJS atrasadoInclusões de JS atrasadosExclusões de JSMinificar JSConfigurações de JSErros de JS podem ser encontrados no console do desenvolvedor do navegador clicando com o botão direito e escolhendo "Inspecionar".Junte-se à comunidade do LiteSpeed no SlackJunte-se a nós no SlackJunte-se à comunidade %s.Mantenha isso desativado para usar marcadores de posição de cor sólida.LQIPCache de LQIPGerador de LQIP na nuvemExclusões de LQIPDimensões mínimas do LQIPQualidade do LQIPPré-visualização de imagem LQIP para tamanho %sNão serão enviadas solicitações de LQIP para imagens cuja largura e altura sejam ambas menores que essas dimensões.LSCacheAs funções de cache do LSCache nesta página estão atualmente indisponíveis!Um número maior gerará um marcador de posição de maior qualidade de resolução, mas resultará em arquivos maiores que aumentarão o tamanho da página e consumirão mais pontos.Maior queÚltima recuperaçãoÚltima extraçãoData do último relatórioNúmero do último relatórioÚltima solicitaçãoÚltimo cálculoTempo da última execução completa de todos os rastreadoresÚltimo rastreamentoÚltimo rastreamento:Última exportaçãoÚltima geradaÚltima geração: %sÚltima importaçãoÚltimo intervaloÚltima recuperação iniciada pelo cron às %s.Última execuçãoCusto da última solicitação.Última solicitação: %sExclusões do nome de classe de iframes para carregamento tardioExclusões do nome de classes principal de iframes para carregamento tardioCarregamento tardio de iframesExclusões de nome de classe de imagem para carregamento tardioExclusões de imagens para carregamento tardioExclusões do nome de classe principal da imagem para carregamento tardioCarregamento tardio de imagensExclusões de URI para carregamento tardioCarregamento tardio para iframesCarregamento tardio para imagensSaber maisSaiba mais sobre o QUIC.cloudSaber maisSaiba mais sobre quando isso é necessárioSaiba mais ou compre cotas adicionais.Vincular e ativar o CDN do QUIC.cloudVincular ao QUIC.cloudVinculado ao ambiente de pré-visualização do QUIC.cloud, apenas para fins de teste.Lista de agentes de usuários móveisListe os tipos de post nos quais cada item desse tipo deve ter seu próprio CCSS gerado.Liste os seletores CSS, cujos estilos devem sempre ser incluídos no CCSS.Liste os seletores CSS, cujos estilos devem sempre ser incluídos no UCSS.Os arquivos CSS listados ou o código CSS embutido não serão minificados ou combinados.Os arquivos CSS listados serão excluídos do UCSS e salvos de forma embutida.Os arquivos JS listados ou o código JS embutido serão atrasados.Os arquivos JS listados ou o código JS embutido não serão adiados ou atrasados.Os arquivos JS listados ou o código JS embutido não serão minificados ou combinados.Os arquivos JS listados ou o código JS embutido não serão otimizados pelo %s.O URI listado não irá gerar UCSS.As imagens listadas não serão carregadas tardiamente.LiteSpeed CacheCDN do LiteSpeed CachePredefinições de configuração do LiteSpeed CacheRastreador do LiteSpeed CachePainel do LiteSpeed CacheOtimização do banco de dados do LiteSpeed CacheConfigurações gerais do LiteSpeed CacheOtimização de imagens do LiteSpeed CacheConfigurações de cache em rede do LiteSpeed CacheLiteSpeed Cache OptimaXOtimização de páginas do LiteSpeed CacheLimpar tudo no LiteSpeed CacheConfigurações do LiteSpeed CachePredefinições padrão do LiteSpeed CacheCaixa de ferramentas do LiteSpeed CacheVisualização do LiteSpeed Cache .htaccessO LiteSpeed Cache está desativado. Esta funcionalidade não irá funcionar.O LiteSpeed Cache está temporariamente desativado até: %s.O plugin de cache do LiteSpeed está instalado!Cron do rastreador LiteSpeedRegistros do LiteSpeedOtimização LiteSpeedRelatório do LiteSpeedLiteSpeed TechnologiesLiteSpeed Web ADCLiteSpeed Web ServerO plugin de cache do LiteSpeed foi atualizado. Atualize a página para concluir a atualização dos dados de configuração.Carregar CSS de forma assíncronaCarregar Google Fonts de forma assíncronaCarregar JS de forma adiadaCarregar iframes apenas quando entrarem na janela de visualização (viewport).Carregar imagens apenas quando entrarem na janela de visualização (viewport).LocalizaçãoArquivos de localizaçãoConfigurações de localizaçãoLocalizar recursosLocalizar recursos externos.Recursos localizadosLimite de tamanho do arquivo de registroVisualização de registrosCookie de acessoMarcador de posição de imagem de baixa qualidadeMBGerenciarAdicionado manualmente à lista de bloqueiosExecutar manualmenteMapaMarcar esta página como ID máximo do post da imagemValor máximoTalvez mais tardeTalvez mais tardeExclusões de mídiaConfigurações de mídiaMensagem do servidor QUIC.cloudMétodoMinificar arquivos CSS e código CSS embutido.Minificar conteúdo HTML.Minificar arquivos JS e códigos JS embutidos.Valor mínimoNão encontradoDispositivo móvelRegras do Mobile AgentCache para dispositivos móveisArquivo mensalMaisMais informações sobre os comandos disponíveis podem ser encontradas aqui.Mais configuraçõesMais configurações disponíveis no menu %sMeu painel do QUIC.cloudOBSERVAÇÃOOBSERVAÇÃO: A CDN do QUIC.cloud e a Cloudflare não usam o mapeamento de CDN. Se você estiver usando apenas o QUIC.cloud ou a Cloudflare, deixe esta configuração como %s.NOTIFICAÇÃONOTIFICAÇÃO:NOTIFICAÇÃO: O cookie de acesso do banco de dados não corresponde ao seu cookie de acesso.Painel de redeAtivar cache de redeNova versão para desenvolvedores disponível!Nova versão disponível!A nova versão para desenvolvedores %s já está disponível.Nova versão %s está disponível agora.NotíciasFormato de imagem de última geraçãoNenhum nó da nuvem disponível após verificar a carga do servidor.Nenhum nó da nuvem disponível.Nenhuma zona Cloudflare disponívelNão há backup do arquivo original.Não existe nenhum backup do arquivo AVIF não otimizado.Não há backup do arquivo WebP não otimizado.Nenhum serviço em nuvem em uso no momentoNenhum arquivo de metadados do rastreador foi gerado aindaNenhum campoSem otimizaçãoNenhum tamanho encontrado.Nenhuma imagem válida encontrada pelo servidor em nuvem na solicitação atual.Nenhuma imagem válida encontrada na solicitação atual.Nenhum sitemap válido analisado pelo rastreador.Nó:Não armazenável em cacheNão disponívelNão está na lista de bloqueioParâmetros insuficientes. Verifique se a conexão com o QUIC.cloud está definida corretamenteObservaçãoObservaçõesNotificaçãoNotificaçõesO Cloudflare foi notificado para limpar tudo.O Cloudflare foi notificado para definir o modo de desenvolvimento para %s.Servidor Web LiteSpeed notificado para limpar entradas CSS/JS.Servidor Web LiteSpeed ​​notificado para limpar todas as entradas LSCache.Servidor Web LiteSpeed notificado para limpar todas as páginas.Servidor Web LiteSpeed notificado para limpar páginas de erro.O LiteSpeed Web Server foi notificado para limpar tudo com sucesso.Servidor Web LiteSpeed ​​notificado para limpar a página inicial.O LiteSpeed Web Server foi notificado para limpar a lista com sucesso.DESATIVADOATIVADOO OPcache não está ativado.O OPcache está restrito pela configuração %s.OUObjetoCache de objetosConfigurações de cache de objetosO cache de objeto não está ativado.Oferece um <strong>serviço de DNS integrado</strong> opcional para simplificar a integração com o CDN.Ao desinstalar, todas as configurações do plugin serão excluídas.Depois de salvo, ele será correspondido com a lista atual e preenchido automaticamente.Uma ou mais imagens recuperadas não correspondem à imagem notificada com o md5Um(a) por linha.Serviços on-lineO nó on-line precisa ser detectado novamente.Apenas os atributos listados aqui serão substituídos.Disponível apenas quando %s está instalado.Apenas arquivos dentro destes diretórios serão apontados para o CDN.Registrar apenas as páginas listadas.Otimizar apenas as páginas para visitantes em modo visitante (não conectados). Se DESATIVADO, os arquivos CSS/JS/CCSS serão duplicados para cada grupo de usuários.Pressione o botão apenas se a tarefa cron de recuperação estiver desativada.Cache de OpcodeOpenLiteSpeed Web ServerUsuários do OpenLiteSpeed, verifiquem issoOperaçãoOptimaXConfigurações do OptimaXResumo do OptimaXStatus de otimizaçãoResumo da otimizaçãoFerramentas de otimizaçãoOtimizar a entrega de CSS.Otimizar tamanhos de imagensOtimizar sem perda de qualidadeOtimizar imagens originaisOtimizar tabelasOtimizar todas as tabelas em seu banco de dadosOtimizar apenas para visitantesOtimizar imagens e salvar backups das originais na mesma pasta.Otimizar imagens usando compactação sem perda de qualidade.Otimizar imagens com nosso servidor QUIC.cloudTodas as tabelas otimizadas.Nome da opçãoOpcionalOpcional quando um token de API é usado.Opcionalmente, cria arquivos de imagens WebP ou AVIF de última geração.Opções salvas.OriginalOriginal %sEconomizado do original %sURLs originaisArquivo original reduzido em %1$s (%2$s)Metadados de posts órfãosOutroOutro CDN estáticoAs outras caixas de seleção serão ignoradas.Gera uma série de arquivos no diretório %s.Saldo PAYGPAYG usado este mês: %s. Saldo e uso do PAYG (pagamento conforme o uso), não incluídos no cálculo da cota acima.A constante %s do PHP é suportada.Tempo de carregamento da páginaOtimização de páginaPontuação do PageSpeedPáginasBenefícios para parceiros fornecidos porAprovadoSenhaLink sem senhaO caminho deve terminar com %sCaminhos de URI contendo essas strings serão armazenadas em cache independentemente das configurações de não armazenamento em cache.Caminhos de URI contendo essas strings serão forçados a serem armazenados em cache como públicos, independentemente das configurações de não armazenamento em cache.Os caminhos contendo essas strings não serão armazenados em cache.Caminhos contendo essas strings não serão servidos a partir do CDN.Pague conforme o usoEstatísticas de uso do PAYG (Pagamento Conforme o Uso)Conexão persistenteConsidere desativar os seguintes plugins detectados, pois eles podem entrar em conflito com o LiteSpeed Cache:NÃO compartilhe o link sem senha acima com ninguém.Ative o LiteSpeed Cache nas configurações do plugin.Ative o módulo LSCache no nível do servidor ou consulte seu provedor de hospedagem.Certifique-se de que este IP seja o correto para visitar o seu site.Leia todos os alertas antes de ativar esta opção.Consulte %s para mais detalhes.Consulte %sConectando o WP-Cron ao agendador de tarefas do sistema%s para aprender como criar a tarefa cron do sistema.Teste minuciosamente ao ativar qualquer opção nesta lista. Após alterar as configurações de Minificar/Combinar, execute uma ação de "Limpar tudo".Testar minuciosamente todos os itens em %s para garantir que funcionem conforme o esperado.Teste minuciosamente cada arquivo JS que você adicionar para garantir que funcione conforme o esperado.Tente novamente após %1$s para o serviço %2$s.Acesse a página de %sInformações%s para saber como testar o cache.O plugin é muito complicadoPortaPosição: ID do postRevisões de postsArquivo de tipo de postPré-conectar acelera os carregamentos futuros a partir de uma origem específica.A lista predefinida também será combinada com as configurações acimaA lista predefinida também será combinada com as configurações acimaA lista predefinida também será combinada com as configurações acima.O pré-carregamento de DNS pode reduzir a latência para os visitantes.Preservar dados EXIF (direitos autorais, GPS, comentários, palavras-chave, etc) ao otimizar.Preservar dados EXIF/XMPPredefiniçõesPressione o botão %s para interromper os testes beta e voltar para a versão atual no diretório de plugins do WordPress.Pressione o botão %s para usar o commit mais recente do GitHub. Master é para candidato a lançamento e Dev é para testes experimentais.Impedir o carregamento do Google Fonts em todas as páginas.Impedir qualquer registro de depuração das páginas listadas.Impedir qualquer carregamento tardio das páginas listadas.Impedir qualquer otimização das páginas listadas.Impedir a gravação de entradas de registro que incluam strings (cadeias de caracteres) listadas.Solicitação anterior muito recente. Tente novamente após %s.Solicitação anterior muito recente. Tente novamente mais tarde.Existia anteriormente na lista de bloqueiosPrivadoCache privadoURIs em cache privadoCache privadoArmazenar em cache de forma privada os comentaristas que têm comentários pendentes. Desativar esta opção exibirá páginas não armazenáveis para os comentaristas. (Requer LSWS %s)Armazenar em cache de forma privada as páginas de interface para usuários conectados. (Requer LSWS %s)Processa suas imagens PNG e JPG enviadas, para produzir versões menores sem sacrificar a qualidade.O processamento dos formatos de imagem PNG, JPG e WebP é gratuito. O AVIF está disponível mediante uma taxa.Intervalo de atualização do produtoOferece <strong>segurança a nível do CDN</strong>, protegendo seu servidor contra ataques.PúblicoCache públicoO cron de recuperação está em execuçãoRecuperar imagensO MD5 da imagem AVIF extraída, não corresponde ao MD5 da imagem AVIF notificada.A imagem WebP recuperada não corresponde ao md5 da imagem WebP notificada.LimpezaLimpar erro %sLimpar páginas de erro %sLimpar tudoLimpar todos os ganchosLimpar tudo na atualizaçãoLimpar por...Limpar tudoLimpar página inicialLimpar listaLimpar registroLimpar páginasConfigurações de limpezaLimpeza de todos os caches de objetos concluída.Limpar todos os caches de objetosLimpar categorias apenas quando o status do estoque mudar.Limpar categoria %sLimpar páginas por nome de categoria - exemplo: %2$s deve ser usado para o URL %1$s.Limpar páginas por ID de post.Limpar páginas por URL relativo ou completo.Limpar páginas por nome da tag - por exemplo, %2$s deve ser usado para o URL %1$s.Limpar produto e categorias apenas quando o status do estoque mudar.Limpar produto em caso de alterações na quantidade ou status do estoque.Limpar produto apenas quando o status do estoque mudar.Limpar tag %sLimpar as entradas de cache LiteSpeed criadas por este pluginLimpar as entradas de cache criadas por este plugin, exceto os caches de CSS crítico, CSS único e LQIP (Marcador de Imagem de Baixa Qualidade)Limpar esta páginaLimpar URL %sLimpar tudo!Todos os caches foram limpos.Limpar o URL!Limpar o blog!Limpo!Enviado %1$s para o servidor em nuvem, aceito %2$s.QUIC.cloudCDN do QUIC.cloudOpções de CDN do QUIC.cloudVisão geral do status do CDN do QUIC.cloudO CDN do QUIC.cloud não está <strong>disponível</strong> para usuários anônimos (não vinculados).No momento, o CDN do QUIC.cloud está <strong>completamente desativado</strong>.CDN do QUIC.cloud:Integração com o QUIC.cloud desativadaIntegração com o QUIC.cloud ativadaIntegração com o QUIC.cloud ativada com limitaçõesServiços on-line do QUIC.cloudEstatísticas de uso do serviço QUIC.cloudO QUIC.cloud fornece CDN e serviços de otimização on-line, e não é obrigatório. Você pode usar muitos recursos deste plugin sem o QUIC.cloud.O serviço de otimização de imagens do QUIC.cloud faz o seguinte:Os serviços on-line do QUIC.cloud melhoram seu site das seguintes maneiras:Os serviços de otimização de páginas do QUIC.cloud corrigem o inchaço do CSS e melhoram a experiência do usuário durante o carregamento da página, o que pode levar a melhores pontuações de velocidade da página.Parece que o acesso do QUIC.cloud à API REST do WP está bloqueado.As strings de consulta contendo esses parâmetros não serão armazenadas em cache.Classifique o %1$s no %2$sLeia a documentação do LiteSpeedRecomendado para gerar o token a partir do modelo de token da API do Cloudflare "WordPress".Valor recomendado: 28.800 segundos (8 horas).RedetectarNó redetectadoID do banco de dados RedisO Redis encontrou um erro fatal: %1$s (código: %2$d)AtualizarAtualizar mapa do rastreadorAtualizar o cache do Gravatar através do cron.Atualizar o status do QUIC.cloudAtualizar statusAtualizar o usoAtualizar o tempo de carregamento da páginaAtualizar pontuação da páginaGerar novamente e enviar um novo relatórioCota diária restanteRemover URL do CDNRemover Google FontsRemover tags NoscriptRemover backups originaisRemover backups de imagens originaisRemova a integração do QUIC.cloud deste site. Observação: os dados do QUIC.cloud serão preservados, para que você possa reativar os serviços a qualquer momento. Se você quiser remover totalmente seu site do QUIC.cloud, exclua primeiro o domínio através do painel do QUIC.cloud.Remover strings de consultaRemover strings de consulta de arquivos estáticosRemover emojis do WordPressRemover o sinalizador “Desativar todos os recursos” agoraRemover todas as solicitações/resultados anteriores de otimização de imagem, reverter as otimizações concluídas e excluir todos os arquivos de otimização.Remover todas as solicitações anteriores de otimização de imagem não concluídas.Remover simulação de cookiesRemover da lista de bloqueioRemover strings de consulta de recursos estáticos internos.Remoção de CSS não usado para usuáriosBackups removidos.Substitua %1$s por %2$s.RelatórioSolicitar versões WebP/AVIF das imagens originais ao realizar a otimização.Solicitação: %s atrásSolicitações na filaVerificar novamente novas miniaturas%d imagens reexaminadas.Reexaminadas.A ativação do %s foi redefinida.Redefinir todas as configuraçõesRedefinir configuraçõesContador de otimização de imagens redefinido.Redefinir posiçãoRedefinição concluída.Falha ao redefinir o OPcache.Todo o cache OPcache foi redefinido.Redefinir todo o cache de opcodeDados otimizados redefinidos.Os recursos listados aqui serão copiados e substituídos por URLs locais.Marcador de posição responsivoCor do marcador de posição responsivoSVG do marcador de posição responsivoMarcadores de posição de imagens responsivas podem ajudar a reduzir a reorganização do layout quando as imagens são carregadas.Restaurar configuraçõesRestaurar a partir do backupConfigurações de backup restauradas %1$sArquivo original restaurado.Os resultados podem ser verificados na %sBiblioteca de mídia%s.Idade máxima de revisõesNúmero máximo de revisõesRevisões mais recentes do que este número de dias serão mantidas ao limpar as revisões.Exclusões de funçõesSimulação de funçãoExecutar a fila %s manualmenteFrequência de execuçãoExecutar fila manualmenteA frequência de execução é definida pela configuração do intervalo entre as execuções.Tempo de execução do rastreador anteriorExecutandoSINTAXE: alfanumérico e “_”. Sem espaços e diferencia maiúsculas de minúsculas.SINTAXE: alfanumérico e “_”. Sem espaços e diferencia maiúsculas de minúsculas. DEVE SER ÚNICO EM OUTROS APLICATIVOS DA WEB.Salvar alteraçõesSalvar transientes no banco de dados quando %1$s está %2$s.SalvoFalha ao salvar a opção. Apenas IPv4 para %s.Limite de tamanho em escalaVerifique se há novos tamanhos de miniaturas de imagens não otimizadas e reenvie as solicitações de otimização de imagem necessárias.Horário de limpeza agendadaURLs de limpeza agendadaConsulte %sIntrodução para ativar o rastreador%s para informações detalhadas.Selecione "Tudo" se houver widgets dinâmicos vinculados a posts em páginas diferentes da página inicial ou principal.Selecione abaixo as opções de "Limpar por".Selecione apenas os tipos de arquivo usados ​​atualmente; os outros podem ser deixados desmarcados.Selecione quais páginas serão automaticamente limpas quando posts forem publicados/atualizados.As funções selecionadas serão excluídas de todas as otimizações.As funções selecionadas serão excluídas do cache.Os seletores precisam existir no CSS. As classes principais no HTML não irão funcionar.Enviar solicitação de otimizaçãoEnviar este relatório para o LiteSpeed. Faça referência a este número de relatório ao publicar no fórum de suporte do WordPress.Enviar para o LiteSpeedEnviar ao Twitter para receber um bônus de %sSeparar tipos de post para o cache do CCSSSeparar URIs de cache do CCSSArquivos CSS críticos separados serão gerados para os caminhos que contém essas strings.Fornecer conteúdo obsoletoFornece uma cópia de cache separada para visitantes móveis.Sirva todos os arquivos de CSS por meio do CDN. Isso afetará todos os arquivos de CSS WP enfileirados.Sirva todos os arquivos JavaScript por meio do CDN. Isso afetará todos os arquivos JavaScript WP enfileirados.Sirva todos os arquivos de imagem por meio do CDN. Isso afetará todos os anexos, tags HTML %1$s e atributos CSS %2$s.Atenda seus visitantes rapidamenteIP do servidorLimite de carga do servidorValor máximo permitido pelo servidor: %sValor imposto pelo servidor: %sVariável(is) de servidor %s disponível(eis) para substituir esta configuração.Serviço:Defina uma largura e altura explícitas nos elementos de imagem para reduzir deslocamentos de layout e melhorar o CLS (uma métrica do Core Web Vitals).Defina isso para anexar %1$s a todas as regras %2$s antes de armazenar em cache o CSS, especificando como as fontes devem ser exibidas ao serem baixadas.Defina como %1$s para impedir o monitoramento de atividade (heartbeat) em %2$s.Configurando cabeçalhos personalizadosConfiguraçõesReduzir os parâmetros da consulta no registro de depuração para melhorar a legibilidade.Mostrar o status do rastreadorMelhorar significativamente o tempo de carregamento substituindo imagens por suas versões otimizadas em %s.URL do site a ser servido através do CDN. Começando com %1$s. Por exemplo, %2$s.Site não reconhecido. O QUIC.cloud foi desativado automaticamente. Reative sua conta do QUIC.cloud.O desempenho do site está piorLista de sitemapsTotal de sitemapsSitemap limpoSitemap criado: %d itensTamanhoLista de tamanho na fila aguardando o cronMenor queContador de otimização de redefinição suaveAlguns arquivo(s) de imagem otimizada expiraram e foram apagados.Comentários de spamEspecifique uma imagem em base64 para ser usada como marcador de posição simples enquanto as imagens terminam de carregar.Especifique uma ação AJAX em POST/GET e o número de segundos para armazenar em cache esta solicitação, separados por um espaço.Especifique um código de status HTTP e o número de segundos para armazenar em cache esta página, separados por um espaço.Especifique um arquivo SVG para ser usado como marcador de posição ao gerar localmente.Especifique regras de CSS críticas para o conteúdo acima da dobra ao ativar %s.Especifique por quantos segundos o rastreador deve esperar antes de iniciar o rastreamento completo do sitemap novamente.Especificar por quantos segundos os arquivos do Gravatar serão armazenados em cache.Especifique por quanto tempo, em segundos, as chamadas da REST são armazenadas em cache.Especifique por quanto tempo, em segundos, os feeds são armazenados em cache.Especifique por quanto tempo, em segundos, as páginas privadas são armazenadas em cache.Especifique por quanto tempo, em segundos, as páginas públicas são armazenadas em cache.Especifique por quanto tempo, em segundos, a página inicial é armazenada em cache.Especifique o intervalo do monitoramento de atividade (heartbeat) de %s em segundos.Especificar o tamanho máximo do arquivo de registro.Especifique o número de revisões mais recentes a serem mantidas ao limpar as revisões.Especifique a senha usada durante a conexão.Especificar a qualidade ao gerar o "Marcador de Imagem de Baixa Qualidade" (LQIP).Especifique a cor do marcador de posição responsivo em SVG.Especifique a hora para limpar a lista "%s".Especificar quais atributos de elementos HTML serão substituídos pelo mapeamento de CDN.Especificar quais atributos de elementos serão substituídos por WebP/AVIF.Acelere ainda mais seu site WordPress com os <strong>serviços on-line e CDN do QUIC.cloud</strong>.Acelere ainda mais seu site WordPress com os serviços on-line e CDN do QUIC.cloud.Espalhe o amor e ganhe %s créditos para usar em nossos serviços on-line do QUIC.cloud.Predefinições padrãoComece a assistir…Rastreamento assíncrono iniciadoIniciada a solicitação de otimização de imagem assíncronaLinks de tipos de arquivos estáticos a serem substituídos por links de CDN.StatusInterromper o carregamento dos emojis do WordPress.org. Em vez disso, os emojis padrão do navegador serão exibidos.Otimização de armazenamentoArmazenar o Gravatar localmente.Armazenar transientesEnviar um ticketRastreadoResumoFórum de suporteClaro, adoraria fazer uma avaliação!TrocarVoltar a usar imagens otimizadas em seu siteImagens alteradas.Alternado para o arquivo otimizado.Status do QUIC.cloud sincronizado.A sincronização do limite de crédito com o servidor em nuvem foi realizada.Sincronizar dados a partir da nuvemFalha ao sincronizar.Sincronizado.SincronizandoInformações do sistemaTTLTabelaTagIgnorar temporariamente o cache do Cloudflare. Isso permite que as alterações no servidor de origem sejam vistas em tempo real.Arquivo de termos (incluindo categoria, tag e taxonomia)TestandoObrigado por usar o plugin LiteSpeed Cache!A opção de IP do administrador só irá gerar mensagens de registro nas solicitações dos IPs do administrador listados abaixo.O plugin LiteSpeed Cache é usado para armazenar em cache páginas - uma maneira simples de melhorar o desempenho do site.A conexão com o QUIC.cloud não está correta. Tente sincronizar sua conexão com o QUIC.cloud novamente.Os URLs aqui (um por linha) serão automaticamente limpos no horário definido na opção "%s".Os URLs serão comparados à variável de servidor REQUEST_URI.O serviço de imagens na janela de visualização (viewport) detecta quais imagens aparecem acima da dobra e as exclui do carregamento tardio (lazy load).Os nonces acima serão convertidos automaticamente em ESI.O tempo, em segundos, que os arquivos serão armazenados no cache do navegador antes de expirarem.O cache precisa distinguir quem está conectado a qual site do WordPress para armazenar em cache corretamente.A validação de retorno de chamada para seu domínio falhou, devido a uma incompatibilidade de hash.A validação de retorno de chamada para seu domínio falhou. Certifique-se de que não haja nenhum firewall bloqueando nossos servidores.A validação de retorno de chamada para seu domínio falhou. Certifique-se de que não haja nenhum firewall bloqueando nossos servidores. Código de resposta: O cookie definido aqui será usado para esta instalação do WordPress.O recurso de rastreador não está ativado no servidor LiteSpeed. Consulte o administrador do servidor ou o provedor de hospedagem.O rastreador usará seu sitemap XML ou índice de sitemap. Digite o URL completo do seu sitemap aqui.O servidor atual está sobrecarregado.O banco de dados está sendo atualizado em segundo plano desde %s. Esta mensagem desaparecerá assim que a atualização estiver concluída.A desativação é temporáriaO cookie de acesso padrão é %s.O relatório do ambiente contém informações detalhadas sobre a configuração do WordPress.Os recursos abaixo, são fornecidos por %sAs seguintes opções estão selecionadas, mas não são editáveis nesta página de configurações.A configuração de qualidade de compressão de imagem do WordPress em uma escala de 0 a 100.A lista de imagens está vazia.O arquivo de dados mais recente éA lista será mesclada com os nonces predefinidos em seu arquivo de dados local.A carga média máxima permitida no servidor durante o rastreamento. O número de threads do rastreador em uso será reduzido ativamente até que a carga média do servidor caia abaixo desse limite. Se isso não puder ser alcançado com uma única thread, a execução atual do rastreador será encerrada.O administrador da rede selecionou usar configurações do site principal para todos os subsites.A configuração do administrador de rede pode ser substituída aqui.O próximo rastreamento completo do sitemap vai iniciar emA fila é processada de forma assíncrona. Isso pode levar algum tempo.O seletor deve existir no CSS. Classes principais no HTML não funcionarão.O servidor determinará se o usuário está conectado com base na existência deste cookie.O site não é um alias válido no QUIC.cloud.O site não está cadastrado no QUIC.cloud.O usuário com o ID %s tem acesso de editor, o que não é permitido para o simulador de funções.Em seguida, outro WordPress é instalado (NÃO MULTISITE) em %sHá uma instalação do WordPress para %s.Há uma fila de processamento que ainda não foi concluída.Há uma fila de processamento que ainda não foi concluída. Informações da fila: %s.Essas imagens não irão gerar um LQIP (Marcador de Imagem de Baixa Qualidade).Essas opções estão disponíveis apenas com o LiteSpeed Enterprise Web Server ou o CDN QUIC.cloud.Essas configurações são destinadas APENAS PARA USUÁRIOS AVANÇADOS.Uso neste mês: %sEssa ação deve ser usada apenas se as coisas estiverem sendo armazenadas em cache de forma incorreta.Isso também pode ser predefinido em %2$s usando a constante %1$s, com esta configuração tendo prioridade.Isso pode melhorar o tempo de carregamento da página ao reduzir as solicitações HTTP iniciais.Isso pode melhorar a qualidade, mas pode resultar em imagens maiores do que a compactação com perda de qualidade.Isso pode melhorar a velocidade de carregamento da página.Isso pode melhorar sua pontuação de velocidade em serviços como Pingdom, GTmetrix e PageSpeed.Isso permite que o conjunto inicial de imagens da página seja totalmente exibido sem atrasos.Isso é irreversível.Isso é para garantir a compatibilidade antes de ativar o cache para todos os sites.Esta predefinição de baixo risco apresenta otimizações básicas para velocidade e experiência do usuário. Apropriada para iniciantes entusiastas.Isso pode gerar uma grande demanda no servidor.Esta mensagem indica que o plugin foi instalado pelo administrador do servidor.Esta predefinição sem risco é adequada para todos os tipos de sites. É indicada para novos usuários, sites simples ou desenvolvimento orientado para cache.Esta opção pode ajudar a corrigir a variação de cache para certos visitantes avançados de dispositivos móveis ou tablets.Esta opção permite a otimização máxima para visitantes no modo visitante.Esta opção é ignorada porque a opção %1$s é %2$s.Esta opção é ignorada devido à opção %s.Essa opção pode resultar em um erro de JS ou problema de layout em páginas de interface com determinados temas/plugins.Esta opção irá ignorar automaticamente a opção %s.Esta opção irá remover todas as tags %s do HTML.Esta predefinição quase certamente exigirá testes e exclusões para alguns CSS, JS e imagens de carregamento tardio. Preste atenção especial aos logos ou imagens de controle deslizante (sliders) baseados em HTML.Esta predefinição é adequada para a maioria dos sites e é improvável que cause conflitos. Quaisquer conflitos de CSS ou JS podem ser resolvidos com as ferramentas em Otimização de página > Ajuste.Esta predefinição pode funcionar imediatamente em alguns sites, mas certifique-se de testar! Algumas exclusões de CSS ou JS podem ser necessárias em Otimização de página > Ajuste.Esse processo é automático.Essa configuração está %1$s para determinadas solicitações qualificadas devido a %2$s!Essa configuração é útil para aqueles que têm várias aplicações web para o mesmo domínio.Esta configuração irá editar o arquivo .htaccess.Esta configuração irá regenerar a lista do rastreadores e limpar a lista de desativados!Este site utiliza o cache para facilitar um tempo de resposta mais rápido e uma melhor experiência do usuário. O cache potencialmente armazena uma cópia duplicada de cada página da web exibida neste site. Todos os arquivos de cache são temporários e nunca são acessados por terceiros, exceto conforme necessário para obter suporte técnico do fornecedor do plugin de cache. Os arquivos de cache expiram conforme programado pelo administrador do site, mas podem ser facilmente eliminados pelo administrador antes da expiração natural, se necessário. Podemos usar os serviços QUIC.cloud para processar e armazenar em cache temporariamente os seus dados.Este valor é substituído pela variável %s.Este valor é substituído pela configuração de rede.Este valor é substituído pela constante PHP %s.Este valor é substituído pelo filtro.Este valor é substituído pela configuração do site principal.Isso irá limpar apenas a página inicialIsso irá limpar apenas as páginasIsso irá afetar todas as tags que contém os atributos: %s.Isso também adicionará uma pré-conexão ao Google Fonts para estabelecer uma conexão mais cedo.Isso fará backup das suas configurações atuais e as substituirá pelas configurações predefinidas do %1$s. Deseja continuar?Isso irá limpar TODOS os conteúdos do cache.Isso irá excluir todos os arquivos Gravatar em cacheIsso irá excluir todas as imagens geradas na janela de visualizaçãoIsso irá excluir todos os arquivos de CSS crítico geradosIsso irá excluir todos os arquivos de marcador de posição de imagem LQIP geradosIsso irá excluir todos os arquivos de CSS únicos geradosIsso irá excluir todos os recursos localizadosIsso desativará o LSCache e todos os recursos de otimização para fins de depuração.Isso irá desativar a página de configurações em todos os subsites.Isso removerá o CSS não usado em cada página do arquivo combinado.Isso ativará o cron do rastreador.Isso irá exportar todas as configurações atuais do LiteSpeed Cache e salvá-las como um arquivo.Isso irá gerar solicitações adicionais ao servidor, o que aumentará a carga do servidor.Isso gerará o marcador de posição com as mesmas dimensões da imagem se ela tiver os atributos de largura e altura.Isso irá importar configurações de um arquivo e substituir todas as configurações atuais do LiteSpeed Cache.Isso aumentará o tamanho dos arquivos otimizados.Isso irá embutir a biblioteca CSS assíncrona, para evitar o bloqueio de renderização.Isso irá limpar todas as entradas de CSS/JS minificadas/combinadas apenasIsso irá redefinir todas as configurações para as configurações padrão.Esta ação irá redefinir a %1$s. Se você alterou as configurações de WebP/AVIF e quer gerar %2$s para as imagens otimizadas anteriormente, use esta ação.Isso irá restaurar as configurações de backup criadas %1$s antes de aplicar a predefinição %2$s. Quaisquer alterações feitas desde então serão perdidas. Deseja continuar?Tempo para executar a solicitação anterior: %sPara rastrear um cookie específico, digite o nome do cookie e os valores pelos quais deseja rastrear. Os valores devem ser digitados um por linha. Será criado um rastreador para cada valor de cookie, por função simulada.Para rastrear o site como um usuário conectado, digite os IDs de usuário a serem simulados.Para definir um TTL personalizado para um URI, adicione um espaço seguido pelo valor TTL ao final do URI.Para fazer uma correspondência exata, adicione %s ao final do URL.Para ativar a seguinte funcionalidade, ATIVE a API do Cloudflare em "Configurações de CDN".Para excluir %1$s, insira %2$s.Para gerar um link sem senha para acesso à equipe de suporte do LiteSpeed, você deve instalar %s.Para conceder acesso wp-admin à equipe de suporte LiteSpeed, gere um link sem senha para o usuário conectado atualmente ser enviado com o relatório.Para garantir que nosso servidor possa se comunicar com o seu servidor sem problemas e que tudo funcione bem, o número de grupos de imagens permitidos em uma única solicitação é limitado para as primeiras solicitações.Para gerenciar suas opções do QUIC.cloud, acesse o painel do QUIC.cloud.Para gerenciar suas opções do QUIC.cloud, acesse o portal do seu provedor de hospedagem.Para gerenciar suas opções do QUIC.cloud, fale com seu provedor de hospedagem.Para corresponder ao início, adicione %s no início do item.Para impedir que %s sejam armazenados(as) em cache, digite aqui.Para evitar encher o disco, esta configuração deve estar DESATIVADA quando tudo estiver funcionando.Para randomizar o nome do host do CDN, defina vários nomes de host para os mesmos recursos.Para testar o carrinho, acesse as %sperguntas frequentes%s.Para usar as funções de cache, você deve ter um servidor web LiteSpeed ou estar usando o CDN do QUIC.cloud.FerramentaCaixa de ferramentasTotalRedução totalUso totalTotal de imagens otimizadas neste mêsTrackbacks/PingbacksComentários na lixeiraPosts na lixeiraExperimentar a versão do GitHubAjustesAjuste das configurações de CSSConfigurações de ajusteDESATIVARATIVARATIVAR para armazenar em cache as páginas públicas para usuários conectados e servir a barra de administração e o formulário de comentários por meio de blocos ESI. Esses dois blocos não serão armazenados em cache, a menos que estejam ATIVADOS abaixo.ATIVAR para controlar o monitoramento de atividade (heartbeat) no editor do painel.ATIVAR para controlar o monitoramento de atividade (heartbeat) no painel.ATIVAR para controlar o monitoramento de atividade (heartbeat) na interface.Ativar atualização automáticaAtivação do OptimaX. Isso fará com que suas páginas solicitem automaticamente o resultado do OptimaX através da tarefa cron.Deixe esta opção como ATIVADO para que o LiteSpeed Cache seja atualizado automaticamente sempre que uma nova versão for lançada. Se estiver DESATIVADO, atualize manualmente como de costume.ATIVAR esta opção para mostrar automaticamente as últimas notícias, incluindo correções urgentes, novos lançamentos, versões beta disponíveis e promoções.Ative esta configuração %s se você estiver usando uma Rede de Distribuição de Conteúdo (CDN) tradicional ou um subdomínio para conteúdo estático com a CDN do QUIC.cloud.Pré-visualização doTtweetTweetar issoUCSS embutidoArquivos embutidos excluídos do UCSSLista de permissões do seletor UCSSExclusões de URI UCSSExclusões de URICaminhos de URI contendo essas strings NÃO serão armazenados em cache como públicos.URLPesquisa de URLLista de URLs na fila %s aguardando o cronNão é possível adicionar automaticamente %1$s como um alias de domínio para o domínio principal %2$s, devido a um possível conflito com o CDN.Não é possível adicionar automaticamente %1$s como um alias de domínio para o domínio principal %2$s.Regra de cache inesperada %2$s encontrada no arquivo %1$s. Essa regra pode fazer com que os visitantes vejam versões antigas das páginas devido ao cache do navegador de páginas HTML. Se você tem certeza de que as páginas HTML não estão sendo armazenadas em cache no navegador, esta mensagem pode ser ignorada. (%3$sSaiba mais%4$s)CSS únicoErro desconhecidoAtualizar %s agoraAtualizarAtualizado.UsoEstatísticas de uso: %sUse %1$s em %2$s para indicar que esse cookie não foi definido.Use %1$s para ignorar o UCSS para as páginas cujo tipo de página seja %2$s.Use %1$s para ignorar a verificação das dimensões de imagem remotas quando %2$s estiver ATIVADO.Use %1$s para gerar um único UCSS para as páginas cujo tipo de página seja %2$s, enquanto os outros tipos de página continuam por URL.Usar a funcionalidade da API %s.Usar mapeamento CDNUsar configuração de administrador de redeUsar arquivos otimizadosUsar arquivos originaisUsar a configuração do site principalUse o serviço gerador de LQIP (Marcador de Posição de Imagem de Baixa Qualidade) do QUIC.cloud para pré-visualizações de imagens responsivas durante o carregamento.Use o serviço on-line do QUIC.cloud para gerar CSS crítico e carregar o restante do CSS de forma assíncrona.Use o serviço on-line do QUIC.cloud para gerar CSS único.Use a biblioteca de carregamento de fontes da web para carregar Google Fonts de forma assíncrona, mantendo o restante do CSS intacto.Use uma predefinição oficial projetada pelo LiteSpeed para configurar seu site com um único clique. Experimente o armazenamento em cache "Essenciais" sem risco, ou a otimização "Extremo" ou algo intermediário.Use a funcionalidade de cache de objetos externos.Use conexões keep-alive (mantenha ativa) para acelerar as operações de cache.Use o commit mais recente do GitHub DevUse o último commit Dev/Master do GitHubUse o commit mais recente do Master GitHubUse a versão mais recente do WordPressUse imagens originais (não otimizadas) em seu siteUse o formato %1$s ou %2$s (o elemento é opcional).Use esta seção para alternar entre as versões do plugin. Para testar uma versão beta de um commit do GitHub, digite o URL do commit no campo abaixo.Útil para imagens acima da dobra que causam CLS (uma métrica do Core Web Vitals).Nome de usuárioUsando a versão otimizada do arquivo. VPIValor do filtro aplicadoIntervalo de valoresAs variáveis %s serão substituídas pela cor de fundo configurada.As variáveis %s serão substituídas pelas propriedades correspondentes da imagem.Cookies de variaçãoGrupo de variaçãoVariável para o mini carrinhoVer detalhes da versão %2$s do %1$sVer .htaccessVer site antes do cacheVer site antes da otimizaçãoImagem da janela de visualização (viewport)Geração de imagens da janela de visualização (viewport)Imagens da janela de visualização (viewport)Cron de imagens da janela de visualização (viewport)Visite o fórum de suporte do LSCWPVisite o site enquanto estiver desconectado.ATENÇÃOATENÇÃO: O cookie de acesso do .htaccess e o cookie de acesso do banco de dados não correspondem.AguardandoAguardando ser rastreadoDeseja se conectar com outros usuários do LiteSpeed?Acompanhar o status do rastreadorEstamos bem. Nenhuma tabela está usando o mecanismo MyISAM.Estamos trabalhando intensamente para melhorar sua experiência de serviço on-line. O serviço estará indisponível durante nosso trabalho. Pedimos desculpas por qualquer inconveniente.Arquivo WebP reduzido em %1$s (%2$s)WebP salvo %sAtributo WebP/AVIF a ser substituídoWebP/AVIF para srcset adicionalBoas-vindas ao LiteSpeedO que é um grupo?O que é um grupo de imagens?Quando um visitante passar o mouse sobre um link da página, pré-carregar essa página. Isso acelerará a visita a esse link.Ao desativar o cache, todas as entradas em cache deste site serão eliminadas.Quando ativado, o cache será automaticamente limpo quando qualquer plugin, tema ou o núcleo do WordPress for atualizado.Ao minificar o HTML, não descartar comentários que correspondam a um determinado padrão.Ao alternar os formatos, %1$s ou %2$s para aplicar esta nova opção às imagens otimizadas anteriormente.Quando esta opção é ativada %s, ela também carregará o Google Fonts de forma assíncrona.Quando você usa o "Carregamento tardio", ele atrasará o carregamento de todas as imagens em uma página.Quem deve usar esta predefinição?Por que você está desativando o plugin?TTL do cache de widgetsCaractere curinga %1$s é suportado (corresponde a zero ou mais caracteres). Por exemplo, para corresponder a %2$s e %3$s, use %4$s.Caractere curinga %s é suportado.Com ESI (Edge Side Includes), as páginas podem ser servidas em cache para usuários conectados.Com o CDN QUIC.cloud ativado, você ainda pode estar vendo cabeçalhos de cache do seu servidor local.Configurações do WooCommerceControle de qualidade de imagem no WordPressO intervalo válido no WordPress é de %s segundos.WpW: cache privado vs. cache públicoArquivo anualNo momento, você está usando os serviços como um usuário anônimo. Para gerenciar suas opções do QUIC.cloud, use o botão abaixo, para criar uma conta e acessar o painel do QUIC.cloud.Você pode simplesmente digitar parte do domínio.Você pode listar os cookies de variação de terceiros aqui.Você pode alternar rapidamente entre o uso de versões originais (não otimizadas) e arquivos de imagem otimizados. Isso afetará todas as imagens do seu site, tanto as versões regulares quanto as versões WebP, se estiverem disponíveis.Você pode solicitar um máximo de %s imagens de uma só vez.Você também pode ativar o cache do navegador no painel administrativo do servidor. %sSaiba mais sobre as configurações de cache do navegador LiteSpeed%s.Você pode transformar shortcodes em blocos ESI.Você pode usar este código %1$s em %2$s para especificar o caminho do arquivo .htaccess.Você não pode remover esta zona DNS, pois ela ainda está em uso. Atualize os servidores de nomes do domínio e tente excluir esta zona novamente, caso contrário, seu site ficará inacessível.Você tem imagens aguardando para serem extraídas. Aguarde a conclusão da extração automática ou extraia-as manualmente agora.Você tem muitas imagens solicitadas. Tente novamente em alguns minutos.Você usou toda a sua cota diária de hoje.Você usou toda a sua cota restante para o serviço atual neste mês.Você acaba de desbloquear uma promoção do QUIC.cloud!Você precisa estar usando um dos seguintes produtos, para medir o tempo de carregamento da página:Você precisa definir %1$s como %2$s antes de usar este recurso.Você precisa definir %s antes de usar este recurso.Você precisa ativar o QC primeiro.Você precisa definir o %1$s primeiro. Use o comando %2$s para definir.Você precisa definir o %s em “Configurações” primeiro, antes de usar o rastreadorVocê precisa ativar %s e concluir toda a geração de WebP para obter o resultado máximo.Você precisa ativar %s para obter o resultado máximo.Você não poderá reverter a otimização uma vez que os backups forem excluídos!Você precisa concluir a configuração do %s para usar os serviços on-line.Sua cota de %1$s em %2$s ainda estará em uso.Seu nome de servidor ou endereço IP %s.Sua chave de API / token é usada para acessar APIs de %s.Seu endereço de e-mail em %s.Seu IPSua aplicação está aguardando aprovação.Seu domínio foi proibido de usar nossos serviços devido a uma violação de política anterior.Sua domain_key foi temporariamente incluída em uma lista de bloqueios para evitar abusos. Entre em contato com o suporte em QUIC.cloud para saber mais.Seu IP do servidorSeu site está conectado e pronto para usar os serviços on-line do QUIC.cloud.Seu site está conectado e usando os serviços on-line do QUIC.cloud como um <strong>usuário anônimo</strong>. A função de CDN e determinados recursos dos serviços de otimização, não estão disponíveis para usuários anônimos. Vincule-se ao QUIC.cloud, para usar o CDN e todos os recursos disponíveis dos serviços on-line.Zero, oucategoriascookiesex.: Use %1$s ou %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationrecentementemaisnão importa onde moram.pixelsforneça mais informações aqui para auxiliar a equipe do LiteSpeed na depuração.neste instanteexecutandosegundostagso IP detectado automaticamente pode não ser preciso se você tiver um IP de saída adicional definido ou múltiplos IPs configurados no seu servidor.desconhecidoagentes de usuárioPK]^�\������%translations/litespeed-cache-pl_PL.ponu�[���# Translation of Plugins - LiteSpeed Cache - Stable (latest release) in Polish
# This file is distributed under the same license as the Plugins - LiteSpeed Cache - Stable (latest release) package.
msgid ""
msgstr ""
"PO-Revision-Date: 2025-11-15 11:57:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);\n"
"X-Generator: GlotPress/4.0.3\n"
"Language: pl\n"
"Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)\n"

#: tpl/toolbox/purge.tpl.php:110
msgid "This will delete all generated Viewport Images"
msgstr "Spowoduje to usunięcie wszystkich wygenerowanych obrazków widoku"

#: src/purge.cls.php:393
msgid "Cleaned all VPI data."
msgstr "Wyczyszczono wszystkie dane VPI."

#: tpl/optimax/settings.tpl.php:34
msgid "Turn on OptimaX. This will automatically request your pages OptimaX result via cron job."
msgstr "Włącz OptimaX. Spowoduje to automatyczne żądanie wyników OptimaX dla stron za pomocą zadania cron."

#: tpl/optimax/entry.tpl.php:30
msgid "LiteSpeed Cache OptimaX"
msgstr "Pamięć podręczna LiteSpeed ​​OptimaX"

#: tpl/optimax/entry.tpl.php:17 tpl/optimax/entry.tpl.php:22
#: tpl/optimax/settings.tpl.php:19
msgid "OptimaX Settings"
msgstr "Ustawienia OptimaX"

#: tpl/optimax/entry.tpl.php:16
msgid "OptimaX Summary"
msgstr "Podsumowanie OptimaX"

#: tpl/img_optm/settings.tpl.php:107
msgid "Choose which image sizes to optimize."
msgstr "Wybierz rozmiary obrazków, które chcesz zoptymalizować."

#: tpl/img_optm/settings.tpl.php:104
msgid "No sizes found."
msgstr "Nie znaleziono rozmiarów."

#: src/lang.cls.php:229
msgid "Optimize Image Sizes"
msgstr "Optymalizacja rozmiarów obrazków"

#: src/admin-display.cls.php:252 src/lang.cls.php:287
msgid "OptimaX"
msgstr "OptimaX"

#: tpl/toolbox/settings-debug.tpl.php:48
msgid "LiteSpeed Cache is temporarily disabled until: %s."
msgstr "Usługa LiteSpeed ​​Cache jest tymczasowo wyłączona do: %s."

#: tpl/toolbox/settings-debug.tpl.php:44
msgid "Remove `Disable All Feature` Flag Now"
msgstr "Usuń teraz flagę „Wyłącz wszystkie funkcje”"

#: tpl/toolbox/settings-debug.tpl.php:37
msgid "Disable All Features for 24 Hours"
msgstr "Wyłącz wszystkie funkcje na 24 godziny"

#: tpl/toolbox/beta_test.tpl.php:43
msgid "LiteSpeed Cache is disabled. This functionality will not work."
msgstr "Pamięć podręczna LiteSpeed ​​jest wyłączona. Ta funkcja nie będzie działać."

#: tpl/page_optm/settings_media.tpl.php:296
msgid "Filter %s available to change threshold."
msgstr "Filtr %s jest dostępny do zmiany progu."

#: tpl/page_optm/settings_media.tpl.php:290
msgid "Scaled size threshold"
msgstr "Próg skalowanego rozmiaru"

#: tpl/page_optm/settings_media.tpl.php:289
msgid "Automatically replace large images with scaled versions."
msgstr "Automatycznie zastępuj duże obrazki wersjami skalowanymi."

#: src/lang.cls.php:222
msgid "Auto Rescale Original Images"
msgstr "Automatyczne skalowanie oryginalnych obrazków"

#: src/lang.cls.php:162
msgid "UCSS Inline Excluded Files"
msgstr "Wykluczone pliki wbudowane UCSS"

#: src/error.cls.php:142
msgid "The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again."
msgstr "Połączenie QUIC.cloud jest nieprawidłowe. Spróbuj ponownie zsynchronizować połączenie QUIC.cloud."

#: src/error.cls.php:119
msgid "Not enough parameters. Please check if the QUIC.cloud connection is set correctly"
msgstr "Za mało parametrów. Sprawdź, czy połączenie QUIC.cloud jest poprawnie skonfigurowane."

#: src/admin-settings.cls.php:40 src/admin-settings.cls.php:313
msgid "No fields"
msgstr "Brak pól"

#: src/admin-display.cls.php:1331
msgid "Value from filter applied"
msgstr "Wartość z zastosowanego filtra"

#: src/admin-display.cls.php:1302 src/admin-display.cls.php:1315
msgid "This value is overwritten by the filter."
msgstr "Wartość ta zostanie nadpisana przez filtr."

#: src/admin-display.cls.php:1298
msgid "This value is overwritten by the %s variable."
msgstr "Ta wartość zostanie nadpisana przez zmienną %s."

#: tpl/dash/dashboard.tpl.php:426 tpl/dash/dashboard.tpl.php:844
msgid "QUIC.cloud CDN"
msgstr "QUIC.cloud CDN"

#: tpl/page_optm/settings_tuning_css.tpl.php:38
msgid "Predefined list will also be combined with the above settings"
msgstr "Predefiniowana lista będzie również połączona z powyższymi ustawieniami"

#: tpl/page_optm/settings_tuning_css.tpl.php:17
msgid "Tuning CSS Settings"
msgstr "Strojenie ustawień CSS"

#: tpl/page_optm/settings_tuning.tpl.php:71
#: tpl/page_optm/settings_tuning.tpl.php:92
msgid "Predefined list will also be combined with the above settings."
msgstr "Predefiniowana lista będzie również połączona z powyższymi ustawieniami."

#: tpl/page_optm/settings_css.tpl.php:118
#: tpl/page_optm/settings_css.tpl.php:255
#: tpl/page_optm/settings_media.tpl.php:201
#: tpl/page_optm/settings_vpi.tpl.php:66
msgid "Clear"
msgstr "Wyczyść"

#: tpl/inc/show_error_cookie.php:21
msgid "If not, please verify the setting in the %sAdvanced tab%s."
msgstr "Jeśli nie, sprawdź ustawienia na karcie %sZaawansowane%s."

#: tpl/inc/modal.deactivation.php:77
msgid "Close popup"
msgstr "Zamknij wyskakujące okienko"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate plugin"
msgstr "Wyłącz wtyczkę"

#: tpl/inc/modal.deactivation.php:68
msgid "If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images."
msgstr "Jeśli korzystałeś z optymalizacji obrazka, najpierw %szniszcz wszystkie dane optymalizacji%s. UWAGA: nie spowoduje to usunięcia zoptymalizowanych obrazków."

#: tpl/inc/modal.deactivation.php:60
msgid "On uninstall, all plugin settings will be deleted."
msgstr "Po odinstalowaniu wszystkie ustawienia wtyczki zostaną usunięte."

#: tpl/inc/modal.deactivation.php:47
msgid "Why are you deactivating the plugin?"
msgstr "Dlaczego wyłączasz wtyczkę?"

#: tpl/inc/modal.deactivation.php:38
msgid "Other"
msgstr "Inne"

#: tpl/inc/modal.deactivation.php:33
msgid "Plugin is too complicated"
msgstr "Wtyczka jest zbyt skomplikowana"

#: tpl/inc/modal.deactivation.php:28
msgid "Site performance is worse"
msgstr "Wydajność witryny jest gorsza"

#: tpl/inc/modal.deactivation.php:22
msgid "The deactivation is temporary"
msgstr "Wyłączenie jest tymczasowe"

#: tpl/inc/modal.deactivation.php:16
msgid "Deactivate LiteSpeed Cache"
msgstr "Wyłącz pamięć podręczną LiteSpeed"

#: tpl/general/online.tpl.php:138
msgid "CDN - Disabled"
msgstr "CDN - Wyłączony"

#: tpl/general/online.tpl.php:136
msgid "CDN - Enabled"
msgstr "CDN - Włączony"

#: tpl/general/online.tpl.php:45
msgid "Connected Date:"
msgstr "Data połączenia:"

#: tpl/general/online.tpl.php:43
msgid "Node:"
msgstr "Węzeł:"

#: tpl/general/online.tpl.php:41
msgid "Service:"
msgstr "Usługa:"

#: tpl/db_optm/manage.tpl.php:180
msgid "Autoload top list"
msgstr "Automatycznie wczytaj listę najlepszych"

#: tpl/db_optm/manage.tpl.php:176
msgid "Autoload entries"
msgstr "Automatyczne wczytywanie wpisów"

#: tpl/db_optm/manage.tpl.php:175
msgid "Autoload size"
msgstr "Rozmiar automatycznego wczytywania"

#: tpl/dash/network_dash.tpl.php:109
msgid "This Month Usage: %s"
msgstr "Wykorzystanie w tym miesiącu: %s"

#: tpl/dash/network_dash.tpl.php:28
msgid "Usage Statistics: %s"
msgstr "Statystyki użytkowania: %s"

#: tpl/dash/dashboard.tpl.php:870
msgid "more"
msgstr "więcej"

#: tpl/dash/dashboard.tpl.php:869
msgid "Globally fast TTFB, easy setup, and %s!"
msgstr "Najszybszy globalnie TTFB, łatwa konfiguracja i %s!"

#: tpl/dash/dashboard.tpl.php:657 tpl/dash/dashboard.tpl.php:701
#: tpl/dash/dashboard.tpl.php:745 tpl/dash/dashboard.tpl.php:789
msgid "Last requested: %s"
msgstr "Ostatnie żądanie: %s"

#: tpl/dash/dashboard.tpl.php:631 tpl/dash/dashboard.tpl.php:675
#: tpl/dash/dashboard.tpl.php:719 tpl/dash/dashboard.tpl.php:763
msgid "Last generated: %s"
msgstr "Ostatnio wygenerowano: %s"

#: tpl/dash/dashboard.tpl.php:438 tpl/dash/dashboard.tpl.php:503
msgid "Requested: %s ago"
msgstr "Żądano: %s temu"

#: tpl/dash/dashboard.tpl.php:424
msgid "LiteSpeed Web ADC"
msgstr "LiteSpeed Web ADC"

#: tpl/dash/dashboard.tpl.php:422
msgid "OpenLiteSpeed Web Server"
msgstr "Serwer WWW OpenLiteSpeed"

#: tpl/dash/dashboard.tpl.php:420
msgid "LiteSpeed Web Server"
msgstr "Serwer WWW LiteSpeed"

#: tpl/dash/dashboard.tpl.php:272
msgid "PAYG used this month: %s. PAYG balance and usage not included in above quota calculation."
msgstr "Kwota PAYG wykorzystana w tym miesiącu: %s. Saldo i wykorzystanie PAYG nie zostały uwzględnione w powyższym obliczeniu limitu."

#: tpl/dash/dashboard.tpl.php:112 tpl/dash/dashboard.tpl.php:832
msgid "Last crawled:"
msgstr "Ostatnie indeksowanie:"

#: tpl/dash/dashboard.tpl.php:111 tpl/dash/dashboard.tpl.php:831
msgid "%1$s %2$d item(s)"
msgstr "%1$s %2$d elementów"

#: tpl/crawler/summary.tpl.php:288
msgid "Start watching..."
msgstr "Zacznij oglądać..."

#: tpl/crawler/summary.tpl.php:254
msgid "Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence."
msgstr "Roboty indeksujące nie mogą działać jednocześnie. Jeśli zarówno cron, jak i uruchomienie ręczne uruchomią się w podobnym czasie, pierwszeństwo będzie miało to, które zostanie uruchomione jako pierwsze."

#: tpl/crawler/summary.tpl.php:230
msgid "Position: "
msgstr "Pozycja: "

#: tpl/crawler/summary.tpl.php:133
msgid "%d item(s)"
msgstr "%d element(y)"

#: tpl/crawler/summary.tpl.php:130
msgid "Last crawled"
msgstr "Ostatnio indeksowano"

#: tpl/cdn/qc.tpl.php:73
msgid "Serve your visitors fast"
msgstr "Szybko obsługuj swoich gości"

#: tpl/cdn/other.tpl.php:104
msgid "This will affect all tags containing attributes: %s."
msgstr "Będzie to miało wpływ na wszystkie znaczniki zawierające atrybuty: %s."

#: tpl/cdn/cf.tpl.php:152
msgid "%1$sLearn More%2$s"
msgstr "%1$sDowiedz się więcej%2$s"

#: tpl/cdn/cf.tpl.php:39
msgid "Get it from %s."
msgstr "Pobierz z %s."

#: src/purge.cls.php:517
msgid "Reset the OPcache failed."
msgstr "Resetowanie OPcache nie powiodło się."

#: src/purge.cls.php:504
msgid "OPcache is restricted by %s setting."
msgstr "OPcache jest ograniczony ustawieniem %s."

#: src/purge.cls.php:491
msgid "OPcache is not enabled."
msgstr "OPcache nie jest włączony."

#: src/gui.cls.php:850
msgid "Enable All Features"
msgstr "Włącz wszystkie funkcje"

#: tpl/toolbox/purge.tpl.php:224
msgid "e.g. Use %1$s or %2$s."
msgstr "np. Użyj %1$s lub %2$s."

#: tpl/toolbox/log_viewer.tpl.php:64 tpl/toolbox/report.tpl.php:62
msgid "Click to copy"
msgstr "Kliknij, aby skopiować"

#: tpl/inc/admin_footer.php:17
msgid "Rate %1$s on %2$s"
msgstr "Oceń %1$s na %2$s"

#: tpl/cdn/cf.tpl.php:74
msgid "Clear %s cache when \"Purge All\" is run."
msgstr "Wyczyść pamięć podręczną %s po uruchomieniu opcji „Wyczyść wszystko”."

#: tpl/cache/settings_inc.login_cookie.tpl.php:102
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive."
msgstr "SKŁADNIA: alfanumeryczna i „_”. Bez spacji i z uwzględnieniem wielkości liter."

#: tpl/cache/settings_inc.login_cookie.tpl.php:26
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS."
msgstr "SKŁADNIA: alfanumeryczna i „_”. Bez spacji i z uwzględnieniem wielkości liter. MUSI BYĆ UNIKATOWA W INNYCH APLIKACJACH SIECIOWYCH."

#: tpl/banner/score.php:122
msgid "Submit a ticket"
msgstr "Wyślij zgłoszenie"

#: src/lang.cls.php:265
msgid "Clear Cloudflare cache"
msgstr "Wyczyść pamięć podręczną Cloudflare"

#: src/cloud.cls.php:246 src/cloud.cls.php:331
msgid "QUIC.cloud's access to your WP REST API seems to be blocked."
msgstr "Dostęp QUIC.cloud do interfejsu API REST WP wydaje się być zablokowany."

#: tpl/toolbox/log_viewer.tpl.php:65
msgid "Copy Log"
msgstr "Kopiuj dziennik"

#: tpl/page_optm/settings_tuning_css.tpl.php:149
msgid "Selectors must exist in the CSS. Parent classes in the HTML will not work."
msgstr "Selektory muszą istnieć w CSS. Klasy nadrzędne w HTML nie będą działać."

#: tpl/page_optm/settings_tuning_css.tpl.php:142
msgid "List the CSS selectors whose styles should always be included in CCSS."
msgstr "Wypisz selektory CSS, których style powinny być zawsze uwzględniane w CCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:67
msgid "List the CSS selectors whose styles should always be included in UCSS."
msgstr "Wypisz selektory CSS, których style powinny być zawsze uwzględniane w UCSS."

#: tpl/img_optm/summary.tpl.php:77 tpl/page_optm/settings_css.tpl.php:156
#: tpl/page_optm/settings_css.tpl.php:293
#: tpl/page_optm/settings_vpi.tpl.php:101
msgid "Available after %d second(s)"
msgstr "Dostępne za %d sekund(y)"

#: tpl/dash/dashboard.tpl.php:347
msgid "Enable QUIC.cloud Services"
msgstr "Włącz usługi QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:194
msgid "The features below are provided by %s"
msgstr "Poniższe funkcje są dostarczane przez %s"

#: tpl/dash/dashboard.tpl.php:163
msgid "Do not show this again"
msgstr "Nie pokazuj tego ponownie"

#: tpl/dash/dashboard.tpl.php:153
msgid "Free monthly quota available. Can also be used anonymously (no email required)."
msgstr "Dostępny bezpłatny miesięczny limit. Można również używać anonimowo (nie jest wymagany adres e-mail)."

#: tpl/cdn/cf.tpl.php:17
msgid "Cloudflare Settings"
msgstr "Ustawienia Cloudflare"

#: src/tool.cls.php:43 src/tool.cls.php:54
msgid "Failed to detect IP"
msgstr "Nie udało się wykryć adresu IP"

#: src/lang.cls.php:189
msgid "CCSS Selector Allowlist"
msgstr "Lista dozwolonych selektorów CCSS"

#: tpl/toolbox/settings-debug.tpl.php:82
msgid "Outputs to a series of files in the %s directory."
msgstr "Zapisuje dane do serii plików w katalogu %s."

#: tpl/toolbox/report.tpl.php:87
msgid "Attach PHP info to report. Check this box to insert relevant data from %s."
msgstr "Dołącz informacje PHP do raportu. Zaznacz to pole, aby wstawić odpowiednie dane z %s."

#: tpl/toolbox/report.tpl.php:63
msgid "Last Report Date"
msgstr "Data ostatniego raportu"

#: tpl/toolbox/report.tpl.php:62
msgid "Last Report Number"
msgstr "Ostatni numer raportu"

#: tpl/toolbox/report.tpl.php:40
msgid "Regenerate and Send a New Report"
msgstr "Wygeneruj ponownie i wyślij nowy raport"

#: tpl/img_optm/summary.tpl.php:372
msgid "This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action."
msgstr "Spowoduje to zresetowanie %1$s. Jeśli zmieniłeś ustawienia WebP/AVIF i chcesz wygenerować %2$s dla wcześniej zoptymalizowanych obrazków, użyj tej akcji."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:368
msgid "Soft Reset Optimization Counter"
msgstr "Licznik optymalizacji miękkiego resetu"

#: tpl/img_optm/settings.media_webp.tpl.php:34
msgid "When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images."
msgstr "Podczas zmiany formatu naciśnij %1$s lub %2$s, aby zastosować nowy wybór do wcześniej zoptymalizowanych obrazków."

#: tpl/img_optm/settings.media_webp.tpl.php:31
msgid "%1$s is a %2$s paid feature."
msgstr "%1$s jest %2$s płatną funkcją."

#: tpl/general/online.tpl.php:160
msgid "Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first."
msgstr "Usuń integrację QUIC.cloud z tej witryny. Uwaga: dane QUIC.cloud zostaną zachowane, dzięki czemu będziesz mógł ponownie włączyć usługi w dowolnym momencie. Jeśli chcesz całkowicie usunąć swoją witrynę z QUIC.cloud, usuń najpierw domenę za pomocą kokpitu QUIC.cloud."

#: tpl/general/online.tpl.php:159
msgid "Disconnect from QUIC.cloud"
msgstr "Rozłącz się z QUIC.cloud"

#: tpl/general/online.tpl.php:159
msgid "Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard."
msgstr "Czy na pewno chcesz rozłączyć się z QUIC.cloud? Nie spowoduje to usunięcia żadnych danych z kokpitu QUIC.cloud."

#: tpl/general/online.tpl.php:150
msgid "CDN - not available for anonymous users"
msgstr "CDN - niedostępny dla anonimowych użytkowników"

#: tpl/general/online.tpl.php:144
msgid "Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features."
msgstr "Twoja witryna jest połączona i korzysta z usług online QUIC.cloud jako <strong>anonimowy użytkownik</strong>. Funkcja CDN i niektóre funkcje usług optymalizacji nie są dostępne dla użytkowników anonimowych. Połącz się z QUIC.cloud, aby korzystać z CDN i wszystkich dostępnych funkcji usług online."

#: tpl/general/online.tpl.php:143
msgid "QUIC.cloud Integration Enabled with limitations"
msgstr "Integracja QUIC.cloud włączona z ograniczeniami"

#: tpl/general/online.tpl.php:126
msgid "Your site is connected and ready to use QUIC.cloud Online Services."
msgstr "Twoja witryna jest podłączona i gotowa do korzystania z usług online QUIC.cloud."

#: tpl/general/online.tpl.php:125
msgid "QUIC.cloud Integration Enabled"
msgstr "Włączona integracja QUIC.cloud"

#: tpl/general/online.tpl.php:114
msgid "In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it."
msgstr "Aby korzystać z większości usług QUIC.cloud, potrzebujesz określonego limitu. QUIC.cloud co miesiąc przyznaje Ci bezpłatny limit, ale jeśli potrzebujesz większego limitu, możesz go dokupić."

#: tpl/general/online.tpl.php:105
msgid "Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding."
msgstr "Oferuje opcjonalną <strong>wbudowaną usługę DNS</strong>, aby uprościć wdrażanie CDN."

#: tpl/general/online.tpl.php:104
msgid "Provides <strong>security at the CDN level</strong>, protecting your server from attack."
msgstr "Zapewnia <strong>bezpieczeństwo na poziomie CDN</strong>, chroniąc Twój serwer przed atakami."

#: tpl/general/online.tpl.php:103
msgid "Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>."
msgstr "Zapewnia globalny zasięg dzięki rozwijającej się <strong>sieci ponad 80 punktów obecności</strong>."

#: tpl/general/online.tpl.php:102
msgid "Caches your entire site, including dynamic content and <strong>ESI blocks</strong>."
msgstr "Buforuje całą witrynę, łącznie z dynamiczną treścią i <strong>blokami ESI</strong>."

#: tpl/general/online.tpl.php:98
msgid "Content Delivery Network"
msgstr "Sieć dostarczania treści"

#: tpl/general/online.tpl.php:89
msgid "<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold."
msgstr "<strong>Obrazki rzutni (VPI)</strong> zapewniają dopracowany, w pełni załadowany widok powyżej linii zagięcia."

#: tpl/general/online.tpl.php:88
msgid "<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads."
msgstr "<strong>Obrazek zastępczy niskiej jakości (LQIP)</strong> nadaje obrazkom przyjemniejszy wygląd, ponieważ wczytują się one leniwie."

#: tpl/general/online.tpl.php:87
msgid "<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall."
msgstr "<strong>Unikatowy CSS (UCSS)</strong> usuwa nieużywane definicje stylów, co przyspiesza wczytywanie strony."

#: tpl/general/online.tpl.php:86
msgid "<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling."
msgstr "<strong>Krytyczny CSS (CCSS)</strong> wczytuje widoczną treść u góry strony szybciej i z zachowaniem pełnego stylu."

#: tpl/general/online.tpl.php:84
msgid "QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores."
msgstr "Usługi optymalizacji stron QUIC.cloud rozwiązują problem nadmiaru stylów CSS i poprawiają komfort użytkowania strony podczas jej wczytywania, co może prowadzić do poprawy wyników szybkości wczytywania strony."

#: tpl/general/online.tpl.php:81
msgid "Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee."
msgstr "Przetwarzanie formatów obrazków PNG, JPG i WebP jest bezpłatne. AVIF jest dostępny za opłatą."

#: tpl/general/online.tpl.php:79
msgid "Optionally creates next-generation WebP or AVIF image files."
msgstr "Opcjonalnie tworzy pliki obrazków WebP lub AVIF nowej generacji."

#: tpl/general/online.tpl.php:78
msgid "Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality."
msgstr "Przetwarza przesłane obrazki PNG i JPG, aby uzyskać mniejsze wersje bez utraty jakości."

#: tpl/general/online.tpl.php:76
msgid "QUIC.cloud's Image Optimization service does the following:"
msgstr "Usługa optymalizacji obrazka QUIC.cloud wykonuje następujące czynności:"

#: tpl/general/online.tpl.php:72
msgid "<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading."
msgstr "<strong>Optymalizacja strony</strong> usprawnia style strony i elementy wizualne, aby przyspieszyć wczytywania."

#: tpl/general/online.tpl.php:71
msgid "<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster."
msgstr "<strong>Optymalizacja obrazka</strong> pozwala na uzyskanie mniejszych rozmiarów plików graficznych i szybsze przesyłanie ich."

#: tpl/general/online.tpl.php:69
msgid "QUIC.cloud's Online Services improve your site in the following ways:"
msgstr "Usługi online QUIC.cloud ulepszają Twoją witrynę w następujący sposób:"

#: tpl/general/online.tpl.php:60
msgid "Speed up your WordPress site even further with QUIC.cloud Online Services and CDN."
msgstr "Przyspiesz jeszcze bardziej swoją witrynę WordPress dzięki usługom online i CDN QUIC.cloud."

#: tpl/general/online.tpl.php:59
msgid "QUIC.cloud Integration Disabled"
msgstr "Integracja QUIC.cloud wyłączona"

#: tpl/general/online.tpl.php:22
msgid "QUIC.cloud Online Services"
msgstr "Usługi online QUIC.cloud"

#: tpl/general/entry.tpl.php:16 tpl/general/online.tpl.php:68
msgid "Online Services"
msgstr "Usługi online"

#: tpl/db_optm/manage.tpl.php:186
msgid "Autoload"
msgstr "Automatyczne wczytywanie"

#: tpl/dash/dashboard.tpl.php:887
msgid "Refresh QUIC.cloud status"
msgstr "Odśwież status QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:446 tpl/dash/dashboard.tpl.php:511
msgid "Refresh"
msgstr "Odśwież"

#: tpl/dash/dashboard.tpl.php:419
msgid "You must be using one of the following products in order to measure Page Load Time:"
msgstr "Aby zmierzyć czas wczytywania strony, musisz używać jednego z poniższych produktów:"

#: tpl/dash/dashboard.tpl.php:182
msgid "Refresh Usage"
msgstr "Odśwież użycie"

#: tpl/dash/dashboard.tpl.php:128 tpl/dash/dashboard.tpl.php:908
msgid "News"
msgstr "Aktualności"

#: tpl/crawler/summary.tpl.php:28
msgid "You need to set the %s in Settings first before using the crawler"
msgstr "Przed użyciem robota indeksującego musisz najpierw ustawić %s w Ustawieniach"

#: tpl/crawler/settings.tpl.php:136
msgid "You must set %1$s to %2$s before using this feature."
msgstr "Musisz ustawić %1$s na %2$s przed użyciem tej funkcji."

#: tpl/crawler/settings.tpl.php:116 tpl/crawler/summary.tpl.php:211
msgid "You must set %s before using this feature."
msgstr "Musisz ustawić %s przed użyciem tej funkcji."

#: tpl/cdn/qc.tpl.php:139 tpl/cdn/qc.tpl.php:146
msgid "My QUIC.cloud Dashboard"
msgstr "Mój Kokpit QUIC.cloud"

#: tpl/cdn/qc.tpl.php:130
msgid "You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard."
msgstr "Obecnie korzystasz z usług jako anonimowy użytkownik. Aby zarządzać opcjami QUIC.cloud, użyj poniższego przycisku, aby utworzyć konto i połączyć się z Kokpitem QUIC.cloud."

#: tpl/cdn/qc.tpl.php:123 tpl/cdn/qc.tpl.php:143
msgid "To manage your QUIC.cloud options, go to QUIC.cloud Dashboard."
msgstr "Aby zarządzać opcjami QUIC.cloud, przejdź do Kokpitu QUIC.cloud."

#: tpl/cdn/qc.tpl.php:119
msgid "To manage your QUIC.cloud options, please contact your hosting provider."
msgstr "Aby zarządzać opcjami QUIC.cloud, skontaktuj się ze swoim dostawcą hostingu."

#: tpl/cdn/qc.tpl.php:117
msgid "To manage your QUIC.cloud options, go to your hosting provider's portal."
msgstr "Aby zarządzać opcjami QUIC.cloud, przejdź do portalu swojego dostawcy hostingu."

#: tpl/cdn/qc.tpl.php:96
msgid "QUIC.cloud CDN Options"
msgstr "Opcje CDN QUIC.cloud"

#. translators: %s: Link tags
#: tpl/cdn/qc.tpl.php:79
msgid "Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!"
msgstr "Najlepsza dostępna wydajność WordPress, najszybszy na świecie czas do połączenia (TTFB), łatwa konfiguracja i %swięcej%s!"

#: tpl/cdn/qc.tpl.php:73
msgid "no matter where they live."
msgstr "niezależnie od tego gdzie mieszkają."

#: tpl/cdn/qc.tpl.php:71
msgid "Content Delivery Network Service"
msgstr "Usługa sieciowa dostarczania treści"

#: tpl/cdn/qc.tpl.php:61 tpl/dash/dashboard.tpl.php:857
msgid "Enable QUIC.cloud CDN"
msgstr "Włącz QUIC.cloud CDN"

#: tpl/cdn/qc.tpl.php:59
msgid "Link & Enable QUIC.cloud CDN"
msgstr "Połącz i włącz QUIC.cloud CDN"

#: tpl/cdn/qc.tpl.php:55
msgid "QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users."
msgstr "Sieć CDN QUIC.cloud <strong>nie jest dostępna</strong> dla użytkowników anonimowych (niepowiązanych)."

#: tpl/cdn/qc.tpl.php:53
msgid "QUIC.cloud CDN is currently <strong>fully disabled</strong>."
msgstr "Sieć CDN QUIC.cloud jest obecnie <strong>całkowicie wyłączona</strong>."

#: tpl/cdn/qc.tpl.php:46 tpl/dash/dashboard.tpl.php:169
msgid "Learn More about QUIC.cloud"
msgstr "Dowiedz się więcej o QUIC.cloud"

#: tpl/cdn/qc.tpl.php:45 tpl/dash/dashboard.tpl.php:167
#: tpl/general/online.tpl.php:26
msgid "QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud."
msgstr "QUIC.cloud zapewnia usługi CDN i optymalizacji online i nie jest wymagane. Możesz używać wielu funkcji tej wtyczki bez QUIC.cloud."

#: tpl/cdn/qc.tpl.php:41 tpl/dash/dashboard.tpl.php:158
#: tpl/general/online.tpl.php:64 tpl/general/online.tpl.php:119
msgid "Enable QUIC.cloud services"
msgstr "Włącz usługi QUIC.cloud"

#: tpl/cdn/qc.tpl.php:38 tpl/general/online.tpl.php:61
#: tpl/general/online.tpl.php:145
msgid "Free monthly quota available."
msgstr "Dostępny bezpłatny miesięczny limit."

#: tpl/cdn/qc.tpl.php:36 tpl/dash/dashboard.tpl.php:150
msgid "Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>."
msgstr "Przyspiesz jeszcze bardziej swoją witrynę WordPress dzięki <strong>usługom online QUIC.cloud i CDN</strong>."

#: tpl/cdn/qc.tpl.php:34 tpl/dash/dashboard.tpl.php:146
msgid "Accelerate, Optimize, Protect"
msgstr "Przyspiesz, zoptymalizuj, chroń"

#: tpl/cdn/qc.tpl.php:29
msgid "Check the status of your most important settings and the health of your CDN setup here."
msgstr "Sprawdź tutaj stan najważniejszych ustawień i kondycję swojej sieci CDN."

#: tpl/cdn/qc.tpl.php:27
msgid "QUIC.cloud CDN Status Overview"
msgstr "Przegląd stanu QUIC.cloud CDN"

#: tpl/cdn/qc.tpl.php:24 tpl/dash/dashboard.tpl.php:886
msgid "Refresh Status"
msgstr "Odśwież status"

#: tpl/cdn/entry.tpl.php:16
msgid "Other Static CDN"
msgstr "Inny statyczny CDN"

#: tpl/banner/new_version.php:113 tpl/banner/score.php:141
#: tpl/banner/slack.php:48
msgid "Dismiss this notice."
msgstr "Ukryj komunikat."

#: tpl/banner/cloud_promo.tpl.php:35
msgid "Send to twitter to get %s bonus"
msgstr "Wyślij na Twittera, aby otrzymać bonus %s"

#: tpl/banner/cloud_promo.tpl.php:26
msgid "Spread the love and earn %s credits to use in our QUIC.cloud online services."
msgstr "Podziel się miłością i zyskaj %s kredytów do wykorzystania w naszych usługach online QUIC.cloud."

#: src/media.cls.php:526
msgid "No backup of unoptimized AVIF file exists."
msgstr "Brak kopii zapasowej niezoptymalizowanego pliku AVIF."

#: src/media.cls.php:510
msgid "AVIF saved %s"
msgstr "Zapisano AVIF %s"

#: src/media.cls.php:502
msgid "AVIF file reduced by %1$s (%2$s)"
msgstr "Plik AVIF zmniejszony o %1$s (%2$s)"

#: src/media.cls.php:492
msgid "Currently using original (unoptimized) version of AVIF file."
msgstr "Obecnie korzystam z oryginalnej (niezoptymalizowanej) wersji pliku AVIF."

#: src/media.cls.php:485
msgid "Currently using optimized version of AVIF file."
msgstr "Obecnie korzystam ze zoptymalizowanej wersji pliku AVIF."

#: src/lang.cls.php:232
msgid "WebP/AVIF For Extra srcset"
msgstr "WebP/AVIF dla dodatkowego ustawienia src"

#: src/lang.cls.php:227
msgid "Next-Gen Image Format"
msgstr "Format obrazu nowej generacji"

#: src/img-optm.cls.php:2031
msgid "Enabled AVIF file successfully."
msgstr "Pomyślnie włączono plik AVIF."

#: src/img-optm.cls.php:2026
msgid "Disabled AVIF file successfully."
msgstr "Pomyślnie wyłączono plik AVIF."

#: src/img-optm.cls.php:1378
msgid "Reset image optimization counter successfully."
msgstr "Pomyślnie zresetowano licznik optymalizacji obrazka."

#: src/file.cls.php:133
msgid "Filename is empty!"
msgstr "Nazwa pliku jest pusta!"

#: src/error.cls.php:68
msgid "You will need to finish %s setup to use the online services."
msgstr "Aby korzystać z usług online, musisz ukończyć konfigurację %s."

#: src/cloud.cls.php:2276
msgid "Sync QUIC.cloud status successfully."
msgstr "Pomyślnie zsynchronizowano status QUIC.cloud."

#: src/cloud.cls.php:2220
msgid "Linked to QUIC.cloud preview environment, for testing purpose only."
msgstr "Połączono ze środowiskiem podglądu QUIC.cloud, wyłącznie w celach testowych."

#: src/cloud.cls.php:1919
msgid "Click here to proceed."
msgstr "Kliknij tutaj, aby kontynuować."

#: src/cloud.cls.php:1918
msgid "Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account."
msgstr "Witryna nie została rozpoznana. QUIC.cloud został automatycznie wyłączona. Proszę ponownie aktywować konto QUIC.cloud."

#: src/cloud.cls.php:846
msgid "Reset %s activation successfully."
msgstr "Zresetowanie aktywacji %s powiodło się."

#: src/cloud.cls.php:725 src/cloud.cls.php:775 src/cloud.cls.php:818
msgid "Congratulations, %s successfully set this domain up for the online services with CDN service."
msgstr "Gratulacje, %s pomyślnie skonfigurował tę domenę dla usług online z usługą CDN."

#: src/cloud.cls.php:720
msgid "Congratulations, %s successfully set this domain up for the online services."
msgstr "Gratulacje, %s pomyślnie skonfigurował tę domenę na potrzeby usług online."

#: src/cloud.cls.php:718
msgid "Congratulations, %s successfully set this domain up for the anonymous online services."
msgstr "Gratulacje, %s pomyślnie skonfigurował tę domenę na potrzeby anonimowych usług online."

#: src/cloud.cls.php:690
msgid "%s activation data expired."
msgstr "%s dane aktywacyjne wygasły."

#: src/cloud.cls.php:683
msgid "Failed to parse %s activation status."
msgstr "Nie udało się przeanalizować statusu aktywacji %s."

#: src/cloud.cls.php:676
msgid "Failed to validate %s activation data."
msgstr "Nie udało się zweryfikować danych aktywacyjnych %s."

#: src/cloud.cls.php:386
msgid "Cert or key file does not exist."
msgstr "Certyfikat lub plik klucza nie istnieje."

#: src/cloud.cls.php:368 src/cloud.cls.php:414 src/cloud.cls.php:441
#: src/cloud.cls.php:460 src/cloud.cls.php:481 src/cloud.cls.php:499
msgid "You need to activate QC first."
msgstr "Najpierw musisz aktywować QC."

#: src/cloud.cls.php:319 src/cloud.cls.php:376
msgid "You need to set the %1$s first. Please use the command %2$s to set."
msgstr "Najpierw musisz ustawić %1$s. Użyj polecenia %2$s, aby to ustawić."

#: src/cloud.cls.php:256 src/cloud.cls.php:341
msgid "Failed to get echo data from WPAPI"
msgstr "Nie udało się pobrać danych echa z WPAPI"

#: src/admin-settings.cls.php:104
msgid "The user with id %s has editor access, which is not allowed for the role simulator."
msgstr "Użytkownik o identyfikatorze %s ma dostęp do edytora, co nie jest dozwolone w przypadku symulatora roli."

#: src/error.cls.php:94
msgid "You have used all of your quota left for current service this month."
msgstr "Wykorzystałeś cały limit usług bieżących w tym miesiącu."

#: src/error.cls.php:86 src/error.cls.php:99
msgid "Learn more or purchase additional quota."
msgstr "Dowiedz się więcej lub kup dodatkowy limit."

#: src/error.cls.php:81
msgid "You have used all of your daily quota for today."
msgstr "Wykorzystałeś cały dzienny limit na dziś."

#: tpl/page_optm/settings_html.tpl.php:108
msgid "If comment to be kept is like: %1$s write: %2$s"
msgstr "Jeżeli komentarz, który ma zostać zachowany, wygląda następująco: %1$s napisz: %2$s"

#: tpl/page_optm/settings_html.tpl.php:106
msgid "When minifying HTML do not discard comments that match a specified pattern."
msgstr "Podczas minimalizowania kodu HTML nie należy usuwać komentarzy pasujących do określonego wzorca."

#: tpl/cache/settings-advanced.tpl.php:39
msgid "Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space."
msgstr "Określ akcję AJAX w POST/GET oraz liczbę sekund, przez które żądanie będzie buforowane, rozdzielając je spacją."

#: src/lang.cls.php:169
msgid "HTML Keep Comments"
msgstr "HTML zachowuje komentarze"

#: src/lang.cls.php:117
msgid "AJAX Cache TTL"
msgstr "Czas życia pamięci podręcznej AJAX"

#: src/error.cls.php:111
msgid "You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now."
msgstr "Masz obrazki czekające na pobranie. Poczekaj na zakończenie automatycznego pobierania lub pobierz je ręcznie teraz."

#: tpl/db_optm/manage.tpl.php:26
msgid "Clean all orphaned post meta records"
msgstr "Wyczyść wszystkie osierocone meta rekordy wpisów"

#: tpl/db_optm/manage.tpl.php:25
msgid "Orphaned Post Meta"
msgstr "Osierocone meta wpisu"

#: tpl/dash/dashboard.tpl.php:864
msgid "Best available WordPress performance"
msgstr "Najlepsza dostępna wydajność WordPressa"

#: src/db-optm.cls.php:257
msgid "Clean orphaned post meta successfully."
msgstr "Pomyślnie wyczyszczono osierocone meta wpisu."

#: tpl/img_optm/summary.tpl.php:325
msgid "Last Pulled"
msgstr "Ostatnio pobrane"

#: tpl/cache/settings_inc.login_cookie.tpl.php:104
msgid "You can list the 3rd party vary cookies here."
msgstr "Tutaj możesz wymienić różne pliki ciasteczka stron trzecich."

#: src/lang.cls.php:245
msgid "Vary Cookies"
msgstr "Różne pliki ciasteczka"

#: tpl/page_optm/settings_html.tpl.php:75
msgid "Preconnecting speeds up future loads from a given origin."
msgstr "Wstępne połączenie przyspiesza przyszłe wczytywania z danego źródła."

#: thirdparty/woocommerce.content.tpl.php:89
msgid "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."
msgstr "Jeśli Twój motyw nie używa JavaScript do aktualizacji mini koszyka, musisz włączyć tę opcję, aby wyświetlić prawidłową zawartość koszyka."

#: thirdparty/woocommerce.content.tpl.php:88
msgid "Generate a separate vary cache copy for the mini cart when the cart is not empty."
msgstr "Wygeneruj oddzielną kopię pamięci podręcznej dla mini koszyka, gdy koszyk nie jest pusty."

#: thirdparty/woocommerce.content.tpl.php:80
msgid "Vary for Mini Cart"
msgstr "Zróżnicowane dla mini koszyka"

#: src/lang.cls.php:179
msgid "DNS Preconnect"
msgstr "Wstępne połączenie DNS"

#: src/doc.cls.php:40
msgid "This setting is %1$s for certain qualifying requests due to %2$s!"
msgstr "To ustawienie jest %1$s dla pewnych kwalifikujących się żądań z powodu %2$s!"

#: tpl/page_optm/settings_tuning.tpl.php:43
msgid "Listed JS files or inline JS code will be delayed."
msgstr "Udostępnienie wymienionych plików JS lub wbudowanego kodu JS będzie opóźnione."

#: tpl/crawler/map.tpl.php:58
msgid "URL Search"
msgstr "Wyszukiwanie adresu URL"

#: src/lang.cls.php:181
msgid "JS Delayed Includes"
msgstr "Opóźnienie JS obejmuje"

#: src/cloud.cls.php:1693
msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."
msgstr "Twój domain_key został tymczasowo umieszczony na czarnej liście, aby zapobiec nadużyciom. Możesz skontaktować się z pomocą techniczną w QUIC.cloud, aby dowiedzieć się więcej."

#: src/cloud.cls.php:1688
msgid "Cloud server refused the current request due to unpulled images. Please pull the images first."
msgstr "Serwer w chmurze odrzucił bieżące żądanie z powodu niepobranych obrazków. Najpierw pobierz obrazki."

#: tpl/crawler/summary.tpl.php:110
msgid "Current server load"
msgstr "Aktualne obciążenie serwera"

#: src/object-cache.cls.php:714
msgid "Redis encountered a fatal error: %1$s (code: %2$d)"
msgstr "Redis napotkał fatalny błąd: %s (kod: %d)"

#: src/img-optm.cls.php:890
msgid "Started async image optimization request"
msgstr "Uruchomiono asynchroniczne żądanie optymalizacji obrazka"

#: src/crawler.cls.php:324
msgid "Started async crawling"
msgstr "Rozpoczęto indeksowanie asynchroniczne"

#: src/conf.cls.php:551
msgid "Saving option failed. IPv4 only for %s."
msgstr "Nie udało się zapisać opcji. IPv4 tylko dla %s."

#: src/cloud.cls.php:1700
msgid "Cloud server refused the current request due to rate limiting. Please try again later."
msgstr "Serwer w chmurze odrzucił aktualne żądanie z powodu limitu transferu. Spróbuj ponownie później."

#: tpl/img_optm/summary.tpl.php:298
msgid "Maximum image post id"
msgstr "Maksymalny identyfikator wpisu z obrazkiem"

#: tpl/img_optm/summary.tpl.php:297 tpl/img_optm/summary.tpl.php:372
msgid "Current image post id position"
msgstr "Aktualna pozycja identyfikatora wpisu z obrazkiem"

#: src/lang.cls.php:31
msgid "Images ready to request"
msgstr "Obrazki gotowe na żądanie"

#: tpl/dash/dashboard.tpl.php:385 tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54 tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr "Wykryj ponownie"

#. translators: %1$s: Socket name, %2$s: Host field title, %3$s: Example socket
#. path
#. translators: %1$s: Socket name, %2$s: Port field title, %3$s: Port value
#: tpl/cache/settings_inc.object.tpl.php:107
#: tpl/cache/settings_inc.object.tpl.php:146
msgid "If you are using a %1$s socket, %2$s should be set to %3$s"
msgstr "Jeśli używasz gniazda %1$s, %2$s powinno być ustawione na %3$s"

#: src/root.cls.php:198
msgid "All QUIC.cloud service queues have been cleared."
msgstr "Wszystkie kolejki usług QUIC.cloud zostały wyczyszczone."

#. translators: %s: The type of the given cache key.
#: src/object-cache-wp.cls.php:245
msgid "Cache key must be integer or non-empty string, %s given."
msgstr "Klucz pamięci podręcznej musi być liczbą całkowitą lub niepustym ciągiem znaków, podano %s."

#: src/object-cache-wp.cls.php:242
msgid "Cache key must not be an empty string."
msgstr "Klucz pamięci podręcznej nie może być pustym ciągiem."

#: src/lang.cls.php:190
msgid "JS Deferred / Delayed Excludes"
msgstr "JS wyklucza odroczony/opóźniony"

#: src/doc.cls.php:177
msgid "The queue is processed asynchronously. It may take time."
msgstr "Kolejka jest przetwarzana asynchronicznie. Może to zająć trochę czasu."

#: src/cloud.cls.php:1362
msgid "In order to use QC services, need a real domain name, cannot use an IP."
msgstr "Aby korzystać z usług QC, trzeba mieć prawdziwą nazwę domeny, nie można używać IP."

#: tpl/presets/standard.tpl.php:195
msgid "Restore Settings"
msgstr "Przywróć ustawienia"

#: tpl/presets/standard.tpl.php:193
msgid "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"
msgstr "Przywróci to ustawienia zapasowe utworzone %1$s przed zastosowaniem presetu %2$s. Wszelkie zmiany dokonane od tego czasu zostaną utracone. Czy chcesz kontynuować?"

#: tpl/presets/standard.tpl.php:189
msgid "Backup created %1$s before applying the %2$s preset"
msgstr "Backup utworzony %1$s przed zastosowaniem presetu %2$s"

#: tpl/presets/standard.tpl.php:178
msgid "Applied the %1$s preset %2$s"
msgstr "Zastosowano preset %1$s %2$s"

#: tpl/presets/standard.tpl.php:175
msgid "Restored backup settings %1$s"
msgstr "Przywrócono ustawienia z kopii zapasowej %1$s"

#: tpl/presets/standard.tpl.php:173
msgid "Error: Failed to apply the settings %1$s"
msgstr "Błąd: Nie udało się zastosować ustawień %1$s"

#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr "Historia"

#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr "nieznany"

#: tpl/presets/standard.tpl.php:133
msgid "Apply Preset"
msgstr "Zastosuj Preset"

#: tpl/presets/standard.tpl.php:131
msgid "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"
msgstr "Spowoduje to wykonanie kopii zapasowej aktualnych ustawień i zastąpienie ich presetem %1$s. Czy chcesz kontynuować?"

#: tpl/presets/standard.tpl.php:121
msgid "Who should use this preset?"
msgstr "Kto powinien używać tego presetu?"

#: tpl/presets/standard.tpl.php:96
msgid "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between."
msgstr "Użyj oficjalnego presetu zaprojektowanego przez LiteSpeed, aby skonfigurować swoją stronę jednym kliknięciem. Wypróbuj podstawowe buforowanie bez ryzyka, ekstremalną optymalizację lub coś pomiędzy."

#: tpl/presets/standard.tpl.php:92
msgid "LiteSpeed Cache Standard Presets"
msgstr "Standardowe ustawienia LiteSpeed Cache"

#: tpl/presets/standard.tpl.php:85
msgid "A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores."
msgstr "Do korzystania z tego ustawienia wstępnego wymagane jest połączenie QUIC.cloud. Umożliwia ono maksymalny poziom optymalizacji w celu poprawy wyników szybkości wczytywania strony."

#: tpl/presets/standard.tpl.php:84
msgid "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."
msgstr "Ten preset prawie na pewno będzie wymagał testów i wykluczeń niektórych plików CSS, JS i Lazy Loadowanych obrazków. Zwróć szczególną uwagę na loga oraz obrazy sliderów oparte na HTML."

#: tpl/presets/standard.tpl.php:81
msgid "Inline CSS added to Combine"
msgstr "Dodano wbudowany kod CSS do Połączenia"

#: tpl/presets/standard.tpl.php:80
msgid "Inline JS added to Combine"
msgstr "Dodano wbudowany kod JS do Połączenia"

#: tpl/presets/standard.tpl.php:79
msgid "JS Delayed"
msgstr "Opóźnij ładowanie JS"

#: tpl/presets/standard.tpl.php:78
msgid "Viewport Image Generation"
msgstr "Generowanie obrazka widoku"

#: tpl/presets/standard.tpl.php:77
msgid "Lazy Load for Images"
msgstr "Leniwe ładowanie obrazków"

#: tpl/presets/standard.tpl.php:76
msgid "Everything in Aggressive, Plus"
msgstr "Wszystko, co w Inwazyjnych, Plus"

#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr "Ekstremalne"

#: tpl/presets/standard.tpl.php:69
msgid "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning."
msgstr "Ten preset może działać od ręki dla wielu stron, ale upewnij się, że go przetestujesz! Niektóre wykluczenia CSS lub JS mogą być konieczne w Optymalizacja Strony > Dostosowywanie."

#: tpl/presets/standard.tpl.php:66
msgid "Lazy Load for Iframes"
msgstr "Leniwe ładowanie iframe'ów"

#: tpl/presets/standard.tpl.php:65
msgid "Removed Unused CSS for Users"
msgstr "Usunięto nieużywany CSS u użytkowników"

#: tpl/presets/standard.tpl.php:64
msgid "Asynchronous CSS Loading with Critical CSS"
msgstr "Asynchroniczne ładowanie CSS z krytycznym CSS"

#: tpl/presets/standard.tpl.php:63
msgid "CSS & JS Combine"
msgstr "Połącz CSS & JS"

#: tpl/presets/standard.tpl.php:62
msgid "Everything in Advanced, Plus"
msgstr "Wszystko, co w Zaawansowanych, Plus"

#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr "Agresywna"

#: tpl/presets/standard.tpl.php:56 tpl/presets/standard.tpl.php:70
msgid "A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores."
msgstr "Do korzystania z tego ustawienia wymagane jest połączenie QUIC.cloud. Zawiera wiele optymalizacji, które poprawiają wyniki szybkości wczytywania strony."

#: tpl/presets/standard.tpl.php:55
msgid "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools."
msgstr "To ustawienie jest dobre dla większości witryn i mało prawdopodobne, aby powodowało konflikty. Wszelkie konflikty CSS lub JS można rozwiązać za pomocą narzędzi Optymalizacja strony > Strojenie."

#: tpl/presets/standard.tpl.php:50
msgid "Remove Query Strings from Static Files"
msgstr "Usuń ciągi zapytań z plików statycznych"

#: tpl/presets/standard.tpl.php:48
msgid "DNS Prefetch for static files"
msgstr "Wstępne pobieranie DNS dla plików statycznych"

#: tpl/presets/standard.tpl.php:47
msgid "JS Defer for both external and inline JS"
msgstr "JS Defer dla zewnętrznego i wbudowanego JS"

#: tpl/presets/standard.tpl.php:45
msgid "CSS, JS and HTML Minification"
msgstr "Minifikacja CSS, JS i HTML"

#: tpl/presets/standard.tpl.php:44
msgid "Guest Mode and Guest Optimization"
msgstr "Tryb Gościa i optymalizacja dla Gości"

#: tpl/presets/standard.tpl.php:43
msgid "Everything in Basic, Plus"
msgstr "Wszystko, co w Basic, Plus"

#: tpl/presets/standard.tpl.php:41
msgid "Advanced (Recommended)"
msgstr "Zaawansowane (zalecane)"

#: tpl/presets/standard.tpl.php:37
msgid "A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools."
msgstr "Do korzystania z tego ustawienia wymagane jest połączenie QUIC.cloud. Zawiera optymalizacje, które poprawiają wynik witryny w narzędziach do pomiaru szybkości wczytywania stron."

#: tpl/presets/standard.tpl.php:36
msgid "This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners."
msgstr "Ten preset o niskim stopniu ryzyka wprowadza podstawowe optymalizacje pod kątem szybkości i doświadczenia użytkownika. Odpowiedni dla początkujących entuzjastów."

#: tpl/presets/standard.tpl.php:33
msgid "Mobile Cache"
msgstr "Cache dla urządzeń mobilnych"

#: tpl/presets/standard.tpl.php:31
msgid "Everything in Essentials, Plus"
msgstr "Wszystko, co w Zasadniczych, Plus"

#: tpl/presets/standard.tpl.php:25
msgid "A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled."
msgstr "Połączenie QUIC.cloud nie jest wymagane do korzystania z tego ustawienia wstępnego. Włączone są tylko podstawowe funkcje buforowania."

#: tpl/presets/standard.tpl.php:24
msgid "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."
msgstr "Jest to bezpieczny preset, odpowiedni dla wszystkich stron internetowych. Dobry dla nowicjuszy, prostych stron internetowych lub rozwoju ukierunkowanym na pamięć podręczną."

#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr "Wyższy TTL (Czas życia pakietu)"

#: tpl/presets/standard.tpl.php:19
msgid "Default Cache"
msgstr "Domyślna pamięć podręczna"

#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr "Zasadnicze"

#: tpl/presets/entry.tpl.php:23
msgid "LiteSpeed Cache Configuration Presets"
msgstr "Ustawienia wstępne konfiguracji LiteSpeed Cache"

#: tpl/presets/entry.tpl.php:16
msgid "Standard Presets"
msgstr "Standardowe ustawienia wstępne"

#: tpl/page_optm/settings_tuning_css.tpl.php:52
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
msgstr "Wymienione pliki CSS zostaną wyłączone z UCSS i zapisane w treści."

#: src/lang.cls.php:161
msgid "UCSS Selector Allowlist"
msgstr "Lista dozwolonych selektorów UCSS"

#: src/admin-display.cls.php:253
msgid "Presets"
msgstr "Presety"

#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr "Korzyści dla partnerów zapewniane przez"

#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr "Logi LiteSpeed"

#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr "Dziennik indeksowania"

#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr "Dziennik oczyszczania"

#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr "Zapobiegaj zapisywaniu wpisów do dziennika, które zawierają wymienione ciągi znaków."

#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr "Wyświetl stronę przed zastosowaniem cache"

#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr "Zobacz stronę przed optymalizacją"

#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr "Narzędzia pomocnicze do debugowania"

#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr "Włącz automatyczne generowanie obrazów typu Viewport przez crona."

#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr "Dzięki temu początkowy ekran strony może zostać wyświetlony w całości bez żadnych opóźnień."

#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr "Usługa Viewport Images wykrywa, które obrazki pojawiają się nad linią zagięcia i wyklucza je z leniwego wczytywania."

#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr "Użycie funkcji leniwego wczytywania spowoduje opóźnienie wczytywania wszystkich obrazków na stronie."

#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr "Użyj %1$s, aby pominąć zdalne sprawdzanie wymiarów obrazka, gdy %2$s jest WŁĄCZONE."

#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr "VPI"

#: tpl/general/settings.tpl.php:72 tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr "Aby to ustawienie działało, %s musi być WŁĄCZONY."

#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr "Obrazek rzutni"

#: tpl/crawler/blacklist.tpl.php:79
msgid "API: Filter %s available to disable blocklist."
msgstr "API: Filtr %s jest dostępny w celu wyłączenia listy blokowanych."

#: tpl/crawler/blacklist.tpl.php:69
msgid "API: PHP Constant %s available to disable blocklist."
msgstr "API: stała PHP %s dostępna do wyłączenia listy blokowanych."

#: thirdparty/litespeed-check.cls.php:100
#: thirdparty/litespeed-check.cls.php:165
msgid "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"
msgstr "Prosimy o wyłączenie następujących wykrytych wtyczek, gdyż mogą one kolidować z LiteSpeed ​​Cache:"

#: src/metabox.cls.php:43
msgid "Mobile"
msgstr "Mobilny"

#: src/metabox.cls.php:41
msgid "Disable VPI"
msgstr "Wyłącz VPI"

#: src/metabox.cls.php:40
msgid "Disable Image Lazyload"
msgstr "Wyłącz leniwe wczytywanie obrazka"

#: src/metabox.cls.php:39
msgid "Disable Cache"
msgstr "Wyłącz pamięć podręczną"

#: src/lang.cls.php:282
msgid "Debug String Excludes"
msgstr "Wyklucza ciąg debugowania"

#: src/lang.cls.php:221
msgid "Viewport Images Cron"
msgstr "Obrazek rzutni Cron"

#: src/lang.cls.php:220 src/metabox.cls.php:42 src/metabox.cls.php:43
#: tpl/page_optm/settings_vpi.tpl.php:23
msgid "Viewport Images"
msgstr "Obrazki rzutni"

#: src/lang.cls.php:71
msgid "Alias is in use by another QUIC.cloud account."
msgstr "Alias ​​jest używany przez inne konto QUIC.cloud."

#: src/lang.cls.php:66
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."
msgstr "Nie można automatycznie dodać %1$s jako aliasu domeny dla głównej domeny %2$s."

#: src/lang.cls.php:58
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."
msgstr "Nie można automatycznie dodać %1$s jako aliasu domeny dla głównej domeny %2$s z powodu potencjalnego konfliktu CDN."

#: src/error.cls.php:231
msgid "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."
msgstr "Nie możesz usunąć tej strefy DNS, ponieważ jest ona nadal używana. Zaktualizuj serwery nazw domeny, a następnie spróbuj ponownie usunąć tę strefę, w przeciwnym razie Twoja witryna stanie się niedostępna."

#: src/error.cls.php:134
msgid "The site is not a valid alias on QUIC.cloud."
msgstr "Ta witryna nie jest prawidłowym aliasem w domenie QUIC.cloud."

#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr "Dokładnie przetestuj każdy dodawany plik JS, aby mieć pewność, że działa zgodnie z oczekiwaniami."

#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr "Dokładnie przetestuj wszystkie elementy w %s, aby upewnić się, że działają zgodnie z oczekiwaniami."

#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr "Użyj %1$s, aby ominąć UCSS dla stron, których rodzajem strony jest %2$s."

#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr "Użyj %1$s, aby wygenerować pojedynczy UCSS dla stron, których rodzajem strony jest %2$s, podczas gdy inne rodzaje stron nadal są przypisane do adresu URL."

#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr "Filtr %s dostępny dla generowania UCSS według rodzaju strony."

#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr "Nie udało się przetestować trybu gościa."

#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr "Tryb gościa przeszedł testy."

#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr "Testowanie"

#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr "Wynik testu trybu gościa"

#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr "Nie umieszczono na czarnej liście"

#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr "Dowiedz się więcej o tym, kiedy jest to potrzebne"

#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr "Wyczyszczono wszystkie zlokalizowane wpisy zasobów."

#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr "Zobacz .htaccess"

#: tpl/toolbox/edit_htaccess.tpl.php:63 tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr "Możesz użyć tego kodu %1$s w %2$s aby określić ścieżkę do pliku htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:62 tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr "Obsługiwana jest stała PHP %s."

#: tpl/toolbox/edit_htaccess.tpl.php:58 tpl/toolbox/edit_htaccess.tpl.php:76
msgid "Default path is"
msgstr "Domyślna ścieżka to"

#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr "Ścieżka .htaccess"

#: tpl/general/settings.tpl.php:49
msgid "Please read all warnings before enabling this option."
msgstr "Proszę przeczytać wszystkie ostrzeżenia przed włączeniem tej opcji."

#: tpl/toolbox/purge.tpl.php:83
msgid "This will delete all generated unique CSS files"
msgstr "Spowoduje to usunięcie wszystkich wygenerowanych unikalnych plików CSS"

#: tpl/toolbox/beta_test.tpl.php:85
msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."
msgstr "Aby uniknąć błędu ulepszenia, musisz używać wersji %1$s lub nowszej, zanim będziesz mógł wykonać ulepszenie do wersji %2$s."

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Use latest GitHub Dev/Master commit"
msgstr "Użyj najnowszego zatwierdzenia GitHub Dev/Master"

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."
msgstr "Naciśnij przycisk %s, aby użyć najnowszego zatwierdzenia GitHub. Master jest dla kandydata do wydania, a Dev jest dla testowania eksperymentalnego."

#: tpl/toolbox/beta_test.tpl.php:73
msgid "Downgrade not recommended. May cause fatal error due to refactored code."
msgstr "Obniżenie nie jest zalecane. Może powodować błąd krytyczny z powodu refaktoryzowanego kodu."

#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr "Optymalizuj strony tylko dla gości (niezalogowanych). Jeśli WYŁĄCZYSZ tę opcję, pliki CSS/JS/CCSS zostaną podwojone przez każdą grupę użytkowników."

#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr "Wymienione pliki JS lub wbudowany kod JS nie zostaną zoptymalizowane przez %s."

#: tpl/page_optm/settings_tuning_css.tpl.php:92
msgid "Listed URI will not generate UCSS."
msgstr "Wymieniony URI nie wygeneruje UCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:74
msgid "The selector must exist in the CSS. Parent classes in the HTML will not work."
msgstr "Selektor musi istnieć w CSS. Klasy nadrzędne w HTML nie będą działać."

#: tpl/page_optm/settings_tuning_css.tpl.php:70
#: tpl/page_optm/settings_tuning_css.tpl.php:145
msgid "Wildcard %s supported."
msgstr "Obsługiwany jest symbol wieloznaczny %s."

#: tpl/page_optm/settings_media_exc.tpl.php:34
msgid "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."
msgstr "Przydatne w przypadku obrazków umieszczanych w górnej części strony, które powodują CLS (metryka podstawowych wskaźników internetowych)."

#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr "Ustaw konkretną szerokość i wysokość elementów obrazka, aby ograniczyć przesunięcia układu i usprawnić CLS (metryka podstawowych wskaźników internetowych)."

#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr "Zmiany tego ustawienia nie dotyczą już wygenerowanych LQIP. Aby ponownie wygenerować istniejące LQIP, najpierw %s z menu paska administratora."

#: tpl/page_optm/settings_js.tpl.php:79
msgid "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."
msgstr "Odroczenie do momentu przeanalizowania strony lub opóźnienie do momentu interakcji może pomóc w zmniejszeniu rywalizacji o zasoby i poprawić wydajność, co skutkuje niższym FID (metryka podstawowych wskaźników internetowych)."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr "Opóźniony"

#: tpl/page_optm/settings_js.tpl.php:52
msgid "JS error can be found from the developer console of browser by right clicking and choosing Inspect."
msgstr "Błąd JS można znaleźć w konsoli programisty przeglądarki, klikając prawym przyciskiem myszy i wybierając polecenie Sprawdź."

#: tpl/page_optm/settings_js.tpl.php:51 tpl/page_optm/settings_js.tpl.php:85
msgid "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."
msgstr "Opcja ta może spowodować błąd JS lub problemy z układem na stronach front-endowych z niektórymi motywami/wtyczkami."

#: tpl/page_optm/settings_html.tpl.php:147
msgid "This will also add a preconnect to Google Fonts to establish a connection earlier."
msgstr "Spowoduje to również dodanie wstępnego połączenia z krojami pisma Google, co umożliwi wcześniejsze nawiązanie połączenia."

#: tpl/page_optm/settings_html.tpl.php:91
msgid "Delay rendering off-screen HTML elements by its selector."
msgstr "Opóźnij renderowanie elementów HTML poza ekranem za pomocą ich selektora."

#: tpl/page_optm/settings_css.tpl.php:314
msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."
msgstr "Wyłącz tę opcję, aby generować CCSS na typ wpisu zamiast na stronę. Może to zaoszczędzić znaczną ilość CCSS, jednak może to skutkować niepoprawnym stylem CSS, jeśli Twoja witryna używa kreatora stron."

#: tpl/page_optm/settings_css.tpl.php:230
msgid "This option is bypassed due to %s option."
msgstr "Ta opcja jest pomijana ze względu na opcję %s."

#: tpl/page_optm/settings_css.tpl.php:224
msgid "Elements with attribute %s in HTML code will be excluded."
msgstr "Elementy z atrybutem %s w kodzie HTML zostaną wykluczone."

#: tpl/page_optm/settings_css.tpl.php:217
msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."
msgstr "Użyj usługi online QUIC.cloud do generowania kluczowych arkuszy CSS i asynchronicznego wczytywania pozostałych arkuszy CSS."

#: tpl/page_optm/settings_css.tpl.php:181
msgid "This option will automatically bypass %s option."
msgstr "Ta opcja automatycznie ominie opcję %s."

#: tpl/page_optm/settings_css.tpl.php:178
msgid "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON."
msgstr "Wbudowany UCSS w celu zmniejszenia dodatkowego wczytywania pliku CSS. Ta opcja nie będzie automatycznie włączana dla stron %1$s. Aby użyć jej na stronach %1$s, ustaw ją na WŁĄCZ."

#: tpl/page_optm/settings_css.tpl.php:155
#: tpl/page_optm/settings_css.tpl.php:160
#: tpl/page_optm/settings_css.tpl.php:292
#: tpl/page_optm/settings_css.tpl.php:297
#: tpl/page_optm/settings_vpi.tpl.php:100
#: tpl/page_optm/settings_vpi.tpl.php:105
msgid "Run %s Queue Manually"
msgstr "Uruchom kolejkę %s ręcznie"

#: tpl/page_optm/settings_css.tpl.php:93
msgid "This option is bypassed because %1$s option is %2$s."
msgstr "Ta opcja jest pomijana, ponieważ opcja %1$s jest równa %2$s."

#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr "Automatyczne generowanie unikatowego kodu CSS odbywa się w tle za pośrednictwem kolejki opartej na cron."

#: tpl/page_optm/settings_css.tpl.php:83
msgid "This will drop the unused CSS on each page from the combined file."
msgstr "Spowoduje to usunięcie nieużywanych arkuszy CSS z każdej strony połączonego pliku."

#: tpl/page_optm/entry.tpl.php:18 tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr "Ustawienia HTML"

#: tpl/inc/in_upgrading.php:15
msgid "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."
msgstr "Wtyczka pamięci podręcznej LiteSpeed ​​została ulepszona. Odśwież stronę, aby zakończyć aktualizację danych konfiguracyjnych."

#: tpl/general/settings.tpl.php:64
msgid "Your %1$s quota on %2$s will still be in use."
msgstr "Twój limit %1$s na %2$s będzie nadal wykorzystywany."

#: tpl/general/settings_inc.guest.tpl.php:27
msgid "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."
msgstr "Opcja ta może pomóc skorygować różnice w pamięci podręcznej dla niektórych zaawansowanych użytkowników urządzeń mobilnych i tabletów."

#: tpl/general/settings_inc.guest.tpl.php:26
msgid "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX."
msgstr "Tryb gościa zapewnia zawsze buforowaną stronę docelową dla zautomatyzowanego gościa podczas pierwszej wizyty, a następnie próby aktualizacji pamięci podręcznej różnią się za pośrednictwem AJAX."

#: tpl/general/settings.tpl.php:104
msgid "Please make sure this IP is the correct one for visiting your site."
msgstr "Upewnij się, że ten adres IP jest właściwy do odwiedzenia Twojej witryny."

#: tpl/general/settings.tpl.php:103
msgid "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."
msgstr "automatycznie wykryty adres IP może nie być dokładny, jeśli posiadasz dodatkowy zestaw adresów IP wychodzących lub jeśli na serwerze skonfigurowano wiele adresów IP."

#: tpl/general/settings.tpl.php:86
msgid "You need to turn %s on and finish all WebP generation to get maximum result."
msgstr "Aby uzyskać najlepsze rezultaty, należy włączyć %s i zakończyć generowanie plików WebP."

#: tpl/general/settings.tpl.php:79
msgid "You need to turn %s on to get maximum result."
msgstr "Aby uzyskać najlepsze rezultaty, należy włączyć %s."

#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr "Opcja ta pozwala na maksymalną optymalizację dla użytkowników korzystających z trybu gościa."

#: tpl/dash/dashboard.tpl.php:54 tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521 tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625 tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713 tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801 tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr "Więcej"

#: tpl/dash/dashboard.tpl.php:301
msgid "Remaining Daily Quota"
msgstr "Pozostały dzienny limit"

#: tpl/crawler/summary.tpl.php:246
msgid "Successfully Crawled"
msgstr "Pomyślnie zindeksowano"

#: tpl/crawler/summary.tpl.php:245
msgid "Already Cached"
msgstr "Już w pamięci podręcznej"

#: tpl/crawler/settings.tpl.php:59
msgid "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."
msgstr "Robot indeksujący użyje Twojej mapy witryny XML lub indeksu mapy witryny. Wpisz tutaj pełny adres URL swojej mapy witryny."

#: tpl/cdn/cf.tpl.php:48
msgid "Optional when API token used."
msgstr "Opcjonalnie, gdy używany jest token API."

#: tpl/cdn/cf.tpl.php:40
msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."
msgstr "Zalecane jest wygenerowanie tokenu przy użyciu szablonu tokenu API Cloudflare „WordPress”."

#: tpl/cdn/cf.tpl.php:35
msgid "Global API Key / API Token"
msgstr "Globalny klucz API / token API"

#: tpl/cdn/other.tpl.php:52
msgid "NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s."
msgstr "UWAGA: QUIC.cloud CDN i Cloudflare nie korzystają z mapowania CDN. Jeśli korzystasz tylko z QUIC.cloud lub Cloudflare, pozostaw to ustawienie %s."

#: tpl/cdn/other.tpl.php:44
msgid "Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN."
msgstr "Włącz to ustawienie %s, jeśli używasz tradycyjnej sieci dostarczania treści (CDN) lub subdomeny dla treści statycznych z QUIC.cloud CDN."

#: tpl/cache/settings_inc.object.tpl.php:47
msgid "Use external object cache functionality."
msgstr "Użyj funkcjonalności zewnętrznej pamięci podręcznej obiektów."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:24
msgid "Serve a separate cache copy for mobile visitors."
msgstr "Udostępniaj oddzielną kopię pamięci podręcznej użytkownikom urządzeń mobilnych."

#: thirdparty/woocommerce.content.tpl.php:36
msgid "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."
msgstr "Domyślnie strony Moje konto, Kasa i Koszyk są automatycznie wykluczane z buforowania. Błędna konfiguracja powiązań stron w ustawieniach WooCommerce może spowodować błędne wykluczenie niektórych stron."

#: src/purge.cls.php:312
msgid "Cleaned all Unique CSS files."
msgstr "Wyczyszczono wszystkie unikatowe pliki CSS."

#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr "Dodaj brakujące rozmiary"

#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr "Optymalizuj tylko dla gości"

#: src/lang.cls.php:191
msgid "Guest Mode JS Excludes"
msgstr "Tryb gościa wyklucza JS"

#: src/lang.cls.php:171
msgid "CCSS Per URL"
msgstr "CCSS według adresu URL"

#: src/lang.cls.php:168
msgid "HTML Lazy Load Selectors"
msgstr "Selektory leniwego wczytywania HTML"

#: src/lang.cls.php:163
msgid "UCSS URI Excludes"
msgstr "Wyklucza URI UCSS"

#: src/lang.cls.php:160
msgid "UCSS Inline"
msgstr "Wbudowany UCSS"

#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr "Optymalizacja gości"

#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr "Tryb gościa"

#: src/error.cls.php:150
msgid "Online node needs to be redetected."
msgstr "Należy ponownie wykryć węzeł online."

#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr "Obecny serwer jest mocno obciążony."

#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr "Zobacz %s, aby dowiedzieć się więcej."

#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr "To ustawienie spowoduje ponowne wygenerowanie listy robotów indeksujących i wyczyszczenie listy wyłączonych!"

#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr "Pozostało %1$s %2$s plików w kolejce"

#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr "Lista wyłączonych robotów indeksujących jest wyczyszczona! Wszystkie roboty indeksujące są ustawione na aktywne! "

#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr "Ponownie wykryto węzeł"

#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr "Brak dostępnego węzła w chmurze po sprawdzeniu obciążenia serwera."

#: src/lang.cls.php:176
msgid "Localization Files"
msgstr "Pliki lokalizacyjne"

#: cli/purge.cls.php:234
msgid "Purged!"
msgstr "Wyczyszczono!"

#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr "Zasoby wymienione tutaj zostaną skopiowane i zastąpione lokalnymi adresami URL."

#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr "Użyj najnowszego zatwierdzenia GitHub Master"

#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr "Użyj najnowszego zatwierdzenia GitHub Dev"

#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr "Nie przetworzono żadnej prawidłowej mapy witryny dla robota indeksującego."

#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr "CSS łączy zewnętrzne i wbudowane"

#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr "Dołącz zewnętrzny CSS i wbudowany CSS do połączonego pliku, gdy %1$s jest również włączony. Ta opcja pomaga zachować priorytety CSS, co powinno zminimalizować potencjalne błędy spowodowane przez Łączenie CSS."

#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr "Zminimalizuj pliki CSS i wbudowany kod CSS."

#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr "Predefiniowana lista zostanie również połączona z powyższymi ustawieniami"

#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr "Lokalizacja"

#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr "Dołącz zewnętrzny JS i wbudowany JS do połączonego pliku, gdy %1$s jest również włączony. Ta opcja pomaga zachować priorytety wykonywania JS, co powinno zminimalizować potencjalne błędy spowodowane przez Łączenie JS."

#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr "Połącz wszystkie lokalne pliki JS w jeden plik."

#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr "Wymienione pliki JS lub wbudowany kod JS nie zostaną odroczone ani opóźnione."

#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr "JS łączy zewnętrzne i wbudowane"

#: src/admin-display.cls.php:805 tpl/banner/new_version.php:114
#: tpl/banner/score.php:142 tpl/banner/slack.php:49
msgid "Dismiss"
msgstr "Odrzuć"

#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr "Najnowszy plik danych to"

#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr "Lista zostanie scalona ze zdefiniowanymi wcześniej znacznikami w lokalnym pliku danych."

#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr "Połącz pliki CSS i wbudowany kod CSS."

#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr "Zminimalizuj pliki JS i wbudowany kod JS."

#: tpl/page_optm/settings_tuning.tpl.php:63
msgid "Listed JS files or inline JS code will not be minified or combined."
msgstr "Wymienione pliki JS lub wbudowany kod JS nie zostaną zminimalizowane ani połączone."

#: tpl/page_optm/settings_tuning_css.tpl.php:31
msgid "Listed CSS files or inline CSS code will not be minified or combined."
msgstr "Wymienione pliki CSS lub wbudowany kod CSS nie zostaną zminimalizowane ani połączone."

#: src/admin-display.cls.php:1311
msgid "This value is overwritten by the Network setting."
msgstr "Wartość ta zostanie nadpisana przez ustawienie sieciowe."

#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr "LQIP wyklucza"

#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr "Obrazy te nie wygenerują LQIP."

#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr "Czy na pewno chcesz przywrócić wszystkie ustawienia do wartości domyślnych?"

#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr "Ta opcja usunie wszystkie znaczniki %s z kodu HTML."

#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr "Czy na pewno chcesz wyczyścić wszystkie węzły chmury?"

#: src/lang.cls.php:193 tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr "Usuń znaczniki Noscript"

#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr "Witryna nie jest zarejestrowana na QUIC.cloud."

#: src/error.cls.php:73 tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144 tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr "Kliknij tutaj, aby ustawić."

#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr "Zlokalizuj zasoby"

#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr "Konfigurowanie własnych nagłówków"

#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr "Spowoduje to usunięcie wszystkich zlokalizowanych zasobów"

#: src/gui.cls.php:776 src/gui.cls.php:996 tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr "Zlokalizowane zasoby"

#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr "Komentarze są obsługiwane. Rozpocznij wiersz od %s, aby przekształcić go w wiersz komentarza."

#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr "Tylko źródła HTTPS."

#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr "Zlokalizuj zasoby zewnętrzne."

#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr "Ustawienia lokalizacji"

#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr "Użyj usługi online QUIC.cloud do generowania unikatowego CSS."

#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr "Wygeneruj UCSS"

#: tpl/dash/dashboard.tpl.php:668 tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr "Unikatowy CSS"

#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr "Wyczyść wpisy pamięci podręcznej utworzone przez tę wtyczkę, z wyjątkiem pamięci podręcznej Critical CSS, Unique CSS i LQIP"

#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr "Raport LiteSpeed"

#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr "Rozmiary grup miniaturek obrazków"

#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr "Ignoruj pewne ciągi zapytań podczas buforowania. (wymaga LSWS %s)"

#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr "W przypadku adresów URL zawierających symbole wieloznaczne może wystąpić opóźnienie w inicjowaniu zaplanowanego czyszczenia."

#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr "Z założenia ta opcja może wyświetlać nieaktualną treść. Nie włączaj tej opcji, jeśli Ci to nie odpowiada."

#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr "Podawać przestarzałe"

#: src/admin-display.cls.php:1309
msgid "This value is overwritten by the primary site setting."
msgstr "Wartość ta zostanie nadpisana przez ustawienie witryny głównej."

#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr "Jeden lub więcej pobranych obrazków nie pasuje do zgłoszonego obrazka md5"

#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr "Niektóre zoptymalizowane pliki obrazków utraciły ważność i zostały usunięte."

#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr "Masz za dużo żądanych obrazków. Spróbuj ponownie za kilka minut."

#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr "Pobrany obrazek WebP md5 nie pasuje do zgłoszonego obrazka WebP md5."

#: src/img-optm.cls.php:1131
msgid "Pulled AVIF image md5 does not match the notified AVIF image md5."
msgstr "Pobrany obrazek AVIF md5 nie pasuje do zgłoszonego obrazka AVIF md5."

#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr "Przeczytaj dokumentację LiteSpeed"

#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr "Kolejka nie jest jeszcze pobrana. Informacje o kolejce: %s."

#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr "Określ, jak długo, w sekundach, pliki Gravatar są przechowywane w pamięci podręcznej."

#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr "Usunięto %1$s nieprawidłowych obrazków."

#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr "Ustawienia ogólne pamięci podręcznej LiteSpeed"

#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr "Spowoduje to usunięcie wszystkich zbuforowanych plików gravatar"

#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr "Zapobiega powstawaniu logów w dzienniku debugowania wymienionych stron."

#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr "Loguj tylko wybrane strony."

#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr "Określ maksymalny rozmiar pliku dziennika."

#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr "Aby nie dopuścić do zapełnienia dysku, ustawienie to powinno być wyłączone, gdy wszystko działa."

#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr "Naciśnij przycisk %s, aby przerwać beta testy i wrócić do aktualnej wersji z WordPress Plugin Directory."

#: tpl/toolbox/beta_test.tpl.php:65 tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr "Użyj najnowszej wersji z WordPress.org"

#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr "LUB"

#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr "Ta sekcja służy do przełączania wersji wtyczki. Aby przetestować beta GitHub commit, wpisz adres URL commit w polu poniżej."

#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr "Zresetuj ustawienia"

#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr "Narzędzia LiteSpeed Cache"

#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr "Beta testy"

#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr "Przegląd logów"

#: tpl/toolbox/entry.tpl.php:33 tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr "Ustawienia debugowania"

#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr "Włącz, aby kontrolować Heartbeat w edytorze zaplecza."

#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr "Włącz, aby kontrolować Heartbeat w zapleczu."

#: tpl/toolbox/heartbeat.tpl.php:58 tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr "Ustaw na %1$s, aby zabronić Heartbeat na %2$s."

#: tpl/toolbox/heartbeat.tpl.php:57 tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr "Interwał ważności WordPressa wynosi %s sekund."

#: tpl/toolbox/heartbeat.tpl.php:56 tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr "Określić interwał heartbeat w %s sekundach."

#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr "Włącz, aby kontrolować Heartbeat we front-endzie."

#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr "Wyłącz interwał heartbeat WordPressa w celu zmniejszenia obciążenia serwera."

#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr "Kontrola Heartbeat"

#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr "podaj więcej informacji tutaj, aby pomóc zespołowi LiteSpeed w debugowaniu."

#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr "Opcjonalnie"

#: tpl/toolbox/report.tpl.php:100 tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr "Generowanie linku dla aktualnego użytkownika"

#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr "Link bez hasła"

#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr "Informacje systemowe"

#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr "Przejdź to listy wtyczek"

#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr "Zainstaluj DoLogin Security"

#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr "Sprawdź moje publiczne IP z"

#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr "Twój adres IP serwera"

#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr "Wprowadź adres IP tej strony, aby umożliwić usługom chmurowym bezpośrednie wywołanie IP zamiast nazwy domeny. Eliminuje to koszty związane z wyszukiwaniem DNS i CDN."

#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr "Spowoduje to włączenie funkcji cron dla robota indeksującego."

#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr "Ustawienia ogólne robota indeksującego"

#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr "Usuń z czarnej listy"

#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr "Wyczyść czarną listę"

#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr "Czy na pewno chcesz usunąć wszystkie istniejące czarne listy?"

#: tpl/crawler/blacklist.tpl.php:88 tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr "Umieszczony na czarnej liście, ponieważ nie można go buforować"

#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr "Dodaj do czarnej listy"

#: tpl/crawler/blacklist.tpl.php:43 tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr "Operacja"

#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr "Mapa witryny ogółem"

#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr "Lista mapy witryny"

#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr "Odśwież mapę robota indeksującego"

#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr "Wyczyść mapę robota indeksującego"

#: tpl/crawler/blacklist.tpl.php:28 tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr "Czarna lista"

#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr "Mapa"

#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr "Podsumowanie"

#: tpl/crawler/map.tpl.php:63 tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr "Brak pamięci podręcznej"

#: tpl/crawler/map.tpl.php:62 tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr "Trafienie pamięci podręcznej"

#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr "Czekanie na indeksowanie"

#: tpl/crawler/blacklist.tpl.php:89 tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104 tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr "Zablokowano"

#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr "Brak"

#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr "Odsłony"

#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr "Oczekuje"

#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr "Uruchomiony"

#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr "Użyj %1$s w %2$s, aby zaznaczyć, że ten plik cookie nie został ustawiony."

#: src/admin-display.cls.php:459
msgid "Add new cookie to simulate"
msgstr "Dodaj nowy plik cookie do symulacji"

#: src/admin-display.cls.php:458
msgid "Remove cookie simulation"
msgstr "Usuń symulację cookie"

#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr "Regułka htaccess jest: %s"

#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr "Więcej ustawień dostępnych jest poniżej menu %s"

#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr "Czas w sekundach, przez który pliki będą przechowywane w pamięci podręcznej przeglądarki przed wygaśnięciem."

#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr "Użytkownicy OpenLiteSpeed proszeni są o sprawdzenie tego"

#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr "Ustawienia pamięci podręcznej przeglądarki"

#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr "Ścieżki zawierające te ciągi zostaną zmuszone do umieszczenia w pamięci podręcznej niezależnie od ustawień bez-buforowania."

#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr "Po włączeniu QUIC.cloud CDN nadal możesz widzieć nagłówki pamięci podręcznej z lokalnego serwera."

#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr "Opcjonalny drugi parametr może być użyty do określenia kontroli pamięci podręcznej. Użyj spacji, aby oddzielić"

#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr "Powyższe kody jednorazowe zostaną automatycznie przekonwertowane na ESI."

#: tpl/cache/entry.tpl.php:21 tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr "Przeglądarka"

#: tpl/cache/entry.tpl.php:20 tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr "Obiekt"

#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr "Domyślnym portem dla %1$s jest %2$s."

#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr "Ustawienia pamięci podręcznej obiektu"

#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr "Podaj kod statusu HTTP i liczbę sekund, przez które strona ma być buforowana, rozdzielając je spacją."

#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr "Określ, jak długo (w sekundach) będzie buforowana strona główna."

#: tpl/cache/entry.tpl.php:67 tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr "TTL"

#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr "Jeśli WŁĄCZONY, nieaktualna kopia strony z pamięci podręcznej będzie wyświetlana odwiedzającym, dopóki nie będzie dostępna nowa kopia z pamięci podręcznej. Zmniejsza obciążenie serwera podczas kolejnych wizyt. Jeśli WYŁĄCZONY, strona będzie generowana dynamicznie, podczas gdy odwiedzający będą czekać."

#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr "Zamień"

#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr "Ustaw, aby dodać %1$s do wszystkich reguł %2$s przed buforowaniem CSS, aby określić sposób wyświetlania krojów pisma podczas pobierania."

#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr "Lista awatarów w kolejce oczekujących na aktualizację"

#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr "Odśwież pamięć podręczną Gravatar przez crona."

#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr "Przyspiesza działanie poprzez buforowanie Gravatara (globalnie rozpoznawanych awatarów)."

#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr "Przechowuj Gravatar lokalnie."

#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."
msgstr "Nie udało się utworzyć tabeli Awatar. Postępuj zgodnie z <a %s>wskazówkami dotyczącymi tworzenia tabeli z LiteSpeed ​​Wiki</a>, aby zakończyć konfigurację."

#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr "Żądania LQIP nie będą wysyłane w przypadku obrazków, których szerokość i wysokość są mniejsze od podanych wymiarów."

#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr "pikseli"

#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr "Większa liczba wygeneruje symbol zastępczy o wyższej rozdzielczości, ale spowoduje to utworzenie większego pliku, co zwiększy rozmiar strony i zużyje więcej punktów."

#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr "Określ jakość podczas generowania LQIP."

#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr "Wyłącz tę opcję, aby użyć symboli zastępczych w jednolitym kolorze."

#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr "Użyj usługi generatora QUIC.cloud LQIP (Obraz zastępczy niskiej jakości), aby uzyskać responsywne podglądy obrazków podczas wczytywania."

#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr "Określ responsywny kolor symbolu zastępczego SVG."

#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr "Zmienne %s zostaną zastąpione skonfigurowanym kolorem tła."

#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr "Zmienne %s zostaną zastąpione odpowiednimi właściwościami obrazka."

#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr "Plik zostanie na bieżąco przekonwertowany na symbol zastępczy SVG w formacie base64."

#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr "Określ plik SVG, który będzie używany jako symbol zastępczy podczas generowania lokalnego."

#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr "Zapobiegaj leniwemu wczytywaniu wymienionych stron."

#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr "Iframy posiadające te nazwy klas nadrzędnych nie będą leniwie wczytywane."

#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr "Iframy zawierające te nazwy klas nie będą leniwie wczytywane."

#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr "Obrazki posiadające te nazwy klas nadrzędnych nie będą leniwie wczytywane."

#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr "Optymalizacja strony LiteSpeed Cache"

#: tpl/page_optm/entry.tpl.php:21 tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr "Wykluczone media"

#: tpl/page_optm/entry.tpl.php:16 tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr "Ustawienia CSS"

#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr "Zalecane jest %s."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr "Odroczony"

#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr "Domyślne"

#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr "Może to poprawić szybkość wczytywania strony."

#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr "Automatycznie włącz wstępne pobieranie DNS dla wszystkich adresów URL w dokumencie, łącznie z obrazkami, arkuszami CSS, skryptami JavaScript itd."

#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr "Nowa wersja dla programistów %s jest już dostępna."

#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr "Dostępna nowa wersja dla programistów!"

#: tpl/banner/cloud_news.tpl.php:51 tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr "Odrzuć to powiadomienie"

#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr "Tweetnij to"

#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr "Podgląd tweeta"

#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr "Dowiedz się więcej"

#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr "Właśnie odblokowałeś promocję od QUIC.cloud!"

#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr "Ustawienie jakości kompresji obrazka w WordPressie na 100."

#: tpl/img_optm/entry.tpl.php:17 tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19 tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr "Ustawienia optymalizacji obrazków"

#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr "Czy na pewno usunąć wszystkie zoptymalizowane obrazki?"

#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr "Użyj zoptymalizowanych plików"

#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr "Wróć do używania zoptymalizowanych obrazków w swojej witrynie"

#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr "Użyj oryginalnych plików"

#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr "Używaj oryginalnych obrazków (niezoptymalizowanych) na swojej witrynie"

#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr "Możesz szybko przełączać się między używaniem oryginalnych (niezoptymalizowanych wersji) i zoptymalizowanych plików graficznych. Będzie to miało wpływ na wszystkie obrazki na Twojej witrynie internetowej, zarówno zwykłe, jak i webp, jeśli są dostępne."

#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr "Narzędzia optymalizacyjne"

#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr "Ponowne skanowanie nowych miniaturek"

#: tpl/img_optm/summary.tpl.php:289
msgid "Congratulations, all gathered!"
msgstr "Gratulacje, wszystkim zebranym!"

#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr "Co to jest grupa obrazków?"

#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr "Usuń wszystkie kopie zapasowe oryginalnych obrazków"

#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr "Oblicz przestrzeń dyskową kopii zapasowych"

#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr "Status optymalizacji"

#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr "Aktualny limit to"

#: tpl/img_optm/summary.tpl.php:68
msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."
msgstr "Aby mieć pewność, że nasz serwer będzie mógł komunikować się z Twoim serwerem bez żadnych problemów i wszystko będzie działać prawidłowo, w przypadku kilku pierwszych żądań liczba grup obrazków dozwolonych w pojedynczym żądaniu jest ograniczona."

#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr "Możesz zamówić maksymalnie %s obrazków na raz."

#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr "Zoptymalizuj obrazki za pomocą naszego serwera QUIC.cloud"

#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr "Wersje nowsze niż ta liczba dni zostaną zachowane podczas czyszczenia wersji."

#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr "Dzień/dni"

#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr "Określ liczbę ostatnich wersji, które mają zostać zachowane podczas czyszczenia wersji."

#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr "Optymalizacja bazy danych LiteSpeed Cache"

#: tpl/db_optm/entry.tpl.php:17 tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr "Ustawienia optymalizacji bazy danych"

#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr "Nazwa opcji"

#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr "Podsumowanie bazy danych"

#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr "Jesteśmy dobrzy. Żadna tabela nie używa silnika MyISAM."

#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr "Konwertuj do InnoDB"

#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr "Narzędzie"

#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr "Silnik"

#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr "Tabela"

#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr "Konwerter silnika tabel bazy danych"

#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr "Wyczyść wersje starsze niż %1$s dni, z wyłączeniem %2$s najnowszych wersji"

#: tpl/dash/dashboard.tpl.php:87 tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr "Aktualnie aktywny robot indeksujący"

#: tpl/dash/dashboard.tpl.php:84 tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr "Robot(y) indeksujący(e)"

#: tpl/crawler/map.tpl.php:77 tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr "Status robota indeksującego"

#: tpl/dash/dashboard.tpl.php:649 tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737 tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr "Wymuś cron"

#: tpl/dash/dashboard.tpl.php:646 tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734 tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr "Żądania w kolejce"

#: tpl/dash/dashboard.tpl.php:639 tpl/dash/dashboard.tpl.php:683
#: tpl/dash/dashboard.tpl.php:727 tpl/dash/dashboard.tpl.php:771
msgid "Time to execute previous request: %s"
msgstr "Czas wykonania poprzedniego żądania: %s"

#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr "Prywatna pamięć podręczna"

#: tpl/dash/dashboard.tpl.php:58 tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr "Publiczna pamięć podręczna"

#: tpl/dash/dashboard.tpl.php:53 tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr "Status pamięci podręcznej"

#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr "Ostatnie pociągnięcie"

#: tpl/dash/dashboard.tpl.php:520 tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr "Podsumowanie optymalizacji obrazka"

#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr "Odśwież wynik strony"

#: tpl/dash/dashboard.tpl.php:383 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr "Czy na pewno chcesz ponownie wykryć najbliższy serwer chmury dla tej usługi?"

#: tpl/dash/dashboard.tpl.php:382 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Current closest Cloud server is %s. Click to redetect."
msgstr "Najbliższy serwer w chmurze to %s. Kliknij, aby ponownie go wykryć."

#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr "Odśwież czas wczytywania strony"

#: tpl/dash/dashboard.tpl.php:354 tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr "Przejdź do kokpitu QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:207 tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr "Miejsce na obrazek o niskiej jakości"

#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr "Synchronizuj dane z chmury"

#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr "Statystyki wykorzystania usługi QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:293 tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr "Łącznie zoptymalizowane obrazki w tym miesiącu"

#: tpl/dash/dashboard.tpl.php:292 tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr "Całkowite użycie"

#: tpl/dash/dashboard.tpl.php:274 tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr "Statystyki użytkowania usługi Płać za użytkowanie"

#: tpl/dash/dashboard.tpl.php:271 tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr "Saldo PAYG"

#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr "Płać za użytkowanie"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr "Użycie"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr "Szybkie wykorzystanie kolejki"

#: tpl/dash/dashboard.tpl.php:206 tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr "Szerokość pasma CDN"

#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr "Kokpit LiteSpeed ​​Cache"

#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr "Kokpit sieci"

#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr "Obecnie nie są używane żadne usługi w chmurze"

#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr "Kliknij, aby wyczyścić wszystkie węzły w celu ich ponownego wykrycia."

#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr "Aktualne węzły chmury w użyciu"

#: tpl/cdn/qc.tpl.php:126 tpl/cdn/qc.tpl.php:133 tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr "Odnośnik do QUIC.cloud"

#: tpl/general/entry.tpl.php:17 tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19 tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr "Ustawienia ogólne"

#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr "Określ, które atrybuty elementów HTML zostaną zastąpione mapowaniem CDN."

#: src/admin-display.cls.php:485
msgid "Add new CDN URL"
msgstr "Dodaj nowy adres URL CDNa"

#: src/admin-display.cls.php:484
msgid "Remove CDN URL"
msgstr "Usuń adres URL CDNa"

#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr "Aby włączyć następującą funkcjonalność, należy włączyć Cloudflare API w ustawieniach CDN."

#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr "QUIC.cloud"

#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr "Ustawienia WooCommerce"

#: src/gui.cls.php:788 src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr "Pamięć podręczna LQIP"

#: src/admin-settings.cls.php:297 src/admin-settings.cls.php:333
msgid "Options saved."
msgstr "Opcje zapisane."

#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr "Kopie zapasowe zostały pomyślnie usunięte."

#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr "Pomyślnie obliczono kopie zapasowe."

#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr "Pomyślnie przeskanowano %d obrazków."

#: src/img-optm.cls.php:1527 src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr "Ponowne skanowanie przebiegło pomyślnie."

#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr "Pomyślnie zniszczono wszystkie dane optymalizacyjne."

#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr "Pomyślnie wyczyszczono niedokończone dane."

#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr "Pull Cron jest uruchomiony"

#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr "Serwer w chmurze nie znalazł prawidłowego obrazka w bieżącym żądaniu."

#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr "Nie znaleziono prawidłowego obrazka w bieżącym żądaniu."

#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr "Wysłano %1$s na serwer w chmurze, zaakceptowano %2$s."

#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr "Maksymalny wiek wersji"

#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr "Maksymalna ilość rewizji"

#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr "Wykluczenia debugowania URI"

#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr "Debugowanie URI zawiera"

#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr "Atrybut HTML do zastąpienia"

#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr "Użyj mapowania CDN"

#: tpl/general/online.tpl.php:100
msgid "QUIC.cloud CDN:"
msgstr "QUIC.cloud CDN:"

#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr "Edytor Heartbeat TTL"

#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr "Edytor Heartbeat"

#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr "Zaplecze Heartbeat TTL"

#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr "Kontrola zaplecza Heartbeat"

#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr "Front-end Heartbeat TTL"

#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr "Kontrola front-endu Heartbeat"

#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr "Ścieżka zaplecza .htaccess"

#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr "Ścieżka front-endu .htaccess"

#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr "Kody jednorazowe ESI"

#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr "Kontrola jakości obrazka WordPress"

#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr "Automatyczne żądanie Cron"

#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr "Generuj LQIP w tle"

#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr "Minimalne wymiary LQIP"

#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr "Jakość LQIP"

#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr "Generator chmur LQIP"

#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr "Responsywny symbol zastępczy SVG"

#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr "Responsywny symbol zastępczy koloru"

#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr "Podstawowy symbol zastępczy obrazka"

#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr "Wykluczenia leniwego wczytywania URI"

#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr "Nazwa klasy nadrzędnej iframe leniwego wczytywania wyklucza"

#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr "Nazwa klasy iframe leniwego wczytywania wyklucza"

#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr "Nazwa klasy nadrzędnej leniwego wczytywania obrazka wyklucza"

#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr "Pamięć podręczna Gravatar TTL"

#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr "Pamięć podręczna Gravatar Cron"

#: src/gui.cls.php:812 src/gui.cls.php:1032 src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49 tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr "Pamięć podręczna Gravatara"

#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr "Kontrola wstępnego pobierania DNS"

#: src/lang.cls.php:173 tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr "Optymalizacja wyświetlania kroju pisma"

#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr "Wymuś publiczne identyfikatory URI pamięci podręcznej"

#: src/lang.cls.php:121
msgid "Notifications"
msgstr "Powiadomienia"

#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr "Domyślna strona kodowa stanu HTTP TTL"

#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr "Domyślny REST TTL"

#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr "Włącz pamięć podręczną"

#: src/cloud.cls.php:320 src/cloud.cls.php:377 src/lang.cls.php:106
msgid "Server IP"
msgstr "Adres IP serwera"

#: src/lang.cls.php:30
msgid "Images not requested"
msgstr "Obrazki nie zostały zażądane"

#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr "Synchronizacja limitu kredytowego z serwerem w chmurze przebiegła pomyślnie."

#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr "Nie udało się nawiązać komunikacji z serwerem QUIC.cloud"

#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr "Dobre wieści z serwera QUIC.cloud"

#: src/cloud.cls.php:1767 src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr "Komunikat z serwera QUIC.cloud"

#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr "Proszę spróbować po %1$s dla usługi %2$s."

#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr "Brak dostępnego węzła chmury."

#: src/cloud.cls.php:1131 src/cloud.cls.php:1144 src/cloud.cls.php:1182
#: src/cloud.cls.php:1250 src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr "Błąd chmury"

#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr "Baza danych jest aktualizowana w tle od %s. Ten komunikat zniknie po zakończeniu aktualizacji."

#: src/media.cls.php:541
msgid "Restore from backup"
msgstr "Przywracanie z kopii zapasowej"

#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr "Nie istnieje kopia zapasowa niezoptymalizowanego pliku WebP."

#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr "Plik WebP zmniejszony o %1$s (%2$s)"

#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr "Obecnie korzystam z oryginalnej (niezoptymalizowanej) wersji pliku WebP."

#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr "Obecnie używana jest zoptymalizowana wersja pliku WebP."

#: src/media.cls.php:464
msgid "Orig"
msgstr "Oryginał"

#: src/media.cls.php:461
msgid "(no savings)"
msgstr "(bez zapisania)"

#: src/media.cls.php:460
msgid "Orig %s"
msgstr "Oryginał %s"

#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr "Gratulacje! Twój plik został już zoptymalizowany"

#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr "Nie istnieje kopia zapasowa oryginalnego pliku."

#: src/media.cls.php:453 src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr "Używanie zoptymalizowanej wersji pliku. "

#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr "Oryginał zapisany %s"

#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr "Oryginalny plik zmniejszony o %1$s (%2$s)"

#: src/media.cls.php:421 src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr "Kliknij, aby przejść do wersji zoptymalizowanej."

#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr "Obecnie używana jest oryginalna (niezoptymalizowana) wersja pliku."

#: src/media.cls.php:420 src/media.cls.php:490
msgid "(non-optm)"
msgstr "(nieoptymalizowany)"

#: src/media.cls.php:417 src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr "Kliknij, aby przejść do wersji oryginalnej (niezoptymalizowanej)."

#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr "Obecnie korzystam ze zoptymalizowanej wersji pliku."

#: src/media.cls.php:416 src/media.cls.php:454 src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr "(optymalizowany)"

#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr "Podgląd obrazka LQIP dla rozmiaru %s"

#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr "LQIP"

#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr "Wcześniej znajdował się na czarnej liście"

#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr "Ręcznie dodano do listy blokowania"

#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr "Zasady agenta mobilnego"

#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr "Mapa witryny utworzona pomyślnie: %d elementów"

#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr "Mapa witryny została pomyślnie wyczyszczona"

#: src/admin-display.cls.php:1512
msgid "Invalid IP"
msgstr "Błędny adres IP"

#: src/admin-display.cls.php:1484
msgid "Value range"
msgstr "Zakres wartości"

#: src/admin-display.cls.php:1481
msgid "Smaller than"
msgstr "Mniejszy niż"

#: src/admin-display.cls.php:1479
msgid "Larger than"
msgstr "Większy niż"

#: src/admin-display.cls.php:1473
msgid "Zero, or"
msgstr "Zero lub"

#: src/admin-display.cls.php:1461
msgid "Maximum value"
msgstr "Maksymalna wartość"

#: src/admin-display.cls.php:1458
msgid "Minimum value"
msgstr "Minimalna wartość"

#: src/admin-display.cls.php:1438
msgid "Path must end with %s"
msgstr "Ścieżka musi kończyć się z %s"

#: src/admin-display.cls.php:1418
msgid "Invalid rewrite rule"
msgstr "Nieprawidłowa reguła przepisywania"

#: src/admin-display.cls.php:1318
msgid "Currently set to %s"
msgstr "Aktualnie ustawione na %s"

#: src/admin-display.cls.php:1305
msgid "This value is overwritten by the PHP constant %s."
msgstr "Wartość ta zostanie nadpisana przez stałą PHP %s."

#: src/admin-display.cls.php:261
msgid "Toolbox"
msgstr "Narzędzia"

#: src/admin-display.cls.php:259
msgid "Database"
msgstr "Baza danych"

#: src/admin-display.cls.php:258 tpl/dash/dashboard.tpl.php:205
#: tpl/dash/network_dash.tpl.php:37 tpl/general/online.tpl.php:83
#: tpl/general/online.tpl.php:133 tpl/general/online.tpl.php:148
msgid "Page Optimization"
msgstr "Optymalizacja strony"

#: src/admin-display.cls.php:251 tpl/dash/entry.tpl.php:16
msgid "Dashboard"
msgstr "Kokpit"

#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr "Konwersja do InnoDB zakończona sukcesem."

#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr "Wyczyszczono wszystkie pliki Gravatara."

#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr "Wyczyszczono wszystkie pliki LQIP."

#: src/error.cls.php:238
msgid "Unknown error"
msgstr "Nieznany błąd"

#: src/error.cls.php:227
msgid "Your domain has been forbidden from using our services due to a previous policy violation."
msgstr "Twoja domena została wykluczona z naszych usług z powodu wcześniejszego naruszenia zasad."

#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr "Walidacja wywołania zwrotnego do Twojej domeny nie powiodła się. Upewnij się, że żadna zapora nie blokuje naszych serwerów. Kod odpowiedzi: "

#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr "Walidacja wywołania zwrotnego do Twojej domeny nie powiodła się. Upewnij się, że żadna zapora nie blokuje naszych serwerów."

#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr "Walidacja wywołania zwrotnego do Twojej domeny nie powiodła się z powodu niezgodności skrótu."

#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr "Twój wniosek oczekuje na zatwierdzenie."

#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr "Poprzednie żądanie jest zbyt nowe. Spróbuj ponownie po %s."

#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr "Poprzednie zapytanie było zbyt aktualne. Proszę spróbować ponownie później."

#: src/error.cls.php:194
msgid "Crawler disabled by the server admin."
msgstr "Crawler wyłączony przez administratora serwera."

#: src/error.cls.php:190
msgid "Failed to create table %1$s! SQL: %2$s."
msgstr "Nie udało się utworzyć tabeli %1$s! SQL: %2$s."

#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr "Nie można znaleźć %1$s w %2$s."

#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr "Liczba punktów nie jest wystarczająca do realizacji bieżącego żądania."

#: src/error.cls.php:123
msgid "There is proceeding queue not pulled yet."
msgstr "Kolejka nie została jeszcze uruchomiona."

#: src/error.cls.php:115
msgid "The image list is empty."
msgstr "Lista obrazków jest pusta."

#: src/task.cls.php:289
msgid "LiteSpeed Crawler Cron"
msgstr "Robot indeksujący Cron LiteSpeed"

#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr "Włącz tę opcję, aby automatycznie wyświetlać najnowsze wiadomości, w tym hotfixy, nowe wersje, dostępne wersje beta, promocje."

#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr "Aby przyznać dostęp do konta wp-admin zespołowi pomocy technicznej LiteSpeed, wygeneruj odnośnik bez hasła dla aktualnie zalogowanego użytkownika. Odnośnik zostanie wysłany wraz z raportem."

#. translators: %s: Link tags
#: tpl/toolbox/report.tpl.php:112
msgid "Generated links may be managed under %sSettings%s."
msgstr "Wygenerowanymi odnośnikami można zarządzać w %sUstawieniach%s."

#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr "Proszę NIE udostępniać nikomu powyższego linku bez hasła."

#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr "Aby wygenerować odnośnik bez hasła umożliwiający dostęp do zespołu wsparcia LiteSpeed, musisz zainstalować %s."

#: tpl/banner/cloud_news.tpl.php:30 tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr "Zainstaluj"

#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr "Te opcje są dostępne tylko z LiteSpeed Enterprise Web Server lub QUIC.cloud CDN."

#: tpl/banner/score.php:74 tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr "Wynik PageSpeed"

#: tpl/banner/score.php:62 tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411 tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr "Ulepszone przez"

#: tpl/banner/score.php:53 tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403 tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr "Po"

#: tpl/banner/score.php:45 tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395 tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr "Przed"

#: tpl/banner/score.php:40 tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr "Czas ładowania strony"

#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr "Aby korzystać z funkcji buforowania, musisz posiadać serwer WWW LiteSpeed ​​lub używać QUIC.cloud CDN."

#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr "Zachowaj dane EXIF/XMP"

#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr "Wypróbuj wersję GitHub"

#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr "Jeżeli wyłączysz którekolwiek z powyższych ustawień, usuń powiązane rodzaje plików z pola %s."

#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr "Mogą być używanie pełne lub częściowe stringi."

#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr "Obrazki zawierające tą nazwę klasy nie będą wczytywane przez lazy load."

#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr "Wykluczona nazwa klasy leniwego wczytywania obrazka"

#: tpl/cache/settings-cache.tpl.php:139 tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr "Na przykład %1$s definiuje TTL na %2$s sekund dla %3$s."

#: tpl/cache/settings-cache.tpl.php:136 tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr "Aby zdefiniować niestandardowy czas życia (TTL) dla identyfikatora URI, należy na końcu identyfikatora URI dodać spację i wartość TTL."

#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr "Może później"

#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr "Włącz automatyczne aktualizacje"

#: tpl/banner/new_version.php:77 tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr "Ulepszenie"

#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr "Nowe wydanie %s jest dostępne."

#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr "Nowa wersja jest dostępna!"

#: tpl/banner/score.php:121
msgid "Created with ❤️ by LiteSpeed team."
msgstr "Stworzone z ❤️ przez zespół LiteSpeed."

#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr "Pewnie, chętnie napiszę recenzję!"

#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr "Dziękujemy za używanie wtyczki LiteSpeed Cache!"

#: src/activation.cls.php:570
msgid "Upgraded successfully."
msgstr "Aktualizacja przebiegła pomyślnie."

#: src/activation.cls.php:561 src/activation.cls.php:566
msgid "Failed to upgrade."
msgstr "Aktualizacja nie powiodła się."

#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr "Zmieniono ustawienie pomyślnie."

#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr "Przykład ESI dla programistów"

#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr "Zamień %1$s z %2$s."

#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr "Możesz włączyć krótkie kody w blokach ESI."

#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr "WpW: Prywatna pamięć podręczna vs. Publiczna pamięć podręczna"

#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr "Dołącz string zapytania %s do zasobów, aby obejść tę akcję."

#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr "Google reCAPTCHA zostanie automatycznie pominięte."

#: tpl/crawler/settings.tpl.php:172
msgid "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."
msgstr "Aby przeszukać konkretny plik ciasteczka, wprowadź nazwę pliku ciasteczka i wartości, które chcesz przeszukać. Wartości powinny być po jednej na wiersz. Zostanie utworzony jeden indeksujący na wartość pliku ciasteczka, na symulowaną rolę."

#: src/admin-display.cls.php:456 tpl/crawler/settings.tpl.php:179
msgid "Cookie Values"
msgstr "Wartości Cookie"

#: src/admin-display.cls.php:455
msgid "Cookie Name"
msgstr "Nazwa Cookie"

#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr "Symulacja Cookie"

#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr "Użyj biblioteki Web Font Loader, aby ładować czcionki Google asynchronicznie, pozostawiając inne CSS w stanie nienaruszonym."

#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr "Włącz tę opcję, aby LiteSpeed ​​Cache aktualizowało się automatycznie, gdy tylko zostanie wydana nowa wersja. Jeśli wyłączone, aktualizuj ręcznie jak zwykle."

#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr "Automatycznie uaktualnij"

#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr "Twoje IP"

#: src/import.cls.php:156
msgid "Reset successfully."
msgstr "Pomyślnie zresetowano ustawienia."

#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr "Spowoduje to przywrócenie wszystkich ustawień domyślnych."

#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr "Zresetuj wszystkie ustawienia"

#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr "Osobne pliki krytycznego CSS zostaną wygenerowane dla ścieżek zawierających te wpisy."

#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr "Oddzielne identyfikatory URI pamięci podręcznej CCSS"

#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr "Jeśli na przykład każda strona w witrynie ma inne formatowanie, wpisz %s w polu. Oddzielne krytyczne pliki CSS będą przechowywane dla każdej strony w witrynie."

#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr "Wymień typy treści, w których każdy element tego typu powinien mieć wygenerowany własny CCSS."

#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr "Oddzielne typy treści CCSS"

#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr "Lista rozmiarów w kolejce czeka na crona"

#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr "Jeśli ustawione na %1$s, zanim element zastępczy zostanie zlokalizowany, zostanie użyta konfiguracja %2$s."

#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr "Automatycznie generuj LQIP w tle za pomocą kolejki cron."

#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr "Spowoduje to wygenerowanie symbolu zastępczego o takich samych wymiarach jak obrazek, jeśli ma atrybuty szerokości i wysokości."

#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr "Elementy zastępcze obrazu responsywnego mogą pomóc w zmniejszeniu przetasowania układu podczas wczytywania obrazków."

#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr "Responsywny element zastępczy"

#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr "Spowoduje to usunięcie wszystkich plików LQIP elementów zastępczych  dla wygenerowanych obrazów"

#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr "Proszę włączyć LiteSpeed Cache w ustawieniach wtyczki."

#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr "Włącz moduł LSCache na poziomie serwera lub skontaktuj się z dostawcą usług hostingowych."

#: src/cloud.cls.php:1633 src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr "Nie powiodło się żądanie przez WordPress"

#. Description of the plugin
#: litespeed-cache.php
msgid "High-performance page caching and site optimization from LiteSpeed"
msgstr "Wysokowydajne buforowanie stron i optymalizacja strony od LiteSpeed"

#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr "Zrestartowano zoptymalizowane dane pomyślnie."

#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr "Aktualizuj teraz %s"

#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr "Zobacz szczegóły %1$s w wersji %2$s"

#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5:
#. class/aria
#: src/gui.cls.php:1103
msgid "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."
msgstr "<a href=\"%1$s\" %2$s>Zobacz szczegóły wersji %3$s</a> lub <a href=\"%4$s\" %5$s target=\"_blank\">zaktualizuj teraz</a>."

#: src/gui.cls.php:1079
msgid "Install %s"
msgstr "Zainstaluj %s"

#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr "Funkcja pamięci podręcznej LSCache na tej stronie jest aktualnie niedostępna!"

#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr "%1$s wersja wtyczki %2$s jest wymagana dla tej akcji."

#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr "Pracujemy ciężko, aby ulepszyć Twoje doświadczenie z usługą online. Usługa będzie niedostępna podczas naszych prac. Przepraszamy za wszelkie niedogodności."

#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr "Automatycznie usuwaj oryginalne kopie zapasowe obrazków po pobraniu zoptymalizowanych obrazków."

#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr "Usuń oryginalne kopie zapasowe"

#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr "Automatycznie żądaj optymalizacji za pomocą zadania cron."

#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr "Kopia zapasowa każdego obrazka jest zapisywana przed optymalizacją."

#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr "Obrazki zamieniono pomyślnie."

#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr "Może to poprawić jakość, ale może skutkować większymi obrazami niż kompresja stratna."

#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr "Optymalizuj obrazki używając kompresji bezstratnej."

#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr "Zoptymalizuj bezstratnie"

#: tpl/img_optm/settings.media_webp.tpl.php:25
msgid "Request WebP/AVIF versions of original images when doing optimization."
msgstr "Podczas optymalizacji należy zażądać wersji WebP/AVIF oryginalnych obrazków."

#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr "Zoptymalizuj obrazki i zapisz kopie zapasowe oryginałów w tym samym folderze."

#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr "Zoptymalizuj oryginalne obrazki"

#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr "Po włączeniu tej opcji %s kroje pisma Google będą wczytywane asynchronicznie."

#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr "Wyczyszczono wszystkie krytyczne pliki CSS."

#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr "Spowoduje to wstawienie asynchronicznej biblioteki CSS w celu uniknięcia blokowania renderowania."

#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr "Wewnętrzny CSS Async Lib"

#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr "Uruchom kolejkę ręcznie"

#: tpl/page_optm/settings_css.tpl.php:117
#: tpl/page_optm/settings_css.tpl.php:254 tpl/page_optm/settings_vpi.tpl.php:65
msgid "URL list in %s queue waiting for cron"
msgstr "Lista adresów URL w kolejce %s oczekująca na cron"

#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr "Koszt ostatniego żądania"

#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr "Ostatnio wygenerowany"

#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr "Jeśli ustawiono %s to działanie odbywa się na pierwszym planie, co może spowolnić ładowanie strony."

#: tpl/page_optm/settings_css.tpl.php:219
msgid "Automatic generation of critical CSS is in the background via a cron-based queue."
msgstr "Automatyczne generowanie krytycznego CSS odbywa się w tle za pośrednictwem kolejki opartej na cron."

#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr "Optymalizuj dostarczanie CSS."

#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr "Spowoduje to usunięcie wszystkich wygenerowanych krytycznych plików CSS"

#: tpl/dash/dashboard.tpl.php:624 tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr "Krytyczny CSS"

#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr "Ta strona korzysta z buforowania w celu przyspieszenia czasu reakcji i lepszego doświadczenia użytkownika. Buforowanie potencjalnie przechowuje duplikat każdej strony internetowej wyświetlanej w tej witrynie. Wszystkie pliki pamięci podręcznej są tymczasowe i nigdy nie są dostępne dla osób trzecich, z wyjątkiem sytuacji, gdy jest to konieczne do uzyskania pomocy technicznej od dostawcy wtyczki pamięci podręcznej. Pliki pamięci podręcznej wygasają zgodnie z harmonogramem ustalonym przez administratora witryny, ale mogą zostać łatwo usunięte przez administratora przed ich naturalnym wygaśnięciem, jeśli będzie to konieczne. Możemy korzystać z usług QUIC.cloud w celu tymczasowego przetwarzania i buforowania Twoich danych."

#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr "Wyłączenie tego może spowodować, że zadania WordPress wyzwalane przez AJAX przestaną działać."

#: src/utility.cls.php:214
msgid "right now"
msgstr "teraz"

#: src/utility.cls.php:214
msgid "just now"
msgstr "właśnie"

#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr "Zapisano"

#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr "Ostatnio uruchmiono"

#: tpl/img_optm/settings.tpl.php:66 tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr "Po usunięciu kopii zapasowych nie będzie można przywrócić optymalizacji!"

#: tpl/img_optm/settings.tpl.php:65 tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr "To jest nieodwracalne."

#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr "Usuń oryginalne kopie zapasowe obrazów"

#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr "Czy na pewno chcesz usunąć wszystkie kopie zapasowe obrazków?"

#: tpl/crawler/blacklist.tpl.php:32 tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr "Łącznie"

#: tpl/img_optm/summary.tpl.php:198 tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr "Plików"

#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr "Ostatnio obliczono"

#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr "Oblicz miejsce zajęte przez oryginalne obrazy"

#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr "Optymalizacja pamięci masowej"

#: tpl/img_optm/settings.tpl.php:165
msgid "Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic."
msgstr "Włącz zastępowanie WebP/AVIF w elementach %s, które zostały wygenerowane poza logiką WordPress."

#: tpl/cdn/other.tpl.php:141 tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr "Użyj formatu %1$s lub %2$s (element opcjonalny)"

#: tpl/cdn/other.tpl.php:137 tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr "Tylko wymienione tutaj atrybuty zostaną zastąpione."

#: tpl/img_optm/settings.tpl.php:149
msgid "Specify which element attributes will be replaced with WebP/AVIF."
msgstr "Określ, które atrybuty elementu zostaną zastąpione przez WebP/AVIF."

#: src/lang.cls.php:231
msgid "WebP/AVIF Attribute To Replace"
msgstr "Atrybut WebP/AVIF do zastąpienia"

#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr "Tylko pliki znajdujące się w tych katalogach będą kierowane do CDN."

#: src/lang.cls.php:262
msgid "Included Directories"
msgstr "Dołączone katalogi"

#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr "Operacja Wyczyść wszystko zostanie wykonana, gdy WordPress uruchomi te haki."

#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr "Wyczyść wszystkie rozszerzenia"

#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr "Wyczyszczono całą pamięć podręczną pomyślnie."

#: src/gui.cls.php:696 src/gui.cls.php:861 src/gui.cls.php:916
msgid "LSCache"
msgstr "LSCache"

#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr "Wymuszone buforowanie"

#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr "Ścieżki zawierające te łańcuchy będą buforowane bez względu na ustawienia, których nie można buforować."

#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr "Wymuś identyfikatory URI pamięci podręcznej"

#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr "Wykluczone ustawienia"

#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr "Spowoduje to wyłączenie funkcji LSCache i wszystkich funkcji optymalizacji dla celów debugowania."

#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr "Wyłącz wszystkie funkcje"

#: src/gui.cls.php:741 src/gui.cls.php:961 tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr "Pamięć podręczna Opcode"

#: src/gui.cls.php:706 src/gui.cls.php:926 tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr "Pamięć podręczna CSS/JS"

#: src/gui.cls.php:1055 tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr "Usuń wszystkie wcześniejsze niedokończone żądania optymalizacji obrazu."

#: src/gui.cls.php:1056 tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr "Wyczyść niedokończone dane"

#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr "Dołącz do nas na Slacku"

#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr "Dołącz do społeczności %s."

#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr "Chcesz połączyć się z innymi użytkownikami LiteSpeed?"

#: tpl/cdn/cf.tpl.php:38
msgid "Your API key / token is used to access %s APIs."
msgstr "Twój klucz/token API służy do dostępu do %s interfejsów API."

#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr "Twój adres E-Mail na %s."

#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr "Użyj funkcjonalności API %s."

#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr "Aby losowo wybrać nazwę hosta CDN, zdefiniuj wiele nazw hostów dla tych samych zasobów."

#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr "Dołącz do społeczności LiteSpeed Slack"

#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr "Odwiedź forum pomocy LSCWP"

#: src/lang.cls.php:33 tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr "Obrazy zgłoszone do przesłania"

#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr "Czym jest grupa?"

#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr "%s obrazek"

#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr "%s grupa"

#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr "%s obrazki"

#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr "%s grupy"

#: src/crawler.cls.php:1310
msgid "Guest"
msgstr "Gość"

#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr "Aby indeksować witrynę jako zalogowany użytkownik, wprowadź identyfikatory użytkowników, które mają zostać symulowane."

#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr "Symulacja roli"

#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr "uruchomione"

#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr "Rozmiar"

#: tpl/crawler/summary.tpl.php:123 tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr "Powód zakończenia"

#: tpl/crawler/summary.tpl.php:116 tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr "Ostatni interwał"

#: tpl/crawler/summary.tpl.php:104 tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr "Aktualny robot indeksujący wystartował w"

#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr "Ostatni czas uruchomienia robota indeksującego"

#: tpl/crawler/summary.tpl.php:91 tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr "%d sekund"

#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr "Ostatni kompletny czas wykonania dla wszystkich robotów indeksujących"

#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr "Aktualny robot indeksujący mapę strony wystartował w"

#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr "Zapisuj dane tymczasowe w bazie danych tylko wtedy gdy %1$s wynosi %2$s."

#: src/lang.cls.php:143
msgid "Store Transients"
msgstr "Zapisuj dane tymczasowe"

#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile
#. User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr "Jeśli %1$s wynosi %2$s, to %3$s musi zostać wypełnione!"

#: tpl/crawler/settings.tpl.php:89
msgid "Server allowed max value: %s"
msgstr "Serwer dopuszcza maksymalną wartość: %s"

#: tpl/crawler/settings.tpl.php:79
msgid "Server enforced value: %s"
msgstr "Wartość wymuszona przez serwer: %s"

#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104 tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76 tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr "Notatka"

#. translators: %s: list of server variables in <code> tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr "Zmienna(e) serwera %s dostępne do nadpisania tego ustawienia."

#: src/admin-display.cls.php:1532 tpl/cache/settings-esi.tpl.php:103
#: tpl/page_optm/settings_css.tpl.php:87 tpl/page_optm/settings_css.tpl.php:223
#: tpl/page_optm/settings_html.tpl.php:131
#: tpl/page_optm/settings_media.tpl.php:258
#: tpl/page_optm/settings_media_exc.tpl.php:36
#: tpl/page_optm/settings_tuning.tpl.php:48
#: tpl/page_optm/settings_tuning.tpl.php:68
#: tpl/page_optm/settings_tuning.tpl.php:89
#: tpl/page_optm/settings_tuning.tpl.php:110
#: tpl/page_optm/settings_tuning.tpl.php:129
#: tpl/page_optm/settings_tuning_css.tpl.php:35
#: tpl/page_optm/settings_tuning_css.tpl.php:96
#: tpl/page_optm/settings_tuning_css.tpl.php:99
#: tpl/page_optm/settings_tuning_css.tpl.php:100
#: tpl/toolbox/edit_htaccess.tpl.php:61 tpl/toolbox/edit_htaccess.tpl.php:79
msgid "API"
msgstr "API"

#: src/purge.cls.php:531
msgid "Reset the entire OPcache successfully."
msgstr "Pomyślnie zresetowano cały OPcache."

#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr "Pomyślnie importowano plik ustawień %s."

#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr "Importowanie nie powiodło się z powodu błędu pliku."

#: tpl/page_optm/settings_css.tpl.php:61 tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr "Jak naprawić problemy spowodowane przez optymalizację CSS / JS."

#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr "Spowoduje to wygenerowanie dodatkowych żądań do serwera, co zwiększy obciążenie serwera."

#: tpl/cache/settings-advanced.tpl.php:71
msgid "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."
msgstr "Gdy użytkownik najedzie kursorem na odnośnik strony, wstępnie wczyta tę stronę. Przyspieszy to wizytę na tym odnośniku."

#: src/lang.cls.php:241
msgid "Instant Click"
msgstr "Natychmiastowe kliknięcie"

#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr "Zresetuj całą pamięć podręczną kodu operacji"

#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr "Spowoduje to zaimportowanie ustawień z pliku i zastąpienie wszystkich bieżących ustawień pamięci podręcznej LiteSpeed."

#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr "Ostatnio zaimportowano"

#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr "Import"

#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr "Ustawienia importu"

#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr "Spowoduje to wyeksportowanie wszystkich bieżących ustawień LiteSpeed ​​Cache i zapisanie ich w pliku."

#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr "Ostatni eksport"

#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr "Eksport"

#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr "Ustawienia eksportu"

#: tpl/presets/entry.tpl.php:17 tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr "Import / Eksport"

#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr "Używaj połączeń keep-alive, aby przyspieszyć operacje w pamięci podręcznej."

#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr "Baza danych do wykorzystania"

#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr "ID bazy danych REDIS"

#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr "Określ hasło używane podczas łączenia."

#: src/lang.cls.php:137
msgid "Password"
msgstr "Hasło"

#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr "Dostępne tylko po zainstalowaniu %s."

#: src/lang.cls.php:136
msgid "Username"
msgstr "Nazwa użytkownika"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr "Twój adres IP lub nazwa hosta %s."

#: src/lang.cls.php:132
msgid "Method"
msgstr "Metoda"

#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr "Pomyślnie wyczyszczono całą pamięć podręczną obiektów."

#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr "Pamięć podręczna obiektów nie jest włączona."

#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr "Zwiększ szybkość wp-admin poprzez buforowanie. (Może wystąpić problem z wygasłymi danymi)"

#: src/lang.cls.php:142
msgid "Cache WP-Admin"
msgstr "Pamięć podręczna WP-Admin"

#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr "Trwałe połączenie"

#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr "Nie zapisuj w pamięci podręcznej grup"

#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr "Grupy zapisywane w pamięci podręcznej na poziomie sieci."

#: src/lang.cls.php:139
msgid "Global Groups"
msgstr "Globalne grupy"

#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr "Test połączenia"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr "Rozszerzenie %s"

#: tpl/cache/settings_inc.object.tpl.php:52 tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr "Stan"

#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr "Domyślny TTL dla obiektów pamięci podręcznej."

#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr "Domyślny czas życia obiektu"

#: src/lang.cls.php:134
msgid "Port"
msgstr "Port"

#: src/lang.cls.php:133
msgid "Host"
msgstr "Host"

#: src/gui.cls.php:729 src/gui.cls.php:949 src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60 tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr "Pamięć podręczna obiektów"

#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr "Niepowodzenie"

#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr "Zaliczono"

#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr "Niedostępne"

#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr "Usuń wszystkie pamięci podręczne obiektów"

#: src/cdn/cloudflare.cls.php:275 src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr "Nie można połączyć się z Cloudflare"

#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr "Połączenie z Cloudflare pomyślnie."

#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr "Brak dostępnej strefy Cloudflare"

#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr "Powiadomiono Cloudflare, aby oczyścił wszystko z powodzeniem."

#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr "Cloudflare API jest wyłączone."

#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr "Powiadomiono Cloudflare, aby pomyślnie ustawił tryb developerski na %s."

#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr "Po zapisaniu zostanie dopasowany do bieżącej listy i wypełniony automatycznie."

#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr "Możesz po prostu wpisać część domeny."

#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr "Domena"

#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr "Cloudflare API"

#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr "Wyczyść wszystko"

#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr "Pamięć podręczna Cloudflare"

#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr "Tryb deweloperski zostanie wyłączony automatycznie po trzech godzinach."

#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr "Tymczasowo pomiń pamięć podręczną Cloudflare. Pozwala to na obserwowanie zmian w serwerze źródłowym w czasie rzeczywistym."

#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr "Tryb deweloperski zostanie automatycznie wyłączony za %s."

#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr "Aktualny stan to %s."

#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr "Aktualny status to %1$s od %2$s."

#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr "Sprawdź status"

#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr "Wyłącz"

#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr "Włącz"

#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr "Tryb deweloperski"

#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr "Strefa Cloudflare"

#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr "Domena Cloudflare"

#: src/gui.cls.php:717 src/gui.cls.php:937 tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr "Cloudflare"

#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr "Na przykład"

#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr "Wstępne pobieranie DNS może zmniejszyć opóźnienia dla odwiedzających."

#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr "Wstępne pobieranie DNS"

#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr "Dodawanie stylu do leniwego wczytywania obrazków"

#: src/admin-display.cls.php:1371 src/admin-display.cls.php:1390
#: tpl/cdn/other.tpl.php:108
msgid "Default value"
msgstr "Wartość domyślna"

#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr "Statyczne odnośniki plików do zastąpienia przez odnośniki CDN."

#. translators: %1$s: Example query string, %2$s: Example wildcard
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:34
msgid "For example, to drop parameters beginning with %1$s, %2$s can be used here."
msgstr "Na przykład, aby usunąć parametry zaczynające się od %1$s, można tutaj użyć %2$s."

#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr "Usuń ciąg zapytań"

#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr "Włącz tę opcję, jeśli używasz zarówno protokołu HTTP, jak i HTTPS w tej samej domenie i zauważysz nieprawidłowości w pamięci podręcznej."

#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr "Popraw zgodność z HTTP/HTTPS"

#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr "Usuń wszystkie poprzednie żądania / wyniki optymalizacji obrazu, przywróć ukończone optymalizacje i usuń wszystkie pliki optymalizacji."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr "Zniszcz wszystkie dane optymalizacji"

#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr "Zeskanuj wszystkie nowe niezoptymalizowane rozmiary miniatur obrazu i wyślij ponownie wymagane żądania optymalizacji obrazu."

#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr "Zwiększy to rozmiar plików zoptymalizowanych."

#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr "Podczas optymalizacji zachowaj dane EXIF ​​(prawa autorskie, GPS, komentarze, słowa kluczowe itp.)."

#: tpl/toolbox/log_viewer.tpl.php:46 tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr "Wyczyść dzienniki"

#: src/utility.cls.php:217
msgid " %s ago"
msgstr " %s temu"

#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr "WebP zapisane %s"

#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr "Jeśli doświadczysz jakichkolwiek problemów, odwołaj się do tego w swoim raporcie pomocy technicznej."

#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr "Ostatnie wysyłanie zainicjowane przez crona o %s."

#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr "Obrazki zostaną pobrane automatycznie, jeśli zadanie cron będzie uruchomione."

#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr "Naciśnij przycisk tylko wtedy, gdy zadanie pull cron jest wyłączone."

#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr "Ściągnij obrazki"

#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr "Ten proces jest automatyczny."

#: tpl/dash/dashboard.tpl.php:569 tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr "Ostatnie żądanie"

#: tpl/dash/dashboard.tpl.php:546 tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr "Wysłane obrazki"

#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr "Raport"

#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr "Wyślij ten raport do LiteSpeed. Odwołaj się do tego numeru raportu podczas publikowania na forum pomocy WordPressa."

#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr "Wyślij do LiteSpeed"

#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr "Optymizacja LiteSpeed"

#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr "Załaduj Google Fonts asynchonicznie"

#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr "TTL Pamięci podręcznej przeglądarki"

#. translators: %s: Link tags
#: tpl/img_optm/summary.tpl.php:337
msgid "Results can be checked in %sMedia Library%s."
msgstr "Wyniki można sprawdzić w %sMultimediach%s."

#: src/doc.cls.php:101 tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846 tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93 tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114 tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46 tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr "Dowiedz się więcej"

#: tpl/img_optm/summary.tpl.php:285
msgid "Image groups total"
msgstr "Grupy obrazów ogółem"

#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr "Obrazy zoptymalizowane i wysłane"

#: src/lang.cls.php:32 tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr "Zażądane obrazy"

#: src/img-optm.cls.php:1993 src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr "Przełączono na zoptymalizowany plik."

#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr "Przywrócono oryginalny plik."

#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr "Włączono plik WebP."

#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr "Wyłączono plik WebP."

#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr "Lekko poprawia czas ładowania zamieniając obrazki na ich %s zoptymalizowane wersje."

#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr "Wybrane role zostaną wykluczone z pamięci podręcznej."

#: tpl/page_optm/entry.tpl.php:23 tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr "Tuning"

#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr "Wybrane role zostaną wykluczone ze wszystkich optymalizacji."

#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr "Wykluczone role"

#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr "Tuning Ustawień"

#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr "Jeśli tag slug nie zostanie znaleziony, znacznik zostanie usunięty z listy w przypadku zapisu."

#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr "Jeśli nazwa kategorii nie zostanie znaleziona, kategoria zostanie usunięta z listy po zapisaniu."

#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr "Gdy serwer QUIC.cloud Image Optimization zakończy optymalizację, powiadomi Twoją witrynę o konieczności pobrania zoptymalizowanych obrazków."

#: tpl/dash/dashboard.tpl.php:537 tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr "Wyślij żądanie optymalizacji"

#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr "Informacje o obrazie"

#: tpl/dash/dashboard.tpl.php:543 tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr "Całkowita redukcja"

#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr "Podsumowanie optymalizacji"

#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr "Optymalizacja obrazka pamięci podręcznej LiteSpeed"

#: src/admin-display.cls.php:257 src/gui.cls.php:895
#: tpl/dash/dashboard.tpl.php:204 tpl/dash/network_dash.tpl.php:36
#: tpl/general/online.tpl.php:75 tpl/general/online.tpl.php:134
#: tpl/general/online.tpl.php:149 tpl/presets/standard.tpl.php:32
msgid "Image Optimization"
msgstr "Optymalizacja obrazków"

#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr "Na przykład %s można użyć do przezroczystego elementu zastępczego."

#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr "Domyślnie zostanie użyty szary obrazek zastępczy dla %s."

#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr "To może być również predefiniowane w %2$s przy użyciu stałych %1$s, przy czym to ustawienie ma priorytet."

#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr "Określ obraz base64, który będzie używany jako symbol zastępczy podczas ładowania innych obrazów."

#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr "Elementy z atrybutem %s w kodzie html zostaną wykluczone."

#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr "Filtr %s jest wspierany."

#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr "Obrazki z listy nie będą ładowane przez Lazy Load."

#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr "Wykluczone leniwe wczytywanie obrazka"

#: src/gui.cls.php:667
msgid "No optimization"
msgstr "Brak optymalizacji"

#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr "Zapobiegaj jakiejkolwiek optymalizacji wymienionych stron."

#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr "Wykluczone URI"

#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr "Przestań ładować emoji z wordpress.org. Zamiast tego będą się wyświetlały emoji z przeglądarki."

#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr "Obydwa schematy URLi i cząstek mogą zostać użyte."

#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr "Wczytaj iframe tylko wtedy, gdy pojawią się w obszarze widoku."

#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr "Lazy Load Iframeów"

#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr "Może poprawić czas ładowania strony redukując wczesne zapytania HTTP."

#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr "Wczytaj obrazki tylko wtedy, gdy pojawią się w obszarze widoku."

#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr "Leniwe ładowanie obrazków"

#: tpl/page_optm/entry.tpl.php:19 tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr "Ustawienia mediów"

#: tpl/cache/settings-excludes.tpl.php:46
msgid "For example, for %1$s, %2$s and %3$s can be used here."
msgstr "Na przykład dla %1$s można tutaj użyć %2$s i %3$s."

#: tpl/cache/settings-esi.tpl.php:113 tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr "Wildcard %1$s wspierany (dopasuj zero lub więcej znaków). na przykład aby dopasować %2$s i %3$s, użyj %4$s."

#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr "Aby dopasować początek, dodaj %s na początku elementu."

#. translators: 1: example URL, 2: pattern example
#: src/admin-display.cls.php:1553
msgid "For example, for %1$s, %2$s can be used here."
msgstr "Na przykład dla %1$s można tutaj użyć %2$s."

#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr "Może później"

#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr "Recenzja została już przeze mnie dodana"

#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr "Witamy w LiteSpeed"

#: src/lang.cls.php:192 tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr "Usuń emoji WordPressa"

#: src/gui.cls.php:677
msgid "More settings"
msgstr "Więcej ustawień"

#: src/gui.cls.php:654
msgid "Private cache"
msgstr "Prywatna pamięć podręczna"

#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr "Nie do pamięci podręcznej"

#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr "Oznacz tę stronę jako "

#: src/gui.cls.php:584 src/gui.cls.php:601
msgid "Purge this page"
msgstr "Wyczyść tę stronę"

#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr "Opóźnij ładowanie JS"

#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr "Określ krytyczne reguły CSS w przypadku treści ponadgrupowych po włączeniu %s."

#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr "Krytyczne reguły CSS"

#: src/lang.cls.php:170 tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr "Wczytuj CSS asynchronicznie"

#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr "Zapobiegaj ładowaniu Google Fonts na wszystkich stronach."

#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr "Usuń czcionki Google"

#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175 tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr "To może zwiększyć szybkość twojej strony w serwisach takich jak Pingdom, GTmetrix i PageSpeed."

#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr "Usuń ciągi zapytań z wewnętrznych zasobów statycznych."

#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr "Usuń query strings"

#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr "user agenci"

#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr "ciasteczka"

#. translators: %s: Link tags
#: tpl/cache/settings_inc.browser.tpl.php:46
msgid "You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s."
msgstr "Można włączyć pamięć podręczną przeglądarki w konfiguracji serwera. %sDowiedz się więcej o ustawieniach pamięci podręcznej przeglądarki LiteSpeed%s."

#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr "Pamięć podręczna przeglądarki przechowuje statyczne pliki lokalnie w przeglądarce użytkownika. Włącz to ustawienie w celu zredukowania wielokrotnych żądań statycznych plików."

#: src/lang.cls.php:109 tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605 tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr "Pamięć podręczna przeglądarki"

#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr "tagi"

#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr "Nie zapisuj w pamięci podręcznej tagów"

#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr "Aby wykluczyć %1$s, wpisz %2$s."

#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr "kategorie"

#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr "Aby zapobiec buforowaniu %s, wprowadź je tutaj."

#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr "Nie zapisuj w pamięci podręcznej kategorii"

#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr "Query stringi zawierające te parametry nie będą zapisywane w pamięci podręcznej."

#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr "Nie zapisuj w pamięci podręcznej query stringów"

#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr "Ścieżki zawierające te stringi nie będą zapisywane."

#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr "Nie zapisuj w pamięci podręcznej URLów"

#: src/admin-display.cls.php:1559 src/doc.cls.php:128
msgid "One per line."
msgstr "Jeden na linię."

#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr "Ścieżki URI zawierające te ciągi NIE będą buforowane jako publiczne."

#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr "Prywatne zapisane URLe"

#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr "Ścieżka zawierająca te stringi nie będzie serwowana przez CDN."

#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr "Wyklucz ścieżkę"

#: src/lang.cls.php:259 tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr "Dodane typy rozszerzeń"

#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr "Obsługuj wszystkie pliki JavaScript przez CDN. Będzie to miało wpływ na wszystkie pliki WP JavaScript w kolejce."

#: src/lang.cls.php:258
msgid "Include JS"
msgstr "Dołącz JS"

#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr "Obsługuj wszystkie pliki CSS przez CDN. Będzie to miało wpływ na wszystkie pliki WP CSS w kolejce."

#: src/lang.cls.php:257
msgid "Include CSS"
msgstr "Dołącz CSS"

#: tpl/cdn/other.tpl.php:87
msgid "Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes."
msgstr "Obsługuj wszystkie pliki graficzne przez CDN. Będzie to miało wpływ na wszystkie załączniki, znaczniki HTML %1$s i atrybuty CSS %2$s."

#: src/lang.cls.php:256
msgid "Include Images"
msgstr "Załącz obrazki"

#: src/admin-display.cls.php:482
msgid "CDN URL to be used. For example, %s"
msgstr "Adres URL CDN, który ma być użyty. Na przykład %s"

#: src/lang.cls.php:255
msgid "CDN URL"
msgstr "CDN URL"

#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr "Adres URL witryny, który ma być obsługiwany przez CDN. Zaczynający się od %1$s. Na przykład %2$s."

#: src/lang.cls.php:261
msgid "Original URLs"
msgstr "Oryginalne URL"

#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr "Ustawienia CDN"

#: src/admin-display.cls.php:256
msgid "CDN"
msgstr "CDN"

#: src/admin-display.cls.php:487 src/admin-display.cls.php:1168
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.object.tpl.php:280 tpl/cdn/other.tpl.php:53
#: tpl/dash/dashboard.tpl.php:69 tpl/dash/dashboard.tpl.php:462
#: tpl/dash/dashboard.tpl.php:584 tpl/dash/dashboard.tpl.php:613
#: tpl/img_optm/settings.media_webp.tpl.php:22
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_js.tpl.php:77
#: tpl/page_optm/settings_media.tpl.php:180
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "OFF"
msgstr "Wyłącz"

#: src/admin-display.cls.php:486 src/admin-display.cls.php:1167
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: src/doc.cls.php:41 tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.cache_mobile.tpl.php:91 tpl/cdn/other.tpl.php:45
#: tpl/crawler/settings.tpl.php:138 tpl/dash/dashboard.tpl.php:67
#: tpl/dash/dashboard.tpl.php:460 tpl/dash/dashboard.tpl.php:582
#: tpl/dash/dashboard.tpl.php:611 tpl/page_optm/settings_css.tpl.php:220
#: tpl/page_optm/settings_media.tpl.php:176
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "ON"
msgstr "Wł"

#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr "Powiadomiono serwer WWW LiteSpeed ​​o konieczności usunięcia wpisów CSS/JS."

#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr "Minifikacja zawartości HTML."

#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr "HTML Minify"

#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr "Wykluczenia JS"

#: src/lang.cls.php:165
msgid "JS Combine"
msgstr "Połącz JS"

#: src/lang.cls.php:164
msgid "JS Minify"
msgstr "JS Minify"

#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr "Wykluczenia CSS"

#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr "Połączenie CSS"

#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr "CSS Minify"

#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr "Przetestuj dokładnie, włączając dowolną opcję z tej listy. Po zmianie ustawień Minifikuj/Połącz, wykonaj akcję Wyczyść wszystko."

#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr "Spowoduje to usunięcie tylko wszystkich zminimalizowanych/połączonych wpisów CSS/JS"

#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr "Wyczyść błąd %s"

#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr "Optymalizator bazy danych"

#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr "Zoptymalizuj wszystkie tabele w swojej bazie danych"

#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr "Optymalizuj tabele"

#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr "Wyczyść wszystkie opcje przejściowe"

#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr "Wszystkie dane tymczasowe"

#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr "Wyczyść wygasłe opcje przejściowe"

#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr "Zakończone dane tymczasowe"

#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr "Wyczyść wszystkie trackbacki i pingbacki"

#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr "Trackbacki/Pingbacki"

#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr "Wyczyść wszystkie usunięte komentarze"

#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr "Komentarze w koszu"

#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr "Wyczyść wszystkie komentarze spamowe"

#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr "Komentarze zawierające spam"

#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr "Wyczyść wszystkie usunięte wpisy i strony"

#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr "Usunięte posty"

#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr "Wyczyść wszystkie auto zapisane szkice"

#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr "Automatyczne wersje robocze"

#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr "Wyczyść wszystkie rewizje postów"

#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr "Wersje wpisu"

#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr "Wyczyść wszystko"

#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr "Zoptymalizowano wszystkie tabele."

#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr "Wyczyszczono wszystkie dane tymczasowe."

#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr "Wyczyszczono wszystkie zakończone dane tymczasowe."

#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr "Pomyślnie wyczyszczono trackbacki i pingbacki."

#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr "Wyczyszczono wszystkie usunięte komentarze."

#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr "Wyczyszczono wszystkie spamerskie komentarze."

#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr "Wyczyszczono wszystkie usunięte strony i posty."

#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr "Wyczyszczono wszystkie automatyczne wersje robocze."

#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr "Wyczyszczono wszystkie rewizje."

#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr "Wyczyszczono wszystko."

#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr "Domyślny TTL prywatnej pamięci podręcznej"

#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr "Jeśli Twoja witryna zawiera publiczną treść, którą mogą zobaczyć pewne role użytkowników, ale inne role nie, możesz określić Grupa Vary dla tych ról użytkowników. Na przykład określenie administrator grupy vary pozwala na utworzenie osobnej strony buforowanej publicznie, dostosowanej do administratorów (z odnośnikami „edytuj” itp.), podczas gdy wszystkie inne role użytkowników widzą domyślną stronę publiczną."

#: src/lang.cls.php:238 tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277 tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr "Grupa zmienna"

#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr "Zapisz w pamięci podręcznej wbudowany blok ESI Comment Form."

#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr "Zapisz formularz komentarzy"

#: tpl/cache/settings-esi.tpl.php:72
msgid "Cache the built-in Admin Bar ESI block."
msgstr "Buforuj wbudowany blok ESI paska administratora."

#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr "Zapisuj pasek administratora"

#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr "Włączenie buforowania publicznych stron dla zalogowanych użytkowników oraz obsługa paska administratora i formularza komentarza za pomocą bloków ESI. Te dwa bloki zostaną odłączone, chyba że zostanie to włączone poniżej."

#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr "ESI pozwala Ci wyznaczyć części Twojej dynamicznej strony jako oddzielne fragmenty, które są następnie składane razem, aby utworzyć całą stronę. Innymi słowy, ESI pozwala Ci „wybić dziury” na stronie, a następnie wypełnić te dziury treścią, która może być buforowana prywatnie, buforowana publicznie z własnym TTL lub wcale nie być buforowana."

#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr "W przypadku ESI (Edge Side Includes) strony mogą być wyświetlane z pamięci podręcznej dla zalogowanych użytkowników."

#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr "Prywatny"

#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr "Publiczne"

#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr "Wyczyść ustawienia"

#: src/lang.cls.php:126 tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr "Zapisuj urządzenia mobilne"

#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr "Poziom zaawansowany będzie rejestrował więcej szczegółów."

#: tpl/presets/standard.tpl.php:29 tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr "Podstawowe"

#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr "Maksymalne dozwolone obciążenie serwera podczas indeksowania. Liczba wątków robota przeszukiwacza będzie aktywnie zmniejszana do czasu, gdy średni poziom obciążenia serwera spadnie poniżej tego limitu. Jeśli nie można tego osiągnąć jednym pojedynczym wątkiem, bieżący robot indeksujący zostanie zakończony."

#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr "Strona logowania pamięci podręcznej"

#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr "Żądania dotyczące pamięci podręcznej wywołane przez wywołania API WordPressa REST."

#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr "Zapisuj REST API do pamięci podręcznej"

#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr "Prywatnie buforuj komentujących, którzy mają oczekujące komentarze. Wyłączenie tej opcji spowoduje wyświetlanie komentatorom stron, których nie można buforować. (LSWS %s wymagane)"

#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr "Zapisuj komentujących w pamięci podręcznej"

#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr "Prywatnie zapisuj strony front-endu dla zalogowanych użytkowników. (LSWS %s wymagany)"

#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr "Zapisuj w pamięci podręcznej dla zalogowanych użytkowników"

#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr "Ustawienia kontroli pamięci podręcznej"

#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr "ESI"

#: tpl/cache/entry.tpl.php:19 tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr "Nie zawiera"

#: tpl/cache/entry.tpl.php:18 tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16 tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr "Wyczyść"

#: src/admin-display.cls.php:255 tpl/cache/entry.tpl.php:17
#: tpl/cache/entry.tpl.php:66
msgid "Cache"
msgstr "Pamięć podręczna"

#: tpl/inc/show_rule_conflict.php:16
msgid "Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)"
msgstr "Znaleziono nieoczekiwaną regułę pamięci podręcznej %2$s w pliku %1$s. Ta reguła może powodować wyświetlanie przez użytkowników starych wersji stron, ponieważ przeglądarka buforuje strony HTML. Jeśli masz pewność, że strony HTML nie są buforowane przez przeglądarkę, możesz odrzucić ten komunikat. (%3$sDowiedz się więcej%4$s)"

#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr "Aktualny czas serwera to %s."

#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr "Określ czas czyszczenia listy \"%s\"."

#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr "Obydwie %1$s i %2$s są przyjmowane."

#: src/lang.cls.php:148 tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr "Zaplanowany czas czyszczenia"

#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr "Adresy URL (jedna na linię) zostaną automatycznie usunięte w czasie ustawionym w opcji \"%s\"."

#: src/lang.cls.php:147 tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr "Zaplanowane adresy URL"

#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr "Skróć łańcuchy zapytań w dzienniku debugowania w celu zwiększenia czytelności."

#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr "Heartbeat"

#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr "MB"

#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr "Loguj limit rozmiaru plików"

#: src/htaccess.cls.php:784
msgid "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"
msgstr "<p> Proszę dodać / zastąpić następujące kody na początku %1$s: </p> %2$s"

#: src/error.cls.php:158 src/error.cls.php:182
msgid "%s file not writable."
msgstr "Plik %s nie jest zapisywalny."

#: src/error.cls.php:178
msgid "%s file not readable."
msgstr "Plik %s nie nadaje się do odczytu."

#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr "Zwiń Query Strings"

#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr "Ustawienia ESI"

#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr "Ustawienie TTL na 0 wyłącza zapisywanie do pamięci podręcznej."

#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr "Zalecana wartość: 28800 sekund (8 godzin)."

#: tpl/esi_widget_edit.php:71
msgid "Widget Cache TTL"
msgstr "Czas życia pamięci podręcznej widżetu"

#: src/lang.cls.php:234 tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr "Włącz ESI"

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:66
msgid "See %sIntroduction for Enabling the Crawler%s for detailed information."
msgstr "Aby uzyskać szczegółowe informacje, zapoznaj się z %sWprowadzeniem do włączania modułu indeksującego%s."

#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr "Niestandardowa mapa strony"

#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr "Usuwanie stron według względnego lub pełnego adresu URL."

#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr "Funkcja indeksująca nie jest włączona na serwerze LiteSpeed. Skonsultuj się z administratorem serwera lub dostawcą hostingu."

#: tpl/cache/settings-esi.tpl.php:45 tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60 tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77 tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr "OSTRZEŻENIE"

#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr "Następne kompletne indeksowanie mapy witryny rozpocznie się za"

#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr "Błąd zapisu do %s."

#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr "Folder nie jest zapisywalny: %s."

#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr "Nie mogę utworzyć folderu: %1$s. Błąd: %2$s"

#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr "Katalog nie istnieje: %s"

#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr "Poinformowano Serwer LiteSpeed o usunięciu listy."

#. translators: %s: Link tags
#: tpl/cache/settings-cache.tpl.php:36
msgid "Please visit the %sInformation%s page on how to test the cache."
msgstr "Aby dowiedzieć się, jak przetestować pamięć podręczną, odwiedź stronę %sInformacja%s."

#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr "Pozwala adresom IP na liście (jednym w linii) na pewnie akcje z ich przeglądarek."

#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr "Limit obciążenia serwera"

#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr "Wpisz jak długo w sekundach robot indeksujący powinien inicjować ponowne indeksowanie całej mapy strony."

#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr "Interwał robota indeksującego"

#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr "Inna instancja WordPressa jest zainstalowana (NIE MULTISTRONA) jest w %s"

#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr "Ustawienia sieciowej pamięci podręcznej LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr "Wybierz poniżej opcję \"Wyczyść przez\"."

#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr "LiteSpeed Cache CDN"

#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr "Nie wygenerowano jeszcze pliku meta dla robota indeksującego"

#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr "Wyświetl stan robota"

#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr "Zobacz status robota ideksującego"

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:261
msgid "Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task."
msgstr "Aby dowiedzieć się, jak utworzyć zadanie systemowe cron, zapoznaj się z tematem %sPodłączanie WP-Cron do harmonogramu zadań systemowych%s."

#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr "Częstotliwość uruchamiania jest ustawiana przez ustawienie Interwał między uruchomieniami."

#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr "Ręczne uruchomienie"

#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr "Zresetuj pozycję"

#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr "Częstotliwość uruchamiania"

#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr "Nazwa cron"

#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr "Cron robota indeksującego"

#: cli/crawler.cls.php:100 tpl/crawler/summary.tpl.php:47
msgid "%d minute"
msgstr "%d minuta"

#: cli/crawler.cls.php:98 tpl/crawler/summary.tpl.php:47
msgid "%d minutes"
msgstr "%d minut"

#: cli/crawler.cls.php:91 tpl/crawler/summary.tpl.php:39
msgid "%d hour"
msgstr "%d godzina"

#: cli/crawler.cls.php:89 tpl/crawler/summary.tpl.php:39
msgid "%d hours"
msgstr "%d godzin"

#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr "Wygenerowano %s"

#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr "Robot indeksujący LiteSpeed Cache"

#. translators: %s: Link tags
#: tpl/inc/show_display_installed.php:37
msgid "If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s."
msgstr "Jeśli masz jakiekolwiek pytania, zespół zawsze chętnie odpowie na nie na %sforum wsparcia%s."

#: src/admin-display.cls.php:260 src/lang.cls.php:267
msgid "Crawler"
msgstr "Robot indeksujący"

#. Plugin URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"
msgstr "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"

#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr "Powiadomiono serwer WWW LiteSpeed ​​o konieczności usunięcia wszystkich stron."

#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr "Wszystkie strony z widgetem Ostatnie posty"

#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr "Strony"

#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr "Spowoduje to wyczyszczenie tylko stron"

#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr "Wyczyść strony"

#: src/gui.cls.php:133 tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr "Anuluj"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate"
msgstr "Wyłącz"

#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr "Włącz"

#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr "Adres e-mail"

#: src/gui.cls.php:1080
msgid "Install Now"
msgstr "Zainstaluj"

#: cli/purge.cls.php:182
msgid "Purged the URL!"
msgstr "Usunięto adres URL!"

#: cli/purge.cls.php:133
msgid "Purged the blog!"
msgstr "Wyczyszczono ten blog!"

#: cli/purge.cls.php:86
msgid "Purged All!"
msgstr "Wyczyszczono wszystko!"

#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr "Powiadomiono LiteSpeed Web Server o usunięciu stron błędów."

#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr "Jeśli używasz OpenLiteSpeed, musisz go zrestartować aby zmiany odniosły efekt."

#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr "Jeśli plik cookie logowania został ostatnio zmieniony w ustawieniach, wyloguj się i zaloguj."

#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr "Jednak nie ma możliwości poznania wszystkich możliwych dostosowań, które zostały wdrożone."

#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr "Wtyczka  LiteSpeed Cache jest używania do zapisywania stron w pamięci podręcznej -  prosty sposób na przyspieszenie twojej strony."

#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr "Możesz tutaj nadpisać ustawienia administratora sieci."

#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr "Określ, jak długo, w sekundach, publiczne strony będą przechowywane w pamięci podręcznej."

#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr "Określ, jak długo, w sekundach, prywatne strony będą przechowywane w pamięci podręcznej."

#: tpl/cache/network_settings-cache.tpl.php:29
msgid "It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first."
msgstr "ZDECYDOWANIE zaleca się, aby najpierw przetestować zgodność z innymi wtyczkami na jednej/kilku witrynach."

#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr "Wyczyść strony używając ID postów."

#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr "Wyczyść wpisy pamięci podręcznej LiteSpeed ​​utworzone przez tę wtyczkę"

#: tpl/toolbox/purge.tpl.php:33
msgid "Purge %s error pages"
msgstr "Wyczyść %s stron błędów"

#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr "Spowoduje to wyczyszczenie tylko pierwszej strony"

#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr "Wyczyść strony używając tagów - e.g. %2$s powinno zostać użyte dla adresu %1$s."

#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr "Wyczyść strony używając nazwy kategorii - e.g. %2$s powinno zostać użyte dla adresu URL %1$s."

#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr "Jeżeli chcesz wyczyścić tylko witrynę WordPress, użyj opcji Wyczyść wszystko."

#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr "Powiadomiono serwer internetowy LiteSpeed ​​o konieczności usunięcia wszystkiego."

#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr "Użyj głównych ustawień strony"

#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr "To wyłączy stronę ustawień na wszystkich podstronach."

#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr "Zaznacz tę opcję aby użyć ustawień głównej strony na wszystkich podstronach."

#: src/admin-display.cls.php:998 src/admin-display.cls.php:1003
msgid "Save Changes"
msgstr "Zapisz zmiany"

#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr "Poniższe opcje są zaznaczone, ale nie są dostępne do edycji na stronie ustawień."

#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr "Administrator sieci zaznaczył wszystkie ustawienia głównej strony dla wszystkich podstron."

#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr "Opróżnij cały cache"

#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr "Ta czynność powinna być wykonywana wyłącznie wtedy, gdy cache nie działa prawidłowo."

#: tpl/toolbox/purge.tpl.php:137
msgid "Clears all cache entries related to this site, including other web applications."
msgstr "Wyczyść wszystkie wpisy pamięci podręcznej związane z tą witryną, w tym także z innymi aplikacjami internetowymi."

#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr "To może spowodować duże obciążenie na Twoim serwerze."

#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr "To wyczyści WSZYSTKO w pamięci podręcznej."

#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr "Opróżnij cały LiteSpeed Cache"

#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr "Jeśli nie chcesz grzebać przy LiteSpeed, możesz wyłączyć tę wtyczkę."

#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr "Utwórz post, upewnij się, że pierwsza strona jest poprawna."

#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr "Odwiedź swoją stronę będąc wylogowanym."

#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr "Przykłady przypadków testowych zawierają:"

#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr "Z tego powodu, należy przetestować witrynę, aby upewnić się, że wszystko nadal funkcjonuje prawidłowo."

#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr "To wiadomość informuje o tym, że wtyczka została zainstalowana przed administratora Twojego serwera."

#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr "Wtyczka LiteSpeed Cache jest zainstalowana!"

#: src/lang.cls.php:275 tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr "Dziennik zdarzeń"

#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr "Tylko Adres IP Administratora"

#: tpl/toolbox/settings-debug.tpl.php:84
msgid "The Admin IP option will only output log messages on requests from admin IPs listed below."
msgstr "Opcja adresu IP administratora spowoduje generowanie komunikatów dziennika tylko w odpowiedzi na żądania pochodzące z adresów IP administratora wymienionych poniżej."

#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr "Określ, jak długo, w sekundach, połączenia REST są buforowane."

#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr "Raport środowiska zawiera szczegółowe informacje o konfiguracji WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr "Serwer ustali, czy użytkownik jest zalogowany, na podstawie istnienia tego pliku ciasteczka."

#: tpl/cache/settings-purge.tpl.php:53 tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr "Notatka"

#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr "Po weryfikacji pamięci podręcznej, sprawdź koszyk."

#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr "Po włączeniu tej opcji pamięć podręczna zostanie automatycznie oczyszczona po uaktualnieniu dowolnej wtyczki, motywu lub WordPressa."

#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr "Wyczyść wszystko przy ulepszeniu"

#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr "Interwał aktualizacji produktu"

#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr "Określa, jak zmiany ilości produktów i stanu zapasów produktów wpływają na strony produktów i ich powiązane strony kategorii."

#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr "Zawsze usuwaj zarówno produkt, jak i kategorie w przypadku zmiany ilości lub stanu zapasów."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr "Nie usuwaj kategorii po zmianie ilości lub stanu zapasów."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr "Wyczyść stronę produktu tylko w przypadku zmiany stanu zapasów."

#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr "Wyczyść stronę produktu i kategorie tylko po zmianie stanu zapasów."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr "Opróżniaj cache kategorii tylko wtedy, gdy zmieni się dostępość produktu."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr "Wyczyść produkt w przypadku zmiany ilości lub stanu zapasów."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr "Htaccess nie pasował do opcji konfiguracji."

#: tpl/cache/settings-ttl.tpl.php:75 tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr "Jeśli ten numer jest mniejszy niż 30, kanały nie będą zapisywane w pamięci podręcznej."

#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr "Określ jak długo w sekundach, kanały mają być przechowywane w pamięci podręcznej."

#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr "Domyślny TTL kanału informacji"

#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr "Nie udało się pobrać zawartości pliku %s."

#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr "Wyłączenie tej opcji może mieć negatywny wpływ na wydajność."

#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr "Niepoprawne ciasteczko logowania. Znaleziono niepoprawne znaki."

#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr "UWAGA: Plik cookie logowania .htaccess i plik cookie logowania do bazy danych nie są zgodne."

#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr "Nieprawidłowy plik ciasteczka logowania. Sprawdź plik %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr "Pamięć podręczna musi rozróżnić, kto jest zalogowany do witryny WordPress, aby poprawnie zapisywać buforowanie."

#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr "Na %s jest zainstalowany WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr "Przykład użycia:"

#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr "Zestaw cookie ustawiony tutaj będzie używany do tej instalacji WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr "Jeśli każda aplikacja WWW używa tego samego pliku cookie, serwer może zmylić użytkownika, czy użytkownik jest zalogowany, czy nie."

#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr "To ustawienie jest przydatne dla tych, którzy mają wiele aplikacji internetowych dla tej samej domeny."

#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr "Domyślnym ciastkiem logowania jest %s."

#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr "Ciasteczko logowania"

#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr "Więcej informacji na temat dostępnych komend możesz znaleść tutaj."

#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr "Te ustawienia będą zrozumiałe dla ZAAWANSOWANYCH UŻYTKOWNIKÓW."

#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr "Aktualna zawartość: %s"

#: tpl/cache/entry.tpl.php:22 tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr "Zaawansowane"

#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr "Ustawienia zaawansowane"

#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr "Lista czyszczenia"

#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr "Wyczyść z..."

#: tpl/crawler/blacklist.tpl.php:41 tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr "Adres URL"

#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr "Tag"

#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr "Identyfikator wpisu"

#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr "Kategoria"

#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr "INFORMACJA: Ciasteczko logowania w bazie danych nie zgadza się z twoim."

#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr "Wyczyszczono %s adresów URL"

#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr "Wyczyść znacznik %s"

#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr "Wyczyszczono %s kategorii"

#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr "Po wyłączeniu pamięci podręcznej wszystkie wpisy z pamięci podręcznej dla tej witryny zostaną usunięte."

#: tpl/cache/settings-cache.tpl.php:42 tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133 tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42 tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr "Powiadomienie"

#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr "To ustawienie edytuje plik .htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr "Widok pamięci podręcznej LiteSpeed ​​.htaccess"

#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr "Nie udało się wykonać kopii zapasowej pliku %s, odrzucono zmiany."

#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr "Nie zapisuj w pamięci podręcznej ciasteczek"

#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr "Nie buforuj agentów użytkownika"

#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr "To sprawdzi kompatybilność aby umożliwić włączenie pamięci podręcznej dla wszystkich stron."

#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr "Włącz sieciową pamięć podręczną"

#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23 tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24 tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr "UWAGA:"

#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr "Inne checkboxy będą zignorowane."

#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr "Wybierz \"Wszystko\", jeśli istnieją dynamiczne widgety połączone ze stanowiskami na stronach innych niż strony frontowe lub domowe."

#: src/lang.cls.php:127 tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr "Lista użytkowników mobilnych"

#: src/file.cls.php:168 src/file.cls.php:172
msgid "File %s is not writable."
msgstr "Plik %s nie jest zapisywalny."

#: tpl/page_optm/entry.tpl.php:17 tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr "Ustawienia JS"

#: src/gui.cls.php:874 tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr "Zarządzaj"

#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr "Domyślny TTL strony głównej"

#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr "Powiadomiono serwer LiteSpeed w celu oczyszczenia strony głównej."

#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr "Wyczyść stronę główną"

#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr "Przykład"

#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr "Wszystkie tagi są domyślnie cache'owane."

#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr "Wszystkie kategorie są cache'owane domyślnie."

#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr "Aby wykonać dopasowanie typu exact match, dodaj symbol '$' na końcu adresu URL."

#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr "Adresy URL zostaną porównane ze zmienną serwera REQUEST_URI."

#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr "Wybierz tylko typy archiwów, które są aktualnie używane, pozostałe pozostają niezaznaczone."

#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr "Uwagi"

#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr "Użyj ustawień administratora sieci"

#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr "Wyłącz"

#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr "Włączenie buforu LiteSpeed w programie WordPress umożliwia buforowanie sieci."

#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr "Wyłączono"

#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr "Włączono"

#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr "Nie buforuj ról"

#. Author URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com"
msgstr "https://www.litespeedtech.com"

#. Author of the plugin
#: litespeed-cache.php
msgid "LiteSpeed Technologies"
msgstr "LiteSpeed Technologies"

#. Plugin Name of the plugin
#: litespeed-cache.php tpl/banner/new_version.php:57
#: tpl/banner/new_version_dev.tpl.php:21 tpl/cache/more_settings_tip.tpl.php:28
#: tpl/esi_widget_edit.php:41 tpl/inc/admin_footer.php:17
msgid "LiteSpeed Cache"
msgstr "LiteSpeed Cache"

#: src/lang.cls.php:277
msgid "Debug Level"
msgstr "Poziom debugowania"

#: tpl/general/settings.tpl.php:72 tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86 tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr "Powiadomienie"

#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr "Archiwum terminu taksonomii (zawiera kategorie, tagi i taksonomie)"

#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr "Dzienne archiwum"

#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr "Miesięczne archiwum"

#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr "Roczne archiwum"

#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr "Archiwum typu treści"

#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr "Archiwum autora"

#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr "Strona główna"

#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr "Strona główna"

#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr "Wszystkie strony"

#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr "Wybierz, które strony zostaną automatycznie usunięte podczas publikowania / aktualizowania postów."

#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr "Zasady automatycznego oczyszczania dla publikowania / aktualizacji"

#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr "Domyślny Publiczny Cache TTL"

#: src/admin-display.cls.php:1345 tpl/cache/settings_inc.object.tpl.php:162
#: tpl/crawler/settings.tpl.php:43 tpl/esi_widget_edit.php:78
msgid "seconds"
msgstr "sekund"

#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr "Adresy IP administratora"

#: src/admin-display.cls.php:254
msgid "General"
msgstr "Ogólne"

#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr "Ustawienia LiteSpeed Cache"

#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr "Powiadomiono LiteSpeed Web Server, aby wyczyścił wszystkie wpisy LSCache."

#: src/gui.cls.php:686 src/gui.cls.php:696 src/gui.cls.php:706
#: src/gui.cls.php:717 src/gui.cls.php:729 src/gui.cls.php:741
#: src/gui.cls.php:753 src/gui.cls.php:765 src/gui.cls.php:776
#: src/gui.cls.php:788 src/gui.cls.php:800 src/gui.cls.php:812
#: src/gui.cls.php:906 src/gui.cls.php:916 src/gui.cls.php:926
#: src/gui.cls.php:937 src/gui.cls.php:949 src/gui.cls.php:961
#: src/gui.cls.php:973 src/gui.cls.php:985 src/gui.cls.php:996
#: src/gui.cls.php:1008 src/gui.cls.php:1020 src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47 tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64 tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82 tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100 tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118 tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr "Opróżnij wszystko"

#: src/admin-display.cls.php:548 src/gui.cls.php:884
#: tpl/crawler/entry.tpl.php:17
msgid "Settings"
msgstr "Ustawienia główne"

#: tpl/banner/score.php:122
msgid "Support forum"
msgstr "Forum wsparcia"PK]^�\(translations/.ls_translation_check_pt_BRnu�[���PK]^�\(translations/.ls_translation_check_ru_RUnu�[���PK]^�\T|?��translations/pl_PL.zipnu�[���PKk��[�������litespeed-cache-pl_PL.poUT	:�Ai:�Aiux�����[�r�F���S�:�Y�V�E�_�'%Kv��-i,)JR��4�&�$�F�#��Ⱥ&��}Wj�%r��H/�'��t�E�t*IM2�8�t�������<L�J2�c�A֗a�V�K���H�po ��,��@�GX-���"<��٩
d2��Cv>�	�I,��2Ic��R�B_�,����'�D0��g�mĽ���/}���B����d����	��z��Xg����n��7Y��������k���_�z����i�k����"LWϋR�]�$
�?bހljH�^��X�i����x�y�)_��=�ӕ�^�]�<X}��q���H��<]����O���S�~�>akl�=��Y{���)�?���~��mП�k<`���?X��_X{�1AiJ��G�����P�<U��4P�i,���Fk�����a?É�Co���KW�|{6��S�q�Q�$U*��DY��I+D{�Z�E-@������}C8P}!E�8eGcP�X��E*W~6,U,K�P޼��`y2)�t$��
G�<,���|2����|5��I��yA��[�]��;��BPA4}qz�|����l�MT�j��BA�[�T��1��	d(��$�I�o����Ȑ��_��=��j��@G�c�6��.TC)p*�7x�dAʮ%g^XC�uɽ}s�7�gX"��@���
:�"���*~�����H��w�~�j�uƶ�(qa�\3Z�J��S>_o~"?�'!w������?����=�e���S�݊��$��%�܋$�t�R�uj6�p�@�I6&)��.X9�_�x�k۵������4�%r��5]��!�])�	��d,A�U�6J�90��H&l���1����Z��Z�UIGO�_8c��u &�t�$���0_��v:M��1�X�'��r�ݣ���W���
�j�3��#(�<��bu4���f���6v���T�ay,a	@`r����ä���훬W]�!Y��7�	����U	jYzk~�cu-��
al���i����c��$f��Ďp𬇷7oA�\��8���#o(~��_K�^�c1$p1�l��`CW��C�p.X�W�D��]*�"�W����bŹ���G�2-��U�r�Z�g5_f/�����[lNj"�훦Β3i*��X��[3�[��2� '�_s��5A�B��y�W������WIz�6
!Ŋ��W�~�~�Ԯ���@��bw�:�gɈdHE��)��۩���K����r���N,1d]�p���}�o��q}ِ���;QZ#�r|8�kҋ���v\��k����X"��j�u���B����ު�^����0���;/�|ll
��@�)i����<a�E"�X��F�F�������T�3O����C�Ej�8ƓbW�G�-�fR��	�f��]uSF���_<�b�z�����R�.��_嚣�o�x��x3^��-ۈ����|1�)�^R�6�1�әս'��N&p���9��
�v����������G�9�H�Zz��Tؓ�LGܢ5�G�@����ڼ���u'L�I��=���E��,���v�d��S�J�GB�؉K��'�k�uR%���/b��Zg��f#��$��f��2ERɺ�f���5���#�B�I�r?�;�3�≘B[	���,M�CzK2�9�,�=��ȁ�a��R�<�t�}�4;[�^��P�Ã�cK���9�=E�����I��3A�싞��/��Su"$�u�qj�կ����]
|�;AF�q
��>�t
Gv���0
�&��B��N)��}w�޶�%�dd��f-g)�Ļ�����Vc�n/�v��q�:��G�x�;K��ln.d��;��H�+���:E<U� �tұ�{��(��>��S
���W�ǣ���e�V`d����*���<�wY�_��O�$��’҉8�Ka��T�y�|�9�el�8�c���v�˕F�lNPJ�E�7�B9D�pf�
�n�3�j8R����zE�
�f�	;�n�.zk�9h�!l��I�p�&S-W�Eͅ�ɡ�rK��w	;�)H��i;>9Ȕ�J�H(6��z�<�/�ӻL���D���TY�q _����i]��5]�j|β��O��t��̬��f%�x.'[u*p2�8�I��ڝa`m:����1%G��1��ҷ:Μ�9bl/K��V�$��Q���`<�<bvt����%�iƄ��*�㉕�O�Bm]�	P8V���r���uYB)�؈�<��:����&V�t���DZ7��z)����3I�(b��c2@�Yr"\��04A	\G\ ���X7Ya#�p_�%��E�^�Y[Y�L۳��T�`��� ��g�)�O�Nά�€`����V���<��+
�@��@���a.r��LN�#�]G3`�D��-��$�����DܾYB�;�D|-=HYs��]��!��m�쬹i{�8ܪ�ts_� ��O�P��yK&9�7X�κ�դ录��0���}]��e���X�M���w �V#�S�B(R*�]�N1y��żR!�ŋD��6��{�� �d�L	y����ج!�����K���9P���"ն"y͌g�������S��b[��|��.P��ʲ���V���<a�7�>H�7��·��.�e}�-���
OsDoe�����|������y��m�{ߊ�͹�mY�%�}H� ~�)'�}J���[K�ck�=����"�ۻs_o�7��{�3�WnWS-�����y�7��m��98�ʢ��?}f#9�l�T~�n�Rt�၅;��B��ia�a7��߹����%k,^��l��`Xzg��_}j����~��o��:�!Mʹ͡���)�"�2Y񷙂��x�ef�Éi?���[+�g�;は��y�^�uUS��`Y>�H�!��"�t�;�@���X���O�ݙk��;
�X"�؛��2��(1��%���������'�9�Q��⶯�N��K��?IL_��%6�My����ހ
%���В�2�Æ���.��Y�ށY�@6B�f!��,�AiP��Ѯ*K,zj�d���a��>��q��`g��LR$+e�2�hW�l�:]�Az��B�Xx�����(9U��ĺ��#z�S���PA�n��+�ԉn׆JӺ†|i���(�4R�G¢~���ZH}�
!��S�B'�	P�3���kFc�K⩪��uy�JRܪ�[��éJd�l��ܐӣE��6{8K"kQ|T<^��,���|�v9���|�Y����e��F�R$`:q�'�
����`9�$W4��G���&
E��)gP��Cr�S��#χ��\��'O�Ѵd�O���9D�d{���T����$ԊH)?�bnĖ#��b�aN�z=K�f�5#/�CD����H�v�P�?)�D|f�=��m�'�R��h��T�q��%���Ӧ-��+"�>9�tǺ�e�(��%�HJ��~�HE=1����Y�U_��1��N��e��[��)��� @g��6#��v��۞�8��5Ӑ���N��:au�3YC�٬��伍����Xw���ulL%Z�����Q19 ��a���=�fA�u��(տ��"w�kk��"4�g�vl
Vz#�W�S
�<�T�E~>&#I�mBt[ꪧ���݊�T�0�
YSGN<�N�w�Ϲ����(��@���o�����y��/[3J�K,�)��dLET%��+է%կ��5D����,Z`΢,�[W���W��_�E�局�h7�̓�o��QE��~�Q�8!y�k��}~�����G��gz�D~Et�gb��a30vN�g�J��uFpgړﻱ���/����={�.���v�x}򊝜��5�|��ퟞ�<:�??:9>��πH9bϾ��/"����}vɎ���:���ij������󃣓K<v��Ќܲ�P6g-�.Bh�c)TM�� ¡!��an]y�o.dk��	��Tv���s��~hQ�!���֌�N�g�\��[=�����S��9x�z>�qRƕ�@a�m>4�C�0e-!���$� 4,�̩",�K�ԫ�mV�&S,i��cT����;�7ۙP�[�޻G��kå�Ic�3&���h�r;8;CF�)fg^��:Q�����{g��0�9�B���<�zP�xBN��X͊�y�7g�6�L�0��i>�.^�6�Tдu΋���D�+��L&��^��:5�4D���J�S��(3׻-��ƶ��}]�A��h����N���K��7���u�/ٿn��Va��!�==V�����������̒Q�%n�sO"�nned�X��v?#@�tZ"�ŋ+
�n�W
�vE�r��bu-�*�u��PR�Μ&�|�x��Wi`N�,Q�kۚ��f�z��¤�ܚ�֑�	lXJ�j�m1��ɋXS�
��UO����]�B��$\e	V?B&/�X�˶2��v�D]L"*A㧩X�K*L�	�Wݾ���Tv�Sw�K�i��
�1N_��5b��?����C��;�?�Q�����g�h�B�[�|�RF{t��X��*ɢJ]Lv@o&�Kgj�2��2ƊB`�7�M/���&�
���W�F��A�wl�6K�,�N�u��
�K�h	�e��*e0XE��p�����Bq���ك�S	����OS@��SУ�+ײ=U�U ���\s����thF�}X6!5�x�I�	��9��Z�k�
5R�0�R���T~��a5P1Yj[S�����N�IUY,��-�ݙ�8w�bxY'b:�^�ƚ�<T��	]�<y��u�z�;pK5k�AQb_��ow�V��B��.�҄�oם��'�_��3%DpNb�ֻ�U�5�������M㬐a,�7U�o�Қ�N�ŐV�Eujfw�IK��.��dMSHw���:�7���-+��!�pRr�=�v��n�x�ܰcRg�G�F�h�=��}�Z�����/���r��7�vFG�,ɥ��3��ibG��
�6nQ��!D�(DZ���F�Χ�tu)�`��{��3U�1��UG���E#ٜ��ll6FHn�#��e�Ӛ�h�kViW��Ƅ:7?���l�M]3rB8���m���'HΩ�@ׁ�L�l`5�l��tuDG��US$?�cC�~7��Q[�J�{��b���!��]�n��-�bry��Ꟛ�?���r�o��T�]�[���V�r��.rD9{ƃ����5��@_�P�e����qV�A`*ƿ�ܿ}cmlY�p���s�QuU�j,B��Ք�C��t[zz�.n|��
|/��>&����>�QC� �"{�t�F��^ܹI1O�6w�[a�i>5FTJW����<`1��r�/�������s���$	�Qǔ��ݙ��Pn�"�f�q�+�❍}Ž�Li޾�6����Ȇ��m�^##Y���+z����2x�*�'���sqy15�R�W��ʤ�>��j���w����s:�
��c}5���&�?)�}?A�+������A�-",V�˳f(�O��^�P��z5#��!���K-���*b��Y^�,���ءz;B̪ܙ��n����{N�o.ל�zQ^]$��Xyُ�R�
K���9�2w6���X��b��ݿ�ȑeY�ை'�$�h4���0'���·��  DU���TUDSD�ꪣ*G8jЃ�(n������4�b���_�>Oy+=��@U��T��<��{�t�W}=����yA��h�LE�oiX�w���`Dg�.�cM�(%�������S!t�{�&=�Y5���U�U߱4�8��z~����y��6�����P�fՀ�?6�57��il�����"%�)Qd��4g��+|�O�p#v���&�ha�x\����ޅ�e'�Kd�2!�1v͢��C�'�Mq^��;O��D8Ԉ�+b�-�
]��q�d��}��M���
��5]|i�>K\���>4l9xU���
v�_�����O��X$�w��s�)����l�H�6�ѸLf�Ǵ?}���َ8�4x�fͻ@��[�Q��^s@e�����dW����nC5�d�)9�=��Qҡ��*��C�]�~��T^ē2G�y�4��f�̩�j��	g��w{#��d�{eȰ�uiF�>iO��G�I"EmN=��9q���_�Q`t�pҦ��~&Vko��3�%ȲV�U�v�/��x���>�[�T���I{���ರ�NC��Z4o��L��*�<Ƚ�f�i,0��0�Jh��8�@5OR��n��}�aw�
�@q�L�w�W@7#�X�Ʉ0�a���zqu!!��]�E����1Ё�n�(@]>G��&�Y%v&�2|€�ڢ�6%U�+곮����G��{���jHo5���[�
����]����Њg�������7��@�#ɟ
QpLF����7*�?ߔp�Ujڨ�v��˂N�����)��6M�D�Bd���1��܊��?���[�2[�+��B��.�l2Z�_����i�9�rqc�w
���&�,��m�,�YH��U�6,�T! �<M�)�0�(�VO�
g�81h���r����}�f�$�+�ӊ�Q�.�P*@|3��V��z�u�ߥɿ��{�p��4���=�r�C�v���V���tϢC:��ljdžӯ�0o"�n.a+7�H��S|H�#��q ��g��$�A*�݇^f��0��axF�
�0�Y�f�f�G��:��x��av'����*�ˊퟬ���5独kT�8����P�Y�����Hu�`�%��/�<x���@�cr�o��fu:��њ�;@{e��d2.r��*�?.(<�Û��);��	��6��#y�gW���:3PR�4	��c����^.T,}�9����)�H	�l[�o����/z�ʷy?�����&*Z�8[���rז��`�(���'�ȱ��=Q����;�����g��\�d)g/n=��w��8]�c/%}CV�oxmI!˔��F���[���uE�Z�?0�cz�Qb����	�֖H�\>Vq
�Ln���=�:s�a�
Z�eW�0(
�).�i.&�V�?T������ѧK�Pg,�!89�ٱ�E%-����V��ۡub���,�"���
<�.�[��b���1��u&jr�:� ���:hb!���rI�6Gր.7n��p�wHv�20fl�ֳ�s�=��z��%[)�!4ӚJ�4��~�q3�1�6<�+����jsl>&�H5P�u9Ց���|�Dn�����҄��U�O�+��JS{��"����2����P�x
&���v�iR>L�%xE�����������pƌ2c9�B�Ftl8�w:�~��7���sH"��N�5�������	�ޜ�:�ag#&
`&v��ӆ���T,9��ϟ�J`a�M�5|���2��6�$�_�B��<b.Ui4ݠS�Xr�'����%N#u�w�5��o�����Z��֬o��E �W
I·�m�bGg=n�zNx��Ѳ�Vj��c5��멲kv~_˄0���ܵ����S'5��v��p.K!}��c��m�k����KG�Q�!
�Wby�@� c]��YvS��x_2H�8Q�t�D@�Ϝ��9]'s7nM�"r���쬛�;��KC�L�
_9���Cn{o$Zȓ�^�.��P�d�n�3��l������M�.q�UөZs�/�d�<5�?�ƽ�̿q|���|=I!�}�*��ӹ3������V_�|K���JW�Eֹ�5�ك��C'�@bB��IрZx��i��w�|��_�����6����Sص��[>��~.����χf�_��NK����č[Q��=�ߜ��sUU�?��?w��,�m�F�(�~��-Y�	'�\�1���L�2��z���m 
���.�I:��dA�gc���z���7��m�	!v���`�ޔ�K�L�bZ���\��u2��0�Y'�/_"�7�Տ�����}�`�f�Ht�
L�{�E��F9����\���щbY���:��ηl8�1�!��*>@&�\��^͢j(�zq���76�7�]˗��W�P��s�;�Џ��f
�@���o�+�,�ݕ�����T��ۢ-'�̀��P��kQ;�R;*��G�Ow�>E�!�eJ���2�1��fZ���<��`�d<D�S��<a���5);��Y�n����z����m��'�Ib��J��K�4�!{��F}amj�3��Wd�R�q7��QG����?�XD+�ڻO�z�70�D�2�tԲj�pA������L���
U#j�z����	3�m
��N�����7�{�>s�ڻi��&�]j.��`fc�$y\�Ժ,���d����6wߙF�b�)����&� b9u�$��O���M��|j̘��7��TCsOJ:�n��k��C��ۯ���\v�}u��`P�U�yj�H5�'�t�ؽ�!��4�-F�*�G8u����\��>g�a7��}+�(��~E�ֺQ/~�hP2�֩]�
�^vG_��B��i�u�<]wի�"ݫ5�
�a����d�8[eG���.�Ա'���(��?�6�
�茪X{���&��K�lT�K?����ጾ�~�����)���%����ȿ�{[�k�U�h�(z6d��� ���9i9���So>a��+��HnQ9���?�v
W�LW=�@��V"^
�l8���({wۮ(�x�Q�Ծu��pp8���.�o�'�<A��*��#�n�Ӆx��KF�	x�?�6��8��)������a��K��E�i���ky6�70����7��܎&8����w����76�UBgg"ْ88��do(���K���3�!���2���H�=ʟR�k�I#Ih��l9b�[��jA�"�T�M����v�ɔV*��2�IO��x|LPvg�Lfн��'/��c�LK.��-VhN��B�#ܬk�,%kU���`CI~gOCXNT&7\��t�/��R�FE������;�4��*��L�<t��zc�M;\Ss����
���?��v2d�O�Zl���m��j�:���X�@��
]�^���C<_x�*�\h�,
q��Ls�)�V���q	�E�����[B�e%aKO淏e�5�ٴ;�`'cQ2�
_���`����ނ��B�����R�Q��*\oY��B@$�S���uc"���ٲ@�7%�����&���z�#x��2��(�S!��g�
Մ�l̘�ڔ}��0�$y�X{t���N�N�~_�{Y6�5%;m��څDG�G�V��ٷ�+(�"�C>�'��f��dG�.+�g2��ƫ N?%T�;�q+�g�/��B��nPw�ԤM���YDWo N瀩��VzP=��@��f���F��ں0:��7!L�Ö&��k���ĀթG�r����bc>G��'�m�}�K�0��@ڻ2fFP*��U�����5*��a�e]�E�I���_Q���߾�e�bCsҤ����z%���0kN��]���+����ͭ�jy�`��ZC�ړ�����4��t�b݁�PĽ��~��*���5L����l
r�����޷R��>ޑ>���
w����N�eמ�s�wЁ�{R�X����v�R8�hݘ��Џ�w���yI��zwl�%�Y����9i�����ձ��e}Re�JN��6jW�%��T7A����U/��bmo�=�l3>Qa3uԺ�ю
����0NYr���_
9�W�g ��)2��bS������$�$��Z��XIQv^�u�o��ǧ
=6�U.�
?�5��t��׳�&0�9Y~��Fn�Z�?���l��{�޳�Y�_O�;�,��)�$u�i;k����St�JG=l��\�τ���c��gۭ��F�D+3b'.\��.s��_�_^t,غv���H�U/�H5zl�*5������.$�8���tԹ	*Ʌt)���]�%�p]���"�59����IO�-�ѹ	��mF�K����*f�'�xFd�kU��YҪ�y�8]ȕ�Hqj��%�H�@���6�EτY��ǭ��1|u��B����om��qS*!'�Ȣ����0���*I�=�'�8���;��ohը�01��T��w��fSĪ7����o�[�gN�+Æ����~/�����B[�0��	��bL��a�����l�2-��!wO�B��=�p2>>�p�w��c'�U�ܬq�a��HX�@0�M-�Ch@��&�M��B�j�
$D(�^`�RdBS	�%��
t5 k*R�}L��Y�M�O�V��ǡRl 9��6��	ο?�7Ŗ��囫�'߾�6Q����0߄J�7sa��aP21;�3�o�x(�îSJ��tW�&�ڕ�.�z9�c���rG15*�
�7c��ȱU�;tUbo-gH��W4�-�����C/�g��V�o2��a�LI�/��T���K�L�&�CE��͊��	�خf\��Pv���/��Ҹ��S?Z+Z_W�)!�/@��#��xX�J��m2t�t��@��ܞ�&�*.����LjA"�௛P',.Q��Z0�>/
6���V�@���w{���g*{e^l,PD��1m����Q�D�l�䳂Z�Mp��h/�փջ,U�݂K�������r�<��6X�/W9"�Ѹ��<:�G�a���5i�܅�(k�!Ļv��S�'~����K�=c�E5]�A�m��Pv^�fQ��^s U�m���1Hc���/��f$�iC(�1�<J)��r��=j&�;�[-�? ���%��(�<4@�W� ��,�����k�h!O	�ͤ�ސ���l��L���҈E�2��]�G<�OVY��sN��ʇn *�PVv7疈;�W|�X�5�g6}�|)�/B&.�6M$�� 
��=�
�/����X��gK(����{Z�W�<Y���ŭtxS�J�9A=V]�"9x3�7�Ӡ�9l��a�qZ1<o+&��z�-��Ԋ�h�Qs������,̩c�S�#x��/��`�n5i�ɞrR��`M�&|l� �Fk�{�AHa�ew��U���B=�B�J��,愙&�Zk���U�]d}���v��lb{
�ќ.�e7-œ��b�*+��2ֹNd��	ީ����K��`�NW(-�{��>b�}��H���UEW:�0y�)�!CKU؎�/���O�,�]I�p�����N��6aae֙�T
�M/�-�-u���9�}濲\[C~�<�ܞGV�������;wz�r�(/�pN�s����죶<����a��u�Ez2���Ug�����L\��H�7bc�*�^\4��f&�AQ�2/Θ�PQԨ��\0L��P��̅ڣ3Þ�@�9�0�BN�X.��<e�@3b����,����-XQg(ק�sh6L:�R�dz���Er�g0�{�o�'ۭ���9�Qb�&/G/A��TLx�l�-ym�k���SJ� ̝�p���)'	�����w)�,]�'�
��N��� �6���g�sG�ײ�@|
}'��sG��3�����'�phcT�ʩ
l�Q܀�<�;�r<�>�~�葫ąwS�9�)��P%�\�|H[�G�#�~jWJ�/DԶ)�����CM�L��X/����ww�|
��RW~��A�e=��]�~��2��+mq����9�"��'
W������9z�GЃ��Ć�D*&Q�.׳i�NGL`t������v�����m	2&h=��'�Xh���
�L��$�w��ՂL����w�!�}K��*�1��s5�.��9��������V`�v<T��`Bx���v��}Z���n�i9n3öv֎K��QDd�[���4�3e���|�~9�ӣ.0���w�zh���/4PX���I��*,�Dhl
��y~�f����R�=���ipy*x�����O�a�ܐ�O+7YB���������WP�"\�
/�VIC���Oᬌ;�r9-��
�~��P(铴TkA6f�:�Y�M��<�t]�DR�*AD�29#N�_�7��g��˜=ڋ�,	�;�%p@��8�M�Y��#m���i	�Bv�AbX7�'"f�\/����I��n���x�h�<�/�����;��h������ЗaW�a��ɦ�&�˹��8�6��K�o�0`l�":`��,�ICQ�����N����W�1�`�=�~Q�w���V���}��B�l�'�����u��[�U����خb�X��+����
��T�w�خ"k��LYK����2k��s���>�򍅾ݓ�|'���>���N�v��ʾT����I���:��d�*�lZJt/���Z�ݳ��ᆈ���.p��f��/����frqf�gDW����W�:rbˬQ�	)/+�p������e��L��sځHvQ��""�SC�M���� ѡA8<B =�s�/�,��y��
�r��e��zi-=����+Rl��:!�0r#–(�*�/���X2Y�K���L���y�Y
0��{�@�@i����r�)�Zw�1u��e��Ni��5�S+eѫ���Ř?��2�ҙV_u�G�i���nq�L�%c�{�`����Z�ȉ�Z󵺾�oXV��fr
m�U�.��8���a���y�����9O�}=��-?�ḬLF�t��?(rT�y��M��Ū89vy�ɯ�N�S��4`O��f0����f5%��^�#0a�%�����5���b&2m��-y�����FF(5�0"�(�H���❜���M2I�|�,cNN}L�Er�QV�;�ˈ�
=6�	@�u���<)�lJbc�A$�ѡ���,r}7&/�\��	�o��س–Q#��
����˳��]���L?���Z����dS�À#�,x�����'�I$B���%8O�%9b}׫D��D�d��~���k��Q�U]Q��+���0���3�TnӦ�}�	Y�R�dz��X�@R��t�)��_��� � ���U�e%j��;��z_�����T�%+z9c�������3,�/gn�Co�T;\8�,da������n�I8A���'V���ҥ���K��5.�p-p+Z��Z�:;�n��W%;��!����SW���}H5�㢱�v�Q�=P�1\���`{�9n�H7=�
����!�)��/�r�
��
��Y�.0�1��R�p��N0���c:�"��ϲ����T�k��}�V�+Qft}Z�6`za�s[V����kc�6HV������cdC�5F�/p|k����%
��zE�吚� ��E�:č�H5�m?v;b&ِZ�Y�lB�;���'�悙��-���!«�"]Q�������/�D���0Gѐ���܍g��މl{��!���]V��!�>p���@�E�Up�v �"4��	�z����^N�F,����ĭw�
x\�r&�`�P�M�W�{Jff���o*3Me5��`�+d�ޚX2�Jb�ԃy�좱JT����}��+at��D"���
�e����{�&��o�M��#_�2
މ��
��v�Dho�92�qP��ڵWn���S��^
��Js��L%�gG��%�'��s�A���\�P
=�~dH��-[���l�U�o�`�������^�C�����g�ך�l!�K�=ȷWG8�Wڄ��x>�ͣ�јiWP�M���~�C���n�L66�n�ج��6�gk���ByC��e!�8�����Kud�OZ��}�
����zu�RDGe��]G�M���~����ݥݣ��!�Dž�S3���,׎���߄ٱ�U@$���MR�E���x��[؞���QMڷY���8S1� 
���ኇ��RA��uk�j\���v8�3�i���*��T�W�@��n/��&�Tc\�8��C7�8G�OLm�zQ	y�o� ��$�z�a��N�ɹ�p^P�7th���u���*���q�-c^�
��qI���2+p!·��������"��!�3�5�ۍ>���oc�С��#�gΦ8xB�	�ףu������R|R`���Cѳ��*o�G$�w�ۏ���Fj�
%=	�"V5�8c�ld�x���Y���>kҥ(�����;#�'�Þ�5�E��Gih���lL�6�T�� 5�9u%[�I��i�J�-����O�L�.Xgx�π�#e�;j����9L�����bKm/7�!�(
�Y��h�%�A��Ln�똭@X����с��ì�m/�j�%Y���m��!�?�M�q����J&�v�M�4�5��T�T�+�����$�By��� ߜ��U��k7��}��vz[.���Ni3n�eޥ�JHowD�սY]� ��
��.�l��K�(T��H��}��"�9�DKV�y+����s/O�;{_��,�Z,���i�,��!Yn9�'_]��	dH"��4��݂���{�f
�1x�R��Aq+�z��eu�>W�UM����f�z�4Y�
^�q��-�L3&񪬅���K�����A�d*x����J�{)8]A�
b�Db��c�,�Tª��[�6b'�JVЩ\�=СK���;�-;|�w{&�ٳ��+�NN�
=����''�*���EOO�i����r ��('u��(�aݏ��I��a���:�:N��<*�f$!��ɝu��;h��@NE�kc���5�~|2�n?�+��/�l|�����3Uj5c�	�E:+���r��ᰂ�x�9k�4�)�]s�&�<���q�%���W{�$O��h*ǁ�8Z�KD��w���e��Թ�8@#���ئ�\�45KD_cP�;�;�xn��	���Ke�}�s�L<�	�2�w���Zko��}���dSi��y��tN�{�]<[x>������Q�|u:���GV�L�pW���8���8T���,ry܍�`�,׋Җ.�v�n�o��01�
��t���8�)9b���%�p�/�9�9Om�[��kBi�}0���<L�_H�	�"�dzf|)�T.������I���E�O]�e�+)M|��F}��"��
�F2�s9���n]ˢZ�
x��4	�"��U9A/Zޜ�ļm �O:.Y����b�}�s�ч҃k����@���}�Њ�X�4G``��I�|�@H ��	���
F����?�DŽ�������ž��}�GK��׋�(X�{�2�h����4�f,�_��*z��̺8Z�r`��&�4�B���N��M]�<_.��\�?��_���Û�/;V�Tmn�K��{M��w���N�����d�w iR�t�����J�v�z
��i���*�H���-8��v{M�����x%�&���\�
*yc0��o�ן_^<�O|�\Qhɮ�4��no�{�ZE�YA_�y�V=��,֩�U�i�����.q�)�f��*nO@C���C�j��g�t3􍗘�3�7�I\�4�]�f�#�ke$e���F�f�?R����HM�Ե��"�����/��^k	�މ�H<���o*���p�D�s@t�����?]�%�^҉�͖�8�7�x�:^UH�oy����%���W-D�%8A�$YS����i=
�Z��at5u�VJo�~�яX�N�%�Ԑ��^�l��m��Q�vS�r��7�cK�{�_`�mb۲}��ii=���k�j_�$�CܧE%)�ItR�{2�y+4��{���"���c��R��y4�@t�����H8��,�,�|_�)�A���AE�ŕ*S�/﷟����>䏜.��	���Ӊ�,�Ȗ�c�`��W��fs�U���e�G��
�?U8��>�&�p!��!�����LEK�iird`~Sp��d[ӑ�i4K����/U-��|Ꝁ��*)\l�r�M��JRa�L|�#=��<U�b(Bk
 ��5:���1k�L��C2&���R�:Г�\�5gF��(C4�l�$m[7�P7�ZL�O��ɴ��A(��*j�x
��J��Ӎ<�P��+BP!ޕ)�+D��׵����B j&����z7Ku5l�d㰳��&�(�D��Yy%+؂�B��"I�;>�H���t"�<p���`�Ë}N�R�Q
L�Gk^b����+�U�48�|A}$�:e��,�4}f�c^:	���։��{����7���q��t׷�%��ņX���>%hBEZ�w�/�z��{d����4XO�M����ݜ՛z3o��{!���Ra&
;��x��xJ���ûs�xѽՄW��wh������W��.��޾��j��\l����:%3���ӌ���g�Գ*b&�%L�+�p����u����Q��]���,�Aq�΀������i\���#΂�>�ut[�NϹ����ػ��ۨ����1�zX�=�좀��Q�z\���ٲ��
��C3$�b���Q�p�
ƍ��r�lL�Z�q��R�خ�&$�N ��yb�^�ߐ۽����4o�*�POe
�S��������hbu�E�T�%|@Vx�/m�\�i��/j����p��g��s�9�x<��:��q�e>�u,g�B����?�Y65"S�!W���C1oܡٽ[�Xz8��J���G������i�F�&��C@_@i�X�Y\Q&6
�H\�\G(U�>2���cK�|�	I2�j�U��6�D}%�dZ<��C�m͵�c�P�y&ț��Ž������t�C6YE�0�Դ&؃��>��V�=�̪�����t�
��;|xV�Y��15�����9�$�6�+���6ꔀ�'��c�3gZ���+�P���Hx��"���
|��Vk�'
�X��2������R�0X
�F �
#I����J*]���x~\���tI5�O.DP���A�)��u��vx��^�S���Wo+*L��W�C��"QܟiE�L���aÌ<�(�q���Ѹ�;"s�|Ho���[:�%�)��P6�t1�U�>P6}
�,�K��m�����<���h�sf�O�U�314�yړ%���k%l�����	YK����!�C�C�ôU���&��c��H4h�m�?�Y�g
&��pB�7R�`�N��3�&٬���G�d�N�%k�a�>�Ġtʭ2-�U"�ڸ�62p�H��JA*�U˕)4��V��!���t"�8޼
>M��hദ���j��d&�B@�7.���6�#c��V�T7-|c6���,��E�p�(���R)v��C�
��7��`�y�ՓgutV����HS�� ����!+ݬ�V��PlO�
��,{ݣ�@�u�����p���m6�.�4���*��4PI\�ۼ\P	~^�vl50��*n)�G
�֢�V!�59�F�]�(���>���{����m�������5?/�f�Amޮ!'��N�J�T�&�ۡp2:�Sd2�}��?q��i|%�{��w��*4R�T|�cwh4Gp�И������{�&¼Of�<�/�e�X��ٌSݠ�țL������IÕ�B�t���c���h86M	�^^C2��6x���'���(ȓɣ�b=��$�зG�zV�����G��n!���v����T�D��R
���<��06_�
)�Y2a�JD�60;w1'XK�J�f,� A2Yk\^���f)�8:�e�(2�!
�-�'й�gS�t��P�{8�A�"}L(�٥�l�0(�oZ�!���=���;�a�g�m� ġT��BLW���/wqI��5��l_���}���A%��X�@�`�.���j�j*���8�����R��Q�np�H�<�JE������(!�~�8��
9���ϙ�{`���b�t��ā��#F8�yŷ+	dAHF�0����BO`��P
�w����b6�v������	��Y�%?g9��d�ٸ|fz�.������ �kÄ�-�K��ʲE�'f$:��уF��Sp�i�#X~��0���c׈�)O�la��<"��Ҭl��+���id�JK�{OZ@H/�	�4�a����1G�f���e��ס+<kN��5���g�+H��B�Ӝa=��f�O��MV�(W1M���Fp����8��o���#��=:\E��:x��F:����7>�z�uf��ͻR%�#i,�HGD��,�R<Q"ϬF�)ݜdJ�K��$i,�H��!�z<7�F�\�c�^&��r���]��1E��`�/wxRw��b�8�	���^�m�!D�M��J2f��) 礧�a>K|vqד�#����&﷖7���d��<�������~^إ&�t(ƥ�7	6�L爢S�cr6��0��~�r�y,�h1=�ـ]hY�x���G�Q�n���&T4�smJ}�$���cTVG@C�**?��}��U,�u���a�=DG��f�1P�!���J�7��\k6�wt|��>YV�W�j-!<M���-Q� ��`\�U�M!��J9G5���r����4y���W�/��o3��ގMq�L��g��r�p���R)R�L����s��y��Q�H.VB�"MAB
��Zq��^�.�*(��D%w��v�y�43p6O�������
g_�q�xͲa�z9�.�\�"��������1��/t�C�#��$��;�e&�6Y��x�|M_�-�D��p{�d����	8#Gt��
�i���G�2Nt-N�Q��|�K���y��@��|�
r�v�>�7|`Yw�ɑ���
�s��81`X�c���*�5��ۋ��Z�ƅ��Ԧ�C�{�Q�4��`�S��n�WE����p�1�^
�{����@�K64����ȡ1vx��tUB�aU��d�P�����{�{�@0���3o�F�o�Y���>y�7te��~�dhv����'-3W�P��1�+�Z��QB<�������7���(��{UԼ���A�Y �x��p��C�XR��ꤴ��������0�ʹc~��r��b�d�{7Ֆ��Q���43�R4�i*��`9��l��9��'�U<7J
B7ɋ`�ՙ�D̳����ml�j����M��,�Mi�?���U�~�!��{^����̛ƀ����K��'&\'�w�}&����x#v`�*��"s!W&����y|C�㝁����jd��{�N�B�]X�Cͪ��
ux�*:����Mĩ������D�[�#j	h�|9��/�����LJ�r�V�A�D�'�`�X�!�U�9�@W��>9��
�<Ͷ�E�4mY���Il|���'��E&�mY�xK��I�	q�ޠ�S��.�o��:��n�t)n7�_%��HC���ЏE
�F���çL7�U�.d���6Cܗ�I�H��O��OCƥ�F�D!�!�����S&�/�z�p��C }�0$�ۀs�C��OV��;�Ȟa�U��&����e����ðt*`tƢ�}}��O���Έ��c����@V;�Z*
�LS��g�������7������~��t�O�)�d/���S��o����cĄT�a�'����$�Q���k�w2)�&#Wn�:��"�-��!+��{/���s��'`ǹ�,,=�2�+�E�P��7;��ٲ�>)��ܝ��F;V�1�2�1۬\V+��k�U��i�}��A��e���9&�R�����cq�>�� �������ҵ��6�4\���phc����=���B,v�m��$�f�G�٤Hhɐ�0DK���0�m��MG�f/�-�)�Z�m��t���*�9Z�����Džf��	��V�sK&���k��t������Ӟ���:>>�K�tgZ��p��مS��_e���)X�~z����#��5�C�����f�ۄ�e-�T�4�E]^����!���*�	���Ɇ�`�_P��W���9��xr6�_]`Gg.�C=&6g�s��.8���%C��#?Bq�1ή��/d���=&��]�I$����RqI�4���X����4�v���y������eIk1XğJ�Y�v���L�(}2�i�j�,��������4f�;�l#x,�d3PL����O��*�[�w�V)�o��{3��m?�!�?��,�����H����Â��ح������׌��~DUN���S������{6���Y6��DA?���	��5Jw$���X�O<���W¹G
���o�_<u]��k��4_0���p�`���d��w�ĹS�Կu֩�@x�w�Ͽ=�5&q�"RH�(� \(o0�`5�N?�����[,��0�^U4��>��x����/m>�:�K��Jy&X�U$��^�K�1xH�x��#��+=@�CY�$t�UUR�G�j4ڡh��o�L�di�\H�4��jFNZ�����O�?�6=y�T�t0��򔺢�\I29�������F#�L�����
�i��:8��Jmô�w�an/��l�V�|�o0���Ķ�v�,©ʆd����f�¢���>^gYeo��$�U��}�k���t���up.�;�3��Hn��B�k	�S^��|��[u7x��W
�S��â����_����j�U\�h3�{H�B�LBsL�)b�ܚ�7��;aF�	~�D����� k�2�`�E��5��S�"v+C�>Cx���V֊ֈ۹fԃ@7��G�9gܐh=��`�ߔ���џ�e���F��o��Σ_�w��d���}0�C!3F�)�.�u���kd0��W
��mFgWa٭�<O�_5��x��&��U[ɖك�헒��.��6�������5[�M�Y���f�0�n��c$���?�����$.��k+Ēuu��J
��NU�ћ?t+;�%;x#�����0y�'r�w�����/��'�ng�8<��F�2�$�1%�3t?Ո�ތ�	
�8{Ĵ�cF�z>�M�J7hp;�"O>�ta�L��$�l�.uX@�|��HwK�
T�<u"N$	��lw�^w�ա�|���Ĕ��O�R}�s�
(�߾j��{�
��@��r��i/m�!7��}�R��3_5|��� -��8�	��@'�H�m�8+��k�v�R:f�
��8��p�Ϭ>�q��$,8q���9�JgU�Zo1#�B�W ��/��,�S�UP��F�uD��_�W�U����+­.��j�LicL�-J�'{���i�Ʃ�k\z+}��[Y�יC��7��5+x�p�L.���"����,5���S��ϭ��y	��"�T��
�˝}���,�v�thO�B2�l�p��I3�%�dߦc03q�U���p�X���
�]h�axT��,�D�D(�^%1��bK�)�=�P
���
�钼d%x�H
�)��g��y~;w-{��en��<:�� �����1��-?���Y�u�=c
�ρR��|
L�!�����gx���2X��K��.a�1�+²���Q2ld$9�BU;*G�{uu���Μh!�6�d��K��'��B񱎄���Z���!P]0��n��π�C��7��FiA�&)��%��I��|Agȼ��rW��P>�;�DI�
���0aeN%�Ƞ�Assr�(uб�2	/FM�r5M�
wJ�h0��!aS����������0[n,���A���g�d�~0�U��
H꺮��ǚ��:��L
<�25������l6Xt��A��HbsK5��.��b!R
�&
S�L
;�BIY��y�������ѕ����$
K�X[��_��e�u+�UP�I)��[/��������	뛹�5���R��jp2�ur�����4������@�ڧuֈ���^�ɇ��a���ӣ/K
�8+�ɿ��_��q��G��I�˼;r��p�$�
:��x<�뛜�IxxBF�I�>*�e���WO�꛺��{?����$�<)�ˇ�&�7�/��}//\���u(3����m$�ރ�n�CQ��\R�Ί����FN3c��#[v��Y:��w��"0�ۭ�
͆^�s�dfl쾏m�&:�T��^��=���Q�
��x��,=����f�=���G�M����h�m&|_o�W[m�_�Y�Y�R6}��z2	wW{�s�lMw`�sk�N�w�����i��ڬ���oT#GE���^��:MFU ���n�c�j���Rr��%��SF��pt�f-��5|�gv;�78�����%��`�ٚ�X�=��A8ɽ��\y��>�z�z�N�ൠ��?M:Ԋm�!���U�����0�.�m@�r���:��͚�@qL�&��<aEv�$�XÜt��G䐯��h;��9����yP�c��m���{hJ�`t�2
��;�NgP/WAp�g^_���-N_4N)7b��R�1b��o�Z|m�߶��z4��+ί�b�'�%���5�f;6��v��6�<�Ŗ������ћ0���\��5R�m89�FT��zQW���n���ze��/�>$��.���j�;f���%a�p<�G�k^�s�*�gy��:��q���rH�w��5
+&#O���+�ma�vZ
�<��}�g���u.���\>PI&.P;�n��������揪%�*rVV?�`����p����0$F�W�A���d�*�o�'K}���2�H=���!c�q�TH�n�6�@�Tڋ�Ȅ�p�N�
�8�5!���R�/a4�`�ﮯ/��Q����9���t�D�;��_Ġ~P[h�af�nǒs/o_Ѐ��PGgV�	y�'�s�O��9�_�.�fv9F�˙�ڮ�r�����.�Q;��NU����~Q#�w%��6�J�RN�) ~*���:�c:kUx�&������g������bSXh���Z*$��F�f$������x_�w[��6*�F�G&�=�-l>�[~�A�,c� `��o�|���&F�w�|���,�ԉU��[��a�B�"���2���l���t%�P�a��!���m��(�)�:��2��Q5���/��_q
��d;���R�)�p�^��<��CQ	T��Z},�Inō��R�h$V�^OdX�rHhR"��-�J�/
`�K��xg>;Dv&��p+�ʁw!�]v>
e[�%Jk�W'D&��h����ƣs�,*"�8ֆa�"�Vv<��G�O��/���	�UƗ�vE�V��7?����=z��۔�R_bt�0�b>�|=\�,K�f�ڡ$��\���,���D,�F�z'���z����'��hZ<6>���	���	y�]An�_���A$��=�V��(���M�i��/Z�3�nuя�X��<\��L�!�O�z�yt���y�>E���6%��VP3a�X�t�n��Y����PJm�U"����J��nzX<
�D;��V��1p-�\%Ve?��MI��$����f[4�=ʲ_v��N�L8���9]�.��L����>kA	��M��IP.=����ڻ��C�i����"�D/L��vO��}k,�T�DD3�Sƛ-�����g����5~�
�&���f[�j���/��l�юf������
x_�x�ed�WĦ߂3˞�ϳI�?|z�y6�'8��b�4L�}��1d�M�}���!R{�:�#A8L��&{ꧥ�����]c��I~�2?�b�3������rf9Y���]��Ez���R�d'��y�)��\��se�zxOQ�؁�\�0�BeE<-ӈ��Ӧ,%�#n�!�Fk�k���ޛ�~��xd/�_e�QD0�Y�2o��~<��~U�G��̺�r������N��;��ӱ"_��s�+�UO�U�~�,՗y�	>	���ԁPعE�}���8�o9����Ԩ�r��*~Z�\5}aH[��<2x4��m/�[��_��@�T_u6Zp�h�������F�z�VÔj���Nr�aG5>��9�:b����^�,�<����j�.o��Fn3 \/�S�`^q�XCj�P�.J����r����`2�miQLR`��*�SM�L��@Z��шb�-�g�`���N4D^F�!��\��y�s"�z�Pv�\�ut��UG]��&�?�*D�c�]�X���As0��R=
��܊�lj�n��k�Y�o�����!/z�%j6O41DA�;oz<tF��s�#����J����mVA��.�2�V~X��I\��\C��I�Q4r��d�ċ�(blOэ�TiˊӯmƵj�
�%s���~x`���G��~�}�Sy����Gm�<ﮏ\hAê�w_%6�k��P�YQ��Z��m�0߂d�eu6��u0d/>:��_w5�k��;����8\6��pR��BE��f�y>`b��<�P��tU�lRSyU��w����׀�	�Z6�4m���k^f��u�Ts�Aͩ(��8=0�#OA��df����WU������Q�܄c0�z���vt꤯S'C:en�v�W8vC�O�H,����X�P�R~2�M)��ҬH�]\%��긯W�Czu�d�QKܥ���6��U�KL7�gzzȰ�6^�}�5[Zs�5�Ɠ5���f�l�,Gls����n3wf4�vd�|ls��c�L�ȋ�����P�%Rs�0L��0҂�(FL2{�-�p.D��o}z���c�h�@�b=�&.�"��)}�M�`�7�U�F•�����ޯE_&�Tbf��&�-w�I���7�Yhlb��X���}g6���
]\�f3��BD�E�x_)]3z�؎+���s���=Q���DzU�x:�_�D��ﭾ�r}�+�P���'�i�#�*���,x��	� `Mw�d�v/�	?CV`���y�M����fp9�%���>�/D���2d�)ą��vU����p��O�(��6#��p����.)�"�fB��va
S���׸��@?A�
�C��hZ�p�b0b��~�ɝz��kI���,˦��cbX`�`M���VA���4"9�~
�2���7t��F�h��E��`h�7̫���7Vy��Y������9:]lJ���5��'U^�6����Sa7�����]`����uI��޼�n4�I5ky+ac�C$��+(?vF|���k0?Gmڻ
�װo���}�q�l�W����K��σ��o�V҇r\�F��T y�_	o'k�Zp��(%C!#��A�ާ�H0m�f}mu��*"�h�&F|� ��c�*A 8����K�hhԩǟB�h�B�e�O�Ã֊O7E��q�g�5a�+��{M+d�����b}�)�w���ө2_zc!� n2owy�VX���ƹ�5�˚^���C�[�C����z�2ܪ��5���
��qm����&�J���T)�XJ^/�]{_�Y�	�f|�t���A�j��	{�^y�RL�0��ѫp��‘_�wn�uވ[| �d��Ҍ�P(��P�F����D��,If�H6�g�=?���^7{tv��Ó���5W��$���d��w��v���&"�*k�S�%T��S
Ly2e�r�j�^)JF#inNݸ�hT�U�]h"�DI&”	r�?iZ"yKqZ��K`�KYq!��Ő�5�57��M����ʺ7;���;�x�˃�?��hT���P�n:�5�5�ܮO+6�*D��I�,�eӦ-϶`��X����Oq���v[�A{�N��%gp�Beߖ����"�-�3=�J��X�s���D�I>�t�d����Ma��6BL����k��::Aë�l���H���3+���pC�&�؇T0���/D&�v%)h�q|�^2��<���X�n7�)��a��#�_��B%0��.���ӋS��!w^h�3���⬙��]����OR���Ef�j���}��\�d�Ŭ�Z��Og>�^���/��
4XM�� V.����P��h���c+]avlۗ��&�4qA�=%���%���iqi���#b�1� &u��8�<v���f���3�jƉ�2�V�q�Q�t'9Mr�uҾk������&J-��E�^���LT�<�FS%�f
�����Lb�[�-�D�<�gI!����Uh:XvY��[
z�E8Q�j���]Q�UC��ƌ�`'�HdHl�g��%4U͇:����t6L*��
%���,[)}̥�������B�2�h�:�Yn@;j����IOYJ_n)�V�����W���Z��`��4D�i	{*�k���o���M1b��d&��i��%>��q�����%�5�p8�2���>pD�%��3D��_]dM��c�qsv�Y�J��
��@
ėB�\�����Il�9�:�����<�e!�JKH}��ʘ� ���
`�v���#��w}��=�K�ԗ�Šl
ϠP�6xAd30�y��/iQ�F����w
�5Ļ����Ax�H����Q޲��S)a��>>�V��!��J6��67����s�V�X����0F$
��4﷒��zc)��\�
�r@V�NT��M��S.�`.�7�|�c��t�њ�Eȭ�	#�:9D�n�'�(��7���㤱�LJn��7ͫMQ��\�p���0��Үl���C\�t]��c�
4{Q�X��&�!�|�`Y-��NՄ��0����M*^^)�F�?ڪǍ?4��C$�-��j��>P�d�mQОd�����8!
jaF�pu,�UF%�J1�p�
��[(��A�Y4f�.�I���|ޓ5�oX�"�\<sηUE=�k�j�h�P,t�Xd��2vgl�<�Y$Ѝ�6�<�U6o��[��s�kK4C���A�&EC��Wx�c�
2q
�4�4��o���jǶA����c�NnYXLw��a�5x�KF�rd�O&����q�6���PTMh����m�yP2�ţ]�*[�B
*%{i�3�L�a��V$S�x�@֢�������^���0���}SW��{��)��j��o��K[R�՘� ����#�����
�q`^n�$��\ʜ��d��˓�_'�m�.*��e�4���-��k�ӥ"8��f��ی��՘U1
7����+�`��)�\�ʳ��65MR�ĺ쨣��˟w�Y�{���#R�l���T0DP�N�qC㌳q#�@��&�wK!���t`�A�*B���TP̎;�q�@��[����^�1��_d�tM��N`"6t~MuR���'�h�#���k$)��6��\lɏ�̱�ɴ��Ma���eH�W�MktC�pGJ'ČY*i;f)�����Y��q��\D��ö=�R����-�	�x�@�v�憧�R�>l�%t��)���C���h�����F�;�1�'�VҤ����H��s>f �TȔ�$cl�j3K�5F�C	����2�
��'M0K=ȜG�i�Rf����PM8c29\���&Y`�q�P)�77�&��֐�PgY�N��	���[k�b%�.�,q>f�x#�oV��gٮ�md�����wj\�A�Ҷ���,7� �mr�i��x�8#(�W���`��ni�)Ĕ�Ąg�ĥ

&E����4-_�}|i����,c����p�q.:C�|�����$h����k��ꋗ��XeT�6����DT6X�O/�*r�����F@�\��f�u��=�V=5�Z^��U���ߺ��$����-��[�@�
�Q5��Օ�NS߮/�lvB��6��C�'����Թ�7������W�a1��U�����'`Gq�s�[�h��
�R��eZZ�ח�\7B���)��s������:ִ����܌6��MD��w�=Q��Ѽt���;�tX���
��Xl8hr�w2������h:�]����n6��dNg��U	��5����
t'�m;d��?��u��r;�l�u�_���?y���{T��Z��.����R�^k�]+e�h��oC���]�9��_��x�#k�*lt��=V�Ꮆ�ȭ�l��k����|�FK��#�f���ڻ�
�ԣ,�p��c�M���/��+�Q�3.G9ɛ�`,o�ce޻�r�L��fY��)q@�ɸ����&���fr�3x#E��f��K�q~~
��%UD+��[޹Y�֣��Q%�C�!��80=���&+aL�$~e��q�˧e(�4�������M
���XW�ş�/^�H ��`���@��^��kx�9�9�Ѵ��M��\��
��C6۸燷�ހж�m�Wm;׭�ʝ�^��m_��W���G�{T�J�g
Y��h_���͙�5�}�vF[qK#�:�����w�Mj��11m6�4+r.���M���%~���7�����b��/�0O٭�~s��xZ�ڽ���4��Z����:�Yv�_�^x���0P�[���~��Ldy��~Y�:؆߷� %��D����w�I;�ܵɚY�h����n��[9�^Q⽹9�Nd���R�t���']����^O�#�c�zVᎬ?�sG��OO"�c%>wda�=��,8��|�T(�ZSWrV��kҺ�C�ȥf<��=��9\@Cjr�B��)SD����/3L�rκ��a:Q7F�jkͲ��UP��{��p†�uv4���<�M�j�,_�[Ǒ[G��P�X�f@��;�Jl��W�G�6���s7<�r�^&�)�M�ec�O����q�a�S�M��9X��⺹�K�2!V��#Q�rg`�=a<^�Z@�i�
Ӳ�({ҥXѪ�OF���a���ƑU�,��ΰe��2�&���k�%0O8��Z|�i��vq�Ō?^��MR�i3�����[��~=��D�/	�a�D$�(w���6q��,A�R4��8;���c�ȡ����fx}���)|��⚰]��ľC8��K�Y��GY*�=2
�	���=����&�4���̃M�$��Tj����+߈0��]�;>�o�
���.�!����u>�9��n�E�i�*;N5�N@�a��%,�l�m���I�
gΫ�V�z��+��\'	�\�D��O���h�Q�n�d@�~�?���$��;�l��J�@���Ӻ:<�Z��Z���:<l�p��पc���@�/g�h�`���>N�j�J���e�9�f�����;Z�7I�;������-$]�~�z3�;���]5g�4�5��KZO
V�������O�8�(/t%�Uo�)�B��c�D	V�v�9K8[B8���k�G���Qn0���oS��
K3Q`�Tܞ�Q�Ye3q�"uG�t�Y�5�lRʪƍ�>��G��O�����64��Ep疳��_&M��&�x$����8��a@�9�]G�%���$�t�}2]�u���{s�mXM1��"�Lp�NQ����Է�oc�a�%�B!�BH��pm�OSp�;�h�6r����Y�g
�Ѵ�Q�&O�$�D*9�ᰎ+�awHw̕�y�~X8<��7��=�Z�L3i��<�>�B=n�h@�`t�G#�1�41�юF���a�����T�)�9������A��1<�
����nn��ɶ���~>����N����԰�G>UO�:�ǮٶY	�|�_�%�3�ٙ]�]K�$���K�Y��3��!�X��W篂8���l����9��{7����P�-!Rk����TQ�6rlEv�.�4{��G
��l�L	�Ǿ�-��t�1(��2��z
�W��%Xg��>q�c�_�M�7�Bp~Ң@
����s�9�Cm5c,�P��J�Ҽ���w̝@䦱u1�W1����Ud�������4�3�b5�����՜�t�j�(ʴ�kw8Y��R�k&&�p�d�	�<�$�v���e�GoQ��#�ʇ�n�!�k����-v}�E����Y��g=�tv�Ē�~��N@{ҝ��P�m�qwS�z���ON��uu1���&<�A�����{�O{y�{��	v����"��
Ζ������vI���7�H����$|�剷4ᨻ�{�<}�	�9ewX07�a�4lч���vW�Sp^q�nE����t�ˉ�oҲz��M�
?ٷ_��b�Xb�����g���_�J�l�jw�:�XÀ�؆Z<�b^6c���W��{K?8=�
D �qؓ����A�g]�Z$
i�¸Q����ᇳ�����a�����$ۧ���bh�ל/~O�	��u��+G���A�v�����/�]hz쟹c�$»���:_��Я
�Jx��>�W¬�U} hY�7���C��VC��Ѵ�����K����OW�Q�@�}q�H�e�{��1�{��h�+@l��!��݅Hw<XH �p\Y�e5�xo�GV��j�Nhp��8�3�9q��;�j�;	+���uk�W
O��@q���pR9���r=M��@��Rt4�~�Otv��\�P�8�
�i?Y�.����Qs���B'����ƞ���Qtv���O�l98\��'���Z=�p
�3ܯ��}B�5�}�K�8oB��!m��Ն7.��m�u8Cj�ӲpF��Ujk)���=qM�ƪϜȸ���
��[T�
B��v����f%�r��&v��ϪV=M�+�8��m�M�[�H0�+W<�g����o���ƪ�����E�q�:J/��ݓ[/�2�:�r O��#���ƓT�!�����b��������V;�i�E��B(�d��x�Ξ]�O��ؐ��?oXQ���$����KYjk�^�^;�5���yk�!�et�Ԧ�r�D������?t^�/�����Jp�Iݳ\\�	!B�W���l�gS��-�L��,k%��>�mX����0�����NH��wׯ^�,fI�p�̓1t,[򧰵�
?7�У�`LH�B��u�r=�iT�pa�#wݡ�Ah�E���ۗ���V���
���[��<CS�z�'7MĮי����2�٫;�RIp�һ�!rq~y�Շ�\Չ��Vpo�	��t�
�0�3����̥�S�k�-M�4��6rܦ�V[\wI-�|�~��2�^�'��5����g�3�T�*p����L��=9=��m������pԥ�h}Ɯ�Zuw՝\�𹝒f3�M�?;����\�'?=h�M�j�q�8��ᙿ"�)Jf�)�T�|<���]���dx�U�=��_�Z2v'ҹW�uVzt6�b)�>
h��V�)�X�7�j�-��lӢ�v��kh
������-���UC�������A�8!���/�_g��G^,䞋�L��4��Z�֒n�!ʄV��'{V™%΁7x�d\U����)�LǍ��ؽ�LTGW�$SӞ�Ҋ$G\ɉ�WJ�]��.sI���ʤ���Ni\������f�V��7	��?�]��������Q$�f��J���Z;��
kN>�a�)^V�ܒ���O��P�W��{|e�U�z�݆"��|�H��R� ��U/�Wɦ�䑯���E{�dUO��W/�"����*	��P�^��乶W!��V,U�23TLO����
H�+�\0��;�n�����-��Z���7�6YJꇖ���&::k/��G���R樭��Z�2=�Z�;�4��$�Úh�z��jZ���V��%r���o�����t��r#�Wv	�A:��Ho�T�c�kx�A
]gmvF�<:�6{�6���^��Z.P�f�^w�*���PkIuII��xA�1yj��2E��fo�H�
��m�Ƽ��v�z��\|�:v�p\��>���]y/Ϭ��,n-�'{E����
��<���Ü[��]�R�W�lo���:9�W�S~���*�e�!>���t�
ϥO��X��F���j�{�y�1SN�Z����k��%@�g�I�\�@��=�猞~�e�� '�J:�#�F
l-�A;�rQ�(0Ԇ��
���%�����ؚ�4���ǭMܖ_U�QC��ň46��}M2S�0B*�m��lr����P��4��o���۩�:�78���b=E�H^<�73�B�g]"s�{2�m�?�:P;\*����L�B���p˂�����n[O�h?�� x|���۶�X�R��.�[IQ�9Z
�$���I�8ּ_�#��U;��l�� =�?/R�������L��i�@��,:���|)�V|�E��P<�K���ʷ/���kX;�5�f���ЮLb%	�H�k�䛎����5��䤩~ʨ���7ʪ�
��.E�~%��Xot�l�67�2�����W`!�Ƴ��1E��S��f�ō�z�̷�J��o���f�?�6���N-Z�!⭦vd_Ut�P�W�–��~�4�hhՉ�o���=E��֒�tn��1���|����O�l�^� ~�6����v
8t "Bx���*�An;�n&͊�"F�YX���X�ʧ�`W�W�8�יC�cc��eB����
��2:5����ϧ��mF�GI�_�k`�-*r�W
�b@�)�$]9���m�̥E�t�
��X��\��BG���[f�`n�ɬ�jVq�5J
0އ9�\�bD�"�/���~�����T���=P�pUԨ���)��)�iV(r���J(Lw��ЍR0g8�	�$�<��� ��Y�m�t��DsP�D:���>_2Ƀ��/�ލ���Tɩ[���%��;l#���.�]ϫ�!�֣
�&?�Q|������;��6K��
�a���n�nޢ�Gsz��{��Y(�G�-=d���H��Uʎ�6*�M(3�o���Ҧc�YD��T$��S��f~?L3DTtu>�Cd���j�F�F�4�����M���%�
X^���
��<A[�Ǻ�k�@����*gV�
�H{s����/H;�B��q�p~�ӍgZPe�i��{s��4���rн�y���l��̾=�!�P�u�fԸ��k�����6�m�5����ڃd�lu�w;Z��{࠭�L��a�y[MG3�p��ARX��U篹�4:i�oO�>P�l�zψݎvou"�X}���%Ǎ��a��%�;���K:��Ma�d{�b��A�@��]r�"�z%�Pz[KS�#�(#q#���U2�cJ�y|���n���YCX�.��LIf#�G��>b6B}-D�J�>����n;�_�iɼ�a�崡޷�e`
�az��x`h5n�+cY�aoy"x|���m��}�,��4rjr~�n<F>��k�i�,c�I��؞��=��_�^�t���@�R�/Y�ewC.���q�R����]�M/�r�d^� q�"�e�V��::�V���}8+�Sg�!���U�/�������#v����k���/��"�^�,�l�<�	�K-���q)ָ}��~>a�q$j䴪jW��Vա�j�*j�U���q0;*���r7I]�g�'�%����C�Uf]�zz��*G��<�ւ�B��J�޺�մ�v`k�d/%����A��s�ڀ�8Tx�g��OBF�.�����\~w�rAKd�>��Q�c��ȑ��ت
�������<(zq����K��zK�nK����/�;��h@�IȲ
�a�T�C�χ�:؊d������%'ǖ�+����
Ս��gӎ'N5Y�yT��p��^3��l�p��{�U�(�&�&Ġv�:jU��M�:��֭�
���r�PK��c3���.��ľK�v$�����o�� kŲ!��Н2NK2?�	�X�lZ��en3��2%Cr�������ui�3��d���zXi����
�KqOC)�u��VF�ж�d�#�k+K�
�,���s�3S��N�o8�a4--"�v̤��x�̗0<�a�JW�01+?
���J�s���#�`�gKvy�,WD�<J�@|���G*�]��;��'��/�5�4v�@���ƅ��O�:���EF�h�<
ZG������_���9���ы��8e�yH��h��z�����R+�ԡe�ޣ�3o�I@_�Յ���z�-k�i��i�"�F	H@�FLa�Q�A�Ri((�Y�(ʹ��-�UE¼����q�s�8����w�+������a��V��@�=����Zɛ[G3p-��x�0)7OiRC�1|�[���|�+�ŽWi�8�4�����f+�i�~\���s(&?Ih%���M�ks�=�#�
�~��i5x�+�Z���>#��h�h�D
5ϳ����丿j��UOMGΈ#�_0� �Ӭ�eG-�	����"^
է���^��OD��M"NCݨ�$<ި���{�lΪuX���/�"���g�!Q=t��C�����Q��_oT$D���9٭�U�iK!�c����)S'ߠ)Y]�l)���`'�;�:�����] cS�<���k��By\q2l!t�\���ly���$��1o)�7��qL����EȈ�xh�>h�ȕ0)�Y�.)AWaܐ�Qc��*����t�hގVqi�5.���u�;�[i{Z��c�m�Ē���\���:�T��FP$bEA[F4��3�~k�i��f��m=���\)��цT
��k��L;{��r�i��|��
ӆO�R����^�X�� 39�%����nh����ڬ�Ԛ��f���J����P��Rݔ� �}���4�<����(T�QP���:O�"���"D�M����_��4٦wN�'c�:�N*��R��\�b�&�倬�d�)@-�<"X}&��xA����	��H
�^"�|�q9��1��{蒱���浠�3��s,�����4q���ӯć�%�Ⱦ�Lx5��^V,�D����p�1��-5x_�]��`��5�����]��tX�&@#��q\$
8�k[�T�4&G�"�`�\�v�_@c�'��x�!{��G.���D�y�}��Vg���o.zV��eW���$㧓b�	>�u�������u�7��츏�l4��{.D�����ŋ�sw�8�h�↬��*�i�^'����?�Y���9<j�hg}mgG�ͱy^�5���
�:�pGv5r���G@���cDY3�Y7OhN�y9~�Wu�s�=h��)*�DŇQ�
�.��]�.����,A�ƫ�k��#�cJ�b�]ҸI�&�DT7�,����h��<J@�5�ӆ�37���^���7O���%��m���O�~�~����a�1CKW�o��w�P�S�.v}f�8y��AƉ���a��JF�V��o����i�����%�nY����E@���?�
�?}5]���i6��9����?�t���Y2
c��aq�$�9}'@�M�x�Y^P���ZL�0_&�LaCE�TiY{���q�5�O�"��5�gBvlmX�RR����q�+����W	��36+�$*mȊ[�`�00�.K�]M_��[zo=Ʃ��ԕ��j�?���ـ�,���q�Cqw�:��
D̯�_�n
xۋ��F$���ǁCfP�
#��.4�؞1VwU��~S]�Lh�bD+���`. �=%�\d�JxTŠ�ʆج����.�����H3I�!��L�7,R����^Ύj��0�<����
O1�8�;\bc�hs����36H��5�2�|�6~���u��7i�Y���]�Çnb��Ɏ{kR�=�����������k�Q<���{m�����Њ3W�6)͵�i���K�ו�j	��0��\�g
��7����_�����k�ZK���	=
�<�z\6Oܰh:�d_�2���
���Х��,(���KEh������	�lّ����[Ǫ��6
�Nl����4J~V�&�W���/F�`���r$�0���K�ʉZC�B��w�W���I�v�YQMu��:�;�U�F[�Vb+Ko,IС����j���nK_?p�aƲ�F`��ϞK�O�P�I�_ۈr~~��cx�&o=��}�r������W��
�p?�q��}uW��z-�|9Q�����	R
Rgc�D�0�%"��ʣ���f�,�?
<y��S�4k&���E�w{����GV��|�����eL�
�V�+��n3Y����+q��U2��:�T:$3\Q�dc�7���
�v8�1��E�-���,�g��Ͼ;7��X@6\���ڛ����i�%ǝ+LS�������2��n1a�I�M�g��������G��䲼J�;	��w��˯4�
�ͅ[H0�(�@�
���lЩxV��5��_�d�����m+9-�r*���4��:9�L�b�~O���7o�ƫ�$��G��6�BoZ�ֱ��O�ƚ���G�����K7�b�|��O#i�<&N�x��P��k���4��5����[�E���f������W�QG�*�*%6�U��/l'�JW��=��F��7��A���dž�9p1�iJ�9�shV��Z�x���B�F&}u�Y��bœ�Ϯ�������0x��%�eL�G�V�}�w�&�dC��h0��ԛ��%����T!dʨ�U���t3|���|�=��1I'��Y>j+’����IV5��Eī�{��b�P9���u�7�"�Q���
�vl�wTM���Lw�[:T����"@MSk��ߋ��-`[T���A�� \
�Y��ʐp�r5���_�νm�Ա���sΜ�L�g��O=܍�~g��zO�/��G�@�����!���ַ!4%U}��"T�'~�O
.�A��׷d3Ku��+A(���@F��2a�T� ]��NBE�X��
=�G�|�D������_�A�ܴ�%�j����H�����2��	O^��4�뭉��_�˻���)�N9��R���k��f\�!Զ�=p��Ω5d�N]o\��rD�u)��{�u51��� +9N��Em=Уf�[r#��—�I�}�>�Qrss�ƛ�,���ԃ���g?�C>'�˷k��w[ccJ]?�4����з�TJ
�G��J����o���}����6�@M
�U9da!t�6󀫥q��S��_���ھ�_����"q���=�|F
�e�PfAx ��ћt�F������1��4�i%�å�~���
�� ��<,�Qm��?����5z�4���Oq�UܡϺBޟ`�����E#���0ʈ�!���Yύ��pn#t��T�l��@��g��^�b��'.pā�����P��P%D�����•mh��GvX�=���['\�ؿ3JnaU?lҊ�`�(�7[��b���]de�#%�o��f=�֘]�r%
��m���#�4�����R ��G�xKѣM6Y򆊿���=���Ε�h;�e&,�7e��`�
@-a�[��v�M�s��E��m�Fa�Т6��`	�[
�q;�JʵC%q��x�P"q�q4�w�Yܕ77��@�\��UR����9�v@:X���1�s��&�J49tZ?S�`�_2}kA�S��z,̇�W�"G�ܔͬ���Y7Ԫ�����b�ٰ-i�#z^�T��e�)���oQ�H/�h��F�C|J����G�s_v���MJ�zSƂ}�M����9��jq�=���8jn)�𣴞W4���.]��_����0�D�;�rq2��D�]_�T��d�Z�$��3�X����.W)
_���� UY6�N�@�t|p��7�F�J<*_����j�$^�����G�����|i4vF���gTaXj�a2�}��"����>j8L�dQ�ؗc`Ą�Wv���Nw�{:N-�%���Ȭ!A�P�s#��h�r�B'-�C�,n^K���&Z�c�K%PрXU+g��Q�D�9r0���o�H�z,��]B�\�l�׵�?�^��z-���A��	�Va�(�
;��Wь�M��[���:�@QZ�榩� ?�-c�Ǔ0��4t'8|��7���Sfn��wy|���?�a�'nѿr�L�l��I��� ���#h1 �}I�8��g���W�4�:xә*�6��(jW��dh훰2T#e�zf/��	��ivw�ćV,H�u\��|�!����ue6IJ�aX[�|�vv᥾�49g�?�D�xf,d��j�x3l����� ��{�q`~W徐!���0F(i�Ol��{/�hs�E���T�/ɯ6d��ӱ:��������8�=�+�`7@mtI�nq}�8N
y�	��S)�=�É��'�>�m����d@�|qF�4ˆY������D���?�|��T>�1u�オE����&�0<?fS���t�	#]
WX�Ir�~��HL:��$I|�R����z_"+�H�HTQzr�Lmb��m��N�x���gH���NT�Z5d(ۆRl��2a��l�:Tb��W�ߝ��&�l���U��q�;�o�󑋢Ӟ��3��ǭH�9p�r�$y3TD�ڈ����s����e�aJ��O��B
��7�
O��
.�z��w%.1d̐)O9g�2%�j�a��Xkf��i��'U8{�3� ��^�'�N2�dFh��,�_�☙+�
d܀nd��EA@
��t�����6z��+N'v(*���]�@<�mJ��"��^+��֖��z���C�Tj�M:��mW�x���b��|r���oLz�G��ƅ�Q�lvU��K�]��U�5�4���<�^��4ml��RAU?$�:��[�����9��n�i�e��7NdIoj���I&����b7q��?���lӂ�nk�ݬU�:�E�|�&/��Wu��_@1
��?�h�����T�����AP5�U��������P�Jx���d�l��\��g0iI�҃��e"��8#ōr@᧌9�8�P�K�z"-(���H��K�H�%:r�:�Gk8��!:㮠�sTKw�3��*����|����H�)��l#�48�`�o�T)�k�=Ƕ��n�\T�����d��::l{���"�-��ۗ&XBkcX������m1����٫���^Z~��^ZP�Kh��:-]*��bC�5甛�E���6��lxp�K0�R�7zj�nl������j�)Å�0�05^Wؤ��Q��0ŊY���V�\�U�JK�*S�G�1W����Uh�-�`˱+���u��1�DdM�n��[n=|�ܷ�檠GV9�vR��0��R��V�n�����Ay2Y�⹉ce�6
�?��~Σ�(�%�ķؖ�Cu�yRs���p`����*,Q	6�1];/�ܒ�y���K���_t���j��7�.�	B���V����H�n�	�����%sԊENv嘾1�����*q�A	<�0�.�Y�BO�3��LP^��7H�g�P��}���N�:� ��L	��2{���(INp�j9�s��G�"J��xL�"�P���@��o��z�+K# t�9m��H8�V��"�mM��x�<;�R�E2c6�&?K�)l�>�i��J
��x�`,��
{�P&rs+'��y3s��Y�J��Ѓ�xV�\$����M��&3m���
�"DF�GW�:bj,�=V�1�v<�&��Q�>듧�0*���9�K[y*���q��	�W(�����]	=�uWo�y�������6K4����՚L�Aע��ĽP���E�C�NюC
��x6Аd�������ɠ�j��^a��z�lc욼�9����|\�tmf�R\��W�&�7�`\�2��\����������,�Y�n;7X�u�i7`ʼ��"��|WS�~��LB�0�� {�pܢU�8�p��i!W{�Y�60b�I��g�J�wD��n��q.����c��e���n�f.��@�[D��‘������z�
g6��kbԽ�
��t.@|8,�M��9�E�HG]�|�]��r��ҡ����S �m6���moc6EM}����̜�l�����6e��bB�-hX=�X�"����'��sKs��|`���eS3H_ؼ�c�A�=�����Ճ�Vw�$�c�ٍ���L6V�3D�\4K�!�㣶���o8hB��Wn#9����YA��b��
�������/���t�
>�/?��h�=-Q���S�ƳPH�oOOW�PF���?��
[�Ӿm1!�)6��J�%Nse"iQ
+=㜼l�n�ȗ�2���
g��t��+�������;Gh���1�S�
"�6V����^�#�x��d.��2SjQ��g�Bsb�COй�e�H���3³����)k�ֳ�u ��J@3*��~���UL�l4��v���F�h��F)/]�)b	�j0��D��G�t'y��W���߅�9�0£�F+��F��Sj�(;�b G��C��]��5g�ʑ8�x��-��$=�y�d����Z2�o����ik�}��5��9L����	bکJ-�1dN�-�A#WwN��ngp�3�[�xo��\��Z��Oti��6tʟO'A�U������g��M���P���+�B-��F��ǥ��ME4��,Y'�ұ�igޘ(xn�XO>����d�
x��"ƒK�����xR2BBv��˴P�v�e^R��E,�t��p��:`��7���i(>[��[
8�e��O3�m��CK*��TI�7��q%zdA��p���5��E�&"Ѥ����B��ώ�Rފ���ۙ�)���h��^�Xg:���l����΁Zf�9puM�s��,��
5$pi��4�	R�EQ��N1.۠Ιܭ��3���r����%LB:ޱ�8������}����W��;����#�U9,��r2;ڸjOZ�D~j�&4�T�Y�=�����~e���W���c�=�B�rP�p�-�"nO�p���Nב��i���C�gj���C��֑�\���7��u����H�-k��a��:���4U>��
y��{�m�l���c�����WCZ O�aQ�z�ţ�*v
3Ȉu�)�
���
G�;�\S�'�t98��Y,X�A��Ҋ�=:��өU�-�w�#�=�D{�Ug�]�#�P+���ɚ	�q0�
?7�D$�R�(;9�3���ke�庵5����(zD��ns���^NI�j��u�0�������$Ʈ0(ؖ#b�yGf�UT�88�生;O��
�ɍu�����4^O�mӘ6H!d�ЄӐ�CEM��7�'�J�oH�(����y��8��Ɍݍ�mmܡ���b&3P�I�s�"c���+<������ݻ�I����;�|m��Wt_;O]�U��Q&��9�F�e༜-�?�_
C��/C�Sa��et�DZC��9�����hG�"?�A�FO��|�ـ�����Q��7Y�
�H�Ӻ�����}U�l�G�,q�����,/�n�0tx>�U��5�Jˉz�IK|d�h�-��D
�*8W�B�~�)�5��F!�3C�S6�^]�Ȃ��I��#�6/�o��!m�X�sϵt�$���cq��7�+���_�M�Э)�͙&
:�6���g�!�z`3�����RSY��n^!+�cئl4_�WFp)�8J�D�VKмO�/�Im���w������=\�����<�D`ʫ2���
��vp�
���f}�Ey6KF�:�-!��qS�eY	�ĈƲ�D�q�����2	'�d�߹# ��<rj7�iķJ�eS7�CXd��*n��f���*=��_?��c�P��P�t�B��I�6�mTU�ܐ�qF#<˚X��TMfF�|�"���o�ى�d
s�h[^�Wƒ�)�	nM�6�hw�`���l#�x�lo��0P�,E��r���`��z���N�����,��1��#;�4Z!���'U9s�AE�{궳�ބܗ"f�M��mb�����>���9C{T�*�OAمv,ˢ��cb�5{�B�\�M8�B�GJVU|���U�y9IQ*�z�
�!"��P�^+�5{4%�o�fER�ڪ���HT\�&���u(u�;+}� 2f���-�-��(�<����\dy�B��n�d�pG��A����$**���ػ��c��6�:�;�U/'�\��z��WL�:%G*��y���@>�2`�D)!�v½BR������z鱭��T+��q�6�l��W�k�M�:���i
}�TG�¥e�<
�$��~� �c��yj���\�pY�i~�Wb��"w��l��Ip����_�.T�m{pT�P����#\`m�,��@���`2�#U��4|?2��	k�q�Q�NB3��:�����XM=��ӓa�Bév�H�8:�J%�ท������Ϟ�
\
��?ێ���h��ώ�|~������HI����р�����
�?��xG�:���tʾ�l�v,�FG�ww۹,m��q��Y�A1�b)T*f�a�"�	�T*?�uW�z�~����^��$_�Jc�x!����OsP���A1�l��~���X�d��4���`Û�l���)T��B^_[X��'x9��|�'��W��a�	6Q�VY�#M&�r*�,�
>����y:|cP�;�'�`T�1����	�A6�$����o(��nuv�円�'x3p%j�g �|��i:�hf̩�c��A>�ǩ��Bx�ٱ�CD��m��<�'P���9-󂬝9��V�O�;H�dA�X�GCf��!�}i���߰J�IsB��)�lu�T�����l��є��1���Y���L�[�}�:.ز�ke�q6��;�b�f��H�2�5�q�Iˏ�) ��+��c����6Y���c�݄��%ٝo�(��� i�`O3��6�A��g@|Td�v�L�ۃlh�v���C.g�r��VT��Z�Aö'���6�&�\���<�{^<-�������U�>�{o������k×Tk����1�O�b��l����U+����]�xB�΋N�����~u�=	���?T{3�yca5N�x�8D^���2'RD�a"6�rU��wB�aB��)�D�)�	Zk���f	OOc&�V]�q����$aX5��_��P{���}����|�
,�%˹Lϝ��.���W�t��Nj|)�*5_�]�M�����śi���P9O;���T����b[<W�W/���i��0cũ��R2�^��yEw������x��<p�"�A���tT9P'�
m�ٙ��^~���b_\j,@
��Z�%��Yjz/�2�;ҿɦm��Y�[ �s:=�V�����tA�n�J2rd����O8J��G�)��2���n����v{�V�LF�]v��]���w:�y7x�
ٵ�$+9**9�Bv�ȱ/�"�}q<UI]2��p�rP�(�s���f/b��y��
M�r�Z=�V#����ct�}��T�h���3s�8��p�=1�V%��5��g��LG1���_Kn��O�o�խܖԦ����VG��ֽV!8o���N9��6�'I��6{ȷ�l�j��?�v��u���*�� �����6I�����F��q)��^8\���7~g3�{���{��GN�	� W�1L�2,���I�
�j"��wT*~�s��.�aj5L��j���Ln⥧�m�t�X�޲�|��Y��ƒmx���	*�jD��Ց��gMe��=�v=XM-7;��j�:�Y��-�o��E����]KOP����΍���P��s�5.�9�/��5QvXt��Y�;�,'G�?[$�eW�Bf%a��3���|�:P�}�����VUkn�����\��F���u�NqF@��ZNm�96b�m��z�a�Nu�p�ӥ��`
apV漫D&,>I�0	X�]^��r�陖�+�N��8-�<��Mzڀ*�G=��z�b+�6��z�/&;K���y��*�4�8;�F���%����V��L��e��SL#��%;/3��*m*]�	�l�p����׬�k_���;GgUQYf�`�#pi�LS��6(�.�G�X�,�$R������N��U�޷�4J��8
[�%��j��lm��ޤd�~B&���v$f����i��l��^�X���@vI�’�SO1w�:�g�b��ka|�{�{Y+���M���5�X!��ni�I��#��6���-��V�uFJ­=b�]rX5��Մ�U���7f�S�?g���]�b*���*.ۄ��2c���F"h�#
`k
AL�m���_����{��D�)��f�š�w
J�������M�����n��tot�#�`��(�b� �*e�(�Je7$X�`c����:���TUA�R���?��AP�!�w�~h-�ؓ/}��7�4�����_�h:�m]�S��8��î���sgؾ�w�PZ��h3y7��I����*�ZP~�3��Mj:�K�
}�.�G��k�����O�hс篯��6B^`�[�\�=�c�^�J����NKksI@�����TH|k�l����l�6S�6a�TKuE���Z�y��~n֏Y9��g?ϢP��g�:7�2#Z��X/��d���^G�]�ڥ���&T�֒�&�p$�L�ʑz6䀴��/����]�/�HS
:"1�����j��F��Y�j�׊@�ot�E�0�z��Q�-��
Oad��,��pNVw^�0��,l��^�h>���1��n��Ur'�VJ��L����7(._ݠ�Qz�0n��h��xԮxԪ. ~nqeX/���9:�PyT�7̽��\D�4�ﮯ/�����8��`iH�R7�{*ZB��mI�n�L|>��mE}(��G�M���D:�O%7`����D[����\�TC`��l�$��'r�C\p�U?����Ŏ�ޘY��*�IY�����]��9�OD���_.�y���>_y���5T�k~+�
EV�{�@��iҘE�c��h4J���>�oWVk��J��R��g�O��@�5S?x|�~���4A��i&�ox��,W�!��y�2�(Ѫ+��9����A�c)}��#|����)��������)��u6Spah�O���%�E��u���*��^폚��R2A7̖fǩ:k?�$��#�d�	,
l֞c��4x�o`���C�<3k�N����{[�n�F ��Bz$��rP�,�B��.ʅ'�(���iB���������"��+1��|���G
�Yv��SB
kc�=qr�r\�A��6�4ؙbw�"O5�'b �O�$��܉爙h"�6�bJ��˹�������ޑ��®�O�d'��H�KR�8�p�(hUѮ&���|s�����+�S�։�s,���u����Ņ�ٌ,񩎲sr1�t�Jw�,4�+Y�*K�AR-ޣ�\ʃ$��G��p�ħ.�Ύ{2�X�t~3��|2`�d�I&�.4��������-g�C�V�S�$��*c�.���&�,�n'�k��1G�bX��b����z�����"���\.��b�Uɉ���FyѵH'	��{>L'I1u��pM7�)��Q�=
�G鬮L�.�@є�Q{���{��c��OJ��E[�<���'r}̭g=��/j�Ա������:�Ԝ����b�4�<�@5Ϭ��#4߆�(��>�;�`L�@ma.	�.�����#j��m�ԕ��r�y�">�7�Kz�7�%�3��7�{��z�j�/�1�ל����4&����ɚe���Q֤C�O��Ă�;xi+mC���ђݾ�iu�{Z]nМ�����V[}�#�u���N,p���κ�~\6!�p�ΰ�r�׭�S*��{)Yw�[����<���n��>�� ���ۊ����Ҷ�k%�"�{�GWld�7�d�8��P��$͞(�Ժ6V�g]��C���Ѩ�ntt6L�x(��]d-���,��<�vT��@�L�U���#oSU�5�n=*n�i�� cA�x�F_tX٨�=7�Ee��E��nI���U��y��WZa���-�O�ݬ2zvvТ���@Ǵ�(0��5OK[G�\����%��w�.g&DV���ja�G�VXr@���3,b������Nr�&^�d��+9��u{5�u?-�?!C��dV��������Z9���֦���ܙ�>������S#�*�V�:��j]M�!	S��Vk���u�7�OpMɳ�s]P�D�ѦS|�`�
��{��Ҥn��D�W1����]��ˤ��EJ���
��ǯ�j@�\�&�\�r�Y&�l��i�yiQ�6��&�\C�����%�bz�;~��d�Ŭ���7�ϧ�$�p�FVIK,R�M�o��T�:�`�j���_�a�M�Zs��	Z��pF�R�ѷXIV~M�`�[�q�H���/쳤�L��$i�:؛�#a����P
��Z@���s����
��8\o	YL3���|u��P-���H��IO34�ٺ�����������Ւ�0�R�(�w(5i�*��q�w8��^Ok�r}�2w��6`/C{��̄w
SDPBi����]��=��_TV�S���.��2�8��.�Cb	n�
�<��]p�;��:ث_b�W��mB+2�ž��H��Q6rzv��y�]R=ͻ�4�δ\�N�:�S�}��3/'�Y��7��S��{�@H/v����sDJ.鋐�[�%��j���r����*��Z79`�{p�̈(�L����M����̿��k��`NK�$�+VT�;-�9Z��I[�q/��j�f����o��TCL�@8��U88cj����J#(P6�e�"�a��yB��ǵ|�e��K|�ԙ(k[����nC&M��&&��M@��tث{�z��x��X��l�Y�LJ:�iҧ�C�H(�~��nO�"�1�g�s���:����K��Z�_��|��܏m�͍L��O�a�V[pP�lA+u6چ�jK
*{W�*V<���В@�Ӫ/·QE�lU�C��(�L�Q����G�1�q�n�AN� ۂ�x�g϶�m�����ے��8�tK�l��;��%$F:Z�[/ Ǚ��\��el�f�[���SW-I�L�o��0x)�M�Ƞ=G*^=���ۭ`���-�>n.�w�d,�sC��P�'K�>�$��Jh�ʭ�C�����c��Y�#��$�K+���+0���t&=0T;:q���p��6�+�}����-��fSS)��4*�ץ�~���St����F]�n�!d)�j��(�o#�^:��@i�IX?�׀�H��RC��I �d�c�[&�h%j���u�XO6��L��V��\��1.^5�M�:
�I����at�#t�$`�{�n=�������a�FY���aUK��g��l��-x3�s�X�ځ+�lj[G.](%��f�fL��ז��|#GQ<����YC�Hc�:�3({��n����U`����#��>��~�f�~uٹ� ��7�J���/~l9T��${«	�u��q��<�������F��6�3�(p��6:�nh��l��){���*�H[%�CN�6q��Qze�����G�AS.�{㳃�	z�K~���	r6gy/U�UGE8����:SwP�8���0������Ԅx��3}4�G�WJ��J5�� ��e�:Y��u
��';�ly��8���<-�7��/���+��	���Ʒ�o����`Ȝ��M��	M.5i��*\�%�'�m�*羳$��
��s�B��o�R<v���Ɠ8�܇Z	8�K���KWyM:�f�ԕ���l���6`L��E��W���aG�

�"�^�$���N�H���f-~`����,�pQ��#'K+�J�
��eN�2
�P�w��ȧM����?jՖ�iCЯ�pt�;FǗ\6Uq�4ztzX�Ȣ;$���Ԅv*jM/���﯂瀠��B��{�\��j��ǧ���,햚 qeB&��r����1��Ǵ�=��f+����3�a_��5��*�
�10�Q��[�A��i�LI8����{��,��3��oKO-�����~��/F�d��
�ƶ��x&�ϸ��Aw:��wW�ƑHm$��<����C�_Lꩱ�
;�"O�*�[X-�k3�k1���`����������Q�]Cb���3(P9�Ʉ%ҧqpI�E�|'���qɏl%]R�����6��t�Uv/�+�1�!Ѥ���1�V�.�*<2�H}*7YQ�nJ��̉�M�N^^b�p�W��-�M��rI�d�Eզ���i䵻�I�
>B'-�L{k��NE揓dP�,�&����~�EO��'�V�0��ޱ�ln;���
�ԓ�01�B~�̲]�V@�|7�m�t����
�z���a��u�]���ӛ�d>o��N�iBG��N�^ܭ�ƒ����6��*�W��
�:8
��\���M��z�v�k�!�pV�S��xs‰�����V�þ�y��%�
�Ӆ�w���Y6
�@�}i{Ĭ��IZ��`+HL����J�<�:h6ͳe��;+^'������N��~���n�zԈ��bH�P�{�������
���=��k����T�V����U�U?�kb�H����:@�7@��R�65������pU��!Pq�h���_��|x����_p�|�!u�|��2���z�����W��l��&�-�kW�L��෮T�\�&곆/8`�(�=cj��3\p/A��;�\:7P&C匌[,��W�o���'v�K6�>|����b�A�
�j�[p�e��k?=��������ߦ����8l��3j�wo/��wo_!89::�����&�l��GsFt����NU�oy�n jB�oȰ�~sm�=�)_���2�A��/^�o`�~,�)p��I�ph��3i��Q��'�9��
�.B��їLA6[ĭ�T�#t�"l��%���</�ܥ���j�S��i�3ЂV/��Y��b/R���~�׋*���/�X�ؗ=�w�d�Y`@�
|~
�&y�X*V���QuD�›л�8�-�DV�e�/�Z|����8�t^��|�>	Ii����O���%�5�1��'�*�G��a����/�:���>���|�ؙw
�����[�0�T���d�q2���:m�kt�f���vE&������E-T.��4"k�H���M"סm�s� �Ҧ'$N���Z����qu�������B���E�W��:��J�ϥ�8g�<N���<,��Cw�
浵[G�68Ho���@��fq-c�j߯͞��TWծV.0���+���8�ɓH"��%,���㾪N�g�|����Vq��N�˞���9=Џ1?v��Z��;鲲F�B��Yg����,���m��Z�������8<��K�8=�vwl���?Ё~v0�)~r2���
���0Q<.iY�)�N*�5������?d~Uo��_9�E��F-��Rp�*I�N;gN_��a����i��=���*�
�E6ej�,��e�t�O��֣�>W�gY�$+�L>��ǻ���޿_�諦���=Ht�I�P�ԱE���_���f-�
ĺ�w��L9G��?B�9���zg�p\���}�l	���F������QW��=������j�7p�P��>������ckB���n�+���c��jgܿ���͍�R���@�/�2��4ф�5:K%�����
$a����T�Du�D�=X�a �P����1 �hI	:6���JE�$u>�Vٌ�˘23�0�%��Ab.d垤����=�;,<H&[N��:�n�䉕2��f1�:���D�"�l!��l5{���ڐ��Y�O�2� �ͤ�H9A9�	�e�#�1.�ܚ�i�z�W��T�{.����Ad��n�-���u��7|Pax�"U�so2H|�G�� �q�c�n�I�-�܎�������R]6AAkp,#��_Vbѡ�)����-��}�P���8�u}nE>��R�({��V��+Q��N���\eS�>���uۮ7~��tL�_��.��f�-d�w��Xl����e�J�kb~P�~c�
xz5�gw�4CA�q�W;r�ĕ=�U��)��XŦ�-��ޛb�v�v��2;<����M�
�K?l�:`���.����:�;�o�A�C]�^��JF��W�(�i��7}��7�bC'g����)�x�y��s˺��y�<g��y�a
a0�\���y�J6�2�^0��>�̘ѱ^�tߺьN����Яė��u`U��X1st�6�,/_;�w;*���8<�v�)G6w�v�u�;�;ⶭ{�~(u�c��2��΢m���O������Z�[�G�A�Y}e ��~˺�.�������]���@�B�U;[R�}JV����e�a��Հ�J��o�6������Y��E%Y�Oĕ#�lX/�������HX�K�6�0q+V%� ��_ޅ�`�q��	
��"f��=���i��a�o~��R� ,v����]V�N����zO��#��y�׼O(�i)����.Bj�5��/��c�q�<
�Ɍ	A>�[9���G��?���.�.�2��x2��;�F�u��U��h�&�T��CJ`���,���O:�?��q����JS�9�J�3A��_��1WZ��dN ?�� k�K����*�UBO�v0�_����,�k@
$����Ʃš[�Ƚ�8�
�ЬP?D����CG/��}��#������\�;�d�v��A�\�
���	B���ر��5�\�=k�LC89i{��®b�kW��������Q��`S,dF�d�|L�^�6�>���`<�&S?����j\FB[J�M����=���T��bP��؃u=����^�9�׿��n�I\6vp�П�a{G+�oj��Ķ_��J���ytV��c�b��٫>�no�E	;�BD�:��m� %���)	�H_hE�����JՎ\�3$ Ɗ2���lUg��-��J�fi�/xۄ�tͻWY�X�T�=l�>d�Y�i�b��7��(�:I���~��
�,2�;��n=N��|XK�~���[����r�����>������4T)e�:�#:d���gǛ<�#��x
�����(\��|�q�T>��{(�l�E��B�ƂV�⥴���}�/�?S�L)��&a*G�w�b��`���k��ci��1Q��������rс��GF���IX��zV�ݬ�
�Dk�E2��c�c�8�N�� �fC*�W��LJ(s���x�D�������m����f�2�NS��[�ljh���Û*�	��[�6F:X�^�ّ�����gf����D��_͡��,�XA�e�s�'���Ns��/��?|��Jd@S����,5?\��lv3{�73woqRE۪��Z0�%�ie3�ی�Q�n$���G؜���p����>���V��&pl�hK^�<v�G��!�豙V�����{�1�����eN�^$�V.������>Wj���}�gr�����(�-��o���*�J�\#���V!$�U.�1��WX�ZӐΆ��2��77���sG�bE,�1��L��<?qz��cRt>� �η'.tY�
��	U�"��BV�y�Lh�#�
�d�X�
UX����1�9���Y�}A�B��֚5bz�"�hŽ'>���*#�d>�>)۫pZ��g��ٌe���gisM,��{ꖒPK���5��KZ�d1�@�C��� ȋM9MVt>�f���z%�ڢ?����M(�
���CZg�Ӕ�4�Xp��# ��V��^,���?gk���=U��8��:ezK�A�cn�:��3�å-A�qS�ۓ*���j�%�g�j�M��<%>��r)K}&}rF�e4޾���//�i�����}Q�Ge��IkV�1�a�oz["��}��F��7B��N��Q:9�W�L�U^R$I�!w�h+N#�c�n R��a�Sy�ɭ#��dž�C�����w��/��_y�o���ڡ���s1�K%Ȭ�
0�`��'RX�<7m����A �,4��pL�ᥫ�;�#4�g5i���tC�?>j����c������rO���ھ6^0ڣ�M�_?�N�R���J.{
����p������+Gq�E�^��UI�:��uT��)�լ�=���A��Gz��9O����ik����T�c�hO����vK���; M#�4aK����G��7���SǾ�3�ܡ�O'O��l��:�}C��Ruդ��4�E��%Ӆ�(�:�&ȦQ�3��X�&.�,G0=&�fXr���26�f~}
kLpaE���tL���JD�X"�B��)PM9F�a�����nV�n�\�a���a3�=9�����M�k�>��ϸ�;��'�е�g�����P>8���X�m�* �g���1�Vis�}#:�I�q��c��5�In��01�(ߔ��8HJ8ޗjp�H4�0�/Z��3ei+S�8��z ��e�jTl8k�uYQ@�qTe�b��d[�6���zP���Z'�����€,/
n˞O.���9�4)�I�`XC�O6�uN?\����(��mO�4˪a��p�}����;�t��Vd���Hf��P���Ɏ~�h��5��pi�!գIR�i�����4��C\\B�l�Ⱥq=	[��]5���������0�'�����\v���=�Ȱ��Ww��L+TMj�-�k���U��cћvn^Sѣ�m�.r��nm��VF���"5��b|Q�U��@d�$�a�W��¾��~9�CG����a���W_;����b7V��GI��|�%.��m�lQ�Qk��R��آ�!�L�'V��_��@�a=�9٩n2xX�J1t��X���y��W�0l˨��2ϊ
+�F8���b��l�ʍl�C��g�r�`ݙp'���e�@l>�WyR��.!��SZy�w��f���R��:n�2}[�O�W�J#n������:	�C����p��*��P�qd�ȍ�t���A���~��z�{��$`�)�_/�m���)�{F;���\�=�S��Tn�����i�z��G;��Q<<
����^8�'p}���_��}k
��^��F���!6��=���y���Pwi^�B�xZ������mF��h�uK�f��<��M;p+
Wǎ�!26.p5T�Y|u��]/��r��6G���W��$K`2��bg�X�0��w�/h�j1�
���e���3v�S��]���6k'�tq{tTg�)��p��2���%�y������}�}��Yn+�O�#�3��I�����N$h��#ģ�Նl�?G)�]�q��:��O�R�MG�-�]�7t��j�u�=���f���SjI@2	B�e��)ir��/^�M�Bd�N�ݵM䛍.��7��Q~5��K31�(=Mm�c��
W�̫&��"��G&Mvr�H��6�{���V��>��|4i��G���$�lP;4�'2�D`"A%C�+x�����o�����/>���/^��@{�pt'�q	'�bj*�O�����w��k�f�)ރ�
���XkjXR0Dx=�\qB����9����(�\�Izw̯%AM\�؄�-�/Օ}c%-�ƴ���/Z=�d�<����
S9��\�S�����5��oip,�@^+�{����o�a��Q���GZ�O=Ə�%���Q�����G�����e��B�«r��JR�m)N:d��<���⇵5�m�w��3��G8�wي=c�*�l-��g�J�M�K�B�*����V����imʞ���&dI��f��..����%�Q�
KNna���\;�*1qƳ�)G^\�U�Y��rηk\ΓG|�9܉|[�/���x��i;1ʙ���&I�����逈�͟ӎ%|�Y��p�|�7���]�=;����҆�!��&��<�[]���GL6$2&x���چp+mi���LD����,�Hd��v+6Q���l8��/�"�ݕ��0�A��}#�e%�PBE9��9���c�H���l�D�f\[*X5�M
���&��{�������G�*���E
�uV��y�Dc�^.%	:�!8��o^�?R֏����(�k�Կ:/�EsV�}�.����uGk,b�����;^��t꭯}��}gq*����Ͼϔ��ʨ췍��%�c�ɲv���59�+�8Dz;�:^���j�?ʑCW�l��=����+l#f�X�1_��]�/��mH�fD߳@���W��?pʁ��tf��|u(��Z��;�e��]>~��҅�j]A�v\��4�.�\�tf�Q����J!�LPΒ�t�Z{i�6��{�#4�,�h�޼� `~Ow��ɻ�L�4���y���Z���q��s�\J��3*%��]��qE��6|M;GL�=l�w]w�/&�b9KV�P���.d������2Y:��vk�NA��g,OH��c\�
Ӓ]�y��1����-9R��T¸,2:E=����>۬�3
(�b+1���8�C*��&���
���b���_�smP��Y�I�����i2Kt���^g�6�� {I�W�����N�-����Q�����3�xx��Ń��ӳ�J/��V2�$��5�R�Ny�J���ʫ��G�<�,ú9�`J9TAa&>+�Bv��M�9J7~���x�2����*\��.�\EZ_Z�罡=^
%[��{7t7���Z}Ui4Ҟ�H�	�b��_�̘�,�m��
"PE\D��|���
�3r��d`�Tr�7�op9+�k��[�_P��>�Ϩ�,ա˿[.��'OV�ծylO�v'��B<ąX�����Qa}������e���6S���m�BhR.�G��Ud��B,��\7LP�,5�6�@bMD:
�	$�@F��l�2��a%�|���an��:��\.�6i[��p%Vq�z�x�/�XJ\�~Ukmtp`6�y���(fȹ�Is�u�ьtLȴ���>���c���~��+��3��bj��^�C���Uς��co����מ�����;x��܈�l�z\p\�K�	�^
�c)���/*�~m)�ࠡ��,���%Q��{s�V�M�Hk󫞬��Z�(u�Eq,�{�j,��uJ�	�k��<ss=�w�K��["+"x��SS���*&4���9y��|�,Mb�������� ����~��±[������6�*� N+��1G���IV���M<]�ե#`R O��6^��������醘�[�2	<����t����C�L��LR�js���48c	_5��M}m��,/�wt����,+YP��0��I���ώ"Az�!T7Rh���#_�"�+�lK(�!�Dѕ9��J�0����L�&�(�'�4ޢߧnD�j㊵�1`�Z����c�	b$��@�؈������u�_@�MàV�\�y�Kb��uh��y�8@�XÂ>��2�*�PF.���J�
�q��8t'�F��jE1����$�LIE�B���oF ��r��9��lo�r9k�֪:�w���ώ�CMWF�8w���9߱�%��BN���y����S��7���uG˧�zӓ�`�����߾�6T���c)B�SK(�8��=�EFUbޓ�x�K���!�7ɽ8��/������o�|z81���J(ms+�"�O� �z%���+
9�-�2Mf�R������ZV`"L^t�|��PU���^<פm�|�5�`wד�M�NJ�4�!��y�I٘ͯ'� �#q�fXabK׽�B${P#�u����=(�N8���
Ҍ����E��m����C{-�b��|�Ǵ�ǻ��
�-B���M+�9�?l�x�W0G���V�q��P�#U~�4?l鎒�[�W�)
7���y۲sNe=s��������@"3h�.	J}�3�
O�o�-&�pr7�i��J��P5�Fi]��_��M7�+��vп��;?H��ߘ����H�9/a�Y�ti���Q�\�Ӈ�7�x��N�x�n9^��wu���~\�5�˻���ō���՚5nvm �]�0�	��6�����@@ϼ�Z�W��B4�7,�fQ�ٛ��!��*��D&4��ң����|)}�kw����v	l��9~��gr�qD�}ѿ:��<P��ګh���q\+lx:g
�^� �/�[Ti�.9<o�0S�fȣ�$B�K�`�2
��[C��X�;���vs������q���4E�t9�x���ם[���!�4w�����0w�7n�n_�da�8M%���"��_>�-M�����?�6�<�c�O	}�%�=�Oo
x��S�U��$�9&U�b�f��Mu���0�}���=�}�8�
��p5G��,��-:�˼�o�ی�o����i�ܸ� �����Aѹ.3d�0!uf���A?o�jgI�_��?コ\��Tbv-m����F��P�d�C�?��x���Ok!�R����Y8��Q��x���WY27�筛�G��'x�o�p����oLoQ��:�F�����xӯ,�{O-F���0�M�jj��n�L���W�$�c�b�p��U҄�,������c���a��=ơ`��V�dXst�Ps�5��Q�{&�ov;B��R������Lp.{	9�+��%�"��E���F��Xd�
<������
��7~!�QD�Y���*�w�4��0O&'�ηh�%�T ��3�v���O=�-]�/���s���?ގ=���ōA߱�|mOG��&��/k-k,�2U8�E�-��;>͎�=wd���U�\苂"��y`PL��~�Ym\�tr��%`4
}�T����6�̸v�ou� K�Mr�I*[_3��D7��a�WRNU�+�KOTu22�߭��l1����=�96o|U��6:~�՚�t�
�f>~J╫fyj��H�}��:��*�6�DaE�w��}^\o<w�5_Q%HH?�����Us���*���M(�\dT3��L6v
*&F���u�R��Y���TM�m<<<#>�v�}C�/������uP\	��"��e�=m�NP�f��{ئ�#u�ǧ}�L�ĔT_�:��bB<U�h0`��T�k6$?%t 0g�<h�ǛicCt��x�U�;oC.�����*u�&"쪐�ص�+i�����j�_A,lq�\�9���.T����Y5�	-��N�r����i�������F��;���%K����!à�IR�ظ��V���9��1:�H[[��c���{�a<x��x	�W����.�#讟���#�$��r�
x֮����mh�w|\��LA�m�v„*���Ei���	�tv�Ƃ^�z�=Uy�?f��rq��Q������}�D��X�
q�$�b��A~g�I�Յ*!fUuT��ZJ�O���Z�@��#3L�� &�E���|'���Uɉ�6����Bf
d֛4x']�Ү�D9��-��Z60x)�8�1�U�+�F:�ld���r�jmF�s�W|�h�a�����%v,@��H&�d�3�ֺ�M/��9�A1�M�Ph�T��
tQGS(g��z$3�"�.�\M8�h�E����3��v���wŝd��Q��j-6�\��X� ��C�AP}G"C��.�eΘz.Xƞ�H&���C!�t�d��	�����@b-��e����PGH�m_'�{6��������ȕ�Jlz�&��wj�δG�@�V��k���������I*�i?į�U��O��vgSx��,;_��[����4�;ҕ�U��׵�N�/��nF7��V�|���N����j�懄�f�ؼ�(��j0��1�Z��.5'G}OX�o��r��l�,(AfX��7t�V^SE�\�)O �T����bT^��qQS��ß�L���1��_:��t��Zr�m���	[�T��*V���!^%-(��+i�m��[K�6��Vb�Ĉ��L�"��q��gc17ڳFQ#G1bi|*rrm�Xd�n�]a��������
�O6\8d���{�}��Բ�^�d:��@W�L�_i����L����r���Y�n�3i���n�&_�f�Rl$O�+~W���X]zF �EqY�^��ߟ{�4�lD��J�0�T��2m�!�;���?�f�Q�XO�ʇ0.۵j�����J_Bk�������"�>��I�k')� �1���U]A�0qP$@�^�~60�2T/�]����`�(��fB�����k��[5�x������<@�܂C�{���<���^#w��+^�*��a5���|O�b&�J����`g�̑��3�G�@Y�
LmX������ti�zS����T�\�+��z���,�A�j��)���M��$M&��E-�DU)l��`Q�8�����6�͉i�_q�b��S
PH-9c6�5k�9^�p��p�&P�%��NJ4�\�7�̑���s2%��W0#�C,kҏ9i���1�YkV���i(:�A��E�[�P�P#��i+m�6���ǭͣЊ����"3k.�d7��Ǣ�(�:�DO����7��	U�L�����?���X)\�B�\a%���W9֒X���5)|@�=�L�~�1T\�x�h�C%��@@"�v�S|��g��ߟ�~��y����۫���pg��q�:��9�:2K?���?}��}�����p�Û��/~����}n�,?�XsOUi��@y����vh�d0g�r�����Q:��(��-��ԯSU�V�

�'�kZN��:��v���V0�/�fr�j��f��6�z���zw��}��W3H�tN�3��4'�=�����9�'�6�PW��Qx��n�_�e�/�;���{�kX��o�3'�W<�����A)�f6�~s}���Ӷk��cazM�*�t�7o޾:�=]W�6a���UD��]dsF��0�k�ۖ�zvP�~����%�d��bb��7乞U&>R4&o04�Jki��>�ug;�ph�۾�������X(dd���|H�GQ_	t��HW3gp�!,�d�a���zCP?8�o����>�;�6��T��@m��=Dž��Ր�`I�X�=�8��g�v(0�����Ϳr�
K��/����H��$^�]['ʦ�R���ۼ�u��,��p��9�<��cc@2.��l�$��9�h�Q�!X���n�B��@��L3o�1Z��Td�N�x�Z�Ace~
�o}#鵣�7l��j�Ii/l�q�A?r�'Y.�V�#���'�8`�0�n�\C�R��T�ָ	��d�v�Kiҗj朦0T���&7W�HOm`8��q8�u��s�c�y+}/Ï�s��Ie7��JNۺ0S�Uc��
�1�a�����Jq'�)]���"Mc�I��U�Ww�G��?����@P��ITu
 |�T�����MQ��[���f6�y\�h��?j����Cwa��(Vb��]gU�� ސú��`��6���8`����<�:�˄�\��:�'۩�:�d�f7J߶yӒ�EEgJ�n�ͭ|֧M�ٖ��=(�,�۩tt�V��½ߩ�|�}_���%��D�^4nlā�F�I�~E98�o
��ׂb6��#4����{j3�O���*�f�dtڢ�.O�J\Uٟ�R�~�cх;P园~��a��Zߜ�����w����*����%�ɝ��rQ��M�]�x���d6$����l��fX��9�S�bxc,�-r�ᴮ�A�&��|�ͺs9GGG6?������p�n�;�7
�x�^ŗ�s�1@�L���(��kt�Z���8�
�u��Ζ�jbe�e�-׉qP�ݻW����B��<�엎��ɑ����Ð�Y�^8>�O*ǰ�`���Jh�t�Oq�C�H�_㖝�7ˠL�H�l}�
���]K%+�!�3PM���5WY��OF�%�͆퇛;®���GÊ����
B���\%MA:�Ls����qӭ;d��h��
7��>���p{�^9q���7��\T.K��[3�c+�� ��i�l.��!b�(߃7��U������<򥗢ZOM����Z�ޅ�m6�[����g�����;�(W�@�M��Tn?�5�f�`�E����M
b�Au��t)�iү>*�Y���\�cr.x�4�Ӆ��H��X��e0/�7�0y�ة����ӷf~�T��O.��e�I����X熨y�N�{~?�-����A��6�A�̃�g?-�4<�I���=	2�8�����5���f;XtD��,+�@�K��/̓$x�S��%�#^b���*�Z/��0��uS�	~��
ex=���ty�T�+Z���\߶ts�!���f_T��R/�~�K�!'��
��,�a{��@ɇ��Zv�ﴓ�B�k�.i���^������Y��yrP�:����ln�-��-�X���W�
�Iɉ0
榵,r�����a!eOU8�I�Q���u��{�$�5�����/�O$��u+HRw�
 ��z�p�5���V�{Uwĥp#6�ZZ�ĥ�>\���\��[n��RJ��f�Q�h�;����մ�v����[�]�]�[������io�- ���j5%|Ѿ��n�������
��.
߈G�#�MUx��1Y����v�w���������G���v|T��Is�u_��^�o������<5�m�����z���}?;n��I��g�����73��6�q����
ő2�[�.�z�0O:~�+[��LJ?�t�|����٨�o�DV�~=�y}t��q-����G'���G�
���[vd两:�9�k�����LrXq�\���즫��O�_PKk��[�ꔂ_���litespeed-cache-pl_PL.moUT	:�Ai:�Aiux����Ľ|�~. � �`�L/%�el�
K��I���J:��b�0��bzI轄)8$� ���{	���{�fv��d��� �����y���OK�g��H�O�GM�D�;��{&��	zL\O�(���
(�k?ʿA�V���0�X����JW����U(�%�+Sڣ�EM�tUJ��t=JO�tMnO�����W������;��H$)]���&WQ�JW�)��iJ{(-Q:��g)�t�D���Bi�S�I�>�%��ԧt���ΔCi�ҿP�����D?���c�ܯ����L�>�+�����WJ7:�ݘ�m���z�A�j�^v ��N���1�
�:lJ�)݁�u)�J�ꔦ(݌��A�眃0OW��o�t-J��z�t�+����HАkP��'�y|�`�J��q,�x&,����΂E�A�nD�Ŕ��i�B{��M�|JR������ơX�q�b^v�t,��R:���)ݗ҇)�����w<�-���ҟP����i�nw8�=���Rz"�����p���ᘟ��<~v8�o�#PnmJw�u�t6�����WJK</�N�t��ٔ�@��Gb�F�v���)�u8��u(��(��[S��QX�����)]�h��m(݄ҟR���h�M��}4�磱�?���ј����z�i��s�cП���x/��0��1X����Q�������a�.<���8��?����8��q�k������ǣ������x������JZ���/��+���U��8���8o��ֻ�	�'`��9��	x�~�N@}�0��X}^|�2J7�u?�҉�'b~��>Ǟ�u�D��ךnxR"1��]Oº�������O�SJ[+q�I�Ǯ'c�gP�����y2��J�`|�S��;P�cJ����:��@��)��.M�~
��;Z~�S��t*��lJGP�{*��XM�:���w���2�ҝO�w�QJWL���Џ�)ݜ��4�3�t�;�t��?�P=�u���O���t��7�?��s�X�Ig`�g��s٧��<��1J�d�w����<nz&�ʌ3���J�q?(݋�w�D;3c���^�}u�b������b��;�,�|���u��p/�x�ёg���x�}��_�;��LJ7��Q��s�����&�`?�|���9X��9�ɚ�9�u�`�}��s0���y����/����E=#�E���b�v�t"���b~~C�Q\���'��øCJ��9�>x�����9��y�w�G�����蟏����|�}>�_��w>��؏_��}������0ϝ��|������'�>��=�B�s�>�w��#J��u!��gb~׺���"�s�"�w���i���"�k��N��x�Eׅa���>t��Y����П.�x�\�v���'c=w��O��]�}���d��qϽ���c�k��/F?��n�_c=��N�5�9���P�7�;R��o�����t
�3���
���.<G�|_��������%���]�zֺ���֗����b<�K1?�����)���R���˰O�����W��r����X���h���u��f}�~���>���H7����(m��=�
�����w����
ܳ+^���ʕ�okR����Wb���
�U�
�9�*���>u��W�_#��ms5��|5���j���>*\����W��y5��W?�z
��k�?�����
���~-ƹ�'s;��v-�q�P�u�W-�a|=���:�s�u��˯C;w\����N��uX�ϯ�x�^�v׼�^�z�Ӥ��\�����Ϻ��8�������Iހ��w��p����՚��
h���V��<�F�F샹7�\�F�k�xwč���o�>{�F��n�}��Mx�&��o�~?�&��e���	�mp3��vJ��y��}����-���ߢ����x[�?�-��J����_p�|���[0Λn����|��-�˷`�b?nt+�챷b]���	���[Q�Z��[�_j�Ʒa�v�
�x�ۀ�o<��6��
Z�O��|�6�׷a�nG��w;�ɨ�Q�M;o�~=�v��w(\��;�s�X��;��܁~�p�q����߁�{��7��X�N��zw��o|'�oF�pJ���ݝ��2wb��{'��w��+ޅ�A�?x܅{n3���������+J���=�'��㟔��}�;�c~z��ߡ߻��-�=�{�����?��}���y��Ep�BJ2�_�z�?�[���	��0���	�'�'�� }>[���'��½�$���y��2�>�����"}>�>���އ��x�?c�}O�
�����3��l}^�g�Og�Y�cJ��<x�_��x�����Gz?���_B�=�(�)H��+�����@��ƿ
��s?�~y�����CD{�=�y��A��A샟iZx�_@i�cb�F<��{=��y��H}�^�?���3����~�R�Wx��bJ�0��<��>�a���<<�·���z���a��ˇ���zm��v���I������J'0��t1���Џk��~ݡ�K��~��oX���z?��{裀3k<���S4��(�/�(�/j�a���(��=t�������Q�;�<��>�1���ǰ��=������{ü=�����<}��m�DZO6x�;>�v��e�z���ǵ����
7��i��*jz���H<�s���CG<8p����'�ߙ������`^�����|�X�=	8��$�w{�+�$�9�I�sݓ(��'����~��k��]�S(<�}r�S��9O���<�y��Әϭ��zN��=��|�ৱ>g>����i��y�l����|��gp���`����;�(����}�,�e�g1?[k:�Y쟟?�����ޗҡ|�<xu�X��Z��gq��Y���E{O=���޳8_k��s���n��m��P���.{>�������P�m��ާ�xN���ПW�����h�����b>�'ʝ�O�[�'���_8����/�K߿Я��u8�_X����s���/Ի����~��y���X��Ǿ;�y|���k�_@���+{���4-�8z�������w���4��E��_>�"�y��(����Z����~�"�W^�7�%��x	|�3_�0�o^B�-_���2��◱��}����ﭚ���h�����������e��*��ߛ��v��|�+��y���*ƹ���s���S{��*���X��Fg����@�_���5��'�a�|�u�ö�+��:�������<���}���؟'��v~��wh�G^G�/�_������z�p���'����
���o�\}���*o���M�-��9˿�u>�M�{ћ���5=�M�{ɛ��_��~����o~�&�{�0?-o/��ڽ�-���[8/Ͻ�q����[X���:�|��6�o�6��L�J翍{�귱�?x���}�;�'���w/�{�oz�֊�w�7=�]�j���Q����C�N|������h�g��>8�}��Y��<�}���cnx����{�f���|�r�8'���O?�~��!���B����|��j�����#����G��[�X������}�y���؏O�����1���?��>�	��>�=��=��O����}���|�ϰ?G~|)�i�3�>�<ݪ�����ϰo^�O���~������?W��s|�9�����6�9�>�<_�9����!�y�s�g�/pZ�<�|���/�~_~����g������]�%�����~��П��0�;|�p�+��+�C�+��x��J��+���>��W����
�{�רQ��_��_c<�5�U��
�-�`�������0ߋ�A���s\b��S�R>�R��J���R��w�!C�A��)��:�R�BJyD)��TJ���D��Jy�=G)��-J��2t�ܧkR��{��(?c(�9��?BJy�����9�����6D����)�}�J��y>D��BJ�>7�}B)��UW��'����Z��O)�S)�M�����~��Yq�!?�_����V�8��qC)߷g��_V�8�\�NJ�A?�~��)e������P������4D��^+��p%�s���/���?�����o����9Ywe�Sze�wqe�o�柹2�s	�L�߶2�he�5V�<�K)���Q����U0�R�p�J�&���GS��g��?kz+�L�>H)��\�؟R�K�����g��}{(��'�n5�뗫�?k~�>�{ا'P�����a_<�=��|�w���'�)�s��R�W�G)�+7]ߝI��cVG�w���ypu��&�_���iJ0^A)�璉骝�@�`
�;�R�?�\�y�������[�p���C|��1߉a�V���ޏ��v��ﳽ)ex����#��i?B?o��ߣ��/_S���5�$��R��ka}:)e�x�/W]�j2����\A)�/��:?"x���v ����Rƃ>����u0OUJ��}�|߼E)�c�"x�I��=��8[��u�����PO�R�kO[�/��G���x}���G=���\����c��>����Y�|����s��h��`oC)�){n��N���ה2>}�8/w���7�z/��h�
1�>���;�R�g��!��܍����&J��a=[=����၇y�=�{#��7}J���H�s#��7�x���N������&ﱛ`_]A)���py�!�wM��}�(��?Fa��M)�g+mJ�8���|���������f�6�z�0p��рsϏ�Ym�����}���%c�m�_�'X�֟�T~���	�'�9ƿ��׎�ѯ�n�s���X�9Mho�&���&��1c�v��<z,ʯ��MR�̅I�~��y:y�{�8�����n�z8��𾣔�V��rH�>G[�8~+�w�V��[[�M��[���P�ek���b�m�t����C��9�j;��Kۡ�aۣ�n�s�F)㵗l��X{�׼��z����#;`�����1_�����q��#���S�n�N)�a�>��OQ�?�z�X�1;����/�F��gv��J)�O���_����]/f�v����]������!�{���a_4��M2q��a����ug_����$���'��<	�I��O�t��4��?l�>ݡ�jf3��^̀+�f���q�ތz�j�}sE3ڹ�ҋ�4c�����8a2�߭��΋�1ϟRz$��݆���,�����
���~8��f
��*Sq�GM|�y*�ٔ2^����{�N�N��j*��G�b>ǷIJ�8����vO��i�U��o��y��4��oӀϼ:
�5b:��g:���q��1��4�;�<Λ��흁}y�E�f`�?p>7��Ŕ���e��Y�c���}=l6�go6�W�l�oz6��Q�q��:�5�W+���V�׵b�mE�h����V����y?bw�ߩ�c<���ܰ;�տ�{~w�O5�9��9��]�`^gi~j��`Λ�~�>0��9��Vo�;�a��N)�?�kC=��c]����N��O?o�wڱ��i�:���M�8���Ž�E?��s�y�G��rS�t����:P��;������;��������=�~���=����y[w�!���}�؞���Sz����R��|���/���ί)�-㗔Vx��/q/�E)ӹ'����_�^��i�^����y�e/�'��=��ހG����|o���
���>��>����W�uz��G�`���?D�^�1��hw�N�O:�3:��S)��l
��0����NOa�nJ�|"
x�r��{i��1i��i��Q�a��ߝF)�͝��#���P�/�k��\օ���xğ�p����9�~7���n��溱o����n�w�>�ٍ�sQ7�wC7��#����_��z=�M����<���8uJ��|k��=��&f����n/�q���k�
I�^���>��=؛�=z���s�o�䰏����n�o��ߟ����ߡ��o��1����
�?/�>;�}֬�^�⻅�b���/������/��aE�����c4�PD�{R��Ŕ����"�u\	��0�a	��%%��B	�����y�k'M��8'�W^-�Z=�W0OOV�n[���apO�x�`��Z��+�����<l!�}�B�Ӌ��g������T�<���]U��iU�5�����*��U��G@���o���w�~�����ܨ��a��1�@?F����������=p��p�y�`�����_a}~��{į0�S~�����_ny �eׁ8���N?�^Jo�:��!���������?�/�<MZ�}ݵ�w�����[���E�_����"��m�n�!�n�C��'����qV���xw�����C0���y���k�C��͇���s�8�=����f��0ԛ=t�Q���s�ч�Yt8��pЗ:`��g������������8g+�vW?�p�#q��yx�H���#qO�{�W�Q��G���(�k���zg
|~�ј�+��z?t4���Gc�z�?��^��Ï�x�=�<{�Y�X<ow,��{,�����\�v,�a��0��C=��a�N=xВ����a_�s<�w:��s<��Q���Ǽ�u<衏�ǽ;��}O�x����	��''b��:��D��N�y����_k�	')]q�@�$�=	�r���/����睌}�2���'c�_��w���=r2���8'�����)��N�����/N�4�T��էb��>�i���p.&��z~y�;�4���^��4���4��i�g�>
p!q:�y:�x:�{:�C�t�k�阧kO�88��7�N.8c��S�p�G��X�K��>~�L̯��%c^��ًџ�ŸO�^�u}d1�r1�=�,�]�B~y�nga]n8x�cg��~�jg.o��>gc��
:�AM�:�b�s0��z�>��t����`��y.���b~{��y��8}й���s1�K�Ź��\�s1��|�<�����tڟu֧������|�y��������y87ߜ��Z�|�Ϧ�c�N9��|�?�|�ו���
g���|���os.�~[x�9��7y;]��ƅ���?s!��.�x���P�zqO\�q��b���b�K�]�y��b�󛋱/�5�9�ט�}~��~�'N��I��_�w���Ͽ�8�
��K��ݗ`�����}�`���%���/���R�S���'�_�xݥ8����K��.�x����x�ɱ���x�eط]�{v�����;#)%�-���8�����{��
�oj:�J��>Wb��+1�C�D��^��w˕��ǵ��Wb�?�t��@o��
�U��
%��
�65�U�j�볮�\ẫ�?�\�q�I�U��^����5���k�~߹�l~-ڝq-�Z쯣��~<�Z�+��صh��k1����:�t�q��Џ���g�͸������3��1�v=��5ף�_�uz�-n����
���7�������.k߈}ڤ�q>{nD�����7����܄z7�	���R��go���&���o���h�W7.�L)��r3�c~z��*}�_t��[0��݂����W��F�V��Cn�x.��ݭϓ�b]����[1o+ކ}��m�M�
�]x���oú|t�z;ʏ����#?�����ϻp����?ߎ�����m�y�w��Iw`�μ�;0λ�:�z��C���N�7�.��w��ly�g݅��s��ػ0�3��y��.��{��|��.��g�B?���&j:�n|�~7����[d��p����j���pf�=灔N&8q�=X���A��=��˔�ݩ��k���/Q�v�3�~�u\Z�^��ދu{�^�X�~B���-A=]�\�?����!	��ġ�����_@�=���ܯ�~���~���_j��_���+�ߞE;��~�_W|@�0�S\�<�{���x��P�{`���ი��b_T�|�� ��cJ�>t��@�C�y=�}v��������>y���9��5�C>���7쫇�x�߰?�(���Q���<�q����<�}��c���_��T_�1ܿ�=���8����ѯ??�y~�q��O�m�w�c��qn~�w��W���џ(=���3�	�_��[���ߞ@}O<������5���1�ޱ=�q�����?���Rz
��_}���I��O�y��߶}
�<]ӽ���)]���COa�_��>~
���x?�i�Ӟƽ6�i�7?�u8M�]�4���=�����g0���<��g��/<��������"�g�ϟ?��)���Ϣ�K��}F߯������Nz�q�s�wo~�g�"�'�+�����:��_��+�:��Ni{p���q/�<����1��^��G���5�������/྽���w_�e���"����"���Ǿ��?x	�7��}�8u�K��˗0������2�u���O�/+?�e��^Ƽ^F�Ѭ�2��+*�x�z�+�k���^|�i�W1�-^E�ͯ�ޟ��|�WQ���b>.|��[�~���W��[�5���^�|��5�+���k8O�^���Y�a=������ï�}����k��k���Z�uܫ�_�:�^�x�{�]�:��%�c�y���u������u���o`���>�����@�K)=�����7џ��}�Ǜ����u��M�ɿ��u��M�u��=����8x�8�-죗��~�6�M�����9=�m�˿��s��ۀw;��y���ݼw���|w�;�߾x���wѿ��Er����{��w1���0�ƿ��?zp|�{��:��9��=����p�O�7�]�o���u���Ny���}����}w�ǧ4���?������?@=m�����?�����6�������|�s�ć���1�����#�G�G��(e���4?�1�c_��c�s>�8F}�yK~�����M��ߗ4=����O0��}�z��eا�g�O��)�S��#>E���)���g�?S?�y��t�g8/�><��3��w?S��3샕>�Y�s������l�s�����?|��s���(]$z���~�su���˿@�w�u}���/П�h��_���_��K�c'}�{��_�^��WX��Wh疯@w<���}
�bݯU��k��}_��
�G�78��}���7����ϐı,���	�X��JJNJ:�P�3L����BJ��;T��'J��F)��˔�|�O)���*�\�܏���C�~�ah�Jy|Q��Ç��)e���(�q���P�J��J�?L)�᫬8T�G�R>'��q|D)���*�l����7�w񹥔��
�8�R���Y	��}��W��������R�?k�2T�k�5ͯ��7����{���>�G)�a�*�aJ��]�7�R��)�����3(��5���T��|�^cաr�~F)�S'���\A)Ù�6�J�(R���/��=���
�6�{h���a^�����7��1���Ǽ��R��>�5tu�M���)�}��|�J�c��Z口�﷋(e9��W�~i��P97)exp�0oWP��_�q~M)߫k�1T�^������}���&��}B��U�h��a�#��?�:|H)����*��5�Ŕ2<�qM�}�šX��5T����<�֯��넵����qܰ��qJ�|����ڨ�ژ�k#����]�O�t�G��~z����?F�?^�e��3~A)�P�Į��u�r�2^s���G�����P�_k��}��zGa=���R��N���;�C=/R*�t��l�>�ϥT�0�G=篏y�~}�����<~E)߇#7*�����C7�>yb�����u7*r��6ĸ~�!�=�!�kC�cݍ�n;l�y
6�9�#��36�z����a����=�	���)e��J�~z�þ��R�kg���r�ث#�ƍ�v���(=�������Ɣ���xJY��1�[m2T������l8�騡r��G�;
��mJYn��X�C6�~9sS��{7�|~S�յ7C��n�x�fh�yJY�9e�P���9�<u�y��g���1X���N�4F��O�&.e�L�	�~�yLm��?es��6�|>�9�u�&<�H)�՜@)�|ڄq���<�:�/��|�L'�5��I��M�X�YI�_P�ޡI��SI�W�P�{�|zr��C�~�x�_�n�{$�%��=�2�7l+ܫ��
�ݱ�����z�H)�w��:�`'o��\���m��
�������E��l���b;���a�o��|`;ܣQ�Ƹ�q���x��Ǻ>�=�����`�˶;�e��8/�пv�<_D)�iW���p�;b�[�}��}sݎ��_)e|��^��(e|����x�'7��}�;J�d87��y?�xF�y9�R��ߥ��j�;�>�|g��v�9��2T�v��&�:T�?�{e�φ��%��^��	ط�L@;L��i���n����w"����oN���$��'ޟ9	��zJ��J�P��N��f2���&���wC�J���=��m0�)ط�L��R�sw��s���~7��/�2��T��Zg����.}C)�M�ih��iX����:���'?����P���g`n?�T��:�P��cga6���,��s��ـ���}�m�8�R֧���s��M���9��k��ٺ
�ֆu{�
��G�C��v���ߕ��^������=0����g�ǫ��<a�=��n�p�i>���ؿ�����R�+�s���?�z�����/�
�f�/�o���_�L�%�˭�D�k�}y�^����yl��_E)���*t�JY���>�G�C_��q/]�	<bl
�w'����+�1��(e}�U:��o
0O�ua?��*|�r7Ƴ��n��-z��Τ4���;�A��ߪf��ޟ��:\��xV����>ޫ�U/���^��mzqo��Ž��^��.JY���y۳�xr�?��<|ڇ}�NpgQp'��|ݜC��y��y��}�8ga��	y�C7�{��G��1�
C�wt�}�3JYO�b^ߦ�4߻p���/ڽr_���b����}1����"���E���M�y�O��o)��'J�����2�2�eZ�z��_1>W�ݯ2T��wP�r��`�ڏq��>^܏�|��&�p4��c�B��?B���R���*�
o�t�����K�p�:��������k�~���Z�ý<?����z]���>?���0������q_�l�˙�c�]�?ڿi���ǾX�<o~�g�hw�_�?[�
�=�W���_a����������_nO?p�ȯ�8�e�A8�W��=�`���h�ك���E�׍^�����'ziC����!�����_8�¡X���܏R�K>�P�����r�~���5��~���EL��sx����(e}�5�D��:xU�Q�7��}��Qz/�{u��8�����1���Q:���cp��}�ox,�IDZ�o��ƱX/�8��IǁN8�8���a}.;���(e�S�x����L�@p��N�wǟ��Ɖ8���}rՉ�ϖ��{�%-7�$��O�}4A�{N�U������x��$�ÿ���IJ�fx}�?�d�;��!L/��棨��E�=<��y
w�3ߡ�%��^�t_:��b%�@�g��봾��7��3�9�
C^��M���y��Q���~�]*��ֱ2�M��o����C��)������]-C(S�S��3z~�q���������Ә�h;�T���������*�1�#�%�B�fG��i��;^_��%��q*{�3W?�q��D��j�W�<����M����y�!�Njz���D�mB����}��hzG�w��1����v�c��ɑ�M���%��r;л�R=��6��$N��?U��4�yy���w��:Ƶ��y\��S�n�ߞ0>�f$�J��JuбO\G�L�<"y+8�����v��a�p�s!�5q�~C$h�x���oV��r��C�7b�M����2?���챽�G�'R�S�̅��a�؜�����g�6����%Χ����ޔ����?�2Jo��vʿ�i��毥|��I�����7�������
�{�����[�����K�_�Ͷ�w��]��л�(�В���P�Ħ�:�k|��_ �S�1T��!����n��kh�v��Qy"�?�5���^+�o��G���ͥ�j���}�+=����t��>T�ez�9��i=Aeۇ���*�c�]Z�;�|5�C�ӧ��ξ�v8|�)��h�}�Y���RٿPz���꾕�HM���N��73����G��hw�/���|-�%�-���9l����"z����Y׏�#�$�����rzf;"��Mt���M�[�q8�Oz���u��||u<Li��$}3i��=��oC�Gл=���C�h]���pQ��/��0,?{�����g|��[�~wM	UIlOe�Զ:5���ِXw�A�7�Bߟ�{��P��J�n�!	���<(q$�c��X*w�����Oe�Fen�z�V��z��#��
�ʺ}�㻁a�0A�K(�#��+��j�m���|p,�>��엗4�zg,�Q�S����;V��i��G�N���oڌ~Mߌк'鞘�ew���ӷgPz���*���)#��X�~��C�J�;j��(������r��s��Oަ2�S>�K0N����Q�-��V�~���}���3�S�T/�}G��ZW`�:��(�
�5��]�c�:f��(�?M�ڙ�w�|�P�B}���i{��6f2~��b��a,�J��w��Fj�!�w�����~������{�~_�Km�u?@�R����w��oҷ���D�c�H.�!'S9�����?��+T�ok`�J��#�;����q�Aϟh��Q[h��G��&&���W��*��]���o���L�i����Ѻ�޾A��u��������(��a�wP~�jTf�~?�}�:��'��i}�5�2������_���x�(o�{͙��u^�Sz���T�:����G�3�}���2G��+.
�O�;���C�sޮ�7�y�ٙ���By/2����ř�I�NӼ{��M�?,�������/����T�_�qB�~�!���?��W�r7�߹W(o��^�r�2@ρ3�W�}�����8�)ߏ�<�ച^G�A��w[Q�R:���&���(6���p@���a\�y�+�s���w�K�rܚ#)o��#�4�ij�Sg���:�(=�u��fX�4��5��RK��G�5T&C�g�:y�R{�Q~�f}Ǥ�o'��y�������S�ļ�c�G���1D���u�qh}�ԏ}t�F1L��6�����f�w�p��S��GgPGc����~w��
�gf�c͡N_�ƾ�"z�a1��moE�@yQ�f�2~���a9�5k}�0��z�ޭM�zXz��潌��S�y%*�K��IJ7��(�2�����g��o']�,��G����to�A�w��6����C�<J����w�c�mڗ���GS��H�Oez�Ҏ��(�!}��
�3]:D�$~D�Y��W�;|�3MB�w����N�2�R�"�F���y$=�s����L�P��]���g��St��u~T�G}�!ï|6�0��g�a�E�>ݐ��a��}Q���Q��-����:/L1��;X�,
��A��	��3���Nߜ�3��w���R����պΠ4ż}�����p��c��!TǶ��/5]��m�����չk��@����>��?�{a
%��w*�1��5Cا�K���6�q�����st���EgR>�L�P�
���I���#ӆ�/c+}��3�Ct̋5���c�>��ܓ:sɼ�Nz��C�̭�<����7��x/��gվ�����t0}����^��Q��r��_��껏ҧ���
���b���ʄC������T�*3��<���+��9�?�Ғ�f���д̯�3�Z�_�s����y���~*7����u�u(�<ѼQ]?t���<����Υo���m^#�;Q���#�޹�Kj??�ug��mLߌg���$����3�/�w�P�w��@��2/���n�s�^�C���g��;I�����wӷ�{�ا���+߻���OO���Tz�W��7i�#�yu����t_���0�绘�����8=����߳\�	����GW�6��FC�o߯�7����Ke>�ߛ��1��ʤu.��㤼��kѻ��\��=V�?�����,���t�WPދ�͡�w�泼oWʛ�m�D��f��/1��qlGy��Ng>r��c�sg
��.�����,�K���]�i���/�|�ϼ�oԜ��o)���a��)���7=�E߮81���0������ٛ��4�m�7�
C��(e^�<m�izޏ��o��ۊ<}*��N��3�u����!N?7��,S�9s��rk�_�B?�|��*��4o	�?��7�{��=@y7��sJo0?��p*?U˱,�0��y�9e����ϔ���-�(�Asw0?�i@>|�3?�qy}%�{���m�Ez7K��M���OQ����Q����|f��e��2���0���K诓�y~�zN����R���{Mz�W������]��|��~'��,ߦ��i�o���iqJ�Sى��Z��d�i���{�9w|w3��<?�;�q���(]����Z2��ף|��XK�eyO��13~SOwp�=�WCm4>s�1��󹒖����߫_�y�o�`��e"Z&��q�?�q<��8�}���{}�
�7\���ɦ�ߞ�����72ϟϦ��Yַ���s�{�~�ʴ�������w�7�л����Gb���?���蹗��P���P��\�N��(��ʮ�G*?w��E�,��<��.��,������S1

���[LW
A|�I���q8�*�#���o��g��=�}���rO1N�y��[��>0��~�mpM�_��>T��!�-<g��w��_^YC��E�T�N}��S5�r�+9��
^��'�5��㘥�%��x"�{�a���s�2������h�0�~���w��z���
��o���_����κߴN��7�[�o^��h�{��^��+���m�̲D*�w�y��G|���G��6*[��o:��=�~@�^������z�C�W�߬�r�P�g6��m�M���/�v�~��W���W�}��_�tM*
�b���#L��=�|P�	����(�;����bz���%�ӣ�������d8�I&\5�97P�7C�o�=�dz̻�?�����o�>��8չ�uQ�����cT�
�})�:���!�k�=>�����}��FC௟uO�E�Q%����ܤ��j���)�ѥ16��ue�A��]e/�����o3�-��L��
�r�$񲐭tS�A��	�(V��d�
�^���O��->��ż73,\81*���I%�v.��2�J9�~�R�
�i�Y�&/,yn���>7���܏$���y��L���~g6��3e��]+�C����@�4�rA>���*���x4Ay��Y���r9��ʡ������+�(�FJ��a����H�=e?�
J%��/�$v�bе�H�‘2ϻ�����oM3��~&[�i���G
Gm#mKE�~�;(�<r����K�@S�s��_%;vi�~)�tz\1(d�
�'��d�a?�!�i�d�4~�������i\a�cb�R��w�D�I�YoR[�7z�;f�q��ˆ~��-Ȕ2���.�R�c��45��%.{]~�=?���3�����z�r5K
'm;-�<��B9���V����,�nWÊW��,U&��MP���r�_��E?_�eL�Q�3�~o���͔�j���nRe�g���:�As�N�J�(G��
M0�W6�<����e��*&"j�u�P�9{�ǒ��L�o��H�dښ��A�=n 6_s�:�X���U)��GP�WJ����a]�|���z}�T�t��np}V�	�Z�Z�e�Z�=���i�PdxK�^�͎-��L���qu,��h���0ۑ���Bڛ@��?C���)�Oz���ӭE>H�J�W8���C_�w��2)�ʆ�h�@m�
d��ip�TWPNz��٪�I��R~���SA#��9�3<I/���60Y*�{9a&W�x^d���ή�Jdr<�T���WJ�v+��]hɧ�^����ִ�G #�_i�����&KtS�1������J��aV���>��n*�&XD���e�y.��*.P����>�lg�%M�9K�&+<m��$���HLhm���n�,:��\���ާ3%�ٙ
S}���Io���M�q�}��|4�e7/��J�;X��f�;�Q���N�Ѹ�P�_�ŰL��Ŏ�<R�fsO)R��FOɆ�t�������<�yWC��%$&����LI]CW���!��<˛;g�}N�i��(K�˳�cz�hF�R�@!z�'��4��xh�r�(x-�r>��/��4G��7zNt{����pQG_��
�����v��_�7g���E�	6zC	��wo,i��d����C�8����7`���"�F�#A1�������������p�P�Aɔ+�v��f0I�VbB6��C_��m�S�z�g|����<I]s�y�B�,y=���(NQ�����|�f���G>��a1��S�.��n���V
Xc���#��ְD�]G&M��)��K�,�'t���V:3a�`ߑt���)�t�s^*(�b��%h[s<o���Y�Z�
���.��Uhr9u���%G��,7�3X��?σQtj�
�F1��ʴ��_�W����~���80MC����9�ʗ���|�
A�7�#Q�0���2bG/��RW��P���KFh
�˼�F�.Ѿ���B;��T�#��y6�
Sa�Ɂ�˪�*9�	���x�FP�v8���i5�a�(���#F��U�y�)�?�}����#l�<�K)O0W/-�y��w��y��*���-)���"�H�����/��E:�c�lX�#�*A!�lץU�NQq��v+-�^5�B镒|d����j*U�B��JI���0q2]�?1�\�;�o�L�+Ds�&�I=7����
������E�:�B����g��&W����w1,��	�T}ڍ
�V:�7W���C��$��)Q_	b3D�P�͕B/�?�+��2�z���a�åE99�)��rr�r�!�Y!�h���ާs����%3H�&����]}r��-t�2��&�5�j�c���
q��&�-��T��.����r8�Mܷ&o!m4�aHX
��rOmOtt��D�==rm�E�ϗ�ӎ���ZS!��,S�Z[]�Nڐ�
>�ns/|��
;���S����W���g��f�f%@�'&Ҹ�װL�T��N"S����Fa'Nѝ���t�~}��@3e�OdZ��Slj��5%4����3�l�Z�BM^�AC���^�6����R��S���5���ڨ���H;U��pJ��.l緗��-c)�Eb"_�2R1�q�傲����%�L�������J-Q}ysK��]��I�fğ"�5�-�9�'���TF,h���b��a�v�������+�<c+��,�|2�Wt��(u�AX��.A��Ƃ�EU�t���~�$��Y�&�l½V�L�	T�PV&�
I��%��d��XW���R�#	�	S%<3�F'1�@XPt72Ε�C.��@�f��"�nE�mL)ӝo�<��z�~�	����;�����������6O&����l2�%mt��h�=A|e���X��eZ�x0O\yt���|5�>��HПI��'�
���΍,�\�B?G�Hӧ��M�im�r���KF����-2(�Eo�g�ɘf�4�H��jc7���M���>s
1+���v�.'��9�/���Ih�x�̆fxuږ쩙���vw�T��R��R�4�	h�3�c�s&��{�hУ/�>t���.�c_P�������M=s��\�l�}^�Y:_�!o�N�n=�S���LdE�����3X2�U^�d�<z;���`�
˹�^WT٬�>SW�E@�ռ�c6�r�y�
g��T��H�3�6�7Q�:!}^SM��8�Hk�pZ m��RE�bagr�y�-r�
#3(���%�M&��L8M�.K�P���%����O:p��t����L[�\ӮKg:@\�`r��K��X���	���3����%���*�T�X*G4�/K�IKL+��I�}�e�!W%R�p�sn�Ä!	�~0�"�BF�rL80a`a1�*��:Kp�g�#�`��Cj(�H�E����Dw_�f0�n����y;��D�y�=�+T1Bh1I*E�g���&�~>���3����+O(�5��/�9�Ɣ�����ZS����a�T1��wŀ�+t�9/J�nB��X~|��r��3oiEmh��)^L�܆�JKkA��A�̫�py�/1q�%x�0=
+WI��{߸��ݨX|����<�2�W	�oR�A�0�k2@i���5l��`�6X��,�P�R4*K�x�b�?E������
��U�����a�A<WP\!�Gː�Q9���0
ߡ~`E��N��,jieQ#E�Q�kio�p�����t�c!�����P#�S^���������l�yͥnm�)p]q�0C�a��8�a*`�4��B͊�̈́ayb�(
��p�/�B5z*bJ���NN6,e��ѕ��b��	C�BX�0eޘ\��[�dŠ�Pf�U�E>�W�Nn�,U_R@��e��v3��'�����V�̫�X�b�W��ܒZ�l
�'P�أ�[&���Π�QF3>��E9��q�Y�@��]X�m >׶�K�yF�m�d��-f��(/�tv��,d�R`��/U
|�3)@�@�iB�]��p���d�jS�$Q]%/�<U
pFWsh	���f��������K�gM�� �n�X
>xi�k`�}b��U[J�����L,��OkoP�q�ϧ>H������7ό(	�e�"��A�h
�Y��2K�}A[T��ѥo����&�yu�+�Y~.0�� J�9�l�1Ny�G%�ԗ����r�R���Qc"'i3)���a
k�!�Ҋ�6��>�<W�R������/�_Ɉ�F��C
��86�T0�3U0�p�)���"����U�E��tAH%`�9�|�}��&	�/ሖYD����Ia���b��^��q	\#�A�n���P�<��MT_�B��Gt�R)Ƽ�Gz�_<����z�����DJ]��Kg��iV�{�[����EQ�A�WZ7�~J�J7q��ᒘ��Q�^��F��Kh���z�7��K��g�
̤�e�J9gB	*��V��r�Q6C�9FM��v&zŒ7��4j_�2���
��T`�N}�(������B�𨒓W)��Fߍ�;���\��Ag�)?Hѥb'���2?^Z'�����T&һ
K� `�A�P�:�L/
�6�"�=XYA,����h�3��*�k6��ӳ,��?��I1�j���2څ�89�-�^�'��bJ4�Q=�~:PX��
����Y�����4�U>�o��!&�lG�Ν��(˨4Q�0�Mj���ݸ�̱�E�͞��ުW
�N:�/1����32�\t�m~k����
80�/���f�&��*V���q�@h�̺��Q(�0����Om���੭�˙��
D	qkEV�!��[���Eh"�Ф��2K(��̿��mVi-�(	'�+%<4�'��[K�7z˼�Pz�2e?[b���I���S��<���}�[JY�Ex�V���*��Jʁ�/e�V��0
î�J�G��J*��e�ŕ��P�5\ͼ�TT�[l�.{�Y�'��A�<5��V8*�q���5Or����[E��Sm��"l�t�Z<�����y��0�2E+�	��Le�u:�aA��t�2�$I��i�j�B��mѲA�<^kέ$��S%�!p5�����
3�Dl��7U��M	���2���m��yh~G�b��Uan$�s��Z>���̈��X��k�XtP"<+-2�MB��3(=l�<�"�a�JX��xo��E�E}�SO�FHCHG���K�27K�"�7��,0��i&ɭ������j
�{�aȳ3�D/�ֲ_��Lv3��Z4>�i��|�DRS�#��D9��-���pE#~�c����SA�<�+$4T�o�U4����&s
�byq�@�՜0[[C�_[�����CO��YśВ�/�ⴎ �1�&�,��?/:-���kx3�RwdˊĶhyCt51�^(s:�����l$&���
�ְ$?-��>TY�
*kt:��3�pJ��V#�6�ߍDļ>��<� '[�v„�ꅒ*#��EOgKްY$�$b3�rЧ:�P�"��^<�\>�8hM���0�*����:I��L(��V�l�����S�
Y��P�&�!˦�/�gI���ȅB��9�L�X]���R&���c����R�TF/��#�ҿ�)粃~I�-�MH�b��I'C	��,�٘��=~Ih�~��e�����>W��R�W��W�"@qTʘ	�4�U�I�D%Q�	���/�td;�39��r)CS��Y��
�3)[�,�e���`��ڷ��
�#��d	��&%6Jl2t�tW�>���2�M�6��n
y/��8y!6���ǎ#e�i\]Zd~�Hx�<�5Q�f%���`��f劭����m������9{k�L�1w�\��U�g��G3�':5ͳ�J�.�&dӻ�V/NE�=�Jc������D?��W�#��C���k�V�^Z�E��ᛨ9�j%&�n����&��(�%�X� �{��9��uC�MVy���NYt�4q?)�J����N�j+O��شI�,z�%�����]��^Z���O�S�8�+���T�ҏ�G�v!.<8>�ݕLZ�%AT��ߑ�ˈ�!�
����6�1�(#���g�Wj0*�:�-�N^wP6Se���7�>H����pG+KQ�"B?zq;Q�ED��4��3�Iv�W�#�~"";�\[7�Q1�1
���ljcwQ�[b���xd0+���>��F�oFHV)�ȼ�A�\��NQf�=���� VI�vB�zĶ.*�0�Jk�AdW>�l;}S3��0�1c-0�쒝	V�Iٴt��S��+"k0���d�s.�9T��f�L8Ze������|Q
5ٺ��C���Ÿn����f��)@;��DG��S��hR�Q3���[�R���2Jӝ�$Ex@�^���z|���n
�!`��e5�kD�*\�$���g�N^oQ��b�a�Fk:'z�:[C��c/,�́
Z�˱�v��GE�� �J��"4z��"�|�S����Q�c�9���g�Q	ލ�9��=t
�����z�D��d���ԐJ�mx �1���~6P�z�
^1����D�kJL�%/�pP�w�e�}�˟���5��ɏh��de,�
U�6�k4�S�4P�%m�B1�*9τ���� ��ge�Jz�fh��l[���Q��Ӄ�7N~��}A޼R�x�r)��HL��F�?�
�gX�QV(���Z����T�[�IZ�'M�`�#��x*\�
�hԀ��?BzY�'�A��c�
3H��oG��[�Er�yR���N�.{I�E(���q�0Y�W�n�ϒ����e�U�r	Bm�LU�͵lfTEƊUe��%P���K_�wlYڽ̤`��@�.i7�Ǖh0j�?'XҲ������AP0ʮ%d1�O쪬��Pg�m.H$c��y7Ds=`�����eŒ����0����㸟TAG�w��_ԧ�et��W��y*w�,d�cZ�\�����Ϊ����T%���0��:������Cժ)�%��H����GDi�o$Q�&$f���th_�zjT>A�:���jP7�i�L��9"~S|Q��-]1IG6��F�՗D�k��=���f&�}�B�_o����
K�A�$>l�#��)��a�\e1Vm.��C�,�B���vC�b�+�*f�Ş{�bä$����@Z��g3}���s��cj���?�ś܁זV�"ڸ`��b� ͉�=c:�7I�(��L�]:֠E�J�
�PY�)�S>S�6"�ሠGJxq%"��cu�[#��G-�d��L)RTl�̬�[3n$�Ԭ�`Q��f �n�&�W�&�Ҽ�����J[�!�2�!����v�H�[tVB�l�Y�pP�ֽ*��6�,Ty�pw��Ub���}!�YQFk-���эڠ���[u�M����J�ORU���T��=
��|�_\�8_�xTI)'^�JN��Y"����+�N>���a]୷ 2���cdl��R�c�A��P@C�S�7B!��r��:"����8_<�T_PV<=��f�m��˟�����z���R��ƈ �͚�>y�QZJ������-6�����<��R%���0#�vY]�}>��hE��n��D񆂝�4��%@Ӷb�O����/�"���e��4�/S[E;\Lb��*=�\`���J�H��S�4U���%>��jac��+���q^�Ҷ��l�MӸ�0�{���Q���kL��;`Px�SH�BB��-#>)���a�
c��]r��S&Vo�
屃�a1v�@�{95�I�/�xˀ���pM�uΞ��s�q�.�1�3(dzޮO��D���G���^-]LM��ڪ9.s9��!//]�a�Kz��q?�_*/c�*����e6��5���X������{�R�	���<����Y�����U{�<��ؕp?�w��F�L�VB����m���I�����{�w*��(3ӕQ.&���G�O�+b�^14������Z�q5�LW��v�YC^(�1�҄hf�볳Z��@�|U�H\M=��Z��B�2�U�ag���
����d��carF垢(�F[�%�A^l�����av�S	�$	��Ӹ)�a�����y�,w�S�K�eb>`p<4��|g�M�pc��$+�i"̞W��4��q��F/ೣ��z�^��$]���9�tE�򺘋��s�h5���:���죻�`B0J�+�{1
s��o�v�^I�f��
�8-*�_fG��!2)Fz�
���+��f<�A�p��ĘU���n��B
�rca�ʊ�0��F�[�&l��k씓�����{Ou�
� ]�z��G���E�m��h��7#��f��4��1�n�c안-"}%M\ѷLh�06.@m����T�9�L��lN~���[	�A���Y<L�gM*���la��FS]�/f���-��T=�����ti!��@.�fdN��1�Aʫ�.e
eU<�/91�"�"�w[��ٳ����U�q����y D�[�ړj�3�+�S�jY�c��R��Jʵ���ab��6^ۼ)1�7���'�y������k���E��-e��-�`~�����R^C'3�i�\�iֳ�4DZ�6�R��[��[
�����	U�|ڊ���h��[�M���6QA�i!�}$om�2	�"_�x�z����B�n[,��"ή.sG�R��"��]����/�(#?�P�{XD��"y�Ib��͙��j��OŃ�0�i�r�K���u,��J����d����^O 3*f1��U�j`ei�'_��i���ʌ��(h�	���-mDb�*2R�l�){� ee䬀d�g�3��6�T�0Ґ̢V��	��3�K��&O�l�q%��Y�L,h�x�w�,�n�v���:�͹b�dD&��<���}��x�Kݘ�C%-'O���x<�
���k��*Y��[���I�-UT��,�,)R43b�b������F��0����Z}�Zv�X��e|%e}�|-�2b�Q6�c}/%Wk�N����������E�rQ1���/�(e�g��"��Ad�
"Pׄ"7�+��˘4N�p%9e
 
�2�S��L*ԡ�����v�_��^���,�z��R��;��֠e�63ڑ�=m����\���=K��֣�Iq���[���k�a�7���8n��9q��
��6��V��\��������V0�����z�i\����;mpcr��X�З����g��%�9V[����"��o�t����Ug��ɋ�!�ֳT_J��j�#���7q�0�jK�)*�h�K�-b,�kܦ��:�=��[�ـ��Խ��6"�4-�Nh{f;Åu���Խf���@(�dP_�|��Dm�9K�â_d�>k�,"���hHqC)��8�B�u�-�0��A�(����z�!F��9lMh�T��e�(3�vXY3iKY�.օ�d�б�r�=	�xh�冴�zH�V����WjX�!X��Q����rLUո�/T�[[փ�\�EԨ3�<x�2�eE�W��4�Q�%¬�`ۊ,a�A7�@̞%�&�)K���jة$�x!1sbb��pR�]��1D
��a�	��4�/���}ɣ,�ُW�\�)��l��֨���� ��#�	�v�fB�4�~�̠�RKBZ.�醖RCx
4��|�wJ	����]�z�S$F�5|�,\3U�͘�
�7��-_19�Y�R�=}֮�����
Jv��'���%��3��E�	
���?�G�A��ӽ���BA�J��S�
��N]��ǧ�# � �{RcpH]h�4Y��&�n��<�|"���'a�*g��3�Ew@��2�S��	u�Ɏ�6�L)�;�a�R��1����J����X�����&[#1+t
G��R8XA:n�8�'�^`Y؛ͬ�	�`�h!l`-�R2^�1�wlA�Y42q�֘bDl�W���}�9L��Th���!��t��W��r���Z�&��*�?�L���h��2�j�-��b�Ya�юe�?�����;+����05U�4hfӪ��.N�Q�	x��>r�����>1X �4����
R��LךC�f��� Qê�fݐ-�g�MyV�ͷjB��_���-��j��I�	̷�Qf�[b����֔A^#�th�|֊)fReCTN��$�:A���Ct�k� ͱ�})
�`��OS6�RxCB�BV��¼�}�-ώށU�!���t(�@8�Y�GH�(��(G�EoBx���(���֩��7,F��Y�����m�׀7��R�	��U
�b�����	+�8U6r00FG��
�!��H�K�����7 f+ň-dx�u-��
�"i93W��=�$�{VSӾ聑lsy������̺��HEq�U��DEX�d�j�ŸI�\�tX1����$:,��=(�rP��˰�Ҧ"�H�o����0#���f.=!>�� -e��r)J	CWk�&���q
��j���dBٖޜV_c�([}��b�͜�J����Fy�� �1�s�E��F�,m\��B��S ՐE��!���#H)f�ڥ6G��T4�F#GY,+Y���,�|�b�dv�^bdž
�K��
���,��(���������)6���%D�18�����]���g��\�H3!�0W^R��.[�EOK�5�xtGD����,�Ŀ����y�fȆ�:/#�PܳJ�P��k�Uo�!a��&�['�9ś�g%�<�sI�D��pX<yӉb�C*BK2�p��PE�����Ȓ����	;K���'����9*t�Pk�\��eZ=o"�a�[a�!�3�b�!	��?d;2�=��JF	N��Q%�m��eUˌPJŠ��:C��Y�1��Uv��K�
�I��ۨ����it��r״�UfY�I�0��R��m_�V&�J���iL\�vF&m�
���M��s�@7%�$�wO�U��0ǛF��&J�+��ݬw_�J�z^�WC��cU���M��K����Lyfȶ�ư�Л�͋/
������[�h�tf�"?S��i��=�x�Ź
��k�`�<��~1�K���c�W��:
xC<]�TfP
�c�oa����V-�੝�ئ6�E�X͊���9�D���f�.plSj{�Z��/�ΛH��`�@O�so��>�7�V5�qF��N�?�P4
�i"��>D�Kw$�S�eV�2�%����;7XXPr��}RFXBF��ݠ�hX_�8���F�4$,ݵ���m�Qʐ�8��$Ne�尗CeI�	n�����r���[����;�Ո&-?/�(v�A�Y��®I4B�@ A"#I򗰪V'���e�Un��@[~y�5t��k鸍�ĔXJܲ��st�jt�O�d���Lރpa��fC+Q�i򦴶5Y��M�A�9�B��j���V�1a�?�[g� ���T'���P���0�-��?ssDK���\�q�&4B>�%��Lyj�Sƚ)�#%�-��V7���R��7e֤yͧ��
8�r�uR��fW0"�V�?�<������b�UCy�Ŭ�s��bv���d�:����#;��ʧ~��9>̰Kh�^�O.����q��;�Xn>��C*�;�u�����?�a�n�Rn�ld�m��`��q$$'!�5v�&�'�C�Dh���U�Ќ��7]��=���6ȎP��T2��Đ�4�t�)r���N1�\	Û����mL@:�oV&z$Ud�c`�������n�am,��a��% :+^'�����i��*>�0rV�j�
ǩ����>��X�S����8�ƛ�ϡ�8�zIH�
�s�d*�3��˥�����D�IS�3O˪!^�k <���#^�}t؛�Ht��U9o�r���9��Lj#^�H3"��1C� ~��T�Ӻe��Z~m�0k9�Q)��%�]̵���b^8�ӡ�U��$�J�A�v�c� ٝ��
�~R��Fcb��TrR�/�r�!Z�L �^]!6�{0X(^GX���1|?��_.o[<P�
B�Ԩ/���k����py���[i�S�̦n��M�$�Ǭ$]�+Ŭ�w�����3i���f�F��tyu�N%8���lH�0��4"c�Vd�����+��6[�,�^�(|�_�:A�X�����7�¼�>v܍;�A����T��
�1��<�}��[�k�a� �_���.-�������%��KĔ/��2{
HֆO�풨7D�r|�'���,	1{bd��x�
�b���WMug�]�5�΃�k'� ��f"����"����Z���:XJ�	 �D:�:-1��js�/])Z_(��� �y���Jc��r�0%f��j&G}a�'2���(�_)`��7�,�=fZ��r<C5b���jbS���9��
6k�a0+�v-�Gc����`45�u�5�$��HK(�L�jř��V;���m���;z���e��i�Y%"ɑc�ž�qD��1F�F�c�:
i&�E�3y֫��j�'�{����y��W:�dw�(�dze�P��kލm�Da�Uڛ��d�)`wfTs.oZ(T]:���
K8^�5�2�5Rc]>Nr�[g2�S:Y=n&�iq0>�ĉo+T^�X��b0V���qa��f��L�u�uן��-�&�j��L�`�Z� a���)�q̏s�L4���i��k09�fL�>
|����%|����D����F���gl^�3�],;�g����t�:?�"�Fm;Aݖ�
��*h��(B�B�)�!��qx)#�(y	�,s�hC�Q?$s󂧊0�� J$X�q�Pu��sDl"h�=d`D>z-��jDE�Sy�PN��qm_<�;49%}�rJ��[{���2�m����)Q���{�%x�Y
	Y5�
��{7���c�"|ʌ���7w��-B��J�6�.kh�*�6TsH����0��IH6��J��,�+�6�&�-�`/��Mq_��.Ea8"{ެ_e����JW��0bo�1뼲��آJ��*�
�gNI��a�6�X7�p�^��B��wgd:�~�:Jf����/d5ٚ5��2�Adu(��U�&5f���ep�Ix��ϩA6�����D4�S)���f��M Y>���L�A���ț��9�	vԢ�6}��Ns��Ӷ�	{�'��buBˊ�x_��{$ߧ�4�j)���|����[o�\B@'N���j�}�do�9�gz�ۧN��uL�H^댖I�[f�j�v�K�����D}���F�P����_2��<�ZZl�^�͹4�>s�ma��r��W�e��Y��T��K��]b�*�f79K��ڬ_\P�"گ�5���28&���#VDS�=�Q�B+jQ�ɼ��~�z�2!�3�n�>���w� 敭[sc����!�cՑ`�6���2�]�41}m!�M�\j�g�)8��%�=K�`�����(	H��S!�>%�{అ4NnQ�1
2��l��hnW�甖�;�Z���p�P�	�%`�����HWEj������$X��S�Z���Hc����VT�K�Yr<�9��\�i��n�S�;��F�[xgHVº5�9��2qm����C��..U�����6v��V5�ps0��ď�A��K�Z,� E�.�cK3���K�*�F4c������*��u��Y=*I�}^�߭.���iQ�(늒��&Tc���u'Xi��c?6t�+�?�d^yU�{þ`�]S�Q��)9��k#�^a8�~0e�l�l&%��5�Bŏ���T�'ӥA�
�gҌ6o��
����E� 1RŻ	�*{�z)�'��g1~�zK�p�vW�e�#hg 
Da�`wm�L!��bg&��
MVE���ON
|F.1l�a�Z�c
@"�p����M��y�b��mQ+����,��	FuT9��V]�\�N�Q�#l���0��1z��<����3��0�u��-`��vd�hVkt?���Jڊ���)� ��%!�2��P�<�4���rG/U��/�"k�$X)W�Ѩ�Jp�WY#A��m�o�D[��*.����I���}.��)0��n�x��%vL��vi"
~.r��f��/E�O�%q�#�G\'786����0.��j�.��i����M��n<S�[3�H�����Fn�W�y|�ϱ�$��;O����D-�~v�S;1���k��E�BmL��@I0gV�� ��z��+�	�l�Œ��k��q�|�+�n̠D㢾�&�����F�ň�����Γ�m>����/���L���.�m>���\��jE���h�/�S�\��B�bXa�%�-�2Y���i�F�"w+3z���Ī�ŋO?�{�%��ň�R�s[�)^Z���
��Q��je
�Pq㑺&3�f2QHyc[S�r�aُR[�TXw���T^W��(u���x.Y4q�)�lc�us�������QeG��\"��z;�ߡ*�4"��ֻC��S���#m&ƶ��3��&{p�?��b�j'�a�)]�N��;iS�V*4�vv��a����O��:+3^p%;2=�X����b�!A���,L����;���*��ܧM�^��9B�Ad�����!=QU-���j�/��~D���/�?�2ʒ����ׄH���0���r��Ӏ����W'|kT���]Q�/c���(암L�·�e��3���۝hw�z ��+�ęzb��tk�ƐW�6�������Z)�,�e�ю4:DML�i�
�*-<�D;5�'�|�E�\�gE�#�|�M��-�1�B��b�#ׂz�%���b��-�]8LI�zp'0�1�.ı�ǡ*�Cn��
��K�t�(�01��}29ƫ_��;_+����I8:t�/�8.�����\����䭼���Kǩ=I������3y������>�Jq�_����"F7���V_�@�J��>R��h�T��h��%|������TJ�ָѫ|�cRBV-þw㸍_n)�5oz�H^�=�ܐ;���fY[�tFB�I���0ł#��d��s���%�m�i#�ȧ����8,!U�;i&����eJ�`�-���5����t*�/��Y�*P�꜖��l�SAV�A�M��v{L��hR�n�m�!VNx�CQ�R�m�	t'��~�u5q��F�In��WFK��=�3KX�?3�t�0�M�������aS�Z���\���Y[_�/+?a���o8Er���6�;�eivI����K�
�;;S���b��UU}�%�x�%:��w�/mC&4u8^n�s�z��d��L$���SS���*w>A5���x�0�a��z�_�ѱ���qR���#��-���|��	��/X/�2�f��,oث@��1�)D:
o�e4$Ӷ6�a�9���(9a�L��qI;sX��K��d4)
�n��5rR������W#61v1�[��Tړ	�a��څ��A��;H5}�� �z|L�5uao�<⦷�a�׆��W�>VK�N��ܸ,�J��1����f��ȽYɲ��j�!$�_����e$���O(�b���L!4�D�Qd�'�^'��Ȅ�"�TƱA}�'K��4��aU�t��ĕT��������-\���"�-)}B t��A̡Vi43MӺ�*;K��RR���h 9u.$ǯ�7�-ogΝ�����>y�FMl7W�_�i�
!��Bű��=��Q
�ߢ�j%0Ho�(u�*�����$��q�c���Ĕ�iLX��f*���q��W/���M�5ir�7�m�6o��{�4J�-���L�pm��(4h�lJۂZ�����h+xv g&��.��@�v�W{~	%� ��EF�H��p�7����V�A�WuFb�8R,���\/|Q�y��]m��X��.)��ۉ��A�����#7(d%RV�2��4��Z�s���)�"[(t�uj�u�Qڹ��JvJD�yP�h@yu���7R/U,o�Z3�_�F�O�F&�q���dx��`D���P/�,��>h�
�Vj%x�T\u��2ap%�Oz
%�(�o1ؤmN[�g�}
ݫ(z�V%j���`�@i1��O1U.EA�N�Ϊk�/��֔�j0�c���6�$�*g��
kX6Y�\����X��>��/mX	^W��X�G�#�D@���|?P�[/;�}�z�
.Wo5�cl�q
�R�3��@޾�q����� pK�ϸ����F��m̓B�k�)@�L���*�S��6��B(�j�N��|��;
���y��i����+٪�^Ib���N(E熅�FC�Xo�Q:��q���E��t%D$�f�.�6Rʊ�
���&��6�W:mX�ac�>Fh�毀rwԏ	y������0�%��[��Mv��+Pba�J��D?A0L� 4�x4KQ_�f�4�9����t&�w�<k�E��Rzg�%h���o�
�Y��1D���Ƣ��@��錌�����/�(�]d�L8Y9�`�
_Z�ț�l뢦o�����墨ކ6�-Z��-M9nc�5T ��f~g�¨j��Q,4�.��O�=���]��/&��	�3]���c��h�e��1�����
�6
�
�bC/8���g�o�$c��t$���DZj9�k#��	���b�XdXT,SQ5t�K�Nc&~'���ɳU?3NbN�t#<\��	4V��\�������M{
��Ҩ�X�t\$���}��6��4�&!�v4I�{�9\�`j�.�lS��Z�z��
(�O�84���Uo:���e�.��qakU���{��0��r|AKQ����
ƈ�x���qV_��պ�N4Th���Q�$���DL���V��V1����`�����g3v��20�HG#6�!x"�0�-������9��0�2�J��� @��y����>�e�F�g}�D�[���Z��F��5��e�W�\��ų+�_�o+���R��pϑ��[P�+ru�O��
m�}�p%�U�����Z.����k0T"s%�h��F7��[��ę�
&��k	��-�۳V�ۮ%xަ�**E��ٻ���ͮ�(c(�(�R�u�kcu�Y��n�J�{4�7�3e��p^}�*G5jq��A��%a��q�Q-]�)�Ul��J3q�uMy�d�+������<&��Y�]j�,n=��ae��,qȵ@�`��h6X@�L�Fc,Z�*hP�ͥ�/�����gv���bP�B�R�V]�I}$Y�OM_�Fˬ�TɨA
�ի��ƪ!������>�bHN��4��lȎ�Ъ2�ȐѠ�	Kݔ��Ɩ2�J����&'��
S����e��|;��
��<��T�]I���y��`fa�]i�Ir�%���h�Ő"��
���Ӱ�O�+��Yh"�����;��IokQTyN��qQ�
}�Vz�>F�!�i���
�Uj�����n��b�]��|��Zcw����-����r�f\e8g�o౑'‰K��r{��,K��������{���ą�n��?�2��j[w���/G�DҭH��_��q���]���E��A����^�ߠ���h���sM�DZ7j�d�8��3��Q��IH�:�e�7�ϸx�3k:�->o�-s3Z4�~v�**X�w��� �7�"�����מ�œ�b��u�6J�R&�t�@�Ģ/�Jl�`h꾦8�=�e�w�M���E�ּއ!�L�pLMg�
� �2̛�cD�9竏ZiO��&|�01�]����N*�ل�9�~�כ���>�O~gjÒA�83N���[�4����3�(�*؛6�⧪�7��K`�h"����<�!�n��Y&ut�\]��g�g|��^����U3���Gy�i�s�-�?m-�D��KD�jN�F�WB���e�B�ʙ�ǐy�٘F��|#@n���-�삆]kJ�	*k|�I&S7�1ӭ��@$9˘Y��]9�<U�弶�De��"�j8o�INx>��7�l��PLZ�@�*0i�(f�U\5�HI�١A��j�Z#o���ܕY���6\�!+�ߝ�2���\.T�ΨQL!g��oV�M�m�Ij�Ь^�-e4��1�ؘ�:�3�G
k7Q�
��o���8򗀌��m����<d.�J�'��%3$?g��ay|c�L;�NK���L�VdjX�T~3"��A,����^��cZ�s��1�D
@���br��8
��Pްޓ��v�"�vX���E���ʹ1N��$v�DR���Cw��,7a��#Ϟ(ehDu'x�*�H�
X&ܻ1�ȴ^�FD�p�hs���ѣ�ޤŕ�
{����Ͼ<GM9TB�a�bQa�/Mk���uL&��\#73s/�G!�t�E����Q�IF�2�	��\��l�#+r(�[�\��Y�U6,�j�pT�p�z��'31�(��wF��4
�yKЩ,T=e
A2A����� x�X�ȳ�O�K���7Q�	"%ǕS�ժ<[1Q��#��(����c����
GƵN͜Xӽ�&���%��􋼼hcIv\��[�����0��ɢ˯��E��7k���Y~�]F�t�ﳃ䮌�9�5=��x�["j(&�ʑ5>���؟�
�
xaэ�Pv���L��|A*��F��	�%蝍B�:Dm�;��k��W��F/��3̊�mh"��U�@�S�q
�؍_�S7ك��}��e|k+��B�>�F;�D��MY�ÀUYU)��s>��ve��Uc����#)#�.���J����k#��t�ż�ǹF�#���"�3���H�Zc�#��KN�2�ٝ�P��5f>;��,I/1��%!�)P�A���M�yo�b.QEhl�憆UE��f|�]G0(m��W�]X�po�0#Bj	S�K��<}b���b9!A�e�m�G�&D"QCX�NW���c�]q1Lͣ�mnP�T�����$6Œ�I�q �Ʋ�,�-�h�0gVˬ)&/*‘H=��0x�Ȝa�[���hRe K����*�:�T�YkW*�g�xnT�8�ae�t-�
+�ά��M�I��["�iI�(�Qt}w��\�t���fR�QCލ���ز�/Hte
]%�����Qe"��9H�%)`c4E�	F�C��9���d�ߔ�)�H�U6���~�P��]����9�|V�5H/j$6HFhf�}l�ۃ1sw�\{! ��l�E��$Z��ё���oA�5$�F��`iU�hr����C����	V�by���tm�k4%r����u��XR�nj7�8_]�d�g,���.�Ja�C{���9p@�U�L1�zB�j�"p�F�q�5
�7��9Q��P������BWT�(s�%���ڔ�����а�PށU9��Rd���kF��G�	��>�2�iY�9���5���Ƙ"p@��6�7�lا�$f�/[o��+&��N;��`ʘ�5zrZ���Sh�1MJ;�Ɩ�*�V����*k�^�}^UΠ/`Rj9�̭��҄cGbTM;�P8rŔ�>0���!0	,0�ŵ>J�n:
�X�ok����d�(J��J��Ƅcl��PE�y��Z��p~5PL���M~�q��2��s��T������n���0T���F�
���;K�D7�����j`j|���ڠ�.�j��1�v7��R�Z5�n�Al�:�6f�9�c��7�,D܎LWġ��mؘ~���%�85B-�YZT����Z>Id%
1W9�TrpaQ�
q�Q#0f�Y���?���0u�϶�C�ߥ��QrJĔŕ��v-���;�pIo��*g��ũ�Q����n���f%��fD�j�lSm�̗��M�gJ.	�7� �������=66%1�
�(���2C�Ŋ���КD	��L��O���,�m��G�}�]�*P�
�#�<�΀��>s�bv��y�����0�V�����PX���\�V4�J��W���.�gʘ�uH=B��|�
�x�\Di
wQ�)��h
�<9>�S�+�Jv�*GTJ6���;%k>ZfQ���ø��}���vH���F�F�\��(��!�o��<"��Us�� �|�|ڸ���ډ��.
���%9XeK)�ʨ�w�1��P5O��jq��#�zL��qDٮܰbu�R��}+ӎ�kHU5A41Wb�tɛ��R>�-�&B��g�d_P�Ʃ��o�B<�.M��9��j�,p̛�V��v��wq��,`aҞ���5�����	C�G�R�Pe���vQ`�ݰ��X�;U��#�՗]��G��Z5A�:8�XF�n�lߍ����kJ�-Yg�{Fܼ�!~�j?]5=������L�9���x�cQ�w !zɌ�@2+F-�!a�p*��	�k����c�g��s�D�[ڊjd:�L�'��o�D�(��UB�ͭ!����r�P?n\2�:��J�{�@��ߎ3pz���(g+Ո��X>(Y��{��+�+y�-�p�fnfťs!�0Ȗ��\ǵ�Gy�쥒�(#$��D�Ju�n�K�EiۄS�<��	s����7�6��ک���U�
��Ҳ�T�ĺ�#>}I�J�}[Ԫg����g٬J�T �J��]s���:{�q>����[m�նc��r��z[n9~���o���[���l�9y��;���Ln���xDz���45��
Yڿ?����������cgJ]Aq��<!~��ۡ3S^�5�6cY_�4��䱴��?��s��yo睽-�x�z[x���<��ro�����M7��q���m�Q_S���V��{�yo�m�p-[R-[���*{��b�,�)ٰ,4׸m�[$�^e��ﮈ%m!�Jk1d��ؖt4����uj�2��he�+�|�*	�
r����b<����Dk8@���d�z#��e6�G/�~�/����r�(�d�_��{C��Tg%Q��z��{��jj�/���U�P?��t�Y㽞O�e�U3aIAz��߽�i�߻8�J��Q�3=@Xm�i�GW�𓠌���?JA_%�N�	JAq��t�u��>c�}�j������j�_Z���nѠE^*��i�7@�ҡ�S�r%^F�5�2%�,���Ew�R�͏*�;��@�g�e�,y����	�zM�}����J�����
r��:���u,9��C'͟=k�dbtg0�.���?&1��$�Ms����,��ѵK�Je�%w���{'��)];��)����Z���@��i�����4����V:���m��m�Cq�P��G�ݙ��}#w�g~�@��==��u2�Sa��^�YN�4�q4�R���
z���Ņ
�/´��4��#D 5p�a徊l���N��/��^��Tÿ���zL��_ֲW�Щ*���b��lj���@�D��5z�����x<ͩ���=�`ɢ<]HT���ma�m��O�)�r�Q˅p�v�σ�TK}\���z�����@.����]�2<v� �MX�@P���
2̚�=�n�,..�Pi���x�~_���T���`gBt�����Q����OH����D�����/��L!͜�&z��k��mD��FmVJB�i��f�3�l�1�m��}��H}*���3 �Wy1�����L��~]���U��*�>��ʒ;�����s�M6�-v�fLk&�@\q�R�Ӝ�kmqZ�3��x��!
5%��� ���P|�Ӓ+�������NZ(†2\��A!�p6�\y;hWWe���D��}�'Л;�_�;�7y�tN"v^�X������ۻ�`nk�d�(�EQ�@M����B�n§C�XX�h�d��QH`�ZE���T5��*@i.�zU0��P�P�y�[��%�,4ᄹpɝYڌL6�s�7"�L(��vgfhE���;ސ���8y|��8���ew|�z;��9�V�
�]k��f�I�7�&�_��޹�
�#��*�h*E�|��J�F`�VYj�YXm/@6 @�Ռ����C2Y�srBx���@>�M&�����K�ɼ>�Wi�B���Iqѵ���D�#HA�a;�:A�2��g�����R{:Ħ���e� S�ĨХ}r�zK���b�Ɉ����H����%"/P��4�	 �MQ�c�ZH�DPČ��K`��.9�)�t�g�W}���G�L}otw��,g�uF'.�e���$
+h��������%�W`U����̂E	�}�
ߒ����y%�'G�Pm�b^`*M�dpN7�{K����W=n(6Az@���^�OH~��؋�>��0�������6;oW�|+���G�-g��˼�xڗ,2����Q��'����Y��/��L��y0Rp(�	���o{:٬���r��l�uO�����q��KFG5i��Dr�}�v�%�`�ѡj�+H/��Z @�G'��g��(聾x�1�2��7���Y�c1��4\�����
���GE) �4<��h�O�j���n���J
cB�<�l��������[t]Ah�"�r6�%�񞍊m��f���y��_ʁ�D�2��W�v^o��Ws��#�4c)�c�A�i6��-��
�{
��6v?c��Z��V�Ý���}�&�8	����_����&ܝ�9#|Y�!�$���rˎ�]H�23�C���51RY�K��!��H�c,>+�R��یP��WL��e�2L����A@�I5��CU\���;]�;�^��Z�<޻8IS*�rrCc9n�k}I�T骩�� x�C��O)�%�'�ySJ��������ci�̮
[����Ī�w��TO�R�6��@7&��E�������NP�6Goj���K7�������+dʕ�Yn�*%a��Ū������d�EA zmY������q`A�QLk\o�~:	53��^|���26�9�4�]�N�|�g(�L�iRa��o�S��ȇ�ч4X1���TD��JM�Kg�a� ̗�r`G�侟}PVp�AX�^	�o�N���v+1��w�0���T�
O�&��'*�0䶎U��N�=2fV���#�9��"1�_35=��A_x���s�y��A�:2Z�Ԃ6;�lPB>ޘ���f�fq ���啳��?��k�*��}`Uh��}�0h+����>:n�Ӧ�~�^>�[;%�
�ƨ�����̑`���)����m��!�Sl]�������T�*��R"�J4��2?:��2�tm�er��3�\���Ԍ��Pq���684��&TY:&oa�0��t�o5���J���M_�ej��Y魡h��
�i9pZshօ�X6)�Q9��a��r�GA�9��.v��4#���\�鸅�wS���#�DY���^�M#��Q�+L�
�[Uxpr{Vp��Z6C���@g�uya����	҉Yzd}���҄2bˬV�D�h���nXr6�WF�w!��r���w�8���_��F���(6��҈�D�T^eⴘ!Ȥ�!���Sk)�8>������	瑰(*E@r����3FG|�9�)�SDS
��oF>�*�|�R9裚�y�1ZmP4�j��Z�
�
�T������Q>V���Y���n��Q��]��/�U
�xif2�.��2��'�W��h�2ӧ�ۆ} ��ݏؕ7OL�/}������0�j��d^a�aY ���Cm�U1K��4G��e*�L��X5�	��0�f4��Vɔ�a�YM�t��iѧ�&{ď_վl�1��.�ϛH#]����w�D�=l#a��~iG��Z#`��o�N�i��ɣ?aU�(�i�p^�s�IV�(p㨰�*ǵ���c��"	AR�X��^A'���z���{)�(J$�O�+_��AZO��*|f즉l���;��#���0���<����^G�0X�&�6���xO��,��Щ媝��N+�z�]����2wt�˂Q�_գo��FNE���V�0�����7�-�z�����B��]\.�ɡ����?�î�o��)zڱ����o�SfD����˝F��-�;�f&�������fUJ&VXfA���Cdًs
��RIVv��0%�V7#[a�gǛ����>�F!L�F&��_j�"�i��xz��I,7VB�s�a��k�z�c���λ��#�i�H�Na�,YDϔ�7_:4�3DQ�vX7cTy��TS�
�҆�J�!QS[2��4|�6
߰��j�L�@YZ�>剋���db"U^u=*�
�,��>�f�&��d�4���`�d�`]�@ב`�������q��R�N�٬?>�&���n�t�D+%zAb�r3}��s��N16K�h�̚����V%�c�P�d�P�O&f�2vu�ײKLc+�Յ�[���圐�d+��������bY؛e�X›�
([D�7����0���p>xc�2�=���^��U-�ǧZ\�{�K�pEL	��BⲂ��,���E��+��6Ø5b�s�1x`�M��@�\a��n��Hح�u�0�KW���J�T}�83<0Xs�R�Y��걵t�����*��)�H�rb�Ve�t�J"��ʶ��#��Oԋ`���_��1g��u�.�W�\��-%�4��,,M㎫�6.��A����C��b���rL%�>U��h�M1����<X{�1����q�C;Ɇ_���&
��&�xf]���U�aC����-+c��`y�X���������:E�f\Fc6Dl���w?�]wD%9X�ⱎbӄ���!��y�h\�#݋B�����:�`���4�`o�AG�h�����3�ʠX>��p�M`��(a%��(�0���0Y�%�Z[-0 t�a�c������89;��;�:��n�Q��mUNf�	y�x�y���Ń�M.���k�S�e5yփ +��n��X%�(-=ۭ��4Ć@�
�Z����X������8�����dLy�o1�����L���&���u<c��|E/�*ʢ�/�s�T�2p�1��͢G���x>�|�V<ˡQ��� �&��I���z��X[���s2�~V�3
,��ӥ
\KE7�6r���Z�ŁJ*�d��#c��
��	�+ZD
���5�㍝L�������hIri�t2�S:ؠ�u���8����p�iG8�:���cYժdcB6����a,ǥ��\"���X���Q�W�wV�LE��Geλ8
e�E{\/Ɉ���g��N�[��
;!���7�5G���e^�M�b�lv[_i�%�rx��b�.�k��\��.�Mp�,J#�����7�qW���5�|�&@��Mf8ZP�(�b+uI�C���.n���`����f�>V�7��A��?wy)�4kN�s � 7"��$b����6��h�3�PQ���i�9��q5,5=�Ӂ-WDէ%��'jk��<�bp}��3a>���uH�Mu�lF��j+�qKz�(�(,t:��`��4h��-J_2��I�9��fV,���s���?��g�q�f�惥c�+�?1�8"Hc�j℠J��t�u��e��9��(_���2�^��"Uc���q��t���0g��cbm���EM=y��3�k�B�������{����+,)3�+C�b`3��3C�t��2yF�E��@��<����Tݭ\F�,�w�Dfđ�Jy���m�H&�	*ae�����+M7y��hIU��B��W3ᮒ4	/���n=Av (�շ(2%�EM
t��>�'��h���y����U�h�F���vdl��·O��3�¹8��|p�qfT�vĽG��	悏+��x@4+,��U���p�������
z�x��SŎ��/Y�B"�XV�f�ua��)B�J��v�*��:
+�d�$s���"6�\�R{
��9��]5a�
��`��5�e�n�a�N�ع����D�A�����C(
��woE4T��C���ؗ��8‡l��/Zl�ͲQإ���PQ|��۪�5�cb�!<M^ɴ_d����Q��&1�Nv�5�DG����Rͳ��7��G$�w�mi�BKH�^Q�^g܉�Wr���%&�,�GG#cvk���*9U�q_(� ^�Lw��� +�45lG�^����q�<s@T��hL�:�L9X�ݻ�`�ї�����R��}����n���Ҿ��ݕu�͇d�ѫ�O�?m��>��~�μhV6�_~�AG媢��G���Ha-SS@�e�:���'_U����7Ւr4�y�`�i�P�U)#YST�U��U�Q�VZ�,���1����6
ѠD1C�g�J���u<��`I|��2iS������t1� �5��A
)W��7p����"4p�7��3MoѾ��)�Z����wx2
�P�X�ׄ#�P�&#V��J���Hy\�9o��fo4+�V���bH8��>�����rUR=cX?�Ր+�K#�Vu�Ҧ�аl/ҍ�8�v?�
��B�����u�ї�&�n���f����l,�gz�
��Y�$���io�-",�k@�GX6�0��-� w9|(߀��|��4
���hi�f�,F������@hZ����V�}��i�)�I��N�E�}T��9��[D��uP
�Wf�cH�ҟ��T���;��zHM��-�O�V�h_�K�-��0Q�)�=6[�]wڇ��;#���بE��w�P�ȳ5F�7 ЎPQt[h\�j��4�}#��߻8��"򬐷�\u���n�-��5	��)�)+�@{�l� ���<�F(9�V�[�+��C0�_��҄qN��8]Gm60�G:am�ZH4��e�W�R�J�ٚLe�~�%W�ZQ}#m*'²|`�8y^\91ɺ�Ʀ�V/�/��
+�!�����p���D�>���,]�Ğ��)���º�}�S�
뗧ܾ�Ȅ!Cg��S&���.Oe�~���s�̨mD^0�s���*�Ib0%����b3K Z�3z��A�*חh�S��1u���9�5:s��#����ͼa���PT�<�#0H���9�����t�L|Gr����襨�Ҥ�>�,�7��rxY_ɨ�D�|ከ�N���b'ny)%�m@[[�����zcN�*V�C5X,|j��$r�&���/t^�3�S�X}�s-tc����_��7��@?�a����2d�#}��r�n�"�����1��ۤ?EK,^S�hϪ:�H(�b�]�Ʌ�r��S��]�!�dc�?�V�[mN�6�`Ζ�Y�D�X�	�V,�Ӟr.�S�c�agtfY}�W��
�7G�'�ά�%������;W_�v5��N:m�Z��t9^���lȍ�Ђ��J��3�|k5kTu���Yp��}Y]��%.�����x1{5�i�WSԊ{��݊۔�b[�2���3�S����8bS/d
���
kU����V��!�:_؍���׵s�F���p�W"W�����,`��i+\P��.�*P�1.[X����-ZL�a�a,3-Yj�u�8'�4�ae���*f���&3k1��ul?˧�b�ӌW�2j>�հ2jmr5��G
4��[���ї�(�}j(�]��;W9�_k�={�˴�"7-0��T�W���c�pְ?>ʪZ�S9e�RHLeh�2�0B,U΀�B$GO1pB������W�c�ބ�*���90[�듛Wvg�v!�ڃV!��*��O:$ռ�A�%]���9���ܷ����M#���"%�f���
+ܴ�7Al���fND��&ۉi�]��g�'J�VE�oc�K������#ӗagB8S֚]�nm�$w��}=�k�}�x�4X10U���ֺ��D��w�%JZZ��D�����V��+��ox��_1���'S���0m?��p�Xئ{uϓw���`}�|=�^G���r�h��2�8���~���A������->�#�+�a��Ct����c�/�t�ފ��2�9Kr5Tj��k������"�����j7�Gn4.<�;I��O� �R/����|�j2�^"i��[!�ց�m�~�b?�eR�2SBlP��W�m �<׺#7��Aq��׏zn�阘���������Q�Λ�O�b?,4��4��@��
��lR�
z�Z'BB5j~��%*λ��Kˏ�W^�[^(���B�0E���l%�ͶTL5C���N��WU�x��Q�n|TF}L�؍��4�y_%��+��n�|Ch2Y��Y���+�aAd MT�0@��*v5�UT<\���ב�,9;.M��ء!�^�G����C�;��\��gMe������*s[xLB*�7������QE��:Q]�Pz1\�
h�1Ic���߱����c�<��
�o�����ɬ��fC����IbJ�5�/f�؝�p�
\�GG՘b3Hv
e��|�
f��(�F���!�b��4��
]q�%� ,$d%�;�"�&����\���u�*�M�����zƻ2_�:P_��"���G�n�;B�_{��Wl�.1���X�B�@1裍�)!ą�`�7�XÁ�IZ�'M�0�]wA}����U}^�[�sXj	�}Sx�"�\�`7(_d�Ii�)��{�[�/?�`-R�Q^L����+�!&A>ai����ք�;�H̶k^�|���>[�=�!-�!,|�,�)g�b��S��Xm��5�)�}��|o4�\��zG̯�Ƃg\%>5x
r���u��O���B�
�c�Ѧ2�jc_]b�)_�ۄ�;��Zr;
J�[�M$ �`2�ꨖئ^x�A�����
�w2]�1�h$1:4:�O�P�reLb*�X1��f�c�Z�٣{b�O��7�TBF;	%�Fb+E���lb�u�bD��8�2��.:�p�hm��������t�J
�n�	��T��+�H+�Fu�h�ѭe�m0��yN�
���ić���R�S,M�bfP�����H��`�i|�,uv��4���{�r��c��'���9(;]�iqdl<�Ğ?�x#�u�q�"�yqOo������":����=�BG	&��*5v��P�U�{��."P'߫��ĔoLQ#w2�l��kn��x�eק�#������pC,SմR��x�5��:::�@O�R�,v�J�
`�Q�3��f3�B]��&&k�+'Q�h�ڠ�R��jtM2-/�Ľ���oT)������:�s��T�3M����P\�Npx֌�j��`ou� ��T����Q?��P\���3H׫_ɸ�X�%�'��f�0p�Z"��Y���bn+D�z���7�"�35��\�`�'3ۄ�322x7��!��	�/F��7��鳊�od�o*�����핲��A��/t�12p�^�]����aק
���w�{�V����"�^�)R=Ti�Bvܛ�JJ Ifc��GE�]&�5_��!��aA�y��[4�W��5q4��-�LF�0���m�$�r�<�����a�a��ڽ��P��*�i��D�S=��ɇ�"vl�v@�r��,�go�F%R�-b��ˡ��z�s;&L�0^�j0�wKu�L�|�i����z��#�e�,(赮�P��]5A�
�J���<�_s��2J�n|�Ѐ���1��8l,vz�c�>'�Ne"�j c7[����p�AgK0�(Ef�Uu�h�&meq��Y�@�Eo(�0�:U͸8w;����:�V��阺�d��t��I�Y�3(�D5�TW�$%�Y�--@3"���6ް���;�t��Ge��7E���a�^��qJ�Ń���ݝ�ܙr!9&�8)󍧌]�8nJ�&Zg���*���7��q�ƽvI�8@�F|���JG�l�M�����0�h�*����Ye���e�����}D������Y�Q~Z�}�/���`�­�ս�+�4�#oF[G��1���?�:���F�
��>�fxT$�T�Vw�U�Ȳdԧϩ��|��8�1�/(&^��_����9��F�)e�e�n�[�������Tgo{��|��xO9D҅`3*���.�@��V�Ø�Dw(��5l�:���%���N�ѩ�ij
SNJ�/��9m���0�A�@���A��2�/��(�_o]c��H�3�
�;�ga����v@�qBճ
뽋�J��<#υ��8�q9������NEb��0,����\���%�[XD
f�VEJ��)|��^C��q@
�� ��]��l�c����1�V��(
#Sb|\Oj��N_5����Gg�M�C@�U�TPW��0�u�����(�9�
�
��IW���a���[�Pc�Q�2.7]>�5�{6ք�'j ��)�}�Č��qF&��ER_`k&���P>N(d@��j��n7rTV�3��g��#F.���H�?�X-�j�k7�Ec���]&,V�A�
}�Th�������� O�0�{��h��+�d��M�o����ܽi��Ns�ɧ���L��fM�3!���+a��;OD�k�ܰ�r���
Ա���U-��^�h*]����	��%\YM�\(���n�#)�$`�S~唱ˆL�^���'�휧�pM(�LU��r�h��G���*��L����:��Z�)(ň�w`u��ˆhOz�
U:j�Bl���Y1g J��z|�밪M��o}�YO�� ��'OڳyvDŽY-�U�V���vZb1.2�]]�;
c�b�&\}\_&�W14�
�aY��S�[�}�g���s~�6o
m6`�bW
�����@ nڲ�1R�f"��ID�h�:��	�Y�KhL�ƅ��Md��0���ٮ�U�n�s�޸3H�P��|�B��u&��z�/��E�[��sm��)��\�U�JI$����2;�1�N���s����l&�rl��Q̌H��-�bE��Eei��)uT��nl������jsxq���$��6���J�Ȅ X�X�o�`�]�/�������0-�l�H���kK9N嵋�W�,N�ց�(�8N�6�*n�-�l�ϣ�KU��d�!��n��0�3a-$�/�7Bh�ZD;^Y���+><R�F'W����oa�\8 "�P/ Dq�R�p�"��	Jhn��t�
k@�΁�(c�ϒ���%��$B��=۰M�؀�e�r/4�)��Ś\ǹNT���h��C,rc멁�4΀#��ETu�#���8���6Uk3��u��07y�}3�;����ZjE�-�V5+p5�=(�ٺ�\cj-L�7�;��!C�I�B�$t�9Ac9�=���R� �����u%ڹpI�T[���Df�]�ܥ��
�եU��;SĻp������t}��͸����("j�L�
v�>+���n31��á!�Ĥ��7L��o~��Z(�@dl���ن�ȗ���F�����]d�]oق^�yix��7:��V����aH��x4 ϼ���(�=��KC��U+G���d	B��R��7&9b��W�h���ނ�k�#rx	��
���k*�4bڢ\o����ju*�r�Ō����$X�+uI/f'�3.8HŎeODt
���D�M��Z$s�]�ꩦVǫ=�un�m��im����F]��h��jFl0V��Pᷟ�嫶�u��ȡ�b�.���Q��/Tɣ�j�d�����Y,�t�s�/y�U�
b�V]���3��8G�q�QWM_Z�<���0��>r�QGf�8���`C4�f����#�(�n]�utK���WmևL,�Um1DžI�D�]��1�H}uy��?�/|�.��cz7�E��-�p�mhLxB�r�����z�.
�*���!�5#mjq��f���4]�(w����W��v����
JNvG��Mh�d�Z�򌣜�#X�%��X�~���.B�%w�^�N,R�9���M&�I�u�� � D/UWu�0_.i)[h0B��R�T�nʄ�YY{���q;9"���X�T`B2}�f@��R�7Ƹ�p�}ћI�����*�9.�%i_Z�73DM�,m�WhW��`�1���(zx��6NLXP<1s"-�*N�&��62�z�Y����z��8����~����ۻ��7��q�cj�
��٢�g�	�~7�^��"�����p��t���B�̠LCf��z�Wz��8ՍX⚍��j�QM��+���Ԏ��u�0��a��)�
��p�Q
�A�q�/ϴ���%-4u�9���;*9�9630b��$f&�$m=V�W��O]���^D- Bv&�(~�Z(�D�-��8qʄM`#����6�|��4UcKY�F[���#xa�*e������N�f�mH-�v�=g�IӨ��%��N
GF@=��|#d-��O��J�yX�n�CX.���9��j<��:A�����wu�Z:Q�_%��@ܖ`v��!@�nbb�3_ᾲg�P2��H5�S���u�︅,���	/V���Z\P�`�U���56�F���&��>��Xk�[�3Ъ���}i�,�㸧��F1V����֝��<i�eu�Z���V+���m�lq�����{���*K���Vd�{n�X�Ӛ8�=n��~+%��,㫒�m��,B�V
u�z�jzvTU~S|6�ў
�,/�iV�CV�m�/l�=��z�Otόh�1��s=��8��shj�ߝ�a�=q']�(��U�U�y�� �Dr��;.�U����D���~�rM��b����-M
��A�j��cݴQ����8m��o�����2;�9Z�j�Bt�Q�)���9���uq�4<tL��Br�9}�j+�
L�O�ss�[S�X��HI�����n�P
p�흓]5c�D���!�j�@.3(��S��Zt��v���`���OA�&�7m����~XG��^����O�L4B�3H+�\��Y�̆�!�vT�l�����G��t��	f�ցt�R
�^�ƥ�3y�Ō��>���C�aS3�~�\z[�L�����\����>1�<׆�Զ�ae�1�`L�N���N�ބ�E�")�	�}������T��q�C�XY��ܻ����C �	�P��*���e"U�J1
�/�h�8�Sgi�g�� �R?2�M�1����k5�x�|�e�q�iZ�g3�o$���e,T�Y(4._��مT�\FI�6!1�%U��b�VTv��A)���UPR��f�
LVL��d���Z����ݺ̷����u�(��W�{�[�c�Щ�3�qaϸ/j����Zܬ�|���0T`�$�‰WS�)k���-�U.��S�s�/"�����#=>V���R�^8�f�>��
��c�yX7)���Q�����P�݊��=閄W���`2- PU\��PT�!�z63�y�}ТU'��G�����eT�Ą:��Y�uLbv�g��<�j���	��q��:Å�`q ��j4R��I˂d2V��o�(o��e�	{NIL�gܝ�Nl|�DF��"�a�ej����1=�HBB�Ř��T�AhS՛%T���Q�[ٲ�S[��026<P�꽑|@m�[�n�qmȞ�`/��_��-���[���˘�J�abF&�LJ���g�9�X�F|a�R�����Y[PT�����H#:s���0Ց�:
�Qx��R�4����b�
�tg�8��-����]QǺK��=olZ�t���o���	��|��C��HH.�6|��F�*�+�X��v�^�H�ҥ�ɩ�RDb�v�ж����B�ؒ;�8K�s�lF��4�׌�����X	�b��p��쩂�8�(�vi�~�Պuj�+�yJ̅�
R���"�
�ŝ+}c�H�9r��,~�P-��2̭�¦�֣��|>���Xl�6U_�ʁ�*��X�QCT���E�fF@�X��|ױ՜�Ǖ���hE�
#��}���5�������<���3��*�*���%�kfg��cE�F��� ���"�r$y����[TW0!1���&Нo���)�D��;�H�5���oe�Wz���&�J#�O*id��l{`U�c8Q`|��۹n�[I�¯���8\=���qK���bA�.f�{nI�E�9���5xCf���Ո��Wa��Df+��G\e���I���$��hT�ڹ���R��j�O`�G)@���b�Cjp��^��^���@�T<LP��L��1R�Haq��)�J�
b��t;�Ix��Q�Ί.�%�#��Hi�w�rsP�2��3����%
c7��y�]��1���V�qSD5.��7yBkqq�f*���ħm򦴲J��9�G�>;1PCXFk����V��RP�6"Rݨ�Ex�fDV<1�H'�k���&r�5��S6�h��k�%�֘�~�X����2#z7Lɔ�V:��L/��?|����4��J��4�
�^s� *��83
�U�7c����;�J\~��gW������
o��i�&�^%�&� ��O�PΤ!:{�e}#�z��{|S-�S��q+�1N���~�D��o.���y�Oy�rǴvx�TZØ��5�ԯa0�,��͆�k�!ܮ���a�7?�G���̫�G�A�2".�F����>��-u��
O�\S�5s�E{�W���]���S:a��L���V�Ʃ_0�齉*�7�O~E��:?��V����觑��e�x������:Ea�����B��3r\a�F�jx$����ppcq�M\;�!�٥֌��Z�
5>V�.H
�C�(\f�C�T��:��͵���Zto�u>7t����;�%p���8����}�_�d����tU4���\ �X�%�@#�Ko�<,jS6YW���r�b�6�Q �A�ɣmU#r
�0��5�Ed�Z�N>�-s�)2�L6���b0=��{��{;¢( �!��X���p�z]�E4�f�3ɺ�Q
��P�N�ߋh�ߣzֶ\ƫ�#h����0�Q����Lu{`[���d�w�q�% �B��]�A�R�hi��f�\Gz�)�a�	�N��H�!jh�m T˷�~î��I�2vf\	����Y�H��>��)J�Q|��tD7D}}��a�L�N�R"���W*6t,�G���qi54��Z�2�=}?��)gR~&s�}+��҉-a�	G_�� ���/
��^�qwc��U1��R���&��t�%�a\���]]�Zf��}����0@0;R�ZaϳF[�wX�xb��|����o��jM��e�SP�q7��h��V_P�װ)��U�ȴ�sO�fR�p\��.>��6t�k���6��C]�p	Y���p\L���0Rc�BE�q��`M1h'�8�Ak��S���s4�aE
��g�5rz��#����|����.+7��7���O����3k�	��?�f��l�S[�g�:��%�"m7��oɳ�Vyf)�܉SJ?��b�����+T���P#����1^�zG���G¸��6���U���eF�w>^w�c����T�&^F�����	uV/R�<�;}�S&܋��/Eu�Y��������k�1�=�G"��(���4K<�՗<jG%�Ńγ<�:7i�w��{[��[�P�w��c�2��u6LZkL��-�a(��М��-m�9A:#�I�rS%],d;��CW�辐��$�=D�Kcq7V��J5�f�O�X(��B�bq����u��p�nW:%dGȲ��n��'��,QyV�%7sS�l,5U��^��|Mn E��%�4�`/oVX?p��Q3�����zӂ�*�5r1@�JM<�r�ǃ�疊�y��]�i�W�$r�zGN�
Q$i�Tk!u`Q2�R�Juk�K�{1���@:���[F�D\=w�PK�w)o�7|bɍ��8�h�e�\�.lm�Q����m�E��=h�T:�U=;��a�f]_�&�6�e�َ5�ey3Wj[���XO�[nXi@�<D-Dl�/SY���d���l��F�נ��-�XV���f=\4��hUD�6�Ԡq���csL����s6$�G�c A#���b�E�Т(v��+'�K1�cq`�q��)�YkalX��4�A���(Ӳ�f����ř�+��)0_$Zȍ�T�ϔ�	��}ۘ+1`�	=���k��9�D�Et� �D-�g�h��l� �
����Ӆ�Tb��rc~�W(��esq�i�-\�ڥ�%��GEG��v�|I.%��$<��%��[�L;���]��ҩ,�Pۼ)NXL��ز�Lj(�
��A�u�B����V,�Z��{����\?�#��'�#	0�(�֕Dt�X�0��Q#l�՘�h����l9#�w�;V"��p-�L��bП���-_�Y]��v��hpu�9s���Rҵd_��6�ج+�%B�_�e&Rh����I�..��2�-�si_�G~����2�e"�Dz,��qK3��Y
�۸��A�/AV�:��K��<�e�x��v��ȧ*�r��7c��D�Q� �Ř���I�4U�(K�C1��N��̹m-��=�=ܛ;�e������e֬='M%Jc�M�6�~��L��2���UEp@�kFa�6�c��ð�!:a)�Z��Sf�_������u�6��+�V��k(k췌=ob��^��$/^b묾�7U{���;�
�Dc�ۀq����G/�٪��&��'),�E�n=׫�*iXUUIb���U�R�w�Q�F�X�#��[5�co�6�4[ow�뛃��0��4��zLd�+"4��*��1��o��~X�U�0�r��0���b����F.�`��3f{��zy�S�8�~��U�kDZ�*�x':�]IZ�/�5�"2�3gEv�a��jg ~��y�u�j0�e=�"
�Z��
Znq�9��)�K!�G⸌���	����=�{A
��\v���/����q��xji�!R���H��[n[63�*��2S\jqGd��E~a�R�l��u�$���w�VO?��J@��4�w@N$jsr���CZ��ZN�||�; X�oq�a���q���.�F��V�:Z#k�H�֛�:Pevf,p��@xp���b>�h���U镥5���[s*Y�F��~��ns�7��؃f��s%b&���Y��(�aYXm�ı*h�M�0����Т�����I���H~���y�EC��Y���`R�L
�g�(��XE^'�lg�iX�iL"��R��x��yd_1(Y2�kJ%9"�
svU�P5���V��y0�eIˌ6o�0}�$L�*��-�6O#ZsN�H?�V�P���cn���XE��q����N��P~~���	q?��k�Gp0�)�G8Q+�&^�t�R�6v��W����Ƥ4���ȱ;�\�A5��q�q��yLt��Y�+��"׉A__h����
���u�X�(�0",��hbh�$��0oUy�n8.����H�=���X`ؚ`%����������:.)����R�V��<�y
4֗c���ȧ�VM���%v�(� ��x��em��X�F����/m��nq�8g�D��8Fu#��h��	7�}׈��Y_��
g�i	���	\�ykt�:M�O��=�)R�֛n��$"�r��8ըY}H۝f�GX;4v�S�1g���C}�6�
�q�f�uv[��)�۽����%�"�i2����W3݊L���;]���%��1��+�uL�u�-�e�ޚ��3g�6�/�)3FѼo�7忞H7�98[��k��LxW	��I�G��O�	.n�B�X��&�C�cV��	.%���qgg�o��ekUK�v�Ih�fX�d��i��m�X[qY�.t����eW�8�$��C���lD�Ҡ��i.�I�֬���(l���zS�T�7کL�����M�S[��O��co}�$d��#���k���J�QYs��a2�G��T1V�6���9��r�0#w:�3�*��T����f]��h��.�Y�B�a&�|8����+�,�U鬖����2��
|XY���}�j�4���J������.��y
{�Ğ�����u"X�ƫ�G��t���
�6���v�{�o`X9���u�0����+J�E��Vq�!Q���{BW�uY;��`�:�V6a�dD;��ֺ��[j@��1�s�8����`�닻ME�An.����m�Gek��D�$x�bL5��y�#�,���dX�f�V"��0SEK�H0I�:��1�t�H& Zut����Dv�lc˜Q=mu�	�\��vx�D�L����W5>@����|��F>��m���h�A'#/����������"�䝯�]%?�@��Q�u
-�ܶ�����Q�!֙�yv�"Z?�ɨ:�.��͍�g�P���=0��t'�#��Tk�c�5gF�Kl,����4�=6���r�r���Z�l�_6+Ӌ�U?�\�1@���L�UG3��d��&�UXnb�h���R��D���
XQ� W�7�`�vkVM��z�(�Z���x,I߱�q�����L9��
�
���^���x��pq���U�o5� \9��gc��9H��͖��4���XO��������K�@�k�ڨ��o��>��n����\�c"[�a}J��x��]�ȩјe3��3re�
H�S���G�>}p��DA�[�*�3y���5�=wNK�c:/��%�w%h�Gvq�
��k�4ռ,��0�Э��L^���4�� �`��D]�o���R?15�Ĥr[�zب��-h|�|T9~���j��מ�V�5vY$.5�U��
k#��l'�8���~f��T+���i��4��*���bXv>U�B0�'���{dٓƽ�	(1�MLV��M$�z'	�Q`2|]̪�,v(�S��w���08�c�.�=5H�=���R�i{�e�a�sٵN�EM�7�$!�9qWm,��u�V��/ݼ���ȡ�z��$9@�hC:�1G�{��5i��ˤ��AL���Ni��:unZ5�h�X/E�'�BT��Dor"N~��Ӆ�����R�M�&����J\��``g�	�I!�+���&r�+�GY�:'JJ�z0!��#.8�U�J���p)܍�?XG�)L�H��HT�ylL8B��:�6���ӌdĆ����]+�j���w[n����a�pYʕ�]<��ա�Q��#�N��"8ɇ�@`��@��Ŭ���"�~�4f
>$�V�=�fE�4PEn`u��X~қ�����G�J8"���{
��l�Gf���X�;�r�kN�"�%�ְ
eē�C��Pvc�:Q�UQK^�%�n�c�Gy*�Х	Ka�U�j��9�m��K`N���	������j�yj�^~c-�kB���Kl�y`�J�bJpu�,���S�q�j��1�U!-k��tQ��s\���hj��䂘ɰY[1d
ki5���4���ǟ�!�#��$�`\��li�V����L�dBWF���3G0�J�&k
6�Q��T�Cy�y?���t<��+�/�o��%^a1�q����u���ϖ���~l�.Vd���Z��1��F�O��sg����ϙ=k��uw�:9w?��0�l����0�"�s?^�ՍGn�' ��D�h&����v�݅�����[��̥-3���2̷y�fO�t��I��S���̟0�c¬6���zs�ܱg����Z���Q�t��5��ǛИ�	���*��1��xD���:R~6^������T縿q��p����1y����+�|��L�EN�?�]ˎGv�OIC	4��WZ��)�&4�huӄ�1�����zd�S��y����?cv3K���8�>�FVV�Ex1#�+3222�q�9&W!I����(�_�����b�U��h�Dz��}h̢�r��{m�;��1�*�K=���͎k>d��G-��B8Iק,�)<j
���gz�MI�w��L�E�������:��Dc�jF:�"v�<�k[���~�c��#�4�53v�4׽;���x����V,��ge$�G.<y�q���Ej�eqz��*�gV�Z�P���]����=!�B��C=Oc�>�/vi�c,��f�AA) �]VJ���<����v�n�&w�Ka2��wK�Jx�P�k��;ɯE�m��r�.�Y?ʓ�~H&gŴ("���w��e����L��҂�����.]�Q��{�_������;�8'�\,�z����dF�(�"��6s��e�5P0=�`N �D�_ڌ�όB�j�I���K�]�p�8��<�)R,�GG��&F�H��b���c�&m���<P�7����rQ���,G9N�כ&{�� R'v���0�<?�ŏy�(����.]<t��S���m�_��^�y���H�nDe(lܲ����s
���x�
3 N��F�"W
<I4L�Z�b�+g�n��%�Az�b�lɸvjpӲ���٩��Z,	=X���eݙ@6�>��V-6&�?�}N����^̻6�͵3�θ��+Yj�Vz�zT��_j��޵���!ͭv� �<��?S*ܻ�8�m�E�M�C� a[�ǭaL�{F��+�6���9s�i�.����GrjH�D�i�6M]��$1 5�R��f�E�S3B#HV7���K~4�����P�݁��~îÃ����+��	����?#S�%�S�vuϥk��zW܄�i�װ��,�`Qj�̥�F��|���Xpȋ(%�}�q�
�h6�� #������Pr
7���<z^�	�8�Ha��ġ��l
n��CA=�I��@�~SCΓySf�%/E�����w�,�y���(.�~w�u��X\�m�&=uff$07̃�SL��[�ھ�5c
�i�-�ݭ%�U�"�l�&�}�4|�<�T$k�2G�����.��r���)|-xp��]�J2�a<E̚_��[��U����J[3=̘�wקn�]E�,�q�|��E�o(o(�����;x]�H�b԰?g(��=f�D�Tq��yw$P>�Ņ&���������u-os2N�h�$uYƪUU�1��.bTZ�9�AKM��+x�B���a��u����	A��>����?����t%��N��$]�
DyLQ��DP��+�0��|LKv9Nv����"1zF�
�o�.8����1��Fڅ��
���0G|۳K��6m��M�����Y�
�!y��-D��Y��J���%�Y��|푷��x�q�p�6��6�U(�帎����Rݏ��0Ȱ1.��w�s��9���<�(N��0�h8KYm4��t�~���^D��!gQ���t�0�y܎��k_��'�G�m_@p�������c�ޥ��,�dvj��;&`���m��n����B
K�w�{�y���*�e��43cT��T��{#���&�����N���0�)��lC��?�c���A���%N� SE�/�-i�&�;ҍ���&XNHqׂ�� �!~(���$�c���P��r��G�@r�$oE��
N�t�K�aGNUˋX���✾��P�翓�I���5;vI�����%�%�p�2���Ӗe���6�I��l?W��X:�����_��1i���~���g-�x�ĵb(x|q%�e��Z޻���s���,�(RY��i���|Ʃ[<�A��S��E���UV�(�6�+�-5.ݑ9C\��rC�����t�^fWq�r -����~�i�b&��|�iH� ��&Z�5�=��,x��ʹ߈��:�{�1Hjۀc���M����/�F��.��A���~��3�1rH�\�[Z���7Gɛ���t6������$�B��9|����/p�	����p��qB`��ڽ<�{ЖA��UV7E�P(B*�-�X�44�1T#ŶFs�/$/���[��Ww�0T���[�����Al���pE��i�뵑 �q����r���9����om��ADS�1T�X��4y"�Բ�|9
N	Y�ܖ����%��F����"�
���!\��G�8�ZS��
�}�S�US�T�M���"��L�
�����p�O!�:�EO�:E>���kS��b0�+�;���M�$5�F�.�;f�x�o���kd>/i���S�a.j�}���k��z�����E�B����y/���*YC��u2;�7��%2��X��T:�Z�%�	�2
��b�4梴R]��V��G��M�S~������v��`�h�^�&~A9��)��NS~}��[PJ�2��Ѐ������Ӭދ���L��su��ᦩ=��s{�	vt�4�ζUz+=j�-�	��5��d�4��Q��=�6g뎄E+ae�l���*�
\0�rє��]���Aè�Z�Ԍ�D�]�ʸC ��=U�eCQXO>-g\A
�s�qǤ؋��4��ƌ��J{��'����E9�c[��/��S�+pid�"	�E����ɶa�=��]�F�������E
��ف�w
Fڹ�L?M�3a���(F�����8vV؞	A�vߦ�V�Rx۾���݇�=���C'YS�n�wA���~�hAR߇&�D6��t)q��L`�N59�Gx�p��׽�X�ӻɬ��!��Y��iȝ���r�D�v���]�HƊ��!{>1'�`{X�w���s'�GxG��.d:zp�X������`�
��'�?�P
i*�<0�^�l	���5*�	.ya8��%,�r�s�γsa�H��3�5,��^��������I���~��Nj&
��'����%�y�| '1���eެ���ɦzo�4��,��g�	߫qqF8���� ?�q���F�&!��p�\�1	�)�N:���R��E��Z�P�k��
$���7l��[;ΈdWĚ�(x#G�"� ��?��������W�"W��� 1�Փr��Džq@TMlV��H�J�<-1x�O|\���ֲ�-[lc@q��4¦�O�� 7.�}���j��z l�"��g������F�b�;��x6��
|�^.�C�G�d'����֧1�*�8�.t�oY��i�����t3P:�?ēW�6!qJ�Z�(ח(�}g\Ԁ�LM�Q[67͚<c���������:��0�Z<C��A�6��t�i�-���E��%��ru��?C������c2`Ƒz�u�i*q� ���Eutvr�:��fQ=KĜr�6M�y��?O��S�*�
caP�F��!�n}Iꖿ��K�|��W�i|���Ga���:'{�3}%��I��'�����l
K����P����XW�M�d��U�)`�R�Z�T7�W���e��e.ԓ�3h�;~��^��JU�
fݦ��jlc��p��]��:>���A��%��4c]�ǻ��qy�b?��;Ǩx.A)[az�I�+��0��f��Kwg�2��L:\��@�3���i��B�f��o\�zEgO�����6��\�h��6VT�ѫFW���if�����b�����:��ɹ�ބ���
�x.���FJ>V?��t��ǫW�����K�d
YX&�?]]�����NU����7/�%@̬�\�#Sw����H+5�ט�M(x�ĕ�x;WtQQ�V���U���F�j��`�!^�/@�����'ay &7���@zK~�:���.��������'4S�H^�_�oګ�Bs�$z�.��;��E�`R��کס�fn�Xyv2~� '<��asl�#co�K����*�ٴ�L�*���Y%?��-����
N~Y4�N(iF��z�z9tqh�_!�/܈X�/�W}m�K�X_Tofe�_:�(�^�w�
� �=�b��B�:U6o�G�k��t�����v�D���B2�Pq�x��!(��\rf8|W��e����
`�3?$��;OG�EQ�ɒk������&�R�`1<���*���3��֐�A�_������
<g����M��M�r��:0U�Z�z�ݤC���<0��¢��>�)�pbf���Y�1������mqI$w�"W�O��-��BOOl�����n��Ǧ.b�n���h���n�̞�.-��lڬgz6b�P�)S�`·�GC��lb4B�ڔ�,�zi���o*�G��Y�`�!hz��^����;������m[_�ݽ~��.v�v�,W�y�@�w?�N�N�2t������X��u��30�c��̐�@���_%�]O[�	##�dzT�4��VuU�\˜
���!�����ڤ��A�{�:(��\�*�9��
x-QI�猣,�ҩ2q�B<�4����IL���z�1+B����	b�ɿ�"nǝ]nX�̐j���s瓗���2�~��5F��:�b)f�/K'l�RC��tτ~�S���T���ұ+
) �A$u�D��?�¹�����ޓEAD�d֤{1�^��I�=n��_�t0�qu܂�h_���zKO��}	xy_�[;�
�ɑ�H�!��B��	J4M.�(�j�;�����J�\4$��,K�VM�o+��ӡ��ǫW�����k�[���2hI��jH���ERe4d
��s�����^�t�=��5�k0�2Q��n+� 8�}J��Z�B4}�/Б�N~!�_��)�&����J��t��kO2(��1O�
*G8�bd�'@0��SyJt9���Z��5�b�&Y0_[�Ґ� �]=���d�18X]�i���*�!|���7+���ih��~�;��,I�կ�(+Bb�Y�V���Ƈ/��&������_��\�'�ez�,�[�5��-�Jޕ��\�2���~v�R�(� ٟz�wdtFzO6K���"��v{8m��m�f��wea���A�M�q���PC��)`G�8�yV�W
[���ow��9�4�/g�=�*��֘|���4�!喙���/�0!��{*��#c�ӥ�C^?����ۆ��^���>�`�Une����V�hd�
�.6�J���7'���#�0֯`�M3���ƛn�_��Er\��MXӫ&(���1�L!gi�e5��,�mط�h��Z��*l<q����X>��&�RZC?R�m��4��`a���U��Z���G-��\?�ȭ��:�H��)���h�� ��O��g<��M��_�Q�KpR�9�P,T�����>b�Uۮ�m�-\�I��v{����r��O ���5��2��ˇ��Y3�n.�}~�H.�js�$��a-���U����҉UQ�{���b���Ά�@+cR�w�M��{2�Xt��N���E�g,T,�J5m�*�(��xhXs�!,��my
̂{�^
p�jq+�1-I�)��B��l19��֘?���X��{�^ϭL8��7T�tS��B@��?PKk��['�o�w��6litespeed-cache-pl_PL.l10n.phpUT	:�Ai:�Aiux�����˒Y�%��+ĝ��j�""=5��2��掇��@gS��������h��@]�z�1��E/z����?��P����#����0�}���QMݔ�7���}����������V��)��Ͽ{pU5ղ\�����5kW�˪����g������ղl�Y����zWw�Ǥ\Ux�/�����?��)~��G������g��{�Y�,g.��ã�������O�����5��]���/����{�ߟ?�Y�+�����(�?��������Y���k����}��\Z���	�/ۛj�zPO���3�p:��+��Uu���I�_W�Uy1��{�U�*�լ*�꾴5+�����/f�̏�7>������u=�yeU����T��u]��rU�������7U�j������uU���[M��u�ް�v]6��bYn���Z:���^��X��H���ק'��H9B�o6cif;޶M���ƒ#y�K�6��Ū��?*�7�����b��ݍL�?���M�/�����O]?[��/����B���?�ƶ����e�2��?��{�|��<o}2+�n�v�e�h�����?�����̅.�2�?�Wyw����6e��O����?~�zV�Vus�Ezݭ�u]��=��y�ܰ�v�s,T]%O>�n�N>��Yc鋮���$�xJ�Ö뢮��b�n絴�������eU���U�-���f^������h��˶o&l�C�vVmklkV����݌���K/��r|S&��ď���;�k �hU�e×�Z6Ф�p�&E߬�٣�n��������h7�r2���d����=��"NZm���Wռ}W���8��eU�X�����YyU�h��Y��w2*���R�����{c�&G�o����韥�=�b���_�u��N�P#��U��j'ۺ��(�;��RV�a���ش�b�.����iN]2_�tiC*�Ћ���8�����6�����ȼ廲��e���E�ɿ��ӯۙ�/<�G�դ�V?~�hd���F�%���G�g"Dddء�~�쭫���3���*lS��Z��qU�ʥ�	�ju]tںIw�W�Q���\SL��?T���b-���d�l��z.^Ul�x���(g��>N���+���
�E�4����Yq��jy��w�Y?��V�y���T�}Xc\��R�E�i�'�z}�x4�����MSq�`�`o���R�2*NyY+��
ݦ���vyU֍�V�J��H����K����m�$��ۅL�B$˚3���E�L�_����jUTM�_]�M�,�rU.�0r9�iQ_�F�囻*|��mY�e��$Z�'�娐��И�-��/ݴm.뫞�ne���f���rZ,��G��.g���e;�xtʅ,a���\�����r��or<�,���-�؈�C��r��W��).6�mu�7�*�
�[	�m��B��H��r[m���]��?/k�q�/�aG|�}9�U����7���O^���_��W�겆�2�!��]̺����n���'�*/ ̻��jL_�F� ���2�?���尕��c9�}���5��F�.p$�{�lM�l��]�����?�'�L�[%K&<��,8!“$K^_�Z�`����?��+���Zt]�����aV�����_�c�r	���mYʇ�~֍�x-GQ���8�6���@"���|��G��i�;�*�(������d����~����|�e��b�m��uO*��^��#�щe�_��Nd䋗�O�D��m+�KU"(+]-��5�Nϴ]�Q#�-��&
Sm2�<�ɺY�6��A�
%|��g/���u��ws��.(s�/�d��5���n6;�=�����\ٴj�LL��D��5�'#M�_�6� �Ƶ��|s�)�%�O��Ŏ�v�Q��=�;|�I���%�A^��>q���_m�mq�D��aOq���R��b����S�3h5�X���
��D��*�p��Q�'�w���M]�����9z��V�I�,�F��V�>�}ن_�(t2����'/�05M���y�Mx�i3|({F�Q�����DGz7��x�M��7?~���;������G�-��RdI��h�U��"�V�
�[NǬZ�._��W�jY�Ѱ��FU���F�S�נV�W�:f�%vZx;ܸ��Fd�k��0"L���^���\u]-���!��:�J+�
�������ț9�^nV�}2��ּ]rxk��F��լ��N{)ZAq~��G�H�
�i����L��Ohĕ72M�+��������"�MY��V�=�1J:.h�W�K����
��O���6�A��ƫ�mQ#[��_�,��1�3k�MuQ?y�w���j�c��,���^�y���i�+��ǿ�J/��96�Ȃ��SJ`z�61�]�^�طrf�<���$�v����u�N��$�i9K�N�����T�[^2��_o�f�)�B�($Z���8���y���ŵ�-2�Q��u3����*8����?t�g��d��u��t��\s9�z�d�/E�)W�k���H/y���‹	9�*�Η��Oë�o���{Q�Q�G����iK�a���7��Yx�c�t�01�
�����t�%�,�/>G�K.�U9a/6�([��#
��ƾ��LƼ��_�ݓ���|��uT�m���i9ʣ�F49��~|�B��Fq]�?J����s�&�X��(UT:��w�j��o^�nY����oo+/}��	L�i���z�
��E�ވ���+����`�d�<�ք��Cp���J�����$�i/x	�ح[����.�.eUM�����Ȫ
D6�JlN��J�E�������Dצe��C�����mÍe�ɲ�e-���6��V~&jr#�~Yɞ�|�?i���VJ�2�,�e�R��uڪcn�M�>�_���¹,�iS�ѝ��3�-Ƕna?�Sjk����zk�[Y���:W�آ?G�ZJӼ̣rV�mdI�
�l�*��=e���JC��J}�;^-y�]��
�"�]Bj�5�A.��i�_�o0j���RjT��eMd�\z�墽-j�0�К����{9�Yƿʖ�5�1�i�O\_����i?�|Ч��e��~�K�X���EO�bO?��j���?�3�[�yq~���d�/�E����S�}��?cCV|Q�����0T����}������ɋ�c�p�
l��c���_��fd(��KA�_��l��'7��a�_��_<-^�8���ŗ�^>/^���U������鳓���'/_������7?�?1�o��_�9.�'/^����2�g���˿�N�>>y�F����/�.��DT�i�2E[��M����QY��1\�3/㨘ߺK�+��>��˔ҷO��x�T���D���wvm]�Z���'�9MRP�����2[���0Y*\8j�ܶT8y�˱*��W<Zr�����cSO)�g"�!��"<��;x3�'��L��Wt1��]'[�~�����=nh�6��6hm+�"����hk�Π�6�d��BC{aS�~N/`
�t+�L��u}
ׂ��3Rw�3����T���ct�(f–m���^a5�-��F��#��dW����g��?��^�Ў������^,�J�ى�������i/?R0��l=��2��󚯓��4��p�E5k�t,��z��^�M
�5FD:,<t���FpzӳH��I�=&S�V
�jg-�i��-��]�g�-�U���U�����H��&x���#zY�w��=Q<Ks�^V����T�l-����ոEH��9}x��G/�a�{������m92m��|�g.�3��%5H�I���ur��OJW3`\,���]���'u|��ٮ�hF��ݮŲ�ɷ)B�����_-�%Y)��b/�K8���1�%{ؘ� �-��D��Ś���i	��Uo���j%¸8��T���v�P���7�E�~�iM��J_��g�sn����&D�2�e�V�Q�Z���R�d��	l'ꌍ��\�6��C�G%8TZ3��B��_���UM/xo&O���&�%}V�JzQ��	'|&����N����2�|4XhR����0-�Ӈǿ>�2:�s+����P:�	�35����qk9�l��ެ�r�z��[wdc�a�覐��X�Qws������(EH��~�^b�0W�7�q��v�CKd���0����R�J�u�t�}���:Q�y���F笑}T�27��y6ke��c��O/���4tr��!:%�=��\�}��q��ss����9�� F��@)��S��M���OB��}=Hl�;�4�D��
:�z��M8x��^`���-���z�V/:80Qp0���[����s�
�gH��?8�Vd:���A�I�]_��rb��K����>}a�-i�i1��r<R�>�Ny�׌�A��](�c[�{�6�1��鏢Gqa� �	����r�y1o�U3N\"v��rɈ�Y�%�oy�[���6Z��m6I=�3DF&hE\ϴ�.j٬y��I�Y�w8��5��o�k)���z�����`��L@PId{$^,�e���rAo�����#����3�_/n	������M��mL���1�ހx���U�Q��"nC���,��]�
Ȓ���y8��|��iɄ�T��Y8d�B��%����������
Q Q�T.w��m��Ѧ�8�e�����>�d��p=��Hx�BC��h�\�}i۾t8A�ƨa��t�j{)
�t���2$��!y0X�l�u�*���]K-���<_�t�=�:[zq�w�cI��aoɿu`u���I"�-��Qu��{��A�e:�4v�~��e�.�r��px^�I��W-�\�ѯۺxS�]�z���&�@ڗ�e����SrD9� dBSi�>tU��͍.aS�-U��`�þ:*.��9�
�����藢EJ��m��Mo�۪���$�U�v%��A��t�K�e�B9&(DU`DnD�����Nm6��h8L0�`Y6���|��	�E�މ���j@����E_�VD>=yq�N*AX5Bҗ���=�����+z�*�po�Q`��c��J�m=��XܘL�]&�R�
s�1�ƻ�fW��%P��*;���YҪ4�]U���+a�Mݤ�N�v������v[Ñ�~�)�U;_��7��:��H�ʩ�\�T��>�}�z�!*G�PWK�I���j�.�����A��ief6f�R��p�%����FnT셹����iʉ4/[���4�7\��3���M�t
�f%�0�ϑ��0��y=fP~7H#���ى�	��E/w�4�D�B@"��Co������:�լ�$�K>h��F�MN)
6����F�њ���ʽ���ӓ��8,|C��f�bj�ݵ�:5����)�X��?��z'/
�����}lm�ox�-DT�^9BL�z��a#<[��[T�B����^��Ӟ���W��r�t
D*���y�=���i2� I�j��\��j�a�g��,�Q�*f���n�C��Xbl�n
k���cٞ��j�ɑ�`���0�#+�ZHZ��Z�"$��h�L.N������ث�|�I��"�~�п�>L���V5L�[�0�J���%���}�t4-W�}��%z�fu�5���1��q����x�@�v6�=���v�8�k�(=�ؓdO>���qQ`?�W��9��շ�
q)��}�:Tܓ�مeV\�Al�/�	c�Ė�͇(
78.3�ޏv��C�\�<O�$�82�J�(ry-� B.��p�&1��D�qX�#Ks�& ��j��?ѧ�
1�\u~m&g��j�Gr�S,���-w�4(�1�N'V�םC�
ɫ�_�%�Q���I\���v	q�P@G�7Ğ���9*��<������ ��/�:*�9�J',K1gTS�]�B[�А��2<�V�r��rK��Y�F�K�QU
j�w1���Qi��zc^��3�cQ�W�JV߭<O��mÍ����ʍ+5�诡�=�����v-k�͛Φ�Ei��+B����Oԫ��1��ecv��f�W='@vo�m���Uѕ�e}	w�?�4L)�ٖDi�M��j[;(][�Ze[�X�4����J&g��!�Ű�)T<��y3*7)�n?�43�6Ӷ�ub)�F��lTEy��aE��oU�a�tvp5ƅ)a���JT����e^�R��#�
�/�ְ�Y{󸠷�]c�(��HI�]*�w'xϽ6Iܶ�����lG���n�$[�D�aUΈ�֍B��]�"��*��Aw	u
?ׅB�40�m����|g+
�.����"2a?�N>�D�+�':��|��[g;k�U��?^J��/,�-�(�Gubc4r/.��K�6oQ3QFϥ-8��V̋�B�-n���1���N��Gִx�d}�h���^�73��['���<��]o�ҁ~����_��^�3��X3H��Ga�f��D���bA?l/�J%������+�3�{�\��p ���9�=�{��gD�CP0=�7[���Aʉa�4�%s@�n��hg̉zQ�h<]A�8p�7�ր��12~�Ge
~xQ]B��Q#Q�~�L����xQR�|�}Yp��j���E��"cb E��0�`u��\�����a��3��n���Gw��o��E�\��Ý�P�8G��h��˜�{G�yd)��0N}9!>Y������p�Ԩ����Q?������vT��W@Ķ{����/�z��xE/c<n�m��,�,��X���!���X���'�n��@	��$��S\����u������;n�a$���{�w��N�)[r��h�&��iX�yDH�[�"��#
`�s�x������������
7I9�I3����+�)9�M6�<�Pm�sż܄�����o�$���\g�^��#�0�>,�Rql�z�aڔ�;�C��0�z�g�$����8�q�L�h�Z+��kQ@x��6���m9��I��]:[��ii��C�1��S]��B
��b�,��aW;���[�Eq����=���`S��5�΢2�G��PH���Ӣc0�N�Y�>�ŏm�~"n
�����?��:�>5l�Y���t�`[m�[IC܉���K#���~5N��m~�a�� M[��4���/*xmT��.7"$	��޶�@(�G��]w�\�F�F�+�C�[��*U���C,��K+����m���x+�#�}o���q��������G3�S,��Xll���T��j�'�Q���o4~�w$7Q,^�E{���c=�=լr��ʙL�?���룀t6x�� �zd"����hI�Lm�؛Ɇ�ފ7*�=6g:ܗ�*�ڵv���W�+:ݮ8;hPy����].�ʋ'���ļ�׀�_��-a�t)�ݴ��t�s�}s]�
#O����.��>U�&�X�,��=>�([�[zg��}��B
2�P���	sn�����Ұ�)�M��ʹy���m�8�r�����nJ��6ix�^[Qޞ�틔�h�\���Qd��MD��HQ�N�� ��`R�
�T�d��<��=�� ����Z1̄��դ�pc��Y��ϰ����,S�T_ٚ���6{L��i�p�^�ݗ�}�4�?8�|��/����z��;C	�1�WŰ���E痢d<�n��i9�,i#�
5a�NJ�	X�*�Ә�n��+�����pr��_����pǤ���A
¶�g+AʁMi�+;�Awnfs����;2���
8��Ո��a*����S5�`�j.O���uU�H�-��O��V@��FqQ��jr��>����0��3�ke�v���"Rk}6������4��kd��~W��U�CWͻZ�3�H�Ε�r�r����Mơ���C��v"
 �sD�x��Q�{A���B��C
�
sj�0�1�,q�R��t<V��4}�#�����I�4�����n)��,#����5��f�"*I]&}آ�6e�c��4O?װG�B���{��]�Y+@Y=���L��Fհ�-ަs6�c���ar�z�[v��ڟ�̜�d!�W΀#�@C�p��+m]��#Aز)����*K{)Ñ�IBV�*:Ƒ���C��f��a�D���5ÿǝo/b������o��m;ks�檔f�);�rI��l�R.��%��S6����-�w�N�0Ccg�{{����$k
B݊2�߁�2����RL���s�?�Z����4&�.����o��A�o����̯'���"��z<:䰇ze\?&�r��9T�f!���'�{63��T;b�Ī
��k
�_�	h���������g^^bT�L;"/(Hj��u)�Y��r������Ve�f�2�9ǡk�'�::^D%�'�r���Ι�v���R��OGS�HL!������m�\�M�$N�V����\q���	�H�1�iZ4#hL�Z�~`/`�!6	�Ԝy#zlĒ�^��Ljv**�����k�����WN�:�"�&���/Ҥ]�2�]n�)#6q�8ƴZ���r�炽�7�ے濑	��]������M�ļ��e�("��"Vf���G�����s��4m�r����M�D�2]l�W��CD�`�&0�j�e/��`?������:k7��J`���4��t�6G���r\�WgDn���������=}yv���S�0M�Y�J4��1��#�ԃ��Pjv�ZH:��>b���Q:Rh�p]09��Rb
��q�3� P��-��71�PpH�W5g�۪Z�m0 �U�P�0{�3ctJLz~�L�Yd=�+-�(XK���W���ܜe�`ܥ�١|�<Ə�Rw͓O);�|���#=���u�H̺1�9M�j��5ꌷ��@x�_ �B&����nK�3H�2`�Z��{���q�8��L �u�F�����{�+9�и��.��<m'�c�N{\�d��[��6O��syHsE��|���Gc��{>�v�6��n�
7�͞rSd$4�b��'	=������\��r#{|�]���Q������I�?���[U�q��H�(C�~c�
?ֆ�\v�U%�tJR���&��nT1��5��Q��	8%i
Y忷r%d��-UL٦�E�J,�rHy��J��3j(j��DV���Js6�B=�j5xir�Y�1��T�|�Q�-����
\=�n��/��y6^��
P�$G���$|��v%��P������ZW3,id�e�c�-�Gd���� �m�P���&H�0+J�O�9�\$�<ݺ�P�6�.����0��O��l�?�G�&l@��9�y\j��[��XI��m��⬈;����<<p�v�0C��T;#�F��M���r�	�E�#�>��`t�����N=
W25)���N9Nq�k�J�!�Fv��	Ȑj���O�vR����,��.�t(v�v�>�y`V�jU������.d���<kX�ׯ�g�,��u�m?��y�t
�<'-<�'J�a1vm�C�gڋ�f��T������%e��¾Kә�1���o��\ȱ�Q>�>t��Y�j��8���&}�3&aY��V�)���ˆ���W�1Λq�B|�y��9���U��x��H���RS�;�U��M����H���x� (T)���7�uxz�+�P���Mc
D����$'yۏk� 7+Ru,�_�qq�Y�E0+]�05%�p��=FE&�����k�mc>a��%�3�j�l�����a��>���dxKt�v5�r�
�?!��������i���H�L����V���uP�a�'z�#b�D�X^�Bt��_�s��Q��XH���89}��t�R�}�ߵ�e\�7����̦-�X�6��mǛ����)#;�l
�Y~h���
��6MTT�2������y^~'����j\�P�r�a]��N��a�V�d�f��i8'{�y�p�F˽�Z�XH�Mv��y1���|�=����l5M(��ȡ��RF�-Q~�2Ʀ�J]Gr��U���ը�TPQ��m��U��V)��"��p�_�2��.xA�֪��
K�Bm7ٛ`L�Yu3ݓ"�AE�
	�t�9^���0^���4��@����z����C<�`���W���������R��3/ ����6�ҪHK��I�G����td��w"=���<�Y���p9[�]�3��))M���F`cn7.4����L��!���/br��CD�װz� �u�\zՎ�!�V(��յ�&\�4���ݿz�`���(����;r�U� |rzk�W��h]@��L��[�uSn��.���o��A�¬�0$k�M�T	
�s�-�o5��"
����52�qtm8f�uFűH1�0��rgCb��q��)��͸@�D�M_�2��Ujv��kq�9.�9��)��^r���K��gҊ~��"�r�f�rV������=��s�1SDH���߰��7@�ia��`�߃��mx�
?�p7�dg��P6��#�i�p�ϟ��=�N�T�6���9��$>�X"���C&K���;�o��d6*븱���i�ِ���x�@@�Ew���Z7tz��鬇����b��a�B5�	5]c�b���j��L�@�`�eP����5P��׷$Y��SڎRDY�t��t�]��e=�E��"��+�ƌɌ��� �	�t���8_�e�`YwS�p@ �e�ʙH�����6�-!Wg'�oum�3.D�WvijT����@U���ܢ�- ������6%#{�R�7��"۔Q~օ��&jz�R�ך��ܨ�Atf|��J����{{ܾ�̲�f_!5Qϛ	|�:��vϿQ�s:�o g�p���F�H市r4
rn�+9*��?�@��!�j!Z���E)��S�K�q��굼�X�h�X;�u�?!}�<�JQ��4�l�'�1@R䃞Ӆ��U�QQz�3P
<�,�`�
��1C4�q'ଽj;�
\���!�!%�;�sl�k���W�]ѹ��AƊϯ]��q��eヮ�w�犷�^4{��?r��kVwC��i���
���p&s��6մ�kBy9��|��}t+Q�uT�	��ER?��-}�
}����\J}J7��Wз�aF�Q|2�	���
ur�C��0��-���30@TiGiA���~B��
!�&���5D��d3`�.N��tD,�=#�����O���^_]+�p��%��3��uuy�)9��^�R�j�gv��e>���]����r��Nn�/
�5��j����K±I;I�;ϲ����kn�Q�7�Z� �E�	���� ��.e�Z���r �a�=�G>��_@�C������b_�Tځծ��?|��Č��2|`Hh��ɽ�b@m�̡$�.��qbB�g�6nH����6����WE�pN����Ÿ�������?��a��up'5��M�>��ج��S�?�"k�F~�Q�Lh5~�w����W�n8�B���n�w[�q7���muG���\�s4�f�����w)ZݪS�/��m飝�s"�Ç�fv��6&"�*;�	��d�e�a4�Z���
��s��*��$a�[~ʕS�8O���MI:�m]�cV�
��RF��jgt�XX�rBJ�!U?
���B4v�f$[�����X��E-c��"�>ixho��as�#*y�$���Ts��hn+�Ud�R#�u��$BP~@t�u����r�ځGH�s�9�Oh@�3�D�4��E��E9ȑ*9ȯ<�<;_�]=>(s�_E�xѾ{�*Ոjq_��X����\Ʊ��C}@��Т��$��r�
��g��-��y���P�m�O�!�?��Ef�5k�j@��jV�8ӉU/K��<��P�Ԍ=ID�B�p��/��2Uע��(.&�몖�Z�(حR��eh�J��+��VT��a6?�����{������"�^NL�H.�rT���zv���*�te����R�`��w�,B�;�$	]�g�s<d�>?O���Mܕ��=|{��[7�KT���Y�� ��t��Iܥ=ly�b�>�h�T��N�m�2�J�j���,`��Z�(����L�=R��T�+���v��q�]�D���p)�#+>cG	]�^��V17�n�T�� ���R	������<y(��f�;�*qA�7�`�M����
�4=��m!N�	9��l{����Ž�&-������,Q�>l�'�t��	�����[���]y�9.ܨ����Ib�=Ζ���x�oAu����W^����WC�iN#����,��aRT�ݗ�:�|�mv��b��#/��S
S�ez���p̞��/R��Bl�K�5��%�Y�76�O�QO~��$�=k5�!�[�:��K�<��;i��1�>�Z<�2�мJy�%2zj�e
C�h��s�S�]W�N��*�*�������\(�!4UP5�72_C�̢/4ސ4U�Vpb�,�m��3ԩ޶�ȑ���1�z�__W��٢/�
�:3�?O�5���!a)�E�p7^Z�
�8O���е��]m}lW]�h&J�*qqBg�2E���˪j.{�;�:TA���`�!MO�'jd{�.T�W50��TTp��s��k� !���|Ɂ{ރ�r{�,::��@bǸ|�	6���m嬮G�c9�阫�	|���Rc�!�۬�v�q��a0��ؕ`Acv��G�iE6��tP0v�w�X�6�X[)-9��K�nY7\���`��"���8�ѫ���hSY�Hr�F6���U5�Bm>l�͢�:���$�h��o��L�'��B١/_$!�=�=;����vBx�V
WJH
��u�vd�T�޼�/?���ۗ/�R�h2̯���YP�w!���3�"�X^~�8;�+N�/�
����h�W�&����L��<�e�zZ)
��b�����|a��i��&����D�Mͣ4�~Q�HT���	ѻe]�u�x���Cϧ�J��s_�� r�yӳ�hYD�-:e�18"�/�mh)��fnE�D�:-���
"qg�n�k%���J�0hK�hVO4r�D֊���M��:tk�6��1_��
�p�N�_Փ��м�ڌV8B�������f2���O����P>^꥙�e����)�*n�Y]��#岫
͇$�Ł�_}Cg�[>x~�҃�7_�u�9�:F�DE���, �E{�{�����S���,�(F��s�)��
�B}��oQ����?z��?���hWj0؏���G� {
�i�5��*lI�
[x頯�0VwkM��[���+cj�~2T �/�%��Y���$Is4	��{�l]wi��L�1�7u�Y������]���Oa��
�!e8W~'䧗rm�6-�G���ޫlx
p��G��2���-���!�q��9*�5۳�!V�Y��X��t���0�S�yu���[]C�٘O�#d|@��zȩ���%��gGd��W,儦���!˪��4������|S�i,��B\�T�b��V!���o�T�0�b����������(�i\��[�����B�՚�6q༬b��;�<�mEZbi�+p�P4�z6n(��}����#kn�MϪ����P=�ہ��d�/[Q�n�TS d(T��KJ�&�w���o����Ԑ<���*~��W�M���EG��Z(�"{�<J*:2�o7�@�RH�0��5��Oh�~^b6�ӂ:�ي6c����	Q�:�>��%��ˀsÞ<H��!�S���d/�a��1���BÞV��-��g4f��7�3��Y��`�f̆c��(��Vi�K���~��I?�3��s�r�j*/�V���6s�=�m��~m�*tc��28�
Մa�~9�����P�����Gt���L{��OF�+��GG�[�~�jf?i��&�X3)��e؋�2�S>�1�I3ŵ)�MS� �L��aJدy�ʁ& y�����%���'�ı��J�k�P�Gʳab�Sy�����E�]��l<
K�K�/ք��[%[;AP��A�.�3qJ�B����ƚ@��<M�@\�N�>VQ	�ҳ�u���ƏRQa�p�͚Zj�/ߵP��r��	BI�g`���L���^��3N{M�`�c0z� ��{�Z�_��Ɛ�ۘ�BRQ��ћ�>��n�J����RF{3�ͅ��W}U���v�T�>ת��֫x�4�v^+q�\��9Q�x�]s+wNn�	�!K���Qa��j�<1M척(;�_�#�Y��ğe��E���$�Q��3���	#Q��\ASÆ�$tL��I��V.�K IetV�սntk8Ô����ƐIjZȏ��?V08��	pY�+��Xc{��c)l��~�?��A㬫�M�<GʲK�����u�0k��X��>+���;KšG�R��_�=������ɤ�I'�C�A�+QMV%�h���ͮ�����Wv��ګo~���ߜ���C�%*�_Dˣ
U֩��߯��BZȱY����Z�N$d����A�m�;�0V��)CQ�dL�_��΃~
*�w�'�#i����Wd��wPy�<%�1��Y��3��#���<�H����rN��vjl�4�`�+И@֡F�#�m�g��|v˝j�K��_�3��Z/o66a"@`�7/YeNiNH���Ί{�\�"��Tůk9�����~����fP���ή��ʹf�*(l���~�Z����e�]�b�l��}�/������uŬ��d�釟�`3)�+�E.��.���am�Y����]ח�.+qu��`d�Q�X�Z�*�"
�����yéfYeR�A�e~{Z�}Q��8 ���s��2�X� q�9�%�����QEA=��e��=	�篱l���U�Q��y��[�k0RӞ����!�eoz�˵t�b���:4*1&e�٣XM�3x�0�:2s�<�d"��r+�F�R��	9�b��j���:
�]W��o�`5�W. ��N��H����Iq�-��������S)\R��6%��'0�d��ZQ��rf���R<�:fj�岉e�0|1D�t�x \�T��~ʮ�v�lL��D`�
m�fw�aS��5�����B�	�_��b��@�'1�n[��I3JMjMK@�[rM���M���!�3��p��r9&V.<%bb��<�l���M %.,�>�rU�����v�UԠ�ETa&��S��]��Q�����sQ�� ;L���6�@��y�m�nWò��*�A�R)��{����ұ.�6�s�ke���z�\��v�l���EWNa��U����ek\�<�o���WU.g�gԧ�B�
��r����>Y-	��[V�k}^Z��ܽ'� �SAׂoMi�	�b��XM���/hX_/�p+�`������$m���}�6�Ԩ>ҭ#<�N�1e�N<��	������3uN'�������������$��J!��'�r��"��P��n�DO[qL�$m��caXJbTU��-!�6�J��A��j�p�YN�L�>��,ٺ��BcDjO����ޏ�F
^9�ӱ2A�����f���慽c�H���萦H�B�*�E�;�kgd;�����0����7��Vd,領	2E��4����kELX�iō���8�=u_�Vބ󎹟%!s��H.B��t����zNךm�qZ������l���|�9Ϻ��|��ݤ�<�:6�'�@Z�МOd�ĐSft�{õSA��
ͣ`	�P��u�/����C�W\v���E��9�B6.3fq[��IŚxn��ԟ�A�#�����!o�E�~l�9$�D�۞M,��4�œ��rh��!`Y�����魤Aj��
3'	�̈���_��ṑ
&�6F�����Y��3-�b5�Oo�ԟ5ދgx���uhx� �b�U$���z�%.L���$��h��`�e�s�3�fr)���b5���y��%���պ��M��z�SY���e�Ђ�1������^7��I�7p�Y��
��9=��X�7`R��C �L�+���D����Y)s�N�t-�q���Ҿ+���g��RMi?�����CJ��2	�>���	��:oe���#�+�T����\J
�k���H2�ԵY�A?�x%@�hC�l,N�j�ˇ��<y�ݖ�3��)����'o��kP7E��؝j��C�~i��6�ֳڗ� ����\ni`�+@�X�Z������9�z�Z���|8��@_�A.��#�m��=_XuEn����t���Pj[���ƂI;F�D�����"<xbCt�²4��G�_�h�-69k���%s��P�O
�9�z ��r3�������ÌU5��T��Qc4�Y "�׮7�!�0IQr�Չ,#	�r�\'�@{��{<�)����QX��Y-V�UKc����e|t.*x�쎓�.eP�#T��6��@{�4=5��7,��`�MP{�&���&��ۊ70���v���
i`?X��>�o�p�9g?��AMZҿC�����+Q����'��ѳ;��)1��Ž�ʅ<��%��sO'T�P�3њޤ��n�}HCy�s�!���fO��~�������"{j�y��;���T��:"�k��Oȝ�+�=���2�t���*��1���-1�J<G�&����Ƚ�ƢV�W��1k/�$ļ\�4����	w]+�ВPԟ<ƯP/8-�
�M�C�ބ�F�d�g?��7 k�j��o?�A��e*�U���P���I�x�(�5�i�������!,�}�
}��9/gH���BP��4�Rj�-���U�G7V|����[����.���[����y%��)�����s�MB
��@i����ـ��<�hPAN��^��
�_����������.NM�e��^��>~Ľ~s����0�ti�.�հ�bJ�#�Ic�Wf�E���!�ռ��M(A�
��7[J�(6n���]�'���'���%���ߩ8���=�g8�p�
Hgê.^Yp_]W&D��H]�=Iy/�;#R�IH{o/n�u{L���E�����$<�?N��o�+LH
����”I�����N���坙��KA�>���B�K�AD�7ű"Ώ
V�MGZ�c���&wr���;*��]ny��	mZL�V�"E��zӶ����N�f�Tig�o�̂G����}hO�Dj}>ooT|[vHD�V�D�Q�����4����P�fP�ث�ʬ��d��dǥ����1�>Se�Np[� ��D�mи�V��z6&,
�Y��:'I�).�����	���Ʈ(�8���1�{�b+rc뛳,�"�wBn�H��N�ʜ�����Ӊiv<��K���Y_�c�+
��� ���]��z	w�q�K�I�9iȞiN�Bg�l0i
�_Vn�RI��$Z+�Bg?~/'��I-��>٘�I��X���?�ܘY�7>�:�@�mX�SwRjT��k�dD�-+Vq����k<��7���c� KS0�_
Dz-H���'?���,U�E���P5B�@:�o��9��h��axX]���U_e:tI:���V'޸J��b�me-�y�>*�������O����
��'�J�G�IY���&}E�2�e�k�u$���7��O�݉�BݝZ]6b����i_.	#�SMR�Xe�/Dji����h=Q������]ZA�o�WS �9��4P�����'Ca��r���yf8�Gz�G.��I�g�ȑ�v��r��Tp5#B���m�`�H��8��_�F�U
K�����܋��I�O��l�F��A�i�M��J�L�VӤ�n�ě���K�۷̶�B)!ɍ�up#�Q�x��T�K�4RJ��BzL��Ԇu���-���h��d!%xc;��9�@>�n����jB������!����)j0�vӘL'�_顺� 4��=�|�9΃(��$�h����ψɒOڬ*��"��޷iU2f���:ӝ6Q�
��%d���C��Mº1X���}:D�Y רw)(G
Tՙ�J)�I e�PaZ���2�n}�GZ���:��1�y��[eQ�׉�9��L�2��w�۩ߜ�4_���)I �q���a���~�&_�o�Oحʛ*�͟y�~s��[UB�Ԙ����[z�X���h��@�׀Y��J�����;`�+)�$���{���2�����'u7�5��%�}��_M�[L�b��Fg�W��KZ��y1|+��X�R)�Q$4m3V,3���~��QT�‘��V�%�(p�#ʐ35P]��~�[x�|�>,�–���31�͞m�t���7������Ǻ��n>U�|V�R�`"3F���}��r��c�HY,j�Vΐkf	#��.4S͝wv��xB	�t6�i����Ԑ�N�,�ʯNN3s�p^JS�h8�Tγ���Ϗ-3�3��@��4ݳ�/"�?�ו;���Қ�H�mT��P"�AKp�H��٢R�Kr�~��d����Kg�T���B,E��1�ѮMJ��:
j	�;���1<��k��9�V��6j=m~YL_��</���8P`O���8;��п&�oŒ�?����9�$V�*�"�-��o�P���8�)DU4�'���Zk���ci�U��6	�*6��x'4��A���L�ݔֻ� �i��{Д���&��L%E�8/E�ނ��R�p�f�W��}�I�k^�8P�}*����L�jTX!1��>Ԋ��ʴ���M��uqKE���nX#2�LJ�P���c�b7L�hﲧ*Î3�,)8nꏂ\F��O�R��0���J���B��]�Gkbcy�J��=�s��mxs ;CW�wcT��Y�҅�z���B[��eR��0E��W0�
\�"��j����t<G�pj'������-�ΓR	*��u?�h�zV|�$��e�pf��'a�4��?�j��e=;3�@5�Bh�޳�7g�:S*���Ԧj�p:9�y���=%@-�=�h~��sn(䵥�)7̲r��Ҩ��V�E`���q�=��:ID�D�#��Ve�\�f�y�c�Qk��k�{|�*_�|�l�=�eU�a��5t"�79A���b�;�v��TFG��^~�3%��
H��a��ۿ���n�|@"���\=,{�ڛ�����Y�d���2F��V��4����%U�E�+u���d��Ͻi��H3{����?��k!k�`ɟT-�,���o��v(�`c��Sԓ��*��oe$mg&��@{2}�<M�ծ������k�݂��0\�e�U�� vc��'���V� `����SH�n�U5J����V�X��0g�V2��ZC��+��Xue��?�^�qP�e�,��0�g�R���J���Å��,ԌF���-2����;,�?���'_�q0��{�G�8V�3�$�>i�=���:Yؿ��!X�-rN	�+�G��!>�N�$�
�����H��aP�o��[ٹ(A��F0S�6zd@�3#'�n�@�I�H� ��Z��J"n�/�균������`���VWM�fR��[�Ah�X|*8�6J���~���k�Սz��jF������*���v�RgՄf�4��%�� �i�:C�����n�6�ʚJ��Y����`n/=��؅�aķ���>tj�>�,��r$Y��N'�ګ�_o�ߪ��,a�qHcu�
���زݔV�20�;�����Xm[Z`�Z�����(�.��/��RU�*������������� (��3�~�+�\y�6�5�0j���ָu"��a��@	�2�&�'uUIJ�z�d���>��'���͇�Jp2��1�Ι�~�nY���v���_������fOp_��vy������ֺ-��1Ý�<:L�A�T����Y`�`��S�BE��r�p��ڵ;cDı���<`)&Z$��p�t�j�Ԗ�1q0�Q�	��O*��6�Wn��k����[�jx��p
��]��
�w���έ��a;��"ų_n̫6�yR��՜�×/� 沝U�\]T�M�vG��܇�vkH@ݯS}I�����Z^���e �o9�Pom��#���{'��H�Wd�E=�;�|�D]6e§�-/�ۘu�$�ţc� v����k�_�l�?��QP4�
�C�7mW�[���bZ~H��i�N^F�:�w�LMh���‡&�S��>�ULg�*���P��
Ï}��!@$�/�t��O����>��0� �YƯ�'-�HͣZ�5������:Đ�D񴮪�J��d]�� *���տ:�yZV����ݕ��NNj�����ԧ�n��뱛	e熅
��E>+�M����
�At��Ǔ��j�KZս�dr{b��uZ�]�uu;Qu;>Ю9ʖ7��*^���f�_XCSAZ�c��73Q�Q>�=�q��F5�������.�i����z�L\Ϊ*{�,3�e��yd�9|�/ONc�^�챭źz_��eCF��^N&�R�1F�L�U�K�W�Y�4�TE��.�E�+dl4�����2����>Lx�r�ĮY�T���1�BJ��ڝ��՜i4�5�@\ԩ�0�Mֲ9�u0G�,`ˌ-�G�SӴ�kȅ7ڇ���n�+�����vwT����PO"/Μp�{i<�ؐ�yG�co;1�B=�'�L�+	�^�O�e���F�*k����0VI��O�PhKI{��r��,@:P'��GzQ�T��R*���ot��o4��n"S7Tf3��?Vn�l��<iw���")��PH̙���e�f�cY���U|��j�<�,+���͸����DŚg��?~pS�=|9���/g���o�"��)|S��p
���#켲�U>7�A����ɯ�w�,/�p:��Zb�%Yb�E<��1��S�H��WOh�C�Cd���γH �.��W�r�����Q��Uƃr����·Q�Ub��O��]]
��{���+C�x[!�/ʉ�i7��G�0{f��0��o�I[�M/��<��)0�����e�?-{J��D:��'~%F>����o�ed��o��j"a��G4�B�Q�j�$�0�xX���V���yD��9�Q�h��U�բ?g���V��Qi��9i�v�E�r7��62�|^FxoWNO�ܵ��v�ՔW��D�����a��|s�>5��[�ֆ�K#�	ܹ"��}����W}�+�ǭ��ɼ���!�e3/�;ִCӗ�}���JSe��AL���3JI��4���	���������w>D�������B�:b.�&%��ߛ��5>�/"N���UfD�ص��jOp_I�i�|��~���+-�k˖H��[��]���r�XċC���Z�Bh�$�2���l4Z6#���.ʱ!/4i-�D�["�mm/-PF�-��WK��d���N)S�)�fdqԜ�:��Ok ��od�W�AO�N�$5�~��"%�����"vW�F�B�Ȝ�4 $ו�=�',�ȑa
S	��R���s�J)k<y
�>�4�TG#Z՝�O8ؚ��'���!��y����}E����(rfM�jAhtJ���Q�
�Vy��6m�מ����wP�f2�\�P�t���Y���]�L~�,J���}p2���cŽ�R�xT�`|�U��V����yY�|�{XZ�ET*s�ȑ�K���zڧ�d����:�dGūJ�Მ���5�ئ2+�M9���؊��yI��D�Z�*�C��ȡ��Q/���1����Oh���HMI;M0?��O���T�*[@	X_�b�9v2�N�2�)FS2]Т�?�m�}�S��m5^b��{\��>j��gk�����r��
'���SwCP��Y ���Y�%��,�1\�T1�^T�N�n�c�I�gz�^��4i�֒���QÉ���
t����/��-�lo�R�R��
���(�5��6��\iu�UV��B�W��`B�[S�\L��}�2n�� �q�ʊ�7�'�Ec��@�)��v�	K^��,r��p�Ġ��Ef�nm��ؓ�aj��*�V��ޕ�'0�o�,�9�|���js
��3M��o�ߧl�[B���٨�t)pt�<*� �_�k��k�'d����7�����t�+�"#���XIƢ��
�1?pD�M�K��0������;7��{�e�6�[���K����}L���Þ@�X�^b��wY��ߜ˲�_X6������E�+�!��ׄ�|��6�3�œ?Y�al���4��*:�%>wQWi=�E=�d�0��J�m:� �#��L4�3f	�9'�B�|��ԤG��:��YNgڪY��,Z+{4�bg����I���_���ȑ�S+�&e�co��[��B�	K)��Цk$�-�3�fi�1���*:�i�H��M�5F���g,4�7�D"��\1�K����QԎ�n�d�o�ja`��K/�!��Y�L����.�h"u�d
�[O�'�!&i�)��g"7~e_�0��8�����2`o���,���w^ ��Z{�,�����ݡ0c!�

ɦolr�}�vg��a C�Na���|-Up�N�$�����_�d������q�؁�2k#��Zy�>�fT����'��D��󷀚49F=�PΨ�|�Q���w�R?��*_UА��|t�Hp����4N����NV��JQE����Oףm��ߚ��%��ڃ�vhR��+g�>�8� ���(���:VidzJf:��LH�u�1t$JC.���i�P
sw���H�C��Pa�v�Ӎqu��D��L'�p8t@XF��")&��1�7��T^��q"��q��t�����S4-]�c��}䀆.�t@����iyJ{���e_9�Ὕ,�n�]H��j"[m_N�?Z��߈�@h!����.�Y��Ƥ�XB#��I]7�
>U�Gn�XN+ ��S̙�{e��.�Hy����K�D4Tn��j�v�J��.�O�
��.H��HͶoD�?cF�r>uĿXe��}с�?�m:x��1KX;��?m�jv���C�"�0�2��M���
�Y�+�^^T�"�ŬP^I4�z�Q]�n�K`|^M�R�B���I����˱���n��?q��Ob^��Z�7��$G�a�夥��ZW� P@������8�}S<�
��Y�C�
�~�*M}�\�U"�y���0ϢN�a|��ja�����E_c�I��%���
�fR�߱�rQD�n�~������\�	dh�&\��Bz�u�I��X~"��,�g7̎��d!쉯�	�������m�U[��1}L�P:�T�����Ĵ�zRވ!�(QS�d��%�k���h87+����j#�s����_����0�;}��
��be���S����ǾOE����i|�|t�2�>e�8_� ���{�K�g]]໎���m��^$�T�����8-9�G�_u�-8�&�@
7]6e{'ʐ����r`��~Y+���G�i󚎙��o7DH&�=M�h����EZ���0�7S�)ꡯ9!�
�@5�\uz�����H�ӫ���C����.rW�~Ѭ����?&2��Weލ��v*$�ҟ�7�>�b[1se�����J/��"�*8y㭄��2��_j������1�����q-�@'��������	B(��>�o~�`����X�ڒ4�@֓�}�އ4<\�3F��� T&sѹ���^o�c
7�݁mB5��P�F1���p��Nam'%�H�Uv7�xAndh)�{���Q�d;E�).!��{Xv~��LJʳ7�3b>7Ҭl��}HVp�Ҳ�t�&��+��7��W+L�.f4�0��HL��݆H+�R-jJ�,��И'e�ݮ�귢����s������}�@w��sUFF�K�x*D	>��P�G�&z�QH6�&���s�R\�
�$�#�H��2&��.В�PX�$�4Bq��DyS��/��4Cp�*�z�"�Z3��j��z� �++�ˊp��5�4)hBY��E�=I�5aOk���똍�d���Cie�{<-�F�&���
��
�0E�
�N(`9W�d���Qw������\�p�|�漀l>�]���?AiL����X�z/mך_\s�m�`z���T�	\��dT�h5�e��oNΎ��qx�
� ����]�1��-�thu��z�5�|B�aaO��}�����	��?C
+8>ܸA�W��tƶ�B�����w
�ZϝuY-�9���(�2nG���i<�;�Ș�I��`�e7��zА�N����JT��(g����x�������TNn5�c"��1�f���l�����6����U����{H�e˲�K=o6�^9�'Ė�r)�i�6�4��(��
��}3�{�w.�Z��;V��_�'�_��4���~�y<�K�^]5垀,��7����
M3����g@�#}�"DED�j��;`h8�,�2�Mk$kl�{G�Es��w�v�$�fUO�����{���1�r�3iH8,]&�����(��6��_&꜏�q:�A�
�IFm�;�D�W��Chryf�
<3:��pJ��4��aP&ΰf��t-ew}і�I��2A
�tQ�����5�E���1�����6ӌ�Q.�t���z�M&�9��!/%�>�`����vGr�8l~T��ֱl�r�X�,�$�9�_�j�fuMa�_��o��e�D#�S�Ѹms�܎������6An�r��TEY�|��(e�s���Lf�ǿ�Jl��	l������~����	��%$���_�`��
s^y�7�'/d0̈́�}!�ž����^�'٢�r[��\�q��}�N�{	I�p�ie�@%n`w�F���2��0�����ٌ�f�i�+E
�T�2�١���̒��g#��+���)�Q�ƳӒ��C�4��k.@3�ń��s�ד6?BwK)J�p;��mc��C1Դ�I�|4M۪�nv���
�z�`�4	�sЏ1�'	1Z~/c�B�'v<o#�O��GJ[��Ű��,�8K��0���MV���|e^����O�^�lF���V<�
q`ՓGDՙ]%�	����X88V��4?�(�$������q�d��@o��62���!��ͤ.TKeT޹j�q Q�,��ok�^'�еx'#���icǽ�����2~�w��I5���'7�ni^�WdZ�_}��7$�}��uZD�0i��$	[s�����I]�t��w:`�,;*P��7��ЈgZ[3`����i�C=MgDnT�){�ʳX��=4:4�[za�U��ݝ��}��|�2���=��l��ܴ�
�PI�O���5۫����wű*�#{�ȃi� �_���P����j]oյ@6�uN��x.{��õPLx��o�T�b,ǡ赈�Wz�P���
iX�*1z��y]�,�
d����Q.W�OG�?%�D�2`���}��}�"��h,v�}���Nûo�pr���/�Ha��/�.a��=���/�-�{?o����ff%C
���f�i�.�t^0�G�8Hʑ�3����~�q!�e�N�Ƞ�۩���ҟSZܿ'
# ���bh)2�4�U
�l���|�Zw�sf!%�t�J�cF��5��U}��0�)d��W4x��5�3��"���ؽ�A�_�]Ձ:a����(;P��l�$�w�M|��r,6��,ٝ��Wl֪�d�q�D��7��%��;�ݡ��oZ��'}��^�e{`#R�O�O������7��e�~�-z�_��|�+ֱRP�-F��NT9�ԘDvsWz�\	n��㈝�%>��ROd�6���ӏ-}�����c
*[�b�IF!���_�|��z92-�MYv���R�tռ�WO�·/o�_����
_!/�/1�iM��x��ЊJn�)1I�,�t����R_e����ŅX�Pq�.2.-����)�x4�1n���
�A90��a�yo�p��ҔJs��Fr�NF�{ږ�v7Dd%]<�M*^-R�?�DHW�-�|k�Yj�4�/e�.*��	?�ǧ�YG�'yJ�6�EQf��j�`�WSg��Rx�)���
l�It��6�����/��
�4�"�w5��̄x�m�5RL��.+(3֌���� :��[e$=�T4M&����҉g�������<׈�i�v�w���%USܓ���r\*�2e�����M�M$le���t��2&���0�1F�]Oy	U�c���E�����~��Ag���K�i�@��P(0��(�Q��u��`�܅FU7��0����b�{7�hi����4�
�:6��eA�{bSvD}�����>uy�޲�[xQ�k9�铂VZ
iV�;|S�j��P~�EHz�f	�@dž-,��l��>��4u��s��������tT�\щ�3c6�����G��/��&�}�~p"ʿv>m���Vrv�xs𡣟tj>�eÒ�{NLy?��#ݩ�yh��T^�ɡ)�u�w����;��ۄȇ6� ~��������ND�.Cx���W�����ơC�Њ�XRN핓5\9�XVo�fBH�+*C�.RL5=sʉ՝Ϛ{E]��x�&���NTf�k���+X4�z�-;��-�t�B���KV�J�#z��l�C��&R
��ǘGڸyc��w�4y���UT%��-u%���&P�1|�b����m9�O��Ɣ��r*<6���[���'���o�e{T�*��x�k�h:�x�^.���ϙ##~�b�����n�� �X}O�6�"��OӲBE��dvD�miZ��E|�CkEq?�rTMV���>PK���S�
��0����Q��lA�R�&������c�[ى�F�Ki��4��r%G���W���sb��*�����!��;6�ʯ�)�7Z0�v��+9V����0�����(=A��{�L�5������E;����G��n9c"6�(֞�b�@��e��;Q�+V�S�h#��h��x�f�L�7x.Jg��$�uI�3�,D��K4 O�#E�8s����.̕W���Q�{��Ø;el�e���%���Jީ�Z9\,˄C=*^5T����?59dW�(wr�}���d9�o��|�m���?uN��1�ɾue�#G�c�?ӷ���	L�g�2�U?��&f�̼V$�O�Z�e+�0���29m��15��X1�%:K@�������"�)�0�C�&�}��.6+ �}�S������_��ą��Î�5Y���qX���Ѿ��vGY���k�L�`R�.%>#ʗ�$dq;,.�&�U�Iq��g����+;/��|�u3�7C�F�ʀ�q��ul��>-^�����v�U[9~�xx�ЈVP��\����ן||@n[X8���>��˰�K�%��K�{æ�+�QWT�M�����̄J3�������X��Y�@gҪZ��ޑNMa�t7f�zi�u����C"1@V�P��*	�Ħ��!��K��wxDr>������(�3n4,
#�1�0q�
�}}�����<[���$HB�ݱx�SXT�*vĹ>�r��yU�C%��k�q€>s^�t��ګ�j�@AsK#s +P��X�l]�-!G�mZ~�BMa��&\�LIA���uS��E���
شHΞ�S��hݡ�r����l��Z��bM��m��0�_8�tNF9���=�qQ�wo�8�ˆ��z��'�#��u�2���$s�����R�c��]0���lZˣpq���A�L����6�h�$)K~�P�]�!�w�mCc!�I����%��0I���oQo�Q�%���(��B�bZP䈆Ӫ�W�A'�8�sJ�P�5@��<��ٍ_K2�Ų���T�i��T�*J�*O�
F�6��s�V�ಉw�����X���/}��j����\�<��
,����7��=7�93!dq&�m~�L^�3�=vq��\Z�e-څ�#?^�3��,͡~+`�~B����@`�+��͛7;@b̬z�=S��6�t���O�|���O�ѭ��.C��ϘQ���ίc��7W�(��L�3J���!"���.�3�ɆiB�
7��U#���͢�bM&�wj�s��츒���t�Έ��Y�6����T�r�����QdҪ�&�_y��@>8�u�4�����/#9�,��J�C �5X#*^U��c^�%q'ju��ik^�$Ȕ����۵,��6�@c�ihq��p��&�M�v�
�`�Q��J��,�X!��I��ϘY��-��%Y�_��J���I�r
�/[��U߿�����u��-#��@
tˊs�Z>UO��!��Ɩ��a��xT<˄�:���	`6�j!H�,�I��9��`#q�3�7�<�$���=2��gLѽ����4y�t7��	����Ȭ�5M��2g%�NfU��UQʋ����E�A'}Ɉ��~���A&{��D�����o�������w,a^�Ga����ԣ�k�'�K���>G�.�-40�1��� �y|��+uG��F�X��(�J)*2V��4d���F��;�X���4'+U"T�$���O���\�%,���H���{�-���$�1��iѿ�s`;��R��<�����P�0OЫY�t���k\���6����J���jly'FdNU�e�'�t�(��ҟ�$�)�x���'�wݨ&H�c��*���Q+oqZ�ګ�+��Ut�����fg�y��v��mw��:����e��|�˩3�~նʰ�����!#F;��y�~�`��[�P<���^㼞Ǥn��yEB-�Q���ӬS��.���*ipT�Z�D��3��"��PO�~���T�Y�=�/^Td"��1��!j,)��.����(�TɁ/Q�ЋC��Є�H�
�1�߳Gc��?eE77��,Z��Q�q69z�Q�֗�cx�
WM��HR;�:2�Ş`1�B��Mn��t'A�c��b���_ϲr+gVh%y��!�B��b�r"�ˠ��V��$ޢ�(\M��F_Z)�_˄8�G=�(�E-G�]U"����1s�5�Dl��~C��לg�LF�
�������Q�0dU��%*��F9�'C��#*:6�T�{ʎN"��6�E�;(��i>�Xڛ�"���3Z����혔9�[ ��*�z�b�,=.Z#pͪ]z�D��	�z��ܸ��͡"�c����I,5��(1-/��G����-�Up�j�-�8����~��@/�ڒ:���l9��
��Y
�x5g�;3/
�@J/n�g���1���t�QT,
��!��iV�
!��4��`�
�P�(�c4�Å_j������Ц�/��H���A.�(褾���F<.
3��g�,fnq����K����U#��z����\�:��K1:>�5�`f]8}��
يa�{�6a��m�e��~tV�B�����WP��	Q���_�V�PC`�h.j�o�T�O�����I��9��v�Nx��KQ6��A%����e'��m+P��|s�#�th��BN
�a��uX܂���^.�r�l�P���_���*-OB�Y�5���-8:lG�v����0�INI��[���(��N�2%�{s�|���b�߉���Ў���"ի���H�r��E*����I����$V�}�
�%���ۭ3��Ό;���S����r^�K��3J���'G=�����)cف�Út�	=���j�H���
8�@��_^��2*�[V���n�M�!:�>�o�o�ӹfw�i��^����3KP����w�Y
�v7s�����y�J�ǥ�qfk���v$IX2.�MD���9l���~vr��{�Mx�%�t�o��H�N�tq�Y�K�f踫�ll|���LXq�j�T+蜕-��0Ao�p�m�Ԝ�%gkǸ�ڋA(&ԣq�
dݐ1�|8��]�&1Z��=��Fl�z�Ҥǯ�T?���)��{���<C5Ȓ��B,������7M���=*�����N�@��xd�����P�V�Ҕ�!a�D�R��k5>�g�z�d�E�)
c����	D�I'��Y?߶"�A�
y7�Ɓ�����ߖ�����O���/�zh��b�,c#�+���|�o�Z����>�����~�3f�3�gc__{�����!��]zܖ��Ҏc��ϺA�l��ߍL�f�q�A�F~��)3oꗌ7�X��P~ڱ10Mƒ���2���2�T����񤋬n]�m�-C��8e�/�����E>��
Q.y|���¤m�	)Q�wrEj�Յ���&	���_k�����^A]��	��
kT4ڤ
�r�>۱����&���T
�I8E9�b�[K(*ڨ��5�k����7��-�[@��삾�>c 4fS7@�v��$
���Rw��!��Kn��#z��6)Ƃ�%�Ho!��*���xq#����|��LC�"�M{��T��X��q[*-�+��IҍZ3s+��.���`7�j��I�o�|J�3MW���p�ȬF#�8�Ü.1�|�ߩ��� ��d�2�uE��Y�u��q��P���E���i7�WƱ�u��h0(�tzހp��c��h<D�G2�Q��N�e5�B�[$����ڋC7Ϭe�V��j�+uI�U���'_F��4;+V'kDb$/��OM�;�È���D�u��~��}�F]���༠�sI}wt����M�=���Ҟ%�)3��U6� N�v�[��1پ��;������Gb��N?�>��WV�Ie�!W��*���n~����n��q���k��!1�ǰ��^�k�
B8�ô��1��}F����_M�����P6�$	�:���Ot�x��&{�������W�-�/ُ,3o�~��T�7sAY�Bo}�,�]d�>�yTRq�h�C���q�ҐX/�F����j�����	�dBq�96���"y5�tM0�p��K��8�X>� Q|4rp���:L�]���(�d4' ����x��[Dn9XU�+�
diV_�ꬻ���I�ĦG�|��w$^��X4>^��yp��*j,̯� ~ЖX�5<�;w�M���g3<�{����;�
�޴X��SQ�O�� -�~U�'��B�B�Z��^�c�u�(�K�BͿ�|��-.�~ �6U�[��

�TH�#�I��j�:���~]Y���y�<tx3��5d�WN�i5G��r��_��5�E5�
h7��K�ym�Q
x��3��^ v�^��'�j�}0��	�ɏ�1�t�dq�^f�*�d�GAϪʮ����W�����歗�i�b��;2�'��ТA�}^�1dc9�_�����
|Rk����4ie��o�E��ˤ+h.�ѦC�r�����G��E��F360j��J7a���IJ.����śA�^K(X9��(1�F�t�������Q�c,gW����@��lĮ����l\Lz�O��(�P��-��{^�N�˵	v�
ݧ�?G�I�)�(�+��\.�m�9/	���Om��\W߯�r��m��߀�15+Fs�+�j��y�b_��7a�F���^kn�d�ۖ��w�E|V�r��$g`\��Qi��HK����0�Y+�~\�8E޴U�M�/��U���z����3�c�.�y�t�B�R�w�P1��lnc�n֛�d�>��C��0`
�`�KF�YG�������ok/-�V�q�!˶
���;�5H�i
X��T�
�d��dm�{���`zCj	�����w��dU�-!���df�'~����)6��s:�Z?�D���e�r���p<�N�[h��I�O��q�~O%�C��_:�wF������vHe�%�Ye�������j[u���#�+���}��b�μrkHt��h��1�5uUŷ@J�z����W]=���wp����E`�=��u�x`K�*0he��E����Tg��1��.��:���?�G���Z��'�#}�ח��߂aJre]�dBH���ڰ��i��|x*��0�Uy���ȪG;��w&�S{'��~?W�ebSJ��K�!���.m*g���U��/����:�.<��V6��p>U� ݇�	��p�^aO��@ι�^Z��0��I�$��":1�RM��)�G*�>F�2QWS<˾��Ӯ�֠�/E��IL��x)����"�j3�Eϼ,����a���dP&ȷe�E�zkkp�*p�:��f�'+/�>����Ӣ4�Ϝ��d���k�ePS�����qF:��%��b����&ҧi�>�sy�;U�qa�n,��}�S1m����=���=�P�&ޟ��jʱ��\��;��˒��,1�5�:�h�
i�/+��2�d��mW�CQ$��[y�ujU���W*�茬�Y��*�{�KQ��%�X���L�v�M}F�*?�������`��FBk�F6�^Ko��\aF�1�9�}�t���,^/��qO,�,��=����7"<��4��D@O3��d��o�?oc�	iy��[̶�����zc���{�q����)e^�'�$k<��Ό�y���K��~�����iEg4��������P��6��<���>�8�'���=�M<���dخ�h �x:/�R���o�Y�ځr#=}�5��ZSz�cV�!�>��
2�x�	x`.�Au�l�_(���lU#���B�6c
!�!@�g�(8Ҳ͘�N@<^'c���c�ZW3-���y|L�D��'7�|%���Zq/}`+
�#�C՗��oN���]�s��e��_ܪ��Ek}Y��Xx�+��b���m�7�D��N9F�ҦiMS�lcI�_Z=��i�^���U�?�������FW��.y��� Y4���B�Ftxa�yR~��AGb=�<Q��(�v�\��!��Ę=�IOd�L1�ǒ��bHfP���@X�3�NR�!�OTU�b;i�L�Ȧl���O����!Z�S��L����JM�~Yz
�=КVY9��zwFѱR���X��%�ۯ������x�#�w���}6�dOn��eo;�(\��Ʈ��i�]��T�n,�2ַ#N.��+�&��m���q�=z�)�w@(c����R�Dv5�к�<�T����K��u���'����	A�j��7T�P�i�.r�����<�~K�^JCp�᪘�N�f�G�$�4�*{��g�ab4��'���K����4e��Z-���]��ueK��#�Wh�Uͥ��YK�Anm�{`�c�Ƌ��O5�Tvִ���+�5�{�}\�,�Ѐ<���j�QӍ��My��@�L���6��եz���I��NO2("(��/O�;ׄ�1���栓!$&o2��۫��|I[d�ZL/1n��^uA��͂9�흄F�\�^��.H��Gϯ�5���DN��܉n�[8ǔ�C��7�	�5�b̛�a
.�E�=�r�o�@����X'�����W��#=���W���F�7�����$�8f�u���Q
�4q�)"�lP���U��<I�f
>�J+3By�ߍt���T^h�$�~k��ۚ�9�nPPU��N�eׂR?�
�#���rV.I��v�F�­kyD�@����du�Zͅ�_ϑ��9�9��w�Z5��ng�4���S��V�"u���SR�',���
R����?C���d�mY�G(����`֩�*��KYj�~4h��j����?��
 ��(^��l���]�'�d=�R��	�K;��N���:�|WX��|�,�سY*�c:E|z��vh~��>N��"����ن���K�e���q���7҂)e�M0p1
�����璱�'{�i�i��!���6�}�C:���=y��}�U
����٠^��<�Y�U�m
�R�J���J���
��RY��=��5���6\5�~a,Qf�<P%��@�tz,���&KuN	n�K_�����ɩ�;����X��}�=�V�-�E�%�Lp���vq�!��x�	I�!
 �4I�J�����}��@�#��r	�"�������g��Kь۞�"24!���o�:-:�5����j�)��B��B燬��C�W�+p	MȠv?��~s������,
b�݊u��1�Z�ԫ�9U���$�W�,Q[AJ�E�K{��,	�w�Gmi;��eގ�0�#����SuPΖt����%��?�e����Źy�I��֜O�[i֝��*��.H+�7I���Սߍ�2<x���J8k�6�����*ױ��H��L?5A~��k��É��������o�S2q�#��-�o�^6J&�M��>���3���{b��C�_k�,6Khi2lj�K�iK�h�n9}
^�ݒ8U��|d/܅��Oo����Y�)�����X�exB䭈�<ux�z��CF��K����t�372zFs�P���q�����#_��kB�3���%�"L��`m�Wj�C��,���B+tO�>���6�q}�_NZͻh�[��7VC�N��ԔY���W�y��h�D�u���J�8ҍ�����(��ꝯ���PJD����Wۼ���L��~�l����(���͖Ϲ�ɥ\������:�zJ�t�CJ �]W���T`�yD':�Q�m�P��>'���^,w�kp#ݹa�xC�bt��ӌ3u���O�\LٖP-�J�
ݬ�p��l�V�Y��,��a=4�
ap���f�m8
V`��@>��z�1�sx�w��l�8�����eNR�����pZ}/�z�/�1�1`y.g�����"���ҁ+__	�v_~�aß_$��=[x������3���H�C��6��*�g��CFH��~<��9{,eĭ�P��⻊1�z5�'�}�-�T['U
�?�Һ��0����A�4�ȉ4I�wP�޳63�1oa�T5�խP%�x��4�GjQ�?֣�G�>y��S��S`�T�{���(b�U�l��t[�	wQ��!JDI�ȥ�L�c���"L�-u(�5����j�Q�N�eӥ��l�v��`h�"���*Q��[�I��.b�l*����L�P���%.a��,K�"
�/���Y�D�9���s�Xmw%��e����z�G$¨m
��(��B���^���)ۤ�o4�{X�w�m?�D]Ȧ�����)s/�@Tr|�j���Cͺ�%]*�6*9��F��d���T����p(�����z/��(`o���鳘�~��l�E����T���<��xHZb(+k���S�Ai��Y�	^]������/�18~�I���!���
�1����Μ�gS���󞐶L�sR�2�I3�,Ҡ�-���㪿
���uX�y���C$�� ���C\�Q����m:��p��L�%w�}u��8�	�?�u��Jm��{8F%�\̕u9m	��-{TS�	0CV�j1��P$�~ګ���Z�ad��̃�潗�L�j�L5��`�׈V�B�]ף"C໾T�2V(�{�74�`� �s�&�ŴH��8�9�Y��f��D.*E�\��\+��Qs�D\��ȈD�Ҙ�[�Y�e(�e�l��6�$f=�Ii��*��|fG�jŎ\O��F�$|�*t"OVw��2TC�@�4Wš�D�1r�B�5��ЯVz�ч�n�U`�2#�(4�7��i�W�!ii��}�_�.��\�h9lx�=)�Nʂ1c?OG��MXWK<�V0���:���V7͢~Uy��Ui����������F�k����#�1� …3Ĕ��P>�X�ֶ�O:{�w�Koղ�7"?�{"�����Q��7�CzM:��,��\�d���I7?����]Gr��}i�A�شՠ~<<����8�,hY.mu�U��9����*?�W֦`�x�B}��ʎ�ض�: �{˓X��F̬��DiZ��#^XSIL&Sn�+�j�l��%�N5��6�od�{�r�K��Z)���J��
Uϓg��*�Ұ�u}��!��?�Oy�&ţ'������&���emGA'OkG�B��^�9A0����g�H�K�dr��u�1#�g�/u���d?�P���U�i`)�o�uc��s8���s�$����Cz�g��i��$
�2)�7�?\�<�Ґ���ep�;��u�·�zwǁd����@Ž���0�,mz��pUu �W�U��+�]*�S{�,���阕�
U��B�.�t&ۚ@�7�\R���I倛sv��xQN���FqȈ\�������=x+�����o@օ=R�~D>b���G^܆�'9�*(3�ȼ����M���oL�װ�����	��>s��������b(�$Xظ�ԍ���JN:��CtP�������H�7�u�'�f��
m�	S�Ȗx�2�R���!�X�c�j���A�9"t8g�|.w��9]?7_�p$CL���&B:�혝�wi�bsY����t���.Jzs��=�Z:���d0��1���Y��K�LY�g��b/7���%R�>I���,�Nau�=娝��?���5�5Ca�U+ZWҡz�b�b:��R�P���Ͳ�o	��M�}z�_
��v]i��L	КM:v7!Կ�
k�K�q�B5Ĉ�) h�ǿv�G@�(Z��Y}#��%
���*Tx�4�Rk��ʢ�����"�6���	W;�hBSj7�����B���g_��3�ݹP\��<Z͕�z�r�|ϕ:�Dig�&��������h(9紎�kw��d�?���S�u�д�\Ӂ�]���J�2�h�+"D��
Y���lrX{��ËpY�-�+^��ƽ��'d3ge$;H$<�%���	���vyU�]-�N�&���9l#�ᡖ��T��.�Р�m��0Yx'��d`MS|�B�	E����3+/-��ճ�N��^^l&ke��Q���2��{���j��NsY�;��%s�Xp�$h�&ɯA=�P��
�7�֮Cc��@ퟌ &�?�Һu�cؘ�5������!�T��|�{W=5�Q��jE���xom?������Ʈ��R7h5ΚY�5in��;g-8����M��қZ
�pQ��{.t�U�A&l>�h|0ڤw$B��bHE����g�1(Y5��2��G�F�q�-+Ԁ�����b.�糡����:�YWA����o�3� ��e(�e�Ls�G�EG���	l:.:=����b٥�3�G�:�����hq�W�g��lʥ�Y�W�FX�?���q����N��sF��"<Q����ES
u�>+���=���D9��f�T�q;�v=k�V�a��<��E��S���R��v��.M<�M�'欗�
���
r��lr&��f`��.�?%f�
�tڲi���G��ȃ�.��9+��Ǻ4����M*7�I���ܲ�Y�-+u>�����d0`MdH?�s��X��E�I�kq�)�c�����B��	���Ͳ��3
#��Uo5����?>pAf�R
d9��u���h3�'���<�v �O�	���
4Y��2�y�n���$��ׁ�w)��N��1��Tm�zZ�2h�����΁�����ss�#$IA�+pS'Z`���G��"��i7�[�Zt6�J�F-�x�<�;�i�+�~&��lè�^S�B2��`�i&ˠm����j�6�k�
�"�dZf“h�����v$�Z]޼��|�iK�B�R�E�;*�^�s���%�PE�)`2�}����+9,>!���*��906�.n���MH��;��Qqn�Ρ�ȲZhM��aQ��p0e z��h��X�����q5����6*�-uKg<�+isٮ�,s/ٵf
c6w�yiU�������s���y�T��mf�)�<�$B�X����yh}(S�}j��=��@#�R�3�U@�L�t�y�]XYW�8I��ɱS�o��j4����p�0�}+-�*�`;t>	�+5�s8���]֞�J�fR�|�Ļ�W�����܁�h�S�G��opf�;]_�˴"���Q�R�ɌuBݕp�/{��<!d��x�hm��v]�8y��z����J�j�?�;	�m�f%���-��$L�Dc>�2{�o���3܆z[1:�Ɠ�d��ޔ����������g�‹Z7��e}S�+�D']����-��$���D�	^�R@O�7�;M�ׄ��&K�}�x���H(:�Y�r�ms�jv�B�g�O٠r�t1�����5�>�ks>�ß��~���"��ÌC:|��������r�D�}}���Z������� ��v�ۯ��e�W������!��d`u� ��T%��
@Ơ����Cf���ă$42���԰�4F� ��g�����J:5a��6_삑�c�@^��ե����mD'o2t��klR�(��\�H�_��<��������RҜ������Y�Ѭ-㘐
�ttr��d��7o��d����ඤ2e���o��}1ع��W���;�l2$C^З�E�����2�=v���7�/_Ԛ�p�	0�-6��u[5����VƓoO�֓�
��V$ƾn�q�3|�h�6je6>g���V�`��p���(�̤\�y��O�J�~�BQ&,���gb�ņ]y�2�4�'�k���o���э�W�ö�C~c2ᜍU��c���`�ҥ}[}s^GW�M�a���@.�b�ٶ
,���%�_���&�BR�WVX�i��$i�i	������)�T���]���u�LJi��lyX�A����s*پ;H_���W�
����rV�79�=�e�^=_�C=k����Z#CJ���q_����)(�-x%g��u����Y�ӄ�����������p$�t����#�|�k�|�q��*=ݶ�z���`w�>��v�7��xe�W�q«�˪�2���K>���/�4��M�-��v��u�s�`�Y:Qo�^h�x�̪�(��i�m��X�Q��s����F�m�kKds��v�Y��x�ԉ{s__F�h+�V�u5�$����Cd��C�|t��߽���c�?t�����Tg=dg����whc��A�s�x����=p�~�Ј��d�L�á�s���Ώ͝۶s�o�;�ܦD�G���9s�¼7��c�8cHDsv�&��36����C���g��*�m]o�{Ӯ����g����t�XfۮJZ<��j�y�n���+2諑Uʸ�8�~�l�\LZϨ�g�}#W(m�+�����W�z�o��Ϛ��ITG�"D���f��<6��A&�^�%8���
5m�C��t����-c�ځ�C�T�~+�~�z<7��V���g�ok�x���l��&���\����YX�=`� �Q��ڋ&�����&|8�
*���&����{/������&�5b��jvm@~�#'%�F`@����(��%���;�"J�栗�B��T�V �5�;z^<=;�r~�]t{�ͺ��'���J}|5mk�K��4-rw�Q�n��G��r0>�y�dQv�rP8(�(4����+�t�J$ �V��E�LJJ\��1g�&@����I�N7�ՅO�Xq�뺵�$%rL*�
���$"%���6Nk���9�Hy�|���i�c��;�rs��+��i�[�Z�ϓ�i�֊�I^h<-��H���E�ŋ��j#{�9Tq���̤)d7nͪ���Rc&+�IP{O���V^� n/��UR�Բh"����_(��UE�I��Ts}�����'�	WK_Ũf�J�$�y!�v]��1"M� ��&��e����g(�Kg����7��߾np�=�$�*��.O�I��Y��	�2c��n:�D*2d�N�#�{�'rx�Qլ)]gG�̜�r��\d$��e�J�<O��	���d�"Iכ�Zr��۔^~\�N{v�*{��&?���[�H�prJWI�h��p
v ֡�T��ƥ^g���&�Ϲ�t�2H��4gp�����V;��X�� h��ܠm	��P�rzAshi]��II�*	P��I�=�>y�����*����"�\@�K�'�-��W6{<yW6�� �JL��)&4(���\N�"F��1�euC*��6�tڊ)��/;��v���2���z��1�Y�*a�
�ժ��1��x�2\Y�T��zTN:�M"S�xU��̕�
5��w)���q�{s^��`]��֫�^��;�����"a�p��d�������
�d��sn�7�]�3;�a�O��{f�L6�\k�qs%<Kl�i�.���+VNW��r")1
N��b,�xZ+�j���P�0��&�����9c���H0ǟێ��dT��.P�P���J&Z��^�Q������-��*ʳS��;�ҙv�򐙤�̼�ѐ������
x+�N1iaG��t��#�C��[^E�T�n�x��a9��<���D��@S�f���j&�f���]4_��SS)k�&)��r�X��Qq��ٛ38�1���OD�kX���x��Q�+�>g�bP��+�w�מH���Kv1E��2�pn��Cu�j#�z�_r@�߳(rEAY������l:�î)6�@��?x�|��~z�l ��>v��.�d��P<q�?�k]���a	����ߗ�5�8����A-e�����Aq&�2G
�i�^k����Ҥ�	�,�"�g��q��J���i�
�}�#*(�8�|O,h�spN'�yeXG^@(��$'\��ݼ���}d�^�y=��e�NB��@*46���4C���K{ǵ�XiupHU"L)��i�_�������T�+]�� �~�A\���ta��\('�`�tHiH�
~��rۏU7np�{8+V6����:�	I�Żk͒2��{60����|3���O?�>�pl�gK�d�	�8<r�����A��c�.�z+ӣ�ʱ|�Sp��f
��Y���vύ�WD�,�j����L-:��	��~�f��s��U���֮-�F�R0������0��Ѥ�)�`�SC�����k�v|�_�P����o0r���f��k�=(��Q�^Y*ߙ��M�	,�NP��@�ԧ������V%|#W�b%�l�����O���ϟAM�&\)
ՕD����T-�BT��w�����_ʠ�L/��c����Ȅ�}9>�}�����܀�PZD��nK*�	$��@ȺeZ��Ո�&O�a�El�T�d�`]/�xPė�CN��x˙j�鋺T{^l��7U�΁*�Ѵ��2�ۃ7}��i�g���B�n<�a-��3h�dm�Xǝ��5�09?�Ie��N���U�&� �_�����y����T*���UcXIq!�����W�_��Uy�0|�׶�Hj�~��)�0�I:���8��a�Tž6A	�E��ϼ�J���Hk��Z@�In��-Pm�z�ΰ�Y�Fa��,�6�j�Oz0,浽���U�i9-Ӂ ���5��YeQ�`RՁ)������
<W��D�&O��Y��j�64��!��Z���,w{׊�
h*B����.&��؊ƬҌ��Q*+���9�dqĬZ����]N��pZ�M��>,K法e�_�F�������Ջ�_�<;���}���M���I����ZW�ffE�^���Eת�܇¹�8,��+���;�X�*��
R�A�Yj�#�l�\�=���}����IᲬ�#��L$N�Q���:%���L}��7t��\.�&me��;Y/<���_�����iT^l�npC'�1g��X�$X}��~���
u�sV��Z�J�Yn��k��e@�*ƚ�Jݱ���_iU���|�=yJG�#L�f�m����%:V���	��vCe�Q-�R�V�Ɓ��M����b@99U��uU��/Aݪ���{��S�=���bE8& F����>WT�czg����sQ]�����B�Mcp-�Ū���ml|�o|ÊP(��wV�s7(y@�\8s#
̣�
G�\[<�*�5[��$)By��'}<g ���J�]�s�{H�x��������;�̓ދ�+�@�Rv�cE�RZ9yj���z���[=xCʝV�D�����%re�|�u���J���<�ϟ�5w���a{��U�ԏ�J��~��>�������������&ŦZ��K
ϵ�*�f0�MxP���uReԘ�߸�T�6�-#{�4���-�N��
�2I�Q7B�x�>xu��5�3����礪[?KMΟѭ`rή��+$�\�{z�jp�Om*՘΀�2���3��{>x��K��M{�,�=�EҠ5�qE�b��#d�V��B�n?����Q�@�R>kDD�jV�5�%A�v�Ԓ�i@I�c<�8�%�^�4=��e��x�L�d���hE��L(�'�����?���T��|����r��B������-�iE��5�Q�?t�/����դ��P�(�� �ޤgp��z+���Hy��2��}��e�o�*�d����M'�o� t�tP+�7\5��ˈYMK�Y��	��J�"��@M�[8BQK~|��t��D�?��.��u
�11����߯W�E����z=��T0e�#�m.Ԋ�R�y���b�w��x�fV}�9�������9�J��i���� ;V�.Ԡ�����p�E��`��:4�,��Cr�^z��PgOI��r����]�s0#HL���g�
񉌪Z�:�9N���t��c-�ӛ����E�h�V�*��T=+�~����ԿgO^�=���7�%<,+��A$�'w�V,�{hc�}5�#���B�1ɢ,x/UZ8J�߆r����h�(����*+�Nń�T����>PPZ�*���V����lҫێD\��t�p��~U��BZ��a�#��MB��a^�8P8�
�saz������n�NцJ�N{&�hʿ���]��j�W�7V�b=a洃e�xЦ��&�:��Ȯ�OiL�S�j�f��a�3P8���ő�;Q�\��n��z"F���ip��!�`���R�4��̧����L|
9�"���A�$ė&�f~��8�N��H�ixɧe�ӡj7�GȠx�C,ݣ�_�Ph�.����g���*�R�Q�eaE)���B^V�����)9�π4C�^(�8�2�3�(G7�bX�4s�X�G��x3��V3ޝW�C�����<�����d�MH;�g��@c���BbI�7Պ����A��yxY��iٮ�).���<8o�<}��'/��D���l��X 1[�*Y�Z�tk��s�^×Q�<��31��mE;r�*SN���]�v:��x���lF	+Uz���zb��R5E@^ʼnd�05���4j`�!�	�+�`!�0���P�0���h%_�@���	�G��A�5��I1���FW#I�S'%�5�A��Z�jɚ�G�������9����D��Q�{�a�pc7��I�8(
�q�^�0���C%��zq��X�L��5��	�C�����9�wU�B�Ń��bUr�7?E�7�d��>]� �f���r;�5��X�&/m��*�V�$Ӏ�wX��.(ڜT�r��ڍ��h`+#-��K�\LD���>	]�/j�~���
�򶌜z�@#Y�
�l&"��Q���XU�$�A�L��c�ؼz
�1��#f'99=��:��b��)݀0�5{�#?��zG"w��h�h3�d��Q���#V�ӞN��w������>�M,K��β3�8�{��I�ܱO��pQ/�?��`6S���C�yj��$��0V��G�E�ڥ��+�u;'֠�+V%U�j9�z�}���]�"d z[��2)jO�����d�S�_�
2�P���4�0�B�qVb7?������o������*��x9e��+%�Dg�߉�R�<"ˮ��Z��Ȣ��`�@�&=��a�ez�Y�ʃ�9��廞���ߜ}��+D��ϣT�m��ś���9;���-���Dw����ܚ�N�V�\���
�9�b.�$8'R=)+&���^[W2���#�+�_#uIf�n���4��z�T���3�p5��j
����3$vc**�r���1���/kBįC���D��L%�j�!"�� ��P�}��0QYs%�bJ&���N��$��T��B3R6!s
���J���K��=������T�6F��x��p�)/��"�b�Mj�䭢�U�<*�Z�[h�ѻ�ai3��b�4���氯�mz:d��<�SF@M0^��^�i��B)�!!*+*
5�ܳ"��	��؁�7��x��Le��Uh)�����$���Yן��ڳ��w�Ԭ�NJ�Ӽ���⥩��T��'>���~�k
;�=#;z!7<SSt
h
F�J���C�;&��\ �i�t04�=�
WX'���G��ںO]~�\��#����j�h`�׌�?�лݐ'��?����@�g0���S5�j�L��zr!o|ʘWs;"S(G��rKpI�]$�;����5�q5�#����RͺҴ���2sY<!��5�
%��
.��J�!�`��#�.)B��K�#NT3
fY�����������rE\%Q���|���Q�VI��F�g��t\.�?�F	��c鏬��\ c�v�&�=U�^����$Bo�[+�`cr��̉)�u����e��q�3T�d�=��*���k��/�R�5[T�(�)�j��ͺ'�+/?ɨ^6�k�~:�3�tJ���`�Jޛ@��БYiƶ��'>�M��Ͼn
��ؗ����N����qb�Y$ߘ��7��i�l�D^n;�R��-#&6J��ݯg�ցB����WI����,L�iB-��]�@��l�/��"՝���A��H}�㛆6��8E�.�3cf+��=��7Yk�W2ݼ�Y>�8�,�*4R�O�:2zw���A���f,+��o�>?�;lg�{ng.>��b�{G��������=�!卉���%gyo;����im���vB�Jb��'�^��)&�D�%b�r/�*Z�2<Ϙ3Kg��H�"9��C����H�'�δԯ�a����RtɃ�^��¨ ���%�����ld*z'�Ïer�]�ҡ�W����P4K�ދ�A���K��{�|��>�?u������ ��rW���S���R��X�t��	oCS]��-�J�feJ	�ꀘ��F6k`#��fRި�G�\傔��Ɗ�_��%k4��?�,�*�Rm��<y-<�z4u��~���ѵ�,^
�h�_,y��H��7�_?*N�F�c����^½��CU���Q��ۭ|G�9
���:jg:Wg��-4?%����ƣn�Z!�(L��n3e��k�������{�q��G����&���j�L�0�{S(s�j{F��H�⦍��e��
�:��t^�NjΥ��&�?�cB�.�%��Ī
��|fu@\riaE���vͧ�@b�����fq�j���}c��O"��l�>1-��!r���x%�> �µ�{l-�PI��|�ä��OB�t�j(��h/Y�ͱ�*�
����w��ƼN���a
���g	WYL����6��p��q�&b�D�N�T��l�	c�N�5�uG1�*�J�o��/]�2K��}p�LP�|�p��U
�Y!�@�g����{��{�o����b����{�`h�t�_x��x�$��C��ͬ�Ipòį���ZJ��;���ʅbu�������O��gO_�/_<���P4qmBDOO�r]����o�_�A��_���oο}���ɷ�?ތ�<^���&Nx�hd�h�\+j�����,~�?��%�_*,]d��_lF��:��_P��Y�1��,��vy唟'Oh�N�OO"Q����H˾�z�pj�<?y��ѡ4SE�ߕ�m��ŗ/_=?~��ܬ�6��W)�����*'�2���*x���o��9��_�W��:k^����m��N�U�$*�ݲG1Z5	�p�_?�~^�M�6ٟ�8�W��R�b��ީ!:d?�¢fAvC�g��cE�_�����QI�4">��g��Z�'T�L���@.�T�&��_��B(�F�P�V�p��vQ�jmi����GF�=�F�nŜX���X\u��;%]p��
[/^��¶N�H_��Z]�0ؒ#�X�X���Nq	�@��LS��Rj3�b(F\���d8���=kȒxC���x-aH�=IqQ Eul��X�@_��U�)��j@:�T�*<�n[>	4������S�9[&�s�)��#��n=����S�t~��c�Lt�W����>5�x��\�T�,�P�@8g�n�H$/�M�%�y�G�׬ 4-�J�xMz��1��˕cl��6Py(�R��6@K=t��7g�nH��?��'�I��D�k|�g��e��`�A8Rl�xڔ�c�}���;���w3I2C��P�%�g\���<������?|v�1o��b�K�щ�������+�a��]�M[�fh�dO\��i*����b
}ޖ���J�����q�$��Ih'9�	
ͥJ@���O��3�W���m�7uB>���n�R�R�"@oY�I���	P�r9�F�
5�"����C�(�b�t	�8+ɂXS���9�+��d)6�&�pBJ+n`V'Zt��2PWK�.=�k-�D�Kv
�ڱ�`�&��.�a�I`n����iM1�q�np˭"�k?7l���Œ��u�
7_�: "�܆>I�.b"pUL�~������U;�>��?������L�:�?6-�s+����umO�lD�f2�L�iLڎ��zf���m�)A?��2b��;�Xs�s�Y쁽�d.碷��sHG*��)ߞ����n#���N��Y]�O=�i�-#3y�7U��|���݅c�>�r�(X��5Բ=O"FJX�׮E$D�v]�&"\Z�il��բdR/����n�x�A��46h�x�3r���(},7�C<MΌ�V�N��wu���g
�bY
���:���Ue��)-K��Օ;+ukN���)"��u�<p�,�"�M�\1;���X�+�t ���j�D�峳�)�n9q��
��骆�5���@¤�ȁsO����t���~�?���PKk��[���������litespeed-cache-pl_PL.poUT:�Aiux����PKk��[�ꔂ_�����*�litespeed-cache-pl_PL.moUT:�Aiux����PKk��['�o�w��6����litespeed-cache-pl_PL.l10n.phpUT:�Aiux����PK ��PK`^�\m��N�N�%translations/litespeed-cache-es_ES.ponu�[���# Translation of Plugins - LiteSpeed Cache - Stable (latest release) in Spanish (Spain)
# This file is distributed under the same license as the Plugins - LiteSpeed Cache - Stable (latest release) package.
msgid ""
msgstr ""
"PO-Revision-Date: 2025-12-29 15:17:22+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: GlotPress/4.0.3\n"
"Language: es\n"
"Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)\n"

#: tpl/general/settings_inc.guest.tpl.php:66
#: tpl/general/settings_inc.guest.tpl.php:70
msgid "Sync failed."
msgstr "¡Sincronización fallida!"

#: tpl/general/settings_inc.guest.tpl.php:64
msgid "Synced successfully."
msgstr "Sincronizado correctamente."

#: tpl/general/settings_inc.guest.tpl.php:39
msgid "Syncing"
msgstr "Sincronización"

#: tpl/general/settings_inc.guest.tpl.php:38
msgid "Guest Mode IP/UA sync status"
msgstr "Sincronización IP/UA en modo alojado"

#: src/task.cls.php:268
msgid "Every 15 Minutes"
msgstr "Cada 15 minutos"

#: src/guest.cls.php:66
msgid "Failed to sync Guest Mode lists."
msgstr "No se pueden sincronizar las listas del modo invitado."

#: tpl/toolbox/purge.tpl.php:110
msgid "This will delete all generated Viewport Images"
msgstr "Esto borrará todas las imágenes del área visible generadas"

#: src/purge.cls.php:393
msgid "Cleaned all VPI data."
msgstr "Se han limpiado todos los datos de VPI."

#: tpl/optimax/settings.tpl.php:34
msgid "Turn on OptimaX. This will automatically request your pages OptimaX result via cron job."
msgstr "Activa OptimaX. Esto solicitará automáticamente el resultado de tus páginas OptimaX a través del trabajo cron."

#: tpl/optimax/entry.tpl.php:30
msgid "LiteSpeed Cache OptimaX"
msgstr "LiteSpeed Cache OptimaX"

#: tpl/optimax/entry.tpl.php:17 tpl/optimax/entry.tpl.php:22
#: tpl/optimax/settings.tpl.php:19
msgid "OptimaX Settings"
msgstr "Ajustes de OptimaX"

#: tpl/optimax/entry.tpl.php:16
msgid "OptimaX Summary"
msgstr "Resumen de OptimaX"

#: tpl/img_optm/settings.tpl.php:107
msgid "Choose which image sizes to optimize."
msgstr "Elige qué tamaños de imagen optimizar."

#: tpl/img_optm/settings.tpl.php:104
msgid "No sizes found."
msgstr "No se encontraron tamaños."

#: src/lang.cls.php:229
msgid "Optimize Image Sizes"
msgstr "Optimizar tamaños de imagen"

#: src/admin-display.cls.php:252 src/lang.cls.php:287
msgid "OptimaX"
msgstr "OptimaX"

#: tpl/toolbox/settings-debug.tpl.php:48
msgid "LiteSpeed Cache is temporarily disabled until: %s."
msgstr "LiteSpeed Cache está temporalmente desactivado hasta: %s."

#: tpl/toolbox/settings-debug.tpl.php:44
msgid "Remove `Disable All Feature` Flag Now"
msgstr "Quitar el indicador 'Desactivar todas las características' ahora"

#: tpl/toolbox/settings-debug.tpl.php:37
msgid "Disable All Features for 24 Hours"
msgstr "Desactivar todas las características durante 24 horas"

#: tpl/toolbox/beta_test.tpl.php:43
msgid "LiteSpeed Cache is disabled. This functionality will not work."
msgstr "LiteSpeed Cache está desactivado. Esta funcionalidad no funcionará."

#: tpl/page_optm/settings_media.tpl.php:296
msgid "Filter %s available to change threshold."
msgstr "Filtro %s disponible para cambiar el umbral."

#: tpl/page_optm/settings_media.tpl.php:290
msgid "Scaled size threshold"
msgstr "Umbral de tamaño escalado"

#: tpl/page_optm/settings_media.tpl.php:289
msgid "Automatically replace large images with scaled versions."
msgstr "Reemplaza automáticamente imágenes grandes con versiones escaladas."

#: src/lang.cls.php:222
msgid "Auto Rescale Original Images"
msgstr "Redimensionado automático de imágenes originales"

#: src/lang.cls.php:162
msgid "UCSS Inline Excluded Files"
msgstr "Archivos excluidos en línea de UCSS"

#: src/error.cls.php:142
msgid "The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again."
msgstr "La conexión QUIC.Cloud no es correcta. Intenta sincronizar tu conexión a QUIC.cloud de nuevo."

#: src/error.cls.php:119
msgid "Not enough parameters. Please check if the QUIC.cloud connection is set correctly"
msgstr "No hay suficientes parámetros. Comprueba si la conexión a QUIC.cloud está establecida correctamente"

#: src/admin-settings.cls.php:40 src/admin-settings.cls.php:313
msgid "No fields"
msgstr "Sin campos"

#: src/admin-display.cls.php:1331
msgid "Value from filter applied"
msgstr "Valor del filtro aplicado"

#: src/admin-display.cls.php:1302 src/admin-display.cls.php:1315
msgid "This value is overwritten by the filter."
msgstr "Este valor es sobrescrito por el filtro."

#: src/admin-display.cls.php:1298
msgid "This value is overwritten by the %s variable."
msgstr "Este valor es sobrescrito por la variable %s."

#: tpl/dash/dashboard.tpl.php:426 tpl/dash/dashboard.tpl.php:844
msgid "QUIC.cloud CDN"
msgstr "CDN de QUIC.cloud"

#: tpl/page_optm/settings_tuning_css.tpl.php:38
msgid "Predefined list will also be combined with the above settings"
msgstr "La lista predefinida también se combinará con los ajustes anteriores"

#: tpl/page_optm/settings_tuning_css.tpl.php:17
msgid "Tuning CSS Settings"
msgstr "Ajustar la configuración de CSS"

#: tpl/page_optm/settings_tuning.tpl.php:71
#: tpl/page_optm/settings_tuning.tpl.php:92
msgid "Predefined list will also be combined with the above settings."
msgstr "La lista predefinida también se combinará con los ajustes anteriores."

#: tpl/page_optm/settings_css.tpl.php:118
#: tpl/page_optm/settings_css.tpl.php:255
#: tpl/page_optm/settings_media.tpl.php:201
#: tpl/page_optm/settings_vpi.tpl.php:66
msgid "Clear"
msgstr "Vaciar"

#: tpl/inc/show_error_cookie.php:21
msgid "If not, please verify the setting in the %sAdvanced tab%s."
msgstr "Si no es así, comprueba la configuración en la %spestaña Avanzado%s."

#: tpl/inc/modal.deactivation.php:77
msgid "Close popup"
msgstr "Cerrar ventana emergente"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate plugin"
msgstr "Desactivar el plugin"

#: tpl/inc/modal.deactivation.php:68
msgid "If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images."
msgstr "Si has utilizado la Optimización de Imágenes, por favor %sDestruye primero todos los datos de optimización%s. NOTA: esto no elimina tus imágenes optimizadas."

#: tpl/inc/modal.deactivation.php:60
msgid "On uninstall, all plugin settings will be deleted."
msgstr "Al desinstalar, se eliminarán todos los ajustes del plugin."

#: tpl/inc/modal.deactivation.php:47
msgid "Why are you deactivating the plugin?"
msgstr "¿Por qué desactivas el plugin?"

#: tpl/inc/modal.deactivation.php:38
msgid "Other"
msgstr "Otros"

#: tpl/inc/modal.deactivation.php:33
msgid "Plugin is too complicated"
msgstr "El plugin es demasiado complicado"

#: tpl/inc/modal.deactivation.php:28
msgid "Site performance is worse"
msgstr "El rendimiento del sitio es peor"

#: tpl/inc/modal.deactivation.php:22
msgid "The deactivation is temporary"
msgstr "La desactivación es temporal"

#: tpl/inc/modal.deactivation.php:16
msgid "Deactivate LiteSpeed Cache"
msgstr "Desactivar la caché de LiteSpeed"

#: tpl/general/online.tpl.php:138
msgid "CDN - Disabled"
msgstr "CDN - Desactivado"

#: tpl/general/online.tpl.php:136
msgid "CDN - Enabled"
msgstr "CDN - Activado"

#: tpl/general/online.tpl.php:45
msgid "Connected Date:"
msgstr "Fecha de conexión:"

#: tpl/general/online.tpl.php:43
msgid "Node:"
msgstr "Nodo:"

#: tpl/general/online.tpl.php:41
msgid "Service:"
msgstr "Servicio:"

#: tpl/db_optm/manage.tpl.php:180
msgid "Autoload top list"
msgstr "Cargar automáticamente la lista principal"

#: tpl/db_optm/manage.tpl.php:176
msgid "Autoload entries"
msgstr "Cargar entradas automáticamente"

#: tpl/db_optm/manage.tpl.php:175
msgid "Autoload size"
msgstr "Tamaño de carga automática"

#: tpl/dash/network_dash.tpl.php:109
msgid "This Month Usage: %s"
msgstr "Uso de este mes: %s"

#: tpl/dash/network_dash.tpl.php:28
msgid "Usage Statistics: %s"
msgstr "Estadísticas de uso: %s"

#: tpl/dash/dashboard.tpl.php:870
msgid "more"
msgstr "más"

#: tpl/dash/dashboard.tpl.php:869
msgid "Globally fast TTFB, easy setup, and %s!"
msgstr "¡TTFB globalmente rápido, fácil configuración y %s!"

#: tpl/dash/dashboard.tpl.php:657 tpl/dash/dashboard.tpl.php:701
#: tpl/dash/dashboard.tpl.php:745 tpl/dash/dashboard.tpl.php:789
msgid "Last requested: %s"
msgstr "Última solicitud: %s"

#: tpl/dash/dashboard.tpl.php:631 tpl/dash/dashboard.tpl.php:675
#: tpl/dash/dashboard.tpl.php:719 tpl/dash/dashboard.tpl.php:763
msgid "Last generated: %s"
msgstr "Última generación: %s"

#: tpl/dash/dashboard.tpl.php:438 tpl/dash/dashboard.tpl.php:503
msgid "Requested: %s ago"
msgstr "Solicitado: hace %s"

#: tpl/dash/dashboard.tpl.php:424
msgid "LiteSpeed Web ADC"
msgstr "LiteSpeed Web ADC"

#: tpl/dash/dashboard.tpl.php:422
msgid "OpenLiteSpeed Web Server"
msgstr "Servidor web OpenLiteSpeed"

#: tpl/dash/dashboard.tpl.php:420
msgid "LiteSpeed Web Server"
msgstr "Servidor web LiteSpeed"

#: tpl/dash/dashboard.tpl.php:272
msgid "PAYG used this month: %s. PAYG balance and usage not included in above quota calculation."
msgstr "PAYG utilizado este mes: %s. El saldo y el uso de PAYG no están incluidos en el cálculo de cuota anterior."

#: tpl/dash/dashboard.tpl.php:112 tpl/dash/dashboard.tpl.php:832
msgid "Last crawled:"
msgstr "Último rastreo:"

#: tpl/dash/dashboard.tpl.php:111 tpl/dash/dashboard.tpl.php:831
msgid "%1$s %2$d item(s)"
msgstr "%1$s %2$d elemento(s)"

#: tpl/crawler/summary.tpl.php:288
msgid "Start watching..."
msgstr "Empieza a ver..."

#: tpl/crawler/summary.tpl.php:254
msgid "Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence."
msgstr "Los rastreadores no pueden ejecutarse simultáneamente. Si tanto el cron como una ejecución manual se inician al mismo tiempo, el primero que se inicie tendrá prioridad."

#: tpl/crawler/summary.tpl.php:230
msgid "Position: "
msgstr "Posición: "

#: tpl/crawler/summary.tpl.php:133
msgid "%d item(s)"
msgstr "%d elemento(s)"

#: tpl/crawler/summary.tpl.php:130
msgid "Last crawled"
msgstr "Último rastreo"

#: tpl/cdn/qc.tpl.php:73
msgid "Serve your visitors fast"
msgstr "Sirve rápido a tus visitantes"

#: tpl/cdn/other.tpl.php:104
msgid "This will affect all tags containing attributes: %s."
msgstr "Esto afectará a todas las etiquetas que contengan atributos: %s."

#: tpl/cdn/cf.tpl.php:152
msgid "%1$sLearn More%2$s"
msgstr "%1$sAprender más%2$s"

#: tpl/cdn/cf.tpl.php:39
msgid "Get it from %s."
msgstr "Obtenerlo de %s."

#: src/purge.cls.php:517
msgid "Reset the OPcache failed."
msgstr "Error al restablecer el OPcache."

#: src/purge.cls.php:504
msgid "OPcache is restricted by %s setting."
msgstr "OPcache está restringido por el ajuste %s."

#: src/purge.cls.php:491
msgid "OPcache is not enabled."
msgstr "OPcache no está activada."

#: src/gui.cls.php:850
msgid "Enable All Features"
msgstr "Activar todas las funciones"

#: tpl/toolbox/purge.tpl.php:224
msgid "e.g. Use %1$s or %2$s."
msgstr "p.ej. utiliza %1$s o %2$s."

#: tpl/toolbox/log_viewer.tpl.php:64 tpl/toolbox/report.tpl.php:62
msgid "Click to copy"
msgstr "Haz clic para copiar"

#: tpl/inc/admin_footer.php:17
msgid "Rate %1$s on %2$s"
msgstr "Puntúa %1$s en %2$s"

#: tpl/cdn/cf.tpl.php:74
msgid "Clear %s cache when \"Purge All\" is run."
msgstr "Limpiar la caché de %s cuando se ejecuta «Purgar todo»."

#: tpl/cache/settings_inc.login_cookie.tpl.php:102
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive."
msgstr "SINTAXIS: alfanumérica y «_». Sin espacios y con distinción entre mayúsculas y minúsculas."

#: tpl/cache/settings_inc.login_cookie.tpl.php:26
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS."
msgstr "SINTAXIS: alfanumérica y «_». Sin espacios y con distinción entre mayúsculas y minúsculas. DEBE SER ÚNICA Y DISTINTA DE OTRAS APLICACIONES WEB."

#: tpl/banner/score.php:122
msgid "Submit a ticket"
msgstr "Enviar un tique"

#: src/lang.cls.php:265
msgid "Clear Cloudflare cache"
msgstr "Vaciar la caché de Cloudflare"

#: src/cloud.cls.php:246 src/cloud.cls.php:331
msgid "QUIC.cloud's access to your WP REST API seems to be blocked."
msgstr "El acceso de QUIC.cloud a tu API REST de WP parece estar bloqueado."

#: tpl/toolbox/log_viewer.tpl.php:65
msgid "Copy Log"
msgstr "Copiar registro"

#: tpl/page_optm/settings_tuning_css.tpl.php:149
msgid "Selectors must exist in the CSS. Parent classes in the HTML will not work."
msgstr "Los selectores deben existir en el CSS. Las clases principales en el HTML no funcionarán."

#: tpl/page_optm/settings_tuning_css.tpl.php:142
msgid "List the CSS selectors whose styles should always be included in CCSS."
msgstr "Lista los selectores CSS cuyos estilos siempre deben incluirse en CCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:67
msgid "List the CSS selectors whose styles should always be included in UCSS."
msgstr "Lista los selectores CSS cuyos estilos siempre deben incluirse en UCSS."

#: tpl/img_optm/summary.tpl.php:77 tpl/page_optm/settings_css.tpl.php:156
#: tpl/page_optm/settings_css.tpl.php:293
#: tpl/page_optm/settings_vpi.tpl.php:101
msgid "Available after %d second(s)"
msgstr "Disponible después de %d segundo(s)"

#: tpl/dash/dashboard.tpl.php:347
msgid "Enable QUIC.cloud Services"
msgstr "Activar los servicios de QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:194
msgid "The features below are provided by %s"
msgstr "Las siguientes características son proporcionadas por %s"

#: tpl/dash/dashboard.tpl.php:163
msgid "Do not show this again"
msgstr "No volver a mostrar esto"

#: tpl/dash/dashboard.tpl.php:153
msgid "Free monthly quota available. Can also be used anonymously (no email required)."
msgstr "Cuota mensual gratuita disponible. También se puede usar de forma anónima (no se requiere correo electrónico)."

#: tpl/cdn/cf.tpl.php:17
msgid "Cloudflare Settings"
msgstr "Ajustes de Cloudflare"

#: src/tool.cls.php:43 src/tool.cls.php:54
msgid "Failed to detect IP"
msgstr "No se pudo detectar la IP"

#: src/lang.cls.php:189
msgid "CCSS Selector Allowlist"
msgstr "Lista de permitidos del selector del CCSS"

#: tpl/toolbox/settings-debug.tpl.php:82
msgid "Outputs to a series of files in the %s directory."
msgstr "Da salida en una serie de archivos en el directorio %s."

#: tpl/toolbox/report.tpl.php:87
msgid "Attach PHP info to report. Check this box to insert relevant data from %s."
msgstr "Adjuntar información PHP al informe. Marca esta casilla para insertar datos relevantes de %s."

#: tpl/toolbox/report.tpl.php:63
msgid "Last Report Date"
msgstr "Fecha del último informe"

#: tpl/toolbox/report.tpl.php:62
msgid "Last Report Number"
msgstr "Número del último informe"

#: tpl/toolbox/report.tpl.php:40
msgid "Regenerate and Send a New Report"
msgstr "Regenerar y enviar un nuevo informe"

#: tpl/img_optm/summary.tpl.php:372
msgid "This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action."
msgstr "Esto restablecerá los %1$s. Si cambiaste los ajustes de WebP/AVIF y quieres generar %2$s para las imágenes previamente optimizadas, utiliza esta acción."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:368
msgid "Soft Reset Optimization Counter"
msgstr "Restablecimiento suave del contador de optimización"

#: tpl/img_optm/settings.media_webp.tpl.php:34
msgid "When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images."
msgstr "Al cambiar de formato, utiliza %1$s o %2$s para aplicar esta nueva opción a las imágenes previamente optimizadas."

#: tpl/img_optm/settings.media_webp.tpl.php:31
msgid "%1$s is a %2$s paid feature."
msgstr "%1$s es una característica de pago de %2$s."

#: tpl/general/online.tpl.php:160
msgid "Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first."
msgstr "Quita la integración de QUIC.cloud de este sitio. Nota: Los datos de QUIC.cloud se conservarán para que puedas reactivar los servicios en cualquier momento. Si quieres borrar completamente tu sitio de QUIC.cloud, primero borra el dominio a través del escritorio de QUIC.cloud."

#: tpl/general/online.tpl.php:159
msgid "Disconnect from QUIC.cloud"
msgstr "Desconectar de QUIC.cloud"

#: tpl/general/online.tpl.php:159
msgid "Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard."
msgstr "¿Seguro que quieres desconectar de QUIC.cloud? Esto no eliminará ningún dato del escritorio de QUIC.cloud."

#: tpl/general/online.tpl.php:150
msgid "CDN - not available for anonymous users"
msgstr "CDN - no disponible para usuarios anónimos"

#: tpl/general/online.tpl.php:144
msgid "Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features."
msgstr "Tu sitio está conectado y utiliza los servicios en línea de QUIC.cloud como <strong>usuario anónimo</strong>. La función CDN y ciertas funciones de los servicios de optimización no están disponibles para usuarios anónimos. Conéctate a QUIC.cloud para usar la CDN y todas las funciones de los servicios en línea disponibles."

#: tpl/general/online.tpl.php:143
msgid "QUIC.cloud Integration Enabled with limitations"
msgstr "Integración de QUIC.cloud activada con limitaciones"

#: tpl/general/online.tpl.php:126
msgid "Your site is connected and ready to use QUIC.cloud Online Services."
msgstr "Tu sitio está conectado y listo para usar los servicios en línea de QUIC.cloud."

#: tpl/general/online.tpl.php:125
msgid "QUIC.cloud Integration Enabled"
msgstr "Integración de QUIC.cloud activada"

#: tpl/general/online.tpl.php:114
msgid "In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it."
msgstr "Para utilizar la mayoría de los servicios de QUIC.cloud, necesitas una cuota. QUIC.cloud te ofrece cuota gratuita cada mes, pero si necesitas más, puedes comprarla."

#: tpl/general/online.tpl.php:105
msgid "Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding."
msgstr "Ofrece un <strong>servicio DNS integrado</strong> opcional para simplificar la puesta en marcha de CDN."

#: tpl/general/online.tpl.php:104
msgid "Provides <strong>security at the CDN level</strong>, protecting your server from attack."
msgstr "Proporciona <strong>seguridad a nivel de CDN</strong>, protegiendo tu servidor de ataques."

#: tpl/general/online.tpl.php:103
msgid "Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>."
msgstr "Ofrece cobertura global con una <strong>red en crecimiento de más de 80 PoP</strong>."

#: tpl/general/online.tpl.php:102
msgid "Caches your entire site, including dynamic content and <strong>ESI blocks</strong>."
msgstr "Almacena en caché todo tu sitio, incluido el contenido dinámico y los <strong>bloques ESI</strong>."

#: tpl/general/online.tpl.php:98
msgid "Content Delivery Network"
msgstr "Red de entrega de contenidos"

#: tpl/general/online.tpl.php:89
msgid "<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold."
msgstr "<strong>Viewport Images (VPI)</strong> proporciona una vista completa y bien pulida antes de desplazarse."

#: tpl/general/online.tpl.php:88
msgid "<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads."
msgstr "El <strong>marcador de posición de imagen de baja calidad (LQIP)</strong> le da a tus imágenes un aspecto más agradable a medida que se cargan de forma diferida."

#: tpl/general/online.tpl.php:87
msgid "<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall."
msgstr "<strong>CSS único (UCSS)</strong> elimina las definiciones de estilo no utilizadas para lograr una carga de página más rápida en general."

#: tpl/general/online.tpl.php:86
msgid "<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling."
msgstr "<strong>CSS crítico (CCSS)</strong> carga el contenido visible antes de desplazarse más rápido y con estilo completo."

#: tpl/general/online.tpl.php:84
msgid "QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores."
msgstr "Los servicios de optimización de páginas de QUIC.cloud abordan el problema del inflado de CSS y mejoran la experiencia del usuario durante la carga de la página, lo que puede generar mejores puntuaciones de velocidad de la página."

#: tpl/general/online.tpl.php:81
msgid "Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee."
msgstr "El procesamiento de imágenes en formato PNG, JPG y WebP es gratuito. El formato AVIF tiene un coste."

#: tpl/general/online.tpl.php:79
msgid "Optionally creates next-generation WebP or AVIF image files."
msgstr "Crea opcionalmente archivos de imagen WebP o AVIF de próxima generación."

#: tpl/general/online.tpl.php:78
msgid "Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality."
msgstr "Procesa las imágenes PNG y JPG cargadas para producir versiones más pequeñas que no sacrifican la calidad."

#: tpl/general/online.tpl.php:76
msgid "QUIC.cloud's Image Optimization service does the following:"
msgstr "El servicio de optimización de imágenes de QUIC.cloud hace lo siguiente:"

#: tpl/general/online.tpl.php:72
msgid "<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading."
msgstr "La <strong>optimización de página</strong> agiliza los estilos de página y los elementos visuales para una carga más rápida."

#: tpl/general/online.tpl.php:71
msgid "<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster."
msgstr "La <strong>optimización de imágenes</strong> te ofrece archivos de imagen de menor tamaño que se transmiten más rápido."

#: tpl/general/online.tpl.php:69
msgid "QUIC.cloud's Online Services improve your site in the following ways:"
msgstr "Los servicios en línea de QUIC.cloud mejoran su sitio de las siguientes maneras:"

#: tpl/general/online.tpl.php:60
msgid "Speed up your WordPress site even further with QUIC.cloud Online Services and CDN."
msgstr "Acelera aún más tu sitio de WordPress con los servicios en línea y CDN de QUIC.cloud."

#: tpl/general/online.tpl.php:59
msgid "QUIC.cloud Integration Disabled"
msgstr "Integración de QUIC.cloud desactivada"

#: tpl/general/online.tpl.php:22
msgid "QUIC.cloud Online Services"
msgstr "Servicios en línea de QUIC.cloud"

#: tpl/general/entry.tpl.php:16 tpl/general/online.tpl.php:68
msgid "Online Services"
msgstr "Servicios en línea"

#: tpl/db_optm/manage.tpl.php:186
msgid "Autoload"
msgstr "Carga automática"

#: tpl/dash/dashboard.tpl.php:887
msgid "Refresh QUIC.cloud status"
msgstr "Actualizar el estado de QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:446 tpl/dash/dashboard.tpl.php:511
msgid "Refresh"
msgstr "Actualizar"

#: tpl/dash/dashboard.tpl.php:419
msgid "You must be using one of the following products in order to measure Page Load Time:"
msgstr "Debes usar uno de los siguientes productos para medir el tiempo de carga de la página:"

#: tpl/dash/dashboard.tpl.php:182
msgid "Refresh Usage"
msgstr "Actualizar el uso"

#: tpl/dash/dashboard.tpl.php:128 tpl/dash/dashboard.tpl.php:908
msgid "News"
msgstr "Noticias"

#: tpl/crawler/summary.tpl.php:28
msgid "You need to set the %s in Settings first before using the crawler"
msgstr "Debes configurar %s en Ajustes antes de usar el rastreador"

#: tpl/crawler/settings.tpl.php:136
msgid "You must set %1$s to %2$s before using this feature."
msgstr "Debes configurar %1$s en %2$s antes de usar esta característica."

#: tpl/crawler/settings.tpl.php:116 tpl/crawler/summary.tpl.php:211
msgid "You must set %s before using this feature."
msgstr "Debes configurar %s antes de usar esta característica."

#: tpl/cdn/qc.tpl.php:139 tpl/cdn/qc.tpl.php:146
msgid "My QUIC.cloud Dashboard"
msgstr "Mi escritorio de QUIC.cloud"

#: tpl/cdn/qc.tpl.php:130
msgid "You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard."
msgstr "Actualmente estás utilizando los servicios como usuario anónimo. Para gestionar tus opciones de QUIC.cloud, utiliza el botón de abajo para crear una cuenta y acceder al escritorio de QUIC.cloud."

#: tpl/cdn/qc.tpl.php:123 tpl/cdn/qc.tpl.php:143
msgid "To manage your QUIC.cloud options, go to QUIC.cloud Dashboard."
msgstr "Para gestionar tus opciones de QUIC.cloud, ve al escritorio de QUIC.cloud."

#: tpl/cdn/qc.tpl.php:119
msgid "To manage your QUIC.cloud options, please contact your hosting provider."
msgstr "Para gestionar tus opciones de QUIC.cloud, comunícate con tu proveedor de alojamiento."

#: tpl/cdn/qc.tpl.php:117
msgid "To manage your QUIC.cloud options, go to your hosting provider's portal."
msgstr "Para gestionar tus opciones de QUIC.cloud, ve al portal de tu proveedor de alojamiento."

#: tpl/cdn/qc.tpl.php:96
msgid "QUIC.cloud CDN Options"
msgstr "Opciones de CDN de QUIC.cloud"

#. translators: %s: Link tags
#: tpl/cdn/qc.tpl.php:79
msgid "Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!"
msgstr "¡El mejor rendimiento disponible para WordPress, TTFB globalmente rápido, fácil configuración y %smucho más%s!"

#: tpl/cdn/qc.tpl.php:73
msgid "no matter where they live."
msgstr "no importa dónde vivan."

#: tpl/cdn/qc.tpl.php:71
msgid "Content Delivery Network Service"
msgstr "Servicio de red de entrega de contenido"

#: tpl/cdn/qc.tpl.php:61 tpl/dash/dashboard.tpl.php:857
msgid "Enable QUIC.cloud CDN"
msgstr "Activar la CDN de QUIC.cloud"

#: tpl/cdn/qc.tpl.php:59
msgid "Link & Enable QUIC.cloud CDN"
msgstr "Enlazar y activar la CDN de QUIC.cloud"

#: tpl/cdn/qc.tpl.php:55
msgid "QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users."
msgstr "La CDN de QUIC.cloud <strong>no está disponible</strong> para usuarios anónimos (sin enlazar)."

#: tpl/cdn/qc.tpl.php:53
msgid "QUIC.cloud CDN is currently <strong>fully disabled</strong>."
msgstr "La CDN de QUIC.cloud está actualmente <strong>totalmente desactivada</strong>."

#: tpl/cdn/qc.tpl.php:46 tpl/dash/dashboard.tpl.php:169
msgid "Learn More about QUIC.cloud"
msgstr "Obtén más información acerca de QUIC.cloud"

#: tpl/cdn/qc.tpl.php:45 tpl/dash/dashboard.tpl.php:167
#: tpl/general/online.tpl.php:26
msgid "QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud."
msgstr "QUIC.cloud ofrece servicios de CDN y optimización en línea, y no es obligatorio. Puedes usar muchas características de este plugin sin QUIC.cloud."

#: tpl/cdn/qc.tpl.php:41 tpl/dash/dashboard.tpl.php:158
#: tpl/general/online.tpl.php:64 tpl/general/online.tpl.php:119
msgid "Enable QUIC.cloud services"
msgstr "Activar los servicios de QUIC.cloud"

#: tpl/cdn/qc.tpl.php:38 tpl/general/online.tpl.php:61
#: tpl/general/online.tpl.php:145
msgid "Free monthly quota available."
msgstr "Cuota mensual gratuita disponible."

#: tpl/cdn/qc.tpl.php:36 tpl/dash/dashboard.tpl.php:150
msgid "Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>."
msgstr "Acelera aún más su sitio de WordPress con los <strong>servicios en línea y CDN de QUIC.cloud</strong>."

#: tpl/cdn/qc.tpl.php:34 tpl/dash/dashboard.tpl.php:146
msgid "Accelerate, Optimize, Protect"
msgstr "Acelera, optimiza, protege"

#: tpl/cdn/qc.tpl.php:29
msgid "Check the status of your most important settings and the health of your CDN setup here."
msgstr "Verifica el estado de tus ajustes más importantes y el estado de tu configuración CDN aquí."

#: tpl/cdn/qc.tpl.php:27
msgid "QUIC.cloud CDN Status Overview"
msgstr "Resumen del estado de CDN de QUIC.cloud"

#: tpl/cdn/qc.tpl.php:24 tpl/dash/dashboard.tpl.php:886
msgid "Refresh Status"
msgstr "Actualizar Estado"

#: tpl/cdn/entry.tpl.php:16
msgid "Other Static CDN"
msgstr "Otra CDN estática"

#: tpl/banner/new_version.php:113 tpl/banner/score.php:141
#: tpl/banner/slack.php:48
msgid "Dismiss this notice."
msgstr "Descartar este aviso."

#: tpl/banner/cloud_promo.tpl.php:35
msgid "Send to twitter to get %s bonus"
msgstr "Envíar a X para obtener %s de bonificación"

#: tpl/banner/cloud_promo.tpl.php:26
msgid "Spread the love and earn %s credits to use in our QUIC.cloud online services."
msgstr "Difunde el amor y gana %s créditos para usar en nuestros servicios en línea QUIC.cloud."

#: src/media.cls.php:526
msgid "No backup of unoptimized AVIF file exists."
msgstr "No existe ninguna copia de seguridad del archivo AVIF sin optimizar."

#: src/media.cls.php:510
msgid "AVIF saved %s"
msgstr "AVIF guardado %s"

#: src/media.cls.php:502
msgid "AVIF file reduced by %1$s (%2$s)"
msgstr "Archivo AVIF reducido en %1$s (%2$s)"

#: src/media.cls.php:492
msgid "Currently using original (unoptimized) version of AVIF file."
msgstr "Actualmente se utiliza la versión original (sin optimizar) del archivo AVIF."

#: src/media.cls.php:485
msgid "Currently using optimized version of AVIF file."
msgstr "Actualmente se utiliza la versión optimizada del archivo AVIF."

#: src/lang.cls.php:232
msgid "WebP/AVIF For Extra srcset"
msgstr "WebP/AVIF para srcset adicional"

#: src/lang.cls.php:227
msgid "Next-Gen Image Format"
msgstr "Formato de imagen de próxima generación"

#: src/img-optm.cls.php:2031
msgid "Enabled AVIF file successfully."
msgstr "Archivo AVIF activado correctamente."

#: src/img-optm.cls.php:2026
msgid "Disabled AVIF file successfully."
msgstr "El archivo AVIF desactivado correctamente."

#: src/img-optm.cls.php:1378
msgid "Reset image optimization counter successfully."
msgstr "Restablecido el contador de optimización de imágenes correctamente."

#: src/file.cls.php:133
msgid "Filename is empty!"
msgstr "¡El nombre del archivo está vacío!"

#: src/error.cls.php:68
msgid "You will need to finish %s setup to use the online services."
msgstr "Necesitarás finalizar la configuración de %s para utilizar los servicios en línea."

#: src/cloud.cls.php:2276
msgid "Sync QUIC.cloud status successfully."
msgstr "Sincronizado el estado de QUIC.cloud correctamente."

#: src/cloud.cls.php:2220
msgid "Linked to QUIC.cloud preview environment, for testing purpose only."
msgstr "Enlazado al entorno de vista previa de QUIC.cloud, solo para fines de prueba."

#: src/cloud.cls.php:1919
msgid "Click here to proceed."
msgstr "Haz clic aquí para continuar."

#: src/cloud.cls.php:1918
msgid "Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account."
msgstr "Sitio no reconocido. QUIC.cloud se desactivó automáticamente. Reactiva tu cuenta de QUIC.cloud."

#: src/cloud.cls.php:846
msgid "Reset %s activation successfully."
msgstr "Restablecida la activación de %s correctamente."

#: src/cloud.cls.php:725 src/cloud.cls.php:775 src/cloud.cls.php:818
msgid "Congratulations, %s successfully set this domain up for the online services with CDN service."
msgstr "Felicidades, %s configuró correctamente este dominio para los servicios en línea con servicio CDN."

#: src/cloud.cls.php:720
msgid "Congratulations, %s successfully set this domain up for the online services."
msgstr "Felicidades, %s configuró correctamente este dominio para los servicios en línea."

#: src/cloud.cls.php:718
msgid "Congratulations, %s successfully set this domain up for the anonymous online services."
msgstr "Felicidades, %s configuró correctamente este dominio para los servicios anónimos en línea."

#: src/cloud.cls.php:690
msgid "%s activation data expired."
msgstr "%s datos de activación caducados."

#: src/cloud.cls.php:683
msgid "Failed to parse %s activation status."
msgstr "No se pudo analizar el estado de activación de %s."

#: src/cloud.cls.php:676
msgid "Failed to validate %s activation data."
msgstr "No se pudieron validar los datos de activación de %s."

#: src/cloud.cls.php:386
msgid "Cert or key file does not exist."
msgstr "El archivo de certificado o clave no existe."

#: src/cloud.cls.php:368 src/cloud.cls.php:414 src/cloud.cls.php:441
#: src/cloud.cls.php:460 src/cloud.cls.php:481 src/cloud.cls.php:499
msgid "You need to activate QC first."
msgstr "Primero debes activar QC."

#: src/cloud.cls.php:319 src/cloud.cls.php:376
msgid "You need to set the %1$s first. Please use the command %2$s to set."
msgstr "Primero debes configurar %1$s. Usa el comando %2$s para configurarlo."

#: src/cloud.cls.php:256 src/cloud.cls.php:341
msgid "Failed to get echo data from WPAPI"
msgstr "No se pudieron obtener los datos de eco de WPAPI"

#: src/admin-settings.cls.php:104
msgid "The user with id %s has editor access, which is not allowed for the role simulator."
msgstr "El usuario con id %s tiene acceso de editor, que no tiene permisos para el simulador de perfiles."

#: src/error.cls.php:94
msgid "You have used all of your quota left for current service this month."
msgstr "Has utilizado toda la cuota que te quedaba para el servicio actual este mes."

#: src/error.cls.php:86 src/error.cls.php:99
msgid "Learn more or purchase additional quota."
msgstr "Más información o compra cuota adicional."

#: src/error.cls.php:81
msgid "You have used all of your daily quota for today."
msgstr "Has utilizado toda tu cuota diaria de hoy."

#: tpl/page_optm/settings_html.tpl.php:108
msgid "If comment to be kept is like: %1$s write: %2$s"
msgstr "Si el comentario a conservar es como: %1$s escribe: %2$s"

#: tpl/page_optm/settings_html.tpl.php:106
msgid "When minifying HTML do not discard comments that match a specified pattern."
msgstr "Al minimizar HTML no descartes los comentarios que coincidan con un patrón especificado."

#: tpl/cache/settings-advanced.tpl.php:39
msgid "Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space."
msgstr "Especifica una acción AJAX en POST/GET y el número de segundos para almacenar en caché esa petición, separados por un espacio."

#: src/lang.cls.php:169
msgid "HTML Keep Comments"
msgstr "HTML Mantener comentarios"

#: src/lang.cls.php:117
msgid "AJAX Cache TTL"
msgstr "TTL de caché AJAX"

#: src/error.cls.php:111
msgid "You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now."
msgstr "Tienes imágenes esperando a ser retiradas. Espera a que se complete la extracción automática o bájalas manualmente ahora."

#: tpl/db_optm/manage.tpl.php:26
msgid "Clean all orphaned post meta records"
msgstr "Limpiar todos los registros meta de entradas huérfanas"

#: tpl/db_optm/manage.tpl.php:25
msgid "Orphaned Post Meta"
msgstr "Meta de entrada huérfano"

#: tpl/dash/dashboard.tpl.php:864
msgid "Best available WordPress performance"
msgstr "El mejor rendimiento disponible para WordPress"

#: src/db-optm.cls.php:257
msgid "Clean orphaned post meta successfully."
msgstr "Limpieza correcta de los meta de entrada huérfanos."

#: tpl/img_optm/summary.tpl.php:325
msgid "Last Pulled"
msgstr "Última extracción"

#: tpl/cache/settings_inc.login_cookie.tpl.php:104
msgid "You can list the 3rd party vary cookies here."
msgstr "Puedes listar las cookies de terceros que varían aquí."

#: src/lang.cls.php:245
msgid "Vary Cookies"
msgstr "Variar cookies"

#: tpl/page_optm/settings_html.tpl.php:75
msgid "Preconnecting speeds up future loads from a given origin."
msgstr "La preconexión acelera las cargas futuras desde un origen determinado."

#: thirdparty/woocommerce.content.tpl.php:89
msgid "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."
msgstr "Si tu tema no utiliza JS para actualizar el minicarrito, debes activar esta opción para mostrar el contenido correcto del carrito."

#: thirdparty/woocommerce.content.tpl.php:88
msgid "Generate a separate vary cache copy for the mini cart when the cart is not empty."
msgstr "Generar una copia de caché variable separada para el minicarrito cuando éste no esté vacío."

#: thirdparty/woocommerce.content.tpl.php:80
msgid "Vary for Mini Cart"
msgstr "Variante según el minicarrito"

#: src/lang.cls.php:179
msgid "DNS Preconnect"
msgstr "Preconexión DNS"

#: src/doc.cls.php:40
msgid "This setting is %1$s for certain qualifying requests due to %2$s!"
msgstr "¡Este ajuste es %1$s para determinadas solicitudes que cumplen los requisitos debido a %2$s!"

#: tpl/page_optm/settings_tuning.tpl.php:43
msgid "Listed JS files or inline JS code will be delayed."
msgstr "Los archivos JS listados o el código JS en línea se retrasarán."

#: tpl/crawler/map.tpl.php:58
msgid "URL Search"
msgstr "Buscar URL"

#: src/lang.cls.php:181
msgid "JS Delayed Includes"
msgstr "Inclusiones de JS retrasadas"

#: src/cloud.cls.php:1693
msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."
msgstr "Tu domain_key ha sido bloqueada temporalmente para evitar abusos. Puedes ponerte en contacto con el servicio de asistencia de QUIC.cloud para obtener más información."

#: src/cloud.cls.php:1688
msgid "Cloud server refused the current request due to unpulled images. Please pull the images first."
msgstr "El servidor de la nube ha rechazado la solicitud actual debido a que no se han extraído las imágenes. Por favor, extrae primero las imágenes."

#: tpl/crawler/summary.tpl.php:110
msgid "Current server load"
msgstr "Carga actual del servidor"

#: src/object-cache.cls.php:714
msgid "Redis encountered a fatal error: %1$s (code: %2$d)"
msgstr "Redis encontró un error fatal: %1$s (código: %2$d)"

#: src/img-optm.cls.php:890
msgid "Started async image optimization request"
msgstr "Se inició la solicitud de optimización asíncrona de imágenes"

#: src/crawler.cls.php:324
msgid "Started async crawling"
msgstr "Se inició el rastreo asíncrono"

#: src/conf.cls.php:551
msgid "Saving option failed. IPv4 only for %s."
msgstr "Falló el guardado de la opción. IPv4 es solo para %s."

#: src/cloud.cls.php:1700
msgid "Cloud server refused the current request due to rate limiting. Please try again later."
msgstr "El servidor en la nube rechazó la solicitud actual debido a la limitación de cuota. Por favor, inténtalo de nuevo más tarde."

#: tpl/img_optm/summary.tpl.php:298
msgid "Maximum image post id"
msgstr "ID de entrada de imagen máxima"

#: tpl/img_optm/summary.tpl.php:297 tpl/img_optm/summary.tpl.php:372
msgid "Current image post id position"
msgstr "Posición actual del id de entrada de la imagen"

#: src/lang.cls.php:31
msgid "Images ready to request"
msgstr "Imágenes listas para la solicitud"

#: tpl/dash/dashboard.tpl.php:385 tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54 tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr "Volver a detectar"

#. translators: %1$s: Socket name, %2$s: Host field title, %3$s: Example socket
#. path
#. translators: %1$s: Socket name, %2$s: Port field title, %3$s: Port value
#: tpl/cache/settings_inc.object.tpl.php:107
#: tpl/cache/settings_inc.object.tpl.php:146
msgid "If you are using a %1$s socket, %2$s should be set to %3$s"
msgstr "Si estás usando un socket %1$s, %2$s debería estar en %3$s"

#: src/root.cls.php:198
msgid "All QUIC.cloud service queues have been cleared."
msgstr "Se han borrado todas las colas de servicio de QUIC.cloud."

#. translators: %s: The type of the given cache key.
#: src/object-cache-wp.cls.php:245
msgid "Cache key must be integer or non-empty string, %s given."
msgstr "La clave de caché debe ser un entero o una cadena no vacía, %s proporcionado."

#: src/object-cache-wp.cls.php:242
msgid "Cache key must not be an empty string."
msgstr "La clave de caché no puede ser una cadena vacía."

#: src/lang.cls.php:190
msgid "JS Deferred / Delayed Excludes"
msgstr "Exclusiones de JS diferido / retrasado"

#: src/doc.cls.php:177
msgid "The queue is processed asynchronously. It may take time."
msgstr "La cola se procesa de forma asíncrona. Puede llevar un tiempo."

#: src/cloud.cls.php:1362
msgid "In order to use QC services, need a real domain name, cannot use an IP."
msgstr "Para poder usar los servicios de QC necesitas un nombre de demonio real, no puedes usar una IP."

#: tpl/presets/standard.tpl.php:195
msgid "Restore Settings"
msgstr "Restaurar los ajustes"

#: tpl/presets/standard.tpl.php:193
msgid "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"
msgstr "Esto restaurará la copia de seguridad de los ajustes creada %1$s antes de aplicar el preajuste %2$s. Cualquier cambio realizado desde entonces se perderá. ¿Quieres continuar?"

#: tpl/presets/standard.tpl.php:189
msgid "Backup created %1$s before applying the %2$s preset"
msgstr "Copia de seguridad creada %1$s antes de aplicar el preajuste %2$s"

#: tpl/presets/standard.tpl.php:178
msgid "Applied the %1$s preset %2$s"
msgstr "Se ha aplicado el prejuste %1$s %2$s"

#: tpl/presets/standard.tpl.php:175
msgid "Restored backup settings %1$s"
msgstr "Se han restaurado el respaldo de los ajustes %1$s"

#: tpl/presets/standard.tpl.php:173
msgid "Error: Failed to apply the settings %1$s"
msgstr "Error: No se pudieron aplicar los ajustes %1$s"

#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr "Historial"

#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr "desconocido"

#: tpl/presets/standard.tpl.php:133
msgid "Apply Preset"
msgstr "Aplicar el preajuste"

#: tpl/presets/standard.tpl.php:131
msgid "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"
msgstr "Se va a hacer una copia de seguridad de tus ajustes actuales y reemplazarlos con los de los preajustes %1$s. ¿Quieres continuar?"

#: tpl/presets/standard.tpl.php:121
msgid "Who should use this preset?"
msgstr "¿Quién debería usar este preajuste?"

#: tpl/presets/standard.tpl.php:96
msgid "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between."
msgstr "Utiliza un preajuste oficial diseñado por LiteSpeed para configurar tu sitio en un clic. Pruebe el cacheo esencial sin riesgos, la optimización extrema o algo intermedio."

#: tpl/presets/standard.tpl.php:92
msgid "LiteSpeed Cache Standard Presets"
msgstr "Preajustes estándar de cache de LiteSpeed"

#: tpl/presets/standard.tpl.php:85
msgid "A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores."
msgstr "Es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Activa el nivel máximo de optimizaciones para mejorar la puntuación de la velocidad de la página."

#: tpl/presets/standard.tpl.php:84
msgid "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."
msgstr "Este preajuste es casi seguro que requerirá pruebas y exclusiones de algo de CSS, JS y carga diferida de imágenes. Presta especial atención a los logotipos, o a imágenes de carrusel basadas en HTML."

#: tpl/presets/standard.tpl.php:81
msgid "Inline CSS added to Combine"
msgstr "CSS en línea añadido a Combinar"

#: tpl/presets/standard.tpl.php:80
msgid "Inline JS added to Combine"
msgstr "JS en línea añadido a Combinar"

#: tpl/presets/standard.tpl.php:79
msgid "JS Delayed"
msgstr "JS Retrasado"

#: tpl/presets/standard.tpl.php:78
msgid "Viewport Image Generation"
msgstr "Generación del viewport de la imagen"

#: tpl/presets/standard.tpl.php:77
msgid "Lazy Load for Images"
msgstr "Carga diferida para imágenes"

#: tpl/presets/standard.tpl.php:76
msgid "Everything in Aggressive, Plus"
msgstr "Todo lo de Aggressive y además"

#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr "Extremo"

#: tpl/presets/standard.tpl.php:69
msgid "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning."
msgstr "Este preajuste puede que funcione tal cual en algunas webs, ¡pero asegúrate de hacer pruebas! Puede que sean necesarias algunas exclusiones de CSS y JS en Optimización de página > Retoques."

#: tpl/presets/standard.tpl.php:66
msgid "Lazy Load for Iframes"
msgstr "Carga diferida de Iframes"

#: tpl/presets/standard.tpl.php:65
msgid "Removed Unused CSS for Users"
msgstr "CSS sin uso eliminado para los usuarios"

#: tpl/presets/standard.tpl.php:64
msgid "Asynchronous CSS Loading with Critical CSS"
msgstr "Carga de CSS asíncrono con CSS crítico"

#: tpl/presets/standard.tpl.php:63
msgid "CSS & JS Combine"
msgstr "Combinar CSS y JS"

#: tpl/presets/standard.tpl.php:62
msgid "Everything in Advanced, Plus"
msgstr "Todo lo de Advance y además"

#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr "Agresivo"

#: tpl/presets/standard.tpl.php:56 tpl/presets/standard.tpl.php:70
msgid "A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores."
msgstr "Es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Incluye muchas optimizaciones conocidas por mejorar los resultados de velocidad de la página."

#: tpl/presets/standard.tpl.php:55
msgid "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools."
msgstr "Este preajuste es bueno para la mayoría de webs, y es raro que provoque conflictos. Cualquier conflicto de CSS o JS puede solucionarse con las herramientas de Optimización de página > Retoques."

#: tpl/presets/standard.tpl.php:50
msgid "Remove Query Strings from Static Files"
msgstr "Eliminar cadenas de consulta de recursos estáticos"

#: tpl/presets/standard.tpl.php:48
msgid "DNS Prefetch for static files"
msgstr "Precarga de DNS para archivos estáticos"

#: tpl/presets/standard.tpl.php:47
msgid "JS Defer for both external and inline JS"
msgstr "Aplazar JS para JS externos e incrustados"

#: tpl/presets/standard.tpl.php:45
msgid "CSS, JS and HTML Minification"
msgstr "Minimizado de CSS, JS y HTML"

#: tpl/presets/standard.tpl.php:44
msgid "Guest Mode and Guest Optimization"
msgstr "Modo de invitado y modo de optimización"

#: tpl/presets/standard.tpl.php:43
msgid "Everything in Basic, Plus"
msgstr "Todo en el básico, además"

#: tpl/presets/standard.tpl.php:41
msgid "Advanced (Recommended)"
msgstr "Avanzado (Recomendado)"

#: tpl/presets/standard.tpl.php:37
msgid "A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools."
msgstr "Es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Incluye optimizaciones conocidas por mejorar la puntuación del sitio en las herramientas de medición de la velocidad de la página."

#: tpl/presets/standard.tpl.php:36
msgid "This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners."
msgstr "Este preajuste de bajo riesgo introduce optimizaciones básicas de mejora de la velocidad de página y experiencia de usuario. Adecuado para principiantes entusiastas."

#: tpl/presets/standard.tpl.php:33
msgid "Mobile Cache"
msgstr "Caché móvil"

#: tpl/presets/standard.tpl.php:31
msgid "Everything in Essentials, Plus"
msgstr "Todo lo de Essentials y además"

#: tpl/presets/standard.tpl.php:25
msgid "A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled."
msgstr "No es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Solo se activan las características básicas de almacenamiento en caché."

#: tpl/presets/standard.tpl.php:24
msgid "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."
msgstr "Este preajuste sin riesgos es apropiado para todas las webs. Es bueno para nuevos usuarios, webs sencillas o desarrollos orientados a caché."

#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr "TTL mayor"

#: tpl/presets/standard.tpl.php:19
msgid "Default Cache"
msgstr "Caché por defecto"

#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr "Básicos"

#: tpl/presets/entry.tpl.php:23
msgid "LiteSpeed Cache Configuration Presets"
msgstr "Preajustes de configuración de caché LiteSpeed"

#: tpl/presets/entry.tpl.php:16
msgid "Standard Presets"
msgstr "Preajustes estándar"

#: tpl/page_optm/settings_tuning_css.tpl.php:52
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
msgstr "Los archivos CSS listados se excluirán del CSS sin uso y guardados para que se incrusten."

#: src/lang.cls.php:161
msgid "UCSS Selector Allowlist"
msgstr "Lista blanca del selector de CSS sin uso"

#: src/admin-display.cls.php:253
msgid "Presets"
msgstr "Preajustes"

#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr "Ventajas de colaboración ofrecidas por"

#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr "Registros de LiteSpeed"

#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr "Registros de rastreadores"

#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr "Purgar registro"

#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr "Evita escribir entradas del registro que incluyan cadenas listadas."

#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr "Ver sitio sin caché"

#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr "Ver sitio sin optimizar"

#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr "Ayudas de depuración"

#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr "Activar el cron de generación automática del viewport de imágenes."

#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr "Esto permite que la pantalla inicial de imágenes de la página se muestre completamente sin demora."

#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr "El servicio de viewport de imágenes detecta qué imágenes aparecen antes de hacer scroll y las excluye de la carga diferida."

#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr "Cuando usas la carga diferida, se retrasa la carga de todas las imágenes de la página."

#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr "Utiliza %1$s para saltarte la comprobación de dimensión en imágenes remotas cuando la %2$s esté ACTIVA."

#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr "VPI"

#: tpl/general/settings.tpl.php:72 tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr "%s debe estar activo para que este ajuste funcione."

#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr "Imagen de la vista"

#: tpl/crawler/blacklist.tpl.php:79
msgid "API: Filter %s available to disable blocklist."
msgstr "API: El filtro %s está disponible para desactivar la lista de bloqueos."

#: tpl/crawler/blacklist.tpl.php:69
msgid "API: PHP Constant %s available to disable blocklist."
msgstr "API: La constante %s de PHP está disponible para desactivar la lista de bloqueos."

#: thirdparty/litespeed-check.cls.php:100
#: thirdparty/litespeed-check.cls.php:165
msgid "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"
msgstr "Debido a que puede haber conflictos con LiteSpeed Cache, por favor, considera desactivar los siguientes plugins:"

#: src/metabox.cls.php:43
msgid "Mobile"
msgstr "Móvil"

#: src/metabox.cls.php:41
msgid "Disable VPI"
msgstr "Desactivar VPI"

#: src/metabox.cls.php:40
msgid "Disable Image Lazyload"
msgstr "Desactivar la carga de imágenes diferida"

#: src/metabox.cls.php:39
msgid "Disable Cache"
msgstr "Desactivar la caché"

#: src/lang.cls.php:282
msgid "Debug String Excludes"
msgstr "Exclusión de cadenas de depuración"

#: src/lang.cls.php:221
msgid "Viewport Images Cron"
msgstr "Cron de imágenes de la vista"

#: src/lang.cls.php:220 src/metabox.cls.php:42 src/metabox.cls.php:43
#: tpl/page_optm/settings_vpi.tpl.php:23
msgid "Viewport Images"
msgstr "Imágenes de la vista"

#: src/lang.cls.php:71
msgid "Alias is in use by another QUIC.cloud account."
msgstr "El alias ya está en uso por otra cuenta de QUIC.cloud."

#: src/lang.cls.php:66
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."
msgstr "No ha sido posible añadir automáticamente %1$s como alias de dominio para el dominio %2$s principal."

#: src/lang.cls.php:58
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."
msgstr "No ha sido posible añadir automáticamente %1$s como alias de dominio para el dominio %2$s principal, debido a un conflicto potencial con la CDN."

#: src/error.cls.php:231
msgid "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."
msgstr "No puedes eliminar esta zona de DNS porque aún está en uso. Por favor, actualiza los servidores de nombers, luego tratar de borrar de nuevo esta zona, en caso contrario tu sitio será inaccesible."

#: src/error.cls.php:134
msgid "The site is not a valid alias on QUIC.cloud."
msgstr "El sitio no tiene un alias válido en QUIC.cloud."

#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr "Por favor, prueba a fondo cada archivo JS que añadas para asegurar que funcionan como se espera."

#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr "Por favor, prueba a fondo todos los elementos en %s para asegurar que funcionan como se espera."

#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr "Usa %1$s para omitir UCSS para las páginas cuyo tipo de página es %2$s."

#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr "Usa %1$s para generar un único UCSS para las páginas cuyo tipo de página es %2$s, mientras que los otros tipos de páginas se mantienen por URL."

#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr "Disponible el filtro %s para la generación de UCSS por tipo de página."

#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr "Prueba fallida del modo de invitado."

#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr "Prueba superada del modo de invitado."

#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr "Probando"

#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr "Resultado de la prueba del modo de invitado"

#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr "No está en la lista negra"

#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr "Aprende más sobre cuándo es esto necesario"

#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr "Limpiadas todas las entradas de recursos localizados."

#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr "Ver el archivo «.htaccess»"

#: tpl/toolbox/edit_htaccess.tpl.php:63 tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr "Puedes usar este código %1$s en %2$s para especificar la ruta al archivo «.htaccess»."

#: tpl/toolbox/edit_htaccess.tpl.php:62 tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr "Es compatible la contante %s de PHP."

#: tpl/toolbox/edit_htaccess.tpl.php:58 tpl/toolbox/edit_htaccess.tpl.php:76
msgid "Default path is"
msgstr "La ruta por defecto es"

#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr "Ruta del archivo «.htaccess»"

#: tpl/general/settings.tpl.php:49
msgid "Please read all warnings before enabling this option."
msgstr "Por favor, lee todas las advertencias antes de activar esta opción."

#: tpl/toolbox/purge.tpl.php:83
msgid "This will delete all generated unique CSS files"
msgstr "Esto borrará todos los archivos CSS únicos generados"

#: tpl/toolbox/beta_test.tpl.php:85
msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."
msgstr "Para evitar un error de actualización, debes usar la versión %1$s o posterior antes de poder actualizar a las versiones %2$s."

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Use latest GitHub Dev/Master commit"
msgstr "Utiliza el último commit Dev/Master de GitHub"

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."
msgstr "Presiona el botón %s para usar el commit de GitHub más reciente. Master es para la versión candidata y Dev es para pruebas experimentales."

#: tpl/toolbox/beta_test.tpl.php:73
msgid "Downgrade not recommended. May cause fatal error due to refactored code."
msgstr "No se recomienda bajar de versión. Puede causar un error fatal debido a código reprogramado."

#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr "Optimiza solo las páginas para visitantes invitados (no conectados). Si se desactiva, se duplicarán los archivos CSS/JS/CCSS por cada grupo de usuarios."

#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr "Los archivos JS listados o el código JS integrado no serán optimizados por %s."

#: tpl/page_optm/settings_tuning_css.tpl.php:92
msgid "Listed URI will not generate UCSS."
msgstr "Las URI listadas no generarán UCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:74
msgid "The selector must exist in the CSS. Parent classes in the HTML will not work."
msgstr "El selector debe existir en el CSS. Las clases principales en HTML no funcionarán."

#: tpl/page_optm/settings_tuning_css.tpl.php:70
#: tpl/page_optm/settings_tuning_css.tpl.php:145
msgid "Wildcard %s supported."
msgstr "Compatibilidad con el comodín %s."

#: tpl/page_optm/settings_media_exc.tpl.php:34
msgid "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."
msgstr "Útil para imágenes de la mitad superior de la página que causan CLS (una métrica de Core Web Vitals)."

#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr "Establece un ancho y alto explícitos en los elementos de la imagen para reducir los cambios de diseño y mejorar CLS (una métrica de Core Web Vitals)."

#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr "Los cambios en este ajuste no se aplican a los LQIP ya generados. Para regenerar los LQIP existentes, por favor, primero %s desde el menú de la barra de administración."

#: tpl/page_optm/settings_js.tpl.php:79
msgid "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."
msgstr "Aplazar hasta que se analiza la página o retrasar hasta que la interacción pueda ayudar a reducir la contención de recursos y mejorar el rendimiento, lo que provoca un FID más bajo (métrica de Core Web Vitals)."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr "Retrasado"

#: tpl/page_optm/settings_js.tpl.php:52
msgid "JS error can be found from the developer console of browser by right clicking and choosing Inspect."
msgstr "El error JS se puede encontrar en la consola de desarrollador del navegador haciendo clic derecho y eligiendo inspeccionar."

#: tpl/page_optm/settings_js.tpl.php:51 tpl/page_optm/settings_js.tpl.php:85
msgid "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."
msgstr "Esta opción puede resultar en un error de JS o un problema de diseño en las páginas de portada con ciertos temas/plugins."

#: tpl/page_optm/settings_html.tpl.php:147
msgid "This will also add a preconnect to Google Fonts to establish a connection earlier."
msgstr "Esto también añadirá una preconexión a Google Fonts para establecer una conexión antes."

#: tpl/page_optm/settings_html.tpl.php:91
msgid "Delay rendering off-screen HTML elements by its selector."
msgstr "Retraso al mostrar los elementos HTML fuera de la pantalla por su selector."

#: tpl/page_optm/settings_css.tpl.php:314
msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."
msgstr "Desactiva esta opción para generar CCSS por tipo de contenido en lugar de por página. Esto puede ahorrar una cuota significativa de CCSS, sin embargo, puede resultar en un estilo de CSS incorrecto si tu sitio usa un maquetador de páginas."

#: tpl/page_optm/settings_css.tpl.php:230
msgid "This option is bypassed due to %s option."
msgstr "Esta opción se omite debido a la opción %s."

#: tpl/page_optm/settings_css.tpl.php:224
msgid "Elements with attribute %s in HTML code will be excluded."
msgstr "Se excluirán los elementos con el atributo %s en el código HTML."

#: tpl/page_optm/settings_css.tpl.php:217
msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."
msgstr "Usa el servicio online de QUIC.cloud para generar el CSS crítico y cargar asíncronamente el CSS restante."

#: tpl/page_optm/settings_css.tpl.php:181
msgid "This option will automatically bypass %s option."
msgstr "Esta opción omitirá automáticamente la opción %s."

#: tpl/page_optm/settings_css.tpl.php:178
msgid "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON."
msgstr "UCSS integrado para reducir la carga adicional de archivos CSS. Esta opción no será activada automáticamente para las páginas %1$s. Para usarla en las páginas %1$s, por favor, actívala."

#: tpl/page_optm/settings_css.tpl.php:155
#: tpl/page_optm/settings_css.tpl.php:160
#: tpl/page_optm/settings_css.tpl.php:292
#: tpl/page_optm/settings_css.tpl.php:297
#: tpl/page_optm/settings_vpi.tpl.php:100
#: tpl/page_optm/settings_vpi.tpl.php:105
msgid "Run %s Queue Manually"
msgstr "Ejecutar manualmente la cola %s"

#: tpl/page_optm/settings_css.tpl.php:93
msgid "This option is bypassed because %1$s option is %2$s."
msgstr "Esta opción se omite porque la opción %1$s es %2$s."

#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr "La generación automática de CSS único está en segundo plano a través de una cola basada en cron."

#: tpl/page_optm/settings_css.tpl.php:83
msgid "This will drop the unused CSS on each page from the combined file."
msgstr "Esto eliminará el CSS no utilizado en cada página del archivo combinado."

#: tpl/page_optm/entry.tpl.php:18 tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr "Ajustes HTML"

#: tpl/inc/in_upgrading.php:15
msgid "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."
msgstr "Actualizado el plugin LiteSpeed Cache. Por favor, actualiza la página para completar la actualización de los datos de configuración."

#: tpl/general/settings.tpl.php:64
msgid "Your %1$s quota on %2$s will still be in use."
msgstr "Tu cuota de %1$s en %2$s aún seguirá en uso."

#: tpl/general/settings_inc.guest.tpl.php:27
msgid "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."
msgstr "Esta opción puede ayudar a corregir la variación de la caché para ciertos visitantes avanzados de dispositivos móviles o tabletas."

#: tpl/general/settings_inc.guest.tpl.php:26
msgid "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX."
msgstr "El modo de invitado proporciona una página de destino siempre en la caché para la primera visita de un invitado automatizado y, después, intenta actualizar las variaciones de la caché a través de AJAX."

#: tpl/general/settings.tpl.php:104
msgid "Please make sure this IP is the correct one for visiting your site."
msgstr "Por favor, asegúrate de que esta IP sea la correcta para visitar tu sitio."

#: tpl/general/settings.tpl.php:103
msgid "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."
msgstr "la IP autodetectada puede no ser exacta si tienes establecida una IP saliente adicional o si tienes varias IP configuradas en tu servidor."

#: tpl/general/settings.tpl.php:86
msgid "You need to turn %s on and finish all WebP generation to get maximum result."
msgstr "Debes activar %s y finalizar toda la generación de WebP para obtener el máximo resultado."

#: tpl/general/settings.tpl.php:79
msgid "You need to turn %s on to get maximum result."
msgstr "Necesitas activar %s para obtener el máximo resultado."

#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr "Esta opción permite la máxima optimización para los visitantes del modo de invitado."

#: tpl/dash/dashboard.tpl.php:54 tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521 tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625 tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713 tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801 tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr "Más"

#: tpl/dash/dashboard.tpl.php:301
msgid "Remaining Daily Quota"
msgstr "Cuota diaria restante"

#: tpl/crawler/summary.tpl.php:246
msgid "Successfully Crawled"
msgstr "Rastreado correctamente"

#: tpl/crawler/summary.tpl.php:245
msgid "Already Cached"
msgstr "Ya en la caché"

#: tpl/crawler/settings.tpl.php:59
msgid "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."
msgstr "El rastreador usará tu mapa del sitio XML o el índice del mapa del sitio. Introduce aquí la URL completa de tu mapa del sitio."

#: tpl/cdn/cf.tpl.php:48
msgid "Optional when API token used."
msgstr "Opcional cuando se usa el token de la API."

#: tpl/cdn/cf.tpl.php:40
msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."
msgstr "Recomendado para generar el token desde la plantilla «WordPress» del token de la API de Cloudflare."

#: tpl/cdn/cf.tpl.php:35
msgid "Global API Key / API Token"
msgstr "Clave/Token global de la API"

#: tpl/cdn/other.tpl.php:52
msgid "NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s."
msgstr "NOTA: La CDN de QUIC.cloud y Cloudflare no usan asignación CDN. Si solo estás usando QUIC.cloud o Cloudflare, deja este ajuste como %s."

#: tpl/cdn/other.tpl.php:44
msgid "Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN."
msgstr "Cambia este ajuste %s si estás usando una red de entrega de contenido (CDN) tradicional o un subdominio para contenido estático con la CDN de QUIC.cloud."

#: tpl/cache/settings_inc.object.tpl.php:47
msgid "Use external object cache functionality."
msgstr "Usa la funcionalidad de la caché de objetos externos."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:24
msgid "Serve a separate cache copy for mobile visitors."
msgstr "Ofrece una copia de la caché separada para los visitantes móviles."

#: thirdparty/woocommerce.content.tpl.php:36
msgid "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."
msgstr "Por defecto, las páginas «Mi cuenta», «Pago» y «Carrito» son excluidas automáticamente de la caché. Una mala configuración de las asociaciones de páginas en los ajustes de WooCommerce puede hacer que algunas páginas sean excluidas erróneamente."

#: src/purge.cls.php:312
msgid "Cleaned all Unique CSS files."
msgstr "Limpiados todos los archivos CSS únicos."

#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr "Añadir tamaños que faltan"

#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr "Optimizar solamente para invitados"

#: src/lang.cls.php:191
msgid "Guest Mode JS Excludes"
msgstr "Exclusiones JS del modo de invitado"

#: src/lang.cls.php:171
msgid "CCSS Per URL"
msgstr "CCSS por URL"

#: src/lang.cls.php:168
msgid "HTML Lazy Load Selectors"
msgstr "Selectores HTML de carga diferida"

#: src/lang.cls.php:163
msgid "UCSS URI Excludes"
msgstr "Exclusiones UCSS de la URI"

#: src/lang.cls.php:160
msgid "UCSS Inline"
msgstr "UCCS integrado"

#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr "Optimización para invitados"

#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr "Modo de invitado"

#: src/error.cls.php:150
msgid "Online node needs to be redetected."
msgstr "El nodo online tiene que volver a ser detectado."

#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr "El servidor actual está bajo una gran carga."

#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr "Por favor, consulta %s para más detalles."

#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr "¡Este ajuste regenerará la lista de rastreadores y vaciará la lista de desactivados!"

#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr "%1$s %2$s archivos restantes en la cola"

#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr "¡Se ha vaciado la lista de rastreadores desactivados! ¡Todos los rastreadores están activos! "

#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr "Nodo detectado nuevamente"

#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr "No hay ningún nodo de la nube disponible después de comprobar la carga del servidor."

#: src/lang.cls.php:176
msgid "Localization Files"
msgstr "Archivos de idiomas"

#: cli/purge.cls.php:234
msgid "Purged!"
msgstr "¡Purgado!"

#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr "Los recursos listados aquí se copiarán y reemplazarán con URL locales."

#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr "Usar el último commit maestro de GitHub"

#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr "Usar el último commit de desarrollo de GitHub"

#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr "No se ha analizado ningún mapa del sitio válido para el rastreador."

#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr "Combinación de CSS externo e integrado"

#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr "Incluye CSS externo y CSS integrado en un archivo combinado cuando %1$s también está activado. Esta opción ayuda a mantener las prioridades de CSS, que debería minimizar los errores potenciales causados por la combinación de CSS."

#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr "Minimiza archivos CSS y código CSS integrado."

#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr "La lista predefinida también se combinará con los ajustes anteriores"

#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr "Localización"

#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr "Incluye JS externo y JS integrado en un archivo combinado cuando %1$s también está activado. Esta opción ayuda a mantener las prioridades de ejecución de JS, que debería minimizar los errores potenciales causados por la combinación de JS."

#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr "Combina todos los archivos JS locales en un único archivo."

#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr "Los archivos JS listados o el código JS integrado no serán aplazados ni diferidos."

#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr "Combinación de JS externo e integrado"

#: src/admin-display.cls.php:805 tpl/banner/new_version.php:114
#: tpl/banner/score.php:142 tpl/banner/slack.php:49
msgid "Dismiss"
msgstr "Descartar"

#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr "El último archivo de datos es"

#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr "La lista se fusionará con los nonces predefinidos en tu archivo de datos local."

#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr "Combina archivos CSS y código CSS integrado."

#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr "Minimiza archivos JS y códigos JS integrados."

#: tpl/page_optm/settings_tuning.tpl.php:63
msgid "Listed JS files or inline JS code will not be minified or combined."
msgstr "Los archivos JS de la lista o el código JS integrado no se minimizarán o combinarán."

#: tpl/page_optm/settings_tuning_css.tpl.php:31
msgid "Listed CSS files or inline CSS code will not be minified or combined."
msgstr "Los archivos CSS de la lista o el código CSS integrado no se minimizarán o combinarán."

#: src/admin-display.cls.php:1311
msgid "This value is overwritten by the Network setting."
msgstr "Este valor queda sobrescrito por el ajuste de red."

#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr "Exclusiones de LQIP"

#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr "Estas imágenes no generarán LQIP."

#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr "¿Seguro que quieres restablecer los ajustes a los valores por defecto?"

#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr "Esta opción eliminará todas las etiquetas %s del HTML."

#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr "¿Seguro que quieres vaciar todos los nodos cloud?"

#: src/lang.cls.php:193 tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr "Eliminar las etiquetas Noscript"

#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr "El sitio no está registrado en QUIC.cloud."

#: src/error.cls.php:73 tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144 tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr "Haz clic aquí para configurarlo."

#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr "Recursos localizados"

#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr "Configurar cabeceras personalizadas"

#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr "Esto borrará todos los recursos localizados"

#: src/gui.cls.php:776 src/gui.cls.php:996 tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr "Recursos localizados"

#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr "Se admiten comentarios. Empieza una línea con un %s para convertirla en una línea de comentario."

#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr "Solo orígenes HTTPS."

#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr "Localizar recursos externos."

#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr "Ajustes de localización"

#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr "Usar el servicio en línea QUIC.cloud para generar CSS único."

#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr "Generar UCSS"

#: tpl/dash/dashboard.tpl.php:668 tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr "CSS único"

#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr "Purga las entradas de la caché creadas por este plugin, excepto las cachés de CSS único, CSS crítico y de LQIP"

#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr "Informe de LiteSpeed"

#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr "Grupo de tamaños de miniaturas"

#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr "Ignorar ciertas cadenas de petición al cachear. (LSWS %s obligatorio)"

#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr "En el caso de las URL con comodines, puede haber un retraso en el inicio de la purga programada."

#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr "Por diseño, esta opción puede servir contenido obsoleto. No actives esta opción si no estás de acuerdo."

#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr "Servir contenido rancio"

#: src/admin-display.cls.php:1309
msgid "This value is overwritten by the primary site setting."
msgstr "Este valor es sobrescrito por el ajuste principal del sitio."

#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr "Una o más de las imágenes recuperadas no coincide con el md5 de imagen avisado"

#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr "Una o más imágenes optimizadas han caducado y han sido borradas."

#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr "Tienes demasiadas imágenes solicitadas, inténtalo dentro de unos minutos."

#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr "El md5 de la imagen WebP recuperada no coincide con el md5 avisado de la imagen WebP."

#: src/img-optm.cls.php:1131
msgid "Pulled AVIF image md5 does not match the notified AVIF image md5."
msgstr "El md5 de la imagen AVIF extraída no coincide con el md5 de la imagen AVIF avisada."

#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr "Leer la documentación de LiteSpeed"

#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr "La cola aún no ha sido recuperada. Información de la cola: %s."

#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr "Especifica durante cuánto tiempo, en segundos, se almacenan en la caché los archivos de Gravatar."

#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr "Purgadas %1$s imágenes no válidas."

#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr "Ajustes generales de LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr "Esto borrará todos los archivos Gravatar almacenados en caché"

#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr "Evita cualquier registro de depuración de las páginas listadas."

#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr "Solo registra las páginas listadas."

#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr "Especifica el tamaño máximo del archivo de registro."

#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr "Para evitar que se llene el disco, este ajuste debe estar APAGADO cuando todo funcione."

#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr "Pulsa el botón %s para detener la prueba beta y volver a la versión actual del directorio de plugins de WordPress."

#: tpl/toolbox/beta_test.tpl.php:65 tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr "Usar la última versión de WordPress"

#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr "O"

#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr "Utiliza esta sección para cambiar la versión del plugin. Para hacer una prueba beta de un commit de GitHub, introduce la URL del commit en el campo de abajo."

#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr "Restablecer ajustes"

#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr "Caja de herramientas de LiteSpeed"

#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr "Pruebas beta"

#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr "Vista de registros"

#: tpl/toolbox/entry.tpl.php:33 tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr "Ajustes de depuración"

#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr "Actívalo para controlar heartbeat en el editor."

#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr "Actívalo para controlar heartbeat en el escritorio."

#: tpl/toolbox/heartbeat.tpl.php:58 tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr "Ponlo en %1$s para bloquear heartbeat en %2$s."

#: tpl/toolbox/heartbeat.tpl.php:57 tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr "El intervalo válido de WordPress es de %s segundos."

#: tpl/toolbox/heartbeat.tpl.php:56 tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr "Especifica el intervalo de heartbeat para %s en segundos."

#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr "Enciéndelo para controlar heartbeat en las páginas públicas."

#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr "Desactuva el intervalo del heartbeat de WordPress para reducir la carga del servidor."

#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr "Control de Heartbeat"

#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr "proporciona más información aquí para ayudar al equipo de LiteSpeed con la depuración."

#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr "Opcional"

#: tpl/toolbox/report.tpl.php:100 tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr "Generar el enlace para el usuario actual"

#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr "Enlace sin contraseña"

#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr "Información del sistema"

#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr "Ir a la lista de plugins"

#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr "Instalar la seguridad de DoLogin"

#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr "Comprobar mi IP pública desde"

#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr "La IP de tu servidor"

#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr "Introduce la dirección IP de este sitio para permitir que los servicios en la nube llamen directamente a la IP en lugar de al nombre de dominio. Esto elimina la sobrecarga de búsquedas de DNS y CDN."

#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr "Esto activará el cron rastreador."

#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr "Ajustes generales del rastreador"

#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr "Eliminar de la lista negra"

#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr "Vaciar la lista negra"

#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr "¿Seguro que quieres borrar todos los elementos de la lista negra?"

#: tpl/crawler/blacklist.tpl.php:88 tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr "En la lista negra debido a que no se puede cachear"

#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr "Añadir a la lista negra"

#: tpl/crawler/blacklist.tpl.php:43 tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr "Operación"

#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr "Total del mapa del sitio"

#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr "Lista del mapa del sitio"

#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr "Recargar el mapa del rastreador"

#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr "Vaciar el mapa del rastreador"

#: tpl/crawler/blacklist.tpl.php:28 tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr "Lista negra"

#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr "Mapa"

#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr "Sumario"

#: tpl/crawler/map.tpl.php:63 tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr "Fallo de caché"

#: tpl/crawler/map.tpl.php:62 tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr "Acierto de caché"

#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr "Esperando a ser rastreado"

#: tpl/crawler/blacklist.tpl.php:89 tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104 tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr "En lista negra"

#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr "Fallo"

#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr "Acierto"

#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr "En espera"

#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr "En curso"

#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr "Usa %1$s en %2$s para indicar que esta cookie no ha sido establecida."

#: src/admin-display.cls.php:459
msgid "Add new cookie to simulate"
msgstr "Añadir una cookie nueva para simular"

#: src/admin-display.cls.php:458
msgid "Remove cookie simulation"
msgstr "Eliminar la simulación de la cookie"

#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr "La regla de Htaccess es: %s"

#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr "Más ajustes disponibles en el menú %s"

#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr "La cantidad de tiempo, en segundos, que los archivos se almacenarán en la caché del navegador antes de caducar."

#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr "Marca esto si eres un usuario de OpenLiteSpeed"

#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr "Ajustes de la caché del navegador"

#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr "Las rutas que contengan estas cadenas serán forzadas a ser almacenados públicamente sin tener en cuenta los ajustes de no-cacheable."

#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr "Con la CDN de QUIC.cloud activada, puede que todavía estés viendo las cabeceras de la caché de tu servidor local."

#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr "Se puede utilizar un segundo parámetro opcional para especificar el control de la caché. Utiliza un espacio para separar"

#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr "Los nonces anteriores se convertirán en ESI automáticamente."

#: tpl/cache/entry.tpl.php:21 tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr "Navegador"

#: tpl/cache/entry.tpl.php:20 tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr "Objeto"

#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr "Puerto por defecto de %1$s es %2$s."

#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr "Ajustes de la caché de objetos"

#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr "Especifica un código de estado HTTP y el número de segundos que almacenar esa página en caché, separados por un espacio."

#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr "Especifica cuánto tiempo, en segundos, se almacena la página de inicio."

#: tpl/cache/entry.tpl.php:67 tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr "TTL"

#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr "Si está activada, se les mostrará a los visitantes una copia vieja de la página almacenada en caché hasta que haya una nueva copia disponible. Reduce la carga del servidor para las siguientes visitas. Si está apagado, la página se generará dinámicamente mientras los visitantes esperan."

#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr "Swap"

#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr "Configura esto para añadir %1$s a todas las reglas de %2$s antes de guardar en caché el CSS para especificar cómo deben mostrarse las fuentes mientras se descargan."

#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr "La lista de avatares está en la cola esperando ser actualizada"

#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr "Refrescar la caché de Gravatar por cron."

#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr "Acelera la velocidad al almacenar en caché los gravatares (avatares reconocidos mundialmente)."

#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr "Almacenar los gravatares localmente."

#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."
msgstr "Fallo al crear la tabla Avatar. Por favor, sigue la guía <a %s>creación de tablas, de la Wiki de LiteSpeed</a> para terminar la configuración."

#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr "No se enviarán peticiones de LQIP para imágenes en las que tanto el ancho como la altura sean menores que estas dimensiones."

#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr "pixels"

#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr "Los números más grandes generarán un marcador de posición de mayor calidad de resolución, pero resultarán en archivos más grandes que aumentarán el tamaño de la página y consumirán más puntos."

#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr "Especifica la calidad al generar el LQIP."

#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr "Mantén esto apagado para usar marcadores de posición de color."

#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr "Usa el servicio generador de marcadores de posición de imágenes de baja calidad (LQIP) de QUIC.cloud para obtener vistas previas de la imagen mientras se carga."

#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr "Especifica el color del marcador de posición SVG adaptable."

#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr "Las variables %s serán reemplazadas por el color de fondo configurado."

#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr "Las variables %s serán reemplazadas por las correspondientes propiedades de la imagen."

#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr "Se convertirá en un marcador de posición SVG base64 sobre la marcha."

#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr "Especifica un SVG que se utilizará como marcador de posición al generar localmente."

#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr "Evita cualquier carga diferida de las páginas de la lista."

#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr "Los iframes con estos nombres de clase padres no se cargarán de forma diferida."

#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr "Los marcos que contengan estos nombres de clase no serán cargados de forma diferida."

#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr "Las imágenes que tengan estos nombres de clase de los padres no serán cargadas de forma diferida."

#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr "Optimización de página de LiteSpeed Cache"

#: tpl/page_optm/entry.tpl.php:21 tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr "Exclusiones de medios"

#: tpl/page_optm/entry.tpl.php:16 tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr "Ajustes de CSS"

#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr "Se recomienda %s."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr "Diferido"

#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr "Por defecto"

#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr "Esto puede mejorar la velocidad de carga de la página."

#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr "Activar ampliamente la precarga de DNS para las URLs del documento, incluyendo imágenes, CSS, JavaScript, etc."

#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr "La nueva versión de desarrollo %s está disponible."

#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr "¡Nueva versión para desarrolladores disponible!"

#: tpl/banner/cloud_news.tpl.php:51 tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr "Ignorar ese aviso"

#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr "Tuitea esto"

#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr "Vista previa del tweet"

#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr "Aprender más"

#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr "¡Acabas de desbloquear una promoción de QUIC.cloud!"

#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr "El ajuste de calidad de compresión de imágenes de WordPress, de 0 a 100."

#: tpl/img_optm/entry.tpl.php:17 tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19 tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr "Ajustes de optimización de imágenes"

#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr "¿Está seguro de destruir todas las imágenes optimizadas?"

#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr "Usar archivos optimizados"

#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr "Volver a utilizar imágenes optimizadas en tu web"

#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr "Usar archivos originales"

#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr "Usar imágenes originales (no optimizadas) en tu web"

#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr "Puedes alternar rápidamente entre el uso de archivos de imágenes originales (versiones no optimizadas) y optimizadas. Afectará a todas las imágenes de tu web, tanto a las versiones normales como a las versiones webp si están disponibles."

#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr "Herramientas de optimización"

#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr "Reexaminar nuevas miniaturas"

#: tpl/img_optm/summary.tpl.php:289
msgid "Congratulations, all gathered!"
msgstr "¡Felicidades, todos obtenidos!"

#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr "¿Qué es un grupo de imágenes?"

#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr "Borrar todas las copias de seguridad de las imágenes originales"

#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr "Calcular el espacio en disco de las copias de seguridad"

#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr "Estado de optimización"

#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr "El límite actual es"

#: tpl/img_optm/summary.tpl.php:68
msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."
msgstr "Para asegurarnos de que nuestro servidor puede comunicarse con el tuyo sin problemas y todo funciona bien, para las pocas primeras solicitudes la cantidad de grupos de imágenes permitidas en una sola petición es limitada."

#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr "Puedes solicitar un máximo de %s imágenes de una vez."

#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr "Optimiza las imágenes con nuestro servidor en QUIC.cloud"

#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr "Las revisiones más recientes se guardarán cuando se limpien las revisiones."

#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr "Día(s)"

#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr "Especifica el número de revisiones más recientes que se deben guardar al limpiar las revisiones."

#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr "Optimización de la base de datos de la caché de LiteSpeed"

#: tpl/db_optm/entry.tpl.php:17 tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr "Ajustes de optimización de la BD"

#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr "Nombre de la opción"

#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr "Resumen de la base de datos"

#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr "Estamos bien. Ninguna tabla usa el motor MyISAM."

#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr "Convertir a InnoDB"

#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr "Herramienta"

#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr "Motor"

#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr "Tabla"

#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr "Conversor de motor de tabla de base de datos"

#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr "Limpiar las revisiones más antiguas de %1$s día(s), excluyendo %2$s últimas revisiones"

#: tpl/dash/dashboard.tpl.php:87 tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr "Rastreador activo"

#: tpl/dash/dashboard.tpl.php:84 tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr "Rastreador(es)"

#: tpl/crawler/map.tpl.php:77 tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr "Estado del rastreador"

#: tpl/dash/dashboard.tpl.php:649 tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737 tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr "Forzar cron"

#: tpl/dash/dashboard.tpl.php:646 tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734 tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr "Peticiones en cola"

#: tpl/dash/dashboard.tpl.php:639 tpl/dash/dashboard.tpl.php:683
#: tpl/dash/dashboard.tpl.php:727 tpl/dash/dashboard.tpl.php:771
msgid "Time to execute previous request: %s"
msgstr "Hora para ejecutar la solicitud anterior: %s"

#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr "Caché privada"

#: tpl/dash/dashboard.tpl.php:58 tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr "Caché pública"

#: tpl/dash/dashboard.tpl.php:53 tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr "Estado de caché"

#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr "Última lectura"

#: tpl/dash/dashboard.tpl.php:520 tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr "Resumen de la optimización de imágenes"

#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr "Actualizar la puntuación de la página"

#: tpl/dash/dashboard.tpl.php:383 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr "¿Estás seguro de que quieres volver a detectar el servidor en la nube más cercano para este servicio?"

#: tpl/dash/dashboard.tpl.php:382 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Current closest Cloud server is %s. Click to redetect."
msgstr "El servidor en la nube más cercano es %s. Haz clic para volver a detectarlo."

#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr "Actualizar el tiempo de carga de la página"

#: tpl/dash/dashboard.tpl.php:354 tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr "Ir al escritorio de QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:207 tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr "Marcador de imagen de baja calidad"

#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr "Sincronizar los datos de la nube"

#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr "Estadísticas de uso del servicio QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:293 tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr "Total de imágenes optimizadas en este mes"

#: tpl/dash/dashboard.tpl.php:292 tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr "Uso total"

#: tpl/dash/dashboard.tpl.php:274 tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr "Estadísticas pago por uso"

#: tpl/dash/dashboard.tpl.php:271 tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr "Balance de pagos"

#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr "Pago por uso"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr "Uso"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr "Uso de la cola rápida"

#: tpl/dash/dashboard.tpl.php:206 tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr "Ancho de banda de la CDN"

#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr "Escritorio de LiteSpeed Cache"

#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr "Escritorio de red"

#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr "No hay servicios de la nube en uso"

#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr "Haz clic para borrar todos los nodos para volver a detectar."

#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr "Nodos de la nube actual en servicio"

#: tpl/cdn/qc.tpl.php:126 tpl/cdn/qc.tpl.php:133 tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr "Enlace a QUIC.cloud"

#: tpl/general/entry.tpl.php:17 tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19 tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr "Ajustes generales"

#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr "Especificar qué atributos de elementos HTML serán reemplazados por mapeo CDN."

#: src/admin-display.cls.php:485
msgid "Add new CDN URL"
msgstr "Añadir una nueva URL de la CDN"

#: src/admin-display.cls.php:484
msgid "Remove CDN URL"
msgstr "Eliminar la URL de la CDN"

#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr "Para activar la siguiente funcionalidad, activa la API de Cloudflare en la configuración de la CDN."

#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr "QUIC.cloud"

#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr "Ajustes de WooCommerce"

#: src/gui.cls.php:788 src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr "Caché de LQIP"

#: src/admin-settings.cls.php:297 src/admin-settings.cls.php:333
msgid "Options saved."
msgstr "Las opciones han sido guardadas."

#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr "Copias de seguridad eliminadas correctamente."

#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr "Copias de seguridad calculadas correctamente."

#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr "%d imágenes reexploradas correctamente."

#: src/img-optm.cls.php:1527 src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr "Reexploración correcta."

#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr "Todos los datos de optimización destruidos correctamente."

#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr "Datos incompletos limpiados correctamente."

#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr "Pull Cron se está ejecutando"

#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr "El servidor en la nube no ha encontrado ninguna imagen válida por en la petición actual."

#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr "No se ha encontrado ninguna imagen válida en la petición actual."

#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr "%1$s enviadas al servidor en la nube, %2$s aceptadas."

#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr "Edad máxima de las revisiones"

#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr "Número máximo de revisiones"

#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr "URIs excluidas de la depuración"

#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr "URIs incluidas en la depuración"

#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr "Atributo HTML a reemplazar"

#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr "Usar mapeo de CDN"

#: tpl/general/online.tpl.php:100
msgid "QUIC.cloud CDN:"
msgstr "CDN de QUIC.cloud:"

#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr "TTL de heartbeat del editor"

#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr "Heartbeat del editor"

#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr "TTL de heartbeat de la administración"

#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr "Control de heartbeat de la administración"

#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr "TTL de heartbeat de la parte pública"

#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr "Control de heartbeat de la parte pública"

#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr "Ruta del .htaccess de la administración"

#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr "Ruta del .htaccess de la parte pública"

#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr "Nonces de ESI"

#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr "Control de la calidad de imagen de WordPress"

#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr "Cron de petición automática"

#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr "Generar LQIP en segundo plano"

#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr "Dimensiones mínimas de LQIP"

#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr "Calidad de LQIP"

#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr "Generador de LQIP en la nube"

#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr "Marcador de posición SVG adaptable"

#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr "Color del marcador de posición adaptable"

#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr "Marcador de posición de imagen básica"

#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr "Exclusión de URIs de carga diferida"

#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr "Exclusiones de carga diferida de clases padre de iframes"

#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr "Exclusiones de carga diferida de clases de iframes"

#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr "Exclusiones de carga diferida de clases padres"

#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr "TTL de la caché de Gravatar"

#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr "Cron de la caché de Gravatar"

#: src/gui.cls.php:812 src/gui.cls.php:1032 src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49 tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr "Caché de Gravatar"

#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr "Control del prefetch DNS"

#: src/lang.cls.php:173 tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr "Optimización de visualización de fuentes"

#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr "Forzar URIs de caché púbica"

#: src/lang.cls.php:121
msgid "Notifications"
msgstr "Avisos"

#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr "TTL del código de estado de página por defecto"

#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr "TTL por defecto de REST"

#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr "Activa cache"

#: src/cloud.cls.php:320 src/cloud.cls.php:377 src/lang.cls.php:106
msgid "Server IP"
msgstr "IP del servidor"

#: src/lang.cls.php:30
msgid "Images not requested"
msgstr "Imágenes no solicitadas"

#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr "Se ha sincronizado la asignación de créditos correctamente con el servidor en la nube."

#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr "Fallo de comunicación con el servidor QUIC.cloud"

#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr "Buenas noticias del servidor QUIC.cloud"

#: src/cloud.cls.php:1767 src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr "Mensaje del servidor QUIC.cloud"

#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr "Por favor, inténtalo después de %1$s para el servicio %2$s."

#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr "No hay ningún nodo de la nube disponible."

#: src/cloud.cls.php:1131 src/cloud.cls.php:1144 src/cloud.cls.php:1182
#: src/cloud.cls.php:1250 src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr "Error de la nube"

#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr "La base de datos se ha ido actualizando en segundo plano desde %s. Este mensaje desaparecerá una vez que la actualización se haya completado."

#: src/media.cls.php:541
msgid "Restore from backup"
msgstr "Restaurar desde la copia de seguridad"

#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr "No existe una copia de seguridad del archivo WebP no optimizado."

#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr "Archivo WebP reducido en %1$s (%2$s)"

#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr "Actualmente usando la versión original (no optimizada) del archivo WebP."

#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr "Actualmente usando la versión optimizada del archivo WebP."

#: src/media.cls.php:464
msgid "Orig"
msgstr "Original"

#: src/media.cls.php:461
msgid "(no savings)"
msgstr "(sin reducción)"

#: src/media.cls.php:460
msgid "Orig %s"
msgstr "Original %s"

#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr "¡Felicidades! Tu archivo ya ha sido optimizado"

#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr "No existe una copia de seguridad del archivo original."

#: src/media.cls.php:453 src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr "Usando la versión optimizada del archivo. "

#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr "Ahorrado un %s del original"

#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr "Archivo original reducido en %1$s (%2$s)"

#: src/media.cls.php:421 src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr "Haz clic para cambiar a la versión optimizada."

#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr "Actualmente usando la versión original (no optimizada) del archivo."

#: src/media.cls.php:420 src/media.cls.php:490
msgid "(non-optm)"
msgstr "(no-optm)"

#: src/media.cls.php:417 src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr "Haz clic para cambiar a la versión original (no optimizada)."

#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr "Actualmente usando la versión optimizada del archivo."

#: src/media.cls.php:416 src/media.cls.php:454 src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr "(optm)"

#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr "Vista previa de la imagen LQIP para el tamaño %s"

#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr "LQIP"

#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr "Anteriormente existía en la lista negra"

#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr "Añadido manualmente a la lista negra"

#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr "Reglas de agente móvil"

#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr "Mapa del sitio creado con éxito: %d elementos"

#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr "El mapa del sitio se limpió con éxito"

#: src/admin-display.cls.php:1512
msgid "Invalid IP"
msgstr "IP no válida"

#: src/admin-display.cls.php:1484
msgid "Value range"
msgstr "Rango de valores"

#: src/admin-display.cls.php:1481
msgid "Smaller than"
msgstr "Más pequeño que"

#: src/admin-display.cls.php:1479
msgid "Larger than"
msgstr "Mayor que"

#: src/admin-display.cls.php:1473
msgid "Zero, or"
msgstr "Cero, o"

#: src/admin-display.cls.php:1461
msgid "Maximum value"
msgstr "Valor máximo"

#: src/admin-display.cls.php:1458
msgid "Minimum value"
msgstr "Valor mínimo"

#: src/admin-display.cls.php:1438
msgid "Path must end with %s"
msgstr "La ruta debe terminar en %s"

#: src/admin-display.cls.php:1418
msgid "Invalid rewrite rule"
msgstr "Regla de reescritura no válida"

#: src/admin-display.cls.php:1318
msgid "Currently set to %s"
msgstr "Actualmente establecido en %s"

#: src/admin-display.cls.php:1305
msgid "This value is overwritten by the PHP constant %s."
msgstr "Este valor es sobrescrito por la constante %s de PHP."

#: src/admin-display.cls.php:261
msgid "Toolbox"
msgstr "Herramientas"

#: src/admin-display.cls.php:259
msgid "Database"
msgstr "Base de datos"

#: src/admin-display.cls.php:258 tpl/dash/dashboard.tpl.php:205
#: tpl/dash/network_dash.tpl.php:37 tpl/general/online.tpl.php:83
#: tpl/general/online.tpl.php:133 tpl/general/online.tpl.php:148
msgid "Page Optimization"
msgstr "Optimización de página"

#: src/admin-display.cls.php:251 tpl/dash/entry.tpl.php:16
msgid "Dashboard"
msgstr "Escritorio"

#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr "Convertido a InnoDB correctamente."

#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr "Vaciados todos los archivos de Gravatar."

#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr "Vaciados todos los archivos LQIP."

#: src/error.cls.php:238
msgid "Unknown error"
msgstr "Error desconocido"

#: src/error.cls.php:227
msgid "Your domain has been forbidden from using our services due to a previous policy violation."
msgstr "A tu dominio se le ha prohibido usar nuestros servicios debido a una violación de política anterior."

#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr "Ha fallado la validación de la devolución de llamada a tu dominio. Por favor, asegúrate de que no hay un cortafuegos bloqueando nuestros servidores. Código de respuesta: "

#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr "Ha fallado la validación de la devolución de llamada a tu dominio. Por favor, asegúrate de que no hay un cortafuegos bloqueando nuestros servidores."

#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr "Ha fallado la validación de la llamada a tu dominio debido a la falta de coincidencia del hash."

#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr "Tu solicitud está a la espera de aprobación."

#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr "La solicitud anterior es demasiado reciente. Por favor, inténtalo de nuevo después de %s."

#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr "La solicitud anterior es demasiado reciente. Por favor, inténtalo de nuevo más tarde."

#: src/error.cls.php:194
msgid "Crawler disabled by the server admin."
msgstr "Rastreador desactivado por el administrador del servidor."

#: src/error.cls.php:190
msgid "Failed to create table %1$s! SQL: %2$s."
msgstr "¡Error al crear la tabla %1$s! SQL: %2$s."

#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr "No se ha podido encontrar %1$s en %2$s."

#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr "Los créditos no son suficientes para proceder con la solicitud actual."

#: src/error.cls.php:123
msgid "There is proceeding queue not pulled yet."
msgstr "Hay una cola de procedimiento que no se ha retirado todavía."

#: src/error.cls.php:115
msgid "The image list is empty."
msgstr "La lista de imágenes está vacía."

#: src/task.cls.php:289
msgid "LiteSpeed Crawler Cron"
msgstr "Cron del rastreador de LiteSpeed"

#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr "Activa esta opción para mostrar automáticamente las últimas noticias, incluyendo correcciones de fallos, nuevas versiones, versiones beta disponibles y promociones."

#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr "Para conceder acceso a la administración de WP al equipo de soporte de LiteSpeed, por favor, genera un enlace sin contraseña para el usuario conectado actual para enviarlo con el informe."

#. translators: %s: Link tags
#: tpl/toolbox/report.tpl.php:112
msgid "Generated links may be managed under %sSettings%s."
msgstr "Los enlaces generados pueden gestionarse en los %sAjustes%s."

#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr "Por favor, NO compartas con nadie el enlace de acceso sin contraseña anterior."

#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr "Para generar un enlace de acceso sin contraseña para el equipo de soporte de LiteSpeed, debes instalar %s."

#: tpl/banner/cloud_news.tpl.php:30 tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr "Instalar"

#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr "Estas opciones solo están disponibles con LiteSpeed Enterprise Web Server o QUIC.cloud CDN."

#: tpl/banner/score.php:74 tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr "Puntuación de PageSpeed"

#: tpl/banner/score.php:62 tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411 tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr "Mejorado por"

#: tpl/banner/score.php:53 tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403 tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr "Después"

#: tpl/banner/score.php:45 tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395 tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr "Antes"

#: tpl/banner/score.php:40 tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr "Tiempo de carga de la página"

#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr "Para poder usar las funciones de cache debes tener un servidor LiteSpeed o estar usando la la CDN QUIC.cloud."

#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr "Conservar los datos EXIF/XMP"

#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr "Probar versión de GitHub"

#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr "Si cambias alguno de los ajustes de arriba a OFF, por favor, quita los tipos de archivo relacionados de la caja %s."

#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr "Se pueden usa cadenas parciales y completas."

#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr "Las imágenes que contengan estos nombres de clases no tendrán carga diferida."

#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr "Exclusión de nombres de clases para carga diferida de imágenes"

#: tpl/cache/settings-cache.tpl.php:139 tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr "Por ejemplo, %1$s define un TTL de %2$s segundos para %3$s."

#: tpl/cache/settings-cache.tpl.php:136 tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr "Para definir un TTL personalizado añade un espacio seguido por el valor de TTL Al final de la URI."

#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr "Puede que más tarde"

#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr "Activar la actualización automática"

#: tpl/banner/new_version.php:77 tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr "Actualizar"

#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr "La nueva versión %s está disponible ahora."

#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr "¡Nueva versión disponible!"

#: tpl/banner/score.php:121
msgid "Created with ❤️ by LiteSpeed team."
msgstr "Creado con ❤️ por el equipo de LiteSpeed."

#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr "¡Por supuesto, me encantará valorarlo!"

#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr "¡Gracias por usar el plugin de caché LiteSpeed!"

#: src/activation.cls.php:570
msgid "Upgraded successfully."
msgstr "Actualizado con éxito."

#: src/activation.cls.php:561 src/activation.cls.php:566
msgid "Failed to upgrade."
msgstr "Fallo al actualizar."

#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr "Ajuste cambiado con éxito."

#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr "Muestra de ESI para desarrolaldores"

#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr "Reemplaza %1$s con %2$s."

#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr "Puedes convertir shortcodes en bloques ESI."

#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr "WpW: Caché privada o caché pública"

#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr "Añade la cadena de consulta %s a los recursos para evitar esta acción."

#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr "Google reCAPTCHA se omitirá automáticamente."

#: tpl/crawler/settings.tpl.php:172
msgid "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."
msgstr "Para rastrear una cookie en particular, introduce el nombre de la cookie y los valores que deseas rastrear. Los valores deben ser uno por línea. Se creará un rastreador por cada valor de cookie, por cada perfil simulado."

#: src/admin-display.cls.php:456 tpl/crawler/settings.tpl.php:179
msgid "Cookie Values"
msgstr "Valores de la cookie"

#: src/admin-display.cls.php:455
msgid "Cookie Name"
msgstr "Nombre de la cookie"

#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr "Simulación de cookie"

#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr "Utiliza la biblioteca del cargador de fuentes web para cargar asíncronamente Google Fonts, dejando el resto del CSS intacto."

#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr "Activa esta opción para que LiteSpeed Cache se actualice automáticamente cuando se publique una nueva versión. Si está desactivada, tendrás que actualizar manualmente como de costumbre."

#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr "Actualizar automáticamente"

#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr "Tu IP"

#: src/import.cls.php:156
msgid "Reset successfully."
msgstr "Restablecimiento realizado con éxito."

#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr "Esto restablecerá todos los ajustes a su valores predeterminados."

#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr "Restablecer todos los ajustes"

#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr "Separa archivos CSS críticos al generar las rutas que contengan estas cadenas."

#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr "Distintas URIs de caché CCSS"

#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr "Por ejemplo, si todas las páginas del sitio tienen formato diferente introduce %s en la caja. Los archivos CSS críticos distintos de cada página del sitio se almacenarán."

#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr "Lista tipos de contenido en los que cada elemento de ese tipo debería generar su propio CCSS."

#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr "Tipos de contenido de caché de CCSS distintos"

#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr "Tamaño de la lista en la cola de espera del cron"

#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr "Si se establece a %1$s, antes de localizar el marcador de posición, se usará la configuración %2$s."

#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr "Genera automáticamente LQIP en segundo plano mediante una cola basada en el programador de tareas."

#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr "Esto generará el marcador de posición con las mismas dimensiones que la imagen si tiene los atributos de ancho y alto."

#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr "Los marcadores de posición de imagen pueden ayudar a reducir la recolocación de la estructura cuando se cargan las imágenes."

#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr "Marcador de posición adaptable"

#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr "Esto borrará todos los archivos generados de marcador de posición de imágenes LQIP"

#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr "Por favor, activa LiteSpeed Cache en los ajustes del plugin."

#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr "Por favor, activa el módulo LSCache en el servidor, o pídeselo a tu proveedor de alojamiento."

#: src/cloud.cls.php:1633 src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr "Fallo en la solicitud desde WordPress"

#. Description of the plugin
#: litespeed-cache.php
msgid "High-performance page caching and site optimization from LiteSpeed"
msgstr "Caché de páginas de alto rendimiento y optimización de sitio de LiteSpeed"

#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr "Datos de optimización restablecidos correctamente."

#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr "Actualizar %s"

#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr "Ver detalles de la versión %2$s de %1$s"

#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5:
#. class/aria
#: src/gui.cls.php:1103
msgid "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."
msgstr "<a href=\"%1$s\" %2$s>ver detalles de la versión %3$s</a> o <a href=\"%4$s\" %5$s target=\"_blank\">actualiza ya</a>."

#: src/gui.cls.php:1079
msgid "Install %s"
msgstr "Instalar %s"

#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr "¡Las funciones de la caché de LSCache en esta página no están disponibles en este momento!"

#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr "Para esta acción se necesita la versión %2$s del plugin %1$s."

#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr "Estamos trabajando duro para mejorar tu experiencia de servicio online. El servicio no estará disponible mientras trabajamos. Sentimos cualquier inconveniente."

#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr "Elimina automáticamente las copias de seguridad de la imagen original tras recuperar las imágenes optimizadas."

#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr "Eliminar copias de seguridad del orginal"

#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr "Solicitar automáticamente la optimización mediante un trabajo cron."

#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr "Se guarda una copia de seguridad de cada imagen antes de optimizarla."

#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr "Imágenes cambiadas correctamente."

#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr "Esto puede mejorar la calidad, pero puede dar como resultado imágenes más grandes que la compresión con pérdida."

#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr "Optimizar imágenes usando compresión sin pérdida."

#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr "Optimizar sin pérdida"

#: tpl/img_optm/settings.media_webp.tpl.php:25
msgid "Request WebP/AVIF versions of original images when doing optimization."
msgstr "Solicita versiones WebP/AVIF de las imágenes originales al hacer la optimización."

#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr "Optimiza imágenes y guarda copias de seguridad de los originales en la misma carpeta."

#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr "Optimizar imágenes originales"

#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr "Cuando esta opción se cambia a %s, también se cargan de forma asíncrona las fuentes de Google."

#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr "Limpiados todos los archivos CSS críticos."

#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr "Esto integrará la biblioteca CSS asíncrona para evitar el bloqueo de renderizado."

#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr "Biblioteca de CSS integrado asíncrono"

#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr "Ejecutar la cola manualmente"

#: tpl/page_optm/settings_css.tpl.php:117
#: tpl/page_optm/settings_css.tpl.php:254 tpl/page_optm/settings_vpi.tpl.php:65
msgid "URL list in %s queue waiting for cron"
msgstr "Lista de URL en cola %s esperando el cron"

#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr "Último coste solicitado"

#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr "Último generado"

#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr "Si se configura a %s esto se hace en segundo plano, lo que puede ralentizar la carga de la página."

#: tpl/page_optm/settings_css.tpl.php:219
msgid "Automatic generation of critical CSS is in the background via a cron-based queue."
msgstr "Genera automáticamente CSS crítico en segundo plano mediante una cola basada en el cron."

#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr "Optimiza la entrega de CSS."

#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr "Esto borrará todos los archivos generados de CSS crítico"

#: tpl/dash/dashboard.tpl.php:624 tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr "CSS crítico"

#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr "Este sitio utiliza el almacenamiento en la caché para facilitar un tiempo de respuesta más rápido y una mejor experiencia de usuario. El almacenamiento en la caché, potencialmente, almacena una copia duplicada de cada página web que se muestra en este sitio. Todos los archivos de la caché son temporales y nunca acceden a ellos terceras partes, salvo cuando necesario para obtener soporte técnico del proveedor del plugin de caché. Los archivos de la caché caducan en una programación establecida por el administrador del sitio, pero pueden ser fácilmente purgados por el administrador antes de su caducidad natural, si fuese necesario. Podemos usar los servicios de QUIC.cloud para procesar y almacenar tus datos temporalmente en la caché."

#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr "Desactivar esto puede causar que las tareas de WordPress activadas por AJAX dejen de funcionar."

#: src/utility.cls.php:214
msgid "right now"
msgstr "ahora mismo"

#: src/utility.cls.php:214
msgid "just now"
msgstr "ahora mismo"

#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr "Guardado"

#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr "Última ejecución"

#: tpl/img_optm/settings.tpl.php:66 tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr "¡No podrás revertir la optimización una vez eliminadas las copias de seguridad!"

#: tpl/img_optm/settings.tpl.php:65 tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr "Esto es irreversible."

#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr "Eliminar copias de seguridad de las imágenes originales"

#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr "¿Está seguro de querer eliminar todas las copias de seguridad de imágenes?"

#: tpl/crawler/blacklist.tpl.php:32 tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr "Total"

#: tpl/img_optm/summary.tpl.php:198 tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr "Archivos"

#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr "Último cálculo"

#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr "Calcular almacenamiento original de imágenes"

#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr "Optimización de almacenamiento"

#: tpl/img_optm/settings.tpl.php:165
msgid "Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic."
msgstr "Activar reemplazo de WebP/AVIF en los elementos %s generados fuera de la lógica de WordPress."

#: tpl/cdn/other.tpl.php:141 tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr "Usa el formato %1$s o %2$s (el elemento es opcional)."

#: tpl/cdn/other.tpl.php:137 tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr "Solo los atributos aquí listados serán reemplazados."

#: tpl/img_optm/settings.tpl.php:149
msgid "Specify which element attributes will be replaced with WebP/AVIF."
msgstr "Especificar que atributos de elementos serán reemplazados con WebP/AVIF."

#: src/lang.cls.php:231
msgid "WebP/AVIF Attribute To Replace"
msgstr "Atributo a reemplazar para WebP/AVIF"

#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr "Solo los archivos en estos directorios apuntarán a la CDN."

#: src/lang.cls.php:262
msgid "Included Directories"
msgstr "Directorios incluidos"

#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr "Se iniciará una purga completa cuando WordPress ejecute estos ganchos."

#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr "Ganchos de purgar todo"

#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr "Todas las cachés purgadas correctamente."

#: src/gui.cls.php:696 src/gui.cls.php:861 src/gui.cls.php:916
msgid "LSCache"
msgstr "LSCache"

#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr "Forzar cacheables"

#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr "Las rutas que contengan estas cadenas se cachearán independientemente de los ajustes de no cacheables."

#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr "Forzar URLs en caché"

#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr "Ajustes de exclusión"

#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr "Esto desactivará LSCache y todas las características de optimización con propósitos de depuración."

#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr "Desactivar todas las características"

#: src/gui.cls.php:741 src/gui.cls.php:961 tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr "Caché opcode"

#: src/gui.cls.php:706 src/gui.cls.php:926 tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr "Caché CSS/JS"

#: src/gui.cls.php:1055 tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr "Eliminar todas las peticiones de optimización de imágenes anteriores sin terminar."

#: src/gui.cls.php:1056 tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr "Limpiar datos no finalizados"

#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr "Únete a nuestro Slack"

#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr "Únete a la comunidad %s."

#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr "¿Quieres conectar con otros usuarios de LiteSpeed?"

#: tpl/cdn/cf.tpl.php:38
msgid "Your API key / token is used to access %s APIs."
msgstr "Tu clave de la API/token se usa para acceder a las API de %s."

#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr "Tu dirección de email en %s."

#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr "Usar la funcionalidad de la API %s."

#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr "Para aleatorizar el hostname de la CDN, define multiples hostnames para los mismos recursos."

#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr "Únete a la comunidad de Slack de LiteSpeed"

#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr "Visita el foro de soporte de LSCWP"

#: src/lang.cls.php:33 tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr "Imágenes avisadas para descargar"

#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr "¿Qué es un grupo?"

#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr "%s imagen"

#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr "%s grupo"

#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr "%s imágenes"

#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr "%s grupos"

#: src/crawler.cls.php:1310
msgid "Guest"
msgstr "Invitado"

#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr "Para rastrear el sitio como usuario conectado introduce los ids de usuario a imitar."

#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr "Simulación de rol"

#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr "ejecutando"

#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr "Tamaño"

#: tpl/crawler/summary.tpl.php:123 tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr "Razón de finalización"

#: tpl/crawler/summary.tpl.php:116 tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr "Último intervalo"

#: tpl/crawler/summary.tpl.php:104 tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr "El rastreador actual comenzó a las"

#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr "Hora de ejecución para el rastreador anterior"

#: tpl/crawler/summary.tpl.php:91 tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr "%d segundos"

#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr "Hora de la última ejecución completa para todos los rastreadores"

#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr "El rastreo del mapa del sitio actual comenzó a las"

#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr "Guarda datos transitorios en la base de datos cuando %1$s es %2$s."

#: src/lang.cls.php:143
msgid "Store Transients"
msgstr "Almacenar datos transitorios"

#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile
#. User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr "¡Si %1$s es %2$s entonces debe completarse %3$s!"

#: tpl/crawler/settings.tpl.php:89
msgid "Server allowed max value: %s"
msgstr "Valor máximo permitido por el servidor: %s"

#: tpl/crawler/settings.tpl.php:79
msgid "Server enforced value: %s"
msgstr "Valor forzado por el servidor: %s"

#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104 tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76 tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr "NOTA"

#. translators: %s: list of server variables in <code> tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr "Variable(s) del servidor %s disponible para omitir este ajuste."

#: src/admin-display.cls.php:1532 tpl/cache/settings-esi.tpl.php:103
#: tpl/page_optm/settings_css.tpl.php:87 tpl/page_optm/settings_css.tpl.php:223
#: tpl/page_optm/settings_html.tpl.php:131
#: tpl/page_optm/settings_media.tpl.php:258
#: tpl/page_optm/settings_media_exc.tpl.php:36
#: tpl/page_optm/settings_tuning.tpl.php:48
#: tpl/page_optm/settings_tuning.tpl.php:68
#: tpl/page_optm/settings_tuning.tpl.php:89
#: tpl/page_optm/settings_tuning.tpl.php:110
#: tpl/page_optm/settings_tuning.tpl.php:129
#: tpl/page_optm/settings_tuning_css.tpl.php:35
#: tpl/page_optm/settings_tuning_css.tpl.php:96
#: tpl/page_optm/settings_tuning_css.tpl.php:99
#: tpl/page_optm/settings_tuning_css.tpl.php:100
#: tpl/toolbox/edit_htaccess.tpl.php:61 tpl/toolbox/edit_htaccess.tpl.php:79
msgid "API"
msgstr "API"

#: src/purge.cls.php:531
msgid "Reset the entire OPcache successfully."
msgstr "Reestablecida correctamente la caché «OPcache»."

#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr "Importado con éxito el archivo de ajustes %s."

#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr "Importación fallida debido a un error en el archivo."

#: tpl/page_optm/settings_css.tpl.php:61 tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr "Cómo solucionar problemas causados por la optimización CSS/JS."

#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr "Esto generará peticiones extra al servidor, lo cual aumentará la carga del servidor."

#: tpl/cache/settings-advanced.tpl.php:71
msgid "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."
msgstr "Cuando un visitante pasa el cursor sobre un enlace a una página, precarga esa página. Esto acelera la visita a ese enlace."

#: src/lang.cls.php:241
msgid "Instant Click"
msgstr "Clic instantáneo"

#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr "Reestablecer toda la caché opcode"

#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr "Esto importará ajustes desde un archivo y sobreescribirá todos los ajustes de LiteSpeed Cache actuales."

#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr "Última importación"

#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr "Importar"

#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr "Ajustes de importación"

#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr "Esto exportará todos los ajustes actuales de LiteSpeed Cache y los guardará como un archivo."

#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr "Última exportación"

#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr "Exportar"

#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr "Exportar ajustes"

#: tpl/presets/entry.tpl.php:17 tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr "Importar / Exportar"

#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr "Utilizar conexiones keep-alive para acelerar operaciones de la caché."

#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr "Base de datos a usar"

#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr "ID de base de datos Redis"

#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr "Especifica la contraseña utilizada al conectar."

#: src/lang.cls.php:137
msgid "Password"
msgstr "Contraseña"

#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr "Solo disponible cuando está instalado %s."

#: src/lang.cls.php:136
msgid "Username"
msgstr "Nombre de usuario"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr "El hostname o dirección IP de tu %s."

#: src/lang.cls.php:132
msgid "Method"
msgstr "Método"

#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr "Purga correcta de todas las cachés de objetos."

#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr "La caché de objetos no está activada."

#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr "Mejora la velocidad de wp-admin mediante caché. (Puede encontrar datos caducados)"

#: src/lang.cls.php:142
msgid "Cache WP-Admin"
msgstr "Caché de WP-Admin"

#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr "Conexión persistente"

#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr "Grupos a no cachear"

#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr "Grupos cacheados a nivel de red."

#: src/lang.cls.php:139
msgid "Global Groups"
msgstr "Grupos globales"

#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr "Prueba de conexión"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr "Extensión %s"

#: tpl/cache/settings_inc.object.tpl.php:52 tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr "Estado"

#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr "TTL por defecto para objetos cacheados."

#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr "Tiempo de vida por defecto del objeto"

#: src/lang.cls.php:134
msgid "Port"
msgstr "Puerto"

#: src/lang.cls.php:133
msgid "Host"
msgstr "Host"

#: src/gui.cls.php:729 src/gui.cls.php:949 src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60 tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr "Caché de objetos"

#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr "Fallido"

#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr "Exitoso"

#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr "No disponible"

#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr "Purgar todas las cachés de objetos"

#: src/cdn/cloudflare.cls.php:275 src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr "Fallo al comunicar con Cloudflare"

#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr "Comunicado con éxito con Cloudflare."

#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr "No hay disponible una zona Cloudflare"

#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr "Avisado correctamente a Cloudflare de la purga completa."

#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr "La API de Cloudflare está configurada en off."

#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr "Avisado a Cloudflare la configuración del modo de desarrollo a %s con éxito."

#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr "Una vez guardado, coincidirá con la lista actual y se completará automáticamente."

#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr "Puedes simplemente teclear parte de dominio."

#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr "Dominio"

#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr "API de Cloudflare"

#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr "Purgar todo"

#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr "Caché de Cloudflare"

#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr "El modo de desarrollo se desactivará automáticamente después de tres horas."

#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr "Omite temporalmente la caché de Cloudflare. Esto permite cambios en el servidor de origen para que se vea en tiempo real."

#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr "El modo de desarrollo se desactivará automáticamente en %s."

#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr "El estado actual es %s."

#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr "El estado actual es %1$s desde %2$s."

#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr "Comprobar estado"

#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr "APAGAR"

#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr "ENCENDER"

#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr "Modo de desarrollo"

#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr "Zona de Cloudflare"

#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr "Dominio de Cloudflare"

#: src/gui.cls.php:717 src/gui.cls.php:937 tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr "Cloudflare"

#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr "Por ejemplo"

#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr "La precarga DNS puede reducir la latencia para los visitantes."

#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr "Prefetch DNS"

#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr "Añade estilos a tus imágenes de carga diferida"

#: src/admin-display.cls.php:1371 src/admin-display.cls.php:1390
#: tpl/cdn/other.tpl.php:108
msgid "Default value"
msgstr "Valor por defecto"

#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr "Enlaces de tipo de archivo estático que se reemplazarán con enlaces a la CDN."

#. translators: %1$s: Example query string, %2$s: Example wildcard
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:34
msgid "For example, to drop parameters beginning with %1$s, %2$s can be used here."
msgstr "Por ejemplo, para eliminar parámetros que comienzan con %1$s, se puede usar %2$s aquí."

#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr "Ignorar cadenas de consulta"

#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr "Activa esta opción si estás usando tanto HTTP como HTTPS en el mismo dominio y estás notando irregularidades en la caché."

#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr "Mejorar compatibilidad HTTP/HTTPS"

#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr "Eliminar todos los resultados/peticiones de optimización de imágenes previos, revertir optimizaciones completadas, y eliminar todos los archivos de optimización."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr "Destruir todos los datos de optimización"

#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr "Buscar nuevos tamaños de miniaturas de imágenes no optimizadas y reenviar las solicitudes de optimización de imágenes necesarias."

#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr "Esto aumentará el tamaño de los archivos optimizados."

#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr "Preservar datos EXIF (copyright, GPS, comentarios, palabras clave, etc) al optimizar."

#: tpl/toolbox/log_viewer.tpl.php:46 tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr "Vaciar los registros"

#: src/utility.cls.php:217
msgid " %s ago"
msgstr " hace %s"

#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr "WebP ha ahorrado un %s"

#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr "Si experimentas algún problema, por favor menciona el número de informe en tu mensaje de soporte."

#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr "Última descarga iniciada por cron a las %s."

#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr "Las imágenes serán descargadas automáticamente si la tarea cron si está ejecutando."

#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr "Solo pulsar el botón si la tarea cron de descarga está desactivada."

#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr "Descargar imágenes"

#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr "Este proceso es automático."

#: tpl/dash/dashboard.tpl.php:569 tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr "Última petición"

#: tpl/dash/dashboard.tpl.php:546 tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr "Imágenes recuperadas"

#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr "Informe"

#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr "Enviar este informe a LiteSpeed. Menciona este número de informe al publicar en el foro de soporte de WordPress."

#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr "Enviar a LiteSpeed"

#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr "Optimización de LiteSpeed"

#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr "Cargar Google Fonts asíncronamente"

#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr "TTL caché de navegador"

#. translators: %s: Link tags
#: tpl/img_optm/summary.tpl.php:337
msgid "Results can be checked in %sMedia Library%s."
msgstr "Los resultados pueden comprobarse en la %sBiblioteca de medios%s."

#: src/doc.cls.php:101 tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846 tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93 tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114 tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46 tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr "Leer más"

#: tpl/img_optm/summary.tpl.php:285
msgid "Image groups total"
msgstr "Total de grupos de imágenes"

#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr "Imágenes optimizadas y descargadas"

#: src/lang.cls.php:32 tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr "Imágenes solicitadas"

#: src/img-optm.cls.php:1993 src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr "Cambio correcto a archivo optimizado."

#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr "Archivo original restaurado con éxito."

#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr "Archivo WebP activado con éxito."

#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr "Archivo WebP desactivado con éxito."

#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr "Mejora significativamente el tiempo de carga reemplazando imágenes con sus versiones %s optimizadas."

#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr "Los perfiles seleccionados serán excluidos de la caché."

#: tpl/page_optm/entry.tpl.php:23 tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr "Retoques"

#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr "Los perfiles seleccionados serán excluidos de todas las optimizaciones."

#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr "Excluir perfiles"

#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr "Ajustes de los retoques"

#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr "Si no se encuentra el slug de la etiqueta, la etiqueta será eliminada de la lista al guardar."

#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr "Si no se encuentra el nombre de la categoría, la categoría será eliminada de la lista al guardar."

#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr "Después de que el servidor de optimización de imágenes de QUIC.cloud termine de optimizar, avisará a tu sitio para descargar las imágenes optimizadas."

#: tpl/dash/dashboard.tpl.php:537 tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr "Enviar solicitud de optimización"

#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr "Información de imágenes"

#: tpl/dash/dashboard.tpl.php:543 tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr "Reducción total"

#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr "Resumen de optimización"

#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr "Optimización de imágenes de LiteSpeed Cache"

#: src/admin-display.cls.php:257 src/gui.cls.php:895
#: tpl/dash/dashboard.tpl.php:204 tpl/dash/network_dash.tpl.php:36
#: tpl/general/online.tpl.php:75 tpl/general/online.tpl.php:134
#: tpl/general/online.tpl.php:149 tpl/presets/standard.tpl.php:32
msgid "Image Optimization"
msgstr "Optimización de imágenes"

#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr "Por ejemplo, los %s pueden usarse para un marcador de posición transparente."

#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr "Por defecto, se utilizará un marcador de posición de imagen gris %s."

#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr "Esto puede ser predefinido en %2$s así como usando las constantes %1$s, tomando prioridad con esta configuración."

#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr "Especifica una imagen base64 que se usará como un sencillo marcador de posición mientras terminan de cargarse las imágenes."

#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr "Se excluirán los elementos con el atributo %s en código html."

#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr "El filtro %s es compatible."

#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr "Las imágenes listadas no se cargarán de forma retrasada."

#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr "Exclusiones de carga retrasada de imágenes"

#: src/gui.cls.php:667
msgid "No optimization"
msgstr "Sin optimización"

#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr "Evitar cualquier optimización de las páginas listadas."

#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr "URL excluidas"

#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr "Deja de cargar los emojis de WordPress.org. En su lugar, se mostrarán los emoji por defecto del navegador."

#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr "Pueden utilizarse tanto URLs completas como cadenas parciales."

#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr "Cargar iframes sólo cuando entran en la ventana de visualización."

#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr "Retrasar la carga de iframes"

#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr "Esto puede mejorar el tiempo de carga de la página reduciendo las peticiones HTTP iniciales."

#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr "Cargar las imágenes sólo cuando entran en la ventana de visualización."

#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr "Retrasar la carga de imágenes"

#: tpl/page_optm/entry.tpl.php:19 tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr "Ajustes de medios"

#: tpl/cache/settings-excludes.tpl.php:46
msgid "For example, for %1$s, %2$s and %3$s can be used here."
msgstr "Por ejemplo, para %1$s, se pueden utilizar aquí %2$s y %3$s."

#: tpl/cache/settings-esi.tpl.php:113 tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr "El comodín %1$s es compatible (compara cero o más caracteres). Por ejemplo, para igualar %2$s y %3$s, utiliza %4$s."

#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr "Para que coincida con el principio, añade %s al comienzo del artículo."

#. translators: 1: example URL, 2: pattern example
#: src/admin-display.cls.php:1553
msgid "For example, for %1$s, %2$s can be used here."
msgstr "Por ejemplo, para %1$s, se puede utilizar %2$s aquí."

#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr "Quizás más tarde"

#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr "Ya he dejado una valoración"

#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr "Bienvenido a LiteSpeed"

#: src/lang.cls.php:192 tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr "Eliminar emojis de WordPress"

#: src/gui.cls.php:677
msgid "More settings"
msgstr "Más ajustes"

#: src/gui.cls.php:654
msgid "Private cache"
msgstr "Caché privada"

#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr "No cacheable"

#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr "Marcar esta página como "

#: src/gui.cls.php:584 src/gui.cls.php:601
msgid "Purge this page"
msgstr "Purgar esta página"

#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr "Deferir carga de JS"

#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr "Especifica reglas CSS críticas para contenido de la mitad superior de la página al activar %s."

#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr "Reglas de CSS críticas"

#: src/lang.cls.php:170 tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr "Cargar CSS asíncronamente"

#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr "Evita que cargue Google Fonts en todas las páginas."

#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr "Eliminar Google Fonts"

#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175 tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr "Esto puede mejorar tu puntuación de velocidad en servicios como Pingdom, GTmetrix y PageSpeed."

#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr "Eliminar cadenas de consulta de recursos estáticos internos."

#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr "Eliminar query strings"

#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr "user agents"

#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr "cookies"

#. translators: %s: Link tags
#: tpl/cache/settings_inc.browser.tpl.php:46
msgid "You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s."
msgstr "También puedes activar el almacenamiento en caché del navegador en la administración del servidor. %sObtén más información sobre los ajustes de caché del navegador de LiteSpeed%s."

#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr "El cacheo de navegador almacena archivos estáticos localmente en el navegador del usuario. Activa este ajuste para reducir peticiones repetidas a archivos estáticos."

#: src/lang.cls.php:109 tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605 tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr "Caché del navegador"

#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr "etiquetas"

#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr "Etiquetas a no cachear"

#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr "Para excluir %1$s, insertar %2$s."

#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr "categorías"

#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr "Para evitar que los %s sean almacenados en la caché, introdúcelos aquí."

#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr "Categorías a no cachear"

#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr "Las cadenas de consulta que contengan estos parámetros no se almacenarán en la caché."

#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr "Cadenas de consulta a no cachear"

#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr "Las rutas que contengan estas cadenas no serán cacheadas."

#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr "URIs a no cachear"

#: src/admin-display.cls.php:1559 src/doc.cls.php:128
msgid "One per line."
msgstr "Una por línea."

#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr "Las rutas de URI que contengan estas cadenadas NO serán cacheadas como públicas."

#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr "URIs cacheadas privadamente"

#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr "Las rutas que contengan las siguientes cadenas no se servirán desde el CDN."

#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr "Excluir ruta"

#: src/lang.cls.php:259 tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr "Incluir tipos de archivo"

#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr "Servir todos los archivos JS a través de la CDN. Esto afectará a todos los archivos JS en cola de WordPress."

#: src/lang.cls.php:258
msgid "Include JS"
msgstr "Incluir JS"

#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr "Servir todos los archivos CSS a través de la CDN. Esto afectará a todos los archivos CSS en cola de WordPress."

#: src/lang.cls.php:257
msgid "Include CSS"
msgstr "Incluir CSS"

#: tpl/cdn/other.tpl.php:87
msgid "Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes."
msgstr "Sirve todos los archivos de imagen a través de la CDN. Esto afectará a todos los archivos adjuntos, las etiquetas HTML %1$s y los atributos CSS %2$s."

#: src/lang.cls.php:256
msgid "Include Images"
msgstr "Incluir imágenes"

#: src/admin-display.cls.php:482
msgid "CDN URL to be used. For example, %s"
msgstr "URL de la CDN a utilizar. Por ejemplo, %s"

#: src/lang.cls.php:255
msgid "CDN URL"
msgstr "URL de CDN"

#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr "URL del sitio a servir a través de la CDN. Empezando con %1$s. Por ejemplo, %2$s."

#: src/lang.cls.php:261
msgid "Original URLs"
msgstr "URLs originales"

#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr "Ajustes de CDN"

#: src/admin-display.cls.php:256
msgid "CDN"
msgstr "CDN"

#: src/admin-display.cls.php:487 src/admin-display.cls.php:1168
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.object.tpl.php:280 tpl/cdn/other.tpl.php:53
#: tpl/dash/dashboard.tpl.php:69 tpl/dash/dashboard.tpl.php:462
#: tpl/dash/dashboard.tpl.php:584 tpl/dash/dashboard.tpl.php:613
#: tpl/img_optm/settings.media_webp.tpl.php:22
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_js.tpl.php:77
#: tpl/page_optm/settings_media.tpl.php:180
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "OFF"
msgstr "OFF"

#: src/admin-display.cls.php:486 src/admin-display.cls.php:1167
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: src/doc.cls.php:41 tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.cache_mobile.tpl.php:91 tpl/cdn/other.tpl.php:45
#: tpl/crawler/settings.tpl.php:138 tpl/dash/dashboard.tpl.php:67
#: tpl/dash/dashboard.tpl.php:460 tpl/dash/dashboard.tpl.php:582
#: tpl/dash/dashboard.tpl.php:611 tpl/page_optm/settings_css.tpl.php:220
#: tpl/page_optm/settings_media.tpl.php:176
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "ON"
msgstr "ON"

#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr "Solicitada la purga de entradas CSS/JS al servidor web LiteSpeed."

#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr "Minificar contenido HTML."

#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr "Minificar HTML"

#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr "Excluir JS"

#: src/lang.cls.php:165
msgid "JS Combine"
msgstr "Combinar JS"

#: src/lang.cls.php:164
msgid "JS Minify"
msgstr "Minificar JS"

#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr "Excluir CSS"

#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr "Combinar CSS"

#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr "Minificar CSS"

#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr "Por favor, prueba a fondo al activar cualquier opción de esta lista. Después de cambiar ajustes de minimización/combinación, por favor realiza una acción «Purgar todo»."

#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr "Esto purgará solo las entradas CSS/JS minimizadas o combinadas"

#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr "Error de purga de %s"

#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr "Optimizador de base de datos"

#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr "Optimizar todas las tablas en tu base de datos"

#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr "Optimizar tablas"

#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr "Borrar todas las opciones de datos transitorios"

#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr "Todos los datos transitorios"

#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr "Borrar opciones de datos transitorios expirados"

#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr "Datos transitorios expirados"

#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr "Borrar todos los trackbacks y pingbacks"

#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr "Trackbacks/pingbacks"

#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr "Borrar todos los comentarios en la papelera"

#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr "Comentarios enviados a la papelera"

#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr "Borrar todos los comentarios spam"

#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr "Comentarios spam"

#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr "Borrar todas las entradas y páginas en la papelera"

#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr "Entradas enviadas a la papelera"

#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr "Borrar todos los borradores guardados automáticamente"

#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr "Borradores automáticos"

#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr "Borrar todas las revisiones de entradas"

#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr "Revisiones de entradas"

#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr "Limpiar todo"

#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr "Optimizadas todas las tablas."

#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr "Limpieza de todos los datos transitorios exitosa."

#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr "Limpieza de datos transitorios expirados exitosa."

#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr "Limpieza de trackbacks y pingbacks exitosa."

#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr "Limpieza de comentarios en papelera exitosa."

#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr "Limpieza de comentarios no deseados exitosa."

#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr "Limpieza de páginas y entradas en papelera exitosa."

#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr "Limpieza de borradores automáticos exitosa."

#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr "Limpieza de revisiones de entradas exitosa."

#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr "Limpieza completa exitosa."

#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr "TTL por defecto de la caché privada"

#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr "Si tu sitio incluye contenido público que solo ciertos perfiles de usuarios pueden ver, puedes especificar un grupo de variación para dichos perfiles de usuario. Por ejemplo, especificar un grupo de variación de administrador permite que haya una página cacheada públicamente personalziada para administradores (con enlaces de \"editar\", etc.), mientras que el resto de perfiles de usuario ven la página pública por defecto."

#: src/lang.cls.php:238 tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277 tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr "Grupos de variación"

#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr "Almacena en la caché el bloque ESI del formulario de comentarios incluido."

#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr "Cachear formulario de comentario"

#: tpl/cache/settings-esi.tpl.php:72
msgid "Cache the built-in Admin Bar ESI block."
msgstr "Almacena en caché el bloque ESI de la barra de administración incorporada."

#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr "Cachear barra de administrador"

#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr "Actívalo para almacenar en la caché las páginas públicas para los usuarios conectados y muestra la barra de administración y el formulario de comentarios mediante bloques ESI. Estos dos bloques no serán almacenados en la caché, salvo que se active a continuación."

#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr "ESI te permite designar partes de tu página dinámica como fragmentos diferentes que son combinados juntos para formar la página completa. En otras palabras,  ESI permite \"hacer huecos\" en una página, y rellenar dichos huecos con contenido que puede ser cacheado privadamente, cacheado públicamente con su propio TTL, o no cacheado."

#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr "Con ESI (Edge Side Includes), las páginas pueden ser servidas desde la caché a usuarios con sesión iniciada."

#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr "Privada"

#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr "Pública"

#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr "Ajustes de purga"

#: src/lang.cls.php:126 tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr "Cache móvil"

#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr "El nivel avanzado registrará más detalles."

#: tpl/presets/standard.tpl.php:29 tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr "Básico"

#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr "La carga media permitida como máximo en el servidor durante la indexación. El número de hilos en uso del rastreador será reducido activamente hasta que la carga media del servidor baje de este límite. Si esto no es posible con un solo hilo, el proceso de indexación actual será terminado."

#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr "Cachear página de acceso"

#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr "Cachear peticiones realizadas por llamadas de la API REST de WordPress."

#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr "Cachear API REST"

#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr "Cachear privadamente a los usuarios con comentarios pendientes. Desactivar esta opción servirá páginas no-cacheables a los comentaristas. (LSWS %s requerido)"

#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr "Cachear comentaristas"

#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr "Cachear privadamente páginas del sitio para usuarios con sesión iniciada. (LSWS %s requerido)"

#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr "Cachear usuarios con sesión iniciada"

#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr "Ajustes de control de caché"

#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr "ESI"

#: tpl/cache/entry.tpl.php:19 tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr "Excluir"

#: tpl/cache/entry.tpl.php:18 tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16 tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr "Purgar"

#: src/admin-display.cls.php:255 tpl/cache/entry.tpl.php:17
#: tpl/cache/entry.tpl.php:66
msgid "Cache"
msgstr "Caché"

#: tpl/inc/show_rule_conflict.php:16
msgid "Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)"
msgstr "Se ha encontrado una regla inesperada de la caché %2$s en el archivo %1$s. Esta regla puede hacer que los visitantes vean las versiones anteriores de las páginas debido a que el navegador almacena en la caché las páginas HTML. Si tienes la seguridad de que las páginas HTML no están siendo almacenadas en la caché del navegador, puedes ignorar este mensaje. (%3$sMás información%4$s)"

#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr "La hora actual del servidor es %s."

#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr "Especifica la hora para purgar la lista «%s»."

#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr "Tanto %1$s como %2$s son aceptables."

#: src/lang.cls.php:148 tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr "Hora de purga programada"

#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr "Las URLs de aquí (una por línea) serán purgadas automáticamente a la hora establecida en la opción «%s»."

#: src/lang.cls.php:147 tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr "URLs de purga programada"

#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr "Acortar cadenas de peticiones en el registro de depuración para mejorar la legibilidad."

#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr "Heartbeat"

#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr "MB"

#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr "Límite de tamaño de archivo de registro"

#: src/htaccess.cls.php:784
msgid "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"
msgstr "<p>Por favor añade/reemplaza los siguientes códigos al comiendo de %1$s:</p> %2$s"

#: src/error.cls.php:158 src/error.cls.php:182
msgid "%s file not writable."
msgstr "No se puede escribir el archivo %s."

#: src/error.cls.php:178
msgid "%s file not readable."
msgstr "No se puede leer el archivo %s."

#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr "Colapsar cadenas de peticiones"

#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr "Ajustes de ESI"

#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr "Un TTL de 0 implica no cachear."

#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr "Valor recomendado: 28800 segundos (8 horas)."

#: tpl/esi_widget_edit.php:71
msgid "Widget Cache TTL"
msgstr "TTL caché de Widgets"

#: src/lang.cls.php:234 tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr "Activar ESI"

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:66
msgid "See %sIntroduction for Enabling the Crawler%s for detailed information."
msgstr "Ver la %sIntroducción para activar el rastreador%s para obtener información detallada."

#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr "Sitemap personalizado"

#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr "Purgar páginas por URL completa o relativa."

#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr "La característica de rastreador no está activada en el servidor LiteSpeed. Por favor, consulta al administrador del servidor."

#: tpl/cache/settings-esi.tpl.php:45 tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60 tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77 tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr "ADVERTENCIA"

#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr "La siguiente indexación de sitemap completa empezará a las"

#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr "Error al escribir a %s."

#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr "El directorio no es escribible: %s."

#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr "No se puede crear el directorio: %1$s. Error: %2$s"

#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr "El directorio no existe: %s"

#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr "Solicitado la purga de la lista al servidor web LiteSpeed."

#. translators: %s: Link tags
#: tpl/cache/settings-cache.tpl.php:36
msgid "Please visit the %sInformation%s page on how to test the cache."
msgstr "Visita la página de %sInformación%s sobre cómo probar la caché."

#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr "Permite a las IPs listadas (una por línea) ejecutar ciertas acciones desde sus navegadores."

#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr "Límite de carga del servidor"

#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr "Especifica tras cuanto tiempo debe el rastreador indexar el sitemap entero de nuevo."

#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr "Intervalo de indexación"

#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr "Y otro WordPress instalado (NO MULTISITIO) en %s"

#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr "Ajustes de la caché de la red de caché de LiteSpeed"

#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr "Selecciona debajo las opciones de «Purgar por»."

#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr "CDN de la caché de LiteSpeed"

#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr "Archivo meta del rastreador aún no generado"

#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr "Mostrar estado del rastreador"

#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr "Ver estado del rastreador"

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:261
msgid "Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task."
msgstr "Consulta %sConectar WP-Cron al programador de tareas del sistema%s para aprender cómo crear la tarea cron del sistema."

#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr "La frecuencia de ejecución está fijada por el ajuste de Intervalo entre ejecuciones."

#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr "Ejecutar manualmente"

#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr "Reestablecer posición"

#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr "Frecuencia de ejecución"

#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr "Nombre del Cron"

#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr "Cron del rastreador"

#: cli/crawler.cls.php:100 tpl/crawler/summary.tpl.php:47
msgid "%d minute"
msgstr "%d minuto"

#: cli/crawler.cls.php:98 tpl/crawler/summary.tpl.php:47
msgid "%d minutes"
msgstr "%d minutos"

#: cli/crawler.cls.php:91 tpl/crawler/summary.tpl.php:39
msgid "%d hour"
msgstr "%d hora"

#: cli/crawler.cls.php:89 tpl/crawler/summary.tpl.php:39
msgid "%d hours"
msgstr "%d horas"

#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr "Generado en %s"

#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr "Rastreador de LiteSpeed Cache"

#. translators: %s: Link tags
#: tpl/inc/show_display_installed.php:37
msgid "If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s."
msgstr "Si tienes alguna pregunta, el equipo estará siempre feliz de responder cualquier pregunta en el %sforo de soporte%s."

#: src/admin-display.cls.php:260 src/lang.cls.php:267
msgid "Crawler"
msgstr "Rastreador"

#. Plugin URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"
msgstr "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"

#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr "Solicitada la purga de todas las páginas al servidor web LiteSpeed."

#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr "Todas las páginas con widget de Entradas recientes"

#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr "Páginas"

#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr "Esto solo purgará las páginas"

#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr "Purgar páginas"

#: src/gui.cls.php:133 tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr "Cancelar"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate"
msgstr "Desactivar"

#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr "Activar"

#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr "Dirección de correo electrónico"

#: src/gui.cls.php:1080
msgid "Install Now"
msgstr "Instalar ahora"

#: cli/purge.cls.php:182
msgid "Purged the URL!"
msgstr "¡Se ha purgado la URL!"

#: cli/purge.cls.php:133
msgid "Purged the blog!"
msgstr "¡Se ha purgado el blog!"

#: cli/purge.cls.php:86
msgid "Purged All!"
msgstr "¡Se ha purgado todo!"

#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr "Solicitada la purga de las páginas de error al servidor web LiteSpeed."

#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr "Si se utiliza OpenLiteSpeed, el servidor debe reiniciarse una vez para que los cambios hagan efecto."

#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr "Si la cookie de acceso ha sido cambiada recientemente en los ajustes, por favor cierra sesión y vuelve a iniciarla."

#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr "Sin embargo, no hay manera de conocer todas las posibles personalizaciones implementadas."

#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr "El plugin LiteSpeed Cache se utiliza para cachear páginas - una manera simple de mejorar el rendimiento del sitio."

#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr "El ajuste de administrador de red puede ser modificado aquí."

#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr "Especifica durante cuánto tiempo, en segundos, se almacenan en la caché las páginas públicas."

#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr "Especifica durante cuánto tiempo, en segundos, se almacenan en la caché las páginas privadas."

#: tpl/cache/network_settings-cache.tpl.php:29
msgid "It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first."
msgstr "Se recomienda ENCARECIDAMENTE que primero se pruebe la compatibilidad con otros plugins en uno o varios sitios."

#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr "Purgar páginas por ID de entrada."

#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr "Purga las entradas de caché de LiteSpeed creadas por este plugin"

#: tpl/toolbox/purge.tpl.php:33
msgid "Purge %s error pages"
msgstr "Purgar las páginas de error %s"

#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr "Esto solo purgará la página principal"

#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr "Purgar páginas por etiqueta: p. ej. %2$s debe ser usado para la URL %1$s."

#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr "Purgar páginas por nombre de categoría: p. ej. %2$s debe ser usado por la URL %1$s."

#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr "Si se debe purgar todo el sitio WordPress, usa «Purgar todo»."

#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr "Solicitado la purga de todo al servidor web LiteSpeed."

#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr "Usar configuración del sitio principal"

#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr "Esto desactivará la página de ajustes en todos los subsitios."

#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr "Marca esta opción para usar la configuración del sitio principal para todos los subsitios."

#: src/admin-display.cls.php:998 src/admin-display.cls.php:1003
msgid "Save Changes"
msgstr "Guardar cambios"

#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr "Las siguientes opciones están seleccionadas, pero no son editables en esta página de ajustes."

#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr "El administrador de red seleccionó las configuraciones del sitio primario para todos los subsitios."

#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr "Vaciar la caché entera"

#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr "Esta acción solo debe ser usada si las cosas se están almacenando en caché incorrectamente."

#: tpl/toolbox/purge.tpl.php:137
msgid "Clears all cache entries related to this site, including other web applications."
msgstr "Vacía todas las entradas de la caché relacionadas con este sitio, incluyendo otras aplicaciones web."

#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr "Esto puede causar una alta carga en el servidor."

#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr "Esto eliminará TODO dentro de la caché."

#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr "Purgar toda la caché de LiteSpeed"

#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr "Si no quieres la aceleración de litespeed, puedes desactivar este plugin."

#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr "Crear una entrada, asegurarse que la página principal está actualizada."

#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr "Visitar el sitio sin la sesión iniciada."

#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr "Ejemplos de pruebas incluyen:"

#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr "Por ello, por favor prueba el sitio para asegurar que todo sigue funcionando correctamente."

#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr "Este mensaje indica que el plugin fue instalado por el administrador del servidor."

#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr "¡El plugin LiteSpeed Cache está instalado!"

#: src/lang.cls.php:275 tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr "Registro de depuración"

#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr "Solo la IP del administrador"

#: tpl/toolbox/settings-debug.tpl.php:84
msgid "The Admin IP option will only output log messages on requests from admin IPs listed below."
msgstr "La opción de IP de administrador solo mostrará mensajes de registro en peticiones desde IPs abajo listadas."

#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr "Especifica durante cuánto tiempo, en segundos, se almacenan en la caché las llamadas REST."

#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr "El informe de entorno contiene información detallada sobre la configuración de WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr "El servidor determinará si el usuario está conectado en base a la existencia de esta cookie."

#: tpl/cache/settings-purge.tpl.php:53 tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr "Nota"

#. translators: %s: link attributes
#: thirdparty/woocommerce.content.tpl.php:30
msgid "To test the cart, visit the %sFAQ%s."
msgstr "Para probar el carrito, visita las %sFAQ%s."

#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr "Después de que la caché funcione en general, por favor prueba el carrito."

#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr "Al activarlo, la caché se purgará automáticamente cuando cualquier plugin, tema o el núcleo de WordPress sea actualizado."

#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr "Purgar todo al actualizar"

#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr "Intervalo de actualización de producto"

#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr "Determina como los cambios en la cantidad de producto o estado del inventario afecta a las páginas de producto y sus páginas de categoría asociadas."

#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr "Purgar siempre productos y categorías cuando cambie la cantidad o estado del inventario."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr "No purgar las categorías al cambiar la cantidad o estado del inventario."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr "Purgar los productos solo cuando cambie el estado del inventario."

#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr "Purgar productos y categorías solo cuando cambie el estado del inventario."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr "Purgar las categorías solo cuando el estado del inventario cambie."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr "Purgar los productos con los cambios de cantidad o estado del inventario."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr "El htaccess no coincide con la opción de configuración."

#: tpl/cache/settings-ttl.tpl.php:75 tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr "Si esto se fija en un número inferior a 30, los feeds no serán cacheados."

#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr "Especifica por cuanto tiempo, en segundos, se cachean los feeds."

#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr "TTL por defecto del Feed"

#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr "Error al obtener contenido del archivo %s."

#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr "Desactivar esta opción puede afectar negativamente al rendimiento."

#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr "Cookie de acceso no válida. Encontrados caracteres no válidos."

#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr "ADVERTENCIA: La cookie de acceso del .htaccess y la cookie de acceso de la base de datos no coinciden."

#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr "Cookie de acceso no válida. Por favor, comprueba el archivo %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr "La caché necesita distinguir quien esta logueado en cada sitio de WordPress a fin de cachear correctamente."

#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr "Hay un WordPress instalado para %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr "Ejemplo de uso:"

#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr "La cookie aquí establecida será usada por esta instalación de WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr "Si cada aplicación web utiliza la misma cookie, el servidor puede confundir si un usuario está logueado o no."

#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr "Este ajuste es útil para aquellos con multiples aplicaciones web en un mismo dominio."

#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr "La cookie de acceso por defecto es %s."

#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr "Cookie de acceso"

#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr "Aquí se puede encontrar más información sobre los comandos disponibles."

#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr "Estos ajustes están pensados SOLO PARA USUARIOS AVANZADOS."

#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr "Contenidos actuales de %s"

#: tpl/cache/entry.tpl.php:22 tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr "Avanzado"

#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr "Ajustes avanzados"

#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr "Purgar lista"

#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr "Purgar por..."

#: tpl/crawler/blacklist.tpl.php:41 tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr "URL"

#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr "Etiqueta"

#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr "ID de entrada"

#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr "Categoría"

#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr "AVISO: La cookie de inicio de sesión de la base de datos no coincide con tu cookie de inicio de sesión."

#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr "Purgar la URL %s"

#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr "Purgar la etiqueta %s"

#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr "Purgar la categoría %s"

#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr "Al desactivar la caché, se purgarán todas las entradas almacenadas en caché de este sitio."

#: tpl/cache/settings-cache.tpl.php:42 tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133 tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42 tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr "AVISO"

#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr "Este ajuste editará el archivo .htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr "Ver el archivo «.htaccess» de LiteSpeed Cache"

#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr "Fallo al hacer copia de seguridad del archivo %s, cambios cancelados."

#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr "Cookies a no cachear"

#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr "User Agents a no cachear"

#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr "Esto es para asegurar compatibilidad antes de activar la caché para todos los sitios."

#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr "Habilitar caché de red"

#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23 tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24 tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr "AVISO:"

#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr "Otras opciones serán ignoradas."

#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr "Selecciona «Todo» si hay widgets dinámicos enlazados a entradas en páginas distintas de la portada o página de inicio."

#: src/lang.cls.php:127 tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr "Lista de User Agents móviles"

#: src/file.cls.php:168 src/file.cls.php:172
msgid "File %s is not writable."
msgstr "No se puede escribir el archivo %s."

#: tpl/page_optm/entry.tpl.php:17 tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr "Ajustes de JS"

#: src/gui.cls.php:874 tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr "Gestionar"

#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr "TTL por defecto de la Página Principal"

#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr "Solicitado al servidor web LiteSpeed la purga de la página de inicio."

#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr "Purgar la página de inicio"

#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr "Ejemplo"

#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr "Todas las etiquetas son cacheadas por defecto."

#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr "Todas las categorías son cacheadas por defecto."

#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr "Para coincidencias exactas, añadir %s al final de la URL."

#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr "Las URLs serán comparadas con la variable REQUEST_URI del servidor."

#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr "Selecciona solo los tipos de archivos que se utilicen actualmente, los otros se pueden dejar desmarcados."

#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr "Notas"

#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr "Usar ajuste de administrador de red"

#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr "Desactivar"

#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr "Activar LiteSpeed Cache para WordPress aquí activa la caché para la red."

#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr "Desactivado"

#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr "Activado"

#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr "No cachear perfiles"

#. Author URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com"
msgstr "https://www.litespeedtech.com"

#. Author of the plugin
#: litespeed-cache.php
msgid "LiteSpeed Technologies"
msgstr "LiteSpeed Technologies"

#. Plugin Name of the plugin
#: litespeed-cache.php tpl/banner/new_version.php:57
#: tpl/banner/new_version_dev.tpl.php:21 tpl/cache/more_settings_tip.tpl.php:28
#: tpl/esi_widget_edit.php:41 tpl/inc/admin_footer.php:17
msgid "LiteSpeed Cache"
msgstr "LiteSpeed Cache"

#: src/lang.cls.php:277
msgid "Debug Level"
msgstr "Nivel de depuración"

#: tpl/general/settings.tpl.php:72 tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86 tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr "Nota"

#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr "Archivo de término (incluye categoría, etiqueta y taxonomía)"

#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr "Archivo diario"

#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr "Archivo mensual"

#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr "Archivo anual"

#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr "Archivo de tipo de contenido"

#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr "Archivo del autor"

#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr "Página de inicio"

#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr "Portada"

#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr "Todas las páginas"

#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr "Selecciona qué páginas serán purgadas automáticamente cuando las entradas sean publicadas o actualizadas."

#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr "Reglas de purga automática para publicación y actualización"

#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr "TTL por defecto de la caché pública"

#: src/admin-display.cls.php:1345 tpl/cache/settings_inc.object.tpl.php:162
#: tpl/crawler/settings.tpl.php:43 tpl/esi_widget_edit.php:78
msgid "seconds"
msgstr "segundos"

#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr "IPs de administrador"

#: src/admin-display.cls.php:254
msgid "General"
msgstr "Opciones generales"

#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr "Configuración de Caché de LiteSpeed"

#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr "Solicitado al servidor web LiteSpeed la purga de todas las entradas de LSCache."

#: src/gui.cls.php:686 src/gui.cls.php:696 src/gui.cls.php:706
#: src/gui.cls.php:717 src/gui.cls.php:729 src/gui.cls.php:741
#: src/gui.cls.php:753 src/gui.cls.php:765 src/gui.cls.php:776
#: src/gui.cls.php:788 src/gui.cls.php:800 src/gui.cls.php:812
#: src/gui.cls.php:906 src/gui.cls.php:916 src/gui.cls.php:926
#: src/gui.cls.php:937 src/gui.cls.php:949 src/gui.cls.php:961
#: src/gui.cls.php:973 src/gui.cls.php:985 src/gui.cls.php:996
#: src/gui.cls.php:1008 src/gui.cls.php:1020 src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47 tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64 tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82 tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100 tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118 tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr "Purgar todo"

#: src/admin-display.cls.php:548 src/gui.cls.php:884
#: tpl/crawler/entry.tpl.php:17
msgid "Settings"
msgstr "Ajustes"

#: tpl/banner/score.php:122
msgid "Support forum"
msgstr "Foro de soporte"PK`^�\�"������%translations/litespeed-cache-es_ES.monu�[������,-�<Zhxixqx�x�x2�x�xyy
y	 y
*y
5y@yMyiyy�y	�y�y	�y�y.�y�y

zzzh+zN�zg�z\K{o�{b|e{|a�|=C}d�}��}wi~��~"m7���.�4
� ?�
`�n�H��Հހ���',�
T�	b�l�u���%��ā|ʁFG�
��.��0Ȃ��%�	.�"8�[�P{�̃TۃZ0�>��ʄ�4�-)�/W�q��L��2F�Iy�*ÆJ�9�H�#T�x�������
��χQ�O3���s��E
�PS�8��0݉�'+�S�j���3��ΊԊ�$�S�	l�	v��� ��"��/Ћ*�+�
3�A�X��j�4��%�f�Y�f�~���
��'��
ǎՎ�#���+�K�
X�c�p���������ďՏ	����
�(�5�D�Q�8`�&��0��'�*�SD��� �� ֑(�� �'� 0�Q��o����W�Kt�%��	����$7�\�u���"��Ȕ"��!"�D�d�&��&��"ҕG��!=�,_�$��+��ݖ���1�O�'e�(����'���
���P#�t���1��
И%ޘ2�7�C�VO�^��
���=�N�`�t���&��.šN�*@�/k�V��]�LP�����̜ܜ ���!(�J�V�
h�v����������ٝ�%�B�
]��h�4�&'�6N�����	����ß6��4�S�d�x� ��"��נ��/�/J�*z�<��<�7�W�f��������
΢	ܢ����3�G�
N�Y�t�
����	������ϣ���
����!3�U�m�������Ѥ�
����9����)��M)�w�+��}��?�DP�8��Χ֧!�

��2�;>��z�9� B� c�K��8Щ	�$�,�@�U�m�������Ī֪�C�E�\�Hc�����
«ͫ<ګ�1�B�9W�9��
˭٭����
�(�>�Y�,t�^��q�r�z���N��	����(��
ٰ����1�K�j�r�������±˱ޱ�����+�%0�,V�s��'���3�"S�%v��� ��ݳ&��.�?�X�k�6q�(��Ѵ���L9���9��:̵6�->��l�K	�WU�����
ַ��O�
`�k���������θ�
	�Q�i�2y�����
׹'�
�(� ;�0\�������#ú�
����!,�N�i�����1�D�^�q���
����	��¼BԼ
�"�*�	.�8�2=�Zp�,˽��
�-(��V�/.�i^�:ȿ;�Y?�K��V�U<�L��f�BF�Y��:����V��`��J]�g��x�=��@��=�F�X�k�������
��<��?�\�q�������?����%� 5�&V� }�D����l��G\����6�B�U�
d��o��/���
��;��V���
��	�"�
.�
<�/G�/w���k��<(�
e�p�(����
������	��c�|�����.����
���
�%�=�J�hi���A������	����������	�'�A�
N�
\�j�y�
��
��"��������$��+ �L�#^���*���������
�$�
@�$K�(p�����C��
�P(�Fy�F��E�@M�2��B��C�>H�"��&������%���3�%M� s�"��&����!���2� K�l���>��2��$�:�Q�`�w�������d��+� C�d�/u�.��������
��:�N�b�k�x���������������
�����+�:�Y�%`���$��
������������
�@�
P�%^��������$�+�>3�r��� ����*�� ���"�28�k���"��*��*��"�"=�	`�j�z�<��,��$���
�
-�;�QK�������
��.��?��6,�;c�1��3��2�68�0o�������$�����������Q.�2��Q��D�
J�X�#h�-��$��?����6�7������%�	<�F�N�_�o��������������$�9�ER�+��*�������<8�u�����
��
��$��������!��1�P�Y]�����������)�0�9�K�Ra�c��2�?K�
������d��<3�5p�S��C��5>�t�j�����K��O��'�?G�����
��������9��;�=P�>��0��M��L�c�pk�|��/Y�&��&��)�8�7:�4r����
��
����F��d�U9���X�����)�A5�Aw������	������/�
@�	K�U�a�%p���0���I��?�$W�D|�@��9�1<�n�8{�a���&�3�?�_�o���+��
������P�<U������/��#,��P�;�E�^<�=6t�Q�+�!*:2L����
��	 =Sbv�����&��%{,;���4He��F���
!#E!]�.����&
4&RBy���Y	e	v	�	$�	,�	�	
I!

k
y
�

�
�
:�
�
;!g]�.�'/dE��G�f
$�
X�
Q7S+�J�g����Q�@0LP}^�q-�	����9EvN}�(Cl�>��U�N8e��
"&?f#k��9�
�Vi[_�C%Gia�84L/�7�6�7 -X)�L�*�)(-R(�H�A�c4R�M�9J\(s3��R�*?Whx�
���2��($;5`��������e�-\�/�Z�h ^� ]� =C!i�!8�![$"c�"C�"j(#z�#A$qP$`�$'#%qK%�%�%W�%%S&Oy&>�&'!'K9'�'E�(1�(-)80)Mi)Y�),*)>*Sh*9�*&�*)+9G+$�+X�+1�+1,AF,^�,E�,U--(�-S�-Y.Z.Jp.z�.(6/I_/x�/^"0A�04�0)�0c"10�1.�1��1��2�'3�3A�3Y4*v4F�49�4-"71P71�7(�76�78484O8R�8p�8,H9*u9.�91�9;:/=:(m:J�:4�:B;Y;Nx;Q�;o<X�</�<G=9Z=1�=��=�R>$�>�?J�?^@3~@N�@AWA�wA�B>�BHCH[C<�C1�CVDLjD$�D]�D:E?EGEME]E$iE�E�E
�E�E�E�E�EF	F�F/�F(�F)G8GXMG��G�/H��H
;I
IITI`I{I�I�I@�I�I
�I%Jg(JH�J�J
�K
�K
�KL
L!L'L:<L>wL@�Lp�LhM�M�M�M�M�Mr�M]eN5�N_�N�YO(�O8 PYP#vP�P$�P.�P2QrAQH�Q�Q!R(R,RFRCRRF�R�R
�R�RS'S6SMSkSzS�S�S�S �S�SK�SHTPT+fT�T)�T��T cU
�U�U�U�U�U�Ue
VJpVj�VK&WdrWM�WJ%XpX$�X�Xg�X*YRAYZ�Y�YZ'$Z#LZpZ�Z%)[-O[�}[/5\ke\(�\E�\�@]u�]Fm^0�^D�^.*_SY_4�_*�_
`C,`Ap`L�`-�`G-a<ua-�a�a/b0bJb)RbZ|bw�bOcC^c�c�d
�d�d�d�dK
eVe_edeeJ�e	�e�e�e�e��exf�f �f�g�g'�g,�g?!hahwhh�h	�h
�h�h
�h"�h�h#	i-i	6i	@iJiWi3ii�i	�i�i�ip�iSOjx�j|k��k�>l��liNmG�m�n��n�?o��o�pE�pq)qH-qRvq$�q�q�q_rzr�r�r%�r�r0�r.sKs`sis�s,�s�s��sKdt�t7�t9�t+u0Huyu3�u.�u\�uLvY\vz�vH1w$zw�wB�w;�w23xmfxh�xM=yG�y(�y^�y[zmz>�z�z2�z{ '{H{*e{Z�{e�{Q|om|c�|pA}E�}E�}$>~?c~(�~*�~&�~A`'h�.�s�9�F�R�2a�$��>��,��	%�/�"D�g���F'�n�kp�܃)���)�+8�d�}�
��)����ӄ'��
�"�1�
N�\�c� ������օ%��(�8�E�V�g�Oz�2ʆG��LE�K��eއ7D�-|�-��2؈�
�,�L��h��$�^C�\��(��(�5�S�6p�7��'ߋ!�)�'D�/l�1��+Ό3��,.�/[�1��4��+�Y�,x�+��,ю4��+3�(_�!��)��'ԏ5��*2�]�:d�����$Ӑf��_�!~�<��ݑ/�="�`�y������
����.������)�<�-[�;��bŔ%(�/N�]~�dܕSA�����ɖݖ'��"�"5�X�l�����'��ϗ
�� �(�B�9X�`�����I��-��G&�n�{�����#��M�#/�/S�����"��3՛$	�.�F�X�?v�;��6�M)�Iw�D���!�>�O�\�(u���
��
��ƞ�,��,�A�
I�!T�v�������Ο$� 
� +�L�X�k�'��0��%ݠ$�%(�N�'f���#��ɡۡ��K��	�@�VS�)��:ԣ����N��=	�
G�%R�6x���)ĥ�U���S�E�*Q�$|�_��C�E�	_�i�{������� Ө���1�IJ�����^���0�
4�B�PQ�#��ƫ۫B��?:�!z�����ʬ����#�#@�Ed�^��}	���$��!��J׮"�:��@�.	�8�A�Q�n�����ʰҰ��
�#�+�H�Q�b�j�Er�!��1ڱ��*��ɲ*�0�3?�%s�6��г6��4�#K�%o���H��,��0�#L�*p�`����;�MD�=��5ж��X��[�j�������"��q߸Q�'Y�)��%��ѹ���(�=�_J���<�����$�74�l���'��.̻���,� I�j�s�%��#��(μ$��%��B�+�=�Z�u�!������;	��L�	O�	Y�c�k�}�@��Yÿ9�W�s�1��&�8�o"�G��?��f�c��d��tJ�^��u�K��d��<E����c$�s��J���G����Uz�P��F!�h���%��(�����)�O?�c����!�#.�"R�u�W�������5�.N�!}�R������_����������
����������&��!�� ��(����� ���-�
?�@M�@����o��F_���&��)��&�*�7�
T�_�
l�{z�+��"�9�@S�������������1�~8���^����	������3�O�a�Br������������)�,;�h�{���2��8���@3�+t�.����$���-�	K�-U�
��,��+��&���M%�s�^��G��G8�Y��Z��B5�Tx�W��P%�$v�:������0�5�S�;q�$��-��5�6�+N�"z�%��*��!��/�E@�:��,�� ���&�A�V�m������#9�]�Cq�I��
��
�!�:�O�l�)������"����	��%��%�:�?�Y�
y�������������.��.�.H�
w�������
������J���'%�M�i��n�����i�o���1����4��,�J�)S�V}�*��%��6%�D\�@��"��,�
2�=�O�Zk�B��E	�O�U�
b�p�f���������8	�NB�A��O��D#�Gh�6��F��:.�i�m�p�+����������'��g�<��T��P�e�u�0��6��*��;�$X��}�E�
^�l�.��
�������� �>�Z�w�����.��"�V�4g�9����	�*�J=� ���������(��-�3� F�7g���l��$�B�`�y���'������g
��r�:��L4�������p��O0�<��_��K�Di�*��w��Q_aa=�C!Egn
z��G�FFKG�>�Uo
�t��4�A�;8MC�[�W&(~������_�m�eX	'�	Z�	A
J
Z
x
T�
U�
7>Ss�
�����/$#TCx�U�"*
,M
Jz
K�
IA[�A�r�h|�)���
�5	
?J\'z`�OS&f#�4�!�,�5J�Q�hCSX��#e),����4
7B)b"���+�'�#'Ka{�(�8�+3BvA���Tz$��='M-u��S�,?(\�0���EG&^ �2�"�3�I0z)�#��h%~1�'�A�@ _ M} � � � !(!VE!.�!�!`�!�5"�"B�"#7(#`#�{#$$X3${�$1%i:%m�%H&9[&Z�&!�&q'�',�'.�'�'O(a(Dy(p�(n/)��)6*U*e*+�*!�*?�*	+�+��+.\,#�,�,X�,-e.-R�-a�- I.j.�.'�..�.�.1�.-/4?/Bt/�/~�/�G0|�0UG1`�1T�1cS2\�2@3`U3a�3I49b46�4b�4065)g5<�5/�5O�5IN6i�6X7Y[7�7�7 �7@�7O=8�8k�89$ 9E9b9r9�9�9(�9�91�9":%%:3K:X: �:�:;0;@;Y;];c;zl;?�;'<10<mb<s�<_D=o�=D>~Y>>�>q?l�?`�?�W@��@K�A�A�jB-�B�C�C&�C[�C9KD_�DJ�D#0ETEPsE'�Ed�F=QG<�G?�GSH^`H1�H+�HaI0I#�I=�I@J#SJ\wJ;�JK^$Ks�K]�KtUL7�L_MdbM�MV�M�4N0�NR
O�`O��OWuP5�P-Q|1Q5�Q8�Q�R��R��SoT]�TV�T*AUWlU��U-�X2�X5Y(MY<vY'�Y�YA�Y\=Z��Z)[?F[=�[:�[U�[6U\,�\g�\?!]Ja]"�]^�]V.^x�^i�^7h_S�_?�_B4`�w`�a,�a��aT�bc&c:�cd�c!*dkLd��d�veJVfW�fW�fHQgJ�gW�g\=h+�hm�h4i@iMiSi	di*ni�i"�i�i�ij j5jMjTj]j0mk4�k?�k%lr9l��l�km�n�n�n�n$�n(o/o
JoRXo�o
�o)�o��ofwp��p
grrr
�r
�r�r�r�rE�rIskbs��s#bt�t#�t�t�t'�t�uk�u>&v}ev��v6�wF�w.x.=x(lx%�x4�x5�x�&yi�y0z+Bznzrz�zG�zW�z={L{a{(�{�{�{�{�{%|,|B|"`|)�|�|f�|	 }*}3D}x}0�}��}$d~�~$�~�~�~�~ |1]�}�Y��s�aX�X��&� :�[�uq�"�o
�tz��,�43�%h�
�����,b�8���ȅ7����+��Xڇ�3�}��Kx�*ĉL�5<�Wr�Aʊ7�D�E^�:��[ߋ7;�Rs�Uƌ.�%K�=q���͍.Ӎf��i��Q'�Ly�Ɛΐڐ���K�g�s�x���Z���
��
�	�������@�Q�R�}��;��&����H���t 6k{��b���h5��v�(
�5�`�;V2��C��w0� S����n,9%?j��Sr������e���
�/o�)����:�����0Z�i*7��&�\	�P�Il�Y��G'(��D\9���N��:��P�@�S��hVo|�����S�/1Q+~B�_�?�0p��G8�����f�As�%���f�i�*���J@~c�-e6�!p�N+��)rQ@��:�Tz�JS ���r~3<���g��'�'�[k�z���P�at.���K��g���v�|��R�;�������Z<�b�fv>���lE"\c_����
!WcEQ-�{��%��H�7<����������l.��x��J��7?��sL����G������4y�mfj
2��=���$y
���O�Ob3$A����}"M-,h�L��J:@��a�"k}�u�Ea�\AY���,��Dg��z�	bo���G�kn4�@L.8�).��eu������UV����i�Uh�x(����F�0F����8|���s
��T�����6���x�u��U|1��O���e��i����WUd��xx��,FDl��4^uGC$���ZB#s�6F4Qs���YK+V�����Q���7V�]�B���{���&}���|�BO������XS*����NR)o'-��!����$>B��eZ^��m�]�P��'�1��#�����[�9[��f���yc�RdRm�o*�o�y��+t2�	]j�j��#a%��>Ap;u���&H^�_�M`��������8"����Z�v��(�`���C[��!��I���T�W���J��}`Y{h��K��r�n�-T^��=�pK�#�v���-
#3?�"/y�/��+�� A��[`!�Y�U���g�4+�p	j�����M�5L�����rx�����>�c������i�^>�?��d�RN=�H������*E�7��T{/���"<����_L�5=t����)6�w�9f
������1�%O���d�aO:�ni0/qKA5�.��U��1���(`j~1�)���d��^��P����]6�Wh��w�M'�8�4�JT9�I���������m H_��
7��#�E��|�l�����M�q�����3��\����u��_�I=C�]D��W�2�K��BqX!�N�=��m$X����;kL��s�NF�X����VX��
����z�>2�I8����a�l��t�vZ�F��&�wYk~�Pg�y�q	���?D\����nq� 
�0C�q$����dc�9������.��GpD����tH��~
5���Cg]�In�%����,2��*m�w�	E�����&3���w��[���M���bW(zb���e<����,�<X;z�r�����{}3��: %s ago%1$s %2$d item(s)%1$s %2$s files left in queue%1$s is a %2$s paid feature.%1$s plugin version %2$s required for this action.%1$sLearn More%2$s%d hour%d hours%d item(s)%d minute%d minutes%d seconds%s Extension%s activation data expired.%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.A Purge All will be executed when WordPress runs these hooks.A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled.A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimized.AJAX Cache TTLAPIAPI: Filter %s available to disable blocklist.API: PHP Constant %s available to disable blocklist.AVIF file reduced by %1$s (%2$s)AVIF saved %sAccelerate, Optimize, ProtectAccelerates the speed by caching Gravatar (Globally Recognized Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced (Recommended)Advanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.After verifying that the cache works in general, please test the cart.AggressiveAlias is in use by another QUIC.cloud account.All QUIC.cloud service queues have been cleared.All TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Already CachedAlways purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Applied the %1$s preset %2$sApply PresetAre you sure to delete all existing blocklist items?Are you sure to destroy all optimized images?Are you sure you want to clear all cloud nodes?Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Asynchronous CSS Loading with Critical CSSAttach PHP info to report. Check this box to insert relevant data from %s.Author archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAuto Rescale Original ImagesAutoloadAutoload entriesAutoload sizeAutoload top listAutomatic generation of critical CSS is in the background via a cron-based queue.Automatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimized images.Automatically replace large images with scaled versions.Automatically request optimization via cron job.Available after %d second(s)Avatar list in queue waiting for updateBackend .htaccess PathBackend Heartbeat ControlBackend Heartbeat TTLBackup created %1$s before applying the %2$s presetBasicBasic Image PlaceholderBeforeBest available WordPress performanceBest available WordPress performance, globally fast TTFB, easy setup, and %smore%s!Beta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a gray image placeholder %s will be used.By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CCSS Per URLCCSS Selector AllowlistCDNCDN - DisabledCDN - EnabledCDN - not available for anonymous usersCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS & JS CombineCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS, JS and HTML MinificationCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache WP-AdminCache key must be integer or non-empty string, %s given.Cache key must not be an empty string.Cache requests made by WordPress REST API calls.Cache the built-in Admin Bar ESI block.Cache the built-in Comment Form ESI block.Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryCert or key file does not exist.Changed setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.Check StatusCheck my public IP fromCheck the status of your most important settings and the health of your CDN setup here.Check this option to use the primary site's configuration for all subsites.Choose which image sizes to optimize.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all orphaned post meta recordsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all trashed commentsClean all trashed posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean orphaned post meta successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean trashed comments successfully.Clean trashed posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all Unique CSS files.Cleaned all VPI data.Cleaned all localized resource entries.Cleaned up unfinished data successfully.ClearClear %s cache when "Purge All" is run.Clear Cloudflare cacheClear LogsCleared %1$s invalid images.Clears all cache entries related to this site, including other web applications.Click here to proceed.Click here to set.Click to clear all nodes for further redetection.Click to copyClick to switch to optimized version.Click to switch to original (unoptimized) version.Close popupCloud ErrorCloud server refused the current request due to rate limiting. Please try again later.Cloud server refused the current request due to unpulled images. Please pull the images first.CloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare SettingsCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimizedCongratulations, %s successfully set this domain up for the anonymous online services.Congratulations, %s successfully set this domain up for the online services with CDN service.Congratulations, %s successfully set this domain up for the online services.Congratulations, all gathered!Connected Date:Connection TestContent Delivery NetworkContent Delivery Network ServiceConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCopy LogCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled by the server admin.Crawler disabled list is cleared! All crawlers are set to active! Crawler(s)Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.Create a post, make sure the front page is accurate.Created with ❤️ by LiteSpeed team.Credits are not enough to proceed the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent closest Cloud server is %s. Click to redetect.Current crawler started atCurrent image post id positionCurrent limit isCurrent server loadCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently set to %sCurrently using optimized version of AVIF file.Currently using optimized version of WebP file.Currently using optimized version of file.Currently using original (unoptimized) version of AVIF file.Currently using original (unoptimized) version of WebP file.Currently using original (unoptimized) version of file.Custom SitemapDB Optimization SettingsDNS PreconnectDNS PrefetchDNS Prefetch ControlDNS Prefetch for static filesDaily archiveDashboardDatabaseDatabase OptimizerDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)DeactivateDeactivate LiteSpeed CacheDeactivate pluginDebug HelpersDebug LevelDebug LogDebug SettingsDebug String ExcludesDebug URI ExcludesDebug URI IncludesDefaultDefault CacheDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default path isDefault port for %1$s is %2$s.Default valueDeferredDeferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).Delay rendering off-screen HTML elements by its selector.DelayedDelete all backups of the original imagesDelivers global coverage with a growing <strong>network of 80+ PoPs</strong>.Destroy All Optimization DataDestroy all optimization data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable All Features for 24 HoursDisable CacheDisable Image LazyloadDisable VPIDisable WordPress interval heartbeat to reduce server load.Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.DisabledDisabled AVIF file successfully.Disabled WebP file successfully.Disabling this may cause WordPress tasks triggered by AJAX to stop working.Disabling this option may negatively affect performance.Disconnect from QUIC.cloudDismissDismiss this noticeDismiss this notice.Do Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.Do not show this againDomainDowngrade not recommended. May cause fatal error due to refactored code.Drop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in HTML code will be excluded.Elements with attribute %s in html code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable All FeaturesEnable CacheEnable ESIEnable QUIC.cloud CDNEnable QUIC.cloud ServicesEnable QUIC.cloud servicesEnable Viewport Images auto generation cron.Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled AVIF file successfully.Enabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.Error: Failed to apply the settings %1$sEssentialsEvery 15 MinutesEverything in Advanced, PlusEverything in Aggressive, PlusEverything in Basic, PlusEverything in Essentials, PlusExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to create table %1$s! SQL: %2$s.Failed to detect IPFailed to get %s file contents.Failed to get echo data from WPAPIFailed to parse %s activation status.Failed to request via WordPressFailed to sync Guest Mode lists.Failed to upgrade.Failed to validate %s activation data.Failed to write to %s.Fast Queue UsageFile %s is not writable.Filename is empty!FilesFilter %s available for UCSS per page type generation.Filter %s available to change threshold.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimizationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, for %1$s, %2$s and %3$s can be used here.For example, for %1$s, %2$s can be used here.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For example, to drop parameters beginning with %1$s, %2$s can be used here.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFree monthly quota available.Free monthly quota available. Can also be used anonymously (no email required).Front pageFrontend .htaccess PathFrontend Heartbeat ControlFrontend Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerate a separate vary cache copy for the mini cart when the cart is not empty.Generated at %sGenerated links may be managed under %sSettings%s.Get it from %s.Global API Key / API TokenGlobal GroupsGlobally fast TTFB, easy setup, and %s!Go to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode IP/UA sync statusGuest Mode JS ExcludesGuest Mode and Guest OptimizationGuest Mode failed to test.Guest Mode passed testing.Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX.Guest Mode testing resultGuest OptimizationHTML Attribute To ReplaceHTML Keep CommentsHTML Lazy Load SelectorsHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimization from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimization.However, there is no way of knowing all the possible customizations that were implemented.Htaccess did not match configuration option.Htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If comment to be kept is like: %1$s write: %2$sIf every web application uses the same cookie, the server may confuse whether a user is logged in or not.If not, please verify the setting in the %sAdvanced tab%s.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you are using a %1$s socket, %2$s should be set to %3$sIf you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images.If you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimizationImage Optimization SettingsImage Optimization SummaryImage Thumbnail Group SizesImage groups totalImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimized and pulledImages ready to requestImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byIn order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.In order to use QC services, need a real domain name, cannot use an IP.In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.Include CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInline CSS added to CombineInline JS added to CombineInline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.InstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.It will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS Defer for both external and inline JSJS Deferred / Delayed ExcludesJS DelayedJS Delayed IncludesJS ExcludesJS MinifyJS SettingsJS error can be found from the developer console of browser by right clicking and choosing Inspect.Join LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain color placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast PulledLast Report DateLast Report NumberLast RequestLast calculatedLast complete run time for all crawlersLast crawledLast crawled:Last exportedLast generatedLast generated: %sLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLast requested: %sLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLazy Load for IframesLazy Load for ImagesLearn MoreLearn More about QUIC.cloudLearn moreLearn more about when this is neededLearn more or purchase additional quota.Link & Enable QUIC.cloud CDNLink to QUIC.cloudLinked to QUIC.cloud preview environment, for testing purpose only.List of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.List the CSS selectors whose styles should always be included in CCSS.List the CSS selectors whose styles should always be included in UCSS.Listed CSS files or inline CSS code will not be minified or combined.Listed CSS files will be excluded from UCSS and saved to inline.Listed JS files or inline JS code will be delayed.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be minified or combined.Listed JS files or inline JS code will not be optimized by %s.Listed URI will not generate UCSS.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache Configuration PresetsLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimizationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimizationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache OptimaXLiteSpeed Cache Page OptimizationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache Standard PresetsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache is disabled. This functionality will not work.LiteSpeed Cache is temporarily disabled until: %s.LiteSpeed Cache plugin is installed!LiteSpeed Crawler CronLiteSpeed LogsLiteSpeed OptimizationLiteSpeed ReportLiteSpeed TechnologiesLiteSpeed Web ADCLiteSpeed Web ServerLiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.Load CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalizationLocalization FilesLocalization SettingsLocalize ResourcesLocalize external resources.Localized ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum image post idMaximum valueMaybe LaterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMobile CacheMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuMy QUIC.cloud DashboardNOTENOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.NOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New Version Available!New developer version %s is available now.New release %s is available now.NewsNext-Gen Image FormatNo available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimized AVIF file exists.No backup of unoptimized WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo fieldsNo optimizationNo sizes found.No valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Node:Non cacheableNot AvailableNot blocklistedNot enough parameters. Please check if the QUIC.cloud connection is set correctlyNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONOPcache is not enabled.OPcache is restricted by %s setting.ORObjectObject CacheObject Cache SettingsObject cache is not enabled.Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.On uninstall, all plugin settings will be deleted.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Online ServicesOnline node needs to be redetected.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed Web ServerOpenLiteSpeed users please check thisOperationOptimaXOptimaX SettingsOptimaX SummaryOptimization StatusOptimization SummaryOptimization ToolsOptimize CSS delivery.Optimize Image SizesOptimize LosslesslyOptimize Original ImagesOptimize TablesOptimize all tables in your databaseOptimize for Guests OnlyOptimize images and save backups of the originals in the same folder.Optimize images using lossless compression.Optimize images with our QUIC.cloud serverOptimized all tables.Option NameOptionalOptional when API token used.Optionally creates next-generation WebP or AVIF image files.Options saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Orphaned Post MetaOtherOther Static CDNOther checkboxes will be ignored.Outputs to a series of files in the %s directory.PAYG BalancePAYG used this month: %s. PAYG balance and usage not included in above quota calculation.PHP Constant %s is supported.Page Load TimePage OptimizationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:Please do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please make sure this IP is the correct one for visiting your site.Please read all warnings before enabling this option.Please see %s for more details.Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.Please visit the %sInformation%s page on how to test the cache.Plugin is too complicatedPortPosition: Post IDPost RevisionsPost type archivePreconnecting speeds up future loads from a given origin.Predefined list will also be combined w/ the above settingsPredefined list will also be combined with the above settingsPredefined list will also be combined with the above settings.Prefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimization of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality.Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.Product Update IntervalProvides <strong>security at the CDN level</strong>, protecting your server from attack.PublicPublic CachePull Cron is runningPull ImagesPulled AVIF image md5 does not match the notified AVIF image md5.Pulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge %s error pagesPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge url %sPurged All!Purged all caches successfully.Purged the URL!Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud CDNQUIC.cloud CDN OptionsQUIC.cloud CDN Status OverviewQUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.QUIC.cloud CDN is currently <strong>fully disabled</strong>.QUIC.cloud CDN:QUIC.cloud Integration DisabledQUIC.cloud Integration EnabledQUIC.cloud Integration Enabled with limitationsQUIC.cloud Online ServicesQUIC.cloud Service Usage StatisticsQUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.QUIC.cloud's Image Optimization service does the following:QUIC.cloud's Online Services improve your site in the following ways:QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.QUIC.cloud's access to your WP REST API seems to be blocked.Query strings containing these parameters will not be cached.Rate %1$s on %2$sRead LiteSpeed DocumentationRecommended to generate the token from Cloudflare API token template "WordPress".Recommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRedis encountered a fatal error: %1$s (code: %2$d)RefreshRefresh Crawler MapRefresh Gravatar cache by cron.Refresh QUIC.cloud statusRefresh StatusRefresh UsageRefresh page load timeRefresh page scoreRegenerate and Send a New ReportRemaining Daily QuotaRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.Remove Query StringsRemove Query Strings from Static FilesRemove WordPress EmojiRemove `Disable All Feature` Flag NowRemove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.Remove all previous unfinished image optimization requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed Unused CSS for UsersRemoved backups successfully.Replace %1$s with %2$s.ReportRequest WebP/AVIF versions of original images when doing optimization.Requested: %s agoRequests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset %s activation successfully.Reset All SettingsReset SettingsReset image optimization counter successfully.Reset positionReset successfully.Reset the OPcache failed.Reset the entire OPcache successfully.Reset the entire opcode cacheReset the optimized data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColorResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore SettingsRestore from backupRestored backup settings %1$sRestored original file successfully.Results can be checked in %sMedia Library%s.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun %s Queue ManuallyRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSYNTAX: alphanumeric and "_". No spaces and case sensitive.SYNTAX: alphanumeric and "_". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.Save ChangesSave transients in database when %1$s is %2$s.SavedSaving option failed. IPv4 only for %s.Scaled size thresholdScan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.Scheduled Purge TimeScheduled Purge URLsSee %sIntroduction for Enabling the Crawler%s for detailed information.Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimizations.Selected roles will be excluded from cache.Selectors must exist in the CSS. Parent classes in the HTML will not work.Send Optimization RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSend to twitter to get %s bonusSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe a separate cache copy for mobile visitors.Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes.Serve your visitors fastServer IPServer Load LimitServer allowed max value: %sServer enforced value: %sServer variable(s) %s available to override this setting.Service:Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimized %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.Site performance is worseSitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSoft Reset Optimization CounterSome optimized image file(s) has expired and was cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.Specify an HTTP status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG color.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Specify which element attributes will be replaced with WebP/AVIF.Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.Spread the love and earn %s credits to use in our QUIC.cloud online services.Standard PresetsStart watching...Started async crawlingStarted async image optimization requestStatic file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimizationStore Gravatar locally.Store TransientsSubmit a ticketSuccessfully CrawledSummarySupport forumSure I'd love to review!SwapSwitch back to using optimized images on your siteSwitched images successfully.Switched to optimized file successfully.Sync QUIC.cloud status successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSync failed.Synced successfully.SyncingSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank You for Using the LiteSpeed Cache Plugin!The Admin IP option will only output log messages on requests from admin IPs listed below.The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The deactivation is temporaryThe default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The features below are provided by %sThe following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe queue is processed asynchronously. It may take time.The selector must exist in the CSS. Parent classes in the HTML will not work.The server will determine if the user is logged in based on the existence of this cookie.The site is not a valid alias on QUIC.cloud.The site is not registered on QUIC.cloud.The user with id %s has editor access, which is not allowed for the role simulator.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This Month Usage: %sThis action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.This option can help to correct the cache vary for certain advanced mobile or tablet visitors.This option enables maximum optimization for Guest Mode visitors.This option is bypassed because %1$s option is %2$s.This option is bypassed due to %s option.This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.This option will automatically bypass %s option.This option will remove all %s tags from HTML.This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.This process is automatic.This setting is %1$s for certain qualifying requests due to %2$s!This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This value is overwritten by the %s variable.This value is overwritten by the Network setting.This value is overwritten by the PHP constant %s.This value is overwritten by the filter.This value is overwritten by the primary site setting.This will Purge Front Page onlyThis will Purge Pages onlyThis will affect all tags containing attributes: %s.This will also add a preconnect to Google Fonts to establish a connection earlier.This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?This will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated Viewport ImagesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all generated unique CSS filesThis will delete all localized resourcesThis will disable LSCache and all optimization features for debug purpose.This will disable the settings page on all subsites.This will drop the unused CSS on each page from the combined file.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimized files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?Time to execute previous request: %sTo crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.To manage your QUIC.cloud options, go to your hosting provider's portal.To manage your QUIC.cloud options, please contact your hosting provider.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomize CDN hostname, define multiple hostnames for the same resources.To test the cart, visit the %sFAQ%s.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimized in this monthTrackbacks/PingbacksTrashed CommentsTrashed PostsTry GitHub VersionTuningTuning CSS SettingsTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in backend editor.Turn ON to control heartbeat on backend.Turn ON to control heartbeat on frontend.Turn On Auto UpgradeTurn on OptimaX. This will automatically request your pages OptimaX result via cron job.Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN.Tweet previewTweet thisUCSS InlineUCSS Inline Excluded FilesUCSS Selector AllowlistUCSS URI ExcludesURI ExcludesURI Paths containing these strings will NOT be cached as public.URLURL SearchURL list in %s queue waiting for cronUnable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.Unable to automatically add %1$s as a Domain Alias for main %2$s domain.Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)Unique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUsage Statistics: %sUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimized FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.Use external object cache functionality.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Dev/Master commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimized) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.Useful for above-the-fold images causing CLS (a Core Web Vitals metric).UsernameUsing optimized version of file. VPIValue from filter appliedValue rangeVariables %s will be replaced with the configured background color.Variables %s will be replaced with the corresponding image properties.Vary CookiesVary GroupVary for Mini CartView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimizationViewport ImageViewport Image GenerationViewport ImagesViewport Images CronVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWebP/AVIF Attribute To ReplaceWebP/AVIF For Extra srcsetWelcome to LiteSpeedWhat is a group?What is an image group?When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When minifying HTML do not discard comments that match a specified pattern.When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Who should use this preset?Why are you deactivating the plugin?Widget Cache TTLWildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.Wildcard %s supported.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.You can just type part of the domain.You can list the 3rd party vary cookies here.You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the htaccess file path.You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible.You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.You have too many requested images, please try again in a few minutes.You have used all of your daily quota for today.You have used all of your quota left for current service this month.You just unlocked a promotion from QUIC.cloud!You must be using one of the following products in order to measure Page Load Time:You must set %1$s to %2$s before using this feature.You must set %s before using this feature.You need to activate QC first.You need to set the %1$s first. Please use the command %2$s to set.You need to set the %s in Settings first before using the crawlerYou need to turn %s on and finish all WebP generation to get maximum result.You need to turn %s on to get maximum result.You will be unable to Revert Optimization once the backups are deleted!You will need to finish %s setup to use the online services.Your %1$s quota on %2$s will still be in use.Your %s Hostname or IP address.Your API key / token is used to access %s APIs.Your Email address on %s.Your IPYour application is waiting for approval.Your domain has been forbidden from using our services due to a previous policy violation.Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.Your server IPYour site is connected and ready to use QUIC.cloud Online Services.Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.Zero, orcategoriescookiese.g. Use %1$s or %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowmoreno matter where they live.pixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsthe auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.unknownuser agentsPO-Revision-Date: 2025-12-29 15:17:22+0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=n != 1;
X-Generator: GlotPress/4.0.3
Language: es
Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)
 hace %s%1$s %2$d elemento(s)%1$s %2$s archivos restantes en la cola%1$s es una característica de pago de %2$s.Para esta acción se necesita la versión %2$s del plugin %1$s.%1$sAprender más%2$s%d hora%d horas%d elemento(s)%d minuto%d minutos%d segundosExtensión %s%s datos de activación caducados.No se puede leer el archivo %s.No se puede escribir el archivo %s.%s grupo%s grupos%s imagen%s imágenesSe recomienda %s.%s debe estar activo para que este ajuste funcione.(sin reducción)(no-optm)(optm)Ruta del archivo «.htaccess»<a href="%1$s" %2$s>ver detalles de la versión %3$s</a> o <a href="%4$s" %5$s target="_blank">actualiza ya</a>.<p>Por favor añade/reemplaza los siguientes códigos al comiendo de %1$s:</p> %2$s<strong>CSS crítico (CCSS)</strong> carga el contenido visible antes de desplazarse más rápido y con estilo completo.La <strong>optimización de imágenes</strong> te ofrece archivos de imagen de menor tamaño que se transmiten más rápido.El <strong>marcador de posición de imagen de baja calidad (LQIP)</strong> le da a tus imágenes un aspecto más agradable a medida que se cargan de forma diferida.La <strong>optimización de página</strong> agiliza los estilos de página y los elementos visuales para una carga más rápida.<strong>CSS único (UCSS)</strong> elimina las definiciones de estilo no utilizadas para lograr una carga de página más rápida en general.<strong>Viewport Images (VPI)</strong> proporciona una vista completa y bien pulida antes de desplazarse.Se iniciará una purga completa cuando WordPress ejecute estos ganchos.No es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Solo se activan las características básicas de almacenamiento en caché.Es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Activa el nivel máximo de optimizaciones para mejorar la puntuación de la velocidad de la página.Es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Incluye muchas optimizaciones conocidas por mejorar los resultados de velocidad de la página.Es obligatoria una conexión QUIC.cloud para utilizar este preajuste. Incluye optimizaciones conocidas por mejorar la puntuación del sitio en las herramientas de medición de la velocidad de la página.Un TTL de 0 implica no cachear.Se guarda una copia de seguridad de cada imagen antes de optimizarla.TTL de caché AJAXAPIAPI: El filtro %s está disponible para desactivar la lista de bloqueos.API: La constante %s de PHP está disponible para desactivar la lista de bloqueos.Archivo AVIF reducido en %1$s (%2$s)AVIF guardado %sAcelera, optimiza, protegeAcelera la velocidad al almacenar en caché los gravatares (avatares reconocidos mundialmente).ActivarAñadir tamaños que faltanAñadir una nueva URL de la CDNAñadir una cookie nueva para simularAñadir a la lista negraAñade estilos a tus imágenes de carga diferidaSolo la IP del administradorIPs de administradorAvanzadoAvanzado (Recomendado)Ajustes avanzadosEl nivel avanzado registrará más detalles.DespuésDespués de que el servidor de optimización de imágenes de QUIC.cloud termine de optimizar, avisará a tu sitio para descargar las imágenes optimizadas.Después de que la caché funcione en general, por favor prueba el carrito.AgresivoEl alias ya está en uso por otra cuenta de QUIC.cloud.Se han borrado todas las colas de servicio de QUIC.cloud.Todos los datos transitoriosTodas las categorías son cacheadas por defecto.Todas las páginasTodas las páginas con widget de Entradas recientesTodas las etiquetas son cacheadas por defecto.Permite a las IPs listadas (una por línea) ejecutar ciertas acciones desde sus navegadores.Ya en la cachéPurgar siempre productos y categorías cuando cambie la cantidad o estado del inventario.Se puede utilizar un segundo parámetro opcional para especificar el control de la caché. Utiliza un espacio para separarAñade la cadena de consulta %s a los recursos para evitar esta acción.Se ha aplicado el prejuste %1$s %2$sAplicar el preajuste¿Seguro que quieres borrar todos los elementos de la lista negra?¿Está seguro de destruir todas las imágenes optimizadas?¿Seguro que quieres vaciar todos los nodos cloud?¿Seguro que quieres desconectar de QUIC.cloud? Esto no eliminará ningún dato del escritorio de QUIC.cloud.¿Estás seguro de que quieres volver a detectar el servidor en la nube más cercano para este servicio?¿Está seguro de querer eliminar todas las copias de seguridad de imágenes?¿Seguro que quieres restablecer los ajustes a los valores por defecto?Carga de CSS asíncrono con CSS críticoAdjuntar información PHP al informe. Marca esta casilla para insertar datos relevantes de %s.Archivo del autorBorradores automáticosReglas de purga automática para publicación y actualizaciónCron de petición automáticaRedimensionado automático de imágenes originalesCarga automáticaCargar entradas automáticamenteTamaño de carga automáticaCargar automáticamente la lista principalGenera automáticamente CSS crítico en segundo plano mediante una cola basada en el cron.La generación automática de CSS único está en segundo plano a través de una cola basada en cron.Actualizar automáticamenteActivar ampliamente la precarga de DNS para las URLs del documento, incluyendo imágenes, CSS, JavaScript, etc.Genera automáticamente LQIP en segundo plano mediante una cola basada en el programador de tareas.Elimina automáticamente las copias de seguridad de la imagen original tras recuperar las imágenes optimizadas.Reemplaza automáticamente imágenes grandes con versiones escaladas.Solicitar automáticamente la optimización mediante un trabajo cron.Disponible después de %d segundo(s)La lista de avatares está en la cola esperando ser actualizadaRuta del .htaccess de la administraciónControl de heartbeat de la administraciónTTL de heartbeat de la administraciónCopia de seguridad creada %1$s antes de aplicar el preajuste %2$sBásicoMarcador de posición de imagen básicaAntesEl mejor rendimiento disponible para WordPress¡El mejor rendimiento disponible para WordPress, TTFB globalmente rápido, fácil configuración y %smucho más%s!Pruebas betaLista negraEn lista negraEn la lista negra debido a que no se puede cachearTanto %1$s como %2$s son aceptables.Pueden utilizarse tanto URLs completas como cadenas parciales.Se pueden usa cadenas parciales y completas.NavegadorCaché del navegadorAjustes de la caché del navegadorTTL caché de navegadorEl cacheo de navegador almacena archivos estáticos localmente en el navegador del usuario. Activa este ajuste para reducir peticiones repetidas a archivos estáticos.Por defecto, se utilizará un marcador de posición de imagen gris %s.Por defecto, las páginas «Mi cuenta», «Pago» y «Carrito» son excluidas automáticamente de la caché. Una mala configuración de las asociaciones de páginas en los ajustes de WooCommerce puede hacer que algunas páginas sean excluidas erróneamente.Por diseño, esta opción puede servir contenido obsoleto. No actives esta opción si no estás de acuerdo.CCSS por URLLista de permitidos del selector del CCSSCDNCDN - DesactivadoCDN - ActivadoCDN - no disponible para usuarios anónimosAncho de banda de la CDNAjustes de CDNURL de CDNURL de la CDN a utilizar. Por ejemplo, %sCombinar CSS y JSCombinar CSSCombinación de CSS externo e integradoExcluir CSSMinificar CSSAjustes de CSSMinimizado de CSS, JS y HTMLCaché CSS/JSCachéCachear barra de administradorCachear formulario de comentarioCachear comentaristasAjustes de control de cachéAcierto de cachéCachear usuarios con sesión iniciadaCachear página de accesoFallo de cachéCache móvilCachear API RESTEstado de cachéCaché de WP-AdminLa clave de caché debe ser un entero o una cadena no vacía, %s proporcionado.La clave de caché no puede ser una cadena vacía.Cachear peticiones realizadas por llamadas de la API REST de WordPress.Almacena en caché el bloque ESI de la barra de administración incorporada.Almacena en la caché el bloque ESI del formulario de comentarios incluido.Almacena en caché todo tu sitio, incluido el contenido dinámico y los <strong>bloques ESI</strong>.Calcular el espacio en disco de las copias de seguridadCalcular almacenamiento original de imágenesCopias de seguridad calculadas correctamente.No se puede crear el directorio: %1$s. Error: %2$sCancelarCategoríaEl archivo de certificado o clave no existe.Ajuste cambiado con éxito.Los cambios en este ajuste no se aplican a los LQIP ya generados. Para regenerar los LQIP existentes, por favor, primero %s desde el menú de la barra de administración.Comprobar estadoComprobar mi IP pública desdeVerifica el estado de tus ajustes más importantes y el estado de tu configuración CDN aquí.Marca esta opción para usar la configuración del sitio principal para todos los subsitios.Elige qué tamaños de imagen optimizar.Limpiar todoVaciar el mapa del rastreadorLimpiar datos no finalizadosBorrar todos los borradores guardados automáticamenteLimpiar todos los registros meta de entradas huérfanasBorrar todas las revisiones de entradasBorrar todos los comentarios spamLimpieza completa exitosa.Borrar todos los trackbacks y pingbacksBorrar todas las opciones de datos transitoriosLimpieza de todos los datos transitorios exitosa.Borrar todos los comentarios en la papeleraBorrar todas las entradas y páginas en la papeleraLimpieza de borradores automáticos exitosa.Borrar opciones de datos transitorios expiradosLimpieza de datos transitorios expirados exitosa.Limpieza correcta de los meta de entrada huérfanos.Limpieza de revisiones de entradas exitosa.Limpiar las revisiones más antiguas de %1$s día(s), excluyendo %2$s últimas revisionesLimpieza de comentarios no deseados exitosa.Limpieza de trackbacks y pingbacks exitosa.Limpieza de comentarios en papelera exitosa.Limpieza de páginas y entradas en papelera exitosa.Limpiados todos los archivos CSS críticos.Vaciados todos los archivos de Gravatar.Vaciados todos los archivos LQIP.Limpiados todos los archivos CSS únicos.Se han limpiado todos los datos de VPI.Limpiadas todas las entradas de recursos localizados.Datos incompletos limpiados correctamente.VaciarLimpiar la caché de %s cuando se ejecuta «Purgar todo».Vaciar la caché de CloudflareVaciar los registrosPurgadas %1$s imágenes no válidas.Vacía todas las entradas de la caché relacionadas con este sitio, incluyendo otras aplicaciones web.Haz clic aquí para continuar.Haz clic aquí para configurarlo.Haz clic para borrar todos los nodos para volver a detectar.Haz clic para copiarHaz clic para cambiar a la versión optimizada.Haz clic para cambiar a la versión original (no optimizada).Cerrar ventana emergenteError de la nubeEl servidor en la nube rechazó la solicitud actual debido a la limitación de cuota. Por favor, inténtalo de nuevo más tarde.El servidor de la nube ha rechazado la solicitud actual debido a que no se han extraído las imágenes. Por favor, extrae primero las imágenes.CloudflareAPI de CloudflareLa API de Cloudflare está configurada en off.Caché de CloudflareDominio de CloudflareAjustes de CloudflareZona de CloudflareColapsar cadenas de peticionesCombina archivos CSS y código CSS integrado.Combina todos los archivos JS locales en un único archivo.Se admiten comentarios. Empieza una línea con un %s para convertirla en una línea de comentario.Comunicado con éxito con Cloudflare.¡Felicidades! Tu archivo ya ha sido optimizadoFelicidades, %s configuró correctamente este dominio para los servicios anónimos en línea.Felicidades, %s configuró correctamente este dominio para los servicios en línea con servicio CDN.Felicidades, %s configuró correctamente este dominio para los servicios en línea.¡Felicidades, todos obtenidos!Fecha de conexión:Prueba de conexiónRed de entrega de contenidosServicio de red de entrega de contenidoConvertir a InnoDBConvertido a InnoDB correctamente.Nombre de la cookieSimulación de cookieValores de la cookieCopiar registroNo se ha podido encontrar %1$s en %2$s.Intervalo de indexaciónRastreadorCron del rastreadorAjustes generales del rastreadorRegistros de rastreadoresEstado del rastreadorRastreador desactivado por el administrador del servidor.¡Se ha vaciado la lista de rastreadores desactivados! ¡Todos los rastreadores están activos! Rastreador(es)Los rastreadores no pueden ejecutarse simultáneamente. Si tanto el cron como una ejecución manual se inician al mismo tiempo, el primero que se inicie tendrá prioridad.Crear una entrada, asegurarse que la página principal está actualizada.Creado con ❤️ por el equipo de LiteSpeed.Los créditos no son suficientes para proceder con la solicitud actual.CSS críticoReglas de CSS críticasNombre del CronContenidos actuales de %sNodos de la nube actual en servicioEl servidor en la nube más cercano es %s. Haz clic para volver a detectarlo.El rastreador actual comenzó a lasPosición actual del id de entrada de la imagenEl límite actual esCarga actual del servidorLa hora actual del servidor es %s.El rastreo del mapa del sitio actual comenzó a lasEl estado actual es %1$s desde %2$s.El estado actual es %s.Rastreador activoActualmente establecido en %sActualmente se utiliza la versión optimizada del archivo AVIF.Actualmente usando la versión optimizada del archivo WebP.Actualmente usando la versión optimizada del archivo.Actualmente se utiliza la versión original (sin optimizar) del archivo AVIF.Actualmente usando la versión original (no optimizada) del archivo WebP.Actualmente usando la versión original (no optimizada) del archivo.Sitemap personalizadoAjustes de optimización de la BDPreconexión DNSPrefetch DNSControl del prefetch DNSPrecarga de DNS para archivos estáticosArchivo diarioEscritorioBase de datosOptimizador de base de datosResumen de la base de datosConversor de motor de tabla de base de datosBase de datos a usarDía(s)DesactivarDesactivar la caché de LiteSpeedDesactivar el pluginAyudas de depuraciónNivel de depuraciónRegistro de depuraciónAjustes de depuraciónExclusión de cadenas de depuraciónURIs excluidas de la depuraciónURIs incluidas en la depuraciónPor defectoCaché por defectoTTL por defecto del FeedTTL por defecto de la Página PrincipalTTL del código de estado de página por defectoTiempo de vida por defecto del objetoTTL por defecto de la caché privadaTTL por defecto de la caché públicaTTL por defecto de RESTTTL por defecto para objetos cacheados.La ruta por defecto esPuerto por defecto de %1$s es %2$s.Valor por defectoDiferidoAplazar hasta que se analiza la página o retrasar hasta que la interacción pueda ayudar a reducir la contención de recursos y mejorar el rendimiento, lo que provoca un FID más bajo (métrica de Core Web Vitals).Retraso al mostrar los elementos HTML fuera de la pantalla por su selector.RetrasadoBorrar todas las copias de seguridad de las imágenes originalesOfrece cobertura global con una <strong>red en crecimiento de más de 80 PoP</strong>.Destruir todos los datos de optimizaciónTodos los datos de optimización destruidos correctamente.Determina como los cambios en la cantidad de producto o estado del inventario afecta a las páginas de producto y sus páginas de categoría asociadas.Modo de desarrolloEl modo de desarrollo se desactivará automáticamente después de tres horas.El modo de desarrollo se desactivará automáticamente en %s.DesactivarDesactivar todas las característicasDesactivar todas las características durante 24 horasDesactivar la cachéDesactivar la carga de imágenes diferidaDesactivar VPIDesactuva el intervalo del heartbeat de WordPress para reducir la carga del servidor.Desactiva esta opción para generar CCSS por tipo de contenido en lugar de por página. Esto puede ahorrar una cuota significativa de CCSS, sin embargo, puede resultar en un estilo de CSS incorrecto si tu sitio usa un maquetador de páginas.DesactivadoEl archivo AVIF desactivado correctamente.Archivo WebP desactivado con éxito.Desactivar esto puede causar que las tareas de WordPress activadas por AJAX dejen de funcionar.Desactivar esta opción puede afectar negativamente al rendimiento.Desconectar de QUIC.cloudDescartarIgnorar ese avisoDescartar este aviso.Categorías a no cachearCookies a no cachearGrupos a no cachearCadenas de consulta a no cachearNo cachear perfilesEtiquetas a no cachearURIs a no cachearUser Agents a no cachearNo purgar las categorías al cambiar la cantidad o estado del inventario.No volver a mostrar estoDominioNo se recomienda bajar de versión. Puede causar un error fatal debido a código reprogramado.Ignorar cadenas de consultaESINonces de ESIAjustes de ESIESI te permite designar partes de tu página dinámica como fragmentos diferentes que son combinados juntos para formar la página completa. En otras palabras,  ESI permite "hacer huecos" en una página, y rellenar dichos huecos con contenido que puede ser cacheado privadamente, cacheado públicamente con su propio TTL, o no cacheado.Muestra de ESI para desarrolaldoresHeartbeat del editorTTL de heartbeat del editorSe excluirán los elementos con el atributo %s en el código HTML.Se excluirán los elementos con el atributo %s en código html.Dirección de correo electrónicoVaciar la caché enteraVaciar la lista negraActivar todas las funcionesActiva cacheActivar ESIActivar la CDN de QUIC.cloudActivar los servicios de QUIC.cloudActivar los servicios de QUIC.cloudActivar el cron de generación automática del viewport de imágenes.Activar reemplazo de WebP/AVIF en los elementos %s generados fuera de la lógica de WordPress.Activa esta opción si estás usando tanto HTTP como HTTPS en el mismo dominio y estás notando irregularidades en la caché.ActivadoArchivo AVIF activado correctamente.Archivo WebP activado con éxito.Activar LiteSpeed Cache para WordPress aquí activa la caché para la red.Razón de finalizaciónMotorIntroduce la dirección IP de este sitio para permitir que los servicios en la nube llamen directamente a la IP en lugar de al nombre de dominio. Esto elimina la sobrecarga de búsquedas de DNS y CDN.Error: No se pudieron aplicar los ajustes %1$sBásicosCada 15 minutosTodo lo de Advance y ademásTodo lo de Aggressive y ademásTodo en el básico, ademásTodo lo de Essentials y ademásEjemploEjemplo de uso:Ejemplos de pruebas incluyen:Excluir rutaAjustes de exclusiónExcluirDatos transitorios expiradosExportarExportar ajustesExtremoFallidoFallo al hacer copia de seguridad del archivo %s, cambios cancelados.Fallo al comunicar con CloudflareFallo de comunicación con el servidor QUIC.cloudFallo al crear la tabla Avatar. Por favor, sigue la guía <a %s>creación de tablas, de la Wiki de LiteSpeed</a> para terminar la configuración.¡Error al crear la tabla %1$s! SQL: %2$s.No se pudo detectar la IPError al obtener contenido del archivo %s.No se pudieron obtener los datos de eco de WPAPINo se pudo analizar el estado de activación de %s.Fallo en la solicitud desde WordPressNo se pueden sincronizar las listas del modo invitado.Fallo al actualizar.No se pudieron validar los datos de activación de %s.Error al escribir a %s.Uso de la cola rápidaNo se puede escribir el archivo %s.¡El nombre del archivo está vacío!ArchivosDisponible el filtro %s para la generación de UCSS por tipo de página.Filtro %s disponible para cambiar el umbral.El filtro %s es compatible.El directorio no existe: %sEl directorio no es escribible: %s.Optimización de visualización de fuentesEn el caso de las URL con comodines, puede haber un retraso en el inicio de la purga programada.Por ejemploPor ejemplo, %1$s define un TTL de %2$s segundos para %3$s.Por ejemplo, los %s pueden usarse para un marcador de posición transparente.Por ejemplo, para %1$s, se pueden utilizar aquí %2$s y %3$s.Por ejemplo, para %1$s, se puede utilizar %2$s aquí.Por ejemplo, si todas las páginas del sitio tienen formato diferente introduce %s en la caja. Los archivos CSS críticos distintos de cada página del sitio se almacenarán.Por ejemplo, para eliminar parámetros que comienzan con %1$s, se puede usar %2$s aquí.Por ello, por favor prueba el sitio para asegurar que todo sigue funcionando correctamente.Forzar URLs en cachéForzar URIs de caché púbicaForzar cronForzar cacheablesCuota mensual gratuita disponible.Cuota mensual gratuita disponible. También se puede usar de forma anónima (no se requiere correo electrónico).PortadaRuta del .htaccess de la parte públicaControl de heartbeat de la parte públicaTTL de heartbeat de la parte públicaOpciones generalesAjustes generalesGenerar LQIP en segundo planoGenerar el enlace para el usuario actualGenerar UCSSGenerar una copia de caché variable separada para el minicarrito cuando éste no esté vacío.Generado en %sLos enlaces generados pueden gestionarse en los %sAjustes%s.Obtenerlo de %s.Clave/Token global de la APIGrupos globales¡TTFB globalmente rápido, fácil configuración y %s!Ir al escritorio de QUIC.cloudIr a la lista de pluginsBuenas noticias del servidor QUIC.cloudGoogle reCAPTCHA se omitirá automáticamente.Caché de GravatarCron de la caché de GravatarTTL de la caché de GravatarGrupos cacheados a nivel de red.InvitadoModo de invitadoSincronización IP/UA en modo alojadoExclusiones JS del modo de invitadoModo de invitado y modo de optimizaciónPrueba fallida del modo de invitado.Prueba superada del modo de invitado.El modo de invitado proporciona una página de destino siempre en la caché para la primera visita de un invitado automatizado y, después, intenta actualizar las variaciones de la caché a través de AJAX.Resultado de la prueba del modo de invitadoOptimización para invitadosAtributo HTML a reemplazarHTML Mantener comentariosSelectores HTML de carga diferidaMinificar HTMLAjustes HTMLSolo orígenes HTTPS.HeartbeatControl de HeartbeatCaché de páginas de alto rendimiento y optimización de sitio de LiteSpeedTTL mayorHistorialAciertoPágina de inicioHostCómo solucionar problemas causados por la optimización CSS/JS.Sin embargo, no hay manera de conocer todas las posibles personalizaciones implementadas.El htaccess no coincide con la opción de configuración.La regla de Htaccess es: %sYa he dejado una valoración¡Si %1$s es %2$s entonces debe completarse %3$s!Si está activada, se les mostrará a los visitantes una copia vieja de la página almacenada en caché hasta que haya una nueva copia disponible. Reduce la carga del servidor para las siguientes visitas. Si está apagado, la página se generará dinámicamente mientras los visitantes esperan.Si el comentario a conservar es como: %1$s escribe: %2$sSi cada aplicación web utiliza la misma cookie, el servidor puede confundir si un usuario está logueado o no.Si no es así, comprueba la configuración en la %spestaña Avanzado%s.Si se debe purgar todo el sitio WordPress, usa «Purgar todo».Si se establece a %1$s, antes de localizar el marcador de posición, se usará la configuración %2$s.Si se configura a %s esto se hace en segundo plano, lo que puede ralentizar la carga de la página.Si no se encuentra el nombre de la categoría, la categoría será eliminada de la lista al guardar.Si la cookie de acceso ha sido cambiada recientemente en los ajustes, por favor cierra sesión y vuelve a iniciarla.Si no se encuentra el slug de la etiqueta, la etiqueta será eliminada de la lista al guardar.Si tienes alguna pregunta, el equipo estará siempre feliz de responder cualquier pregunta en el %sforo de soporte%s.Si esto se fija en un número inferior a 30, los feeds no serán cacheados.Si se utiliza OpenLiteSpeed, el servidor debe reiniciarse una vez para que los cambios hagan efecto.Si estás usando un socket %1$s, %2$s debería estar en %3$sSi has utilizado la Optimización de Imágenes, por favor %sDestruye primero todos los datos de optimización%s. NOTA: esto no elimina tus imágenes optimizadas.Si experimentas algún problema, por favor menciona el número de informe en tu mensaje de soporte.Si cambias alguno de los ajustes de arriba a OFF, por favor, quita los tipos de archivo relacionados de la caja %s.Si no quieres la aceleración de litespeed, puedes desactivar este plugin.Si tu sitio incluye contenido público que solo ciertos perfiles de usuarios pueden ver, puedes especificar un grupo de variación para dichos perfiles de usuario. Por ejemplo, especificar un grupo de variación de administrador permite que haya una página cacheada públicamente personalziada para administradores (con enlaces de "editar", etc.), mientras que el resto de perfiles de usuario ven la página pública por defecto.Si tu tema no utiliza JS para actualizar el minicarrito, debes activar esta opción para mostrar el contenido correcto del carrito.Los marcos que contengan estos nombres de clase no serán cargados de forma diferida.Los iframes con estos nombres de clase padres no se cargarán de forma diferida.Ignorar ciertas cadenas de petición al cachear. (LSWS %s obligatorio)Información de imágenesOptimización de imágenesAjustes de optimización de imágenesResumen de la optimización de imágenesGrupo de tamaños de miniaturasTotal de grupos de imágenesImágenes recuperadasLas imágenes que contengan estos nombres de clases no tendrán carga diferida.Las imágenes que tengan estos nombres de clase de los padres no serán cargadas de forma diferida.Imágenes no solicitadasImágenes avisadas para descargarImágenes optimizadas y descargadasImágenes listas para la solicitudImágenes solicitadasLas imágenes serán descargadas automáticamente si la tarea cron si está ejecutando.ImportarImportar / ExportarAjustes de importaciónImportación fallida debido a un error en el archivo.Importado con éxito el archivo de ajustes %s.Mejorar compatibilidad HTTP/HTTPSMejora la velocidad de wp-admin mediante caché. (Puede encontrar datos caducados)Mejorado porPara evitar un error de actualización, debes usar la versión %1$s o posterior antes de poder actualizar a las versiones %2$s.Para poder usar los servicios de QC necesitas un nombre de demonio real, no puedes usar una IP.Para utilizar la mayoría de los servicios de QUIC.cloud, necesitas una cuota. QUIC.cloud te ofrece cuota gratuita cada mes, pero si necesitas más, puedes comprarla.Incluir CSSIncluir tipos de archivoIncluir imágenesIncluir JSIncluye CSS externo y CSS integrado en un archivo combinado cuando %1$s también está activado. Esta opción ayuda a mantener las prioridades de CSS, que debería minimizar los errores potenciales causados por la combinación de CSS.Incluye JS externo y JS integrado en un archivo combinado cuando %1$s también está activado. Esta opción ayuda a mantener las prioridades de ejecución de JS, que debería minimizar los errores potenciales causados por la combinación de JS.Directorios incluidosBiblioteca de CSS integrado asíncronoCSS en línea añadido a CombinarJS en línea añadido a CombinarUCSS integrado para reducir la carga adicional de archivos CSS. Esta opción no será activada automáticamente para las páginas %1$s. Para usarla en las páginas %1$s, por favor, actívala.InstalarInstalar %sInstalar la seguridad de DoLoginInstalar ahoraClic instantáneoIP no válidaCookie de acceso no válida. Encontrados caracteres no válidos.Cookie de acceso no válida. Por favor, comprueba el archivo %s.Regla de reescritura no válidaSe recomienda ENCARECIDAMENTE que primero se pruebe la compatibilidad con otros plugins en uno o varios sitios.Se convertirá en un marcador de posición SVG base64 sobre la marcha.Combinar JSCombinación de JS externo e integradoAplazar JS para JS externos e incrustadosExclusiones de JS diferido / retrasadoJS RetrasadoInclusiones de JS retrasadasExcluir JSMinificar JSAjustes de JSEl error JS se puede encontrar en la consola de desarrollador del navegador haciendo clic derecho y eligiendo inspeccionar.Únete a la comunidad de Slack de LiteSpeedÚnete a nuestro SlackÚnete a la comunidad %s.Mantén esto apagado para usar marcadores de posición de color.LQIPCaché de LQIPGenerador de LQIP en la nubeExclusiones de LQIPDimensiones mínimas de LQIPCalidad de LQIPVista previa de la imagen LQIP para el tamaño %sNo se enviarán peticiones de LQIP para imágenes en las que tanto el ancho como la altura sean menores que estas dimensiones.LSCache¡Las funciones de la caché de LSCache en esta página no están disponibles en este momento!Los números más grandes generarán un marcador de posición de mayor calidad de resolución, pero resultarán en archivos más grandes que aumentarán el tamaño de la página y consumirán más puntos.Mayor queÚltima lecturaÚltima extracciónFecha del último informeNúmero del último informeÚltima peticiónÚltimo cálculoHora de la última ejecución completa para todos los rastreadoresÚltimo rastreoÚltimo rastreo:Última exportaciónÚltimo generadoÚltima generación: %sÚltima importaciónÚltimo intervaloÚltima descarga iniciada por cron a las %s.Última ejecuciónÚltimo coste solicitadoÚltima solicitud: %sExclusiones de carga diferida de clases de iframesExclusiones de carga diferida de clases padre de iframesRetrasar la carga de iframesExclusión de nombres de clases para carga diferida de imágenesExclusiones de carga retrasada de imágenesExclusiones de carga diferida de clases padresRetrasar la carga de imágenesExclusión de URIs de carga diferidaCarga diferida de IframesCarga diferida para imágenesLeer másObtén más información acerca de QUIC.cloudAprender másAprende más sobre cuándo es esto necesarioMás información o compra cuota adicional.Enlazar y activar la CDN de QUIC.cloudEnlace a QUIC.cloudEnlazado al entorno de vista previa de QUIC.cloud, solo para fines de prueba.Lista de User Agents móvilesLista tipos de contenido en los que cada elemento de ese tipo debería generar su propio CCSS.Lista los selectores CSS cuyos estilos siempre deben incluirse en CCSS.Lista los selectores CSS cuyos estilos siempre deben incluirse en UCSS.Los archivos CSS de la lista o el código CSS integrado no se minimizarán o combinarán.Los archivos CSS listados se excluirán del CSS sin uso y guardados para que se incrusten.Los archivos JS listados o el código JS en línea se retrasarán.Los archivos JS listados o el código JS integrado no serán aplazados ni diferidos.Los archivos JS de la lista o el código JS integrado no se minimizarán o combinarán.Los archivos JS listados o el código JS integrado no serán optimizados por %s.Las URI listadas no generarán UCSS.Las imágenes listadas no se cargarán de forma retrasada.LiteSpeed CacheCDN de la caché de LiteSpeedPreajustes de configuración de caché LiteSpeedRastreador de LiteSpeed CacheEscritorio de LiteSpeed CacheOptimización de la base de datos de la caché de LiteSpeedAjustes generales de LiteSpeed CacheOptimización de imágenes de LiteSpeed CacheAjustes de la caché de la red de caché de LiteSpeedLiteSpeed Cache OptimaXOptimización de página de LiteSpeed CachePurgar toda la caché de LiteSpeedConfiguración de Caché de LiteSpeedPreajustes estándar de cache de LiteSpeedCaja de herramientas de LiteSpeedVer el archivo «.htaccess» de LiteSpeed CacheLiteSpeed Cache está desactivado. Esta funcionalidad no funcionará.LiteSpeed Cache está temporalmente desactivado hasta: %s.¡El plugin LiteSpeed Cache está instalado!Cron del rastreador de LiteSpeedRegistros de LiteSpeedOptimización de LiteSpeedInforme de LiteSpeedLiteSpeed TechnologiesLiteSpeed Web ADCServidor web LiteSpeedActualizado el plugin LiteSpeed Cache. Por favor, actualiza la página para completar la actualización de los datos de configuración.Cargar CSS asíncronamenteCargar Google Fonts asíncronamenteDeferir carga de JSCargar iframes sólo cuando entran en la ventana de visualización.Cargar las imágenes sólo cuando entran en la ventana de visualización.LocalizaciónArchivos de idiomasAjustes de localizaciónRecursos localizadosLocalizar recursos externos.Recursos localizadosLímite de tamaño de archivo de registroVista de registrosCookie de accesoMarcador de imagen de baja calidadMBGestionarAñadido manualmente a la lista negraEjecutar manualmenteMapaMarcar esta página como ID de entrada de imagen máximaValor máximoPuede que más tardeQuizás más tardeExclusiones de mediosAjustes de mediosMensaje del servidor QUIC.cloudMétodoMinimiza archivos CSS y código CSS integrado.Minificar contenido HTML.Minimiza archivos JS y códigos JS integrados.Valor mínimoFalloMóvilReglas de agente móvilCaché móvilArchivo mensualMásAquí se puede encontrar más información sobre los comandos disponibles.Más ajustesMás ajustes disponibles en el menú %sMi escritorio de QUIC.cloudNOTANOTA: La CDN de QUIC.cloud y Cloudflare no usan asignación CDN. Si solo estás usando QUIC.cloud o Cloudflare, deja este ajuste como %s.AVISOAVISO:AVISO: La cookie de inicio de sesión de la base de datos no coincide con tu cookie de inicio de sesión.Escritorio de redHabilitar caché de red¡Nueva versión para desarrolladores disponible!¡Nueva versión disponible!La nueva versión de desarrollo %s está disponible.La nueva versión %s está disponible ahora.NoticiasFormato de imagen de próxima generaciónNo hay ningún nodo de la nube disponible después de comprobar la carga del servidor.No hay ningún nodo de la nube disponible.No hay disponible una zona CloudflareNo existe una copia de seguridad del archivo original.No existe ninguna copia de seguridad del archivo AVIF sin optimizar.No existe una copia de seguridad del archivo WebP no optimizado.No hay servicios de la nube en usoArchivo meta del rastreador aún no generadoSin camposSin optimizaciónNo se encontraron tamaños.El servidor en la nube no ha encontrado ninguna imagen válida por en la petición actual.No se ha encontrado ninguna imagen válida en la petición actual.No se ha analizado ningún mapa del sitio válido para el rastreador.Nodo:No cacheableNo disponibleNo está en la lista negraNo hay suficientes parámetros. Comprueba si la conexión a QUIC.cloud está establecida correctamenteNotaNotasNotaAvisosAvisado correctamente a Cloudflare de la purga completa.Avisado a Cloudflare la configuración del modo de desarrollo a %s con éxito.Solicitada la purga de entradas CSS/JS al servidor web LiteSpeed.Solicitado al servidor web LiteSpeed la purga de todas las entradas de LSCache.Solicitada la purga de todas las páginas al servidor web LiteSpeed.Solicitada la purga de las páginas de error al servidor web LiteSpeed.Solicitado la purga de todo al servidor web LiteSpeed.Solicitado al servidor web LiteSpeed la purga de la página de inicio.Solicitado la purga de la lista al servidor web LiteSpeed.OFFONOPcache no está activada.OPcache está restringido por el ajuste %s.OObjetoCaché de objetosAjustes de la caché de objetosLa caché de objetos no está activada.Ofrece un <strong>servicio DNS integrado</strong> opcional para simplificar la puesta en marcha de CDN.Al desinstalar, se eliminarán todos los ajustes del plugin.Una vez guardado, coincidirá con la lista actual y se completará automáticamente.Una o más de las imágenes recuperadas no coincide con el md5 de imagen avisadoUna por línea.Servicios en líneaEl nodo online tiene que volver a ser detectado.Solo los atributos aquí listados serán reemplazados.Solo disponible cuando está instalado %s.Solo los archivos en estos directorios apuntarán a la CDN.Solo registra las páginas listadas.Optimiza solo las páginas para visitantes invitados (no conectados). Si se desactiva, se duplicarán los archivos CSS/JS/CCSS por cada grupo de usuarios.Solo pulsar el botón si la tarea cron de descarga está desactivada.Caché opcodeServidor web OpenLiteSpeedMarca esto si eres un usuario de OpenLiteSpeedOperaciónOptimaXAjustes de OptimaXResumen de OptimaXEstado de optimizaciónResumen de optimizaciónHerramientas de optimizaciónOptimiza la entrega de CSS.Optimizar tamaños de imagenOptimizar sin pérdidaOptimizar imágenes originalesOptimizar tablasOptimizar todas las tablas en tu base de datosOptimizar solamente para invitadosOptimiza imágenes y guarda copias de seguridad de los originales en la misma carpeta.Optimizar imágenes usando compresión sin pérdida.Optimiza las imágenes con nuestro servidor en QUIC.cloudOptimizadas todas las tablas.Nombre de la opciónOpcionalOpcional cuando se usa el token de la API.Crea opcionalmente archivos de imagen WebP o AVIF de próxima generación.Las opciones han sido guardadas.OriginalOriginal %sAhorrado un %s del originalURLs originalesArchivo original reducido en %1$s (%2$s)Meta de entrada huérfanoOtrosOtra CDN estáticaOtras opciones serán ignoradas.Da salida en una serie de archivos en el directorio %s.Balance de pagosPAYG utilizado este mes: %s. El saldo y el uso de PAYG no están incluidos en el cálculo de cuota anterior.Es compatible la contante %s de PHP.Tiempo de carga de la páginaOptimización de páginaPuntuación de PageSpeedPáginasVentajas de colaboración ofrecidas porExitosoContraseñaEnlace sin contraseñaLa ruta debe terminar en %sLas rutas que contengan estas cadenas se cachearán independientemente de los ajustes de no cacheables.Las rutas que contengan estas cadenas serán forzadas a ser almacenados públicamente sin tener en cuenta los ajustes de no-cacheable.Las rutas que contengan estas cadenas no serán cacheadas.Las rutas que contengan las siguientes cadenas no se servirán desde el CDN.Pago por usoEstadísticas pago por usoConexión persistenteDebido a que puede haber conflictos con LiteSpeed Cache, por favor, considera desactivar los siguientes plugins:Por favor, NO compartas con nadie el enlace de acceso sin contraseña anterior.Por favor, activa LiteSpeed Cache en los ajustes del plugin.Por favor, activa el módulo LSCache en el servidor, o pídeselo a tu proveedor de alojamiento.Por favor, asegúrate de que esta IP sea la correcta para visitar tu sitio.Por favor, lee todas las advertencias antes de activar esta opción.Por favor, consulta %s para más detalles.Consulta %sConectar WP-Cron al programador de tareas del sistema%s para aprender cómo crear la tarea cron del sistema.Por favor, prueba a fondo al activar cualquier opción de esta lista. Después de cambiar ajustes de minimización/combinación, por favor realiza una acción «Purgar todo».Por favor, prueba a fondo todos los elementos en %s para asegurar que funcionan como se espera.Por favor, prueba a fondo cada archivo JS que añadas para asegurar que funcionan como se espera.Por favor, inténtalo después de %1$s para el servicio %2$s.Visita la página de %sInformación%s sobre cómo probar la caché.El plugin es demasiado complicadoPuertoPosición: ID de entradaRevisiones de entradasArchivo de tipo de contenidoLa preconexión acelera las cargas futuras desde un origen determinado.La lista predefinida también se combinará con los ajustes anterioresLa lista predefinida también se combinará con los ajustes anterioresLa lista predefinida también se combinará con los ajustes anteriores.La precarga DNS puede reducir la latencia para los visitantes.Preservar datos EXIF (copyright, GPS, comentarios, palabras clave, etc) al optimizar.Conservar los datos EXIF/XMPPreajustesPulsa el botón %s para detener la prueba beta y volver a la versión actual del directorio de plugins de WordPress.Presiona el botón %s para usar el commit de GitHub más reciente. Master es para la versión candidata y Dev es para pruebas experimentales.Evita que cargue Google Fonts en todas las páginas.Evita cualquier registro de depuración de las páginas listadas.Evita cualquier carga diferida de las páginas de la lista.Evitar cualquier optimización de las páginas listadas.Evita escribir entradas del registro que incluyan cadenas listadas.La solicitud anterior es demasiado reciente. Por favor, inténtalo de nuevo después de %s.La solicitud anterior es demasiado reciente. Por favor, inténtalo de nuevo más tarde.Anteriormente existía en la lista negraPrivadaCaché privadaURIs cacheadas privadamenteCaché privadaCachear privadamente a los usuarios con comentarios pendientes. Desactivar esta opción servirá páginas no-cacheables a los comentaristas. (LSWS %s requerido)Cachear privadamente páginas del sitio para usuarios con sesión iniciada. (LSWS %s requerido)Procesa las imágenes PNG y JPG cargadas para producir versiones más pequeñas que no sacrifican la calidad.El procesamiento de imágenes en formato PNG, JPG y WebP es gratuito. El formato AVIF tiene un coste.Intervalo de actualización de productoProporciona <strong>seguridad a nivel de CDN</strong>, protegiendo tu servidor de ataques.PúblicaCaché públicaPull Cron se está ejecutandoDescargar imágenesEl md5 de la imagen AVIF extraída no coincide con el md5 de la imagen AVIF avisada.El md5 de la imagen WebP recuperada no coincide con el md5 avisado de la imagen WebP.PurgarError de purga de %sPurgar las páginas de error %sPurgar todoGanchos de purgar todoPurgar todo al actualizarPurgar por...Purgar todoPurgar la página de inicioPurgar listaPurgar registroPurgar páginasAjustes de purgaPurga correcta de todas las cachés de objetos.Purgar todas las cachés de objetosPurgar las categorías solo cuando el estado del inventario cambie.Purgar la categoría %sPurgar páginas por nombre de categoría: p. ej. %2$s debe ser usado por la URL %1$s.Purgar páginas por ID de entrada.Purgar páginas por URL completa o relativa.Purgar páginas por etiqueta: p. ej. %2$s debe ser usado para la URL %1$s.Purgar productos y categorías solo cuando cambie el estado del inventario.Purgar los productos con los cambios de cantidad o estado del inventario.Purgar los productos solo cuando cambie el estado del inventario.Purgar la etiqueta %sPurga las entradas de caché de LiteSpeed creadas por este pluginPurga las entradas de la caché creadas por este plugin, excepto las cachés de CSS único, CSS crítico y de LQIPPurgar esta páginaPurgar la URL %s¡Se ha purgado todo!Todas las cachés purgadas correctamente.¡Se ha purgado la URL!¡Se ha purgado el blog!¡Purgado!%1$s enviadas al servidor en la nube, %2$s aceptadas.QUIC.cloudCDN de QUIC.cloudOpciones de CDN de QUIC.cloudResumen del estado de CDN de QUIC.cloudLa CDN de QUIC.cloud <strong>no está disponible</strong> para usuarios anónimos (sin enlazar).La CDN de QUIC.cloud está actualmente <strong>totalmente desactivada</strong>.CDN de QUIC.cloud:Integración de QUIC.cloud desactivadaIntegración de QUIC.cloud activadaIntegración de QUIC.cloud activada con limitacionesServicios en línea de QUIC.cloudEstadísticas de uso del servicio QUIC.cloudQUIC.cloud ofrece servicios de CDN y optimización en línea, y no es obligatorio. Puedes usar muchas características de este plugin sin QUIC.cloud.El servicio de optimización de imágenes de QUIC.cloud hace lo siguiente:Los servicios en línea de QUIC.cloud mejoran su sitio de las siguientes maneras:Los servicios de optimización de páginas de QUIC.cloud abordan el problema del inflado de CSS y mejoran la experiencia del usuario durante la carga de la página, lo que puede generar mejores puntuaciones de velocidad de la página.El acceso de QUIC.cloud a tu API REST de WP parece estar bloqueado.Las cadenas de consulta que contengan estos parámetros no se almacenarán en la caché.Puntúa %1$s en %2$sLeer la documentación de LiteSpeedRecomendado para generar el token desde la plantilla «WordPress» del token de la API de Cloudflare.Valor recomendado: 28800 segundos (8 horas).Volver a detectarNodo detectado nuevamenteID de base de datos RedisRedis encontró un error fatal: %1$s (código: %2$d)ActualizarRecargar el mapa del rastreadorRefrescar la caché de Gravatar por cron.Actualizar el estado de QUIC.cloudActualizar EstadoActualizar el usoActualizar el tiempo de carga de la páginaActualizar la puntuación de la páginaRegenerar y enviar un nuevo informeCuota diaria restanteEliminar la URL de la CDNEliminar Google FontsEliminar las etiquetas NoscriptEliminar copias de seguridad del orginalEliminar copias de seguridad de las imágenes originalesQuita la integración de QUIC.cloud de este sitio. Nota: Los datos de QUIC.cloud se conservarán para que puedas reactivar los servicios en cualquier momento. Si quieres borrar completamente tu sitio de QUIC.cloud, primero borra el dominio a través del escritorio de QUIC.cloud.Eliminar query stringsEliminar cadenas de consulta de recursos estáticosEliminar emojis de WordPressQuitar el indicador 'Desactivar todas las características' ahoraEliminar todos los resultados/peticiones de optimización de imágenes previos, revertir optimizaciones completadas, y eliminar todos los archivos de optimización.Eliminar todas las peticiones de optimización de imágenes anteriores sin terminar.Eliminar la simulación de la cookieEliminar de la lista negraEliminar cadenas de consulta de recursos estáticos internos.CSS sin uso eliminado para los usuariosCopias de seguridad eliminadas correctamente.Reemplaza %1$s con %2$s.InformeSolicita versiones WebP/AVIF de las imágenes originales al hacer la optimización.Solicitado: hace %sPeticiones en colaReexaminar nuevas miniaturas%d imágenes reexploradas correctamente.Reexploración correcta.Restablecida la activación de %s correctamente.Restablecer todos los ajustesRestablecer ajustesRestablecido el contador de optimización de imágenes correctamente.Reestablecer posiciónRestablecimiento realizado con éxito.Error al restablecer el OPcache.Reestablecida correctamente la caché «OPcache».Reestablecer toda la caché opcodeDatos de optimización restablecidos correctamente.Los recursos listados aquí se copiarán y reemplazarán con URL locales.Marcador de posición adaptableColor del marcador de posición adaptableMarcador de posición SVG adaptableLos marcadores de posición de imagen pueden ayudar a reducir la recolocación de la estructura cuando se cargan las imágenes.Restaurar los ajustesRestaurar desde la copia de seguridadSe han restaurado el respaldo de los ajustes %1$sArchivo original restaurado con éxito.Los resultados pueden comprobarse en la %sBiblioteca de medios%s.Edad máxima de las revisionesNúmero máximo de revisionesLas revisiones más recientes se guardarán cuando se limpien las revisiones.Excluir perfilesSimulación de rolEjecutar manualmente la cola %sFrecuencia de ejecuciónEjecutar la cola manualmenteLa frecuencia de ejecución está fijada por el ajuste de Intervalo entre ejecuciones.Hora de ejecución para el rastreador anteriorEn cursoSINTAXIS: alfanumérica y «_». Sin espacios y con distinción entre mayúsculas y minúsculas.SINTAXIS: alfanumérica y «_». Sin espacios y con distinción entre mayúsculas y minúsculas. DEBE SER ÚNICA Y DISTINTA DE OTRAS APLICACIONES WEB.Guardar cambiosGuarda datos transitorios en la base de datos cuando %1$s es %2$s.GuardadoFalló el guardado de la opción. IPv4 es solo para %s.Umbral de tamaño escaladoBuscar nuevos tamaños de miniaturas de imágenes no optimizadas y reenviar las solicitudes de optimización de imágenes necesarias.Hora de purga programadaURLs de purga programadaVer la %sIntroducción para activar el rastreador%s para obtener información detallada.Selecciona «Todo» si hay widgets dinámicos enlazados a entradas en páginas distintas de la portada o página de inicio.Selecciona debajo las opciones de «Purgar por».Selecciona solo los tipos de archivos que se utilicen actualmente, los otros se pueden dejar desmarcados.Selecciona qué páginas serán purgadas automáticamente cuando las entradas sean publicadas o actualizadas.Los perfiles seleccionados serán excluidos de todas las optimizaciones.Los perfiles seleccionados serán excluidos de la caché.Los selectores deben existir en el CSS. Las clases principales en el HTML no funcionarán.Enviar solicitud de optimizaciónEnviar este informe a LiteSpeed. Menciona este número de informe al publicar en el foro de soporte de WordPress.Enviar a LiteSpeedEnvíar a X para obtener %s de bonificaciónTipos de contenido de caché de CCSS distintosDistintas URIs de caché CCSSSepara archivos CSS críticos al generar las rutas que contengan estas cadenas.Servir contenido rancioOfrece una copia de la caché separada para los visitantes móviles.Servir todos los archivos CSS a través de la CDN. Esto afectará a todos los archivos CSS en cola de WordPress.Servir todos los archivos JS a través de la CDN. Esto afectará a todos los archivos JS en cola de WordPress.Sirve todos los archivos de imagen a través de la CDN. Esto afectará a todos los archivos adjuntos, las etiquetas HTML %1$s y los atributos CSS %2$s.Sirve rápido a tus visitantesIP del servidorLímite de carga del servidorValor máximo permitido por el servidor: %sValor forzado por el servidor: %sVariable(s) del servidor %s disponible para omitir este ajuste.Servicio:Establece un ancho y alto explícitos en los elementos de la imagen para reducir los cambios de diseño y mejorar CLS (una métrica de Core Web Vitals).Configura esto para añadir %1$s a todas las reglas de %2$s antes de guardar en caché el CSS para especificar cómo deben mostrarse las fuentes mientras se descargan.Ponlo en %1$s para bloquear heartbeat en %2$s.Configurar cabeceras personalizadasAjustesAcortar cadenas de peticiones en el registro de depuración para mejorar la legibilidad.Mostrar estado del rastreadorMejora significativamente el tiempo de carga reemplazando imágenes con sus versiones %s optimizadas.URL del sitio a servir a través de la CDN. Empezando con %1$s. Por ejemplo, %2$s.Sitio no reconocido. QUIC.cloud se desactivó automáticamente. Reactiva tu cuenta de QUIC.cloud.El rendimiento del sitio es peorLista del mapa del sitioTotal del mapa del sitioEl mapa del sitio se limpió con éxitoMapa del sitio creado con éxito: %d elementosTamañoTamaño de la lista en la cola de espera del cronMás pequeño queRestablecimiento suave del contador de optimizaciónUna o más imágenes optimizadas han caducado y han sido borradas.Comentarios spamEspecifica una imagen base64 que se usará como un sencillo marcador de posición mientras terminan de cargarse las imágenes.Especifica una acción AJAX en POST/GET y el número de segundos para almacenar en caché esa petición, separados por un espacio.Especifica un código de estado HTTP y el número de segundos que almacenar esa página en caché, separados por un espacio.Especifica un SVG que se utilizará como marcador de posición al generar localmente.Especifica reglas CSS críticas para contenido de la mitad superior de la página al activar %s.Especifica tras cuanto tiempo debe el rastreador indexar el sitemap entero de nuevo.Especifica durante cuánto tiempo, en segundos, se almacenan en la caché los archivos de Gravatar.Especifica durante cuánto tiempo, en segundos, se almacenan en la caché las llamadas REST.Especifica por cuanto tiempo, en segundos, se cachean los feeds.Especifica durante cuánto tiempo, en segundos, se almacenan en la caché las páginas privadas.Especifica durante cuánto tiempo, en segundos, se almacenan en la caché las páginas públicas.Especifica cuánto tiempo, en segundos, se almacena la página de inicio.Especifica el intervalo de heartbeat para %s en segundos.Especifica el tamaño máximo del archivo de registro.Especifica el número de revisiones más recientes que se deben guardar al limpiar las revisiones.Especifica la contraseña utilizada al conectar.Especifica la calidad al generar el LQIP.Especifica el color del marcador de posición SVG adaptable.Especifica la hora para purgar la lista «%s».Especificar qué atributos de elementos HTML serán reemplazados por mapeo CDN.Especificar que atributos de elementos serán reemplazados con WebP/AVIF.Acelera aún más su sitio de WordPress con los <strong>servicios en línea y CDN de QUIC.cloud</strong>.Acelera aún más tu sitio de WordPress con los servicios en línea y CDN de QUIC.cloud.Difunde el amor y gana %s créditos para usar en nuestros servicios en línea QUIC.cloud.Preajustes estándarEmpieza a ver...Se inició el rastreo asíncronoSe inició la solicitud de optimización asíncrona de imágenesEnlaces de tipo de archivo estático que se reemplazarán con enlaces a la CDN.EstadoDeja de cargar los emojis de WordPress.org. En su lugar, se mostrarán los emoji por defecto del navegador.Optimización de almacenamientoAlmacenar los gravatares localmente.Almacenar datos transitoriosEnviar un tiqueRastreado correctamenteSumarioForo de soporte¡Por supuesto, me encantará valorarlo!SwapVolver a utilizar imágenes optimizadas en tu webImágenes cambiadas correctamente.Cambio correcto a archivo optimizado.Sincronizado el estado de QUIC.cloud correctamente.Se ha sincronizado la asignación de créditos correctamente con el servidor en la nube.Sincronizar los datos de la nube¡Sincronización fallida!Sincronizado correctamente.SincronizaciónInformación del sistemaTTLTablaEtiquetaOmite temporalmente la caché de Cloudflare. Esto permite cambios en el servidor de origen para que se vea en tiempo real.Archivo de término (incluye categoría, etiqueta y taxonomía)Probando¡Gracias por usar el plugin de caché LiteSpeed!La opción de IP de administrador solo mostrará mensajes de registro en peticiones desde IPs abajo listadas.El plugin LiteSpeed Cache se utiliza para cachear páginas - una manera simple de mejorar el rendimiento del sitio.La conexión QUIC.Cloud no es correcta. Intenta sincronizar tu conexión a QUIC.cloud de nuevo.Las URLs de aquí (una por línea) serán purgadas automáticamente a la hora establecida en la opción «%s».Las URLs serán comparadas con la variable REQUEST_URI del servidor.El servicio de viewport de imágenes detecta qué imágenes aparecen antes de hacer scroll y las excluye de la carga diferida.Los nonces anteriores se convertirán en ESI automáticamente.La cantidad de tiempo, en segundos, que los archivos se almacenarán en la caché del navegador antes de caducar.La caché necesita distinguir quien esta logueado en cada sitio de WordPress a fin de cachear correctamente.Ha fallado la validación de la llamada a tu dominio debido a la falta de coincidencia del hash.Ha fallado la validación de la devolución de llamada a tu dominio. Por favor, asegúrate de que no hay un cortafuegos bloqueando nuestros servidores.Ha fallado la validación de la devolución de llamada a tu dominio. Por favor, asegúrate de que no hay un cortafuegos bloqueando nuestros servidores. Código de respuesta: La cookie aquí establecida será usada por esta instalación de WordPress.La característica de rastreador no está activada en el servidor LiteSpeed. Por favor, consulta al administrador del servidor.El rastreador usará tu mapa del sitio XML o el índice del mapa del sitio. Introduce aquí la URL completa de tu mapa del sitio.El servidor actual está bajo una gran carga.La base de datos se ha ido actualizando en segundo plano desde %s. Este mensaje desaparecerá una vez que la actualización se haya completado.La desactivación es temporalLa cookie de acceso por defecto es %s.El informe de entorno contiene información detallada sobre la configuración de WordPress.Las siguientes características son proporcionadas por %sLas siguientes opciones están seleccionadas, pero no son editables en esta página de ajustes.El ajuste de calidad de compresión de imágenes de WordPress, de 0 a 100.La lista de imágenes está vacía.El último archivo de datos esLa lista se fusionará con los nonces predefinidos en tu archivo de datos local.La carga media permitida como máximo en el servidor durante la indexación. El número de hilos en uso del rastreador será reducido activamente hasta que la carga media del servidor baje de este límite. Si esto no es posible con un solo hilo, el proceso de indexación actual será terminado.El administrador de red seleccionó las configuraciones del sitio primario para todos los subsitios.El ajuste de administrador de red puede ser modificado aquí.La siguiente indexación de sitemap completa empezará a lasLa cola se procesa de forma asíncrona. Puede llevar un tiempo.El selector debe existir en el CSS. Las clases principales en HTML no funcionarán.El servidor determinará si el usuario está conectado en base a la existencia de esta cookie.El sitio no tiene un alias válido en QUIC.cloud.El sitio no está registrado en QUIC.cloud.El usuario con id %s tiene acceso de editor, que no tiene permisos para el simulador de perfiles.Y otro WordPress instalado (NO MULTISITIO) en %sHay un WordPress instalado para %s.Hay una cola de procedimiento que no se ha retirado todavía.La cola aún no ha sido recuperada. Información de la cola: %s.Estas imágenes no generarán LQIP.Estas opciones solo están disponibles con LiteSpeed Enterprise Web Server o QUIC.cloud CDN.Estos ajustes están pensados SOLO PARA USUARIOS AVANZADOS.Uso de este mes: %sEsta acción solo debe ser usada si las cosas se están almacenando en caché incorrectamente.Esto puede ser predefinido en %2$s así como usando las constantes %1$s, tomando prioridad con esta configuración.Esto puede mejorar el tiempo de carga de la página reduciendo las peticiones HTTP iniciales.Esto puede mejorar la calidad, pero puede dar como resultado imágenes más grandes que la compresión con pérdida.Esto puede mejorar la velocidad de carga de la página.Esto puede mejorar tu puntuación de velocidad en servicios como Pingdom, GTmetrix y PageSpeed.Esto permite que la pantalla inicial de imágenes de la página se muestre completamente sin demora.Esto es irreversible.Esto es para asegurar compatibilidad antes de activar la caché para todos los sitios.Este preajuste de bajo riesgo introduce optimizaciones básicas de mejora de la velocidad de página y experiencia de usuario. Adecuado para principiantes entusiastas.Esto puede causar una alta carga en el servidor.Este mensaje indica que el plugin fue instalado por el administrador del servidor.Este preajuste sin riesgos es apropiado para todas las webs. Es bueno para nuevos usuarios, webs sencillas o desarrollos orientados a caché.Esta opción puede ayudar a corregir la variación de la caché para ciertos visitantes avanzados de dispositivos móviles o tabletas.Esta opción permite la máxima optimización para los visitantes del modo de invitado.Esta opción se omite porque la opción %1$s es %2$s.Esta opción se omite debido a la opción %s.Esta opción puede resultar en un error de JS o un problema de diseño en las páginas de portada con ciertos temas/plugins.Esta opción omitirá automáticamente la opción %s.Esta opción eliminará todas las etiquetas %s del HTML.Este preajuste es casi seguro que requerirá pruebas y exclusiones de algo de CSS, JS y carga diferida de imágenes. Presta especial atención a los logotipos, o a imágenes de carrusel basadas en HTML.Este preajuste es bueno para la mayoría de webs, y es raro que provoque conflictos. Cualquier conflicto de CSS o JS puede solucionarse con las herramientas de Optimización de página > Retoques.Este preajuste puede que funcione tal cual en algunas webs, ¡pero asegúrate de hacer pruebas! Puede que sean necesarias algunas exclusiones de CSS y JS en Optimización de página > Retoques.Este proceso es automático.¡Este ajuste es %1$s para determinadas solicitudes que cumplen los requisitos debido a %2$s!Este ajuste es útil para aquellos con multiples aplicaciones web en un mismo dominio.Este ajuste editará el archivo .htaccess.¡Este ajuste regenerará la lista de rastreadores y vaciará la lista de desactivados!Este sitio utiliza el almacenamiento en la caché para facilitar un tiempo de respuesta más rápido y una mejor experiencia de usuario. El almacenamiento en la caché, potencialmente, almacena una copia duplicada de cada página web que se muestra en este sitio. Todos los archivos de la caché son temporales y nunca acceden a ellos terceras partes, salvo cuando necesario para obtener soporte técnico del proveedor del plugin de caché. Los archivos de la caché caducan en una programación establecida por el administrador del sitio, pero pueden ser fácilmente purgados por el administrador antes de su caducidad natural, si fuese necesario. Podemos usar los servicios de QUIC.cloud para procesar y almacenar tus datos temporalmente en la caché.Este valor es sobrescrito por la variable %s.Este valor queda sobrescrito por el ajuste de red.Este valor es sobrescrito por la constante %s de PHP.Este valor es sobrescrito por el filtro.Este valor es sobrescrito por el ajuste principal del sitio.Esto solo purgará la página principalEsto solo purgará las páginasEsto afectará a todas las etiquetas que contengan atributos: %s.Esto también añadirá una preconexión a Google Fonts para establecer una conexión antes.Se va a hacer una copia de seguridad de tus ajustes actuales y reemplazarlos con los de los preajustes %1$s. ¿Quieres continuar?Esto eliminará TODO dentro de la caché.Esto borrará todos los archivos Gravatar almacenados en cachéEsto borrará todas las imágenes del área visible generadasEsto borrará todos los archivos generados de CSS críticoEsto borrará todos los archivos generados de marcador de posición de imágenes LQIPEsto borrará todos los archivos CSS únicos generadosEsto borrará todos los recursos localizadosEsto desactivará LSCache y todas las características de optimización con propósitos de depuración.Esto desactivará la página de ajustes en todos los subsitios.Esto eliminará el CSS no utilizado en cada página del archivo combinado.Esto activará el cron rastreador.Esto exportará todos los ajustes actuales de LiteSpeed Cache y los guardará como un archivo.Esto generará peticiones extra al servidor, lo cual aumentará la carga del servidor.Esto generará el marcador de posición con las mismas dimensiones que la imagen si tiene los atributos de ancho y alto.Esto importará ajustes desde un archivo y sobreescribirá todos los ajustes de LiteSpeed Cache actuales.Esto aumentará el tamaño de los archivos optimizados.Esto integrará la biblioteca CSS asíncrona para evitar el bloqueo de renderizado.Esto purgará solo las entradas CSS/JS minimizadas o combinadasEsto restablecerá todos los ajustes a su valores predeterminados.Esto restablecerá los %1$s. Si cambiaste los ajustes de WebP/AVIF y quieres generar %2$s para las imágenes previamente optimizadas, utiliza esta acción.Esto restaurará la copia de seguridad de los ajustes creada %1$s antes de aplicar el preajuste %2$s. Cualquier cambio realizado desde entonces se perderá. ¿Quieres continuar?Hora para ejecutar la solicitud anterior: %sPara rastrear una cookie en particular, introduce el nombre de la cookie y los valores que deseas rastrear. Los valores deben ser uno por línea. Se creará un rastreador por cada valor de cookie, por cada perfil simulado.Para rastrear el sitio como usuario conectado introduce los ids de usuario a imitar.Para definir un TTL personalizado añade un espacio seguido por el valor de TTL Al final de la URI.Para coincidencias exactas, añadir %s al final de la URL.Para activar la siguiente funcionalidad, activa la API de Cloudflare en la configuración de la CDN.Para excluir %1$s, insertar %2$s.Para generar un enlace de acceso sin contraseña para el equipo de soporte de LiteSpeed, debes instalar %s.Para conceder acceso a la administración de WP al equipo de soporte de LiteSpeed, por favor, genera un enlace sin contraseña para el usuario conectado actual para enviarlo con el informe.Para asegurarnos de que nuestro servidor puede comunicarse con el tuyo sin problemas y todo funciona bien, para las pocas primeras solicitudes la cantidad de grupos de imágenes permitidas en una sola petición es limitada.Para gestionar tus opciones de QUIC.cloud, ve al escritorio de QUIC.cloud.Para gestionar tus opciones de QUIC.cloud, ve al portal de tu proveedor de alojamiento.Para gestionar tus opciones de QUIC.cloud, comunícate con tu proveedor de alojamiento.Para que coincida con el principio, añade %s al comienzo del artículo.Para evitar que los %s sean almacenados en la caché, introdúcelos aquí.Para evitar que se llene el disco, este ajuste debe estar APAGADO cuando todo funcione.Para aleatorizar el hostname de la CDN, define multiples hostnames para los mismos recursos.Para probar el carrito, visita las %sFAQ%s.Para poder usar las funciones de cache debes tener un servidor LiteSpeed o estar usando la la CDN QUIC.cloud.HerramientaHerramientasTotalReducción totalUso totalTotal de imágenes optimizadas en este mesTrackbacks/pingbacksComentarios enviados a la papeleraEntradas enviadas a la papeleraProbar versión de GitHubRetoquesAjustar la configuración de CSSAjustes de los retoquesAPAGARENCENDERActívalo para almacenar en la caché las páginas públicas para los usuarios conectados y muestra la barra de administración y el formulario de comentarios mediante bloques ESI. Estos dos bloques no serán almacenados en la caché, salvo que se active a continuación.Actívalo para controlar heartbeat en el editor.Actívalo para controlar heartbeat en el escritorio.Enciéndelo para controlar heartbeat en las páginas públicas.Activar la actualización automáticaActiva OptimaX. Esto solicitará automáticamente el resultado de tus páginas OptimaX a través del trabajo cron.Activa esta opción para que LiteSpeed Cache se actualice automáticamente cuando se publique una nueva versión. Si está desactivada, tendrás que actualizar manualmente como de costumbre.Activa esta opción para mostrar automáticamente las últimas noticias, incluyendo correcciones de fallos, nuevas versiones, versiones beta disponibles y promociones.Cambia este ajuste %s si estás usando una red de entrega de contenido (CDN) tradicional o un subdominio para contenido estático con la CDN de QUIC.cloud.Vista previa del tweetTuitea estoUCCS integradoArchivos excluidos en línea de UCSSLista blanca del selector de CSS sin usoExclusiones UCSS de la URIURL excluidasLas rutas de URI que contengan estas cadenadas NO serán cacheadas como públicas.URLBuscar URLLista de URL en cola %s esperando el cronNo ha sido posible añadir automáticamente %1$s como alias de dominio para el dominio %2$s principal, debido a un conflicto potencial con la CDN.No ha sido posible añadir automáticamente %1$s como alias de dominio para el dominio %2$s principal.Se ha encontrado una regla inesperada de la caché %2$s en el archivo %1$s. Esta regla puede hacer que los visitantes vean las versiones anteriores de las páginas debido a que el navegador almacena en la caché las páginas HTML. Si tienes la seguridad de que las páginas HTML no están siendo almacenadas en la caché del navegador, puedes ignorar este mensaje. (%3$sMás información%4$s)CSS únicoError desconocidoActualizar %sActualizarActualizado con éxito.UsoEstadísticas de uso: %sUsa %1$s en %2$s para indicar que esta cookie no ha sido establecida.Usa %1$s para omitir UCSS para las páginas cuyo tipo de página es %2$s.Utiliza %1$s para saltarte la comprobación de dimensión en imágenes remotas cuando la %2$s esté ACTIVA.Usa %1$s para generar un único UCSS para las páginas cuyo tipo de página es %2$s, mientras que los otros tipos de páginas se mantienen por URL.Usar la funcionalidad de la API %s.Usar mapeo de CDNUsar ajuste de administrador de redUsar archivos optimizadosUsar archivos originalesUsar configuración del sitio principalUsa el servicio generador de marcadores de posición de imágenes de baja calidad (LQIP) de QUIC.cloud para obtener vistas previas de la imagen mientras se carga.Usa el servicio online de QUIC.cloud para generar el CSS crítico y cargar asíncronamente el CSS restante.Usar el servicio en línea QUIC.cloud para generar CSS único.Utiliza la biblioteca del cargador de fuentes web para cargar asíncronamente Google Fonts, dejando el resto del CSS intacto.Utiliza un preajuste oficial diseñado por LiteSpeed para configurar tu sitio en un clic. Pruebe el cacheo esencial sin riesgos, la optimización extrema o algo intermedio.Usa la funcionalidad de la caché de objetos externos.Utilizar conexiones keep-alive para acelerar operaciones de la caché.Usar el último commit de desarrollo de GitHubUtiliza el último commit Dev/Master de GitHubUsar el último commit maestro de GitHubUsar la última versión de WordPressUsar imágenes originales (no optimizadas) en tu webUsa el formato %1$s o %2$s (el elemento es opcional).Utiliza esta sección para cambiar la versión del plugin. Para hacer una prueba beta de un commit de GitHub, introduce la URL del commit en el campo de abajo.Útil para imágenes de la mitad superior de la página que causan CLS (una métrica de Core Web Vitals).Nombre de usuarioUsando la versión optimizada del archivo. VPIValor del filtro aplicadoRango de valoresLas variables %s serán reemplazadas por el color de fondo configurado.Las variables %s serán reemplazadas por las correspondientes propiedades de la imagen.Variar cookiesGrupos de variaciónVariante según el minicarritoVer detalles de la versión %2$s de %1$sVer el archivo «.htaccess»Ver sitio sin cachéVer sitio sin optimizarImagen de la vistaGeneración del viewport de la imagenImágenes de la vistaCron de imágenes de la vistaVisita el foro de soporte de LSCWPVisitar el sitio sin la sesión iniciada.ADVERTENCIAADVERTENCIA: La cookie de acceso del .htaccess y la cookie de acceso de la base de datos no coinciden.En esperaEsperando a ser rastreado¿Quieres conectar con otros usuarios de LiteSpeed?Ver estado del rastreadorEstamos bien. Ninguna tabla usa el motor MyISAM.Estamos trabajando duro para mejorar tu experiencia de servicio online. El servicio no estará disponible mientras trabajamos. Sentimos cualquier inconveniente.Archivo WebP reducido en %1$s (%2$s)WebP ha ahorrado un %sAtributo a reemplazar para WebP/AVIFWebP/AVIF para srcset adicionalBienvenido a LiteSpeed¿Qué es un grupo?¿Qué es un grupo de imágenes?Cuando un visitante pasa el cursor sobre un enlace a una página, precarga esa página. Esto acelera la visita a ese enlace.Al desactivar la caché, se purgarán todas las entradas almacenadas en caché de este sitio.Al activarlo, la caché se purgará automáticamente cuando cualquier plugin, tema o el núcleo de WordPress sea actualizado.Al minimizar HTML no descartes los comentarios que coincidan con un patrón especificado.Al cambiar de formato, utiliza %1$s o %2$s para aplicar esta nueva opción a las imágenes previamente optimizadas.Cuando esta opción se cambia a %s, también se cargan de forma asíncrona las fuentes de Google.Cuando usas la carga diferida, se retrasa la carga de todas las imágenes de la página.¿Quién debería usar este preajuste?¿Por qué desactivas el plugin?TTL caché de WidgetsEl comodín %1$s es compatible (compara cero o más caracteres). Por ejemplo, para igualar %2$s y %3$s, utiliza %4$s.Compatibilidad con el comodín %s.Con ESI (Edge Side Includes), las páginas pueden ser servidas desde la caché a usuarios con sesión iniciada.Con la CDN de QUIC.cloud activada, puede que todavía estés viendo las cabeceras de la caché de tu servidor local.Ajustes de WooCommerceControl de la calidad de imagen de WordPressEl intervalo válido de WordPress es de %s segundos.WpW: Caché privada o caché públicaArchivo anualActualmente estás utilizando los servicios como usuario anónimo. Para gestionar tus opciones de QUIC.cloud, utiliza el botón de abajo para crear una cuenta y acceder al escritorio de QUIC.cloud.Puedes simplemente teclear parte de dominio.Puedes listar las cookies de terceros que varían aquí.Puedes alternar rápidamente entre el uso de archivos de imágenes originales (versiones no optimizadas) y optimizadas. Afectará a todas las imágenes de tu web, tanto a las versiones normales como a las versiones webp si están disponibles.Puedes solicitar un máximo de %s imágenes de una vez.También puedes activar el almacenamiento en caché del navegador en la administración del servidor. %sObtén más información sobre los ajustes de caché del navegador de LiteSpeed%s.Puedes convertir shortcodes en bloques ESI.Puedes usar este código %1$s en %2$s para especificar la ruta al archivo «.htaccess».No puedes eliminar esta zona de DNS porque aún está en uso. Por favor, actualiza los servidores de nombers, luego tratar de borrar de nuevo esta zona, en caso contrario tu sitio será inaccesible.Tienes imágenes esperando a ser retiradas. Espera a que se complete la extracción automática o bájalas manualmente ahora.Tienes demasiadas imágenes solicitadas, inténtalo dentro de unos minutos.Has utilizado toda tu cuota diaria de hoy.Has utilizado toda la cuota que te quedaba para el servicio actual este mes.¡Acabas de desbloquear una promoción de QUIC.cloud!Debes usar uno de los siguientes productos para medir el tiempo de carga de la página:Debes configurar %1$s en %2$s antes de usar esta característica.Debes configurar %s antes de usar esta característica.Primero debes activar QC.Primero debes configurar %1$s. Usa el comando %2$s para configurarlo.Debes configurar %s en Ajustes antes de usar el rastreadorDebes activar %s y finalizar toda la generación de WebP para obtener el máximo resultado.Necesitas activar %s para obtener el máximo resultado.¡No podrás revertir la optimización una vez eliminadas las copias de seguridad!Necesitarás finalizar la configuración de %s para utilizar los servicios en línea.Tu cuota de %1$s en %2$s aún seguirá en uso.El hostname o dirección IP de tu %s.Tu clave de la API/token se usa para acceder a las API de %s.Tu dirección de email en %s.Tu IPTu solicitud está a la espera de aprobación.A tu dominio se le ha prohibido usar nuestros servicios debido a una violación de política anterior.Tu domain_key ha sido bloqueada temporalmente para evitar abusos. Puedes ponerte en contacto con el servicio de asistencia de QUIC.cloud para obtener más información.La IP de tu servidorTu sitio está conectado y listo para usar los servicios en línea de QUIC.cloud.Tu sitio está conectado y utiliza los servicios en línea de QUIC.cloud como <strong>usuario anónimo</strong>. La función CDN y ciertas funciones de los servicios de optimización no están disponibles para usuarios anónimos. Conéctate a QUIC.cloud para usar la CDN y todas las funciones de los servicios en línea disponibles.Cero, ocategoríascookiesp.ej. utiliza %1$s o %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationahora mismomásno importa dónde vivan.pixelsproporciona más información aquí para ayudar al equipo de LiteSpeed con la depuración.ahora mismoejecutandosegundosetiquetasla IP autodetectada puede no ser exacta si tienes establecida una IP saliente adicional o si tienes varias IP configuradas en tu servidor.desconocidouser agentsPKa^�\�%�B"�"�%translations/litespeed-cache-ru_RU.ponu�[���# Translation of Plugins - LiteSpeed Cache - Stable (latest release) in Russian
# This file is distributed under the same license as the Plugins - LiteSpeed Cache - Stable (latest release) package.
msgid ""
msgstr ""
"PO-Revision-Date: 2025-12-16 19:49:27+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);\n"
"X-Generator: GlotPress/4.0.3\n"
"Language: ru\n"
"Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)\n"

#: tpl/page_optm/settings_media.tpl.php:289
msgid "Automatically replace large images with scaled versions."
msgstr "Автоматически заменяйте большие изображения их уменьшенными версиями."

#: tpl/page_optm/settings_css.tpl.php:118
#: tpl/page_optm/settings_css.tpl.php:255
#: tpl/page_optm/settings_media.tpl.php:201
#: tpl/page_optm/settings_vpi.tpl.php:66
msgid "Clear"
msgstr "Очистить"

#: tpl/inc/modal.deactivation.php:38
msgid "Other"
msgstr "Другой"

#: tpl/general/online.tpl.php:138
msgid "CDN - Disabled"
msgstr "CDN - отключено"

#: tpl/general/online.tpl.php:136
msgid "CDN - Enabled"
msgstr "CDN - Включено"

#: tpl/db_optm/manage.tpl.php:180
msgid "Autoload top list"
msgstr "Список лучших в автозагрузке"

#: tpl/db_optm/manage.tpl.php:175
msgid "Autoload size"
msgstr "Размер автозагрузки"

#: tpl/toolbox/purge.tpl.php:224
msgid "e.g. Use %1$s or %2$s."
msgstr "используйте например %1$s или %2$s."

#: tpl/toolbox/log_viewer.tpl.php:64 tpl/toolbox/report.tpl.php:62
msgid "Click to copy"
msgstr "Кликните, чтобы скопировать"

#: src/lang.cls.php:265
msgid "Clear Cloudflare cache"
msgstr "Очистить кэш CloudFlare"

#: tpl/toolbox/log_viewer.tpl.php:65
msgid "Copy Log"
msgstr "Журнал копирования"

#: tpl/page_optm/settings_tuning_css.tpl.php:149
msgid "Selectors must exist in the CSS. Parent classes in the HTML will not work."
msgstr "Селекторы должны существовать в CSS. Родительские классы в HTML не будут работать."

#: tpl/page_optm/settings_tuning_css.tpl.php:142
msgid "List the CSS selectors whose styles should always be included in CCSS."
msgstr "Перечислите селекторы CSS, стили которых всегда должны быть включены в CCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:67
msgid "List the CSS selectors whose styles should always be included in UCSS."
msgstr "Перечислите селекторы CSS, стили которых всегда должны быть включены в UCSS."

#: tpl/img_optm/summary.tpl.php:77 tpl/page_optm/settings_css.tpl.php:156
#: tpl/page_optm/settings_css.tpl.php:293
#: tpl/page_optm/settings_vpi.tpl.php:101
msgid "Available after %d second(s)"
msgstr "Доступно через %d секунд(ов)"

#: tpl/dash/dashboard.tpl.php:347
msgid "Enable QUIC.cloud Services"
msgstr "Включите службы QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:163
msgid "Do not show this again"
msgstr "Не показывайте это снова"

#: tpl/dash/dashboard.tpl.php:153
msgid "Free monthly quota available. Can also be used anonymously (no email required)."
msgstr "Предоставляется бесплатная месячная квота. Можно также использовать анонимно (не требуется электронная почта)."

#: tpl/cdn/cf.tpl.php:17
msgid "Cloudflare Settings"
msgstr "Настройки Cloudflare"

#: src/tool.cls.php:43 src/tool.cls.php:54
msgid "Failed to detect IP"
msgstr "Не удалось обнаружить IP"

#: src/lang.cls.php:189
msgid "CCSS Selector Allowlist"
msgstr "Список разрешений селектора CCSS"

#: tpl/toolbox/settings-debug.tpl.php:82
msgid "Outputs to a series of files in the %s directory."
msgstr "Вывод в серию файлов в каталоге %s."

#: tpl/toolbox/report.tpl.php:87
msgid "Attach PHP info to report. Check this box to insert relevant data from %s."
msgstr "Прикрепите информацию о PHP к отчету. Установите этот флажок, чтобы вставить соответствующие данные из %s."

#: tpl/toolbox/report.tpl.php:63
msgid "Last Report Date"
msgstr "Дата последнего отчета"

#: tpl/toolbox/report.tpl.php:62
msgid "Last Report Number"
msgstr "Номер последнего отчета"

#: tpl/toolbox/report.tpl.php:40
msgid "Regenerate and Send a New Report"
msgstr "Регенерация и отправка нового отчета"

#: tpl/img_optm/summary.tpl.php:372
msgid "This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action."
msgstr "Это приведет к сбросу значения %1$s. Если вы изменили настройки WebP/AVIF и хотите создать %2$s для ранее оптимизированных изображений, используйте это действие."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:368
msgid "Soft Reset Optimization Counter"
msgstr "Мягкий сброс счетчика оптимизации"

#: tpl/img_optm/settings.media_webp.tpl.php:34
msgid "When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images."
msgstr "При переключении форматов нажмите %1$s или %2$s, чтобы применить новый выбор к ранее оптимизированным изображениям."

#: tpl/img_optm/settings.media_webp.tpl.php:31
msgid "%1$s is a %2$s paid feature."
msgstr "%1$s - платная функция %2$s."

#: tpl/general/online.tpl.php:160
msgid "Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first."
msgstr "Удалите интеграцию QUIC.cloud с этого сайта. Примечание: Данные QUIC.cloud будут сохранены, и вы сможете снова включить сервисы в любое время. Если вы хотите полностью удалить сайт из QUIC.cloud, сначала удалите домен через QUIC.cloud Dashboard."

#: tpl/general/online.tpl.php:159
msgid "Disconnect from QUIC.cloud"
msgstr "Отключитесь от QUIC.cloud"

#: tpl/general/online.tpl.php:159
msgid "Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard."
msgstr "Вы уверены, что хотите отключиться от QUIC.cloud? Это не приведет к удалению данных с приборной панели QUIC.cloud."

#: tpl/general/online.tpl.php:150
msgid "CDN - not available for anonymous users"
msgstr "CDN - недоступно для анонимных пользователей"

#: tpl/general/online.tpl.php:144
msgid "Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features."
msgstr "Ваш сайт подключен и использует онлайн-сервисы QUIC.cloud как <strong>анонимный пользователь</strong>. Функция CDN и некоторые функции сервисов оптимизации недоступны для анонимных пользователей. Подключитесь к QUIC.cloud, чтобы использовать CDN и все доступные функции Онлайн-сервисов."

#: tpl/general/online.tpl.php:143
msgid "QUIC.cloud Integration Enabled with limitations"
msgstr "Интеграция с QUIC.cloud Включена с ограничениями"

#: tpl/general/online.tpl.php:126
msgid "Your site is connected and ready to use QUIC.cloud Online Services."
msgstr "Ваш сайт подключен и готов к использованию онлайн-сервисов QUIC.cloud."

#: tpl/general/online.tpl.php:125
msgid "QUIC.cloud Integration Enabled"
msgstr "Интеграция с QUIC.cloud включена"

#: tpl/general/online.tpl.php:114
msgid "In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it."
msgstr "Для того чтобы пользоваться большинством сервисов QUIC.cloud, вам необходима квота. QUIC.cloud предоставляет вам бесплатную квоту каждый месяц, но если вам нужно больше, вы можете ее приобрести."

#: tpl/general/online.tpl.php:105
msgid "Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding."
msgstr "Предлагает дополнительную <strong>встроенную службу DNS</strong> для упрощения внедрения CDN."

#: tpl/general/online.tpl.php:104
msgid "Provides <strong>security at the CDN level</strong>, protecting your server from attack."
msgstr "Обеспечивает <strong>безопасность на уровне CDN</strong>, защищая ваш сервер от атак."

#: tpl/general/online.tpl.php:103
msgid "Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>."
msgstr "Обеспечивает глобальное покрытие благодаря растущей <strong>сети из 80 с лишним PoP</strong>."

#: tpl/general/online.tpl.php:102
msgid "Caches your entire site, including dynamic content and <strong>ESI blocks</strong>."
msgstr "Кэширует весь ваш сайт, включая динамическое содержимое и <strong>блоки ESI</strong>."

#: tpl/general/online.tpl.php:98
msgid "Content Delivery Network"
msgstr "Доставка контента (CDN)"

#: tpl/general/online.tpl.php:89
msgid "<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold."
msgstr "<strong>Viewport Images (VPI)</strong> обеспечивает хорошо отполированный полностью загруженный вид над сгибом."

#: tpl/general/online.tpl.php:88
msgid "<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads."
msgstr "<strong>Low Quality Image Placeholder (LQIP)</strong> придает вашим изображениям более приятный вид при ленивой загрузке."

#: tpl/general/online.tpl.php:87
msgid "<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall."
msgstr "<strong>Уникальный CSS (UCSS)</strong> удаляет неиспользуемые определения стилей для более быстрой загрузки страницы в целом."

#: tpl/general/online.tpl.php:86
msgid "<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling."
msgstr "<strong>Критический CSS (CCSS)</strong> быстрее загружает видимое содержимое, расположенное выше по тексту, с полным стилем."

#: tpl/general/online.tpl.php:84
msgid "QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores."
msgstr "Услуги QUIC.cloud по оптимизации страниц направлены на устранение раздутости CSS и улучшение пользовательского опыта во время загрузки страницы, что может привести к повышению скорости работы страницы."

#: tpl/general/online.tpl.php:81
msgid "Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee."
msgstr "Обработка изображений в форматах PNG, JPG и WebP бесплатна. Обработка AVIF доступна за отдельную плату."

#: tpl/general/online.tpl.php:79
msgid "Optionally creates next-generation WebP or AVIF image files."
msgstr "По желанию создайте файлы изображений нового поколения WebP или AVIF."

#: tpl/general/online.tpl.php:78
msgid "Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality."
msgstr "Обрабатывает загруженные изображения в форматах PNG и JPG, чтобы получить уменьшенные версии без потери качества."

#: tpl/general/online.tpl.php:76
msgid "QUIC.cloud's Image Optimization service does the following:"
msgstr "Служба оптимизации изображений QUIC.cloud делает следующее:"

#: tpl/general/online.tpl.php:72
msgid "<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading."
msgstr "<strong>Оптимизация страницы</strong> позволяет оптимизировать стили и визуальные элементы страницы для ускорения загрузки."

#: tpl/general/online.tpl.php:71
msgid "<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster."
msgstr "<strong>Оптимизация изображений</strong> позволяет уменьшить размер файлов изображений и ускорить их передачу."

#: tpl/general/online.tpl.php:69
msgid "QUIC.cloud's Online Services improve your site in the following ways:"
msgstr "Онлайн-сервисы QUIC.cloud улучшают работу вашего сайта следующими способами:"

#: tpl/general/online.tpl.php:60
msgid "Speed up your WordPress site even further with QUIC.cloud Online Services and CDN."
msgstr "Ускорьте свой сайт WordPress еще больше с помощью онлайн-сервисов QUIC.cloud и CDN."

#: tpl/general/online.tpl.php:59
msgid "QUIC.cloud Integration Disabled"
msgstr "Интеграция с QUIC.cloud отключена"

#: tpl/general/online.tpl.php:22
msgid "QUIC.cloud Online Services"
msgstr "Онлайн-сервисы QUIC.cloud"

#: tpl/general/entry.tpl.php:16 tpl/general/online.tpl.php:68
msgid "Online Services"
msgstr "Онлайн-услуги"

#: tpl/db_optm/manage.tpl.php:186
msgid "Autoload"
msgstr "Автозагрузка"

#: tpl/dash/dashboard.tpl.php:887
msgid "Refresh QUIC.cloud status"
msgstr "Обновить состояние QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:446 tpl/dash/dashboard.tpl.php:511
msgid "Refresh"
msgstr "Обновить"

#: tpl/dash/dashboard.tpl.php:419
msgid "You must be using one of the following products in order to measure Page Load Time:"
msgstr "Для измерения времени загрузки страницы вы должны использовать один из следующих продуктов:"

#: tpl/dash/dashboard.tpl.php:182
msgid "Refresh Usage"
msgstr "Обновить использование"

#: tpl/dash/dashboard.tpl.php:128 tpl/dash/dashboard.tpl.php:908
msgid "News"
msgstr "Новости"

#: tpl/crawler/summary.tpl.php:28
msgid "You need to set the %s in Settings first before using the crawler"
msgstr "Перед использованием краулера необходимо сначала установить %s в Настройках"

#: tpl/crawler/settings.tpl.php:136
msgid "You must set %1$s to %2$s before using this feature."
msgstr "Перед использованием этой функции необходимо установить %1$s на %2$s."

#: tpl/crawler/settings.tpl.php:116 tpl/crawler/summary.tpl.php:211
msgid "You must set %s before using this feature."
msgstr "Перед использованием этой функции необходимо установить %s."

#: tpl/cdn/qc.tpl.php:139 tpl/cdn/qc.tpl.php:146
msgid "My QUIC.cloud Dashboard"
msgstr "Моя приборная панель QUIC.cloud"

#: tpl/cdn/qc.tpl.php:130
msgid "You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard."
msgstr "В настоящее время вы пользуетесь услугами как анонимный пользователь. Чтобы управлять опциями QUIC.cloud, воспользуйтесь кнопкой ниже, чтобы создать учетную запись и перейти на панель QUIC.cloud Dashboard."

#: tpl/cdn/qc.tpl.php:123 tpl/cdn/qc.tpl.php:143
msgid "To manage your QUIC.cloud options, go to QUIC.cloud Dashboard."
msgstr "Чтобы управлять параметрами QUIC.cloud, перейдите на панель QUIC.cloud Dashboard."

#: tpl/cdn/qc.tpl.php:119
msgid "To manage your QUIC.cloud options, please contact your hosting provider."
msgstr "Для управления опциями QUIC.cloud обратитесь к своему хостинг-провайдеру."

#: tpl/cdn/qc.tpl.php:117
msgid "To manage your QUIC.cloud options, go to your hosting provider's portal."
msgstr "Чтобы управлять опциями QUIC.cloud, перейдите на портал вашего хостинг-провайдера."

#: tpl/cdn/qc.tpl.php:96
msgid "QUIC.cloud CDN Options"
msgstr "Варианты CDN для QUIC.cloud"

#: tpl/cdn/qc.tpl.php:73
msgid "no matter where they live."
msgstr "независимо от того, где они живут."

#: tpl/cdn/qc.tpl.php:71
msgid "Content Delivery Network Service"
msgstr "Служба сети доставки контента"

#: tpl/cdn/qc.tpl.php:61 tpl/dash/dashboard.tpl.php:857
msgid "Enable QUIC.cloud CDN"
msgstr "Включите CDN QUIC.cloud"

#: tpl/cdn/qc.tpl.php:59
msgid "Link & Enable QUIC.cloud CDN"
msgstr "Подключите и включите CDN QUIC.cloud"

#: tpl/cdn/qc.tpl.php:55
msgid "QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users."
msgstr "QUIC.cloud CDN <strong>недоступна</strong> для анонимных (несвязанных) пользователей."

#: tpl/cdn/qc.tpl.php:53
msgid "QUIC.cloud CDN is currently <strong>fully disabled</strong>."
msgstr "Сеть CDN QUIC.cloud в настоящее время <strong>полностью отключена</strong>."

#: tpl/cdn/qc.tpl.php:46 tpl/dash/dashboard.tpl.php:169
msgid "Learn More about QUIC.cloud"
msgstr "Узнайте больше о QUIC.cloud"

#: tpl/cdn/qc.tpl.php:45 tpl/dash/dashboard.tpl.php:167
#: tpl/general/online.tpl.php:26
msgid "QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud."
msgstr "QUIC.cloud предоставляет услуги CDN и онлайн-оптимизации и не является обязательным. Вы можете использовать многие функции этого плагина без QUIC.cloud."

#: tpl/cdn/qc.tpl.php:41 tpl/dash/dashboard.tpl.php:158
#: tpl/general/online.tpl.php:64 tpl/general/online.tpl.php:119
msgid "Enable QUIC.cloud services"
msgstr "Включите облачные сервисы QUIC.cloud"

#: tpl/cdn/qc.tpl.php:38 tpl/general/online.tpl.php:61
#: tpl/general/online.tpl.php:145
msgid "Free monthly quota available."
msgstr "Предоставляется бесплатная месячная квота."

#: tpl/cdn/qc.tpl.php:36 tpl/dash/dashboard.tpl.php:150
msgid "Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>."
msgstr "Ускорьте свой сайт WordPress еще больше с помощью <strong>онлайн-сервисов QUIC.cloud и CDN</strong>."

#: tpl/cdn/qc.tpl.php:34 tpl/dash/dashboard.tpl.php:146
msgid "Accelerate, Optimize, Protect"
msgstr "Ускорение, оптимизация, защита"

#: tpl/cdn/qc.tpl.php:29
msgid "Check the status of your most important settings and the health of your CDN setup here."
msgstr "Здесь вы можете проверить состояние наиболее важных настроек и работоспособность вашей CDN-установки."

#: tpl/cdn/qc.tpl.php:27
msgid "QUIC.cloud CDN Status Overview"
msgstr "Обзор состояния сети CDN QUIC.cloud"

#: tpl/cdn/qc.tpl.php:24 tpl/dash/dashboard.tpl.php:886
msgid "Refresh Status"
msgstr "Состояние обновления"

#: tpl/cdn/entry.tpl.php:16
msgid "Other Static CDN"
msgstr "Другие статические CDN"

#: tpl/banner/new_version.php:113 tpl/banner/score.php:141
#: tpl/banner/slack.php:48
msgid "Dismiss this notice."
msgstr "Закрыть это уведомление."

#: tpl/banner/cloud_promo.tpl.php:35
msgid "Send to twitter to get %s bonus"
msgstr "Отправьте в twitter, чтобы получить %s бонусов"

#: tpl/banner/cloud_promo.tpl.php:26
msgid "Spread the love and earn %s credits to use in our QUIC.cloud online services."
msgstr "Распространяйте любовь и зарабатывайте %s кредитов для использования в наших онлайн-сервисах QUIC.cloud."

#: src/media.cls.php:526
msgid "No backup of unoptimized AVIF file exists."
msgstr "Резервная копия неоптимизированного файла AVIF не существует."

#: src/media.cls.php:510
msgid "AVIF saved %s"
msgstr "AVIF сохранен %s"

#: src/media.cls.php:502
msgid "AVIF file reduced by %1$s (%2$s)"
msgstr "Файл AVIF, уменьшенный на %1$s (%2$s)"

#: src/media.cls.php:492
msgid "Currently using original (unoptimized) version of AVIF file."
msgstr "В настоящее время используется оригинальная (неоптимизированная) версия файла AVIF."

#: src/media.cls.php:485
msgid "Currently using optimized version of AVIF file."
msgstr "В настоящее время используется оптимизированная версия файла AVIF."

#: src/lang.cls.php:232
msgid "WebP/AVIF For Extra srcset"
msgstr "WebP/AVIF для дополнительного набора кадров"

#: src/lang.cls.php:227
msgid "Next-Gen Image Format"
msgstr "Формат изображений нового поколения"

#: src/img-optm.cls.php:2031
msgid "Enabled AVIF file successfully."
msgstr "Успешное включение файла AVIF."

#: src/img-optm.cls.php:2026
msgid "Disabled AVIF file successfully."
msgstr "Успешное отключение файла AVIF."

#: src/img-optm.cls.php:1378
msgid "Reset image optimization counter successfully."
msgstr "Сброс счетчика оптимизации изображений прошел успешно."

#: src/file.cls.php:133
msgid "Filename is empty!"
msgstr "Имя файла пустое!"

#: src/error.cls.php:68
msgid "You will need to finish %s setup to use the online services."
msgstr "Чтобы воспользоваться онлайн-сервисами, необходимо завершить настройку %s."

#: src/cloud.cls.php:2276
msgid "Sync QUIC.cloud status successfully."
msgstr "Состояние QUIC.cloud успешно синхронизировано."

#: src/cloud.cls.php:2220
msgid "Linked to QUIC.cloud preview environment, for testing purpose only."
msgstr "Связано с предварительной средой QUIC.cloud, только для тестирования."

#: src/cloud.cls.php:1919
msgid "Click here to proceed."
msgstr "Нажмите здесь, чтобы продолжить."

#: src/cloud.cls.php:1918
msgid "Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account."
msgstr "Сайт не распознан. QUIC.cloud деактивировался автоматически. Пожалуйста, активируйте вашу учетную запись QUIC.cloud заново."

#: src/cloud.cls.php:846
msgid "Reset %s activation successfully."
msgstr "Сброс %s успешно активирован."

#: src/cloud.cls.php:725 src/cloud.cls.php:775 src/cloud.cls.php:818
msgid "Congratulations, %s successfully set this domain up for the online services with CDN service."
msgstr "Поздравляем, %s успешно настроил этот домен для работы с онлайн-сервисами с помощью службы CDN."

#: src/cloud.cls.php:720
msgid "Congratulations, %s successfully set this domain up for the online services."
msgstr "Поздравляем, %s успешно настроил этот домен для работы с онлайн-сервисами."

#: src/cloud.cls.php:718
msgid "Congratulations, %s successfully set this domain up for the anonymous online services."
msgstr "Поздравляем, %s успешно настроил этот домен на анонимные онлайн-сервисы."

#: src/cloud.cls.php:690
msgid "%s activation data expired."
msgstr "%s истек срок действия данных активации."

#: src/cloud.cls.php:683
msgid "Failed to parse %s activation status."
msgstr "Не удалось разобрать статус активации %s."

#: src/cloud.cls.php:676
msgid "Failed to validate %s activation data."
msgstr "Не удалось проверить данные активации %s."

#: src/cloud.cls.php:386
msgid "Cert or key file does not exist."
msgstr "Сертификат или файл ключа не существует."

#: src/cloud.cls.php:368 src/cloud.cls.php:414 src/cloud.cls.php:441
#: src/cloud.cls.php:460 src/cloud.cls.php:481 src/cloud.cls.php:499
msgid "You need to activate QC first."
msgstr "Сначала вам нужно активировать QC."

#: src/cloud.cls.php:319 src/cloud.cls.php:376
msgid "You need to set the %1$s first. Please use the command %2$s to set."
msgstr "Сначала необходимо установить %1$s. Для установки используйте команду %2$s."

#: src/cloud.cls.php:256 src/cloud.cls.php:341
msgid "Failed to get echo data from WPAPI"
msgstr "Не удалось получить данные эха из WPAPI"

#: src/admin-settings.cls.php:104
msgid "The user with id %s has editor access, which is not allowed for the role simulator."
msgstr "Пользователь с идентификатором %s имеет доступ редактора, что не разрешено для симулятора роли."

#: src/error.cls.php:94
msgid "You have used all of your quota left for current service this month."
msgstr "Вы использовали всю оставшуюся квоту на текущую услугу в этом месяце."

#: src/error.cls.php:86 src/error.cls.php:99
msgid "Learn more or purchase additional quota."
msgstr "Узнайте больше или приобретите дополнительную квоту."

#: src/error.cls.php:81
msgid "You have used all of your daily quota for today."
msgstr "Вы использовали всю свою дневную квоту на сегодня."

#: tpl/page_optm/settings_html.tpl.php:106
msgid "When minifying HTML do not discard comments that match a specified pattern."
msgstr "При минификации HTML не удаляйте комментарии, соответствующие заданному шаблону."

#: tpl/cache/settings-advanced.tpl.php:39
msgid "Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space."
msgstr "Укажите действие AJAX в POST/GET и количество секунд для кэширования этого запроса, разделенные пробелом."

#: src/lang.cls.php:169
msgid "HTML Keep Comments"
msgstr "HTML Сохранить комментарии"

#: src/lang.cls.php:117
msgid "AJAX Cache TTL"
msgstr "AJAX Cache TTL"

#: src/error.cls.php:111
msgid "You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now."
msgstr "У вас есть изображения, ожидающие извлечения. Пожалуйста, дождитесь завершения автоматического извлечения или извлеките их вручную сейчас."

#: tpl/db_optm/manage.tpl.php:26
msgid "Clean all orphaned post meta records"
msgstr "Очистить все неиспользуемые мета-записи постов"

#: tpl/db_optm/manage.tpl.php:25
msgid "Orphaned Post Meta"
msgstr "Неиспользуемые мета-записи"

#: tpl/dash/dashboard.tpl.php:864
msgid "Best available WordPress performance"
msgstr "Лучшая производительность WordPress из доступных"

#: src/db-optm.cls.php:257
msgid "Clean orphaned post meta successfully."
msgstr "Очистка неиспользуемых мета-записей прошла успешно."

#: tpl/img_optm/summary.tpl.php:325
msgid "Last Pulled"
msgstr "В последний раз загружено"

#: tpl/cache/settings_inc.login_cookie.tpl.php:104
msgid "You can list the 3rd party vary cookies here."
msgstr "Вы можете перечислить здесь все варианты cookie от третьих лиц."

#: src/lang.cls.php:245
msgid "Vary Cookies"
msgstr "Список Cookie"

#: tpl/page_optm/settings_html.tpl.php:75
msgid "Preconnecting speeds up future loads from a given origin."
msgstr "Предварительное подключение ускоряет загрузку из перечисленных источников."

#: thirdparty/woocommerce.content.tpl.php:89
msgid "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."
msgstr "Если ваша тема не использует JS для обновления мини корзины, лучше включить эту опцию для корректного отображения содержимого корзины."

#: thirdparty/woocommerce.content.tpl.php:88
msgid "Generate a separate vary cache copy for the mini cart when the cart is not empty."
msgstr "Создаёт отдельную копию кэша для мини корзины, когда корзина не пуста."

#: thirdparty/woocommerce.content.tpl.php:80
msgid "Vary for Mini Cart"
msgstr "Отдельный кэш мини корзины"

#: src/lang.cls.php:179
msgid "DNS Preconnect"
msgstr "Предварительное подключение"

#: src/doc.cls.php:40
msgid "This setting is %1$s for certain qualifying requests due to %2$s!"
msgstr "Для некоторых квалификационных запросов эта настройка равна %1$s из-за %2$s!"

#: tpl/page_optm/settings_tuning.tpl.php:43
msgid "Listed JS files or inline JS code will be delayed."
msgstr "Перечисленные файлы JS или встроенный код JS будут отложены."

#: tpl/crawler/map.tpl.php:58
msgid "URL Search"
msgstr "Поиск URL"

#: src/lang.cls.php:181
msgid "JS Delayed Includes"
msgstr "Отложенные включения JS"

#: src/cloud.cls.php:1693
msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."
msgstr "Ваш domain_key был временно заблокирован для предотвращения злоупотреблений. Для получения дополнительной информации вы можете обратиться в службу поддержки по адресу QUIC.cloud."

#: src/cloud.cls.php:1688
msgid "Cloud server refused the current request due to unpulled images. Please pull the images first."
msgstr "Облачный сервер отклонил текущий запрос из-за наличия незагруженных изображений. Сначала извлеките изображения."

#: tpl/crawler/summary.tpl.php:110
msgid "Current server load"
msgstr "Текущая загрузка сервера"

#: src/img-optm.cls.php:890
msgid "Started async image optimization request"
msgstr "Запущен асинхронный запрос на оптимизацию изображений"

#: src/crawler.cls.php:324
msgid "Started async crawling"
msgstr "Запущено асинхронное сканирование"

#: src/conf.cls.php:551
msgid "Saving option failed. IPv4 only for %s."
msgstr "Не удалось сохранить опцию. IPv4 только для %s."

#: src/cloud.cls.php:1700
msgid "Cloud server refused the current request due to rate limiting. Please try again later."
msgstr "Облачный сервер отклонил текущий запрос из-за ограничения скорости. Повторите попытку позже."

#: tpl/img_optm/summary.tpl.php:298
msgid "Maximum image post id"
msgstr "Макс. id записи изображения"

#: tpl/img_optm/summary.tpl.php:297 tpl/img_optm/summary.tpl.php:372
msgid "Current image post id position"
msgstr "Текущая позиция id записи изображения"

#: src/lang.cls.php:31
msgid "Images ready to request"
msgstr "Изображения готовы к запросу"

#: tpl/dash/dashboard.tpl.php:385 tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54 tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr "Повторное определение"

#. translators: %1$s: Socket name, %2$s: Host field title, %3$s: Example socket
#. path
#. translators: %1$s: Socket name, %2$s: Port field title, %3$s: Port value
#: tpl/cache/settings_inc.object.tpl.php:107
#: tpl/cache/settings_inc.object.tpl.php:146
msgid "If you are using a %1$s socket, %2$s should be set to %3$s"
msgstr "Если вы используете сокет %1$s, %2$s должен быть установлен на %3$s"

#: src/root.cls.php:198
msgid "All QUIC.cloud service queues have been cleared."
msgstr "Все очереди службы QUIC.cloud были очищены."

#. translators: %s: The type of the given cache key.
#: src/object-cache-wp.cls.php:245
msgid "Cache key must be integer or non-empty string, %s given."
msgstr "Ключ кэша должен быть целым числом или непустой строкой, задано %s."

#: src/object-cache-wp.cls.php:242
msgid "Cache key must not be an empty string."
msgstr "Ключ кэша не должен быть пустой строкой."

#: src/lang.cls.php:190
msgid "JS Deferred / Delayed Excludes"
msgstr "Исключить JS из Отложенных / Задержанных"

#: src/doc.cls.php:177
msgid "The queue is processed asynchronously. It may take time."
msgstr "Очередь обрабатывается асинхронно. Это может занять время."

#: src/cloud.cls.php:1362
msgid "In order to use QC services, need a real domain name, cannot use an IP."
msgstr "Для того чтобы воспользоваться услугами QC, необходимо реальное доменное имя, нельзя использовать IP."

#: tpl/presets/standard.tpl.php:195
msgid "Restore Settings"
msgstr "Восстановить настройки"

#: tpl/presets/standard.tpl.php:193
msgid "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"
msgstr "Это восстановит резервные настройки, созданные %1$s перед применением предустановки %2$s. Все изменения, сделанные с тех пор, будут потеряны. Вы хотите продолжить?"

#: tpl/presets/standard.tpl.php:189
msgid "Backup created %1$s before applying the %2$s preset"
msgstr "Резервная копия создана %1$s перед применением предустановки %2$s"

#: tpl/presets/standard.tpl.php:178
msgid "Applied the %1$s preset %2$s"
msgstr "Применена %1$s предустановка  %2$s"

#: tpl/presets/standard.tpl.php:175
msgid "Restored backup settings %1$s"
msgstr "Восстановлены настройки резервного копирования %1$s"

#: tpl/presets/standard.tpl.php:173
msgid "Error: Failed to apply the settings %1$s"
msgstr "Ошибка: не удалось применить настройки %1$s"

#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr "История"

#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr "неизвестно"

#: tpl/presets/standard.tpl.php:133
msgid "Apply Preset"
msgstr "Применить предустановку"

#: tpl/presets/standard.tpl.php:131
msgid "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"
msgstr "Это создаст резервную копию ваших текущих настроек и заменит их предустановленными настройками %1$s. Вы хотите продолжить?"

#: tpl/presets/standard.tpl.php:121
msgid "Who should use this preset?"
msgstr "Кому следует использовать эту предустановку?"

#: tpl/presets/standard.tpl.php:96
msgid "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between."
msgstr "Используйте официальный пресет, разработанный LiteSpeed, чтобы настроить свой сайт в один клик. Попробуйте безопасное кэширование, экстремальную оптимизацию или что-то среднее."

#: tpl/presets/standard.tpl.php:92
msgid "LiteSpeed Cache Standard Presets"
msgstr "Стандартные предустановки LiteSpeed Cache"

#: tpl/presets/standard.tpl.php:84
msgid "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."
msgstr "Эта предустановка почти наверняка потребует проверки и исключения некоторых CSS, JS и отложенной загрузки изображений. Обратите особое внимание на логотипы или изображения слайдера на основе HTML."

#: tpl/presets/standard.tpl.php:81
msgid "Inline CSS added to Combine"
msgstr "Встроенный CSS добавлен для объединения"

#: tpl/presets/standard.tpl.php:80
msgid "Inline JS added to Combine"
msgstr "Встроенный JS добавлен для объединения"

#: tpl/presets/standard.tpl.php:79
msgid "JS Delayed"
msgstr "Задержка JS"

#: tpl/presets/standard.tpl.php:78
msgid "Viewport Image Generation"
msgstr "Создание изображения области просмотра"

#: tpl/presets/standard.tpl.php:77
msgid "Lazy Load for Images"
msgstr "Отложенная загрузка изображений"

#: tpl/presets/standard.tpl.php:76
msgid "Everything in Aggressive, Plus"
msgstr "Все из Агрессивные, плюс"

#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr "Экстремальные"

#: tpl/presets/standard.tpl.php:69
msgid "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning."
msgstr "Эта предустановка может работать без настройки для некоторых веб-сайтов, но обязательно проверьте! В разделе Оптимизация страницы > Настройка могут потребоваться некоторые исключения CSS или JS."

#: tpl/presets/standard.tpl.php:66
msgid "Lazy Load for Iframes"
msgstr "Отложенная загрузка для iframe"

#: tpl/presets/standard.tpl.php:65
msgid "Removed Unused CSS for Users"
msgstr "Удаление неиспользуемого CSS для пользователей"

#: tpl/presets/standard.tpl.php:64
msgid "Asynchronous CSS Loading with Critical CSS"
msgstr "Асинхронная загрузка CSS с критическим CSS"

#: tpl/presets/standard.tpl.php:63
msgid "CSS & JS Combine"
msgstr "Объединение CSS и JS"

#: tpl/presets/standard.tpl.php:62
msgid "Everything in Advanced, Plus"
msgstr "Все из Расширенные, плюс"

#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr "Агрессивные"

#: tpl/presets/standard.tpl.php:55
msgid "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools."
msgstr "Эта предустановка подходит для большинства веб-сайтов и вряд ли вызовет конфликты. Любые конфликты CSS или JS можно разрешить с помощью Оптимизация страницы > Настройка."

#: tpl/presets/standard.tpl.php:50
msgid "Remove Query Strings from Static Files"
msgstr "Удалить строки запроса из статических файлов"

#: tpl/presets/standard.tpl.php:48
msgid "DNS Prefetch for static files"
msgstr "Предварительная выборка DNS для статических файлов"

#: tpl/presets/standard.tpl.php:47
msgid "JS Defer for both external and inline JS"
msgstr "Отложить JS для внешнего и встроенного JS"

#: tpl/presets/standard.tpl.php:45
msgid "CSS, JS and HTML Minification"
msgstr "Минификация CSS, JS и HTML"

#: tpl/presets/standard.tpl.php:44
msgid "Guest Mode and Guest Optimization"
msgstr "Гостевой режим и гостевая оптимизация"

#: tpl/presets/standard.tpl.php:43
msgid "Everything in Basic, Plus"
msgstr "Все из Основные, плюс"

#: tpl/presets/standard.tpl.php:41
msgid "Advanced (Recommended)"
msgstr "Расширенные (реком.)"

#: tpl/presets/standard.tpl.php:36
msgid "This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners."
msgstr "Эта предварительная установка с низким уровнем риска знакомит с основными оптимизациями для повышения скорости и взаимодействия с пользователем. Подходит для начинающих энтузиастов."

#: tpl/presets/standard.tpl.php:33
msgid "Mobile Cache"
msgstr "Мобильный кэш"

#: tpl/presets/standard.tpl.php:31
msgid "Everything in Essentials, Plus"
msgstr "Все из Самые необходимые, плюс"

#: tpl/presets/standard.tpl.php:24
msgid "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."
msgstr "Эта предустановка без риска подходит для всех веб-сайтов. Подходит для новых пользователей, простых веб-сайтов или разработки, ориентированной на кеширование."

#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr "Более высокий TTL"

#: tpl/presets/standard.tpl.php:19
msgid "Default Cache"
msgstr "Кэш по умолчанию"

#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr "Самые необходимые"

#: tpl/presets/entry.tpl.php:23
msgid "LiteSpeed Cache Configuration Presets"
msgstr "Предустановки конфигурации LiteSpeed Cache"

#: tpl/presets/entry.tpl.php:16
msgid "Standard Presets"
msgstr "Стандартные предустановки"

#: tpl/page_optm/settings_tuning_css.tpl.php:52
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
msgstr "Перечисленные CSS-файлы будут исключены из UCSS и сохранены во встроенном режиме."

#: src/lang.cls.php:161
msgid "UCSS Selector Allowlist"
msgstr "Белый список селекторов UCSS"

#: src/admin-display.cls.php:253
msgid "Presets"
msgstr "Предустановки"

#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr "Партнёрские привилегии предоставлены"

#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr "Журналы LiteSpeed"

#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr "Журнал поискового робота"

#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr "Журнал очистки"

#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr "Предотвращает запись, включающая перечисленные строки."

#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr "Просмотр сайта до кэширования"

#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr "Просмотр сайта до оптимизации"

#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr "Средства отладки"

#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr "Запланировать автоматическую генерацию изображений, появляющихся в области просмотра."

#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr "Это позволяет отобразить первоначальное изображение на странице без задержки."

#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr "Служба Viewport Images определяет, какие изображения появляются в области просмотра, и исключает их из ленивой загрузки."

#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr "Когда вы используете Lazy Load, загрузка всех изображений на странице будет отложена."

#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr "Используйте %1$s для обхода удаленной проверки размера изображения, когда %2$s включен."

#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr "VPI"

#: tpl/general/settings.tpl.php:72 tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr "%s должна быть включена, чтобы настройка работала."

#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr "Изображение в области просмотра"

#: thirdparty/litespeed-check.cls.php:100
#: thirdparty/litespeed-check.cls.php:165
msgid "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"
msgstr "Рассмотрите возможность отключения следующих плагинов, поскольку они могут конфликтовать с LiteSpeed Cache:"

#: src/metabox.cls.php:43
msgid "Mobile"
msgstr "Телефон"

#: src/metabox.cls.php:41
msgid "Disable VPI"
msgstr "Отключить VPI"

#: src/metabox.cls.php:40
msgid "Disable Image Lazyload"
msgstr "Отключить отложенную загрузку изображений"

#: src/metabox.cls.php:39
msgid "Disable Cache"
msgstr "Отключить кэширование"

#: src/lang.cls.php:282
msgid "Debug String Excludes"
msgstr "Исключение отладочных строк"

#: src/lang.cls.php:221
msgid "Viewport Images Cron"
msgstr "Планировщик для изображений области просмотра"

#: src/lang.cls.php:220 src/metabox.cls.php:42 src/metabox.cls.php:43
#: tpl/page_optm/settings_vpi.tpl.php:23
msgid "Viewport Images"
msgstr "Изображения в области просмотра"

#: src/lang.cls.php:71
msgid "Alias is in use by another QUIC.cloud account."
msgstr "Псевдоним используется другой учетной записи QUIC.cloud."

#: src/lang.cls.php:66
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."
msgstr "Невозможно автоматически добавить %1$s в качестве псевдонима для основного домена %2$s."

#: src/lang.cls.php:58
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."
msgstr "Невозможно автоматически добавить %1$s в качестве псевдонима домена для основного домена %2$s, из-за потенциального конфликта CDN."

#: src/error.cls.php:231
msgid "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."
msgstr "Вы не можете удалить эту зону DNS, поскольку она все еще используется. Обновите серверы доменных имен, а затем попробуйте удалить эту зону снова, иначе ваш сайт станет недоступным."

#: src/error.cls.php:134
msgid "The site is not a valid alias on QUIC.cloud."
msgstr "Сайт не является действительным псевдонимом на QUIC.cloud."

#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr "Тщательно проверяйте каждый JS-файл, который вы добавляете, чтобы убедиться, что он работает так, как ожидается."

#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr "Тщательно проверьте все элементы в %s, чтобы убедиться, что они работают так, как ожидается."

#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr "Используйте %1$s для обхода UCSS для страниц, тип страницы которых %2$s."

#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr "Используйте %1$s для генерации единичного UCSS для страниц, типом страницы которых является %2$s, в то время как другие типы страниц по-прежнему генерируются по URL."

#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr "Фильтр %s доступен для генерации UCSS по типу страницы."

#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr "Гостевой режим не прошел проверку."

#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr "Гостевой режим прошел проверку."

#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr "Проверка"

#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr "Результаты проверки гостевого режима"

#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr "Нет в черном списке"

#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr "Узнайте больше о том, когда это необходимо"

#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr "Очищены все записи локализованных ресурсов."

#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr "Смотреть .htaccess"

#: tpl/toolbox/edit_htaccess.tpl.php:63 tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr "Вы можете использовать этот код %1$s в %2$s для указания пути к файлу htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:62 tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr "Поддерживается константа PHP %s."

#: tpl/toolbox/edit_htaccess.tpl.php:58 tpl/toolbox/edit_htaccess.tpl.php:76
msgid "Default path is"
msgstr "Стандартный путь"

#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr "Путь к .htaccess"

#: tpl/general/settings.tpl.php:49
msgid "Please read all warnings before enabling this option."
msgstr "Прочитайте все предупреждения перед включением этой опции."

#: tpl/toolbox/purge.tpl.php:83
msgid "This will delete all generated unique CSS files"
msgstr "Это удалит все сгенерированные уникальные файлы CSS"

#: tpl/toolbox/beta_test.tpl.php:85
msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."
msgstr "Чтобы избежать ошибки обновления, вы должны использовать %1$s или более позднюю версию, прежде чем сможете выполнить обновление до версии %2$s."

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Use latest GitHub Dev/Master commit"
msgstr "Используйте последний коммит GitHub Dev/Master"

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."
msgstr "Нажмите кнопку %s, чтобы использовать последний коммит GitHub. Master предназначен для релиз-кандидата, а Dev - для экспериментального тестирования."

#: tpl/toolbox/beta_test.tpl.php:73
msgid "Downgrade not recommended. May cause fatal error due to refactored code."
msgstr "Понижение версии не рекомендуется. Может привести к фатальной ошибке из-за рефакторинга кода."

#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr "Оптимизируйте страницы только для гостевого режима (не авторизованных пользователей). Если этот параметр выключен, файлы CSS/JS/CCSS будут удваиваться каждой группой пользователей."

#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr "Перечисленные JS файлы или встроенный JS код не будут оптимизированы %s."

#: tpl/page_optm/settings_tuning_css.tpl.php:92
msgid "Listed URI will not generate UCSS."
msgstr "Указанный URI не будет генерировать UCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:74
msgid "The selector must exist in the CSS. Parent classes in the HTML will not work."
msgstr "Селектор должен присутствовать в CSS. Родительские классы в HTML работать не будут."

#: tpl/page_optm/settings_tuning_css.tpl.php:70
#: tpl/page_optm/settings_tuning_css.tpl.php:145
msgid "Wildcard %s supported."
msgstr "Поддерживается подстановочный знак %s."

#: tpl/page_optm/settings_media_exc.tpl.php:34
msgid "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."
msgstr "Полезно для изображений в верхней части страницы, вызывающих CLS (показатель Core Web Vitals)."

#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr "Укажите явную ширину и высоту элементов изображения, чтобы уменьшить смещение макета и улучшить CLS (показатель Core Web Vitals)."

#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr "Изменения этого параметра не применяются к уже созданным LQIP. Чтобы регенерировать существующие LQIP, необходимо сперва %s из меню панели администратора."

#: tpl/page_optm/settings_js.tpl.php:79
msgid "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."
msgstr "Вы можете уменьшить конфликт ресурсов и снизить FID (показатель Core Web Vitals) для повышения производительности, откладывая страницу до тех пор, пока она не будет проанализирована, или пока не произойдет взаимодействие."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr "Задержано"

#: tpl/page_optm/settings_js.tpl.php:52
msgid "JS error can be found from the developer console of browser by right clicking and choosing Inspect."
msgstr "Ошибку JS можно найти в консоли разработчика браузера, щелкнув правой кнопкой мыши и выбрав «Просмотреть код»."

#: tpl/page_optm/settings_js.tpl.php:51 tpl/page_optm/settings_js.tpl.php:85
msgid "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."
msgstr "Этот параметр может привести к ошибке JS или проблеме с макетом на внешних страницах сайта при использовании определенных тем/плагинов."

#: tpl/page_optm/settings_html.tpl.php:147
msgid "This will also add a preconnect to Google Fonts to establish a connection earlier."
msgstr "Это также добавит предварительное подключение к Google Fonts, чтобы установить соединение раньше."

#: tpl/page_optm/settings_html.tpl.php:91
msgid "Delay rendering off-screen HTML elements by its selector."
msgstr "Задержка рендеринга внеэкранных HTML-элементов с помощью его селектора."

#: tpl/page_optm/settings_css.tpl.php:314
msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."
msgstr "Отключение этой опции позволяет вам генерировать CCSS на основе типа записи а не для каждой страницы. Это может значительно сократить использование CCSS, но стили CSS могут быть некорректными для сайтов, использующих Page Builder (конструктор страниц)."

#: tpl/page_optm/settings_css.tpl.php:230
msgid "This option is bypassed due to %s option."
msgstr "Эта опция обходится из-за опции %s."

#: tpl/page_optm/settings_css.tpl.php:224
msgid "Elements with attribute %s in HTML code will be excluded."
msgstr "Элементы с атрибутом %s в HTML-коде будут исключены."

#: tpl/page_optm/settings_css.tpl.php:217
msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."
msgstr "Используйте онлайн-сервис QUIC.cloud для создания критического CSS и асинхронной загрузки оставшегося CSS."

#: tpl/page_optm/settings_css.tpl.php:181
msgid "This option will automatically bypass %s option."
msgstr "Эта опция автоматически обходит опцию %s."

#: tpl/page_optm/settings_css.tpl.php:178
msgid "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON."
msgstr "Встроенный UCSS для уменьшения загрузки дополнительных файлов CSS. Эта опция не будет автоматически включена для %1$s страниц. Чтобы использовать ее на страницах %1$s, установите значение ВКЛ."

#: tpl/page_optm/settings_css.tpl.php:155
#: tpl/page_optm/settings_css.tpl.php:160
#: tpl/page_optm/settings_css.tpl.php:292
#: tpl/page_optm/settings_css.tpl.php:297
#: tpl/page_optm/settings_vpi.tpl.php:100
#: tpl/page_optm/settings_vpi.tpl.php:105
msgid "Run %s Queue Manually"
msgstr "Извлечь очередь %s вручную"

#: tpl/page_optm/settings_css.tpl.php:93
msgid "This option is bypassed because %1$s option is %2$s."
msgstr "Этот опция обходится, потому что опция %1$s равна %2$s."

#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr "Авто генерация уникального CSS происходит в фоновом режиме через очередь планировщика."

#: tpl/page_optm/settings_css.tpl.php:83
msgid "This will drop the unused CSS on each page from the combined file."
msgstr "Это приведёт к удалению неиспользуемого CSS на каждой странице из объединённого файла."

#: tpl/page_optm/entry.tpl.php:18 tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr "Настройки HTML"

#: tpl/inc/in_upgrading.php:15
msgid "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."
msgstr "Плагин LiteSpeed cache обновлен. Обновите страницу, чтобы завершить обновление данных конфигурации."

#: tpl/general/settings_inc.guest.tpl.php:27
msgid "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."
msgstr "Эта опция может помочь исправить изменение кэша некоторых продвинутых посетителей мобильных устройств или планшетов."

#: tpl/general/settings_inc.guest.tpl.php:26
msgid "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX."
msgstr "Гостевой режим всегда предоставляет гостю кэшируемую целевую страницу при первом посещении, последующее обновление кэша будет происходить через AJAX."

#: tpl/general/settings.tpl.php:104
msgid "Please make sure this IP is the correct one for visiting your site."
msgstr "Убедитесь, что это правильный IP для посещения вашего сайта."

#: tpl/general/settings.tpl.php:103
msgid "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."
msgstr "автоматически определяемый IP может быть неточным, если у вас есть дополнительный исходящий IP или на вашем сервере настроено несколько IP-адресов."

#: tpl/general/settings.tpl.php:86
msgid "You need to turn %s on and finish all WebP generation to get maximum result."
msgstr "Вам нужно включить %s и завершить генерацию WebP, чтобы получить максимальный результат."

#: tpl/general/settings.tpl.php:79
msgid "You need to turn %s on to get maximum result."
msgstr "Для получения максимального результата необходимо включить %s."

#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr "Эта опция обеспечивает макс. оптимизацию в гостевом режиме."

#: tpl/dash/dashboard.tpl.php:54 tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521 tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625 tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713 tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801 tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr "Больше"

#: tpl/dash/dashboard.tpl.php:301
msgid "Remaining Daily Quota"
msgstr "Оставшаяся дневная квота"

#: tpl/crawler/summary.tpl.php:246
msgid "Successfully Crawled"
msgstr "Успешно выполнен обход"

#: tpl/crawler/summary.tpl.php:245
msgid "Already Cached"
msgstr "Уже кэширован"

#: tpl/crawler/settings.tpl.php:59
msgid "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."
msgstr "Поисковый робот будет использовать вашу карту сайта XML или индекс карты сайта. Введите здесь полный URL-адрес sitemap ."

#: tpl/cdn/cf.tpl.php:48
msgid "Optional when API token used."
msgstr "Необязательно, если используется токен API."

#: tpl/cdn/cf.tpl.php:40
msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."
msgstr "Рекомендуется сгенерировать токен из шаблона токена Cloudflare API «WordPress»."

#: tpl/cdn/cf.tpl.php:35
msgid "Global API Key / API Token"
msgstr "Глобальный ключ API/токен API"

#: tpl/cache/settings_inc.object.tpl.php:47
msgid "Use external object cache functionality."
msgstr "Используйте функциональность внешнего кэша объектов."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:24
msgid "Serve a separate cache copy for mobile visitors."
msgstr "Отдельная копия кэша для мобильных устройств."

#: thirdparty/woocommerce.content.tpl.php:36
msgid "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."
msgstr "По умолчанию страницы «Моя учетная запись», «Оформление заказа» и «Корзина» автоматически исключаются из кэширования. Неправильная конфигурация ассоциаций страниц в настройках WooCommerce может привести к ошибочному исключению некоторых страниц."

#: src/purge.cls.php:312
msgid "Cleaned all Unique CSS files."
msgstr "Очищены все уникальные файлы CSS."

#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr "Добавить недостающие размеры"

#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr "Оптимизировать только для гостей"

#: src/lang.cls.php:191
msgid "Guest Mode JS Excludes"
msgstr "Исключить JS в гостевом режиме"

#: src/lang.cls.php:171
msgid "CCSS Per URL"
msgstr "CCSS на каждый URL"

#: src/lang.cls.php:168
msgid "HTML Lazy Load Selectors"
msgstr "Селекторы отложенной загрузки HTML"

#: src/lang.cls.php:163
msgid "UCSS URI Excludes"
msgstr "Исключения URI UCSS"

#: src/lang.cls.php:160
msgid "UCSS Inline"
msgstr "Встроить UCSS"

#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr "Гостевая оптимизация"

#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr "Гостевой режим"

#: src/error.cls.php:150
msgid "Online node needs to be redetected."
msgstr "Сетевой узел необходимо определить повторно."

#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr "Текущий сервер сильно загружен."

#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr "Дополнительные сведения см. в %s."

#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr "Этот параметр пересоздаёт список поисковых роботов и очищает список отключенных!"

#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr "В очереди осталось %1$s %2$s файлов"

#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr "Список отключенных обходчиков очищен! Все обходчики активны! "

#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr "Повторное обнаружение узла"

#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr "Нет доступного узла Cloud Node после проверки нагрузки на сервер."

#: src/lang.cls.php:176
msgid "Localization Files"
msgstr "Файлы локализации"

#: cli/purge.cls.php:234
msgid "Purged!"
msgstr "Очищено!"

#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr "Ресурсы, перечисленные здесь, будут скопированы и заменены локальными URL-адресами."

#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr "Использовать последний коммит GitHub Master"

#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr "Использовать последний коммит GitHub Dev"

#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr "Для поискового робота не была найдена действительная карта сайта."

#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr "Объединение внешних и встроенных CSS"

#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr "Включить внешний CSS и встроенный CSS в объединенный файл, при условии включения %1$s. Этот параметр помогает поддерживать приоритеты CSS, что должно минимизировать возможные ошибки, вызванные объединением CSS."

#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr "Минификация файлов CSS и встроенного кода CSS."

#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr "Предварительно определенный список также будет объединен с приведенными выше настройками"

#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr "Локализация"

#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr "Включить внешний JS и встроенный JS в объединенный файл, при условии включения %1$s. Эта опция помогает поддерживать приоритеты выполнения JS, что должно минимизировать потенциальные ошибки, вызванные объединением JS."

#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr "Объединение всех локальных файлов JS в один файл."

#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr "Перечисленные файлы JS или встроенный код JS не будут отложены или задержаны."

#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr "Объединение внешних и встроенных JS"

#: src/admin-display.cls.php:805 tpl/banner/new_version.php:114
#: tpl/banner/score.php:142 tpl/banner/slack.php:49
msgid "Dismiss"
msgstr "Отклонить (Dismiss)"

#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr "Последний файл данных"

#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr "Список будет объединен с предопределенными одноразовыми числами (nonces) в вашем локальном файле данных."

#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr "Объединение файлов CSS и встроенного кода CSS."

#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr "Минификация файлов JS и встроенного кода JS."

#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr "Исключения LQIP"

#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr "Для этих изображений не будет генерироваться LQIP."

#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr "Вы действительно хотите вернуть все параметры к настройкам по умолчанию?"

#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr "Этот параметр удалит все теги %s из HTML."

#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr "Вы уверены, что хотите очистить все облачные узлы?"

#: src/lang.cls.php:193 tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr "Удалить теги Noscript"

#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr "Сайт не зарегистрирован на QUIC.cloud."

#: src/error.cls.php:73 tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144 tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr "Щелкните здесь, чтобы установить."

#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr "Локализация ресурсов"

#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr "Настройка пользовательских заголовков"

#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr "Это приведет к удалению всех локализованных ресурсов"

#: src/gui.cls.php:776 src/gui.cls.php:996 tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr "Локализованные ресурсы"

#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr "Комментарии строк поддерживаются. Начните строку с %s, чтобы закомментировать её."

#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr "Только HTTPS источники."

#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr "Локализация внешних ресурсов."

#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr "Настройки локализации"

#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr "Используйте онлайн-сервис QUIC.cloud для создания уникального CSS."

#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr "Сгенерировать UCSS"

#: tpl/dash/dashboard.tpl.php:668 tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr "Уникальный CSS"

#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr "Очистить записи кэша, созданные этим плагином, за исключением кэша критического/уникального CSS и LQIP"

#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr "Отчёт LiteSpeed"

#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr "Размеры групп миниатюр изображений"

#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr "Игнорировать определенные строки запроса при кэшировании (требуется LSWS %s)"

#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr "URL-адреса с подстановочными знаками могут отложить начало запланированной очистки."

#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr "Из-за особенностей этого параметра, он может отдавать устаревший контент. Не включайте его, если для вас это критично."

#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr "Просроченный кэш"

#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr "Одно или несколько извлечённых изображений не совпадают с md5 заявленного изображения"

#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr "Некоторые оптимизированные файлы изображений были просрочены и очищены."

#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr "У вас слишком много запрошенных изображений. Повторите попытку через несколько минут."

#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr "Извлеченный md5 WebP-изображения не совпадает с md5 уведомленного WebP-изображения."

#: src/img-optm.cls.php:1131
msgid "Pulled AVIF image md5 does not match the notified AVIF image md5."
msgstr "Вытащенный md5 AVIF-изображения не совпадает с md5 уведомленного AVIF-изображения."

#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr "Прочитать документацию LiteSpeed"

#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr "Обработка очереди ещё не завершена. Осталось: %s."

#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr "Укажите продолжительность кэширования файлов Gravatar в секундах."

#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr "Очищено %1$s недопустимых изображений."

#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr "Общие настройки LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr "Это удалит все кэшированные файлы Gravatar"

#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr "Предотвращает ведение журнала отладки перечисленных страниц."

#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr "Заносить в журнал только перечисленные страницы."

#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr "Укажите макс. размер файла журнала."

#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr "Чтобы предотвратить переполнение диска, эта настройка должна быть ВЫКЛ. в рабочей среде."

#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr "Нажмите кнопку %s, чтобы остановить бета-тестирование и вернуться к текущему выпуску из каталога плагинов WordPress."

#: tpl/toolbox/beta_test.tpl.php:65 tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr "Используйте последнюю версию выпуска WordPress"

#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr "ИЛИ"

#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr "Используйте этот раздел для переключения версий подключаемых модулей. Для бета-тестирования GitHub commit введите URL-адрес коммита в поле ниже."

#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr "Сбросить настройки"

#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr "Инструментарий LiteSpeed Cache"

#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr "Бета-тест"

#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr "Просмотр журнала"

#: tpl/toolbox/entry.tpl.php:33 tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr "Настройки отладки"

#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr "Включите, чтобы контролировать пульсацию в редакторе."

#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr "Включите, чтобы контролировать пульсацию на бэкенде."

#: tpl/toolbox/heartbeat.tpl.php:58 tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr "Установите значение %1$s, чтобы запретить пульсацию на %2$s."

#: tpl/toolbox/heartbeat.tpl.php:57 tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr "Допустимый интервал в WordPress составляет %s секунд."

#: tpl/toolbox/heartbeat.tpl.php:56 tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr "Укажите интервал пульсации %s в секундах."

#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr "Включите контроль пульсации на фронтенде."

#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr "Отключите интервальную пульсацию WordPress, чтобы снизить нагрузку на сервер."

#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr "Управление пульсацией"

#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr "предоставьте здесь дополнительные сведения, чтобы помочь команде LiteSpeed в отладке."

#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr "По желанию"

#: tpl/toolbox/report.tpl.php:100 tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr "Сгенерировать ссылку для текущего пользователя"

#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr "Беспарольная ссылка"

#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr "Системная информация"

#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr "Перейти в список плагинов"

#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr "Установить DoLogin Security"

#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr "Проверить мой общедоступный IP-адрес от"

#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr "Ваш IP-адрес сервера"

#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr "Введите IP-адрес этого сайта, чтобы облачная служба могла вызывать IP напрямую, а не через доменное имя. Это устраняет накладные расходы на поиск DNS и CDN."

#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr "Это включит расписание поискового робота."

#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr "Общие настройки поискового робота"

#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr "Удалить из чёрного списка"

#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr "Очистить чёрный список"

#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr "Вы уверены, что хотите удалить все существующие черные списки?"

#: tpl/crawler/blacklist.tpl.php:88 tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr "Занесен в черный список из-за невозможности кэширования"

#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr "Добавить в черный список"

#: tpl/crawler/blacklist.tpl.php:43 tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr "Операция"

#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr "Всего файлов Sitemap"

#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr "Список файлов Sitemap"

#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr "Обновить карту поискового робота"

#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr "Очистить карту поискового робота"

#: tpl/crawler/blacklist.tpl.php:28 tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr "Черный список"

#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr "Карта"

#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr "Резюме"

#: tpl/crawler/map.tpl.php:63 tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr "Промахи в кэше"

#: tpl/crawler/map.tpl.php:62 tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr "Попадание в кэше"

#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr "Ожидание обхода"

#: tpl/crawler/blacklist.tpl.php:89 tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104 tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr "Занесен в черный список"

#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr "Промах"

#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr "Попадание"

#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr "Ожидание"

#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr "Выполняется"

#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr "Используйте %1$s в %2$s, чтобы указать, что этот файл cookie не был установлен."

#: src/admin-display.cls.php:459
msgid "Add new cookie to simulate"
msgstr "Добавьте новый файл cookie для имитации"

#: src/admin-display.cls.php:458
msgid "Remove cookie simulation"
msgstr "Удалить симуляцию файлов cookie"

#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr "Правило Htaccess: %s"

#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr "Дополнительные настройки доступны в меню %s"

#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr "Время (в секундах), в течение которого файлы будут храниться в кэше браузера до истечения срока действия."

#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr "Пользователи OpenLiteSpeed, проверьте это"

#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr "Настройки кэша браузера"

#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr "Пути, содержащие эти строки, будут принудительно кэшироваться в public (публичном) кэше, независимо от настроек отсутствия кеширования."

#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr "Если включен CDN QUIC.cloud, вы все равно можете просматривать заголовки кеша со своего локального сервера."

#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr "Необязательный второй параметр может быть использован для указания управления кэшем. Используйте пробел для разделения"

#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr "Указанные выше одноразовые числа (nonces) будут автоматически преобразованы в ESI."

#: tpl/cache/entry.tpl.php:21 tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr "Браузер"

#: tpl/cache/entry.tpl.php:20 tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr "Объектное"

#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr "Стандартный порт %1$s - %2$s."

#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr "Настройки объектного кэширования"

#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr "Укажите код состояния HTTP и количество секунд для кеширования страницы, разделив их пробелом."

#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr "Укажите в секундах время кэширования главной страницы."

#: tpl/cache/entry.tpl.php:67 tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr "TTL"

#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr "Если ВКЛ, то устаревшая копия кэшированной страницы будет показываться посетителям до тех пор, пока не будет доступна новая копия кэша. Снижает нагрузку на сервер при последующих посещениях. Если ВЫКЛ, страница будет динамически генерироваться, пока посетители ждут."

#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr "Swap"

#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr "Выберите добавление %1$s ко всем правилам %2$s, чтобы указать, как шрифты должны отображаться во время загрузки."

#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr "Список аватаров в очереди на обновление"

#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr "Обновлять кэш Gravatar с помощью планировщика."

#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr "Ускоряет загрузку за счёт кэширования Gravatar (глобально распознаваемый аватар)."

#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr "Храните Gravatar локально (в кэше)."

#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."
msgstr "Не удалось создать таблицу аватара. Следуйте <a %s>инструкциям по созданию таблиц из Wiki LiteSpeed</a>, чтобы завершить установку."

#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr "LQIP не будет создаваться для изображений, меньших заданной ширины и высоты."

#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr "пикс."

#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr "Большее значение приведёт к созданию заполнителя с более высоким разрешением, но также приведёт к увеличению размера файлов, что увеличит размер страницы."

#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr "Укажите качество при генерации LQIP."

#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr "Не включайте, чтобы использовать заливку цветом."

#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr "Использовать QUIC.cloud LQIP (Заполнитель изображения низкого качества) для отображения во время загрузки адаптивных изображений."

#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr "Укажите цвет адаптивного SVG заполнителя."

#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr "Переменные %s будут заменены настроенным цветом фона."

#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr "Переменные %s будут заменены на соответствующие свойства изображения."

#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr "Он будет на лету преобразован в SVG-заполнитель base64."

#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr "Укажите SVG, который будет использоваться в качестве заполнителя при локальной генерации."

#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr "Предотвращает любую отложенную загрузку перечисленных страниц."

#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr "Iframes, имеющие эти родительские имена классов, не будут отложено загружаться."

#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr "Iframes, содержащие эти имена классов, не будут отложено загружаться."

#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr "Изображения с этими именами родительских классов, не будут отложено загружаться."

#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr "Оптимизация страницы LiteSpeed Cache"

#: tpl/page_optm/entry.tpl.php:21 tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr "Исключения медиа"

#: tpl/page_optm/entry.tpl.php:16 tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr "Настройки CSS"

#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr "Рекомендуется %s."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr "Отложено"

#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr "По умолчанию"

#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr "Это может улучшить скорость загрузки страницы."

#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr "Авто включение предварительной выборки DNS для всех URL-адресов в документе, включая изображения, CSS, JavaScript и т.д."

#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr "Доступна новая версия для разработчиков %s."

#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr "Доступна новая версия для разработчиков!"

#: tpl/banner/cloud_news.tpl.php:51 tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr "Отклонить это уведомление"

#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr "Твитнуть это"

#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr "Предварительный просмотр Tweet"

#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr "Подробнее"

#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr "Вы только что разблокировали промоакцию от QUIC.cloud!"

#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr "Настройка качества сжатия изображения WordPress от 0 до 100."

#: tpl/img_optm/entry.tpl.php:17 tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19 tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr "Настройки оптимизации изображений"

#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr "Вы уверены, что хотите уничтожить все оптимизированные изображения?"

#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr "Использовать оптимизированные файлы"

#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr "Вернуться к использованию оптимизированных изображений на сайте"

#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr "Использовать исходные файлы"

#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr "Использовать исходные (неоптимизированные) изображения на сайте"

#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr "Вы можете быстро переключаться между использованием исходных (неоптимизированных версий) и оптимизированных файлов изображений. Это повлияет на все изображения на вашем веб-сайте, как на обычные, так и на веб-версии, если они доступны."

#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr "Инструменты оптимизации"

#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr "Повторное сканирование новых миниатюр"

#: tpl/img_optm/summary.tpl.php:289
msgid "Congratulations, all gathered!"
msgstr "Поздравляем, все собрано!"

#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr "Что такое группа изображений?"

#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr "Удалить все резервные копии исходных изображений"

#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr "Расчет дискового пространства для резервных копий"

#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr "Состояние оптимизации"

#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr "Текущий лимит"

#: tpl/img_optm/summary.tpl.php:68
msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."
msgstr "Чтобы убедиться, что наш сервер может без проблем взаимодействовать с вашим, в нескольких первых запросах количество групп изображений в каждом запросе будет ограничено."

#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr "Можно запросить не более %s изображений одновременно."

#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr "Оптимизация изображений с помощью нашего сервера QUIC.cloud"

#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr "Редакции более ранние, чем это количество дней, будут сохранены при очистке редакций."

#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr "День(и)"

#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr "Укажите количество последних редакций, которые нужно сохранить при очистке."

#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr "Оптимизация БД LiteSpeed Cache"

#: tpl/db_optm/entry.tpl.php:17 tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr "Настройки оптимизации БД"

#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr "Имя параметра"

#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr "Сводка по базе данных"

#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr "Всё хорошо. Нет таблиц, использующих движок MyISAM."

#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr "Преобразовать в InnoDB"

#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr "Инструмент"

#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr "Движок"

#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr "Таблица"

#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr "Конвертер ядра таблиц базы данных"

#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr "Очистить редакции старше %1$s дн., за исключением %2$s последних редакций"

#: tpl/dash/dashboard.tpl.php:87 tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr "Активный поисковый робот"

#: tpl/dash/dashboard.tpl.php:84 tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr "Поисковый робот(ы)"

#: tpl/crawler/map.tpl.php:77 tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr "Статус поискового робота"

#: tpl/dash/dashboard.tpl.php:649 tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737 tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr "Принудительный cron"

#: tpl/dash/dashboard.tpl.php:646 tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734 tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr "Запросы в очереди"

#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr "Приватный кэш"

#: tpl/dash/dashboard.tpl.php:58 tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr "Публичный кэш"

#: tpl/dash/dashboard.tpl.php:53 tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr "Статус кэша"

#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr "Последнее извлечение"

#: tpl/dash/dashboard.tpl.php:520 tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr "Сводка по оптимизации изображения"

#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr "Обновить показатель страницы"

#: tpl/dash/dashboard.tpl.php:383 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr "Вы действительно хотите повторно определить ближайший облачный сервер для этой службы?"

#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr "Обновить время загрузки страницы"

#: tpl/dash/dashboard.tpl.php:354 tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr "Перейдите в панель управления QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:207 tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr "Заполнитель изображения низкого качества (LQIP)"

#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr "Синхронизация данных из облака"

#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr "Статистика использования сервиса QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:293 tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr "Всего изображений, оптимизированных в этом месяце"

#: tpl/dash/dashboard.tpl.php:292 tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr "Всего использовано"

#: tpl/dash/dashboard.tpl.php:274 tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr "Статистика использования системы Pay as You Go"

#: tpl/dash/dashboard.tpl.php:271 tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr "Баланс оплаты по факту"

#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr "Оплата по факту"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr "Использование"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr "Использование быстрой очереди"

#: tpl/dash/dashboard.tpl.php:206 tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr "Трафик CDN"

#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr "Панель управления LiteSpeed Cache"

#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr "Панель управления сетью"

#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr "В настоящее время облачные службы не используются"

#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr "Щелкните, чтобы очистить все узлы для дальнейшего повторного обнаружения."

#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr "Текущие облачные узлы в обслуживании"

#: tpl/cdn/qc.tpl.php:126 tpl/cdn/qc.tpl.php:133 tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr "Подключить аккаунт на QUIC.cloud"

#: tpl/general/entry.tpl.php:17 tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19 tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr "Общие настройки"

#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr "Укажите, какие атрибуты элементов HTML будут заменены на CDN Mapping."

#: src/admin-display.cls.php:485
msgid "Add new CDN URL"
msgstr "Добавить новый URL-адрес CDN"

#: src/admin-display.cls.php:484
msgid "Remove CDN URL"
msgstr "Удалить URL-адрес CDN"

#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr "Чтобы включить следующие функции, включите API CloudFlare в настройках CDN."

#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr "QUIC.cloud"

#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr "Настройки WooСommerce"

#: src/gui.cls.php:788 src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr "Кэш LQIP"

#: src/admin-settings.cls.php:297 src/admin-settings.cls.php:333
msgid "Options saved."
msgstr "Настройки сохранены."

#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr "Резервные копии удалены успешно."

#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr "Расчет резервных копий выполнен успешно."

#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr "Повторное сканирование %d изображений выполнено успешно."

#: src/img-optm.cls.php:1527 src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr "Повторное сканирование выполнено успешно."

#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr "Успешно уничтожены все данные оптимизации."

#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr "Успешно очищены незавершенные данные."

#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr "Выполнить извлечение через cron"

#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr "В текущем запросе облачный сервер не нашел ни одного допустимого изображения."

#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr "В текущем запросе не найдено допустимое изображение."

#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr "На облачный сервер отправлено %1$s, принято %2$s."

#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr "Макс. возраст редакций"

#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr "Макс. количество редакций"

#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr "Исключение отладочных URI"

#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr "Включение отладочных URI"

#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr "HTML-атрибут для замены"

#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr "Использовать CDN Mapping"

#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr "TTL пульсации в редакторе"

#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr "Пульсации в редакторе"

#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr "TTL пульсации внутреннего интерфейса"

#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr "Управление пульсацией во внутреннем интерфейсе"

#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr "TTL пульсации внешнего интерфейса"

#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr "Управление пульсацией во внешнем интерфейсе"

#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr "Путь к .htaccess во внутреннем интерфейсе"

#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr "Путь к .htaccess во внешнем интерфейсе"

#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr "ESI Nonces"

#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr "Управление качеством изображения в WordPress"

#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr "Авто запрос через Cron"

#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr "Генерировать LQIP в фоновом режиме"

#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr "Мин. размеры LQIP"

#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr "Качество LQIP"

#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr "Генератор LQIP в облаке"

#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr "SVG, как адаптивный заполнитель"

#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr "Цвет адаптивного заполнителя"

#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr "Основной заполнитель изображения"

#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr "Исключить отложенную загрузку URI"

#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr "Исключить отложенную загрузку имен родительского класса Iframe"

#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr "Исключить отложенную загрузку имен классов iframe"

#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr "Исключить отложенную загрузку имен родительского класса изображений"

#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr "TTL кэша Gravatar"

#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr "Cron кэша Gravatar"

#: src/gui.cls.php:812 src/gui.cls.php:1032 src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49 tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr "Кэш Gravatar"

#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr "Управление предварительной выборкой DNS"

#: src/lang.cls.php:173 tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr "Оптимизация отображения шрифта"

#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr "Принудительно использовать URI Public Cache"

#: src/lang.cls.php:121
msgid "Notifications"
msgstr "Уведомления"

#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr "TTL страницы кода статуса HTTP по умолчанию"

#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr "TTL REST по умолчанию"

#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr "Включить кэш"

#: src/cloud.cls.php:320 src/cloud.cls.php:377 src/lang.cls.php:106
msgid "Server IP"
msgstr "IP-адрес сервера"

#: src/lang.cls.php:30
msgid "Images not requested"
msgstr "Изображения не запрошены"

#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr "Успешная синхронизация кредита с облачным сервером."

#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr "Не удалось связаться с сервером QUIC.cloud"

#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr "Хорошие новости с сервера QUIC.cloud"

#: src/cloud.cls.php:1767 src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr "Сообщение с сервера QUIC.cloud"

#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr "Повторите попытку после %1$s для службы %2$s."

#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr "Нет доступного узла облака."

#: src/cloud.cls.php:1131 src/cloud.cls.php:1144 src/cloud.cls.php:1182
#: src/cloud.cls.php:1250 src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr "Ошибка облака (Cloud)"

#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr "База данных обновляется в фоновом режиме с %s. Это сообщение исчезнет после завершения обновления."

#: src/media.cls.php:541
msgid "Restore from backup"
msgstr "Восстановление из резервной копии"

#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr "Резервной копии неоптимизированного файла WebP не существует."

#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr "Файл WebP уменьшен на %1$s (%2$s)"

#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr "В настоящее время используется исходная (неоптимизированная) версия файла WebP."

#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr "В настоящее время используется оптимизированная версия файла WebP."

#: src/media.cls.php:464
msgid "Orig"
msgstr "Оригинал"

#: src/media.cls.php:461
msgid "(no savings)"
msgstr "(без экономии)"

#: src/media.cls.php:460
msgid "Orig %s"
msgstr "Оригинал %s"

#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr "Поздравляем! Ваш файл уже оптимизирован"

#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr "Резервная копия исходного файла отсутствует."

#: src/media.cls.php:453 src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr "Использование оптимизированной версии файла. "

#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr "Оригинал сохранен %s"

#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr "Исходный файл уменьшен на %1$s (%2$s)"

#: src/media.cls.php:421 src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr "Щелкните, чтобы переключиться на оптимизированную версию."

#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr "В настоящее время используется исходная (неоптимизированная) версия файла."

#: src/media.cls.php:420 src/media.cls.php:490
msgid "(non-optm)"
msgstr "(без оптимизации)"

#: src/media.cls.php:417 src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr "Щелкните, чтобы переключиться на исходную (неоптимизированную) версию."

#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr "В настоящее время используется оптимизированная версия файла."

#: src/media.cls.php:416 src/media.cls.php:454 src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr "(оптимизация)"

#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr "Предпросмотр изображения LQIP для размера %s"

#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr "LQIP"

#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr "Ранее был в черном списке"

#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr "Ручное добавление в черный список"

#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr "Правила для мобильных агентов"

#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr "Sitemap создал успешно: %d элементов"

#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr "Успешная очистка Sitemap"

#: src/admin-display.cls.php:1512
msgid "Invalid IP"
msgstr "Недопустимый IP-адрес"

#: src/admin-display.cls.php:1484
msgid "Value range"
msgstr "Диапазон значений"

#: src/admin-display.cls.php:1481
msgid "Smaller than"
msgstr "Меньше, чем"

#: src/admin-display.cls.php:1479
msgid "Larger than"
msgstr "Больше, чем"

#: src/admin-display.cls.php:1473
msgid "Zero, or"
msgstr "Ноль, или"

#: src/admin-display.cls.php:1461
msgid "Maximum value"
msgstr "Макс. значение"

#: src/admin-display.cls.php:1458
msgid "Minimum value"
msgstr "Мин. значение"

#: src/admin-display.cls.php:1438
msgid "Path must end with %s"
msgstr "Путь должен заканчиваться на %s"

#: src/admin-display.cls.php:1418
msgid "Invalid rewrite rule"
msgstr "Недопустимое правило перезаписи"

#: src/admin-display.cls.php:261
msgid "Toolbox"
msgstr "Инструменты"

#: src/admin-display.cls.php:259
msgid "Database"
msgstr "База данных"

#: src/admin-display.cls.php:258 tpl/dash/dashboard.tpl.php:205
#: tpl/dash/network_dash.tpl.php:37 tpl/general/online.tpl.php:83
#: tpl/general/online.tpl.php:133 tpl/general/online.tpl.php:148
msgid "Page Optimization"
msgstr "Оптимизация страницы"

#: src/admin-display.cls.php:251 tpl/dash/entry.tpl.php:16
msgid "Dashboard"
msgstr "Панель управления"

#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr "Успешно преобразовано в InnoDB."

#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr "Очищены все файлы Gravatar."

#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr "Очищены все файлы LQIP."

#: src/error.cls.php:238
msgid "Unknown error"
msgstr "Неизвестная ошибка"

#: src/error.cls.php:227
msgid "Your domain has been forbidden from using our services due to a previous policy violation."
msgstr "Вашему домену запрещено использовать наши службы из-за предыдущего нарушения политики."

#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr "Проверка обратного вызова для вашего домена не удалась. Убедитесь, что наши серверы не блокируются брандмауэром. Код ответа: "

#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr "Проверка обратного вызова для вашего домена не удалась. Убедитесь, что наши серверы не блокируются брандмауэром."

#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr "Проверка обратного вызова для вашего домена не удалась из-за несоответствия хэша."

#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr "Ваша заявка ожидает утверждения."

#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr "Предыдущий запрос слишком недавний. Повторите попытку через %s."

#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr "Предыдущий запрос слишком недавний. Повторите попытку позже."

#: src/error.cls.php:194
msgid "Crawler disabled by the server admin."
msgstr "Администратор сервера отключил поисковый робот."

#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr "Не удалось найти %1$s в %2$s."

#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr "Недостаточно кредитов для продолжения текущего запроса."

#: src/error.cls.php:123
msgid "There is proceeding queue not pulled yet."
msgstr "Идет обработка. очередь еще не извлечена."

#: src/error.cls.php:115
msgid "The image list is empty."
msgstr "Список изображений пустой."

#: src/task.cls.php:289
msgid "LiteSpeed Crawler Cron"
msgstr "Cron для поискового робота LiteSpeed"

#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr "Включите эту опцию, чтобы автоматически показывать последние новости, включая исправления, новые релизы, доступные бета-версии и рекламные акции."

#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr "Чтобы предоставить wp-admin доступ к группе поддержки LiteSpeed, сгенерируйте ссылку без пароля для текущего зарегистрированного пользователя, который будет отправлен вместе с отчетом."

#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr "НЕ передавайте никому указанную выше ссылку без пароля."

#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr "Чтобы сгенерировать беспарольную ссылку для доступа к службе поддержки LiteSpeed, необходимо установить %s."

#: tpl/banner/cloud_news.tpl.php:30 tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr "Установить"

#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr "Эти настройки доступны только в LiteSpeed Enterprise Web Server или QUIC.cloud CDN."

#: tpl/banner/score.php:74 tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr "Показатель PageSpeed"

#: tpl/banner/score.php:62 tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411 tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr "Улучшено на"

#: tpl/banner/score.php:53 tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403 tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr "После"

#: tpl/banner/score.php:45 tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395 tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr "Перед"

#: tpl/banner/score.php:40 tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr "Время загрузки страницы"

#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr "Для использования функций кэширования необходимо иметь веб-сервер LiteSpeed или использовать QUIC.cloud CDN."

#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr "Хранить данные EXIF/XMP"

#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr "Попробуйте версию GitHub"

#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr "Если вы отключите какие-либо из вышеперечисленных настроек, удалите соответствующие типы файлов из поля %s."

#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr "Могут использоваться как полные, так и частичные строки."

#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr "Изображения, содержащие эти имена классов, не будут отложено загружаться."

#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr "Исключить отложенную загрузку имен классов изображений"

#: tpl/cache/settings-cache.tpl.php:139 tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr "Например, %1$s определяет время жизни (TTL ) %2$s секунд для %3$s."

#: tpl/cache/settings-cache.tpl.php:136 tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr "Чтобы задать собственный TTL (время жизни) для URI, добавьте в конец URI пробел, за которым следует значение TTL."

#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr "Может быть, позже"

#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr "Включить автообновление"

#: tpl/banner/new_version.php:77 tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr "Обновление"

#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr "Новый выпуск %s уже доступен."

#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr "Доступна новая версия!"

#: tpl/banner/score.php:121
msgid "Created with ❤️ by LiteSpeed team."
msgstr "Создан с ❤️ командой LiteSpeed."

#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr "Конечно, я хотел бы сделать обзор!"

#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr "Спасибо за использование плагина LiteSpeed Cache!"

#: src/activation.cls.php:570
msgid "Upgraded successfully."
msgstr "Обновление выполнено успешно."

#: src/activation.cls.php:561 src/activation.cls.php:566
msgid "Failed to upgrade."
msgstr "Не удалось обновить."

#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr "Настройка успешно изменена."

#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr "Образец ESI для разработчиков"

#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr "Заменить %1$s на %2$s."

#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr "Вы можете превратить шорткоды в блоки ESI."

#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr "WpW: Private Cache в сравнении с Public Cache"

#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr "Чтобы обойти это, добавьте к ресурсу строку запроса %s."

#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr "Google reCAPTCHA будет автоматически обойдена."

#: tpl/crawler/settings.tpl.php:172
msgid "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."
msgstr "Чтобы сканировать конкретный cookie, введите имя cookie и значения, которые нужно сканировать. Значения должны быть по одному в каждой строке. Для каждого значения cookie каждой моделируемой роли создаётся отдельный поисковый робот."

#: src/admin-display.cls.php:456 tpl/crawler/settings.tpl.php:179
msgid "Cookie Values"
msgstr "Значения файлов cookie"

#: src/admin-display.cls.php:455
msgid "Cookie Name"
msgstr "Имя cookie"

#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr "Симуляция куки"

#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr "Используйте библиотеку Web Font Loader для асинхронной загрузки Google Fonts, оставляя другие CSS нетронутыми."

#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr "Включите этот параметр, чтобы авто обновлять LiteSpeed Cache при выпуске новой версии. Если выключено, обновление вручную, как обычно."

#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr "Авто обновление"

#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr "Ваш IP"

#: src/import.cls.php:156
msgid "Reset successfully."
msgstr "Сброс успешно выполнен."

#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr "Это сбросит все настройки до значений по умолчанию."

#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr "Сбросить все настройки"

#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr "Для путей, содержащих эти строки, будут созданы отдельные критические CSS файлы."

#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr "Отдельные URI кэша CCSS"

#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr "Например, если каждая страница вашего сайта имеет разное форматирование, введите %s в поле. Для каждой страницы сайта будут храниться отдельные критические CSS файлы."

#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr "Перечислите типы записей, в которых каждый предмет этого типа должен иметь собственный сгенерированный CCSS."

#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr "Разделить кеш CCSS по типу записей"

#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr "Список размеров в очереди, ожидающей cron"

#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr "Если установлено значение %1$s, перед локализацией заполнителя будет использоваться конфигурация %2$s ."

#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr "Авто генерировать LQIP в фоновом режиме через очередь на основе cron."

#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr "Это сгенерирует заполнитель с теми же размерами, что и изображение, если оно имеет атрибуты ширины и высоты."

#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr "Адаптивные заполнители изображений могут помочь уменьшить дрожание макета при загрузке изображений."

#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr "Адаптивный заполнитель"

#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr "Это приведет к удалению всех сгенерированных файлов-заполнителей LQIP изображений"

#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr "Включите LiteSpeed Cache в настройках плагина."

#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr "Включите модуль LSCache на уровне сервера или обратитесь к своему хостинг-провайдеру."

#: src/cloud.cls.php:1633 src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr "Не удалось выполнить запрос через WordPress"

#. Description of the plugin
#: litespeed-cache.php
msgid "High-performance page caching and site optimization from LiteSpeed"
msgstr "Высокопроизводительное кэширование страниц и оптимизация сайта от LiteSpeed"

#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr "Сброс оптимизированных данных успешно выполнен."

#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr "Обновить %s сейчас"

#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr "См. подробности в %1$s версии %2$s"

#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5:
#. class/aria
#: src/gui.cls.php:1103
msgid "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."
msgstr "<a href=\"%1$s\" %2$s>Просмотреть подробную информацию о версии %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">обновить сейчас</a>."

#: src/gui.cls.php:1079
msgid "Install %s"
msgstr "Установить %s"

#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr "Функции кэширования LiteSpeed Cache на этой странице в настоящее время недоступны!"

#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr "Для этого действия требуется плагин %1$s версии %2$s ."

#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr "Мы прилагаем все усилия, чтобы улучшить качество вашего обслуживания в Интернете. Пока мы работаем, сервис будет недоступен. Мы приносим извинения за возможные неудобства."

#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr "Авто удаление резервных копий исходных изображений после получения оптимизированных изображений."

#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr "Удалить исходные резервные копии"

#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr "Авто запрашивать оптимизацию с помощью cron-задания."

#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr "Перед оптимизацией сохраняется резервная копия каждого изображения."

#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr "Изображения успешно переключены."

#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr "Это может улучшить качество, но может привести к получению изображений большего размера, чем при сжатии с потерями."

#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr "Оптимизация изображений, используя сжатие без потерь."

#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr "Оптимизация без потерь"

#: tpl/img_optm/settings.media_webp.tpl.php:25
msgid "Request WebP/AVIF versions of original images when doing optimization."
msgstr "При оптимизации запрашивайте WebP/AVIF-версии исходных изображений."

#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr "Оптимизируйте изображения и сохраняйте резервные копии оригиналов в той же папке."

#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr "Оптимизация исходных изображений"

#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr "Если этот параметр %s включен, это приведет к асинхронной загрузке шрифтов Google."

#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr "Очищены все критические CSS файлы."

#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr "Это позволит встроить асинхронную библиотеку CSS, чтобы избежать блокировки рендеринга."

#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr "Встроенная асинхронная библиотека CSS"

#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr "Запустить очередь вручную"

#: tpl/page_optm/settings_css.tpl.php:117
#: tpl/page_optm/settings_css.tpl.php:254 tpl/page_optm/settings_vpi.tpl.php:65
msgid "URL list in %s queue waiting for cron"
msgstr "Список URL-адресов в очереди %s ожидает cron"

#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr "Стоимость последнего запроса"

#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr "Последний сгенерированный"

#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr "Если установлено значение %s, это выполняется на переднем плане, что может замедлить загрузку страницы."

#: tpl/page_optm/settings_css.tpl.php:219
msgid "Automatic generation of critical CSS is in the background via a cron-based queue."
msgstr "Авто генерация критического CSS выполняется в фоновом режиме через очередь на основе cron."

#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr "Оптимизация доставки CSS."

#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr "Это приведет к удалению всех сгенерированных критических CSS файлов"

#: tpl/dash/dashboard.tpl.php:624 tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr "Критический CSS"

#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr "Этот сайт использует кэширование для ускорения отклика и улучшить взаимодействие с пользователем. Кэширование потенциально сохраняет дублирующую копию каждой страницы данного сайта. Все файлы кэша являются временными и никогда не доступны третьим лицам, за исключением случаев, когда это необходимо для получения технической поддержки от поставщика подключаемого модуля кэширования. Срок действия файлов кэша истекает по расписанию, установленному администратором сайта, но при необходимости администратор может легко удалять их до истечения срока действия. Мы можем использовать службы QUIC.cloud для временной обработки и кэширования ваших данных."

#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr "Отключение этого может привести к тому, что задачи WordPress, запускаемые AJAX, перестанут работать."

#: src/utility.cls.php:214
msgid "right now"
msgstr "прямо сейчас"

#: src/utility.cls.php:214
msgid "just now"
msgstr "только что"

#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr "Сохранено"

#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr "Последний запуск"

#: tpl/img_optm/settings.tpl.php:66 tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr "После удаления резервных копий вы не сможете восстановить оптимизацию!"

#: tpl/img_optm/settings.tpl.php:65 tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr "Это необратимо."

#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr "Удалить резервные копии исходных изображений"

#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr "Вы уверены, что хотите удалить все резервные копии изображений?"

#: tpl/crawler/blacklist.tpl.php:32 tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr "Всего"

#: tpl/img_optm/summary.tpl.php:198 tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr "Файлы"

#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr "Последний расчет"

#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr "Расчет места хранения исходных изображений"

#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr "Оптимизация системы хранения"

#: tpl/img_optm/settings.tpl.php:165
msgid "Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic."
msgstr "Включите замену WebP/AVIF в элементах %s, которые были сгенерированы вне логики WordPress."

#: tpl/cdn/other.tpl.php:141 tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr "Используйте формат %1$s или %2$s (элемент необязателен)."

#: tpl/cdn/other.tpl.php:137 tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr "Будут заменены только перечисленные здесь атрибуты."

#: tpl/img_optm/settings.tpl.php:149
msgid "Specify which element attributes will be replaced with WebP/AVIF."
msgstr "Укажите, какие атрибуты элементов будут заменены на WebP/AVIF."

#: src/lang.cls.php:231
msgid "WebP/AVIF Attribute To Replace"
msgstr "Замена атрибута WebP/AVIF"

#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr "Только файлы в этих каталогах будут направлены на CDN."

#: src/lang.cls.php:262
msgid "Included Directories"
msgstr "Включенные каталоги"

#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr "Когда WordPress выполняет эти хуки, все очищается."

#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr "Очистить все хуки"

#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr "Успешная очистка всех кэшей."

#: src/gui.cls.php:696 src/gui.cls.php:861 src/gui.cls.php:916
msgid "LSCache"
msgstr "LSCache"

#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr "Принудительное кеширование"

#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr "Пути, содержащие эти строки, будут кэшироваться независимо от каких-либо настроек, которые нельзя кэшировать."

#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr "Принудительный кэш URIs"

#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr "Настройки исключения"

#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr "Это приведет к отключению функции LSCache и всех функций оптимизации для отладки."

#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr "Отключить все функции"

#: src/gui.cls.php:741 src/gui.cls.php:961 tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr "Кэш OpCode"

#: src/gui.cls.php:706 src/gui.cls.php:926 tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr "Кэш CSS/JS"

#: src/gui.cls.php:1055 tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr "Удалите все предыдущие незавершенные запросы по оптимизации изображений."

#: src/gui.cls.php:1056 tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr "Очистить незавершенные данные"

#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr "Присоединяйтесь к нам в Slack"

#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr "Присоединяйтесь к сообществу %s."

#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr "Хотите общаться с другими пользователями LiteSpeed?"

#: tpl/cdn/cf.tpl.php:38
msgid "Your API key / token is used to access %s APIs."
msgstr "Ваш ключ/токен API используется для доступа к API %s."

#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr "Ваш электронный адрес на %s."

#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr "Использовать функциональность API %s."

#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr "Чтобы рандомизировать (выбрать случайным образом) имя хоста CDN, определите несколько имен хостов для одних и тех же ресурсов."

#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr "Присоединяйтесь к сообществу LiteSpeed Slack"

#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr "Посетить форум поддержки LSCWP"

#: src/lang.cls.php:33 tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr "Изображения, оповещенные для извлечения"

#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr "Что такое группа?"

#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr "%s изображение"

#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr "%s группа"

#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr "%s изображения"

#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr "%s группы"

#: src/crawler.cls.php:1310
msgid "Guest"
msgstr "Гость"

#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr "Чтобы сканировать сайт как зарегистрированный пользователь, введите IDs пользователей, которые будут имитироваться."

#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr "Симуляция роли"

#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr "выполняется"

#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr "Размер"

#: tpl/crawler/summary.tpl.php:123 tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr "Причина окончания"

#: tpl/crawler/summary.tpl.php:116 tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr "Последний интервал"

#: tpl/crawler/summary.tpl.php:104 tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr "Текущий поисковый робот запущен в"

#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr "Время работы предыдущего робота"

#: tpl/crawler/summary.tpl.php:91 tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr "%d секунд"

#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr "Последнее полное время работы всех роботов"

#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr "Сканирование (crawl) текущей карты сайта началось в"

#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr "Сохраните переходные процессы в базе данных, когда %1$s равен %2$s."

#: src/lang.cls.php:143
msgid "Store Transients"
msgstr "Хранить транзиенты"

#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile
#. User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr "Если %1$s равно %2$s, то должно быть заполнено %3$s!"

#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104 tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76 tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr "Примечание"

#. translators: %s: list of server variables in <code> tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr "Переменные сервера %s доступны для переопределения этого параметра."

#: src/admin-display.cls.php:1532 tpl/cache/settings-esi.tpl.php:103
#: tpl/page_optm/settings_css.tpl.php:87 tpl/page_optm/settings_css.tpl.php:223
#: tpl/page_optm/settings_html.tpl.php:131
#: tpl/page_optm/settings_media.tpl.php:258
#: tpl/page_optm/settings_media_exc.tpl.php:36
#: tpl/page_optm/settings_tuning.tpl.php:48
#: tpl/page_optm/settings_tuning.tpl.php:68
#: tpl/page_optm/settings_tuning.tpl.php:89
#: tpl/page_optm/settings_tuning.tpl.php:110
#: tpl/page_optm/settings_tuning.tpl.php:129
#: tpl/page_optm/settings_tuning_css.tpl.php:35
#: tpl/page_optm/settings_tuning_css.tpl.php:96
#: tpl/page_optm/settings_tuning_css.tpl.php:99
#: tpl/page_optm/settings_tuning_css.tpl.php:100
#: tpl/toolbox/edit_htaccess.tpl.php:61 tpl/toolbox/edit_htaccess.tpl.php:79
msgid "API"
msgstr "API"

#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr "Успешно импортирован файл настроек %s."

#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr "Сбой импорта из-за ошибки файла."

#: tpl/page_optm/settings_css.tpl.php:61 tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr "Как исправить проблемы, вызванные оптимизацией CSS/JS."

#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr "Это создаст дополнительные запросы к серверу, что увеличит нагрузку на сервер."

#: tpl/cache/settings-advanced.tpl.php:71
msgid "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."
msgstr "Когда пользователь наводит курсор на ссылку страницы, предварительно загрузите эту страницу. Это ускорит переход по ссылке."

#: src/lang.cls.php:241
msgid "Instant Click"
msgstr "Мгновенный щелчок"

#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr "Сброс всего кэша opcode"

#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr "Это позволит импортировать настройки из файла и переопределить все текущие настройки LiteSpeed Cache."

#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr "Последний импортированный"

#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr "Импорт"

#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr "Импорт настроек"

#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr "Все текущие параметры настройки LiteSpeed Cache будут экспортированы и сохранены в виде файла."

#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr "Последний экспортированный"

#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr "Экспорт"

#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr "Экспорт настроек"

#: tpl/presets/entry.tpl.php:17 tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr "Импорт / Экспорт"

#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr "Используйте соединения keep-alive (проверка активности) для ускорения операций с кэшем."

#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr "База данных для использования"

#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr "ID базы данных Redis"

#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr "Укажите пароль, используемый при подключении."

#: src/lang.cls.php:137
msgid "Password"
msgstr "Пароль"

#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr "Доступно, только если установлен %s."

#: src/lang.cls.php:136
msgid "Username"
msgstr "Имя пользователя"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr "Имя сервера %s или IP-адрес."

#: src/lang.cls.php:132
msgid "Method"
msgstr "Метод"

#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr "Успешно очищены все кеши объекта."

#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr "Кэш объекта не включен."

#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr "Увеличьте скорость wp-admin с помощью кеширования. (Могут встретиться просроченные данные)"

#: src/lang.cls.php:142
msgid "Cache WP-Admin"
msgstr "Кэш WP-Admin"

#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr "Постоянное подключение"

#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr "Не кэшировать группы"

#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr "Группы, кэшированные на сетевом уровне."

#: src/lang.cls.php:139
msgid "Global Groups"
msgstr "Глобальные группы"

#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr "Тест подключения"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr "%s расширение"

#: tpl/cache/settings_inc.object.tpl.php:52 tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr "Статус"

#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr "TTL кэша объектов по умолчанию."

#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr "Время жизни Object по умолчанию"

#: src/lang.cls.php:134
msgid "Port"
msgstr "Порт"

#: src/lang.cls.php:133
msgid "Host"
msgstr "Сервер"

#: src/gui.cls.php:729 src/gui.cls.php:949 src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60 tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr "Кэш объекта"

#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr "Неудачно"

#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr "Пройден"

#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr "Недоступно"

#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr "Очистить все кеши объектов"

#: src/cdn/cloudflare.cls.php:275 src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr "Не удалось связаться с CloudFlare"

#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr "Успешное взаимодействие с CloudFlare."

#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr "Нет доступной зоны CloudFlare"

#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr "Уведомление CloudFlare об успешной очистке."

#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr "Для API CloudFlare установлено значение \"Выкл\"."

#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr "Уведомление CloudFlare об успешной установке режима разработки на %s."

#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr "После сохранения он будет сопоставлен с текущим списком и автоматически заполнен."

#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr "Вы можете ввести только часть домена."

#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr "Домен"

#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr "API CloudFlare"

#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr "Очистить все"

#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr "Кэш CloudFlare"

#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr "Режим разработки будет автоматически отключен через три часа."

#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr "Временно обойти кэш CloudFlare. Это позволяет вам в реальном времени видеть изменения, внесенные на исходный сервер."

#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr "Режим разработки будет автоматически отключен через %s."

#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr "Текущий статус - %s."

#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr "Текущий статус: %1$s с (since) %2$s."

#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr "Проверить статус"

#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr "Отключить"

#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr "Включить"

#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr "Режим разработки"

#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr "Зона CloudFlare"

#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr "Домен CloudFlare"

#: src/gui.cls.php:717 src/gui.cls.php:937 tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr "CloudFlare"

#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr "Например"

#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr "Предварительная выборка DNS может уменьшить задержки для посетителей."

#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr "Предзагрузка DNS"

#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr "Добавление стиля к изображениям с отложенной загрузкой"

#: src/admin-display.cls.php:1371 src/admin-display.cls.php:1390
#: tpl/cdn/other.tpl.php:108
msgid "Default value"
msgstr "Значение по умолчанию"

#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr "Ссылки на статические типы файлов должны быть заменены ссылками на CDN."

#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr "Отбросить строку запроса"

#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr "Включите эту опцию, если вы используете и HTTP, и HTTPS в одном домене и замечаете нарушения кеширования."

#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr "Улучшение совместимости HTTP/HTTPS"

#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr "Удаляет все предыдущие запросы/результаты оптимизации изображений, отменяет завершенные оптимизации и удаляет все файлы оптимизации."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr "Уничтожить все данные оптимизации"

#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr "Сканирование на наличие новых неоптимизированных размеров миниатюр изображений и повторная отправка необходимых запросов на оптимизацию изображений."

#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr "Это увеличит размер оптимизированных файлов."

#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr "Сохранить данные EXIF (авторское право, GPS, описание, теги и т.д.) при оптимизации."

#: tpl/toolbox/log_viewer.tpl.php:46 tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr "Очистить журнал"

#: src/utility.cls.php:217
msgid " %s ago"
msgstr " %s назад"

#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr "WebP сохранен %s"

#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr "Если у вас возникнут проблемы, укажите номер отчета в своем сообщении в службу поддержки."

#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr "Последнее извлечение инициировано cron в %s."

#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr "Изображения будут извлекаться автоматически, если запущено задание cron."

#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr "Нажимайте кнопку только в том случае, если задание pull cron (cron извлечения) отключено."

#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr "Извлечь изображения"

#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr "Этот процесс является автоматическим."

#: tpl/dash/dashboard.tpl.php:569 tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr "Последний запрос"

#: tpl/dash/dashboard.tpl.php:546 tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr "Извлеченные изображения"

#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr "Отчет"

#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr "Отправьте этот отчет в LiteSpeed. Cошлитесь на этот номер отчета при публикации в форуме поддержки WordPress."

#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr "Отправить в LiteSpeed"

#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr "Оптимизация LiteSpeed"

#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr "Асинхронная загрузка шрифтов Google"

#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr "TTL кэша браузера"

#: src/doc.cls.php:101 tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846 tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93 tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114 tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46 tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr "Подробнее"

#: tpl/img_optm/summary.tpl.php:285
msgid "Image groups total"
msgstr "Всего групп изображений"

#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr "Изображения оптимизированы и извлечены"

#: src/lang.cls.php:32 tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr "Запрошенные изображения"

#: src/img-optm.cls.php:1993 src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr "Переключение на оптимизированный файл прошло успешно."

#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr "Исходный файл успешно восстановлен."

#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr "Успешно включен файл WebP."

#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr "Успешно отключен WebP-файл."

#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr "Значительно улучшить время загрузки, заменив изображения их оптимизированными версиями %s."

#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr "Выбранные роли будут исключены из кеша."

#: tpl/page_optm/entry.tpl.php:23 tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr "Настройка"

#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr "Выбранные роли будут исключены из всех оптимизаций."

#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr "Исключить роли"

#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr "Параметры настройки"

#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr "Если ярлык тега не найден, тег будет удален из списка при сохранении."

#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr "Если название категории не найдено, категория будет удалена из списка при сохранении."

#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr "После того как сервер оптимизации изображений QUIC.cloud завершит оптимизацию, он уведомит ваш сайт о необходимости извлечь оптимизированные изображения."

#: tpl/dash/dashboard.tpl.php:537 tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr "Отправить запрос на оптимизацию"

#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr "Информация об изображении"

#: tpl/dash/dashboard.tpl.php:543 tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr "Общее сокращение"

#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr "Краткое описание оптимизации"

#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr "Оптимизация изображений LiteSpeed Cache"

#: src/admin-display.cls.php:257 src/gui.cls.php:895
#: tpl/dash/dashboard.tpl.php:204 tpl/dash/network_dash.tpl.php:36
#: tpl/general/online.tpl.php:75 tpl/general/online.tpl.php:134
#: tpl/general/online.tpl.php:149 tpl/presets/standard.tpl.php:32
msgid "Image Optimization"
msgstr "Оптимизация изображения"

#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr "Например, %s можно использовать для прозрачного заполнителя."

#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr "По умолчанию используется серый заполнитель изображения %s."

#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr "Это может быть предопределено в %2$s также с помощью константы %1$s, при этом данная настройка имеет приоритет."

#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr "Укажите изображение-заполнитель в формате base64, которое будет использоваться в качестве предварительного, пока основное изображение не будет загружено."

#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr "Элементы с атрибутом %s в html-коде будут исключены."

#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr "Фильтр %s поддерживается ."

#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr "Перечисленные изображения не будут отложено загружаться."

#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr "Исключить отложенную загрузку изображений"

#: src/gui.cls.php:667
msgid "No optimization"
msgstr "Без оптимизации"

#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr "Предотвращает любую оптимизацию перечисленных страниц."

#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr "Исключенные URI"

#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr "Прекращает загрузку emoji с wordpress.org. Вместо этого будут отображаться emoji браузера."

#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr "Можно использовать как полные URL-адреса, так и частичные строки."

#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr "Загружайте iframe только тогда, когда они появляются в окне просмотра."

#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr "Отложенная загрузка Iframes"

#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr "Это может улучшить время загрузки страницы за счет сокращения начальных HTTP-запросов."

#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr "Загружайте изображения только когда они появляются в окне просмотра."

#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr "Отложенная загрузка изображений"

#: tpl/page_optm/entry.tpl.php:19 tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr "Настройки медиа"

#: tpl/cache/settings-excludes.tpl.php:46
msgid "For example, for %1$s, %2$s and %3$s can be used here."
msgstr "Например, для %1$s %2$s и %3$s можно использовать здесь."

#: tpl/cache/settings-esi.tpl.php:113 tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr "Wildcard %1$s поддерживается (соответствует нулю или больше символов). Например, чтобы сопоставить %2$s и %3$s, используйте %4$s."

#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr "Чтобы соответствовать началу, добавьте %s в начало элемента."

#. translators: 1: example URL, 2: pattern example
#: src/admin-display.cls.php:1553
msgid "For example, for %1$s, %2$s can be used here."
msgstr "Например, для %1$s, %2$s можно использовать здесь."

#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr "Может быть позже"

#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr "Я уже оставил отзыв"

#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr "Добро пожаловать в LiteSpeed"

#: src/lang.cls.php:192 tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr "Удалить WordPress Emoji"

#: src/gui.cls.php:677
msgid "More settings"
msgstr "Больше настроек"

#: src/gui.cls.php:654
msgid "Private cache"
msgstr "Приватный кэш"

#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr "Не кэшируемый"

#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr "Отметить эту страницу как "

#: src/gui.cls.php:584 src/gui.cls.php:601
msgid "Purge this page"
msgstr "Очистить эту страницу"

#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr "Отложенная загрузка JS"

#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr "Укажите правила критического CSS для содержимого в верхней части экрана (выше сгиба) при включении %s."

#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr "Правила критического CSS"

#: src/lang.cls.php:170 tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr "Асинхронная загрузка CSS"

#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr "Предотвращать загрузку шрифтов Google на всех страницах."

#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr "Удалить шрифты Google"

#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175 tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr "Это может улучшить ваш показатель скорости в таких сервисах, как Pingdom, GTmetrix и PageSpeed."

#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr "Удалите строки запроса из внутренних статических ресурсов."

#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr "Удалить строки запроса"

#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr "агенты пользователя"

#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr "cookies"

#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr "Кэширование браузера хранит статические файлы локально в браузере пользователя. Включите этот параметр, чтобы уменьшить повторяющиеся запросы для статических файлов."

#: src/lang.cls.php:109 tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605 tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr "Кэш браузера"

#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr "теги"

#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr "Не кэшировать теги"

#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr "Чтобы исключить %1$s, вставьте %2$s."

#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr "категории"

#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr "Чтобы предотвратить кэширование %s, введите его здесь."

#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr "Не кэшировать категории"

#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr "Строки запроса, содержащие эти параметры, не кэшируются."

#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr "Не кэшировать строки запроса"

#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr "Пути, содержащие эти строки, не будут кэшироваться."

#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr "Не кэшировать URI"

#: src/admin-display.cls.php:1559 src/doc.cls.php:128
msgid "One per line."
msgstr "Один в каждой строке."

#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr "Пути URI, содержащие эти строки, НЕ будут кэшироваться как public (общие)."

#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr "Private Cached URIs"

#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr "Пути, содержащие эти строки, не будут обслуживаться из CDN."

#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr "Исключить путь"

#: src/lang.cls.php:259 tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr "Включить типы файлов"

#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr "Обслуживайте все файлы JavaScript через CDN. Это повлияет на все файлы WP JavaScript в очереди."

#: src/lang.cls.php:258
msgid "Include JS"
msgstr "Включить JS"

#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr "Обслуживайте все CSS-файлы через CDN. Это повлияет на все поставленные в очередь файлы CSS WP."

#: src/lang.cls.php:257
msgid "Include CSS"
msgstr "Включить CSS"

#: src/lang.cls.php:256
msgid "Include Images"
msgstr "Включить изображения"

#: src/admin-display.cls.php:482
msgid "CDN URL to be used. For example, %s"
msgstr "Используемый URL-адрес CDN. Напр., %s"

#: src/lang.cls.php:255
msgid "CDN URL"
msgstr "URL-адрес CDN"

#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr "URL сайта будет обслуживаться через CDN. Начиная с%1$s. Например,%2$s."

#: src/lang.cls.php:261
msgid "Original URLs"
msgstr "Исходные URL-адреса"

#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr "Настройки CDN"

#: src/admin-display.cls.php:256
msgid "CDN"
msgstr "CDN"

#: src/admin-display.cls.php:487 src/admin-display.cls.php:1168
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.object.tpl.php:280 tpl/cdn/other.tpl.php:53
#: tpl/dash/dashboard.tpl.php:69 tpl/dash/dashboard.tpl.php:462
#: tpl/dash/dashboard.tpl.php:584 tpl/dash/dashboard.tpl.php:613
#: tpl/img_optm/settings.media_webp.tpl.php:22
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_js.tpl.php:77
#: tpl/page_optm/settings_media.tpl.php:180
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "OFF"
msgstr "ВЫКЛ"

#: src/admin-display.cls.php:486 src/admin-display.cls.php:1167
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: src/doc.cls.php:41 tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.cache_mobile.tpl.php:91 tpl/cdn/other.tpl.php:45
#: tpl/crawler/settings.tpl.php:138 tpl/dash/dashboard.tpl.php:67
#: tpl/dash/dashboard.tpl.php:460 tpl/dash/dashboard.tpl.php:582
#: tpl/dash/dashboard.tpl.php:611 tpl/page_optm/settings_css.tpl.php:220
#: tpl/page_optm/settings_media.tpl.php:176
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "ON"
msgstr "ВКЛ"

#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr "Уведомление веб-сервера LiteSpeed LiteSpeed о необходимости очистить записей CSS/JS."

#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr "Минификация контента HTML."

#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr "Минификация HTML"

#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr "Исключить JS"

#: src/lang.cls.php:165
msgid "JS Combine"
msgstr "Объединение JS"

#: src/lang.cls.php:164
msgid "JS Minify"
msgstr "Минификация JS"

#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr "Исключения CSS"

#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr "Объединение CSS"

#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr "Минификация CSS"

#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr "Тщательно протестируйте, включив любую опцию в этом списке. После изменения настроек Минификация / Объединение выполните действие Очистить все."

#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr "Очистить только все минифицированные/объединённые записи CSS/JS"

#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr "Очистить ошибки %s"

#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr "Оптимизация базы данных"

#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr "Оптимизировать все таблицы в БД"

#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr "Оптимизация таблиц"

#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr "Очистить все временные параметри"

#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr "Все транзиенты"

#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr "Очистить параметры транзиентов с истекшим сроком действия"

#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr "Истекшие транзиенты"

#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr "Очистить все трекбэки и пингбэки"

#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr "Обратные ссылки/уведомления"

#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr "Очистить все удаленные комментарии"

#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr "Удалённые комментарии"

#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr "Очистить все спам-комментарии"

#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr "Спам комментарии"

#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr "Очистить все удаленные записи и страницы"

#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr "Удалённые записи"

#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr "Очистить все автоматически сохраненные черновики"

#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr "Авто-черновики"

#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr "Очистить все редакции записей"

#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr "Редакции записей"

#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr "Очистить все"

#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr "Оптимизированы все таблицы."

#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr "Успешная очистка всех транзиентов."

#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr "Успешная очистка истекших транзиентов."

#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr "Успешная очистка обратных ссылок и уведомлений."

#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr "Успешная очистка удаленных комментариев."

#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr "Успешная очистка спам-комментариев."

#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr "Успешная очистки удаленных записей и страниц."

#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr "Успешная очистка автоматических черновиков."

#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr "Успешная очистка редакций записей."

#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr "Все успешно очищено."

#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr "TTL Private Cache по умолчанию"

#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr "Если на вашем сайте есть общедоступный контент, который определенные группы могут видеть, но не могут видеть другие группы, вы можете указать групповую переменную (Vary Group) для этих ролей пользователей. Например, указание отдельной группы для администратора позволяет создать отдельную кэшированную общедоступную страницу, предназначенную для администраторов (со со ссылками \"изменить\" и т. д.), В то время как все другие роли пользователей имеют общедоступную страницу по умолчанию."

#: src/lang.cls.php:238 tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277 tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr "Vary Group"

#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr "Кэшировать встроенный блок ESI Comment Form."

#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr "Кэш формы комментария"

#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr "Кэш админ панели"

#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr "Включите, чтобы кэшировать общедоступные страницы для пользователей, вошедших в систему, и обслуживать панель администратора и форму комментариев с помощью блоков ESI. Эти два блока будут не кэшированы, если они не включены ниже."

#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr "ESI позволяет обозначить части динамической страницы как отдельные фрагменты, которые затем собираются вместе, чтобы получилась целая страница. Другими словами, ESI позволяет вам \"пробивать дыры\" в странице, а затем заполнять эти дыры содержимым, которое может кэшироваться приватно, кэшироваться публично с собственным TTL или не кэшироваться вообще."

#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr "С помощью ESI (Edge Side Includes) страницы могут обслуживаться из кэша для пользователей, вошедших в систему."

#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr "Private"

#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr "Public"

#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr "Настройки очистки"

#: src/lang.cls.php:126 tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr "Кэш мобильных"

#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr "Расширенный уровень запишет в журнал более подробную информацию."

#: tpl/presets/standard.tpl.php:29 tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr "Основные"

#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr "Макс. допустимая средняя нагрузка на сервер при обходе контента. Число используемых потоков поискового робота будет активно уменьшаться до тех пор, пока средняя нагрузка на сервер не станет ниже этого предела. Если этого невозможно достичь с помощью одного потока, текущий запуск робота будет завершен."

#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr "Кеш страницы входа"

#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr "Запросы кэша, сделанные вызовами WordPress REST API."

#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr "Кэш REST API"

#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr "Используйте private (приватный) кеш для хранения комментариев, ожидающих рассмотрения. Отключение этой опции предоставит комментаторам не кэшированные страницы. (Требуется LSWS %s)"

#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr "Кэш комментаторов"

#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr "Кэширует внешние страницы для авторизованного пользователя (требуется LSWS%s)"

#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr "Кэш пользователей, вошедших в систему"

#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr "Настройки управления кэшем"

#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr "ESI"

#: tpl/cache/entry.tpl.php:19 tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr "Исключения"

#: tpl/cache/entry.tpl.php:18 tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16 tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr "Очистка"

#: src/admin-display.cls.php:255 tpl/cache/entry.tpl.php:17
#: tpl/cache/entry.tpl.php:66
msgid "Cache"
msgstr "Кэш"

#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr "Текущее время сервера -%s."

#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr "Укажите время очистки списка \"%s\"."

#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr "Оба %1$s и %2$s приемлемы."

#: src/lang.cls.php:148 tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr "Запланированное время очистки"

#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr "URL, указанные здесь (по одному в строке), будут автоматически очищены в срок, установленный в опции \"%s\"."

#: src/lang.cls.php:147 tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr "URL-адреса запланированной очистки"

#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr "Сократите строки запроса в журнале отладки для лучшей читаемости."

#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr "Пульсация"

#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr "Мб"

#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr "Предельный размер файла журнала"

#: src/htaccess.cls.php:784
msgid "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"
msgstr "<p>Добавьте/замените следующие коды в начале %1$s:</p> %2$s"

#: src/error.cls.php:158 src/error.cls.php:182
msgid "%s file not writable."
msgstr "%s файл недоступен для записи."

#: src/error.cls.php:178
msgid "%s file not readable."
msgstr "%s файл не доступен для чтения."

#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr "Свернуть строки запроса"

#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr "Настройки ESI"

#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr "TTL, равный 0, указывает на отсутствие кэша."

#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr "Рекомендуемое значение: 28800 секунд (8 часов)."

#: src/lang.cls.php:234 tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr "Включить ESI"

#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr "Пользовательская Sitemap"

#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr "Очистка страниц по относительному или полному URL-адресу."

#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr "Функция поискового робота не включена на сервере LiteSpeed. Обратитесь к администратору сервера или поставщику услуг хостинга."

#: tpl/cache/settings-esi.tpl.php:45 tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60 tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77 tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr "ПРЕДУПРЕЖДЕНИЕ"

#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr "Следующее полное сканирование файла Sitemap начнется в"

#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr "Не удалось записать в %s."

#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr "Папка недоступна для записи: %s."

#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr "Не удается создать папку:%1$s. Ошибка:%2$s"

#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr "Папки не существует: %s"

#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr "Уведомление веб-сервер LiteSpeed об очистке списка."

#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr "Позволяет перечисленным IP-адресам (по одному в каждой строке) выполнять определенные действия из своих браузеров."

#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr "Ограничение загрузки сервера"

#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr "Задает время в секундах, по истечении которого поисковый робот снова просканирует всю карту сайта."

#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr "Интервал обхода"

#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr "Затем устанавливается другой WordPress (НЕ МНОГОСАЙТНЫЙ) в %s"

#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr "Настройки сетевого кэша LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr "Выберите ниже настройки \"Очистить от\"."

#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr "LiteSpeed Cache CDN"

#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr "Мета-файл для поискового робота еще не создан"

#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr "Показать статус поискового робота"

#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr "Просмотр статуса поискового робота"

#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr "Частота запусков задается настройкой \"Интервал между запусками\"."

#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr "Ручной запуск"

#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr "Сброс позиции"

#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr "Частота выполнения"

#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr "Название Cron-задачи"

#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr "Cron для поискового робота"

#: cli/crawler.cls.php:100 tpl/crawler/summary.tpl.php:47
msgid "%d minute"
msgstr "%d минута"

#: cli/crawler.cls.php:98 tpl/crawler/summary.tpl.php:47
msgid "%d minutes"
msgstr "%d минут"

#: cli/crawler.cls.php:91 tpl/crawler/summary.tpl.php:39
msgid "%d hour"
msgstr "%d час"

#: cli/crawler.cls.php:89 tpl/crawler/summary.tpl.php:39
msgid "%d hours"
msgstr "%d часов"

#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr "Сгенерировано в %s"

#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr "Поисковый робот LiteSpeed Cache"

#: src/admin-display.cls.php:260 src/lang.cls.php:267
msgid "Crawler"
msgstr "Поисковый робот"

#. Plugin URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"
msgstr "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"

#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr "Уведомление веб-сервера LiteSpeed о необходимости очистки всех страниц."

#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr "Все страницы с виджетом Свежие записи"

#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr "Страницы"

#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr "Это очистит только страницы"

#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr "Очистить страницы"

#: src/gui.cls.php:133 tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr "Отмена"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate"
msgstr "Деактивировать"

#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr "Активировать"

#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr "Email-адрес"

#: src/gui.cls.php:1080
msgid "Install Now"
msgstr "Установить сейчас"

#: cli/purge.cls.php:133
msgid "Purged the blog!"
msgstr "Очищен блог!"

#: cli/purge.cls.php:86
msgid "Purged All!"
msgstr "Очищено всё!"

#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr "Уведомление веб-сервера LiteSpeed о необходимости очистить страниц ошибок."

#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr "При использовании OpenLiteSpeed сервер необходимо перезапустить один раз, чтобы изменения вступили в силу."

#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr "Если файл cookie для входа был недавно изменен в настройках, выйдите из системы и войдите снова."

#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr "Однако нет способа узнать все возможные настройки, которые были реализованы."

#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr "Плагин LiteSpeed Cache используется для кэширования страниц - это простой способ повысить производительность сайта."

#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr "Здесь можно изменить настройку сетевого администратора."

#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr "Задает продолжительность кэширования общедоступных страниц в секундах."

#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr "Задает продолжительность кэширования личных страниц в секундах."

#: tpl/cache/network_settings-cache.tpl.php:29
msgid "It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first."
msgstr "ОЧЕНЬ рекомендуется, чтобы совместимость с другими плагинами на одном/нескольких сайтах была проверена первой."

#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr "Очистить страницы, используя ID записи."

#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr "Очистить записи созданные плагином LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:33
msgid "Purge %s error pages"
msgstr "Очистить страницы ошибок %s"

#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr "Очистить только главную страницу"

#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr "Очистка страниц, используя название тега - напр., %2$s должен использоваться для URL %1$s."

#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr "Очистка страниц, используя название категории - например, %2$s следует использовать для URL %1$s."

#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr "Если только сайт WordPress должен быть очищен, используйте Очистить все."

#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr "Уведомление веб-сервера LiteSpeed о необходимости очистить всё."

#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr "Использовать конфигурацию основного сайта"

#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr "Это отключит страницу настроек на всех дочерних сайтах."

#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr "Установите этот параметр, чтобы использовать конфигурацию основного сайта для всех субсайтов."

#: src/admin-display.cls.php:998 src/admin-display.cls.php:1003
msgid "Save Changes"
msgstr "Сохранить изменения"

#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr "Выбраны следующие параметры, но их нельзя изменить на этой странице настроек."

#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr "Сетевой администратор выбрал использование конфигурации главного сайта для всех дочерних сайтов в сети."

#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr "Очистить весь кэш"

#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr "Это действие должно выполняться только в том случае, если кэш работает неправильно."

#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr "Это может привести к большой нагрузке на сервер."

#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr "Это очистит ВСЕ содержимое кэша."

#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr "Очистить весь LiteSpeed Cache"

#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr "Вы можете отключить этот плагин, если не хотите оставаться с LiteSpeed."

#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr "Создайте сообщение, убедитесь, что первая страница соответствует действительности."

#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr "Посетите сайт без авторизации."

#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr "Примеры тестовых случаев включают:"

#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr "Поэтому протестируйте сайт, чтобы убедиться, что все работает правильно."

#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr "Это сообщение указывает на то, что плагин был установлен администратором сервера."

#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr "Плагин LiteSpeed Cache установлен!"

#: src/lang.cls.php:275 tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr "Журнал отладки"

#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr "Только IP администратора"

#: tpl/toolbox/settings-debug.tpl.php:84
msgid "The Admin IP option will only output log messages on requests from admin IPs listed below."
msgstr "Опция Admin IP будет выводить сообщения журнала только при запросах с IP-адресов администраторов, перечисленных ниже."

#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr "Указывает, как долго кэшируются вызовы REST в секундах."

#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr "Отчет о системной среде содержит подробную информацию о конфигурации WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr "По наличию этого файла cookie сервер определяет, вошел ли пользователь в систему."

#: tpl/cache/settings-purge.tpl.php:53 tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr "Примечание"

#. translators: %s: link attributes
#: thirdparty/woocommerce.content.tpl.php:30
msgid "To test the cart, visit the %sFAQ%s."
msgstr "Чтобы протестировать корзину, посетите %sFAQ%s."

#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr "Убедившись, что кеш в целом работает, протестируйте корзину."

#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr "Если эта функция включена, кэш будет автоматически очищаться при обновлении любого плагина, темы или ядра WordPress."

#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr "Очистить всё при обновлении"

#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr "Интервал обновления товара"

#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr "Определяет, как изменения в количестве товара и состоянии товарных запасов влияют на страницы товаров и связанные с ними страницы категорий."

#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr "Всегда очищайте товар и категории при изменении количества или состояния запасов."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr "Не очищайте категории при изменении количества или наличия на складе."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr "Очистить товар только при изменении статуса запаса."

#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr "Очистить товар и категории, только при изменении состояния запасов."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr "Очистить категории только при изменении состояния запасов."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr "Очистить товар при изменении количества или состояния запасов."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr "Htaccess не соответствует параметру конфигурации."

#: tpl/cache/settings-ttl.tpl.php:75 tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr "Если установлено число меньше 30, feeds не будут кэшироваться."

#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr "Укажите, как долго, в секундах, кэшируются feeds."

#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr "TTL Feed по умолчанию"

#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr "Не удалось получить содержимое файла %s."

#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr "Отключение этой опции может отрицательно сказаться на производительности."

#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr "Недействительный файл cookie для входа. Обнаружены недопустимые символы."

#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr "ВНИМАНИЕ: cookie входа в систему .htaccess и cookie входа в базу данных не совпадают."

#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr "Недопустимый файл cookie входа. Проверьте файл %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr "Для правильного кэширования кэш должен различать, кто вошел на сайт WordPress."

#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr "Установлен WordPress для %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr "Пример использования:"

#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr "Установленный здесь файл cookie будет использоваться для этой установки WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr "Если каждое веб-приложение использует один и тот же файл cookie, сервер может перепутать, вошел ли пользователь в систему или нет."

#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr "Эта настройка полезена для тех, у кого несколько веб-приложений для одного домена."

#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr "Cookie для входа в систему по умолчанию - %s."

#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr "Файл cookie для входа"

#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr "Более подробную информацию о доступных командах можно найти здесь."

#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr "Эти настройки предназначены ТОЛЬКО ДЛЯ ПРОФЕССИОНАЛЬНЫХ ПОЛЬЗОВАТЕЛЕЙ."

#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr "Текущее содержимое %s"

#: tpl/cache/entry.tpl.php:22 tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr "Расширенные"

#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr "Расширенные настройки"

#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr "Список очистки"

#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr "Очистить от..."

#: tpl/crawler/blacklist.tpl.php:41 tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr "URL"

#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr "Тег"

#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr "ID записи"

#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr "Категория"

#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr "ВНИМАНИЕ. Файл cookie для входа в базу данных не совпал с вашим файлом cookie для входа в систему."

#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr "Очистить URL %s"

#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr "Очистить тег %s"

#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr "Очистить категорию %s"

#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr "При отключении кэша все кэшированные записи для этого сайта будут очищены."

#: tpl/cache/settings-cache.tpl.php:42 tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133 tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42 tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr "ВНИМАНИЕ"

#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr "Эта настройка изменит файл .htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr "Просмотр файла .htaccess LiteSpeed Cache"

#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr "Не удалось создать резервную копию файла %s, изменения не были внесены."

#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr "Не кэшировать файлы cookie"

#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr "Не кэшировать агентов пользователя"

#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr "Это необходимо для обеспечения совместимости до включения кэша для всех сайтов."

#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr "Включить сетевой кэш"

#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23 tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24 tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr "ВНИМАНИЕ:"

#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr "Другие флажки будут проигнорированы."

#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr "Выберите \"Все\", если динамические виджеты, связаны с записями на страницах, отличных от главной или домашней."

#: src/lang.cls.php:127 tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr "Список мобильных агентов пользователя"

#: src/file.cls.php:168 src/file.cls.php:172
msgid "File %s is not writable."
msgstr "Файл %s не доступен для записи."

#: tpl/page_optm/entry.tpl.php:17 tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr "Настройки JS"

#: src/gui.cls.php:874 tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr "Управление"

#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr "TTL главной страницы по умолчанию"

#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr "Уведомление веб-сервера LiteSpeed о необходимости очистить главную страницу."

#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr "Очистить главную страницу"

#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr "Например"

#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr "Все теги кэшируются по умолчанию."

#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr "Все категории кэшируются по умолчанию."

#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr "Для полного совпадения, добавьте %s в конец URL-адреса."

#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr "URL-адреса будут сопоставлены с переменной сервера REQUEST_URI."

#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr "Выберите только те типы архивов, которые используются в настоящее время, остальные можно не отмечать."

#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr "Примечание"

#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr "Использовать настройки администратора сети"

#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr "Отключить"

#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr "Включение LiteSpeed Cache для WordPress позволяет использовать кэш для сети."

#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr "Отключено"

#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr "Включено"

#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr "Не кэшировать роли"

#. Author URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com"
msgstr "https://www.litespeedtech.com"

#. Author of the plugin
#: litespeed-cache.php
msgid "LiteSpeed Technologies"
msgstr "LiteSpeed Technologies"

#. Plugin Name of the plugin
#: litespeed-cache.php tpl/banner/new_version.php:57
#: tpl/banner/new_version_dev.tpl.php:21 tpl/cache/more_settings_tip.tpl.php:28
#: tpl/esi_widget_edit.php:41 tpl/inc/admin_footer.php:17
msgid "LiteSpeed Cache"
msgstr "LiteSpeed Cache"

#: src/lang.cls.php:277
msgid "Debug Level"
msgstr "Уровень отладки"

#: tpl/general/settings.tpl.php:72 tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86 tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr "Уведомление"

#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr "Архив терминов (включая категорию, тэг и таксономия)"

#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr "Ежедневный архив"

#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr "Ежемесячный архив"

#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr "Ежегодный архив"

#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr "Архив типов записей"

#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr "Архив автора"

#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr "Домашнаяя страница"

#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr "Главная страница"

#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr "Все страницы"

#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr "Выберите, какие страницы будут автоматически очищены, когда публикации будут опубликованы / обновлены."

#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr "Правила авто очистки для публикации/обновления"

#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr "TTL Public Cache по умолчанию"

#: src/admin-display.cls.php:1345 tpl/cache/settings_inc.object.tpl.php:162
#: tpl/crawler/settings.tpl.php:43 tpl/esi_widget_edit.php:78
msgid "seconds"
msgstr "секунды"

#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr "IP-адреса администратора"

#: src/admin-display.cls.php:254
msgid "General"
msgstr "Общие"

#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr "Настройки LiteSpeed Cache"

#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr "Уведомление веб-сервера LiteSpeed о необходимости очистки всех записей LSCache."

#: src/gui.cls.php:686 src/gui.cls.php:696 src/gui.cls.php:706
#: src/gui.cls.php:717 src/gui.cls.php:729 src/gui.cls.php:741
#: src/gui.cls.php:753 src/gui.cls.php:765 src/gui.cls.php:776
#: src/gui.cls.php:788 src/gui.cls.php:800 src/gui.cls.php:812
#: src/gui.cls.php:906 src/gui.cls.php:916 src/gui.cls.php:926
#: src/gui.cls.php:937 src/gui.cls.php:949 src/gui.cls.php:961
#: src/gui.cls.php:973 src/gui.cls.php:985 src/gui.cls.php:996
#: src/gui.cls.php:1008 src/gui.cls.php:1020 src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47 tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64 tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82 tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100 tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118 tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr "Очистить все"

#: src/admin-display.cls.php:548 src/gui.cls.php:884
#: tpl/crawler/entry.tpl.php:17
msgid "Settings"
msgstr "Настройки"

#: tpl/banner/score.php:122
msgid "Support forum"
msgstr "Форум поддержки"PKa^�\1��..%translations/litespeed-cache-fr_FR.monu�[�������'�,O�i�i�i�i2�ijj'j
0j	;j
Ej
Pj[jhj~j�j	�j�j	�j�j.�j�j
	kkkh*kN�k=�k" l7Cl{l�l�lH�l�l�lm m;m'Lm
tm	�m�m�m�m%�m�m|�mFgn
�n.�n0�no%(o	No"Xo{oP�o�oT�oZPp>�p�pq4q-Iq/wqL�q2�qI'r*qr�r�r#�r�r�r
ss
$s2sQDsO�s�ss�sEptP�t8u0@u'qu�u�u�u3�uvv2v$9v	^v	hvrv ~v"�v/�v*�vw
%w3wJw�\w4�w�xf�xKyXy\y
ky
yy�y�y#�y�y�y�y�y

zz"z@zMzSzczvz�z	�z�z�z
�z�z�z�z{8{&K{0r{*�{�{ �{ |(-|V|]|f|��|}}K1}	}}�}�}�}$�}�}~$~"<~_~"{~�~!�~�~�~&&B"iG�!�,�$#�+H�t�����Ȁ'�(�7�
=�H�Pe���́1�
�% �2F�y���V��^�
G�R�a��������&Ƀ.�N�*n�/��Ʉ����!�<�H�
Z�h���������…΅B݅
 ��+�4��&�6�H�U�	h�r���6��܇���'�;� V�"w�����Ɉ/݈*
�<8�7u�����Չ���
$�	2�<�E�X�i�����
����ʊ
܊�	����%�8�K�
S�a�r�!����Ë݋���'�7�
V�d��m�9�M�)U��+��}ɍG�DX�8��֎ގ!�
�#�:�;F����A� J� k�K��8ؐ��-�B�Z�o�������ÑՑC�2�H9�����
����<�����9-�
g�u�������
��Ĕڔ,��q"�������Nܕ+�8��?�(Җ
���#�B�\�{�������—ӗܗ�����+�%A�,g�s���(�H�[�r�������6��(��-�G�c�L}�ʚ9֚:��K�W�@�Q�
i�t���
����Ɯ�����-�
L�QZ���2�����
�(�C� V�0w�����˞#ޞ�
��!*�L�g�������ɟܟ��
��	#�-�B?�
������	����2��Z۠,6�c�x�-�����i��:�;>�Yz�KԣV �Uw�LͤB�Y]�V��`�Jo�g��x"�=��@٨=�X�j�}�����Щ
�<�?.�n�������Ϫ?� �'�7� G�&h� ��D����l�Gn���¬լ
������u�������֮
ޮ��
�
�/'�/W���<��
ٯ�(�,�
K�V�j�	v���c���� �.7�f�
k�v�
��������hݱF�AN����*�	6�@�L�Y�'i���
��
����
ɳ
׳"���$%�+J�v�#����*Ŵ���.�
C�
N�$Y�(~���ĵ׵P�EC�@��2ʶB��C@�>��"÷&�
��%1�W�o�%�� ��"и&�!�<�V� o�����>ǹ2�$9�^�m�������d��&� >�_�/p�.��ϻܻ���5�I�]�f�s���������ļȼۼ
�����&�5�T�%[���$��
��ɽνս����@
�
K�%Y�������>�U�g� |���*�� ߿�2�8�Q�"n�*��*��"�"
�	-�7�<G�,��$���
�
����
��
�.(�?W�6��;��1
�3<�2p�6��0�����$*�O�R�Y�f�|�Q��D��
0�>�#N�-r�$��?�����7����%��		��'�<�O�f�z���$����E��+'�*S�~�������������
��
��$��$�7�=�!N�p�}������������������R'�cz�2��?�
Q�_�~�d��<��56�Sl�C��5�:��Z�K��O*�'z�����
��������9��;/�>k�0��M��)�@�pH�|��/6�&f�&��)��8��7�4O�����
����
�����Fj�����������A��@�F�U�	j�t���������
��	������%���09�j�I|���$��D�@H�9��1����8�a;�������������+��
+�6�E�#U�=y���Q��+&�R�[�k�}��������������"�1�E�Z�r���&����%��{	�;������4��%�B�`�x����!����!����%�4�H�b�&��B������Y9�������$����
�I"�
l�z���
����:�����"�./�^�'d���d����f1�$��X��Q�7h�+����g��N�`��Q����0��P'�^x���	����9�F�vO�}��(D�m���>����U��N9�����
����&���#�*�97�
q�V�i��_@�C��G��a,�8��4��/��7,�6d�7��-��)�L+�*x�)��-��(��H$�m�~���(��3���R�^�s�������
������2���(6�5_�����������e��-1�_�/g�h��^�]_�=��i��8e�[��c��C^�j��z
�A��q��`<�'��q�7�U�Wu�O�>�\�u�K���E�1$�-V�8��M��Y�,e�)��9��&��9�$W�X|�1��A�^^�E��U�(Y�S��Y�0�JF�z��(�I5�x�^��AW4�)�c�0\.����c���A�Y�*LFw9�-�1&(X6���4�R(p{,�*	1D	;v	/�	(�	J
4V
B�
�
N�
Q<o�X�/WG�9�1	
�;
$�
��
J�^3gN��W�`��<�1�V+L�]�-2:@P$\��
��������/�(�)+�@��
K
Ydp���@�
%g8H�
�
�
/5:J>�@�pv�����r]s5�_�g(8.g#��$�.�2rOH�!6:TC`F��
�5D[y���� � K
 V ^ +t � )� ��  q!
�!�!�!�!e�!JD"j�"M�"JH#�#g�#$R.$Z�$�$�$'%#9%]%%l%-�%��%/x&(�&E�&�'F�'D(.Z(�(L�(-�(G#)k)/�)�)�))�)w**�*
�*�*�*�*K�*++4+9+J@+	�+�+�+�+��+2,:,F,	f-p-4�-:�-�-.	.!.	1.
;.F.R."_.'�.	�.
�.�.	�.�.6�./4/E/R/�c/N�/J50.�0K�0�0
1!1S01�1!�1�1&�1�132H2g2t2|2�20�2�2��2Uu3�36�3G4S47g4�45�47�4b5�5t�5y6P�6#�6�6W7Al78�7^�7LF8S�8+�89&9>69u94�9�9"�9 �9&:fF:l�:;|9;Y�;`<Pq<:�<,�<7*=Cb==�=@�=%>(->V>-\>
�>�>�>:�>)�>R?Of?
�?�?�?�?�@9�@�Ax�AvB�B�B
�B�B�B
�B)�BCC%"C	HCRC
_CmC�C�C+�C,�C!�C*DCD+XD$�D�D�D�D�D�DI
E4TES�ED�E("F*KFvF7�F�F
�F�F��F�G&�G_�G
XH#fH"�H.�H9�H*I,AInI&�I(�I-�I2J7;J-sJ+�J1�J7�J57KcmK8�K2
L>=L5|L)�L*�L&M'.M7VM+�M�M�M �M]�MVNrNB�N�N-�N=OROmOz}Oz�O
sP~P+�P�P�P�P"�P2Q8CQq|Q!�Q8R#IRmR�R�R�R
�R�R�R%�R"S6S>S)NSxS�Sr�S$T�<TC�T-0U6^U�U�U�U�U�UZ�U UV7vV�V�V%�V.W&5W\W$uW�W@�W;�WN3XD�X�X$�XYY2Y2LYY�Y�Y*�Y�Y4�Y4ZQZYZeZ�Z�Z�Z�Z�Z�Z
[)[G[S[e[#z[;�[&�[\+\J\-i\�\'�\�\	�\��\H�]0^69^.p^4�^��^{_L�_@�_`')`9Q`�`-�`�`a�`�@a%b1bPbYobC�b
cc0c&Dc"kc"�c/�c!�c&d*d-IdVwd�di�d @eaeee
te��e&g-g@gDWg�g�g�g#�ghh)hChRch|�h
3i>iYiKti%�i�i��i5�j�j�j
k%k;kVk^k)yk�k�k�k�k�k�k	l	l?l'\l5�l��l2Vm#�m�m�m)�m'n8nVn@_n,�n�n�n*	o)4oa^o�o=�oH
p�Spe�pbq�q�q�q!�q
�q'�q9r3Xr	�r�r�r-�r�r^sks>}s�s�s�s#t $t&Et1lt�t�t�t*�tu
uu)2u#\u!�u!�u�u�u�u(v>vPv_vyv!�vX�vw
w#w/w@wBFwu�w@�w@x%]x5�x�xv�yUNzJ�zi�z_Y{s�{y-|v�|V}uu}n�}xZ~u�~�I�(�N��Q
�V\���ɂ%�$�.+�Z�w�N��SՃ)�?�Z�"x���X����!�.8�&g�'��f����,�}ƆD�S�p�
��������������Չ	���	�$�9�
J�AX�A��!܊?��>�$J�1o�����΋�����
�(��ӌ�M	�W�
\�g�������+��}�i�[q��͎������ȏۏJ�7�M�f�w�����&��Ԑ�7�>8� w�<��#Ց6��0�&P�%w�$��’ђ3�3�!H�j�$}�l��V�Nf�A��H��T@�O��.�6�K�[�4o�����3ܖ'�&8�-_�)����ӗ)� �%8�T^�F��/��*�=�W�i������%�/D�t�U��T�9�F�_�y�"����#̛���,�@�C�+J�v�����#��͜ݜ��
��2�P�3Y���2��ڝ�����!�3�P8���5��ў�֞o�|�f���
�+*�V�Cu�1���J�� B�!c�1��;��;�1/�/a�����K��6��H4�}�������̣	ѣۣ
�(��B�=b�E��=�C$�,h�D��,ڥ���'2�Z�]�c�{���^��O�`�o�)��:��/�H�0_����K]���7��
����-�E�a�v���7��'�X�<d�2��ԫ�
�7�F�	]�g�t���(��'¬��,�%0�(V������í%ɭ���#�)�{E����Je�C���@�R�vh�R߰E2�Xx�HѱE�'`����W8�`��2�"$�G�L�Y�k���S��M�M?�G��fյ<�
\��j���=��7Ʒ7��/6�af�:ȸ:�,>�k�r�������nw�%���-"�P�La�����˻���'�
7�E�Q�l�|�����'��!ܼB��A�bY�$��/�`�Nr�I��=�I�@b�k���!�3�'B�j�	|�6��
����8�N"�q�j��1��.�C�U�
r�(}�'��"����+�2�Q�i�����(��0�� �95�o�Q�����G��!����B�3S���������+��'�8�0R�!��������0��0,�-]�_����*�&1��X�����'� A�b�~�i����*%�P�*j�[��6��(�@�J^���E��$��� �����w��=V����k�D��1��%������1����_�b�/u�e��s��
����C��
������A��)��	��a��X�pv�M��#5�Y�o���3����=���I(�r�k����ty�U��^D�l��R�Kc�F��Q��RH�P��A��0.�c_�5��6��70�.h�R���� �!#�6E�A|���q��6�O�l�
������'����@���(9�Sb�)��������
��
�>��
��3����g��l�>s����=3�tq�v��b]�x���9�F�������67��n� ��*�c?�d��I�R�"p�[��d��oT�<��6�T8�`��]��3L�/��@��-��f�%��_��E�R�`r�i��b=�m��8�fG�d���U*����:�ZW����_M�F��7�5,��b�5�4��O������L�`-�+��g��b"�/��8��*�?�+Y�!��@��c�zL�!�7�:!E\8�1�c
@qC�,�e#d�t�fc2�V�HT>���6��Z�o-G�\�!Bxd����	C�
A�
^mnv�SYjp�'�� ��

'
8
U
s

��
d�V�K<����h*
7E)c�
�T��.�Bi�
>IYv��"�L�Pjh��'j�%� ��-�?|�G^���00O=3�;�)�*'?R;���Vv�1�2QBU���)+Ug��1���! >	_ni
��[�Z<t��#d � � � (� m� cj!�!lN"a�"'#�E#�#u�#jf$�$-�$6%$L%q%/�%3�%�%8'6:'Zq'��'Q�(P�(7:) r)X�)8�)T%*-z*@�*#�*
+1+�H+�+	�+�+	,,/,KM,�,�,�,S�,

-
-#-,-�8-..KO��K1Y�s�N�"=.W�,�����m��y5 ��v�.p]�Im�/�kM��$(��	w�J)k-H�%�EZ�1D+�K�Y���V�#|�*�`�PZR�
����~���S��a��?����?����@_��d+/;�+{��3���D��9�	W�nAV
VG�qEB�)"E	��<���`����'t_�d�w���w��P�������q�Ki>�5�^��cbq
��t<+�^���6z�T��\.}���R��g74���'��R��k��ro:WQ:��t����Z
d�g�����#�`�/K2,-{��
���r{��OL�*�I���;U�?�;������c�������OBYF������L����sw��J~���G�.P�y�w�4{C�v3��xf�HI�~�OC^oW��L{�����_����)%�oer�����x��=M0��<UJ��i�
�(�b�n��� &�h3"�����p�*c��8��N%*Qi�.������ ����'���@�u�]�Ey�~��4rB�e��(���X9�k]�za�����u���+��An��"��|�2X���`�d���j!���T���#���/�`�U%�R����%�*��8z7X�\���Y=h�qV>�t/����a��O���&��,f��=>��9����lNN��f���;�}�����n���&��B\�b~�em<��8s�6��U���'hv2�^�l�0F��1������[�����A�dEU���I|B�lAi��!�9���P��Q@�!�u���R<0�)M nX��}�x���WJ��5���j�G���7��C���Q�3�1,th�lk�-�5�_'Z$:(�Gz�b�}���p����$D��[]���HH;jS�S�F2��[S���f�����C�b�v �@��?�������$8��u����qF��"��Vjs�����LLy����l�g�����g��p�\A:��4��Tv�����:�}��0|�>�H�e��x���������,�����c�|�ra������GD-�c��3���M4
T7��>N6������������i7�$X���=����
��(��-���1�P��yY��5�S��0��&[�]����C��sQ�p#��2�T?a��
ox8�o!���������_6�zm���	��\�9��g������������6	�#�
Z�I����@u�!���Dm��^)��jF[��M�eJh����&f %s ago%1$s %2$d item(s)%1$s %2$s files left in queue%1$s plugin version %2$s required for this action.%1$sLearn More%2$s%d hour%d hours%d item(s)%d minute%d minutes%d seconds%s Extension%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$sA Purge All will be executed when WordPress runs these hooks.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimized.AJAX Cache TTLAPIAccelerate, Optimize, ProtectAccelerates the speed by caching Gravatar (Globally Recognized Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced (Recommended)Advanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.After verifying that the cache works in general, please test the cart.AggressiveAlias is in use by another QUIC.cloud account.All QUIC.cloud service queues have been cleared.All TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Already CachedAlways purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Applied the %1$s preset %2$sApply PresetAre you sure to delete all existing blocklist items?Are you sure to destroy all optimized images?Are you sure you want to clear all cloud nodes?Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Asynchronous CSS Loading with Critical CSSAuthor archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAuto Rescale Original ImagesAutoloadAutoload entriesAutoload sizeAutoload top listAutomatic generation of critical CSS is in the background via a cron-based queue.Automatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimized images.Automatically replace large images with scaled versions.Automatically request optimization via cron job.Avatar list in queue waiting for updateBackend .htaccess PathBackend Heartbeat ControlBackend Heartbeat TTLBackup created %1$s before applying the %2$s presetBasicBasic Image PlaceholderBeforeBest available WordPress performanceBeta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a gray image placeholder %s will be used.By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CCSS Per URLCDNCDN - DisabledCDN - EnabledCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS & JS CombineCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS, JS and HTML MinificationCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache WP-AdminCache key must be integer or non-empty string, %s given.Cache key must not be an empty string.Cache requests made by WordPress REST API calls.Cache the built-in Comment Form ESI block.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryChanged setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.Check StatusCheck my public IP fromCheck this option to use the primary site's configuration for all subsites.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all orphaned post meta recordsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all trashed commentsClean all trashed posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean orphaned post meta successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean trashed comments successfully.Clean trashed posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all Unique CSS files.Cleaned all localized resource entries.Cleaned up unfinished data successfully.ClearClear LogsCleared %1$s invalid images.Clears all cache entries related to this site, including other web applications.Click here to proceed.Click here to set.Click to clear all nodes for further redetection.Click to copyClick to switch to optimized version.Click to switch to original (unoptimized) version.Close popupCloud ErrorCloud server refused the current request due to rate limiting. Please try again later.Cloud server refused the current request due to unpulled images. Please pull the images first.CloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimizedCongratulations, all gathered!Connected Date:Connection TestConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled list is cleared! All crawlers are set to active! Crawler(s)Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.Create a post, make sure the front page is accurate.Created with ❤️ by LiteSpeed team.Credits are not enough to proceed the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent closest Cloud server is %s. Click to redetect.Current crawler started atCurrent image post id positionCurrent limit isCurrent server loadCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently set to %sCurrently using optimized version of WebP file.Currently using optimized version of file.Currently using original (unoptimized) version of WebP file.Currently using original (unoptimized) version of file.Custom SitemapDB Optimization SettingsDNS PreconnectDNS PrefetchDNS Prefetch ControlDNS Prefetch for static filesDaily archiveDashboardDatabaseDatabase OptimizerDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)DeactivateDeactivate LiteSpeed CacheDeactivate pluginDebug HelpersDebug LevelDebug LogDebug SettingsDebug String ExcludesDebug URI ExcludesDebug URI IncludesDefaultDefault CacheDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default path isDefault port for %1$s is %2$s.Default valueDeferredDeferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).Delay rendering off-screen HTML elements by its selector.DelayedDelete all backups of the original imagesDestroy All Optimization DataDestroy all optimization data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable All Features for 24 HoursDisable CacheDisable Image LazyloadDisable VPIDisable WordPress interval heartbeat to reduce server load.Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.DisabledDisabled AVIF file successfully.Disabled WebP file successfully.Disabling this may cause WordPress tasks triggered by AJAX to stop working.Disabling this option may negatively affect performance.DismissDismiss this noticeDismiss this notice.Do Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.DomainDowngrade not recommended. May cause fatal error due to refactored code.Drop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in html code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable All FeaturesEnable CacheEnable ESIEnable QUIC.cloud CDNEnable QUIC.cloud servicesEnable Viewport Images auto generation cron.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled AVIF file successfully.Enabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.Error: Failed to apply the settings %1$sEssentialsEverything in Advanced, PlusEverything in Aggressive, PlusEverything in Basic, PlusEverything in Essentials, PlusExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to get %s file contents.Failed to request via WordPressFailed to upgrade.Failed to write to %s.Fast Queue UsageFile %s is not writable.Filename is empty!FilesFilter %s available for UCSS per page type generation.Filter %s available to change threshold.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimizationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFree monthly quota available.Front pageFrontend .htaccess PathFrontend Heartbeat ControlFrontend Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerate a separate vary cache copy for the mini cart when the cart is not empty.Generated at %sGenerated links may be managed under %sSettings%s.Get it from %s.Global API Key / API TokenGlobal GroupsGo to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode JS ExcludesGuest Mode and Guest OptimizationGuest Mode failed to test.Guest Mode passed testing.Guest Mode testing resultGuest OptimizationHTML Attribute To ReplaceHTML Keep CommentsHTML Lazy Load SelectorsHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimization from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimization.However, there is no way of knowing all the possible customizations that were implemented.Htaccess did not match configuration option.Htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If every web application uses the same cookie, the server may confuse whether a user is logged in or not.If not, please verify the setting in the %sAdvanced tab%s.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimizationImage Optimization SettingsImage Optimization SummaryImage Thumbnail Group SizesImage groups totalImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimized and pulledImages ready to requestImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byIn order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.In order to use QC services, need a real domain name, cannot use an IP.Include CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInline CSS added to CombineInline JS added to CombineInstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS Defer for both external and inline JSJS Deferred / Delayed ExcludesJS DelayedJS Delayed IncludesJS ExcludesJS MinifyJS SettingsJS error can be found from the developer console of browser by right clicking and choosing Inspect.Join LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain color placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast PulledLast RequestLast calculatedLast complete run time for all crawlersLast crawledLast crawled:Last exportedLast generatedLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLazy Load for IframesLazy Load for ImagesLearn MoreLearn moreLearn more about when this is neededLearn more or purchase additional quota.Link & Enable QUIC.cloud CDNLink to QUIC.cloudList of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.Listed CSS files or inline CSS code will not be minified or combined.Listed CSS files will be excluded from UCSS and saved to inline.Listed JS files or inline JS code will be delayed.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be minified or combined.Listed JS files or inline JS code will not be optimized by %s.Listed URI will not generate UCSS.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache Configuration PresetsLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimizationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimizationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache Page OptimizationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache Standard PresetsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache is disabled. This functionality will not work.LiteSpeed Cache is temporarily disabled until: %s.LiteSpeed Cache plugin is installed!LiteSpeed LogsLiteSpeed OptimizationLiteSpeed ReportLiteSpeed TechnologiesLiteSpeed Web ServerLiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.Load CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalizationLocalization FilesLocalization SettingsLocalize ResourcesLocalize external resources.Localized ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum image post idMaximum valueMaybe LaterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMobile CacheMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuNOTENOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.NOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New Version Available!New developer version %s is available now.New release %s is available now.NewsNo available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimized AVIF file exists.No backup of unoptimized WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo fieldsNo optimizationNo valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Node:Non cacheableNot AvailableNot blocklistedNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONOPcache is not enabled.OPcache is restricted by %s setting.ORObjectObject CacheObject Cache SettingsObject cache is not enabled.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Online ServicesOnline node needs to be redetected.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed users please check thisOperationOptimization StatusOptimization SummaryOptimization ToolsOptimize CSS delivery.Optimize LosslesslyOptimize Original ImagesOptimize TablesOptimize all tables in your databaseOptimize for Guests OnlyOptimize images and save backups of the originals in the same folder.Optimize images using lossless compression.Optimize images with our QUIC.cloud serverOptimized all tables.Option NameOptionalOptional when API token used.Options saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Orphaned Post MetaOtherOther Static CDNOther checkboxes will be ignored.PAYG BalancePHP Constant %s is supported.Page Load TimePage OptimizationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:Please do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please make sure this IP is the correct one for visiting your site.Please read all warnings before enabling this option.Please see %s for more details.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.Plugin is too complicatedPortPosition: Post IDPost RevisionsPost type archivePreconnecting speeds up future loads from a given origin.Predefined list will also be combined w/ the above settingsPredefined list will also be combined with the above settings.Prefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimization of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Product Update IntervalPublicPublic CachePull Cron is runningPull ImagesPulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge %s error pagesPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge url %sPurged All!Purged all caches successfully.Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud CDNQUIC.cloud CDN:QUIC.cloud Service Usage StatisticsQuery strings containing these parameters will not be cached.Read LiteSpeed DocumentationRecommended to generate the token from Cloudflare API token template "WordPress".Recommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRefreshRefresh Crawler MapRefresh Gravatar cache by cron.Refresh QUIC.cloud statusRefresh StatusRefresh page load timeRefresh page scoreRemaining Daily QuotaRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove Query StringsRemove Query Strings from Static FilesRemove WordPress EmojiRemove `Disable All Feature` Flag NowRemove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.Remove all previous unfinished image optimization requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed Unused CSS for UsersRemoved backups successfully.Replace %1$s with %2$s.ReportRequests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset %s activation successfully.Reset All SettingsReset SettingsReset positionReset successfully.Reset the OPcache failed.Reset the entire opcode cacheReset the optimized data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColorResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore SettingsRestore from backupRestored backup settings %1$sRestored original file successfully.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun %s Queue ManuallyRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSave ChangesSave transients in database when %1$s is %2$s.SavedSaving option failed. IPv4 only for %s.Scaled size thresholdScan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.Scheduled Purge TimeScheduled Purge URLsSelect "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimizations.Selected roles will be excluded from cache.Send Optimization RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe a separate cache copy for mobile visitors.Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Serve your visitors fastServer IPServer Load LimitServer variable(s) %s available to override this setting.Service:Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimized %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Site performance is worseSitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSome optimized image file(s) has expired and was cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.Specify an HTTP status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG color.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Standard PresetsStart watching...Started async crawlingStarted async image optimization requestStatic file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimizationStore Gravatar locally.Store TransientsSuccessfully CrawledSummarySupport forumSure I'd love to review!SwapSwitch back to using optimized images on your siteSwitched images successfully.Switched to optimized file successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank You for Using the LiteSpeed Cache Plugin!The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The deactivation is temporaryThe default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe queue is processed asynchronously. It may take time.The selector must exist in the CSS. Parent classes in the HTML will not work.The server will determine if the user is logged in based on the existence of this cookie.The site is not a valid alias on QUIC.cloud.The site is not registered on QUIC.cloud.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This Month Usage: %sThis action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.This option can help to correct the cache vary for certain advanced mobile or tablet visitors.This option enables maximum optimization for Guest Mode visitors.This option is bypassed because %1$s option is %2$s.This option is bypassed due to %s option.This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.This option will automatically bypass %s option.This option will remove all %s tags from HTML.This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.This process is automatic.This setting is %1$s for certain qualifying requests due to %2$s!This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This value is overwritten by the %s variable.This value is overwritten by the Network setting.This value is overwritten by the filter.This value is overwritten by the primary site setting.This will Purge Front Page onlyThis will Purge Pages onlyThis will affect all tags containing attributes: %s.This will also add a preconnect to Google Fonts to establish a connection earlier.This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?This will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all generated unique CSS filesThis will delete all localized resourcesThis will disable LSCache and all optimization features for debug purpose.This will disable the settings page on all subsites.This will drop the unused CSS on each page from the combined file.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimized files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?Time to execute previous request: %sTo crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomize CDN hostname, define multiple hostnames for the same resources.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimized in this monthTrackbacks/PingbacksTrashed CommentsTrashed PostsTry GitHub VersionTuningTuning CSS SettingsTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in backend editor.Turn ON to control heartbeat on backend.Turn ON to control heartbeat on frontend.Turn On Auto UpgradeTurn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Tweet previewTweet thisUCSS InlineUCSS Inline Excluded FilesUCSS Selector AllowlistUCSS URI ExcludesURI ExcludesURI Paths containing these strings will NOT be cached as public.URLURL SearchURL list in %s queue waiting for cronUnable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.Unable to automatically add %1$s as a Domain Alias for main %2$s domain.Unique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUsage Statistics: %sUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimized FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.Use external object cache functionality.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Dev/Master commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimized) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.Useful for above-the-fold images causing CLS (a Core Web Vitals metric).UsernameUsing optimized version of file. VPIValue from filter appliedValue rangeVariables %s will be replaced with the configured background color.Variables %s will be replaced with the corresponding image properties.Vary CookiesVary GroupVary for Mini CartView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimizationViewport ImageViewport Image GenerationViewport ImagesViewport Images CronVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWelcome to LiteSpeedWhat is a group?What is an image group?When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Who should use this preset?Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.Wildcard %s supported.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou can just type part of the domain.You can list the 3rd party vary cookies here.You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the htaccess file path.You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible.You have too many requested images, please try again in a few minutes.You have used all of your quota left for current service this month.You just unlocked a promotion from QUIC.cloud!You need to activate QC first.You need to turn %s on and finish all WebP generation to get maximum result.You need to turn %s on to get maximum result.You will be unable to Revert Optimization once the backups are deleted!Your %s Hostname or IP address.Your API key / token is used to access %s APIs.Your Email address on %s.Your IPYour application is waiting for approval.Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.Your server IPZero, orcategoriescookiese.g. Use %1$s or %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowmorepixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsthe auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.unknownuser agentsPO-Revision-Date: 2025-10-10 08:33:25+0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=n > 1;
X-Generator: GlotPress/4.0.3
Language: fr
Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)
il y a %s%1$s %2$d élément(s)Il reste %1$s %2$s fichiers dans la file d’attenteExtension %1$s version %2$s nécessaire pour cette action.%1$sEn savoir plus%2$s%d heure%d heures%d élément(s)%d minute%d minutes%d secondesExtension %sLe fichier %s n’est pas lisible.Le fichier %s n’est pas inscriptible.%s groupe%s groupes%s image%s images%s est recommandé.%s doit être activé pour que ce réglage fonctionne.(aucun enregistrement)(non-optimisée)(optimisée)Chemin .htaccess<a href="%1$s" %2$s>Voir les détails de la version %3$s</a> ou <a href="%4$s" %5$s target="_blank">mettre à jour maintenant</a>.<p>Veuillez ajouter/remplacer les codes suivants au début de %1$s :</p> %2$sUne purge de tout sera exécutée lorsque WordPress exécute ces crochets.Un TTL de 0 indique de ne pas mettre en cache.Une sauvegarde de chaque image est enregistrée avant d’être optimisée.Cache TTL AJAXAPIAccélérer, optimiser, protégerAccélère la vitesse en mettant en cache Gravatar (avatars mondialement reconnus).ActiverAjouter les dimensions manquantesAjouter une nouvelle URL de CDNAjouter un nouveau cookie pour simulerAjouter à la liste de blocageAjout de style à vos images chargées en différéUniquement l’IP de l’adminIP d’adminAvancéAvancé (recommandé)Réglages avancésLe niveau avancé enregistrera plus de détails.AprèsUne fois que le serveur d’optimisation d’images QUIC.cloud a terminé l’optimisation, il demandera à votre site de tirer les images optimisées.Après vérification que le cache fonctionne en général, veuillez tester le panier.AgressifL’alias est utilisé par un autre compte QUIC.cloud.Toutes les files d’attente de service QUIC.cloud ont été effacées.Tous les transientsToutes les catégories sont mises en cache par défaut.Toutes les pagesToutes les pages avec le widget des articles récentsToutes les étiquettes sont mises en cache par défaut.Autorise les IPs listées (une par ligne) à réaliser certaines actions depuis leurs navigateurs.Déjà mise en cacheToujours vider les produits et les catégories lors d’un changement de quantité disponible ou de statut de stock.Un second réglage facultatif peut être utilisé pour spécifier le contrôle du cache. Utilisez un espace pour séparerAjoutez des chaînes de requête %s aux ressources pour contourner cette action.Appliquez le %1$s préréglage %2$sAppliquer le préréglageConfirmez-vous vouloir supprimer toutes les éléments de liste de blocage existants ?Confirmez-vous vouloir détruire toutes les images optimisées ?Confirmez-vous vouloir vider tous les nœuds du cloud ?Confirmez-vous vouloir détecter à nouveau le serveur cloud le plus proche pour ce service ?Confirmez-vous vouloir la suppression de toutes les sauvegardes d’image ?Confirmez-vous vouloir réinitialiser tous les réglages aux valeurs par défaut ?Chargement CSS asynchrone avec CSS critiqueArchive d’auteurBrouillons autoRègles de purge automatique pour les publication/mise à jourRequête automatique CronRedimensionner automatiquement les images originalesChargement automatiqueEntrées à chargement automatiqueTaille de chargement automatiqueListe des top chargements automatiquesGénérer automatiquement des CSS critiques en arrière-plan via une file d’attente à base de cron.La génération automatique d’un CSS unique est en arrière-plan via une file d’attente basée sur Cron.Mettre à jour automatiquementActiver automatiquement le pré-lancement des DNS pour les URL dans le document, y compris les images, CSS, JavaScript, etc.Générer automatiquement LQIP en arrière-plan via une file d’attente basée sur cron.Supprimer automatiquement les sauvegarde d’image après récupération des images optimisées.Remplacezr automatiquement les grandes images par des versions redimensionnées.Demander automatiquement l’optimisation via tâche cron.Liste des avatars en attente de mise à jourChemin du .htaccess de l’interface d’administrationContrôle du battement de cœur de l’interface d’administrationTTL du battement de cœur de l’interface d’administrationSauvegarde créée %1$s avant d’appliquer le préréglage %2$sBasiqueImage générique pour l’image de baseAvantMeilleures performances WordPress disponiblesBêta testListe de blocageBloquéMis sur liste de blocage car impossible à mettre en cacheÀ la fois %1$s et %2$s sont acceptables.À la fois les URL complètes et les chaînes partielles peuvent être utilisées.Il est possible d’utiliser aussi bien des chaînes complètes que partielles.NavigateurCache navigateurRéglages du cache navigateurTTL du cache navigateurLa mise en cache du navigateur stocke les fichiers statiques localement dans le navigateur de l’utilisateur. Activez ce réglage pour réduire les requêtes répétées de fichiers statiques.Par défaut une image indicative grise %s sera utilisée.Par défaut, les pages Mon compte, Paiement et Commande sont automatiquement exclues de la mise en cache. Une mauvaise configuration des associations de pages dans les réglages WooCommerce peut entraîner l’exclusion erronée de certaines pages.Par conception, cette option peut servir du contenu périmé. N’activez pas cette option si cela ne vous convient pas.CCSS par URLCDNCDN - DésactivéCDN - ActivéBande passante de CDNRéglage du CDNURL de CDNURL de CDN à utiliser. Par exemple : %sCombinent CSS & JSCombiner CSSCombiner les CSS externes et en ligneCSS excluMinifier CSSRéglages CSSMinification CSS, JS et HTMLCache CSS/JSCacheMettre en cache la barre d’administrationMettre en cache le formulaire de commentaireMettre en cache les commentateursMettre en cache les réglages de contrôleOccurrences de cacheMettre en cache les utilisateurs connectésMettre en cache la page de connexionCache manquantCache mobileMettre en cache l’API RESTÉtat du cacheMettre en cache wp-adminLa clé de cache doit être une chaîne entière ou non vide, %s donnée.La clé de cache ne doit pas être une chaîne vide.Mettre en cache les requêtes effectuées par les appels de l’API REST WordPress.Mettre en cache le bloc ESI de formulaire de commentaires intégré.Calculer l’espace disque de sauvegardeCalculer le stockage des images originalesSauvegardes bien calculées.Impossible de créer un dossier : %1$s. Erreur : %2$sEffacerCatégorieRéglage bien modifié.Les modifications apportées à ce réglage ne s’appliquent pas aux LQIP déjà générés. Pour régénérer les LQIP existants, veuillez d’abord %s dans le menu de la barre d’administration.Vérifier l’étatVérifier mon IP publique à partir deCochez cette option pour utiliser les configurations du site principal sur tous les sous-sites.Tout nettoyerVider la carte du robot explorateurNettoyage des données inachevéesNettoyer tous les brouillons auto-enregistrésNettoyer tous les métadonnées de publication orphelinesNettoyer toutes les révisions d’articleNettoyer tous les commentaires indésirablesTout a bien été nettoyé.Nettoyer tous les rétroliens et pingsNettoyer toutes les options de transientTous les transients ont bien été nettoyés.Nettoyer tous les commentaires mis à la corbeilleNettoyer tous les articles et pages mis à la corbeilleLes brouillons auto ont bien été nettoyés.Nettoyer les options de transient expiréesLes transients expirés ont bien été nettoyés.Nettoyage réussi de méta orpheline de la publication.Les révisions d’article ont bien été nettoyées.Révisions propres plus anciennes que %1$s jour(s), à l’exclusion des %2$s dernières révisionsLes commentaires indésirables ont bien été nettoyés.Les rétroliens et pings ont bien été nettoyés.Les commentaires mis à la corbeille ont bien été nettoyés.Articles et pages mis à la corbeille bien nettoyés.Nettoyé tous les fichiers CSS critiques.Tous les fichiers Gravatar sont nettoyés.Tous les fichiers LQIP sont nettoyés.Nettoyer tous les fichiers CSS uniques.Nettoyé toutes les entrées de ressources localisées.Bien nettoyé les données non finalisées.EffacerEffacer les journauxEffacé %1$s images non valides.Efface toutes les entrées du cache liées à ce site, y compris les autres applications web.Cliquer ici pour continuer.Cliquez ici pour configurer.Cliquez pour effacer tous les nœuds pour une nouvelle détection.Cliquer pour copierCliquer pour passer à la version optimisée.Cliquez pour passer à la version originale (non optimisée).Fermer une fenêtre modaleErreur de cloudLe serveur cloud a refusé la requête actuelle en raison de la limitation du débit. Veuillez réessayer ultérieurement.Le serveur cloud a refusé la demande actuelle en raison d’images non extraites. Veuillez d’abord extraire les images.CloudflareAPI CloudflareL’API Cloudflare est définie à inactif.Cache CloudflareDomaine CloudflareZone CloudflareRéduire les chaînes de requêtesCombinez les fichiers CSS et le code CSS en ligne.Combiner tous les fichiers JS locaux en un seul fichier.Les commentaires sont pris en charge. Commencez une ligne avec un %s pour la transformer en ligne de commentaire.Bien communiqué avec Cloudflare.Félicitations ! Votre fichier a déjà été optimiséFélicitations, tous recueillies !Date de connexion :Test de connexionConvertir en InnoDBConversion en InnoDB réussie.Nom de cookieSimulation de cookieValeurs de cookieImpossible de trouver %1$s dans %2$s.Intervalle de crawlCrawlerCron du crawlerRéglages généraux du robot explorateurJournaux du robot explorateurÉtat du robot explorateurLa liste des robots d’exploration désactivés est effacée ! Tous les robots d’exploration sont activés ! Robot(s) explorateur(s)Les robots d’exploration ne peuvent pas s’exécuter simultanément. Si le cron et une exécution manuelle qui démarre simultanément, le premier lancé aura la priorité.Créez un article, assurez-vous que la page d’accueil est exacte.Créé avec ❤️ par l’équipe LiteSpeed.Crédits insuffisants pour répondre à votre demande.CSS critiqueRègles CSS critiquesNom du cronContenus actuel de %sNœuds cloud actuels en serviceLe serveur Cloud le plus proche est actuellement %s. Cliquez pour le détecter à nouveau.Le crawler actuel a démarré lePosition actuelle de l’ID de publication de l’imageLa limite actuelle estCharge actuelle du serveurL’heure actuelle du serveur est %s.Le crawl de plan de site actuel a commencé leL’état actuel est %1$s depuis %2$s.L’état actuel est %s.Robot explorateur actuellement actifActuellement défini à %sUtilisation actuelle d’une version optimisée du fichier WebP.Utilisation actuelle d’une version optimisée du fichier.Utilisation actuelle de la version originale (non optimisée) du fichier WebP.Utilise actuellement la version originale (non optimale) du fichier.Plan de site personnaliséRéglages d’optimisation de la BDDPré-connexion DNSPré-chargement des DNSContrôle du préfixe DNSPrérécupération DNS pour les fichiers statiquesArchive quotidienneTableau de bordBase de donnéesOutil d’optimisation de base de donnéesRésumé de la base de donnéesConvertisseur de moteur de table de base de donnéesBase de données à utiliserJour(s)DésactiverDésactiver LiteSpeed CacheDésactiver l’extensionAides au débogageNiveau de débogageJournal de débogageRéglages de débogageLa chaîne de débogage exclutL’URL de débogage exclutL’URL de débogage comprendPar défautCache par défautFlux TTL par défautTTL de page d’accueil par défautDurée de vie de la page de code d’état HTTP par défautDurée de vie de l’objet par défautTTL cache privé par défautDurée de vie par défaut du cache publiqueDurée de vie REST par défautTTL par défaut pour les objets mis en cache.Le chemin par défaut estLe port par défaut pour %1$s est %2$s.Valeur par défautDifféréLe fait de différer jusqu’à ce que la page soit analysée ou de retarder l’interaction peut aider à réduire les conflits de ressources et à améliorer les performances, entraînant un FID inférieur (Indicateur Web Vitals de base).Retarder le rendu d’éléments HTML hors écran par leurs sélecteurs.ReportéSupprimer toutes les sauvegardes des images originalesDétruire toutes les données d’optimisationBien détruire toutes les données d’optimisation.Détermine comment les modifications dans les quantités de produit et états de stock de produit affecte les pages de produit et leurs pages de catégorie associés.Mode développementLe mode développement sera automatiquement désactivé après trois heures.Le mode développement sera automatiquement désactivé dans %s.DésactiverDésactiver toutes les fonctionnalitésDésactiver toutes les fonctionnalités pendant 24 heuresDésactiver le cacheDésactiver le chargement différé d’imageDésactiver VPIDésactivez l’intervalle de battement de cœur de WordPress pour réduire la charge du serveur.Désactiver l’option pour générer le CCSS par type de publication au lieu de par page. Cela va économiser un quota CCSS important, mais cela peut entraîner un style CSS incorrect si le site utilise un constructeur de page.DésactivéFichier AVIF bien désactivé.Fichier WebP bien désactivé.Désactiver cela peut entraîner l’arrêt des tâches WordPress déclenchées par AJAX.Désactiver cette option aura un effet négatif sur la performance.IgnorerIgnorer cette notificationIgnorer cette avis.Ne pas mettre en cache les catégoriesNe pas mettre en cache les cookiesNe pas mettre en cache les groupesNe pas mettre en cache les chaînes de requêteNe pas mettre les rôles en cacheNe pas mettre en cache les étiquettesNe pas mettre en cache les URINe pas mettre en cache les agents utilisateurNe pas purger les catégories lors de modification de quantité ou d’état de stock.DomaineLa rétrogradation n’est pas recommandée. Peut provoquer une erreur fatale en raison du code remanié.Supprimer la chaîne de requêteESINonces d’ESIRéglages ESIESI vous permet de désigner des parties de votre page dynamique comme des fragments séparés qui sont ensuite assemblés pour créer la page entière. En d’autres termes, ESI vous permet de « percer des trous » dans une page, puis de remplir ces trous avec un contenu qui peut être mis en cache en privé, mis en cache publiquement avec son propre TTL ou non mis en cache du tout.Exemple d’ESI pour les développeursÉditeur HeartbeatÉditeur Heartbeat TTLLes éléments avec l’attribut %s dans le code html seront exclus.Adresse de messagerieVider tout le cacheVider la liste de blocageActiver toutes les fonctionnalitésActiver la mise en cacheActiver ESIActiver le CDN QUIC.cloudActiver les services QUIC.cloudActiver la tâche planifiée de génération automatique d’images de vue écran.Activez cette option si vous utilisez HTTP et HTTPS sur le même domaine et que vous remarquez des irrégularités de cache.Activé(e)Fichier AVIF bien activé.Fichier WebP bien activé.Activer ici LiteSpeed Cache pour WordPress active le cache pour le réseau.Raison pour laquelle c’est terminéMoteurSaisissez l'adresse IP de ce site pour permettre aux services de cloud d'appeler directement l’IP au lieu du nom de domaine. Cela permet d’éviter les surcharges des consultations DNS et CDN.Erreur : impossible d’appliquer les réglages %1$sFondamentauxTout dans Advanced, PlusTout est agressif, plusTout dans Basic, PlusTout dans Essentials, PlusExempleExemple d’utilisation :Les exemples de cas d’essai incluent :Exclure le cheminRéglages d’exclusionExclureTransients expirésExporterExporter les réglagesExtrêmeÉchouéeÉchec de sauvegarde du fichier %s, modifications interrompues.Échec de communication avec CloudflareÉchec de la communication avec le serveur QUIC.cloudÉchec de la création de la table Avatar. Veuillez suivre les conseils <a %s>de création de tableau du wiki LiteSpeed</a> pour terminer la configuration.Échec de récupération du contenu du fichier %s.Échec de la requête via WordPressÉchec de mise à niveau.Impossible d’écrire sur %s.Utilisation de la file d’attente rapideLe fichier %s n’est pas inscriptible.Le nom de fichier est vide !FichiersFiltre %s disponible pour UCSS par génération de type de page.Filtre %s disponible pour modifier le seuil.Le filtre %s est supporté.Le dossier n’existe pas : %sLe dossier n’est pas inscriptible : %s.Optimisation de l’affichage des policesPour les URL avec des jokers, il peut y avoir un retard dans le lancement de la purge planifiée.Par exemplePar exemple, %1$s définit un TTL de %2$s secondes pour %3$s.Par exemple, %s peut être utilisé pour un texte indicatif transparent.Par exemple, si chaque page du site a un formatage différent, saisissez %s dans la case. Des fichiers CSS critiques distincts seront stockés pour chaque page du site.Pour cette raison, veuillez tester le site pour vous assurer que tout fonctionne encore correctement.Forcer la mise en cache des URLForcer les URL du cache publicForcer le cronMise en cache forcéeQuota gratuit mensuel disponible.Page de gardeChemin .htaccess sur interface publiqueContrôle du battement de cœur de l’interface publiqueTTL du battement de cœur de l’interface publiqueGénéralRéglages générauxGénérer LQIP en arrière-planGénérer un lien pour l’utilisateur actuelGénérer l’UCSSGénérer une copie de cache séparée pour le mini-panier lorsque le panier n’est pas vide.Généré dans %sLes liens générés peuvent être gérés dans %sRéglages%s.Obtenez-le auprès de %s.Clé/jeton d’API globalGroupes globauxAller au tableau de bord QUIC.cloudAller à la liste des extensionsBonnes nouvelles du serveur QUIC.cloudGoogle reCAPTCHA sera automatiquement contourné.Cache GravatarCron du cache GravatarTTL du cache GravatarGroupes mis en cache au niveau du réseau.HôteMode visiteurJS de mode invité excluMode invité et optimisation des invitésLe test du mode invité a échoué.Le mode invité a passé le test.Résultat du test du mode invitéOptimisation visiteurAttribut HTML à remplacerConserver les commentaires HTMLSélecteurs HTML de chargement différéMinifier  le HTMLRéglages HTMLSources HTTPS uniquement.Battement de cœurContrôle des battements de cœurMise en cache des pages haute performance et optimisation du site à partir de LiteSpeedTTL plus élevéHistoriqueOccurrencesPage d’accueilHôteComment corriger les problèmes dus à l’optimisation du CSS/JS.Cependant, il n’y a aucun moyen de connaître toutes les personnalisations possibles qui ont été mises en œuvre.Le htaccess ne correspondait pas à l’option de configuration.La règle htaccess est : %sJ’ai déjà laissé une évaluationSi %1$s est %2$s, alors %3$s doit être renseigné !Si activé, une copie périmée de la page en cache sera affichée au visiteur jusqu’à ce qu’une nouvelle copie de cache soit disponible. Réduit la charge du serveur pour les visites suivantes. Si désactivé, la page sera générée dynamiquement pendant que le visiteur attend.Si chaque application web utilise le même cookie, le serveur pourrait ne pas savoir si l’utilisateur est connecté.Si ce n’est pas le cas, veuillez vérifier le réglage dans l’onglet %sAvancé%s.Si seul le site WordPress doit être purgé, utilisez « Tout purger ».Si défini à %1$s, avant que le texte indicatif ne soit localisé, la configuration %2$s sera utilisée.Si défini sur %s, cela se fait au premier plan, ce qui peut ralentir le chargement de la page.Si le nom de la catégorie n’est pas trouvé, la catégorie sera retirée de la liste lors de l’enregistrement.Si le cookie de connexion a été modifié récemment dans les réglages, veuillez vous déconnecter et vous reconnecter.Si l’identifiant d’étiquette n’est pas trouvé, l’étiquette sera retirée de la liste à l’enregistrement.Si vous configurez une valeur de moins de 30, les flux RSS ne seront pas mis en cache.Si vous utilisez OpenLiteSpeed, le serveur doit être redémarré une fois pour que les modifications prennent effet.Si vous rencontrez des problèmes, veuillez vous reporter au numéro de rapport dans votre message de support.Si vous désactivez un des réglages ci-dessus, veuillez supprimer les types de fichiers correspondants de la boîte %s.Si vous préférez ne pas avoir des affichages à la vitesse de la lumière, vous pouvez désactiver cette extension.Si votre site contient du contenu public que certains rôles utilisateur peuvent voir, mais que d’autres rôles ne peuvent pas, vous pouvez spécifier un groupe variable pour ces rôles utilisateur. Par exemple, la spécification d’un groupe variable par l’administrateur permet d’avoir une page distincte en cache publique adaptée aux administrateurs (avec des liens "modifier", etc.), tandis que tous les autres rôles utilisateur voient la page publique par défaut.Si votre thème n’utilise pas JS pour mettre à jour le mini-panier, vous devez activer cette option pour afficher le contenu correct du panier.Les iframes contenant ces noms de classe ne seront pas chargées en différé.Les iframes ayant ces noms de classe parent ne seront pas chargées en différé.Ignorez certaines chaînes de requête lors de la mise en cache. (%s LSWS nécessaire)Information d’imageOptimisation d’imageRéglages d’optimisation des imagesRésumé d’optimisation des imagesDimensions de groupe de la miniature d’imageTotal des groupes d’imagesImages tiréesLes images contenant ces noms de classes ne seront pas chargées en différé.Les images ayant ces noms de classe de parent ne seront pas chargées en différé.Images non demandéesImages notifiées à tirerImages optimisées et tiréesImages prêtes à être demandéesImages demandéesLes images seront tirées automatiquement si la tâche cron est en cours d’exécution.ImporterImporter/exporterImporter des réglagesÉchec de l’import du à une erreur fichier.Fichier de réglages %s bien importé.Améliorer la compatibilité HTTP/HTTPSAméliorez la vitesse de wp-admin grâce à la mise en cache. (peut rencontrer des données expirées)Amélioré parAfin d’éviter une erreur de mise à niveau, vous devez utiliser la version %1$s ou ultérieure avant de pouvoir mettre à niveau vers la version %2$s.Afin d’utiliser les services de contrôle qualité, cela nécessite un vrai nom de domaine, impossible d’utiliser une IP.Inclure le CSSInclure les types de fichierInclure les imagesInclure le JSInclure les CSS externes et les CSS en ligne dans le fichier combiné lorsque %1$s est également activé. Cette option aide à maintenir les priorités d’exécution du JS, ce qui devrait minimiser les erreurs potentielles causées par CSS Combine.Inclure les JS externes et les JS en ligne dans le fichier combiné lorsque %1$s est également activé. Cette option aide à maintenir les priorités d’exécution du JS, ce qui devrait minimiser les erreurs potentielles causées par JS Combine.Répertoires inclusLibrairie CSS Async en ligneCSS en ligne ajouté à CombineInline JS ajouté à CombineInstallerInstaller %sInstaller DoLogin SecurityInstaller maintenantClic instantanéIP non valideCookie de connexion non valide. Caractères non valides trouvés.Cookie de connexion non valide. Veuillez vérifier le fichier %s.Règle de réécriture non valideCe sera converti à la volée en un texte indicatif base64 SVG.Combiner JSCombiner les JS externes et en ligneLe report JS pour le JS externe et le JS en ligneLe JS différé/reporté exclutJS différéLe JS différée comprendJS excluMinifier JSRéglages JSL’erreur JS peut être trouvée à partir de la console développeur du navigateur en cliquant avec le bouton droit de la souris et en choisissant Inspecter.Rejoindre la communauté Slack LiteSpeedRejoignez-nous sur SlackRejoignez la communauté %s.N’utilisez pas cette option pour utiliser des textes indicatifs en couleur.LQIPCache LQIPGénérateur de cloud de LQIPLQIP exclutDimensions minimales de LQIPQualité de LQIPAperçu de l’image LQIP pour la taille %sLes requêtes LQIP ne seront pas envoyées pour les images dont la largeur et la hauteur sont inférieures à ces dimensions.LSCacheLes fonctions de mise en cache de LSCache sur cette page sont actuellement indisponibles !Un plus grand nombre générera une meilleure qualité de résolution de remplacement, mais donnera lieu à des fichiers plus volumineux qui augmenteront la taille des pages et consommeront plus de points.Plus grand queDernier tirageDernier tirageDernière requêteDernier calculéDurée de dernière exécution complète pour tous les robots explorateursDernière explorationDernière exploration :Dernier exportéDernier généréDernier importéDernier intervalleDernier tirage initié par cron à %s.Dernière exécutionDernier coût demandéNom de classe d’iframe en chargement différé exclutNom de classe d’iframe parent en chargement différé exclutChargement différé des iframesLe nom de la classe d’image de chargement différé exclutExclut l’image du chargement lentNom de classe d’image en chargement différé exclutChargement différé des imagesL’URL de chargement différé exclutChargement différé pour les iframesChargement différé pour les imagesApprendre plusApprendre plusEn savoir plus sur les cas où cela est nécessaireEn savoir plus ou acheter un quota supplémentaire.Lier et activer le CDN QUIC.cloudLier à QUIC.cloudListe des agents utilisateurs mobileÉnumérer les types de publication où chaque élément de ce type devrait avoir son propre CCSS généré.Les fichiers CSS listés ou le code CSS en ligne ne seront pas minifiés ou combinés.Les fichiers CSS répertoriés seront exclus de UCSS et enregistrés en ligne.Les fichiers JS listés ou le code JS en ligne seront différés.Les fichiers JS ou le code JS en ligne listés ne seront pas différés.Les fichiers JS listés ou le code JS en ligne ne seront pas minifiés ou combinés.Les fichiers JS listés ou le code JS en ligne ne seront pas optimisés par %s.Les URL listées ne généreront pas d’UCSS.Les images listées ne seront pas chargées lentement.LiteSpeed CacheCDN LiteSpeed CachePréréglages de la configuration du cache LiteSpeedCrawler LiteSpeed CacheTableau de bord LiteSpeed CacheOptimisation de la base de données LiteSpeed CacheRéglages généraux de LiteSpeed CacheOptimisation d’image LiteSpeed CacheRéglages de cache de réseau LiteSpeed CacheOptimisation des pages de LiteSpeed CacheCache LiteSpeed Tout purgerRéglages LiteSpeed CachePréréglages standard du cache LiteSpeedBoîte à outils LiteSpeed CacheModifier le .htaccess LiteSpeed CacheLe cache LiteSpeed ​​est désactivé. Cette fonctionnalité ne fonctionnera pas.LiteSpeed ​​Cache est temporairement désactivé jusqu’au : %s.L’extension LiteSpeed Cache est installée !Journaux LiteSpeedOptimisation de LiteSpeedRapport LiteSpeedTechnologies LiteSpeedServeur Web LiteSpeedExtension de cache LiteSpeed mise à niveau. Veuillez actualiser la page pour terminer la mise à niveau des données de configuration.Charger le CSS de manière asynchroneCharger les Google Fonts de manière asynchroneCharger le JS en diféréChargez les iframes uniquement lorsqu’elles entrent dans la fenêtre d’affichage.Charger les images uniquement lorsqu’elles entrent dans la fenêtre d’affichage.LocalisationFichiers de localisationRéglages de localisationLocaliser les ressourcesLocaliser les ressources externes.Ressources localiséesLimite de taille de fichier journalVue du journalCookie de connexionTexte indicatif d’image de faible qualitéMoGérerAjouté manuellement à la liste de blocageExécution manuelleCarteMarquer cette page commeID de publication d’image maximalValeur maximalePeut-être ultérieurementPeut-être plus tardMédias exclusRéglages des médiasMessage du serveur QUIC.cloudMéthodeMinimiser les fichiers CSS et le code CSS en ligne.Minifier le contenu HTML.Minifier les fichiers JS et les codes JS en ligne.Valeur minimaleManquéMobileRègles des agents mobilesCache mobileArchive mensuellePlusPlus d’informations sur les commandes disponibles peuvent être trouvées ici.Plus de réglagesD’autres réglages sont disponibles dans le menu %sNoteNote : les CDN QUIC.cloud et Cloudflare n’utilisent pas de CDN mapping. Si vous utilisez uniquement QUIC.cloud ou Cloudflare, laissez ce réglage %s.NotificationRemarque :Remarque : le cookie de connexion de base de données ne correspond pas à votre cookie de connexion.Tableau de bord du réseauActiver le cache sur le réseauNouvelle version développeur disponible !Nouvelle version disponible !La nouvelle version développeur %s est disponible dès maintenant.La nouvelle version %s est maintenant disponible.ActualitésAucun nœud Cloud disponible après vérification de la charge du serveur.Aucun nœud de cloud disponible.Aucune zone Cloudflare disponibleAucune sauvegarde du fichier original n’existe.Aucune sauvegarde du fichier AVIF non optimisé n’existe.Aucune sauvegarde du fichier WebP non optimisé n’existe.Aucun service cloud n’est actuellement utiliséEncore aucun fichier méta de crawler généréAucun champAucune optimisationAucune image valide trouvée par le serveur cloud dans la demande actuelle.Aucune image valide trouvée dans la demande actuelle.Aucun plan de site valide n’a été analysé par le robot explorateur.Nœud :Impossible à mettre en cacheNon disponiblePas sur liste de blocageNoteRemarquesNotificationNotificationsBien notifié Cloudflare de tout purger.Bien notifié Cloudflare de définir le mode développement à %s.Serveur web LiteSpeed notifié de purger les entrées CSS/JS.Serveur web LiteSpeed notifié de purger toutes les entrées LSCache.Notifié le serveur web LiteSpeed de purger toutes les pages.Notifié LiteSpeed ​​Web Server de purger les pages d’erreur.Serveur LiteSpeed notifié pour tout purger.LiteSpeed Web Server a été notifié de purger la page d’accueil.Serveur LiteSpeed notifié pour tout purger.InactifActifOPcache n’est pas activé.OPcache est limité par le réglage %s.OuObjetMise en cache d’objetRéglages du cache objetCache d’objet non activé.Une fois enregistré, il sera harmonisé avec la liste actuelle et complété automatiquement.Une ou plusieurs images tirées ne correspondent pas à l’image md5 notifiéeUne par ligne.Services en ligneLe nœud en ligne doit être redétecté.Ne seront remplacés uniquement les attributs listés ici.Uniquement disponible lorsque %s est installé.Uniquement les fichiers de ces répertoires seront dirigés vers le CDN.Journaliser uniquement les pages répertoriées.Optimiser uniquement les pages pour les visiteurs invités (non connectés). Si cette option est désactivée, les fichiers CSS/JS/CCSS seront doublés par chaque groupe d’utilisateurs et utilisatrices.N’appuyez sur le bouton que si la tâche cron de tirage est désactivée.Cache OpcodeUtilisateurs d’OpenLiteSpeed, veuillez vérifier ceciOpérationÉtat de l’optimisationRésumé d’optimisationOutils d’optimisationOptimiser la livraison CSS.Optimiser sans perteOptimiser les images originalesOptimiser les tablesOptimiser toutes les tables dans votre base de donnéesOptimiser pour les visiteurs uniquementOptimiser les images et enregistrer les sauvegardes des originaux dans le même dossier.Optimiser les images en utilisant la compression sans perte.Optimiser les images avec notre serveur QUIC.cloudOptimisé toutes les tables.Nom de l’optionFacultatifFacultatif en cas d’utilisation d’un jeton d’API.Options enregistrées.Originale%s originauxOrig a enregistré %sURL originalesFichier original réduit par %1$s (%2$s)Métadonnées de commentaire orphelinesAutreAutre CDN statiqueLes autres cases à cocher seront ignorées.Solde du paiement au fur et à mesureLa constante PHP %s est prise en charge.Temps de chargement de la pageOptimisation de pageScore PageSpeedPagesAvantages offerts aux partenaires parRéussieMot de passeLien de connexion sans mot de passeLe chemin doit finir par %sLes chemins contenant ces chaînes de caractères seront mis en cache sans tenir compte des réglages de non mise en cache.Les chemins contenant ces chaînes de caractères seront forcés à être mis en cache public, indépendamment des réglages qui ne peuvent pas être mis en cache.Les chemins contenant ces chaînes de requête ne seront pas mis en cache.Les chemins contenant ces chaînes ne seront pas servis par le CDN.Paiement au fur et à mesureStatistiques sur l’utilisation du paiement au fur et à mesureConnexion persistanteMerci de désactiver les extensions détectées suivantes, car elles peuvent entrer en conflit avec LiteSpeed Cache :Veuillez ne pas partager le lien sans mot de passe ci-dessus avec qui que ce soit.Veuillez activer LiteSpeed Cache dans les réglages de l’extension.Veuillez activer le module LSCache au niveau du serveur ou demandez à votre hébergeur.Veuillez vous assurer que cette IP est la bonne pour visiter votre site.Veuillez lire tous les avertissements avant d’activer cette option.Veuillez voir %s pour plus de détails.Veuillez effectuer un test approfondi lorsque vous activez une option dans cette liste. Après avoir modifié les réglages Minifier/Combiner, veuillez faire une purge totale.Tester tous les éléments dans %s pour s’assurer qu’ils fonctionnent comme prévu.Tester soigneusement chaque fichier JS ajouté pour s’assurer qu’il fonctionne comme prévu.Veuillez essayer après %1$s pour le service %2$s.L’extension est trop compliquéePortPosition : ID de l’articleRévisions d’articleArchive de type de contenuLa pré-connexion accélère les charges futures à partir d’une origine donnée.La liste prédéfinie sera également combinée avec les réglages ci-dessus.La liste prédéfinie sera également combinée avec les réglages ci-dessus.Le pré-chargement des DNS peut réduire la latence pour les visiteurs.Conserver les données EXIF (copyright, GPS, commentaires, mots clés, etc.) lors de l’optimisation.Conserver les données EXIF/XMPPréréglagesCliquez sur le bouton %s pour stopper le test bêta et revenir à la version actuelle depuis le répertoire des extensions WordPress.Appuyez sur le bouton %s pour utiliser le commit GitHub le plus récent. Master est pour la version candidate et Dev est pour les tests expérimentaux.Empêcher les polices Google de charger sur toutes vos pages.Empêcher tout journal de débogage des pages listées.Empêcher tout chargement différé des pages listées.Empêche toute optimisation des pages listées.Empêcher l’écriture des entrées de journal qui incluent les chaines de caractères listées.Requête précédente trop récente. Réessayer après %s.Requête précédente trop récente. Réessayer plus tard.Existait auparavant dans la liste de blocagePrivéCache privéURI mises en cache privéesCache privéMettre en cache privé les commentateurs qui ont des commentaires en attente. La désactivation de cette option servira les pages ne pouvant pas être mises en cache aux commentateurs. (LSWS %s nécessaire)Mettre en cache privé les pages interface utilisateur pour les utilisateurs connectés. (LSWS %s nécessaire)Intervalle de mise à jour de produitPubliqueCache publicLe cron du tirage est en cours d’exécutionTirer les imagesL’image WebP md5 tirée ne correspond pas à l’image WebP md5 notifiée.PurgerPurger les erreurs %sPurger les pages d’erreur %sTout purgerPurger tous les crochetsTout purger lors d’une mise à niveauPurger par…Tout purgerPurger la page d’accueilPurger la listePurger le journalPurger les pagesPurger les réglagesBien purger tous les caches d’objets.Purger tous les caches d’objetsPurger les catégories uniquement quand l’état du stock change.Purger la catégorie %sPurger les pages par nom de catégorie - par exemple,%2$s devrait être utilisé pour l’URL%1$s.Purger les pages par ID d’article.Purger les pages par URL relative ou complète.Purger les pages par nom d’étiquette - par ex.,%2$s devrait être utilisé pour l’URL %1$s.Purger les produits et catégories uniquement quand l’état du stock change.Purger le produit au changement de la quantité ou de l’état du stock.Purger le produit uniquement quand l’état du stock change.Purger l’étiquette %sPurger les entrées LiteSpeed Cache créées par cette extensionPurger les entrées de cache créées par cette extension à l’exception des caches CSS et LQIP critiquesPurger cette pagePurger l’URL %sTout purgé !Tous les caches ont bien été purgés.Purgé le blog !Purgé !%1$s poussées vers le serveur Cloud, %2$s acceptées.QUIC.cloudCDN QUIC.cloudCDN QUIC.cloud :Statistiques sur l’utilisation des services QUIC.cloudLes chaînes de requête contenant ces réglages ne seront pas mises en cache.Lire la documentation LiteSpeedRecommandé pour générer le jeton à partir du modèle de jeton de l’API Cloudflare « WordPress ».Valeur recommandée : 28800 secondes (8 heures).Détecter à nouveauNœud redétectéID de base de données RedisActualiserActualiser la carte du robot explorateurActualiser le cache  Gravatar par cron.Actualiser l’état de QUIC.cloudActualiser l’étatActualiser le temps de chargement des pagesActualiser le score de la pageQuota quotidien restantSupprimer l’URL du CDNRetirer les polices GoogleRetirer les balises NoscriptSupprimer les sauvegardes d’originalesSupprimer les sauvegardes de l’image originaleRetirer les chaînes de requêteSupprimer les chaînes de requête des fichiers statiquesRetirer les emoji WordPressRetirer l’indicateur « Désactiver toutes les fonctionnalités » maintenantSupprimer toutes les requêtes/résultats d’optimisation d’image précédentes, annulez les optimisations terminées et supprimer tous les fichiers d’optimisation.Supprimer toutes les requêtes d’optimisation d’images inachevées.Supprimer la simulation de cookieRetirer de la liste de blocageRetirer les chaines de requête des ressources statiques internes.Suppression du CSS inutilisé pour les utilisateursSauvegardes bien supprimées.Remplacer %1$s avec %2$s.RapportDemandes en file d’attenteScanner à nouveau les nouvelles miniatures%d images ont bien été réanalysées.Bien été réanalysées.Réinitialisation de l’activation %s réussie.Réinitialiser tous les réglagesRéinitialiser les réglagesRéinitialiser la positionRéinitialisation effectuée.La réinitialisation de l’OPcache a échouée.Réinitialiser l’intégralité du cache opcodeBien réinitialiser les données optimisées.Les ressources des domaines énumérés ici seront copiées et remplacées par des URL locales.Texte indicatif responsiveCouleur de l’espace indicatif responsiveSVG de l’espace indicatif responsiveLes textes indicatif d’image responsive peuvent aider à réduire le remaniement de la mise en page lorsque les images sont chargées.Restaurer les réglagesRestaurer depuis une sauvegardeRéglages de sauvegarde restaurés %1$sFichier original bien restauré.Âge maximal des révisionsNombre maximum de révisionsLes révisions plus récentes que ce nombre de jours seront conservées lors du nettoyage des révisions.Rôle excluSimulation de rôleExécuter %s file d’attente manuellementFréquence d’exécutionExécuter la file d’attente manuellementLa fréquence d’exécution est définie par le réglage d’intervalle entre exécutions.Durée d’exécution du précédent robot explorateurEn cours d’exécutionEnregistrer les modificationsEnregistrer les transients dans la base de données lorsque %1$s est %2$s.EnregistréL’enregistrement de l’option a échoué. IPv4 uniquement pour %s.Seuil de redimensionnement de tailleRechercher toute nouvelle taille de miniature d’image non optimisée et renvoyez les requêtes d’optimisation d’image nécessaires.Heure de purge planifiéePurge planifiée d’URLsSélectionnez "Tous" s’il y a des widgets dynamiques liés aux articles sur les pages autres que la page d’accueil.Sélectionnez ci-dessous pour les options « purger par ».Sélectionnez uniquement les types d’archives qui sont actuellement utilisés, les autres peuvent être laissées décochées.Sélectionnez quelles pages seront purgées automatiquement lorsque des articles sont publiés/mis à jour.Les rôles sélectionnés seront exclus de toutes les optimisations.Les rôles sélectionnés seront exclus du cache.Envoyer une requête d’optimisationEnvoyez ce rapport à LiteSpeed. Référez-vous à ce numéro de rapport lorsque vous publiez sur le forum de support WordPress.Envoyer à LiteSpeedSéparer le cache du CCSS par type de publicationSéparer les URL de ca CCSSDes fichiers CSS critiques distincts seront générés pour les chemins contenant ces chaînes.Servir le périméServir une copie de cache séparée sur mobile.Servir tous les fichiers CSS via le CDN. Cela affectera tous les fichiers CSS WP en file d’attente.Servir tous les fichiers JavaScript via le CDN. Cela affectera tous les fichiers JavaScript WP en file d’attente.Servez vos visiteurs rapidementIP du serveurLimite de chargement du serveurVariable·s de serveur %s disponible·s pour surpasser ce réglage.Service :Définissez une largeur et une hauteur explicites sur les éléments image pour réduire les changements de mise en page et améliorer le CLS (une métrique Core Web Vitals).Définissez ceci pour ajouter %1$s à toutes les règles %2$s avant de mettre en cache le CSS pour spécifier comment les polices doivent être affichées lors du téléchargement.Réglez sur %1$s pour interdire les battements de cœur sur %2$s.Paramétrage des en-têtes personnalisésRéglagesRaccourcir les chaînes de requêtes dans le journal de débogage pour améliorer la lisibilité.Afficher l’état du crawlerAméliorez significativement le temps de chargement en remplaçant les images par leurs versions %s optimisées.L’URL du site à servir via le CDN. À partir de %1$s. Par exemple : %2$s.Les performances du site sont piresListe du plan du siteTotal du plan de sitePlan de site bien nettoyéCréation du plan du site réussie : %d élémentsTailleListe des tailles dans la file d’attente en attente de cronPlus petit queCertains fichiers d’image optimisés ont expiré et ont été effacés.Commentaires indésirablesPrécisez une image base64 à utiliser comme indicative pendant que les autres images terminent de charger.Spécifiez une action AJAX dans POST/GET et le nombre de secondes pour mettre en cache cette requête, séparés par un espace.Spécifiez un code d’état HTTP et le nombre de secondes pour mettre cette page en cache, séparés par un espace.Spécifiez un SVG à utiliser comme texte indicatif lors de la génération en local.Spécifiez les règles CSS critiques pour le contenu au-dessus du pli lorsque vous activez %s.Spécifiez combien de temps en secondes avant que le crawler initie un nouveau crawl entier du plan de site.Spécifiez combien de temps, en secondes, les fichiers Gravatar sont mis en cache.Précisez combien de temps, en secondes, les appels REST sont mis en cache.Spécifiez une durée en secondes, pour la mise en cache des flux RSS.Spécifiez combien de temps, en secondes, les pages privées sont mises en cache.Spécifiez combien de temps, en secondes, les pages publiques sont mises en cache.Spécifiez combien de temps, en secondes, la page d’accueil est mise en cache.Précisez l’intervalle de battement de cœur de %s en secondes.Précisez la taille maximale du fichier journal.Précisez le nombre de révisions les plus récentes à conserver lors du nettoyage des révisions.Précisez le mot de passe utilisé pour la connexion.Précisez la qualité lors de la génération du LQIP.Précisez la couleur SVG du texte indicatif responsive.Précisez l’heure pour purger la liste "%s".Spécifiez quels attributs des éléments HTML seront remplacés avec CDN Mapping.Préréglages standardsDémarrage de l’observation…Exploration asynchrone commencéeRequête d’optimisation d’image asynchrone lancéeLiens de type de fichier statique à remplacer par des liens CDN.ÉtatStopper le chargement d’emoji WordPress.org. Les emojis par défaut du navigateur seront affichés à la place.Optimisation du stockageStockez Gravatar localement.Stocker les transientsBien exploréRésuméForum de supportBien sûr que j’adorerais évaluer !SwapRevenir à l’utilisation d’images optimisées sur votre siteCommutation d’image réussie.Commuté pour bien optimiser le fichier.Synchronisation de l’allocation de crédit avec le serveur cloud bien effectuée.Synchroniser les données depuis le CloudInformations systèmeTTLTableauÉtiquetteIgnorer temporairement le cache Cloudflare. Cela permet de voir en temps réel les modifications apportées au serveur d’origine.Archive de terme (inclure catégorie, étiquette et taxinomie)Test en coursMerci d’utiliser l’extension LiteSpeed Cache !L’extension LiteSpeed ​​Cache est utilisée pour mettre les pages en cache - un moyen simple d’améliorer les performances du site.La connexion QUIC.cloud est incorrecte. Veuillez réessayer de synchroniser votre connexion QUIC.cloud.Les URLs ci-dessus (une par ligne) seront automatiquement purgées à l’heure fixée dans l’option "%s".Ces URLs seront comparées à la variable serveur REQUEST_URI.Le service d’images de vue écran détecte les images qui apparaissent au-dessus du pli et les exclut du chargement différé.Les nonces ci-dessus seront automatiquement convertis en ESI.La durée, en secondes, pendant laquelle les fichiers seront stockés dans le cache du navigateur avant d’expirer.Le cache doit faire la distinction de qui est connecté dans quel site WordPress afin de mettre en cache correctement.La validation du rappel vers le domaine a échouée en raison d’une incompatibilité de hachage.La validation du rappel vers votre domaine a échoué. Veuillez vous assurer qu’aucun pare-feu ne bloque nos serveurs.La validation du rappel vers votre domaine a échoué. Veuillez vous assurer qu’aucun pare-feu ne bloque nos serveurs. Code de réponse : Le cookie réglé ici sera utilisé pour cette installation WordPress.La fonctionnalité de robot explorateur n’est pas activée sur le serveur LiteSpeed. Veuillez consulter votre administrateur serveur ou votre hébergeur.Le robot explorateur utilisera votre plan de site XML ou votre index de plan de site. Saisissez l’URL complète de votre plan de site ici.Le serveur actuel est soumis à une charge importante.La base de données a été mise à niveau en arrière-plan depuis %s. Ce message disparaîtra une fois la mise à niveau terminée.La désactivation est temporaireLe cookie de connexion par défaut est %s.Le rapport d’environnement contient des informations détaillées sur la configuration WordPress.Les options suivantes sont sélectionnées, mais ne sont pas modifiables dans la page des réglages.Le réglage de la qualité de compression d’image de WordPress sur 100.La liste d’images est vide.Le dernier fichier de données estLa liste sera fusionnée avec les nonces prédéfinis dans votre fichier de données local.La charge moyenne maximale du serveur est autorisée lors de l’exploration. Le nombre de threads de robot explorateur en cours d’utilisation sera activement réduit jusqu’à ce que la charge moyenne du serveur tombe sous cette limite. Si cela ne peut pas être réalisé avec un seul thread, l’exécution du robot explorateur actuel sera terminée.L’administrateur réseau sélectionné utilise les configurations du site principal pour tous les sous-sites.Le réglage administrateur réseau peut être remplacé ici.Le prochain crawl complet de plan de site débutera leLa file d’attente est traitée de manière asynchrone. Cela peut prendre du temps.Le sélecteur doit exister dans le CSS. Les classes parentes dans le HTML ne fonctionneront pas.Le serveur déterminera si l’internaute est connecté grâce à l’existence de ce cookie.Le site n’est pas un alias valide sur QUIC.cloud.Le site n’est pas enregistré sur QUIC.cloud.Ensuite, un autre WordPress est installé (non multisite) sur %sIl y a une installation de WordPress pour %s.Il y a une file d’attente qui n’est pas encore tirée. Informations sur la file d’attente : %s.Ces images ne génèrent pas de LQIP.Ces options sont uniquement disponibles avec LiteSpeed Enterprise Web Server ou QUIC.cloud CDN.Ces réglages sont uniquement destinés à des utilisateurs avancés.Utilisation de ce mois-ci : %sCette action doit être utilisée uniquement si les éléments sont incorrectement mis en cache.Cela peut être défini dans %2$s comme utilisant la constante %1$s, en prenant ce réglage en priorité.Cela peut améliorer le temps de chargement de la page en réduisant les requêtes HTTP initiales.Cela peut améliorer la qualité, mais peut entraîner des images plus grandes que la compression avec perte.Cela peut améliorer la vitesse de chargement des pages.Cela peut améliorer votre score de vitesse dans des services tels que Pingdom, GTmetrix et PageSpeed.Cela permet aux images situées dans la vue initiale de l’écran d’être affichées sans délai.C’est irréversible.C’est pour tester la compatibilité avant d’activer le cache pour tous les sites.Ce préréglage à faible risque introduit des optimisations de base pour la vitesse et l’expérience utilisateur. Convient aux débutants enthousiastes.Cela peut entraîner une charge importante sur le serveur.Ce message indique que l’extension a été installée par l’administrateur du serveur.Ce préréglage sans risque convient à tous les sites Web. Bon pour les nouveaux utilisateurs, les sites Web simples ou le développement orienté cache.Aide à corriger la variation du cache pour certaines visites avancées sur mobile ou tablette.Permet une optimisation maximale pour les internautes en mode Invité.Cette option est ignorée car l’option %1$s est %2$s.Cette option est ignorée en raison de l’option %s.L’option peut entraîner une erreur JS ou un problème de mise en page sur les pages en ligne avec certains thèmes/extensions.L’option contournera automatiquement l’option %s.Cette option retirera toutes les balises %s du HTML.Ce préréglage nécessitera certainement des tests et des exclusions pour certaines images CSS, JS et à chargement différé. Portez une attention particulière aux logos ou aux images de diaporama HTML.Ce préréglage convient à la plupart des sites Web et il est peu probable qu’il provoque des conflits. Tout conflit CSS ou JS peut être résolu avec les outils d’optimisation > de réglage des pages.Ce préréglage peut fonctionner prêt à l’emploi pour certains sites Web, mais assurez-vous de tester ! Certaines exclusions CSS ou JS peuvent être nécessaires dans l’optimisation > le réglage des pages.Ce processus est automatique.Ce paramètre est %1$s pour certaines demandes qualifiées en raison de %2$sCe réglage est utile pour ceux qui ont plusieurs applications web avec le même nom de domaine.Ce réglage modifiera le fichier .htaccess.Ce réglage régénérera la liste des robots d’exploration et effacera la liste de désactivation !Ce site utilise la mise en cache afin de faciliter un temps de réponse plus rapide et une meilleure expérience utilisateur. La mise en cache stocke potentiellement une copie de chaque page web affichée sur ce site. Tous les fichiers de cache sont temporaires et ne sont jamais accessibles à un tiers, sauf si cela est nécessaire pour obtenir le support technique du fournisseur de l’extension de cache. Les fichiers cache expirent selon une planification fixée par l’administrateur du site, mais peuvent facilement être purgés par l’administrateur avant leur expiration naturelle, si nécessaire.Cette valeur est remplacée par la variable %s.Cette valeur est surchargée par le réglage du réseau.Cette valeur est remplacée par le filtre.Cette valeur est surchargée par le réglage du site principal.Cela purgera uniquement la page d’accueilCela purgera uniquement les pagesCela affectera toutes les balises contenant les attributs : %s.Va ajoutera également une préconnexion à Google Fonts pour améliorer la vitesse due chargement.Cela sauvegardera vos réglages actuels et les remplacera par les réglages prédéfinis %1$s. Souhaitez-vous continuer ?Cela effacera tout dans le cache.Cela supprimera tous les fichiers Gravatar mis en cacheCela supprimera tous les fichiers CSS critiques générésCeci supprimera tous les fichiers indicatif LQIP d’image générésCela supprimera tous les fichiers CSS uniques générésCela supprimera toutes les ressources localiséesCeci désactivera LSCache et toutes les fonctionnalités d’optimisation à des fins de débogage.Cela désactivera la page des réglages sur tous les sous-sites.Va supprimer le CSS inutilisé sur chaque page du fichier combiné.Cela permettra le cron du robot explorateur.Cela exportera tous les réglages actuels de LiteSpeed Cache et les enregistrera en tant que fichier.Cela va générer des requêtes supplémentaires au serveur, ce qui augmentera la charge du serveur.Ceci générera le texte indicatif avec les mêmes tailles que l’image si elle a des attributs largeur et hauteur.Cela va importer les réglages via un fichier et remplacer tous les réglages LiteSpeed Cache actuels.Cela augmentera la taille des fichiers optimisés.Ceci mettra en ligne la bibliothèque CSS asynchrone pour éviter le blocage du rendu.Cela purgera uniquement toutes les entrées CSS/JS minifiées/combinéesCela va réinitialiser tous les réglages à ceux par défaut.Cela restaurera les réglages de sauvegarde créés %1$s avant d’appliquer le préréglage %2$s. Toutes les modifications apportées depuis lors seront perdues. Voulez-vous continuer Délai d’exécution de la demande précédente : %sPour explorer un cookie particulier, saisissez son nom et les valeurs que vous souhaitez explorer. Les valeurs doivent être uniques par ligne, et peuvent inclure une ligne vierge. Il y aura un robot explorateur créé par valeur de cookie, par rôle simulé.Pour crawler le site comme utilisateur connecté, saisissez les ID utilisateur à simuler.Pour définir un TTL personnalisé pour une URL, ajoutez un espace suivi de la valeur TTL à la fin de l’URL.Pour avoir une correspondance exacte, ajoutez %s  à la fin de l’URL.Pour activer la fonctionnalité suivante, activez l’API Cloudflare dans les réglages CDN.Pour exclure %1$s, insérez %2$s.Pour générer un lien sans mot de passe pour un accès à l’équipe de support de LiteSpeed, vous devez installer %s.Pour accorder un accès wp-admin à l’équipe de support de LiteSpeed, veuillez générer un lien sans mot de passe pour l’utilisateur actuellement connecté qui sera envoyé avec le rapport.Afin de s’assurer que notre serveur peut communiquer avec le vôtre sans problème et que tout fonctionne bien, pour les quelques premières demandes, le nombre de groupes d’images autorisés dans une seule demande est limité.Pour correspondre au début, ajoutez %s au début de l’élément.Pour éviter que les %s soient mises en cache, saisissez-les ici.Pour éviter de remplir le disque, ce réglage doit être désactivé lorsque tout fonctionne.Pour rendre le nom d’hôte CDN aléatoire, définissez plusieurs noms d’hôte pour les mêmes ressources.Pour utiliser les fonctions de mise en cache, vous devez avoir un serveur web LiteSpeed ou utiliser un CDN QUIC.cloud.OutilBoîte à outilsTotalRéduction totaleUtilisation totaleTotal des images optimisées ce mois-ciRétroliens/pingsCommentaires mis à la corbeilleArticles mis à la corbeilleEssayez la version GitHubPersonnalisationRéglage des paramètres CSSRéglages de personnalisationDésactiverActiverActiver la mise en cache des pages publiques pour les utilisateurs connectés et servir la barre d’administration et le formulaire de commentaire via des blocs ESI. Ces deux blocs ne seront pas mis en cache, sauf s’ils sont activés ci-dessous.Activez pour contrôler les battements de cœur dans l'éditeur de l’interface d’administration.Activez pour contrôler les battements de cœur dans l’interface d’administration.Activez pour contrôler les battements de cœur sur l’interface publique.Activer la mise à niveau autoActivez cette option pour que LiteSpeed Cache soit mis à jour automatiquement, chaque fois qu’une nouvelle version est diffusée. Si inactif, mettre à jour manuellement comme d’habitude.Activez cette option pour afficher automatiquement les dernières nouvelles, y compris les correctifs, les nouvelles versions, les versions bêta disponibles et les promotions.Aperçu du tweetTweeter ceciUCSS en ligneFichiers UCSS en ligne exclusListe d’autorisation du sélecteur UCSSURL UCSS exclusURI exclutLes chemins d’URI contenant ces chaînes ne seront pas mis en cache comme publics.URLRecherche d’URLListe d’URL dans la file d’attente de cronImpossible d’ajouter automatiquement %1$s en tant qu’alias de domaine pour le domaine principal %2$s, en raison d’un conflit CDN potentiel.Impossible d’ajouter automatiquement %1$s en tant qu’alias de domaine pour le domaine principal %2$s.CSS uniqueErreur inconnueLettre à jour %s maintenantMettre à niveauBien mis à niveau.UtilisationStatistiques d’utilisation : %sUtilisez %1$s dans %2$s pour indiquer que ce cookie n’a pas été défini.Utiliser %1$s pour contourner UCSS pour les pages dont le type de page est %2$s.Utiliser %1$s pour ignorer la vérification des dimensions de l’image distante lorsque %2$s est activé.Utiliser %1$s pour générer un seul UCSS pour les pages dont le type de page est %2$s tandis que les autres types de page utilisent toujours une URL.Utiliser la fonctionnalité d’API %s.Utiliser le mappage CDNUtiliser le réglage admin du réseauUtiliser les fichiers optimisésUtiliser les fichiers originauxUtiliser les configurations du site principalUtilisez le service de génération de LQIP (Low Quality Image Placeholder) de QUIC.cloud pour une prévisualisation responsive des images pendant le chargement.Utiliser le service en ligne QUIC.cloud pour générer des CSS critiques et charger les CSS restants de manière asynchrone.Utilisez le service en ligne QUIC.cloud pour générer des CSS uniques.Utilisez la bibliothèque Web Font Loader pour charger les polices Google de manière asynchrone tout en laissant les autres CSS intacts.Utilisez un préréglage officiel conçu par LiteSpeed pour configurer votre site en un clic. Essayez les éléments essentiels de la mise en cache sans risque, l’optimisation extrême ou quelque chose entre les deux.Utiliser la fonction de cache d’objet externe.Utilisez des connexions persistantes pour accélérer les opérations de cache.Utiliser le dernier commit GitHub de développementUtiliser le dernier commit GitHub de développement/maîtreUtiliser le dernier commit GitHub maîtreUtiliser la dernière version de WordPressUtiliser des images originales (non optimisées) sur votre siteUtilisez le format %1$s ou %2$s (élément est facultatif).Utilisez cette section pour permuter les versions d’extension. Pour tester la version bêta d'un commit GitHub, saisissez l’URL du commit dans le champ ci-dessous.Utile pour les images au-dessus du pli provoquant CLS (une métrique Core Web Vitals).Nom d’utilisateurUtilisation de la version optimisée du fichier. VPIValeur du filtre appliquéPlage de valeurLes variables %s seront remplacées par la couleur d’arrière-plan configurée.Les variables %s seront remplacées par les propriétés de l’image correspondante.Varier les cookiesVarier le groupeVariable pour le mini-panierVoir les détails de la %1$s version %2$sVoir le .htaccessVoir le site avant le cacheVoir le site avant optimisationImage de vue écranGénération d’images de fenêtre d’affichageImages de vue écranCron d’images de vue écranVisiter le forum de support LSCWPVisitez le site en déconnecté.AttentionAvertissement : Les cookies de connexion du fichier .htaccess et de la base de données ne correspondent pas.En attenteEn attente d’explorationSouhaitez-vous vous connecter avec les autres utilisateurs et utilisatrices de LiteSpeed ?Voir l’état de crawlerNous sommes bons. Aucune table n’utilise le moteur MyISAM.Nous travaillons dur pour améliorer votre expérience de service en ligne. Le service sera indisponible pendant que nous travaillons. Nous nous excusons pour tout inconvénient.Fichier WebP réduit de %1$s (%2$s)WebP économisé %sBienvenue chez LiteSpeedQu’est-ce qu’un groupe ?Qu’est-ce qu’un groupe d’images ?Lorsqu’un visiteur survole un lien de page, précharger cette page. Cela accélérera la visite de ce lien.Lorsque vous désactivez le cache, toutes les entrées mises en cache pour ce site seront purgées.Lorsque activé, le cache sera vidé automatiquement lors d’une mise à jour de tout extension, thème ou du cœur WordPress.Lorsque cette option est définie à %s, elle chargera également les polices Google de manière asynchrone.En utilisant le chargement différé, on retarde le chargement de toutes les images sur une page.Qui devrait utiliser ce préréglage ?Wildcard %1$s pris en charge (correspond à zéro ou plusieurs caractères). Par exemple, pour faire correspondre %2$s et %3$s, utilisez %4$s.Wildcard %s pris en charge.Avec ESI (Edge Side Includes), les pages peuvent être envoyées à partir du cache pour les utilisateurs connectés.Si le CDN QUIC.cloud est activé, vous pouvez toujours voir les en-têtes de cache de votre serveur local.Réglages WooCommerceContrôle de la qualité des images WordPressL’intervalle valide de WordPress est de %s secondes.WpW : cache privé vs. cache publicArchive annuelleVous pouvez saisir juste une partie du domaine.Vous pouvez dresser la liste des cookies tiers ici.Vous pouvez rapidement passer de l’utilisation de fichiers d’images originaux (versions non optimisées) à celle de fichiers d’images optimisés. Cela affectera toutes les images de votre site web, qu’il s’agisse de la version normale ou de la version webp si disponible.Vous pouvez demander un maximum de %s images à la fois.Vous pouvez transformer les codes courts en blocs ESI.Vous pouvez utiliser le code %1$s dans %2$s pour spécifier le chemin du fichier htaccess.Impossible de supprimer cette zone DNS, car elle est toujours utilisée. Mettre à jour les serveurs de noms du domaine, puis essayer à nouveau de supprimer cette zone, sinon le site sera inaccessible.Vous avez trop de demandes d’images, veuillez réessayer dans quelques minutes.Vous avez utilisé tout votre quota restant pour le service en cours ce mois-ci.Vous venez de débloquer une promotion de QUIC.cloud !Vous devez activer QC d’abord.Activer %s et terminer toute la génération de fichiers WebP pour obtenir un résultat.Vous devez activer %s pour obtenir un résultat maximal.Vous ne pourrez pas annuler l’optimisation une fois les sauvegardes supprimées !Votre nom d’hébergeur ou adresse IP de %s.Votre clé/jeton d’API est utilisé pour accéder aux APIS %s.Votre adresse de messagerie sur %s.Votre IPVotre application est en attente d’approbation.Votre domain_key a été temporairement bloqué pour éviter les abus. Vous pouvez contacter le support à QUIC.cloud pour en savoir plus.L’adresse IP de votre serveurZéro, oucatégoriescookiesex. : utiliser %1$s ou %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjuste maintenantpluspixelsfournir plus d'informations ici pour aider l’équipe LiteSpeed dans le débogage.tout de suiteexécutionsecondesétiquettesl’adresse IP détectée automatiquement peut ne pas être exacte si on dispose d’un ensemble d’adresses IP sortantes supplémentaires ou si plusieurs adresses IP sont configurées sur le serveur.inconnueagents utilisateurPKa^�\>�?����%translations/litespeed-cache-en_GB.monu�[�����t e�@`VaViV2�V�V�V	�V
�V
�V�V�VW$W	-W7W	@WJW.]W�W
�W�W�Wh�WN#X=rX"�X7�XYHYXYaYsY�Y�Y'�Y
�Y	�Y�Y�Y%
Z0Z|6ZF�Z
�Z[%[	:["D[g[P�[T�[Z-\>�\4�\-�\/*]LZ]2�]I�]$^3^#?^c^Ou^�^s�^EO_P�_0�_'`?`V`p`�`�`�`	�`	�`�` �`"�`/a*?aja
ra�a�a��a4/bfdb�b
�b�b�b#�bc"cBc
OcZcgctczc�c�c�c	�c�c�c
�cddd0*d*[d�d �d �d(�deee�<e�e�eK�e	5f?fQfjf�f�f�f"�f�f"g1g!Lgng�g&�g"�gG�g!@h,bh$�h+�h�hii'4i(\i
�i�i�i1�i%�i2jKj
Wjbjqj�j�j�j�j&�j.kN/k*~k/�k�k�kl!l<lHl
Zlhl�l�l�l�l�l�l%�lBm
Fm4Qm6�m�m�m	�m�m�mn5nFn an"�n�n�n/�n*o</o7lo�o�o�o�o
�o	�opp"p3pSpgp
np|p	�p�p�p�p�p�p�p!�pq1qKqdquq�q
�q�q�q)�q�q+r}Gr�rD�r8sTs\s;qs�s �sK�s8#t\tdtxt�t�t�t�t�t�tuC$uhuou�u
�u�u<�u�v�vw9w
Twbwuw�w
�w,�wq�w<xDxNdx�x�x��x
Zyeymyy�y�y�y�y�y�y�y�y+�y%+z,Qzs~z�z{2{E{\{m{�{6�{�{�{�{|L+|x|9�|:�|��|W�}�}�}
~"~
3~>~V~q~�~�~�~�~
�~�~
�~# 60W���#��
���)�C�V�p�
|���	����B��
����	��2#�ZV�,��ށ�-��<�i�;~�Y��K�V`�U��L
�BZ�Y��V��`N�J��g��=b�@��=��1�D�`�{�
��<��?�"�7�O�k�?|���Êӊ �&� +�DL���������
ˋ�֋���\�q���
������
��
̍/׍/�7�<L�
������	��ɎՎ��.�K�
P�[�
p�~�����h+�A3��u��	�%�2�'B�
j�x�
��
��"��Ƒϑ$�+�4�#F�j�*������
֒
�$��$�P?�B��>ӓ&�9�I�]�u�%�� ��"֔&��! �B�\�u���$��ѕ�����6� N�o�/��.��ߖ����(�E�Y�m�v���������Ǘԗؗ
����� �/�N�%U�{�$��
��ØȘϘ��@��
8�%F�l�q�x�>����љ ��*� I�2j�����"Ӛ*��"!�"D�g�<w�,��$�
�
�"�2�7�=�
D�.R�?��6��;��14�3f�2��6͝0�5�9�<�?�F�S�i�Q��D؞
�-+�$Y�?~����՟7W���%��	 ̠�����3�L�$\���E��+�*�7�M�Y�b�q�v�
~�
��$��!������-�=�C�`�g�p���R��c�2O�?��
¤Ф�<�5B�Sx�̥��Kp�O��'�4�9�A�P�;b�0��Mϧ�4�p<�/��&ݨ&�)+�8U�7��4Ʃ���
#�1�
E��S�F�(�@�G�T�i�Au�����	̫֫�����
)�	4�>�J�%Y��0��̬Iެ(�$@�De�@��9�1%�W�8d�a������(�H�Y�+a�
��#��=����+�C�L�\�n�������̰۰���:�O�{f�;��7�4M���������Ѳ!�	�!�4�C�R�f�&��B����"�Y=���$��д�I��
A�O�
_�m�:����ٵ�.��d#�����f��$�X>�Q��7�+!�M�gg�ϸ��Q�k�Pw�^ȹ	'�1�9C�v}�}�(r�����>����U�Ng���
üѼ&��#�>�9K�
��V��_�CJ�G��a־88�4q�/��7ֿ6�7E�-}�)��L�*"�)M�-w�(��H�3�K�RR������������2	�<�(Z�5������������e��-U���/��h��]$�=��i��8*�[c�c��C#�jg�z��AM�q��'�q)���W��O�>c�����K���E$�1j�-��Y��)$�9N�&��)��9��$�X8�1��A��^�Ed�U��(�S)�Y}���J��(8�Ia�A��.���Y7�*��F��9�=�]�,x�*��1��;�(>�Jg�4����N�QU�o��X�/p�G��9��1"�JT�^��3��N2���W�����<��1��V��LT�]�������"�$.�S�h�
y��������������/f�(��)����������
	�
�"�@/�p�
t�
�
��������:��>��@:�p{�����0�D�W�rv�5��_�8�����$��.�2I�r|���!����C*�Fn�
���������#�2� L�m�Ku�����+���) ��J� ��
��� �1�JI�j��M��JM�g��R�ZS�����'��#�/�%>��d�/�(L�Eu�F��.�G1�y�����)��Z��@�O�
X�c�k�K������J��	0�:�B�J�O�W�#c�����2������	��
��
���4�J�	S�]�	f�p�.����
������h��NI�=��"��7��1�H5�~���������'��
��	���%0�V�|\�H��
"�-�%<�	b�"l���P��T�ZU�>��4�-$�/R�L��2�I�L�[�#g���O���s�Ew�P��0�'?�g���������	�	�� ��"�/:�*j���
�������4Z�f����
����#�A�M�m�
z�������������	����
!�,�9�H�0U�*���� � �(�9�@�I��g����K	`j|����"�"9\ v��&�"�G!!i,�#�*�'C'[(�
���1�%2?r
~������&.'NV*�/�/!Aco
��������%B*
m4x;���		'Far �"���/	*0	<[	7�	�	�	�	


	(
2
;
N
_

�

�
�
	�
�
�
�
�
�
!#E]w���
���)�)-G}u�D
8I
�
�
;�
�
 �
K8Q������'9CR���
��<�"39H
����
�,�q�jrN�����
��������
!)+0%\,�s�#Ccv���6��&BL\�9�:��*W�0
HS
do������

.<W j0����#�
'B]w��
��	��B�
1<D	HR2WZ�-�)-D�riJ;�Y�KJV�U�LCB�Y�V- `� J� g0!=�"@�"=#U#g#z#�#�#
�#<�#?$X$m$�$�$?�$�$�$	% %&:% a%D�%�%�%�%�%
&�&��&�'�'�'
�'�'�'
�'
(/
(/=(m(<�(
�(�(�(	�(�()*);)/R)�)
�)�)
�)�)�)�)h�)b*Aj*��*F+	R+\+i+'y+
�+�+
�+
�+"�+�+,$,+?,k,#},�,*�,�,�,

-
-$#-H-[-Pv-B�->
.&I.p.�.�.�.%�. �."
/&0/!W/y/�/�/�/$�/00.0E0V0m0 �0�0/�0.�01#161L1_1|1�1�1�1�1�1�1�1�122
"202<2H2W2f2�2%�2�2$�2
�2�2�233)3@.3
o3%}3�3�3�3>�3�34 4>4*U4 �42�4�4�4"
5*-5"X5"{5�5<�5,�5$6
=6
K6Y6i6n6t6
{6.�6?�66�6;/71k73�72�7680;8l8p8s8v8}8�8�8Q�8D9
T9-b9$�9?�9�9�:7�:�:&�:	�:;;-;@;W;k;�;$�;�;E�;+<*D<o<�<�<�<�<�<
�<
�<$�<!�<=&=D=S=e=u={=�=�=�=�=R�=c#>2�>?�>
�>?'?<=?5z?S�?@�$@K�@O�@'DAlAqAyA�A;�A0�AMBUBlBptB/�B&C&<C)cC8�C7�C4�C3DSD
[DiD
}D��DFE`ExEE�E�EA�E�E�E	FFF3F?FPF
aF	lFvF�F%�F�F0�FGIG`G$xGD�G@�G9#H1]H�H8�Ha�H7IGITI`I�I�I+�I
�I#�I=�I2J+OJ{J�J�J�J�J�J�JKK'K<KTKrK�K{�K;LVLoL4�L�L�L�L�L	M!MAMYMlM{M�M�M&�MB�M&N=N[NYvN�N$�N	OOI0O
zO�O
�O�O:�O�OPP.'PVPd\P�P�Pf�P$RQXwQQ�Q7"R+ZR�Rg�RSS9SQRS�SP�S^T	`TjT9|Tv�T}-U(�U�U�U>�U6VUJVN�V�V
�V
W&'WNW#SWwW;�W
�WV�W_%XC�XG�XaY8sY4�Y/�Y7Z6IZ7�Z-�Z)�ZL[*][)�[.�[(�[H
\3S\�\R�\�\�\]]']@]2E]x](�]5�]�]
^^!^'^e+^-�^�^/�^h�^]`_=�_i�_8f`[�`c�`C_aj�azbA�bq�b'=cqec�cW�cOOd>�d�d�dKe[eE`f1�f-�fYg)`g9�g&�g)�g9h$OhXth1�hA�h^AiE�iU�i(<jSejY�jkJ)k(tkI�kA�k.)lXlYsl*�lF�l9?myo�o,�o*�o1p;>p(zpJ�p4�p#qNBqQ�qo�qXSr/�rG�r9$s1^sJ�s^�s3:tNnt�tW�t�3u<�u1vV9vL�v]�v;w@wHwNw^w$jw�w�w�w�w�w�w�w�w��w0�x)�x*�x&y�;y��y
Fz
Tz_z@lz�z
�z
�z
�z�z�z�z:�z>8{@w{p�{)|C|S|m|�|�|r�|5&}_\}8�}�}~$2~.W~2�~r�~,!5W[DgF�
���,�C�a�p� ����K�����+�I�)^���� �
;�I�^�o�J��j҂M=�J��gփR>�Z����'!�#I�m�%|����/Z�(��F��F��.A�Gp���؇�)��Z$����
������KȈ��J$�	o�y�����������T�"��9Q���w^���	���_UBs�	
�k���h`����o7����+�M!�c��zapq�Y��/�6v^I���o����~�5A!O�*>�K�nM�����HGlT3&��L����r����K��V~j��U���/����W�o���Z�R�k�@��d?�5�?�{-#t�����k���1�H���F�����YN�sp$��y%��Rg�".����o������|��D�=6}���/iQ��A��������{�8-[R&zy�����t�':����m�K�3B�\��x�,��P����s���c%���NNC�2�uT@E�c���&S]_e]�,-�|������� ���������*��J��X�p�.�F��4��X�EO0�?��%K#���b����6q��~�O�+� ��9~7�<���}�*��H5mD������
=%f���zj�����Z�d{X�,�
i\�ML�!R��.����f�n����d}����@W�w^��k,8h��Ab�7�U$���y�
��I�J<S��G
�jW;��h�Eg�D
((S��`���e=�����s��#b��xy4�+������q�ax<�C�����T�
�=���0;��`�|H?�/���02���A��:�fdJ_�ua	���v��&���"��S��rw��E�.>�����J(��;Lv(ai�	�]b����2�����c-t����)���'ml9���Z�[�4'�V�����X��x����I�)}�G���C�u��>�4r�W��w�]�G8�_�7
�1;�gO��D��F	g���:\�<j���nY�n�N>q`����1�1���6{�� �f�����V^Bp�$����� l����'u��M|Q�����
�)����*�@\Q����3��ize9�2L�5B�t������������[��Y����3+�"��hUe�[��lvr�����0I!���C��#�:��8�V�P��P�Z�P������)mF�$�� %s ago%1$s %2$s files left in queue%1$s plugin version %2$s required for this action.%d hour%d hours%d minute%d minutes%d seconds%s Extension%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$sA Purge All will be executed when WordPress runs these hooks.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimized.APIAccelerates the speed by caching Gravatar (Globally Recognized Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.After verifying that the cache works in general, please test the cart.AggressiveAll TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Always purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Are you sure to delete all existing blocklist items?Are you sure to destroy all optimized images?Are you sure you want to clear all cloud nodes?Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Author archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAutomatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimized images.Automatically request optimization via cron job.Avatar list in queue waiting for updateBackend .htaccess PathBackend Heartbeat ControlBackend Heartbeat TTLBasicBasic Image PlaceholderBeforeBeta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a gray image placeholder %s will be used.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CDNCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache requests made by WordPress REST API calls.Cache the built-in Comment Form ESI block.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryChanged setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.Check StatusCheck my public IP fromCheck this option to use the primary site's configuration for all subsites.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all trashed commentsClean all trashed posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean trashed comments successfully.Clean trashed posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all localized resource entries.Cleaned up unfinished data successfully.Clear LogsCleared %1$s invalid images.Click here to set.Click to clear all nodes for further redetection.Click to switch to optimized version.Click to switch to original (unoptimized) version.Cloud ErrorCloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimizedCongratulations, all gathered!Connection TestConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled by the server admin.Crawler disabled list is cleared! All crawlers are set to active! Crawler(s)Create a post, make sure the front page is accurate.Credits are not enough to proceed the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent crawler started atCurrent limit isCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently using optimized version of WebP file.Currently using optimized version of file.Currently using original (unoptimized) version of WebP file.Currently using original (unoptimized) version of file.Custom SitemapDB Optimization SettingsDNS PrefetchDNS Prefetch ControlDaily archiveDashboardDatabaseDatabase OptimizerDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)Debug HelpersDebug LevelDebug LogDebug SettingsDebug URI ExcludesDebug URI IncludesDefaultDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default port for %1$s is %2$s.Default valueDeferredDelayedDelete all backups of the original imagesDestroy All Optimization DataDestroy all optimization data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable WordPress interval heartbeat to reduce server load.DisabledDisabled WebP file successfully.Disabling this may cause WordPress tasks triggered by AJAX to stop working.Disabling this option may negatively affect performance.DismissDismiss this noticeDo Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.DomainDrop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in html code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable CacheEnable ESIEnable Viewport Images auto generation cron.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.EssentialsExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to get %s file contents.Failed to request via WordPressFailed to upgrade.Failed to write to %s.Fast Queue UsageFile %s is not writable.FilesFilter %s available for UCSS per page type generation.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimizationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFront pageFrontend .htaccess PathFrontend Heartbeat ControlFrontend Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerated at %sGlobal GroupsGo to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode failed to test.Guest Mode passed testing.Guest Mode testing resultGuest OptimizationHTML Attribute To ReplaceHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimization from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimization.However, there is no way of knowing all the possible customizations that were implemented.Htaccess did not match configuration option.Htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If every web application uses the same cookie, the server may confuse whether a user is logged in or not.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimizationImage Optimization SettingsImage Optimization SummaryImage Thumbnail Group SizesImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimized and pulledImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byInclude CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS ExcludesJS MinifyJS SettingsJoin LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain color placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast RequestLast calculatedLast complete run time for all crawlersLast exportedLast generatedLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLearn MoreLearn moreLearn more about when this is neededLink to QUIC.cloudList of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be optimized by %s.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimizationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimizationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache Page OptimizationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache plugin is installed!LiteSpeed Crawler CronLiteSpeed LogsLiteSpeed OptimizationLiteSpeed ReportLiteSpeed TechnologiesLoad CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalizationLocalization FilesLocalization SettingsLocalize ResourcesLocalize external resources.Localized ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum valueMaybe LaterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuNOTENOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New Version Available!New developer version %s is available now.New release %s is available now.No available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimized WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo optimizationNo valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Non cacheableNot AvailableNot blocklistedNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONORObjectObject CacheObject Cache SettingsObject cache is not enabled.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed users please check thisOperationOptimization StatusOptimization SummaryOptimization ToolsOptimize CSS delivery.Optimize LosslesslyOptimize Original ImagesOptimize TablesOptimize all tables in your databaseOptimize for Guests OnlyOptimize images and save backups of the originals in the same folder.Optimize images using lossless compression.Optimize images with our QUIC.cloud serverOptimized all tables.Option NameOptionalOptions saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Other checkboxes will be ignored.PAYG BalancePHP Constant %s is supported.Page Load TimePage OptimizationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please see %s for more details.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.PortPost IDPost RevisionsPost type archivePredefined list will also be combined w/ the above settingsPrefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimization of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Product Update IntervalPublicPublic CachePull Cron is runningPull ImagesPulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge url %sPurged All!Purged all caches successfully.Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud Service Usage StatisticsQuery strings containing these parameters will not be cached.Read LiteSpeed DocumentationRecommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRefresh Crawler MapRefresh Gravatar cache by cron.Refresh page load timeRefresh page scoreRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove Query StringsRemove WordPress EmojiRemove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.Remove all previous unfinished image optimization requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed backups successfully.Replace %1$s with %2$s.ReportRequests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset All SettingsReset SettingsReset positionReset successfully.Reset the entire opcode cacheReset the optimized data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColorResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore from backupRestored original file successfully.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSave ChangesSave transients in database when %1$s is %2$s.SavedScan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.Scheduled Purge TimeScheduled Purge URLsSelect "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimizations.Selected roles will be excluded from cache.Send Optimization RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Server IPServer Load LimitServer variable(s) %s available to override this setting.Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimized %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Sitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSome optimized image file(s) has expired and was cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an HTTP status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG color.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Static file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimizationStore Gravatar locally.Store TransientsSummarySure I'd love to review!SwapSwitch back to using optimized images on your siteSwitched images successfully.Switched to optimized file successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank You for Using the LiteSpeed Cache Plugin!The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe server will determine if the user is logged in based on the existence of this cookie.The site is not registered on QUIC.cloud.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This option enables maximum optimization for Guest Mode visitors.This option will remove all %s tags from HTML.This process is automatic.This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This will Purge Front Page onlyThis will Purge Pages onlyThis will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all localized resourcesThis will disable LSCache and all optimization features for debug purpose.This will disable the settings page on all subsites.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimized files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomize CDN hostname, define multiple hostnames for the same resources.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimized in this monthTrackbacks/PingbacksTrashed CommentsTrashed PostsTry GitHub VersionTuningTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in backend editor.Turn ON to control heartbeat on backend.Turn ON to control heartbeat on frontend.Turn On Auto UpgradeTurn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Tweet previewTweet thisURI ExcludesURI Paths containing these strings will NOT be cached as public.URLUnique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimized FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimized) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.UsernameUsing optimized version of file. VPIValue rangeVariables %s will be replaced with the configured background color.Variables %s will be replaced with the corresponding image properties.Vary GroupView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimizationViewport ImageVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWelcome to LiteSpeedWhat is a group?What is an image group?When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou can just type part of the domain.You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the htaccess file path.You have too many requested images, please try again in a few minutes.You just unlocked a promotion from QUIC.cloud!You will be unable to Revert Optimization once the backups are deleted!Your %s Hostname or IP address.Your Email address on %s.Your IPYour application is waiting for approval.Your domain has been forbidden from using our services due to a previous policy violation.Your server IPZero, orcategoriescookieshttps://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowpixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsunknownuser agentsPO-Revision-Date: 2023-06-04 17:52:23+0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=n != 1;
X-Generator: GlotPress/4.0.3
Language: en_GB
Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)
 %s ago%1$s %2$s files left in queue%1$s plugin version %2$s required for this action.%d hour%d hours%d minute%d minutes%d seconds%s Extension%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$sA Purge All will be executed when WordPress runs these hooks.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimised.APIAccelerates the speed by caching Gravatar (Globally Recognised Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimisation server finishes optimisation, it will notify your site to pull the optimised images.After verifying that the cache works in general, please test the basket.AggressiveAll TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Always purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Are you sure to delete all existing blocklist items?Are you sure to destroy all optimised images?Are you sure you want to clear all cloud nodes?Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Author archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAutomatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimised images.Automatically request optimisation via cron job.Avatar list in queue waiting for updateBack end .htaccess PathBack end Heartbeat ControlBack end Heartbeat TTLBasicBasic Image PlaceholderBeforeBeta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a grey image placeholder %s will be used.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CDNCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache requests made by WordPress REST API calls.Cache the built-in Comment Form ESI block.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryChanged setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the Admin Bar menu.Check StatusCheck my public IP fromCheck this option to use the primary site's configuration for all subsites.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all binned commentsClean all binned posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean binned comments successfully.Clean binned posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all localised resource entries.Cleaned up unfinished data successfully.Clear LogsCleared %1$s invalid images.Click here to set.Click to clear all nodes for further redetection.Click to switch to optimised version.Click to switch to original (unoptimised) version.Cloud ErrorCloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimisedCongratulations, all gathered!Connection TestConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled by the server admin.Crawler disabled list is cleared! All crawlers are set to active! Crawler(s)Create a post, make sure the front page is accurate.Credits are not enough to proceed with the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent crawler started atCurrent limit isCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently using optimised version of WebP file.Currently using optimised version of file.Currently using original (unoptimised) version of WebP file.Currently using original (unoptimised) version of file.Custom SitemapDB Optimisation SettingsDNS PrefetchDNS Prefetch ControlDaily archiveDashboardDatabaseDatabase OptimiserDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)Debug HelpersDebug LevelDebug LogDebug SettingsDebug URI ExcludesDebug URI IncludesDefaultDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default port for %1$s is %2$s.Default valueDeferredDelayedDelete all backups of the original imagesDestroy All Optimisation DataDestroyed all optimisation data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable WordPress interval heartbeat to reduce server load.DisabledDisabled WebP file successfully.Disabling this may cause WordPress tasks triggered by Ajax to stop working.Disabling this option may negatively affect performance.DismissDismiss this noticeDo Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.DomainDrop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in HTML code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable CacheEnable ESIEnable Viewport Images auto generation cron.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services to directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.EssentialsExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to get %s file contents.Failed to request via WordPressFailed to upgrade.Failed to write to %s.Fast Queue UsageFile %s is not writable.FilesFilter %s available for UCSS per page type generation.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimisationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFront pageFront end .htaccess PathFront end Heartbeat ControlFront end Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerated at %sGlobal GroupsGo to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode failed to test.Guest Mode passed testing.Guest Mode testing resultGuest OptimisationHTML Attribute To ReplaceHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimisation from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimisation.However, there is no way of knowing all the possible customisations that were implemented..htaccess did not match configuration option..htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If every web application uses the same cookie, the server may confuse whether a user is logged in or not.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localised, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimisationImage Optimisation SettingsImage Optimisation SummaryImage Thumbnail Group SizesImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimised and pulledImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byInclude CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimise potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimise potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS ExcludesJS MinifyJS SettingsJoin LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain colour placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast RequestLast calculatedLast complete run time for all crawlersLast exportedLast generatedLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLearn MoreLearn moreLearn more about when this is neededLink to QUIC.cloudList of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be optimised by %s.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimisationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimisationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache Page OptimisationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache plugin is installed!LiteSpeed Crawler CronLiteSpeed LogsLiteSpeed OptimisationLiteSpeed ReportLiteSpeed TechnologiesLoad CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalisationLocalisation FilesLocalisation SettingsLocalise ResourcesLocalise external resources.Localised ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum valueMaybe laterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuNOTENOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New version available!New developer version %s is available now.New release %s is available now.No available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimised WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo optimisationNo valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Non cacheableNot AvailableNot blacklistedNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONORObjectObject CacheObject Cache SettingsObject cache is not enabled.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimise pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed users, please check thisOperationOptimisation StatusOptimisation SummaryOptimisation ToolsOptimise CSS delivery.Optimise LosslesslyOptimise Original ImagesOptimise TablesOptimise all tables in your databaseOptimise for Guests OnlyOptimise images and save backups of the originals in the same folder.Optimise images using lossless compression.Optimise images with our QUIC.cloud serverOptimised all tables.Option NameOptionalOptions saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Other checkboxes will be ignored.PAYG BalancePHP Constant %s is supported.Page Load TimePage OptimisationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please see %s for more details.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.PortPost IDPost RevisionsPost type archivePredefined list will also be combined w/ the above settingsPrefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimising.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimisation of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Product Update IntervalPublicPublic CachePull Cron is runningPull ImagesPulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge URL %sPurged All!Purged all caches successfully.Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud Service Usage StatisticsQuery strings containing these parameters will not be cached.Read LiteSpeed DocumentationRecommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRefresh Crawler MapRefresh Gravatar cache by cron.Refresh page load timeRefresh page scoreRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove Query StringsRemove WordPress EmojiRemove all previous image optimisation requests/results, revert completed optimisations, and delete all optimisation files.Remove all previous unfinished image optimisation requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed backups successfully.Replace %1$s with %2$s.ReportRequests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset All SettingsReset SettingsReset positionReset successfully.Reset the entire opcode cacheReset the optimised data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColourResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore from backupRestored original file successfully.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSave ChangesSave transients in database when %1$s is %2$s.SavedScan for any new unoptimised image thumbnail sizes and resend necessary image optimisation requests.Scheduled Purge TimeScheduled Purge URLsSelect "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimisations.Selected roles will be excluded from cache.Send Optimisation RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Server IPServer Load LimitServer variable(s) %s available to override this setting.Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimised %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Sitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSome optimised image file(s) have expired and were cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an http status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG colour.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Static file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimisationStore Gravatar locally.Store TransientsSummarySure I'd love to review!SwapSwitch back to using optimised images on your siteSwitched images successfully.Switched to optimised file successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank you for using the LiteSpeed Cache plugin!The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe server will determine if the user is logged in based on the existence of this cookie.The site is not registered on QUIC.cloud.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This option enables maximum optimisation for Guest Mode visitors.This option will remove all %s tags from HTML.This process is automatic.This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilises caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This will Purge Front Page onlyThis will Purge Pages onlyThis will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all localised resourcesThis will disable LSCache and all optimisation features for debug purpose.This will disable the settings page on all subsites.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimised files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomise CDN hostname, define multiple hostnames for the same resources.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimised in this monthTrackbacks/PingbacksBinned commentsBinned PostsTry GitHub VersionTuningTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in back end editor.Turn ON to control heartbeat on back end.Turn ON to control heartbeat on front end.Turn on auto upgradeTurn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Tweet previewTweet thisURI ExcludesURI Paths containing these strings will NOT be cached as public.URLUnique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimised FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimised) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.UsernameUsing optimised version of file. VPIValue rangeVariables %s will be replaced with the configured background colour.Variables %s will be replaced with the corresponding image properties.Vary GroupView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimisationViewport ImageVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologise for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWelcome to LiteSpeedWhat is a group?What is an image group?When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou can just type part of the domain.You can quickly switch between using original (unoptimised versions) and optimised image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the .htaccess file path.You have too many requested images, please try again in a few minutes.You just unlocked a promotion from QUIC.cloud!You will be unable to Revert Optimisation once the backups are deleted!Your %s Hostname or IP address.Your Email address on %s.Your IPYour application is waiting for approval.Your domain has been forbidden from using our services due to a previous policy violation.Your server IPZero, orcategoriescookieshttps://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowpixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsunknownuser agentsPKb^�\(translations/.ls_translation_check_pl_PLnu�[���PKb^�\&translations/.ls_translation_check_arynu�[���PKb^�\]��^G^G+translations/litespeed-cache-en_GB.l10n.phpnu�[���<?php
return ['x-generator'=>'GlotPress/4.0.3','translation-revision-date'=>'2023-06-04 17:52:23+0000','plural-forms'=>'nplurals=2; plural=n != 1;','project-id-version'=>'Plugins - LiteSpeed Cache - Stable (latest release)','language'=>'en_GB','messages'=>['Redetect'=>'Redetect','History'=>'History','unknown'=>'unknown','Extreme'=>'Extreme','Aggressive'=>'Aggressive','Higher TTL'=>'Higher TTL','Essentials'=>'Essentials','Presets'=>'Presets','Partner Benefits Provided by'=>'Partner Benefits Provided by','LiteSpeed Logs'=>'LiteSpeed Logs','Crawler Log'=>'Crawler Log','Purge Log'=>'Purge Log','Prevent writing log entries that include listed strings.'=>'Prevent writing log entries that include listed strings.','View Site Before Cache'=>'View Site Before Cache','View Site Before Optimization'=>'View Site Before Optimisation','Debug Helpers'=>'Debug Helpers','Enable Viewport Images auto generation cron.'=>'Enable Viewport Images auto generation cron.','This enables the page\'s initial screenful of imagery to be fully displayed without delay.'=>'This enables the page\'s initial screenful of imagery to be fully displayed without delay.','The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.'=>'The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.','When you use Lazy Load, it will delay the loading of all images on a page.'=>'When you use Lazy Load, it will delay the loading of all images on a page.','Use %1$s to bypass remote image dimension check when %2$s is ON.'=>'Use %1$s to bypass remote image dimension check when %2$s is ON.','VPI'=>'VPI','%s must be turned ON for this setting to work.'=>'%s must be turned ON for this setting to work.','Viewport Image'=>'Viewport Image','Mobile'=>'Mobile','Please thoroughly test each JS file you add to ensure it functions as expected.'=>'Please thoroughly test each JS file you add to ensure it functions as expected.','Please thoroughly test all items in %s to ensure they function as expected.'=>'Please thoroughly test all items in %s to ensure they function as expected.','Use %1$s to bypass UCSS for the pages which page type is %2$s.'=>'Use %1$s to bypass UCSS for the pages which page type is %2$s.','Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.'=>'Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.','Filter %s available for UCSS per page type generation.'=>'Filter %s available for UCSS per page type generation.','Guest Mode failed to test.'=>'Guest Mode failed to test.','Guest Mode passed testing.'=>'Guest Mode passed testing.','Testing'=>'Testing','Guest Mode testing result'=>'Guest Mode testing result','Not blocklisted'=>'Not blacklisted','Learn more about when this is needed'=>'Learn more about when this is needed','Cleaned all localized resource entries.'=>'Cleaned all localised resource entries.','View .htaccess'=>'View .htaccess','You can use this code %1$s in %2$s to specify the htaccess file path.'=>'You can use this code %1$s in %2$s to specify the .htaccess file path.','PHP Constant %s is supported.'=>'PHP Constant %s is supported.','.htaccess Path'=>'.htaccess Path','Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.'=>'Only optimise pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.','Listed JS files or inline JS code will not be optimized by %s.'=>'Listed JS files or inline JS code will not be optimised by %s.','Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).'=>'Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).','Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.'=>'Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the Admin Bar menu.','Delayed'=>'Delayed','Automatic generation of unique CSS is in the background via a cron-based queue.'=>'Automatic generation of unique CSS is in the background via a cron-based queue.','HTML Settings'=>'HTML Settings','This option enables maximum optimization for Guest Mode visitors.'=>'This option enables maximum optimisation for Guest Mode visitors.','More'=>'More','Add Missing Sizes'=>'Add Missing Sizes','Optimize for Guests Only'=>'Optimise for Guests Only','Guest Optimization'=>'Guest Optimisation','Guest Mode'=>'Guest Mode','The current server is under heavy load.'=>'The current server is under heavy load.','Please see %s for more details.'=>'Please see %s for more details.','This setting will regenerate crawler list and clear the disabled list!'=>'This setting will regenerate crawler list and clear the disabled list!','%1$s %2$s files left in queue'=>'%1$s %2$s files left in queue','Crawler disabled list is cleared! All crawlers are set to active! '=>'Crawler disabled list is cleared! All crawlers are set to active! ','Redetected node'=>'Redetected node','No available Cloud Node after checked server load.'=>'No available Cloud Node after checked server load.','Localization Files'=>'Localisation Files','Purged!'=>'Purged!','Resources listed here will be copied and replaced with local URLs.'=>'Resources listed here will be copied and replaced with local URLs.','Use latest GitHub Master commit'=>'Use latest GitHub Master commit','Use latest GitHub Dev commit'=>'Use latest GitHub Dev commit','No valid sitemap parsed for crawler.'=>'No valid sitemap parsed for crawler.','CSS Combine External and Inline'=>'CSS Combine External and Inline','Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.'=>'Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimise potential errors caused by CSS Combine.','Minify CSS files and inline CSS code.'=>'Minify CSS files and inline CSS code.','Predefined list will also be combined w/ the above settings'=>'Predefined list will also be combined w/ the above settings','Localization'=>'Localisation','Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.'=>'Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimise potential errors caused by JS Combine.','Combine all local JS files into a single file.'=>'Combine all local JS files into a single file.','Listed JS files or inline JS code will not be deferred or delayed.'=>'Listed JS files or inline JS code will not be deferred or delayed.','JS Combine External and Inline'=>'JS Combine External and Inline','Dismiss'=>'Dismiss','The latest data file is'=>'The latest data file is','The list will be merged with the predefined nonces in your local data file.'=>'The list will be merged with the predefined nonces in your local data file.','Combine CSS files and inline CSS code.'=>'Combine CSS files and inline CSS code.','Minify JS files and inline JS codes.'=>'Minify JS files and inline JS codes.','LQIP Excludes'=>'LQIP Excludes','These images will not generate LQIP.'=>'These images will not generate LQIP.','Are you sure you want to reset all settings back to the default settings?'=>'Are you sure you want to reset all settings back to the default settings?','This option will remove all %s tags from HTML.'=>'This option will remove all %s tags from HTML.','Are you sure you want to clear all cloud nodes?'=>'Are you sure you want to clear all cloud nodes?','Remove Noscript Tags'=>'Remove Noscript Tags','The site is not registered on QUIC.cloud.'=>'The site is not registered on QUIC.cloud.','Click here to set.'=>'Click here to set.','Localize Resources'=>'Localise Resources','Setting Up Custom Headers'=>'Setting Up Custom Headers','This will delete all localized resources'=>'This will delete all localised resources','Localized Resources'=>'Localised Resources','Comments are supported. Start a line with a %s to turn it into a comment line.'=>'Comments are supported. Start a line with a %s to turn it into a comment line.','HTTPS sources only.'=>'HTTPS sources only.','Localize external resources.'=>'Localise external resources.','Localization Settings'=>'Localisation Settings','Use QUIC.cloud online service to generate unique CSS.'=>'Use QUIC.cloud online service to generate unique CSS.','Generate UCSS'=>'Generate UCSS','Unique CSS'=>'Unique CSS','Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches'=>'Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches','LiteSpeed Report'=>'LiteSpeed Report','Image Thumbnail Group Sizes'=>'Image Thumbnail Group Sizes','Ignore certain query strings when caching. (LSWS %s required)'=>'Ignore certain query strings when caching. (LSWS %s required)','For URLs with wildcards, there may be a delay in initiating scheduled purge.'=>'For URLs with wildcards, there may be a delay in initiating scheduled purge.','By design, this option may serve stale content. Do not enable this option, if that is not OK with you.'=>'By design, this option may serve stale content. Do not enable this option, if that is not OK with you.','Serve Stale'=>'Serve Stale','One or more pulled images does not match with the notified image md5'=>'One or more pulled images does not match with the notified image md5','Some optimized image file(s) has expired and was cleared.'=>'Some optimised image file(s) have expired and were cleared.','You have too many requested images, please try again in a few minutes.'=>'You have too many requested images, please try again in a few minutes.','Pulled WebP image md5 does not match the notified WebP image md5.'=>'Pulled WebP image md5 does not match the notified WebP image md5.','Read LiteSpeed Documentation'=>'Read LiteSpeed Documentation','There is proceeding queue not pulled yet. Queue info: %s.'=>'There is proceeding queue not pulled yet. Queue info: %s.','Specify how long, in seconds, Gravatar files are cached.'=>'Specify how long, in seconds, Gravatar files are cached.','Cleared %1$s invalid images.'=>'Cleared %1$s invalid images.','LiteSpeed Cache General Settings'=>'LiteSpeed Cache General Settings','This will delete all cached Gravatar files'=>'This will delete all cached Gravatar files','Prevent any debug log of listed pages.'=>'Prevent any debug log of listed pages.','Only log listed pages.'=>'Only log listed pages.','Specify the maximum size of the log file.'=>'Specify the maximum size of the log file.','To prevent filling up the disk, this setting should be OFF when everything is working.'=>'To prevent filling up the disk, this setting should be OFF when everything is working.','Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.'=>'Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.','Use latest WordPress release version'=>'Use latest WordPress release version','OR'=>'OR','Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.'=>'Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.','Reset Settings'=>'Reset Settings','LiteSpeed Cache Toolbox'=>'LiteSpeed Cache Toolbox','Beta Test'=>'Beta Test','Log View'=>'Log View','Debug Settings'=>'Debug Settings','Turn ON to control heartbeat in backend editor.'=>'Turn ON to control heartbeat in back end editor.','Turn ON to control heartbeat on backend.'=>'Turn ON to control heartbeat on back end.','Set to %1$s to forbid heartbeat on %2$s.'=>'Set to %1$s to forbid heartbeat on %2$s.','WordPress valid interval is %s seconds.'=>'WordPress valid interval is %s seconds.','Specify the %s heartbeat interval in seconds.'=>'Specify the %s heartbeat interval in seconds.','Turn ON to control heartbeat on frontend.'=>'Turn ON to control heartbeat on front end.','Disable WordPress interval heartbeat to reduce server load.'=>'Disable WordPress interval heartbeat to reduce server load.','Heartbeat Control'=>'Heartbeat Control','provide more information here to assist the LiteSpeed team with debugging.'=>'provide more information here to assist the LiteSpeed team with debugging.','Optional'=>'Optional','Generate Link for Current User'=>'Generate Link for Current User','Passwordless Link'=>'Passwordless Link','System Information'=>'System Information','Go to plugins list'=>'Go to plugins list','Install DoLogin Security'=>'Install DoLogin Security','Check my public IP from'=>'Check my public IP from','Your server IP'=>'Your server IP','Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.'=>'Enter this site\'s IP address to allow cloud services to directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.','This will enable crawler cron.'=>'This will enable crawler cron.','Crawler General Settings'=>'Crawler General Settings','Remove from Blocklist'=>'Remove from Blocklist','Empty blocklist'=>'Empty blocklist','Are you sure to delete all existing blocklist items?'=>'Are you sure to delete all existing blocklist items?','Blocklisted due to not cacheable'=>'Blocklisted due to not cacheable','Add to Blocklist'=>'Add to Blocklist','Operation'=>'Operation','Sitemap Total'=>'Sitemap Total','Sitemap List'=>'Sitemap List','Refresh Crawler Map'=>'Refresh Crawler Map','Clean Crawler Map'=>'Clean Crawler Map','Blocklist'=>'Blocklist','Map'=>'Map','Summary'=>'Summary','Cache Miss'=>'Cache Miss','Cache Hit'=>'Cache Hit','Waiting to be Crawled'=>'Waiting to be Crawled','Blocklisted'=>'Blocklisted','Miss'=>'Miss','Hit'=>'Hit','Waiting'=>'Waiting','Running'=>'Running','Use %1$s in %2$s to indicate this cookie has not been set.'=>'Use %1$s in %2$s to indicate this cookie has not been set.','Add new cookie to simulate'=>'Add new cookie to simulate','Remove cookie simulation'=>'Remove cookie simulation','Htaccess rule is: %s'=>'.htaccess rule is: %s','More settings available under %s menu'=>'More settings available under %s menu','The amount of time, in seconds, that files will be stored in browser cache before expiring.'=>'The amount of time, in seconds, that files will be stored in browser cache before expiring.','OpenLiteSpeed users please check this'=>'OpenLiteSpeed users, please check this','Browser Cache Settings'=>'Browser Cache Settings','Paths containing these strings will be forced to public cached regardless of no-cacheable settings.'=>'Paths containing these strings will be forced to public cached regardless of no-cacheable settings.','With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.'=>'With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.','An optional second parameter may be used to specify cache control. Use a space to separate'=>'An optional second parameter may be used to specify cache control. Use a space to separate','The above nonces will be converted to ESI automatically.'=>'The above nonces will be converted to ESI automatically.','Browser'=>'Browser','Object'=>'Object','Default port for %1$s is %2$s.'=>'Default port for %1$s is %2$s.','Object Cache Settings'=>'Object Cache Settings','Specify an HTTP status code and the number of seconds to cache that page, separated by a space.'=>'Specify an http status code and the number of seconds to cache that page, separated by a space.','Specify how long, in seconds, the front page is cached.'=>'Specify how long, in seconds, the front page is cached.','TTL'=>'TTL','If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.'=>'If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.','Swap'=>'Swap','Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.'=>'Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.','Avatar list in queue waiting for update'=>'Avatar list in queue waiting for update','Refresh Gravatar cache by cron.'=>'Refresh Gravatar cache by cron.','Accelerates the speed by caching Gravatar (Globally Recognized Avatars).'=>'Accelerates the speed by caching Gravatar (Globally Recognised Avatars).','Store Gravatar locally.'=>'Store Gravatar locally.','Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.'=>'Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.','LQIP requests will not be sent for images where both width and height are smaller than these dimensions.'=>'LQIP requests will not be sent for images where both width and height are smaller than these dimensions.','pixels'=>'pixels','Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.'=>'Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.','Specify the quality when generating LQIP.'=>'Specify the quality when generating LQIP.','Keep this off to use plain color placeholders.'=>'Keep this off to use plain colour placeholders.','Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.'=>'Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.','Specify the responsive placeholder SVG color.'=>'Specify the responsive placeholder SVG colour.','Variables %s will be replaced with the configured background color.'=>'Variables %s will be replaced with the configured background colour.','Variables %s will be replaced with the corresponding image properties.'=>'Variables %s will be replaced with the corresponding image properties.','It will be converted to a base64 SVG placeholder on-the-fly.'=>'It will be converted to a base64 SVG placeholder on-the-fly.','Specify an SVG to be used as a placeholder when generating locally.'=>'Specify an SVG to be used as a placeholder when generating locally.','Prevent any lazy load of listed pages.'=>'Prevent any lazy load of listed pages.','Iframes having these parent class names will not be lazy loaded.'=>'Iframes having these parent class names will not be lazy loaded.','Iframes containing these class names will not be lazy loaded.'=>'Iframes containing these class names will not be lazy loaded.','Images having these parent class names will not be lazy loaded.'=>'Images having these parent class names will not be lazy loaded.','LiteSpeed Cache Page Optimization'=>'LiteSpeed Cache Page Optimisation','Media Excludes'=>'Media Excludes','CSS Settings'=>'CSS Settings','%s is recommended.'=>'%s is recommended.','Deferred'=>'Deferred','Default'=>'Default','This can improve the page loading speed.'=>'This can improve the page loading speed.','Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.'=>'Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.','New developer version %s is available now.'=>'New developer version %s is available now.','New Developer Version Available!'=>'New Developer Version Available!','Dismiss this notice'=>'Dismiss this notice','Tweet this'=>'Tweet this','Tweet preview'=>'Tweet preview','Learn more'=>'Learn more','You just unlocked a promotion from QUIC.cloud!'=>'You just unlocked a promotion from QUIC.cloud!','The image compression quality setting of WordPress out of 100.'=>'The image compression quality setting of WordPress out of 100.','Image Optimization Settings'=>'Image Optimisation Settings','Are you sure to destroy all optimized images?'=>'Are you sure to destroy all optimised images?','Use Optimized Files'=>'Use Optimised Files','Switch back to using optimized images on your site'=>'Switch back to using optimised images on your site','Use Original Files'=>'Use Original Files','Use original images (unoptimized) on your site'=>'Use original images (unoptimised) on your site','You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.'=>'You can quickly switch between using original (unoptimised versions) and optimised image files. It will affect all images on your website, both regular and webp versions if available.','Optimization Tools'=>'Optimisation Tools','Rescan New Thumbnails'=>'Rescan New Thumbnails','Congratulations, all gathered!'=>'Congratulations, all gathered!','What is an image group?'=>'What is an image group?','Delete all backups of the original images'=>'Delete all backups of the original images','Calculate Backups Disk Space'=>'Calculate Backups Disk Space','Optimization Status'=>'Optimisation Status','Current limit is'=>'Current limit is','You can request a maximum of %s images at once.'=>'You can request a maximum of %s images at once.','Optimize images with our QUIC.cloud server'=>'Optimise images with our QUIC.cloud server','Revisions newer than this many days will be kept when cleaning revisions.'=>'Revisions newer than this many days will be kept when cleaning revisions.','Day(s)'=>'Day(s)','Specify the number of most recent revisions to keep when cleaning revisions.'=>'Specify the number of most recent revisions to keep when cleaning revisions.','LiteSpeed Cache Database Optimization'=>'LiteSpeed Cache Database Optimisation','DB Optimization Settings'=>'DB Optimisation Settings','Option Name'=>'Option Name','Database Summary'=>'Database Summary','We are good. No table uses MyISAM engine.'=>'We are good. No table uses MyISAM engine.','Convert to InnoDB'=>'Convert to InnoDB','Tool'=>'Tool','Engine'=>'Engine','Table'=>'Table','Database Table Engine Converter'=>'Database Table Engine Converter','Clean revisions older than %1$s day(s), excluding %2$s latest revisions'=>'Clean revisions older than %1$s day(s), excluding %2$s latest revisions','Currently active crawler'=>'Currently active crawler','Crawler(s)'=>'Crawler(s)','Crawler Status'=>'Crawler Status','Force cron'=>'Force cron','Requests in queue'=>'Requests in queue','Private Cache'=>'Private Cache','Public Cache'=>'Public Cache','Cache Status'=>'Cache Status','Last Pull'=>'Last Pull','Image Optimization Summary'=>'Image Optimisation Summary','Refresh page score'=>'Refresh page score','Are you sure you want to redetect the closest cloud server for this service?'=>'Are you sure you want to redetect the closest cloud server for this service?','Refresh page load time'=>'Refresh page load time','Go to QUIC.cloud dashboard'=>'Go to QUIC.cloud dashboard','Low Quality Image Placeholder'=>'Low Quality Image Placeholder','Sync data from Cloud'=>'Sync data from Cloud','QUIC.cloud Service Usage Statistics'=>'QUIC.cloud Service Usage Statistics','Total images optimized in this month'=>'Total images optimised in this month','Total Usage'=>'Total Usage','Pay as You Go Usage Statistics'=>'Pay as You Go Usage Statistics','PAYG Balance'=>'PAYG Balance','Pay as You Go'=>'Pay as You Go','Usage'=>'Usage','Fast Queue Usage'=>'Fast Queue Usage','CDN Bandwidth'=>'CDN Bandwidth','LiteSpeed Cache Dashboard'=>'LiteSpeed Cache Dashboard','Network Dashboard'=>'Network Dashboard','No cloud services currently in use'=>'No cloud services currently in use','Click to clear all nodes for further redetection.'=>'Click to clear all nodes for further redetection.','Current Cloud Nodes in Service'=>'Current Cloud Nodes in Service','Link to QUIC.cloud'=>'Link to QUIC.cloud','General Settings'=>'General Settings','Specify which HTML element attributes will be replaced with CDN Mapping.'=>'Specify which HTML element attributes will be replaced with CDN Mapping.','Add new CDN URL'=>'Add new CDN URL','Remove CDN URL'=>'Remove CDN URL','To enable the following functionality, turn ON Cloudflare API in CDN Settings.'=>'To enable the following functionality, turn ON Cloudflare API in CDN Settings.','QUIC.cloud'=>'QUIC.cloud','WooCommerce Settings'=>'WooCommerce Settings','LQIP Cache'=>'LQIP Cache','Options saved.'=>'Options saved.','Removed backups successfully.'=>'Removed backups successfully.','Calculated backups successfully.'=>'Calculated backups successfully.','Rescanned %d images successfully.'=>'Rescanned %d images successfully.','Rescanned successfully.'=>'Rescanned successfully.','Destroy all optimization data successfully.'=>'Destroyed all optimisation data successfully.','Cleaned up unfinished data successfully.'=>'Cleaned up unfinished data successfully.','Pull Cron is running'=>'Pull Cron is running','No valid image found by Cloud server in the current request.'=>'No valid image found by Cloud server in the current request.','No valid image found in the current request.'=>'No valid image found in the current request.','Pushed %1$s to Cloud server, accepted %2$s.'=>'Pushed %1$s to Cloud server, accepted %2$s.','Revisions Max Age'=>'Revisions Max Age','Revisions Max Number'=>'Revisions Max Number','Debug URI Excludes'=>'Debug URI Excludes','Debug URI Includes'=>'Debug URI Includes','HTML Attribute To Replace'=>'HTML Attribute To Replace','Use CDN Mapping'=>'Use CDN Mapping','Editor Heartbeat TTL'=>'Editor Heartbeat TTL','Editor Heartbeat'=>'Editor Heartbeat','Backend Heartbeat TTL'=>'Back end Heartbeat TTL','Backend Heartbeat Control'=>'Back end Heartbeat Control','Frontend Heartbeat TTL'=>'Front end Heartbeat TTL','Frontend Heartbeat Control'=>'Front end Heartbeat Control','Backend .htaccess Path'=>'Back end .htaccess Path','Frontend .htaccess Path'=>'Front end .htaccess Path','ESI Nonces'=>'ESI Nonces','WordPress Image Quality Control'=>'WordPress Image Quality Control','Auto Request Cron'=>'Auto Request Cron','Generate LQIP In Background'=>'Generate LQIP In Background','LQIP Minimum Dimensions'=>'LQIP Minimum Dimensions','LQIP Quality'=>'LQIP Quality','LQIP Cloud Generator'=>'LQIP Cloud Generator','Responsive Placeholder SVG'=>'Responsive Placeholder SVG','Responsive Placeholder Color'=>'Responsive Placeholder Colour','Basic Image Placeholder'=>'Basic Image Placeholder','Lazy Load URI Excludes'=>'Lazy Load URI Excludes','Lazy Load Iframe Parent Class Name Excludes'=>'Lazy Load Iframe Parent Class Name Excludes','Lazy Load Iframe Class Name Excludes'=>'Lazy Load Iframe Class Name Excludes','Lazy Load Image Parent Class Name Excludes'=>'Lazy Load Image Parent Class Name Excludes','Gravatar Cache TTL'=>'Gravatar Cache TTL','Gravatar Cache Cron'=>'Gravatar Cache Cron','Gravatar Cache'=>'Gravatar Cache','DNS Prefetch Control'=>'DNS Prefetch Control','Font Display Optimization'=>'Font Display Optimisation','Force Public Cache URIs'=>'Force Public Cache URIs','Notifications'=>'Notifications','Default HTTP Status Code Page TTL'=>'Default HTTP Status Code Page TTL','Default REST TTL'=>'Default REST TTL','Enable Cache'=>'Enable Cache','Server IP'=>'Server IP','Images not requested'=>'Images not requested','Sync credit allowance with Cloud Server successfully.'=>'Sync credit allowance with Cloud Server successfully.','Failed to communicate with QUIC.cloud server'=>'Failed to communicate with QUIC.cloud server','Good news from QUIC.cloud server'=>'Good news from QUIC.cloud server','Message from QUIC.cloud server'=>'Message from QUIC.cloud server','Please try after %1$s for service %2$s.'=>'Please try after %1$s for service %2$s.','No available Cloud Node.'=>'No available Cloud Node.','Cloud Error'=>'Cloud Error','The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.'=>'The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.','Restore from backup'=>'Restore from backup','No backup of unoptimized WebP file exists.'=>'No backup of unoptimised WebP file exists.','WebP file reduced by %1$s (%2$s)'=>'WebP file reduced by %1$s (%2$s)','Currently using original (unoptimized) version of WebP file.'=>'Currently using original (unoptimised) version of WebP file.','Currently using optimized version of WebP file.'=>'Currently using optimised version of WebP file.','Orig'=>'Orig','(no savings)'=>'(no savings)','Orig %s'=>'Orig %s','Congratulation! Your file was already optimized'=>'Congratulation! Your file was already optimised','No backup of original file exists.'=>'No backup of original file exists.','Using optimized version of file. '=>'Using optimised version of file. ','Orig saved %s'=>'Orig saved %s','Original file reduced by %1$s (%2$s)'=>'Original file reduced by %1$s (%2$s)','Click to switch to optimized version.'=>'Click to switch to optimised version.','Currently using original (unoptimized) version of file.'=>'Currently using original (unoptimised) version of file.','(non-optm)'=>'(non-optm)','Click to switch to original (unoptimized) version.'=>'Click to switch to original (unoptimised) version.','Currently using optimized version of file.'=>'Currently using optimised version of file.','(optm)'=>'(optm)','LQIP image preview for size %s'=>'LQIP image preview for size %s','LQIP'=>'LQIP','Previously existed in blocklist'=>'Previously existed in blocklist','Manually added to blocklist'=>'Manually added to blocklist','Mobile Agent Rules'=>'Mobile Agent Rules','Sitemap created successfully: %d items'=>'Sitemap created successfully: %d items','Sitemap cleaned successfully'=>'Sitemap cleaned successfully','Invalid IP'=>'Invalid IP','Value range'=>'Value range','Smaller than'=>'Smaller than','Larger than'=>'Larger than','Zero, or'=>'Zero, or','Maximum value'=>'Maximum value','Minimum value'=>'Minimum value','Path must end with %s'=>'Path must end with %s','Invalid rewrite rule'=>'Invalid rewrite rule','Toolbox'=>'Toolbox','Database'=>'Database','Page Optimization'=>'Page Optimisation','Dashboard'=>'Dashboard','Converted to InnoDB successfully.'=>'Converted to InnoDB successfully.','Cleaned all Gravatar files.'=>'Cleaned all Gravatar files.','Cleaned all LQIP files.'=>'Cleaned all LQIP files.','Unknown error'=>'Unknown error','Your domain has been forbidden from using our services due to a previous policy violation.'=>'Your domain has been forbidden from using our services due to a previous policy violation.','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: '=>'The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: ','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.'=>'The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.','The callback validation to your domain failed due to hash mismatch.'=>'The callback validation to your domain failed due to hash mismatch.','Your application is waiting for approval.'=>'Your application is waiting for approval.','Previous request too recent. Please try again after %s.'=>'Previous request too recent. Please try again after %s.','Previous request too recent. Please try again later.'=>'Previous request too recent. Please try again later.','Crawler disabled by the server admin.'=>'Crawler disabled by the server admin.','Could not find %1$s in %2$s.'=>'Could not find %1$s in %2$s.','Credits are not enough to proceed the current request.'=>'Credits are not enough to proceed with the current request.','There is proceeding queue not pulled yet.'=>'There is proceeding queue not pulled yet.','The image list is empty.'=>'The image list is empty.','LiteSpeed Crawler Cron'=>'LiteSpeed Crawler Cron','Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.'=>'Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.','To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.'=>'To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.','Please do NOT share the above passwordless link with anyone.'=>'Please do NOT share the above passwordless link with anyone.','To generate a passwordless link for LiteSpeed Support Team access, you must install %s.'=>'To generate a passwordless link for LiteSpeed Support Team access, you must install %s.','Install'=>'Install','These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.'=>'These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.','PageSpeed Score'=>'PageSpeed Score','Improved by'=>'Improved by','After'=>'After','Before'=>'Before','Page Load Time'=>'Page Load Time','To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.'=>'To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.','Preserve EXIF/XMP data'=>'Preserve EXIF/XMP data','Try GitHub Version'=>'Try GitHub Version','If you turn any of the above settings OFF, please remove the related file types from the %s box.'=>'If you turn any of the above settings OFF, please remove the related file types from the %s box.','Both full and partial strings can be used.'=>'Both full and partial strings can be used.','Images containing these class names will not be lazy loaded.'=>'Images containing these class names will not be lazy loaded.','Lazy Load Image Class Name Excludes'=>'Lazy Load Image Class Name Excludes','For example, %1$s defines a TTL of %2$s seconds for %3$s.'=>'For example, %1$s defines a TTL of %2$s seconds for %3$s.','To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.'=>'To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.','Maybe Later'=>'Maybe later','Turn On Auto Upgrade'=>'Turn on auto upgrade','Upgrade'=>'Upgrade','New release %s is available now.'=>'New release %s is available now.','New Version Available!'=>'New version available!','Sure I\'d love to review!'=>'Sure I\'d love to review!','Thank You for Using the LiteSpeed Cache Plugin!'=>'Thank you for using the LiteSpeed Cache plugin!','Upgraded successfully.'=>'Upgraded successfully.','Failed to upgrade.'=>'Failed to upgrade.','Changed setting successfully.'=>'Changed setting successfully.','ESI sample for developers'=>'ESI sample for developers','Replace %1$s with %2$s.'=>'Replace %1$s with %2$s.','You can turn shortcodes into ESI blocks.'=>'You can turn shortcodes into ESI blocks.','WpW: Private Cache vs. Public Cache'=>'WpW: Private Cache vs. Public Cache','Append query string %s to the resources to bypass this action.'=>'Append query string %s to the resources to bypass this action.','Google reCAPTCHA will be bypassed automatically.'=>'Google reCAPTCHA will be bypassed automatically.','Cookie Values'=>'Cookie Values','Cookie Name'=>'Cookie Name','Cookie Simulation'=>'Cookie Simulation','Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.'=>'Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.','Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.'=>'Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.','Automatically Upgrade'=>'Automatically Upgrade','Your IP'=>'Your IP','Reset successfully.'=>'Reset successfully.','This will reset all settings to default settings.'=>'This will reset all settings to default settings.','Reset All Settings'=>'Reset All Settings','Separate critical CSS files will be generated for paths containing these strings.'=>'Separate critical CSS files will be generated for paths containing these strings.','Separate CCSS Cache URIs'=>'Separate CCSS Cache URIs','For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.'=>'For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.','List post types where each item of that type should have its own CCSS generated.'=>'List post types where each item of that type should have its own CCSS generated.','Separate CCSS Cache Post Types'=>'Separate CCSS Cache Post Types','Size list in queue waiting for cron'=>'Size list in queue waiting for cron','If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.'=>'If set to %1$s, before the placeholder is localised, the %2$s configuration will be used.','Automatically generate LQIP in the background via a cron-based queue.'=>'Automatically generate LQIP in the background via a cron-based queue.','This will generate the placeholder with same dimensions as the image if it has the width and height attributes.'=>'This will generate the placeholder with same dimensions as the image if it has the width and height attributes.','Responsive image placeholders can help to reduce layout reshuffle when images are loaded.'=>'Responsive image placeholders can help to reduce layout reshuffle when images are loaded.','Responsive Placeholder'=>'Responsive Placeholder','This will delete all generated image LQIP placeholder files'=>'This will delete all generated image LQIP placeholder files','Please enable LiteSpeed Cache in the plugin settings.'=>'Please enable LiteSpeed Cache in the plugin settings.','Please enable the LSCache Module at the server level, or ask your hosting provider.'=>'Please enable the LSCache Module at the server level, or ask your hosting provider.','Failed to request via WordPress'=>'Failed to request via WordPress','High-performance page caching and site optimization from LiteSpeed'=>'High-performance page caching and site optimisation from LiteSpeed','Reset the optimized data successfully.'=>'Reset the optimised data successfully.','Update %s now'=>'Update %s now','View %1$s version %2$s details'=>'View %1$s version %2$s details','<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.'=>'<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.','Install %s'=>'Install %s','LSCache caching functions on this page are currently unavailable!'=>'LSCache caching functions on this page are currently unavailable!','%1$s plugin version %2$s required for this action.'=>'%1$s plugin version %2$s required for this action.','We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.'=>'We are working hard to improve your online service experience. The service will be unavailable while we work. We apologise for any inconvenience.','Automatically remove the original image backups after fetching optimized images.'=>'Automatically remove the original image backups after fetching optimised images.','Remove Original Backups'=>'Remove Original Backups','Automatically request optimization via cron job.'=>'Automatically request optimisation via cron job.','A backup of each image is saved before it is optimized.'=>'A backup of each image is saved before it is optimised.','Switched images successfully.'=>'Switched images successfully.','This can improve quality but may result in larger images than lossy compression will.'=>'This can improve quality but may result in larger images than lossy compression will.','Optimize images using lossless compression.'=>'Optimise images using lossless compression.','Optimize Losslessly'=>'Optimise Losslessly','Optimize images and save backups of the originals in the same folder.'=>'Optimise images and save backups of the originals in the same folder.','Optimize Original Images'=>'Optimise Original Images','When this option is turned %s, it will also load Google Fonts asynchronously.'=>'When this option is turned %s, it will also load Google Fonts asynchronously.','Cleaned all Critical CSS files.'=>'Cleaned all Critical CSS files.','This will inline the asynchronous CSS library to avoid render blocking.'=>'This will inline the asynchronous CSS library to avoid render blocking.','Inline CSS Async Lib'=>'Inline CSS Async Lib','Run Queue Manually'=>'Run Queue Manually','Last requested cost'=>'Last requested cost','Last generated'=>'Last generated','If set to %s this is done in the foreground, which may slow down page load.'=>'If set to %s this is done in the foreground, which may slow down page load.','Optimize CSS delivery.'=>'Optimise CSS delivery.','This will delete all generated critical CSS files'=>'This will delete all generated critical CSS files','Critical CSS'=>'Critical CSS','This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.'=>'This site utilises caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.','Disabling this may cause WordPress tasks triggered by AJAX to stop working.'=>'Disabling this may cause WordPress tasks triggered by Ajax to stop working.','right now'=>'right now','just now'=>'just now','Saved'=>'Saved','Last ran'=>'Last ran','You will be unable to Revert Optimization once the backups are deleted!'=>'You will be unable to Revert Optimisation once the backups are deleted!','This is irreversible.'=>'This is irreversible.','Remove Original Image Backups'=>'Remove Original Image Backups','Are you sure you want to remove all image backups?'=>'Are you sure you want to remove all image backups?','Total'=>'Total','Files'=>'Files','Last calculated'=>'Last calculated','Calculate Original Image Storage'=>'Calculate Original Image Storage','Storage Optimization'=>'Storage Optimisation','Use the format %1$s or %2$s (element is optional).'=>'Use the format %1$s or %2$s (element is optional).','Only attributes listed here will be replaced.'=>'Only attributes listed here will be replaced.','Only files within these directories will be pointed to the CDN.'=>'Only files within these directories will be pointed to the CDN.','Included Directories'=>'Included Directories','A Purge All will be executed when WordPress runs these hooks.'=>'A Purge All will be executed when WordPress runs these hooks.','Purge All Hooks'=>'Purge All Hooks','Purged all caches successfully.'=>'Purged all caches successfully.','LSCache'=>'LSCache','Forced cacheable'=>'Forced cacheable','Paths containing these strings will be cached regardless of no-cacheable settings.'=>'Paths containing these strings will be cached regardless of no-cacheable settings.','Force Cache URIs'=>'Force Cache URIs','Exclude Settings'=>'Exclude Settings','This will disable LSCache and all optimization features for debug purpose.'=>'This will disable LSCache and all optimisation features for debug purpose.','Disable All Features'=>'Disable All Features','Opcode Cache'=>'Opcode Cache','CSS/JS Cache'=>'CSS/JS Cache','Remove all previous unfinished image optimization requests.'=>'Remove all previous unfinished image optimisation requests.','Clean Up Unfinished Data'=>'Clean Up Unfinished Data','Join Us on Slack'=>'Join Us on Slack','Join the %s community.'=>'Join the %s community.','Want to connect with other LiteSpeed users?'=>'Want to connect with other LiteSpeed users?','Your Email address on %s.'=>'Your Email address on %s.','Use %s API functionality.'=>'Use %s API functionality.','To randomize CDN hostname, define multiple hostnames for the same resources.'=>'To randomise CDN hostname, define multiple hostnames for the same resources.','Join LiteSpeed Slack community'=>'Join LiteSpeed Slack community','Visit LSCWP support forum'=>'Visit LSCWP support forum','Images notified to pull'=>'Images notified to pull','What is a group?'=>'What is a group?','%s image'=>'%s image','%s group'=>'%s group','%s images'=>'%s images','%s groups'=>'%s groups','Guest'=>'Guest','To crawl the site as a logged-in user, enter the user ids to be simulated.'=>'To crawl the site as a logged-in user, enter the user ids to be simulated.','Role Simulation'=>'Role Simulation','running'=>'running','Size'=>'Size','Ended reason'=>'Ended reason','Last interval'=>'Last interval','Current crawler started at'=>'Current crawler started at','Run time for previous crawler'=>'Run time for previous crawler','%d seconds'=>'%d seconds','Last complete run time for all crawlers'=>'Last complete run time for all crawlers','Current sitemap crawl started at'=>'Current sitemap crawl started at','Save transients in database when %1$s is %2$s.'=>'Save transients in database when %1$s is %2$s.','Store Transients'=>'Store Transients','If %1$s is %2$s, then %3$s must be populated!'=>'If %1$s is %2$s, then %3$s must be populated!','NOTE'=>'NOTE','Server variable(s) %s available to override this setting.'=>'Server variable(s) %s available to override this setting.','API'=>'API','Imported setting file %s successfully.'=>'Imported setting file %s successfully.','Import failed due to file error.'=>'Import failed due to file error.','How to Fix Problems Caused by CSS/JS Optimization.'=>'How to Fix Problems Caused by CSS/JS Optimisation.','This will generate extra requests to the server, which will increase server load.'=>'This will generate extra requests to the server, which will increase server load.','Instant Click'=>'Instant Click','Reset the entire opcode cache'=>'Reset the entire opcode cache','This will import settings from a file and override all current LiteSpeed Cache settings.'=>'This will import settings from a file and override all current LiteSpeed Cache settings.','Last imported'=>'Last imported','Import'=>'Import','Import Settings'=>'Import Settings','This will export all current LiteSpeed Cache settings and save them as a file.'=>'This will export all current LiteSpeed Cache settings and save them as a file.','Last exported'=>'Last exported','Export'=>'Export','Export Settings'=>'Export Settings','Import / Export'=>'Import / Export','Use keep-alive connections to speed up cache operations.'=>'Use keep-alive connections to speed up cache operations.','Database to be used'=>'Database to be used','Redis Database ID'=>'Redis Database ID','Specify the password used when connecting.'=>'Specify the password used when connecting.','Password'=>'Password','Only available when %s is installed.'=>'Only available when %s is installed.','Username'=>'Username','Your %s Hostname or IP address.'=>'Your %s Hostname or IP address.','Method'=>'Method','Purge all object caches successfully.'=>'Purge all object caches successfully.','Object cache is not enabled.'=>'Object cache is not enabled.','Improve wp-admin speed through caching. (May encounter expired data)'=>'Improve wp-admin speed through caching. (May encounter expired data)','Persistent Connection'=>'Persistent Connection','Do Not Cache Groups'=>'Do Not Cache Groups','Groups cached at the network level.'=>'Groups cached at the network level.','Global Groups'=>'Global Groups','Connection Test'=>'Connection Test','%s Extension'=>'%s Extension','Status'=>'Status','Default TTL for cached objects.'=>'Default TTL for cached objects.','Default Object Lifetime'=>'Default Object Lifetime','Port'=>'Port','Host'=>'Host','Object Cache'=>'Object Cache','Failed'=>'Failed','Passed'=>'Passed','Not Available'=>'Not Available','Purge all the object caches'=>'Purge all the object caches','Failed to communicate with Cloudflare'=>'Failed to communicate with Cloudflare','Communicated with Cloudflare successfully.'=>'Communicated with Cloudflare successfully.','No available Cloudflare zone'=>'No available Cloudflare zone','Notified Cloudflare to purge all successfully.'=>'Notified Cloudflare to purge all successfully.','Cloudflare API is set to off.'=>'Cloudflare API is set to off.','Notified Cloudflare to set development mode to %s successfully.'=>'Notified Cloudflare to set development mode to %s successfully.','Once saved, it will be matched with the current list and completed automatically.'=>'Once saved, it will be matched with the current list and completed automatically.','You can just type part of the domain.'=>'You can just type part of the domain.','Domain'=>'Domain','Cloudflare API'=>'Cloudflare API','Purge Everything'=>'Purge Everything','Cloudflare Cache'=>'Cloudflare Cache','Development Mode will be turned off automatically after three hours.'=>'Development Mode will be turned off automatically after three hours.','Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.'=>'Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.','Development mode will be automatically turned off in %s.'=>'Development mode will be automatically turned off in %s.','Current status is %s.'=>'Current status is %s.','Current status is %1$s since %2$s.'=>'Current status is %1$s since %2$s.','Check Status'=>'Check Status','Turn OFF'=>'Turn OFF','Turn ON'=>'Turn ON','Development Mode'=>'Development Mode','Cloudflare Zone'=>'Cloudflare Zone','Cloudflare Domain'=>'Cloudflare Domain','Cloudflare'=>'Cloudflare','For example'=>'For example','Prefetching DNS can reduce latency for visitors.'=>'Prefetching DNS can reduce latency for visitors.','DNS Prefetch'=>'DNS Prefetch','Adding Style to Your Lazy-Loaded Images'=>'Adding Style to Your Lazy-Loaded Images','Default value'=>'Default value','Static file type links to be replaced by CDN links.'=>'Static file type links to be replaced by CDN links.','Drop Query String'=>'Drop Query String','Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.'=>'Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.','Improve HTTP/HTTPS Compatibility'=>'Improve HTTP/HTTPS Compatibility','Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.'=>'Remove all previous image optimisation requests/results, revert completed optimisations, and delete all optimisation files.','Destroy All Optimization Data'=>'Destroy All Optimisation Data','Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.'=>'Scan for any new unoptimised image thumbnail sizes and resend necessary image optimisation requests.','This will increase the size of optimized files.'=>'This will increase the size of optimised files.','Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.'=>'Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimising.','Clear Logs'=>'Clear Logs',' %s ago'=>' %s ago','WebP saved %s'=>'WebP saved %s','If you run into any issues, please refer to the report number in your support message.'=>'If you run into any issues, please refer to the report number in your support message.','Last pull initiated by cron at %s.'=>'Last pull initiated by cron at %s.','Images will be pulled automatically if the cron job is running.'=>'Images will be pulled automatically if the cron job is running.','Only press the button if the pull cron job is disabled.'=>'Only press the button if the pull cron job is disabled.','Pull Images'=>'Pull Images','This process is automatic.'=>'This process is automatic.','Last Request'=>'Last Request','Images Pulled'=>'Images Pulled','Report'=>'Report','Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.'=>'Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.','Send to LiteSpeed'=>'Send to LiteSpeed','LiteSpeed Optimization'=>'LiteSpeed Optimisation','Load Google Fonts Asynchronously'=>'Load Google Fonts Asynchronously','Browser Cache TTL'=>'Browser Cache TTL','Learn More'=>'Learn More','Images optimized and pulled'=>'Images optimised and pulled','Images requested'=>'Images requested','Switched to optimized file successfully.'=>'Switched to optimised file successfully.','Restored original file successfully.'=>'Restored original file successfully.','Enabled WebP file successfully.'=>'Enabled WebP file successfully.','Disabled WebP file successfully.'=>'Disabled WebP file successfully.','Significantly improve load time by replacing images with their optimized %s versions.'=>'Significantly improve load time by replacing images with their optimised %s versions.','Selected roles will be excluded from cache.'=>'Selected roles will be excluded from cache.','Tuning'=>'Tuning','Selected roles will be excluded from all optimizations.'=>'Selected roles will be excluded from all optimisations.','Role Excludes'=>'Role Excludes','Tuning Settings'=>'Tuning Settings','If the tag slug is not found, the tag will be removed from the list on save.'=>'If the tag slug is not found, the tag will be removed from the list on save.','If the category name is not found, the category will be removed from the list on save.'=>'If the category name is not found, the category will be removed from the list on save.','After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.'=>'After the QUIC.cloud Image Optimisation server finishes optimisation, it will notify your site to pull the optimised images.','Send Optimization Request'=>'Send Optimisation Request','Image Information'=>'Image Information','Total Reduction'=>'Total Reduction','Optimization Summary'=>'Optimisation Summary','LiteSpeed Cache Image Optimization'=>'LiteSpeed Cache Image Optimisation','Image Optimization'=>'Image Optimisation','For example, %s can be used for a transparent placeholder.'=>'For example, %s can be used for a transparent placeholder.','By default a gray image placeholder %s will be used.'=>'By default a grey image placeholder %s will be used.','This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.'=>'This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.','Specify a base64 image to be used as a simple placeholder while images finish loading.'=>'Specify a base64 image to be used as a simple placeholder while images finish loading.','Elements with attribute %s in html code will be excluded.'=>'Elements with attribute %s in HTML code will be excluded.','Filter %s is supported.'=>'Filter %s is supported.','Listed images will not be lazy loaded.'=>'Listed images will not be lazy loaded.','Lazy Load Image Excludes'=>'Lazy Load Image Excludes','No optimization'=>'No optimisation','Prevent any optimization of listed pages.'=>'Prevent any optimisation of listed pages.','URI Excludes'=>'URI Excludes','Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.'=>'Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.','Both full URLs and partial strings can be used.'=>'Both full URLs and partial strings can be used.','Load iframes only when they enter the viewport.'=>'Load iframes only when they enter the viewport.','Lazy Load Iframes'=>'Lazy Load Iframes','This can improve page loading time by reducing initial HTTP requests.'=>'This can improve page loading time by reducing initial HTTP requests.','Load images only when they enter the viewport.'=>'Load images only when they enter the viewport.','Lazy Load Images'=>'Lazy Load Images','Media Settings'=>'Media Settings','Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.'=>'Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.','To match the beginning, add %s to the beginning of the item.'=>'To match the beginning, add %s to the beginning of the item.','Maybe later'=>'Maybe later','I\'ve already left a review'=>'I\'ve already left a review','Welcome to LiteSpeed'=>'Welcome to LiteSpeed','Remove WordPress Emoji'=>'Remove WordPress Emoji','More settings'=>'More settings','Private cache'=>'Private cache','Non cacheable'=>'Non cacheable','Mark this page as '=>'Mark this page as ','Purge this page'=>'Purge this page','Load JS Deferred'=>'Load JS Deferred','Specify critical CSS rules for above-the-fold content when enabling %s.'=>'Specify critical CSS rules for above-the-fold content when enabling %s.','Critical CSS Rules'=>'Critical CSS Rules','Load CSS Asynchronously'=>'Load CSS Asynchronously','Prevent Google Fonts from loading on all pages.'=>'Prevent Google Fonts from loading on all pages.','Remove Google Fonts'=>'Remove Google Fonts','This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.'=>'This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.','Remove query strings from internal static resources.'=>'Remove query strings from internal static resources.','Remove Query Strings'=>'Remove Query Strings','user agents'=>'user agents','cookies'=>'cookies','Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.'=>'Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.','Browser Cache'=>'Browser Cache','tags'=>'tags','Do Not Cache Tags'=>'Do Not Cache Tags','To exclude %1$s, insert %2$s.'=>'To exclude %1$s, insert %2$s.','categories'=>'categories','To prevent %s from being cached, enter them here.'=>'To prevent %s from being cached, enter them here.','Do Not Cache Categories'=>'Do Not Cache Categories','Query strings containing these parameters will not be cached.'=>'Query strings containing these parameters will not be cached.','Do Not Cache Query Strings'=>'Do Not Cache Query Strings','Paths containing these strings will not be cached.'=>'Paths containing these strings will not be cached.','Do Not Cache URIs'=>'Do Not Cache URIs','One per line.'=>'One per line.','URI Paths containing these strings will NOT be cached as public.'=>'URI Paths containing these strings will NOT be cached as public.','Private Cached URIs'=>'Private Cached URIs','Paths containing these strings will not be served from the CDN.'=>'Paths containing these strings will not be served from the CDN.','Exclude Path'=>'Exclude Path','Include File Types'=>'Include File Types','Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.'=>'Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.','Include JS'=>'Include JS','Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.'=>'Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.','Include CSS'=>'Include CSS','Include Images'=>'Include Images','CDN URL to be used. For example, %s'=>'CDN URL to be used. For example, %s','CDN URL'=>'CDN URL','Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.'=>'Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.','Original URLs'=>'Original URLs','CDN Settings'=>'CDN Settings','CDN'=>'CDN','OFF'=>'OFF','ON'=>'ON','Notified LiteSpeed Web Server to purge CSS/JS entries.'=>'Notified LiteSpeed Web Server to purge CSS/JS entries.','Minify HTML content.'=>'Minify HTML content.','HTML Minify'=>'HTML Minify','JS Excludes'=>'JS Excludes','JS Combine'=>'JS Combine','JS Minify'=>'JS Minify','CSS Excludes'=>'CSS Excludes','CSS Combine'=>'CSS Combine','CSS Minify'=>'CSS Minify','Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.'=>'Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.','This will purge all minified/combined CSS/JS entries only'=>'This will purge all minified/combined CSS/JS entries only','Purge %s Error'=>'Purge %s Error','Database Optimizer'=>'Database Optimiser','Optimize all tables in your database'=>'Optimise all tables in your database','Optimize Tables'=>'Optimise Tables','Clean all transient options'=>'Clean all transient options','All Transients'=>'All Transients','Clean expired transient options'=>'Clean expired transient options','Expired Transients'=>'Expired Transients','Clean all trackbacks and pingbacks'=>'Clean all trackbacks and pingbacks','Trackbacks/Pingbacks'=>'Trackbacks/Pingbacks','Clean all trashed comments'=>'Clean all binned comments','Trashed Comments'=>'Binned comments','Clean all spam comments'=>'Clean all spam comments','Spam Comments'=>'Spam Comments','Clean all trashed posts and pages'=>'Clean all binned posts and pages','Trashed Posts'=>'Binned Posts','Clean all auto saved drafts'=>'Clean all auto saved drafts','Auto Drafts'=>'Auto Drafts','Clean all post revisions'=>'Clean all post revisions','Post Revisions'=>'Post Revisions','Clean All'=>'Clean All','Optimized all tables.'=>'Optimised all tables.','Clean all transients successfully.'=>'Clean all transients successfully.','Clean expired transients successfully.'=>'Clean expired transients successfully.','Clean trackbacks and pingbacks successfully.'=>'Clean trackbacks and pingbacks successfully.','Clean trashed comments successfully.'=>'Clean binned comments successfully.','Clean spam comments successfully.'=>'Clean spam comments successfully.','Clean trashed posts and pages successfully.'=>'Clean binned posts and pages successfully.','Clean auto drafts successfully.'=>'Clean auto drafts successfully.','Clean post revisions successfully.'=>'Clean post revisions successfully.','Clean all successfully.'=>'Clean all successfully.','Default Private Cache TTL'=>'Default Private Cache TTL','If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.'=>'If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.','Vary Group'=>'Vary Group','Cache the built-in Comment Form ESI block.'=>'Cache the built-in Comment Form ESI block.','Cache Comment Form'=>'Cache Comment Form','Cache Admin Bar'=>'Cache Admin Bar','Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.'=>'Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.','ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.'=>'ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.','With ESI (Edge Side Includes), pages may be served from cache for logged-in users.'=>'With ESI (Edge Side Includes), pages may be served from cache for logged-in users.','Private'=>'Private','Public'=>'Public','Purge Settings'=>'Purge Settings','Cache Mobile'=>'Cache Mobile','Advanced level will log more details.'=>'Advanced level will log more details.','Basic'=>'Basic','The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.'=>'The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.','Cache Login Page'=>'Cache Login Page','Cache requests made by WordPress REST API calls.'=>'Cache requests made by WordPress REST API calls.','Cache REST API'=>'Cache REST API','Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)'=>'Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)','Cache Commenters'=>'Cache Commenters','Privately cache frontend pages for logged-in users. (LSWS %s required)'=>'Privately cache frontend pages for logged-in users. (LSWS %s required)','Cache Logged-in Users'=>'Cache Logged-in Users','Cache Control Settings'=>'Cache Control Settings','ESI'=>'ESI','Excludes'=>'Excludes','Purge'=>'Purge','Cache'=>'Cache','Current server time is %s.'=>'Current server time is %s.','Specify the time to purge the "%s" list.'=>'Specify the time to purge the "%s" list.','Both %1$s and %2$s are acceptable.'=>'Both %1$s and %2$s are acceptable.','Scheduled Purge Time'=>'Scheduled Purge Time','The URLs here (one per line) will be purged automatically at the time set in the option "%s".'=>'The URLs here (one per line) will be purged automatically at the time set in the option "%s".','Scheduled Purge URLs'=>'Scheduled Purge URLs','Shorten query strings in the debug log to improve readability.'=>'Shorten query strings in the debug log to improve readability.','Heartbeat'=>'Heartbeat','MB'=>'MB','Log File Size Limit'=>'Log File Size Limit','<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s'=>'<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s','%s file not writable.'=>'%s file not writable.','%s file not readable.'=>'%s file not readable.','Collapse Query Strings'=>'Collapse Query Strings','ESI Settings'=>'ESI Settings','A TTL of 0 indicates do not cache.'=>'A TTL of 0 indicates do not cache.','Recommended value: 28800 seconds (8 hours).'=>'Recommended value: 28800 seconds (8 hours).','Enable ESI'=>'Enable ESI','Custom Sitemap'=>'Custom Sitemap','Purge pages by relative or full URL.'=>'Purge pages by relative or full URL.','The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.'=>'The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.','WARNING'=>'WARNING','The next complete sitemap crawl will start at'=>'The next complete sitemap crawl will start at','Failed to write to %s.'=>'Failed to write to %s.','Folder is not writable: %s.'=>'Folder is not writable: %s.','Can not create folder: %1$s. Error: %2$s'=>'Can not create folder: %1$s. Error: %2$s','Folder does not exist: %s'=>'Folder does not exist: %s','Notified LiteSpeed Web Server to purge the list.'=>'Notified LiteSpeed Web Server to purge the list.','Allows listed IPs (one per line) to perform certain actions from their browsers.'=>'Allows listed IPs (one per line) to perform certain actions from their browsers.','Server Load Limit'=>'Server Load Limit','Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.'=>'Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.','Crawl Interval'=>'Crawl Interval','Then another WordPress is installed (NOT MULTISITE) at %s'=>'Then another WordPress is installed (NOT MULTISITE) at %s','LiteSpeed Cache Network Cache Settings'=>'LiteSpeed Cache Network Cache Settings','Select below for "Purge by" options.'=>'Select below for "Purge by" options.','LiteSpeed Cache CDN'=>'LiteSpeed Cache CDN','No crawler meta file generated yet'=>'No crawler meta file generated yet','Show crawler status'=>'Show crawler status','Watch Crawler Status'=>'Watch Crawler Status','Run frequency is set by the Interval Between Runs setting.'=>'Run frequency is set by the Interval Between Runs setting.','Manually run'=>'Manually run','Reset position'=>'Reset position','Run Frequency'=>'Run Frequency','Cron Name'=>'Cron Name','Crawler Cron'=>'Crawler Cron','%d minute'=>'%d minute','%d minutes'=>'%d minutes','%d hour'=>'%d hour','%d hours'=>'%d hours','Generated at %s'=>'Generated at %s','LiteSpeed Cache Crawler'=>'LiteSpeed Cache Crawler','Crawler'=>'Crawler','https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration'=>'https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration','Notified LiteSpeed Web Server to purge all pages.'=>'Notified LiteSpeed Web Server to purge all pages.','All pages with Recent Posts Widget'=>'All pages with Recent Posts Widget','Pages'=>'Pages','This will Purge Pages only'=>'This will Purge Pages only','Purge Pages'=>'Purge Pages','Cancel'=>'Cancel','Activate'=>'Activate','Email Address'=>'Email Address','Install Now'=>'Install Now','Purged the blog!'=>'Purged the blog!','Purged All!'=>'Purged All!','Notified LiteSpeed Web Server to purge error pages.'=>'Notified LiteSpeed Web Server to purge error pages.','If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.'=>'If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.','If the login cookie was recently changed in the settings, please log out and back in.'=>'If the login cookie was recently changed in the settings, please log out and back in.','However, there is no way of knowing all the possible customizations that were implemented.'=>'However, there is no way of knowing all the possible customisations that were implemented.','The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.'=>'The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.','The network admin setting can be overridden here.'=>'The network admin setting can be overridden here.','Specify how long, in seconds, public pages are cached.'=>'Specify how long, in seconds, public pages are cached.','Specify how long, in seconds, private pages are cached.'=>'Specify how long, in seconds, private pages are cached.','Purge pages by post ID.'=>'Purge pages by post ID.','Purge the LiteSpeed cache entries created by this plugin'=>'Purge the LiteSpeed cache entries created by this plugin','This will Purge Front Page only'=>'This will Purge Front Page only','Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.'=>'Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.','Purge pages by category name - e.g. %2$s should be used for the URL %1$s.'=>'Purge pages by category name - e.g. %2$s should be used for the URL %1$s.','If only the WordPress site should be purged, use Purge All.'=>'If only the WordPress site should be purged, use Purge All.','Notified LiteSpeed Web Server to purge everything.'=>'Notified LiteSpeed Web Server to purge everything.','Use Primary Site Configuration'=>'Use Primary Site Configuration','This will disable the settings page on all subsites.'=>'This will disable the settings page on all subsites.','Check this option to use the primary site\'s configuration for all subsites.'=>'Check this option to use the primary site\'s configuration for all subsites.','Save Changes'=>'Save Changes','The following options are selected, but are not editable in this settings page.'=>'The following options are selected, but are not editable in this settings page.','The network admin selected use primary site configs for all subsites.'=>'The network admin selected use primary site configs for all subsites.','Empty Entire Cache'=>'Empty Entire Cache','This action should only be used if things are cached incorrectly.'=>'This action should only be used if things are cached incorrectly.','This may cause heavy load on the server.'=>'This may cause heavy load on the server.','This will clear EVERYTHING inside the cache.'=>'This will clear EVERYTHING inside the cache.','LiteSpeed Cache Purge All'=>'LiteSpeed Cache Purge All','If you would rather not move at litespeed, you can deactivate this plugin.'=>'If you would rather not move at litespeed, you can deactivate this plugin.','Create a post, make sure the front page is accurate.'=>'Create a post, make sure the front page is accurate.','Visit the site while logged out.'=>'Visit the site while logged out.','Examples of test cases include:'=>'Examples of test cases include:','For that reason, please test the site to make sure everything still functions properly.'=>'For that reason, please test the site to make sure everything still functions properly.','This message indicates that the plugin was installed by the server admin.'=>'This message indicates that the plugin was installed by the server admin.','LiteSpeed Cache plugin is installed!'=>'LiteSpeed Cache plugin is installed!','Debug Log'=>'Debug Log','Admin IP Only'=>'Admin IP Only','Specify how long, in seconds, REST calls are cached.'=>'Specify how long, in seconds, REST calls are cached.','The environment report contains detailed information about the WordPress configuration.'=>'The environment report contains detailed information about the WordPress configuration.','The server will determine if the user is logged in based on the existence of this cookie.'=>'The server will determine if the user is logged in based on the existence of this cookie.','Note'=>'Note','After verifying that the cache works in general, please test the cart.'=>'After verifying that the cache works in general, please test the basket.','When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.'=>'When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.','Purge All On Upgrade'=>'Purge All On Upgrade','Product Update Interval'=>'Product Update Interval','Determines how changes in product quantity and product stock status affect product pages and their associated category pages.'=>'Determines how changes in product quantity and product stock status affect product pages and their associated category pages.','Always purge both product and categories on changes to the quantity or stock status.'=>'Always purge both product and categories on changes to the quantity or stock status.','Do not purge categories on changes to the quantity or stock status.'=>'Do not purge categories on changes to the quantity or stock status.','Purge product only when the stock status changes.'=>'Purge product only when the stock status changes.','Purge product and categories only when the stock status changes.'=>'Purge product and categories only when the stock status changes.','Purge categories only when stock status changes.'=>'Purge categories only when stock status changes.','Purge product on changes to the quantity or stock status.'=>'Purge product on changes to the quantity or stock status.','Htaccess did not match configuration option.'=>'.htaccess did not match configuration option.','If this is set to a number less than 30, feeds will not be cached.'=>'If this is set to a number less than 30, feeds will not be cached.','Specify how long, in seconds, feeds are cached.'=>'Specify how long, in seconds, feeds are cached.','Default Feed TTL'=>'Default Feed TTL','Failed to get %s file contents.'=>'Failed to get %s file contents.','Disabling this option may negatively affect performance.'=>'Disabling this option may negatively affect performance.','Invalid login cookie. Invalid characters found.'=>'Invalid login cookie. Invalid characters found.','WARNING: The .htaccess login cookie and Database login cookie do not match.'=>'WARNING: The .htaccess login cookie and Database login cookie do not match.','Invalid login cookie. Please check the %s file.'=>'Invalid login cookie. Please check the %s file.','The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.'=>'The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.','There is a WordPress installed for %s.'=>'There is a WordPress installed for %s.','Example use case:'=>'Example use case:','The cookie set here will be used for this WordPress installation.'=>'The cookie set here will be used for this WordPress installation.','If every web application uses the same cookie, the server may confuse whether a user is logged in or not.'=>'If every web application uses the same cookie, the server may confuse whether a user is logged in or not.','This setting is useful for those that have multiple web applications for the same domain.'=>'This setting is useful for those that have multiple web applications for the same domain.','The default login cookie is %s.'=>'The default login cookie is %s.','Login Cookie'=>'Login Cookie','More information about the available commands can be found here.'=>'More information about the available commands can be found here.','These settings are meant for ADVANCED USERS ONLY.'=>'These settings are meant for ADVANCED USERS ONLY.','Current %s Contents'=>'Current %s Contents','Advanced'=>'Advanced','Advanced Settings'=>'Advanced Settings','Purge List'=>'Purge List','Purge By...'=>'Purge By...','URL'=>'URL','Tag'=>'Tag','Post ID'=>'Post ID','Category'=>'Category','NOTICE: Database login cookie did not match your login cookie.'=>'NOTICE: Database login cookie did not match your login cookie.','Purge url %s'=>'Purge URL %s','Purge tag %s'=>'Purge tag %s','Purge category %s'=>'Purge category %s','When disabling the cache, all cached entries for this site will be purged.'=>'When disabling the cache, all cached entries for this site will be purged.','NOTICE'=>'NOTICE','This setting will edit the .htaccess file.'=>'This setting will edit the .htaccess file.','LiteSpeed Cache View .htaccess'=>'LiteSpeed Cache View .htaccess','Failed to back up %s file, aborted changes.'=>'Failed to back up %s file, aborted changes.','Do Not Cache Cookies'=>'Do Not Cache Cookies','Do Not Cache User Agents'=>'Do Not Cache User Agents','This is to ensure compatibility prior to enabling the cache for all sites.'=>'This is to ensure compatibility prior to enabling the cache for all sites.','Network Enable Cache'=>'Network Enable Cache','NOTICE:'=>'NOTICE:','Other checkboxes will be ignored.'=>'Other checkboxes will be ignored.','Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.'=>'Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.','List of Mobile User Agents'=>'List of Mobile User Agents','File %s is not writable.'=>'File %s is not writable.','JS Settings'=>'JS Settings','Manage'=>'Manage','Default Front Page TTL'=>'Default Front Page TTL','Notified LiteSpeed Web Server to purge the front page.'=>'Notified LiteSpeed Web Server to purge the front page.','Purge Front Page'=>'Purge Front Page','Example'=>'Example','All tags are cached by default.'=>'All tags are cached by default.','All categories are cached by default.'=>'All categories are cached by default.','To do an exact match, add %s to the end of the URL.'=>'To do an exact match, add %s to the end of the URL.','The URLs will be compared to the REQUEST_URI server variable.'=>'The URLs will be compared to the REQUEST_URI server variable.','Select only the archive types that are currently used, the others can be left unchecked.'=>'Select only the archive types that are currently used, the others can be left unchecked.','Notes'=>'Notes','Use Network Admin Setting'=>'Use Network Admin Setting','Disable'=>'Disable','Enabling LiteSpeed Cache for WordPress here enables the cache for the network.'=>'Enabling LiteSpeed Cache for WordPress here enables the cache for the network.','Disabled'=>'Disabled','Enabled'=>'Enabled','Do Not Cache Roles'=>'Do Not Cache Roles','https://www.litespeedtech.com'=>'https://www.litespeedtech.com','LiteSpeed Technologies'=>'LiteSpeed Technologies','LiteSpeed Cache'=>'LiteSpeed Cache','Debug Level'=>'Debug Level','Notice'=>'Notice','Term archive (include category, tag, and tax)'=>'Term archive (include category, tag, and tax)','Daily archive'=>'Daily archive','Monthly archive'=>'Monthly archive','Yearly archive'=>'Yearly archive','Post type archive'=>'Post type archive','Author archive'=>'Author archive','Home page'=>'Home page','Front page'=>'Front page','All pages'=>'All pages','Select which pages will be automatically purged when posts are published/updated.'=>'Select which pages will be automatically purged when posts are published/updated.','Auto Purge Rules For Publish/Update'=>'Auto Purge Rules For Publish/Update','Default Public Cache TTL'=>'Default Public Cache TTL','seconds'=>'seconds','Admin IPs'=>'Admin IPs','General'=>'General','LiteSpeed Cache Settings'=>'LiteSpeed Cache Settings','Notified LiteSpeed Web Server to purge all LSCache entries.'=>'Notified LiteSpeed Web Server to purge all LSCache entries.','Purge All'=>'Purge All','Settings'=>'Settings']];PKb^�\+���zz+translations/litespeed-cache-id_ID.l10n.phpnu�[���<?php
return ['x-generator'=>'GlotPress/4.0.3','translation-revision-date'=>'2025-10-17 02:15:19+0000','plural-forms'=>'nplurals=2; plural=n > 1;','project-id-version'=>'Plugins - LiteSpeed Cache - Stable (latest release)','language'=>'id','messages'=>['This will delete all generated Viewport Images'=>'Ini akan menghapus seluruh Area Pandang Gambar yang telah dibuat.','Cleaned all VPI data.'=>'Bersihkan seluruh data VPI.','Turn on OptimaX. This will automatically request your pages OptimaX result via cron job.'=>'Aktifkan OptimaX. Hal ini akan secara otomatis meminta hasil OptimaX untuk halaman Anda melalui tugas cron.','LiteSpeed Cache OptimaX'=>'LiteSpeed Cache OptimaX','OptimaX Settings'=>'Pengaturan OptimaX','OptimaX Summary'=>'Ikhtisar OptimaX','Choose which image sizes to optimize.'=>'Pilih ukuran gambar yang ingin dioptimalkan.','No sizes found.'=>'Tidak ditemukan ukuran.','Optimize Image Sizes'=>'Optimasi Ukuran Gambar','OptimaX'=>'OptimaX','LiteSpeed Cache is temporarily disabled until: %s.'=>'LiteSpeed Cache dinonaktifkan sementara hingga: %s.','Remove `Disable All Feature` Flag Now'=>'Hapus Tanda `Nonaktifkan Seluruh Fitur` Sekarang','Disable All Features for 24 Hours'=>'Nonaktifkan Seluruh Fitur selama 24 Jam','LiteSpeed Cache is disabled. This functionality will not work.'=>'LiteSpeed Cache dinonaktifkan. Fungsi ini tidak akan berjalan.','Filter %s available to change threshold.'=>'Filter %s tersedia untuk mengubah ambang batas.','Scaled size threshold'=>'Ambang batas ukuran yang diskalakan','Automatically replace large images with scaled versions.'=>'Secara otomatis mengganti gambar berukuran besar dengan versi yang telah diskalakan.','Auto Rescale Original Images'=>'Otomatis Menyesuaikan Ukuran Gambar Asli','UCSS Inline Excluded Files'=>'Berkas yang Dikecualikan UCSS Sebaris','The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.'=>'Koneksi QUIC.cloud tidak benar. Silakan coba sinkronkan koneksi QUIC.cloud Anda lagi.','Not enough parameters. Please check if the QUIC.cloud connection is set correctly'=>'Parameter tidak cukup. Silakan periksa apakah koneksi QUIC.cloud telah diatur dengan benar.','No fields'=>'Tidak ada bidang','Value from filter applied'=>'Nilai dari filter yang diterapkan','This value is overwritten by the filter.'=>'Nilai ini ditimpa oleh filter.','This value is overwritten by the %s variable.'=>'Nilai ini ditimpa oleh variabel %s.','QUIC.cloud CDN'=>'CDN QUIC.cloud','Predefined list will also be combined with the above settings'=>'Daftar yang telah ditentukan sebelumnya juga akan digabungkan dengan pengaturan di atas','Tuning CSS Settings'=>'Pengaturan Penyesuaian CSS','Predefined list will also be combined with the above settings.'=>'Daftar yang telah ditentukan juga akan digabungkan dengan pengaturan di atas.','Clear'=>'Bersihkan','If not, please verify the setting in the %sAdvanced tab%s.'=>'Jika tidak, harap verifikasi pengaturan di %sTab Lanjutan%s.','Close popup'=>'Tutup sembulan','Deactivate plugin'=>'Nonaktifkan plugin','If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images.'=>'Jika Anda telah menggunakan Optimasi Gambar, harap %sHapus Seluruh Data Optimasi%s terlebih dahulu. CATATAN: Ini tidak menghapus gambar yang telah Anda optimalkan..','On uninstall, all plugin settings will be deleted.'=>'Saat menghapus instalasi, seluruh pengaturan plugin akan dihapus.','Why are you deactivating the plugin?'=>'Mengapa Anda menonaktifkan plugin ini?','Other'=>'Lainnya','Plugin is too complicated'=>'Plugin terlalu rumit','Site performance is worse'=>'Kinerja situs lebih buruk','The deactivation is temporary'=>'Penonaktifan bersifat sementara','Deactivate LiteSpeed Cache'=>'Nonaktifkan Cache LiteSpeed','CDN - Disabled'=>'CDN - Dinonaktifkan','CDN - Enabled'=>'CDN - Diaktifkan','Connected Date:'=>'Tanggal Terhubung:','Node:'=>'Simpul:','Service:'=>'Layanan:','Autoload top list'=>'Daftar Teratas Muat Otomatis','Autoload entries'=>'Entri Muat Otomatis','Autoload size'=>'Ukuran Muat Otomatis','This Month Usage: %s'=>'Penggunaan Bulan Ini: %s','Usage Statistics: %s'=>'Statistik Penggunaan: %s','more'=>'lainnya','Globally fast TTFB, easy setup, and %s!'=>'TTFB yang cepat secara global, pengaturan yang mudah, dan %s!','Last requested: %s'=>'Permintaan terakhir: %s','Last generated: %s'=>'Pembuatan terakhir: %s','Requested: %s ago'=>'Diminta: %s lalu','LiteSpeed Web ADC'=>'ADC Situs LiteSpeed','OpenLiteSpeed Web Server'=>'Peladen Situs OpenLiteSpeed','LiteSpeed Web Server'=>'Peladen Situs LiteSpeed','PAYG used this month: %s. PAYG balance and usage not included in above quota calculation.'=>'PAYG yang digunakan bulan ini: %s. Saldo PAYG dan penggunaan tidak termasuk dalam perhitungan kuota di atas.','Last crawled:'=>'Perayapan Terakhir:','%1$s %2$d item(s)'=>'%1$s %2$d item','Start watching...'=>'Mulai memantau...','Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.'=>'Crawler tidak dapat dijalankan secara bersamaan. Jika cron dan eksekusi manual dimulai pada waktu yang hampir bersamaan, yang pertama kali dimulai akan diprioritaskan.','Position: '=>'Posisi: ','%d item(s)'=>'%d item','Last crawled'=>'Perayapan Terakhir','Serve your visitors fast'=>'Melayani pengunjung Anda dengan cepat','This will affect all tags containing attributes: %s.'=>'Ini akan memengaruhi seluruh tag yang mengandung atribut: %s.','%1$sLearn More%2$s'=>'%1$sPelajari Lebih Lanjut%2$s','Get it from %s.'=>'Dapatkan dari %s.','Reset the OPcache failed.'=>'Reset OPcache gagal.','OPcache is restricted by %s setting.'=>'OPcache dibatasi oleh pengaturan %s.','OPcache is not enabled.'=>'OPcache tidak diaktifkan.','Enable All Features'=>'Aktifkan Seluruh Fitur','e.g. Use %1$s or %2$s.'=>'mis. Gunakan %1$s atau %2$s.','Click to copy'=>'Klik untuk menyalin','Rate %1$s on %2$s'=>'Nilai %1$s di %2$s','Clear %s cache when "Purge All" is run.'=>'Hapus cache %s saat "Hapus Semua" dijalankan.','SYNTAX: alphanumeric and "_". No spaces and case sensitive.'=>'SINTAKSIS: Huruf dan angka serta tanda hubung (“_”). Tidak boleh ada spasi dan sensitif terhadap huruf besar/kecil.','SYNTAX: alphanumeric and "_". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.'=>'SINTAKSIS: Huruf dan angka serta tanda hubung (“_”). Tidak boleh ada spasi dan sensitif terhadap huruf besar/kecil. HARUS UNIK DARI APLIKASI WEB LAINNYA.','Submit a ticket'=>'Kirim tiket','Clear Cloudflare cache'=>'Bersihkan Cache Cloudflare','QUIC.cloud\'s access to your WP REST API seems to be blocked.'=>'Akses QUIC.cloud ke WP REST API Anda tampaknya diblokir.','Copy Log'=>'Salin Log','Selectors must exist in the CSS. Parent classes in the HTML will not work.'=>'Selektor harus ada di dalam CSS. Kelas induk dalam HTML tidak akan berfungsi.','List the CSS selectors whose styles should always be included in CCSS.'=>'Daftar selektor CSS yang gayanya harus selalu disertakan dalam CCSS.','List the CSS selectors whose styles should always be included in UCSS.'=>'Daftar selektor CSS yang gayanya harus selalu disertakan dalam UCS.','Available after %d second(s)'=>'Tersedia setelah %d detik','Enable QUIC.cloud Services'=>'Aktifkan Layanan QUIC.cloud','The features below are provided by %s'=>'Fitur di bawah ini disediakan oleh %s','Do not show this again'=>'Jangan tampilkan ini lagi','Free monthly quota available. Can also be used anonymously (no email required).'=>'Tersedia kuota bulanan gratis. Dapat juga digunakan secara anonim (tidak perlu surel).','Cloudflare Settings'=>'Pengaturan Cloudflare','Failed to detect IP'=>'Gagal mendeteksi IP','CCSS Selector Allowlist'=>'Daftar Selektor CCSS yang Diizinkan','Outputs to a series of files in the %s directory.'=>'Keluaran ke serangkaian berkas dalam direktori %s.','Attach PHP info to report. Check this box to insert relevant data from %s.'=>'Lampirkan info PHP ke laporan. Centang kotak ini untuk memasukkan data yang relevan dari %s.','Last Report Date'=>'Tanggal Laporan Terakhir','Last Report Number'=>'Jumlah Laporan Terakhir','Regenerate and Send a New Report'=>'Buat Ulang dan Kirim Laporan Baru','This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.'=>'Ini akan mengatur ulang %1$s. Jika Anda mengubah pengaturan WebP/AVIF dan ingin menghasilkan %2$s untuk gambar yang dioptimalkan sebelumnya, gunakan tindakan ini.','Soft Reset Optimization Counter'=>'Penghitung Optimasi Set Ulang Ringan','When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.'=>'Apabila beralih format, silakan %1$s atau %2$s untuk menerapkan pilihan baru ini ke gambar yang sudah dioptimalkan sebelumnya.','%1$s is a %2$s paid feature.'=>'%1$s merupakan fitur berbayar %2$s.','Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.'=>'Hapus integrasi QUIC.cloud dari situs ini. Catatan: Data QUIC.cloud akan disimpan sehingga Anda dapat mengaktifkan kembali layanan kapan saja. Jika Anda ingin sepenuhnya menghapus situs Anda dari QUIC.cloud, hapus domain melalui Dasbor QUIC.cloud terlebih dahulu.','Disconnect from QUIC.cloud'=>'Putuskan sambungan dari QUIC.cloud','Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.'=>'Apakah Anda yakin ingin memutuskan sambungan dari QUIC.cloud? Tindakan ini tidak akan menghapus data apa pun dari dasbor QUIC.cloud.','CDN - not available for anonymous users'=>'CDN - tidak tersedia bagi pengguna anonim','Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.'=>'Situs Anda terhubung dan menggunakan Layanan Daring QUIC.cloud sebagai <strong>pengguna anonim</strong>. Fungsi CDN dan fitur tertentu dari layanan optimisasi tidak tersedia untuk pengguna anonim. Tautkan ke QUIC.cloud untuk menggunakan CDN dan semua fitur Layanan Daring yang tersedia.','QUIC.cloud Integration Enabled with limitations'=>'Integrasi QUIC.cloud Diaktifkan dengan keterbatasan','Your site is connected and ready to use QUIC.cloud Online Services.'=>'Situs Anda telah terhubung dan siap untuk menggunakan Layanan Daring QUIC.cloud.','QUIC.cloud Integration Enabled'=>'Integrasi QUIC.cloud Diaktifkan','In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.'=>'Untuk menggunakan sebagian besar layanan QUIC.cloud, Anda memerlukan kuota. QUIC.cloud memberi Anda kuota gratis setiap bulan, tetapi jika Anda membutuhkan lebih banyak, Anda dapat membelinya.','Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.'=>'Menawarkan <strong>layanan DNS bawaan</strong> opsional untuk menyederhanakan proses penerimaan CDN.','Provides <strong>security at the CDN level</strong>, protecting your server from attack.'=>'Menyediakan <strong>keamanan di tingkat CDN</strong>, melindungi peladen Anda dari serangan.','Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>.'=>'Menghadirkan cakupan global dengan <strong>80+ jaringan PoP</strong> yang terus berkembang.','Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.'=>'Menyimpan cache seluruh situs Anda, termasuk konten dinamis dan <strong>blok ESI</strong>.','Content Delivery Network'=>'Jaringan Pengiriman Konten','<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.'=>'<strong>Area Pandang Gambar (VPI)</strong> memberikan tampilan penuh yang dipoles dengan baik di atas lipatan.','<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.'=>'<strong>Penampung Gambar Kualitas Rendah (LQIP)</strong> memberikan tampilan yang lebih menyenangkan pada gambar Anda karena tidak banyak memuat.','<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.'=>'<strong>CSS Unik (UCS) </strong> menghapus definisi gaya yang tidak digunakan untuk pemuatan halaman yang lebih cepat secara keseluruhan.','<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.'=>'<strong>CSS Penting (CCSS)</strong> memuat konten yang terlihat di atas lipatan dengan lebih cepat dan dengan gaya penuh.','QUIC.cloud\'s Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.'=>'Layanan Optimasi Halaman QUIC.cloud mengatasi CSS berlebihan, dan meningkatkan pengalaman pengguna selama pemuatan halaman, yang dapat meningkatkan skor kecepatan halaman.','Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.'=>'Pemrosesan untuk format gambar PNG, JPG, dan WebP gratis. AVIF tersedia dengan biaya tambahan.','Optionally creates next-generation WebP or AVIF image files.'=>'Secara opsional, membuat berkas gambar WebP atau AVIF generasi berikutnya.','Processes your uploaded PNG and JPG images to produce smaller versions that don\'t sacrifice quality.'=>'Memproses gambar PNG dan JPG yang Anda unggah untuk menghasilkan versi yang lebih kecil tanpa mengorbankan kualitas.','QUIC.cloud\'s Image Optimization service does the following:'=>'Layanan Optimasi Gambar QUIC.cloud melakukan hal berikut:','<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.'=>'<strong>Optimasi Halaman</strong> merampingkan gaya halaman dan elemen visual untuk pemuatan yang lebih cepat.','<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.'=>'<strong>Optimasi Gambar</strong> memberi Anda ukuran berkas gambar yang lebih kecil yang dikirimkan lebih cepat.','QUIC.cloud\'s Online Services improve your site in the following ways:'=>'Layanan Daring QUIC.cloud meningkatkan situs Anda dengan cara-cara berikut:','Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.'=>'Percepat situs WordPress Anda lebih jauh lagi dengan Layanan Daring dan CDN QUIC.cloud.','QUIC.cloud Integration Disabled'=>'Integrasi QUIC.cloud Dinonaktifkan','QUIC.cloud Online Services'=>'Layanan Daring QUIC.cloud','Online Services'=>'Layanan Daring','Autoload'=>'Muat Otomatis','Refresh QUIC.cloud status'=>'Segarkan status QUIC.cloud','Refresh'=>'Segarkan','You must be using one of the following products in order to measure Page Load Time:'=>'Anda harus menggunakan salah satu dari produk berikut ini untuk mengukur Waktu Muat Halaman:','Refresh Usage'=>'Segarkan Penggunaan','News'=>'Berita','You need to set the %s in Settings first before using the crawler'=>'Anda harus mengatur %s di Pengaturan terlebih dahulu sebelum menggunakan perayap','You must set %1$s to %2$s before using this feature.'=>'Anda harus mengatur %1$s ke %2$s sebelum menggunakan fitur ini.','You must set %s before using this feature.'=>'Anda harus mengatur %s sebelum menggunakan fitur ini.','My QUIC.cloud Dashboard'=>'Dasbor QUIC.cloud Saya','You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.'=>'Saat ini Anda menggunakan layanan sebagai pengguna anonim. Untuk mengelola opsi QUIC.cloud Anda, gunakan tombol di bawah ini untuk membuat akun dan menautkan ke Dasbor QUIC.cloud.','To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.'=>'Untuk mengelola opsi QUIC.cloud Anda, buka Dasbor QUIC.cloud.','To manage your QUIC.cloud options, please contact your hosting provider.'=>'Untuk mengelola opsi QUIC.cloud Anda, silakan hubungi penyedia hosting Anda.','To manage your QUIC.cloud options, go to your hosting provider\'s portal.'=>'Untuk mengelola opsi QUIC.cloud Anda, buka portal penyedia hosting Anda.','QUIC.cloud CDN Options'=>'Opsi CDN QUIC.cloud','Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!'=>'Performa WordPress terbaik yang tersedia, TTFB yang cepat secara global, penyiapan yang mudah, dan %sbanyak lagi%s!','no matter where they live.'=>'tidak peduli di mana pun mereka tinggal.','Content Delivery Network Service'=>'Layanan Jaringan Pengiriman Konten','Enable QUIC.cloud CDN'=>'Aktifkan CDN QUIC.cloud','Link & Enable QUIC.cloud CDN'=>'Tautkan & Aktifkan CDN QUIC.cloud','QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.'=>'CDN QUIC.cloud <strong>tidak tersedia</strong> untuk pengguna anonim (tidak ditautkan).','QUIC.cloud CDN is currently <strong>fully disabled</strong>.'=>'QUIC.cloud CDN saat ini <strong>sepenuhnya dinonaktifkan</strong>.','Learn More about QUIC.cloud'=>'Pelajari Lebih Lanjut tentang QUIC.cloud','QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.'=>'QUIC.cloud menyediakan CDN dan layanan pengoptimalan daring, dan tidak diperlukan. Anda dapat menggunakan banyak fitur plugin ini tanpa QUIC.cloud.','Enable QUIC.cloud services'=>'Aktifkan layanan QUIC.cloud','Free monthly quota available.'=>'Tersedia kuota bulanan gratis.','Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.'=>'Percepat situs WordPress Anda lebih jauh lagi dengan <strong>Layanan Daring dan CDN QUIC.cloud</strong>.','Accelerate, Optimize, Protect'=>'Mempercepat, Mengoptimalkan, Melindungi','Check the status of your most important settings and the health of your CDN setup here.'=>'Periksa status pengaturan terpenting Anda dan kesehatan penyiapan CDN Anda di sini.','QUIC.cloud CDN Status Overview'=>'Ikhtisar Status CDN QUIC.cloud','Refresh Status'=>'Segarkan Status','Other Static CDN'=>'CDN Statis Lainnya','Dismiss this notice.'=>'Tutup pemberitahuan ini.','Send to twitter to get %s bonus'=>'Kirim ke twitter untuk mendapatkan bonus %s','Spread the love and earn %s credits to use in our QUIC.cloud online services.'=>'Sebarkan cinta dan dapatkan %s kredit untuk digunakan dalam layanan daring QUIC.cloud kami.','No backup of unoptimized AVIF file exists.'=>'Tidak ada cadangan berkas AVIF yang tidak dioptimalkan.','AVIF saved %s'=>'AVIF disimpan %s','AVIF file reduced by %1$s (%2$s)'=>'Berkas AVIF dikurangi oleh %1$s (%2$s)','Currently using original (unoptimized) version of AVIF file.'=>'Saat ini menggunakan versi asli (tidak dioptimalkan) dari berkas AVIF.','Currently using optimized version of AVIF file.'=>'Saat ini menggunakan versi yang dioptimalkan dari berkas AVIF.','WebP/AVIF For Extra srcset'=>'WebP/AVIF Untuk srcset ekstra','Next-Gen Image Format'=>'Format Gambar Next-Gen','Enabled AVIF file successfully.'=>'Berhasil mengaktifkan berkas AVIF.','Disabled AVIF file successfully.'=>'Berhasil menonaktifkan berkas AVIF.','Reset image optimization counter successfully.'=>'Berhasil mengatur ulang penghitung optimasi gambar.','Filename is empty!'=>'Nama berkas kosong!','You will need to finish %s setup to use the online services.'=>'Anda harus menyelesaikan pengaturan %s untuk menggunakan layanan daring.','Sync QUIC.cloud status successfully.'=>'Berhasil menyinkronkan status QUIC.cloud.','Linked to QUIC.cloud preview environment, for testing purpose only.'=>'Ditautkan ke lingkungan pratinjau QUIC.cloud, hanya untuk tujuan pengujian.','Click here to proceed.'=>'Klik di sini untuk melanjutkan.','Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.'=>'Situs tidak dikenali. QUIC.cloud dinonaktifkan secara otomatis. Silakan aktifkan kembali akun QUIC.cloud Anda.','Reset %s activation successfully.'=>'Berhasil mengatur ulang aktivasi %s.','Congratulations, %s successfully set this domain up for the online services with CDN service.'=>'Selamat, %s berhasil menyiapkan domain ini untuk layanan daring dengan layanan CDN.','Congratulations, %s successfully set this domain up for the online services.'=>'Selamat, %s berhasil menyiapkan domain ini untuk layanan daring.','Congratulations, %s successfully set this domain up for the anonymous online services.'=>'Selamat, %s berhasil menyiapkan domain ini untuk layanan daring anonim.','%s activation data expired.'=>'Data aktivasi %s kedaluwarsa.','Failed to parse %s activation status.'=>'Gagal mengurai status aktivasi %s.','Failed to validate %s activation data.'=>'Gagal memvalidasi data aktivasi %s.','Cert or key file does not exist.'=>'Sertifikat atau berkas kunci tidak ada.','You need to activate QC first.'=>'Anda harus mengaktifkan QC terlebih dahulu.','You need to set the %1$s first. Please use the command %2$s to set.'=>'Anda perlu mengatur %1$s terlebih dahulu. Silakan gunakan perintah %2$s untuk mengatur.','Failed to get echo data from WPAPI'=>'Gagal mendapatkan data echo WPAPI','The user with id %s has editor access, which is not allowed for the role simulator.'=>'Pengguna dengan id %s memiliki akses editor, yang tidak diizinkan untuk simulator peran.','You have used all of your quota left for current service this month.'=>'Anda telah menggunakan seluruh kuota tersisa untuk layanan saat ini di bulan ini.','Learn more or purchase additional quota.'=>'Pelajari lebih lanjut atau beli kuota tambahan.','You have used all of your daily quota for today.'=>'Anda telah menggunakan seluruh kuota harian Anda untuk hari ini.','If comment to be kept is like: %1$s write: %2$s'=>'Jika komentar yang akan dipertahankan adalah seperti: %1$s tulis: %2$s','When minifying HTML do not discard comments that match a specified pattern.'=>'Saat memperkecil HTML, jangan hapus komentar yang sesuai dengan pola tertentu.','Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.'=>'Tentukan tindakan AJAX di POST/GET dan jumlah detik untuk menyimpan permintaan tersebut, dipisahkan dengan spasi.','HTML Keep Comments'=>'Pertahankan Komentar HTML','AJAX Cache TTL'=>'TTL Cache AJAX','You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.'=>'Anda memiliki gambar yang menunggu untuk ditarik. Harap tunggu sampai penarikan otomatis selesai, atau tarik ke bawah secara manual sekarang.','Clean all orphaned post meta records'=>'Bersihkan seluruh catatan meta tulisan tanpa induk','Orphaned Post Meta'=>'Meta Tulisan Tanpa Induk','Best available WordPress performance'=>'Kinerja WordPress terbaik yang tersedia','Clean orphaned post meta successfully.'=>'Berhasil membersihkan meta tulisan tanpa induk.','Last Pulled'=>'Penarikan Terakhir','You can list the 3rd party vary cookies here.'=>'Anda dapat membuat daftar kuki pihak ketiga yang bervariasi di sini.','Vary Cookies'=>'Variasi Kuki','Preconnecting speeds up future loads from a given origin.'=>'Prahubung mempercepat pemuatan di masa mendatang dari sumber yang diberikan.','If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.'=>'Jika tema Anda tidak menggunakan JS untuk memperbarui keranjang mini, Anda harus mengaktifkan opsi ini untuk menampilkan konten keranjang yang benar.','Generate a separate vary cache copy for the mini cart when the cart is not empty.'=>'Buat salinan cache bervariasi yang terpisah untuk keranjang mini ketika keranjang berisi.','Vary for Mini Cart'=>'Bervariasi untuk Keranjang Mini','DNS Preconnect'=>'Prahubung DNS','This setting is %1$s for certain qualifying requests due to %2$s!'=>'Pengaturan ini %1$s untuk permintaan kualifikasi tertentu karena %2$s!','Listed JS files or inline JS code will be delayed.'=>'Berkas JS yang terdaftar atau kode JS sebaris akan tertunda.','URL Search'=>'Cari URL','JS Delayed Includes'=>'JS Tertunda Termasuk','Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.'=>'Domain_Key Anda untuk sementara telah dimasukkan ke dalam daftar blokir untuk mencegah penyalahgunaan. Anda dapat menghubungi dukungan di QUIC.cloud untuk mempelajari lebih lanjut.','Cloud server refused the current request due to unpulled images. Please pull the images first.'=>'Peladen awan menolak permintaan saat ini karena gambar tidak ditarik. Silakan tarik gambarnya terlebih dahulu.','Current server load'=>'Beban peladen saat ini','Redis encountered a fatal error: %1$s (code: %2$d)'=>'Redis mengalami galat fatal: %1$s (kode: %2$d)','Started async image optimization request'=>'Memulai permintaan pengoptimalan gambar asinkron','Started async crawling'=>'Memulai perayapan asinkron','Saving option failed. IPv4 only for %s.'=>'Opsi penyimpanan gagal. IPv4 hanya untuk %s.','Cloud server refused the current request due to rate limiting. Please try again later.'=>'Peladen awan menolak permintaan saat ini karena pembatasan tarif. Silakan coba lagi nanti.','Maximum image post id'=>'ID gambar tulisan maksimum','Current image post id position'=>'Posisi id tulisan gambar saat ini','Images ready to request'=>'Gambar siap diminta','Redetect'=>'Deteksi ulang','If you are using a %1$s socket, %2$s should be set to %3$s'=>'Jika Anda menggunakan soket %1$s, %2$s harus disetel ke %3$s','All QUIC.cloud service queues have been cleared.'=>'Seluruh antrean layanan QUIC.cloud telah dihapus.','Cache key must be integer or non-empty string, %s given.'=>'Kunci cache harus berupa bilangan bulat atau string yang tidak kosong, %s diberikan.','Cache key must not be an empty string.'=>'Kunci cache tidak boleh berupa string kosong.','JS Deferred / Delayed Excludes'=>'Pengecualian JS Ditangguhkan/Ditunda','The queue is processed asynchronously. It may take time.'=>'Antrean diproses secara asinkron. Ini mungkin memerlukan waktu.','In order to use QC services, need a real domain name, cannot use an IP.'=>'Untuk menggunakan layanan QC, memerlukan nama domain asli, tidak bisa menggunakan IP.','Restore Settings'=>'Pulihkan Pengaturan','This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?'=>'Ini akan memulihkan pengaturan cadangan yang dibuat %1$s sebelum menerapkan praset %2$s. Perubahan apa pun yang dilakukan sejak saat itu akan hilang. Apakah Anda ingin melanjutkan?','Backup created %1$s before applying the %2$s preset'=>'Cadangan dibuat %1$s sebelum menerapkan praset %2$s','Applied the %1$s preset %2$s'=>'Menerapkan praset %1$s %2$s','Restored backup settings %1$s'=>'Setelan cadangan dipulihkan %1$s','Error: Failed to apply the settings %1$s'=>'Galat: Gagal menerapkan pengaturan %1$s','History'=>'Riwayat','unknown'=>'tidak diketahui','Apply Preset'=>'Terapkan Praset','This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?'=>'Ini akan mencadangkan setelan Anda saat ini dan menggantinya dengan setelan praset %1$s. Apakah Anda ingin melanjutkan?','Who should use this preset?'=>'Siapa yang harus menggunakan praset ini?','Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.'=>'Gunakan Praset resmi rancangan LiteSpeed untuk mengonfigurasi situs Anda dalam satu klik. Cobalah hal-hal penting dalam cache tanpa risiko, pengoptimalan ekstrem, atau sesuatu di antaranya.','LiteSpeed Cache Standard Presets'=>'Praset Standar LiteSpeed Cache','A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.'=>'Koneksi QUIC.cloud diperlukan untuk menggunakan praset ini. Memungkinkan tingkat optimasi maksimum untuk meningkatkan skor kecepatan halaman.','This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.'=>'Praset ini hampir pasti memerlukan pengujian dan pengecualian untuk beberapa gambar CSS, JS, dan Tunda Muat. Berikan perhatian khusus pada logo, atau gambar slider berbasis HTML.','Inline CSS added to Combine'=>'CSS sebaris ditambahkan ke Gabungan','Inline JS added to Combine'=>'JS sebaris ditambahkan ke Gabungan','JS Delayed'=>'JS Tertunda','Viewport Image Generation'=>'Pembuatan Area Pandang Gambar','Lazy Load for Images'=>'Tunda Muat Gambar','Everything in Aggressive, Plus'=>'Seluruh yang Agresif, Plus','Extreme'=>'Ekstrem','This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.'=>'Praset ini mungkin langsung berfungsi untuk beberapa situs web, tetapi pastikan untuk mengujinya! Beberapa pengecualian CSS atau JS mungkin diperlukan di Optimasi Halaman > Penyesuaian.','Lazy Load for Iframes'=>'Tunda Muat Iframes','Removed Unused CSS for Users'=>'Hapus CSS yang Tidak Digunakan untuk Pengguna','Asynchronous CSS Loading with Critical CSS'=>'Pemuatan CSS Asinkron dengan CSS Penting','CSS & JS Combine'=>'Gabungan CSS & JS','Everything in Advanced, Plus'=>'Seluruh yang Tingkat Lanjut, Plus','Aggressive'=>'Agresif','A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.'=>'Koneksi QUIC.cloud diperlukan untuk menggunakan praset ini. Termasuk berbagai optimasi yang diketahui dapat meningkatkan skor kecepatan halaman.','This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.'=>'Praset ini bagus untuk sebagian besar situs web, dan kecil kemungkinannya menimbulkan konflik. Setiap konflik CSS atau JS dapat diselesaikan dengan Optimasi Halaman > Penyesuaian.','Remove Query Strings from Static Files'=>'Hapus String Kueri dari Berkas Statis','DNS Prefetch for static files'=>'Prapengambilan DNS untuk berkas statis','JS Defer for both external and inline JS'=>'Penangguhan JS untuk JS eksternal dan sebaris','CSS, JS and HTML Minification'=>'Perkecil CSS, JS, dan HTML','Guest Mode and Guest Optimization'=>'Mode Tamu dan Optimasi Tamu','Everything in Basic, Plus'=>'Seluruh yang Dasar, Plus','Advanced (Recommended)'=>'Tingkat Lanjut (Disarankan)','A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.'=>'Koneksi QUIC.cloud diperlukan untuk menggunakan praset ini. Termasuk optimasi yang diketahui dapat meningkatkan skor situs dalam alat pengukuran kecepatan halaman.','This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.'=>'Praset berisiko rendah ini memperkenalkan pengoptimalan dasar untuk kecepatan dan pengalaman pengguna. Cocok untuk pemula yang antusias.','Mobile Cache'=>'Cache Seluler','Everything in Essentials, Plus'=>'Seluruh yang Esensial, Plus','A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled.'=>'Koneksi QUIC.cloud tidak diperlukan untuk menggunakan praset ini. Hanya fitur cache dasar yang diaktifkan.','This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.'=>'Praset tanpa risiko ini cocok untuk seluruh situs web. Baik untuk pengguna baru, situs web sederhana, atau pengembangan berorientasi cache.','Higher TTL'=>'TTL lebih tinggi','Default Cache'=>'Cache Asali','Essentials'=>'Esensial','LiteSpeed Cache Configuration Presets'=>'Praset Konfigurasi Cache LiteSpeed','Standard Presets'=>'Praset Standar','Listed CSS files will be excluded from UCSS and saved to inline.'=>'Berkas CSS yang terdaftar akan dikecualikan dari UCSS dan disimpan ke sebaris.','UCSS Selector Allowlist'=>'Daftar yang Diizinkan Selektor UCSS','Presets'=>'Praset','Partner Benefits Provided by'=>'Manfaat Mitra Disediakan oleh','LiteSpeed Logs'=>'Log LiteSpeed','Crawler Log'=>'Log Perayap','Purge Log'=>'Bersihkan Log','Prevent writing log entries that include listed strings.'=>'Cegah penulisan entri log yang menyertakan string yang terdaftar.','View Site Before Cache'=>'Lihat Situs Sebelum Cache','View Site Before Optimization'=>'Lihat Situs Sebelum Optimasi','Debug Helpers'=>'Bantuan Debug','Enable Viewport Images auto generation cron.'=>'Aktifkan kron pembuatan otomatis Area Pandang Gambar.','This enables the page\'s initial screenful of imagery to be fully displayed without delay.'=>'Hal ini memungkinkan layar awal gambar halaman ditampilkan sepenuhnya tanpa penundaan.','The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.'=>'Layanan Area Pandang Gambar mendeteksi gambar mana yang muncul di paruh atas, dan mengecualikannya dari tunda muat.','When you use Lazy Load, it will delay the loading of all images on a page.'=>'Saat Anda menggunakan Tunda Muat, itu akan menunda pemuatan seluruh gambar di halaman.','Use %1$s to bypass remote image dimension check when %2$s is ON.'=>'Gunakan %1$s untuk mengabaikan pemeriksaan dimensi gambar jarak jauh saat %2$s AKTIF.','VPI'=>'VPI','%s must be turned ON for this setting to work.'=>'%s harus DIAKTIFKAN agar setelan ini berfungsi.','Viewport Image'=>'Area Pandang Gambar','API: Filter %s available to disable blocklist.'=>'API: Penyaring %s tersedia untuk menonaktifkan daftar blokir.','API: PHP Constant %s available to disable blocklist.'=>'API: Konstanta PHP %s tersedia untuk menonaktifkan daftar blokir.','Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:'=>'Harap pertimbangkan untuk menonaktifkan plugin yang terdeteksi berikut, karena mungkin bertentangan dengan LiteSpeed Cache:','Mobile'=>'Ponsel','Disable VPI'=>'Nonaktifkan VPI','Disable Image Lazyload'=>'Nonaktifkan Tunda muat Gambar','Disable Cache'=>'Nonaktifkan Cache','Debug String Excludes'=>'Pengecualian String Debug','Viewport Images Cron'=>'Kron Area Pandang Gambar','Viewport Images'=>'Area Pandang Gambar','Alias is in use by another QUIC.cloud account.'=>'Alias ​​sedang digunakan oleh akun QUIC.cloud lain.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain.'=>'Tidak dapat secara otomatis menambahkan %1$s sebagai Alias Domain untuk domain %2$s utama.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.'=>'Tidak dapat secara otomatis menambahkan %1$s sebagai Alias Domain untuk domain %2$s utama, karena kemungkinan konflik CDN.','You cannot remove this DNS zone, because it is still in use. Please update the domain\'s nameservers, then try to delete this zone again, otherwise your site will become inaccessible.'=>'Anda tidak dapat menghapus zona DNS ini, karena masih digunakan. Harap perbarui peladen nama domain, lalu coba hapus zona ini lagi, jika tidak, situs Anda tidak akan dapat diakses.','The site is not a valid alias on QUIC.cloud.'=>'Situs ini bukan alias yang valid di QUIC.cloud.','Please thoroughly test each JS file you add to ensure it functions as expected.'=>'Harap uji secara menyeluruh setiap berkas JS yang Anda tambahkan untuk memastikannya berfungsi seperti yang diharapkan.','Please thoroughly test all items in %s to ensure they function as expected.'=>'Harap uji seluruh item secara menyeluruh di %s untuk memastikan seluruhnya berfungsi seperti yang diharapkan.','Use %1$s to bypass UCSS for the pages which page type is %2$s.'=>'Gunakan %1$s untuk melewati UCSS untuk halaman yang tipe halamannya %2$s.','Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.'=>'Gunakan %1$s untuk menghasilkan satu UCSS tunggal untuk halaman yang tipe halamannya %2$s sedangkan tipe halaman lainnya masih per URL.','Filter %s available for UCSS per page type generation.'=>'Penyaring %s tersedia untuk UCSS tiap pembuatan jenis halaman.','Guest Mode failed to test.'=>'Mode Tamu gagal diuji.','Guest Mode passed testing.'=>'Mode Tamu lulus pengujian.','Testing'=>'Pengujian','Guest Mode testing result'=>'Hasil pengujian Mode Tamu','Not blocklisted'=>'Bukan daftar blokir','Learn more about when this is needed'=>'Pelajari lebih lanjut tentang kapan ini diperlukan','Cleaned all localized resource entries.'=>'Membersihkan seluruh entri sumber daya yang dilokalkan.','View .htaccess'=>'Lihat .htaccess','You can use this code %1$s in %2$s to specify the htaccess file path.'=>'Anda dapat menggunakan kode %1$s di %2$s untuk menentukan jalur berkas htaccess.','PHP Constant %s is supported.'=>'Mendukung konstanta PHP %s.','Default path is'=>'Jalur asali adalah','.htaccess Path'=>'Jalur .htaccess','Please read all warnings before enabling this option.'=>'Harap baca seluruh peringatan sebelum mengaktifkan opsi ini.','This will delete all generated unique CSS files'=>'Ini akan menghapus seluruh berkas CSS unik yang dihasilkan','In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.'=>'Untuk menghindari galat pemutakhiran, Anda harus menggunakan %1$s atau yang lebih baru sebelum dapat meningkatkan ke versi %2$s.','Use latest GitHub Dev/Master commit'=>'Gunakan komit GitHub Dev/Master terbaru','Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.'=>'Tekan tombol %s untuk menggunakan komit GitHub terbaru. Master adalah untuk kandidat rilis & Dev untuk pengujian eksperimental.','Downgrade not recommended. May cause fatal error due to refactored code.'=>'Penurunan versi tidak disarankan. Dapat menyebabkan galat fatal karena penulisan ulang kode.','Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.'=>'Hanya optimasi halaman untuk pengunjung tamu (tidak masuk). Jika NONAKTIF, berkas CSS/JS/CCSS akan digandakan oleh setiap grup pengguna.','Listed JS files or inline JS code will not be optimized by %s.'=>'Berkas JS yang terdaftar atau kode JS sebaris tidak akan dioptimalkan oleh %s.','Listed URI will not generate UCSS.'=>'URI yang terdaftar tidak akan menghasilkan UCSS.','The selector must exist in the CSS. Parent classes in the HTML will not work.'=>'Selektor harus ada di CSS. Kelas induk dalam HTML tidak akan berfungsi.','Wildcard %s supported.'=>'Mendukung karakter pengganti %s.','Useful for above-the-fold images causing CLS (a Core Web Vitals metric).'=>'Berguna untuk gambar paruh-atas yang menyebabkan CLS (Core Web Vitals metric).','Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).'=>'Tetapkan lebar dan tinggi secara eksplisit pada elemen gambar untuk mengurangi pergeseran tata letak dan meningkatkan CLS (metrik Core Web Vital).','Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.'=>'Perubahan pada setelan ini tidak berlaku untuk LQIP yang sudah dibuat. Untuk membuat ulang LQIP yang ada, harap %s terlebih dahulu dari menu bilah admin.','Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).'=>'Menangguhkan hingga halaman diuraikan atau menunda hingga interaksi dapat membantu mengurangi perebutan sumber daya dan meningkatkan kinerja yang menyebabkan FID (Core Web Vitals metric) lebih rendah.','Delayed'=>'Ditunda','JS error can be found from the developer console of browser by right clicking and choosing Inspect.'=>'Galat JS dapat ditemukan dari konsol pengembang peramban dengan klik kanan dan pilih Inspeksi.','This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.'=>'Opsi ini dapat mengakibatkan  JS atau masalah tata letak pada tampilan depan dengan tema/plugin tertentu.','This will also add a preconnect to Google Fonts to establish a connection earlier.'=>'Ini juga akan menambahkan prahubung ke Fon Google untuk membuat koneksi lebih awal.','Delay rendering off-screen HTML elements by its selector.'=>'Tunda merender elemen HTML di luar layar oleh pemilihnya.','Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.'=>'Nonaktifkan opsi ini untuk menghasilkan CCSS per Jenis Tulisan, bukan per halaman. Ini dapat menghemat kuota CCSS yang signifikan, namun dapat mengakibatkan gaya CSS yang salah jika situs Anda menggunakan pembuat halaman.','This option is bypassed due to %s option.'=>'Opsi ini dilewati karena opsi %s.','Elements with attribute %s in HTML code will be excluded.'=>'Elemen dengan atribut %s dalam kode HTML akan dikecualikan.','Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.'=>'Gunakan layanan daring QUIC.cloud untuk menghasilkan CSS penting dan memuat sisa CSS secara asinkron.','This option will automatically bypass %s option.'=>'Opsi ini akan secara otomatis melewati opsi %s.','Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.'=>'UCSS sebaris untuk mengurangi pemuatan berkas CSS ekstra. Opsi ini tidak akan diaktifkan secara otomatis untuk halaman %1$s. Untuk menggunakannya di halaman %1$s, harap setel ke AKTIF.','Run %s Queue Manually'=>'Jalankan Antrean %s Secara Manual','This option is bypassed because %1$s option is %2$s.'=>'Opsi ini dilewati karena opsi %1$s adalah %2$s.','Automatic generation of unique CSS is in the background via a cron-based queue.'=>'Pembuatan otomatis CSS unik di latar belakang melalui antrean berbasis kron.','This will drop the unused CSS on each page from the combined file.'=>'Ini akan menghapus CSS yang tidak digunakan pada setiap halaman dari berkas gabungan.','HTML Settings'=>'Pengaturan HTML','LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.'=>'Plugin cache LiteSpeed ​​ditingkatkan. Harap segarkan halaman untuk menyelesaikan peningkatan data konfigurasi.','Your %1$s quota on %2$s will still be in use.'=>'Kuota %1$s Anda di %2$s masih akan digunakan.','This option can help to correct the cache vary for certain advanced mobile or tablet visitors.'=>'Opsi ini dapat membantu memperbaiki variasi cache untuk pengunjung seluler atau tablet tingkat lanjut tertentu.','Guest Mode provides an always cacheable landing page for an automated guest\'s first time visit, and then attempts to update cache varies via AJAX.'=>'Mode Tamu menyediakan halaman arahan yang selalu dapat dicache untuk kunjungan pertama tamu secara otomatis, dan kemudian berusaha memperbarui variasi cache melalui AJAX.','Please make sure this IP is the correct one for visiting your site.'=>'Harap pastikan bahwa IP ini sudah benar untuk mengunjungi situs Anda.','the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.'=>'alamat IP yang terdeteksi secara otomatis mungkin tidak akurat jika Anda memiliki set IP keluar tambahan, atau Anda memiliki beberapa IP yang dikonfigurasi di peladen Anda.','You need to turn %s on and finish all WebP generation to get maximum result.'=>'Anda perlu mengaktifkan %s dan menyelesaikan seluruh pembuatan WebP untuk mendapatkan hasil yang maksimal.','You need to turn %s on to get maximum result.'=>'Anda perlu mengaktifkan %s untuk mendapatkan hasil yang maksimal.','This option enables maximum optimization for Guest Mode visitors.'=>'Opsi ini memungkinkan pengoptimalan maksimum untuk pengunjung Mode Tamu.','More'=>'Lebih Lanjut','Remaining Daily Quota'=>'Sisa Kuota Harian','Successfully Crawled'=>'Berhasil Dirayapi','Already Cached'=>'Sudah Dicache','The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.'=>'Perayap akan menggunakan peta situs XML atau indeks peta situs Anda. Masukkan URL lengkap ke peta situs Anda di sini.','Optional when API token used.'=>'Opsional saat token API sudah digunakan.','Recommended to generate the token from Cloudflare API token template "WordPress".'=>'Direkomendasikan untuk menghasilkan token dari templat token Cloudflare API "WordPress".','Global API Key / API Token'=>'Kunci API/Token API Global','NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.'=>'CATATAN: CDN QUIC.cloud dan Cloudflare tidak menggunakan Pemetaan CDN. Jika Anda hanya menggunakan QUIC.cloud atau Cloudflare, biarkan pengaturan ini %s.','Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN.'=>'Ubah pengaturan %s jika Anda menggunakan Jaringan Pengiriman Konten (CDN) tradisional atau subdomain untuk konten statis dengan CDN QUIC.cloud.','Use external object cache functionality.'=>'Gunakan fungsionalitas cache obyek eksternal.','Serve a separate cache copy for mobile visitors.'=>'Sajikan salinan cache terpisah untuk pengunjung seluler.','By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.'=>'Standanya, halaman Akun Saya, Checkout, dan Keranjang yang secara otomatis dikecualikan dari cache. Kesalahan konfigurasi asosiasi halaman di pengaturan WooCommerce dapat menyebabkan beberapa halaman salah dikecualikan.','Cleaned all Unique CSS files.'=>'Membersihkan seluruh berkas CSS Unik.','Add Missing Sizes'=>'Tambah Ukuran yang Hilang','Optimize for Guests Only'=>'Optimasi Hanya untuk Pengunjung','Guest Mode JS Excludes'=>'Pengecualian JS Mode Tamu','CCSS Per URL'=>'CCSS Per-URL','HTML Lazy Load Selectors'=>'Selektor Tunda Muat HTML','UCSS URI Excludes'=>'Pengecualian UCSS URI','UCSS Inline'=>'UCSS Sebaris','Guest Optimization'=>'Optimasi Pengunjung','Guest Mode'=>'Mode Tamu','Online node needs to be redetected.'=>'Node daring perlu dideteksi ulang.','The current server is under heavy load.'=>'Peladen saat ini memiliki beban berat.','Please see %s for more details.'=>'Silakan buka %s untuk lebih detil.','This setting will regenerate crawler list and clear the disabled list!'=>'Pengaturan ini akan membuat ulang daftar perayap dan menghapus daftar yang dinonaktifkan!','%1$s %2$s files left in queue'=>'%1$s %2$s berkas tertinggal dalam antrean','Crawler disabled list is cleared! All crawlers are set to active! '=>'Daftar perayap yang dinonaktifkan dibersihkan! Seluruh perayap diatur aktif! ','Redetected node'=>'Node yang terdeteksi kembali','No available Cloud Node after checked server load.'=>'Tidak ada Node Awan yang tersedia setelah memeriksa beban peladen.','Localization Files'=>'Berkas Pelokalan','Purged!'=>'Dibersihkan!','Resources listed here will be copied and replaced with local URLs.'=>'Sumber daya yang tercantum di sini akan disalin dan diganti dengan URL lokal.','Use latest GitHub Master commit'=>'Gunakan komit GitHub Master terbaru','Use latest GitHub Dev commit'=>'Gunakan komit GitHub Dev terbaru','No valid sitemap parsed for crawler.'=>'Tidak ada peta situs yang valid yang diuraikan untuk perayap.','CSS Combine External and Inline'=>'Gabung CSS Eksternal dan Sebaris','Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.'=>'Sertakan CSS eksternal dan CSS sebaris dalam berkas gabungan saat %1$s diaktifkan. Opsi ini membantu menjaga prioritas CSS, yang seharusnya meminimalkan potensi  yang disebabkan oleh Penggabungan CSS.','Minify CSS files and inline CSS code.'=>'Perkecil dan sebariskan berkas CSS.','Predefined list will also be combined w/ the above settings'=>'Daftar yang telah ditentukan juga akan digabungkan dengan pengaturan di atas','Localization'=>'Pelokalan','Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.'=>'Sertakan JS eksternal dan JS sebaris dalam berkas gabungan saat %1$s diaktifkan. Opsi ini membantu menjaga prioritas eksekusi JS, yang seharusnya meminimalkan potensi  yang disebabkan oleh Gabungan JS.','Combine all local JS files into a single file.'=>'Gabungkan seluruh berkas JS lokal menjadi satu berkas.','Listed JS files or inline JS code will not be deferred or delayed.'=>'Berkas JS yang terdaftar atau kode JS sebaris tidak akan ditangguhkan atau ditunda.','JS Combine External and Inline'=>'Gabung JS Eksternal dan Sebaris','Dismiss'=>'Abaikan','The latest data file is'=>'Berkas data terbaru adalah','The list will be merged with the predefined nonces in your local data file.'=>'Daftar tersebut akan digabungkan dengan nonces yang telah ditentukan sebelumnya dalam berkas data lokal Anda.','Combine CSS files and inline CSS code.'=>'Gabung berkas CSS dan sebariskan kode CSS.','Minify JS files and inline JS codes.'=>'Perkecil berkas JS dan sebariskan kode JS.','Listed JS files or inline JS code will not be minified or combined.'=>'Berkas JS yang terdaftar atau kode JS sebaris tidak akan diperkecil atau digabungkan.','Listed CSS files or inline CSS code will not be minified or combined.'=>'Berkas CSS yang terdaftar atau kode CSS sebaris tidak akan diperkecil atau digabungkan.','This value is overwritten by the Network setting.'=>'Nilai ini ditimpa oleh pengaturan Jaringan.','LQIP Excludes'=>'Pengecualian LQIP','These images will not generate LQIP.'=>'Gambar-gambar ini tidak akan menghasilkan LQIP.','Are you sure you want to reset all settings back to the default settings?'=>'Anda yakin ingin menyetel ulang seluruh pengaturan kembali ke pengaturan asali?','This option will remove all %s tags from HTML.'=>'Opsi ini akan menghapus seluruh tag %s dari HTML.','Are you sure you want to clear all cloud nodes?'=>'Anda yakin ingin menghapus seluruh node awan?','Remove Noscript Tags'=>'Hapus Tag Noscript','The site is not registered on QUIC.cloud.'=>'Situs ini tidak terdaftar di QUIC.cloud.','Click here to set.'=>'Klik di sini untuk mengatur.','Localize Resources'=>'Lokalisasi Sumber Daya','Setting Up Custom Headers'=>'Menyiapkan Header Khusus','This will delete all localized resources'=>'Ini akan menghapus seluruh sumber daya yang dilokalkan','Localized Resources'=>'Sumber Daya yang Dilokalisasi','Comments are supported. Start a line with a %s to turn it into a comment line.'=>'Mendukung komentar. Mulai baris dengan %s untuk mengubahnya menjadi baris komentar.','HTTPS sources only.'=>'Sumber HTTPS saja.','Localize external resources.'=>'Lokalkan sumber daya eksternal.','Localization Settings'=>'Pengaturan Pelokalan','Use QUIC.cloud online service to generate unique CSS.'=>'Gunakan layanan daring QUIC.cloud untuk menghasilkan CSS yang unik.','Generate UCSS'=>'Buat UCSS','Unique CSS'=>'CSS Unik','Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches'=>'Bersihkan entri cache yang dibuat oleh plugin ini kecuali untuk CSS Penting, CSS Unik, dan cache LQIP','LiteSpeed Report'=>'Laporan LiteSpeed','Image Thumbnail Group Sizes'=>'Ukuran Grup Gambar Mini','Ignore certain query strings when caching. (LSWS %s required)'=>'Abaikan string kueri tertentu saat men-cache. (Diperlukan %s LSWS)','For URLs with wildcards, there may be a delay in initiating scheduled purge.'=>'Untuk URL dengan karakter pengganti, mungkin ada penundaan dalam memulai pembersihan terjadwal.','By design, this option may serve stale content. Do not enable this option, if that is not OK with you.'=>'Secara desain, opsi ini mungkin menyajikan konten lama. Jangan aktifkan opsi ini, jika Anda tidak setuju.','Serve Stale'=>'Sajikan Sepanjang Waktu','This value is overwritten by the primary site setting.'=>'Nilai ini ditimpa oleh pengaturan situs utama.','One or more pulled images does not match with the notified image md5'=>'Satu atau lebih gambar yang ditarik tidak cocok dengan md5 gambar yang disampaikan','Some optimized image file(s) has expired and was cleared.'=>'Beberapa berkas gambar yang dioptimalkan telah kedaluwarsa dan telah dihapus.','You have too many requested images, please try again in a few minutes.'=>'Anda memiliki terlalu banyak permintaan gambar, harap coba lagi dalam beberapa menit.','Pulled WebP image md5 does not match the notified WebP image md5.'=>'Nilai md5 gambar WebP yang ditarik tidak cocok dengan md5 gambar WebP yang disampaikan.','Pulled AVIF image md5 does not match the notified AVIF image md5.'=>'MD5 gambar AVIF yang ditarik tidak cocok dengan MD5 gambar AVIF yang diberitahukan.','Read LiteSpeed Documentation'=>'Baca Dokumentasi LiteSpeed','There is proceeding queue not pulled yet. Queue info: %s.'=>'Ada antrean lanjutan yang belum ditarik. Info antrean: %s.','Specify how long, in seconds, Gravatar files are cached.'=>'Tentukan berapa lama, dalam detik, berkas Gravatar dicache.','Cleared %1$s invalid images.'=>'Menghapus %1$s gambar yang tidak valid.','LiteSpeed Cache General Settings'=>'Pengaturan Umum LiteSpeed Cache','This will delete all cached Gravatar files'=>'Ini akan menghapus seluruh berkas Gravatar yang dicache','Prevent any debug log of listed pages.'=>'Cegah log debug dari halaman yang terdaftar.','Only log listed pages.'=>'Hanya catat halaman terdaftar.','Specify the maximum size of the log file.'=>'Tentukan ukuran maksimum berkas log.','To prevent filling up the disk, this setting should be OFF when everything is working.'=>'Untuk mencegah penuhnya diska, pengaturan ini harus NONAKTIF ketika seluruhnya berfungsi.','Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.'=>'Tekan tombol %s untuk menghentikan pengujian beta dan kembali ke rilis saat ini dari Direktori Plugin WordPress.','Use latest WordPress release version'=>'Gunakan versi rilis WordPress terbaru','OR'=>'ATAU','Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.'=>'Gunakan bagian ini untuk mengganti versi plugin. Untuk menguji beta komit GitHub, masukkan URL komit di bidang di bawah ini.','Reset Settings'=>'Reset Pengaturan','LiteSpeed Cache Toolbox'=>'Peralatan LiteSpeed Cache','Beta Test'=>'Pengujian Beta','Log View'=>'Lihat Log','Debug Settings'=>'Pengaturan Debug','Turn ON to control heartbeat in backend editor.'=>'AKTIFKAN untuk mengontrol detak di editor sisi belakang.','Turn ON to control heartbeat on backend.'=>'AKTIFKAN untuk mengontrol detak di sisi belakang.','Set to %1$s to forbid heartbeat on %2$s.'=>'Setel ke %1$s untuk melarang detak di %2$s.','WordPress valid interval is %s seconds.'=>'Interval valid WordPress adalah %s detik.','Specify the %s heartbeat interval in seconds.'=>'Tentukan interval detak %s dalam detik.','Turn ON to control heartbeat on frontend.'=>'AKTIFKAN untuk mengontrol detak di sisi depan.','Disable WordPress interval heartbeat to reduce server load.'=>'Nonaktifkan detak interval WordPress untuk mengurangi beban peladen.','Heartbeat Control'=>'Kontrol Detakan','provide more information here to assist the LiteSpeed team with debugging.'=>'berikan informasi lebih lanjut di sini untuk membantu tim LiteSpeed ​​melakukan debugging.','Optional'=>'Opsional','Generate Link for Current User'=>'Buat Tautan untuk Pengguna Saat Ini','Passwordless Link'=>'Tautan Tanpa Kata Sandi','System Information'=>'Informasi Sistem','Go to plugins list'=>'Buka daftar plugin','Install DoLogin Security'=>'Instal DoLogin Security','Check my public IP from'=>'Periksa IP publik saya dari','Your server IP'=>'IP Peladen Anda','Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.'=>'Masukkan alamat IP situs ini untuk memungkinkan layanan awan langsung memanggil IP alih-alih nama domain. Ini menghilangkan overhead pencarian DNS dan CDN.','This will enable crawler cron.'=>'Ini akan mengaktifkan perayap kron.','Crawler General Settings'=>'Pengaturan Umum Perayap','Remove from Blocklist'=>'Hapus dari Daftar Blokir','Empty blocklist'=>'Bersihkan daftar blokir','Are you sure to delete all existing blocklist items?'=>'Anda yakin ingin menghapus seluruh item dalam daftar blokir yang ada?','Blocklisted due to not cacheable'=>'Diblokir karena tidak dapat dicache','Add to Blocklist'=>'Tambahkan ke Daftar Blokir','Operation'=>'Operasi','Sitemap Total'=>'Total Peta Situs','Sitemap List'=>'Daftar Peta Situs','Refresh Crawler Map'=>'Segarkan Peta Perayap','Clean Crawler Map'=>'Bersihkan Perayap Peta Situs','Blocklist'=>'Daftar Blokir','Map'=>'Peta','Summary'=>'Ikhtisar','Cache Miss'=>'Luput Cache','Cache Hit'=>'Kunjungan Cache','Waiting to be Crawled'=>'Menunggu Dirayapi','Blocklisted'=>'Daftar Blokir','Miss'=>'Luput','Hit'=>'Kunjungan','Waiting'=>'Menunggu','Running'=>'Menjalankan','Use %1$s in %2$s to indicate this cookie has not been set.'=>'Gunakan %1$s dalam %2$s untuk menunjukkan kuki ini belum disetel.','Add new cookie to simulate'=>'Tambah kuki baru untuk simulasi','Remove cookie simulation'=>'Hapus simulasi Kuki','Htaccess rule is: %s'=>'Aturan Htaccess adalah: %s','More settings available under %s menu'=>'Pengaturan lainnya tersedia di menu %s','The amount of time, in seconds, that files will be stored in browser cache before expiring.'=>'Jumlah waktu, dalam detik, berkas tersebut akan disimpan di cache peramban sebelum kedaluwarsa.','OpenLiteSpeed users please check this'=>'Pengguna OpenLiteSpeed silakan periksa ini','Browser Cache Settings'=>'Pengaturan Cache Peramban','Paths containing these strings will be forced to public cached regardless of no-cacheable settings.'=>'Jalur yang berisi string ini akan dipaksa untuk dicache publik terlepas dari pengaturan yang tidak dapat dicache.','With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.'=>'Dengan mengaktifkan CDN QUIC.cloud, Anda mungkin masih melihat header cache dari peladen lokal Anda.','An optional second parameter may be used to specify cache control. Use a space to separate'=>'Parameter opsional kedua dapat digunakan untuk menentukan kontrol cache. Gunakan spasi untuk memisahkan','The above nonces will be converted to ESI automatically.'=>'Nonces di atas akan dikonversi ke ESI secara otomatis.','Browser'=>'Peramban','Object'=>'Objek','Default port for %1$s is %2$s.'=>'Port asali untuk %1$s adalah %2$s.','Object Cache Settings'=>'Pengaturan Cache Objek','Specify an HTTP status code and the number of seconds to cache that page, separated by a space.'=>'Tentukan kode status HTTP dan jumlah detik untuk menyimpan halaman itu dalam cache, dipisahkan oleh spasi.','Specify how long, in seconds, the front page is cached.'=>'Tentukan berapa lama, dalam detik, halaman depan dicache.','TTL'=>'TTL','If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.'=>'Jika AKTIF, salinan lama dari halaman yang dicache akan ditampilkan kepada pengunjung sampai salinan cache yang baru tersedia. Mengurangi beban peladen untuk kunjungan berikutnya. Jika NONAKTIF, halaman akan dibuat secara dinamis saat pengunjung menunggu.','Swap'=>'Swap','Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.'=>'Setel ini untuk menambahkan %1$s ke seluruh aturan %2$s sebelum meng-cache CSS guna menentukan bagaimana fon harus ditampilkan saat sedang diunduh.','Avatar list in queue waiting for update'=>'Daftar avatar dalam antrean menunggu pembaruan','Refresh Gravatar cache by cron.'=>'Segarkan cache Gravatar dengan kron.','Accelerates the speed by caching Gravatar (Globally Recognized Avatars).'=>'Meningkatkan kecepatan dengan men-cache Gravatar (Avatar yang Diakui Secara Global).','Store Gravatar locally.'=>'Simpan Gravatar secara lokal.','Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.'=>'Gagal membuat tabel Avatar. Ikuti <a %s>panduan Pembuatan Tabel dari Wiki LiteSpeed</a> untuk menyelesaikan penyiapan.','LQIP requests will not be sent for images where both width and height are smaller than these dimensions.'=>'Permintaan LQIP tidak akan dikirim untuk gambar yang lebar dan tingginya lebih kecil dari dimensi ini.','pixels'=>'piksel','Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.'=>'Jumlah yang lebih besar akan menghasilkan kualitas resolusi penampung yang lebih tinggi, tetapi akan menghasilkan berkas yang lebih besar yang akan meningkatkan ukuran halaman dan mengkonsumsi lebih banyak poin.','Specify the quality when generating LQIP.'=>'Tentukan kualitas saat membuat LQIP.','Keep this off to use plain color placeholders.'=>'Biarkan nonaktif untuk menggunakan penampung warna polos.','Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.'=>'Gunakan layanan generator LQIP (Low Quality Image Placeholder) QUIC.cloud untuk pratinjau gambar yang responsif saat memuat.','Specify the responsive placeholder SVG color.'=>'Tentukan warna SVG penampung responsif.','Variables %s will be replaced with the configured background color.'=>'Variabel %s akan diganti dengan warna latar belakang yang dikonfigurasi.','Variables %s will be replaced with the corresponding image properties.'=>'Variabel %s akan diganti dengan properti gambar yang sesuai.','It will be converted to a base64 SVG placeholder on-the-fly.'=>'Ini akan dikonversi ke penampung SVG base64 dengan cepat.','Specify an SVG to be used as a placeholder when generating locally.'=>'Tentukan SVG yang akan digunakan sebagai pengganti saat membuat secara lokal.','Prevent any lazy load of listed pages.'=>'Cegah tunda muat halaman yang terdaftar.','Iframes having these parent class names will not be lazy loaded.'=>'Iframe yang memiliki nama kelas induk ini tidak akan dimuat dengan lambat.','Iframes containing these class names will not be lazy loaded.'=>'Iframe yang berisi nama kelas ini tidak akan dimuat dengan lambat.','Images having these parent class names will not be lazy loaded.'=>'Gambar yang memiliki nama kelas induk ini tidak akan ditunda muat.','LiteSpeed Cache Page Optimization'=>'Optimasi Halaman LiteSpeed Cache','Media Excludes'=>'Pengecualian Media','CSS Settings'=>'Pengaturan CSS','%s is recommended.'=>'%s disarankan.','Deferred'=>'Ditangguhkan','Default'=>'Standar','This can improve the page loading speed.'=>'Ini dapat meningkatkan kecepatan pemuatan halaman.','Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.'=>'Secara otomatis mengaktifkan prapengambilan DNS untuk seluruh URL dalam dokumen, termasuk gambar, CSS, JavaScript, dan sebagainya.','New developer version %s is available now.'=>'Versi pengembang baru %s tersedia sekarang.','New Developer Version Available!'=>'Versi Pengembang Baru Tersedia!','Dismiss this notice'=>'Tutup pemberitahuan ini','Tweet this'=>'Twitkan ini','Tweet preview'=>'Tinjauan twit','Learn more'=>'Pelajari selengkapnya','You just unlocked a promotion from QUIC.cloud!'=>'Anda baru saja membuka promosi dari QUIC.cloud!','The image compression quality setting of WordPress out of 100.'=>'Pengaturan kualitas kompresi gambar WordPress dari 100.','Image Optimization Settings'=>'Pengaturan Optimasi Gambar','Are you sure to destroy all optimized images?'=>'Anda yakin ingin menghapus seluruh gambar yang dioptimalkan?','Use Optimized Files'=>'Gunakan Berkas yang Dioptimasi','Switch back to using optimized images on your site'=>'Beralih kembali menggunakan gambar yang dioptimalkan','Use Original Files'=>'Gunakan Berkas Asli','Use original images (unoptimized) on your site'=>'Gunakan gambar asli (tidak dioptimalkan) di situs Anda','You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.'=>'Anda dapat dengan cepat beralih antara menggunakan berkas gambar asli (versi yang tidak dioptimalkan) dan yang dioptimalkan. Ini akan memengaruhi seluruh gambar di situs web Anda, baik versi reguler maupun webp jika tersedia.','Optimization Tools'=>'Peralatan Optimasi','Rescan New Thumbnails'=>'Pindai Ulang Thumbnail Baru','Congratulations, all gathered!'=>'Selamat, semua sudah terkumpul!','What is an image group?'=>'Apakah grup gambar itu?','Delete all backups of the original images'=>'Hapus seluruh cadangan gambar asli','Calculate Backups Disk Space'=>'Hitung Ruang Diska Cadangan','Optimization Status'=>'Status Optimasi','Current limit is'=>'Batas saat ini adalah','To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.'=>'Untuk memastikan peladen kami dapat berkomunikasi dengan peladen Anda tanpa masalah dan seluruhnya berfungsi dengan baik, untuk beberapa permintaan pertama, jumlah grup gambar yang diizinkan dalam satu permintaan dibatasi.','You can request a maximum of %s images at once.'=>'Anda dapat meminta maksimum %s gambar sekaligus.','Optimize images with our QUIC.cloud server'=>'Optimasi gambar dengan peladen QUIC.cloud kami','Revisions newer than this many days will be kept when cleaning revisions.'=>'Revisi yang lebih baru dari beberapa hari ini akan disimpan saat membersihkan revisi.','Day(s)'=>'Hari','Specify the number of most recent revisions to keep when cleaning revisions.'=>'Tentukan jumlah revisi terbaru yang harus disimpan saat membersihkan revisi.','LiteSpeed Cache Database Optimization'=>'Optimasi Basis Data LiteSpeed Cache','DB Optimization Settings'=>'Pengaturan Optimasi DB','Option Name'=>'Nama Opsi','Database Summary'=>'Ikhtisar Basis Data','We are good. No table uses MyISAM engine.'=>'Bagus. Tidak ada tabel yang menggunakan mesin MyISAM.','Convert to InnoDB'=>'Ubah ke InnoDB','Tool'=>'Alat','Engine'=>'Mesin','Table'=>'Tabel','Database Table Engine Converter'=>'Konverter Mesin Tabel Basis Data','Clean revisions older than %1$s day(s), excluding %2$s latest revisions'=>'Bersihkan revisi yang lebih lama dari %1$s hari, tidak termasuk %2$s revisi terbaru','Currently active crawler'=>'Perayap aktif saat ini','Crawler(s)'=>'Perayap','Crawler Status'=>'Status Perayap','Force cron'=>'Paksakan kron','Requests in queue'=>'Antrean permintaan','Time to execute previous request: %s'=>'Waktu untuk mengeksekusi permintaan sebelumnya: %s','Private Cache'=>'Cache Pribadi','Public Cache'=>'Cache Publik','Cache Status'=>'Status Cache','Last Pull'=>'Penarikan Terakhir','Image Optimization Summary'=>'Ikhtisar Pengoptimalan Gambar','Refresh page score'=>'Segarkan skor halaman','Are you sure you want to redetect the closest cloud server for this service?'=>'Apakah Anda yakin ingin mendeteksi ulang peladen awan terdekat untuk layanan ini?','Current closest Cloud server is %s. Click to redetect.'=>'Peladen Awan terdekat saat ini adalah %s. Klik untuk mendeteksi ulang.','Refresh page load time'=>'Segarkan waktu muat halaman','Go to QUIC.cloud dashboard'=>'Buka dasbor QUIC.cloud','Low Quality Image Placeholder'=>'Penampung Gambar Kualitas Rendah','Sync data from Cloud'=>'Sinkronkan data dari Awan','QUIC.cloud Service Usage Statistics'=>'Statistik Penggunaan Layanan QUIC.cloud','Total images optimized in this month'=>'Total gambar yang dioptimalkan di bulan ini','Total Usage'=>'Penggunaan Total','Pay as You Go Usage Statistics'=>'Statistik Bayar Sesuai Pemakaian Anda','PAYG Balance'=>'Saldo PAYG','Pay as You Go'=>'Bayar Sesuai Pemakaian Anda','Usage'=>'Penggunaan','Fast Queue Usage'=>'Penggunaan Antrean Cepat','CDN Bandwidth'=>'Bandwidth CDN','LiteSpeed Cache Dashboard'=>'Dasbor LiteSpeed Cache','Network Dashboard'=>'Dasbor Jaringan','No cloud services currently in use'=>'Tidak ada layanan awan yang sedang digunakan','Click to clear all nodes for further redetection.'=>'Klik untuk menghapus seluruh node untuk deteksi ulang lebih lanjut.','Current Cloud Nodes in Service'=>'Node Awan dalam Layanan Saat Ini','Link to QUIC.cloud'=>'Tautan ke QUIC.cloud','General Settings'=>'Pengaturan Umum','Specify which HTML element attributes will be replaced with CDN Mapping.'=>'Tentukan atribut elemen HTML mana yang akan diganti dengan Pemetaan CDN.','Add new CDN URL'=>'Tambah URL CDN baru','Remove CDN URL'=>'Hapus URL CDN','To enable the following functionality, turn ON Cloudflare API in CDN Settings.'=>'Untuk mengaktifkan fungsi berikut, AKTIFKAN API Cloudflare di Pengaturan CDN.','QUIC.cloud'=>'CDN','WooCommerce Settings'=>'Pengaturan WooCommerce','LQIP Cache'=>'Cache LQIP','Options saved.'=>'Opsi disimpan.','Removed backups successfully.'=>'Berhasil menghapus cadangan.','Calculated backups successfully.'=>'Pencadangan terhitung berhasil.','Rescanned %d images successfully.'=>'Berhasil memindai ulang %d gambar.','Rescanned successfully.'=>'Berhasil memindai ulang.','Destroy all optimization data successfully.'=>'Berhasil menghapus seluruh data optimasi.','Cleaned up unfinished data successfully.'=>'Berhasil memusnahkan data yang belum selesai.','Pull Cron is running'=>'Penarikan Kron sedang berjalan','No valid image found by Cloud server in the current request.'=>'Tidak ada gambar valid yang ditemukan oleh peladen Awan dalam permintaan saat ini.','No valid image found in the current request.'=>'Tidak ada gambar valid yang ditemukan dalam permintaan saat ini.','Pushed %1$s to Cloud server, accepted %2$s.'=>'Mendorong %1$s ke peladen Awan, diterima %2$s.','Revisions Max Age'=>'Usia Maksimal Revisi','Revisions Max Number'=>'Jumlah Maksimal Revisi','Debug URI Excludes'=>'Pengecualian Debug URI','Debug URI Includes'=>'Debug URI Termasuk','HTML Attribute To Replace'=>'Atribut HTML Untuk Mengganti','Use CDN Mapping'=>'Gunakan Pemetaan CDN','QUIC.cloud CDN:'=>'CDN QUIC.cloud:','Editor Heartbeat TTL'=>'TTL Detakan Editor','Editor Heartbeat'=>'Detakan Editor','Backend Heartbeat TTL'=>'TTL Detakan Sisi Belakang','Backend Heartbeat Control'=>'TTL Detakan Sisi Belakang','Frontend Heartbeat TTL'=>'TTL Detakan Sisi Depan','Frontend Heartbeat Control'=>'Kontrol Detakan Sisi Depan','Backend .htaccess Path'=>'Jalur Sisi Belakang .htaccess','Frontend .htaccess Path'=>'Jalur .htaccess Sisi Depan','ESI Nonces'=>'Nonces ESI','WordPress Image Quality Control'=>'Kontrol Kualitas Gambar WordPress','Auto Request Cron'=>'Permintaan Kron Otomatis','Generate LQIP In Background'=>'Buat LQIP di Latar','LQIP Minimum Dimensions'=>'Dimensi Minimal LQIP','LQIP Quality'=>'Kualitas LQIP','LQIP Cloud Generator'=>'Generator Awan LQIP','Responsive Placeholder SVG'=>'Penampung Responsif SVG','Responsive Placeholder Color'=>'Warna Penampung Responsif','Basic Image Placeholder'=>'Dasar Penampung Gambar','Lazy Load URI Excludes'=>'Pengecualian Tunda Muat URI','Lazy Load Iframe Parent Class Name Excludes'=>'Pengecualian Nama Kelas Induk Iframe Tunda Muat','Lazy Load Iframe Class Name Excludes'=>'Pengecualian Nama Kelas Iframe Tunda Muat','Lazy Load Image Parent Class Name Excludes'=>'Pengecualian Nama Kelas Induk Gambar Tunda Muat','Gravatar Cache TTL'=>'TTL Cache Gravatar','Gravatar Cache Cron'=>'Kron Cache Gravatar','Gravatar Cache'=>'Cache Gravatar','DNS Prefetch Control'=>'Kontrol Prapengambilan DNS','Font Display Optimization'=>'Optimasi Tampilan Fon','Force Public Cache URIs'=>'Paksa URI Cache Publik','Notifications'=>'Pemberitahuan','Default HTTP Status Code Page TTL'=>'TTL Halaman Kode Status HTTP Asali','Default REST TTL'=>'TTL REST Asali','Enable Cache'=>'Aktifkan Cache','Server IP'=>'IP Peladen','Images not requested'=>'Gambar tidak diminta','Sync credit allowance with Cloud Server successfully.'=>'Sinkronisasi kredit dengan Peladen Awan berhasil.','Failed to communicate with QUIC.cloud server'=>'Gagal berkomunikasi dengan peladen QUIC.cloud','Good news from QUIC.cloud server'=>'Kabar gembira dari peladen QUIC.cloud','Message from QUIC.cloud server'=>'Pesan dari peladen QUIC.cloud','Please try after %1$s for service %2$s.'=>'Silakan coba setelah %1$s untuk layanan %2$s.','No available Cloud Node.'=>'Tidak ada Node Awan yang tersedia.','Cloud Error'=>'Galat Awan','The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.'=>'Basis data telah ditingkatkan di latar belakang sejak %s. Pesan ini akan hilang setelah peningkatan selesai.','Restore from backup'=>'Pulihkan dari cadangan','No backup of unoptimized WebP file exists.'=>'Tidak ada cadangan berkas WebP yang tidak dioptimalkan.','WebP file reduced by %1$s (%2$s)'=>'Berkas WebP dikurangi %1$s (%2$s)','Currently using original (unoptimized) version of WebP file.'=>'Saat ini menggunakan berkas WebP versi asli (tidak dioptimalkan).','Currently using optimized version of WebP file.'=>'Saat ini menggunakan berkas WebP versi dioptimalkan.','Orig'=>'Ori','(no savings)'=>'(tanpa simpanan)','Orig %s'=>'%s Ori','Congratulation! Your file was already optimized'=>'Selamat! Berkas Anda sudah dioptimalkan','No backup of original file exists.'=>'Tidak ada cadangan berkas asli.','Using optimized version of file. '=>'Menggunakan versi berkas yang dioptimalkan. ','Orig saved %s'=>'Asli tersimpan %s','Original file reduced by %1$s (%2$s)'=>'Berkas asli dikurangi %1$s (%2$s)','Click to switch to optimized version.'=>'Klik untuk beralih ke versi dioptimalkan.','Currently using original (unoptimized) version of file.'=>'Saat ini menggunakan versi berkas asli (tidak dioptimalkan).','(non-optm)'=>'(non-optm)','Click to switch to original (unoptimized) version.'=>'Klik untuk beralih ke versi asli (tidak dioptimalkan).','Currently using optimized version of file.'=>'Saat ini menggunakan versi berkas yang dioptimalkan.','(optm)'=>'(optm)','LQIP image preview for size %s'=>'Pratinjau gambar LQIP untuk ukuran %s','LQIP'=>'LQIP','Previously existed in blocklist'=>'Sebelumnya ada di daftar blokir','Manually added to blocklist'=>'Ditambahkan secara manual ke daftar blokir','Mobile Agent Rules'=>'Aturan Agen Seluler','Sitemap created successfully: %d items'=>'Peta Situs berhasil dibuat: %d item','Sitemap cleaned successfully'=>'Peta Situs berhasil dibersihkan','Invalid IP'=>'IP Invalid','Value range'=>'Rentang nilai','Smaller than'=>'Kurang dari','Larger than'=>'Lebih dari','Zero, or'=>'Nol, atau','Maximum value'=>'Nilai maksimal','Minimum value'=>'Nilai minimal','Path must end with %s'=>'Jalur harus diakhiri dengan %s','Invalid rewrite rule'=>'Aturan Penulisan Ulang Tidak Valid','Currently set to %s'=>'Saat ini diatur ke %s','This value is overwritten by the PHP constant %s.'=>'Nilai ini ditimpa oleh konstanta PHP %s.','Toolbox'=>'Peralatan','Database'=>'Basis Data','Page Optimization'=>'Optimasi Halaman','Dashboard'=>'Dasbor','Converted to InnoDB successfully.'=>'Berhasil dikonversi ke InnoDB.','Cleaned all Gravatar files.'=>'Membersihkan seluruh berkas Gravatar.','Cleaned all LQIP files.'=>'Membersihkan seluruh berkas LQIP.','Unknown error'=>'Galat tidak diketahui','Your domain has been forbidden from using our services due to a previous policy violation.'=>'Domain Anda telah dilarang menggunakan layanan kami karena pelanggaran kebijakan sebelumnya.','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: '=>'Validasi panggilan balik ke domain Anda gagal. Pastikan tidak ada firewall yang memblokir peladen kami. Kode respon: ','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.'=>'Validasi panggilan balik ke domain Anda gagal. Pastikan tidak ada firewall yang memblokir peladen kami.','The callback validation to your domain failed due to hash mismatch.'=>'Validasi panggilan balik ke domain Anda gagal karena ketidakcocokan hash.','Your application is waiting for approval.'=>'Permohonan Anda sedang menunggu persetujuan.','Previous request too recent. Please try again after %s.'=>'Permintaan sebelumnya terlalu baru. Silakan coba lagi setelah %s.','Previous request too recent. Please try again later.'=>'Permintaan sebelumnya terlalu baru. Silakan coba lagi nanti.','Crawler disabled by the server admin.'=>'Perayap dinonaktifkan oleh admin peladen.','Failed to create table %1$s! SQL: %2$s.'=>'Gagal membuat tabel %1$s! SQL: %2$s.','Could not find %1$s in %2$s.'=>'Tidak dapat menemukan%1$s dalam %2$s.','Credits are not enough to proceed the current request.'=>'Kredit tidak cukup untuk melanjutkan permintaan saat ini.','There is proceeding queue not pulled yet.'=>'Ada antrean lanjutan yang belum ditarik.','The image list is empty.'=>'Daftar gambar kosong.','LiteSpeed Crawler Cron'=>'Kron Perayap LiteSpeed','Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.'=>'Aktifkan opsi ini untuk menampilkan berita terbaru secara otomatis, termasuk perbaikan, rilis baru, ketersediaan versi beta, dan promosi.','To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.'=>'Untuk memberikan akses wp-admin ke Tim Dukungan LiteSpeed, harap buat tautan tanpa kata sandi untuk pengguna yang masuk saat ini untuk dikirim bersama laporan.','Generated links may be managed under %sSettings%s.'=>'Tautan yang dibuat dapat dikelola melalui %sPengaturan%s.','Please do NOT share the above passwordless link with anyone.'=>'Harap TIDAK membagikan tautan tanpa sandi di atas kepada siapapun.','To generate a passwordless link for LiteSpeed Support Team access, you must install %s.'=>'Untuk membuat tautan tanpa kata sandi untuk akses Tim Dukungan LiteSpeed, Anda harus memasang %s.','Install'=>'Instal','These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.'=>'Opsi ini hanya tersedia dengan Peladen Situs LiteSpeed Enterprise atau CDN QUIC.cloud.','PageSpeed Score'=>'Skor Kecepatan Halaman','Improved by'=>'Diperbaiki oleh','After'=>'Setelah','Before'=>'Sebelum','Page Load Time'=>'Waktu Muat Halaman','To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.'=>'Untuk menggunakan fungsi cache, Anda harus memiliki peladen web LiteSpeed atau menggunakan CDN QUIC.cloud.','Preserve EXIF/XMP data'=>'Simpan data EXIF/XMP','Try GitHub Version'=>'Coba Versi GitHub','If you turn any of the above settings OFF, please remove the related file types from the %s box.'=>'Jika Anda me-NONAKTIF-kan salah satu pengaturan di atas, harap hapus jenis berkas terkait dari kotak %s.','Both full and partial strings can be used.'=>'Baik string lengkap maupun sebagian dapat digunakan.','Images containing these class names will not be lazy loaded.'=>'Gambar yang memuat nama kelas berikut tidak akan ditunda muat.','Lazy Load Image Class Name Excludes'=>'Pengecualian Nama Kelas Gambar Tunda Muat','For example, %1$s defines a TTL of %2$s seconds for %3$s.'=>'Sebagai contoh, %1$s diartikan bawah TTL %3$s adalah %2$s detik.','To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.'=>'Untuk menentukan TTL khusus untuk URI, tambahkan spasi diikuti oleh nilai TTL di akhir URI.','Maybe Later'=>'Mungkin Nanti','Turn On Auto Upgrade'=>'Aktifkan Peningkatan Otomatis','Upgrade'=>'Tingkatkan','New release %s is available now.'=>'Rilis %s baru tersedia sekarang.','New Version Available!'=>'Tersedia Versi Baru!','Created with ❤️ by LiteSpeed team.'=>'Dibuat dengan ❤️ oleh Tim LiteSpeed.','Sure I\'d love to review!'=>'Tentu, saya akan membuat ulasan!','Thank You for Using the LiteSpeed Cache Plugin!'=>'Terima Kasih Telah Menggunakan Plugin LiteSpeed Cache!','Upgraded successfully.'=>'Peningkatan berhasil.','Failed to upgrade.'=>'Gagal meningkatkan.','Changed setting successfully.'=>'Pengaturan berhasil diubah.','ESI sample for developers'=>'Contoh ESI untuk pengembang','Replace %1$s with %2$s.'=>'Ganti %1$s dengan %2$s.','You can turn shortcodes into ESI blocks.'=>'Anda dapat mengubah kode pendek menjadi blok ESI.','WpW: Private Cache vs. Public Cache'=>'WpW: Cache Pribadi vs. Cache Publik','Append query string %s to the resources to bypass this action.'=>'Tambahkan string kueri %s ke sumber daya untuk melewati tindakan ini.','Google reCAPTCHA will be bypassed automatically.'=>'Google reCAPTCHA akan dilewati secara otomatis.','To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.'=>'Untuk merayapi kuki tertentu, masukkan nama kuki, dan nilai yang ingin Anda jelajahi. Nilai harus satu per baris. Akan ada satu perayap yang dibuat per nilai kuki, per peran yang disimulasikan.','Cookie Values'=>'Nilai Kuki','Cookie Name'=>'Nama Kuki','Cookie Simulation'=>'Simulasi Kuki','Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.'=>'Gunakan pustaka Web Font Loader untuk memuat Fon Google secara asinkron sambil membiarkan CSS lainnya tetap utuh.','Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.'=>'Aktifkan opsi ini untuk membuat LiteSpeed Cache diperbarui secara otomatis setiap kali versi baru dirilis. Jika NONAKTIF, perbarui secara manual seperti biasa.','Automatically Upgrade'=>'Pembaruan Otomatis','Your IP'=>'IP Anda','Reset successfully.'=>'Berhasil menyetel ulang.','This will reset all settings to default settings.'=>'Ini akan menyetel ulang seluruh pengaturan ke pengaturan asali.','Reset All Settings'=>'Atur Ulang Seluruh Pengaturan','Separate critical CSS files will be generated for paths containing these strings.'=>'Berkas CSS penting yang terpisah akan dihasilkan untuk jalur yang berisi string ini.','Separate CCSS Cache URIs'=>'Pisahkan Cache CCSS URI','For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.'=>'Misalnya, jika setiap Halaman di situs memiliki format yang berbeda, masukkan %s di dalam kotak. Berkas CSS penting yang terpisah akan disimpan untuk setiap Halaman di situs.','List post types where each item of that type should have its own CCSS generated.'=>'Daftar jenis tulisan di mana setiap item dari jenis itu harus memiliki CCSS sendiri.','Separate CCSS Cache Post Types'=>'Pisahkan Cache CCSS Jenis Tulisan','Size list in queue waiting for cron'=>'Daftar antrean ukuran menunggu kron','If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.'=>'Jika %1$s, sebelum penampung ditempatkan, konfigurasi %2$s akan digunakan.','Automatically generate LQIP in the background via a cron-based queue.'=>'Secara otomatis menghasilkan LQIP di latar belakang melalui antrean berbasis kron.','This will generate the placeholder with same dimensions as the image if it has the width and height attributes.'=>'Ini akan menghasilkan penampung dengan dimensi yang sama dengan gambar jika memiliki atribut lebar dan tinggi.','Responsive image placeholders can help to reduce layout reshuffle when images are loaded.'=>'Penampung gambar yang responsif dapat membantu mengurangi perombakan tata letak saat gambar dimuat.','Responsive Placeholder'=>'Penampung Responsif','This will delete all generated image LQIP placeholder files'=>'Ini akan menghapus seluruh berkas penampung LQIP gambar yang dihasilkan','Please enable LiteSpeed Cache in the plugin settings.'=>'Harap aktifkan LiteSpeed Cache pada pengaturan plugin.','Please enable the LSCache Module at the server level, or ask your hosting provider.'=>'Harap aktifkan Modul LSCache di tingkat peladen, atau tanyakan penyedia hosting Anda.','Failed to request via WordPress'=>'Gagal meminta melalui WordPress','High-performance page caching and site optimization from LiteSpeed'=>'Cache halaman berkinerja tinggi dan optimasi situs dari LiteSpeed','Reset the optimized data successfully.'=>'Berhasil menyetel ulang data yang dioptimalkan.','Update %s now'=>'Perbarui %s sekarang','View %1$s version %2$s details'=>'Lihat detail %1$s versi %2$s','<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.'=>'<a href="%1$s" %2$s>Lihat detail versi %3$s</a> atau <a href="%4$s" %5$s target="_blank">perbarui sekarang</a>.','Install %s'=>'Instal %s','LSCache caching functions on this page are currently unavailable!'=>'Fungsi cache LSCache di halaman ini saat ini tidak tersedia!','%1$s plugin version %2$s required for this action.'=>'Diperlukan plugin %1$s versi %2$s untuk tindakan ini.','We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.'=>'Kami bekerja keras untuk meningkatkan pengalaman layanan daring Anda. Layanan tidak akan tersedia selama kami bekerja. Kami mohon maaf atas ketidaknyamanan ini.','Automatically remove the original image backups after fetching optimized images.'=>'Secara otomatis menghapus cadangan gambar asli setelah mengambil gambar yang dioptimalkan.','Remove Original Backups'=>'Hapus Cadangan Asli','Automatically request optimization via cron job.'=>'Otomatis meminta optimasi melalui tugas kron.','A backup of each image is saved before it is optimized.'=>'Cadangan setiap gambar disimpan sebelum dioptimalkan.','Switched images successfully.'=>'Berhasil mengganti gambar.','This can improve quality but may result in larger images than lossy compression will.'=>'Ini dapat meningkatkan kualitas tetapi dapat menghasilkan gambar yang lebih besar dari pada saat kehilangan kompresi.','Optimize images using lossless compression.'=>'Optimasi gambar tanpa kehilangan kompresi.','Optimize Losslessly'=>'Optimasi Tanpa Kehilangan','Request WebP/AVIF versions of original images when doing optimization.'=>'Minta versi WebP/AVIF dari gambar asli saat melakukan pengoptimalan.','Optimize images and save backups of the originals in the same folder.'=>'Optimasi gambar dan cadangkan aslinya dalam folder yang sama.','Optimize Original Images'=>'Optimasi Gambar Asli','When this option is turned %s, it will also load Google Fonts asynchronously.'=>'Ketika opsi ini %s, ia juga akan memuat Fon Google secara asinkron.','Cleaned all Critical CSS files.'=>'Membersihkan seluruh berkas CSS Penting.','This will inline the asynchronous CSS library to avoid render blocking.'=>'Ini akan membuat pustaka CSS asinkron sebaris untuk menghindari pemblokiran render.','Inline CSS Async Lib'=>'Pustaka CSS Asinkron Sebaris','Run Queue Manually'=>'Jalankan Antrean secara Manual','URL list in %s queue waiting for cron'=>'Daftar URL dalam antrean %s menunggu kron','Last requested cost'=>'Waktu permintaan terakhir','Last generated'=>'Pembuatan terakhir','If set to %s this is done in the foreground, which may slow down page load.'=>'Jika %s maka akan dilakukan di latar depan, yang akan memperlambat pemuatan halaman.','Automatic generation of critical CSS is in the background via a cron-based queue.'=>'Pembuatan otomatis CSS penting ada di latar belakang melalui antrean berbasis kron.','Optimize CSS delivery.'=>'Optimasi pengantaran CSS.','This will delete all generated critical CSS files'=>'Ini akan menghapus seluruh berkas CSS penting yang dihasilkan','Critical CSS'=>'CSS Penting','This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.'=>'Situs ini menggunakan cache untuk memfasilitasi waktu respons yang lebih cepat dan pengalaman pengguna yang lebih baik. Cache berpotensi menyimpan salinan duplikat dari setiap halaman web yang ditampilkan di situs ini. Seluruh berkas cache bersifat sementara, dan tidak pernah diakses oleh pihak ketiga mana pun, kecuali jika diperlukan untuk mendapatkan dukungan teknis dari vendor plugin cache. Berkas cache kedaluwarsa pada jadwal yang ditetapkan oleh administrator situs, tetapi jika perlu dapat dihapus dengan mudah oleh admin sebelum kedaluwarsa. Kami dapat menggunakan layanan QUIC.cloud untuk memproses & menyimpan sementara data Anda.','Disabling this may cause WordPress tasks triggered by AJAX to stop working.'=>'Menonaktifkan ini dapat menyebabkan tugas WordPress yang dipicu oleh AJAX berhenti berfungsi.','right now'=>'sekarang','just now'=>'baru saja','Saved'=>'Tersimpan','Last ran'=>'Terakhir Dijalankan','You will be unable to Revert Optimization once the backups are deleted!'=>'Anda tidak akan dapat Mengembalikan Optimasi setelah cadangan dihapus!','This is irreversible.'=>'Ini tidak dapat dipulihkan.','Remove Original Image Backups'=>'Hapus Cadangan Gambar Asli','Are you sure you want to remove all image backups?'=>'Anda yakin ingin menghapus seluruh cadangan gambar?','Total'=>'Total','Files'=>'Berkas','Last calculated'=>'Penghitungan Terakhir','Calculate Original Image Storage'=>'Kalkulasi Penyimpanan Gambar Asli','Storage Optimization'=>'Optimasi Penyimpanan','Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.'=>'Aktifkan penggantian WebP/AVIF dalam elemen %s yang dihasilkan di luar logika WordPress.','Use the format %1$s or %2$s (element is optional).'=>'Gunakan format %1$s atau %2$s (elemen opsional).','Only attributes listed here will be replaced.'=>'Hanya atribut yang tercantum di sini yang akan diganti.','Specify which element attributes will be replaced with WebP/AVIF.'=>'Tentukan atribut elemen mana yang akan diganti dengan WebP/AVIF.','WebP/AVIF Attribute To Replace'=>'Atribut WebP/AVIF Yang Akan Diganti','Only files within these directories will be pointed to the CDN.'=>'Hanya berkas dalam direktori ini yang akan diarahkan ke CDN.','Included Directories'=>'Direktori yang Disertakan','A Purge All will be executed when WordPress runs these hooks.'=>'Bersihkan Semua akan dieksekusi ketika WordPress menjalankan kaitan ini.','Purge All Hooks'=>'Bersihkan Seluruh Pengait','Purged all caches successfully.'=>'Berhasil menghapus seluruh cache.','LSCache'=>'LSCache','Forced cacheable'=>'Dipaksa dapat dicache','Paths containing these strings will be cached regardless of no-cacheable settings.'=>'Lokasi yang berisi string ini akan dicache terlepas dari pengaturan jangan dicache.','Force Cache URIs'=>'Jangan Cache URI','Exclude Settings'=>'Pengaturan Pengecualian','This will disable LSCache and all optimization features for debug purpose.'=>'Ini akan menonaktifkan LSCache dan seluruh fitur optimasi untuk tujuan debug.','Disable All Features'=>'Nonaktifkan Seluruh Fitur','Opcode Cache'=>'Cache Opcode','CSS/JS Cache'=>'Cache CSS/JS','Remove all previous unfinished image optimization requests.'=>'Hapus seluruh permintaan optimasi gambar yang belum selesai sebelumnya.','Clean Up Unfinished Data'=>'Bersihkan Data yang Belum Selesai','Join Us on Slack'=>'Bergabung dengan kami di Slack','Join the %s community.'=>'Bergabung dengan komunitas %s.','Want to connect with other LiteSpeed users?'=>'Ingin terhubung dengan pengguna LiteSpeed lainnya?','Your API key / token is used to access %s APIs.'=>'Kunci/token API Anda digunakan untuk mengakses API %s.','Your Email address on %s.'=>'Alamat surel Anda di %s.','Use %s API functionality.'=>'Gunakan fungsionalitas API %s.','To randomize CDN hostname, define multiple hostnames for the same resources.'=>'Untuk mengacak nama host CDN, tentukan beberapa nama host untuk sumber yang sama.','Join LiteSpeed Slack community'=>'Bergabung dengan komunitas LiteSpeed Slack','Visit LSCWP support forum'=>'Kunjungi forum dukungan LSCWP','Images notified to pull'=>'Gambar diberitahukan untuk ditarik','What is a group?'=>'Apakah grup?','%s image'=>'%s gambar','%s group'=>'%s grup','%s images'=>'%s gambar','%s groups'=>'%s grup','Guest'=>'Tamu','To crawl the site as a logged-in user, enter the user ids to be simulated.'=>'Untuk merayapi situs sebagai pengguna yang masuk, masukkan id pengguna yang akan disimulasikan.','Role Simulation'=>'Simulasi Peran','running'=>'menjalankan','Size'=>'Ukuran','Ended reason'=>'Alasan berakhir','Last interval'=>'Interval terakhir','Current crawler started at'=>'Perayapan saat ini dimulai pada','Run time for previous crawler'=>'Waktu perayapan sebelumnya','%d seconds'=>'%d detik','Last complete run time for all crawlers'=>'Terakhir waktu menjalankan lengkap untuk seluruh perayap','Current sitemap crawl started at'=>'Perayapan peta situs saat ini dimulai pada','Save transients in database when %1$s is %2$s.'=>'Simpan transien dalam basis data jika %1$s %2$s.','Store Transients'=>'Simpan Transien','If %1$s is %2$s, then %3$s must be populated!'=>'Jika %1$s %2$s, maka %3$s harus diisi!','Server allowed max value: %s'=>'Nilai maksimal yang diizinkan peladen: %s','Server enforced value: %s'=>'Nilai yang diberlakukan peladen: %s','NOTE'=>'CATATAN','Server variable(s) %s available to override this setting.'=>'Variabel peladen %s tersedia untuk mengesampingkan pengaturan ini.','API'=>'API','Reset the entire OPcache successfully.'=>'Berhasil mereset seluruh OPcache.','Imported setting file %s successfully.'=>'Berhasil mengimpor berkas pengaturan %s.','Import failed due to file error.'=>'Gagal mengimpor karena galat berkas.','How to Fix Problems Caused by CSS/JS Optimization.'=>'Cara Memperbaiki Masalah yang Disebabkan oleh Optimasi CSS/JS.','This will generate extra requests to the server, which will increase server load.'=>'Ini akan menghasilkan permintaan tambahan ke peladen, yang akan menambah beban peladen.','When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.'=>'Ketika pengunjung menyorot di atas tautan halaman, muat awal halaman itu. Ini akan mempercepat kunjungan ke tautan itu.','Instant Click'=>'Klik Instan','Reset the entire opcode cache'=>'Reset seluruh cache kode operasi','This will import settings from a file and override all current LiteSpeed Cache settings.'=>'Ini akan mengimpor pengaturan dari berkas dan menimpa pengaturan LiteSpeed Cache yang ada.','Last imported'=>'Impor terakhir','Import'=>'Impor','Import Settings'=>'Impor Pengaturan','This will export all current LiteSpeed Cache settings and save them as a file.'=>'Ini akan mengekspor seluruh pengaturan LiteSpeed Cache saat ini dan menyimpannya sebagai berkas.','Last exported'=>'Terakhir diekspor','Export'=>'Ekspor','Export Settings'=>'Ekspor Pengaturan','Import / Export'=>'Impor/Ekspor','Use keep-alive connections to speed up cache operations.'=>'Gunakan koneksi tetap aktif untuk mempercepat operasi cache.','Database to be used'=>'Basis Data yang digunakan','Redis Database ID'=>'ID Basis Data Redis','Specify the password used when connecting.'=>'Tentukan sandi yang digunakan saat menghubungkan.','Password'=>'Kata Sandi','Only available when %s is installed.'=>'Hanya tersedia jika %s terpasang.','Username'=>'Nama Pengguna','Your %s Hostname or IP address.'=>'Nama Host atau alamat IP Anda %s.','Method'=>'Metode','Purge all object caches successfully.'=>'Berhasil membersihkan seluruh cache objek.','Object cache is not enabled.'=>'Cache objek dinonaktifkan.','Improve wp-admin speed through caching. (May encounter expired data)'=>'Meningkatkan kecepatan wp-admin melalui cache. (Mungkin menemukan data kedaluwarsa)','Cache WP-Admin'=>'Cache WP-Admin','Persistent Connection'=>'Koneksi Persisten','Do Not Cache Groups'=>'Jangan Cache Grup','Groups cached at the network level.'=>'Grup yang dicache di tingkat jaringan.','Global Groups'=>'Grup Global','Connection Test'=>'Tes Koneksi','%s Extension'=>'Ekstensi %s','Status'=>'Status','Default TTL for cached objects.'=>'TTL asali untuk objek yang dicache.','Default Object Lifetime'=>'Waktu-Aktif Objek Asali','Port'=>'Port','Host'=>'Host','Object Cache'=>'Cache Objek','Failed'=>'Gagal','Passed'=>'Lulus','Not Available'=>'Tidak Tersedia','Purge all the object caches'=>'Bersihkan seluruh cache objek','Failed to communicate with Cloudflare'=>'Gagal berkomunikasi dengan Cloudflare','Communicated with Cloudflare successfully.'=>'Berhasil berkomunikasi dengan Cloudflare.','No available Cloudflare zone'=>'Tidak tersedia zona Cloudflare','Notified Cloudflare to purge all successfully.'=>'Berhasil memberitahu Cloudflare untuk membersihkan seluruhnya.','Cloudflare API is set to off.'=>'API Cloudflare dinonaktifkan.','Notified Cloudflare to set development mode to %s successfully.'=>'Berhasil memberitahu Cloudflare untuk mengatur mode pengembangan ke %s.','Once saved, it will be matched with the current list and completed automatically.'=>'Setelah disimpan, ia akan dicocokkan dengan daftar saat ini dan otomatis selesai.','You can just type part of the domain.'=>'Anda dapat menuliskan bagian domain.','Domain'=>'Domain','Cloudflare API'=>'API Cloudflare','Purge Everything'=>'Bersihkan Semua','Cloudflare Cache'=>'Cache Cloudflare','Development Mode will be turned off automatically after three hours.'=>'Mode Pengembangan akan dimatikan secara otomatis setelah tiga jam.','Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.'=>'Memintas sementara cache Cloudflare. Hal ini memungkinkan perubahan pada peladen asal terlihat dalam waktu nyata.','Development mode will be automatically turned off in %s.'=>'Mode pengembangan otomatis dinonaktifkan dalam %s.','Current status is %s.'=>'Status saat ini adalah %s.','Current status is %1$s since %2$s.'=>'Status sekarang %1$s sejak %2$s.','Check Status'=>'Cek Status','Turn OFF'=>'NONAKTIFKAN','Turn ON'=>'Aktifkan','Development Mode'=>'Mode Pengembangan','Cloudflare Zone'=>'Zona Cloudflare','Cloudflare Domain'=>'Domain Cloudflare','Cloudflare'=>'Cloudflare','For example'=>'Sebagai contoh','Prefetching DNS can reduce latency for visitors.'=>'Prapengambilan DNS dapat mengurangi latensi bagi pengunjung.','DNS Prefetch'=>'Prapengambilan DNS','Adding Style to Your Lazy-Loaded Images'=>'Menambahkan Gaya ke Tunda-Pemuatan Gambar Anda','Default value'=>'Nilai asali','Static file type links to be replaced by CDN links.'=>'Tautan jenis berkas statis untuk diganti dengan tautan CDN.','For example, to drop parameters beginning with %1$s, %2$s can be used here.'=>'Sebagai contoh, untuk menghapus paramater yang diawali %1$s, di sini dapat menggunakan %2$s.','Drop Query String'=>'Bersihkan String Kueri','Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.'=>'Aktifkan opsi ini jika Anda menggunakan HTTP dan HTTPS di domain yang sama dan memperhatikan penyimpangan cache.','Improve HTTP/HTTPS Compatibility'=>'Tingkatkan Kompatibilitas HTTP/HTTPS','Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.'=>'Hapus seluruh permintaan/hasil optimasi gambar sebelumnya, kembalikan optimasi yang telah selesai, dan hapus seluruh berkas optimasi.','Destroy All Optimization Data'=>'Hapus Seluruh Data Optimasi','Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.'=>'Pindai ukuran gambar mini baru yang tidak dioptimalkan dan kirim ulang permintaan optimasi gambar yang diperlukan.','This will increase the size of optimized files.'=>'Ini akan meningkatkan ukuran berkas yang dioptimalkan.','Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.'=>'Simpan data EXIF (hak cipta, GPS, komentar, kata kunci, dll.) saat mengoptimalkan.','Clear Logs'=>'Bersihkan Log',' %s ago'=>' %s lalu','WebP saved %s'=>'WebP tersimpan %s','If you run into any issues, please refer to the report number in your support message.'=>'Jika Anda mengalami masalah, silakan merujuk ke nomor laporan di pesan dukungan Anda.','Last pull initiated by cron at %s.'=>'Penarikan terakhir yang dimulai oleh kron pada %s.','Images will be pulled automatically if the cron job is running.'=>'Gambar otomatis ditarik jika tugas kron berjalan.','Only press the button if the pull cron job is disabled.'=>'Hanya tekan tombol jika tugas penarikan kron dinonaktifkan.','Pull Images'=>'Tarik Gambar','This process is automatic.'=>'Proses ini otomatis.','Last Request'=>'Permintaan Terakhir','Images Pulled'=>'Gambar Ditarik','Report'=>'Laporan','Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.'=>'Kirim laporan ini ke LiteSpeed. Lihat nomor laporan ini saat mengirim di forum dukungan WordPress.','Send to LiteSpeed'=>'Kirim ke LiteSpeed','LiteSpeed Optimization'=>'Pengoptimalan LiteSpeed','Load Google Fonts Asynchronously'=>'Muat Fon Google Secara Asinkron','Browser Cache TTL'=>'TTL Cache Peramban','Results can be checked in %sMedia Library%s.'=>'Hasil dapat diperiksa di %sPustaka Media%s.','Learn More'=>'Pelajari Lebih Lanjut','Image groups total'=>'Total grup gambar','Images optimized and pulled'=>'Gambar telah dioptimalkan dan ditarik','Images requested'=>'Gambar diminta','Switched to optimized file successfully.'=>'Berhasil mengganti dengan berkas yang dioptimalkan.','Restored original file successfully.'=>'Berhasil mengembalikan berkas asli.','Enabled WebP file successfully.'=>'Berhasil mengaktifkan berkas WebP.','Disabled WebP file successfully.'=>'Berhasil menonaktifkan berkas WebP.','Significantly improve load time by replacing images with their optimized %s versions.'=>'Secara signifikan meningkatkan waktu muat dengan mengganti gambar dengan versi %s yang dioptimalkan.','Selected roles will be excluded from cache.'=>'Peran yang dipilih akan dikecualikan dari cache.','Tuning'=>'Penyesuaian','Selected roles will be excluded from all optimizations.'=>'Peran terpilih akan dikecualikan dari seluruh optimasi.','Role Excludes'=>'Pengecualian Peran','Tuning Settings'=>'Pengaturan Penyesuaian','If the tag slug is not found, the tag will be removed from the list on save.'=>'Jika slug tag tidak ditemukan, tag akan dihapus dari daftar saat menyimpan.','If the category name is not found, the category will be removed from the list on save.'=>'Jika nama kategori tidak ditemukan, kategori tersebut akan dihapus dari daftar di simpan.','After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.'=>'Setelah peladen Pengoptimalan Gambar QUIC.cloud menyelesaikan pengoptimalan, peladen akan memberi tahu situs Anda untuk menarik gambar yang dioptimalkan.','Send Optimization Request'=>'Kirim Permintaan Optimasi','Image Information'=>'Informasi Gambar','Total Reduction'=>'Pengurangan Total','Optimization Summary'=>'Ringkasan Optimasi','LiteSpeed Cache Image Optimization'=>'Optimasi Gambar LiteSpeed Cache','Image Optimization'=>'Optimasi Gambar','For example, %s can be used for a transparent placeholder.'=>'Sebagai contoh, %s dapat digunakan sebagai penampung gambar transparan.','By default a gray image placeholder %s will be used.'=>'Secara asali, penampung gambar abu-abu %s akan digunakan.','This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.'=>'Ini dapat ditentukan sebelumnya dalam %2$s juga menggunakan konstanta %1$s, dengan pengaturan ini yang diprioritaskan.','Specify a base64 image to be used as a simple placeholder while images finish loading.'=>'Tentukan gambar base64 untuk digunakan sebagai penampung sederhana saat gambar selesai dimuat.','Elements with attribute %s in html code will be excluded.'=>'Elemen dengan atribut %s dalam kode html akan dikecualikan.','Filter %s is supported.'=>'Mendukung penyaring %s.','Listed images will not be lazy loaded.'=>'Gambar terdaftar tidak akan ditunda pemuatannya.','Lazy Load Image Excludes'=>'Pengecualian Tunda Muat Gambar','No optimization'=>'Tanpa optimasi','Prevent any optimization of listed pages.'=>'Cegah pengoptimalan halaman terdaftar.','URI Excludes'=>'Pengecualian URI','Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.'=>'Berhenti memuat emoji WordPress.org. Sebagai gantinya, akan ditampilkan Emoji asali peramban.','Both full URLs and partial strings can be used.'=>'Baik URL lengkap maupun string parsial dapat digunakan.','Load iframes only when they enter the viewport.'=>'Muat iframe hanya jika telah memasuki area pandang.','Lazy Load Iframes'=>'Tunda Muat Iframe','This can improve page loading time by reducing initial HTTP requests.'=>'Ini dapat meningkatkan waktu pemuatan halaman dengan mengurangi permintaan HTTP awal.','Load images only when they enter the viewport.'=>'Muat gambar hanya ketika gambar sudah dalam area pandang.','Lazy Load Images'=>'Tunda Muat Gambar','Media Settings'=>'Pengaturan Media','For example, for %1$s, %2$s and %3$s can be used here.'=>'Sebagai contoh, untuk %1$s, di sini dapat digunakan %2$s dan %3$s.','Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.'=>'Mendukung karakter bebas %1$s (cocok dengan nol atau lebih karakter). Misalnya, untuk mencocokkan %2$s dan %3$s, gunakan %4$s.','To match the beginning, add %s to the beginning of the item.'=>'Untuk mencocokkan awal, tambahkan %s ke awal item.','For example, for %1$s, %2$s can be used here.'=>'Sebagai contoh, untuk %1$s, di sini dapat digunakan %2$s.','Maybe later'=>'Mungkin nanti','I\'ve already left a review'=>'Saya telah memberikan ulasan','Welcome to LiteSpeed'=>'Selamat datang di LiteSpeed','Remove WordPress Emoji'=>'Hapus Emoji WordPress','More settings'=>'Pengaturan lainnya','Private cache'=>'Cache pribadi','Non cacheable'=>'Tidak dapat dicache','Mark this page as '=>'Tandai halaman ini sebagai ','Purge this page'=>'Bersihkan halaman ini','Load JS Deferred'=>'Tangguhkan Pemuatan JS','Specify critical CSS rules for above-the-fold content when enabling %s.'=>'Tentukan aturan CSS penting untuk konten di atas-lipatan ketika mengaktifkan %s.','Critical CSS Rules'=>'Aturan CSS Penting','Load CSS Asynchronously'=>'Muat CSS Secara Asinkron','Prevent Google Fonts from loading on all pages.'=>'Cegah Fon Google dimuat di seluruh halaman.','Remove Google Fonts'=>'Hapus Fon Google','This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.'=>'Ini dapat meningkatkan skor kecepatan Anda di layanan seperti Pingdom, GTmetrix dan PageSpeed.','Remove query strings from internal static resources.'=>'Hapus string kueri dari sumber daya statis internal.','Remove Query Strings'=>'Hapus String Kueri','user agents'=>'agen pengguna','cookies'=>'kuki','You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s.'=>'Anda juga dapat mengaktifkan cache peramban di admin peladen. %sPelajari lebih lanjut tentang pengaturan cache peramban LiteSpeed%s.','Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.'=>'Cache peramban menyimpan berkas statis secara lokal di peramban pengguna. Aktifkan pengaturan ini untuk mengurangi permintaan berkas statis berulang.','Browser Cache'=>'Cache Peramban','tags'=>'tag','Do Not Cache Tags'=>'Jangan Cache Tag','To exclude %1$s, insert %2$s.'=>'Untuk mengecualikan %1$s, sisipkan %2$s.','categories'=>'kategori','To prevent %s from being cached, enter them here.'=>'Untuk mencegah %s dicache, masukkan di sini.','Do Not Cache Categories'=>'Jangan Cache Kategori','Query strings containing these parameters will not be cached.'=>'String kueri yang berisi parameter ini tidak akan dicache.','Do Not Cache Query Strings'=>'Jangan Cache String Kueri','Paths containing these strings will not be cached.'=>'Lokasi yang memuat string berikut tidak akan dicache.','Do Not Cache URIs'=>'Jangan Cache URI','One per line.'=>'Satu per baris.','URI Paths containing these strings will NOT be cached as public.'=>'Jalur URI yang mengandung string ini TIDAK akan dicache sebagai publik.','Private Cached URIs'=>'URI Cache Pribadi','Paths containing these strings will not be served from the CDN.'=>'Lokasi yang berisi string ini tidak akan dilayani dari CDN.','Exclude Path'=>'Kecualikan Lokasi','Include File Types'=>'Sertakan Jenis Berkas','Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.'=>'Sajikan seluruh berkas JavaScript melalui CDN. Ini akan memengaruhi seluruh berkas WP JavaScript yang telah diminta.','Include JS'=>'Sertakan JS','Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.'=>'Sajikan seluruh berkas CSS melalui CDN. Ini akan memengaruhi seluruh berkas WP CSS yang telah diminta.','Include CSS'=>'Sertakan CSS','Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes.'=>'Sajikan seluruh berkas gambar melalui CDN. Ini akan memengaruhi seluruh lampiran, tag HTML %1$s, dan atribut CSS %2$s.','Include Images'=>'Sertakan Gambar','CDN URL to be used. For example, %s'=>'URL CDN yang digunakan. Sebagai contoh, %s','CDN URL'=>'URL CDN','Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.'=>'URL situs untuk dilayani melalui CDN. Dimulai dengan %1$s. Misalnya,%2$s.','Original URLs'=>'URL Original','CDN Settings'=>'Pengaturan CDN','CDN'=>'CDN','OFF'=>'NONAKTIF','ON'=>'AKTIF','Notified LiteSpeed Web Server to purge CSS/JS entries.'=>'Beritahu Peladen Situs LiteSpeed untuk membersihkan entri CSS/JS.','Minify HTML content.'=>'Perkecil konten HTML.','HTML Minify'=>'Perkecil HTML','JS Excludes'=>'Kecualikan JS','JS Combine'=>'Gabungkan JS','JS Minify'=>'Perkecil JS','CSS Excludes'=>'Kecualikan CSS','CSS Combine'=>'Gabungkan CSS','CSS Minify'=>'Perkecil CSS','Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.'=>'Harap uji secara menyeluruh saat mengaktifkan opsi apa pun dalam daftar ini. Setelah mengubah pengaturan Memperkecil/Menggabungkan, harap Bersihkan Semua.','This will purge all minified/combined CSS/JS entries only'=>'Ini hanya akan membersihkan seluruh entri CSS/JS yang diperkecil/digabungkan','Purge %s Error'=>'Bersihkan Galat %s','Database Optimizer'=>'Pengoptimal Basis Data','Optimize all tables in your database'=>'Optimasi seluruh tabel pada basis data Anda','Optimize Tables'=>'Optimalkan Tabel','Clean all transient options'=>'Bersihkan seluruh opsi transien','All Transients'=>'Seluruh Transien','Clean expired transient options'=>'Bersihkan opsi transien kedaluwarsa','Expired Transients'=>'Transien Kedaluwarsa','Clean all trackbacks and pingbacks'=>'Bersihkan seluruh lacak dan ping balik','Trackbacks/Pingbacks'=>'Lacak/Ping Balik','Clean all trashed comments'=>'Bersihkan seluruh sampah komentar','Trashed Comments'=>'Sampah Komentar','Clean all spam comments'=>'Bersihkan seluruh komentar spam','Spam Comments'=>'Komentar Spam','Clean all trashed posts and pages'=>'Bersihkan seluruh sampah tulisan dan halaman','Trashed Posts'=>'Tulisan Dihapus','Clean all auto saved drafts'=>'Bersihkan seluruh konsep yang tersimpan','Auto Drafts'=>'Draf Otomatis','Clean all post revisions'=>'Bersihkan seluruh revisi tulisan','Post Revisions'=>'Revisi Tulisan','Clean All'=>'Bersihkan Semua','Optimized all tables.'=>'Seluruh tabel telah dioptimalkan.','Clean all transients successfully.'=>'Berhasil membersihkan seluruh transien.','Clean expired transients successfully.'=>'Berhasil membersihkan transien kadaluarsa.','Clean trackbacks and pingbacks successfully.'=>'Berhasil membersihkan ping dan lacak balik.','Clean trashed comments successfully.'=>'Berhasil membersihkan sampah komentar.','Clean spam comments successfully.'=>'Berhasil membersihkan komentar spam.','Clean trashed posts and pages successfully.'=>'Berhasil membersihkan sampah tulisan dan halaman.','Clean auto drafts successfully.'=>'Berhasil membersihkan konsep otomatis.','Clean post revisions successfully.'=>'Berhasil membersihkan revisi tulisan.','Clean all successfully.'=>'Berhasil membersihkan seluruhnya.','Default Private Cache TTL'=>'TTL Cache Pribadi Asali','If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.'=>'Jika situs Anda berisi konten publik yang bisa dilihat oleh peran pengguna tertentu tetapi peran lain tidak bisa, Anda bisa menentukan Grup Berbeda untuk peran pengguna itu. Misalnya, menentukan grup dengan variasi administrator memungkinkan ada halaman terpisah yang dibuat untuk publik yang dibuat khusus untuk administrator (dengan tautan "edit", dll), sementara seluruh peran pengguna lainnya melihat halaman publik asali.','Vary Group'=>'Grup Berbeda','Cache the built-in Comment Form ESI block.'=>'Cache blok ESI Formulir Komentar bawaan.','Cache Comment Form'=>'Cache Formulir Komentar','Cache the built-in Admin Bar ESI block.'=>'Cache blok ESI Bilah Admin bawaan.','Cache Admin Bar'=>'Cache Bilah Admin','Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.'=>'Aktifkan cache halaman publik untuk pengguna yang masuk dan sajikan Bilah Admin dan Formulir Komentar melalui blok ESI. Dua blok ini tidak akan dicache kecuali diaktifkan di bawah.','ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.'=>'ESI memungkinkan Anda untuk menunjuk bagian-bagian dari halaman dinamis Anda sebagai fragmen terpisah yang kemudian disusun bersama untuk membuat keseluruhan halaman. Dengan kata lain, ESI memungkinkan Anda “membuat lubang” di halaman, dan kemudian mengisi lubang itu dengan konten yang mungkin dicache secara pribadi, dicache secara publik dengan TTL-nya sendiri, atau tidak dicache sama sekali.','With ESI (Edge Side Includes), pages may be served from cache for logged-in users.'=>'Dengan ESI (Edge Side Includes), halaman dapat disajikan dari cache untuk pengguna yang masuk.','Private'=>'Pribadi','Public'=>'Publik','Purge Settings'=>'Pengaturan Pembersihan','Cache Mobile'=>'Cache Seluler','Advanced level will log more details.'=>'Level lanjutan akan mencatat lebih detail.','Basic'=>'Dasar','The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.'=>'Beban rata-rata maksimal peladen yang diizinkan saat perayapan. Jumlah rangkaian perayap yang digunakan akan dikurangi secara aktif hingga rata-rata beban peladen berkurang di bawah batas ini. Jika ini tidak dapat dicapai dengan perayap tunggal, perayapan yang berlangsung saat ini akan dihentikan.','Cache Login Page'=>'Cache Halaman Masuk','Cache requests made by WordPress REST API calls.'=>'Permintaan cache dibuat oleh panggilan REST API WordPress.','Cache REST API'=>'Cache REST API','Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)'=>'Cache secara pribadi komentator yang memiliki komentar tertunda. Menonaktifkan opsi ini akan menayangkan halaman yang tidak dapat dicache untuk komentator. (Diperlukan LSWS %s)','Cache Commenters'=>'Cache Komentator','Privately cache frontend pages for logged-in users. (LSWS %s required)'=>'Cache tampilan depan secara pribadi untuk pengguna yang masuk. (Diperlukan LSWS %s)','Cache Logged-in Users'=>'Cache Pengguna Masuk','Cache Control Settings'=>'Pengaturan Kontrol Cache','ESI'=>'ESI','Excludes'=>'Kecualikan','Purge'=>'Pembersihan','Cache'=>'Cache','Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)'=>'Aturan cache tak terduga %2$s ditemukan di berkas %1$s. Aturan ini dapat menyebabkan pengunjung melihat halaman versi lama karena peramban melakukan cache halaman HTML. Jika Anda yakin bahwa halaman HTML tidak dicache peramban, pesan ini dapat ditutup. (%3$sPelajari Lebih Lanjut%4$s)','Current server time is %s.'=>'Waktu peladen saat ini adalah %s.','Specify the time to purge the "%s" list.'=>'Tetapkan waktu untuk membersihkan daftar "%s".','Both %1$s and %2$s are acceptable.'=>'Baik %1$s dan %2$s, dapat diterima.','Scheduled Purge Time'=>'Waktu Pembersihan Terjadwal','The URLs here (one per line) will be purged automatically at the time set in the option "%s".'=>'URL di sini (satu per baris) akan dihapus secara otomatis pada waktu yang ditentukan dalam opsi "%s".','Scheduled Purge URLs'=>'Pembersihan URL Terjadwal','Shorten query strings in the debug log to improve readability.'=>'Persingkat string kueri dalam log debug untuk meningkatkan keterbacaan.','Heartbeat'=>'Detakan','MB'=>'MB','Log File Size Limit'=>'Batas Ukuran Berkas Log','<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s'=>'<p>Silakan tambahkan /ganti kode berikut ke awal %1$s:</p>%2$s','%s file not writable.'=>'Berkas %s tidak dapat ditulisi.','%s file not readable.'=>'Berkas %s tidak dapat dibaca.','Collapse Query Strings'=>'Ciutkan String Kueri','ESI Settings'=>'Pengaturan ESI','A TTL of 0 indicates do not cache.'=>'TTL 0 mengindikasikan jangan dicache.','Recommended value: 28800 seconds (8 hours).'=>'Nilai disarankan: 28800 detik (8 jam).','Widget Cache TTL'=>'TTL Cache Widget','Enable ESI'=>'Aktifkan ESI','See %sIntroduction for Enabling the Crawler%s for detailed information.'=>'Lihat %sPendahuluan untuk Mengaktifkan Perayap%s Untuk informasi lebih lanjut.','Custom Sitemap'=>'Peta Situs Khusus','Purge pages by relative or full URL.'=>'Bersihkan halaman berdasarkan URL relatif atau lengkap.','The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.'=>'Fitur perayap tidak diaktifkan di peladen LiteSpeed. Silakan berkonsultasi dengan admin peladen atau penyedia hosting Anda.','WARNING'=>'PERINGATAN','The next complete sitemap crawl will start at'=>'Perayapan peta situs lengkap berikutnya akan dimulai pada','Failed to write to %s.'=>'Gagal menulis ke %s.','Folder is not writable: %s.'=>'Folder tidak dapat ditulisi: %s.','Can not create folder: %1$s. Error: %2$s'=>'Tidak dapat membuat folder: %1$s. Galat: %2$s','Folder does not exist: %s'=>'Folder tidak ada: %s','Notified LiteSpeed Web Server to purge the list.'=>'Beritahu Peladen Situs LiteSpeed untuk membersihkan daftar.','Please visit the %sInformation%s page on how to test the cache.'=>'Harap kunjungi halaman %sInformasi%s untuk bagaimana menguji cache.','Allows listed IPs (one per line) to perform certain actions from their browsers.'=>'Mengizinkan IP terdaftar (satu per baris) untuk melakukan tindakan tertentu dari peramban mereka.','Server Load Limit'=>'Batas Beban Peladen','Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.'=>'Tentukan berapa detik sebelum perayap harus kembali merayapi seluruh peta situs.','Crawl Interval'=>'Interval Perayapan','Then another WordPress is installed (NOT MULTISITE) at %s'=>'Kemudian WordPress lain diinstal (BUKAN MULTI SITUS) di %s','LiteSpeed Cache Network Cache Settings'=>'Pengaturan Cache Jaringan LiteSpeed Cache','Select below for "Purge by" options.'=>'Pilih di bawah ini untuk opsi "Pembersihan berdasarkan".','LiteSpeed Cache CDN'=>'CDN LiteSpeed Cache','No crawler meta file generated yet'=>'Tidak ada berkas meta perayap yang dibuat','Show crawler status'=>'Tampilkan status perayap','Watch Crawler Status'=>'Lihat Status Perayap','Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task.'=>'Harap lihat %sMenghubungkan WP-Kron ke Penjadwal Tugas Sistem%s untuk mempelajari cara membuat tugas kron sistem.','Run frequency is set by the Interval Between Runs setting.'=>'Frekuensi menjalankan diatur oleh pengaturan Interval Antar Proses.','Manually run'=>'Jalankan manual','Reset position'=>'Reset posisi','Run Frequency'=>'Frekuensi Dijalankan','Cron Name'=>'Nama Kron','Crawler Cron'=>'Kron Perayap','%d minute'=>'%d menit','%d minutes'=>'%d menit','%d hour'=>'%d jam','%d hours'=>'%d jam','Generated at %s'=>'Dibuat pada %s','LiteSpeed Cache Crawler'=>'Perayap LiteSpeed Cache','If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s.'=>'Jika ada pertanyaan, tim selalu senang menjawab pertanyaan apa pun di %sforum dukungan%s.','Crawler'=>'Perayap','https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration'=>'https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration','Notified LiteSpeed Web Server to purge all pages.'=>'Beritahu Peladen Situs LiteSpeed untuk membersihkan seluruh halaman.','All pages with Recent Posts Widget'=>'Seluruh halaman dengan Widget Tulisan Terkini','Pages'=>'Halaman','This will Purge Pages only'=>'Ini akan Membersihkan Halaman saja','Purge Pages'=>'Bersihkan Halaman','Cancel'=>'Batal','Deactivate'=>'Nonaktifkan','Activate'=>'Aktifkan','Email Address'=>'Alamat Surel','Install Now'=>'Instal Sekarang','Purged the URL!'=>'Menghapus URL!','Purged the blog!'=>'Membersihkan blog!','Purged All!'=>'Membersihkan Semua!','Notified LiteSpeed Web Server to purge error pages.'=>'Beritahu Peladen Situs LiteSpeed untuk membersihkan halaman galat.','If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.'=>'Jika menggunakan OpenLiteSpeed, peladen harus dimulai ulang sekali agar perubahan diterapkan.','If the login cookie was recently changed in the settings, please log out and back in.'=>'Jika kuki masuk baru-baru ini diubah dalam pengaturan, silakan keluar dan masuk kembali.','However, there is no way of knowing all the possible customizations that were implemented.'=>'Namun, tidak ada cara untuk mengetahui seluruh kemungkinan penyesuaian yang diterapkan.','The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.'=>'Plugin LiteSpeed Cache digunakan untuk men-cache halaman, cara sederhana untuk meningkatkan kinerja situs.','The network admin setting can be overridden here.'=>'Pengaturan admin jaringan dapat ditimpa di sini.','Specify how long, in seconds, public pages are cached.'=>'Tentukan berapa lama, dalam detik, halaman publik dicache.','Specify how long, in seconds, private pages are cached.'=>'Tentukan berapa lama, dalam detik, halaman pribadi dicache.','It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.'=>'SANGAT dianjurkan untuk menguji kompatibilitas dengan plugin lain terlebih dahulu pada satu atau beberapa situs.','Purge pages by post ID.'=>'Bersihkan halaman berdasarkan ID tulisan.','Purge the LiteSpeed cache entries created by this plugin'=>'Bersihkan entri cache LiteSpeed ​​yang dibuat oleh plugin ini','Purge %s error pages'=>'Bersihkan halaman  %s','This will Purge Front Page only'=>'Ini akan Membersihkan Halaman Depan saja','Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.'=>'Bersihkan halaman berdasarkan nama tag - mis. %2$s sebaiknya digunakan untuk URL %1$s.','Purge pages by category name - e.g. %2$s should be used for the URL %1$s.'=>'Bersihkan halaman berdasarkan nama kategori - mis. %2$s sebaiknya digunakan untuk URL %1$s.','If only the WordPress site should be purged, use Purge All.'=>'Jika hanya situs WordPress yang harus dibersihkan, gunakan Bersihkan Semua.','Notified LiteSpeed Web Server to purge everything.'=>'Beritahu Peladen Situs LiteSpeed untuk membersihkan seluruhnya.','Use Primary Site Configuration'=>'Gunakan Konfigurasi Situs Utama','This will disable the settings page on all subsites.'=>'Ini akan menonaktifkan halaman pengaturan pada seluruh subsitus.','Check this option to use the primary site\'s configuration for all subsites.'=>'Periksa opsi ini untuk menggunakan konfigurasi situs utama untuk seluruh subsitus.','Save Changes'=>'Simpan perubahan','The following options are selected, but are not editable in this settings page.'=>'Pilihan berikut dipilih, tetapi tidak dapat disunting di halaman pengaturan ini.','The network admin selected use primary site configs for all subsites.'=>'Admin jaringan yang dipilih menggunakan konfigurasi situs utama untuk seluruh subsitus.','Empty Entire Cache'=>'Bersihkan Seluruh Cache','This action should only be used if things are cached incorrectly.'=>'Tindakan ini hanya boleh digunakan jika ada sesuatu yang dicache dengan tidak benar.','Clears all cache entries related to this site, including other web applications.'=>'Membersihkan seluruh entri cache yang terkait dengan situs ini, termasuk aplikasi web lainnya.','This may cause heavy load on the server.'=>'Ini dapat menyebabkan beban berat di peladen.','This will clear EVERYTHING inside the cache.'=>'Ini akan menghapus SEMUA yang ada di dalam cache.','LiteSpeed Cache Purge All'=>'Bersihkan Seluruh LiteSpeed Cache','If you would rather not move at litespeed, you can deactivate this plugin.'=>'Jika Anda lebih suka tidak berpindah dengan kecepatan tinggi, Anda dapat menonaktifkan plugin ini.','Create a post, make sure the front page is accurate.'=>'Buat tulisan, pastikan halaman depan akurat.','Visit the site while logged out.'=>'Kunjungi situs saat keluar.','Examples of test cases include:'=>'Contoh kasus uji meliputi:','For that reason, please test the site to make sure everything still functions properly.'=>'Untuk alasan itu, silakan uji situs untuk memastikan seluruhnya masih berfungsi dengan baik.','This message indicates that the plugin was installed by the server admin.'=>'Pesan ini menunjukkan bahwa plugin telah diinstal oleh admin peladen.','LiteSpeed Cache plugin is installed!'=>'Plugin LiteSpeed Cache diinstal!','Debug Log'=>'Log Debug','Admin IP Only'=>'Hanya IP Admin','The Admin IP option will only output log messages on requests from admin IPs listed below.'=>'Opsi IP Admin hanya akan mengeluarkan pesan log berdasarkan permintaan dari IP admin yang tercantum di bawah ini.','Specify how long, in seconds, REST calls are cached.'=>'Tentukan berapa lama, dalam detik, panggilan REST dicache.','The environment report contains detailed information about the WordPress configuration.'=>'Lingkungan laporan berisi informasi terperinci tentang konfigurasi WordPress.','The server will determine if the user is logged in based on the existence of this cookie.'=>'Peladen akan menentukan apakah pengguna telah masuk berdasarkan keberadaan kuki ini.','Note'=>'Catatan','After verifying that the cache works in general, please test the cart.'=>'Setelah memverifikasi bahwa cache berfungsi secara umum, silakan coba keranjang.','When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.'=>'Saat diaktifkan, cache akan secara otomatis dibersihkan ketika ada plugin, tema, atau inti WordPress yang ditingkatkan.','Purge All On Upgrade'=>'Bersihkan Saat Meningkatkan','Product Update Interval'=>'Interval Pembaruan Produk','Determines how changes in product quantity and product stock status affect product pages and their associated category pages.'=>'Menentukan bagaimana perubahan kuantitas produk dan status stok produk dapat mempengaruhi halaman produk dan halaman kategori terkait.','Always purge both product and categories on changes to the quantity or stock status.'=>'Selalu bersihkan baik produk maupun kategori pada perubahan kuantitas atau status persediaan.','Do not purge categories on changes to the quantity or stock status.'=>'Jangan membersihkan kategori pada perubahan kuantitas atau status persediaan.','Purge product only when the stock status changes.'=>'Bersihkan produk hanya ketika status persediaan berubah.','Purge product and categories only when the stock status changes.'=>'Bersihkan produk dan kategori hanya ketika status persediaan berubah.','Purge categories only when stock status changes.'=>'Bersihkan kategori hanya ketika status persediaan berubah.','Purge product on changes to the quantity or stock status.'=>'Bersihkan produk dari perubahan kuantitas atau status persediaan.','Htaccess did not match configuration option.'=>'Htaccess tidak cocok dengan opsi konfigurasi.','If this is set to a number less than 30, feeds will not be cached.'=>'Jika diatur ke angka kurang dari 30, pengumpan tidak akan dicache.','Specify how long, in seconds, feeds are cached.'=>'Tentukan berapa lama, dalam detik, pengumpan dicache.','Default Feed TTL'=>'TTL Pengumpan Asali','Failed to get %s file contents.'=>'Gagal mendapatkan konten berkas %s.','Disabling this option may negatively affect performance.'=>'Menonaktifkan opsi ini dapat memengaruhi kinerja secara negatif.','Invalid login cookie. Invalid characters found.'=>'Kuki masuk invalid. Ditemukan karakter yang invalid.','WARNING: The .htaccess login cookie and Database login cookie do not match.'=>'PERINGATAN: Kuki masuk .htaccess dan kuki masuk Basis Data tidak cocok.','Invalid login cookie. Please check the %s file.'=>'Kuki masuk tidak valid. Silakan cek berkas %s.','The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.'=>'Cache perlu membedakan siapa yang masuk ke situs WordPress mana untuk men-cache dengan benar.','There is a WordPress installed for %s.'=>'Terdapat instalasi WordPress untuk %s.','Example use case:'=>'Contoh kasus penggunaan:','The cookie set here will be used for this WordPress installation.'=>'Kuki yang ditetapkan di sini akan digunakan untuk instalasi WordPress ini.','If every web application uses the same cookie, the server may confuse whether a user is logged in or not.'=>'Jika setiap aplikasi web menggunakan kuki yang sama, peladen akan bingung apakah pengguna masuk atau tidak.','This setting is useful for those that have multiple web applications for the same domain.'=>'Pengaturan ini berguna bagi mereka yang memiliki beberapa aplikasi web untuk domain yang sama.','The default login cookie is %s.'=>'Kuki masuk asali adalah %s.','Login Cookie'=>'Kuki Masuk','More information about the available commands can be found here.'=>'Informasi lebih lanjut tentang perintah yang tersedia dapat ditemukan di sini.','These settings are meant for ADVANCED USERS ONLY.'=>'Pengaturan ini hanya ditujukan untuk PENGGUNA MAHIR.','Current %s Contents'=>'Konten %s Saat Ini','Advanced'=>'Tingkat Lanjut','Advanced Settings'=>'Pengaturan Lanjutan','Purge List'=>'Bersihkan Daftar','Purge By...'=>'Bersihkan Berdasarkan...','URL'=>'URL','Tag'=>'Model','Post ID'=>'ID Tulisan','Category'=>'Kategori','NOTICE: Database login cookie did not match your login cookie.'=>'PEMBERITAHUAN: Kuki masuk basis data tidak cocok dengan kuki masuk Anda.','Purge url %s'=>'Bersihkan url %s','Purge tag %s'=>'Bersihkan tag %s','Purge category %s'=>'Bersihkan kategori %s','When disabling the cache, all cached entries for this site will be purged.'=>'Saat menonaktifkan cache, seluruh entri yang dicache pada situs ini akan dihapus.','NOTICE'=>'PEMBERITAHUAN','This setting will edit the .htaccess file.'=>'Pengaturan ini akan menyunting berkas .htaccess.','LiteSpeed Cache View .htaccess'=>'Tampilan .htaccess LiteSpeed Cache','Failed to back up %s file, aborted changes.'=>'Gagal mencadangkan berkas %s, perubahan dibatalkan.','Do Not Cache Cookies'=>'Jangan Cache Kuki','Do Not Cache User Agents'=>'Jangan Cache Agen Pengguna','This is to ensure compatibility prior to enabling the cache for all sites.'=>'Untuk memastikan kompatibilitas sebelum mengaktifkan cache untuk seluruh situs.','Network Enable Cache'=>'Cache Jaringan Diaktifkan','NOTICE:'=>'PEMBERITAHUAN:','Other checkboxes will be ignored.'=>'Kotak centang lainnya akan diabaikan.','Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.'=>'Pilih "Seluruh Halaman" jika ada widget dinamis yang ditautkan ke tulisan di halaman selain halaman depan atau beranda.','List of Mobile User Agents'=>'Daftar Agen Pengguna Seluler','File %s is not writable.'=>'Berkas %s tidak dapat ditulisi.','JS Settings'=>'Pengaturan JS','Manage'=>'Kelola','Default Front Page TTL'=>'TTL Beranda Asali','Notified LiteSpeed Web Server to purge the front page.'=>'Beritahu Peladen Situs LiteSpeed untuk membersihkan halaman depan.','Purge Front Page'=>'Bersihkan Halaman Depan','Example'=>'Contoh','All tags are cached by default.'=>'Seluruh tag dicache secara asali.','All categories are cached by default.'=>'Seluruh kategori dicache secara asali.','To do an exact match, add %s to the end of the URL.'=>'Agar sama persis, tambahkan %s ke akhir URL.','The URLs will be compared to the REQUEST_URI server variable.'=>'URL akan dibandingkan dengan variabel peladen REQUEST_URI.','Select only the archive types that are currently used, the others can be left unchecked.'=>'Pilih hanya jenis arsip yang saat ini digunakan, yang lain dapat dibiarkan tidak dicentang.','Notes'=>'Catatan','Use Network Admin Setting'=>'Gunakan Pengaturan Jaringan Admin','Disable'=>'Nonaktif','Enabling LiteSpeed Cache for WordPress here enables the cache for the network.'=>'Mengaktifkan LiteSpeed Cache untuk WordPress di sini memungkinkan cache untuk jaringan.','Disabled'=>'Dinonaktifkan','Enabled'=>'Diaktifkan','Do Not Cache Roles'=>'Jangan Cache Peran','https://www.litespeedtech.com'=>'https://www.litespeedtech.com','LiteSpeed Technologies'=>'LiteSpeed Technologies','LiteSpeed Cache'=>'LiteSpeed Cache','Debug Level'=>'Level Debug','Notice'=>'Pemberitahuan','Term archive (include category, tag, and tax)'=>'Arsip istilah (termasuk kategori, tag, dan taksonomi)','Daily archive'=>'Arsip harian','Monthly archive'=>'Arsip bulanan','Yearly archive'=>'Arsip tahunan','Post type archive'=>'Arsip jenis tulisan','Author archive'=>'Arsip penulis','Home page'=>'Halaman beranda','Front page'=>'Halaman depan','All pages'=>'Seluruh halaman','Select which pages will be automatically purged when posts are published/updated.'=>'Pilih halaman mana yang akan secara otomatis dihapus ketika tulisan diterbitkan/diperbarui.','Auto Purge Rules For Publish/Update'=>'Aturan Pembersihan Otomatis untuk Penerbitan/Publikasi','Default Public Cache TTL'=>'TTL Cache Publik Asali','seconds'=>'detik','Admin IPs'=>'IP Admin','General'=>'Umum','LiteSpeed Cache Settings'=>'Pengaturan LiteSpeed Cache','Notified LiteSpeed Web Server to purge all LSCache entries.'=>'Peladen Situs LiteSpeed ​​telah diberitahu untuk membersihkan seluruh entri LSCache.','Purge All'=>'Bersihkan Semua','Settings'=>'Pengaturan','Support forum'=>'Forum dukungan']];PKb^�\5<���%translations/litespeed-cache-ru_RU.monu�[�����*l)��R�n�n�n�n2�n�n�n	o
o
o(o5oQogo}o	�o�o	�o�o.�o�o
�o�ophpN|pg�p\3qo�qbrecra�r=+s"is7�s�s�s �s
�stH$tmtvt�t�t�t'�t
�t	�tu
u$u%6u\u|buF�u
&v.1v0`v�v%�v	�v"�v�vPwdwTswZ�w>#xbxx4�x-�x/�xqyL�y2�yIz*[zJ�z�z�z#�z{"{
+{9{QK{O�{�{s|Ew|P�|8}0G}x}'�}�}�}�}3~8~>~V~$]~	�~	�~�~ �~"�~/�~*A
IWn��4��;�f�o�|�����
��'��
݁���#�$�5�A�a�
n�y���������ǂڂ�	��"�
3�>�K�Z�g�8v�&��0փ*�S2��� �� Ą(��� �?��]���W
�Kb�	����ʆ�$��$�=�U�"m���"��χ!��,�&L�&s�"��G��!�,'�$T�+y���ʼn���'�(?�h�n�
������Ċ1׊
	�%�2=�p�V|�^Ӌ
2�=�L�j�{�������&Ȍ.�N�*m�/��Vȍ]�L}�ʎ��� �3�!E�g�s�
��������ȏЏݏ���%�B7�
z�4��&��6��%�	8�B�V�u�������ԑ �"�3�I�/b�/��*’<�<*�7g�����Ǔ֓���
�	$�.�7�J�[�{���
��
����	��ŔԔ����
�&�7�!N�p�������̕���
�)��2�9ؖ�)�MD���+��}ܗZ�Dk�8����
��+�;7��s�2� ;� \�K}�8ɚ��%�9�N�f�{�������ϛ�C��>�U�H\�����
��Ɯ<Ӝ�*�;�9P�9��
ĞҞ���
�
�#�>�,Y�^��q�W�_��N�������(��
��ɡ���>�F�X�x�����������ɢѢ+آ%�,*�sW�ˣߣ"��%"�H�h�&{�����ʤ���6��3�K�e���L���9�:.�6i�-���ΦWk�çԧ
����O&�
v�������˨Ө��
�Q-����
����ө �0�8�G�[�#n���
����!��ܪ��������ҫ����
$�2�	F�P�Bb�
������	��Ƭ2ˬZ��,Y�����-����i��;&�Yb�K��V�U_�L��B�YE�:��Vڱ`1�J��gݲxE�=��@��==�{�������׵�
�<�?Q�������ڶ�?�C�J�Z� j�&�� ��Dӷ�l$�G���ٸk�w���
������d�*�?�T�p����+�
3�>�W�
c�
q�/|�/��ܼk�<]�
����(Ľ�
��+�	7�A�cM���о�.��'�
,�7�
L�Z�r��h���A��Q��	���
��1�>�'N�
v���
��
��"����$�+�@�#R�v�*����������

��
4�$?�(d�����C���P�Fm�F��@��2<�Bo�>��"��&�;�K�%_�����%�� ��"��&!�!H�j��� ������$���1�@�W�h�d��� ���/.�.^���������������$�1�O�R�Y�u�������
�������������%�?�$T�
y�������������@��
	�%�=�U�Z�a�>i����� ����*� 2�S�X�2n�����"��*��*%�"P�"s���<��,��$�
5�
C�Q�a�f�l�
s�.��?��6��;'�1c�3��2��6��03�d�h�k�n�u�����Q��Q�DY�
����#��-��$�?3�s����7�D�%Q�	w��������������$�6�EO�+��*�������<5�r�����
��
��$��������!��1�M�Z�x�����������������R�cW�2��?��
.�<�[�dq�<��5�SI�C��5����7�K��O�'W��������9��;��0#�MT�����p��|2�/��&��&�)-�8W�7��4�����
%�3�
G��U�F��d*�U����X��V�]�j��A��A����$�	9�C�S�h�t���
��	������%����0�9�IK���$��D��@�9X�1����8��a
�l�|���������+��
����P;�<������/�8�#S��w�;�E?����= �^�Q{�+������$�,�@�`�z�
������ ��������0�H��f�X�&m���{��;'�c�|�4��������F!�h�z�!����!������.�=�L�`�&~�B�������Y7�������$�����I �
j�x���
����:����� �.-�\�'b�d�����f�$��X��Q��7P�+��J����g��������Q�=�0I�Pz�^�	*�4�9F�v��}��(u�����>���U�Nj�e���
,�:�&W�~�#������9�
�V�is�_�C=�G��a�8+�4d�/��7�6�78�-p�)��L�*)@-j(�H�A
cLR�MQb(y3��R�0E]n�
���2��($15V�����e�-(V/^Z�h�]R=�i�8X[�c�CQj�z	A{	q�	`/
'�
q�
*WJO�>�1JKb�E�
1�
-+8YM�Y�,:)gS�9�&)F9p$�X�1(AZ^�E�UA(�S�YnJ�z�(JIsx�^6A�4�)c60�.������;�A�Y0*�F�9�6VRqp�,5*b1�;�/�(+JT4�B�N6Q�o�XG /� G� 9!1R!��!�"��"Jm#^�#3$NK$�$W�$�%��%>l&H�&H�&<='1z'V�'L($P(]u(�(�(�(�(�($)')<)
M)[)n)u)�)�)��)/:*(j*)�*�*��*�[+
�+
�+�+,,,,@9,z,
~,%�,g�,H-
`-
k-
y-�-�-�-:�->�-@&.pg.�.�.//0/C/rb/]�/530_i0��0(g18�1�1#�1
2$*2.O22~2r�2H$3m3!v3�3�3C�3F�334
@4K4^4}4�4�4�4�4�4�45 )5J5KR5�5�5+�5�5)�5�'6 �6
�6�67"777H7e`7J�7j8K|8d�8M-9J{9�9g�9J:Ra:Z�:;$;'D;#l;�;��;%I<-o<��</U=(�=E�=��=u�>F!?0h?D�?.�?S
@4a@*�@�@C�@A$ALfA-�AG�A<)BfB/�B�B�B)�BZCw]C�CC�C(D?E
HESE[ErEK�E�E�EFJF	RF\FdFlF�qF�FG�
G�H9�H*�H[	I	eI
oI}I
�I�I�IH�I6J5CJyJ�J�J�J�JZ�JGKaK�K�K��K_nL��L��M�^N�O��O��PSoQK�QR�R�R6�R�R8�R�+S�S6�S.TC:T-~Tf�T,U,@UmU$�U)�Ux�U
LVWVnmW�W`�WFTX�XG�X�XEY=]Y��YmZ��Z�[b�[8a\-�\r�\};][�]�^��^tu_��_Iq`��`za�aW�a%b,b%Eb5kb��b�Bc�c��cw�d�@e��e]{f1�fIgDUgX�gB�gs6h�h>�h
�hSiYiki+�ig�i'jtAjg�jk-k,Ekrk5�km�l�4m��n�o9�o#p'p@pOWp�p�p�p:�p q>qAYq�q�q�q&�q

rr"r(Ar!jr2�r�rE�r"$sGsbs|s�s�sx�sI+tPutD�t�u]�uP�uKFvE�v�v�vJ�v3Cwww�xG�x��x��y^z=vz8�z\�zWJ{7�{7�{%|<8|=u|@�|A�|K6}R�}l�}HB~`�~@�~-B�X�LI�T��<�*(�&S�:z�Q��F�N�"_���D��;�=!��_�3�k����!��-��م
����IĆ� �6�T�,h�O��X��>�<ӈI��Z��މ���.�>�'^�7��$��4�
�&�$B�#g�,����֌-�?"�.b�.��Y��q�!�����2I�h|��+�",�&O�Dv�>��D��?�.Y�-��Y��2�!C�.e�x��x
�s���������"�(��.֕5�;�HX�\����!�@�,V�'��>��7�"�/�L�l���!��4Ș-��++�W�o� ��;��I�45�)j�(�� ��6ޚ�,5�(b�������$���[����?��O�?�C�rc�e֠<�(O�)x�O����	����L�6_�.���Ť�q�&��#�0@�-q�,��+̦&��5�"U�"x���A�����-|�
�����.b���
������47�(l�,��Y¬Y�v� ��*��ӭ��( �;I�����'����r�4��,��w�!]����L��!�,
�,:�&g�7��Ƴ(׳@�A�']���%����ϴ�
���4��Eѵ��+��H!�Cj�J��H��%B�Jh�+��8߸6�O�
o�_z�.ڹ(	�82�:k����@�gQ�n��Z(�S��-׼��(��D��!��3�PO����n�>��R�< �
]�h�<��X���<� ��0��!�B1�/t�:��H��(�8�O�He�
����6��F�?S�:����E��'(�'P�.x�=�����&�@�)S��}��"�1�#D�h�_u����Uc���#��R���L��7�|�����V������}[�k���E�o���o���y��tR����x���7����0L�-}�@��?��A,�,n�-������Q�.��J�Ia�5��-����������:��E�8]����7�M��N�R�Y�&n�'����u���G�%��D��G9�F��T���2�%J�!p�!��&�����T]�<�����\���@4�Hu�H���*�F�\�v����FV�1��:��Y
�d�i�'u�������M���7������T�r�'��/��*��,
�7�W�Ow�3��1��1-�#_�L���6�W'�p�-�g�O����<W�<��3�<�B�)U��M��b�7C�3{�w��G'��o��5�����A�k��=��EH�j����	C-a1�+�-�=<Y7�)�"�A,]5�2�7�+ Dez��+==i(�{�L�!�)'/7W+�;��!T9��>��
00=n����/	
6	OA	-�	M�	
&
3
7B
z
!�
�
{�
?O]1����,�&�K
)]
N�
3�

Co]2�-S.o�o�\bS��1a�y#��#��1GHu����|��m��V^gnu�>�*�����;&�S`n@�`ZqE��
�A��)
64-k,�*�>�#0:T=���ce f� 30!d!~!M�!x�!&Y"�"�"$�"!�";�"2(#[#'h#D�#=�#)$7=$,u$'�$�$�$F�$A%P%%]%8�%��%��&]z'h�'A(L^(+�(��(f�)H�)�C*l�*mH+:�+	�+��,��-Kl.�.�.�.$�.�/��/L0��0$[1�1��1h2ci3r�3v@4g�4f5s�5p�5.k6�6�6�6�6A�6�,8��8��925:�h:�:�:7;%M;�s;��;�< �<1�<�< =3(=\=u=0�=�=�=!�=!>=:>1x>m�>&?�??F�?g.@��@|/At�A_!B�BQ�B��B(�C�C�C4�C2DIDRYD
�D&�D5�D�Ep�E5	F3?FQsF&�FI�F6Gf;H��Hj(Ig�J5�J1KO�K)L2+L^L}L=�LN�L.M'JM+rM=�M6�MDN.XN!�N"�N �N=�NT+O��O*QS>Q�Q��Q��R53S/iSm�SUT<]T �T
�Tv�T =UG^Uh�UNV4^V*�V#�Vf�VIW+cW%�WY�W�X+�X6�X7
Y�BY+�Y?*Z^jZB�Z)[/6[�f[\\/;\#k\0�\w�\;8]t]%�]s�]%^O8^�^8�_>�_�`E�`�&a��a_�bH�b�Hc;�c�d�dL�d;9e$ue��e+fTKf��f�Ag�g6�g|+h��h��igMjH�j�jyk?�k��krsl��l!�m�m'�m:#n^nHkn�n?�n�	o�o�o��p��q�,r��r��ss=ta�tSuwgu��ueevJ�v@w�WwT�w?9xJyx;�xqyjry��y�rz��z1�{@�{e!|��|}�}6�}7�}#~*:~e~r~=�~�~x�~=Ld�N�`>�9��'ـ�����_�H�NY�����y��C�h���e��6��Ɔ���������u��[����ʋ:���ՌH���ҍ�^�b�1P�(�����,g����hV�_��l������c��=��Q�f�)g�K��WݗY5�q��������!������VW�����E�ם��S��Xܟ�5�$̠��m̢\:�=���գJΤD�c^�2¦b��FX�����%�<��������=@�3~�����]�;=�Gy�{���=�]ӳb1����f$����M)��w�������p�S ��t�r�^���$��&��¾���_Y�{��:5��p�G.�9v�{���,���m<�b���
����Q���������
����#��\�4u�)����(���%0�V�i��z�c�a��M��-1��_�H�5U�����1����	�|$�����H����������#�� ����7��,��G�x���B� ��A��$@�Qe�D��4��O1�����f�o����>A�c�����C}�H��F
�OQ�w��_��y��v��U3���!��a������
��1��6���75�7m�;��I��;+�Vg�4��8��,��I�����W��AW�W��;��/-�]�'v�I��,���65��l��Q��������<������S1����F[�����Y��K3�X�8���`/�D��n���D�a�JV����E"�h��j�\	�f�[��B�y�mg�=�������%�s��7����.EXt1�	�<	�F:�##xG�����9�K1}=�	���p���
��%�v
��6��;����(�����M�^�r
�$>�p`e�u�A0��  z��s��"lt5x�y^�p��e�����8�s�5H���\���*!�M��%�7�kd���v�QgS��g.1-���������������Z�I�u`�3�|�����q���m�)���0� ��&�RS�U�"���%8�����;i]�%P&�f�<��a��r�v��[<(��F�w�w�U���AW{r�G���:���T�<b;��><��6�@
���� F�T���_�x� �=�m�(y�p
����@��dD�Y��4�:N4<k,�!���e�r������y���-N���Opf'��k��#�Gy�c�=3��a���������
X��@b������V�$��P��$�+�����\e�9q�������I^X�{�*$t=�j�G
3!�.
��_���#3�hB.�O*��'5����Q��g�+�%�b�
��������+���?)A7���P��i��leE�	i���� ��@�-
�9����a�M!��ZD$�#�PU�I�h�R�
Ym_+���&�8(�6���oO���}�;����U�(��?�.�)�d���(uH9�Q	'�u�n���)p���B���*�6qT|2���L��0hT�?�����X���EkzW����.�?���Q���H�����w�,�J��A���V�uW~!��i����ls-��wZn*U���$��"��r'��V���=��*����vb���8��%So��TYL��JYW����D��4�KG��HKt������s7��F]��`M]5>����I�)/��`��|����mX}4C9^�Vo	biC��:�{]�dq�1��Xks��0S��a�n��L�N�Q�
[2����j��BgO�6�
�~2������"��A����_#��m�Y�/��[���Bl;����jf�P���d7|a���~�g�2����H��FzW�\4	R,�K���]v����CR�j��C�C&�)�������^}tR���"�F���'���|n���~h�G����}����J\�81��c�f7��/	����%cxy�5>�M3/����!����:��xf�>�l�zJ�E���[##t���xj~1w��/������,�Z�+��NL���:�"���1������n����[��_Do�	��@���S?-�����zK=��&�{L�o������{��9����ZV�E��NI'�E2qc�&O�\,`�h��B�}0�����K��J�cD %s ago%1$s %2$s files left in queue%1$s is a %2$s paid feature.%1$s plugin version %2$s required for this action.%d hour%d hours%d minute%d minutes%d seconds%s Extension%s activation data expired.%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.A Purge All will be executed when WordPress runs these hooks.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimized.AJAX Cache TTLAPIAVIF file reduced by %1$s (%2$s)AVIF saved %sAccelerate, Optimize, ProtectAccelerates the speed by caching Gravatar (Globally Recognized Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced (Recommended)Advanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.After verifying that the cache works in general, please test the cart.AggressiveAlias is in use by another QUIC.cloud account.All QUIC.cloud service queues have been cleared.All TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Already CachedAlways purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Applied the %1$s preset %2$sApply PresetAre you sure to delete all existing blocklist items?Are you sure to destroy all optimized images?Are you sure you want to clear all cloud nodes?Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Asynchronous CSS Loading with Critical CSSAttach PHP info to report. Check this box to insert relevant data from %s.Author archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAutoloadAutoload sizeAutoload top listAutomatic generation of critical CSS is in the background via a cron-based queue.Automatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimized images.Automatically replace large images with scaled versions.Automatically request optimization via cron job.Available after %d second(s)Avatar list in queue waiting for updateBackend .htaccess PathBackend Heartbeat ControlBackend Heartbeat TTLBackup created %1$s before applying the %2$s presetBasicBasic Image PlaceholderBeforeBest available WordPress performanceBeta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a gray image placeholder %s will be used.By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CCSS Per URLCCSS Selector AllowlistCDNCDN - DisabledCDN - EnabledCDN - not available for anonymous usersCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS & JS CombineCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS, JS and HTML MinificationCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache WP-AdminCache key must be integer or non-empty string, %s given.Cache key must not be an empty string.Cache requests made by WordPress REST API calls.Cache the built-in Comment Form ESI block.Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryCert or key file does not exist.Changed setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.Check StatusCheck my public IP fromCheck the status of your most important settings and the health of your CDN setup here.Check this option to use the primary site's configuration for all subsites.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all orphaned post meta recordsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all trashed commentsClean all trashed posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean orphaned post meta successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean trashed comments successfully.Clean trashed posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all Unique CSS files.Cleaned all localized resource entries.Cleaned up unfinished data successfully.ClearClear Cloudflare cacheClear LogsCleared %1$s invalid images.Click here to proceed.Click here to set.Click to clear all nodes for further redetection.Click to copyClick to switch to optimized version.Click to switch to original (unoptimized) version.Cloud ErrorCloud server refused the current request due to rate limiting. Please try again later.Cloud server refused the current request due to unpulled images. Please pull the images first.CloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare SettingsCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimizedCongratulations, %s successfully set this domain up for the anonymous online services.Congratulations, %s successfully set this domain up for the online services with CDN service.Congratulations, %s successfully set this domain up for the online services.Congratulations, all gathered!Connection TestContent Delivery NetworkContent Delivery Network ServiceConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCopy LogCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled by the server admin.Crawler disabled list is cleared! All crawlers are set to active! Crawler(s)Create a post, make sure the front page is accurate.Created with ❤️ by LiteSpeed team.Credits are not enough to proceed the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent crawler started atCurrent image post id positionCurrent limit isCurrent server loadCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently using optimized version of AVIF file.Currently using optimized version of WebP file.Currently using optimized version of file.Currently using original (unoptimized) version of AVIF file.Currently using original (unoptimized) version of WebP file.Currently using original (unoptimized) version of file.Custom SitemapDB Optimization SettingsDNS PreconnectDNS PrefetchDNS Prefetch ControlDNS Prefetch for static filesDaily archiveDashboardDatabaseDatabase OptimizerDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)DeactivateDebug HelpersDebug LevelDebug LogDebug SettingsDebug String ExcludesDebug URI ExcludesDebug URI IncludesDefaultDefault CacheDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default path isDefault port for %1$s is %2$s.Default valueDeferredDeferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).Delay rendering off-screen HTML elements by its selector.DelayedDelete all backups of the original imagesDelivers global coverage with a growing <strong>network of 80+ PoPs</strong>.Destroy All Optimization DataDestroy all optimization data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable CacheDisable Image LazyloadDisable VPIDisable WordPress interval heartbeat to reduce server load.Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.DisabledDisabled AVIF file successfully.Disabled WebP file successfully.Disabling this may cause WordPress tasks triggered by AJAX to stop working.Disabling this option may negatively affect performance.Disconnect from QUIC.cloudDismissDismiss this noticeDismiss this notice.Do Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.Do not show this againDomainDowngrade not recommended. May cause fatal error due to refactored code.Drop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in HTML code will be excluded.Elements with attribute %s in html code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable CacheEnable ESIEnable QUIC.cloud CDNEnable QUIC.cloud ServicesEnable QUIC.cloud servicesEnable Viewport Images auto generation cron.Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled AVIF file successfully.Enabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.Error: Failed to apply the settings %1$sEssentialsEverything in Advanced, PlusEverything in Aggressive, PlusEverything in Basic, PlusEverything in Essentials, PlusExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to detect IPFailed to get %s file contents.Failed to get echo data from WPAPIFailed to parse %s activation status.Failed to request via WordPressFailed to upgrade.Failed to validate %s activation data.Failed to write to %s.Fast Queue UsageFile %s is not writable.Filename is empty!FilesFilter %s available for UCSS per page type generation.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimizationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, for %1$s, %2$s and %3$s can be used here.For example, for %1$s, %2$s can be used here.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFree monthly quota available.Free monthly quota available. Can also be used anonymously (no email required).Front pageFrontend .htaccess PathFrontend Heartbeat ControlFrontend Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerate a separate vary cache copy for the mini cart when the cart is not empty.Generated at %sGlobal API Key / API TokenGlobal GroupsGo to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode JS ExcludesGuest Mode and Guest OptimizationGuest Mode failed to test.Guest Mode passed testing.Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX.Guest Mode testing resultGuest OptimizationHTML Attribute To ReplaceHTML Keep CommentsHTML Lazy Load SelectorsHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimization from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimization.However, there is no way of knowing all the possible customizations that were implemented.Htaccess did not match configuration option.Htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If every web application uses the same cookie, the server may confuse whether a user is logged in or not.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you are using a %1$s socket, %2$s should be set to %3$sIf you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimizationImage Optimization SettingsImage Optimization SummaryImage Thumbnail Group SizesImage groups totalImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimized and pulledImages ready to requestImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byIn order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.In order to use QC services, need a real domain name, cannot use an IP.In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.Include CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInline CSS added to CombineInline JS added to CombineInline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.InstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.It will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS Defer for both external and inline JSJS Deferred / Delayed ExcludesJS DelayedJS Delayed IncludesJS ExcludesJS MinifyJS SettingsJS error can be found from the developer console of browser by right clicking and choosing Inspect.Join LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain color placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast PulledLast Report DateLast Report NumberLast RequestLast calculatedLast complete run time for all crawlersLast exportedLast generatedLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLazy Load for IframesLazy Load for ImagesLearn MoreLearn More about QUIC.cloudLearn moreLearn more about when this is neededLearn more or purchase additional quota.Link & Enable QUIC.cloud CDNLink to QUIC.cloudLinked to QUIC.cloud preview environment, for testing purpose only.List of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.List the CSS selectors whose styles should always be included in CCSS.List the CSS selectors whose styles should always be included in UCSS.Listed CSS files will be excluded from UCSS and saved to inline.Listed JS files or inline JS code will be delayed.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be optimized by %s.Listed URI will not generate UCSS.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache Configuration PresetsLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimizationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimizationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache Page OptimizationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache Standard PresetsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache plugin is installed!LiteSpeed Crawler CronLiteSpeed LogsLiteSpeed OptimizationLiteSpeed ReportLiteSpeed TechnologiesLiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.Load CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalizationLocalization FilesLocalization SettingsLocalize ResourcesLocalize external resources.Localized ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum image post idMaximum valueMaybe LaterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMobile CacheMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuMy QUIC.cloud DashboardNOTENOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New Version Available!New developer version %s is available now.New release %s is available now.NewsNext-Gen Image FormatNo available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimized AVIF file exists.No backup of unoptimized WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo optimizationNo valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Non cacheableNot AvailableNot blocklistedNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONORObjectObject CacheObject Cache SettingsObject cache is not enabled.Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Online ServicesOnline node needs to be redetected.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed users please check thisOperationOptimization StatusOptimization SummaryOptimization ToolsOptimize CSS delivery.Optimize LosslesslyOptimize Original ImagesOptimize TablesOptimize all tables in your databaseOptimize for Guests OnlyOptimize images and save backups of the originals in the same folder.Optimize images using lossless compression.Optimize images with our QUIC.cloud serverOptimized all tables.Option NameOptionalOptional when API token used.Optionally creates next-generation WebP or AVIF image files.Options saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Orphaned Post MetaOtherOther Static CDNOther checkboxes will be ignored.Outputs to a series of files in the %s directory.PAYG BalancePHP Constant %s is supported.Page Load TimePage OptimizationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:Please do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please make sure this IP is the correct one for visiting your site.Please read all warnings before enabling this option.Please see %s for more details.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.PortPost IDPost RevisionsPost type archivePreconnecting speeds up future loads from a given origin.Predefined list will also be combined w/ the above settingsPrefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimization of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality.Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.Product Update IntervalProvides <strong>security at the CDN level</strong>, protecting your server from attack.PublicPublic CachePull Cron is runningPull ImagesPulled AVIF image md5 does not match the notified AVIF image md5.Pulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge %s error pagesPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge url %sPurged All!Purged all caches successfully.Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud CDN OptionsQUIC.cloud CDN Status OverviewQUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.QUIC.cloud CDN is currently <strong>fully disabled</strong>.QUIC.cloud Integration DisabledQUIC.cloud Integration EnabledQUIC.cloud Integration Enabled with limitationsQUIC.cloud Online ServicesQUIC.cloud Service Usage StatisticsQUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.QUIC.cloud's Image Optimization service does the following:QUIC.cloud's Online Services improve your site in the following ways:QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.Query strings containing these parameters will not be cached.Read LiteSpeed DocumentationRecommended to generate the token from Cloudflare API token template "WordPress".Recommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRefreshRefresh Crawler MapRefresh Gravatar cache by cron.Refresh QUIC.cloud statusRefresh StatusRefresh UsageRefresh page load timeRefresh page scoreRegenerate and Send a New ReportRemaining Daily QuotaRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.Remove Query StringsRemove Query Strings from Static FilesRemove WordPress EmojiRemove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.Remove all previous unfinished image optimization requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed Unused CSS for UsersRemoved backups successfully.Replace %1$s with %2$s.ReportRequest WebP/AVIF versions of original images when doing optimization.Requests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset %s activation successfully.Reset All SettingsReset SettingsReset image optimization counter successfully.Reset positionReset successfully.Reset the entire opcode cacheReset the optimized data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColorResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore SettingsRestore from backupRestored backup settings %1$sRestored original file successfully.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun %s Queue ManuallyRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSave ChangesSave transients in database when %1$s is %2$s.SavedSaving option failed. IPv4 only for %s.Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.Scheduled Purge TimeScheduled Purge URLsSelect "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimizations.Selected roles will be excluded from cache.Selectors must exist in the CSS. Parent classes in the HTML will not work.Send Optimization RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSend to twitter to get %s bonusSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe a separate cache copy for mobile visitors.Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Server IPServer Load LimitServer variable(s) %s available to override this setting.Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimized %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.Sitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSoft Reset Optimization CounterSome optimized image file(s) has expired and was cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.Specify an HTTP status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG color.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Specify which element attributes will be replaced with WebP/AVIF.Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.Spread the love and earn %s credits to use in our QUIC.cloud online services.Standard PresetsStarted async crawlingStarted async image optimization requestStatic file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimizationStore Gravatar locally.Store TransientsSuccessfully CrawledSummarySupport forumSure I'd love to review!SwapSwitch back to using optimized images on your siteSwitched images successfully.Switched to optimized file successfully.Sync QUIC.cloud status successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank You for Using the LiteSpeed Cache Plugin!The Admin IP option will only output log messages on requests from admin IPs listed below.The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe queue is processed asynchronously. It may take time.The selector must exist in the CSS. Parent classes in the HTML will not work.The server will determine if the user is logged in based on the existence of this cookie.The site is not a valid alias on QUIC.cloud.The site is not registered on QUIC.cloud.The user with id %s has editor access, which is not allowed for the role simulator.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.This option can help to correct the cache vary for certain advanced mobile or tablet visitors.This option enables maximum optimization for Guest Mode visitors.This option is bypassed because %1$s option is %2$s.This option is bypassed due to %s option.This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.This option will automatically bypass %s option.This option will remove all %s tags from HTML.This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.This process is automatic.This setting is %1$s for certain qualifying requests due to %2$s!This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This will Purge Front Page onlyThis will Purge Pages onlyThis will also add a preconnect to Google Fonts to establish a connection earlier.This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?This will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all generated unique CSS filesThis will delete all localized resourcesThis will disable LSCache and all optimization features for debug purpose.This will disable the settings page on all subsites.This will drop the unused CSS on each page from the combined file.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimized files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.To manage your QUIC.cloud options, go to your hosting provider's portal.To manage your QUIC.cloud options, please contact your hosting provider.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomize CDN hostname, define multiple hostnames for the same resources.To test the cart, visit the %sFAQ%s.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimized in this monthTrackbacks/PingbacksTrashed CommentsTrashed PostsTry GitHub VersionTuningTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in backend editor.Turn ON to control heartbeat on backend.Turn ON to control heartbeat on frontend.Turn On Auto UpgradeTurn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Tweet previewTweet thisUCSS InlineUCSS Selector AllowlistUCSS URI ExcludesURI ExcludesURI Paths containing these strings will NOT be cached as public.URLURL SearchURL list in %s queue waiting for cronUnable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.Unable to automatically add %1$s as a Domain Alias for main %2$s domain.Unique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimized FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.Use external object cache functionality.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Dev/Master commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimized) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.Useful for above-the-fold images causing CLS (a Core Web Vitals metric).UsernameUsing optimized version of file. VPIValue rangeVariables %s will be replaced with the configured background color.Variables %s will be replaced with the corresponding image properties.Vary CookiesVary GroupVary for Mini CartView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimizationViewport ImageViewport Image GenerationViewport ImagesViewport Images CronVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWebP/AVIF Attribute To ReplaceWebP/AVIF For Extra srcsetWelcome to LiteSpeedWhat is a group?What is an image group?When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When minifying HTML do not discard comments that match a specified pattern.When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Who should use this preset?Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.Wildcard %s supported.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.You can just type part of the domain.You can list the 3rd party vary cookies here.You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the htaccess file path.You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible.You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.You have too many requested images, please try again in a few minutes.You have used all of your daily quota for today.You have used all of your quota left for current service this month.You just unlocked a promotion from QUIC.cloud!You must be using one of the following products in order to measure Page Load Time:You must set %1$s to %2$s before using this feature.You must set %s before using this feature.You need to activate QC first.You need to set the %1$s first. Please use the command %2$s to set.You need to set the %s in Settings first before using the crawlerYou need to turn %s on and finish all WebP generation to get maximum result.You need to turn %s on to get maximum result.You will be unable to Revert Optimization once the backups are deleted!You will need to finish %s setup to use the online services.Your %s Hostname or IP address.Your API key / token is used to access %s APIs.Your Email address on %s.Your IPYour application is waiting for approval.Your domain has been forbidden from using our services due to a previous policy violation.Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.Your server IPYour site is connected and ready to use QUIC.cloud Online Services.Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.Zero, orcategoriescookiese.g. Use %1$s or %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowno matter where they live.pixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsthe auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.unknownuser agentsPO-Revision-Date: 2025-12-16 19:49:27+0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);
X-Generator: GlotPress/4.0.3
Language: ru
Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)
 %s назадВ очереди осталось %1$s %2$s файлов%1$s - платная функция %2$s.Для этого действия требуется плагин %1$s версии %2$s .%d час%d часов%d минута%d минут%d секунд%s расширение%s истек срок действия данных активации.%s файл не доступен для чтения.%s файл недоступен для записи.%s группа%s группы%s изображение%s изображенияРекомендуется %s.%s должна быть включена, чтобы настройка работала.(без экономии)(без оптимизации)(оптимизация)Путь к .htaccess<a href="%1$s" %2$s>Просмотреть подробную информацию о версии %3$s details</a> or <a href="%4$s" %5$s target="_blank">обновить сейчас</a>.<p>Добавьте/замените следующие коды в начале %1$s:</p> %2$s<strong>Критический CSS (CCSS)</strong> быстрее загружает видимое содержимое, расположенное выше по тексту, с полным стилем.<strong>Оптимизация изображений</strong> позволяет уменьшить размер файлов изображений и ускорить их передачу.<strong>Low Quality Image Placeholder (LQIP)</strong> придает вашим изображениям более приятный вид при ленивой загрузке.<strong>Оптимизация страницы</strong> позволяет оптимизировать стили и визуальные элементы страницы для ускорения загрузки.<strong>Уникальный CSS (UCSS)</strong> удаляет неиспользуемые определения стилей для более быстрой загрузки страницы в целом.<strong>Viewport Images (VPI)</strong> обеспечивает хорошо отполированный полностью загруженный вид над сгибом.Когда WordPress выполняет эти хуки, все очищается.TTL, равный 0, указывает на отсутствие кэша.Перед оптимизацией сохраняется резервная копия каждого изображения.AJAX Cache TTLAPIФайл AVIF, уменьшенный на %1$s (%2$s)AVIF сохранен %sУскорение, оптимизация, защитаУскоряет загрузку за счёт кэширования Gravatar (глобально распознаваемый аватар).АктивироватьДобавить недостающие размерыДобавить новый URL-адрес CDNДобавьте новый файл cookie для имитацииДобавить в черный списокДобавление стиля к изображениям с отложенной загрузкойТолько IP администратораIP-адреса администратораРасширенныеРасширенные (реком.)Расширенные настройкиРасширенный уровень запишет в журнал более подробную информацию.ПослеПосле того как сервер оптимизации изображений QUIC.cloud завершит оптимизацию, он уведомит ваш сайт о необходимости извлечь оптимизированные изображения.Убедившись, что кеш в целом работает, протестируйте корзину.АгрессивныеПсевдоним используется другой учетной записи QUIC.cloud.Все очереди службы QUIC.cloud были очищены.Все транзиентыВсе категории кэшируются по умолчанию.Все страницыВсе страницы с виджетом Свежие записиВсе теги кэшируются по умолчанию.Позволяет перечисленным IP-адресам (по одному в каждой строке) выполнять определенные действия из своих браузеров.Уже кэшированВсегда очищайте товар и категории при изменении количества или состояния запасов.Необязательный второй параметр может быть использован для указания управления кэшем. Используйте пробел для разделенияЧтобы обойти это, добавьте к ресурсу строку запроса %s.Применена %1$s предустановка  %2$sПрименить предустановкуВы уверены, что хотите удалить все существующие черные списки?Вы уверены, что хотите уничтожить все оптимизированные изображения?Вы уверены, что хотите очистить все облачные узлы?Вы уверены, что хотите отключиться от QUIC.cloud? Это не приведет к удалению данных с приборной панели QUIC.cloud.Вы действительно хотите повторно определить ближайший облачный сервер для этой службы?Вы уверены, что хотите удалить все резервные копии изображений?Вы действительно хотите вернуть все параметры к настройкам по умолчанию?Асинхронная загрузка CSS с критическим CSSПрикрепите информацию о PHP к отчету. Установите этот флажок, чтобы вставить соответствующие данные из %s.Архив автораАвто-черновикиПравила авто очистки для публикации/обновленияАвто запрос через CronАвтозагрузкаРазмер автозагрузкиСписок лучших в автозагрузкеАвто генерация критического CSS выполняется в фоновом режиме через очередь на основе cron.Авто генерация уникального CSS происходит в фоновом режиме через очередь планировщика.Авто обновлениеАвто включение предварительной выборки DNS для всех URL-адресов в документе, включая изображения, CSS, JavaScript и т.д.Авто генерировать LQIP в фоновом режиме через очередь на основе cron.Авто удаление резервных копий исходных изображений после получения оптимизированных изображений.Автоматически заменяйте большие изображения их уменьшенными версиями.Авто запрашивать оптимизацию с помощью cron-задания.Доступно через %d секунд(ов)Список аватаров в очереди на обновлениеПуть к .htaccess во внутреннем интерфейсеУправление пульсацией во внутреннем интерфейсеTTL пульсации внутреннего интерфейсаРезервная копия создана %1$s перед применением предустановки %2$sОсновныеОсновной заполнитель изображенияПередЛучшая производительность WordPress из доступныхБета-тестЧерный списокЗанесен в черный списокЗанесен в черный список из-за невозможности кэшированияОба %1$s и %2$s приемлемы.Можно использовать как полные URL-адреса, так и частичные строки.Могут использоваться как полные, так и частичные строки.БраузерКэш браузераНастройки кэша браузераTTL кэша браузераКэширование браузера хранит статические файлы локально в браузере пользователя. Включите этот параметр, чтобы уменьшить повторяющиеся запросы для статических файлов.По умолчанию используется серый заполнитель изображения %s.По умолчанию страницы «Моя учетная запись», «Оформление заказа» и «Корзина» автоматически исключаются из кэширования. Неправильная конфигурация ассоциаций страниц в настройках WooCommerce может привести к ошибочному исключению некоторых страниц.Из-за особенностей этого параметра, он может отдавать устаревший контент. Не включайте его, если для вас это критично.CCSS на каждый URLСписок разрешений селектора CCSSCDNCDN - отключеноCDN - ВключеноCDN - недоступно для анонимных пользователейТрафик CDNНастройки CDNURL-адрес CDNИспользуемый URL-адрес CDN. Напр., %sОбъединение CSS и JSОбъединение CSSОбъединение внешних и встроенных CSSИсключения CSSМинификация CSSНастройки CSSМинификация CSS, JS и HTMLКэш CSS/JSКэшКэш админ панелиКэш формы комментарияКэш комментаторовНастройки управления кэшемПопадание в кэшеКэш пользователей, вошедших в системуКеш страницы входаПромахи в кэшеКэш мобильныхКэш REST APIСтатус кэшаКэш WP-AdminКлюч кэша должен быть целым числом или непустой строкой, задано %s.Ключ кэша не должен быть пустой строкой.Запросы кэша, сделанные вызовами WordPress REST API.Кэшировать встроенный блок ESI Comment Form.Кэширует весь ваш сайт, включая динамическое содержимое и <strong>блоки ESI</strong>.Расчет дискового пространства для резервных копийРасчет места хранения исходных изображенийРасчет резервных копий выполнен успешно.Не удается создать папку:%1$s. Ошибка:%2$sОтменаКатегорияСертификат или файл ключа не существует.Настройка успешно изменена.Изменения этого параметра не применяются к уже созданным LQIP. Чтобы регенерировать существующие LQIP, необходимо сперва %s из меню панели администратора.Проверить статусПроверить мой общедоступный IP-адрес отЗдесь вы можете проверить состояние наиболее важных настроек и работоспособность вашей CDN-установки.Установите этот параметр, чтобы использовать конфигурацию основного сайта для всех субсайтов.Очистить всеОчистить карту поискового роботаОчистить незавершенные данныеОчистить все автоматически сохраненные черновикиОчистить все неиспользуемые мета-записи постовОчистить все редакции записейОчистить все спам-комментарииВсе успешно очищено.Очистить все трекбэки и пингбэкиОчистить все временные параметриУспешная очистка всех транзиентов.Очистить все удаленные комментарииОчистить все удаленные записи и страницыУспешная очистка автоматических черновиков.Очистить параметры транзиентов с истекшим сроком действияУспешная очистка истекших транзиентов.Очистка неиспользуемых мета-записей прошла успешно.Успешная очистка редакций записей.Очистить редакции старше %1$s дн., за исключением %2$s последних редакцийУспешная очистка спам-комментариев.Успешная очистка обратных ссылок и уведомлений.Успешная очистка удаленных комментариев.Успешная очистки удаленных записей и страниц.Очищены все критические CSS файлы.Очищены все файлы Gravatar.Очищены все файлы LQIP.Очищены все уникальные файлы CSS.Очищены все записи локализованных ресурсов.Успешно очищены незавершенные данные.ОчиститьОчистить кэш CloudFlareОчистить журналОчищено %1$s недопустимых изображений.Нажмите здесь, чтобы продолжить.Щелкните здесь, чтобы установить.Щелкните, чтобы очистить все узлы для дальнейшего повторного обнаружения.Кликните, чтобы скопироватьЩелкните, чтобы переключиться на оптимизированную версию.Щелкните, чтобы переключиться на исходную (неоптимизированную) версию.Ошибка облака (Cloud)Облачный сервер отклонил текущий запрос из-за ограничения скорости. Повторите попытку позже.Облачный сервер отклонил текущий запрос из-за наличия незагруженных изображений. Сначала извлеките изображения.CloudFlareAPI CloudFlareДля API CloudFlare установлено значение "Выкл".Кэш CloudFlareДомен CloudFlareНастройки CloudflareЗона CloudFlareСвернуть строки запросаОбъединение файлов CSS и встроенного кода CSS.Объединение всех локальных файлов JS в один файл.Комментарии строк поддерживаются. Начните строку с %s, чтобы закомментировать её.Успешное взаимодействие с CloudFlare.Поздравляем! Ваш файл уже оптимизированПоздравляем, %s успешно настроил этот домен на анонимные онлайн-сервисы.Поздравляем, %s успешно настроил этот домен для работы с онлайн-сервисами с помощью службы CDN.Поздравляем, %s успешно настроил этот домен для работы с онлайн-сервисами.Поздравляем, все собрано!Тест подключенияДоставка контента (CDN)Служба сети доставки контентаПреобразовать в InnoDBУспешно преобразовано в InnoDB.Имя cookieСимуляция кукиЗначения файлов cookieЖурнал копированияНе удалось найти %1$s в %2$s.Интервал обходаПоисковый роботCron для поискового роботаОбщие настройки поискового роботаЖурнал поискового роботаСтатус поискового роботаАдминистратор сервера отключил поисковый робот.Список отключенных обходчиков очищен! Все обходчики активны! Поисковый робот(ы)Создайте сообщение, убедитесь, что первая страница соответствует действительности.Создан с ❤️ командой LiteSpeed.Недостаточно кредитов для продолжения текущего запроса.Критический CSSПравила критического CSSНазвание Cron-задачиТекущее содержимое %sТекущие облачные узлы в обслуживанииТекущий поисковый робот запущен вТекущая позиция id записи изображенияТекущий лимитТекущая загрузка сервераТекущее время сервера -%s.Сканирование (crawl) текущей карты сайта началось вТекущий статус: %1$s с (since) %2$s.Текущий статус - %s.Активный поисковый роботВ настоящее время используется оптимизированная версия файла AVIF.В настоящее время используется оптимизированная версия файла WebP.В настоящее время используется оптимизированная версия файла.В настоящее время используется оригинальная (неоптимизированная) версия файла AVIF.В настоящее время используется исходная (неоптимизированная) версия файла WebP.В настоящее время используется исходная (неоптимизированная) версия файла.Пользовательская SitemapНастройки оптимизации БДПредварительное подключениеПредзагрузка DNSУправление предварительной выборкой DNSПредварительная выборка DNS для статических файловЕжедневный архивПанель управленияБаза данныхОптимизация базы данныхСводка по базе данныхКонвертер ядра таблиц базы данныхБаза данных для использованияДень(и)ДеактивироватьСредства отладкиУровень отладкиЖурнал отладкиНастройки отладкиИсключение отладочных строкИсключение отладочных URIВключение отладочных URIПо умолчаниюКэш по умолчаниюTTL Feed по умолчаниюTTL главной страницы по умолчаниюTTL страницы кода статуса HTTP по умолчаниюВремя жизни Object по умолчаниюTTL Private Cache по умолчаниюTTL Public Cache по умолчаниюTTL REST по умолчаниюTTL кэша объектов по умолчанию.Стандартный путьСтандартный порт %1$s - %2$s.Значение по умолчаниюОтложеноВы можете уменьшить конфликт ресурсов и снизить FID (показатель Core Web Vitals) для повышения производительности, откладывая страницу до тех пор, пока она не будет проанализирована, или пока не произойдет взаимодействие.Задержка рендеринга внеэкранных HTML-элементов с помощью его селектора.ЗадержаноУдалить все резервные копии исходных изображенийОбеспечивает глобальное покрытие благодаря растущей <strong>сети из 80 с лишним PoP</strong>.Уничтожить все данные оптимизацииУспешно уничтожены все данные оптимизации.Определяет, как изменения в количестве товара и состоянии товарных запасов влияют на страницы товаров и связанные с ними страницы категорий.Режим разработкиРежим разработки будет автоматически отключен через три часа.Режим разработки будет автоматически отключен через %s.ОтключитьОтключить все функцииОтключить кэшированиеОтключить отложенную загрузку изображенийОтключить VPIОтключите интервальную пульсацию WordPress, чтобы снизить нагрузку на сервер.Отключение этой опции позволяет вам генерировать CCSS на основе типа записи а не для каждой страницы. Это может значительно сократить использование CCSS, но стили CSS могут быть некорректными для сайтов, использующих Page Builder (конструктор страниц).ОтключеноУспешное отключение файла AVIF.Успешно отключен WebP-файл.Отключение этого может привести к тому, что задачи WordPress, запускаемые AJAX, перестанут работать.Отключение этой опции может отрицательно сказаться на производительности.Отключитесь от QUIC.cloudОтклонить (Dismiss)Отклонить это уведомлениеЗакрыть это уведомление.Не кэшировать категорииНе кэшировать файлы cookieНе кэшировать группыНе кэшировать строки запросаНе кэшировать ролиНе кэшировать тегиНе кэшировать URIНе кэшировать агентов пользователяНе очищайте категории при изменении количества или наличия на складе.Не показывайте это сноваДоменПонижение версии не рекомендуется. Может привести к фатальной ошибке из-за рефакторинга кода.Отбросить строку запросаESIESI NoncesНастройки ESIESI позволяет обозначить части динамической страницы как отдельные фрагменты, которые затем собираются вместе, чтобы получилась целая страница. Другими словами, ESI позволяет вам "пробивать дыры" в странице, а затем заполнять эти дыры содержимым, которое может кэшироваться приватно, кэшироваться публично с собственным TTL или не кэшироваться вообще.Образец ESI для разработчиковПульсации в редактореTTL пульсации в редактореЭлементы с атрибутом %s в HTML-коде будут исключены.Элементы с атрибутом %s в html-коде будут исключены.Email-адресОчистить весь кэшОчистить чёрный списокВключить кэшВключить ESIВключите CDN QUIC.cloudВключите службы QUIC.cloudВключите облачные сервисы QUIC.cloudЗапланировать автоматическую генерацию изображений, появляющихся в области просмотра.Включите замену WebP/AVIF в элементах %s, которые были сгенерированы вне логики WordPress.Включите эту опцию, если вы используете и HTTP, и HTTPS в одном домене и замечаете нарушения кеширования.ВключеноУспешное включение файла AVIF.Успешно включен файл WebP.Включение LiteSpeed Cache для WordPress позволяет использовать кэш для сети.Причина окончанияДвижокВведите IP-адрес этого сайта, чтобы облачная служба могла вызывать IP напрямую, а не через доменное имя. Это устраняет накладные расходы на поиск DNS и CDN.Ошибка: не удалось применить настройки %1$sСамые необходимыеВсе из Расширенные, плюсВсе из Агрессивные, плюсВсе из Основные, плюсВсе из Самые необходимые, плюсНапримерПример использования:Примеры тестовых случаев включают:Исключить путьНастройки исключенияИсключенияИстекшие транзиентыЭкспортЭкспорт настроекЭкстремальныеНеудачноНе удалось создать резервную копию файла %s, изменения не были внесены.Не удалось связаться с CloudFlareНе удалось связаться с сервером QUIC.cloudНе удалось создать таблицу аватара. Следуйте <a %s>инструкциям по созданию таблиц из Wiki LiteSpeed</a>, чтобы завершить установку.Не удалось обнаружить IPНе удалось получить содержимое файла %s.Не удалось получить данные эха из WPAPIНе удалось разобрать статус активации %s.Не удалось выполнить запрос через WordPressНе удалось обновить.Не удалось проверить данные активации %s.Не удалось записать в %s.Использование быстрой очередиФайл %s не доступен для записи.Имя файла пустое!ФайлыФильтр %s доступен для генерации UCSS по типу страницы.Фильтр %s поддерживается .Папки не существует: %sПапка недоступна для записи: %s.Оптимизация отображения шрифтаURL-адреса с подстановочными знаками могут отложить начало запланированной очистки.НапримерНапример, %1$s определяет время жизни (TTL ) %2$s секунд для %3$s.Например, %s можно использовать для прозрачного заполнителя.Например, для %1$s %2$s и %3$s можно использовать здесь.Например, для %1$s, %2$s можно использовать здесь.Например, если каждая страница вашего сайта имеет разное форматирование, введите %s в поле. Для каждой страницы сайта будут храниться отдельные критические CSS файлы.Поэтому протестируйте сайт, чтобы убедиться, что все работает правильно.Принудительный кэш URIsПринудительно использовать URI Public CacheПринудительный cronПринудительное кешированиеПредоставляется бесплатная месячная квота.Предоставляется бесплатная месячная квота. Можно также использовать анонимно (не требуется электронная почта).Главная страницаПуть к .htaccess во внешнем интерфейсеУправление пульсацией во внешнем интерфейсеTTL пульсации внешнего интерфейсаОбщиеОбщие настройкиГенерировать LQIP в фоновом режимеСгенерировать ссылку для текущего пользователяСгенерировать UCSSСоздаёт отдельную копию кэша для мини корзины, когда корзина не пуста.Сгенерировано в %sГлобальный ключ API/токен APIГлобальные группыПерейдите в панель управления QUIC.cloudПерейти в список плагиновХорошие новости с сервера QUIC.cloudGoogle reCAPTCHA будет автоматически обойдена.Кэш GravatarCron кэша GravatarTTL кэша GravatarГруппы, кэшированные на сетевом уровне.ГостьГостевой режимИсключить JS в гостевом режимеГостевой режим и гостевая оптимизацияГостевой режим не прошел проверку.Гостевой режим прошел проверку.Гостевой режим всегда предоставляет гостю кэшируемую целевую страницу при первом посещении, последующее обновление кэша будет происходить через AJAX.Результаты проверки гостевого режимаГостевая оптимизацияHTML-атрибут для заменыHTML Сохранить комментарииСелекторы отложенной загрузки HTMLМинификация HTMLНастройки HTMLТолько HTTPS источники.ПульсацияУправление пульсациейВысокопроизводительное кэширование страниц и оптимизация сайта от LiteSpeedБолее высокий TTLИсторияПопаданиеДомашнаяя страницаСерверКак исправить проблемы, вызванные оптимизацией CSS/JS.Однако нет способа узнать все возможные настройки, которые были реализованы.Htaccess не соответствует параметру конфигурации.Правило Htaccess: %sЯ уже оставил отзывЕсли %1$s равно %2$s, то должно быть заполнено %3$s!Если ВКЛ, то устаревшая копия кэшированной страницы будет показываться посетителям до тех пор, пока не будет доступна новая копия кэша. Снижает нагрузку на сервер при последующих посещениях. Если ВЫКЛ, страница будет динамически генерироваться, пока посетители ждут.Если каждое веб-приложение использует один и тот же файл cookie, сервер может перепутать, вошел ли пользователь в систему или нет.Если только сайт WordPress должен быть очищен, используйте Очистить все.Если установлено значение %1$s, перед локализацией заполнителя будет использоваться конфигурация %2$s .Если установлено значение %s, это выполняется на переднем плане, что может замедлить загрузку страницы.Если название категории не найдено, категория будет удалена из списка при сохранении.Если файл cookie для входа был недавно изменен в настройках, выйдите из системы и войдите снова.Если ярлык тега не найден, тег будет удален из списка при сохранении.Если установлено число меньше 30, feeds не будут кэшироваться.При использовании OpenLiteSpeed сервер необходимо перезапустить один раз, чтобы изменения вступили в силу.Если вы используете сокет %1$s, %2$s должен быть установлен на %3$sЕсли у вас возникнут проблемы, укажите номер отчета в своем сообщении в службу поддержки.Если вы отключите какие-либо из вышеперечисленных настроек, удалите соответствующие типы файлов из поля %s.Вы можете отключить этот плагин, если не хотите оставаться с LiteSpeed.Если на вашем сайте есть общедоступный контент, который определенные группы могут видеть, но не могут видеть другие группы, вы можете указать групповую переменную (Vary Group) для этих ролей пользователей. Например, указание отдельной группы для администратора позволяет создать отдельную кэшированную общедоступную страницу, предназначенную для администраторов (со со ссылками "изменить" и т. д.), В то время как все другие роли пользователей имеют общедоступную страницу по умолчанию.Если ваша тема не использует JS для обновления мини корзины, лучше включить эту опцию для корректного отображения содержимого корзины.Iframes, содержащие эти имена классов, не будут отложено загружаться.Iframes, имеющие эти родительские имена классов, не будут отложено загружаться.Игнорировать определенные строки запроса при кэшировании (требуется LSWS %s)Информация об изображенииОптимизация изображенияНастройки оптимизации изображенийСводка по оптимизации изображенияРазмеры групп миниатюр изображенийВсего групп изображенийИзвлеченные изображенияИзображения, содержащие эти имена классов, не будут отложено загружаться.Изображения с этими именами родительских классов, не будут отложено загружаться.Изображения не запрошеныИзображения, оповещенные для извлеченияИзображения оптимизированы и извлеченыИзображения готовы к запросуЗапрошенные изображенияИзображения будут извлекаться автоматически, если запущено задание cron.ИмпортИмпорт / ЭкспортИмпорт настроекСбой импорта из-за ошибки файла.Успешно импортирован файл настроек %s.Улучшение совместимости HTTP/HTTPSУвеличьте скорость wp-admin с помощью кеширования. (Могут встретиться просроченные данные)Улучшено наЧтобы избежать ошибки обновления, вы должны использовать %1$s или более позднюю версию, прежде чем сможете выполнить обновление до версии %2$s.Для того чтобы воспользоваться услугами QC, необходимо реальное доменное имя, нельзя использовать IP.Для того чтобы пользоваться большинством сервисов QUIC.cloud, вам необходима квота. QUIC.cloud предоставляет вам бесплатную квоту каждый месяц, но если вам нужно больше, вы можете ее приобрести.Включить CSSВключить типы файловВключить изображенияВключить JSВключить внешний CSS и встроенный CSS в объединенный файл, при условии включения %1$s. Этот параметр помогает поддерживать приоритеты CSS, что должно минимизировать возможные ошибки, вызванные объединением CSS.Включить внешний JS и встроенный JS в объединенный файл, при условии включения %1$s. Эта опция помогает поддерживать приоритеты выполнения JS, что должно минимизировать потенциальные ошибки, вызванные объединением JS.Включенные каталогиВстроенная асинхронная библиотека CSSВстроенный CSS добавлен для объединенияВстроенный JS добавлен для объединенияВстроенный UCSS для уменьшения загрузки дополнительных файлов CSS. Эта опция не будет автоматически включена для %1$s страниц. Чтобы использовать ее на страницах %1$s, установите значение ВКЛ.УстановитьУстановить %sУстановить DoLogin SecurityУстановить сейчасМгновенный щелчокНедопустимый IP-адресНедействительный файл cookie для входа. Обнаружены недопустимые символы.Недопустимый файл cookie входа. Проверьте файл %s.Недопустимое правило перезаписиОЧЕНЬ рекомендуется, чтобы совместимость с другими плагинами на одном/нескольких сайтах была проверена первой.Он будет на лету преобразован в SVG-заполнитель base64.Объединение JSОбъединение внешних и встроенных JSОтложить JS для внешнего и встроенного JSИсключить JS из Отложенных / ЗадержанныхЗадержка JSОтложенные включения JSИсключить JSМинификация JSНастройки JSОшибку JS можно найти в консоли разработчика браузера, щелкнув правой кнопкой мыши и выбрав «Просмотреть код».Присоединяйтесь к сообществу LiteSpeed SlackПрисоединяйтесь к нам в SlackПрисоединяйтесь к сообществу %s.Не включайте, чтобы использовать заливку цветом.LQIPКэш LQIPГенератор LQIP в облакеИсключения LQIPМин. размеры LQIPКачество LQIPПредпросмотр изображения LQIP для размера %sLQIP не будет создаваться для изображений, меньших заданной ширины и высоты.LSCacheФункции кэширования LiteSpeed Cache на этой странице в настоящее время недоступны!Большее значение приведёт к созданию заполнителя с более высоким разрешением, но также приведёт к увеличению размера файлов, что увеличит размер страницы.Больше, чемПоследнее извлечениеВ последний раз загруженоДата последнего отчетаНомер последнего отчетаПоследний запросПоследний расчетПоследнее полное время работы всех роботовПоследний экспортированныйПоследний сгенерированныйПоследний импортированныйПоследний интервалПоследнее извлечение инициировано cron в %s.Последний запускСтоимость последнего запросаИсключить отложенную загрузку имен классов iframeИсключить отложенную загрузку имен родительского класса IframeОтложенная загрузка IframesИсключить отложенную загрузку имен классов изображенийИсключить отложенную загрузку изображенийИсключить отложенную загрузку имен родительского класса изображенийОтложенная загрузка изображенийИсключить отложенную загрузку URIОтложенная загрузка для iframeОтложенная загрузка изображенийПодробнееУзнайте больше о QUIC.cloudПодробнееУзнайте больше о том, когда это необходимоУзнайте больше или приобретите дополнительную квоту.Подключите и включите CDN QUIC.cloudПодключить аккаунт на QUIC.cloudСвязано с предварительной средой QUIC.cloud, только для тестирования.Список мобильных агентов пользователяПеречислите типы записей, в которых каждый предмет этого типа должен иметь собственный сгенерированный CCSS.Перечислите селекторы CSS, стили которых всегда должны быть включены в CCSS.Перечислите селекторы CSS, стили которых всегда должны быть включены в UCSS.Перечисленные CSS-файлы будут исключены из UCSS и сохранены во встроенном режиме.Перечисленные файлы JS или встроенный код JS будут отложены.Перечисленные файлы JS или встроенный код JS не будут отложены или задержаны.Перечисленные JS файлы или встроенный JS код не будут оптимизированы %s.Указанный URI не будет генерировать UCSS.Перечисленные изображения не будут отложено загружаться.LiteSpeed CacheLiteSpeed Cache CDNПредустановки конфигурации LiteSpeed CacheПоисковый робот LiteSpeed CacheПанель управления LiteSpeed CacheОптимизация БД LiteSpeed CacheОбщие настройки LiteSpeed CacheОптимизация изображений LiteSpeed CacheНастройки сетевого кэша LiteSpeed CacheОптимизация страницы LiteSpeed CacheОчистить весь LiteSpeed CacheНастройки LiteSpeed CacheСтандартные предустановки LiteSpeed CacheИнструментарий LiteSpeed CacheПросмотр файла .htaccess LiteSpeed CacheПлагин LiteSpeed Cache установлен!Cron для поискового робота LiteSpeedЖурналы LiteSpeedОптимизация LiteSpeedОтчёт LiteSpeedLiteSpeed TechnologiesПлагин LiteSpeed cache обновлен. Обновите страницу, чтобы завершить обновление данных конфигурации.Асинхронная загрузка CSSАсинхронная загрузка шрифтов GoogleОтложенная загрузка JSЗагружайте iframe только тогда, когда они появляются в окне просмотра.Загружайте изображения только когда они появляются в окне просмотра.ЛокализацияФайлы локализацииНастройки локализацииЛокализация ресурсовЛокализация внешних ресурсов.Локализованные ресурсыПредельный размер файла журналаПросмотр журналаФайл cookie для входаЗаполнитель изображения низкого качества (LQIP)МбУправлениеРучное добавление в черный списокРучной запускКартаОтметить эту страницу как Макс. id записи изображенияМакс. значениеМожет быть, позжеМожет быть позжеИсключения медиаНастройки медиаСообщение с сервера QUIC.cloudМетодМинификация файлов CSS и встроенного кода CSS.Минификация контента HTML.Минификация файлов JS и встроенного кода JS.Мин. значениеПромахТелефонПравила для мобильных агентовМобильный кэшЕжемесячный архивБольшеБолее подробную информацию о доступных командах можно найти здесь.Больше настроекДополнительные настройки доступны в меню %sМоя приборная панель QUIC.cloudПримечаниеВНИМАНИЕВНИМАНИЕ:ВНИМАНИЕ. Файл cookie для входа в базу данных не совпал с вашим файлом cookie для входа в систему.Панель управления сетьюВключить сетевой кэшДоступна новая версия для разработчиков!Доступна новая версия!Доступна новая версия для разработчиков %s.Новый выпуск %s уже доступен.НовостиФормат изображений нового поколенияНет доступного узла Cloud Node после проверки нагрузки на сервер.Нет доступного узла облака.Нет доступной зоны CloudFlareРезервная копия исходного файла отсутствует.Резервная копия неоптимизированного файла AVIF не существует.Резервной копии неоптимизированного файла WebP не существует.В настоящее время облачные службы не используютсяМета-файл для поискового робота еще не созданБез оптимизацииВ текущем запросе облачный сервер не нашел ни одного допустимого изображения.В текущем запросе не найдено допустимое изображение.Для поискового робота не была найдена действительная карта сайта.Не кэшируемыйНедоступноНет в черном спискеПримечаниеПримечаниеУведомлениеУведомленияУведомление CloudFlare об успешной очистке.Уведомление CloudFlare об успешной установке режима разработки на %s.Уведомление веб-сервера LiteSpeed LiteSpeed о необходимости очистить записей CSS/JS.Уведомление веб-сервера LiteSpeed о необходимости очистки всех записей LSCache.Уведомление веб-сервера LiteSpeed о необходимости очистки всех страниц.Уведомление веб-сервера LiteSpeed о необходимости очистить страниц ошибок.Уведомление веб-сервера LiteSpeed о необходимости очистить всё.Уведомление веб-сервера LiteSpeed о необходимости очистить главную страницу.Уведомление веб-сервер LiteSpeed об очистке списка.ВЫКЛВКЛИЛИОбъектноеКэш объектаНастройки объектного кэшированияКэш объекта не включен.Предлагает дополнительную <strong>встроенную службу DNS</strong> для упрощения внедрения CDN.После сохранения он будет сопоставлен с текущим списком и автоматически заполнен.Одно или несколько извлечённых изображений не совпадают с md5 заявленного изображенияОдин в каждой строке.Онлайн-услугиСетевой узел необходимо определить повторно.Будут заменены только перечисленные здесь атрибуты.Доступно, только если установлен %s.Только файлы в этих каталогах будут направлены на CDN.Заносить в журнал только перечисленные страницы.Оптимизируйте страницы только для гостевого режима (не авторизованных пользователей). Если этот параметр выключен, файлы CSS/JS/CCSS будут удваиваться каждой группой пользователей.Нажимайте кнопку только в том случае, если задание pull cron (cron извлечения) отключено.Кэш OpCodeПользователи OpenLiteSpeed, проверьте этоОперацияСостояние оптимизацииКраткое описание оптимизацииИнструменты оптимизацииОптимизация доставки CSS.Оптимизация без потерьОптимизация исходных изображенийОптимизация таблицОптимизировать все таблицы в БДОптимизировать только для гостейОптимизируйте изображения и сохраняйте резервные копии оригиналов в той же папке.Оптимизация изображений, используя сжатие без потерь.Оптимизация изображений с помощью нашего сервера QUIC.cloudОптимизированы все таблицы.Имя параметраПо желаниюНеобязательно, если используется токен API.По желанию создайте файлы изображений нового поколения WebP или AVIF.Настройки сохранены.ОригиналОригинал %sОригинал сохранен %sИсходные URL-адресаИсходный файл уменьшен на %1$s (%2$s)Неиспользуемые мета-записиДругойДругие статические CDNДругие флажки будут проигнорированы.Вывод в серию файлов в каталоге %s.Баланс оплаты по фактуПоддерживается константа PHP %s.Время загрузки страницыОптимизация страницыПоказатель PageSpeedСтраницыПартнёрские привилегии предоставленыПройденПарольБеспарольная ссылкаПуть должен заканчиваться на %sПути, содержащие эти строки, будут кэшироваться независимо от каких-либо настроек, которые нельзя кэшировать.Пути, содержащие эти строки, будут принудительно кэшироваться в public (публичном) кэше, независимо от настроек отсутствия кеширования.Пути, содержащие эти строки, не будут кэшироваться.Пути, содержащие эти строки, не будут обслуживаться из CDN.Оплата по фактуСтатистика использования системы Pay as You GoПостоянное подключениеРассмотрите возможность отключения следующих плагинов, поскольку они могут конфликтовать с LiteSpeed Cache:НЕ передавайте никому указанную выше ссылку без пароля.Включите LiteSpeed Cache в настройках плагина.Включите модуль LSCache на уровне сервера или обратитесь к своему хостинг-провайдеру.Убедитесь, что это правильный IP для посещения вашего сайта.Прочитайте все предупреждения перед включением этой опции.Дополнительные сведения см. в %s.Тщательно протестируйте, включив любую опцию в этом списке. После изменения настроек Минификация / Объединение выполните действие Очистить все.Тщательно проверьте все элементы в %s, чтобы убедиться, что они работают так, как ожидается.Тщательно проверяйте каждый JS-файл, который вы добавляете, чтобы убедиться, что он работает так, как ожидается.Повторите попытку после %1$s для службы %2$s.ПортID записиРедакции записейАрхив типов записейПредварительное подключение ускоряет загрузку из перечисленных источников.Предварительно определенный список также будет объединен с приведенными выше настройкамиПредварительная выборка DNS может уменьшить задержки для посетителей.Сохранить данные EXIF (авторское право, GPS, описание, теги и т.д.) при оптимизации.Хранить данные EXIF/XMPПредустановкиНажмите кнопку %s, чтобы остановить бета-тестирование и вернуться к текущему выпуску из каталога плагинов WordPress.Нажмите кнопку %s, чтобы использовать последний коммит GitHub. Master предназначен для релиз-кандидата, а Dev - для экспериментального тестирования.Предотвращать загрузку шрифтов Google на всех страницах.Предотвращает ведение журнала отладки перечисленных страниц.Предотвращает любую отложенную загрузку перечисленных страниц.Предотвращает любую оптимизацию перечисленных страниц.Предотвращает запись, включающая перечисленные строки.Предыдущий запрос слишком недавний. Повторите попытку через %s.Предыдущий запрос слишком недавний. Повторите попытку позже.Ранее был в черном спискеPrivateПриватный кэшPrivate Cached URIsПриватный кэшИспользуйте private (приватный) кеш для хранения комментариев, ожидающих рассмотрения. Отключение этой опции предоставит комментаторам не кэшированные страницы. (Требуется LSWS %s)Кэширует внешние страницы для авторизованного пользователя (требуется LSWS%s)Обрабатывает загруженные изображения в форматах PNG и JPG, чтобы получить уменьшенные версии без потери качества.Обработка изображений в форматах PNG, JPG и WebP бесплатна. Обработка AVIF доступна за отдельную плату.Интервал обновления товараОбеспечивает <strong>безопасность на уровне CDN</strong>, защищая ваш сервер от атак.PublicПубличный кэшВыполнить извлечение через cronИзвлечь изображенияВытащенный md5 AVIF-изображения не совпадает с md5 уведомленного AVIF-изображения.Извлеченный md5 WebP-изображения не совпадает с md5 уведомленного WebP-изображения.ОчисткаОчистить ошибки %sОчистить страницы ошибок %sОчистить всеОчистить все хукиОчистить всё при обновленииОчистить от...Очистить всеОчистить главную страницуСписок очисткиЖурнал очисткиОчистить страницыНастройки очисткиУспешно очищены все кеши объекта.Очистить все кеши объектовОчистить категории только при изменении состояния запасов.Очистить категорию %sОчистка страниц, используя название категории - например, %2$s следует использовать для URL %1$s.Очистить страницы, используя ID записи.Очистка страниц по относительному или полному URL-адресу.Очистка страниц, используя название тега - напр., %2$s должен использоваться для URL %1$s.Очистить товар и категории, только при изменении состояния запасов.Очистить товар при изменении количества или состояния запасов.Очистить товар только при изменении статуса запаса.Очистить тег %sОчистить записи созданные плагином LiteSpeed CacheОчистить записи кэша, созданные этим плагином, за исключением кэша критического/уникального CSS и LQIPОчистить эту страницуОчистить URL %sОчищено всё!Успешная очистка всех кэшей.Очищен блог!Очищено!На облачный сервер отправлено %1$s, принято %2$s.QUIC.cloudВарианты CDN для QUIC.cloudОбзор состояния сети CDN QUIC.cloudQUIC.cloud CDN <strong>недоступна</strong> для анонимных (несвязанных) пользователей.Сеть CDN QUIC.cloud в настоящее время <strong>полностью отключена</strong>.Интеграция с QUIC.cloud отключенаИнтеграция с QUIC.cloud включенаИнтеграция с QUIC.cloud Включена с ограничениямиОнлайн-сервисы QUIC.cloudСтатистика использования сервиса QUIC.cloudQUIC.cloud предоставляет услуги CDN и онлайн-оптимизации и не является обязательным. Вы можете использовать многие функции этого плагина без QUIC.cloud.Служба оптимизации изображений QUIC.cloud делает следующее:Онлайн-сервисы QUIC.cloud улучшают работу вашего сайта следующими способами:Услуги QUIC.cloud по оптимизации страниц направлены на устранение раздутости CSS и улучшение пользовательского опыта во время загрузки страницы, что может привести к повышению скорости работы страницы.Строки запроса, содержащие эти параметры, не кэшируются.Прочитать документацию LiteSpeedРекомендуется сгенерировать токен из шаблона токена Cloudflare API «WordPress».Рекомендуемое значение: 28800 секунд (8 часов).Повторное определениеПовторное обнаружение узлаID базы данных RedisОбновитьОбновить карту поискового роботаОбновлять кэш Gravatar с помощью планировщика.Обновить состояние QUIC.cloudСостояние обновленияОбновить использованиеОбновить время загрузки страницыОбновить показатель страницыРегенерация и отправка нового отчетаОставшаяся дневная квотаУдалить URL-адрес CDNУдалить шрифты GoogleУдалить теги NoscriptУдалить исходные резервные копииУдалить резервные копии исходных изображенийУдалите интеграцию QUIC.cloud с этого сайта. Примечание: Данные QUIC.cloud будут сохранены, и вы сможете снова включить сервисы в любое время. Если вы хотите полностью удалить сайт из QUIC.cloud, сначала удалите домен через QUIC.cloud Dashboard.Удалить строки запросаУдалить строки запроса из статических файловУдалить WordPress EmojiУдаляет все предыдущие запросы/результаты оптимизации изображений, отменяет завершенные оптимизации и удаляет все файлы оптимизации.Удалите все предыдущие незавершенные запросы по оптимизации изображений.Удалить симуляцию файлов cookieУдалить из чёрного спискаУдалите строки запроса из внутренних статических ресурсов.Удаление неиспользуемого CSS для пользователейРезервные копии удалены успешно.Заменить %1$s на %2$s.ОтчетПри оптимизации запрашивайте WebP/AVIF-версии исходных изображений.Запросы в очередиПовторное сканирование новых миниатюрПовторное сканирование %d изображений выполнено успешно.Повторное сканирование выполнено успешно.Сброс %s успешно активирован.Сбросить все настройкиСбросить настройкиСброс счетчика оптимизации изображений прошел успешно.Сброс позицииСброс успешно выполнен.Сброс всего кэша opcodeСброс оптимизированных данных успешно выполнен.Ресурсы, перечисленные здесь, будут скопированы и заменены локальными URL-адресами.Адаптивный заполнительЦвет адаптивного заполнителяSVG, как адаптивный заполнительАдаптивные заполнители изображений могут помочь уменьшить дрожание макета при загрузке изображений.Восстановить настройкиВосстановление из резервной копииВосстановлены настройки резервного копирования %1$sИсходный файл успешно восстановлен.Макс. возраст редакцийМакс. количество редакцийРедакции более ранние, чем это количество дней, будут сохранены при очистке редакций.Исключить ролиСимуляция ролиИзвлечь очередь %s вручнуюЧастота выполненияЗапустить очередь вручнуюЧастота запусков задается настройкой "Интервал между запусками".Время работы предыдущего роботаВыполняетсяСохранить измененияСохраните переходные процессы в базе данных, когда %1$s равен %2$s.СохраненоНе удалось сохранить опцию. IPv4 только для %s.Сканирование на наличие новых неоптимизированных размеров миниатюр изображений и повторная отправка необходимых запросов на оптимизацию изображений.Запланированное время очисткиURL-адреса запланированной очисткиВыберите "Все", если динамические виджеты, связаны с записями на страницах, отличных от главной или домашней.Выберите ниже настройки "Очистить от".Выберите только те типы архивов, которые используются в настоящее время, остальные можно не отмечать.Выберите, какие страницы будут автоматически очищены, когда публикации будут опубликованы / обновлены.Выбранные роли будут исключены из всех оптимизаций.Выбранные роли будут исключены из кеша.Селекторы должны существовать в CSS. Родительские классы в HTML не будут работать.Отправить запрос на оптимизациюОтправьте этот отчет в LiteSpeed. Cошлитесь на этот номер отчета при публикации в форуме поддержки WordPress.Отправить в LiteSpeedОтправьте в twitter, чтобы получить %s бонусовРазделить кеш CCSS по типу записейОтдельные URI кэша CCSSДля путей, содержащих эти строки, будут созданы отдельные критические CSS файлы.Просроченный кэшОтдельная копия кэша для мобильных устройств.Обслуживайте все CSS-файлы через CDN. Это повлияет на все поставленные в очередь файлы CSS WP.Обслуживайте все файлы JavaScript через CDN. Это повлияет на все файлы WP JavaScript в очереди.IP-адрес сервераОграничение загрузки сервераПеременные сервера %s доступны для переопределения этого параметра.Укажите явную ширину и высоту элементов изображения, чтобы уменьшить смещение макета и улучшить CLS (показатель Core Web Vitals).Выберите добавление %1$s ко всем правилам %2$s, чтобы указать, как шрифты должны отображаться во время загрузки.Установите значение %1$s, чтобы запретить пульсацию на %2$s.Настройка пользовательских заголовковНастройкиСократите строки запроса в журнале отладки для лучшей читаемости.Показать статус поискового роботаЗначительно улучшить время загрузки, заменив изображения их оптимизированными версиями %s.URL сайта будет обслуживаться через CDN. Начиная с%1$s. Например,%2$s.Сайт не распознан. QUIC.cloud деактивировался автоматически. Пожалуйста, активируйте вашу учетную запись QUIC.cloud заново.Список файлов SitemapВсего файлов SitemapУспешная очистка SitemapSitemap создал успешно: %d элементовРазмерСписок размеров в очереди, ожидающей cronМеньше, чемМягкий сброс счетчика оптимизацииНекоторые оптимизированные файлы изображений были просрочены и очищены.Спам комментарииУкажите изображение-заполнитель в формате base64, которое будет использоваться в качестве предварительного, пока основное изображение не будет загружено.Укажите действие AJAX в POST/GET и количество секунд для кэширования этого запроса, разделенные пробелом.Укажите код состояния HTTP и количество секунд для кеширования страницы, разделив их пробелом.Укажите SVG, который будет использоваться в качестве заполнителя при локальной генерации.Укажите правила критического CSS для содержимого в верхней части экрана (выше сгиба) при включении %s.Задает время в секундах, по истечении которого поисковый робот снова просканирует всю карту сайта.Укажите продолжительность кэширования файлов Gravatar в секундах.Указывает, как долго кэшируются вызовы REST в секундах.Укажите, как долго, в секундах, кэшируются feeds.Задает продолжительность кэширования личных страниц в секундах.Задает продолжительность кэширования общедоступных страниц в секундах.Укажите в секундах время кэширования главной страницы.Укажите интервал пульсации %s в секундах.Укажите макс. размер файла журнала.Укажите количество последних редакций, которые нужно сохранить при очистке.Укажите пароль, используемый при подключении.Укажите качество при генерации LQIP.Укажите цвет адаптивного SVG заполнителя.Укажите время очистки списка "%s".Укажите, какие атрибуты элементов HTML будут заменены на CDN Mapping.Укажите, какие атрибуты элементов будут заменены на WebP/AVIF.Ускорьте свой сайт WordPress еще больше с помощью <strong>онлайн-сервисов QUIC.cloud и CDN</strong>.Ускорьте свой сайт WordPress еще больше с помощью онлайн-сервисов QUIC.cloud и CDN.Распространяйте любовь и зарабатывайте %s кредитов для использования в наших онлайн-сервисах QUIC.cloud.Стандартные предустановкиЗапущено асинхронное сканированиеЗапущен асинхронный запрос на оптимизацию изображенийСсылки на статические типы файлов должны быть заменены ссылками на CDN.СтатусПрекращает загрузку emoji с wordpress.org. Вместо этого будут отображаться emoji браузера.Оптимизация системы храненияХраните Gravatar локально (в кэше).Хранить транзиентыУспешно выполнен обходРезюмеФорум поддержкиКонечно, я хотел бы сделать обзор!SwapВернуться к использованию оптимизированных изображений на сайтеИзображения успешно переключены.Переключение на оптимизированный файл прошло успешно.Состояние QUIC.cloud успешно синхронизировано.Успешная синхронизация кредита с облачным сервером.Синхронизация данных из облакаСистемная информацияTTLТаблицаТегВременно обойти кэш CloudFlare. Это позволяет вам в реальном времени видеть изменения, внесенные на исходный сервер.Архив терминов (включая категорию, тэг и таксономия)ПроверкаСпасибо за использование плагина LiteSpeed Cache!Опция Admin IP будет выводить сообщения журнала только при запросах с IP-адресов администраторов, перечисленных ниже.Плагин LiteSpeed Cache используется для кэширования страниц - это простой способ повысить производительность сайта.URL, указанные здесь (по одному в строке), будут автоматически очищены в срок, установленный в опции "%s".URL-адреса будут сопоставлены с переменной сервера REQUEST_URI.Служба Viewport Images определяет, какие изображения появляются в области просмотра, и исключает их из ленивой загрузки.Указанные выше одноразовые числа (nonces) будут автоматически преобразованы в ESI.Время (в секундах), в течение которого файлы будут храниться в кэше браузера до истечения срока действия.Для правильного кэширования кэш должен различать, кто вошел на сайт WordPress.Проверка обратного вызова для вашего домена не удалась из-за несоответствия хэша.Проверка обратного вызова для вашего домена не удалась. Убедитесь, что наши серверы не блокируются брандмауэром.Проверка обратного вызова для вашего домена не удалась. Убедитесь, что наши серверы не блокируются брандмауэром. Код ответа: Установленный здесь файл cookie будет использоваться для этой установки WordPress.Функция поискового робота не включена на сервере LiteSpeed. Обратитесь к администратору сервера или поставщику услуг хостинга.Поисковый робот будет использовать вашу карту сайта XML или индекс карты сайта. Введите здесь полный URL-адрес sitemap .Текущий сервер сильно загружен.База данных обновляется в фоновом режиме с %s. Это сообщение исчезнет после завершения обновления.Cookie для входа в систему по умолчанию - %s.Отчет о системной среде содержит подробную информацию о конфигурации WordPress.Выбраны следующие параметры, но их нельзя изменить на этой странице настроек.Настройка качества сжатия изображения WordPress от 0 до 100.Список изображений пустой.Последний файл данныхСписок будет объединен с предопределенными одноразовыми числами (nonces) в вашем локальном файле данных.Макс. допустимая средняя нагрузка на сервер при обходе контента. Число используемых потоков поискового робота будет активно уменьшаться до тех пор, пока средняя нагрузка на сервер не станет ниже этого предела. Если этого невозможно достичь с помощью одного потока, текущий запуск робота будет завершен.Сетевой администратор выбрал использование конфигурации главного сайта для всех дочерних сайтов в сети.Здесь можно изменить настройку сетевого администратора.Следующее полное сканирование файла Sitemap начнется вОчередь обрабатывается асинхронно. Это может занять время.Селектор должен присутствовать в CSS. Родительские классы в HTML работать не будут.По наличию этого файла cookie сервер определяет, вошел ли пользователь в систему.Сайт не является действительным псевдонимом на QUIC.cloud.Сайт не зарегистрирован на QUIC.cloud.Пользователь с идентификатором %s имеет доступ редактора, что не разрешено для симулятора роли.Затем устанавливается другой WordPress (НЕ МНОГОСАЙТНЫЙ) в %sУстановлен WordPress для %s.Идет обработка. очередь еще не извлечена.Обработка очереди ещё не завершена. Осталось: %s.Для этих изображений не будет генерироваться LQIP.Эти настройки доступны только в LiteSpeed Enterprise Web Server или QUIC.cloud CDN.Эти настройки предназначены ТОЛЬКО ДЛЯ ПРОФЕССИОНАЛЬНЫХ ПОЛЬЗОВАТЕЛЕЙ.Это действие должно выполняться только в том случае, если кэш работает неправильно.Это может быть предопределено в %2$s также с помощью константы %1$s, при этом данная настройка имеет приоритет.Это может улучшить время загрузки страницы за счет сокращения начальных HTTP-запросов.Это может улучшить качество, но может привести к получению изображений большего размера, чем при сжатии с потерями.Это может улучшить скорость загрузки страницы.Это может улучшить ваш показатель скорости в таких сервисах, как Pingdom, GTmetrix и PageSpeed.Это позволяет отобразить первоначальное изображение на странице без задержки.Это необратимо.Это необходимо для обеспечения совместимости до включения кэша для всех сайтов.Эта предварительная установка с низким уровнем риска знакомит с основными оптимизациями для повышения скорости и взаимодействия с пользователем. Подходит для начинающих энтузиастов.Это может привести к большой нагрузке на сервер.Это сообщение указывает на то, что плагин был установлен администратором сервера.Эта предустановка без риска подходит для всех веб-сайтов. Подходит для новых пользователей, простых веб-сайтов или разработки, ориентированной на кеширование.Эта опция может помочь исправить изменение кэша некоторых продвинутых посетителей мобильных устройств или планшетов.Эта опция обеспечивает макс. оптимизацию в гостевом режиме.Этот опция обходится, потому что опция %1$s равна %2$s.Эта опция обходится из-за опции %s.Этот параметр может привести к ошибке JS или проблеме с макетом на внешних страницах сайта при использовании определенных тем/плагинов.Эта опция автоматически обходит опцию %s.Этот параметр удалит все теги %s из HTML.Эта предустановка почти наверняка потребует проверки и исключения некоторых CSS, JS и отложенной загрузки изображений. Обратите особое внимание на логотипы или изображения слайдера на основе HTML.Эта предустановка подходит для большинства веб-сайтов и вряд ли вызовет конфликты. Любые конфликты CSS или JS можно разрешить с помощью Оптимизация страницы > Настройка.Эта предустановка может работать без настройки для некоторых веб-сайтов, но обязательно проверьте! В разделе Оптимизация страницы > Настройка могут потребоваться некоторые исключения CSS или JS.Этот процесс является автоматическим.Для некоторых квалификационных запросов эта настройка равна %1$s из-за %2$s!Эта настройка полезена для тех, у кого несколько веб-приложений для одного домена.Эта настройка изменит файл .htaccess.Этот параметр пересоздаёт список поисковых роботов и очищает список отключенных!Этот сайт использует кэширование для ускорения отклика и улучшить взаимодействие с пользователем. Кэширование потенциально сохраняет дублирующую копию каждой страницы данного сайта. Все файлы кэша являются временными и никогда не доступны третьим лицам, за исключением случаев, когда это необходимо для получения технической поддержки от поставщика подключаемого модуля кэширования. Срок действия файлов кэша истекает по расписанию, установленному администратором сайта, но при необходимости администратор может легко удалять их до истечения срока действия. Мы можем использовать службы QUIC.cloud для временной обработки и кэширования ваших данных.Очистить только главную страницуЭто очистит только страницыЭто также добавит предварительное подключение к Google Fonts, чтобы установить соединение раньше.Это создаст резервную копию ваших текущих настроек и заменит их предустановленными настройками %1$s. Вы хотите продолжить?Это очистит ВСЕ содержимое кэша.Это удалит все кэшированные файлы GravatarЭто приведет к удалению всех сгенерированных критических CSS файловЭто приведет к удалению всех сгенерированных файлов-заполнителей LQIP изображенийЭто удалит все сгенерированные уникальные файлы CSSЭто приведет к удалению всех локализованных ресурсовЭто приведет к отключению функции LSCache и всех функций оптимизации для отладки.Это отключит страницу настроек на всех дочерних сайтах.Это приведёт к удалению неиспользуемого CSS на каждой странице из объединённого файла.Это включит расписание поискового робота.Все текущие параметры настройки LiteSpeed Cache будут экспортированы и сохранены в виде файла.Это создаст дополнительные запросы к серверу, что увеличит нагрузку на сервер.Это сгенерирует заполнитель с теми же размерами, что и изображение, если оно имеет атрибуты ширины и высоты.Это позволит импортировать настройки из файла и переопределить все текущие настройки LiteSpeed Cache.Это увеличит размер оптимизированных файлов.Это позволит встроить асинхронную библиотеку CSS, чтобы избежать блокировки рендеринга.Очистить только все минифицированные/объединённые записи CSS/JSЭто сбросит все настройки до значений по умолчанию.Это приведет к сбросу значения %1$s. Если вы изменили настройки WebP/AVIF и хотите создать %2$s для ранее оптимизированных изображений, используйте это действие.Это восстановит резервные настройки, созданные %1$s перед применением предустановки %2$s. Все изменения, сделанные с тех пор, будут потеряны. Вы хотите продолжить?Чтобы сканировать конкретный cookie, введите имя cookie и значения, которые нужно сканировать. Значения должны быть по одному в каждой строке. Для каждого значения cookie каждой моделируемой роли создаётся отдельный поисковый робот.Чтобы сканировать сайт как зарегистрированный пользователь, введите IDs пользователей, которые будут имитироваться.Чтобы задать собственный TTL (время жизни) для URI, добавьте в конец URI пробел, за которым следует значение TTL.Для полного совпадения, добавьте %s в конец URL-адреса.Чтобы включить следующие функции, включите API CloudFlare в настройках CDN.Чтобы исключить %1$s, вставьте %2$s.Чтобы сгенерировать беспарольную ссылку для доступа к службе поддержки LiteSpeed, необходимо установить %s.Чтобы предоставить wp-admin доступ к группе поддержки LiteSpeed, сгенерируйте ссылку без пароля для текущего зарегистрированного пользователя, который будет отправлен вместе с отчетом.Чтобы убедиться, что наш сервер может без проблем взаимодействовать с вашим, в нескольких первых запросах количество групп изображений в каждом запросе будет ограничено.Чтобы управлять параметрами QUIC.cloud, перейдите на панель QUIC.cloud Dashboard.Чтобы управлять опциями QUIC.cloud, перейдите на портал вашего хостинг-провайдера.Для управления опциями QUIC.cloud обратитесь к своему хостинг-провайдеру.Чтобы соответствовать началу, добавьте %s в начало элемента.Чтобы предотвратить кэширование %s, введите его здесь.Чтобы предотвратить переполнение диска, эта настройка должна быть ВЫКЛ. в рабочей среде.Чтобы рандомизировать (выбрать случайным образом) имя хоста CDN, определите несколько имен хостов для одних и тех же ресурсов.Чтобы протестировать корзину, посетите %sFAQ%s.Для использования функций кэширования необходимо иметь веб-сервер LiteSpeed или использовать QUIC.cloud CDN.ИнструментИнструментыВсегоОбщее сокращениеВсего использованоВсего изображений, оптимизированных в этом месяцеОбратные ссылки/уведомленияУдалённые комментарииУдалённые записиПопробуйте версию GitHubНастройкаПараметры настройкиОтключитьВключитьВключите, чтобы кэшировать общедоступные страницы для пользователей, вошедших в систему, и обслуживать панель администратора и форму комментариев с помощью блоков ESI. Эти два блока будут не кэшированы, если они не включены ниже.Включите, чтобы контролировать пульсацию в редакторе.Включите, чтобы контролировать пульсацию на бэкенде.Включите контроль пульсации на фронтенде.Включить автообновлениеВключите этот параметр, чтобы авто обновлять LiteSpeed Cache при выпуске новой версии. Если выключено, обновление вручную, как обычно.Включите эту опцию, чтобы автоматически показывать последние новости, включая исправления, новые релизы, доступные бета-версии и рекламные акции.Предварительный просмотр TweetТвитнуть этоВстроить UCSSБелый список селекторов UCSSИсключения URI UCSSИсключенные URIПути URI, содержащие эти строки, НЕ будут кэшироваться как public (общие).URLПоиск URLСписок URL-адресов в очереди %s ожидает cronНевозможно автоматически добавить %1$s в качестве псевдонима домена для основного домена %2$s, из-за потенциального конфликта CDN.Невозможно автоматически добавить %1$s в качестве псевдонима для основного домена %2$s.Уникальный CSSНеизвестная ошибкаОбновить %s сейчасОбновлениеОбновление выполнено успешно.ИспользованиеИспользуйте %1$s в %2$s, чтобы указать, что этот файл cookie не был установлен.Используйте %1$s для обхода UCSS для страниц, тип страницы которых %2$s.Используйте %1$s для обхода удаленной проверки размера изображения, когда %2$s включен.Используйте %1$s для генерации единичного UCSS для страниц, типом страницы которых является %2$s, в то время как другие типы страниц по-прежнему генерируются по URL.Использовать функциональность API %s.Использовать CDN MappingИспользовать настройки администратора сетиИспользовать оптимизированные файлыИспользовать исходные файлыИспользовать конфигурацию основного сайтаИспользовать QUIC.cloud LQIP (Заполнитель изображения низкого качества) для отображения во время загрузки адаптивных изображений.Используйте онлайн-сервис QUIC.cloud для создания критического CSS и асинхронной загрузки оставшегося CSS.Используйте онлайн-сервис QUIC.cloud для создания уникального CSS.Используйте библиотеку Web Font Loader для асинхронной загрузки Google Fonts, оставляя другие CSS нетронутыми.Используйте официальный пресет, разработанный LiteSpeed, чтобы настроить свой сайт в один клик. Попробуйте безопасное кэширование, экстремальную оптимизацию или что-то среднее.Используйте функциональность внешнего кэша объектов.Используйте соединения keep-alive (проверка активности) для ускорения операций с кэшем.Использовать последний коммит GitHub DevИспользуйте последний коммит GitHub Dev/MasterИспользовать последний коммит GitHub MasterИспользуйте последнюю версию выпуска WordPressИспользовать исходные (неоптимизированные) изображения на сайтеИспользуйте формат %1$s или %2$s (элемент необязателен).Используйте этот раздел для переключения версий подключаемых модулей. Для бета-тестирования GitHub commit введите URL-адрес коммита в поле ниже.Полезно для изображений в верхней части страницы, вызывающих CLS (показатель Core Web Vitals).Имя пользователяИспользование оптимизированной версии файла. VPIДиапазон значенийПеременные %s будут заменены настроенным цветом фона.Переменные %s будут заменены на соответствующие свойства изображения.Список CookieVary GroupОтдельный кэш мини корзиныСм. подробности в %1$s версии %2$sСмотреть .htaccessПросмотр сайта до кэшированияПросмотр сайта до оптимизацииИзображение в области просмотраСоздание изображения области просмотраИзображения в области просмотраПланировщик для изображений области просмотраПосетить форум поддержки LSCWPПосетите сайт без авторизации.ПРЕДУПРЕЖДЕНИЕВНИМАНИЕ: cookie входа в систему .htaccess и cookie входа в базу данных не совпадают.ОжиданиеОжидание обходаХотите общаться с другими пользователями LiteSpeed?Просмотр статуса поискового роботаВсё хорошо. Нет таблиц, использующих движок MyISAM.Мы прилагаем все усилия, чтобы улучшить качество вашего обслуживания в Интернете. Пока мы работаем, сервис будет недоступен. Мы приносим извинения за возможные неудобства.Файл WebP уменьшен на %1$s (%2$s)WebP сохранен %sЗамена атрибута WebP/AVIFWebP/AVIF для дополнительного набора кадровДобро пожаловать в LiteSpeedЧто такое группа?Что такое группа изображений?Когда пользователь наводит курсор на ссылку страницы, предварительно загрузите эту страницу. Это ускорит переход по ссылке.При отключении кэша все кэшированные записи для этого сайта будут очищены.Если эта функция включена, кэш будет автоматически очищаться при обновлении любого плагина, темы или ядра WordPress.При минификации HTML не удаляйте комментарии, соответствующие заданному шаблону.При переключении форматов нажмите %1$s или %2$s, чтобы применить новый выбор к ранее оптимизированным изображениям.Если этот параметр %s включен, это приведет к асинхронной загрузке шрифтов Google.Когда вы используете Lazy Load, загрузка всех изображений на странице будет отложена.Кому следует использовать эту предустановку?Wildcard %1$s поддерживается (соответствует нулю или больше символов). Например, чтобы сопоставить %2$s и %3$s, используйте %4$s.Поддерживается подстановочный знак %s.С помощью ESI (Edge Side Includes) страницы могут обслуживаться из кэша для пользователей, вошедших в систему.Если включен CDN QUIC.cloud, вы все равно можете просматривать заголовки кеша со своего локального сервера.Настройки WooСommerceУправление качеством изображения в WordPressДопустимый интервал в WordPress составляет %s секунд.WpW: Private Cache в сравнении с Public CacheЕжегодный архивВ настоящее время вы пользуетесь услугами как анонимный пользователь. Чтобы управлять опциями QUIC.cloud, воспользуйтесь кнопкой ниже, чтобы создать учетную запись и перейти на панель QUIC.cloud Dashboard.Вы можете ввести только часть домена.Вы можете перечислить здесь все варианты cookie от третьих лиц.Вы можете быстро переключаться между использованием исходных (неоптимизированных версий) и оптимизированных файлов изображений. Это повлияет на все изображения на вашем веб-сайте, как на обычные, так и на веб-версии, если они доступны.Можно запросить не более %s изображений одновременно.Вы можете превратить шорткоды в блоки ESI.Вы можете использовать этот код %1$s в %2$s для указания пути к файлу htaccess.Вы не можете удалить эту зону DNS, поскольку она все еще используется. Обновите серверы доменных имен, а затем попробуйте удалить эту зону снова, иначе ваш сайт станет недоступным.У вас есть изображения, ожидающие извлечения. Пожалуйста, дождитесь завершения автоматического извлечения или извлеките их вручную сейчас.У вас слишком много запрошенных изображений. Повторите попытку через несколько минут.Вы использовали всю свою дневную квоту на сегодня.Вы использовали всю оставшуюся квоту на текущую услугу в этом месяце.Вы только что разблокировали промоакцию от QUIC.cloud!Для измерения времени загрузки страницы вы должны использовать один из следующих продуктов:Перед использованием этой функции необходимо установить %1$s на %2$s.Перед использованием этой функции необходимо установить %s.Сначала вам нужно активировать QC.Сначала необходимо установить %1$s. Для установки используйте команду %2$s.Перед использованием краулера необходимо сначала установить %s в НастройкахВам нужно включить %s и завершить генерацию WebP, чтобы получить максимальный результат.Для получения максимального результата необходимо включить %s.После удаления резервных копий вы не сможете восстановить оптимизацию!Чтобы воспользоваться онлайн-сервисами, необходимо завершить настройку %s.Имя сервера %s или IP-адрес.Ваш ключ/токен API используется для доступа к API %s.Ваш электронный адрес на %s.Ваш IPВаша заявка ожидает утверждения.Вашему домену запрещено использовать наши службы из-за предыдущего нарушения политики.Ваш domain_key был временно заблокирован для предотвращения злоупотреблений. Для получения дополнительной информации вы можете обратиться в службу поддержки по адресу QUIC.cloud.Ваш IP-адрес сервераВаш сайт подключен и готов к использованию онлайн-сервисов QUIC.cloud.Ваш сайт подключен и использует онлайн-сервисы QUIC.cloud как <strong>анонимный пользователь</strong>. Функция CDN и некоторые функции сервисов оптимизации недоступны для анонимных пользователей. Подключитесь к QUIC.cloud, чтобы использовать CDN и все доступные функции Онлайн-сервисов.Ноль, иликатегорииcookiesиспользуйте например %1$s или %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationтолько чтонезависимо от того, где они живут.пикс.предоставьте здесь дополнительные сведения, чтобы помочь команде LiteSpeed в отладке.прямо сейчасвыполняетсясекундытегиавтоматически определяемый IP может быть неточным, если у вас есть дополнительный исходящий IP или на вашем сервере настроено несколько IP-адресов.неизвестноагенты пользователяPKc^�\�n�sQ�Q�translations/pt_BR.zipnu�[���PKM�[�SZ���litespeed-cache-pt_BR.poUT	ABiABiux�����\[o�F�~ϯ�uƘ+�ԭ�2�A[���QKN�T��ݴI�K˝����a0�w�
2@�����'�%��S$��꛽� �%V�ԩ�s�΅�Tܤ2�B�:z ��bę�/�\��|q"��“^.���a��r��P�L=A,�t��Be~�����'���Q��A�w�dy���W��A5��a��ʌ�}���ȡj}e���X�~ztu�y��A�=n���c����m�;����>�=<���m��m��/�_�m�R)�?�yz��\���$�\�˷�P����4S��7�6�s�p*�<�=���X����`��7��4ʎE����υ��X�Q�?�_o>W�Je��c�<�U��lk�����	/d<,��c��wO���~��|�ܷ����%Z�|�'�֐��������kѵ�-��Qr��������MbO$d�oٻ{&ÑR��:��i����uW�n���pv�"'�J�z_�
;G�
�4�h��#zX}N��K�+q~�u��T�˼Ȝ��w�K礦?L�K��=_�H�҃\B>
CY�m�2{��Œ����k��U:�=�2����z]�I,����tf���T� %�g|�"�fξBX�lŭ�m�y��FZߛs���X^6�;|4�#�:��w[I���TW�n�B��>C�B�@H�Gs�d_�>���T�9��,�"H��z�ES�}��4
<
zK�Z�*�t�ฐau��T�թ��T�@�cpB|��:����9�C&4ɕ��Ne�c��9���̽����r��7E
'�K��uK���^�+؞�|a]�0�8��eE�c�RН�׺�p�̓q%�ڮ�:�t������qz��=�!~�4|,b�0)�{]��pH
��r<��%��v���{�p�����	�W�K[<�鬼�vmϪ���)�5��A0���Q��ʜ�Y���E�tb�_�#=�f
�@7���A-�#�&�G�72��\��0S������do ์d<"IW�����r��E҃�z��R����Y�Bţ"�V
gem�n�nMs�y7�jl�����a6��#K[�0ޛ�e�1��^g�ʇ3��,6{K�]�e�W�bX���"�1�
�$�4�g�H.�Ax,�N������~�J��U&�(@�d>����.��%^�H���˩�Ita��)8�T�E<�P\�{W�iz*؇�I�u*~��o�%;lҍqM�W���~��?�����۩/e[$o���/aD�XH�#0�=䢯ry��0ewg�UV�W��A{e�4�1���ŽN߬q��[�0��jpNJ�d��eV.P$�TԻH���v��� �qs���c@>VX�����p�#6P*�H5�A����Oc�m�1DK��_5TY�'���	�������h��׶$¹�%�!��֥;�a < '	a�y�|$2��؄�z��~�9a�Y�ZCG�V:����f|�
�\�k�����`����� 3�
C��H��^
A�`�~���I�'��0��8#��� 
���-���-!�
H��Mb,��K�4թ]k�cA��=?��.|�8V�H�c�A�N��y�l�F���-�^[
H�c���0�v_c�2�ȫ%�Մ�)A�e4��@k�-�T���(xN�z�0�8[��l ��ل���OLq�������A��X}�^*�4b���Lxw��F�.w����w�0T�g4)ѫ�x{g�]�z%Clj�bc�d���rl�@}�`�$�㭱�vg�p{����@��>
�\Ţ?�4�5�Dl̜M�|�B$V��V��9:\���4���6'�_��'���F�G_�Է~���l���G�NN/~zA�e������es2W�bI�	�ظ��BDL}E���!��t>�O@({tM|.��\��Qԟ��6�hIV���Yo&��l�n�}`�Kd��,��]�?gY���/]�����=�&��Oz9i�q�p͙������c'��Tt2i�$�{�����{�;O�7�2����|@nsC$ƙ����/צ���],9O��~#�8���k�i�7v�q��1``_5����0�r�}�|%=¸��٘6��6�I�8�SQ晞n��u��xZ
)J7����5(ۤ!��C�$���pv&B-V~�>����p��N�2���z�"��7g�l����=�	��Tq�_�S�⊵7��[�
���h	��S
�0�g�&m�T�T�eܢ�|�;�~՝����.��P ��J�8�T��2� ׼���_Ƃl
t>78Ygn�6Ɣ�U�gt��.m23/�t�f��9��j�x�D���[K�W���)_��ӠX�Uf�?9�>���R3܋��������k�X�1�m=53��Kh���r7]V�XAn���֩�Q��q{Df��Ex�)w5���EA�Oم����@��-�-�a73q�MuFi�S3�l�\k�<�3�ϳ@���*��0̺*+��6E���	ϫ��\��~��Y<�dwMz�5$>1v�uI�`��oc���D���wI]L^���=�T:<�?��������J��q��硖T�I��N۠�K� b�{��a|�zE���)�����UM���ރ�(!�K���z��UN��;��I5����#q�qy����[�6�Pm4�Gf�V����IR�7Dž^֤NY�|��H�}�s֘�تn�S�|�:����z��C���@-��<{�!&��0��Ͽ8�)b�o�T,T��g3�l0}��P���,>�(vьݽ��6�Brᝋ_�o���!�٫R���Z���^:|��j��;�
��������.��ޱ)z��(��X��3�����wvf��R}�==�W���V���z�����6���+Wٞ��
E�s`#��7�
�g����J���#�R؂��w��8x2���B�1x2�
ӑ���r	��4L^K�dH�>��剟!�,�/�>Ur1��FY*��Tl�9���6<�������,�e;��bx��l8��	�N��x�e�˗�����2��;2 �g��tc(vT�p�ne�0�8�Ts���^�ވR-72֑��F���[I���נ�W�ى��E��1ݡW���y8i	D�}]&I���J
8�h��g̟�ᠣ �RB;�x&Ɉ����x�\>�򍢜
�}iu�RYuA���KP��J�+r��
ĪLuC� w�$Ə�'T��� ��b�ed�5�S�
GԄ�
Q�*]�8NY���a�5N�v"\i���eYPZ�մ�6bz<O������(�r}q���[��Ӗ���APŠ�mQ1uO�"��?t�nb�ZFSp9��ﴴ����r�w.NQʼl��f�ڶ�GT.��&Aa2��L�f'FTt6S�&���n��ڃJ�1Pe���Y� �d�'M
23����y{�`�sSZh��-�T�8׼=�Eڳ��kE���+�+�����'����Kػ�T�nT���e*�Q���ۼ��	�D�d��G�9�\�2�yk:%����5�ýZgLX�h�i��S�_��ֱH��-"���;tJ�ýs��u����ލu�h�ncF��1Ύvl"4��p=^'N��I7�掑`6'�u����T_jV
�)a�ES#NBrb&�������q���T�d����X|��Ζn��G,���qL6���sO�ۂ�`�~��r8/|M�"��Q�W���fs)�/���hէ����1lUgSD
��^��Gw�>j	jaJ�G�<�(u�QI"���9�9#:"3�1��"��2�C��'P�t�
^N�l������׏�Zg�7ٙxyۻO�����o�ij�˗���˳k���Sѽ�zq~ҽ9����OA���:=�=���ɥ8/�7ח=0b�x��O�ěsf}�(r�~Y
��^�#Xo	|�Q��1C�u��#�1l���*EBJ�z͜^)��dۙ�62-��9O���-~��*Z��K���WW��׽:Dž�(+_?�؏kr�$A>at�$��N�u�w&��0��.�ޚ�<��9Y�d"^衋��f�&�+	��5�]ۄ�B�8Q��Q��,h��z��$�h�mSY5��������=�*g�K9�ddH��$2�nV�r{���A��/�uh�ݧ
�h_妘;��ʲ|��l�������$��wC�b���TB�;ń
��II�ӐK@c�N���nY��M��f{��'�鶹'��:��֪$��[I>�Y�:�ޮMB�nٓ���#@5���:mz2����y��vuNh��J��؊2{�w�-�<z��scQ���VlUg_���mI�ǁ_a�f�Z�vʾ��
��
�4��e��y��M�j6Tg7�n%s�j��}��h��z��z�g�R&�N��Pݑ�'2�{'8�$cO"]d��YL-������“F���%�0�aTk�2�7e7��&�DKQ��Y\��p�p��I�>Y��%��U��`?�a���q���g6�b?��UNq�՜�ʌ1��}�6_}bzm��"T���z|.kF�j3�A�֛F�͊��C�6-��٭s2$a=�
3��kM�9���
Q%c2�f�7+�fM��O���+>���n�݈�/���@k�\q���, A#A��Wvc	L����c����s��4�"���
�J��`�r��;i�!^n��0T뙶�u�7�ܿ�Q.W�V+�
��陚���;��_Q�MP_Lt����M2T�	�=ř�u_.���.�tUcb<���B�s�y� J����פ�	�iΩ�����g�̓x�'i���x��A�H�80Fp�'f��di����:�ԗ�N?��,���h���Zi�v�Y�S�\�1���%~^G� ���%��TY��~r�Mew���8.z�u�v�����M4��NtA,5Lr�_q̴���i�Y!��9��3*�}`r�>�l˔�za�$���j1�F��HB�=��36Ŭ�����)/��ZRs/��[6��}��~�6k$�/xXb��L9��YB�pPϦ�ux�o�|��`��N �`ͧM�7�?��ɝ�lǫv��T<ӧ��6PK�6M��B�= �'\���@��mj�ٍ�~���F��i��5P���;�g��O+�U6��|����v\H�of�}�AUU�}r��n��(h†�'���,�آ��i�ْD��)��&t��_[�ve�?S�9�3���)��h�Sh�NHG�|y
)�;r>�*�F���F���0�Z�^�[��eE�C%7�B��|w�4R�Z2#4�;�=��C<�O�N{Mx�~���?��qc�՘ۋ��
~����^�v�U�6h?�"7Y
�e�/��X�g?�*��,��x�?��@q/����Zo���L�c*���w���|Wԫ��)�@y�x��&��*�Gv�>���3	M\��:fD֮��&(U�Ϫ%^1��~s]�>c��U��P�L�I�p{K�)���5
:�d�MK�i�BHPuT՝�W�V�Ω��ķ��QJ\�2n���{�o�:MCj�l�شī ��Pm�GFM�T������7��E�yDz���fA��?Wv8����E~�#��x�T�Z��uW�fs�K��J�J���z�@&0��_)kkqgo�#��]�p��:�1�"�K;�('3��6�q���y��;i���4a@	��Q�/�prfC�>ƫiP��F
w�"ED�Ճ��u/��:
䬦5U�D
&��툑��q��TK�i㩳;�EpP�oD��jedO��
���>n���P�q��m_ԽBV�>O��Q��|���W�|m���̀����ۍ�ڲD�_1	�h��;�d��ITŅ;Ȑ2F7#i
w3/3w2��:ȇB���p�wV	%������?п�k�9�Zs��C�:��r+�f�f�2לc�quO+��鴭E��oj��ㅶ�`���י�p�4Op��,����S��>���>��|��j�٩��/ݡ03f暄\��&�|l��-�n��-��ʉT�9�jx��zr6�x�q{c�SI��z�g:ː�,SS���l�Ib�w�m��oq�n�ߢ���'P�{��Ҝ֦g��9�r[n����Sa6�ي�=�j�>�-RGH���`
�J6�7$��%�y<Ϧ4xa��zy~�Q�������������RMeF6┪�ᯰ����85�5��t���O!��S�Go���4���,sF�o�c3՞��ݤ��5Ÿ��g�O�B]ؕd.��l�tQ̲��l�t|
�9��M!��$8[�Ep����ȓn��z8,��=Ji-6���M٩���S"�M�Ƥ�,G�Rh[������b��;����O�T���T��|ј�v�`�Ί�#9���,��>�0�D"nRqH>r7Uq��q4=%�*.��:QoNb,8C��/�elJz�W�G���ќ/��/�)"��q#�9	��kH�C�>'|���S
滗icN1�1J^;�{|	�*`�����h)sژ������c�W9w�x
9��4b-�u�O?� �^�&�P8�������S
<2'aCi����XoO�z{���A`�L�����J�XG�鑙�!�z��`4
�8e��x)tbD��GY�ňQ�mES��S6�E1I@>H�fv�xɉƬ(ힴbT�Q�c���&φ�3�<4˔���~�Oф��RՁW1�2Y>��Ű,�k�8᰹�E�j���hK�e�&����1����O?�s	�Fs�-۵T21��˕��YLyYkO�ͅ������7�lDߝ}�_x��1�O0�͵������͕<�;�(B���3�Rf�ڈ���]�(� �s*w
�z1����?h�`���a���\9>-�J0���h$u��AA�?��%�0���E#����9�2XF4�����q�Z�ynF�>R�u�{_$+�t���lZ:����Y���.�*�"�Kt`�|��(B])2��6K��)"364w+`C�"�������ͥ�nwN��fF��s=-�m�#������ؼ^�3���tv�nl�~�f:ޯd�b�>'[O�<O1� ��>< ���cGS�9~"R�����⪳*؞ع1�/>D8Gn�לԇ��![,37��Z�||��KP��ȃ3jP�S+�~�e��5����
&�$�-�j���p�<�`rם��\�'����k�t�3ˇ9ȡ����Ӭ�����^���Z~�("��m��D��:}�</���dřo�!ɂ�ڵ��D���γaM��р�����K�'�{�m�05�;�v��:�f��|�����Ⱥ��(�r�[��U2�X�ge��xɷS"Y��`u���$L{�I�5-uW�9��셄�%�~a>GqU�
��_��yo��2�F�p����:G���=�}i#'��zw��.��H���h�qG�%zx����c��V��l�f�m��&��Di���/Ɗ�֨?9�ጵ���'Ƀ�)���#r"��9|��#�����~��1���$�[��`���o�8�KD�{�U-���>P1i��¦6@"U�c�*{W��k0��o��V�ل����?��~}�
�P����kk�Թ��Oi6V�^�a�0`�]P�)v�:$(*,Egi�EF#Ê.XT�t
4�3	w�J4�qa!�O[D��n1[JX�+eȔ|�!�@!u�})���"�9+�d�^�y�Ʀ�\Z_P��G��i�.P0bЯ�Z�m��9�&]�3�|�j���N��ݘ�K9��.?��W q��Ð]A��3�/��{_/����-����7*%��Ӻ�9�o�����Eb��	��7��C(O��`8��+o�M��@��}E�TW,U��i�W>`ky+ט�Ҫ��qUnD���Œ\�Ϭ�^:�s<��%�����G�0ˑ�Ks��ƄCw���/�]�'k�7mr�.]3$Uk�~?_�^OBK�:jsY���Z�F��o��*�S9�?��������X�r
b_��|��m�c�<䓞����lm[����Q�
�l�[�1ןtO����>z�6�ᣖ��-D��閱�u+zZ��pl����w�x�^V�V�*���L�Q���i�0t�oۙ]�����v���K,�%�'mFd����SC�Ⱦ�Ax_�1	�}r4W�d݁���M;�9Mf@�k�Y"vta
f�U5$�,h��Mz�ä?�p�w�ۏ�:��ժߒ�W�Tu5r2�����F�ZwS�W���:��0�lň����z��#6%I��;�r(#����1��љ
Yb)���Oqg���MK�G���/@�=�9�e���o�xf��}A�W+F߈M�w�łW�'�ЇpuB���\�fy1
+�ͦ�=��痈���ŧM�M@�z��kw�x�`{���_�\�w��'R�ԩrD��8���C|��7�
=�Bڐ�w$�'{�N����0�.��y�UH”l!3A�+dEcSq>K����R>��3��ݭ�=�B��my��5M�
����jM�Et!���@�eJ�v��DZI��V(�EI��n9�L���S7�Q�p�֮���UM(1pB������%��svNˇ_:=�8E�`U��#ߖy�]��.�w5�,�U��(DM�5�e��}�d�� 9RR�9J��������8=1nC���i�������<�w�|��T2��r|w㓆�
7��qM����zN���;��22���>��w��kb�	-ޭ�C�PWd0��w���^g{��MM�m�iRH��
}���f1��t�y��t2�� ��Q�d���9��OKh�
v�k���u��PoZ�W�ͯ�"����6������`
6I�Z*��׬E�`�T4��Nm��{p�r�kW�}�j��'tkh�)���B�	W�t�X�� �W�z���6�9+����"7��&��ʜ���fv:��Խ���pN��f���H��d5���m�8;%j[��mҤmuj"Xx5j�g�N�aJ�6��)�GW�$4f�t����
��2���9���uW�16bƫ�񵨮{�&G�J�<p�+��:	!,Q�
�����Pk�!?_�u�
v3�X�$�.uU�繯;�%��/S+azC�,�Ė�"�CU����ϦV��	Z���ۇ���^�D�kW��@jR��^����������p���t�eb`$��E"��G��f�[R�ڒ�;+ߑ�/5g���/y��}�PwV#t��4�Z-:F�h��ϧi�����t��d��u����6�����~�՟}/��ʉN?-�O���,Lc-�㱏
�Tw�Ӥ�Y@H��i�ocA��~Y�fS�p�"�}K��e�
5]h�~�$rF7`�߹O@�c&���m!'�C����i-�?�ktGE4��Sn-q*]w���?l���d��|�n�a�������L��ǓCh��X�y�E��79j��~/��&�[�3̚LfS�SO8G�+�#�.(е�xa	UGwO+"/t/{�4�^���^��)ˆ����Ӗ�;-fį�gn:%���2 �P>K��+��э1m�`@P�6B�� ��p�4q�`Y,v��@m0�$�ϖ�(��ʅ�2��l�u�3*6�yL��/F=�ϴ���<��J�����^�Yz���H��ṽ@c譣Xl�eL˔`[l��7�v�������BK�!f��r��$�$_�3�[�L�c
�IDc+w��z�3�$Μ�����q�d��ĸ���o��JՊmX�ini�?��%&�,���c�d�~�sY��M�Y�Y�4�XPt�-
)%��%Rǟ�H����#��]��bBܢ	���6��ϡR�9lSsXP��yȂDER��
�hL�;��%b7sA����������!y��X�[H�ϩ���^w�B�����g߼�p�����0���gI�E�ELf��%%|�1��>Mt�����c���-[�H3%YO�}K��K��@��6�rO��f����1Mщ|d��#���;�v��=l�:ʂ�����+�s�/x�[���ҭTv���-����q��3?zc�^��h�2�O*�7pow�H��#/��막�ͽ7�s��o)$'R��X�/:�'D���4�cy���Gr���,~W����� �|;��y;,Aэ��`�<��,2-�l)�=+
&3[�y��(��~-�L��y�ی34�)S8���%l����sqR~~&�5���A8�-�q���7�]E5�!x�2q=��Jh
D�I�9����B��Uy���_.��|�U#D�$�K6�}ɛ�v�P��La�V:���d���������֖�ǟ�^��H�pkPmE���$���4���Kx"H|����l�Pq�DІ1�J��Rp�m���/8R�ܸ�ʄ��]Q�!m�nSr�[hN�>Ž�����|wN.��U�mq|��K&�a�s�}�
��O�E�8�\lH�^�I�5�Xp��4v���wf�O��XI|ې23���A�m�pt"Z�Dz�\V/����|�(�Q֚�x�Z,ᩳd�ә
w��Qd�
"���m�Y�H%L�ï6C�T/�.�}l-�`|����C���5;��4��5�<�5��}m��2<0T;~����O�?�Վ\L�G`+ �u�ӕ\�q��6ʸesW�9�Q�R����F��#)|�5R�� \*�?���byt��'�˕��P�C�i�=V)�u���4O�fL�
����$�.�C:�\�}C�&����%e{��=/���Utn.�S��u�V`��9m~���vV�i��Ctʔ�YU�6��FvF#��v"4v�~��΅�T�zq$���пUϥ�/=��B��Ղ�h�e��o�.�z\ź~x�]Ղ����-af��Y&#��3��\1��YS�/�eK��0�3ͣt�����.�Y�kq���#��+�)t�4vM�%���B�\��P�Ʒ�����c
��D��d���
$�����n#@+c�Nx��ln7ir��+��'�1#)�A��ulU�~��-.2��S���]8J��%��Ft#�.Ir��OW��7���f�p#4�q	�]^�����㟋�_\!���O��))�ō/��C���/���t�/�ݕ^D+l=h�NE@���T�S�S���ޣh���s|k�!�,f����v��t�<j
)T�K�@17C��˴�z<������]vd�S$N�� t��D4�Cv�߰����� �.h�|����R:�j��)�^ǟ��J.�|��t����ܢ?���q���0U�h�y�惖���٢���ʎ�5�@�V3���\]n�^/�Tù�;�{}@�����
����g����aϓ���B/�$o|V
��B���h=��l�ϣs�`-#�q6ȼ{}�o}��3�J����_~��2�	���E��_����r���l��\��Q���5��aT�]�0kH���VX	��)9����*�rX�n��+�7""(�х�p�������(�
}�v�76s�s^�]�"YS�j��|a�B���
r.����ʻq��AĴ���O����p��2xz�h�x�ؗ���ᵆ�F���� �1���TY6�Ю�^���x�Q(1��Xۅ�c�
��x��V'|�c������×�����h�'���6R�:��ޜ�ƕ1��I��]6^~�_6�/�e#�����9�/���Фن�P�Y���T%�A��+�&�t��<f !��*��y7�ɴ�l�7mv
�A\/�
�/S'9��J�� 7I�,��7'������R7��N6�O�3��L�BAm�����P�Q����m�S=C�3	U��.�m-:Q�%^��
�7FU�ӪICU!��]�	$�w
�ɏX�S}�p��E�lEYN�4w��Y���".�^��6Y��u�]~Fڌll��T�`L�w(��HhG���&HŖz�fK�L+D�s���i	�N�s��C�a��ίl�Ǐ���T��u�<��I|l��/��1�c��nP�Ep~\��ɟ4�#��QLss�N;FU��K��z���I�Z�7�Ei�/М�c[�%���0J�@��N�.����yq�.����1Ey`�1
�YmRK��I0��Is[§t�d����t�`��>O�g�scDZ�2]ir�3e��.�u�\�V� .����3�ŵ>k�؞xPDa�W����>�qEy�����D���)���Y\]�/1�^e˔�F����]SU$�
75"<0`M�6���eV}$�	[�3"�ڠ� �@ځCQ�ʜ�Kz<{��.
�G4�Vm7*���>�����^��C���+}J*Ӳ[��)�7��X�	�^���z�ɪ��T�2=y-�y�z\����m�wF2>�XGJ0��-�syT>R��i��,P��Z!#�S��CJ^R�R�4x���yC��q�t.�����p�d�����eꨁ8r� �S�|�uc�����ã���3��kD�Hgº���l����3J�P�٧�ʣ�v��I�7�XU�������_1g�s��Cf!T�� 문��)𛧗1���@��Ԡ{�QD�*�Z~�O�5m��#��6���š�C^�6���=��#:uK�'4WnCe�/�5�Xy��PEz��/�r��'zI*A��j�{�q1�R�I�kᤘ_��r�U���-�gJOkGZw�[�j���ߧR>�������_�3KCQ���Ʃ�<�}��R�1M��v��
bwh/&�@``LU��}	� w�__��݂�`��/V��v,`��o{LmnG�(�.:�F�{z[�g�7,3��D�L��u{�]z��b}!��V��
��\�'�1��~��O�2���&��]pк"DŽ�7�
[�'��#-���$%��)��Q{����
���ua�.��9�����f�A
m�p�Ӫ
Ȋ���~�,�*MoFMS��p]{��f�g}	t������b3�8��Ƙ4�r7k�����}��ے�����kU�MZ�@�8�i��)�ſ��n�뼋��MyL��{��;w�[�PJ��<[��qԕ��1#J���{�~��hA̦ډt�U��KmEjXF$Jqڇ���nj��w1=G�ޑ�]�	d2��W�����1��3�|�<�W�����wc��݌M����	v����lÇ_�b>�C��$�2��c�y�E�}��e����6e�B�0Y)YҲ���ۥ�2�+��S�@��B&�|����T%���Z�f�qH*G63f�+��]�H��3�[q���o4��I~�g5��\f&��H�z�sԚ�jKJ�.��Ov^����hǴ`O���BD��%m$48�_�~.����_�;ž!��k�!�������jl�f�F�D���F
�N���U\eӮ�嫇?�_�9V|.�=����RN�1w�b��1З��c���s�(g	9���P��EH�%�*������?\���4o�`����s�~�����w�����p�6[L������Ɂ��J�#,�Q�di#�s/�+lV��ic�y�0��V�s.��e`T��&�ű��H;���@n�=���j�PS�j�8����DҴ��)7c~�.�6�ï�Sä}��Tn�=��9���c<��4�u�����'��";&M@8) ��c�º��!Ȱ9͒�ӥ�<"@d���c�G��|�a���YeM���k����n�"��ozN@��$B����b��``�8�v�JsI[Hep
7��}Y�pԐ���Sw����J>9�B巰����z�U�疏�]������r���Е�H�bczu-I򧏊C��\���E�,*�#�����)-��P[�52���@9��!�I�no���@�D����3	����j�é�J[Z�vy	�	���0d�=�䁫�9�1>�Q?�n��ә��j�T�s"hO��Uey��%5�Ng IP*7pGe��~�a��τ=�˥9o���ܔ`��"�$d�_���k�)�HR��k��⫆�tY|z6+�?�W��-$�~^�*BЌKU�wT�^,��(�Y2��+����'X�$�s�H|����]^y�^���D	rFR�Y�&G�Y)6�{�G������.H+���o���Hʐk!ݷ�DȔɥ����,�!�x�d�ꉬ���藧��?"��0S�s�O%�,�I�_�NgM�z�a\w��S���{�m:[^��էlf���-'�bU���(��)��B5��#%�	_�f�4[q,i�*ڒ����_b[��>��T����B�)��{"ͯV7�jќ��H����디�Y��X�AfQ6��O�|i�3f��u�cY,m�<�|&l/Q�+4��|����o�4	^Y����EJ�WZ?|���9�N0{�K�s��+�t�w3��ul��������L�zd�k�5�� `�ـX84�@�cf���4K"�y��q6���~l�����D;%��v]^8%��JgIr]�u{(�`��c�.�qU�.�R>�Y`���N��L�C��޾��k|jiv��?�6-�;>�i�Hɝ�Z�ʦS_|q��񋷭]�Y�>�Ws=}oY�t�HC��`{��팜]�u��r�ws ��ɵV)��# ��'N�e�d x�I#�^]�C����a����ky:�#�6
���8�["��g������֡��|�O�ɪO�^I�z
�ˌYF-���cڸ����3\���j���7S*��S�g������!����ʞ9��9��1�R��[JE�U,�$����N��<@�R5��s�Gɥ��!!e�"#I�J"0db��'L�q�4��Ks�}��5Y�|/�1���zJ��(��`�y��&�k��U/��+8���\_`p6��	�Gڪ����f ��aܤ0�ڞl�rLj0�Dr\�,���I��dnڥ6�����Ժ�����Ѹs �8��4"S�����w��$KaЀ�+/H���~��1ijBTUJym��0��1�KK)��'���L��v���3�$�Ǽ�n:��ON���Z<�>�Ƣ��:��)]ͥ{I�)V����i�0�;�ttNQF�>�۰�ϋb�=�%�[�}����m_]m�
i�C.��I����s�t�	����4�.S�g但��L���!�4?<j[Q'��SNђos	�^Rj��q��ep�U�.>@�M��ә�ZK��;(X)av��L�1�⎫X4�x!�V�L�9u�dI!�v���K�}��~������䵊�Jr�oxl:1��ћT�\�g�����zR����c6��������&��ßg�2�뀵l�Ɛ�=^�6A*�pS����X��E�9�,��&�5�*Ђ��3�1G�.� �F��2�h�����	LB4l����9��h]�����
OX��JQ"W� ť��_�����{��.�9m��*�q2�l�{z1���.Jc
��:h��|��'�7��n����S�4(�NY�Ye���8��R�k4tb�R
�!��:���}m��0G��n���ﳔ�1���2����s���˦�|�0l�م�����a�`�}��0��x�6��J8<Pb!���2��~x�wR�t��5�������5P8�����>&��=W.�����Q�`*�ǡx�l�~K�Xc��sA��=���c�\b�ܵ\������Wۏr
�S^Nʦ��Sv5�1���H�:9�U����x⭺��y���ؒ��aN��t���fuT�����G�{�'�*�������P�Ƴ�
}�ZiB��U9Mm8���"�	$ž{	��!+E%���v����͒��0
���(.ɖ��
�=�úq�A(�hG��5�/lΤ�(���&�v�Q,I��g�q~*���Yml�OTJ������=���(���0ǘW.04����[�#2w�{L�'����x�g�X:ʴl�/�����6�M�
ptf*�0�-Z�`�+z��f�z!x̊��pP���u��T
��4Sp�x�,:�	�$"m������!W-4К6Id�!؇h�F�`/7��P!�k6R*:���e�^���R>�T�ķn1P��.	���∽��@���!@<cv������q�j��5j,��%���V�����sa��Wĸ�����_�A�(flX���f�v��O��a�^���-�]]F/��g��J����2�"��+�W��i;�^��zɪ�����F��%  $��6r՛�ԛ�?�LŕmF��k���?�.);��8�
����IE �f;L�'�'�]v��[�ag�
"�#���S��S6�շ-�	�|Q��<#�F�@�Ѥ{IsP��d��Sf�Q�:��K��ܜ�3	5T�K���	�Q`)	���i�Y��4�K��+���r�;�9�ȥ\��e�
�����9��⊲ڌN�lȍ�ȷ_�����w��N� ��X���={V|m��m3����u��ċ�A�qP�lg�Zm��=ٌ�ͼxy.Ὅ`�M\Y�bf�"�u��{�K�7�^Wc$S��^y�Q�V���7W|:N{�b6�G�q��C�޿;�MwWp\�����r���k�<�^CB��139�`#b�C�ƀ J�����D)&��(�[����ef`T�O�(��%�����q\S)ٹ�5<>��l��Lˣvk�����b��6�����h�"����E�Ԍ�S`,����W����ض�?���f�*H$���N���ldq�1,6���m�T�7��� ����d-H���:�C�C��4ͤI��X�MJ�ր�S���Q�)DdٜU��GV7�Ւ�tl.��x�h���q	\�;�%��i�0B�-(4DT�!�LB������OY)~�ќ������"4$P洛��So�����9~.0�n��iާ_7�-��D��V��pnt	�l����
9��6���85'�1�I�2$Dg��ik��a���)��M��f�@�0�MKN+D���l�ķ�OU �
18����5�B
1�hw3��.;�0�_��M:[�y�"
@�o5����[�1��i������<��xi6$җ
���Ș�B���X.����?���yKÝ{�9J���u`6xkR�B�j`;�R�����j��M��ޢ���?٥���_�<��@�M8+��Jq]���2cp���o�e���}��n� M�}� �W�����WQR�ܒ4a�<�M�I6U�hsT�IV����P��P���/�%t�����ޛ�x�0L��o�r��	���]i��ZK;hVU@��k̴���z��R=X�fM^�I�p8�<�%�ݭ�;J�6��X��X��so3'L[^�S&�R�i$p�6����=hz*��/(4H�J�Q�
���@��BDl��3H��:�,��YЏ�3c�/~�����f�jL��ĵj�yg*�MXO4�%:M�̜��G�`���b�%�U��2�-?w��U�|k�n�W5oKT�J�'7��-��%"�d��E:>��E,<����N��!a�
��椊l6(d�^�Ě�9<���Ij�k*�t7���#��-k��Xˢ
D���=9ڲ+�X��f�ot�2�l05O��(��u�tB��ҸM��.��q1o��b�P$��M]��,IE���M�Y�X���$�Iz�$���I_١E.\s�g�P����흭�=�ѽD���M�G�J;P<�8�����'��u��/�ʠ�0^�C�\P�H�d�z56oL7ҭ>b.�O��Ke5���h���;��]��v�x���L��f1>�x��߹�t����4be�+��ȑ��tq��	�R�)�G��R��s����%H���E�~c����Ϛc�AW��(��o_�xH��9�m���e�[�v<�x�p�Cك��D�w�>Ռ��w��a:	����\p?��)p�5�9 ��u^�?K�s�^N����
����x`���o�u��h�0{{c����6��G?y06Kkkk�xkE��?��k
�]s� &&j�x���x˞n�}�p��:�ۻ9����V�1O�r`��p
�*�͘*l�9���6�%�85M�,�?rv��ZNt��BH;�,�8/��#+��"}f����������bA�Zy26�m-��ݿ��9�Y�$[D���T�j#�[��b�B�a����Y��*p���<d�1F���8������f�0�5�e���o�^�s��A��n���N�'qz)$p�J�^�Bg7�F�����ᶌ�\���#Qc9
��s�9"8�����:d��B�4��F��
5�]�d��O�]�}ж
9�вpB��h)
���ʢ��x�K3��tQ��
+t�*P��VK�N=�4B�bKl�P��ܨ�A՚��
��D|x{��.���}t�!�i�B�(mOk3>T��Z�%�?�#V�<'.��Ԃ���iE�)Ĵ��fH�Ou�#g���J���*O�5��؍cޖ]ӏyl��6P���E���rsֆݣ�k�P١ЫU���5�X�����kK�˖2��� y3���TҊ�Z��P����T�R�T��=��@rXz�Y�,�o\��icE̟��1S���n�NWt�4�av%	���J�Z^��C�DG����k�8��<��<����@1.��isb-X۔|CYE>tj��Ӝ�*�KwWw��@\�u㬃�T��c�p_��H��c��-�ۨ�*��^�i��.KG���&،z[H�#x��	�����j8��Ї�z�d��1���}n�{�v��+`�Hb!��u���?�1n`	��oG����u)�O�^ߞ�|t8P���^��GCIʓ��惁�z�p���Tɐ�6�.������ʋ*��I�MP<$�;�ǰp����>�L:�4�Bu��L	�%'�j
v����e+Zʮ/��#
v���"\ٔ����*�d;�?���~"� �U�
`p���I��`.m�	GWR���=������p���o
��c��N�S���������$6�j�&�.��"��٩i�ǔ�� Yj!���!rFϙ��%$PU��^�"�u���ˇ��B�.G�W3��f�2�/����2!ŧ<J�kj�^!���	C��Ol��@Ep��t��g|3+.�8�����G��.P�ZXV[�]��!�kX�ʹD"߼�x�\�1�~��Uu@�����u�X�sN�J��.��?�T�l@Z��?Z@A��������?�}Se��g�j��z��lfl�yC��uIV
~-(��gtc�4��N5�J��f�{���Z����9��&�	���v�Go�%i<6�z�a�!�$�~��X���?j����k�*o�5t>cUӜ{�Cv��t��⇿����H��Z��DB��*w�^ql�L,��"5��� :���)����@s�Y���C�̈́�իnR)��
�r���,^	�:>e�qw�i��r����S_������E�VriIӎ�{t�[�(h;-��̠�گ�a�#������1g�oD'`�0���R%����C�A�(݌^�3S{�����o�i&�f��P'�X/�6w�_��ນ�
!�<��N[���FN���?��F�AU��_g��'��pQ��T���]+�UW-�=�f��[n�J��:�}w�iy��c��vC����
W.�s�F7���v&�m�P�kia
T-�A�8�����v`�s�'	�
m����:��إ&/�yl��۪�S}�h��i#� ��.S�n7����:���x��;#[����5��Z?�\Xe,؀;���p�0�&{�K�hA�!풖Rn斊vfO��τ,��"��"9̨vu��*Óh�1̿`�o�맮��5���[#*�<o9����&M�͕��87���W�����!��I��.7N}���D�`2�v�v���B�CK��LL�8b�hp��z����{3�g��3��$�}�ۙ
�2ʔS"`Z�[�ޜNX#"u��9's,��M�7$]�^�o���H�)�_�g����X��~���'���k�.��P�?��1G�J���Sf��e�'ϣ|5�Lˍh�Xƨ���6W?�4�v��$1K�3D�@���s[���S"b{Jښ�I��If��”�w�J��8��!z�@�ަ_D:@�%75Fd�Q�"r�V8Ȟ��iԩ�}�u����k��Y�v��䵲&�y�M��������
q-���R|��7$�+����w� ^<�Z9�B����u�^��o�r�4��Q�h9VY�6�Y�aMgY����D	�|_|���{'p��2���N��DeA�uE����TK��Y�6��tBq,��Tr�$[�eN�	�رɌ����|��Lƽ��l�j��56��pW�<���ZL�c�U�����'��o���<�^0v�/��y�`R���1_�O�e3����`p�T�/�T���Ŵe^B�l��A8L'�aJx`���0����B�q�@�!)|��E���ى�ËN'�95\O!��ph�U��pt��+#d뮐�����4�d��5��W��W�ۈ����ɤS�70\��R$E��j���0oY�bҽ��}�Z��X*�K��KЃ��xj)��u{�<��5���}
�S��/��'_sՀ��C]����h;;kb�Z��/G�����#N�G�m8���6��w硦׿ߊ&U0��HP|�]�ʮ	�}��|Y��1�6����w��Y�7Ҟ�:��g$�i)�j�3w�4�"�_LF����N~_+�p���J_S�j��$C�If���U�^ȾʭZ�`�Q��9���eA�gyz�AH1�hߵc/O� �ܧ��@�T�?y�UP2	zӼ�2����8؉���yF�;�9B&�I��g���ʭ�J��_"u�;ϼ���?/�)�{S��ׅk�fs��M}�Vә��	_B�S�E��l��D{ߒ�Uc�h7��;���%z��w-���Z�ߩ�Tz�ǡ���y;ǜZ�;�=�~��c.����>��grm((��ُ���d�����=�޹&J���s�ZQ�1`��1G=v,Ux�!
=�3Ί��	��֞�aD�]���-��!	{�#��֤A��l��J-�A��ײ>�����甤&?~�S�b$�f����8�Cg���OZ��d�K�X�O��01�q��fĢw0(\$�}N�Om����58'n�slq�H���r\h-��F�b���ͿS�k$�v&0	]2zj���"�Л�d)�]��]&^��� 8NkY�CϮ\4��p�`��:k.��-��:�H;���5��7E5-��2���[d�iL�3�ɇ]�,s�
�t���H��(缕�ـ��~��d{g�5���DžM�S��oa���7��¥'�L�}�{�c9�c��X:�a/�@HZ���_D'�j������l����2}��xvC�Sq.����v/^�s^��PA5�88�o���h��ɓ��H�>ƻ�&��a����#��"����5y*	��_M�li��s[F5
�ԖLx�h�Tm�c�!3�0�І�(ԾK+�2���9��������yd}쀈i����W������i�2�Bq�o�o��ay�V�����5�0
۶��}��}�1�����q��4c��o�� �x����ӏ��l�ԡ�l�3�Xs��GYe�i�R�ę������Z�7	�7lR�UC˲F
,�/ʢ�e�p}T!�sq6���o�4�t-��9Je��>������#z��ˇ_ˬ�P���2���Gı���j~���,��u�υE��� @g7�1t��&Ԃ,��;�9�K�3��C��ºn�"q7u9u�S�$��C�=~u��9�d+�D����a�גb8}�2;��b�ë��ߥ�:�*�t�pj�Km��t:�	gk��)��$�D�I2A*��W�s�5�X*G���UBD3]�X6�hJz�
��0��y��:��o�j! #(C6�t�"�����f���i^gg����c�(~�y��E�b�6'%ϯT���\L�b3zc�56\_aJ1�!t�O^�^<��߿|%�4`x;wj�^A=>G��Ҷ&
{��F{���4T�'�vC�99�}��<��P�c�6�lWB-V3L\�
$E�_v/�7ރi�ľ��'{�`���\|�� i�X�u���dY�ܩ�lr�ݝ��L���zZRnU��'fi�.v���B�M��*wn)��	-3i���m�ތ��Rs=��[:ݍR�Q���=m)��x�7�H��ټ��;�jY��-�7�"�E;�UAD���]�+�s�Aj�;K%Mo�*[��J��AY���קI0C�G��-=�gHc�`��Z��
?W�����O�����n���n=H<(@o����F,+m.��œ55�w ����b�"�Z86%Š�궈�e�2Y��ӣd2Ʋ��Wp�ԍ�K���Ԝ�3��W��0��[�D#:�;G:��eɣ@��g�}�Q܌NIY������;�W�#O�*z7ŝ����X_صp�es�@KT��4 zR�0TY���5J�—i#{.Ǯ�FK�$��.ڵ����x��#���<*ۂy��?q�@�]5�͈�7��<ܝ�*d�8i�_��bG�^�&����ր{���8$��@���
�
����D�R��}�Sc�%����DeG"�&*�LJ�p�
i�E�j�V@��Vu4�����3j�q�s�|b�+»M��z��e j"�6}[�P@��n|�-d�ә��ja��7Œ5A�����_�5܁�������&-�� �|zC��	�|6Z3ϔ$��?���劳�	b������i�ղXDx��&�D�.�X�E�[���r;�3���Jʗ�'�@��0�7�'�#Ps��G\���a�I�3�s�^F���&�=�
��;n�D.�t:��:��0��n9�Sf�1���2���%�2V=���9ePǹIaz�p@	Φk����2���YqWs��aP���jM�ws� ��K�5%4p��k�)5��[�N�af�J�N�6'����Fu"�x��Gرy��s��ZdpH�jw�u�^���+\�ͪ!+*w���v7���Bz�.���,f��#Hq��I(c�������������x�"Ժ�c[-/�x�FmC��o�0��in1�����O?�P�Q!�.6�w>�׼)B~9��I��sp��cW��W.������昦�ky�Z��6y���4����P�@
aY8�Ms��̒��5���FRi���6��Bh6��C�>�i�W�\	�?��$���^o��}��z����_����j�k�_�c���fB���g;���Κ��`�����}�4�㺿;z�Y��q�ŞO}Tc}��Ro����7�3ֶ'X9���p=��Y���mZ=��]!�u�8�q
����
Ƶt0\��jB�ǾՌ��Jg�El��y	��L�흜�t�]�Wr�?���jf����3�էlFZ�+��$��-Z ;��_�iR������v#��*�?r�Qn Ǝ,�!�Y{���ׄ�&��Y�-�E.�a�Z�́�f��ăez��}���:G �n�{����W
� �q��U�����>��
&>-��Y�0^��>�V�{�<A�T�ԁ�Mٛ�>Z�.g��{�d������UD�)B����_�(�֫�=i`D���_��qF���ͲY�e����c�$|�p��	tN ]g���<̐�����Mn�&IoIg"��-c�@x�F~�g@$3+���E`��{Q0�	�@""n"��w�m2R��DΞ�ޘ��nE�P�U2�A1���2߈��4)��nE=H��g�3i�
%ZiSЅ=9p2i ���0�|L���yڟ��u����ۭ��󕕠n�~��Ί��%�r�X�{�kmd��?gq٬�U�v+ʔN^��u�Y��Y�㠦
߯y5�W���%~<�4ݖ;�W^ܪ[ r�v�	Sk3�D��L�n^>݌À3���2I<e�ß>o���t6�@1�	+�6��5��֝K��E�Զ�S��U��)�<)�U0"�;�+nG����n��f�����xh��
؆ڋ@՘�[�a8�kT���3g���JsvQ�|�x�U���)��U���4���Y��!��� �(^,�݇��O���뛄�}��^���I��F燘頙��z|��˄�
�V�n�Ж-層��}�1��G�O���{xв��5���T��/>�$��v|�1e�?a�GQΞ�ɃrD��qP\H��Ym���'Л�p���YJ0�J�Z��+ò�K�'�H�CǛrh��8�յ�wyzg�B�#���i;��r��Qj?\WxX�Ĥ�,8�1ƿ)�<��Ҵ^�AD�~I��f'�̋�Z����+J�E��S��f$6mE��/�����3	�A�.l | |�a�h�����'sy��؂J�)<dknR:R�̋�>Z/�dG'��s�<R�:��!^��x�
�	�f%c�/�+t�d�K�-���߸ao^�Ђ���e*�h*I-V-�o��U�h��_ȢW�FlK���*r�'xwC��L���\�A�����(O�Q!��uBf���C�Z�T̅�l�KJ�t�f���N��Y�S!�3v,�I�O�ֆ�xu�o�1�����K�J�e:�:E8����k�qp�I�
��^�`��{�F�){�-R�B���@���ļ��c����B�2U�b��7���^�-ߐ|8!�(JV	Ɔ��2�e)�|�֓�����
��>V��Ob�5MM��A��w''J�W�_�<ԛ�	�E<��<����[/*�����T+D��݊)�-�w�m��nZ+
���bx������r19�Ld#|�j,���:��4��
���UVYw�b�>�4hg�(��j�6�Ο�/W�e(v�'�·�wF�[�gV=%���Qϣ����r�����YQ.��p<e4 ���Q�М`
籗lʻ����Iԡ�6�O!���Y�;��r���=a�
G�9���b�Q?���F/F��b2���p��2�dUw0�n>�$�UR�p�����t�Sv�7c#�>�����Q�w?��Av:i�N<-:��6�ׂ��L�ͧ��0�ѽ�����J��>�W��7<6�fq��[��Fƙ�f	�e�ύ�kND�4�j<Gz�,�M�ӯ�PZZ�W�
8K�̊��~���׬��'�f;�r�A��K1�Gw抪��R����)�%g&����˹�(d6��#�+�D[�O��?��[���p�*O	0P不�S�VW�R��TGr	z�V�4n�5g'$���.��հ�8U�پ������i��Ei��r�r�.�7-`�9HqJ���_e�%���:m�V�	�{�\��ĸ$;-1�S.M�����m)O?�rTĞ�����5��_Z�0�*�vK��$�Ϧ������̨�B�c��j��)������_Z,8�k�O1����k���z��7��Y�/�!��y_��7��T��o~a��A���6y����4��n"[�(/�ݴs�>f���@��:�|.��n<H[S9�4ZB#թ�����\b�l�:iQ?��~��9.��:z:L�w�+j�i�u*�Ќ��i�V4�m˰�n��+�� �;p.��s)�q�RH��X�|�Ry������O�:V�3�Z-t҉�7QF.r��;Y�K��]m�����,v�ʔ��F3��jB]�S̴�I����U�UEI`��$��\����"�0��Y2���|q��ǹ�	��|[�U��V>��w���MVj�9�g���9�V��B��K�,�eL^2���* �������"��Δqm�=�,O��ʴ���4֎��ƌ#�Ř� JNJ�ɖ�qP��|헫��Id��K_�x��
QҼ';��O��`��@�E�/��y?w��<���'Jf3��iu����+����'6�9�sq�[�ۣW�Ŝ�G��(]eAJ̙��``�Z�}[�� K;ڔ�b�$�� �~�Xu9.�\؏_��_����1
�V�=<�?��B�ү�Hp�z_,r�ռ	ae��Lς�k
zr�C�����S�N=��.���.�&�xe��?�`2�3�'�{��9���I������̦,���:�M��k�'d��gj�f��nw�h�1�,ʇ_�ު<��|Z�4x�A�U�ۭ�	�FG̈́�ox~t�CIș૭�ݕJ�PS�:-=r��{����#���8,&�I_o�qE*��X�w��H�9 v��ԟ�[�V�v���%F���CSڜL�b�]��8�#���(���U�5_l��Z����e��26_�J�wi�IU�OMG�^߹�p[����+�H�*�*.��spݭՃ�JfT��q'
�^��k�'e31i�-l]�tk�; ƚ�-L�>�C��� �D.�5�o�ԛ�Ro�5�kz�^��_�����̈��S3�+��F��Lp��%���5��yE@K6�QQ	H���$�*�k�Y����=����w��]==����]��l�JN������R�:S	ϰݎS�r��/��S(`��"��6H{;7;6B�`�?�Y6�j&��u�x��#���^�WM����?��3��L�!�E�}��1DF�\�5DVv�Mb;:���7��m�CX�ԜA�	1��:�i�ޠ:@���tvS��r��u���hs�z�T(���q`Ѝ%}�.�AS;fi�ʦ:[~�<0u�aSm���6>'�Y��(`����Ѣ��e��s�Mi�C[P3���ҖB���S�њ��E�9�[�$	w�&���$�may�ޑ�u+�&�G<�=z'��ٙos��L�J��bv��u˔�n�D�������/Zh���淚ǶuJS��`�TS�h4�n>L��.����Y�%MWD�.f�i�"��1<KTs�ԣV�]*�f��Ⲇ��)΋�sqr�Ԕ���],����c��?ZS�ǃf_�q��#HY��%3�jTk�uJQ�ӪZF�HU��=K�,r��{�u&�x_Z�BƲ
��X��F��=�X����/�s8�%>1����,V��lm��It8�l��_ɞB��Vf���o�!�j䙵s��������9�h�]�j$��B�NmI������C1� tǟ��L*�ӹT#�Kw_#���GxW�aL�m��4�&����
����B����Ӱ�|��H�&�29�2#J��5{kuS����:^f0Bf�槲q�������U�:�����+�rsUG���;�d�o�-����1��R�2�n���c[���f��u�����UG���������K4{��2�`����˅���2Q�{��t�4e�0��
�3�U�-EM�h*
��$h�9	�*�`@cZ�!ukI ͎#}�[s�G$�cI���@c���`�#���_k�p�S�֞"�����z����U�_��=õ�}f��.͋���a���}���ˇ_���e�"��/���]�?Q.]�0���]�A���/?���:+W��=x��7_�Jl��Ee)�j�G�s%틉>�ظ�Uzl<�RF�j�ُ�90o�LO�kʳv*���gD�
r�҄�S&#�֟��~I���5]1�[*leZF���CEO7�?�|Ϋu,8���K���`��!j���c)�:�?Я�Ͷ�+-��̪���j�#�!�Q�؊��9�����{����N�w#�#	�y��ϣ��?�?Fߨk���k03�l���C�xB��|#�Dz~t;�%�]��0<�4>֡w���uHqAW��Y�ӏ�O=:Ǟ�v�bǍh�Qe�6���v�R�~�m:v�Խ�WtW=��l�1Mܫ/�e�f����k8�M�/X��u%�p�aq{��w)�u8����#+�����އ�>B����0�_���K�7:+5-��� �7��-�E� �i1e3'eP�7�t���^���'��?�|��E��l�T�t��又�PȠ����9�}����nm�]��2F`l��T�����["���O௄/����z{��3k��ý��'zc�"������.����ȵ��֪��`R�E�lFo
�!(YE��OϏ_s�:����6I:7�������������D���[��4��Ѵ��	��29����W���@���Ce{l�6�yD{�V�:�p}m;;��	�'.h��Tnz0v����Y�!`�a<�	���#�Z�|~k�(6
�-Nhg�`r��X�[�{
����=.���6g)����ܱ)���-bh��u<%�5I�VKӱ>P�����4܌�f�ֈn�#�W�8
�V�8A�;�N��k�0���v�.��ݣޟ�v
8���؁g�)�����%.寃m��o��`[{����Jl�ˀŸ�aq��fn�N�@�v�@�C������Y�]@qŪ�vw��~�\#I�d��2�_	Hd=+��A6yGK��;�9����W91I�mx�
1�A����ڔ��%�W&�õ�� $8�^�5~���=r�����P��>["�*�ԭ��2%+�+�����ﲊ�v>b�LDB�V�A)����ʫBI�{���Ý�;��H��"�=��{8�y�W��"kI?��~ؔ�5ͭ���/���*���b	�쮶�����ït'�$�e�ж���#YG��'�3�s3b�Y��B1݁��~6[%�
��|����^�`���S���J��{�}��J��)?��dFU5�i�È�`c������vP�����C^ϼҮ�I���Sꞏ.�c��>����e��w !E���c&B�a����S��̙���L�}������
��ˇ��B�����v>���!�<G�7�Y3�M�^K�4��m��Ոn��0l!
�fb,5�oW]��uym���9�f�
[�s���7��خ}�{�rN�U�dDc'C��Q
��x�D=�X�ICj�uw��w�f<��Ȫ������Z�g׿��Z�װY��e%)�ߖF�wĦ�?��y��o���JTI�c�GB����Z�5o�Q�7��ݾ���R��#�[}E�t�6ɐk��{S�i��Ε��]����[�;����qN���`��Z$�H1Ѽ@�#��%������ڊW����
φ�'�B�Y�]-ܪ�Fl����6
�N���옸�js�L����jOd�wz�r���wc�����O,��sp7n?��%�����w�߇�]����9�.�s8�&�ۆ���~{�U�Έw�|�e�]Bֳ#u
���x����LcX��p�SJ/*���@UP�Y�ԣ�=�v�<X�E4�W�������ͮ��:�u�lK�(�N���0�j�v�(��q�Q;fZ.c�nDK��x�Mt|v��v�7��(����j ~�T��T� ~����F���:��5��ś����ʼn۶���&+X���2�i�ie��A���D���ӽ�?��q�lm�q�ܝ�iFz�0���:�$ǵ>ݖ`۵}t��b���[U�m�zx������m�/�{�{N���o�qp^��d<��!g�H���5�8����Cu�MB0W�R���>@��X��k�>X�
5�[��V5����eGE�f�@t-��"����$���s�r���|O;^0e�0��nAx�E�G�����r	s��ߊ�Bzc%F��u�m��cc=*�[3T�{������D%��7�v��^\���Q��0��^�^�L��ߡ��7JAu�V4M,�Ǎl�l5����N���Z����<�Zcn��~W=�k�z^ǟ�c}?;���5�椳��b�F�����!S�eOB�AP�%*�6���ҷ������/�Q���xlmM�{�c+S{4ـd��S��`�ʮ<C`��V��ߕ�Xl]׊�6w�y�:�Me�g�yg#����� X��o=�2Vf�v�U��{�^u��J�(�>���^o�4��[���._�����s%��Y�AOݿK��TS͌�`I�[�j��D��nM��k�=\�����-	*1ʞ��o�X�܈���NS%�#6.ѫ
��ɱ�7䛛�z�ҋ#S��*{�v�#���p2w���^*��Ӝ@�LS�ɣ'R�m��<;&!7�kcb���q�iԪe�H�k.��E�V�^P�|	u}��>P�nx飃�K���&9ʃ�NK��N�1��B���7cȂ:+���\?z~���:uXT��[7.w���*�6��5m)ҷ��W���5���I��Y�A�.���8{XA���@�t]��}’�[�����n�oj�^K{x.�����.3k7�MSG�)��-�z����T�
��ھ3����X������v[�ë��|���*O�C8��s�i؃��kx0<��gBw� v�Rtֱ3�Y�_
����UC��_D��o"3Sc��TMD&��'A�kV�"i�ϰ��7�����9���	���]`s'�!2��*����*mo��|�^�����uၮ����﵉*�'
�2�6���[m=8h�χ\���m���"|\Nؠ@�$~M�c)���I̷$��z��]��LK�ԜMG���q��E�;�u'��>"�D����.���ւ�V�z��5<9��-E,\�>�I	s����}9a-
9�#�MQPȩ�3i4*��`5���L��
H��T��g��{
��u:؎נm΋uZ���)�ۼ,�
)(䈻R4�5�݅ˏ�L�x��q�}��q�[Wk�r+�)��U7\���;�TwOK-��I�ww[�|����֑���eYjc��-"g�����vu�<��*�M��$���%s]�Xyb5��[$����,
�{?�|x��a�b�@�w���%���J5�<3PW@@[nN�9���c�������5 ��<>�����ّ���!bK�%��T��W�e�x�{��l�n��>�dH�8n"�`�#��騼�A�Kz+�x(�{�ξ���9(xA��1�M�*"�
�

�n�p׳�<�֍'��?��u]�:$���b�Cʋ'����]/��hn��Zh�4�E�^��tO-(�l��n2?6˨"�H�Y#iB�<��?��ӣ� 3�Q�<�:_���!��	���CJ�	Q�~�[h.�0���
X�`.�Y�݆�֥���Kξ��Se����s��S�(�'^�h���$,@�_���7Q���z���`�n%��u���I�&�ۀ�	��o���s�:���po����7��y�i�V��m�]"���#P�S_Qgᓃ�����ͺ�kh6{���V�w��v�n ����e]��<�¶��صۂ��٤��9Z�]$�˃X����5a��kد��Ɂ�]�w��g��R�,�3mC�)��f�K�⦘i��`w�W����|E$�q��V�>$y��ßz�u�-�w�=�`>�s�np��c�*S�~�ѝ�ȃ�3�)̭�$�=!Z�9���:{�=L�}"��+Tt^��
��:h�9Q���9�^j��,g(�pY
�}<3{�����%SS���-�+��P/���y�k:i���EՄlj%�
̘��f�Ҳ؈�T��.�۠��H���$�y.�[�6��Q"}#��	d��9�Q(&�Q`�FS#N�
��\<F�F|c����L�Jx� tW[���I+�������`-;��U)e�>
|�6Ya��س0ˆ�(b<r	����gtɬx�p$�}{Fz@�d�p��$+y��mU@�-.�Q5��V,���!d��)��FK*��Mf�����w�F$-�A�<7AfIr)�~�U�`].���O��{4qKG^�/=��A��j�8|�2�M���ċ�(�5�8�孳�:�[�b�@�g�TZz��m�Z�*���������zR8���>���ce״���}Ȋv��O��'�"W��h�s��HH���^�>�*Y�,_�0�[�G��0dkV��|A.�EY@L��GJ��r�d����F����Ӹ�=�xg
v��҆+����K;:��M'��\Qt��z�D"�N���1b�`�c]�Hp)i9?�t��+v])�eQ��}cl�$��7z� "�ڌN��E�i�Z"�=��?Aї\�m���)��G���Ma>�G�y?�:��_���
�/[��|��ed�1f�j������p
e9���-�^� h���S[G�&/3�C�j�Z�SYܒͭ��Y����k�ZzEg8�5a�~Ot\�ˢr,7�(�u��ؖ�E�<Ƅ̖��t3�wuz@0>��ț)s���З���u�-�]���D��b@����m-m�4z!#�mF�ٵ�Ә�N�Yf�W�����C�]���7:�V�o$?�p���%��|�Z�o8�&#RY
<��		���[�{��+",D�撸�&ǚYS�W�gs��\4�"8��L���D�X��eg(ã��m���N-��Zguj�~a�4��T7�[55jB�D��
�eHV���j-��5�&X-ÿX�h畱�`����?g�s���'�2�e��!�4!�Ϗo&"4��g�CYk�)7߾!w+4҅X��	����@7��*�u �͖)�/�w���t;�z�r�!��
��w�#�<�@�Z��	3��D��`Z*��%e�2f���51���o�g�����	��\��V���T٦�[D�`���Oi��"���D�+��(�l��|#Z���q�V���%3�=CR�并uV\_��S�(E�t��X�4��苹���i�o�ß"������
�&o [�D�9�ߡ=+h�U�z��99P>�����B�����3q��ï����������;�#O��`��ǰ0g��Ng�
��o+y��d+b�&��y>�b!�~T�2���&5,��7o/�ʋ�>��K$�7?=}�8�/B�7���H!��e�)rψ���v���|�����}pB�Oh���dF��N��,4��R�@��Jfh���!f9�8�ܸ���\������q���~\�K���6�i��`D/H����k|�"G<����྄Q�(3���E�,�=�n3(�6}�y��ŋ����ZE��jl.1�q�N/=����$(�	<��E��t���G�C�i�I��>ts���_�۝�`�j��F;�r��wS�@��z	N�3��* /~a�v����zw��
���7�'p�W!�cH*�l�Vo��HH��_�v�����̬����j?�ۉ\�F=v:|c�Qƍ�oq7�-�I������J%�b�ڹdϜf�Y��O�A��8\2-�lA��k6M�MUzF�F�igr��R�p���x}F�@ӥ�ߜ}�y���Rq�5��o�巫K+k�#��r�R�39jG)��K\��yW�Z"#ç�ݩ��_�1V�y&���_����o���X|
���^�<�֩4�~��~���!��U���.3Q�� "4Ab��l8�(E�H��~��%)8������j�"�����z��
��8c5I��e̡lmE�:0���.+���R]n'n����J2�]���<��)j�*�*fs4�!�8�O1�憐�#�G�H����+`�i?�	gT��hgEP6%�eJm���2�S�c:�by�	f(�~\pC�I��
�-�`�p'y?���ە}¼\ߥ9Z��. �[`���J3��Y͝&9I�'�C�(%�cȤ��:�ebٮ��1�{�D^���nӟ��n�@o琓�mQ��{�k7�~�t#߷�"����ݝ$�>4�l���6ǻ��x�ƀp����j�F�1
���G*���Ҿ�*�ޚR�\'Ρ�ſ�����������͆����h�n��4��&�^��C�A�ӿ5s:Y���b_h�^�|[��:���c3F0��Y__�Qq��$�@��B�_DO~�2�j���2�K�m1d��_�h6�,8��`v[�y�I�t�R6��ܟt����mK�E��.\�-�Y�ًv�w;�r)qr���r��K�K������L��,wp�ұ�#O�I\��t[��Đ�1��sA�Ē~��p��(�ٯ���!Z�+�r*<��s�/������;[3'ջ�z�[�G�l���X��<
���j3j�W���Zс�v�.	�O����b��V�X��Q�$6߳X����y?���:��qn�b0�2H�9�V�%�e3�I�fUV�ɮs�5쀎뜧�=�X�o��O��.N�=v,��^3�7=�t5ޭ8O���&��V����?Д��Bt`�iQ|̌��ųL!ۛ���#YE|ͽ˪��I�������k]���5q(�~�6;��"�-�6�/U6z?�k׭/����%�`}�˕���h�^Φ��!ܮlI�W%��VA�݌���u���;��{���M�	��^e�O*D#��������n��ܛ�v�
�QԢ{�C�^a����j�G���p�{�2�T��0w]�&�B�#7~��C�G-��@��KJ��}�&�Y��$� K�@��>�ޔEΘ�\��%xK�bX>9?�f��(�.3���t7=O��Oww8j�u�Aϖ0y����x��Sv䔩�A���F��F(˧��M>X����ɥU��V��Vf->5Ɣb���$$F�t��^����\����W�*@q�H�Oi$�)yU^��1d]�zi-�D�NZ��d4����V5vI�&��]R�u�x�a�N`>���l�\�;=	���X`�y}�]�k�;���y��F�����D	˥B(�R�;�G�&l?P-����5|H?Ѧ��"L'Ql���h1�Cդ/&��p�ڛ��"��۬n���1��;�����
6�ws[���p���y��`�M#�����k���hy��s�f#����%�	�����ȺP)ŀ+�}���_��݈��ٯ��Fm�OԩM�%�7��I�g,�b�i&*)8�R�WM�����aS�֘zT�������DI��+�r��e+�d𢍼m(��gՌ[�:3�)ߑOy3��cS��i�}[6����Z����Y���ΔKľ����'W@:�Ls��M-����g�jrg
RW���dz�G]x�^�P��/�y}�7��P��؜�af1~���㊈�g#�D1�T����,�ɦ�L�FT5��at�36�M<1w�
�.�i��H���ұ�lp��e����bS-�q�֓W���l2�!�I�Ȓ�jͯQ����N��{��o� l���b�j�Ɉ4�O�m��7ܬ%��V�D(.ķ�8�u��(��q%ݱG���Dw�Ur��g6#�Ȉ3r�wfΖ���o$FCWӛ4����u{�p%�t}[�(O	=z�GO�VA�"�����S�D'��kU����[�%�֏�n��B��VSTkn�@iV7��+ E��.���4Bd��0��eɈ�^Z[�S��*!W
����u�5qc̶):¶�*�u��&�~��!
�:Kd��¤9/��3djz;���$��J�u���B�JU�'�s���,F�H\�N�RI$A�� �7�{�b6�s�Xlju�o�EO쵷����\��"Y����3�|�Ej��G�\0�$N��dI�]�}�?�j�*\�fc�(�f��������y�)#��i����񴿳������c�V4�MZ1I�j'��nF/(œ����ρ�����$8j����&�t��d�z�� -�%&ڦe�@�Aa��#���l}��el��A����Vn��ߞl�.U��Xօp/��
Z5�|�,�e���mt�J�.��]��&����5	�ڈ��[�H{���{0*P�:T��HRs��i���揳>�\`��f���eR���aNx��F��ڹ�>�nzr�9
��w�Ͽ���2�����%���Բ����ݳ����v����@���ti���Ҝ'���i���M5/:��.��z5�jL��/���ǖwΞ:@lLHs�^,H6�&@��-}X^�n��-a��6��m��Jn9�
�Ta��\�L���'<r0��x�3�hfo�a��l���Ї_L{�c�;-�Z���u>�8$[S���`��ʇ'J;2Ô�k��s)
��(������+،Pۢ�׸�Q�&��,��6͹�P�s��l_�H�!2�����)�
2�X�����mi�}��6o�|!p��������2�t0�ARw��3wN�O5]�1�JNu"�x��z8����+��9B6ܬ'�p��ö�fS��~_2���%ʶ��@���U5e�fSV����ޯ)�9v,�j6϶��?f�vv�Ə���䇩B�G?�-��ex�+�4}�y��'0�f\�7v�+�߱�\cO_E�̺2�rT��Ῑ�����q��{L�m���o��j�Uy���J��,(т �QS�0����g7��,��I-�0�+�r9��E�s��{k�~�n����0n[P�Ԉ6�-P���t���9�a�B����2��Eܪ��ā�ĸ�oi1:|Z�-�M�_�|�����(]K���%��kY���6��fh�!Ww{�}�g��]z�h	�Y�
�>>;���k�T��0�' )�nנCp+�e���;��²,c��
`�G��M��J�8lݾvl�΅N�+����)K�������A�2��{������=Mhٙ[\A���~���!X�6W%�"�qɦ����f A�UR�I���1M>�x~�P��J��l02��L�}4ic&9i�?zJ�DUɈ��n�Gfl�Q�8�Pa�ۂ�(i�RE��ӹٚ�K�p(-��y�G�cocv�Q[Y-"���z�*��s��T�C��$�j^��&�X-�DQ��
>�n����%��|ӕ���:�>�O&c��n�c���ԫ�^�0ɣj|�ļW�0	�։���OC���WЌwd�HP^@�q�<�0Is��m�m�����a����JJ��u�[e�w� yW�u�2�Q�)-�N0H9*�!�ذϪYqg��ҍ�7����\�f��R�4�[b��O�HG�����
���x��uV}N@꘾B�� ;���1Nӡ�ҷ��U�=o��hL���o36�a�ĀK�7���#�Mh�ڱ�`$1��|��ݾ�{Nv�>���*ۓ��� w�9}ǭ���̨�L���*��_��t~eֶ�siy�H������Z�j9��3����MɊy��LYP C-�w�2� #��` �����aw�7(q�03K,+���!���C��5��/�.���wJL���S��&��$���
�ں�rp�H��d�#��r�q[E�����'�9fp6��2��lF�	4\z�C�м��y��猫���3�7��B�H��I�d�����o�W�S/��,0f�RM!�� ��N/m�e�D(���"N;_�k1OeO����d~���P!Ӈ_��]I�|.P°ORy	Mj��]�-d��<�<�\q�UnvM������2e�Ӣ�E79�Ty?%5��1��a���/Ӝd�����RI�m������?����z]�!���)[*/c����ئdQ��i�^>Rd.Juw3�\֢�LM�f�%/���K���7X�+QCo9���?n�Hy�}�1E�4�*�ʞ`	�O7��-����xz���z��,d�lI���	Tpɐ���\`�$�X|�T
�R�t�3�
��D!Zz�6�ʒ0A��'{&��J�iU�
��Šӥ�Y��8T�W<�P��vֽ��/��5��5E�����F�<���Y�@;�ZA`p���5��O^�b�$_��(aS���ĜZw1Of�3���GŜ
��V_����P�wG��;^1�B,���NT�z������?k������u��99|Й�@8�~�F�ޯ_ҹ�$����) P�`f��?L�����S�Ti�34�
�C3�r3��r�tD�r�e<��e<?8:Z�����:���`y�
`�J�UnNއ?��Q��R��%���9$��]�gpy�K4�0GH��_\Ϥ����A�c�į�Q,9�%X�$�E����J��b��`a*V�*3�{�,C�t��LTw����+�6�5��y��h��l��ï�tmU��f/	��dhP�&:cI|
���k�4�K#��gOjIH��Yȫ+y�p��&W,��힆�x_�}�����|f) �*�O>���3�T�$Eyl���k�q��ɮ��4���F��z��Gp���H���"�O��v�u�K�ߙh�5��Ƕ��I�����5�c��u����8�K��c�� �������E�Ab�tC.#����]�.d����',���SI���A�W~p�\I���Z��ד���L��!F�<<;:�Ot���'[����[P��+������ϣ�|���/Z����/:�e�S7�/0�.rf�����Mэ,����ߢ!�Q�M�g���� �3�
��
�w�Zy��g^���������y��v�q9HR=�h��_�H;9���$�6�>Q����<;Z.�;��M'z���X8��O]��'6�J����}*㪑�W�cY��Ⱦw��V��D������W�]�Ū�T��^�?��l�.<��P-�d�.�Ɠ�
�Z�N��O�����/k�O��J`m�ґ��=D��g𪉨L����i\Z,-6�km��_ڎ� �As�af��$N�.lFK��=�/��Y����9"�h_��-k|��VB��`t�Ð���n5����j=����w����]н�;�䠎
�qj���ʡ�©#a�6x�K@U?���9I��"�{�N���P�d@�~��]z0�A��a�
I�>k���'��9~�e�2�~J��9`|ya���"���_�w6Ɵ:��
t�m�4��O"5Nr	m4��x�~���#0����Ո�h���f�6���ʘk�s�W��Bkrz�a���i�1����f}L	҂�<�V0/�	�PU�o�R&��:
�/����)f��y��~S��
5g^��l682�4�j�1��H����'���:v�kwˁ�	����Rj��V#���_)5-i	k�#�/�P����|5[f�R��T�E�PU�Z�ɰ�咓����J<}�Fj��[��k�Ƨ�rr��k�C��pU��`C3X)�Kmp���,��'>�ʖ8L8�ᷢ\͕{4㼙���.V�:-5^�8Gwz�|�<���c�4dx�@���2�'�d�����T�����c�P���D@����4Q�"X�s����}��[�˳����%jWP�f��{a����ɫ�כS5��'���{��i]�Wq��f��*9����w�	C���Dq�,��j��[�dZR����-\��u��N_p6�}��Ja9깼� ʻb6�!�R(�X}�{�1sG�U�*w�\_�K^-����:�^�mR~�pC&۽{���1�~�|�'tk�+=F�͖pK���/ПӪ�~_�GC�^��<�(�6��1����?�6����Ȑ�B4F��!Jh2��1	�í=:АGª�5���r�i�X�|D����Xb_�k%��wDMa�Sh��O�:M.".�jtأU�-�4吸���tD��Bݴk��0���o�>
��R�7�ec,A;�W��0����O0��xLX���9H�P�rU�;)����B�v�/Jbs��C��Q�>��Tՠ�d@�{�̉�2�$�G�"ۚ�Tͥ���Eit���Uw��'����ܰ��Q۠�L\�*
��(�=2Ҫ��ݞ��9��w�#����H$#��J����^�9�E��׮$TCǬ�%e���li>���`�y��V��F,t���$>2Gqdd�̳�c����σ��κ�u���]�Y1�u������)�3eMJ:�w0��ӣy�����0@�x�9��^�T��W�/�}��_��m�/a&�Xn+��l�w�X��S=�Cw�j��zB�s�`
`�y�D��ь��4k�}��m:{���mV(��G��~��w�~�1U!P
�q6�
i�P�*[h�{x0.�fg<?��{�k� ���bi=��������gAH0���X�v��{�h���l�dk��ᇀ�����=���9;Ug$��o�ۙ4Y0�f6���3�v��&�>�Cφ��M���|��b�&��G��>A��r@�UE\M�W��$���RK��:��)���"֞�ҳ�,�B�O
����OU�Pڷ�Z�u�):+���+cլ�-����)�'�QC��ܞa%��ū�b`�W�����[н$-�S-�\�%�:�}>�lZ��́���\=ab��S`Q�z���0$�Ԟ/6�%^������r�Ⱥ���$H��������q��d�d��
�f�QI0#��
v�*v�/��\�4@�Q��L�4�ֺqH5��'�ߪ�T�"�6<���q÷�ry"�x�΄�L���"(�v��Tj�u�Ntb��G-��j�}��<$�Ұ��UpDn��T�C%�����{-!U~�s�R�D�{«��+�����=���ϔmaq�-�LS�-�N�Y\0�0��m�<�B3٫�pc�?�-��j�k3��蒶j{z3�~�1�c��i���Q�砛	<g�)�M{��'i�_Vr���t�z���6�?��
��m�]Z��g�V�����g����f�g�E�P!t��1;����t{ջr��ó�Q��D�>���i��Aw%z$j؃��:���u�w�DH���)�A0��1�g���H�6�ꈏ���$�rQ�䡿(v�pE���G�;oV�+��/�Rj�(z~�N(�z9���r��|d���^��d*�� �e8���d�{��3�V{�L�n����Wk��U�Qi.bU"�r^hI*�eZ�����bn���U(�����8I��19O���(�v+m�O�l0�Ʒz{��ч��k����>X�:]�꓾~�FL��͛��$x��{�%
h��X��0�L��*�ך��A�(X,L�I B��1���6<9�*�XooQ]�0r*�/.o�bu}cS�7�ǯ�jv�E)9��9�ԥvS�S�w��qI[|�,@*:'Qy�j8�דNW������)����B��Q��lE�Q����ĝ�6�����B݆��6��M-"�F7K�N;��Z_�+Gq%�*���d
WMG�Uj�x�?UD�D6�
&���of�e<ktT��Ư�"Z��~��"��_Pc������q��}�Ax�i�����Ÿ���H�m$t�n�l�T���)˿�8�<���XUO�{�B@$dx�B�ߛ=�U��	м�◽��V.��Uv�.�E�o3��qu��Re�5xh}`��_q�K;���蹜s���&�u��������V�����/'��-@Z�Pk�Q�!��A� ����m;]����>�k'�Y۫U�e���bk���7�?օ-ވ�Y\�\���ޟ=�3an��7�z�^l��N�7�P���y�؉�6�����vu{:C]?��/�S󾹪6XG�&޷��PV�*�gs��9`�ȩ��]�ƴ���*��BUa	�|����n;���3��4b�!�+pW�FR���*��5	F_4v9�[ɭJ��F�b{20,h���R��7�����8Y�'|�	�u�ZiƘ���﫫�4e6TO	x	��%�iN,1�P3�\�ӭD�"]s��%����!>A<�pV\Hlg�I��N��ݫ���0*1?��Xr,#db���vU�*C�*�\"�FR]d �y��/yV�a��ШE
��ۙ���>��_c�ji��ߕx	R"$_^7w�U=�S�Oդ����2�h_�5�og�PT��N,�_6׼��UYk�k)�|sk�)�ǜ����_�ܵ=�F��]x:!+!��H��C&�M���:u�0Χ�a/ͦ�hȉ������l�5F�7�݉�;�I-Us�/W	��xs~�)ִ�>f<Bs�Ƥ���'
����Y-Ub�3ֿ����ʧ�|tw tV���w��_����-��Ue�ak@��J&��]���O����Dߧ���W��Q���@����_��J�)�����F�TC�v�s�:�U�~)����O�Z:n��:h)�kSo+�q_�4�KB�P��#R�C-h��l��6{6�L����wE*a�V�5j�7�2u�/ޜ�	�T�@�vO�t	���I��y	
�K+:e
Z6�S�b�ݾ[F��������꩗��p��g�y�_�?�?%��A},0�e�fE��'����Kgy��������I��G[=D~IZA>�pO�n�rJ(��%q�R<�l;�l�#�P���-���$�Z��R�.L
�L�3����h� ��(�[��͜���,� �8)��"��bޙgifύi^VfD��A,dɳN!ƹ
��J�(-��d���Ϧ����[J|]4�6�G�+�K˟�/��?Ҁ�Ӏ53�y �iJR�Q<{5��������ó6���}ѷgt����|���6�{�b�R��ҦBZ��^��-]?�0��`K*�	�����t�,Hw�������D���Y|����]A��+=��2�$��z�RO��	
���G��n�e����?cI	3�MN]K��S�*�ܐ��?��.�r�zD�������3��U
|�����Jh�����j�6cP�C���ҿ��q���1��aS�E}_�5��W����1���a���ގ�1`C�#P��E^`�E����<#*ЀX�b�^�'©cL�,m!C�a@�"R#9��'m����L͟���Z}f3��##�›���e�F�lK�pt��^�I����1ȑ��s#���|���H��@.?�
�qYN�0�@�*�Xl����)C��2�*_rf(�'�,�5��)�HU���e`jV\0��N ��CO�i"
c��MW�ٕA=�=�M�RwT��/���4_N�φ���\`�w�ґN��?�n�X�홱�Y�C�τCYye�AE��̲2c̚���K����,X��b6f�?�Z�NC{9	]d=�]��ļ��6��<-9�1�UV.�x_��9�h��<�Q�Q��E�8��#as���ߘ��f.=��,N�&��J�DO��@���Q5�%G;��}G����R�دi���{����@�ϩ�2�J�o�V��D)o9�8Xm��z]!�т��A�Z.�"�Պ<}�.a� ,��o,4�y#R��t�ӟö����[ʗ:kJ���:�0ۿ�L��}ܒ�g�+��*�ϰԎ�;���Iq4p�n�:"՜݁��p���=;ޏ%S���v����{��y��������;���î���lf��gӌ���#���Y��a�:x��DlcF\��~[
CU���;ļߊ?#�ܾ#@w9#�`�2��@�1D��#T��J_�m�:�v<U��;�`�m)8�bz>�W
���@�JG5$qbP���V�\��,�p�H��ūY�('~n��X��Q��ٿ���_�썟�_aO���ZOЛ��U��9�X�V��Ġ�(�҆��l�2Y� �z�dk�KUq8�
!�
�͞�Jj��T�G;}������d�&�w4Nhw,�_ƨ̣ׅv����k�#I���-W�f��me�[
���|�(�vk;���z����k7��&߬e����ۮ5�	V5k�GYPYS���h�CW|KAҬ�'����H\��.��ߺ��C��v��gB�{��؇K8�V�`����,!f�Quу!෫��亵�`����{�]紻���UK�\>�\ދ��uk�3D���9}u��:Ye�A�m(�	���F^=���D���n��T���Y:�U�,f��!�$�
g�����J��rϰ�
,RO,�[`͖���a�B�c�>�~��z�����������H��1�v��}z
Z	�l�E���{r-Yg4��C;��6�a_c�m�+��cc�D�lum�
�X��y��yL���_����	���T���^����O�(���K��5֓�8�~1x]���n���z�I)�-%����X��=�Xg�_Y8���&F�A����V���3»݋�a*d�L��1!yjȖ6�k�5�>���0\�b��WZ�+n���ݿO���fih"����axW
��q��Yp�������G>�Y("������t�v�\�����V�����������,�(��s�h�*��
�[x`�l5��|%l��n�;ϚI�C���&���ho�clk�<˚��p�t\��z/T;�CW�ݣ ���n�Nh��3��5 VD���t
_���g�2"@�M]o<�?j�i�Y��ծ�Ʋ��˘�ͨ���u����#&H�Yc4S�E��X:b=hc���>օĘ,��ċ��^���i*C��g}`6�Դ���I��X��U��H��↤�+�:���,<�
YڨRB���-���h���XT��D�|���k(Ѱf�
���kf `Hs�e�np���t��Nf^����R�vɜ�|�TX��H̠��%���4RW�rĀ�XkU��=u4Y��j{M�*���T4?��%a��r�T#j�mD,'�9&VIe���k�]D�U�"R����>��dk������:Dc�u���֚_{]���2���8s��Z���y��o������SxR��T���K 1���"���˙�b�I�TS�CH�gA*G�����Mu��}���<$ؚG
�[t(����Z�/[��o�ݾHܒ`X~"T�+�s��]lN��H"l `�V�Ufv���?pn���yf<�wr����@Qq���6�G�S�٠�5B��nەNu3$!)W�b�H�z���k

iQ�f�rN��	�l7"��J�u��CBa��fxW�W�?i��Ò�5�Aq[T����R6�"�l��H�پoʛfqV�c,(�-ZD�UI�
B��4��{E�L��Zba���#%�Mq�S��]����i��$}l�}ҹ�'�-k�kl�E�hZ����x�5�8�ԙ��5̤o2ѽ��\G9�� g��)+ϭg��
�Կ����x3���'�����"��Ϛ'���̓�펳a�4�{ ��˓��Scߓ� �:�Q�!�����{'�C{�5vb�^ح
H��E}?R��!�p�3B�Y-(/q����%��Z= �ZNo���q5�[�7�/SޟlFuH<?��F'z��B�;.�r]M�yp{
PF��
�7bE�W,W~�h��z5�AkZ���tU���b6�|c�w[�D�
p�P�����X���e;����i�2瞤rː��,�b��<�_'�F��܌�Q����Y�����Z��T��3^��������!؈�޲�_�o	�cm�W���*��(�5��ft;�o�>Z7M��^
:N���UWOo���S#@6G�>��I
��P/a�5��-�\���ӳ�pl�*�J볍�Q֞�F�n�01m�w^��m@X��X�6QPM�D$�5��F�>:�:.?��l�yt?�i,���Z �L{�{��͚<ބ��]U
(���3s.4?�;�^�V����GX%�Ύ�c�L�g�cS$�L�vr~���H�ŗf�=5��ӫb����M�3Î��7̴WrP�|��pR�T��_�}L�D���,�t-��8/p��n5��-M�:��Q���
�rx�7������(jmm���#�qUn\â��n����=�j[�.��o���$ߞ쏿f� ?�t�Y8�J�#:{"!"Ȧ$��1��LiI1߈��@�_��,�3S!�O{o0��C{{�C-�Z�m����_
a�mV�U�O�$�Ig_��!���.�D�&XfV:����IW�r�E���M':V���兒K�����_Em���Vu����E�1S�_���pim��E-7"K�R	�	�e��<��9.�b�T�PJ�;��`��u	ޖN��	"C���Aya/�,[*ڀ��ʩ9:zӨ�8���RdZ�v��\�{p_�9�������˄����+�&������ft!� �6��L)��8]�ú�6Q�M��
�����\�}�؛�Ϳ�9Att�U�e&���:;��Q/��01�^�]�=i�������-w[�
����{�-�E�"(��!��D[�7�ڵ�\沼B>p�x�n�6��=��q�ue�jo"YXU��Y�U׮�7��_��z|������|�s�>�B�Gr_�.i>Qr��ƍ�-saV�!�"��8���I��C{��+!��'-��6c���y��>��(�7����͛�J5������6k�o5DR�U�ޠ�sn����L
Y�=S��F�?|Iu/oZ��V�;foa��9��@�~,[iϫ�9Ӄ��i����7@����F��<DD@*%0�Z�1����;�^���cF���?�t͢��*��qƮo����}�D,���{b?6ֱs�m?J�B7O��z{�9���R�e6��Ќ��bAV�@T.�R�;�'��]���=k଴������.��Q��\��@]�/�~z*��O�`{L)��6>���b)f�e��㪴��+���5 ���L�Eh�uV��-|���/�JW)S,�k*Os����m�>�ߝ7�����m�6�;j���%n���J�=L�a2o7lj��=P�-���u�U�\�=D�.vE�$���F��qX��F����Ff�~پ!���U�)��_�z�Վ�H�]O�����^)�b-��(؟_I�p�f��9^#��{��J�� ��s���Ѳ�7&�WM��z���4������cŷ�T�k�4��jq��/����y4����Y��V���>���*V�6����A��4aYӾ'�z�>�e7m��3��1�{;CN�^��P���n��bg�t��N�샃�(�x܇I�˕Ҫ���m��/�ϰ��v�̰���;����U��h�1�<1h�j�d�w����K?�M��d�P��y���ϣ:���C����A�4��H/�sGͬ���
�R�'h:�-_F�>!�p�o���V<0����\ݳ!AS����=�C�x��V��hT"��V~��8S������-m�SŘ�2������+`W�ݕ��t�A6�gŶ�tA�}�+b_�ݛ������+��[O�Kb���]�k�ؼq�)q��9n�3��8:2��a��iM+�5����fEe	�]��㭅�3'�a�M[(ݔi�ˎX��gv�7�=k�5>D��f����!�/��/^�cN��ɳ)MR�B��&J:s�.w[�ӈ������b�j�NM�bS��n�K�2��K.yb��<Vm54'%�O���Zf
JK
5"��wo[2���S9^�D�oT�F�<���ɊT�u�q�h����J�i��]�YȘ

Gdp��l�΂����tD�n?����oV��<�^�*v+���QGG���`ݻZ��jm��畽���/��d��ѿ�ř��~~�r�~w<;kV��P�ۭ=��4�=rS��Y>�C4\�Du��:i�u���Ǘ�s��Q���kw'�׆�S�7S�@GF���]@jg3\������g'��$��Dg(M�xQ�:f��%P)
CjR�W}Ǵb�"���_��Gux�{J�cT��Vٻ�‡KmY=t�
W�[7=b����Pu�WSd��w�:9�`��"�_��Q;^K��'s'�fp��q������C�Sǫ���,RXYEo������ڶf�����\�:_z�m9]FT|pШ8��*�5��<��ZW��yTu����k��w�M��ֳ��ȣFT^�V$������hD]{���}���Ɔ�W���&G-�kV������ZD������.a4���Hyۃ����H��6N��˛xM�?�Nx�z�R"Q��i��
b�gG�`�'�cޙ�w��kq	y�o���DܑV�
��[���$����(c��dF��`���V�c�����?�$[���?Ym��7����ר�j40��'_Pq� WNa�7��ʂa���K���	�NVR�nSs���0YaqSp~C��	�J��%���铮4ᢡ�F.��dO�[��wj�^7���'��Բp7�O1�!l�9�2Y��XZ|��W�-��h[-��rZ9?~��?~I�r�Ɇ'�wI����MShD�vʗr�ȝQ.�N8��|>�p���¯r/�W]MW<�V�����;��g��S�7��U<�^��F��b�1 ��C��LAO'�7_�x�	��<ܯkL������ӂF�l�X�3�9DŽ��ʬ������7Ѝ@�=���Z�辭�W�y�wT�#Qd>�����Yq}��H�.y�
K�FF$�9t��~�*�fZ���
����g��K�$֘���f]P�{sA�X�-Uv k:eJj��o_�hF��}��C(R����$�d�Z����ࢢ�~e�S%tŗq���F�Y~9aq����cc� 4�R!6Dr��s��_�G�U_�]K������%j_�t�R��G�w7`��3:����j�.�M�^�	p�
g6d��M�kT�UF�8n�V��3��`p�&��~�El	~5C��rg�X,֐�7:qϴW�z|4�H�8�䚠�%9`�,��9N��Q,��&ԐtM���(��-�r�ˌ��l��@�m��H䬳�4�Q{+�2�$�`#cʘ	f��z6�&_��$ް�ɱ ~�{���wy�~6����ش5�=	��բ|��f�ǂ8F�/���y��Z�$їx�Z��̘��/��3`��T=ِQ&�F_r�~�|j�����St�q9����Lڵ�����}��L-�0�j�r��hA��ͣ�}s�S���[j���E�ЕiP{l/���ᮖ�ܙO����a+<�_���x���m:k��:��

},*�f?D7��fqf��A��N�Ք?��浇����(T�L����&
�[:���5�ŕ�_=��
g@���_`��O���;�[J��YvD�NG����F��UG1�TD��qR���E���՚	�Y�l�Zߕ��2�'T��6j�+�'߉�Л,�����F̯I
M���m� w��F��#�ڜ���f���O��[_ �m&;���mij�Se3z�u[�$�)����*w32�	U�5�\gY�;l�J34?@)����U�ceN�s0SW�ϋU�[���S;U����y�k���Z��D�:l8��Ki�g?O�k���g��3��A��
e����/��rɈsd'_�+^�w/�/���Y��!�'�H�-c6*�<'�ß�*�Ec�ev��V���-xd��k�Y\.���P)V"t���fPe��f�����Siq�"/��B��e��ߌ�:��a<\�O�����a2su&�zL��ÿ�k��i<��M�E�uW��
ӝ�y��#��FtP��1k����I��i���h|�4�c�'���ƶ�ԑ�U��7��[h��t��ʬ�Kg��m76i���}���4ljyN�ҡ��5_��l��3�S�m��"���e0���'fm?���Zf�vد�6��M<����0�]���F�ui?t`�f��wϧϪ����d>�eN��tͥ������Ü�A��V�,d�H	=��4�!de¿
��)��v�J�W-���L��z��jE>�����$�d��`�%�2?7�5��̫S���I����Y�59���jT��d��8��%��k���WfK*���oV:�QL��[r�8=��� �&ũ�4
���f5r��K�p��:B6V>ͧ�ODt�-i�7��HN��]ɳ� S���C�Ў�~y�݉شb4OeV��F��[��LFcT��	�+��	�H�%��Ό����#x3��αs�4����ˣ۴��Һ#*@J���t�.-�d~if��Jѣ��1�[�d�ӆ�=�*/9�U��/�/�f�|;�-J缔�1Q$?�غ.(
�UE���B�	?Q"��uCd6^�Oi�, b�O�ҫ�	�,���j�8?jMs���X"7��B��{�-��-���4�
~KT�ݼ=E�
,�-�#�E��eᘚp��/Y:�6KIf�'�ϩ�'4M��t�8�&���s��&CС���Zߚ�~y��J]F�i��xL�������W�7� ���
��V�Wi�n��p����,c����j��-�^P�q�<c�7�Į
x:�����T[��{��{�E|+M��B��̪��m���t�	kȭ�6J��h�T�ö�z��#6?��+����e���v�D�nv�迏.��qo�f�g�3�v���f��E�C�5-f7�qh��=6�[���G�̉-�9�Q�ɇ/�zش�>�k7i#j\�mP��|���m<[�ϣ��í-3��0%U���+p�*ʫxV@��.����M~��س��V�Փ�����a]\8�dgf��ngm>�+��u̎����ɬ{������p�[��R��e�|'��ȥ<�9;�)J�t��胈޻R5���y��#�[d5.8���4.nU��9B��<^�t�L��ȉ�;)�r>����X�rQ�,&F.3�;���T���r��5�^�D��-�'�h#�w�́������u�Dzϩc�y3��@vApi�9�����)���Oo- �C�I��r���X)��P����h7#SP��\mL�i�kƸ����	�^�2Gu��ְ��W��eW��?�a�0�u��
�	�6����[N49ZB�?�{s���jx���>����	�������v��I�ʢwŧ�4�T�-��]�����[�:�ƙ���K���v��׼�B`
�m-�~��Wg�|��a�Z+��dyY3�y��q��U`.���x�W�J^�s>C˔@T�s�E���f|���̅�☜�ף%���5++l�n��I��V��,��{E�O�=
+����L�Z�����U�u�	�[6E�W\�<���C�d%�
5G�;�	��كo�;roq�h���R+������aER��@q��ss�}��3*G{NϪ�U�$-������ʑ>�+�8��B�1V�fQ�X�5Z2I��*�G�g��M}Uy�S��r�ޔ,��y���:rFD�}&��
���
�����ezU0Jɝѕ�Gg�ȩ,}H�2;`V�
4�6c��R��1��vk�L�[����2��}t���V�>A��z�3��g5�#�m#P����)�KdR�M�{ f�
�cK:�a�r�{�PhV��9���n���_]���^�|ǐ��^*8pN*�
��!1
�vSё�w�����6�_�B1������=�
�e�p�<�M��غ��?~i�N(:낧6_K�u��fʆ�Nc�Նd�kH�9�]�2Z��v�4�]�ss��>��b�O�N�&�o�N�B��5xN�k� @obD����;��&�Ɣײ�j
�%�xL=nh !��E絊���fO���.[���2��:����ӓ����u~_�`������p�,�2�@��b0ᕊ_i�iS���z±U�7
W-(�1ʗ
s��Wq�"J��!/ʔp:t[����;#�t�JVde�ل�ȧ�3P㎉��
5��l����Î�:0C���ͧ�
�b�.qF�3kH��m�P���g����2&_�����*��Y�����tЌ)V90,�em�eS�J��:�\�,��mG_]��sL�N�y�&�A�7$z_Д.K]d����'2���t��2��Vo]��(!j�״*��?:\��������Io;G�������.��h���F�U�c��E��w��̏o�(��RX����<:�� /�و�����A��U�T~B."@G��>"�l).�A�=.���Ut/��O�WwpD�7�+�Q%"j�OV�G�9��A>,_G��_oɂ�#`�8p拒 ��L��'��ʂ=���ˌU��H���ï�&����Z\�;�[mF�Am�}�g�p��E�����w#�����m�7��z�����ݦ{l�No6�Q�l��܊�ҧ\b���VO>�aF���Zh;����њN�6ݜ��ĺ�s��yl�P�w�Nw�@Kھ���5��}�pI�����x�����L�tl�69���?s�=$K"���5Xa͑~�ʿ�V���츽hnv�����f��P.z��4�i(��!���}�X-?���2ǘn����	=ֻ�՗�f<������I��+}����O�P�myz�S޷�7ŝ�����
�)�W=c�Œ!_4I�����ti.�m%��ۋ�cR�Y�_��p|ѹ
y���m�Bǿq#��S���ӣz��#T�0��
)�[�]e|�JLg��(s�$��"C�T2�S��c���s)�?�'+��[f*�kS�6������s�z�9�!!I���Ή�`i���H?7^j�
���B?��v+��:�X�J�b�(OƏ(p�Qƽ�t�����M�@y�Foy
��5C�3�F��ⲭ��ƕg��K)i�M,�L�N��\��3��(^n�`�2����������u�ި�:)�
��i�`g���ͥ
�d�3ڟ���*Z��oμ1�.��Cw���lv`H+է����dȽ�!R�$vq�T���A�AʯWk�Ӭ�ڕ��SZv�1,��E��1�i*Piè���7��{9�kE��
e�2K�4����xj�ٔ���i?�r�X^.g-DRu��r�o���E4�O�㜶�JsJtmOͮ�cz�O恞˿CW8�a��$��s�Ċ:�x���7����3���c�i7��0���`v��M�D.%G��UzG��`!�5+�X����_]�~���밾��I�����m��_�9^����2��K=K(
dn�d1�U��k"	:}1��8}am�aZԆz�����/��L�I��h4�Ƃ�e�2ˌ~BC�N�3@��� BUQ�x��87��]����D���W���d6�����ڜ��������9�g庭q���GN����~��A+ x�J�7�.|h��v�E4��}:�z�1���-~�.�$T��<�#�$�	ƃ�N��S�<�)"]�Kr-%p7��u��Y�Ja�u��	��� Ь��Ǔ�]��9�”��e�H�\��@�>���@����d�i��Kn�
�͕/����w(&P��=~�m;H\e���3^��2����7�'���.�;K�[�QE��.k�џ׈F�a��*���pW�]�GG�}Z[[n��#��jy�3zu�m�A�N}�u	Ls^����)gˆ�'�]�:�ڱƭ�P�K��p7NJ&Kc>�A%6�F�ջ'������4��J����n��l��~���T�~�)ճ��5�r�0��KF��R_V��ϙ��Z��p�����%{�ia��0�]nf��ƍ���)���ݫ�+�gG%��(��iB�{g2��H�*����ydY�'
C��U����$�� Y�V
�!��$^,p��;�xk'їlPS�]�T��Z2�1GPL5�1u�s�����7i|{ϔE��\�z�������sJ"��{DÒ�nES�{�������7ߐo�����[�iYiD�U.S`��q{�u'�3fZ���j'^f��R����h��C
s;+�����y�N�JO��$4��`�L��2+-?Y���9\��bʷ<�n�~���h:��=6F�)
:��l���$�X�ؾ�d��Y���"�3�`JF��?�R�c[�v�Z�\�C�v����6b���<��t�KFOȎ�*�7�y%=)☆xn7�Q*7�[�qE)d���<�|��ݣ� ?�Ο��~˃�KvD��X���:�m% p�]�u�10�j��uQ���1�DBff$r56��ıw�G���6����4Ecdu;��U9��b6{ݧ]97�8(� GA�̎�0�yے�E�][��0��;[c�N�w�dދ�����N��y'��_t&�{�Y6n��NK$��Z_�@[J�h����1m��Y�6�_�!a�n�Gό/{W���|�qC���#�<&�/�R�s4B��uoPa����Κ����W>�����W:{��%U��H ��|��R�hG:����X�~���N2��<�=k?o�hҒ�wA�mf&�8�=�v[�,ĶB�Hpݬev���ג%Y�e&̈L4ݕ�g��e���?�tQ뀺w���Fƾ��N�~p�9�X(9+�U\��j\�a
M�o�-ѱ8�>�M�d�,Q��
V4nR�(4����3G[��&�=	b��ü��W�o

fx{�a��b���J1�*���)��
�4ݴ�|M�� ��4֛�����8쌮�>e�,���!X��=�<�K0�K$��o7�}
D2of�
����م[<'�C�i��Sz�%�6*�����,�4�e�˴���p����?�`�n�<��4�,�@������`w�'c���M��)Y��#q[��;�WdBIJ��5s�p��L$��~�j7@N,��j.q�����PRp7=G�@��y���q�]��b7�|���v��7��ě�Ft��z�*�/�[�!j�#f�OEDID�X-��G�S ��7��2�2���ey��L:%��:��6C���X�<�f��1��N�sȉZ�LBQ�gH{|^�SET��o>�!�W��q#�1����s	�;P"[�k�s�����F<�r�ՆȀqs�Z4�^l��L�L�A6+ʧ�Ȱ�9^���$x~k�)EV��i�$�&��p�邦ׇ�%�&�I<����&F�U�QE#����Ƭ��v����t���5'�m��F��n���1����'����
�V臢$K�9H�fad��aB��6-��c¸�h�e3�c���
=�y�-�$`a�Y�g�0�\�lmDWi��CXș�FKI�)BF��j�!��J5���Kmj
#�=��5�֛�k�P�[$�v�V_íӭ\UPU�4N�Y!����N�"[�!�K��RP�[}D�5��-o9��#���ױ��[��7[���/��d���(1�5��3�ޞ��47�
�����lWe<%�eb
R.k��,�}��y�،^Z�L�A�2%���x��0�<'�v��amNo9�EȬh��laIy�m����B���Zrc�����m�K�#������{�W�r�D�I�?��/��pd�)�ʪ������d�!x��(a��e�nFf�:;�UU�����y�kCG�kn�]Hކ�����/_�cM_��8J�Ʒ�k+� ���y�^}�ܭ{k�8O3�c�;�d]<��Q0{x���qbM�f�1DM��[�r��'������1��NQ��S=�TlK~��|{�d%nX�(nqv�~Phx��}=�N���g��^��\��i��q�V��t��:��V첸u��_�fJ���ύ�����dpxEX^�u$G�W��K��W�s�`��Y���o���"����/y��6d����r��
����b���-����4Ar3f��O�g�'I��2�<u˕����q���Xp��}*��d30y-��uLD���"11� 6Y�6_�)y&�j �!ٜV�s 3�����4'�_|������w���7���6/�ClM#� R��g/��Gg��M1���w�oϣcS���T[n�-?8�Xw��鵍�p"�q��!v�Pk��$7��r��E��"E���C��
�/�)��|r���4��c������`ٯ��Ҹ�S�s)_�Iu����#06�f���,�~$�5�w2�t˧s��* ��-o�*�N�z5�v?}���/�]T�q<R���֩������Λ��'/�w�6w	qq��rf�r�>=9\1p���]��ͮ�أ��sU��
�Yܯ:Sk�j3�-��?w������o+ʻ������5�Jԥ=u�j�8��3E���c��k�-���T�P���l�)���Z��@�����w⼳�F[-��/���UH��L��W���TQi���=p��W�w���%�E!�WX�Y݋]����N��Yz��{��]�M�R��`�������z6`eQFx��a�X�7͋�#l#t0SY���~��(�7���f���l�o�Y���Y�Nk�P[���C��V�I˚`wX��J��g/2��9��tIh���k}���������fZ�#~7�:X����!�&�%,^�r_�����)vGߓ���0�*�+X���2���>j���B���a�v��)>��{K.��zS/aM�;���q�������=E���3��fo�F�#�p~�R�XB�dŜ��� ?�1ύ��q�(��A��?>O[�5,��_^P�]T9�'[��=&m�|��1fP*�F��gWi)�	�.V>ǥ[��`=1WEtil��J�\��W�a�5�ܝ*�|�:I��۸�=�3j}T�I�[Cs��&��v�8�'�T�?U�2&-��|��w�9�$�����(Z�@���p�v����)�}����8n��G;�������g��?���ʮ�s8%��+)��t=��~�۸m67콺�����@�D�4���tb���m��{�ӝP_������ ��=���5�n�B3�o\��2�lMU���b֟/:��;TPM��y�~��r�݀Q�� �)�+��!7�E��_egk�\��OT�P$lV3�H�l뤡-f�U��J�I-�?�y~��|�7FNV�;E9LY.�Ρ�?���h�<*�bU�����Q����rzQ��¦��la/�y14��<���j�r�/j@�,i��l��<���hJ%�
�
)`���a���|�Ij��Ŧ��ONk2���RU�j��t���
!�ݚ��:!�Q-˽pO�Ir��wC`���(��0	�e�~eĕ�G��Tc(oU�w,}�q��A
뼑ҙ�˧ ��=8͸?@T\�
��V�+i�WR�U�^(���n-I�ex�7�c�+f=ثU����n�x��!A�ߑ�s$sgЀu*�����pV�l/�+^S� �����e��ii��ю���|����V�
դ��;��א-��Y����������>e�jd�6�ρ�Y+%�,��ԕoX�+��rS4x��
q���dk�Dz��q�U:A߳�����x�g�-[g��;.�DZ���X�U�7yv����O���Sj&>��Y�z��"/�Y<V��;�^��`���3���=�1�|y�W0���Ɩ�N�L㲯X"z[�AŁ�3)� �Zklޠ��|x-����{�`�mބ���vw�k��°�_�a�CU<�Ѓ��5�x.ː��tK�P�lv�J%޿�\k��(˥���+��/�G�ף��h�̅]F�3��3����P!$�V����~�]x�i:5!�[���%q*i^2�θa�ciV�cb���w��(�k"u��D�Xސvv�F�j��"J;�ʚnSh�w����j�2%�l�Awo�3U�,��C  4������hz��=4t
��W�'�/�7���AL)���dߘ��5�v����������v'����4�����A{퇇M���V�o��׏���<���m�����fߏv�}?�o��A��G�;��o��q{��;ۣ-‰����[��=?��Z���=?��|�����d��**,]�
�>9�u{���ښ�:�	�����~Q��rL
�t~�k\E�5WϹ��P1�8Ǘ�_PKM�[I�P��(�litespeed-cache-pt_BR.moUT	ABiABiux����̽�\U�>	AT��	$��P��&٘d��&x��vw�̼e�L���"H/Jo�{Q��k�һT)
RD��9�{nyof��������λ��﹧��?7���w᪹�:�n1%�;f�\n�n9�oٲ\�sÔ~�҃)]�ғ���u�nF�=�~��1�(�J?N�:��A�DJW�t}��i;�����үR�]J��4=^�~�>߬�?F���4O��Zߧ�A�_��c�>������AJ��t>�Q:@��~��o���\?���N�/��(=�Ґ�R�MJ����
��H�!��E�R�T��Q:���嶢�����B�����t��A�\@i'���t� ���Φ�0�g�:�J�gx��o)Y��5)ݘҍ(��`�S8�T=��G�)=�`�s�y^)�-���Rb�aJgR��!��sA/�t�!���/�v�?�M�.�����P���7���v<�����ð�>�a��q��r�%s�P:��J���tJ�r�G`�-���ң)�:��R:���@�G�r��tJ���r$�ԑh��#1??9�xב��?k�'(݉ו�NJێ�<�҄��vJ�=��tkJo<���hg��a}��֡�ҵ)��{��J7����a=��K���{���Q����&��y�}?M�8�<�짳��z�q���c0?k�s��g۱��N�b����:�~.w7%[R�O���N��п%�a_w��P��a�����ݳǡ�׏�z�{�}�����c�l{<��x��A}N��8H��9�u��8����Q�}�c|��yz�x��N��uN@�SN@}[��q��s�>�'`]�(ݐ���N�8ǜ���|"֧�D���'b=~��s�N�t����������Ix��I_H)m�܁'�������;3<��[�v2��N��:�;��&%�;�u�S�fi~��w��g���r��P��u
�̗�O�f�b}z4����8E��N�wOS:��UO�w�(m�4>
�8�ҍy�NC=���v?u:�3�t�C��X�=N�<�O��}:�W���X������0�_����?���~��q&��2����?�<����/��q��ݔ.�~P�;�?�!�Y����w��W��:�N��yߜ��y���)g`��8�/g�^s&�Qי8����v���|���ۓ�(��,�{������}�,�U�F?6<���n��6ƿ�l��#�Ƽ6�u��8����}8r6���{�l�߸sr��~��O�ң��sOƞ�qoE�7x~�E����u��\���ż�y.�y���\����!�y���P�v�u��y؏�8���������<]���������~>��`���%�|�
�(����w]��}����0�o]���s�|�B��B���/�<�~!�U��v؅����]�������B�����'4}�B���O]���z�e�E�'m�F��"��t-�E���.¾{�"��?��5�q�G)��ۈ�ن�?��v1�!���t��c���p�G�����h��Zk������%���.A��s	�_�R�g�K1?�)ݖ�����R��2��&���r�y�2�ڗ��-.�lw9��\�I���']��.�\�˱n�i����w(m��W���������\��_�{��+��r��c�n7&�{�
��FWa�Z�B\�y��0?�\�~�x�ォ��O^�z���^��h�1����<?�j���~��5��C�������_���kP���b�Rz�s-�]ע���8�u-�Ѫ�aM��l��o_�����t�uh���΍ס��]����u�#ס�W����zV���������x=��=𾓯ǽ��
���7�ݶo�n�wGh��7`�}����܍X��nD?�����F���ܾ7�|#�������q~�&<O�	�D�M��݄����i|O܄���c���)=���c�����OЯ;~���	��9��Opn���8��nF�}o�~9�f���1Ͽ���f�񛱞�ތ���-��7��3|����[P�ݷ���`=��uo�m}+�[�_+�
�x��X�+��]���V�۷b�ߊ��������lw��6��>�{��a�ݎ�nW|_�O��|��X��n�8��z�v��WoǾ~�vܫk܁~ͻ���{ށ�J�QZ���z��;��p!�S��X��)}��c�{�p'�q���/�	���]�ܮ��݅}�ǻ��|�g�����o~za�������sԷ��
�#G�#����/@��L����)]F�3��NJw�u�������ט��~��t��1�;�A}��_c�W�
�(݁��o0/'������;����`�����pb�o���������8����
��u�o��k���"��O>��y����ߣ��~��z���gPz'���������@���������\���_Z�A=[܃���=Jߣ|}_��`M���?F�b�#��G�?�8��������ԟ����'���'�׭�y:�}������¹{�O����'��I������F����?+��g�wП��9�Ϙ�������(�!��_Џ���~���c�E?>}/�c�{Q�f�b�w�p�S�ދ~��I�b������k��{q_<~/�1�a�ָ�׻�Ҧ��>Zt��s�^�r������>�0o�����c��ݏy��d7}^r?�9�~�����~������~�]��_�/�Fӷ�
~�7�9=���_<8��gڃ���)�yy�A��ja�����a]wzp����>��u�C��w��W���ny���5�0�;�a���a�[F�z���#��o=��z�y�>���*}��#X���|?����=�v�G����Gq��x���G���x�ǰ~_��út?�t���=������^��ұ|�<x��ǰ��r�?���Z�*���/>����8�4Mg>��/�4|�6�8�?�q��i�c��?�������8��@�՟@�k>��|�	��&O�܎O`�?��x�����V-��'��}@���I���I�g�I�˥O�_�>�u��X�<���S���)���c���*Oa�����֧��x
߿��ħ�ߥi�4��iOc|�iz�Ӏ�w=�����1__xH�3�BM���w{?���g��{����`��k�g���z��[����o���7�A����=�qn�,�U���g�O��,����b�{�}S���_�9���a�6}�5�9����>����m�G�z�<�y��s�������?��x�zA��%�+�:����/b�6�f���c�q{�"�ӏ^�>��E��{^D;Oi�;Z�S/���/�i/�s4?~	����yI��K���ǹ��8����s�w���qή�;�ֿ��w���kM�;�}�����_�~�������2ֻ�e��//;�e����h���|����Է�+X��`��x�����+��.`~�+��_z�=�U�����?{�㏯�W_���_�tK��^_���pl�����%�{1���P�W���-�]��븧�������c^x�࣯c~��������~Z�
��9o�<�
��_��s�ʿ����_�/������!�����so��&�;5}�M�E>��[���<��g����>��}�-��oc?~�m<o��s[��{y�m���O����%��p}�`=��o�o��|ο�?��7�Ś^�o����?-?�]����ž�ڻ��]�3�]��M�w����rǼ�zO��wqo�.�w�.k������s��\��o��{��0΋��<_��|/��~�}��>�S|�^_�����:��}��������>�>�����}��}���7����;`|��f�p����3�_�����|�O��#�N3F�g�R���)�s{;�o������1r~w�����X�����!��n�����r?�L)��R*�b�1��B)�w��v�T�k��NVA��WA}?���Ǖ��R�CQ�O^7}��1r>>��'�:F��v����B)���2�����������P��C{�P��ϔ�9y�c���!�t5��F)��]W�w���ɫa�7��q��R�o��}�\�㘯��8�>�~��GQ��5�^�8����cd�7���t+����\�^�:깋R��S�x�*k�������N)����:����50�;5��50�g(e:��5P����>��ygJY~~2�|N��	���#pa+J�~�?���Ͼ�D���MJ��]�Sc�_��S�-�2\z�Sد[}z����?�}�3J�O�ʧ1�[�Y�����`��M)���?�}�5Q���^B)ÓC(�sy�����1���,���R��|���Y���C�Q��s8O�R���
J���J���<�_�y���R�?~�y��/���eJ�_Z�������Z��o��������Z�GuJ�>;�R��k�_�����Z���}���e���9��=����=��/a}Υ����2��2��!�2��ɗ�>�S�x�k�y���G)�k�S���(e<h� ����Q_�<��R�?A)�7��:F�(e��J����C���up~NZ�\F)�Y�c��O�����8�uQ��Ź8G�_�.��Ⱥ��߯���к�����|{]�����vg��}�7������{=��S���z���q�>A)��뭏s4A�'��}в>����]�c�C)�ޡ�����픲���q��:�d<�q��1�o3�4��	X��|m��S�S�ˑ��u�����2��
p�w����'bޘ����
�y�
�����k6ľ���7�:�L)�m1��s�m���Ic���d�����d�s'>�2�o�ױ�j�2�x��u��ec�����o����ƀ;�n���l�:
�`���`^ڂ~�;�o
��)h��)��7�'��.�c>��G��T��S)e>�SQ�.����l�s��M���X�]6ܺ}S��W(���6#��JOg���q��9�[s�k�8Wn�{�J�!n�-1��l�����[��/m����s�F�{m�~�5�׭�2���m�l�������6�w�i�O���}�LC;N�|�=
�~i[܏s�<?~[�ǫ�<�R�����w�v�������M��	�D�����(=���X��w#|�;��5v�z,�p����;b�oՊ����\E�/����߫������6�g��_���1p���+3pn?�83Ԏ�^o\ؿp��v�c'��s۱_�x�P;��K�/�~b&���D=��}�hgJ/�s4�X����>�1�Tfa���(>7�2�#r��g���;�^|`�����:p����m��#�2�B���9�~�������}�W�J��̷P�s��:�~}.Ƶ�\�;��<�<��\�;չX�����bO�����y�����7�0�O���5�s��crU���g��=��_�v�ɝ���:��lQ���p_مs��.��?�p~��	�Ό���ҝ0/�u�|���`�v_���.���p��8�w/����tc<wc<�w��n7�ԍ���ߍ���������
:`����{�7��z'��~wV��M��c��|d�������.D�~����n�"�/-����王/���E��wv~z�θO>��}�R�;/���]P��`����c�]���{�w��w�M�
��n�a]�
�v1��1������=�ҟ0>�m����#r�3�����wq�lB�����hw�煻�~x�R�����͞{�~:~��g�\��Ƕ=�/z��}q�K/�~m����cW��!�8�؋�~���ߋ�=��xT/��zJYo�S}�����)��{������;œ"�'"�	�o�反/O��Έ�n����G��W�G}��t�~|7�Rֻ�P���y�1���~ޏ�<;�}���� �3q�m��A�s� �w������[��/q�4���� �q�"Ƴ~�O+�6M�Q��E=�E��~E��-E�����CE��g��o�?���FJ`8�xL��Jc8RB�3���1����{L�T���v(����xL�7L
a?�c���7�Syo���{c__�7����_�b��U��U���Vq>��bܿ�����V��?���(�zD	ƽ,��}?|8=A��$����JO`xRù:���������+u�;��{����SG}��qޞ�o������
��%�_>X��W�Nܸ�p)�זb�Z��8�R�G�e�e�0�5�{���h�>���}p�>�����{r�_���6�//�u8|_���}������}W���߽��C��#��?�����=�����`_;���~�} ��A��z �����ҁ�k�8����x�,M�>��AǛa��>��;���'Gx�Ã1�;)����8'�B�>�����Cqn��{�}���0�g�����o?��aX�q���_=���p���Qo�ုC�c<'��.8�_��}8���c~�>�����3����r�X�S��9�����#�sG��7�@���絎��ё�g��{ݑ���>���G�~=�(�_��}�ɣ��G�{4��Gc=�<�s����]�^��p4�����x�П
���:����:����cpo�u���n|�X��A�����;���}�_�>����,�>��Ӿ�v�>���c^���w���
������P���п���;��s<���Q���qN�<��}<��O�9Z����	���	��G��p�	8wk�����D|��8����?�D��;Oľ�@�O��y��I�8I��p�r2���N�:�<�o��1?{��v�?�q����'��r2��N�z�t
��O{��O۝
���S1�N�|]�q����i��;�|s�i8�Ǟ��^��7��~��4�GO���i��/��qnz:�mw:֧�t�����:������㧣��0&w=�e����0�m�q~�sw�1_w��_��=�C����^Z��gt��g`�W����q��g`��y��3Qߌ3�v;��L쫓���3q>Ǟ���Yhw���'���zV=�z6�?�l�G�������1�9���1//�������:�?�����p�9������ϭ�?����t���sqnƟ:�]�sq�y.����b��}.���\��?��ys�9�<���w�C���/<�|�y�����)�-��������m��_�����޸�ҋ��:�B��/�:�v!�eӋ0/�^�}��E��.�8�"��fJ�L?S�
�돰�'\�����̋���q1�]c��{1�[����.�|�x	ƽ�%���/�<�	��]��^zY���H7��g_
z�v)���K1?�\
<��K��_�{�x�]�밌қ�~>�2���+�~�W`_�~��GM?}%��w%�Mx%�]z%��8W^����h�WbOh:�*�a_�
����<������F����_
~ҙW��t5��}J�f:��_�t�58���?�Z��\���
}�-���k1G]�}p�*��>t-��k1��^�q�r�Y�:�k��p?�þ\|��Iׁ����߾u=�V�z��c4��z��z���
�[߀�������U����������/݈}�>c���7bܗ݈�?���F��q7�~�&���&Ї�߄{��Я�~�|��U~~�.?�|]����`<���`?|�f�k�����9���p��h_�u�=���-�O݂u:�����}�V���~�y+�]��'݊��[��nž}�V���
�j��п�n��w��۰�܆��6��m��߾
�܎r��c|܎�u��7wP������������]����6?E;{��X�)��?E?�)�����>z�g�������܉�>�N엞;A~�N��3�ސ��q��ݻP�2J�&8r�]X�_�lL�@��~�}w��Q߯)e}�UGPoup�J{E���__��/ w�%�+	9�z�æ{��_�O���@~�נ��@�ԟ�3F�;�-䖇����s��ρ��~���q���=�����碌q����;ߍ�.���u\�؏��~��;���������}�?�O߃����݃u>���K��O)��|⏘ǣ�8��q^���OXן�	�Jd<�ҧ^�Y���k������(���ͽ�������>|�^��܇�w��f���p����>��>�x��Q��c�μ���1��ޏ���_��l�W���_/�+�.����_1��|�M|pk���:���	��9�^�����9���;@���=����A����TO�!�w�Ch���p~Wy��?�ql�0�����3����1����5����Gp_�����G��K}y�#�?�����n�(��~��\]�(޿�(�/<�u�A�=�>:�1��X}��1�#7=�}��c�G�+�8�Ǒ��?�8��O �r���ē��$𜳟�y�Ǔ���Oa���)�+w<����Shwէ�y���i�K�4��y��i��٧�_�|�t�3�w�����%Ϡ��9}S˭�7�;���������o��<�~�n�,ڙ���b]��|��8�=x4�9���i�9ȉ����ϩ�y�x^����H�G?�x^���_�<�{�y���Ǿ��cD_����/�|�����	/��S_@�׼�~���/�wh�Ͽ��:�E��y/b?.|���s^D}x�ȋ��_ļ}�����˖/�_3^����=�%�ʗT?�%���_���/��k��z�;����/��m^F�濌~�2���/c>���8򅩯`=j�`ߞ������㯨<�U���W��$���W�����U���_�9x�U|��k����0��^C��^�w�xM���po���]���Wӡ`��|�������O�ϙ�|9���'�'�/��w7M�p�ױ�o������~�l���潁����y��P��7���
Ѓk�pd�an��[�M췯��ujy���ob<'��~��M]����.�y�職��6z�d��q����8�{[��1�ǿ���oc?ޮ�o�\���>�����`�����~������������`}���.�F=G����߸�o�7���<}�ߨw�w��]ܧs�E����uN�ž=�]�w�g��]��x�z�]��g��y؁����Nw�������{��{h�п�y�=���{���g�xtҏ(���q~z��8�����|������[�|���u�Q�;���&�:��)e��DJY/d�1c0R��/��Oǎ��H)��r�ߣT�V+��iJ>�M)�C�|͠���k�$�|�N7V�R�7�Q��ce}7���M�)e}�;(�N�5��8�R��~E��Xm���[���gP�x�Ô�>^��ce�Φ��{��_��5Jo��q����
��#J�^c��r�����Q��>���	���|.Z?��wS�p��O���?���R�q�Ob7�$�m�Ob�g���}B)��)e�u�'1Ojz�'Q������5?5V��f��.S���Oa<@)��)e���O���2L)���R�m�Ϡ?���줔�_��]oM��lM�oGJ����kb�Ô2�;�Rޏǯ��3�&�����51�P�t��?;V��I��>{�R>�o}���ʾo�Ƶ���Y�2��JN��c_9��ǘO�y���/`��]�Q�x�Aka�/\�"���"�}�/�|�|�
��=x���Q�p�g�2��'����K��k����~�/��	��/a�#��y���R���|y�ܧ_�t}��v���ٞk�|f���|��X��S�;�e��WQ��g�W�߯}�lGJ�>��h�ү�|�U��>J�>|B���`�Z��}����u0��k��u����Yc]�i�"����뢾#��\��w������o��X�Kiz�L]���x}��}}��W��O)�痯�u���,<�Z�sy�����k�{��/P�`cǣ�p<��XJ?�R����x��>�|���_M�<�=���2^�5��G_�|��R�����)`_^���}�2t��c�?g"�峔2���
1�uJ���
1����{v�����0�'o�y�n#��S���&OB{��H)�5�0���8�M�w/P�ฯ�|��8��8/�S�^߯�>���X�K��o�yYԂ��`~N)�W�j��n�?�|,����[���1������c��y��<���<���8�ԱB�l9�y=��ǽ�&��o��Ysӱ�a�g��>�)�o��ͱ�2��0�ol>V�'i���X��w�-��wo�q���aޖ��l��n�����<�
��_R�x��[a��[a<��
��2��3J�~�m
8=�R�Z�5����y{qk��5�<���m�
��v�tJ���}�A�p�J���6�7�m��Y}�w��v���u;I��a���������������
�J)�qw�������A)ۅ�j[�ۍ��_P*zx�q<�l?��o��k{�?����0V��R�z.�Qz���߬�:V��;������m��|�N�>~m:���m�#��a?߆�nm���>`���F�cX/��L�m�D�_���l4�#��}w�,��/�Ƽ̢����l�����Ǘ:��w�؁�@��FsP��s����|x~�g�Я�)e����;i.�㞇{�y8S�����x�|�;2�α�w���f�.�+�va\�ua}_�h'�gS�|�?S�~�X06w+�u���7��ԃ���x���N���;!��]P��.����p�/�~����v�b_���ޮ��_���n�U��?��羍���8ϧ~��1/|��;(�w����ڛ�]���w��������>V�̧�|��{�l���S�<xr�w~ϱ��<�	���pl�I�����^��7z�o�އ���os�#(`]�����Dh�p�����~��7�qOo>0V�j�#���qk��w�|{u��*E����.�~��rs���{ϖ�*�~����y]���Z�+E���)]���E���Šs-�y;o1�{e1�ӥ���1�R����<V��q�_Q��
����Tp���c���r���X��w$�j��9t��)��C�����[U���V1��*�}����*��X����b]7KOK0��5�;�k���j��0�g�pNn����Gk�'��c]߮O�|�X�Cs��ӓ�b�r)���2���)���'/�y�m��kˀgl0�u�c��}P~�>�}���`�:a�}������־���ﰯ�b���<Q�_�/��o�����}��@����`?���a^�p����^����8��؟���r���@�p���G�q7<��<�ǁ�UJY��W?s����=t�іn�w0��{0���!X����o>�������б�7��P����xƽ�aX�cC�:��R���ðn8��9J���z��:r���w	8��#W&5V�0�?
�����Ѹ�>�=��m�����a�o�����`�y�y�1��n9�w̱��ݎ�}��c�_^=�d����'|�����׎<�~�I�q���}��qX����t>��~����SN��D��Oĺ�|"��_~F)�M�9�����'�}�D��OB�;��vzO�w�)e����ƪ?R��/P:.�sҏV���Z@���a�X����@�7�����~�iJO�rDv�.����{���|����A��>ND���ƹ2u�=^��U���7�i���Q�O��=Z�.��Hy���z~���T��%���4�Ӳ嶤v��ߟ\���ǴW�‡��ڧ+uB�z�ӺfPz�?L���o"DG��gϪl;M���B�����;�9"qr����݆���t\;��W4������c�~7�U�;U�H˽E���/��G�FZ��W��s����'(�^J�R6����j�_������1��t|ZmK�M�w�����=Ee�@u|��G�5߄����1�{��W%w��y��Q���Tn
JJ;���t<s蹬m^�
�\���GϬG5��I�
���=�=�����u(�o�w⫝̸�n�m���}@��3��ר�!�-���}��?Q�J驔�C�Z�۬�D�v����>ӞP�Ө�{lw@����#�No����ٌ���P=һ�T���P��Z��&�����3]���]�w����T�6�^H��r�o�A��u�k���=������J�oH�~U�;��C�s|�R=wi��RZ�oާo6����y��ʿ���x󲣦|g��I��f�U�T�D������/��<��U�gM�^���k�dUW~���k�}��m��ѼvT�>Z�5��oQy"r�ܺ�e�>�k�A��D�����#��(�#c�﾿�~��a���q�N�緽2_?ߡ����_1N�~5��8�����}@/����Z��g)��|nyL������߫�w+��[:.
���2�S=�5����Z���-�wk��d��g�a��\�^f��q�Ky<�'��/�oR���s�=Oy�.���'�7��IJ1~�fR����R�y�+h����o�ߴ/�S���?j�O�wYEH���9")s��>��;���-.��wnj�ߙ�˯�ό?|��6-�;��T���xΨ�_'��|���R�e����U�o�n�B���2���Oy�o�<e�?��_糬uͥ��1N�=N��33��ߍe����ڱo�'yƩ�x�)x��Wὤ{b/*�i�������O������]��T��Õg���Ǵ��T泦.��e<�S}S~�~�<˃x�P�Z~�1�kŴ���Ǐ��7N����y}�O�y]�)�~e,���g8��?H���{�*�m�-����_�;C�	�ޝif}f{3�#T>wյDۺ)�R�/��g��M�2��F�K�N��O�����i;���:>�d]�}�c�.����
�ަ�K��7黏��Zf�	}��R�˷���H�������d��U�TJ��?���%:�7���_�/�r�2B�?G�_��]�8)�c��Ʋ��{Z�^�?���{"�s��߰�aߓ��w�C��ڛ������~S*?�꺂Ϡ�sy&�����O��e�'���0��x�
���q���2����;����W���y���V�ǔ~L��2�ը�Ŕ?�u?Ei����Q��[��"*�}����X~����;u�L������a�`?�?���L�{1\��^��i�{�7�h���"m�����X������|]�)�‡U;���2��R�,��R��Au-��L���2i�+�7�~M���_���i������ۘ�8��<����J[��N�r	=��y�>�N��:�������og~O���8�;�q���	���_S�C|O�_k[k?w��G���c��AׄuB���|�� =��g�ޯ�퇳�̿��3t���vnc�������g��I�v���?��'��I�_(}Ϋ�n-x�*�/�C��T�w3�	������o�߮Gi7�e��g���/O�g���.�����|��
㏚�41ۡN��x�(=cbj���o�{��Q��臭�@n���1����������샵DZ>���~�~�N�n@�_�߷�a��W�y߼H�0g���M��ۆ~�;C�i���z�_o�Y���7~����NT.��nʫз���1�Ϳ�.�tX۽���
�n�>��y3}�_��O�>	�R,^��d^V�/���~�I�7�y��^�c�����o����Z��T��}7��xm��x�8��g~��|�N��^�>^���ToH��a^�����o(���`��Q�%�m�g�yW��?3O���}��<���j;���)�yG�B��ڇ(�d�P��P��T�Q�nj��R^���s����I��/�0~��1��m����]Aߢo�Ӿ����d�Gu��jQ��U���Zv��z�X�Ay1߽T6��R��]My�b<��y�CZ�\C;3���
x���#��퍓�2�;=O�}��Nf�nA��H_������Q�	��Iu��x�}L��D��7�?�)��o6��˺Gx^5s������w����?��G�b\�yYTn��L�ϥ����T�T�ے�[��9z�7�[C�XL���zH�o��6s���O�c��S�)��l�_e�Ӝ|�)��c���VcZ�i����_�৓y���w0π���w|7�δ�;�'�#3oU������c�����w|:�����C��7��e������UD'w���v�oc}�I�]C,\�q�q�{z�?��z��Gϛx�s�u��iBJ���{;�������=��5)����A��d��q~���S�;�ݿ
\`�ձ�&������3��)�^�.��#2w��~��+�g2���6շ�X�8��Q�?����1�C�m�2=�
|�ߣ����)�2���.���kw��ݛҹ��ox�Fu�`\�҅Z�y�����'���U�{2�J*����oX���1�C�����Z^l\)�*s�{P��L*{=w���e��W*�G*���o�c��]Ɖ�������
b�	.�=�f�;�yc��¼a*{���q�7*�~ϡw�P����~�8?���8�~�=*˲��2Mżmm��R�Y����M��w%=_@댁�П3^@����#�Q��y��'(���:������wª��z0�7�qh��J��d�敽��UƳ_�S�����L�L�{�q����{�f��@��_P���~7Cg�a����������Nc��Y��\��Y��:q���U���἟��%�{�O=�W�=A�'�2:u��뤲�
���;�|<�|ʟ��v��o1����v�+�<*�_�7�>����C���בc?gu}��84�ޕ�\nx�>�~�%~]]_w�O��z��VZ�ϼ�:J�s̈�'�9?��:���r0�&S���ߺ"���W�e�
����W�l�~N�_��c�����c����a ��X�i��Ƹ%�����I����2�aZk,�ެu��8�<�!���~�e=Z�uc�$	��7�¿������W7��CX~�c�2�~�@�ǯ
?�2�[>��೵*���һ�t^����z_��͝������u*���}��`X�@Su�/g>���7�A,�4�~��*|�����729��2�#b�ܧY����j�Kif0��ov��J?E�V�=�|����\����3Q�]��b<��)^�O�o����ڗ�Wa���s�8�]��s�_�a�De�i�/jʺ`,������5��"ܢ}��o�6Z~�Ce֥�g��wo�]杙u��?1����W�p�{k�h_�
��\㻈�ߥ�C�!n-�L�z���^�]Q���L0?�����C�VA�7tl��y��0~D����2
���Z��+u
���j�2��qE�����m[P}O�o����IĹ��n�7۠kQyR2��$A�%A)��J�w=�Gx[�oQd(,��(�իQ/�J�*�$�&Ÿ�b�h�z�QѸ������'s��Z	��Ո�&���^5�d���r�R�EO���R��Iо�U�i~�f���TPka-�~�/��5�]X{KQ:wi�X��ո>dH;�r8�����rT)h#�zRz��&�B��� �j�be ��Ҹ�8��T��$\By4Rz�L��je��$?X���$	���`n�0�F�ߜ�S8A�y�E�h����i�Q-,����԰�h�hK*R�Q���-������T�,��톶�*Eaa�0�
��>�`DC)��<���@[�X���ވ�@�_��o�vS���>�Kjո2�}�o�/,m���6�w�vS�]P��B,)&EZ� 썗DS��)�b���ׂ�0�E� �����`�_/���6\���^��s�V,����(.�n� )��U&��M�������Ԫa%)M�����`�zX*ֆ4�ų3Hݤ�&�ݩ�kr�洝�0��2�{:44�<_�8^�4����3��p�u�>J��Lc��XR1�	���CI��RD[������R�R���UY�^�jT�y�J=��,
��/V����P�T�t��*M�k�w�P\�a֒`Ң����j���[*�F�Ҕ��TL��O�:#mw�f;ҡk
�괡�V�K����hY�G����`T	v����*�j��+����O��v��Jq]6Z%@�G�Bmt��!�+���Ji8�u��¾A^N�4Z����F��@�T =��b�^&�$*�1��]��(�y�.l^� ��|�.tT�Ju^�rXδ��@F��҆�_iwM&tS�1������J��qI���3��n*[ XD�IP�e�y#.��-�q���>0�yf{�~i��Y�5Y�9��m\��k���i��b��LK.�rr��D~���Ŵ�ky����8k!�ze>Z�1������Lb�;��I���z4�T�WW5�Ѫxo��0�T��ܳ���=�I�Jq/��`]���U�%��W���\k��+&��JN�qی���s�s�Ƣ�2�]^2��t3Zΐ�
ћ]��%�9e.�@�#D!���i�8IX�9�?�I��=�ew�v_��R�������_�7o�7�E�T	6C	���wo,i��d�W�lq�_w܀�w��h��ŐK��ʶt�o�` �0\n��C�F�)W��40�`�n�\k�
�C_��mR��o|���
I]��y�EB�L�Aڀtt�Q����=|����G>�q���S�.��n��^�V����0ZG>�]qB�����7R�,��x)����x�tљ�+���Ku�LyT��^��*-vE�X��ո��V��U��00���a��e���04��zi��CZ��,m����ƒQtj�:�F1�'5��/�+�FEV?�������#^�r8̗���|���>�D��DU�R>XȈ���JE\���!:�d��н�h���ڋ}�c��P�$iĞ>/�a*�@ 9p@~9tIN���CP0����'xB�6�7la�P�M>b�aX�ʞ�Li��4�k�O>�F�0���s��š�=�C���7�Uq��oI�<��E!L{����tD�q,Kq�Gԝ*���S���*C�����p�%��W��Pz%���>��c_RM�p�o�и��9&N����Zk5�S��+V�c4�Xa>h��Vo�Ln�
��畀/����D>�� #�U��\��հ�a	�N�����L*�U�e�r�B!vPf! <�m�y��P_	bW�D�P�͕B/�?����uL=��Z<�Ң�2�>��rr��SC�BH�T3�)8|H紏�6�p̨`��ƺ��?Z}r�/��e��&̘��Ǻ?�)��,�Mn[,�}uF��.���X�p�Z�9�Dt��C�$�zj�ٞ�袀���<=rm�EM� ��ӎ��嚩�p��h-��.[�`��&b���������C�,��Y!��Ee�Щ-��J���M�q1 ϰL�l��^"S����Fa��;��G��́fD�d�δ�m��s��kJh�uę^��q�T��`���L�R�gNo!�=f�T���0�61Ou顊s�����~���2�2�^��%.!���YR֑�����s��׵\�	�W1��_~�E�h�hF��a��lYO�1�<�L�2bA����[U�[�(1N>�W+��d�Y�=�d`��NQ�7@���]�4�z�<.�����:r�Q��k�p�
ij�F\WX�F�x��L�-���KD�!�
���@�R�#	ʼn��Jx���1�@X����CN�r�m3�D��vD��׶&)TZ0�@���y�J��y�؅
��O���W^E���6�瘿t�l2�%�t��Ѣ����'*���)�Ж}�<q��,
Яĕ�2_��G)7�`i�@����N4���:7��r1G��2Q#-L�r77�th*�.M~Ϸʠ���R2��1ͨi�X��9���Fn�n�nvϼ�(Ĭf �۩ܺ�,��D��ϲ'���Y2�!��k[�gk�kn<0�P���R�4�	h�3�c�ڻ{f4��
Av�"]���ѰeL���/h����j��5�%��y�2v��b���	u`"�k�ˀ�`b>���^,�x�vr���`�M���PT٬�XW�G@
Õ��l:�$��Τ�)��H���'l�`��	tB�L5y/�x"�A\��i���2��������+�[�vFfT�&wK>h'��L8��EW�D�E�̌����ߧG8�B:Q�BI,xδ�әW&�\�2);��`A¨o=�-ff�5yk�
"U�&5G��Ľ�Ĵ���7[V��D*��ǜ�0gH�H�_̲��Q�2LXX̫���.4��B@/Xj�
|-�x�.$&�i�ݗ����{�=o�(�`�`��
U�[L�JѼT�꯶j�����!�Y8,�(O�� LO_ps|�)�ǽ��C�����I)3��"�j�/$��W�.�^$C!݄8W����*mg�Ҋ�д�S��::�M�%�kA��I�̫!��_b�LK�$az�V���Q���y5M�Y��7-������ߢH��a�d��dSkش��Vm�©Xn��R4+K�x�R�?E�������M�=�U�����a�A:WP\!�Gː�A��;��whX�2�S&+��&XY�q�+Z:hcN�2#5��{,d�Y���#?�e��4��eΈ�f�3���K�^���H�E���Y��"FL��,�Ѭ�Lf�'֫ҀaX	�}
���S�P�tr�i)s�N�W���O��Cu���KS+����ʌ�z��g��J��-V��kB
�ػ�r���W���z�y���`*�|e�-�����~�K=��e�������2f����qx���-f�9.��!��N���3��=^r΋�lK&��m1{��FyQ��CՕ c��+�|R�K�I��LJ�BƄ���T'�P��%)����R�7�̡%֛̎�2�C�!>ji�����L�D�c�F,���5�
�f#�>�1_ʪM�j3������i�M*�5��G���W�i�%Ჴ)�=#*MA;k~TcIԨ/h�J�\`	#����J<c���C^��q~X���n���C΢�Tg���C^�Q/�%po�\�T#ci����9E�L
��y���w�􅴢�
���*���`��/�+�K���xQx�C)=N�
��L�<l3�ŠH+��m~��R	Xc�$�����I����h�t�:)��U��A�K99�"�[�Hu�G�DEv(H�Pp��q�B��Gt����	��^��x���t�u����e)V(*l�$�z�\3�͟y2��"���n,��N�n���ᒘ��Qn/�k#�I�%4ȉt=��ܥy��n3�a;RΙC�����\kԂ��6E�����θW,y�Ѓf�+UƟ�!0����X���5��^���xy�$͗7�nD�Y���ʕ�9��0�G)�\�dE�Z�����
?6�%5"����9�)�X����@n�(��ԃ��2���܌�ȋ�2�Fڙcz�e4���>����z�)o��#��ʀ zx8N"�1Ŕ��F����$�tW)��>̎JĊ��\V�0�	�㗛9<BLnَ�]���Y�Qi�,af��vO3��̱�E�Ϟ��ӥW
�N!j,�ٻ��i����*F��
80�/���g�&��*V���q�~��>��u���P@a^/ዙ�"����S[�Ԋ%{#%ĭUYi ��ofjV�� B�AZJ'�P:O�E�۬Қ�(	'�+%<4^Jpqfnj`R˼�P�����0�_-�M��S��
���}ퟒ�UY�Ex�V���*����2N��`�qa%ϣ�J�ʼh0�a9`q�*s
W��(U��&]q��ޜ���B� �p�f4�Vx*�i�kk��E	u0^jYXO�]�2��	4��j	�~ާ��o��+V�&�Z3�(í�!��� �Gg�!�J�T��(#
Uo��
���Z�~%�/�*g����T�w�j�6͔���l�{7%�Xˬ�&7��^D����E�V���\'����,��vEf��P�T��� !<� 2��C��3(l�<�"�a�z\[xoD���D�E}�SO�FHCLG���K�27K���Ax��€��V`e~�;7�CM{�6-yvї�i���b�����>|�E㓙��GM�!��<�^%"ʉ��l9�wx��Q��U�e@��fV싚�Q]1��z�mV�,�/Q&s�Ryi�@�Ղ����'���/��r����U�	-����u$����̛��@f�K+�ӢjZ�^#�g��� [I$�U�������B��1�J+��F�����hh�����?�P1d�*������Φg�
��Fm�p��yCI�QY�t-��	G�%UF$-��Ύ�a�H�E�ft�OOt�P�B��<}��| q�Z���a�U,:�%�u0�4�**.0�4�bs���/��U�Z܄B�@Y3C�<���%"Y@f䬝<ʱ�*
������c����^�TQ/�>�;����K�~I���
1�Ť�G�#�j6� dO_���Av~z��,�o�U�3i�*ɼ�Zd��S)c&@�V�'��D�*Wn>���vX�<d':�뵤HS��Y�Z��}�zX��n2&l	�v!����6*�G"��~�b��(	�)��2P/�L�3�`T4��0�G�5��>��lX7N�G�G�-�O��qu�I�	��y(j�������`�Җ�J�nP(�mZ�{ �s��֙"pc.���H�fROtjf�+%����MϤ�^���=���s��*��D?�Ƿ閬k!�{�Q-$�Cɾ%�*�^Z��Eլ�׾y
=�������i&��hۆ���r������ypp�z�*@��)��&�'56L�asn2EѶ>�Yb�:	�E�¼W��q����������`ͩ�!4ڌ��lO81���0��ԋ!�sq�a���"R��A�olS��3>��i�4%]9U��������*s���Q�`����bWD� m8j�
WʈwX[�m�=k@����SԡU�g��/�e���c��,1Φv�υ	+����5m��/�����/YI��A���,��辻�Q옰/�zJ��d�e�;��r��U�1�O�d�0
f��CLh��j�U�D�Rv5�ƅ�P0�N�$��]!tbר�1!�3����ri�4dz��� j>&�x�@Ocs٬im6_{S
%E���ߢ��c�S�%iQSL�i�_4Y���
J�-	\�Q��)��/"Q��B��j	D�M1!�̊��	�)��� �HR4�{ؼ�L�D���mkڒxƲ�+� "�N���E�>D��H���O�14?���y�O��E>U�����g
?��Lf4�i_ҽ)Ա;R��
�D&�|O'g��lM	j+'s}F���M�m~�fx�W�]��+� �R�行���w��b�
FH��{̀�=��Z�jYƖihآP���~
ƚ��~y[���ʼnD���>W�@���Ѭ����	
� E0��h8�*�z��QżRrz�J�������f�B�
�jجQV,��I�a`.v*0 �{[kWO��V{a��S��h@F�G���L���G�yx-'�f�s��~ҕ>ua+�Pܼ��9�N���3��ԥ��7hMd|��Yd=�R��)⯅�㿲��|��Ϟ�D}c0"�(t��<Su\�FF?R�n��U��m���g�
�"`��`�#!�|JuI����\�����ҳ=l�$w�|+����m�,f9�1�U��X-���]f��
O���a������.f��0��t����/�
:��	g���>�-��O�~\�S9���-�i��	�^��Á�|�S��O�B0Ȅ@��֙/�@��*�P��iE��ܬ�����|��n8�A�
�-�x@��o0�g
J�+\%l��!�R�Fb�uq��N`�4�џ��`C	�`ԿYgJ���s��-F���`��Z�
z���lX�*�	a��s1���{N|
��2�OD�LD�s�Lt*պ2�R�a�ށ`�!���󸌒D���!�J�����V��u�A�2�r`<[6L�[����V�.*��ąb!͉~?#K`rI�(���}��`VkzN�0_6�)�)y��~0(Z,����!����򭑫ڤf\2Ǟ�M1qڑ-ζ+�5Ӗ9^�ʃ͢Jd�
hQ%i1taR����z��pw��ǐ/���R�MO`�Wp��(C a�-�Y��`�����3�D5�
KI�]%6�����s��ZH�"]�M�ɯ>T�^�
b�6�r%UEaYN�Aڣ�ү$K������'&J|��˺��M��R/���+ o�	Q\=�f�ٕ*����*�τڟ�2k@�5����w$��9�U�$�[��w;���q~�Sq2 `���g��\ѧ�\��;{ڧM�(�M��i�h&��`M)�*V&��m%V��:�zY]�}�x骕iE��o�-Hq���/8��&@ӶbM^����H��w���2gX*S[�>\Lb9�zD�\`���[�A�-����Tl����U5�HI�C��U+�1b_Me6_��iܸ5�EL��ۋe�ƌ}�~�Zvt
i�THhq�ed65�ݛ"B�$c�C��X٤�M�I�X;�,VLc	�P���&��%bv�7<���N␷'�@�= ���8�1Ea�x6����1U��PR�����yb�Vm���Zb�y���
�_��3�R�!+W�@�/.�y|W	�?k�9in��ݼ�-1�X言��8q#�h��P�f�Ti	�z�0W�Ǯ����#9�gB�r*r�-q��'�9���U$��.��_TN)���;�':�Q/uLS����\��*�֭(�;EԽ�^���%�!�_�٭\v}�V�A�
 1��dz��Wnj�&�P=!&p���!:i���[d?p��ҡ)�s���`U�OݖdqsT��j
���;�T�4I����n�pI\�i6,dt�;˽�”�`��,�M�5ߙ|�:'~c@vj�����yexMK��Ũ�!{Wj�G���u�X�[y�����ό00���S�En�Jl���B�	�H�A��f(���0ge��f���8����1s43��L��ޮ~��Lf��o��)�e�4�6����I���B���;����V�L� ��!c�qt���sRݟ�b�n����CcN�(
��hB��í���	�{�̰P�2V�ṿ�ɇS��1��UC�Ƕ.SS���za��u5f��es�K��bn	8�ԙ�<L��L*�����L����*0H_̏��(�����:��O�b��aJf����
��u���\�j�s-rBzw�,�?k���̇�`�!2OV�T;����RA0e���J1�T5{��#!{i���EнhV��+�2�p�s;0g���(���vB䗲��d0?5P�O�Д�Pu?�����c����i�%��Ⱥ9ߪ��l$�D'T�y�i�K�mbxn}l������0���;�nw�I`+�Ɠ�e��2t[�b����p���;��B6a��Э��Gy�)w�r��*2��O{ɜQ,�)���V<���f�bg�4Q�Zo�OTf=�} �/N/d�#�Q��Q��BT++�>��u\H��P+v2~V�V�f+lP����쇨j�H�����5�K�Y�NΘ7۸S�C��YB�*�0���,�O��O�6�6��z9R߶��XО���&�E�^~/�6d���2"�\R��w}���xSK����(-'O���4<Eˀ
���3��~��b�/o�n�$F�*mV��bNU�����H1
���is�	�#�l��m�l��PM�V\6�#c_I�Q_�\�@�\F�b�e�:6�Rr��I�ɼ���{껲+Vv�Th����_�j�TQTߋ@]s"��0h��'/S=�•�5�(�,)�N��4ah�P�:0Ĭ
U�
�_����i���� ?����Q��-��Q��m�ߵ-梜m�@�a�X�Z�2'�Ì"nET�?�f�����~��=r
f�ŷ�E�ۤ��*'.Ѕ��
qH�c�`Nc/�t��C��W��w������W�ܡ�d��g�‰���-7���m��G�7c:dM��:�8>����D��RjR��w�h�o�6i�eK5�:d4�%e�3猯�l1�#ܥ!�k�
X�OÛQ�&R�@�2��q�7^֐/��*I�k曫��M�	�׭��&��<��U6)�F�"r���1��ơߗB���+�m�l��G�^�$^FO�7X��0����J�uF[&��.��ﰲf
���F��N�d����r�?	��h冴䱺e-
#_5BX�.iZ�#X�QT����~Ͱj�q_���������Qg�{����r�W���.�a�W�mE��}0>�g��)k��;:��1��F{�͛��'�B��aLfxN�߾#�4�����>j���)�n���y�p/���	,~��;*C�<����<��FS��cjIH�y��Rj=��&sN�/�NIP�	3�+;EbQk{���0OU�M��z����������Ne�3d�mA� �s�?y50�Y��7�ϟ�NXP���0��Ay�y#QkL��[�
C�T�$�rl���}�A-�%Q�}�C�BG[�&�L�n��<�|"���'g�*o����P�Ow��eX�f譎:��d;�
`��tG8"M^��hu,״@B�,�M�;Z��L����W�gP�O�`E��Y�(�4{�e݇]�̏���t†ePO�=�u�(^ь��c@�*E��we�S��d�Y,��k\�3��)Kp�*���9r�����jQi�g���+,l�P���c<\�
4��O����V��^���|��ig��*|5p	�iU@J'�(�D<{b�9_�f�oK��,y�j��F)�m�v�л�f8�kX�ެﳕ�Lܱ)��|�v�+�����ɽҟ�=�|����s��\�\gW�A^��^:4^>k�T�}5CTN���A������5w��Xw?qq"�K�H�-�^�L�2TD�"p}��wy`������5=�7�A'+��삚�~uM�&���{ш+�n�vrgE�1`1��՜�3[�_ޔ[J%&�W)��5��g�q'� ��ٸ�1z�6~�pZ����Wmi{o@̖��-dx�u-��
��������`�=��i_�H��<ԫCO�Afs��SQ�l�(!Q� �Zp1���kR��Ɖ�0�D�E��C0WO��<�����	�-���f��_�̧��/����Y�\
�R��՚z��d�2GZ�:�M�>R�L(�r����,��Q�(��̹q��
^i��eCP�b|�=�"2�K�Y��۱�x�gA�!Q��=B��5��$eqۯfK�Z�����,֛�˜-)_�ڄ*�t�%vl�����T�f�d�F�
0T=ռe-O�3d/!�����T�]��m0@۞��G�	����ڰZv�� �=-/.W�q#+�5�s�,�Ŀ��ؤh�|͐
�/�^Q���g��P���VUQ��h�q��n�j�uV0=,I�yP���).���d�ԅ�d��3g��]
#��%�F3K[
;K�=율���9*t�n�п��^0�ְ���]��͙.1ڐ������c�'�����Dr�(`Y�2#T��_5�Θ5��8�s!�W��~؇	R5�q
��FO�,wMW8�,�]�b���`������ie�.�O�2gpm�ł�ph�8�s�-�nJ�IF�櫆5�0��F��&J8H�y�n�!_�J��{�nj�Ǫ&��Tŗ4
����Ly^���6�Л�͋�0Y�=��[�j��$�
@1I�i��=�x�Ź
��k�`�<�K�jq��#U]�دXu"�tԻ���6�v�"�;L`���O=<�n5��¯kI�l���1f�<=�D0��c�R��X���vބ�dCz���J��Ta@�(���u�CQQԄ73}p�Kw$�G(SG5V�2�,�-ϛwn�lHQ�Q��Ii`	!�VȦ�V;�i}U��Jn�k�8|���r�G�V�a'*C2���E��]��^��%
ϻ�.�w��iANn��HX��]F4i�y����	���u���a���L�I���a�zF�e�c�r�ҩM��W�[CG�/����`SL���/x�=c�n�o؝d��s"���0��"�Ilh%�;-����뭽�#C���1�!Q"@h�TmSw��%5���b�l��x��e��J3>0�b�9���07�3X�-4��E�7h�1��H_�;�*�f�{e��{o���Elu�h�_����̚4���TY��<Y�Nj|���F�۪�'�g�oa�K�?q�(�A���/f��/��s�$����n�HU>�3���a��P|r1�Mܝ+��ߩ�t��;RAp�����\�d��z���(9�oj�^���8	���/69�8�ơU6t����A�7��H�Q�%�G��Q���kg�ԇ4�u�Yr��t�2��Å����mL@!�lT#z���|��hy�M#&B�����XHÊ�K@0tV��+9�u�i��*�K�y��2vц㔨z��|ĕ�=����#�)�΢A.�s�HF5��r�B&�\�6�J0C��'�ʅ-����(]4oj��iE5��r
�G�_^})��{3�D��`��{C��
ψ����68�G����j�\9���R]^�!�e����h�r�])��%�]ʟ���R�?�c���B�I����B�Q~ ��
��Vj�c.*ekrҐ/�r�Z�[ �_C!6��=-��',_��
>�s��+�Ԯ�3�s������z�LqV�b+m��;��Џ�!�������s�Z��.�o~�*M7r�,�x��.����D��
	<�U����
�l{Z����X�L�l��ܹ�Q�hi�u�A�Tx>��O��Tg�b��;�I�Nth�F�Ø��?��?�u0��5�u�����_��a�\ey����)�K����^�`�٘�]�g-�Wy^�̒�'F�{߸?��yi�T&ٿ_�x�<�vR�i�o3a�[;�\k�o8,�j���k�$�� �D:�:-1혈��js���P�Z_(��� �yJQ�Jc��r�0	3����/�D��s�.�DL�CX#�&��;��CX^�s�f���Ml�$��;��
tf�߮�s�,��’�&�oX�M�	N��҄|�FQ��l��֛lb=�M��'sY0�������U!�9�Q�<��c`�?����f�T�:�gګ�{޾������7��G8�3Ov�b:[6	eٹ���I��Q���K��	vbF5��5�I�ѧM�8�h�pm���ɯ�!�q�3o�I(z`N�du�gO�Ѵ�("��P	x��m���;��
’��*� ��?-��j\�2L�`՚Q��zB�ˌ8�<�Y&U�T������㽊&{�&��f�_a�.�!b���@�1�
��LbWk���/�����AdԬm/��r�a�U�ą.�2M.p��MौX�T$��̩�
�@��,��*�\��(�g���K�Y�z����9���M�[
�׈r�S�P^��-�m_�p 69�
yN9	�x>���>�\f�M�z��
��#�mR�������yl���ػY�6b��Sf�G`���`���hh�Bu�T�[�]�$��U�m������xPTM�4T�bIϒ��l�젍mG{ٽh���!rx�b8{�R8�(_��~��a���c�ye7��E�9U8&Ϝ���c�6��0�p�^��B��w�{�aux�̞	:/\�j��5�s��h��:�h̪d��j�
�28�%����� ��Zmby�¨-���.h�f���HV��S����ѠӨg�{L�jK9t
�Ԣ�6}���Q��ӽ��]��e�:�eU|�/'�1��S�ڧj}[U���÷�����No���ia{0sA缠�gv��`���u��hk����M�0�R0�5[�X���->�,/�d�xtt-�t���si:}�X�º��\�`\�m�f)�R�/��'Nv�(U%�-�nr�{�u[׺��E���5���8&�r{œ+���G��X��(�d��\�=i��
K��yP��w[W��[sc����1�cՑ`b���u�F#��O0��m!�M�\j�g�8x����%}�@A�qh���V�i(�>%�{అ48oU�1
2��l��h�n��s���N��m�*\,��c	�7Ƣ��骈�A�>H�YjL�區:u�E�k�4v?h]n�"�X�̒�y���O��uۜ�y54��{cB�r�3�hͩ��	���?Vƣ�����\��;�;��ɣ��\Ze\�a~�ď�A��O�Z,� Ep.Uc+0��iv�!����G�7[�_��ε�5��aP%������a�+��5-
e]Q��ߜjwt�_���#�wc�dž.s��'&�eTQ���7����I����ġ�7|��i�)CfӔ�}����_+~�ȢS�`�_#�O���`R�-��D�EԈ����݄g�=�X��A���o��%2�e���2��7�xi�`w����q��X�d�&ꫢ�¡@�(ΎBF.s1�d���1 N,�x[�{½I�?_��d�G���Ŗ��e|@<����*O�!��E>����E
��Y�6h8
�}�g|���pu&��w�>�º�*o;�F�8p8���	��������ґ�r��,��#��S��p�Qn�RE��iB/�O��r�
���x�5T�����u����m�~j�G��Q�[��$>����?`|��1����
��%s�u{��le�'�$G���Nnp$l�q��a\�j+�h�Ai�]��=Sg�����֌�-���r{��}��[��"B��s�%	�c�NƟ��4��T+���d'&=#tz���S����#u�(	�̪<�DY��iE4��=XU��]�y�w- 3NC�o�`%ߍ�h\4���5�⸱j�Yu|��(u����Ů|y
f=��w���1�t�;�>r��
���I�.�m��X�u1�����nK��L���}��}#�J����U�k|b���E����^g	j�dձT����fJ���(e5ab2A
�LA*~T�d&k&�����LE+]�e?J
l2�¢��l֦
��U���/��stɢ	��IA?d+���=]�%���(;QD��\��رx�U٥PmY���}i�C��6��ŝ��<���i�\�
�N��0�S�:�0*�wҦ =�Th������@1ǟ0uVf��J�3=�X��8��j�!A���,Lt�^�x]�^���&g����eF٧�?�>}HOTU�F����,���^�?E�2ʒو��k����'�(�l��{�4�6v��5ߚ��A"x��*fL�|�BkIIdVuw��);z޾?^�� �M��@��s��%��<�q�9�&�
q�(p$�
{4��R-[F�$�Gi��Z������TZ��jj��!@1�u�G����Q�*�a;�R���+�łG.��-��:�3F?��x�E���}���� Q�:�8<��Zxt��1�7�z�g-A<a��R5�Ѳ��b4=P�ѐ��b�Rs��,�<��5w3��b%T=_O^�NxQf7�֒rA�N	�ك�%i"_g�eZ��/yF�@n��Q�(`)�L�9ʪllt����HP��-%�l�<V>,3�!�Vd/�i,(�5��:�
gUx�v!L��m�c���Ul�(�����8����ddnĢ�"�p�Ԋ޴Q*	���x�6��?��9�4����b~�:�6��k\��~B��J`v��
��ک��M*��d�i�nO��<�C�ۏ.���3��h�U�X��0��;�S{|��������1�-J_��ow!��6q�,V
Ѳ|�n=�L;æ$\��x��
E�.\�_�/+ia�o�O���6p��e�w�w�h��5�p�%ȅ�]L���y�eϷհ�v�r�²�g�c@����	E<8n��F�^����H
�1%s{R�b*�S��{���
�6�1���QxV�Kz���T1�lR��y$���&����C���n��5�(�p<�g��"�G�qΐ��Qxkl�!ö��
C����D�hd8�`�D�w�O�C�r9�m������i�xc7�1����/T:v����Y�	�.ڥ�b���8R�.��LwL�ؕ���@���cb���{#���"��6��zcM�ⷹy-Xz�)�U��ͦ��Zb�z�c���&�Ii���Q-����h��\��(28Y���w�U�3���0��q��)����0��x�@�g�1A,j��+��	u�5L�����[ECْ�'�in��(c
�F��4���(��\Ш/ŀ��2V�B�<`��Fw�¹=�=�5Dc��"�ƋLTYu	��s��S�pT�%U�A�4�F5x���]�B>��3�?Җ�r�щI"߽L\�3;e�6
�u�E����g��t�����_�(�w�)�a>����*�Q:h�ٔ��C����ъVD�A�bEeb47���0�2��tLA�経��	 �Wo���)ŭ� #��Dn�SAh��\/|Q�yo�rm̬X��W�n'^�&�Z��ܤ ���=�jIt��/��zDZ�L��@���s�%v�ݣ
aH(d4��z��j������_Y�������D2t��8�_�o=m
�^���ߖN�}����^�=[��ؗV2��L�N�t��A���
�\L;i�ӖY�_�+�^D\W�/�a�6�0P�\
�#�S����h�>������Ӛ*qz�B
�z,V��ކ�r�lQ�a]�K�k!q �;�m����
LV��W�3��H�+ei��DT����k��_�هJ+�?3Kڼ�b�B�FXh��8���R���d������ �qD|-q��^�ƛ���Ht�d�z�H�ŁBYT�tJ��[���*��ȃ�M�DZ�])
����$e�-�ĝ7J
�b���Pu��qz(*,a�J�H���]�l$)�����&�0�W:�6�Zʰ��bFh�毃r�ԏ�
�����,T_�`���⭍�)�=u����t�ʢ� �R��͒�+���0�߃�A�Τ�Λg힧WYN�l�
p`�����?��8K�β��32���b�\@<g"M8Y��`�t�X�M�;�u���?as9B��F٢Ug�ah
��%�P�0~�����u�zD�(��������!����a�� �:#��j�>ڴF��4N#�������p]hX�bk{��M�<�����Г�Zr�B��H��>%MX�]��*âj���Id�x;����N�Zd�VQ͸[H��^BЍ�pe�OP9Ш:�������"�X�)�H��b��qN�]����lX��iNB2�h�Zù&����]�ن:*����P��dqhn�U+��Z���]Ai���*O���u�0�d%����Y�cySDu�GrԲ�ނ�7�ﲎ�sMU��6�T��u��su¾iB����Jy�`�0aD�9ġ���_*ڑ��\T#Gul<C�80�-�1�񭇕`F�2v�A+�h�A���E�v��1#vP���n\a��G���~E�NE3#9XQ�F��}���F������̫�S��v�D~A��2���5�Hn#t�YKN��T�b�~��\$�a�`�8�&�h�-�F?�_�Zϙ�
Ƌ�k	�-��3+sKm�>�i���Q�5{7"Ҝ��UeLʛ^Jy�nRc6�����6��:R�}C �X>�5F��4]]{����>���*f�F	ue�,U�(."�פEܙ�� W��ߓ=P�!���Y��]j�,~=�G���2�n����,5{��Ȕ��l�Uk}]K��4�ȝ]jOxf�Z�.ur�w��-�Mɲ2}�}��Q�Q�0�W;�Æ���7"�2�A 9�1��K1�d@�rbH�A�>�:4W�4�-��dU٣-^�	� h��2��aF���T�*����)��ha�{�6~�`f��]i�Er�%��y7
�p1�H��f��Il듪���{:�==suz.�h��Z%U��7.
�C���J/�Ǩ>��8m��A����̕o<?�N��
ӂ���f���]`����r�fc]exg"l�ۑ'‹`��rO�-Kۆ�-�`����{�F�u.��Q�N�Ip�}J��N���V���џt�ɑ=�+�}4�P0�/�5�?��9H�e��Zl9ަu{�TJ�U��[q@�E�>Č�J�lY��4h�(���˥�Y#��yS��Т�K+Uѐ�x�x���S*2�z�F}���洰K>Ro�.�	�M��@�}AW��`�C��^ܒ�;X�9s��+�E�~�އ1',�paMg�
� �2̛��37�I�����ə�;�!3���`�c)���;qL�'Vbb�`7�N⸔3!�`* �"�:�g����b6ʹ�f�o�\O��I�*��̹�_�)6�V_�d��?
��%�&��X��LΜ�?��S��U���������w5��6�U�*��6��(�"A�D끥ODk��5�(5T�\3�#F/��c��RJ�Z�
�6 \\A�ؖ_qA��5%+Ak���i�I���{�,��5`K<f�x�W�2O��`�����GٺY�W�0�-���cH�&0�X.
*�(.�QC/�=ż�����ID=ZT{�m�����Zq���;���(S\�C#l.��X�D]\�"��/y֐-�mH�6����N�-f����'��?�XW��k��ѱX��h��������ml��d!�����&�7$?���ae\m���9�%�A���)
k;uG��*?�UM�(�I+�0� YP^P���V��}h$����av��*0�������x1V8ƶ6����@`�3��*E�X�Z\J�B���}���z��:���h�bq���W��9�rNiM��5rD��m\.&rp'M�|�ą���p�����
aaUN�kNdy�Ҝ^�fu�q{e��	������K$S�8}�a`l����ݧ��B�����Ymbg��+�k�9�j��`��~6�߃��
,2���+�U�Ҡ��-A�����)T�B�c$E��g�"�>�.��Z޸
D�3���RƮX<�›�k�	ko�r�N6S��_���B3'�0�dږ$�)%�~�W��-�N�Z}��C_�n��!Ĭ�L�RCP�t�f��:ΐ����G�!�[�/�0�^�S�$@�2kb�A�q�',���	>�{R��������{Y�f)mH#�V�G֌���P�;����lw�ٔ��N�מ��4���ml��U�@�Sv�
��_NU�ۣ�����2��LK����I�w��i˘���*���jTq�'S���59��:�gd�	lr��L�����9:�[,�t<�Z�QI6�9��A:9l�lTG�ח���ͳw.��r3VC;�X/� ���#'�+���0A��M�t��0�WhnK�G�U�G��V�+]G0�`m�W�]X��q��0#�j��Y�J�O�>��@hs����ò�6d�`�I�˄$�G�������씭XZV�y�(�M
&�g�^$�����D��X,D[\'дs��g�t��;�{JW�a�(�>c窚��hR�2ö�;V$z��$03fk*�g�8�T{���w�5B�qT��%;o���u��	��%��@�G�w����"|�Q�-�y�?�ZQ����R�pH�5k$,a�UĢ��*s.��(���
��X�F<€C��y�ٍB�y�j]$�����\��Z!�h;����^�|֦5H/jK$�HF�#+���:��c5�B@Dfو1���y���#wG�/5�km���2�Ҫ�3��i'4��!�Y
}�a�-P�
�����k�g�)�[�^�?�����	���_�g����e���օB),��oy��;�LJ�Ϛ)�X���He��ZZ�M#�ML\�D�����ژza��j}�jD�S
�5�E�s��@f;Ɔgh%G������-9��%X3*$.�L����Q*�
���(`�$��>Q5���P�{�M�!�+ԍك���x�ɩ��N*���ʘ�5�� �
�x����T��{�TZ�!PeƇ�������N-;��U�P��M�>��q,�j����|\E�h�{�1v��qFՋ��C;OR17�%���VؕU4\��]�$���	[�Z��r��y��Zk�p~5��\8��b�€�`��R�����;ܽ�&�K
��pL)a��͍��cqw&�i7����Ϻbj˭�
Ֆ۠�>�j����7q��JV'c���-A/�ƬY'�N	G�C��Q�w:�o����n����R�&�k�|M��Y>�3��,��y�
9�0;s�Bڪ�H���j+awJ)�����`H��d���"��(��l-0~)�&|:G_���-V�(�.N-��5xTv��G%"VV3�ȹ���M�ڸ�8��ZZL|RoLA
hI�v�{lORh�Ul���e�؋QVk���r�,LbY��,��m��G܇V�W^�O0��$�>��΀���.xJb���{�@�x��������QX����\�V4�J���+p/Jjʘ��/�E�dH�X
.��Z�g$)-�2M3�q,��:ŭ���d��E=�1�T'*��h�E�[��Mk�6�x��k��{���̍.�H�Q�F�CF�m�}D"��ՅH� �|"�J�x����ƪ
���%?Ze�)�ʨ^��)
�X�S��k����]=�i�8�vׇ�(e
�Wv�}+ӎ�kHU�S4!\b�t�V�*�ю.pA�3Wrq4Lը�s�x`]���ev�j�6p̛�.��
��=q�X�,aaҮ�5��������j�G�^u(�2�C��CX��n�bl�н�����k����\]���i��M�
#�7Dv��p�&���v�qW��K�k�Z��a����/���t������4�
	��H��)ɬ5�#��ͣw��"�+�a#s�JϞ��&H��ʴed:���Fx=�89�(��UN�'-�S��`�6�L�:u�ҥ�+z2*���yU�;��0�R˝��y#�|S���G�	���U����;���Y�C�eQ)ɩ�p���i�'��(Tc5#a������%t��m"�)~�c5윹§�`
x�[���U�
�6��T���>}I�J�}[��p�7��g٬J��!�ʉJ]s����9�x�2#�@�m�ٖS6�lʦ[�l:m���m��ƛ�k���>E����7YCe�S��4��e��C%ڿ�
�G���ž�S�v��7ST��^!ďc�[�kkt�ذ`
�+$ӂʐ<&��l�?���7�n��.Sf�ȴ`V)�	�4u��&��טV�b;T�c��5��1�اt\�ῇ]�d%�S��Ż�򷕫=y��xd�UG�Or��9�
+�T�3�G"(�ĉ(`��M.��!
�\ȥF+M�?Q���VA�G.��(հ��g��9�Z��P��p��&/�w��^&����XM*�����̄h�J�~�/�rҙ$�I�	)7`�_FL�I��D�9�;�;���J��UK�R㛁j�d�|�j�Z��$g����E]9Zܓr������P�c���!�A�iOǢ���!8�,Y/�:�ڢ������g4.�ɹIܽ)1m�3��m!Mՠ�q����j��	�d�_��y�c�B���o�l75ܞNq��B��R�W	��=zKae��	ܲv>�dC�4��nh��BQ�?���kE*ĉ,^Q6\��
��@,Nh�����p��մ�m��G��nb�Y_u�*",�`������UZ@+'���OpBV� ���V���j8T,�j3D���X��J�{�4݉����v��k��B�gu�3f>(�^aS�Yr�l��"�6۩�7�d�ڎ��	����^p��aqYs�+?Ob��7=����+��J'�&�4r9�3�����غ#�Q9�-6h���.�TB�
������54r>�'�����N�<@�F�h���!j^?o���e�)�7r>�\��l��[+�Y�7���SX�^��$���O��M����A�nz ����C�ϮN�Vh��$�`n&-�ꘜ
���,+�)��Rw�]����ʂ���F����	s��j�H�B<��V�	Pp�}đ)�=ֶ���;V�hC�s�)�
�U�+��h��2H�oX�D����oC�A�:U�gHb����E���I���^�����kx�\�G�'�Nvnlw�M��
��UU���C���(�G������H�T�Ƴ�w�+���f���ޮd7]/q{Ýi��jUv(}g�d�(YS��D���U9�!!���r�juG#Lr��;؅��@p�J��{��sҎчe_�9"��o���f,�mvc�dґB�Ȯ�a3�)0�hN�E����6�넕�G�Eq��|q��<h_��8�}B���V�|̷�8�2y�P_�,t�6�W�,�dqR��4�a[��:aǽaI`�d걌&�/s�2��W�{W�il�Q
1�FE�2Q�Z�+�;�a��k��z'4ܝ�%XPe�$is���C��vV�	��o�\ ��&�2r	�t��Iy���<t��L��BƊt���"CvxW�s$עA���P\�i���Bz�2��d�e��
�n�Z�OӄP�\sGVf���P���Tl�
��!B=Q����g���fX.�Q���2f\���9Kb����K�|�a)�2��aZ
��I���y%C�ۇ�|/)2��Mu���_�b;�;������,�Tdxk2ǂ_ۃ1$�S
U���]j�QЋ�B�YI����[{�l�KqW���x�tR�,�K4��dcW�'	�΄\Wgbr	��Q�Ca��^�#�s���3�(���5��?��m"�4d�"ӁJ�A�
ᢞ�q��\�m��#�v��qb��}�Y�
�u��v�p������L�A�3�PF���R`2t��+���F�����Ss�pI��ܫ���L5S�]�BE�����`7�ي"���۸|Sn@`�a95��8%i~ؗ����?�
ԇJ}IT^އ��bԤ����^w:�D�y���d%�Ҫ1�FX$�<�m~�cgL6���T\z�;T�A�H�qe%�a�.ﰂ��{�З�D@�4�p�C�ͧpBB���z��9!��۶G��}�<I�]Ƃ��1ۏ�@�d>��4�avɊ���=�0+k�ų�wb0�T���a�WW������D��y弹x��-��թ��m�ce9�\��$қЫE�����׮g�$�n��4�ҹ�
#atq�B=@x�[fn�v�nɡ��ܲ�ru6̮�a�}������VbE��a��/Kq���`m)MN-1���[��Ա�X��[�.��|��\6%5E���ec�#'��y�k��X����E]��r��E€�mY(����'�Q�ouXcn�e��G�@�C��<H�_��P��:k����u+���X�)�ɬ*��~!�u�MR�%"���U�X��
��eJ�?Ա���t���5�QheX�@=�[�Ma9�No��\���c�޳>��LM)��M�>Vb�C���l��7l���o����H�h_�x;G�Ee�8F#�dF;����`�@�,�h9?�x��3��r3\��F��}�R���Y��Md�ar1�»[_K��D�l&��EF�K�e��{cum��]����p�"�.���S`8������9�+���0��E��?s���8	놺��elY_�R)C�Mg�L�rC�+dy�Bɭɠ�}$�R]?��m�4�&��c^�����W���VT�I�<{�ia��tc;�9/g��OF�d�2��҄yL��֛�L��r>�+nV�	�Jڔ���{#�]��^�@�	HL��Ю$�ew�i;Ui�y���t.�駕3����]	���+��^%j�cfNي�t�b���߫z����V���|�j��_�~�Ŧ�o[{G�����b7,��F.��$�(K�!�V�#Ib��^�kXl.�c�
K��3��U5�5�$�7�$�c���X!���s�HEX��jr�8[Hq�*U��ڗP,�Of����ă��9��z�Ԗ��Q�˽u:�
�WG�
�b^���&�o�W�o]<n��0�z³�e���yq�(s_*aD�^���f�U�ܰ�K�4�`Yr9�rt�~Y/^�l}n��+��,OW��WyyD4j����=o*`&�/���Av�޹k
�u���$�0ne'�7rk���Y�Yd�A]�5��e.	�)��¤�G�(B�|c��ήv[�T�Щ� �3�0��,���yv�)&��OzxYVl������E��Y����n[OܬF�=��b�b/�Kr���eFq��r�N�F��¢��%�c2LV4-&}zi)��9�����1jՊ�1#J�)��0��T��ha�DLS�Z����kcG��~n3�,fV�6�^�uAv����e�C�PZ8`���f��')�Y�"I�]cL��8�@�j��Bw
;&��R,�)Cqoחa�E�ѫ�g���\���8H�x�ؙ�ȭL��z�b���%��O��q���wv�e/m����Ϥ����p5��nK���I�2��6aiP�޾������m�$�2Oxk~��!�̪��XC��?}�I"�
���Ҽ�jS�I���%�JC��Ѝ��Q��y�j?��Ɠ������֝�̀
˹��l�|�5�qk�&۴����a�7p�=��?�ͻȌ�e��Ær����6�Ve��Ӫ����,�V3o�e4���fh/ܪ1�B$PO�b8��<r[���GP�0∶&�k���t-��Է���ҕ�pI�M�ձ$����.}c�'�\QY�ꬨ���ڸ.a,b?�2�ߑe!FN��NR%?-���.d��݆��W/�Wy���<H��Ag#�Q#���~�\깍�p$7���(,V���ϊ,�W�H�CVg-$�!�2,v�C�q_�7���Q/�\&���dXm�Ny�d6�X��R(���������fZOV��1X������zr>73b5W:�CS�C9FL����F9ffl�ﲌqf�1��hm�z�����|�#8��.����}��F���2o����p���gm�'��FF��G��SV%�XtADȐ�yG0x�� �~U�g��I}��n"�Ne�RD�m�
3�:r2O"�H�'�-�t����B"�1M�,y}��������S� ��>0�K�b�Z&�ˋ)����@��P4ME�e��rR��DToT���U|�����ޑ�*��;�[�qX.l�'�`�0�Šm&��`�Lz'V@�*SĨ���
�a�|U��*�!�?�WG��u5�)��s�A�]�ݚ�,Wl+�b�dpPMv&P�8d�/h�n��Օ��Mc�*��T��MnшڑMtU,A To'�-*;^ݒ�(,I��ø�T{̀>�
�4�,P�(ր��5VƸ�V-Ș���!$L�����$T1�Z�j���!�ҝރ������u��J,�d%���$SE"U��5>���W�ӵ��x30)J&��}�x�0�	�A]+"��?���ʸ�"`������q
�����hv7W
�X8���	����	 �{̪E��`t7�T6]�SDwV�_BE%9|{�pS��������v��4>C��M�g���ح�N�Pv��]���B�6oӋ����*���l݉a�/m�𙫓ٕ�9)Dz�b�p����P�{9�ˀ*G.�x�>6�4"��-�/dR��m/��v"�g��,��F�թ�zm�,P�W����Yq���G�⶜	�H�G3!��4�7R�|��)�hR�	+�|y�:�%�*HV�"V�+㽬'b6�~���q�����}�֮���
:8��!;�2լ�V��|�[םP�$�H���&��^d�b�X�D�u�6�щ�&�f6�x��hT=�Q�V$�Q��4c�&	PAs���'��8�� J��f�
��#B�B�wʊ�=C�t���$7C�9#ߩ�_A�5o���,�Z_V,C��ѐa�h��=��ߺ~~�e�_�2Noo�2�j5S@�ݗW��9%$TP'�]�-,u�̔�k��F{]p$��B�ǩdͱ!(�3e���j�>�PNUAFy�L�l_D��y�l���|M��l�i�$Z� ��V8LOk�#�s�Z(�buA8�5*���EY.��Ϣ{涳�Mb
�]\5J�"4
����k����⦖9k��ӥh�{��I�ޤ��e�gT`��dܽl��t������fJ�N1�W��GTpF���Z���LͰ��P��?b�
���'��B�C)��Jb�(�S*@��A�z��+�J<9͂���e^����1����t��dQ8�34̱�a�<EaƢn̫Vq��Ȩ
ܨ-��VJ� ]�$�wVw�(sk��
P۬,�KK��	:�m�Fu<j ����Zu��v��֖�«�i#��Fh�I�ߗ�ND��m����`_̧.�RJW�c����D�QnF����X���KU���A""�
�"��2�%��j-���,��Z�@��mJv�*B2�
���M�T��eeT�#0�1v��0�E�&�(CDXlA�FEպ�`�
����o6䶆���)��LE;̌"K�*Iz#�g�ͧx�Yp�@�~�J-r4Y�{@��O~����zH�����&�m`��^�D�Y?e�x�g��������|��Mx����YT8Z	1�%a1����v�G�lɈ�'�R%|���f͖+{�g��e�Ec�Z��|�j|����P�Ж����9��T5���ԡ�`.�F�\{wNvG�?�X'��Đgy#�S�:~sX�Ӎ�;U�л������B�6-�a�*��@�`�,*�j,���FZ2��%�P�,�{9!�q�W$����1���L�(�@�J�`���3
�W(�c���Z������Bc%��1c��>�;���ɼ�R��Mۄ^>�:`�B�F�/q�F���}e�!����]�E��\��hc�m+X!�ƞ 5����j�m6��=��Q\��U�2�
E�Q�oD*Z}DA�ܴ��6�Pܼ���D8�
��A-Ϯ��c�l���]���c�;��|��uA�
�qUA����t�u��jn��2��9!0�c������n(��od��t�UT{Ũ�XU_��E���b�����ْux��=�p6T��>W�HF�kj0D��qn��`�5>P� �nT�de�
�+V�]��1�;ʺw�]V���*����T��D�R1�����P�������.x�TT�f��:���P�Q�Ib:m�D霥kL�n����#�5l�l̆[�h�mx�6
��A�F��-�e_O�i&?1/��"�/���<͒��hƹAP�4O���B����b*�nu�=G���8pX��q$�Mr
y	{EHʈ��Xb�A�Ymo.��ed{�ɖ7����`U���"ߎ巟��*�̅./�bz�������ԉ�?F)˜}����v���{��Ӕ1cz6�].;�e�`J�ӟa�%�P��O�M;w��wD�٩>A��	寑�ZrVXT�
�Ύ�L:��
C�,�\W����'.�3YN��
H��4C�O,�`o㫑NT���e���N�Cnb���r<�@d��*�uX��7)��x�XN
8)�&��p��mq��1��@�h}�WQ�O�cD���!���]����DXn�{؛+����qOV��X؁���VWmh�I(�JH���y�[��Hb֭7X!�e�r37� �g�M�ڤ�j,#zL6�LUe�-h;��<���=Av��f���D=�r��
��|�Cuho&����
+np1O�J��Aks�=K��ԡ��i҇fc3&��'@�2A��x�����ʂv8�9��b�Dg�[Z�Z\"Ϛrԋ�#F���B�72��G,nM��G�Oy�ic�[6�%>L5v(���K=a��r�����,+Z4���{���4�JV���;�3ï��\|N��It���Yoi���mj��đ<��_"��`�?����Э4]E�8�!Mm�b��8�^6�TQy��Q6_V^��%��pb��S̘�d�/�-:��\Um�؅u�Tb05�������K^2J�,Jdz'��}3O��$i�O�͚�#�;����WA�	}Q��Z�z�f���@�Q�3:�F�:�kx�5�/tr|�fOp�z++�g�A? ^�؈�4
=��ފ]S�6�01����"F�as�FgB���E���kJ���-<����.S��:�N�n�rb�bQA&B�W\���FM,˃�̕t��F�	�>����ޜ��al::���[Vo9��N>�x^$���:-��z`vQ:G_�V��ј�U�Q��+:�ӻ/â�Dc���j�$j�a��H�I�:�tr��|n���)M����Άз,�|���)�s��,'^0���l��D|v3C{W|��Cjc�,�߄İ+����CDZ,e�(�	�h��
oQ�0=H�Vd�qg�^߻�Qjd�,�Ǣ�xFE�D3���w����(iQ�
	
�5~��bI}r5�\&���O���2��r�n@�l�޴`��Q�4������_�j�/��\�q>0C8�N��ITO�S�:�Z��^��R��lDHhE��M�gi�^�������v �B���	[?,;c�r��]gWT�z��MY�&0�f�@��4�sM�D�f�ݑ�FY���	�r!�j���)���_Ob�x�r �0�)�a��՘�+-)آ�ߠ��5Y��eV��W1^���n�
�!v|A��ĸ!~RP���`��eX6����Xٰ��lw��3�	�f�qh-�O�F0/��*h"O���05P-4����\ʎ�z
�R�IK�m�Tu'�S�ai	�,t�!��1������X{a�6�o��t1��$.����M$����J80Z����x0�������[���k�u��7����@��x{��F�{M�CZ�~�	�"��"ҍX�|T3�����gY��7i�C͚]�jp3�N����㠓v���Z�nu�W#�
-N��}���.�X̔�H����TN@cIX\S�|Bض��ߛĠ&����d�~X���
��X�szw��E�#G��9��I�N�S^:Sލ����{U���']���L��������
�_ ��i�@��0��_s����P�y�g��@xM�菇�r��O3���.̸�-�Q6W�ף0Ԑ9�FU�'��zǘ���8�zVboh�|�ԗ��!/WD�N�.�0��EZ�	B�����F/�1�{��L��U*.�SDIJ�=���Gn�B�&t��B8T��y��I�T�M}���ܰ:�z]�˳����A3���4/��/��R�|�ue�g���w^�^z4I���b��(���DJ��iN�*!�tp����<�ZhP
���@c�Bd�o'��|��;�W��ڜ��Jի�8S;���MS��`҂H����N�u�=$:�����+�I�%�����8LD�Q�����u�p9a�?=q
�#��yա��3��yyE���
�/+:Z�(�BF�&�p��l��^	���N�D�/��~ۭ���{6�����6�^֬8`-�x�*���=5Z�l�Qh�񞡼��4(�V���S�Y��VύI'��8��3Ϲyg�[4�ޢ��`F�T�h�(�Z��^:4�}�洉"��ہ?X	�d�4ACD#�႐�����JQ"����gĶfΏ_iU��:4�!��D4Q�Z�\rF%3Z�s[+s�F����oDB{�_]��a}��ج{J8W*~����N$`7J���O�t�U��x�x`+�<�&��{e~g��ľ��H��t�x��|�ho�r�l�B` V��2̡2�)A�݉)�̪p��ij7��7��4i	�,T}=�
�
�ܡ�F�b:3����Ú�"�`S8��!2�K��N��5Ӌ��ĵ�/�[?�֋Zj�C��o���\57ge
�;�R
�<��꾇C^���k�|����C����m�^kA�z�f����%�'�0��2?�+g��xn< Q4Y�]v�$n�q/QD���*�]�)3|��miu�� �#��]F����+��+�k��ŀ�:	�h�s{Z���iτ�2ܤ�#z5u��(���U"	+�&7��VBϝD�,g�3`G%͹F݋f�{��-�UF�9�i�yh��i�)�Ls�p�Jx�2�XAM
��g��i#5�M�P��ן��'!�W�Cwљ�{��"�A�۔�l�mi/F�s�ih	T�-cv&���h3����9u:Nl�=r�*S�iR7���^�
��l��E�ލ""a7�u�M��]k6�u��E���
%�b�b'��'Hb���9gI/���!���r�Q�2���n'��]iFEչ����C���ŸC����˫�h*Y_����|S�0�j�K�
M��1E_�����	hk�ܵ�Q-�>���-����0��x�`Yr��|�Y���>��.�ln�R]IJ8:��*��@>�a�u���d;͞~�R��b���$~��Qn�R��{�h�ɕ�H�T��ᆷ�+��E�j�ZMޚ�R�4�5��g���1#
���/�X�����ե�a4˜�ͣ[L&�'�G) �(��S2�k6�|J�7	5�2�Y�\�̈sm��������O�t�?�NW��P�l�>S��u��������D����&}0Y��:%��42`�
m\JA4�s���t�F/��u�Wt�]T���tV�WPQ{#E�hE�,{�E�tZbq^�E���.R�pts
[*l�
�(��Ec�;��I��*��9�/V��w����hM���oQ��\�-+��������&�y�*���D�=ic 1܄�S�U�XU���:�bTrEe#?���N���GU-��:3�m\&Zݸ�߯����~a��d957X���&R�NUE
�����>	f�6
���G
T7q����*Wr�>t�ν+���a���x��>`���`�r�Ԭo
=���./�s�qt���s{ӬJ���}ӹ\�*;�����vW�JT�"��տY�7YäN�w�-�m�:�B��vkū��h�M$�|f����5@��P]8�Άw�ib�f.�fE�����G�L�5�,�kpO�z<��o⏧H[j*��zE�n�<���ױWIzi��V.�*�Z�+q)`u.��|��h��tK�
HT/��\���wn�5�I񴃂/[�*w)&�3~u�7WBUbg������.��;��*f���x{e���Yz�δ�o��U5`��^$�R�M�.`*�:���,���W֝/\k�c�\\0�s�uz����wnw��Qb	9T�1�xn�t�R����Z0�pL��T�@D���R�Bt�D�-,��\����A��\a&�>���&9iL�L�M1l���f�U�h�>o�2�o=��J�euŝ���b��*��Փ���x�OC4�J�b��0���8����2����k�#�r�l@���?��JĈ�L(vM>��S0L��b�jL��t�&����o���+�ҚC��$�D
��U	Q�$����07Ma�*'�B�z������4��`>7���cfG��>�4-�t6j�5�UY]_��>�[�
~^S�6s>�,��<!�Z����SoZ���ܪ&"J����R�މIc�7���y��T9�e`���X>Rn>„VFn`���BC�:���rp~E��a�˶�����f��F#d��Pݢ�X�D8m,.��)���sM���J��<j�ND�A<B���i�z��C"�z�5��#A?�	
�X�i�`��\��յUq�x�[�����(^XW\�򿴾FU�e]ϩS_7�7LK9�Ʉ���9>����e=k�H���C�K�U��3KH^|��u��s��<��*�a����$��&	N�q�m�oⴇ�:�VP���GuzKVќԅg��
5m�F0��|��A���
�!���1>lojِ���9����#DV�$p�S���I�?ˏ���S�q69�v�]^�-lh�}Ľŋ*;zbq��,d4�胅���e���/���rte:�Y�{��6@��E�<�����cE/��螱	����x��>�ii���ՖѣG�)���>!��
��(���d���PMq�pp�y�?Y	��.>:5�S�b^Sf"D��S���[R����	l����W}��@W���o����^S��v,o���\S���o5:a��N�(���4�Ee,�¶��08��&�U�1|ѡ��/]n�s��
=����h�)4-�=�<��5��d�h,��
�P��8\�
O^�^��uRڠ�jr[�@>'�?��#�.�=nЖ,DQ�Aݛ�`�^�-��مϫYh���k�TI
Wb�J�2l��3��Sf��m��Р暿��>�/�[V����Ъ��WM⓹�	�ۢjA���}�ā���������ֳ���[1��ێ� (��օî�b����+)'D}�k>�&_3���L�5��d�웩�W;.U ��pn��ȯgJϢ@
�kJ��U�O��z,,�K��	����F
��2�=�&��9��e
���{%�V�Fh�P-�Z�XYq��N^^4�\'�p�_��?t��������.�[�,�����Ѱ�
�n�\VU
�LT%�*�ưD�j�uV��Q?bBS�<�t�B��*�����H��B%�3��d5�M������fB��<�µ���=�P�m{k����.�(��E[�l5xNrӣJ����ܚ5��T��5�.��Y[*7�^$r��ѹ�6r�r��^�8�.^Zq<,
d��#��s�ʪ?�;w�v�͌��<"l�#%�!;b\�8Á�~��c����U:bz;J7S�Ҧ�m�k��;��_�Bl
����9��F�J�Sɾw:���hs�-��7$(R6rװ����q�g�ßR�UT��"j�o�ȥ�p"!��S��b���Y��v��q�$�m)��q<�i��#����FZeyH���<rC�!�Uvs�>�;E��j�ՆX*�6�
���6�y#p��J��V˻Y��9`>77*zZ�a���[��j4����蝉
���	����6 �0tݹk��X�N�0(�y�l�rh*���9��P?�M^�`�SD�fƐ/6��v�V�[�%�q>h��qg��Z^�T��ۢ��`V��o�:�v&���i������&~�T���Z0^�tԂU�ܜn�˯��.���JG��T�w%C,�����0E�6e/gG��֏����)]��i�!�GW-tᇦ�xI�JM�M�cw�E|�}S�ͿpYw�V���#�q�>��\�[��2B}1��͆!��|(3�!�*�55�
��,L��%�6ԝ��A�1g�v��B8�$�
��\U�fu����Ħ�:��"!���v���T��y�Sw�וճhFj��)J�U�p�\G5�佬
���:��H#��;UƳ�r��)��\��b�?�bmv�7��XM�@N33�� <��]C��`F�Ė�aD�hX�G�e�� ����r3~���B�j�`=�	5aK4|��!��~���]�G!\q:���0�:�а�V�bN�EE��L���N*jU(�k�UU��G�ޏ��΂#&�[�ϣ�0�K#����b��t��;���.�vX�U1����Me�f��F��t��aִ���lRM61�^��gb�X���n�c�5i���k��'������k���h�qA�����5�s�I�c��I3��&��c���4
f\���g�F��X� o-�i"�/<����UH2t,��q��Ba�$V:�%:ò�هH\��^d� ǐ�Qc!�/�O� �-�/�st� ,:<U�Z��v�fl驡cJ��*v:�L���ǥ΋����)w|�u�~]��zuͅ�Z�q(f��y�mr?V��$���Q0�u��|>߬�l3�8����iS�+o���7<���x�=�7�����kn����qc|��)��6�w�@X�[p��c2-�j���c�6���[`�����b�#ܸ�1ۉ���#|0M�����<��/j+�?D��T�a����V�itzG��U�6���ng�_��
Ӑ}\ù��;Fn�'5gU�I��_��w�.�}�Xp���"�ɓ�L���.0����[q����x���&�	C_)��i,�b@)zl�F�˭��V�=� ���Ůr���(�y"ZsAy���f.{C\%bK��L29]5n���j���e����z
UL��7#�Zp���P�x8*[c�F	kf�GcZNAju��{W���-2�r�Y_agĽD��w>X�\R���.��U�-x'Q�+�Oy>Y����V~��}dσs9������Ʉ�,;G]b�k���34�T֤K����\����I�Z���PIB%��+��l�DmD�a)BP����]�i'f��aW(������@F��G"R�KO��ӛ;t��0��TM��a���6�֙���
�X�<Y}�n��`S��kt@�&@����4}@�U�x~��`�� L0*�U�Ĵ`���[o��F0ik�j��Z&d+����=`F�R*Ϣ^�F9��_�^�㪕�'�$Uj�09�j��_�q�u��M�e��w��K����pO�^��`Ʌ�\[�l��i���;<5W���%)[lq���Ρ($�{gt�od�\6�g����o~���7�k��N0�}ぬL�0�GT��'F�(DO5p���1���!e�AZc\V7�L�h�+t��I=���E8�4�fk�J�Aϴ������)�(X��j�l����)�{�;{���'��Ū�1�$&��T��:k9�X�>�lu����w.��aj�xO,?hy��Z[Q��2���JQ6𰯗�W�_QW�c�d�8%5��2aa�s	�i_��Ү`
�9�]C�Բ�����u���(cn�B/�q���i��!������,����rM#;3�}��:Pz���
�����/���hD�EV�8��x^s�_�,T��<���! �(�:q�'������ɾi�Z\uy��m,���R6�`Ž�`#T#����y!��e�NS��3���(1��f�����a�lwcS5ľxHcy�5
shE�?��L<(�Gs	tdE���ʔ�7��4Z:4�&�٫Q\+>����!���-�%�B-�W�xGto|d�f3���TT���:�j�
�%b]?���16M!f)y>Ҭ�:a�y�'qZ0ֶ��$��I.�4`}#��Jh5`�>�R��
[u>c�g���Ӡ/$����0�gV�����ӹ�3��֠��� ���fz�?޸hN
�F+�Z�+�W^����Z��֒��ӺK�� ,�S_ˬ�&����K�������Y<Z��[f(��1��V����E�Aw��`�m�A���saς�n�?�v��~/�����>]����xt&���j�4��CPn��c/:��y:��@��;��l�>mhe�}������ORJ�M�
��,c�Q��[�hH���«6;�*5D��:e��&M�]�����8yq�I��>�Y3�K/E��>'�����ba b�o�G-�z��b�(����B�-�^�@<��>~�!���=��'a��*mU����J��8a�qbZ˖��y��e��8��C3̀�WG��vcFh�yR�=�j��,��|��Y���Z��Be��Ƿ?d5��A��ը�Cք�Y>�kK�;�\
��Q�xw`mH�ޡn�<.�����z��+SزG�̐����^�x�p)y|��A4Dq��Xh7�͚|��gi�V���/(C�w��
��'2��_W3N��V˷`[[4�ϼ]��6\�fUN��_=mN	.ȀǷC��:�y�4�\:�g��tT�tG6'�L�P�J�%�N���ި�1�.�R�Σ��;���my߮t{����m�-c>�pg����xĪǼHV*��UC��
���W;ىw�5$��&� ��Ք�t()�Z��pR1��Q� �I���L��f���kZn<��lp&-*�:��$^��:C gj�R:������`�Gx�"���r��YD���+��k�\i-��./`�r�D<�d�H�[�XQ1�T\�4�+�
�ű�e..:��9v"��U�Z�P��\*���2ң��#���TıB��#���朋PH�%�xT�/�	;7�%*g�r�@ح��\�?l��'�(�2�c"�7���=)N��_B���7���cy�,X�"�2P@�S(`��1�l&`����Zd���d
�ME�:s
|WHc�`��I%���0˥�����*
�P��Z�{� lN�����>�ؚYE(*���J�{+ψ��:���8��v�	��\M5�{��.!���,OLRp`WO#����:G=T{�e<ܡ��kדi��i�Χ3 �*?�%����K\���f0eo2�i\g��Ar�:�{��j�	R!��Ll�&PG�o
%k�
�uKf{a�pC8�����W�u��3;)5���>�U�&~��hׯY�uZ�"�z	I���ƽ�г`���8�r���H14�4��%��#׌�4t̑�� �{����c,��l�6A��H��8�z�v���"��5]L�!j�1Ӓ�UG�r47��QOSUk��Y�
d��e͂O�+�yV"ܵX�xͧ��sa��j�,ە�֜�h��V�L�j���8�&��{��,���R��Lb�������W�kFZ����0��~�}pt3-�+�D3G@�}X�|��k����Č��vy�G]9���):CI�K���Dy��p�P��T�2!L��2ce��:(g�.��
��,-"5�^��N~4?��i�I�$��]l��b��'E돜�6�c�p����=2�5!��"Ks�چ����P�6v/Y{����:W�A{Y�S���%=W�.(�e]1�;�v�)�XOY߻���xІ�Ö�ž�Q��U?��Y��T9>i�JY�K>z���z��:Q߰ҍTlN�)v�hajU�����Z7`�;WwE�L,���H�1��5�M��}��� ���Sleƀʉ�Lǯw��/��"�=Ś����(v�@ɀ�ӗ��ڬB��d�8�ٰ��T\Uc��K`�†MBL�$���1�jTbT嬪���	�Z&��ɰ��v�&"b�s.�4�X��</<78?��d�w��J+i;�J	E�B���B'A��gi�5o6N(FE�-z4EΈ�pn(�B�%�H���Qܔy����<y��ƣ��P���p��O���à���Éà�h|܊�Lµn�"��!�FΓH�p��s��ﴐ�=.��j�Z��J��5��z�;���VY�R9*��=m�yf-�&��}�	Ȇ��2�J\�3v�n�&fRcdCj��[F��ң`�P-��ÒUJ��=|��Q�Xw|W�0n.7�.�h���1�.���]"أǽ �VH&C�֝��.��q��ƴbS�0��������$ap՟d�-
K%�C['X���?u%hs�
��	�Mr��T=�V7�|�	�B�o�{ғu-������R��'�js!��07��!չC��0_ԨA!�G��T�q��y\�|0�8P������/x��Go��zl�щ�_@��e��ZL�����;ۈyϠA��7ދ��(L�z�-�5�[ڊ���հZ-��*xGQ{���\�{Rɉ����w�Ĉ�F���7�f*$���p���W�v�ò�V_��
�5�/�EH*\�cK��k:`V�;D�
��ұ�Q&I2��}�(��Bլ�B��4l��&�́wWaw,	�)�����ݓ2e��V��Z�FJֱ��q�<M8�O7�,Ā�X$deFxC�/e�ba��
>c���c�6�G1��V����'��&j��#�,�N��e�gHɺ��EZ�'ֳ*v�uӰP{��Bw�`�;�G4�ժ�Y8"T�ل��4��YA����F$��f��|6�F`@"�G��`q��e٘bM٨K¢���
��@P#ix|kq`�	ώ�4PW�0ST*�ћQ�h[�&�ա�'6�(1>����Ms�eg1c�Ҿ�|KjF�Y궂'��	�+�b�qW\i�t�ŵA=�8�em߀jw�`�JMPL�D��1�a��lZmEOP7��q���q���Z�y<pD�X���$��4o�ܞ�v�:��l	����i����A$�oE/�W�RX@������q���Q�4:$� ����W/(;PS_��I��W]��ˬv��~N"�}��/�uK�ܒ&^c�fat\��֮����AW��`a�‘�t����#G������&p��|�I��Òg��~A��"�AQ��*��R��AZ����8y׏����?	���,��\fmL��Y$�:��}���S��<V9�ك��<<��L�K�3�3y��<g6mӷ�uhM�e�>ez�2���Vd�]D�����a-��2"t��Cӂ�*
v�:��a|�N7��̍�q)f��,6��*�3�0�i�[�ь������Wq����9��2A�/j	�%f,xzG�O�(ԟ�Qm@Y�U����t�U0�OR�ϊ��X�������I�Q0��8�k_�K�,)���cTʪ���"aJX�V�h��a�i�t�o0r�vƔ�
���i1!���E01럞�z$�?�
�<�62Q�����7�[�3�}@x[-�J����TY���|����^B]�l�zҦBm�hV�S�Lu���+:楨01!&�1�~�쑑�܇z%�g�Z�"�E�8���P�膕G��à�b`��E�q�:���TذEePg9^a����Y8Q��W�j�{i����Z�3 �_^`�%*�b4gDMBY�5c��Ɗ�h�*��f1"��Ph�C�c�x-`�]<��/"U�ɂ����#k8�!��=&f���U�%.|_XO"�铎�N���0�iT?�ߩ ���N�՝H�
��Q7�>hݫ��M��lJ��S��iR��B�@�{��|1�?��S��g�}M����+��"�X���1ˠ.j�a�Yi�@����1:�ďoZ7�?rk���#;v*E��%:�P�>jK	U�]~;�^]�LrR� ���
l���|Te/TQՓާHiٛ�~���!cV��N���I_�(��"J����rKF�*�u�(R.瞶��&�?��8����U��v�'ϲ*�*:�f�ҪHD�0���B"T�P���=_����<�@օ�X���_��O��c-R, h�&�Y7!7�\��i ���X��e�<Y:=�̵�����Cc$�v����XK�.�R�gd��=���'*A�%
��
�P�(o�(���q�S9'������W�;����[��HV=�ף,�JU9��kP�f��t�a^d�x�l�)z?EwZ/��\2�i���c�#��j�2�Nli |<��~��c�]o��&"DؼY�&����OY�d�=#��]��������I`���.�o�䊏�c����hZM��B�e��]��R�g<u�������h���u:_a��|Zm��<<u:A�9��Q�O��J�P���������m6�M�j���e\/�V��2w�ې�Z�7ľ�0��(�F�L`�L� �\2r���r��<�m�\��P`P4"B��j�Cu��*�ʥ^c��8�DOa3��
KR�b�w��"��3�YkL�<!��ģ����vD~��j�و����	q�R�+!Xy/�:�{�T�`@=�B[3n�ă�:�S��l4���Xq8�S	��A��.�
;֫��B��B7�/TUg�f٨�JC���ю(Pq�Ӧ��a�Uu�
k�t��.\�qK�$\�O
�dh��Œ[E�jY��PI��3$�p<R1�%�\)�'h�/3:�vkv��Cv�so�4u�,��.1d��_��΃|�B�P�p��B�F�ў�f��>t��+��)�ͤZAT}�'^vq/�>�ʓ�H]���k����v0�8r����|��HEZn�I�1#�C�9�U%Z�ٶTaO�ܴ��������3@Qْ"��2vY��TԱ�@��c�*�W�h�^�Ls�{����V<�Xh��{��Ohℤm�	Z���!������d�r���l�T��D$���)��L�_L\AA^�Lt����Z�ҡ)B5�ثu�5�G�[�d���_�O��(WN�Ìݏq�	�'d�F*�+��d�NK�0�&&w�l#f��-�ĴK����O�O�r�4� R>6��eb<�5�Z��"|;py�W!�-D@���}���n/���ԙ>L�a	��V�y�3�bEY�Oc�拯����h�H9�{����d��),��B��p�Kђ/�t����Om¸������v5��Y�G�1`�df������q���l�Tm�[�d;��.wf1�ȶo��L��WEJv�l�D�(�~^�������$�:ɤ���:����V(K�huD3aC�2D�,h~x0���\��wn+]��jaE�S�����zh�0��W��bMZ
:��23�^�-p5�br��au��mȲZ����HQ�B+����R]�+3Wo�Q@T������QtNx���3��s���zuT�}���m�`�10�7x������:�]��\ Z��A*����\p�9����M��z	���P�����g��}�%d�,y/
�([��(p�?.I4_��_��U1
�?�֕+S��X�0I��7t���g�!M����U�6�s�5���՚h�����g�\�X�D�ف��6��o�1|u���V�8����'��u�}�H�������i��ˇ��a'��}�7��R0`��^�/��&̾kXmÔ.+�Mw��舫�Φ'�L�=�2x&�Qn�p�(0���j�S�<�^᱁
!�5��N{x�:�+� �‡@����9m�>��n��t����	z`G����0m߮�BXWo�P4c�[T��M9���?��wD�B8��0ЊQ���Ãr�:p����F�>�1�ސ(0Q]�"�
]�{�sd�,M���p%8�6F6�VG��[�X�Ms�*�ߟ��5'l2��k�pVD�����s�Ei��l����na"�%�k\��0�OuZ���t��)�&���M̽��2T�;�-��,�}�ք�j����r+�m���Sa4�]TŸ>��7��QYq�o`�k����QUJ��5�F��zC�z�����߻@�=4e�r@Mv�o(R҄S�t"C/h��&I��d�5?ޢ>4|�Fu8�7�gB5)y絳t����"W���o6�#�=2��312>\�R�|�[!��,� ��yI�]�Ԡ?~[½��;�������[z�@�OѹEP9��_�}�d;���r�X��/�i�����<�ΐ��L��-���A� H��G����2�=DfP��ưz�Y�q�F(�h�*O
g��<2�nf��0S��
�)Ig���w:S
 >���`5i�׍�ݖ�=؝,4�gXA��������5L{����8�C�{~��xN�m�³���)<c���(���z��@<Ԍ�\�j�U�E��R��i	��|E�z|�☍%m���|�;�"��Xӻ������aƟ��`[;�b�{�I��Ui4�Y��?��A�H�+��3�_]�ͽ��y��(@'�$z(��\��d�B�@��_~U�us�� �Ҍ�J1�+��
>̶T�[7�,+�����%�Nd�u$�;�?�*�M@"�H��RP����Ǵ�����W_�@0����\EK4�~��?ݫ�h�� '[|����'K���@EX���y��FR0����Dd�`	��Rɒ�*�7���}�^w���~�N�_�ʻY�!0�����k;���$��h�BQ�M������/i�e��|ϩC��4g��(��#�����I�Q�R Oޓ��(8�����Vg�Os�V�C��![{�n��Bn4dY@����.]��;Edi��˛��zr
��d�󥸃�j�@�ȡ��V�P?é
�K�*qX�m��uqA�˓�|�wj�̛�cX�D…vl�ɔʰ`�!u�~	�
�<c �+H7%���K�w�ֺM�Wo��B�%�S�J�8�k:�����8��l8�b���f���7����=���v���ư�,����P,y��O�	:�MG�G�R|��0���k�:R�*QH�2dc��X|SO����&�P��>��K��/d����*�1%.�L;��g��`��H���߹�򀂢F`��)Ge,��e��>�Pp�So6vssb����m�<�6@�����=h%MI�NE���q�R�Yo6��zd+����Vפ�i�G��	�z�)���ͳ�|u.^�i?9�FI#�| �33̭?C�5�4�:�w!Ǻ�
y�^Cb��(��D~�+
u���"�w}3�]'$|ӯ=,D0LE0?���Hc%��"Ct�[���PC)��dz�6�����m�_:[����ρ�t„�g�1w�\n
���'��x�Ǫ,Ćβ0`�>s��=MV�Xr=�D�;9�eYz����Sr"�@=��5��]#�A��*�Δ��cl�����P�d�w
�:��D�,XE�z�W��u�sR�jɞ38}�]��!�t���ˤ糋S$-V�զ�Դ�K�MV7s�Bܼ�|}�$�j��:���ُ���$��g9;#t�,׫�>�Cf�L�Y�U�D+�-h8���6Թ�E!��έ�E
gWx�JT�	`
�~^6d���:�!��7C�^:B����9-P�?�n%�+���J]�S�gR��T~�I0����k���N֎J|��A�8�G� ���+Q��Ӵ��-�5b�g�ԹiK�j0X;"SH:�,�"���5GMfxDIu�P�M���b�o������`\�Pz�r�4��Dh�ǰ�XM�yg��IO�Pr�&�9�}b����{�z�i�/�/Y�+��@��zyv���߿ĕ?)РU�r-�o��ל��Ǜs5��va����jͻY�a��;�����S���)��"ۅ��*�y"הb���g���<���^�u��C8a�������,�=1A%����P�P}b�K�ił�����s_���Wݤ�i�;�
���#�XQx݇�$��P�9f�`�g�`�ts�v��6�z+�Uh.���56�$K�:���4��zx��v#���/��t3ѻ�Y���V휴�u�D?8��ۿ?������6)٫��=c�o�6�}I��b�f����J_�E�؀'�55�ye,7�”Z=ڀ9iw�)#���q��?��(s/6��P�S�]��F�iwX����u_)v:r�m�C�1$@7y������72��
�r*�m���Æ��I��Z�����zO������s`A����qz���=��j��������S�����O��Y��eť2��V���fj��.(6�V��0�2^�2c�\�5i&�<���p��k_EC���fђ>c2f��P�j�+���5���0P�}<���Gb4҂.���{)�HUv`;�e�՜l�hв����2�BslY�*�PKM�[`V��6litespeed-cache-pt_BR.l10n.phpUT	ABiABiux�����[�nG�}߯�5F��i�/�_Ц(��l�)y���]��.���]Rԓ�}���,��
�ɻ/~�?��9�ui�����ݬʌ���ˉȨ�>ܬ7�R���J����]�*����}��f^��~����ݝ�m*[ֹm2_�U�"��#�����|��{o���ֿ�7����w~��7��m���WE͡�>���F�_��[����f/K�.\�8c���YY�=�(k�b�\jl�vx�h�2w�suc*�;[��A+��ykυ�M�G�xV`CxD>�|wqU&fe�ܥSz`�5֛:+�ʗ�s[M1��b�&	���<���nX�㸬<�*S�W[2�ا���x235׮۴"���2����v�_�t3Ro
��P�-!���C�ʼ�{�8+�F�uwf:xX�1�l�4^�p�guSߺ{ck��][~:ޖ�7���h�`	���:��e���n�0��gPG�{��ˍ�sT�û{T��d��qϒ��*l.��7� h�9f�Qi��t��,�Ck�(],}})�W|:?�4VX>˵�<�T�+��Ŷ�f����s�/�ɦ����~+�/`.	H_A1�a]��2n#�����f
�b��K�`�dQ|��l}e���d!o�s�}+����YC),�r�a-�h@�X���;�dc+�RF��]�S��m�&w#݅k�؁/W�9��_W�Nh��VW
F?v���v�r�%k=fh�s�b{��"��:��f�[c[�y���X�� /Sx����V�-�#�r���qe�K�J��$��Zi��I'J��i�~�2��ٮ,�C8?輭2(O���r�i�&��5ٓk��覆cO]m�K�m���	D\�g�z_������#��_̓ܞ�c�g���� ֓�������b}j-�Kڪ���_�����ݰ�\���1�Dl/�e6:v
r��Ҋ
�j˄�
�6Wj��o̥��|��zIM�!��R:pΔ4Fq;�D�Y�@>w�Zp��Y�d�F¯5���y�2[y��_n�p9<B�K*�r�����.�>�Q�h!5?�nu�Y`N��v��&�	���΃.�I5kS+�lU��n��Nuׁt�X����\1�n�i`����p
UFה��K3��B��Z�X����܌��`�0Ge������
�����.<Y�MF%��A�7�.�ƙO�L�ܷ)�hY:�*�$�T�����	� ���)�����f�4�`_�gT�h?� *��&� ܘ37��=��h�=�[
<�o�עE�gUw�C��/M���d׵�v����#���*HЫ]!�pA~�l�I�A�~	�ѤVY	뉻��ݮ2�����B�6�Om�
WjZv��3'���к��+X��@qąL����*kW��@���_��w���<u�l\�O	�;|
o����޾�٫#���D���a����E�Py��2r������J��L�%�{=�3�rfe���Q��X9��X*ى�6�Y
�)A���A~�E˭�7̄E���Sۘ�����Ww
��}������]�90{�>K/��]� !$ؚ���}Qe~���Z���]Z���PaU���(g�7�F�C��� �:�0FA�I���3<���Y�����\*N	�E�n�wj��_I�1���૬���O���}�\��]V�#�3F��(�b��{��l�]]�\=��2���m�
w�ɐ�9�hqx�t������@!q��+��],	�ϊ�OJC5�*�D�]�m��K���3�\�4[M��#��p;z�8��t�O�WX[�(�GJ��n���ËP}T�c����n0v����'-�ƦNz���+u�'�?8��͚~�8����ULܩ�U;�3�GJ`�D��|�l�/
3�^��m�"�}O˱cE�Akc���^Oā�<��R�$<�
:,w��$AV�eY��I���/�,՗�����UY���[GL�{�D|#>L��2�l�a&��:,���*S�s(9���d*��d�7�|�D���hk�f��������<@�%j cļ�������|fŊ�	”�W�M��aYW����GuE�l70�2ż��Ҝ�xE�М
`�d�Ѯ�/�,7N&"}�R(�|ܥ����rfc1{֩�G���#vg��0}:$�$H�`�,���q:�[���qv2ut�9�+X�m�v�Sn>�}�P����G/)��7��xD+���U4w�!���C���V���=q��#ݙ�����A����66*%���5�x}R���%�l_p5���ջ0/�T���ߟ�^TNנ��y�7���o�8�{��<z(I<4�t�M��˞N5���Q05տ����e+[J�lK��m�U�A�^��w�D�Z�l�8���l�-�_"GF�D�TL����J�	|B�j엎 	���4�㖑�3~S��/�NQH�	�X���҅L
�{8$���U��@�,Ʉ�X�;'=W�|����}��bL7	!�o��1����=�4h�h@��`E<��I�G4<��N<��]�>�'�Gp�dIֵu_���e�<fP�[�,H4�\A���1�6��K�h��M_��+�E��Lf�'�Z/΂�}�7��G��%|s堜u�ԅ͖T����p�H�Fө��,E�\Y�P�1�:��)��T���17� �d,�@���L$GwꈥB�%�T������8m�k@��<W�<cj��:VoX/�����
E&�p��)��
����ܳ��M��gH��?m���N�9x�INqJ�SK�� �����[��pf��P~���5����-�7��k"�V]�f.�M�Jm�V���_�=�n�Գ&Dz[g�R`��l��}�����Wq@�}��>���&L��(a�P�j!�CYq�!�8}�]���ҟcA�
օ68V��f+�k��n�Y��'3��,��G�����'O̓ӓ������S���Gf6�?::���/�?7a�>=4HO�o�G'�\<9;=Y���)~ߟ�+�r�,`�H{�U�Qpw2�B볨,�r�I���;E�nj����74�\�}����!d6�A���C@Y�����-c�Q}��5R��o��P�U��

wK1����LZl�<�5cY �J�-�{�Aȸ�˰iZ��㫏�?���K��MbC!�B�‰�܄���E.�F�ƚ/���K�ْU���5�����A�^�6��ҥ��)�!N:��1p�y�+��jx�%���(]`!f��R��z�$�5�
�v%�r�!.?
����n7�kq�ս7([Ȳ�N]x�|��V?cB���K��Kɿ7�����"F�7vi�g�(j9~_!��2���{�8H�R�T�5$2��kp�u�X��A�bk�:�����)�ز��	��/�
��}�d�c%���_�DXS;G����/��,T�����8��&Q�ʐ�c�0qAo��q��Cu*��W�O���0�h>��T��`�-��2��qƜJq��`�zAM�Ԩ�Ɠ�ٴ��2��H��_���{���d��~�tNn�0 7,6�,@��l�T�̚���?����s����(�wQ���7Y	6�M�hR���ȬtϨ/���I�L��rdK���U�!K��i�,��%X�X���(�������)��n��	�m���x����u֩�)��腓���]RQ�Uo��xx�C���U�W	�$�b!Mo�$���1{z�呅K����E�%�H�n�jQ�-cNh����.���W�����ҧ��yci��W�k%5ş�j�"��2S�)���I�_��(�QU����,��ݝ�*���uk/��.�F��L�_#���}1y����6��J�W�𓵇�拗<�ZEl��v]�c�!
�e�ۧ:�b(+~�j�ń���F�Y�Ŵ+�-B1Ct`��2�p�>P(�S�b�"VJ	_�?,� ֛7To䥈�^��r{��h���X^I1�3����|3��K�V�םĎ�F#�<�b%��;7��m�^z[��.�����^�n��ΤУ�>Y��X���	�\��=���um�9{C��8��^��3�U���A��Cd�*�3."�z�Wl(3?蛡.d��Ǔ���ZwE��,$K���+�p9P��G<��V�ڏ73ԑ>��k�U����D(�\",%�B���u3�jSR9p�*�R�u��pt����N���	z��еi�H*j��?��m(6�r�?�4�?�t?�㵷 *�/��8�ނEg`$e�cnR�0f�7�c��8��vm'��B�4�sy���͸r���<�J)5�m|L���
Y���n(2�����M8�P��˥�a�rO���5�8�(�x��4����B��?��2�����1�G�I_��AVߪS�yI��=6-�-<��<]�@-��$�������7Lz�-�=�\���ZE���:Q1��՚�ݫ��k��t�+��R^-�_�g�`����i�
���@!��{,y�!��t8�<���s��)��ZNg%���e۰A����Iv7mT�ճ&VA�8�����j�X�B����}z=�p8dԳ��8����N�a�`���Ƃ�D3;^���i'��j���6�u��l��ك������lU��2����(|)A�+�f�@fH2@��w�A��T�}�m;B��J�_3�z����}��\��w+���3��W�#�[-3�/G��I��,�ؒ
'��(%�lUv��
���]��?.\Sb�❙���$�q��5�]1T���o�����}�M<�0xr�S.D�"%"w���'�T����]����*)��*l�P"��Ui�,�M�GG;\i�p���s�V�3hQ��l|��5�d�o�m"V���?
��B�I�����������c�C���>e�1��w�_���_D�;�������o�>��<��<��p��x�ΖJ	W�rK�?g�>bZ��ޡ���������P�ވv�J�R
�|�êW�\1��J�C�摿4���1��Bs6����s��'G�#�[�4��ԭxN��1��_J�ژ�>�2Ll\�Rk����%ޥ�AH�-�����Z��F�>����F������m��;M))��t/�Nf�����,#�OJ��aq�K�F�b�R*vRj
ݏ�ԙ�7�ӏD&�Rض#�����ܼ��r�PEВ��#V�lL�p�y�,uz�ʐS·Ý�ò}X�z0f@�R�D��K-߃��Q�;�kT�n���<D,�}�p�I��A�w,����>�I.h�D�(�`!~z�:d��7@�i��DpD��&�*w�w�V��"<����o�'`���TG�V�W����J�3~�ƫ*;�
�k��T�9 	^��+60�#�d&�V?iJ�#���N���](��^6��#��X��Y^�#3?~81�?Tٲ>��%�\�7���e�n���&t8�?�t�|P9�
�nA��7Vv���eZ��f�A�I�!⡃i�3?!�ɯp�p�&~OGe�%X��uc,B+��*^BD�U���J�U"x�E�A��@��7����_-�>�
�O[(l]�}Wu�@���R_��ncj���U��$<(R;^.�T���.HVz�
>�vEej^�%D�:_�L���F;�v�isAU��C\zK����s�(�-A�)^s��Ү�Du0i�k��5P#�8��F��y<��:xr�����0��8�Ja
_�Y=2]�励m���޹a�.���:�VǏ��B��(�u���f8��bi�q�O���FUi��Im@��i�N@��S�%����i�)�����{�9��:�DC��I�%-�x�/uX�nɰaDeDUE33"�I��I�c�}`:�F8O�������k}��wDdU��X@�iVF�رc_���z2٥��#���#]8�\�`[7}98�S`�ќ|p~Y���Ǻ
gh���7��J�'�7O�0p
�L�K|]�����n~
���ϯR(�WIA�{ƘX��oJ0��ߋy}W���*�5x���V�n��i��7zv��l��.&R�ܝ�f�l�[f(=��F5�܁^�j<m�1�.0 �[���.�ml{�u�gx����O�A!�w<���$�<������8��UQ�����NJ`<��ԁ($���W� ������Q�H'����� _D@��c�g+I�q��!��w�
0$�&�'3�!����?�=��l�U�a��k�-2���j�#�y�zQ��):����'RkDݶa� t4���r��$���Ƽ�墤L��L�AV&1Ķp�$LMd�)�z�k�E�|��[t@�bk3����zI_����'�R�x��w��n�χ�K��Կ�;���+.��=��[ݿ鿸c��9��I�#IK��7u����Fk�W8��)W�`�x��=��
qc�I��f����+ �8�N
r4�w[��2Z2�V͑�zg�F�?��BJ��?f�E�la�~����U�2�����p"N	k馰����!o`�����p2��4$��Wa�7K�	�pQ���h^41$����_��>��PW55(�v�mH�vbf�ɚ)주V�$.f{O	{���*?�
����:�G5c�~�Hx�v�Q�=B⋡;��b�����S;�,g3�	�2H�-
���䬐|OS�<׵�V|�[���3*_�L�	��6��|�U�����Й��u��8i9x�bn�/f����A�w�0~��d��vgi����i���{�f��Rb�����Aq,٫���kI�n�X����<��\���R�V�m����u�
�c���<3
l�bnz�rtsJ
��l� <�籿с!I��kffOQ>��1��'�[��k�:u��vXsVNf�6u�\V�����rV�!u�W����—�r*��1[x�e+��y�����	Ș��]����zwcd��j� ��n�S�&���%b�[���"a�i����B��?��`V���QR\��8i�����D�f�ݰa�?+�¼
3m�F�c��/y#U҄�+rH�HY�>r'w8���:"سD@]P�p
Ü��t�ؕ|t��R�����g{�P���pُ���^���;���A�-��1�ONBuVJ	����mˇ��X��G�g>ܞ6���V}�ˋ�Hz�r�����d��CQV�D�&��}�uب%���y��%N�D����~��hB9�}¤,�Tw�7��B9	vf6�R���n��Z�ٙ,:�����"X��+���d���!����Ǧ�J}v��i�-�=P���*J�bs�@`@�*�����-� �Û��fx�f�h��W4xG>0�'F{�Ř�����Խ�וg}g�,6�r}�:b��G����[}�/~�Hv�c!�88����lJ+q�YY`:�SrA�b>.��Kv�GI����᧏4	cX#)�V���#��,#�y�dda9�ӢxG�mm�DR1��>�N^���(3n;�GG>u�hJ�8P���h"�x�-�nP���KP���]�����0
(��wAs�/?��i'�4����?`�g;j뱻s_i����	PP�l��\�зҤ���L�/,5���“Is�MK�;y�s	��!��O�7�����u'����>c��k�*�����|r��F�"�!��F��v'��,��hE�4��0���~�`��������/���a)A�nJv΄5�fJkA�-��hʟǒk��h��r�!����%"Z�u����(��n�j��#�K�:�b)$���F���?Lk�a�dҡ���M]���;�A�Xm]���cβs=G����b�Z�as�%
�:�ӖըL����_g�O���'���>߲���y$�H>	�@LP���oK��a�����������a��-��Q<�@vGaL�%�x���cs�KVe�~����^�jH9$���\��9u�֘5>ԛ->���
LS��῵��D�j�G3,�S�_�\H�ͦ��!�k��~bE���Z��}~��Ǖԗ���7�)ͮ�A@"��e�&��Z�#�B��9�B���2H�k�aZ �R'�b���\[>�
	��o�J���r�=9}���S6�,�7��_���k(�A�SJ�#J)�7�o��'[&0�=��������h�>�Q�g�?�	+��y�?^���/�zS<��<�������7�I!==}%�E��t	���6vβ60ξM8�a����lV�*�sC̨�?^—�>�J��H�}J�v!�ǽ�i�W<8���p󄽬8�Ji�.'U����Ąz���_��Q9h$�K�X��ke%��{�TFk]s�	�R�"��"hs�p/��}S��Cq���<t��k�
��J�{�򼊿�̻N���w0�f��1gIJM?�N1"�!�O{l��
��W�[vP!C�1bL�E��v�} �t_6,�%N�zߡ�gr�x�3�
%�ё"Ō��@�s����M�O�Q��š�����ʎ&P�A�bu ޸���d�
��+Ν��N�/X5ߞЏ����(b��öR3"�*�*II-�۬�+5�ȶ�
1�l��Wk�t0o�m��'˾	ǐ�f	�º�7a�Y�f�q���X�,�3Z\17&����H��Eܾ?�|��ߋ|,���/�}��X��,���6r�J{�U7����-��&�ճ]HJT�'!���?+��;�\��9)��&�g����Iwj�A�aXZ�G8���zЅ��
f�o�$�"�1���s8r�[^��,4(G�B比$l2a�
�A~�]�OK,�貼�n�C��u����0�׿���?۲��*v0R���^'�\u\(���������őp�hUOM����Q�|�?�G�m~Vc�%��,GYɋk�9�V���:�/�
>��r��Rc������	�^0�WFW!,8��#�+q�
=B}"XkZ&��֜�г�1���x.�g�/��y9�̩�ϕ��!<�@�so׊Qa�f[��`�Ht��J'$v�}A�PH]3+J]��fZX�i�qT����2#8H��g���hY��]�����S��i��X��y	�F�]����z���Cy�x_��`���^�Kf�ݨ<�x��g��:�2�IqWN�j_\���o-'#:N�F�%�v�M������%�G �n����?ct�[��H�|���(o�$���&����>���K�K'�̪}��R�G�z�(�����<k5��*k�<x���܈$�tZ��i�݇������YڜkK�μ�7�B�B�G�>bc����ı���Z_)�ODBPn�؁�V�ꬖ�N8���][���t���{���i34<�ZNC�J'||S|�lO�@�̗�z�(:5j�p~	͚�r��j����\ا
t˔4<QPδ�h����P���Ϯ�Y�/b�0�)!v�Ćd���Q�p�([+y�`���vg��{O��|�����s���؏V�J�|����Za�xl'���=`�h5��;��W@���-�PҌ��D��oĠ��T<��-��
٤eD����<]�T��Y��a� +W#cv`$��!���f{Oyv0�"��Z�d��s�M�u�V���p���h�2^,����d��1��$0VR��`l%�U!¤�1���EɈ6�JY��iW�*��[��V"�ϻ�UD�R��rr��?�\���k��t@���$\�J�	�T�6�ZD�D[=�*N��-!��	S�(�����x.
��O�/w0�����/y�f�K��Ҭ�O��i@I��8q�ɷ�E��j>�}l�C'ƍ���6�kq��?�u��Z��AWIu�����]���>��I0�]����>�g��-��#�b�:�0��
[.�~���}����AM���pn7�6
��%�a��D��;���M���G����K�����1��s�Wd^�םC�%l�N�j�{)iZ�}9�e�<v0�zD���g�N���r50���H��I�su[�Re2���ZOTt'�ht�_*�m��C}%r�[�\�� <a<��%��ba�ɝY�W,c��{�W	�m�{�:��T:(���^�E�{�mu!�~���si�No+�e�	�Y���11�����zd�M�#U�k�dɋ1���-��5;��W5��I0b�9�Y�祔������u�Lb���;����H�¬���9@��9ZD>,��Bt
�(��
����֝�`�0'�.R.��V���B;�?:+��B�AJm�b:B��̵���w�L����xSŰ�];xo�8!+�"�j\zf���Z����dt3=m�1���*/4<,�~��Í�%Ԝ�U%s����,;IbF�׳\�*��o�[��n���ޔ��9�G�k[�rZ&|Q�Gm�!��:e8���ٳ�7�/L��w�Ëd�_r�dA���M�P�V�ٮj1�s��ź�����s->;��O�6�A���
�Մi�Uq��s_!�xg���"8)��Bԣ���N��E��&�6鵏 DRD8
������.E9�������|����yOv轈\-�_��k�|f���"�⽰��Kh����Ȕ~uV�nT��#��x�+�*W�S��1-|M�E�$l�)!|���?€��XVY�I,��V���l�W��3�Ƣ��_p,Z`Yj1�s�FkB���t�K
K0�!?�
��KI@��0��E���׷V����C�����N�΃!�ġ������ѭ>������/x��-�	h��Z#�_�L>��nXH:��2���o�K�I�Bq�pe�}0��J�N��l�V�@��z����͈
��`����P���깵*y��n[��0ר��� �g�A�ݕ�	;zE+�	�j{��q)�����
&�$^+��T�w�_�Ѣ@�DM��?���J�r����4z�Z&{��rh�Ӎ��o�߳mȴ���tl�
�M�x�� ~	�x��ؠnٛ�pW«$;��(\����M뎻Uܬ�!Q�[g+���*�i޼���O�����а$�.��P�fM�d�A݄
f+B�G���)�Q6����J+�6,e&��u,J�	��|x�8�,T��_���	]��U��Y
�˜���~ݝ �x�J��ꡀ�w`.�,��K?^�GNV��¹7��p��CYD��"��H�}��h�rTrWiͣ|�n�!v%�U��ς!�P-G�%;Z��v��U�Bx��םj�<�z"T��
��ީ����(�%Q"�	{A�V�� ��y�G�t�> �L�G��r�H��e�O��"|��&t{+�k�c����d�2��	�SP�:�f+圻!�"�feg��@MDQ�R'����)Q�ЧF5v)F��@�G�
\砊�DhԫF�o�R�#I��ˍ�ϗ�x�z�{�?��6l��������8��0t�����@
�),Kɾ��r#�K>O��3� ��E��|�Hb�u
LԄ����PR^�r�@OU��P��Zf"жސ�d��uQ��f폢%ʶ@��݃��ꦴ`L�ax�]6p� 
��<�D����j
�j.B�s��m��yL���lwQ|S�6�m�>7�`��ک��n\kW�IQ�,�;����<)���I8��S8%�Rj��I�V(=Ȳ�W`��|ǘ�1�
��9	6���{���&�q�I�s�G~ص[�R�F� s�O���d�f�Ɏ��@:������(o65AB)��A[V2k�{�fu1����AW���M��S��#�M&Eءf"'��޹�ú#-;�) ��ʏ�E���G�H����#!�T�f�7��w~<�"�:f���
�����c�u1��6�0��u�cf�&X�O($s�a$߾�lH��5��"�^6�fǚ����e�ظa3�*w��-w)~��e-��A�	��o�� �;�z�}�r����8Dxh�#a�z1��:~e}�0������K)?L�t��l>vEħ��U�g�y{$Ė���2�/y��S�����c'V�3��Y�:���D��B���F�i$*3�|�hF���.�LqҮm���5d�4�£�W�"C-j�O�h��K��g"��*�e:e���L^�YB��/
�̖��t��[3�v��(A�P3�����Y/2��g�F
���/�l���{�lQZ�5��{J�߆��ap"��k�9l���7��}���*���QX���#�bP���<����,O?�KNH�vk�z5�:M��Z�����7�V|��b��}���ܭ�ǍV��,kmH"�Sa�;�
��hm�qv�*�|ƚ�eȽ.T�[�<�4Uw*4�G�47af~j�����m�R��g�T����k�x
-�x߻J%��}`n�˧v|��cW5�`��}��]O��sU
� H��>����G�=j�(f��+J�^X�{�?&$Q�W�,�\��7��U���i �ˎ�^�#�ZC�PK#Z�k
{�~(4SU�A��
�U�b�g�����@�ag4U��L�Խ(A5����T���^����z�
	pb�yFA����+ﺇO(".��7�u���3�{���b�>ø۫
?�N�ۇ0E@瀇"+C>i��.��pI�\��
0p��w����e��_mKc�ʎ�w�Њ�7	�{�wKRODi��.7p՚�{CN��y�Q�:�htj
�ߚ�HA��0�"Om�;,8��K��H�hHc��Z�n�����8Oɩ��k�e�&iݐ1a�ۭH��D����0z ���i�M$t�N��ػyy��i�XC�(�z��O=���b������#n��}�~Y[(���a����^�0��r+Ǒ�]�b����Yk%B�m�D�BjҲ�Ͳoʬ?R��X	�Ԓ�v�Z������fy\B���:rv0�R�{�!��W�]�6��&���@/:ڐYi�6��O�Jzq����w1�Hp#��S�+��)��q �J��Q���$^��JA�Ӣ�E�?U�ϴͲ*vQ��s�'m�@|jBS�\�Rǖ�ˏ�z��@���j����)�M]�%26&Vfw���9D�V�YyG#q��ьJ�4WQ�B��8���}R���.�yH� t:������Y����  ��l�Ԉ�������]c׃1�+�tBrE��U�?Rڃv2kĐ�H2������Gx��\;�4������jq.��/*�jq�x7�HNE���%f�����U����
��ݧV>��Ii�ϹR�DR��Xa�.�
ja�1V}N�5˦IU1x���L�͕�+����[�#���u�w�2l���4�:5:0�<��%V��U��Q����,���/_`�=����iv��v�{n/M]&�/����S"㽱{�ƈ�c`��B�碉�CJ�>q����l'H;�	�j'�?��|��Ă�����U�ZO	�k��*zۤ���Ah�O;���Q|�ۗ���<���D&VlB�L= KeI=�L~W���y�*�q�?p�����D��2M6(����i#�7���$�Y��ͪ"	��	�̲;(V��"�Ҝ�%�*��4��e��٫��A���D�wa�������C�v�_��Υ�Fy�F���!����	Mm0j����nY��yÊ�0�T
۪��	E��8W��A	�Uy�m�lηC��u��y��c)��e�p2R
+
�;H1�o3��W�TQP�[��"�Z�)���SQ� 	�+1���@����������}�kB&a���F�tS�p��Z��Nj��L:0+�j�"�f��gM\7�U��+�;h�c9�_,�a-a
�}}�+��D}����"�o��ke�^H5!xت�K2|oJ�{��C�^mlf�ݮ4&������k�Z(l�/��n�y�n+�a���1w:��"������R��Vm��]�Ⱦ��R��>�;�\��1�f�����i~�]A����0�ܱ��Ǹ"
���*�3E�\rп;/����pv�\�,����e�q��Zx�T镅'CXjA=����GT]���tB���Gh/����me!J�����C�/[]2,}O��m���Z�L���8(�ȑ���=!��H�|�ʂț�Y`�ǚY8a��Hؑ^r/	C���%�4L�`���t7Z'~R�ܟ�K�k�D���<=uT�$��#H�T�� }�u��t��Nq�R����
���J{�2�r}v��:�� �ª����=@����c�'鲮�
���^���$g/'��,a�pb�"�jYal }�c��[�&�Eȗ��	��7�g"U�)�_���E����7�
X�ev��HCwP\���f;����P Z����R���
������&����z��G��g�h^%L�������TI%�Sf�7d�M��v,�T������c�L���ӡ;��[�`/�f�!��kh�c����]ït2��E:&��3|�:t:%�翊��&��2o)�5�*Χ�&�_�4�x�]�r���fW��	����ټ\����GB�I_#�B�Ϋ�K�`�y��t�j�^HF�,�~TM����璍*˫iL���F��a��X9�|Z)�l4Hq����C6.�XL�g,Y7������f�ߩ���$�?�9G�(7���>�|�L�E����a�F�}��(X���� �쐑d�B�:|v	�G%�8��	��ݎٕ_��RJ^<X4�1އ���
��V��=�w
��F5�h!\aq�C�CL�i��]�#���H'�N0��j�݋eKT�CH]P�!�d�e�)2��t�C%�������$�w���a<�-%�;}j���5J�Ө|�e�	v-	k�d�.S.�-݈xAQ����#���\d9,˔�U�ۤ_�j#&�+-G^�l¬��!�4�_��ɍ�>�~����s�ja�c�o�0�i��L`d�aZ��������i��rq?h�9]�0�)O�U�3WZ��Z�p�������da�n��GsXrj�e,+��D\֢b���*�5);�,]Ʃ,S["�'dU�Y��V�����(`�ޒQB �o���xg[Vf�7��"�H2X\��_ݗC��'�8�v��xS�Bh��s@�v��i*������(�k:��$`䬏FL�G0?�l���t�r�IY��G��
X���l�ec����[����*�FSt�#�d<�[�1��Gb��4�Sx����SXH���#it�.:��x�~�:X�
*-�p���>ģ�:4���	�Ij'�ҕ3�"Y%�ZK#� �K�D,dq���N�e�1�G�'c�u�!4�$�NQ<9����������*-v���ht�LEg�=2���pCo��;�?*�!
nȨ�0����MP�#�yf9��s�yH�	t���j�?'!��q\����5��k*� �U��'D:a�������&�h,]�s�t����2Sn�ע�Σ�3Y(k��+O���]��o!]�p�B<)̋�T�o�_��p̐�P�3=M��h�E63,'b��B�>�<d
�Y������H\x��=��\+���Dˊ���+ԥ��0A���T����:�ԏ���9̩�`DeOK�?��L
p򺿬����S��)eq��hu�KN�8���'#�Jѽ�OՈ6f
~}]n6t��@2EJ�5�X���p�~Ђ喀zz���w���o�>)��`%]2�~u�u���X��%�\^�2�}�nVu�y�.t�w�f6z;�R2E�8�lګ[J�Q�h�ϔ�.)���D�݅�c�g�cJ<��h,An��|���,WF��X�K�G�4A�F�h/)��y�xx�^\ޝ� �����y����@E�y��VG
F��SK��Z�3r�/�����21���9�t��5�g>����A����P�5�}"v(�5������A��]�Qܙ�A:��f�l��9̝ﻎ:H�8=��s�ds�gK��m�P�:F4P0:Y
����D{�;("]v�JGy/,\��s��QNl)z���mQ�g�7�rMf����N�sT�]6�!FBK$��\0�ֵ�ɤ�����c��'E�D��L�ê§�q��A�O��ݖ�2�*�Z�L43����;Zߞ�L���B>@')u7��NJP�0���z��
6`�𫖪�j	�q�H�i���bȷ7�C�rn�tT(��@UYG}m��B��<�jF�0�g�)VC:,sfkҰF�ߏ�">�XB�EA�f顖d27>V�l�:�!��
� u����av;�0-�>�=I��A�+IDU�o_��=Z�J(jYgG�v�!I����&�ѨJGF{'�T,U�ȵ_�)��4��f	$"pI�q�*Z�0�V�ⲃ+�"5��
	z?�I:��_��w���#�@x�"!s�ju��	��&�8o��,4�o�9'�gQ]���R�"ꪘ��V��\n�7x1"cCd\O�։�Qx,)��9L���u��kW_Y�6u+�i~�*l�(Z�%��rx(�r
�i�En��]C6QtQ�.hH�ꜾS*�uK�o�����ߧW;Pq�x����.ļ$ET0(�4��v�U�����h��e�R�/��F>���*��f����&�|��j"-`��ak-��ߥD�Imc�R5��Rm���<Bj�b"��T�.(�*�)�/�,bn%���>ь�1�޴31s��e��&��7	�<���+���w����A�l&G��@�Zх�&B/�Qx�s �lK�SP],!�}��v�̶���t8��e��6шO8K������C�[�=4��1�,��si\]�^ �F�7��4��ߞ�W���'ٳ�1#]�O�og�鈒���IZ�+�L��4c�=�Rُ��#`�Z���|��B�z�� M���_���j��l?W:'�
�g
����>�6��ϔ����I�31孄#���Xv<������?�
�|���Ľ��ڥwT�O�O]�[�,�u=,W��+gq��Y']e��,�}��1�㶧�3�����&��t�poz��h[�/��&�7�&�v0i졍�w1#E���w�$w�`0��2�
,�SLM���Yd��W]/ �h,�N�+�!���_?�z���6��d8��I
_�k)����~ib�F�QO��s	6L���|��B�r�;)�qf�b�$�D=���%��k���K�VBook��t*z|�����Q�_́��2�D�oi<�B<=!�bp��*6��;(���q��v۫�F�-�V}�_E��7� b~��EF�گ3u�B9Uk>�p	P��iEx�Yo����DlYM��p�-5�z�����Q�����n��3GC��IB�oyV_��ruIK ��*�c�W�7�鼭oZ���_yC�����4_%� ���hk�j-:s���L�v>�g�d,��^22,p�[�z�aX�-�	����w4W�TB�ָ�yN�O
s��ɑ�V���C#�(��n%�P/�y��"�`��1���!#��g���t.�+O��^�D�{�q�˝�A�9F0g:4<ic�܄�4������4�G����T�vT����A �hy�%��Ґ3|+�� ���_t�d��w5&���`HB�s�	s���n}֖ͪ�%x1~j�o,X�	=l�y�Z9���u���<���[�lʃW'ߟ`�;)Y|�[��j�3�݌p������1/-��-�V�	�I_av��f���NDo���!��l���l�^+��5Aҗ&����Q����g���Bm殀�>����Ä�F��؆�9�n�H� *,�r4��Ky�p�N�J�w���>�(vg(��CGwN��B���^�^���^����1/x��IR~sO����w���EeBv���%\��L�3J�Ի{T�ObLK=޺����,TZ��}��f�ժ��f��Y	���tO�m�Q��i1�<����!�W��R���T�nߡ(5�u�;bɞՓ��B�\Y�9�rS^����ۮD�Ar�uԏd��y��/[=��ҹ�����"����Qp�mI�Di[�Q��+�N�����P�&�	{�/�;�K�t����;v)�T�������W~?����y�ޡn&ϻ�U��������S�^1���GX*�x;]4W��zӞC�U��7Z�Dܵ�N)Q")IZ�����(&��s�+�^�V�(>�D�;.�O����d�z�h��
�X�56�뉭�#	M�na�;>b��bk(r��&M[��״�.H��^&D&z�.�p1��0�k%��Fs�U3��-Ϛ�2���+��ߕ ߌ�;EE:?��v�\�8�/ijy��	�pB�G4��R�^2��I�JY<�+�6q����q ٹ��^��؋��E�0m��a$
`��Xe��X��Ap�*�o_�[�NH���;F�)R��K�6+QS�*%�"Βph1���j=�0G��
d��L��ˢQ�X�	��p���a�?oz��n��`�fh��,�$%;���m���o���l�:�lv�;�d즽��D̔=d�;�[1[�q����G_px��Kd$�9�N>��I�
�0��K :5�NN�U���Z"�I�"K�i\S�"uh��[R~,l���@��1=#��L+O��$EڄO����ʅ[-�5n]�:�>�$X�����v�=?Uega����y� K4����3Y�C�+�ٿ�9J�h|�Ɣ0�n�I�=�I�΅�:�5z�-�黈��(KY�k"(����x�1���g8i���tޑ?P�sOT�Z����~�T���
�yR����q��k�ID|-빌����o��j�ُ]��[�FU�]b1���S�m�Im�;T��<>����I'b��p��k���[����;��|�C��c���gG���2O�Ѵ9����3yw]Ȧ�x�����J<�FW�LK��� edqG�֥���`��Ý���P�X��1<\�v@x;X6��<Mm�*:���4���i?HxL�m��ŀ�
?+��$��J��a�I��أ!�����?��%6ؓ�n�Q I�g�>u\���H�G�)l��/��(�QV��	�y� ("8�+y~�����Ư��WsS�bQ�A]��zW��F�3\���=�F�U*�>:H�eJq�Q�AN�F$�PN�)�J�-�ڄ�[���Nf�]f^Ud�!cWlD<���nU���K���I?V_�a��m����
+��=ae3�v��5vG8����e��Z,.c�ASƃ�M�ޕA;
x�"-/�4,(�ȵ�'G�F�d��tU�*uN�;@J�	Ko�2W+��K�q�g�`��8_�7۫H�)'���Ǧ���Y$tƔp�#oNHzoɝM=��u*�YQ*�G�Q��@X�kI3=��N���7-‚�?y(t��PF������M"%���u���Sh��|+�"
���^��|�k�i)�M���FjD�@4\WNf!��{4�0{C�ޯf^U��Ýu�F��hc)?+6�k�'���1.C-~#����|_6&SԤP��bW��H*;&usOsR�ٗ��խF����+,	��]y��N������։a�M�x��%���~w��*��Z�K�6�!,C�X�t��8{�z�2������,�V�G�]'��Z�Ii��\��_��E��I483�1���'�&��!���D���rZ
�X�&R��4�^�Q��K����9�� ܘ�K�n�B��u$bF�`w�Z�v@y�j&��v�� 2a9Ū���Pu
,��Y\g0�d�($Z��:Ppw�ٚ	�};U��٩�v���r�b!�~���y9�0lK)�TG��d��-|��{�l&,�`/�TcGC���QOSzB�ϟ	���gF�p���
�жX�\ّ�8kR�[�h��b>�*�/o�1�5�M�t)�	9��\R���D2-�q��Ķ�މ�v�~д="�[��X,�!�H�Zj�0Մ����̢�Hհ)��7�z=I\EƔ` �=���@�Dd��i���u�-Yi��P���)��i�GA!+�0��a��M^��%{Xӛ�t�x'���5�Z�U��&Y:oY��Y�2jC��R��C�V:�6�q̇#-Ѫ�B�$�P���Vu�T�J����綏��4��~����p""t"L"��)�B;|ӽ������gIT�x��W
P���í�#΋ۓ8�d"X�$�39t=�pf�H"bRr�����Пp1Mx����7�K�o�(�f';��ե�[ūRp�b���&9W���."�xQv�m
3y����閯�&�孑
U4#�C��%�8u�L�I-�&�K�K���o���ȶ��)#��y�^dr��tn��HJ���c�f��)-���G�����9�5�c�422�!$B)�4UDxʟ|��{po�KX���78�<�IH$lCXΏo2�ʋ6$����1Փ�"�S���q���$��4J������\�TF�%�:+�s��
�򖸓+�gWD@FJ%JIE<��s�{ˣJ"p��ђ�����d�$cA`QF'"�J�-O9�
x�
_N�y��-p:���g�:F�KD�
��+�r~���
\-��΃�JSE�2=^*�^=8�1@�"��*�ƙ*��0��]�
?��w����K�$N;.�P�
&�L��N�ũ�3�r�/Ɂ~_�B��������/�Z�`)*��˪��$�IK}zX��!��D�����)��އ�{x^���ǜbS�0"��2d���IY@��H�YGو~���uy���V�kכ�˜M�h�xԳK��r����Tɗ볒>kU����)��s-:�_��C{��j!���y)����X�T|��*X�yف���^�s�JZU?�eT��F3l�3�yt*#j�ְ��kڭ�,�ݢX��� .�`��������?�~
y��^sT�vs����vn}��'�|l\�!�pXm�Y4��J�'��2�y�9Qͽ;�>��(����덢��Mu#|7��
�|C-��Yl2�X�fؠ��H2�K�\�ne��9HX�����k
���N<���z�����C*�ԟL��HCg�¦�rʰ��i�i���d[N5S�Wb���X�@�3���,��H��w)N��Z��Ę% �^��ۣ���"�H�u?�Sy�v��.�o�n�C$֒��@�[Yz� �u��(��/ꍡ�o�B�iDݽC��m�����)gJ��#k�v��f��g�8���Z��Ѓ�D�b��Ԛ�h1��;?�GF*q�p��V��S�2��x�I-��gX$��8���ƛ��I�	���\H�n��9������s�4 Nc�j�����ev�{�L�60��֌��%Y�|IT�Lڜ�c��F�kya�9]���
��c��n�E���/�rҹ1P���6��H�?�yfWyC��:�M�l
��[��D4�R�&J��W�S���x@
�����E�����x�%&A$kb�:}���d�͵)2gbL�Se��9���A�$
��y��,��+�̆�E�����p ���8a9�Pj
��4ޡ�i��m�*����"�,�Ȟ����
�ebN�A�����0�:��ԟ9
EЩ�^�`���;�Є�L<�b���)�K������i��r����	I�_�
q1��^�Y��D��혲O��&������
�U�Y7D{�nq]&	)g07&����v-rz��^��D?�FS꫈�/���I�OQ������!s�guc�в��`�z�?���'Q8qT)��
ְ���?�E}��_�O�;�VR�ng�m8�h��'�&�1��bU�^�;*�5��+>�_���[v�CZ"E�#@Ր�B�8�\$�m$��q�����x�v,��;���)I����.<صޭ����!�-��\���Q�LK4ta�!l���=��lZ�H���>��9W˃��1���#[@]�|@?�g�ˁ'¶�̰���g
��bXy�^�X߾܄U`�P�~�A���o�L_sTR��Y�ۜ��O�bB5{Pl�M��v��&?��	��g�Y���I��9�^���|1
ۺWI��t��_CR��d�?n5/��b-%�e3���'�&�__�H����{-�+M�����6�����6���D�ǐ?X���`�����R
�[�t�HVسr�$V!��re8�>'HI6�������O��f�x�H�i�A~(��P�/UMU��.!VOpw������a��~��#N
���>$��@�8��0KM�em�y��<�|�A|�^p��_[ަ����y�
C����R��
f)c-M�
dk��Q���g�� O�ł_�
��=�@�)�i$S�A�
Fv"�쏣��d�!(#w�9-5��Q^N�/k�	D/����v���p�; )��~�i�Y�D}dBd�������o䶁�6޶��� Œ4,����R
��|��Z���M.-$�v�T��g��C֢���ʋ�{k�nKy�`x(�d��5�i�*��T��;�3���7�@fO���y3Äܡ�cg�y�-P�šD-R�LX�f���O�!7~����7�G0W/�����O {��}_3�p�uբx�I�F��^_�����Z����a����D���e��Ȭ����i3��Ę>�Q�vϟ� 0F��X�������J\�rb���q�AAOٕt$�$�����A�T��1-$�x�f��ϸ4�,�������H�j��ߗ�3�ņ�ĭ��6F�Ւ�{&}<ۂ!)D�X�4�Ns�&��Q]���5�AK���X����g/K�%AZ��榦'[��z��"��)�_(�Х��`���
O��P�Pԭ�r�5]�0��HE@.SZKa�(Q�cA��W��Z��0��°(�e_��^3��t��^��%5�T�:&��\�E�
��L%L�G_u&oz�����p�o�m�"9��/9���w<wMt��|̯�ͺ�,���~ną�獙��<�l>k�����~/��85`�c�!B7�Լ�$1�ty֕}�	�AD楶-�`���l�$�8�Vb���i�J��B��
�v��-M�B����˜h.���@P4���^��_��a�y�^T ��F���0�/3��L��LZ_���
�c��Cl���
�+���y���LJ�u�ิO�S���,O:일�i��Ab_+�o�`1�/$�o����^{�P"d�S�y	�1<q���o��ۊ��<
����of-�d^�l�Z9ƶ7{���	���h�Ǖ����6%|ъ��P�s���,�t#����v�V���M�2]⳼n��6����ۊ"+7�3��J�-b뷿Lv�~-�	�2���-��%��(R	ި��/}��Čqa�@0A�P���iU�`�^�<T	F�,�u�j�Br�U)h-�\v�Eb�:�9f�$���X(|M<�$�ӋVA�R��(&��������	���\���� ��ƍ�C��a�	�*ŕ(rl�K��P�>J�TF��hΐZ��0<l$�۹ÍK�V�he�{�wr��D�D��T�����]�F�>���y���N��B��M&G�(���nS�Z����m���R-�xs�NTF`H�z�S�cE�[-9�s�R�1l?����k��
P�g�T;�נ����;+�����*��[\�� �N��ץ_ԅ��:���6}���L�(VK�]J0�j���̏������P��#�L{.
\L�x�x��#
b�!��6a��]fe�oT��i�o�����h�]�����.ټJ�!z4��T����/ɱ �w^U�{�X��	��>��#������b�EQ���f�*��/�M�r
���_*e�/�oB�0��/�s޾
I�2D�ZRH��2���o��{�Ǣv�
˄$ǂ��njD�2���?d9c��˸}��(4j�ݟm�?�䢀uƺ�e�E y�r���U��n�9���,^,�_+�FL
ިoM3&�a~��_pӺ��.��]��(���Hw껯�h���3@���wl�i9������o�f�'����{�`ѧ������SI���)��v�I�"��S��}���S��Q2�?�5ӷtC�'{���Be��$dz�x��~Kb�gW�t���}��>���Я���[�r,���n��ix�sH���w"/c�o_����M�I#���Ԑ�3���K�J#�L�{��0i�݋��=��'��Dž��,�{�r�LxW4)|��f�"!�iI-��a;HR��0�{<
E�c��i_
�y�H�جt��	���r�9��Zh��Q9�8�=���:����\N�뮣�?�1]I�O;!K���)��T/k�5���
-��M�W�m'���U����+0��%��c���{$��"�&�#�x� �g�?�30���\ � ��ns��S=����R3�M��ZP�;���;�"iF�bE�٤�G9OU-���:��g6�<�Zk�4uxn��<��2��P��#W9�Y��9 �͚l˝�\�B����"���t
�"�.ErHM��]]���=	����&�c3�CF�3����DK�(�A#&Ö^���n�=tH*@���X�(�$�6��QXǯ��������v��g��ɦzf5"�e�����nݔ��:��=�UA-�(@��u28�W�I�>�.�L�����S��ҧ�#�A-�c�}(�
	c{:0/d��@��s��f��}��7L^��+�E�㗛��I8bY��\��e�[�����E\�(^���o��݇a_�H���Ƿ�^�[Ve'�(�Q2�f���ƢU+�䤤Lj��x�ǚ��ʵ���'�6#CY��~EU��Tg��vDz�����9���K�h�q�	��/�ۭLs�E�M~O�LN$5�0�
j5I�ڕ�F�om�(��Ps�Hz+��d/�X�ۯF
ޱ�:	}�j�2rd�M�RY�,��ֱ*�ҒZ����;(Ė���L�
LQrA#�*�6{���kT �CsU�K8�Ԫ"�!���(DM��dl��״-#�z��T3���2��<p�.e��Dq��1+��Z6��;�P��1�"�[H�t�daF�/)�b[��oDzɚH�ԁyK��X�=g��#Ϟ2����Ƹ��Ԑ\0j�}���J���tufc�T�L7Dž�����E��]�pn
�a�M��WE���,c�4*KZ!��mF'@�J�!#����B������V
������Qb!WFi�W�˝�Mtz��ޚ�C҆��dž��5��
�դz�b��Ȅ;��@i.éP�Vn�x�v��&ᡏ���G<"/���Cw+���ZF�⸱t*4���%���g��
ȗ��M�����(���t������4�"�D���C��`�
Ҙ�S\����]X�4͜��1����#"l��=J�h`A���,&��5�D=���X���G
��O&Na�:e�������K��e�W
DH��VFR�yi#���X}~B+#�d8�#���'1*��
fr-�$P"!2��*��NwV�3^yJ��x:e$����v��U�fo����9
Z�<|��+UD�@&b���h�Y?���d��BDŽ!�l�2q��'�T�#��Σ<,��s� �tRI3a�H�&�j�3B���۞7�Qw��jm��ʣsT��J7�F���!e����𡄬lZ�L����3�"d�H(��p��D<0�^��,�A�PQ����RW-f8�T��6���
�b�fJ�
'"t�|�v�-��>�P����=�׫�⢮	t�W~	9GO��„��s+ѩ.�28U�2_�Xf����>��8�'|�}�u�i',c
��t�r��Bd����>_	�k��5���o�\�b�	�:�.#"�?��Z��ː�N�y{�s)&��WN�_H۫N�1�\��[�g�\��k4:Bc�J����Ok�"�}�i�sI�Mw�d6��	H�U�羕~��ϝBK�䔮[c��2pJ��2�r��6&�P�E��/F��M߄����,͒���͝�㰳�C��DՃ��u�Svvׅ�^:��?N�]�W0�D��⇓ܡ"�9��Z��<�AbB��>�������cJ�T�짷��O�ʄQSX�g���d$>��|��D�[gF��y���kG<���؊Z��w�������	��D��*�⯎^>����̬�T� �}�0��RѤ�lӋϛu��Vi6$���E��Q"��|ZS+�ީ�Ié��
dˆ*�J�i�W�z��WP��>��X���9��8��[��J�_5Z�i�j<\#b��,_�E���p���ĞJa�lFm������`Jȝ5��
��H�D��Z3�?�!'�Y93$4#<�����V�h]
s��a�/��Il���,�Hz�)��j��氪W]v3V
�ݜ����\�zy��}�&�P�� t��ς���.���Z���t7��n�\ڧL-����F��
h���ZH����,Y���!�x�ƫRw��r���帾Q[y�^�)!M���1W��Z��.&�4&#t�?L�a�C6wㇹ+̈�F�y��������W�ł$,׻���1Ԩǵ�@�1D5���É�SWH�+Ig���œc[���ͧD@FPY�`'��J�`���$O��J����B�:9)L�g|�W��@�=e�;����}L���r�0y�g��)E:���p�r�;��n\�X��n�܇�o�neAK����+c8F��V������~����Dg0j�ǻ=4J�]��w�Q����I�UV�E1.��e˴ޒ�M�B�…�j�ci�V��;�`Ɗ�X�B�C�1.��T���@ziW��TU��#>_w��+<;<>}�͡���s\������6z�(�3+�d��n�<E�HD7r]F)!ua���m�
���m��N~����H�2�B�w!�{7��d����y��b�#UZ��՟�Eđw������wG9]����p�>hّ��j���m�.J�Y�(;a�
owY�ΛĊ�����p�������UN؀ؠ�`�*����ʘzbJ
	�Hѫ�z}{��I&�r2'��zx����;�!`�4kRuֽ$x9\��˾k%k�ħ�p�u,��]X��2�Ҕ�Ya�������»���.}�x�ǎ���j�)j��Z�WU�t�[�Э��^�#@ ���d�ǒ��V��^��<�%��a���u�y�W�ĞR��5Ÿk��	2j���{����ގpl	�8}���K�u��f�8s��n]Oy�fL�9��q�Tg�%Ug��Ĉ����&���fD���tf���{�lu����b1ӿ��`W�=r���&�S.�yp9Ys5�(�p�
�&ŜE���ֲgB�y�P��Ku
�Ԏ��O�\!g�v���q�����%(ĕ��ќq� p;AR��<���u�\�aza\퐺�T��J���J2a�:ui��	
H1�NV
���m�����>)'��.��~�Tj(�>H�{��5tօ�#N|�xC��j3�8��t��ɵ0��:s����Iv��W��u1\���6�j�f��M�c4~�ާ�'��a�3��~�c	q�C��7t�!rt`��(	P���`�j�'�3��닛g��;�K��c��!j���W�p��R�i"��^v/,9���EV�3�~�����JFt�yƇ�l}O�XQ�l4�U����wl<��<�?J�
��n=S��f˭�Jx-z���P3F��:S*Hj9@�^J��nT�>�BX�A
cKX��3]֫M�-�*�@�B��9��`�2���NcO�����1�K��aW�w�"�}�e���n��P����!�]-�V?�/Y�
��dH�@�'�&0�d~��f<�'b�)���>@ĘA�J���H��mq�2��[�9)8��<�Q���*� ��Li	�=Po��|�D8�����s��g}���J獶�:c�'�a�/nl��y��]�*㢏
�`��Y��॒6i1�7a�>
T�	�	�r�p�?�����.
AR�"U�L���Om�rUf�a���G�Hכ��#����Z��^��ݧ��q�ހ���A���nJO�su)ۑG�x��&��?/�˾>�����{��/ظ����]Jф�o�3��/�7-/��������_�^w��g������ݝ�1"yf�Ⱦ?d���ՙ=�u��qRa��0�����si!�mݤ"q��K2�PY��;�%V&[E�u�p3J'���&L���1��.��*�,)��s�T�Ud�՝;F�"<�%I53L5h,��-�&)O:����O�t��fCL`(m�5�J�)�_�ΰ;�2>��v��L>��ک�D�[T��*�*\z�0��ޛ~���)�>�[�u8�y<��jS&�'٬���G7I�夵NL"-��O/R��	�-4�
�:�
K�fN�"�J�Vj���N��0��Tv�l��vO~�����;l�sx��ѦA��2
�%�.�ìU;Q
M�'�nI�=8'M�n�u0����r�e��^�'���EهŜF�q�Cx
���6O>�U��WE<�~A/��(�lrQ���˛V�R����X�
�6,����f%}�n���t1K8�)�q$���q��	RP����9Y��𻣗�B<-���h�~%+/=�\�8���=뭳�V|�t��
!M8�{�=�A�6���B��g�A�V[���Ͷ̺�ȩ�'����{XE�rד1	�2�{_
���� �It
��k�l��T�>C��"�t�n�����&��=@�<�2F�Go��Ñ���x/?v,� �� ף0c��$��v�赜�e���2��t�I���!:��3]���U9F�a��J�g�J�}/�{��%��\�w���R��h�Nc.�2��v��i�R��9Hua7�����zj��2=�>��Ñ"�����6D%!d�8�Dp�*�9�IO ��K\C"`-�_������>YW͒�,��_�9�LOd���&^�?���M�߂�v��,�ʷ�RD.���#������[F??�58�ˬGtúYQ��܋0���p�y��n�x&f�"�5�\y��[b�D�6��ϴ�MX�-�M����(���R���,�kɏ]�\vC'G%y��a��y	qc$"N0(�x�$�K���h���v�M���tѠ�'��P�r�ΐ�m./[��N��i�|�p|��H��p4�U"�{�]����C�����U�C�"�v��C��c�af���X�㸰����6w�V��T?XE�o%E*�
ؠ6�n��������m�0��ܾV����ZE��Ml‘G!��}�$�+`\S
�`�Ϋ�t[ك&�|U�d����t:��T_;��;å
x)���b�[�H�=r�9��")mtk�f9JȻ��iْ�IL\�u:��C��O�)_~�>�E��#|Y�)
��N�h���ٚ���干��,d�)y���ݠ����n*��)��L����L�N�%"��x�6K_���gl[�7��sU~{�W���v,h{P���e��32�×��
}�����c��B֊��kM�d���WJ|�Zrdf�	�G�F�ع�!e�f2dL�M���<�U2>u2��!L�����J���ĠH�YE	F�묥��TPt��{��h#o�Wv*�z664��t�ƈ��/�0��JoT���p�;�"P��ݕ�F�>�\ٵ���g;�-�j�u������7�s�i����v�@1���"z㭕�YS�J	�ɟ�L'↊��ȃ���Q��
�bSI9ᖙ�a$�����`v9Ͳ��<������m�d���Z�n��B�F
�^e�z�#�=ʃ���y�0������%+/"ϴ��f�2㜖A��,U'���S�=��ҋ	��9�}h���z��:�cҞ0�w��+5^*B�i�6����v�kÇ
4L�&yA
�K�ڪ)th�STqT�Nd�wX	�
P�H '�ԭ\�U�<>\(!c�S3Zx[���uR�<*	�����A���>���=�I���=M���#h�&Š����l��Ơl��OHDX|cӫ�b�Y�n ���A
MF�9'ƔO��Jn1ٚ�l�r��tz�q\�E��QR�g��+�9m�ȟ�gA��H9&�.���M4�����Rs�U
���峕%�����/�pV�y:��%��kq�mRJ��]��({-�˞)�c5&?�a���@E��ൄϚ�V�,�0k��sɑ�c�p�+K����'��"��&�ӓ"{��]~���ߞ�\!?D�c�T	k���(�L]�!q]����7镎���H�Q���cg�ku�.�j�;=�m����O���|�=yD�+��N�˵�J)���o��;�:$�T>}��Ux6�OU��ڈ/@<A��bT���Q
�®<���ˉ�ʰ���P_��?��R�!N��
}
�l�$��a�
����-����_��{�j|D�u"�zW0�Y#����W����
�J������#�/��Xl`�W����!nB��Z����5�����{�@
H�i4���p��]�T��+�.#�M�G�\��I�f1���a
er*�\��	.-���c���wk��Eq���z\C��22�`��٨��*�*׬*晌�Г�|�M���R����k�;�Կ���!���VvÐށ��n㯯>�WL�:����e�5�`��V�0S��HRF�w�"�X�0G�UH/��ԒU�E�X+5�3EԨiiT)�kK�I�x엃�����[���z�u��^��eK�Q���z"�^Q�
[rX�a3Xk���TB��I$輺8��#�;'0*�hT�+Qt7R�Ia<���d�G&�pI�"y�U�2����&���\6L�=#�����xO�G�F�Ä`�U5t�62��,r�!�����e=�bUcX�JX?hu_'dI=�'�Fg֪�c��:��$�u���Ț�J.N�+w��M$�c,�0�`\7k���Tl��g)(2I��.����"��mՈ¶�i�6�v��7oO_�>=y����r��oc��ك�!�c�AH=\�óW)<��R<���z��	��Vf>��H*CR�9z�)��#~����lD��o�5�;�xLۮ�gK�I�5�X��
�3~�Q�J5]q8��L��B	;*��4祷����R�'^���P~�}BS/��űH���iJD�ݷc<�3l�]	�v�h#�j��Ң��]�R'����i�J�S��n��P�W�̘�f��f�l�M#KX�;a@Y!���L�p�
T6�Ĝ�A��˧�p��)��8��we�f�1a7RbH˄oZnyw
#S����9�������%&32�zz�1ת���z��p}$QY� =P�!���OU���������yZ�k�UŕSٕ9�@f�31�V��k�[O%=I�5b�eO�.�9w:��2��ֱ�@
GR3�Q�Y�F7�4�.M_�b@J��"O��==φ����20���Z,<�MS��/�\���JH\�d�}����Cm�^|�!z�هH�3"�uf�t@����;<=���+
��j�ھte�̼��V�����IZy E��*y��ŕ�����H��žƞ<��`'�]��p&F���|��3ۼr�/nF�	����H�Pw�F$���NKe��ż	W{H;A�֭�9(���S�	��aff���>A�f�щ0/<��:����Gъ�5�??2n�����k���	ۛ�E;��}�ND[49��>�9��!�+?�&M
��V�'Tq0�]ـ�q��Q(��(�ɼ�^�$�S�Ǣx�X�0evt�� U#IRMf�U�t��M�3��~��oB�����z�b��?:D#�x��1�4��Ö�5�J5zɹG�����]�&��4����o�Pj���GS)%Ӊ�"��Z�ҪD+KR�fLnLK=����*iV�Y�Jz�-\���k�꬟2\վ����y+�b��bA�]�E��#��w�����w0�k*�Z"���i����y��9��c&,(�E��N�����[�*�W>��0��4��<H4��Aw��G��|��r&�5]�s���Y&�ަ�\�y��T��m����ΤT὜��GD
�i�j+r�aڥ��?i������%W0nf�:���q�<���
�;���R�����s}��X�w���~�T�ן�8�V~�E��s�f��[���b���<��4�>�;j�𲖪�J&�� ��!��$Z��gQ�9R���A��ɵ&I��OY)�0����Ib\Ǒr���jl��.��cb��AWM|�v�\"�5�b�3�����L���#�����^�KxW��*�em=O�kt߾����̇\Kc�![#�Sb�{?�|���wB��r�m��C��		�GD��$/��0����4ڋڽmAy�cm,�H����bCOA�}&���n������j�GI����mR�YI?=�����D��ё��#�ӏ��|�IO��6���N>��e<�)�h��?�r��i�
�����(g�����#k�e��P����W��`缰��|ɕbԅ��7��wf>K�{v��u���H�wݏ��x�t��p�D���i�0Nz�4���xe9`�W4s4lcc�O�π�V(r[�Z��c2,LT]�e^1�"���Jb��G�|���CUR�br)ZMҬ@�s&��I��\d�Vb���>��R��YF�K�ߕ�������o�UU=�TLJL<_3����~�d�(���p�������#�4���B>Y0������{�.���C�=�*d��+mTN"�	��7F�~M�9�,��-Bݲ�"�*�b�r�3�|R�G5��$��R��b�����f��6uZ��
�]jtGZ�������Q��`fF6
D��
0�g�����n���h�,�lS~��J��x� �
��R$8(�4��땕<)��+^JuC'A�;`2(�\�?������Žq%����}wE�K�5hǻ1�T��QS�����4_�����6�g-�	�C0� �j��D�6��V0Q��0�+c��W똨���ua�`�~l���
ИXH>���̂d�$�4A�H����v��kE��	5�TP<@������'��V<4q3��ˇ$ӮX,n�Q�x"%`��e3Ħ�M$����A-���G�7�P8�����
+hz���_�����`���^��!�*%�!��$�d�0�@��D��b�F�
��u�R�b`���ٚc��\]��PsT����߯�^��c�2�]��i�_������J���.7e1m���$d��`!dOy��)/�cPEp"7f��|�mX(�����0����Q����}�'�2�B�H����V�4�w�	����Oҁ4��<A�2�;y<
�t��?�~��E[���'�.i+\j�77
z�]/�	
��N�eV�?�1?T��q?�j�=��9Ƭ8�FI��i�MR)�u�/���`��7j3D�n�q��b��u:���<�ex�R��Z����%k�D8�͚�Pe�yy�.g��ލ{���Xk��2��>��ŧ�+�&���'׷蕷a��r/YQ!f�.ᩉ���u]5 �a1u�H�Xs�Q]:2
z�1��,�%;ǫ�O��q���YKYj=F>-+A+�gl����#�d����t�k���#�n���M�Lc�"�Y��u��T2X������^�E��*R�ҌX���xI�`yn�Nw�7�F����|=F�!��ή�A��3CB��(�(�wr%�hnu�<��6�Y�
χ���OO���sI�s��#'��^��T-h���6����k�rz�YI�TԹ�q�3d�!�J2z�G�
��˻QG� 3���_���p����
[^�jwa��s)뷟b�Κ�&^���p8ma����IKU�[[c�5JH�@-�[wL�Tc;��E�&[���߿����-����x���}xn�֤�T��̯��B�l�=#�Wj��EU0�#�����Q t΅i��Xq�q}��-� N
�����ᴗM��u��Y��v��6�*e�Z�|��[�gwb��lz��]�H�[���t�[��y�z��5!��^�A*��:W�h�2E���ݩ��Dz$�`	G=ѣ�n�)���$Te��I��3�^9O4���Ք�ϘP����EO���\(�����ΘM�B��d1#?���*�Z����i��ak� D�MX�ZAݨv|�6�i*�Q�;j˃�A�R�%O3�'��?ȿ�3�8tG�V��ʙ_�,�'��*<�� 7����'�̧
IJs��d��>�a�d嫨�:��-���\M�*L᤾ܮW������w/��̳Ղ
?$�(����W�V�&/��`�g〗`[��� ��	\��j�'.�5��e�*����?��p�/L���9���]���Ʌ�UV�n��?O�֛�n$�~�a
��7'����
�~���h��u�E���͢0������p��^~A�p�Cc�D�Ih"�S�ŋ5�*p1��h�Z�e�|�m����E��#y�ƛ�bw��[�,�y�
+J�}
��*)���K=��j��@��!.5�⇲�E��c3�B�Ň�i+M&�I'%'�^1��TQ��1	��%�SY�w��o��p��]��MB�|����qV7�������졪}�춏�nq��[���,LbV��1Q��Zˍ���t�ͪZ�]U�׶'�|��Gĉ�8py_"��pQ��}r}��2�'�>�&�%I�l���#�np��;�Z�x��;a%o����q�W?-')�mQF)&+邊�T�5}b���69��ص���?��=YNt[�$�v���8�t�C�>ߒJ�u�D�4��f�MƜ�
�I��iW�>B+�e9)5�1���z�Қ9�&�yC��^s.L�᦯��>���C���R�(��R�����.��k!��f����$Y��r�о=)�#2���nYߞ$�˪*@3G3�~���^*d>
���8��`+�$AŢ6�?AX���J��`;׿Ǭ�^.|��W�7�+&�ֻ��B�3�w���8�����MY��Q;���A�yb<M쐼��,d�T�?�^�����3��D
�mK����m�|�����[_���|�ꚶ��Z�6�n����uB��I:}L�>�_4U�ӡe-lK�X���<�O�������J��.��1��l���8k�k��>*0��pA����d9S�6!G԰�`߷]�S]�<	Êۥe9iq���*fΫ.���N�M��UJ�e�^���9S�=) �'�y��[jG���CD�d"ح���?�ũe�Ȼ*H_oD(�+�o�Oȫ��:��`��S�R�ޔ�f���:�g����F��3�\�SJ�4�#mK���Qé�6�_���tڙ7��𶀋q�!
C��%M_:��b�� ,�*�:�r����5V;B�J�։eBmH�L�,�0Ϥx�A9<�pf�c�#�,��h<bw�Q�u�WM���Y7�����ܶ�r����C�Ҁ����&���枟��]H���6QD�C`4�"�
/bD��S/-���T=S�����%'50q�{�4ap�����4���۷7���&���D����^41-���`I�"�F������)��JӲHH��%�4�ͅHWV��0ʗi�a����T�7�$X����Vhf��G���(��m�P�;$Q�'MH*��?�3���X�&��絀�n�7<�n�4�LKHۂ���=���F!�/Ϝ�}��u��/����bJ	mo��s�j���+��0���/�wS��D�����nxw�x���g��x4�.�	+�u"���шA@��
C����}]���si��PUj���������St���)@z�;�y!��D�2�*��l���Ol��S�O}JΠ��%�%o�����Q��sЈ$5���iE���'^�"�fJa��!����ק�Q��f�ᴎ��Þ�k�'��bѴZ�=a\D�
\,7���^��v�.�-��g��\����6�6��ߴ,sjT�4�k^~U%�-�J�������,eѵ�4�u�6��,D�u���w��D]�L��<6�Y�eә�R<�4���Eي���&ߥ&����{?��90N	x�O�Qm��X��fsu�x)�Z��*C�9-��KN%��S��U�U�iÂ�d<�cN(oLr�{E�:{���Ib[s�9�@*��zY��%S&��/~�Wb����S��7"�:�!n$L:�Fź����6aV�N�N�_(O�������a��]�-����{���v�,Қ�
�����PN���+����q���GO'����g��@o>�����g���ҫ����aCF��>��
����>,^7}?�m-3x1_�-��1�:��P$D��� �
����|�%C����<��4͊�~���˳�R�a߲�6���,�'^:����e�C�M�+o�F���Ƹ�o9>if���.���1���<��ܚ���o]ζ7�*�̖ڴ�l6GŤ�l��Ҍ.���-�ik��e�(Ǎr�˄�64?'m�sx���ԔSu4��_i�`<,%�ȼ��؃z�K�Ko���X��31d��@�ě�eEz�Y��ĸ��`�����8�;�d�hDI]��NZ�z�Xl�
��Jn��[�Ћ�R��;�|���#���nO٬��vy�C���?����f�O�ߥNT��E�._8
�9�s� n�j���������Q��@ajf���D*9qҁ�D�
:в#����.�܅�T��J�g�þ��<�Q��&�X*�cA2���,MKD��B�8r���L���_�m�9=��D��X���"�,�_2t���5��R��3�`�Y��9�h8��,5�-(l��ǜ_/N�D�n��x�h5���u"��ޭ����&�$rSV;����QY���v�;Mң�i��_�c ��[�򮖱�����vw��P��*�ymdw�O5�\���)ܦO�0P�U ���9P���N��H��kIЯdX᧰7-"���ةjP���9������u!p@Y�=cS��Ǿ���b�[
x�E�9�
�,���B�@���;Q0��,��GN��p5���%���8D��hK�o)m ~�U[��32�e�y_^$�,���H���3a8���;��A��KA�Q�۷V��W�z+}
[�&|��78P��;e��i�
���-L�#?1!�c�9�WW�=����ŹMey�#�W���i���F/c(#(�W̭��X�^��{36~��i��$+�9i��w���,����$�m�5	w��ӊx�a:��{�O�M���=L�t�G�h6�CI�Sj�nc0�.��l��̸��!6Ohx���pNo���W�,�x��C���|5�<�վ����'ư<xQA�ܡ��^�&ͱ�dȈ�|0�F�-�thM�>�n2I*I�g=a�����h�`�-�Օ�
�n��;kVI�y}�;a�:�>�-x?Hl'�l�/@�YY��X�
V��ֆ�R}�[V�R����O�3��$8�>7kЃ�
�NB���b��+�Ą�Oa�*��V*�AO���D&��T[�0�<�<<BԸ��dXMa�:���-�^6�G����� ��p�qqY�P��$Qbf��P���?�)Lݥ3u�99��lvM:��]��k�
�J��j��ؔ��%(����y�`$i�Z�'���ۮ�y����9v��߃�·+��w����*U�f��-�:�U���.�	ע�mAǒ�w:�J���^���.��!�#c }�~a�\�_��;��V�U��l{@�U�'���UL1��z�R|AR#��)j�]��in�]��ɮ�|���x���Ą1>�<�i���1��n�ta�l��q=�zT��u�����x||f�>�ֲ��){d�>��B����W�'��n��p
0�>1g�I��,="��D���<��L����_ ��_s��dh ]����X�e�O~�'�,��Q^Ɏ���֞�]����++ue�P��0�DYFA0TK���D�N���ư/�*�z�� �P���U��kL�	�8�M|事�œ2��f0.�eWͰn��W+��-�׸�4-<}:�G���2!�ה���ɝ� ͸� �K�*������(��Y�a����,�ke;ջL��:1���ͩ�����"��ōΆ��$�A��FԄiOs�� +�򐄉���n�ԗrb�f�&�/��K���)#6[N��Vj���؈��5?����ti¦��n0�/2U�f+�!���ѕ&DO�o��$N�?�^+���^�T=�w�{�0��վ��r�|����CG^Q�dRI���u�q=t�v�E#a\|���y��l�1a�8~�~0��'�(SiGPe}Q������
�ֲ��!���ྪ���s���$�L�ud>[������5l�jQ���8���O�tJ���� \T���[l#�Б�ʷ
���K��?����˪z�L�f
{[����۹�L�'�x���xxhQ�
��FQ�sp+��h�g^�R��"�5�2��~꛸�;H��V~�Z��]���F�����-7�,�|٭.�b���thʱxHz�0^]G�5����r�I���d��9X2W�w0j����/�����?1}��~ه����4y�P���^��`m?�9x�ۛ�n�Z�!��A��2'5@G����vԋ֍�`��ot��!�B��D�������K������}5���QO�'"*%�3їo<��~,N9�Y�������E��L����-��5iV��M؜C���8�NJr�-
]�:+5���P�F衰�5�"��
+�+Dk��9�	CԳH�6U�O:>�V�!tfSW8�9�߽9z�Dh_�1�(����D�,�	�ba.�pe�2�0�T6�c�h�h/�a��;�2y/2*v�2���*x)����l�z͊M����L	ߤ�X�S�	��5��l��r��<�]��6EQ5��@<$��m�ڿ��u}_�Ի����T�3B�H��@�nv#};�勈S%�KY��k-]X	��S� �:eZ2���ފ�~�Rc1$��b=�B�?��k���06��z֣Y�̖*c��`�[�IDʆlj��0R$��=.��m�\�!�ǵr�p�Y"7cL���c��|IΏ�����~T.ʪr�Cť�O���#wO�b��d�x�d1�ۉ�#ʅ�ˊ��o�����'Kq�(4��;��Y�2��Jz"F�R=���
^�uztrt��0=�5��9�g��u����
�&���PӼQy��m�H.��,2�S#lX��I{Oδ��{�U�d��]�����>��L�#�w�o:�QkE�h3������Q\"�^q�R�fS�
��`�~Xl�O�ল���$*��z�u�Qݭ�HB�~Hz�<o�Ww����ɉq��(-�̈>���O��Ca�K/��+�tӳ��r�1Æ�al=�������w�GN^��d�����r�S�H�C;]2>N�g������R]�6��G��U<
sz�vm.�x(�*�d.[���qP7pTrW%ª��2�`
(�����G�w*���k��V! Ѭ#NB.�bΓ�o��ޖV���s�	��&S�vWۊP�׫@��l6��W�-K��ѥ?�/��C_�>�qH�J�__e�o}-+g�&�,*;Kv�Y�s�1��^���6�a�%	��Sy5��fsEP;|����y���Ke��D�Y�����G�e�0��08�L� ��3 ��ј��N�p�ma�MxK�F}f��/�������O�>-Va4X��������o��sg~�Y�M2<F֛���Y�t�C6wgc./v��z�ق�CkPrb�ME�M��TfpNw��J\ʈ��y�đ
o{��dhz9Ɏ��e.�\.�cݯ;�y��!��p5����k&5;�@�C��h��œp�M��Mo���'�Uh3�T]V������*E���K�V�E~���/
�����O���ɓ�>В�E
���𡼅�D���I�J���)�R���|R�����A7~NF���}�\�S��B�k̉�P�q
��s���J���3����=��\�]B�@jSϨ
zv���t�<�\:Um��,H�JBR���J!�WE�G�����_!��������=mZ2�bT��9���a��7��~�#�����g4�-�Fu�J.���idFCp��f�%v��"[N�q�x��I�/*�v����aj2���I�gh�q��0M_N�!�u����,<j"��9*����T7�
V�W�ΘX�pN-��\1��K�ǎ�A�I�@��n��㠤�0�y��pS-�-�R��c�ݽ�_G[̾��wo�|��%.��\����Z������O���<>�?q&�[ݒl;�U�Fi��kq����7�/<,�E
����4�1�aO#bL �a��mχ��A")��0}%��GM	�?z�7P
�Z9�	-R������8�*q?�l��6N�NZ���g�jPH��cn��z|��<�G^@@��v�$���YM��̠P~Tԋ���%&�Ȫy ��}#m��h�Z��d��f'��Y��p]���G��'w�d8�I�7RF@L,vKR�B���v��т�؆?�K�yR�yWS��fPGT!D}�"�"���y��^�
�7���p&Ɖ�����Y)�9�0���g�յ£%UZ�%ӹK�MێC����%���2}Q�9w�5�J#�,���iL��ٮ���LQ�aX�KQ��i�� N�����=5a%�ə��X�r��Z=`�P�Ha/E+�+g�20��B�@�,
���
���ۇ���vlk�.��5�2���/�/֛pz����^�-��ؿ�s������.*�pԣ��(P:.�Z!F4�׀';T�*�`�6(�Q���^8����a�҅���9:�l�V&K�>�hq�	?�-�f���E���W�+6��愊!�,L�>"�^�m�j�i^q[�u�Qx�-��͜����}�Q�����/)Z����7_�Ъ�G9��q|�EF��{.316�9���l���O�Ya�W��y;(�j�'�UiHM�\�jC����Z�B���\�=��d<�}Y{�v1�\�;��) Rv{��%�X�ga�Ld�f�J��GC�X�����*E2��� ��`���(�*34�Mw�)KT��(�F��Q�א6nq-D,>� 1�
���h��^?Q�U������&#��]�!�Z<��w�P覩��Sgҫc{[�/���>�Kd.J ��-M���vG�	ձ��i�F�w3�eEX"f�4��b	tkKqx
UaN�ځ�s]�7ۋ�[O�7��|���)/a�Y0�����U�*��`,;�;:.ު�~({t�Kx�3ϯL��<��܄��52���"c!uf�v�,'�in����x�׿�]J�A�퐂���j�yҠ'�cy�;2Q��2Gف�a;b�7�ɧ<�>g�ea�ʟy��VH6s�?3	�f��Y�%HR�6d��36b��?�H,g-+�M/���(/�Ip��9(��3��?���J�#����~VV�o��H肒/4�y��/.��m��3�Jz�g�����5^��~�&��*��q[��s���%n�A�-�Dճ+�	�e�ה��j��k���G�Ė�J���eF��BZ��׺M��3ծYľ4������}$��nZ�gM��xZJ`u�A%�.�_׼�����t?��޹����LV{��`��T���NQnѫ��l[��nML��o��LO�;*�{�}�SLq>��1p�P~�Қ����0�L��m<C�J�9�M{R7J��!XC��h�"&0�Z�9��/�bM��u �ۈ
�SّG��5d�[��>�&(�������2lL��D�x��.^4�bI�!�u@2��qSk�S�(p��SD��1���o�0�"dBG�Aa�ʋ��~!�����M�[:��vD>㴧YK�,���*ֻJR-��&���<�N㋻2����K���>����G�f[�쥨�J�2�p��Pt���n��H<�P�Xw���I�f0$
&����Dh7x��'�y0t�r�Zե ��`��Xpʬ$4r����H�1���f�PZ��f�w��>��K�s;[� �XY�������VT���=)��d��!���(���N��\dȀQ��L�$)�F\�3�����U�C���5ʪH��B�Fy�x��p9HG]1E�W	.�	+������أ�0�E��v��I�v�����3��W�\��E��?R��qm��֑����p�_�Y�iC���m�.�̪���	��(�@x~%i��MÈo�0*������
^O�{nq+i;3�%���M�)��cԛ���
����=�TkfH�/�
#�\,�"e��]�.�٧T�P�G���N�Ν�"�
Y��h�����ݙ1�q�}t0���r�
b�a�'�����3N���&��q씡p(�!İ�	hEj?�v��E��U���ʧ��"@�|�J�b	�:l�
Q�0�g�82U�V<z4�Q�����=�d�����������hh�O�"<�m�4F��K��sf�C�+?�R@6��������p1]��~	<��0���T$�#
�ɤ��$@*y]k�g��Q�KH�<7�3y]C1���w�o��x^�?y��x���_�w��b�`��#�_�9<)����_��wGoO������"��
��3=n�lr@Rk[K�܈FxJ�HJ@r��8G���A.����b�ٌ]�?@O�h�1�全^]���sz��魆?(Σ���E����ѳO���U�b�쬢3Zxy������Ӑj�nrk4�w�Jѿ:L��q( �]�0�����K4�۩v�*�WU���M]��Y�]��謥i�*ɘYbʥ�PҚ-�j2��=�]A��/-�!^���2T+�w���7�Ž�k�O�
�r�b%�{���K��nc���%"%S���_�
�=���=�](�b��K�D�����
|� ��]�it��,S&j�Nܾ�ɖ1EY^�u<c::G*��.K�L�Q^�4�ae�-�l5<Z!�	h����.��q���ƥAC�����ٓ!J�h�uY6�%��t���B0�-cUн���F��o,pZ�KZG�b�'��$�L?5f	Yz��3������bp�=���HY�.w�R�J�<v�Ț��1�+v�0`�х�j<�^� �t:��Ţ�+�E�xR��6Y9��υ0��R�E���e�<F_�Q��:�Q6�ϡȾ��3�woBt�����w�zO��)�+����e��Hpg�^>����~�`DB z��ȣ]wh?	s�)�W�t��놂iH!�VL�L�l���!����ڶ̕C��S��ꤙ���vnj��C@I��/NN�#���{!��On��0)l�Υy�w�R��U}���d�q,^�//Q=���P$�T��p\=q�����L�QPD�m�C_^��X�a�Edڵ2wi���7�ؐ�nYC�T

�{!��ņ<1&h.`�l��4�.u�ٍ���<���M��gL[8ˢ+��[RU���Fܖf��^��:�LZ�c�CO@[1P&�u����~�|�cf	��V�D�NN�+�n-�ʌ���Ƕ�n���_&�Z~��{r�Dy����!ؑ�Z#(��gX�~�k�"T�ܦz�򠖟�h��c��B5yDa�F�����[7�C�{4�[�ò���|6���A�v��u��_�zK��gVs��[�
.��8�V�z֦�i�T�%g�K?���SD�ש͖��KBwVѦ\�ӌo%e�����wL�����������
lH1�"��,m��acz��D"DN\
��X��X��n��/3�$.m�-�LJ������xyJ5e�K-��@pDg�x��^�����Ռu�u5_�~��W'�R���6������ާ�7�~Mkd�ލ+Y��?���PKM�[�SZ�����litespeed-cache-pt_BR.poUTABiux����PKM�[I�P��(�����litespeed-cache-pt_BR.moUTABiux����PKM�[`V��6����litespeed-cache-pt_BR.l10n.phpUTABiux����PK �PKc^�\(translations/.ls_translation_check_en_AUnu�[���PKc^�\`V�6�6+translations/litespeed-cache-pt_BR.l10n.phpnu�[���<?php
return ['x-generator'=>'GlotPress/4.0.3','translation-revision-date'=>'2025-12-17 01:48:43+0000','plural-forms'=>'nplurals=2; plural=n > 1;','project-id-version'=>'Plugins - LiteSpeed Cache - Stable (latest release)','language'=>'pt_BR','messages'=>['Sync failed.'=>'Falha ao sincronizar.','Synced successfully.'=>'Sincronizado.','Syncing'=>'Sincronizando','Guest Mode IP/UA sync status'=>'Status da sincronização de IP/UA do modo visitante','Every 15 Minutes'=>'A cada 15 minutos','Failed to sync Guest Mode lists.'=>'Falha ao sincronizar as listas do modo visitante.','Guest Mode lists synced successfully.'=>'Modo visitante sincronizado.','This will delete all generated Viewport Images'=>'Isso irá excluir todas as imagens geradas na janela de visualização','Cleaned all VPI data.'=>'Todos os dados da VPI foram limpos.','Turn on OptimaX. This will automatically request your pages OptimaX result via cron job.'=>'Ativação do OptimaX. Isso fará com que suas páginas solicitem automaticamente o resultado do OptimaX através da tarefa cron.','LiteSpeed Cache OptimaX'=>'LiteSpeed Cache OptimaX','OptimaX Settings'=>'Configurações do OptimaX','OptimaX Summary'=>'Resumo do OptimaX','Choose which image sizes to optimize.'=>'Escolha os tamanhos de imagens a serem otimizados.','No sizes found.'=>'Nenhum tamanho encontrado.','Optimize Image Sizes'=>'Otimizar tamanhos de imagens','OptimaX'=>'OptimaX','LiteSpeed Cache is temporarily disabled until: %s.'=>'O LiteSpeed Cache está temporariamente desativado até: %s.','Remove `Disable All Feature` Flag Now'=>'Remover o sinalizador “Desativar todos os recursos” agora','Disable All Features for 24 Hours'=>'Desativar todos os recursos por 24 horas','LiteSpeed Cache is disabled. This functionality will not work.'=>'O LiteSpeed Cache está desativado. Esta funcionalidade não irá funcionar.','Filter %s available to change threshold.'=>'Filtro %s disponível para alterar o limite.','Scaled size threshold'=>'Limite de tamanho em escala','Automatically replace large images with scaled versions.'=>'Substituir automaticamente imagens grandes por versões em escala.','Auto Rescale Original Images'=>'Redimensionamento automático de imagens originais','UCSS Inline Excluded Files'=>'Arquivos embutidos excluídos do UCSS','The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.'=>'A conexão com o QUIC.cloud não está correta. Tente sincronizar sua conexão com o QUIC.cloud novamente.','Not enough parameters. Please check if the QUIC.cloud connection is set correctly'=>'Parâmetros insuficientes. Verifique se a conexão com o QUIC.cloud está definida corretamente','No fields'=>'Nenhum campo','Value from filter applied'=>'Valor do filtro aplicado','This value is overwritten by the filter.'=>'Este valor é substituído pelo filtro.','This value is overwritten by the %s variable.'=>'Este valor é substituído pela variável %s.','QUIC.cloud CDN'=>'CDN do QUIC.cloud','Predefined list will also be combined with the above settings'=>'A lista predefinida também será combinada com as configurações acima','Tuning CSS Settings'=>'Ajuste das configurações de CSS','Predefined list will also be combined with the above settings.'=>'A lista predefinida também será combinada com as configurações acima.','Clear'=>'Limpar','If not, please verify the setting in the %sAdvanced tab%s.'=>'Caso contrário, verifique a configuração na aba %sAvançado%s.','Close popup'=>'Fechar pop-up','Deactivate plugin'=>'Desativar plugin','If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images.'=>'Se você usou a otimização de imagens, primeiro %sexclua todos os dados de otimização%s. OBSERVAÇÃO: isso não remove suas imagens otimizadas.','On uninstall, all plugin settings will be deleted.'=>'Ao desinstalar, todas as configurações do plugin serão excluídas.','Why are you deactivating the plugin?'=>'Por que você está desativando o plugin?','Other'=>'Outro','Plugin is too complicated'=>'O plugin é muito complicado','Site performance is worse'=>'O desempenho do site está pior','The deactivation is temporary'=>'A desativação é temporária','Deactivate LiteSpeed Cache'=>'Desativar o LiteSpeed Cache','CDN - Disabled'=>'CDN - Desativada','CDN - Enabled'=>'CDN - Ativada','Connected Date:'=>'Data da conexão:','Node:'=>'Nó:','Service:'=>'Serviço:','Autoload top list'=>'Lista principal do carregamento automático','Autoload entries'=>'Entradas do carregamento automático','Autoload size'=>'Tamanho do carregamento automático','This Month Usage: %s'=>'Uso neste mês: %s','Usage Statistics: %s'=>'Estatísticas de uso: %s','more'=>'mais','Globally fast TTFB, easy setup, and %s!'=>'TTFB globalmente rápido, configuração fácil e %s!','Last requested: %s'=>'Última solicitação: %s','Last generated: %s'=>'Última geração: %s','Requested: %s ago'=>'Solicitação: %s atrás','LiteSpeed Web ADC'=>'LiteSpeed Web ADC','OpenLiteSpeed Web Server'=>'OpenLiteSpeed Web Server','LiteSpeed Web Server'=>'LiteSpeed Web Server','PAYG used this month: %s. PAYG balance and usage not included in above quota calculation.'=>'PAYG usado este mês: %s. Saldo e uso do PAYG (pagamento conforme o uso), não incluídos no cálculo da cota acima.','Last crawled:'=>'Último rastreamento:','%1$s %2$d item(s)'=>'%1$s %2$d itens','Start watching...'=>'Comece a assistir…','Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.'=>'Os rastreadores não podem ser executados simultaneamente. Se o cron e uma execução manual forem iniciados em horários semelhantes, o primeiro a ser iniciado terá prioridade.','Position: '=>'Posição: ','%d item(s)'=>'%d itens','Last crawled'=>'Último rastreamento','Serve your visitors fast'=>'Atenda seus visitantes rapidamente','This will affect all tags containing attributes: %s.'=>'Isso irá afetar todas as tags que contém os atributos: %s.','%1$sLearn More%2$s'=>'%1$sSaiba mais%2$s','Get it from %s.'=>'Adquira em %s.','Reset the OPcache failed.'=>'Falha ao redefinir o OPcache.','OPcache is restricted by %s setting.'=>'O OPcache está restrito pela configuração %s.','OPcache is not enabled.'=>'O OPcache não está ativado.','Enable All Features'=>'Ativar todos os recursos','e.g. Use %1$s or %2$s.'=>'ex.: Use %1$s ou %2$s.','Click to copy'=>'Clique para copiar','Rate %1$s on %2$s'=>'Classifique o %1$s no %2$s','Clear %s cache when "Purge All" is run.'=>'Limpar o cache do %s quando “Limpar tudo” for executado.','SYNTAX: alphanumeric and "_". No spaces and case sensitive.'=>'SINTAXE: alfanumérico e “_”. Sem espaços e diferencia maiúsculas de minúsculas.','SYNTAX: alphanumeric and "_". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.'=>'SINTAXE: alfanumérico e “_”. Sem espaços e diferencia maiúsculas de minúsculas. DEVE SER ÚNICO EM OUTROS APLICATIVOS DA WEB.','Submit a ticket'=>'Enviar um ticket','Clear Cloudflare cache'=>'Limpar cache do Cloudflare','QUIC.cloud\'s access to your WP REST API seems to be blocked.'=>'Parece que o acesso do QUIC.cloud à API REST do WP está bloqueado.','Copy Log'=>'Copiar registro','Selectors must exist in the CSS. Parent classes in the HTML will not work.'=>'Os seletores precisam existir no CSS. As classes principais no HTML não irão funcionar.','List the CSS selectors whose styles should always be included in CCSS.'=>'Liste os seletores CSS, cujos estilos devem sempre ser incluídos no CCSS.','List the CSS selectors whose styles should always be included in UCSS.'=>'Liste os seletores CSS, cujos estilos devem sempre ser incluídos no UCSS.','Available after %d second(s)'=>'Disponível após %d segundos','Enable QUIC.cloud Services'=>'Ativar os serviços do QUIC.cloud','The features below are provided by %s'=>'Os recursos abaixo, são fornecidos por %s','Do not show this again'=>'Não mostrar isso novamente','Free monthly quota available. Can also be used anonymously (no email required).'=>'Cota mensal gratuita disponível. Também pode ser usado anonimamente (não é necessário e-mail).','Cloudflare Settings'=>'Configurações do Cloudflare','Failed to detect IP'=>'Falha ao detectar o IP','CCSS Selector Allowlist'=>'Lista de permissões do seletor de CCSS','Outputs to a series of files in the %s directory.'=>'Gera uma série de arquivos no diretório %s.','Attach PHP info to report. Check this box to insert relevant data from %s.'=>'Anexar informações do PHP ao relatório. Marque esta caixa para inserir dados relevantes de %s.','Last Report Date'=>'Data do último relatório','Last Report Number'=>'Número do último relatório','Regenerate and Send a New Report'=>'Gerar novamente e enviar um novo relatório','This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.'=>'Esta ação irá redefinir a %1$s. Se você alterou as configurações de WebP/AVIF e quer gerar %2$s para as imagens otimizadas anteriormente, use esta ação.','Soft Reset Optimization Counter'=>'Contador de otimização de redefinição suave','When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.'=>'Ao alternar os formatos, %1$s ou %2$s para aplicar esta nova opção às imagens otimizadas anteriormente.','%1$s is a %2$s paid feature.'=>'%1$s é um recurso pago %2$s.','Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.'=>'Remova a integração do QUIC.cloud deste site. Observação: os dados do QUIC.cloud serão preservados, para que você possa reativar os serviços a qualquer momento. Se você quiser remover totalmente seu site do QUIC.cloud, exclua primeiro o domínio através do painel do QUIC.cloud.','Disconnect from QUIC.cloud'=>'Desconectar do QUIC.cloud','Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.'=>'Tem certeza de que deseja se desconectar do QUIC.cloud? Isso não irá remover nenhum dado do painel do QUIC.cloud.','CDN - not available for anonymous users'=>'CDN - não disponível para usuários anônimos','Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.'=>'Seu site está conectado e usando os serviços on-line do QUIC.cloud como um <strong>usuário anônimo</strong>. A função de CDN e determinados recursos dos serviços de otimização, não estão disponíveis para usuários anônimos. Vincule-se ao QUIC.cloud, para usar o CDN e todos os recursos disponíveis dos serviços on-line.','QUIC.cloud Integration Enabled with limitations'=>'Integração com o QUIC.cloud ativada com limitações','Your site is connected and ready to use QUIC.cloud Online Services.'=>'Seu site está conectado e pronto para usar os serviços on-line do QUIC.cloud.','QUIC.cloud Integration Enabled'=>'Integração com o QUIC.cloud ativada','In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.'=>'Para usar a maioria dos serviços do QUIC.cloud, você precisa de uma cota. O QUIC.cloud oferece cota gratuita todos os meses, mas se você precisar de mais, pode comprá-la.','Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.'=>'Oferece um <strong>serviço de DNS integrado</strong> opcional para simplificar a integração com o CDN.','Provides <strong>security at the CDN level</strong>, protecting your server from attack.'=>'Oferece <strong>segurança a nível do CDN</strong>, protegendo seu servidor contra ataques.','Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>.'=>'Oferece cobertura global com uma <strong>rede crescente de mais de 80 PoPs</strong>.','Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.'=>'Armazena em cache todo o seu site, inclusive o conteúdo dinâmico e os blocos <strong>ESI</strong>.','Content Delivery Network'=>'Rede de distribuição de conteúdo (CDN)','<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.'=>'As <strong>imagens da janela de visualização (VPI)</strong> fornecem uma visualização completamente carregada e bem polida acima da dobra.','<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.'=>'O <strong>Espaço reservado para imagens de baixa qualidade (LQIP)</strong> dá às suas imagens uma aparência mais agradável à medida que elas são carregadas tardiamente.','<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.'=>'O <strong>CSS único (UCSS)</strong> remove definições de estilo não usadas, para acelerar o carregamento geral da página.','<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.'=>'O <strong>CSS crítico (CCSS)</strong> carrega o conteúdo visível acima da dobra mais rapidamente e com estilo completo.','QUIC.cloud\'s Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.'=>'Os serviços de otimização de páginas do QUIC.cloud corrigem o inchaço do CSS e melhoram a experiência do usuário durante o carregamento da página, o que pode levar a melhores pontuações de velocidade da página.','Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.'=>'O processamento dos formatos de imagem PNG, JPG e WebP é gratuito. O AVIF está disponível mediante uma taxa.','Optionally creates next-generation WebP or AVIF image files.'=>'Opcionalmente, cria arquivos de imagens WebP ou AVIF de última geração.','Processes your uploaded PNG and JPG images to produce smaller versions that don\'t sacrifice quality.'=>'Processa suas imagens PNG e JPG enviadas, para produzir versões menores sem sacrificar a qualidade.','QUIC.cloud\'s Image Optimization service does the following:'=>'O serviço de otimização de imagens do QUIC.cloud faz o seguinte:','<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.'=>'A <strong>Otimização de páginas</strong> otimiza os estilos e os elementos visuais da página, para um carregamento mais rápido.','<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.'=>'A <strong>Otimização de imagens</strong> permite tamanhos de arquivos de imagem menores, que são enviados mais rapidamente.','QUIC.cloud\'s Online Services improve your site in the following ways:'=>'Os serviços on-line do QUIC.cloud melhoram seu site das seguintes maneiras:','Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.'=>'Acelere ainda mais seu site WordPress com os serviços on-line e CDN do QUIC.cloud.','QUIC.cloud Integration Disabled'=>'Integração com o QUIC.cloud desativada','QUIC.cloud Online Services'=>'Serviços on-line do QUIC.cloud','Online Services'=>'Serviços on-line','Autoload'=>'Carregamento automático','Refresh QUIC.cloud status'=>'Atualizar o status do QUIC.cloud','Refresh'=>'Atualizar','You must be using one of the following products in order to measure Page Load Time:'=>'Você precisa estar usando um dos seguintes produtos, para medir o tempo de carregamento da página:','Refresh Usage'=>'Atualizar o uso','News'=>'Notícias','You need to set the %s in Settings first before using the crawler'=>'Você precisa definir o %s em “Configurações” primeiro, antes de usar o rastreador','You must set %1$s to %2$s before using this feature.'=>'Você precisa definir %1$s como %2$s antes de usar este recurso.','You must set %s before using this feature.'=>'Você precisa definir %s antes de usar este recurso.','My QUIC.cloud Dashboard'=>'Meu painel do QUIC.cloud','You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.'=>'No momento, você está usando os serviços como um usuário anônimo. Para gerenciar suas opções do QUIC.cloud, use o botão abaixo, para criar uma conta e acessar o painel do QUIC.cloud.','To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.'=>'Para gerenciar suas opções do QUIC.cloud, acesse o painel do QUIC.cloud.','To manage your QUIC.cloud options, please contact your hosting provider.'=>'Para gerenciar suas opções do QUIC.cloud, fale com seu provedor de hospedagem.','To manage your QUIC.cloud options, go to your hosting provider\'s portal.'=>'Para gerenciar suas opções do QUIC.cloud, acesse o portal do seu provedor de hospedagem.','QUIC.cloud CDN Options'=>'Opções de CDN do QUIC.cloud','Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!'=>'O melhor desempenho disponível para WordPress, TTFB globalmente rápido, configuração fácil e %smuito mais%s!','no matter where they live.'=>'não importa onde moram.','Content Delivery Network Service'=>'Serviço de rede de distribuição de conteúdo (CDN)','Enable QUIC.cloud CDN'=>'Ativar o CDN do QUIC.cloud','Link & Enable QUIC.cloud CDN'=>'Vincular e ativar o CDN do QUIC.cloud','QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.'=>'O CDN do QUIC.cloud não está <strong>disponível</strong> para usuários anônimos (não vinculados).','QUIC.cloud CDN is currently <strong>fully disabled</strong>.'=>'No momento, o CDN do QUIC.cloud está <strong>completamente desativado</strong>.','Learn More about QUIC.cloud'=>'Saiba mais sobre o QUIC.cloud','QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.'=>'O QUIC.cloud fornece CDN e serviços de otimização on-line, e não é obrigatório. Você pode usar muitos recursos deste plugin sem o QUIC.cloud.','Enable QUIC.cloud services'=>'Ativar os serviços do QUIC.cloud','Free monthly quota available.'=>'Cota mensal gratuita disponível.','Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.'=>'Acelere ainda mais seu site WordPress com os <strong>serviços on-line e CDN do QUIC.cloud</strong>.','Accelerate, Optimize, Protect'=>'Acelere, otimize e proteja','Check the status of your most important settings and the health of your CDN setup here.'=>'Verifique o status das suas configurações mais importantes e a integridade da configuração do CDN aqui.','QUIC.cloud CDN Status Overview'=>'Visão geral do status do CDN do QUIC.cloud','Refresh Status'=>'Atualizar status','Other Static CDN'=>'Outro CDN estático','Dismiss this notice.'=>'Dispensar esta notificação.','Send to twitter to get %s bonus'=>'Enviar ao Twitter para receber um bônus de %s','Spread the love and earn %s credits to use in our QUIC.cloud online services.'=>'Espalhe o amor e ganhe %s créditos para usar em nossos serviços on-line do QUIC.cloud.','No backup of unoptimized AVIF file exists.'=>'Não existe nenhum backup do arquivo AVIF não otimizado.','AVIF saved %s'=>'%s economizado em AVIF','AVIF file reduced by %1$s (%2$s)'=>'Arquivo AVIF reduzido em %1$s (%2$s)','Currently using original (unoptimized) version of AVIF file.'=>'No momento, usando a versão original (não otimizada) do arquivo AVIF.','Currently using optimized version of AVIF file.'=>'No momento, usando a versão otimizada do arquivo AVIF.','WebP/AVIF For Extra srcset'=>'WebP/AVIF para srcset adicional','Next-Gen Image Format'=>'Formato de imagem de última geração','Enabled AVIF file successfully.'=>'Arquivo AVIF ativado.','Disabled AVIF file successfully.'=>'Arquivo AVIF desativado.','Reset image optimization counter successfully.'=>'Contador de otimização de imagens redefinido.','Filename is empty!'=>'O nome do arquivo está vazio!','You will need to finish %s setup to use the online services.'=>'Você precisa concluir a configuração do %s para usar os serviços on-line.','Sync QUIC.cloud status successfully.'=>'Status do QUIC.cloud sincronizado.','Linked to QUIC.cloud preview environment, for testing purpose only.'=>'Vinculado ao ambiente de pré-visualização do QUIC.cloud, apenas para fins de teste.','Click here to proceed.'=>'Clique aqui para continuar.','Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.'=>'Site não reconhecido. O QUIC.cloud foi desativado automaticamente. Reative sua conta do QUIC.cloud.','Reset %s activation successfully.'=>'A ativação do %s foi redefinida.','Congratulations, %s successfully set this domain up for the online services with CDN service.'=>'Parabéns! O %s definiu este domínio para os serviços on-line com o serviço de CDN.','Congratulations, %s successfully set this domain up for the online services.'=>'Parabéns! O %s configurou este domínio para os serviços on-line.','Congratulations, %s successfully set this domain up for the anonymous online services.'=>'Parabéns! O %s configurou este domínio para os serviços on-line anônimos.','%s activation data expired.'=>'Os dados de ativação do %s expiraram.','Failed to parse %s activation status.'=>'Falha ao analisar o status de ativação do %s.','Failed to validate %s activation data.'=>'Falha ao validar os dados de ativação do %s.','Cert or key file does not exist.'=>'O arquivo de certificado ou chave não existe.','You need to activate QC first.'=>'Você precisa ativar o QC primeiro.','You need to set the %1$s first. Please use the command %2$s to set.'=>'Você precisa definir o %1$s primeiro. Use o comando %2$s para definir.','Failed to get echo data from WPAPI'=>'Falha ao coletar os dados de eco da WPAPI','The user with id %s has editor access, which is not allowed for the role simulator.'=>'O usuário com o ID %s tem acesso de editor, o que não é permitido para o simulador de funções.','You have used all of your quota left for current service this month.'=>'Você usou toda a sua cota restante para o serviço atual neste mês.','Learn more or purchase additional quota.'=>'Saiba mais ou compre cotas adicionais.','You have used all of your daily quota for today.'=>'Você usou toda a sua cota diária de hoje.','If comment to be kept is like: %1$s write: %2$s'=>'Se o comentário a ser mantido for do tipo: %1$s escrever: %2$s','When minifying HTML do not discard comments that match a specified pattern.'=>'Ao minificar o HTML, não descartar comentários que correspondam a um determinado padrão.','Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.'=>'Especifique uma ação AJAX em POST/GET e o número de segundos para armazenar em cache esta solicitação, separados por um espaço.','HTML Keep Comments'=>'Manter comentários em HTML','AJAX Cache TTL'=>'TTL do cache AJAX','You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.'=>'Você tem imagens aguardando para serem extraídas. Aguarde a conclusão da extração automática ou extraia-as manualmente agora.','Clean all orphaned post meta records'=>'Limpar todos os registros de metadados de posts órfãos','Orphaned Post Meta'=>'Metadados de posts órfãos','Best available WordPress performance'=>'O melhor desempenho disponível para WordPress','Clean orphaned post meta successfully.'=>'Metadados de posts órfãos limpos.','Last Pulled'=>'Última extração','You can list the 3rd party vary cookies here.'=>'Você pode listar os cookies de variação de terceiros aqui.','Vary Cookies'=>'Cookies de variação','Preconnecting speeds up future loads from a given origin.'=>'Pré-conectar acelera os carregamentos futuros a partir de uma origem específica.','If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.'=>'Se o seu tema não usa JavaScript para atualizar o mini carrinho, você deve ativar esta opção para exibir o conteúdo correto do carrinho.','Generate a separate vary cache copy for the mini cart when the cart is not empty.'=>'Gerar uma cópia de cache variável separada para o mini carrinho quando o carrinho não estiver vazio.','Vary for Mini Cart'=>'Variável para o mini carrinho','DNS Preconnect'=>'Pré-conexão de DNS','This setting is %1$s for certain qualifying requests due to %2$s!'=>'Essa configuração está %1$s para determinadas solicitações qualificadas devido a %2$s!','Listed JS files or inline JS code will be delayed.'=>'Os arquivos JS listados ou o código JS embutido serão atrasados.','URL Search'=>'Pesquisa de URL','JS Delayed Includes'=>'Inclusões de JS atrasados','Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.'=>'Sua domain_key foi temporariamente incluída em uma lista de bloqueios para evitar abusos. Entre em contato com o suporte em QUIC.cloud para saber mais.','Cloud server refused the current request due to unpulled images. Please pull the images first.'=>'O servidor em nuvem recusou a solicitação atual devido a imagens não recuperadas. Obtenha as imagens primeiro.','Current server load'=>'Carga atual do servidor','Redis encountered a fatal error: %1$s (code: %2$d)'=>'O Redis encontrou um erro fatal: %1$s (código: %2$d)','Started async image optimization request'=>'Iniciada a solicitação de otimização de imagem assíncrona','Started async crawling'=>'Rastreamento assíncrono iniciado','Saving option failed. IPv4 only for %s.'=>'Falha ao salvar a opção. Apenas IPv4 para %s.','Cloud server refused the current request due to rate limiting. Please try again later.'=>'O servidor em nuvem recusou a solicitação atual devido a limitação de taxa. Tente novamente mais tarde.','Maximum image post id'=>'ID máximo do post da imagem','Current image post id position'=>'Posição atual do ID do post da imagem','Images ready to request'=>'Imagens prontas para solicitar','Redetect'=>'Redetectar','If you are using a %1$s socket, %2$s should be set to %3$s'=>'Se você estiver usando um soquete %1$s, %2$s deve ser definido como %3$s','All QUIC.cloud service queues have been cleared.'=>'Todas as filas de serviço QUIC.cloud foram limpas.','Cache key must be integer or non-empty string, %s given.'=>'A chave de cache deve ser um número inteiro ou uma string não vazia, foi fornecido %s.','Cache key must not be an empty string.'=>'A chave de cache não deve ser uma string vazia.','JS Deferred / Delayed Excludes'=>'Exclusões de JS adiado/atrasado','The queue is processed asynchronously. It may take time.'=>'A fila é processada de forma assíncrona. Isso pode levar algum tempo.','In order to use QC services, need a real domain name, cannot use an IP.'=>'Para usar os serviços do QC, é necessário um nome de domínio real; não é possível usar um IP.','Restore Settings'=>'Restaurar configurações','This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?'=>'Isso irá restaurar as configurações de backup criadas %1$s antes de aplicar a predefinição %2$s. Quaisquer alterações feitas desde então serão perdidas. Deseja continuar?','Backup created %1$s before applying the %2$s preset'=>'Backup criado %1$s antes de aplicar a predefinição %2$s','Applied the %1$s preset %2$s'=>'Aplicada a predefinição %1$s %2$s','Restored backup settings %1$s'=>'Configurações de backup restauradas %1$s','Error: Failed to apply the settings %1$s'=>'Erro: Falha ao aplicar as configurações %1$s','History'=>'Histórico','unknown'=>'desconhecido','Apply Preset'=>'Aplicar predefinição','This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?'=>'Isso fará backup das suas configurações atuais e as substituirá pelas configurações predefinidas do %1$s. Deseja continuar?','Who should use this preset?'=>'Quem deve usar esta predefinição?','Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.'=>'Use uma predefinição oficial projetada pelo LiteSpeed para configurar seu site com um único clique. Experimente o armazenamento em cache "Essenciais" sem risco, ou a otimização "Extremo" ou algo intermediário.','LiteSpeed Cache Standard Presets'=>'Predefinições padrão do LiteSpeed Cache','A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.'=>'É necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Ativa o nível máximo de otimizações, para melhorar as pontuações de velocidade da página.','This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.'=>'Esta predefinição quase certamente exigirá testes e exclusões para alguns CSS, JS e imagens de carregamento tardio. Preste atenção especial aos logos ou imagens de controle deslizante (sliders) baseados em HTML.','Inline CSS added to Combine'=>'CSS embutido adicionado para combinar','Inline JS added to Combine'=>'JS embutido adicionado para combinar','JS Delayed'=>'JS atrasado','Viewport Image Generation'=>'Geração de imagens da janela de visualização (viewport)','Lazy Load for Images'=>'Carregamento tardio para imagens','Everything in Aggressive, Plus'=>'Tudo do Agressivo, e mais','Extreme'=>'Extremo','This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.'=>'Esta predefinição pode funcionar imediatamente em alguns sites, mas certifique-se de testar! Algumas exclusões de CSS ou JS podem ser necessárias em Otimização de página > Ajuste.','Lazy Load for Iframes'=>'Carregamento tardio para iframes','Removed Unused CSS for Users'=>'Remoção de CSS não usado para usuários','Asynchronous CSS Loading with Critical CSS'=>'Carregamento assíncrono de CSS com CSS crítico','CSS & JS Combine'=>'Combinação de CSS e JS','Everything in Advanced, Plus'=>'Tudo do Avançado, e mais','Aggressive'=>'Agressivo','A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.'=>'É necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Inclui muitas otimizações conhecidas por melhorar as pontuações de velocidade da página.','This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.'=>'Esta predefinição é adequada para a maioria dos sites e é improvável que cause conflitos. Quaisquer conflitos de CSS ou JS podem ser resolvidos com as ferramentas em Otimização de página > Ajuste.','Remove Query Strings from Static Files'=>'Remover strings de consulta de arquivos estáticos','DNS Prefetch for static files'=>'Pré-carregamento de DNS para arquivos estáticos','JS Defer for both external and inline JS'=>'Adiar JS para JS externo e embutido','CSS, JS and HTML Minification'=>'Minificação de CSS, JS e HTML','Guest Mode and Guest Optimization'=>'Modo de visitante e otimização de visitantes','Everything in Basic, Plus'=>'Tudo do Básico, e mais','Advanced (Recommended)'=>'Avançado (recomendado)','A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.'=>'É necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Inclui otimizações conhecidas por melhorar a pontuação do site em ferramentas de medição de velocidade da página.','This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.'=>'Esta predefinição de baixo risco apresenta otimizações básicas para velocidade e experiência do usuário. Apropriada para iniciantes entusiastas.','Mobile Cache'=>'Cache para dispositivos móveis','Everything in Essentials, Plus'=>'Tudo do Essenciais e mais','A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled.'=>'Não é necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Apenas os recursos básicos de cache estão ativados.','This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.'=>'Esta predefinição sem risco é adequada para todos os tipos de sites. É indicada para novos usuários, sites simples ou desenvolvimento orientado para cache.','Higher TTL'=>'TTL mais alto','Default Cache'=>'Cache padrão','Essentials'=>'Essenciais','LiteSpeed Cache Configuration Presets'=>'Predefinições de configuração do LiteSpeed Cache','Standard Presets'=>'Predefinições padrão','Listed CSS files will be excluded from UCSS and saved to inline.'=>'Os arquivos CSS listados serão excluídos do UCSS e salvos de forma embutida.','UCSS Selector Allowlist'=>'Lista de permissões do seletor UCSS','Presets'=>'Predefinições','Partner Benefits Provided by'=>'Benefícios para parceiros fornecidos por','LiteSpeed Logs'=>'Registros do LiteSpeed','Crawler Log'=>'Registro de rastreamento','Purge Log'=>'Limpar registro','Prevent writing log entries that include listed strings.'=>'Impedir a gravação de entradas de registro que incluam strings (cadeias de caracteres) listadas.','View Site Before Cache'=>'Ver site antes do cache','View Site Before Optimization'=>'Ver site antes da otimização','Debug Helpers'=>'Auxiliares de depuração','Enable Viewport Images auto generation cron.'=>'Ativar a geração automática de imagens na janela de visualização (viewport) via cron.','This enables the page\'s initial screenful of imagery to be fully displayed without delay.'=>'Isso permite que o conjunto inicial de imagens da página seja totalmente exibido sem atrasos.','The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.'=>'O serviço de imagens na janela de visualização (viewport) detecta quais imagens aparecem acima da dobra e as exclui do carregamento tardio (lazy load).','When you use Lazy Load, it will delay the loading of all images on a page.'=>'Quando você usa o "Carregamento tardio", ele atrasará o carregamento de todas as imagens em uma página.','Use %1$s to bypass remote image dimension check when %2$s is ON.'=>'Use %1$s para ignorar a verificação das dimensões de imagem remotas quando %2$s estiver ATIVADO.','VPI'=>'VPI','%s must be turned ON for this setting to work.'=>'%s deve estar ATIVADO para que esta configuração funcione.','Viewport Image'=>'Imagem da janela de visualização (viewport)','API: Filter %s available to disable blocklist.'=>'API: Filtro %s disponível para desativar a lista de bloqueio.','API: PHP Constant %s available to disable blocklist.'=>'API: Constante PHP %s disponível para desativar a lista de bloqueio.','Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:'=>'Considere desativar os seguintes plugins detectados, pois eles podem entrar em conflito com o LiteSpeed Cache:','Mobile'=>'Dispositivo móvel','Disable VPI'=>'Desativar VPI','Disable Image Lazyload'=>'Desativar carregamento lento de imagens','Disable Cache'=>'Desativar cache','Debug String Excludes'=>'Exclusões de string de depuração','Viewport Images Cron'=>'Cron de imagens da janela de visualização (viewport)','Viewport Images'=>'Imagens da janela de visualização (viewport)','Alias is in use by another QUIC.cloud account.'=>'O alias está sendo usado por outra conta QUIC.cloud.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain.'=>'Não é possível adicionar automaticamente %1$s como um alias de domínio para o domínio principal %2$s.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.'=>'Não é possível adicionar automaticamente %1$s como um alias de domínio para o domínio principal %2$s, devido a um possível conflito com o CDN.','You cannot remove this DNS zone, because it is still in use. Please update the domain\'s nameservers, then try to delete this zone again, otherwise your site will become inaccessible.'=>'Você não pode remover esta zona DNS, pois ela ainda está em uso. Atualize os servidores de nomes do domínio e tente excluir esta zona novamente, caso contrário, seu site ficará inacessível.','The site is not a valid alias on QUIC.cloud.'=>'O site não é um alias válido no QUIC.cloud.','Please thoroughly test each JS file you add to ensure it functions as expected.'=>'Teste minuciosamente cada arquivo JS que você adicionar para garantir que funcione conforme o esperado.','Please thoroughly test all items in %s to ensure they function as expected.'=>'Testar minuciosamente todos os itens em %s para garantir que funcionem conforme o esperado.','Use %1$s to bypass UCSS for the pages which page type is %2$s.'=>'Use %1$s para ignorar o UCSS para as páginas cujo tipo de página seja %2$s.','Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.'=>'Use %1$s para gerar um único UCSS para as páginas cujo tipo de página seja %2$s, enquanto os outros tipos de página continuam por URL.','Filter %s available for UCSS per page type generation.'=>'Filtro %s disponível para geração de UCSS por tipo de página.','Guest Mode failed to test.'=>'Falha ao testar o modo visitante.','Guest Mode passed testing.'=>'O modo visitante foi aprovado no teste.','Testing'=>'Testando','Guest Mode testing result'=>'Resultado do teste do modo visitante','Not blocklisted'=>'Não está na lista de bloqueio','Learn more about when this is needed'=>'Saiba mais sobre quando isso é necessário','Cleaned all localized resource entries.'=>'Todas as entradas de recursos localizadas foram limpas.','View .htaccess'=>'Ver .htaccess','You can use this code %1$s in %2$s to specify the htaccess file path.'=>'Você pode usar este código %1$s em %2$s para especificar o caminho do arquivo .htaccess.','PHP Constant %s is supported.'=>'A constante %s do PHP é suportada.','Default path is'=>'O caminho padrão é','.htaccess Path'=>'Caminho do .htaccess','Please read all warnings before enabling this option.'=>'Leia todos os alertas antes de ativar esta opção.','This will delete all generated unique CSS files'=>'Isso irá excluir todos os arquivos de CSS únicos gerados','In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.'=>'Para evitar um erro de atualização, você deve estar usando %1$s ou posterior antes de poder atualizar para versões %2$s.','Use latest GitHub Dev/Master commit'=>'Use o último commit Dev/Master do GitHub','Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.'=>'Pressione o botão %s para usar o commit mais recente do GitHub. Master é para candidato a lançamento e Dev é para testes experimentais.','Downgrade not recommended. May cause fatal error due to refactored code.'=>'Desaconselhamos a reversão de versão. Pode causar erros fatais devido ao código reestruturado.','Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.'=>'Otimizar apenas as páginas para visitantes em modo visitante (não conectados). Se DESATIVADO, os arquivos CSS/JS/CCSS serão duplicados para cada grupo de usuários.','Listed JS files or inline JS code will not be optimized by %s.'=>'Os arquivos JS listados ou o código JS embutido não serão otimizados pelo %s.','Listed URI will not generate UCSS.'=>'O URI listado não irá gerar UCSS.','The selector must exist in the CSS. Parent classes in the HTML will not work.'=>'O seletor deve existir no CSS. Classes principais no HTML não funcionarão.','Wildcard %s supported.'=>'Caractere curinga %s é suportado.','Useful for above-the-fold images causing CLS (a Core Web Vitals metric).'=>'Útil para imagens acima da dobra que causam CLS (uma métrica do Core Web Vitals).','Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).'=>'Defina uma largura e altura explícitas nos elementos de imagem para reduzir deslocamentos de layout e melhorar o CLS (uma métrica do Core Web Vitals).','Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.'=>'As alterações nesta configuração não se aplicam aos LQIPs já gerados. Para generar novamente os LQIPs existentes, primeiro %s no menu da barra de administração.','Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).'=>'Adiar até que a página seja analisada ou atrasar até a interação, pode ajudar a reduzir a contenção de recursos e melhorar o desempenho, causando um FID (métrica do Core Web Vitals) mais baixo.','Delayed'=>'Atrasado','JS error can be found from the developer console of browser by right clicking and choosing Inspect.'=>'Erros de JS podem ser encontrados no console do desenvolvedor do navegador clicando com o botão direito e escolhendo "Inspecionar".','This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.'=>'Essa opção pode resultar em um erro de JS ou problema de layout em páginas de interface com determinados temas/plugins.','This will also add a preconnect to Google Fonts to establish a connection earlier.'=>'Isso também adicionará uma pré-conexão ao Google Fonts para estabelecer uma conexão mais cedo.','Delay rendering off-screen HTML elements by its selector.'=>'Atrasar a renderização de elementos HTML fora da tela pelo seletor.','Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.'=>'Desative esta opção para gerar CCSS por tipo de post em vez de por página. Isso pode economizar uma quantidade significativa de cota de CCSS, porém pode resultar em estilos CSS incorretos se o seu site usar um construtor de páginas.','This option is bypassed due to %s option.'=>'Esta opção é ignorada devido à opção %s.','Elements with attribute %s in HTML code will be excluded.'=>'Elementos com o atributo %s no código HTML serão excluídos.','Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.'=>'Use o serviço on-line do QUIC.cloud para gerar CSS crítico e carregar o restante do CSS de forma assíncrona.','This option will automatically bypass %s option.'=>'Esta opção irá ignorar automaticamente a opção %s.','Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.'=>'Use UCSS embutido para reduzir o carregamento extra de arquivos CSS. Esta opção não será ativada automaticamente para páginas %1$s. Para usá-la em páginas %1$s, defina como ATIVADO.','Run %s Queue Manually'=>'Executar a fila %s manualmente','This option is bypassed because %1$s option is %2$s.'=>'Esta opção é ignorada porque a opção %1$s é %2$s.','Automatic generation of unique CSS is in the background via a cron-based queue.'=>'A geração automática de CSS único é feita em segundo plano por meio de uma fila baseada em cron.','This will drop the unused CSS on each page from the combined file.'=>'Isso removerá o CSS não usado em cada página do arquivo combinado.','HTML Settings'=>'Configurações de HTML','LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.'=>'O plugin de cache do LiteSpeed foi atualizado. Atualize a página para concluir a atualização dos dados de configuração.','Your %1$s quota on %2$s will still be in use.'=>'Sua cota de %1$s em %2$s ainda estará em uso.','This option can help to correct the cache vary for certain advanced mobile or tablet visitors.'=>'Esta opção pode ajudar a corrigir a variação de cache para certos visitantes avançados de dispositivos móveis ou tablets.','Guest Mode provides an always cacheable landing page for an automated guest\'s first time visit, and then attempts to update cache varies via AJAX.'=>'O modo visitante fornece uma página de destino sempre passível de ser armazenada em cache para a primeira visita automatizada de um visitante e, em seguida, tenta atualizar o cache de forma variada por meio do AJAX.','Please make sure this IP is the correct one for visiting your site.'=>'Certifique-se de que este IP seja o correto para visitar o seu site.','the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.'=>'o IP detectado automaticamente pode não ser preciso se você tiver um IP de saída adicional definido ou múltiplos IPs configurados no seu servidor.','You need to turn %s on and finish all WebP generation to get maximum result.'=>'Você precisa ativar %s e concluir toda a geração de WebP para obter o resultado máximo.','You need to turn %s on to get maximum result.'=>'Você precisa ativar %s para obter o resultado máximo.','This option enables maximum optimization for Guest Mode visitors.'=>'Esta opção permite a otimização máxima para visitantes no modo visitante.','More'=>'Mais','Remaining Daily Quota'=>'Cota diária restante','Successfully Crawled'=>'Rastreado','Already Cached'=>'Já armazenado em cache','The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.'=>'O rastreador usará seu sitemap XML ou índice de sitemap. Digite o URL completo do seu sitemap aqui.','Optional when API token used.'=>'Opcional quando um token de API é usado.','Recommended to generate the token from Cloudflare API token template "WordPress".'=>'Recomendado para gerar o token a partir do modelo de token da API do Cloudflare "WordPress".','Global API Key / API Token'=>'Chave de API global / Token de API','NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.'=>'OBSERVAÇÃO: A CDN do QUIC.cloud e a Cloudflare não usam o mapeamento de CDN. Se você estiver usando apenas o QUIC.cloud ou a Cloudflare, deixe esta configuração como %s.','Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN.'=>'Ative esta configuração %s se você estiver usando uma Rede de Distribuição de Conteúdo (CDN) tradicional ou um subdomínio para conteúdo estático com a CDN do QUIC.cloud.','Use external object cache functionality.'=>'Use a funcionalidade de cache de objetos externos.','Serve a separate cache copy for mobile visitors.'=>'Fornece uma cópia de cache separada para visitantes móveis.','By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.'=>'Por padrão, as páginas "Minha conta", "Finalização de compra" e "Carrinho" são automaticamente excluídas do cache. Uma má configuração das associações de páginas nas configurações do WooCommerce pode fazer com que algumas páginas sejam erroneamente excluídas.','Cleaned all Unique CSS files.'=>'Todos os arquivos CSS únicos foram limpos.','Add Missing Sizes'=>'Adicionar tamanhos ausentes','Optimize for Guests Only'=>'Otimizar apenas para visitantes','Guest Mode JS Excludes'=>'Exclusões de JS no modo visitante','CCSS Per URL'=>'CCSS por URL','HTML Lazy Load Selectors'=>'Seletores de carregamento tardio HTML','UCSS URI Excludes'=>'Exclusões de URI UCSS','UCSS Inline'=>'UCSS embutido','Guest Optimization'=>'Otimização de visitantes','Guest Mode'=>'Modo visitante','Online node needs to be redetected.'=>'O nó on-line precisa ser detectado novamente.','The current server is under heavy load.'=>'O servidor atual está sobrecarregado.','Please see %s for more details.'=>'Consulte %s para mais detalhes.','This setting will regenerate crawler list and clear the disabled list!'=>'Esta configuração irá regenerar a lista do rastreadores e limpar a lista de desativados!','%1$s %2$s files left in queue'=>'%1$s %2$s arquivos restantes na fila','Crawler disabled list is cleared! All crawlers are set to active! '=>'A lista de rastreadores desativados foi limpa! Todos os rastreadores estão ativos! ','Redetected node'=>'Nó redetectado','No available Cloud Node after checked server load.'=>'Nenhum nó da nuvem disponível após verificar a carga do servidor.','Localization Files'=>'Arquivos de localização','Purged!'=>'Limpo!','Resources listed here will be copied and replaced with local URLs.'=>'Os recursos listados aqui serão copiados e substituídos por URLs locais.','Use latest GitHub Master commit'=>'Use o commit mais recente do Master GitHub','Use latest GitHub Dev commit'=>'Use o commit mais recente do GitHub Dev','No valid sitemap parsed for crawler.'=>'Nenhum sitemap válido analisado pelo rastreador.','CSS Combine External and Inline'=>'Combinar CSS externo e embutido','Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.'=>'Incluir CSS externo e CSS embutido no arquivo combinado quando %1$s também estiver ativado. Esta opção ajuda a manter as prioridades do CSS, o que deve minimizar possíveis erros causados pela combinação de CSS.','Minify CSS files and inline CSS code.'=>'Minificar arquivos CSS e código CSS embutido.','Predefined list will also be combined w/ the above settings'=>'A lista predefinida também será combinada com as configurações acima','Localization'=>'Localização','Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.'=>'Inclua JS externo e JS embutido no arquivo combinado quando %1$s também estiver ativado. Esta opção ajuda a manter as prioridades de execução de JS, o que deve minimizar possíveis erros causados pela combinação de JS.','Combine all local JS files into a single file.'=>'Combinar todos os arquivos JS locais em um único arquivo.','Listed JS files or inline JS code will not be deferred or delayed.'=>'Os arquivos JS listados ou o código JS embutido não serão adiados ou atrasados.','JS Combine External and Inline'=>'Combinar JS externo e embutido','Dismiss'=>'Dispensar','The latest data file is'=>'O arquivo de dados mais recente é','The list will be merged with the predefined nonces in your local data file.'=>'A lista será mesclada com os nonces predefinidos em seu arquivo de dados local.','Combine CSS files and inline CSS code.'=>'Combinar arquivos CSS e código CSS embutido.','Minify JS files and inline JS codes.'=>'Minificar arquivos JS e códigos JS embutidos.','Listed JS files or inline JS code will not be minified or combined.'=>'Os arquivos JS listados ou o código JS embutido não serão minificados ou combinados.','Listed CSS files or inline CSS code will not be minified or combined.'=>'Os arquivos CSS listados ou o código CSS embutido não serão minificados ou combinados.','This value is overwritten by the Network setting.'=>'Este valor é substituído pela configuração de rede.','LQIP Excludes'=>'Exclusões de LQIP','These images will not generate LQIP.'=>'Essas imagens não irão gerar um LQIP (Marcador de Imagem de Baixa Qualidade).','Are you sure you want to reset all settings back to the default settings?'=>'Tem certeza de que deseja redefinir todas as configurações para as configurações padrão?','This option will remove all %s tags from HTML.'=>'Esta opção irá remover todas as tags %s do HTML.','Are you sure you want to clear all cloud nodes?'=>'Tem certeza de que deseja limpar todos os nós na nuvem?','Remove Noscript Tags'=>'Remover tags Noscript','The site is not registered on QUIC.cloud.'=>'O site não está cadastrado no QUIC.cloud.','Click here to set.'=>'Clique aqui para definir.','Localize Resources'=>'Localizar recursos','Setting Up Custom Headers'=>'Configurando cabeçalhos personalizados','This will delete all localized resources'=>'Isso irá excluir todos os recursos localizados','Localized Resources'=>'Recursos localizados','Comments are supported. Start a line with a %s to turn it into a comment line.'=>'Comentários são suportados. Comece uma linha com um %s para transformá-la em uma linha de comentário.','HTTPS sources only.'=>'Apenas fontes HTTPS.','Localize external resources.'=>'Localizar recursos externos.','Localization Settings'=>'Configurações de localização','Use QUIC.cloud online service to generate unique CSS.'=>'Use o serviço on-line do QUIC.cloud para gerar CSS único.','Generate UCSS'=>'Gerar UCSS','Unique CSS'=>'CSS único','Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches'=>'Limpar as entradas de cache criadas por este plugin, exceto os caches de CSS crítico, CSS único e LQIP (Marcador de Imagem de Baixa Qualidade)','LiteSpeed Report'=>'Relatório do LiteSpeed','Image Thumbnail Group Sizes'=>'Tamanhos dos grupos de miniaturas de imagens','Ignore certain query strings when caching. (LSWS %s required)'=>'Ignorar determinadas strings de consulta ao armazenar em cache. (Requer LSWS %s)','For URLs with wildcards, there may be a delay in initiating scheduled purge.'=>'Para URLs com curingas, pode haver um atraso na inicialização da limpeza agendada.','By design, this option may serve stale content. Do not enable this option, if that is not OK with you.'=>'Por padrão, esta opção pode fornecer conteúdo obsoleto. Não ative esta opção se isso não for ACEITÁVEL para você.','Serve Stale'=>'Fornecer conteúdo obsoleto','This value is overwritten by the primary site setting.'=>'Este valor é substituído pela configuração do site principal.','One or more pulled images does not match with the notified image md5'=>'Uma ou mais imagens recuperadas não correspondem à imagem notificada com o md5','Some optimized image file(s) has expired and was cleared.'=>'Alguns arquivo(s) de imagem otimizada expiraram e foram apagados.','You have too many requested images, please try again in a few minutes.'=>'Você tem muitas imagens solicitadas. Tente novamente em alguns minutos.','Pulled WebP image md5 does not match the notified WebP image md5.'=>'A imagem WebP recuperada não corresponde ao md5 da imagem WebP notificada.','Pulled AVIF image md5 does not match the notified AVIF image md5.'=>'O MD5 da imagem AVIF extraída, não corresponde ao MD5 da imagem AVIF notificada.','Read LiteSpeed Documentation'=>'Leia a documentação do LiteSpeed','There is proceeding queue not pulled yet. Queue info: %s.'=>'Há uma fila de processamento que ainda não foi concluída. Informações da fila: %s.','Specify how long, in seconds, Gravatar files are cached.'=>'Especificar por quantos segundos os arquivos do Gravatar serão armazenados em cache.','Cleared %1$s invalid images.'=>'Foram limpas %1$s imagens inválidas.','LiteSpeed Cache General Settings'=>'Configurações gerais do LiteSpeed Cache','This will delete all cached Gravatar files'=>'Isso irá excluir todos os arquivos Gravatar em cache','Prevent any debug log of listed pages.'=>'Impedir qualquer registro de depuração das páginas listadas.','Only log listed pages.'=>'Registrar apenas as páginas listadas.','Specify the maximum size of the log file.'=>'Especificar o tamanho máximo do arquivo de registro.','To prevent filling up the disk, this setting should be OFF when everything is working.'=>'Para evitar encher o disco, esta configuração deve estar DESATIVADA quando tudo estiver funcionando.','Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.'=>'Pressione o botão %s para interromper os testes beta e voltar para a versão atual no diretório de plugins do WordPress.','Use latest WordPress release version'=>'Use a versão mais recente do WordPress','OR'=>'OU','Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.'=>'Use esta seção para alternar entre as versões do plugin. Para testar uma versão beta de um commit do GitHub, digite o URL do commit no campo abaixo.','Reset Settings'=>'Redefinir configurações','LiteSpeed Cache Toolbox'=>'Caixa de ferramentas do LiteSpeed Cache','Beta Test'=>'Teste beta','Log View'=>'Visualização de registros','Debug Settings'=>'Configurações de depuração','Turn ON to control heartbeat in backend editor.'=>'ATIVAR para controlar o monitoramento de atividade (heartbeat) no editor do painel.','Turn ON to control heartbeat on backend.'=>'ATIVAR para controlar o monitoramento de atividade (heartbeat) no painel.','Set to %1$s to forbid heartbeat on %2$s.'=>'Defina como %1$s para impedir o monitoramento de atividade (heartbeat) em %2$s.','WordPress valid interval is %s seconds.'=>'O intervalo válido no WordPress é de %s segundos.','Specify the %s heartbeat interval in seconds.'=>'Especifique o intervalo do monitoramento de atividade (heartbeat) de %s em segundos.','Turn ON to control heartbeat on frontend.'=>'ATIVAR para controlar o monitoramento de atividade (heartbeat) na interface.','Disable WordPress interval heartbeat to reduce server load.'=>'Desative o intervalo do monitoramento de atividade (heartbeat) do WordPress para reduzir a carga no servidor.','Heartbeat Control'=>'Controle de monitoramento de atividade (heartbeat)','provide more information here to assist the LiteSpeed team with debugging.'=>'forneça mais informações aqui para auxiliar a equipe do LiteSpeed na depuração.','Optional'=>'Opcional','Generate Link for Current User'=>'Gerar link para o usuário atual','Passwordless Link'=>'Link sem senha','System Information'=>'Informações do sistema','Go to plugins list'=>'Ir para a lista de plugins','Install DoLogin Security'=>'Instalar o DoLogin Security','Check my public IP from'=>'Verifique meu endereço IP público em','Your server IP'=>'Seu IP do servidor','Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.'=>'Digite o endereço IP deste site para permitir que os serviços em nuvem chamem diretamente o IP em vez do nome de domínio. Isso elimina a sobrecarga de consultas DNS e CDN.','This will enable crawler cron.'=>'Isso ativará o cron do rastreador.','Crawler General Settings'=>'Configurações gerais do rastreador','Remove from Blocklist'=>'Remover da lista de bloqueio','Empty blocklist'=>'Esvaziar lista de bloqueios','Are you sure to delete all existing blocklist items?'=>'Tem certeza de que deseja excluir todos os itens existentes na lista de bloqueio?','Blocklisted due to not cacheable'=>'Lista de bloqueio por não ser armazenável em cache','Add to Blocklist'=>'Adicionar à lista de bloqueio','Operation'=>'Operação','Sitemap Total'=>'Total de sitemaps','Sitemap List'=>'Lista de sitemaps','Refresh Crawler Map'=>'Atualizar mapa do rastreador','Clean Crawler Map'=>'Limpar mapa do rastreador','Blocklist'=>'Lista de bloqueio','Map'=>'Mapa','Summary'=>'Resumo','Cache Miss'=>'Não encontrado no cache','Cache Hit'=>'Encontrado no cache','Waiting to be Crawled'=>'Aguardando ser rastreado','Blocklisted'=>'Lista de bloqueio','Miss'=>'Não encontrado','Hit'=>'Encontrado','Waiting'=>'Aguardando','Running'=>'Executando','Use %1$s in %2$s to indicate this cookie has not been set.'=>'Use %1$s em %2$s para indicar que esse cookie não foi definido.','Add new cookie to simulate'=>'Adicionar novo cookie para simular','Remove cookie simulation'=>'Remover simulação de cookies','Htaccess rule is: %s'=>'A regra .htaccess é: %s','More settings available under %s menu'=>'Mais configurações disponíveis no menu %s','The amount of time, in seconds, that files will be stored in browser cache before expiring.'=>'O tempo, em segundos, que os arquivos serão armazenados no cache do navegador antes de expirarem.','OpenLiteSpeed users please check this'=>'Usuários do OpenLiteSpeed, verifiquem isso','Browser Cache Settings'=>'Configurações de cache do navegador','Paths containing these strings will be forced to public cached regardless of no-cacheable settings.'=>'Caminhos de URI contendo essas strings serão forçados a serem armazenados em cache como públicos, independentemente das configurações de não armazenamento em cache.','With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.'=>'Com o CDN QUIC.cloud ativado, você ainda pode estar vendo cabeçalhos de cache do seu servidor local.','An optional second parameter may be used to specify cache control. Use a space to separate'=>'Um segundo parâmetro opcional pode ser usado para especificar o controle de cache. Use um espaço para separar','The above nonces will be converted to ESI automatically.'=>'Os nonces acima serão convertidos automaticamente em ESI.','Browser'=>'Navegador','Object'=>'Objeto','Default port for %1$s is %2$s.'=>'A porta padrão para %1$s é %2$s.','Object Cache Settings'=>'Configurações de cache de objetos','Specify an HTTP status code and the number of seconds to cache that page, separated by a space.'=>'Especifique um código de status HTTP e o número de segundos para armazenar em cache esta página, separados por um espaço.','Specify how long, in seconds, the front page is cached.'=>'Especifique por quanto tempo, em segundos, a página inicial é armazenada em cache.','TTL'=>'TTL','If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.'=>'Se ATIVADO, uma cópia obsoleta de uma página em cache será mostrada aos visitantes até que uma nova cópia em cache esteja disponível. Isso reduz a carga do servidor para visitas subsequentes. Se DESATIVADO, a página será gerada dinamicamente enquanto os visitantes esperam.','Swap'=>'Trocar','Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.'=>'Defina isso para anexar %1$s a todas as regras %2$s antes de armazenar em cache o CSS, especificando como as fontes devem ser exibidas ao serem baixadas.','Avatar list in queue waiting for update'=>'Lista de avatares na fila aguardando atualização','Refresh Gravatar cache by cron.'=>'Atualizar o cache do Gravatar através do cron.','Accelerates the speed by caching Gravatar (Globally Recognized Avatars).'=>'Acelera a velocidade ao armazenar em cache o Gravatar (Avatares Reconhecidos Globalmente).','Store Gravatar locally.'=>'Armazenar o Gravatar localmente.','Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.'=>'Falha ao criar a tabela Avatar. Siga as <a %s>Diretrizes de criação de tabela no Wiki do LiteSpeed</a> para concluir a configuração.','LQIP requests will not be sent for images where both width and height are smaller than these dimensions.'=>'Não serão enviadas solicitações de LQIP para imagens cuja largura e altura sejam ambas menores que essas dimensões.','pixels'=>'pixels','Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.'=>'Um número maior gerará um marcador de posição de maior qualidade de resolução, mas resultará em arquivos maiores que aumentarão o tamanho da página e consumirão mais pontos.','Specify the quality when generating LQIP.'=>'Especificar a qualidade ao gerar o "Marcador de Imagem de Baixa Qualidade" (LQIP).','Keep this off to use plain color placeholders.'=>'Mantenha isso desativado para usar marcadores de posição de cor sólida.','Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.'=>'Use o serviço gerador de LQIP (Marcador de Posição de Imagem de Baixa Qualidade) do QUIC.cloud para pré-visualizações de imagens responsivas durante o carregamento.','Specify the responsive placeholder SVG color.'=>'Especifique a cor do marcador de posição responsivo em SVG.','Variables %s will be replaced with the configured background color.'=>'As variáveis %s serão substituídas pela cor de fundo configurada.','Variables %s will be replaced with the corresponding image properties.'=>'As variáveis %s serão substituídas pelas propriedades correspondentes da imagem.','It will be converted to a base64 SVG placeholder on-the-fly.'=>'Será convertido em um marcador de posição SVG em base64 sob demanda.','Specify an SVG to be used as a placeholder when generating locally.'=>'Especifique um arquivo SVG para ser usado como marcador de posição ao gerar localmente.','Prevent any lazy load of listed pages.'=>'Impedir qualquer carregamento tardio das páginas listadas.','Iframes having these parent class names will not be lazy loaded.'=>'Iframes que tenham esses nomes de classes principal não serão carregados tardiamente.','Iframes containing these class names will not be lazy loaded.'=>'Iframes que contenham esses nomes de classes não serão carregados tardiamente.','Images having these parent class names will not be lazy loaded.'=>'Imagens que tenham esses nomes de classes principal não serão carregadas tardiamente.','LiteSpeed Cache Page Optimization'=>'Otimização de páginas do LiteSpeed Cache','Media Excludes'=>'Exclusões de mídia','CSS Settings'=>'Configurações de CSS','%s is recommended.'=>'É recomendável usar %s.','Deferred'=>'Adiado','Default'=>'Padrão','This can improve the page loading speed.'=>'Isso pode melhorar a velocidade de carregamento da página.','Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.'=>'Ativar automaticamente o pré-carregamento de DNS para todos os URLs no documento, incluindo imagens, CSS, JavaScript e assim por diante.','New developer version %s is available now.'=>'A nova versão para desenvolvedores %s já está disponível.','New Developer Version Available!'=>'Nova versão para desenvolvedores disponível!','Dismiss this notice'=>'Dispensar esta notificação','Tweet this'=>'Tweetar isso','Tweet preview'=>'Pré-visualização doTtweet','Learn more'=>'Saber mais','You just unlocked a promotion from QUIC.cloud!'=>'Você acaba de desbloquear uma promoção do QUIC.cloud!','The image compression quality setting of WordPress out of 100.'=>'A configuração de qualidade de compressão de imagem do WordPress em uma escala de 0 a 100.','Image Optimization Settings'=>'Configurações de otimização de imagem','Are you sure to destroy all optimized images?'=>'Tem certeza de que deseja remover todas as imagens otimizadas?','Use Optimized Files'=>'Usar arquivos otimizados','Switch back to using optimized images on your site'=>'Voltar a usar imagens otimizadas em seu site','Use Original Files'=>'Usar arquivos originais','Use original images (unoptimized) on your site'=>'Use imagens originais (não otimizadas) em seu site','You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.'=>'Você pode alternar rapidamente entre o uso de versões originais (não otimizadas) e arquivos de imagem otimizados. Isso afetará todas as imagens do seu site, tanto as versões regulares quanto as versões WebP, se estiverem disponíveis.','Optimization Tools'=>'Ferramentas de otimização','Rescan New Thumbnails'=>'Verificar novamente novas miniaturas','Congratulations, all gathered!'=>'Parabéns, todos reunidos!','What is an image group?'=>'O que é um grupo de imagens?','Delete all backups of the original images'=>'Excluir todos os backups das imagens originais','Calculate Backups Disk Space'=>'Calcular espaço em disco para backups','Optimization Status'=>'Status de otimização','Current limit is'=>'O limite atual é','To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.'=>'Para garantir que nosso servidor possa se comunicar com o seu servidor sem problemas e que tudo funcione bem, o número de grupos de imagens permitidos em uma única solicitação é limitado para as primeiras solicitações.','You can request a maximum of %s images at once.'=>'Você pode solicitar um máximo de %s imagens de uma só vez.','Optimize images with our QUIC.cloud server'=>'Otimizar imagens com nosso servidor QUIC.cloud','Revisions newer than this many days will be kept when cleaning revisions.'=>'Revisões mais recentes do que este número de dias serão mantidas ao limpar as revisões.','Day(s)'=>'Dia(s)','Specify the number of most recent revisions to keep when cleaning revisions.'=>'Especifique o número de revisões mais recentes a serem mantidas ao limpar as revisões.','LiteSpeed Cache Database Optimization'=>'Otimização do banco de dados do LiteSpeed Cache','DB Optimization Settings'=>'Configurações de otimização do banco de dados','Option Name'=>'Nome da opção','Database Summary'=>'Resumo do banco de dados','We are good. No table uses MyISAM engine.'=>'Estamos bem. Nenhuma tabela está usando o mecanismo MyISAM.','Convert to InnoDB'=>'Converter para InnoDB','Tool'=>'Ferramenta','Engine'=>'Mecanismo','Table'=>'Tabela','Database Table Engine Converter'=>'Conversor de mecanismo de tabela de banco de dados','Clean revisions older than %1$s day(s), excluding %2$s latest revisions'=>'Limpar revisões com mais de %1$s dia(s), excluindo as %2$s revisões mais recentes','Currently active crawler'=>'Rastreador ativo atualmente','Crawler(s)'=>'Rastreador(es)','Crawler Status'=>'Status do rastreador','Force cron'=>'Forçar cron','Requests in queue'=>'Solicitações na fila','Time to execute previous request: %s'=>'Tempo para executar a solicitação anterior: %s','Private Cache'=>'Cache privado','Public Cache'=>'Cache público','Cache Status'=>'Status do cache','Last Pull'=>'Última recuperação','Image Optimization Summary'=>'Resumo da otimização de imagens','Refresh page score'=>'Atualizar pontuação da página','Are you sure you want to redetect the closest cloud server for this service?'=>'Tem certeza de que deseja redetectar o servidor em nuvem mais próximo para este serviço?','Current closest Cloud server is %s. Click to redetect.'=>'O servidor em nuvem mais próximo atual é %s. Clique para redetectar.','Refresh page load time'=>'Atualizar o tempo de carregamento da página','Go to QUIC.cloud dashboard'=>'Acessar o painel do QUIC.cloud','Low Quality Image Placeholder'=>'Marcador de posição de imagem de baixa qualidade','Sync data from Cloud'=>'Sincronizar dados a partir da nuvem','QUIC.cloud Service Usage Statistics'=>'Estatísticas de uso do serviço QUIC.cloud','Total images optimized in this month'=>'Total de imagens otimizadas neste mês','Total Usage'=>'Uso total','Pay as You Go Usage Statistics'=>'Estatísticas de uso do PAYG (Pagamento Conforme o Uso)','PAYG Balance'=>'Saldo PAYG','Pay as You Go'=>'Pague conforme o uso','Usage'=>'Uso','Fast Queue Usage'=>'Uso de fila rápida','CDN Bandwidth'=>'Largura de banda do CDN','LiteSpeed Cache Dashboard'=>'Painel do LiteSpeed Cache','Network Dashboard'=>'Painel de rede','No cloud services currently in use'=>'Nenhum serviço em nuvem em uso no momento','Click to clear all nodes for further redetection.'=>'Clique para limpar todos os nós para uma nova redetecção.','Current Cloud Nodes in Service'=>'Nós de nuvem em serviço atualmente','Link to QUIC.cloud'=>'Vincular ao QUIC.cloud','General Settings'=>'Configurações gerais','Specify which HTML element attributes will be replaced with CDN Mapping.'=>'Especificar quais atributos de elementos HTML serão substituídos pelo mapeamento de CDN.','Add new CDN URL'=>'Adicionar novo URL de CDN','Remove CDN URL'=>'Remover URL do CDN','To enable the following functionality, turn ON Cloudflare API in CDN Settings.'=>'Para ativar a seguinte funcionalidade, ATIVE a API do Cloudflare em "Configurações de CDN".','QUIC.cloud'=>'QUIC.cloud','WooCommerce Settings'=>'Configurações do WooCommerce','LQIP Cache'=>'Cache de LQIP','Options saved.'=>'Opções salvas.','Removed backups successfully.'=>'Backups removidos.','Calculated backups successfully.'=>'Backups calculados.','Rescanned %d images successfully.'=>'%d imagens reexaminadas.','Rescanned successfully.'=>'Reexaminadas.','Destroy all optimization data successfully.'=>'Todos os dados de otimização foram removidos.','Cleaned up unfinished data successfully.'=>'Dados não concluídos limpos.','Pull Cron is running'=>'O cron de recuperação está em execução','No valid image found by Cloud server in the current request.'=>'Nenhuma imagem válida encontrada pelo servidor em nuvem na solicitação atual.','No valid image found in the current request.'=>'Nenhuma imagem válida encontrada na solicitação atual.','Pushed %1$s to Cloud server, accepted %2$s.'=>'Enviado %1$s para o servidor em nuvem, aceito %2$s.','Revisions Max Age'=>'Idade máxima de revisões','Revisions Max Number'=>'Número máximo de revisões','Debug URI Excludes'=>'Exclusões de URI de depuração','Debug URI Includes'=>'Inclusões de URI de depuração','HTML Attribute To Replace'=>'Atributo HTML para substituir','Use CDN Mapping'=>'Usar mapeamento CDN','QUIC.cloud CDN:'=>'CDN do QUIC.cloud:','Editor Heartbeat TTL'=>'TTL do monitoramento de atividade (heartbeat) do editor','Editor Heartbeat'=>'Monitoramento de atividade (heartbeat) do editor','Backend Heartbeat TTL'=>'TTL do monitoramento de atividade (heartbeat) do painel','Backend Heartbeat Control'=>'Controle do monitoramento de atividade (heartbeat) do painel','Frontend Heartbeat TTL'=>'TTL do monitoramento de atividade (heartbeat) da interface','Frontend Heartbeat Control'=>'Controle do monitoramento de atividade (heartbeat) da interface','Backend .htaccess Path'=>'Caminho .htaccess do painel','Frontend .htaccess Path'=>'Caminho do .htaccess da interface','ESI Nonces'=>'Nonces ESI','WordPress Image Quality Control'=>'Controle de qualidade de imagem no WordPress','Auto Request Cron'=>'Cron de solicitação automática','Generate LQIP In Background'=>'Gerar LQIP em segundo plano','LQIP Minimum Dimensions'=>'Dimensões mínimas do LQIP','LQIP Quality'=>'Qualidade do LQIP','LQIP Cloud Generator'=>'Gerador de LQIP na nuvem','Responsive Placeholder SVG'=>'SVG do marcador de posição responsivo','Responsive Placeholder Color'=>'Cor do marcador de posição responsivo','Basic Image Placeholder'=>'Marcador de posição básico de imagem','Lazy Load URI Excludes'=>'Exclusões de URI para carregamento tardio','Lazy Load Iframe Parent Class Name Excludes'=>'Exclusões do nome de classes principal de iframes para carregamento tardio','Lazy Load Iframe Class Name Excludes'=>'Exclusões do nome de classe de iframes para carregamento tardio','Lazy Load Image Parent Class Name Excludes'=>'Exclusões do nome de classe principal da imagem para carregamento tardio','Gravatar Cache TTL'=>'TTL do cache do Gravatar','Gravatar Cache Cron'=>'Cron de cache do Gravatar','Gravatar Cache'=>'Cache do Gravatar','DNS Prefetch Control'=>'Controle de pré-carregamento de DNS','Font Display Optimization'=>'Otimização de exibição de fonte','Force Public Cache URIs'=>'Forçar URIs de cache público','Notifications'=>'Notificações','Default HTTP Status Code Page TTL'=>'TTL padrão da página de código de status HTTP','Default REST TTL'=>'TTL padrão da REST','Enable Cache'=>'Ativar cache','Server IP'=>'IP do servidor','Images not requested'=>'Imagens não solicitadas','Sync credit allowance with Cloud Server successfully.'=>'A sincronização do limite de crédito com o servidor em nuvem foi realizada.','Failed to communicate with QUIC.cloud server'=>'Falha ao se comunicar com o servidor QUIC.cloud','Good news from QUIC.cloud server'=>'Boas notícias do servidor QUIC.cloud','Message from QUIC.cloud server'=>'Mensagem do servidor QUIC.cloud','Please try after %1$s for service %2$s.'=>'Tente novamente após %1$s para o serviço %2$s.','No available Cloud Node.'=>'Nenhum nó da nuvem disponível.','Cloud Error'=>'Erro na nuvem','The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.'=>'O banco de dados está sendo atualizado em segundo plano desde %s. Esta mensagem desaparecerá assim que a atualização estiver concluída.','Restore from backup'=>'Restaurar a partir do backup','No backup of unoptimized WebP file exists.'=>'Não há backup do arquivo WebP não otimizado.','WebP file reduced by %1$s (%2$s)'=>'Arquivo WebP reduzido em %1$s (%2$s)','Currently using original (unoptimized) version of WebP file.'=>'Atualmente usando a versão original (não otimizada) do arquivo WebP.','Currently using optimized version of WebP file.'=>'Atualmente usando a versão otimizada do arquivo WebP.','Orig'=>'Original','(no savings)'=>'(sem economia)','Orig %s'=>'Original %s','Congratulation! Your file was already optimized'=>'Parabéns! Seu arquivo já foi otimizado','No backup of original file exists.'=>'Não há backup do arquivo original.','Using optimized version of file. '=>'Usando a versão otimizada do arquivo. ','Orig saved %s'=>'Economizado do original %s','Original file reduced by %1$s (%2$s)'=>'Arquivo original reduzido em %1$s (%2$s)','Click to switch to optimized version.'=>'Clique para alternar para a versão otimizada.','Currently using original (unoptimized) version of file.'=>'Atualmente usando a versão original (não otimizada) do arquivo.','(non-optm)'=>'(não-otimizada)','Click to switch to original (unoptimized) version.'=>'Clique para alternar para a versão original (não otimizada).','Currently using optimized version of file.'=>'Atualmente usando a versão otimizada do arquivo.','(optm)'=>'(otimizada)','LQIP image preview for size %s'=>'Pré-visualização de imagem LQIP para tamanho %s','LQIP'=>'LQIP','Previously existed in blocklist'=>'Existia anteriormente na lista de bloqueios','Manually added to blocklist'=>'Adicionado manualmente à lista de bloqueios','Mobile Agent Rules'=>'Regras do Mobile Agent','Sitemap created successfully: %d items'=>'Sitemap criado: %d itens','Sitemap cleaned successfully'=>'Sitemap limpo','Invalid IP'=>'IP inválido','Value range'=>'Intervalo de valores','Smaller than'=>'Menor que','Larger than'=>'Maior que','Zero, or'=>'Zero, ou','Maximum value'=>'Valor máximo','Minimum value'=>'Valor mínimo','Path must end with %s'=>'O caminho deve terminar com %s','Invalid rewrite rule'=>'Regra de reescrita inválida','Currently set to %s'=>'No momento, definido como %s','This value is overwritten by the PHP constant %s.'=>'Este valor é substituído pela constante PHP %s.','Toolbox'=>'Caixa de ferramentas','Database'=>'Banco de dados','Page Optimization'=>'Otimização de página','Dashboard'=>'Painel','Converted to InnoDB successfully.'=>'Convertido para InnoDB.','Cleaned all Gravatar files.'=>'Todos os arquivos do Gravatar foram limpos.','Cleaned all LQIP files.'=>'Todos os arquivos LQIP foram limpos.','Unknown error'=>'Erro desconhecido','Your domain has been forbidden from using our services due to a previous policy violation.'=>'Seu domínio foi proibido de usar nossos serviços devido a uma violação de política anterior.','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: '=>'A validação de retorno de chamada para seu domínio falhou. Certifique-se de que não haja nenhum firewall bloqueando nossos servidores. Código de resposta: ','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.'=>'A validação de retorno de chamada para seu domínio falhou. Certifique-se de que não haja nenhum firewall bloqueando nossos servidores.','The callback validation to your domain failed due to hash mismatch.'=>'A validação de retorno de chamada para seu domínio falhou, devido a uma incompatibilidade de hash.','Your application is waiting for approval.'=>'Sua aplicação está aguardando aprovação.','Previous request too recent. Please try again after %s.'=>'Solicitação anterior muito recente. Tente novamente após %s.','Previous request too recent. Please try again later.'=>'Solicitação anterior muito recente. Tente novamente mais tarde.','Crawler disabled by the server admin.'=>'O rastreador foi desativado pelo administrador do servidor.','Failed to create table %1$s! SQL: %2$s.'=>'Falha ao criar a tabela %1$s! SQL: %2$s.','Could not find %1$s in %2$s.'=>'Não foi possível encontrar %1$s em %2$s.','Credits are not enough to proceed the current request.'=>'Os créditos não são suficientes para prosseguir com a solicitação atual.','There is proceeding queue not pulled yet.'=>'Há uma fila de processamento que ainda não foi concluída.','The image list is empty.'=>'A lista de imagens está vazia.','LiteSpeed Crawler Cron'=>'Cron do rastreador LiteSpeed','Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.'=>'ATIVAR esta opção para mostrar automaticamente as últimas notícias, incluindo correções urgentes, novos lançamentos, versões beta disponíveis e promoções.','To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.'=>'Para conceder acesso wp-admin à equipe de suporte LiteSpeed, gere um link sem senha para o usuário conectado atualmente ser enviado com o relatório.','Generated links may be managed under %sSettings%s.'=>'Os links gerados podem ser gerenciados em %sConfigurações%s.','Please do NOT share the above passwordless link with anyone.'=>'NÃO compartilhe o link sem senha acima com ninguém.','To generate a passwordless link for LiteSpeed Support Team access, you must install %s.'=>'Para gerar um link sem senha para acesso à equipe de suporte do LiteSpeed, você deve instalar %s.','Install'=>'Instalar','These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.'=>'Essas opções estão disponíveis apenas com o LiteSpeed Enterprise Web Server ou o CDN QUIC.cloud.','PageSpeed Score'=>'Pontuação do PageSpeed','Improved by'=>'Melhorado por','After'=>'Depois','Before'=>'Antes','Page Load Time'=>'Tempo de carregamento da página','To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.'=>'Para usar as funções de cache, você deve ter um servidor web LiteSpeed ou estar usando o CDN do QUIC.cloud.','Preserve EXIF/XMP data'=>'Preservar dados EXIF/XMP','Try GitHub Version'=>'Experimentar a versão do GitHub','If you turn any of the above settings OFF, please remove the related file types from the %s box.'=>'Se você DESATIVAR qualquer uma das configurações acima, remova os tipos de arquivo relacionados da caixa %s.','Both full and partial strings can be used.'=>'Podem ser usadas strings completas e parciais.','Images containing these class names will not be lazy loaded.'=>'Imagens que contenham esses nomes de classes não serão carregadas tardiamente.','Lazy Load Image Class Name Excludes'=>'Exclusões de nome de classe de imagem para carregamento tardio','For example, %1$s defines a TTL of %2$s seconds for %3$s.'=>'Por exemplo, %1$s define um TTL de %2$s segundos para %3$s.','To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.'=>'Para definir um TTL personalizado para um URI, adicione um espaço seguido pelo valor TTL ao final do URI.','Maybe Later'=>'Talvez mais tarde','Turn On Auto Upgrade'=>'Ativar atualização automática','Upgrade'=>'Atualizar','New release %s is available now.'=>'Nova versão %s está disponível agora.','New Version Available!'=>'Nova versão disponível!','Created with ❤️ by LiteSpeed team.'=>'Criado com ❤️ pela equipe LiteSpeed.','Sure I\'d love to review!'=>'Claro, adoraria fazer uma avaliação!','Thank You for Using the LiteSpeed Cache Plugin!'=>'Obrigado por usar o plugin LiteSpeed Cache!','Upgraded successfully.'=>'Atualizado.','Failed to upgrade.'=>'Falha ao atualizar.','Changed setting successfully.'=>'Configuração alterada.','ESI sample for developers'=>'Exemplo de ESI para desenvolvedores','Replace %1$s with %2$s.'=>'Substitua %1$s por %2$s.','You can turn shortcodes into ESI blocks.'=>'Você pode transformar shortcodes em blocos ESI.','WpW: Private Cache vs. Public Cache'=>'WpW: cache privado vs. cache público','Append query string %s to the resources to bypass this action.'=>'Anexar a string de consulta %s aos recursos para ignorar esta ação.','Google reCAPTCHA will be bypassed automatically.'=>'O Google reCAPTCHA será automaticamente ignorado.','To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.'=>'Para rastrear um cookie específico, digite o nome do cookie e os valores pelos quais deseja rastrear. Os valores devem ser digitados um por linha. Será criado um rastreador para cada valor de cookie, por função simulada.','Cookie Values'=>'Valores de cookies','Cookie Name'=>'Nome do cookie','Cookie Simulation'=>'Simulação de cookie','Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.'=>'Use a biblioteca de carregamento de fontes da web para carregar Google Fonts de forma assíncrona, mantendo o restante do CSS intacto.','Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.'=>'Deixe esta opção como ATIVADO para que o LiteSpeed Cache seja atualizado automaticamente sempre que uma nova versão for lançada. Se estiver DESATIVADO, atualize manualmente como de costume.','Automatically Upgrade'=>'Atualização automática','Your IP'=>'Seu IP','Reset successfully.'=>'Redefinição concluída.','This will reset all settings to default settings.'=>'Isso irá redefinir todas as configurações para as configurações padrão.','Reset All Settings'=>'Redefinir todas as configurações','Separate critical CSS files will be generated for paths containing these strings.'=>'Arquivos CSS críticos separados serão gerados para os caminhos que contém essas strings.','Separate CCSS Cache URIs'=>'Separar URIs de cache do CCSS','For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.'=>'Por exemplo, se cada página no site tiver uma formatação diferente, digite %s na caixa. Arquivos CSS críticos separados serão armazenados para cada página no site.','List post types where each item of that type should have its own CCSS generated.'=>'Liste os tipos de post nos quais cada item desse tipo deve ter seu próprio CCSS gerado.','Separate CCSS Cache Post Types'=>'Separar tipos de post para o cache do CCSS','Size list in queue waiting for cron'=>'Lista de tamanho na fila aguardando o cron','If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.'=>'Se definido como %1$s, antes que o marcador de posição seja localizado, a configuração %2$s será usada.','Automatically generate LQIP in the background via a cron-based queue.'=>'Gerar automaticamente LQIP em segundo plano através de uma fila baseada em cron.','This will generate the placeholder with same dimensions as the image if it has the width and height attributes.'=>'Isso gerará o marcador de posição com as mesmas dimensões da imagem se ela tiver os atributos de largura e altura.','Responsive image placeholders can help to reduce layout reshuffle when images are loaded.'=>'Marcadores de posição de imagens responsivas podem ajudar a reduzir a reorganização do layout quando as imagens são carregadas.','Responsive Placeholder'=>'Marcador de posição responsivo','This will delete all generated image LQIP placeholder files'=>'Isso irá excluir todos os arquivos de marcador de posição de imagem LQIP gerados','Please enable LiteSpeed Cache in the plugin settings.'=>'Ative o LiteSpeed Cache nas configurações do plugin.','Please enable the LSCache Module at the server level, or ask your hosting provider.'=>'Ative o módulo LSCache no nível do servidor ou consulte seu provedor de hospedagem.','Failed to request via WordPress'=>'Falha ao solicitar através do WordPress','High-performance page caching and site optimization from LiteSpeed'=>'Cache de página de alto desempenho e otimização de site da LiteSpeed','Reset the optimized data successfully.'=>'Dados otimizados redefinidos.','Update %s now'=>'Atualizar %s agora','View %1$s version %2$s details'=>'Ver detalhes da versão %2$s do %1$s','<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.'=>'<a href="%1$s" %2$s>Ver detalhes da versão %3$s</a> ou <a href="%4$s" %5$s target="_blank">atualizar agora</a>.','Install %s'=>'Instalar %s','LSCache caching functions on this page are currently unavailable!'=>'As funções de cache do LSCache nesta página estão atualmente indisponíveis!','%1$s plugin version %2$s required for this action.'=>'A versão %2$s do plugin %1$s é necessária para esta ação.','We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.'=>'Estamos trabalhando intensamente para melhorar sua experiência de serviço on-line. O serviço estará indisponível durante nosso trabalho. Pedimos desculpas por qualquer inconveniente.','Automatically remove the original image backups after fetching optimized images.'=>'Remover automaticamente os backups das imagens originais após buscar as imagens otimizadas.','Remove Original Backups'=>'Remover backups originais','Automatically request optimization via cron job.'=>'Solicitar otimização automática por meio de tarefa cron.','A backup of each image is saved before it is optimized.'=>'É feito um backup de cada imagem antes de ser otimizada.','Switched images successfully.'=>'Imagens alteradas.','This can improve quality but may result in larger images than lossy compression will.'=>'Isso pode melhorar a qualidade, mas pode resultar em imagens maiores do que a compactação com perda de qualidade.','Optimize images using lossless compression.'=>'Otimizar imagens usando compactação sem perda de qualidade.','Optimize Losslessly'=>'Otimizar sem perda de qualidade','Request WebP/AVIF versions of original images when doing optimization.'=>'Solicitar versões WebP/AVIF das imagens originais ao realizar a otimização.','Optimize images and save backups of the originals in the same folder.'=>'Otimizar imagens e salvar backups das originais na mesma pasta.','Optimize Original Images'=>'Otimizar imagens originais','When this option is turned %s, it will also load Google Fonts asynchronously.'=>'Quando esta opção é ativada %s, ela também carregará o Google Fonts de forma assíncrona.','Cleaned all Critical CSS files.'=>'Todos os arquivos CSS críticos foram limpos.','This will inline the asynchronous CSS library to avoid render blocking.'=>'Isso irá embutir a biblioteca CSS assíncrona, para evitar o bloqueio de renderização.','Inline CSS Async Lib'=>'Biblioteca assíncrona de CSS embutido','Run Queue Manually'=>'Executar fila manualmente','URL list in %s queue waiting for cron'=>'Lista de URLs na fila %s aguardando o cron','Last requested cost'=>'Custo da última solicitação.','Last generated'=>'Última gerada','If set to %s this is done in the foreground, which may slow down page load.'=>'Se definido como %s, isso é feito em primeiro plano, o que pode retardar o carregamento da página.','Automatic generation of critical CSS is in the background via a cron-based queue.'=>'A geração automática de CSS crítico é realizada em segundo plano por meio de uma fila baseada em cron.','Optimize CSS delivery.'=>'Otimizar a entrega de CSS.','This will delete all generated critical CSS files'=>'Isso irá excluir todos os arquivos de CSS crítico gerados','Critical CSS'=>'CSS crítico','This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.'=>'Este site utiliza o cache para facilitar um tempo de resposta mais rápido e uma melhor experiência do usuário. O cache potencialmente armazena uma cópia duplicada de cada página da web exibida neste site. Todos os arquivos de cache são temporários e nunca são acessados por terceiros, exceto conforme necessário para obter suporte técnico do fornecedor do plugin de cache. Os arquivos de cache expiram conforme programado pelo administrador do site, mas podem ser facilmente eliminados pelo administrador antes da expiração natural, se necessário. Podemos usar os serviços QUIC.cloud para processar e armazenar em cache temporariamente os seus dados.','Disabling this may cause WordPress tasks triggered by AJAX to stop working.'=>'Desativar isso pode fazer com que as tarefas do WordPress acionadas por AJAX parem de funcionar.','right now'=>'neste instante','just now'=>'recentemente','Saved'=>'Salvo','Last ran'=>'Última execução','You will be unable to Revert Optimization once the backups are deleted!'=>'Você não poderá reverter a otimização uma vez que os backups forem excluídos!','This is irreversible.'=>'Isso é irreversível.','Remove Original Image Backups'=>'Remover backups de imagens originais','Are you sure you want to remove all image backups?'=>'Tem certeza de que deseja remover todos os backups de imagens?','Total'=>'Total','Files'=>'Arquivos','Last calculated'=>'Último cálculo','Calculate Original Image Storage'=>'Calcular o armazenamento de imagem original','Storage Optimization'=>'Otimização de armazenamento','Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.'=>'Ativar a substituição de WebP/AVIF em elementos %s que foram gerados fora da lógica do WordPress.','Use the format %1$s or %2$s (element is optional).'=>'Use o formato %1$s ou %2$s (o elemento é opcional).','Only attributes listed here will be replaced.'=>'Apenas os atributos listados aqui serão substituídos.','Specify which element attributes will be replaced with WebP/AVIF.'=>'Especificar quais atributos de elementos serão substituídos por WebP/AVIF.','WebP/AVIF Attribute To Replace'=>'Atributo WebP/AVIF a ser substituído','Only files within these directories will be pointed to the CDN.'=>'Apenas arquivos dentro destes diretórios serão apontados para o CDN.','Included Directories'=>'Diretórios incluídos','A Purge All will be executed when WordPress runs these hooks.'=>'Um "Limpar tudo" será executado quando o WordPress executar esses ganchos.','Purge All Hooks'=>'Limpar todos os ganchos','Purged all caches successfully.'=>'Todos os caches foram limpos.','LSCache'=>'LSCache','Forced cacheable'=>'Armazenamento em cache forçado','Paths containing these strings will be cached regardless of no-cacheable settings.'=>'Caminhos de URI contendo essas strings serão armazenadas em cache independentemente das configurações de não armazenamento em cache.','Force Cache URIs'=>'Forçar cache de URIs','Exclude Settings'=>'Configurações de exclusão','This will disable LSCache and all optimization features for debug purpose.'=>'Isso desativará o LSCache e todos os recursos de otimização para fins de depuração.','Disable All Features'=>'Desativar todos os recursos','Opcode Cache'=>'Cache de Opcode','CSS/JS Cache'=>'Cache de CSS/JS','Remove all previous unfinished image optimization requests.'=>'Remover todas as solicitações anteriores de otimização de imagem não concluídas.','Clean Up Unfinished Data'=>'Limpar dados não concluídos','Join Us on Slack'=>'Junte-se a nós no Slack','Join the %s community.'=>'Junte-se à comunidade %s.','Want to connect with other LiteSpeed users?'=>'Deseja se conectar com outros usuários do LiteSpeed?','Your API key / token is used to access %s APIs.'=>'Sua chave de API / token é usada para acessar APIs de %s.','Your Email address on %s.'=>'Seu endereço de e-mail em %s.','Use %s API functionality.'=>'Usar a funcionalidade da API %s.','To randomize CDN hostname, define multiple hostnames for the same resources.'=>'Para randomizar o nome do host do CDN, defina vários nomes de host para os mesmos recursos.','Join LiteSpeed Slack community'=>'Junte-se à comunidade do LiteSpeed no Slack','Visit LSCWP support forum'=>'Visite o fórum de suporte do LSCWP','Images notified to pull'=>'Imagens notificadas a serem recuperadas','What is a group?'=>'O que é um grupo?','%s image'=>'%s imagem','%s group'=>'%s grupo','%s images'=>'%s imagens','%s groups'=>'%s grupos','Guest'=>'Visitante','To crawl the site as a logged-in user, enter the user ids to be simulated.'=>'Para rastrear o site como um usuário conectado, digite os IDs de usuário a serem simulados.','Role Simulation'=>'Simulação de função','running'=>'executando','Size'=>'Tamanho','Ended reason'=>'Motivo do término','Last interval'=>'Último intervalo','Current crawler started at'=>'O rastreador atual iniciou em','Run time for previous crawler'=>'Tempo de execução do rastreador anterior','%d seconds'=>'%d segundos','Last complete run time for all crawlers'=>'Tempo da última execução completa de todos os rastreadores','Current sitemap crawl started at'=>'O rastreamento atual do sitemap começou em','Save transients in database when %1$s is %2$s.'=>'Salvar transientes no banco de dados quando %1$s está %2$s.','Store Transients'=>'Armazenar transientes','If %1$s is %2$s, then %3$s must be populated!'=>'Se %1$s for %2$s, então %3$s deve ser preenchido!','Server allowed max value: %s'=>'Valor máximo permitido pelo servidor: %s','Server enforced value: %s'=>'Valor imposto pelo servidor: %s','NOTE'=>'OBSERVAÇÃO','Server variable(s) %s available to override this setting.'=>'Variável(is) de servidor %s disponível(eis) para substituir esta configuração.','API'=>'API','Reset the entire OPcache successfully.'=>'Todo o cache OPcache foi redefinido.','Imported setting file %s successfully.'=>'Arquivo de configuração %s importado.','Import failed due to file error.'=>'A importação falhou devido a um erro no arquivo.','How to Fix Problems Caused by CSS/JS Optimization.'=>'Como corrigir problemas causados pela otimização de CSS/JS.','This will generate extra requests to the server, which will increase server load.'=>'Isso irá gerar solicitações adicionais ao servidor, o que aumentará a carga do servidor.','When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.'=>'Quando um visitante passar o mouse sobre um link da página, pré-carregar essa página. Isso acelerará a visita a esse link.','Instant Click'=>'Clique instantâneo','Reset the entire opcode cache'=>'Redefinir todo o cache de opcode','This will import settings from a file and override all current LiteSpeed Cache settings.'=>'Isso irá importar configurações de um arquivo e substituir todas as configurações atuais do LiteSpeed Cache.','Last imported'=>'Última importação','Import'=>'Importar','Import Settings'=>'Importar configurações','This will export all current LiteSpeed Cache settings and save them as a file.'=>'Isso irá exportar todas as configurações atuais do LiteSpeed Cache e salvá-las como um arquivo.','Last exported'=>'Última exportação','Export'=>'Exportar','Export Settings'=>'Exportar configurações','Import / Export'=>'Importação/exportação','Use keep-alive connections to speed up cache operations.'=>'Use conexões keep-alive (mantenha ativa) para acelerar as operações de cache.','Database to be used'=>'Banco de dados a ser usado','Redis Database ID'=>'ID do banco de dados Redis','Specify the password used when connecting.'=>'Especifique a senha usada durante a conexão.','Password'=>'Senha','Only available when %s is installed.'=>'Disponível apenas quando %s está instalado.','Username'=>'Nome de usuário','Your %s Hostname or IP address.'=>'Seu nome de servidor ou endereço IP %s.','Method'=>'Método','Purge all object caches successfully.'=>'Limpeza de todos os caches de objetos concluída.','Object cache is not enabled.'=>'O cache de objeto não está ativado.','Improve wp-admin speed through caching. (May encounter expired data)'=>'Melhore a velocidade do wp-admin por meio de cache. (Pode encontrar dados expirados)','Cache WP-Admin'=>'Cache do WP-Admin','Persistent Connection'=>'Conexão persistente','Do Not Cache Groups'=>'Não armazenar grupos em cache','Groups cached at the network level.'=>'Grupos armazenados em cache no nível da rede.','Global Groups'=>'Grupos globais','Connection Test'=>'Teste de conexão','%s Extension'=>'Extensão %s','Status'=>'Status','Default TTL for cached objects.'=>'TTL (Tempo de Vida) padrão para objetos em cache.','Default Object Lifetime'=>'Tempo de vida padrão do objeto','Port'=>'Porta','Host'=>'Servidor','Object Cache'=>'Cache de objetos','Failed'=>'Reprovado','Passed'=>'Aprovado','Not Available'=>'Não disponível','Purge all the object caches'=>'Limpar todos os caches de objetos','Failed to communicate with Cloudflare'=>'Falha ao se comunicar com o Cloudflare','Communicated with Cloudflare successfully.'=>'A comunicação com o Cloudflare foi bem-sucedida.','No available Cloudflare zone'=>'Nenhuma zona Cloudflare disponível','Notified Cloudflare to purge all successfully.'=>'O Cloudflare foi notificado para limpar tudo.','Cloudflare API is set to off.'=>'A API do Cloudflare está definida como desativada.','Notified Cloudflare to set development mode to %s successfully.'=>'O Cloudflare foi notificado para definir o modo de desenvolvimento para %s.','Once saved, it will be matched with the current list and completed automatically.'=>'Depois de salvo, ele será correspondido com a lista atual e preenchido automaticamente.','You can just type part of the domain.'=>'Você pode simplesmente digitar parte do domínio.','Domain'=>'Domínio','Cloudflare API'=>'API Cloudflare','Purge Everything'=>'Limpar tudo','Cloudflare Cache'=>'Cache do Cloudflare','Development Mode will be turned off automatically after three hours.'=>'O modo de desenvolvimento será desativado automaticamente após três horas.','Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.'=>'Ignorar temporariamente o cache do Cloudflare. Isso permite que as alterações no servidor de origem sejam vistas em tempo real.','Development mode will be automatically turned off in %s.'=>'O modo de desenvolvimento será automaticamente desativado em %s.','Current status is %s.'=>'O status atual é %s.','Current status is %1$s since %2$s.'=>'O status atual é %1$s desde %2$s.','Check Status'=>'Verificar status','Turn OFF'=>'DESATIVAR','Turn ON'=>'ATIVAR','Development Mode'=>'Modo de desenvolvimento','Cloudflare Zone'=>'Zona do Cloudflare','Cloudflare Domain'=>'Domínio do Cloudflare','Cloudflare'=>'Cloudflare','For example'=>'Por exemplo','Prefetching DNS can reduce latency for visitors.'=>'O pré-carregamento de DNS pode reduzir a latência para os visitantes.','DNS Prefetch'=>'Pré-carregamento de DNS','Adding Style to Your Lazy-Loaded Images'=>'Adicionando estilo às suas imagens carregadas de forma lenta','Default value'=>'Valor padrão','Static file type links to be replaced by CDN links.'=>'Links de tipos de arquivos estáticos a serem substituídos por links de CDN.','For example, to drop parameters beginning with %1$s, %2$s can be used here.'=>'Por exemplo, para remover parâmetros começando com %1$s, %2$s pode ser usado aqui.','Drop Query String'=>'Remover string de consulta','Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.'=>'Ative esta opção se você estiver usando tanto HTTP quanto HTTPS no mesmo domínio e estiver percebendo irregularidades no cache.','Improve HTTP/HTTPS Compatibility'=>'Melhorar a compatibilidade HTTP/HTTPS','Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.'=>'Remover todas as solicitações/resultados anteriores de otimização de imagem, reverter as otimizações concluídas e excluir todos os arquivos de otimização.','Destroy All Optimization Data'=>'Remover todos os dados de otimização','Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.'=>'Verifique se há novos tamanhos de miniaturas de imagens não otimizadas e reenvie as solicitações de otimização de imagem necessárias.','This will increase the size of optimized files.'=>'Isso aumentará o tamanho dos arquivos otimizados.','Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.'=>'Preservar dados EXIF (direitos autorais, GPS, comentários, palavras-chave, etc) ao otimizar.','Clear Logs'=>'Limpar registros',' %s ago'=>' %s atrás','WebP saved %s'=>'WebP salvo %s','If you run into any issues, please refer to the report number in your support message.'=>'Se você encontrar algum problema, consulte o número do relatório em sua mensagem de suporte.','Last pull initiated by cron at %s.'=>'Última recuperação iniciada pelo cron às %s.','Images will be pulled automatically if the cron job is running.'=>'As imagens serão recuperadas automaticamente se a tarefa cron estiver em execução.','Only press the button if the pull cron job is disabled.'=>'Pressione o botão apenas se a tarefa cron de recuperação estiver desativada.','Pull Images'=>'Recuperar imagens','This process is automatic.'=>'Esse processo é automático.','Last Request'=>'Última solicitação','Images Pulled'=>'Imagens recuperadas','Report'=>'Relatório','Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.'=>'Enviar este relatório para o LiteSpeed. Faça referência a este número de relatório ao publicar no fórum de suporte do WordPress.','Send to LiteSpeed'=>'Enviar para o LiteSpeed','LiteSpeed Optimization'=>'Otimização LiteSpeed','Load Google Fonts Asynchronously'=>'Carregar Google Fonts de forma assíncrona','Browser Cache TTL'=>'TTL do cache do navegador','Results can be checked in %sMedia Library%s.'=>'Os resultados podem ser verificados na %sBiblioteca de mídia%s.','Learn More'=>'Saber mais','Image groups total'=>'Total de grupos de imagens','Images optimized and pulled'=>'Imagens otimizadas e recuperadas','Images requested'=>'Imagens solicitadas','Switched to optimized file successfully.'=>'Alternado para o arquivo otimizado.','Restored original file successfully.'=>'Arquivo original restaurado.','Enabled WebP file successfully.'=>'Arquivo WebP ativado.','Disabled WebP file successfully.'=>'Arquivo WebP desativado.','Significantly improve load time by replacing images with their optimized %s versions.'=>'Melhorar significativamente o tempo de carregamento substituindo imagens por suas versões otimizadas em %s.','Selected roles will be excluded from cache.'=>'As funções selecionadas serão excluídas do cache.','Tuning'=>'Ajustes','Selected roles will be excluded from all optimizations.'=>'As funções selecionadas serão excluídas de todas as otimizações.','Role Excludes'=>'Exclusões de funções','Tuning Settings'=>'Configurações de ajuste','If the tag slug is not found, the tag will be removed from the list on save.'=>'Se o slug da tag não for encontrado, a tag será removida da lista ao salvar.','If the category name is not found, the category will be removed from the list on save.'=>'Se o nome da categoria não for encontrado, a categoria será removida da lista ao salvar.','After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.'=>'Após o servidor de otimização de imagens QUIC.cloud concluir a otimização, ele notificará o seu site para recuperar as imagens otimizadas.','Send Optimization Request'=>'Enviar solicitação de otimização','Image Information'=>'Informações de imagens','Total Reduction'=>'Redução total','Optimization Summary'=>'Resumo da otimização','LiteSpeed Cache Image Optimization'=>'Otimização de imagens do LiteSpeed Cache','Image Optimization'=>'Otimização de imagem','For example, %s can be used for a transparent placeholder.'=>'Por exemplo, %s pode ser usado para um marcador de posição transparente.','By default a gray image placeholder %s will be used.'=>'Por padrão, um marcador de posição de imagem em cinza %s será usado.','This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.'=>'Isso também pode ser predefinido em %2$s usando a constante %1$s, com esta configuração tendo prioridade.','Specify a base64 image to be used as a simple placeholder while images finish loading.'=>'Especifique uma imagem em base64 para ser usada como marcador de posição simples enquanto as imagens terminam de carregar.','Elements with attribute %s in html code will be excluded.'=>'Elementos com o atributo %s no código HTML serão excluídos.','Filter %s is supported.'=>'O filtro %s é suportado.','Listed images will not be lazy loaded.'=>'As imagens listadas não serão carregadas tardiamente.','Lazy Load Image Excludes'=>'Exclusões de imagens para carregamento tardio','No optimization'=>'Sem otimização','Prevent any optimization of listed pages.'=>'Impedir qualquer otimização das páginas listadas.','URI Excludes'=>'Exclusões de URI','Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.'=>'Interromper o carregamento dos emojis do WordPress.org. Em vez disso, os emojis padrão do navegador serão exibidos.','Both full URLs and partial strings can be used.'=>'Podem ser usados URLs completos e strings parciais.','Load iframes only when they enter the viewport.'=>'Carregar iframes apenas quando entrarem na janela de visualização (viewport).','Lazy Load Iframes'=>'Carregamento tardio de iframes','This can improve page loading time by reducing initial HTTP requests.'=>'Isso pode melhorar o tempo de carregamento da página ao reduzir as solicitações HTTP iniciais.','Load images only when they enter the viewport.'=>'Carregar imagens apenas quando entrarem na janela de visualização (viewport).','Lazy Load Images'=>'Carregamento tardio de imagens','Media Settings'=>'Configurações de mídia','For example, for %1$s, %2$s and %3$s can be used here.'=>'Por exemplo, para %1$s, %2$s e %3$s podem ser usados aqui.','Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.'=>'Caractere curinga %1$s é suportado (corresponde a zero ou mais caracteres). Por exemplo, para corresponder a %2$s e %3$s, use %4$s.','To match the beginning, add %s to the beginning of the item.'=>'Para corresponder ao início, adicione %s no início do item.','For example, for %1$s, %2$s can be used here.'=>'Por exemplo, para %1$s, %2$s pode ser usado aqui.','Maybe later'=>'Talvez mais tarde','I\'ve already left a review'=>'Já deixei uma avaliação','Welcome to LiteSpeed'=>'Boas-vindas ao LiteSpeed','Remove WordPress Emoji'=>'Remover emojis do WordPress','More settings'=>'Mais configurações','Private cache'=>'Cache privado','Non cacheable'=>'Não armazenável em cache','Mark this page as '=>'Marcar esta página como ','Purge this page'=>'Limpar esta página','Load JS Deferred'=>'Carregar JS de forma adiada','Specify critical CSS rules for above-the-fold content when enabling %s.'=>'Especifique regras de CSS críticas para o conteúdo acima da dobra ao ativar %s.','Critical CSS Rules'=>'Regras de CSS crítico','Load CSS Asynchronously'=>'Carregar CSS de forma assíncrona','Prevent Google Fonts from loading on all pages.'=>'Impedir o carregamento do Google Fonts em todas as páginas.','Remove Google Fonts'=>'Remover Google Fonts','This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.'=>'Isso pode melhorar sua pontuação de velocidade em serviços como Pingdom, GTmetrix e PageSpeed.','Remove query strings from internal static resources.'=>'Remover strings de consulta de recursos estáticos internos.','Remove Query Strings'=>'Remover strings de consulta','user agents'=>'agentes de usuário','cookies'=>'cookies','You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s.'=>'Você também pode ativar o cache do navegador no painel administrativo do servidor. %sSaiba mais sobre as configurações de cache do navegador LiteSpeed%s.','Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.'=>'O cache do navegador armazena localmente arquivos estáticos no navegador do usuário. Ative essa configuração para reduzir as solicitações repetidas de arquivos estáticos.','Browser Cache'=>'Cache do navegador','tags'=>'tags','Do Not Cache Tags'=>'Não armazenar tags em cache','To exclude %1$s, insert %2$s.'=>'Para excluir %1$s, insira %2$s.','categories'=>'categorias','To prevent %s from being cached, enter them here.'=>'Para impedir que %s sejam armazenados(as) em cache, digite aqui.','Do Not Cache Categories'=>'Não armazenar categorias em cache','Query strings containing these parameters will not be cached.'=>'As strings de consulta contendo esses parâmetros não serão armazenadas em cache.','Do Not Cache Query Strings'=>'Não armazenar strings de consulta em cache','Paths containing these strings will not be cached.'=>'Os caminhos contendo essas strings não serão armazenados em cache.','Do Not Cache URIs'=>'Não armazenar URIs em cache','One per line.'=>'Um(a) por linha.','URI Paths containing these strings will NOT be cached as public.'=>'Caminhos de URI contendo essas strings NÃO serão armazenados em cache como públicos.','Private Cached URIs'=>'URIs em cache privado','Paths containing these strings will not be served from the CDN.'=>'Caminhos contendo essas strings não serão servidos a partir do CDN.','Exclude Path'=>'Excluir caminho','Include File Types'=>'Incluir tipos de arquivos','Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.'=>'Sirva todos os arquivos JavaScript por meio do CDN. Isso afetará todos os arquivos JavaScript WP enfileirados.','Include JS'=>'Incluir JS','Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.'=>'Sirva todos os arquivos de CSS por meio do CDN. Isso afetará todos os arquivos de CSS WP enfileirados.','Include CSS'=>'Incluir CSS','Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes.'=>'Sirva todos os arquivos de imagem por meio do CDN. Isso afetará todos os anexos, tags HTML %1$s e atributos CSS %2$s.','Include Images'=>'Incluir imagens','CDN URL to be used. For example, %s'=>'URL do CDN a ser usado. Exemplo: %s','CDN URL'=>'URL do CDN','Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.'=>'URL do site a ser servido através do CDN. Começando com %1$s. Por exemplo, %2$s.','Original URLs'=>'URLs originais','CDN Settings'=>'Configurações de CDN','CDN'=>'CDN','OFF'=>'DESATIVADO','ON'=>'ATIVADO','Notified LiteSpeed Web Server to purge CSS/JS entries.'=>'Servidor Web LiteSpeed notificado para limpar entradas CSS/JS.','Minify HTML content.'=>'Minificar conteúdo HTML.','HTML Minify'=>'Minificar HTML','JS Excludes'=>'Exclusões de JS','JS Combine'=>'Combinar JS','JS Minify'=>'Minificar JS','CSS Excludes'=>'Exclusões de CSS','CSS Combine'=>'Combinar CSS','CSS Minify'=>'Minificar CSS','Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.'=>'Teste minuciosamente ao ativar qualquer opção nesta lista. Após alterar as configurações de Minificar/Combinar, execute uma ação de "Limpar tudo".','This will purge all minified/combined CSS/JS entries only'=>'Isso irá limpar todas as entradas de CSS/JS minificadas/combinadas apenas','Purge %s Error'=>'Limpar erro %s','Database Optimizer'=>'Otimizador de banco de dados','Optimize all tables in your database'=>'Otimizar todas as tabelas em seu banco de dados','Optimize Tables'=>'Otimizar tabelas','Clean all transient options'=>'Limpar todas as opções de transientes','All Transients'=>'Todos os transientes','Clean expired transient options'=>'Limpar opções de transientes expirados','Expired Transients'=>'Transientes expirados','Clean all trackbacks and pingbacks'=>'Limpar todos os trackbacks e pingbacks','Trackbacks/Pingbacks'=>'Trackbacks/Pingbacks','Clean all trashed comments'=>'Limpar todos os comentários da lixeira','Trashed Comments'=>'Comentários na lixeira','Clean all spam comments'=>'Limpar todos os comentários de spam','Spam Comments'=>'Comentários de spam','Clean all trashed posts and pages'=>'Limpar todos os posts e páginas da lixeira','Trashed Posts'=>'Posts na lixeira','Clean all auto saved drafts'=>'Limpar todos os rascunhos automáticos salvos','Auto Drafts'=>'Rascunhos automáticos','Clean all post revisions'=>'Limpar todas as revisões de posts','Post Revisions'=>'Revisões de posts','Clean All'=>'Limpar tudo','Optimized all tables.'=>'Todas as tabelas otimizadas.','Clean all transients successfully.'=>'Todos os transientes foram limpos.','Clean expired transients successfully.'=>'Transientes expirados limpos.','Clean trackbacks and pingbacks successfully.'=>'Trackbacks e pingbacks limpos.','Clean trashed comments successfully.'=>'Comentários excluídos limpos.','Clean spam comments successfully.'=>'Comentários de spam limpos.','Clean trashed posts and pages successfully.'=>'Posts e páginas excluídas limpos.','Clean auto drafts successfully.'=>'Rascunhos automáticos limpos.','Clean post revisions successfully.'=>'Revisões de posts limpas.','Clean all successfully.'=>'Tudo limpo.','Default Private Cache TTL'=>'TTL padrão de cache privado','If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.'=>'Se o seu site contém conteúdo público que determinadas funções de usuário podem ver, mas outras não, você pode especificar um "Grupo de variação" para essas funções de usuário. Por exemplo, especificar um grupo de variação para administradores permite que haja uma página separada publicamente armazenada em cache, adaptada para administradores (com links de "editar", etc.), enquanto todas as outras funções de usuário veem a página pública padrão.','Vary Group'=>'Grupo de variação','Cache the built-in Comment Form ESI block.'=>'Armazena em cache o bloco ESI do formulário de comentários integrado.','Cache Comment Form'=>'Cache do formulário de comentários','Cache the built-in Admin Bar ESI block.'=>'Armazena em cache o bloco ESI da barra administrativa integrada.','Cache Admin Bar'=>'Cache da barra de administração','Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.'=>'ATIVAR para armazenar em cache as páginas públicas para usuários conectados e servir a barra de administração e o formulário de comentários por meio de blocos ESI. Esses dois blocos não serão armazenados em cache, a menos que estejam ATIVADOS abaixo.','ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.'=>'ESI permite que você designe partes da sua página dinâmica como fragmentos separados, que são então montados para criar a página inteira. Em outras palavras, o ESI permite que você "abra espaços" em uma página e, em seguida, preencha esses espaços com conteúdo que pode ser armazenado em cache de forma privada, armazenado em cache publicamente com seu próprio tempo de vida (TTL) ou não armazenado em cache de forma alguma.','With ESI (Edge Side Includes), pages may be served from cache for logged-in users.'=>'Com ESI (Edge Side Includes), as páginas podem ser servidas em cache para usuários conectados.','Private'=>'Privado','Public'=>'Público','Purge Settings'=>'Configurações de limpeza','Cache Mobile'=>'Cache móvel','Advanced level will log more details.'=>'O nível avançado irá registrar mais detalhes.','Basic'=>'Básico','The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.'=>'A carga média máxima permitida no servidor durante o rastreamento. O número de threads do rastreador em uso será reduzido ativamente até que a carga média do servidor caia abaixo desse limite. Se isso não puder ser alcançado com uma única thread, a execução atual do rastreador será encerrada.','Cache Login Page'=>'Cache da página de acesso','Cache requests made by WordPress REST API calls.'=>'Solicitações de cache feitas por chamadas à API REST do WordPress.','Cache REST API'=>'Cache da API REST','Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)'=>'Armazenar em cache de forma privada os comentaristas que têm comentários pendentes. Desativar esta opção exibirá páginas não armazenáveis para os comentaristas. (Requer LSWS %s)','Cache Commenters'=>'Cache de comentaristas','Privately cache frontend pages for logged-in users. (LSWS %s required)'=>'Armazenar em cache de forma privada as páginas de interface para usuários conectados. (Requer LSWS %s)','Cache Logged-in Users'=>'Cache de usuários conectados','Cache Control Settings'=>'Configurações de controle de cache','ESI'=>'ESI','Excludes'=>'Exclusões','Purge'=>'Limpeza','Cache'=>'Cache','Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)'=>'Regra de cache inesperada %2$s encontrada no arquivo %1$s. Essa regra pode fazer com que os visitantes vejam versões antigas das páginas devido ao cache do navegador de páginas HTML. Se você tem certeza de que as páginas HTML não estão sendo armazenadas em cache no navegador, esta mensagem pode ser ignorada. (%3$sSaiba mais%4$s)','Current server time is %s.'=>'A hora atual do servidor é %s.','Specify the time to purge the "%s" list.'=>'Especifique a hora para limpar a lista "%s".','Both %1$s and %2$s are acceptable.'=>'Ambos %1$s e %2$s são aceitáveis.','Scheduled Purge Time'=>'Horário de limpeza agendada','The URLs here (one per line) will be purged automatically at the time set in the option "%s".'=>'Os URLs aqui (um por linha) serão automaticamente limpos no horário definido na opção "%s".','Scheduled Purge URLs'=>'URLs de limpeza agendada','Shorten query strings in the debug log to improve readability.'=>'Reduzir os parâmetros da consulta no registro de depuração para melhorar a legibilidade.','Heartbeat'=>'Heartbeat','MB'=>'MB','Log File Size Limit'=>'Limite de tamanho do arquivo de registro','<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s'=>'<p>Adicione/substitua os seguintes códigos no início de %1$s:</p> %2$s','%s file not writable.'=>'%s arquivo não gravável.','%s file not readable.'=>'%s arquivo não legível.','Collapse Query Strings'=>'Recolher strings de consulta','ESI Settings'=>'Configurações ESI','A TTL of 0 indicates do not cache.'=>'Um TTL de 0 indica para não armazenar em cache.','Recommended value: 28800 seconds (8 hours).'=>'Valor recomendado: 28.800 segundos (8 horas).','Widget Cache TTL'=>'TTL do cache de widgets','Enable ESI'=>'Ativar ESI','See %sIntroduction for Enabling the Crawler%s for detailed information.'=>'Consulte %sIntrodução para ativar o rastreador%s para informações detalhadas.','Custom Sitemap'=>'Sitemap personalizado','Purge pages by relative or full URL.'=>'Limpar páginas por URL relativo ou completo.','The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.'=>'O recurso de rastreador não está ativado no servidor LiteSpeed. Consulte o administrador do servidor ou o provedor de hospedagem.','WARNING'=>'ATENÇÃO','The next complete sitemap crawl will start at'=>'O próximo rastreamento completo do sitemap vai iniciar em','Failed to write to %s.'=>'Falha ao gravar em %s.','Folder is not writable: %s.'=>'A pasta não é gravável: %s.','Can not create folder: %1$s. Error: %2$s'=>'Não é possível criar a pasta: %1$s. Erro: %2$s','Folder does not exist: %s'=>'A pasta não existe: %s','Notified LiteSpeed Web Server to purge the list.'=>'O LiteSpeed Web Server foi notificado para limpar a lista com sucesso.','Please visit the %sInformation%s page on how to test the cache.'=>'Acesse a página de %sInformações%s para saber como testar o cache.','Allows listed IPs (one per line) to perform certain actions from their browsers.'=>'Permite que os IPs listados (um por linha) executem certas ações a partir de seus navegadores.','Server Load Limit'=>'Limite de carga do servidor','Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.'=>'Especifique por quantos segundos o rastreador deve esperar antes de iniciar o rastreamento completo do sitemap novamente.','Crawl Interval'=>'Intervalo de rastreamento','Then another WordPress is installed (NOT MULTISITE) at %s'=>'Em seguida, outro WordPress é instalado (NÃO MULTISITE) em %s','LiteSpeed Cache Network Cache Settings'=>'Configurações de cache em rede do LiteSpeed Cache','Select below for "Purge by" options.'=>'Selecione abaixo as opções de "Limpar por".','LiteSpeed Cache CDN'=>'CDN do LiteSpeed Cache','No crawler meta file generated yet'=>'Nenhum arquivo de metadados do rastreador foi gerado ainda','Show crawler status'=>'Mostrar o status do rastreador','Watch Crawler Status'=>'Acompanhar o status do rastreador','Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task.'=>'Consulte %sConectando o WP-Cron ao agendador de tarefas do sistema%s para aprender como criar a tarefa cron do sistema.','Run frequency is set by the Interval Between Runs setting.'=>'A frequência de execução é definida pela configuração do intervalo entre as execuções.','Manually run'=>'Executar manualmente','Reset position'=>'Redefinir posição','Run Frequency'=>'Frequência de execução','Cron Name'=>'Nome do cron','Crawler Cron'=>'Cron do rastreador','%d minute'=>'%d minuto','%d minutes'=>'%d minutos','%d hour'=>'%d hora','%d hours'=>'%d horas','Generated at %s'=>'Gerado em %s','LiteSpeed Cache Crawler'=>'Rastreador do LiteSpeed Cache','If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s.'=>'Se houver alguma dúvida, a equipe sempre terá prazer em responder às perguntas no %sfórum de suporte%s.','Crawler'=>'Rastreador','https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration'=>'https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration','Notified LiteSpeed Web Server to purge all pages.'=>'Servidor Web LiteSpeed notificado para limpar todas as páginas.','All pages with Recent Posts Widget'=>'Todas as páginas com o widget de posts recentes','Pages'=>'Páginas','This will Purge Pages only'=>'Isso irá limpar apenas as páginas','Purge Pages'=>'Limpar páginas','Cancel'=>'Cancelar','Deactivate'=>'Desativar','Activate'=>'Ativar','Email Address'=>'Endereço de e-mail','Install Now'=>'Instalar agora','Purged the URL!'=>'Limpar o URL!','Purged the blog!'=>'Limpar o blog!','Purged All!'=>'Limpar tudo!','Notified LiteSpeed Web Server to purge error pages.'=>'Servidor Web LiteSpeed notificado para limpar páginas de erro.','If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.'=>'Se estiver usando o OpenLiteSpeed, o servidor deve ser reiniciado uma vez para que as alterações tenham efeito.','If the login cookie was recently changed in the settings, please log out and back in.'=>'Se o cookie de acesso foi alterado recentemente nas configurações, desconecte e volte a acessar.','However, there is no way of knowing all the possible customizations that were implemented.'=>'No entanto, não há maneira de saber todas as possíveis personalizações que foram implementadas.','The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.'=>'O plugin LiteSpeed Cache é usado para armazenar em cache páginas - uma maneira simples de melhorar o desempenho do site.','The network admin setting can be overridden here.'=>'A configuração do administrador de rede pode ser substituída aqui.','Specify how long, in seconds, public pages are cached.'=>'Especifique por quanto tempo, em segundos, as páginas públicas são armazenadas em cache.','Specify how long, in seconds, private pages are cached.'=>'Especifique por quanto tempo, em segundos, as páginas privadas são armazenadas em cache.','It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.'=>'É ALTAMENTE recomendável que a compatibilidade com outros plugins em um único ou alguns sites seja testada primeiro.','Purge pages by post ID.'=>'Limpar páginas por ID de post.','Purge the LiteSpeed cache entries created by this plugin'=>'Limpar as entradas de cache LiteSpeed criadas por este plugin','Purge %s error pages'=>'Limpar páginas de erro %s','This will Purge Front Page only'=>'Isso irá limpar apenas a página inicial','Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.'=>'Limpar páginas por nome da tag - por exemplo, %2$s deve ser usado para o URL %1$s.','Purge pages by category name - e.g. %2$s should be used for the URL %1$s.'=>'Limpar páginas por nome de categoria - exemplo: %2$s deve ser usado para o URL %1$s.','If only the WordPress site should be purged, use Purge All.'=>'Se apenas o site WordPress deve ser limpo, use "Limpar tudo".','Notified LiteSpeed Web Server to purge everything.'=>'O LiteSpeed Web Server foi notificado para limpar tudo com sucesso.','Use Primary Site Configuration'=>'Usar a configuração do site principal','This will disable the settings page on all subsites.'=>'Isso irá desativar a página de configurações em todos os subsites.','Check this option to use the primary site\'s configuration for all subsites.'=>'Marque esta opção para usar a configuração do site principal para todos os subsites.','Save Changes'=>'Salvar alterações','The following options are selected, but are not editable in this settings page.'=>'As seguintes opções estão selecionadas, mas não são editáveis nesta página de configurações.','The network admin selected use primary site configs for all subsites.'=>'O administrador da rede selecionou usar configurações do site principal para todos os subsites.','Empty Entire Cache'=>'Esvaziar todo o cache','This action should only be used if things are cached incorrectly.'=>'Essa ação deve ser usada apenas se as coisas estiverem sendo armazenadas em cache de forma incorreta.','Clears all cache entries related to this site, including other web applications.'=>'Limpa todas as entradas de cache relacionadas a este site, incluindo outras aplicações web.','This may cause heavy load on the server.'=>'Isso pode gerar uma grande demanda no servidor.','This will clear EVERYTHING inside the cache.'=>'Isso irá limpar TODOS os conteúdos do cache.','LiteSpeed Cache Purge All'=>'Limpar tudo no LiteSpeed Cache','If you would rather not move at litespeed, you can deactivate this plugin.'=>'Se você preferir não se mover na velocidade da luz, pode desativar este plugin.','Create a post, make sure the front page is accurate.'=>'Crie um post e certifique-se de que a página inicial esteja correta.','Visit the site while logged out.'=>'Visite o site enquanto estiver desconectado.','Examples of test cases include:'=>'Exemplos de casos de teste incluem:','For that reason, please test the site to make sure everything still functions properly.'=>'Por esse motivo, teste o site para garantir que tudo continue funcionando corretamente.','This message indicates that the plugin was installed by the server admin.'=>'Esta mensagem indica que o plugin foi instalado pelo administrador do servidor.','LiteSpeed Cache plugin is installed!'=>'O plugin de cache do LiteSpeed está instalado!','Debug Log'=>'Registro de depuração','Admin IP Only'=>'Apenas IP do Admin','The Admin IP option will only output log messages on requests from admin IPs listed below.'=>'A opção de IP do administrador só irá gerar mensagens de registro nas solicitações dos IPs do administrador listados abaixo.','Specify how long, in seconds, REST calls are cached.'=>'Especifique por quanto tempo, em segundos, as chamadas da REST são armazenadas em cache.','The environment report contains detailed information about the WordPress configuration.'=>'O relatório do ambiente contém informações detalhadas sobre a configuração do WordPress.','The server will determine if the user is logged in based on the existence of this cookie.'=>'O servidor determinará se o usuário está conectado com base na existência deste cookie.','Note'=>'Observação','To test the cart, visit the %sFAQ%s.'=>'Para testar o carrinho, acesse as %sperguntas frequentes%s.','After verifying that the cache works in general, please test the cart.'=>'Após verificar que o cache funciona de forma geral, teste o carrinho.','When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.'=>'Quando ativado, o cache será automaticamente limpo quando qualquer plugin, tema ou o núcleo do WordPress for atualizado.','Purge All On Upgrade'=>'Limpar tudo na atualização','Product Update Interval'=>'Intervalo de atualização do produto','Determines how changes in product quantity and product stock status affect product pages and their associated category pages.'=>'Determina como as alterações na quantidade de produtos e no status de estoque dos produtos afetam as páginas de produtos e suas páginas de categoria associadas.','Always purge both product and categories on changes to the quantity or stock status.'=>'Sempre limpar tanto o produto quanto as categorias em caso de alterações na quantidade ou status do estoque.','Do not purge categories on changes to the quantity or stock status.'=>'Não limpar categorias em caso de alterações na quantidade ou status do estoque.','Purge product only when the stock status changes.'=>'Limpar produto apenas quando o status do estoque mudar.','Purge product and categories only when the stock status changes.'=>'Limpar produto e categorias apenas quando o status do estoque mudar.','Purge categories only when stock status changes.'=>'Limpar categorias apenas quando o status do estoque mudar.','Purge product on changes to the quantity or stock status.'=>'Limpar produto em caso de alterações na quantidade ou status do estoque.','Htaccess did not match configuration option.'=>'O arquivo .htaccess não correspondeu à opção de configuração.','If this is set to a number less than 30, feeds will not be cached.'=>'Se isso for definido como um número menor que 30, os feeds não são armazenados em cache.','Specify how long, in seconds, feeds are cached.'=>'Especifique por quanto tempo, em segundos, os feeds são armazenados em cache.','Default Feed TTL'=>'TTL padrão do feed','Failed to get %s file contents.'=>'Falha ao obter o conteúdo do arquivo %s.','Disabling this option may negatively affect performance.'=>'Desativar esta opção pode afetar negativamente o desempenho.','Invalid login cookie. Invalid characters found.'=>'Cookie de acesso inválido. Encontrados caracteres inválidos.','WARNING: The .htaccess login cookie and Database login cookie do not match.'=>'ATENÇÃO: O cookie de acesso do .htaccess e o cookie de acesso do banco de dados não correspondem.','Invalid login cookie. Please check the %s file.'=>'Cookie de acesso inválido. Verifique o arquivo %s.','The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.'=>'O cache precisa distinguir quem está conectado a qual site do WordPress para armazenar em cache corretamente.','There is a WordPress installed for %s.'=>'Há uma instalação do WordPress para %s.','Example use case:'=>'Exemplo de caso de uso:','The cookie set here will be used for this WordPress installation.'=>'O cookie definido aqui será usado para esta instalação do WordPress.','If every web application uses the same cookie, the server may confuse whether a user is logged in or not.'=>'Se todas as aplicações web usarem o mesmo cookie, o servidor pode ficar confuso sobre se um usuário está conectado ou não.','This setting is useful for those that have multiple web applications for the same domain.'=>'Essa configuração é útil para aqueles que têm várias aplicações web para o mesmo domínio.','The default login cookie is %s.'=>'O cookie de acesso padrão é %s.','Login Cookie'=>'Cookie de acesso','More information about the available commands can be found here.'=>'Mais informações sobre os comandos disponíveis podem ser encontradas aqui.','These settings are meant for ADVANCED USERS ONLY.'=>'Essas configurações são destinadas APENAS PARA USUÁRIOS AVANÇADOS.','Current %s Contents'=>'Conteúdo atual de %s','Advanced'=>'Avançado','Advanced Settings'=>'Configurações avançadas','Purge List'=>'Limpar lista','Purge By...'=>'Limpar por...','URL'=>'URL','Tag'=>'Tag','Post ID'=>'ID do post','Category'=>'Categoria','NOTICE: Database login cookie did not match your login cookie.'=>'NOTIFICAÇÃO: O cookie de acesso do banco de dados não corresponde ao seu cookie de acesso.','Purge url %s'=>'Limpar URL %s','Purge tag %s'=>'Limpar tag %s','Purge category %s'=>'Limpar categoria %s','When disabling the cache, all cached entries for this site will be purged.'=>'Ao desativar o cache, todas as entradas em cache deste site serão eliminadas.','NOTICE'=>'NOTIFICAÇÃO','This setting will edit the .htaccess file.'=>'Esta configuração irá editar o arquivo .htaccess.','LiteSpeed Cache View .htaccess'=>'Visualização do LiteSpeed Cache .htaccess','Failed to back up %s file, aborted changes.'=>'Falha ao fazer backup do arquivo %s, alterações abortadas.','Do Not Cache Cookies'=>'Não armazenar cookies em cache','Do Not Cache User Agents'=>'Não armazenar agentes de usuário em cache','This is to ensure compatibility prior to enabling the cache for all sites.'=>'Isso é para garantir a compatibilidade antes de ativar o cache para todos os sites.','Network Enable Cache'=>'Ativar cache de rede','NOTICE:'=>'NOTIFICAÇÃO:','Other checkboxes will be ignored.'=>'As outras caixas de seleção serão ignoradas.','Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.'=>'Selecione "Tudo" se houver widgets dinâmicos vinculados a posts em páginas diferentes da página inicial ou principal.','List of Mobile User Agents'=>'Lista de agentes de usuários móveis','File %s is not writable.'=>'O arquivo %s não é gravável.','JS Settings'=>'Configurações de JS','Manage'=>'Gerenciar','Default Front Page TTL'=>'TTL padrão da página inicial','Notified LiteSpeed Web Server to purge the front page.'=>'Servidor Web LiteSpeed ​​notificado para limpar a página inicial.','Purge Front Page'=>'Limpar página inicial','Example'=>'Exemplo','All tags are cached by default.'=>'Todas as tags são armazenadas em cache por padrão.','All categories are cached by default.'=>'Todas as categorias são armazenadas em cache por padrão.','To do an exact match, add %s to the end of the URL.'=>'Para fazer uma correspondência exata, adicione %s ao final do URL.','The URLs will be compared to the REQUEST_URI server variable.'=>'Os URLs serão comparados à variável de servidor REQUEST_URI.','Select only the archive types that are currently used, the others can be left unchecked.'=>'Selecione apenas os tipos de arquivo usados ​​atualmente; os outros podem ser deixados desmarcados.','Notes'=>'Observações','Use Network Admin Setting'=>'Usar configuração de administrador de rede','Disable'=>'Desativar','Enabling LiteSpeed Cache for WordPress here enables the cache for the network.'=>'A ativação do LiteSpeed Cache para WordPress aqui ativa o cache para a rede.','Disabled'=>'Desativado','Enabled'=>'Ativado','Do Not Cache Roles'=>'Não armazenar funções em cache','https://www.litespeedtech.com'=>'https://www.litespeedtech.com','LiteSpeed Technologies'=>'LiteSpeed Technologies','LiteSpeed Cache'=>'LiteSpeed Cache','Debug Level'=>'Nível de depuração','Notice'=>'Notificação','Term archive (include category, tag, and tax)'=>'Arquivo de termos (incluindo categoria, tag e taxonomia)','Daily archive'=>'Arquivo diário','Monthly archive'=>'Arquivo mensal','Yearly archive'=>'Arquivo anual','Post type archive'=>'Arquivo de tipo de post','Author archive'=>'Arquivo do autor','Home page'=>'Página inicial','Front page'=>'Página principal','All pages'=>'Todas as páginas','Select which pages will be automatically purged when posts are published/updated.'=>'Selecione quais páginas serão automaticamente limpas quando posts forem publicados/atualizados.','Auto Purge Rules For Publish/Update'=>'Regras automáticas de limpeza para Publicar/Atualizar','Default Public Cache TTL'=>'TTL padrão de cache público','seconds'=>'segundos','Admin IPs'=>'IPs de administrador','General'=>'Geral','LiteSpeed Cache Settings'=>'Configurações do LiteSpeed Cache','Notified LiteSpeed Web Server to purge all LSCache entries.'=>'Servidor Web LiteSpeed ​​notificado para limpar todas as entradas LSCache.','Purge All'=>'Limpar tudo','Settings'=>'Configurações','Support forum'=>'Fórum de suporte']];PKc^�\%translations/.ls_translation_check_arnu�[���PKc^�\�S����%translations/litespeed-cache-pt_BR.ponu�[���# Translation of Plugins - LiteSpeed Cache - Stable (latest release) in Portuguese (Brazil)
# This file is distributed under the same license as the Plugins - LiteSpeed Cache - Stable (latest release) package.
msgid ""
msgstr ""
"PO-Revision-Date: 2025-12-17 01:48:43+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: GlotPress/4.0.3\n"
"Language: pt_BR\n"
"Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)\n"

#: tpl/general/settings_inc.guest.tpl.php:66
#: tpl/general/settings_inc.guest.tpl.php:70
msgid "Sync failed."
msgstr "Falha ao sincronizar."

#: tpl/general/settings_inc.guest.tpl.php:64
msgid "Synced successfully."
msgstr "Sincronizado."

#: tpl/general/settings_inc.guest.tpl.php:39
msgid "Syncing"
msgstr "Sincronizando"

#: tpl/general/settings_inc.guest.tpl.php:38
msgid "Guest Mode IP/UA sync status"
msgstr "Status da sincronização de IP/UA do modo visitante"

#: src/task.cls.php:268
msgid "Every 15 Minutes"
msgstr "A cada 15 minutos"

#: src/guest.cls.php:66
msgid "Failed to sync Guest Mode lists."
msgstr "Falha ao sincronizar as listas do modo visitante."

#: src/guest.cls.php:65
msgid "Guest Mode lists synced successfully."
msgstr "Modo visitante sincronizado."

#: tpl/toolbox/purge.tpl.php:110
msgid "This will delete all generated Viewport Images"
msgstr "Isso irá excluir todas as imagens geradas na janela de visualização"

#: src/purge.cls.php:393
msgid "Cleaned all VPI data."
msgstr "Todos os dados da VPI foram limpos."

#: tpl/optimax/settings.tpl.php:34
msgid "Turn on OptimaX. This will automatically request your pages OptimaX result via cron job."
msgstr "Ativação do OptimaX. Isso fará com que suas páginas solicitem automaticamente o resultado do OptimaX através da tarefa cron."

#: tpl/optimax/entry.tpl.php:30
msgid "LiteSpeed Cache OptimaX"
msgstr "LiteSpeed Cache OptimaX"

#: tpl/optimax/entry.tpl.php:17 tpl/optimax/entry.tpl.php:22
#: tpl/optimax/settings.tpl.php:19
msgid "OptimaX Settings"
msgstr "Configurações do OptimaX"

#: tpl/optimax/entry.tpl.php:16
msgid "OptimaX Summary"
msgstr "Resumo do OptimaX"

#: tpl/img_optm/settings.tpl.php:107
msgid "Choose which image sizes to optimize."
msgstr "Escolha os tamanhos de imagens a serem otimizados."

#: tpl/img_optm/settings.tpl.php:104
msgid "No sizes found."
msgstr "Nenhum tamanho encontrado."

#: src/lang.cls.php:229
msgid "Optimize Image Sizes"
msgstr "Otimizar tamanhos de imagens"

#: src/admin-display.cls.php:252 src/lang.cls.php:287
msgid "OptimaX"
msgstr "OptimaX"

#: tpl/toolbox/settings-debug.tpl.php:48
msgid "LiteSpeed Cache is temporarily disabled until: %s."
msgstr "O LiteSpeed Cache está temporariamente desativado até: %s."

#: tpl/toolbox/settings-debug.tpl.php:44
msgid "Remove `Disable All Feature` Flag Now"
msgstr "Remover o sinalizador “Desativar todos os recursos” agora"

#: tpl/toolbox/settings-debug.tpl.php:37
msgid "Disable All Features for 24 Hours"
msgstr "Desativar todos os recursos por 24 horas"

#: tpl/toolbox/beta_test.tpl.php:43
msgid "LiteSpeed Cache is disabled. This functionality will not work."
msgstr "O LiteSpeed Cache está desativado. Esta funcionalidade não irá funcionar."

#: tpl/page_optm/settings_media.tpl.php:296
msgid "Filter %s available to change threshold."
msgstr "Filtro %s disponível para alterar o limite."

#: tpl/page_optm/settings_media.tpl.php:290
msgid "Scaled size threshold"
msgstr "Limite de tamanho em escala"

#: tpl/page_optm/settings_media.tpl.php:289
msgid "Automatically replace large images with scaled versions."
msgstr "Substituir automaticamente imagens grandes por versões em escala."

#: src/lang.cls.php:222
msgid "Auto Rescale Original Images"
msgstr "Redimensionamento automático de imagens originais"

#: src/lang.cls.php:162
msgid "UCSS Inline Excluded Files"
msgstr "Arquivos embutidos excluídos do UCSS"

#: src/error.cls.php:142
msgid "The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again."
msgstr "A conexão com o QUIC.cloud não está correta. Tente sincronizar sua conexão com o QUIC.cloud novamente."

#: src/error.cls.php:119
msgid "Not enough parameters. Please check if the QUIC.cloud connection is set correctly"
msgstr "Parâmetros insuficientes. Verifique se a conexão com o QUIC.cloud está definida corretamente"

#: src/admin-settings.cls.php:40 src/admin-settings.cls.php:313
msgid "No fields"
msgstr "Nenhum campo"

#: src/admin-display.cls.php:1331
msgid "Value from filter applied"
msgstr "Valor do filtro aplicado"

#: src/admin-display.cls.php:1302 src/admin-display.cls.php:1315
msgid "This value is overwritten by the filter."
msgstr "Este valor é substituído pelo filtro."

#: src/admin-display.cls.php:1298
msgid "This value is overwritten by the %s variable."
msgstr "Este valor é substituído pela variável %s."

#: tpl/dash/dashboard.tpl.php:426 tpl/dash/dashboard.tpl.php:844
msgid "QUIC.cloud CDN"
msgstr "CDN do QUIC.cloud"

#: tpl/page_optm/settings_tuning_css.tpl.php:38
msgid "Predefined list will also be combined with the above settings"
msgstr "A lista predefinida também será combinada com as configurações acima"

#: tpl/page_optm/settings_tuning_css.tpl.php:17
msgid "Tuning CSS Settings"
msgstr "Ajuste das configurações de CSS"

#: tpl/page_optm/settings_tuning.tpl.php:71
#: tpl/page_optm/settings_tuning.tpl.php:92
msgid "Predefined list will also be combined with the above settings."
msgstr "A lista predefinida também será combinada com as configurações acima."

#: tpl/page_optm/settings_css.tpl.php:118
#: tpl/page_optm/settings_css.tpl.php:255
#: tpl/page_optm/settings_media.tpl.php:201
#: tpl/page_optm/settings_vpi.tpl.php:66
msgid "Clear"
msgstr "Limpar"

#: tpl/inc/show_error_cookie.php:21
msgid "If not, please verify the setting in the %sAdvanced tab%s."
msgstr "Caso contrário, verifique a configuração na aba %sAvançado%s."

#: tpl/inc/modal.deactivation.php:77
msgid "Close popup"
msgstr "Fechar pop-up"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate plugin"
msgstr "Desativar plugin"

#: tpl/inc/modal.deactivation.php:68
msgid "If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images."
msgstr "Se você usou a otimização de imagens, primeiro %sexclua todos os dados de otimização%s. OBSERVAÇÃO: isso não remove suas imagens otimizadas."

#: tpl/inc/modal.deactivation.php:60
msgid "On uninstall, all plugin settings will be deleted."
msgstr "Ao desinstalar, todas as configurações do plugin serão excluídas."

#: tpl/inc/modal.deactivation.php:47
msgid "Why are you deactivating the plugin?"
msgstr "Por que você está desativando o plugin?"

#: tpl/inc/modal.deactivation.php:38
msgid "Other"
msgstr "Outro"

#: tpl/inc/modal.deactivation.php:33
msgid "Plugin is too complicated"
msgstr "O plugin é muito complicado"

#: tpl/inc/modal.deactivation.php:28
msgid "Site performance is worse"
msgstr "O desempenho do site está pior"

#: tpl/inc/modal.deactivation.php:22
msgid "The deactivation is temporary"
msgstr "A desativação é temporária"

#: tpl/inc/modal.deactivation.php:16
msgid "Deactivate LiteSpeed Cache"
msgstr "Desativar o LiteSpeed Cache"

#: tpl/general/online.tpl.php:138
msgid "CDN - Disabled"
msgstr "CDN - Desativada"

#: tpl/general/online.tpl.php:136
msgid "CDN - Enabled"
msgstr "CDN - Ativada"

#: tpl/general/online.tpl.php:45
msgid "Connected Date:"
msgstr "Data da conexão:"

#: tpl/general/online.tpl.php:43
msgid "Node:"
msgstr "Nó:"

#: tpl/general/online.tpl.php:41
msgid "Service:"
msgstr "Serviço:"

#: tpl/db_optm/manage.tpl.php:180
msgid "Autoload top list"
msgstr "Lista principal do carregamento automático"

#: tpl/db_optm/manage.tpl.php:176
msgid "Autoload entries"
msgstr "Entradas do carregamento automático"

#: tpl/db_optm/manage.tpl.php:175
msgid "Autoload size"
msgstr "Tamanho do carregamento automático"

#: tpl/dash/network_dash.tpl.php:109
msgid "This Month Usage: %s"
msgstr "Uso neste mês: %s"

#: tpl/dash/network_dash.tpl.php:28
msgid "Usage Statistics: %s"
msgstr "Estatísticas de uso: %s"

#: tpl/dash/dashboard.tpl.php:870
msgid "more"
msgstr "mais"

#: tpl/dash/dashboard.tpl.php:869
msgid "Globally fast TTFB, easy setup, and %s!"
msgstr "TTFB globalmente rápido, configuração fácil e %s!"

#: tpl/dash/dashboard.tpl.php:657 tpl/dash/dashboard.tpl.php:701
#: tpl/dash/dashboard.tpl.php:745 tpl/dash/dashboard.tpl.php:789
msgid "Last requested: %s"
msgstr "Última solicitação: %s"

#: tpl/dash/dashboard.tpl.php:631 tpl/dash/dashboard.tpl.php:675
#: tpl/dash/dashboard.tpl.php:719 tpl/dash/dashboard.tpl.php:763
msgid "Last generated: %s"
msgstr "Última geração: %s"

#: tpl/dash/dashboard.tpl.php:438 tpl/dash/dashboard.tpl.php:503
msgid "Requested: %s ago"
msgstr "Solicitação: %s atrás"

#: tpl/dash/dashboard.tpl.php:424
msgid "LiteSpeed Web ADC"
msgstr "LiteSpeed Web ADC"

#: tpl/dash/dashboard.tpl.php:422
msgid "OpenLiteSpeed Web Server"
msgstr "OpenLiteSpeed Web Server"

#: tpl/dash/dashboard.tpl.php:420
msgid "LiteSpeed Web Server"
msgstr "LiteSpeed Web Server"

#: tpl/dash/dashboard.tpl.php:272
msgid "PAYG used this month: %s. PAYG balance and usage not included in above quota calculation."
msgstr "PAYG usado este mês: %s. Saldo e uso do PAYG (pagamento conforme o uso), não incluídos no cálculo da cota acima."

#: tpl/dash/dashboard.tpl.php:112 tpl/dash/dashboard.tpl.php:832
msgid "Last crawled:"
msgstr "Último rastreamento:"

#: tpl/dash/dashboard.tpl.php:111 tpl/dash/dashboard.tpl.php:831
msgid "%1$s %2$d item(s)"
msgstr "%1$s %2$d itens"

#: tpl/crawler/summary.tpl.php:288
msgid "Start watching..."
msgstr "Comece a assistir…"

#: tpl/crawler/summary.tpl.php:254
msgid "Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence."
msgstr "Os rastreadores não podem ser executados simultaneamente. Se o cron e uma execução manual forem iniciados em horários semelhantes, o primeiro a ser iniciado terá prioridade."

#: tpl/crawler/summary.tpl.php:230
msgid "Position: "
msgstr "Posição: "

#: tpl/crawler/summary.tpl.php:133
msgid "%d item(s)"
msgstr "%d itens"

#: tpl/crawler/summary.tpl.php:130
msgid "Last crawled"
msgstr "Último rastreamento"

#: tpl/cdn/qc.tpl.php:73
msgid "Serve your visitors fast"
msgstr "Atenda seus visitantes rapidamente"

#: tpl/cdn/other.tpl.php:104
msgid "This will affect all tags containing attributes: %s."
msgstr "Isso irá afetar todas as tags que contém os atributos: %s."

#: tpl/cdn/cf.tpl.php:152
msgid "%1$sLearn More%2$s"
msgstr "%1$sSaiba mais%2$s"

#: tpl/cdn/cf.tpl.php:39
msgid "Get it from %s."
msgstr "Adquira em %s."

#: src/purge.cls.php:517
msgid "Reset the OPcache failed."
msgstr "Falha ao redefinir o OPcache."

#: src/purge.cls.php:504
msgid "OPcache is restricted by %s setting."
msgstr "O OPcache está restrito pela configuração %s."

#: src/purge.cls.php:491
msgid "OPcache is not enabled."
msgstr "O OPcache não está ativado."

#: src/gui.cls.php:850
msgid "Enable All Features"
msgstr "Ativar todos os recursos"

#: tpl/toolbox/purge.tpl.php:224
msgid "e.g. Use %1$s or %2$s."
msgstr "ex.: Use %1$s ou %2$s."

#: tpl/toolbox/log_viewer.tpl.php:64 tpl/toolbox/report.tpl.php:62
msgid "Click to copy"
msgstr "Clique para copiar"

#: tpl/inc/admin_footer.php:17
msgid "Rate %1$s on %2$s"
msgstr "Classifique o %1$s no %2$s"

#: tpl/cdn/cf.tpl.php:74
msgid "Clear %s cache when \"Purge All\" is run."
msgstr "Limpar o cache do %s quando “Limpar tudo” for executado."

#: tpl/cache/settings_inc.login_cookie.tpl.php:102
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive."
msgstr "SINTAXE: alfanumérico e “_”. Sem espaços e diferencia maiúsculas de minúsculas."

#: tpl/cache/settings_inc.login_cookie.tpl.php:26
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS."
msgstr "SINTAXE: alfanumérico e “_”. Sem espaços e diferencia maiúsculas de minúsculas. DEVE SER ÚNICO EM OUTROS APLICATIVOS DA WEB."

#: tpl/banner/score.php:122
msgid "Submit a ticket"
msgstr "Enviar um ticket"

#: src/lang.cls.php:265
msgid "Clear Cloudflare cache"
msgstr "Limpar cache do Cloudflare"

#: src/cloud.cls.php:246 src/cloud.cls.php:331
msgid "QUIC.cloud's access to your WP REST API seems to be blocked."
msgstr "Parece que o acesso do QUIC.cloud à API REST do WP está bloqueado."

#: tpl/toolbox/log_viewer.tpl.php:65
msgid "Copy Log"
msgstr "Copiar registro"

#: tpl/page_optm/settings_tuning_css.tpl.php:149
msgid "Selectors must exist in the CSS. Parent classes in the HTML will not work."
msgstr "Os seletores precisam existir no CSS. As classes principais no HTML não irão funcionar."

#: tpl/page_optm/settings_tuning_css.tpl.php:142
msgid "List the CSS selectors whose styles should always be included in CCSS."
msgstr "Liste os seletores CSS, cujos estilos devem sempre ser incluídos no CCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:67
msgid "List the CSS selectors whose styles should always be included in UCSS."
msgstr "Liste os seletores CSS, cujos estilos devem sempre ser incluídos no UCSS."

#: tpl/img_optm/summary.tpl.php:77 tpl/page_optm/settings_css.tpl.php:156
#: tpl/page_optm/settings_css.tpl.php:293
#: tpl/page_optm/settings_vpi.tpl.php:101
msgid "Available after %d second(s)"
msgstr "Disponível após %d segundos"

#: tpl/dash/dashboard.tpl.php:347
msgid "Enable QUIC.cloud Services"
msgstr "Ativar os serviços do QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:194
msgid "The features below are provided by %s"
msgstr "Os recursos abaixo, são fornecidos por %s"

#: tpl/dash/dashboard.tpl.php:163
msgid "Do not show this again"
msgstr "Não mostrar isso novamente"

#: tpl/dash/dashboard.tpl.php:153
msgid "Free monthly quota available. Can also be used anonymously (no email required)."
msgstr "Cota mensal gratuita disponível. Também pode ser usado anonimamente (não é necessário e-mail)."

#: tpl/cdn/cf.tpl.php:17
msgid "Cloudflare Settings"
msgstr "Configurações do Cloudflare"

#: src/tool.cls.php:43 src/tool.cls.php:54
msgid "Failed to detect IP"
msgstr "Falha ao detectar o IP"

#: src/lang.cls.php:189
msgid "CCSS Selector Allowlist"
msgstr "Lista de permissões do seletor de CCSS"

#: tpl/toolbox/settings-debug.tpl.php:82
msgid "Outputs to a series of files in the %s directory."
msgstr "Gera uma série de arquivos no diretório %s."

#: tpl/toolbox/report.tpl.php:87
msgid "Attach PHP info to report. Check this box to insert relevant data from %s."
msgstr "Anexar informações do PHP ao relatório. Marque esta caixa para inserir dados relevantes de %s."

#: tpl/toolbox/report.tpl.php:63
msgid "Last Report Date"
msgstr "Data do último relatório"

#: tpl/toolbox/report.tpl.php:62
msgid "Last Report Number"
msgstr "Número do último relatório"

#: tpl/toolbox/report.tpl.php:40
msgid "Regenerate and Send a New Report"
msgstr "Gerar novamente e enviar um novo relatório"

#: tpl/img_optm/summary.tpl.php:372
msgid "This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action."
msgstr "Esta ação irá redefinir a %1$s. Se você alterou as configurações de WebP/AVIF e quer gerar %2$s para as imagens otimizadas anteriormente, use esta ação."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:368
msgid "Soft Reset Optimization Counter"
msgstr "Contador de otimização de redefinição suave"

#: tpl/img_optm/settings.media_webp.tpl.php:34
msgid "When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images."
msgstr "Ao alternar os formatos, %1$s ou %2$s para aplicar esta nova opção às imagens otimizadas anteriormente."

#: tpl/img_optm/settings.media_webp.tpl.php:31
msgid "%1$s is a %2$s paid feature."
msgstr "%1$s é um recurso pago %2$s."

#: tpl/general/online.tpl.php:160
msgid "Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first."
msgstr "Remova a integração do QUIC.cloud deste site. Observação: os dados do QUIC.cloud serão preservados, para que você possa reativar os serviços a qualquer momento. Se você quiser remover totalmente seu site do QUIC.cloud, exclua primeiro o domínio através do painel do QUIC.cloud."

#: tpl/general/online.tpl.php:159
msgid "Disconnect from QUIC.cloud"
msgstr "Desconectar do QUIC.cloud"

#: tpl/general/online.tpl.php:159
msgid "Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard."
msgstr "Tem certeza de que deseja se desconectar do QUIC.cloud? Isso não irá remover nenhum dado do painel do QUIC.cloud."

#: tpl/general/online.tpl.php:150
msgid "CDN - not available for anonymous users"
msgstr "CDN - não disponível para usuários anônimos"

#: tpl/general/online.tpl.php:144
msgid "Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features."
msgstr "Seu site está conectado e usando os serviços on-line do QUIC.cloud como um <strong>usuário anônimo</strong>. A função de CDN e determinados recursos dos serviços de otimização, não estão disponíveis para usuários anônimos. Vincule-se ao QUIC.cloud, para usar o CDN e todos os recursos disponíveis dos serviços on-line."

#: tpl/general/online.tpl.php:143
msgid "QUIC.cloud Integration Enabled with limitations"
msgstr "Integração com o QUIC.cloud ativada com limitações"

#: tpl/general/online.tpl.php:126
msgid "Your site is connected and ready to use QUIC.cloud Online Services."
msgstr "Seu site está conectado e pronto para usar os serviços on-line do QUIC.cloud."

#: tpl/general/online.tpl.php:125
msgid "QUIC.cloud Integration Enabled"
msgstr "Integração com o QUIC.cloud ativada"

#: tpl/general/online.tpl.php:114
msgid "In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it."
msgstr "Para usar a maioria dos serviços do QUIC.cloud, você precisa de uma cota. O QUIC.cloud oferece cota gratuita todos os meses, mas se você precisar de mais, pode comprá-la."

#: tpl/general/online.tpl.php:105
msgid "Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding."
msgstr "Oferece um <strong>serviço de DNS integrado</strong> opcional para simplificar a integração com o CDN."

#: tpl/general/online.tpl.php:104
msgid "Provides <strong>security at the CDN level</strong>, protecting your server from attack."
msgstr "Oferece <strong>segurança a nível do CDN</strong>, protegendo seu servidor contra ataques."

#: tpl/general/online.tpl.php:103
msgid "Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>."
msgstr "Oferece cobertura global com uma <strong>rede crescente de mais de 80 PoPs</strong>."

#: tpl/general/online.tpl.php:102
msgid "Caches your entire site, including dynamic content and <strong>ESI blocks</strong>."
msgstr "Armazena em cache todo o seu site, inclusive o conteúdo dinâmico e os blocos <strong>ESI</strong>."

#: tpl/general/online.tpl.php:98
msgid "Content Delivery Network"
msgstr "Rede de distribuição de conteúdo (CDN)"

#: tpl/general/online.tpl.php:89
msgid "<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold."
msgstr "As <strong>imagens da janela de visualização (VPI)</strong> fornecem uma visualização completamente carregada e bem polida acima da dobra."

#: tpl/general/online.tpl.php:88
msgid "<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads."
msgstr "O <strong>Espaço reservado para imagens de baixa qualidade (LQIP)</strong> dá às suas imagens uma aparência mais agradável à medida que elas são carregadas tardiamente."

#: tpl/general/online.tpl.php:87
msgid "<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall."
msgstr "O <strong>CSS único (UCSS)</strong> remove definições de estilo não usadas, para acelerar o carregamento geral da página."

#: tpl/general/online.tpl.php:86
msgid "<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling."
msgstr "O <strong>CSS crítico (CCSS)</strong> carrega o conteúdo visível acima da dobra mais rapidamente e com estilo completo."

#: tpl/general/online.tpl.php:84
msgid "QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores."
msgstr "Os serviços de otimização de páginas do QUIC.cloud corrigem o inchaço do CSS e melhoram a experiência do usuário durante o carregamento da página, o que pode levar a melhores pontuações de velocidade da página."

#: tpl/general/online.tpl.php:81
msgid "Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee."
msgstr "O processamento dos formatos de imagem PNG, JPG e WebP é gratuito. O AVIF está disponível mediante uma taxa."

#: tpl/general/online.tpl.php:79
msgid "Optionally creates next-generation WebP or AVIF image files."
msgstr "Opcionalmente, cria arquivos de imagens WebP ou AVIF de última geração."

#: tpl/general/online.tpl.php:78
msgid "Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality."
msgstr "Processa suas imagens PNG e JPG enviadas, para produzir versões menores sem sacrificar a qualidade."

#: tpl/general/online.tpl.php:76
msgid "QUIC.cloud's Image Optimization service does the following:"
msgstr "O serviço de otimização de imagens do QUIC.cloud faz o seguinte:"

#: tpl/general/online.tpl.php:72
msgid "<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading."
msgstr "A <strong>Otimização de páginas</strong> otimiza os estilos e os elementos visuais da página, para um carregamento mais rápido."

#: tpl/general/online.tpl.php:71
msgid "<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster."
msgstr "A <strong>Otimização de imagens</strong> permite tamanhos de arquivos de imagem menores, que são enviados mais rapidamente."

#: tpl/general/online.tpl.php:69
msgid "QUIC.cloud's Online Services improve your site in the following ways:"
msgstr "Os serviços on-line do QUIC.cloud melhoram seu site das seguintes maneiras:"

#: tpl/general/online.tpl.php:60
msgid "Speed up your WordPress site even further with QUIC.cloud Online Services and CDN."
msgstr "Acelere ainda mais seu site WordPress com os serviços on-line e CDN do QUIC.cloud."

#: tpl/general/online.tpl.php:59
msgid "QUIC.cloud Integration Disabled"
msgstr "Integração com o QUIC.cloud desativada"

#: tpl/general/online.tpl.php:22
msgid "QUIC.cloud Online Services"
msgstr "Serviços on-line do QUIC.cloud"

#: tpl/general/entry.tpl.php:16 tpl/general/online.tpl.php:68
msgid "Online Services"
msgstr "Serviços on-line"

#: tpl/db_optm/manage.tpl.php:186
msgid "Autoload"
msgstr "Carregamento automático"

#: tpl/dash/dashboard.tpl.php:887
msgid "Refresh QUIC.cloud status"
msgstr "Atualizar o status do QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:446 tpl/dash/dashboard.tpl.php:511
msgid "Refresh"
msgstr "Atualizar"

#: tpl/dash/dashboard.tpl.php:419
msgid "You must be using one of the following products in order to measure Page Load Time:"
msgstr "Você precisa estar usando um dos seguintes produtos, para medir o tempo de carregamento da página:"

#: tpl/dash/dashboard.tpl.php:182
msgid "Refresh Usage"
msgstr "Atualizar o uso"

#: tpl/dash/dashboard.tpl.php:128 tpl/dash/dashboard.tpl.php:908
msgid "News"
msgstr "Notícias"

#: tpl/crawler/summary.tpl.php:28
msgid "You need to set the %s in Settings first before using the crawler"
msgstr "Você precisa definir o %s em “Configurações” primeiro, antes de usar o rastreador"

#: tpl/crawler/settings.tpl.php:136
msgid "You must set %1$s to %2$s before using this feature."
msgstr "Você precisa definir %1$s como %2$s antes de usar este recurso."

#: tpl/crawler/settings.tpl.php:116 tpl/crawler/summary.tpl.php:211
msgid "You must set %s before using this feature."
msgstr "Você precisa definir %s antes de usar este recurso."

#: tpl/cdn/qc.tpl.php:139 tpl/cdn/qc.tpl.php:146
msgid "My QUIC.cloud Dashboard"
msgstr "Meu painel do QUIC.cloud"

#: tpl/cdn/qc.tpl.php:130
msgid "You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard."
msgstr "No momento, você está usando os serviços como um usuário anônimo. Para gerenciar suas opções do QUIC.cloud, use o botão abaixo, para criar uma conta e acessar o painel do QUIC.cloud."

#: tpl/cdn/qc.tpl.php:123 tpl/cdn/qc.tpl.php:143
msgid "To manage your QUIC.cloud options, go to QUIC.cloud Dashboard."
msgstr "Para gerenciar suas opções do QUIC.cloud, acesse o painel do QUIC.cloud."

#: tpl/cdn/qc.tpl.php:119
msgid "To manage your QUIC.cloud options, please contact your hosting provider."
msgstr "Para gerenciar suas opções do QUIC.cloud, fale com seu provedor de hospedagem."

#: tpl/cdn/qc.tpl.php:117
msgid "To manage your QUIC.cloud options, go to your hosting provider's portal."
msgstr "Para gerenciar suas opções do QUIC.cloud, acesse o portal do seu provedor de hospedagem."

#: tpl/cdn/qc.tpl.php:96
msgid "QUIC.cloud CDN Options"
msgstr "Opções de CDN do QUIC.cloud"

#. translators: %s: Link tags
#: tpl/cdn/qc.tpl.php:79
msgid "Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!"
msgstr "O melhor desempenho disponível para WordPress, TTFB globalmente rápido, configuração fácil e %smuito mais%s!"

#: tpl/cdn/qc.tpl.php:73
msgid "no matter where they live."
msgstr "não importa onde moram."

#: tpl/cdn/qc.tpl.php:71
msgid "Content Delivery Network Service"
msgstr "Serviço de rede de distribuição de conteúdo (CDN)"

#: tpl/cdn/qc.tpl.php:61 tpl/dash/dashboard.tpl.php:857
msgid "Enable QUIC.cloud CDN"
msgstr "Ativar o CDN do QUIC.cloud"

#: tpl/cdn/qc.tpl.php:59
msgid "Link & Enable QUIC.cloud CDN"
msgstr "Vincular e ativar o CDN do QUIC.cloud"

#: tpl/cdn/qc.tpl.php:55
msgid "QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users."
msgstr "O CDN do QUIC.cloud não está <strong>disponível</strong> para usuários anônimos (não vinculados)."

#: tpl/cdn/qc.tpl.php:53
msgid "QUIC.cloud CDN is currently <strong>fully disabled</strong>."
msgstr "No momento, o CDN do QUIC.cloud está <strong>completamente desativado</strong>."

#: tpl/cdn/qc.tpl.php:46 tpl/dash/dashboard.tpl.php:169
msgid "Learn More about QUIC.cloud"
msgstr "Saiba mais sobre o QUIC.cloud"

#: tpl/cdn/qc.tpl.php:45 tpl/dash/dashboard.tpl.php:167
#: tpl/general/online.tpl.php:26
msgid "QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud."
msgstr "O QUIC.cloud fornece CDN e serviços de otimização on-line, e não é obrigatório. Você pode usar muitos recursos deste plugin sem o QUIC.cloud."

#: tpl/cdn/qc.tpl.php:41 tpl/dash/dashboard.tpl.php:158
#: tpl/general/online.tpl.php:64 tpl/general/online.tpl.php:119
msgid "Enable QUIC.cloud services"
msgstr "Ativar os serviços do QUIC.cloud"

#: tpl/cdn/qc.tpl.php:38 tpl/general/online.tpl.php:61
#: tpl/general/online.tpl.php:145
msgid "Free monthly quota available."
msgstr "Cota mensal gratuita disponível."

#: tpl/cdn/qc.tpl.php:36 tpl/dash/dashboard.tpl.php:150
msgid "Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>."
msgstr "Acelere ainda mais seu site WordPress com os <strong>serviços on-line e CDN do QUIC.cloud</strong>."

#: tpl/cdn/qc.tpl.php:34 tpl/dash/dashboard.tpl.php:146
msgid "Accelerate, Optimize, Protect"
msgstr "Acelere, otimize e proteja"

#: tpl/cdn/qc.tpl.php:29
msgid "Check the status of your most important settings and the health of your CDN setup here."
msgstr "Verifique o status das suas configurações mais importantes e a integridade da configuração do CDN aqui."

#: tpl/cdn/qc.tpl.php:27
msgid "QUIC.cloud CDN Status Overview"
msgstr "Visão geral do status do CDN do QUIC.cloud"

#: tpl/cdn/qc.tpl.php:24 tpl/dash/dashboard.tpl.php:886
msgid "Refresh Status"
msgstr "Atualizar status"

#: tpl/cdn/entry.tpl.php:16
msgid "Other Static CDN"
msgstr "Outro CDN estático"

#: tpl/banner/new_version.php:113 tpl/banner/score.php:141
#: tpl/banner/slack.php:48
msgid "Dismiss this notice."
msgstr "Dispensar esta notificação."

#: tpl/banner/cloud_promo.tpl.php:35
msgid "Send to twitter to get %s bonus"
msgstr "Enviar ao Twitter para receber um bônus de %s"

#: tpl/banner/cloud_promo.tpl.php:26
msgid "Spread the love and earn %s credits to use in our QUIC.cloud online services."
msgstr "Espalhe o amor e ganhe %s créditos para usar em nossos serviços on-line do QUIC.cloud."

#: src/media.cls.php:526
msgid "No backup of unoptimized AVIF file exists."
msgstr "Não existe nenhum backup do arquivo AVIF não otimizado."

#: src/media.cls.php:510
msgid "AVIF saved %s"
msgstr "%s economizado em AVIF"

#: src/media.cls.php:502
msgid "AVIF file reduced by %1$s (%2$s)"
msgstr "Arquivo AVIF reduzido em %1$s (%2$s)"

#: src/media.cls.php:492
msgid "Currently using original (unoptimized) version of AVIF file."
msgstr "No momento, usando a versão original (não otimizada) do arquivo AVIF."

#: src/media.cls.php:485
msgid "Currently using optimized version of AVIF file."
msgstr "No momento, usando a versão otimizada do arquivo AVIF."

#: src/lang.cls.php:232
msgid "WebP/AVIF For Extra srcset"
msgstr "WebP/AVIF para srcset adicional"

#: src/lang.cls.php:227
msgid "Next-Gen Image Format"
msgstr "Formato de imagem de última geração"

#: src/img-optm.cls.php:2031
msgid "Enabled AVIF file successfully."
msgstr "Arquivo AVIF ativado."

#: src/img-optm.cls.php:2026
msgid "Disabled AVIF file successfully."
msgstr "Arquivo AVIF desativado."

#: src/img-optm.cls.php:1378
msgid "Reset image optimization counter successfully."
msgstr "Contador de otimização de imagens redefinido."

#: src/file.cls.php:133
msgid "Filename is empty!"
msgstr "O nome do arquivo está vazio!"

#: src/error.cls.php:68
msgid "You will need to finish %s setup to use the online services."
msgstr "Você precisa concluir a configuração do %s para usar os serviços on-line."

#: src/cloud.cls.php:2276
msgid "Sync QUIC.cloud status successfully."
msgstr "Status do QUIC.cloud sincronizado."

#: src/cloud.cls.php:2220
msgid "Linked to QUIC.cloud preview environment, for testing purpose only."
msgstr "Vinculado ao ambiente de pré-visualização do QUIC.cloud, apenas para fins de teste."

#: src/cloud.cls.php:1919
msgid "Click here to proceed."
msgstr "Clique aqui para continuar."

#: src/cloud.cls.php:1918
msgid "Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account."
msgstr "Site não reconhecido. O QUIC.cloud foi desativado automaticamente. Reative sua conta do QUIC.cloud."

#: src/cloud.cls.php:846
msgid "Reset %s activation successfully."
msgstr "A ativação do %s foi redefinida."

#: src/cloud.cls.php:725 src/cloud.cls.php:775 src/cloud.cls.php:818
msgid "Congratulations, %s successfully set this domain up for the online services with CDN service."
msgstr "Parabéns! O %s definiu este domínio para os serviços on-line com o serviço de CDN."

#: src/cloud.cls.php:720
msgid "Congratulations, %s successfully set this domain up for the online services."
msgstr "Parabéns! O %s configurou este domínio para os serviços on-line."

#: src/cloud.cls.php:718
msgid "Congratulations, %s successfully set this domain up for the anonymous online services."
msgstr "Parabéns! O %s configurou este domínio para os serviços on-line anônimos."

#: src/cloud.cls.php:690
msgid "%s activation data expired."
msgstr "Os dados de ativação do %s expiraram."

#: src/cloud.cls.php:683
msgid "Failed to parse %s activation status."
msgstr "Falha ao analisar o status de ativação do %s."

#: src/cloud.cls.php:676
msgid "Failed to validate %s activation data."
msgstr "Falha ao validar os dados de ativação do %s."

#: src/cloud.cls.php:386
msgid "Cert or key file does not exist."
msgstr "O arquivo de certificado ou chave não existe."

#: src/cloud.cls.php:368 src/cloud.cls.php:414 src/cloud.cls.php:441
#: src/cloud.cls.php:460 src/cloud.cls.php:481 src/cloud.cls.php:499
msgid "You need to activate QC first."
msgstr "Você precisa ativar o QC primeiro."

#: src/cloud.cls.php:319 src/cloud.cls.php:376
msgid "You need to set the %1$s first. Please use the command %2$s to set."
msgstr "Você precisa definir o %1$s primeiro. Use o comando %2$s para definir."

#: src/cloud.cls.php:256 src/cloud.cls.php:341
msgid "Failed to get echo data from WPAPI"
msgstr "Falha ao coletar os dados de eco da WPAPI"

#: src/admin-settings.cls.php:104
msgid "The user with id %s has editor access, which is not allowed for the role simulator."
msgstr "O usuário com o ID %s tem acesso de editor, o que não é permitido para o simulador de funções."

#: src/error.cls.php:94
msgid "You have used all of your quota left for current service this month."
msgstr "Você usou toda a sua cota restante para o serviço atual neste mês."

#: src/error.cls.php:86 src/error.cls.php:99
msgid "Learn more or purchase additional quota."
msgstr "Saiba mais ou compre cotas adicionais."

#: src/error.cls.php:81
msgid "You have used all of your daily quota for today."
msgstr "Você usou toda a sua cota diária de hoje."

#: tpl/page_optm/settings_html.tpl.php:108
msgid "If comment to be kept is like: %1$s write: %2$s"
msgstr "Se o comentário a ser mantido for do tipo: %1$s escrever: %2$s"

#: tpl/page_optm/settings_html.tpl.php:106
msgid "When minifying HTML do not discard comments that match a specified pattern."
msgstr "Ao minificar o HTML, não descartar comentários que correspondam a um determinado padrão."

#: tpl/cache/settings-advanced.tpl.php:39
msgid "Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space."
msgstr "Especifique uma ação AJAX em POST/GET e o número de segundos para armazenar em cache esta solicitação, separados por um espaço."

#: src/lang.cls.php:169
msgid "HTML Keep Comments"
msgstr "Manter comentários em HTML"

#: src/lang.cls.php:117
msgid "AJAX Cache TTL"
msgstr "TTL do cache AJAX"

#: src/error.cls.php:111
msgid "You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now."
msgstr "Você tem imagens aguardando para serem extraídas. Aguarde a conclusão da extração automática ou extraia-as manualmente agora."

#: tpl/db_optm/manage.tpl.php:26
msgid "Clean all orphaned post meta records"
msgstr "Limpar todos os registros de metadados de posts órfãos"

#: tpl/db_optm/manage.tpl.php:25
msgid "Orphaned Post Meta"
msgstr "Metadados de posts órfãos"

#: tpl/dash/dashboard.tpl.php:864
msgid "Best available WordPress performance"
msgstr "O melhor desempenho disponível para WordPress"

#: src/db-optm.cls.php:257
msgid "Clean orphaned post meta successfully."
msgstr "Metadados de posts órfãos limpos."

#: tpl/img_optm/summary.tpl.php:325
msgid "Last Pulled"
msgstr "Última extração"

#: tpl/cache/settings_inc.login_cookie.tpl.php:104
msgid "You can list the 3rd party vary cookies here."
msgstr "Você pode listar os cookies de variação de terceiros aqui."

#: src/lang.cls.php:245
msgid "Vary Cookies"
msgstr "Cookies de variação"

#: tpl/page_optm/settings_html.tpl.php:75
msgid "Preconnecting speeds up future loads from a given origin."
msgstr "Pré-conectar acelera os carregamentos futuros a partir de uma origem específica."

#: thirdparty/woocommerce.content.tpl.php:89
msgid "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."
msgstr "Se o seu tema não usa JavaScript para atualizar o mini carrinho, você deve ativar esta opção para exibir o conteúdo correto do carrinho."

#: thirdparty/woocommerce.content.tpl.php:88
msgid "Generate a separate vary cache copy for the mini cart when the cart is not empty."
msgstr "Gerar uma cópia de cache variável separada para o mini carrinho quando o carrinho não estiver vazio."

#: thirdparty/woocommerce.content.tpl.php:80
msgid "Vary for Mini Cart"
msgstr "Variável para o mini carrinho"

#: src/lang.cls.php:179
msgid "DNS Preconnect"
msgstr "Pré-conexão de DNS"

#: src/doc.cls.php:40
msgid "This setting is %1$s for certain qualifying requests due to %2$s!"
msgstr "Essa configuração está %1$s para determinadas solicitações qualificadas devido a %2$s!"

#: tpl/page_optm/settings_tuning.tpl.php:43
msgid "Listed JS files or inline JS code will be delayed."
msgstr "Os arquivos JS listados ou o código JS embutido serão atrasados."

#: tpl/crawler/map.tpl.php:58
msgid "URL Search"
msgstr "Pesquisa de URL"

#: src/lang.cls.php:181
msgid "JS Delayed Includes"
msgstr "Inclusões de JS atrasados"

#: src/cloud.cls.php:1693
msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."
msgstr "Sua domain_key foi temporariamente incluída em uma lista de bloqueios para evitar abusos. Entre em contato com o suporte em QUIC.cloud para saber mais."

#: src/cloud.cls.php:1688
msgid "Cloud server refused the current request due to unpulled images. Please pull the images first."
msgstr "O servidor em nuvem recusou a solicitação atual devido a imagens não recuperadas. Obtenha as imagens primeiro."

#: tpl/crawler/summary.tpl.php:110
msgid "Current server load"
msgstr "Carga atual do servidor"

#: src/object-cache.cls.php:714
msgid "Redis encountered a fatal error: %1$s (code: %2$d)"
msgstr "O Redis encontrou um erro fatal: %1$s (código: %2$d)"

#: src/img-optm.cls.php:890
msgid "Started async image optimization request"
msgstr "Iniciada a solicitação de otimização de imagem assíncrona"

#: src/crawler.cls.php:324
msgid "Started async crawling"
msgstr "Rastreamento assíncrono iniciado"

#: src/conf.cls.php:551
msgid "Saving option failed. IPv4 only for %s."
msgstr "Falha ao salvar a opção. Apenas IPv4 para %s."

#: src/cloud.cls.php:1700
msgid "Cloud server refused the current request due to rate limiting. Please try again later."
msgstr "O servidor em nuvem recusou a solicitação atual devido a limitação de taxa. Tente novamente mais tarde."

#: tpl/img_optm/summary.tpl.php:298
msgid "Maximum image post id"
msgstr "ID máximo do post da imagem"

#: tpl/img_optm/summary.tpl.php:297 tpl/img_optm/summary.tpl.php:372
msgid "Current image post id position"
msgstr "Posição atual do ID do post da imagem"

#: src/lang.cls.php:31
msgid "Images ready to request"
msgstr "Imagens prontas para solicitar"

#: tpl/dash/dashboard.tpl.php:385 tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54 tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr "Redetectar"

#. translators: %1$s: Socket name, %2$s: Host field title, %3$s: Example socket
#. path
#. translators: %1$s: Socket name, %2$s: Port field title, %3$s: Port value
#: tpl/cache/settings_inc.object.tpl.php:107
#: tpl/cache/settings_inc.object.tpl.php:146
msgid "If you are using a %1$s socket, %2$s should be set to %3$s"
msgstr "Se você estiver usando um soquete %1$s, %2$s deve ser definido como %3$s"

#: src/root.cls.php:198
msgid "All QUIC.cloud service queues have been cleared."
msgstr "Todas as filas de serviço QUIC.cloud foram limpas."

#. translators: %s: The type of the given cache key.
#: src/object-cache-wp.cls.php:245
msgid "Cache key must be integer or non-empty string, %s given."
msgstr "A chave de cache deve ser um número inteiro ou uma string não vazia, foi fornecido %s."

#: src/object-cache-wp.cls.php:242
msgid "Cache key must not be an empty string."
msgstr "A chave de cache não deve ser uma string vazia."

#: src/lang.cls.php:190
msgid "JS Deferred / Delayed Excludes"
msgstr "Exclusões de JS adiado/atrasado"

#: src/doc.cls.php:177
msgid "The queue is processed asynchronously. It may take time."
msgstr "A fila é processada de forma assíncrona. Isso pode levar algum tempo."

#: src/cloud.cls.php:1362
msgid "In order to use QC services, need a real domain name, cannot use an IP."
msgstr "Para usar os serviços do QC, é necessário um nome de domínio real; não é possível usar um IP."

#: tpl/presets/standard.tpl.php:195
msgid "Restore Settings"
msgstr "Restaurar configurações"

#: tpl/presets/standard.tpl.php:193
msgid "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"
msgstr "Isso irá restaurar as configurações de backup criadas %1$s antes de aplicar a predefinição %2$s. Quaisquer alterações feitas desde então serão perdidas. Deseja continuar?"

#: tpl/presets/standard.tpl.php:189
msgid "Backup created %1$s before applying the %2$s preset"
msgstr "Backup criado %1$s antes de aplicar a predefinição %2$s"

#: tpl/presets/standard.tpl.php:178
msgid "Applied the %1$s preset %2$s"
msgstr "Aplicada a predefinição %1$s %2$s"

#: tpl/presets/standard.tpl.php:175
msgid "Restored backup settings %1$s"
msgstr "Configurações de backup restauradas %1$s"

#: tpl/presets/standard.tpl.php:173
msgid "Error: Failed to apply the settings %1$s"
msgstr "Erro: Falha ao aplicar as configurações %1$s"

#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr "Histórico"

#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr "desconhecido"

#: tpl/presets/standard.tpl.php:133
msgid "Apply Preset"
msgstr "Aplicar predefinição"

#: tpl/presets/standard.tpl.php:131
msgid "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"
msgstr "Isso fará backup das suas configurações atuais e as substituirá pelas configurações predefinidas do %1$s. Deseja continuar?"

#: tpl/presets/standard.tpl.php:121
msgid "Who should use this preset?"
msgstr "Quem deve usar esta predefinição?"

#: tpl/presets/standard.tpl.php:96
msgid "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between."
msgstr "Use uma predefinição oficial projetada pelo LiteSpeed para configurar seu site com um único clique. Experimente o armazenamento em cache \"Essenciais\" sem risco, ou a otimização \"Extremo\" ou algo intermediário."

#: tpl/presets/standard.tpl.php:92
msgid "LiteSpeed Cache Standard Presets"
msgstr "Predefinições padrão do LiteSpeed Cache"

#: tpl/presets/standard.tpl.php:85
msgid "A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores."
msgstr "É necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Ativa o nível máximo de otimizações, para melhorar as pontuações de velocidade da página."

#: tpl/presets/standard.tpl.php:84
msgid "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."
msgstr "Esta predefinição quase certamente exigirá testes e exclusões para alguns CSS, JS e imagens de carregamento tardio. Preste atenção especial aos logos ou imagens de controle deslizante (sliders) baseados em HTML."

#: tpl/presets/standard.tpl.php:81
msgid "Inline CSS added to Combine"
msgstr "CSS embutido adicionado para combinar"

#: tpl/presets/standard.tpl.php:80
msgid "Inline JS added to Combine"
msgstr "JS embutido adicionado para combinar"

#: tpl/presets/standard.tpl.php:79
msgid "JS Delayed"
msgstr "JS atrasado"

#: tpl/presets/standard.tpl.php:78
msgid "Viewport Image Generation"
msgstr "Geração de imagens da janela de visualização (viewport)"

#: tpl/presets/standard.tpl.php:77
msgid "Lazy Load for Images"
msgstr "Carregamento tardio para imagens"

#: tpl/presets/standard.tpl.php:76
msgid "Everything in Aggressive, Plus"
msgstr "Tudo do Agressivo, e mais"

#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr "Extremo"

#: tpl/presets/standard.tpl.php:69
msgid "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning."
msgstr "Esta predefinição pode funcionar imediatamente em alguns sites, mas certifique-se de testar! Algumas exclusões de CSS ou JS podem ser necessárias em Otimização de página > Ajuste."

#: tpl/presets/standard.tpl.php:66
msgid "Lazy Load for Iframes"
msgstr "Carregamento tardio para iframes"

#: tpl/presets/standard.tpl.php:65
msgid "Removed Unused CSS for Users"
msgstr "Remoção de CSS não usado para usuários"

#: tpl/presets/standard.tpl.php:64
msgid "Asynchronous CSS Loading with Critical CSS"
msgstr "Carregamento assíncrono de CSS com CSS crítico"

#: tpl/presets/standard.tpl.php:63
msgid "CSS & JS Combine"
msgstr "Combinação de CSS e JS"

#: tpl/presets/standard.tpl.php:62
msgid "Everything in Advanced, Plus"
msgstr "Tudo do Avançado, e mais"

#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr "Agressivo"

#: tpl/presets/standard.tpl.php:56 tpl/presets/standard.tpl.php:70
msgid "A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores."
msgstr "É necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Inclui muitas otimizações conhecidas por melhorar as pontuações de velocidade da página."

#: tpl/presets/standard.tpl.php:55
msgid "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools."
msgstr "Esta predefinição é adequada para a maioria dos sites e é improvável que cause conflitos. Quaisquer conflitos de CSS ou JS podem ser resolvidos com as ferramentas em Otimização de página > Ajuste."

#: tpl/presets/standard.tpl.php:50
msgid "Remove Query Strings from Static Files"
msgstr "Remover strings de consulta de arquivos estáticos"

#: tpl/presets/standard.tpl.php:48
msgid "DNS Prefetch for static files"
msgstr "Pré-carregamento de DNS para arquivos estáticos"

#: tpl/presets/standard.tpl.php:47
msgid "JS Defer for both external and inline JS"
msgstr "Adiar JS para JS externo e embutido"

#: tpl/presets/standard.tpl.php:45
msgid "CSS, JS and HTML Minification"
msgstr "Minificação de CSS, JS e HTML"

#: tpl/presets/standard.tpl.php:44
msgid "Guest Mode and Guest Optimization"
msgstr "Modo de visitante e otimização de visitantes"

#: tpl/presets/standard.tpl.php:43
msgid "Everything in Basic, Plus"
msgstr "Tudo do Básico, e mais"

#: tpl/presets/standard.tpl.php:41
msgid "Advanced (Recommended)"
msgstr "Avançado (recomendado)"

#: tpl/presets/standard.tpl.php:37
msgid "A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools."
msgstr "É necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Inclui otimizações conhecidas por melhorar a pontuação do site em ferramentas de medição de velocidade da página."

#: tpl/presets/standard.tpl.php:36
msgid "This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners."
msgstr "Esta predefinição de baixo risco apresenta otimizações básicas para velocidade e experiência do usuário. Apropriada para iniciantes entusiastas."

#: tpl/presets/standard.tpl.php:33
msgid "Mobile Cache"
msgstr "Cache para dispositivos móveis"

#: tpl/presets/standard.tpl.php:31
msgid "Everything in Essentials, Plus"
msgstr "Tudo do Essenciais e mais"

#: tpl/presets/standard.tpl.php:25
msgid "A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled."
msgstr "Não é necessário ter uma conexão com o QUIC.cloud para usar esta predefinição. Apenas os recursos básicos de cache estão ativados."

#: tpl/presets/standard.tpl.php:24
msgid "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."
msgstr "Esta predefinição sem risco é adequada para todos os tipos de sites. É indicada para novos usuários, sites simples ou desenvolvimento orientado para cache."

#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr "TTL mais alto"

#: tpl/presets/standard.tpl.php:19
msgid "Default Cache"
msgstr "Cache padrão"

#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr "Essenciais"

#: tpl/presets/entry.tpl.php:23
msgid "LiteSpeed Cache Configuration Presets"
msgstr "Predefinições de configuração do LiteSpeed Cache"

#: tpl/presets/entry.tpl.php:16
msgid "Standard Presets"
msgstr "Predefinições padrão"

#: tpl/page_optm/settings_tuning_css.tpl.php:52
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
msgstr "Os arquivos CSS listados serão excluídos do UCSS e salvos de forma embutida."

#: src/lang.cls.php:161
msgid "UCSS Selector Allowlist"
msgstr "Lista de permissões do seletor UCSS"

#: src/admin-display.cls.php:253
msgid "Presets"
msgstr "Predefinições"

#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr "Benefícios para parceiros fornecidos por"

#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr "Registros do LiteSpeed"

#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr "Registro de rastreamento"

#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr "Limpar registro"

#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr "Impedir a gravação de entradas de registro que incluam strings (cadeias de caracteres) listadas."

#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr "Ver site antes do cache"

#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr "Ver site antes da otimização"

#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr "Auxiliares de depuração"

#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr "Ativar a geração automática de imagens na janela de visualização (viewport) via cron."

#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr "Isso permite que o conjunto inicial de imagens da página seja totalmente exibido sem atrasos."

#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr "O serviço de imagens na janela de visualização (viewport) detecta quais imagens aparecem acima da dobra e as exclui do carregamento tardio (lazy load)."

#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr "Quando você usa o \"Carregamento tardio\", ele atrasará o carregamento de todas as imagens em uma página."

#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr "Use %1$s para ignorar a verificação das dimensões de imagem remotas quando %2$s estiver ATIVADO."

#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr "VPI"

#: tpl/general/settings.tpl.php:72 tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr "%s deve estar ATIVADO para que esta configuração funcione."

#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr "Imagem da janela de visualização (viewport)"

#: tpl/crawler/blacklist.tpl.php:79
msgid "API: Filter %s available to disable blocklist."
msgstr "API: Filtro %s disponível para desativar a lista de bloqueio."

#: tpl/crawler/blacklist.tpl.php:69
msgid "API: PHP Constant %s available to disable blocklist."
msgstr "API: Constante PHP %s disponível para desativar a lista de bloqueio."

#: thirdparty/litespeed-check.cls.php:100
#: thirdparty/litespeed-check.cls.php:165
msgid "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"
msgstr "Considere desativar os seguintes plugins detectados, pois eles podem entrar em conflito com o LiteSpeed Cache:"

#: src/metabox.cls.php:43
msgid "Mobile"
msgstr "Dispositivo móvel"

#: src/metabox.cls.php:41
msgid "Disable VPI"
msgstr "Desativar VPI"

#: src/metabox.cls.php:40
msgid "Disable Image Lazyload"
msgstr "Desativar carregamento lento de imagens"

#: src/metabox.cls.php:39
msgid "Disable Cache"
msgstr "Desativar cache"

#: src/lang.cls.php:282
msgid "Debug String Excludes"
msgstr "Exclusões de string de depuração"

#: src/lang.cls.php:221
msgid "Viewport Images Cron"
msgstr "Cron de imagens da janela de visualização (viewport)"

#: src/lang.cls.php:220 src/metabox.cls.php:42 src/metabox.cls.php:43
#: tpl/page_optm/settings_vpi.tpl.php:23
msgid "Viewport Images"
msgstr "Imagens da janela de visualização (viewport)"

#: src/lang.cls.php:71
msgid "Alias is in use by another QUIC.cloud account."
msgstr "O alias está sendo usado por outra conta QUIC.cloud."

#: src/lang.cls.php:66
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."
msgstr "Não é possível adicionar automaticamente %1$s como um alias de domínio para o domínio principal %2$s."

#: src/lang.cls.php:58
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."
msgstr "Não é possível adicionar automaticamente %1$s como um alias de domínio para o domínio principal %2$s, devido a um possível conflito com o CDN."

#: src/error.cls.php:231
msgid "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."
msgstr "Você não pode remover esta zona DNS, pois ela ainda está em uso. Atualize os servidores de nomes do domínio e tente excluir esta zona novamente, caso contrário, seu site ficará inacessível."

#: src/error.cls.php:134
msgid "The site is not a valid alias on QUIC.cloud."
msgstr "O site não é um alias válido no QUIC.cloud."

#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr "Teste minuciosamente cada arquivo JS que você adicionar para garantir que funcione conforme o esperado."

#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr "Testar minuciosamente todos os itens em %s para garantir que funcionem conforme o esperado."

#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr "Use %1$s para ignorar o UCSS para as páginas cujo tipo de página seja %2$s."

#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr "Use %1$s para gerar um único UCSS para as páginas cujo tipo de página seja %2$s, enquanto os outros tipos de página continuam por URL."

#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr "Filtro %s disponível para geração de UCSS por tipo de página."

#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr "Falha ao testar o modo visitante."

#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr "O modo visitante foi aprovado no teste."

#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr "Testando"

#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr "Resultado do teste do modo visitante"

#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr "Não está na lista de bloqueio"

#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr "Saiba mais sobre quando isso é necessário"

#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr "Todas as entradas de recursos localizadas foram limpas."

#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr "Ver .htaccess"

#: tpl/toolbox/edit_htaccess.tpl.php:63 tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr "Você pode usar este código %1$s em %2$s para especificar o caminho do arquivo .htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:62 tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr "A constante %s do PHP é suportada."

#: tpl/toolbox/edit_htaccess.tpl.php:58 tpl/toolbox/edit_htaccess.tpl.php:76
msgid "Default path is"
msgstr "O caminho padrão é"

#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr "Caminho do .htaccess"

#: tpl/general/settings.tpl.php:49
msgid "Please read all warnings before enabling this option."
msgstr "Leia todos os alertas antes de ativar esta opção."

#: tpl/toolbox/purge.tpl.php:83
msgid "This will delete all generated unique CSS files"
msgstr "Isso irá excluir todos os arquivos de CSS únicos gerados"

#: tpl/toolbox/beta_test.tpl.php:85
msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."
msgstr "Para evitar um erro de atualização, você deve estar usando %1$s ou posterior antes de poder atualizar para versões %2$s."

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Use latest GitHub Dev/Master commit"
msgstr "Use o último commit Dev/Master do GitHub"

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."
msgstr "Pressione o botão %s para usar o commit mais recente do GitHub. Master é para candidato a lançamento e Dev é para testes experimentais."

#: tpl/toolbox/beta_test.tpl.php:73
msgid "Downgrade not recommended. May cause fatal error due to refactored code."
msgstr "Desaconselhamos a reversão de versão. Pode causar erros fatais devido ao código reestruturado."

#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr "Otimizar apenas as páginas para visitantes em modo visitante (não conectados). Se DESATIVADO, os arquivos CSS/JS/CCSS serão duplicados para cada grupo de usuários."

#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr "Os arquivos JS listados ou o código JS embutido não serão otimizados pelo %s."

#: tpl/page_optm/settings_tuning_css.tpl.php:92
msgid "Listed URI will not generate UCSS."
msgstr "O URI listado não irá gerar UCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:74
msgid "The selector must exist in the CSS. Parent classes in the HTML will not work."
msgstr "O seletor deve existir no CSS. Classes principais no HTML não funcionarão."

#: tpl/page_optm/settings_tuning_css.tpl.php:70
#: tpl/page_optm/settings_tuning_css.tpl.php:145
msgid "Wildcard %s supported."
msgstr "Caractere curinga %s é suportado."

#: tpl/page_optm/settings_media_exc.tpl.php:34
msgid "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."
msgstr "Útil para imagens acima da dobra que causam CLS (uma métrica do Core Web Vitals)."

#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr "Defina uma largura e altura explícitas nos elementos de imagem para reduzir deslocamentos de layout e melhorar o CLS (uma métrica do Core Web Vitals)."

#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr "As alterações nesta configuração não se aplicam aos LQIPs já gerados. Para generar novamente os LQIPs existentes, primeiro %s no menu da barra de administração."

#: tpl/page_optm/settings_js.tpl.php:79
msgid "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."
msgstr "Adiar até que a página seja analisada ou atrasar até a interação, pode ajudar a reduzir a contenção de recursos e melhorar o desempenho, causando um FID (métrica do Core Web Vitals) mais baixo."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr "Atrasado"

#: tpl/page_optm/settings_js.tpl.php:52
msgid "JS error can be found from the developer console of browser by right clicking and choosing Inspect."
msgstr "Erros de JS podem ser encontrados no console do desenvolvedor do navegador clicando com o botão direito e escolhendo \"Inspecionar\"."

#: tpl/page_optm/settings_js.tpl.php:51 tpl/page_optm/settings_js.tpl.php:85
msgid "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."
msgstr "Essa opção pode resultar em um erro de JS ou problema de layout em páginas de interface com determinados temas/plugins."

#: tpl/page_optm/settings_html.tpl.php:147
msgid "This will also add a preconnect to Google Fonts to establish a connection earlier."
msgstr "Isso também adicionará uma pré-conexão ao Google Fonts para estabelecer uma conexão mais cedo."

#: tpl/page_optm/settings_html.tpl.php:91
msgid "Delay rendering off-screen HTML elements by its selector."
msgstr "Atrasar a renderização de elementos HTML fora da tela pelo seletor."

#: tpl/page_optm/settings_css.tpl.php:314
msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."
msgstr "Desative esta opção para gerar CCSS por tipo de post em vez de por página. Isso pode economizar uma quantidade significativa de cota de CCSS, porém pode resultar em estilos CSS incorretos se o seu site usar um construtor de páginas."

#: tpl/page_optm/settings_css.tpl.php:230
msgid "This option is bypassed due to %s option."
msgstr "Esta opção é ignorada devido à opção %s."

#: tpl/page_optm/settings_css.tpl.php:224
msgid "Elements with attribute %s in HTML code will be excluded."
msgstr "Elementos com o atributo %s no código HTML serão excluídos."

#: tpl/page_optm/settings_css.tpl.php:217
msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."
msgstr "Use o serviço on-line do QUIC.cloud para gerar CSS crítico e carregar o restante do CSS de forma assíncrona."

#: tpl/page_optm/settings_css.tpl.php:181
msgid "This option will automatically bypass %s option."
msgstr "Esta opção irá ignorar automaticamente a opção %s."

#: tpl/page_optm/settings_css.tpl.php:178
msgid "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON."
msgstr "Use UCSS embutido para reduzir o carregamento extra de arquivos CSS. Esta opção não será ativada automaticamente para páginas %1$s. Para usá-la em páginas %1$s, defina como ATIVADO."

#: tpl/page_optm/settings_css.tpl.php:155
#: tpl/page_optm/settings_css.tpl.php:160
#: tpl/page_optm/settings_css.tpl.php:292
#: tpl/page_optm/settings_css.tpl.php:297
#: tpl/page_optm/settings_vpi.tpl.php:100
#: tpl/page_optm/settings_vpi.tpl.php:105
msgid "Run %s Queue Manually"
msgstr "Executar a fila %s manualmente"

#: tpl/page_optm/settings_css.tpl.php:93
msgid "This option is bypassed because %1$s option is %2$s."
msgstr "Esta opção é ignorada porque a opção %1$s é %2$s."

#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr "A geração automática de CSS único é feita em segundo plano por meio de uma fila baseada em cron."

#: tpl/page_optm/settings_css.tpl.php:83
msgid "This will drop the unused CSS on each page from the combined file."
msgstr "Isso removerá o CSS não usado em cada página do arquivo combinado."

#: tpl/page_optm/entry.tpl.php:18 tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr "Configurações de HTML"

#: tpl/inc/in_upgrading.php:15
msgid "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."
msgstr "O plugin de cache do LiteSpeed foi atualizado. Atualize a página para concluir a atualização dos dados de configuração."

#: tpl/general/settings.tpl.php:64
msgid "Your %1$s quota on %2$s will still be in use."
msgstr "Sua cota de %1$s em %2$s ainda estará em uso."

#: tpl/general/settings_inc.guest.tpl.php:27
msgid "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."
msgstr "Esta opção pode ajudar a corrigir a variação de cache para certos visitantes avançados de dispositivos móveis ou tablets."

#: tpl/general/settings_inc.guest.tpl.php:26
msgid "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX."
msgstr "O modo visitante fornece uma página de destino sempre passível de ser armazenada em cache para a primeira visita automatizada de um visitante e, em seguida, tenta atualizar o cache de forma variada por meio do AJAX."

#: tpl/general/settings.tpl.php:104
msgid "Please make sure this IP is the correct one for visiting your site."
msgstr "Certifique-se de que este IP seja o correto para visitar o seu site."

#: tpl/general/settings.tpl.php:103
msgid "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."
msgstr "o IP detectado automaticamente pode não ser preciso se você tiver um IP de saída adicional definido ou múltiplos IPs configurados no seu servidor."

#: tpl/general/settings.tpl.php:86
msgid "You need to turn %s on and finish all WebP generation to get maximum result."
msgstr "Você precisa ativar %s e concluir toda a geração de WebP para obter o resultado máximo."

#: tpl/general/settings.tpl.php:79
msgid "You need to turn %s on to get maximum result."
msgstr "Você precisa ativar %s para obter o resultado máximo."

#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr "Esta opção permite a otimização máxima para visitantes no modo visitante."

#: tpl/dash/dashboard.tpl.php:54 tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521 tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625 tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713 tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801 tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr "Mais"

#: tpl/dash/dashboard.tpl.php:301
msgid "Remaining Daily Quota"
msgstr "Cota diária restante"

#: tpl/crawler/summary.tpl.php:246
msgid "Successfully Crawled"
msgstr "Rastreado"

#: tpl/crawler/summary.tpl.php:245
msgid "Already Cached"
msgstr "Já armazenado em cache"

#: tpl/crawler/settings.tpl.php:59
msgid "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."
msgstr "O rastreador usará seu sitemap XML ou índice de sitemap. Digite o URL completo do seu sitemap aqui."

#: tpl/cdn/cf.tpl.php:48
msgid "Optional when API token used."
msgstr "Opcional quando um token de API é usado."

#: tpl/cdn/cf.tpl.php:40
msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."
msgstr "Recomendado para gerar o token a partir do modelo de token da API do Cloudflare \"WordPress\"."

#: tpl/cdn/cf.tpl.php:35
msgid "Global API Key / API Token"
msgstr "Chave de API global / Token de API"

#: tpl/cdn/other.tpl.php:52
msgid "NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s."
msgstr "OBSERVAÇÃO: A CDN do QUIC.cloud e a Cloudflare não usam o mapeamento de CDN. Se você estiver usando apenas o QUIC.cloud ou a Cloudflare, deixe esta configuração como %s."

#: tpl/cdn/other.tpl.php:44
msgid "Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN."
msgstr "Ative esta configuração %s se você estiver usando uma Rede de Distribuição de Conteúdo (CDN) tradicional ou um subdomínio para conteúdo estático com a CDN do QUIC.cloud."

#: tpl/cache/settings_inc.object.tpl.php:47
msgid "Use external object cache functionality."
msgstr "Use a funcionalidade de cache de objetos externos."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:24
msgid "Serve a separate cache copy for mobile visitors."
msgstr "Fornece uma cópia de cache separada para visitantes móveis."

#: thirdparty/woocommerce.content.tpl.php:36
msgid "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."
msgstr "Por padrão, as páginas \"Minha conta\", \"Finalização de compra\" e \"Carrinho\" são automaticamente excluídas do cache. Uma má configuração das associações de páginas nas configurações do WooCommerce pode fazer com que algumas páginas sejam erroneamente excluídas."

#: src/purge.cls.php:312
msgid "Cleaned all Unique CSS files."
msgstr "Todos os arquivos CSS únicos foram limpos."

#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr "Adicionar tamanhos ausentes"

#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr "Otimizar apenas para visitantes"

#: src/lang.cls.php:191
msgid "Guest Mode JS Excludes"
msgstr "Exclusões de JS no modo visitante"

#: src/lang.cls.php:171
msgid "CCSS Per URL"
msgstr "CCSS por URL"

#: src/lang.cls.php:168
msgid "HTML Lazy Load Selectors"
msgstr "Seletores de carregamento tardio HTML"

#: src/lang.cls.php:163
msgid "UCSS URI Excludes"
msgstr "Exclusões de URI UCSS"

#: src/lang.cls.php:160
msgid "UCSS Inline"
msgstr "UCSS embutido"

#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr "Otimização de visitantes"

#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr "Modo visitante"

#: src/error.cls.php:150
msgid "Online node needs to be redetected."
msgstr "O nó on-line precisa ser detectado novamente."

#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr "O servidor atual está sobrecarregado."

#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr "Consulte %s para mais detalhes."

#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr "Esta configuração irá regenerar a lista do rastreadores e limpar a lista de desativados!"

#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr "%1$s %2$s arquivos restantes na fila"

#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr "A lista de rastreadores desativados foi limpa! Todos os rastreadores estão ativos! "

#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr "Nó redetectado"

#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr "Nenhum nó da nuvem disponível após verificar a carga do servidor."

#: src/lang.cls.php:176
msgid "Localization Files"
msgstr "Arquivos de localização"

#: cli/purge.cls.php:234
msgid "Purged!"
msgstr "Limpo!"

#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr "Os recursos listados aqui serão copiados e substituídos por URLs locais."

#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr "Use o commit mais recente do Master GitHub"

#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr "Use o commit mais recente do GitHub Dev"

#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr "Nenhum sitemap válido analisado pelo rastreador."

#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr "Combinar CSS externo e embutido"

#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr "Incluir CSS externo e CSS embutido no arquivo combinado quando %1$s também estiver ativado. Esta opção ajuda a manter as prioridades do CSS, o que deve minimizar possíveis erros causados pela combinação de CSS."

#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr "Minificar arquivos CSS e código CSS embutido."

#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr "A lista predefinida também será combinada com as configurações acima"

#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr "Localização"

#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr "Inclua JS externo e JS embutido no arquivo combinado quando %1$s também estiver ativado. Esta opção ajuda a manter as prioridades de execução de JS, o que deve minimizar possíveis erros causados pela combinação de JS."

#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr "Combinar todos os arquivos JS locais em um único arquivo."

#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr "Os arquivos JS listados ou o código JS embutido não serão adiados ou atrasados."

#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr "Combinar JS externo e embutido"

#: src/admin-display.cls.php:805 tpl/banner/new_version.php:114
#: tpl/banner/score.php:142 tpl/banner/slack.php:49
msgid "Dismiss"
msgstr "Dispensar"

#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr "O arquivo de dados mais recente é"

#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr "A lista será mesclada com os nonces predefinidos em seu arquivo de dados local."

#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr "Combinar arquivos CSS e código CSS embutido."

#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr "Minificar arquivos JS e códigos JS embutidos."

#: tpl/page_optm/settings_tuning.tpl.php:63
msgid "Listed JS files or inline JS code will not be minified or combined."
msgstr "Os arquivos JS listados ou o código JS embutido não serão minificados ou combinados."

#: tpl/page_optm/settings_tuning_css.tpl.php:31
msgid "Listed CSS files or inline CSS code will not be minified or combined."
msgstr "Os arquivos CSS listados ou o código CSS embutido não serão minificados ou combinados."

#: src/admin-display.cls.php:1311
msgid "This value is overwritten by the Network setting."
msgstr "Este valor é substituído pela configuração de rede."

#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr "Exclusões de LQIP"

#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr "Essas imagens não irão gerar um LQIP (Marcador de Imagem de Baixa Qualidade)."

#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr "Tem certeza de que deseja redefinir todas as configurações para as configurações padrão?"

#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr "Esta opção irá remover todas as tags %s do HTML."

#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr "Tem certeza de que deseja limpar todos os nós na nuvem?"

#: src/lang.cls.php:193 tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr "Remover tags Noscript"

#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr "O site não está cadastrado no QUIC.cloud."

#: src/error.cls.php:73 tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144 tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr "Clique aqui para definir."

#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr "Localizar recursos"

#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr "Configurando cabeçalhos personalizados"

#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr "Isso irá excluir todos os recursos localizados"

#: src/gui.cls.php:776 src/gui.cls.php:996 tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr "Recursos localizados"

#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr "Comentários são suportados. Comece uma linha com um %s para transformá-la em uma linha de comentário."

#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr "Apenas fontes HTTPS."

#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr "Localizar recursos externos."

#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr "Configurações de localização"

#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr "Use o serviço on-line do QUIC.cloud para gerar CSS único."

#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr "Gerar UCSS"

#: tpl/dash/dashboard.tpl.php:668 tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr "CSS único"

#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr "Limpar as entradas de cache criadas por este plugin, exceto os caches de CSS crítico, CSS único e LQIP (Marcador de Imagem de Baixa Qualidade)"

#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr "Relatório do LiteSpeed"

#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr "Tamanhos dos grupos de miniaturas de imagens"

#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr "Ignorar determinadas strings de consulta ao armazenar em cache. (Requer LSWS %s)"

#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr "Para URLs com curingas, pode haver um atraso na inicialização da limpeza agendada."

#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr "Por padrão, esta opção pode fornecer conteúdo obsoleto. Não ative esta opção se isso não for ACEITÁVEL para você."

#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr "Fornecer conteúdo obsoleto"

#: src/admin-display.cls.php:1309
msgid "This value is overwritten by the primary site setting."
msgstr "Este valor é substituído pela configuração do site principal."

#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr "Uma ou mais imagens recuperadas não correspondem à imagem notificada com o md5"

#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr "Alguns arquivo(s) de imagem otimizada expiraram e foram apagados."

#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr "Você tem muitas imagens solicitadas. Tente novamente em alguns minutos."

#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr "A imagem WebP recuperada não corresponde ao md5 da imagem WebP notificada."

#: src/img-optm.cls.php:1131
msgid "Pulled AVIF image md5 does not match the notified AVIF image md5."
msgstr "O MD5 da imagem AVIF extraída, não corresponde ao MD5 da imagem AVIF notificada."

#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr "Leia a documentação do LiteSpeed"

#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr "Há uma fila de processamento que ainda não foi concluída. Informações da fila: %s."

#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr "Especificar por quantos segundos os arquivos do Gravatar serão armazenados em cache."

#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr "Foram limpas %1$s imagens inválidas."

#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr "Configurações gerais do LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr "Isso irá excluir todos os arquivos Gravatar em cache"

#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr "Impedir qualquer registro de depuração das páginas listadas."

#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr "Registrar apenas as páginas listadas."

#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr "Especificar o tamanho máximo do arquivo de registro."

#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr "Para evitar encher o disco, esta configuração deve estar DESATIVADA quando tudo estiver funcionando."

#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr "Pressione o botão %s para interromper os testes beta e voltar para a versão atual no diretório de plugins do WordPress."

#: tpl/toolbox/beta_test.tpl.php:65 tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr "Use a versão mais recente do WordPress"

#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr "OU"

#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr "Use esta seção para alternar entre as versões do plugin. Para testar uma versão beta de um commit do GitHub, digite o URL do commit no campo abaixo."

#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr "Redefinir configurações"

#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr "Caixa de ferramentas do LiteSpeed Cache"

#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr "Teste beta"

#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr "Visualização de registros"

#: tpl/toolbox/entry.tpl.php:33 tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr "Configurações de depuração"

#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr "ATIVAR para controlar o monitoramento de atividade (heartbeat) no editor do painel."

#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr "ATIVAR para controlar o monitoramento de atividade (heartbeat) no painel."

#: tpl/toolbox/heartbeat.tpl.php:58 tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr "Defina como %1$s para impedir o monitoramento de atividade (heartbeat) em %2$s."

#: tpl/toolbox/heartbeat.tpl.php:57 tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr "O intervalo válido no WordPress é de %s segundos."

#: tpl/toolbox/heartbeat.tpl.php:56 tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr "Especifique o intervalo do monitoramento de atividade (heartbeat) de %s em segundos."

#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr "ATIVAR para controlar o monitoramento de atividade (heartbeat) na interface."

#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr "Desative o intervalo do monitoramento de atividade (heartbeat) do WordPress para reduzir a carga no servidor."

#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr "Controle de monitoramento de atividade (heartbeat)"

#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr "forneça mais informações aqui para auxiliar a equipe do LiteSpeed na depuração."

#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr "Opcional"

#: tpl/toolbox/report.tpl.php:100 tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr "Gerar link para o usuário atual"

#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr "Link sem senha"

#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr "Informações do sistema"

#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr "Ir para a lista de plugins"

#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr "Instalar o DoLogin Security"

#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr "Verifique meu endereço IP público em"

#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr "Seu IP do servidor"

#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr "Digite o endereço IP deste site para permitir que os serviços em nuvem chamem diretamente o IP em vez do nome de domínio. Isso elimina a sobrecarga de consultas DNS e CDN."

#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr "Isso ativará o cron do rastreador."

#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr "Configurações gerais do rastreador"

#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr "Remover da lista de bloqueio"

#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr "Esvaziar lista de bloqueios"

#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr "Tem certeza de que deseja excluir todos os itens existentes na lista de bloqueio?"

#: tpl/crawler/blacklist.tpl.php:88 tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr "Lista de bloqueio por não ser armazenável em cache"

#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr "Adicionar à lista de bloqueio"

#: tpl/crawler/blacklist.tpl.php:43 tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr "Operação"

#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr "Total de sitemaps"

#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr "Lista de sitemaps"

#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr "Atualizar mapa do rastreador"

#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr "Limpar mapa do rastreador"

#: tpl/crawler/blacklist.tpl.php:28 tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr "Lista de bloqueio"

#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr "Mapa"

#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr "Resumo"

#: tpl/crawler/map.tpl.php:63 tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr "Não encontrado no cache"

#: tpl/crawler/map.tpl.php:62 tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr "Encontrado no cache"

#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr "Aguardando ser rastreado"

#: tpl/crawler/blacklist.tpl.php:89 tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104 tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr "Lista de bloqueio"

#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr "Não encontrado"

#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr "Encontrado"

#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr "Aguardando"

#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr "Executando"

#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr "Use %1$s em %2$s para indicar que esse cookie não foi definido."

#: src/admin-display.cls.php:459
msgid "Add new cookie to simulate"
msgstr "Adicionar novo cookie para simular"

#: src/admin-display.cls.php:458
msgid "Remove cookie simulation"
msgstr "Remover simulação de cookies"

#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr "A regra .htaccess é: %s"

#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr "Mais configurações disponíveis no menu %s"

#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr "O tempo, em segundos, que os arquivos serão armazenados no cache do navegador antes de expirarem."

#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr "Usuários do OpenLiteSpeed, verifiquem isso"

#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr "Configurações de cache do navegador"

#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr "Caminhos de URI contendo essas strings serão forçados a serem armazenados em cache como públicos, independentemente das configurações de não armazenamento em cache."

#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr "Com o CDN QUIC.cloud ativado, você ainda pode estar vendo cabeçalhos de cache do seu servidor local."

#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr "Um segundo parâmetro opcional pode ser usado para especificar o controle de cache. Use um espaço para separar"

#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr "Os nonces acima serão convertidos automaticamente em ESI."

#: tpl/cache/entry.tpl.php:21 tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr "Navegador"

#: tpl/cache/entry.tpl.php:20 tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr "Objeto"

#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr "A porta padrão para %1$s é %2$s."

#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr "Configurações de cache de objetos"

#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr "Especifique um código de status HTTP e o número de segundos para armazenar em cache esta página, separados por um espaço."

#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr "Especifique por quanto tempo, em segundos, a página inicial é armazenada em cache."

#: tpl/cache/entry.tpl.php:67 tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr "TTL"

#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr "Se ATIVADO, uma cópia obsoleta de uma página em cache será mostrada aos visitantes até que uma nova cópia em cache esteja disponível. Isso reduz a carga do servidor para visitas subsequentes. Se DESATIVADO, a página será gerada dinamicamente enquanto os visitantes esperam."

#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr "Trocar"

#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr "Defina isso para anexar %1$s a todas as regras %2$s antes de armazenar em cache o CSS, especificando como as fontes devem ser exibidas ao serem baixadas."

#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr "Lista de avatares na fila aguardando atualização"

#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr "Atualizar o cache do Gravatar através do cron."

#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr "Acelera a velocidade ao armazenar em cache o Gravatar (Avatares Reconhecidos Globalmente)."

#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr "Armazenar o Gravatar localmente."

#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."
msgstr "Falha ao criar a tabela Avatar. Siga as <a %s>Diretrizes de criação de tabela no Wiki do LiteSpeed</a> para concluir a configuração."

#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr "Não serão enviadas solicitações de LQIP para imagens cuja largura e altura sejam ambas menores que essas dimensões."

#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr "pixels"

#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr "Um número maior gerará um marcador de posição de maior qualidade de resolução, mas resultará em arquivos maiores que aumentarão o tamanho da página e consumirão mais pontos."

#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr "Especificar a qualidade ao gerar o \"Marcador de Imagem de Baixa Qualidade\" (LQIP)."

#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr "Mantenha isso desativado para usar marcadores de posição de cor sólida."

#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr "Use o serviço gerador de LQIP (Marcador de Posição de Imagem de Baixa Qualidade) do QUIC.cloud para pré-visualizações de imagens responsivas durante o carregamento."

#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr "Especifique a cor do marcador de posição responsivo em SVG."

#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr "As variáveis %s serão substituídas pela cor de fundo configurada."

#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr "As variáveis %s serão substituídas pelas propriedades correspondentes da imagem."

#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr "Será convertido em um marcador de posição SVG em base64 sob demanda."

#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr "Especifique um arquivo SVG para ser usado como marcador de posição ao gerar localmente."

#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr "Impedir qualquer carregamento tardio das páginas listadas."

#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr "Iframes que tenham esses nomes de classes principal não serão carregados tardiamente."

#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr "Iframes que contenham esses nomes de classes não serão carregados tardiamente."

#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr "Imagens que tenham esses nomes de classes principal não serão carregadas tardiamente."

#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr "Otimização de páginas do LiteSpeed Cache"

#: tpl/page_optm/entry.tpl.php:21 tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr "Exclusões de mídia"

#: tpl/page_optm/entry.tpl.php:16 tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr "Configurações de CSS"

#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr "É recomendável usar %s."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr "Adiado"

#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr "Padrão"

#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr "Isso pode melhorar a velocidade de carregamento da página."

#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr "Ativar automaticamente o pré-carregamento de DNS para todos os URLs no documento, incluindo imagens, CSS, JavaScript e assim por diante."

#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr "A nova versão para desenvolvedores %s já está disponível."

#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr "Nova versão para desenvolvedores disponível!"

#: tpl/banner/cloud_news.tpl.php:51 tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr "Dispensar esta notificação"

#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr "Tweetar isso"

#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr "Pré-visualização doTtweet"

#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr "Saber mais"

#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr "Você acaba de desbloquear uma promoção do QUIC.cloud!"

#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr "A configuração de qualidade de compressão de imagem do WordPress em uma escala de 0 a 100."

#: tpl/img_optm/entry.tpl.php:17 tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19 tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr "Configurações de otimização de imagem"

#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr "Tem certeza de que deseja remover todas as imagens otimizadas?"

#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr "Usar arquivos otimizados"

#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr "Voltar a usar imagens otimizadas em seu site"

#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr "Usar arquivos originais"

#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr "Use imagens originais (não otimizadas) em seu site"

#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr "Você pode alternar rapidamente entre o uso de versões originais (não otimizadas) e arquivos de imagem otimizados. Isso afetará todas as imagens do seu site, tanto as versões regulares quanto as versões WebP, se estiverem disponíveis."

#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr "Ferramentas de otimização"

#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr "Verificar novamente novas miniaturas"

#: tpl/img_optm/summary.tpl.php:289
msgid "Congratulations, all gathered!"
msgstr "Parabéns, todos reunidos!"

#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr "O que é um grupo de imagens?"

#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr "Excluir todos os backups das imagens originais"

#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr "Calcular espaço em disco para backups"

#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr "Status de otimização"

#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr "O limite atual é"

#: tpl/img_optm/summary.tpl.php:68
msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."
msgstr "Para garantir que nosso servidor possa se comunicar com o seu servidor sem problemas e que tudo funcione bem, o número de grupos de imagens permitidos em uma única solicitação é limitado para as primeiras solicitações."

#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr "Você pode solicitar um máximo de %s imagens de uma só vez."

#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr "Otimizar imagens com nosso servidor QUIC.cloud"

#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr "Revisões mais recentes do que este número de dias serão mantidas ao limpar as revisões."

#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr "Dia(s)"

#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr "Especifique o número de revisões mais recentes a serem mantidas ao limpar as revisões."

#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr "Otimização do banco de dados do LiteSpeed Cache"

#: tpl/db_optm/entry.tpl.php:17 tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr "Configurações de otimização do banco de dados"

#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr "Nome da opção"

#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr "Resumo do banco de dados"

#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr "Estamos bem. Nenhuma tabela está usando o mecanismo MyISAM."

#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr "Converter para InnoDB"

#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr "Ferramenta"

#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr "Mecanismo"

#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr "Tabela"

#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr "Conversor de mecanismo de tabela de banco de dados"

#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr "Limpar revisões com mais de %1$s dia(s), excluindo as %2$s revisões mais recentes"

#: tpl/dash/dashboard.tpl.php:87 tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr "Rastreador ativo atualmente"

#: tpl/dash/dashboard.tpl.php:84 tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr "Rastreador(es)"

#: tpl/crawler/map.tpl.php:77 tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr "Status do rastreador"

#: tpl/dash/dashboard.tpl.php:649 tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737 tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr "Forçar cron"

#: tpl/dash/dashboard.tpl.php:646 tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734 tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr "Solicitações na fila"

#: tpl/dash/dashboard.tpl.php:639 tpl/dash/dashboard.tpl.php:683
#: tpl/dash/dashboard.tpl.php:727 tpl/dash/dashboard.tpl.php:771
msgid "Time to execute previous request: %s"
msgstr "Tempo para executar a solicitação anterior: %s"

#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr "Cache privado"

#: tpl/dash/dashboard.tpl.php:58 tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr "Cache público"

#: tpl/dash/dashboard.tpl.php:53 tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr "Status do cache"

#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr "Última recuperação"

#: tpl/dash/dashboard.tpl.php:520 tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr "Resumo da otimização de imagens"

#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr "Atualizar pontuação da página"

#: tpl/dash/dashboard.tpl.php:383 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr "Tem certeza de que deseja redetectar o servidor em nuvem mais próximo para este serviço?"

#: tpl/dash/dashboard.tpl.php:382 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Current closest Cloud server is %s. Click to redetect."
msgstr "O servidor em nuvem mais próximo atual é %s. Clique para redetectar."

#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr "Atualizar o tempo de carregamento da página"

#: tpl/dash/dashboard.tpl.php:354 tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr "Acessar o painel do QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:207 tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr "Marcador de posição de imagem de baixa qualidade"

#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr "Sincronizar dados a partir da nuvem"

#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr "Estatísticas de uso do serviço QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:293 tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr "Total de imagens otimizadas neste mês"

#: tpl/dash/dashboard.tpl.php:292 tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr "Uso total"

#: tpl/dash/dashboard.tpl.php:274 tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr "Estatísticas de uso do PAYG (Pagamento Conforme o Uso)"

#: tpl/dash/dashboard.tpl.php:271 tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr "Saldo PAYG"

#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr "Pague conforme o uso"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr "Uso"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr "Uso de fila rápida"

#: tpl/dash/dashboard.tpl.php:206 tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr "Largura de banda do CDN"

#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr "Painel do LiteSpeed Cache"

#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr "Painel de rede"

#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr "Nenhum serviço em nuvem em uso no momento"

#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr "Clique para limpar todos os nós para uma nova redetecção."

#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr "Nós de nuvem em serviço atualmente"

#: tpl/cdn/qc.tpl.php:126 tpl/cdn/qc.tpl.php:133 tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr "Vincular ao QUIC.cloud"

#: tpl/general/entry.tpl.php:17 tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19 tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr "Configurações gerais"

#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr "Especificar quais atributos de elementos HTML serão substituídos pelo mapeamento de CDN."

#: src/admin-display.cls.php:485
msgid "Add new CDN URL"
msgstr "Adicionar novo URL de CDN"

#: src/admin-display.cls.php:484
msgid "Remove CDN URL"
msgstr "Remover URL do CDN"

#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr "Para ativar a seguinte funcionalidade, ATIVE a API do Cloudflare em \"Configurações de CDN\"."

#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr "QUIC.cloud"

#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr "Configurações do WooCommerce"

#: src/gui.cls.php:788 src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr "Cache de LQIP"

#: src/admin-settings.cls.php:297 src/admin-settings.cls.php:333
msgid "Options saved."
msgstr "Opções salvas."

#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr "Backups removidos."

#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr "Backups calculados."

#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr "%d imagens reexaminadas."

#: src/img-optm.cls.php:1527 src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr "Reexaminadas."

#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr "Todos os dados de otimização foram removidos."

#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr "Dados não concluídos limpos."

#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr "O cron de recuperação está em execução"

#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr "Nenhuma imagem válida encontrada pelo servidor em nuvem na solicitação atual."

#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr "Nenhuma imagem válida encontrada na solicitação atual."

#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr "Enviado %1$s para o servidor em nuvem, aceito %2$s."

#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr "Idade máxima de revisões"

#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr "Número máximo de revisões"

#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr "Exclusões de URI de depuração"

#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr "Inclusões de URI de depuração"

#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr "Atributo HTML para substituir"

#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr "Usar mapeamento CDN"

#: tpl/general/online.tpl.php:100
msgid "QUIC.cloud CDN:"
msgstr "CDN do QUIC.cloud:"

#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr "TTL do monitoramento de atividade (heartbeat) do editor"

#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr "Monitoramento de atividade (heartbeat) do editor"

#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr "TTL do monitoramento de atividade (heartbeat) do painel"

#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr "Controle do monitoramento de atividade (heartbeat) do painel"

#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr "TTL do monitoramento de atividade (heartbeat) da interface"

#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr "Controle do monitoramento de atividade (heartbeat) da interface"

#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr "Caminho .htaccess do painel"

#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr "Caminho do .htaccess da interface"

#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr "Nonces ESI"

#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr "Controle de qualidade de imagem no WordPress"

#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr "Cron de solicitação automática"

#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr "Gerar LQIP em segundo plano"

#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr "Dimensões mínimas do LQIP"

#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr "Qualidade do LQIP"

#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr "Gerador de LQIP na nuvem"

#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr "SVG do marcador de posição responsivo"

#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr "Cor do marcador de posição responsivo"

#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr "Marcador de posição básico de imagem"

#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr "Exclusões de URI para carregamento tardio"

#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr "Exclusões do nome de classes principal de iframes para carregamento tardio"

#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr "Exclusões do nome de classe de iframes para carregamento tardio"

#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr "Exclusões do nome de classe principal da imagem para carregamento tardio"

#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr "TTL do cache do Gravatar"

#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr "Cron de cache do Gravatar"

#: src/gui.cls.php:812 src/gui.cls.php:1032 src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49 tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr "Cache do Gravatar"

#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr "Controle de pré-carregamento de DNS"

#: src/lang.cls.php:173 tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr "Otimização de exibição de fonte"

#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr "Forçar URIs de cache público"

#: src/lang.cls.php:121
msgid "Notifications"
msgstr "Notificações"

#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr "TTL padrão da página de código de status HTTP"

#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr "TTL padrão da REST"

#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr "Ativar cache"

#: src/cloud.cls.php:320 src/cloud.cls.php:377 src/lang.cls.php:106
msgid "Server IP"
msgstr "IP do servidor"

#: src/lang.cls.php:30
msgid "Images not requested"
msgstr "Imagens não solicitadas"

#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr "A sincronização do limite de crédito com o servidor em nuvem foi realizada."

#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr "Falha ao se comunicar com o servidor QUIC.cloud"

#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr "Boas notícias do servidor QUIC.cloud"

#: src/cloud.cls.php:1767 src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr "Mensagem do servidor QUIC.cloud"

#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr "Tente novamente após %1$s para o serviço %2$s."

#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr "Nenhum nó da nuvem disponível."

#: src/cloud.cls.php:1131 src/cloud.cls.php:1144 src/cloud.cls.php:1182
#: src/cloud.cls.php:1250 src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr "Erro na nuvem"

#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr "O banco de dados está sendo atualizado em segundo plano desde %s. Esta mensagem desaparecerá assim que a atualização estiver concluída."

#: src/media.cls.php:541
msgid "Restore from backup"
msgstr "Restaurar a partir do backup"

#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr "Não há backup do arquivo WebP não otimizado."

#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr "Arquivo WebP reduzido em %1$s (%2$s)"

#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr "Atualmente usando a versão original (não otimizada) do arquivo WebP."

#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr "Atualmente usando a versão otimizada do arquivo WebP."

#: src/media.cls.php:464
msgid "Orig"
msgstr "Original"

#: src/media.cls.php:461
msgid "(no savings)"
msgstr "(sem economia)"

#: src/media.cls.php:460
msgid "Orig %s"
msgstr "Original %s"

#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr "Parabéns! Seu arquivo já foi otimizado"

#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr "Não há backup do arquivo original."

#: src/media.cls.php:453 src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr "Usando a versão otimizada do arquivo. "

#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr "Economizado do original %s"

#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr "Arquivo original reduzido em %1$s (%2$s)"

#: src/media.cls.php:421 src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr "Clique para alternar para a versão otimizada."

#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr "Atualmente usando a versão original (não otimizada) do arquivo."

#: src/media.cls.php:420 src/media.cls.php:490
msgid "(non-optm)"
msgstr "(não-otimizada)"

#: src/media.cls.php:417 src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr "Clique para alternar para a versão original (não otimizada)."

#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr "Atualmente usando a versão otimizada do arquivo."

#: src/media.cls.php:416 src/media.cls.php:454 src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr "(otimizada)"

#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr "Pré-visualização de imagem LQIP para tamanho %s"

#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr "LQIP"

#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr "Existia anteriormente na lista de bloqueios"

#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr "Adicionado manualmente à lista de bloqueios"

#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr "Regras do Mobile Agent"

#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr "Sitemap criado: %d itens"

#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr "Sitemap limpo"

#: src/admin-display.cls.php:1512
msgid "Invalid IP"
msgstr "IP inválido"

#: src/admin-display.cls.php:1484
msgid "Value range"
msgstr "Intervalo de valores"

#: src/admin-display.cls.php:1481
msgid "Smaller than"
msgstr "Menor que"

#: src/admin-display.cls.php:1479
msgid "Larger than"
msgstr "Maior que"

#: src/admin-display.cls.php:1473
msgid "Zero, or"
msgstr "Zero, ou"

#: src/admin-display.cls.php:1461
msgid "Maximum value"
msgstr "Valor máximo"

#: src/admin-display.cls.php:1458
msgid "Minimum value"
msgstr "Valor mínimo"

#: src/admin-display.cls.php:1438
msgid "Path must end with %s"
msgstr "O caminho deve terminar com %s"

#: src/admin-display.cls.php:1418
msgid "Invalid rewrite rule"
msgstr "Regra de reescrita inválida"

#: src/admin-display.cls.php:1318
msgid "Currently set to %s"
msgstr "No momento, definido como %s"

#: src/admin-display.cls.php:1305
msgid "This value is overwritten by the PHP constant %s."
msgstr "Este valor é substituído pela constante PHP %s."

#: src/admin-display.cls.php:261
msgid "Toolbox"
msgstr "Caixa de ferramentas"

#: src/admin-display.cls.php:259
msgid "Database"
msgstr "Banco de dados"

#: src/admin-display.cls.php:258 tpl/dash/dashboard.tpl.php:205
#: tpl/dash/network_dash.tpl.php:37 tpl/general/online.tpl.php:83
#: tpl/general/online.tpl.php:133 tpl/general/online.tpl.php:148
msgid "Page Optimization"
msgstr "Otimização de página"

#: src/admin-display.cls.php:251 tpl/dash/entry.tpl.php:16
msgid "Dashboard"
msgstr "Painel"

#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr "Convertido para InnoDB."

#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr "Todos os arquivos do Gravatar foram limpos."

#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr "Todos os arquivos LQIP foram limpos."

#: src/error.cls.php:238
msgid "Unknown error"
msgstr "Erro desconhecido"

#: src/error.cls.php:227
msgid "Your domain has been forbidden from using our services due to a previous policy violation."
msgstr "Seu domínio foi proibido de usar nossos serviços devido a uma violação de política anterior."

#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr "A validação de retorno de chamada para seu domínio falhou. Certifique-se de que não haja nenhum firewall bloqueando nossos servidores. Código de resposta: "

#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr "A validação de retorno de chamada para seu domínio falhou. Certifique-se de que não haja nenhum firewall bloqueando nossos servidores."

#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr "A validação de retorno de chamada para seu domínio falhou, devido a uma incompatibilidade de hash."

#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr "Sua aplicação está aguardando aprovação."

#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr "Solicitação anterior muito recente. Tente novamente após %s."

#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr "Solicitação anterior muito recente. Tente novamente mais tarde."

#: src/error.cls.php:194
msgid "Crawler disabled by the server admin."
msgstr "O rastreador foi desativado pelo administrador do servidor."

#: src/error.cls.php:190
msgid "Failed to create table %1$s! SQL: %2$s."
msgstr "Falha ao criar a tabela %1$s! SQL: %2$s."

#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr "Não foi possível encontrar %1$s em %2$s."

#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr "Os créditos não são suficientes para prosseguir com a solicitação atual."

#: src/error.cls.php:123
msgid "There is proceeding queue not pulled yet."
msgstr "Há uma fila de processamento que ainda não foi concluída."

#: src/error.cls.php:115
msgid "The image list is empty."
msgstr "A lista de imagens está vazia."

#: src/task.cls.php:289
msgid "LiteSpeed Crawler Cron"
msgstr "Cron do rastreador LiteSpeed"

#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr "ATIVAR esta opção para mostrar automaticamente as últimas notícias, incluindo correções urgentes, novos lançamentos, versões beta disponíveis e promoções."

#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr "Para conceder acesso wp-admin à equipe de suporte LiteSpeed, gere um link sem senha para o usuário conectado atualmente ser enviado com o relatório."

#. translators: %s: Link tags
#: tpl/toolbox/report.tpl.php:112
msgid "Generated links may be managed under %sSettings%s."
msgstr "Os links gerados podem ser gerenciados em %sConfigurações%s."

#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr "NÃO compartilhe o link sem senha acima com ninguém."

#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr "Para gerar um link sem senha para acesso à equipe de suporte do LiteSpeed, você deve instalar %s."

#: tpl/banner/cloud_news.tpl.php:30 tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr "Instalar"

#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr "Essas opções estão disponíveis apenas com o LiteSpeed Enterprise Web Server ou o CDN QUIC.cloud."

#: tpl/banner/score.php:74 tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr "Pontuação do PageSpeed"

#: tpl/banner/score.php:62 tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411 tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr "Melhorado por"

#: tpl/banner/score.php:53 tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403 tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr "Depois"

#: tpl/banner/score.php:45 tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395 tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr "Antes"

#: tpl/banner/score.php:40 tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr "Tempo de carregamento da página"

#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr "Para usar as funções de cache, você deve ter um servidor web LiteSpeed ou estar usando o CDN do QUIC.cloud."

#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr "Preservar dados EXIF/XMP"

#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr "Experimentar a versão do GitHub"

#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr "Se você DESATIVAR qualquer uma das configurações acima, remova os tipos de arquivo relacionados da caixa %s."

#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr "Podem ser usadas strings completas e parciais."

#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr "Imagens que contenham esses nomes de classes não serão carregadas tardiamente."

#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr "Exclusões de nome de classe de imagem para carregamento tardio"

#: tpl/cache/settings-cache.tpl.php:139 tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr "Por exemplo, %1$s define um TTL de %2$s segundos para %3$s."

#: tpl/cache/settings-cache.tpl.php:136 tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr "Para definir um TTL personalizado para um URI, adicione um espaço seguido pelo valor TTL ao final do URI."

#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr "Talvez mais tarde"

#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr "Ativar atualização automática"

#: tpl/banner/new_version.php:77 tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr "Atualizar"

#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr "Nova versão %s está disponível agora."

#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr "Nova versão disponível!"

#: tpl/banner/score.php:121
msgid "Created with ❤️ by LiteSpeed team."
msgstr "Criado com ❤️ pela equipe LiteSpeed."

#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr "Claro, adoraria fazer uma avaliação!"

#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr "Obrigado por usar o plugin LiteSpeed Cache!"

#: src/activation.cls.php:570
msgid "Upgraded successfully."
msgstr "Atualizado."

#: src/activation.cls.php:561 src/activation.cls.php:566
msgid "Failed to upgrade."
msgstr "Falha ao atualizar."

#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr "Configuração alterada."

#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr "Exemplo de ESI para desenvolvedores"

#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr "Substitua %1$s por %2$s."

#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr "Você pode transformar shortcodes em blocos ESI."

#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr "WpW: cache privado vs. cache público"

#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr "Anexar a string de consulta %s aos recursos para ignorar esta ação."

#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr "O Google reCAPTCHA será automaticamente ignorado."

#: tpl/crawler/settings.tpl.php:172
msgid "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."
msgstr "Para rastrear um cookie específico, digite o nome do cookie e os valores pelos quais deseja rastrear. Os valores devem ser digitados um por linha. Será criado um rastreador para cada valor de cookie, por função simulada."

#: src/admin-display.cls.php:456 tpl/crawler/settings.tpl.php:179
msgid "Cookie Values"
msgstr "Valores de cookies"

#: src/admin-display.cls.php:455
msgid "Cookie Name"
msgstr "Nome do cookie"

#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr "Simulação de cookie"

#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr "Use a biblioteca de carregamento de fontes da web para carregar Google Fonts de forma assíncrona, mantendo o restante do CSS intacto."

#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr "Deixe esta opção como ATIVADO para que o LiteSpeed Cache seja atualizado automaticamente sempre que uma nova versão for lançada. Se estiver DESATIVADO, atualize manualmente como de costume."

#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr "Atualização automática"

#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr "Seu IP"

#: src/import.cls.php:156
msgid "Reset successfully."
msgstr "Redefinição concluída."

#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr "Isso irá redefinir todas as configurações para as configurações padrão."

#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr "Redefinir todas as configurações"

#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr "Arquivos CSS críticos separados serão gerados para os caminhos que contém essas strings."

#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr "Separar URIs de cache do CCSS"

#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr "Por exemplo, se cada página no site tiver uma formatação diferente, digite %s na caixa. Arquivos CSS críticos separados serão armazenados para cada página no site."

#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr "Liste os tipos de post nos quais cada item desse tipo deve ter seu próprio CCSS gerado."

#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr "Separar tipos de post para o cache do CCSS"

#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr "Lista de tamanho na fila aguardando o cron"

#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr "Se definido como %1$s, antes que o marcador de posição seja localizado, a configuração %2$s será usada."

#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr "Gerar automaticamente LQIP em segundo plano através de uma fila baseada em cron."

#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr "Isso gerará o marcador de posição com as mesmas dimensões da imagem se ela tiver os atributos de largura e altura."

#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr "Marcadores de posição de imagens responsivas podem ajudar a reduzir a reorganização do layout quando as imagens são carregadas."

#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr "Marcador de posição responsivo"

#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr "Isso irá excluir todos os arquivos de marcador de posição de imagem LQIP gerados"

#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr "Ative o LiteSpeed Cache nas configurações do plugin."

#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr "Ative o módulo LSCache no nível do servidor ou consulte seu provedor de hospedagem."

#: src/cloud.cls.php:1633 src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr "Falha ao solicitar através do WordPress"

#. Description of the plugin
#: litespeed-cache.php
msgid "High-performance page caching and site optimization from LiteSpeed"
msgstr "Cache de página de alto desempenho e otimização de site da LiteSpeed"

#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr "Dados otimizados redefinidos."

#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr "Atualizar %s agora"

#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr "Ver detalhes da versão %2$s do %1$s"

#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5:
#. class/aria
#: src/gui.cls.php:1103
msgid "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."
msgstr "<a href=\"%1$s\" %2$s>Ver detalhes da versão %3$s</a> ou <a href=\"%4$s\" %5$s target=\"_blank\">atualizar agora</a>."

#: src/gui.cls.php:1079
msgid "Install %s"
msgstr "Instalar %s"

#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr "As funções de cache do LSCache nesta página estão atualmente indisponíveis!"

#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr "A versão %2$s do plugin %1$s é necessária para esta ação."

#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr "Estamos trabalhando intensamente para melhorar sua experiência de serviço on-line. O serviço estará indisponível durante nosso trabalho. Pedimos desculpas por qualquer inconveniente."

#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr "Remover automaticamente os backups das imagens originais após buscar as imagens otimizadas."

#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr "Remover backups originais"

#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr "Solicitar otimização automática por meio de tarefa cron."

#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr "É feito um backup de cada imagem antes de ser otimizada."

#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr "Imagens alteradas."

#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr "Isso pode melhorar a qualidade, mas pode resultar em imagens maiores do que a compactação com perda de qualidade."

#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr "Otimizar imagens usando compactação sem perda de qualidade."

#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr "Otimizar sem perda de qualidade"

#: tpl/img_optm/settings.media_webp.tpl.php:25
msgid "Request WebP/AVIF versions of original images when doing optimization."
msgstr "Solicitar versões WebP/AVIF das imagens originais ao realizar a otimização."

#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr "Otimizar imagens e salvar backups das originais na mesma pasta."

#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr "Otimizar imagens originais"

#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr "Quando esta opção é ativada %s, ela também carregará o Google Fonts de forma assíncrona."

#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr "Todos os arquivos CSS críticos foram limpos."

#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr "Isso irá embutir a biblioteca CSS assíncrona, para evitar o bloqueio de renderização."

#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr "Biblioteca assíncrona de CSS embutido"

#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr "Executar fila manualmente"

#: tpl/page_optm/settings_css.tpl.php:117
#: tpl/page_optm/settings_css.tpl.php:254 tpl/page_optm/settings_vpi.tpl.php:65
msgid "URL list in %s queue waiting for cron"
msgstr "Lista de URLs na fila %s aguardando o cron"

#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr "Custo da última solicitação."

#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr "Última gerada"

#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr "Se definido como %s, isso é feito em primeiro plano, o que pode retardar o carregamento da página."

#: tpl/page_optm/settings_css.tpl.php:219
msgid "Automatic generation of critical CSS is in the background via a cron-based queue."
msgstr "A geração automática de CSS crítico é realizada em segundo plano por meio de uma fila baseada em cron."

#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr "Otimizar a entrega de CSS."

#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr "Isso irá excluir todos os arquivos de CSS crítico gerados"

#: tpl/dash/dashboard.tpl.php:624 tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr "CSS crítico"

#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr "Este site utiliza o cache para facilitar um tempo de resposta mais rápido e uma melhor experiência do usuário. O cache potencialmente armazena uma cópia duplicada de cada página da web exibida neste site. Todos os arquivos de cache são temporários e nunca são acessados por terceiros, exceto conforme necessário para obter suporte técnico do fornecedor do plugin de cache. Os arquivos de cache expiram conforme programado pelo administrador do site, mas podem ser facilmente eliminados pelo administrador antes da expiração natural, se necessário. Podemos usar os serviços QUIC.cloud para processar e armazenar em cache temporariamente os seus dados."

#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr "Desativar isso pode fazer com que as tarefas do WordPress acionadas por AJAX parem de funcionar."

#: src/utility.cls.php:214
msgid "right now"
msgstr "neste instante"

#: src/utility.cls.php:214
msgid "just now"
msgstr "recentemente"

#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr "Salvo"

#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr "Última execução"

#: tpl/img_optm/settings.tpl.php:66 tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr "Você não poderá reverter a otimização uma vez que os backups forem excluídos!"

#: tpl/img_optm/settings.tpl.php:65 tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr "Isso é irreversível."

#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr "Remover backups de imagens originais"

#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr "Tem certeza de que deseja remover todos os backups de imagens?"

#: tpl/crawler/blacklist.tpl.php:32 tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr "Total"

#: tpl/img_optm/summary.tpl.php:198 tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr "Arquivos"

#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr "Último cálculo"

#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr "Calcular o armazenamento de imagem original"

#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr "Otimização de armazenamento"

#: tpl/img_optm/settings.tpl.php:165
msgid "Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic."
msgstr "Ativar a substituição de WebP/AVIF em elementos %s que foram gerados fora da lógica do WordPress."

#: tpl/cdn/other.tpl.php:141 tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr "Use o formato %1$s ou %2$s (o elemento é opcional)."

#: tpl/cdn/other.tpl.php:137 tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr "Apenas os atributos listados aqui serão substituídos."

#: tpl/img_optm/settings.tpl.php:149
msgid "Specify which element attributes will be replaced with WebP/AVIF."
msgstr "Especificar quais atributos de elementos serão substituídos por WebP/AVIF."

#: src/lang.cls.php:231
msgid "WebP/AVIF Attribute To Replace"
msgstr "Atributo WebP/AVIF a ser substituído"

#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr "Apenas arquivos dentro destes diretórios serão apontados para o CDN."

#: src/lang.cls.php:262
msgid "Included Directories"
msgstr "Diretórios incluídos"

#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr "Um \"Limpar tudo\" será executado quando o WordPress executar esses ganchos."

#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr "Limpar todos os ganchos"

#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr "Todos os caches foram limpos."

#: src/gui.cls.php:696 src/gui.cls.php:861 src/gui.cls.php:916
msgid "LSCache"
msgstr "LSCache"

#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr "Armazenamento em cache forçado"

#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr "Caminhos de URI contendo essas strings serão armazenadas em cache independentemente das configurações de não armazenamento em cache."

#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr "Forçar cache de URIs"

#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr "Configurações de exclusão"

#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr "Isso desativará o LSCache e todos os recursos de otimização para fins de depuração."

#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr "Desativar todos os recursos"

#: src/gui.cls.php:741 src/gui.cls.php:961 tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr "Cache de Opcode"

#: src/gui.cls.php:706 src/gui.cls.php:926 tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr "Cache de CSS/JS"

#: src/gui.cls.php:1055 tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr "Remover todas as solicitações anteriores de otimização de imagem não concluídas."

#: src/gui.cls.php:1056 tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr "Limpar dados não concluídos"

#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr "Junte-se a nós no Slack"

#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr "Junte-se à comunidade %s."

#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr "Deseja se conectar com outros usuários do LiteSpeed?"

#: tpl/cdn/cf.tpl.php:38
msgid "Your API key / token is used to access %s APIs."
msgstr "Sua chave de API / token é usada para acessar APIs de %s."

#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr "Seu endereço de e-mail em %s."

#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr "Usar a funcionalidade da API %s."

#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr "Para randomizar o nome do host do CDN, defina vários nomes de host para os mesmos recursos."

#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr "Junte-se à comunidade do LiteSpeed no Slack"

#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr "Visite o fórum de suporte do LSCWP"

#: src/lang.cls.php:33 tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr "Imagens notificadas a serem recuperadas"

#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr "O que é um grupo?"

#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr "%s imagem"

#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr "%s grupo"

#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr "%s imagens"

#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr "%s grupos"

#: src/crawler.cls.php:1310
msgid "Guest"
msgstr "Visitante"

#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr "Para rastrear o site como um usuário conectado, digite os IDs de usuário a serem simulados."

#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr "Simulação de função"

#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr "executando"

#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr "Tamanho"

#: tpl/crawler/summary.tpl.php:123 tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr "Motivo do término"

#: tpl/crawler/summary.tpl.php:116 tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr "Último intervalo"

#: tpl/crawler/summary.tpl.php:104 tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr "O rastreador atual iniciou em"

#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr "Tempo de execução do rastreador anterior"

#: tpl/crawler/summary.tpl.php:91 tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr "%d segundos"

#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr "Tempo da última execução completa de todos os rastreadores"

#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr "O rastreamento atual do sitemap começou em"

#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr "Salvar transientes no banco de dados quando %1$s está %2$s."

#: src/lang.cls.php:143
msgid "Store Transients"
msgstr "Armazenar transientes"

#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile
#. User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr "Se %1$s for %2$s, então %3$s deve ser preenchido!"

#: tpl/crawler/settings.tpl.php:89
msgid "Server allowed max value: %s"
msgstr "Valor máximo permitido pelo servidor: %s"

#: tpl/crawler/settings.tpl.php:79
msgid "Server enforced value: %s"
msgstr "Valor imposto pelo servidor: %s"

#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104 tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76 tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr "OBSERVAÇÃO"

#. translators: %s: list of server variables in <code> tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr "Variável(is) de servidor %s disponível(eis) para substituir esta configuração."

#: src/admin-display.cls.php:1532 tpl/cache/settings-esi.tpl.php:103
#: tpl/page_optm/settings_css.tpl.php:87 tpl/page_optm/settings_css.tpl.php:223
#: tpl/page_optm/settings_html.tpl.php:131
#: tpl/page_optm/settings_media.tpl.php:258
#: tpl/page_optm/settings_media_exc.tpl.php:36
#: tpl/page_optm/settings_tuning.tpl.php:48
#: tpl/page_optm/settings_tuning.tpl.php:68
#: tpl/page_optm/settings_tuning.tpl.php:89
#: tpl/page_optm/settings_tuning.tpl.php:110
#: tpl/page_optm/settings_tuning.tpl.php:129
#: tpl/page_optm/settings_tuning_css.tpl.php:35
#: tpl/page_optm/settings_tuning_css.tpl.php:96
#: tpl/page_optm/settings_tuning_css.tpl.php:99
#: tpl/page_optm/settings_tuning_css.tpl.php:100
#: tpl/toolbox/edit_htaccess.tpl.php:61 tpl/toolbox/edit_htaccess.tpl.php:79
msgid "API"
msgstr "API"

#: src/purge.cls.php:531
msgid "Reset the entire OPcache successfully."
msgstr "Todo o cache OPcache foi redefinido."

#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr "Arquivo de configuração %s importado."

#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr "A importação falhou devido a um erro no arquivo."

#: tpl/page_optm/settings_css.tpl.php:61 tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr "Como corrigir problemas causados pela otimização de CSS/JS."

#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr "Isso irá gerar solicitações adicionais ao servidor, o que aumentará a carga do servidor."

#: tpl/cache/settings-advanced.tpl.php:71
msgid "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."
msgstr "Quando um visitante passar o mouse sobre um link da página, pré-carregar essa página. Isso acelerará a visita a esse link."

#: src/lang.cls.php:241
msgid "Instant Click"
msgstr "Clique instantâneo"

#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr "Redefinir todo o cache de opcode"

#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr "Isso irá importar configurações de um arquivo e substituir todas as configurações atuais do LiteSpeed Cache."

#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr "Última importação"

#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr "Importar"

#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr "Importar configurações"

#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr "Isso irá exportar todas as configurações atuais do LiteSpeed Cache e salvá-las como um arquivo."

#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr "Última exportação"

#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr "Exportar"

#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr "Exportar configurações"

#: tpl/presets/entry.tpl.php:17 tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr "Importação/exportação"

#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr "Use conexões keep-alive (mantenha ativa) para acelerar as operações de cache."

#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr "Banco de dados a ser usado"

#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr "ID do banco de dados Redis"

#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr "Especifique a senha usada durante a conexão."

#: src/lang.cls.php:137
msgid "Password"
msgstr "Senha"

#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr "Disponível apenas quando %s está instalado."

#: src/lang.cls.php:136
msgid "Username"
msgstr "Nome de usuário"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr "Seu nome de servidor ou endereço IP %s."

#: src/lang.cls.php:132
msgid "Method"
msgstr "Método"

#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr "Limpeza de todos os caches de objetos concluída."

#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr "O cache de objeto não está ativado."

#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr "Melhore a velocidade do wp-admin por meio de cache. (Pode encontrar dados expirados)"

#: src/lang.cls.php:142
msgid "Cache WP-Admin"
msgstr "Cache do WP-Admin"

#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr "Conexão persistente"

#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr "Não armazenar grupos em cache"

#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr "Grupos armazenados em cache no nível da rede."

#: src/lang.cls.php:139
msgid "Global Groups"
msgstr "Grupos globais"

#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr "Teste de conexão"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr "Extensão %s"

#: tpl/cache/settings_inc.object.tpl.php:52 tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr "Status"

#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr "TTL (Tempo de Vida) padrão para objetos em cache."

#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr "Tempo de vida padrão do objeto"

#: src/lang.cls.php:134
msgid "Port"
msgstr "Porta"

#: src/lang.cls.php:133
msgid "Host"
msgstr "Servidor"

#: src/gui.cls.php:729 src/gui.cls.php:949 src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60 tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr "Cache de objetos"

#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr "Reprovado"

#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr "Aprovado"

#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr "Não disponível"

#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr "Limpar todos os caches de objetos"

#: src/cdn/cloudflare.cls.php:275 src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr "Falha ao se comunicar com o Cloudflare"

#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr "A comunicação com o Cloudflare foi bem-sucedida."

#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr "Nenhuma zona Cloudflare disponível"

#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr "O Cloudflare foi notificado para limpar tudo."

#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr "A API do Cloudflare está definida como desativada."

#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr "O Cloudflare foi notificado para definir o modo de desenvolvimento para %s."

#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr "Depois de salvo, ele será correspondido com a lista atual e preenchido automaticamente."

#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr "Você pode simplesmente digitar parte do domínio."

#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr "Domínio"

#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr "API Cloudflare"

#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr "Limpar tudo"

#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr "Cache do Cloudflare"

#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr "O modo de desenvolvimento será desativado automaticamente após três horas."

#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr "Ignorar temporariamente o cache do Cloudflare. Isso permite que as alterações no servidor de origem sejam vistas em tempo real."

#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr "O modo de desenvolvimento será automaticamente desativado em %s."

#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr "O status atual é %s."

#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr "O status atual é %1$s desde %2$s."

#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr "Verificar status"

#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr "DESATIVAR"

#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr "ATIVAR"

#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr "Modo de desenvolvimento"

#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr "Zona do Cloudflare"

#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr "Domínio do Cloudflare"

#: src/gui.cls.php:717 src/gui.cls.php:937 tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr "Cloudflare"

#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr "Por exemplo"

#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr "O pré-carregamento de DNS pode reduzir a latência para os visitantes."

#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr "Pré-carregamento de DNS"

#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr "Adicionando estilo às suas imagens carregadas de forma lenta"

#: src/admin-display.cls.php:1371 src/admin-display.cls.php:1390
#: tpl/cdn/other.tpl.php:108
msgid "Default value"
msgstr "Valor padrão"

#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr "Links de tipos de arquivos estáticos a serem substituídos por links de CDN."

#. translators: %1$s: Example query string, %2$s: Example wildcard
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:34
msgid "For example, to drop parameters beginning with %1$s, %2$s can be used here."
msgstr "Por exemplo, para remover parâmetros começando com %1$s, %2$s pode ser usado aqui."

#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr "Remover string de consulta"

#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr "Ative esta opção se você estiver usando tanto HTTP quanto HTTPS no mesmo domínio e estiver percebendo irregularidades no cache."

#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr "Melhorar a compatibilidade HTTP/HTTPS"

#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr "Remover todas as solicitações/resultados anteriores de otimização de imagem, reverter as otimizações concluídas e excluir todos os arquivos de otimização."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr "Remover todos os dados de otimização"

#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr "Verifique se há novos tamanhos de miniaturas de imagens não otimizadas e reenvie as solicitações de otimização de imagem necessárias."

#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr "Isso aumentará o tamanho dos arquivos otimizados."

#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr "Preservar dados EXIF (direitos autorais, GPS, comentários, palavras-chave, etc) ao otimizar."

#: tpl/toolbox/log_viewer.tpl.php:46 tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr "Limpar registros"

#: src/utility.cls.php:217
msgid " %s ago"
msgstr " %s atrás"

#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr "WebP salvo %s"

#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr "Se você encontrar algum problema, consulte o número do relatório em sua mensagem de suporte."

#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr "Última recuperação iniciada pelo cron às %s."

#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr "As imagens serão recuperadas automaticamente se a tarefa cron estiver em execução."

#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr "Pressione o botão apenas se a tarefa cron de recuperação estiver desativada."

#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr "Recuperar imagens"

#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr "Esse processo é automático."

#: tpl/dash/dashboard.tpl.php:569 tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr "Última solicitação"

#: tpl/dash/dashboard.tpl.php:546 tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr "Imagens recuperadas"

#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr "Relatório"

#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr "Enviar este relatório para o LiteSpeed. Faça referência a este número de relatório ao publicar no fórum de suporte do WordPress."

#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr "Enviar para o LiteSpeed"

#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr "Otimização LiteSpeed"

#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr "Carregar Google Fonts de forma assíncrona"

#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr "TTL do cache do navegador"

#. translators: %s: Link tags
#: tpl/img_optm/summary.tpl.php:337
msgid "Results can be checked in %sMedia Library%s."
msgstr "Os resultados podem ser verificados na %sBiblioteca de mídia%s."

#: src/doc.cls.php:101 tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846 tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93 tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114 tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46 tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr "Saber mais"

#: tpl/img_optm/summary.tpl.php:285
msgid "Image groups total"
msgstr "Total de grupos de imagens"

#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr "Imagens otimizadas e recuperadas"

#: src/lang.cls.php:32 tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr "Imagens solicitadas"

#: src/img-optm.cls.php:1993 src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr "Alternado para o arquivo otimizado."

#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr "Arquivo original restaurado."

#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr "Arquivo WebP ativado."

#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr "Arquivo WebP desativado."

#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr "Melhorar significativamente o tempo de carregamento substituindo imagens por suas versões otimizadas em %s."

#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr "As funções selecionadas serão excluídas do cache."

#: tpl/page_optm/entry.tpl.php:23 tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr "Ajustes"

#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr "As funções selecionadas serão excluídas de todas as otimizações."

#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr "Exclusões de funções"

#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr "Configurações de ajuste"

#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr "Se o slug da tag não for encontrado, a tag será removida da lista ao salvar."

#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr "Se o nome da categoria não for encontrado, a categoria será removida da lista ao salvar."

#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr "Após o servidor de otimização de imagens QUIC.cloud concluir a otimização, ele notificará o seu site para recuperar as imagens otimizadas."

#: tpl/dash/dashboard.tpl.php:537 tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr "Enviar solicitação de otimização"

#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr "Informações de imagens"

#: tpl/dash/dashboard.tpl.php:543 tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr "Redução total"

#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr "Resumo da otimização"

#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr "Otimização de imagens do LiteSpeed Cache"

#: src/admin-display.cls.php:257 src/gui.cls.php:895
#: tpl/dash/dashboard.tpl.php:204 tpl/dash/network_dash.tpl.php:36
#: tpl/general/online.tpl.php:75 tpl/general/online.tpl.php:134
#: tpl/general/online.tpl.php:149 tpl/presets/standard.tpl.php:32
msgid "Image Optimization"
msgstr "Otimização de imagem"

#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr "Por exemplo, %s pode ser usado para um marcador de posição transparente."

#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr "Por padrão, um marcador de posição de imagem em cinza %s será usado."

#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr "Isso também pode ser predefinido em %2$s usando a constante %1$s, com esta configuração tendo prioridade."

#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr "Especifique uma imagem em base64 para ser usada como marcador de posição simples enquanto as imagens terminam de carregar."

#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr "Elementos com o atributo %s no código HTML serão excluídos."

#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr "O filtro %s é suportado."

#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr "As imagens listadas não serão carregadas tardiamente."

#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr "Exclusões de imagens para carregamento tardio"

#: src/gui.cls.php:667
msgid "No optimization"
msgstr "Sem otimização"

#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr "Impedir qualquer otimização das páginas listadas."

#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr "Exclusões de URI"

#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr "Interromper o carregamento dos emojis do WordPress.org. Em vez disso, os emojis padrão do navegador serão exibidos."

#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr "Podem ser usados URLs completos e strings parciais."

#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr "Carregar iframes apenas quando entrarem na janela de visualização (viewport)."

#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr "Carregamento tardio de iframes"

#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr "Isso pode melhorar o tempo de carregamento da página ao reduzir as solicitações HTTP iniciais."

#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr "Carregar imagens apenas quando entrarem na janela de visualização (viewport)."

#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr "Carregamento tardio de imagens"

#: tpl/page_optm/entry.tpl.php:19 tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr "Configurações de mídia"

#: tpl/cache/settings-excludes.tpl.php:46
msgid "For example, for %1$s, %2$s and %3$s can be used here."
msgstr "Por exemplo, para %1$s, %2$s e %3$s podem ser usados aqui."

#: tpl/cache/settings-esi.tpl.php:113 tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr "Caractere curinga %1$s é suportado (corresponde a zero ou mais caracteres). Por exemplo, para corresponder a %2$s e %3$s, use %4$s."

#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr "Para corresponder ao início, adicione %s no início do item."

#. translators: 1: example URL, 2: pattern example
#: src/admin-display.cls.php:1553
msgid "For example, for %1$s, %2$s can be used here."
msgstr "Por exemplo, para %1$s, %2$s pode ser usado aqui."

#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr "Talvez mais tarde"

#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr "Já deixei uma avaliação"

#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr "Boas-vindas ao LiteSpeed"

#: src/lang.cls.php:192 tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr "Remover emojis do WordPress"

#: src/gui.cls.php:677
msgid "More settings"
msgstr "Mais configurações"

#: src/gui.cls.php:654
msgid "Private cache"
msgstr "Cache privado"

#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr "Não armazenável em cache"

#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr "Marcar esta página como "

#: src/gui.cls.php:584 src/gui.cls.php:601
msgid "Purge this page"
msgstr "Limpar esta página"

#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr "Carregar JS de forma adiada"

#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr "Especifique regras de CSS críticas para o conteúdo acima da dobra ao ativar %s."

#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr "Regras de CSS crítico"

#: src/lang.cls.php:170 tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr "Carregar CSS de forma assíncrona"

#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr "Impedir o carregamento do Google Fonts em todas as páginas."

#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr "Remover Google Fonts"

#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175 tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr "Isso pode melhorar sua pontuação de velocidade em serviços como Pingdom, GTmetrix e PageSpeed."

#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr "Remover strings de consulta de recursos estáticos internos."

#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr "Remover strings de consulta"

#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr "agentes de usuário"

#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr "cookies"

#. translators: %s: Link tags
#: tpl/cache/settings_inc.browser.tpl.php:46
msgid "You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s."
msgstr "Você também pode ativar o cache do navegador no painel administrativo do servidor. %sSaiba mais sobre as configurações de cache do navegador LiteSpeed%s."

#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr "O cache do navegador armazena localmente arquivos estáticos no navegador do usuário. Ative essa configuração para reduzir as solicitações repetidas de arquivos estáticos."

#: src/lang.cls.php:109 tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605 tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr "Cache do navegador"

#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr "tags"

#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr "Não armazenar tags em cache"

#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr "Para excluir %1$s, insira %2$s."

#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr "categorias"

#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr "Para impedir que %s sejam armazenados(as) em cache, digite aqui."

#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr "Não armazenar categorias em cache"

#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr "As strings de consulta contendo esses parâmetros não serão armazenadas em cache."

#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr "Não armazenar strings de consulta em cache"

#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr "Os caminhos contendo essas strings não serão armazenados em cache."

#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr "Não armazenar URIs em cache"

#: src/admin-display.cls.php:1559 src/doc.cls.php:128
msgid "One per line."
msgstr "Um(a) por linha."

#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr "Caminhos de URI contendo essas strings NÃO serão armazenados em cache como públicos."

#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr "URIs em cache privado"

#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr "Caminhos contendo essas strings não serão servidos a partir do CDN."

#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr "Excluir caminho"

#: src/lang.cls.php:259 tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr "Incluir tipos de arquivos"

#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr "Sirva todos os arquivos JavaScript por meio do CDN. Isso afetará todos os arquivos JavaScript WP enfileirados."

#: src/lang.cls.php:258
msgid "Include JS"
msgstr "Incluir JS"

#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr "Sirva todos os arquivos de CSS por meio do CDN. Isso afetará todos os arquivos de CSS WP enfileirados."

#: src/lang.cls.php:257
msgid "Include CSS"
msgstr "Incluir CSS"

#: tpl/cdn/other.tpl.php:87
msgid "Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes."
msgstr "Sirva todos os arquivos de imagem por meio do CDN. Isso afetará todos os anexos, tags HTML %1$s e atributos CSS %2$s."

#: src/lang.cls.php:256
msgid "Include Images"
msgstr "Incluir imagens"

#: src/admin-display.cls.php:482
msgid "CDN URL to be used. For example, %s"
msgstr "URL do CDN a ser usado. Exemplo: %s"

#: src/lang.cls.php:255
msgid "CDN URL"
msgstr "URL do CDN"

#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr "URL do site a ser servido através do CDN. Começando com %1$s. Por exemplo, %2$s."

#: src/lang.cls.php:261
msgid "Original URLs"
msgstr "URLs originais"

#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr "Configurações de CDN"

#: src/admin-display.cls.php:256
msgid "CDN"
msgstr "CDN"

#: src/admin-display.cls.php:487 src/admin-display.cls.php:1168
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.object.tpl.php:280 tpl/cdn/other.tpl.php:53
#: tpl/dash/dashboard.tpl.php:69 tpl/dash/dashboard.tpl.php:462
#: tpl/dash/dashboard.tpl.php:584 tpl/dash/dashboard.tpl.php:613
#: tpl/img_optm/settings.media_webp.tpl.php:22
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_js.tpl.php:77
#: tpl/page_optm/settings_media.tpl.php:180
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "OFF"
msgstr "DESATIVADO"

#: src/admin-display.cls.php:486 src/admin-display.cls.php:1167
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: src/doc.cls.php:41 tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.cache_mobile.tpl.php:91 tpl/cdn/other.tpl.php:45
#: tpl/crawler/settings.tpl.php:138 tpl/dash/dashboard.tpl.php:67
#: tpl/dash/dashboard.tpl.php:460 tpl/dash/dashboard.tpl.php:582
#: tpl/dash/dashboard.tpl.php:611 tpl/page_optm/settings_css.tpl.php:220
#: tpl/page_optm/settings_media.tpl.php:176
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "ON"
msgstr "ATIVADO"

#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr "Servidor Web LiteSpeed notificado para limpar entradas CSS/JS."

#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr "Minificar conteúdo HTML."

#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr "Minificar HTML"

#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr "Exclusões de JS"

#: src/lang.cls.php:165
msgid "JS Combine"
msgstr "Combinar JS"

#: src/lang.cls.php:164
msgid "JS Minify"
msgstr "Minificar JS"

#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr "Exclusões de CSS"

#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr "Combinar CSS"

#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr "Minificar CSS"

#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr "Teste minuciosamente ao ativar qualquer opção nesta lista. Após alterar as configurações de Minificar/Combinar, execute uma ação de \"Limpar tudo\"."

#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr "Isso irá limpar todas as entradas de CSS/JS minificadas/combinadas apenas"

#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr "Limpar erro %s"

#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr "Otimizador de banco de dados"

#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr "Otimizar todas as tabelas em seu banco de dados"

#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr "Otimizar tabelas"

#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr "Limpar todas as opções de transientes"

#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr "Todos os transientes"

#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr "Limpar opções de transientes expirados"

#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr "Transientes expirados"

#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr "Limpar todos os trackbacks e pingbacks"

#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr "Trackbacks/Pingbacks"

#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr "Limpar todos os comentários da lixeira"

#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr "Comentários na lixeira"

#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr "Limpar todos os comentários de spam"

#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr "Comentários de spam"

#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr "Limpar todos os posts e páginas da lixeira"

#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr "Posts na lixeira"

#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr "Limpar todos os rascunhos automáticos salvos"

#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr "Rascunhos automáticos"

#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr "Limpar todas as revisões de posts"

#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr "Revisões de posts"

#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr "Limpar tudo"

#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr "Todas as tabelas otimizadas."

#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr "Todos os transientes foram limpos."

#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr "Transientes expirados limpos."

#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr "Trackbacks e pingbacks limpos."

#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr "Comentários excluídos limpos."

#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr "Comentários de spam limpos."

#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr "Posts e páginas excluídas limpos."

#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr "Rascunhos automáticos limpos."

#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr "Revisões de posts limpas."

#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr "Tudo limpo."

#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr "TTL padrão de cache privado"

#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr "Se o seu site contém conteúdo público que determinadas funções de usuário podem ver, mas outras não, você pode especificar um \"Grupo de variação\" para essas funções de usuário. Por exemplo, especificar um grupo de variação para administradores permite que haja uma página separada publicamente armazenada em cache, adaptada para administradores (com links de \"editar\", etc.), enquanto todas as outras funções de usuário veem a página pública padrão."

#: src/lang.cls.php:238 tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277 tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr "Grupo de variação"

#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr "Armazena em cache o bloco ESI do formulário de comentários integrado."

#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr "Cache do formulário de comentários"

#: tpl/cache/settings-esi.tpl.php:72
msgid "Cache the built-in Admin Bar ESI block."
msgstr "Armazena em cache o bloco ESI da barra administrativa integrada."

#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr "Cache da barra de administração"

#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr "ATIVAR para armazenar em cache as páginas públicas para usuários conectados e servir a barra de administração e o formulário de comentários por meio de blocos ESI. Esses dois blocos não serão armazenados em cache, a menos que estejam ATIVADOS abaixo."

#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr "ESI permite que você designe partes da sua página dinâmica como fragmentos separados, que são então montados para criar a página inteira. Em outras palavras, o ESI permite que você \"abra espaços\" em uma página e, em seguida, preencha esses espaços com conteúdo que pode ser armazenado em cache de forma privada, armazenado em cache publicamente com seu próprio tempo de vida (TTL) ou não armazenado em cache de forma alguma."

#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr "Com ESI (Edge Side Includes), as páginas podem ser servidas em cache para usuários conectados."

#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr "Privado"

#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr "Público"

#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr "Configurações de limpeza"

#: src/lang.cls.php:126 tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr "Cache móvel"

#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr "O nível avançado irá registrar mais detalhes."

#: tpl/presets/standard.tpl.php:29 tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr "Básico"

#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr "A carga média máxima permitida no servidor durante o rastreamento. O número de threads do rastreador em uso será reduzido ativamente até que a carga média do servidor caia abaixo desse limite. Se isso não puder ser alcançado com uma única thread, a execução atual do rastreador será encerrada."

#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr "Cache da página de acesso"

#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr "Solicitações de cache feitas por chamadas à API REST do WordPress."

#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr "Cache da API REST"

#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr "Armazenar em cache de forma privada os comentaristas que têm comentários pendentes. Desativar esta opção exibirá páginas não armazenáveis para os comentaristas. (Requer LSWS %s)"

#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr "Cache de comentaristas"

#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr "Armazenar em cache de forma privada as páginas de interface para usuários conectados. (Requer LSWS %s)"

#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr "Cache de usuários conectados"

#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr "Configurações de controle de cache"

#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr "ESI"

#: tpl/cache/entry.tpl.php:19 tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr "Exclusões"

#: tpl/cache/entry.tpl.php:18 tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16 tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr "Limpeza"

#: src/admin-display.cls.php:255 tpl/cache/entry.tpl.php:17
#: tpl/cache/entry.tpl.php:66
msgid "Cache"
msgstr "Cache"

#: tpl/inc/show_rule_conflict.php:16
msgid "Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)"
msgstr "Regra de cache inesperada %2$s encontrada no arquivo %1$s. Essa regra pode fazer com que os visitantes vejam versões antigas das páginas devido ao cache do navegador de páginas HTML. Se você tem certeza de que as páginas HTML não estão sendo armazenadas em cache no navegador, esta mensagem pode ser ignorada. (%3$sSaiba mais%4$s)"

#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr "A hora atual do servidor é %s."

#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr "Especifique a hora para limpar a lista \"%s\"."

#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr "Ambos %1$s e %2$s são aceitáveis."

#: src/lang.cls.php:148 tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr "Horário de limpeza agendada"

#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr "Os URLs aqui (um por linha) serão automaticamente limpos no horário definido na opção \"%s\"."

#: src/lang.cls.php:147 tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr "URLs de limpeza agendada"

#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr "Reduzir os parâmetros da consulta no registro de depuração para melhorar a legibilidade."

#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr "Heartbeat"

#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr "MB"

#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr "Limite de tamanho do arquivo de registro"

#: src/htaccess.cls.php:784
msgid "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"
msgstr "<p>Adicione/substitua os seguintes códigos no início de %1$s:</p> %2$s"

#: src/error.cls.php:158 src/error.cls.php:182
msgid "%s file not writable."
msgstr "%s arquivo não gravável."

#: src/error.cls.php:178
msgid "%s file not readable."
msgstr "%s arquivo não legível."

#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr "Recolher strings de consulta"

#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr "Configurações ESI"

#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr "Um TTL de 0 indica para não armazenar em cache."

#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr "Valor recomendado: 28.800 segundos (8 horas)."

#: tpl/esi_widget_edit.php:71
msgid "Widget Cache TTL"
msgstr "TTL do cache de widgets"

#: src/lang.cls.php:234 tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr "Ativar ESI"

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:66
msgid "See %sIntroduction for Enabling the Crawler%s for detailed information."
msgstr "Consulte %sIntrodução para ativar o rastreador%s para informações detalhadas."

#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr "Sitemap personalizado"

#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr "Limpar páginas por URL relativo ou completo."

#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr "O recurso de rastreador não está ativado no servidor LiteSpeed. Consulte o administrador do servidor ou o provedor de hospedagem."

#: tpl/cache/settings-esi.tpl.php:45 tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60 tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77 tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr "ATENÇÃO"

#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr "O próximo rastreamento completo do sitemap vai iniciar em"

#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr "Falha ao gravar em %s."

#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr "A pasta não é gravável: %s."

#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr "Não é possível criar a pasta: %1$s. Erro: %2$s"

#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr "A pasta não existe: %s"

#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr "O LiteSpeed Web Server foi notificado para limpar a lista com sucesso."

#. translators: %s: Link tags
#: tpl/cache/settings-cache.tpl.php:36
msgid "Please visit the %sInformation%s page on how to test the cache."
msgstr "Acesse a página de %sInformações%s para saber como testar o cache."

#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr "Permite que os IPs listados (um por linha) executem certas ações a partir de seus navegadores."

#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr "Limite de carga do servidor"

#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr "Especifique por quantos segundos o rastreador deve esperar antes de iniciar o rastreamento completo do sitemap novamente."

#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr "Intervalo de rastreamento"

#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr "Em seguida, outro WordPress é instalado (NÃO MULTISITE) em %s"

#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr "Configurações de cache em rede do LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr "Selecione abaixo as opções de \"Limpar por\"."

#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr "CDN do LiteSpeed Cache"

#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr "Nenhum arquivo de metadados do rastreador foi gerado ainda"

#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr "Mostrar o status do rastreador"

#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr "Acompanhar o status do rastreador"

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:261
msgid "Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task."
msgstr "Consulte %sConectando o WP-Cron ao agendador de tarefas do sistema%s para aprender como criar a tarefa cron do sistema."

#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr "A frequência de execução é definida pela configuração do intervalo entre as execuções."

#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr "Executar manualmente"

#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr "Redefinir posição"

#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr "Frequência de execução"

#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr "Nome do cron"

#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr "Cron do rastreador"

#: cli/crawler.cls.php:100 tpl/crawler/summary.tpl.php:47
msgid "%d minute"
msgstr "%d minuto"

#: cli/crawler.cls.php:98 tpl/crawler/summary.tpl.php:47
msgid "%d minutes"
msgstr "%d minutos"

#: cli/crawler.cls.php:91 tpl/crawler/summary.tpl.php:39
msgid "%d hour"
msgstr "%d hora"

#: cli/crawler.cls.php:89 tpl/crawler/summary.tpl.php:39
msgid "%d hours"
msgstr "%d horas"

#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr "Gerado em %s"

#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr "Rastreador do LiteSpeed Cache"

#. translators: %s: Link tags
#: tpl/inc/show_display_installed.php:37
msgid "If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s."
msgstr "Se houver alguma dúvida, a equipe sempre terá prazer em responder às perguntas no %sfórum de suporte%s."

#: src/admin-display.cls.php:260 src/lang.cls.php:267
msgid "Crawler"
msgstr "Rastreador"

#. Plugin URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"
msgstr "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"

#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr "Servidor Web LiteSpeed notificado para limpar todas as páginas."

#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr "Todas as páginas com o widget de posts recentes"

#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr "Páginas"

#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr "Isso irá limpar apenas as páginas"

#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr "Limpar páginas"

#: src/gui.cls.php:133 tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr "Cancelar"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate"
msgstr "Desativar"

#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr "Ativar"

#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr "Endereço de e-mail"

#: src/gui.cls.php:1080
msgid "Install Now"
msgstr "Instalar agora"

#: cli/purge.cls.php:182
msgid "Purged the URL!"
msgstr "Limpar o URL!"

#: cli/purge.cls.php:133
msgid "Purged the blog!"
msgstr "Limpar o blog!"

#: cli/purge.cls.php:86
msgid "Purged All!"
msgstr "Limpar tudo!"

#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr "Servidor Web LiteSpeed notificado para limpar páginas de erro."

#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr "Se estiver usando o OpenLiteSpeed, o servidor deve ser reiniciado uma vez para que as alterações tenham efeito."

#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr "Se o cookie de acesso foi alterado recentemente nas configurações, desconecte e volte a acessar."

#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr "No entanto, não há maneira de saber todas as possíveis personalizações que foram implementadas."

#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr "O plugin LiteSpeed Cache é usado para armazenar em cache páginas - uma maneira simples de melhorar o desempenho do site."

#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr "A configuração do administrador de rede pode ser substituída aqui."

#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr "Especifique por quanto tempo, em segundos, as páginas públicas são armazenadas em cache."

#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr "Especifique por quanto tempo, em segundos, as páginas privadas são armazenadas em cache."

#: tpl/cache/network_settings-cache.tpl.php:29
msgid "It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first."
msgstr "É ALTAMENTE recomendável que a compatibilidade com outros plugins em um único ou alguns sites seja testada primeiro."

#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr "Limpar páginas por ID de post."

#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr "Limpar as entradas de cache LiteSpeed criadas por este plugin"

#: tpl/toolbox/purge.tpl.php:33
msgid "Purge %s error pages"
msgstr "Limpar páginas de erro %s"

#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr "Isso irá limpar apenas a página inicial"

#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr "Limpar páginas por nome da tag - por exemplo, %2$s deve ser usado para o URL %1$s."

#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr "Limpar páginas por nome de categoria - exemplo: %2$s deve ser usado para o URL %1$s."

#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr "Se apenas o site WordPress deve ser limpo, use \"Limpar tudo\"."

#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr "O LiteSpeed Web Server foi notificado para limpar tudo com sucesso."

#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr "Usar a configuração do site principal"

#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr "Isso irá desativar a página de configurações em todos os subsites."

#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr "Marque esta opção para usar a configuração do site principal para todos os subsites."

#: src/admin-display.cls.php:998 src/admin-display.cls.php:1003
msgid "Save Changes"
msgstr "Salvar alterações"

#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr "As seguintes opções estão selecionadas, mas não são editáveis nesta página de configurações."

#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr "O administrador da rede selecionou usar configurações do site principal para todos os subsites."

#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr "Esvaziar todo o cache"

#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr "Essa ação deve ser usada apenas se as coisas estiverem sendo armazenadas em cache de forma incorreta."

#: tpl/toolbox/purge.tpl.php:137
msgid "Clears all cache entries related to this site, including other web applications."
msgstr "Limpa todas as entradas de cache relacionadas a este site, incluindo outras aplicações web."

#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr "Isso pode gerar uma grande demanda no servidor."

#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr "Isso irá limpar TODOS os conteúdos do cache."

#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr "Limpar tudo no LiteSpeed Cache"

#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr "Se você preferir não se mover na velocidade da luz, pode desativar este plugin."

#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr "Crie um post e certifique-se de que a página inicial esteja correta."

#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr "Visite o site enquanto estiver desconectado."

#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr "Exemplos de casos de teste incluem:"

#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr "Por esse motivo, teste o site para garantir que tudo continue funcionando corretamente."

#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr "Esta mensagem indica que o plugin foi instalado pelo administrador do servidor."

#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr "O plugin de cache do LiteSpeed está instalado!"

#: src/lang.cls.php:275 tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr "Registro de depuração"

#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr "Apenas IP do Admin"

#: tpl/toolbox/settings-debug.tpl.php:84
msgid "The Admin IP option will only output log messages on requests from admin IPs listed below."
msgstr "A opção de IP do administrador só irá gerar mensagens de registro nas solicitações dos IPs do administrador listados abaixo."

#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr "Especifique por quanto tempo, em segundos, as chamadas da REST são armazenadas em cache."

#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr "O relatório do ambiente contém informações detalhadas sobre a configuração do WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr "O servidor determinará se o usuário está conectado com base na existência deste cookie."

#: tpl/cache/settings-purge.tpl.php:53 tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr "Observação"

#. translators: %s: link attributes
#: thirdparty/woocommerce.content.tpl.php:30
msgid "To test the cart, visit the %sFAQ%s."
msgstr "Para testar o carrinho, acesse as %sperguntas frequentes%s."

#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr "Após verificar que o cache funciona de forma geral, teste o carrinho."

#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr "Quando ativado, o cache será automaticamente limpo quando qualquer plugin, tema ou o núcleo do WordPress for atualizado."

#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr "Limpar tudo na atualização"

#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr "Intervalo de atualização do produto"

#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr "Determina como as alterações na quantidade de produtos e no status de estoque dos produtos afetam as páginas de produtos e suas páginas de categoria associadas."

#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr "Sempre limpar tanto o produto quanto as categorias em caso de alterações na quantidade ou status do estoque."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr "Não limpar categorias em caso de alterações na quantidade ou status do estoque."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr "Limpar produto apenas quando o status do estoque mudar."

#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr "Limpar produto e categorias apenas quando o status do estoque mudar."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr "Limpar categorias apenas quando o status do estoque mudar."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr "Limpar produto em caso de alterações na quantidade ou status do estoque."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr "O arquivo .htaccess não correspondeu à opção de configuração."

#: tpl/cache/settings-ttl.tpl.php:75 tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr "Se isso for definido como um número menor que 30, os feeds não são armazenados em cache."

#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr "Especifique por quanto tempo, em segundos, os feeds são armazenados em cache."

#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr "TTL padrão do feed"

#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr "Falha ao obter o conteúdo do arquivo %s."

#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr "Desativar esta opção pode afetar negativamente o desempenho."

#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr "Cookie de acesso inválido. Encontrados caracteres inválidos."

#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr "ATENÇÃO: O cookie de acesso do .htaccess e o cookie de acesso do banco de dados não correspondem."

#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr "Cookie de acesso inválido. Verifique o arquivo %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr "O cache precisa distinguir quem está conectado a qual site do WordPress para armazenar em cache corretamente."

#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr "Há uma instalação do WordPress para %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr "Exemplo de caso de uso:"

#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr "O cookie definido aqui será usado para esta instalação do WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr "Se todas as aplicações web usarem o mesmo cookie, o servidor pode ficar confuso sobre se um usuário está conectado ou não."

#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr "Essa configuração é útil para aqueles que têm várias aplicações web para o mesmo domínio."

#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr "O cookie de acesso padrão é %s."

#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr "Cookie de acesso"

#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr "Mais informações sobre os comandos disponíveis podem ser encontradas aqui."

#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr "Essas configurações são destinadas APENAS PARA USUÁRIOS AVANÇADOS."

#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr "Conteúdo atual de %s"

#: tpl/cache/entry.tpl.php:22 tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr "Avançado"

#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr "Configurações avançadas"

#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr "Limpar lista"

#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr "Limpar por..."

#: tpl/crawler/blacklist.tpl.php:41 tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr "URL"

#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr "Tag"

#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr "ID do post"

#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr "Categoria"

#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr "NOTIFICAÇÃO: O cookie de acesso do banco de dados não corresponde ao seu cookie de acesso."

#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr "Limpar URL %s"

#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr "Limpar tag %s"

#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr "Limpar categoria %s"

#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr "Ao desativar o cache, todas as entradas em cache deste site serão eliminadas."

#: tpl/cache/settings-cache.tpl.php:42 tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133 tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42 tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr "NOTIFICAÇÃO"

#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr "Esta configuração irá editar o arquivo .htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr "Visualização do LiteSpeed Cache .htaccess"

#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr "Falha ao fazer backup do arquivo %s, alterações abortadas."

#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr "Não armazenar cookies em cache"

#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr "Não armazenar agentes de usuário em cache"

#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr "Isso é para garantir a compatibilidade antes de ativar o cache para todos os sites."

#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr "Ativar cache de rede"

#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23 tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24 tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr "NOTIFICAÇÃO:"

#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr "As outras caixas de seleção serão ignoradas."

#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr "Selecione \"Tudo\" se houver widgets dinâmicos vinculados a posts em páginas diferentes da página inicial ou principal."

#: src/lang.cls.php:127 tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr "Lista de agentes de usuários móveis"

#: src/file.cls.php:168 src/file.cls.php:172
msgid "File %s is not writable."
msgstr "O arquivo %s não é gravável."

#: tpl/page_optm/entry.tpl.php:17 tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr "Configurações de JS"

#: src/gui.cls.php:874 tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr "Gerenciar"

#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr "TTL padrão da página inicial"

#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr "Servidor Web LiteSpeed ​​notificado para limpar a página inicial."

#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr "Limpar página inicial"

#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr "Exemplo"

#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr "Todas as tags são armazenadas em cache por padrão."

#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr "Todas as categorias são armazenadas em cache por padrão."

#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr "Para fazer uma correspondência exata, adicione %s ao final do URL."

#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr "Os URLs serão comparados à variável de servidor REQUEST_URI."

#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr "Selecione apenas os tipos de arquivo usados ​​atualmente; os outros podem ser deixados desmarcados."

#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr "Observações"

#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr "Usar configuração de administrador de rede"

#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr "Desativar"

#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr "A ativação do LiteSpeed Cache para WordPress aqui ativa o cache para a rede."

#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr "Desativado"

#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr "Ativado"

#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr "Não armazenar funções em cache"

#. Author URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com"
msgstr "https://www.litespeedtech.com"

#. Author of the plugin
#: litespeed-cache.php
msgid "LiteSpeed Technologies"
msgstr "LiteSpeed Technologies"

#. Plugin Name of the plugin
#: litespeed-cache.php tpl/banner/new_version.php:57
#: tpl/banner/new_version_dev.tpl.php:21 tpl/cache/more_settings_tip.tpl.php:28
#: tpl/esi_widget_edit.php:41 tpl/inc/admin_footer.php:17
msgid "LiteSpeed Cache"
msgstr "LiteSpeed Cache"

#: src/lang.cls.php:277
msgid "Debug Level"
msgstr "Nível de depuração"

#: tpl/general/settings.tpl.php:72 tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86 tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr "Notificação"

#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr "Arquivo de termos (incluindo categoria, tag e taxonomia)"

#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr "Arquivo diário"

#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr "Arquivo mensal"

#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr "Arquivo anual"

#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr "Arquivo de tipo de post"

#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr "Arquivo do autor"

#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr "Página inicial"

#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr "Página principal"

#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr "Todas as páginas"

#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr "Selecione quais páginas serão automaticamente limpas quando posts forem publicados/atualizados."

#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr "Regras automáticas de limpeza para Publicar/Atualizar"

#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr "TTL padrão de cache público"

#: src/admin-display.cls.php:1345 tpl/cache/settings_inc.object.tpl.php:162
#: tpl/crawler/settings.tpl.php:43 tpl/esi_widget_edit.php:78
msgid "seconds"
msgstr "segundos"

#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr "IPs de administrador"

#: src/admin-display.cls.php:254
msgid "General"
msgstr "Geral"

#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr "Configurações do LiteSpeed Cache"

#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr "Servidor Web LiteSpeed ​​notificado para limpar todas as entradas LSCache."

#: src/gui.cls.php:686 src/gui.cls.php:696 src/gui.cls.php:706
#: src/gui.cls.php:717 src/gui.cls.php:729 src/gui.cls.php:741
#: src/gui.cls.php:753 src/gui.cls.php:765 src/gui.cls.php:776
#: src/gui.cls.php:788 src/gui.cls.php:800 src/gui.cls.php:812
#: src/gui.cls.php:906 src/gui.cls.php:916 src/gui.cls.php:926
#: src/gui.cls.php:937 src/gui.cls.php:949 src/gui.cls.php:961
#: src/gui.cls.php:973 src/gui.cls.php:985 src/gui.cls.php:996
#: src/gui.cls.php:1008 src/gui.cls.php:1020 src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47 tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64 tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82 tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100 tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118 tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr "Limpar tudo"

#: src/admin-display.cls.php:548 src/gui.cls.php:884
#: tpl/crawler/entry.tpl.php:17
msgid "Settings"
msgstr "Configurações"

#: tpl/banner/score.php:122
msgid "Support forum"
msgstr "Fórum de suporte"PKd^�\�ꔂ����%translations/litespeed-cache-pl_PL.monu�[�������,y�Y�w�w�w�w�w2x9xLxTx
]x	hx
rx
}x�x�x�x�x�x	�x�x	�xy.yEy
Ry]ydyhsyN�yg+z\�zo�zb`{e�{a)|=�|d�|�.}w�}�)~"�~7�~.#4R �
��H��&�8�H�c�'t�
��	������Ԁ%��|�F��
ց.�0�A�%P�	v�"����PÂ�T#�Zx�>Ӄ�/�4<�-q�/��qτLA�2��I��*�J6�����#����҆���
	��Q)�O{�ˇs�EU�P��8�0%�V�'s�����̉3���4�$;�S`�	��	��Ȋ Ԋ"��/�*H�s�
{��������48��m�f:�����ƍʍ
ٍ'�
��*�#2�V�g�s���
������֎������	4�>�T�
e�p�}�����8��&�0�'9�*a�S��� �� �(?�h�o� x������?�L�Wd�K��%�	.�8�J�c�$�����Փ"��",�O�!j�����&̔&�"�G=�!��,��$ԕ+��%�E�a�y���'��(Ֆ��'�,�
C�N�Pk���ӗ1�
�%&�2L����V��^�
M�X�g���������̙&�.
�N9�*��/��V�]:�L�����$� =�^�!p�����
����ǜ�����!�-�%<�Bb�
�����4:�&o�6��͞ڞ	����6*�a�|������� ۟"���5�N�/b�/��* <�<*�7g�����ǡ֡���
�	$�.�7�J�[�{���
������
΢ܢ	����*�=�
E�S�d�!{�����ϣ����)�
H�V��_�9�?�)G�Mq���+ݥ}	���D��8ݦ��!3�
U�c�z�;���§�� �� ��K̨8�Q�l�t�������ʩީ����0�CI�����H����

��<"�_�y���9��9٬
�!�4�D�X�
e�p�����,��^�qH���®�N�Q�^��e�(��
!�,�I�h���������۰������,�4�+;�%g�,��s��'.�V�j�"��%��Ӳ�&�-�D�U�n���6��(������5�LO���9��:�6�-T����K�Wk�öԶ
����O&�
v�������˷ӷ��
�Q-��2��¸Ҹ
�'��#�>� Q�0r�����ƹ#ٹ��
��!%�G�b��}��*�=�W�j���
����	����Bͻ
��#�	'�1�26�Zi�,ļ��-!��O�/'�iW�:��;��Y8�K��V޿U5�L��f�B?�Y��:���V��`��JV�g��x	�=��@��=�?�Q�d�������
��<��?�U�j�������?����� .�&O� v�D����l��GU����/�;�N�
]��h��(�����4��O���
����
'�
5�/@�/p���k��<!�
^�i�(����
������	���c�u�����.����
����
��6�C�hb���A������	�����������'�:�
G�
U�c�r�
��
��"��������$��+�E�#W�{�*����������
��
9�$D�(i�����C���P!�Fr�F��E�@F�2��B��C��>A�"��&������%���,�%F� l�"��&����!���+� D�e�}�>��2��$�3�J�Y�p�������d��$� <�]�/n�.����������3�G�[�d�q���������������
����	��$�3�R�%Y��$��
�������������@�
I�%W�}�������$�>,�k�}� ����*�� ����21�d�}�"��*��*��"�"6�	Y�c�s�<��,��$���
�
&�4�QD�������
��.��?��6%�;\�1��3��2��61�0h�������$����������
�Q'�2y�Q��D��
C�Q�#a�-��$��?����/�7������%�	5�?�G�X�h�|�������������$
�2�EK�+��*������
��<1�n�}���
��
��$��������!��1�I�YV������������"�)�2�D�RZ�c��2�?D�
������d��<,�5i�S��C��57�m�j�����K|�O��'�?@�����
��������9��;
�=I�>��0��M��E�\�pd�|��/R�&��&��)��8��73�4k�����
��
����F��d�U2���X�����
�"�A.�Ap������	������(�
9�	D�N�Z�%i���0���I�8�$P�Du�@��9��15�g�8t�a����,�8�X�h�y�+��
������P��<N�������/�
�#%��I�;�E��W�<�=/mQ�+�#32Ex����
�� 6L[o�����&��%�{%;���4A^|�F���!>!Vx�.����&-&KBr���Y^o�$�,��	I	
d	r	�	
�	�	:�	�	
;
gV
�
.�
�
'(d>��G�f$|X�Q�7L
+�
J�
�
g}���Q�90EPv^�q&�	����9>vG}�(<e>��U�N1e��

&8_#d��9�
�V�iT_�CGba�84E/z7�6�7-Q)L�*�)!-K(yH�A�c-R�M�2CU(l3��R�#8Paq�
���2��($45Y�����e�-+Y/aZ�h�^U]�= iP 8� [� cO!C�!j�!zb"A�"q#`�#'�#q$�$�$W�$%"%OH%>�%�%�%K&T&EY'1�'-�'8�'M8(Y�(,�()
)S7)9�)&�))�)9*$P*Xu*1�*+A+^W+E�+U�+(R,S{,Y�,)-J?-z�-(.I..xx.^�.AP/4�/)�/c�/0U0.�0��0�\1��1�2A�2Y�2*E3Fp39�3-�5161Q6(�66�6�6747RS7p�7,8*D8.o81�8;�8/9(<9Je94�9B�9(:NG:Q�:o�:XX;/�;G�;9)<1c<��<�!=$�=��=J�>^�>3M?N�?�?W�?�F@��@>�AH�AH*B<sB1�BV�BL9C]�C�C�C�C�CD$D8DMD
^DlDD�D�D�D�D��D/_E(�E)�E�EX�E�PF��F�[G
�G
�G�G
H%H=HOH@\H�H
�H%�Hg�HH:I�I
�J
�J
�J�J�J�J�J:�J>!K@`Kp�KL,L<LVLjL}Lr�L]M5mM_�M�N(�N8�NO# ODO$dO.�O2�Or�OH^P�P!�P�P�P�PC�PF@Q�Q
�Q�Q�Q�Q�Q�QR$R>RNRcR }R�RK�R�R�R+S<S)QS�{S 
T
.T<T[TvT�T�Te�TJUjeUK�UdVM�VJ�VW$6W[WglW�WR�WZ>X�X�X'�X#�XY�)Y%�Y-�Y�'Z/�Zk[({[E�[��[u�\F]0^]D�].�]S^4W^*�^�^C�^A_L\_-�_G�_<`-\`�`/�`�`�`)�`Z&aw�a�aCbLbcc
lcwcc�cK�cd	dd)dJ0d	{d�d�d�d��d"e*eq6e�f�f&�f!�f5gEg
bg	mg
wg	�g�g	�g�g�g#�g�ghh
$h
/h:h6Lh�h�h�h�hu�hOBix�i�j��jpkm�ks�kNjl��l�Em��m��nBToE�o%�opCp?Kp#�p�p �pZ�p<qDq^q#xq�q1�q�qrr)rAr?Yr�r��r5/s	es6os:�s�s/�s+t*<t*gtS�t�t^uvauB�uv8v@Hv8�v9�vu�vOrw@�wOx.SxX�x�x�xByJy.fy�y �y"�y(�yezj�z�z�{9�{a�{;9|<u|�|8�|}"}>}6U}
�}$�}�}*�}��}
o~z~�~B�~$�~5�~41
f!t-�&���;����t��+�"C�f�j�|�1����Ղ�5�"�4�#E�i�
y�������Ƀ݃��-�(D�m�>��%˄��('�P�l�c��:�Y(�0��>��[�,N�.{�$��/χ��	�(� 9��Z����L�Sg�:����%	�/�(M�3v�#��&Ί��*�&7�'^�(��,��3܋%�36�.j���O��-	�/7�,g�0��+ō'�"�+<� h�4��,��	�Q��)G�q�*��y�� *�K�Ih���2ʐC��A�
^�el�iґ
<�G� V�w�������В'�1�a>�%��3Ɠ[��VV�O�����0�B�%]���)����Εߕ�!�"�B�U�(p�����1̖w��v����>g�,��LӘ
 �.�
D�O�!h�E��*Й1��-�?�]�7z� ��Ӛ$�
�8'�8`�3��H͛H�C_���$�����"�/8�h�y�������#���
��'�<�$N�s�������ʞ�	��� &�G�&f���,��؟��1	�;�%R�x�	�����M��ϡ5ۡi�${�5���֢]�Io�;������(�B�#`���Q������!ȥ�e�Cg���ǦϦ�,��-&�'T�2|���)��)�!�;6�r���`���	�
�"�r1���Īժ:�:%�`�m�������ԫ����D-�er��ج
n� y���P������2ɮ
��#� +�L�!g�	����,��ӯ����$�,�@�
L�DZ�(��<Ȱ��1��!�-�+0�5\�,�� ��6��,�J�h���?��(ȳ�
� #�'D��l��8��G6�6~�/����Y��m�.S�8����Ƿ'ݷm�s�������ظ��-�4�]C���B��
��!�40�e���"��3����!� 5�:V�������'��,���2���1�N�#h�������	��ɽCܽ! �B�K�T�d�Ai�a��,
�:�)U�:�E��Y��Z�;�T �mu�i��bM�_��`�`q�]��R0�A�����if�f��L7�����@�@��M�Cg�����"��"��"�A�Y�Lj�N��� &�!G�i���P�������7�)K�u�`������Z�����������������������(��'��9�
��
��
�
)�4�O�?a�;��$��m�Wp���"��+��!#�E�]�v�	��
�����*"�M�g�J��������
��
)�%7��]���P���7�
������5�K�^�Gq����������%�<�2N�������0��<��5�3I�%}�=����$��"�?�[�!p���3��-��!	�+�RC���c��N�Nh�X��F�SW�P��V��OS�#��5����
�0!�"R�u�)��1��4��9#�+]�$�� ����&���4,�Wa�A��+��!'�I�X�n���������H�$d���@��A��$�0�D�[�m���������%��
�

�#�<�Q�V�*o��������������+�E�)c���������������G�J�3\��������
C�Q�HX���&��(����5�P�p�}�G�� ��!�/&�5V�<��1��=��	9�C�V�Kq�<��M��H�Q�m�"z�Z�����
�
�?"�Ib�R��K��TK�?��W��C8�2|�������(����
�'+�2S�\��B��Q&�Lx�����(��5�%D�Gj������Gn����:�%�.�6�I�^�s�����"���#�36�j�O��5�:
�!H�j�v�)��A���	����+�):�d�z��"��-��
��� q��������)�	��	��" �rC����8;�Bt���6��m�>��:�_�Mb�H��(���"����iAh�-^B��	����KNSM�N�K?h��l��:HR3�:�Y
=dQ�-�"+H_�|W:Z�c�Q	`q		�	�	�	
E(
En
	�
�
�
�
 "$GVi����>�-O@�c�'
;6
Vr
G�
@CR�Q������4�
.6<
s~��j�K,x!� �1��+�CK�M�dJ?U��"�_,v���,�	%4>s��!��(�-BXq(���+�3/�cL�?W;m*�-�Qp�$�&�*�)
7U5i�"�'�%�2".UQ��$�!y<��.�,8e|O��� # A _[ /� � U� �M!
�!H�!/"28"k"�"###o:#��#*2$a]$f�$=&%8d%N�%�%v&�&+�&�&6�&Y'q'W�'f�'tG(��(H)g)x)*�)$�)>�)"*�+*��*/c+%�+�+U�+#,U9,g�,|�,t-�-�--�-0�-.)$.
N.'\.T�.�.h�.x_/j�/_C0S�0l�0Zd1C�1X2^\2_�2E3.a3+�3\�3+4*E43p4$�4M�4G5p_5_�5f06�6�6'�6:�6B/7r7hw7�7�7858I8a8n8$}8�8A�8�8&9.29Na9�9�9�9�9�9��9Br:
�:1�:��:��;h%<_�<?�<z.=J�=t�=vi>b�>�C?��?KZ@��@}(A%�A_�A,B'IBMqB*�BU�B;@C|C�CX�CE
D]PE8�E@�EJ(FKsF]�F>G.\Gj�GH�G#?H)cH;�H�HR�HC<I!�I[�Io�IInJ]�J1KcHKf�KLc*L��L:7MhrM��M��NbO>�O0�Oy�O(lP3�P��P��Q�YRSQ3Sh�S%�SpT��T2xW:�W5�W,XCIX1�X&�XJ�X�1Yv�Y-,ZAZZB�ZI�Zd)[H�[;�[d\9x\W�\@
]lK]^�]�^}�^/_bI_W�_<`�A`��`)�a��a�b�-cQ�ced tdv�d�e
�eC�fR!gPtg9�g0�gg0h[�hn�h
ci
ni	yi�i�i1�i�i�ijj-j4jLj]jfj�nj8Yk/�k4�k!�khl��l�.m��mDnTn`non"�n�n�nJ�n	o(o3@owtoR�o]?p
�q�q�q
�q$�q�qrM#rLqrY�r�s�s�s$�st/t!Jt�lt~�t?{u��u�<vCwRPw*�w1�w-x'.xHVx0�x��x�Ry�y)�y z $zEz=VzG�z�z
�z{%#{I{+Z{#�{�{�{�{�{�{,|@|]M|�|�|:�|"}:+}�f}#~0~!A~(c~�~�~�~~�~oK��dE�v��Q!�hs�#܁�)�pI�)��{�i`�ʃ#�1�C7�{����*B�@m���2����/��Q����v�Eb�-��?։1�XH�8��.ڊ	�E(�On�_��8�MW�C��6�" �AC�����(��\э�.��S�9T���	��
����ŐK�	/�9�&A�h�Np���őёؑ�ݑ������f�
V����q=���@���n��� ��	Aby�����F���d�s#ZGg{�@��NIO9�����*	i~/���q��$��(ba��3���8;D��^�C�lZ��*���L~?��K4���'�)�g	��e��n��^B��l�++G�LZ��_�1@p�T�����[L$l_B�j:F��5�.v�n}J&���Y|)�O7��B;N^k�U�r�m�"`�[�V�TKA��	aM5J2��5�����\���^�k�Q�Z���TP]�1�G�.�}�$�&#�e����i�C��4�Y8K��|eY<�xx�Q�7�b�h�@]0���0Ed��Y��I���;(�x>�����w��
���<v^���|	�K���X'�!CH>��u+O�nW9���@�����)�m02L����X�Xh�iPFD�D�
L=%�=�I����#K�~������%�����X����|A�/�vvE�-�����V��0�����!`�������jQQ��}$�,�U"F���3�R���v
���F�N�k��i�ET�%=�>��>CJ�&�z�Jx�u�#�ar�,�z��)e�-��;�/����2�/�>O�z :�~4
f���p�lM��1���oc��i�F{S�.<cb��(�V���9`%=+�'�R� �����]M�����
(2���A�=��mu��H]�&���0<lk(�_@yS��W���}p����hW6���r{�~�+9����Z"�pDR�Y��k����h��`I,��\�a�6mx�����sER����\4cU�cy����5]4|�S�q���gg�.�[���h;��{��yGM���P��/?b��M'�56�{����_�u���t�V�oD��BZ�\�s�
�Yw�'�f�GUP?n?�����8����G�#:�����$�w����E�� ��.0��Q��f��H�6�!Rz�5���K�*�1�z6�L�-��&��d�Q�"sX7�������\�l?O<�e��6w����[�7s�r�.�:�O��h���D���^���-�Jq���V�{��U>�aS��mcIAryC�%����*��T�H �i�jk�,1,�8�H9�J��;)�NA|��������*��boa�d���#�� S������o�:B�Mf�-&��SN�)I!tc�r�X�4���w�$
d/��[��W�v�72����o
�[�
�����]��jT*���<8�	�Ud��n�e�����(Cg�\H�����~tz���u��!���PW����R8s�7�3:N�}q�q"����x+�"�B���2E�_3o���j������u���p�g}�t�-
W�9���'�
�t��1p�,���!y�m�_�%3w�j�������������`fP������t?�`3� %s ago%1$s %2$d item(s)%1$s %2$s files left in queue%1$s is a %2$s paid feature.%1$s plugin version %2$s required for this action.%1$sLearn More%2$s%d hour%d hours%d item(s)%d minute%d minutes%d seconds%s Extension%s activation data expired.%s file not readable.%s file not writable.%s group%s groups%s image%s images%s is recommended.%s must be turned ON for this setting to work.(no savings)(non-optm)(optm).htaccess Path<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.A Purge All will be executed when WordPress runs these hooks.A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled.A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.A TTL of 0 indicates do not cache.A backup of each image is saved before it is optimized.AJAX Cache TTLAPIAPI: Filter %s available to disable blocklist.API: PHP Constant %s available to disable blocklist.AVIF file reduced by %1$s (%2$s)AVIF saved %sAccelerate, Optimize, ProtectAccelerates the speed by caching Gravatar (Globally Recognized Avatars).ActivateAdd Missing SizesAdd new CDN URLAdd new cookie to simulateAdd to BlocklistAdding Style to Your Lazy-Loaded ImagesAdmin IP OnlyAdmin IPsAdvancedAdvanced (Recommended)Advanced SettingsAdvanced level will log more details.AfterAfter the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.After verifying that the cache works in general, please test the cart.AggressiveAlias is in use by another QUIC.cloud account.All QUIC.cloud service queues have been cleared.All TransientsAll categories are cached by default.All pagesAll pages with Recent Posts WidgetAll tags are cached by default.Allows listed IPs (one per line) to perform certain actions from their browsers.Already CachedAlways purge both product and categories on changes to the quantity or stock status.An optional second parameter may be used to specify cache control. Use a space to separateAppend query string %s to the resources to bypass this action.Applied the %1$s preset %2$sApply PresetAre you sure to delete all existing blocklist items?Are you sure to destroy all optimized images?Are you sure you want to clear all cloud nodes?Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.Are you sure you want to redetect the closest cloud server for this service?Are you sure you want to remove all image backups?Are you sure you want to reset all settings back to the default settings?Asynchronous CSS Loading with Critical CSSAttach PHP info to report. Check this box to insert relevant data from %s.Author archiveAuto DraftsAuto Purge Rules For Publish/UpdateAuto Request CronAuto Rescale Original ImagesAutoloadAutoload entriesAutoload sizeAutoload top listAutomatic generation of critical CSS is in the background via a cron-based queue.Automatic generation of unique CSS is in the background via a cron-based queue.Automatically UpgradeAutomatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.Automatically generate LQIP in the background via a cron-based queue.Automatically remove the original image backups after fetching optimized images.Automatically replace large images with scaled versions.Automatically request optimization via cron job.Available after %d second(s)Avatar list in queue waiting for updateBackend .htaccess PathBackend Heartbeat ControlBackend Heartbeat TTLBackup created %1$s before applying the %2$s presetBasicBasic Image PlaceholderBeforeBest available WordPress performanceBest available WordPress performance, globally fast TTFB, easy setup, and %smore%s!Beta TestBlocklistBlocklistedBlocklisted due to not cacheableBoth %1$s and %2$s are acceptable.Both full URLs and partial strings can be used.Both full and partial strings can be used.BrowserBrowser CacheBrowser Cache SettingsBrowser Cache TTLBrowser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.By default a gray image placeholder %s will be used.By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.By design, this option may serve stale content. Do not enable this option, if that is not OK with you.CCSS Per URLCCSS Selector AllowlistCDNCDN - DisabledCDN - EnabledCDN - not available for anonymous usersCDN BandwidthCDN SettingsCDN URLCDN URL to be used. For example, %sCSS & JS CombineCSS CombineCSS Combine External and InlineCSS ExcludesCSS MinifyCSS SettingsCSS, JS and HTML MinificationCSS/JS CacheCacheCache Admin BarCache Comment FormCache CommentersCache Control SettingsCache HitCache Logged-in UsersCache Login PageCache MissCache MobileCache REST APICache StatusCache WP-AdminCache key must be integer or non-empty string, %s given.Cache key must not be an empty string.Cache requests made by WordPress REST API calls.Cache the built-in Admin Bar ESI block.Cache the built-in Comment Form ESI block.Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.Calculate Backups Disk SpaceCalculate Original Image StorageCalculated backups successfully.Can not create folder: %1$s. Error: %2$sCancelCategoryCert or key file does not exist.Changed setting successfully.Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.Check StatusCheck my public IP fromCheck the status of your most important settings and the health of your CDN setup here.Check this option to use the primary site's configuration for all subsites.Choose which image sizes to optimize.Clean AllClean Crawler MapClean Up Unfinished DataClean all auto saved draftsClean all orphaned post meta recordsClean all post revisionsClean all spam commentsClean all successfully.Clean all trackbacks and pingbacksClean all transient optionsClean all transients successfully.Clean all trashed commentsClean all trashed posts and pagesClean auto drafts successfully.Clean expired transient optionsClean expired transients successfully.Clean orphaned post meta successfully.Clean post revisions successfully.Clean revisions older than %1$s day(s), excluding %2$s latest revisionsClean spam comments successfully.Clean trackbacks and pingbacks successfully.Clean trashed comments successfully.Clean trashed posts and pages successfully.Cleaned all Critical CSS files.Cleaned all Gravatar files.Cleaned all LQIP files.Cleaned all Unique CSS files.Cleaned all VPI data.Cleaned all localized resource entries.Cleaned up unfinished data successfully.ClearClear %s cache when "Purge All" is run.Clear Cloudflare cacheClear LogsCleared %1$s invalid images.Clears all cache entries related to this site, including other web applications.Click here to proceed.Click here to set.Click to clear all nodes for further redetection.Click to copyClick to switch to optimized version.Click to switch to original (unoptimized) version.Close popupCloud ErrorCloud server refused the current request due to rate limiting. Please try again later.Cloud server refused the current request due to unpulled images. Please pull the images first.CloudflareCloudflare APICloudflare API is set to off.Cloudflare CacheCloudflare DomainCloudflare SettingsCloudflare ZoneCollapse Query StringsCombine CSS files and inline CSS code.Combine all local JS files into a single file.Comments are supported. Start a line with a %s to turn it into a comment line.Communicated with Cloudflare successfully.Congratulation! Your file was already optimizedCongratulations, %s successfully set this domain up for the anonymous online services.Congratulations, %s successfully set this domain up for the online services with CDN service.Congratulations, %s successfully set this domain up for the online services.Congratulations, all gathered!Connected Date:Connection TestContent Delivery NetworkContent Delivery Network ServiceConvert to InnoDBConverted to InnoDB successfully.Cookie NameCookie SimulationCookie ValuesCopy LogCould not find %1$s in %2$s.Crawl IntervalCrawlerCrawler CronCrawler General SettingsCrawler LogCrawler StatusCrawler disabled by the server admin.Crawler disabled list is cleared! All crawlers are set to active! Crawler(s)Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.Create a post, make sure the front page is accurate.Created with ❤️ by LiteSpeed team.Credits are not enough to proceed the current request.Critical CSSCritical CSS RulesCron NameCurrent %s ContentsCurrent Cloud Nodes in ServiceCurrent closest Cloud server is %s. Click to redetect.Current crawler started atCurrent image post id positionCurrent limit isCurrent server loadCurrent server time is %s.Current sitemap crawl started atCurrent status is %1$s since %2$s.Current status is %s.Currently active crawlerCurrently set to %sCurrently using optimized version of AVIF file.Currently using optimized version of WebP file.Currently using optimized version of file.Currently using original (unoptimized) version of AVIF file.Currently using original (unoptimized) version of WebP file.Currently using original (unoptimized) version of file.Custom SitemapDB Optimization SettingsDNS PreconnectDNS PrefetchDNS Prefetch ControlDNS Prefetch for static filesDaily archiveDashboardDatabaseDatabase OptimizerDatabase SummaryDatabase Table Engine ConverterDatabase to be usedDay(s)DeactivateDeactivate LiteSpeed CacheDeactivate pluginDebug HelpersDebug LevelDebug LogDebug SettingsDebug String ExcludesDebug URI ExcludesDebug URI IncludesDefaultDefault CacheDefault Feed TTLDefault Front Page TTLDefault HTTP Status Code Page TTLDefault Object LifetimeDefault Private Cache TTLDefault Public Cache TTLDefault REST TTLDefault TTL for cached objects.Default path isDefault port for %1$s is %2$s.Default valueDeferredDeferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).Delay rendering off-screen HTML elements by its selector.DelayedDelete all backups of the original imagesDelivers global coverage with a growing <strong>network of 80+ PoPs</strong>.Destroy All Optimization DataDestroy all optimization data successfully.Determines how changes in product quantity and product stock status affect product pages and their associated category pages.Development ModeDevelopment Mode will be turned off automatically after three hours.Development mode will be automatically turned off in %s.DisableDisable All FeaturesDisable All Features for 24 HoursDisable CacheDisable Image LazyloadDisable VPIDisable WordPress interval heartbeat to reduce server load.Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.DisabledDisabled AVIF file successfully.Disabled WebP file successfully.Disabling this may cause WordPress tasks triggered by AJAX to stop working.Disabling this option may negatively affect performance.Disconnect from QUIC.cloudDismissDismiss this noticeDismiss this notice.Do Not Cache CategoriesDo Not Cache CookiesDo Not Cache GroupsDo Not Cache Query StringsDo Not Cache RolesDo Not Cache TagsDo Not Cache URIsDo Not Cache User AgentsDo not purge categories on changes to the quantity or stock status.Do not show this againDomainDowngrade not recommended. May cause fatal error due to refactored code.Drop Query StringESIESI NoncesESI SettingsESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.ESI sample for developersEditor HeartbeatEditor Heartbeat TTLElements with attribute %s in HTML code will be excluded.Elements with attribute %s in html code will be excluded.Email AddressEmpty Entire CacheEmpty blocklistEnable All FeaturesEnable CacheEnable ESIEnable QUIC.cloud CDNEnable QUIC.cloud ServicesEnable QUIC.cloud servicesEnable Viewport Images auto generation cron.Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.EnabledEnabled AVIF file successfully.Enabled WebP file successfully.Enabling LiteSpeed Cache for WordPress here enables the cache for the network.Ended reasonEngineEnter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.Error: Failed to apply the settings %1$sEssentialsEverything in Advanced, PlusEverything in Aggressive, PlusEverything in Basic, PlusEverything in Essentials, PlusExampleExample use case:Examples of test cases include:Exclude PathExclude SettingsExcludesExpired TransientsExportExport SettingsExtremeFailedFailed to back up %s file, aborted changes.Failed to communicate with CloudflareFailed to communicate with QUIC.cloud serverFailed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.Failed to create table %1$s! SQL: %2$s.Failed to detect IPFailed to get %s file contents.Failed to get echo data from WPAPIFailed to parse %s activation status.Failed to request via WordPressFailed to upgrade.Failed to validate %s activation data.Failed to write to %s.Fast Queue UsageFile %s is not writable.Filename is empty!FilesFilter %s available for UCSS per page type generation.Filter %s available to change threshold.Filter %s is supported.Folder does not exist: %sFolder is not writable: %s.Font Display OptimizationFor URLs with wildcards, there may be a delay in initiating scheduled purge.For exampleFor example, %1$s defines a TTL of %2$s seconds for %3$s.For example, %s can be used for a transparent placeholder.For example, for %1$s, %2$s and %3$s can be used here.For example, for %1$s, %2$s can be used here.For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.For example, to drop parameters beginning with %1$s, %2$s can be used here.For that reason, please test the site to make sure everything still functions properly.Force Cache URIsForce Public Cache URIsForce cronForced cacheableFree monthly quota available.Free monthly quota available. Can also be used anonymously (no email required).Front pageFrontend .htaccess PathFrontend Heartbeat ControlFrontend Heartbeat TTLGeneralGeneral SettingsGenerate LQIP In BackgroundGenerate Link for Current UserGenerate UCSSGenerate a separate vary cache copy for the mini cart when the cart is not empty.Generated at %sGenerated links may be managed under %sSettings%s.Get it from %s.Global API Key / API TokenGlobal GroupsGlobally fast TTFB, easy setup, and %s!Go to QUIC.cloud dashboardGo to plugins listGood news from QUIC.cloud serverGoogle reCAPTCHA will be bypassed automatically.Gravatar CacheGravatar Cache CronGravatar Cache TTLGroups cached at the network level.GuestGuest ModeGuest Mode JS ExcludesGuest Mode and Guest OptimizationGuest Mode failed to test.Guest Mode passed testing.Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX.Guest Mode testing resultGuest OptimizationHTML Attribute To ReplaceHTML Keep CommentsHTML Lazy Load SelectorsHTML MinifyHTML SettingsHTTPS sources only.HeartbeatHeartbeat ControlHigh-performance page caching and site optimization from LiteSpeedHigher TTLHistoryHitHome pageHostHow to Fix Problems Caused by CSS/JS Optimization.However, there is no way of knowing all the possible customizations that were implemented.Htaccess did not match configuration option.Htaccess rule is: %sI've already left a reviewIf %1$s is %2$s, then %3$s must be populated!If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.If comment to be kept is like: %1$s write: %2$sIf every web application uses the same cookie, the server may confuse whether a user is logged in or not.If not, please verify the setting in the %sAdvanced tab%s.If only the WordPress site should be purged, use Purge All.If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.If set to %s this is done in the foreground, which may slow down page load.If the category name is not found, the category will be removed from the list on save.If the login cookie was recently changed in the settings, please log out and back in.If the tag slug is not found, the tag will be removed from the list on save.If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s.If this is set to a number less than 30, feeds will not be cached.If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.If you are using a %1$s socket, %2$s should be set to %3$sIf you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images.If you run into any issues, please refer to the report number in your support message.If you turn any of the above settings OFF, please remove the related file types from the %s box.If you would rather not move at litespeed, you can deactivate this plugin.If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.Iframes containing these class names will not be lazy loaded.Iframes having these parent class names will not be lazy loaded.Ignore certain query strings when caching. (LSWS %s required)Image InformationImage OptimizationImage Optimization SettingsImage Optimization SummaryImage Thumbnail Group SizesImage groups totalImages PulledImages containing these class names will not be lazy loaded.Images having these parent class names will not be lazy loaded.Images not requestedImages notified to pullImages optimized and pulledImages ready to requestImages requestedImages will be pulled automatically if the cron job is running.ImportImport / ExportImport SettingsImport failed due to file error.Imported setting file %s successfully.Improve HTTP/HTTPS CompatibilityImprove wp-admin speed through caching. (May encounter expired data)Improved byIn order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.In order to use QC services, need a real domain name, cannot use an IP.In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.Include CSSInclude File TypesInclude ImagesInclude JSInclude external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.Included DirectoriesInline CSS Async LibInline CSS added to CombineInline JS added to CombineInline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.InstallInstall %sInstall DoLogin SecurityInstall NowInstant ClickInvalid IPInvalid login cookie. Invalid characters found.Invalid login cookie. Please check the %s file.Invalid rewrite ruleIt is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.It will be converted to a base64 SVG placeholder on-the-fly.JS CombineJS Combine External and InlineJS Defer for both external and inline JSJS Deferred / Delayed ExcludesJS DelayedJS Delayed IncludesJS ExcludesJS MinifyJS SettingsJS error can be found from the developer console of browser by right clicking and choosing Inspect.Join LiteSpeed Slack communityJoin Us on SlackJoin the %s community.Keep this off to use plain color placeholders.LQIPLQIP CacheLQIP Cloud GeneratorLQIP ExcludesLQIP Minimum DimensionsLQIP QualityLQIP image preview for size %sLQIP requests will not be sent for images where both width and height are smaller than these dimensions.LSCacheLSCache caching functions on this page are currently unavailable!Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.Larger thanLast PullLast PulledLast Report DateLast Report NumberLast RequestLast calculatedLast complete run time for all crawlersLast crawledLast crawled:Last exportedLast generatedLast generated: %sLast importedLast intervalLast pull initiated by cron at %s.Last ranLast requested costLast requested: %sLazy Load Iframe Class Name ExcludesLazy Load Iframe Parent Class Name ExcludesLazy Load IframesLazy Load Image Class Name ExcludesLazy Load Image ExcludesLazy Load Image Parent Class Name ExcludesLazy Load ImagesLazy Load URI ExcludesLazy Load for IframesLazy Load for ImagesLearn MoreLearn More about QUIC.cloudLearn moreLearn more about when this is neededLearn more or purchase additional quota.Link & Enable QUIC.cloud CDNLink to QUIC.cloudLinked to QUIC.cloud preview environment, for testing purpose only.List of Mobile User AgentsList post types where each item of that type should have its own CCSS generated.List the CSS selectors whose styles should always be included in CCSS.List the CSS selectors whose styles should always be included in UCSS.Listed CSS files or inline CSS code will not be minified or combined.Listed CSS files will be excluded from UCSS and saved to inline.Listed JS files or inline JS code will be delayed.Listed JS files or inline JS code will not be deferred or delayed.Listed JS files or inline JS code will not be minified or combined.Listed JS files or inline JS code will not be optimized by %s.Listed URI will not generate UCSS.Listed images will not be lazy loaded.LiteSpeed CacheLiteSpeed Cache CDNLiteSpeed Cache Configuration PresetsLiteSpeed Cache CrawlerLiteSpeed Cache DashboardLiteSpeed Cache Database OptimizationLiteSpeed Cache General SettingsLiteSpeed Cache Image OptimizationLiteSpeed Cache Network Cache SettingsLiteSpeed Cache OptimaXLiteSpeed Cache Page OptimizationLiteSpeed Cache Purge AllLiteSpeed Cache SettingsLiteSpeed Cache Standard PresetsLiteSpeed Cache ToolboxLiteSpeed Cache View .htaccessLiteSpeed Cache is disabled. This functionality will not work.LiteSpeed Cache is temporarily disabled until: %s.LiteSpeed Cache plugin is installed!LiteSpeed Crawler CronLiteSpeed LogsLiteSpeed OptimizationLiteSpeed ReportLiteSpeed TechnologiesLiteSpeed Web ADCLiteSpeed Web ServerLiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.Load CSS AsynchronouslyLoad Google Fonts AsynchronouslyLoad JS DeferredLoad iframes only when they enter the viewport.Load images only when they enter the viewport.LocalizationLocalization FilesLocalization SettingsLocalize ResourcesLocalize external resources.Localized ResourcesLog File Size LimitLog ViewLogin CookieLow Quality Image PlaceholderMBManageManually added to blocklistManually runMapMark this page as Maximum image post idMaximum valueMaybe LaterMaybe laterMedia ExcludesMedia SettingsMessage from QUIC.cloud serverMethodMinify CSS files and inline CSS code.Minify HTML content.Minify JS files and inline JS codes.Minimum valueMissMobileMobile Agent RulesMobile CacheMonthly archiveMoreMore information about the available commands can be found here.More settingsMore settings available under %s menuMy QUIC.cloud DashboardNOTENOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.NOTICENOTICE:NOTICE: Database login cookie did not match your login cookie.Network DashboardNetwork Enable CacheNew Developer Version Available!New Version Available!New developer version %s is available now.New release %s is available now.NewsNext-Gen Image FormatNo available Cloud Node after checked server load.No available Cloud Node.No available Cloudflare zoneNo backup of original file exists.No backup of unoptimized AVIF file exists.No backup of unoptimized WebP file exists.No cloud services currently in useNo crawler meta file generated yetNo fieldsNo optimizationNo sizes found.No valid image found by Cloud server in the current request.No valid image found in the current request.No valid sitemap parsed for crawler.Node:Non cacheableNot AvailableNot blocklistedNot enough parameters. Please check if the QUIC.cloud connection is set correctlyNoteNotesNoticeNotificationsNotified Cloudflare to purge all successfully.Notified Cloudflare to set development mode to %s successfully.Notified LiteSpeed Web Server to purge CSS/JS entries.Notified LiteSpeed Web Server to purge all LSCache entries.Notified LiteSpeed Web Server to purge all pages.Notified LiteSpeed Web Server to purge error pages.Notified LiteSpeed Web Server to purge everything.Notified LiteSpeed Web Server to purge the front page.Notified LiteSpeed Web Server to purge the list.OFFONOPcache is not enabled.OPcache is restricted by %s setting.ORObjectObject CacheObject Cache SettingsObject cache is not enabled.Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.On uninstall, all plugin settings will be deleted.Once saved, it will be matched with the current list and completed automatically.One or more pulled images does not match with the notified image md5One per line.Online ServicesOnline node needs to be redetected.Only attributes listed here will be replaced.Only available when %s is installed.Only files within these directories will be pointed to the CDN.Only log listed pages.Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.Only press the button if the pull cron job is disabled.Opcode CacheOpenLiteSpeed Web ServerOpenLiteSpeed users please check thisOperationOptimaXOptimaX SettingsOptimaX SummaryOptimization StatusOptimization SummaryOptimization ToolsOptimize CSS delivery.Optimize Image SizesOptimize LosslesslyOptimize Original ImagesOptimize TablesOptimize all tables in your databaseOptimize for Guests OnlyOptimize images and save backups of the originals in the same folder.Optimize images using lossless compression.Optimize images with our QUIC.cloud serverOptimized all tables.Option NameOptionalOptional when API token used.Optionally creates next-generation WebP or AVIF image files.Options saved.OrigOrig %sOrig saved %sOriginal URLsOriginal file reduced by %1$s (%2$s)Orphaned Post MetaOtherOther Static CDNOther checkboxes will be ignored.Outputs to a series of files in the %s directory.PAYG BalancePAYG used this month: %s. PAYG balance and usage not included in above quota calculation.PHP Constant %s is supported.Page Load TimePage OptimizationPageSpeed ScorePagesPartner Benefits Provided byPassedPasswordPasswordless LinkPath must end with %sPaths containing these strings will be cached regardless of no-cacheable settings.Paths containing these strings will be forced to public cached regardless of no-cacheable settings.Paths containing these strings will not be cached.Paths containing these strings will not be served from the CDN.Pay as You GoPay as You Go Usage StatisticsPersistent ConnectionPlease consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:Please do NOT share the above passwordless link with anyone.Please enable LiteSpeed Cache in the plugin settings.Please enable the LSCache Module at the server level, or ask your hosting provider.Please make sure this IP is the correct one for visiting your site.Please read all warnings before enabling this option.Please see %s for more details.Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task.Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.Please thoroughly test all items in %s to ensure they function as expected.Please thoroughly test each JS file you add to ensure it functions as expected.Please try after %1$s for service %2$s.Please visit the %sInformation%s page on how to test the cache.Plugin is too complicatedPortPosition: Post IDPost RevisionsPost type archivePreconnecting speeds up future loads from a given origin.Predefined list will also be combined w/ the above settingsPredefined list will also be combined with the above settingsPredefined list will also be combined with the above settings.Prefetching DNS can reduce latency for visitors.Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.Preserve EXIF/XMP dataPresetsPress the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.Prevent Google Fonts from loading on all pages.Prevent any debug log of listed pages.Prevent any lazy load of listed pages.Prevent any optimization of listed pages.Prevent writing log entries that include listed strings.Previous request too recent. Please try again after %s.Previous request too recent. Please try again later.Previously existed in blocklistPrivatePrivate CachePrivate Cached URIsPrivate cachePrivately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)Privately cache frontend pages for logged-in users. (LSWS %s required)Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality.Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.Product Update IntervalProvides <strong>security at the CDN level</strong>, protecting your server from attack.PublicPublic CachePull Cron is runningPull ImagesPulled AVIF image md5 does not match the notified AVIF image md5.Pulled WebP image md5 does not match the notified WebP image md5.PurgePurge %s ErrorPurge %s error pagesPurge AllPurge All HooksPurge All On UpgradePurge By...Purge EverythingPurge Front PagePurge ListPurge LogPurge PagesPurge SettingsPurge all object caches successfully.Purge all the object cachesPurge categories only when stock status changes.Purge category %sPurge pages by category name - e.g. %2$s should be used for the URL %1$s.Purge pages by post ID.Purge pages by relative or full URL.Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.Purge product and categories only when the stock status changes.Purge product on changes to the quantity or stock status.Purge product only when the stock status changes.Purge tag %sPurge the LiteSpeed cache entries created by this pluginPurge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP cachesPurge this pagePurge url %sPurged All!Purged all caches successfully.Purged the URL!Purged the blog!Purged!Pushed %1$s to Cloud server, accepted %2$s.QUIC.cloudQUIC.cloud CDNQUIC.cloud CDN OptionsQUIC.cloud CDN Status OverviewQUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.QUIC.cloud CDN is currently <strong>fully disabled</strong>.QUIC.cloud CDN:QUIC.cloud Integration DisabledQUIC.cloud Integration EnabledQUIC.cloud Integration Enabled with limitationsQUIC.cloud Online ServicesQUIC.cloud Service Usage StatisticsQUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.QUIC.cloud's Image Optimization service does the following:QUIC.cloud's Online Services improve your site in the following ways:QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.QUIC.cloud's access to your WP REST API seems to be blocked.Query strings containing these parameters will not be cached.Rate %1$s on %2$sRead LiteSpeed DocumentationRecommended to generate the token from Cloudflare API token template "WordPress".Recommended value: 28800 seconds (8 hours).RedetectRedetected nodeRedis Database IDRedis encountered a fatal error: %1$s (code: %2$d)RefreshRefresh Crawler MapRefresh Gravatar cache by cron.Refresh QUIC.cloud statusRefresh StatusRefresh UsageRefresh page load timeRefresh page scoreRegenerate and Send a New ReportRemaining Daily QuotaRemove CDN URLRemove Google FontsRemove Noscript TagsRemove Original BackupsRemove Original Image BackupsRemove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.Remove Query StringsRemove Query Strings from Static FilesRemove WordPress EmojiRemove `Disable All Feature` Flag NowRemove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.Remove all previous unfinished image optimization requests.Remove cookie simulationRemove from BlocklistRemove query strings from internal static resources.Removed Unused CSS for UsersRemoved backups successfully.Replace %1$s with %2$s.ReportRequest WebP/AVIF versions of original images when doing optimization.Requested: %s agoRequests in queueRescan New ThumbnailsRescanned %d images successfully.Rescanned successfully.Reset %s activation successfully.Reset All SettingsReset SettingsReset image optimization counter successfully.Reset positionReset successfully.Reset the OPcache failed.Reset the entire OPcache successfully.Reset the entire opcode cacheReset the optimized data successfully.Resources listed here will be copied and replaced with local URLs.Responsive PlaceholderResponsive Placeholder ColorResponsive Placeholder SVGResponsive image placeholders can help to reduce layout reshuffle when images are loaded.Restore SettingsRestore from backupRestored backup settings %1$sRestored original file successfully.Results can be checked in %sMedia Library%s.Revisions Max AgeRevisions Max NumberRevisions newer than this many days will be kept when cleaning revisions.Role ExcludesRole SimulationRun %s Queue ManuallyRun FrequencyRun Queue ManuallyRun frequency is set by the Interval Between Runs setting.Run time for previous crawlerRunningSYNTAX: alphanumeric and "_". No spaces and case sensitive.SYNTAX: alphanumeric and "_". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.Save ChangesSave transients in database when %1$s is %2$s.SavedSaving option failed. IPv4 only for %s.Scaled size thresholdScan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.Scheduled Purge TimeScheduled Purge URLsSee %sIntroduction for Enabling the Crawler%s for detailed information.Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.Select below for "Purge by" options.Select only the archive types that are currently used, the others can be left unchecked.Select which pages will be automatically purged when posts are published/updated.Selected roles will be excluded from all optimizations.Selected roles will be excluded from cache.Selectors must exist in the CSS. Parent classes in the HTML will not work.Send Optimization RequestSend this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.Send to LiteSpeedSend to twitter to get %s bonusSeparate CCSS Cache Post TypesSeparate CCSS Cache URIsSeparate critical CSS files will be generated for paths containing these strings.Serve StaleServe a separate cache copy for mobile visitors.Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes.Serve your visitors fastServer IPServer Load LimitServer allowed max value: %sServer enforced value: %sServer variable(s) %s available to override this setting.Service:Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.Set to %1$s to forbid heartbeat on %2$s.Setting Up Custom HeadersSettingsShorten query strings in the debug log to improve readability.Show crawler statusSignificantly improve load time by replacing images with their optimized %s versions.Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.Site performance is worseSitemap ListSitemap TotalSitemap cleaned successfullySitemap created successfully: %d itemsSizeSize list in queue waiting for cronSmaller thanSoft Reset Optimization CounterSome optimized image file(s) has expired and was cleared.Spam CommentsSpecify a base64 image to be used as a simple placeholder while images finish loading.Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.Specify an HTTP status code and the number of seconds to cache that page, separated by a space.Specify an SVG to be used as a placeholder when generating locally.Specify critical CSS rules for above-the-fold content when enabling %s.Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.Specify how long, in seconds, Gravatar files are cached.Specify how long, in seconds, REST calls are cached.Specify how long, in seconds, feeds are cached.Specify how long, in seconds, private pages are cached.Specify how long, in seconds, public pages are cached.Specify how long, in seconds, the front page is cached.Specify the %s heartbeat interval in seconds.Specify the maximum size of the log file.Specify the number of most recent revisions to keep when cleaning revisions.Specify the password used when connecting.Specify the quality when generating LQIP.Specify the responsive placeholder SVG color.Specify the time to purge the "%s" list.Specify which HTML element attributes will be replaced with CDN Mapping.Specify which element attributes will be replaced with WebP/AVIF.Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.Spread the love and earn %s credits to use in our QUIC.cloud online services.Standard PresetsStart watching...Started async crawlingStarted async image optimization requestStatic file type links to be replaced by CDN links.StatusStop loading WordPress.org emoji. Browser default emoji will be displayed instead.Storage OptimizationStore Gravatar locally.Store TransientsSubmit a ticketSuccessfully CrawledSummarySupport forumSure I'd love to review!SwapSwitch back to using optimized images on your siteSwitched images successfully.Switched to optimized file successfully.Sync QUIC.cloud status successfully.Sync credit allowance with Cloud Server successfully.Sync data from CloudSystem InformationTTLTableTagTemporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.Term archive (include category, tag, and tax)TestingThank You for Using the LiteSpeed Cache Plugin!The Admin IP option will only output log messages on requests from admin IPs listed below.The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.The URLs here (one per line) will be purged automatically at the time set in the option "%s".The URLs will be compared to the REQUEST_URI server variable.The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.The above nonces will be converted to ESI automatically.The amount of time, in seconds, that files will be stored in browser cache before expiring.The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.The callback validation to your domain failed due to hash mismatch.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: The cookie set here will be used for this WordPress installation.The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.The current server is under heavy load.The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.The deactivation is temporaryThe default login cookie is %s.The environment report contains detailed information about the WordPress configuration.The features below are provided by %sThe following options are selected, but are not editable in this settings page.The image compression quality setting of WordPress out of 100.The image list is empty.The latest data file isThe list will be merged with the predefined nonces in your local data file.The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.The network admin selected use primary site configs for all subsites.The network admin setting can be overridden here.The next complete sitemap crawl will start atThe queue is processed asynchronously. It may take time.The selector must exist in the CSS. Parent classes in the HTML will not work.The server will determine if the user is logged in based on the existence of this cookie.The site is not a valid alias on QUIC.cloud.The site is not registered on QUIC.cloud.The user with id %s has editor access, which is not allowed for the role simulator.Then another WordPress is installed (NOT MULTISITE) at %sThere is a WordPress installed for %s.There is proceeding queue not pulled yet.There is proceeding queue not pulled yet. Queue info: %s.These images will not generate LQIP.These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.These settings are meant for ADVANCED USERS ONLY.This Month Usage: %sThis action should only be used if things are cached incorrectly.This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.This can improve page loading time by reducing initial HTTP requests.This can improve quality but may result in larger images than lossy compression will.This can improve the page loading speed.This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.This enables the page's initial screenful of imagery to be fully displayed without delay.This is irreversible.This is to ensure compatibility prior to enabling the cache for all sites.This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.This may cause heavy load on the server.This message indicates that the plugin was installed by the server admin.This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.This option can help to correct the cache vary for certain advanced mobile or tablet visitors.This option enables maximum optimization for Guest Mode visitors.This option is bypassed because %1$s option is %2$s.This option is bypassed due to %s option.This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.This option will automatically bypass %s option.This option will remove all %s tags from HTML.This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.This process is automatic.This setting is %1$s for certain qualifying requests due to %2$s!This setting is useful for those that have multiple web applications for the same domain.This setting will edit the .htaccess file.This setting will regenerate crawler list and clear the disabled list!This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.This value is overwritten by the %s variable.This value is overwritten by the Network setting.This value is overwritten by the PHP constant %s.This value is overwritten by the filter.This value is overwritten by the primary site setting.This will Purge Front Page onlyThis will Purge Pages onlyThis will affect all tags containing attributes: %s.This will also add a preconnect to Google Fonts to establish a connection earlier.This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?This will clear EVERYTHING inside the cache.This will delete all cached Gravatar filesThis will delete all generated Viewport ImagesThis will delete all generated critical CSS filesThis will delete all generated image LQIP placeholder filesThis will delete all generated unique CSS filesThis will delete all localized resourcesThis will disable LSCache and all optimization features for debug purpose.This will disable the settings page on all subsites.This will drop the unused CSS on each page from the combined file.This will enable crawler cron.This will export all current LiteSpeed Cache settings and save them as a file.This will generate extra requests to the server, which will increase server load.This will generate the placeholder with same dimensions as the image if it has the width and height attributes.This will import settings from a file and override all current LiteSpeed Cache settings.This will increase the size of optimized files.This will inline the asynchronous CSS library to avoid render blocking.This will purge all minified/combined CSS/JS entries onlyThis will reset all settings to default settings.This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?Time to execute previous request: %sTo crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.To crawl the site as a logged-in user, enter the user ids to be simulated.To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.To do an exact match, add %s to the end of the URL.To enable the following functionality, turn ON Cloudflare API in CDN Settings.To exclude %1$s, insert %2$s.To generate a passwordless link for LiteSpeed Support Team access, you must install %s.To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.To manage your QUIC.cloud options, go to your hosting provider's portal.To manage your QUIC.cloud options, please contact your hosting provider.To match the beginning, add %s to the beginning of the item.To prevent %s from being cached, enter them here.To prevent filling up the disk, this setting should be OFF when everything is working.To randomize CDN hostname, define multiple hostnames for the same resources.To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.ToolToolboxTotalTotal ReductionTotal UsageTotal images optimized in this monthTrackbacks/PingbacksTrashed CommentsTrashed PostsTry GitHub VersionTuningTuning CSS SettingsTuning SettingsTurn OFFTurn ONTurn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.Turn ON to control heartbeat in backend editor.Turn ON to control heartbeat on backend.Turn ON to control heartbeat on frontend.Turn On Auto UpgradeTurn on OptimaX. This will automatically request your pages OptimaX result via cron job.Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN.Tweet previewTweet thisUCSS InlineUCSS Inline Excluded FilesUCSS Selector AllowlistUCSS URI ExcludesURI ExcludesURI Paths containing these strings will NOT be cached as public.URLURL SearchURL list in %s queue waiting for cronUnable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.Unable to automatically add %1$s as a Domain Alias for main %2$s domain.Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)Unique CSSUnknown errorUpdate %s nowUpgradeUpgraded successfully.UsageUsage Statistics: %sUse %1$s in %2$s to indicate this cookie has not been set.Use %1$s to bypass UCSS for the pages which page type is %2$s.Use %1$s to bypass remote image dimension check when %2$s is ON.Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.Use %s API functionality.Use CDN MappingUse Network Admin SettingUse Optimized FilesUse Original FilesUse Primary Site ConfigurationUse QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.Use QUIC.cloud online service to generate unique CSS.Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.Use external object cache functionality.Use keep-alive connections to speed up cache operations.Use latest GitHub Dev commitUse latest GitHub Dev/Master commitUse latest GitHub Master commitUse latest WordPress release versionUse original images (unoptimized) on your siteUse the format %1$s or %2$s (element is optional).Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.Useful for above-the-fold images causing CLS (a Core Web Vitals metric).UsernameUsing optimized version of file. VPIValue from filter appliedValue rangeVariables %s will be replaced with the configured background color.Variables %s will be replaced with the corresponding image properties.Vary CookiesVary GroupVary for Mini CartView %1$s version %2$s detailsView .htaccessView Site Before CacheView Site Before OptimizationViewport ImageViewport Image GenerationViewport ImagesViewport Images CronVisit LSCWP support forumVisit the site while logged out.WARNINGWARNING: The .htaccess login cookie and Database login cookie do not match.WaitingWaiting to be CrawledWant to connect with other LiteSpeed users?Watch Crawler StatusWe are good. No table uses MyISAM engine.We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.WebP file reduced by %1$s (%2$s)WebP saved %sWebP/AVIF Attribute To ReplaceWebP/AVIF For Extra srcsetWelcome to LiteSpeedWhat is a group?What is an image group?When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.When disabling the cache, all cached entries for this site will be purged.When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.When minifying HTML do not discard comments that match a specified pattern.When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.When this option is turned %s, it will also load Google Fonts asynchronously.When you use Lazy Load, it will delay the loading of all images on a page.Who should use this preset?Why are you deactivating the plugin?Widget Cache TTLWildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.Wildcard %s supported.With ESI (Edge Side Includes), pages may be served from cache for logged-in users.With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.WooCommerce SettingsWordPress Image Quality ControlWordPress valid interval is %s seconds.WpW: Private Cache vs. Public CacheYearly archiveYou are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.You can just type part of the domain.You can list the 3rd party vary cookies here.You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.You can request a maximum of %s images at once.You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s.You can turn shortcodes into ESI blocks.You can use this code %1$s in %2$s to specify the htaccess file path.You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible.You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.You have too many requested images, please try again in a few minutes.You have used all of your daily quota for today.You have used all of your quota left for current service this month.You just unlocked a promotion from QUIC.cloud!You must be using one of the following products in order to measure Page Load Time:You must set %1$s to %2$s before using this feature.You must set %s before using this feature.You need to activate QC first.You need to set the %1$s first. Please use the command %2$s to set.You need to set the %s in Settings first before using the crawlerYou need to turn %s on and finish all WebP generation to get maximum result.You need to turn %s on to get maximum result.You will be unable to Revert Optimization once the backups are deleted!You will need to finish %s setup to use the online services.Your %1$s quota on %2$s will still be in use.Your %s Hostname or IP address.Your API key / token is used to access %s APIs.Your Email address on %s.Your IPYour application is waiting for approval.Your domain has been forbidden from using our services due to a previous policy violation.Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.Your server IPYour site is connected and ready to use QUIC.cloud Online Services.Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.Zero, orcategoriescookiese.g. Use %1$s or %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationjust nowmoreno matter where they live.pixelsprovide more information here to assist the LiteSpeed team with debugging.right nowrunningsecondstagsthe auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.unknownuser agentsPO-Revision-Date: 2025-11-15 11:57:49+0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);
X-Generator: GlotPress/4.0.3
Language: pl
Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)
 %s temu%1$s %2$d elementówPozostało %1$s %2$s plików w kolejce%1$s jest %2$s płatną funkcją.%1$s wersja wtyczki %2$s jest wymagana dla tej akcji.%1$sDowiedz się więcej%2$s%d godzina%d godzin%d element(y)%d minuta%d minut%d sekundRozszerzenie %s%s dane aktywacyjne wygasły.Plik %s nie nadaje się do odczytu.Plik %s nie jest zapisywalny.%s grupa%s grupy%s obrazek%s obrazkiZalecane jest %s.Aby to ustawienie działało, %s musi być WŁĄCZONY.(bez zapisania)(nieoptymalizowany)(optymalizowany)Ścieżka .htaccess<a href="%1$s" %2$s>Zobacz szczegóły wersji %3$s</a> lub <a href="%4$s" %5$s target="_blank">zaktualizuj teraz</a>.<p> Proszę dodać / zastąpić następujące kody na początku %1$s: </p> %2$s<strong>Krytyczny CSS (CCSS)</strong> wczytuje widoczną treść u góry strony szybciej i z zachowaniem pełnego stylu.<strong>Optymalizacja obrazka</strong> pozwala na uzyskanie mniejszych rozmiarów plików graficznych i szybsze przesyłanie ich.<strong>Obrazek zastępczy niskiej jakości (LQIP)</strong> nadaje obrazkom przyjemniejszy wygląd, ponieważ wczytują się one leniwie.<strong>Optymalizacja strony</strong> usprawnia style strony i elementy wizualne, aby przyspieszyć wczytywania.<strong>Unikatowy CSS (UCSS)</strong> usuwa nieużywane definicje stylów, co przyspiesza wczytywanie strony.<strong>Obrazki rzutni (VPI)</strong> zapewniają dopracowany, w pełni załadowany widok powyżej linii zagięcia.Operacja Wyczyść wszystko zostanie wykonana, gdy WordPress uruchomi te haki.Połączenie QUIC.cloud nie jest wymagane do korzystania z tego ustawienia wstępnego. Włączone są tylko podstawowe funkcje buforowania.Do korzystania z tego ustawienia wstępnego wymagane jest połączenie QUIC.cloud. Umożliwia ono maksymalny poziom optymalizacji w celu poprawy wyników szybkości wczytywania strony.Do korzystania z tego ustawienia wymagane jest połączenie QUIC.cloud. Zawiera wiele optymalizacji, które poprawiają wyniki szybkości wczytywania strony.Do korzystania z tego ustawienia wymagane jest połączenie QUIC.cloud. Zawiera optymalizacje, które poprawiają wynik witryny w narzędziach do pomiaru szybkości wczytywania stron.Ustawienie TTL na 0 wyłącza zapisywanie do pamięci podręcznej.Kopia zapasowa każdego obrazka jest zapisywana przed optymalizacją.Czas życia pamięci podręcznej AJAXAPIAPI: Filtr %s jest dostępny w celu wyłączenia listy blokowanych.API: stała PHP %s dostępna do wyłączenia listy blokowanych.Plik AVIF zmniejszony o %1$s (%2$s)Zapisano AVIF %sPrzyspiesz, zoptymalizuj, chrońPrzyspiesza działanie poprzez buforowanie Gravatara (globalnie rozpoznawanych awatarów).WłączDodaj brakujące rozmiaryDodaj nowy adres URL CDNaDodaj nowy plik cookie do symulacjiDodaj do czarnej listyDodawanie stylu do leniwego wczytywania obrazkówTylko Adres IP AdministratoraAdresy IP administratoraZaawansowaneZaawansowane (zalecane)Ustawienia zaawansowanePoziom zaawansowany będzie rejestrował więcej szczegółów.PoGdy serwer QUIC.cloud Image Optimization zakończy optymalizację, powiadomi Twoją witrynę o konieczności pobrania zoptymalizowanych obrazków.Po weryfikacji pamięci podręcznej, sprawdź koszyk.AgresywnaAlias ​​jest używany przez inne konto QUIC.cloud.Wszystkie kolejki usług QUIC.cloud zostały wyczyszczone.Wszystkie dane tymczasoweWszystkie kategorie są cache'owane domyślnie.Wszystkie stronyWszystkie strony z widgetem Ostatnie postyWszystkie tagi są domyślnie cache'owane.Pozwala adresom IP na liście (jednym w linii) na pewnie akcje z ich przeglądarek.Już w pamięci podręcznejZawsze usuwaj zarówno produkt, jak i kategorie w przypadku zmiany ilości lub stanu zapasów.Opcjonalny drugi parametr może być użyty do określenia kontroli pamięci podręcznej. Użyj spacji, aby oddzielićDołącz string zapytania %s do zasobów, aby obejść tę akcję.Zastosowano preset %1$s %2$sZastosuj PresetCzy na pewno chcesz usunąć wszystkie istniejące czarne listy?Czy na pewno usunąć wszystkie zoptymalizowane obrazki?Czy na pewno chcesz wyczyścić wszystkie węzły chmury?Czy na pewno chcesz rozłączyć się z QUIC.cloud? Nie spowoduje to usunięcia żadnych danych z kokpitu QUIC.cloud.Czy na pewno chcesz ponownie wykryć najbliższy serwer chmury dla tej usługi?Czy na pewno chcesz usunąć wszystkie kopie zapasowe obrazków?Czy na pewno chcesz przywrócić wszystkie ustawienia do wartości domyślnych?Asynchroniczne ładowanie CSS z krytycznym CSSDołącz informacje PHP do raportu. Zaznacz to pole, aby wstawić odpowiednie dane z %s.Archiwum autoraAutomatyczne wersje roboczeZasady automatycznego oczyszczania dla publikowania / aktualizacjiAutomatyczne żądanie CronAutomatyczne skalowanie oryginalnych obrazkówAutomatyczne wczytywanieAutomatyczne wczytywanie wpisówRozmiar automatycznego wczytywaniaAutomatycznie wczytaj listę najlepszychAutomatyczne generowanie krytycznego CSS odbywa się w tle za pośrednictwem kolejki opartej na cron.Automatyczne generowanie unikatowego kodu CSS odbywa się w tle za pośrednictwem kolejki opartej na cron.Automatycznie uaktualnijAutomatycznie włącz wstępne pobieranie DNS dla wszystkich adresów URL w dokumencie, łącznie z obrazkami, arkuszami CSS, skryptami JavaScript itd.Automatycznie generuj LQIP w tle za pomocą kolejki cron.Automatycznie usuwaj oryginalne kopie zapasowe obrazków po pobraniu zoptymalizowanych obrazków.Automatycznie zastępuj duże obrazki wersjami skalowanymi.Automatycznie żądaj optymalizacji za pomocą zadania cron.Dostępne za %d sekund(y)Lista awatarów w kolejce oczekujących na aktualizacjęŚcieżka zaplecza .htaccessKontrola zaplecza HeartbeatZaplecze Heartbeat TTLBackup utworzony %1$s przed zastosowaniem presetu %2$sPodstawowePodstawowy symbol zastępczy obrazkaPrzedNajlepsza dostępna wydajność WordPressaNajlepsza dostępna wydajność WordPress, najszybszy na świecie czas do połączenia (TTFB), łatwa konfiguracja i %swięcej%s!Beta testyCzarna listaZablokowanoUmieszczony na czarnej liście, ponieważ nie można go buforowaćObydwie %1$s i %2$s są przyjmowane.Obydwa schematy URLi i cząstek mogą zostać użyte.Mogą być używanie pełne lub częściowe stringi.PrzeglądarkaPamięć podręczna przeglądarkiUstawienia pamięci podręcznej przeglądarkiTTL Pamięci podręcznej przeglądarkiPamięć podręczna przeglądarki przechowuje statyczne pliki lokalnie w przeglądarce użytkownika. Włącz to ustawienie w celu zredukowania wielokrotnych żądań statycznych plików.Domyślnie zostanie użyty szary obrazek zastępczy dla %s.Domyślnie strony Moje konto, Kasa i Koszyk są automatycznie wykluczane z buforowania. Błędna konfiguracja powiązań stron w ustawieniach WooCommerce może spowodować błędne wykluczenie niektórych stron.Z założenia ta opcja może wyświetlać nieaktualną treść. Nie włączaj tej opcji, jeśli Ci to nie odpowiada.CCSS według adresu URLLista dozwolonych selektorów CCSSCDNCDN - WyłączonyCDN - WłączonyCDN - niedostępny dla anonimowych użytkownikówSzerokość pasma CDNUstawienia CDNCDN URLAdres URL CDN, który ma być użyty. Na przykład %sPołącz CSS & JSPołączenie CSSCSS łączy zewnętrzne i wbudowaneWykluczenia CSSCSS MinifyUstawienia CSSMinifikacja CSS, JS i HTMLPamięć podręczna CSS/JSPamięć podręcznaZapisuj pasek administratoraZapisz formularz komentarzyZapisuj komentujących w pamięci podręcznejUstawienia kontroli pamięci podręcznejTrafienie pamięci podręcznejZapisuj w pamięci podręcznej dla zalogowanych użytkownikówStrona logowania pamięci podręcznejBrak pamięci podręcznejZapisuj urządzenia mobilneZapisuj REST API do pamięci podręcznejStatus pamięci podręcznejPamięć podręczna WP-AdminKlucz pamięci podręcznej musi być liczbą całkowitą lub niepustym ciągiem znaków, podano %s.Klucz pamięci podręcznej nie może być pustym ciągiem.Żądania dotyczące pamięci podręcznej wywołane przez wywołania API WordPressa REST.Buforuj wbudowany blok ESI paska administratora.Zapisz w pamięci podręcznej wbudowany blok ESI Comment Form.Buforuje całą witrynę, łącznie z dynamiczną treścią i <strong>blokami ESI</strong>.Oblicz przestrzeń dyskową kopii zapasowychOblicz miejsce zajęte przez oryginalne obrazyPomyślnie obliczono kopie zapasowe.Nie mogę utworzyć folderu: %1$s. Błąd: %2$sAnulujKategoriaCertyfikat lub plik klucza nie istnieje.Zmieniono ustawienie pomyślnie.Zmiany tego ustawienia nie dotyczą już wygenerowanych LQIP. Aby ponownie wygenerować istniejące LQIP, najpierw %s z menu paska administratora.Sprawdź statusSprawdź moje publiczne IP zSprawdź tutaj stan najważniejszych ustawień i kondycję swojej sieci CDN.Zaznacz tę opcję aby użyć ustawień głównej strony na wszystkich podstronach.Wybierz rozmiary obrazków, które chcesz zoptymalizować.Wyczyść wszystkoWyczyść mapę robota indeksującegoWyczyść niedokończone daneWyczyść wszystkie auto zapisane szkiceWyczyść wszystkie osierocone meta rekordy wpisówWyczyść wszystkie rewizje postówWyczyść wszystkie komentarze spamoweWyczyszczono wszystko.Wyczyść wszystkie trackbacki i pingbackiWyczyść wszystkie opcje przejścioweWyczyszczono wszystkie dane tymczasowe.Wyczyść wszystkie usunięte komentarzeWyczyść wszystkie usunięte wpisy i stronyWyczyszczono wszystkie automatyczne wersje robocze.Wyczyść wygasłe opcje przejścioweWyczyszczono wszystkie zakończone dane tymczasowe.Pomyślnie wyczyszczono osierocone meta wpisu.Wyczyszczono wszystkie rewizje.Wyczyść wersje starsze niż %1$s dni, z wyłączeniem %2$s najnowszych wersjiWyczyszczono wszystkie spamerskie komentarze.Pomyślnie wyczyszczono trackbacki i pingbacki.Wyczyszczono wszystkie usunięte komentarze.Wyczyszczono wszystkie usunięte strony i posty.Wyczyszczono wszystkie krytyczne pliki CSS.Wyczyszczono wszystkie pliki Gravatara.Wyczyszczono wszystkie pliki LQIP.Wyczyszczono wszystkie unikatowe pliki CSS.Wyczyszczono wszystkie dane VPI.Wyczyszczono wszystkie zlokalizowane wpisy zasobów.Pomyślnie wyczyszczono niedokończone dane.WyczyśćWyczyść pamięć podręczną %s po uruchomieniu opcji „Wyczyść wszystko”.Wyczyść pamięć podręczną CloudflareWyczyść dziennikiUsunięto %1$s nieprawidłowych obrazków.Wyczyść wszystkie wpisy pamięci podręcznej związane z tą witryną, w tym także z innymi aplikacjami internetowymi.Kliknij tutaj, aby kontynuować.Kliknij tutaj, aby ustawić.Kliknij, aby wyczyścić wszystkie węzły w celu ich ponownego wykrycia.Kliknij, aby skopiowaćKliknij, aby przejść do wersji zoptymalizowanej.Kliknij, aby przejść do wersji oryginalnej (niezoptymalizowanej).Zamknij wyskakujące okienkoBłąd chmurySerwer w chmurze odrzucił aktualne żądanie z powodu limitu transferu. Spróbuj ponownie później.Serwer w chmurze odrzucił bieżące żądanie z powodu niepobranych obrazków. Najpierw pobierz obrazki.CloudflareCloudflare APICloudflare API jest wyłączone.Pamięć podręczna CloudflareDomena CloudflareUstawienia CloudflareStrefa CloudflareZwiń Query StringsPołącz pliki CSS i wbudowany kod CSS.Połącz wszystkie lokalne pliki JS w jeden plik.Komentarze są obsługiwane. Rozpocznij wiersz od %s, aby przekształcić go w wiersz komentarza.Połączenie z Cloudflare pomyślnie.Gratulacje! Twój plik został już zoptymalizowanyGratulacje, %s pomyślnie skonfigurował tę domenę na potrzeby anonimowych usług online.Gratulacje, %s pomyślnie skonfigurował tę domenę dla usług online z usługą CDN.Gratulacje, %s pomyślnie skonfigurował tę domenę na potrzeby usług online.Gratulacje, wszystkim zebranym!Data połączenia:Test połączeniaSieć dostarczania treściUsługa sieciowa dostarczania treściKonwertuj do InnoDBKonwersja do InnoDB zakończona sukcesem.Nazwa CookieSymulacja CookieWartości CookieKopiuj dziennikNie można znaleźć %1$s w %2$s.Interwał robota indeksującegoRobot indeksującyCron robota indeksującegoUstawienia ogólne robota indeksującegoDziennik indeksowaniaStatus robota indeksującegoCrawler wyłączony przez administratora serwera.Lista wyłączonych robotów indeksujących jest wyczyszczona! Wszystkie roboty indeksujące są ustawione na aktywne! Robot(y) indeksujący(e)Roboty indeksujące nie mogą działać jednocześnie. Jeśli zarówno cron, jak i uruchomienie ręczne uruchomią się w podobnym czasie, pierwszeństwo będzie miało to, które zostanie uruchomione jako pierwsze.Utwórz post, upewnij się, że pierwsza strona jest poprawna.Stworzone z ❤️ przez zespół LiteSpeed.Liczba punktów nie jest wystarczająca do realizacji bieżącego żądania.Krytyczny CSSKrytyczne reguły CSSNazwa cronAktualna zawartość: %sAktualne węzły chmury w użyciuNajbliższy serwer w chmurze to %s. Kliknij, aby ponownie go wykryć.Aktualny robot indeksujący wystartował wAktualna pozycja identyfikatora wpisu z obrazkiemAktualny limit toAktualne obciążenie serweraAktualny czas serwera to %s.Aktualny robot indeksujący mapę strony wystartował wAktualny status to %1$s od %2$s.Aktualny stan to %s.Aktualnie aktywny robot indeksującyAktualnie ustawione na %sObecnie korzystam ze zoptymalizowanej wersji pliku AVIF.Obecnie używana jest zoptymalizowana wersja pliku WebP.Obecnie korzystam ze zoptymalizowanej wersji pliku.Obecnie korzystam z oryginalnej (niezoptymalizowanej) wersji pliku AVIF.Obecnie korzystam z oryginalnej (niezoptymalizowanej) wersji pliku WebP.Obecnie używana jest oryginalna (niezoptymalizowana) wersja pliku.Niestandardowa mapa stronyUstawienia optymalizacji bazy danychWstępne połączenie DNSWstępne pobieranie DNSKontrola wstępnego pobierania DNSWstępne pobieranie DNS dla plików statycznychDzienne archiwumKokpitBaza danychOptymalizator bazy danychPodsumowanie bazy danychKonwerter silnika tabel bazy danychBaza danych do wykorzystaniaDzień/dniWyłączWyłącz pamięć podręczną LiteSpeedWyłącz wtyczkęNarzędzia pomocnicze do debugowaniaPoziom debugowaniaDziennik zdarzeńUstawienia debugowaniaWyklucza ciąg debugowaniaWykluczenia debugowania URIDebugowanie URI zawieraDomyślneDomyślna pamięć podręcznaDomyślny TTL kanału informacjiDomyślny TTL strony głównejDomyślna strona kodowa stanu HTTP TTLDomyślny czas życia obiektuDomyślny TTL prywatnej pamięci podręcznejDomyślny Publiczny Cache TTLDomyślny REST TTLDomyślny TTL dla obiektów pamięci podręcznej.Domyślna ścieżka toDomyślnym portem dla %1$s jest %2$s.Wartość domyślnaOdroczonyOdroczenie do momentu przeanalizowania strony lub opóźnienie do momentu interakcji może pomóc w zmniejszeniu rywalizacji o zasoby i poprawić wydajność, co skutkuje niższym FID (metryka podstawowych wskaźników internetowych).Opóźnij renderowanie elementów HTML poza ekranem za pomocą ich selektora.OpóźnionyUsuń wszystkie kopie zapasowe oryginalnych obrazkówZapewnia globalny zasięg dzięki rozwijającej się <strong>sieci ponad 80 punktów obecności</strong>.Zniszcz wszystkie dane optymalizacjiPomyślnie zniszczono wszystkie dane optymalizacyjne.Określa, jak zmiany ilości produktów i stanu zapasów produktów wpływają na strony produktów i ich powiązane strony kategorii.Tryb deweloperskiTryb deweloperski zostanie wyłączony automatycznie po trzech godzinach.Tryb deweloperski zostanie automatycznie wyłączony za %s.WyłączWyłącz wszystkie funkcjeWyłącz wszystkie funkcje na 24 godzinyWyłącz pamięć podręcznąWyłącz leniwe wczytywanie obrazkaWyłącz VPIWyłącz interwał heartbeat WordPressa w celu zmniejszenia obciążenia serwera.Wyłącz tę opcję, aby generować CCSS na typ wpisu zamiast na stronę. Może to zaoszczędzić znaczną ilość CCSS, jednak może to skutkować niepoprawnym stylem CSS, jeśli Twoja witryna używa kreatora stron.WyłączonoPomyślnie wyłączono plik AVIF.Wyłączono plik WebP.Wyłączenie tego może spowodować, że zadania WordPress wyzwalane przez AJAX przestaną działać.Wyłączenie tej opcji może mieć negatywny wpływ na wydajność.Rozłącz się z QUIC.cloudOdrzućOdrzuć to powiadomienieUkryj komunikat.Nie zapisuj w pamięci podręcznej kategoriiNie zapisuj w pamięci podręcznej ciasteczekNie zapisuj w pamięci podręcznej grupNie zapisuj w pamięci podręcznej query stringówNie buforuj rólNie zapisuj w pamięci podręcznej tagówNie zapisuj w pamięci podręcznej URLówNie buforuj agentów użytkownikaNie usuwaj kategorii po zmianie ilości lub stanu zapasów.Nie pokazuj tego ponownieDomenaObniżenie nie jest zalecane. Może powodować błąd krytyczny z powodu refaktoryzowanego kodu.Usuń ciąg zapytańESIKody jednorazowe ESIUstawienia ESIESI pozwala Ci wyznaczyć części Twojej dynamicznej strony jako oddzielne fragmenty, które są następnie składane razem, aby utworzyć całą stronę. Innymi słowy, ESI pozwala Ci „wybić dziury” na stronie, a następnie wypełnić te dziury treścią, która może być buforowana prywatnie, buforowana publicznie z własnym TTL lub wcale nie być buforowana.Przykład ESI dla programistówEdytor HeartbeatEdytor Heartbeat TTLElementy z atrybutem %s w kodzie HTML zostaną wykluczone.Elementy z atrybutem %s w kodzie html zostaną wykluczone.Adres e-mailOpróżnij cały cacheWyczyść czarną listęWłącz wszystkie funkcjeWłącz pamięć podręcznąWłącz ESIWłącz QUIC.cloud CDNWłącz usługi QUIC.cloudWłącz usługi QUIC.cloudWłącz automatyczne generowanie obrazów typu Viewport przez crona.Włącz zastępowanie WebP/AVIF w elementach %s, które zostały wygenerowane poza logiką WordPress.Włącz tę opcję, jeśli używasz zarówno protokołu HTTP, jak i HTTPS w tej samej domenie i zauważysz nieprawidłowości w pamięci podręcznej.WłączonoPomyślnie włączono plik AVIF.Włączono plik WebP.Włączenie buforu LiteSpeed w programie WordPress umożliwia buforowanie sieci.Powód zakończeniaSilnikWprowadź adres IP tej strony, aby umożliwić usługom chmurowym bezpośrednie wywołanie IP zamiast nazwy domeny. Eliminuje to koszty związane z wyszukiwaniem DNS i CDN.Błąd: Nie udało się zastosować ustawień %1$sZasadniczeWszystko, co w Zaawansowanych, PlusWszystko, co w Inwazyjnych, PlusWszystko, co w Basic, PlusWszystko, co w Zasadniczych, PlusPrzykładPrzykład użycia:Przykłady przypadków testowych zawierają:Wyklucz ścieżkęWykluczone ustawieniaNie zawieraZakończone dane tymczasoweEksportUstawienia eksportuEkstremalneNiepowodzenieNie udało się wykonać kopii zapasowej pliku %s, odrzucono zmiany.Nie można połączyć się z CloudflareNie udało się nawiązać komunikacji z serwerem QUIC.cloudNie udało się utworzyć tabeli Awatar. Postępuj zgodnie z <a %s>wskazówkami dotyczącymi tworzenia tabeli z LiteSpeed ​​Wiki</a>, aby zakończyć konfigurację.Nie udało się utworzyć tabeli %1$s! SQL: %2$s.Nie udało się wykryć adresu IPNie udało się pobrać zawartości pliku %s.Nie udało się pobrać danych echa z WPAPINie udało się przeanalizować statusu aktywacji %s.Nie powiodło się żądanie przez WordPressAktualizacja nie powiodła się.Nie udało się zweryfikować danych aktywacyjnych %s.Błąd zapisu do %s.Szybkie wykorzystanie kolejkiPlik %s nie jest zapisywalny.Nazwa pliku jest pusta!PlikówFiltr %s dostępny dla generowania UCSS według rodzaju strony.Filtr %s jest dostępny do zmiany progu.Filtr %s jest wspierany.Katalog nie istnieje: %sFolder nie jest zapisywalny: %s.Optymalizacja wyświetlania kroju pismaW przypadku adresów URL zawierających symbole wieloznaczne może wystąpić opóźnienie w inicjowaniu zaplanowanego czyszczenia.Na przykładNa przykład %1$s definiuje TTL na %2$s sekund dla %3$s.Na przykład %s można użyć do przezroczystego elementu zastępczego.Na przykład dla %1$s można tutaj użyć %2$s i %3$s.Na przykład dla %1$s można tutaj użyć %2$s.Jeśli na przykład każda strona w witrynie ma inne formatowanie, wpisz %s w polu. Oddzielne krytyczne pliki CSS będą przechowywane dla każdej strony w witrynie.Na przykład, aby usunąć parametry zaczynające się od %1$s, można tutaj użyć %2$s.Z tego powodu, należy przetestować witrynę, aby upewnić się, że wszystko nadal funkcjonuje prawidłowo.Wymuś identyfikatory URI pamięci podręcznejWymuś publiczne identyfikatory URI pamięci podręcznejWymuś cronWymuszone buforowanieDostępny bezpłatny miesięczny limit.Dostępny bezpłatny miesięczny limit. Można również używać anonimowo (nie jest wymagany adres e-mail).Strona głównaŚcieżka front-endu .htaccessKontrola front-endu HeartbeatFront-end Heartbeat TTLOgólneUstawienia ogólneGeneruj LQIP w tleGenerowanie linku dla aktualnego użytkownikaWygeneruj UCSSWygeneruj oddzielną kopię pamięci podręcznej dla mini koszyka, gdy koszyk nie jest pusty.Wygenerowano %sWygenerowanymi odnośnikami można zarządzać w %sUstawieniach%s.Pobierz z %s.Globalny klucz API / token APIGlobalne grupyNajszybszy globalnie TTFB, łatwa konfiguracja i %s!Przejdź do kokpitu QUIC.cloudPrzejdź to listy wtyczekDobre wieści z serwera QUIC.cloudGoogle reCAPTCHA zostanie automatycznie pominięte.Pamięć podręczna GravataraPamięć podręczna Gravatar CronPamięć podręczna Gravatar TTLGrupy zapisywane w pamięci podręcznej na poziomie sieci.GośćTryb gościaTryb gościa wyklucza JSTryb Gościa i optymalizacja dla GościNie udało się przetestować trybu gościa.Tryb gościa przeszedł testy.Tryb gościa zapewnia zawsze buforowaną stronę docelową dla zautomatyzowanego gościa podczas pierwszej wizyty, a następnie próby aktualizacji pamięci podręcznej różnią się za pośrednictwem AJAX.Wynik testu trybu gościaOptymalizacja gościAtrybut HTML do zastąpieniaHTML zachowuje komentarzeSelektory leniwego wczytywania HTMLHTML MinifyUstawienia HTMLTylko źródła HTTPS.HeartbeatKontrola HeartbeatWysokowydajne buforowanie stron i optymalizacja strony od LiteSpeedWyższy TTL (Czas życia pakietu)HistoriaOdsłonyStrona głównaHostJak naprawić problemy spowodowane przez optymalizację CSS / JS.Jednak nie ma możliwości poznania wszystkich możliwych dostosowań, które zostały wdrożone.Htaccess nie pasował do opcji konfiguracji.Regułka htaccess jest: %sRecenzja została już przeze mnie dodanaJeśli %1$s wynosi %2$s, to %3$s musi zostać wypełnione!Jeśli WŁĄCZONY, nieaktualna kopia strony z pamięci podręcznej będzie wyświetlana odwiedzającym, dopóki nie będzie dostępna nowa kopia z pamięci podręcznej. Zmniejsza obciążenie serwera podczas kolejnych wizyt. Jeśli WYŁĄCZONY, strona będzie generowana dynamicznie, podczas gdy odwiedzający będą czekać.Jeżeli komentarz, który ma zostać zachowany, wygląda następująco: %1$s napisz: %2$sJeśli każda aplikacja WWW używa tego samego pliku cookie, serwer może zmylić użytkownika, czy użytkownik jest zalogowany, czy nie.Jeśli nie, sprawdź ustawienia na karcie %sZaawansowane%s.Jeżeli chcesz wyczyścić tylko witrynę WordPress, użyj opcji Wyczyść wszystko.Jeśli ustawione na %1$s, zanim element zastępczy zostanie zlokalizowany, zostanie użyta konfiguracja %2$s.Jeśli ustawiono %s to działanie odbywa się na pierwszym planie, co może spowolnić ładowanie strony.Jeśli nazwa kategorii nie zostanie znaleziona, kategoria zostanie usunięta z listy po zapisaniu.Jeśli plik cookie logowania został ostatnio zmieniony w ustawieniach, wyloguj się i zaloguj.Jeśli tag slug nie zostanie znaleziony, znacznik zostanie usunięty z listy w przypadku zapisu.Jeśli masz jakiekolwiek pytania, zespół zawsze chętnie odpowie na nie na %sforum wsparcia%s.Jeśli ten numer jest mniejszy niż 30, kanały nie będą zapisywane w pamięci podręcznej.Jeśli używasz OpenLiteSpeed, musisz go zrestartować aby zmiany odniosły efekt.Jeśli używasz gniazda %1$s, %2$s powinno być ustawione na %3$sJeśli korzystałeś z optymalizacji obrazka, najpierw %szniszcz wszystkie dane optymalizacji%s. UWAGA: nie spowoduje to usunięcia zoptymalizowanych obrazków.Jeśli doświadczysz jakichkolwiek problemów, odwołaj się do tego w swoim raporcie pomocy technicznej.Jeżeli wyłączysz którekolwiek z powyższych ustawień, usuń powiązane rodzaje plików z pola %s.Jeśli nie chcesz grzebać przy LiteSpeed, możesz wyłączyć tę wtyczkę.Jeśli Twoja witryna zawiera publiczną treść, którą mogą zobaczyć pewne role użytkowników, ale inne role nie, możesz określić Grupa Vary dla tych ról użytkowników. Na przykład określenie administrator grupy vary pozwala na utworzenie osobnej strony buforowanej publicznie, dostosowanej do administratorów (z odnośnikami „edytuj” itp.), podczas gdy wszystkie inne role użytkowników widzą domyślną stronę publiczną.Jeśli Twój motyw nie używa JavaScript do aktualizacji mini koszyka, musisz włączyć tę opcję, aby wyświetlić prawidłową zawartość koszyka.Iframy zawierające te nazwy klas nie będą leniwie wczytywane.Iframy posiadające te nazwy klas nadrzędnych nie będą leniwie wczytywane.Ignoruj pewne ciągi zapytań podczas buforowania. (wymaga LSWS %s)Informacje o obrazieOptymalizacja obrazkówUstawienia optymalizacji obrazkówPodsumowanie optymalizacji obrazkaRozmiary grup miniaturek obrazkówGrupy obrazów ogółemWysłane obrazkiObrazki zawierające tą nazwę klasy nie będą wczytywane przez lazy load.Obrazki posiadające te nazwy klas nadrzędnych nie będą leniwie wczytywane.Obrazki nie zostały zażądaneObrazy zgłoszone do przesłaniaObrazy zoptymalizowane i wysłaneObrazki gotowe na żądanieZażądane obrazyObrazki zostaną pobrane automatycznie, jeśli zadanie cron będzie uruchomione.ImportImport / EksportUstawienia importuImportowanie nie powiodło się z powodu błędu pliku.Pomyślnie importowano plik ustawień %s.Popraw zgodność z HTTP/HTTPSZwiększ szybkość wp-admin poprzez buforowanie. (Może wystąpić problem z wygasłymi danymi)Ulepszone przezAby uniknąć błędu ulepszenia, musisz używać wersji %1$s lub nowszej, zanim będziesz mógł wykonać ulepszenie do wersji %2$s.Aby korzystać z usług QC, trzeba mieć prawdziwą nazwę domeny, nie można używać IP.Aby korzystać z większości usług QUIC.cloud, potrzebujesz określonego limitu. QUIC.cloud co miesiąc przyznaje Ci bezpłatny limit, ale jeśli potrzebujesz większego limitu, możesz go dokupić.Dołącz CSSDodane typy rozszerzeńZałącz obrazkiDołącz JSDołącz zewnętrzny CSS i wbudowany CSS do połączonego pliku, gdy %1$s jest również włączony. Ta opcja pomaga zachować priorytety CSS, co powinno zminimalizować potencjalne błędy spowodowane przez Łączenie CSS.Dołącz zewnętrzny JS i wbudowany JS do połączonego pliku, gdy %1$s jest również włączony. Ta opcja pomaga zachować priorytety wykonywania JS, co powinno zminimalizować potencjalne błędy spowodowane przez Łączenie JS.Dołączone katalogiWewnętrzny CSS Async LibDodano wbudowany kod CSS do PołączeniaDodano wbudowany kod JS do PołączeniaWbudowany UCSS w celu zmniejszenia dodatkowego wczytywania pliku CSS. Ta opcja nie będzie automatycznie włączana dla stron %1$s. Aby użyć jej na stronach %1$s, ustaw ją na WŁĄCZ.ZainstalujZainstaluj %sZainstaluj DoLogin SecurityZainstalujNatychmiastowe kliknięcieBłędny adres IPNiepoprawne ciasteczko logowania. Znaleziono niepoprawne znaki.Nieprawidłowy plik ciasteczka logowania. Sprawdź plik %s.Nieprawidłowa reguła przepisywaniaZDECYDOWANIE zaleca się, aby najpierw przetestować zgodność z innymi wtyczkami na jednej/kilku witrynach.Plik zostanie na bieżąco przekonwertowany na symbol zastępczy SVG w formacie base64.Połącz JSJS łączy zewnętrzne i wbudowaneJS Defer dla zewnętrznego i wbudowanego JSJS wyklucza odroczony/opóźnionyOpóźnij ładowanie JSOpóźnienie JS obejmujeWykluczenia JSJS MinifyUstawienia JSBłąd JS można znaleźć w konsoli programisty przeglądarki, klikając prawym przyciskiem myszy i wybierając polecenie Sprawdź.Dołącz do społeczności LiteSpeed SlackDołącz do nas na SlackuDołącz do społeczności %s.Wyłącz tę opcję, aby użyć symboli zastępczych w jednolitym kolorze.LQIPPamięć podręczna LQIPGenerator chmur LQIPLQIP wykluczaMinimalne wymiary LQIPJakość LQIPPodgląd obrazka LQIP dla rozmiaru %sŻądania LQIP nie będą wysyłane w przypadku obrazków, których szerokość i wysokość są mniejsze od podanych wymiarów.LSCacheFunkcja pamięci podręcznej LSCache na tej stronie jest aktualnie niedostępna!Większa liczba wygeneruje symbol zastępczy o wyższej rozdzielczości, ale spowoduje to utworzenie większego pliku, co zwiększy rozmiar strony i zużyje więcej punktów.Większy niżOstatnie pociągnięcieOstatnio pobraneData ostatniego raportuOstatni numer raportuOstatnie żądanieOstatnio obliczonoOstatni kompletny czas wykonania dla wszystkich robotów indeksującychOstatnio indeksowanoOstatnie indeksowanie:Ostatni eksportOstatnio wygenerowanyOstatnio wygenerowano: %sOstatnio zaimportowanoOstatni interwałOstatnie wysyłanie zainicjowane przez crona o %s.Ostatnio uruchmionoKoszt ostatniego żądaniaOstatnie żądanie: %sNazwa klasy iframe leniwego wczytywania wykluczaNazwa klasy nadrzędnej iframe leniwego wczytywania wykluczaLazy Load IframeówWykluczona nazwa klasy leniwego wczytywania obrazkaWykluczone leniwe wczytywanie obrazkaNazwa klasy nadrzędnej leniwego wczytywania obrazka wykluczaLeniwe ładowanie obrazkówWykluczenia leniwego wczytywania URILeniwe ładowanie iframe'ówLeniwe ładowanie obrazkówDowiedz się więcejDowiedz się więcej o QUIC.cloudDowiedz się więcejDowiedz się więcej o tym, kiedy jest to potrzebneDowiedz się więcej lub kup dodatkowy limit.Połącz i włącz QUIC.cloud CDNOdnośnik do QUIC.cloudPołączono ze środowiskiem podglądu QUIC.cloud, wyłącznie w celach testowych.Lista użytkowników mobilnychWymień typy treści, w których każdy element tego typu powinien mieć wygenerowany własny CCSS.Wypisz selektory CSS, których style powinny być zawsze uwzględniane w CCSS.Wypisz selektory CSS, których style powinny być zawsze uwzględniane w UCSS.Wymienione pliki CSS lub wbudowany kod CSS nie zostaną zminimalizowane ani połączone.Wymienione pliki CSS zostaną wyłączone z UCSS i zapisane w treści.Udostępnienie wymienionych plików JS lub wbudowanego kodu JS będzie opóźnione.Wymienione pliki JS lub wbudowany kod JS nie zostaną odroczone ani opóźnione.Wymienione pliki JS lub wbudowany kod JS nie zostaną zminimalizowane ani połączone.Wymienione pliki JS lub wbudowany kod JS nie zostaną zoptymalizowane przez %s.Wymieniony URI nie wygeneruje UCSS.Obrazki z listy nie będą ładowane przez Lazy Load.LiteSpeed CacheLiteSpeed Cache CDNUstawienia wstępne konfiguracji LiteSpeed CacheRobot indeksujący LiteSpeed CacheKokpit LiteSpeed ​​CacheOptymalizacja bazy danych LiteSpeed CacheUstawienia ogólne pamięci podręcznej LiteSpeedOptymalizacja obrazka pamięci podręcznej LiteSpeedUstawienia sieciowej pamięci podręcznej LiteSpeed CachePamięć podręczna LiteSpeed ​​OptimaXOptymalizacja strony LiteSpeed CacheOpróżnij cały LiteSpeed CacheUstawienia LiteSpeed CacheStandardowe ustawienia LiteSpeed CacheNarzędzia LiteSpeed CacheWidok pamięci podręcznej LiteSpeed ​​.htaccessPamięć podręczna LiteSpeed ​​jest wyłączona. Ta funkcja nie będzie działać.Usługa LiteSpeed ​​Cache jest tymczasowo wyłączona do: %s.Wtyczka LiteSpeed Cache jest zainstalowana!Robot indeksujący Cron LiteSpeedLogi LiteSpeedOptymizacja LiteSpeedRaport LiteSpeedLiteSpeed TechnologiesLiteSpeed Web ADCSerwer WWW LiteSpeedWtyczka pamięci podręcznej LiteSpeed ​​została ulepszona. Odśwież stronę, aby zakończyć aktualizację danych konfiguracyjnych.Wczytuj CSS asynchronicznieZaładuj Google Fonts asynchonicznieOpóźnij ładowanie JSWczytaj iframe tylko wtedy, gdy pojawią się w obszarze widoku.Wczytaj obrazki tylko wtedy, gdy pojawią się w obszarze widoku.LokalizacjaPliki lokalizacyjneUstawienia lokalizacjiZlokalizuj zasobyZlokalizuj zasoby zewnętrzne.Zlokalizowane zasobyLoguj limit rozmiaru plikówPrzegląd logówCiasteczko logowaniaMiejsce na obrazek o niskiej jakościMBZarządzajRęcznie dodano do listy blokowaniaRęczne uruchomienieMapaOznacz tę stronę jako Maksymalny identyfikator wpisu z obrazkiemMaksymalna wartośćMoże późniejMoże późniejWykluczone mediaUstawienia mediówKomunikat z serwera QUIC.cloudMetodaZminimalizuj pliki CSS i wbudowany kod CSS.Minifikacja zawartości HTML.Zminimalizuj pliki JS i wbudowany kod JS.Minimalna wartośćBrakMobilnyZasady agenta mobilnegoCache dla urządzeń mobilnychMiesięczne archiwumWięcejWięcej informacji na temat dostępnych komend możesz znaleść tutaj.Więcej ustawieńWięcej ustawień dostępnych jest poniżej menu %sMój Kokpit QUIC.cloudNotatkaUWAGA: QUIC.cloud CDN i Cloudflare nie korzystają z mapowania CDN. Jeśli korzystasz tylko z QUIC.cloud lub Cloudflare, pozostaw to ustawienie %s.PowiadomienieUWAGA:INFORMACJA: Ciasteczko logowania w bazie danych nie zgadza się z twoim.Kokpit sieciWłącz sieciową pamięć podręcznąDostępna nowa wersja dla programistów!Nowa wersja jest dostępna!Nowa wersja dla programistów %s jest już dostępna.Nowe wydanie %s jest dostępne.AktualnościFormat obrazu nowej generacjiBrak dostępnego węzła w chmurze po sprawdzeniu obciążenia serwera.Brak dostępnego węzła chmury.Brak dostępnej strefy CloudflareNie istnieje kopia zapasowa oryginalnego pliku.Brak kopii zapasowej niezoptymalizowanego pliku AVIF.Nie istnieje kopia zapasowa niezoptymalizowanego pliku WebP.Obecnie nie są używane żadne usługi w chmurzeNie wygenerowano jeszcze pliku meta dla robota indeksującegoBrak pólBrak optymalizacjiNie znaleziono rozmiarów.Serwer w chmurze nie znalazł prawidłowego obrazka w bieżącym żądaniu.Nie znaleziono prawidłowego obrazka w bieżącym żądaniu.Nie przetworzono żadnej prawidłowej mapy witryny dla robota indeksującego.Węzeł:Nie do pamięci podręcznejNiedostępneNie umieszczono na czarnej liścieZa mało parametrów. Sprawdź, czy połączenie QUIC.cloud jest poprawnie skonfigurowane.NotatkaUwagiPowiadomieniePowiadomieniaPowiadomiono Cloudflare, aby oczyścił wszystko z powodzeniem.Powiadomiono Cloudflare, aby pomyślnie ustawił tryb developerski na %s.Powiadomiono serwer WWW LiteSpeed ​​o konieczności usunięcia wpisów CSS/JS.Powiadomiono LiteSpeed Web Server, aby wyczyścił wszystkie wpisy LSCache.Powiadomiono serwer WWW LiteSpeed ​​o konieczności usunięcia wszystkich stron.Powiadomiono LiteSpeed Web Server o usunięciu stron błędów.Powiadomiono serwer internetowy LiteSpeed ​​o konieczności usunięcia wszystkiego.Powiadomiono serwer LiteSpeed w celu oczyszczenia strony głównej.Poinformowano Serwer LiteSpeed o usunięciu listy.WyłączWłOPcache nie jest włączony.OPcache jest ograniczony ustawieniem %s.LUBObiektPamięć podręczna obiektówUstawienia pamięci podręcznej obiektuPamięć podręczna obiektów nie jest włączona.Oferuje opcjonalną <strong>wbudowaną usługę DNS</strong>, aby uprościć wdrażanie CDN.Po odinstalowaniu wszystkie ustawienia wtyczki zostaną usunięte.Po zapisaniu zostanie dopasowany do bieżącej listy i wypełniony automatycznie.Jeden lub więcej pobranych obrazków nie pasuje do zgłoszonego obrazka md5Jeden na linię.Usługi onlineNależy ponownie wykryć węzeł online.Tylko wymienione tutaj atrybuty zostaną zastąpione.Dostępne tylko po zainstalowaniu %s.Tylko pliki znajdujące się w tych katalogach będą kierowane do CDN.Loguj tylko wybrane strony.Optymalizuj strony tylko dla gości (niezalogowanych). Jeśli WYŁĄCZYSZ tę opcję, pliki CSS/JS/CCSS zostaną podwojone przez każdą grupę użytkowników.Naciśnij przycisk tylko wtedy, gdy zadanie pull cron jest wyłączone.Pamięć podręczna OpcodeSerwer WWW OpenLiteSpeedUżytkownicy OpenLiteSpeed proszeni są o sprawdzenie tegoOperacjaOptimaXUstawienia OptimaXPodsumowanie OptimaXStatus optymalizacjiPodsumowanie optymalizacjiNarzędzia optymalizacyjneOptymalizuj dostarczanie CSS.Optymalizacja rozmiarów obrazkówZoptymalizuj bezstratnieZoptymalizuj oryginalne obrazkiOptymalizuj tabeleZoptymalizuj wszystkie tabele w swojej bazie danychOptymalizuj tylko dla gościZoptymalizuj obrazki i zapisz kopie zapasowe oryginałów w tym samym folderze.Optymalizuj obrazki używając kompresji bezstratnej.Zoptymalizuj obrazki za pomocą naszego serwera QUIC.cloudZoptymalizowano wszystkie tabele.Nazwa opcjiOpcjonalnieOpcjonalnie, gdy używany jest token API.Opcjonalnie tworzy pliki obrazków WebP lub AVIF nowej generacji.Opcje zapisane.OryginałOryginał %sOryginał zapisany %sOryginalne URLOryginalny plik zmniejszony o %1$s (%2$s)Osierocone meta wpisuInneInny statyczny CDNInne checkboxy będą zignorowane.Zapisuje dane do serii plików w katalogu %s.Saldo PAYGKwota PAYG wykorzystana w tym miesiącu: %s. Saldo i wykorzystanie PAYG nie zostały uwzględnione w powyższym obliczeniu limitu.Obsługiwana jest stała PHP %s.Czas ładowania stronyOptymalizacja stronyWynik PageSpeedStronyKorzyści dla partnerów zapewniane przezZaliczonoHasłoLink bez hasłaŚcieżka musi kończyć się z %sŚcieżki zawierające te łańcuchy będą buforowane bez względu na ustawienia, których nie można buforować.Ścieżki zawierające te ciągi zostaną zmuszone do umieszczenia w pamięci podręcznej niezależnie od ustawień bez-buforowania.Ścieżki zawierające te stringi nie będą zapisywane.Ścieżka zawierająca te stringi nie będzie serwowana przez CDN.Płać za użytkowanieStatystyki użytkowania usługi Płać za użytkowanieTrwałe połączenieProsimy o wyłączenie następujących wykrytych wtyczek, gdyż mogą one kolidować z LiteSpeed ​​Cache:Proszę NIE udostępniać nikomu powyższego linku bez hasła.Proszę włączyć LiteSpeed Cache w ustawieniach wtyczki.Włącz moduł LSCache na poziomie serwera lub skontaktuj się z dostawcą usług hostingowych.Upewnij się, że ten adres IP jest właściwy do odwiedzenia Twojej witryny.Proszę przeczytać wszystkie ostrzeżenia przed włączeniem tej opcji.Zobacz %s, aby dowiedzieć się więcej.Aby dowiedzieć się, jak utworzyć zadanie systemowe cron, zapoznaj się z tematem %sPodłączanie WP-Cron do harmonogramu zadań systemowych%s.Przetestuj dokładnie, włączając dowolną opcję z tej listy. Po zmianie ustawień Minifikuj/Połącz, wykonaj akcję Wyczyść wszystko.Dokładnie przetestuj wszystkie elementy w %s, aby upewnić się, że działają zgodnie z oczekiwaniami.Dokładnie przetestuj każdy dodawany plik JS, aby mieć pewność, że działa zgodnie z oczekiwaniami.Proszę spróbować po %1$s dla usługi %2$s.Aby dowiedzieć się, jak przetestować pamięć podręczną, odwiedź stronę %sInformacja%s.Wtyczka jest zbyt skomplikowanaPortPozycja: Identyfikator wpisuWersje wpisuArchiwum typu treściWstępne połączenie przyspiesza przyszłe wczytywania z danego źródła.Predefiniowana lista zostanie również połączona z powyższymi ustawieniamiPredefiniowana lista będzie również połączona z powyższymi ustawieniamiPredefiniowana lista będzie również połączona z powyższymi ustawieniami.Wstępne pobieranie DNS może zmniejszyć opóźnienia dla odwiedzających.Podczas optymalizacji zachowaj dane EXIF ​​(prawa autorskie, GPS, komentarze, słowa kluczowe itp.).Zachowaj dane EXIF/XMPPresetyNaciśnij przycisk %s, aby przerwać beta testy i wrócić do aktualnej wersji z WordPress Plugin Directory.Naciśnij przycisk %s, aby użyć najnowszego zatwierdzenia GitHub. Master jest dla kandydata do wydania, a Dev jest dla testowania eksperymentalnego.Zapobiegaj ładowaniu Google Fonts na wszystkich stronach.Zapobiega powstawaniu logów w dzienniku debugowania wymienionych stron.Zapobiegaj leniwemu wczytywaniu wymienionych stron.Zapobiegaj jakiejkolwiek optymalizacji wymienionych stron.Zapobiegaj zapisywaniu wpisów do dziennika, które zawierają wymienione ciągi znaków.Poprzednie żądanie jest zbyt nowe. Spróbuj ponownie po %s.Poprzednie zapytanie było zbyt aktualne. Proszę spróbować ponownie później.Wcześniej znajdował się na czarnej liściePrywatnyPrywatna pamięć podręcznaPrywatne zapisane URLePrywatna pamięć podręcznaPrywatnie buforuj komentujących, którzy mają oczekujące komentarze. Wyłączenie tej opcji spowoduje wyświetlanie komentatorom stron, których nie można buforować. (LSWS %s wymagane)Prywatnie zapisuj strony front-endu dla zalogowanych użytkowników. (LSWS %s wymagany)Przetwarza przesłane obrazki PNG i JPG, aby uzyskać mniejsze wersje bez utraty jakości.Przetwarzanie formatów obrazków PNG, JPG i WebP jest bezpłatne. AVIF jest dostępny za opłatą.Interwał aktualizacji produktuZapewnia <strong>bezpieczeństwo na poziomie CDN</strong>, chroniąc Twój serwer przed atakami.PublicznePubliczna pamięć podręcznaPull Cron jest uruchomionyŚciągnij obrazkiPobrany obrazek AVIF md5 nie pasuje do zgłoszonego obrazka AVIF md5.Pobrany obrazek WebP md5 nie pasuje do zgłoszonego obrazka WebP md5.WyczyśćWyczyść błąd %sWyczyść %s stron błędówOpróżnij wszystkoWyczyść wszystkie rozszerzeniaWyczyść wszystko przy ulepszeniuWyczyść z...Wyczyść wszystkoWyczyść stronę głównąLista czyszczeniaDziennik oczyszczaniaWyczyść stronyWyczyść ustawieniaPomyślnie wyczyszczono całą pamięć podręczną obiektów.Usuń wszystkie pamięci podręczne obiektówOpróżniaj cache kategorii tylko wtedy, gdy zmieni się dostępość produktu.Wyczyszczono %s kategoriiWyczyść strony używając nazwy kategorii - e.g. %2$s powinno zostać użyte dla adresu URL %1$s.Wyczyść strony używając ID postów.Usuwanie stron według względnego lub pełnego adresu URL.Wyczyść strony używając tagów - e.g. %2$s powinno zostać użyte dla adresu %1$s.Wyczyść stronę produktu i kategorie tylko po zmianie stanu zapasów.Wyczyść produkt w przypadku zmiany ilości lub stanu zapasów.Wyczyść stronę produktu tylko w przypadku zmiany stanu zapasów.Wyczyść znacznik %sWyczyść wpisy pamięci podręcznej LiteSpeed ​​utworzone przez tę wtyczkęWyczyść wpisy pamięci podręcznej utworzone przez tę wtyczkę, z wyjątkiem pamięci podręcznej Critical CSS, Unique CSS i LQIPWyczyść tę stronęWyczyszczono %s adresów URLWyczyszczono wszystko!Wyczyszczono całą pamięć podręczną pomyślnie.Usunięto adres URL!Wyczyszczono ten blog!Wyczyszczono!Wysłano %1$s na serwer w chmurze, zaakceptowano %2$s.QUIC.cloudQUIC.cloud CDNOpcje CDN QUIC.cloudPrzegląd stanu QUIC.cloud CDNSieć CDN QUIC.cloud <strong>nie jest dostępna</strong> dla użytkowników anonimowych (niepowiązanych).Sieć CDN QUIC.cloud jest obecnie <strong>całkowicie wyłączona</strong>.QUIC.cloud CDN:Integracja QUIC.cloud wyłączonaWłączona integracja QUIC.cloudIntegracja QUIC.cloud włączona z ograniczeniamiUsługi online QUIC.cloudStatystyki wykorzystania usługi QUIC.cloudQUIC.cloud zapewnia usługi CDN i optymalizacji online i nie jest wymagane. Możesz używać wielu funkcji tej wtyczki bez QUIC.cloud.Usługa optymalizacji obrazka QUIC.cloud wykonuje następujące czynności:Usługi online QUIC.cloud ulepszają Twoją witrynę w następujący sposób:Usługi optymalizacji stron QUIC.cloud rozwiązują problem nadmiaru stylów CSS i poprawiają komfort użytkowania strony podczas jej wczytywania, co może prowadzić do poprawy wyników szybkości wczytywania strony.Dostęp QUIC.cloud do interfejsu API REST WP wydaje się być zablokowany.Query stringi zawierające te parametry nie będą zapisywane w pamięci podręcznej.Oceń %1$s na %2$sPrzeczytaj dokumentację LiteSpeedZalecane jest wygenerowanie tokenu przy użyciu szablonu tokenu API Cloudflare „WordPress”.Zalecana wartość: 28800 sekund (8 godzin).Wykryj ponowniePonownie wykryto węzełID bazy danych REDISRedis napotkał fatalny błąd: %s (kod: %d)OdświeżOdśwież mapę robota indeksującegoOdśwież pamięć podręczną Gravatar przez crona.Odśwież status QUIC.cloudOdśwież statusOdśwież użycieOdśwież czas wczytywania stronyOdśwież wynik stronyWygeneruj ponownie i wyślij nowy raportPozostały dzienny limitUsuń adres URL CDNaUsuń czcionki GoogleUsuń znaczniki NoscriptUsuń oryginalne kopie zapasoweUsuń oryginalne kopie zapasowe obrazówUsuń integrację QUIC.cloud z tej witryny. Uwaga: dane QUIC.cloud zostaną zachowane, dzięki czemu będziesz mógł ponownie włączyć usługi w dowolnym momencie. Jeśli chcesz całkowicie usunąć swoją witrynę z QUIC.cloud, usuń najpierw domenę za pomocą kokpitu QUIC.cloud.Usuń query stringsUsuń ciągi zapytań z plików statycznychUsuń emoji WordPressaUsuń teraz flagę „Wyłącz wszystkie funkcje”Usuń wszystkie poprzednie żądania / wyniki optymalizacji obrazu, przywróć ukończone optymalizacje i usuń wszystkie pliki optymalizacji.Usuń wszystkie wcześniejsze niedokończone żądania optymalizacji obrazu.Usuń symulację cookieUsuń z czarnej listyUsuń ciągi zapytań z wewnętrznych zasobów statycznych.Usunięto nieużywany CSS u użytkownikówKopie zapasowe zostały pomyślnie usunięte.Zamień %1$s z %2$s.RaportPodczas optymalizacji należy zażądać wersji WebP/AVIF oryginalnych obrazków.Żądano: %s temuŻądania w kolejcePonowne skanowanie nowych miniaturekPomyślnie przeskanowano %d obrazków.Ponowne skanowanie przebiegło pomyślnie.Zresetowanie aktywacji %s powiodło się.Zresetuj wszystkie ustawieniaZresetuj ustawieniaPomyślnie zresetowano licznik optymalizacji obrazka.Zresetuj pozycjęPomyślnie zresetowano ustawienia.Resetowanie OPcache nie powiodło się.Pomyślnie zresetowano cały OPcache.Zresetuj całą pamięć podręczną kodu operacjiZrestartowano zoptymalizowane dane pomyślnie.Zasoby wymienione tutaj zostaną skopiowane i zastąpione lokalnymi adresami URL.Responsywny element zastępczyResponsywny symbol zastępczy koloruResponsywny symbol zastępczy SVGElementy zastępcze obrazu responsywnego mogą pomóc w zmniejszeniu przetasowania układu podczas wczytywania obrazków.Przywróć ustawieniaPrzywracanie z kopii zapasowejPrzywrócono ustawienia z kopii zapasowej %1$sPrzywrócono oryginalny plik.Wyniki można sprawdzić w %sMultimediach%s.Maksymalny wiek wersjiMaksymalna ilość rewizjiWersje nowsze niż ta liczba dni zostaną zachowane podczas czyszczenia wersji.Wykluczone roleSymulacja roliUruchom kolejkę %s ręcznieCzęstotliwość uruchamianiaUruchom kolejkę ręcznieCzęstotliwość uruchamiania jest ustawiana przez ustawienie Interwał między uruchomieniami.Ostatni czas uruchomienia robota indeksującegoUruchomionySKŁADNIA: alfanumeryczna i „_”. Bez spacji i z uwzględnieniem wielkości liter.SKŁADNIA: alfanumeryczna i „_”. Bez spacji i z uwzględnieniem wielkości liter. MUSI BYĆ UNIKATOWA W INNYCH APLIKACJACH SIECIOWYCH.Zapisz zmianyZapisuj dane tymczasowe w bazie danych tylko wtedy gdy %1$s wynosi %2$s.ZapisanoNie udało się zapisać opcji. IPv4 tylko dla %s.Próg skalowanego rozmiaruZeskanuj wszystkie nowe niezoptymalizowane rozmiary miniatur obrazu i wyślij ponownie wymagane żądania optymalizacji obrazu.Zaplanowany czas czyszczeniaZaplanowane adresy URLAby uzyskać szczegółowe informacje, zapoznaj się z %sWprowadzeniem do włączania modułu indeksującego%s.Wybierz "Wszystko", jeśli istnieją dynamiczne widgety połączone ze stanowiskami na stronach innych niż strony frontowe lub domowe.Wybierz poniżej opcję "Wyczyść przez".Wybierz tylko typy archiwów, które są aktualnie używane, pozostałe pozostają niezaznaczone.Wybierz, które strony zostaną automatycznie usunięte podczas publikowania / aktualizowania postów.Wybrane role zostaną wykluczone ze wszystkich optymalizacji.Wybrane role zostaną wykluczone z pamięci podręcznej.Selektory muszą istnieć w CSS. Klasy nadrzędne w HTML nie będą działać.Wyślij żądanie optymalizacjiWyślij ten raport do LiteSpeed. Odwołaj się do tego numeru raportu podczas publikowania na forum pomocy WordPressa.Wyślij do LiteSpeedWyślij na Twittera, aby otrzymać bonus %sOddzielne typy treści CCSSOddzielne identyfikatory URI pamięci podręcznej CCSSOsobne pliki krytycznego CSS zostaną wygenerowane dla ścieżek zawierających te wpisy.Podawać przestarzałeUdostępniaj oddzielną kopię pamięci podręcznej użytkownikom urządzeń mobilnych.Obsługuj wszystkie pliki CSS przez CDN. Będzie to miało wpływ na wszystkie pliki WP CSS w kolejce.Obsługuj wszystkie pliki JavaScript przez CDN. Będzie to miało wpływ na wszystkie pliki WP JavaScript w kolejce.Obsługuj wszystkie pliki graficzne przez CDN. Będzie to miało wpływ na wszystkie załączniki, znaczniki HTML %1$s i atrybuty CSS %2$s.Szybko obsługuj swoich gościAdres IP serweraLimit obciążenia serweraSerwer dopuszcza maksymalną wartość: %sWartość wymuszona przez serwer: %sZmienna(e) serwera %s dostępne do nadpisania tego ustawienia.Usługa:Ustaw konkretną szerokość i wysokość elementów obrazka, aby ograniczyć przesunięcia układu i usprawnić CLS (metryka podstawowych wskaźników internetowych).Ustaw, aby dodać %1$s do wszystkich reguł %2$s przed buforowaniem CSS, aby określić sposób wyświetlania krojów pisma podczas pobierania.Ustaw na %1$s, aby zabronić Heartbeat na %2$s.Konfigurowanie własnych nagłówkówUstawienia główneSkróć łańcuchy zapytań w dzienniku debugowania w celu zwiększenia czytelności.Wyświetl stan robotaLekko poprawia czas ładowania zamieniając obrazki na ich %s zoptymalizowane wersje.Adres URL witryny, który ma być obsługiwany przez CDN. Zaczynający się od %1$s. Na przykład %2$s.Witryna nie została rozpoznana. QUIC.cloud został automatycznie wyłączona. Proszę ponownie aktywować konto QUIC.cloud.Wydajność witryny jest gorszaLista mapy witrynyMapa witryny ogółemMapa witryny została pomyślnie wyczyszczonaMapa witryny utworzona pomyślnie: %d elementówRozmiarLista rozmiarów w kolejce czeka na cronaMniejszy niżLicznik optymalizacji miękkiego resetuNiektóre zoptymalizowane pliki obrazków utraciły ważność i zostały usunięte.Komentarze zawierające spamOkreśl obraz base64, który będzie używany jako symbol zastępczy podczas ładowania innych obrazów.Określ akcję AJAX w POST/GET oraz liczbę sekund, przez które żądanie będzie buforowane, rozdzielając je spacją.Podaj kod statusu HTTP i liczbę sekund, przez które strona ma być buforowana, rozdzielając je spacją.Określ plik SVG, który będzie używany jako symbol zastępczy podczas generowania lokalnego.Określ krytyczne reguły CSS w przypadku treści ponadgrupowych po włączeniu %s.Wpisz jak długo w sekundach robot indeksujący powinien inicjować ponowne indeksowanie całej mapy strony.Określ, jak długo, w sekundach, pliki Gravatar są przechowywane w pamięci podręcznej.Określ, jak długo, w sekundach, połączenia REST są buforowane.Określ jak długo w sekundach, kanały mają być przechowywane w pamięci podręcznej.Określ, jak długo, w sekundach, prywatne strony będą przechowywane w pamięci podręcznej.Określ, jak długo, w sekundach, publiczne strony będą przechowywane w pamięci podręcznej.Określ, jak długo (w sekundach) będzie buforowana strona główna.Określić interwał heartbeat w %s sekundach.Określ maksymalny rozmiar pliku dziennika.Określ liczbę ostatnich wersji, które mają zostać zachowane podczas czyszczenia wersji.Określ hasło używane podczas łączenia.Określ jakość podczas generowania LQIP.Określ responsywny kolor symbolu zastępczego SVG.Określ czas czyszczenia listy "%s".Określ, które atrybuty elementów HTML zostaną zastąpione mapowaniem CDN.Określ, które atrybuty elementu zostaną zastąpione przez WebP/AVIF.Przyspiesz jeszcze bardziej swoją witrynę WordPress dzięki <strong>usługom online QUIC.cloud i CDN</strong>.Przyspiesz jeszcze bardziej swoją witrynę WordPress dzięki usługom online i CDN QUIC.cloud.Podziel się miłością i zyskaj %s kredytów do wykorzystania w naszych usługach online QUIC.cloud.Standardowe ustawienia wstępneZacznij oglądać...Rozpoczęto indeksowanie asynchroniczneUruchomiono asynchroniczne żądanie optymalizacji obrazkaStatyczne odnośniki plików do zastąpienia przez odnośniki CDN.StanPrzestań ładować emoji z wordpress.org. Zamiast tego będą się wyświetlały emoji z przeglądarki.Optymalizacja pamięci masowejPrzechowuj Gravatar lokalnie.Zapisuj dane tymczasoweWyślij zgłoszeniePomyślnie zindeksowanoPodsumowanieForum wsparciaPewnie, chętnie napiszę recenzję!ZamieńWróć do używania zoptymalizowanych obrazków w swojej witrynieObrazki zamieniono pomyślnie.Przełączono na zoptymalizowany plik.Pomyślnie zsynchronizowano status QUIC.cloud.Synchronizacja limitu kredytowego z serwerem w chmurze przebiegła pomyślnie.Synchronizuj dane z chmuryInformacje systemoweTTLTabelaTagTymczasowo pomiń pamięć podręczną Cloudflare. Pozwala to na obserwowanie zmian w serwerze źródłowym w czasie rzeczywistym.Archiwum terminu taksonomii (zawiera kategorie, tagi i taksonomie)TestowanieDziękujemy za używanie wtyczki LiteSpeed Cache!Opcja adresu IP administratora spowoduje generowanie komunikatów dziennika tylko w odpowiedzi na żądania pochodzące z adresów IP administratora wymienionych poniżej.Wtyczka  LiteSpeed Cache jest używania do zapisywania stron w pamięci podręcznej -  prosty sposób na przyspieszenie twojej strony.Połączenie QUIC.cloud jest nieprawidłowe. Spróbuj ponownie zsynchronizować połączenie QUIC.cloud.Adresy URL (jedna na linię) zostaną automatycznie usunięte w czasie ustawionym w opcji "%s".Adresy URL zostaną porównane ze zmienną serwera REQUEST_URI.Usługa Viewport Images wykrywa, które obrazki pojawiają się nad linią zagięcia i wyklucza je z leniwego wczytywania.Powyższe kody jednorazowe zostaną automatycznie przekonwertowane na ESI.Czas w sekundach, przez który pliki będą przechowywane w pamięci podręcznej przeglądarki przed wygaśnięciem.Pamięć podręczna musi rozróżnić, kto jest zalogowany do witryny WordPress, aby poprawnie zapisywać buforowanie.Walidacja wywołania zwrotnego do Twojej domeny nie powiodła się z powodu niezgodności skrótu.Walidacja wywołania zwrotnego do Twojej domeny nie powiodła się. Upewnij się, że żadna zapora nie blokuje naszych serwerów.Walidacja wywołania zwrotnego do Twojej domeny nie powiodła się. Upewnij się, że żadna zapora nie blokuje naszych serwerów. Kod odpowiedzi: Zestaw cookie ustawiony tutaj będzie używany do tej instalacji WordPress.Funkcja indeksująca nie jest włączona na serwerze LiteSpeed. Skonsultuj się z administratorem serwera lub dostawcą hostingu.Robot indeksujący użyje Twojej mapy witryny XML lub indeksu mapy witryny. Wpisz tutaj pełny adres URL swojej mapy witryny.Obecny serwer jest mocno obciążony.Baza danych jest aktualizowana w tle od %s. Ten komunikat zniknie po zakończeniu aktualizacji.Wyłączenie jest tymczasoweDomyślnym ciastkiem logowania jest %s.Raport środowiska zawiera szczegółowe informacje o konfiguracji WordPress.Poniższe funkcje są dostarczane przez %sPoniższe opcje są zaznaczone, ale nie są dostępne do edycji na stronie ustawień.Ustawienie jakości kompresji obrazka w WordPressie na 100.Lista obrazków jest pusta.Najnowszy plik danych toLista zostanie scalona ze zdefiniowanymi wcześniej znacznikami w lokalnym pliku danych.Maksymalne dozwolone obciążenie serwera podczas indeksowania. Liczba wątków robota przeszukiwacza będzie aktywnie zmniejszana do czasu, gdy średni poziom obciążenia serwera spadnie poniżej tego limitu. Jeśli nie można tego osiągnąć jednym pojedynczym wątkiem, bieżący robot indeksujący zostanie zakończony.Administrator sieci zaznaczył wszystkie ustawienia głównej strony dla wszystkich podstron.Możesz tutaj nadpisać ustawienia administratora sieci.Następne kompletne indeksowanie mapy witryny rozpocznie się zaKolejka jest przetwarzana asynchronicznie. Może to zająć trochę czasu.Selektor musi istnieć w CSS. Klasy nadrzędne w HTML nie będą działać.Serwer ustali, czy użytkownik jest zalogowany, na podstawie istnienia tego pliku ciasteczka.Ta witryna nie jest prawidłowym aliasem w domenie QUIC.cloud.Witryna nie jest zarejestrowana na QUIC.cloud.Użytkownik o identyfikatorze %s ma dostęp do edytora, co nie jest dozwolone w przypadku symulatora roli.Inna instancja WordPressa jest zainstalowana (NIE MULTISTRONA) jest w %sNa %s jest zainstalowany WordPress.Kolejka nie została jeszcze uruchomiona.Kolejka nie jest jeszcze pobrana. Informacje o kolejce: %s.Obrazy te nie wygenerują LQIP.Te opcje są dostępne tylko z LiteSpeed Enterprise Web Server lub QUIC.cloud CDN.Te ustawienia będą zrozumiałe dla ZAAWANSOWANYCH UŻYTKOWNIKÓW.Wykorzystanie w tym miesiącu: %sTa czynność powinna być wykonywana wyłącznie wtedy, gdy cache nie działa prawidłowo.To może być również predefiniowane w %2$s przy użyciu stałych %1$s, przy czym to ustawienie ma priorytet.Może poprawić czas ładowania strony redukując wczesne zapytania HTTP.Może to poprawić jakość, ale może skutkować większymi obrazami niż kompresja stratna.Może to poprawić szybkość wczytywania strony.To może zwiększyć szybkość twojej strony w serwisach takich jak Pingdom, GTmetrix i PageSpeed.Dzięki temu początkowy ekran strony może zostać wyświetlony w całości bez żadnych opóźnień.To jest nieodwracalne.To sprawdzi kompatybilność aby umożliwić włączenie pamięci podręcznej dla wszystkich stron.Ten preset o niskim stopniu ryzyka wprowadza podstawowe optymalizacje pod kątem szybkości i doświadczenia użytkownika. Odpowiedni dla początkujących entuzjastów.To może spowodować duże obciążenie na Twoim serwerze.To wiadomość informuje o tym, że wtyczka została zainstalowana przed administratora Twojego serwera.Jest to bezpieczny preset, odpowiedni dla wszystkich stron internetowych. Dobry dla nowicjuszy, prostych stron internetowych lub rozwoju ukierunkowanym na pamięć podręczną.Opcja ta może pomóc skorygować różnice w pamięci podręcznej dla niektórych zaawansowanych użytkowników urządzeń mobilnych i tabletów.Opcja ta pozwala na maksymalną optymalizację dla użytkowników korzystających z trybu gościa.Ta opcja jest pomijana, ponieważ opcja %1$s jest równa %2$s.Ta opcja jest pomijana ze względu na opcję %s.Opcja ta może spowodować błąd JS lub problemy z układem na stronach front-endowych z niektórymi motywami/wtyczkami.Ta opcja automatycznie ominie opcję %s.Ta opcja usunie wszystkie znaczniki %s z kodu HTML.Ten preset prawie na pewno będzie wymagał testów i wykluczeń niektórych plików CSS, JS i Lazy Loadowanych obrazków. Zwróć szczególną uwagę na loga oraz obrazy sliderów oparte na HTML.To ustawienie jest dobre dla większości witryn i mało prawdopodobne, aby powodowało konflikty. Wszelkie konflikty CSS lub JS można rozwiązać za pomocą narzędzi Optymalizacja strony > Strojenie.Ten preset może działać od ręki dla wielu stron, ale upewnij się, że go przetestujesz! Niektóre wykluczenia CSS lub JS mogą być konieczne w Optymalizacja Strony > Dostosowywanie.Ten proces jest automatyczny.To ustawienie jest %1$s dla pewnych kwalifikujących się żądań z powodu %2$s!To ustawienie jest przydatne dla tych, którzy mają wiele aplikacji internetowych dla tej samej domeny.To ustawienie edytuje plik .htaccess.To ustawienie spowoduje ponowne wygenerowanie listy robotów indeksujących i wyczyszczenie listy wyłączonych!Ta strona korzysta z buforowania w celu przyspieszenia czasu reakcji i lepszego doświadczenia użytkownika. Buforowanie potencjalnie przechowuje duplikat każdej strony internetowej wyświetlanej w tej witrynie. Wszystkie pliki pamięci podręcznej są tymczasowe i nigdy nie są dostępne dla osób trzecich, z wyjątkiem sytuacji, gdy jest to konieczne do uzyskania pomocy technicznej od dostawcy wtyczki pamięci podręcznej. Pliki pamięci podręcznej wygasają zgodnie z harmonogramem ustalonym przez administratora witryny, ale mogą zostać łatwo usunięte przez administratora przed ich naturalnym wygaśnięciem, jeśli będzie to konieczne. Możemy korzystać z usług QUIC.cloud w celu tymczasowego przetwarzania i buforowania Twoich danych.Ta wartość zostanie nadpisana przez zmienną %s.Wartość ta zostanie nadpisana przez ustawienie sieciowe.Wartość ta zostanie nadpisana przez stałą PHP %s.Wartość ta zostanie nadpisana przez filtr.Wartość ta zostanie nadpisana przez ustawienie witryny głównej.Spowoduje to wyczyszczenie tylko pierwszej stronySpowoduje to wyczyszczenie tylko stronBędzie to miało wpływ na wszystkie znaczniki zawierające atrybuty: %s.Spowoduje to również dodanie wstępnego połączenia z krojami pisma Google, co umożliwi wcześniejsze nawiązanie połączenia.Spowoduje to wykonanie kopii zapasowej aktualnych ustawień i zastąpienie ich presetem %1$s. Czy chcesz kontynuować?To wyczyści WSZYSTKO w pamięci podręcznej.Spowoduje to usunięcie wszystkich zbuforowanych plików gravatarSpowoduje to usunięcie wszystkich wygenerowanych obrazków widokuSpowoduje to usunięcie wszystkich wygenerowanych krytycznych plików CSSSpowoduje to usunięcie wszystkich plików LQIP elementów zastępczych  dla wygenerowanych obrazówSpowoduje to usunięcie wszystkich wygenerowanych unikalnych plików CSSSpowoduje to usunięcie wszystkich zlokalizowanych zasobówSpowoduje to wyłączenie funkcji LSCache i wszystkich funkcji optymalizacji dla celów debugowania.To wyłączy stronę ustawień na wszystkich podstronach.Spowoduje to usunięcie nieużywanych arkuszy CSS z każdej strony połączonego pliku.Spowoduje to włączenie funkcji cron dla robota indeksującego.Spowoduje to wyeksportowanie wszystkich bieżących ustawień LiteSpeed ​​Cache i zapisanie ich w pliku.Spowoduje to wygenerowanie dodatkowych żądań do serwera, co zwiększy obciążenie serwera.Spowoduje to wygenerowanie symbolu zastępczego o takich samych wymiarach jak obrazek, jeśli ma atrybuty szerokości i wysokości.Spowoduje to zaimportowanie ustawień z pliku i zastąpienie wszystkich bieżących ustawień pamięci podręcznej LiteSpeed.Zwiększy to rozmiar plików zoptymalizowanych.Spowoduje to wstawienie asynchronicznej biblioteki CSS w celu uniknięcia blokowania renderowania.Spowoduje to usunięcie tylko wszystkich zminimalizowanych/połączonych wpisów CSS/JSSpowoduje to przywrócenie wszystkich ustawień domyślnych.Spowoduje to zresetowanie %1$s. Jeśli zmieniłeś ustawienia WebP/AVIF i chcesz wygenerować %2$s dla wcześniej zoptymalizowanych obrazków, użyj tej akcji.Przywróci to ustawienia zapasowe utworzone %1$s przed zastosowaniem presetu %2$s. Wszelkie zmiany dokonane od tego czasu zostaną utracone. Czy chcesz kontynuować?Czas wykonania poprzedniego żądania: %sAby przeszukać konkretny plik ciasteczka, wprowadź nazwę pliku ciasteczka i wartości, które chcesz przeszukać. Wartości powinny być po jednej na wiersz. Zostanie utworzony jeden indeksujący na wartość pliku ciasteczka, na symulowaną rolę.Aby indeksować witrynę jako zalogowany użytkownik, wprowadź identyfikatory użytkowników, które mają zostać symulowane.Aby zdefiniować niestandardowy czas życia (TTL) dla identyfikatora URI, należy na końcu identyfikatora URI dodać spację i wartość TTL.Aby wykonać dopasowanie typu exact match, dodaj symbol '$' na końcu adresu URL.Aby włączyć następującą funkcjonalność, należy włączyć Cloudflare API w ustawieniach CDN.Aby wykluczyć %1$s, wpisz %2$s.Aby wygenerować odnośnik bez hasła umożliwiający dostęp do zespołu wsparcia LiteSpeed, musisz zainstalować %s.Aby przyznać dostęp do konta wp-admin zespołowi pomocy technicznej LiteSpeed, wygeneruj odnośnik bez hasła dla aktualnie zalogowanego użytkownika. Odnośnik zostanie wysłany wraz z raportem.Aby mieć pewność, że nasz serwer będzie mógł komunikować się z Twoim serwerem bez żadnych problemów i wszystko będzie działać prawidłowo, w przypadku kilku pierwszych żądań liczba grup obrazków dozwolonych w pojedynczym żądaniu jest ograniczona.Aby zarządzać opcjami QUIC.cloud, przejdź do Kokpitu QUIC.cloud.Aby zarządzać opcjami QUIC.cloud, przejdź do portalu swojego dostawcy hostingu.Aby zarządzać opcjami QUIC.cloud, skontaktuj się ze swoim dostawcą hostingu.Aby dopasować początek, dodaj %s na początku elementu.Aby zapobiec buforowaniu %s, wprowadź je tutaj.Aby nie dopuścić do zapełnienia dysku, ustawienie to powinno być wyłączone, gdy wszystko działa.Aby losowo wybrać nazwę hosta CDN, zdefiniuj wiele nazw hostów dla tych samych zasobów.Aby korzystać z funkcji buforowania, musisz posiadać serwer WWW LiteSpeed ​​lub używać QUIC.cloud CDN.NarzędzieNarzędziaŁącznieCałkowita redukcjaCałkowite użycieŁącznie zoptymalizowane obrazki w tym miesiącuTrackbacki/PingbackiKomentarze w koszuUsunięte postyWypróbuj wersję GitHubTuningStrojenie ustawień CSSTuning UstawieńWyłączWłączWłączenie buforowania publicznych stron dla zalogowanych użytkowników oraz obsługa paska administratora i formularza komentarza za pomocą bloków ESI. Te dwa bloki zostaną odłączone, chyba że zostanie to włączone poniżej.Włącz, aby kontrolować Heartbeat w edytorze zaplecza.Włącz, aby kontrolować Heartbeat w zapleczu.Włącz, aby kontrolować Heartbeat we front-endzie.Włącz automatyczne aktualizacjeWłącz OptimaX. Spowoduje to automatyczne żądanie wyników OptimaX dla stron za pomocą zadania cron.Włącz tę opcję, aby LiteSpeed ​​Cache aktualizowało się automatycznie, gdy tylko zostanie wydana nowa wersja. Jeśli wyłączone, aktualizuj ręcznie jak zwykle.Włącz tę opcję, aby automatycznie wyświetlać najnowsze wiadomości, w tym hotfixy, nowe wersje, dostępne wersje beta, promocje.Włącz to ustawienie %s, jeśli używasz tradycyjnej sieci dostarczania treści (CDN) lub subdomeny dla treści statycznych z QUIC.cloud CDN.Podgląd tweetaTweetnij toWbudowany UCSSWykluczone pliki wbudowane UCSSLista dozwolonych selektorów UCSSWyklucza URI UCSSWykluczone URIŚcieżki URI zawierające te ciągi NIE będą buforowane jako publiczne.Adres URLWyszukiwanie adresu URLLista adresów URL w kolejce %s oczekująca na cronNie można automatycznie dodać %1$s jako aliasu domeny dla głównej domeny %2$s z powodu potencjalnego konfliktu CDN.Nie można automatycznie dodać %1$s jako aliasu domeny dla głównej domeny %2$s.Znaleziono nieoczekiwaną regułę pamięci podręcznej %2$s w pliku %1$s. Ta reguła może powodować wyświetlanie przez użytkowników starych wersji stron, ponieważ przeglądarka buforuje strony HTML. Jeśli masz pewność, że strony HTML nie są buforowane przez przeglądarkę, możesz odrzucić ten komunikat. (%3$sDowiedz się więcej%4$s)Unikatowy CSSNieznany błądAktualizuj teraz %sUlepszenieAktualizacja przebiegła pomyślnie.UżycieStatystyki użytkowania: %sUżyj %1$s w %2$s, aby zaznaczyć, że ten plik cookie nie został ustawiony.Użyj %1$s, aby ominąć UCSS dla stron, których rodzajem strony jest %2$s.Użyj %1$s, aby pominąć zdalne sprawdzanie wymiarów obrazka, gdy %2$s jest WŁĄCZONE.Użyj %1$s, aby wygenerować pojedynczy UCSS dla stron, których rodzajem strony jest %2$s, podczas gdy inne rodzaje stron nadal są przypisane do adresu URL.Użyj funkcjonalności API %s.Użyj mapowania CDNUżyj ustawień administratora sieciUżyj zoptymalizowanych plikówUżyj oryginalnych plikówUżyj głównych ustawień stronyUżyj usługi generatora QUIC.cloud LQIP (Obraz zastępczy niskiej jakości), aby uzyskać responsywne podglądy obrazków podczas wczytywania.Użyj usługi online QUIC.cloud do generowania kluczowych arkuszy CSS i asynchronicznego wczytywania pozostałych arkuszy CSS.Użyj usługi online QUIC.cloud do generowania unikatowego CSS.Użyj biblioteki Web Font Loader, aby ładować czcionki Google asynchronicznie, pozostawiając inne CSS w stanie nienaruszonym.Użyj oficjalnego presetu zaprojektowanego przez LiteSpeed, aby skonfigurować swoją stronę jednym kliknięciem. Wypróbuj podstawowe buforowanie bez ryzyka, ekstremalną optymalizację lub coś pomiędzy.Użyj funkcjonalności zewnętrznej pamięci podręcznej obiektów.Używaj połączeń keep-alive, aby przyspieszyć operacje w pamięci podręcznej.Użyj najnowszego zatwierdzenia GitHub DevUżyj najnowszego zatwierdzenia GitHub Dev/MasterUżyj najnowszego zatwierdzenia GitHub MasterUżyj najnowszej wersji z WordPress.orgUżywaj oryginalnych obrazków (niezoptymalizowanych) na swojej witrynieUżyj formatu %1$s lub %2$s (element opcjonalny)Ta sekcja służy do przełączania wersji wtyczki. Aby przetestować beta GitHub commit, wpisz adres URL commit w polu poniżej.Przydatne w przypadku obrazków umieszczanych w górnej części strony, które powodują CLS (metryka podstawowych wskaźników internetowych).Nazwa użytkownikaUżywanie zoptymalizowanej wersji pliku. VPIWartość z zastosowanego filtraZakres wartościZmienne %s zostaną zastąpione skonfigurowanym kolorem tła.Zmienne %s zostaną zastąpione odpowiednimi właściwościami obrazka.Różne pliki ciasteczkaGrupa zmiennaZróżnicowane dla mini koszykaZobacz szczegóły %1$s w wersji %2$sZobacz .htaccessWyświetl stronę przed zastosowaniem cacheZobacz stronę przed optymalizacjąObrazek rzutniGenerowanie obrazka widokuObrazki rzutniObrazek rzutni CronOdwiedź forum pomocy LSCWPOdwiedź swoją stronę będąc wylogowanym.OSTRZEŻENIEUWAGA: Plik cookie logowania .htaccess i plik cookie logowania do bazy danych nie są zgodne.OczekujeCzekanie na indeksowanieChcesz połączyć się z innymi użytkownikami LiteSpeed?Zobacz status robota ideksującegoJesteśmy dobrzy. Żadna tabela nie używa silnika MyISAM.Pracujemy ciężko, aby ulepszyć Twoje doświadczenie z usługą online. Usługa będzie niedostępna podczas naszych prac. Przepraszamy za wszelkie niedogodności.Plik WebP zmniejszony o %1$s (%2$s)WebP zapisane %sAtrybut WebP/AVIF do zastąpieniaWebP/AVIF dla dodatkowego ustawienia srcWitamy w LiteSpeedCzym jest grupa?Co to jest grupa obrazków?Gdy użytkownik najedzie kursorem na odnośnik strony, wstępnie wczyta tę stronę. Przyspieszy to wizytę na tym odnośniku.Po wyłączeniu pamięci podręcznej wszystkie wpisy z pamięci podręcznej dla tej witryny zostaną usunięte.Po włączeniu tej opcji pamięć podręczna zostanie automatycznie oczyszczona po uaktualnieniu dowolnej wtyczki, motywu lub WordPressa.Podczas minimalizowania kodu HTML nie należy usuwać komentarzy pasujących do określonego wzorca.Podczas zmiany formatu naciśnij %1$s lub %2$s, aby zastosować nowy wybór do wcześniej zoptymalizowanych obrazków.Po włączeniu tej opcji %s kroje pisma Google będą wczytywane asynchronicznie.Użycie funkcji leniwego wczytywania spowoduje opóźnienie wczytywania wszystkich obrazków na stronie.Kto powinien używać tego presetu?Dlaczego wyłączasz wtyczkę?Czas życia pamięci podręcznej widżetuWildcard %1$s wspierany (dopasuj zero lub więcej znaków). na przykład aby dopasować %2$s i %3$s, użyj %4$s.Obsługiwany jest symbol wieloznaczny %s.W przypadku ESI (Edge Side Includes) strony mogą być wyświetlane z pamięci podręcznej dla zalogowanych użytkowników.Po włączeniu QUIC.cloud CDN nadal możesz widzieć nagłówki pamięci podręcznej z lokalnego serwera.Ustawienia WooCommerceKontrola jakości obrazka WordPressInterwał ważności WordPressa wynosi %s sekund.WpW: Prywatna pamięć podręczna vs. Publiczna pamięć podręcznaRoczne archiwumObecnie korzystasz z usług jako anonimowy użytkownik. Aby zarządzać opcjami QUIC.cloud, użyj poniższego przycisku, aby utworzyć konto i połączyć się z Kokpitem QUIC.cloud.Możesz po prostu wpisać część domeny.Tutaj możesz wymienić różne pliki ciasteczka stron trzecich.Możesz szybko przełączać się między używaniem oryginalnych (niezoptymalizowanych wersji) i zoptymalizowanych plików graficznych. Będzie to miało wpływ na wszystkie obrazki na Twojej witrynie internetowej, zarówno zwykłe, jak i webp, jeśli są dostępne.Możesz zamówić maksymalnie %s obrazków na raz.Można włączyć pamięć podręczną przeglądarki w konfiguracji serwera. %sDowiedz się więcej o ustawieniach pamięci podręcznej przeglądarki LiteSpeed%s.Możesz włączyć krótkie kody w blokach ESI.Możesz użyć tego kodu %1$s w %2$s aby określić ścieżkę do pliku htaccess.Nie możesz usunąć tej strefy DNS, ponieważ jest ona nadal używana. Zaktualizuj serwery nazw domeny, a następnie spróbuj ponownie usunąć tę strefę, w przeciwnym razie Twoja witryna stanie się niedostępna.Masz obrazki czekające na pobranie. Poczekaj na zakończenie automatycznego pobierania lub pobierz je ręcznie teraz.Masz za dużo żądanych obrazków. Spróbuj ponownie za kilka minut.Wykorzystałeś cały dzienny limit na dziś.Wykorzystałeś cały limit usług bieżących w tym miesiącu.Właśnie odblokowałeś promocję od QUIC.cloud!Aby zmierzyć czas wczytywania strony, musisz używać jednego z poniższych produktów:Musisz ustawić %1$s na %2$s przed użyciem tej funkcji.Musisz ustawić %s przed użyciem tej funkcji.Najpierw musisz aktywować QC.Najpierw musisz ustawić %1$s. Użyj polecenia %2$s, aby to ustawić.Przed użyciem robota indeksującego musisz najpierw ustawić %s w UstawieniachAby uzyskać najlepsze rezultaty, należy włączyć %s i zakończyć generowanie plików WebP.Aby uzyskać najlepsze rezultaty, należy włączyć %s.Po usunięciu kopii zapasowych nie będzie można przywrócić optymalizacji!Aby korzystać z usług online, musisz ukończyć konfigurację %s.Twój limit %1$s na %2$s będzie nadal wykorzystywany.Twój adres IP lub nazwa hosta %s.Twój klucz/token API służy do dostępu do %s interfejsów API.Twój adres E-Mail na %s.Twoje IPTwój wniosek oczekuje na zatwierdzenie.Twoja domena została wykluczona z naszych usług z powodu wcześniejszego naruszenia zasad.Twój domain_key został tymczasowo umieszczony na czarnej liście, aby zapobiec nadużyciom. Możesz skontaktować się z pomocą techniczną w QUIC.cloud, aby dowiedzieć się więcej.Twój adres IP serweraTwoja witryna jest podłączona i gotowa do korzystania z usług online QUIC.cloud.Twoja witryna jest połączona i korzysta z usług online QUIC.cloud jako <strong>anonimowy użytkownik</strong>. Funkcja CDN i niektóre funkcje usług optymalizacji nie są dostępne dla użytkowników anonimowych. Połącz się z QUIC.cloud, aby korzystać z CDN i wszystkich dostępnych funkcji usług online.Zero lubkategorieciasteczkanp. Użyj %1$s lub %2$s.https://www.litespeedtech.comhttps://www.litespeedtech.com/products/cache-plugins/wordpress-accelerationwłaśniewięcejniezależnie od tego gdzie mieszkają.pikselipodaj więcej informacji tutaj, aby pomóc zespołowi LiteSpeed w debugowaniu.terazuruchomionesekundtagiautomatycznie wykryty adres IP może nie być dokładny, jeśli posiadasz dodatkowy zestaw adresów IP wychodzących lub jeśli na serwerze skonfigurowano wiele adresów IP.nieznanyuser agenciPKe^�\(translations/.ls_translation_check_fr_FRnu�[���PKe^�\(translations/.ls_translation_check_en_GBnu�[���PKe^�\'�o��6�6+translations/litespeed-cache-pl_PL.l10n.phpnu�[���<?php
return ['x-generator'=>'GlotPress/4.0.3','translation-revision-date'=>'2025-11-15 11:57:49+0000','plural-forms'=>'nplurals=3; plural=(n == 1) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);','project-id-version'=>'Plugins - LiteSpeed Cache - Stable (latest release)','language'=>'pl','messages'=>['This will delete all generated Viewport Images'=>'Spowoduje to usunięcie wszystkich wygenerowanych obrazków widoku','Cleaned all VPI data.'=>'Wyczyszczono wszystkie dane VPI.','Turn on OptimaX. This will automatically request your pages OptimaX result via cron job.'=>'Włącz OptimaX. Spowoduje to automatyczne żądanie wyników OptimaX dla stron za pomocą zadania cron.','LiteSpeed Cache OptimaX'=>'Pamięć podręczna LiteSpeed ​​OptimaX','OptimaX Settings'=>'Ustawienia OptimaX','OptimaX Summary'=>'Podsumowanie OptimaX','Choose which image sizes to optimize.'=>'Wybierz rozmiary obrazków, które chcesz zoptymalizować.','No sizes found.'=>'Nie znaleziono rozmiarów.','Optimize Image Sizes'=>'Optymalizacja rozmiarów obrazków','OptimaX'=>'OptimaX','LiteSpeed Cache is temporarily disabled until: %s.'=>'Usługa LiteSpeed ​​Cache jest tymczasowo wyłączona do: %s.','Remove `Disable All Feature` Flag Now'=>'Usuń teraz flagę „Wyłącz wszystkie funkcje”','Disable All Features for 24 Hours'=>'Wyłącz wszystkie funkcje na 24 godziny','LiteSpeed Cache is disabled. This functionality will not work.'=>'Pamięć podręczna LiteSpeed ​​jest wyłączona. Ta funkcja nie będzie działać.','Filter %s available to change threshold.'=>'Filtr %s jest dostępny do zmiany progu.','Scaled size threshold'=>'Próg skalowanego rozmiaru','Automatically replace large images with scaled versions.'=>'Automatycznie zastępuj duże obrazki wersjami skalowanymi.','Auto Rescale Original Images'=>'Automatyczne skalowanie oryginalnych obrazków','UCSS Inline Excluded Files'=>'Wykluczone pliki wbudowane UCSS','The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.'=>'Połączenie QUIC.cloud jest nieprawidłowe. Spróbuj ponownie zsynchronizować połączenie QUIC.cloud.','Not enough parameters. Please check if the QUIC.cloud connection is set correctly'=>'Za mało parametrów. Sprawdź, czy połączenie QUIC.cloud jest poprawnie skonfigurowane.','No fields'=>'Brak pól','Value from filter applied'=>'Wartość z zastosowanego filtra','This value is overwritten by the filter.'=>'Wartość ta zostanie nadpisana przez filtr.','This value is overwritten by the %s variable.'=>'Ta wartość zostanie nadpisana przez zmienną %s.','QUIC.cloud CDN'=>'QUIC.cloud CDN','Predefined list will also be combined with the above settings'=>'Predefiniowana lista będzie również połączona z powyższymi ustawieniami','Tuning CSS Settings'=>'Strojenie ustawień CSS','Predefined list will also be combined with the above settings.'=>'Predefiniowana lista będzie również połączona z powyższymi ustawieniami.','Clear'=>'Wyczyść','If not, please verify the setting in the %sAdvanced tab%s.'=>'Jeśli nie, sprawdź ustawienia na karcie %sZaawansowane%s.','Close popup'=>'Zamknij wyskakujące okienko','Deactivate plugin'=>'Wyłącz wtyczkę','If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images.'=>'Jeśli korzystałeś z optymalizacji obrazka, najpierw %szniszcz wszystkie dane optymalizacji%s. UWAGA: nie spowoduje to usunięcia zoptymalizowanych obrazków.','On uninstall, all plugin settings will be deleted.'=>'Po odinstalowaniu wszystkie ustawienia wtyczki zostaną usunięte.','Why are you deactivating the plugin?'=>'Dlaczego wyłączasz wtyczkę?','Other'=>'Inne','Plugin is too complicated'=>'Wtyczka jest zbyt skomplikowana','Site performance is worse'=>'Wydajność witryny jest gorsza','The deactivation is temporary'=>'Wyłączenie jest tymczasowe','Deactivate LiteSpeed Cache'=>'Wyłącz pamięć podręczną LiteSpeed','CDN - Disabled'=>'CDN - Wyłączony','CDN - Enabled'=>'CDN - Włączony','Connected Date:'=>'Data połączenia:','Node:'=>'Węzeł:','Service:'=>'Usługa:','Autoload top list'=>'Automatycznie wczytaj listę najlepszych','Autoload entries'=>'Automatyczne wczytywanie wpisów','Autoload size'=>'Rozmiar automatycznego wczytywania','This Month Usage: %s'=>'Wykorzystanie w tym miesiącu: %s','Usage Statistics: %s'=>'Statystyki użytkowania: %s','more'=>'więcej','Globally fast TTFB, easy setup, and %s!'=>'Najszybszy globalnie TTFB, łatwa konfiguracja i %s!','Last requested: %s'=>'Ostatnie żądanie: %s','Last generated: %s'=>'Ostatnio wygenerowano: %s','Requested: %s ago'=>'Żądano: %s temu','LiteSpeed Web ADC'=>'LiteSpeed Web ADC','OpenLiteSpeed Web Server'=>'Serwer WWW OpenLiteSpeed','LiteSpeed Web Server'=>'Serwer WWW LiteSpeed','PAYG used this month: %s. PAYG balance and usage not included in above quota calculation.'=>'Kwota PAYG wykorzystana w tym miesiącu: %s. Saldo i wykorzystanie PAYG nie zostały uwzględnione w powyższym obliczeniu limitu.','Last crawled:'=>'Ostatnie indeksowanie:','%1$s %2$d item(s)'=>'%1$s %2$d elementów','Start watching...'=>'Zacznij oglądać...','Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.'=>'Roboty indeksujące nie mogą działać jednocześnie. Jeśli zarówno cron, jak i uruchomienie ręczne uruchomią się w podobnym czasie, pierwszeństwo będzie miało to, które zostanie uruchomione jako pierwsze.','Position: '=>'Pozycja: ','%d item(s)'=>'%d element(y)','Last crawled'=>'Ostatnio indeksowano','Serve your visitors fast'=>'Szybko obsługuj swoich gości','This will affect all tags containing attributes: %s.'=>'Będzie to miało wpływ na wszystkie znaczniki zawierające atrybuty: %s.','%1$sLearn More%2$s'=>'%1$sDowiedz się więcej%2$s','Get it from %s.'=>'Pobierz z %s.','Reset the OPcache failed.'=>'Resetowanie OPcache nie powiodło się.','OPcache is restricted by %s setting.'=>'OPcache jest ograniczony ustawieniem %s.','OPcache is not enabled.'=>'OPcache nie jest włączony.','Enable All Features'=>'Włącz wszystkie funkcje','e.g. Use %1$s or %2$s.'=>'np. Użyj %1$s lub %2$s.','Click to copy'=>'Kliknij, aby skopiować','Rate %1$s on %2$s'=>'Oceń %1$s na %2$s','Clear %s cache when "Purge All" is run.'=>'Wyczyść pamięć podręczną %s po uruchomieniu opcji „Wyczyść wszystko”.','SYNTAX: alphanumeric and "_". No spaces and case sensitive.'=>'SKŁADNIA: alfanumeryczna i „_”. Bez spacji i z uwzględnieniem wielkości liter.','SYNTAX: alphanumeric and "_". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.'=>'SKŁADNIA: alfanumeryczna i „_”. Bez spacji i z uwzględnieniem wielkości liter. MUSI BYĆ UNIKATOWA W INNYCH APLIKACJACH SIECIOWYCH.','Submit a ticket'=>'Wyślij zgłoszenie','Clear Cloudflare cache'=>'Wyczyść pamięć podręczną Cloudflare','QUIC.cloud\'s access to your WP REST API seems to be blocked.'=>'Dostęp QUIC.cloud do interfejsu API REST WP wydaje się być zablokowany.','Copy Log'=>'Kopiuj dziennik','Selectors must exist in the CSS. Parent classes in the HTML will not work.'=>'Selektory muszą istnieć w CSS. Klasy nadrzędne w HTML nie będą działać.','List the CSS selectors whose styles should always be included in CCSS.'=>'Wypisz selektory CSS, których style powinny być zawsze uwzględniane w CCSS.','List the CSS selectors whose styles should always be included in UCSS.'=>'Wypisz selektory CSS, których style powinny być zawsze uwzględniane w UCSS.','Available after %d second(s)'=>'Dostępne za %d sekund(y)','Enable QUIC.cloud Services'=>'Włącz usługi QUIC.cloud','The features below are provided by %s'=>'Poniższe funkcje są dostarczane przez %s','Do not show this again'=>'Nie pokazuj tego ponownie','Free monthly quota available. Can also be used anonymously (no email required).'=>'Dostępny bezpłatny miesięczny limit. Można również używać anonimowo (nie jest wymagany adres e-mail).','Cloudflare Settings'=>'Ustawienia Cloudflare','Failed to detect IP'=>'Nie udało się wykryć adresu IP','CCSS Selector Allowlist'=>'Lista dozwolonych selektorów CCSS','Outputs to a series of files in the %s directory.'=>'Zapisuje dane do serii plików w katalogu %s.','Attach PHP info to report. Check this box to insert relevant data from %s.'=>'Dołącz informacje PHP do raportu. Zaznacz to pole, aby wstawić odpowiednie dane z %s.','Last Report Date'=>'Data ostatniego raportu','Last Report Number'=>'Ostatni numer raportu','Regenerate and Send a New Report'=>'Wygeneruj ponownie i wyślij nowy raport','This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.'=>'Spowoduje to zresetowanie %1$s. Jeśli zmieniłeś ustawienia WebP/AVIF i chcesz wygenerować %2$s dla wcześniej zoptymalizowanych obrazków, użyj tej akcji.','Soft Reset Optimization Counter'=>'Licznik optymalizacji miękkiego resetu','When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.'=>'Podczas zmiany formatu naciśnij %1$s lub %2$s, aby zastosować nowy wybór do wcześniej zoptymalizowanych obrazków.','%1$s is a %2$s paid feature.'=>'%1$s jest %2$s płatną funkcją.','Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.'=>'Usuń integrację QUIC.cloud z tej witryny. Uwaga: dane QUIC.cloud zostaną zachowane, dzięki czemu będziesz mógł ponownie włączyć usługi w dowolnym momencie. Jeśli chcesz całkowicie usunąć swoją witrynę z QUIC.cloud, usuń najpierw domenę za pomocą kokpitu QUIC.cloud.','Disconnect from QUIC.cloud'=>'Rozłącz się z QUIC.cloud','Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.'=>'Czy na pewno chcesz rozłączyć się z QUIC.cloud? Nie spowoduje to usunięcia żadnych danych z kokpitu QUIC.cloud.','CDN - not available for anonymous users'=>'CDN - niedostępny dla anonimowych użytkowników','Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.'=>'Twoja witryna jest połączona i korzysta z usług online QUIC.cloud jako <strong>anonimowy użytkownik</strong>. Funkcja CDN i niektóre funkcje usług optymalizacji nie są dostępne dla użytkowników anonimowych. Połącz się z QUIC.cloud, aby korzystać z CDN i wszystkich dostępnych funkcji usług online.','QUIC.cloud Integration Enabled with limitations'=>'Integracja QUIC.cloud włączona z ograniczeniami','Your site is connected and ready to use QUIC.cloud Online Services.'=>'Twoja witryna jest podłączona i gotowa do korzystania z usług online QUIC.cloud.','QUIC.cloud Integration Enabled'=>'Włączona integracja QUIC.cloud','In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.'=>'Aby korzystać z większości usług QUIC.cloud, potrzebujesz określonego limitu. QUIC.cloud co miesiąc przyznaje Ci bezpłatny limit, ale jeśli potrzebujesz większego limitu, możesz go dokupić.','Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.'=>'Oferuje opcjonalną <strong>wbudowaną usługę DNS</strong>, aby uprościć wdrażanie CDN.','Provides <strong>security at the CDN level</strong>, protecting your server from attack.'=>'Zapewnia <strong>bezpieczeństwo na poziomie CDN</strong>, chroniąc Twój serwer przed atakami.','Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>.'=>'Zapewnia globalny zasięg dzięki rozwijającej się <strong>sieci ponad 80 punktów obecności</strong>.','Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.'=>'Buforuje całą witrynę, łącznie z dynamiczną treścią i <strong>blokami ESI</strong>.','Content Delivery Network'=>'Sieć dostarczania treści','<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.'=>'<strong>Obrazki rzutni (VPI)</strong> zapewniają dopracowany, w pełni załadowany widok powyżej linii zagięcia.','<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.'=>'<strong>Obrazek zastępczy niskiej jakości (LQIP)</strong> nadaje obrazkom przyjemniejszy wygląd, ponieważ wczytują się one leniwie.','<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.'=>'<strong>Unikatowy CSS (UCSS)</strong> usuwa nieużywane definicje stylów, co przyspiesza wczytywanie strony.','<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.'=>'<strong>Krytyczny CSS (CCSS)</strong> wczytuje widoczną treść u góry strony szybciej i z zachowaniem pełnego stylu.','QUIC.cloud\'s Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.'=>'Usługi optymalizacji stron QUIC.cloud rozwiązują problem nadmiaru stylów CSS i poprawiają komfort użytkowania strony podczas jej wczytywania, co może prowadzić do poprawy wyników szybkości wczytywania strony.','Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.'=>'Przetwarzanie formatów obrazków PNG, JPG i WebP jest bezpłatne. AVIF jest dostępny za opłatą.','Optionally creates next-generation WebP or AVIF image files.'=>'Opcjonalnie tworzy pliki obrazków WebP lub AVIF nowej generacji.','Processes your uploaded PNG and JPG images to produce smaller versions that don\'t sacrifice quality.'=>'Przetwarza przesłane obrazki PNG i JPG, aby uzyskać mniejsze wersje bez utraty jakości.','QUIC.cloud\'s Image Optimization service does the following:'=>'Usługa optymalizacji obrazka QUIC.cloud wykonuje następujące czynności:','<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.'=>'<strong>Optymalizacja strony</strong> usprawnia style strony i elementy wizualne, aby przyspieszyć wczytywania.','<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.'=>'<strong>Optymalizacja obrazka</strong> pozwala na uzyskanie mniejszych rozmiarów plików graficznych i szybsze przesyłanie ich.','QUIC.cloud\'s Online Services improve your site in the following ways:'=>'Usługi online QUIC.cloud ulepszają Twoją witrynę w następujący sposób:','Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.'=>'Przyspiesz jeszcze bardziej swoją witrynę WordPress dzięki usługom online i CDN QUIC.cloud.','QUIC.cloud Integration Disabled'=>'Integracja QUIC.cloud wyłączona','QUIC.cloud Online Services'=>'Usługi online QUIC.cloud','Online Services'=>'Usługi online','Autoload'=>'Automatyczne wczytywanie','Refresh QUIC.cloud status'=>'Odśwież status QUIC.cloud','Refresh'=>'Odśwież','You must be using one of the following products in order to measure Page Load Time:'=>'Aby zmierzyć czas wczytywania strony, musisz używać jednego z poniższych produktów:','Refresh Usage'=>'Odśwież użycie','News'=>'Aktualności','You need to set the %s in Settings first before using the crawler'=>'Przed użyciem robota indeksującego musisz najpierw ustawić %s w Ustawieniach','You must set %1$s to %2$s before using this feature.'=>'Musisz ustawić %1$s na %2$s przed użyciem tej funkcji.','You must set %s before using this feature.'=>'Musisz ustawić %s przed użyciem tej funkcji.','My QUIC.cloud Dashboard'=>'Mój Kokpit QUIC.cloud','You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.'=>'Obecnie korzystasz z usług jako anonimowy użytkownik. Aby zarządzać opcjami QUIC.cloud, użyj poniższego przycisku, aby utworzyć konto i połączyć się z Kokpitem QUIC.cloud.','To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.'=>'Aby zarządzać opcjami QUIC.cloud, przejdź do Kokpitu QUIC.cloud.','To manage your QUIC.cloud options, please contact your hosting provider.'=>'Aby zarządzać opcjami QUIC.cloud, skontaktuj się ze swoim dostawcą hostingu.','To manage your QUIC.cloud options, go to your hosting provider\'s portal.'=>'Aby zarządzać opcjami QUIC.cloud, przejdź do portalu swojego dostawcy hostingu.','QUIC.cloud CDN Options'=>'Opcje CDN QUIC.cloud','Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!'=>'Najlepsza dostępna wydajność WordPress, najszybszy na świecie czas do połączenia (TTFB), łatwa konfiguracja i %swięcej%s!','no matter where they live.'=>'niezależnie od tego gdzie mieszkają.','Content Delivery Network Service'=>'Usługa sieciowa dostarczania treści','Enable QUIC.cloud CDN'=>'Włącz QUIC.cloud CDN','Link & Enable QUIC.cloud CDN'=>'Połącz i włącz QUIC.cloud CDN','QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.'=>'Sieć CDN QUIC.cloud <strong>nie jest dostępna</strong> dla użytkowników anonimowych (niepowiązanych).','QUIC.cloud CDN is currently <strong>fully disabled</strong>.'=>'Sieć CDN QUIC.cloud jest obecnie <strong>całkowicie wyłączona</strong>.','Learn More about QUIC.cloud'=>'Dowiedz się więcej o QUIC.cloud','QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.'=>'QUIC.cloud zapewnia usługi CDN i optymalizacji online i nie jest wymagane. Możesz używać wielu funkcji tej wtyczki bez QUIC.cloud.','Enable QUIC.cloud services'=>'Włącz usługi QUIC.cloud','Free monthly quota available.'=>'Dostępny bezpłatny miesięczny limit.','Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.'=>'Przyspiesz jeszcze bardziej swoją witrynę WordPress dzięki <strong>usługom online QUIC.cloud i CDN</strong>.','Accelerate, Optimize, Protect'=>'Przyspiesz, zoptymalizuj, chroń','Check the status of your most important settings and the health of your CDN setup here.'=>'Sprawdź tutaj stan najważniejszych ustawień i kondycję swojej sieci CDN.','QUIC.cloud CDN Status Overview'=>'Przegląd stanu QUIC.cloud CDN','Refresh Status'=>'Odśwież status','Other Static CDN'=>'Inny statyczny CDN','Dismiss this notice.'=>'Ukryj komunikat.','Send to twitter to get %s bonus'=>'Wyślij na Twittera, aby otrzymać bonus %s','Spread the love and earn %s credits to use in our QUIC.cloud online services.'=>'Podziel się miłością i zyskaj %s kredytów do wykorzystania w naszych usługach online QUIC.cloud.','No backup of unoptimized AVIF file exists.'=>'Brak kopii zapasowej niezoptymalizowanego pliku AVIF.','AVIF saved %s'=>'Zapisano AVIF %s','AVIF file reduced by %1$s (%2$s)'=>'Plik AVIF zmniejszony o %1$s (%2$s)','Currently using original (unoptimized) version of AVIF file.'=>'Obecnie korzystam z oryginalnej (niezoptymalizowanej) wersji pliku AVIF.','Currently using optimized version of AVIF file.'=>'Obecnie korzystam ze zoptymalizowanej wersji pliku AVIF.','WebP/AVIF For Extra srcset'=>'WebP/AVIF dla dodatkowego ustawienia src','Next-Gen Image Format'=>'Format obrazu nowej generacji','Enabled AVIF file successfully.'=>'Pomyślnie włączono plik AVIF.','Disabled AVIF file successfully.'=>'Pomyślnie wyłączono plik AVIF.','Reset image optimization counter successfully.'=>'Pomyślnie zresetowano licznik optymalizacji obrazka.','Filename is empty!'=>'Nazwa pliku jest pusta!','You will need to finish %s setup to use the online services.'=>'Aby korzystać z usług online, musisz ukończyć konfigurację %s.','Sync QUIC.cloud status successfully.'=>'Pomyślnie zsynchronizowano status QUIC.cloud.','Linked to QUIC.cloud preview environment, for testing purpose only.'=>'Połączono ze środowiskiem podglądu QUIC.cloud, wyłącznie w celach testowych.','Click here to proceed.'=>'Kliknij tutaj, aby kontynuować.','Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.'=>'Witryna nie została rozpoznana. QUIC.cloud został automatycznie wyłączona. Proszę ponownie aktywować konto QUIC.cloud.','Reset %s activation successfully.'=>'Zresetowanie aktywacji %s powiodło się.','Congratulations, %s successfully set this domain up for the online services with CDN service.'=>'Gratulacje, %s pomyślnie skonfigurował tę domenę dla usług online z usługą CDN.','Congratulations, %s successfully set this domain up for the online services.'=>'Gratulacje, %s pomyślnie skonfigurował tę domenę na potrzeby usług online.','Congratulations, %s successfully set this domain up for the anonymous online services.'=>'Gratulacje, %s pomyślnie skonfigurował tę domenę na potrzeby anonimowych usług online.','%s activation data expired.'=>'%s dane aktywacyjne wygasły.','Failed to parse %s activation status.'=>'Nie udało się przeanalizować statusu aktywacji %s.','Failed to validate %s activation data.'=>'Nie udało się zweryfikować danych aktywacyjnych %s.','Cert or key file does not exist.'=>'Certyfikat lub plik klucza nie istnieje.','You need to activate QC first.'=>'Najpierw musisz aktywować QC.','You need to set the %1$s first. Please use the command %2$s to set.'=>'Najpierw musisz ustawić %1$s. Użyj polecenia %2$s, aby to ustawić.','Failed to get echo data from WPAPI'=>'Nie udało się pobrać danych echa z WPAPI','The user with id %s has editor access, which is not allowed for the role simulator.'=>'Użytkownik o identyfikatorze %s ma dostęp do edytora, co nie jest dozwolone w przypadku symulatora roli.','You have used all of your quota left for current service this month.'=>'Wykorzystałeś cały limit usług bieżących w tym miesiącu.','Learn more or purchase additional quota.'=>'Dowiedz się więcej lub kup dodatkowy limit.','You have used all of your daily quota for today.'=>'Wykorzystałeś cały dzienny limit na dziś.','If comment to be kept is like: %1$s write: %2$s'=>'Jeżeli komentarz, który ma zostać zachowany, wygląda następująco: %1$s napisz: %2$s','When minifying HTML do not discard comments that match a specified pattern.'=>'Podczas minimalizowania kodu HTML nie należy usuwać komentarzy pasujących do określonego wzorca.','Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.'=>'Określ akcję AJAX w POST/GET oraz liczbę sekund, przez które żądanie będzie buforowane, rozdzielając je spacją.','HTML Keep Comments'=>'HTML zachowuje komentarze','AJAX Cache TTL'=>'Czas życia pamięci podręcznej AJAX','You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.'=>'Masz obrazki czekające na pobranie. Poczekaj na zakończenie automatycznego pobierania lub pobierz je ręcznie teraz.','Clean all orphaned post meta records'=>'Wyczyść wszystkie osierocone meta rekordy wpisów','Orphaned Post Meta'=>'Osierocone meta wpisu','Best available WordPress performance'=>'Najlepsza dostępna wydajność WordPressa','Clean orphaned post meta successfully.'=>'Pomyślnie wyczyszczono osierocone meta wpisu.','Last Pulled'=>'Ostatnio pobrane','You can list the 3rd party vary cookies here.'=>'Tutaj możesz wymienić różne pliki ciasteczka stron trzecich.','Vary Cookies'=>'Różne pliki ciasteczka','Preconnecting speeds up future loads from a given origin.'=>'Wstępne połączenie przyspiesza przyszłe wczytywania z danego źródła.','If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.'=>'Jeśli Twój motyw nie używa JavaScript do aktualizacji mini koszyka, musisz włączyć tę opcję, aby wyświetlić prawidłową zawartość koszyka.','Generate a separate vary cache copy for the mini cart when the cart is not empty.'=>'Wygeneruj oddzielną kopię pamięci podręcznej dla mini koszyka, gdy koszyk nie jest pusty.','Vary for Mini Cart'=>'Zróżnicowane dla mini koszyka','DNS Preconnect'=>'Wstępne połączenie DNS','This setting is %1$s for certain qualifying requests due to %2$s!'=>'To ustawienie jest %1$s dla pewnych kwalifikujących się żądań z powodu %2$s!','Listed JS files or inline JS code will be delayed.'=>'Udostępnienie wymienionych plików JS lub wbudowanego kodu JS będzie opóźnione.','URL Search'=>'Wyszukiwanie adresu URL','JS Delayed Includes'=>'Opóźnienie JS obejmuje','Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.'=>'Twój domain_key został tymczasowo umieszczony na czarnej liście, aby zapobiec nadużyciom. Możesz skontaktować się z pomocą techniczną w QUIC.cloud, aby dowiedzieć się więcej.','Cloud server refused the current request due to unpulled images. Please pull the images first.'=>'Serwer w chmurze odrzucił bieżące żądanie z powodu niepobranych obrazków. Najpierw pobierz obrazki.','Current server load'=>'Aktualne obciążenie serwera','Redis encountered a fatal error: %1$s (code: %2$d)'=>'Redis napotkał fatalny błąd: %s (kod: %d)','Started async image optimization request'=>'Uruchomiono asynchroniczne żądanie optymalizacji obrazka','Started async crawling'=>'Rozpoczęto indeksowanie asynchroniczne','Saving option failed. IPv4 only for %s.'=>'Nie udało się zapisać opcji. IPv4 tylko dla %s.','Cloud server refused the current request due to rate limiting. Please try again later.'=>'Serwer w chmurze odrzucił aktualne żądanie z powodu limitu transferu. Spróbuj ponownie później.','Maximum image post id'=>'Maksymalny identyfikator wpisu z obrazkiem','Current image post id position'=>'Aktualna pozycja identyfikatora wpisu z obrazkiem','Images ready to request'=>'Obrazki gotowe na żądanie','Redetect'=>'Wykryj ponownie','If you are using a %1$s socket, %2$s should be set to %3$s'=>'Jeśli używasz gniazda %1$s, %2$s powinno być ustawione na %3$s','All QUIC.cloud service queues have been cleared.'=>'Wszystkie kolejki usług QUIC.cloud zostały wyczyszczone.','Cache key must be integer or non-empty string, %s given.'=>'Klucz pamięci podręcznej musi być liczbą całkowitą lub niepustym ciągiem znaków, podano %s.','Cache key must not be an empty string.'=>'Klucz pamięci podręcznej nie może być pustym ciągiem.','JS Deferred / Delayed Excludes'=>'JS wyklucza odroczony/opóźniony','The queue is processed asynchronously. It may take time.'=>'Kolejka jest przetwarzana asynchronicznie. Może to zająć trochę czasu.','In order to use QC services, need a real domain name, cannot use an IP.'=>'Aby korzystać z usług QC, trzeba mieć prawdziwą nazwę domeny, nie można używać IP.','Restore Settings'=>'Przywróć ustawienia','This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?'=>'Przywróci to ustawienia zapasowe utworzone %1$s przed zastosowaniem presetu %2$s. Wszelkie zmiany dokonane od tego czasu zostaną utracone. Czy chcesz kontynuować?','Backup created %1$s before applying the %2$s preset'=>'Backup utworzony %1$s przed zastosowaniem presetu %2$s','Applied the %1$s preset %2$s'=>'Zastosowano preset %1$s %2$s','Restored backup settings %1$s'=>'Przywrócono ustawienia z kopii zapasowej %1$s','Error: Failed to apply the settings %1$s'=>'Błąd: Nie udało się zastosować ustawień %1$s','History'=>'Historia','unknown'=>'nieznany','Apply Preset'=>'Zastosuj Preset','This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?'=>'Spowoduje to wykonanie kopii zapasowej aktualnych ustawień i zastąpienie ich presetem %1$s. Czy chcesz kontynuować?','Who should use this preset?'=>'Kto powinien używać tego presetu?','Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.'=>'Użyj oficjalnego presetu zaprojektowanego przez LiteSpeed, aby skonfigurować swoją stronę jednym kliknięciem. Wypróbuj podstawowe buforowanie bez ryzyka, ekstremalną optymalizację lub coś pomiędzy.','LiteSpeed Cache Standard Presets'=>'Standardowe ustawienia LiteSpeed Cache','A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.'=>'Do korzystania z tego ustawienia wstępnego wymagane jest połączenie QUIC.cloud. Umożliwia ono maksymalny poziom optymalizacji w celu poprawy wyników szybkości wczytywania strony.','This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.'=>'Ten preset prawie na pewno będzie wymagał testów i wykluczeń niektórych plików CSS, JS i Lazy Loadowanych obrazków. Zwróć szczególną uwagę na loga oraz obrazy sliderów oparte na HTML.','Inline CSS added to Combine'=>'Dodano wbudowany kod CSS do Połączenia','Inline JS added to Combine'=>'Dodano wbudowany kod JS do Połączenia','JS Delayed'=>'Opóźnij ładowanie JS','Viewport Image Generation'=>'Generowanie obrazka widoku','Lazy Load for Images'=>'Leniwe ładowanie obrazków','Everything in Aggressive, Plus'=>'Wszystko, co w Inwazyjnych, Plus','Extreme'=>'Ekstremalne','This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.'=>'Ten preset może działać od ręki dla wielu stron, ale upewnij się, że go przetestujesz! Niektóre wykluczenia CSS lub JS mogą być konieczne w Optymalizacja Strony > Dostosowywanie.','Lazy Load for Iframes'=>'Leniwe ładowanie iframe\'ów','Removed Unused CSS for Users'=>'Usunięto nieużywany CSS u użytkowników','Asynchronous CSS Loading with Critical CSS'=>'Asynchroniczne ładowanie CSS z krytycznym CSS','CSS & JS Combine'=>'Połącz CSS & JS','Everything in Advanced, Plus'=>'Wszystko, co w Zaawansowanych, Plus','Aggressive'=>'Agresywna','A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.'=>'Do korzystania z tego ustawienia wymagane jest połączenie QUIC.cloud. Zawiera wiele optymalizacji, które poprawiają wyniki szybkości wczytywania strony.','This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.'=>'To ustawienie jest dobre dla większości witryn i mało prawdopodobne, aby powodowało konflikty. Wszelkie konflikty CSS lub JS można rozwiązać za pomocą narzędzi Optymalizacja strony > Strojenie.','Remove Query Strings from Static Files'=>'Usuń ciągi zapytań z plików statycznych','DNS Prefetch for static files'=>'Wstępne pobieranie DNS dla plików statycznych','JS Defer for both external and inline JS'=>'JS Defer dla zewnętrznego i wbudowanego JS','CSS, JS and HTML Minification'=>'Minifikacja CSS, JS i HTML','Guest Mode and Guest Optimization'=>'Tryb Gościa i optymalizacja dla Gości','Everything in Basic, Plus'=>'Wszystko, co w Basic, Plus','Advanced (Recommended)'=>'Zaawansowane (zalecane)','A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.'=>'Do korzystania z tego ustawienia wymagane jest połączenie QUIC.cloud. Zawiera optymalizacje, które poprawiają wynik witryny w narzędziach do pomiaru szybkości wczytywania stron.','This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.'=>'Ten preset o niskim stopniu ryzyka wprowadza podstawowe optymalizacje pod kątem szybkości i doświadczenia użytkownika. Odpowiedni dla początkujących entuzjastów.','Mobile Cache'=>'Cache dla urządzeń mobilnych','Everything in Essentials, Plus'=>'Wszystko, co w Zasadniczych, Plus','A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled.'=>'Połączenie QUIC.cloud nie jest wymagane do korzystania z tego ustawienia wstępnego. Włączone są tylko podstawowe funkcje buforowania.','This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.'=>'Jest to bezpieczny preset, odpowiedni dla wszystkich stron internetowych. Dobry dla nowicjuszy, prostych stron internetowych lub rozwoju ukierunkowanym na pamięć podręczną.','Higher TTL'=>'Wyższy TTL (Czas życia pakietu)','Default Cache'=>'Domyślna pamięć podręczna','Essentials'=>'Zasadnicze','LiteSpeed Cache Configuration Presets'=>'Ustawienia wstępne konfiguracji LiteSpeed Cache','Standard Presets'=>'Standardowe ustawienia wstępne','Listed CSS files will be excluded from UCSS and saved to inline.'=>'Wymienione pliki CSS zostaną wyłączone z UCSS i zapisane w treści.','UCSS Selector Allowlist'=>'Lista dozwolonych selektorów UCSS','Presets'=>'Presety','Partner Benefits Provided by'=>'Korzyści dla partnerów zapewniane przez','LiteSpeed Logs'=>'Logi LiteSpeed','Crawler Log'=>'Dziennik indeksowania','Purge Log'=>'Dziennik oczyszczania','Prevent writing log entries that include listed strings.'=>'Zapobiegaj zapisywaniu wpisów do dziennika, które zawierają wymienione ciągi znaków.','View Site Before Cache'=>'Wyświetl stronę przed zastosowaniem cache','View Site Before Optimization'=>'Zobacz stronę przed optymalizacją','Debug Helpers'=>'Narzędzia pomocnicze do debugowania','Enable Viewport Images auto generation cron.'=>'Włącz automatyczne generowanie obrazów typu Viewport przez crona.','This enables the page\'s initial screenful of imagery to be fully displayed without delay.'=>'Dzięki temu początkowy ekran strony może zostać wyświetlony w całości bez żadnych opóźnień.','The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.'=>'Usługa Viewport Images wykrywa, które obrazki pojawiają się nad linią zagięcia i wyklucza je z leniwego wczytywania.','When you use Lazy Load, it will delay the loading of all images on a page.'=>'Użycie funkcji leniwego wczytywania spowoduje opóźnienie wczytywania wszystkich obrazków na stronie.','Use %1$s to bypass remote image dimension check when %2$s is ON.'=>'Użyj %1$s, aby pominąć zdalne sprawdzanie wymiarów obrazka, gdy %2$s jest WŁĄCZONE.','VPI'=>'VPI','%s must be turned ON for this setting to work.'=>'Aby to ustawienie działało, %s musi być WŁĄCZONY.','Viewport Image'=>'Obrazek rzutni','API: Filter %s available to disable blocklist.'=>'API: Filtr %s jest dostępny w celu wyłączenia listy blokowanych.','API: PHP Constant %s available to disable blocklist.'=>'API: stała PHP %s dostępna do wyłączenia listy blokowanych.','Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:'=>'Prosimy o wyłączenie następujących wykrytych wtyczek, gdyż mogą one kolidować z LiteSpeed ​​Cache:','Mobile'=>'Mobilny','Disable VPI'=>'Wyłącz VPI','Disable Image Lazyload'=>'Wyłącz leniwe wczytywanie obrazka','Disable Cache'=>'Wyłącz pamięć podręczną','Debug String Excludes'=>'Wyklucza ciąg debugowania','Viewport Images Cron'=>'Obrazek rzutni Cron','Viewport Images'=>'Obrazki rzutni','Alias is in use by another QUIC.cloud account.'=>'Alias ​​jest używany przez inne konto QUIC.cloud.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain.'=>'Nie można automatycznie dodać %1$s jako aliasu domeny dla głównej domeny %2$s.','Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.'=>'Nie można automatycznie dodać %1$s jako aliasu domeny dla głównej domeny %2$s z powodu potencjalnego konfliktu CDN.','You cannot remove this DNS zone, because it is still in use. Please update the domain\'s nameservers, then try to delete this zone again, otherwise your site will become inaccessible.'=>'Nie możesz usunąć tej strefy DNS, ponieważ jest ona nadal używana. Zaktualizuj serwery nazw domeny, a następnie spróbuj ponownie usunąć tę strefę, w przeciwnym razie Twoja witryna stanie się niedostępna.','The site is not a valid alias on QUIC.cloud.'=>'Ta witryna nie jest prawidłowym aliasem w domenie QUIC.cloud.','Please thoroughly test each JS file you add to ensure it functions as expected.'=>'Dokładnie przetestuj każdy dodawany plik JS, aby mieć pewność, że działa zgodnie z oczekiwaniami.','Please thoroughly test all items in %s to ensure they function as expected.'=>'Dokładnie przetestuj wszystkie elementy w %s, aby upewnić się, że działają zgodnie z oczekiwaniami.','Use %1$s to bypass UCSS for the pages which page type is %2$s.'=>'Użyj %1$s, aby ominąć UCSS dla stron, których rodzajem strony jest %2$s.','Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.'=>'Użyj %1$s, aby wygenerować pojedynczy UCSS dla stron, których rodzajem strony jest %2$s, podczas gdy inne rodzaje stron nadal są przypisane do adresu URL.','Filter %s available for UCSS per page type generation.'=>'Filtr %s dostępny dla generowania UCSS według rodzaju strony.','Guest Mode failed to test.'=>'Nie udało się przetestować trybu gościa.','Guest Mode passed testing.'=>'Tryb gościa przeszedł testy.','Testing'=>'Testowanie','Guest Mode testing result'=>'Wynik testu trybu gościa','Not blocklisted'=>'Nie umieszczono na czarnej liście','Learn more about when this is needed'=>'Dowiedz się więcej o tym, kiedy jest to potrzebne','Cleaned all localized resource entries.'=>'Wyczyszczono wszystkie zlokalizowane wpisy zasobów.','View .htaccess'=>'Zobacz .htaccess','You can use this code %1$s in %2$s to specify the htaccess file path.'=>'Możesz użyć tego kodu %1$s w %2$s aby określić ścieżkę do pliku htaccess.','PHP Constant %s is supported.'=>'Obsługiwana jest stała PHP %s.','Default path is'=>'Domyślna ścieżka to','.htaccess Path'=>'Ścieżka .htaccess','Please read all warnings before enabling this option.'=>'Proszę przeczytać wszystkie ostrzeżenia przed włączeniem tej opcji.','This will delete all generated unique CSS files'=>'Spowoduje to usunięcie wszystkich wygenerowanych unikalnych plików CSS','In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.'=>'Aby uniknąć błędu ulepszenia, musisz używać wersji %1$s lub nowszej, zanim będziesz mógł wykonać ulepszenie do wersji %2$s.','Use latest GitHub Dev/Master commit'=>'Użyj najnowszego zatwierdzenia GitHub Dev/Master','Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.'=>'Naciśnij przycisk %s, aby użyć najnowszego zatwierdzenia GitHub. Master jest dla kandydata do wydania, a Dev jest dla testowania eksperymentalnego.','Downgrade not recommended. May cause fatal error due to refactored code.'=>'Obniżenie nie jest zalecane. Może powodować błąd krytyczny z powodu refaktoryzowanego kodu.','Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.'=>'Optymalizuj strony tylko dla gości (niezalogowanych). Jeśli WYŁĄCZYSZ tę opcję, pliki CSS/JS/CCSS zostaną podwojone przez każdą grupę użytkowników.','Listed JS files or inline JS code will not be optimized by %s.'=>'Wymienione pliki JS lub wbudowany kod JS nie zostaną zoptymalizowane przez %s.','Listed URI will not generate UCSS.'=>'Wymieniony URI nie wygeneruje UCSS.','The selector must exist in the CSS. Parent classes in the HTML will not work.'=>'Selektor musi istnieć w CSS. Klasy nadrzędne w HTML nie będą działać.','Wildcard %s supported.'=>'Obsługiwany jest symbol wieloznaczny %s.','Useful for above-the-fold images causing CLS (a Core Web Vitals metric).'=>'Przydatne w przypadku obrazków umieszczanych w górnej części strony, które powodują CLS (metryka podstawowych wskaźników internetowych).','Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).'=>'Ustaw konkretną szerokość i wysokość elementów obrazka, aby ograniczyć przesunięcia układu i usprawnić CLS (metryka podstawowych wskaźników internetowych).','Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.'=>'Zmiany tego ustawienia nie dotyczą już wygenerowanych LQIP. Aby ponownie wygenerować istniejące LQIP, najpierw %s z menu paska administratora.','Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).'=>'Odroczenie do momentu przeanalizowania strony lub opóźnienie do momentu interakcji może pomóc w zmniejszeniu rywalizacji o zasoby i poprawić wydajność, co skutkuje niższym FID (metryka podstawowych wskaźników internetowych).','Delayed'=>'Opóźniony','JS error can be found from the developer console of browser by right clicking and choosing Inspect.'=>'Błąd JS można znaleźć w konsoli programisty przeglądarki, klikając prawym przyciskiem myszy i wybierając polecenie Sprawdź.','This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.'=>'Opcja ta może spowodować błąd JS lub problemy z układem na stronach front-endowych z niektórymi motywami/wtyczkami.','This will also add a preconnect to Google Fonts to establish a connection earlier.'=>'Spowoduje to również dodanie wstępnego połączenia z krojami pisma Google, co umożliwi wcześniejsze nawiązanie połączenia.','Delay rendering off-screen HTML elements by its selector.'=>'Opóźnij renderowanie elementów HTML poza ekranem za pomocą ich selektora.','Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.'=>'Wyłącz tę opcję, aby generować CCSS na typ wpisu zamiast na stronę. Może to zaoszczędzić znaczną ilość CCSS, jednak może to skutkować niepoprawnym stylem CSS, jeśli Twoja witryna używa kreatora stron.','This option is bypassed due to %s option.'=>'Ta opcja jest pomijana ze względu na opcję %s.','Elements with attribute %s in HTML code will be excluded.'=>'Elementy z atrybutem %s w kodzie HTML zostaną wykluczone.','Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.'=>'Użyj usługi online QUIC.cloud do generowania kluczowych arkuszy CSS i asynchronicznego wczytywania pozostałych arkuszy CSS.','This option will automatically bypass %s option.'=>'Ta opcja automatycznie ominie opcję %s.','Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.'=>'Wbudowany UCSS w celu zmniejszenia dodatkowego wczytywania pliku CSS. Ta opcja nie będzie automatycznie włączana dla stron %1$s. Aby użyć jej na stronach %1$s, ustaw ją na WŁĄCZ.','Run %s Queue Manually'=>'Uruchom kolejkę %s ręcznie','This option is bypassed because %1$s option is %2$s.'=>'Ta opcja jest pomijana, ponieważ opcja %1$s jest równa %2$s.','Automatic generation of unique CSS is in the background via a cron-based queue.'=>'Automatyczne generowanie unikatowego kodu CSS odbywa się w tle za pośrednictwem kolejki opartej na cron.','This will drop the unused CSS on each page from the combined file.'=>'Spowoduje to usunięcie nieużywanych arkuszy CSS z każdej strony połączonego pliku.','HTML Settings'=>'Ustawienia HTML','LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.'=>'Wtyczka pamięci podręcznej LiteSpeed ​​została ulepszona. Odśwież stronę, aby zakończyć aktualizację danych konfiguracyjnych.','Your %1$s quota on %2$s will still be in use.'=>'Twój limit %1$s na %2$s będzie nadal wykorzystywany.','This option can help to correct the cache vary for certain advanced mobile or tablet visitors.'=>'Opcja ta może pomóc skorygować różnice w pamięci podręcznej dla niektórych zaawansowanych użytkowników urządzeń mobilnych i tabletów.','Guest Mode provides an always cacheable landing page for an automated guest\'s first time visit, and then attempts to update cache varies via AJAX.'=>'Tryb gościa zapewnia zawsze buforowaną stronę docelową dla zautomatyzowanego gościa podczas pierwszej wizyty, a następnie próby aktualizacji pamięci podręcznej różnią się za pośrednictwem AJAX.','Please make sure this IP is the correct one for visiting your site.'=>'Upewnij się, że ten adres IP jest właściwy do odwiedzenia Twojej witryny.','the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.'=>'automatycznie wykryty adres IP może nie być dokładny, jeśli posiadasz dodatkowy zestaw adresów IP wychodzących lub jeśli na serwerze skonfigurowano wiele adresów IP.','You need to turn %s on and finish all WebP generation to get maximum result.'=>'Aby uzyskać najlepsze rezultaty, należy włączyć %s i zakończyć generowanie plików WebP.','You need to turn %s on to get maximum result.'=>'Aby uzyskać najlepsze rezultaty, należy włączyć %s.','This option enables maximum optimization for Guest Mode visitors.'=>'Opcja ta pozwala na maksymalną optymalizację dla użytkowników korzystających z trybu gościa.','More'=>'Więcej','Remaining Daily Quota'=>'Pozostały dzienny limit','Successfully Crawled'=>'Pomyślnie zindeksowano','Already Cached'=>'Już w pamięci podręcznej','The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.'=>'Robot indeksujący użyje Twojej mapy witryny XML lub indeksu mapy witryny. Wpisz tutaj pełny adres URL swojej mapy witryny.','Optional when API token used.'=>'Opcjonalnie, gdy używany jest token API.','Recommended to generate the token from Cloudflare API token template "WordPress".'=>'Zalecane jest wygenerowanie tokenu przy użyciu szablonu tokenu API Cloudflare „WordPress”.','Global API Key / API Token'=>'Globalny klucz API / token API','NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.'=>'UWAGA: QUIC.cloud CDN i Cloudflare nie korzystają z mapowania CDN. Jeśli korzystasz tylko z QUIC.cloud lub Cloudflare, pozostaw to ustawienie %s.','Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN.'=>'Włącz to ustawienie %s, jeśli używasz tradycyjnej sieci dostarczania treści (CDN) lub subdomeny dla treści statycznych z QUIC.cloud CDN.','Use external object cache functionality.'=>'Użyj funkcjonalności zewnętrznej pamięci podręcznej obiektów.','Serve a separate cache copy for mobile visitors.'=>'Udostępniaj oddzielną kopię pamięci podręcznej użytkownikom urządzeń mobilnych.','By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.'=>'Domyślnie strony Moje konto, Kasa i Koszyk są automatycznie wykluczane z buforowania. Błędna konfiguracja powiązań stron w ustawieniach WooCommerce może spowodować błędne wykluczenie niektórych stron.','Cleaned all Unique CSS files.'=>'Wyczyszczono wszystkie unikatowe pliki CSS.','Add Missing Sizes'=>'Dodaj brakujące rozmiary','Optimize for Guests Only'=>'Optymalizuj tylko dla gości','Guest Mode JS Excludes'=>'Tryb gościa wyklucza JS','CCSS Per URL'=>'CCSS według adresu URL','HTML Lazy Load Selectors'=>'Selektory leniwego wczytywania HTML','UCSS URI Excludes'=>'Wyklucza URI UCSS','UCSS Inline'=>'Wbudowany UCSS','Guest Optimization'=>'Optymalizacja gości','Guest Mode'=>'Tryb gościa','Online node needs to be redetected.'=>'Należy ponownie wykryć węzeł online.','The current server is under heavy load.'=>'Obecny serwer jest mocno obciążony.','Please see %s for more details.'=>'Zobacz %s, aby dowiedzieć się więcej.','This setting will regenerate crawler list and clear the disabled list!'=>'To ustawienie spowoduje ponowne wygenerowanie listy robotów indeksujących i wyczyszczenie listy wyłączonych!','%1$s %2$s files left in queue'=>'Pozostało %1$s %2$s plików w kolejce','Crawler disabled list is cleared! All crawlers are set to active! '=>'Lista wyłączonych robotów indeksujących jest wyczyszczona! Wszystkie roboty indeksujące są ustawione na aktywne! ','Redetected node'=>'Ponownie wykryto węzeł','No available Cloud Node after checked server load.'=>'Brak dostępnego węzła w chmurze po sprawdzeniu obciążenia serwera.','Localization Files'=>'Pliki lokalizacyjne','Purged!'=>'Wyczyszczono!','Resources listed here will be copied and replaced with local URLs.'=>'Zasoby wymienione tutaj zostaną skopiowane i zastąpione lokalnymi adresami URL.','Use latest GitHub Master commit'=>'Użyj najnowszego zatwierdzenia GitHub Master','Use latest GitHub Dev commit'=>'Użyj najnowszego zatwierdzenia GitHub Dev','No valid sitemap parsed for crawler.'=>'Nie przetworzono żadnej prawidłowej mapy witryny dla robota indeksującego.','CSS Combine External and Inline'=>'CSS łączy zewnętrzne i wbudowane','Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.'=>'Dołącz zewnętrzny CSS i wbudowany CSS do połączonego pliku, gdy %1$s jest również włączony. Ta opcja pomaga zachować priorytety CSS, co powinno zminimalizować potencjalne błędy spowodowane przez Łączenie CSS.','Minify CSS files and inline CSS code.'=>'Zminimalizuj pliki CSS i wbudowany kod CSS.','Predefined list will also be combined w/ the above settings'=>'Predefiniowana lista zostanie również połączona z powyższymi ustawieniami','Localization'=>'Lokalizacja','Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.'=>'Dołącz zewnętrzny JS i wbudowany JS do połączonego pliku, gdy %1$s jest również włączony. Ta opcja pomaga zachować priorytety wykonywania JS, co powinno zminimalizować potencjalne błędy spowodowane przez Łączenie JS.','Combine all local JS files into a single file.'=>'Połącz wszystkie lokalne pliki JS w jeden plik.','Listed JS files or inline JS code will not be deferred or delayed.'=>'Wymienione pliki JS lub wbudowany kod JS nie zostaną odroczone ani opóźnione.','JS Combine External and Inline'=>'JS łączy zewnętrzne i wbudowane','Dismiss'=>'Odrzuć','The latest data file is'=>'Najnowszy plik danych to','The list will be merged with the predefined nonces in your local data file.'=>'Lista zostanie scalona ze zdefiniowanymi wcześniej znacznikami w lokalnym pliku danych.','Combine CSS files and inline CSS code.'=>'Połącz pliki CSS i wbudowany kod CSS.','Minify JS files and inline JS codes.'=>'Zminimalizuj pliki JS i wbudowany kod JS.','Listed JS files or inline JS code will not be minified or combined.'=>'Wymienione pliki JS lub wbudowany kod JS nie zostaną zminimalizowane ani połączone.','Listed CSS files or inline CSS code will not be minified or combined.'=>'Wymienione pliki CSS lub wbudowany kod CSS nie zostaną zminimalizowane ani połączone.','This value is overwritten by the Network setting.'=>'Wartość ta zostanie nadpisana przez ustawienie sieciowe.','LQIP Excludes'=>'LQIP wyklucza','These images will not generate LQIP.'=>'Obrazy te nie wygenerują LQIP.','Are you sure you want to reset all settings back to the default settings?'=>'Czy na pewno chcesz przywrócić wszystkie ustawienia do wartości domyślnych?','This option will remove all %s tags from HTML.'=>'Ta opcja usunie wszystkie znaczniki %s z kodu HTML.','Are you sure you want to clear all cloud nodes?'=>'Czy na pewno chcesz wyczyścić wszystkie węzły chmury?','Remove Noscript Tags'=>'Usuń znaczniki Noscript','The site is not registered on QUIC.cloud.'=>'Witryna nie jest zarejestrowana na QUIC.cloud.','Click here to set.'=>'Kliknij tutaj, aby ustawić.','Localize Resources'=>'Zlokalizuj zasoby','Setting Up Custom Headers'=>'Konfigurowanie własnych nagłówków','This will delete all localized resources'=>'Spowoduje to usunięcie wszystkich zlokalizowanych zasobów','Localized Resources'=>'Zlokalizowane zasoby','Comments are supported. Start a line with a %s to turn it into a comment line.'=>'Komentarze są obsługiwane. Rozpocznij wiersz od %s, aby przekształcić go w wiersz komentarza.','HTTPS sources only.'=>'Tylko źródła HTTPS.','Localize external resources.'=>'Zlokalizuj zasoby zewnętrzne.','Localization Settings'=>'Ustawienia lokalizacji','Use QUIC.cloud online service to generate unique CSS.'=>'Użyj usługi online QUIC.cloud do generowania unikatowego CSS.','Generate UCSS'=>'Wygeneruj UCSS','Unique CSS'=>'Unikatowy CSS','Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches'=>'Wyczyść wpisy pamięci podręcznej utworzone przez tę wtyczkę, z wyjątkiem pamięci podręcznej Critical CSS, Unique CSS i LQIP','LiteSpeed Report'=>'Raport LiteSpeed','Image Thumbnail Group Sizes'=>'Rozmiary grup miniaturek obrazków','Ignore certain query strings when caching. (LSWS %s required)'=>'Ignoruj pewne ciągi zapytań podczas buforowania. (wymaga LSWS %s)','For URLs with wildcards, there may be a delay in initiating scheduled purge.'=>'W przypadku adresów URL zawierających symbole wieloznaczne może wystąpić opóźnienie w inicjowaniu zaplanowanego czyszczenia.','By design, this option may serve stale content. Do not enable this option, if that is not OK with you.'=>'Z założenia ta opcja może wyświetlać nieaktualną treść. Nie włączaj tej opcji, jeśli Ci to nie odpowiada.','Serve Stale'=>'Podawać przestarzałe','This value is overwritten by the primary site setting.'=>'Wartość ta zostanie nadpisana przez ustawienie witryny głównej.','One or more pulled images does not match with the notified image md5'=>'Jeden lub więcej pobranych obrazków nie pasuje do zgłoszonego obrazka md5','Some optimized image file(s) has expired and was cleared.'=>'Niektóre zoptymalizowane pliki obrazków utraciły ważność i zostały usunięte.','You have too many requested images, please try again in a few minutes.'=>'Masz za dużo żądanych obrazków. Spróbuj ponownie za kilka minut.','Pulled WebP image md5 does not match the notified WebP image md5.'=>'Pobrany obrazek WebP md5 nie pasuje do zgłoszonego obrazka WebP md5.','Pulled AVIF image md5 does not match the notified AVIF image md5.'=>'Pobrany obrazek AVIF md5 nie pasuje do zgłoszonego obrazka AVIF md5.','Read LiteSpeed Documentation'=>'Przeczytaj dokumentację LiteSpeed','There is proceeding queue not pulled yet. Queue info: %s.'=>'Kolejka nie jest jeszcze pobrana. Informacje o kolejce: %s.','Specify how long, in seconds, Gravatar files are cached.'=>'Określ, jak długo, w sekundach, pliki Gravatar są przechowywane w pamięci podręcznej.','Cleared %1$s invalid images.'=>'Usunięto %1$s nieprawidłowych obrazków.','LiteSpeed Cache General Settings'=>'Ustawienia ogólne pamięci podręcznej LiteSpeed','This will delete all cached Gravatar files'=>'Spowoduje to usunięcie wszystkich zbuforowanych plików gravatar','Prevent any debug log of listed pages.'=>'Zapobiega powstawaniu logów w dzienniku debugowania wymienionych stron.','Only log listed pages.'=>'Loguj tylko wybrane strony.','Specify the maximum size of the log file.'=>'Określ maksymalny rozmiar pliku dziennika.','To prevent filling up the disk, this setting should be OFF when everything is working.'=>'Aby nie dopuścić do zapełnienia dysku, ustawienie to powinno być wyłączone, gdy wszystko działa.','Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.'=>'Naciśnij przycisk %s, aby przerwać beta testy i wrócić do aktualnej wersji z WordPress Plugin Directory.','Use latest WordPress release version'=>'Użyj najnowszej wersji z WordPress.org','OR'=>'LUB','Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.'=>'Ta sekcja służy do przełączania wersji wtyczki. Aby przetestować beta GitHub commit, wpisz adres URL commit w polu poniżej.','Reset Settings'=>'Zresetuj ustawienia','LiteSpeed Cache Toolbox'=>'Narzędzia LiteSpeed Cache','Beta Test'=>'Beta testy','Log View'=>'Przegląd logów','Debug Settings'=>'Ustawienia debugowania','Turn ON to control heartbeat in backend editor.'=>'Włącz, aby kontrolować Heartbeat w edytorze zaplecza.','Turn ON to control heartbeat on backend.'=>'Włącz, aby kontrolować Heartbeat w zapleczu.','Set to %1$s to forbid heartbeat on %2$s.'=>'Ustaw na %1$s, aby zabronić Heartbeat na %2$s.','WordPress valid interval is %s seconds.'=>'Interwał ważności WordPressa wynosi %s sekund.','Specify the %s heartbeat interval in seconds.'=>'Określić interwał heartbeat w %s sekundach.','Turn ON to control heartbeat on frontend.'=>'Włącz, aby kontrolować Heartbeat we front-endzie.','Disable WordPress interval heartbeat to reduce server load.'=>'Wyłącz interwał heartbeat WordPressa w celu zmniejszenia obciążenia serwera.','Heartbeat Control'=>'Kontrola Heartbeat','provide more information here to assist the LiteSpeed team with debugging.'=>'podaj więcej informacji tutaj, aby pomóc zespołowi LiteSpeed w debugowaniu.','Optional'=>'Opcjonalnie','Generate Link for Current User'=>'Generowanie linku dla aktualnego użytkownika','Passwordless Link'=>'Link bez hasła','System Information'=>'Informacje systemowe','Go to plugins list'=>'Przejdź to listy wtyczek','Install DoLogin Security'=>'Zainstaluj DoLogin Security','Check my public IP from'=>'Sprawdź moje publiczne IP z','Your server IP'=>'Twój adres IP serwera','Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.'=>'Wprowadź adres IP tej strony, aby umożliwić usługom chmurowym bezpośrednie wywołanie IP zamiast nazwy domeny. Eliminuje to koszty związane z wyszukiwaniem DNS i CDN.','This will enable crawler cron.'=>'Spowoduje to włączenie funkcji cron dla robota indeksującego.','Crawler General Settings'=>'Ustawienia ogólne robota indeksującego','Remove from Blocklist'=>'Usuń z czarnej listy','Empty blocklist'=>'Wyczyść czarną listę','Are you sure to delete all existing blocklist items?'=>'Czy na pewno chcesz usunąć wszystkie istniejące czarne listy?','Blocklisted due to not cacheable'=>'Umieszczony na czarnej liście, ponieważ nie można go buforować','Add to Blocklist'=>'Dodaj do czarnej listy','Operation'=>'Operacja','Sitemap Total'=>'Mapa witryny ogółem','Sitemap List'=>'Lista mapy witryny','Refresh Crawler Map'=>'Odśwież mapę robota indeksującego','Clean Crawler Map'=>'Wyczyść mapę robota indeksującego','Blocklist'=>'Czarna lista','Map'=>'Mapa','Summary'=>'Podsumowanie','Cache Miss'=>'Brak pamięci podręcznej','Cache Hit'=>'Trafienie pamięci podręcznej','Waiting to be Crawled'=>'Czekanie na indeksowanie','Blocklisted'=>'Zablokowano','Miss'=>'Brak','Hit'=>'Odsłony','Waiting'=>'Oczekuje','Running'=>'Uruchomiony','Use %1$s in %2$s to indicate this cookie has not been set.'=>'Użyj %1$s w %2$s, aby zaznaczyć, że ten plik cookie nie został ustawiony.','Add new cookie to simulate'=>'Dodaj nowy plik cookie do symulacji','Remove cookie simulation'=>'Usuń symulację cookie','Htaccess rule is: %s'=>'Regułka htaccess jest: %s','More settings available under %s menu'=>'Więcej ustawień dostępnych jest poniżej menu %s','The amount of time, in seconds, that files will be stored in browser cache before expiring.'=>'Czas w sekundach, przez który pliki będą przechowywane w pamięci podręcznej przeglądarki przed wygaśnięciem.','OpenLiteSpeed users please check this'=>'Użytkownicy OpenLiteSpeed proszeni są o sprawdzenie tego','Browser Cache Settings'=>'Ustawienia pamięci podręcznej przeglądarki','Paths containing these strings will be forced to public cached regardless of no-cacheable settings.'=>'Ścieżki zawierające te ciągi zostaną zmuszone do umieszczenia w pamięci podręcznej niezależnie od ustawień bez-buforowania.','With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.'=>'Po włączeniu QUIC.cloud CDN nadal możesz widzieć nagłówki pamięci podręcznej z lokalnego serwera.','An optional second parameter may be used to specify cache control. Use a space to separate'=>'Opcjonalny drugi parametr może być użyty do określenia kontroli pamięci podręcznej. Użyj spacji, aby oddzielić','The above nonces will be converted to ESI automatically.'=>'Powyższe kody jednorazowe zostaną automatycznie przekonwertowane na ESI.','Browser'=>'Przeglądarka','Object'=>'Obiekt','Default port for %1$s is %2$s.'=>'Domyślnym portem dla %1$s jest %2$s.','Object Cache Settings'=>'Ustawienia pamięci podręcznej obiektu','Specify an HTTP status code and the number of seconds to cache that page, separated by a space.'=>'Podaj kod statusu HTTP i liczbę sekund, przez które strona ma być buforowana, rozdzielając je spacją.','Specify how long, in seconds, the front page is cached.'=>'Określ, jak długo (w sekundach) będzie buforowana strona główna.','TTL'=>'TTL','If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.'=>'Jeśli WŁĄCZONY, nieaktualna kopia strony z pamięci podręcznej będzie wyświetlana odwiedzającym, dopóki nie będzie dostępna nowa kopia z pamięci podręcznej. Zmniejsza obciążenie serwera podczas kolejnych wizyt. Jeśli WYŁĄCZONY, strona będzie generowana dynamicznie, podczas gdy odwiedzający będą czekać.','Swap'=>'Zamień','Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.'=>'Ustaw, aby dodać %1$s do wszystkich reguł %2$s przed buforowaniem CSS, aby określić sposób wyświetlania krojów pisma podczas pobierania.','Avatar list in queue waiting for update'=>'Lista awatarów w kolejce oczekujących na aktualizację','Refresh Gravatar cache by cron.'=>'Odśwież pamięć podręczną Gravatar przez crona.','Accelerates the speed by caching Gravatar (Globally Recognized Avatars).'=>'Przyspiesza działanie poprzez buforowanie Gravatara (globalnie rozpoznawanych awatarów).','Store Gravatar locally.'=>'Przechowuj Gravatar lokalnie.','Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.'=>'Nie udało się utworzyć tabeli Awatar. Postępuj zgodnie z <a %s>wskazówkami dotyczącymi tworzenia tabeli z LiteSpeed ​​Wiki</a>, aby zakończyć konfigurację.','LQIP requests will not be sent for images where both width and height are smaller than these dimensions.'=>'Żądania LQIP nie będą wysyłane w przypadku obrazków, których szerokość i wysokość są mniejsze od podanych wymiarów.','pixels'=>'pikseli','Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.'=>'Większa liczba wygeneruje symbol zastępczy o wyższej rozdzielczości, ale spowoduje to utworzenie większego pliku, co zwiększy rozmiar strony i zużyje więcej punktów.','Specify the quality when generating LQIP.'=>'Określ jakość podczas generowania LQIP.','Keep this off to use plain color placeholders.'=>'Wyłącz tę opcję, aby użyć symboli zastępczych w jednolitym kolorze.','Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.'=>'Użyj usługi generatora QUIC.cloud LQIP (Obraz zastępczy niskiej jakości), aby uzyskać responsywne podglądy obrazków podczas wczytywania.','Specify the responsive placeholder SVG color.'=>'Określ responsywny kolor symbolu zastępczego SVG.','Variables %s will be replaced with the configured background color.'=>'Zmienne %s zostaną zastąpione skonfigurowanym kolorem tła.','Variables %s will be replaced with the corresponding image properties.'=>'Zmienne %s zostaną zastąpione odpowiednimi właściwościami obrazka.','It will be converted to a base64 SVG placeholder on-the-fly.'=>'Plik zostanie na bieżąco przekonwertowany na symbol zastępczy SVG w formacie base64.','Specify an SVG to be used as a placeholder when generating locally.'=>'Określ plik SVG, który będzie używany jako symbol zastępczy podczas generowania lokalnego.','Prevent any lazy load of listed pages.'=>'Zapobiegaj leniwemu wczytywaniu wymienionych stron.','Iframes having these parent class names will not be lazy loaded.'=>'Iframy posiadające te nazwy klas nadrzędnych nie będą leniwie wczytywane.','Iframes containing these class names will not be lazy loaded.'=>'Iframy zawierające te nazwy klas nie będą leniwie wczytywane.','Images having these parent class names will not be lazy loaded.'=>'Obrazki posiadające te nazwy klas nadrzędnych nie będą leniwie wczytywane.','LiteSpeed Cache Page Optimization'=>'Optymalizacja strony LiteSpeed Cache','Media Excludes'=>'Wykluczone media','CSS Settings'=>'Ustawienia CSS','%s is recommended.'=>'Zalecane jest %s.','Deferred'=>'Odroczony','Default'=>'Domyślne','This can improve the page loading speed.'=>'Może to poprawić szybkość wczytywania strony.','Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.'=>'Automatycznie włącz wstępne pobieranie DNS dla wszystkich adresów URL w dokumencie, łącznie z obrazkami, arkuszami CSS, skryptami JavaScript itd.','New developer version %s is available now.'=>'Nowa wersja dla programistów %s jest już dostępna.','New Developer Version Available!'=>'Dostępna nowa wersja dla programistów!','Dismiss this notice'=>'Odrzuć to powiadomienie','Tweet this'=>'Tweetnij to','Tweet preview'=>'Podgląd tweeta','Learn more'=>'Dowiedz się więcej','You just unlocked a promotion from QUIC.cloud!'=>'Właśnie odblokowałeś promocję od QUIC.cloud!','The image compression quality setting of WordPress out of 100.'=>'Ustawienie jakości kompresji obrazka w WordPressie na 100.','Image Optimization Settings'=>'Ustawienia optymalizacji obrazków','Are you sure to destroy all optimized images?'=>'Czy na pewno usunąć wszystkie zoptymalizowane obrazki?','Use Optimized Files'=>'Użyj zoptymalizowanych plików','Switch back to using optimized images on your site'=>'Wróć do używania zoptymalizowanych obrazków w swojej witrynie','Use Original Files'=>'Użyj oryginalnych plików','Use original images (unoptimized) on your site'=>'Używaj oryginalnych obrazków (niezoptymalizowanych) na swojej witrynie','You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.'=>'Możesz szybko przełączać się między używaniem oryginalnych (niezoptymalizowanych wersji) i zoptymalizowanych plików graficznych. Będzie to miało wpływ na wszystkie obrazki na Twojej witrynie internetowej, zarówno zwykłe, jak i webp, jeśli są dostępne.','Optimization Tools'=>'Narzędzia optymalizacyjne','Rescan New Thumbnails'=>'Ponowne skanowanie nowych miniaturek','Congratulations, all gathered!'=>'Gratulacje, wszystkim zebranym!','What is an image group?'=>'Co to jest grupa obrazków?','Delete all backups of the original images'=>'Usuń wszystkie kopie zapasowe oryginalnych obrazków','Calculate Backups Disk Space'=>'Oblicz przestrzeń dyskową kopii zapasowych','Optimization Status'=>'Status optymalizacji','Current limit is'=>'Aktualny limit to','To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.'=>'Aby mieć pewność, że nasz serwer będzie mógł komunikować się z Twoim serwerem bez żadnych problemów i wszystko będzie działać prawidłowo, w przypadku kilku pierwszych żądań liczba grup obrazków dozwolonych w pojedynczym żądaniu jest ograniczona.','You can request a maximum of %s images at once.'=>'Możesz zamówić maksymalnie %s obrazków na raz.','Optimize images with our QUIC.cloud server'=>'Zoptymalizuj obrazki za pomocą naszego serwera QUIC.cloud','Revisions newer than this many days will be kept when cleaning revisions.'=>'Wersje nowsze niż ta liczba dni zostaną zachowane podczas czyszczenia wersji.','Day(s)'=>'Dzień/dni','Specify the number of most recent revisions to keep when cleaning revisions.'=>'Określ liczbę ostatnich wersji, które mają zostać zachowane podczas czyszczenia wersji.','LiteSpeed Cache Database Optimization'=>'Optymalizacja bazy danych LiteSpeed Cache','DB Optimization Settings'=>'Ustawienia optymalizacji bazy danych','Option Name'=>'Nazwa opcji','Database Summary'=>'Podsumowanie bazy danych','We are good. No table uses MyISAM engine.'=>'Jesteśmy dobrzy. Żadna tabela nie używa silnika MyISAM.','Convert to InnoDB'=>'Konwertuj do InnoDB','Tool'=>'Narzędzie','Engine'=>'Silnik','Table'=>'Tabela','Database Table Engine Converter'=>'Konwerter silnika tabel bazy danych','Clean revisions older than %1$s day(s), excluding %2$s latest revisions'=>'Wyczyść wersje starsze niż %1$s dni, z wyłączeniem %2$s najnowszych wersji','Currently active crawler'=>'Aktualnie aktywny robot indeksujący','Crawler(s)'=>'Robot(y) indeksujący(e)','Crawler Status'=>'Status robota indeksującego','Force cron'=>'Wymuś cron','Requests in queue'=>'Żądania w kolejce','Time to execute previous request: %s'=>'Czas wykonania poprzedniego żądania: %s','Private Cache'=>'Prywatna pamięć podręczna','Public Cache'=>'Publiczna pamięć podręczna','Cache Status'=>'Status pamięci podręcznej','Last Pull'=>'Ostatnie pociągnięcie','Image Optimization Summary'=>'Podsumowanie optymalizacji obrazka','Refresh page score'=>'Odśwież wynik strony','Are you sure you want to redetect the closest cloud server for this service?'=>'Czy na pewno chcesz ponownie wykryć najbliższy serwer chmury dla tej usługi?','Current closest Cloud server is %s. Click to redetect.'=>'Najbliższy serwer w chmurze to %s. Kliknij, aby ponownie go wykryć.','Refresh page load time'=>'Odśwież czas wczytywania strony','Go to QUIC.cloud dashboard'=>'Przejdź do kokpitu QUIC.cloud','Low Quality Image Placeholder'=>'Miejsce na obrazek o niskiej jakości','Sync data from Cloud'=>'Synchronizuj dane z chmury','QUIC.cloud Service Usage Statistics'=>'Statystyki wykorzystania usługi QUIC.cloud','Total images optimized in this month'=>'Łącznie zoptymalizowane obrazki w tym miesiącu','Total Usage'=>'Całkowite użycie','Pay as You Go Usage Statistics'=>'Statystyki użytkowania usługi Płać za użytkowanie','PAYG Balance'=>'Saldo PAYG','Pay as You Go'=>'Płać za użytkowanie','Usage'=>'Użycie','Fast Queue Usage'=>'Szybkie wykorzystanie kolejki','CDN Bandwidth'=>'Szerokość pasma CDN','LiteSpeed Cache Dashboard'=>'Kokpit LiteSpeed ​​Cache','Network Dashboard'=>'Kokpit sieci','No cloud services currently in use'=>'Obecnie nie są używane żadne usługi w chmurze','Click to clear all nodes for further redetection.'=>'Kliknij, aby wyczyścić wszystkie węzły w celu ich ponownego wykrycia.','Current Cloud Nodes in Service'=>'Aktualne węzły chmury w użyciu','Link to QUIC.cloud'=>'Odnośnik do QUIC.cloud','General Settings'=>'Ustawienia ogólne','Specify which HTML element attributes will be replaced with CDN Mapping.'=>'Określ, które atrybuty elementów HTML zostaną zastąpione mapowaniem CDN.','Add new CDN URL'=>'Dodaj nowy adres URL CDNa','Remove CDN URL'=>'Usuń adres URL CDNa','To enable the following functionality, turn ON Cloudflare API in CDN Settings.'=>'Aby włączyć następującą funkcjonalność, należy włączyć Cloudflare API w ustawieniach CDN.','QUIC.cloud'=>'QUIC.cloud','WooCommerce Settings'=>'Ustawienia WooCommerce','LQIP Cache'=>'Pamięć podręczna LQIP','Options saved.'=>'Opcje zapisane.','Removed backups successfully.'=>'Kopie zapasowe zostały pomyślnie usunięte.','Calculated backups successfully.'=>'Pomyślnie obliczono kopie zapasowe.','Rescanned %d images successfully.'=>'Pomyślnie przeskanowano %d obrazków.','Rescanned successfully.'=>'Ponowne skanowanie przebiegło pomyślnie.','Destroy all optimization data successfully.'=>'Pomyślnie zniszczono wszystkie dane optymalizacyjne.','Cleaned up unfinished data successfully.'=>'Pomyślnie wyczyszczono niedokończone dane.','Pull Cron is running'=>'Pull Cron jest uruchomiony','No valid image found by Cloud server in the current request.'=>'Serwer w chmurze nie znalazł prawidłowego obrazka w bieżącym żądaniu.','No valid image found in the current request.'=>'Nie znaleziono prawidłowego obrazka w bieżącym żądaniu.','Pushed %1$s to Cloud server, accepted %2$s.'=>'Wysłano %1$s na serwer w chmurze, zaakceptowano %2$s.','Revisions Max Age'=>'Maksymalny wiek wersji','Revisions Max Number'=>'Maksymalna ilość rewizji','Debug URI Excludes'=>'Wykluczenia debugowania URI','Debug URI Includes'=>'Debugowanie URI zawiera','HTML Attribute To Replace'=>'Atrybut HTML do zastąpienia','Use CDN Mapping'=>'Użyj mapowania CDN','QUIC.cloud CDN:'=>'QUIC.cloud CDN:','Editor Heartbeat TTL'=>'Edytor Heartbeat TTL','Editor Heartbeat'=>'Edytor Heartbeat','Backend Heartbeat TTL'=>'Zaplecze Heartbeat TTL','Backend Heartbeat Control'=>'Kontrola zaplecza Heartbeat','Frontend Heartbeat TTL'=>'Front-end Heartbeat TTL','Frontend Heartbeat Control'=>'Kontrola front-endu Heartbeat','Backend .htaccess Path'=>'Ścieżka zaplecza .htaccess','Frontend .htaccess Path'=>'Ścieżka front-endu .htaccess','ESI Nonces'=>'Kody jednorazowe ESI','WordPress Image Quality Control'=>'Kontrola jakości obrazka WordPress','Auto Request Cron'=>'Automatyczne żądanie Cron','Generate LQIP In Background'=>'Generuj LQIP w tle','LQIP Minimum Dimensions'=>'Minimalne wymiary LQIP','LQIP Quality'=>'Jakość LQIP','LQIP Cloud Generator'=>'Generator chmur LQIP','Responsive Placeholder SVG'=>'Responsywny symbol zastępczy SVG','Responsive Placeholder Color'=>'Responsywny symbol zastępczy koloru','Basic Image Placeholder'=>'Podstawowy symbol zastępczy obrazka','Lazy Load URI Excludes'=>'Wykluczenia leniwego wczytywania URI','Lazy Load Iframe Parent Class Name Excludes'=>'Nazwa klasy nadrzędnej iframe leniwego wczytywania wyklucza','Lazy Load Iframe Class Name Excludes'=>'Nazwa klasy iframe leniwego wczytywania wyklucza','Lazy Load Image Parent Class Name Excludes'=>'Nazwa klasy nadrzędnej leniwego wczytywania obrazka wyklucza','Gravatar Cache TTL'=>'Pamięć podręczna Gravatar TTL','Gravatar Cache Cron'=>'Pamięć podręczna Gravatar Cron','Gravatar Cache'=>'Pamięć podręczna Gravatara','DNS Prefetch Control'=>'Kontrola wstępnego pobierania DNS','Font Display Optimization'=>'Optymalizacja wyświetlania kroju pisma','Force Public Cache URIs'=>'Wymuś publiczne identyfikatory URI pamięci podręcznej','Notifications'=>'Powiadomienia','Default HTTP Status Code Page TTL'=>'Domyślna strona kodowa stanu HTTP TTL','Default REST TTL'=>'Domyślny REST TTL','Enable Cache'=>'Włącz pamięć podręczną','Server IP'=>'Adres IP serwera','Images not requested'=>'Obrazki nie zostały zażądane','Sync credit allowance with Cloud Server successfully.'=>'Synchronizacja limitu kredytowego z serwerem w chmurze przebiegła pomyślnie.','Failed to communicate with QUIC.cloud server'=>'Nie udało się nawiązać komunikacji z serwerem QUIC.cloud','Good news from QUIC.cloud server'=>'Dobre wieści z serwera QUIC.cloud','Message from QUIC.cloud server'=>'Komunikat z serwera QUIC.cloud','Please try after %1$s for service %2$s.'=>'Proszę spróbować po %1$s dla usługi %2$s.','No available Cloud Node.'=>'Brak dostępnego węzła chmury.','Cloud Error'=>'Błąd chmury','The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.'=>'Baza danych jest aktualizowana w tle od %s. Ten komunikat zniknie po zakończeniu aktualizacji.','Restore from backup'=>'Przywracanie z kopii zapasowej','No backup of unoptimized WebP file exists.'=>'Nie istnieje kopia zapasowa niezoptymalizowanego pliku WebP.','WebP file reduced by %1$s (%2$s)'=>'Plik WebP zmniejszony o %1$s (%2$s)','Currently using original (unoptimized) version of WebP file.'=>'Obecnie korzystam z oryginalnej (niezoptymalizowanej) wersji pliku WebP.','Currently using optimized version of WebP file.'=>'Obecnie używana jest zoptymalizowana wersja pliku WebP.','Orig'=>'Oryginał','(no savings)'=>'(bez zapisania)','Orig %s'=>'Oryginał %s','Congratulation! Your file was already optimized'=>'Gratulacje! Twój plik został już zoptymalizowany','No backup of original file exists.'=>'Nie istnieje kopia zapasowa oryginalnego pliku.','Using optimized version of file. '=>'Używanie zoptymalizowanej wersji pliku. ','Orig saved %s'=>'Oryginał zapisany %s','Original file reduced by %1$s (%2$s)'=>'Oryginalny plik zmniejszony o %1$s (%2$s)','Click to switch to optimized version.'=>'Kliknij, aby przejść do wersji zoptymalizowanej.','Currently using original (unoptimized) version of file.'=>'Obecnie używana jest oryginalna (niezoptymalizowana) wersja pliku.','(non-optm)'=>'(nieoptymalizowany)','Click to switch to original (unoptimized) version.'=>'Kliknij, aby przejść do wersji oryginalnej (niezoptymalizowanej).','Currently using optimized version of file.'=>'Obecnie korzystam ze zoptymalizowanej wersji pliku.','(optm)'=>'(optymalizowany)','LQIP image preview for size %s'=>'Podgląd obrazka LQIP dla rozmiaru %s','LQIP'=>'LQIP','Previously existed in blocklist'=>'Wcześniej znajdował się na czarnej liście','Manually added to blocklist'=>'Ręcznie dodano do listy blokowania','Mobile Agent Rules'=>'Zasady agenta mobilnego','Sitemap created successfully: %d items'=>'Mapa witryny utworzona pomyślnie: %d elementów','Sitemap cleaned successfully'=>'Mapa witryny została pomyślnie wyczyszczona','Invalid IP'=>'Błędny adres IP','Value range'=>'Zakres wartości','Smaller than'=>'Mniejszy niż','Larger than'=>'Większy niż','Zero, or'=>'Zero lub','Maximum value'=>'Maksymalna wartość','Minimum value'=>'Minimalna wartość','Path must end with %s'=>'Ścieżka musi kończyć się z %s','Invalid rewrite rule'=>'Nieprawidłowa reguła przepisywania','Currently set to %s'=>'Aktualnie ustawione na %s','This value is overwritten by the PHP constant %s.'=>'Wartość ta zostanie nadpisana przez stałą PHP %s.','Toolbox'=>'Narzędzia','Database'=>'Baza danych','Page Optimization'=>'Optymalizacja strony','Dashboard'=>'Kokpit','Converted to InnoDB successfully.'=>'Konwersja do InnoDB zakończona sukcesem.','Cleaned all Gravatar files.'=>'Wyczyszczono wszystkie pliki Gravatara.','Cleaned all LQIP files.'=>'Wyczyszczono wszystkie pliki LQIP.','Unknown error'=>'Nieznany błąd','Your domain has been forbidden from using our services due to a previous policy violation.'=>'Twoja domena została wykluczona z naszych usług z powodu wcześniejszego naruszenia zasad.','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: '=>'Walidacja wywołania zwrotnego do Twojej domeny nie powiodła się. Upewnij się, że żadna zapora nie blokuje naszych serwerów. Kod odpowiedzi: ','The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.'=>'Walidacja wywołania zwrotnego do Twojej domeny nie powiodła się. Upewnij się, że żadna zapora nie blokuje naszych serwerów.','The callback validation to your domain failed due to hash mismatch.'=>'Walidacja wywołania zwrotnego do Twojej domeny nie powiodła się z powodu niezgodności skrótu.','Your application is waiting for approval.'=>'Twój wniosek oczekuje na zatwierdzenie.','Previous request too recent. Please try again after %s.'=>'Poprzednie żądanie jest zbyt nowe. Spróbuj ponownie po %s.','Previous request too recent. Please try again later.'=>'Poprzednie zapytanie było zbyt aktualne. Proszę spróbować ponownie później.','Crawler disabled by the server admin.'=>'Crawler wyłączony przez administratora serwera.','Failed to create table %1$s! SQL: %2$s.'=>'Nie udało się utworzyć tabeli %1$s! SQL: %2$s.','Could not find %1$s in %2$s.'=>'Nie można znaleźć %1$s w %2$s.','Credits are not enough to proceed the current request.'=>'Liczba punktów nie jest wystarczająca do realizacji bieżącego żądania.','There is proceeding queue not pulled yet.'=>'Kolejka nie została jeszcze uruchomiona.','The image list is empty.'=>'Lista obrazków jest pusta.','LiteSpeed Crawler Cron'=>'Robot indeksujący Cron LiteSpeed','Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.'=>'Włącz tę opcję, aby automatycznie wyświetlać najnowsze wiadomości, w tym hotfixy, nowe wersje, dostępne wersje beta, promocje.','To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.'=>'Aby przyznać dostęp do konta wp-admin zespołowi pomocy technicznej LiteSpeed, wygeneruj odnośnik bez hasła dla aktualnie zalogowanego użytkownika. Odnośnik zostanie wysłany wraz z raportem.','Generated links may be managed under %sSettings%s.'=>'Wygenerowanymi odnośnikami można zarządzać w %sUstawieniach%s.','Please do NOT share the above passwordless link with anyone.'=>'Proszę NIE udostępniać nikomu powyższego linku bez hasła.','To generate a passwordless link for LiteSpeed Support Team access, you must install %s.'=>'Aby wygenerować odnośnik bez hasła umożliwiający dostęp do zespołu wsparcia LiteSpeed, musisz zainstalować %s.','Install'=>'Zainstaluj','These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.'=>'Te opcje są dostępne tylko z LiteSpeed Enterprise Web Server lub QUIC.cloud CDN.','PageSpeed Score'=>'Wynik PageSpeed','Improved by'=>'Ulepszone przez','After'=>'Po','Before'=>'Przed','Page Load Time'=>'Czas ładowania strony','To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.'=>'Aby korzystać z funkcji buforowania, musisz posiadać serwer WWW LiteSpeed ​​lub używać QUIC.cloud CDN.','Preserve EXIF/XMP data'=>'Zachowaj dane EXIF/XMP','Try GitHub Version'=>'Wypróbuj wersję GitHub','If you turn any of the above settings OFF, please remove the related file types from the %s box.'=>'Jeżeli wyłączysz którekolwiek z powyższych ustawień, usuń powiązane rodzaje plików z pola %s.','Both full and partial strings can be used.'=>'Mogą być używanie pełne lub częściowe stringi.','Images containing these class names will not be lazy loaded.'=>'Obrazki zawierające tą nazwę klasy nie będą wczytywane przez lazy load.','Lazy Load Image Class Name Excludes'=>'Wykluczona nazwa klasy leniwego wczytywania obrazka','For example, %1$s defines a TTL of %2$s seconds for %3$s.'=>'Na przykład %1$s definiuje TTL na %2$s sekund dla %3$s.','To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.'=>'Aby zdefiniować niestandardowy czas życia (TTL) dla identyfikatora URI, należy na końcu identyfikatora URI dodać spację i wartość TTL.','Maybe Later'=>'Może później','Turn On Auto Upgrade'=>'Włącz automatyczne aktualizacje','Upgrade'=>'Ulepszenie','New release %s is available now.'=>'Nowe wydanie %s jest dostępne.','New Version Available!'=>'Nowa wersja jest dostępna!','Created with ❤️ by LiteSpeed team.'=>'Stworzone z ❤️ przez zespół LiteSpeed.','Sure I\'d love to review!'=>'Pewnie, chętnie napiszę recenzję!','Thank You for Using the LiteSpeed Cache Plugin!'=>'Dziękujemy za używanie wtyczki LiteSpeed Cache!','Upgraded successfully.'=>'Aktualizacja przebiegła pomyślnie.','Failed to upgrade.'=>'Aktualizacja nie powiodła się.','Changed setting successfully.'=>'Zmieniono ustawienie pomyślnie.','ESI sample for developers'=>'Przykład ESI dla programistów','Replace %1$s with %2$s.'=>'Zamień %1$s z %2$s.','You can turn shortcodes into ESI blocks.'=>'Możesz włączyć krótkie kody w blokach ESI.','WpW: Private Cache vs. Public Cache'=>'WpW: Prywatna pamięć podręczna vs. Publiczna pamięć podręczna','Append query string %s to the resources to bypass this action.'=>'Dołącz string zapytania %s do zasobów, aby obejść tę akcję.','Google reCAPTCHA will be bypassed automatically.'=>'Google reCAPTCHA zostanie automatycznie pominięte.','To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.'=>'Aby przeszukać konkretny plik ciasteczka, wprowadź nazwę pliku ciasteczka i wartości, które chcesz przeszukać. Wartości powinny być po jednej na wiersz. Zostanie utworzony jeden indeksujący na wartość pliku ciasteczka, na symulowaną rolę.','Cookie Values'=>'Wartości Cookie','Cookie Name'=>'Nazwa Cookie','Cookie Simulation'=>'Symulacja Cookie','Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.'=>'Użyj biblioteki Web Font Loader, aby ładować czcionki Google asynchronicznie, pozostawiając inne CSS w stanie nienaruszonym.','Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.'=>'Włącz tę opcję, aby LiteSpeed ​​Cache aktualizowało się automatycznie, gdy tylko zostanie wydana nowa wersja. Jeśli wyłączone, aktualizuj ręcznie jak zwykle.','Automatically Upgrade'=>'Automatycznie uaktualnij','Your IP'=>'Twoje IP','Reset successfully.'=>'Pomyślnie zresetowano ustawienia.','This will reset all settings to default settings.'=>'Spowoduje to przywrócenie wszystkich ustawień domyślnych.','Reset All Settings'=>'Zresetuj wszystkie ustawienia','Separate critical CSS files will be generated for paths containing these strings.'=>'Osobne pliki krytycznego CSS zostaną wygenerowane dla ścieżek zawierających te wpisy.','Separate CCSS Cache URIs'=>'Oddzielne identyfikatory URI pamięci podręcznej CCSS','For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.'=>'Jeśli na przykład każda strona w witrynie ma inne formatowanie, wpisz %s w polu. Oddzielne krytyczne pliki CSS będą przechowywane dla każdej strony w witrynie.','List post types where each item of that type should have its own CCSS generated.'=>'Wymień typy treści, w których każdy element tego typu powinien mieć wygenerowany własny CCSS.','Separate CCSS Cache Post Types'=>'Oddzielne typy treści CCSS','Size list in queue waiting for cron'=>'Lista rozmiarów w kolejce czeka na crona','If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.'=>'Jeśli ustawione na %1$s, zanim element zastępczy zostanie zlokalizowany, zostanie użyta konfiguracja %2$s.','Automatically generate LQIP in the background via a cron-based queue.'=>'Automatycznie generuj LQIP w tle za pomocą kolejki cron.','This will generate the placeholder with same dimensions as the image if it has the width and height attributes.'=>'Spowoduje to wygenerowanie symbolu zastępczego o takich samych wymiarach jak obrazek, jeśli ma atrybuty szerokości i wysokości.','Responsive image placeholders can help to reduce layout reshuffle when images are loaded.'=>'Elementy zastępcze obrazu responsywnego mogą pomóc w zmniejszeniu przetasowania układu podczas wczytywania obrazków.','Responsive Placeholder'=>'Responsywny element zastępczy','This will delete all generated image LQIP placeholder files'=>'Spowoduje to usunięcie wszystkich plików LQIP elementów zastępczych  dla wygenerowanych obrazów','Please enable LiteSpeed Cache in the plugin settings.'=>'Proszę włączyć LiteSpeed Cache w ustawieniach wtyczki.','Please enable the LSCache Module at the server level, or ask your hosting provider.'=>'Włącz moduł LSCache na poziomie serwera lub skontaktuj się z dostawcą usług hostingowych.','Failed to request via WordPress'=>'Nie powiodło się żądanie przez WordPress','High-performance page caching and site optimization from LiteSpeed'=>'Wysokowydajne buforowanie stron i optymalizacja strony od LiteSpeed','Reset the optimized data successfully.'=>'Zrestartowano zoptymalizowane dane pomyślnie.','Update %s now'=>'Aktualizuj teraz %s','View %1$s version %2$s details'=>'Zobacz szczegóły %1$s w wersji %2$s','<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.'=>'<a href="%1$s" %2$s>Zobacz szczegóły wersji %3$s</a> lub <a href="%4$s" %5$s target="_blank">zaktualizuj teraz</a>.','Install %s'=>'Zainstaluj %s','LSCache caching functions on this page are currently unavailable!'=>'Funkcja pamięci podręcznej LSCache na tej stronie jest aktualnie niedostępna!','%1$s plugin version %2$s required for this action.'=>'%1$s wersja wtyczki %2$s jest wymagana dla tej akcji.','We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.'=>'Pracujemy ciężko, aby ulepszyć Twoje doświadczenie z usługą online. Usługa będzie niedostępna podczas naszych prac. Przepraszamy za wszelkie niedogodności.','Automatically remove the original image backups after fetching optimized images.'=>'Automatycznie usuwaj oryginalne kopie zapasowe obrazków po pobraniu zoptymalizowanych obrazków.','Remove Original Backups'=>'Usuń oryginalne kopie zapasowe','Automatically request optimization via cron job.'=>'Automatycznie żądaj optymalizacji za pomocą zadania cron.','A backup of each image is saved before it is optimized.'=>'Kopia zapasowa każdego obrazka jest zapisywana przed optymalizacją.','Switched images successfully.'=>'Obrazki zamieniono pomyślnie.','This can improve quality but may result in larger images than lossy compression will.'=>'Może to poprawić jakość, ale może skutkować większymi obrazami niż kompresja stratna.','Optimize images using lossless compression.'=>'Optymalizuj obrazki używając kompresji bezstratnej.','Optimize Losslessly'=>'Zoptymalizuj bezstratnie','Request WebP/AVIF versions of original images when doing optimization.'=>'Podczas optymalizacji należy zażądać wersji WebP/AVIF oryginalnych obrazków.','Optimize images and save backups of the originals in the same folder.'=>'Zoptymalizuj obrazki i zapisz kopie zapasowe oryginałów w tym samym folderze.','Optimize Original Images'=>'Zoptymalizuj oryginalne obrazki','When this option is turned %s, it will also load Google Fonts asynchronously.'=>'Po włączeniu tej opcji %s kroje pisma Google będą wczytywane asynchronicznie.','Cleaned all Critical CSS files.'=>'Wyczyszczono wszystkie krytyczne pliki CSS.','This will inline the asynchronous CSS library to avoid render blocking.'=>'Spowoduje to wstawienie asynchronicznej biblioteki CSS w celu uniknięcia blokowania renderowania.','Inline CSS Async Lib'=>'Wewnętrzny CSS Async Lib','Run Queue Manually'=>'Uruchom kolejkę ręcznie','URL list in %s queue waiting for cron'=>'Lista adresów URL w kolejce %s oczekująca na cron','Last requested cost'=>'Koszt ostatniego żądania','Last generated'=>'Ostatnio wygenerowany','If set to %s this is done in the foreground, which may slow down page load.'=>'Jeśli ustawiono %s to działanie odbywa się na pierwszym planie, co może spowolnić ładowanie strony.','Automatic generation of critical CSS is in the background via a cron-based queue.'=>'Automatyczne generowanie krytycznego CSS odbywa się w tle za pośrednictwem kolejki opartej na cron.','Optimize CSS delivery.'=>'Optymalizuj dostarczanie CSS.','This will delete all generated critical CSS files'=>'Spowoduje to usunięcie wszystkich wygenerowanych krytycznych plików CSS','Critical CSS'=>'Krytyczny CSS','This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.'=>'Ta strona korzysta z buforowania w celu przyspieszenia czasu reakcji i lepszego doświadczenia użytkownika. Buforowanie potencjalnie przechowuje duplikat każdej strony internetowej wyświetlanej w tej witrynie. Wszystkie pliki pamięci podręcznej są tymczasowe i nigdy nie są dostępne dla osób trzecich, z wyjątkiem sytuacji, gdy jest to konieczne do uzyskania pomocy technicznej od dostawcy wtyczki pamięci podręcznej. Pliki pamięci podręcznej wygasają zgodnie z harmonogramem ustalonym przez administratora witryny, ale mogą zostać łatwo usunięte przez administratora przed ich naturalnym wygaśnięciem, jeśli będzie to konieczne. Możemy korzystać z usług QUIC.cloud w celu tymczasowego przetwarzania i buforowania Twoich danych.','Disabling this may cause WordPress tasks triggered by AJAX to stop working.'=>'Wyłączenie tego może spowodować, że zadania WordPress wyzwalane przez AJAX przestaną działać.','right now'=>'teraz','just now'=>'właśnie','Saved'=>'Zapisano','Last ran'=>'Ostatnio uruchmiono','You will be unable to Revert Optimization once the backups are deleted!'=>'Po usunięciu kopii zapasowych nie będzie można przywrócić optymalizacji!','This is irreversible.'=>'To jest nieodwracalne.','Remove Original Image Backups'=>'Usuń oryginalne kopie zapasowe obrazów','Are you sure you want to remove all image backups?'=>'Czy na pewno chcesz usunąć wszystkie kopie zapasowe obrazków?','Total'=>'Łącznie','Files'=>'Plików','Last calculated'=>'Ostatnio obliczono','Calculate Original Image Storage'=>'Oblicz miejsce zajęte przez oryginalne obrazy','Storage Optimization'=>'Optymalizacja pamięci masowej','Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.'=>'Włącz zastępowanie WebP/AVIF w elementach %s, które zostały wygenerowane poza logiką WordPress.','Use the format %1$s or %2$s (element is optional).'=>'Użyj formatu %1$s lub %2$s (element opcjonalny)','Only attributes listed here will be replaced.'=>'Tylko wymienione tutaj atrybuty zostaną zastąpione.','Specify which element attributes will be replaced with WebP/AVIF.'=>'Określ, które atrybuty elementu zostaną zastąpione przez WebP/AVIF.','WebP/AVIF Attribute To Replace'=>'Atrybut WebP/AVIF do zastąpienia','Only files within these directories will be pointed to the CDN.'=>'Tylko pliki znajdujące się w tych katalogach będą kierowane do CDN.','Included Directories'=>'Dołączone katalogi','A Purge All will be executed when WordPress runs these hooks.'=>'Operacja Wyczyść wszystko zostanie wykonana, gdy WordPress uruchomi te haki.','Purge All Hooks'=>'Wyczyść wszystkie rozszerzenia','Purged all caches successfully.'=>'Wyczyszczono całą pamięć podręczną pomyślnie.','LSCache'=>'LSCache','Forced cacheable'=>'Wymuszone buforowanie','Paths containing these strings will be cached regardless of no-cacheable settings.'=>'Ścieżki zawierające te łańcuchy będą buforowane bez względu na ustawienia, których nie można buforować.','Force Cache URIs'=>'Wymuś identyfikatory URI pamięci podręcznej','Exclude Settings'=>'Wykluczone ustawienia','This will disable LSCache and all optimization features for debug purpose.'=>'Spowoduje to wyłączenie funkcji LSCache i wszystkich funkcji optymalizacji dla celów debugowania.','Disable All Features'=>'Wyłącz wszystkie funkcje','Opcode Cache'=>'Pamięć podręczna Opcode','CSS/JS Cache'=>'Pamięć podręczna CSS/JS','Remove all previous unfinished image optimization requests.'=>'Usuń wszystkie wcześniejsze niedokończone żądania optymalizacji obrazu.','Clean Up Unfinished Data'=>'Wyczyść niedokończone dane','Join Us on Slack'=>'Dołącz do nas na Slacku','Join the %s community.'=>'Dołącz do społeczności %s.','Want to connect with other LiteSpeed users?'=>'Chcesz połączyć się z innymi użytkownikami LiteSpeed?','Your API key / token is used to access %s APIs.'=>'Twój klucz/token API służy do dostępu do %s interfejsów API.','Your Email address on %s.'=>'Twój adres E-Mail na %s.','Use %s API functionality.'=>'Użyj funkcjonalności API %s.','To randomize CDN hostname, define multiple hostnames for the same resources.'=>'Aby losowo wybrać nazwę hosta CDN, zdefiniuj wiele nazw hostów dla tych samych zasobów.','Join LiteSpeed Slack community'=>'Dołącz do społeczności LiteSpeed Slack','Visit LSCWP support forum'=>'Odwiedź forum pomocy LSCWP','Images notified to pull'=>'Obrazy zgłoszone do przesłania','What is a group?'=>'Czym jest grupa?','%s image'=>'%s obrazek','%s group'=>'%s grupa','%s images'=>'%s obrazki','%s groups'=>'%s grupy','Guest'=>'Gość','To crawl the site as a logged-in user, enter the user ids to be simulated.'=>'Aby indeksować witrynę jako zalogowany użytkownik, wprowadź identyfikatory użytkowników, które mają zostać symulowane.','Role Simulation'=>'Symulacja roli','running'=>'uruchomione','Size'=>'Rozmiar','Ended reason'=>'Powód zakończenia','Last interval'=>'Ostatni interwał','Current crawler started at'=>'Aktualny robot indeksujący wystartował w','Run time for previous crawler'=>'Ostatni czas uruchomienia robota indeksującego','%d seconds'=>'%d sekund','Last complete run time for all crawlers'=>'Ostatni kompletny czas wykonania dla wszystkich robotów indeksujących','Current sitemap crawl started at'=>'Aktualny robot indeksujący mapę strony wystartował w','Save transients in database when %1$s is %2$s.'=>'Zapisuj dane tymczasowe w bazie danych tylko wtedy gdy %1$s wynosi %2$s.','Store Transients'=>'Zapisuj dane tymczasowe','If %1$s is %2$s, then %3$s must be populated!'=>'Jeśli %1$s wynosi %2$s, to %3$s musi zostać wypełnione!','Server allowed max value: %s'=>'Serwer dopuszcza maksymalną wartość: %s','Server enforced value: %s'=>'Wartość wymuszona przez serwer: %s','NOTE'=>'Notatka','Server variable(s) %s available to override this setting.'=>'Zmienna(e) serwera %s dostępne do nadpisania tego ustawienia.','API'=>'API','Reset the entire OPcache successfully.'=>'Pomyślnie zresetowano cały OPcache.','Imported setting file %s successfully.'=>'Pomyślnie importowano plik ustawień %s.','Import failed due to file error.'=>'Importowanie nie powiodło się z powodu błędu pliku.','How to Fix Problems Caused by CSS/JS Optimization.'=>'Jak naprawić problemy spowodowane przez optymalizację CSS / JS.','This will generate extra requests to the server, which will increase server load.'=>'Spowoduje to wygenerowanie dodatkowych żądań do serwera, co zwiększy obciążenie serwera.','When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.'=>'Gdy użytkownik najedzie kursorem na odnośnik strony, wstępnie wczyta tę stronę. Przyspieszy to wizytę na tym odnośniku.','Instant Click'=>'Natychmiastowe kliknięcie','Reset the entire opcode cache'=>'Zresetuj całą pamięć podręczną kodu operacji','This will import settings from a file and override all current LiteSpeed Cache settings.'=>'Spowoduje to zaimportowanie ustawień z pliku i zastąpienie wszystkich bieżących ustawień pamięci podręcznej LiteSpeed.','Last imported'=>'Ostatnio zaimportowano','Import'=>'Import','Import Settings'=>'Ustawienia importu','This will export all current LiteSpeed Cache settings and save them as a file.'=>'Spowoduje to wyeksportowanie wszystkich bieżących ustawień LiteSpeed ​​Cache i zapisanie ich w pliku.','Last exported'=>'Ostatni eksport','Export'=>'Eksport','Export Settings'=>'Ustawienia eksportu','Import / Export'=>'Import / Eksport','Use keep-alive connections to speed up cache operations.'=>'Używaj połączeń keep-alive, aby przyspieszyć operacje w pamięci podręcznej.','Database to be used'=>'Baza danych do wykorzystania','Redis Database ID'=>'ID bazy danych REDIS','Specify the password used when connecting.'=>'Określ hasło używane podczas łączenia.','Password'=>'Hasło','Only available when %s is installed.'=>'Dostępne tylko po zainstalowaniu %s.','Username'=>'Nazwa użytkownika','Your %s Hostname or IP address.'=>'Twój adres IP lub nazwa hosta %s.','Method'=>'Metoda','Purge all object caches successfully.'=>'Pomyślnie wyczyszczono całą pamięć podręczną obiektów.','Object cache is not enabled.'=>'Pamięć podręczna obiektów nie jest włączona.','Improve wp-admin speed through caching. (May encounter expired data)'=>'Zwiększ szybkość wp-admin poprzez buforowanie. (Może wystąpić problem z wygasłymi danymi)','Cache WP-Admin'=>'Pamięć podręczna WP-Admin','Persistent Connection'=>'Trwałe połączenie','Do Not Cache Groups'=>'Nie zapisuj w pamięci podręcznej grup','Groups cached at the network level.'=>'Grupy zapisywane w pamięci podręcznej na poziomie sieci.','Global Groups'=>'Globalne grupy','Connection Test'=>'Test połączenia','%s Extension'=>'Rozszerzenie %s','Status'=>'Stan','Default TTL for cached objects.'=>'Domyślny TTL dla obiektów pamięci podręcznej.','Default Object Lifetime'=>'Domyślny czas życia obiektu','Port'=>'Port','Host'=>'Host','Object Cache'=>'Pamięć podręczna obiektów','Failed'=>'Niepowodzenie','Passed'=>'Zaliczono','Not Available'=>'Niedostępne','Purge all the object caches'=>'Usuń wszystkie pamięci podręczne obiektów','Failed to communicate with Cloudflare'=>'Nie można połączyć się z Cloudflare','Communicated with Cloudflare successfully.'=>'Połączenie z Cloudflare pomyślnie.','No available Cloudflare zone'=>'Brak dostępnej strefy Cloudflare','Notified Cloudflare to purge all successfully.'=>'Powiadomiono Cloudflare, aby oczyścił wszystko z powodzeniem.','Cloudflare API is set to off.'=>'Cloudflare API jest wyłączone.','Notified Cloudflare to set development mode to %s successfully.'=>'Powiadomiono Cloudflare, aby pomyślnie ustawił tryb developerski na %s.','Once saved, it will be matched with the current list and completed automatically.'=>'Po zapisaniu zostanie dopasowany do bieżącej listy i wypełniony automatycznie.','You can just type part of the domain.'=>'Możesz po prostu wpisać część domeny.','Domain'=>'Domena','Cloudflare API'=>'Cloudflare API','Purge Everything'=>'Wyczyść wszystko','Cloudflare Cache'=>'Pamięć podręczna Cloudflare','Development Mode will be turned off automatically after three hours.'=>'Tryb deweloperski zostanie wyłączony automatycznie po trzech godzinach.','Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.'=>'Tymczasowo pomiń pamięć podręczną Cloudflare. Pozwala to na obserwowanie zmian w serwerze źródłowym w czasie rzeczywistym.','Development mode will be automatically turned off in %s.'=>'Tryb deweloperski zostanie automatycznie wyłączony za %s.','Current status is %s.'=>'Aktualny stan to %s.','Current status is %1$s since %2$s.'=>'Aktualny status to %1$s od %2$s.','Check Status'=>'Sprawdź status','Turn OFF'=>'Wyłącz','Turn ON'=>'Włącz','Development Mode'=>'Tryb deweloperski','Cloudflare Zone'=>'Strefa Cloudflare','Cloudflare Domain'=>'Domena Cloudflare','Cloudflare'=>'Cloudflare','For example'=>'Na przykład','Prefetching DNS can reduce latency for visitors.'=>'Wstępne pobieranie DNS może zmniejszyć opóźnienia dla odwiedzających.','DNS Prefetch'=>'Wstępne pobieranie DNS','Adding Style to Your Lazy-Loaded Images'=>'Dodawanie stylu do leniwego wczytywania obrazków','Default value'=>'Wartość domyślna','Static file type links to be replaced by CDN links.'=>'Statyczne odnośniki plików do zastąpienia przez odnośniki CDN.','For example, to drop parameters beginning with %1$s, %2$s can be used here.'=>'Na przykład, aby usunąć parametry zaczynające się od %1$s, można tutaj użyć %2$s.','Drop Query String'=>'Usuń ciąg zapytań','Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.'=>'Włącz tę opcję, jeśli używasz zarówno protokołu HTTP, jak i HTTPS w tej samej domenie i zauważysz nieprawidłowości w pamięci podręcznej.','Improve HTTP/HTTPS Compatibility'=>'Popraw zgodność z HTTP/HTTPS','Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.'=>'Usuń wszystkie poprzednie żądania / wyniki optymalizacji obrazu, przywróć ukończone optymalizacje i usuń wszystkie pliki optymalizacji.','Destroy All Optimization Data'=>'Zniszcz wszystkie dane optymalizacji','Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.'=>'Zeskanuj wszystkie nowe niezoptymalizowane rozmiary miniatur obrazu i wyślij ponownie wymagane żądania optymalizacji obrazu.','This will increase the size of optimized files.'=>'Zwiększy to rozmiar plików zoptymalizowanych.','Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.'=>'Podczas optymalizacji zachowaj dane EXIF ​​(prawa autorskie, GPS, komentarze, słowa kluczowe itp.).','Clear Logs'=>'Wyczyść dzienniki',' %s ago'=>' %s temu','WebP saved %s'=>'WebP zapisane %s','If you run into any issues, please refer to the report number in your support message.'=>'Jeśli doświadczysz jakichkolwiek problemów, odwołaj się do tego w swoim raporcie pomocy technicznej.','Last pull initiated by cron at %s.'=>'Ostatnie wysyłanie zainicjowane przez crona o %s.','Images will be pulled automatically if the cron job is running.'=>'Obrazki zostaną pobrane automatycznie, jeśli zadanie cron będzie uruchomione.','Only press the button if the pull cron job is disabled.'=>'Naciśnij przycisk tylko wtedy, gdy zadanie pull cron jest wyłączone.','Pull Images'=>'Ściągnij obrazki','This process is automatic.'=>'Ten proces jest automatyczny.','Last Request'=>'Ostatnie żądanie','Images Pulled'=>'Wysłane obrazki','Report'=>'Raport','Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.'=>'Wyślij ten raport do LiteSpeed. Odwołaj się do tego numeru raportu podczas publikowania na forum pomocy WordPressa.','Send to LiteSpeed'=>'Wyślij do LiteSpeed','LiteSpeed Optimization'=>'Optymizacja LiteSpeed','Load Google Fonts Asynchronously'=>'Załaduj Google Fonts asynchonicznie','Browser Cache TTL'=>'TTL Pamięci podręcznej przeglądarki','Results can be checked in %sMedia Library%s.'=>'Wyniki można sprawdzić w %sMultimediach%s.','Learn More'=>'Dowiedz się więcej','Image groups total'=>'Grupy obrazów ogółem','Images optimized and pulled'=>'Obrazy zoptymalizowane i wysłane','Images requested'=>'Zażądane obrazy','Switched to optimized file successfully.'=>'Przełączono na zoptymalizowany plik.','Restored original file successfully.'=>'Przywrócono oryginalny plik.','Enabled WebP file successfully.'=>'Włączono plik WebP.','Disabled WebP file successfully.'=>'Wyłączono plik WebP.','Significantly improve load time by replacing images with their optimized %s versions.'=>'Lekko poprawia czas ładowania zamieniając obrazki na ich %s zoptymalizowane wersje.','Selected roles will be excluded from cache.'=>'Wybrane role zostaną wykluczone z pamięci podręcznej.','Tuning'=>'Tuning','Selected roles will be excluded from all optimizations.'=>'Wybrane role zostaną wykluczone ze wszystkich optymalizacji.','Role Excludes'=>'Wykluczone role','Tuning Settings'=>'Tuning Ustawień','If the tag slug is not found, the tag will be removed from the list on save.'=>'Jeśli tag slug nie zostanie znaleziony, znacznik zostanie usunięty z listy w przypadku zapisu.','If the category name is not found, the category will be removed from the list on save.'=>'Jeśli nazwa kategorii nie zostanie znaleziona, kategoria zostanie usunięta z listy po zapisaniu.','After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.'=>'Gdy serwer QUIC.cloud Image Optimization zakończy optymalizację, powiadomi Twoją witrynę o konieczności pobrania zoptymalizowanych obrazków.','Send Optimization Request'=>'Wyślij żądanie optymalizacji','Image Information'=>'Informacje o obrazie','Total Reduction'=>'Całkowita redukcja','Optimization Summary'=>'Podsumowanie optymalizacji','LiteSpeed Cache Image Optimization'=>'Optymalizacja obrazka pamięci podręcznej LiteSpeed','Image Optimization'=>'Optymalizacja obrazków','For example, %s can be used for a transparent placeholder.'=>'Na przykład %s można użyć do przezroczystego elementu zastępczego.','By default a gray image placeholder %s will be used.'=>'Domyślnie zostanie użyty szary obrazek zastępczy dla %s.','This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.'=>'To może być również predefiniowane w %2$s przy użyciu stałych %1$s, przy czym to ustawienie ma priorytet.','Specify a base64 image to be used as a simple placeholder while images finish loading.'=>'Określ obraz base64, który będzie używany jako symbol zastępczy podczas ładowania innych obrazów.','Elements with attribute %s in html code will be excluded.'=>'Elementy z atrybutem %s w kodzie html zostaną wykluczone.','Filter %s is supported.'=>'Filtr %s jest wspierany.','Listed images will not be lazy loaded.'=>'Obrazki z listy nie będą ładowane przez Lazy Load.','Lazy Load Image Excludes'=>'Wykluczone leniwe wczytywanie obrazka','No optimization'=>'Brak optymalizacji','Prevent any optimization of listed pages.'=>'Zapobiegaj jakiejkolwiek optymalizacji wymienionych stron.','URI Excludes'=>'Wykluczone URI','Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.'=>'Przestań ładować emoji z wordpress.org. Zamiast tego będą się wyświetlały emoji z przeglądarki.','Both full URLs and partial strings can be used.'=>'Obydwa schematy URLi i cząstek mogą zostać użyte.','Load iframes only when they enter the viewport.'=>'Wczytaj iframe tylko wtedy, gdy pojawią się w obszarze widoku.','Lazy Load Iframes'=>'Lazy Load Iframeów','This can improve page loading time by reducing initial HTTP requests.'=>'Może poprawić czas ładowania strony redukując wczesne zapytania HTTP.','Load images only when they enter the viewport.'=>'Wczytaj obrazki tylko wtedy, gdy pojawią się w obszarze widoku.','Lazy Load Images'=>'Leniwe ładowanie obrazków','Media Settings'=>'Ustawienia mediów','For example, for %1$s, %2$s and %3$s can be used here.'=>'Na przykład dla %1$s można tutaj użyć %2$s i %3$s.','Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.'=>'Wildcard %1$s wspierany (dopasuj zero lub więcej znaków). na przykład aby dopasować %2$s i %3$s, użyj %4$s.','To match the beginning, add %s to the beginning of the item.'=>'Aby dopasować początek, dodaj %s na początku elementu.','For example, for %1$s, %2$s can be used here.'=>'Na przykład dla %1$s można tutaj użyć %2$s.','Maybe later'=>'Może później','I\'ve already left a review'=>'Recenzja została już przeze mnie dodana','Welcome to LiteSpeed'=>'Witamy w LiteSpeed','Remove WordPress Emoji'=>'Usuń emoji WordPressa','More settings'=>'Więcej ustawień','Private cache'=>'Prywatna pamięć podręczna','Non cacheable'=>'Nie do pamięci podręcznej','Mark this page as '=>'Oznacz tę stronę jako ','Purge this page'=>'Wyczyść tę stronę','Load JS Deferred'=>'Opóźnij ładowanie JS','Specify critical CSS rules for above-the-fold content when enabling %s.'=>'Określ krytyczne reguły CSS w przypadku treści ponadgrupowych po włączeniu %s.','Critical CSS Rules'=>'Krytyczne reguły CSS','Load CSS Asynchronously'=>'Wczytuj CSS asynchronicznie','Prevent Google Fonts from loading on all pages.'=>'Zapobiegaj ładowaniu Google Fonts na wszystkich stronach.','Remove Google Fonts'=>'Usuń czcionki Google','This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.'=>'To może zwiększyć szybkość twojej strony w serwisach takich jak Pingdom, GTmetrix i PageSpeed.','Remove query strings from internal static resources.'=>'Usuń ciągi zapytań z wewnętrznych zasobów statycznych.','Remove Query Strings'=>'Usuń query strings','user agents'=>'user agenci','cookies'=>'ciasteczka','You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s.'=>'Można włączyć pamięć podręczną przeglądarki w konfiguracji serwera. %sDowiedz się więcej o ustawieniach pamięci podręcznej przeglądarki LiteSpeed%s.','Browser caching stores static files locally in the user\'s browser. Turn on this setting to reduce repeated requests for static files.'=>'Pamięć podręczna przeglądarki przechowuje statyczne pliki lokalnie w przeglądarce użytkownika. Włącz to ustawienie w celu zredukowania wielokrotnych żądań statycznych plików.','Browser Cache'=>'Pamięć podręczna przeglądarki','tags'=>'tagi','Do Not Cache Tags'=>'Nie zapisuj w pamięci podręcznej tagów','To exclude %1$s, insert %2$s.'=>'Aby wykluczyć %1$s, wpisz %2$s.','categories'=>'kategorie','To prevent %s from being cached, enter them here.'=>'Aby zapobiec buforowaniu %s, wprowadź je tutaj.','Do Not Cache Categories'=>'Nie zapisuj w pamięci podręcznej kategorii','Query strings containing these parameters will not be cached.'=>'Query stringi zawierające te parametry nie będą zapisywane w pamięci podręcznej.','Do Not Cache Query Strings'=>'Nie zapisuj w pamięci podręcznej query stringów','Paths containing these strings will not be cached.'=>'Ścieżki zawierające te stringi nie będą zapisywane.','Do Not Cache URIs'=>'Nie zapisuj w pamięci podręcznej URLów','One per line.'=>'Jeden na linię.','URI Paths containing these strings will NOT be cached as public.'=>'Ścieżki URI zawierające te ciągi NIE będą buforowane jako publiczne.','Private Cached URIs'=>'Prywatne zapisane URLe','Paths containing these strings will not be served from the CDN.'=>'Ścieżka zawierająca te stringi nie będzie serwowana przez CDN.','Exclude Path'=>'Wyklucz ścieżkę','Include File Types'=>'Dodane typy rozszerzeń','Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.'=>'Obsługuj wszystkie pliki JavaScript przez CDN. Będzie to miało wpływ na wszystkie pliki WP JavaScript w kolejce.','Include JS'=>'Dołącz JS','Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.'=>'Obsługuj wszystkie pliki CSS przez CDN. Będzie to miało wpływ na wszystkie pliki WP CSS w kolejce.','Include CSS'=>'Dołącz CSS','Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes.'=>'Obsługuj wszystkie pliki graficzne przez CDN. Będzie to miało wpływ na wszystkie załączniki, znaczniki HTML %1$s i atrybuty CSS %2$s.','Include Images'=>'Załącz obrazki','CDN URL to be used. For example, %s'=>'Adres URL CDN, który ma być użyty. Na przykład %s','CDN URL'=>'CDN URL','Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.'=>'Adres URL witryny, który ma być obsługiwany przez CDN. Zaczynający się od %1$s. Na przykład %2$s.','Original URLs'=>'Oryginalne URL','CDN Settings'=>'Ustawienia CDN','CDN'=>'CDN','OFF'=>'Wyłącz','ON'=>'Wł','Notified LiteSpeed Web Server to purge CSS/JS entries.'=>'Powiadomiono serwer WWW LiteSpeed ​​o konieczności usunięcia wpisów CSS/JS.','Minify HTML content.'=>'Minifikacja zawartości HTML.','HTML Minify'=>'HTML Minify','JS Excludes'=>'Wykluczenia JS','JS Combine'=>'Połącz JS','JS Minify'=>'JS Minify','CSS Excludes'=>'Wykluczenia CSS','CSS Combine'=>'Połączenie CSS','CSS Minify'=>'CSS Minify','Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.'=>'Przetestuj dokładnie, włączając dowolną opcję z tej listy. Po zmianie ustawień Minifikuj/Połącz, wykonaj akcję Wyczyść wszystko.','This will purge all minified/combined CSS/JS entries only'=>'Spowoduje to usunięcie tylko wszystkich zminimalizowanych/połączonych wpisów CSS/JS','Purge %s Error'=>'Wyczyść błąd %s','Database Optimizer'=>'Optymalizator bazy danych','Optimize all tables in your database'=>'Zoptymalizuj wszystkie tabele w swojej bazie danych','Optimize Tables'=>'Optymalizuj tabele','Clean all transient options'=>'Wyczyść wszystkie opcje przejściowe','All Transients'=>'Wszystkie dane tymczasowe','Clean expired transient options'=>'Wyczyść wygasłe opcje przejściowe','Expired Transients'=>'Zakończone dane tymczasowe','Clean all trackbacks and pingbacks'=>'Wyczyść wszystkie trackbacki i pingbacki','Trackbacks/Pingbacks'=>'Trackbacki/Pingbacki','Clean all trashed comments'=>'Wyczyść wszystkie usunięte komentarze','Trashed Comments'=>'Komentarze w koszu','Clean all spam comments'=>'Wyczyść wszystkie komentarze spamowe','Spam Comments'=>'Komentarze zawierające spam','Clean all trashed posts and pages'=>'Wyczyść wszystkie usunięte wpisy i strony','Trashed Posts'=>'Usunięte posty','Clean all auto saved drafts'=>'Wyczyść wszystkie auto zapisane szkice','Auto Drafts'=>'Automatyczne wersje robocze','Clean all post revisions'=>'Wyczyść wszystkie rewizje postów','Post Revisions'=>'Wersje wpisu','Clean All'=>'Wyczyść wszystko','Optimized all tables.'=>'Zoptymalizowano wszystkie tabele.','Clean all transients successfully.'=>'Wyczyszczono wszystkie dane tymczasowe.','Clean expired transients successfully.'=>'Wyczyszczono wszystkie zakończone dane tymczasowe.','Clean trackbacks and pingbacks successfully.'=>'Pomyślnie wyczyszczono trackbacki i pingbacki.','Clean trashed comments successfully.'=>'Wyczyszczono wszystkie usunięte komentarze.','Clean spam comments successfully.'=>'Wyczyszczono wszystkie spamerskie komentarze.','Clean trashed posts and pages successfully.'=>'Wyczyszczono wszystkie usunięte strony i posty.','Clean auto drafts successfully.'=>'Wyczyszczono wszystkie automatyczne wersje robocze.','Clean post revisions successfully.'=>'Wyczyszczono wszystkie rewizje.','Clean all successfully.'=>'Wyczyszczono wszystko.','Default Private Cache TTL'=>'Domyślny TTL prywatnej pamięci podręcznej','If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.'=>'Jeśli Twoja witryna zawiera publiczną treść, którą mogą zobaczyć pewne role użytkowników, ale inne role nie, możesz określić Grupa Vary dla tych ról użytkowników. Na przykład określenie administrator grupy vary pozwala na utworzenie osobnej strony buforowanej publicznie, dostosowanej do administratorów (z odnośnikami „edytuj” itp.), podczas gdy wszystkie inne role użytkowników widzą domyślną stronę publiczną.','Vary Group'=>'Grupa zmienna','Cache the built-in Comment Form ESI block.'=>'Zapisz w pamięci podręcznej wbudowany blok ESI Comment Form.','Cache Comment Form'=>'Zapisz formularz komentarzy','Cache the built-in Admin Bar ESI block.'=>'Buforuj wbudowany blok ESI paska administratora.','Cache Admin Bar'=>'Zapisuj pasek administratora','Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.'=>'Włączenie buforowania publicznych stron dla zalogowanych użytkowników oraz obsługa paska administratora i formularza komentarza za pomocą bloków ESI. Te dwa bloki zostaną odłączone, chyba że zostanie to włączone poniżej.','ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.'=>'ESI pozwala Ci wyznaczyć części Twojej dynamicznej strony jako oddzielne fragmenty, które są następnie składane razem, aby utworzyć całą stronę. Innymi słowy, ESI pozwala Ci „wybić dziury” na stronie, a następnie wypełnić te dziury treścią, która może być buforowana prywatnie, buforowana publicznie z własnym TTL lub wcale nie być buforowana.','With ESI (Edge Side Includes), pages may be served from cache for logged-in users.'=>'W przypadku ESI (Edge Side Includes) strony mogą być wyświetlane z pamięci podręcznej dla zalogowanych użytkowników.','Private'=>'Prywatny','Public'=>'Publiczne','Purge Settings'=>'Wyczyść ustawienia','Cache Mobile'=>'Zapisuj urządzenia mobilne','Advanced level will log more details.'=>'Poziom zaawansowany będzie rejestrował więcej szczegółów.','Basic'=>'Podstawowe','The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.'=>'Maksymalne dozwolone obciążenie serwera podczas indeksowania. Liczba wątków robota przeszukiwacza będzie aktywnie zmniejszana do czasu, gdy średni poziom obciążenia serwera spadnie poniżej tego limitu. Jeśli nie można tego osiągnąć jednym pojedynczym wątkiem, bieżący robot indeksujący zostanie zakończony.','Cache Login Page'=>'Strona logowania pamięci podręcznej','Cache requests made by WordPress REST API calls.'=>'Żądania dotyczące pamięci podręcznej wywołane przez wywołania API WordPressa REST.','Cache REST API'=>'Zapisuj REST API do pamięci podręcznej','Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)'=>'Prywatnie buforuj komentujących, którzy mają oczekujące komentarze. Wyłączenie tej opcji spowoduje wyświetlanie komentatorom stron, których nie można buforować. (LSWS %s wymagane)','Cache Commenters'=>'Zapisuj komentujących w pamięci podręcznej','Privately cache frontend pages for logged-in users. (LSWS %s required)'=>'Prywatnie zapisuj strony front-endu dla zalogowanych użytkowników. (LSWS %s wymagany)','Cache Logged-in Users'=>'Zapisuj w pamięci podręcznej dla zalogowanych użytkowników','Cache Control Settings'=>'Ustawienia kontroli pamięci podręcznej','ESI'=>'ESI','Excludes'=>'Nie zawiera','Purge'=>'Wyczyść','Cache'=>'Pamięć podręczna','Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)'=>'Znaleziono nieoczekiwaną regułę pamięci podręcznej %2$s w pliku %1$s. Ta reguła może powodować wyświetlanie przez użytkowników starych wersji stron, ponieważ przeglądarka buforuje strony HTML. Jeśli masz pewność, że strony HTML nie są buforowane przez przeglądarkę, możesz odrzucić ten komunikat. (%3$sDowiedz się więcej%4$s)','Current server time is %s.'=>'Aktualny czas serwera to %s.','Specify the time to purge the "%s" list.'=>'Określ czas czyszczenia listy "%s".','Both %1$s and %2$s are acceptable.'=>'Obydwie %1$s i %2$s są przyjmowane.','Scheduled Purge Time'=>'Zaplanowany czas czyszczenia','The URLs here (one per line) will be purged automatically at the time set in the option "%s".'=>'Adresy URL (jedna na linię) zostaną automatycznie usunięte w czasie ustawionym w opcji "%s".','Scheduled Purge URLs'=>'Zaplanowane adresy URL','Shorten query strings in the debug log to improve readability.'=>'Skróć łańcuchy zapytań w dzienniku debugowania w celu zwiększenia czytelności.','Heartbeat'=>'Heartbeat','MB'=>'MB','Log File Size Limit'=>'Loguj limit rozmiaru plików','<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s'=>'<p> Proszę dodać / zastąpić następujące kody na początku %1$s: </p> %2$s','%s file not writable.'=>'Plik %s nie jest zapisywalny.','%s file not readable.'=>'Plik %s nie nadaje się do odczytu.','Collapse Query Strings'=>'Zwiń Query Strings','ESI Settings'=>'Ustawienia ESI','A TTL of 0 indicates do not cache.'=>'Ustawienie TTL na 0 wyłącza zapisywanie do pamięci podręcznej.','Recommended value: 28800 seconds (8 hours).'=>'Zalecana wartość: 28800 sekund (8 godzin).','Widget Cache TTL'=>'Czas życia pamięci podręcznej widżetu','Enable ESI'=>'Włącz ESI','See %sIntroduction for Enabling the Crawler%s for detailed information.'=>'Aby uzyskać szczegółowe informacje, zapoznaj się z %sWprowadzeniem do włączania modułu indeksującego%s.','Custom Sitemap'=>'Niestandardowa mapa strony','Purge pages by relative or full URL.'=>'Usuwanie stron według względnego lub pełnego adresu URL.','The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.'=>'Funkcja indeksująca nie jest włączona na serwerze LiteSpeed. Skonsultuj się z administratorem serwera lub dostawcą hostingu.','WARNING'=>'OSTRZEŻENIE','The next complete sitemap crawl will start at'=>'Następne kompletne indeksowanie mapy witryny rozpocznie się za','Failed to write to %s.'=>'Błąd zapisu do %s.','Folder is not writable: %s.'=>'Folder nie jest zapisywalny: %s.','Can not create folder: %1$s. Error: %2$s'=>'Nie mogę utworzyć folderu: %1$s. Błąd: %2$s','Folder does not exist: %s'=>'Katalog nie istnieje: %s','Notified LiteSpeed Web Server to purge the list.'=>'Poinformowano Serwer LiteSpeed o usunięciu listy.','Please visit the %sInformation%s page on how to test the cache.'=>'Aby dowiedzieć się, jak przetestować pamięć podręczną, odwiedź stronę %sInformacja%s.','Allows listed IPs (one per line) to perform certain actions from their browsers.'=>'Pozwala adresom IP na liście (jednym w linii) na pewnie akcje z ich przeglądarek.','Server Load Limit'=>'Limit obciążenia serwera','Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.'=>'Wpisz jak długo w sekundach robot indeksujący powinien inicjować ponowne indeksowanie całej mapy strony.','Crawl Interval'=>'Interwał robota indeksującego','Then another WordPress is installed (NOT MULTISITE) at %s'=>'Inna instancja WordPressa jest zainstalowana (NIE MULTISTRONA) jest w %s','LiteSpeed Cache Network Cache Settings'=>'Ustawienia sieciowej pamięci podręcznej LiteSpeed Cache','Select below for "Purge by" options.'=>'Wybierz poniżej opcję "Wyczyść przez".','LiteSpeed Cache CDN'=>'LiteSpeed Cache CDN','No crawler meta file generated yet'=>'Nie wygenerowano jeszcze pliku meta dla robota indeksującego','Show crawler status'=>'Wyświetl stan robota','Watch Crawler Status'=>'Zobacz status robota ideksującego','Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task.'=>'Aby dowiedzieć się, jak utworzyć zadanie systemowe cron, zapoznaj się z tematem %sPodłączanie WP-Cron do harmonogramu zadań systemowych%s.','Run frequency is set by the Interval Between Runs setting.'=>'Częstotliwość uruchamiania jest ustawiana przez ustawienie Interwał między uruchomieniami.','Manually run'=>'Ręczne uruchomienie','Reset position'=>'Zresetuj pozycję','Run Frequency'=>'Częstotliwość uruchamiania','Cron Name'=>'Nazwa cron','Crawler Cron'=>'Cron robota indeksującego','%d minute'=>'%d minuta','%d minutes'=>'%d minut','%d hour'=>'%d godzina','%d hours'=>'%d godzin','Generated at %s'=>'Wygenerowano %s','LiteSpeed Cache Crawler'=>'Robot indeksujący LiteSpeed Cache','If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s.'=>'Jeśli masz jakiekolwiek pytania, zespół zawsze chętnie odpowie na nie na %sforum wsparcia%s.','Crawler'=>'Robot indeksujący','https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration'=>'https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration','Notified LiteSpeed Web Server to purge all pages.'=>'Powiadomiono serwer WWW LiteSpeed ​​o konieczności usunięcia wszystkich stron.','All pages with Recent Posts Widget'=>'Wszystkie strony z widgetem Ostatnie posty','Pages'=>'Strony','This will Purge Pages only'=>'Spowoduje to wyczyszczenie tylko stron','Purge Pages'=>'Wyczyść strony','Cancel'=>'Anuluj','Deactivate'=>'Wyłącz','Activate'=>'Włącz','Email Address'=>'Adres e-mail','Install Now'=>'Zainstaluj','Purged the URL!'=>'Usunięto adres URL!','Purged the blog!'=>'Wyczyszczono ten blog!','Purged All!'=>'Wyczyszczono wszystko!','Notified LiteSpeed Web Server to purge error pages.'=>'Powiadomiono LiteSpeed Web Server o usunięciu stron błędów.','If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.'=>'Jeśli używasz OpenLiteSpeed, musisz go zrestartować aby zmiany odniosły efekt.','If the login cookie was recently changed in the settings, please log out and back in.'=>'Jeśli plik cookie logowania został ostatnio zmieniony w ustawieniach, wyloguj się i zaloguj.','However, there is no way of knowing all the possible customizations that were implemented.'=>'Jednak nie ma możliwości poznania wszystkich możliwych dostosowań, które zostały wdrożone.','The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.'=>'Wtyczka  LiteSpeed Cache jest używania do zapisywania stron w pamięci podręcznej -  prosty sposób na przyspieszenie twojej strony.','The network admin setting can be overridden here.'=>'Możesz tutaj nadpisać ustawienia administratora sieci.','Specify how long, in seconds, public pages are cached.'=>'Określ, jak długo, w sekundach, publiczne strony będą przechowywane w pamięci podręcznej.','Specify how long, in seconds, private pages are cached.'=>'Określ, jak długo, w sekundach, prywatne strony będą przechowywane w pamięci podręcznej.','It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.'=>'ZDECYDOWANIE zaleca się, aby najpierw przetestować zgodność z innymi wtyczkami na jednej/kilku witrynach.','Purge pages by post ID.'=>'Wyczyść strony używając ID postów.','Purge the LiteSpeed cache entries created by this plugin'=>'Wyczyść wpisy pamięci podręcznej LiteSpeed ​​utworzone przez tę wtyczkę','Purge %s error pages'=>'Wyczyść %s stron błędów','This will Purge Front Page only'=>'Spowoduje to wyczyszczenie tylko pierwszej strony','Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.'=>'Wyczyść strony używając tagów - e.g. %2$s powinno zostać użyte dla adresu %1$s.','Purge pages by category name - e.g. %2$s should be used for the URL %1$s.'=>'Wyczyść strony używając nazwy kategorii - e.g. %2$s powinno zostać użyte dla adresu URL %1$s.','If only the WordPress site should be purged, use Purge All.'=>'Jeżeli chcesz wyczyścić tylko witrynę WordPress, użyj opcji Wyczyść wszystko.','Notified LiteSpeed Web Server to purge everything.'=>'Powiadomiono serwer internetowy LiteSpeed ​​o konieczności usunięcia wszystkiego.','Use Primary Site Configuration'=>'Użyj głównych ustawień strony','This will disable the settings page on all subsites.'=>'To wyłączy stronę ustawień na wszystkich podstronach.','Check this option to use the primary site\'s configuration for all subsites.'=>'Zaznacz tę opcję aby użyć ustawień głównej strony na wszystkich podstronach.','Save Changes'=>'Zapisz zmiany','The following options are selected, but are not editable in this settings page.'=>'Poniższe opcje są zaznaczone, ale nie są dostępne do edycji na stronie ustawień.','The network admin selected use primary site configs for all subsites.'=>'Administrator sieci zaznaczył wszystkie ustawienia głównej strony dla wszystkich podstron.','Empty Entire Cache'=>'Opróżnij cały cache','This action should only be used if things are cached incorrectly.'=>'Ta czynność powinna być wykonywana wyłącznie wtedy, gdy cache nie działa prawidłowo.','Clears all cache entries related to this site, including other web applications.'=>'Wyczyść wszystkie wpisy pamięci podręcznej związane z tą witryną, w tym także z innymi aplikacjami internetowymi.','This may cause heavy load on the server.'=>'To może spowodować duże obciążenie na Twoim serwerze.','This will clear EVERYTHING inside the cache.'=>'To wyczyści WSZYSTKO w pamięci podręcznej.','LiteSpeed Cache Purge All'=>'Opróżnij cały LiteSpeed Cache','If you would rather not move at litespeed, you can deactivate this plugin.'=>'Jeśli nie chcesz grzebać przy LiteSpeed, możesz wyłączyć tę wtyczkę.','Create a post, make sure the front page is accurate.'=>'Utwórz post, upewnij się, że pierwsza strona jest poprawna.','Visit the site while logged out.'=>'Odwiedź swoją stronę będąc wylogowanym.','Examples of test cases include:'=>'Przykłady przypadków testowych zawierają:','For that reason, please test the site to make sure everything still functions properly.'=>'Z tego powodu, należy przetestować witrynę, aby upewnić się, że wszystko nadal funkcjonuje prawidłowo.','This message indicates that the plugin was installed by the server admin.'=>'To wiadomość informuje o tym, że wtyczka została zainstalowana przed administratora Twojego serwera.','LiteSpeed Cache plugin is installed!'=>'Wtyczka LiteSpeed Cache jest zainstalowana!','Debug Log'=>'Dziennik zdarzeń','Admin IP Only'=>'Tylko Adres IP Administratora','The Admin IP option will only output log messages on requests from admin IPs listed below.'=>'Opcja adresu IP administratora spowoduje generowanie komunikatów dziennika tylko w odpowiedzi na żądania pochodzące z adresów IP administratora wymienionych poniżej.','Specify how long, in seconds, REST calls are cached.'=>'Określ, jak długo, w sekundach, połączenia REST są buforowane.','The environment report contains detailed information about the WordPress configuration.'=>'Raport środowiska zawiera szczegółowe informacje o konfiguracji WordPress.','The server will determine if the user is logged in based on the existence of this cookie.'=>'Serwer ustali, czy użytkownik jest zalogowany, na podstawie istnienia tego pliku ciasteczka.','Note'=>'Notatka','After verifying that the cache works in general, please test the cart.'=>'Po weryfikacji pamięci podręcznej, sprawdź koszyk.','When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.'=>'Po włączeniu tej opcji pamięć podręczna zostanie automatycznie oczyszczona po uaktualnieniu dowolnej wtyczki, motywu lub WordPressa.','Purge All On Upgrade'=>'Wyczyść wszystko przy ulepszeniu','Product Update Interval'=>'Interwał aktualizacji produktu','Determines how changes in product quantity and product stock status affect product pages and their associated category pages.'=>'Określa, jak zmiany ilości produktów i stanu zapasów produktów wpływają na strony produktów i ich powiązane strony kategorii.','Always purge both product and categories on changes to the quantity or stock status.'=>'Zawsze usuwaj zarówno produkt, jak i kategorie w przypadku zmiany ilości lub stanu zapasów.','Do not purge categories on changes to the quantity or stock status.'=>'Nie usuwaj kategorii po zmianie ilości lub stanu zapasów.','Purge product only when the stock status changes.'=>'Wyczyść stronę produktu tylko w przypadku zmiany stanu zapasów.','Purge product and categories only when the stock status changes.'=>'Wyczyść stronę produktu i kategorie tylko po zmianie stanu zapasów.','Purge categories only when stock status changes.'=>'Opróżniaj cache kategorii tylko wtedy, gdy zmieni się dostępość produktu.','Purge product on changes to the quantity or stock status.'=>'Wyczyść produkt w przypadku zmiany ilości lub stanu zapasów.','Htaccess did not match configuration option.'=>'Htaccess nie pasował do opcji konfiguracji.','If this is set to a number less than 30, feeds will not be cached.'=>'Jeśli ten numer jest mniejszy niż 30, kanały nie będą zapisywane w pamięci podręcznej.','Specify how long, in seconds, feeds are cached.'=>'Określ jak długo w sekundach, kanały mają być przechowywane w pamięci podręcznej.','Default Feed TTL'=>'Domyślny TTL kanału informacji','Failed to get %s file contents.'=>'Nie udało się pobrać zawartości pliku %s.','Disabling this option may negatively affect performance.'=>'Wyłączenie tej opcji może mieć negatywny wpływ na wydajność.','Invalid login cookie. Invalid characters found.'=>'Niepoprawne ciasteczko logowania. Znaleziono niepoprawne znaki.','WARNING: The .htaccess login cookie and Database login cookie do not match.'=>'UWAGA: Plik cookie logowania .htaccess i plik cookie logowania do bazy danych nie są zgodne.','Invalid login cookie. Please check the %s file.'=>'Nieprawidłowy plik ciasteczka logowania. Sprawdź plik %s.','The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.'=>'Pamięć podręczna musi rozróżnić, kto jest zalogowany do witryny WordPress, aby poprawnie zapisywać buforowanie.','There is a WordPress installed for %s.'=>'Na %s jest zainstalowany WordPress.','Example use case:'=>'Przykład użycia:','The cookie set here will be used for this WordPress installation.'=>'Zestaw cookie ustawiony tutaj będzie używany do tej instalacji WordPress.','If every web application uses the same cookie, the server may confuse whether a user is logged in or not.'=>'Jeśli każda aplikacja WWW używa tego samego pliku cookie, serwer może zmylić użytkownika, czy użytkownik jest zalogowany, czy nie.','This setting is useful for those that have multiple web applications for the same domain.'=>'To ustawienie jest przydatne dla tych, którzy mają wiele aplikacji internetowych dla tej samej domeny.','The default login cookie is %s.'=>'Domyślnym ciastkiem logowania jest %s.','Login Cookie'=>'Ciasteczko logowania','More information about the available commands can be found here.'=>'Więcej informacji na temat dostępnych komend możesz znaleść tutaj.','These settings are meant for ADVANCED USERS ONLY.'=>'Te ustawienia będą zrozumiałe dla ZAAWANSOWANYCH UŻYTKOWNIKÓW.','Current %s Contents'=>'Aktualna zawartość: %s','Advanced'=>'Zaawansowane','Advanced Settings'=>'Ustawienia zaawansowane','Purge List'=>'Lista czyszczenia','Purge By...'=>'Wyczyść z...','URL'=>'Adres URL','Tag'=>'Tag','Post ID'=>'Identyfikator wpisu','Category'=>'Kategoria','NOTICE: Database login cookie did not match your login cookie.'=>'INFORMACJA: Ciasteczko logowania w bazie danych nie zgadza się z twoim.','Purge url %s'=>'Wyczyszczono %s adresów URL','Purge tag %s'=>'Wyczyść znacznik %s','Purge category %s'=>'Wyczyszczono %s kategorii','When disabling the cache, all cached entries for this site will be purged.'=>'Po wyłączeniu pamięci podręcznej wszystkie wpisy z pamięci podręcznej dla tej witryny zostaną usunięte.','NOTICE'=>'Powiadomienie','This setting will edit the .htaccess file.'=>'To ustawienie edytuje plik .htaccess.','LiteSpeed Cache View .htaccess'=>'Widok pamięci podręcznej LiteSpeed ​​.htaccess','Failed to back up %s file, aborted changes.'=>'Nie udało się wykonać kopii zapasowej pliku %s, odrzucono zmiany.','Do Not Cache Cookies'=>'Nie zapisuj w pamięci podręcznej ciasteczek','Do Not Cache User Agents'=>'Nie buforuj agentów użytkownika','This is to ensure compatibility prior to enabling the cache for all sites.'=>'To sprawdzi kompatybilność aby umożliwić włączenie pamięci podręcznej dla wszystkich stron.','Network Enable Cache'=>'Włącz sieciową pamięć podręczną','NOTICE:'=>'UWAGA:','Other checkboxes will be ignored.'=>'Inne checkboxy będą zignorowane.','Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.'=>'Wybierz "Wszystko", jeśli istnieją dynamiczne widgety połączone ze stanowiskami na stronach innych niż strony frontowe lub domowe.','List of Mobile User Agents'=>'Lista użytkowników mobilnych','File %s is not writable.'=>'Plik %s nie jest zapisywalny.','JS Settings'=>'Ustawienia JS','Manage'=>'Zarządzaj','Default Front Page TTL'=>'Domyślny TTL strony głównej','Notified LiteSpeed Web Server to purge the front page.'=>'Powiadomiono serwer LiteSpeed w celu oczyszczenia strony głównej.','Purge Front Page'=>'Wyczyść stronę główną','Example'=>'Przykład','All tags are cached by default.'=>'Wszystkie tagi są domyślnie cache\'owane.','All categories are cached by default.'=>'Wszystkie kategorie są cache\'owane domyślnie.','To do an exact match, add %s to the end of the URL.'=>'Aby wykonać dopasowanie typu exact match, dodaj symbol \'$\' na końcu adresu URL.','The URLs will be compared to the REQUEST_URI server variable.'=>'Adresy URL zostaną porównane ze zmienną serwera REQUEST_URI.','Select only the archive types that are currently used, the others can be left unchecked.'=>'Wybierz tylko typy archiwów, które są aktualnie używane, pozostałe pozostają niezaznaczone.','Notes'=>'Uwagi','Use Network Admin Setting'=>'Użyj ustawień administratora sieci','Disable'=>'Wyłącz','Enabling LiteSpeed Cache for WordPress here enables the cache for the network.'=>'Włączenie buforu LiteSpeed w programie WordPress umożliwia buforowanie sieci.','Disabled'=>'Wyłączono','Enabled'=>'Włączono','Do Not Cache Roles'=>'Nie buforuj ról','https://www.litespeedtech.com'=>'https://www.litespeedtech.com','LiteSpeed Technologies'=>'LiteSpeed Technologies','LiteSpeed Cache'=>'LiteSpeed Cache','Debug Level'=>'Poziom debugowania','Notice'=>'Powiadomienie','Term archive (include category, tag, and tax)'=>'Archiwum terminu taksonomii (zawiera kategorie, tagi i taksonomie)','Daily archive'=>'Dzienne archiwum','Monthly archive'=>'Miesięczne archiwum','Yearly archive'=>'Roczne archiwum','Post type archive'=>'Archiwum typu treści','Author archive'=>'Archiwum autora','Home page'=>'Strona główna','Front page'=>'Strona główna','All pages'=>'Wszystkie strony','Select which pages will be automatically purged when posts are published/updated.'=>'Wybierz, które strony zostaną automatycznie usunięte podczas publikowania / aktualizowania postów.','Auto Purge Rules For Publish/Update'=>'Zasady automatycznego oczyszczania dla publikowania / aktualizacji','Default Public Cache TTL'=>'Domyślny Publiczny Cache TTL','seconds'=>'sekund','Admin IPs'=>'Adresy IP administratora','General'=>'Ogólne','LiteSpeed Cache Settings'=>'Ustawienia LiteSpeed Cache','Notified LiteSpeed Web Server to purge all LSCache entries.'=>'Powiadomiono LiteSpeed Web Server, aby wyczyścił wszystkie wpisy LSCache.','Purge All'=>'Opróżnij wszystko','Settings'=>'Ustawienia główne','Support forum'=>'Forum wsparcia']];PKe^�\��%�"�"translations/fr_FR.zipnu�[���PKh��[R���A��litespeed-cache-fr_FR.poUT	3�Ai3�Aiux�����\Ks$7r��W@�rC
����&��K%�93Ԑ3ZG8���BwC�*�U��t��'��d�r�O��6��g&PT��=���!�P���/��Z��$��*cj�.�r*3�:�B�*"f'<�	xrU�q"�W0Z��i�n��Lf�L�,����`�H|�ٗ�z&
�H���Z��f+�XhV�����%2��z�G��<��S�,5S�/��� ������+q'
��s
��n��ۅ�����`p���]�Ͽd0����g�7B�#��ڧ'*+DVt��9LP�w�N�p�}â�F߾�>댚cqc'Bw�e��e6=b��,h�R�s�tj�X�ӯ��7��m�������|/2�y���>Qť�����
��ٴ������k�����y�W����KXn��J%c�n�Z�RL'�rڅW�|�
G�޷g��/D�+͵L�(H�����2]Z����W���YrSH-R�Z?>���\����;/?~p�m��b��H՝`?�ܱ�$ag��gg	�����J��f	��Y,#طR������i���y7,��MT��e<�����$�g��,*����d4����Ƴ�!O,Y��3��-�5�A!�8Xs��iw�5(-E$8g�X�T�
�@��&h�
Bp�]v�$��`Y���C(9(ʍʋ���TĒ���W+:�I{�e��2��.�|6��f�E3����,=W��Or8��	�H�{��ɧ�[�tqT#�x�pjP�X����4��"�BxtX>.������Z����zs
[!S���3f,�w���
ZF�׌��ޖ�7��)���u��\3�������Q���Nҍcy�C��+A,��Z��	;'!_�V-�����j,���״_�\]��,� ���EIî�|���d4�0������Z+�ikנ%?�>?�w��Y� �G�CՊ����M:+�%�̳��Q,�ͧ`�B���;||�)3GDt���D�g��3$r3
�`�;��l��@y�ʬS	e����^m�^(�"���>.�2C�M�6�Մ��j�7<)��h�"�As��<�"�9��?.i,�F�-�&��_�����􎘁�[�{-��el<'�d��Z�;˜��p4�\�p�v�d�8ژ�-|�%�Oa��_5}x�͌�o�������{=�=ד�G�/�[k�2�o"cj��_�K�
|�>L���� K����zj�ɚ�Ao󱇵y��	��9y\����Q�1�"��'���j�j�?~'z
��8�+�Δ줝�߉�̦v�7,��d�)�pō-�6����ܣ��ʻ\�#�kp�S��x6���~!`w��ߐ�������R���
�6�{2Ġ7rb��(���q|�AT�z��W����u��A��ن��\�k��k�H�Ъʦ�(��x|h�.`
O�� �EA����� ���<�cB�@�D�%�����Lb���>�^	���.G������ވĠ6`/a�u���ͦ�����(�Q
��=��O�9�!�V���a3����+�{"4@���p6"�&a�#��@D�r�@��6�E�:���
�P�r;��mD��LZ1�riXTQ�Rܜ�(Baްxa@'�a.������`c�I���>˖�y��|���X\ˣ�E��Cq�� ~z�#��l/����x�j�v%��Iܓ�4��YJL��6�
az�8<P�4aJ��{�;L�L�ۘ����yS�Y��3x���=~(��6���@C5O�B0:��H ��D���
���6��s��{m(���u!a;�J"E���t"iS%������\Qg"#�$U=��`1X���^Jm	h;�%"U:س����"���L�Ob�P&C�O�
�w��'��ky�F��4���U�L>��1��0�E[cWR\��V�O�m��3XV����S�����:z_Ѷ��S�)��*���Ynv�
k_it-�<���_�c:{5`?�C3�cX�a�ʢ�̬H�]Xj�h�4ƫY�8],!���x�(_*�/
��'�@I�w"L�2.�-B\�K���6=�V@ӊvp��m�Ey�Z�����LJ��P��I�3��].q,
+)ԧ�8�/�6�-%�S�Qњb�SBx�x��)�Rìu7��A�,�
0���z�g��OO���hk��}��<s�.=�J��q��6�� �W��=� P|b�(Z;��<�eL��IC!���a�m�5��놘�kjP�.)`䅫��V�D�a�1�
2�cU�Y(oLO���B���&�ý~h). ��whv�4M�3P!~��Fn��j_�=ȴ,l�����c`W����b�_
���0�����Þ�_	��Ho_^ڴ�<����)�m��B��ݡ�>�H5�)ޫ���>��v�����.^��F#�M��`�eX�l�j���%t��	�!��
��*�矖��}�Wk�����A=]!X�؅�V�_o��N��H`��x�F���x�Eq� s�4�����$jzs'�}�o���- ��e	��=����*b�À0%���
�"D��:X��#L��uX�,�cSgz7��5X�&r	`�5�
B���X�M�(�=#ԧ�x�ʵ,u�
�
���z�?˨?
���u�w��y!�ؔ��_���Z�*�X�Y�~lQ�;�6�efOP�@`�2���5��FO��NW�ǽ��{d4�o���n���h-����xu�i��V��*�/v�Gz3R���*`����]��p�~��G�H��/����,ē��R�B�e�,-�6S4��9'jP���p���o���
lD�Zې6�q6��Z��y9�]�HM�6�X��x���U��
��&h�6���$<�mu.�J[�](��Fp>��#*dp@����)�G�:�(�9�֔�r���7�g�;F���9t�T����*�p�V��Rh�˰UǞ0ֻ)�<I��L�t(�*���D��
�0%�1�2��j�>i�%��E����_�Y�#��R�'�s����Vh)%�$Ҽ���(��Ƣ�F�Nw�?~��Om���܇�dY�J�ШH4PY&d$+@�F,��|��p�	q����u�.�Z�s�O���R#�J�ђ���p�S�=K^��.{:�-{zXo�?��09[Y'z<�qy��7��8�ʛ�(���X�Zܬ�CJ3!_i�a���Y���IA=3.�P�k����ȎE��z��]A�Έ��e$��a'��Xҧ�V�?�_�(�(l��j��J<����tüf�!�������۔y�BtL؇^�v$�jSK¿�\DX��;�����аd��˗W�;�?��<
�rY���<���*�!|N�M1�X�4b�
��h�b/`3�
�|�CT���Lq�:��j�Ce4cM)*K�%ԛ����k㑉�����Q�"�i�D�Ȋ&�zO~�~~��I������ց�P���$��Ⱦ��7?[5��i����"��zD;�d��o�93�':�q,�� �!�6T��]Rs1�x1E�����Se�zKaJ�h��l}�Fa/+>.������M-����V���`����	L͖aY-`@`*��e7��ǁA7O<n�˽��,������m�S�@��G�|ө���rp����)8<{�Y�U��FfQbw�UE�%�2���l�Z���Qъ9��̙�Ґ�m�cP_4�1�6eD]�BLe�+��J6,n�ạ�7H��~6�hY��{���`V���>��U�U6S.�0@��31c{c�gP���\�Y3Ӆ-�=�-��\(�G)��J�$�~*�d��	;d�����1�νR�H�M4����<w��+�ɄMX��e�Bk^�1�u<� ��{߰�4Uf�:Z�����5�ľ�*�]Ƴh5CX�[�MmF̥�(+l��v�g甑�N�Q~�a��aͿ����6����5��\���#�6��n�QV��	�uF*�Hil%��	�/B�U�B��}���QDH\d(i�ʫ���
8a�7�'a���'�w��c��縘���i��m���!�By��y-�M��a�5VQ�^���׍9Ʀ'	)
�	|�M�'s|�
�[Px�)���t~�E�Mf�;���v�ډ%�48aͥ�(����
,l�6��@!0x�l��)Jx)��jc�
оfn�Iե
�Ѽ"=&]�i��s�0���r2���KjQ)�}z�W�_]�+���,l�E�CYE�#V���m��S�v�Qӭiā�f�C�?^�7VTa�ͭ�C`a`�P	��
�DE���o�U�c���K��V��t �V�Nd�໤�
��p�5
,5�.G�`d%���N�w!]�MLj�Jw܀���YD#���.o�N��̮ńB0�W.�rjSiM��1\�uݱ�O�;ׂݎ/l��}�0��`
8�B�nk��J��
;'�SĻ^H��b�cM��9Y����^mPN����b"�3�}[vMk�,��N��bs��&�\~���n�CͲ�
-ѥ�\>��;�mWi����|���4���`��h4(�$,xoQQ��g�|��C��<����˻!SYb�K�b��L�)^C�oC$n��H]t�-���I��H�����zr�T2D�v�S>�Yzci�"֥�.,:R�K̰�e��m�L
l%��z6��.��L���"�12���vt��.�Oy���'���~[����;e����e��f\�|���9��1�X�H7�o��Z0<�'�ho]qc�{rG��O��߸w��i�p�q�v�p�a�/���hJN�kRonr�������RE��%��%+�k�(�Hh B�݀P�AA����2Q�\��*�1���{���N]0
��.�sl�8bآ[�s��4446r�@B�Z�ӕPzѹϗ�'�G6D<�������#;^0l�Ȧۘg&b�{B	p]����d�@f���)+l���A�0��	�Q�z��+��@x��]�e���f�� �YD��	�031۩A�������<jZ,�Lz����*ES�[t��G� �I=m��\?UbB9����$�`t�	y��-1�$ʂjքT}�q�߉q�
���(Q��I]�ݶta<q�a9g����H�/�J�DfA�i�^l[���?�Tg��0!��7��K�?XyU"�ā�T
#�n�j(�Fm�4p����F�p/����_rEK�v��7f6�~��q�!���XYHc�r����D��j��ݓ>F�D�ˎ����j@�PɌj#`_��1G�e��;�X��F[����Ӧ����堸Q�����%��IIR�:�`̷Va�̬�kkݴ���������F��B�q@���������O����lt��j��=؄����5F�N�f�5���H�
�#dۊ/'N�xq�-N�*�؈v�%ϰ�v��(`��#�Ix	��|;�Z� <�P�7ej�f��t��͎�����2���}�e�fn�m6�/�Ӟ\�d�x��m4yo�N��c���Ⱦ��N��sL1�K����W7�@^��a��?8������z����C�A��+U�0}�h@��d��=��f��D��\%��w߅]GX�A�U�ʨy0�Q���u�
S��p}5/nbr/vB�6x"�X���#?
��y�s1l�:Z�[BYh��dؼ�3*X:��4�JE1s"Ǣ�
�i��P��i�,�"A����c�A���uu��w�7��.{F��{:�i�T��|�8{�|��`�V
��]g�
���.�H0��MP��R,�w� 
����6��PwH�����[M��g66�?j��;=�I���f'�
��-1e�.�޳�er�w�xz!1������B�8L�5�[Bi᪫%j����;c�8�$!f����x*^��]f��d��V���������z�8�4���h�%�d2#"W��P\$���eRRU��g�g���!_2�z*�[c�^��0���ꩀ�F���?R`���Y��1s�%R�i��Z�w�ܖc�|�� u�Y����0�	��͛%���G�B4�?�x0J�\���:f��K�9( A=],��{B��jx4�D����̍�t�=8\�^P��}��g�R��|��/��՘œM�m�ݠ�1	G�<���~$������r�s��GHT�$2�l��N�1չ=��uV޺���%��͝~�*߅�WĔ���I����܆�6|��}qD)�'�mg�_^{P�c�y�Q�������%��
T
a�`�fNm�`��+�����M�c�9�F����C�>��e�GD>���n��"���
O�
�w�"ʘ&��-�m�`Y|f.�v'RM�4���4�����H�Q�G�59+�PG�':��f��b�LJ+<�ٻ�7kt�C��fc�h��f���K�ox�Xh��`�V3��n��ߏ�K�!�����2G�$"���n�A

��^w�;��W0�<��+�g�<��0�.p��OW%I�n7R��~Ftp�2�]�L�Yd���ܘ��C��%D"��`5㰮�%"ۅ�����bym)U����X�'���W�O��Z6`)�t�X�we��x��	$�3?�?\`k
�Z�����*�>��b��Kk�j�
��<cw�-$'����d�J�ƈ-�((�
(�p�+�"mE�g6��16{`��S��$����&Ԙ�1lZϛ�3	�M��ܭG�K[��@)R�g���<�2���iI
|/c�Bl�iρ�V����V@�XG��E��j�XP����-�K���	TI��+J�	�fՠ'�N��6,�ۨ0�ow_�U>��뼟�+q������6�(�1�U�4S�$�K���F� �$�.���ۭ�\>�E3Ǽb�r�&��3�_��7�`�>n�2���Y��Y�)0B��2�G
�f+��������v��;�.ζ=9ms����>G0��4LKU�t�||�U�{Z�߻��}nS�n�_akj�J�c��s��t4t_�oc���g�3� �f�g����v떑31
�&@��ɸ�|iO�uv�3��\��r�5`�0FW���7�*�ņ�]�@�N�cρ�݁��|a�K�`�g��p3-\��l҆L.j�YY��1�@(F�2w�$<�= �1������z��SR��F�6�:>������z����.7WT�Ua�F�|�]���7�$w}®4�`|N�3�{��q?ue
n�몶e�;��I�S`��F�2K鉶
�w�FY����ùI	��v��\���p��`Ĉ�Ҍ[���ݝz2�Gϲe67U@�q�VB�dhE�>Lx����8��nz��La�{>�0�ER�O����/�uva,WHx�H<d�gcMԬ�PBZ���V��t�ݤ�(:��A{��,t��k��Ȍ�)X������j�)f����
U �l~�'��NJ����'��<e+0}�Ieaٳ(_+'�m��WB\���j��	A�	�p�mJ2�3K��p�D
,��C�q�xO�5xL+�#g[�~O���/AZ�/(Bl���u�A��.12��Ygmq;6R�6��=u���'_eˍ�y��ا,.}Ge?�j"����M��-�t�Sd<ڍd��I���3����_j�������/0�����|O"������{�(`~mR��,[_4�4��w��1
�&��u�3pD�L>�Ƭ�?�|ۆ&<:�R�W���1�1]�ɡ���d��2ͷ�F�_̂�,g��+S�m�13c�?,Rh�Ŏt4�+:���s��5t|C���4�6���@���#�y7���k	<�VE,�2~��$k[*��4w��m��8Kv�y���
T1��gⲵʛI��;	�k�;�d���Φ� I\�x"\�H:��޷���wQ3�>q��1��!��,�7����R��L���i�r+w%W��BR���4$�
##���x����j���< I��ӱ�89�ĭq�rKsB`��k��RYG�[���txJ���|vdwt�*	8Si��_8�_���%\�/��DLҽ��O�K�����Pa8��$,z�l?ƚ��v�}�7�a�[�g�Z��W��u"o9��م��]�vӓv'��Nf��c$�x�-�/)㟼��H
jwďDR��������C��I���}͚��A��������+-s|G�-��B9�m�=������=�����cX�ԡ|��%Ԃ����z1׺R�r��㮳��v͔q��o��6�2ƴ�H���<�c _�A	4
k$F�x�t>/�
9)�����_!mH#b����@���=~��"-�'W�.�	ty�S�S�1��#�п��'��Z!"��C2 ��G���ع�ݿͤ��cj*һV�T��oӷ�{�)jr!˒�+�t}'��kd넖q;�e'c�T��L&���Y�C�2?��>�(���㳪�����үT�:5��
�Ni]�"��R*��j��G��^� ���� ��w4�A�N��!����SJ&�('+0}�s���E�=���ud��*L{�l�~�u�Bڡ�m��$1�����
{UE1��O�5�}}!� ����2��?�6��K�K:�|	@�G{���&��YG|W�ڽ�1W��h.�U�2sٜj�'�:4(�J�_V�
W&O�RщA��H�<zf���U
Ɯ%�R)\D�/Lx��Ez�أ,Jt�_7w鵸�;z��:[��RF��v���η� �x�Wu�R�����Ȏ��[$a3r���H�S�ކ�)�*�B>���0����ȋ*�*sQ�\PMD�S����I�2wi�%`�0�r�m�=��y�Ns���47Я�/���RP���r���sŘ�	�QTdT��0���z/4]����DZԘ�"���z0��k�
�����k�w}��~��:��'�w����P�����~�N[S�2��H|]eKo���H��vB	���£��نnQ����QM���ڶ+4U�xg3K�e��Қ�����&8�J�qG&���t�埒S�2!�SC$M������p)�9s�h�L��?����s/�9�;%�A�"��[�ɱ�ǏO�l�����g6 �b�b�>v��``��݊˫:B	�_i����^�d�����V���~oV��Ʈ$� ����?���FV�&m23�ʨT��!=��{e�꟭�&+uM���e��)��r�NE&1	���T��;���i�Z��@���V�xHkZQdF�4�:�1S�Y�5D�S7ӒSS��b������?	L@�, D�����<!��c���ɲJ,1��|��C���gIn��o�Q�GR`�JM�Ђ	=$�f��;N*-����~e�(~[�� ��{#��M��Z�!)v�s�,�����b��.{~�9�b��.C����&5b�7,���p����dHm���_q���
n�·F���^)q����k��ũ��믚��iv��U��	�
�u��;4��3��Ez�J?���7�U��Ț��9l�6���
����U�S3��Z�������.rt=���L�;D�,#f��ͦ��5:e8���h׃���t�*��p�pg�8;�dҲ�Ʀ�C�,E <F���n�>-n�4��s�p�Ь[b_�0�V��[�O�TK�.(��z��@a)��C���	����4t�R$���
'�D�@o O���=�6��}�eqy	yp�N���8h�����w`z�٣'m�Ңh�~������47����d�Hng�;�"��B;�V8��Jy���hw���Z]�-y�ْ�;��y�bؐ�v�8��{�[R�1��и�"����1椣t��߻� ĭ}��y�4�,���.�q�G�mצ#��gi�
��V�
7�&�ϗp+��O6�ыW�5��~�.�i��`5��5������;���7J��������▬��ר���~�}�Gn��l��~����CxX�l��p��,���ۜ�67[c�Yz?P�%���߂��Eî��%j~5��6H"�@oֈ����X+�+W�C9�6�%[�x�0ޜ��p׭��8	��:?O�&����%|����oW���r�2�-+ߨ%-3��@�����aZk.[����ی�2'�E�[��DB�O�$H��(ȫO$��]"��C1�_���)�$�w�.^xu�����@F�W
h��<�s�Z'dh+�l��σw;�y����޼!V?dr�w�&||�J�YH$��v
fX�9��S�@��,ݑ��}Ʌ&�)�f]C
t0��\l`6h	�l���wr�Å�*[n��w~&��YfѮ-Elw��L�x<�4�?�6^�뱦�v�
�w�o*��gB�/�� Nk9]ނ��T4�(E�R�LhK<b��
'�> ���O쾃�#���լ������B��J��e�;��+��#��Af�[&[��{��@�>4`�f�����xUZW�������Bc唸Y"���r�_~�kp1��}6���Bc�7`jbr���ʽ��&Y��%
)���t`pn���,ʂ������+B�C��Z!ގ�)D�ã7�б�h�f/���6L�����<+�Y
Df�#�[�h��,�4�W����(��Sӿ�|���H�R�x�Ã��B1�#�R҉c�z$���������2�*0d���*]!��( L����΍ijNm{�{EZ.s���4a��'.S:�		�\�m�W	Q��u/	f�FC���H:�N�//+	%z��dt:�ì2ؔ���U�&�aA
�t���]�ci��nHbW�Ca��~�
���i����P�����N���`�9��?�bdb���#
���24;�7��:XA�eE|�xS�o��_(tE�=����]x�����G)��C lCr��55�8��S��v
��+օ�I���a%��0wD�޲�~eLM`�[�da�
 c���g��#]���6���8d�1�}ı�$��#�vu�nXF��so*p�y��x#w"Mj��N��>���!3�0T�M��T�2W���̡͂vTL�"A���Ss�(�{��h/��`c�}9uh:!m!���&c�<�;N���<����7�I!iЩ�'d^}�J��[Mfc5��UmvU+��kHt(`���Q�e#���=��t/W��o=a��0��Mh�Z��:��]�%w> ��Y��y
��YL���3�7'�Y�M��|s������0Z���cfГr���;z*�
��.4V,���s"bY`�|+�R!O
4�}�X���R��R#&���#O�,�]�Rm}nsz��}O*p���ΰ�`�nm<kဘ%�Z�1BF7�3���Ԝ�\Ȯ�3��+��Y�G�~�4M٨���,qsK���/SB��G�Z�Zez[��@�IA������;X�>�%����Y-�?}#����`P��<
	Pw����>HSL���
ȫ\hF��)lZ�X0�缳cqh�n
������Ss�\[�2uL�D����Ae���.E��6��'��4]Ȇ%yP�Gs��,�}
>5�Xp���a�Ë�J�-�H�A@��T	%���[���:��0]g�=�*1`��\L[�6^����ÈS��*2y�*T��p�)9^R��ֵ됛RK'|1�;�d����E��B������O����eMR͊�!��{h�-qF0�Bt�	aE8��s�+�h��6�kG']j{DV��cm�zcڶ۵l��m��L�Wa�"�)�Ϣv�&��v�@�ɑ땭	Z��"��Yp�"ؓ�ק���'�Nz><J�c���,��!̽~�{����Ref�$4]�{�ŷ��)hf��z����|2�|�V[�
�L�e&D����_@�IJ]���"���'�A��c������Ȑll��_���U�Avd��|��>�&�ֈ����t��օ���d �	a!̈́C��|ޡż`���l5�֋��nr����^��Fvڧ�5R��qZ���Ed#y�����O_��}�����9�V�0��<�@.�E�g5�Ô���O�(��Ɯ��&=
?],S�Mid�$���?��i��w�cϡP"�(j��#\��_(7�{B~�S5���O��_~��_�{*��/�Źh(�?f��#��w�-t���G�&���_>�D��߼{��v�@~�Ū�5���J7��"��A�/
9i�P���Ij��l@҃j�.j��%O��H�d�� %,j�Դ�mJ�66�
#�Θ�
l���bt4�s�D`ڤ��
W�#���b�)9 �z����{�-`��-u����	���7
�M��9���|@�T��I�
A���\D�br_��6yL)�;��Q7��]�\)�J�2<o>'���&��ʿ��c���b�s��\ؾ+�'�X�BX9�2S��C�u��LW���U��B<����;�i��4�)O[QFxx)��(��n�
�
��:֥ͫ<��~.l8�����q"�c�c�:���uT�s	f�i,����'q�w�J	����nYg��~���j�>�������ԁ>$F��*|a�A��n�Y�$���Y$��׃��h�⽂"�=��2u��hL������i�~��c%FQ�E������ǯ��� ��C�m8_;����"J|U����*CHN��Q�苓��]Eʬ�����r|%{�
m���%�i�*3�����=��6��O��gѝ\��Ծ�*�;C���]E`�����1#Vk�Ś��e]�|:lT���֬�en���1�7�a�W��	�G�J3����[�\�7���/��;8�j]�r�
�ѥ����}C��Pdx�����Ξ�0��H+fh�[�陒��4��C�����g���|����9ȺO�`,���&Wk�Mp�x`��~��F�1����IV�-�<���+�+tk�N�~��
%LSV��x�7 ��x�u�Y��HW�)�c�%AL�=�:^&��߆zq�C�Mӷ�����u��tgi�sy]��\��}�����Z����g�����zU%禛��_�A"�hɋ&s'��,�*�>$0�fNf���|�V�T��H��gw��3/�-S�gJ"եAj\.���V�b~{,���0uY�uf6�fE(J��[�;T@r�����bR���C]ٸ�!E��J�s��	BG�iK�E�Rksyh3+J�f����1�D�/�K�s�0�܁�ܼ�`2Ȩ�N�\ �e�
KQ$�4�}h�C�����$�����G����l�#��%�k?L��w"�C9��ob�7��*$ޱ>0
�� S-���k��2�+Z6��L5h�1:���p��ߜ9��0f,<{�t�r/�)��6�+&��8�����@\�!��U��~[�VB-VB����!�c0�Q�����9��A�+�u�ݏ�0�G�p���e���t˼��-�J<Z�Ev��-A`�+$��#��#�g�
�;C�2�,vFe�"��y�9 c����T5�uvcu�(����>�55��?�qd�*�|=�	|�����i�z�����I��H$$���%���w�=A��gJj>��$���[�#�-qae�m�Gp���ڑ�h3��D����U���g��}Gz7���K�SH�{��n�s�2_�����\��G0�~�����i^����Ķ{s�4hp�}l"8	���š|v="m��<.��*��*��Fpiݍ���Z`�È!�����֏���`�=���qq���_�sX�C\�ev��=���r���+J���#-�%[�
I�Y�ݯ�y�<��Ggw�GV�*�G��[�6S��=r�ϭ�ǖ0���N�;w
��γ���^�.6Q�hC��V�){�+An��p���}�ըu���B��w1M
���
nX����t��ڱ+n��6B�j���R�����;�̦j��2��NR�:�>�Lb����Rd���zN�Z��:E�f�O�b-k'!n����C�rLr�l�����!�U��`��?K�ϚAg��u��$ȍ	A�Ҍ@���d���3M�	Q�O�ܘZ�=����ˬ�KfűZ���00�)$��0Jֈ,��'�2�����/1��B':��aX��HPk6�Q8
4
_ռ�7u�.�@�4D���G�IP��HPI�'c,�hT%g?m7�h�O�Lg���~?xj">H%�"��e�*&_��n�@����z\��y2[�D�>��3p���P�	`��M�jX=Y��UN�2�{����� L��ĕ1�j��:��r[�9�I������(�X���a�o''�}���_e�,o{��[u9��be��3@G�na�
�N��Q�ymo~�p�D�e��	�>�4�C���@�
2�I"��䙮�.���W��ݻӳĎ- �4���LI�NT����s�7!w����ݡ�xĥ/Q%u��3�>+Q�ڸ��m8�9���KM���gD������(�dd\�F��<��M$酄�$�Ŋ���yC�"bJ2f��1��u����؞�"�,����ܠP3�v~'�q�N�+�P'*�^.�F����UĒ�)b|P3��Lb"t��'px�d<�]5��u�/�/�X+�$=�Ty,���yJ�mZ�#���.��d�G3�$�<:�b��dD�/�e9�cVr���yw���wg���6��Z��.�B�EŤ�+��7�b���A��&��"f��@p�>�0�����OYo
S���VH0��T�����S<�`v~_|@�x�mB4��U�r��%d�Y�)H��)2m�#;*6b,!�����a`�:��nf7yJ8�l��@�����?�ؙ�D�~��W�_�X�aK��*mb0?�kGH�#����UN��p�N�V�����N��Aw[@W�g�F;�NF;���@k��,Ʃx�>�=�!�A
�!�7kLBD8ӦY¼��8EF�r���sV�?�׆(�V�u��1�P�ȸ,s�,v�' �������}}���3�
 ��Ճ�d`�A�M�<�`3����\� �n�7�h���g�NՍ��;�Ib�/h�����Ζ����l��	��c�Ev�}S{Vf���*jHun��a�	�~���DEpk1u/�+A��:{S�p�`��|�`�x3�4 A���#PMƴ��{�͙]?�����!_��-�ȑ���7h�1M��2{��9<�#�{��	%q~��ܼ���p�x�ݚ�73���s?1��΅x�<��|��Ux�v�k$�"�wE7��ȹ�wc�DH�����1��rfl$Bpn~Y�ש9̬'�dkN/�3�\�#yk3a�VR#�²*`+uE�p�7@��LJ�����h'l-��N��b�' w�SE�m~�\�]B�n�,{oH6y��<���A#~r�봠/|�m��ݛz����
�5�=BY��‚�6�Gq��KqJŞn��%Yl/L����
��h
iF/�){���Vm�R
���\�=�����=����r)����*x��7K1m���f*G�fc��v�t/U����t3r��
��*$��� 4�-W:�<o�d��
�@�x�Z
����I�%*���?��js��{Nh,���OX໥w�#.+09���Ӽ��ۈ76N)
�\#��fRo^#M�',=bQc�,I���U�M׾qPσѣ���2vx����8�#o���B��f���V%e4c��H�y~�-KAe,e���o��Q�Ms�{��Hc�YÌ3�K"c�̙�kfY�ĜVt�-����\�&����we�Ԛ��䠹��=2�)��NR�2����K����6TV4���JF�0_�8��:/P7$�?�:~���*���O5b�
H�����w3����0�
���"~1��G�Dmpe�7�y�=X�l̆~p��;l#���+cO��YZ�8Xށ��k��1�,��{>A����u�p�[���?/]�Ϭǹ<�׿o,��?���-!�㣅\�~z����J���[�:��i?p|<�3N<o�"dQ;s�8�~��3�=|�)%r��²����˓D�y4�ͣ1��yw,��k�)�*{�	/����A���D��������P��t�0fL���Eh���tP�~W�R�?���X�������5fyz�"C��[c�.�C��j�ġ--�|j7��fa���D	'��
>��L��i�.�_��?��4�h/FFv0���K@`�c�rIvY8lBZU���=��:KW�ij�ҿ8\��h��ϵ#ā��|�ܽ?4�Fomw����aH�cD.go���i+��2_�x_4�qZ�b�
D63���|_
�w"���˘K�b	�ڠ]g����
FtU�8fV$���[c���?Kc��<��ñ=�շ����j?Y.3{��lN�
W3��,�����r��Ka^�����3#��L�.��-3%��7�	Ii�������<��*�!�3%���Β�4�7��^	.]f��	��łn�ha�IW�X>`��F��3�@Z(|ؔ�j�5�-sc`����\�� Z��#O_�����l<f� �����a�vF�l�ГFf����Ss��$dh�0CW-�u��JѝI��pO`nI�}tP(pU�^+z�������٤�N䐠MM��;�kX
9�>��׎D�~��Q����5R��׃�~�>�/��kH����Ϊ��z��Է"+��0]w,��<�N���NB��P��U(7--��Z-J-��Gw��{�m#�/D���C�}�0gu@\�9��iaL��]E˷�WN7�أ�1�G&�e��m>��G����45�e����g������u��$!)IV�/SiBq�/�QyI�`�lF9Sab*�{īt�]����Tψ]AW�X#��(^�[���Y��lȣ[ӽ5�=�)(̙\^?�fk�]�#�S�����;�!=��,j1o�u�����Y���Z�=�L�Z���o��Ɵ+H��J7,ߥĊL�;-�g���u��Q;�Iw����c�������(��*�����99ٗ.��_��U��]oL!�7�}��h��uX
�I��L ��"��Y��J���0�y���:K�I�Ca��J�ܶ8�@DB`8�p0�j��;�ٍ-�'����P�d��AO�8E����80ݸ��;τ�?U�U��Wڋ7S'����Nt}[�F�9~e����U��@X�/�"�4dz�&T� ��M��-��l�72�%�/�DП�=,)Y�D�^�*,\��`�4u�%Z!zC�Y�{���t&O��H����S����V�]��Z#�UX���h2ÿ@^�����H�Z�6x�<��*���01�FЈ���YEv�������(Z�l-���+�5C�&�0�}��}�z�}�)�v�y6Ϸj���������2F��W��v,Z�i}�7ᚹ�k�~t�e��ωh�})��)�˔�^fj����J��B��r����D�V����lL�t^C`�������A�l�I0��7�m��a��"���t�*kw�JJ�w�y
���c��$���2dj�eh�Ze��$�Pj+$����}A��E�=��^z�^£��ZY�}Y�IS]3��='xb���!8�"�!p�q��r�+}<��n�I�GT�Ok�v����V"�N��E�c�y�o;��"���Л��;�U�˘$�f�����5
ó�>=o�@�]GIc�@H|˅��5���]@[3�I�˼�(6�έ%(}��t��G�ge��s�h6����M
��4�>ON!̈́��3Ru��3�tJ�Ԙ��K�Dv_f�ʏ���%^5�
!q���H(��F�o]��l����t��x��P7D���^�1��f��F%�N4#��1fD�⎣\`���U�X5`���9B��=Acʞ'���4��;�~�r����5b��Cy��$$e�k��,ㄨs;�rbx��z������w9�w���1*cF�k^\$o^� �ܘ�-L�Ԛ�gK�1DP��Qg蔮=¸�+�y7y�b�>�01.‹p�b���y�|G$�l�[�w0�|�\i^���\n��֝���n�_lʙ7�&�˖��qK:2��-�my�v�3ˮ���7���5�s#����Lö:�p;F"�D;j\�2�[��
���F;��_�K���6p�����7��u�V���v���X���+H\�+��q��R��&]��G�`�.��Wtl���:����M�[L�ϭ�^h���o��$+r�a��q���&�1�0V 8�� ���	�N�� �#���,<��$-��˜<X��7L�ֹ�|G�
Co��mW���9��
�Ѷ�����.^Z�����AW�}�31���\�1]�Ƹz�5z_�/�a��Ϡe�s��)ڎ��-���#�zp��=�<R>�����,	���N?��<7'YΔe�cE~N��N��@���w��������6J-�����(�#��Ht�4�٨N}�O����f����n�Rh�
��|a�>K�Zd~X@�a��i��%�إ��Ep��C�8�S�*��
Ud`9[�#D����v�5��˫��,V��0fߚ�"�b^���2�}��l}]�R6�SL�ٗ�82�c�1H�]��ZùN�x!�2�mw�Ul7H�?fKe`��/Kht^��2��8�����#�R,����p䳾*@+|r,,Q��_R��C�N|�\#J\t�C^���a�ȲM���o׻`#<첄g��V�`��2���&��&\�mVJJ�٬(�zH�p
�}���^�`�7�E�6�+��o�:����շB9�B�+ີ�W:�A�7��+�hv���*r����}��&dn���c�m8���+��1C�\��J=_<�������r�k8� M�ċ9�/�1fl$�2��]�$���4[��x����T:�zQ:"ؗ(��2���B�U��Tl����c�&����9�M�6	
� �4r�[t3��97��u�jH���Uզ�@r��43�&,T|F����U�۴Q����^a�7�Oӯu��T���p�\���I�U��.��l+�֭�4ݺK6Q��x��W�g�]z���r&��8S��R�S}�3Ad�qOe
���>N=���C�Շ������/i��%\1��8�fR�V-ߋx����'@���R���n1`=���:v{�{X�]�='
��Fh(%�D�/A:
���c�Q�y��(b�/.��_����q��eZU��Lב�iΥ��6&dƃHږ�ێ�*��m;%P	ۧV@���]A��=z#�t��F�
�>�_������t�S�F(��t�#�$��l�,�E�i_AҰ�=]��'���c�\����{��a���Y5+�Q`�����G:��$���Ӻ�^�nq�&*69����Gw���� ='3����i��l�˼(9��=8��_�9�u�u�e>	@vc_d5y��vNI����Ԗ��0S��R����uz�T��/Za~c}��K��j�.��o4��K,rM�E��2�� ��/5Xm�����:B9�:�Ay�%�b.ћ�u�^z��T��.��)5��TFQ�Z�^O���?�R�2AK���~�>�m�Lk�5NZ�)qq;�"�޴F�~O��Y�*"��,E@�R �g-Y�n-�<@p�Ԣ��M�N����@6=ʼnN:�F5��8�/臫�q��mGx��L��e_fi�F�n���z���<�i�T')AT�6�.�T�^N�Y<6�M*����-c����К٫�-��+�����T������aW�Cf�T�A,��`��?L��eyG��yޚ�_�Нy	��AE�-�3���������߷��'sf��9S[C���$�kG0v���n�̘��[<j��2 �Xb®
�����2?+���J��rccZH*�;���1U)�q�X�ҁG�o	��CfoE�JF�&�78)�������2���5nL���㨊tE���;q�Y�Ay�1�h���<�E��w�=����C��?3��k�38�;�^��;V�h#���`u�..��#�7�94{��-ev�,Aq���p��
 ���+�M��8>\��7��ţ���}Wek�1�™��B���\L�v��n<��j���G�ˤ�e����YC��)6�p��\C'�LI��P�ĩ4)���
��L4��ӱ����
ClQ�$aDF^%$�cv��x5̞{Y�	�olj���)���9�W�ymC�;s�H�2���1��;f��,	�lV���"m|(�����ԸM*�֧��	�q��,;\����,�R3�p���N4�Y*Q7]�1�#��[e�����t
<�|K%�7¹&��[aS}��}:�
�;�(��އ2�8��k_M,�?fB��?u~��V里�
�b?O����Ϙ�c	���0��jv��5��X`pԭ�we��%j��np��G?��\Q�=�K8�>~f?�ݣg1��ׄM��>Qb�ڃd��;�V6��%ן������ϗ�����_���z;�[c��rB�[��tI����_
0���5KG���a��
�³���:zG3���7��[��O�:������(�jL���t��<+<=�q-_d�a���Y�P�����u�1�C:� F^��"��8��! zH҅i_��C�4�\�C��M}�	BiN.{
�ph�~S���TJ��Qw|��ޯ�4����2ⴡ��W�/	&e�m��p/R�㢆�w�0�Ec��֭G*�U�wyɟ�u
�q�rX���B��������!�֧_��+4���O��13?լ��>Q�:]e���Ǟ>�J�F7��Y��:\�J/�luY���u�����^ݾ8{�*�֗�.�k�S��n�~:��0e����ZX ��
�Ѵ��*!����z]<�»�c���C%�l����\z���
?���q=����7\�P��AXDjR��	;T�CDf�A,<�϶�@"m@���Q0�
Ns��u��R@�23Һ����@%�-]ύ���c�����H�l*�s�z����u��z����ROtr��Gu'��p&�ӗ�n�~{���4��H�j�w�E�LF`����k�::��D]�L�'�?��
8��v�Hؓ�C^*���-�VZ���=�o��`k{?�ёʺ组�ѫ��U�0f�L0܅Y�������{����KJ�#7�������e����IK�/+��y!��=������5�
�z�YR�}�Z��*;�LI�`ft�.�m��Y��|V��5P�t�w4����A�D�H�6��Ǘ�U��v�F���ԘhEW�&-$BE�@���?���Zfdz�;�Hdb�{r�<7z�W��&�$?��/��؈t\	���$�G���:�}���S�K�s�|��i����v~��tʺ��x�?�3�&$o�>^ ���$6��1 ��*�R�~��ϱ/~wou"�8J�V(��v�h�g��~��R,":T��q����f��LȘ)q�N�Eӽ��w2�
�!c���J��P��F�X��E�H%�DtP�n�s3PuJ �'4��n~�26��9G�hp<5h�cg��/t��o*�	��@�8�n~�z@���מ/��t��x2�FZ�Y��ُ�>&�]���Z���x8쁫"�j(Lg��M<����f�!��	��h�RQ�Io�
�`��~�Wl�v���I.(w9+�L���P�%�r��o�L�H�%���lˆt�t
q�5]��t�'*��5~�j��1J2p=�l���G캇C{���=}m��z�i��̏�/iU���l*|�'ݾ����.8R�}���&�%Į�����]Ǥp��.B�������8�!]"�fE�<+���C��������]�ltMYS�%Y@�O̬�԰�(09����͢��/�e��O��j�^h�������8(ʉK�� �ఄ?�C����ڋ��f	���LDV8�=��c�G30vr�59f�Q s��!�\'{�8w���G��y�F��$B��_�{�2ɬ���A�1�_^������ґ~��o�!,������1�4�e�CJ�ĒR��߼}c�TK��j��"doՠ�'E`��Y�C�/b���
�e�K�EC�p��w��Up^,!����Ch�Y��U�Rƻc����#��+;��-�2Uxלtټ�W�pl���U^.@���MQ`�F9�v�ru;
�]Q<�zW�zN>�e���zt|��doo���O�S�՘�u��/��s��m�������ڰ��YF�a������T]\-�h�ğ��J�$*�h�LD�;B�(f����
6ھ�9�:X�����A@�];j����5�GԹ@�a��m5\��h�&u4䋻T�8�Y�̆)\�*�b��*�<{�3;�x�>�3ݘ͙�LP�g�1<���}^��:4&'���	�Z@�XH�R/ȧ���9Z���TR�f[�������G1P�إ6׀��̧m��ȼ�\b�z�U[���h�]3��"��>mp�X:-=~p�ͳ
l$�U���8\=TX��^a�T27�Kٙ���W��䱾~��.�vo���,w?^�kDyX��(�؈�'�^�7o_DR?_Z;FK2c0��,x�]��)�e��*Zr#�n|l�S�f}Kv��s�+٘ư�/eW�¢�e~FS�po���x]w����ϼ���<��_~����n#�*����y���kg�w�:�*�����\�`EЎF���W����]̖v�}Bx�y;�#�9��`��:+=���ޯޓ�5��e���o��X��[5������n��ܸ�D~����/ �L���� �
٭I~�t��YƬ-bJQ#�Utr�>�n�+���N�����"R4�@͏�K�L�;��Ћ5&{NL��F͈�Y����L8�:R5��o���)+L�Z�W����x�:#Dr3{����x|i��Z��ZPp�+�Iǯt��+�p(e:_#F��Y�t��'@��'(SݽFu�T���'�����	f�p!����S<x?�&/!�;h$E�k��%��H=��b6%v��	�#�3�2�@��ef4�K�u�٨����8�4�>�݆fe����7�M(+�G�q�ݴ�HPe���O���U�v]O�w�l�]|\f�eu����ϵ%!W���{kheL��1`���"���!���'L���yJ߱I`� �M}`��ֈIL�O
������@�o���B�*P�3E[�-���R䔳HkO�=�QLb�M��M���׹G2�4m��MHmi�~؎����U���(Yv�g�qf�c�{D�R��⌘��zt�[�.m�]Кm|Y�V	�c�,`�b���"r��ٱ"�v[��3/����@��h���de�K�e���R9'��P>g�.*�f�{��a�Փc��)��0��'���Hv/B+æ��Hs�d�,
�BU!#I�	_�y �Ҋ L��G�?���H�h�}n�������6I/����B
�p�vj�4���R%�9Wj�S�Ai��7�.'�ĪCo$EǕY��Gj��&�?��G�|<�nmt,ec�v?+Km>��@�2Y�V�tu�<�45���(-�l.K�c���7�r�J��b+�36#�i�Y�\)��
����T����c�d�#�6��Y�:3���i�~���y�!S���Rђ��
E����P����`����!�hl�Y��%[��U*2:5;�w�)�PU�j�ҥX�LgA�y�S�Bz:,ah��D�I�+P%�<�U�������͂�9���<pD@�d[�W�<}�b�1�,����}ёi5;�Uٮ�,���u�߶CѪ2=Uf��w��n�����1ĕՇ���~��xm�⤇����{-6�����s|�A�On�#wYf��V���䗟>K�Ŭu;�)X�߃"�7n���4��X7Y�Rݻ#֧�?��(tc�$����{g���(A�F�����ϩ���Hq�0|�
��}�
�݋�&0f3�N�[�~���J�Z#��䱺1�tk�w{u�2��d>Nq`g4��bO;�������5�n����pgᓣ�.|�ezG�:�L�'�nO��:!~�á�E��
e?:��.��u�~�-��Q���"���$%zq䖚6_�ہ����J��P���ܙ��'�ӕ�E.���E���#ј�İ�JWV:����{�4��dy)|ϥ�ū�i�*]7Ȓ�.tǍT��F0���n�ӄ����ĕ!�FR�~*����c�{˲`(�E2�$}]�z�r�eމ�#�3�+#�P���e~��ԩ5	]�^3?4U�S�B�K�ۢ��\[��ۢ��t��J�5i::Q��/ք�	�>��0f�0D�6]6�7��@�SKj��H��؝F�BZ]V���4\��I� )�{�����b'�W��3��.F��W�����S�.��0�Tm���D0�8�ĭ�U�(3�Z{���Q��^�`��w®Z�oo'c�ݔ���B���D�~��G �v��:���<�2L�6zm�,H��l^��4ܝ�b\�0���}���r �%�DK��sfbL&}��g��H�<�	7B�S'�~�W�m�,�J-��+�G���H5���wrp��H�=]�iz�b�~�ʄ�8��P�!P��.�E\�:��oǨ{u��Qu֨�yu�h�׆�u֔�OQen
|�����,�t�רĘu$��UVdƍ¦]���yH�]f��(��� 5;f7H�	�ю��]P����s/��!=\�Kzo+5#C��h>���1�_�
!��N�?�Ȁ�,!q���:�!��.�1�e`�t��������c�=�;
�i:�\��������s�$���4�����k�b�2��kA>W)�{�w�("!��Y�R^yB�槲�F�%!�D�\��Ν-9�w���f��[������Yݬ��%�/�q�q�/�}X	D��0����p��A�H�+��l5�ɝMSdd���Vc�0�ܴ!�h�Xm
s�0�"�m��A+��@�mA��B�<�3[�%�7��i��O(�
M�����|9�F�/��W9��؝�i*WI��Է�anUkd���"�d���!�云t$1 �y���'�7��ZJF��\5@D�L,3�A�!���Y�>��8-��%�cD��  Q-�#�xC����6�Ց`i��Wrn&y�╨+�R{��[f��T�t�zW�m�Nn6ќK�j���doC~�)$y����~pA:I��hƈ],��%��ZRb;U���e�xH��%�ޡ|�S!䆶2�81;��o�S\s�����?4������Z;knj �\N J[b��N3x	��+��%gh�Ad>�9
@�Y؁ड�DC����^VCK�>�����[B"Q\��,pǶ)��B�\���T�M�(A�K�+�V�ˣ�7jJP�E��~��,ؔL�$=���4����o�
�Yk|3X�|����Å)��b�0L�[�{�p�5k��̎�^>;H?�Wx��`��k%掞�2�G�Ņa���Y>��4�x@"�/�lu��Tv0���V�0���j���
3�\Wo�^��D����a� 2jQI�GkMI�"oV���~D������`EM��``���r zi�W��<�|�7�g�~��p������d��8�_�����ɒqf�ۤeO�)��wS�@�z� ����GT��О&�t|��!N����&I�Kv�s�A`��I{��
�]7��~�Q����������Pp��2}0�s�e��A퇠܍�y��|LMP�Nwe֎�.e�ܘS�����j�=���ѯQ�Z�aX�1�=.�F>&i�H�F��4Е�Y���3�s��?Xp��_<�ׯN8幖,-�NF�O��<߃
��L�X�;Ηy�Usn%�?o/?�@%=�������G��Y]�Nf�E'o�?w^Ild�QZ>��[PX@d�v(�?j$h����[�Y��W�gp�2�*��aw�FK�x��V��|��EsQ̵��-E�*� �ƪ��%C�H1�����n����	9����ޙ�����>��
`Mh�o��{�~�_)�K��F7�1�ߕ�ћ���,(7L��d�9��1~2�!�T=7{W�1�_�3P]�"d|���W���^��<���f3]�9��B�.$�:3�[�c��&�Ӎ�پͨCC�	;q]��"NB�Ԕ�B/{Q�Ho'��pS������P���꛷/M�HՃ�'�MMnKV�BX%w8s�z�n)�B3	ޚE�2�̅Ӭ��}�Y֐=f��6X��H�x�N0����v�<���0���,�d��9���Wf���i��o�kq��A���iE�6����
��B+����U��Le�<a�^N��?�_�����ã67�3g�8�t��{��F�N�3����l�����泀-���/���=fP��m��Ჿ��6�J��xa� ��%b��es��?�ө��I�
5%�%�a��y�(�h/���|9������_����v�	C�wc�%��ֹ�B�a���|rp��S���u͐ٱ*�I�{�U=�n??��s
?���4�	-��.r\Z��U�T�I!L�BB7���������C��\h�VWEYϙ��|7�ɪM.�ؙ���(��?5�@�rŌl���7�}�x��u���y���F�+�|z���`����c���c.d����ǹ��MG�*7�-8����4�������	�aD�8�?B��HbA7����k'�������d�EA�uO��{��c�XHM������D_n�Ϸ�����G��c�
os�I�Ňܘ��b?9��x�F�q��K�M^a���|K���
�sp�e`\%��H�ad؎��mv�;x��Śv�/U�b���@�h̑�
ݥ�]ۯx�*s��.Џ�hCs�cd��}�Ԟ��4��c��M^�E���䱫���/A�T�ه��|*�_!-����ݚ/��AmY�G$��5.��:�WJ;�1�.<T��C�C�Wp��+�бJ�1\�APdT/,,̿�M�2�hx�[X���i9�G���v����L�nd�8���ڄGl�ɥ�ý�7��2��<�O��`oO=�F����ܘw�y��_`
��ӶtE�ť�t�v,0Ԃ!=i
Wf�ΑR_5��EUO�󽙻��強Ƅ�O�C���_�f��7���. 臚}B����;2�f�\����@@1���������
�!k�}�A=�݁��1s�5u���.p�o0���Q3��v���ܝ+���*�f�Uz�׍�rϏ5	�����P���̂p�	������`B�h�z�����&`+�
F�6�K1h�X�R-��.��c�
����	���܇5:0i�jSҢ��u
^@�"�[-�AT�6��J��ԙ?,����m����\p�Š�p�e�PÉ��½|�@�t�\�6i}q�krW+)���U�Ѹy���m��N{��N���gm��uq����=�aq��g@�)���[��$��/H�)
�VFx>$3��!�,����ֽ�%7�2�Ka"0}�x�]ξ*�����ף�4�"�2J_FO&n�b=ݫ\����λ�6޴x��}�Hv���J���5;�o����D��
r��5N�X�Lq���ݝ� �U������U|��C.�'�%�"[bF��%�G�ծ��~�7�O���]���3�w`��F�>�V|ORU~��+��`����KN��8OJ&SK{B�
C��a
l�F��ͽ}�,{�Q�Y(-^�u	q;>�7�D�ˆx���B1漗��Ҭ`:�̒��fӃj4F��}���Vp�v��i�b����ڄ
�y
�w3�!�`A�t7F�^H��xX ��_��֪�Y�M�"���X�iћSAhg!{)��S�|���-���$x׽���+-:���\�2i�33�JV��q��<�
?2�1�)%�9a�%��@seF��V#ta��G
.^e�
��5sh���dĚ����v��\/�x�;_Ee��E�]��|A魔]�2)��k`�����YYтr�B͸ `g�o2����
	�x�'�9�ȀeMQ��t֨����ш���S1�a+�IJd�ž	����9,�ޗx�ؠ'=fH;���wK��6X�E�v��9�7}�gTݫb��"�E��0�7��3����_�X�"����%��bm-icce���h,��G6_}��<�e���s8�E�|��[X:챊H5�&�|���5F�1���S���ƥ��|C�ۚ�8�k�?>�d%Z������qR���{���G|���檑4�BH�_�+1;��c��f�𰇴}:��d�sI�$�.��F)�u�my!�y��b܉��t&!%t~�Hč�z����JE)#�N�Jw���֋o��~Y��paQR�cM;
���p���j�y\��M�o�(-�t'����$��[>y�9&�{#��irUf�˟�y�Ͽ�����8���Q�G�1�k������ˬ6|n����i�S��j�t��1f�)ԄftZ�';-�E��?���@i=e��mz_�fx�l��
�"����5�4(����ϕ�u��@�+.ց>��i�xC�gQ�#o1���Ky<4�̅��ki
YA��l�N�����LRX����]�7IK<'r���aGI���.�h�V���)6��.;k�xF�
U��@m�bY\��I�[J�4F�*X�P�?[��픁�fZ�1i�� ����k
�@<��H�#&B���uP�n��?g�M
�F�ǜ�ņ2��w:�a�D�p�5KaYgVA�rِY֧c!�v7��K��lN��,7H3k6H��~�N�(�a�/�x���>D�Ƽ&��%����l�kH���	0fP	���sG���P
�?�nL�-�S�Zy+�-r5х�����!��4��u$(��ʬ���1�RԱد���R7����O�����!m))kj�7r��s�?�#���݈~`��C��!c��o�(1�ō�s�*NQ3
����o����J���~=��T.�r�8
{?O�
�*����q=���g��mE�6�a措c��p����,���[�n����E�q�I/��SF��2��X�k��-��v������]4ē44jU��L��;'ya�}����VGܶGX灶�6�!i{�j�|-:�j��B�d�	��f؆���Cþ/.�aKr\���+��͐~�.�{�$���Lb$OZm4XE���Ë5���4�;��$¼5�X����i�d�d�O���+�?�B�h}�:VM���B^SS�8RN�|(�1l.����n:�sJ=`[�;l�'����GG	$j��Y�
���1
ձh�%���y29������P�P�-߾t�{�؈���v�	qx���
��%h�;fvs�h�������O�R;��-4۠��(�q��@JRz鼭�:��6�9�U<�ч9:}�w>��찂18ղ�1��8_v�A�Ћ�cvj3O̥������p�#ID��_1�-��l��:�@_,�n��8�g{۱dߠ�Ϋ�6�����p�9�,��p8��t�ȇF,�%8|o���J\3%�yzw(>p�?2<Ў��noP��X$�#��p���z��V�S
S����O�������.�HN��p�΁؆��/̢F�y�WBNy�,��)��A{2�p��fG�HL@�Ԣ!
n0������9:���|TS@�����|�~��@@Y�J!h^�(O	<$�-��j�h��<!���C�Fq�S�j��ms�]z#���j����&39&�C��T/�m��>D��(w�},K�|�D8\��[H��:��ا��Xn��q�A7�	ٺ��C�`n$�1ס��^�x����4S��Z�(I�X<�\�d˅E׾2݀�kV㾲� ��^(Ź���kC\Kf�s-Bqf��Z���Ѵ�8#v�6{��~j�]�x�%݂���S���L#��B���4���
yjBW��pٚ;�h�A�����RriΕi�HHiɋ�v�<�O�4�¨�N����:�/���QtG��@�˜���y�Тx)�7A$�LT�����$��_Y�J98D&
=ބ�ˉe��|��:�>�+2�47+ZP��~���T��>,��\�w��Ͳ4�'H
z���"�sc�4���*Յ�u}S,��Ś�E��y��*�{H��ʀ�dA�j�ݦH0���n�U�l�ˎdt��Yc�Z*�$T��4S��,��۠�	�9&	�X;��H���� ���%p��l�z�,y6y�Q�,	�+l�����z�|0��Ѷ�LDiޱ����` ��Ky���5��a��rx��t�m���S���?x�G"1+b�
lf��ց��W��"/Wُ1���%َd�R�*�Dz��m��/S�V���n)�LQ�KM��v��-t�J��3K3T�j�־���3�o�6!%�dKgי1��KO��$��V�����p�F��6��^^���V0Y�o���0�����l|�zB��hM�~��
�c.4K�f\<��m?��_|�H�D3�A��VR^���iZ<4��٢���>�
����vY��1H֌�_��g&��o
8�6����o�g�����%SG�v�%3"����Py0�tc�<�6z9R��u���<�����Oxu���>f�y\�Q��YW<hWE�e�B��{&�
v��)Jq�#����u���;�*rh�௠
�����,�2;]�S=��\j/��@w����bj7i���$9<9l+�r��ۉR�>������ڤj&�H]�2�M�����.�i��$7��}�ɉѽ�\����a1�����\��&@���� mM.��W���c�a,�$߻�v��O|Y�>=ش��A�V8ƖK^�ЙdG�ջ��[O:ی�z�IT��xO��3���g�S<ר�5�"ܘ፲b�S&,�MQea�HH���a�DDz3�,�iMQl�R�S����1
ʔy^\��A>�e���9�:~��iQ|m�G��ǽ���6���m��:��ko8'�Þ:%b������g�:�.����frBh`�l,�t����\�HM	�>��F懢<��ԫ�:��9�α�M��$�H�zt�����Ūv��]�6��6J�
�b��g���}1�b��h�D�m�9R�i��[�v6F�ls˹�v#M��E�b4��7���S�R�
%�K��٭�xg���]�*[x�m
�+W&��Kt�j��3�B�y~����ɇ�6yd�!C�$IaМ��͈�����ܘ鏾�j��P�6��s�O/���<r�h�6Y�ضg�4_q�bH��&��	�@�/�X\wE3�*C=t�V8�o,�Q��Ve����/�TP���k�` �&P[��N49���q_#�Ƒ��L:�|$����O�\S-�4��߱K�
?z�����K.��S��p%H�@w��
}2Y�E׹j��Gm��$tW<�{��p6w*ᗢlVj��#t1�_4�1��%��K{ �x���_䴠6��n�����B�o�@r��W�@w���?5�G{�Ag�@�g�%ԧ4&U�c�����*E ��*��+��3\���m�U�5Ոr��T��T=rz3ɬ��yy�+X9c}D��1�H\��On�i}0^�/*Kxo�u��R�,�X����t^g�Ê��{��J��z'���r���DF*��B0e.�p��c���9��W��#��E� d8܎ɴw�CvJ��X6�g��5�J�[�#����9g7�����a_3N�x��EG}��b*����zN�/��o����d2تP��M�NQ�+�}E;��FH�y���1
>9��7�, ��5��=5*
b���j�%�K��L�,jDC&�?�޺���j7[8�5�3��P�O
������LDJTdM��]��~`8*=#�y����F꟰���dM�ʛnv�渞��^B&����7�߃aO�����T<�[LGP}�Tq��2X�lpr/�)U��
*� X9���$T���8�*‚��A���"a�	Ԅ��L��䝫Am��[�9�6�ua��9���(��A��9��A��?�}G�cҊ�w{ƛ��HQV���	�Ê��?�$��g��	�����nǬ�;N<��6�	Ze�Z��g/�J�\��|/)�F�;�t�MF;�xn�MD���`9 �;��7��̱:��/��rj�5�~"���?���NΦϜ���W��rE�8�f�J@�z�o���/����k��*:��ig��Z���9lw�
P��p{*sby|4.Ia6��s����V���A� -�3���-�=>�,dP�xz����`��O�|~�L��B;ǽw��n�'#R�)�/����|N"]/�E\���{�/0@�� "�#�	�45O��1H��d�
�%դ��{�8�w�h�<�}Q�����>�?&�ƜZf���
#V�;�1A� q�=�qTB)���E��B�*���8]\��"�ia��>B֍���x6��Ϲ>�3[	�ŷ\�"���|���ad�0S��`�is�»v��(��+n�m�<��L��Tc	��Τ��|�an��fD�'2Z��7���-(�(��J#g>��au
7s+
���;t?a�Rɶ�Mp0�y��4I܅��Ѡ�N�@ �e�ٓe�C�O3_û�vę�t�;�<� P�ƈ�tm����zn�|*85�y	0��w�����\!6:��O|oiQ�v�[R��De���
��@D�tT�̰B��T�Y0|X7*��;�؂e?���A-k�(i/���f[�g[�,���#����Ԛ��"W̒�S�^��|G�n^�'qQh��+!�3֖T�}
tw�}rnV��/�?�TA�O���v�\����'�Ev��"�l���v���4�h���#v�=�Z=�(�>d��a
IM�k��)�@����8᫊!�Hq���_q�w`ˢ�6|��1PH6��V�O�S�� �5)��)�P��a�.��2�#�J\/�����m9@�m:�@zf���ʪ�b�3E7��@����Y�z�$9�p)�I���Lj��)W��S�쎛��㳗[t�8@M*J�l͒<Vt� *��y"�	��C�:���MD���v�}w�H���p�����qY���8���VdZ���:0�6^
���\�q�x��W��Ɵ~�?d]�A�""���T��h��H� D������(��b�q"�
�:�d��!x�G~&��(<*�8Ig�!�u�9_q7��
������:q܃�)�$��$�����?�3V�az�}��Zֵ���=���z��x%��N�߹E�P|�Y�%
_$m��<��#�K>�]H����-�i��.���� �����WA�a�yQב�\$p�"�d�HF.i��a��|�G	Y���R�2ݎ��8O����*.����6�Ҳ��$�(�;d����<��
?{��#-J���=���O�*r1��z+@��OY��
��9�ڄ�7 ��G�)�=��z�þ�/����@�5��.�Ϊ��Y� �=C�����L\QH��sz��{��
�����S����5�c��&u�S��Ģ�A�G�;Ж�.�-�{mU��x�g;YCm_i!�!�A��@�(my�dB�f���xR�/�i�r#�z�(���2�)��Ľs���KL�0�@�>=�zaŽ����J=�{��
��k�u�LwU���Z��6sp_��C�$�Rt]^[�*	Qpvv����fp�Y�#��x�\)פ��/.�����k��F�>��4�u�*��=����q���s�)UEʶ��{��y@j	�B[v���>��y,�ۅ�\�lY�H�>�763YQ#�J���u��+3�*;Ց��r@�%:�N��L	Mw�NBG�oG)
`��v���;$W&��\(�
#���4`*2<��lz�3�n?>���ZkO��`"W$ڞ�q
�^z�cvuu$��jR<cD�d�>U+��_;�EϬT^1���e�nJ?=+��z�.����%��+��Y3*��НX�K5<|!D�q
�ט%���\��2�mh����/!�$]���E�/�ȕ)�"���֊:%&�,W��$�c�YR���F��9���
yt�8���F%�MW���R}�<@��;"��o�Sn4%�K����Pvo�?M����E�6R4�������$�7� ��jW���N�;Ϸ@�s�gV#ڿ�����ϟGs�z
���nI���۹)hOgkVt�r�eQ��g���o��u)�c[�Z��mhrԾ
q*{P� @� Xq�n���{5��?��x��ZT�l���.Zf�i���3<���M���x��z�s@t��ǬWa!�s6)��^l��?+HT(�6�w�G�ނ�P�d/�����l�~��x��F-~[�QF��2&�t���)�bq6t׃\�Mz>���8�h�(�Զ�]��i�N>�`;t�������0O_�oz�{C[VU��a�F-P:rQul�E�k=	�xZ`P-o�+=sKqϤ6k\�]�G�����QD�H=��X���L�z���v��3�ʙ�Y��3��9���|s�]��tn��jHµ�)���AH��X"TmՔ��6ͬQg��*Ϳ(z��@\9�Ug�޳������*7����Ȃq�����>d�
y}D���xڗEܓ:��xի��$�(�[��+b,Tt�~R{@�ܟ���H�җ��S2�X�~�x��Q��"��t�!S^P[/U;!Ko���Gj�1#Q�b��G���@�.�tP#�B7a{�L�=!�3̊n�vr�4$�RlV�k�~��f>2����q��o3�>J�_ꊈ �����s$P�bq�Q@�uq˟zL���F��+���f�����u]F,��]�|��jι��mٞ2I�>�<��ω��>Б"��N����g������B�����s�r �d�35װ���qdwQPa>6ղ���._Y֋�,.�_�ٍ:^���8:�|�)<�������0Z�(X�vН^ٿ,�$��=߅��u2�\�Y�1���OY�CK��D,�~o/e�hO�Xe���	iP���A(���
�ׁ�W�{<����,9bD��Ŝ��H�9�Qb:����\[!;~��L�Du�m��ӽ��x�2��<J#E�;���儠�5R�ڒ�%�"�����@��ī��>v�22��U��s����
ɠ�<e�T=V3�8xj���<�ZYz�2��b�[SVA~�v�A�̆E�k��G�`f�t�)q�h��n6
�l6��
�@��H�����.l�Ť���_�l+h��KO=cL��g���r���>U0?�XH}��AV�Ó�y��뿥�3Fڶǻ*��a����g�)��+O�F�Oľ��oi?������8�&�9Wv��mN�}O�
kq�UBX�<
/u�쉹l_f��U�� ���h�lzU�O�0�����k����̎��)b�ԋ�kz�i5~��!q��bB��n��<��e�c�R�a腸BLW��,��,noO�w�^�h�_���J�I�'{�ތ��Lv^��f�|D�y1��Nf}��C�������d�
��Xr]�Y� ['�
�|��H���8�	F�����2�hS����.�\�Š�l�b��5g������]Ŵw�>�-p�*�j�����-�vr2�Щ�S$+�Qg�ү�f����V(�����Tz����Bt
�*�Iu�a���u
0��J'�?j��>�>|��]5M^�;U���m}��x�_7>�Z�<����[�G�!i�[
�祚�����^,jek��
�9��t�/��O�%e.X��l�H�d��j�⒣r�u���IY,��ί,(5ʺ�}��0�T0}$���{l��;=����a4�Y4]�Vp�D��vF$��i�8����.c�y�<\�sZr����8=�^rc��X�4����(
�1��l���f�^&ղ��`��q�?	�3�a"�B<k���rL/�YiN��g�~�{��<i���w
H���F�ˌ+�u"Dg�J�V`"~��d�eQ�"�72��'3?[
Y����1�#�#�=T���s�t���ˍ�4j�f���\c���[ytBp�-{m ەy����ԯC6�i�#&:�=U{S�-o���`Yܔby�ޱ��up��Ļ��ozȸs8�1��+�7�k��.��^���P�Jܙ>��5��{�(�G�����=���B���&H�x�e��<F:b&�	o��9��
�cF�?�f{�(���k��6��AC1��A�p|r0�5��>�R�?"�"����޻�l�6�⥊B>�B�q�_)��- �SX�$�M�6��bK�b�<�1~}*�*h���b.��Q��c��\;X����m:��/n����\��x�j*�ɩ�T>ǡJ����ջ�y�p]͉�O ۝l���T��
mnPHԺ@�HV���&3ͤ�`��n�X_��=��Jc�L�"�M_�JK�
��h��4՗q��+-��w�?c��gp��'���ᾍU�|^Jh�r�P�w����Ot㽨+IV�(פҁyԧޘC�f�+�d+D��*�j2�ň���E[Pm�t2ن�h�%Ð�I��o�N��w�	���g�[Jpq�,óI�C�,��Ʋ�T��c�z�W��}��-X��`:��ٓm��&�|��ޖ�|[��#��Tӎ�;�}0����n�C�v��)8���*�זs�&�x�[Dk�ä���(O3���
�u�u��
�S�æ6���ݾ�_j%��,��%w��a�;G+�&nƍ�;T�Y�(�).���&��<[m>�#����*�(����S�������>P�G�N�����*�S�����~��&6�`�
������C����\�����R,ë��2��K�4B�vJZ�Њ��P��y�����$Y���&�&��5��ӴdG$�����~���0N��X�H��Ꜿ��] �	g~*�(�����7F��VqY��a	~@� F�}��eɭ��p��oe�ٳ5Np4��i��ʽ��ҰE�c�XY�"�'�z� W��3>�G�鐣1�<��I�Wd�"�e&6f�p�q��(��'ӕu$��z��2Ϥ���'��w�/{ӎc�t	`]�����r(� ���V�q��<V�3�&�
mb�D�"��]�\��]�3_�i��D��G�S�
����KA��z��xW\sˠ���evD ��Am�{�^�_���P�=����C#_���#B	�F	a(�.����^�bJJ�ݕ�d��ܮ(;��@����b9D{��M<
!�.s�:�
�e�As?ؼF��n	��ŧ��o���h|%�~Zw�h��2��{�ޞS�F�#,M����!�Q�墷8��ԥ9��q�]���ԙ�)�V2�t}�Gn^�̫O?C�A`]�}�pi�ά�����l`Κ�Dg�L�H��Hq��<cCz��(&���(��ѩO‘���UЁJ�ɯ!�~�4K�Z'�xe쫬�uL���H
h��Q�D�_��r��e�*e3	4�%9��+�eѺ�Z�RIg�o.}}�<�U���o�;��t�-�}�b�8s��S���YR6KJ���{h����r�چ5��H����<ۀ��"���O����b`���*.�1���a�@&a�� ��sIz��t�����f�2#��"{wQ�~P�0�
�CW�����<���`]�:�1�o�D1.F\e��3��b:�I(������G3%O'�㯑#X��'�71́�R‰���e�!KNMi�b��|��lXe�-�SS!!�o�a����<c�l7WY
ğ�H�kB�7zp��?���f�8�P�e��OL��I��oj�N����D�\�]Ņ�M���:���l��`J�Cn�y�}��%">���?�Z��I�A8Xϼ(>�*�/��/R��CO����W����w	b�*�%IlzY0�~�4�~_%���!��E1
��[f�s�7#���k	�~���d�`;�r��f�.��K�&��(�<�$�׻ʂ26����i��s���Q
sY���Ic�^!�v�������I��yd�I�q�����a�kU1�����?s�+�,�:�V�+>X�[ޢU�\�}����a_��������&3�I[|�;lNGw�9��Wڰ�r�ϔ�̥/���*1&I~9swC�F⃸n�g���	����{��y޹`����'���3��=�+Hf���ö�T�I���/:B��#oy�2����Q�Gl���oж8�ۣ'�1��C6����5`#�k._��g�̃�rB'�@��oֈ�L�Dأ�j���ᗁ`Θ��杌=��17g���	%w|��/��*����a�ދ'�0��@��
o��<���]�%��8%������E����*�B�̱:��A��Ԅ�]�t���bMU<Ȼۍ�[�7�À�C�]}�-�kT��;���uzfn���
[K�l�V)��@K	�eks�4�9p�*B�9`pc�����g
�Ɠr��gjΈ��b5�\�#��Ђ�}{H��=c��C�O�u�ܻcF
�j��m��('SHt�������A=��	�3��@�VpTA�㞷9����(L����Ͻ|��3A���{�w�tdi:�e�i�G ��ﰇm"4lLC gP �Y��˧��6^���pzT-�ҍ76�	��p�䧁��X�iw ����dUy�7���Q��0!���'Nz����p$�u����a�{�p:��>�￴϶K��t^��F8$��F��A�#�dvf��7JQX^5��"��^�����7�^�A�?��3.�k��[�N���gǽg(;y�����xh�N&�?��O"��?�VNj.i���6�$|��'g����Y��yˠw�Yz�G�ye�������ki9�������W�^��Ѱ]��fRM�m�����a�Tz�<(��t�;�Spc'	|�f�ן��\�a�Jg@F
�Wt���}�E`ص;��w�hw�M;�e|��	WBpGd�O���l}U�9dM.�j!�Ś��9�,w�gCz`x���{��}hQ$iB�h�4K��緖=(CӺ�8�U6���(֋������F�i&%�H'L�����Lvm�KEfD0�ѦH:�H���X��F�Q~E.ͩ�E�� �,��n�jؘʨ
6���u�iZ�F��mPJA�hkD��ʣ�Z�ӌ[��T�{��RW��#
�yׄH"b[m�B�w�zH�Iwc���ַ�|�A~K1Vmߞ�V{�a������r�5�Н�=�	ωWט��b�n�{s�^���Z~g߫<�v=��P�{~o��՘uuE�����Xq�c�o��%F?�ù�_�M����ZN\�.bu���
U.]W��vuo��G#K�F�U����uG�������<�`�n�Du
�}Ҫ�ɯ�dv��e�IW�w1��*/ǭ�B��z�e��_�,��2���5�KB�S�ŝx~�Sh���m5w*}��U`hc�E�^��sc��Pl���PI��PM<�:��}�=\\d��Bxi5�ٗ�$tK�W+0�)�Z���[��#�?�4	T>����r�s��Dz�04��~�u��u��?��9d;%p"`���!]�0�Fk���-x�WnO���bzL��ӫ�-���N�9:j5�;s�1t�ܭA��x����x[���q�10���բ�c�sjԸ愻l���
J���i$���Mr`�Fv��F������ѽ]@�@��N�V�\B/^�f5�A���\1��k�yg8|lc��]_�.�GD�1�V��e�g���E��,����H�Q�{�UQe�� F���"A.�]J��$$��F�K
��v���!���C� ع���u�Ur#F��w�g������LD��ôȢ�V�#��^�y7�eǥ#�W��eO��sG˥p�.}�!;�*e ���F�/!��ݤ���,�=4ħC�����Y�� K��*���P�ĊLI
H
:u��������%fњ	<�P��.�
�&���1�K4�	D:�Ͽ#�QV��wLY���N,ao��_���'�v����c��t�G�я�����R9HYzZ�d72}�Q���io"j�|Y?4�_d`��gg/��e1���-
��y�] u�Y����0ՙ
���{���ȸ:՘�t��YS0���|��=��Ii?e���Щa?8	ĭP[TĜ�y�W���%���Ċ$ P���߽O�n��*�_���)�/B���Y/!c����Of3n)��-�r��o�Q%ZHj�U�:=G񕬶a��ᤤ����Kt� �k2����p��"���a	��umYCMKsL0*�2��eƜ�185��ʀrO0c�T�WI���u�⯝ ����2�$+�k��?���I��2�I��h2�\K�kw�k>�X>Z��hh�97�_%�B'#��4�������\�bJs�z��*�U�
:���>����~�h�v�&��f�t��i/oNz���uV����4	1�R<pՇ�n4�%Ӽ���&�nΓ�oZ���J�N�*��Ƅ����Z�������?��\`8��_���L�IP�����錦g��k�Θ�&+v'�H�LȠ�ݮG��@�i �ߔh�B�2H�x/-�������
�������Ny���W�0�H��^���uz끦w���
�c�@����뒅�X�J��t��Mnj�߃)8�پ�TT����
���f��[��.�؁Lj�T0)���b�M�g�+�9LBY�_G�	��1+���_gK:�̤"v�EW�@�omN��q��\��J�L)�������:�lN�5Y�Z�J|����@$���,�����q�Z@�Z��H/� 0��9��"�M["������B�X��`��S!lq,
#�+3���흒
�ʳk�

�o�K���&�x2Ѷy ��}��-
��RKְ*n3��il�%nl�X�*���O���~ܘ��Q��k�Y>�����(>�%j���0sl�Ç�0�� ��"�K��)���צf��d��t3��@2��9D��rHfm��t)��
��Y��]zz4PW�W�%�}p�l����~Y�*��1�7�3�{��>+�Gm	s,U�2W�im���w����U�%F'�1���ţ�1���l�2��P$2:�~sm�z�*9&G���d��JsXc6�nW)��$�Ew"§�Q��%G�c/<t�|������y���`$�/������a9:���)X�Ի=�!���ĬvǾ�	��$^2Re#���N�z�9��:�t�t~�Y�jF��yu��䇳�O~Q��h�'�ƺ뷢1���|֐e��XN[�
w�jp@;�0h\�KG㒜¯���J�Ȋn;����o�ԇ��k�w{��y�b?��=U+�g�����&�=8�� Q�F
M�ad�Aw���zt�{���s����ug�jN��-���B�n�/�z\aՓ���
�U&�Y�˟w����J��]�F��PY��O��n՞OY��[�ͅ$]��y��Pp����(]�o����񘶉8(p�Ѝ�]�R3�+
�FF���Cm�#c#F?�*���1,/[:�i-���c��t_E԰"vr��~��:8�@�j��i��G�g@R
�z;>��v7�~��i0�����ͳ+�[\&<���*�ʱ/`P���IM�l’��UDx�I�t����ґM����YiVNzwP�υ��Ҳ>��Z_5��5���5���X	|���P+��좠loJ�<��K��hA����p��VS��Gj��S�ٺZ�D���?2�:],��;~��n�d�.Ȃ�����m��[�4Д��DuW>�w2�r���H��_~��ھd��U����_�,9���M��;�K50���J��0c4?_�[\P�|-]���,]v�V���|�tSu��h���(?��>�K�v����;<&�E�g�Q{Y�^�<>lNc��"���cE�G7P�����dz|��g6pcA.��~�\�[�����e�%�:Hx�/f�&l�jG�l�����@n�g��P���Q�ReN��EW�F��x���R�Ү׸%9����wI��d)�w��эB�TOy���݈/�l9����:�.2�Sg!&�+���%�w��@��
!�Ma�����J/��Z�FX�'K�ť�U�B��0U��n��v9��1`_5CG�_�33ݔ�b�.o~%����a	MQo���NI��}�+?�p ����X��ъI�#����}��j١��w�u��TO�u���y�մ��J��ʮ����6/^�3p��>�z�����Fv8wԑ�΋��2 ��|x��M��4�́W�4�� ��4���ҳ�����LL-Y�y�R"}g�*G�e��_��s�I�D��+Dw1���fm��5۷�"���]M���(2�x>�U��G!��#^�L�C���4��	�VS.��I�D;��|%�m�
�c�ٳ���*��A۲�AG�r�c`1�>��y�K
4�	;����e�U�GX�$�\5��Ť�)\m=4'EGI��V�&ow���(If���ܑH�ۚ"��EAHw�U�6Y.�����>[U)�Mzi#���t��#}�;&�yW1��3��uf%����=������赖8��k�<����f�:_�Kw��II_B`���"�_�,�&�Arܡjh�"��J��y���ًw��A��g��؁!B��*�;.Ȭ�� 0�{C��w�~�\LC��t��$@-�M1�(��Q<>�%W	��?�ix~����6=�DV&�C�����_��ef����/���ӁC3���Σ��]���d��d�Z0w���y�_��m�."�l
B3�·��������~^�ҝ���n;��ݫS�PT!+�2jJ�ZzzL5n,�C�'\�YPϷ�SUud[ԡ��at0���&Dv
w
���6�|a�wfV�yر���B,���uǢn�e�r��((�
�U$�r5�2�,�W�A�b٬��ߵ���)=�Tu[�!1�K��dJ�M�3���>�s��`w׀�)|"���T�~_��-��1E)��g�R����2�*�ؽފďyo	獆&�?u�r�m�U�����Io�U�.���%�]���veW�«��4�GDt�K�[g�v'd��H���x�og�L�<�j���n�|9
�d��UN�
9�ې5A6��s	t������m�Wu��>����f�=Vg�]c�=2�CP���@xH%V��
��!�w�Yȝ�����f��N����(�_�ˉ�3B6�25E�`|D7�mK�6���)��w��tm,�`/x.�b>O@�D���S>��:s�m~2�N���0���`u�0lr��+}Lf3�Z�t����bɸ�o�:Q/=�쌾R%��R;�S�c�(���VI�[����}��3sMY&���q��0_��b�!�2�"�t�H^7��D���T��Nf��\P`�\�>�?*-J�ᗟ>�*MB�0��>R)�
�l%���`,�{3�����w�?����V6<��瘹y߼Ǻ�5���~q���o6��UJ�Lv-��
Q��c����3� "lX

����J���Ծ�(r��.3c��\�0��e�)9���*T3F_��5
��N;�n'�Dr�V
�D�Ya'68��W�81搮	�b'�#'�/,W ���M5n�+-^�C�	GԌC��g�j�#�{�o�Q`���L	_7�5p0Qr&�G�X܂E�aM!U�Gh=�'��a5�o�upu "Η7a5���+�_�LS�w"$�R���2�M���ύ$!�E����7�e��Xk�xh����b֒х��H[Ø)����l���44�א���p=tڛ�$8�(���=Lܘr�0�E�:V�]��SK��n0�@n
GY�!5�P��ba���T� jd]>*%�#��s��u��0�����������b��qG�h�������%����$�ߺ�m>Ё�K� �0,�x:y}�T�������2��TD�Fј�o���\�$o��'P�[Ã�o�雲z�EN|������#��F�����ϛ,_��:��^&�t�T�{��?
0͵�3 ��ᮁɲo
��X3Ɣ�����`�]�i��G�Y��������1}����]�E\�(�lG��g�@�]h�D0�+="�"ɭ:�I��̔%G�� e����R���Nb~ʳ�?ζ5�Ϳn�+�;{�$y՗-�y�,��2���]A~�_6���ngșzƝӰ5��&]nӒ�~�Ͼ��^X�s��%��i��|4Н�Ʉ���C[�&��^֊��0�jJ]�Q���	Wv�@�V/��u��'�h����丏�zo���3H�yBw.�q	��o�B[fVI��6Е�:,D�`����8��(W�7�d�-�1�ֶ�$�g*�@v���Ǿ)Z���ݶ�{}v,�g��a<!�����͝bmZ��v���hv�YR{���g�M}�<��{���m�`%^]GEY�3wB3��O{��"
C,T3iPmz^{�LOpErYꘐ�2N����X���+����2���H�~g߈DT ]i�cD=��u\9��`��t�Y�e�����.�}�[D�<�nkU�������������U�^�R�o�V.��R)�Q�D����Y�5��A�u���'H�}���߼����/��/l q�i9^S���JriW�`5CC��4a*�<������+��c?L�XQ�4�%#L]�}��L��1�邴�L�M�<�D8��e1qw٬��g�R�~x��l��	��0&\��I�0�肙].�#��J�dž��#�X薸T�b�9�:���3%�h����H|���q8�|�ZC�Sx�Gg�¥�y���ʅ���D�3�L���L���?m�~�p�>BB&=o�/?}>�{%,��g���k�C�i�������IUâ�h�s��-6Y���h���i�
��J��N���S?}iY�j�=��#�E�[��#��*+�B"��E0�D4f�۰���8m=���;`V'C�@����a��'~O��g�~K�XJ{�0J�p�f%��γ-,u,�1H�zY\*5�Hn�h����l��i���|�� ���w��q��;�D��0���$Ss����L�����HR�;4y�s��>(�ļ�����dK�a��nϺ
���P(�OTך�\�q�s5T��eIʦ$�T}�I��[μ��ҥsFTٳL�	֘#s�g<��9��"���F���L���2E�����У5厏���̦kJEȒ Ռ
�̆�9���:��Ik����%��=��9_���rb�Wy�R��G7E�iT�<۵=�J����D�nK';%�.���77�iX8i�\�K�6-N�I���d�Pr�ۤ�<+��1~���}��,�EG򝓙��^�]��uL�����A��0*\�5�=���ᜢ䝹�@a�"eR�{L��Rrdzݝ;ЦOYar\� �u_�~@��7���@	�H�V��V�N�:��h2�.�B��#����ުr��>�;Y��
��넁Vf��;\^��5�����F�Z�O���d�\3�IV�s�&;�x�~x�<K�	�87	��d ��^�#5P��ʡ:��J)�;7;�_�ōcA�>^ޤ���s B�C�$*�pZhL�U&�_�ޘ���#-&�Q��[��!��+��nT�!�)�߇�Q���-B�\Ý������ ���̛A~'�g��z�A �����mm~�V���`���ʭ�]��x*��ٲ�{��f�]Z��:�)���#�A��	e�0���#�,��=q ��[���'|�I�E�y��+�h0{ƂV������]K�F[�b�H���Yd��È+����Vi�9���-s"2&Kp��v�s��%��(v��&�R�5���Dw&,%�������Y���.�ĊP/�0"
��{ͿZR49�m;ҭ�0����TK&<�B�I�%���8l�
���Z�
������'�͛
Xܖ�R�ދ���ɞ�UQ�=𯯳˔�6��$��(�׏M�
�2��jPޅ����m{���k3_�h`$pN�_�����_��C�E���?�/�"���S��߉��'��ja��|�ϑ�t�m1��s'��¼�����e�{4�JR��W*��j�H�݉C�B�cɇΖ��oc)"8F��%�ŷq||c��e�B�IY=��/p�X����q���P�{H��25��亠���l�_��Q���(X���y�M�+�H���Tҋ|Mpw�֯�L���[ү��v�S~��"�>Q�2t-l�3��}����i��x�!�N(��Tq�z!���o.�d���ʼn��Uk�"�G.	-%����M��_�\�t��ab�IE68@��}��Zce ����_$1�&����#�����>���Va�a8e��Ċ‰��<���� �A�*&�E�T�D�x������r��I���8(�EZ;]c�X�9����-�.͊��{TQֵ;XC�;�<��`y�.�X�-
�xn�2�|�v�F�XDMGL�3��n��
}���Bzm?�1�UeQ�h����S�|G��
$TM��yS$�H�9��
x�@�)S�G�I��A��_e�a���o�~��i��ٳ�gɛ�/�ƛ��棺����@��EH���1���;�=w?��|�Ʀx����h4W�K���!�݄�ǣe�BYm�a_Y�[_�����aK����Ž�p�b-~i�����Y��߁�����ݶ��������Vx�L���GN����Á�I��7oՅ�1�XA饾�Y��p	��ꋧ�Pz����jǨ��|Orik`�u$�JEs��w/�<���r�W�γ�Ք�Vii�*�gmw�6b�0D�)b�+�d8E�r����	l�Ugf�I� g��$��)�p��FKMu��X�v!�8�B�2+J�`��#t�*��<*�H�����GOۉ"	�{6i��&���5�'�O���ͫ�d^ًP�7c�P�b\ca��< Xs��v�A����_V���[�V�0շj���Sy���m��H���w�n���N�����v�a�k��>���0A��bw[�3�2-��_�	�|�u(�զ�zϩ�*��h�4�/�
��R�lG
�h
 I�<��;kI�Qm�m)M����6T�pg^m̨15�ċ�~
w������a�6H��Q^�S�O�F`�w��P�Q=RKƔ�4�qX7�U��c��>鹉1��޼|���{U}@���2w������C�!z���;��}h*�D=2�\��n���sB�4�@/>N��$h�A��g <���`�de���ƤB�_ڐHj�H#B҉�1r䮲��gz�3Jț�I6]h��	V̯H�֒�؋$� h�: ��:BGۉ�)B9����]�oU/��sݙ*O�-B�zcnvQ��^R�ޕ����t��~_����޻��gG���6���'��%���� ش�\ܖz�"kcף�1��=:�݁�U����^�hd���I:�zύ*H��Y��y�c9�'���j{�>=�-�v7{5+��"=�DN�*�e@��Z��n��I�7�D�����6	��1^I~b��i�Ę�E<�0G���X�gKN$�������1��.�; [�(@��6�w��p��
��Y��a��@N��0�^�;M{'-�{���U��1����7��޽6��[-�����QK�8͖T�ۭ�^�;�8>
�c���f�V��M�ԋY��<��R�!켱��|�h`���
X��������M‡m��B���=��4�*ʭ���U`�t\J���U�������.e�M8RP�ѳy�4h�}@� ��(k��~�kFx�ˆD��|#�q�Hjɸ��C$���Rhh/�n���ǜ�������ZD���S�-��X����nY<����[���zk�?/�L��㦾*�ߖ�q$g�׀m*Wɕ��uO�u�W�(�%𹎪?�yj���,���f�U������_d�ꪨ�h���|�WPϢe;��q���(
���ͤ���m�n� ��(H�Ae5�H69�Oe)ڒ�Ӂ�O�8>�}�7�VfS����&���X�g}��S�(d�ʝ��9?ӹ�w��!�|�Q�r>�7��l_-5,}Gل�12%��b���d��έ�4��F��[�Cc�`���X���ۮ뫾�W��
h�{�v���di�W�Y�[|䅇���.{A��������Z���
0y�����������f�_��˔�����f	�tǖ8i��v�֎,S���X%�%�ey�vfӂ ��:J��Ș3���<j0��J���u�1�h&��)�]b5��i�����3�F�Ss�`���
�
�٧ԙG�V����tp�6�֊����Hgu�4�B��)���y5���4�:�.�Byay��W������tX�d�y*�����?�y����Z��֥d�������%y�������9�:�
��4����/ϞhR��Ϫq9Ţ�\l�ǡ14Z;i��h�0������I�o��������;��~|�U��6��^?�k��d��4Z�ɬ���v�O�}?9j�������8���q�ӽ�g�Ѷ���bɽ�ɣ��=������f�/O{~<�x]Yi��ד��Y����a+�6�S;���Gf��~���Dy�:�5�+�bW!�`��9k���(u�}�ĸ6����PKh��[1����.litespeed-cache-fr_FR.moUT	3�Ai3�Aiux�����}xT��L���rEGA�*
�)��Et23I&3aJB�!E�((�HUl U�)M�
�"U������uΜ�������a��Ϯk���^{g���ƹ��p5��"�g�p�&�reup�ӂ.�q�O�8�:�R���	xro��x�+O�
������<���<�X�Z~�����/��lo	`6�F��w���>.��:�T��l�8�̀���\�sB�`&��`k�Y!�����'�i����\J=���8�BW[�S�%���\�q%�g`-�����^��-��ל0ǻ�*�/�����a;�#W7�Kd<�y�#�5`'��{�<��\M_*�(%>���r]+x��X����G_���2�Q��o��L<I����(�q��|%>N�ogň��1�kx;`s@!�'b����1�o���4��-l(�N?�&8}���~��-�k�&����\��/,#�4�	ب�x����z�^ˈ�e�Ϫ2��2�C�r��V9�qM9��p`�r��w���r
��<�VAz�VA���`}}VT0��
�7����TA���`߯ =��T��N��s���k����v�I��w�����?�3�?�2�?�~�?�W��џ��\ߏ�{�=��3/������C<N�����+�'�Ijֻ����^�ӝ�r��C��N���{�m�W��~�w�c(�B'��|�>�&M�^˟|?a�9�7��w�=�SL�T��~�c����q���f�\��ȇXn`�����.ו������;v�3oǽ~�~����9�7<���A������Er~7^-|� ��́�/���IO
�v�K��@��j�� ��;�t� �{� ��3��˃��
�(�
���d0� <��5�b�7��P��`�{����!��MC��z��c�_<��2D�f�d��-�J�ml&�3���<�r
��!��‡����1���J�v���,���CC����������P���a��0~�q��0�M�0��S���y��0�k�0��t�&��é��9���Yn��o�~x���9ǎP�<��h0��v��������gp�1|�s����������ޝ#��Z���k$�w�H�SKaÑ���F�|�H��Iz��$I�xi$���.�d$�{�ä�+&�ox��vy���>X�H��(������(��Q��ɀ��<�b;��.�<By7�������G��9�r�=J�4�Q��u�'e���&=�Q�g4��ã�·���c8�a{��/��~���C<O�y��p��o+`�1�/����1������8�O>F��x�t���lj��Ʋ�%~�%�Ʋ����ac��'Dz�YcY�Ɽ�5c�c)?�+zm��8�$���Q����|��i�.�ny�r�'��oOP~;�tr�x������v�O<�vƍg��s���s�6��v�g�ߎ�8�h=�>��S�$]��$�q�'9��'i�}��?�����z��	l7:��7H�O�@�0w���	��H�<���{��������x�S�Ϸ��ml,v�D�-�	�U��D��$�{�$�38���I�!�>]�͙�\;���7�x�Y˹&�_gL&��M&ݴ�L���d�s�d�e���d���p
�kO!^r����B{�|
�ыSH�j������=�x̘�?��=k*���T��Va�T�q�T�}����r�vN%~��~����ӦQN^6�tVo��-���i�Өi��q�`5��4���i\|<��t���C���g��i�?�p%`P�y��9�r�	`w���)�L�]�y�Q�,�e����1���1߫�w�?Y&r�rb	`?���n�x��;�����[����f���}�~o����À�f���3Iw�f��D}u&��ݙ̿w&����
�7�D�i��b}�%�y/�|�d>g���b��Y��Y��gq>?|C��M����ob�9���9��9�_��9��/簝���és������P�u.�:�x���>�K>�l.�D�<�g����>��c;�����}�O�;4�x=m>��3���
�I���Yo���O�|�{�|�˄����糾��s��k>���e�JYN��e���+�����WXO�W8��_���1���)
g��Y��n�vٿ_�|?~�q���P��Y@�-[@�1l�g��ko. ^- ^����_H<d/$^r�_��/�ܿ�zꅅ��5I���n!��9��O�Q������"�[_�`���WI�_%�Ny����կq^��Fy��ᯑ��z�{��|���닙����C���Y�F/����Y���=v��ӗp>z-!�J���}��m�_���{�R��d)�ߵ��_��t8m)�ݥ���r��c���/#�S��Lף�X�p�[0C�i���e*g4߫�(��,c�뗱�����/#������y
/_N<]���wZN�߱��p9��rַt9�l��ߴ��n]�|����;�u�ˉ���m������ﯳ��� �����7H���`�� ��}��4�
�M���u��|����p�~�
�SxˍQ�L�?Wx�J�{��*�WR��ZI�7x%�2%�����.Qx@����9~󝲊�<k���H7�WQOt]E�j�*��M���>q5�O7��JW3��մ7v�&����r���k�Ϻ��a
�︆��}
�p
�s��A�P�|�����M��ɛ�?�ߤ���������&�嘵��k�~����m[��t-�{�:�Y�8�W�#=ݴ��t���8��ױ��c��5}�:ʧ}�(/�X�y�_�~�����g�֓�f�'�[�yڶ���z�
�g{�g�jnP?�ʁ�7P.��q�n`��m`�7��gn`��i�w6�lP{~�wD��?�-̙��-��o�v�E���6�y������q�M�5�m��/�׉{��C����W��@c�Abo�}�{#��u7Q��D���&�m�&ꕕ���w6q�[6q�n����&�u�w��}�%��l'x��^�=�s+`��Kޣ�{�{��׿O}P�p�\W/x����������p\�?`��~�z���}�8J����{o&���ٰ���f��ͤ��6�n�s3��-�-��y��\�oa�	[HG�)\���\��>�|;��/���~�B}P}+��h+��{+��ne��n%���J���F��z�e�6ʙ��8���0��G��~O��ﳷ�?K��k�����?m'�����C���YO�)G:H���C�R�l���/�����#���#���Gl羏8C>b?&|D�\����铏ȷ�|D�8y����W��|��A|��A��j�����v��wv��G��Ǥ�!S������w�c���N��l'۹{'��N�끝,7f'���o�����qd�b��UXk�q�.���.�S�����v������n�y���n���Y߳�Y�k�I?�v����&^N�C:������y꿇������s�p�r�}��½��{���%��Ky����Ky��^��>‹�q��}�瓀���#=��	�A�'��i�O�	�~�q������O9�|��O~���O�gG>�]|�g�c�����F~=��3���&�,y�o�����w��O�~����q�~�û��.�t?�O�>g�a�o�|N<���s���)��_�ߎ����~�~���������z}�]"Ǿ�~��%ם�}Iy�u�����u(�?@<g}E���'~E{a�W�����k��~_3}��̷�k�巯�'��
���oHǣ�a���}��7�j�/O:H��u�|;�zFj���������9��o{R�� �o���R_�-��-�{淴ÖK�]������۽��Vt����HO��X�Ô��s^~;L���,��;��~�y�=d��`������@��[?�orӏ��?2��9��P�v>B?\����#���??=">?�>X͍��O��v�L}R����/��_��Bysү���r���t��W��}�����o��{c�[S9�;�y���_��ُ忓o2��u��v�?��?(W���~��oc�d����|��/����������r��(��(��3�ȉ�n��g���q�_���v��u3���q�nS�<@��w��m�T�C���P��n3�ˏs�~v~{P���X�DZ�
?�>�m�{�_�v.8��5=V(t��	��@��I'��.��OF���(r�@��7��vED>�|�y��z��ȑ��2���vO8��zB�@���o��)lw��n���Os>/:��M�=(�z���n�5RP��eg��_E�]y��ȟ���g�
��;�m����oc@�g����;���	h�ǀ"O����ȁ��"�����|
(�{m�w��"��&~^<����lғ��s%�0����6��n;�m����s9鹿Ÿ#E^N4�	�b����y�(�̙���ܝ�߿<��0�|��t@���O|�?���P�|@�C�g�k�'�s��诲���>��k���H_��"/�|�E��(z��ŵ�*��w�En#o�E��|��ŋ8��/"~(r���l�Cu�Uu��I���u�������/&�;����b���_]L��|1Ǔy	�s.��m�]B�5��t|��W\��]B�<s	��ǾK8���'z��P�Z/@�w����!]-#���{)�K5ߥ�녗������})��y
��3��<���[_�6��/#ͽ��;�&�O6��<X����8(��Z��F���;k�.C�(�|U֫��/�.�|�(�}�E����M���9�6�Gm�xm�Y)�.����G�!���!^��!�v���e?�K:y�.�{|]��.�?�.�we]���啔;�^Iy��J��V@�#G^�z�)�����x���� �t�$�j����~i=��ȗ�4��z�ǩ��^6��R}�:��1����&]w?�]ٜ�����_��z����������g���Ig��g�-�#��}�)��'^����8�*�q�U�oW�/O��|z*���&~k��Ws~��}��j�ÏWS��݀��?E
X>ހ�to��c
�ߟk�y�ր�|���k8����x�\C�:�Z�!P��k9ީ�R�����.�N�`\�`��s�۬?�\O~�v=����Ͼ��D��97P~~�eC����7��j�����Xo����F��5�8�7�����yIc�Y�����ٍ��ot�M�i�,;��8��7�.W�D�䏛���7S������#���y�Մ�_�	�O�&��MH�#���0��M�Μ&��/�P.�u��ع���ܢ[Xn�-��n�<�R�[i������nc�єtS֌�8����f�����^hF</o�66c>l�y��a=��P���!���9���M�C<���N�!>7�����;�9�*�9�ukN}8�9�iFs�Zs���(��a@��OlA��Ԃ�4�����-��m-YOYK���-9o��7�$~w��~�$�,oE�z���ϭ8�n�I���I�#ZS.�n�y�ٚ힛��7ͥ^
精���\�ˎ\��۰7�az�
��tڏ��_mȯ7�F{��6�����ےnn�|���ܖ��ٖ�8��gv;�ۥ�{���iU;��v�~n��tiO�F��������䛳;�.�؁tW(��܁���<ߟ�~��#,�#]�����o�8��o�se=y����~zG�WnG���#�b`G�wlGʉ;r~�i����@G�F>�s}>��$��m�O~���>�O{n~>�f'�k��O:Q�|݉x��3�t�Τ�q�ɧ�t��{M��t���љv̯�9/��p�ʺP>������~��B�<�+��䣞]�w���ϧ�R�-��u�O]����F�؍����r�t�ם㻰;�u��݉��O�w�|N�N:\Н��ӝ|�Ww�ӵ=���{p��{�����lwb�?���i�{��A-w���:w��Vwp^��`�����wp�S� �v���{�/��z���{�?�{���d�>�Iy�5�!�'=i�~'��U�8ߍzq^J{q�S{q����u�]ԗ���y�y�_�n�W�nʛ���8F��~M����(��݀��]�e�Z��
�
�#��
�)>�9>��*���G�����>��>͗�g�u��W����r?��h�}~���-o�r  ?���`����8߷�>��O&��/q~�q~���+���N1�0����WL{aQ1��5A⡉��A�� �kE�v�~��"�����{��?��v�M>9��Y�뻱����Wʓ�>�~��r5��>��>��/���	!�ߙ��?wQ���3�~
�(�=D>�RB�/!>f�p�֕��KX��0��a��t	�.�
S�M��6���/���"����W��_�~x'B�8���zQ�����KYOA_�g`_���}��y}Iok��N���~�K��8J��[��x8J>y"�z_��.ߎ��~��N=9F���Q��#^�)�#�o�8�f���"N}���S✟�q��q�eG���1	������� ��{&8�
�Ih=	�ˎ��c�v�9e��2��W�~�U�qV��z����9e��Ǖ���/�\V��������-B/���)'o�G~���l`u��b@�w�^��I��\O=۟��m�W��q����p�Q�^�{�^ʍ��c�	���7����~�o܍�rp�x��R-}�~������Wr^6T=9�z��A��W�z"�������:����y�e0���`��~�9ϳ�o���ӆ��K����CH?ECHǏ�zf��_�!�o���CLo>����-Jz������F�1x8�?9�t�P߷'�|7�r���	#�75G��`�mFp��M�S#HW;GP�9�t�d$��f$�"2��>=��I��4���b$���N��{��=�a�������Q�OtE:�9��Q4��
�cFqsFQ��1���j�k������Q��#���G	g*\�(�Q���%]�0��l7��Gs��}�h�j4�}�h�y�h�ŗ�i׹�P5C9S>�~�'�P>lC{�1��U�����H����c�W)|�1�ǽ
�~���q����,w��\O?�8�紱�±���c)���z���zv�8��DZg?A�y���;���y����'�eO�?;�P�3��i8��񔏣�S߼:��YӿO<��$���I��ד�˽�$�_��8�N`��'p~�N ��8�&����w�S,�)��?E���Sl糧H��&r�[NT���)��vN�<�3��rh"���D�ճ&�M�ԭ�hg�L"ݶ��|e�(�GLb��'�����ǻ&��~��vN���]4�|�`2�/o2��}2�=j2�&����'&�?�Mf��L�ϞB<^:��x��Yj��)�����O�^�����{�R�
����J�8q�_w�.�h�&�Q�,���_M#?�4����iҷ�i��4�W~���z�a=c�!�'?C�o�3��?�!�_;�x�o:��t��霏W�s��L�|}:��t�[�S��N�zɳ��
��_y������9ڽ��}�s���'=��<��9ϓ�<O:���|�|�{���G�}�v���ǧ�����/�����z��k��ǹ/�?y���"�v��{�ʵE3(�� �����W����3I�ޙ��2}b&�yi&��L�ٓ^�|�D�}�%�k�K���n�,�?u���,�ϝ��:������y�0��E<�E9rh�!s6��U����l�����)��G��f�՚�l�ѷ��ϳ����!�J�O�9ܷ[9���K��7��a.�3��ю*��͞y���~�9o��g��/s|w�LŰ���m�
���_!^�B9Vs������������&/��>���O�ZH~ߺ��|�"�GO@9�{�܇����[���WI�׿�uF�k��
3s~�,��곘��.&~����L�6���%���K8?'/U��R�K���r��]��,%�.�����R�ۑ���i�8���{�e����H'�e�����#�HGS����ejw-���s���r��/�_���ٷ��x�������O]�:�z��_����>�}C��*�W�/�Y�~4���+�G����|h�m��_��������G�����+��7f%���+9��U,���t�y덮"�ݷ��x~�r�*�;�����՜�����Ws���J��Y��լo�jʱOWS������֐^"k��	8C���/x����l�𛜗��R�毥������o�e��ֲ���U�g�5\�t\��c��ֱ��ֱ�]��7�Y�I�w��:k�z�j=ס�n�}u���w�@�����e�q�[�Cӷ8�����oq7�-��1oS_��6�6����ߦ}=�m����^�w�[ߡ\������wHǿ�yf�F�;Sᚍ�ݽ�t�e��5@��&��9�R_>�.�j����e���S�z����q��x�x�r��}�Q�}�)�{��֓> ����<U�g@������ݮ9bw.���v�-ԫ����p�ؑ-�K���_(�J���V��Q�tW�����6m�іm����ȇl'��������(�d޷s߯�Cڷ?�]�#��D}r��w���sw�/�������1��Ǥ��ܿ�k'��;u���]\?�b=�w�N�"f�&\���Z�f���^}}7���&�_����a�Rh����P���C����K{��6��p�󂽔��R���-�K���K?摽��_�r�3��M\�)��������p���>a�”O��c?e�ا�ӗ?�<^���g��?�������x�F�9/���w��n���7�o7|�v
���/��� ���%��@�{��%���ǎ(gK���a�`�U��i�������7�?���~�o8���W��Rn>H��oɯ}K~��-��ɇ8/���!ʣ͇����]%���oN�����������I�u�'�|O������)��l�ݏ���I�?�H:�:�8��#|��׹�DB��h_T����*��3���{�8��q��������4��g������r��,�O�ǐ?����|~�'������b�������kO@��@��J�S�����"�^4��<�,#��u8���A@��/3��ŏ��؝��e���D�@s�W&�i��c3]�;.���ɀ=ſ(�hv|��{?���w~.��	���3�|�(r촓2]��v���?9�ȁ�'�7����"��|���=&�0�ȗC���N9��\q
��<w������=�xp*��o@��7��a�a�+d�\<��_pF��y�i(r�(v�(@�C��_9�����#o����f��G[�d�&g��ܳ8��g��2@�C��&�0�������Ʈ+�8��g����0r�1@�������,@�g���zZ�����;�t��c<����3�~9���~�P��(@Y篼�x�P��3�t���|A��9e��6��|��_��Ye�y�E�K@�{�E�����r�"�鏋��S���+����(������Wg{��]�eu���I�]L<5{�.@Y�/�|}x1��)���?/&]��$���8�˲�;��a��E_N򰽅���6{�/�{(z_�a�M������0������e�:����(~�C��
kf}�~M���5����0v^�Z�[_@�wkq_�ra-�'�,�
ʉ��o���
��ڤ�/E�5�C�Ee��x��u�E���O���s/�%~�;�+9/����J���+9�_I>��J�	Y��
�g���eq|�Θ	(v�\@�+e��O��<�ۿ���� rE�3�Io'�E��۠/:��pU��$���X��i߿�Er�������� �nd#��u�#�'�Wg�Y��j|��>��Y�	��6��]�{�û����Q�V��'����R��t��Q���;�J�
榱k/D��$�k|� �\��[��#�q���‹Q���%�>"���s5�6�m�<3��QG5}���5�~��w�B-�[�c-�9]߯V|5w��*|�xr݆:fg�����]2$��u�L\*z�_���n�'���ZF�Cl��n�9������S���+��_��En磾O���:��$~�v~j;�H�2x/�����4ͳP|�:��Ȼ7��oմ���2ϡ�_�U����~#��$8��=���mH�pҿ��X<7\����7Ho��l���w�?�7a�i��.Z���󕖎�t�����0U\}�k�|ͪ��橃�Hk�c9���y�~-��Z*���v�ԑ�-��պ�F\�o��~���8y��<b݅�m�?M�@h93��Oe��V�tYG�'�;���o�����-#w|�z��@���}+�WhIdރ�5A�
({]Z�#���^P<N��y����StL?[��n�'�W:��M<�B��Z�\׾j<��㹓�A�r�v�g5����qr|[�e:���cm���
:�k����7_�D���"�4m�
�{G�/��Ȫjr��Qt`ā+�˻"�v����h�	N�ާ��}^�����d8��yN�ϯi+���w��Z��z	iO�wY�<�B�w���m<�� �g��PQ�w�2���E��~�9�E�����
���D�*�Ư��/k�\���o%~�ϝ�ۧyoA���xNv
��q�k&�G�.�����������}���g��s���b�>=5������yZ�K�D헬�:��G?�G�3�r�����5�)}r�r��&1��s�|���Ķ�q�ᘋ��<'���d�
�e;�>i�E�V�4��
�OƯ�m��r]�8�'��s��7�_&ri?k}cp6��WX�w״���\�yi�k�3Q�;��Aa���똗��i��.�T�r;�-��89�wȿ�n���kK����C| 3d}��Y�e��}��Q6��oE����x���2<�]�c�x3~���$��
��Z��x�	���-��nt�7�xy�D�cy�:�/�����?@֨���v���Z�w/�D�0׍7��x�)����x~�
q���6����}?��!�������>L�wb3j�j����GA��ؑ�=���.���y�m7���I�|��ͳ��?�����~���j�x����؀<������&o�jV��/H�yVd�H؂�x�8��fZ����v��q-������o���F!�|�V��"�;����<^M���dͣ���|��_4��+��m��J��9�vޛ"=���3Wdk&�Y���^х���s<w�����({��g_��z�Fڋi���2�G��گ�x�<��|���(�~���!�iu��=<?��/�u7�Z�g����A����{��Pѭ��-��ʼ�|[�{ϵ���ϥz&π��hw�б��5�!��t����k�T]�u�X�ߛ���}X�g��[v����2�<)q	b??�Bz�$^n9�^�ƻ�T������'��0~Y�Vh�F|{Ud��'�����~���H;C�iQ~~Se}��;��;p��Z�����WE�	�(�k���o7��]|xޫm?���Ğ|_��A�r_�岆zl��˪7���ߏ��	�d�L����7!�ֹ���]Qv��s��1<�q����m�f@_��L�O/v��Y�BZ/���"��!�7�7�y_�F�_������o�$~y�� ��B�E�7��It%���PSI>���u�aY[��CZ.~�⽙�%���i&��[�E�H�p���5���_T���@�F|#bs�[em��HVd�J����:V㽩We��z�v�ߋ���!����G?��z���/�lF�N�l�D�7��/��	�x'��[��/��r�YoY�h_Z!�||�MbTo|�g�#>�	%n�nG�Z�5���E�c�s�/^�w(|�yB(/{i��
��	�����!}��ˑ�.Y�!�~5�j��c،�V�xW��G����iZ�>-�6҇�yZ�~/;&-m�؂b���Ek"os�}��<�������x[�>������F��4y~��L�AxJld��@ےx���@z��a<�>�����)�Zle����?�����B��e��e�#�
�xٌ�[Q�q(3�)��R��v���i���>�%�i�~�{5�o��/��yė8�K�=����A۟�x���#2y�EK�#���OH��p󞋃Z�s7�I鍼n�bڇ�}}\�9f�d=%���N�/ob�u�Ÿd틺�~�N�\���lq�^d&~;�{O֋����ۀ��	�����а��a���N��Z�Ot���;ɜ�c��b��:�>X���X�F�:�����\�_�;�y��b<�y���9b�k���E|W���,�� �8<?*>NG�oL|m�L��*���H?W|3b7�����iKe����x>��3H{I�s�o���l�����Z���n�I,�&G��EY����@1��Lޏu��w�u�c{Ra�?�1�x�^q���w:D}���ߣ�'��!>8��mO�&�#d��� ~7T�1�u��o�R�=.����ɻj���/��n�is�U�-�#ͳ��V��4�)Zw=���9F������ZK�B93��U�M(�'����u�O������\�u�ٖ�;����E�N��_��&Yw��r�_� d�L�e�Ψ��\*v�����
oɞ�]�s-߈��*��������=��3
���#bKd�~��s:/�\�-���gg�?�����N�C��b� �?�K��������g���<���I�������sb�d�.��;���w�.�F��:���=�m��t=��\��:�����m�� ��“b�ɼ8�?.~s����3��c�|+�x��]���� �y�eh�O��沿��#�V���q˞;�_�ƻ�Z��;�g���d���w��]5�]翀��勅vdݼl����/�v��G<�boQ�U��1O�5��`<PR;V�N�y
��@�
�=���o"��ki(Q���@4���9�F~Oa$�Q�/��٦Hۀ7���D��U��)�$�4	v�~OI0���O�{,��x�yZ��Ҵ�H/=�H=��@vJjy4�S���D��`�
�x���d4�HII ��M��D,�)x�hc��>9�X ��<�<���xb�2�a4x	׋��K�H�]��|�X̓��n�z���›k�j\6��'�{
��Ľ�P��&4�,t�)t�ĽѢ@��w���>5�$J�޸�\Je�n*m�
xc���
���>�8���B�r�/�nj��|(`���!R�5��~i�GWSO^
z��B�� �v�>L��S^{�F����4�ǤB�]��e�t�Nm�֫К?�CO1Ȉ�1��W�,^_�D��
 �$�䢍���qIj�%��2[M�4��ɑ:�
WӼ\WS�;���,O͙�ɋF�_���t�+
H��#2�VQo���n�xC�
OG�GQX�45�bu�2/WS���.�I�|d���0&5�y{O�m�w��Ă%��U��B_�P0�SQ�"drv�x�z�W�k�@=��ܦ~p�'7��!���$�������v�$y�I&瓒�%��e��P��S"WR�p�(�7x��snN�/Ih�,T{E�M��h�e8%X3f>f�,�V0���
O�1� �-M�4`O��vA8�{�&��!ÏBΞ�@ʂ�2����E㨦�H�4X쇂^#P*�� /:U�f�Ga)��9�e�Ap���1O1t
^�ݨ�N��Bz��y�/�D�(�<캡?�Лi+��c�	��O^$�y��&K�[�w�E�!�AZB;y1O�H8�)�C�p��Ay 
�*�QLvXE9�j4R"xF=Q�%�� ρ�B��
�#
�:Oi4�O��@��9X����������x���X��6�	{C�����$ �_���2���	��7���=�E�ᣑz��
��JK�2e�
�:�ew	tZ���X,U��x((
#3�#��*$�“gR\M1 lO,5=�C��!O 81�p��F�n����0��!-�<��R�П)DB
������ՀG2I(�IҸ0rR�����J"e(e8�߷/8��^c��5+J�G������p$����{D6
F
����	�W�D���F!݅���y�[(�(��kb��DƼDf��~g�P��#�AIZ�RbhB/��DS�T���b?x��B�Ʉ�0���z(��R��S�e�(���1�TFY?bր�˂^��}�W��0�(��5&�A�����ΥEQ裴�@X�/O����8u���L/��ݢ?�K@)š¾P�L);K���i=���"��XD���DG�������<֤�Я�kԏ=�*�SZ���Bb�iҧ!�e�UQ���ԙf2O�H
�B��Pc��[Ȧ9�j����K�B�����h�f_ĪjF���/Z�>5ȼ"�\P"�L,��j �	:�#!?�f�4�i��$mHUIb� S��鄜���d?A9�=�����a)պ��Z2�22�m))�Ղ�R��H�K��2J"��–�q��Y�:-Hř����R�
�5�2O�)�!�*�Y]�EH9J�h7zE���ٞNXƈ�M_�@�'|��J9�Jx1CA�0ۤ+��+�7J�s*j�Z���BY�_�*<MiJ�Ë�>���v�����T��Oă�5�Q<d��
m_,J$E�T�Ҏ��^�0AY�Dr��^O��"|^��b����-J�(�,��h[���G(��#a! jٞ�B��"�w�4]�$Y:�F�������lʺ��y�y�cR�__[��ò��l-o6%Yk�:631F��yK`ga�\���6�%�
MB�f)�(��Y�[M�����
���\�N��2��e]����u���=\�4�F���#l�$5	��N0��ѶIn��S�HQQ�_w�%�!)y�`�,��H�@_:����u����Y��k^=�e}���}	Xf�0�@�8	%�q��9��:���VP��!O��l6Ö@�ٟ�V/=�C1��ь�`(.�w"��"?��d
�����L5���'_li��T�x�D�<��g,at���
�>L�l���# <���iޓ1�sD���e�~[��U�\\8䜺����^�_�YV�ߘ
h��Dۖ�mt��^J_Sc��<^C���@�0�6�*�KI�G�*}�\����#�#��4
�*�,
 �S��eI��]f=�cF�r������TS:�z:�u)�4���"���c��,N~�DK�U|)Œ�WY���d�EeAc�8>`�qM"KIO�7;=�ͨ���[j��mU~��]Ut�Tj�T�b�kA�Se�~��z��U�^u5U໪l��2K�+u3�M�&��[Q;V'K5�Y��A$[�<��a�-m֎�9e�6S�TT��d�>�bq~�]zU|3��*�;'WIU|5�1�-����K�ŜH���f3�E��Q����Drua>Ƹ�7�\D(nm��grQEVy��Aչ�� ������b�&C�ZI)��R0Ҩ05
XN�'I���V$�b0t|��\=�2(��\�����%�8�D 4K#�	�u�0
D��w�u(�E��HD�ž�K�F�P}ܘ��9�C{��#&�f���&���L���m��
�J���^8ij��z���
��,*�����#ɔ1�"���]��8��pqYv�M������3��e�mg�9AL;�7�	 tT�W�Lvr�4K��b/f(�dT��vc{-_��X����T\���.6�~u�$G��a�0+q�G@/�ҙn6�ʽ1�H�bZ~�}a�W�;�T>�A�T���ֻ�e�>�;(�LLn8i��J!w2�R͞@{oI�z��怱����J�2�$B~c�@��b�pT$zm�R!8\jX��+�=�Y?@�ϖ
��~]���!fy�/5�B>��9&q�Ӵ,p�ǪB��r�|X#�m�DX,e  ē[H?��+�x	za��䏑nⲋĬ{0}�52�[�:�b��34b��}Ĵ
� �`W
����5z&��	��U�A�\�z���'��]H����~�ڣbw����7I��d���
�$��b�*�!����f��.�C�-
v��3f�QJ���=̱��ڟ-�n�0� kA>�"����bJR�q����*	�$��g#Wт��m?iZ�̤v&�I���R�����m`�	G@��STΒLł�$j
��AI�V̑������=�H��k� ϒv�$�Q�����O���V�Xk�|b����sg���批od��jܟ)/��0%1݅�j�
��
�&^A���d9"nY��޳�&��%�$J&t2^��"��T�:
$�H���<�6l��ƥ�t|b�R
E�ցP��
��V6J�gHL>%1�Wn.ٮ�v�[URn�N23���[K�x�#��k��ܺS�<���?P9G��޲��6�����yQ�>逴�p	[��q58d�_�_�##�)����
U�{��B�)�Z��D��[��Am"�l!]
�XZ��V��>i��x�r��8f�1�Iק����	�@N��nh�-�Ja�D�!�Z�6���8���%��b�f�}u����c�Ő��z1_Tv���+
�&��MC�/�jI3N{��r�D
�؟<r�P�p
/��~��{��ZŊ��찖��b��H��a-b��ڛ�f]����[���P(��^ݰ_w�-�l���`il)5�^;Pm�ۿ��9@j��ث�	@4c�Rk-qV�Z�Q��TR��
z[B��F�U�hh�����&��ʡ�ot�I<�QVr��s҉Tc4km�$�-j�5ݥd���[Y6�%x�ө�T�1+~�6���lO')/\"!�����V�
��o"�f	m��7�o�U�h�捀I1�;��]�BG�drL�.����w���i�ܖ���(��`k�*3pG*���'����pQ��‚&�H���+�$�˚V���`UEfH���`�����D��U��@�J{O�5��ni��ۖ����K��1J���7=4Rz�lA5-2v��l0�����ei�Hy�l#kH_2��Ξ�Bȩ�ٕ���u���ƕ$+��Q̛sخ����0#1�h+hy�20F�hZ7j�f$�!YE�[��Kv	�"
p����!,�-Pb4)
��7��Hy1𯼖�\3�Q�2.x�|���JaRR �ɀ��^d�,K����ő1�v!kY�{��2��K��CYv�Q�cSTT�DTx�*�VF����6ȋ��##��b���)��q�c%��4W�qLWA"n\�bq�$d��fhm��̈́<M�~�b�ɆH��`�U��6Y���4-�C+|t�w��[�T
��+��Mc�0��bG��,a���N1B�h(���Y�ˍ�d���]�[&JLt�,����L��� �nQ�a,�D�Z[�
�*P��G����I5���'e��r�3��c�:�3\��p��ưB��@����+b�O��4s�&$�H
�=���P����[�)����J�"4l}¶�kfY��=���L#bh��܇j	���F���[�b��Z��ò��GTZ7��h܊�����>�!�U~6QU~I6g}�6��&�+��V
�F��[ΰ�|7��^�"�Z��ЭG#�@�
�E�Q���Hs%qgb��
Ԇ�*0@K]d;�νt����JcP,���ј|X�XCK�u�X.*��G�(����%ɿk�OЄf�n���&��a��p-q�2L�Q,a=69�']�,"���$$�o7a?�c���RZb4{j�|F�/f�R�����H��v�LE���b*&�Yv���f*���xgF�k���j�)$�������i�/iCh��:�S�,����3��C�~���S㵵�B��^n!�fK���5��rDF�R�$��Y�Ь��V<��:ӣ
\�^S3��V2%����)!j�C�V*B��
.�#����"ay���i�0�cb!T���H�l�-�J;e���ў��U�(;g�
����VwҙH���Y�ªahV� 3�1��pڞLH�88�E�����j)k��I1�Y�$)M�]>Vg�W��ⓘ2�FwUr��J	I�
�H
�#:��}�-'����‡�7o��,��+ܹ��ֱPpA��V���O�����AW+�x������[$��&��* ���ݜ�0;S�*<��S�H�@����V!����n@~�ύ��H��c�^Y�#�l2E9M�:�nj�2#�e��%>:j��K}�IZ��e�y��0hxf5�4�t]$eo�֦�d�9��"�9
m�7��O:>I7+U�'M�U���&���mxw�pf#���@��
�1I�&�$N?�~�X/�lS?MW+�>�'���u������f4��hBE��8�Ru��t*��:(�}
�-+�O1y-l����@�%1̳��Bs�*[������%O9xҿO�稼��[�I'��g\�Z���Mq��&\
���%}�An�R}�i�>\,82G���
�0s�0����4'��&�#P��-L�fq�hN�Yi�mn".���s�
c,5C���D�[U���`!u�zy�))��+!T&�+=v��^1��>�fꌙ}�-[�S)��<%�[��dwH���e\�ei��B�++���rv��0bOC��u��D�ʠB&�PT,�Ȧ%@[#�s�`��Z1����(*<b�&T��h�����	�}ϔ�v���Y֨l�3Ghn0��X�J�j��Zj�f�U��^8`
D�J��rM,���~!3g�N��6R�e���l֐���	c��`;���wҮ6d"7�l���G�9)YjĠ��Veϒ�r�$xT�,R�a�ָ�Q��O�M�;kS�N��խ�e]sU��R,f��KzlL�t(
�m��J��� ���u�N��f�45�B��h��%I�v^4y:�,���@*��4�=%����jM�T��X�9Vφ��V�V0�Y9��#yMQ�Y��r�Q�A�i�Ɇ3t �$���'���|�а�R״,Լb~h�f��:gD@�8ی�< n�z��t#�ƭ#j^O1݌=��#��d�i��Z�J��� .��h�5[�̸�U�b-Z��zNA.g:��/��7��І�$�A���,ĺ"�R�l%�;�!�p��R$�:h��d��O�T�Y�99;�4�]9��xmu=h�\7�ɛ\r�ʹ��5�zRE�$!9�6�lS'd��&K��ZR�m������c�x��c4������w�����qq�(7���n���V���Ī��[�ԩ��*������gX.�n�x6��D*��8ey�7J�G�Dq��-QvVz2��[����S�)�LO�ܒ�ԗ�,LF,���k�8���8��>R��;f�;�4�u��B��a���/T�O��6Ww���Oc�|)�Z�l��3���c�:�Nj�&L)I��	�#;���,�u�J�tv�VF�OM�-�͖��w�r���6*d����LKhZ��[%yZ�٘��sl�pP��Ӑ�
�eśI����z��u��l�h�=���d���&�9`��gJZ���HL���2��I�
�"*��V�&�	�β�D��UjN���R�P��6�8��Dy��g���:ē]��mR���c�Q7��0���a��<
����	�~inr�a,��^���:ݔk���O�
Y�,��y�Dž�1���(��>R�g��øs��G��*ۀL��&a*il���WϵO��,?s24@_�,]�q[n����^�J]�'�K���B$\��+I�8���O��	�1v���
8s٤egARߣ�.I�����c2<��Kic5k�8i&f����jp��!��J�FL6cA�zRR(,,*=������H��+Ll�1��D0�
����tO�`>w6��t��l�.�h�ISXhI3L��l�g�i��_��O�W|41u�E�L�Qd�I%��I	�����^�
xl�1��0zOx���O�9�rL}��fc���7
���&,�,bF���}��u\��(�1�ΰr7>jG�Jd�v4\�j+G���B�tَ�)��H"�BFI����,cӛ���kU��]�0���z)�٠lj��Q)�9�=�97U�	To������u�����0f�CaV��3o����|�!�7ۉ��`����7srA7P���7�`�%j
Ͷ��c3ˇH��+ƞ�3;6=S�Wc��sޔC����s���eɄ���d��P�^�T���2KKRe���=��(��#Ӕ�$2#�&�OA�C��`zd��rOՑ�c�wI��(��)1@擉����ϋ������j)xs?�`b��l��6Jh��-%b%��I��)1��i�*UԒDBE��2�x��fSvm*��M~jX�����~�-�gũ��U���a�Xذ.�����[Qv��c1T��,=�:=n�Ė����
:�ʹ4J?==L^�KjL9W��*mߥg�b՝������琞-�?Vd;w+}9j��07��Q�)	D�UJ77�ٻ��>��W�-�̷T1�M�8Dt�7*����!�W�X�.��^5h��1�lN$3�C��ףౣqS::|��X�gq	���Nb2��쇮A���
J|CrO��(T��B9	�DXۡF��+��(T�t�˔0�X�v3��2{֎o��K_�42M[V��G��V�����a�HJR�*u�A�F��_2�^�l٭�	K(�\�P��K�q�&��⒋A�x)��*��i����l`H02�Z�%��o0�\r\��7��ia�<H�g��3Nv*�&��VHL��@�s��Л��j���G��n�GВY����l�Z7�X�m�(�*!�L��Hв�v�Z�(|=�I���4��:�cl�v�Ƥ�R��Åd	䕈��%�X٬ f����J0w.��w����8ͨa\_�p��!�,��)/5~��d(�a��uI��]M� ,�z̈́H3t!7����L*�����M_�OY�,���nVJJk{�������j�\I��$'�����=[�O4�d��0��s��8��g�H�qW����R�����rv�}�qW�}�~R�%�e�fq�sD��ǬɀXGִ ��;C&��4�7���M�@\��z�
Ɯ1
��8�l!λ����ώVY�?f��V��)sj���L&�>vYɉ���[��&.��Ā��vho��z倾Rx�8���|5�Q��F�?�P���R�*��lX�>��a1sy��*���z����O�,c���"�g���bBٮ-[�:�wu��Y6`�,p�#]6��A_�Z�X��:�x<Q�J:�KR�j�Q��mp��K^:k���f/�lu:�l��yC��RY��Yeө��!��I�n�moI�1K�יJ�X�J����.7l�%�u/�u&��k�p���Ux24�x��ܶ@�3?�bfk&k�,Tc��l�zrL�Y֕#F�jy��о(��dK��i@3E&.�� ̎��c����G�5���9���H¬-@I�	a��������	�W�8�_+>a�f�M;{���Pj��J|��S}̊^�ٗ9I.����=WޤP�>lJ�,��|4�PP�8;��6�I�H�"��~����;�M��iX~���I&���zi��Һ�;9���X��B�mN��fVHGcxΜ��x�����-�ɽ]{l���-��^&l?�$L5.a��įz�8^1�x�
��H��%�<�f�=�gR�ɆYmپ��Lz��9�	���� !�ߐ��:7o�	���hwy��gyM���4���y����=�J���`���we����6�O,�<C>y�hF��L�B���E#eA?w{�L�rt�~0�(~D��S[�*fk�LjAv8��M�@�h�ȫuF$���m��+��Ze!�ō�bh��6�b���"��TF��y+d����V��7�� ��@2@���1�����em�2�~����d���S���,iʸ�H�+�9Ls�4���
�O�X�Aj�W��.$�H���+"������T��1=1��H)%Y,#�]D�rX��BCEs���CqWa�t)I:j��&h�c)�E�(��h)�Ž��`#�ʽ�0o�f\C \�(�]Jb�jQ/�޺��r�"b�3,��]�	��C��;`�1OS]zy�]��ַ�q+�C�eW8�w�;ϭ>$�7�1|˵�<//�[�TخB!�@�R�[�R�����R�A+���&`��E���F��K���wI�َ�xD]v�@ʕ'��<�����e�snsŽ�uxy�^���Hލb��KM�r�Ԭp5v���=U;fKI�$һ��80Af�^�.��W6�O�Z�gjiӴ}��|��}�
�*�.f�˸��z�ݰr6���m�ɳ<��������R=�,�$S���e�R[�n��L�.�o�gi�I;�:�_ �i�l��E��K�k\=�g	�dH��/R�}���8KxѢ�����։3�`\�����|Y����	d�\�2�g�ר�t�Av��/35;]���!��>v�����~ss��_.L3���썙�ϖr��9%��[�}� �1�x"-�Z��rC�u�Qx���=������g2�6�NU���Ջm\)ܤ��y��J�9s��G����9x��)S�Q�����í��8im�O'��2"4�7�����*d_olV)G�����$/��;���K���(GH#u������5n�r8e%��s':��K?y����p}���cI=�Z�Ȑ�C��LlV����x�ǩ5!y��&�5��Lj�+�Ѻ�zȳ}9�"���eVHΜ�-�
K��ܩc�N)Pa�j���7��yƢ�'�]���T�$�9Ը9Wٖw/��TJEX)�D�˥i��Oޘ_)����{p�? �ظ�[�X�7�����m�@�Y0�h�V�%)�?� �I�@p�'�%�!Pʠ���/w�W{9���И����h��_��R�پ`�JB�ͅ�EV��[czI��cq��e!�WC�^����������K��S��+���?T�*�����j����b��J�I�2N���nf��6w�װ���)5��ƞ
^u�}��vC�YUG�r]f?�W|�io)�P��=i��m�٧ZId��mw:U諲�䧾ڇ�L�Yjr�:Jtx���{$�b�Z�@_�����>3��i��a��+�s8�k�5HU%r���m͖�[�Dz�仫���nO�����vL��Rˈ��K1��h�.��,&V4�p;;��x��/H����U���o�a�խ�X�Y�`Д��+��z���1т��v�����zR�s�H�Õ���`�>V�'�x2%�IF�h�GG+8�����3�=�qi�p�i���j�^����y���"3⮊B�y���W�vT�VU�Hk��gA�_��(B�4m����e���qUn`U��1��q����i�(�RYj�E�ɞ�b>��.���*�=�X���w!o����IZ{�WZ�݊0��"�&��)��J��.�j�k�s:N����y�I�DZJ{��Hʓ!��:Y���г&��hx�
���y�_��A�Y�cJ̛��	���0V|�Imi�|�VE�B+�uX���Ł�Y ^.�Wv���io�ut!ۂǺP����e����/�?��[�M���/�[���#_xr�ʮ��fn_���Z&۾�FR�og�+�!u�N?I/n���1e��,���q9q��R4߾M�6��'�ޢ�yQCw���h�.�+7ޑnS�\�?�	����V(�n�FĻi�9�l����ʖ��`
*jX���dAW���ڷ�9B�c��c�;��\@ w֙H�bFʗ���K=:dz�z��Q=�*��>φ�5��>r���t�������˄�l�Y����Y=�I��G��>*��bA����q�_OPc�%�g�.����q��E��*?O�?��'�b�o7.�o�ȗ;"��q�8�N�F�%}�Z ��u���`�)���X��̰��~O�<�_�HV��[��s��UX��}�D��P��[�ͳ���5��
��X;V��]Yr�\4�O� csX�4�C��?
�L�B�a�����-•4d�8X�=ź�8�m����s�+��
��uw�prIg�����m�N�niXtdF�����]���Զ��(�o3��-������{�D�~�ŷ���F��j�W���:N�H[����g�qk��NڮS��W�𯉛ӱ�R��y߽,��W�J���WBt�����3��>u�e��GY�v�_gӽ�J�����4~͟�J�d�����Ƀj.��t�.;�Y�X��)�	��UPd�2B��$��dY��ʬb�l��UNFFD��g]V
�Zh��AА���I�z�y����9f��=����/@�+�/���f���;��8gf��Zh��ߤ���'?�jw�λ����$%Y��\
��[U�
c�aѼ�8�1�A��*��,Q�(:��
�Ҩz�G�5IȐ�se2�*,��S�<5�z`�G��/��~ztnD�&�7�і�+WK�Ux7�����O�=����j2���<B�a��>�=ˁ�G�^G�?:��dmd[���U4I�hh(Rg�J�gNJ�6��9����D�Xʙ�(��Bbd<`���{Ĭ���f��F�ܳ���Ih]�~���Z�w�/�m��ۆ�N�46��p�$O��W_)6��&R�h���2MihK���<�)�{m!ߘ�
d^�-1<�_j	��\��4��M��67]%C7��A����^��#�BQ�}
��+�{ʁ��A���Qz]IX��3���x[2����,�PQ�d28sq���>ɂ���*�|Ӿ��p���L���'���/*
�狖YY2�-�ј��9�)wd�gn�R�hP�|w�5��+�z�3$�_+�8�b~:9{]m�X��b�eq��^�@!zK����f��F|g�A�#d?��;��qG�(9��陞R�y	�������-�Q�.n��D�Vڡ"�"��X�G՚��&H9�F��)�U44�[��bW3DU��z�`r.��yx�ׄA��ж�A
c%?
�ϥ3)�f{�H΃�&���)�1N�R�&�<ȹ��,��@�E��1��-P��n���%H�$�7=����H�&/��K�	.U�Չ��ZO���m�&tﳣ?<{ߟ���֍�]R��F"�+oN�`YT�/m)[�q2�	ay�ܵ&��8���s�6o��
�ZsU��`������߮#�z)��y�E��R
��%_��dt��q�`<���1+�~s{�jE�ô����+479mPP�_M�����F��YM��~yt��,K���`����k>j��㚚�GSy��0�l���.��5V��W��s�z^Jx�H*0F�$X�;���a_{���E�7c�C�D��#�Ǡ"�j�i��zY��O�b���ە�Qw�Q�ڛd���گ�膅�u�-٫�mu����Z���[n*+�T����t1ƥO�]H�e�ճ�#d�sZ���u��+�)�"��`(������rv���U7��57�����~K�)���E��s����Q��A�v�=BÁ������.*�3Nh�^��i�vr<B��R�{�0��!TIj�鉭�3L����a��1�R�NS41�vo��x�"������c�y%�y�%�/���s%�h6�䋍�j�k{�X�T�0���=Щ�S,�%^�sG��ti�O&a�+׭s�)�=֊|zu��WpY���]�o�K^	Q�dZ�W�ӥ�ʤ0`g��a��"y@U{U��c���N:����ƅBz�:z�h�$�	z-r�*�Y�͐B'�U��E
��B�aύ_^�q�)��?��C
/n�h��W��T�)n[p�Q�@�?y~r~|v|~�@���m���ۉ�5*���Qj�R�PRE����,����GvgW�6^zny�ȋ�M��#��o�9��>�o����pJ�F-��RƧ��/�>:z<}~v��l��ӓ?��L��G2JMg�3u氃�%sZ�'h^F�#&�OcLNvi�[��^��7�i�0�CV����̗
��t��X��0.RBМ�A6�6ؐ������b[E^$My��2�������=�j$���w>r�(��,$)?�-����O��A�M?=g�
u��m��>x�Ϻ8R�0hX�|�j.D%y��3`S#㍶���Ľ�4=M���g��O&g]&K�3Dyk–�A��_3���ώ�>0P`'�J��@1%�m��nQ������0�Ô�D����Yչ�a�R�.N2�)(u�GЀ��|��;	���>��������/KK+�1�Rjݏ����Ì��3���^Ĵ�� ��t��`5&=X��e�!]1�ʄ[	�F	7Z�g�ⅾy�����(KW�
�-4]�qQ���x^�(�nR��^��9/��5^M#!	N�#��T�xԶmӁ!Cr�P���gH�2���G��S�`�aHө���[/�IS��ծ�����g�4ջ�n�!3�R�F����Vb���Y��0�A��dC�D�VL[ӛ�n��^��e�ӄe�"D���ӽXeLd�8\�J��<(z�*��0j������罄Ƒ�����Y�x��k	�4J���.��?���Hj��8k�e}K�b��Rؼ�S�.A���Ouؼ�y<2?��k䧃�c#H��)7�*,�FŊ���E��nW��~O\��uR^�<ӎL�O)�J�W��wam�`w�c�m�؇�ϥ���怠��2�;ƋG�b$�E�qx��>.{MG�u7R�
��b�
�\�<7.Lz 	<ԝ0���)=K5Y�UQc�k��%_�Ka^un��A}!�	TZ�EЊ�Ye�Y�A�mڹ�
d�$�ˤ�Xx��	26�YԞ�a�Ҩ~N�G,�7l�~�
ȃ�J�����f�^�I��aaGFpt�'}��&��t�͏�9R@\�șw���j�����q�kw�03R�p�\���Al2
����C)�eM�	�H� :�卑ϒ��uP�K��g<,�U�\�v�2�o�^f�$X����;��O�wL��>�H�	��h¢]����E��8z���ώ�~
5MP=(q;��8y z���"��w�8��	�c�w��O�$�\K�$���P��M4����ق�	|v��HSY�ͭ��+�,�&���!�9s��$��:�Mh��m%�3�NKL~S�oe�)������G�E���u�o��K��a,�f�y8c�i����/�n$`ּ�7Ab6;��Y�x@�W��0����gz&qs��eȲ��Ee�`A3-�'�w��X5�njR����O��o'�5���8YrڨR*�B�J��2���{�V��d�xt�_QV�nNJ�f�"BL\�^��.�zV3�j���RN�B�_'`��Jq�(ִٙ�р���������a��cI����;��|�B�&�|����;8�֩�����|ҌG4�E���I����h���3�2�ؔx��Y	6�Bex�?;��GX��.�Ke�QM�p�4�dh���Zi�^7z�	�qT)��1�ΤX�O�t6�m>~�(�9-,���!qI-g�'W��` m�j��uu�:���Ī�n�9���/=�f�xo�2
��G�z�4�4�[)l�}p�*�p���R�-1�S�T�D$�Ik=�1�&f��@Q5�l��f�����[�D�l�о0�i9��	�\�D�歲�Sq/�^�qܪ���F���qm�5���Y�MK��O>Q,�+�Mp���
x���
S�V6�"�jg
��e��'�a
�8Ai�Vn�Z�;=V���7������JyD���v������Y�vrކ
�F�n]�����8Y;���zk�J:ׁ���2B����
���'��S��!j<$1L��@�!C�Pral�:v(�+V���[4��McI�� �Z��~�n1{f�̳>J����m��n�~�����+���>\k4<�y"�)ΰR=�d��
8���]�se&
��2U��ZkW�����|_G:�G%�̂�������j��l�H!�H�O�Q�q1�́`m_m4U�u�,I�b*�H�G�~-6�T����>�Y���CA���xV�a��.�]&���J�'�j���>H�=h��kK	)`[KU���<��!��yV����|s�rD�y6�Q�ACf�?Q�v-N���C���[fӊ`+���R>7��=��$6���L$�_3�>O�b���sK2�E�_�Fdk�����h()ߣ$*�B�x�75����޽3
���t<�iu�T�3�L��33���\1�r�g�.��%֧C��Bb�IV����6G��[��9�.!R*�Eؘ���֔�����6��p����'O�܅�:�W�h����珵W�5ӕ�_j����
M�
�(qk8"�yIrI�;e��]�S��a'��U�E��QC�s���כ][_�qFi�ؙ�B���w����܌�N�*0�:�^�Ydؿ�z��Uu��.��8���k��C���{���	�a�^�g��z�}�N� ǀ?���-�<�:�oqíV�z����:A�G��f��x{dF2<c)��o!L��7���4��)~Sd��"����$B�9@��</�����������6��˖Q��3-��o�3�9�"�ohB��5Q��m�"��1��I��;|���Ԡ�&�������bP��݄�U��#�>�R�v��W����c�����p��#���VnxaW�&�W8f,��_��9�z&:HLS���|��᳧�O?�?"0��2�&d����u�US�R8�L>+�� �2��i�}�kLjq4S�KI�G$y>}�������IX=/IЭW��T�v�S�֋-‡��,y��YaS��T�e�%b��`M��Z����{؆yA�+��^-6��KI�_jL����Ӂ��$�8r��*>�3}�t���� �Ւk�>�:�u)5�鴑Kq�\����r����9[#�[�c��M��7s����8x_�י��V]�#���ɣv9`Di��u�s����p?DEj��)M�S��K�a��G����|�1�Ioۉ���mV�&1gL$���Gл��D��T��A�r�3Ǒ��-�Kx���T���K�T�����f�+��#'�WIq(M�_���ؓ�ew��G;�d3|�CAL��͆��v��dҔIkz�#1��y���&;�t�y�_n��h�qPN����B�3����G��7BZ���-g��]E'~i~�b����)gW���!�	�ꦄ/��f:�Wv�&�@<#��A�e��H�ST�L����K���]_l�S���3���U��]�
]S�vLBH���݁$�U�$1�9��q�0�4L;���ASH�[����J�w�lf��P���I�I�W���ϴ>���$���d��S�I �ɶ���-�B��B���|G��'Ю��(U������J73<����`lF�W���,G)t1t����Wѯ)�p��k|�Z�.*Kg����8\�W��t�ϳӜ�Df�@�$����;_F�I̽]�Z����-W��_�1τ�-Cpm4V��H�/+o��W���:X��r�<[9�����C�#tَ:K�o`�]��H� ӆ�9>�n�~w��"����?��?��1�ȗt��i�4���RYM/�b�а��x�1���s����Oa���:I��w��FO��a�ɫ�n�}����ׯ�+	���4���3�{(HYn>D��h���qNf��X�uۼ��)��`��t%�8�պ�yRnw��Q�%p�%�"R�0�^�l&�L�Ad���f=���D� ���
���
�a���F�@�4FY�O;o�E�Xw�^����*�){�ŁѤ����~�a����_��_~��o?��ɓ�'G��h��?y$�`D�(͛�CV�Gj0���}~����u���ۃ��YC��h��f����c;tM�[��~���ʟ�����?Ě�M?]mv���j��?9	Vk���'������e�d(#߸t��<�t���u?<��$,Qpz}��7�������wp!�J���trs��l�ԛex��J����,�z�b��������kX��*�ca�p����iP���p��P"��?x(�i�-�D���\
�^�6��̡��mECٳ�_���Nr]8I��Nu��<$���
o���Mتo��k5k��;���no�{���k��x��=��Aj��y0�pї����p��x���&��o�髶�����y~���F�}
S��W�}�7�߅%;M�����T$��~���/V��~w�nx��o�_� ��Wv6�O~��݋�{X�nZ�+�J��%��~�6�aߥyӣg�����~�p�;�~�|�۔��z*U�/¤�wa�"�v٤M�I6@1��b�|�|M�Dh�CFp�gq�k�kC���]�_���2�(�����B?*��|���-����I�T'��'{؈^�?�����n�o[�\�RX҄]ų��	$x_��b�l*�
t�c�!�(C��ed^$pW��$�sۮ�Yd,�j%$TK)Μ�����?��1y��0]�KpGG�߱�x���'�&j��/�!BzyyF��;
/��Va���	
a�����C䏄{���}�VL��J$��S����rK��(��8[KaD��ͷ2O/7
�xӕ��PtBW��j��p@���*�撆筊;�a�}F8D;�3�rW>d��ċݛ����G3�M
a��x�N�-l�.c�0|DX(k�i_2�rr��f(�����:��g��<�r#���NQ�n��lP%?�������Z�۝l�ijD�������whk�K��_��wY���@y�Ƌ)s%��9]A�k���&X<>t3u�����g�%�^�����_˵+Do`���Q'��bԖ=�ٹ��	�F�u�2�=��o��*܌^�N����a�0��o]��K��i˯�m>�2�����[)�.�jg�<�Ų��ͰZ�0�����m�L3J2�(`��H��ߡ���9�ׇ9��Ttr��w`+1y�/��`�z
�d����@E2d�i��6pٕ��!l��ߡK������&f��r�'���W���kL���k4(�rˋ�Iu#�Q*9��Q���څ�j%M+�;�� �dg�n��O����*}ϣaKp+��	JY�d��%#�UT'M����A���e��i�����y4}��۶i�S$X�\cn�M�Z�*��q-��l�ar��F=����n�K�u	a����J���5
!��ᒥ/��!׷�gd=��1����cV�󲵺��>� �˹&Gk�@����f�j��':��4ۺ�:U7�T6���V?���U�6P���T@� MK��f�	�#~���[�P���S�gi`_���>,<	
c׷�sTq�*u�b���|"
�Vx�C�a�T�h�3(�+fSM"o���iff�eu��-�MǏzk�(���W�m�N+�f���m�{t�gjv����V.�:�"h�4�X��as���Q����h��g������d�V� USpTu\�.��E%W���6z�w��n��"��Nm�D��w����_	\�c�8��텲U~\u�1�%�d]�
KΨ���.� H�9�5���� �K�H>^m��n�R��>��Z���#߬0'7�ec9��N+A�J7Z~�]i��4.7�b�2����N��K�t��Z�<^Q�QX�V�y�N/�z�+@����i� ՊM*���L�gu&
�њ���(��V�@�R�B�ΰ�NL�k�^���<4���|�y^8�¯%u!n�OR�lihȦ;�
����N������%5y���?Ov��YO6k5�f�Ӫ���w�7C���)�s,j��dc4a���j����ɫD
�v�Tf2h?tH���#�T�]紑�sω񄠤Ĉf��d��s�6�(�g���Z�z_�)$|su��|��C�#�5��aF/��Sjq�@�ĕ�	��!ہ���Q߃i��:u��C��1��Je3����?!l��	�Q���
q�ZSU5�4���—~�T�����z-�DN�Q�<�t3�9-F��Sj��Bh�	��%5M~�
��
4�m;*��
n�_�����s��.��]:zE�Kg�M�XHp�'ƻ���It��{g�5����7�Fy�|a��$��� �����?�w�2op��%A.V0���<Ɛ'*��\M����*�`q���*�|��Z�*6����_��{O�G���q��b��{��6L�˗������n�;T������a�VGm�݅�R�o8f��9ۏ߂��f��q�Xģ��Ѻ�%��Q�u����rT��<#I@�!W�eX~x��T��-*+���%x���$"��&u�oT)
�9���^F-�K4s�8O��F�6�^A�.o]���q 귁�s�]�ɉrX��Z���!�#�&ĻB��Q-��(*tpa�h���p�x�8�dn��ס����I^�������n7 `|�]mZ�@��b�3��:^��[/��En�8���W���&z���W5�����M�9��8GR,�0A���n)�R�l���䰡���*\̽fK��X׌Bn�j3��a�yx7�k=F��M{A�~��x�w���d���ұ}/*l!�'����6&]��z8�>̒4t��"d|B�{m�t���Nk�,
7�Uѧy��>0u�L���P4r��N�žퟁ��ɞ��[�7Mn���.�E�|��R�v��M./�19������e�)�=[OEm��掣c;:���C�ď��JЄ՚�"��Z���_^�Y�[�M�M�_*+�4���g��q��`�r'CI]����:�z�E�<��'h�ܻ�`M�I����JǶ�S>�~l.M{���m��c䄳�g�m�a߉�M���n~0�|R�W���ע�]e�Da�VCJ��������U���$�ar��tW:#�W�N�G	؃Q7F��9�
�_��#��?Z#��ON�R�:	O����P���j�\"*@���0p����y�{��@�5��w7Kdv�6��g޹0h������GФ����<�C��;��+���2u��������l�k:���Z�)A�)�J�=h�`/Ӿj���7�CM�q������d5��O�/�6�Ne
�H�8�g2m��!���~:4,������'U���z�y�����=;t���J��a��j��/42���F�z8�)2���Њh�9R�^M4e�H��̌��)§�v?WI=~6ڬ�S'	���iQ?��t����q��s�:D�n�0y�Q��P������E����:���P�$������X���k��s-"�/}���5�71�u}ESH"U�Z��	[0-YDF�UW���D�F��0��[��2��m��
[7����o���?�=N�+tq�`�r��a�Ԯ��l:���щT��N����I��Xc��Ȅ�%]��}�⚐�p�l�*�y�rEö~x4�%*_�Єa�ƴ�fdn.F�]���Q���j)���qi�Y��(������4���ո��8v��x�K��0[��u_��B�bֶ�g;����1~�:h�p0�C��Q���ګ'-BF@���l�����}��wӏ�u�·�=m�_�>����
w��DTe����?��"dw �k�P
�k7��!V֌xG��èE� ��Y���N�?P�}�)0�>�ѷ�(/
/�W�\U���WS�&�_�ek���sc��}���DMg���U���aLD��K��������t�|�]��0<��u���s������	�z�CH��:��U��y��:�m�5��Vc7�M�CD׸F�EĐ��{1a.����wC�o�������$#�܋ŵtE���
�U�.��p��o��06�@a��%Q���D���&�U�9V?��﫾�K��땁�*L�����k�]E���R	�U�x
*���uٕ>��I•�T��}�||�أ$|�(����t��J�ҷ>�_��.��5I{�9�Ƃ ��#,�e��ޙ5SW|V���E�a�F=���n�#[�41X�?�B*�r�Z?���1�!���%?	�U���dC�.X��j4��ň��x�L"�}x7��oUtB_AyX"�hU��
�l���̍��nL�����p�"PY�p���)�Tc2��W�i��G,���VsrIdW��"�~��i����4	�R*}�S ��ˇR|�gC�L�-�\�.�B�����G��_WX�����X����愴��tU!�w�x���>+����J��HX]K
��_� �>.��*o�/�?Q�J:;����9<�k��Lf��D��V
ñ
���E�Fٲ�j��8���^�܉��I�`�\C�ڿ��:�f&7�S�uCo�X�J�Ҿ�2�q���x����Vq�����r���Zt`��.{��Ӓ$��v5���<{�I�;�� ����'��=�G�%��|�kc
"�sC1�⨽�vU��E�՚��
�2�2���Y�Ն�gRN��x��p�T�$)�`��?�h�o�����x�e[���\����p�Х��<B���W+�`��%�n���P�� ��MbG�"2���3~,���u��U�I�@}s�2v�U�2L�5o�A��e�n�5C�!z�,?nj��h�K�lT����>�8G��/��Ӵus��ˆ��3c�9���5�+IR�-ɷ}��3������!>ƤnA�J�!`^��v�_�r�a˶kJ�Z<�iz�6a��R�;ӥJc�#�."1��[!ݪAb��@��2��
 g������$��4:�����bɒg�kqV_U-�[T]�"�E�
�6QL����fx�FOـ 6(r���v;��R^��ݰ��j{&�I�g�Be���U�R�,\S?(C?�trI���\'yqe3S6ح�Z�j���GX�
t�,�/�2XoW�&�X�Bcb����:q�%D�J�Ī�:�(^��7�~޷�0{����'��m2ҿWߡ���!�[��{j*݌Qw��5�9�=�Ry�ɕ>���8aY��ɥ^t$m-khW�鴕I@��piEh�]99b �9����|����bi��x�Ҍ���Sn{��=+�*����j�(x�?Qjs��A'wݪ��%$9��߅�;����!��.2���d�w5�����)�,��3'�?�v�Y�\&jc�Ο�M}+�"�6�y�:1􋔅(
�5�� i�9f�+k��f�ziܻl�	�L��چM���Hɕ�m��:@�S��]����2z�����N�M��
��S�!>�R	��r�����V,V�Spy~����҇�a��+C�m7+��ɩO��\^��5��샚�v*4�Z�JQ5�ID�A����O�p���4!a����(IJ֠��_�7ݼ��۟�ٯIґ���|޲�l�p��U���UЊ��C�8�`�vq����/�t��`-ݎZp�D�"HJ�s�:�B�~?�^��Ej	1�*aY�6i���V��'�ƫA��L�x��2��"��Xߓ��0��N�@�@0vvp@!?�q��b�Q�k�P݂���"�E���]�w����xϧ��>GwIo�In�|�C�N�I���8��@e
�Jn���,�$�G�����	Axjas�Q�]�YD/����r�"���J���d����~U��L����"���F��aPW��iÓ�S���,���@M7�xC�:bu�(�b[?:<=���'Ғ�{�4�"?��4ţ����^P�$�0%����K= %@�L=�s�t:h~Gvh7-bp���"5����c%m:��̼y.!���A������fjҵ�H��`Y[٩��T���񗻗�ה���ִr�%�p�	�G�����d�҆�~��.]�d A����%�k���эǃ��*�S?����AI'�%�ߢb4E�t�X�H��ebl�X�|{�����$���^�G�z�����j�^F���/�<��ݪ��2(����.�h^����=`�)�+KW�ƻ��u�����Jj'LQթ>�@5�[�=3�5�~ժ���&�݁6@�%>	'|�����*f�K
�ז��K�yCM��@}\-��B!"´�
�-��NZ��$w�<.�,5y�x�,��׸-8'�EOtω�Am~9�����P�Ɯ��b������i4LJ��A����L.yl��|Ѳu��u�YqI6��a����cJ��,�J�)c.�fTc��|�����&�8����eS	J�u�$
ZG��l��#L{60�L�ΓJݓ�
�I����s�G����L;u|�A�+�i���65�c��OT��:]��c�i�Z���|��bd�g�Lc�v�Mni0�b%�;W>%�9�t�N�d�k-@2�W��'Ci\bX.�H��{^:�f�[[���-{U ����IG�凒:|	�dz`���F�9���T~�s܌���ɿ����*r�
#�@�0�����Tle�i�љ���H�4Q�@��4$WN��D$�=MW����qK��ECJιE�]xv���)>��mRF�S�5l���ڃ�͂>��䘈1���\�|cr�I�_Ѱ�iK�޹71�1��H�|N~�9-��B8�L���"���U���P�ޔcl�:R�0�;�����g��Y�4��5�HTicM*֥(�ѕ,�W�Y�j���δZV۝��o�y���ԏ"����@�Q̂-�wg&z��22�_
9d�b/2&��yw��V(nl+��\q~cn&�7Z�D��j�!�3�ia�X��C�{���\���'�A,.h�]����B����Uo�4%>�;�(��w�w`��+�8�������ٗg����ر�&���|~��?#gh�I�r��Dɸ�mX��
�!�'K��e
ݻx�Dkw�\��+��%��)�@}ߗ\�Џ�r~�Ύǣ;qHR����N9�l��zv�J~;J��0�wĽ��X�8��fd?�� ��2�#Px_ip�xX�)���w��ʎ�
��O�h��)M~��t@�B��.�iiC?�!��{W�]����6�{��[��D�45���c:�A�N/�u�so:�Id�.%�;�[�x�>5���Cq�H�T�6,`�[!�3�,�^�"�ѷ�^�ު��h!j=�fO��������)2�b�n��s��d'M��?��.�Fⱘߥq��H�kx��
k��\z���GL
,��M���|�=S���Ϣ�>3
F«�dntV�P|����[x͟�g�����?��Ӌ��;�>(R��tmDs''(>�T���� ��� �sx��
��D�k�g��duf�E������愕���E��;�x��$��J�k�a��7eO����e����u��l�|��i�ŨG��T%sJe.C�ܢ}/�&\h�P�h�f��������ŧ.���'��=4A'V�:*�\�v�&����;���a�l�K�'ˋ]���z��=;Q����[���')|���6�:I�a�t�MW��BB��XG�1�����Ն@���V]�ꯂ��lJ���>[U���/��D`ř�}�%�D�&��$�G�rjNT|�.͋N��a��Pi�Zhk����Y���tZ&eJ��^�ݻ�� 8n��ϲ�$<��S�M�Q��_�����4��F�\Q=}4��+aGxa�F0�ObF�L�}N��j���O�J!��G�$�u��������	?_��$���/�:�����H	�"�"L�ޜ�*��R��K2�Vn
��h>5H���`�bg�zb1exӇHA�z'+<n�Jc�
����U�_� ���P�������S�¸�\�N�񙶑oP�-E��KW���\��Q@��+�U�+z :��S�Ӂ��/�yJ:`�X���.A�o�Fcs�hT��q5���h��"�@���Ԩz��F����5�U�)Ƴy[�ā�</g﯇oy��,X�:.ʬK����$����䉇[�p�d/�?�"'
툶��_b�6z�0���h��/�Tt�0+�4⺮��dyE��١�?;��wFnw���{-��u^E�=u��N�S���q���fI\��9�6Bx�Ac������M'�F�mU�myq�{F��+ᆧ�r�'%�ư��X����-������ӕ1\?���pC㞶ge�L�m�������N"���)2{1��c��[�Kj��A5 GR�k�X�(=8��0׻�e�3��Q���z�m.�JF�:�2c���:�3o}�nK�
�C���S���@&
�z�З	FV^uR�-O��C���t�I^�&L׾J[	ylٖ����Y��i�9�߯zCq��d��5b�
oJblI�TN0g�h��!L�ū5k�39�8�v��TCk9���a(�U�m#��*�7瞿!�C6�V=[��+U�R	wU��}�*��T%Pμ�J�
�s�me�e)�\%�����\��7z"�Q|?���jC
ȉl�gg�~���d�'�C��}\XWV~(�u0�0í&/zj��s��fj�����ˊ~P����m����=�=����>^r�)8��G|�d�&��;�r�ןA���@!�9�?E%�������"�}<r����źG1���ݫ�A�ϒ�wc����.;��FG��m���l0ԉFv-��V�&Q���˹���DA�U�
�S~��s�R�g����J�����c񎛖hr�ь0�G$���@��a����#J�r.�kj�(�WA��*�t��p��W��]�3�����2�\�g�p��c3BŒc��'��&��)�`}��"�_R�Y�B�,��'�^9�6;}R%`�hk���R>�@7'��|�
�-]�A�e{��G�*�'��W�Y�Xy��>�T����Z�:���.�+Ƴ�b�2��f#f�Kw����7V��w5�U�3$��Hr"�jO��e�	K~ yB竭�4c�c"�ō�<�BZR0[�N^�Z�oo�=��<az3� p�c�P�ͅ�
�����%O�49�Ƌ���3A����gV��٤Ԥ1%�^��F���7�4��^�MmZ	�6'�5X��c�UO��]A�w�-�6�e2�ݥ���L��klSr&#*�=F���i��E�	6��FnHZ��x���s�_�j������v'H�禸���'_�ک��X�9�(���(>>��t�!B���*,��(��w��E��F����C'l�k2�N��Π�QUF����0R*��D�G!$��d�H���Sp�����\<ސ�&�I]�Q�r�Y�>c�]n�f�g
�VؠXG�Zا�@AhԒ���l
���5��uʭ�wy����t�LeEPwˢx�ס�
t� s�'jo��*��I���ʡ�����Xb�A����ں�'�b��p�2�=�T�/���c>om`�@<��_ԋ&��e��l=HJ������Ѹޮ�-���t�Æ��]�FY���R��t"Z�y,�0�72{�,�wB�� 9�~�Oh��rL0�x����	J�^
e���s3e�Z��C􋨺
*2%����'�ȫ�SvW2�7�-�N�󵷱�틢{&ۙ���n
|R���f�Щ
t�}`���rV�g�5=aJ�i�	'��jg"�X��pU
4��+�mV�0o�"X��.%$N�
���6���~vj"v��^(�ޓ� ɻ2X�<F<�B�L4q�J�9YG��a�H��5�%DA
�3e�#�T+j��gJ/[�3�*�&22r�OBdΓ%~�~���f����˲�2��S�|��N;��Oh1��̶��,��K��T�ö�����-u�M��V��Q�)��6uϰ,:ͪ�i
��:��I��D)w��[�1n��1�4�i�u|�܌�����V	�!���‡�*��5�R�3S�=��H��Ē��D��Ļ��m��Y>UJ�"FT�J��,W��<�Gi��K��W7�]�D渆l�
i��$e��l���u,���2oj���U�!:�ϐu�ic����WA�p�i��Zy&�W�n��eP����ʻŤ���q�T���C��H�;f��_ǜ�
���Kn#�Z!���~
n�C�a�u�%U_k�cd�G���r\�3�6$+]��ݎ@��ӔxQ<�{�p����Y)����� ��*�H4O�1O�2�ZT���2 tow��>L�ׯ\��g��b��D���ol�ۜ�;X��oS
RF]�;ÝBQxE}���|b��XY�ƣ�
[0�6��h��xkZ;z�:�i���t�$�u�y��u��?2���l߆Ay��M?=�٥���iױza��TYBhγ{�c���in�UurC(���F��L/X
���{M� /��x��+(�3J~
_�p��^���K�Y>mv���8�ZQ��IŅ*e}�,�a��%j���?���E�v��c��P��'GWۛ�i�W��hj�[+���z=T�nzu��Dwxu�[�w�O�2������SI�TQ�:�M�(�l�7#�\z�3S�����X�ԊrJ?�$�R�G���~�l� wt/T��={�Ja[G����D��i�cN/,Ky*Y��pk$|X�����|zR%=,����Y��r������[g�*o��̧���.1��w����=P�k�hO)�}��k���{ri�<Ӊ9gz�ٓJ69o��T��)�A�V������jxyt&�]>��a��&�
;���i:��n��Ȓ/��"����k L���>��Kڝ��H�p������0(�-_�"Qt�w��[����=��s="ua�ʫR'|�H���
c_�Bzݕ<n��Z�Q��c�k+�ײ��#�w%�j�E�J��P���[��s)X��w��t�kYx��w��#������H�c-��~䣔O��*L��t�j��",�;]��z�f]
DaH*+��J��^��NF�y���z�r�~w���
�%�<�m���I�����T3�Y�p����y`�'<�k�/>����/I��o�́���r��e���A���#U����R��|+�zeSAp�Nԃ�GB�
��/~��?L���he��ܗD�}�Jm�X�Y�l:�a�V�aX��6���f~*�j���:O��Q.)�ߍ:emKʯ��u.[�b������[�DwJ�D�!��S|f7}�BR�`��犭��g��;�ǎ��[]��zW��j�U��m�9��b=L�;���9��5jb
��֘���!�x�lQ�u�R�����l�5����Ò5����eҋr�XLe�~䌔��7c��aR��}���,!�'��P�'gnVr���3�N��KE'���g=y\+ް^��'g� _g2K�	G��H��M�-c82��@m��R��`)21�Z���ں׹ڥ�����*��������X$��zW���뫁<U尣��:�Z"e�qH����;wG����h��L��2	J
�����\E�2��� �Y��5����2y$y��O�may�^z��ӻ\v2�"�J�25�*�i���Z���U��M�(��.��+���v8m�qu����܇!�e��"�z=S�n���ж��*)�<�_)��W�O?3�[�YLF�|�wԥ�Aפ�(ю����R˘� ����v0)C�.���tx�|Ң,=��g 52F��5V��v��%�j��b��e�"9V���n�����;�
pDFA78�K�	�M6�"�Z@U_i������_yKN(�	L웕ln1Q}[�
���6�H#hʱa�!���'�׫�p��ݻ�Bw?��c: �-+�"fgD�|�w�`�}�pQxq��b!�n�/Q�1�­��M�5q#$d��.��`�x�F8�����V5��mt&)Igvw��W�88r%�F�����9JI[+�+; EU��ʹ�5�d���˼�8zr��!"��~�]OH���ѬX�f��h�73�Q8��rW��t�.�c�x*p
��P,Jma�������ܴ"��:҇k�����<Ȳw� ��[��;�ew��)*�i�m&ߎ�Pȧ�������2߱�RpbCC�E�EvH�-N�V{n��tLK��)�;��F�{���g�1yR��;!��b�1��[��e�����E�GY����c���$���%k��]� �~��F�m2�;'%@�ȼ��LuQf,(BX�ˋ�N��M��
��vd�|�C��*�]�=�LH��@���KM��Q�
+�q�Ș%ZQ_Y���M�k$�N*؎�>�\�L�	�@fiC5�/�B�T���N�֬���f��̢��H�e��Tی�/<Ÿ��Hg��e��.����Tc��]n�E�&�ͿT:��R��&�$�����h�%—�蛿:�'z�=,�R�'���>}Ÿ-z͓���ϲg���DWG�4eʛ�4��tKnr.�[b�U-��;�F%)	^�k�R�Oco��Q�Yb\����,A����M���jT��Z�� ��X4&n�q�s%��cf%MH�uK]��oeA�s���aZ��Te�N�8;��ѹf�&;+�TJ-���h�
Qb��+�������`�'l}��Ca�ǵ�{s�Y�*�k������j�K���z��`���{�m�SR�	VWD<e6,��%��BjKs}��|�m�o}��?�H��������ݬ�C��,�I�����Y�c6k��8�jK��C�R㠊ˈݪ�t��-*�������D�*�>�]ka��fX�B$4�l{�E�[fv�_�έ���];��Gh�{�7�32(o�t�|&t�*�
n�b@���M�(HX�g���{�
��"���>Ⱦ=�O�ص�K���I���O�O4�}�ˮ����;Љr����q�����*�,?�l��6Iw窒�N���p�6},��U-�N]�}'��IL����v�Dy�i�i_Χ'{�<�{A\�#j:��	`W�
�
`n�-�C�>k5	�,=a�%_[Px,�
��2�X��n�U��_�l�'�	�����tr��چO�`�#)<͐���=��jJ�+�b�Z�y[[�N�������ѐ�&�`5�A�O��f�>t��,#
	�ط'����ہ�垌
sH���{�#�)�^���^�u[Ʈ�)�Qi9J�h��G��"�����~���	!3s��I�Dp�M����N�����6�#�3칠$[��n2},�nq�=��V]��f�91�<*�~{��Z�EG��&�&V��&Ɗ1l.�90���1s�A��/�u��d�l�$
����cW��H���M�gGx�??vL����ȶL�,0DN�-`�
�5P��Ƃ3��.����i���+s:���V�0f��"֙~Y������DwJI�%&�2�J�U��Q��
!�PV�J�����*��%y�ϓJ�!�>�R���&�B4�%}֠���Y!������GȔ>œg�YB��!�Er�5�.`��7����O�T�?�Df��D��8a�4J\J�؋��.}w�f�

��s�1B���J���Z�<J��Z�K�&v��u��z�7d�$�al*��5�3{o�J«�(�s[�JB���t�r˛^ctmW��Vk��x_�j:f������0\ũu�Y�JU��Dw�#(��܁n2e9�^Yd\R2vb9,%��6FS(zz�"�yo��x
h0��tᲘ)&c�a����9�*�?\�|�=@^$���&Z�YrzF�$"���~�R���d����21_��(��H�K
p^_��}�<���˹��VW�I�p�B���W���:�AJA�&+���!XΦݽj�jٍ�,]�+�R�r����^֣��S�u���^�)��J�w�eNjI!K�p��S
i�����L_��o�K���ذ�1�f�բ���<��6lͶZ��x������r�H��l�쇰S�k�P��L��3Եb��Ћ��Ȫ�)��e��)�����`5�T��wEW�6*<�Ԡk��o܅+�ȉSUdb�*��VV�S0|����A��P$#4���zS�b�*�2���.����C���
��c
��!����F�`��n˸���99�(VNȄYĈ�����Y�����x@�8�2�E�(��F�m�	���o����OW&��
󄣓
��3��My4dZ�O��,�+dY�`UR�5���S��q��E�E���W�
��(ٓ���K�MxE����ĭZ�U��GA�btR����I��V�O�õ�[Y=��b��@^
:2�xɺ���U���+��b �u���"FB���E�f�=�U���Q�I����T�.϶�É��6�j�M?=�Uۼ�M�N�c�t<�0�
�BIÁ)l���}�4Ɵe|�,a����#<�5ݠ�*#��q��J���F��
���Zl`�w=�y�`am)�nX��k�4i9@�[�EL@��w����v�gQ„
z�����R��P0Ӻ���Gu3kT�/l��i���E8�2ߒi��g{_QϷY�����^L�n�!��ӏ��O�c� �巨�ʨ��C���6�s���Rxu���j�ZQL+
�"T-���dn�17Of~ɉ�t�T#�䔌�g<����Qɉf�F�Zq�����>��p�ƳnU�F�R*9�Z��T�x���!����W,�+�Y��)�?�L2Ħ�u�Ƚ���۶�Qy��e�ܣ�*<���L�QeL?y�J�S�@��O�rA��)�3�ؘon
��S�P�u�,��*�aƯ6/7R�$	QXKM����6~y1��w�}Z1�{~�����p����H*}O0�Thl>��o����hJV�f��n�;O#�oR��q�&K5Ҩ内�i�o�^S�]q`)�qY��7?�>���}���T�#}s��{��-o�Y��,W��r��o��Z�(�4Ö�>C�B+�f��%MHCQ�i�+�d%��v���0�Z�G(��J���Vֹ�e�b���Z���|���X�j����$����!�H-�h�����֠s����� 7��� L��n�'����}eIA;gXR���䠛��5��w>LL�8T׍.1
)s+}U���w���)%a���Xm%�,�+�1�;�Ǡ�D4��.%gPC��T^S��p��Zx���F��ܢgк4��k�V9��b��4�kEt��bC�qk��PU=��j�%#�r��.&��&w}����3L	��wx���h����[c�#�
U��!��{mL�b��]8��3\��_T��͘�8A͈^�0��&#@�h����WN�Rt�{�Z�e��mD6T:���̷)P̳M��
��݆��5c���GG�F2�,Df����1�v�,xs���8���"sۭ	+C��Z�Z�Kd�t�1e֎Pa�Aa��dߟw<�Ab��u��;d�������½���]~-%����e4d���
�(nFX�eni=�j$?5N�a��SN�`aU�0>�rt��1RT���X�9�ܬ��j������Kj(	;l��� ���*Ǻ�R4= �Yc���ەFH������ֱ���#�J��Œ��::Rͻjzv�fS��a�9��U�_��qN�z���1�~�܎�����8r�2�%�H�n-F��h-ϵrr��V�Q�,�<:q��84Zg<�$�٢���c��M�1��6�p� ���U��4k_���o�t��(ܪ��f3Z���bȷcI�+[����Tg�:�qb��tمy������`T���DN�`J�y*>��se$�$_���6�f<��7!;�l��y��{��f-���p�8��h2�MDz����'y�����{��d�*ǻAg�����FĠVCB#�<�.�3�0��� ��_���릷�c��!��ʳ�;!���6a�s�u�yv=&Z�NNcӯ�Q�������B"t#Q��F3���~7��}|�0n��7�z{@���O0ǝ�b�W�SSS`����'��v��U�D"��9�k]��ӕ!%�E\Y;�7�ud����Z6_ꉎ)8�Yr"�$+:�H�0.��`���&B�c�1��
��=�#`���-�8��R�t6�����W�@۰�ɒa�A�5�`���*V!�-X!p�T�t1ϲp�_�b���Q��6�a�Ui�^��$���
�N�0����`J�pO�n�KՕ������m�׳Ud"gO�8j��pQε5�*�
���x�؟P)g�B=�Yb�4��)��"۵�����U�Eb�����erh)�c'�}�\���w�yaG�ę��
MΝ�-oudFVt-_�[)�E�ǂI�!�:વ��M�.0ɾᅰ�f�����'(x���G|��gɱ�D��R�k������\_��:7P����WüOم~F��s%���؇��7k�s�U���H�5������υ�)m�O�@�EFq��虇t�ӓ|��}GD�YC��`%��jȊ~��EU]4�~Y�oy��2e�N�v�;O�k�u��Fy
�\j�.�:Y:��ɱ�-���
2��4:��_Ƚ�{]׻�9�k�t����kv�ʈ�D4�n�)m$�}p'K�Hr'؁���}z���ȪZ(<��xv�N�5���rf-Q�ծ�i�7/�������F�-���;b��G���/
;Pt����(X���49�8&�)�5��d䞯^i�ljO��=�b����s��C���s+P�J`M�_�^��IjJ�Bb�W�Þ]���:�9w!%�h��oX�HFj��F�m���6A�p˂x��R�$��_h�:U�>*S�	s����i�l�2�Z�h��TJ6�R�-�5b�i!%-�=�Т]�D��9��Wq}��{C�Ͼbq��@�iҹ�˺ȝ�������-���k���
%��9Og2�����'�:G��qN�@�;�Y��.��;s�v��$��ݭܞ�
��G��<\=*���9��;ӓM��g���R#=K=CrP���O֗�	����6�/��Mxf�^b��)+4�BhA��^ΧQ�15�u1td��
���!���h�m:cG[�N;�BSH4գ�B�n0� !��>���-����6�_
��s�P�y�A��s��+�K�w�wxe�t�T��agӥ˱�~�u�܃2�ԯAЊ ��r�~��͗�d��AD��j���u0t�u�eV�iz����Uc�u7>��0Q��51�bƙ��<'|U�2!O�2X�wbz��g�p\�R��.���ɋ�c������[������D­������N�����{L4H��][�}�ڡ�����Uh1nk�~�tH�W�@**~0����l'/6JdU�t<9;c	r�d�ʄV�G(��֑s	۱%ۤ�ɧ����^�k�Ha�i\!3�x$Ot���ξЪ`cm'g��<�+����k!�SOD���69�uà���QԹ�pɍ�E�U�E��1��?KФ�[f-�1���^3�1B��Y=��?=����u06�Z��HO*�)3�e��'o������B��j%JY;)�8����Pa���VB��I���C�Sv�����w�HE�FP���
U�O|myKpR�)���s�:)]zO���5��0��z�b,j�^�
��?�:.<�	!�v��ͪ��}U�gnS�*�
^��+��t�T'��4��%��(f�Ҳ:�&!�J.����f	|.9��rX�z�΋����6ș�kYE�W��OU��U]�Z��I�\G3��Ye�w)�("v6�.c��2!Í�e��A���&6I,Qy ��f�\�G��٪�E��]����H���w�d�k��|�,6"VoЌ~	�HM�_��N�);3�^��;���;k_���y<�ȉ2�����{����L��F9�J�8Q��"��׶�&J���[r��(4�3�޿�lh,J*��ark��I�=��4umY�	ARbG�r�%6����u����l�@���O�7�6�"�s�E'1���"F�_�D_<{��m�;�X!���I�S�T�)/�2Bt�K]ߏ�@�'Ci�FI��~\��H����kC�3"��Ѽ$�خa5H�D~"ܾt'�r�pJ`�^"�I~/�F�뛦�o$����`ʇ�[fոJv[^n�v��u�87W�sґ"�=ki�v��g���$�FG���ͧOr��N�R���sS2H)�[�w�UY��`1kVi�Y0@��R%C��R�3�z�I..�y_���^�+@��η�r��dv��U[ԟ3(���S�Q"��1i�U��J#	�Wx�.ΪA�?<e�b���
�G	oI�J?> &sk�:T��i(EN�cO�—c7XZ�ި�p�:H{�:(��ߒH�j3����3bܘ.��"�
Ŋ�y��Q��aV{>�"r��%�o��3׀5���i(��i��\s|j�����
	�%��X��x���1����$��&]ϋ^�`Q:��^-�3�+���oH
�J��~�0�('�
$(F���\��M\��c�3'��^�W�ݶ����ׯ_ϑ��Av��\�~�!��-v�C����^�=|&=�Q ”�L�@3��M�͛z�M$A��H�,��h"�1jx|O�G�k�s4M�V0]���'�t����A��ˇQ��h�qU���F�y����-���*F����i��v��O��n��yW�A�f�X�Q���;��_PKh��[JM�IB��litespeed-cache-fr_FR.l10n.phpUT	3�Ai3�Aiux����ݽ[�Yv�>�"�`�HL��-BYj��KK�d3�*I�aG��̌�9��d�Sc�?̃�
c`wɀ�x��?�?0a����%N�d�Z�c�U�{�ر����o���.v�K_�S���ww���˱�?��_~����z���g�_|v��ؗ�)Ǧk�e3�U9ָ��?���ß��������?��g���f���ݳ������?���(���,��_�޾��^�w���eݣ<q��Λv(�O��>��uU<(���r2�����-�����M]�ikS��Sy����V�F�� ��g󖚡���˾�\U3�ݪ�ڱ�|^�Vh'>����w�?}��M_o�v,��?�zl.�P|7
����7�G9��[m�賗������P�)�o6�㺔oQ����</�wo���z�6�b#
4mլ�=����?��ۇއ\�I޿��?��5>R[n�Qn��?�}�-�v�۲��N�X_��������g�a�Ůn+i�^�hI:X�\��U��B�<���rU�md$m7o���Nt]���|�1��䮊�8��am�,�bWr�7�Q���P��e��,�]����"����_t��C��}�{e컮mp�N���vUs����PO�M��K����>i���emV�,��c�U"��06�<���.iF�__�6�.6e/k�X�2M�E1h?�=tY�j���Ei�z�.���e�V�_kfW���&������La8�˚�/�F6`�)�lmI���,wk�u�0W��''œv��z�n��*y�im�q���y
�V�Ŧ9�k܈�_ɂ���'V�M7U�}�c�a�����_V�1�@1�W���U�.��閟.�e{�+��w�9�ˮi��zU|�����/zL�P^՘Svt��Z����g�9L��5������bnwr�r3����[�v���r����k���zz�'H&⒏�?D��o�F�G[��D��i{|U�8�ڜ�N�"y!.�Mm=�n��-\�쨛�^��M$&����s���y2i��6�y��q"�˿u-���\Df�U-����!��FyJ���>�W�z��P�����<�S^��›���̃��O���s����"�E��w�צ��e���mdC�n��膉��@V'O�Ggg�mq8=9�>��W&�9ә���򳉾_]��Z�,G��K'M!¢�3S-�_o]GҐ-T�}�Z}�19�y�t��:��-h7@���g�o��	ҵn���Ò�aM�\b�x`�OtS�Uh�/�uz]��>�Q�u�NY�8�O��w;��-�4��l`�Ж�)C�gʐ^��<0t�v��]�1������l1�H���|*fG�|N族���vDW�
�x腻�����T�I�e��_��J$��#D�^�;U��I�_6k���p,l�R֞�=��jEè����3;bH��!}Z.���G�O���o�G�'�q��W<6�6����z&���x
��}-
��.���n���F�3R���(/֬������)6�v=G��#+~�o��s�k��ш_�=���Ŵ�˷�]���}ۼ�]�cp��%6�/w���P��?�
i`{{�����ؼ��+G}/¯�m�W����m�*<U��\Ӆ�����XI�������j���7W�Bd�ig�s��<m�����Dg���.G�~[Q�D��A��I=��1�0=�o qku��ו�ᾓ��$S�oWO�X�/��a=��~��X�:!�B��+Ro���{�^cy�zj��1C���#</��R�Rd��A�]߈�#j(D�q'2FZ���)ca���n���b��Z���Ll8Q�Kݝ�&��:��r�T�5�S�T<;�!�#f�|�w��n9ʖ=������>��0�NE
j}�V�&�ha�>�ð���ײl_ÏdՔ�]��4x��/�c5��F6���C��]��$����d�����"{q��ęȍ��C]���ؔ�@�&��q��/:�.h�n�3�2����cǴ��������T�p�����j�Y#��V�<��?��x�~�d����J����B,?�/{�߭�uT��T�
����Y�����x>��+7�2��3/Tŷ�cHΑ!�\gC����T����'ߩԡ�ý�A��+fz���ߏ��~�6b�c3�������=��iӾ)��8��S�	Y��5m�?<$�{������xbA�z��2������ob���"�o"���z]o����;��r��}7�6�q�)���?*:�1�;�E7'�?�ɵ��u@=j�a��rv�m�B$���q�[����y�?���Q��3��\��vEw&ҽ������<y�T�r]�D��rz����ZW�E��VD��*�<Z��č�6=L2��p6�%�J�Z�崑
�ldW�>�����
�[
�DǫŐҊ����6$�"���'a3��D>�6�㻺Y7��[olG���L�����C�5y�M�iN�_��i�+�h����"��o�	���$�U@̶��F.�+�AZ�Q&k�G�n�M}6��e�o&]Z�>��=�0��jf���S���� m����s6j���t�!swS/ʫᲪu�i�+Ջ��"��H��z&1�U]��A/Ԯ^�p,�������-�_�����WT�p$��TZ��j���@��#g�(a�C�Eg�aS�I'��J�{';9aS~O
�b��+C�5�,�Ӟz�vs��4ٺ��{׭�����#3/������6��Ͼz��i�u�+t[�\�];PѦ�\���P�9�Q}��^=�3��o6z�˧�]�p�R��}-���=��vWz��y��p�̗���M�4d1;h��و�慷|���I�h����
��v���oeL�٧f.[�a-�͛��x���{o���C��}��r�H���tV��KC�f�Yl`��6�C]6X���+,��
��+����^q�ʂŽ��RT��qSq!�#]��n�o����	G�ɽ��	0ՆB��	zW
fP�TNWJ�9=]τ��nt�z�B�g?T|k��0�Sv>m̶���-tQ��_D�&3�ŅZH�y��'������V��e/{Y�)����<�l2,y�`S��ɜ�|��1x�T���U
�Fj�2�tc�|g�#��+񥏤�=Y�[���6ļ��K&�F&�����i��tvX�PT���J��MH�V��r-(���?��t(��rC�I�Ku���ɢ��4��T�����Cz ��EX�pC�04��'E\�4+�&7�Y�����<��V��"r6�]�	{�Ĩ@�Dm�ģJ��ͨN��PHm5ĠM6�\2�}�z�GWQ�E��G�������Fڡ��fY�n�awxl@nĞ�y ��ˢ��!^ ;��9;��'7b�_�|*�H)G��/�������!M<�N�'-C�)Qr%4Fq,�[���]�!�����W�w��[cI%���M�~����U�IQ��f]�s��JMmY�8�;u�$��<�	ʃ�;|��oت04g�H��Q�b��lFo�U�Rӆ`�-���dl��T���"��U/n+ӱl}���%�ňB���9�E��*Wp��HJ�G�L���?���$k�Sm
Z|�n�#�1��>�U��66�^�)rk�k��d��۠�2�Ķ̄�^5�]���p$fg����v[���T�uBG��f���g,yTU	Z�%�&n�5R<9����k7*�<�
����,�>/76\�<%��Ԇ` ͭ��P(��B�o%
�1fW ���`��6��Bj����	��i3.��͈X
�):嵞����L}��y�p��/��C�&Y_��/͂�o�,6����ۂ��k��ˊ��d��%�N�nT�CC:���´���M��"a��ý-�F9A��M�ﴐ��������"�D���?œ����Lm$i2]E\���G�Us��b#G��0mzl��<�����#��T�B�W,�x�W]3�,�Ŀ(�8����U��7�J4��8�H�XD�M�_���w�ϧ�Z�JU�G�Eї��{}
�	�M�E��]�����rУ?�L��z6���8\	�?�,��(sр�_���s����1���rE������:Ro����z�psy0�?9VG�Y�&����Lc_c���ҷ�?i
Ó���@8P,�Ky%w�h��e#��qjS�����a�g�i����™۽�� �o��g�5mo�]��Yg!�m��X�̪��^�E����i�ڐ���F�˪x��x�ݹ������}��,�]e���\�.��-��DQ	�K����ox��d�+�F�׀w�eG�I����tb��ɠz��廴!�o����(�	��y�Q3���^	rPQ���kܷ�Gv�~+������'R��K���d�w���c��t�aRTAlU�
���:O_;]��W
��P����S������p�m5���Y�hN������M�7���
��r����H?Bt|x��9����Y|i=~�h
jQ��|����֪8�h����兿��At�ME�F�\G��꽇w�i��u>m��k��l�F$g0���O`�֜Ï��1Jm�a٫�n��ݾ���¹�¹+BZ3��z{��w�xa��z|[۹�1x�
�=�C�7��4qVc�=�:^GXq�"�����GTԾ�����ϧ*��8�e)�(��(h�A�;���-5�c�^�]60��P�ӻ��Q���d�>�����wT�����q��B=4�{s�ȯ'�-��2X�V���L=�o@�T\Z~U<S&5����B�E�G�9�6�y7�ƒz����0l��n'�� ���T������[	$Ý9�z���*���ç3m=mL1����Х.X�8����K�nB�geU�}��1�n�R,��#Mt-���z�������!��S����~K�Z|a�/3�o5�8���E�N۰�\"���L�c�?����f�~�(�Gb�iG>�R���y�D�V�g�e�m�/\���Lu��]\�o�S,4Y��U�aҸ��'"zu�c
c��M�J8�*�q��`N_��/E.�s*�	�Xm*|M����lY�Z�?Gg��2`�v0T��q0|"��d�|���V��W��ю��KE�/s 1��蘭�3�7Zv��ګ�uK��DKr )��d������u9=�t`�*���`�Xi<��
aӄ{�c�ƍ��2������?���k��5����@�����]���@�ǖ�l�˿λNg�2>.h�k�<��xSo�4Pg�y㠚\�Ⴏn��\:����r�,̥�ˆ+��l&HV.���!��
w��KX��td3B.���N
�`��Y�g��}]C��6S��vX#þ�엄�/�nK���(\Wr(���1B�s�6[�!>(��]u�Oځ
C�Ο��B��6~��ѿ�vAD㙰�[u�-m0l��1W��$�P�?Db6� ���c��n��0����[e�!&�g�ET����\�hB�LW��FV}c��:!H��y�E94륽�^������/kuuʡKl�����=/пu�w�{�ڭoEQ�jZ�&�g���S�����X�
a���4}'˧d^
���H�XRي�
N��-&;묤奊����m��W�)���b�`�yI7%�D��D��>��G��qv:P�/ϺS�{pY��-�B��`�3�]��w�"�r6{���$\_��l뷜yio�u���qa�w;�>��2n���k�=�31b�A���/<4�aH�N�wىu�?b�p��8��#J�(+�C&�AtYRL$��dj�v� (��8�0��{���/�8D��L�,�fS�N<h��ٴ�n^�Xnn�$AA*�����!
i&a�
奪�*��C��Q��-	"�>R
�F��[Pw�<\y��I����`���ޝ)}�`31�#����:$�,N.��	]�Q�����^�l\d��Bu&��p�w�f�V�;�w�1�v�s�Z�g���ob8nܔ�#�&�:@�5~u<!�e7�#�񱍾�N$A�Q�~5D-,�p�{�����a}���M���'T�7�ٜ�ɑl�gD���n���J/HB�P�_�.� t�1ǁ��6�_zn~�-<�
fn������L����J�+u�jp�37�4g�8�A�Z���)[��c"�S�/����K�3^�!�K� m*hK��bb��a��u{6F�V4�N�'a@�1ՒFkD��54����ܤ��J�1Y�!��c��UTc��Q^�\n�feQ��4zI�W"S.�a�2�HKM�bB����ۤ��ت��*B�7
4����1P��Ab
K�%�����F ˦q��k(X��t���6@�َ�����{m�P�o���S2�Ňv���^�z=*��h��S�`s�“�E��H���s�c��n�H�I��z�Fq9����|�<u�	�1�/��淭�2���(,�:@t�P����u���g��[D��,��
L�@l��B�2C�!���;E�2�(��m��s�(m���+�H����p�_�
Y�r^�/]��j�,r.�+��LT�p�|��~MP_�f�q��avu��ΜHD�a"����ࢠ��Wt��z4�f�jr�*�j5���y�m�<:�N~�N6�C5�<��%ws��b�^rX��W[2Ŗ!~���b?Fb���A���{P��?����w�߈*��#�9лmG�}U/��n2�(��Oa7D���n�I󙷻��%3�n=�������p�])jW�E7���� �"�g�'xF2��,�V�Zʯ�vc�6���o�J�f'��g������*�nT�����������4�͆1���*bl�է�
4x#���>�����4gWS��$8S����I~�g���T���tɝs��,�"�Pf��mڒ���SY��T���kAʦ�5�R�B7}GX�/my�gs���8"Nz�my>C��0�C��y
Ĉ�L��F���)�����3�SAp{�(���|����&u��E�w�9r�H�R�(s@&�
,~�T��靬���(�⡓�:XM�*4����)'It�+�����[0���P�u~9]3jj3c��t�5$���C>4�`�'�A*�����L2�,�?肊��߮X���Վ_<��-(8���ՠ��m��TecS��� ]pɠ�!��!��|S��<��G��Ba��|z�5�5(S6�6�������4l~����t���rd��/�Np,�k%���`�ٲϭ�*�U� =x,e�ѣ���N�V�����64��m̞�M�?�����!D_q�[�R޸��e���h�����?R&ݍ)֙~�RMO��u7�\(1æ�o����M��[1k��]�[O��K�B�f�!2���I
�ew��� ��S��4d��Ũ�<u
�c"K�t�ν�Z(j,q��V��+ӄ4�j'��=�`?�]7x~���i��F�b��cx5����!�c��ڮ�Z��x���N�J���4�|N����r{���X�oMgю�X�%,����vх��O�h�Ys�	��bx�#q#��(��T�U�F2�p�Z�9�0#�ȕ�2v�9*���F?RP$V?B
�j����Հu%�<��uĻ{67Q�>3W���i����r�3H�@Ha���Pv�:Y�N\��7�����0�&�s��V�t�Jr��ۗ��tZ<�/�=+y��n��ءJ��dz����{[�Ќ{�ip�dt:�Hh�ʌ��Fk-֚�-
��Q��0�UC�0\��q":�7���M�,�|+ 5?�;9���;mj��(��†í�!��8�z��M��Q#p7wo[]9j'�����@�Y����}�kE2BB%�cߡA��Ht�$6C�0�V${� ��J��&�����<��4|�s�s��2���N�� ��9y(J^<~|�}z��{�CU71y[�k*Ҍ����SϏO�!��&?2sx#l��L��CҒ,AnƅW�	�0hO��h=���t��l8�zA�����ӷ���I��SR�b6�GH�������'���B=�"�#h9h��>s����d�єI��;
��H����>_�4L�C�*�@onpk#�w� 8ʭ���O�p����ݚ������-~�[��+�q.qw�b��y��Iq�EA7"��4��rY"w��_��a��n��8�(v7�{=F��0�1��Q�fMOw%�\�5�a�s���ةN)�8�H�+��Es6*b��b�M^顁x���q�9�BT�i#����X���#W������:]���uk����LʦQ'w}өz`�0Ruթ{AQ�Yl�t7�1O��x�����L�<���[���AR�UP�NK����A�?p��'�=�ۦdS:���N��z�:�ѾĔ�n���/&�݊[
C��)��x�aᐯ��7�R��j�Ea���Cԅ*���zU'ԯ�z����K�n�3��d�`�[�JE^�����V�S��Z�ۖ���Vg�6�F���*7W�k �y�2�㴳�M��*q���lh��ͤp�l�,G���*�0�Z�aӞ��X�~io�W6���6%��R�2�
	���nj��X
B-�:�6ΊӾ{��Z��B�x�T�%��c<ia�E���%9dMԜ	�r���
��Q%�l���\_��r��G���NX��~]2�͠8�N���a<��ƿJ���Q��UY�I��@!)MLpa��<+w!F����YT)L���c�������߉.����2�PXc~V��{1�[i$��+�$���Qz_v<_�;;!�5#�� gI�	[������o����'�P�C�|�y�0H�~DiUS�
��@�\�k��F��ǚ,N�3�N��wl�&&����&.�Je1jMX��Ւ!!$�sC�����Z�>�V���e�͈�����)�w�S'>Z �͑�m
{�gk3���J�+���Y!��#�;_�������Qa�>B��%��b��
�ԉ�/E���n���\�7B6��'���!�1�|����CN���9�&S�K1���`Ng�݌�!�<�[��C<��q�n�;K¥�8��u�Np��d�I���Y���nO��t�ϩ�׫4%$@�)uC�� L���C���IT��E͓��e"颃��'����ˉ&�������+�zp��[�~���Q�t��݃u�}	�Cx��
@�,��=0��<�%�Y-8��`� Y6�,�˦�P����!��'�Z���&α�\բ�����x>_��
�ȃ~�{�`�s�)
��
B��F~	2|���ͨfK��չ�i�u�����V�)��*�^{�����lj�T�e��,��P7�>�~��K�ʄ�τ/��,_Q���a��d�Vɸ�0h�|�Jу^:c�k"�c��E�5!���q
i�9�#y�b�垩_F��k���zR"@�([$�[$R^JL�f���V�Nl�1h�ÚN��tb4�6�s��]`}�2"1"�d����<�S��	�뉢[OU�j�Y$��缣�{3���p+q`��,�y�8$��[��Oi�
��2�'5yT�uB�P�+
G|)� $d�����8��0�ɣ�Iڂ۴���?֎�U��r�9M!���RH�X��
��r��K���~L[St2`�-�aa1��<-�����P��=Tw�P�e�`ѝ�K}8��|;��{Șo���hc�M�,Jֳ4;�I=K-�_��[
F>Q�&/(�e�j���L�B����ߚ
Ě�2�ᔐ�"	��M�Ҵ3�E�b�6��"�/6���P�<�&ǻ���ش�rǼi�g#���U�%d�B�tc�]��3��!�g��������M�-�D��G��-�⤤e�(��e�1�w�]h��^�L�0�{�����M�`�UY)�\H"�8S{��ѿ�G�CZ�l����P̓v“��Cg�R���/7(?53*D �Cb�3��w
B������Q�'t��<�o�S���Uq��z�*��eo]����_�z�e��'�Ҝ}Xc�����ȡ�́n!˓��R�O�AL�t`��͗���Tm;#3�K����]��A�Rpr`���@H�6�C+uQ��x�a�����;%2$xZyhf�����0��;�X4}n����ɠ)�d#����r�^���{JW��gW�}Ek��BA� 4wI��3&Ϣ1�U�r�ƻ2�
ݺ1o�(X�v�U����c�i�'�5
�з��?J<�hFUzT��~t, ݉V�c�&��z��aU�����.�f�S��!��Go��#}��	�9v���/m�Q}��)�*�Z��]	��*|;�ړ�{#78�&ǽ�ч�l�
��P H��)B�q/�0��O2�3
f$�^�p�1�6��(�"-��{�YW���S�ê��۞��8`:*V���U��T�!eq/8O�y�*#>5�t������%k�n��v����W��#I�{]Y���:�#dj8|"��3U�(o

����Ep�ɘV3�Uj��y(И��je��Ji�����:�Xo�ѐ[I�3Ru�,�t��#N��΋�k�E�|�)s���A ���Rv�����{'�#g8S�I�2��˜-v��WOj��%�������sX{��rc�Qe��"+Gu��&���8g%^��9�
\{$<�2��V;��S��#�R��3)��h�Zu�iF~��P��,���<���]��x����}�����<]�ٍ�'��]/�S�����3�Jɧ�[��C�E�CSO�V�Y��Vc�d�7��VݴlZ,�Gz��~6*"��V��Jׅb��b��)=9�ޓ���h����UU�&�ʘ=�ɣx��%D�o����t<���`|�Q�tw	��6�Z�j�Q^ޥHMe��-�i�5/ �0�W��m�`�M+�)�0��@
��$o�	x���4�����ݗ1e�]�I8lV�Ӊa��fH�y�$>��R�#�RG�3}cgt�P��Y6�Q	�${�#%��J2�g�.Ԟe�d*��f�������-��Q^0�l?w{��드C��R&	I�_�'��/�W��Z�_g���Z��GH���e��!t$ݾ}��1�3=�g�Տ�UNQ눘��́9���'׿>(֭�PRG�l;�0�(v?�|!Uul(���)p
�ԋ�J��Ң�X��1�~��k^{���l�*�Q
X#�$׻��Fʎ҅�a�hw~�Q��������V�\h.u�>��;�u���r�]p]�p���ڪ��B%��Ɖ���y�	�ã��5}��#���v{u}V1��\�ո��t��!f��,GZqz��zHJ]ϑ���FP���]���ƣ��[��`Ԧ��Չ47ћE�Y�%kw���n%�Κ~�|�6�{���lMcE��l
i���a,cCNc�d�G9��Z~���-"m����\�����
���7�l��Ei��+>��e<kϻa�7��xU:�ղO��7-d�*1Om���&\>�y�3�e�Bg�g�Ό^6Q��"��B���S�2�wŃi���2�cVR�a읚�n�J��-�8h�b��~*ۡD#_��kɛU���<t��R�D�ZV�T[�WZ>.����U�*2ʦ�8��a���V�k����bzqz9�)U~	���Y��xu|R�"���y�A/Gg����~u�bJǞOb��9�*qrz��J��_��yE��%K�F��wV\m"�HE��3D9=;����"�A���|)�g��������*�ܴ����[��g�#�����ڰ�6ڗ��2t����՞n)ɫ�i{ږͦ��6�e�0���,�f�M��Xi%��I�&01��Zh!�s��ɷ'�����ʁ�
|��'�-ɷ�V�--��$�$��;z�
"��rM��%╂�4^"b;qhj55�'�BwSo�D���������
�$�G,�м�ə����9�HM�-'lY!�P�Qt�X�KC]�9��b���#�g��Lϭ�� �l{�`vm��E��&���Ŧ%�4	���=��顱�u���]h	A�<��$!H�(�����8U�2�������V�9z�k1��U���(X�'�~��l5t�?��k�Ɗ�kE�
O�"�
>��uE��!k�j#u�4�Mo�"{��2_��6M����y� �%9l�H��Ɇ:�o3d�LǮC<��+���
	9�,��g�[H�i��*4����X�-�
%�2I�#n,��b��h"ʼn�}���8��‹hA?\��?Z�=|9��U�c|ح'��ƌ�F��>ĖWȩɠ�Us�R�P�PoE��M{օ��O6�L��Tx�r�uͺ/|�U�eV�ƥUl�m���^�{+2����k��iS^�"����<��[i��Y��<$�
�����(U��ijN\�@��s��?��H��]�5��?,�NP�cs@er`�D����C:���l~n���I�<�����2���G�8�������2����%ә��^���9�e�R����aj�A��F��~�
��kU'eRJ��K0�2t-�2��7��Gu��h"s�����cUd�Zx`
��9�iC��m�L��vG�J��ID4x}�r�Db��P¤�jl�w�� �S�����������]N�G�;���+y*�Sjl�g�c�,��B��O��h�b5r����"�q�2�1E�(�*|U�X�/����}��k��r�z��H)���[�iF���A�DZ����D�q9m���5����������wn|�#�2�z�D�w���3��$Уb��KR��=������yছ�XX}&�RӼ��\^���i��0���0��}��&��U���3�����Po���#��bS��W��x�u��n�J?��$��A������vߕ]�b�6�������ɓ��?T�gH��U�=$�^;�.��
q�������q��N�I��=T���4�o�<q[�錧�L\{�Z�]ބ(|�������.���{{gm�Sr��}2��^(�\6�()7�����>'�r�5�'��N�%㼄�C�Ts�KLV���'��sB�����8�䘇�j!V��-\-�&����Z�h��e�K��Fm���3�g��٤�n�jz�R@�¼K[v�dL
2����iӾQ����(H3/�lO����P�L%g�0�:Rm0�hU
U�c0�����!;��J�m��k;U��d5c��D5��p��M��}�����}8.6b��o�l����3^�&���4���+ˁE2��
��a���fX�Yj��ö��8P�&y?�,%{vC�%@*7�U��X*�$/�ڲ�C���,/�$����
5|B��-4�T89.�f��B�����ʹ3�v<��
�{�2Y��j�*�M��MQs�
�kz��4+7��2&e��hN����h:Wި&�k��h�+�\^�����>yi�.�*�0��4[.0`Q"��_8m`&��{ԁ�XP�4}����g���A�u�MBcJ*z],f�&a��F��D$#��IExKֆc��$���ė������E�_b��W
�lZ"�K�d�^�
r/Bq"�.���F����R�D�^r�ӼR��7�}/-q��ҳrg�r�Y�F��C������a\�h6+O��CN�i��X0�k��3C�XeCۇ�_)b��Z
�u��.V6�/�o�`��-B%����j���G�cy�Q��c�y?�����I
:C2�t�	sec�,NnٽijzH�@=m�
�%�J4C�7�Ƿ��I�]��p�D��;aK6�	�k�܁+6�f�Q�j�Z'r�.Z��:`erI{܏Yv��~"P�u�;������꾳�Ĥ�m�L+��v�~�uf�V@�[�H�،n
N/���W�A���AȐENfg��a���Мc�꤈y�ٙ�p'J6I Jl^�L�)��
�rnk�UƁ99��ޫ�W�Qd(wk��¸،��dO&n�ˠܬ�n��w���f����R;/���嚎Ĵ��M�L�Z�M�2�dϢ�T-勵��p ���!pN��F���,���űiGǘu9�'��1m0X$�E(J�ƕGvJ:�,�7�[�EC�w)Bm�/��Ƅ�H.2��A��K��OȔ2�:�5<����r�e�x�ؑ1�o��F���n�Zc(y	c�MbT"_����*X�Y.�k��h����X$f�&�Ry���o4榐�TY��k}���쨀dC����N�N��9�a�S~�+m��g����Vq�1�$�E/��ɓy�)�0B�0��|#Ok����]��L���m��w�F�!�Œ�9�v`�kڞʧ��kV�t�JZ���w'���< CwbU�ҏ${v�0K�N{�y`"W��t@uq*y��ţ�_:x%���P��TC*��O!K��+���*�����P���Y�⹎�C�+2ry�F��%�@��'�O_�:B��m��vU����#�����XE�m*7,�`�J���k��m#��R���˅WS1�c�ɾ��C	,��g�G�DŽ�Z՞�f?ݘ�qAw�9��h\���A�
?��N�*�Cs����g'|���L��5���w�VUp�ל�P.�����0%R:$��@�E��ID2�y�b�)�^ƏuZ+Q��v���{�P�Oe&Ǣ�"ꎊ�����zf�9��\����F�	]�yN*�)Xg*FZ�9��}
Vn��V#�o����-����C����8E�-DMO�ʪ�[�W^��X,�f�/��;ƶ!U�ӫ��S��1A�x�[B3�-�;���;�����-�l�8��Q㭈��s?�2p2�Y���	���&+�"�>��P�Ao6Z�
<N*h�?r�4u���8���D�T���m��{�/6P�Q�v����2�I��ӤI�mIh���#��P#d�#��
6P�i�VF���qA�=Qg(�!��+�a�t3����/q�[ug�	ۚ��ߓ�KE�3l����KTHɸ�fLJ�+9�/-�HS�l�C6���vͻZK�ڿPd�hES���y��_Y�[Ӈ~=���`��E�C�po�q�K�h�f�1����b�
v^1��<k�����u�Hŕ)��Ο��˴�$Ӛ��5V�i:8��B�/K\�N0&Ċ|եz<e����R����i���|�H�}	D�D=*�*(�A-��_(F�Tb��LFk��t��!s&�)��E]�xv�u�H'ϧ_�"%��/'�g5J8�w�4g��n٘Wv��B��T�ʯ��z�qǧ��HX+@3@�z���˦~�����A����d|p4�>4�	VEE�0:`wk�;�iU��<�|���/�;��b���7��:~��A���1��%�g���|8�"Ybd�eڔ��y.x2<��;b�a�QCs��7����<z����9i(�M�ݬg��I'����gI���G��W�Z��x�Y�;��tXL�1�ө�|��Un�/��Үg����T�̔CK���ͬe��9$c��w/D�2%io�2[�v��2{r���i�_�2Z�/;��X�����)��5���j+m�m�g���)ܲ��>�=��OT�3�
��#R��{O��G84O�GO�t��v-�M\
�(�g���Y��3`m�!R�h��%_�&�hA��v�ɭ�1�����H/a�1'ЌH�#� 
u��`�{�cZi�s�r�J'N�sR-
�"�*��Y=�����qg|dуd����k1N��l^�@V���!�ȅ�h���:h�w�fO�D�ɶ�&�׼0y#���m”J3
�E�[
�C��,���v�
�.�K_ꉍ>�>��v�{o�(��u������UEX|]'Iߦ{)�|큶Wok�;�'��b�@/�f�����M4�ZV��
<����zM�ue�!�Z��m�����>�I���J
����H��L������]��(=��ĕ�$�pp����^���3���[��P	�l6�Q�H:�5N�LR�]��c�]q��27�
胾���:ܬ�y�֨-t=�Eh<�%�8�Ms=��"����J�8g��m�1�2��.c��i�}�}s� |��}�;{��笣�S�|go��S�Ňf-�V�*��z�D���oD�:��Ʀj}�|P�hz�e�R��N�rv�(�����>�X����������Ow#,J[t#��3�宩�ۉc<�R��W/�%���:ۛ8�"��HXy$��%'%��G�k�¼��s��ј��[��6^/&��Y�����RN`�|�+�'AH�T:@ԫ�+/+�C̝Ԥe��-l/��6�LKT��Z���&}�F� Ŧ�������J/1�t�?W�`��]�iI5�b�#�R`�
�o1�f9� �`C)�� �����'�5Q�։�~o��|���N`�aAM�`T)�0�j'z�w��`c����9����iSJ����	F��%l�	tp]*�~jY�����
���(�H�6���5T��H�ӊU���G�o;(�P��NǞ�R�7����h45�$�L��^�Ƕ��|�_yT�X���,E�@��(�x!)O��m��~O�;���*31���dD*���iR�j��ʹ�g��22|�Q+�v��^��Ek�AHP�����g]3�R��
"�˘lE��i�9�q���4�?Q��o�'�4ײ*����
R�5��3��l�Gg3�Ul1-̩�
�A�H�Z0�$�����2ͤ��p������WuZ�4�*�x-�{����;yE:y��d��6�R?�&s��a9�p�|�hՊmz2f�}��?Q�D�_<|��s�����r�9l�p�cŹR3�q�uժx�Yh�e��]=9��L��s��x��D_���r��,��1)�6�`�ڌR=�/���m��_�JLgI3�g�e��L���k=����q��4�N�F���z�-�݉>a��;O�ї��n�iR�g\���V5(!�‘�M���WKe��7	��I_�bE�`mm����t_%$F�\yh7$��k:����jf���9�=z~?��Y�Y��CH=O��=�ؽ�y���c�^w���MqhcJv������Oj����Rf?�����PT��٣��\l;nXN�U�t��伵����蒞�cE��/�׀�]��>-e� �]_V	�dO�Ƃ���ǯ�U=`�A����9N��sX)�:�7݀�����0גq�Y��r�:��ڰ��FR|�������A:$昉=B"��%�d���3l_�(�gMZ|��|��6v��t�	�r�*���N�嘝SN1@��u_�ǵa0J�Yl s�����yE��8C�V�,hDI&O~`cJ����x��]����$��a�'�k>��do��u��*תl�
t�d,z`�ڶ��U��0S�������+�n��ʧ�i�4�׷��I����Jtr���[��X%��T�M�K�n�k�_zUBLdg(��d�@٣�P����2��"��)*�KV��TǢ����W�%���9�൏E�@匞e}�ùڰ�Ld������F&0>��2�;2�)�o�Ga�x
SacT�{Lx!n��&���2R��]X�{}�v�[�!�7��,D��l��4I+1;�V�oN�X�ff!�_s�ނ�-�eI�d3۲Vc�~�:1�#�p�=|�ZvG�L��s��W]�w��gV3�H��^<���ψnNR�>�B)�X_�5߹�)��4xV<h�0�%��+ ��i�察�ᠬ�
�߂�3���:<���q�6Lw�[CRC��*���aK�����c�X�8��Nª���{m�J<�	F�y5�Ys{�|q�c��I��#�؞i�i]�i'{@a�̒>؅�@5�Mÿ|ִN���N,���mL{�CUE��R���u?}��3�� �G��� T�6��\O��nS�!�:4���uO��SN�{dp����0��gz�b|����|8�N7g���z�����E����s��̭q�ש_.{LY?��u��M��o|�H�?�!Ķ�r@����K=m�E�w=9P�ހ�����Sc^���ЗJ�<7�s��,�HP8?HMRD
�Rx�o�o$������H�1򓽦�?�_���Ylx�����׆�}�4��>cNZ��X�4L��U�С�x�#�`����$-�!��9�t�i~�t'2���f<��1��)�b��0e�F���3-��@�A_��۲�RR�bΞ�T޳
ͮU���H��x:�?e1����t�I{g��E�Az�J�/ʚ�tעṗz��@�]�Y�ѱ%���fǩ_ǰ�7i�r�ƒ?@4]�_'p�����dy
�k��"0��؄b�da��P\�Y��w�Ƥ�j-09߸����cz����z"ֵ݄c�ʤa�s��o�}Z���QEOn��ذh�'�g�;"����y�9P��@2�(�jzR�+��X,�!s2"m�򍩔E�}���<Hu��V�m��~8��;w�d)tU��O��@����G'��[��Gj,�Or?z�ڿ'))hd���sa���5�|��UǴx]~��i�f��Z�W��S�	�u�q`6�I��ӹvMS�&�d2ly��4�/j����g}�Ό��`��㒶��ĉx�$�1k��m��k��;�p��D��$�"��!��	u��]�qK(<S�@)���y�� 7��#�P"&�%���
�<f��uL��^Q�f%)
C�u�;1�[� eX�5���Eƚќa����P�f/f�U�<ɰm������˞��u�k��cs��8��u�__
V�`,'%b_D����ݎ�z
?#1��$�R�1����٥~K<�
�I�����%sk�NR�P�-������x�5�;� ������~��0Hs�ߝ�;��4���t���
�.�
$6��&��c�1N��[+x�x�߱�-�y+J�(�O
��i�4$�Xy��3��&+�T�A
y���+0|ȏZy�|��>�)����µs�*|��=�	�eV������|xՇ��y����oPR���&�}Kx7�fά_p����l)�yx�{I�Jw�J�n{W.nu��_������܏s,O��~�O��9��W�m��/��4�����O��X�)��\�4�f��b5^�\ӯ���2�="��	瓒��p��:�N�,)�J���=�6��r[X2�ܞi������d���J�4�s�_���P�ya�Tw���t㩍r�sb7��iEnTI�'m�<�i����%_OSW5I-�k��H��F���V��Ǟ���)�w�&�wWP�
!�1%;���z���;*T��k����ď��R�Ϡ���0��J�-�b>��*���P����g��J�pkH&��Q��&F���}�J�>�MYܣV_�D*��jMVُ�UF����	�KC�{����9��qD��.Q�ھ��7
�Diw�MC'���V
D8���_�ü-�����
�m�nߴ���g���`������~K�;(:ڈO�h�v����E�Y7��C�PN|�^:��t��ˎ'}"RObS
Vh���R�__t
�$�⁳�h�ڱ�s)
�Y
�h�M2��m.(�]�˙c�x��:�_��Ǿ���Aw�%X>����Ӄї�`�F����
98�{Q�%�r`iw�}3d�3r��.��Lh8�l��-���_���<��YG����B8f���{�S���q�2ɐ�F���"���N�yC5+�삦~!��UF���f"�&��5���"��U����U�9}�� t;Lgg
0A�u��=��	]e)��?45h{�I*�T��=�ʥ��Y��K7P�I���^t#���#V��?�����_�i�!�r�H�9�����A��j�tK��|��N�V�e)��D�i�q�1��e,���2fUX��DP։p,^��6ԏ
,4$\�<�gOOɦ;?������,��=�L�gy�#/n��o�0P�X;�{jLf9�	m�s��u\z�ʗ1��G!PpE�Z�/��XqJ�~�5_�³S�:��V�
��H�6�L%�:�_u��c�G?O��_��]P��eč��J�p�W�%�3���dl/�`⡙����L����=��ڇ���z�Ei$��ɔ��V�����k�#K6w�u��!?#���;C=a�Q:4'����vg�2w�w��5�3���&5����.��.T�����s��� y�-�~F��QF��Y�}���s�8�Ke����H�+�W�ZT'�Wʕ�BS����ۿ�W¬���.L�qF�DE���.Re&K#�t�?��#���V�v�D녤X~��_>y|�/���n���G� ,��"��U<�&�]zD���7)[&f��D$�Yb���@3M�J��VkZ�"��u��$JW�
V��i+u~��%S;��#�Ց2/�����������$cøӓ%'��k���H4�/��
{A7��Q8����J�d�)��3�������mb�n��2j�f?���Bm��(�Z�+�92��>c��AR&}�攷��)�`i������Q����U�>�|�E���W����hE �|WY UV��WfTت���ߊ�
y8�T��*qG<��O���3%T��qG�zvЈ�6!�*���0����4Yz\O�]#wތN%��J�Q;�5��e�!.��$�{�)�h���U�����uK�j����M�Zf�,���S��������;>c^P(�#��ٍĀ."��'�hlv]���O vx������^�W��xz�O)E�A�V��Ir�ڸ�X����~��g����?�٧;�5�z��y���3��|�����������"r�U���2��@a�i�@������3�Sb����A���™C9�"�����y�N,�~\[���s3쥜����Ҋ9S?R��)ɿ�}�y���ê�'�m�A��4D�7õ�W��P7v�ɣPE���4Z�y˘rr��Mu�V���e����jmn�2$�|�u�d���_�:81����Q2�}�wv���U�I�&�y��ɥ��3��Z�D�
'T�S�-�mǤ�U�^�D����e�'����p-�=RY��}$���
"U�w���&Ѫ��eD� �c�ǁ�([7�LP��R�����G�6W���Ɯ�Ym#Tl�f�)3���]�^P	E�-B<��L��j�~h��&G�U�b�
���u�cc�J��M�<��哼��rU��f��=����G!rY	��e�����`�&��Wi��|��R'�\���@ٔè���jޱ�
���6��>���a�`p��1���R.q,�5/�=�CFY����D5�����	\��_�M0��1�A��ɼ��_���h�&o��w���b��	��'�A�A5Љ�uP�7-sᏜ7�;�B�J��C�<m�I�9Wߢ>�4V�_k�Q�ӎ��ţ2g5�u����z6G���X��ì��.Q<(��
��E(��	(1����\WHv�9��:E��!&��4��@�ﮭx��i��qJ�����c AId�?\_�f�����'V�$�O�h�s��9S!E�v�~c8�8�ͺ7~rY3�X?�n�G���M��J-a�;�7��j���sX"9� �uL
��ǝO�[C��E����*�Z�����E-���{�n��c9��W�W�ئxCpqO~���L�m�����a���wR�X�Fv%ZjO�98�����wh�^���j�%�x7���������kj08G��������R�������,��Ew>�R�BM���0�8ZDŽx��ip�h�CX�h�"s>���k�� y/f�CG����}�e��CR/�����T:ë<;e��.f��)�G��-
#:L�fE��a��i3�!+�C`L�)\��~���um�ؓ	�¬[�b(��n��$~��9“�T P��N�X��U��bp��ʞ�E��%��7���mLgg�a��z��3�'�����T^-���P�LQ�Rﲻu��t�'��:�ͳ�Ǒ��ą���gd�*K�ƙ�p��h�� �c�l%NN<+c�Ȳ��:�m�&�k!6�I��g��=��]���7rb52�
�r��X���*�o�p�i)V+9�/��Vl��/'w%@}�R2�}�N_�����]'ч��r�D�`s緡���]1y���2�� �sc�tHϋ�X�פ4P���V,��e�DC������]!$�d�b^�">S<�E��B̒����~�:ӯo���@��I�N�**����x�>�—d���=$��iY\�ٟ}�����_��p�/b�M#�->�G|���g���S9�|�K3���gf��cM��n�u�g���(bmo�=Ib�P�l?��:3-�.!�#��Ԗ�����1.,놧a�6G����!�B�R����R([�[���s'أ�2�_9- 4b\7} ���]ư�Cʞ[ީ�)y�N��S���֠^.�H��Iܗn����@o�nӝC���-KR��d`�{6��D{����^e��a�vmE�l��:|�;
?R�J�=+���:��4����4��śp~��i��X��%�Ü�6�v(�*0�ϙ�W9��&M^Ǟ�����vI��%¨�H	��w�3���FJ�;y=02��c���u���6o���Tqxt|��{�(Z��F��J0j����؍sk%����#Kd%�.�$uv�瘧9(my}�I2�8�$ϐ�{�x4���U�������*c��F�����[�)�!��e����ZW�&�YWԨQ��^�U�H�K��� !-R���9io����S�@���x��بw��>@5\4QΨ�^3�d�,헌�<Ԣ�"��A��Q؍O�b���vD�#EEH9�Ut�������a�>�.���C��ˣMkM��{�Uo�����y��`pv�}; ���&h����[��g�(��MKje8Y���h.�n�Ąj�e�X,}L��pdx�>���T�2�F���w����γbT ��i͍��+�����t�5|�����|.��B�А�-�Wt�7tݽ��1�k���"Lo
\0���Ľ�<������Q7�J#���a3P?B��� I�A�p\�GZ8�QQ���nǦ�k�%��Le�4�+�y6�?�˦��nʛ�od{α�A�M��a[^��Pʗ��V6���ᘺ����,��SI�ƒ[}@4�x�|_�h��W)6��\��`�3Y�u(�W����)a���T~`-�:LhC�l�I�@�:����x�?�4�	��U�}�>r�[���Ҁ0��ݢ�a�[`}�^aW$�G{	��|�)����\:.4��,r�I[!� �LGC�'GЇ&f�7RW|�	�J'6i]͆H��ԟG��"���Vv\��2@v�=ŸDx�hs��=�L��:��V�#{�'�IJ慥3�{���+�ɖ�ƿI���<	E�)�5BS&�a��2�q��WY��l��I�+,V����Kj?�*)
e���Wݦ���+�0�S�-j��;�
T�3�a����0�?e��^�&��uٱ��C��D���cTD@�Grܺ���|ӚO"�Q��.p��U�L�DQ%�;�֒I��c�z���V�V b .Q]��^R%s���[b*kl�Q����Wc9��mڜ�׽�_�K�|��έw��=�3p�D��h)Ly��ЮJx�p0�倳�xQt����+�V01�Z������]箭�eTS�m�M+}�!EƐ�WD������"[�;Nf
?Mic3�QR!�t��
˖mʽdVg�ʘi�	%���Tiz����k=0�]���_ٷ��z3�;�Ut	S�5d��,s�鹎��Od/ZV,��cQ�s�N�j����7N��?�:0�f�Q�f�zfӄr�F����xt�%ɞ�@��2��i��m��
^��n;�o���͝���ٓ�=#�X"dļG��/�:)��|i��rza����,�M�b9S��uz��;j�:�H���K��,�1L���λʎ
���x��@���rԓ+-�h0��a����
º�u*��0PA�1Z��J�jQ��S;ث]tݛ!���s��'?8-<6���nk����c�
�0i޼��~�߭�.ϯ�Q8���E��ۦ�v�����a�F�GQdm����Ʃ���%]]=7?}:�ζ���G<{�Ax��X�h�x�����T�Π��eTT����J�@��̵V�9�~�W��)�����$��V���g��^3|0�_�+�~��="+�[����%{�:O��Q�@#]��m@s���h�0nF���j��{_��/�����R(	9�l�y9���o|\*Tsh����/�6����c�-�yV�)�����E�i����}���:�i��K�n�f�[ΐѺY�ox(2���3��o� �lL��E�fG�*�#��!��H��XU- -�������^JC�z��7�UqO���������FӔZyG�iH���r���훠	�~n�Ϛ9�=a�rˉM{}$�Y-Z����H˓���aT�38�Խ���\G�֯r�}z�-O��?�S�����+4��q�r�7����!dә��?m�o7����:j��|28���iE��ʆ_M���Ch0��~_�*L2O�8�r�QǓ�F�7
�ӈ�)��qtt���g�E��[�q�G2jG�C��Y���w�H�Q��O+NިԤ�\/�ge�o�̻�g}"�}H����	ֿ��¯_�C�(��������O�RS
�0�x��T����fp������av�L'�����ns=���wX���>���SB�6H�YQY(cRVW��G�Z���f"9������,��S�ۦNK)�|cI�%34ꮔq[X� �7/:]{�I�T"s~�YA�)��X,"v��?+��	|��1�Gh�q���!�W�,㘐��vbDC:���׌�XaY.OA�)�T�B-P��)�Q�D
鲚62fR�VF�!�0=�Eɒ�=����:8�Z�rT�
Mh�"8��k!
���a5훝�O,F����(ר��7�%$�:�rz��A��_�zd,�	��e�7P�P��V�S���гt�$��'�=���`e���f�9ꌎn��3q����O4���7�7�n-��"XՉ�}�j�4lF����`GA�4˹S��L�?�5Y!u�W�[4�yW��k-g܃r2׶阩)�� 3�Q�h,�$�a�&�W�w�ź�]����A5D$���<o!7T�⊓Ѽ�w-\/����|˳�����S�[yX:���5H���
�5�#<-􆃔A�"����N�x��ˑO'�a=eyK�K��sRgّ�L���(/�
�o�]|m(u��]�%oT��?��BfLO���c�f-���"�,+e ��w]�ٷ;�f�8�.ڐ����BYSݷ1��۽|��\m�Vk�k�����y,�̻��X�p���ώT��a;mK����Z�~57ó���O�d"C>�Vգ@~��Ʋ�`|g/V�z-�0�e0z?:�+�5��'������Oϣwaz���ս�!��{Elɧ�^������w�
+��2�5����Uj��!w<j�<�NK��̍��ɖ�@�����UZ�V�Q��%C�q3���x����<��>\*_[��Yqf��Q�RK0�<���^�Hor{R�*t��E[�b���wM��uk΂S�ݝ	�0()�0�#z>�'��4�3�\r�V��,F8�������<t�6��n�� ����|��Y%�R���p�H��n�ԛ�b����"iH�G��۹�6��:����@�[`��>^�`�`������v�M��4ڧ8�;)!��,0_@h���ֵQO����;�~;���(;ÿ�r��߽�V����L�1ߺ�XO#ld��L�&�[W��Xx�
�2�+3�v�>Jb}�vw�ZBAke%�Q� �s�9Y�,+1�t�MwZn��������b�+3_%Vǭ�Vs@*�`����'%'����K�����$fwFχ.��WI��f�6g���/�Vl^���d7�55������-x�!��uc�I���__DT+�D�����lcĘn��@�|'__�"[�U���ɭG�}Ն�yKd�5)Z����>hc�wm���ϬDd:W��ٔ�@��O�Ҁ��ڵ��J�PV")z98n�;;[y��Y�9��2�W�NJ6�_�Ѷ�H͸��}4o�N�H�A[O��Z����S�s�4�B�sW�o�k��'xki~�Q8��(���3Р��I�x�������S�꫄�{�(�b#!��Q�R����޷7�;��O�`��|��#(iC���_�?�A~e��3n	r���LO�ۻ��LBh
��yc��w$�z�#��I[��Ӗ��0؞��ր��Κ	�@��Z9��[��#R��&i�Q��r��t����Qw9�|��R���Z�%&���;Pf{пB>��7iB��μ�`�Ւ����_\�h-'s�щu�x��v���P�3�2�Թr�)��
�lgM�Sz�+W��dz8c��<!�ZXܪ���U�[�ڎ���e~�޶=t�z�K	Œz@�C&�A�|_�s�WTa�+�?�"w3��U
��5��v�㢵t��fn-4�5�1ē�J=��;��w�T.U�p@n%:y3�D#I�"�^�a��s�U�בO�bu����p�=|��VV�[�Sgp��2�i�S�3����!��Eʩ�fh�ұ	)�T�e��W(�$��f�������p��'Y������k<g����s0@5r�\ñ<����>{�G�p�jY�\���#���{V0!P
�P��w�
���$����]�}<��&�O�����W�_�$���:��爋�;r=n�l����d$����̓�b5-�ԇ��9�v�l��D#C8:<��GU�Ǝ�D�K������Ƌi{�"�>'�i/O[%h��3^�`�&�7G���Zsfۆ��db�:9��ѴM�M�)�v/Ȝ����fm��q��;:�q'�,�t�c�U$�m`�	�=*�<>9��V�
(�M��;�f���|���[�[�6i����1�م��"�;�\���^��V����w4�MS����ҢU�A>A�vZ����w�$!3~�a�`���z��hYv��JC[
0`GF��6*�b�'aص�3g�s:
��H��WiVq���KtB�1�Q�(&����^�:���ո�xg0����<�3űQK��f�Z�s�\C΍��S ���dI�ו��Н�ρ���Q�<�g'����fxT�J1]��X��Dt��Y	t�,3�]յJ�4�U�g9���=��I�x�]��5�LM��V�9G�'��}�c~��bӭ���z�뉡_r56���#��t�}��>���(?L���jcqu�븞e�����w���ȍ��܏ͻ�����'�h޶�i;t\}6�ay��C%�����V�gY�Z_<�f�.'��;�;���.q[^6��*"��Ĩ݁�'Vj��d�F���1C�S<��6�%��O$�x�[��O@hX{v}�6n^�sճ"����{�!�.IAN�gV,��U[<�'���^k����j�[�-l!�&��#HDrs�iC��|���sze6
��Kqu�5}2��b���,F1xP��s1.T���y���"�s�D�_��rk���D���	J�p��a��o
q^"cd���oa����5����`Ǒ<�7���7�L	���kK9�_������{�)ݹ��=��6ӹ��4��/�T�-�F�\J�F�fp`UȚl?���H1 V1"a\~�F}�R����_jx��d�*����(��<�M��q��Q�Y ��d�~�T����g�LR?U gV�)������t�_��	<�aSgLQ	]K�g�_�4<�IOFZ�qOY�W��@��]��gZѾh�6�x����;�x-ؐ:�OZMi��:�3��'�!�?���K8��V�mԤ�lL'�v+F��;@9Y�����X�48���߫���0.o����*��n��q��u\`"qN���˚W� (��j��=�U'SV�S����K�P�}��@Usʺ�
x����;o��7w�Xe
�RBL;"#�Q��e��3с���Fg�iB����$1�Sm]Aw�=�(�p�g�e�ANs���!�p��!sF^I^+�k*G� ��S�[	R�^%����*��p��'pUE�Z�&"�R�w�b�nH�w��c6V��P��C��ȍ��.���^i��S��$�M�1v�*�Xy���p�Mb��:¹0/�j�����B����F�ϻ�H"�3ل2���l�r/Yw扜�p^<���$����#"0��I��I6z��ќ �Vab�u�y!�wͪpS�����'��e�N�2"ܲGv��Ogif>/2Cf5ZQ�ɜ�`0PwX^��˧Íj�����X�6�j��E�i��zѬ�\�v
�Ěi�z���[%Y����
L	���T��?���:jV;G^~��>�[{؁��p'kX[��ͪU��%r�@�C	�9���@t��2��2�ز��p
%̬�&0�G_.;��	7�#�;�}���;��϶����)�H�An����Tk�-j���eq����{� �n��-��7�Y��!'�ޯ�/J����#@��ʻb�M��<~;��&���nJ�˒�\�>�_�����#6�e�l9�ǩtDL��Qӱ(:<�Z�*�	��ĕ$
*����?�aKP���C8�b���B��Pb���|ƘU/�P��ʖ�H�S_c�0g�;��f��sA$���m�iT�ǀ��3����3VZ�ˢ�����X��?���m�Gtu�֞�p��>�a��zx޵y�xRIW^t�C�l�oRՁ%��1И�R�	@��DR�7�@���x_i���<�h��Ϯ�eLS���9���wWV�]0�YR��R��U�A��:�Y�!(���sQY@�ZB�1/�<�M��S�*�!1�1��6�X��g"��y_�O�+'�_�F���d >������9�⪀	Xa�=Ηp��ґ�&8����9
!��6͛�8��W����;yGa�w>�̌f��~n�lUbG�(d�C�w%�.�)�sZ�ʦ�	�-� �L�tRd^�y1�*��
�����&<E8��ʒG�{*/b�H�U�@u-@����Awf5�>"�ê*��چ<׿�l(N��UAP�=s1��N�R�,l�/�7#v�Ne����q9D;���I��3$���hdz�og�OP��8+�ư��#�l΂c�_5���9x���r
t<Z�e3͊n�#&�*}iM�p�Jf�B_"��g�Lݲ
qZ�K��Ao�v;uM7���Z�B�!)P��R!T��l^d#�fv�*��{L)��"��c�&��YB��P�.gF��M�i����[���^ly�߄��k}��%���K~%�l��M�����v���+¹�|��C��HsSZt���J����~I�h�I�)V��z��M9S��柊>��U�M7�n�k�$��-
�%���#�S&�X*�I�w�W<��i�"_���(B��NO
�I�VK��cuK�Ԫ��x�	U��>K���n$`��Z�*;X&)M����s�D�	��(��$�Ɖo+b}������}�����&����z���%Lh >ἉNؙ�{�K���ġ�٧(Az+i2�qޱN����7�_CT���7R��f��ȠӟN��$�H�����4
�wp���3N;�ے��	�|K�_(�� �O4�?�Y�m�$��x��#c��4�*�/�N�ړ	�
C(��?9&f�W��=u�l��S��ɣ���������V܋k �9�ܥ��}�&���Q̸���m(���%쁴E��M�*�B���qu�U�h�F2�\t\��
v����V��F}â�2��L
ܧ�ܳ��/ ��(漤�H('du������bg][0i��5�g����j��֘�ɳLn�w�����4�>
�Ϙ��Ֆ�{km��-Xz�E8)m}�5L���jm�k�Od��G0^$�6Br�A�QȊv�m�"l!P��0��s3߯$�#%�%��N���OЎ��w� �V��l+��ȣ���.3n�� z/m�\.�1#r�=��^uSz5��M�:��4v���߀I������c��w����R��#tb��;Nxo��f]���A��]��`�@�XiZC�+k�A�Ѓ?G2�����mhz_='x�`��gI���F�B��iH��@MKM��?4
����˳CSq*r�*ቻIڣ�)�����:d!Q����6H��U��u��L�k��C�j��7����ZO���I�V	�J��Y-��O��f��IZ�-?���}����>�v��:��r���7�(۾7�%ې�"�m����lQ�l�n?�x�/1�x7y��~݅=s���_Z�.-<�Rd����:	f�v���;_ ���1�;�랥 �
V�&�C��
��z����4� Q�<�{�
u���x��T��KD�4�JӞ.<�[
6�k���.������e�!.i'i�Cq���?���f���{M2Ԕ�#C���Nf3��q�6��,)% �0�T7*1�Ş��J�~
����K��lE	X"MAA�P���J伤��¢���D����z�oM�#"n����{�+�4��帵�v����]˪ܑ�\�y��	T�靟�YQ��Z����*���ds�N��:��F1����qhCucj�L�A��t��ţ�'Z]j��c��xW���ӆ֏�m$���e*̵��s��
�FHkS|Q��-*�;`"~c��\nR��O�6�Y�ħ�I����1훿g�J����'a0��엤D�ɀ�%C�q�% IV�p��!f\g<ɁbU�;��s��(�����=^f����E���vة�uWa���(iÀt�(=̠IR�m�5R(C�#��ڑWm��oW�k���/�U_�Qjm���PoO�A�5T���o/����=iM�Z"$F�_�$By'��d3R��F�dB�z 7v�\t^� ?�PI%:�wznn���/vf�
�m��u��>�LJ�UT�HU�6	jD�^7Q�e��LLB)�ɤȧ��ɤaEM������'mR�`N*+�(����>W��Gmz4(Z��Ά���k.�C��߫;���QA��m�h��{)v�6g�*�bg�`��m	��~�������w��*
HF�EraK���v�Q�z �\4�� r�H��i�#T=�0[vr��Mb�i�΁�~]����H"@
6��1צ��t���)��&>����O�M@��� ��D��J9�Tpʄ(���A;p�H�P�����΀E^ޙ��r�q�^�
x�w�v��c3�3!GUyD�?h]$ &���lH��S6g�ה�`GH�[�L�������ΤC�u�~S'�E*�韪�j�M}��F�����2�#��ځ��i`l݊�ܶ6+�&�p
��&�g	/��o-����8�lR�c�|�y���CK�)m��0����I�����Г�2����w�"c'VL5T=��2���&2;M˴	��c��+���;���
=�@#tlȲ5fg��)E�>&۲"86B�^>:yEZ/`Y�
\
�0?z��Et�3�ҍQ���,�VG��-��<���*�3��#�0�(-�@3��_��c�W`je"���.*��!N�_���|�2
�J����a�zU�錤&Sp�SXx��B�f��(��DLk�/d�+oS�e�
'y��N��\�6�����5��e�z��՞VO���ҝ�7����!�$?t}��с���{h=�����Z�<i�%���ͦ�E�����������b���<&�Y$3�$s3٬�͔��M��(~�����fT��u~��zr#�k�Mh7G�❥זK��^�Z����:\��YY�^~�xp��%*�+Bp�Zx�v��l�$�Z�*'�㼀�� �Q�-ͅ��D���"w�<���V����Ω�wT��B�s�!��٫{�c�'.��ogPN{���I>�CUq��ʎ��N��k6���1�JIW6Y�&�k�X�d�8���h����p�2ӓ0��>�B�#>W$�	K��Vj�����gײa�����E�˪�gD]V Z�.���?��zo�K.U�+-���B��{��K��\l �g�~���o�I3Kt
T��}���B�tIr���xqƴ	��l�_D�~ 3Q�%n

]\	f�/'��໯�Y�3�$EP�W
�ۤm���C���t
�s9��n��������~�L�����wV	�[ϧ�`���Z�!3���P�w'��Ճi�-^�hq�ZH�$I�fq�rZ�����I9K=kl5��v�3�����V&�\��jm3Rk)���z��
�HF�kX]�z�(5�1(��E�I�OjN-i��s��f�3*�|	�F��3�?*s��#�8��/�?y�%?�1/}���.)f���Q%�ebu��n�ؓ{�ft���Έ�����v5�JQ���}Z�뱦��ty�yB�Y���?(E�:y�����cӟ����σXKV��F�덍�s2͎��#���V�;�P��m>�w�d��vC��6dحܖWJ��вY�s���
��ǓJ�`�0T9
�o��xU4�ɐ�;W	���#S�ؼց0�]Wʋ!�F��I`"����/�/�.��r�+�K�X�<֡1��EXph�eI|���N@�$W��S4��n�H���/�]�/]!۞���X&��L���4�ן$5����Z�b�nr�U��6�iM��6P��^?}���ɫGw�
My%��<��L���5���lx�6���sc�׿���;ߙ�X��F�4�>�C���SG釉�3�6���p������oM�����o����D8� �w��m�e�QU\���t�	�A!��	>��`u�4+k7)�f\����R��si�PwY�칄���3u����х�[�??UK��X�|F�:�DQ޴�NB2�ޫ��Ѥ=��TZ���03}�jiZ�l'Z(�d%Bۢ���E�D~7	qIV5��W����_��p�I_��R 9�|K�[��^]_qjoU�N�*�$��ʠ��������C�3+H��6񗾌�wziMǚy��k{�&��bw���}�v�A���J��=Q@3��~���LbK�5"3�]�������)���Y�'L>��3��rPt�B'ب�0y�[S����8�I+�m�s�fOzUWy�Й`o�?v��Qr�{5�T������ߠ�džg*�*N2�	�(�,�˫�)��'W"'���qxi�ޫ
C2O�V6=�z�(,�%�ߦ�*6�'>v�r�I���}�Y>ɸ�C���-�[Z&��Ϳ��%�],@M����j�ŮnCKGIm�Pې4{�� �� mJ��P�:�3~Ր�?�$%�J�!�2���a��作f<=��A�)+ن|M2-ޖ�bÏ�1W�Z{�o�K�X��*�+\�j4��-����4�U��s�l�T��19畭Hzk����f�oVͰf�@0� ����%��UωWo	�ÚV���#�-��D?��6qy�`��
#6���2��s~�!t]�69�:����.�`-��iEh�Vs�ލ|Jx��s�7W���YTc5�ljͷ��|K�I���|qg��"̎����dHG4xZ�*X���Z�*�Y6b+XI�!��i���lpWT�P���d�-�un�%��Q��	�6�YG�y�E�����p��t���CÙ���|����"js�PR�kځ�8����,��<��SF�;n�	��UX�i
IrV,�>�������t����C�B1�T7����%�!���|ea5sS�Q#��88�^�.����������˾l�i�6�a�}�
5����o��S�py�!���x#�ь�N�8F��(�O���C��r/��HaUP�ئI�!7No���rE?�_����}fG:x	<kΧ���v><��'W���o�ͮ�d�x�3=@Wt�(�S<�PXUQ�, @x�r�0��Z^�&
��,MVY`go��An��J(��#�O�V�Ǐ���F��T�[����cv��h�;7X�͸|���
&�MN�1DP���Kb����/��c@:r|I���7;t&�0�P�ulF���t���s6^�H7�Fy���#=��ƫ�zC���2+1Ե�կ�N�(.��ѯ�ué�
 �Z�N��g�$�#jO�)��%�_'��w��X\b�"��)����`�$l��Sl��r���\Er1A3`�6�dž׵�}�PC�d�q��I�\�Ҹhn�RPz��b=9��h��
*����J��h��5kp<���˿z�Փ�_�-����$�����|.uIRN�������E�J�[�&Y���Z��̙�=�`���Pf9�Z��ȣ���p�=O�IJ�"�=m�l���=W�ԫ���s�b����g��>��e[['+�{��U<�v
�7ה���;P�13@뤛�bpF����k߇�[��ZF)5�C$63���:/��<5���ݦ��wʒ��]1
G���.K5��u��x�È%z6�k��Qq�d����3���ƃa��51B�`��9��ge�1�Y���s	�#}�nJ+���|�1Z�o�4*a.�4���@Ҧ0~�̺t@�P�l����m�0�O��e�{V7�C�M�v��z'B\/μ'����J��V�/�A��C"�[�4�|3�#[s�-;(^�l�ld�*U+��D5�$��\�%J�̔�����!e<{iuNbv�Wh{pD�F��PF<Q�2�櫸�T+������0��OHA�}8T4��� �I��l2,m�/y({̣-�La�$-wBŌI8:�
`���KB^�r��.��֢\�Q�;<Y���j��Z���<riH�d�{�
m.��]�Z��o)F
ph�ebG$��/o5�yeۑ�h����Q�ܴ;�#鴑]��(����˦�/=k�m��)���NY�(����hP�
��0@l�+2u�h��:�Y����O*�p���p�w>TFL-�m+o��p�q�U�/+�N#Z,�|�G�y�Q�+�k�Ҍ�
�d��ZU+���a�0�}G�.8����c
�5�e�rв�Zrը�RGK��b
v1�:rK縿y[^
��X�_���6���m�®�f�Ӄ�#���!�.�[GƺtEX7
s�T��ꫵ�1̎Q�A���7�$��?�:���P1�4��g ��3:_}6����ob��*�kC��~�{��Ɛ�tZ~ʠr�A���O�Qc�S��l���/�za<��%s�eaWj��������iSk��3��I\�s
ÂU͐�y/=ii����T��ώ�3���(�����ҥ�,�1TbS$e�L'' T�^��1��OL�a�L�S��R��+e,xLsS�
�:��9AAD�!x�[���u��Jk��4��\D�g���r`���m}^ZƘK1ҳ�Ťs�\9ч�K�L��:���Y3F�G�՘F3���Ffw��d.��%�Q|��#!{�{(�4$��ϙD�
�<��b_2����{<5Rc䢪]Y(3��&� v[�6�3M��(O�l�[�J�Ѵ4�e�P^��˫�L��ȏ&A���
/o/�L�"�B���	�U�]H�J�oOB
�7%7�gڸ����Tz�7�f�[�/ϚVqy>;%m��2���PG�j�WV����P�OR�ׂ̙�V8,>W|U�I�:&8�� 99��V��hd�{C��;k��`���u���bg��)�"���1�!V���r���"���z����ŧ9�.�e�ӪHzB�ѡl���l��a��|j�:��L3���<)���ٴIXZb� ј���!t��4w�J��d��@2"b������PL��y��?�y%�XI�2�#�EӸ4KT%���}奜\�~X"D(LCy��X3W��z�g�>���F�|�gn�=�Z+F����[t0>���������ɣ�'ŋ�O��>R��H�=�شV���'�Y��,�N$�;��r5N��s��3$)�z���4}����R����/�V�T���������v�W�[y�
�ǟ���CJ���KI��UG���p��x�������|��@S^�-�d�T=�NZ ��N�U5{c����O�ƀ�>�P�ӌx��=I�>�5�Y5G�~�:Q���$ć� 
�_�Y�a�q���,����R�hN����b�D[j�*|܈�[��T�rx����D.:IQ���%�7M�6ޡi|UP_bw��ۨT7�\]:�#05��=�"w�˾�s��h�m���;+\����B�Qч9�;N��T�`�E*^�E&�"��NF���ZP���c��g1~k�2k�D^�Ս��(�~=��������[��B�Q�����}P?>��%�v��Lh!o!P
-!R�1�6��+���l>56��:P)�x ��.8��K8�����8&�m��ŗ�Z|
��O�Ո�h�Ҿ��x�a�x�s�\����x^��w�L�/?V(Ԡ��j"�
�j����|��ɁӐ�����(-�D\�O��Jk��a������B՗Zz�CgK��˓?���<�l���0�<������P!u5�'�O��sҷ�<��c�F]���t�#/w�eU�%�a�ؐ���������tV͢�f0��J�]fP����ɯ^?:y��Q��l��%0)�χ<�2��%���H���+{�1@�<D`3��	f��b�0A�f�6p��t�V&[f�V�*�L����7�M�M,��nE�jÅ�����t\f��@㷶�g��p��8�<�������|�k8�YM���av�S�q��ދvwi�ʘ�f�`<ǢN͂0r�z(V��?�&%I�&��������I��ks�>�<�if��Ƕ�*�ݧg5��JY&4]O��>���.ʸ5��CJ��%]��a��6�H��A�yn�y�;J���VJP��iD�(���ɳ�X�~�+��˴�_O2��A>��v�X�q�̲�.���6���<�.]��R	�t1b~*��4��ە&O5ů\��Q�8�x񆺠n��j-�dE��>�]�oj��8u���J�&��&n�$ٯ'�b��|n�,ƥ�
"IS�%��x�x�j\9'��ЬPH��c�=�'�E�L�s̔���{i�9�7�,����� X���W��%�n�A�X$���?��!�q�d;e<o�j�R����<H��WIe�µ3�+�u��&�]��B�O�����z�����PKh��[R���A����litespeed-cache-fr_FR.poUT3�Aiux����PKh��[1����.����litespeed-cache-fr_FR.moUT3�Aiux����PKh��[JM�IB�����litespeed-cache-fr_FR.l10n.phpUT3�Aiux����PK {!PKf^�\R��܏�%translations/litespeed-cache-fr_FR.ponu�[���# Translation of Plugins - LiteSpeed Cache - Stable (latest release) in French (France)
# This file is distributed under the same license as the Plugins - LiteSpeed Cache - Stable (latest release) package.
msgid ""
msgstr ""
"PO-Revision-Date: 2025-10-10 08:33:25+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: GlotPress/4.0.3\n"
"Language: fr\n"
"Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)\n"

#: tpl/toolbox/settings-debug.tpl.php:48
msgid "LiteSpeed Cache is temporarily disabled until: %s."
msgstr "LiteSpeed ​​Cache est temporairement désactivé jusqu’au : %s."

#: tpl/toolbox/settings-debug.tpl.php:44
msgid "Remove `Disable All Feature` Flag Now"
msgstr "Retirer l’indicateur « Désactiver toutes les fonctionnalités » maintenant"

#: tpl/toolbox/settings-debug.tpl.php:37
msgid "Disable All Features for 24 Hours"
msgstr "Désactiver toutes les fonctionnalités pendant 24 heures"

#: tpl/toolbox/beta_test.tpl.php:43
msgid "LiteSpeed Cache is disabled. This functionality will not work."
msgstr "Le cache LiteSpeed ​​est désactivé. Cette fonctionnalité ne fonctionnera pas."

#: tpl/page_optm/settings_media.tpl.php:296
msgid "Filter %s available to change threshold."
msgstr "Filtre %s disponible pour modifier le seuil."

#: tpl/page_optm/settings_media.tpl.php:290
msgid "Scaled size threshold"
msgstr "Seuil de redimensionnement de taille"

#: tpl/page_optm/settings_media.tpl.php:289
msgid "Automatically replace large images with scaled versions."
msgstr "Remplacezr automatiquement les grandes images par des versions redimensionnées."

#: src/lang.cls.php:222
msgid "Auto Rescale Original Images"
msgstr "Redimensionner automatiquement les images originales"

#: src/lang.cls.php:162
msgid "UCSS Inline Excluded Files"
msgstr "Fichiers UCSS en ligne exclus"

#: src/error.cls.php:142
msgid "The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again."
msgstr "La connexion QUIC.cloud est incorrecte. Veuillez réessayer de synchroniser votre connexion QUIC.cloud."

#: src/admin-settings.cls.php:40 src/admin-settings.cls.php:313
msgid "No fields"
msgstr "Aucun champ"

#: src/admin-display.cls.php:1331
msgid "Value from filter applied"
msgstr "Valeur du filtre appliqué"

#: src/admin-display.cls.php:1302 src/admin-display.cls.php:1315
msgid "This value is overwritten by the filter."
msgstr "Cette valeur est remplacée par le filtre."

#: src/admin-display.cls.php:1298
msgid "This value is overwritten by the %s variable."
msgstr "Cette valeur est remplacée par la variable %s."

#: tpl/dash/dashboard.tpl.php:426 tpl/dash/dashboard.tpl.php:844
msgid "QUIC.cloud CDN"
msgstr "CDN QUIC.cloud"

#: tpl/page_optm/settings_tuning_css.tpl.php:17
msgid "Tuning CSS Settings"
msgstr "Réglage des paramètres CSS"

#: tpl/page_optm/settings_tuning.tpl.php:71
#: tpl/page_optm/settings_tuning.tpl.php:92
msgid "Predefined list will also be combined with the above settings."
msgstr "La liste prédéfinie sera également combinée avec les réglages ci-dessus."

#: tpl/page_optm/settings_css.tpl.php:118
#: tpl/page_optm/settings_css.tpl.php:255
#: tpl/page_optm/settings_media.tpl.php:201
#: tpl/page_optm/settings_vpi.tpl.php:66
msgid "Clear"
msgstr "Effacer"

#: tpl/inc/show_error_cookie.php:21
msgid "If not, please verify the setting in the %sAdvanced tab%s."
msgstr "Si ce n’est pas le cas, veuillez vérifier le réglage dans l’onglet %sAvancé%s."

#: tpl/inc/modal.deactivation.php:77
msgid "Close popup"
msgstr "Fermer une fenêtre modale"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate plugin"
msgstr "Désactiver l’extension"

#: tpl/inc/modal.deactivation.php:38
msgid "Other"
msgstr "Autre"

#: tpl/inc/modal.deactivation.php:33
msgid "Plugin is too complicated"
msgstr "L’extension est trop compliquée"

#: tpl/inc/modal.deactivation.php:28
msgid "Site performance is worse"
msgstr "Les performances du site sont pires"

#: tpl/inc/modal.deactivation.php:22
msgid "The deactivation is temporary"
msgstr "La désactivation est temporaire"

#: tpl/inc/modal.deactivation.php:16
msgid "Deactivate LiteSpeed Cache"
msgstr "Désactiver LiteSpeed Cache"

#: tpl/general/online.tpl.php:138
msgid "CDN - Disabled"
msgstr "CDN - Désactivé"

#: tpl/general/online.tpl.php:136
msgid "CDN - Enabled"
msgstr "CDN - Activé"

#: tpl/general/online.tpl.php:45
msgid "Connected Date:"
msgstr "Date de connexion :"

#: tpl/general/online.tpl.php:43
msgid "Node:"
msgstr "Nœud :"

#: tpl/general/online.tpl.php:41
msgid "Service:"
msgstr "Service :"

#: tpl/db_optm/manage.tpl.php:180
msgid "Autoload top list"
msgstr "Liste des top chargements automatiques"

#: tpl/db_optm/manage.tpl.php:176
msgid "Autoload entries"
msgstr "Entrées à chargement automatique"

#: tpl/db_optm/manage.tpl.php:175
msgid "Autoload size"
msgstr "Taille de chargement automatique"

#: tpl/dash/network_dash.tpl.php:109
msgid "This Month Usage: %s"
msgstr "Utilisation de ce mois-ci : %s"

#: tpl/dash/network_dash.tpl.php:28
msgid "Usage Statistics: %s"
msgstr "Statistiques d’utilisation : %s"

#: tpl/dash/dashboard.tpl.php:870
msgid "more"
msgstr "plus"

#: tpl/dash/dashboard.tpl.php:420
msgid "LiteSpeed Web Server"
msgstr "Serveur Web LiteSpeed"

#: tpl/dash/dashboard.tpl.php:112 tpl/dash/dashboard.tpl.php:832
msgid "Last crawled:"
msgstr "Dernière exploration :"

#: tpl/dash/dashboard.tpl.php:111 tpl/dash/dashboard.tpl.php:831
msgid "%1$s %2$d item(s)"
msgstr "%1$s %2$d élément(s)"

#: tpl/crawler/summary.tpl.php:288
msgid "Start watching..."
msgstr "Démarrage de l’observation…"

#: tpl/crawler/summary.tpl.php:254
msgid "Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence."
msgstr "Les robots d’exploration ne peuvent pas s’exécuter simultanément. Si le cron et une exécution manuelle qui démarre simultanément, le premier lancé aura la priorité."

#: tpl/crawler/summary.tpl.php:230
msgid "Position: "
msgstr "Position : "

#: tpl/crawler/summary.tpl.php:133
msgid "%d item(s)"
msgstr "%d élément(s)"

#: tpl/crawler/summary.tpl.php:130
msgid "Last crawled"
msgstr "Dernière exploration"

#: tpl/cdn/qc.tpl.php:73
msgid "Serve your visitors fast"
msgstr "Servez vos visiteurs rapidement"

#: tpl/cdn/other.tpl.php:104
msgid "This will affect all tags containing attributes: %s."
msgstr "Cela affectera toutes les balises contenant les attributs : %s."

#: tpl/cdn/cf.tpl.php:152
msgid "%1$sLearn More%2$s"
msgstr "%1$sEn savoir plus%2$s"

#: tpl/cdn/cf.tpl.php:39
msgid "Get it from %s."
msgstr "Obtenez-le auprès de %s."

#: src/purge.cls.php:517
msgid "Reset the OPcache failed."
msgstr "La réinitialisation de l’OPcache a échouée."

#: src/purge.cls.php:504
msgid "OPcache is restricted by %s setting."
msgstr "OPcache est limité par le réglage %s."

#: src/purge.cls.php:491
msgid "OPcache is not enabled."
msgstr "OPcache n’est pas activé."

#: src/gui.cls.php:850
msgid "Enable All Features"
msgstr "Activer toutes les fonctionnalités"

#: tpl/toolbox/purge.tpl.php:224
msgid "e.g. Use %1$s or %2$s."
msgstr "ex. : utiliser %1$s ou %2$s."

#: tpl/toolbox/log_viewer.tpl.php:64 tpl/toolbox/report.tpl.php:62
msgid "Click to copy"
msgstr "Cliquer pour copier"

#: tpl/general/entry.tpl.php:16 tpl/general/online.tpl.php:68
msgid "Online Services"
msgstr "Services en ligne"

#: tpl/db_optm/manage.tpl.php:186
msgid "Autoload"
msgstr "Chargement automatique"

#: tpl/dash/dashboard.tpl.php:887
msgid "Refresh QUIC.cloud status"
msgstr "Actualiser l’état de QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:446 tpl/dash/dashboard.tpl.php:511
msgid "Refresh"
msgstr "Actualiser"

#: tpl/dash/dashboard.tpl.php:128 tpl/dash/dashboard.tpl.php:908
msgid "News"
msgstr "Actualités"

#: tpl/cdn/qc.tpl.php:61 tpl/dash/dashboard.tpl.php:857
msgid "Enable QUIC.cloud CDN"
msgstr "Activer le CDN QUIC.cloud"

#: tpl/cdn/qc.tpl.php:59
msgid "Link & Enable QUIC.cloud CDN"
msgstr "Lier et activer le CDN QUIC.cloud"

#: tpl/cdn/qc.tpl.php:41 tpl/dash/dashboard.tpl.php:158
#: tpl/general/online.tpl.php:64 tpl/general/online.tpl.php:119
msgid "Enable QUIC.cloud services"
msgstr "Activer les services QUIC.cloud"

#: tpl/cdn/qc.tpl.php:38 tpl/general/online.tpl.php:61
#: tpl/general/online.tpl.php:145
msgid "Free monthly quota available."
msgstr "Quota gratuit mensuel disponible."

#: tpl/cdn/qc.tpl.php:34 tpl/dash/dashboard.tpl.php:146
msgid "Accelerate, Optimize, Protect"
msgstr "Accélérer, optimiser, protéger"

#: tpl/cdn/qc.tpl.php:24 tpl/dash/dashboard.tpl.php:886
msgid "Refresh Status"
msgstr "Actualiser l’état"

#: tpl/cdn/entry.tpl.php:16
msgid "Other Static CDN"
msgstr "Autre CDN statique"

#: tpl/banner/new_version.php:113 tpl/banner/score.php:141
#: tpl/banner/slack.php:48
msgid "Dismiss this notice."
msgstr "Ignorer cette avis."

#: src/media.cls.php:526
msgid "No backup of unoptimized AVIF file exists."
msgstr "Aucune sauvegarde du fichier AVIF non optimisé n’existe."

#: src/img-optm.cls.php:2031
msgid "Enabled AVIF file successfully."
msgstr "Fichier AVIF bien activé."

#: src/img-optm.cls.php:2026
msgid "Disabled AVIF file successfully."
msgstr "Fichier AVIF bien désactivé."

#: src/file.cls.php:133
msgid "Filename is empty!"
msgstr "Le nom de fichier est vide !"

#: src/cloud.cls.php:1919
msgid "Click here to proceed."
msgstr "Cliquer ici pour continuer."

#: src/cloud.cls.php:846
msgid "Reset %s activation successfully."
msgstr "Réinitialisation de l’activation %s réussie."

#: src/cloud.cls.php:368 src/cloud.cls.php:414 src/cloud.cls.php:441
#: src/cloud.cls.php:460 src/cloud.cls.php:481 src/cloud.cls.php:499
msgid "You need to activate QC first."
msgstr "Vous devez activer QC d’abord."

#: src/error.cls.php:94
msgid "You have used all of your quota left for current service this month."
msgstr "Vous avez utilisé tout votre quota restant pour le service en cours ce mois-ci."

#: src/error.cls.php:86 src/error.cls.php:99
msgid "Learn more or purchase additional quota."
msgstr "En savoir plus ou acheter un quota supplémentaire."

#: tpl/cache/settings-advanced.tpl.php:39
msgid "Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space."
msgstr "Spécifiez une action AJAX dans POST/GET et le nombre de secondes pour mettre en cache cette requête, séparés par un espace."

#: src/lang.cls.php:169
msgid "HTML Keep Comments"
msgstr "Conserver les commentaires HTML"

#: src/lang.cls.php:117
msgid "AJAX Cache TTL"
msgstr "Cache TTL AJAX"

#: tpl/db_optm/manage.tpl.php:26
msgid "Clean all orphaned post meta records"
msgstr "Nettoyer tous les métadonnées de publication orphelines"

#: tpl/db_optm/manage.tpl.php:25
msgid "Orphaned Post Meta"
msgstr "Métadonnées de commentaire orphelines"

#: tpl/dash/dashboard.tpl.php:864
msgid "Best available WordPress performance"
msgstr "Meilleures performances WordPress disponibles"

#: src/db-optm.cls.php:257
msgid "Clean orphaned post meta successfully."
msgstr "Nettoyage réussi de méta orpheline de la publication."

#: tpl/img_optm/summary.tpl.php:325
msgid "Last Pulled"
msgstr "Dernier tirage"

#: tpl/cache/settings_inc.login_cookie.tpl.php:104
msgid "You can list the 3rd party vary cookies here."
msgstr "Vous pouvez dresser la liste des cookies tiers ici."

#: src/lang.cls.php:245
msgid "Vary Cookies"
msgstr "Varier les cookies"

#: tpl/page_optm/settings_html.tpl.php:75
msgid "Preconnecting speeds up future loads from a given origin."
msgstr "La pré-connexion accélère les charges futures à partir d’une origine donnée."

#: thirdparty/woocommerce.content.tpl.php:89
msgid "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."
msgstr "Si votre thème n’utilise pas JS pour mettre à jour le mini-panier, vous devez activer cette option pour afficher le contenu correct du panier."

#: thirdparty/woocommerce.content.tpl.php:88
msgid "Generate a separate vary cache copy for the mini cart when the cart is not empty."
msgstr "Générer une copie de cache séparée pour le mini-panier lorsque le panier n’est pas vide."

#: thirdparty/woocommerce.content.tpl.php:80
msgid "Vary for Mini Cart"
msgstr "Variable pour le mini-panier"

#: src/lang.cls.php:179
msgid "DNS Preconnect"
msgstr "Pré-connexion DNS"

#: src/doc.cls.php:40
msgid "This setting is %1$s for certain qualifying requests due to %2$s!"
msgstr "Ce paramètre est %1$s pour certaines demandes qualifiées en raison de %2$s"

#: tpl/page_optm/settings_tuning.tpl.php:43
msgid "Listed JS files or inline JS code will be delayed."
msgstr "Les fichiers JS listés ou le code JS en ligne seront différés."

#: tpl/crawler/map.tpl.php:58
msgid "URL Search"
msgstr "Recherche d’URL"

#: src/lang.cls.php:181
msgid "JS Delayed Includes"
msgstr "Le JS différée comprend"

#: src/cloud.cls.php:1693
msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."
msgstr "Votre domain_key a été temporairement bloqué pour éviter les abus. Vous pouvez contacter le support à QUIC.cloud pour en savoir plus."

#: src/cloud.cls.php:1688
msgid "Cloud server refused the current request due to unpulled images. Please pull the images first."
msgstr "Le serveur cloud a refusé la demande actuelle en raison d’images non extraites. Veuillez d’abord extraire les images."

#: tpl/crawler/summary.tpl.php:110
msgid "Current server load"
msgstr "Charge actuelle du serveur"

#: src/img-optm.cls.php:890
msgid "Started async image optimization request"
msgstr "Requête d’optimisation d’image asynchrone lancée"

#: src/crawler.cls.php:324
msgid "Started async crawling"
msgstr "Exploration asynchrone commencée"

#: src/conf.cls.php:551
msgid "Saving option failed. IPv4 only for %s."
msgstr "L’enregistrement de l’option a échoué. IPv4 uniquement pour %s."

#: src/cloud.cls.php:1700
msgid "Cloud server refused the current request due to rate limiting. Please try again later."
msgstr "Le serveur cloud a refusé la requête actuelle en raison de la limitation du débit. Veuillez réessayer ultérieurement."

#: tpl/img_optm/summary.tpl.php:298
msgid "Maximum image post id"
msgstr "ID de publication d’image maximal"

#: tpl/img_optm/summary.tpl.php:297 tpl/img_optm/summary.tpl.php:372
msgid "Current image post id position"
msgstr "Position actuelle de l’ID de publication de l’image"

#: src/lang.cls.php:31
msgid "Images ready to request"
msgstr "Images prêtes à être demandées"

#: tpl/dash/dashboard.tpl.php:385 tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54 tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr "Détecter à nouveau"

#: src/root.cls.php:198
msgid "All QUIC.cloud service queues have been cleared."
msgstr "Toutes les files d’attente de service QUIC.cloud ont été effacées."

#. translators: %s: The type of the given cache key.
#: src/object-cache-wp.cls.php:245
msgid "Cache key must be integer or non-empty string, %s given."
msgstr "La clé de cache doit être une chaîne entière ou non vide, %s donnée."

#: src/object-cache-wp.cls.php:242
msgid "Cache key must not be an empty string."
msgstr "La clé de cache ne doit pas être une chaîne vide."

#: src/lang.cls.php:190
msgid "JS Deferred / Delayed Excludes"
msgstr "Le JS différé/reporté exclut"

#: src/doc.cls.php:177
msgid "The queue is processed asynchronously. It may take time."
msgstr "La file d’attente est traitée de manière asynchrone. Cela peut prendre du temps."

#: src/cloud.cls.php:1362
msgid "In order to use QC services, need a real domain name, cannot use an IP."
msgstr "Afin d’utiliser les services de contrôle qualité, cela nécessite un vrai nom de domaine, impossible d’utiliser une IP."

#: tpl/presets/standard.tpl.php:195
msgid "Restore Settings"
msgstr "Restaurer les réglages"

#: tpl/presets/standard.tpl.php:193
msgid "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"
msgstr "Cela restaurera les réglages de sauvegarde créés %1$s avant d’appliquer le préréglage %2$s. Toutes les modifications apportées depuis lors seront perdues. Voulez-vous continuer "

#: tpl/presets/standard.tpl.php:189
msgid "Backup created %1$s before applying the %2$s preset"
msgstr "Sauvegarde créée %1$s avant d’appliquer le préréglage %2$s"

#: tpl/presets/standard.tpl.php:178
msgid "Applied the %1$s preset %2$s"
msgstr "Appliquez le %1$s préréglage %2$s"

#: tpl/presets/standard.tpl.php:175
msgid "Restored backup settings %1$s"
msgstr "Réglages de sauvegarde restaurés %1$s"

#: tpl/presets/standard.tpl.php:173
msgid "Error: Failed to apply the settings %1$s"
msgstr "Erreur : impossible d’appliquer les réglages %1$s"

#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr "Historique"

#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr "inconnue"

#: tpl/presets/standard.tpl.php:133
msgid "Apply Preset"
msgstr "Appliquer le préréglage"

#: tpl/presets/standard.tpl.php:131
msgid "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"
msgstr "Cela sauvegardera vos réglages actuels et les remplacera par les réglages prédéfinis %1$s. Souhaitez-vous continuer ?"

#: tpl/presets/standard.tpl.php:121
msgid "Who should use this preset?"
msgstr "Qui devrait utiliser ce préréglage ?"

#: tpl/presets/standard.tpl.php:96
msgid "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between."
msgstr "Utilisez un préréglage officiel conçu par LiteSpeed pour configurer votre site en un clic. Essayez les éléments essentiels de la mise en cache sans risque, l’optimisation extrême ou quelque chose entre les deux."

#: tpl/presets/standard.tpl.php:92
msgid "LiteSpeed Cache Standard Presets"
msgstr "Préréglages standard du cache LiteSpeed"

#: tpl/presets/standard.tpl.php:84
msgid "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."
msgstr "Ce préréglage nécessitera certainement des tests et des exclusions pour certaines images CSS, JS et à chargement différé. Portez une attention particulière aux logos ou aux images de diaporama HTML."

#: tpl/presets/standard.tpl.php:81
msgid "Inline CSS added to Combine"
msgstr "CSS en ligne ajouté à Combine"

#: tpl/presets/standard.tpl.php:80
msgid "Inline JS added to Combine"
msgstr "Inline JS ajouté à Combine"

#: tpl/presets/standard.tpl.php:79
msgid "JS Delayed"
msgstr "JS différé"

#: tpl/presets/standard.tpl.php:78
msgid "Viewport Image Generation"
msgstr "Génération d’images de fenêtre d’affichage"

#: tpl/presets/standard.tpl.php:77
msgid "Lazy Load for Images"
msgstr "Chargement différé pour les images"

#: tpl/presets/standard.tpl.php:76
msgid "Everything in Aggressive, Plus"
msgstr "Tout est agressif, plus"

#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr "Extrême"

#: tpl/presets/standard.tpl.php:69
msgid "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning."
msgstr "Ce préréglage peut fonctionner prêt à l’emploi pour certains sites Web, mais assurez-vous de tester ! Certaines exclusions CSS ou JS peuvent être nécessaires dans l’optimisation > le réglage des pages."

#: tpl/presets/standard.tpl.php:66
msgid "Lazy Load for Iframes"
msgstr "Chargement différé pour les iframes"

#: tpl/presets/standard.tpl.php:65
msgid "Removed Unused CSS for Users"
msgstr "Suppression du CSS inutilisé pour les utilisateurs"

#: tpl/presets/standard.tpl.php:64
msgid "Asynchronous CSS Loading with Critical CSS"
msgstr "Chargement CSS asynchrone avec CSS critique"

#: tpl/presets/standard.tpl.php:63
msgid "CSS & JS Combine"
msgstr "Combinent CSS & JS"

#: tpl/presets/standard.tpl.php:62
msgid "Everything in Advanced, Plus"
msgstr "Tout dans Advanced, Plus"

#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr "Agressif"

#: tpl/presets/standard.tpl.php:55
msgid "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools."
msgstr "Ce préréglage convient à la plupart des sites Web et il est peu probable qu’il provoque des conflits. Tout conflit CSS ou JS peut être résolu avec les outils d’optimisation > de réglage des pages."

#: tpl/presets/standard.tpl.php:50
msgid "Remove Query Strings from Static Files"
msgstr "Supprimer les chaînes de requête des fichiers statiques"

#: tpl/presets/standard.tpl.php:48
msgid "DNS Prefetch for static files"
msgstr "Prérécupération DNS pour les fichiers statiques"

#: tpl/presets/standard.tpl.php:47
msgid "JS Defer for both external and inline JS"
msgstr "Le report JS pour le JS externe et le JS en ligne"

#: tpl/presets/standard.tpl.php:45
msgid "CSS, JS and HTML Minification"
msgstr "Minification CSS, JS et HTML"

#: tpl/presets/standard.tpl.php:44
msgid "Guest Mode and Guest Optimization"
msgstr "Mode invité et optimisation des invités"

#: tpl/presets/standard.tpl.php:43
msgid "Everything in Basic, Plus"
msgstr "Tout dans Basic, Plus"

#: tpl/presets/standard.tpl.php:41
msgid "Advanced (Recommended)"
msgstr "Avancé (recommandé)"

#: tpl/presets/standard.tpl.php:36
msgid "This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners."
msgstr "Ce préréglage à faible risque introduit des optimisations de base pour la vitesse et l’expérience utilisateur. Convient aux débutants enthousiastes."

#: tpl/presets/standard.tpl.php:33
msgid "Mobile Cache"
msgstr "Cache mobile"

#: tpl/presets/standard.tpl.php:31
msgid "Everything in Essentials, Plus"
msgstr "Tout dans Essentials, Plus"

#: tpl/presets/standard.tpl.php:24
msgid "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."
msgstr "Ce préréglage sans risque convient à tous les sites Web. Bon pour les nouveaux utilisateurs, les sites Web simples ou le développement orienté cache."

#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr "TTL plus élevé"

#: tpl/presets/standard.tpl.php:19
msgid "Default Cache"
msgstr "Cache par défaut"

#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr "Fondamentaux"

#: tpl/presets/entry.tpl.php:23
msgid "LiteSpeed Cache Configuration Presets"
msgstr "Préréglages de la configuration du cache LiteSpeed"

#: tpl/presets/entry.tpl.php:16
msgid "Standard Presets"
msgstr "Préréglages standards"

#: tpl/page_optm/settings_tuning_css.tpl.php:52
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
msgstr "Les fichiers CSS répertoriés seront exclus de UCSS et enregistrés en ligne."

#: src/lang.cls.php:161
msgid "UCSS Selector Allowlist"
msgstr "Liste d’autorisation du sélecteur UCSS"

#: src/admin-display.cls.php:253
msgid "Presets"
msgstr "Préréglages"

#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr "Avantages offerts aux partenaires par"

#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr "Journaux LiteSpeed"

#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr "Journaux du robot explorateur"

#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr "Purger le journal"

#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr "Empêcher l’écriture des entrées de journal qui incluent les chaines de caractères listées."

#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr "Voir le site avant le cache"

#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr "Voir le site avant optimisation"

#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr "Aides au débogage"

#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr "Activer la tâche planifiée de génération automatique d’images de vue écran."

#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr "Cela permet aux images situées dans la vue initiale de l’écran d’être affichées sans délai."

#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr "Le service d’images de vue écran détecte les images qui apparaissent au-dessus du pli et les exclut du chargement différé."

#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr "En utilisant le chargement différé, on retarde le chargement de toutes les images sur une page."

#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr "Utiliser %1$s pour ignorer la vérification des dimensions de l’image distante lorsque %2$s est activé."

#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr "VPI"

#: tpl/general/settings.tpl.php:72 tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr "%s doit être activé pour que ce réglage fonctionne."

#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr "Image de vue écran"

#: thirdparty/litespeed-check.cls.php:100
#: thirdparty/litespeed-check.cls.php:165
msgid "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"
msgstr "Merci de désactiver les extensions détectées suivantes, car elles peuvent entrer en conflit avec LiteSpeed Cache :"

#: src/metabox.cls.php:43
msgid "Mobile"
msgstr "Mobile"

#: src/metabox.cls.php:41
msgid "Disable VPI"
msgstr "Désactiver VPI"

#: src/metabox.cls.php:40
msgid "Disable Image Lazyload"
msgstr "Désactiver le chargement différé d’image"

#: src/metabox.cls.php:39
msgid "Disable Cache"
msgstr "Désactiver le cache"

#: src/lang.cls.php:282
msgid "Debug String Excludes"
msgstr "La chaîne de débogage exclut"

#: src/lang.cls.php:221
msgid "Viewport Images Cron"
msgstr "Cron d’images de vue écran"

#: src/lang.cls.php:220 src/metabox.cls.php:42 src/metabox.cls.php:43
#: tpl/page_optm/settings_vpi.tpl.php:23
msgid "Viewport Images"
msgstr "Images de vue écran"

#: src/lang.cls.php:71
msgid "Alias is in use by another QUIC.cloud account."
msgstr "L’alias est utilisé par un autre compte QUIC.cloud."

#: src/lang.cls.php:66
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."
msgstr "Impossible d’ajouter automatiquement %1$s en tant qu’alias de domaine pour le domaine principal %2$s."

#: src/lang.cls.php:58
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."
msgstr "Impossible d’ajouter automatiquement %1$s en tant qu’alias de domaine pour le domaine principal %2$s, en raison d’un conflit CDN potentiel."

#: src/error.cls.php:231
msgid "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."
msgstr "Impossible de supprimer cette zone DNS, car elle est toujours utilisée. Mettre à jour les serveurs de noms du domaine, puis essayer à nouveau de supprimer cette zone, sinon le site sera inaccessible."

#: src/error.cls.php:134
msgid "The site is not a valid alias on QUIC.cloud."
msgstr "Le site n’est pas un alias valide sur QUIC.cloud."

#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr "Tester soigneusement chaque fichier JS ajouté pour s’assurer qu’il fonctionne comme prévu."

#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr "Tester tous les éléments dans %s pour s’assurer qu’ils fonctionnent comme prévu."

#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr "Utiliser %1$s pour contourner UCSS pour les pages dont le type de page est %2$s."

#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr "Utiliser %1$s pour générer un seul UCSS pour les pages dont le type de page est %2$s tandis que les autres types de page utilisent toujours une URL."

#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr "Filtre %s disponible pour UCSS par génération de type de page."

#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr "Le test du mode invité a échoué."

#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr "Le mode invité a passé le test."

#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr "Test en cours"

#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr "Résultat du test du mode invité"

#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr "Pas sur liste de blocage"

#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr "En savoir plus sur les cas où cela est nécessaire"

#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr "Nettoyé toutes les entrées de ressources localisées."

#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr "Voir le .htaccess"

#: tpl/toolbox/edit_htaccess.tpl.php:63 tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr "Vous pouvez utiliser le code %1$s dans %2$s pour spécifier le chemin du fichier htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:62 tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr "La constante PHP %s est prise en charge."

#: tpl/toolbox/edit_htaccess.tpl.php:58 tpl/toolbox/edit_htaccess.tpl.php:76
msgid "Default path is"
msgstr "Le chemin par défaut est"

#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr "Chemin .htaccess"

#: tpl/general/settings.tpl.php:49
msgid "Please read all warnings before enabling this option."
msgstr "Veuillez lire tous les avertissements avant d’activer cette option."

#: tpl/toolbox/purge.tpl.php:83
msgid "This will delete all generated unique CSS files"
msgstr "Cela supprimera tous les fichiers CSS uniques générés"

#: tpl/toolbox/beta_test.tpl.php:85
msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."
msgstr "Afin d’éviter une erreur de mise à niveau, vous devez utiliser la version %1$s ou ultérieure avant de pouvoir mettre à niveau vers la version %2$s."

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Use latest GitHub Dev/Master commit"
msgstr "Utiliser le dernier commit GitHub de développement/maître"

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."
msgstr "Appuyez sur le bouton %s pour utiliser le commit GitHub le plus récent. Master est pour la version candidate et Dev est pour les tests expérimentaux."

#: tpl/toolbox/beta_test.tpl.php:73
msgid "Downgrade not recommended. May cause fatal error due to refactored code."
msgstr "La rétrogradation n’est pas recommandée. Peut provoquer une erreur fatale en raison du code remanié."

#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr "Optimiser uniquement les pages pour les visiteurs invités (non connectés). Si cette option est désactivée, les fichiers CSS/JS/CCSS seront doublés par chaque groupe d’utilisateurs et utilisatrices."

#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr "Les fichiers JS listés ou le code JS en ligne ne seront pas optimisés par %s."

#: tpl/page_optm/settings_tuning_css.tpl.php:92
msgid "Listed URI will not generate UCSS."
msgstr "Les URL listées ne généreront pas d’UCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:74
msgid "The selector must exist in the CSS. Parent classes in the HTML will not work."
msgstr "Le sélecteur doit exister dans le CSS. Les classes parentes dans le HTML ne fonctionneront pas."

#: tpl/page_optm/settings_tuning_css.tpl.php:70
#: tpl/page_optm/settings_tuning_css.tpl.php:145
msgid "Wildcard %s supported."
msgstr "Wildcard %s pris en charge."

#: tpl/page_optm/settings_media_exc.tpl.php:34
msgid "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."
msgstr "Utile pour les images au-dessus du pli provoquant CLS (une métrique Core Web Vitals)."

#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr "Définissez une largeur et une hauteur explicites sur les éléments image pour réduire les changements de mise en page et améliorer le CLS (une métrique Core Web Vitals)."

#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr "Les modifications apportées à ce réglage ne s’appliquent pas aux LQIP déjà générés. Pour régénérer les LQIP existants, veuillez d’abord %s dans le menu de la barre d’administration."

#: tpl/page_optm/settings_js.tpl.php:79
msgid "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."
msgstr "Le fait de différer jusqu’à ce que la page soit analysée ou de retarder l’interaction peut aider à réduire les conflits de ressources et à améliorer les performances, entraînant un FID inférieur (Indicateur Web Vitals de base)."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr "Reporté"

#: tpl/page_optm/settings_js.tpl.php:52
msgid "JS error can be found from the developer console of browser by right clicking and choosing Inspect."
msgstr "L’erreur JS peut être trouvée à partir de la console développeur du navigateur en cliquant avec le bouton droit de la souris et en choisissant Inspecter."

#: tpl/page_optm/settings_js.tpl.php:51 tpl/page_optm/settings_js.tpl.php:85
msgid "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."
msgstr "L’option peut entraîner une erreur JS ou un problème de mise en page sur les pages en ligne avec certains thèmes/extensions."

#: tpl/page_optm/settings_html.tpl.php:147
msgid "This will also add a preconnect to Google Fonts to establish a connection earlier."
msgstr "Va ajoutera également une préconnexion à Google Fonts pour améliorer la vitesse due chargement."

#: tpl/page_optm/settings_html.tpl.php:91
msgid "Delay rendering off-screen HTML elements by its selector."
msgstr "Retarder le rendu d’éléments HTML hors écran par leurs sélecteurs."

#: tpl/page_optm/settings_css.tpl.php:314
msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."
msgstr "Désactiver l’option pour générer le CCSS par type de publication au lieu de par page. Cela va économiser un quota CCSS important, mais cela peut entraîner un style CSS incorrect si le site utilise un constructeur de page."

#: tpl/page_optm/settings_css.tpl.php:230
msgid "This option is bypassed due to %s option."
msgstr "Cette option est ignorée en raison de l’option %s."

#: tpl/page_optm/settings_css.tpl.php:217
msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."
msgstr "Utiliser le service en ligne QUIC.cloud pour générer des CSS critiques et charger les CSS restants de manière asynchrone."

#: tpl/page_optm/settings_css.tpl.php:181
msgid "This option will automatically bypass %s option."
msgstr "L’option contournera automatiquement l’option %s."

#: tpl/page_optm/settings_css.tpl.php:155
#: tpl/page_optm/settings_css.tpl.php:160
#: tpl/page_optm/settings_css.tpl.php:292
#: tpl/page_optm/settings_css.tpl.php:297
#: tpl/page_optm/settings_vpi.tpl.php:100
#: tpl/page_optm/settings_vpi.tpl.php:105
msgid "Run %s Queue Manually"
msgstr "Exécuter %s file d’attente manuellement"

#: tpl/page_optm/settings_css.tpl.php:93
msgid "This option is bypassed because %1$s option is %2$s."
msgstr "Cette option est ignorée car l’option %1$s est %2$s."

#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr "La génération automatique d’un CSS unique est en arrière-plan via une file d’attente basée sur Cron."

#: tpl/page_optm/settings_css.tpl.php:83
msgid "This will drop the unused CSS on each page from the combined file."
msgstr "Va supprimer le CSS inutilisé sur chaque page du fichier combiné."

#: tpl/page_optm/entry.tpl.php:18 tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr "Réglages HTML"

#: tpl/inc/in_upgrading.php:15
msgid "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."
msgstr "Extension de cache LiteSpeed mise à niveau. Veuillez actualiser la page pour terminer la mise à niveau des données de configuration."

#: tpl/general/settings_inc.guest.tpl.php:27
msgid "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."
msgstr "Aide à corriger la variation du cache pour certaines visites avancées sur mobile ou tablette."

#: tpl/general/settings.tpl.php:104
msgid "Please make sure this IP is the correct one for visiting your site."
msgstr "Veuillez vous assurer que cette IP est la bonne pour visiter votre site."

#: tpl/general/settings.tpl.php:103
msgid "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."
msgstr "l’adresse IP détectée automatiquement peut ne pas être exacte si on dispose d’un ensemble d’adresses IP sortantes supplémentaires ou si plusieurs adresses IP sont configurées sur le serveur."

#: tpl/general/settings.tpl.php:86
msgid "You need to turn %s on and finish all WebP generation to get maximum result."
msgstr "Activer %s et terminer toute la génération de fichiers WebP pour obtenir un résultat."

#: tpl/general/settings.tpl.php:79
msgid "You need to turn %s on to get maximum result."
msgstr "Vous devez activer %s pour obtenir un résultat maximal."

#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr "Permet une optimisation maximale pour les internautes en mode Invité."

#: tpl/dash/dashboard.tpl.php:54 tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521 tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625 tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713 tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801 tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr "Plus"

#: tpl/dash/dashboard.tpl.php:301
msgid "Remaining Daily Quota"
msgstr "Quota quotidien restant"

#: tpl/crawler/summary.tpl.php:246
msgid "Successfully Crawled"
msgstr "Bien exploré"

#: tpl/crawler/summary.tpl.php:245
msgid "Already Cached"
msgstr "Déjà mise en cache"

#: tpl/crawler/settings.tpl.php:59
msgid "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."
msgstr "Le robot explorateur utilisera votre plan de site XML ou votre index de plan de site. Saisissez l’URL complète de votre plan de site ici."

#: tpl/cdn/cf.tpl.php:48
msgid "Optional when API token used."
msgstr "Facultatif en cas d’utilisation d’un jeton d’API."

#: tpl/cdn/cf.tpl.php:40
msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."
msgstr "Recommandé pour générer le jeton à partir du modèle de jeton de l’API Cloudflare « WordPress »."

#: tpl/cdn/cf.tpl.php:35
msgid "Global API Key / API Token"
msgstr "Clé/jeton d’API global"

#: tpl/cdn/other.tpl.php:52
msgid "NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s."
msgstr "Note : les CDN QUIC.cloud et Cloudflare n’utilisent pas de CDN mapping. Si vous utilisez uniquement QUIC.cloud ou Cloudflare, laissez ce réglage %s."

#: tpl/cache/settings_inc.object.tpl.php:47
msgid "Use external object cache functionality."
msgstr "Utiliser la fonction de cache d’objet externe."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:24
msgid "Serve a separate cache copy for mobile visitors."
msgstr "Servir une copie de cache séparée sur mobile."

#: thirdparty/woocommerce.content.tpl.php:36
msgid "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."
msgstr "Par défaut, les pages Mon compte, Paiement et Commande sont automatiquement exclues de la mise en cache. Une mauvaise configuration des associations de pages dans les réglages WooCommerce peut entraîner l’exclusion erronée de certaines pages."

#: src/purge.cls.php:312
msgid "Cleaned all Unique CSS files."
msgstr "Nettoyer tous les fichiers CSS uniques."

#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr "Ajouter les dimensions manquantes"

#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr "Optimiser pour les visiteurs uniquement"

#: src/lang.cls.php:191
msgid "Guest Mode JS Excludes"
msgstr "JS de mode invité exclu"

#: src/lang.cls.php:171
msgid "CCSS Per URL"
msgstr "CCSS par URL"

#: src/lang.cls.php:168
msgid "HTML Lazy Load Selectors"
msgstr "Sélecteurs HTML de chargement différé"

#: src/lang.cls.php:163
msgid "UCSS URI Excludes"
msgstr "URL UCSS exclus"

#: src/lang.cls.php:160
msgid "UCSS Inline"
msgstr "UCSS en ligne"

#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr "Optimisation visiteur"

#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr "Mode visiteur"

#: src/error.cls.php:150
msgid "Online node needs to be redetected."
msgstr "Le nœud en ligne doit être redétecté."

#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr "Le serveur actuel est soumis à une charge importante."

#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr "Veuillez voir %s pour plus de détails."

#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr "Ce réglage régénérera la liste des robots d’exploration et effacera la liste de désactivation !"

#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr "Il reste %1$s %2$s fichiers dans la file d’attente"

#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr "La liste des robots d’exploration désactivés est effacée ! Tous les robots d’exploration sont activés ! "

#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr "Nœud redétecté"

#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr "Aucun nœud Cloud disponible après vérification de la charge du serveur."

#: src/lang.cls.php:176
msgid "Localization Files"
msgstr "Fichiers de localisation"

#: cli/purge.cls.php:234
msgid "Purged!"
msgstr "Purgé !"

#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr "Les ressources des domaines énumérés ici seront copiées et remplacées par des URL locales."

#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr "Utiliser le dernier commit GitHub maître"

#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr "Utiliser le dernier commit GitHub de développement"

#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr "Aucun plan de site valide n’a été analysé par le robot explorateur."

#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr "Combiner les CSS externes et en ligne"

#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr "Inclure les CSS externes et les CSS en ligne dans le fichier combiné lorsque %1$s est également activé. Cette option aide à maintenir les priorités d’exécution du JS, ce qui devrait minimiser les erreurs potentielles causées par CSS Combine."

#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr "Minimiser les fichiers CSS et le code CSS en ligne."

#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr "La liste prédéfinie sera également combinée avec les réglages ci-dessus."

#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr "Localisation"

#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr "Inclure les JS externes et les JS en ligne dans le fichier combiné lorsque %1$s est également activé. Cette option aide à maintenir les priorités d’exécution du JS, ce qui devrait minimiser les erreurs potentielles causées par JS Combine."

#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr "Combiner tous les fichiers JS locaux en un seul fichier."

#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr "Les fichiers JS ou le code JS en ligne listés ne seront pas différés."

#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr "Combiner les JS externes et en ligne"

#: src/admin-display.cls.php:805 tpl/banner/new_version.php:114
#: tpl/banner/score.php:142 tpl/banner/slack.php:49
msgid "Dismiss"
msgstr "Ignorer"

#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr "Le dernier fichier de données est"

#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr "La liste sera fusionnée avec les nonces prédéfinis dans votre fichier de données local."

#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr "Combinez les fichiers CSS et le code CSS en ligne."

#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr "Minifier les fichiers JS et les codes JS en ligne."

#: tpl/page_optm/settings_tuning.tpl.php:63
msgid "Listed JS files or inline JS code will not be minified or combined."
msgstr "Les fichiers JS listés ou le code JS en ligne ne seront pas minifiés ou combinés."

#: tpl/page_optm/settings_tuning_css.tpl.php:31
msgid "Listed CSS files or inline CSS code will not be minified or combined."
msgstr "Les fichiers CSS listés ou le code CSS en ligne ne seront pas minifiés ou combinés."

#: src/admin-display.cls.php:1311
msgid "This value is overwritten by the Network setting."
msgstr "Cette valeur est surchargée par le réglage du réseau."

#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr "LQIP exclut"

#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr "Ces images ne génèrent pas de LQIP."

#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr "Confirmez-vous vouloir réinitialiser tous les réglages aux valeurs par défaut ?"

#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr "Cette option retirera toutes les balises %s du HTML."

#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr "Confirmez-vous vouloir vider tous les nœuds du cloud ?"

#: src/lang.cls.php:193 tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr "Retirer les balises Noscript"

#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr "Le site n’est pas enregistré sur QUIC.cloud."

#: src/error.cls.php:73 tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144 tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr "Cliquez ici pour configurer."

#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr "Localiser les ressources"

#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr "Paramétrage des en-têtes personnalisés"

#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr "Cela supprimera toutes les ressources localisées"

#: src/gui.cls.php:776 src/gui.cls.php:996 tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr "Ressources localisées"

#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr "Les commentaires sont pris en charge. Commencez une ligne avec un %s pour la transformer en ligne de commentaire."

#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr "Sources HTTPS uniquement."

#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr "Localiser les ressources externes."

#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr "Réglages de localisation"

#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr "Utilisez le service en ligne QUIC.cloud pour générer des CSS uniques."

#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr "Générer l’UCSS"

#: tpl/dash/dashboard.tpl.php:668 tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr "CSS unique"

#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr "Purger les entrées de cache créées par cette extension à l’exception des caches CSS et LQIP critiques"

#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr "Rapport LiteSpeed"

#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr "Dimensions de groupe de la miniature d’image"

#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr "Ignorez certaines chaînes de requête lors de la mise en cache. (%s LSWS nécessaire)"

#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr "Pour les URL avec des jokers, il peut y avoir un retard dans le lancement de la purge planifiée."

#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr "Par conception, cette option peut servir du contenu périmé. N’activez pas cette option si cela ne vous convient pas."

#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr "Servir le périmé"

#: src/admin-display.cls.php:1309
msgid "This value is overwritten by the primary site setting."
msgstr "Cette valeur est surchargée par le réglage du site principal."

#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr "Une ou plusieurs images tirées ne correspondent pas à l’image md5 notifiée"

#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr "Certains fichiers d’image optimisés ont expiré et ont été effacés."

#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr "Vous avez trop de demandes d’images, veuillez réessayer dans quelques minutes."

#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr "L’image WebP md5 tirée ne correspond pas à l’image WebP md5 notifiée."

#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr "Lire la documentation LiteSpeed"

#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr "Il y a une file d’attente qui n’est pas encore tirée. Informations sur la file d’attente : %s."

#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr "Spécifiez combien de temps, en secondes, les fichiers Gravatar sont mis en cache."

#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr "Effacé %1$s images non valides."

#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr "Réglages généraux de LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr "Cela supprimera tous les fichiers Gravatar mis en cache"

#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr "Empêcher tout journal de débogage des pages listées."

#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr "Journaliser uniquement les pages répertoriées."

#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr "Précisez la taille maximale du fichier journal."

#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr "Pour éviter de remplir le disque, ce réglage doit être désactivé lorsque tout fonctionne."

#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr "Cliquez sur le bouton %s pour stopper le test bêta et revenir à la version actuelle depuis le répertoire des extensions WordPress."

#: tpl/toolbox/beta_test.tpl.php:65 tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr "Utiliser la dernière version de WordPress"

#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr "Ou"

#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr "Utilisez cette section pour permuter les versions d’extension. Pour tester la version bêta d'un commit GitHub, saisissez l’URL du commit dans le champ ci-dessous."

#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr "Réinitialiser les réglages"

#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr "Boîte à outils LiteSpeed Cache"

#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr "Bêta test"

#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr "Vue du journal"

#: tpl/toolbox/entry.tpl.php:33 tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr "Réglages de débogage"

#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr "Activez pour contrôler les battements de cœur dans l'éditeur de l’interface d’administration."

#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr "Activez pour contrôler les battements de cœur dans l’interface d’administration."

#: tpl/toolbox/heartbeat.tpl.php:58 tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr "Réglez sur %1$s pour interdire les battements de cœur sur %2$s."

#: tpl/toolbox/heartbeat.tpl.php:57 tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr "L’intervalle valide de WordPress est de %s secondes."

#: tpl/toolbox/heartbeat.tpl.php:56 tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr "Précisez l’intervalle de battement de cœur de %s en secondes."

#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr "Activez pour contrôler les battements de cœur sur l’interface publique."

#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr "Désactivez l’intervalle de battement de cœur de WordPress pour réduire la charge du serveur."

#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr "Contrôle des battements de cœur"

#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr "fournir plus d'informations ici pour aider l’équipe LiteSpeed dans le débogage."

#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr "Facultatif"

#: tpl/toolbox/report.tpl.php:100 tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr "Générer un lien pour l’utilisateur actuel"

#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr "Lien de connexion sans mot de passe"

#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr "Informations système"

#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr "Aller à la liste des extensions"

#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr "Installer DoLogin Security"

#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr "Vérifier mon IP publique à partir de"

#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr "L’adresse IP de votre serveur"

#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr "Saisissez l'adresse IP de ce site pour permettre aux services de cloud d'appeler directement l’IP au lieu du nom de domaine. Cela permet d’éviter les surcharges des consultations DNS et CDN."

#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr "Cela permettra le cron du robot explorateur."

#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr "Réglages généraux du robot explorateur"

#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr "Retirer de la liste de blocage"

#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr "Vider la liste de blocage"

#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr "Confirmez-vous vouloir supprimer toutes les éléments de liste de blocage existants ?"

#: tpl/crawler/blacklist.tpl.php:88 tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr "Mis sur liste de blocage car impossible à mettre en cache"

#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr "Ajouter à la liste de blocage"

#: tpl/crawler/blacklist.tpl.php:43 tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr "Opération"

#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr "Total du plan de site"

#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr "Liste du plan du site"

#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr "Actualiser la carte du robot explorateur"

#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr "Vider la carte du robot explorateur"

#: tpl/crawler/blacklist.tpl.php:28 tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr "Liste de blocage"

#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr "Carte"

#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr "Résumé"

#: tpl/crawler/map.tpl.php:63 tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr "Cache manquant"

#: tpl/crawler/map.tpl.php:62 tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr "Occurrences de cache"

#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr "En attente d’exploration"

#: tpl/crawler/blacklist.tpl.php:89 tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104 tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr "Bloqué"

#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr "Manqué"

#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr "Occurrences"

#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr "En attente"

#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr "En cours d’exécution"

#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr "Utilisez %1$s dans %2$s pour indiquer que ce cookie n’a pas été défini."

#: src/admin-display.cls.php:459
msgid "Add new cookie to simulate"
msgstr "Ajouter un nouveau cookie pour simuler"

#: src/admin-display.cls.php:458
msgid "Remove cookie simulation"
msgstr "Supprimer la simulation de cookie"

#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr "La règle htaccess est : %s"

#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr "D’autres réglages sont disponibles dans le menu %s"

#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr "La durée, en secondes, pendant laquelle les fichiers seront stockés dans le cache du navigateur avant d’expirer."

#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr "Utilisateurs d’OpenLiteSpeed, veuillez vérifier ceci"

#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr "Réglages du cache navigateur"

#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr "Les chemins contenant ces chaînes de caractères seront forcés à être mis en cache public, indépendamment des réglages qui ne peuvent pas être mis en cache."

#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr "Si le CDN QUIC.cloud est activé, vous pouvez toujours voir les en-têtes de cache de votre serveur local."

#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr "Un second réglage facultatif peut être utilisé pour spécifier le contrôle du cache. Utilisez un espace pour séparer"

#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr "Les nonces ci-dessus seront automatiquement convertis en ESI."

#: tpl/cache/entry.tpl.php:21 tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr "Navigateur"

#: tpl/cache/entry.tpl.php:20 tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr "Objet"

#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr "Le port par défaut pour %1$s est %2$s."

#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr "Réglages du cache objet"

#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr "Spécifiez un code d’état HTTP et le nombre de secondes pour mettre cette page en cache, séparés par un espace."

#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr "Spécifiez combien de temps, en secondes, la page d’accueil est mise en cache."

#: tpl/cache/entry.tpl.php:67 tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr "TTL"

#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr "Si activé, une copie périmée de la page en cache sera affichée au visiteur jusqu’à ce qu’une nouvelle copie de cache soit disponible. Réduit la charge du serveur pour les visites suivantes. Si désactivé, la page sera générée dynamiquement pendant que le visiteur attend."

#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr "Swap"

#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr "Définissez ceci pour ajouter %1$s à toutes les règles %2$s avant de mettre en cache le CSS pour spécifier comment les polices doivent être affichées lors du téléchargement."

#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr "Liste des avatars en attente de mise à jour"

#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr "Actualiser le cache  Gravatar par cron."

#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr "Accélère la vitesse en mettant en cache Gravatar (avatars mondialement reconnus)."

#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr "Stockez Gravatar localement."

#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."
msgstr "Échec de la création de la table Avatar. Veuillez suivre les conseils <a %s>de création de tableau du wiki LiteSpeed</a> pour terminer la configuration."

#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr "Les requêtes LQIP ne seront pas envoyées pour les images dont la largeur et la hauteur sont inférieures à ces dimensions."

#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr "pixels"

#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr "Un plus grand nombre générera une meilleure qualité de résolution de remplacement, mais donnera lieu à des fichiers plus volumineux qui augmenteront la taille des pages et consommeront plus de points."

#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr "Précisez la qualité lors de la génération du LQIP."

#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr "N’utilisez pas cette option pour utiliser des textes indicatifs en couleur."

#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr "Utilisez le service de génération de LQIP (Low Quality Image Placeholder) de QUIC.cloud pour une prévisualisation responsive des images pendant le chargement."

#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr "Précisez la couleur SVG du texte indicatif responsive."

#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr "Les variables %s seront remplacées par la couleur d’arrière-plan configurée."

#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr "Les variables %s seront remplacées par les propriétés de l’image correspondante."

#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr "Ce sera converti à la volée en un texte indicatif base64 SVG."

#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr "Spécifiez un SVG à utiliser comme texte indicatif lors de la génération en local."

#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr "Empêcher tout chargement différé des pages listées."

#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr "Les iframes ayant ces noms de classe parent ne seront pas chargées en différé."

#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr "Les iframes contenant ces noms de classe ne seront pas chargées en différé."

#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr "Les images ayant ces noms de classe de parent ne seront pas chargées en différé."

#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr "Optimisation des pages de LiteSpeed Cache"

#: tpl/page_optm/entry.tpl.php:21 tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr "Médias exclus"

#: tpl/page_optm/entry.tpl.php:16 tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr "Réglages CSS"

#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr "%s est recommandé."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr "Différé"

#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr "Par défaut"

#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr "Cela peut améliorer la vitesse de chargement des pages."

#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr "Activer automatiquement le pré-lancement des DNS pour les URL dans le document, y compris les images, CSS, JavaScript, etc."

#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr "La nouvelle version développeur %s est disponible dès maintenant."

#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr "Nouvelle version développeur disponible !"

#: tpl/banner/cloud_news.tpl.php:51 tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr "Ignorer cette notification"

#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr "Tweeter ceci"

#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr "Aperçu du tweet"

#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr "Apprendre plus"

#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr "Vous venez de débloquer une promotion de QUIC.cloud !"

#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr "Le réglage de la qualité de compression d’image de WordPress sur 100."

#: tpl/img_optm/entry.tpl.php:17 tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19 tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr "Réglages d’optimisation des images"

#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr "Confirmez-vous vouloir détruire toutes les images optimisées ?"

#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr "Utiliser les fichiers optimisés"

#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr "Revenir à l’utilisation d’images optimisées sur votre site"

#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr "Utiliser les fichiers originaux"

#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr "Utiliser des images originales (non optimisées) sur votre site"

#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr "Vous pouvez rapidement passer de l’utilisation de fichiers d’images originaux (versions non optimisées) à celle de fichiers d’images optimisés. Cela affectera toutes les images de votre site web, qu’il s’agisse de la version normale ou de la version webp si disponible."

#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr "Outils d’optimisation"

#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr "Scanner à nouveau les nouvelles miniatures"

#: tpl/img_optm/summary.tpl.php:289
msgid "Congratulations, all gathered!"
msgstr "Félicitations, tous recueillies !"

#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr "Qu’est-ce qu’un groupe d’images ?"

#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr "Supprimer toutes les sauvegardes des images originales"

#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr "Calculer l’espace disque de sauvegarde"

#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr "État de l’optimisation"

#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr "La limite actuelle est"

#: tpl/img_optm/summary.tpl.php:68
msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."
msgstr "Afin de s’assurer que notre serveur peut communiquer avec le vôtre sans problème et que tout fonctionne bien, pour les quelques premières demandes, le nombre de groupes d’images autorisés dans une seule demande est limité."

#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr "Vous pouvez demander un maximum de %s images à la fois."

#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr "Optimiser les images avec notre serveur QUIC.cloud"

#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr "Les révisions plus récentes que ce nombre de jours seront conservées lors du nettoyage des révisions."

#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr "Jour(s)"

#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr "Précisez le nombre de révisions les plus récentes à conserver lors du nettoyage des révisions."

#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr "Optimisation de la base de données LiteSpeed Cache"

#: tpl/db_optm/entry.tpl.php:17 tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr "Réglages d’optimisation de la BDD"

#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr "Nom de l’option"

#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr "Résumé de la base de données"

#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr "Nous sommes bons. Aucune table n’utilise le moteur MyISAM."

#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr "Convertir en InnoDB"

#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr "Outil"

#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr "Moteur"

#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr "Tableau"

#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr "Convertisseur de moteur de table de base de données"

#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr "Révisions propres plus anciennes que %1$s jour(s), à l’exclusion des %2$s dernières révisions"

#: tpl/dash/dashboard.tpl.php:87 tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr "Robot explorateur actuellement actif"

#: tpl/dash/dashboard.tpl.php:84 tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr "Robot(s) explorateur(s)"

#: tpl/crawler/map.tpl.php:77 tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr "État du robot explorateur"

#: tpl/dash/dashboard.tpl.php:649 tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737 tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr "Forcer le cron"

#: tpl/dash/dashboard.tpl.php:646 tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734 tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr "Demandes en file d’attente"

#: tpl/dash/dashboard.tpl.php:639 tpl/dash/dashboard.tpl.php:683
#: tpl/dash/dashboard.tpl.php:727 tpl/dash/dashboard.tpl.php:771
msgid "Time to execute previous request: %s"
msgstr "Délai d’exécution de la demande précédente : %s"

#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr "Cache privé"

#: tpl/dash/dashboard.tpl.php:58 tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr "Cache public"

#: tpl/dash/dashboard.tpl.php:53 tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr "État du cache"

#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr "Dernier tirage"

#: tpl/dash/dashboard.tpl.php:520 tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr "Résumé d’optimisation des images"

#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr "Actualiser le score de la page"

#: tpl/dash/dashboard.tpl.php:383 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr "Confirmez-vous vouloir détecter à nouveau le serveur cloud le plus proche pour ce service ?"

#: tpl/dash/dashboard.tpl.php:382 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Current closest Cloud server is %s. Click to redetect."
msgstr "Le serveur Cloud le plus proche est actuellement %s. Cliquez pour le détecter à nouveau."

#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr "Actualiser le temps de chargement des pages"

#: tpl/dash/dashboard.tpl.php:354 tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr "Aller au tableau de bord QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:207 tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr "Texte indicatif d’image de faible qualité"

#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr "Synchroniser les données depuis le Cloud"

#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr "Statistiques sur l’utilisation des services QUIC.cloud"

#: tpl/dash/dashboard.tpl.php:293 tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr "Total des images optimisées ce mois-ci"

#: tpl/dash/dashboard.tpl.php:292 tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr "Utilisation totale"

#: tpl/dash/dashboard.tpl.php:274 tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr "Statistiques sur l’utilisation du paiement au fur et à mesure"

#: tpl/dash/dashboard.tpl.php:271 tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr "Solde du paiement au fur et à mesure"

#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr "Paiement au fur et à mesure"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr "Utilisation"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr "Utilisation de la file d’attente rapide"

#: tpl/dash/dashboard.tpl.php:206 tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr "Bande passante de CDN"

#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr "Tableau de bord LiteSpeed Cache"

#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr "Tableau de bord du réseau"

#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr "Aucun service cloud n’est actuellement utilisé"

#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr "Cliquez pour effacer tous les nœuds pour une nouvelle détection."

#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr "Nœuds cloud actuels en service"

#: tpl/cdn/qc.tpl.php:126 tpl/cdn/qc.tpl.php:133 tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr "Lier à QUIC.cloud"

#: tpl/general/entry.tpl.php:17 tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19 tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr "Réglages généraux"

#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr "Spécifiez quels attributs des éléments HTML seront remplacés avec CDN Mapping."

#: src/admin-display.cls.php:485
msgid "Add new CDN URL"
msgstr "Ajouter une nouvelle URL de CDN"

#: src/admin-display.cls.php:484
msgid "Remove CDN URL"
msgstr "Supprimer l’URL du CDN"

#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr "Pour activer la fonctionnalité suivante, activez l’API Cloudflare dans les réglages CDN."

#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr "QUIC.cloud"

#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr "Réglages WooCommerce"

#: src/gui.cls.php:788 src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr "Cache LQIP"

#: src/admin-settings.cls.php:297 src/admin-settings.cls.php:333
msgid "Options saved."
msgstr "Options enregistrées."

#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr "Sauvegardes bien supprimées."

#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr "Sauvegardes bien calculées."

#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr "%d images ont bien été réanalysées."

#: src/img-optm.cls.php:1527 src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr "Bien été réanalysées."

#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr "Bien détruire toutes les données d’optimisation."

#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr "Bien nettoyé les données non finalisées."

#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr "Le cron du tirage est en cours d’exécution"

#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr "Aucune image valide trouvée par le serveur cloud dans la demande actuelle."

#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr "Aucune image valide trouvée dans la demande actuelle."

#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr "%1$s poussées vers le serveur Cloud, %2$s acceptées."

#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr "Âge maximal des révisions"

#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr "Nombre maximum de révisions"

#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr "L’URL de débogage exclut"

#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr "L’URL de débogage comprend"

#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr "Attribut HTML à remplacer"

#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr "Utiliser le mappage CDN"

#: tpl/general/online.tpl.php:100
msgid "QUIC.cloud CDN:"
msgstr "CDN QUIC.cloud :"

#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr "Éditeur Heartbeat TTL"

#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr "Éditeur Heartbeat"

#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr "TTL du battement de cœur de l’interface d’administration"

#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr "Contrôle du battement de cœur de l’interface d’administration"

#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr "TTL du battement de cœur de l’interface publique"

#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr "Contrôle du battement de cœur de l’interface publique"

#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr "Chemin du .htaccess de l’interface d’administration"

#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr "Chemin .htaccess sur interface publique"

#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr "Nonces d’ESI"

#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr "Contrôle de la qualité des images WordPress"

#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr "Requête automatique Cron"

#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr "Générer LQIP en arrière-plan"

#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr "Dimensions minimales de LQIP"

#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr "Qualité de LQIP"

#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr "Générateur de cloud de LQIP"

#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr "SVG de l’espace indicatif responsive"

#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr "Couleur de l’espace indicatif responsive"

#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr "Image générique pour l’image de base"

#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr "L’URL de chargement différé exclut"

#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr "Nom de classe d’iframe parent en chargement différé exclut"

#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr "Nom de classe d’iframe en chargement différé exclut"

#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr "Nom de classe d’image en chargement différé exclut"

#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr "TTL du cache Gravatar"

#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr "Cron du cache Gravatar"

#: src/gui.cls.php:812 src/gui.cls.php:1032 src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49 tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr "Cache Gravatar"

#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr "Contrôle du préfixe DNS"

#: src/lang.cls.php:173 tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr "Optimisation de l’affichage des polices"

#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr "Forcer les URL du cache public"

#: src/lang.cls.php:121
msgid "Notifications"
msgstr "Notifications"

#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr "Durée de vie de la page de code d’état HTTP par défaut"

#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr "Durée de vie REST par défaut"

#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr "Activer la mise en cache"

#: src/cloud.cls.php:320 src/cloud.cls.php:377 src/lang.cls.php:106
msgid "Server IP"
msgstr "IP du serveur"

#: src/lang.cls.php:30
msgid "Images not requested"
msgstr "Images non demandées"

#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr "Synchronisation de l’allocation de crédit avec le serveur cloud bien effectuée."

#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr "Échec de la communication avec le serveur QUIC.cloud"

#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr "Bonnes nouvelles du serveur QUIC.cloud"

#: src/cloud.cls.php:1767 src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr "Message du serveur QUIC.cloud"

#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr "Veuillez essayer après %1$s pour le service %2$s."

#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr "Aucun nœud de cloud disponible."

#: src/cloud.cls.php:1131 src/cloud.cls.php:1144 src/cloud.cls.php:1182
#: src/cloud.cls.php:1250 src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr "Erreur de cloud"

#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr "La base de données a été mise à niveau en arrière-plan depuis %s. Ce message disparaîtra une fois la mise à niveau terminée."

#: src/media.cls.php:541
msgid "Restore from backup"
msgstr "Restaurer depuis une sauvegarde"

#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr "Aucune sauvegarde du fichier WebP non optimisé n’existe."

#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr "Fichier WebP réduit de %1$s (%2$s)"

#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr "Utilisation actuelle de la version originale (non optimisée) du fichier WebP."

#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr "Utilisation actuelle d’une version optimisée du fichier WebP."

#: src/media.cls.php:464
msgid "Orig"
msgstr "Originale"

#: src/media.cls.php:461
msgid "(no savings)"
msgstr "(aucun enregistrement)"

#: src/media.cls.php:460
msgid "Orig %s"
msgstr "%s originaux"

#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr "Félicitations ! Votre fichier a déjà été optimisé"

#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr "Aucune sauvegarde du fichier original n’existe."

#: src/media.cls.php:453 src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr "Utilisation de la version optimisée du fichier. "

#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr "Orig a enregistré %s"

#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr "Fichier original réduit par %1$s (%2$s)"

#: src/media.cls.php:421 src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr "Cliquer pour passer à la version optimisée."

#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr "Utilise actuellement la version originale (non optimale) du fichier."

#: src/media.cls.php:420 src/media.cls.php:490
msgid "(non-optm)"
msgstr "(non-optimisée)"

#: src/media.cls.php:417 src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr "Cliquez pour passer à la version originale (non optimisée)."

#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr "Utilisation actuelle d’une version optimisée du fichier."

#: src/media.cls.php:416 src/media.cls.php:454 src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr "(optimisée)"

#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr "Aperçu de l’image LQIP pour la taille %s"

#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr "LQIP"

#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr "Existait auparavant dans la liste de blocage"

#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr "Ajouté manuellement à la liste de blocage"

#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr "Règles des agents mobiles"

#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr "Création du plan du site réussie : %d éléments"

#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr "Plan de site bien nettoyé"

#: src/admin-display.cls.php:1512
msgid "Invalid IP"
msgstr "IP non valide"

#: src/admin-display.cls.php:1484
msgid "Value range"
msgstr "Plage de valeur"

#: src/admin-display.cls.php:1481
msgid "Smaller than"
msgstr "Plus petit que"

#: src/admin-display.cls.php:1479
msgid "Larger than"
msgstr "Plus grand que"

#: src/admin-display.cls.php:1473
msgid "Zero, or"
msgstr "Zéro, ou"

#: src/admin-display.cls.php:1461
msgid "Maximum value"
msgstr "Valeur maximale"

#: src/admin-display.cls.php:1458
msgid "Minimum value"
msgstr "Valeur minimale"

#: src/admin-display.cls.php:1438
msgid "Path must end with %s"
msgstr "Le chemin doit finir par %s"

#: src/admin-display.cls.php:1418
msgid "Invalid rewrite rule"
msgstr "Règle de réécriture non valide"

#: src/admin-display.cls.php:1318
msgid "Currently set to %s"
msgstr "Actuellement défini à %s"

#: src/admin-display.cls.php:261
msgid "Toolbox"
msgstr "Boîte à outils"

#: src/admin-display.cls.php:259
msgid "Database"
msgstr "Base de données"

#: src/admin-display.cls.php:258 tpl/dash/dashboard.tpl.php:205
#: tpl/dash/network_dash.tpl.php:37 tpl/general/online.tpl.php:83
#: tpl/general/online.tpl.php:133 tpl/general/online.tpl.php:148
msgid "Page Optimization"
msgstr "Optimisation de page"

#: src/admin-display.cls.php:251 tpl/dash/entry.tpl.php:16
msgid "Dashboard"
msgstr "Tableau de bord"

#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr "Conversion en InnoDB réussie."

#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr "Tous les fichiers Gravatar sont nettoyés."

#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr "Tous les fichiers LQIP sont nettoyés."

#: src/error.cls.php:238
msgid "Unknown error"
msgstr "Erreur inconnue"

#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr "La validation du rappel vers votre domaine a échoué. Veuillez vous assurer qu’aucun pare-feu ne bloque nos serveurs. Code de réponse : "

#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr "La validation du rappel vers votre domaine a échoué. Veuillez vous assurer qu’aucun pare-feu ne bloque nos serveurs."

#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr "La validation du rappel vers le domaine a échouée en raison d’une incompatibilité de hachage."

#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr "Votre application est en attente d’approbation."

#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr "Requête précédente trop récente. Réessayer après %s."

#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr "Requête précédente trop récente. Réessayer plus tard."

#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr "Impossible de trouver %1$s dans %2$s."

#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr "Crédits insuffisants pour répondre à votre demande."

#: src/error.cls.php:115
msgid "The image list is empty."
msgstr "La liste d’images est vide."

#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr "Activez cette option pour afficher automatiquement les dernières nouvelles, y compris les correctifs, les nouvelles versions, les versions bêta disponibles et les promotions."

#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr "Pour accorder un accès wp-admin à l’équipe de support de LiteSpeed, veuillez générer un lien sans mot de passe pour l’utilisateur actuellement connecté qui sera envoyé avec le rapport."

#. translators: %s: Link tags
#: tpl/toolbox/report.tpl.php:112
msgid "Generated links may be managed under %sSettings%s."
msgstr "Les liens générés peuvent être gérés dans %sRéglages%s."

#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr "Veuillez ne pas partager le lien sans mot de passe ci-dessus avec qui que ce soit."

#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr "Pour générer un lien sans mot de passe pour un accès à l’équipe de support de LiteSpeed, vous devez installer %s."

#: tpl/banner/cloud_news.tpl.php:30 tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr "Installer"

#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr "Ces options sont uniquement disponibles avec LiteSpeed Enterprise Web Server ou QUIC.cloud CDN."

#: tpl/banner/score.php:74 tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr "Score PageSpeed"

#: tpl/banner/score.php:62 tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411 tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr "Amélioré par"

#: tpl/banner/score.php:53 tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403 tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr "Après"

#: tpl/banner/score.php:45 tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395 tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr "Avant"

#: tpl/banner/score.php:40 tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr "Temps de chargement de la page"

#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr "Pour utiliser les fonctions de mise en cache, vous devez avoir un serveur web LiteSpeed ou utiliser un CDN QUIC.cloud."

#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr "Conserver les données EXIF/XMP"

#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr "Essayez la version GitHub"

#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr "Si vous désactivez un des réglages ci-dessus, veuillez supprimer les types de fichiers correspondants de la boîte %s."

#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr "Il est possible d’utiliser aussi bien des chaînes complètes que partielles."

#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr "Les images contenant ces noms de classes ne seront pas chargées en différé."

#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr "Le nom de la classe d’image de chargement différé exclut"

#: tpl/cache/settings-cache.tpl.php:139 tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr "Par exemple, %1$s définit un TTL de %2$s secondes pour %3$s."

#: tpl/cache/settings-cache.tpl.php:136 tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr "Pour définir un TTL personnalisé pour une URL, ajoutez un espace suivi de la valeur TTL à la fin de l’URL."

#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr "Peut-être ultérieurement"

#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr "Activer la mise à niveau auto"

#: tpl/banner/new_version.php:77 tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr "Mettre à niveau"

#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr "La nouvelle version %s est maintenant disponible."

#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr "Nouvelle version disponible !"

#: tpl/banner/score.php:121
msgid "Created with ❤️ by LiteSpeed team."
msgstr "Créé avec ❤️ par l’équipe LiteSpeed."

#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr "Bien sûr que j’adorerais évaluer !"

#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr "Merci d’utiliser l’extension LiteSpeed Cache !"

#: src/activation.cls.php:570
msgid "Upgraded successfully."
msgstr "Bien mis à niveau."

#: src/activation.cls.php:561 src/activation.cls.php:566
msgid "Failed to upgrade."
msgstr "Échec de mise à niveau."

#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr "Réglage bien modifié."

#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr "Exemple d’ESI pour les développeurs"

#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr "Remplacer %1$s avec %2$s."

#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr "Vous pouvez transformer les codes courts en blocs ESI."

#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr "WpW : cache privé vs. cache public"

#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr "Ajoutez des chaînes de requête %s aux ressources pour contourner cette action."

#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr "Google reCAPTCHA sera automatiquement contourné."

#: tpl/crawler/settings.tpl.php:172
msgid "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."
msgstr "Pour explorer un cookie particulier, saisissez son nom et les valeurs que vous souhaitez explorer. Les valeurs doivent être uniques par ligne, et peuvent inclure une ligne vierge. Il y aura un robot explorateur créé par valeur de cookie, par rôle simulé."

#: src/admin-display.cls.php:456 tpl/crawler/settings.tpl.php:179
msgid "Cookie Values"
msgstr "Valeurs de cookie"

#: src/admin-display.cls.php:455
msgid "Cookie Name"
msgstr "Nom de cookie"

#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr "Simulation de cookie"

#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr "Utilisez la bibliothèque Web Font Loader pour charger les polices Google de manière asynchrone tout en laissant les autres CSS intacts."

#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr "Activez cette option pour que LiteSpeed Cache soit mis à jour automatiquement, chaque fois qu’une nouvelle version est diffusée. Si inactif, mettre à jour manuellement comme d’habitude."

#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr "Mettre à jour automatiquement"

#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr "Votre IP"

#: src/import.cls.php:156
msgid "Reset successfully."
msgstr "Réinitialisation effectuée."

#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr "Cela va réinitialiser tous les réglages à ceux par défaut."

#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr "Réinitialiser tous les réglages"

#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr "Des fichiers CSS critiques distincts seront générés pour les chemins contenant ces chaînes."

#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr "Séparer les URL de ca CCSS"

#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr "Par exemple, si chaque page du site a un formatage différent, saisissez %s dans la case. Des fichiers CSS critiques distincts seront stockés pour chaque page du site."

#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr "Énumérer les types de publication où chaque élément de ce type devrait avoir son propre CCSS généré."

#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr "Séparer le cache du CCSS par type de publication"

#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr "Liste des tailles dans la file d’attente en attente de cron"

#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr "Si défini à %1$s, avant que le texte indicatif ne soit localisé, la configuration %2$s sera utilisée."

#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr "Générer automatiquement LQIP en arrière-plan via une file d’attente basée sur cron."

#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr "Ceci générera le texte indicatif avec les mêmes tailles que l’image si elle a des attributs largeur et hauteur."

#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr "Les textes indicatif d’image responsive peuvent aider à réduire le remaniement de la mise en page lorsque les images sont chargées."

#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr "Texte indicatif responsive"

#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr "Ceci supprimera tous les fichiers indicatif LQIP d’image générés"

#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr "Veuillez activer LiteSpeed Cache dans les réglages de l’extension."

#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr "Veuillez activer le module LSCache au niveau du serveur ou demandez à votre hébergeur."

#: src/cloud.cls.php:1633 src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr "Échec de la requête via WordPress"

#. Description of the plugin
#: litespeed-cache.php
msgid "High-performance page caching and site optimization from LiteSpeed"
msgstr "Mise en cache des pages haute performance et optimisation du site à partir de LiteSpeed"

#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr "Bien réinitialiser les données optimisées."

#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr "Lettre à jour %s maintenant"

#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr "Voir les détails de la %1$s version %2$s"

#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5:
#. class/aria
#: src/gui.cls.php:1103
msgid "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."
msgstr "<a href=\"%1$s\" %2$s>Voir les détails de la version %3$s</a> ou <a href=\"%4$s\" %5$s target=\"_blank\">mettre à jour maintenant</a>."

#: src/gui.cls.php:1079
msgid "Install %s"
msgstr "Installer %s"

#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr "Les fonctions de mise en cache de LSCache sur cette page sont actuellement indisponibles !"

#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr "Extension %1$s version %2$s nécessaire pour cette action."

#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr "Nous travaillons dur pour améliorer votre expérience de service en ligne. Le service sera indisponible pendant que nous travaillons. Nous nous excusons pour tout inconvénient."

#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr "Supprimer automatiquement les sauvegarde d’image après récupération des images optimisées."

#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr "Supprimer les sauvegardes d’originales"

#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr "Demander automatiquement l’optimisation via tâche cron."

#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr "Une sauvegarde de chaque image est enregistrée avant d’être optimisée."

#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr "Commutation d’image réussie."

#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr "Cela peut améliorer la qualité, mais peut entraîner des images plus grandes que la compression avec perte."

#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr "Optimiser les images en utilisant la compression sans perte."

#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr "Optimiser sans perte"

#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr "Optimiser les images et enregistrer les sauvegardes des originaux dans le même dossier."

#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr "Optimiser les images originales"

#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr "Lorsque cette option est définie à %s, elle chargera également les polices Google de manière asynchrone."

#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr "Nettoyé tous les fichiers CSS critiques."

#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr "Ceci mettra en ligne la bibliothèque CSS asynchrone pour éviter le blocage du rendu."

#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr "Librairie CSS Async en ligne"

#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr "Exécuter la file d’attente manuellement"

#: tpl/page_optm/settings_css.tpl.php:117
#: tpl/page_optm/settings_css.tpl.php:254 tpl/page_optm/settings_vpi.tpl.php:65
msgid "URL list in %s queue waiting for cron"
msgstr "Liste d’URL dans la file d’attente de cron"

#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr "Dernier coût demandé"

#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr "Dernier généré"

#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr "Si défini sur %s, cela se fait au premier plan, ce qui peut ralentir le chargement de la page."

#: tpl/page_optm/settings_css.tpl.php:219
msgid "Automatic generation of critical CSS is in the background via a cron-based queue."
msgstr "Générer automatiquement des CSS critiques en arrière-plan via une file d’attente à base de cron."

#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr "Optimiser la livraison CSS."

#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr "Cela supprimera tous les fichiers CSS critiques générés"

#: tpl/dash/dashboard.tpl.php:624 tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr "CSS critique"

#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr "Ce site utilise la mise en cache afin de faciliter un temps de réponse plus rapide et une meilleure expérience utilisateur. La mise en cache stocke potentiellement une copie de chaque page web affichée sur ce site. Tous les fichiers de cache sont temporaires et ne sont jamais accessibles à un tiers, sauf si cela est nécessaire pour obtenir le support technique du fournisseur de l’extension de cache. Les fichiers cache expirent selon une planification fixée par l’administrateur du site, mais peuvent facilement être purgés par l’administrateur avant leur expiration naturelle, si nécessaire."

#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr "Désactiver cela peut entraîner l’arrêt des tâches WordPress déclenchées par AJAX."

#: src/utility.cls.php:214
msgid "right now"
msgstr "tout de suite"

#: src/utility.cls.php:214
msgid "just now"
msgstr "juste maintenant"

#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr "Enregistré"

#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr "Dernière exécution"

#: tpl/img_optm/settings.tpl.php:66 tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr "Vous ne pourrez pas annuler l’optimisation une fois les sauvegardes supprimées !"

#: tpl/img_optm/settings.tpl.php:65 tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr "C’est irréversible."

#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr "Supprimer les sauvegardes de l’image originale"

#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr "Confirmez-vous vouloir la suppression de toutes les sauvegardes d’image ?"

#: tpl/crawler/blacklist.tpl.php:32 tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr "Total"

#: tpl/img_optm/summary.tpl.php:198 tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr "Fichiers"

#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr "Dernier calculé"

#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr "Calculer le stockage des images originales"

#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr "Optimisation du stockage"

#: tpl/cdn/other.tpl.php:141 tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr "Utilisez le format %1$s ou %2$s (élément est facultatif)."

#: tpl/cdn/other.tpl.php:137 tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr "Ne seront remplacés uniquement les attributs listés ici."

#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr "Uniquement les fichiers de ces répertoires seront dirigés vers le CDN."

#: src/lang.cls.php:262
msgid "Included Directories"
msgstr "Répertoires inclus"

#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr "Une purge de tout sera exécutée lorsque WordPress exécute ces crochets."

#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr "Purger tous les crochets"

#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr "Tous les caches ont bien été purgés."

#: src/gui.cls.php:696 src/gui.cls.php:861 src/gui.cls.php:916
msgid "LSCache"
msgstr "LSCache"

#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr "Mise en cache forcée"

#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr "Les chemins contenant ces chaînes de caractères seront mis en cache sans tenir compte des réglages de non mise en cache."

#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr "Forcer la mise en cache des URL"

#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr "Réglages d’exclusion"

#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr "Ceci désactivera LSCache et toutes les fonctionnalités d’optimisation à des fins de débogage."

#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr "Désactiver toutes les fonctionnalités"

#: src/gui.cls.php:741 src/gui.cls.php:961 tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr "Cache Opcode"

#: src/gui.cls.php:706 src/gui.cls.php:926 tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr "Cache CSS/JS"

#: src/gui.cls.php:1055 tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr "Supprimer toutes les requêtes d’optimisation d’images inachevées."

#: src/gui.cls.php:1056 tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr "Nettoyage des données inachevées"

#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr "Rejoignez-nous sur Slack"

#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr "Rejoignez la communauté %s."

#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr "Souhaitez-vous vous connecter avec les autres utilisateurs et utilisatrices de LiteSpeed ?"

#: tpl/cdn/cf.tpl.php:38
msgid "Your API key / token is used to access %s APIs."
msgstr "Votre clé/jeton d’API est utilisé pour accéder aux APIS %s."

#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr "Votre adresse de messagerie sur %s."

#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr "Utiliser la fonctionnalité d’API %s."

#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr "Pour rendre le nom d’hôte CDN aléatoire, définissez plusieurs noms d’hôte pour les mêmes ressources."

#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr "Rejoindre la communauté Slack LiteSpeed"

#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr "Visiter le forum de support LSCWP"

#: src/lang.cls.php:33 tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr "Images notifiées à tirer"

#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr "Qu’est-ce qu’un groupe ?"

#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr "%s image"

#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr "%s groupe"

#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr "%s images"

#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr "%s groupes"

#: src/crawler.cls.php:1310
msgid "Guest"
msgstr "Hôte"

#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr "Pour crawler le site comme utilisateur connecté, saisissez les ID utilisateur à simuler."

#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr "Simulation de rôle"

#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr "exécution"

#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr "Taille"

#: tpl/crawler/summary.tpl.php:123 tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr "Raison pour laquelle c’est terminé"

#: tpl/crawler/summary.tpl.php:116 tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr "Dernier intervalle"

#: tpl/crawler/summary.tpl.php:104 tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr "Le crawler actuel a démarré le"

#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr "Durée d’exécution du précédent robot explorateur"

#: tpl/crawler/summary.tpl.php:91 tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr "%d secondes"

#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr "Durée de dernière exécution complète pour tous les robots explorateurs"

#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr "Le crawl de plan de site actuel a commencé le"

#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr "Enregistrer les transients dans la base de données lorsque %1$s est %2$s."

#: src/lang.cls.php:143
msgid "Store Transients"
msgstr "Stocker les transients"

#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile
#. User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr "Si %1$s est %2$s, alors %3$s doit être renseigné !"

#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104 tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76 tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr "Note"

#. translators: %s: list of server variables in <code> tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr "Variable·s de serveur %s disponible·s pour surpasser ce réglage."

#: src/admin-display.cls.php:1532 tpl/cache/settings-esi.tpl.php:103
#: tpl/page_optm/settings_css.tpl.php:87 tpl/page_optm/settings_css.tpl.php:223
#: tpl/page_optm/settings_html.tpl.php:131
#: tpl/page_optm/settings_media.tpl.php:258
#: tpl/page_optm/settings_media_exc.tpl.php:36
#: tpl/page_optm/settings_tuning.tpl.php:48
#: tpl/page_optm/settings_tuning.tpl.php:68
#: tpl/page_optm/settings_tuning.tpl.php:89
#: tpl/page_optm/settings_tuning.tpl.php:110
#: tpl/page_optm/settings_tuning.tpl.php:129
#: tpl/page_optm/settings_tuning_css.tpl.php:35
#: tpl/page_optm/settings_tuning_css.tpl.php:96
#: tpl/page_optm/settings_tuning_css.tpl.php:99
#: tpl/page_optm/settings_tuning_css.tpl.php:100
#: tpl/toolbox/edit_htaccess.tpl.php:61 tpl/toolbox/edit_htaccess.tpl.php:79
msgid "API"
msgstr "API"

#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr "Fichier de réglages %s bien importé."

#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr "Échec de l’import du à une erreur fichier."

#: tpl/page_optm/settings_css.tpl.php:61 tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr "Comment corriger les problèmes dus à l’optimisation du CSS/JS."

#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr "Cela va générer des requêtes supplémentaires au serveur, ce qui augmentera la charge du serveur."

#: tpl/cache/settings-advanced.tpl.php:71
msgid "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."
msgstr "Lorsqu’un visiteur survole un lien de page, précharger cette page. Cela accélérera la visite de ce lien."

#: src/lang.cls.php:241
msgid "Instant Click"
msgstr "Clic instantané"

#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr "Réinitialiser l’intégralité du cache opcode"

#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr "Cela va importer les réglages via un fichier et remplacer tous les réglages LiteSpeed Cache actuels."

#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr "Dernier importé"

#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr "Importer"

#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr "Importer des réglages"

#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr "Cela exportera tous les réglages actuels de LiteSpeed Cache et les enregistrera en tant que fichier."

#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr "Dernier exporté"

#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr "Exporter"

#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr "Exporter les réglages"

#: tpl/presets/entry.tpl.php:17 tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr "Importer/exporter"

#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr "Utilisez des connexions persistantes pour accélérer les opérations de cache."

#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr "Base de données à utiliser"

#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr "ID de base de données Redis"

#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr "Précisez le mot de passe utilisé pour la connexion."

#: src/lang.cls.php:137
msgid "Password"
msgstr "Mot de passe"

#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr "Uniquement disponible lorsque %s est installé."

#: src/lang.cls.php:136
msgid "Username"
msgstr "Nom d’utilisateur"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr "Votre nom d’hébergeur ou adresse IP de %s."

#: src/lang.cls.php:132
msgid "Method"
msgstr "Méthode"

#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr "Bien purger tous les caches d’objets."

#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr "Cache d’objet non activé."

#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr "Améliorez la vitesse de wp-admin grâce à la mise en cache. (peut rencontrer des données expirées)"

#: src/lang.cls.php:142
msgid "Cache WP-Admin"
msgstr "Mettre en cache wp-admin"

#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr "Connexion persistante"

#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr "Ne pas mettre en cache les groupes"

#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr "Groupes mis en cache au niveau du réseau."

#: src/lang.cls.php:139
msgid "Global Groups"
msgstr "Groupes globaux"

#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr "Test de connexion"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr "Extension %s"

#: tpl/cache/settings_inc.object.tpl.php:52 tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr "État"

#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr "TTL par défaut pour les objets mis en cache."

#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr "Durée de vie de l’objet par défaut"

#: src/lang.cls.php:134
msgid "Port"
msgstr "Port"

#: src/lang.cls.php:133
msgid "Host"
msgstr "Hôte"

#: src/gui.cls.php:729 src/gui.cls.php:949 src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60 tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr "Mise en cache d’objet"

#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr "Échouée"

#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr "Réussie"

#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr "Non disponible"

#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr "Purger tous les caches d’objets"

#: src/cdn/cloudflare.cls.php:275 src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr "Échec de communication avec Cloudflare"

#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr "Bien communiqué avec Cloudflare."

#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr "Aucune zone Cloudflare disponible"

#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr "Bien notifié Cloudflare de tout purger."

#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr "L’API Cloudflare est définie à inactif."

#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr "Bien notifié Cloudflare de définir le mode développement à %s."

#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr "Une fois enregistré, il sera harmonisé avec la liste actuelle et complété automatiquement."

#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr "Vous pouvez saisir juste une partie du domaine."

#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr "Domaine"

#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr "API Cloudflare"

#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr "Tout purger"

#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr "Cache Cloudflare"

#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr "Le mode développement sera automatiquement désactivé après trois heures."

#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr "Ignorer temporairement le cache Cloudflare. Cela permet de voir en temps réel les modifications apportées au serveur d’origine."

#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr "Le mode développement sera automatiquement désactivé dans %s."

#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr "L’état actuel est %s."

#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr "L’état actuel est %1$s depuis %2$s."

#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr "Vérifier l’état"

#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr "Désactiver"

#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr "Activer"

#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr "Mode développement"

#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr "Zone Cloudflare"

#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr "Domaine Cloudflare"

#: src/gui.cls.php:717 src/gui.cls.php:937 tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr "Cloudflare"

#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr "Par exemple"

#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr "Le pré-chargement des DNS peut réduire la latence pour les visiteurs."

#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr "Pré-chargement des DNS"

#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr "Ajout de style à vos images chargées en différé"

#: src/admin-display.cls.php:1371 src/admin-display.cls.php:1390
#: tpl/cdn/other.tpl.php:108
msgid "Default value"
msgstr "Valeur par défaut"

#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr "Liens de type de fichier statique à remplacer par des liens CDN."

#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr "Supprimer la chaîne de requête"

#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr "Activez cette option si vous utilisez HTTP et HTTPS sur le même domaine et que vous remarquez des irrégularités de cache."

#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr "Améliorer la compatibilité HTTP/HTTPS"

#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr "Supprimer toutes les requêtes/résultats d’optimisation d’image précédentes, annulez les optimisations terminées et supprimer tous les fichiers d’optimisation."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr "Détruire toutes les données d’optimisation"

#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr "Rechercher toute nouvelle taille de miniature d’image non optimisée et renvoyez les requêtes d’optimisation d’image nécessaires."

#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr "Cela augmentera la taille des fichiers optimisés."

#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr "Conserver les données EXIF (copyright, GPS, commentaires, mots clés, etc.) lors de l’optimisation."

#: tpl/toolbox/log_viewer.tpl.php:46 tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr "Effacer les journaux"

#: src/utility.cls.php:217
msgid " %s ago"
msgstr "il y a %s"

#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr "WebP économisé %s"

#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr "Si vous rencontrez des problèmes, veuillez vous reporter au numéro de rapport dans votre message de support."

#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr "Dernier tirage initié par cron à %s."

#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr "Les images seront tirées automatiquement si la tâche cron est en cours d’exécution."

#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr "N’appuyez sur le bouton que si la tâche cron de tirage est désactivée."

#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr "Tirer les images"

#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr "Ce processus est automatique."

#: tpl/dash/dashboard.tpl.php:569 tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr "Dernière requête"

#: tpl/dash/dashboard.tpl.php:546 tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr "Images tirées"

#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr "Rapport"

#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr "Envoyez ce rapport à LiteSpeed. Référez-vous à ce numéro de rapport lorsque vous publiez sur le forum de support WordPress."

#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr "Envoyer à LiteSpeed"

#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr "Optimisation de LiteSpeed"

#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr "Charger les Google Fonts de manière asynchrone"

#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr "TTL du cache navigateur"

#: src/doc.cls.php:101 tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846 tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93 tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114 tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46 tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr "Apprendre plus"

#: tpl/img_optm/summary.tpl.php:285
msgid "Image groups total"
msgstr "Total des groupes d’images"

#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr "Images optimisées et tirées"

#: src/lang.cls.php:32 tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr "Images demandées"

#: src/img-optm.cls.php:1993 src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr "Commuté pour bien optimiser le fichier."

#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr "Fichier original bien restauré."

#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr "Fichier WebP bien activé."

#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr "Fichier WebP bien désactivé."

#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr "Améliorez significativement le temps de chargement en remplaçant les images par leurs versions %s optimisées."

#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr "Les rôles sélectionnés seront exclus du cache."

#: tpl/page_optm/entry.tpl.php:23 tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr "Personnalisation"

#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr "Les rôles sélectionnés seront exclus de toutes les optimisations."

#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr "Rôle exclu"

#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr "Réglages de personnalisation"

#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr "Si l’identifiant d’étiquette n’est pas trouvé, l’étiquette sera retirée de la liste à l’enregistrement."

#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr "Si le nom de la catégorie n’est pas trouvé, la catégorie sera retirée de la liste lors de l’enregistrement."

#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr "Une fois que le serveur d’optimisation d’images QUIC.cloud a terminé l’optimisation, il demandera à votre site de tirer les images optimisées."

#: tpl/dash/dashboard.tpl.php:537 tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr "Envoyer une requête d’optimisation"

#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr "Information d’image"

#: tpl/dash/dashboard.tpl.php:543 tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr "Réduction totale"

#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr "Résumé d’optimisation"

#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr "Optimisation d’image LiteSpeed Cache"

#: src/admin-display.cls.php:257 src/gui.cls.php:895
#: tpl/dash/dashboard.tpl.php:204 tpl/dash/network_dash.tpl.php:36
#: tpl/general/online.tpl.php:75 tpl/general/online.tpl.php:134
#: tpl/general/online.tpl.php:149 tpl/presets/standard.tpl.php:32
msgid "Image Optimization"
msgstr "Optimisation d’image"

#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr "Par exemple, %s peut être utilisé pour un texte indicatif transparent."

#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr "Par défaut une image indicative grise %s sera utilisée."

#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr "Cela peut être défini dans %2$s comme utilisant la constante %1$s, en prenant ce réglage en priorité."

#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr "Précisez une image base64 à utiliser comme indicative pendant que les autres images terminent de charger."

#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr "Les éléments avec l’attribut %s dans le code html seront exclus."

#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr "Le filtre %s est supporté."

#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr "Les images listées ne seront pas chargées lentement."

#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr "Exclut l’image du chargement lent"

#: src/gui.cls.php:667
msgid "No optimization"
msgstr "Aucune optimisation"

#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr "Empêche toute optimisation des pages listées."

#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr "URI exclut"

#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr "Stopper le chargement d’emoji WordPress.org. Les emojis par défaut du navigateur seront affichés à la place."

#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr "À la fois les URL complètes et les chaînes partielles peuvent être utilisées."

#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr "Chargez les iframes uniquement lorsqu’elles entrent dans la fenêtre d’affichage."

#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr "Chargement différé des iframes"

#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr "Cela peut améliorer le temps de chargement de la page en réduisant les requêtes HTTP initiales."

#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr "Charger les images uniquement lorsqu’elles entrent dans la fenêtre d’affichage."

#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr "Chargement différé des images"

#: tpl/page_optm/entry.tpl.php:19 tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr "Réglages des médias"

#: tpl/cache/settings-esi.tpl.php:113 tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr "Wildcard %1$s pris en charge (correspond à zéro ou plusieurs caractères). Par exemple, pour faire correspondre %2$s et %3$s, utilisez %4$s."

#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr "Pour correspondre au début, ajoutez %s au début de l’élément."

#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr "Peut-être plus tard"

#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr "J’ai déjà laissé une évaluation"

#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr "Bienvenue chez LiteSpeed"

#: src/lang.cls.php:192 tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr "Retirer les emoji WordPress"

#: src/gui.cls.php:677
msgid "More settings"
msgstr "Plus de réglages"

#: src/gui.cls.php:654
msgid "Private cache"
msgstr "Cache privé"

#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr "Impossible à mettre en cache"

#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr "Marquer cette page comme"

#: src/gui.cls.php:584 src/gui.cls.php:601
msgid "Purge this page"
msgstr "Purger cette page"

#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr "Charger le JS en diféré"

#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr "Spécifiez les règles CSS critiques pour le contenu au-dessus du pli lorsque vous activez %s."

#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr "Règles CSS critiques"

#: src/lang.cls.php:170 tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr "Charger le CSS de manière asynchrone"

#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr "Empêcher les polices Google de charger sur toutes vos pages."

#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr "Retirer les polices Google"

#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175 tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr "Cela peut améliorer votre score de vitesse dans des services tels que Pingdom, GTmetrix et PageSpeed."

#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr "Retirer les chaines de requête des ressources statiques internes."

#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr "Retirer les chaînes de requête"

#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr "agents utilisateur"

#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr "cookies"

#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr "La mise en cache du navigateur stocke les fichiers statiques localement dans le navigateur de l’utilisateur. Activez ce réglage pour réduire les requêtes répétées de fichiers statiques."

#: src/lang.cls.php:109 tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605 tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr "Cache navigateur"

#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr "étiquettes"

#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr "Ne pas mettre en cache les étiquettes"

#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr "Pour exclure %1$s, insérez %2$s."

#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr "catégories"

#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr "Pour éviter que les %s soient mises en cache, saisissez-les ici."

#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr "Ne pas mettre en cache les catégories"

#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr "Les chaînes de requête contenant ces réglages ne seront pas mises en cache."

#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr "Ne pas mettre en cache les chaînes de requête"

#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr "Les chemins contenant ces chaînes de requête ne seront pas mis en cache."

#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr "Ne pas mettre en cache les URI"

#: src/admin-display.cls.php:1559 src/doc.cls.php:128
msgid "One per line."
msgstr "Une par ligne."

#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr "Les chemins d’URI contenant ces chaînes ne seront pas mis en cache comme publics."

#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr "URI mises en cache privées"

#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr "Les chemins contenant ces chaînes ne seront pas servis par le CDN."

#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr "Exclure le chemin"

#: src/lang.cls.php:259 tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr "Inclure les types de fichier"

#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr "Servir tous les fichiers JavaScript via le CDN. Cela affectera tous les fichiers JavaScript WP en file d’attente."

#: src/lang.cls.php:258
msgid "Include JS"
msgstr "Inclure le JS"

#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr "Servir tous les fichiers CSS via le CDN. Cela affectera tous les fichiers CSS WP en file d’attente."

#: src/lang.cls.php:257
msgid "Include CSS"
msgstr "Inclure le CSS"

#: src/lang.cls.php:256
msgid "Include Images"
msgstr "Inclure les images"

#: src/admin-display.cls.php:482
msgid "CDN URL to be used. For example, %s"
msgstr "URL de CDN à utiliser. Par exemple : %s"

#: src/lang.cls.php:255
msgid "CDN URL"
msgstr "URL de CDN"

#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr "L’URL du site à servir via le CDN. À partir de %1$s. Par exemple : %2$s."

#: src/lang.cls.php:261
msgid "Original URLs"
msgstr "URL originales"

#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr "Réglage du CDN"

#: src/admin-display.cls.php:256
msgid "CDN"
msgstr "CDN"

#: src/admin-display.cls.php:487 src/admin-display.cls.php:1168
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.object.tpl.php:280 tpl/cdn/other.tpl.php:53
#: tpl/dash/dashboard.tpl.php:69 tpl/dash/dashboard.tpl.php:462
#: tpl/dash/dashboard.tpl.php:584 tpl/dash/dashboard.tpl.php:613
#: tpl/img_optm/settings.media_webp.tpl.php:22
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_js.tpl.php:77
#: tpl/page_optm/settings_media.tpl.php:180
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "OFF"
msgstr "Inactif"

#: src/admin-display.cls.php:486 src/admin-display.cls.php:1167
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: src/doc.cls.php:41 tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.cache_mobile.tpl.php:91 tpl/cdn/other.tpl.php:45
#: tpl/crawler/settings.tpl.php:138 tpl/dash/dashboard.tpl.php:67
#: tpl/dash/dashboard.tpl.php:460 tpl/dash/dashboard.tpl.php:582
#: tpl/dash/dashboard.tpl.php:611 tpl/page_optm/settings_css.tpl.php:220
#: tpl/page_optm/settings_media.tpl.php:176
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "ON"
msgstr "Actif"

#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr "Serveur web LiteSpeed notifié de purger les entrées CSS/JS."

#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr "Minifier le contenu HTML."

#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr "Minifier  le HTML"

#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr "JS exclu"

#: src/lang.cls.php:165
msgid "JS Combine"
msgstr "Combiner JS"

#: src/lang.cls.php:164
msgid "JS Minify"
msgstr "Minifier JS"

#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr "CSS exclu"

#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr "Combiner CSS"

#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr "Minifier CSS"

#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr "Veuillez effectuer un test approfondi lorsque vous activez une option dans cette liste. Après avoir modifié les réglages Minifier/Combiner, veuillez faire une purge totale."

#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr "Cela purgera uniquement toutes les entrées CSS/JS minifiées/combinées"

#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr "Purger les erreurs %s"

#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr "Outil d’optimisation de base de données"

#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr "Optimiser toutes les tables dans votre base de données"

#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr "Optimiser les tables"

#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr "Nettoyer toutes les options de transient"

#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr "Tous les transients"

#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr "Nettoyer les options de transient expirées"

#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr "Transients expirés"

#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr "Nettoyer tous les rétroliens et pings"

#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr "Rétroliens/pings"

#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr "Nettoyer tous les commentaires mis à la corbeille"

#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr "Commentaires mis à la corbeille"

#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr "Nettoyer tous les commentaires indésirables"

#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr "Commentaires indésirables"

#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr "Nettoyer tous les articles et pages mis à la corbeille"

#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr "Articles mis à la corbeille"

#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr "Nettoyer tous les brouillons auto-enregistrés"

#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr "Brouillons auto"

#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr "Nettoyer toutes les révisions d’article"

#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr "Révisions d’article"

#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr "Tout nettoyer"

#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr "Optimisé toutes les tables."

#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr "Tous les transients ont bien été nettoyés."

#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr "Les transients expirés ont bien été nettoyés."

#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr "Les rétroliens et pings ont bien été nettoyés."

#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr "Les commentaires mis à la corbeille ont bien été nettoyés."

#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr "Les commentaires indésirables ont bien été nettoyés."

#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr "Articles et pages mis à la corbeille bien nettoyés."

#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr "Les brouillons auto ont bien été nettoyés."

#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr "Les révisions d’article ont bien été nettoyées."

#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr "Tout a bien été nettoyé."

#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr "TTL cache privé par défaut"

#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr "Si votre site contient du contenu public que certains rôles utilisateur peuvent voir, mais que d’autres rôles ne peuvent pas, vous pouvez spécifier un groupe variable pour ces rôles utilisateur. Par exemple, la spécification d’un groupe variable par l’administrateur permet d’avoir une page distincte en cache publique adaptée aux administrateurs (avec des liens \"modifier\", etc.), tandis que tous les autres rôles utilisateur voient la page publique par défaut."

#: src/lang.cls.php:238 tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277 tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr "Varier le groupe"

#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr "Mettre en cache le bloc ESI de formulaire de commentaires intégré."

#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr "Mettre en cache le formulaire de commentaire"

#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr "Mettre en cache la barre d’administration"

#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr "Activer la mise en cache des pages publiques pour les utilisateurs connectés et servir la barre d’administration et le formulaire de commentaire via des blocs ESI. Ces deux blocs ne seront pas mis en cache, sauf s’ils sont activés ci-dessous."

#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr "ESI vous permet de désigner des parties de votre page dynamique comme des fragments séparés qui sont ensuite assemblés pour créer la page entière. En d’autres termes, ESI vous permet de « percer des trous » dans une page, puis de remplir ces trous avec un contenu qui peut être mis en cache en privé, mis en cache publiquement avec son propre TTL ou non mis en cache du tout."

#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr "Avec ESI (Edge Side Includes), les pages peuvent être envoyées à partir du cache pour les utilisateurs connectés."

#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr "Privé"

#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr "Publique"

#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr "Purger les réglages"

#: src/lang.cls.php:126 tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr "Cache mobile"

#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr "Le niveau avancé enregistrera plus de détails."

#: tpl/presets/standard.tpl.php:29 tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr "Basique"

#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr "La charge moyenne maximale du serveur est autorisée lors de l’exploration. Le nombre de threads de robot explorateur en cours d’utilisation sera activement réduit jusqu’à ce que la charge moyenne du serveur tombe sous cette limite. Si cela ne peut pas être réalisé avec un seul thread, l’exécution du robot explorateur actuel sera terminée."

#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr "Mettre en cache la page de connexion"

#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr "Mettre en cache les requêtes effectuées par les appels de l’API REST WordPress."

#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr "Mettre en cache l’API REST"

#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr "Mettre en cache privé les commentateurs qui ont des commentaires en attente. La désactivation de cette option servira les pages ne pouvant pas être mises en cache aux commentateurs. (LSWS %s nécessaire)"

#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr "Mettre en cache les commentateurs"

#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr "Mettre en cache privé les pages interface utilisateur pour les utilisateurs connectés. (LSWS %s nécessaire)"

#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr "Mettre en cache les utilisateurs connectés"

#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr "Mettre en cache les réglages de contrôle"

#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr "ESI"

#: tpl/cache/entry.tpl.php:19 tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr "Exclure"

#: tpl/cache/entry.tpl.php:18 tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16 tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr "Purger"

#: src/admin-display.cls.php:255 tpl/cache/entry.tpl.php:17
#: tpl/cache/entry.tpl.php:66
msgid "Cache"
msgstr "Cache"

#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr "L’heure actuelle du serveur est %s."

#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr "Précisez l’heure pour purger la liste \"%s\"."

#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr "À la fois %1$s et %2$s sont acceptables."

#: src/lang.cls.php:148 tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr "Heure de purge planifiée"

#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr "Les URLs ci-dessus (une par ligne) seront automatiquement purgées à l’heure fixée dans l’option \"%s\"."

#: src/lang.cls.php:147 tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr "Purge planifiée d’URLs"

#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr "Raccourcir les chaînes de requêtes dans le journal de débogage pour améliorer la lisibilité."

#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr "Battement de cœur"

#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr "Mo"

#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr "Limite de taille de fichier journal"

#: src/htaccess.cls.php:784
msgid "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"
msgstr "<p>Veuillez ajouter/remplacer les codes suivants au début de %1$s :</p> %2$s"

#: src/error.cls.php:158 src/error.cls.php:182
msgid "%s file not writable."
msgstr "Le fichier %s n’est pas inscriptible."

#: src/error.cls.php:178
msgid "%s file not readable."
msgstr "Le fichier %s n’est pas lisible."

#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr "Réduire les chaînes de requêtes"

#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr "Réglages ESI"

#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr "Un TTL de 0 indique de ne pas mettre en cache."

#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr "Valeur recommandée : 28800 secondes (8 heures)."

#: src/lang.cls.php:234 tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr "Activer ESI"

#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr "Plan de site personnalisé"

#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr "Purger les pages par URL relative ou complète."

#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr "La fonctionnalité de robot explorateur n’est pas activée sur le serveur LiteSpeed. Veuillez consulter votre administrateur serveur ou votre hébergeur."

#: tpl/cache/settings-esi.tpl.php:45 tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60 tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77 tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr "Attention"

#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr "Le prochain crawl complet de plan de site débutera le"

#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr "Impossible d’écrire sur %s."

#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr "Le dossier n’est pas inscriptible : %s."

#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr "Impossible de créer un dossier : %1$s. Erreur : %2$s"

#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr "Le dossier n’existe pas : %s"

#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr "Serveur LiteSpeed notifié pour tout purger."

#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr "Autorise les IPs listées (une par ligne) à réaliser certaines actions depuis leurs navigateurs."

#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr "Limite de chargement du serveur"

#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr "Spécifiez combien de temps en secondes avant que le crawler initie un nouveau crawl entier du plan de site."

#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr "Intervalle de crawl"

#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr "Ensuite, un autre WordPress est installé (non multisite) sur %s"

#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr "Réglages de cache de réseau LiteSpeed Cache"

#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr "Sélectionnez ci-dessous pour les options « purger par »."

#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr "CDN LiteSpeed Cache"

#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr "Encore aucun fichier méta de crawler généré"

#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr "Afficher l’état du crawler"

#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr "Voir l’état de crawler"

#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr "La fréquence d’exécution est définie par le réglage d’intervalle entre exécutions."

#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr "Exécution manuelle"

#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr "Réinitialiser la position"

#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr "Fréquence d’exécution"

#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr "Nom du cron"

#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr "Cron du crawler"

#: cli/crawler.cls.php:100 tpl/crawler/summary.tpl.php:47
msgid "%d minute"
msgstr "%d minute"

#: cli/crawler.cls.php:98 tpl/crawler/summary.tpl.php:47
msgid "%d minutes"
msgstr "%d minutes"

#: cli/crawler.cls.php:91 tpl/crawler/summary.tpl.php:39
msgid "%d hour"
msgstr "%d heure"

#: cli/crawler.cls.php:89 tpl/crawler/summary.tpl.php:39
msgid "%d hours"
msgstr "%d heures"

#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr "Généré dans %s"

#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr "Crawler LiteSpeed Cache"

#: src/admin-display.cls.php:260 src/lang.cls.php:267
msgid "Crawler"
msgstr "Crawler"

#. Plugin URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"
msgstr "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"

#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr "Notifié le serveur web LiteSpeed de purger toutes les pages."

#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr "Toutes les pages avec le widget des articles récents"

#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr "Pages"

#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr "Cela purgera uniquement les pages"

#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr "Purger les pages"

#: src/gui.cls.php:133 tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr "Effacer"

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate"
msgstr "Désactiver"

#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr "Activer"

#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr "Adresse de messagerie"

#: src/gui.cls.php:1080
msgid "Install Now"
msgstr "Installer maintenant"

#: cli/purge.cls.php:133
msgid "Purged the blog!"
msgstr "Purgé le blog !"

#: cli/purge.cls.php:86
msgid "Purged All!"
msgstr "Tout purgé !"

#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr "Notifié LiteSpeed ​​Web Server de purger les pages d’erreur."

#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr "Si vous utilisez OpenLiteSpeed, le serveur doit être redémarré une fois pour que les modifications prennent effet."

#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr "Si le cookie de connexion a été modifié récemment dans les réglages, veuillez vous déconnecter et vous reconnecter."

#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr "Cependant, il n’y a aucun moyen de connaître toutes les personnalisations possibles qui ont été mises en œuvre."

#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr "L’extension LiteSpeed ​​Cache est utilisée pour mettre les pages en cache - un moyen simple d’améliorer les performances du site."

#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr "Le réglage administrateur réseau peut être remplacé ici."

#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr "Spécifiez combien de temps, en secondes, les pages publiques sont mises en cache."

#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr "Spécifiez combien de temps, en secondes, les pages privées sont mises en cache."

#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr "Purger les pages par ID d’article."

#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr "Purger les entrées LiteSpeed Cache créées par cette extension"

#: tpl/toolbox/purge.tpl.php:33
msgid "Purge %s error pages"
msgstr "Purger les pages d’erreur %s"

#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr "Cela purgera uniquement la page d’accueil"

#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr "Purger les pages par nom d’étiquette - par ex.,%2$s devrait être utilisé pour l’URL %1$s."

#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr "Purger les pages par nom de catégorie - par exemple,%2$s devrait être utilisé pour l’URL%1$s."

#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr "Si seul le site WordPress doit être purgé, utilisez « Tout purger »."

#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr "Serveur LiteSpeed notifié pour tout purger."

#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr "Utiliser les configurations du site principal"

#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr "Cela désactivera la page des réglages sur tous les sous-sites."

#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr "Cochez cette option pour utiliser les configurations du site principal sur tous les sous-sites."

#: src/admin-display.cls.php:998 src/admin-display.cls.php:1003
msgid "Save Changes"
msgstr "Enregistrer les modifications"

#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr "Les options suivantes sont sélectionnées, mais ne sont pas modifiables dans la page des réglages."

#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr "L’administrateur réseau sélectionné utilise les configurations du site principal pour tous les sous-sites."

#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr "Vider tout le cache"

#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr "Cette action doit être utilisée uniquement si les éléments sont incorrectement mis en cache."

#: tpl/toolbox/purge.tpl.php:137
msgid "Clears all cache entries related to this site, including other web applications."
msgstr "Efface toutes les entrées du cache liées à ce site, y compris les autres applications web."

#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr "Cela peut entraîner une charge importante sur le serveur."

#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr "Cela effacera tout dans le cache."

#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr "Cache LiteSpeed Tout purger"

#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr "Si vous préférez ne pas avoir des affichages à la vitesse de la lumière, vous pouvez désactiver cette extension."

#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr "Créez un article, assurez-vous que la page d’accueil est exacte."

#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr "Visitez le site en déconnecté."

#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr "Les exemples de cas d’essai incluent :"

#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr "Pour cette raison, veuillez tester le site pour vous assurer que tout fonctionne encore correctement."

#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr "Ce message indique que l’extension a été installée par l’administrateur du serveur."

#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr "L’extension LiteSpeed Cache est installée !"

#: src/lang.cls.php:275 tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr "Journal de débogage"

#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr "Uniquement l’IP de l’admin"

#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr "Précisez combien de temps, en secondes, les appels REST sont mis en cache."

#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr "Le rapport d’environnement contient des informations détaillées sur la configuration WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr "Le serveur déterminera si l’internaute est connecté grâce à l’existence de ce cookie."

#: tpl/cache/settings-purge.tpl.php:53 tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr "Note"

#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr "Après vérification que le cache fonctionne en général, veuillez tester le panier."

#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr "Lorsque activé, le cache sera vidé automatiquement lors d’une mise à jour de tout extension, thème ou du cœur WordPress."

#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr "Tout purger lors d’une mise à niveau"

#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr "Intervalle de mise à jour de produit"

#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr "Détermine comment les modifications dans les quantités de produit et états de stock de produit affecte les pages de produit et leurs pages de catégorie associés."

#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr "Toujours vider les produits et les catégories lors d’un changement de quantité disponible ou de statut de stock."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr "Ne pas purger les catégories lors de modification de quantité ou d’état de stock."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr "Purger le produit uniquement quand l’état du stock change."

#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr "Purger les produits et catégories uniquement quand l’état du stock change."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr "Purger les catégories uniquement quand l’état du stock change."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr "Purger le produit au changement de la quantité ou de l’état du stock."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr "Le htaccess ne correspondait pas à l’option de configuration."

#: tpl/cache/settings-ttl.tpl.php:75 tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr "Si vous configurez une valeur de moins de 30, les flux RSS ne seront pas mis en cache."

#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr "Spécifiez une durée en secondes, pour la mise en cache des flux RSS."

#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr "Flux TTL par défaut"

#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr "Échec de récupération du contenu du fichier %s."

#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr "Désactiver cette option aura un effet négatif sur la performance."

#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr "Cookie de connexion non valide. Caractères non valides trouvés."

#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr "Avertissement : Les cookies de connexion du fichier .htaccess et de la base de données ne correspondent pas."

#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr "Cookie de connexion non valide. Veuillez vérifier le fichier %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr "Le cache doit faire la distinction de qui est connecté dans quel site WordPress afin de mettre en cache correctement."

#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr "Il y a une installation de WordPress pour %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr "Exemple d’utilisation :"

#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr "Le cookie réglé ici sera utilisé pour cette installation WordPress."

#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr "Si chaque application web utilise le même cookie, le serveur pourrait ne pas savoir si l’utilisateur est connecté."

#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr "Ce réglage est utile pour ceux qui ont plusieurs applications web avec le même nom de domaine."

#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr "Le cookie de connexion par défaut est %s."

#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr "Cookie de connexion"

#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr "Plus d’informations sur les commandes disponibles peuvent être trouvées ici."

#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr "Ces réglages sont uniquement destinés à des utilisateurs avancés."

#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr "Contenus actuel de %s"

#: tpl/cache/entry.tpl.php:22 tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr "Avancé"

#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr "Réglages avancés"

#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr "Purger la liste"

#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr "Purger par…"

#: tpl/crawler/blacklist.tpl.php:41 tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr "URL"

#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr "Étiquette"

#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr "ID de l’article"

#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr "Catégorie"

#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr "Remarque : le cookie de connexion de base de données ne correspond pas à votre cookie de connexion."

#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr "Purger l’URL %s"

#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr "Purger l’étiquette %s"

#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr "Purger la catégorie %s"

#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr "Lorsque vous désactivez le cache, toutes les entrées mises en cache pour ce site seront purgées."

#: tpl/cache/settings-cache.tpl.php:42 tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133 tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42 tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr "Notification"

#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr "Ce réglage modifiera le fichier .htaccess."

#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr "Modifier le .htaccess LiteSpeed Cache"

#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr "Échec de sauvegarde du fichier %s, modifications interrompues."

#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr "Ne pas mettre en cache les cookies"

#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr "Ne pas mettre en cache les agents utilisateur"

#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr "C’est pour tester la compatibilité avant d’activer le cache pour tous les sites."

#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr "Activer le cache sur le réseau"

#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23 tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24 tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr "Remarque :"

#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr "Les autres cases à cocher seront ignorées."

#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr "Sélectionnez \"Tous\" s’il y a des widgets dynamiques liés aux articles sur les pages autres que la page d’accueil."

#: src/lang.cls.php:127 tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr "Liste des agents utilisateurs mobile"

#: src/file.cls.php:168 src/file.cls.php:172
msgid "File %s is not writable."
msgstr "Le fichier %s n’est pas inscriptible."

#: tpl/page_optm/entry.tpl.php:17 tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr "Réglages JS"

#: src/gui.cls.php:874 tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr "Gérer"

#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr "TTL de page d’accueil par défaut"

#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr "LiteSpeed Web Server a été notifié de purger la page d’accueil."

#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr "Purger la page d’accueil"

#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr "Exemple"

#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr "Toutes les étiquettes sont mises en cache par défaut."

#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr "Toutes les catégories sont mises en cache par défaut."

#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr "Pour avoir une correspondance exacte, ajoutez %s  à la fin de l’URL."

#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr "Ces URLs seront comparées à la variable serveur REQUEST_URI."

#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr "Sélectionnez uniquement les types d’archives qui sont actuellement utilisés, les autres peuvent être laissées décochées."

#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr "Remarques"

#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr "Utiliser le réglage admin du réseau"

#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr "Désactiver"

#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr "Activer ici LiteSpeed Cache pour WordPress active le cache pour le réseau."

#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr "Désactivé"

#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr "Activé(e)"

#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr "Ne pas mettre les rôles en cache"

#. Author URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com"
msgstr "https://www.litespeedtech.com"

#. Author of the plugin
#: litespeed-cache.php
msgid "LiteSpeed Technologies"
msgstr "Technologies LiteSpeed"

#. Plugin Name of the plugin
#: litespeed-cache.php tpl/banner/new_version.php:57
#: tpl/banner/new_version_dev.tpl.php:21 tpl/cache/more_settings_tip.tpl.php:28
#: tpl/esi_widget_edit.php:41 tpl/inc/admin_footer.php:17
msgid "LiteSpeed Cache"
msgstr "LiteSpeed Cache"

#: src/lang.cls.php:277
msgid "Debug Level"
msgstr "Niveau de débogage"

#: tpl/general/settings.tpl.php:72 tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86 tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr "Notification"

#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr "Archive de terme (inclure catégorie, étiquette et taxinomie)"

#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr "Archive quotidienne"

#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr "Archive mensuelle"

#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr "Archive annuelle"

#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr "Archive de type de contenu"

#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr "Archive d’auteur"

#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr "Page d’accueil"

#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr "Page de garde"

#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr "Toutes les pages"

#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr "Sélectionnez quelles pages seront purgées automatiquement lorsque des articles sont publiés/mis à jour."

#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr "Règles de purge automatique pour les publication/mise à jour"

#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr "Durée de vie par défaut du cache publique"

#: src/admin-display.cls.php:1345 tpl/cache/settings_inc.object.tpl.php:162
#: tpl/crawler/settings.tpl.php:43 tpl/esi_widget_edit.php:78
msgid "seconds"
msgstr "secondes"

#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr "IP d’admin"

#: src/admin-display.cls.php:254
msgid "General"
msgstr "Général"

#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr "Réglages LiteSpeed Cache"

#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr "Serveur web LiteSpeed notifié de purger toutes les entrées LSCache."

#: src/gui.cls.php:686 src/gui.cls.php:696 src/gui.cls.php:706
#: src/gui.cls.php:717 src/gui.cls.php:729 src/gui.cls.php:741
#: src/gui.cls.php:753 src/gui.cls.php:765 src/gui.cls.php:776
#: src/gui.cls.php:788 src/gui.cls.php:800 src/gui.cls.php:812
#: src/gui.cls.php:906 src/gui.cls.php:916 src/gui.cls.php:926
#: src/gui.cls.php:937 src/gui.cls.php:949 src/gui.cls.php:961
#: src/gui.cls.php:973 src/gui.cls.php:985 src/gui.cls.php:996
#: src/gui.cls.php:1008 src/gui.cls.php:1020 src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47 tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64 tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82 tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100 tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118 tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr "Tout purger"

#: src/admin-display.cls.php:548 src/gui.cls.php:884
#: tpl/crawler/entry.tpl.php:17
msgid "Settings"
msgstr "Réglages"

#: tpl/banner/score.php:122
msgid "Support forum"
msgstr "Forum de support"PKf^�\�!i<ܟܟ%translations/litespeed-cache-en_AU.ponu�[���# Translation of Plugins - LiteSpeed Cache - Stable (latest release) in English (Australia)
# This file is distributed under the same license as the Plugins - LiteSpeed Cache - Stable (latest release) package.
msgid ""
msgstr ""
"PO-Revision-Date: 2024-03-19 07:23:13+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: GlotPress/4.0.3\n"
"Language: en_AU\n"
"Project-Id-Version: Plugins - LiteSpeed Cache - Stable (latest release)\n"

#: tpl/db_optm/manage.tpl.php:26
msgid "Clean all orphaned post meta records"
msgstr "Clean all orphaned post meta records"

#: tpl/db_optm/manage.tpl.php:25
msgid "Orphaned Post Meta"
msgstr "Orphaned Post Meta"

#: tpl/dash/dashboard.tpl.php:864
msgid "Best available WordPress performance"
msgstr "Best available WordPress performance"

#: src/db-optm.cls.php:257
msgid "Clean orphaned post meta successfully."
msgstr "Clean orphaned post meta successfully."

#: tpl/img_optm/summary.tpl.php:325
msgid "Last Pulled"
msgstr "Last Pulled"

#: tpl/cache/settings_inc.login_cookie.tpl.php:104
msgid "You can list the 3rd party vary cookies here."
msgstr "You can list the 3rd party vary cookies here."

#: src/lang.cls.php:245
msgid "Vary Cookies"
msgstr "Vary Cookies"

#: tpl/page_optm/settings_html.tpl.php:75
msgid "Preconnecting speeds up future loads from a given origin."
msgstr "Preconnecting speeds up future loads from a given origin."

#: thirdparty/woocommerce.content.tpl.php:89
msgid "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."
msgstr "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."

#: thirdparty/woocommerce.content.tpl.php:88
msgid "Generate a separate vary cache copy for the mini cart when the cart is not empty."
msgstr "Generate a separate vary cache copy for the mini cart when the cart is not empty."

#: thirdparty/woocommerce.content.tpl.php:80
msgid "Vary for Mini Cart"
msgstr "Vary for Mini Cart"

#: src/lang.cls.php:179
msgid "DNS Preconnect"
msgstr "DNS Preconnect"

#: src/doc.cls.php:40
msgid "This setting is %1$s for certain qualifying requests due to %2$s!"
msgstr "This setting is %1$s for certain qualifying requests due to %2$s!"

#: tpl/page_optm/settings_tuning.tpl.php:43
msgid "Listed JS files or inline JS code will be delayed."
msgstr "Listed JS files or inline JS code will be delayed."

#: tpl/crawler/map.tpl.php:58
msgid "URL Search"
msgstr "URL Search"

#: src/lang.cls.php:181
msgid "JS Delayed Includes"
msgstr "JS Delayed Includes"

#: src/cloud.cls.php:1693
msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."
msgstr "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."

#: src/cloud.cls.php:1688
msgid "Cloud server refused the current request due to unpulled images. Please pull the images first."
msgstr "Cloud server refused the current request due to unpulled images. Please pull the images first."

#: tpl/crawler/summary.tpl.php:110
msgid "Current server load"
msgstr "Current server load"

#: src/img-optm.cls.php:890
msgid "Started async image optimization request"
msgstr "Started async image optimisation request"

#: src/crawler.cls.php:324
msgid "Started async crawling"
msgstr "Started async crawling"

#: src/conf.cls.php:551
msgid "Saving option failed. IPv4 only for %s."
msgstr "Saving option failed. IPv4 only for %s."

#: src/cloud.cls.php:1700
msgid "Cloud server refused the current request due to rate limiting. Please try again later."
msgstr "Cloud server refused the current request due to rate limiting. Please try again later."

#: tpl/img_optm/summary.tpl.php:298
msgid "Maximum image post id"
msgstr "Maximum image post id"

#: tpl/img_optm/summary.tpl.php:297 tpl/img_optm/summary.tpl.php:372
msgid "Current image post id position"
msgstr "Current image post id position"

#: src/lang.cls.php:31
msgid "Images ready to request"
msgstr "Images ready to request"

#: tpl/dash/dashboard.tpl.php:385 tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54 tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr "Redetect"

#. translators: %1$s: Socket name, %2$s: Host field title, %3$s: Example socket
#. path
#. translators: %1$s: Socket name, %2$s: Port field title, %3$s: Port value
#: tpl/cache/settings_inc.object.tpl.php:107
#: tpl/cache/settings_inc.object.tpl.php:146
msgid "If you are using a %1$s socket, %2$s should be set to %3$s"
msgstr "If you are using a %1$s socket, %2$s should be set to %3$s"

#: src/root.cls.php:198
msgid "All QUIC.cloud service queues have been cleared."
msgstr "All QUIC.cloud service queues have been cleared."

#. translators: %s: The type of the given cache key.
#: src/object-cache-wp.cls.php:245
msgid "Cache key must be integer or non-empty string, %s given."
msgstr "Cache key must be integer or non-empty string, %s given."

#: src/object-cache-wp.cls.php:242
msgid "Cache key must not be an empty string."
msgstr "Cache key must not be an empty string."

#: src/lang.cls.php:190
msgid "JS Deferred / Delayed Excludes"
msgstr "JS Deferred / Delayed Excludes"

#: src/doc.cls.php:177
msgid "The queue is processed asynchronously. It may take time."
msgstr "The queue is processed asynchronously. It may take time."

#: src/cloud.cls.php:1362
msgid "In order to use QC services, need a real domain name, cannot use an IP."
msgstr "In order to use QC services, need a real domain name, cannot use an IP."

#: tpl/presets/standard.tpl.php:195
msgid "Restore Settings"
msgstr "Restore Settings"

#: tpl/presets/standard.tpl.php:193
msgid "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"
msgstr "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"

#: tpl/presets/standard.tpl.php:189
msgid "Backup created %1$s before applying the %2$s preset"
msgstr "Backup created %1$s before applying the %2$s preset"

#: tpl/presets/standard.tpl.php:178
msgid "Applied the %1$s preset %2$s"
msgstr "Applied the %1$s preset %2$s"

#: tpl/presets/standard.tpl.php:175
msgid "Restored backup settings %1$s"
msgstr "Restored backup settings %1$s"

#: tpl/presets/standard.tpl.php:173
msgid "Error: Failed to apply the settings %1$s"
msgstr "Error: Failed to apply the settings %1$s"

#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr "History"

#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr "unknown"

#: tpl/presets/standard.tpl.php:133
msgid "Apply Preset"
msgstr "Apply Preset"

#: tpl/presets/standard.tpl.php:131
msgid "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"
msgstr "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"

#: tpl/presets/standard.tpl.php:121
msgid "Who should use this preset?"
msgstr "Who should use this preset?"

#: tpl/presets/standard.tpl.php:96
msgid "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between."
msgstr "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimisation, or something in between."

#: tpl/presets/standard.tpl.php:92
msgid "LiteSpeed Cache Standard Presets"
msgstr "LiteSpeed Cache Standard Presets"

#: tpl/presets/standard.tpl.php:84
msgid "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."
msgstr "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."

#: tpl/presets/standard.tpl.php:81
msgid "Inline CSS added to Combine"
msgstr "Inline CSS added to Combine"

#: tpl/presets/standard.tpl.php:80
msgid "Inline JS added to Combine"
msgstr "Inline JS added to Combine"

#: tpl/presets/standard.tpl.php:79
msgid "JS Delayed"
msgstr "JS Delayed"

#: tpl/presets/standard.tpl.php:78
msgid "Viewport Image Generation"
msgstr "Viewport Image Generation"

#: tpl/presets/standard.tpl.php:77
msgid "Lazy Load for Images"
msgstr "Lazy Load for Images"

#: tpl/presets/standard.tpl.php:76
msgid "Everything in Aggressive, Plus"
msgstr "Everything in Aggressive, Plus"

#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr "Extreme"

#: tpl/presets/standard.tpl.php:69
msgid "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning."
msgstr "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimisation > Tuning."

#: tpl/presets/standard.tpl.php:66
msgid "Lazy Load for Iframes"
msgstr "Lazy Load for Iframes"

#: tpl/presets/standard.tpl.php:65
msgid "Removed Unused CSS for Users"
msgstr "Removed Unused CSS for Users"

#: tpl/presets/standard.tpl.php:64
msgid "Asynchronous CSS Loading with Critical CSS"
msgstr "Asynchronous CSS Loading with Critical CSS"

#: tpl/presets/standard.tpl.php:63
msgid "CSS & JS Combine"
msgstr "CSS & JS Combine"

#: tpl/presets/standard.tpl.php:62
msgid "Everything in Advanced, Plus"
msgstr "Everything in Advanced, Plus"

#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr "Aggressive"

#: tpl/presets/standard.tpl.php:55
msgid "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools."
msgstr "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimisation > Tuning tools."

#: tpl/presets/standard.tpl.php:50
msgid "Remove Query Strings from Static Files"
msgstr "Remove Query Strings from Static Files"

#: tpl/presets/standard.tpl.php:48
msgid "DNS Prefetch for static files"
msgstr "DNS Prefetch for static files"

#: tpl/presets/standard.tpl.php:47
msgid "JS Defer for both external and inline JS"
msgstr "JS Defer for both external and inline JS"

#: tpl/presets/standard.tpl.php:45
msgid "CSS, JS and HTML Minification"
msgstr "CSS, JS and HTML Minification"

#: tpl/presets/standard.tpl.php:44
msgid "Guest Mode and Guest Optimization"
msgstr "Guest Mode and Guest Optimisation"

#: tpl/presets/standard.tpl.php:43
msgid "Everything in Basic, Plus"
msgstr "Everything in Basic, Plus"

#: tpl/presets/standard.tpl.php:41
msgid "Advanced (Recommended)"
msgstr "Advanced (Recommended)"

#: tpl/presets/standard.tpl.php:36
msgid "This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners."
msgstr "This low-risk preset introduces basic optimisations for speed and user experience. Appropriate for enthusiastic beginners."

#: tpl/presets/standard.tpl.php:33
msgid "Mobile Cache"
msgstr "Mobile Cache"

#: tpl/presets/standard.tpl.php:31
msgid "Everything in Essentials, Plus"
msgstr "Everything in Essentials, Plus"

#: tpl/presets/standard.tpl.php:24
msgid "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."
msgstr "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."

#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr "Higher TTL"

#: tpl/presets/standard.tpl.php:19
msgid "Default Cache"
msgstr "Default Cache"

#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr "Essentials"

#: tpl/presets/entry.tpl.php:23
msgid "LiteSpeed Cache Configuration Presets"
msgstr "LiteSpeed Cache Configuration Presets"

#: tpl/presets/entry.tpl.php:16
msgid "Standard Presets"
msgstr "Standard Presets"

#: tpl/page_optm/settings_tuning_css.tpl.php:52
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
msgstr "Listed CSS files will be excluded from UCSS and saved to inline."

#: src/lang.cls.php:161
msgid "UCSS Selector Allowlist"
msgstr "UCSS Selector Allowlist"

#: src/admin-display.cls.php:253
msgid "Presets"
msgstr "Presets"

#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr "Partner Benefits Provided by"

#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr "LiteSpeed Logs"

#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr "Crawler Log"

#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr "Purge Log"

#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr "Prevent writing log entries that include listed strings."

#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr "View Site Before Cache"

#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr "View Site Before Optimisation"

#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr "Debug Helpers"

#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr "Enable Viewport Images auto generation cron."

#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr "This enables the page's initial screenful of imagery to be fully displayed without delay."

#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."

#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr "When you use Lazy Load, it will delay the loading of all images on a page."

#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr "Use %1$s to bypass remote image dimension check when %2$s is ON."

#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr "VPI"

#: tpl/general/settings.tpl.php:72 tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr "%s must be turned ON for this setting to work."

#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr "Viewport Image"

#: thirdparty/litespeed-check.cls.php:100
#: thirdparty/litespeed-check.cls.php:165
msgid "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"
msgstr "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"

#: src/metabox.cls.php:43
msgid "Mobile"
msgstr "Mobile"

#: src/metabox.cls.php:41
msgid "Disable VPI"
msgstr "Disable VPI"

#: src/metabox.cls.php:40
msgid "Disable Image Lazyload"
msgstr "Disable Image Lazyload"

#: src/metabox.cls.php:39
msgid "Disable Cache"
msgstr "Disable Cache"

#: src/lang.cls.php:282
msgid "Debug String Excludes"
msgstr "Debug String Excludes"

#: src/lang.cls.php:221
msgid "Viewport Images Cron"
msgstr "Viewport Images Cron"

#: src/lang.cls.php:220 src/metabox.cls.php:42 src/metabox.cls.php:43
#: tpl/page_optm/settings_vpi.tpl.php:23
msgid "Viewport Images"
msgstr "Viewport Images"

#: src/lang.cls.php:71
msgid "Alias is in use by another QUIC.cloud account."
msgstr "Alias is in use by another QUIC.cloud account."

#: src/lang.cls.php:66
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."
msgstr "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."

#: src/lang.cls.php:58
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."
msgstr "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."

#: src/error.cls.php:231
msgid "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."
msgstr "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."

#: src/error.cls.php:134
msgid "The site is not a valid alias on QUIC.cloud."
msgstr "The site is not a valid alias on QUIC.cloud."

#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr "Please thoroughly test each JS file you add to ensure it functions as expected."

#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr "Please thoroughly test all items in %s to ensure they function as expected."

#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr "Use %1$s to bypass UCSS for the pages which page type is %2$s."

#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."

#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr "Filter %s available for UCSS per page type generation."

#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr "Guest Mode failed to test."

#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr "Guest Mode passed testing."

#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr "Testing"

#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr "Guest Mode testing result"

#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr "Not blocklisted"

#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr "Learn more about when this is needed"

#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr "Cleaned all localised resource entries."

#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr "View .htaccess"

#: tpl/toolbox/edit_htaccess.tpl.php:63 tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr "You can use this code %1$s in %2$s to specify the htaccess file path."

#: tpl/toolbox/edit_htaccess.tpl.php:62 tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr "PHP Constant %s is supported."

#: tpl/toolbox/edit_htaccess.tpl.php:58 tpl/toolbox/edit_htaccess.tpl.php:76
msgid "Default path is"
msgstr "Default path is"

#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr ".htaccess Path"

#: tpl/general/settings.tpl.php:49
msgid "Please read all warnings before enabling this option."
msgstr "Please read all warnings before enabling this option."

#: tpl/toolbox/purge.tpl.php:83
msgid "This will delete all generated unique CSS files"
msgstr "This will delete all generated unique CSS files"

#: tpl/toolbox/beta_test.tpl.php:85
msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."
msgstr "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Use latest GitHub Dev/Master commit"
msgstr "Use latest GitHub Dev/Master commit"

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."
msgstr "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."

#: tpl/toolbox/beta_test.tpl.php:73
msgid "Downgrade not recommended. May cause fatal error due to refactored code."
msgstr "Downgrade not recommended. May cause fatal error due to refactored code."

#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr "Only optimise pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."

#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr "Listed JS files or inline JS code will not be optimised by %s."

#: tpl/page_optm/settings_tuning_css.tpl.php:92
msgid "Listed URI will not generate UCSS."
msgstr "Listed URI will not generate UCSS."

#: tpl/page_optm/settings_tuning_css.tpl.php:74
msgid "The selector must exist in the CSS. Parent classes in the HTML will not work."
msgstr "The selector must exist in the CSS. Parent classes in the HTML will not work."

#: tpl/page_optm/settings_tuning_css.tpl.php:70
#: tpl/page_optm/settings_tuning_css.tpl.php:145
msgid "Wildcard %s supported."
msgstr "Wildcard %s supported."

#: tpl/page_optm/settings_media_exc.tpl.php:34
msgid "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."
msgstr "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."

#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."

#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."

#: tpl/page_optm/settings_js.tpl.php:79
msgid "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."
msgstr "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr "Delayed"

#: tpl/page_optm/settings_js.tpl.php:52
msgid "JS error can be found from the developer console of browser by right clicking and choosing Inspect."
msgstr "JS error can be found from the developer console of browser by right clicking and choosing Inspect."

#: tpl/page_optm/settings_js.tpl.php:51 tpl/page_optm/settings_js.tpl.php:85
msgid "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."
msgstr "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."

#: tpl/page_optm/settings_html.tpl.php:147
msgid "This will also add a preconnect to Google Fonts to establish a connection earlier."
msgstr "This will also add a preconnect to Google Fonts to establish a connection earlier."

#: tpl/page_optm/settings_html.tpl.php:91
msgid "Delay rendering off-screen HTML elements by its selector."
msgstr "Delay rendering off-screen HTML elements by its selector."

#: tpl/page_optm/settings_css.tpl.php:314
msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."
msgstr "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."

#: tpl/page_optm/settings_css.tpl.php:230
msgid "This option is bypassed due to %s option."
msgstr "This option is bypassed due to %s option."

#: tpl/page_optm/settings_css.tpl.php:224
msgid "Elements with attribute %s in HTML code will be excluded."
msgstr "Elements with attribute %s in HTML code will be excluded."

#: tpl/page_optm/settings_css.tpl.php:217
msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."
msgstr "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."

#: tpl/page_optm/settings_css.tpl.php:181
msgid "This option will automatically bypass %s option."
msgstr "This option will automatically bypass %s option."

#: tpl/page_optm/settings_css.tpl.php:178
msgid "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON."
msgstr "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON."

#: tpl/page_optm/settings_css.tpl.php:155
#: tpl/page_optm/settings_css.tpl.php:160
#: tpl/page_optm/settings_css.tpl.php:292
#: tpl/page_optm/settings_css.tpl.php:297
#: tpl/page_optm/settings_vpi.tpl.php:100
#: tpl/page_optm/settings_vpi.tpl.php:105
msgid "Run %s Queue Manually"
msgstr "Run %s Queue Manually"

#: tpl/page_optm/settings_css.tpl.php:93
msgid "This option is bypassed because %1$s option is %2$s."
msgstr "This option is bypassed because %1$s option is %2$s."

#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr "Automatic generation of unique CSS is in the background via a cron-based queue."

#: tpl/page_optm/settings_css.tpl.php:83
msgid "This will drop the unused CSS on each page from the combined file."
msgstr "This will drop the unused CSS on each page from the combined file."

#: tpl/page_optm/entry.tpl.php:18 tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr "HTML Settings"

#: tpl/inc/in_upgrading.php:15
msgid "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."
msgstr "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."

#: tpl/general/settings_inc.guest.tpl.php:27
msgid "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."
msgstr "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."

#: tpl/general/settings_inc.guest.tpl.php:26
msgid "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX."
msgstr "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX."

#: tpl/general/settings.tpl.php:104
msgid "Please make sure this IP is the correct one for visiting your site."
msgstr "Please make sure this IP is the correct one for visiting your site."

#: tpl/general/settings.tpl.php:103
msgid "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."
msgstr "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."

#: tpl/general/settings.tpl.php:86
msgid "You need to turn %s on and finish all WebP generation to get maximum result."
msgstr "You need to turn %s on and finish all WebP generation to get maximum result."

#: tpl/general/settings.tpl.php:79
msgid "You need to turn %s on to get maximum result."
msgstr "You need to turn %s on to get maximum result."

#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr "This option enables maximum optimisation for Guest Mode visitors."

#: tpl/dash/dashboard.tpl.php:54 tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521 tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625 tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713 tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801 tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr "More"

#: tpl/dash/dashboard.tpl.php:301
msgid "Remaining Daily Quota"
msgstr "Remaining Daily Quota"

#: tpl/crawler/summary.tpl.php:246
msgid "Successfully Crawled"
msgstr "Successfully Crawled"

#: tpl/crawler/summary.tpl.php:245
msgid "Already Cached"
msgstr "Already Cached"

#: tpl/crawler/settings.tpl.php:59
msgid "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."
msgstr "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."

#: tpl/cdn/cf.tpl.php:48
msgid "Optional when API token used."
msgstr "Optional when API token used."

#: tpl/cdn/cf.tpl.php:40
msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."
msgstr "Recommended to generate the token from Cloudflare API token template \"WordPress\"."

#: tpl/cdn/cf.tpl.php:35
msgid "Global API Key / API Token"
msgstr "Global API Key / API Token"

#: tpl/cache/settings_inc.object.tpl.php:47
msgid "Use external object cache functionality."
msgstr "Use external object cache functionality."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:24
msgid "Serve a separate cache copy for mobile visitors."
msgstr "Serve a separate cache copy for mobile visitors."

#: thirdparty/woocommerce.content.tpl.php:36
msgid "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."
msgstr "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."

#: src/purge.cls.php:312
msgid "Cleaned all Unique CSS files."
msgstr "Cleaned all Unique CSS files."

#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr "Add Missing Sizes"

#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr "Optimise for Guests Only"

#: src/lang.cls.php:191
msgid "Guest Mode JS Excludes"
msgstr "Guest Mode JS Excludes"

#: src/lang.cls.php:171
msgid "CCSS Per URL"
msgstr "CCSS Per URL"

#: src/lang.cls.php:168
msgid "HTML Lazy Load Selectors"
msgstr "HTML Lazy Load Selectors"

#: src/lang.cls.php:163
msgid "UCSS URI Excludes"
msgstr "UCSS URI Excludes"

#: src/lang.cls.php:160
msgid "UCSS Inline"
msgstr "UCSS Inline"

#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr "Guest Optimisation"

#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr "Guest Mode"

#: src/error.cls.php:150
msgid "Online node needs to be redetected."
msgstr "Online node needs to be redetected."

#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr "The current server is under heavy load."

#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr "Please see %s for more details."

#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr "This setting will regenerate crawler list and clear the disabled list!"

#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr "%1$s %2$s files left in queue"

#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr "Crawler disabled list is cleared! All crawlers are set to active! "

#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr "Redetected node"

#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr "No available Cloud Node after checked server load."

#: src/lang.cls.php:176
msgid "Localization Files"
msgstr "Localisation Files"

#: cli/purge.cls.php:234
msgid "Purged!"
msgstr "Purged!"

#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr "Resources listed here will be copied and replaced with local URLs."

#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr "Use latest GitHub Master commit"

#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr "Use latest GitHub Dev commit"

#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr "No valid sitemap parsed for crawler."

#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr "CSS Combine External and Inline"

#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimise potential errors caused by CSS Combine."

#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr "Minify CSS files and inline CSS code."

#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr "Predefined list will also be combined w/ the above settings"

#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr "Localisation"

#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimise potential errors caused by JS Combine."

#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr "Combine all local JS files into a single file."

#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr "Listed JS files or inline JS code will not be deferred or delayed."

#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr "JS Combine External and Inline"

#: src/admin-display.cls.php:805 tpl/banner/new_version.php:114
#: tpl/banner/score.php:142 tpl/banner/slack.php:49
msgid "Dismiss"
msgstr "Dismiss"

#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr "The latest data file is"

#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr "The list will be merged with the predefined nonces in your local data file."

#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr "Combine CSS files and inline CSS code."

#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr "Minify JS files and inline JS codes."

#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr "LQIP Excludes"

#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr "These images will not generate LQIP."

#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr "Are you sure you want to reset all settings back to the default settings?"

#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr "This option will remove all %s tags from HTML."

#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr "Are you sure you want to clear all cloud nodes?"

#: src/lang.cls.php:193 tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr "Remove Noscript Tags"

#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr "The site is not registered on QUIC.cloud."

#: src/error.cls.php:73 tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144 tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr "Click here to set."

#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr "Localise Resources"

#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr "Setting Up Custom Headers"

#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr "This will delete all localised resources"

#: src/gui.cls.php:776 src/gui.cls.php:996 tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr "Localised Resources"

#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr "Comments are supported. Start a line with a %s to turn it into a comment line."

#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr "HTTPS sources only."

#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr "Localise external resources."

#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr "Localisation Settings"

#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr "Use QUIC.cloud online service to generate unique CSS."

#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr "Generate UCSS"

#: tpl/dash/dashboard.tpl.php:668 tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr "Unique CSS"

#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"

#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr "LiteSpeed Report"

#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr "Image Thumbnail Group Sizes"

#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr "Ignore certain query strings when caching. (LSWS %s required)"

#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr "For URLs with wildcards, there may be a delay in initiating scheduled purge."

#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."

#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr "Serve Stale"

#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr "One or more pulled images does not match with the notified image md5"

#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr "Some optimised image file(s) has expired and was cleared."

#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr "You have too many requested images, please try again in a few minutes."

#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr "Pulled WebP image md5 does not match the notified WebP image md5."

#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr "Read LiteSpeed Documentation"

#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr "There is proceeding queue not pulled yet. Queue info: %s."

#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr "Specify how long, in seconds, Gravatar files are cached."

#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr "Cleared %1$s invalid images."

#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr "LiteSpeed Cache General Settings"

#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr "This will delete all cached Gravatar files"

#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr "Prevent any debug log of listed pages."

#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr "Only log listed pages."

#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr "Specify the maximum size of the log file."

#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr "To prevent filling up the disk, this setting should be OFF when everything is working."

#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."

#: tpl/toolbox/beta_test.tpl.php:65 tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr "Use latest WordPress release version"

#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr "OR"

#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."

#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr "Reset Settings"

#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr "LiteSpeed Cache Toolbox"

#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr "Beta Test"

#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr "Log View"

#: tpl/toolbox/entry.tpl.php:33 tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr "Debug Settings"

#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr "Turn ON to control heartbeat in backend editor."

#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr "Turn ON to control heartbeat on backend."

#: tpl/toolbox/heartbeat.tpl.php:58 tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr "Set to %1$s to forbid heartbeat on %2$s."

#: tpl/toolbox/heartbeat.tpl.php:57 tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr "WordPress valid interval is %s seconds."

#: tpl/toolbox/heartbeat.tpl.php:56 tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr "Specify the %s heartbeat interval in seconds."

#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr "Turn ON to control heartbeat on frontend."

#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr "Disable WordPress interval heartbeat to reduce server load."

#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr "Heartbeat Control"

#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr "provide more information here to assist the LiteSpeed team with debugging."

#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr "Optional"

#: tpl/toolbox/report.tpl.php:100 tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr "Generate Link for Current User"

#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr "Passwordless Link"

#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr "System Information"

#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr "Go to plugins list"

#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr "Install DoLogin Security"

#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr "Check my public IP from"

#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr "Your server IP"

#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."

#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr "This will enable crawler cron."

#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr "Crawler General Settings"

#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr "Remove from Blocklist"

#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr "Empty blocklist"

#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr "Are you sure to delete all existing blocklist items?"

#: tpl/crawler/blacklist.tpl.php:88 tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr "Blocklisted due to not cacheable"

#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr "Add to Blocklist"

#: tpl/crawler/blacklist.tpl.php:43 tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr "Operation"

#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr "Sitemap Total"

#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr "Sitemap List"

#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr "Refresh Crawler Map"

#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr "Clean Crawler Map"

#: tpl/crawler/blacklist.tpl.php:28 tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr "Blocklist"

#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr "Map"

#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr "Summary"

#: tpl/crawler/map.tpl.php:63 tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr "Cache Miss"

#: tpl/crawler/map.tpl.php:62 tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr "Cache Hit"

#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr "Waiting to be Crawled"

#: tpl/crawler/blacklist.tpl.php:89 tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104 tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr "Blocklisted"

#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr "Miss"

#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr "Hit"

#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr "Waiting"

#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr "Running"

#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr "Use %1$s in %2$s to indicate this cookie has not been set."

#: src/admin-display.cls.php:459
msgid "Add new cookie to simulate"
msgstr "Add new cookie to simulate"

#: src/admin-display.cls.php:458
msgid "Remove cookie simulation"
msgstr "Remove cookie simulation"

#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr "Htaccess rule is: %s"

#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr "More settings available under %s menu"

#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr "The amount of time, in seconds, that files will be stored in browser cache before expiring."

#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr "OpenLiteSpeed users please check this"

#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr "Browser Cache Settings"

#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."

#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."

#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr "An optional second parameter may be used to specify cache control. Use a space to separate"

#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr "The above nonces will be converted to ESI automatically."

#: tpl/cache/entry.tpl.php:21 tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr "Browser"

#: tpl/cache/entry.tpl.php:20 tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr "Object"

#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr "Default port for %1$s is %2$s."

#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr "Object Cache Settings"

#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."

#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr "Specify how long, in seconds, the front page is cached."

#: tpl/cache/entry.tpl.php:67 tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr "TTL"

#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."

#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr "Swap"

#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."

#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr "Avatar list in queue waiting for update"

#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr "Refresh Gravatar cache by cron."

#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr "Accelerates the speed by caching Gravatar (Globally Recognised Avatars)."

#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr "Store Gravatar locally."

#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."
msgstr "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."

#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."

#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr "pixels"

#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."

#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr "Specify the quality when generating LQIP."

#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr "Keep this off to use plain colour placeholders."

#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."

#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr "Specify the responsive placeholder SVG colour."

#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr "Variables %s will be replaced with the configured background colour."

#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr "Variables %s will be replaced with the corresponding image properties."

#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr "It will be converted to a base64 SVG placeholder on-the-fly."

#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr "Specify an SVG to be used as a placeholder when generating locally."

#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr "Prevent any lazy load of listed pages."

#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr "Iframes having these parent class names will not be lazy loaded."

#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr "Iframes containing these class names will not be lazy loaded."

#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr "Images having these parent class names will not be lazy loaded."

#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr "LiteSpeed Cache Page Optimisation"

#: tpl/page_optm/entry.tpl.php:21 tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr "Media Excludes"

#: tpl/page_optm/entry.tpl.php:16 tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr "CSS Settings"

#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr "%s is recommended."

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr "Deferred"

#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr "Default"

#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr "This can improve the page loading speed."

#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."

#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr "New developer version %s is available now."

#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr "New Developer Version Available!"

#: tpl/banner/cloud_news.tpl.php:51 tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr "Dismiss this notice"

#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr "Tweet this"

#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr "Tweet preview"

#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr "Learn more"

#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr "You just unlocked a promotion from QUIC.cloud!"

#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr "The image compression quality setting of WordPress out of 100."

#: tpl/img_optm/entry.tpl.php:17 tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19 tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr "Image Optimisation Settings"

#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr "Are you sure to destroy all optimised images?"

#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr "Use Optimised Files"

#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr "Switch back to using optimised images on your site"

#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr "Use Original Files"

#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr "Use original images (unoptimised) on your site"

#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr "You can quickly switch between using original (unoptimised versions) and optimised image files. It will affect all images on your website, both regular and webp versions if available."

#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr "Optimisation Tools"

#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr "Rescan New Thumbnails"

#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr "What is an image group?"

#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr "Delete all backups of the original images"

#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr "Calculate Backups Disk Space"

#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr "Optimisation Status"

#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr "Current limit is"

#: tpl/img_optm/summary.tpl.php:68
msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."
msgstr "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."

#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr "You can request a maximum of %s images at once."

#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr "Optimise images with our QUIC.cloud server"

#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr "Revisions newer than this many days will be kept when cleaning revisions."

#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr "Day(s)"

#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr "Specify the number of most recent revisions to keep when cleaning revisions."

#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr "LiteSpeed Cache Database Optimisation"

#: tpl/db_optm/entry.tpl.php:17 tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr "DB Optimisation Settings"

#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr "Option Name"

#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr "Database Summary"

#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr "We are good. No table uses MyISAM engine."

#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr "Convert to InnoDB"

#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr "Tool"

#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr "Engine"

#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr "Table"

#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr "Database Table Engine Converter"

#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"

#: tpl/dash/dashboard.tpl.php:87 tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr "Currently active crawler"

#: tpl/dash/dashboard.tpl.php:84 tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr "Crawler(s)"

#: tpl/crawler/map.tpl.php:77 tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr "Crawler Status"

#: tpl/dash/dashboard.tpl.php:649 tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737 tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr "Force cron"

#: tpl/dash/dashboard.tpl.php:646 tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734 tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr "Requests in queue"

#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr "Private Cache"

#: tpl/dash/dashboard.tpl.php:58 tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr "Public Cache"

#: tpl/dash/dashboard.tpl.php:53 tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr "Cache Status"

#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr "Last Pull"

#: tpl/dash/dashboard.tpl.php:520 tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr "Image Optimisation Summary"

#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr "Refresh page score"

#: tpl/dash/dashboard.tpl.php:383 tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr "Are you sure you want to redetect the closest cloud server for this service?"

#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr "Refresh page load time"

#: tpl/dash/dashboard.tpl.php:354 tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr "Go to QUIC.cloud dashboard"

#: tpl/dash/dashboard.tpl.php:207 tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr "Low Quality Image Placeholder"

#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr "Sync data from Cloud"

#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr "QUIC.cloud Service Usage Statistics"

#: tpl/dash/dashboard.tpl.php:293 tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr "Total images optimised in this month"

#: tpl/dash/dashboard.tpl.php:292 tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr "Total Usage"

#: tpl/dash/dashboard.tpl.php:274 tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr "Pay as You Go Usage Statistics"

#: tpl/dash/dashboard.tpl.php:271 tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr "PAYG Balance"

#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr "Pay as You Go"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr "Usage"

#: tpl/dash/dashboard.tpl.php:259 tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr "Fast Queue Usage"

#: tpl/dash/dashboard.tpl.php:206 tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr "CDN Bandwidth"

#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr "LiteSpeed Cache Dashboard"

#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr "Network Dashboard"

#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr "No cloud services currently in use"

#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr "Click to clear all nodes for further redetection."

#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr "Current Cloud Nodes in Service"

#: tpl/cdn/qc.tpl.php:126 tpl/cdn/qc.tpl.php:133 tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr "Link to QUIC.cloud"

#: tpl/general/entry.tpl.php:17 tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19 tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr "General Settings"

#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr "Specify which HTML element attributes will be replaced with CDN Mapping."

#: src/admin-display.cls.php:485
msgid "Add new CDN URL"
msgstr "Add new CDN URL"

#: src/admin-display.cls.php:484
msgid "Remove CDN URL"
msgstr "Remove CDN URL"

#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr "To enable the following functionality, turn ON Cloudflare API in CDN Settings."

#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr "QUIC.cloud"

#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr "WooCommerce Settings"

#: src/gui.cls.php:788 src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr "LQIP Cache"

#: src/admin-settings.cls.php:297 src/admin-settings.cls.php:333
msgid "Options saved."
msgstr "Options saved."

#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr "Removed backups successfully."

#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr "Calculated backups successfully."

#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr "Rescanned %d images successfully."

#: src/img-optm.cls.php:1527 src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr "Rescanned successfully."

#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr "Destroy all optimisation data successfully."

#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr "Cleaned up unfinished data successfully."

#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr "Pull Cron is running"

#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr "No valid image found by Cloud server in the current request."

#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr "No valid image found in the current request."

#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr "Pushed %1$s to Cloud server, accepted %2$s."

#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr "Revisions Max Age"

#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr "Revisions Max Number"

#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr "Debug URI Excludes"

#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr "Debug URI Includes"

#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr "HTML Attribute To Replace"

#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr "Use CDN Mapping"

#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr "Editor Heartbeat TTL"

#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr "Editor Heartbeat"

#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr "Backend Heartbeat TTL"

#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr "Backend Heartbeat Control"

#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr "Frontend Heartbeat TTL"

#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr "Frontend Heartbeat Control"

#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr "Backend .htaccess Path"

#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr "Frontend .htaccess Path"

#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr "ESI Nonces"

#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr "WordPress Image Quality Control"

#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr "Auto Request Cron"

#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr "Generate LQIP In Background"

#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr "LQIP Minimum Dimensions"

#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr "LQIP Quality"

#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr "LQIP Cloud Generator"

#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr "Responsive Placeholder SVG"

#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr "Responsive Placeholder Colour"

#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr "Basic Image Placeholder"

#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr "Lazy Load URI Excludes"

#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr "Lazy Load Iframe Parent Class Name Excludes"

#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr "Lazy Load Iframe Class Name Excludes"

#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr "Lazy Load Image Parent Class Name Excludes"

#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr "Gravatar Cache TTL"

#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr "Gravatar Cache Cron"

#: src/gui.cls.php:812 src/gui.cls.php:1032 src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49 tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr "Gravatar Cache"

#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr "DNS Prefetch Control"

#: src/lang.cls.php:173 tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr "Font Display Optimisation"

#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr "Force Public Cache URIs"

#: src/lang.cls.php:121
msgid "Notifications"
msgstr "Notifications"

#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr "Default HTTP Status Code Page TTL"

#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr "Default REST TTL"

#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr "Enable Cache"

#: src/cloud.cls.php:320 src/cloud.cls.php:377 src/lang.cls.php:106
msgid "Server IP"
msgstr "Server IP"

#: src/lang.cls.php:30
msgid "Images not requested"
msgstr "Images not requested"

#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr "Sync credit allowance with Cloud Server successfully."

#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr "Failed to communicate with QUIC.cloud server"

#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr "Good news from QUIC.cloud server"

#: src/cloud.cls.php:1767 src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr "Message from QUIC.cloud server"

#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr "Please try after %1$s for service %2$s."

#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr "No available Cloud Node."

#: src/cloud.cls.php:1131 src/cloud.cls.php:1144 src/cloud.cls.php:1182
#: src/cloud.cls.php:1250 src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr "Cloud Error"

#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."

#: src/media.cls.php:541
msgid "Restore from backup"
msgstr "Restore from backup"

#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr "No backup of unoptimised WebP file exists."

#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr "WebP file reduced by %1$s (%2$s)"

#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr "Currently using original (unoptimised) version of WebP file."

#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr "Currently using optimised version of WebP file."

#: src/media.cls.php:464
msgid "Orig"
msgstr "Orig"

#: src/media.cls.php:461
msgid "(no savings)"
msgstr "(no savings)"

#: src/media.cls.php:460
msgid "Orig %s"
msgstr "Orig %s"

#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr "Congratulation! Your file was already optimised"

#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr "No backup of original file exists."

#: src/media.cls.php:453 src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr "Using optimised version of file. "

#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr "Orig saved %s"

#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr "Original file reduced by %1$s (%2$s)"

#: src/media.cls.php:421 src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr "Click to switch to optimised version."

#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr "Currently using original (unoptimised) version of file."

#: src/media.cls.php:420 src/media.cls.php:490
msgid "(non-optm)"
msgstr "(non-optm)"

#: src/media.cls.php:417 src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr "Click to switch to original (unoptimised) version."

#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr "Currently using optimised version of file."

#: src/media.cls.php:416 src/media.cls.php:454 src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr "(optm)"

#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr "LQIP image preview for size %s"

#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr "LQIP"

#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr "Previously existed in blocklist"

#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr "Manually added to blocklist"

#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr "Mobile Agent Rules"

#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr "Sitemap created successfully: %d items"

#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr "Sitemap cleaned successfully"

#: src/admin-display.cls.php:1512
msgid "Invalid IP"
msgstr "Invalid IP"

#: src/admin-display.cls.php:1484
msgid "Value range"
msgstr "Value range"

#: src/admin-display.cls.php:1481
msgid "Smaller than"
msgstr "Smaller than"

#: src/admin-display.cls.php:1479
msgid "Larger than"
msgstr "Larger than"

#: src/admin-display.cls.php:1473
msgid "Zero, or"
msgstr "Zero, or"

#: src/admin-display.cls.php:1461
msgid "Maximum value"
msgstr "Maximum value"

#: src/admin-display.cls.php:1458
msgid "Minimum value"
msgstr "Minimum value"

#: src/admin-display.cls.php:1438
msgid "Path must end with %s"
msgstr "Path must end with %s"

#: src/admin-display.cls.php:1418
msgid "Invalid rewrite rule"
msgstr "Invalid rewrite rule"

#: src/admin-display.cls.php:261
msgid "Toolbox"
msgstr "Toolbox"

#: src/admin-display.cls.php:259
msgid "Database"
msgstr "Database"

#: src/admin-display.cls.php:258 tpl/dash/dashboard.tpl.php:205
#: tpl/dash/network_dash.tpl.php:37 tpl/general/online.tpl.php:83
#: tpl/general/online.tpl.php:133 tpl/general/online.tpl.php:148
msgid "Page Optimization"
msgstr "Page Optimisation"

#: src/admin-display.cls.php:251 tpl/dash/entry.tpl.php:16
msgid "Dashboard"
msgstr "Dashboard"

#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr "Converted to InnoDB successfully."

#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr "Cleaned all Gravatar files."

#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr "Cleaned all LQIP files."

#: src/error.cls.php:238
msgid "Unknown error"
msgstr "Unknown error"

#: src/error.cls.php:227
msgid "Your domain has been forbidden from using our services due to a previous policy violation."
msgstr "Your domain has been forbidden from using our services due to a previous policy violation."

#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "

#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."

#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr "The callback validation to your domain failed due to hash mismatch."

#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr "Your application is waiting for approval."

#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr "Previous request too recent. Please try again after %s."

#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr "Previous request too recent. Please try again later."

#: src/error.cls.php:194
msgid "Crawler disabled by the server admin."
msgstr "Crawler disabled by the server admin."

#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr "Could not find %1$s in %2$s."

#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr "Credits are not enough to proceed the current request."

#: src/error.cls.php:123
msgid "There is proceeding queue not pulled yet."
msgstr "There is proceeding queue not pulled yet."

#: src/error.cls.php:115
msgid "The image list is empty."
msgstr "The image list is empty."

#: src/task.cls.php:289
msgid "LiteSpeed Crawler Cron"
msgstr "LiteSpeed Crawler Cron"

#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."

#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."

#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr "Please do NOT share the above passwordless link with anyone."

#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."

#: tpl/banner/cloud_news.tpl.php:30 tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr "Install"

#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."

#: tpl/banner/score.php:74 tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr "PageSpeed Score"

#: tpl/banner/score.php:62 tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411 tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr "Improved by"

#: tpl/banner/score.php:53 tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403 tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr "After"

#: tpl/banner/score.php:45 tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395 tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr "Before"

#: tpl/banner/score.php:40 tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr "Page Load Time"

#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."

#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr "Preserve EXIF/XMP data"

#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr "Try GitHub Version"

#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr "If you turn any of the above settings OFF, please remove the related file types from the %s box."

#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr "Both full and partial strings can be used."

#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr "Images containing these class names will not be lazy loaded."

#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr "Lazy Load Image Class Name Excludes"

#: tpl/cache/settings-cache.tpl.php:139 tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr "For example, %1$s defines a TTL of %2$s seconds for %3$s."

#: tpl/cache/settings-cache.tpl.php:136 tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."

#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr "Maybe Later"

#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr "Turn On Auto Upgrade"

#: tpl/banner/new_version.php:77 tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr "Upgrade"

#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr "New release %s is available now."

#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr "New Version Available!"

#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr "Sure I'd love to review!"

#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr "Thank You for Using the LiteSpeed Cache Plugin!"

#: src/activation.cls.php:570
msgid "Upgraded successfully."
msgstr "Upgraded successfully."

#: src/activation.cls.php:561 src/activation.cls.php:566
msgid "Failed to upgrade."
msgstr "Failed to upgrade."

#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr "Changed setting successfully."

#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr "ESI sample for developers"

#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr "Replace %1$s with %2$s."

#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr "You can turn shortcodes into ESI blocks."

#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr "WpW: Private Cache vs. Public Cache"

#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr "Append query string %s to the resources to bypass this action."

#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr "Google reCAPTCHA will be bypassed automatically."

#: tpl/crawler/settings.tpl.php:172
msgid "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."
msgstr "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."

#: src/admin-display.cls.php:456 tpl/crawler/settings.tpl.php:179
msgid "Cookie Values"
msgstr "Cookie Values"

#: src/admin-display.cls.php:455
msgid "Cookie Name"
msgstr "Cookie Name"

#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr "Cookie Simulation"

#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."

#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."

#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr "Automatically Upgrade"

#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr "Your IP"

#: src/import.cls.php:156
msgid "Reset successfully."
msgstr "Reset successfully."

#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr "This will reset all settings to default settings."

#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr "Reset All Settings"

#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr "Separate critical CSS files will be generated for paths containing these strings."

#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr "Separate CCSS Cache URIs"

#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."

#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr "List post types where each item of that type should have its own CCSS generated."

#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr "Separate CCSS Cache Post Types"

#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr "Size list in queue waiting for cron"

#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr "If set to %1$s, before the placeholder is localised, the %2$s configuration will be used."

#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr "Automatically generate LQIP in the background via a cron-based queue."

#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."

#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."

#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr "Responsive Placeholder"

#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr "This will delete all generated image LQIP placeholder files"

#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr "Please enable LiteSpeed Cache in the plugin settings."

#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr "Please enable the LSCache Module at the server level, or ask your hosting provider."

#: src/cloud.cls.php:1633 src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr "Failed to request via WordPress"

#. Description of the plugin
#: litespeed-cache.php
msgid "High-performance page caching and site optimization from LiteSpeed"
msgstr "High-performance page caching and site optimisation from LiteSpeed"

#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr "Reset the optimised data successfully."

#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr "Update %s now"

#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr "View %1$s version %2$s details"

#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5:
#. class/aria
#: src/gui.cls.php:1103
msgid "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."
msgstr "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."

#: src/gui.cls.php:1079
msgid "Install %s"
msgstr "Install %s"

#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr "LSCache caching functions on this page are currently unavailable!"

#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr "%1$s plugin version %2$s required for this action."

#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologise for any inconvenience."

#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr "Automatically remove the original image backups after fetching optimised images."

#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr "Remove Original Backups"

#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr "Automatically request optimisation via cron job."

#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr "A backup of each image is saved before it is optimised."

#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr "Switched images successfully."

#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr "This can improve quality but may result in larger images than lossy compression will."

#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr "Optimise images using lossless compression."

#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr "Optimise Losslessly"

#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr "Optimise images and save backups of the originals in the same folder."

#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr "Optimise Original Images"

#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr "When this option is turned %s, it will also load Google Fonts asynchronously."

#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr "Cleaned all Critical CSS files."

#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr "This will inline the asynchronous CSS library to avoid render blocking."

#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr "Inline CSS Async Lib"

#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr "Run Queue Manually"

#: tpl/page_optm/settings_css.tpl.php:117
#: tpl/page_optm/settings_css.tpl.php:254 tpl/page_optm/settings_vpi.tpl.php:65
msgid "URL list in %s queue waiting for cron"
msgstr "URL list in %s queue waiting for cron"

#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr "Last requested cost"

#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr "Last generated"

#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr "If set to %s this is done in the foreground, which may slow down page load."

#: tpl/page_optm/settings_css.tpl.php:219
msgid "Automatic generation of critical CSS is in the background via a cron-based queue."
msgstr "Automatic generation of critical CSS is in the background via a cron-based queue."

#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr "Optimise CSS delivery."

#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr "This will delete all generated critical CSS files"

#: tpl/dash/dashboard.tpl.php:624 tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr "Critical CSS"

#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr "This site utilises caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."

#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr "Disabling this may cause WordPress tasks triggered by AJAX to stop working."

#: src/utility.cls.php:214
msgid "right now"
msgstr "right now"

#: src/utility.cls.php:214
msgid "just now"
msgstr "just now"

#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr "Saved"

#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr "Last ran"

#: tpl/img_optm/settings.tpl.php:66 tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr "You will be unable to Revert Optimisation once the backups are deleted!"

#: tpl/img_optm/settings.tpl.php:65 tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr "This is irreversible."

#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr "Remove Original Image Backups"

#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr "Are you sure you want to remove all image backups?"

#: tpl/crawler/blacklist.tpl.php:32 tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr "Total"

#: tpl/img_optm/summary.tpl.php:198 tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr "Files"

#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr "Last calculated"

#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr "Calculate Original Image Storage"

#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr "Storage Optimisation"

#: tpl/cdn/other.tpl.php:141 tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr "Use the format %1$s or %2$s (element is optional)."

#: tpl/cdn/other.tpl.php:137 tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr "Only attributes listed here will be replaced."

#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr "Only files within these directories will be pointed to the CDN."

#: src/lang.cls.php:262
msgid "Included Directories"
msgstr "Included Directories"

#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr "A Purge All will be executed when WordPress runs these hooks."

#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr "Purge All Hooks"

#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr "Purged all caches successfully."

#: src/gui.cls.php:696 src/gui.cls.php:861 src/gui.cls.php:916
msgid "LSCache"
msgstr "LSCache"

#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr "Forced cacheable"

#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr "Paths containing these strings will be cached regardless of no-cacheable settings."

#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr "Force Cache URIs"

#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr "Exclude Settings"

#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr "This will disable LSCache and all optimisation features for debug purpose."

#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr "Disable All Features"

#: src/gui.cls.php:741 src/gui.cls.php:961 tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr "Opcode Cache"

#: src/gui.cls.php:706 src/gui.cls.php:926 tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr "CSS/JS Cache"

#: src/gui.cls.php:1055 tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr "Remove all previous unfinished image optimisation requests."

#: src/gui.cls.php:1056 tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr "Clean Up Unfinished Data"

#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr "Join Us on Slack"

#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr "Join the %s community."

#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr "Want to connect with other LiteSpeed users?"

#: tpl/cdn/cf.tpl.php:38
msgid "Your API key / token is used to access %s APIs."
msgstr "Your API key / token is used to access %s APIs."

#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr "Your Email address on %s."

#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr "Use %s API functionality."

#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr "To randomise CDN hostname, define multiple hostnames for the same resources."

#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr "Join LiteSpeed Slack community"

#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr "Visit LSCWP support forum"

#: src/lang.cls.php:33 tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr "Images notified to pull"

#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr "What is a group?"

#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr "%s image"

#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr "%s group"

#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr "%s images"

#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr "%s groups"

#: src/crawler.cls.php:1310
msgid "Guest"
msgstr "Guest"

#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr "To crawl the site as a logged-in user, enter the user ids to be simulated."

#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr "Role Simulation"

#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr "running"

#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr "Size"

#: tpl/crawler/summary.tpl.php:123 tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr "Ended reason"

#: tpl/crawler/summary.tpl.php:116 tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr "Last interval"

#: tpl/crawler/summary.tpl.php:104 tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr "Current crawler started at"

#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr "Run time for previous crawler"

#: tpl/crawler/summary.tpl.php:91 tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr "%d seconds"

#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr "Last complete run time for all crawlers"

#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr "Current sitemap crawl started at"

#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr "Save transients in database when %1$s is %2$s."

#: src/lang.cls.php:143
msgid "Store Transients"
msgstr "Store Transients"

#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile
#. User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr "If %1$s is %2$s, then %3$s must be populated!"

#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104 tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76 tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr "NOTE"

#. translators: %s: list of server variables in <code> tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr "Server variable(s) %s available to override this setting."

#: src/admin-display.cls.php:1532 tpl/cache/settings-esi.tpl.php:103
#: tpl/page_optm/settings_css.tpl.php:87 tpl/page_optm/settings_css.tpl.php:223
#: tpl/page_optm/settings_html.tpl.php:131
#: tpl/page_optm/settings_media.tpl.php:258
#: tpl/page_optm/settings_media_exc.tpl.php:36
#: tpl/page_optm/settings_tuning.tpl.php:48
#: tpl/page_optm/settings_tuning.tpl.php:68
#: tpl/page_optm/settings_tuning.tpl.php:89
#: tpl/page_optm/settings_tuning.tpl.php:110
#: tpl/page_optm/settings_tuning.tpl.php:129
#: tpl/page_optm/settings_tuning_css.tpl.php:35
#: tpl/page_optm/settings_tuning_css.tpl.php:96
#: tpl/page_optm/settings_tuning_css.tpl.php:99
#: tpl/page_optm/settings_tuning_css.tpl.php:100
#: tpl/toolbox/edit_htaccess.tpl.php:61 tpl/toolbox/edit_htaccess.tpl.php:79
msgid "API"
msgstr "API"

#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr "Imported setting file %s successfully."

#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr "Import failed due to file error."

#: tpl/page_optm/settings_css.tpl.php:61 tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr "How to Fix Problems Caused by CSS/JS Optimisation."

#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr "This will generate extra requests to the server, which will increase server load."

#: tpl/cache/settings-advanced.tpl.php:71
msgid "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."
msgstr "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."

#: src/lang.cls.php:241
msgid "Instant Click"
msgstr "Instant Click"

#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr "Reset the entire opcode cache"

#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr "This will import settings from a file and override all current LiteSpeed Cache settings."

#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr "Last imported"

#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr "Import"

#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr "Import Settings"

#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr "This will export all current LiteSpeed Cache settings and save them as a file."

#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr "Last exported"

#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr "Export"

#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr "Export Settings"

#: tpl/presets/entry.tpl.php:17 tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr "Import / Export"

#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr "Use keep-alive connections to speed up cache operations."

#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr "Database to be used"

#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr "Redis Database ID"

#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr "Specify the password used when connecting."

#: src/lang.cls.php:137
msgid "Password"
msgstr "Password"

#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr "Only available when %s is installed."

#: src/lang.cls.php:136
msgid "Username"
msgstr "Username"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr "Your %s Hostname or IP address."

#: src/lang.cls.php:132
msgid "Method"
msgstr "Method"

#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr "Purge all object caches successfully."

#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr "Object cache is not enabled."

#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr "Improve wp-admin speed through caching. (May encounter expired data)"

#: src/lang.cls.php:142
msgid "Cache WP-Admin"
msgstr "Cache WP-Admin"

#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr "Persistent Connection"

#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr "Do Not Cache Groups"

#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr "Groups cached at the network level."

#: src/lang.cls.php:139
msgid "Global Groups"
msgstr "Global Groups"

#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr "Connection Test"

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr "%s Extension"

#: tpl/cache/settings_inc.object.tpl.php:52 tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr "Status"

#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr "Default TTL for cached objects."

#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr "Default Object Lifetime"

#: src/lang.cls.php:134
msgid "Port"
msgstr "Port"

#: src/lang.cls.php:133
msgid "Host"
msgstr "Host"

#: src/gui.cls.php:729 src/gui.cls.php:949 src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60 tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr "Object Cache"

#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr "Failed"

#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr "Passed"

#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr "Not Available"

#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr "Purge all the object caches"

#: src/cdn/cloudflare.cls.php:275 src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr "Failed to communicate with Cloudflare"

#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr "Communicated with Cloudflare successfully."

#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr "No available Cloudflare zone"

#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr "Notified Cloudflare to purge all successfully."

#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr "Cloudflare API is set to off."

#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr "Notified Cloudflare to set development mode to %s successfully."

#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr "Once saved, it will be matched with the current list and completed automatically."

#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr "You can just type part of the domain."

#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr "Domain"

#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr "Cloudflare API"

#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr "Purge Everything"

#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr "Cloudflare Cache"

#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr "Development Mode will be turned off automatically after three hours."

#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."

#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr "Development mode will be automatically turned off in %s."

#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr "Current status is %s."

#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr "Current status is %1$s since %2$s."

#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr "Check Status"

#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr "Turn OFF"

#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr "Turn ON"

#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr "Development Mode"

#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr "Cloudflare Zone"

#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr "Cloudflare Domain"

#: src/gui.cls.php:717 src/gui.cls.php:937 tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr "Cloudflare"

#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr "For example"

#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr "Prefetching DNS can reduce latency for visitors."

#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr "DNS Prefetch"

#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr "Adding Style to Your Lazy-Loaded Images"

#: src/admin-display.cls.php:1371 src/admin-display.cls.php:1390
#: tpl/cdn/other.tpl.php:108
msgid "Default value"
msgstr "Default value"

#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr "Static file type links to be replaced by CDN links."

#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr "Drop Query String"

#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."

#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr "Improve HTTP/HTTPS Compatibility"

#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr "Remove all previous image optimisation requests/results, revert completed optimisations, and delete all optimisation files."

#: tpl/img_optm/settings.media_webp.tpl.php:34 tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr "Destroy All Optimisation Data"

#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr "Scan for any new unoptimised image thumbnail sizes and resend necessary image optimisation requests."

#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr "This will increase the size of optimised files."

#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimising."

#: tpl/toolbox/log_viewer.tpl.php:46 tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr "Clear Logs"

#: src/utility.cls.php:217
msgid " %s ago"
msgstr " %s ago"

#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr "WebP saved %s"

#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr "If you run into any issues, please refer to the report number in your support message."

#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr "Last pull initiated by cron at %s."

#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr "Images will be pulled automatically if the cron job is running."

#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr "Only press the button if the pull cron job is disabled."

#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr "Pull Images"

#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr "This process is automatic."

#: tpl/dash/dashboard.tpl.php:569 tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr "Last Request"

#: tpl/dash/dashboard.tpl.php:546 tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr "Images Pulled"

#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr "Report"

#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."

#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr "Send to LiteSpeed"

#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr "LiteSpeed Optimisation"

#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr "Load Google Fonts Asynchronously"

#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr "Browser Cache TTL"

#: src/doc.cls.php:101 tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846 tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93 tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114 tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46 tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr "Learn More"

#: tpl/img_optm/summary.tpl.php:285
msgid "Image groups total"
msgstr "Image groups total"

#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr "Images optimised and pulled"

#: src/lang.cls.php:32 tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr "Images requested"

#: src/img-optm.cls.php:1993 src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr "Switched to optimised file successfully."

#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr "Restored original file successfully."

#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr "Enabled WebP file successfully."

#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr "Disabled WebP file successfully."

#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr "Significantly improve load time by replacing images with their optimised %s versions."

#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr "Selected roles will be excluded from cache."

#: tpl/page_optm/entry.tpl.php:23 tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr "Tuning"

#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr "Selected roles will be excluded from all optimisations."

#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr "Role Excludes"

#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr "Tuning Settings"

#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr "If the tag slug is not found, the tag will be removed from the list on save."

#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr "If the category name is not found, the category will be removed from the list on save."

#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr "After the QUIC.cloud Image Optimisation server finishes optimisation, it will notify your site to pull the optimised images."

#: tpl/dash/dashboard.tpl.php:537 tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr "Send Optimisation Request"

#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr "Image Information"

#: tpl/dash/dashboard.tpl.php:543 tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr "Total Reduction"

#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr "Optimisation Summary"

#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr "LiteSpeed Cache Image Optimisation"

#: src/admin-display.cls.php:257 src/gui.cls.php:895
#: tpl/dash/dashboard.tpl.php:204 tpl/dash/network_dash.tpl.php:36
#: tpl/general/online.tpl.php:75 tpl/general/online.tpl.php:134
#: tpl/general/online.tpl.php:149 tpl/presets/standard.tpl.php:32
msgid "Image Optimization"
msgstr "Image Optimisation"

#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr "For example, %s can be used for a transparent placeholder."

#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr "By default a gray image placeholder %s will be used."

#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."

#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr "Specify a base64 image to be used as a simple placeholder while images finish loading."

#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr "Elements with attribute %s in html code will be excluded."

#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr "Filter %s is supported."

#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr "Listed images will not be lazy loaded."

#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr "Lazy Load Image Excludes"

#: src/gui.cls.php:667
msgid "No optimization"
msgstr "No optimisation"

#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr "Prevent any optimisation of listed pages."

#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr "URI Excludes"

#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."

#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr "Both full URLs and partial strings can be used."

#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr "Load iframes only when they enter the viewport."

#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr "Lazy Load Iframes"

#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr "This can improve page loading time by reducing initial HTTP requests."

#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr "Load images only when they enter the viewport."

#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr "Lazy Load Images"

#: tpl/page_optm/entry.tpl.php:19 tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr "Media Settings"

#: tpl/cache/settings-esi.tpl.php:113 tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."

#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr "To match the beginning, add %s to the beginning of the item."

#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr "Maybe later"

#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr "I've already left a review"

#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr "Welcome to LiteSpeed"

#: src/lang.cls.php:192 tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr "Remove WordPress Emoji"

#: src/gui.cls.php:677
msgid "More settings"
msgstr "More settings"

#: src/gui.cls.php:654
msgid "Private cache"
msgstr "Private cache"

#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr "Non cacheable"

#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr "Mark this page as "

#: src/gui.cls.php:584 src/gui.cls.php:601
msgid "Purge this page"
msgstr "Purge this page"

#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr "Load JS Deferred"

#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr "Specify critical CSS rules for above-the-fold content when enabling %s."

#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr "Critical CSS Rules"

#: src/lang.cls.php:170 tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr "Load CSS Asynchronously"

#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr "Prevent Google Fonts from loading on all pages."

#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr "Remove Google Fonts"

#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175 tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."

#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr "Remove query strings from internal static resources."

#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr "Remove Query Strings"

#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr "user agents"

#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr "cookies"

#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."

#: src/lang.cls.php:109 tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605 tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr "Browser Cache"

#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr "tags"

#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr "Do Not Cache Tags"

#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr "To exclude %1$s, insert %2$s."

#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr "categories"

#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr "To prevent %s from being cached, enter them here."

#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr "Do Not Cache Categories"

#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr "Query strings containing these parameters will not be cached."

#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr "Do Not Cache Query Strings"

#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr "Paths containing these strings will not be cached."

#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr "Do Not Cache URIs"

#: src/admin-display.cls.php:1559 src/doc.cls.php:128
msgid "One per line."
msgstr "One per line."

#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr "URI Paths containing these strings will NOT be cached as public."

#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr "Private Cached URIs"

#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr "Paths containing these strings will not be served from the CDN."

#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr "Exclude Path"

#: src/lang.cls.php:259 tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr "Include File Types"

#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."

#: src/lang.cls.php:258
msgid "Include JS"
msgstr "Include JS"

#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."

#: src/lang.cls.php:257
msgid "Include CSS"
msgstr "Include CSS"

#: src/lang.cls.php:256
msgid "Include Images"
msgstr "Include Images"

#: src/admin-display.cls.php:482
msgid "CDN URL to be used. For example, %s"
msgstr "CDN URL to be used. For example, %s"

#: src/lang.cls.php:255
msgid "CDN URL"
msgstr "CDN URL"

#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."

#: src/lang.cls.php:261
msgid "Original URLs"
msgstr "Original URLs"

#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr "CDN Settings"

#: src/admin-display.cls.php:256
msgid "CDN"
msgstr "CDN"

#: src/admin-display.cls.php:487 src/admin-display.cls.php:1168
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.object.tpl.php:280 tpl/cdn/other.tpl.php:53
#: tpl/dash/dashboard.tpl.php:69 tpl/dash/dashboard.tpl.php:462
#: tpl/dash/dashboard.tpl.php:584 tpl/dash/dashboard.tpl.php:613
#: tpl/img_optm/settings.media_webp.tpl.php:22
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_js.tpl.php:77
#: tpl/page_optm/settings_media.tpl.php:180
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "OFF"
msgstr "OFF"

#: src/admin-display.cls.php:486 src/admin-display.cls.php:1167
#: src/admin-display.cls.php:1197 src/admin-display.cls.php:1284
#: src/doc.cls.php:41 tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.cache_mobile.tpl.php:91 tpl/cdn/other.tpl.php:45
#: tpl/crawler/settings.tpl.php:138 tpl/dash/dashboard.tpl.php:67
#: tpl/dash/dashboard.tpl.php:460 tpl/dash/dashboard.tpl.php:582
#: tpl/dash/dashboard.tpl.php:611 tpl/page_optm/settings_css.tpl.php:220
#: tpl/page_optm/settings_media.tpl.php:176
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "ON"
msgstr "ON"

#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr "Notified LiteSpeed Web Server to purge CSS/JS entries."

#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr "Minify HTML content."

#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr "HTML Minify"

#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr "JS Excludes"

#: src/lang.cls.php:165
msgid "JS Combine"
msgstr "JS Combine"

#: src/lang.cls.php:164
msgid "JS Minify"
msgstr "JS Minify"

#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr "CSS Excludes"

#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr "CSS Combine"

#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr "CSS Minify"

#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."

#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr "This will purge all minified/combined CSS/JS entries only"

#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr "Purge %s Error"

#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr "Database Optimiser"

#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr "Optimise all tables in your database"

#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr "Optimise Tables"

#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr "Clean all transient options"

#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr "All Transients"

#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr "Clean expired transient options"

#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr "Expired Transients"

#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr "Clean all trackbacks and pingbacks"

#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr "Trackbacks/Pingbacks"

#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr "Clean all trashed comments"

#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr "Trashed Comments"

#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr "Clean all spam comments"

#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr "Spam Comments"

#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr "Clean all trashed posts and pages"

#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr "Trashed Posts"

#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr "Clean all auto saved drafts"

#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr "Auto Drafts"

#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr "Clean all post revisions"

#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr "Post Revisions"

#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr "Clean All"

#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr "Optimised all tables."

#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr "Clean all transients successfully."

#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr "Clean expired transients successfully."

#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr "Clean trackbacks and pingbacks successfully."

#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr "Clean trashed comments successfully."

#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr "Clean spam comments successfully."

#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr "Clean trashed posts and pages successfully."

#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr "Clean auto drafts successfully."

#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr "Clean post revisions successfully."

#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr "Clean all successfully."

#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr "Default Private Cache TTL"

#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."

#: src/lang.cls.php:238 tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277 tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr "Vary Group"

#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr "Cache the built-in Comment Form ESI block."

#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr "Cache Comment Form"

#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr "Cache Admin Bar"

#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."

#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."

#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."

#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr "Private"

#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr "Public"

#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr "Purge Settings"

#: src/lang.cls.php:126 tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr "Cache Mobile"

#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr "Advanced level will log more details."

#: tpl/presets/standard.tpl.php:29 tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr "Basic"

#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."

#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr "Cache Login Page"

#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr "Cache requests made by WordPress REST API calls."

#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr "Cache REST API"

#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"

#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr "Cache Commenters"

#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr "Privately cache frontend pages for logged-in users. (LSWS %s required)"

#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr "Cache Logged-in Users"

#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr "Cache Control Settings"

#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr "ESI"

#: tpl/cache/entry.tpl.php:19 tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr "Excludes"

#: tpl/cache/entry.tpl.php:18 tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16 tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr "Purge"

#: src/admin-display.cls.php:255 tpl/cache/entry.tpl.php:17
#: tpl/cache/entry.tpl.php:66
msgid "Cache"
msgstr "Cache"

#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr "Current server time is %s."

#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr "Specify the time to purge the \"%s\" list."

#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr "Both %1$s and %2$s are acceptable."

#: src/lang.cls.php:148 tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr "Scheduled Purge Time"

#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."

#: src/lang.cls.php:147 tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr "Scheduled Purge URLs"

#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr "Shorten query strings in the debug log to improve readability."

#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr "Heartbeat"

#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr "MB"

#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr "Log File Size Limit"

#: src/htaccess.cls.php:784
msgid "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"
msgstr "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"

#: src/error.cls.php:158 src/error.cls.php:182
msgid "%s file not writable."
msgstr "%s file not writable."

#: src/error.cls.php:178
msgid "%s file not readable."
msgstr "%s file not readable."

#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr "Collapse Query Strings"

#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr "ESI Settings"

#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr "A TTL of 0 indicates do not cache."

#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr "Recommended value: 28800 seconds (8 hours)."

#: src/lang.cls.php:234 tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr "Enable ESI"

#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr "Custom Sitemap"

#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr "Purge pages by relative or full URL."

#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."

#: tpl/cache/settings-esi.tpl.php:45 tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60 tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77 tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr "WARNING"

#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr "The next complete sitemap crawl will start at"

#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr "Failed to write to %s."

#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr "Folder is not writable: %s."

#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr "Can not create folder: %1$s. Error: %2$s"

#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr "Folder does not exist: %s"

#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr "Notified LiteSpeed Web Server to purge the list."

#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr "Allows listed IPs (one per line) to perform certain actions from their browsers."

#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr "Server Load Limit"

#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."

#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr "Crawl Interval"

#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr "Then another WordPress is installed (NOT MULTISITE) at %s"

#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr "LiteSpeed Cache Network Cache Settings"

#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr "Select below for \"Purge by\" options."

#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr "LiteSpeed Cache CDN"

#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr "No crawler meta file generated yet"

#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr "Show crawler status"

#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr "Watch Crawler Status"

#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr "Run frequency is set by the Interval Between Runs setting."

#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr "Manually run"

#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr "Reset position"

#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr "Run Frequency"

#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr "Cron Name"

#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr "Crawler Cron"

#: cli/crawler.cls.php:100 tpl/crawler/summary.tpl.php:47
msgid "%d minute"
msgstr "%d minute"

#: cli/crawler.cls.php:98 tpl/crawler/summary.tpl.php:47
msgid "%d minutes"
msgstr "%d minutes"

#: cli/crawler.cls.php:91 tpl/crawler/summary.tpl.php:39
msgid "%d hour"
msgstr "%d hour"

#: cli/crawler.cls.php:89 tpl/crawler/summary.tpl.php:39
msgid "%d hours"
msgstr "%d hours"

#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr "Generated at %s"

#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr "LiteSpeed Cache Crawler"

#: src/admin-display.cls.php:260 src/lang.cls.php:267
msgid "Crawler"
msgstr "Crawler"

#. Plugin URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"
msgstr "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"

#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr "Notified LiteSpeed Web Server to purge all pages."

#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr "All pages with Recent Posts Widget"

#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr "Pages"

#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr "This will Purge Pages only"

#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr "Purge Pages"

#: src/gui.cls.php:133 tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr "Cancel"

#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr "Activate"

#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr "Email Address"

#: src/gui.cls.php:1080
msgid "Install Now"
msgstr "Install Now"

#: cli/purge.cls.php:133
msgid "Purged the blog!"
msgstr "Purged the blog!"

#: cli/purge.cls.php:86
msgid "Purged All!"
msgstr "Purged All!"

#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr "Notified LiteSpeed Web Server to purge error pages."

#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."

#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr "If the login cookie was recently changed in the settings, please log out and back in."

#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr "However, there is no way of knowing all the possible customisations that were implemented."

#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."

#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr "The network admin setting can be overridden here."

#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr "Specify how long, in seconds, public pages are cached."

#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr "Specify how long, in seconds, private pages are cached."

#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr "Purge pages by post ID."

#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr "Purge the LiteSpeed cache entries created by this plugin"

#: tpl/toolbox/purge.tpl.php:33
msgid "Purge %s error pages"
msgstr "Purge %s error pages"

#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr "This will Purge Front Page only"

#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."

#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."

#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr "If only the WordPress site should be purged, use Purge All."

#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr "Notified LiteSpeed Web Server to purge everything."

#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr "Use Primary Site Configuration"

#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr "This will disable the settings page on all subsites."

#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr "Check this option to use the primary site's configuration for all subsites."

#: src/admin-display.cls.php:998 src/admin-display.cls.php:1003
msgid "Save Changes"
msgstr "Save Changes"

#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr "The following options are selected, but are not editable in this settings page."

#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr "The network admin selected use primary site configs for all subsites."

#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr "Empty Entire Cache"

#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr "This action should only be used if things are cached incorrectly."

#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr "This may cause heavy load on the server."

#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr "This will clear EVERYTHING inside the cache."

#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr "LiteSpeed Cache Purge All"

#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr "If you would rather not move at litespeed, you can deactivate this plugin."

#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr "Create a post, make sure the front page is accurate."

#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr "Visit the site while logged out."

#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr "Examples of test cases include:"

#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr "For that reason, please test the site to make sure everything still functions properly."

#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr "This message indicates that the plugin was installed by the server admin."

#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr "LiteSpeed Cache plugin is installed!"

#: src/lang.cls.php:275 tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr "Debug Log"

#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr "Admin IP Only"

#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr "Specify how long, in seconds, REST calls are cached."

#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr "The environment report contains detailed information about the WordPress configuration."

#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr "The server will determine if the user is logged in based on the existence of this cookie."

#: tpl/cache/settings-purge.tpl.php:53 tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr "Note"

#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr "After verifying that the cache works in general, please test the cart."

#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."

#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr "Purge All On Upgrade"

#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr "Product Update Interval"

#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."

#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr "Always purge both product and categories on changes to the quantity or stock status."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr "Do not purge categories on changes to the quantity or stock status."

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr "Purge product only when the stock status changes."

#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr "Purge product and categories only when the stock status changes."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr "Purge categories only when stock status changes."

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr "Purge product on changes to the quantity or stock status."

#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr "Htaccess did not match configuration option."

#: tpl/cache/settings-ttl.tpl.php:75 tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr "If this is set to a number less than 30, feeds will not be cached."

#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr "Specify how long, in seconds, feeds are cached."

#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr "Default Feed TTL"

#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr "Failed to get %s file contents."

#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr "Disabling this option may negatively affect performance."

#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr "Invalid login cookie. Invalid characters found."

#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr "WARNING: The .htaccess login cookie and Database login cookie do not match."

#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr "Invalid login cookie. Please check the %s file."

#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."

#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr "There is a WordPress installed for %s."

#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr "Example use case:"

#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr "The cookie set here will be used for this WordPress installation."

#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."

#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr "This setting is useful for those that have multiple web applications for the same domain."

#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr "The default login cookie is %s."

#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr "Login Cookie"

#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr "More information about the available commands can be found here."

#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr "These settings are meant for ADVANCED USERS ONLY."

#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr "Current %s Contents"

#: tpl/cache/entry.tpl.php:22 tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr "Advanced"

#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr "Advanced Settings"

#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr "Purge List"

#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr "Purge By..."

#: tpl/crawler/blacklist.tpl.php:41 tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr "URL"

#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr "Tag"

#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr "Post ID"

#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr "Category"

#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr "NOTICE: Database login cookie did not match your login cookie."

#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr "Purge url %s"

#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr "Purge tag %s"

#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr "Purge category %s"

#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr "When disabling the cache, all cached entries for this site will be purged."

#: tpl/cache/settings-cache.tpl.php:42 tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133 tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42 tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr "NOTICE"

#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr "This setting will edit the .htaccess file."

#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr "LiteSpeed Cache View .htaccess"

#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr "Failed to back up %s file, aborted changes."

#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr "Do Not Cache Cookies"

#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr "Do Not Cache User Agents"

#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr "This is to ensure compatibility prior to enabling the cache for all sites."

#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr "Network Enable Cache"

#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23 tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24 tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr "NOTICE:"

#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr "Other checkboxes will be ignored."

#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."

#: src/lang.cls.php:127 tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr "List of Mobile User Agents"

#: src/file.cls.php:168 src/file.cls.php:172
msgid "File %s is not writable."
msgstr "File %s is not writable."

#: tpl/page_optm/entry.tpl.php:17 tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr "JS Settings"

#: src/gui.cls.php:874 tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr "Manage"

#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr "Default Front Page TTL"

#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr "Notified LiteSpeed Web Server to purge the front page."

#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr "Purge Front Page"

#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr "Example"

#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr "All tags are cached by default."

#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr "All categories are cached by default."

#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr "To do an exact match, add %s to the end of the URL."

#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr "The URLs will be compared to the REQUEST_URI server variable."

#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr "Select only the archive types that are currently used, the others can be left unchecked."

#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr "Notes"

#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr "Use Network Admin Setting"

#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr "Disable"

#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."

#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr "Disabled"

#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr "Enabled"

#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr "Do Not Cache Roles"

#. Author URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com"
msgstr "https://www.litespeedtech.com"

#. Author of the plugin
#: litespeed-cache.php
msgid "LiteSpeed Technologies"
msgstr "LiteSpeed Technologies"

#. Plugin Name of the plugin
#: litespeed-cache.php tpl/banner/new_version.php:57
#: tpl/banner/new_version_dev.tpl.php:21 tpl/cache/more_settings_tip.tpl.php:28
#: tpl/esi_widget_edit.php:41 tpl/inc/admin_footer.php:17
msgid "LiteSpeed Cache"
msgstr "LiteSpeed Cache"

#: src/lang.cls.php:277
msgid "Debug Level"
msgstr "Debug Level"

#: tpl/general/settings.tpl.php:72 tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86 tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr "Notice"

#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr "Term archive (include category, tag, and tax)"

#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr "Daily archive"

#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr "Monthly archive"

#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr "Yearly archive"

#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr "Post type archive"

#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr "Author archive"

#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr "Home page"

#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr "Front page"

#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr "All pages"

#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr "Select which pages will be automatically purged when posts are published/updated."

#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr "Auto Purge Rules For Publish/Update"

#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr "Default Public Cache TTL"

#: src/admin-display.cls.php:1345 tpl/cache/settings_inc.object.tpl.php:162
#: tpl/crawler/settings.tpl.php:43 tpl/esi_widget_edit.php:78
msgid "seconds"
msgstr "seconds"

#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr "Admin IPs"

#: src/admin-display.cls.php:254
msgid "General"
msgstr "General"

#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr "LiteSpeed Cache Settings"

#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr "Notified LiteSpeed Web Server to purge all LSCache entries."

#: src/gui.cls.php:686 src/gui.cls.php:696 src/gui.cls.php:706
#: src/gui.cls.php:717 src/gui.cls.php:729 src/gui.cls.php:741
#: src/gui.cls.php:753 src/gui.cls.php:765 src/gui.cls.php:776
#: src/gui.cls.php:788 src/gui.cls.php:800 src/gui.cls.php:812
#: src/gui.cls.php:906 src/gui.cls.php:916 src/gui.cls.php:926
#: src/gui.cls.php:937 src/gui.cls.php:949 src/gui.cls.php:961
#: src/gui.cls.php:973 src/gui.cls.php:985 src/gui.cls.php:996
#: src/gui.cls.php:1008 src/gui.cls.php:1020 src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141 tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47 tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64 tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82 tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100 tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118 tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr "Purge All"

#: src/admin-display.cls.php:548 src/gui.cls.php:884
#: tpl/crawler/entry.tpl.php:17
msgid "Settings"
msgstr "Settings"PKf^�\(translations/.ls_translation_check_es_CRnu�[���PKf^�\�]^=
=
'litespeed-cache/tpl/esi_widget_edit.phpnu�[���<?php
/**
 * LiteSpeed Cache Widget Settings
 *
 * Configures ESI settings for widgets in LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$options = ! empty( $instance[ Base::OPTION_NAME ] ) ? $instance[ Base::OPTION_NAME ] : array();

if ( empty( $options ) ) {
	$options = array(
		ESI::WIDGET_O_ESIENABLE => Base::VAL_OFF,
		ESI::WIDGET_O_TTL       => '28800',
	);

	add_filter( 'litespeed_widget_default_options', 'LiteSpeed\ESI::widget_default_options', 10, 2 );

	$options = apply_filters( 'litespeed_widget_default_options', $options, $widget );
}

if ( empty( $options ) ) {
	$esi = Base::VAL_OFF;
	$ttl = '28800';
} else {
	$esi = $options[ ESI::WIDGET_O_ESIENABLE ];
	$ttl = $options[ ESI::WIDGET_O_TTL ];
}

$display = Admin_Display::cls();

?>
<div class="litespeed-widget-setting">

	<h4><?php esc_html_e( 'LiteSpeed Cache', 'litespeed-cache' ); ?>:</h4>

	<b><?php esc_html_e( 'Enable ESI', 'litespeed-cache' ); ?>:</b>
	&nbsp;
	<div class="litespeed-inline">
		<div class="litespeed-switch litespeed-mini">
		<?php
			$esi_option = ESI::WIDGET_O_ESIENABLE;
			$name       = $widget->get_field_name( $esi_option );

			$cache_status_list = array(
				array( Base::VAL_ON, esc_html__( 'Public', 'litespeed-cache' ) ),
				array( Base::VAL_ON2, esc_html__( 'Private', 'litespeed-cache' ) ),
				array( Base::VAL_OFF, esc_html__( 'Disable', 'litespeed-cache' ) ),
			);

			foreach ( $cache_status_list as $v ) {
				list( $value, $label ) = $v;
				$id_attr               = $widget->get_field_id( $esi_option ) . '_' . $value;
				$checked               = $esi === $value ? 'checked' : '';
				?>
				<input type="radio" autocomplete="off" name="<?php echo esc_attr($name); ?>" id="<?php echo esc_attr($id_attr); ?>" value="<?php echo esc_attr( $value ); ?>" <?php echo esc_attr($checked); ?> />
				<label for="<?php echo esc_attr($id_attr); ?>"><?php echo esc_html( $label ); ?></label>
				<?php
			}
		?>
		</div>
	</div>
	<br /><br />

	<b><?php esc_html_e( 'Widget Cache TTL', 'litespeed-cache' ); ?>:</b>
	&nbsp;
	<?php
		$ttl_option = ESI::WIDGET_O_TTL;
		$name       = $widget->get_field_name( $ttl_option );
		?>
		<input type="text" class="regular-text litespeed-reset" name="<?php echo esc_attr($name); ?>" value="<?php echo esc_attr($ttl); ?>" size="7" />
	<?php esc_html_e( 'seconds', 'litespeed-cache' ); ?>

	<p class="install-help">
		<?php esc_html_e( 'Recommended value: 28800 seconds (8 hours).', 'litespeed-cache' ); ?>
		<?php esc_html_e( 'A TTL of 0 indicates do not cache.', 'litespeed-cache' ); ?>
	</p>
</div>

<br />PKg^�\{��J0litespeed-cache/tpl/inc/check_cache_disabled.phpnu�[���<?php
/**
 * LiteSpeed Cache Warning Notice
 *
 * Displays warnings if LiteSpeed Cache functionality is unavailable due to server or plugin configuration issues.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$reasons = array();

if ( ! defined( 'LITESPEED_ALLOWED' ) ) {
    if ( defined( 'LITESPEED_SERVER_TYPE' ) && LITESPEED_SERVER_TYPE === 'NONE' ) {
        $reasons[] = array(
            'title' => esc_html__( 'To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN.', 'litespeed-cache' ),
            'link'  => 'https://docs.litespeedtech.com/lscache/lscwp/faq/#why-do-the-cache-features-require-a-litespeed-server',
        );
    } else {
        $reasons[] = array(
            'title' => esc_html__( 'Please enable the LSCache Module at the server level, or ask your hosting provider.', 'litespeed-cache' ),
            'link'  => 'https://docs.litespeedtech.com/lscache/lscwp/#server-level-prerequisites',
        );
    }
} elseif ( ! defined( 'LITESPEED_ON' ) ) {
    $reasons[] = array(
        'title' => esc_html__( 'Please enable LiteSpeed Cache in the plugin settings.', 'litespeed-cache' ),
        'link'  => 'https://docs.litespeedtech.com/lscache/lscwp/cache/#enable-cache',
    );
}

if ( $reasons ) : ?>
    <div class="litespeed-callout notice notice-error inline">
        <h4><?php esc_html_e( 'WARNING', 'litespeed-cache' ); ?></h4>
        <p>
            <?php esc_html_e( 'LSCache caching functions on this page are currently unavailable!', 'litespeed-cache' ); ?>
        </p>
        <ul class="litespeed-list">
            <?php foreach ( $reasons as $reason ) : ?>
                <li>
                    <?php echo esc_html( $reason['title'] ); ?>
                    <a href="<?php echo esc_url( $reason['link'] ); ?>" target="_blank" class="litespeed-learn-more"><?php esc_html_e( 'Learn More', 'litespeed-cache' ); ?></a>
                </li>
            <?php endforeach; ?>
        </ul>
    </div>
<?php endif; ?>
PKg^�\�Zqϧ�.litespeed-cache/tpl/inc/show_rule_conflict.phpnu�[���<?php
/**
 * LiteSpeed Cache Unexpected Cache Rule Notice
 *
 * Displays a warning notice about conflicting cache rules in .htaccess that may cause stale content.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined('WPINC') || exit();

$err = sprintf(
	esc_html__(
		'Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)',
		'litespeed-cache'
	),
	'.htaccess',
	'<code>ExpiresDefault</code>',
	'<a href="https://docs.litespeedtech.com/lscache/lscwp/troubleshoot/#browser-displays-stale-content" target="_blank">',
	'</a>'
);

// Other plugin left cache expired rules in .htaccess which will cause conflicts
echo wp_kses_post( self::build_notice(self::NOTICE_YELLOW . ' lscwp-notice-ruleconflict', $err) );
PKh^�\�?R}RR#litespeed-cache/tpl/inc/metabox.phpnu�[���<?php
/**
 * LiteSpeed Cache Post Meta Settings
 *
 * Renders the post meta settings interface for LiteSpeed Cache, allowing configuration of post-specific options.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

wp_nonce_field( self::POST_NONCE_ACTION, Router::NONCE );

$pid = get_the_ID();

foreach ( $this->_postmeta_settings as $key => $label ) {
	$existing_val = get_post_meta( $pid, $key, true );

	if ( in_array( $key, array( 'litespeed_vpi_list', 'litespeed_vpi_list_mobile' ), true ) ) {
		if ( is_array( $existing_val ) ) {
			$existing_val = implode( PHP_EOL, $existing_val );
		}
		?>
		<div style="margin-bottom:10px;">
			<label for="<?php echo esc_attr( Str::trim_quotes( $key ) ); ?>"><?php echo esc_html( $label ); ?></label>
			<textarea style="width:100%" rows="5" id="<?php echo esc_attr( Str::trim_quotes( $key ) ); ?>" name="<?php echo esc_attr( Str::trim_quotes( $key ) ); ?>"><?php echo esc_textarea( $existing_val ); ?></textarea>
		</div>
		<?php
	} else {
		?>
		<div style="display:flex;margin-bottom:10px;align-items: center;gap: 2ch;justify-content: space-between;">
			<label for="<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $label ); ?></label>
			<input class="litespeed-tiny-toggle" id="<?php echo esc_attr( Str::trim_quotes( $key ) ); ?>" name="<?php echo esc_attr( Str::trim_quotes( $key ) ); ?>" type="checkbox" value="1" <?php echo $existing_val ? 'checked' : ''; ?> />
		</div>
		<?php
	}
}
?>

<div style="text-align:right;">
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/metabox/' ); ?>
</div>PKh^�\�1�	(litespeed-cache/tpl/inc/admin_footer.phpnu�[���<?php
/**
 * LiteSpeed Cache Admin Footer
 *
 * Customizes the admin footer text for LiteSpeed Cache with links to rate, documentation, support forum, and community.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$stars = '<span class="wporg-ratings rating-stars"><span class="dashicons dashicons-star-filled" style="color:#ffb900 !important;"></span><span class="dashicons dashicons-star-filled" style="color:#ffb900 !important;"></span><span class="dashicons dashicons-star-filled" style="color:#ffb900 !important;"></span><span class="dashicons dashicons-star-filled" style="color:#ffb900 !important;"></span><span class="dashicons dashicons-star-filled" style="color:#ffb900 !important;"></span></span>';

$rate_us = '<a href="https://wordpress.org/support/plugin/litespeed-cache/reviews/?filter=5#new-post" rel="noopener noreferrer" target="_blank">' . sprintf( esc_html__( 'Rate %1$s on %2$s', 'litespeed-cache' ), '<strong>' . esc_html__( 'LiteSpeed Cache', 'litespeed-cache' ) . $stars . '</strong>', 'WordPress.org' ) . '</a>';

$wiki = '<a href="https://docs.litespeedtech.com/lscache/lscwp/" target="_blank">' . esc_html__( 'Read LiteSpeed Documentation', 'litespeed-cache' ) . '</a>';

$forum = '<a href="https://wordpress.org/support/plugin/litespeed-cache" target="_blank">' . esc_html__( 'Visit LSCWP support forum', 'litespeed-cache' ) . '</a>';

$community = '<a href="https://litespeedtech.com/slack" target="_blank">' . esc_html__( 'Join LiteSpeed Slack community', 'litespeed-cache' ) . '</a>';

// Change the footer text
if ( ! is_multisite() || is_network_admin() ) {
	$footer_text = $rate_us . ' | ' . $wiki . ' | ' . $forum . ' | ' . $community;
} else {
	$footer_text = $wiki . ' | ' . $forum . ' | ' . $community;
}
PKi^�\���''.litespeed-cache/tpl/inc/modal.deactivation.phpnu�[���<?php
/**
 * LiteSpeed Cache Deactivation Modal
 *
 * Renders the deactivation modal interface for LiteSpeed Cache, allowing users to send reason of deactivation.
 *
 * @package LiteSpeed
 * @since 7.3
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

// Modal data
$_title = esc_html__('Deactivate LiteSpeed Cache', 'litespeed');
$_id    = 'litespeed-modal-deactivate';

$reasons = array(
	array(
		'value' => 'Temporary',
		'text' => esc_html__('The deactivation is temporary', 'litespeed-cache'),
		'id' => 'temp',
		'selected' => true,
	),
	array(
		'value' => 'Performance worse',
		'text' => esc_html__('Site performance is worse', 'litespeed-cache'),
		'id' => 'performance',
	),
	array(
		'value' => 'Plugin complicated',
		'text' => esc_html__('Plugin is too complicated', 'litespeed-cache'),
		'id' => 'complicated',
	),
	array(
		'value' => 'Other',
		'text' => esc_html__('Other', 'litespeed-cache'),
		'id' => 'other',
	),
);
?>
<div style="display: none">
    <div id="litespeed-deactivation" class="iziModal">
        <div id="litespeed-modal-deactivate">
            <form id="litespeed-deactivation-form" method="post">
                <p><?php esc_attr_e('Why are you deactivating the plugin?', 'litespeed-cache'); ?></p>
                <div class="deactivate-reason-wrapper">
                    <?php foreach ($reasons as $reason) : ?>
                    <label for="litespeed-deactivate-reason-<?php esc_attr_e( $reason['id'] ); ?>">
                        <input type="radio" id="litespeed-deactivate-reason-<?php esc_attr_e( $reason['id'] ); ?>" value="<?php esc_attr_e( $reason['value'] ); ?>"
                            <?php isset($reason['selected']) && $reason['selected'] ? ' checked="checked"' : ''; ?> name="litespeed-reason" />
                        <?php esc_html_e( $reason['text'] ); ?>
                    </label>
                    <?php endforeach; ?>
                </div>
                <div class="deactivate-clear-settings-wrapper">
                    <i style="font-size: 0.9em;">
                        <?php
                            esc_html_e('On uninstall, all plugin settings will be deleted.', 'litespeed-cache');
                        ?>
                    </i>
                    <br />
                    <i style="font-size: 0.9em;">

                        <?php
                            printf(
                                esc_html__('If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images.', 'litespeed-cache'),
                                '<a href="admin.php?page=litespeed-img_optm#litespeed-imageopt-destroy" target="_blank">',
                                '</a>'
                            );
                        ?>
                    </i>
                </div>
                <div class="deactivate-actions">
                    <input type="submit" id="litespeed-deactivation-form-submit" class="button button-primary" value="<?php esc_attr_e('Deactivate', 'litespeed-cache'); ?>" title="<?php esc_attr_e('Deactivate plugin', 'litespeed-cache'); ?>" />
                    <input type="button" id="litespeed-deactivation-form-cancel" class="button litespeed-btn-warning" value="<?php esc_attr_e('Cancel', 'litespeed-cache'); ?>" title="<?php esc_attr_e('Close popup', 'litespeed-cache'); ?>" />
                </div>
            </form>
        </div>
    </div>
</div>
<script>
    (function ($) {
    'use strict';
        jQuery(document).ready(function () {
            var lscId = '<?php echo home_url(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>';
            var modalesc_attr_element = $('#litespeed-deactivation');
            var deactivateesc_attr_element = $('#deactivate-litespeed-cache');

            if (deactivateesc_attr_element.length > 0 && modalesc_attr_element.length > 0) {
                // Variables
                var modal_formElement = $('#litespeed-deactivation-form');

                deactivateesc_attr_element.on('click', function (e) {
                    e.preventDefault();
                    e.stopImmediatePropagation();
                    modal_formElement.attr('action', decodeURI($(this).attr('href')));
                    modalesc_attr_element.iziModal({
                        radius: '.5rem',
                        width: 550,
                        autoOpen: true,
                    });
                });

                $(document).on('submit', '#litespeed-deactivation-form', function (e) {
                    e.preventDefault();
                    $('#litespeed-deactivation-form-submit').attr('disabled', true);
                    var container = $('#litespeed-deactivation-form');

                    // Save selected data
                    var data = {
                        id: lscId,
                        siteLink: window.location.hostname,
                        reason: $(container).find('[name=litespeed-reason]:checked').val()
                    };

                    $.ajax({
                        url: 'https://wpapi.quic.cloud/survey',
                        dataType: 'json',
                        method: 'POST',
                        cache: false,
                        data: data,
                        success: function (data) {
                            console.log('QC data sent.');
                        },
                        error: function (xhr, error) {
                            console.log('Error sending data to QC.');
                        },
                    });

                    $('#litespeed-deactivation-form')[0].submit();
                });
                $(document).on('click', '#litespeed-deactivation-form-cancel', function (e) {
                    modalesc_attr_element.iziModal('close');
                });
            }
        });
    })(jQuery);
</script>
PKi^�\[�p�(litespeed-cache/tpl/inc/in_upgrading.phpnu�[���<?php
/**
 * LiteSpeed Cache Upgrade Notice
 *
 * Displays a notice informing the user that the LiteSpeed Cache plugin has been upgraded and a page refresh is needed to complete the configuration data upgrade.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$message = esc_html__( 'LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade.', 'litespeed-cache' );

echo wp_kses_post( self::build_notice( self::NOTICE_BLUE, $message ) );
PKi^�\]HG0tt8litespeed-cache/tpl/inc/check_if_network_disable_all.phpnu�[���<?php
/**
 * LiteSpeed Cache Network Primary Site Configuration Warning
 *
 * Displays a warning notice on subsite admin pages when the network admin has enforced primary site configurations.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

if ( ! is_multisite() ) {
    return;
}

if ( get_current_blog_id() === BLOG_ID_CURRENT_SITE ) {
    return;
}

if ( ! $this->network_conf( Base::NETWORK_O_USE_PRIMARY ) ) {
    return;
}
?>
<div class="litespeed-callout notice notice-error inline">
    <h4><?php esc_html_e( 'WARNING', 'litespeed-cache' ); ?></h4>
    <p>
        <?php esc_html_e( 'The network admin selected use primary site configs for all subsites.', 'litespeed-cache' ); ?>
        <?php esc_html_e( 'The following options are selected, but are not editable in this settings page.', 'litespeed-cache' ); ?>
    </p>
</div>PKj^�\պ5��-litespeed-cache/tpl/inc/show_error_cookie.phpnu�[���<?php
/**
 * LiteSpeed Cache Database Login Cookie Notice
 *
 * Displays a notice about mismatched login cookies for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined('WPINC') || exit();

$err =
	esc_html__('NOTICE: Database login cookie did not match your login cookie.', 'litespeed-cache') .
	' ' .
	esc_html__('If the login cookie was recently changed in the settings, please log out and back in.', 'litespeed-cache') .
	' ' .
	sprintf(
		esc_html__('If not, please verify the setting in the %sAdvanced tab%s.', 'litespeed-cache'),
		"<a href='" . esc_url(admin_url('admin.php?page=litespeed-cache#advanced')) . '">',
		'</a>'
	);

if (LITESPEED_SERVER_TYPE === 'LITESPEED_SERVER_OLS') {
	$err .= ' ' . esc_html__('If using OpenLiteSpeed, the server must be restarted once for the changes to take effect.', 'litespeed-cache');
}

self::add_notice(self::NOTICE_YELLOW, $err);
PKj^�\�D	6��2litespeed-cache/tpl/inc/show_display_installed.phpnu�[���<?php
/**
 * LiteSpeed Cache Installation Notice
 *
 * Displays a notice informing users that the LiteSpeed Cache plugin was installed by the server admin.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$buf  = sprintf(
	'<h3>%s</h3>
	<p>%s</p>
	<p>%s</p>
	<p>%s</p>
	<p>%s</p>
	<p>%s</p>
	<ul>
		<li>%s</li>
		<li>%s</li>
	</ul>',
	esc_html__( 'LiteSpeed Cache plugin is installed!', 'litespeed-cache' ),
	esc_html__( 'This message indicates that the plugin was installed by the server admin.', 'litespeed-cache' ),
	esc_html__( 'The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site.', 'litespeed-cache' ),
	esc_html__( 'However, there is no way of knowing all the possible customizations that were implemented.', 'litespeed-cache' ),
	esc_html__( 'For that reason, please test the site to make sure everything still functions properly.', 'litespeed-cache' ),
	esc_html__( 'Examples of test cases include:', 'litespeed-cache' ),
	esc_html__( 'Visit the site while logged out.', 'litespeed-cache' ),
	esc_html__( 'Create a post, make sure the front page is accurate.', 'litespeed-cache' )
);
$buf .= sprintf(
	/* translators: %s: Link tags */
	esc_html__( 'If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s.', 'litespeed-cache' ),
	'<a href="https://wordpress.org/support/plugin/litespeed-cache" rel="noopener noreferrer" target="_blank">',
	'</a>'
);
$buf .= '<p>' . esc_html__( 'If you would rather not move at litespeed, you can deactivate this plugin.', 'litespeed-cache' ) . '</p>';

self::add_notice( self::NOTICE_BLUE . ' lscwp-whm-notice', $buf );
PKk^�\�[����,litespeed-cache/tpl/db_optm/settings.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Database Optimization Settings
 *
 * Manages settings for database optimization in LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$this->form_action();
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'DB Optimization Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/database/#db-optimization-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table"><tbody>
	<tr>
		<th>
			<?php $option_id = Base::O_DB_OPTM_REVISIONS_MAX; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Specify the number of most recent revisions to keep when cleaning revisions.', 'litespeed-cache' ); ?>
				<?php $this->_validate_ttl( $option_id, 1, 100, true ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_DB_OPTM_REVISIONS_AGE; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?> <?php esc_html_e( 'Day(s)', 'litespeed-cache' ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Revisions newer than this many days will be kept when cleaning revisions.', 'litespeed-cache' ); ?>
				<?php $this->_validate_ttl( $option_id, 1, 600, true ); ?>
			</div>
		</td>
	</tr>

</tbody></table>

<?php
$this->form_end();
?>PKk^�\�@)�) ) *litespeed-cache/tpl/db_optm/manage.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Database Optimization
 *
 * Manages database optimization options and displays table engine conversion tools.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$_panels = array(
    'all' => array(
        'title' => esc_html__( 'Clean All', 'litespeed-cache' ),
        'desc'  => '',
    ),
    'revision' => array(
        'title' => esc_html__( 'Post Revisions', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Clean all post revisions', 'litespeed-cache' ),
    ),
    'orphaned_post_meta' => array(
        'title' => esc_html__( 'Orphaned Post Meta', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Clean all orphaned post meta records', 'litespeed-cache' ),
    ),
    'auto_draft' => array(
        'title' => esc_html__( 'Auto Drafts', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Clean all auto saved drafts', 'litespeed-cache' ),
    ),
    'trash_post' => array(
        'title' => esc_html__( 'Trashed Posts', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Clean all trashed posts and pages', 'litespeed-cache' ),
    ),
    'spam_comment' => array(
        'title' => esc_html__( 'Spam Comments', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Clean all spam comments', 'litespeed-cache' ),
    ),
    'trash_comment' => array(
        'title' => esc_html__( 'Trashed Comments', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Clean all trashed comments', 'litespeed-cache' ),
    ),
    'trackback-pingback' => array(
        'title' => esc_html__( 'Trackbacks/Pingbacks', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Clean all trackbacks and pingbacks', 'litespeed-cache' ),
    ),
    'expired_transient' => array(
        'title' => esc_html__( 'Expired Transients', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Clean expired transient options', 'litespeed-cache' ),
    ),
    'all_transients' => array(
        'title' => esc_html__( 'All Transients', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Clean all transient options', 'litespeed-cache' ),
    ),
    'optimize_tables' => array(
        'title' => esc_html__( 'Optimize Tables', 'litespeed-cache' ),
        'desc'  => esc_html__( 'Optimize all tables in your database', 'litespeed-cache' ),
    ),
);

$rev_max = $this->conf( Base::O_DB_OPTM_REVISIONS_MAX );
$rev_age = $this->conf( Base::O_DB_OPTM_REVISIONS_AGE );
if ( $rev_max || $rev_age ) {
    $_panels['revision']['desc'] = sprintf(
		esc_html__( 'Clean revisions older than %1$s day(s), excluding %2$s latest revisions', 'litespeed-cache' ),
		'<strong>' . esc_html( $rev_age ) . '</strong>',
		'<strong>' . esc_html( $rev_max ) . '</strong>'
	);
}

$total = 0;
foreach ( $_panels as $key => $v ) {
    if ( 'all' !== $key ) {
        $_panels[ $key ]['count'] = $this->cls( 'DB_Optm' )->db_count( $key );
        if ( ! in_array( $key, array( 'optimize_tables' ), true ) ) {
            $total += $_panels[ $key ]['count'];
        }
    }
    $_panels[ $key ]['link'] = Utility::build_url( Router::ACTION_DB_OPTM, $key );
}

$_panels['all']['count'] = $total;

$autoload_summary = DB_Optm::cls()->autoload_summary();

?>

<h3 class="litespeed-title">
    <?php esc_html_e( 'Database Optimizer', 'litespeed-cache' ); ?>
    <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/database/' ); ?>
</h3>

<div class="litespeed-panel-wrapper litespeed-cards-wrapper">

    <?php foreach ( $_panels as $key => $v ) : ?>
        <a href="<?php echo esc_url( $v['link'] ); ?>" class="litespeed-panel postbox">
            <section class="litespeed-panel-wrapper-icon">
                <span class="litespeed-panel-icon-<?php echo esc_attr( $key ); ?>"></span>
            </section>
            <section class="litespeed-panel-content">
                <div class="litespeed-h3">
                    <?php echo esc_html( $v['title'] ); ?>
                    <span class="litespeed-panel-counter<?php echo $v['count'] > 0 ? '-red' : ''; ?>">(<?php echo esc_html( $v['count'] ); ?><?php echo DB_Optm::hide_more() ? '+' : ''; ?>)</span>
                </div>
                <span class="litespeed-panel-para"><?php echo wp_kses_post( $v['desc'] ); ?></span>
            </section>
            <section class="litespeed-panel-wrapper-top-right">
                <span class="litespeed-panel-top-right-icon<?php echo $v['count'] > 0 ? '-cross' : '-tick'; ?>"></span>
            </section>
        </a>
    <?php endforeach; ?>

</div>

<h3 class="litespeed-title"><?php esc_html_e( 'Database Table Engine Converter', 'litespeed-cache' ); ?></h3>

<div class="litespeed-panel-wrapper">

    <table class="wp-list-table widefat striped">
        <thead>
            <tr>
                <th scope="col">#</th>
                <th scope="col"><?php esc_html_e( 'Table', 'litespeed-cache' ); ?></th>
                <th scope="col"><?php esc_html_e( 'Engine', 'litespeed-cache' ); ?></th>
                <th scope="col"><?php esc_html_e( 'Tool', 'litespeed-cache' ); ?></th>
            </tr>
        </thead>
        <tbody>
            <?php
            $list = DB_Optm::cls()->list_myisam();
            if ( ! empty( $list ) ) :
                foreach ( $list as $k => $v ) :
                    ?>
                    <tr>
                        <td><?php echo esc_html( $k + 1 ); ?></td>
                        <td><?php echo esc_html( $v->table_name ); ?></td>
                        <td><?php echo esc_html( $v->engine ); ?></td>
                        <td>
                            <a href="<?php echo esc_url( Utility::build_url( Router::ACTION_DB_OPTM, DB_Optm::TYPE_CONV_TB, false, false, array( 'litespeed_tb' => $v->table_name ) ) ); ?>">
                                <?php esc_html_e( 'Convert to InnoDB', 'litespeed-cache' ); ?>
                            </a>
                        </td>
                    </tr>
                <?php endforeach; ?>
            <?php else : ?>
                <tr>
                    <td colspan="4" class="litespeed-success litespeed-text-center">
                        <?php esc_html_e( 'We are good. No table uses MyISAM engine.', 'litespeed-cache' ); ?>
                    </td>
                </tr>
            <?php endif; ?>
        </tbody>
    </table>

</div>

<style type="text/css">
    .litespeed-body .field-col {
        display: inline-block;
        vertical-align: top;
        margin-left: 20px;
        margin-right: 20px;
    }

    .litespeed-body .field-col:first-child {
        margin-left: 0;
    }
</style>

<h3 class="litespeed-title"><?php esc_html_e( 'Database Summary', 'litespeed-cache' ); ?></h3>
<div>
    <div class="field-col">
        <p>
        	<?php esc_html_e( 'Autoload size', 'litespeed-cache' ); ?>: <strong><?php echo esc_html( Utility::real_size( $autoload_summary->autoload_size ) ); ?></strong></p>
        <p><?php esc_html_e( 'Autoload entries', 'litespeed-cache' ); ?>: <strong><?php echo esc_html( $autoload_summary->autload_entries ); ?></strong></p>
    </div>

    <div class="field-col">
        <p><?php esc_html_e( 'Autoload top list', 'litespeed-cache' ); ?>:</p>
        <table class="wp-list-table widefat striped litespeed-width-auto litespeed-table-compact">
            <thead>
                <tr>
                    <th scope="col">#</th>
                    <th scope="col"><?php esc_html_e( 'Option Name', 'litespeed-cache' ); ?></th>
                    <th scope="col"><?php esc_html_e( 'Autoload', 'litespeed-cache' ); ?></th>
                    <th scope="col"><?php esc_html_e( 'Size', 'litespeed-cache' ); ?></th>
                </tr>
            </thead>
            <tbody>
                <?php foreach ( $autoload_summary->autoload_toplist as $k => $v ) : ?>
                    <tr>
                        <td><?php echo esc_html( $k + 1 ); ?></td>
                        <td><?php echo esc_html( $v->option_name ); ?></td>
                        <td><?php echo esc_html( $v->autoload ); ?></td>
                        <td><?php echo esc_html( $v->option_value_length ); ?></td>
                    </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </div>
</div>PKl^�\2t�G$$)litespeed-cache/tpl/db_optm/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Database Optimization
 *
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = array(
    'manage'   => esc_html__( 'Manage', 'litespeed-cache' ),
);

if ( ! is_network_admin() ) {
    $menu_list['settings'] = esc_html__( 'DB Optimization Settings', 'litespeed-cache' );
}

?>

<div class="wrap">
    <h1 class="litespeed-h1">
        <?php esc_html_e( 'LiteSpeed Cache Database Optimization', 'litespeed-cache' ); ?>
    </h1>
    <span class="litespeed-desc">
        <?php echo esc_html( 'v' . Core::VER ); ?>
    </span>
    <hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
    <h2 class="litespeed-header nav-tab-wrapper">
        <?php GUI::display_tab_list( $menu_list ); ?>
    </h2>

    <div class="litespeed-body">
    <?php
        foreach ( $menu_list as $tab_key => $tab_val ) {
			echo '<div data-litespeed-layout="' . esc_attr( $tab_key ) . '">';
			require LSCWP_DIR . 'tpl/db_optm/' . $tab_key . '.tpl.php';
			echo '</div>';
        }
    ?>
    </div>

</div>PKl^�\�@��  8litespeed-cache/tpl/img_optm/settings.media_webp.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Image Optimization WebP/AVIF Setting
 *
 * Manages the WebP and AVIF optimization settings for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<tr>
	<th>
		<?php $option_id = Base::O_IMG_OPTM_WEBP; ?>
		<?php $this->title( $option_id ); ?>
	</th>
	<td>
		<?php $this->build_switch( $option_id, array( esc_html__( 'OFF', 'litespeed-cache' ), 'WebP', 'AVIF' ) ); ?>
		<?php Doc::maybe_on_by_gm( $option_id ); ?>
		<div class="litespeed-desc">
			<?php esc_html_e( 'Request WebP/AVIF versions of original images when doing optimization.', 'litespeed-cache' ); ?>
			<?php printf( esc_html__( 'Significantly improve load time by replacing images with their optimized %s versions.', 'litespeed-cache' ), '.webp/.avif' ); ?>
			<br /><?php Doc::notice_htaccess(); ?>
			<br /><?php Doc::crawler_affected(); ?>
			<br />
			<font class="litespeed-warning">
				⚠️ <?php printf( esc_html__( '%1$s is a %2$s paid feature.', 'litespeed-cache' ), 'AVIF', 'QUIC.cloud' ); ?></font>
			<br />
			<font class="litespeed-warning">
				⚠️ <?php printf( esc_html__( 'When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images.', 'litespeed-cache' ), esc_html__( 'Destroy All Optimization Data', 'litespeed-cache' ), esc_html__( 'Soft Reset Optimization Counter', 'litespeed-cache' ) ); ?></font>
			<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/imageopt/#soft-reset-optimization-counter' ); ?>
		</div>
	</td>
</tr>PKm^�\g�m@@-litespeed-cache/tpl/img_optm/settings.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Image Optimization Settings
 *
 * Manages image optimization settings for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$this->form_action();
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Image Optimization Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/imageopt/#image-optimization-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>

		<tr>
			<th>
				<?php $option_id = Base::O_IMG_OPTM_AUTO; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Automatically request optimization via cron job.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_IMG_OPTM_ORI; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Optimize images and save backups of the originals in the same folder.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_IMG_OPTM_RM_BKUP; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Automatically remove the original image backups after fetching optimized images.', 'litespeed-cache' ); ?>

					<br />
					<font class="litespeed-danger">
						🚨
						<?php esc_html_e( 'This is irreversible.', 'litespeed-cache' ); ?>
						<?php esc_html_e( 'You will be unable to Revert Optimization once the backups are deleted!', 'litespeed-cache' ); ?>
					</font>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_IMG_OPTM_LOSSLESS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Optimize images using lossless compression.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This can improve quality but may result in larger images than lossy compression will.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php
					$option_id    = Base::O_IMG_OPTM_SIZES_SKIPPED;
					$image_sizes  = Utility::prepare_image_sizes_array(true);
					$option_value = $this->conf( $option_id );
				?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php if ( count($image_sizes) > 0 ) : ?>
					<?php
						foreach ( $image_sizes as $current_size ) {
							$checked = false === array_search( $current_size['file_size'], $option_value, true );
							$this->build_checkbox( $option_id . '[]', esc_html( $current_size['label'] ), $checked, $current_size['file_size'] );
						}
					?>
				<?php else : ?>
					<p><?php esc_html_e( 'No sizes found.', 'litespeed-cache' ); ?></p>
				<?php endif; ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Choose which image sizes to optimize.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_IMG_OPTM_EXIF; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This will increase the size of optimized files.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<?php
		if ( ! is_multisite() ) :
			// webp
			require LSCWP_DIR . 'tpl/img_optm/settings.media_webp.tpl.php';
		endif;
		?>

		<tr>
			<th>
				<?php $option_id = Base::O_IMG_OPTM_WEBP_ATTR; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<div class="litespeed-textarea-recommended">
					<div>
						<?php $this->build_textarea( $option_id, 40 ); ?>
					</div>
					<div>
						<?php $this->recommended( $option_id ); ?>
					</div>
				</div>

				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify which element attributes will be replaced with WebP/AVIF.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'Only attributes listed here will be replaced.', 'litespeed-cache' ); ?>
					<br /><?php printf( esc_html__( 'Use the format %1$s or %2$s (element is optional).', 'litespeed-cache' ), '<code>element.attribute</code>', '<code>.attribute</code>' ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_IMG_OPTM_WEBP_REPLACE_SRCSET; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic.', 'litespeed-cache' ), '<code>srcset</code>' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/imageopt/#webpavif-for-extra-srcset' ); ?>
				</div>
			</td>
		</tr>

	</tbody>
</table>

<?php
$this->form_end();
PKm^�\�q�K�K,litespeed-cache/tpl/img_optm/summary.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Image Optimization Summary
 *
 * Manages the image optimization summary interface for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$closest_server = Cloud::get_summary( 'server.' . Cloud::SVC_IMG_OPTM );
$usage_cloud    = Cloud::get_summary( 'usage.' . Cloud::SVC_IMG_OPTM );
$allowance      = Cloud::cls()->allowance( Cloud::SVC_IMG_OPTM );

$img_optm = Img_Optm::cls();

$wet_limit = $img_optm->wet_limit();
$img_count = $img_optm->img_count();

$optm_summary = Img_Optm::get_summary();

list($last_run, $is_running) = $img_optm->cron_running( false );
$finished_percentage         = 0;
if ( $img_count['groups_all'] ) {
	$finished_percentage = 100 - floor( $img_count['groups_new'] * 100 / $img_count['groups_all'] );
}
if ( 100 === $finished_percentage && $img_count['groups_new'] ) {
	$finished_percentage = 99;
}

$unfinished_num = 0;
if ( ! empty( $img_count[ 'img.' . Img_Optm::STATUS_REQUESTED ] ) ) {
	$unfinished_num += $img_count[ 'img.' . Img_Optm::STATUS_REQUESTED ];
}
if ( ! empty( $img_count[ 'img.' . Img_Optm::STATUS_NOTIFIED ] ) ) {
	$unfinished_num += $img_count[ 'img.' . Img_Optm::STATUS_NOTIFIED ];
}
if ( ! empty( $img_count[ 'img.' . Img_Optm::STATUS_ERR_FETCH ] ) ) {
	$unfinished_num += $img_count[ 'img.' . Img_Optm::STATUS_ERR_FETCH ];
}

$imgoptm_service_hot = $this->cls( 'Cloud' )->service_hot( Cloud::SVC_IMG_OPTM . '-' . Img_Optm::CLOUD_ACTION_NEW_REQ );
?>
<div class="litespeed-flex-container litespeed-column-with-boxes">
	<div class="litespeed-width-7-10 litespeed-column-left litespeed-image-optim-summary-wrapper">
		<div class="litespeed-image-optim-summary">

			<h3>
				<?php if ( $closest_server ) : ?>
					<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_IMG_OPTM ) ) ); ?>" class="litespeed-info-button litespeed-redetect" data-balloon-pos="right" data-balloon-break aria-label="<?php printf( esc_html__( 'Current closest Cloud server is %s. Click to redetect.', 'litespeed-cache' ), esc_html( $closest_server ) ); ?>" data-litespeed-cfm="<?php esc_html_e( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ); ?>"><span class="litespeed-quic-icon"></span> <?php esc_html_e( 'Redetect', 'litespeed-cache' ); ?></a>
				<?php else : ?>
					<span class="litespeed-quic-icon"></span> <?php esc_html_e( 'Redetect', 'litespeed-cache' ); ?>
				<?php endif; ?>
				<?php esc_html_e( 'Optimize images with our QUIC.cloud server', 'litespeed-cache' ); ?>
				<a href="https://docs.litespeedtech.com/lscache/lscwp/imageopt/#image-optimization-summary-tab" target="_blank" class="litespeed-right litespeed-learn-more"><?php esc_html_e( 'Learn More', 'litespeed-cache' ); ?></a>
			</h3>

			<p>
				<?php printf( esc_html__( 'You can request a maximum of %s images at once.', 'litespeed-cache' ), '<strong>' . intval( $allowance ) . '</strong>' ); ?>
			</p>

			<?php if ( $wet_limit ) : ?>
				<p class="litespeed-desc">
					<?php esc_html_e( 'To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited.', 'litespeed-cache' ); ?>
					<?php echo esc_html__( 'Current limit is', 'litespeed-cache' ) . ': <strong>' . esc_html( $wet_limit ) . '</strong>'; ?>
				</p>
			<?php endif; ?>

			<div class="litespeed-img-optim-actions">
				<?php if ( $imgoptm_service_hot ) : ?>
					<button class="button button-secondary" disabled>
						<span class="dashicons dashicons-images-alt2"></span> <?php esc_html_e( 'Send Optimization Request', 'litespeed-cache' ); ?>
						- <?php printf( esc_html__( 'Available after %d second(s)', 'litespeed-cache' ), esc_html( $imgoptm_service_hot ) ); ?>
					</button>
				<?php else : ?>
					<a data-litespeed-onlyonce class="button button-primary"
					<?php
					if ( ! empty( $img_count['groups_new'] ) || ! empty( $img_count[ 'group.' . Img_Optm::STATUS_RAW ] ) ) :
						?>
						href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_NEW_REQ ) ); ?>"
						<?php
					else :
						?>
						href="javascript:;" disabled <?php endif; ?>>
						<span class="dashicons dashicons-images-alt2"></span> <?php esc_html_e( 'Send Optimization Request', 'litespeed-cache' ); ?>
					</a>
				<?php endif; ?>

				<a data-litespeed-onlyonce class="button button-secondary" data-balloon-length="large" data-balloon-pos="right" aria-label="<?php esc_html_e( 'Only press the button if the pull cron job is disabled.', 'litespeed-cache' ); ?> <?php esc_html_e( 'Images will be pulled automatically if the cron job is running.', 'litespeed-cache' ); ?>"
					<?php
					if ( ! empty( $img_count[ 'img.' . Img_Optm::STATUS_NOTIFIED ] ) && ! $is_running ) :
						?>
						href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_PULL ) ); ?>"
						<?php
					else :
						?>
						href="javascript:;" disabled <?php endif; ?>>
					<?php esc_html_e( 'Pull Images', 'litespeed-cache' ); ?>
				</a>
			</div>

			<div>
				<h3 class="litespeed-title-section">
					<?php esc_html_e( 'Optimization Status', 'litespeed-cache' ); ?>
				</h3>

				<div class="litespeed-light-code">

					<?php if ( ! empty( $img_count[ 'group.' . Img_Optm::STATUS_NEW ] ) ) : ?>
						<p class="litespeed-success">
							<?php echo esc_html( Lang::img_status( Img_Optm::STATUS_NEW ) ); ?>:
							<code>
								<?php echo esc_html( Admin_Display::print_plural( $img_count['group_new'] ) ); ?>
							</code>
						</p>
					<?php endif; ?>

					<?php if ( ! empty( $img_count[ 'group.' . Img_Optm::STATUS_RAW ] ) ) : ?>
						<p class="litespeed-success">
							<?php echo esc_html( Lang::img_status( Img_Optm::STATUS_RAW ) ); ?>:
							<code>
								<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'group.' . Img_Optm::STATUS_RAW ] ) ); ?>
								(<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'img.' . Img_Optm::STATUS_RAW ], 'image' ) ); ?>)
							</code>
						</p>
					<?php endif; ?>

					<?php if ( ! empty( $img_count[ 'group.' . Img_Optm::STATUS_REQUESTED ] ) ) : ?>
						<p class="litespeed-success">
							<?php echo esc_html( Lang::img_status( Img_Optm::STATUS_REQUESTED ) ); ?>:
							<code>
								<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'group.' . Img_Optm::STATUS_REQUESTED ] ) ); ?>
								(<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'img.' . Img_Optm::STATUS_REQUESTED ], 'image' ) ); ?>)
							</code>
						</p>
						<p class="litespeed-desc">
							<?php esc_html_e( 'After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images.', 'litespeed-cache' ); ?>
							<?php esc_html_e( 'This process is automatic.', 'litespeed-cache' ); ?>
						</p>
					<?php endif; ?>

					<?php if ( ! empty( $img_count[ 'group.' . Img_Optm::STATUS_NOTIFIED ] ) ) : ?>
						<p class="litespeed-success">
							<?php echo esc_html( Lang::img_status( Img_Optm::STATUS_NOTIFIED ) ); ?>:
							<code>
								<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'group.' . Img_Optm::STATUS_NOTIFIED ] ) ); ?>
								(<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'img.' . Img_Optm::STATUS_NOTIFIED ], 'image' ) ); ?>)
							</code>
						</p>
						<?php if ( $last_run ) : ?>
							<p class="litespeed-desc">
								<?php printf( esc_html__( 'Last pull initiated by cron at %s.', 'litespeed-cache' ), '<code>' . esc_html( Utility::readable_time( $last_run ) ) . '</code>' ); ?>
							</p>
						<?php endif; ?>
					<?php endif; ?>

					<?php if ( ! empty( $img_count[ 'group.' . Img_Optm::STATUS_PULLED ] ) ) : ?>
						<p class="litespeed-success">
							<?php echo esc_html( Lang::img_status( Img_Optm::STATUS_PULLED ) ); ?>:
							<code>
								<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'group.' . Img_Optm::STATUS_PULLED ] ) ); ?>
								(<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'img.' . Img_Optm::STATUS_PULLED ], 'image' ) ); ?>)
							</code>
						</p>
					<?php endif; ?>

					<p>
					<?php
					printf(
						'<a href="%1$s" class="button button-secondary litespeed-btn-warning" data-balloon-pos="right" aria-label="%2$s" %3$s><span class="dashicons dashicons-editor-removeformatting"></span> %4$s</a>',
						( $unfinished_num ? esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_CLEAN ) ) : 'javascript:;' ),
						esc_html__( 'Remove all previous unfinished image optimization requests.', 'litespeed-cache' ),
						( $unfinished_num ? '' : ' disabled' ),
						esc_html__( 'Clean Up Unfinished Data', 'litespeed-cache' ) . ( $unfinished_num ? ': ' . esc_html( Admin_Display::print_plural( $unfinished_num, 'image' ) ) : '' )
					);
					?>
					</p>

					<h3 class="litespeed-title-section">
						<?php esc_html_e( 'Storage Optimization', 'litespeed-cache' ); ?>
					</h3>

					<p>
						<?php esc_html_e( 'A backup of each image is saved before it is optimized.', 'litespeed-cache' ); ?>
					</p>

					<?php if ( ! empty( $optm_summary['bk_summary'] ) ) : ?>
						<div>
							<p>
								<?php echo esc_html__( 'Last calculated', 'litespeed-cache' ) . ': <code>' . esc_html( Utility::readable_time( $optm_summary['bk_summary']['date'] ) ) . '</code>'; ?>
							</p>
							<?php if ( $optm_summary['bk_summary']['count'] ) : ?>
								<p>
									<?php echo esc_html__( 'Files', 'litespeed-cache' ) . ': <code>' . intval( $optm_summary['bk_summary']['count'] ) . '</code>'; ?>
								</p>
								<p>
									<?php echo esc_html__( 'Total', 'litespeed-cache' ) . ': <code>' . esc_html( Utility::real_size( $optm_summary['bk_summary']['sum'] ) ) . '</code>'; ?>
								</p>
							<?php endif; ?>
						</div>
					<?php endif; ?>

					<div>
						<a class="button button-secondary" data-balloon-pos="up" aria-label="<?php esc_html_e( 'Calculate Original Image Storage', 'litespeed-cache' ); ?>"
							<?php
							if ( $finished_percentage > 0 ) :
								?>
							href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_CALC_BKUP ) ); ?>"
							<?php
							else :
								?>
							href="javascript:;" disabled <?php endif; ?>>
							<span class="dashicons dashicons-update"></span> <?php esc_html_e( 'Calculate Backups Disk Space', 'litespeed-cache' ); ?>
						</a>
					</div>

				</div>

				<div>
					<h4><?php esc_html_e( 'Image Thumbnail Group Sizes', 'litespeed-cache' ); ?></h4>
					<div class="litespeed-desc litespeed-left20">
						<?php
						foreach ( Media::cls()->get_image_sizes() as $size_title => $size ) {
							printf(
								'<div>%1$s ( %2$s x %3$s )</div>',
								esc_html( $size_title ),
								$size['width'] ? esc_html( $size['width'] ) . 'px' : '*',
								$size['height'] ? esc_html( $size['height'] ) . 'px' : '*'
							);
						}
						?>
					</div>
				</div>

				<hr class="litespeed-hr-with-space">
				<div>
					<h4><?php esc_html_e( 'Delete all backups of the original images', 'litespeed-cache' ); ?></h4>
					<div class="notice notice-error litespeed-callout-bg inline">
						<p>
							🚨 <?php esc_html_e( 'This is irreversible.', 'litespeed-cache' ); ?>
							<?php esc_html_e( 'You will be unable to Revert Optimization once the backups are deleted!', 'litespeed-cache' ); ?>
						</p>
					</div>
				</div>

				<?php if ( ! empty( $optm_summary['rmbk_summary'] ) ) : ?>
					<div>
						<p>
							<?php echo esc_html__( 'Last ran', 'litespeed-cache' ) . ': <code>' . esc_html( Utility::readable_time( $optm_summary['rmbk_summary']['date'] ) ) . '</code>'; ?>
						</p>
						<p>
							<?php echo esc_html__( 'Files', 'litespeed-cache' ) . ': <code>' . esc_html( $optm_summary['rmbk_summary']['count'] ) . '</code>'; ?>
						</p>
						<p>
							<?php echo esc_html__( 'Saved', 'litespeed-cache' ) . ': <code>' . esc_html( Utility::real_size( $optm_summary['rmbk_summary']['sum'] ) ) . '</code>'; ?>
						</p>
					</div>
				<?php endif; ?>
				<div class="litespeed-image-optim-summary-footer">
					<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_RM_BKUP ) ); ?>" data-litespeed-cfm="<?php esc_html_e( 'Are you sure you want to remove all image backups?', 'litespeed-cache' ); ?>" class="litespeed-link-with-icon litespeed-danger">
						<span class="dashicons dashicons-trash"></span><?php esc_html_e( 'Remove Original Image Backups', 'litespeed-cache' ); ?>
					</a>
				</div>
			</div>
		</div>
	</div>

	<div class="litespeed-width-3-10 litespeed-column-right">
		<div class="postbox litespeed-postbox litespeed-postbox-imgopt-info">
			<div class="inside">
				<h3 class="litespeed-title">
					<?php esc_html_e( 'Image Information', 'litespeed-cache' ); ?>
				</h3>

				<div class="litespeed-flex-container">
					<div class="litespeed-icon-vertical-middle">
						<?php echo wp_kses( GUI::pie( $finished_percentage, 70, true ), GUI::allowed_svg_tags() ); ?>
					</div>
					<div>
						<p>
							<?php esc_html_e( 'Image groups total', 'litespeed-cache' ); ?>:
							<?php if ( $img_count['groups_new'] ) : ?>
								<code><?php echo esc_html( Admin_Display::print_plural( $img_count['groups_new'], 'group' ) ); ?></code>
							<?php else : ?>
								<font class="litespeed-congratulate"><?php esc_html_e( 'Congratulations, all gathered!', 'litespeed-cache' ); ?></font>
							<?php endif; ?>
							<a href="https://docs.litespeedtech.com/lscache/lscwp/imageopt/#what-is-an-image-group" target="_blank" class="litespeed-desc litespeed-help-btn-icon" data-balloon-pos="up" aria-label="<?php esc_html_e( 'What is a group?', 'litespeed-cache' ); ?>">
								<span class="dashicons dashicons-editor-help"></span>
								<span class="screen-reader-text"><?php esc_html_e( 'What is an image group?', 'litespeed-cache' ); ?></span>
							</a>
						</p>
						<p>
							<?php esc_html_e( 'Current image post id position', 'litespeed-cache' ); ?>: <?php echo ! empty( $optm_summary['next_post_id'] ) ? esc_html( $optm_summary['next_post_id'] ) : '-'; ?><br>
							<?php esc_html_e( 'Maximum image post id', 'litespeed-cache' ); ?>: <?php echo esc_html( $img_count['max_id'] ); ?>
						</p>
					</div>
				</div>
			</div>
			<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact" style="display: none;">
				<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_RESCAN ) ); ?>" class="" data-balloon-pos="up" data-balloon-length="large" aria-label="<?php esc_html_e( 'Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests.', 'litespeed-cache' ); ?>">
					<?php esc_html_e( 'Rescan New Thumbnails', 'litespeed-cache' ); ?>
				</a>
			</div>
		</div>

		<div class="postbox litespeed-postbox">
			<div class="inside">
				<h3 class="litespeed-title">
					<?php esc_html_e( 'Optimization Summary', 'litespeed-cache' ); ?>
				</h3>
				<p>
					<?php esc_html_e( 'Total Reduction', 'litespeed-cache' ); ?>: <code><?php echo isset( $optm_summary['reduced'] ) ? esc_html( Utility::real_size( $optm_summary['reduced'] ) ) : '-'; ?></code>
				</p>
				<p>
					<?php esc_html_e( 'Images Pulled', 'litespeed-cache' ); ?>: <code><?php echo isset( $optm_summary['img_taken'] ) ? esc_html( $optm_summary['img_taken'] ) : '-'; ?></code>
				</p>
				<p>
					<?php esc_html_e( 'Last Request', 'litespeed-cache' ); ?>: <code><?php echo isset( $optm_summary['last_requested'] ) ? esc_html( Utility::readable_time( $optm_summary['last_requested'] ) ) : '-'; ?></code>
				</p>
				<p>
					<?php esc_html_e( 'Last Pulled', 'litespeed-cache' ); ?>: <code><?php echo isset( $optm_summary['last_pulled'] ) ? esc_html( Utility::readable_time( $optm_summary['last_pulled'] ) ) : '-'; ?></code>
					<?php
					if ( isset( $optm_summary['last_pulled_by_cron'] ) && $optm_summary['last_pulled_by_cron'] ) {
						echo '(Cron)';
					}
					?>
				</p>
			</div>
			<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact litespeed-desc">
				<?php
				printf(
					/* translators: %s: Link tags */
					esc_html__( 'Results can be checked in %sMedia Library%s.', 'litespeed-cache' ),
					'<a href="upload.php?mode=list">',
					'</a>'
				);
				?>
			</div>
		</div>

		<div class="postbox litespeed-postbox">
			<div class="inside">
				<h3 class="litespeed-title"><?php esc_html_e( 'Optimization Tools', 'litespeed-cache' ); ?></h3>

				<p>
					<?php esc_html_e( 'You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available.', 'litespeed-cache' ); ?>
				</p>

				<div class="litespeed-links-group">
					<span>
						<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_BATCH_SWITCH_ORI ) ); ?>" class="litespeed-link-with-icon" data-balloon-pos="up" aria-label="<?php esc_html_e( 'Use original images (unoptimized) on your site', 'litespeed-cache' ); ?>">
							<span class="dashicons dashicons-undo"></span><?php esc_html_e( 'Use Original Files', 'litespeed-cache' ); ?>
						</a>
					</span><span>
						<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_BATCH_SWITCH_OPTM ) ); ?>" class="litespeed-link-with-icon litespeed-icon-right" data-balloon-pos="up" aria-label="<?php esc_html_e( 'Switch back to using optimized images on your site', 'litespeed-cache' ); ?>">
							<?php esc_html_e( 'Use Optimized Files', 'litespeed-cache' ); ?><span class="dashicons dashicons-redo"></span>
						</a>
					</span>
				</div>
			</div>
			<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact">
				<p>
					<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_RESET_COUNTER ) ); ?>" class="litespeed-link-with-icon litespeed-warning">
						<span class="dashicons dashicons-dismiss"></span><?php esc_html_e( 'Soft Reset Optimization Counter', 'litespeed-cache' ); ?>
					</a>
				</p>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action.', 'litespeed-cache' ), '<code>' . esc_html__( 'Current image post id position', 'litespeed-cache' ) . '</code>', 'WebP/AVIF' ); ?>
				</div>
			</div>
			<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact">
				<p>
					<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_DESTROY ) ); ?>" class="litespeed-link-with-icon litespeed-danger" data-litespeed-cfm="<?php esc_html_e( 'Are you sure to destroy all optimized images?', 'litespeed-cache' ); ?>" id="litespeed-imageopt-destroy">
						<span class="dashicons dashicons-dismiss"></span><?php esc_html_e( 'Destroy All Optimization Data', 'litespeed-cache' ); ?>
					</a>
				</p>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files.', 'litespeed-cache' ); ?>
				</div>
			</div>
		</div>
	</div>
</div>PKn^�\������5litespeed-cache/tpl/img_optm/network_settings.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Image Optimization Network Settings
 *
 * Manages network-wide image optimization settings for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$this->form_action( Router::ACTION_SAVE_SETTINGS_NETWORK );
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Image Optimization Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/imageopt/#image-optimization-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table"><tbody>
	<?php require LSCWP_DIR . 'tpl/img_optm/settings.media_webp.tpl.php'; ?>

</tbody></table>

<?php
$this->form_end();PKn^�\���*litespeed-cache/tpl/img_optm/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Image Optimization
 *
 * Manages the image optimization interface for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = array(
    'summary'  => esc_html__( 'Image Optimization Summary', 'litespeed-cache' ),
    'settings' => esc_html__( 'Image Optimization Settings', 'litespeed-cache' ),
);

if ( is_network_admin() ) {
    $menu_list = array(
        'network_settings' => esc_html__( 'Image Optimization Settings', 'litespeed-cache' ),
    );
}

?>

<div class="wrap">
    <h1 class="litespeed-h1">
        <?php esc_html_e( 'LiteSpeed Cache Image Optimization', 'litespeed-cache' ); ?>
    </h1>
    <span class="litespeed-desc">
        v<?php echo esc_html( Core::VER ); ?>
    </span>
    <hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
    <h2 class="litespeed-header nav-tab-wrapper">
        <?php GUI::display_tab_list( $menu_list ); ?>
    </h2>

    <div class="litespeed-body">
        <?php
        foreach ( $menu_list as $menu_key => $val ) {
            echo '<div data-litespeed-layout="' . esc_attr( $menu_key ) . '">';
            require LSCWP_DIR . 'tpl/img_optm/' . $menu_key . '.tpl.php';
            echo '</div>';
        }
        ?>
    </div>

</div>PKo^�\i��zz'litespeed-cache/tpl/crawler/map.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Crawler Sitemap List
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$crawler_summary = Crawler::get_summary();
$__map           = Crawler_Map::cls();
$list            = $__map->list_map( 30 );
$count           = $__map->count_map();
$pagination      = Utility::pagination( $count, 30 );
$kw              = '';
if (! empty( $_POST['kw'] ) && ! empty( $_POST['_wpnonce'] )) {
	$nonce = sanitize_text_field(wp_unslash($_POST['_wpnonce']));
	if (wp_verify_nonce($nonce)) {
		$kw = sanitize_text_field(wp_unslash($_POST['kw']));
	}
}
?>

<p class="litespeed-right">
	<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CRAWLER, Crawler::TYPE_EMPTY ) ); ?>" class="button litespeed-btn-warning">
		<?php esc_html_e( 'Clean Crawler Map', 'litespeed-cache' ); ?>
	</a>
	<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CRAWLER, Crawler::TYPE_REFRESH_MAP ) ); ?>" class="button button-secondary">
		<?php esc_html_e( 'Refresh Crawler Map', 'litespeed-cache' ); ?>
	</a>
</p>

<p>
	<?php
	if ( ! empty( $crawler_summary['sitemap_time'] ) ) {
		printf(
			esc_html__( 'Generated at %s', 'litespeed-cache' ),
			esc_html( Utility::readable_time( $crawler_summary['sitemap_time'] ) )
		);
	}
	?>
</p>

<h3 class="litespeed-title">
	<?php esc_html_e( 'Sitemap List', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/crawler/#map-tab' ); ?>
</h3>

<?php echo esc_html__( 'Sitemap Total', 'litespeed-cache' ) . ': ' . esc_html( $count ); ?>

<div style="display: flex; justify-content: space-between;">
	<div style="margin-top:10px;">
		<form action="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-crawler' ) ); ?>" method="post">
		<?php wp_nonce_field(); ?>
			<input type="text" name="kw" value="<?php echo esc_attr( $kw ); ?>" placeholder="<?php esc_attr_e( 'URL Search', 'litespeed-cache' ); ?>" style="width: 600px;" />
		</form>
	</div>
	<div>
		<a style="padding-right:10px;" href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-crawler&' . Router::TYPE . '=hit' ) ); ?>"><?php esc_html_e( 'Cache Hit', 'litespeed-cache' ); ?></a>
		<a style="padding-right:10px;" href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-crawler&' . Router::TYPE . '=miss' ) ); ?>"><?php esc_html_e( 'Cache Miss', 'litespeed-cache' ); ?></a>
		<a style="padding-right:10px;" href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-crawler&' . Router::TYPE . '=blacklisted' ) ); ?>"><?php esc_html_e( 'Blocklisted', 'litespeed-cache' ); ?></a>
	</div>
	<div>
		<?php echo wp_kses_post( $pagination ); ?>
	</div>
</div>

<div class="litespeed-table-responsive">
	<table class="wp-list-table widefat striped">
		<thead>
			<tr>
				<th scope="col">#</th>
				<th scope="col"><?php esc_html_e( 'URL', 'litespeed-cache' ); ?></th>
				<th scope="col"><?php esc_html_e( 'Crawler Status', 'litespeed-cache' ); ?></th>
				<th scope="col"><?php esc_html_e( 'Operation', 'litespeed-cache' ); ?></th>
			</tr>
		</thead>
		<tbody>
			<?php foreach ( $list as $i => $v ) : ?>
				<tr>
					<td><?php echo esc_html( $i + 1 ); ?></td>
					<td><?php echo esc_html( $v['url'] ); ?></td>
					<td><?php echo wp_kses_post( Crawler::cls()->display_status( $v['res'], $v['reason'] ) ); ?></td>
					<td>
						<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CRAWLER, Crawler::TYPE_BLACKLIST_ADD, false, null, array( 'id' => $v['id'] ) ) ); ?>" class="button button-secondary">
							<?php esc_html_e( 'Add to Blocklist', 'litespeed-cache' ); ?>
						</a>
					</td>
				</tr>
			<?php endforeach; ?>
		</tbody>
	</table>
</div>

<?php echo wp_kses_post( $pagination ); ?>

<p>
	<i class="litespeed-dot litespeed-bg-success"></i> = <?php esc_html_e( 'Cache Hit', 'litespeed-cache' ); ?><br>
	<i class="litespeed-dot litespeed-bg-primary"></i> = <?php esc_html_e( 'Cache Miss', 'litespeed-cache' ); ?><br>
	<i class="litespeed-dot litespeed-bg-warning"></i> = <?php esc_html_e( 'Blocklisted due to not cacheable', 'litespeed-cache' ); ?><br>
	<i class="litespeed-dot litespeed-bg-danger"></i> = <?php esc_html_e( 'Blocklisted', 'litespeed-cache' ); ?><br>
</p>
PKo^�\��Z�-litespeed-cache/tpl/crawler/blacklist.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Crawler Blocklist
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$crawler_summary = Crawler::get_summary();
$__map           = Crawler_Map::cls();
$__admin_display = Admin_Display::cls();
$list            = $__map->list_blacklist( 30 );
$count           = $__map->count_blacklist();
$pagination      = Utility::pagination( $count, 30 );
?>

<p class="litespeed-right">
	<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CRAWLER, Crawler::TYPE_BLACKLIST_EMPTY ) ); ?>" class="button litespeed-btn-warning" data-litespeed-cfm="<?php esc_attr_e( 'Are you sure to delete all existing blocklist items?', 'litespeed-cache' ); ?>">
		<?php esc_html_e( 'Empty blocklist', 'litespeed-cache' ); ?>
	</a>
</p>

<h3 class="litespeed-title">
	<?php esc_html_e( 'Blocklist', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/crawler/#blocklist-tab' ); ?>
</h3>

<?php echo esc_html__( 'Total', 'litespeed-cache' ) . ': ' . esc_html( $count ); ?>

<?php echo wp_kses_post( $pagination ); ?>

<div class="litespeed-table-responsive">
	<table class="wp-list-table widefat striped">
		<thead>
			<tr>
				<th scope="col">#</th>
				<th scope="col"><?php esc_html_e( 'URL', 'litespeed-cache' ); ?></th>
				<th scope="col"><?php esc_html_e( 'Status', 'litespeed-cache' ); ?></th>
				<th scope="col"><?php esc_html_e( 'Operation', 'litespeed-cache' ); ?></th>
			</tr>
		</thead>
		<tbody>
			<?php foreach ( $list as $i => $v ) : ?>
			<tr>
				<td><?php echo esc_html( $i + 1 ); ?></td>
				<td><?php echo esc_html( $v['url'] ); ?></td>
				<td><?php echo wp_kses_post( Crawler::cls()->display_status( $v['res'], $v['reason'] ) ); ?></td>
				<td>
					<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CRAWLER, Crawler::TYPE_BLACKLIST_DEL, false, null, array( 'id' => $v['id'] ) ) ); ?>" class="button button-secondary">
						<?php esc_html_e( 'Remove from Blocklist', 'litespeed-cache' ); ?>
					</a>
				</td>
			</tr>
			<?php endforeach; ?>
		</tbody>
	</table>
</div>

<?php echo wp_kses_post( $pagination ); ?>

<p>
	<span class="litespeed-success">
		<?php
		printf(
			esc_html__( 'API: PHP Constant %s available to disable blocklist.', 'litespeed-cache' ),
			'<code>LITESPEED_CRAWLER_DISABLE_BLOCKLIST</code>'
		);
		?>
	</span>
</p>
<p>
	<span class="litespeed-success">
		<?php
		printf(
			esc_html__( 'API: Filter %s available to disable blocklist.', 'litespeed-cache' ),
			'<code>add_filter( \'litespeed_crawler_disable_blocklist\', \'__return_true\' );</code>'
		);
		?>
	</span>
</p>
<?php $__admin_display->_check_overwritten( 'crawler-blocklist' ); ?>
<p>
	<i class="litespeed-dot litespeed-bg-default"></i> = <?php esc_html_e( 'Not blocklisted', 'litespeed-cache' ); ?><br>
	<i class="litespeed-dot litespeed-bg-warning"></i> = <?php esc_html_e( 'Blocklisted due to not cacheable', 'litespeed-cache' ); ?><br>
	<i class="litespeed-dot litespeed-bg-danger"></i> = <?php esc_html_e( 'Blocklisted', 'litespeed-cache' ); ?><br>
</p>
PKp^�\�&�dd,litespeed-cache/tpl/crawler/settings.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Crawler General Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$this->form_action();
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Crawler General Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/crawler/#general-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_CRAWLER; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'This will enable crawler cron.', 'litespeed-cache' ); ?>
					<br><?php Doc::notice_htaccess(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CRAWLER_CRAWL_INTERVAL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id ); ?> <?php esc_html_e( 'seconds', 'litespeed-cache' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify how long in seconds before the crawler should initiate crawling the entire sitemap again.', 'litespeed-cache' ); ?>
					<?php $this->recommended( $option_id ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CRAWLER_SITEMAP; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here.', 'litespeed-cache' ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CRAWLER_LOAD_LIMIT; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated.', 'litespeed-cache' ); ?>
					<?php if ( ! empty( $_SERVER[ Base::ENV_CRAWLER_LOAD_LIMIT_ENFORCE ] ) ) : ?>
						<span class="litespeed-warning">
							<?php esc_html_e( 'NOTE', 'litespeed-cache' ); ?>:
							<?php
							printf(
								esc_html__( 'Server enforced value: %s', 'litespeed-cache' ),
								'<code>' . esc_html( sanitize_text_field( wp_unslash( $_SERVER[ Base::ENV_CRAWLER_LOAD_LIMIT_ENFORCE ] ) ) ) . '</code>'
							);
							?>
						</span>
					<?php elseif ( ! empty( $_SERVER[ Base::ENV_CRAWLER_LOAD_LIMIT ] ) ) : ?>
						<span class="litespeed-warning">
							<?php esc_html_e( 'NOTE', 'litespeed-cache' ); ?>:
							<?php
							printf(
								esc_html__( 'Server allowed max value: %s', 'litespeed-cache' ),
								'<code>' . esc_html( sanitize_text_field( wp_unslash( $_SERVER[ Base::ENV_CRAWLER_LOAD_LIMIT ] ) ) ) . '</code>'
							);
							?>
						</span>
					<?php endif; ?>
					<br>
					<?php $this->_api_env_var( Base::ENV_CRAWLER_LOAD_LIMIT, Base::ENV_CRAWLER_LOAD_LIMIT_ENFORCE ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CRAWLER_ROLES; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id, 20 ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'To crawl the site as a logged-in user, enter the user ids to be simulated.', 'litespeed-cache' ); ?>
					<?php Doc::one_per_line(); ?>
					<?php if ( empty( $this->conf( Base::O_SERVER_IP ) ) ) : ?>
						<div class="litespeed-danger litespeed-text-bold">
							🚨 <?php esc_html_e( 'NOTICE', 'litespeed-cache' ); ?>:
							<?php
							printf(
								esc_html__( 'You must set %s before using this feature.', 'litespeed-cache' ),
								esc_html( Lang::title( Base::O_SERVER_IP ) )
							);
							?>
							<?php
							Doc::learn_more(
								esc_url( admin_url( 'admin.php?page=litespeed-general#settings' ) ),
								esc_html__( 'Click here to set.', 'litespeed-cache' ),
								true,
								false,
								true
							);
							?>
						</div>
					<?php endif; ?>
					<?php if ( empty( $this->conf( Base::O_ESI ) ) ) : ?>
						<div class="litespeed-danger litespeed-text-bold">
							🚨 <?php esc_html_e( 'NOTICE', 'litespeed-cache' ); ?>:
							<?php
							printf(
								esc_html__( 'You must set %1$s to %2$s before using this feature.', 'litespeed-cache' ),
								esc_html( Lang::title( Base::O_ESI ) ),
								esc_html__( 'ON', 'litespeed-cache' )
							);
							?>
							<?php
							Doc::learn_more(
								esc_url( admin_url( 'admin.php?page=litespeed-cache#esi' ) ),
								esc_html__( 'Click here to set.', 'litespeed-cache' ),
								true,
								false,
								true
							);
							?>
						</div>
					<?php endif; ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CRAWLER_COOKIES; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->enroll( $option_id . '[name][]' ); ?>
				<?php $this->enroll( $option_id . '[vals][]' ); ?>
				<div id="litespeed_crawler_simulation_div"></div>
				<script type="text/babel">
					ReactDOM.render(
						<CrawlerSimulate list={ <?php echo wp_json_encode( $this->conf( $option_id ) ); ?> } />,
						document.getElementById( 'litespeed_crawler_simulation_div' )
					);
				</script>
				<div class="litespeed-desc">
					<?php esc_html_e( 'To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/crawler/#cookie-simulation' ); ?>
					<p>
						<?php
						printf(
							esc_html__( 'Use %1$s in %2$s to indicate this cookie has not been set.', 'litespeed-cache' ),
							'<code>_null</code>',
							esc_html__( 'Cookie Values', 'litespeed-cache' )
						);
						?>
					</p>
				</div>
			</td>
		</tr>
	</tbody>
</table>

<?php $this->form_end(); ?>PKp^�\>��IHIH+litespeed-cache/tpl/crawler/summary.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Crawler Summary
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$__crawler    = Crawler::cls();
$crawler_list = $__crawler->list_crawlers();
$summary      = Crawler::get_summary();

if ( $summary['curr_crawler'] >= count( $crawler_list ) ) {
	$summary['curr_crawler'] = 0;
}

$is_running = time() - $summary['is_running'] <= 900;

$disabled     = Router::can_crawl() ? '' : 'disabled';
$disabled_tip = '';
if ( ! $this->conf( Base::O_CRAWLER_SITEMAP ) ) {
	$disabled     = 'disabled';
	$disabled_tip = '<span class="litespeed-callout notice notice-error inline litespeed-left20">' . sprintf(
		esc_html__( 'You need to set the %s in Settings first before using the crawler', 'litespeed-cache' ),
		'<code>' . esc_html( Lang::title( Base::O_CRAWLER_SITEMAP ) ) . '</code>'
	) . '</span>';
}

$crawler_run_interval = defined( 'LITESPEED_CRAWLER_RUN_INTERVAL' ) ? LITESPEED_CRAWLER_RUN_INTERVAL : 600;
if ( $crawler_run_interval > 0 ) :
	$recurrence = '';
	$hours      = (int) floor( $crawler_run_interval / 3600 );
	if ( $hours ) {
		$recurrence .= sprintf(
			$hours > 1 ? esc_html__( '%d hours', 'litespeed-cache' ) : esc_html__( '%d hour', 'litespeed-cache' ),
			$hours
		);
	}
	$minutes = (int) floor( ( $crawler_run_interval % 3600 ) / 60 );
	if ( $minutes ) {
		$recurrence .= ' ';
		$recurrence .= sprintf(
			$minutes > 1 ? esc_html__( '%d minutes', 'litespeed-cache' ) : esc_html__( '%d minute', 'litespeed-cache' ),
			$minutes
		);
	}
?>

	<h3 class="litespeed-title litespeed-relative">
		<?php esc_html_e( 'Crawler Cron', 'litespeed-cache' ); ?>
		<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/crawler/' ); ?>
	</h3>

	<?php if ( ! Router::can_crawl() ) : ?>
		<div class="litespeed-callout notice notice-error inline">
			<h4><?php esc_html_e( 'WARNING', 'litespeed-cache' ); ?></h4>
			<p><?php esc_html_e( 'The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.', 'litespeed-cache' ); ?></p>
			<p>
				<?php
				printf(
					/* translators: %s: Link tags */
					esc_html__( 'See %sIntroduction for Enabling the Crawler%s for detailed information.', 'litespeed-cache' ),
					'<a href="https://docs.litespeedtech.com/lscache/lscwp/admin/#enabling-and-limiting-the-crawler" target="_blank" rel="noopener">',
					'</a>'
				);
				?>
			</p>
		</div>
	<?php endif; ?>

	<?php if ( $summary['this_full_beginning_time'] ) : ?>
		<p>
			<b><?php esc_html_e( 'Current sitemap crawl started at', 'litespeed-cache' ); ?>:</b>
			<?php echo esc_html( Utility::readable_time( $summary['this_full_beginning_time'] ) ); ?>
		</p>
		<?php if ( ! $is_running ) : ?>
			<p>
				<b><?php esc_html_e( 'The next complete sitemap crawl will start at', 'litespeed-cache' ); ?>:</b>
				<?php echo esc_html( gmdate( 'm/d/Y H:i:s', $summary['this_full_beginning_time'] + LITESPEED_TIME_OFFSET + (int) $summary['last_full_time_cost'] + $this->conf( Base::O_CRAWLER_CRAWL_INTERVAL ) ) ); ?>
			</p>
		<?php endif; ?>
	<?php endif; ?>

	<?php if ( $summary['last_full_time_cost'] ) : ?>
		<p>
			<b><?php esc_html_e( 'Last complete run time for all crawlers', 'litespeed-cache' ); ?>:</b>
			<?php printf( esc_html__( '%d seconds', 'litespeed-cache' ), (int) $summary['last_full_time_cost'] ); ?>
		</p>
	<?php endif; ?>

	<?php if ( $summary['last_crawler_total_cost'] ) : ?>
		<p>
			<b><?php esc_html_e( 'Run time for previous crawler', 'litespeed-cache' ); ?>:</b>
			<?php printf( esc_html__( '%d seconds', 'litespeed-cache' ), (int) $summary['last_crawler_total_cost'] ); ?>
		</p>
	<?php endif; ?>

	<?php if ( $summary['curr_crawler_beginning_time'] ) : ?>
		<p>
			<b><?php esc_html_e( 'Current crawler started at', 'litespeed-cache' ); ?>:</b>
			<?php echo esc_html( Utility::readable_time( $summary['curr_crawler_beginning_time'] ) ); ?>
		</p>
	<?php endif; ?>

	<p>
		<b><?php esc_html_e( 'Current server load', 'litespeed-cache' ); ?>:</b>
		<?php echo esc_html( $__crawler->get_server_load() ); ?>
	</p>

	<?php if ( $summary['last_start_time'] ) : ?>
		<p class="litespeed-desc">
			<b><?php esc_html_e( 'Last interval', 'litespeed-cache' ); ?>:</b>
			<?php echo esc_html( Utility::readable_time( $summary['last_start_time'] ) ); ?>
		</p>
	<?php endif; ?>

	<?php if ( $summary['end_reason'] ) : ?>
		<p class="litespeed-desc">
			<b><?php esc_html_e( 'Ended reason', 'litespeed-cache' ); ?>:</b>
			<?php echo esc_html( $summary['end_reason'] ); ?>
		</p>
	<?php endif; ?>

	<?php if ( $summary['last_crawled'] ) : ?>
		<p class="litespeed-desc">
			<b><?php esc_html_e( 'Last crawled', 'litespeed-cache' ); ?>:</b>
			<?php
			printf(
				esc_html__( '%d item(s)', 'litespeed-cache' ),
				esc_html( $summary['last_crawled'] )
			);
			?>
		</p>
	<?php endif; ?>

	<p>
		<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CRAWLER, Crawler::TYPE_RESET ) ); ?>" class="button litespeed-btn-warning"><?php esc_html_e( 'Reset position', 'litespeed-cache' ); ?></a>
		<a href="<?php echo Router::can_crawl() ? esc_url( Utility::build_url( Router::ACTION_CRAWLER, Crawler::TYPE_START ) ) : 'javascript:;'; ?>" id="litespeed_manual_trigger" class="button litespeed-btn-success" litespeed-accesskey="R" <?php echo wp_kses_post( $disabled ); ?>><?php esc_html_e( 'Manually run', 'litespeed-cache' ); ?></a>
		<?php echo wp_kses_post( $disabled_tip ); ?>
	</p>

	<div class="litespeed-table-responsive">
		<table class="wp-list-table widefat striped" data-crawler-list>
			<thead>
				<tr>
					<th scope="col">#</th>
					<th scope="col"><?php esc_html_e( 'Cron Name', 'litespeed-cache' ); ?></th>
					<th scope="col"><?php esc_html_e( 'Run Frequency', 'litespeed-cache' ); ?></th>
					<th scope="col"><?php esc_html_e( 'Status', 'litespeed-cache' ); ?></th>
					<th scope="col"><?php esc_html_e( 'Activate', 'litespeed-cache' ); ?></th>
					<th scope="col"><?php esc_html_e( 'Running', 'litespeed-cache' ); ?></th>
				</tr>
			</thead>
			<tbody>
				<?php
				foreach ( $crawler_list as $i => $v ) :
					$hit          = ! empty( $summary['crawler_stats'][ $i ][ Crawler::STATUS_HIT ] ) ? (int) $summary['crawler_stats'][ $i ][ Crawler::STATUS_HIT ] : 0;
					$miss         = ! empty( $summary['crawler_stats'][ $i ][ Crawler::STATUS_MISS ] ) ? (int) $summary['crawler_stats'][ $i ][ Crawler::STATUS_MISS ] : 0;
					$blacklisted  = ! empty( $summary['crawler_stats'][ $i ][ Crawler::STATUS_BLACKLIST ] ) ? (int) $summary['crawler_stats'][ $i ][ Crawler::STATUS_BLACKLIST ] : 0;
					$blacklisted += ! empty( $summary['crawler_stats'][ $i ][ Crawler::STATUS_NOCACHE ] ) ? (int) $summary['crawler_stats'][ $i ][ Crawler::STATUS_NOCACHE ] : 0;
					$waiting      = isset( $summary['crawler_stats'][ $i ][ Crawler::STATUS_WAIT ] )
						? (int) $summary['crawler_stats'][ $i ][ Crawler::STATUS_WAIT ]
						: (int) ( $summary['list_size'] - $hit - $miss - $blacklisted );
				?>
					<tr>
						<td>
							<?php
							echo esc_html( $i + 1 );
							if ( $i === $summary['curr_crawler'] ) {
								echo '<img class="litespeed-crawler-curr" src="' . esc_url( LSWCP_PLUGIN_URL . 'assets/img/Litespeed.icon.svg' ) . '" alt="Current Crawler">';
							}
							?>
						</td>
						<td><?php echo wp_kses_post( $v['title'] ); ?></td>
						<td><?php echo esc_html( $recurrence ); ?></td>
						<td>
							<?php
							printf(
								'<i class="litespeed-badge litespeed-bg-default" data-balloon-pos="up" aria-label="%s">%s</i> ',
								esc_attr__( 'Waiting', 'litespeed-cache' ),
								esc_html( $waiting > 0 ? $waiting : '-' )
							);
							printf(
								'<i class="litespeed-badge litespeed-bg-success" data-balloon-pos="up" aria-label="%s">%s</i> ',
								esc_attr__( 'Hit', 'litespeed-cache' ),
								esc_html( $hit > 0 ? $hit : '-' )
							);
							printf(
								'<i class="litespeed-badge litespeed-bg-primary" data-balloon-pos="up" aria-label="%s">%s</i> ',
								esc_attr__( 'Miss', 'litespeed-cache' ),
								esc_html( $miss > 0 ? $miss : '-' )
							);
							printf(
								'<i class="litespeed-badge litespeed-bg-danger" data-balloon-pos="up" aria-label="%s">%s</i> ',
								esc_attr__( 'Blocklisted', 'litespeed-cache' ),
								esc_html( $blacklisted > 0 ? $blacklisted : '-' )
							);
							?>
						</td>
						<td>
							<?php $this->build_toggle( 'litespeed-crawler-' . $i, $__crawler->is_active( $i ) ); ?>
							<?php if ( ! empty( $v['uid'] ) && empty( $this->conf( Base::O_SERVER_IP ) ) ) : ?>
								<div class="litespeed-danger litespeed-text-bold">
									🚨 <?php esc_html_e( 'NOTICE', 'litespeed-cache' ); ?>:
									<?php
									printf(
										esc_html__( 'You must set %s before using this feature.', 'litespeed-cache' ),
										esc_html( Lang::title( Base::O_SERVER_IP ) )
									);
									?>
									<?php
									Doc::learn_more(
										esc_url( admin_url( 'admin.php?page=litespeed-general#settings' ) ),
										esc_html__( 'Click here to set.', 'litespeed-cache' ),
										true,
										false,
										true
									);
									?>
								</div>
							<?php endif; ?>
						</td>
						<td>
							<?php
							if ( $i === $summary['curr_crawler'] ) {
								echo esc_html__( 'Position: ', 'litespeed-cache' ) . esc_html( $summary['last_pos'] + 1 );
								if ( $is_running ) {
									echo ' <span class="litespeed-label-success">' . esc_html__( 'running', 'litespeed-cache' ) . '</span>';
								}
							}
							?>
						</td>
					</tr>
				<?php endforeach; ?>
			</tbody>
		</table>
	</div>

	<p>
		<i class="litespeed-badge litespeed-bg-default"></i> = <?php esc_html_e( 'Waiting to be Crawled', 'litespeed-cache' ); ?><br>
		<i class="litespeed-badge litespeed-bg-success"></i> = <?php esc_html_e( 'Already Cached', 'litespeed-cache' ); ?><br>
		<i class="litespeed-badge litespeed-bg-primary"></i> = <?php esc_html_e( 'Successfully Crawled', 'litespeed-cache' ); ?><br>
		<i class="litespeed-badge litespeed-bg-danger"></i> = <?php esc_html_e( 'Blocklisted', 'litespeed-cache' ); ?><br>
	</p>

	<div class="litespeed-desc">
		<div><?php esc_html_e( 'Run frequency is set by the Interval Between Runs setting.', 'litespeed-cache' ); ?></div>
		<div>
			<?php
			esc_html_e( 'Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence.', 'litespeed-cache' );
			?>
		</div>
		<div>
			<?php
			printf(
				/* translators: %s: Link tags */
				esc_html__( 'Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task.', 'litespeed-cache' ),
				'<a href="https://developer.wordpress.org/plugins/cron/hooking-wp-cron-into-the-system-task-scheduler/" target="_blank" rel="noopener">',
				'</a>'
			);
			?>
		</div>
	</div>
<?php
endif;
?>

<h3 class="litespeed-title"><?php esc_html_e( 'Watch Crawler Status', 'litespeed-cache' ); ?></h3>

<?php
$ajax_url = $__crawler->json_path();
if ( $ajax_url ) :
?>
	<input type="button" id="litespeed-crawl-url-btn" value="<?php esc_attr_e( 'Show crawler status', 'litespeed-cache' ); ?>" class="button button-secondary" data-url="<?php echo esc_url( $ajax_url ); ?>" />
	<div class="litespeed-shell litespeed-hide">
		<div class="litespeed-shell-header-bar"></div>
		<div class="litespeed-shell-header">
			<div class="litespeed-shell-header-bg"></div>
			<div class="litespeed-shell-header-icon-container">
				<img id="litespeed-shell-icon" src="<?php echo esc_url( LSWCP_PLUGIN_URL . 'assets/img/Litespeed.icon.svg' ); ?>" alt="LiteSpeed Icon" />
			</div>
		</div>
		<ul class="litespeed-shell-body">
			<li><?php esc_html_e( 'Start watching...', 'litespeed-cache' ); ?></li>
			<li id="litespeed-loading-dot"></li>
		</ul>
	</div>
<?php else : ?>
	<p><?php esc_html_e( 'No crawler meta file generated yet', 'litespeed-cache' ); ?></p>
<?php endif; ?>

<script>
var _litespeed_meta;
var _litespeed_shell_interval = 3; // seconds
var _litespeed_shell_interval_range = [3, 60];
var _litespeed_shell_handle;
var _litespeed_shell_display_handle;
var _litespeed_crawler_url;
var _litespeed_dots;


(function ($) {
	'use strict';
	jQuery(document).ready(function () {
		$('#litespeed-crawl-url-btn').on('click', function () {
			if (!$(this).data('url')) {
				return false;
			}
			$('.litespeed-shell').removeClass('litespeed-hide');
			_litespeed_dots = window.setInterval(_litespeed_loading_dots, 300);
			_litespeed_crawler_url = $(this).data('url');
			litespeed_fetch_meta();
			$(this).hide();
		});

		$('#litespeed_manual_trigger').on('click', function (event) {
			$('#litespeed-loading-dot').before('<li>Manually Started</li>');
			_litespeed_shell_interval = _litespeed_shell_interval_range[0];
			litespeed_fetch_meta();
		});

		/**
		 * Freeze or melt a specific crawler
		 * @since  4.3
		 */
		if ($('[data-crawler-list] [data-litespeed_toggle_id]').length > 0) {
			$('[data-crawler-list] [data-litespeed_toggle_id]').on('click', function (e) {
				var crawler_id = $(this).attr('data-litespeed_toggle_id');
				var crawler_id = Number(crawler_id.split('-').pop());
				var that = this;
				$.ajax({
					url: '<?php echo function_exists('get_rest_url') ? get_rest_url(null, 'litespeed/v1/toggle_crawler_state') : '/'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>',
					dataType: 'json',
					method: 'POST',
					cache: false,
					data: { crawler_id: crawler_id },
					beforeSend: function (xhr) {
						xhr.setRequestHeader('X-WP-Nonce', '<?php echo esc_js( wp_create_nonce('wp_rest') ); ?>');
					},
					success: function (data) {
						$(that)
							.toggleClass('litespeed-toggle-btn-default litespeed-toggleoff', data == 0)
							.toggleClass('litespeed-toggle-btn-primary', data == 1);
						console.log('litespeed-crawler-ajax: change Activate option');
					},
					error: function (xhr, error) {
						console.log(xhr);
						console.log(error);
						console.log('litespeed-crawler-ajax: option failed to save due to some error');
					},
				});
			});
		}

	});
})(jQuery);


function litespeed_fetch_meta() {
	window.clearTimeout(_litespeed_shell_handle);
	jQuery('#litespeed-loading-dot').text('');
	jQuery.ajaxSetup({ cache: false });
	jQuery.getJSON(_litespeed_crawler_url, function (meta) {
		litespeed_pulse();
		var changed = false;
		if (meta && 'list_size' in meta) {
			new_meta =
				meta.list_size + ' ' + meta.file_time + ' ' + meta.curr_crawler + ' ' + meta.last_pos + ' ' + meta.last_count + ' ' + meta.last_start_time + ' ' + meta.is_running;
			if (new_meta != _litespeed_meta) {
				_litespeed_meta = new_meta;
				changed = true;
				string = _litespeed_build_meta(meta);
				jQuery('#litespeed-loading-dot').before(string);
				// remove first log elements
				log_length = jQuery('.litespeed-shell-body li').length;
				if (log_length > 50) {
					jQuery('.litespeed-shell-body li:lt(' + (log_length - 50) + ')').remove();
				}
				// scroll to end
				jQuery('.litespeed-shell-body')
					.stop()
					.animate(
						{
							scrollTop: jQuery('.litespeed-shell-body')[0].scrollHeight,
						},
						800,
					);
			}

			// dynamic adjust the interval length
			_litespeed_adjust_interval(changed);
		}
		// display interval counting
		litespeed_display_interval_reset();
		_litespeed_shell_handle = window.setTimeout(_litespeed_dynamic_timeout, _litespeed_shell_interval * 1000);
	});
}

function _litespeed_loading_dots() {
	jQuery('#litespeed-loading-dot').append('.');
}

/**
 * Dynamic adjust interval
 */
function _litespeed_adjust_interval(changed) {
	if (changed) {
		_litespeed_shell_interval -= Math.ceil(_litespeed_shell_interval / 2);
	} else {
		_litespeed_shell_interval++;
	}

	if (_litespeed_shell_interval < _litespeed_shell_interval_range[0]) {
		_litespeed_shell_interval = _litespeed_shell_interval_range[0];
	}
	if (_litespeed_shell_interval > _litespeed_shell_interval_range[1]) {
		_litespeed_shell_interval = _litespeed_shell_interval_range[1];
	}
}

function _litespeed_build_meta(meta) {
	var string =
		'<li>' +
		litespeed_date(meta.last_update_time) +
		'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size: ' +
		meta.list_size +
		'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Crawler: #' +
		(meta.curr_crawler * 1 + 1) +
		'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Position: ' +
		(meta.last_pos * 1 + 1) +
		'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Threads: ' +
		meta.last_count +
		'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status: ';
	if (meta.is_running) {
		string += 'crawling, ' + meta.last_status;
	} else {
		string += meta.end_reason ? meta.end_reason : '-';
	}
	string += '</li>';
	return string;
}

function _litespeed_dynamic_timeout() {
	litespeed_fetch_meta();
}

function litespeed_display_interval_reset() {
	window.clearInterval(_litespeed_shell_display_handle);
	jQuery('.litespeed-shell-header-bar').data('num', _litespeed_shell_interval);
	_litespeed_shell_display_handle = window.setInterval(_litespeed_display_interval, 1000);

	jQuery('.litespeed-shell-header-bar')
		.stop()
		.animate({ width: '100%' }, 500, function () {
			jQuery('.litespeed-shell-header-bar').css('width', '0%');
		});
}

function _litespeed_display_interval() {
	var num = jQuery('.litespeed-shell-header-bar').data('num');
	jQuery('.litespeed-shell-header-bar')
		.stop()
		.animate({ width: litespeed_get_percent(num, _litespeed_shell_interval) + '%' }, 1000);
	if (num > 0) num--;
	if (num < 0) num = 0;
	jQuery('.litespeed-shell-header-bar').data('num', num);
}

function litespeed_get_percent(num1, num2) {
	num1 = num1 * 1;
	num2 = num2 * 1;
	num = (num2 - num1) / num2;
	return num * 100;
}

function litespeed_date(timestamp) {
	var a = new Date(timestamp * 1000);
	var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
	var year = a.getFullYear();
	var month = months[a.getMonth()];
	var date = litespeed_add_zero(a.getDate());
	var hour = litespeed_add_zero(a.getHours());
	var min = litespeed_add_zero(a.getMinutes());
	var sec = litespeed_add_zero(a.getSeconds());
	var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec;
	return time;
}

function litespeed_add_zero(i) {
	if (i < 10) {
		i = '0' + i;
	}
	return i;
}

function litespeed_pulse() {
	jQuery('#litespeed-shell-icon').animate(
		{
			width: 27,
			height: 34,
			opacity: 1,
		},
		700,
		function () {
			jQuery('#litespeed-shell-icon').animate(
				{
					width: 23,
					height: 29,
					opacity: 0.5,
				},
				700,
			);
		},
	);
}

</script>PKq^�\��^�{{)litespeed-cache/tpl/crawler/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Crawler Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = [
	'summary'   => esc_html__( 'Summary', 'litespeed-cache' ),
	'map'       => esc_html__( 'Map', 'litespeed-cache' ),
	'blacklist' => esc_html__( 'Blocklist', 'litespeed-cache' ),
	'settings'  => esc_html__( 'Settings', 'litespeed-cache' ),
];
?>

<div class="wrap">
	<h1 class="litespeed-h1">
		<?php esc_html_e( 'LiteSpeed Cache Crawler', 'litespeed-cache' ); ?>
	</h1>
	<span class="litespeed-desc">
		<?php echo esc_html( 'v' . Core::VER ); ?>
	</span>
	<hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
	<h2 class="litespeed-header nav-tab-wrapper">
		<?php GUI::display_tab_list( $menu_list ); ?>
	</h2>

	<div class="litespeed-body">
		<?php
		foreach ( $menu_list as $menu_key => $menu_value ) {
			printf(
				'<div data-litespeed-layout="%s">',
				esc_attr( $menu_key )
			);
			require LSCWP_DIR . "tpl/crawler/$menu_key.tpl.php";
			echo '</div>';
		}
		?>
	</div>
</div>

<iframe name="litespeedHiddenIframe" src="" width="0" height="0" frameborder="0"></iframe>
PKr^�\�����litespeed-cache/tpl/esi.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache ESI Block Loader
 *
 * Loads the ESI block for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

defined( 'WPINC' ) || exit;

\LiteSpeed\ESI::cls()->load_esi_block();
PKr^�\�B���,litespeed-cache/tpl/optimax/settings.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache OptimaX Settings
 *
 * Manages OptimaX settings for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 8.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$this->form_action();
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'OptimaX Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/imageopt/#image-optimization-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTIMAX; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Turn on OptimaX. This will automatically request your pages OptimaX result via cron job.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

	</tbody>
</table>

<?php
$this->form_end();
PKr^�\&jޒ+litespeed-cache/tpl/optimax/summary.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache OptimaX Summary
 *
 * Manages the OX summary interface for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 8.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

?>
<div class="litespeed-flex-container litespeed-column-with-boxes">
	<div class="litespeed-width-7-10 litespeed-column-left litespeed-image-optim-summary-wrapper">
		<div class="litespeed-image-optim-summary">
			<h3>
				Coming soon
			</h3>
		</div>
	</div>

	<div class="litespeed-width-3-10 litespeed-column-right">
		<div class="postbox litespeed-postbox litespeed-postbox-imgopt-info">
			<div class="inside">
				<h3 class="litespeed-title">
					Placeholder
				</h3>

				<div class="litespeed-flex-container">
					... Placeholder ...
				</div>
			</div>
		</div>
	</div>
</div>PKs^�\��F��)litespeed-cache/tpl/optimax/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache OptimaX
 *
 * Manages the OptimaX interface for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 8.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = array(
    'summary'  => esc_html__( 'OptimaX Summary', 'litespeed-cache' ),
    'settings' => esc_html__( 'OptimaX Settings', 'litespeed-cache' ),
);

if ( is_network_admin() ) {
    $menu_list = array(
        'network_settings' => esc_html__( 'OptimaX Settings', 'litespeed-cache' ),
    );
}

?>

<div class="wrap">
    <h1 class="litespeed-h1">
        <?php esc_html_e( 'LiteSpeed Cache OptimaX', 'litespeed-cache' ); ?>
    </h1>
    <span class="litespeed-desc">
        v<?php echo esc_html( Core::VER ); ?>
    </span>
    <hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
    <h2 class="litespeed-header nav-tab-wrapper">
        <?php GUI::display_tab_list( $menu_list ); ?>
    </h2>

    <div class="litespeed-body">
        <?php
        foreach ( $menu_list as $menu_key => $val ) {
            echo '<div data-litespeed-layout="' . esc_attr( $menu_key ) . '">';
            require LSCWP_DIR . 'tpl/optimax/' . $menu_key . '.tpl.php';
            echo '</div>';
        }
        ?>
    </div>

</div>PKs^�\=�����)litespeed-cache/tpl/presets/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Configuration Presets
 *
 * Renders the configuration presets interface for LiteSpeed Cache, including standard presets and import/export functionality.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = array(
	'standard'      => esc_html__( 'Standard Presets', 'litespeed-cache' ),
	'import_export' => esc_html__( 'Import / Export', 'litespeed-cache' ),
);
?>

<div class="wrap">
	<h1 class="litespeed-h1">
		<?php esc_html_e( 'LiteSpeed Cache Configuration Presets', 'litespeed-cache' ); ?>
	</h1>
	<span class="litespeed-desc">
		v<?php echo esc_html( Core::VER ); ?>
	</span>
	<hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
	<h2 class="litespeed-header nav-tab-wrapper">
		<?php GUI::display_tab_list( $menu_list ); ?>
	</h2>

	<div class="litespeed-body">
		<?php
		foreach ( $menu_list as $curr_tab => $val ) :
			?>
			<div data-litespeed-layout="<?php echo esc_attr( $curr_tab ); ?>">
				<?php
				if ( 'import_export' === $curr_tab ) {
					require LSCWP_DIR . "tpl/toolbox/$curr_tab.tpl.php";
				} else {
					require LSCWP_DIR . "tpl/presets/$curr_tab.tpl.php";
				}
				?>
			</div>
			<?php
		endforeach;
		?>
	</div>
</div>PKs^�\J�c�p"p",litespeed-cache/tpl/presets/standard.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Standard Presets
 *
 * Renders the standard presets interface for LiteSpeed Cache, allowing users to apply predefined configuration presets.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$presets = array(
	'essentials' => array(
		'title'  => esc_html__( 'Essentials', 'litespeed-cache' ),
		'body'   => array(
			esc_html__( 'Default Cache', 'litespeed-cache' ),
			esc_html__( 'Higher TTL', 'litespeed-cache' ),
			esc_html__( 'Browser Cache', 'litespeed-cache' ),
		),
		'footer' => array(
			esc_html__( 'This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.', 'litespeed-cache' ),
			esc_html__( 'A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled.', 'litespeed-cache' ),
		),
	),
	'basic' => array(
		'title'  => esc_html__( 'Basic', 'litespeed-cache' ),
		'body'   => array(
			esc_html__( 'Everything in Essentials, Plus', 'litespeed-cache' ),
			esc_html__( 'Image Optimization', 'litespeed-cache' ),
			esc_html__( 'Mobile Cache', 'litespeed-cache' ),
		),
		'footer' => array(
			esc_html__( 'This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.', 'litespeed-cache' ),
			esc_html__( 'A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.', 'litespeed-cache' ),
		),
	),
	'advanced' => array(
		'title'  => esc_html__( 'Advanced (Recommended)', 'litespeed-cache' ),
		'body'   => array(
			esc_html__( 'Everything in Basic, Plus', 'litespeed-cache' ),
			esc_html__( 'Guest Mode and Guest Optimization', 'litespeed-cache' ),
			esc_html__( 'CSS, JS and HTML Minification', 'litespeed-cache' ),
			esc_html__( 'Font Display Optimization', 'litespeed-cache' ),
			esc_html__( 'JS Defer for both external and inline JS', 'litespeed-cache' ),
			esc_html__( 'DNS Prefetch for static files', 'litespeed-cache' ),
			esc_html__( 'Gravatar Cache', 'litespeed-cache' ),
			esc_html__( 'Remove Query Strings from Static Files', 'litespeed-cache' ),
			esc_html__( 'Remove WordPress Emoji', 'litespeed-cache' ),
			esc_html__( 'Remove Noscript Tags', 'litespeed-cache' ),
		),
		'footer' => array(
			esc_html__( 'This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.', 'litespeed-cache' ),
			esc_html__( 'A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.', 'litespeed-cache' ),
		),
	),
	'aggressive' => array(
		'title'  => esc_html__( 'Aggressive', 'litespeed-cache' ),
		'body'   => array(
			esc_html__( 'Everything in Advanced, Plus', 'litespeed-cache' ),
			esc_html__( 'CSS & JS Combine', 'litespeed-cache' ),
			esc_html__( 'Asynchronous CSS Loading with Critical CSS', 'litespeed-cache' ),
			esc_html__( 'Removed Unused CSS for Users', 'litespeed-cache' ),
			esc_html__( 'Lazy Load for Iframes', 'litespeed-cache' ),
		),
		'footer' => array(
			esc_html__( 'This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.', 'litespeed-cache' ),
			esc_html__( 'A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores.', 'litespeed-cache' ),
		),
	),
	'extreme' => array(
		'title'  => esc_html__( 'Extreme', 'litespeed-cache' ),
		'body'   => array(
			esc_html__( 'Everything in Aggressive, Plus', 'litespeed-cache' ),
			esc_html__( 'Lazy Load for Images', 'litespeed-cache' ),
			esc_html__( 'Viewport Image Generation', 'litespeed-cache' ),
			esc_html__( 'JS Delayed', 'litespeed-cache' ),
			esc_html__( 'Inline JS added to Combine', 'litespeed-cache' ),
			esc_html__( 'Inline CSS added to Combine', 'litespeed-cache' ),
		),
		'footer' => array(
			esc_html__( 'This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.', 'litespeed-cache' ),
			esc_html__( 'A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.', 'litespeed-cache' ),
		),
	),
);
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'LiteSpeed Cache Standard Presets', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/presets/#standard-tab' ); ?>
</h3>

<p><?php esc_html_e( 'Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.', 'litespeed-cache' ); ?></p>

<div class="litespeed-comparison-cards">
	<?php
	foreach ( array_keys( $presets ) as $name ) :
		$curr_title   = $presets[ $name ]['title'];
		$recommend    = 'advanced' === $name;
		$card_class   = $recommend ? 'litespeed-comparison-card-rec' : '';
		$button_class = $recommend ? 'button-primary' : 'button-secondary';
		?>
		<div class="litespeed-comparison-card postbox <?php echo esc_attr( $card_class ); ?>">
			<div class="litespeed-card-content">
				<div class="litespeed-card-header">
					<h3 class="litespeed-h3">
						<?php echo esc_html( $curr_title ); ?>
					</h3>
				</div>
				<div class="litespeed-card-body">
					<ul>
						<?php foreach ( $presets[ $name ]['body'] as $line ) : ?>
							<li><?php echo esc_html( $line ); ?></li>
						<?php endforeach; ?>
					</ul>
				</div>
				<div class="litespeed-card-footer">
					<h4><?php esc_html_e( 'Who should use this preset?', 'litespeed-cache' ); ?></h4>
					<?php foreach ( $presets[ $name ]['footer'] as $line ) : ?>
						<p><?php echo esc_html( $line ); ?></p>
					<?php endforeach; ?>
				</div>
			</div>
			<div class="litespeed-card-action">
				<a
					href="<?php echo esc_url( Utility::build_url( Router::ACTION_PRESET, Preset::TYPE_APPLY, false, null, array( 'preset' => $name ) ) ); ?>"
					class="button <?php echo esc_attr( $button_class ); ?>"
					data-litespeed-cfm="<?php echo esc_attr( sprintf( __( 'This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?', 'litespeed-cache' ), $curr_title ) ); ?>"
				>
					<?php esc_html_e( 'Apply Preset', 'litespeed-cache' ); ?>
				</a>
			</div>
		</div>
	<?php endforeach; ?>
</div>

<?php
$summary = Preset::get_summary();
$backups = array();
foreach ( Preset::get_backups() as $backup ) {
	$backup = explode( '-', $backup );
	if ( empty( $backup[1] ) ) {
		continue;
	}
	$timestamp  = $backup[1];
	$time       = trim( Utility::readable_time( $timestamp ) );
	$name       = empty( $backup[3] ) ? null : $backup[3];
	$curr_title = empty( $presets[ $name ]['title'] ) ? $name : $presets[ $name ]['title'];
	$curr_title = null === $curr_title ? esc_html__( 'unknown', 'litespeed-cache' ) : $curr_title;
	$backups[]  = array(
		'timestamp' => $timestamp,
		'time'      => $time,
		'title'     => $curr_title,
	);
}

if ( ! empty( $summary['preset'] ) || ! empty( $backups ) ) :
	?>
	<h3 class="litespeed-title-short">
		<?php esc_html_e( 'History', 'litespeed-cache' ); ?>
	</h3>
<?php endif; ?>

<?php if ( ! empty( $summary['preset'] ) ) : ?>
	<p>
		<?php
		$name = strtolower( $summary['preset'] );
		$time = trim( Utility::readable_time( $summary['preset_timestamp'] ) );
		if ( 'error' === $name ) {
			printf( esc_html__( 'Error: Failed to apply the settings %1$s', 'litespeed-cache' ), esc_html( $time ) );
		} elseif ( 'backup' === $name ) {
			printf( esc_html__( 'Restored backup settings %1$s', 'litespeed-cache' ), esc_html( $time ) );
		} else {
			printf(
				esc_html__( 'Applied the %1$s preset %2$s', 'litespeed-cache' ),
				'<strong>' . esc_html( $presets[ $name ]['title'] ) . '</strong>',
				esc_html( $time )
			);
		}
		?>
	</p>
<?php endif; ?>

<?php foreach ( $backups as $backup ) : ?>
	<p>
		<?php printf( esc_html__( 'Backup created %1$s before applying the %2$s preset', 'litespeed-cache' ), esc_html( $backup['time'] ), esc_html( $backup['title'] ) ); ?>
		<a
			href="<?php echo esc_url( Utility::build_url( Router::ACTION_PRESET, Preset::TYPE_RESTORE, false, null, array( 'timestamp' => $backup['timestamp'] ) ) ); ?>"
			class="litespeed-left10"
			data-litespeed-cfm="<?php echo esc_attr( sprintf( __( 'This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?', 'litespeed-cache' ), $backup['time'], $backup['title'] ) ); ?>"
		>
			<?php esc_html_e( 'Restore Settings', 'litespeed-cache' ); ?>
		</a>
	</p>
<?php endforeach; ?>PKt^�\!0쟉�-litespeed-cache/tpl/toolbox/beta_test.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Beta Test
 *
 * Renders the beta test interface for LiteSpeed Cache, allowing users to switch plugin versions or test GitHub commits.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

// List of available public versions
$v_list = array(
	'7.7',
	'7.6.2',
	'7.5.0.1',
	'7.4',
	'7.3.0.1',
	'7.3',
	'7.2',
	'7.1',
	'7.0.1',
	'6.5.4',
	'5.7.0.1',
	'4.6',
	'3.6.4',
);
?>

<?php $this->form_action( Router::ACTION_DEBUG2, Debug2::TYPE_BETA_TEST ); ?>

	<h3 class="litespeed-title">
		<?php esc_html_e( 'Try GitHub Version', 'litespeed-cache' ); ?>
		<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#beta-test-tab' ); ?>
	</h3>

	<?php if ( defined( 'LITESPEED_DISABLE_ALL' ) && LITESPEED_DISABLE_ALL ) : ?>
		<div class="litespeed-callout notice notice-warning inline">
			<h4><?php esc_html_e( 'NOTICE:', 'litespeed-cache' ); ?></h4>
			<p><?php esc_html_e( 'LiteSpeed Cache is disabled. This functionality will not work.', 'litespeed-cache' ); ?></p>
		</div>
	<?php endif; ?>

	<div class="litespeed-desc">
		<?php esc_html_e( 'Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below.', 'litespeed-cache' ); ?>
	</div>
	<div class="litespeed-desc">
		<?php esc_html_e( 'Example', 'litespeed-cache' ); ?>: <code>https://github.com/litespeedtech/lscache_wp/commit/example_comment_hash_d3ebec0535aaed5c932c0</code>
	</div>

	<input type="text" name="<?php echo esc_attr( Debug2::BETA_TEST_URL ); ?>" class="litespeed-input-long" id="litespeed-beta-test" value="">

	<p>
		<a href="javascript:;" class="button litespeed-btn-success" onclick="document.getElementById('litespeed-beta-test').value='dev';"><?php esc_html_e( 'Use latest GitHub Dev commit', 'litespeed-cache' ); ?></a> <code>dev</code>
	</p>

	<p>
		<a href="javascript:;" class="button litespeed-btn-success" onclick="document.getElementById('litespeed-beta-test').value='master';"><?php esc_html_e( 'Use latest GitHub Master commit', 'litespeed-cache' ); ?></a> <code>master</code>
	</p>

	<p>
		<a href="javascript:;" class="button litespeed-btn-success" onclick="document.getElementById('litespeed-beta-test').value='latest';"><?php esc_html_e( 'Use latest WordPress release version', 'litespeed-cache' ); ?></a> <code><?php echo esc_attr( Debug2::BETA_TEST_URL_WP ); ?></code> <?php esc_html_e( 'OR', 'litespeed-cache' ); ?> <code>latest</code>
	</p>

	<p>
		<?php foreach ( $v_list as $v ) : ?>
			<a href="javascript:;" class="button <?php echo '3.6.4' === $v ? 'litespeed-btn-danger' : 'litespeed-btn-success'; ?>" onclick="document.getElementById('litespeed-beta-test').value='<?php echo esc_attr( $v ); ?>';"><?php echo esc_html( $v ); ?></a>
		<?php endforeach; ?>
		<span class="litespeed-danger">
			🚨 <?php esc_html_e( 'Downgrade not recommended. May cause fatal error due to refactored code.', 'litespeed-cache' ); ?>
		</span>
	</p>

	<div class="litespeed-desc">
		<?php printf( esc_html__( 'Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing.', 'litespeed-cache' ), '<code>' . esc_html__( 'Use latest GitHub Dev/Master commit', 'litespeed-cache' ) . '</code>' ); ?>
	</div>
	<div class="litespeed-desc">
		<?php printf( esc_html__( 'Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory.', 'litespeed-cache' ), '<code>' . esc_html__( 'Use latest WordPress release version', 'litespeed-cache' ) . '</code>' ); ?>
	</div>

	<p class="litespeed-danger">
		🚨 <?php printf( esc_html__( 'In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions.', 'litespeed-cache' ), '<code>v3.6.4</code>', '<code>dev/master/v4+</code>' ); ?>
	</p>

	<button type="submit" class="button button-primary"><?php esc_html_e( 'Upgrade', 'litespeed-cache' ); ?></button>
</form>PKt^�\�i����2litespeed-cache/tpl/toolbox/settings-debug.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Debug Settings Interface
 *
 * Renders the debug settings interface for LiteSpeed Cache, allowing users to configure debugging options and view the site with specific settings bypassed.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$this->form_action( $this->_is_network_admin ? Router::ACTION_SAVE_SETTINGS_NETWORK : false );
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Debug Helpers', 'litespeed-cache' ); ?>
</h3>

<a href="<?php echo esc_url( home_url( '/' ) . '?' . Router::ACTION . '=before_optm' ); ?>" class="button button-success" target="_blank">
	<?php esc_html_e( 'View Site Before Optimization', 'litespeed-cache' ); ?>
</a>

<a href="<?php echo esc_url( home_url( '/' ) . '?' . Router::ACTION . '=' . Core::ACTION_QS_NOCACHE ); ?>" class="button button-success" target="_blank">
	<?php esc_html_e( 'View Site Before Cache', 'litespeed-cache' ); ?>
</a>


<?php
$temp_disabled_time = $this->conf( Base::DEBUG_TMP_DISABLE );
$temp_disabled      = Debug2::is_tmp_disable();
if ( !$temp_disabled ) {
?>
	<a href="<?php echo wp_kses_post( Utility::build_url(Router::ACTION_TMP_DISABLE, false, false, '_ori') ); ?>" class="button litespeed-btn-danger">
		<?php esc_html_e( 'Disable All Features for 24 Hours', 'litespeed-cache' ); ?>
	</a>
<?php
} else {
	$date = wp_date( get_option('date_format') . ' ' . get_option( 'time_format' ), $temp_disabled_time );
?>
	<a href="<?php echo wp_kses_post( Utility::build_url(Router::ACTION_TMP_DISABLE, false, false, '_ori') ); ?>" class="button litespeed-btn-warning">
		<?php esc_html_e( 'Remove `Disable All Feature` Flag Now', 'litespeed-cache' ); ?>
	</a>
	<div class="litespeed-callout notice notice-warning inline">
		<h4><?php esc_html_e( 'NOTICE', 'litespeed-cache' ); ?></h4>
		<p><?php echo wp_kses_post( sprintf ( __( 'LiteSpeed Cache is temporarily disabled until: %s.', 'litespeed-cache' ), '<strong>' . $date . '</strong>' ) ); ?></p>
	</div>
<?php
}
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Debug Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#debug-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_DEBUG_DISABLE_ALL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'This will disable LSCache and all optimization features for debug purpose.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_DEBUG; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id, array( esc_html__( 'OFF', 'litespeed-cache' ), esc_html__( 'ON', 'litespeed-cache' ), esc_html__( 'Admin IP Only', 'litespeed-cache' ) ) ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Outputs to a series of files in the %s directory.', 'litespeed-cache' ), '<code>wp-content/litespeed/debug</code>' ); ?>
					<?php esc_html_e( 'To prevent filling up the disk, this setting should be OFF when everything is working.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'The Admin IP option will only output log messages on requests from admin IPs listed below.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_DEBUG_IPS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id, 50 ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Allows listed IPs (one per line) to perform certain actions from their browsers.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'Your IP', 'litespeed-cache' ); ?>: <code><?php echo esc_html( Router::get_ip() ); ?></code>
					<?php $this->_validate_ip( $option_id ); ?>
					<br />
					<?php
					Doc::learn_more(
						'https://docs.litespeedtech.com/lscache/lscwp/admin/#admin-ip-commands',
						esc_html__( 'More information about the available commands can be found here.', 'litespeed-cache' )
					);
					?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_DEBUG_LEVEL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id, array( esc_html__( 'Basic', 'litespeed-cache' ), esc_html__( 'Advanced', 'litespeed-cache' ) ) ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Advanced level will log more details.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_DEBUG_FILESIZE; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?> <?php esc_html_e( 'MB', 'litespeed-cache' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify the maximum size of the log file.', 'litespeed-cache' ); ?>
					<?php $this->recommended( $option_id ); ?>
					<?php $this->_validate_ttl( $option_id, 3, 3000 ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_DEBUG_COLLAPSE_QS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Shorten query strings in the debug log to improve readability.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_DEBUG_INC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Only log listed pages.', 'litespeed-cache' ); ?>
					<?php $this->_uri_usage_example(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_DEBUG_EXC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Prevent any debug log of listed pages.', 'litespeed-cache' ); ?>
					<?php $this->_uri_usage_example(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_DEBUG_EXC_STRINGS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Prevent writing log entries that include listed strings.', 'litespeed-cache' ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>
	</tbody>
</table>

<?php $this->form_end(); ?>PKu^�\!�,�1litespeed-cache/tpl/toolbox/edit_htaccess.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache View .htaccess
 *
 * Renders the .htaccess view interface for LiteSpeed Cache, displaying the contents and paths of frontend and backend .htaccess files.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$content = null;
try {
	$content = Htaccess::cls()->htaccess_read();
} catch ( \Exception $e ) {
	?>
	<div class="notice notice-error is-dismissible">
		<p><?php echo wp_kses_post( $e->getMessage() ); ?></p>
	</div>
	<?php
}

$htaccess_path = Htaccess::get_frontend_htaccess();

// Check for `ExpiresDefault` in .htaccess when LiteSpeed is enabled
if ( defined( 'LITESPEED_ON' ) && $content && stripos( $content, "\nExpiresDefault" ) !== false ) {
	$is_dismissed = GUI::get_option( self::DB_DISMISS_MSG );
	if ( self::RULECONFLICT_DISMISSED !== $is_dismissed ) {
		if ( self::RULECONFLICT_ON !== $is_dismissed ) {
			GUI::update_option( self::DB_DISMISS_MSG, self::RULECONFLICT_ON );
		}
		require_once LSCWP_DIR . 'tpl/inc/show_rule_conflict.php';
	}
}
?>

<h3 class="litespeed-title">
	<?php esc_html_e( 'LiteSpeed Cache View .htaccess', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#view-htaccess-tab' ); ?>
</h3>

<h3 class="litespeed-title-short">
	<?php esc_html_e( '.htaccess Path', 'litespeed-cache' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php esc_html_e( 'Frontend .htaccess Path', 'litespeed-cache' ); ?>
			</th>
			<td>
				<code><?php echo esc_html( $htaccess_path ); ?></code>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Default path is', 'litespeed-cache' ); ?>: <code><?php echo esc_html( Htaccess::get_frontend_htaccess( true ) ); ?></code>
					<br />
					<font class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'PHP Constant %s is supported.', 'litespeed-cache' ), '<code>LITESPEED_CFG_HTACCESS</code>' ); ?>
						<?php printf( esc_html__( 'You can use this code %1$s in %2$s to specify the htaccess file path.', 'litespeed-cache' ), '<code>defined("LITESPEED_CFG_HTACCESS") || define("LITESPEED_CFG_HTACCESS", "your path on server");</code>', '<code>wp-config.php</code>' ); ?>
					</font>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php esc_html_e( 'Backend .htaccess Path', 'litespeed-cache' ); ?>
			</th>
			<td>
				<code><?php echo esc_html( Htaccess::get_backend_htaccess() ); ?></code>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Default path is', 'litespeed-cache' ); ?>: <code><?php echo esc_html( Htaccess::get_backend_htaccess( true ) ); ?></code>
					<br />
					<font class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'PHP Constant %s is supported.', 'litespeed-cache' ), '<code>LITESPEED_CFG_HTACCESS_BACKEND</code>' ); ?>
						<?php printf( esc_html__( 'You can use this code %1$s in %2$s to specify the htaccess file path.', 'litespeed-cache' ), '<code>defined("LITESPEED_CFG_HTACCESS_BACKEND") || define("LITESPEED_CFG_HTACCESS_BACKEND", "your path on server");</code>', '<code>wp-config.php</code>' ); ?>
					</font>
				</div>
			</td>
		</tr>
	</tbody>
</table>

<?php if ( null !== $content ) : ?>
	<h3 class="litespeed-title">
		<?php printf( esc_html__( 'Current %s Contents', 'litespeed-cache' ), '.htaccess' ); ?>
	</h3>

	<h4><?php echo esc_html( $htaccess_path ); ?></h4>

	<textarea readonly wrap="off" rows="50" class="large-text"><?php echo esc_textarea( $content ); ?></textarea>
<?php endif; ?>PKu^�\~i�t.litespeed-cache/tpl/toolbox/log_viewer.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Log Viewer
 *
 * Renders the log viewer interface for LiteSpeed Cache, displaying debug, purge, and crawler logs with options to copy or clear logs.
 *
 * @package LiteSpeed
 * @since 4.7
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$logs = array(
	array(
		'name'      => 'debug',
		'label'     => esc_html__( 'Debug Log', 'litespeed-cache' ),
		'accesskey' => 'A',
	),
	array(
		'name'      => 'purge',
		'label'     => esc_html__( 'Purge Log', 'litespeed-cache' ),
		'accesskey' => 'B',
	),
	array(
		'name'      => 'crawler',
		'label'     => esc_html__( 'Crawler Log', 'litespeed-cache' ),
		'accesskey' => 'C',
	),
);
?>

<h3 class="litespeed-title">
	<?php esc_html_e( 'LiteSpeed Logs', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#log-view-tab' ); ?>
</h3>

<div class="litespeed-log-subnav-wrapper">
	<?php foreach ( $logs as $log ) : ?>
		<a href="#<?php echo esc_attr( $log['name'] ); ?>_log" class="button button-secondary" data-litespeed-subtab="<?php echo esc_attr( $log['name'] ); ?>_log" litespeed-accesskey="<?php echo esc_attr( $log['accesskey'] ); ?>">
			<?php echo esc_html( $log['label'] ); ?>
		</a>
	<?php endforeach; ?>
	<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_DEBUG2, Debug2::TYPE_CLEAR_LOG ) ); ?>" class="button button-primary" litespeed-accesskey="D">
		<?php esc_html_e( 'Clear Logs', 'litespeed-cache' ); ?>
	</a>
</div>

<?php
foreach ( $logs as $log ) :
	$file      = $this->cls( 'Debug2' )->path( $log['name'] );
	$lines     = File::count_lines( $file );
	$max_lines = apply_filters( 'litespeed_debug_show_max_lines', 1000 );
	$start     = $lines > $max_lines ? $lines - $max_lines : 0;
	$lines     = File::read( $file, $start );
	$lines     = $lines ? trim( implode( "\n", $lines ) ) : '';

	$log_body_id = 'litespeed-log-' . esc_attr( $log['name'] );
?>
	<div class="litespeed-log-view-wrapper" data-litespeed-sublayout="<?php echo esc_attr( $log['name'] ); ?>_log">
		<h3 class="litespeed-title">
			<?php echo esc_html( $log['label'] ); ?>
			<a href="#<?php echo esc_attr( $log['name'] ); ?>_log" class="button litespeed-info-button litespeed-wrap" onClick="litespeed_copy_to_clipboard('<?php echo esc_js( $log_body_id ); ?>', this)" aria-label="<?php esc_attr_e( 'Click to copy', 'litespeed-cache' ); ?>" data-balloon-pos="down">
				<?php esc_html_e( 'Copy Log', 'litespeed-cache' ); ?>
			</a>
		</h3>
		<div class="litespeed-log-body" id="<?php echo esc_attr( $log_body_id ); ?>">
			<?php echo nl2br( esc_html( $lines ) ); ?>
		</div>
	</div>
<?php endforeach; ?>

<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_DEBUG2, Debug2::TYPE_CLEAR_LOG ) ); ?>" class="button button-primary">
	<?php esc_html_e( 'Clear Logs', 'litespeed-cache' ); ?>
</a>PKu^�\dr�Ϳ�)litespeed-cache/tpl/toolbox/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Toolbox
 *
 * Renders the toolbox interface for LiteSpeed Cache, providing access to various administrative tools and settings.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = array(
	'purge' => esc_html__( 'Purge', 'litespeed-cache' ),
);

if ( ! $this->_is_network_admin ) {
	$menu_list['import_export'] = esc_html__( 'Import / Export', 'litespeed-cache' );
}

if ( ! $this->_is_multisite || $this->_is_network_admin ) {
	$menu_list['edit_htaccess'] = esc_html__( 'View .htaccess', 'litespeed-cache' );
}

if ( ! $this->_is_network_admin ) {
	$menu_list['heartbeat'] = esc_html__( 'Heartbeat', 'litespeed-cache' );
	$menu_list['report']    = esc_html__( 'Report', 'litespeed-cache' );
}

if ( ! $this->_is_multisite || $this->_is_network_admin ) {
	$menu_list['settings-debug'] = esc_html__( 'Debug Settings', 'litespeed-cache' );
	$menu_list['log_viewer']     = esc_html__( 'Log View', 'litespeed-cache' );
	$menu_list['beta_test']      = esc_html__( 'Beta Test', 'litespeed-cache' );
}
?>

<div class="wrap">
	<h1 class="litespeed-h1">
		<?php esc_html_e( 'LiteSpeed Cache Toolbox', 'litespeed-cache' ); ?>
	</h1>
	<span class="litespeed-desc">
		v<?php echo esc_html( Core::VER ); ?>
	</span>
	<hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
	<h2 class="litespeed-header nav-tab-wrapper">
		<?php GUI::display_tab_list( $menu_list ); ?>
	</h2>

	<div class="litespeed-body">
		<?php foreach ( $menu_list as $curr_tab => $val ) : ?>
			<div data-litespeed-layout="<?php echo esc_attr( $curr_tab ); ?>">
				<?php require LSCWP_DIR . "tpl/toolbox/$curr_tab.tpl.php"; ?>
			</div>
		<?php endforeach; ?>
	</div>
</div>PKu^�\ߛ���
�
1litespeed-cache/tpl/toolbox/import_export.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Import/Export Settings
 *
 * Renders the import/export settings interface for LiteSpeed Cache, allowing users to export, import, or reset plugin settings.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$summary = Import::get_summary();
?>

<h3 class="litespeed-title">
	<?php esc_html_e( 'Export Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#importexport-tab' ); ?>
</h3>

<div>
	<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMPORT, Import::TYPE_EXPORT ) ); ?>" class="button button-primary">
		<?php esc_html_e( 'Export', 'litespeed-cache' ); ?>
	</a>
</div>

<?php if ( ! empty( $summary['export_file'] ) ) : ?>
	<div class="litespeed-desc">
		<?php esc_html_e( 'Last exported', 'litespeed-cache' ); ?>: <code><?php echo esc_html( $summary['export_file'] ); ?></code> <?php echo esc_html( Utility::readable_time( $summary['export_time'] ) ); ?>
	</div>
<?php endif; ?>

<div class="litespeed-desc">
	<?php esc_html_e( 'This will export all current LiteSpeed Cache settings and save them as a file.', 'litespeed-cache' ); ?>
</div>

<h3 class="litespeed-title">
	<?php esc_html_e( 'Import Settings', 'litespeed-cache' ); ?>
</h3>

<?php $this->form_action( Router::ACTION_IMPORT, Import::TYPE_IMPORT, true ); ?>
	<div class="litespeed-div">
		<input type="file" name="ls_file" class="litespeed-input" />
	</div>
	<div class="litespeed-div">
		<?php submit_button( esc_html__( 'Import', 'litespeed-cache' ), 'button button-primary', 'litespeed-submit' ); ?>
	</div>
</form>

<?php if ( ! empty( $summary['import_file'] ) ) : ?>
	<div class="litespeed-desc">
		<?php esc_html_e( 'Last imported', 'litespeed-cache' ); ?>: <code><?php echo esc_html( $summary['import_file'] ); ?></code> <?php echo esc_html( Utility::readable_time( $summary['import_time'] ) ); ?>
	</div>
<?php endif; ?>

<div class="litespeed-desc">
	<?php esc_html_e( 'This will import settings from a file and override all current LiteSpeed Cache settings.', 'litespeed-cache' ); ?>
</div>

<h3 class="litespeed-title">
	<?php esc_html_e( 'Reset All Settings', 'litespeed-cache' ); ?>
</h3>

<div>
	<p class="litespeed-danger">🚨 <?php esc_html_e( 'This will reset all settings to default settings.', 'litespeed-cache' ); ?></p>
</div>
<div>
	<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMPORT, Import::TYPE_RESET ) ); ?>" data-litespeed-cfm="<?php echo esc_attr( __( 'Are you sure you want to reset all settings back to the default settings?', 'litespeed-cache' ) ); ?>" class="button litespeed-btn-danger-bg">
		<?php esc_html_e( 'Reset Settings', 'litespeed-cache' ); ?>
	</a>
</div>PKu^�\	�8ff*litespeed-cache/tpl/toolbox/report.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Report Interface
 *
 * Renders the report interface for LiteSpeed Cache, allowing users to generate and send environment reports to LiteSpeed Support.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$_report = Report::cls();
$report  = $_report->generate_environment_report();

$env_ref = Report::get_summary();

// Detect passwordless plugin
$dologin_link        = '';
$has_pswdless_plugin = false;
if ( function_exists( 'dologin_gen_link' ) ) {
	$has_pswdless_plugin = true;
	if ( ! empty( $_GET['dologin_gen_link'] ) && ! empty( $_GET['litespeed_purge_nonce'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET['litespeed_purge_nonce'] ) ), 'litespeed_purge_action' ) ) {
		unset( $_GET['dologin_gen_link'] );
		$dologin_link = dologin_gen_link( 'Litespeed Report' );
		?>
		<script>
			window.history.pushState('remove_gen_link', document.title, window.location.href.replace('&dologin_gen_link=1', ''));
		</script>
		<?php
	}
}

$install_link = Utility::build_url( Router::ACTION_ACTIVATION, Activation::TYPE_INSTALL_3RD, false, null, array( 'plugin' => 'dologin' ) );

$btn_title = esc_html__( 'Send to LiteSpeed', 'litespeed-cache' );
if ( ! empty( $env_ref['num'] ) ) {
	$btn_title = esc_html__( 'Regenerate and Send a New Report', 'litespeed-cache' );
}
?>

<?php if ( ! $has_pswdless_plugin ) : ?>
	<div class="litespeed-callout notice notice-warning inline">
		<h4><?php esc_html_e( 'NOTICE:', 'litespeed-cache' ); ?></h4>
		<p>
			<?php printf( esc_html__( 'To generate a passwordless link for LiteSpeed Support Team access, you must install %s.', 'litespeed-cache' ), '<a href="https://wordpress.org/plugins/dologin/" target="_blank">DoLogin Security</a>' ); ?>
		</p>
		<p>
			<a href="<?php echo esc_url( $install_link ); ?>" class="button litespeed-btn litespeed-right20"><?php esc_html_e( 'Install DoLogin Security', 'litespeed-cache' ); ?></a>
			<a href="<?php echo esc_url( admin_url( 'plugin-install.php?s=dologin+security&tab=search&type=term' ) ); ?>" target="_blank"><?php esc_html_e( 'Go to plugins list', 'litespeed-cache' ); ?></a>
		</p>
	</div>
<?php endif; ?>

<h3 class="litespeed-title">
	<?php esc_html_e( 'LiteSpeed Report', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#report-tab' ); ?>
</h3>

<p><?php esc_html_e( 'Last Report Number', 'litespeed-cache' ); ?>: <b><?php echo ! empty( $env_ref['num'] ) ? '<span id="report_span" style="cursor: pointer;" onClick="litespeed_copy_to_clipboard(\'report_span\', this)" aria-label="' . esc_attr__( 'Click to copy', 'litespeed-cache' ) . '" data-balloon-pos="down" class="litespeed-wrap">' . esc_html( $env_ref['num'] ) . '</span>' : '-'; ?></b></p>
<p><?php esc_html_e( 'Last Report Date', 'litespeed-cache' ); ?>: <b><?php echo ! empty( $env_ref['dateline'] ) ? esc_html( gmdate( 'm/d/Y H:i:s', $env_ref['dateline'] ) ) : '-'; ?></b></p>

<p class="litespeed-desc">
	<?php esc_html_e( 'The environment report contains detailed information about the WordPress configuration.', 'litespeed-cache' ); ?>
	<br />
	<?php esc_html_e( 'If you run into any issues, please refer to the report number in your support message.', 'litespeed-cache' ); ?>
</p>

<?php $this->form_action( Router::ACTION_REPORT, Report::TYPE_SEND_REPORT ); ?>
	<table class="wp-list-table striped litespeed-table">
		<tbody>
			<tr>
				<th><?php esc_html_e( 'System Information', 'litespeed-cache' ); ?></th>
				<td>
					<textarea id="litespeed-report" rows="20" cols="100" readonly><?php echo esc_textarea( $report ); ?></textarea>
				</td>
			</tr>
			<tr>
				<th></th>
				<td>
					<?php
					$this->build_checkbox(
						'attach_php',
						sprintf(
							esc_html__( 'Attach PHP info to report. Check this box to insert relevant data from %s.', 'litespeed-cache' ),
							'<a href="https://www.php.net/manual/en/function.phpinfo.php" target="_blank">phpinfo()</a>'
						),
						false
					);
					?>
				</td>
			</tr>
			<tr>
				<th><?php esc_html_e( 'Passwordless Link', 'litespeed-cache' ); ?></th>
				<td>
					<input type="text" class="litespeed-regular-text" id="litespeed-report-link" name="link" value="<?php echo esc_attr( $dologin_link ); ?>" style="width:500px;" />
					<?php if ( $has_pswdless_plugin ) : ?>
						<a href="<?php echo esc_url( wp_nonce_url( admin_url( 'admin.php?page=litespeed-toolbox&dologin_gen_link=1' ), 'litespeed_purge_action', 'litespeed_purge_nonce' ) ); ?>" class="button button-secondary"><?php esc_html_e( 'Generate Link for Current User', 'litespeed-cache' ); ?></a>
					<?php else : ?>
						<button type="button" class="button button-secondary" disabled><?php esc_html_e( 'Generate Link for Current User', 'litespeed-cache' ); ?></button>
					<?php endif; ?>
					<div class="litespeed-desc">
						<?php esc_html_e( 'To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.', 'litespeed-cache' ); ?>
						<?php if ( $dologin_link ) : ?>
							<br /><strong>🚨 <?php esc_html_e( 'Please do NOT share the above passwordless link with anyone.', 'litespeed-cache' ); ?></strong>
							<strong>
								<?php
								printf(
									/* translators: %s: Link tags */
									esc_html__( 'Generated links may be managed under %sSettings%s.', 'litespeed-cache' ),
									'<a href="' . esc_url( menu_page_url( 'dologin', false ) ) . '#pswdless">',
									'</a>' );
								?>
							</strong>
						<?php endif; ?>
					</div>
				</td>
			</tr>
			<tr>
				<th><?php esc_html_e( 'Notes', 'litespeed-cache' ); ?></th>
				<td>
					<textarea name="notes" rows="10" cols="100"></textarea>
					<div class="litespeed-desc">
						<?php esc_html_e( 'Optional', 'litespeed-cache' ); ?>:
						<?php esc_html_e( 'provide more information here to assist the LiteSpeed team with debugging.', 'litespeed-cache' ); ?>
					</div>
				</td>
			</tr>
		</tbody>
	</table>

	<div class="litespeed-top20"></div>
	<button class="button button-primary" type="submit"><?php echo esc_html( $btn_title ); ?></button>
	<button class="button button-primary litespeed-float-submit" type="submit"><?php echo esc_html( $btn_title ); ?></button>

	<p class="litespeed-top30 litespeed-left10 litespeed-desc">
		<?php esc_html_e( 'Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.', 'litespeed-cache' ); ?>
	</p>
</form>PKv^�\��&qZZ-litespeed-cache/tpl/toolbox/heartbeat.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Heartbeat Control
 *
 * Renders the heartbeat control settings interface for LiteSpeed Cache, allowing configuration of WordPress heartbeat intervals.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$this->form_action();
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Heartbeat Control', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#heartbeat-tab' ); ?>
</h3>

<div class="litespeed-callout notice notice-warning inline">
	<h4><?php esc_html_e( 'NOTICE:', 'litespeed-cache' ); ?></h4>
	<p>
		<?php esc_html_e( 'Disable WordPress interval heartbeat to reduce server load.', 'litespeed-cache' ); ?>
		<span class="litespeed-warning">
			🚨 <?php esc_html_e( 'Disabling this may cause WordPress tasks triggered by AJAX to stop working.', 'litespeed-cache' ); ?>
		</span>
	</p>
</div>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_MISC_HEARTBEAT_FRONT; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Turn ON to control heartbeat on frontend.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MISC_HEARTBEAT_FRONT_TTL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?> <?php $this->readable_seconds(); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Specify the %s heartbeat interval in seconds.', 'litespeed-cache' ), 'frontend' ); ?>
					<?php printf( esc_html__( 'WordPress valid interval is %s seconds.', 'litespeed-cache' ), '<code>15</code> - <code>120</code>' ); ?><br />
					<?php printf( esc_html__( 'Set to %1$s to forbid heartbeat on %2$s.', 'litespeed-cache' ), '<code>0</code>', 'frontend' ); ?><br />
					<?php $this->recommended( $option_id ); ?>
					<?php $this->_validate_ttl( $option_id, 15, 120, true ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MISC_HEARTBEAT_BACK; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Turn ON to control heartbeat on backend.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MISC_HEARTBEAT_BACK_TTL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?> <?php $this->readable_seconds(); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Specify the %s heartbeat interval in seconds.', 'litespeed-cache' ), 'backend' ); ?>
					<?php printf( esc_html__( 'WordPress valid interval is %s seconds.', 'litespeed-cache' ), '<code>15</code> - <code>120</code>' ); ?><br />
					<?php printf( esc_html__( 'Set to %1$s to forbid heartbeat on %2$s.', 'litespeed-cache' ), '<code>0</code>', 'backend' ); ?><br />
					<?php $this->recommended( $option_id ); ?>
					<?php $this->_validate_ttl( $option_id, 15, 120, true ); ?>
</div>
</td>
</tr>

<tr>
		<th>
			<?php $option_id = Base::O_MISC_HEARTBEAT_EDITOR; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Turn ON to control heartbeat in backend editor.', 'litespeed-cache' ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_MISC_HEARTBEAT_EDITOR_TTL; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?> <?php $this->readable_seconds(); ?>
			<div class="litespeed-desc">
		<?php printf( esc_html__( 'Specify the %s heartbeat interval in seconds.', 'litespeed-cache' ), 'backend editor' ); ?>
		<?php printf( esc_html__( 'WordPress valid interval is %s seconds.', 'litespeed-cache' ), '<code>15</code> - <code>120</code>' ); ?><br />
		<?php printf( esc_html__( 'Set to %1$s to forbid heartbeat on %2$s.', 'litespeed-cache' ), '<code>0</code>', 'backend editor' ); ?><br />
		<?php $this->recommended( $option_id ); ?>
		<?php $this->_validate_ttl( $option_id, 15, 120, true ); ?>
	</div>
</td>
</tr>

</tbody>
</table>

<?php $this->form_end(); ?>PKv^�\�2���.�.)litespeed-cache/tpl/toolbox/purge.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Purge Interface
 *
 * Renders the purge interface for LiteSpeed Cache, allowing users to clear various cache types and purge specific content.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$_panels = array(
	array(
		'title'      => esc_html__( 'Purge Front Page', 'litespeed-cache' ),
		'desc'       => esc_html__( 'This will Purge Front Page only', 'litespeed-cache' ),
		'icon'       => 'purge-front',
		'append_url' => Purge::TYPE_PURGE_FRONTPAGE,
	),
	array(
		'title'      => esc_html__( 'Purge Pages', 'litespeed-cache' ),
		'desc'       => esc_html__( 'This will Purge Pages only', 'litespeed-cache' ),
		'icon'       => 'purge-pages',
		'append_url' => Purge::TYPE_PURGE_PAGES,
	),
);

foreach ( Tag::$error_code_tags as $code ) {
	$_panels[] = array(
		'title'      => sprintf( esc_html__( 'Purge %s Error', 'litespeed-cache' ), esc_html( $code ) ),
		'desc'       => sprintf( esc_html__( 'Purge %s error pages', 'litespeed-cache' ), esc_html( $code ) ),
		'icon'       => 'purge-' . esc_attr( $code ),
		'append_url' => Purge::TYPE_PURGE_ERROR . esc_attr( $code ),
	);
}

$_panels[] = array(
	'title'      => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - LSCache',
	'desc'       => esc_html__( 'Purge the LiteSpeed cache entries created by this plugin', 'litespeed-cache' ),
	'icon'       => 'purge-all',
	'append_url' => Purge::TYPE_PURGE_ALL_LSCACHE,
);

$_panels[] = array(
	'title'      => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'CSS/JS Cache', 'litespeed-cache' ),
	'desc'       => esc_html__( 'This will purge all minified/combined CSS/JS entries only', 'litespeed-cache' ),
	'icon'       => 'purge-cssjs',
	'append_url' => Purge::TYPE_PURGE_ALL_CSSJS,
);

if ( defined( 'LSCWP_OBJECT_CACHE' ) ) {
	$_panels[] = array(
		'title'      => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Object Cache', 'litespeed-cache' ),
		'desc'       => esc_html__( 'Purge all the object caches', 'litespeed-cache' ),
		'icon'       => 'purge-object',
		'append_url' => Purge::TYPE_PURGE_ALL_OBJECT,
	);
}

if ( Router::opcache_enabled() ) {
	$_panels[] = array(
		'title'      => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Opcode Cache', 'litespeed-cache' ),
		'desc'       => esc_html__( 'Reset the entire opcode cache', 'litespeed-cache' ),
		'icon'       => 'purge-opcache',
		'append_url' => Purge::TYPE_PURGE_ALL_OPCACHE,
	);
}

if ( $this->has_cache_folder( 'ccss' ) ) {
	$_panels[] = array(
		'title'      => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Critical CSS', 'litespeed-cache' ),
		'desc'       => esc_html__( 'This will delete all generated critical CSS files', 'litespeed-cache' ),
		'icon'       => 'purge-cssjs',
		'append_url' => Purge::TYPE_PURGE_ALL_CCSS,
	);
}

if ( $this->has_cache_folder( 'ucss' ) ) {
	$_panels[] = array(
		'title'      => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Unique CSS', 'litespeed-cache' ),
		'desc'       => esc_html__( 'This will delete all generated unique CSS files', 'litespeed-cache' ),
		'icon'       => 'purge-cssjs',
		'append_url' => Purge::TYPE_PURGE_ALL_UCSS,
	);
}

if ( $this->has_cache_folder( 'localres' ) ) {
	$_panels[] = array(
		'title'      => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Localized Resources', 'litespeed-cache' ),
		'desc'       => esc_html__( 'This will delete all localized resources', 'litespeed-cache' ),
		'icon'       => 'purge-cssjs',
		'append_url' => Purge::TYPE_PURGE_ALL_LOCALRES,
	);
}

if ( $this->has_cache_folder( 'lqip' ) ) {
	$_panels[] = array(
		'title'      => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'LQIP Cache', 'litespeed-cache' ),
		'desc'       => esc_html__( 'This will delete all generated image LQIP placeholder files', 'litespeed-cache' ),
		'icon'       => 'purge-front',
		'append_url' => Purge::TYPE_PURGE_ALL_LQIP,
	);
}

if ( $this->has_cache_folder( 'vpi' ) ) {
	$_panels[] = array(
		'title'      => __( 'Purge All', 'litespeed-cache' ) . ' - VPI',
		'desc'       => __( 'This will delete all generated Viewport Images', 'litespeed-cache' ),
		'icon'       => 'purge-front',
		'append_url' => Purge::TYPE_PURGE_ALL_VPI,
	);
}

if ( $this->has_cache_folder( 'avatar' ) ) {
	$_panels[] = array(
		'title'      => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Gravatar Cache', 'litespeed-cache' ),
		'desc'       => esc_html__( 'This will delete all cached Gravatar files', 'litespeed-cache' ),
		'icon'       => 'purge-cssjs',
		'append_url' => Purge::TYPE_PURGE_ALL_AVATAR,
	);
}

$_panels[] = array(
	'title'      => esc_html__( 'Purge All', 'litespeed-cache' ),
	'desc'       => esc_html__( 'Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches', 'litespeed-cache' ),
	'icon'       => 'purge-all',
	'title_cls'  => 'litespeed-warning',
	'newline'    => true,
	'append_url' => Purge::TYPE_PURGE_ALL,
);

if ( ! is_multisite() || is_network_admin() ) {
	$_panels[] = array(
		'title'     => esc_html__( 'Empty Entire Cache', 'litespeed-cache' ),
		'desc'      => esc_html__( 'Clears all cache entries related to this site, including other web applications.', 'litespeed-cache' ) . ' <b>' . esc_html__( 'This action should only be used if things are cached incorrectly.', 'litespeed-cache' ) . '</b>',
		'tag'       => Core::ACTION_PURGE_EMPTYCACHE,
		'icon'      => 'empty-cache',
		'title_cls' => 'litespeed-danger',
		'cfm'       => esc_html__( 'This will clear EVERYTHING inside the cache.', 'litespeed-cache' ) . ' ' . esc_html__( 'This may cause heavy load on the server.', 'litespeed-cache' ) . ' ' . esc_html__( 'If only the WordPress site should be purged, use Purge All.', 'litespeed-cache' ),
	);
}

?>

<?php require_once LSCWP_DIR . 'tpl/inc/check_cache_disabled.php'; ?>

<h3 class="litespeed-title">
	<?php esc_html_e( 'Purge', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#purge-tab' ); ?>
</h3>

<div class="litespeed-panel-wrapper litespeed-cards-wrapper">
	<?php foreach ( $_panels as $panel ) : ?>
		<?php
		$action_tag = ! empty( $panel['tag'] ) ? $panel['tag'] : Router::ACTION_PURGE;
		$append_url = ! empty( $panel['append_url'] ) ? $panel['append_url'] : false;
		$cfm        = ! empty( $panel['cfm'] ) ? Str::trim_quotes( $panel['cfm'] ) : false;
		?>
		<?php if ( ! empty( $panel['newline'] ) ) : ?>
			<div class="litespeed-col-br"></div>
		<?php endif; ?>
		<a class="litespeed-panel postbox" href="<?php echo esc_url( Utility::build_url( $action_tag, $append_url ) ); ?>" data-litespeed-cfm="<?php echo esc_attr( $cfm ); ?>">
			<section class="litespeed-panel-wrapper-icon">
				<span class="litespeed-panel-icon-<?php echo esc_attr( $panel['icon'] ); ?>"></span>
			</section>
			<section class="litespeed-panel-content">
				<div class="litespeed-h3 <?php echo ! empty( $panel['title_cls'] ) ? esc_attr( $panel['title_cls'] ) : ''; ?>">
					<?php echo esc_html( $panel['title'] ); ?>
				</div>
				<span class="litespeed-panel-para"><?php echo wp_kses_post( $panel['desc'] ); ?></span>
			</section>
		</a>
	<?php endforeach; ?>
</div>

<?php
if ( is_multisite() && is_network_admin() ) {
	return;
}
?>

<h3 class="litespeed-title">
	<?php esc_html_e( 'Purge By...', 'litespeed-cache' ); ?>
</h3>
<p class="litespeed-description">
	<?php esc_html_e( 'Select below for "Purge by" options.', 'litespeed-cache' ); ?>
	<?php Doc::one_per_line(); ?>
</p>

<?php $this->form_action( Core::ACTION_PURGE_BY ); ?>
	<div class="litespeed-row">
		<div class="litespeed-switch litespeed-mini litespeed-right20 litespeed-margin-bottom10">
			<?php $val = Admin_Display::PURGEBY_CAT; ?>
			<input type="radio" autocomplete="off" name="<?php echo esc_attr( Admin_Display::PURGEBYOPT_SELECT ); ?>" id="purgeby_option_category" value="<?php echo esc_attr( $val ); ?>" checked />
			<label for="purgeby_option_category"><?php esc_html_e( 'Category', 'litespeed-cache' ); ?></label>

			<?php $val = Admin_Display::PURGEBY_PID; ?>
			<input type="radio" autocomplete="off" name="<?php echo esc_attr( Admin_Display::PURGEBYOPT_SELECT ); ?>" id="purgeby_option_postid" value="<?php echo esc_attr( $val ); ?>" />
			<label for="purgeby_option_postid"><?php esc_html_e( 'Post ID', 'litespeed-cache' ); ?></label>

			<?php $val = Admin_Display::PURGEBY_TAG; ?>
			<input type="radio" autocomplete="off" name="<?php echo esc_attr( Admin_Display::PURGEBYOPT_SELECT ); ?>" id="purgeby_option_tag" value="<?php echo esc_attr( $val ); ?>" />
			<label for="purgeby_option_tag"><?php esc_html_e( 'Tag', 'litespeed-cache' ); ?></label>

			<?php $val = Admin_Display::PURGEBY_URL; ?>
			<input type="radio" autocomplete="off" name="<?php echo esc_attr( Admin_Display::PURGEBYOPT_SELECT ); ?>" id="purgeby_option_url" value="<?php echo esc_attr( $val ); ?>" />
			<label for="purgeby_option_url"><?php esc_html_e( 'URL', 'litespeed-cache' ); ?></label>
		</div>

		<div class="litespeed-cache-purgeby-text litespeed-desc">
			<div class="" data-purgeby="<?php echo esc_attr( Admin_Display::PURGEBY_CAT ); ?>">
				<?php printf( esc_html__( 'Purge pages by category name - e.g. %2$s should be used for the URL %1$s.', 'litespeed-cache' ), '<code>http://example.com/category/category-name/</code>', '<code>category-name</code>' ); ?>
			</div>
			<div class="litespeed-hide" data-purgeby="<?php echo esc_attr( Admin_Display::PURGEBY_PID ); ?>">
				<?php esc_html_e( 'Purge pages by post ID.', 'litespeed-cache' ); ?>
			</div>
			<div class="litespeed-hide" data-purgeby="<?php echo esc_attr( Admin_Display::PURGEBY_TAG ); ?>">
				<?php printf( esc_html__( 'Purge pages by tag name - e.g. %2$s should be used for the URL %1$s.', 'litespeed-cache' ), '<code>http://example.com/tag/tag-name/</code>', '<code>tag-name</code>' ); ?>
			</div>
			<div class="litespeed-hide" data-purgeby="<?php echo esc_attr( Admin_Display::PURGEBY_URL ); ?>">
				<?php esc_html_e( 'Purge pages by relative or full URL.', 'litespeed-cache' ); ?>
				<?php printf( esc_html__( 'e.g. Use %1$s or %2$s.', 'litespeed-cache' ), '<code>/2016/02/24/hello-world/</code>', '<code>http://example.com/2016/02/24/hello-world/</code>' ); ?>
			</div>
		</div>
	</div>

	<p>
		<textarea name="<?php echo esc_attr( Admin_Display::PURGEBYOPT_LIST ); ?>" rows="5" class="litespeed-textarea"></textarea>
	</p>

	<p>
		<button type="submit" class="button button-primary"><?php esc_html_e( 'Purge List', 'litespeed-cache' ); ?></button>
	</p>
</form>
<script>
(function ($) {
	function setCookie(name, value, days) {
		var expires = "";
		if (days) {
			var date = new Date();
			date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
			expires = "; expires=" + date.toUTCString();
		}
		document.cookie = name + "=" + (value || "") + expires + "; path=/; SameSite=Strict";
	}

	function getCookie(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for (var i = 0; i < ca.length; i++) {
			var c = ca[i];
			while (c.charAt(0) == ' ') {
				c = c.substring(1, c.length);
			}
			if (c.indexOf(nameEQ) == 0) {
				return c.substring(nameEQ.length, c.length);
			}
		}
		return null;
	}

	jQuery(document).ready(function () {
		var savedPurgeBy = getCookie('litespeed_purgeby_option');
		if (savedPurgeBy) {
			$('input[name="<?php echo esc_attr( Admin_Display::PURGEBYOPT_SELECT ); ?>"][value="' + savedPurgeBy + '"]').prop('checked', true);
			$('[data-purgeby]').addClass('litespeed-hide');
			$('[data-purgeby="' + savedPurgeBy + '"]').removeClass('litespeed-hide');
		}
		// Manage page -> purge by
		$('[name=purgeby]').on('change', function (event) {
			$('[data-purgeby]').addClass('litespeed-hide');
			$('[data-purgeby=' + this.value + ']').removeClass('litespeed-hide');
			setCookie('litespeed_purgeby_option', this.value, 30);
		});
	});
})(jQuery);
</script>
PKw^�\D���"litespeed-cache/tpl/cdn/cf.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Cloudflare Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$this->form_action();
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Cloudflare Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cdn/' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_CDN_CLOUDFLARE; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Use %s API functionality.', 'litespeed-cache' ), 'Cloudflare' ); ?>
				</div>
				<div class="litespeed-block">
					<div class='litespeed-col'>
						<label class="litespeed-form-label"><?php esc_html_e( 'Global API Key / API Token', 'litespeed-cache' ); ?></label>
						<?php $this->build_input( Base::O_CDN_CLOUDFLARE_KEY ); ?>
						<div class="litespeed-desc">
							<?php printf( esc_html__( 'Your API key / token is used to access %s APIs.', 'litespeed-cache' ), 'Cloudflare' ); ?>
							<?php printf( esc_html__( 'Get it from %s.', 'litespeed-cache' ), '<a href="https://dash.cloudflare.com/profile/api-tokens" target="_blank" rel="noopener">Cloudflare</a>' ); ?>
							<?php esc_html_e( 'Recommended to generate the token from Cloudflare API token template "WordPress".', 'litespeed-cache' ); ?>
						</div>
					</div>
					<div class='litespeed-col'>
						<label class="litespeed-form-label"><?php esc_html_e( 'Email Address', 'litespeed-cache' ); ?></label>
						<?php $this->build_input( Base::O_CDN_CLOUDFLARE_EMAIL ); ?>
						<div class="litespeed-desc">
							<?php printf( esc_html__( 'Your Email address on %s.', 'litespeed-cache' ), 'Cloudflare' ); ?>
							<?php esc_html_e( 'Optional when API token used.', 'litespeed-cache' ); ?>
						</div>
					</div>
					<div class='litespeed-col'>
						<label class="litespeed-form-label"><?php esc_html_e( 'Domain', 'litespeed-cache' ); ?></label>
						<?php
						$cf_zone = $this->conf( Base::O_CDN_CLOUDFLARE_ZONE );
						$cls     = $cf_zone ? ' litespeed-input-success' : ' litespeed-input-warning';
						$this->build_input( Base::O_CDN_CLOUDFLARE_NAME, $cls );
						?>
						<div class="litespeed-desc">
							<?php esc_html_e( 'You can just type part of the domain.', 'litespeed-cache' ); ?>
							<?php esc_html_e( 'Once saved, it will be matched with the current list and completed automatically.', 'litespeed-cache' ); ?>
						</div>
					</div>
				</div>
			</td>
		</tr>
		<tr>
			<th>
				<?php $option_id = Base::O_CDN_CLOUDFLARE_CLEAR; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Clear %s cache when "Purge All" is run.', 'litespeed-cache' ), 'Cloudflare' ); ?>
				</div>
			</td>
		</tr>
	</tbody>
</table>

<?php
$this->form_end();
$cf_on     = $this->conf( Base::O_CDN_CLOUDFLARE );
$cf_domain = $this->conf( Base::O_CDN_CLOUDFLARE_NAME );
$cf_zone   = $this->conf( Base::O_CDN_CLOUDFLARE_ZONE );
if ( ! $cf_domain ) {
	$cf_domain = '-';
}
if ( ! $cf_zone ) {
	$cf_zone = '-';
}

$curr_status = CDN\Cloudflare::get_option( CDN\Cloudflare::ITEM_STATUS, array() );
?>

<h3 class="litespeed-title"><?php esc_html_e( 'Cloudflare', 'litespeed-cache' ); ?></h3>

<?php if ( ! $cf_on ) : ?>
	<div class="litespeed-callout notice notice-error inline">
		<h4><?php esc_html_e( 'WARNING', 'litespeed-cache' ); ?></h4>
		<p>
			<?php esc_html_e( 'To enable the following functionality, turn ON Cloudflare API in CDN Settings.', 'litespeed-cache' ); ?>
		</p>
	</div>
<?php endif; ?>

<p><?php esc_html_e( 'Cloudflare Domain', 'litespeed-cache' ); ?>: <code><?php echo esc_textarea( $cf_domain ); ?></code></p>
<p><?php esc_html_e( 'Cloudflare Zone', 'litespeed-cache' ); ?>: <code><?php echo esc_textarea( $cf_zone ); ?></code></p>

<p>
	<b><?php esc_html_e( 'Development Mode', 'litespeed-cache' ); ?>:</b>
	<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CDN_CLOUDFLARE, CDN\Cloudflare::TYPE_SET_DEVMODE_ON ) ); ?>" class="button litespeed-btn-warning">
		<?php esc_html_e( 'Turn ON', 'litespeed-cache' ); ?>
	</a>
	<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CDN_CLOUDFLARE, CDN\Cloudflare::TYPE_SET_DEVMODE_OFF ) ); ?>" class="button litespeed-btn-warning">
		<?php esc_html_e( 'Turn OFF', 'litespeed-cache' ); ?>
	</a>
	<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CDN_CLOUDFLARE, CDN\Cloudflare::TYPE_GET_DEVMODE ) ); ?>" class="button litespeed-btn-success">
		<?php esc_html_e( 'Check Status', 'litespeed-cache' ); ?>
	</a>

	<?php if ( $curr_status ) : ?>
		<span class="litespeed-desc">
			<?php
			if ( time() >= $curr_status['devmode_expired'] ) {
				$expired_at             = gmdate( 'm/d/Y H:i:s', $curr_status['devmode_expired'] + LITESPEED_TIME_OFFSET );
				$curr_status['devmode'] = 'OFF';
				printf(
					esc_html__( 'Current status is %1$s since %2$s.', 'litespeed-cache' ),
					'<code>' . esc_html( strtoupper( $curr_status['devmode'] ) ) . '</code>',
					'<code>' . esc_html( $expired_at ) . '</code>'
				);
			} else {
				$expired_at = $curr_status['devmode_expired'] - time();
				$expired_at = Utility::readable_time( $expired_at, 3600 * 3, true );
				printf(
					esc_html__( 'Current status is %s.', 'litespeed-cache' ),
					'<code>' . esc_html( strtoupper( $curr_status['devmode'] ) ) . '</code>'
				);
				printf(
					esc_html__( 'Development mode will be automatically turned off in %s.', 'litespeed-cache' ),
					'<code>' . esc_html( $expired_at ) . '</code>'
				);
			}
			?>
		</span>
	<?php endif; ?>
	<br>
	<?php esc_html_e( 'Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime.', 'litespeed-cache' ); ?>
	<br>
	<?php esc_html_e( 'Development Mode will be turned off automatically after three hours.', 'litespeed-cache' ); ?>
	<?php printf( esc_html__( '%1$sLearn More%2$s', 'litespeed-cache' ), '<a href="https://support.cloudflare.com/hc/en-us/articles/200168246" target="_blank" rel="noopener">', '</a>' ); ?>
</p>

<p>
	<b><?php esc_html_e( 'Cloudflare Cache', 'litespeed-cache' ); ?>:</b>
	<?php if ( ! $cf_on ) : ?>
		<a href="#" class="button button-secondary disabled">
	<?php else : ?>
		<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CDN_CLOUDFLARE, CDN\Cloudflare::TYPE_PURGE_ALL ) ); ?>" class="button litespeed-btn-danger">
	<?php endif; ?>
		<?php esc_html_e( 'Purge Everything', 'litespeed-cache' ); ?>
	</a>
</p>PKw^�\BZE��"�""litespeed-cache/tpl/cdn/qc.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache QUIC.cloud CDN Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$__cloud = Cloud::cls();
$__cloud->finish_qc_activation( 'cdn' );
$cloud_summary = Cloud::get_summary();
?>

<div class="litespeed-flex-container litespeed-column-with-boxes">
	<div class="litespeed-width-7-10 litespeed-column-left litespeed-cdn-summary-wrapper">
		<div class="litespeed-column-left-inside">
			<h3>
				<?php if ( $__cloud->activated() ) : ?>
					<a class="button button-small litespeed-right litespeed-learn-more" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_SYNC_STATUS ) ); ?>">
						<span class="dashicons dashicons-update"></span> <?php esc_html_e( 'Refresh Status', 'litespeed-cache' ); ?>
					</a>
				<?php endif; ?>
				<span class="litespeed-quic-icon"></span> <?php esc_html_e( 'QUIC.cloud CDN Status Overview', 'litespeed-cache' ); ?>
			</h3>
			<p class="litespeed-desc"><?php esc_html_e( 'Check the status of your most important settings and the health of your CDN setup here.', 'litespeed-cache' ); ?></p>

			<?php if ( ! $__cloud->activated() ) : ?>
				<div class="litespeed-dashboard-unlock litespeed-dashboard-unlock--inline">
					<div>
						<h3 class="litespeed-dashboard-unlock-title"><strong class="litespeed-qc-text-gradient"><?php esc_html_e( 'Accelerate, Optimize, Protect', 'litespeed-cache' ); ?></strong></h3>
						<p class="litespeed-dashboard-unlock-desc">
							<?php echo wp_kses_post( __( 'Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.', 'litespeed-cache' ) ); ?>
						</p>
						<p><?php esc_html_e( 'Free monthly quota available.', 'litespeed-cache' ); ?></p>
						<p>
							<a class="button button-primary" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_ACTIVATE, false, null, array( 'ref' => 'cdn' ) ) ); ?>">
								<span class="dashicons dashicons-yes"></span><?php esc_html_e( 'Enable QUIC.cloud services', 'litespeed-cache' ); ?>
							</a>
						</p>
						<p class="litespeed-dashboard-unlock-footer">
							<?php esc_html_e( 'QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.', 'litespeed-cache' ); ?><br>
							<a href="https://www.quic.cloud/" target="_blank" rel="noopener"><?php esc_html_e( 'Learn More about QUIC.cloud', 'litespeed-cache' ); ?></a>
						</p>
					</div>
				</div>
			<?php elseif ( empty( $cloud_summary['qc_activated'] ) || 'cdn' !== $cloud_summary['qc_activated'] ) : ?>
				<div class="litespeed-top20">
					<?php if ( ! empty( $cloud_summary['qc_activated'] ) && 'linked' === $cloud_summary['qc_activated'] ) : ?>
						<p><?php echo wp_kses_post( __( 'QUIC.cloud CDN is currently <strong>fully disabled</strong>.', 'litespeed-cache' ) ); ?></p>
					<?php else : ?>
						<p><?php echo wp_kses_post( __( 'QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users.', 'litespeed-cache' ) ); ?></p>
					<?php endif; ?>
					<p>
						<?php
						$btn_title = esc_html__( 'Link & Enable QUIC.cloud CDN', 'litespeed-cache' );
						if ( ! empty( $cloud_summary['qc_activated'] ) && 'linked' === $cloud_summary['qc_activated'] ) {
							$btn_title = esc_html__( 'Enable QUIC.cloud CDN', 'litespeed-cache' );
						}
						Doc::learn_more(
							esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_ENABLE_CDN, false, null, array( 'ref' => 'cdn' ) ) ),
							'<span class="dashicons dashicons-yes"></span>' . $btn_title,
							true,
							'button button-primary litespeed-button-cta'
						);
						?>
					</p>
					<h3 class="litespeed-title-section"><?php esc_html_e( 'Content Delivery Network Service', 'litespeed-cache' ); ?></h3>
					<p class="litespeed-text-md">
						<?php esc_html_e( 'Serve your visitors fast', 'litespeed-cache' ); ?> <strong class="litespeed-qc-text-gradient"><?php esc_html_e( 'no matter where they live.', 'litespeed-cache' ); ?></strong>
					</p>
					<p>
						<?php
						printf(
							/* translators: %s: Link tags */
							esc_html__( 'Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!', 'litespeed-cache' ),
							'<a href="https://www.quic.cloud/quic-cloud-services-and-features/litespeed-cache-service/" target="_blank" rel="noopener">',
							'</a>'
						);
						?>
					</p>
				</div>
			<?php else : ?>
				<?php echo wp_kses_post( $__cloud->load_qc_status_for_dash( 'cdn_dash' ) ); ?>
			<?php endif; ?>
		</div>
	</div>

	<div class="litespeed-width-3-10 litespeed-column-right">
		<div class="postbox litespeed-postbox">
			<div class="inside">
				<h3 class="litespeed-title">
					<?php esc_html_e( 'QUIC.cloud CDN Options', 'litespeed-cache' ); ?>
				</h3>
				<?php if ( ! empty( $cloud_summary['partner'] ) && ! empty( $cloud_summary['partner']['disable_qc_login'] ) ) : ?>
					<?php if ( ! empty( $cloud_summary['partner']['logo'] ) ) : ?>
						<?php if ( ! empty( $cloud_summary['partner']['url'] ) ) : ?>
							<a href="<?php echo esc_url( $cloud_summary['partner']['url'] ); ?>" target="_blank" rel="noopener">
								<img src="<?php echo esc_url( $cloud_summary['partner']['logo'] ); ?>" alt="<?php echo esc_attr( $cloud_summary['partner']['name'] ); ?>">
							</a>
						<?php else : ?>
							<img src="<?php echo esc_url( $cloud_summary['partner']['logo'] ); ?>" alt="<?php echo esc_attr( $cloud_summary['partner']['name'] ); ?>">
						<?php endif; ?>
					<?php elseif ( ! empty( $cloud_summary['partner']['name'] ) ) : ?>
						<?php if ( ! empty( $cloud_summary['partner']['url'] ) ) : ?>
							<a href="<?php echo esc_url( $cloud_summary['partner']['url'] ); ?>" target="_blank" rel="noopener">
								<span class="postbox-partner-name"><?php echo esc_html( $cloud_summary['partner']['name'] ); ?></span>
							</a>
						<?php else : ?>
							<span class="postbox-partner-name"><?php echo esc_html( $cloud_summary['partner']['name'] ); ?></span>
						<?php endif; ?>
					<?php endif; ?>
					<?php if ( ! $__cloud->activated() ) : ?>
						<p><?php esc_html_e( 'To manage your QUIC.cloud options, go to your hosting provider\'s portal.', 'litespeed-cache' ); ?></p>
					<?php else : ?>
						<p><?php esc_html_e( 'To manage your QUIC.cloud options, please contact your hosting provider.', 'litespeed-cache' ); ?></p>
					<?php endif; ?>
				<?php else : ?>
					<?php if ( ! $__cloud->activated() ) : ?>
						<p><?php esc_html_e( 'To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.', 'litespeed-cache' ); ?></p>
						<p class="litespeed-top20">
							<button type="button" class="button button-primary disabled">
								<?php esc_html_e( 'Link to QUIC.cloud', 'litespeed-cache' ); ?>
							</button>
						</p>
					<?php elseif ( 'anonymous' === $cloud_summary['qc_activated'] ) : ?>
						<p><?php esc_html_e( 'You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.', 'litespeed-cache' ); ?></p>
						<p class="litespeed-top20">
							<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_LINK, false, null, array( 'ref' => 'cdn' ) ) ); ?>" class="button button-<?php echo ( empty( $cloud_summary['qc_activated'] ) || 'cdn' !== $cloud_summary['qc_activated'] ) ? 'secondary' : 'primary'; ?>">
								<?php esc_html_e( 'Link to QUIC.cloud', 'litespeed-cache' ); ?>
							</a>
						</p>
					<?php elseif ( 'linked' === $cloud_summary['qc_activated'] ) : ?>
						<p class="litespeed-top20">
							<a href="<?php echo esc_url( $__cloud->qc_link() ); ?>" target="qc" rel="noopener" class="button button-<?php echo ( empty( $cloud_summary['qc_activated'] ) || 'cdn' !== $cloud_summary['qc_activated'] ) ? 'secondary' : 'primary'; ?>">
								<?php esc_html_e( 'My QUIC.cloud Dashboard', 'litespeed-cache' ); ?> <span class="dashicons dashicons-external"></span>
							</a>
						</p>
					<?php else : ?>
						<p><?php esc_html_e( 'To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.', 'litespeed-cache' ); ?></p>
						<p class="litespeed-top20">
							<a href="<?php echo esc_url( $__cloud->qc_link() ); ?>" target="qc" rel="noopener" class="button button-<?php echo ( empty( $cloud_summary['qc_activated'] ) || 'cdn' !== $cloud_summary['qc_activated'] ) ? 'secondary' : 'primary'; ?>">
								<?php esc_html_e( 'My QUIC.cloud Dashboard', 'litespeed-cache' ); ?> <span class="dashicons dashicons-external"></span>
							</a>
						</p>
					<?php endif; ?>
				<?php endif; ?>
			</div>
		</div>

		<?php $promo_mini = $__cloud->load_qc_status_for_dash( 'promo_mini' ); ?>
		<?php if ( $promo_mini ) : ?>
			<?php echo wp_kses_post( $promo_mini ); ?>
		<?php endif; ?>
	</div>
</div>
PKx^�\h3���%litespeed-cache/tpl/cdn/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache CDN Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = array(
	'qc'    => esc_html__( 'QUIC.cloud', 'litespeed-cache' ),
	'cf'    => esc_html__( 'Cloudflare', 'litespeed-cache' ),
	'other' => esc_html__( 'Other Static CDN', 'litespeed-cache' ),
);
?>

<div class="wrap">
	<h1 class="litespeed-h1">
		<?php esc_html_e( 'LiteSpeed Cache CDN', 'litespeed-cache' ); ?>
	</h1>
	<span class="litespeed-desc">
		<?php echo esc_html( 'v' . Core::VER ); ?>
	</span>
	<hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
	<h2 class="litespeed-header nav-tab-wrapper">
		<?php GUI::display_tab_list( $menu_list ); ?>
	</h2>

	<div class="litespeed-body">
		<?php
		foreach ( $menu_list as $menu_key => $menu_value ) {
			printf(
				'<div data-litespeed-layout="%s">',
				esc_attr( $menu_key )
			);
			require LSCWP_DIR . "tpl/cdn/$menu_key.tpl.php";
			echo '</div>';
		}
		?>
	</div>
</div>
PKx^�\�'�''%litespeed-cache/tpl/cdn/other.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache CDN Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$home_url = home_url( '/' );
$parsed   = wp_parse_url( $home_url );
$home_url = str_replace( $parsed['scheme'] . ':', '', $home_url );

$cdn_mapping = $this->conf( Base::O_CDN_MAPPING );
// Special handler: Append one row if somehow the DB default preset value got deleted
if ( ! $cdn_mapping ) {
	$this->load_default_vals();
	$cdn_mapping = self::$_default_options[ Base::O_CDN_MAPPING ];
}

$this->form_action();
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'CDN Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cdn/' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_CDN; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php
					printf(
						esc_html__( 'Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN.', 'litespeed-cache' ),
						'<code>' . esc_html__( 'ON', 'litespeed-cache' ) . '</code>'
					);
					?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cdn/#use-cdn-mapping' ); ?>
					<br>
					<?php
					printf(
						esc_html__( 'NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s.', 'litespeed-cache' ),
						'<code>' . esc_html__( 'OFF', 'litespeed-cache' ) . '</code>'
					);
					?>
				</div>
			</td>
		</tr>

		<tr>
			<th class="litespeed-padding-left"></th>
			<td>
				<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_URL . '][]' ); ?>
				<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_INC_IMG . '][]' ); ?>
				<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_INC_CSS . '][]' ); ?>
				<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_INC_JS . '][]' ); ?>
				<?php $this->enroll( Base::O_CDN_MAPPING . '[' . Base::CDN_MAPPING_FILETYPE . '][]' ); ?>

				<div id="litespeed_cdn_mapping_div"></div>

				<script type="text/babel">
					ReactDOM.render(
						<CDNMapping list={ <?php echo wp_json_encode( $cdn_mapping ); ?> } />,
						document.getElementById( 'litespeed_cdn_mapping_div' )
					);
				</script>

				<div class="litespeed-warning">
					<?php esc_html_e( 'NOTE', 'litespeed-cache' ); ?>:
					<?php esc_html_e( 'To randomize CDN hostname, define multiple hostnames for the same resources.', 'litespeed-cache' ); ?>
				</div>

				<div class="litespeed-desc">
					<b><?php $this->title( Base::CDN_MAPPING_INC_IMG ); ?></b>:
					<?php
					printf(
						esc_html__( 'Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes.', 'litespeed-cache' ),
						'<code>&lt;img</code>',
						'<code>url()</code>'
					);
					?>
					<br>
					<b><?php $this->title( Base::CDN_MAPPING_INC_CSS ); ?></b>:
					<?php esc_html_e( 'Serve all CSS files through the CDN. This will affect all enqueued WP CSS files.', 'litespeed-cache' ); ?>
					<br>
					<b><?php $this->title( Base::CDN_MAPPING_INC_JS ); ?></b>:
					<?php esc_html_e( 'Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files.', 'litespeed-cache' ); ?>
					<br>
					<b><?php $this->title( Base::CDN_MAPPING_FILETYPE ); ?></b>:
					<?php esc_html_e( 'Static file type links to be replaced by CDN links.', 'litespeed-cache' ); ?>
					<?php Doc::one_per_line(); ?>
					<?php
					printf(
						esc_html__( 'This will affect all tags containing attributes: %s.', 'litespeed-cache' ),
						'<code>src=""</code> <code>data-src=""</code> <code>href=""</code>'
					);
					?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cdn/#include-file-types', esc_html__( 'Default value', 'litespeed-cache' ) ); ?>
					<br>
					<?php
					printf(
						esc_html__( 'If you turn any of the above settings OFF, please remove the related file types from the %s box.', 'litespeed-cache' ),
						'<b>' . esc_html__( 'Include File Types', 'litespeed-cache' ) . '</b>'
					);
					?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cdn/#include-file-types' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CDN_ATTR; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<div class="litespeed-textarea-recommended">
					<div>
						<?php $this->build_textarea( $option_id, 40 ); ?>
					</div>
					<div>
						<?php $this->recommended( $option_id ); ?>
					</div>
				</div>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify which HTML element attributes will be replaced with CDN Mapping.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'Only attributes listed here will be replaced.', 'litespeed-cache' ); ?>
					<br>
					<?php
					printf(
						esc_html__( 'Use the format %1$s or %2$s (element is optional).', 'litespeed-cache' ),
						'<code>element.attribute</code>',
						'<code>.attribute</code>'
					);
					?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th class="litespeed-padding-left">
				<?php $option_id = Base::O_CDN_ORI; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php
					printf(
						esc_html__( 'Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s.', 'litespeed-cache' ),
						'<code>//</code>',
						'<code>' . esc_html( $home_url ) . '</code>'
					);
					?>
					<br>
					<?php
					printf(
						esc_html__( 'Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.', 'litespeed-cache' ),
						'<code>*</code>',
						'<code>//www.aa.com</code>',
						'<code>//aa.com</code>',
						'<code>//*aa.com</code>'
					);
					?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th class="litespeed-padding-left">
				<?php $option_id = Base::O_CDN_ORI_DIR; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<div class="litespeed-textarea-recommended">
					<div>
						<?php $this->build_textarea( $option_id, 40 ); ?>
					</div>
					<div>
						<?php $this->recommended( $option_id ); ?>
					</div>
				</div>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Only files within these directories will be pointed to the CDN.', 'litespeed-cache' ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th class="litespeed-padding-left">
				<?php $option_id = Base::O_CDN_EXC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Paths containing these strings will not be served from the CDN.', 'litespeed-cache' ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>
	</tbody>
</table>

<?php $this->form_end(); ?>PKx^�\zd��=litespeed-cache/tpl/general/settings_inc.auto_upgrade.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Auto Upgrade Setting
 *
 * Manages the auto-upgrade setting for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

	<!-- build_setting_auto_upgrade -->
	<tr>
		<th>
			<?php $option_id = Base::O_AUTO_UPGRADE; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual.', 'litespeed-cache' ); ?>
			</div>
		</td>
	</tr>PKx^�\�.����6litespeed-cache/tpl/general/settings_inc.guest.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Guest Mode Setting
 *
 * Manages the Guest Mode setting for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$guest_update_url = wp_parse_url( LSWCP_PLUGIN_URL . GUI::PHP_GUEST, PHP_URL_PATH );

?>
	<tr>
		<th>
			<?php $option_id = Base::O_GUEST; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX.", 'litespeed-cache' ); ?>
				<?php esc_html_e( 'This option can help to correct the cache vary for certain advanced mobile or tablet visitors.', 'litespeed-cache' ); ?>
				<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/#guest-mode' ); ?>
				<br /><?php Doc::notice_htaccess(); ?>
				<br /><?php Doc::crawler_affected(); ?>
			</div>
			<?php if ( $this->conf( $option_id ) ) : ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Guest Mode testing result', 'litespeed-cache' ); ?>:
					<font id='litespeed_gm_status'><?php esc_html_e( 'Testing', 'litespeed-cache' ); ?>...</font>
				</div>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Guest Mode IP/UA sync status', 'litespeed-cache' ); ?>:
					<font id='litespeed_gm_sync_status'><?php esc_html_e( 'Syncing', 'litespeed-cache' ); ?>...</font>
				</div>
				<script>
					(function ($) {
						jQuery(document).ready(function () {
							$.post( '<?php echo $guest_update_url; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>', function(data){
								if ( data === '[]' || data === '{"reload":"yes"}' ) {
									$('#litespeed_gm_status').html('<font class="litespeed-success"><?php esc_html_e( 'Guest Mode passed testing.', 'litespeed-cache' ); ?></font>');
								}
								else {
									$('#litespeed_gm_status').html('<font class="litespeed-danger"><?php esc_html_e( 'Guest Mode failed to test.', 'litespeed-cache' ); ?></font>');
								}
							}).fail( function(){
								$('#litespeed_gm_status').html('<font class="litespeed-danger"><?php esc_html_e( 'Guest Mode failed to test.', 'litespeed-cache' ); ?></font>');
							});

							// Sync Guest Mode IP/UA lists
							$.ajax({
								url: '<?php echo esc_url( rest_url( 'litespeed/v1/guest/sync' ) ); ?>',
								dataType: 'json',
								beforeSend: function(xhr) {
									xhr.setRequestHeader('X-WP-Nonce', '<?php echo esc_js( wp_create_nonce( 'wp_rest' ) ); ?>');
								},
								success: function(data) {
									if (data && data.success) {
										$('#litespeed_gm_sync_status').html('<font class="litespeed-success"><?php esc_html_e( 'Synced successfully.', 'litespeed-cache' ); ?></font>');
									} else {
										$('#litespeed_gm_sync_status').html('<font class="litespeed-warning"><?php esc_html_e( 'Sync failed.', 'litespeed-cache' ); ?></font>');
									}
								},
								error: function() {
									$('#litespeed_gm_sync_status').html('<font class="litespeed-warning"><?php esc_html_e( 'Sync failed.', 'litespeed-cache' ); ?></font>');
								}
							});
						});
					})(jQuery);
				</script>
			<?php endif; ?>
		</td>
	</tr>PKy^�\��	���,litespeed-cache/tpl/general/settings.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache General Settings
 *
 * Manages general settings for LiteSpeed Cache, including Guest Mode optimization, server IP, and news settings.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$cloud_instance = Cloud::cls();
$cloud_summary  = Cloud::get_summary();

$ajax_url_get_ip = function_exists('get_rest_url') ? get_rest_url(null, 'litespeed/v1/tool/check_ip') : '/';

$this->form_action();
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'General Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<?php if ( ! $this->_is_multisite ) : ?>
			<?php require LSCWP_DIR . 'tpl/general/settings_inc.auto_upgrade.tpl.php'; ?>
		<?php endif; ?>

		<?php if ( ! $this->_is_multisite ) : ?>
			<?php require LSCWP_DIR . 'tpl/general/settings_inc.guest.tpl.php'; ?>
		<?php endif; ?>

		<tr>
			<th>
				<?php $option_id = Base::O_GUEST_OPTM; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<span class="litespeed-danger litespeed-text-bold">
						🚨
						<?php esc_html_e( 'This option enables maximum optimization for Guest Mode visitors.', 'litespeed-cache' ); ?>
						<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/#guest-optimization', esc_html__( 'Please read all warnings before enabling this option.', 'litespeed-cache' ), false, 'litespeed-danger' ); ?>
					</span>

					<?php
					$type_list = array();
					if ( $this->conf( Base::O_GUEST ) && ! $this->conf( Base::O_OPTM_UCSS ) ) {
						$type_list[] = 'UCSS';
					}
					if ( $this->conf( Base::O_GUEST ) && ! $this->conf( Base::O_OPTM_CSS_ASYNC ) ) {
						$type_list[] = 'CCSS';
					}
					if ( ! empty( $type_list ) ) {
						$the_type = implode( '/', $type_list );
						echo '<br />';
						echo '<font class="litespeed-info">';
						echo '⚠️ ' . sprintf( esc_html__( 'Your %1$s quota on %2$s will still be in use.', 'litespeed-cache' ), esc_html( $the_type ), 'QUIC.cloud' );
						echo '</font>';
					}
					?>

					<?php if ( ! $this->conf( Base::O_GUEST ) ) : ?>
						<br />
						<font class="litespeed-warning litespeed-left10">
							⚠️ <?php esc_html_e( 'Notice', 'litespeed-cache' ); ?>: <?php printf( esc_html__( '%s must be turned ON for this setting to work.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_GUEST ) ) . '</code>' ); ?>
						</font>
					<?php endif; ?>

					<?php if ( ! $this->conf( Base::O_CACHE_MOBILE ) ) : ?>
						<br />
						<font class="litespeed-primary litespeed-left10">
							⚠️ <?php esc_html_e( 'Notice', 'litespeed-cache' ); ?>: <?php printf( esc_html__( 'You need to turn %s on to get maximum result.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_CACHE_MOBILE ) ) . '</code>' ); ?>
						</font>
					<?php endif; ?>

					<?php if ( ! $this->conf( Base::O_IMG_OPTM_WEBP ) ) : ?>
						<br />
						<font class="litespeed-primary litespeed-left10">
							⚠️ <?php esc_html_e( 'Notice', 'litespeed-cache' ); ?>: <?php printf( esc_html__( 'You need to turn %s on and finish all WebP generation to get maximum result.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_IMG_OPTM_WEBP ) ) . '</code>' ); ?>
						</font>
					<?php endif; ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_SERVER_IP; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.", 'litespeed-cache' ); ?>
					<br /><?php esc_html_e( 'Your server IP', 'litespeed-cache' ); ?>: <code id='litespeed_server_ip'>-</code> <a href="javascript:;" class="button button-link" id="litespeed_get_ip"><?php esc_html_e( 'Check my public IP from', 'litespeed-cache' ); ?> CyberPanel.sh</a>
					⚠️ <?php esc_html_e( 'Notice', 'litespeed-cache' ); ?>: <?php esc_html_e( 'the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.', 'litespeed-cache' ); ?>
					<br /><?php esc_html_e( 'Please make sure this IP is the correct one for visiting your site.', 'litespeed-cache' ); ?>

					<?php $this->_validate_ip( $option_id ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_NEWS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

	</tbody>
</table>

<?php $this->form_end(); ?>

<script>
(function ($) {
	jQuery(document).ready(function () {
		/**
		 * Get server IP
		 * @since  3.0
		 */
		$('#litespeed_get_ip').on('click', function (e) {
			console.log('[litespeed] get server IP');
			$.ajax({
				url: '<?php echo $ajax_url_get_ip; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>',
				dataType: 'json',
				beforeSend: function (xhr) {
					xhr.setRequestHeader('X-WP-Nonce', '<?php echo esc_js(wp_create_nonce('wp_rest')); ?>');
					$('#litespeed_server_ip').html('Detecting...');
				},
				success: function (data) {
					$('#litespeed_server_ip').html('Done');
					console.log('[litespeed] get server IP response: ' + data);
					$('#litespeed_server_ip').html(data);
				},
				error: function (xhr, error) {
					console.log('[litespeed] get server IP error', error);
					$('#litespeed_server_ip').html('Failed to detect IP');
				},
				complete: function (xhr, status) {
					console.log('[litespeed] AJAX complete', status, xhr);
				},
			});
		});
	});
})(jQuery);
</script>PKz^�\[U����4litespeed-cache/tpl/general/network_settings.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Network General Settings
 *
 * Manages network-wide general settings for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$this->form_action();
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'General Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/' ); ?>
</h3>

<?php
$this->form_action( Router::ACTION_SAVE_SETTINGS_NETWORK );
?>

<table class="wp-list-table striped litespeed-table"><tbody>
	<?php require LSCWP_DIR . 'tpl/general/settings_inc.auto_upgrade.tpl.php'; ?>

	<tr>
		<th><?php esc_html_e( 'Use Primary Site Configuration', 'litespeed-cache' ); ?></th>
		<td>
			<?php $this->build_switch( Base::NETWORK_O_USE_PRIMARY ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( "Check this option to use the primary site's configuration for all subsites.", 'litespeed-cache' ); ?>
				<?php esc_html_e( 'This will disable the settings page on all subsites.', 'litespeed-cache' ); ?>
			</div>
		</td>
	</tr>

	<?php require LSCWP_DIR . 'tpl/general/settings_inc.guest.tpl.php'; ?>

</tbody></table>

<?php
$this->form_end();
?>PKz^�\��+��)litespeed-cache/tpl/general/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache General Settings
 *
 * Manages general settings interface for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = array(
    'online'          => esc_html__( 'Online Services', 'litespeed-cache' ),
    'settings'        => esc_html__( 'General Settings', 'litespeed-cache' ),
);

if ( is_network_admin() ) {
    $menu_list = array(
        'network_settings' => esc_html__( 'General Settings', 'litespeed-cache' ),
    );
}

?>

<div class="wrap">
    <h1 class="litespeed-h1">
        <?php esc_html_e( 'LiteSpeed Cache General Settings', 'litespeed-cache' ); ?>
    </h1>
    <span class="litespeed-desc">
        v<?php echo esc_html( Core::VER ); ?>
    </span>
    <hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
    <h2 class="litespeed-header nav-tab-wrapper">
        <?php GUI::display_tab_list( $menu_list ); ?>
    </h2>

    <div class="litespeed-body">
        <?php
        foreach ( $menu_list as $menu_key => $val ) {
            echo '<div data-litespeed-layout="' . esc_attr( $menu_key ) . '">';
            require LSCWP_DIR . 'tpl/general/' . $menu_key . '.tpl.php';
            echo '</div>';
        }
        ?>
    </div>

</div>PKz^�\w&�^0^0*litespeed-cache/tpl/general/online.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache QUIC.cloud Online Services
 *
 * Manages QUIC.cloud online services integration for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$cloud_summary = Cloud::get_summary();

$cloud_instance = Cloud::cls();
$cloud_instance->finish_qc_activation( 'online' );
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'QUIC.cloud Online Services', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://www.quic.cloud/quic-cloud-services-and-features/' ); ?>
</h3>

<div class="litespeed-desc"><?php esc_html_e( 'QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.', 'litespeed-cache' ); ?></div>

<?php if ( $cloud_instance->activated() ) : ?>
	<div class="litespeed-callout notice notice-success inline">
		<h4><?php esc_html_e( 'Current Cloud Nodes in Service', 'litespeed-cache' ); ?>
			<a class="litespeed-right litespeed-redetect" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_CLEAR_CLOUD, false, null, array( 'ref' => 'online' ) ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php esc_html_e( 'Click to clear all nodes for further redetection.', 'litespeed-cache' ); ?>' data-litespeed-cfm="<?php esc_html_e( 'Are you sure you want to clear all cloud nodes?', 'litespeed-cache' ); ?>"><i class='litespeed-quic-icon'></i> <?php esc_html_e( 'Redetect', 'litespeed-cache' ); ?></a>
		</h4>
		<p>
			<?php
			$has_service = false;
			foreach ( Cloud::$services as $svc ) {
				if ( isset( $cloud_summary[ 'server.' . $svc ] ) ) {
					$has_service = true;
					printf(
						'<p><strong>%1$s</strong> <code>%2$s</code> <strong>%3$s</strong> <code>%4$s</code> <strong>%5$s</strong> <code>%6$s</code></p>',
						esc_html__( 'Service:', 'litespeed-cache' ),
						esc_html( $svc ),
						esc_html__( 'Node:', 'litespeed-cache' ),
						esc_html( $cloud_summary[ 'server.' . $svc ] ),
						esc_html__( 'Connected Date:', 'litespeed-cache' ),
						esc_html( Utility::readable_time( $cloud_summary[ 'server_date.' . $svc ] ) )
					);
				}
			}
			if ( ! $has_service ) {
				esc_html_e( 'No cloud services currently in use', 'litespeed-cache' );
			}
			?>
		</p>
	</div>
<?php endif; ?>

<?php if ( ! $cloud_instance->activated() ) : ?>
	<h4 class="litespeed-text-md litespeed-top30"><span class="dashicons dashicons-no-alt litespeed-danger"></span> <?php esc_html_e( 'QUIC.cloud Integration Disabled', 'litespeed-cache' ); ?></h4>
	<p><?php esc_html_e( 'Speed up your WordPress site even further with QUIC.cloud Online Services and CDN.', 'litespeed-cache' ); ?></p>
	<div class="litespeed-desc"><?php esc_html_e( 'Free monthly quota available.', 'litespeed-cache' ); ?></div>
	<p><a class="button button-primary" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_ACTIVATE, false, null, array( 'ref' => 'online' ) ) ); ?>">
			<span class="dashicons dashicons-yes"></span>
			<?php esc_html_e( 'Enable QUIC.cloud services', 'litespeed-cache' ); ?>
		</a></p>

	<div>
		<h3 class="litespeed-title-section"><?php esc_html_e( 'Online Services', 'litespeed-cache' ); ?></h3>
		<p><?php esc_html_e( "QUIC.cloud's Online Services improve your site in the following ways:", 'litespeed-cache' ); ?></p>
		<ul>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( '<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster.', 'litespeed-cache' ) ); ?></li>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( '<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading.', 'litespeed-cache' ) ); ?></li>
		</ul>

		<h4 class="litespeed-text-md litespeed-margin-bottom-remove"><?php esc_html_e( 'Image Optimization', 'litespeed-cache' ); ?></h4>
		<p><?php esc_html_e( "QUIC.cloud's Image Optimization service does the following:", 'litespeed-cache' ); ?></p>
		<ul>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php esc_html_e( "Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality.", 'litespeed-cache' ); ?></li>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php esc_html_e( 'Optionally creates next-generation WebP or AVIF image files.', 'litespeed-cache' ); ?></li>
		</ul>
		<p><?php esc_html_e( 'Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee.', 'litespeed-cache' ); ?> <a href="https://www.quic.cloud/quic-cloud-services-and-features/image-optimization-service/" target="_blank"><?php esc_html_e( 'Learn More', 'litespeed-cache' ); ?></a></p>

		<h4 class="litespeed-text-md litespeed-margin-bottom-remove"><?php esc_html_e( 'Page Optimization', 'litespeed-cache' ); ?></h4>
		<p><?php esc_html_e( "QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores.", 'litespeed-cache' ); ?></p>
		<ul>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( '<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling.', 'litespeed-cache' ) ); ?></li>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( '<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall.', 'litespeed-cache' ) ); ?></li>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( '<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads.', 'litespeed-cache' ) ); ?></li>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( '<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold.', 'litespeed-cache' ) ); ?></li>
		</ul>

		<div>
			<a href="https://www.quic.cloud/quic-cloud-services-and-features/page-optimization/"><?php esc_html_e( 'Learn More', 'litespeed-cache' ); ?></a>
		</div>
	</div>

	<div>
		<h3 class="litespeed-title-section"><?php esc_html_e( 'Content Delivery Network', 'litespeed-cache' ); ?></h3>

		<h4 class="litespeed-text-md litespeed-margin-bottom-remove"><?php esc_html_e( 'QUIC.cloud CDN:', 'litespeed-cache' ); ?></h4>
		<ul>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( 'Caches your entire site, including dynamic content and <strong>ESI blocks</strong>.', 'litespeed-cache' ) ); ?></li>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( 'Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>.', 'litespeed-cache' ) ); ?></li>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( 'Provides <strong>security at the CDN level</strong>, protecting your server from attack.', 'litespeed-cache' ) ); ?></li>
			<li><span class="dashicons dashicons-saved litespeed-primary"></span> <?php echo wp_kses_post( __( 'Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding.', 'litespeed-cache' ) ); ?></li>
		</ul>

		<div>
			<a href="https://www.quic.cloud/quic-cloud-services-and-features/quic-cloud-cdn-service/"><?php esc_html_e( 'Learn More', 'litespeed-cache' ); ?></a>
		</div>

		<hr class="litespeed-hr-with-space">

		<p class="litespeed-desc"><?php esc_html_e( 'In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it.', 'litespeed-cache' ); ?> <a href="https://docs.quic.cloud/billing/services/" target="_blank"><?php esc_html_e( 'Learn More', 'litespeed-cache' ); ?></a></p>

		<div class="litespeed-flex litespeed-flex-align-center">
			<a class="button button-secondary litespeed-right20" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_ACTIVATE, false, null, array( 'ref' => 'online' ) ) ); ?>">
				<span class="dashicons dashicons-yes"></span>
				<?php esc_html_e( 'Enable QUIC.cloud services', 'litespeed-cache' ); ?>
			</a>
		</div>
	</div>

<?php elseif ( ! empty( $cloud_summary['qc_activated'] ) && ( 'linked' === $cloud_summary['qc_activated'] || 'cdn' === $cloud_summary['qc_activated'] ) ) : ?>
	<h4 class="litespeed-text-md litespeed-top30"><span class="dashicons dashicons-saved litespeed-success"></span> <?php esc_html_e( 'QUIC.cloud Integration Enabled', 'litespeed-cache' ); ?></h4>
	<p><?php esc_html_e( 'Your site is connected and ready to use QUIC.cloud Online Services.', 'litespeed-cache' ); ?>
		<?php if ( empty( $cloud_summary['partner'] ) ) : ?>
			<a href="<?php echo esc_url( $cloud_instance->qc_link() ); ?>" class="litespeed-link-with-icon" target="_blank"><?php esc_html_e( 'Go to QUIC.cloud dashboard', 'litespeed-cache' ); ?> <span class="dashicons dashicons-external"></span></a>
		<?php endif; ?>
	</p>

	<ul>
		<li><span class="dashicons dashicons-yes litespeed-success"></span> <?php esc_html_e( 'Page Optimization', 'litespeed-cache' ); ?></li>
		<li><span class="dashicons dashicons-yes litespeed-success"></span> <?php esc_html_e( 'Image Optimization', 'litespeed-cache' ); ?></li>
		<?php if ( 'cdn' === $cloud_summary['qc_activated'] ) : ?>
			<li><span class="dashicons dashicons-yes litespeed-success"></span> <?php esc_html_e( 'CDN - Enabled', 'litespeed-cache' ); ?></li>
		<?php else : ?>
			<li><span class="dashicons dashicons-no-alt litespeed-default"></span> <span class="litespeed-default"><?php esc_html_e( 'CDN - Disabled', 'litespeed-cache' ); ?></span></li>
		<?php endif; ?>
	</ul>

<?php else : ?>
	<h4 class="litespeed-text-md litespeed-top30"><span class="dashicons dashicons-saved litespeed-success"></span> <?php esc_html_e( 'QUIC.cloud Integration Enabled with limitations', 'litespeed-cache' ); ?></h4>
	<p><?php echo wp_kses_post( __( 'Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features.', 'litespeed-cache' ) ); ?></p>
	<div class="litespeed-desc"><?php esc_html_e( 'Free monthly quota available.', 'litespeed-cache' ); ?></div>

	<ul>
		<li><span class="dashicons dashicons-yes litespeed-success"></span> <?php esc_html_e( 'Page Optimization', 'litespeed-cache' ); ?></li>
		<li><span class="dashicons dashicons-yes litespeed-success"></span> <?php esc_html_e( 'Image Optimization', 'litespeed-cache' ); ?></li>
		<li><span class="dashicons dashicons-no-alt litespeed-danger"></span> <?php esc_html_e( 'CDN - not available for anonymous users', 'litespeed-cache' ); ?></li>
	</ul>

	<p><a class="button button-primary" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_ACTIVATE, false, null, array( 'ref' => 'online' ) ) ); ?>"><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'Link to QUIC.cloud', 'litespeed-cache' ); ?></a></p>
<?php endif; ?>

<?php if ( $cloud_instance->activated() ) : ?>
	<div class="litespeed-empty-space-medium"></div>
	<div class="litespeed-column-with-boxes-footer">
		<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_RESET, false, null, array( 'ref' => 'online' ) ) ); ?>" class="litespeed-link-with-icon litespeed-danger" data-litespeed-cfm="<?php esc_html_e( 'Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard.', 'litespeed-cache' ); ?>"><span class="dashicons dashicons-dismiss"></span><?php esc_html_e( 'Disconnect from QUIC.cloud', 'litespeed-cache' ); ?></a>
		<div class="litespeed-desc litespeed-margin-bottom-remove"><?php esc_html_e( 'Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first.', 'litespeed-cache' ); ?></div>
	</div>
<?php endif; ?>PK{^�\�}B��9litespeed-cache/tpl/page_optm/settings_tuning_css.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Tuning CSS Settings
 *
 * Renders the Tuning CSS settings interface for LiteSpeed Cache, allowing configuration of CSS exclusions and optimizations.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

?>
<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Tuning CSS Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#tuning-css-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
<tbody>
	<tr>
		<th>
			<?php $option_id = Base::O_OPTM_CSS_EXC; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Listed CSS files or inline CSS code will not be minified or combined.', 'litespeed-cache' ); ?>
				<?php Doc::full_or_partial_url(); ?>
				<?php Doc::one_per_line(); ?>
				<br /><font class="litespeed-success">
					<?php echo esc_html_e( 'API', 'litespeed-cache' ); ?>:
					<?php printf( esc_html__( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_optimize_css_excludes</code>' ); ?>
					<?php printf( esc_html__( 'Elements with attribute %s in html code will be excluded.', 'litespeed-cache' ), '<code>data-no-optimize="1"</code>' ); ?>
					<br /><?php echo esc_html_e( 'Predefined list will also be combined with the above settings', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/css_excludes.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/css_excludes.txt</a>
				</font>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_OPTM_UCSS_FILE_EXC_INLINE; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Listed CSS files will be excluded from UCSS and saved to inline.', 'litespeed-cache' ); ?>
				<?php Doc::full_or_partial_url(); ?>
				<?php Doc::one_per_line(); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_OPTM_UCSS_SELECTOR_WHITELIST; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'List the CSS selectors whose styles should always be included in UCSS.', 'litespeed-cache' ); ?>
				<?php Doc::one_per_line(); ?>
				<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#ucss-selector-allowlist', esc_html__( 'Learn more', 'litespeed-cache' ) ); ?>.
				<br /><?php printf( esc_html__( 'Wildcard %s supported.', 'litespeed-cache' ), '<code>*</code>' ); ?>
				<div class="litespeed-callout notice notice-warning inline">
					<h4><?php esc_html_e( 'Note', 'litespeed-cache' ); ?></h4>
					<p>
						<?php esc_html_e( 'The selector must exist in the CSS. Parent classes in the HTML will not work.', 'litespeed-cache' ); ?>
					</p>
				</div>
				<font class="litespeed-success">
					<?php esc_html_e( 'Predefined list will also be combined w/ the above settings', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/ucss_whitelist.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/ucss_whitelist.txt</a>
				</font>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_OPTM_UCSS_EXC; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Listed URI will not generate UCSS.', 'litespeed-cache' ); ?>
				<?php Doc::full_or_partial_url(); ?>
				<?php Doc::one_per_line(); ?>
				<br /><span class="litespeed-success">
					<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
					<?php printf( esc_html__( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_ucss_exc</code>' ); ?>
				</span>
				<br /><font class="litespeed-success"><?php esc_html_e( 'API', 'litespeed-cache' ); ?>: <?php printf( esc_html__( 'Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.', 'litespeed-cache' ), "<code>add_filter( 'litespeed_ucss_per_pagetype', function(){return get_post_type() == 'page';} );</code>", '<code>page</code>' ); ?></font>
				<br /><font class="litespeed-success"><?php esc_html_e( 'API', 'litespeed-cache' ); ?>: <?php printf( esc_html__( 'Use %1$s to bypass UCSS for the pages which page type is %2$s.', 'litespeed-cache' ), "<code>add_action( 'litespeed_optm', function(){get_post_type() == 'page' && do_action( 'litespeed_conf_force', 'optm-ucss', false );});</code>", '<code>page</code>' ); ?></font>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_OPTM_CCSS_SEP_POSTTYPE; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'List post types where each item of that type should have its own CCSS generated.', 'litespeed-cache' ); ?>
				<?php printf( esc_html__( 'For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.', 'litespeed-cache' ), '<code>page</code>' ); ?>
				<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#separate-ccss-cache-post-types_1' ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_OPTM_CCSS_SEP_URI; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Separate critical CSS files will be generated for paths containing these strings.', 'litespeed-cache' ); ?>
				<?php $this->_uri_usage_example(); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_OPTM_CCSS_SELECTOR_WHITELIST; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'List the CSS selectors whose styles should always be included in CCSS.', 'litespeed-cache' ); ?>
				<?php Doc::one_per_line(); ?>
				<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#ccss-selector-allowlist', esc_html__( 'Learn more', 'litespeed-cache' ) ); ?>.
				<br /><?php printf( esc_html__( 'Wildcard %s supported.', 'litespeed-cache' ), '<code>*</code>' ); ?>
				<div class="litespeed-callout notice notice-warning inline">
					<h4><?php esc_html_e( 'Note', 'litespeed-cache' ); ?></h4>
					<p>
						<?php esc_html_e( 'Selectors must exist in the CSS. Parent classes in the HTML will not work.', 'litespeed-cache' ); ?>
					</p>
				</div>
				<font class="litespeed-success">
					<?php esc_html_e( 'Predefined list will also be combined w/ the above settings', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/ccss_whitelist.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/ccss_whitelist.txt</a>
				</font>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_OPTM_CCSS_CON; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php printf( esc_html__( 'Specify critical CSS rules for above-the-fold content when enabling %s.', 'litespeed-cache' ), esc_html__( 'Load CSS Asynchronously', 'litespeed-cache' ) ); ?>
			</div>
		</td>
	</tr>

</tbody></table>PK{^�\C��n4n44litespeed-cache/tpl/page_optm/settings_media.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Media Settings
 *
 * Renders the media settings interface for LiteSpeed Cache, including lazy loading, placeholders, and image optimization options.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$__admin_display     = Admin_Display::cls();
$placeholder_summary = Placeholder::get_summary();
$closest_server      = Cloud::get_summary( 'server.' . Cloud::SVC_LQIP );

$lqip_queue = $this->load_queue( 'lqip' );

$scaled_size = apply_filters( 'big_image_size_threshold', 2560, [], '', 0 ) . 'px';

?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Media Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#media-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_LAZY; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Load images only when they enter the viewport.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This can improve page loading time by reducing initial HTTP requests.', 'litespeed-cache' ); ?>
					<br />
					<font class="litespeed-success">
						💡
						<a href="https://docs.litespeedtech.com/lscache/lscwp/pageopt/#lazy-load-images" target="_blank"><?php esc_html_e( 'Adding Style to Your Lazy-Loaded Images', 'litespeed-cache' ); ?></a>
					</font>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_LAZY_PLACEHOLDER; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-long' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify a base64 image to be used as a simple placeholder while images finish loading.', 'litespeed-cache' ); ?>
					<br /><?php printf( esc_html__( 'This can be predefined in %2$s as well using constant %1$s, with this setting taking priority.', 'litespeed-cache' ), '<code>LITESPEED_PLACEHOLDER</code>', '<code>wp-config.php</code>' ); ?>
					<br /><?php printf( esc_html__( 'By default a gray image placeholder %s will be used.', 'litespeed-cache' ), '<code>data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=</code>' ); ?>
					<br /><?php printf( esc_html__( 'For example, %s can be used for a transparent placeholder.', 'litespeed-cache' ), '<code>data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7</code>' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_PLACEHOLDER_RESP; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<?php Doc::maybe_on_by_gm( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Responsive image placeholders can help to reduce layout reshuffle when images are loaded.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This will generate the placeholder with same dimensions as the image if it has the width and height attributes.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_PLACEHOLDER_RESP_SVG; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-long' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify an SVG to be used as a placeholder when generating locally.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'It will be converted to a base64 SVG placeholder on-the-fly.', 'litespeed-cache' ); ?>
					<br /><?php printf( esc_html__( 'Variables %s will be replaced with the corresponding image properties.', 'litespeed-cache' ), '<code>{width} {height}</code>' ); ?>
					<br /><?php printf( esc_html__( 'Variables %s will be replaced with the configured background color.', 'litespeed-cache' ), '<code>{color}</code>' ); ?>
					<br /><?php $this->recommended( $option_id ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_PLACEHOLDER_RESP_COLOR; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, null, null, 'color' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify the responsive placeholder SVG color.', 'litespeed-cache' ); ?>
					<?php $this->recommended( $option_id ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_LQIP; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<?php Doc::maybe_on_by_gm( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading.', 'litespeed-cache' ); ?>
					<br /><?php esc_html_e( 'Keep this off to use plain color placeholders.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#lqip-cloud-generator' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_LQIP_QUAL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify the quality when generating LQIP.', 'litespeed-cache' ); ?>
					<br /><?php esc_html_e( 'Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points.', 'litespeed-cache' ); ?>
					<?php $this->recommended( $option_id ); ?>
					<?php $this->_validate_ttl( $option_id, 1, 20 ); ?>
					<br />💡 <?php printf( esc_html__( 'Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu.', 'litespeed-cache' ), '<code>' . esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'LQIP Cache', 'litespeed-cache' ) . '</code>' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_LQIP_MIN_W; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?> x
				<?php $this->build_input( Base::O_MEDIA_LQIP_MIN_H, 'litespeed-input-short' ); ?>
				<?php esc_html_e( 'pixels', 'litespeed-cache' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'LQIP requests will not be sent for images where both width and height are smaller than these dimensions.', 'litespeed-cache' ); ?>
					<?php $this->recommended( $option_id ); ?>
					<?php $this->_validate_ttl( $option_id, 10, 800 ); ?>
					<?php $this->_validate_ttl( Base::O_MEDIA_LQIP_MIN_H, 10, 800 ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_PLACEHOLDER_RESP_ASYNC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Automatically generate LQIP in the background via a cron-based queue.', 'litespeed-cache' ); ?>
					<?php
					printf(
						esc_html__( 'If set to %1$s, before the placeholder is localized, the %2$s configuration will be used.', 'litespeed-cache' ),
						'<code>' . esc_html__( 'ON', 'litespeed-cache' ) . '</code>',
						'<code>' . esc_html( Lang::title( Base::O_MEDIA_PLACEHOLDER_RESP_SVG ) ) . '</code>'
					);
					?>
					<?php printf( esc_html__( 'If set to %s this is done in the foreground, which may slow down page load.', 'litespeed-cache' ), '<code>' . esc_html__( 'OFF', 'litespeed-cache' ) . '</code>' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#generate-lqip-in-background' ); ?>
				</div>

				<div class="litespeed-desc">
					<?php if ( $placeholder_summary ) : ?>
						<?php if ( ! empty( $placeholder_summary['last_request'] ) ) : ?>
							<p>
								<?php echo esc_html__( 'Last generated', 'litespeed-cache' ) . ': <code>' . esc_html( Utility::readable_time( $placeholder_summary['last_request'] ) ) . '</code>'; ?>
							</p>
						<?php endif; ?>
					<?php endif; ?>

					<?php if ( $closest_server ) : ?>
						<a class="litespeed-redetect" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_LQIP ) ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php printf( esc_html__( 'Current closest Cloud server is %s. Click to redetect.', 'litespeed-cache' ), esc_html( $closest_server ) ); ?>' data-litespeed-cfm="<?php esc_html_e( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ); ?>"><i class='litespeed-quic-icon'></i> <?php esc_html_e( 'Redetect', 'litespeed-cache' ); ?></a>
					<?php endif; ?>

					<?php if ( ! empty( $lqip_queue ) ) : ?>
						<div class="litespeed-callout notice notice-warning inline">
							<h4>
								<?php esc_html_e( 'Size list in queue waiting for cron', 'litespeed-cache' ); ?> ( <?php echo esc_html( count( $lqip_queue ) ); ?> )
								<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_PLACEHOLDER, Placeholder::TYPE_CLEAR_Q ) ); ?>" class="button litespeed-btn-warning litespeed-right"><?php esc_html_e( 'Clear', 'litespeed-cache' ); ?></a>
							</h4>
							<p>
								<?php
								$i = 0;
								foreach ( $lqip_queue as $k => $v ) {
									if ( $i++ > 20 ) {
										echo '...';
										break;
									}
									echo esc_html( $v );
									echo '<br />';
								}
								?>
							</p>
						</div>
						<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_PLACEHOLDER, Placeholder::TYPE_GENERATE ) ); ?>" class="button litespeed-btn-success">
							<?php esc_html_e( 'Run Queue Manually', 'litespeed-cache' ); ?>
						</a>
						<?php Doc::queue_issues(); ?>
					<?php endif; ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_IFRAME_LAZY; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Load iframes only when they enter the viewport.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This can improve page loading time by reducing initial HTTP requests.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_ADD_MISSING_SIZES; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric).', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://web.dev/optimize-cls/#images-without-dimensions' ); ?>

					<br />
					<font class="litespeed-warning litespeed-left10">
						⚠️ <?php esc_html_e( 'Notice', 'litespeed-cache' ); ?>: <?php printf( esc_html__( '%s must be turned ON for this setting to work.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_MEDIA_LAZY ) ) . '</code>' ); ?>
					</font>

					<br />
					<font class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'Use %1$s to bypass remote image dimension check when %2$s is ON.', 'litespeed-cache' ), '<code>add_filter( "litespeed_media_ignore_remote_missing_sizes", "__return_true" );</code>', '<code>' . esc_html( Lang::title( Base::O_MEDIA_ADD_MISSING_SIZES ) ) . '</code>' ); ?>
					</font>
					<?php $__admin_display->_check_overwritten( Base::O_MEDIA_ADD_MISSING_SIZES ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_IMG_OPTM_JPG_QUALITY; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'The image compression quality setting of WordPress out of 100.', 'litespeed-cache' ); ?>
					<?php $this->recommended( $option_id ); ?>
					<?php $this->_validate_ttl( $option_id, 0, 100 ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_AUTO_RESCALE_ORI; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Automatically replace large images with scaled versions.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'Scaled size threshold', 'litespeed-cache' ); ?>: <code><?php echo wp_kses_post( $scaled_size ); ?></code>
					<br />
					<span class="litespeed-success">
						API:
						<?php
						printf(
							esc_html__( 'Filter %s available to change threshold.', 'litespeed-cache' ),
							'<code>big_image_size_threshold</code>'
						);
						?>
						<a href="https://developer.wordpress.org/reference/hooks/big_image_size_threshold/" target="_blank" class="litespeed-learn-more">
							<?php esc_html_e('Learn More', 'litespeed-cache'); ?>
						</a>
					</span>

					<br />
					<font class="litespeed-danger">
						🚨
						<?php esc_html_e( 'This is irreversible.', 'litespeed-cache' ); ?>
					</font>
				</div>
			</td>
		</tr>
	</tbody>
</table>PK|^�\��q��
�
1litespeed-cache/tpl/page_optm/settings_js.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache JS Settings
 *
 * Renders the JS optimization settings interface for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'JS Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#js-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_JS_MIN; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<?php Doc::maybe_on_by_gm( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Minify JS files and inline JS codes.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_JS_COMB; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<?php Doc::maybe_on_by_gm( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Combine all local JS files into a single file.', 'litespeed-cache' ); ?>
					<a href="https://docs.litespeedtech.com/lscache/lscwp/ts-optimize/" target="_blank"><?php esc_html_e( 'How to Fix Problems Caused by CSS/JS Optimization.', 'litespeed-cache' ); ?></a>
					<br />
					<font class="litespeed-danger">
						🚨 <?php esc_html_e( 'This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.', 'litespeed-cache' ); ?>
						<?php esc_html_e( 'JS error can be found from the developer console of browser by right clicking and choosing Inspect.', 'litespeed-cache' ); ?>
					</font>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_JS_COMB_EXT_INL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_OPTM_JS_COMB ) ) . '</code>' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_JS_DEFER; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id, array( esc_html__( 'OFF', 'litespeed-cache' ), esc_html__( 'Deferred', 'litespeed-cache' ), esc_html__( 'Delayed', 'litespeed-cache' ) ) ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric).', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#load-js-deferred' ); ?><br />
					<?php esc_html_e( 'This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://web.dev/fid/#what-is-fid' ); ?>
					<br />
					<font class="litespeed-danger">
						🚨 <?php esc_html_e( 'This option may result in a JS error or layout issue on frontend pages with certain themes/plugins.', 'litespeed-cache' ); ?>
					</font>
				</div>
			</td>
		</tr>

	</tbody>
</table>PK|^�\eL��//5litespeed-cache/tpl/page_optm/settings_tuning.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Tuning Settings
 *
 * Renders the tuning settings interface for LiteSpeed Cache, allowing configuration of optimization exclusions and role-based settings.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

global $wp_roles;
$wp_orig_roles = $wp_roles;
if ( ! isset( $wp_roles ) ) {
	$wp_orig_roles = new \WP_Roles();
}

$roles = array();
foreach ( $wp_orig_roles->roles as $k => $v ) {
	$roles[ $k ] = $v['name'];
}
ksort( $roles );

?>
<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Tuning Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#tuning-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_JS_DELAY_INC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Listed JS files or inline JS code will be delayed.', 'litespeed-cache' ); ?>
					<?php Doc::full_or_partial_url(); ?>
					<?php Doc::one_per_line(); ?>
					<br />
					<font class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_optm_js_delay_inc</code>' ); ?>
					</font>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_JS_EXC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Listed JS files or inline JS code will not be minified or combined.', 'litespeed-cache' ); ?>
					<?php Doc::full_or_partial_url(); ?>
					<?php Doc::one_per_line(); ?>
					<br />
					<font class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_optimize_js_excludes</code>' ); ?>
						<?php printf( esc_html__( 'Elements with attribute %s in html code will be excluded.', 'litespeed-cache' ), '<code>data-no-optimize="1"</code>' ); ?>
						<br /><?php esc_html_e( 'Predefined list will also be combined with the above settings.', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_excludes.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_excludes.txt</a>
					</font>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_JS_DEFER_EXC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Listed JS files or inline JS code will not be deferred or delayed.', 'litespeed-cache' ); ?>
					<?php Doc::full_or_partial_url(); ?>
					<?php Doc::one_per_line(); ?>
					<br /><span class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_optm_js_defer_exc</code>' ); ?>
						<?php printf( esc_html__( 'Elements with attribute %s in html code will be excluded.', 'litespeed-cache' ), '<code>data-no-defer="1"</code>' ); ?>
						<br /><?php esc_html_e( 'Predefined list will also be combined with the above settings.', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_defer_excludes.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_defer_excludes.txt</a>
					</span>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_GM_JS_EXC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Listed JS files or inline JS code will not be optimized by %s.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_GUEST ) ) . '</code>' ); ?>
					<?php Doc::full_or_partial_url(); ?>
					<?php Doc::one_per_line(); ?>
					<br /><span class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_optm_gm_js_exc</code>' ); ?>
						<?php printf( esc_html__( 'Elements with attribute %s in html code will be excluded.', 'litespeed-cache' ), '<code>data-no-defer="1"</code>' ); ?>
					</span>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_EXC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Prevent any optimization of listed pages.', 'litespeed-cache' ); ?>
					<?php $this->_uri_usage_example(); ?>
					<br /><span class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_optm_uri_exc</code>' ); ?>
					</span>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_GUEST_ONLY; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_EXC_ROLES; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Selected roles will be excluded from all optimizations.', 'litespeed-cache' ); ?>
				</div>
				<div class="litespeed-tick-list">
					<?php
					foreach ( $roles as $role_id => $role_title ) {
						$this->build_checkbox( $option_id . '[]', $role_title, $this->cls( 'Conf' )->in_optm_exc_roles( $role_id ), $role_id );
					}
					?>
				</div>
			</td>
		</tr>

	</tbody>
</table>PK}^�\>!Ց�2litespeed-cache/tpl/page_optm/settings_vpi.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Viewport Images Settings
 *
 * Renders the Viewport Images settings interface for LiteSpeed Cache, allowing configuration of viewport image detection and exclusions.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$summary        = VPI::get_summary();
$closest_server = Cloud::get_summary( 'server.' . Cloud::SVC_VPI );

$queue           = $this->load_queue( 'vpi' );
$vpi_service_hot = $this->cls( 'Cloud' )->service_hot( Cloud::SVC_VPI );
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Viewport Images', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#vpi-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_VPI; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'When you use Lazy Load, it will delay the loading of all images on a page.', 'litespeed-cache' ); ?>
					<br /><?php esc_html_e( 'The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.', 'litespeed-cache' ); ?>
					<br /><?php esc_html_e( "This enables the page's initial screenful of imagery to be fully displayed without delay.", 'litespeed-cache' ); ?>

					<?php if ( ! $this->conf( Base::O_MEDIA_LAZY ) ) : ?>
						<br />
						<font class="litespeed-warning litespeed-left10">
							⚠️ <?php esc_html_e( 'Notice', 'litespeed-cache' ); ?>: <?php printf( esc_html__( '%s must be turned ON for this setting to work.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_MEDIA_LAZY ) ) . '</code>' ); ?>
						</font>
					<?php endif; ?>
				</div>

				<div class="litespeed-desc litespeed-left20">
					<?php if ( $summary ) : ?>
						<?php if ( ! empty( $summary['last_request'] ) ) : ?>
							<p>
								<?php echo esc_html__( 'Last generated', 'litespeed-cache' ) . ': <code>' . esc_html( Utility::readable_time( $summary['last_request'] ) ) . '</code>'; ?>
							</p>
						<?php endif; ?>
					<?php endif; ?>

					<?php if ( $closest_server ) : ?>
						<a class='litespeed-redetect' href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_VPI ) ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php printf( esc_html__( 'Current closest Cloud server is %s. Click to redetect.', 'litespeed-cache' ), esc_html( $closest_server ) ); ?>' data-litespeed-cfm="<?php esc_html_e( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ); ?>"><i class='litespeed-quic-icon'></i> <?php esc_html_e( 'Redetect', 'litespeed-cache' ); ?></a>
					<?php endif; ?>

					<?php if ( ! empty( $queue ) ) : ?>
						<div class="litespeed-callout notice notice-warning inline">
							<h4>
								<?php printf( esc_html__( 'URL list in %s queue waiting for cron', 'litespeed-cache' ), 'VPI' ); ?> ( <?php echo esc_html( count( $queue ) ); ?> )
								<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_VPI, VPI::TYPE_CLEAR_Q ) ); ?>" class="button litespeed-btn-warning litespeed-right"><?php esc_html_e( 'Clear', 'litespeed-cache' ); ?></a>
							</h4>
							<p>
								<?php
								$i = 0;
								foreach ( $queue as $k => $v ) {
									if ( $i++ > 20 ) {
										echo '...';
										break;
									}
									if ( ! is_array( $v ) ) {
										continue;
									}
									if ( ! empty( $v['_status'] ) ) {
										echo '<span class="litespeed-success">';
									}
									echo esc_html( $v['url'] );
									if ( ! empty( $v['_status'] ) ) {
										echo '</span>';
									}
									$pos = strpos( $k, ' ' );
									if ( $pos ) {
										echo ' (' . esc_html__( 'Vary Group', 'litespeed-cache' ) . ':' . esc_html( substr( $k, 0, $pos ) ) . ')';
									}
									if ( $v['is_mobile'] ) {
										echo ' <span data-balloon-pos="up" aria-label="mobile">📱</span>';
									}
									echo '<br />';
								}
								?>
							</p>
						</div>
						<?php if ( $vpi_service_hot ) : ?>
							<button class="button button-secondary" disabled>
								<?php printf( esc_html__( 'Run %s Queue Manually', 'litespeed-cache' ), 'VPI' ); ?>
								- <?php printf( esc_html__( 'Available after %d second(s)', 'litespeed-cache' ), esc_html( $vpi_service_hot ) ); ?>
							</button>
						<?php else : ?>
							<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_VPI, VPI::TYPE_GEN ) ); ?>" class="button litespeed-btn-success">
								<?php printf( esc_html__( 'Run %s Queue Manually', 'litespeed-cache' ), 'VPI' ); ?>
							</a>
						<?php endif; ?>
						<?php Doc::queue_issues(); ?>
					<?php endif; ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_MEDIA_VPI_CRON; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Enable Viewport Images auto generation cron.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>
	</tbody>
</table>PK}^�\\�M||8litespeed-cache/tpl/page_optm/settings_media_exc.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Media Excludes Settings
 *
 * Renders the media excludes settings interface for LiteSpeed Cache, allowing configuration of exclusions for lazy loading and LQIP.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Media Excludes', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#media-excludes-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table"><tbody>

	<tr>
		<th>
			<?php $option_id = Base::O_MEDIA_LAZY_EXC; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Listed images will not be lazy loaded.', 'litespeed-cache' ); ?>
				<?php Doc::full_or_partial_url(); ?>
				<?php Doc::one_per_line(); ?>
				<br /><?php esc_html_e( 'Useful for above-the-fold images causing CLS (a Core Web Vitals metric).', 'litespeed-cache' ); ?>
				<br /><font class="litespeed-success">
					<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
					<?php printf( esc_html__( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_media_lazy_img_excludes</code>' ); ?>
					<?php printf( esc_html__( 'Elements with attribute %s in html code will be excluded.', 'litespeed-cache' ), '<code>data-no-lazy="1"</code>' ); ?>
				</font>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_MEDIA_LAZY_CLS_EXC; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<div class="litespeed-textarea-recommended">
				<div>
					<?php $this->build_textarea( $option_id ); ?>
				</div>
				<div>
					<?php $this->recommended( $option_id ); ?>
				</div>
			</div>

			<div class="litespeed-desc">
				<?php esc_html_e( 'Images containing these class names will not be lazy loaded.', 'litespeed-cache' ); ?>
				<?php Doc::full_or_partial_url( true ); ?>
				<?php Doc::one_per_line(); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_MEDIA_LAZY_PARENT_CLS_EXC; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Images having these parent class names will not be lazy loaded.', 'litespeed-cache' ); ?>
				<?php Doc::one_per_line(); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_MEDIA_IFRAME_LAZY_CLS_EXC; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Iframes containing these class names will not be lazy loaded.', 'litespeed-cache' ); ?>
				<?php Doc::full_or_partial_url( true ); ?>
				<?php Doc::one_per_line(); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_MEDIA_IFRAME_LAZY_PARENT_CLS_EXC; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Iframes having these parent class names will not be lazy loaded.', 'litespeed-cache' ); ?>
				<?php Doc::one_per_line(); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_MEDIA_LAZY_URI_EXC; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Prevent any lazy load of listed pages.', 'litespeed-cache' ); ?>
				<?php $this->_uri_usage_example(); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_MEDIA_LQIP_EXC; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'These images will not generate LQIP.', 'litespeed-cache' ); ?>
				<?php Doc::full_or_partial_url(); ?>
			</div>
		</td>
	</tr>

</tbody></table>PK}^�\�/Tܹ�;litespeed-cache/tpl/page_optm/settings_localization.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Localization Settings
 *
 * Renders the localization settings interface for LiteSpeed Cache, including Gravatar caching and resource localization.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$last_generated = Avatar::get_summary();
$avatar_queue   = Avatar::cls()->queue_count();
?>

<?php if ( $this->cls( 'Avatar' )->need_db() && ! $this->cls( 'Data' )->tb_exist( 'avatar' ) ) : ?>
<div class="litespeed-callout notice notice-error inline">
	<h4><?php esc_html_e( 'WARNING', 'litespeed-cache' ); ?></h4>
	<p>
		<?php
			echo wp_kses_post( 
				sprintf ( 
					__( 'Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup.', 'litespeed-cache' ), 
					'href="https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cache:lscwp:installation" target="_blank"' 
				)
			);
		?>
	</p>
</div>
<?php endif; ?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Localization Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#localization-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table"><tbody>
	<tr>
		<th>
			<?php $option_id = Base::O_DISCUSS_AVATAR_CACHE; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Store Gravatar locally.', 'litespeed-cache' ); ?>
				<?php esc_html_e( 'Accelerates the speed by caching Gravatar (Globally Recognized Avatars).', 'litespeed-cache' ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th class="litespeed-padding-left">
			<?php $option_id = Base::O_DISCUSS_AVATAR_CRON; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Refresh Gravatar cache by cron.', 'litespeed-cache' ); ?>
			</div>

			<?php if ( $last_generated ) : ?>
			<div class="litespeed-desc">
				<?php if ( ! empty( $last_generated['last_request'] ) ) : ?>
					<p>
						<?php echo esc_html__( 'Last ran', 'litespeed-cache' ) . ': <code>' . esc_html( Utility::readable_time( $last_generated['last_request'] ) ) . '</code>'; ?>
					</p>
				<?php endif; ?>
				<?php if ( $avatar_queue ) : ?>
					<div class="litespeed-callout notice notice-warning inline">
						<h4>
							<?php echo esc_html__( 'Avatar list in queue waiting for update', 'litespeed-cache' ); ?>:
							<?php echo esc_html( $avatar_queue ); ?>
						</h4>
					</div>
					<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_AVATAR, Avatar::TYPE_GENERATE ) ); ?>" class="button litespeed-btn-success">
						<?php esc_html_e( 'Run Queue Manually', 'litespeed-cache' ); ?>
					</a>
				<?php endif; ?>
			</div>
			<?php endif; ?>

		</td>
	</tr>

	<tr>
		<th class="litespeed-padding-left">
			<?php $option_id = Base::O_DISCUSS_AVATAR_CACHE_TTL; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id ); ?> <?php $this->readable_seconds(); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Specify how long, in seconds, Gravatar files are cached.', 'litespeed-cache' ); ?>
				<?php $this->recommended( $option_id ); ?>
				<?php $this->_validate_ttl( $option_id, 3600 ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_OPTM_LOCALIZE; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Localize external resources.', 'litespeed-cache' ); ?>
				<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#localize' ); ?>

				<br /><font class="litespeed-danger">
					🚨 <?php printf( esc_html__( 'Please thoroughly test all items in %s to ensure they function as expected.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_OPTM_LOCALIZE_DOMAINS ) ) . '</code>' ); ?>
				</font>
			</div>
		</td>
	</tr>

	<tr>
		<th class="litespeed-padding-left">
			<?php $option_id = Base::O_OPTM_LOCALIZE_DOMAINS; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<div class="litespeed-textarea-recommended">
				<div>
					<?php $this->build_textarea( $option_id ); ?>
				</div>
				<div>
					<?php $this->recommended( $option_id, true ); ?>
				</div>
			</div>

			<div class="litespeed-desc">
				<?php esc_html_e( 'Resources listed here will be copied and replaced with local URLs.', 'litespeed-cache' ); ?>
				<?php esc_html_e( 'HTTPS sources only.', 'litespeed-cache' ); ?>

				<?php Doc::one_per_line(); ?>

				<br /><?php printf( esc_html__( 'Comments are supported. Start a line with a %s to turn it into a comment line.', 'litespeed-cache' ), '<code>#</code>' ); ?>

				<br /><?php esc_html_e( 'Example', 'litespeed-cache' ); ?>: <code>https://www.example.com/one.js</code>
				<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#localization-files' ); ?>

				<br /><font class="litespeed-danger">
					🚨 <?php esc_html_e( 'Please thoroughly test each JS file you add to ensure it functions as expected.', 'litespeed-cache' ); ?>
				</font>
			</div>
		</td>
	</tr>

</tbody></table>
PK�^�\+7�Y>>2litespeed-cache/tpl/page_optm/settings_css.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache CSS Settings
 *
 * Renders the CSS optimization settings interface for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$__admin_display     = Admin_Display::cls();
$css_summary         = CSS::get_summary();
$ucss_summary        = UCSS::get_summary();
$closest_server_ucss = Cloud::get_summary( 'server.' . Cloud::SVC_UCSS );
$closest_server      = Cloud::get_summary( 'server.' . Cloud::SVC_CCSS );

$ccss_queue = $this->load_queue( 'ccss' );
$ucss_queue = $this->load_queue( 'ucss' );

$next_gen = '<code class="litespeed-success">' . $this->cls( 'Media' )->next_gen_image_title() . '</code>';

$ucss_service_hot = $this->cls( 'Cloud' )->service_hot( Cloud::SVC_UCSS );
$ccss_service_hot = $this->cls( 'Cloud' )->service_hot( Cloud::SVC_CCSS );
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'CSS Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_CSS_MIN; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<?php Doc::maybe_on_by_gm( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Minify CSS files and inline CSS code.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_CSS_COMB; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<?php Doc::maybe_on_by_gm( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Combine CSS files and inline CSS code.', 'litespeed-cache' ); ?>
					<a href="https://docs.litespeedtech.com/lscache/lscwp/ts-optimize/" target="_blank"><?php esc_html_e( 'How to Fix Problems Caused by CSS/JS Optimization.', 'litespeed-cache' ); ?></a>
				</div>
			</td>
		</tr>

		<tr>
			<th class="litespeed-padding-left">
				<?php $option_id = Base::O_OPTM_UCSS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<?php Doc::maybe_on_by_gm( $option_id ); ?>
				<div class="litespeed-desc">
					<?php if ( ! $this->cls( 'Cloud' )->activated() ) : ?>
						<div class="litespeed-callout notice notice-error inline">
							<h4><?php esc_html_e( 'WARNING', 'litespeed-cache' ); ?></h4>
							<?php echo wp_kses_post( Error::msg( 'qc_setup_required' ) ); ?>
						</div>
					<?php endif; ?>

					<?php esc_html_e( 'Use QUIC.cloud online service to generate unique CSS.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This will drop the unused CSS on each page from the combined file.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#generate-ucss' ); ?>
					<br /><?php esc_html_e( 'Automatic generation of unique CSS is in the background via a cron-based queue.', 'litespeed-cache' ); ?>
					<br />
					<font class="litespeed-success"><?php esc_html_e( 'API', 'litespeed-cache' ); ?>: <?php printf( esc_html__( 'Filter %s available for UCSS per page type generation.', 'litespeed-cache' ), '<code>add_filter( "litespeed_ucss_per_pagetype", "__return_true" );</code>' ); ?></font>
					<?php $__admin_display->_check_overwritten( 'optm-ucss_per_pagetype' ); ?>

					<?php if ( $this->conf( Base::O_OPTM_UCSS ) && ! $this->conf( Base::O_OPTM_CSS_COMB ) ) : ?>
						<br />
						<font class="litespeed-warning">
							<?php printf( esc_html__( 'This option is bypassed because %1$s option is %2$s.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_OPTM_CSS_COMB ) ) . '</code>', '<code>' . esc_html__( 'OFF', 'litespeed-cache' ) . '</code>' ); ?>
						</font>
					<?php endif; ?>
				</div>

				<div class="litespeed-desc litespeed-left20">
					<?php if ( $ucss_summary ) : ?>
						<?php if ( ! empty( $ucss_summary['last_request'] ) ) : ?>
							<p>
								<?php echo esc_html__( 'Last generated', 'litespeed-cache' ) . ': <code>' . esc_html( Utility::readable_time( $ucss_summary['last_request'] ) ) . '</code>'; ?>
							</p>
							<p>
								<?php echo esc_html__( 'Last requested cost', 'litespeed-cache' ) . ': <code>' . esc_html( $ucss_summary['last_spent'] ) . 's</code>'; ?>
							</p>
						<?php endif; ?>
					<?php endif; ?>

					<?php if ( $closest_server_ucss ) : ?>
						<a class="litespeed-redetect" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_UCSS ) ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label="<?php printf( esc_html__( 'Current closest Cloud server is %s. Click to redetect.', 'litespeed-cache' ), esc_html( $closest_server_ucss ) ); ?>" data-litespeed-cfm="<?php esc_html_e( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ); ?>"><i class="litespeed-quic-icon"></i> <?php esc_html_e( 'Redetect', 'litespeed-cache' ); ?></a>
					<?php endif; ?>

					<?php if ( ! empty( $ucss_queue ) ) : ?>
						<div class="litespeed-callout notice notice-warning inline">
							<h4>
								<?php printf( esc_html__( 'URL list in %s queue waiting for cron', 'litespeed-cache' ), 'UCSS' ); ?> ( <?php echo esc_html( count( $ucss_queue ) ); ?> )
								<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_UCSS, UCSS::TYPE_CLEAR_Q ) ); ?>" class="button litespeed-btn-warning litespeed-right"><?php esc_html_e( 'Clear', 'litespeed-cache' ); ?></a>
							</h4>
							<p>
								<?php
								$i = 0;
								foreach ( $ucss_queue as $queue_key => $queue_val ) :
									if ( $i++ > 20 ) :
										echo '...';
										break;
									endif;
									if ( ! is_array( $queue_val ) ) {
										continue;
									}
									if ( ! empty( $queue_val['_status'] ) ) {
										echo '<span class="litespeed-success">';
									}
									echo esc_html( $queue_val['url'] );
									if ( ! empty( $queue_val['_status'] ) ) {
										echo '</span>';
									}
									$pos = strpos( $queue_key, ' ' );
									if ( $pos ) {
										echo ' (' . esc_html__( 'Vary Group', 'litespeed-cache' ) . ':' . esc_html( substr( $queue_key, 0, $pos ) ) . ')';
									}
									if ( $queue_val['is_mobile'] ) {
										echo ' <span data-balloon-pos="up" aria-label="mobile">📱</span>';
									}
									if ( ! empty( $queue_val['is_webp'] ) ) {
										echo ' ' . wp_kses_post( $next_gen );
									}
									echo '<br />';
								endforeach;
								?>
							</p>
						</div>
						<?php if ( $ucss_service_hot ) : ?>
							<button class="button button-secondary" disabled>
								<?php printf( esc_html__( 'Run %s Queue Manually', 'litespeed-cache' ), 'UCSS' ); ?>
								- <?php printf( esc_html__( 'Available after %d second(s)', 'litespeed-cache' ), esc_html( $ucss_service_hot ) ); ?>
							</button>
						<?php else : ?>
							<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_UCSS, UCSS::TYPE_GEN ) ); ?>" class="button litespeed-btn-success">
								<?php printf( esc_html__( 'Run %s Queue Manually', 'litespeed-cache' ), 'UCSS' ); ?>
							</a>
						<?php endif; ?>
						<?php Doc::queue_issues(); ?>
					<?php endif; ?>
				</div>
			</td>
		</tr>

		<tr>
			<th class="litespeed-padding-left">
				<?php $option_id = Base::O_OPTM_UCSS_INLINE; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<?php Doc::maybe_on_by_gm( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_GUEST ) ) . '</code>' ); ?>
					<br />
					<font class="litespeed-info">
						<?php printf( esc_html__( 'This option will automatically bypass %s option.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_OPTM_CSS_ASYNC ) ) . '</code>' ); ?>
					</font>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_CSS_COMB_EXT_INL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_OPTM_CSS_COMB ) ) . '</code>' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_CSS_ASYNC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<?php Doc::maybe_on_by_gm( $option_id ); ?>
				<div class="litespeed-desc">
					<?php if ( ! $this->cls( 'Cloud' )->activated() ) : ?>
						<div class="litespeed-callout notice notice-error inline">
							<h4><?php esc_html_e( 'WARNING', 'litespeed-cache' ); ?></h4>
							<?php echo wp_kses_post( Error::msg( 'qc_setup_required' ) ); ?>
						</div>
					<?php endif; ?>
					<?php esc_html_e( 'Optimize CSS delivery.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.', 'litespeed-cache' ); ?><br />
					<?php esc_html_e( 'Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#load-css-asynchronously' ); ?><br />
					<?php esc_html_e( 'Automatic generation of critical CSS is in the background via a cron-based queue.', 'litespeed-cache' ); ?><br />
					<?php printf( esc_html__( 'When this option is turned %s, it will also load Google Fonts asynchronously.', 'litespeed-cache' ), '<code>' . esc_html__( 'ON', 'litespeed-cache' ) . '</code>' ); ?>
					<br />
					<font class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'Elements with attribute %s in HTML code will be excluded.', 'litespeed-cache' ), '<code>data-no-async="1"</code>' ); ?>
					</font>

					<?php if ( $this->conf( Base::O_OPTM_CSS_ASYNC ) && $this->conf( Base::O_OPTM_CSS_COMB ) && $this->conf( Base::O_OPTM_UCSS ) && $this->conf( Base::O_OPTM_UCSS_INLINE ) ) : ?>
						<br />
						<font class="litespeed-warning">
							<?php printf( esc_html__( 'This option is bypassed due to %s option.', 'litespeed-cache' ), '<code>' . esc_html( Lang::title( Base::O_OPTM_UCSS_INLINE ) ) . '</code>' ); ?>
						</font>
					<?php endif; ?>
				</div>

				<div class="litespeed-desc litespeed-left20">
					<?php if ( $css_summary ) : ?>
						<?php if ( ! empty( $css_summary['last_request_ccss'] ) ) : ?>
							<p>
								<?php echo esc_html__( 'Last generated', 'litespeed-cache' ) . ': <code>' . esc_html( Utility::readable_time( $css_summary['last_request_ccss'] ) ) . '</code>'; ?>
							</p>
							<p>
								<?php echo esc_html__( 'Last requested cost', 'litespeed-cache' ) . ': <code>' . esc_html( $css_summary['last_spent_ccss'] ) . 's</code>'; ?>
							</p>
						<?php endif; ?>
					<?php endif; ?>

					<?php if ( $closest_server ) : ?>
						<a class="litespeed-redetect" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_CCSS ) ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label="<?php printf( esc_html__( 'Current closest Cloud server is %s. Click to redetect.', 'litespeed-cache' ), esc_html( $closest_server ) ); ?>" data-litespeed-cfm="<?php esc_html_e( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ); ?>"><i class="litespeed-quic-icon"></i> <?php esc_html_e( 'Redetect', 'litespeed-cache' ); ?></a>
					<?php endif; ?>

					<?php if ( ! empty( $ccss_queue ) ) : ?>
						<div class="litespeed-callout notice notice-warning inline">
							<h4>
								<?php printf( esc_html__( 'URL list in %s queue waiting for cron', 'litespeed-cache' ), 'CCSS' ); ?> ( <?php echo esc_html( count( $ccss_queue ) ); ?> )
								<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CSS, CSS::TYPE_CLEAR_Q_CCSS ) ); ?>" class="button litespeed-btn-warning litespeed-right"><?php esc_html_e( 'Clear', 'litespeed-cache' ); ?></a>
							</h4>
							<p>
								<?php
								$i = 0;
								foreach ( $ccss_queue as $queue_key => $queue_val ) :
									if ( $i++ > 20 ) :
										echo '...';
										break;
									endif;
									if ( ! is_array( $queue_val ) ) {
										continue;
									}
									if ( ! empty( $queue_val['_status'] ) ) {
										echo '<span class="litespeed-success">';
									}
									echo esc_html( $queue_val['url'] );
									if ( ! empty( $queue_val['_status'] ) ) {
										echo '</span>';
									}
									$pos = strpos( $queue_key, ' ' );
									if ( $pos ) {
										echo ' (' . esc_html__( 'Vary Group', 'litespeed-cache' ) . ':' . esc_html( substr( $queue_key, 0, $pos ) ) . ')';
									}
									if ( $queue_val['is_mobile'] ) {
										echo ' <span data-balloon-pos="up" aria-label="mobile">📱</span>';
									}
									if ( ! empty( $queue_val['is_webp'] ) ) {
										echo ' ' . wp_kses_post( $next_gen );
									}
									echo '<br />';
								endforeach;
								?>
							</p>
						</div>
						<?php if ( $ccss_service_hot ) : ?>
							<button class="button button-secondary" disabled>
								<?php printf( esc_html__( 'Run %s Queue Manually', 'litespeed-cache' ), 'CCSS' ); ?>
								- <?php printf( esc_html__( 'Available after %d second(s)', 'litespeed-cache' ), esc_html( $ccss_service_hot ) ); ?>
							</button>
						<?php else : ?>
							<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CSS, CSS::TYPE_GEN_CCSS ) ); ?>" class="button litespeed-btn-success">
								<?php printf( esc_html__( 'Run %s Queue Manually', 'litespeed-cache' ), 'CCSS' ); ?>
							</a>
						<?php endif; ?>
						<?php Doc::queue_issues(); ?>
					<?php endif; ?>
				</div>
			</td>
		</tr>

		<tr>
			<th class="litespeed-padding-left">
				<?php $option_id = Base::O_OPTM_CCSS_PER_URL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th class="litespeed-padding-left">
				<?php $option_id = Base::O_OPTM_CSS_ASYNC_INLINE; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'This will inline the asynchronous CSS library to avoid render blocking.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_CSS_FONT_DISPLAY; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id, array( esc_html__( 'Default', 'litespeed-cache' ), 'Swap' ) ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded.', 'litespeed-cache' ), '<code>font-display</code>', '<code>@font-face</code>' ); ?>
					<br /><?php printf( esc_html__( '%s is recommended.', 'litespeed-cache' ), '<code>' . esc_html__( 'Swap', 'litespeed-cache' ) . '</code>' ); ?>
				</div>
			</td>
		</tr>
	</tbody>
</table>PK�^�\a��GG3litespeed-cache/tpl/page_optm/settings_html.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache HTML Settings
 *
 * Renders the HTML optimization settings interface for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'HTML Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#html-settings-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_HTML_MIN; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Minify HTML content.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_DNS_PREFETCH; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Prefetching DNS can reduce latency for visitors.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'For example', 'litespeed-cache' ); ?>: <code>//www.example.com</code>
					<?php Doc::one_per_line(); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#dns-prefetch' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_DNS_PREFETCH_CTRL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This can improve the page loading speed.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_DNS_PRECONNECT; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Preconnecting speeds up future loads from a given origin.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'For example', 'litespeed-cache' ); ?>: <code>https://example.com</code>
					<?php Doc::one_per_line(); ?>
					<?php Doc::learn_more( 'https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/preconnect' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_HTML_LAZY; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Delay rendering off-screen HTML elements by its selector.', 'litespeed-cache' ); ?>
					<?php Doc::one_per_line(); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#html-lazyload-selectors' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_HTML_SKIP_COMMENTS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'When minifying HTML do not discard comments that match a specified pattern.', 'litespeed-cache' ); ?>
					<br />
					<?php printf( esc_html__( 'If comment to be kept is like: %1$s write: %2$s', 'litespeed-cache' ), '<code>&lt;!-- A comment that needs to be here --&gt;</code>', '<code>A comment that needs to be here</code>' ); ?>
					<br />
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_QS_RM; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Remove query strings from internal static resources.', 'litespeed-cache' ); ?>
					<br />
					<font class="litespeed-warning">
						⚠️
						<?php esc_html_e( 'Google reCAPTCHA will be bypassed automatically.', 'litespeed-cache' ); ?>
					</font>
					<br />
					<font class="litespeed-success">
						<?php esc_html_e( 'API', 'litespeed-cache' ); ?>:
						<?php printf( esc_html__( 'Append query string %s to the resources to bypass this action.', 'litespeed-cache' ), '<code>&amp;_litespeed_rm_qs=0</code>' ); ?>
					</font>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_GGFONTS_ASYNC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This will also add a preconnect to Google Fonts to establish a connection earlier.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#load-google-fonts-asynchronously' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_GGFONTS_RM; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Prevent Google Fonts from loading on all pages.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_EMOJI_RM; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Stop loading WordPress.org emoji. Browser default emoji will be displayed instead.', 'litespeed-cache' ); ?>
					<?php esc_html_e( 'This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_OPTM_NOSCRIPT_RM; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'This option will remove all %s tags from HTML.', 'litespeed-cache' ), '<code>&lt;noscript&gt;</code>' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#remove-noscript-tags' ); ?>
				</div>
			</td>
		</tr>

	</tbody>
</table>PK�^�\B=b���+litespeed-cache/tpl/page_optm/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Page Optimization Interface
 *
 * Renders the page optimization settings interface for LiteSpeed Cache with tabbed navigation.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = array(
	'settings_css'          => esc_html__( 'CSS Settings', 'litespeed-cache' ),
	'settings_js'           => esc_html__( 'JS Settings', 'litespeed-cache' ),
	'settings_html'         => esc_html__( 'HTML Settings', 'litespeed-cache' ),
	'settings_media'        => esc_html__( 'Media Settings', 'litespeed-cache' ),
	'settings_vpi'          => esc_html__( 'VPI', 'litespeed-cache' ),
	'settings_media_exc'    => esc_html__( 'Media Excludes', 'litespeed-cache' ),
	'settings_localization' => esc_html__( 'Localization', 'litespeed-cache' ),
	'settings_tuning'       => esc_html__( 'Tuning', 'litespeed-cache' ),
	'settings_tuning_css'   => esc_html__( 'Tuning', 'litespeed-cache' ) . ' - CSS',
);

?>

<div class="wrap">
	<h1 class="litespeed-h1">
		<?php esc_html_e( 'LiteSpeed Cache Page Optimization', 'litespeed-cache' ); ?>
	</h1>
	<span class="litespeed-desc">
		v<?php echo esc_html( Core::VER ); ?>
	</span>
	<hr class="wp-header-end">
</div>

<div class="litespeed-wrap">

	<div class="litespeed-callout notice notice-warning inline">
		<h4><?php esc_html_e( 'NOTICE', 'litespeed-cache' ); ?></h4>
		<p><?php esc_html_e( 'Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action.', 'litespeed-cache' ); ?></p>
	</div>

	<h2 class="litespeed-header nav-tab-wrapper">
		<?php GUI::display_tab_list( $menu_list ); ?>
	</h2>

	<div class="litespeed-body">
	<?php
		$this->form_action();

		// Include all tpl for faster UE
		foreach ( $menu_list as $tab_key => $tab_val ) {
			?>
			<div data-litespeed-layout='<?php echo esc_attr( $tab_key ); ?>'>
				<?php require LSCWP_DIR . 'tpl/page_optm/' . $tab_key . '.tpl.php'; ?>
			</div>
			<?php
		}

		$this->form_end();
	?>
	</div>

</div>PK�^�\��<�<�*litespeed-cache/tpl/dash/dashboard.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Dashboard
 *
 * Displays the dashboard for LiteSpeed Cache plugin, including cache status,
 * crawler status, QUIC.cloud service usage, and optimization statistics.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$health_scores   = Health::cls()->scores();
$crawler_summary = Crawler::get_summary();

// Image related info
$img_optm_summary        = Img_Optm::get_summary();
$img_count               = Img_Optm::cls()->img_count();
$img_finished_percentage = 0;
if ( ! empty( $img_count['groups_all'] ) ) {
	$img_finished_percentage = 100 - floor( $img_count['groups_new'] * 100 / $img_count['groups_all'] );
}
if ( 100 === $img_finished_percentage && ! empty( $img_count['groups_new'] ) ) {
	$img_finished_percentage = 99;
}

$cloud_instance = Cloud::cls();
$cloud_instance->finish_qc_activation();

$cloud_summary           = Cloud::get_summary();
$css_summary             = CSS::get_summary();
$ucss_summary            = UCSS::get_summary();
$placeholder_summary     = Placeholder::get_summary();
$vpi_summary             = VPI::get_summary();
$ccss_count              = count( $this->load_queue( 'ccss' ) );
$ucss_count              = count( $this->load_queue( 'ucss' ) );
$placeholder_queue_count = count( $this->load_queue( 'lqip' ) );
$vpi_queue_count         = count( $this->load_queue( 'vpi' ) );
$can_page_load_time      = defined( 'LITESPEED_SERVER_TYPE' ) && 'NONE' !== LITESPEED_SERVER_TYPE;

?>

<div class="litespeed-dashboard">
	<?php if ( ! $cloud_instance->activated() && ! Admin_Display::has_qc_hide_banner() ) : ?>
		<div class="litespeed-dashboard-group">
			<div class="litespeed-flex-container">
				<div class="postbox litespeed-postbox litespeed-postbox-cache">
					<div class="inside">
						<h3 class="litespeed-title">
							<?php esc_html_e( 'Cache Status', 'litespeed-cache' ); ?>
							<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-cache' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
						</h3>
						<?php
						$cache_list = array(
							Base::O_CACHE         => esc_html__( 'Public Cache', 'litespeed-cache' ),
							Base::O_CACHE_PRIV    => esc_html__( 'Private Cache', 'litespeed-cache' ),
							Base::O_OBJECT        => esc_html__( 'Object Cache', 'litespeed-cache' ),
							Base::O_CACHE_BROWSER => esc_html__( 'Browser Cache', 'litespeed-cache' ),
						);
						foreach ( $cache_list as $cache_option => $cache_title ) :
							?>
							<p>
								<?php if ( $this->conf( $cache_option ) ) : ?>
									<span class="litespeed-label-success litespeed-label-dashboard"><?php esc_html_e( 'ON', 'litespeed-cache' ); ?></span>
								<?php else : ?>
									<span class="litespeed-label-danger litespeed-label-dashboard"><?php esc_html_e( 'OFF', 'litespeed-cache' ); ?></span>
								<?php endif; ?>
								<?php echo esc_html( $cache_title ); ?>
							</p>
						<?php endforeach; ?>
					</div>
				</div>

				<div class="postbox litespeed-postbox litespeed-postbox-crawler">
					<div class="inside">
						<h3 class="litespeed-title">
							<?php esc_html_e( 'Crawler Status', 'litespeed-cache' ); ?>
							<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-crawler' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
						</h3>
						<p>
							<code><?php echo esc_html( count( Crawler::cls()->list_crawlers() ) ); ?></code> <?php esc_html_e( 'Crawler(s)', 'litespeed-cache' ); ?>
						</p>
						<p>
							<?php esc_html_e( 'Currently active crawler', 'litespeed-cache' ); ?>: <code><?php echo esc_html( $crawler_summary['curr_crawler'] ); ?></code>
						</p>
						<?php if ( ! empty( $crawler_summary['curr_crawler_beginning_time'] ) ) : ?>
							<p>
								<span class="litespeed-bold"><?php esc_html_e( 'Current crawler started at', 'litespeed-cache' ); ?>:</span>
								<?php echo esc_html( Utility::readable_time( $crawler_summary['curr_crawler_beginning_time'] ) ); ?>
							</p>
						<?php endif; ?>
						<?php if ( ! empty( $crawler_summary['last_start_time'] ) ) : ?>
							<p class="litespeed-desc">
								<span class="litespeed-bold"><?php esc_html_e( 'Last interval', 'litespeed-cache' ); ?>:</span>
								<?php echo esc_html( Utility::readable_time( $crawler_summary['last_start_time'] ) ); ?>
							</p>
						<?php endif; ?>
						<?php if ( ! empty( $crawler_summary['end_reason'] ) ) : ?>
							<p class="litespeed-desc">
								<span class="litespeed-bold"><?php esc_html_e( 'Ended reason', 'litespeed-cache' ); ?>:</span>
								<?php echo esc_html( $crawler_summary['end_reason'] ); ?>
							</p>
						<?php endif; ?>
						<?php if ( ! empty( $crawler_summary['last_crawled'] ) ) : ?>
							<p class="litespeed-desc">
								<?php
								printf(
									esc_html__( '%1$s %2$d item(s)', 'litespeed-cache' ),
									'<span class="litespeed-bold">' . esc_html__( 'Last crawled:', 'litespeed-cache' ) . '</span>',
									esc_html( $crawler_summary['last_crawled'] )
								);
								?>
							</p>
						<?php endif; ?>
					</div>
				</div>

				<?php
				$news = $cloud_instance->load_qc_status_for_dash( 'news_dash_guest' );
				if ( ! empty( $news ) ) :
					?>
					<div class="postbox litespeed-postbox">
						<div class="inside litespeed-text-center">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'News', 'litespeed-cache' ); ?>
							</h3>
							<div class="litespeed-top20">
								<?php echo wp_kses_post( $news ); ?>
							</div>
						</div>
					</div>
				<?php endif; ?>
			</div>
		</div>
	<?php endif; ?>

	<div class="litespeed-dashboard-qc">
		<?php if ( ! $cloud_instance->activated() && ! Admin_Display::has_qc_hide_banner() ) : ?>
			<div class="litespeed-dashboard-unlock">
				<div>
					<h3 class="litespeed-dashboard-unlock-title">
						<strong class="litespeed-qc-text-gradient">
							<?php esc_html_e( 'Accelerate, Optimize, Protect', 'litespeed-cache' ); ?>
						</strong>
					</h3>
					<p class="litespeed-dashboard-unlock-desc">
						<?php echo wp_kses_post( __( 'Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.', 'litespeed-cache' ) ); ?>
					</p>
					<p>
						<?php esc_html_e( 'Free monthly quota available. Can also be used anonymously (no email required).', 'litespeed-cache' ); ?>
					</p>
					<p>
						<a class="button button-primary" href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_ACTIVATE ) ); ?>">
							<span class="dashicons dashicons-yes"></span>
							<?php esc_html_e( 'Enable QUIC.cloud services', 'litespeed-cache' ); ?>
						</a>
					</p>
					<p>
						<a class="litespeed-top10" href="<?php echo esc_url( Utility::build_url( Router::ACTION_ADMIN_DISPLAY, Admin_Display::TYPE_QC_HIDE_BANNER ) ); ?>">
							<?php esc_html_e( 'Do not show this again', 'litespeed-cache' ); ?>
						</a>
					</p>
					<p class="litespeed-dashboard-unlock-footer">
						<?php esc_html_e( 'QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud.', 'litespeed-cache' ); ?><br>
						<a href="https://www.quic.cloud/" target="_blank">
							<?php esc_html_e( 'Learn More about QUIC.cloud', 'litespeed-cache' ); ?>
						</a>
						<br>
					</p>
				</div>
			</div>
		<?php endif; ?>

		<div class="litespeed-dashboard-qc-enable">
			<div class="litespeed-dashboard-header">
				<h3 class="litespeed-dashboard-title litespeed-dashboard-title--w-btn">
					<span class="litespeed-right10"><?php esc_html_e( 'QUIC.cloud Service Usage Statistics', 'litespeed-cache' ); ?></span>
					<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_SYNC_USAGE ) ); ?>" class="button button-secondary button-small">
						<span class="dashicons dashicons-update"></span> <?php esc_html_e( 'Refresh Usage', 'litespeed-cache' ); ?>
						<span class="screen-reader-text"><?php esc_html_e( 'Sync data from Cloud', 'litespeed-cache' ); ?></span>
					</a>
				</h3>
				<hr>
				<a href="https://docs.litespeedtech.com/lscache/lscwp/dashboard/#usage-statistics" target="_blank" class="litespeed-learn-more"><?php esc_html_e( 'Learn More', 'litespeed-cache' ); ?></a>
			</div>

			<?php if ( ! $cloud_instance->activated() && Admin_Display::has_qc_hide_banner() ) : ?>
				<p class="litespeed-desc litespeed-margin-top-remove">
					<?php
					printf(
						esc_html__( 'The features below are provided by %s', 'litespeed-cache' ),
						'<a href="https://quic.cloud" target="_blank">QUIC.cloud</a>'
					);
					?>
				</p>
			<?php endif; ?>

			<div class="litespeed-dashboard-stats-wrapper">
				<?php
				$cat_list = array(
					'img_optm'  => esc_html__( 'Image Optimization', 'litespeed-cache' ),
					'page_optm' => esc_html__( 'Page Optimization', 'litespeed-cache' ),
					'cdn'       => esc_html__( 'CDN Bandwidth', 'litespeed-cache' ),
					'lqip'      => esc_html__( 'Low Quality Image Placeholder', 'litespeed-cache' ),
				);

				foreach ( $cat_list as $svc => $svc_title ) :
					$finished_percentage = 0;
					$total_used          = '-';
					$used                = '-';
					$quota               = '-';
					$pag_used            = '-';
					$pag_total           = '-';
					$pag_width           = 0;
					$percentage_bg       = 'success';
					$pag_txt_color       = '';
					$usage               = false;

					if ( ! empty( $cloud_summary[ 'usage.' . $svc ] ) ) {
						$usage               = $cloud_summary[ 'usage.' . $svc ];
						$finished_percentage = floor( $usage['used'] * 100 / $usage['quota'] );
						$used                = (int) $usage['used'];
						$quota               = (int) $usage['quota'];
						$pag_used            = ! empty( $usage['pag_used'] ) ? (int) $usage['pag_used'] : 0;
						$pag_bal             = ! empty( $usage['pag_bal'] ) ? (int) $usage['pag_bal'] : 0;
						$pag_total           = $pag_used + $pag_bal;
						if ( ! empty( $usage['total_used'] ) ) {
							$total_used = (int) $usage['total_used'];
						}

						if ( $pag_total ) {
							$pag_width = round( $pag_used / $pag_total * 100 ) . '%';
						}

						if ( $finished_percentage > 85 ) {
							$percentage_bg = 'warning';
							if ( $finished_percentage > 95 ) {
								$percentage_bg = 'danger';
								if ( $pag_bal ) {
									$percentage_bg = 'warning';
									$pag_txt_color = 'litespeed-success';
								}
							}
						}
					}
					?>
					<div class="postbox litespeed-postbox">
						<div class="inside">
							<h3 class="litespeed-title"><?php echo esc_html( $svc_title ); ?></h3>
							<div class="litespeed-flex-container">
								<div class="litespeed-icon-vertical-middle litespeed-pie-<?php echo esc_attr( $percentage_bg ); ?>">
									<?php echo wp_kses( GUI::pie( $finished_percentage, 60, false ), GUI::allowed_svg_tags() ); ?>
								</div>
								<div>
									<div class="litespeed-dashboard-stats">
										<h3><?php echo 'img_optm' === $svc ? esc_html__( 'Fast Queue Usage', 'litespeed-cache' ) : esc_html__( 'Usage', 'litespeed-cache' ); ?></h3>
										<p>
											<strong><?php echo esc_html( $used ); ?></strong>
											<?php if ( $used !== $quota ) : ?>
												<span class="litespeed-desc"> / <?php echo esc_html( $quota ); ?></span>
											<?php endif; ?>
										</p>
									</div>
								</div>
							</div>
							<?php if ( $pag_total > 0 ) : ?>
								<p class="litespeed-dashboard-stats-payg <?php echo esc_attr( $pag_txt_color ); ?>">
									<?php esc_html_e( 'PAYG Balance', 'litespeed-cache' ); ?>: <strong><?php echo esc_html( $pag_bal ); ?></strong>
									<button class="litespeed-info-button" data-balloon-pos="up" aria-label="<?php echo esc_attr( sprintf( esc_html__( 'PAYG used this month: %s. PAYG balance and usage not included in above quota calculation.', 'litespeed-cache' ), $pag_used ) ); ?>">
										<span class="dashicons dashicons-info"></span>
										<span class="screen-reader-text"><?php esc_html_e( 'Pay as You Go Usage Statistics', 'litespeed-cache' ); ?></span>
									</button>
								</p>
							<?php endif; ?>
							<?php if ( 'page_optm' === $svc && ! empty( $usage['sub_svc'] ) ) : ?>
								<p class="litespeed-dashboard-stats-total">
									<?php
									$i = 0;
									foreach ( $usage['sub_svc'] as $sub_svc => $sub_usage ) :
										?>
										<span class="<?php echo $i++ > 0 ? 'litespeed-left10' : ''; ?>">
											<?php echo esc_html( strtoupper( $sub_svc ) ); ?>: <strong><?php echo (int) $sub_usage; ?></strong>
										</span>
									<?php endforeach; ?>
								</p>
							<?php endif; ?>
							<?php if ( 'img_optm' === $svc ) : ?>
								<p class="litespeed-dashboard-stats-total">
									<?php esc_html_e( 'Total Usage', 'litespeed-cache' ); ?>: <strong><?php echo esc_html( $total_used ); ?> / ∞</strong>
									<button class="litespeed-info-button" data-balloon-pos="up" aria-label="<?php esc_attr_e( 'Total images optimized in this month', 'litespeed-cache' ); ?>">
										<span class="dashicons dashicons-info"></span>
									</button>
								</p>
								<div class="clear"></div>
							<?php endif; ?>
							<?php if ( isset( $usage['remaining_daily_quota'] ) && $usage['remaining_daily_quota'] >= 0 && isset( $usage['daily_quota'] ) && $usage['daily_quota'] >= 0 ) : ?>
								<p class="litespeed-dashboard-stats-total">
									<?php esc_html_e( 'Remaining Daily Quota', 'litespeed-cache' ); ?>: <strong><?php echo esc_html( $usage['remaining_daily_quota'] ); ?> / <?php echo esc_html( $usage['daily_quota'] ); ?></strong>
								</p>
								<div class="clear"></div>
							<?php endif; ?>
						</div>
					</div>
				<?php endforeach; ?>
				<?php if ( ! empty( $cloud_summary['partner'] ) ) : ?>
					<div class="litespeed-postbox litespeed-postbox-partner">
						<div class="inside">
							<h3 class="litespeed-title"><?php esc_html_e( 'Partner Benefits Provided by', 'litespeed-cache' ); ?></h3>
							<div>
								<?php if ( ! empty( $cloud_summary['partner']['logo'] ) ) : ?>
									<?php if ( ! empty( $cloud_summary['partner']['url'] ) ) : ?>
										<a href="<?php echo esc_url( $cloud_summary['partner']['url'] ); ?>" target="_blank">
											<img src="<?php echo esc_url( $cloud_summary['partner']['logo'] ); ?>" alt="<?php echo esc_attr( $cloud_summary['partner']['name'] ); ?>">
										</a>
									<?php else : ?>
										<img src="<?php echo esc_url( $cloud_summary['partner']['logo'] ); ?>" alt="<?php echo esc_attr( $cloud_summary['partner']['name'] ); ?>">
									<?php endif; ?>
								<?php elseif ( ! empty( $cloud_summary['partner']['name'] ) ) : ?>
									<?php if ( ! empty( $cloud_summary['partner']['url'] ) ) : ?>
										<a href="<?php echo esc_url( $cloud_summary['partner']['url'] ); ?>" target="_blank">
											<span class="postbox-partner-name"><?php echo esc_html( $cloud_summary['partner']['name'] ); ?></span>
										</a>
									<?php else : ?>
										<span class="postbox-partner-name"><?php echo esc_html( $cloud_summary['partner']['name'] ); ?></span>
									<?php endif; ?>
								<?php endif; ?>
							</div>
						</div>
					</div>
				<?php endif; ?>
			</div>

			<p class="litespeed-right litespeed-qc-dashboard-link">
				<?php
				if ( ! empty( $cloud_summary['partner'] ) && ! empty( $cloud_summary['partner']['login_title'] ) && ! empty( $cloud_summary['partner']['login_link'] ) ) :
					Doc::learn_more( $cloud_summary['partner']['login_link'], $cloud_summary['partner']['login_title'], true, 'button litespeed-btn-warning' );
				elseif ( ! empty( $cloud_summary['partner'] ) && ! empty( $cloud_summary['partner']['disable_qc_login'] ) ) :
					// Skip rendering any link or button.
					echo '';
				else :
					if ( ! $cloud_instance->activated() ) :
						Doc::learn_more(
							Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_ACTIVATE ),
							esc_html__( 'Enable QUIC.cloud Services', 'litespeed-cache' ),
							true,
							'button litespeed-btn-warning'
						);
					elseif ( ! empty( $cloud_summary['qc_activated'] ) && 'anonymous' !== $cloud_summary['qc_activated'] ) :
						?>
						<a href="<?php echo esc_url( $cloud_instance->qc_link() ); ?>" class="litespeed-link-with-icon" target="qc">
							<?php esc_html_e( 'Go to QUIC.cloud dashboard', 'litespeed-cache' ); ?> <span class="dashicons dashicons-external"></span>
						</a>
					<?php else : ?>
						<?php
						Doc::learn_more(
							Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_LINK ),
							esc_html__( 'Link to QUIC.cloud', 'litespeed-cache' ),
							true,
							'button litespeed-btn-warning'
						);
						?>
					<?php endif; ?>
				<?php endif; ?>
			</p>

			<div class="litespeed-dashboard-group">
				<hr>
				<div class="litespeed-flex-container">
					<div class="postbox litespeed-postbox litespeed-postbox-pagetime">
						<div class="inside">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'Page Load Time', 'litespeed-cache' ); ?>
								<?php if ( $can_page_load_time ) : ?>
									<?php $closest_server = Cloud::get_summary( 'server.' . Cloud::SVC_HEALTH ); ?>
									<?php if ( $closest_server ) : ?>
										<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_HEALTH ) ) ); ?>"
											data-balloon-pos="up"
											data-balloon-break
											aria-label="<?php echo esc_attr( sprintf( esc_html__( 'Current closest Cloud server is %s. Click to redetect.', 'litespeed-cache' ), esc_html( $closest_server ) ) ); ?>"
											data-litespeed-cfm="<?php esc_attr_e( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ); ?>"
											class="litespeed-title-right-icon">
											<i class='litespeed-quic-icon'></i> <small><?php esc_html_e( 'Redetect', 'litespeed-cache' ); ?></small>
										</a>
									<?php endif; ?>
								<?php endif; ?>
							</h3>
							<div>
								<div class="litespeed-flex-container">
									<?php if ( $can_page_load_time && ! empty( $health_scores['speed_before'] ) ) : ?>
										<div class="litespeed-score-col">
											<p class="litespeed-text-grey">
												<?php esc_html_e( 'Before', 'litespeed-cache' ); ?>
											</p>
											<div class="litespeed-text-md litespeed-text-grey">
												<?php echo esc_html( $health_scores['speed_before'] ); ?><span class="litespeed-text-large">s</span>
											</div>
										</div>
										<div class="litespeed-score-col">
											<p class="litespeed-text-grey">
												<?php esc_html_e( 'After', 'litespeed-cache' ); ?>
											</p>
											<div class="litespeed-text-md litespeed-text-success">
												<?php echo esc_html( $health_scores['speed_after'] ); ?><span class="litespeed-text-large">s</span>
											</div>
										</div>
										<div class="litespeed-score-col litespeed-score-col--imp">
											<p class="litespeed-text-grey" style="white-space: nowrap;">
												<?php esc_html_e( 'Improved by', 'litespeed-cache' ); ?>
											</p>
											<div class="litespeed-text-jumbo litespeed-text-success">
												<?php echo esc_html( $health_scores['speed_improved'] ); ?><span class="litespeed-text-large">%</span>
											</div>
										</div>
									<?php else : ?>
										<div>
											<p><?php esc_html_e( 'You must be using one of the following products in order to measure Page Load Time:', 'litespeed-cache' ); ?></p>
											<a href="https://www.litespeedtech.com/products/litespeed-web-server" target="_blank"><?php esc_html_e( 'LiteSpeed Web Server', 'litespeed-cache' ); ?></a>
											<br />
											<a href="https://openlitespeed.org/" target="_blank"><?php esc_html_e( 'OpenLiteSpeed Web Server', 'litespeed-cache' ); ?></a>
											<br />
											<a href="https://www.litespeedtech.com/products/litespeed-web-adc" target="_blank"><?php esc_html_e( 'LiteSpeed Web ADC', 'litespeed-cache' ); ?></a>
											<br />
											<a href="https://quic.cloud" target="_blank"><?php esc_html_e( 'QUIC.cloud CDN', 'litespeed-cache' ); ?></a>
										</div>
									<?php endif; ?>
								</div>
							</div>
						</div>
						<?php if ( $can_page_load_time ) : ?>
							<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact">
								<?php if ( ! empty( $cloud_summary['last_request.health-speed'] ) ) : ?>
									<span class="litespeed-right10">
										<?php
										printf(
											esc_html__( 'Requested: %s ago', 'litespeed-cache' ),
											'<span data-balloon-pos="up" aria-label="' . esc_attr( Utility::readable_time( $cloud_summary['last_request.health-speed'] ) ) . '">' . esc_html( human_time_diff( $cloud_summary['last_request.health-speed'] ) ) . '</span>'
										);
										?>
									</span>
								<?php endif; ?>
								<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_HEALTH, Health::TYPE_SPEED ) ); ?>" class="button button-secondary button-small">
									<span class="dashicons dashicons-update"></span>
									<?php esc_html_e( 'Refresh', 'litespeed-cache' ); ?>
									<span class="screen-reader-text"><?php esc_html_e( 'Refresh page load time', 'litespeed-cache' ); ?></span>
								</a>
							</div>
						<?php endif; ?>
					</div>

					<div class="postbox litespeed-postbox litespeed-postbox-pagespeed">
						<div class="inside">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'PageSpeed Score', 'litespeed-cache' ); ?>
								<?php $guest_option = Base::O_GUEST; ?>
								<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-general#settings' ) ); ?>" class="litespeed-title-right-icon"><?php echo esc_html( Lang::title( $guest_option ) ); ?></a>
								<?php if ( $this->conf( $guest_option ) ) : ?>
									<span class="litespeed-label-success litespeed-label-dashboard"><?php esc_html_e( 'ON', 'litespeed-cache' ); ?></span>
								<?php else : ?>
									<span class="litespeed-label-danger litespeed-label-dashboard"><?php esc_html_e( 'OFF', 'litespeed-cache' ); ?></span>
								<?php endif; ?>
							</h3>
							<div>
								<div class="litespeed-margin-bottom20">
									<div class="litespeed-row-flex" style="margin-left: -10px;">
										<?php if ( ! empty( $health_scores['score_before'] ) ) : ?>
											<div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5">
												<p class="litespeed-text-grey litespeed-text-center">
													<?php esc_html_e( 'Before', 'litespeed-cache' ); ?>
												</p>
												<div class="litespeed-promo-score">
													<?php echo wp_kses( GUI::pie( $health_scores['score_before'], 45, false, true, 'litespeed-pie-' . esc_attr( GUI::cls()->get_cls_of_pagescore( $health_scores['score_before'] ) ) ), GUI::allowed_svg_tags() ); ?>
												</div>
											</div>
											<div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5">
												<p class="litespeed-text-grey litespeed-text-center">
													<?php esc_html_e( 'After', 'litespeed-cache' ); ?>
												</p>
												<div class="litespeed-promo-score">
													<?php echo wp_kses( GUI::pie( $health_scores['score_after'], 45, false, true, 'litespeed-pie-' . esc_attr( GUI::cls()->get_cls_of_pagescore( $health_scores['score_after'] ) ) ), GUI::allowed_svg_tags() ); ?>
												</div>
											</div>
											<div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5">
												<p class="litespeed-text-grey" style="white-space: nowrap;">
													<?php esc_html_e( 'Improved by', 'litespeed-cache' ); ?>
												</p>
												<div class="litespeed-postbox-score-improve litespeed-text-fern">
													<?php echo esc_html( $health_scores['score_improved'] ); ?><span class="litespeed-text-large">%</span>
												</div>
											</div>
										<?php endif; ?>
									</div>
								</div>
							</div>
						</div>
						<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact">
							<?php if ( ! empty( $cloud_summary['last_request.health-score'] ) ) : ?>
								<span class="litespeed-right10">
									<?php
									printf(
										esc_html__( 'Requested: %s ago', 'litespeed-cache' ),
										'<span data-balloon-pos="up" aria-label="' . esc_attr( Utility::readable_time( $cloud_summary['last_request.health-score'] ) ) . '">' . esc_html( human_time_diff( $cloud_summary['last_request.health-score'] ) ) . '</span>'
									);
									?>
								</span>
							<?php endif; ?>
							<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_HEALTH, Health::TYPE_SCORE ) ); ?>" class="button button-secondary button-small">
								<span class="dashicons dashicons-update"></span>
								<?php esc_html_e( 'Refresh', 'litespeed-cache' ); ?>
								<span class="screen-reader-text"><?php esc_html_e( 'Refresh page score', 'litespeed-cache' ); ?></span>
							</a>
						</div>
					</div>

					<div class="postbox litespeed-postbox litespeed-postbox-double litespeed-postbox-imgopt">
						<div class="inside">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'Image Optimization Summary', 'litespeed-cache' ); ?>
								<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-img_optm' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
							</h3>
							<div class="litespeed-postbox-double-content">
								<div class="litespeed-postbox-double-col">
									<div class="litespeed-flex-container">
										<div class="litespeed-icon-vertical-middle">
											<?php echo wp_kses( GUI::pie( $img_finished_percentage, 70, true ), GUI::allowed_svg_tags() ); ?>
										</div>
										<div>
											<div class="litespeed-dashboard-stats">
												<a data-litespeed-onlyonce class="button button-primary"
													<?php if ( ! empty( $img_count['groups_new'] ) || ! empty( $img_count[ 'groups.' . Img_Optm::STATUS_RAW ] ) ) : ?>
														href="<?php echo esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_NEW_REQ ) ); ?>"
													<?php else : ?>
														href="javascript:;" disabled
													<?php endif; ?>>
													<span class="dashicons dashicons-images-alt2"></span><?php esc_html_e( 'Send Optimization Request', 'litespeed-cache' ); ?>
												</a>
											</div>
										</div>
									</div>
									<p>
										<?php esc_html_e( 'Total Reduction', 'litespeed-cache' ); ?>: <code><?php echo isset( $img_optm_summary['reduced'] ) ? esc_html( Utility::real_size( $img_optm_summary['reduced'] ) ) : '-'; ?></code>
									</p>
									<p>
										<?php esc_html_e( 'Images Pulled', 'litespeed-cache' ); ?>: <code><?php echo isset( $img_optm_summary['img_taken'] ) ? esc_html( $img_optm_summary['img_taken'] ) : '-'; ?></code>
									</p>
								</div>
								<div class="litespeed-postbox-double-col">
									<?php if ( ! empty( $img_count[ 'group.' . Img_Optm::STATUS_REQUESTED ] ) ) : ?>
										<p class="litespeed-success">
											<?php esc_html_e( 'Images requested', 'litespeed-cache' ); ?>:
											<code>
												<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'group.' . Img_Optm::STATUS_REQUESTED ] ) ); ?>
												(<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'img.' . Img_Optm::STATUS_REQUESTED ], 'image' ) ); ?>)
											</code>
										</p>
									<?php endif; ?>
									<?php if ( ! empty( $img_count[ 'group.' . Img_Optm::STATUS_NOTIFIED ] ) ) : ?>
										<p class="litespeed-success">
											<?php esc_html_e( 'Images notified to pull', 'litespeed-cache' ); ?>:
											<code>
												<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'group.' . Img_Optm::STATUS_NOTIFIED ] ) ); ?>
												(<?php echo esc_html( Admin_Display::print_plural( $img_count[ 'img.' . Img_Optm::STATUS_NOTIFIED ], 'image' ) ); ?>)
											</code>
										</p>
									<?php endif; ?>
									<p>
										<?php esc_html_e( 'Last Request', 'litespeed-cache' ); ?>: <code><?php echo ! empty( $img_optm_summary['last_requested'] ) ? esc_html( Utility::readable_time( $img_optm_summary['last_requested'] ) ) : '-'; ?></code>
									</p>
									<p>
										<?php esc_html_e( 'Last Pull', 'litespeed-cache' ); ?>: <code><?php echo ! empty( $img_optm_summary['last_pull'] ) ? esc_html( Utility::readable_time( $img_optm_summary['last_pull'] ) ) : '-'; ?></code>
									</p>
									<?php
									$opt_list = array(
										Base::O_IMG_OPTM_AUTO => Lang::title( Base::O_IMG_OPTM_AUTO ),
									);
									foreach ( $opt_list as $opt_id => $opt_title ) :
										?>
										<p>
											<?php if ( $this->conf( $opt_id ) ) : ?>
												<span class="litespeed-label-success litespeed-label-dashboard"><?php esc_html_e( 'ON', 'litespeed-cache' ); ?></span>
											<?php else : ?>
												<span class="litespeed-label-danger litespeed-label-dashboard"><?php esc_html_e( 'OFF', 'litespeed-cache' ); ?></span>
											<?php endif; ?>
											<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-img_optm#settings' ) ); ?>"><?php echo esc_html( $opt_title ); ?></a>
										</p>
									<?php endforeach; ?>
								</div>
							</div>
						</div>
					</div>

					<div class="postbox litespeed-postbox litespeed-postbox-cache">
						<div class="inside">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'Cache Status', 'litespeed-cache' ); ?>
								<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-cache' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
							</h3>
							<?php
							$cache_list = array(
								Base::O_CACHE         => esc_html__( 'Public Cache', 'litespeed-cache' ),
								Base::O_CACHE_PRIV    => esc_html__( 'Private Cache', 'litespeed-cache' ),
								Base::O_OBJECT        => esc_html__( 'Object Cache', 'litespeed-cache' ),
								Base::O_CACHE_BROWSER => esc_html__( 'Browser Cache', 'litespeed-cache' ),
							);
							foreach ( $cache_list as $cache_option => $cache_title ) :
								?>
								<p>
									<?php if ( $this->conf( $cache_option ) ) : ?>
										<span class="litespeed-label-success litespeed-label-dashboard"><?php esc_html_e( 'ON', 'litespeed-cache' ); ?></span>
									<?php else : ?>
										<span class="litespeed-label-danger litespeed-label-dashboard"><?php esc_html_e( 'OFF', 'litespeed-cache' ); ?></span>
									<?php endif; ?>
									<?php echo esc_html( $cache_title ); ?>
								</p>
							<?php endforeach; ?>
						</div>
					</div>

					<div class="postbox litespeed-postbox litespeed-postbox-ccss">
						<div class="inside">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'Critical CSS', 'litespeed-cache' ); ?>
								<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-page_optm#settings_css' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
							</h3>
							<?php if ( ! empty( $css_summary['last_request_ccss'] ) ) : ?>
								<p>
									<?php
									printf(
										esc_html__( 'Last generated: %s', 'litespeed-cache' ),
										'<code>' . esc_html( Utility::readable_time( $css_summary['last_request_ccss'] ) ) . '</code>'
									);
									?>
								</p>
								<p>
									<?php
									printf(
										esc_html__( 'Time to execute previous request: %s', 'litespeed-cache' ),
										'<code>' . esc_html( $css_summary['last_spent_ccss'] ) . 's</code>'
									);
									?>
								</p>
							<?php endif; ?>
							<p>
								<?php esc_html_e( 'Requests in queue', 'litespeed-cache' ); ?>: <code><?php echo ! empty( $ccss_count ) ? esc_html( $ccss_count ) : '-'; ?></code>
								<a href="<?php echo ! empty( $ccss_count ) ? esc_url( Utility::build_url( Router::ACTION_CSS, CSS::TYPE_GEN_CCSS ) ) : 'javascript:;'; ?>"
									class="button button-secondary button-small <?php echo empty( $ccss_count ) ? 'disabled' : ''; ?>">
									<?php esc_html_e( 'Force cron', 'litespeed-cache' ); ?>
								</a>
							</p>
						</div>
						<?php if ( ! empty( $cloud_summary['last_request.ccss'] ) ) : ?>
							<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact">
								<?php
								printf(
									esc_html__( 'Last requested: %s', 'litespeed-cache' ),
									esc_html( Utility::readable_time( $cloud_summary['last_request.ccss'] ) )
								);
								?>
							</div>
						<?php endif; ?>
					</div>

					<div class="postbox litespeed-postbox litespeed-postbox-ucss">
						<div class="inside">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'Unique CSS', 'litespeed-cache' ); ?>
								<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-page_optm#settings_css' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
							</h3>
							<?php if ( ! empty( $ucss_summary['last_request'] ) ) : ?>
								<p>
									<?php
									printf(
										esc_html__( 'Last generated: %s', 'litespeed-cache' ),
										'<code>' . esc_html( Utility::readable_time( $ucss_summary['last_request'] ) ) . '</code>'
									);
									?>
								</p>
								<p>
									<?php
									printf(
										esc_html__( 'Time to execute previous request: %s', 'litespeed-cache' ),
										'<code>' . esc_html( $ucss_summary['last_spent'] ) . 's</code>'
									);
									?>
								</p>
							<?php endif; ?>
							<p>
								<?php esc_html_e( 'Requests in queue', 'litespeed-cache' ); ?>: <code><?php echo ! empty( $ucss_count ) ? esc_html( $ucss_count ) : '-'; ?></code>
								<a href="<?php echo ! empty( $ucss_count ) ? esc_url( Utility::build_url( Router::ACTION_UCSS, UCSS::TYPE_GEN ) ) : 'javascript:;'; ?>"
									class="button button-secondary button-small <?php echo empty( $ucss_count ) ? 'disabled' : ''; ?>">
									<?php esc_html_e( 'Force cron', 'litespeed-cache' ); ?>
								</a>
							</p>
						</div>
						<?php if ( ! empty( $cloud_summary['last_request.ucss'] ) ) : ?>
							<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact">
								<?php
								printf(
									esc_html__( 'Last requested: %s', 'litespeed-cache' ),
									esc_html( Utility::readable_time( $cloud_summary['last_request.ucss'] ) )
								);
								?>
							</div>
						<?php endif; ?>
					</div>

					<div class="postbox litespeed-postbox litespeed-postbox-lqip">
						<div class="inside">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'Low Quality Image Placeholder', 'litespeed-cache' ); ?>
								<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-page_optm#settings_media' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
							</h3>
							<?php if ( ! empty( $placeholder_summary['last_request'] ) ) : ?>
								<p>
									<?php
									printf(
										esc_html__( 'Last generated: %s', 'litespeed-cache' ),
										'<code>' . esc_html( Utility::readable_time( $placeholder_summary['last_request'] ) ) . '</code>'
									);
									?>
								</p>
								<p>
									<?php
									printf(
										esc_html__( 'Time to execute previous request: %s', 'litespeed-cache' ),
										'<code>' . esc_html( $placeholder_summary['last_spent'] ) . 's</code>'
									);
									?>
								</p>
							<?php endif; ?>
							<p>
								<?php esc_html_e( 'Requests in queue', 'litespeed-cache' ); ?>: <code><?php echo ! empty( $placeholder_queue_count ) ? esc_html( $placeholder_queue_count ) : '-'; ?></code>
								<a href="<?php echo ! empty( $placeholder_queue_count ) ? esc_url( Utility::build_url( Router::ACTION_PLACEHOLDER, Placeholder::TYPE_GENERATE ) ) : 'javascript:;'; ?>"
									class="button button-secondary button-small <?php echo empty( $placeholder_queue_count ) ? 'disabled' : ''; ?>">
									<?php esc_html_e( 'Force cron', 'litespeed-cache' ); ?>
								</a>
							</p>
						</div>
						<?php if ( ! empty( $cloud_summary['last_request.lqip'] ) ) : ?>
							<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact">
								<?php
								printf(
									esc_html__( 'Last requested: %s', 'litespeed-cache' ),
									esc_html( Utility::readable_time( $cloud_summary['last_request.lqip'] ) )
								);
								?>
							</div>
						<?php endif; ?>
					</div>

					<div class="postbox litespeed-postbox litespeed-postbox-vpi">
						<div class="inside">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'Viewport Image', 'litespeed-cache' ); ?> (VPI)
								<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-page_optm#settings_vpi' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
							</h3>
							<?php if ( ! empty( $vpi_summary['last_request'] ) ) : ?>
								<p>
									<?php
									printf(
										esc_html__( 'Last generated: %s', 'litespeed-cache' ),
										'<code>' . esc_html( Utility::readable_time( $vpi_summary['last_request'] ) ) . '</code>'
									);
									?>
								</p>
								<p>
									<?php
									printf(
										esc_html__( 'Time to execute previous request: %s', 'litespeed-cache' ),
										'<code>' . esc_html( $vpi_summary['last_spent'] ) . 's</code>'
									);
									?>
								</p>
							<?php endif; ?>
							<p>
								<?php esc_html_e( 'Requests in queue', 'litespeed-cache' ); ?>: <code><?php echo ! empty( $vpi_queue_count ) ? esc_html( $vpi_queue_count ) : '-'; ?></code>
								<a href="<?php echo ! empty( $vpi_queue_count ) ? esc_url( Utility::build_url( Router::ACTION_VPI, VPI::TYPE_GEN ) ) : 'javascript:;'; ?>"
									class="button button-secondary button-small <?php echo empty( $vpi_queue_count ) ? 'disabled' : ''; ?>">
									<?php esc_html_e( 'Force cron', 'litespeed-cache' ); ?>
								</a>
							</p>
						</div>
						<?php if ( ! empty( $cloud_summary['last_request.vpi'] ) ) : ?>
							<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact">
								<?php
								printf(
									esc_html__( 'Last requested: %s', 'litespeed-cache' ),
									esc_html( Utility::readable_time( $cloud_summary['last_request.vpi'] ) )
								);
								?>
							</div>
						<?php endif; ?>
					</div>

					<div class="postbox litespeed-postbox litespeed-postbox-crawler">
						<div class="inside">
							<h3 class="litespeed-title">
								<?php esc_html_e( 'Crawler Status', 'litespeed-cache' ); ?>
								<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-crawler' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
							</h3>
							<p>
								<code><?php echo esc_html( count( Crawler::cls()->list_crawlers() ) ); ?></code> <?php esc_html_e( 'Crawler(s)', 'litespeed-cache' ); ?>
							</p>
							<p>
								<?php esc_html_e( 'Currently active crawler', 'litespeed-cache' ); ?>: <code><?php echo esc_html( $crawler_summary['curr_crawler'] ); ?></code>
							</p>
							<?php if ( ! empty( $crawler_summary['curr_crawler_beginning_time'] ) ) : ?>
								<p>
									<span class="litespeed-bold"><?php esc_html_e( 'Current crawler started at', 'litespeed-cache' ); ?>:</span>
									<?php echo esc_html( Utility::readable_time( $crawler_summary['curr_crawler_beginning_time'] ) ); ?>
								</p>
							<?php endif; ?>
							<?php if ( ! empty( $crawler_summary['last_start_time'] ) ) : ?>
								<p class="litespeed-desc">
									<span class="litespeed-bold"><?php esc_html_e( 'Last interval', 'litespeed-cache' ); ?>:</span>
									<?php echo esc_html( Utility::readable_time( $crawler_summary['last_start_time'] ) ); ?>
								</p>
							<?php endif; ?>
							<?php if ( ! empty( $crawler_summary['end_reason'] ) ) : ?>
								<p class="litespeed-desc">
									<span class="litespeed-bold"><?php esc_html_e( 'Ended reason', 'litespeed-cache' ); ?>:</span>
									<?php echo esc_html( $crawler_summary['end_reason'] ); ?>
								</p>
							<?php endif; ?>
							<?php if ( ! empty( $crawler_summary['last_crawled'] ) ) : ?>
								<p class="litespeed-desc">
									<?php
									printf(
										esc_html__( '%1$s %2$d item(s)', 'litespeed-cache' ),
										'<span class="litespeed-bold">' . esc_html__( 'Last crawled:', 'litespeed-cache' ) . '</span>',
										esc_html( $crawler_summary['last_crawled'] )
									);
									?>
								</p>
							<?php endif; ?>
						</div>
					</div>

					<div class="postbox litespeed-postbox litespeed-postbox-quiccloud <?php echo empty( $cloud_summary['qc_activated'] ) || 'cdn' !== $cloud_summary['qc_activated'] ? 'litespeed-postbox--quiccloud' : ''; ?>">
						<div class="inside">
							<h3 class="litespeed-title litespeed-dashboard-title--w-btn">
								<span class="litespeed-quic-icon"></span><?php esc_html_e( 'QUIC.cloud CDN', 'litespeed-cache' ); ?>
								<?php if ( empty( $cloud_summary['qc_activated'] ) || 'cdn' !== $cloud_summary['qc_activated'] ) : ?>
									<a href="https://www.quic.cloud/quic-cloud-services-and-features/litespeed-cache-service/" class="litespeed-title-right-icon" target="_blank"><?php esc_html_e( 'Learn More', 'litespeed-cache' ); ?></a>
								<?php else : ?>
									<a href="<?php echo esc_url( admin_url( 'admin.php?page=litespeed-cdn' ) ); ?>" class="litespeed-title-right-icon"><?php esc_html_e( 'More', 'litespeed-cache' ); ?></a>
								<?php endif; ?>
							</h3>
							<?php if ( empty( $cloud_summary['qc_activated'] ) || 'cdn' !== $cloud_summary['qc_activated'] ) : ?>
								<div class="litespeed-text-center litespeed-empty-space-medium">
									<p class="litespeed-margin-bottom20">
										<?php
										Doc::learn_more(
											esc_url( Utility::build_url( Router::ACTION_CLOUD, $cloud_instance->activated() ? Cloud::TYPE_ENABLE_CDN : Cloud::TYPE_ACTIVATE ) ),
											'<span class="dashicons dashicons-saved"></span>' . esc_html__( 'Enable QUIC.cloud CDN', 'litespeed-cache' ),
											true,
											'button button-primary litespeed-button-cta'
										);
										?>
									</p>
									<p class="litespeed-margin-bottom10 litespeed-top20 litespeed-text-md">
										<strong class="litespeed-qc-text-gradient"><?php esc_html_e( 'Best available WordPress performance', 'litespeed-cache' ); ?></strong>
									</p>
									<p class="litespeed-margin-bottom20 litespeed-margin-top-remove">
										<?php
										printf(
											esc_html__( 'Globally fast TTFB, easy setup, and %s!', 'litespeed-cache' ),
											'<a href="https://www.quic.cloud/quic-cloud-services-and-features/litespeed-cache-service/" target="_blank">' . esc_html__( 'more', 'litespeed-cache' ) . '</a>'
										);
										?>
									</p>
								</div>
							<?php else : ?>
								<?php echo wp_kses_post( $cloud_instance->load_qc_status_for_dash( 'cdn_dash_mini' ) ); ?>
							<?php endif; ?>
						</div>
						<?php if ( $cloud_instance->activated() ) : ?>
							<div class="inside litespeed-postbox-footer litespeed-postbox-footer--compact">
								<a href="<?php echo esc_url( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_SYNC_STATUS ) ); ?>"
									class="button button-<?php echo 'cdn' !== $cloud_summary['qc_activated'] ? 'link' : 'secondary'; ?> button-small">
									<?php if ( 'cdn' === $cloud_summary['qc_activated'] ) : ?>
										<span class="dashicons dashicons-update"></span>
									<?php endif; ?>
									<?php esc_html_e( 'Refresh Status', 'litespeed-cache' ); ?>
									<span class="screen-reader-text"><?php esc_html_e( 'Refresh QUIC.cloud status', 'litespeed-cache' ); ?></span>
								</a>
							</div>
						<?php endif; ?>
					</div>

					<?php
					$promo_mini = $cloud_instance->load_qc_status_for_dash( 'promo_mini' );
					if ( $promo_mini ) :
						echo wp_kses_post( $promo_mini );
					endif;
					?>

					<?php if ( $cloud_instance->activated() ) : ?>
						<?php
						$news = $cloud_instance->load_qc_status_for_dash( 'news_dash' );
						if ( $news ) :
							?>
							<div class="postbox litespeed-postbox">
								<div class="inside litespeed-text-center">
									<h3 class="litespeed-title">
										<?php esc_html_e( 'News', 'litespeed-cache' ); ?>
									</h3>
									<div class="litespeed-top20">
										<?php echo wp_kses_post( $news ); ?>
									</div>
								</div>
							</div>
						<?php endif; ?>
					<?php endif; ?>
				</div>
			</div>
		</div>
	</div>
</div>PK�^�\L
Gz��&litespeed-cache/tpl/dash/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Dashboard Wrapper
 *
 * Renders the main dashboard page for the LiteSpeed Cache plugin in the WordPress admin area.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$menu_list = array(
	'dashboard' => esc_html__( 'Dashboard', 'litespeed-cache' ),
);

if ( $this->_is_network_admin ) {
	$menu_list = array(
		'network_dash' => esc_html__( 'Network Dashboard', 'litespeed-cache' ),
	);
}

?>

<div class="wrap">
	<h1 class="litespeed-h1">
		<?php echo esc_html__( 'LiteSpeed Cache Dashboard', 'litespeed-cache' ); ?>
	</h1>
	<span class="litespeed-desc">
		<?php echo esc_html( 'v' . Core::VER ); ?>
	</span>
	<hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
	<?php
	foreach ( $menu_list as $tab_key => $tab_val ) {
		echo '<div data-litespeed-layout="' . esc_attr( $tab_key ) . '">';
		require LSCWP_DIR . 'tpl/dash/' . $tab_key . '.tpl.php';
		echo '</div>';
	}
	?>
</div>PK�^�\؋_d��-litespeed-cache/tpl/dash/network_dash.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Network Dashboard
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$cloud_summaries = array();
$blogs           = Activation::get_network_ids();
foreach ( $blogs as $network_blog_id ) {
	switch_to_blog( $network_blog_id );
	$cloud_summaries[ home_url() ] = Cloud::get_summary();
	// May need restore_current_blog();
}

?>

<div class="litespeed-dashboard">
<?php foreach ( $cloud_summaries as $home_url => $cloud_summary ) : ?>

	<div class="litespeed-dashboard-header">
		<h3 class="litespeed-dashboard-title">
			<?php echo esc_html( sprintf( __( 'Usage Statistics: %s', 'litespeed-cache' ), $home_url ) ); ?>
		</h3>
		<hr>
	</div>

	<div class="litespeed-dashboard-stats-wrapper">
		<?php
		$cat_list = array(
			'img_optm'  => esc_html__( 'Image Optimization', 'litespeed-cache' ),
			'page_optm' => esc_html__( 'Page Optimization', 'litespeed-cache' ),
			'cdn'       => esc_html__( 'CDN Bandwidth', 'litespeed-cache' ),
			'lqip'      => esc_html__( 'Low Quality Image Placeholder', 'litespeed-cache' ),
		);

		foreach ( $cat_list as $svc => $svc_title ) :
			$finished_percentage = 0;
			$total_used          = '-';
			$used                = '-';
			$quota               = '-';
			$pag_used            = '-';
			$pag_total           = '-';
			$pag_width           = 0;
			$pag_bal             = 0;

			if ( ! empty( $cloud_summary[ 'usage.' . $svc ] ) ) {
				$usage               = $cloud_summary[ 'usage.' . $svc ];
				$finished_percentage = floor( $usage['used'] * 100 / $usage['quota'] );
				$used                = $usage['used'];
				$quota               = $usage['quota'];
				$pag_used            = ! empty( $usage['pag_used'] ) ? $usage['pag_used'] : 0;
				$pag_bal             = ! empty( $usage['pag_bal'] ) ? $usage['pag_bal'] : 0;
				$pag_total           = $pag_used + $pag_bal;

				if ( $pag_total ) {
					$pag_width = round( $pag_used / $pag_total * 100 ) . '%';
				}

				if ( 'cdn' === $svc ) {
					$used      = Utility::real_size( $used * 1024 * 1024 );
					$quota     = Utility::real_size( $quota * 1024 * 1024 );
					$pag_used  = Utility::real_size( $pag_used * 1024 * 1024 );
					$pag_total = Utility::real_size( $pag_total * 1024 * 1024 );
				}

				if ( ! empty( $usage['total_used'] ) ) {
					$total_used = $usage['total_used'];
				}
			}

			$percentage_bg = 'success';
			if ( 95 < $finished_percentage ) {
				$percentage_bg = 'danger';
			} elseif ( 85 < $finished_percentage ) {
				$percentage_bg = 'warning';
			}
			?>

			<div class="postbox litespeed-postbox">
				<div class="inside">
					<h3 class="litespeed-title"><?php echo esc_html( $svc_title ); ?></h3>

					<div class="litespeed-flex-container">
						<div class="litespeed-icon-vertical-middle litespeed-pie-<?php echo esc_attr( $percentage_bg ); ?>">
							<?php echo wp_kses( GUI::pie( $finished_percentage, 60, false ), GUI::allowed_svg_tags() ); ?>
						</div>
						<div>
							<div class="litespeed-dashboard-stats">
								<h3><?php echo esc_html( 'img_optm' === $svc ? __( 'Fast Queue Usage', 'litespeed-cache' ) : __( 'Usage', 'litespeed-cache' ) ); ?></h3>
								<p>
									<strong><?php echo esc_html( $used ); ?></strong>
									<?php if ( $quota !== $used ) : ?>
										<span class="litespeed-desc"> / <?php echo esc_html( $quota ); ?></span>
									<?php endif; ?>
								</p>
							</div>
						</div>
					</div>

					<?php if ( 0 < $pag_total ) : ?>
						<p class="litespeed-dashboard-stats-payg" data-balloon-pos="up" aria-label="<?php echo esc_attr__( 'Pay as You Go', 'litespeed-cache' ); ?>">
							<?php esc_html_e( 'PAYG Balance', 'litespeed-cache' ); ?>: <strong><?php echo esc_html( $pag_bal ); ?></strong>
							<button class="litespeed-info-button" data-balloon-pos="up" aria-label="<?php echo esc_attr( sprintf( __( 'This Month Usage: %s', 'litespeed-cache' ), esc_html( $pag_used ) ) ); ?>">
								<span class="dashicons dashicons-info"></span>
								<span class="screen-reader-text"><?php esc_html_e( 'Pay as You Go Usage Statistics', 'litespeed-cache' ); ?></span>
							</button>
						</p>
					<?php endif; ?>

					<?php if ( 'img_optm' === $svc ) : ?>
						<p class="litespeed-dashboard-stats-total">
							<?php esc_html_e( 'Total Usage', 'litespeed-cache' ); ?>: <strong><?php echo esc_html( $total_used ); ?> / ∞</strong>
							<button class="litespeed-info-button" data-balloon-pos="up" aria-label="<?php echo esc_attr__( 'Total images optimized in this month', 'litespeed-cache' ); ?>">
								<span class="dashicons dashicons-info"></span>
							</button>
						</p>
						<div class="clear"></div>
					<?php endif; ?>
				</div>
			</div>

		<?php endforeach; ?>
	</div>

<?php endforeach; ?>
</div>PK�^�\O*ރ""9litespeed-cache/tpl/cache/network_settings-object.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Network Object Settings
 *
 * Includes the network object cache settings template for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

require LSCWP_DIR . 'tpl/cache/settings_inc.object.tpl.php';
PK�^�\P�c�GG8litespeed-cache/tpl/cache/network_settings-purge.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Network Purge Settings
 *
 * Displays the network purge settings section for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Purge Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#purge-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<?php require LSCWP_DIR . 'tpl/cache/settings_inc.purge_on_upgrade.tpl.php'; ?>
	</tbody>
</table>PK�^�\Q���s
s
.litespeed-cache/tpl/cache/settings-ttl.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache TTL Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php echo esc_html__( 'TTL', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#ttl-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table"><tbody>

	<tr>
		<th>
			<?php $option_id = Base::O_CACHE_TTL_PUB; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id ); ?> <?php $this->readable_seconds(); ?>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'Specify how long, in seconds, public pages are cached.', 'litespeed-cache' ); ?>
				<?php $this->recommended( $option_id ); ?>
				<?php $this->_validate_ttl( $option_id, 30 ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_CACHE_TTL_PRIV; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id ); ?> <?php $this->readable_seconds(); ?>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'Specify how long, in seconds, private pages are cached.', 'litespeed-cache' ); ?>
				<?php $this->recommended( $option_id ); ?>
				<?php $this->_validate_ttl( $option_id, 60, 3600 ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_CACHE_TTL_FRONTPAGE; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id ); ?> <?php $this->readable_seconds(); ?>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'Specify how long, in seconds, the front page is cached.', 'litespeed-cache' ); ?>
				<?php $this->recommended( $option_id ); ?>
				<?php $this->_validate_ttl( $option_id, 30 ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_CACHE_TTL_FEED; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id ); ?> <?php $this->readable_seconds(); ?>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'Specify how long, in seconds, feeds are cached.', 'litespeed-cache' ); ?>
				<?php echo esc_html__( 'If this is set to a number less than 30, feeds will not be cached.', 'litespeed-cache' ); ?>
				<?php $this->recommended( $option_id ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_CACHE_TTL_REST; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id ); ?> <?php $this->readable_seconds(); ?>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'Specify how long, in seconds, REST calls are cached.', 'litespeed-cache' ); ?>
				<?php echo esc_html__( 'If this is set to a number less than 30, feeds will not be cached.', 'litespeed-cache' ); ?>
				<?php $this->recommended( $option_id ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_CACHE_TTL_STATUS; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<div class="litespeed-textarea-recommended">
				<div>
					<?php $this->build_textarea( $option_id, 30 ); ?>
				</div>
				<div>
					<?php $this->recommended( $option_id ); ?>
				</div>
			</div>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'Specify an HTTP status code and the number of seconds to cache that page, separated by a space.', 'litespeed-cache' ); ?>
				<?php Doc::one_per_line(); ?>
			</div>
		</td>
	</tr>

</tbody></table>
PK�^�\34�33.litespeed-cache/tpl/cache/settings-esi.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache ESI Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php echo esc_html__( 'ESI Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#esi-tab' ); ?>
</h3>

<div class="litespeed-description">
	<p><?php echo esc_html__( 'With ESI (Edge Side Includes), pages may be served from cache for logged-in users.', 'litespeed-cache' ); ?></p>
	<p><?php echo esc_html__( 'ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all.', 'litespeed-cache' ); ?>
		<?php Doc::learn_more( 'https://blog.litespeedtech.com/2017/08/30/wpw-private-cache-vs-public-cache/', esc_html__( 'WpW: Private Cache vs. Public Cache', 'litespeed-cache' ) ); ?>
	</p>
	<p>
		💡:
		<?php echo esc_html__( 'You can turn shortcodes into ESI blocks.', 'litespeed-cache' ); ?>
		<?php
		printf(
			esc_html__( 'Replace %1$s with %2$s.', 'litespeed-cache' ),
			'<code>[shortcodeA att1="val1" att2="val2"]</code>',
			'<code>[esi shortcodeA att1="val1" att2="val2"]</code>'
		);
		?>
		<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/admin/#turning-wordpress-shortcodes-into-esi-blocks' ); ?>
	</p>
	<p>
		<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/api/#generate-esi-block-url', esc_html__( 'ESI sample for developers', 'litespeed-cache' ) ); ?>
	</p>
</div>

<div class="litespeed-relative">

<?php if ( ! LSWCP_ESI_SUPPORT && ! $this->conf( Base::O_CDN_QUIC ) ) : ?>
	<div class="litespeed-callout-danger">
		<h4><?php echo esc_html__( 'WARNING', 'litespeed-cache' ); ?></h4>
		<h4><?php echo esc_html__( 'These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN.', 'litespeed-cache' ); ?></h4>
	</div>
<?php endif; ?>

<table class="wp-list-table striped litespeed-table"><tbody>
	<tr>
		<th>
			<?php $option_id = Base::O_ESI; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below.', 'litespeed-cache' ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_ESI_CACHE_ADMBAR; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'Cache the built-in Admin Bar ESI block.', 'litespeed-cache' ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_ESI_CACHE_COMMFORM; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'Cache the built-in Comment Form ESI block.', 'litespeed-cache' ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_ESI_NONCE; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<div>
				<?php $this->build_textarea( $option_id ); ?>
			</div>
			<p class="litespeed-desc">
				<?php echo esc_html__( 'The list will be merged with the predefined nonces in your local data file.', 'litespeed-cache' ); ?>
				<?php echo esc_html__( 'The latest data file is', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/master/data/esi.nonces.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/master/data/esi.nonces.txt</a>
				<br><span class="litespeed-success">
					<?php echo esc_html__( 'API', 'litespeed-cache' ); ?>:
					<?php printf( esc_html__( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_esi_nonces</code>' ); ?>
				</span>
			</p>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'The above nonces will be converted to ESI automatically.', 'litespeed-cache' ); ?>
				<?php Doc::one_per_line(); ?>
				<br><?php echo esc_html__( 'An optional second parameter may be used to specify cache control. Use a space to separate', 'litespeed-cache' ); ?>: <code>my_nonce_action private</code>
			</div>
			<div class="litespeed-desc">
				<?php printf( esc_html__( 'Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.', 'litespeed-cache' ), '<code>*</code>', '<code>nonce_formid_1</code>', '<code>nonce_formid_3</code>', '<code>nonce_formid_*</code>' ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_CACHE_VARY_GROUP; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<table class="litespeed-vary-table wp-list-table striped litespeed-table form-table"><tbody>
			<?php foreach ( $roles as $curr_role => $curr_title ) : ?>
				<tr>
					<td class="litespeed-vary-title"><?php echo esc_html( $curr_title ); ?></td>
					<td class="litespeed-vary-val">
					<?php
						$this->build_input(
							$option_id . '[' . $curr_role . ']',
							'litespeed-input-short',
							$this->cls( 'Vary' )->in_vary_group( $curr_role )
						);
					?>
					</td>
				</tr>
			<?php endforeach; ?>
			</tbody></table>
			<div class="litespeed-desc">
				<?php echo esc_html__( 'If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page.', 'litespeed-cache' ); ?>
			</div>
		</td>
	</tr>

</tbody></table>

</div>
PK�^�\�q :litespeed-cache/tpl/cache/network_settings-browser.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Browser Settings
 *
 * Includes the browser cache settings template for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

require LSCWP_DIR . 'tpl/cache/settings_inc.browser.tpl.php';
PK�^�\g|���2litespeed-cache/tpl/cache/settings-browser.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Browser Cache Setting
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

require LSCWP_DIR . 'tpl/cache/settings_inc.browser.tpl.php';
PK�^�\���8litespeed-cache/tpl/cache/network_settings-cache.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Network Cache Settings
 *
 * Displays the network cache control settings section for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Cache Control Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th><?php esc_html_e( 'Network Enable Cache', 'litespeed-cache' ); ?></th>
			<td>
				<?php $this->build_switch( Base::O_CACHE ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Enabling LiteSpeed Cache for WordPress here enables the cache for the network.', 'litespeed-cache' ); ?><br />
					<?php esc_html_e( 'It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first.', 'litespeed-cache' ); ?><br />
					<?php esc_html_e( 'This is to ensure compatibility prior to enabling the cache for all sites.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<?php
		require LSCWP_DIR . 'tpl/cache/settings_inc.cache_mobile.tpl.php';
		require LSCWP_DIR . 'tpl/cache/settings_inc.cache_dropquery.tpl.php';
		?>
	</tbody>
</table>PK�^�\�?&]�"�"5litespeed-cache/tpl/cache/settings_inc.object.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Object Cache Settings
 *
 * Displays the object cache settings section for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$lang_enabled  = '<span class="litespeed-success">' . esc_html__( 'Enabled', 'litespeed-cache' ) . '</span>';
$lang_disabled = '<span class="litespeed-warning">' . esc_html__( 'Disabled', 'litespeed-cache' ) . '</span>';

$mem_enabled   = class_exists( 'Memcached' ) ? $lang_enabled : $lang_disabled;
$redis_enabled = class_exists( 'Redis' ) ? $lang_enabled : $lang_disabled;

$mem_conn = $this->cls( 'Object_Cache' )->test_connection();
if ( null === $mem_conn ) {
	$mem_conn_desc = '<span class="litespeed-desc">' . esc_html__( 'Not Available', 'litespeed-cache' ) . '</span>';
} elseif ( $mem_conn ) {
	$mem_conn_desc = '<span class="litespeed-success">' . esc_html__( 'Passed', 'litespeed-cache' ) . '</span>';
} else {
	$severity      = $this->conf( Base::O_OBJECT, true ) ? 'danger' : 'warning';
	$mem_conn_desc = '<span class="litespeed-' . esc_attr( $severity ) . '">' . esc_html__( 'Failed', 'litespeed-cache' ) . '</span>';
}
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Object Cache Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#object-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Use external object cache functionality.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/admin/#memcached-lsmcd-and-redis-object-cache-support-in-lscwp' ); ?>
				</div>
				<div class="litespeed-block">
					<div class="litespeed-col-auto">
						<h4><?php esc_html_e( 'Status', 'litespeed-cache' ); ?></h4>
					</div>
					<div class="litespeed-col-auto">
						<?php
						printf(
							/* translators: %s: Object cache name */
							esc_html__( '%s Extension', 'litespeed-cache' ),
							'Memcached'
						);
						?>
						: <?php echo wp_kses_post( $mem_enabled ); ?><br>
						<?php
						printf(
							/* translators: %s: Object cache name */
							esc_html__( '%s Extension', 'litespeed-cache' ),
							'Redis'
						);
						?>
						: <?php echo wp_kses_post( $redis_enabled ); ?><br>
						<?php esc_html_e( 'Connection Test', 'litespeed-cache' ); ?>: <?php echo wp_kses_post( $mem_conn_desc ); ?>
						<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/admin/#how-to-debug' ); ?>
					</div>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_KIND; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id, array( 'Memcached', 'Redis' ) ); ?>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_HOST; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id ); ?>
				<div class="litespeed-desc">
					<?php
					printf(
						/* translators: %s: Object cache name */
						esc_html__( 'Your %s Hostname or IP address.', 'litespeed-cache' ),
						'Memcached/<a href="https://docs.litespeedtech.com/products/lsmcd/" target="_blank" rel="noopener">LSMCD</a>/Redis'
					);
					?>
					<br>
					<?php
					printf(
						/* translators: %1$s: Socket name, %2$s: Host field title, %3$s: Example socket path */
						esc_html__( 'If you are using a %1$s socket, %2$s should be set to %3$s', 'litespeed-cache' ),
						'UNIX',
						esc_html( Lang::title( $option_id ) ),
						'<code>/path/to/memcached.sock</code>'
					);
					?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_PORT; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-short2' ); ?>
				<div class="litespeed-desc">
					<?php
					printf(
						/* translators: %1$s: Object cache name, %2$s: Port number */
						esc_html__( 'Default port for %1$s is %2$s.', 'litespeed-cache' ),
						'Memcached',
						'<code>11211</code>'
					);
					?>
					<br>
					<?php
					printf(
						/* translators: %1$s: Object cache name, %2$s: Port number */
						esc_html__( 'Default port for %1$s is %2$s.', 'litespeed-cache' ),
						'Redis',
						'<code>6379</code>'
					);
					?>
					<br>
					<?php
					printf(
						/* translators: %1$s: Socket name, %2$s: Port field title, %3$s: Port value */
						esc_html__( 'If you are using a %1$s socket, %2$s should be set to %3$s', 'litespeed-cache' ),
						'UNIX',
						esc_html( Lang::title( $option_id ) ),
						'<code>0</code>'
					);
					?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_LIFE; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-short2' ); ?> <?php esc_html_e( 'seconds', 'litespeed-cache' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Default TTL for cached objects.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_USER; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id ); ?>
				<div class="litespeed-desc">
					<?php
					printf(
						/* translators: %s: SASL */
						esc_html__( 'Only available when %s is installed.', 'litespeed-cache' ),
						'SASL'
					);
					?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_PSWD; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify the password used when connecting.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_DB_ID; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id, 'litespeed-input-short' ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Database to be used', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_GLOBAL_GROUPS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id, 30 ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Groups cached at the network level.', 'litespeed-cache' ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_NON_PERSISTENT_GROUPS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id, 30 ); ?>
				<div class="litespeed-desc">
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_PERSISTENT; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Use keep-alive connections to speed up cache operations.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_ADMIN; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Improve wp-admin speed through caching. (May encounter expired data)', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_OBJECT_TRANSIENTS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php
					printf(
						/* translators: %1$s: Object Cache Admin title, %2$s: OFF status */
						esc_html__( 'Save transients in database when %1$s is %2$s.', 'litespeed-cache' ),
						'<code>' . esc_html( Lang::title( Base::O_OBJECT_ADMIN ) ) . '</code>',
						'<code>' . esc_html__( 'OFF', 'litespeed-cache' ) . '</code>'
					);
					?>
					<br>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#store-transients' ); ?>
				</div>
			</td>
		</tr>
	</tbody>
</table>

<script>
jQuery(document).ready(function($) {
	// Auto-fill port based on object cache type
	$('input[name="object-kind"]').on('change', function() {
		var portInput = $('#input_objectport');
		var selectedKind = $(this).val();

		// Memcached (0) -> 11211, Redis (1) -> 6379
		if (selectedKind === '0') {
			portInput.val('11211');
		} else if (selectedKind === '1') {
			portInput.val('6379');
		}
	});
});
</script>
PK�^�\�Sq+	+	6litespeed-cache/tpl/cache/settings_inc.browser.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Browser Cache Settings
 *
 * Displays the browser cache settings section for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Browser Cache Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#browser-tab' ); ?>
</h3>

<?php if ( 'LITESPEED_SERVER_OLS' === LITESPEED_SERVER_TYPE ) : ?>
	<div class="litespeed-callout notice notice-warning inline">
		<h4><?php esc_html_e( 'NOTICE:', 'litespeed-cache' ); ?></h4>
		<p>
			<?php esc_html_e( 'OpenLiteSpeed users please check this', 'litespeed-cache' ); ?>:
			<?php Doc::learn_more( 'https://openlitespeed.org/kb/how-to-set-up-custom-headers/', esc_html__( 'Setting Up Custom Headers', 'litespeed-cache' ) ); ?>
		</p>
	</div>
<?php endif; ?>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th scope="row">
				<?php $option_id = Base::O_CACHE_BROWSER; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files.", 'litespeed-cache' ); ?><br>
					<?php Doc::notice_htaccess(); ?><br>
					<?php
					printf(
						/* translators: %s: Link tags */
						esc_html__( 'You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s.', 'litespeed-cache' ),
						'<a href="https://docs.litespeedtech.com/lscache/lscwp/cache/#how-to-set-it-up" target="_blank" rel="noopener">',
						'</a>'
					);
					?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_CACHE_TTL_BROWSER; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_input( $option_id ); ?> <?php $this->readable_seconds(); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'The amount of time, in seconds, that files will be stored in browser cache before expiring.', 'litespeed-cache' ); ?>
					<?php $this->recommended( $option_id ); ?>
					<?php $this->_validate_ttl( $option_id, 30 ); ?>
				</div>
			</td>
		</tr>
	</tbody>
</table>
PK�^�\��J��;litespeed-cache/tpl/cache/network_settings-excludes.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Network Exclude Settings
 *
 * Displays the network exclude settings section for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Exclude Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#excludes-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<?php
		// Cookie
		require LSCWP_DIR . 'tpl/cache/settings_inc.exclude_cookies.tpl.php';

		// User Agent
		require LSCWP_DIR . 'tpl/cache/settings_inc.exclude_useragent.tpl.php';
		?>
	</tbody>
</table>PK�^�\}�]@litespeed-cache/tpl/cache/settings_inc.exclude_useragent.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Exclude User Agents Setting
 *
 * Displays the exclude user agents setting for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<tr>
	<th scope="row">
		<?php $option_id = Base::O_CACHE_EXC_USERAGENTS; ?>
		<?php $this->title( $option_id ); ?>
	</th>
	<td>
		<?php $this->build_textarea( $option_id ); ?>
		<div class="litespeed-desc">
			<?php
			printf(
				/* translators: %s: "user agents" */
				esc_html__( 'To prevent %s from being cached, enter them here.', 'litespeed-cache' ),
				esc_html__( 'user agents', 'litespeed-cache' )
			);
			?>
			<?php Doc::one_per_line(); ?>
			<?php $this->_validate_syntax( $option_id ); ?>
			<br /><?php Doc::notice_htaccess(); ?>
		</div>
	</td>
</tr>PK�^�\��\��3litespeed-cache/tpl/cache/more_settings_tip.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Setting Tip
 *
 * Displays a notice to inform users about additional LiteSpeed Cache settings.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

global $pagenow;
if ( 'options-general.php' !== $pagenow ) {
	return;
}
?>

<div class="litespeed-callout notice notice-success inline">
	<h4><?php esc_html_e( 'NOTE', 'litespeed-cache' ); ?></h4>
	<p>
		<?php
		printf(
			/* translators: %s: LiteSpeed Cache menu label */
			esc_html__( 'More settings available under %s menu', 'litespeed-cache' ),
			'<code>' . esc_html__( 'LiteSpeed Cache', 'litespeed-cache' ) . '</code>'
		);
		?>
	</p>
</div>PK�^�\�IА�0litespeed-cache/tpl/cache/settings-cache.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Control Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Cache Control Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th>
				<?php $option_id = Base::O_CACHE; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php if ( $this->_is_multisite ) : ?>
					<?php $this->build_switch( $option_id, array( esc_html__( 'OFF', 'litespeed-cache' ), esc_html__( 'ON', 'litespeed-cache' ), esc_html__( 'Use Network Admin Setting', 'litespeed-cache' ) ) ); ?>
				<?php else : ?>
					<?php $this->build_switch( $option_id ); ?>
				<?php endif; ?>
				<div class="litespeed-desc">
					<?php
					printf(
						/* translators: %s: Link tags */
						esc_html__( 'Please visit the %sInformation%s page on how to test the cache.', 'litespeed-cache' ),
						'<a href="https://docs.litespeedtech.com/lscache/lscwp/installation/#testing" target="_blank" rel="noopener">',
						'</a>'
					);
					?>
					<br>
					<strong><?php esc_html_e( 'NOTICE', 'litespeed-cache' ); ?>: </strong><?php esc_html_e( 'When disabling the cache, all cached entries for this site will be purged.', 'litespeed-cache' ); ?>
					<br>
					<?php if ( $this->_is_multisite ) : ?>
						<?php esc_html_e( 'The network admin setting can be overridden here.', 'litespeed-cache' ); ?>
						<br>
					<?php endif; ?>
					<?php if ( ! $this->conf( Base::O_CACHE ) && $this->conf( Base::O_CDN_QUIC ) ) : ?>
						<span class="litespeed-success"><?php esc_html_e( 'With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server.', 'litespeed-cache' ); ?></span>
					<?php endif; ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_PRIV; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Privately cache frontend pages for logged-in users. (LSWS %s required)', 'litespeed-cache' ), 'v5.2.1+' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_COMMENTER; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php printf( esc_html__( 'Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)', 'litespeed-cache' ), 'v5.2.1+' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_REST; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Cache requests made by WordPress REST API calls.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_PAGE_LOGIN; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Disabling this option may negatively affect performance.', 'litespeed-cache' ); ?>
				</div>
			</td>
		</tr>

		<?php if ( ! $this->_is_multisite ) : ?>
			<?php require LSCWP_DIR . 'tpl/cache/settings_inc.cache_mobile.tpl.php'; ?>
		<?php endif; ?>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_PRIV_URI; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'URI Paths containing these strings will NOT be cached as public.', 'litespeed-cache' ); ?>
					<?php $this->_uri_usage_example(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_FORCE_URI; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Paths containing these strings will be cached regardless of no-cacheable settings.', 'litespeed-cache' ); ?>
					<?php $this->_uri_usage_example(); ?>
					<br>
					<?php esc_html_e( 'To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.', 'litespeed-cache' ); ?>
					<?php
					printf(
						esc_html__( 'For example, %1$s defines a TTL of %2$s seconds for %3$s.', 'litespeed-cache' ),
						'<code>/mypath/mypage 300</code>',
						300,
						'<code>/mypath/mypage</code>'
					);
					?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_FORCE_PUB_URI; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Paths containing these strings will be forced to public cached regardless of no-cacheable settings.', 'litespeed-cache' ); ?>
					<?php $this->_uri_usage_example(); ?>
					<br>
					<?php esc_html_e( 'To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI.', 'litespeed-cache' ); ?>
					<?php
					printf(
						esc_html__( 'For example, %1$s defines a TTL of %2$s seconds for %3$s.', 'litespeed-cache' ),
						'<code>/mypath/mypage 300</code>',
						300,
						'<code>/mypath/mypage</code>'
					);
					?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<?php if ( ! $this->_is_multisite ) : ?>
			<?php require LSCWP_DIR . 'tpl/cache/settings_inc.cache_dropquery.tpl.php'; ?>
		<?php endif; ?>

	</tbody>
</table>
PK�^�\y�U??;litespeed-cache/tpl/cache/network_settings-advanced.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Advanced Settings
 *
 * Displays the advanced settings section for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Advanced Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#advanced-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<?php require LSCWP_DIR . 'tpl/cache/settings_inc.login_cookie.tpl.php'; ?>
	</tbody>
</table>PK�^�\c�#"��1litespeed-cache/tpl/cache/settings-object.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Object Cache Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

require LSCWP_DIR . 'tpl/cache/settings_inc.object.tpl.php';
PK�^�\��e}}?litespeed-cache/tpl/cache/settings_inc.purge_on_upgrade.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Purge on Upgrade Setting
 *
 * Displays the purge on upgrade setting for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<!-- build_setting_purge_on_upgrade -->
<tr>
	<th scope="row">
		<?php $option_id = Base::O_PURGE_ON_UPGRADE; ?>
		<?php $this->title( $option_id ); ?>
	</th>
	<td>
		<?php $this->build_switch( $option_id ); ?>
		<div class="litespeed-desc">
			<?php esc_html_e( 'When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.', 'litespeed-cache' ); ?>
		</div>
	</td>
</tr>PK�^�\��Avv0litespeed-cache/tpl/cache/settings-purge.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Purge Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Purge Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#purge-tab' ); ?>
</h3>

<?php
$option_list = array(
	Base::O_PURGE_POST_ALL                     => esc_html__( 'All pages', 'litespeed-cache' ),
	Base::O_PURGE_POST_FRONTPAGE               => esc_html__( 'Front page', 'litespeed-cache' ),
	Base::O_PURGE_POST_HOMEPAGE                => esc_html__( 'Home page', 'litespeed-cache' ),
	Base::O_PURGE_POST_PAGES                   => esc_html__( 'Pages', 'litespeed-cache' ),
	Base::O_PURGE_POST_PAGES_WITH_RECENT_POSTS => esc_html__( 'All pages with Recent Posts Widget', 'litespeed-cache' ),
	Base::O_PURGE_POST_AUTHOR                  => esc_html__( 'Author archive', 'litespeed-cache' ),
	Base::O_PURGE_POST_POSTTYPE                => esc_html__( 'Post type archive', 'litespeed-cache' ),
	Base::O_PURGE_POST_YEAR                    => esc_html__( 'Yearly archive', 'litespeed-cache' ),
	Base::O_PURGE_POST_MONTH                   => esc_html__( 'Monthly archive', 'litespeed-cache' ),
	Base::O_PURGE_POST_DATE                    => esc_html__( 'Daily archive', 'litespeed-cache' ),
	Base::O_PURGE_POST_TERM                    => esc_html__( 'Term archive (include category, tag, and tax)', 'litespeed-cache' ),
);

// break line at these ids
$break_arr = array(
	Base::O_PURGE_POST_PAGES,
	Base::O_PURGE_POST_PAGES_WITH_RECENT_POSTS,
	Base::O_PURGE_POST_POSTTYPE,
	Base::O_PURGE_POST_DATE,
);
?>

<table class="wp-list-table striped litespeed-table"><tbody>

	<?php if ( ! $this->_is_multisite ) : ?>
		<?php require LSCWP_DIR . 'tpl/cache/settings_inc.purge_on_upgrade.tpl.php'; ?>
	<?php endif; ?>

	<tr>
		<th><?php esc_html_e( 'Auto Purge Rules For Publish/Update', 'litespeed-cache' ); ?></th>
		<td>
			<div class="litespeed-callout notice notice-warning inline">
				<h4><?php esc_html_e( 'Note', 'litespeed-cache' ); ?></h4>
				<p>
					<?php esc_html_e( 'Select "All" if there are dynamic widgets linked to posts on pages other than the front or home pages.', 'litespeed-cache' ); ?><br>
					<?php esc_html_e( 'Other checkboxes will be ignored.', 'litespeed-cache' ); ?><br>
					<?php esc_html_e( 'Select only the archive types that are currently used, the others can be left unchecked.', 'litespeed-cache' ); ?>
				</p>
			</div>
			<div class="litespeed-top20">
				<div class="litespeed-tick-wrapper">
					<?php
					foreach ( $option_list as $option_id => $cur_title ) {
						$this->build_checkbox( $option_id, $cur_title );
						if ( in_array( $option_id, $break_arr, true ) ) {
							echo '</div><div class="litespeed-tick-wrapper litespeed-top10">';
						}
					}
					?>
				</div>
			</div>
			<div class="litespeed-desc">
				<?php esc_html_e( 'Select which pages will be automatically purged when posts are published/updated.', 'litespeed-cache' ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_PURGE_STALE; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_switch( $option_id ); ?>
			<div class="litespeed-desc">
				<?php esc_html_e( 'If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.', 'litespeed-cache' ); ?>
				<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#serve-stale' ); ?>
			</div>
			<div class="litespeed-callout notice notice-warning inline">
				<h4><?php esc_html_e( 'Note', 'litespeed-cache' ); ?></h4>
				<p>
					<?php esc_html_e( 'By design, this option may serve stale content. Do not enable this option, if that is not OK with you.', 'litespeed-cache' ); ?><br>
				</p>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_PURGE_TIMED_URLS; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_textarea( $option_id, 80 ); ?>
			<div class="litespeed-desc">
				<?php printf( esc_html__( 'The URLs here (one per line) will be purged automatically at the time set in the option "%s".', 'litespeed-cache' ), esc_html__( 'Scheduled Purge Time', 'litespeed-cache' ) ); ?><br>
				<?php printf( esc_html__( 'Both %1$s and %2$s are acceptable.', 'litespeed-cache' ), '<code>http://www.example.com/path/url.php</code>', '<code>/path/url.php</code>' ); ?>
				<?php Doc::one_per_line(); ?>
			</div>
			<div class="litespeed-desc">
				<?php printf( esc_html__( 'Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s.', 'litespeed-cache' ), '<code>*</code>', '<code>/path/u-1.html</code>', '<code>/path/u-2.html</code>', '<code>/path/u-*.html</code>' ); ?>
			</div>
			<div class="litespeed-callout notice notice-warning inline">
				<h4><?php esc_html_e( 'Note', 'litespeed-cache' ); ?></h4>
				<p>
					<?php esc_html_e( 'For URLs with wildcards, there may be a delay in initiating scheduled purge.', 'litespeed-cache' ); ?><br>
					<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#scheduled-purge-urls' ); ?>
				</p>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_PURGE_TIMED_URLS_TIME; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<?php $this->build_input( $option_id, null, null, 'time' ); ?>
			<div class="litespeed-desc">
				<?php printf( esc_html__( 'Specify the time to purge the "%s" list.', 'litespeed-cache' ), esc_html__( 'Scheduled Purge URLs', 'litespeed-cache' ) ); ?>
				<?php printf( esc_html__( 'Current server time is %s.', 'litespeed-cache' ), '<code>' . esc_html( gmdate( 'H:i:s', time() + LITESPEED_TIME_OFFSET ) ) . '</code>' ); ?>
			</div>
		</td>
	</tr>

	<tr>
		<th>
			<?php $option_id = Base::O_PURGE_HOOK_ALL; ?>
			<?php $this->title( $option_id ); ?>
		</th>
		<td>
			<div class="litespeed-textarea-recommended">
				<div>
					<?php $this->build_textarea( $option_id, 50 ); ?>
				</div>
				<div>
					<?php $this->recommended( $option_id ); ?>
				</div>
			</div>
			<div class="litespeed-desc">
				<?php esc_html_e( 'A Purge All will be executed when WordPress runs these hooks.', 'litespeed-cache' ); ?>
				<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#purge-all-hooks' ); ?>
			</div>
		</td>
	</tr>

</tbody></table>
PK�^�\m��5
5
3litespeed-cache/tpl/cache/settings-advanced.tpl.phpnu�[���<?php
/**
 * Advanced Settings Template
 *
 * @package     LiteSpeed
 * @since       1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

?>

<h3 class="litespeed-title-short">
	<?php esc_html_e( 'Advanced Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( esc_url( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#advanced-tab' ) ); ?>
</h3>

<div class="litespeed-callout notice notice-warning inline">
	<h4><?php esc_html_e( 'NOTICE:', 'litespeed-cache' ); ?></h4>
	<p><?php esc_html_e( 'These settings are meant for ADVANCED USERS ONLY.', 'litespeed-cache' ); ?></p>
</div>

<table class="wp-list-table striped litespeed-table">
	<tbody>
		<tr>
			<th scope="row">
				<?php $option_id = Base::O_CACHE_AJAX_TTL; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<div class="litespeed-textarea-recommended">
					<div>
						<?php $this->build_textarea( $option_id, 60 ); ?>
					</div>
				</div>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space.', 'litespeed-cache' ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<?php if ( ! $this->_is_multisite ) : ?>
			<?php require LSCWP_DIR . 'tpl/cache/settings_inc.login_cookie.tpl.php'; ?>
		<?php endif; ?>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_UTIL_NO_HTTPS_VARY; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( esc_url( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#improve-httphttps-compatibility' ) ); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th scope="row">
				<?php $option_id = Base::O_UTIL_INSTANT_CLICK; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_switch( $option_id ); ?>
				<div class="litespeed-desc">
					<?php esc_html_e( 'When a visitor hovers over a page link, preload that page. This will speed up the visit to that link.', 'litespeed-cache' ); ?>
					<?php Doc::learn_more( esc_url( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#instant-click' ) ); ?>
					<br />
					<span class="litespeed-danger">
					⚠️
						<?php esc_html_e( 'This will generate extra requests to the server, which will increase server load.', 'litespeed-cache' ); ?>
					</span>
				</div>
			</td>
		</tr>
	</tbody>
</table>PK�^�\Ĕ��
�
;litespeed-cache/tpl/cache/settings_inc.cache_mobile.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Mobile View Settings
 *
 * Displays the mobile view cache settings for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<tr>
	<th scope="row">
		<?php $cid = Base::O_CACHE_MOBILE; ?>
		<?php $this->title( $cid ); ?>
	</th>
	<td>
		<?php $this->build_switch( $cid ); ?>
		<div class="litespeed-desc">
			<?php esc_html_e( 'Serve a separate cache copy for mobile visitors.', 'litespeed-cache' ); ?>
			<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#cache-mobile', esc_html__( 'Learn more about when this is needed', 'litespeed-cache' ) ); ?>
			<br /><?php Doc::notice_htaccess(); ?>
			<br /><?php Doc::crawler_affected(); ?>
		</div>
	</td>
</tr>

<tr>
	<th scope="row" class="litespeed-padding-left">
		<?php $cid = Base::O_CACHE_MOBILE_RULES; ?>
		<?php $this->title( $cid ); ?>
	</th>
	<td>
		<?php
		if ( $this->conf( Base::O_CACHE_MOBILE ) ) {
			if ( defined( 'LITESPEED_ON' ) ) {
				try {
					$mobile_agents = Htaccess::cls()->current_mobile_agents();
					if ( Utility::arr2regex( $this->conf( $cid ), true ) !== $mobile_agents ) {
						?>
						<div class="litespeed-callout notice notice-error inline">
							<p>
								<?php esc_html_e( 'Htaccess did not match configuration option.', 'litespeed-cache' ); ?>
								<?php
								printf(
									/* translators: %s: Current mobile agents in htaccess */
									esc_html__( 'Htaccess rule is: %s', 'litespeed-cache' ),
									'<code>' . esc_html( $mobile_agents ) . '</code>'
								);
								?>
							</p>
						</div>
						<?php
					}
				} catch ( \Exception $e ) {
					?>
					<div class="litespeed-callout notice notice-error inline">
						<p><?php echo wp_kses_post( $e->getMessage() ); ?></p>
					</div>
					<?php
				}
			}
		}
		?>

		<div class="litespeed-textarea-recommended">
			<div>
				<?php $this->build_textarea( $cid, 40 ); ?>
			</div>
			<div>
				<?php $this->recommended( $cid ); ?>
			</div>
		</div>

		<div class="litespeed-desc">
			<?php Doc::one_per_line(); ?>
			<?php $this->_validate_syntax( $cid ); ?>

			<?php if ( $this->conf( Base::O_CACHE_MOBILE ) && ! $this->conf( $cid ) ) : ?>
				<span class="litespeed-warning">
					❌
					<?php
					printf(
						/* translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile User Agents label */
						esc_html__( 'If %1$s is %2$s, then %3$s must be populated!', 'litespeed-cache' ),
						'<code>' . esc_html__( 'Cache Mobile', 'litespeed-cache' ) . '</code>',
						'<code>' . esc_html__( 'ON', 'litespeed-cache' ) . '</code>',
						'<code>' . esc_html__( 'List of Mobile User Agents', 'litespeed-cache' ) . '</code>'
					);
					?>
				</span>
			<?php endif; ?>
		</div>
	</td>
</tr>PK�^�\�	0PP'litespeed-cache/tpl/cache/entry.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Settings
 *
 * Displays the cache settings page with tabbed navigation for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

if ( $this->_is_network_admin ) {
	$menu_list = array(
		'cache'    => __( 'Cache', 'litespeed-cache' ),
		'purge'    => __( 'Purge', 'litespeed-cache' ),
		'excludes' => __( 'Excludes', 'litespeed-cache' ),
		'object'   => __( 'Object', 'litespeed-cache' ),
		'browser'  => __( 'Browser', 'litespeed-cache' ),
		'advanced' => __( 'Advanced', 'litespeed-cache' ),
	);
?>

<div class="wrap">
	<h1 class="litespeed-h1">
		<?php esc_html_e( 'LiteSpeed Cache Network Cache Settings', 'litespeed-cache' ); ?>
	</h1>
	<span class="litespeed-desc">
		<?php echo esc_html( 'v' . Core::VER ); ?>
	</span>
	<hr class="wp-header-end">
</div>

<div class="litespeed-wrap">
	<h2 class="litespeed-header nav-tab-wrapper">
		<?php GUI::display_tab_list( $menu_list ); ?>
	</h2>
	<div class="litespeed-body">
		<?php $this->cache_disabled_warning(); ?>

		<?php
		$this->form_action( Router::ACTION_SAVE_SETTINGS_NETWORK );

		foreach ( $menu_list as $k => $val ) {
			$k_escaped = esc_attr( $k );
			?>
			<div data-litespeed-layout="<?php echo esc_html( $k_escaped ); ?>">
			<?php
			require LSCWP_DIR . "tpl/cache/network_settings-$k.tpl.php";
			?>
			</div>
			<?php
		}

		$this->form_end();
		?>
	</div>
</div>
<?php
	return;
}

$menu_list = array(
	'cache'    => __( 'Cache', 'litespeed-cache' ),
	'ttl'      => __( 'TTL', 'litespeed-cache' ),
	'purge'    => __( 'Purge', 'litespeed-cache' ),
	'excludes' => __( 'Excludes', 'litespeed-cache' ),
	'esi'      => __( 'ESI', 'litespeed-cache' ),
);

if ( ! $this->_is_multisite ) {
	$menu_list['object']  = __( 'Object', 'litespeed-cache' );
	$menu_list['browser'] = __( 'Browser', 'litespeed-cache' );
}

$menu_list['advanced'] = __( 'Advanced', 'litespeed-cache' );

/**
 * Generate roles for setting usage
 *
 * @since 1.6.2
 */
global $wp_roles;
$wp_orig_roles = $wp_roles;
if ( ! isset( $wp_roles ) ) {
	$wp_orig_roles = new \WP_Roles();
}

$roles = array();
foreach ( $wp_orig_roles->roles as $k => $v ) {
	$roles[ $k ] = $v['name'];
}
ksort( $roles );
?>

<div class="wrap">
	<h1 class="litespeed-h1">
		<?php esc_html_e( 'LiteSpeed Cache Settings', 'litespeed-cache' ); ?>
	</h1>
	<span class="litespeed-desc">
		<?php echo esc_html( 'v' . Core::VER ); ?>
	</span>
	<hr class="wp-header-end">
</div>
<div class="litespeed-wrap">
	<h2 class="litespeed-header nav-tab-wrapper">
		<?php
		$i             = 1;
		$accesskey_set = array();
		foreach ( $menu_list as $k => $val ) {
			$accesskey = '';
			if ( $i <= 9 ) {
				$accesskey = $i;
			} else {
				$tmp = strtoupper( substr( $k, 0, 1 ) );
				if ( ! in_array( $tmp, $accesskey_set, true ) ) {
					$accesskey_set[] = $tmp;
					$accesskey       = esc_attr( $tmp );
				}
			}
			printf('<a class="litespeed-tab nav-tab" href="#%1$s" data-litespeed-tab="%1$s" litespeed-accesskey="%2$s">%3$s</a>', esc_attr( $k ), esc_attr($accesskey), esc_html( $val ));
			++$i;
		}
		do_action( 'litespeed_settings_tab', 'cache' );
		?>
	</h2>

	<div class="litespeed-body">
		<?php $this->cache_disabled_warning(); ?>

		<?php
		$this->form_action();

		require LSCWP_DIR . 'tpl/inc/check_if_network_disable_all.php';
		require LSCWP_DIR . 'tpl/cache/more_settings_tip.tpl.php';

		foreach ( $menu_list as $k => $val ) {
			echo '<div data-litespeed-layout="' . esc_attr( $k ) . '">';
			require LSCWP_DIR . "tpl/cache/settings-$k.tpl.php";
			echo '</div>';
		}

		do_action( 'litespeed_settings_content', 'cache' );

		$this->form_end();
		?>
	</div>
</div>PK�^�\�WBW\\>litespeed-cache/tpl/cache/settings_inc.cache_dropquery.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Drop Query Strings Setting
 *
 * Displays the drop query strings setting for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<tr>
	<th scope="row">
		<?php $option_id = Base::O_CACHE_DROP_QS; ?>
		<?php $this->title( $option_id ); ?>
	</th>
	<td>
		<?php $this->build_textarea( $option_id, 40 ); ?>
		<div class="litespeed-desc">
			<?php
			printf(
				/* translators: %s: LiteSpeed Web Server version */
				esc_html__( 'Ignore certain query strings when caching. (LSWS %s required)', 'litespeed-cache' ),
				'v5.2.3+'
			);
			?>
			<?php
			printf(
				/* translators: %1$s: Example query string, %2$s: Example wildcard */
				esc_html__( 'For example, to drop parameters beginning with %1$s, %2$s can be used here.', 'litespeed-cache' ),
				'<code>utm</code>',
				'<code>utm*</code>'
			);
			?>
			<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#drop-query-string' ); ?>
			<br />
			<?php Doc::one_per_line(); ?>
			<br />
			<?php Doc::notice_htaccess(); ?>
		</div>
	</td>
</tr>PK�^�\vMJ7"";litespeed-cache/tpl/cache/settings_inc.login_cookie.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Login Cookie and Vary Cookies Settings
 *
 * Displays the login cookie and vary cookies settings for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<tr>
	<th scope="row">
		<?php $option_id = Base::O_CACHE_LOGIN_COOKIE; ?>
		<?php $this->title( $option_id ); ?>
	</th>
	<td>
		<?php $this->build_input( $option_id ); ?>
		<?php $this->_validate_syntax( $option_id ); ?>
		<div class="litespeed-desc">
			<?php
			esc_html_e( 'SYNTAX: alphanumeric and "_". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS.', 'litespeed-cache' );
			?>
			<br />
			<?php
			printf(
				/* translators: %s: Default login cookie name */
				esc_html__( 'The default login cookie is %s.', 'litespeed-cache' ),
				'<code>_lscache_vary</code>'
			);
			?>
			<?php esc_html_e( 'The server will determine if the user is logged in based on the existence of this cookie.', 'litespeed-cache' ); ?>
			<?php esc_html_e( 'This setting is useful for those that have multiple web applications for the same domain.', 'litespeed-cache' ); ?>
			<?php esc_html_e( 'If every web application uses the same cookie, the server may confuse whether a user is logged in or not.', 'litespeed-cache' ); ?>
			<?php esc_html_e( 'The cookie set here will be used for this WordPress installation.', 'litespeed-cache' ); ?>
			<br />
			<?php esc_html_e( 'Example use case:', 'litespeed-cache' ); ?><br />
			<?php
			printf(
				/* translators: %s: Example domain */
				esc_html__( 'There is a WordPress installed for %s.', 'litespeed-cache' ),
				'<u>www.example.com</u>'
			);
			?>
			<br />
			<?php
			printf(
				/* translators: %s: Example subdomain */
				esc_html__( 'Then another WordPress is installed (NOT MULTISITE) at %s', 'litespeed-cache' ),
				'<u>www.example.com/blog/</u>'
			);
			?>
			<?php esc_html_e( 'The cache needs to distinguish who is logged into which WordPress site in order to cache correctly.', 'litespeed-cache' ); ?><br />
			<?php Doc::notice_htaccess(); ?>
		</div>

		<?php if ( preg_match( '#[^\w\-]#', $this->conf( $option_id ) ) ) : ?>
			<div class="litespeed-callout notice notice-error inline">
				<p>❌ <?php esc_html_e( 'Invalid login cookie. Invalid characters found.', 'litespeed-cache' ); ?></p>
			</div>
		<?php endif; ?>

		<?php
		if ( defined( 'LITESPEED_ON' ) && $this->conf( $option_id ) ) {
			$cookie_rule = '';
			try {
				$cookie_rule = Htaccess::cls()->current_login_cookie();
			} catch ( \Exception $e ) {
				?>
				<div class="litespeed-callout notice notice-error inline">
					<p><?php echo esc_html( $e->getMessage() ); ?></p>
				</div>
				<?php
			}

			$cookie_arr = explode( ',', $cookie_rule );
			if ( ! in_array( $this->conf( $option_id ), $cookie_arr, true ) ) {
				?>
				<div class="litespeed-callout notice notice-warning inline">
					<p><?php esc_html_e( 'WARNING: The .htaccess login cookie and Database login cookie do not match.', 'litespeed-cache' ); ?></p>
				</div>
				<?php
			}
		}
		?>
	</td>
</tr>

<tr>
	<th scope="row">
		<?php $option_id = Base::O_CACHE_VARY_COOKIES; ?>
		<?php $this->title( $option_id ); ?>
	</th>
	<td>
		<?php $this->build_textarea( $option_id, 50 ); ?>
		<?php $this->_validate_syntax( $option_id ); ?>
		<div class="litespeed-desc">
			<?php esc_html_e( 'SYNTAX: alphanumeric and "_". No spaces and case sensitive.', 'litespeed-cache' ); ?>
			<br />
			<?php esc_html_e( 'You can list the 3rd party vary cookies here.', 'litespeed-cache' ); ?>
			<br />
			<?php Doc::notice_htaccess(); ?>
		</div>
	</td>
</tr>PK�^�\.�8;>litespeed-cache/tpl/cache/settings_inc.exclude_cookies.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Exclude Cookies Setting
 *
 * Displays the exclude cookies setting for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<tr>
	<th scope="row">
		<?php $option_id = Base::O_CACHE_EXC_COOKIES; ?>
		<?php $this->title( $option_id ); ?>
	</th>
	<td>
		<?php $this->build_textarea( $option_id ); ?>
		<div class="litespeed-desc">
			<?php
			printf(
				/* translators: %s: "cookies" */
				esc_html__( 'To prevent %s from being cached, enter them here.', 'litespeed-cache' ),
				esc_html__( 'cookies', 'litespeed-cache' )
			);
			?>
			<?php Doc::one_per_line(); ?>
			<?php $this->_validate_syntax( $option_id ); ?>
			<br /><?php Doc::notice_htaccess(); ?>
		</div>
	</td>
</tr>PK�^�\ֶ*�333litespeed-cache/tpl/cache/settings-excludes.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Exclude Settings
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<h3 class="litespeed-title-short">
	<?php echo esc_html__( 'Exclude Settings', 'litespeed-cache' ); ?>
	<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#excludes-tab' ); ?>
</h3>

<table class="wp-list-table striped litespeed-table">
	<tbody>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_EXC; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php echo esc_html__( 'Paths containing these strings will not be cached.', 'litespeed-cache' ); ?>
					<?php $this->_uri_usage_example(); ?>
					<br><?php echo esc_html__( 'Predefined list will also be combined w/ the above settings', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/cache_nocacheable.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/cache_nocacheable.txt</a>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_EXC_QS; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php $this->build_textarea( $option_id ); ?>
				<div class="litespeed-desc">
					<?php echo esc_html__( 'Query strings containing these parameters will not be cached.', 'litespeed-cache' ); ?>
					<?php printf( esc_html__( 'For example, for %1$s, %2$s and %3$s can be used here.', 'litespeed-cache' ), '<code>?aa=bb&cc=dd</code>', '<code>aa</code>', '<code>cc</code>' ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_EXC_CAT; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php
				$excludes_buf = '';
				if ( $this->conf( $option_id ) ) {
					$excludes_buf = implode( "\n", array_map( 'get_cat_name', $this->conf( $option_id ) ) );
				}
				$this->build_textarea( $option_id, false, $excludes_buf );
				?>
				<div class="litespeed-desc">
					<b><?php echo esc_html__( 'All categories are cached by default.', 'litespeed-cache' ); ?></b>
					<?php printf( esc_html__( 'To prevent %s from being cached, enter them here.', 'litespeed-cache' ), esc_html__( 'categories', 'litespeed-cache' ) ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
				<div class="litespeed-callout notice notice-warning inline">
					<h4><?php echo esc_html__( 'NOTE', 'litespeed-cache' ); ?>:</h4>
					<ol>
						<li><?php echo esc_html__( 'If the category name is not found, the category will be removed from the list on save.', 'litespeed-cache' ); ?></li>
					</ol>
				</div>
			</td>
		</tr>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_EXC_TAG; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<?php
				$excludes_buf = '';
				if ( $this->conf( $option_id ) ) {
					$tag_names = array();
					foreach ( array_map( 'get_tag', $this->conf( $option_id ) ) as $curr_tag ) {
						$tag_names[] = $curr_tag->name;
					}
					if ( ! empty( $tag_names ) ) {
						$excludes_buf = implode( "\n", $tag_names );
					}
				}
				$this->build_textarea( $option_id, false, $excludes_buf );
				?>
				<div class="litespeed-desc">
					<b><?php echo esc_html__( 'All tags are cached by default.', 'litespeed-cache' ); ?></b>
					<?php printf( esc_html__( 'To prevent %s from being cached, enter them here.', 'litespeed-cache' ), esc_html__( 'tags', 'litespeed-cache' ) ); ?>
					<?php Doc::one_per_line(); ?>
				</div>
				<div class="litespeed-callout notice notice-warning inline">
					<h4><?php echo esc_html__( 'NOTE', 'litespeed-cache' ); ?>:</h4>
					<ol>
						<li><?php echo esc_html__( 'If the tag slug is not found, the tag will be removed from the list on save.', 'litespeed-cache' ); ?></li>
						<li>
						<?php
						printf(
							esc_html__( 'To exclude %1$s, insert %2$s.', 'litespeed-cache' ),
							'<code>http://www.example.com/tag/category/tag-slug/</code>',
							'<code>tag-slug</code>'
						);
						?>
						</li>
					</ol>
				</div>
			</td>
		</tr>

		<?php
		if ( ! $this->_is_multisite ) :
			require LSCWP_DIR . 'tpl/cache/settings_inc.exclude_cookies.tpl.php';
			require LSCWP_DIR . 'tpl/cache/settings_inc.exclude_useragent.tpl.php';
		endif;
		?>

		<tr>
			<th>
				<?php $option_id = Base::O_CACHE_EXC_ROLES; ?>
				<?php $this->title( $option_id ); ?>
			</th>
			<td>
				<div class="litespeed-desc">
					<?php echo esc_html__( 'Selected roles will be excluded from cache.', 'litespeed-cache' ); ?>
				</div>
				<div class="litespeed-tick-list">
					<?php foreach ( $roles as $curr_role => $curr_title ) : ?>
						<?php $this->build_checkbox( $option_id . '[]', esc_html( $curr_title ), Control::cls()->in_cache_exc_roles( $curr_role ), $curr_role ); ?>
					<?php endforeach; ?>
				</div>
			</td>
		</tr>

	</tbody>
</table>
PK�^�\v�Ƒ��-litespeed-cache/tpl/banner/cloud_news.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Promotion Banner
 *
 * Displays a promotional banner with news and installation options.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<div class="litespeed-wrap notice notice-success litespeed-banner-promo-full">
	<div class="litespeed-banner-promo-content">
		<h3 class="litespeed-banner-title litespeed-top15"><?php echo wp_kses_post( $this->_summary['news.title'] ); ?></h3>
		<div class="litespeed-banner-description" style="flex-direction: column;">
			<div class="litespeed-banner-description-padding-right-15">
				<p class="litespeed-banner-description-content">
					<?php echo wp_kses_post( $this->_summary['news.content'] ); ?>
				</p>
			</div>
			<div class="litespeed-inline">
				<div class="litespeed-banner-description-padding-right-15 litespeed-margin-bottom10">
					<?php if ( ! empty( $this->_summary['news.plugin'] ) ) : ?>
						<?php $install_link = Utility::build_url( Router::ACTION_ACTIVATION, Activation::TYPE_INSTALL_3RD, false, null, array( 'plugin' => $this->_summary['news.plugin'] ) ); ?>
						<a href="<?php echo esc_url( $install_link ); ?>" class="button litespeed-btn-success">
							<?php esc_html_e( 'Install', 'litespeed-cache' ); ?>
							<?php
							if ( ! empty( $this->_summary['news.plugin_name'] ) ) {
								echo esc_html( $this->_summary['news.plugin_name'] );
							}
							?>
						</a>
					<?php endif; ?>
					<?php if ( ! empty( $this->_summary['news.zip'] ) ) : ?>
						<?php $install_link = Utility::build_url( Router::ACTION_ACTIVATION, Activation::TYPE_INSTALL_ZIP ); ?>
						<a href="<?php echo esc_url( $install_link ); ?>" class="button litespeed-btn-success">
							<?php esc_html_e( 'Install', 'litespeed-cache' ); ?>
						</a>
					<?php endif; ?>
				</div>
			</div>
		</div>
	</div>

	<div>
		<?php $dismiss_url = Utility::build_url( Router::ACTION_ACTIVATION, Activation::TYPE_DISMISS_RECOMMENDED ); ?>
		<span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice', 'litespeed-cache' ); ?></span>
		<a href="<?php echo esc_url( $dismiss_url ); ?>" class="litespeed-notice-dismiss">X</a>
	</div>
</div>PK�^�\�th}ii#litespeed-cache/tpl/banner/ajax.phpnu�[���<?php
/**
 * Health Check Script
 *
 * Triggers a health check request for speed when the document is loaded.
 *
 * @package LiteSpeed
 * @since 1.0.0
 * @deprecated 3.3 Will only show banner after user manually checked score
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$url = Utility::build_url( Router::ACTION_HEALTH, Health::TYPE_SPEED, true, null, array(), true );
?>
<script>
document.addEventListener('DOMContentLoaded', function() {
	jQuery(document).ready( function() {
			jQuery.get( '<?php echo $url; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>' ) ;
		} ) ;
});
</script>PK�^�\S�Xbb$litespeed-cache/tpl/banner/slack.phpnu�[���<?php
/**
 * LiteSpeed Cache Slack Community Banner
 *
 * Displays a promotional banner inviting users to join the LiteSpeed Slack community.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<div class="litespeed-wrap notice notice-info litespeed-banner-promo-full" id="litespeed-banner-promo-slack">
	<div class="litespeed-banner-promo-logo"></div>

	<div class="litespeed-banner-promo-content">
		<h3 class="litespeed-banner-title"><?php esc_html_e( 'Welcome to LiteSpeed', 'litespeed-cache' ); ?></h3>
		<div class="litespeed-banner-description">
			<div class="litespeed-banner-description-padding-right-15">
				<p class="litespeed-banner-description-content">
					<?php esc_html_e( 'Want to connect with other LiteSpeed users?', 'litespeed-cache' ); ?>
					<?php
					printf(
						/* translators: %s: Link to LiteSpeed Slack community */
						esc_html__( 'Join the %s community.', 'litespeed-cache' ),
						'<a href="https://join.slack.com/t/golitespeed/shared_invite/enQtMzE5ODgxMTUyNTgzLTNiNWQ1MWZlYmI4YjEzNTM4NjdiODY2YTQ0OWVlMzBlNGZkY2E3Y2E4MjIzNmNmZmU0ZjIyNWM1ZmNmMWRlOTk" target="_blank" class="litespeed-banner-promo-slack-textlink" rel="noopener">LiteSpeed Slack</a>'
					);
					?>
				</p>
				<p class="litespeed-banner-promo-slack-line2">
					golitespeed.slack.com
				</p>
			</div>
			<div>
				<h3 class="litespeed-banner-button-link">
					<a href="https://join.slack.com/t/golitespeed/shared_invite/enQtMzE5ODgxMTUyNTgzLTNiNWQ1MWZlYmI4YjEzNTM4NjdiODY2YTQ0OWVlMzBlNGZkY2E3Y2E4MjIzNmNmZmU0ZjIyNWM1ZmNmMWRlOTk" target="_blank" rel="noopener">
						<?php esc_html_e( 'Join Us on Slack', 'litespeed-cache' ); ?>
					</a>
				</h3>
			</div>
		</div>
	</div>
	<div>
		<?php $dismiss_url = Utility::build_url( Core::ACTION_DISMISS, GUI::TYPE_DISMISS_PROMO, false, null, array( 'promo_tag' => 'slack' ) ); ?>
		<span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'litespeed-cache' ); ?></span>
		<a href="<?php echo esc_url( $dismiss_url ); ?>" class="litespeed-notice-dismiss"><?php esc_html_e( 'Dismiss', 'litespeed-cache' ); ?></a>
	</div>
</div>PK�^�\�څ�;;*litespeed-cache/tpl/banner/new_version.phpnu�[���<?php
/**
 * LiteSpeed Cache New Version Banner
 *
 * Displays a promotional banner for a new version of LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 * @note Only shown for single site installations.
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

// Exit if multisite or auto-upgrade is enabled.
if ( is_multisite() || $this->conf( Base::O_AUTO_UPGRADE ) ) {
	return;
}

$current = get_site_transient( 'update_plugins' );
if ( ! isset( $current->response[ Core::PLUGIN_FILE ] ) ) {
	return;
}

// Check for new version every 12 hours.
$last_check = empty( $this->_summary['new_version.last_check'] ) ? 0 : $this->_summary['new_version.last_check'];
if ( time() - $last_check > 43200 ) {
	GUI::save_summary( array( 'new_version.last_check' => time() ) );

	// Detect version
	$auto_v = Cloud::version_check( 'new_version_banner' );
	if ( ! empty( $auto_v['latest'] ) ) {
		GUI::save_summary( array( 'new_version.v' => $auto_v['latest'] ) );
	}
	// After detect, don't show, just return and show next time
	return;
}

if ( ! isset( $this->_summary['new_version.v'] ) || version_compare( Core::VER, $this->_summary['new_version.v'], '>=' ) ) {
	return;
}

// Banner can be shown now.
$this->_promo_true = true;

if ( $check_only ) {
	return;
}
?>

<div class="litespeed-wrap notice notice-success litespeed-banner-promo-full">
	<div class="litespeed-banner-promo-logo"></div>

	<div class="litespeed-banner-promo-content">
		<h3 class="litespeed-banner-title litespeed-top15">
			<?php esc_html_e( 'LiteSpeed Cache', 'litespeed-cache' ); ?>:
			<?php esc_html_e( 'New Version Available!', 'litespeed-cache' ); ?>
		</h3>
		<div class="litespeed-banner-description">
			<div class="litespeed-banner-description-padding-right-15">
				<p class="litespeed-banner-description-content">
					<?php
					/* translators: %s: New version number */
					printf(
						esc_html__( 'New release %s is available now.', 'litespeed-cache' ),
						'v' . esc_html( $this->_summary['new_version.v'] )
					);
					?>
				</p>
			</div>
			<div class="litespeed-row-flex litespeed-banner-description">
				<div class="litespeed-banner-description-padding-right-15">
					<?php $url = Utility::build_url( Router::ACTION_ACTIVATION, Activation::TYPE_UPGRADE ); ?>
					<a href="<?php echo esc_url( $url ); ?>" class="button litespeed-btn-success litespeed-btn-mini">
						<span class="dashicons dashicons-image-rotate"></span>
						<?php esc_html_e( 'Upgrade', 'litespeed-cache' ); ?>
					</a>
				</div>
				<div class="litespeed-banner-description-padding-right-15">
					<?php
					$cfg = array( Conf::TYPE_SET . '[' . Base::O_AUTO_UPGRADE . ']' => 1 );
					$url = Utility::build_url( Router::ACTION_CONF, Conf::TYPE_SET, false, null, $cfg );
					?>
					<a href="<?php echo esc_url( $url ); ?>" class="button litespeed-btn-primary litespeed-btn-mini">
						<span class="dashicons dashicons-update"></span>
						<?php esc_html_e( 'Turn On Auto Upgrade', 'litespeed-cache' ); ?>
					</a>
				</div>
				<div class="litespeed-banner-description-padding-right-15">
					<?php $url = Utility::build_url( Core::ACTION_DISMISS, GUI::TYPE_DISMISS_PROMO, false, null, array( 'promo_tag' => 'new_version' ) ); ?>
					<a href="<?php echo esc_url( $url ); ?>" class="button litespeed-btn-warning litespeed-btn-mini">
						<?php esc_html_e( 'Maybe Later', 'litespeed-cache' ); ?>
					</a>
				</div>
			</div>
		</div>
	</div>

	<div>
		<?php
		$dismiss_url = Utility::build_url(
			Core::ACTION_DISMISS,
			GUI::TYPE_DISMISS_PROMO,
			false,
			null,
			array(
				'promo_tag' => 'new_version',
				'later'     => 1,
			)
		);
		?>
		<span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'litespeed-cache' ); ?></span>
		<a href="<?php echo esc_url( $dismiss_url ); ?>" class="litespeed-notice-dismiss"><?php esc_html_e( 'Dismiss', 'litespeed-cache' ); ?></a>
	</div>
</div>PK�^�\U+���.litespeed-cache/tpl/banner/cloud_promo.tpl.phpnu�[���<?php
/**
 * QUIC.cloud Promotion Banner
 *
 * Displays a promotional banner for QUIC.cloud services with a tweet option to earn credits.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

?>

<div class="litespeed-wrap notice notice-success litespeed-banner-promo-qc">

	<div class="litespeed-banner-promo-qc-content">

		<div class="litespeed-banner-promo-qc-description">
			<h2><?php esc_html_e( 'You just unlocked a promotion from QUIC.cloud!', 'litespeed-cache' ); ?></h2>
			<p>
				<?php
				printf(
					esc_html__( 'Spread the love and earn %s credits to use in our QUIC.cloud online services.', 'litespeed-cache' ),
					'<strong>' . absint($this->_summary['promo'][0]['quota']) . '</strong>'
				);
				?>
				</p>
			<p>
				<a class="button button-primary" href="<?php echo esc_url($this->_summary['promo'][0]['url']); ?>" target="_blank">
					<?php
					printf(
						esc_html__( 'Send to twitter to get %s bonus', 'litespeed-cache' ),
						absint($this->_summary['promo'][0]['quota'])
					);
					?>
				</a>
				<a href="https://www.quic.cloud/faq/#credit" target="_blank"><?php esc_html_e( 'Learn more', 'litespeed-cache' ); ?></a>
			</p>
		</div>

		<div class="litespeed-banner-promo-qc-preview">
			<h4 class="litespeed-tweet-preview-title"><?php esc_html_e( 'Tweet preview', 'litespeed-cache' ); ?></h4>
			<div class="litespeed-tweet-preview">

				<div class="litespeed-tweet-img"><img src="<?php echo esc_url($this->_summary['promo'][0]['image']); ?>"></div>

				<div class="litespeed-tweet-preview-content">
					<p class="litespeed-tweet-text"><?php echo esc_html($this->_summary['promo'][0]['content']); ?></p>

					<div class="litespeed-tweet-cta">
						<a href="<?php echo esc_url($this->_summary['promo'][0]['url']); ?>" class="litespeed-tweet-btn" target="_blank"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 250 250" xml:space="preserve">
								<path class="st0" d="M78.6,226.6c94.3,0,145.9-78.2,145.9-145.9c0-2.2,0-4.4-0.1-6.6c10-7.3,18.7-16.3,25.6-26.5
								c-9.4,4.1-19.3,6.9-29.5,8.1c10.7-6.4,18.7-16.5,22.5-28.4c-10.1,6-21.1,10.2-32.6,12.4c-19.4-20.7-51.9-21.7-72.6-2.2
								c-13.3,12.5-19,31.2-14.8,49C81.9,84.3,43.4,64.8,17.4,32.8c-13.6,23.4-6.7,53.4,15.9,68.5c-8.2-0.2-16.1-2.4-23.3-6.4
								c0,0.2,0,0.4,0,0.6c0,24.4,17.2,45.4,41.2,50.3c-7.6,2.1-15.5,2.4-23.2,0.9c6.7,20.9,26,35.2,47.9,35.6c-18.2,14.3-40.6,22-63.7,22
								c-4.1,0-8.2-0.3-12.2-0.7C23.5,218.6,50.7,226.6,78.6,226.6" />
							</svg>
							<?php esc_html_e( 'Tweet this', 'litespeed-cache' ); ?>
						</a>
					</div>
				</div>

			</div>

		</div>
	</div>

	<div>
		<?php $dismiss_url = Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_CLEAR_PROMO ); ?>
		<span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice', 'litespeed-cache' ); ?>.</span>
		<a href="<?php echo esc_url($dismiss_url); ?>" class="litespeed-notice-dismiss">X</a>
	</div>
</div>PK�^�\
���$litespeed-cache/tpl/banner/score.phpnu�[���<?php
/**
 * LiteSpeed Cache Performance Review Banner
 *
 * Displays a promotional banner showing page load time and PageSpeed score improvements.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;

$health_scores = Health::cls()->scores();

// Exit if speed is not significantly improved or score is reduced.
if ( $health_scores['speed_before'] <= $health_scores['speed_after'] * 2 || $health_scores['score_before'] >= $health_scores['score_after'] ) {
	return;
}

// Banner can be shown now.
$this->_promo_true = true;

if ( $check_only ) {
	return;
}

$ajax_url_promo = Utility::build_url(Core::ACTION_DISMISS, GUI::TYPE_DISMISS_PROMO, true, null, array( 'promo_tag' => $promo_tag ), true);
?>

<div class="litespeed-wrap notice notice-info litespeed-banner-promo-full">
	<div class="litespeed-banner-promo-logo"></div>

	<div class="litespeed-banner-promo-content">
		<h3 class="litespeed-banner-title litespeed-banner-promo-content"><?php esc_html_e( 'Thank You for Using the LiteSpeed Cache Plugin!', 'litespeed-cache' ); ?></h3>

		<div class="litespeed-row-flex litespeed-banner-promo-content litespeed-margin-left-remove litespeed-flex-wrap">
			<div class="litespeed-right50 litespeed-margin-bottom20">
				<h2 class="litespeed-text-grey litespeed-margin-bottom-remove litespeed-top10"><?php esc_html_e( 'Page Load Time', 'litespeed-cache' ); ?></h2>
				<hr class="litespeed-margin-bottom-remove" />
				<div class="litespeed-row-flex" style="margin-left: -10px;">
					<div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5">
						<div>
							<p class="litespeed-text-grey litespeed-margin-y-remove"><?php esc_html_e( 'Before', 'litespeed-cache' ); ?></p>
						</div>
						<div class="litespeed-top10 litespeed-text-jumbo litespeed-text-grey">
							<?php echo esc_html( $health_scores['speed_before'] ); ?><span class="litespeed-text-large">s</span>
						</div>
					</div>
					<div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5">
						<div>
							<p class="litespeed-text-grey litespeed-margin-y-remove"><?php esc_html_e( 'After', 'litespeed-cache' ); ?></p>
						</div>
						<div class="litespeed-top10 litespeed-text-jumbo litespeed-success">
							<?php echo esc_html( $health_scores['speed_after'] ); ?><span class="litespeed-text-large">s</span>
						</div>
					</div>
					<div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5">
						<div>
							<p class="litespeed-text-grey litespeed-margin-y-remove" style="white-space: nowrap;">
								<?php esc_html_e( 'Improved by', 'litespeed-cache' ); ?>
							</p>
						</div>
						<div class="litespeed-top10 litespeed-text-jumbo litespeed-text-fern">
							<?php echo esc_html( $health_scores['speed_improved'] ); ?><span class="litespeed-text-large">%</span>
						</div>
					</div>
				</div>
			</div>

			<?php if ( $health_scores['score_before'] < $health_scores['score_after'] ) : ?>
				<div class="litespeed-margin-bottom20">
					<h2 class="litespeed-text-grey litespeed-margin-bottom-remove litespeed-top10"><?php esc_html_e( 'PageSpeed Score', 'litespeed-cache' ); ?></h2>
					<hr class="litespeed-margin-bottom-remove" />
					<div class="litespeed-row-flex" style="margin-left: -10px;">
						<div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5">
							<div>
								<p class="litespeed-text-grey litespeed-text-center litespeed-margin-y-remove"><?php esc_html_e( 'Before', 'litespeed-cache' ); ?></p>
							</div>
							<div class="litespeed-promo-score" style="margin-top: -5px;">
								<?php echo wp_kses( GUI::pie( esc_html( $health_scores['score_before'] ), 45, false, true, 'litespeed-pie-' . esc_attr( $this->get_cls_of_pagescore( $health_scores['score_before'] ) ) ), GUI::allowed_svg_tags() ); ?>
							</div>
						</div>
						<div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5">
							<div>
								<p class="litespeed-text-grey litespeed-text-center litespeed-margin-y-remove"><?php esc_html_e( 'After', 'litespeed-cache' ); ?></p>
							</div>
							<div class="litespeed-promo-score" style="margin-top: -5px;">
								<?php echo wp_kses( GUI::pie( esc_html( $health_scores['score_after'] ), 45, false, true, 'litespeed-pie-' . esc_attr( $this->get_cls_of_pagescore( $health_scores['score_after'] ) ) ), GUI::allowed_svg_tags() ); ?>
							</div>
						</div>
						<div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5">
							<div>
								<p class="litespeed-text-grey litespeed-margin-y-remove" style="white-space: nowrap;">
									<?php esc_html_e( 'Improved by', 'litespeed-cache' ); ?>
								</p>
							</div>
							<div class="litespeed-top10 litespeed-text-jumbo litespeed-text-fern">
								<?php echo esc_html( $health_scores['score_improved'] ); ?><span class="litespeed-text-large">%</span>
							</div>
						</div>
					</div>
				</div>
			<?php endif; ?>
		</div>

		<div class="litespeed-row-flex litespeed-flex-wrap litespeed-margin-y5">
			<div class="litespeed-banner-description-padding-right-15">
				<a href="https://wordpress.org/support/plugin/litespeed-cache/reviews/?filter=5#new-post" target="_blank" rel="noopener" style="text-decoration: none;">
					<button class="button litespeed-btn-success litespeed-btn-mini">
						<?php esc_html_e( "Sure I'd love to review!", 'litespeed-cache' ); ?>
						⭐⭐⭐⭐⭐
					</button>
				</a>
				<button type="button" class="button litespeed-btn-primary litespeed-btn-mini" id="litespeed-promo-done"><?php esc_html_e( "I've already left a review", 'litespeed-cache' ); ?></button>
				<button type="button" class="button litespeed-btn-warning litespeed-btn-mini" id="litespeed-promo-later"><?php esc_html_e( 'Maybe later', 'litespeed-cache' ); ?></button>
			</div>
			<div>
				<p class="litespeed-text-small">
					<?php esc_html_e( 'Created with ❤️ by LiteSpeed team.', 'litespeed-cache' ); ?>
					<a href="https://wordpress.org/support/plugin/litespeed-cache" target="_blank" rel="noopener"><?php esc_html_e( 'Support forum', 'litespeed-cache' ); ?></a> | <a href="https://www.litespeedtech.com/support" target="_blank" rel="noopener"><?php esc_html_e( 'Submit a ticket', 'litespeed-cache' ); ?></a>
				</p>
			</div>
		</div>
	</div>

	<div>
		<?php
		$dismiss_url = Utility::build_url(
			Core::ACTION_DISMISS,
			GUI::TYPE_DISMISS_PROMO,
			false,
			null,
			array(
				'promo_tag' => 'score',
				'later'     => 1,
			)
		);
		?>
		<span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'litespeed-cache' ); ?></span>
		<a href="<?php echo esc_url( $dismiss_url ); ?>" class="litespeed-notice-dismiss"><?php esc_html_e( 'Dismiss', 'litespeed-cache' ); ?></a>
	</div>
</div>

<script>
(function ($) {
	jQuery(document).ready(function () {
		/** Promo banner **/
		$('#litespeed-promo-done').on('click', function (event) {
			$('.litespeed-banner-promo-full').slideUp();
			$.get('<?php echo $ajax_url_promo;// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>&done=1');
		});
		$('#litespeed-promo-later').on('click', function (event) {
			$('.litespeed-banner-promo-full').slideUp();
			$.get('<?php echo $ajax_url_promo;// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>');
		});
	});
})(jQuery);
</script>PK�^�\��\002litespeed-cache/tpl/banner/new_version_dev.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache Developer Version Banner
 *
 * Displays a promotional banner for a new developer version of LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.0.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit;
?>

<div class="litespeed-wrap notice notice-warning litespeed-banner-promo-full">
	<div class="litespeed-banner-promo-logo"></div>

	<div class="litespeed-banner-promo-content">
		<h3 class="litespeed-banner-title litespeed-top15">
			<?php esc_html_e( 'LiteSpeed Cache', 'litespeed-cache' ); ?>:
			<?php esc_html_e( 'New Developer Version Available!', 'litespeed-cache' ); ?>
		</h3>
		<div class="litespeed-banner-description">
			<div class="litespeed-banner-description-padding-right-15">
				<p class="litespeed-banner-description-content">
					<?php
					/* translators: %s: Developer version number */
					printf(
						esc_html__( 'New developer version %s is available now.', 'litespeed-cache' ),
						'v' . esc_html( $this->_summary['version.dev'] )
					);
					?>
				</p>
			</div>
			<div class="litespeed-row-flex litespeed-banner-description">
				<div class="litespeed-banner-description-padding-right-15">
					<?php $url = Utility::build_url( Router::ACTION_DEBUG2, Debug2::TYPE_BETA_TEST, false, null, array( Debug2::BETA_TEST_URL => 'dev' ) ); ?>
					<a href="<?php echo esc_url( $url ); ?>" class="button litespeed-btn-success litespeed-btn-mini">
						<span class="dashicons dashicons-image-rotate"></span>
						<?php esc_html_e( 'Upgrade', 'litespeed-cache' ); ?>
					</a>
				</div>
			</div>
		</div>
	</div>
</div>PK�^�\�t����1litespeed-cache/thirdparty/wp-postratings.cls.phpnu�[���<?php
/**
 * The Third Party integration with the WP-PostRatings plugin.
 *
 * Hooks into rating events to purge related caches.
 *
 * @since 1.1.1
 * @package LiteSpeed
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit();

/**
 * WP-PostRatings integration for LiteSpeed Cache.
 */
class WP_PostRatings {

	/**
	 * Detects if the WP-PostRatings plugin is active and registers hooks.
	 *
	 * @since 1.1.1
	 * @return void
	 */
	public static function detect() {
		if ( defined( 'WP_POSTRATINGS_VERSION' ) ) {
			add_action( 'rate_post', __CLASS__ . '::flush', 10, 3 );
		}
	}

	/**
	 * Purge the cache for a rated post.
	 *
	 * @since 1.1.1
	 *
	 * @param int $uid                User ID who rated.
	 * @param int $post_id            The rated post ID.
	 * @return void
	 */
	public static function flush( $uid, $post_id ) {
		do_action( 'litespeed_purge_post', (int) $post_id );
	}
}
PK�^�\�����2litespeed-cache/thirdparty/woocommerce.tab.tpl.phpnu�[���<?php
/**
 * WooCommerce tab template for LiteSpeed Cache plugin.
 *
 * @package LiteSpeed
 */

defined( 'WPINC' ) || exit;
?>

<a class='litespeed-tab nav-tab' href='#woocommerce' data-litespeed-tab='woocommerce'>WooCommerce</a>
PK�^�\�**�
�
9litespeed-cache/thirdparty/aelia-currencyswitcher.cls.phpnu�[���<?php
/**
 * The Third Party integration with the Aelia CurrencySwitcher plugin.
 *
 * @since      1.0.13
 * @since      2.6     Removed hook_vary as OLS supports vary header already
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit();

/**
 * Integration layer for Aelia Currency Switcher.
 *
 * Registers the plugin cookies as Vary drivers so cached pages can differ by
 * selected currency / location. Hooks both the runtime vary list (headers)
 * and the rewrite-rules vary list (always needed).
 */
class Aelia_CurrencySwitcher {

	/**
	 * Cookie names used by Aelia Currency Switcher to determine currency & geo.
	 *
	 * @var string[]
	 */
	private static $_cookies = array( 'aelia_cs_selected_currency', 'aelia_customer_country', 'aelia_customer_state', 'aelia_tax_exempt' );

	/**
	 * Detects if WooCommerce + Aelia Currency Switcher are present and registers hooks.
	 *
	 * @since 1.0.13
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if ( defined( 'WOOCOMMERCE_VERSION' ) && isset( $GLOBALS['woocommerce-aelia-currencyswitcher'] ) && is_object( $GLOBALS['woocommerce-aelia-currencyswitcher'] ) ) {
			// Not all pages need to add vary, so allow sites to restrict via filter.
			self::$_cookies = apply_filters( 'litespeed_3rd_aelia_cookies', self::$_cookies );

			// Add cookies to the active vary header list (conditionally used at runtime).
			add_filter( 'litespeed_vary_curr_cookies', __CLASS__ . '::check_cookies' );

			// Ensure rewrite rules are aware of these cookies (always include).
			add_filter( 'litespeed_vary_cookies', __CLASS__ . '::register_cookies' );
		}
	}

	/**
	 * Ensure Aelia cookies are part of the global vary cookie registry.
	 *
	 * @since 1.0.13
	 *
	 * @param string[] $cookies Current list of vary cookies.
	 * @return string[] Updated list including Aelia cookies.
	 */
	public static function register_cookies( $cookies ) {
		return array_merge( $cookies, self::$_cookies );
	}

	/**
	 * Conditionally append Aelia cookies to the vary header set for WooCommerce pages.
	 *
	 * If the page is not a WooCommerce page, leave the list unchanged.
	 * Otherwise, append Aelia's cookies so responses vary correctly.
	 *
	 * @since 1.0.13
	 * @access public
	 *
	 * @param string[] $cookies Current list of vary cookies for the response.
	 * @return string[] Potentially augmented list of vary cookies.
	 */
	public static function check_cookies( $cookies ) {
		// NOTE: is_cart and is_checkout are handled by WooCommerce itself.
		if ( ! function_exists( 'is_woocommerce' ) || ! is_woocommerce() ) {
			return $cookies;
		}

		return array_merge( $cookies, self::$_cookies );
	}
}
PK�^�\��Oo��:litespeed-cache/thirdparty/wc-pdf-product-vouchers.cls.phpnu�[���<?php
/**
 * The Third Party integration with WooCommerce PDF Product Vouchers.
 *
 * @since 5.1.0
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Provides compatibility for WooCommerce PDF Product Vouchers.
 */
class WC_PDF_Product_Vouchers {

	/**
	 * Disable caching for generated vouchers.
	 *
	 * @since 5.1.0
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if (!class_exists('\WC_PDF_Product_Vouchers_Loader')) {
			return;
		}

		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$is_voucher = !empty($_GET['post_type']) && 'wc_voucher' === sanitize_text_field(wp_unslash($_GET['post_type']));
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$has_key = !empty($_GET['voucher_key']) || !empty($_GET['key']);

		if ($is_voucher && $has_key) {
			do_action('litespeed_control_set_nocache', '3rd WC PDF Product Voucher');
		}
	}
}
PK�^�\(�q''+litespeed-cache/thirdparty/wp-polls.cls.phpnu�[���<?php
/**
 * The Third Party integration with the WP-Polls plugin.
 *
 * Ensures WP-Polls pages are marked as non-cacheable in LiteSpeed Cache.
 *
 * @since 1.0.7
 * @package LiteSpeed
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit;

/**
 * WP-Polls integration.
 */
class Wp_Polls {

	/**
	 * Register WP-Polls display filters to mark output as non-cacheable.
	 *
	 * @since 1.0.7
	 * @return void
	 */
	public static function detect() {
		add_filter( 'wp_polls_display_pollvote', __CLASS__ . '::set_control' );
		add_filter( 'wp_polls_display_pollresult', __CLASS__ . '::set_control' );
	}

	/**
	 * Mark WP-Polls output as non-cacheable.
	 *
	 * @since 1.0.7
	 * @return void
	 */
	public static function set_control() {
		do_action( 'litespeed_control_set_nocache', 'wp polls' );
	}
}
PK�^�\��p;��6litespeed-cache/thirdparty/woocommerce.content.tpl.phpnu�[���<?php
/**
 * LiteSpeed Cache – WooCommerce settings template.
 *
 * Renders the WooCommerce integration settings within the LiteSpeed Cache admin.
 *
 * @package LiteSpeed\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit;

use LiteSpeed\Doc;
?>
<div data-litespeed-layout="woocommerce">

	<h3 class="litespeed-title-short">
		<?php esc_html_e( 'WooCommerce Settings', 'litespeed-cache' ); ?>
		<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#woocommerce-tab' ); ?>
	</h3>

	<div class="litespeed-callout notice notice-warning inline">
		<h4><?php esc_html_e( 'NOTICE:', 'litespeed-cache' ); ?></h4>
		<p><?php esc_html_e( 'After verifying that the cache works in general, please test the cart.', 'litespeed-cache' ); ?></p>
		<p>
			<?php
			printf(
				/* translators: %s: link attributes */
				esc_html__( 'To test the cart, visit the %sFAQ%s.', 'litespeed-cache' ),
				'<a href="https://docs.litespeedtech.com/lscache/lscwp/installation/#non-cacheable-pages" target="_blank">',
				'</a>'
			);
			?>
		</p>
		<p><?php esc_html_e( 'By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded.', 'litespeed-cache' ); ?></p>
	</div>

	<table class="wp-list-table striped litespeed-table">
		<tbody>
			<tr>
				<th>
					<?php $setting_id = self::O_UPDATE_INTERVAL; ?>
					<?php esc_html_e( 'Product Update Interval', 'litespeed-cache' ); ?>
				</th>
				<td>
					<?php
					$options = [
						self::O_PQS_CS  => esc_html__( 'Purge product on changes to the quantity or stock status.', 'litespeed-cache' ) . ' ' . esc_html__( 'Purge categories only when stock status changes.', 'litespeed-cache' ),
						self::O_PS_CS   => esc_html__( 'Purge product and categories only when the stock status changes.', 'litespeed-cache' ),
						self::O_PS_CN   => esc_html__( 'Purge product only when the stock status changes.', 'litespeed-cache' ) . ' ' . esc_html__( 'Do not purge categories on changes to the quantity or stock status.', 'litespeed-cache' ),
						self::O_PQS_CQS => esc_html__( 'Always purge both product and categories on changes to the quantity or stock status.', 'litespeed-cache' ),
					];
					$conf    = (int) apply_filters( 'litespeed_conf', $setting_id );
					do_action( 'litespeed_setting_enroll', $setting_id );
					foreach ( $options as $k => $v ) :
						$input_id = 'conf_' . $setting_id . '_' . $k;
						?>
						<div class="litespeed-radio-row">
							<input
								type="radio"
								autocomplete="off"
								name="<?php echo esc_attr( (string) $setting_id ); ?>"
								id="<?php echo esc_attr( $input_id ); ?>"
								value="<?php echo esc_attr( (string) $k ); ?>"
								<?php echo checked( $conf, (int) $k, false ); ?>
							/>
							<label for="<?php echo esc_attr( $input_id ); ?>"><?php echo esc_html( $v ); ?></label>
						</div>
					<?php endforeach; ?>
					<div class="litespeed-desc">
						<?php esc_html_e( 'Determines how changes in product quantity and product stock status affect product pages and their associated category pages.', 'litespeed-cache' ); ?>
					</div>
				</td>
			</tr>

			<tr>
				<th>
					<?php $setting_id = self::O_CART_VARY; ?>
					<?php esc_html_e( 'Vary for Mini Cart', 'litespeed-cache' ); ?>
				</th>
				<td>
					<?php
					$conf = (int) apply_filters( 'litespeed_conf', $setting_id );
					$this->cls( 'Admin_Display' )->build_switch( $setting_id );
					?>
					<div class="litespeed-desc">
						<?php esc_html_e( 'Generate a separate vary cache copy for the mini cart when the cart is not empty.', 'litespeed-cache' ); ?>
						<?php esc_html_e( 'If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents.', 'litespeed-cache' ); ?>
						<br /><?php Doc::notice_htaccess(); ?>
					</div>
				</td>
			</tr>

		</tbody>
	</table>
</div>
PK�^�\��j��o�o.litespeed-cache/thirdparty/woocommerce.cls.phpnu�[���<?php
/**
 * The Third Party integration with the WooCommerce plugin.
 *
 * @since         1.0.5
 * @since  1.6.6 Added function_exists check for compatibility
 * @package       LiteSpeed
 * @subpackage    LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

use LiteSpeed\API;
use LiteSpeed\Base;
use LiteSpeed\ESI;

/**
 * WooCommerce third-party integration for LiteSpeed Cache.
 *
 * Handles ESI blocks, cache tags, purging behaviors, and settings integration
 * specific to WooCommerce.
 */
class WooCommerce extends Base {

	const O_CACHE_TTL_FRONTPAGE = Base::O_CACHE_TTL_FRONTPAGE;

	const CACHETAG_SHOP     = 'WC_S';
	const CACHETAG_TERM     = 'WC_T.';
	const O_UPDATE_INTERVAL = 'wc_update_interval';
	const O_CART_VARY       = 'wc_cart_vary';
	const O_PQS_CS          = 0; // flush product on quantity + stock change, categories on stock change
	const O_PS_CS           = 1; // flush product and categories on stock change
	const O_PS_CN           = 2; // flush product on stock change, categories no flush
	const O_PQS_CQS         = 3; // flush product and categories on quantity + stock change

	const ESI_PARAM_ARGS    = 'wc_args';
	const ESI_PARAM_POSTID  = 'wc_post_id';
	const ESI_PARAM_NAME    = 'wc_name';
	const ESI_PARAM_PATH    = 'wc_path';
	const ESI_PARAM_LOCATED = 'wc_located';

	/**
	 * Whether ESI is enabled via litespeed_esi_status filter.
	 *
	 * @var bool
	 */
	private $esi_enabled;

	/**
	 * Detects if WooCommerce is installed.
	 *
	 * @since 1.0.5
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if ( ! defined('WOOCOMMERCE_VERSION') ) {
			return;
		}

		self::cls()->add_hooks();
	}

	/**
	 * Add hooks to woo actions.
	 *
	 * @since  1.6.3
	 * @access public
	 * @return void
	 */
	public function add_hooks() {
		$this->_option_append();

		$this->esi_enabled = (bool) apply_filters('litespeed_esi_status', false);

		add_action('litespeed_control_finalize', [ $this, 'set_control' ]);
		add_action('litespeed_tag_finalize', [ $this, 'set_tag' ]);

		// Purging a product on stock change should only occur during product purchase. This function will add the purging callback when an order is complete.
		add_action('woocommerce_product_set_stock', [ $this, 'purge_product' ]);
		add_action('woocommerce_variation_set_stock', [ $this, 'purge_product' ]); // #984479 Update variations stock

		add_action('comment_post', [ $this, 'add_review' ], 10, 3);

		if ( $this->esi_enabled ) {
			if ( function_exists('is_shop') && ! is_shop() ) {
				add_action('litespeed_tpl_normal', [ $this, 'set_block_template' ]);
				// No need for add-to-cart button
				// add_action( 'litespeed_esi_load-wc-add-to-cart-form', [ $this, 'load_add_to_cart_form_block' ] ) ;

				add_action('litespeed_esi_load-storefront-cart-header', [ $this, 'load_cart_header' ]);
				add_action('litespeed_esi_load-widget', [ $this, 'register_post_view' ]);
			}

			if ( function_exists('is_product') && is_product() ) {
				add_filter('litespeed_esi_params', [ $this, 'add_post_id' ], 10, 2);
			}

			// #612331 - remove WooCommerce geolocation redirect on ESI page (PR#708)
			// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- ESI parameter detection, not processing user input.
			if (!empty($_GET[ESI::QS_ACTION]) && !empty($_GET[ESI::QS_PARAMS])) {
				remove_action( 'template_redirect', [ 'WC_Cache_Helper', 'geolocation_ajax_redirect' ], 10 );
			}
		}

		if ( is_admin() ) {
			add_action('litespeed_api_purge_post', [ $this, 'backend_purge' ]); // todo
			add_action('delete_term_relationships', [ $this, 'delete_rel' ], 10, 2);
			add_action('litespeed_settings_tab', [ $this, 'settings_add_tab' ]);
			add_action('litespeed_settings_content', [ $this, 'settings_add_content' ]);
			add_filter('litespeed_widget_default_options', [ $this, 'wc_widget_default' ], 10, 2);
		}

		if ( apply_filters('litespeed_conf', self::O_CART_VARY) ) {
			add_filter(
				'litespeed_vary_cookies',
				/**
				 * Modify list of vary cookies.
				 *
				 * @param string[] $cookie_list List of vary cookies.
				 * @return string[]
				 */
				function ( $cookie_list ) {
					$cookie_list[] = 'woocommerce_cart_hash';
					return array_unique( $cookie_list );
				}
			);
		}
	}

	/**
	 * Purge esi private tag.
	 *
	 * @since  1.6.3
	 * @access public
	 * @return void
	 */
	public function purge_esi() {
		do_action('litespeed_debug', '3rd woo purge ESI in action: ' . current_filter());
		do_action('litespeed_purge_private_esi', 'storefront-cart-header');
	}

	/**
	 * Purge private all.
	 *
	 * @since  3.0
	 * @access public
	 * @return void
	 */
	public function purge_private_all() {
		do_action('litespeed_purge_private_all');
	}

	/**
	 * Check if need to give an ESI block for cart.
	 *
	 * @since  1.7.2
	 * @access public
	 *
	 * @param string $template Template path.
	 * @return string Template path.
	 */
	public function check_if_need_esi( $template ) {
		if ( $this->vary_needed() ) {
			do_action('litespeed_debug', 'API: 3rd woo added ESI');
			add_action('litespeed_tpl_normal', [ $this, 'set_swap_header_cart' ]);
		}

		return $template;
	}

	/**
	 * Keep vary on if cart is not empty.
	 *
	 * @since  1.7.2
	 * @access public
	 *
	 * @param array $vary Vary array.
	 * @return array
	 */
	public function vary_maintain( $vary ) {
		if ( $this->vary_needed() ) {
			do_action('litespeed_debug', 'API: 3rd woo added vary due to cart not empty');
			$vary['woo_cart'] = 1;
		}

		return $vary;
	}

	/**
	 * Check if vary need to be on based on cart.
	 *
	 * @since  1.7.2
	 * @access private
	 * @return bool True when cart has items.
	 */
	private function vary_needed() {
		if ( ! function_exists('WC') ) {
			return false;
		}

		$woocom = WC();
		if ( ! $woocom ) {
			return false;
		}

		if ( is_null( $woocom->cart ) ) {
			return false;
		}
		return $woocom->cart->get_cart_contents_count() > 0;
	}

	/**
	 * Hooked to the litespeed_is_not_esi_template action.
	 * If the request is not an esi request, set a hook in woocommerce_before_template_part to see if it's something we can ESI.
	 *
	 * @since 1.1.0
	 * @access public
	 * @return void
	 */
	public function set_block_template() {
		add_action('woocommerce_before_template_part', [ $this, 'block_template' ], 999, 4);
	}

	/**
	 * Hooked to the litespeed_is_not_esi_template action.
	 * If the request is not an esi request, set a hook in storefront_header to see if it's something we can ESI.
	 *
	 * Will remove storefront_header_cart in storefront_header.
	 *
	 * @since 1.1.0
	 * @since 1.6.3 Removed static
	 * @access public
	 * @return void
	 */
	public function set_swap_header_cart() {
		$priority = has_action('storefront_header', 'storefront_header_cart');
		if ( false !== $priority ) {
			remove_action('storefront_header', 'storefront_header_cart', $priority);
			add_action('storefront_header', [ $this, 'esi_cart_header' ], $priority);
		}
	}

	/**
	 * Hooked to the woocommerce_before_template_part action.
	 * Checks if the template contains 'add-to-cart'. If so, and if we want to ESI the request, block it and build the ESI code block.
	 *
	 * The function parameters will be passed to the ESI request.
	 *
	 * @since 1.1.0
	 * @access public
	 *
	 * @param string $template_name Template name.
	 * @param string $template_path Template path.
	 * @param string $located       Located template path.
	 * @param array  $args          Template args.
	 * @return void
	 */
	public function block_template( $template_name, $template_path, $located, $args ) {
		if ( false === strpos( $template_name, 'add-to-cart' ) ) {
			if ( false !== strpos( $template_name, 'related.php' ) ) {
				remove_action('woocommerce_before_template_part', [ $this, 'block_template' ], 999);
				add_filter('woocommerce_related_products_args', [ $this, 'add_related_tags' ]);
				add_action('woocommerce_after_template_part', [ $this, 'end_template' ], 999);
			}
			return;
		}

		// Build ESI block for add-to-cart.
		// $post_obj = get_post( get_the_ID() );
		// if ( ! $post_obj ) {
		//  return;
		// }

		// $params = [
		//  self::ESI_PARAM_ARGS    => $args,
		//  self::ESI_PARAM_NAME    => $template_name,
		//  self::ESI_PARAM_POSTID  => $post_obj->ID,
		//  self::ESI_PARAM_PATH    => $template_path,
		//  self::ESI_PARAM_LOCATED => $located,
		// ];
		// add_action('woocommerce_after_add_to_cart_form', [ $this, 'end_form' ]);
		// add_action('woocommerce_after_template_part', [ $this, 'end_form' ], 999);

		// // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Filter returns a URL; escaped below.
		// echo esc_url( apply_filters( 'litespeed_esi_url', 'wc-add-to-cart-form', 'WC_CART_FORM', $params ) );
		// // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Allow basic wrapper markup.
		// echo wp_kses_post( apply_filters( 'litespeed_clean_wrapper_begin', '' ) );
	}

	/**
	 * Hooked to the woocommerce_after_add_to_cart_form action.
	 * If this is hit first, clean the buffer and remove this function and end_template.
	 *
	 * @since 1.1.0
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param string $template_name Template name.
	 * @return void
	 */
	public function end_form( $template_name = '' ) {
		if ( ! empty( $template_name ) && false === strpos( $template_name, 'add-to-cart' ) ) {
			return;
		}
		// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Allow basic wrapper markup.
		echo wp_kses_post( apply_filters( 'litespeed_clean_wrapper_end', '' ) );
		remove_action('woocommerce_after_add_to_cart_form', [ $this, 'end_form' ]);
		remove_action('woocommerce_after_template_part', [ $this, 'end_form' ], 999);
	}

	/**
	 * If related products are loaded, need to add the extra product ids.
	 *
	 * The page will be purged if any of the products are changed.
	 *
	 * @since 1.1.0
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param array $args The arguments used to build the related products section.
	 * @return array The unchanged arguments.
	 */
	public function add_related_tags( $args ) {
		if ( empty( $args ) || ! isset( $args['post__in'] ) ) {
			return $args;
		}
		$related_posts = $args['post__in'];
		foreach ( $related_posts as $related ) {
			do_action('litespeed_tag_add_post', $related);
		}
		return $args;
	}

	/**
	 * Hooked to the woocommerce_after_template_part action.
	 * If the template contains 'related.php', restore block hook.
	 *
	 * @since 1.1.0
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param string $template_name Template name.
	 * @return void
	 */
	public function end_template( $template_name ) {
		if ( false !== strpos( $template_name, 'related.php' ) ) {
			remove_action('woocommerce_after_template_part', [ $this, 'end_template' ], 999);
			$this->set_block_template();
		}
	}

	/**
	 * Hooked to the storefront_header header.
	 * If we want to ESI the request, block it and build the ESI code block.
	 *
	 * @since 1.1.0
	 * @since 1.6.3 Removed static
	 * @access public
	 * @return void
	 */
	public function esi_cart_header() {
		// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Filter returns URL.
		echo apply_filters( 'litespeed_esi_url', 'storefront-cart-header', 'STOREFRONT_CART_HEADER' );
	}

	/**
	 * Hooked to the litespeed_esi_load-storefront-cart-header action.
	 * Generates the cart header for ESI display.
	 *
	 * @since 1.1.0
	 * @since 1.6.3 Removed static
	 * @access public
	 * @return void
	 */
	public function load_cart_header() {
		storefront_header_cart();
	}

	/**
	 * Hooked to the litespeed_esi_load-wc-add-to-cart-form action.
	 * Parses the ESI input parameters and generates the add to cart form for ESI display.
	 *
	 * @since 1.1.0
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param array $params ESI parameters.
	 * @return void
	 */
	public function load_add_to_cart_form_block( $params ) {
		global $post, $wp_query;
		// phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Intentional for WooCommerce template setup.
		$post = get_post($params[self::ESI_PARAM_POSTID]);
		$wp_query->setup_postdata($post);
		function_exists('wc_get_template') && wc_get_template($params[self::ESI_PARAM_NAME], $params[self::ESI_PARAM_ARGS], $params[self::ESI_PARAM_PATH]);
	}

	/**
	 * Update WooCommerce when someone visits a product and has the recently viewed products widget.
	 *
	 * Currently, this widget should not be cached.
	 *
	 * @since 1.1.0
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param array $params Widget parameter array.
	 * @return void
	 */
	public function register_post_view( $params ) {
		if ( 'WC_Widget_Recently_Viewed' !== $params[ API::PARAM_NAME ] ) {
			return;
		}
		if ( ! isset( $params[ self::ESI_PARAM_POSTID ] ) ) {
			return;
		}
		$id       = (int) $params[ self::ESI_PARAM_POSTID ];
		$esi_post = get_post( $id );
		$product  = function_exists('wc_get_product') ? wc_get_product( $esi_post ) : false;

		if ( empty( $product ) ) {
			return;
		}

		// Setup post data for tracking view without directly overriding $post.
		if ( $esi_post ) {
			setup_postdata( $esi_post );
		}
		if ( function_exists('wc_track_product_view') ) {
			wc_track_product_view();
		}
	}

	/**
	 * Adds the post id to the widget ESI parameters for the Recently Viewed widget.
	 *
	 * This is needed in the ESI request to update the cookie properly.
	 *
	 * @since 1.1.0
	 * @access public
	 *
	 * @param array  $params   Existing ESI params.
	 * @param string $block_id Block identifier.
	 * @return array
	 */
	public function add_post_id( $params, $block_id ) {
		if ( 'widget' === $block_id ) {
			if ( 'WC_Widget_Recently_Viewed' === $params[ API::PARAM_NAME ] ) {
				$params[ self::ESI_PARAM_POSTID ] = get_the_ID();
			}
		}

		return $params;
	}

	/**
	 * Hooked to the litespeed_widget_default_options filter.
	 *
	 * The recently viewed widget must be ESI to function properly.
	 * This function will set it to enable and no cache by default.
	 *
	 * @since 1.1.0
	 * @access public
	 *
	 * @param array $options Widget options.
	 * @param mixed $widget  Widget instance.
	 * @return array
	 */
	public function wc_widget_default( $options, $widget ) {
		if ( ! is_array( $options ) ) {
			return $options;
		}
		$widget_name = get_class( $widget );
		if ( 'WC_Widget_Recently_Viewed' === $widget_name ) {
			$options[ API::WIDGET_O_ESIENABLE ] = API::VAL_ON2;
			$options[ API::WIDGET_O_TTL ]       = 0;
		} elseif ( 'WC_Widget_Recent_Reviews' === $widget_name ) {
			$options[ API::WIDGET_O_ESIENABLE ] = API::VAL_ON;
			$options[ API::WIDGET_O_TTL ]       = 86400;
		}
		return $options;
	}

	/**
	 * Set WooCommerce cache tags based on page type.
	 *
	 * @since 1.0.9
	 * @since 1.6.3 Removed static
	 * @access public
	 * @return void
	 */
	public function set_tag() {
		$id = get_the_ID();
		if ( false === $id ) {
			return;
		}

		// Check if product has a cache ttl limit or not.
		$sale_from = (int) get_post_meta( $id, '_sale_price_dates_from', true );
		$sale_to   = (int) get_post_meta( $id, '_sale_price_dates_to', true );
		// phpcs:ignore WordPress.DateTime.CurrentTimeTimestamp.Requested -- Need local timestamp for WooCommerce sale dates.
		$now = current_time('timestamp');
		$ttl = false;

		if ( $sale_from && $now < $sale_from ) {
			$ttl = $sale_from - $now;
		} elseif ( $sale_to && $now < $sale_to ) {
			$ttl = $sale_to - $now;
		}
		if ( $ttl && $ttl < apply_filters( 'litespeed_control_ttl', 0 ) ) {
			do_action( 'litespeed_control_set_ttl', $ttl, "WooCommerce set scheduled TTL to $ttl" );
		}

		if ( function_exists('is_shop') && is_shop() ) {
			do_action('litespeed_tag_add', self::CACHETAG_SHOP);
		}
		if ( function_exists('is_product_taxonomy') && ! is_product_taxonomy() ) {
			return;
		}
		if ( isset( $GLOBALS['product_cat'] ) && is_string( $GLOBALS['product_cat'] ) ) {
			// todo: need to check previous woo version to find if its from old woo versions or not!
			$term = get_term_by( 'slug', $GLOBALS['product_cat'], 'product_cat' );
		} elseif ( isset( $GLOBALS['product_tag'] ) && is_string( $GLOBALS['product_tag'] ) ) {
			$term = get_term_by( 'slug', $GLOBALS['product_tag'], 'product_tag' );
		} else {
			$term = false;
		}

		if ( false === $term ) {
			return;
		}
		while ( isset( $term ) ) {
			do_action( 'litespeed_tag_add', self::CACHETAG_TERM . $term->term_id );
			if ( 0 === (int) $term->parent ) {
				break;
			}
			$term = get_term( $term->parent );
		}
	}

	/**
	 * Check if the page is cacheable according to WooCommerce.
	 *
	 * @since 1.0.5
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param string $esi_id The ESI block id if a request is an ESI request.
	 * @return void
	 */
	public function set_control( $esi_id ) {
		if ( ! apply_filters( 'litespeed_control_cacheable', false ) ) {
			return;
		}

		/**
		 * Avoid possible 500 issue.
		 *
		 * @since 1.6.2.1
		 */
		if ( ! function_exists( 'WC' ) ) {
			return;
		}

		$woocom = WC();
		if ( ! $woocom || empty( $woocom->session ) ) {
			return;
		}

		// For later versions, DONOTCACHEPAGE should be set.
		// No need to check uri/qs.
		if ( version_compare( $woocom->version, '1.4.2', '>=' ) ) {
			if ( version_compare( $woocom->version, '3.2.0', '<' ) && defined('DONOTCACHEPAGE') && DONOTCACHEPAGE ) {
				do_action( 'litespeed_control_set_nocache', '3rd party woocommerce not cache by constant' );
				return;
			} elseif ( version_compare( $woocom->version, '2.1.0', '>=' ) ) {
				$err = false;

				if ( ! function_exists( 'wc_get_page_id' ) ) {
					return;
				}
				/**
				 * From woo/inc/class-wc-cache-helper.php:prevent_caching()
				 *
				 * @since  1.4
				 */
				$page_ids = array_filter( [ wc_get_page_id( 'cart' ), wc_get_page_id( 'checkout' ), wc_get_page_id( 'myaccount' ) ] );
				// phpcs:ignore WordPress.Security.NonceVerification.Recommended
				if ( isset( $_GET['download_file'] ) || isset( $_GET['add-to-cart'] ) || is_page( $page_ids ) ) {
					$err = 'woo non cacheable pages';
				} elseif ( function_exists( 'wc_notice_count' ) && wc_notice_count() > 0 ) {
					$err = 'has wc notice';
				}

				if ( $err ) {
					do_action( 'litespeed_control_set_nocache', '3rd party woocommerce not cache due to ' . $err );
					return;
				}
			}
			return;
		}

		if ( ! isset( $_SERVER['REQUEST_URI'] ) ) {
			return;
		}
		$uri     = esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) );
		$uri_len = strlen( $uri );
		if ( $uri_len < 5 ) {
			return;
		}

		if ( in_array( $uri, [ 'cart/', 'checkout/', 'my-account/', 'addons/', 'logout/', 'lost-password/', 'product/' ], true ) ) {
			// why contains `product`?
			do_action( 'litespeed_control_set_nocache', 'uri in cart/account/user pages' );
			return;
		}

		if ( ! isset( $_SERVER['QUERY_STRING'] ) ) {
			return;
		}
		$qs     = sanitize_text_field( wp_unslash( $_SERVER['QUERY_STRING'] ) );
		$qs_len = strlen( $qs );
		if ( ! empty( $qs ) && $qs_len >= 12 && 0 === strpos( $qs, 'add-to-cart=' ) ) {
			do_action( 'litespeed_control_set_nocache', 'qs contains add-to-cart' );
		}
	}

	/**
	 * Purge a product page and related pages (based on settings) on checkout.
	 *
	 * @since 1.0.9
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param \WC_Product $product Product object.
	 * @return void
	 */
	public function purge_product( $product ) {
		do_action( 'litespeed_debug', '[3rd] Woo Purge [pid] ' . $product->get_id() );

		$do_purge = function ( $action, $debug = '' ) use ( $product ) {
			$config = apply_filters( 'litespeed_conf', self::O_UPDATE_INTERVAL );
			if ( is_null( $config ) ) {
				$config = self::O_PQS_CS;
			}

			if ( self::O_PQS_CQS === $config ) {
				$action();
				if ( $debug ) {
					do_action( 'litespeed_debug', $debug );
				}
			} elseif ( self::O_PQS_CS !== $config && $product->is_in_stock() ) {
				do_action( 'litespeed_debug', '[3rd] Woo No purge needed [option] ' . $config );
				return false;
			} elseif ( self::O_PS_CN !== $config && ! $product->is_in_stock() ) {
				$action();
				if ( $debug ) {
					do_action( 'litespeed_debug', $debug );
				}
			}
			return true;
		};

		if (
			! $do_purge(
				function () use ( $product ) {
					$this->backend_purge( $product->get_id() );
				}
			)
		) {
			return;
		}

		do_action( 'litespeed_purge_post', $product->get_id() );

		// Check if is variation, purge stock too #984479.
		if ( $product->is_type( 'variation' ) ) {
			do_action( 'litespeed_purge_post', $product->get_parent_id() );
		}

		// Check if WPML is enabled ##972971.
		if ( defined( 'WPML_PLUGIN_BASENAME' ) ) {
			// Check if it is a variable product and get post/parent ID.
			$wpml_purge_id = $product->is_type( 'variation' ) ? $product->get_parent_id() : $product->get_id();
			$type          = apply_filters( 'wpml_element_type', get_post_type( $wpml_purge_id ) );
			$trid          = apply_filters( 'wpml_element_trid', false, $wpml_purge_id, $type );
			$translations  = apply_filters( 'wpml_get_element_translations', [], $trid, $type );
			foreach ( $translations as $lang => $translation ) {
				do_action( 'litespeed_debug', '[3rd] Woo WPML purge language: ' . $translation->language_code . ' , post ID: ' . $translation->element_id );
				do_action( 'litespeed_purge_post', $translation->element_id );
				// use the $translation->element_id as it is post ID of other languages.
			}

			// Check other languages category and purge if configured.
			// wp_get_post_terms() only returns default language category ID.
			$default_cats = wp_get_post_terms( $wpml_purge_id, 'product_cat' );
			$languages    = apply_filters( 'wpml_active_languages', null );

			foreach ( $default_cats as $default_cat ) {
				foreach ( $languages as $language ) {
					$tr_cat_id = icl_object_id( $default_cat->term_id, 'product_cat', false, $language['code'] );
					$do_purge(
						function () use ( $tr_cat_id ) {
							do_action( 'litespeed_purge', self::CACHETAG_TERM . $tr_cat_id );
						},
						'[3rd] Woo Purge WPML category [language] ' . $language['code'] . ' [cat] ' . $tr_cat_id
					);
				}
			}
		}
	}

	/**
	 * Delete object-term relationship. If the post is a product and the term ids array is not empty,
	 * will add purge tags to the deleted terms.
	 *
	 * @since 1.0.9
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param int   $post_id  Object ID.
	 * @param array $term_ids An array of term taxonomy IDs.
	 * @return void
	 */
	public function delete_rel( $post_id, $term_ids ) {
		if ( ! function_exists( 'wc_get_product' ) ) {
			return;
		}

		if ( empty( $term_ids ) || false === wc_get_product( $post_id ) ) {
			return;
		}
		foreach ( $term_ids as $term_id ) {
			do_action( 'litespeed_purge', self::CACHETAG_TERM . $term_id );
		}
	}

	/**
	 * Purge a product's categories and tags pages in case they are affected.
	 *
	 * @since 1.0.9
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param int $post_id Post id that is about to be purged.
	 * @return void
	 */
	public function backend_purge( $post_id ) {
		if ( ! function_exists( 'wc_get_product' ) ) {
			return;
		}

		if ( ! isset( $post_id ) || false === wc_get_product( $post_id ) ) {
			return;
		}

		$cats = $this->get_cats( $post_id );
		if ( ! empty( $cats ) ) {
			foreach ( $cats as $cat ) {
				do_action( 'litespeed_purge', self::CACHETAG_TERM . $cat );
			}
		}

		if ( ! function_exists( 'wc_get_product_terms' ) ) {
			return;
		}

		$tags = wc_get_product_terms( $post_id, 'product_tag', [ 'fields' => 'ids' ] );
		if ( ! empty( $tags ) ) {
			foreach ( $tags as $tag ) {
				do_action( 'litespeed_purge', self::CACHETAG_TERM . $tag );
			}
		}
	}

	/**
	 * When a product has a new review added, purge the recent reviews widget.
	 *
	 * @since 1.1.0
	 * @since 1.6.3 Removed static
	 * @access public
	 *
	 * @param mixed   $unused            Unused.
	 * @param integer $comment_approved  Whether the comment is approved or not.
	 * @param array   $commentdata       Information about the comment.
	 * @return void
	 */
	public function add_review( $unused, $comment_approved, $commentdata ) {
		if ( ! function_exists( 'wc_get_product' ) ) {
			return;
		}

		$post_id = $commentdata['comment_post_ID'];
		if ( 1 !== (int) $comment_approved || ! isset( $post_id ) || false === wc_get_product( $post_id ) ) {
			return;
		}

		global $wp_widget_factory;
		if ( ! isset( $wp_widget_factory->widgets['WC_Widget_Recent_Reviews'] ) ) {
			return;
		}

		$recent_reviews = $wp_widget_factory->widgets['WC_Widget_Recent_Reviews'];
		if ( ! is_null( $recent_reviews ) ) {
			do_action( 'litespeed_tag_add_widget', $recent_reviews->id );
		}
	}

	/**
	 * Append new options.
	 *
	 * @since 1.6.3 Removed static
	 * @since  3.0 new API
	 * @return void
	 */
	private function _option_append() {
		// Append option save value filter.
		do_action( 'litespeed_conf_multi_switch', self::O_UPDATE_INTERVAL, 3 ); // This need to be before conf_append.

		do_action( 'litespeed_conf_append', self::O_UPDATE_INTERVAL, false );
		do_action( 'litespeed_conf_append', self::O_CART_VARY, false );
	}

	/**
	 * Hooked to `litespeed_settings_tab` action.
	 * Adds the integration configuration options (currently, to determine purge rules).
	 *
	 * @since 1.6.3 Removed static
	 *
	 * @param string $setting_page Setting page slug.
	 * @return void
	 */
	public function settings_add_tab( $setting_page ) {
		if ( 'cache' !== $setting_page ) {
			return;
		}

		require 'woocommerce.tab.tpl.php';
	}

	/**
	 * Hook to show config content.
	 *
	 * @since  3.0
	 *
	 * @param string $setting_page Setting page slug.
	 * @return void
	 */
	public function settings_add_content( $setting_page ) {
		if ( 'cache' !== $setting_page ) {
			return;
		}

		require 'woocommerce.content.tpl.php';
	}

	/**
	 * Helper function to select the function(s) to use to get the product category ids.
	 *
	 * @since 1.0.10
	 * @since 1.6.3 Removed static
	 * @access private
	 *
	 * @param int $product_id The product id.
	 * @return array An array of category ids.
	 */
	private function get_cats( $product_id ) {
		if ( ! function_exists( 'WC' ) ) {
			return [];
		}

		$woocom = WC();
		if ( isset( $woocom ) && version_compare( $woocom->version, '2.5.0', '>=' ) && function_exists( 'wc_get_product_cat_ids' ) ) {
			return wc_get_product_cat_ids( $product_id );
		}
		$product_cats = wp_get_post_terms( $product_id, 'product_cat', [ 'fields' => 'ids' ] );
		foreach ( $product_cats as $product_cat ) {
			$product_cats = array_merge( $product_cats, get_ancestors( $product_cat, 'product_cat' ) );
		}

		return $product_cats;
	}

	/**
	 * 3rd party preload.
	 *
	 * @since  2.9.8.4
	 * @return void
	 */
	public static function preload() {
		/**
		 * Auto purge for WooCommerce Advanced Bulk Edit plugin,
		 * Bulk edit hook needs to be added to preload as it will die before detect.
		 */
		add_action( 'wp_ajax_wpmelon_adv_bulk_edit', __CLASS__ . '::bulk_edit_purge', 1 );
	}

	/**
	 * Auto purge for WooCommerce Advanced Bulk Edit plugin.
	 *
	 * @since  2.9.8.4
	 * @return void
	 */
	public static function bulk_edit_purge() {
		// phpcs:ignore WordPress.Security.NonceVerification.Missing -- Third-party plugin action; cannot enforce here.
		if ( empty( $_POST['type'] ) || 'saveproducts' !== $_POST['type'] || empty( $_POST['data'] ) ) {
			return;
		}

		/*
		 * admin-ajax form-data structure
		 * array(
		 *      "type" => "saveproducts",
		 *      "data" => array(
		 *          "column1" => "464$###0$###2#^#463$###0$###4#^#462$###0$###6#^#",
		 *          "column2" => "464$###0$###2#^#463$###0$###4#^#462$###0$###6#^#"
		 *      )
		 *  )
		 */
		$stock_string_arr = [];

		// Ensure data is unslashed before processing.
		// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Third-party plugin may not send nonce. Data format defined by third-party plugin.
		$data = isset( $_POST['data'] ) ? wp_unslash( $_POST['data'] ) : [];

		foreach ( (array) $data as $stock_value ) {
			$stock_string_arr = array_merge( $stock_string_arr, explode( '#^#', (string) $stock_value ) );
		}

		$lscwp_3rd_woocommerce = new self();

		if ( count( $stock_string_arr ) < 1 ) {
			return;
		}

		foreach ( $stock_string_arr as $edited_stock ) {
			$product_id = (int) strtok( (string) $edited_stock, '$' );
			$product    = wc_get_product( $product_id );

			if ( empty( $product ) ) {
				do_action( 'litespeed_debug', '3rd woo purge: ' . $product_id . ' not found.' );
				continue;
			}

			$lscwp_3rd_woocommerce->purge_product( $product );
		}
	}
}
PK�^�\F��vff+litespeed-cache/thirdparty/wplister.cls.phpnu�[���<?php
/**
 * The Third Party integration with the WPLister plugin.
 *
 * Hooks WPLister inventory status updates to LiteSpeed WooCommerce backend purging.
 *
 * @since 1.1.0
 * @package LiteSpeed
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit();

/**
 * WPLister integration for LiteSpeed Cache.
 */
class WPLister {

	/**
	 * Detects if WooCommerce and WPLister are installed and registers hooks.
	 *
	 * @since 1.1.0
	 * @return void
	 */
	public static function detect() {
		if ( defined( 'WOOCOMMERCE_VERSION' ) && defined( 'WPLISTER_VERSION' ) ) {
			// User reported this will sync correctly.
			add_action( 'wplister_revise_inventory_status', [ WooCommerce::cls(), 'backend_purge' ] );
			// Added as a safety measure for WPLister Pro only.
			add_action( 'wplister_inventory_status_changed', [ WooCommerce::cls(), 'backend_purge' ] );
		}
	}
}
PK�^�\Ͻ?#��+litespeed-cache/thirdparty/wpdiscuz.cls.phpnu�[���<?php
/**
 * The Third Party integration with Wpdiscuz.
 *
 * @since       2.9.5
 * @package     LiteSpeed
 * @subpackage  LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit();

use LiteSpeed\API;

/**
 * Wpdiscuz integration for LiteSpeed Cache.
 *
 * Appends commenter vary and disables pending-check when a commenter is detected.
 */
class Wpdiscuz {

	/**
	 * Registers hooks when Wpdiscuz is active.
	 *
	 * @since 2.9.5
	 * @return void
	 */
	public static function detect() {
		if ( ! defined( 'WPDISCUZ_DS' ) ) {
			return;
		}

		self::check_commenter();
		add_action( 'wpdiscuz_add_comment', __CLASS__ . '::add_comment' );
	}

	/**
	 * Appends the commenter vary on new Wpdiscuz comments.
	 *
	 * @since 2.9.5
	 * @return void
	 */
	public static function add_comment() {
		API::vary_append_commenter();
	}

	/**
	 * Checks current commenter and disables pending vary check if a name exists.
	 *
	 * @since 2.9.5
	 * @return void
	 */
	public static function check_commenter() {
		$commentor = wp_get_current_commenter();

		if (strlen($commentor['comment_author']) > 0) {
			add_filter( 'litespeed_vary_check_commenter_pending', '__return_false' );
		}
	}
}
PK�^�\���<'litespeed-cache/thirdparty/wpml.cls.phpnu�[���<?php
/**
 * The Third Party integration with WPML.
 *
 * Adds WPML language domains to LiteSpeed's list of internal domains.
 *
 * @since 2.9.4
 * @package LiteSpeed
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit();

/**
 * WPML integration for LiteSpeed Cache.
 */
class WPML {

	/**
	 * Registers filters when WPML is active.
	 *
	 * @since 2.9.4
	 * @return void
	 */
	public static function detect() {
		if ( ! defined( 'WPML_PLUGIN_BASENAME' ) ) {
			return;
		}

		add_filter( 'litespeed_internal_domains', __CLASS__ . '::append_domains' );
	}

	/**
	 * Take language domains as internal domains.
	 *
	 * @since 2.9.4
	 *
	 * @param array $domains Existing internal domains.
	 * @return array Modified list of internal domains including WPML language domains.
	 */
	public static function append_domains( $domains ) {
		$wpml_domains = apply_filters( 'wpml_setting', false, 'language_domains' );
		if ( $wpml_domains ) {
			$domains = array_merge( $domains, array_values( $wpml_domains ) );
		}

		return $domains;
	}
}
PK�^�\cLaL��0litespeed-cache/thirdparty/gravity-forms.cls.phpnu�[���<?php
/**
 * The Third Party integration with Gravity Forms.
 *
 * @since 4.1.0
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Gravity Forms compatibility hooks for LiteSpeed Cache.
 */
class Gravity_Forms {

	/**
	 * Check if GF is enabled and disable LSCWP on gf-download and gf-signature URI.
	 *
	 * Note: Query params are only read to detect special Gravity Forms endpoints.
	 * Nonce verification is not applicable here as no privileged action is performed.
	 *
	 * @since 4.1.0 #900899 #827184
	 * @return void
	 */
	public static function preload() {
		if (class_exists('GFCommon')) {
			$gf_download  = isset($_GET['gf-download']) ? sanitize_text_field(wp_unslash($_GET['gf-download'])) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			$gf_signature = isset($_GET['gf-signature']) ? sanitize_text_field(wp_unslash($_GET['gf-signature'])) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended

			if ('' !== $gf_download || '' !== $gf_signature) {
				do_action('litespeed_disable_all', 'Stopped for Gravity Form');
			}
		}
	}
}
PK�^�\�:�

1litespeed-cache/thirdparty/nextgengallery.cls.phpnu�[���<?php
/**
 * The Third Party integration with the NextGen Gallery plugin.
 *
 * @since 1.0.5
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Provides LiteSpeed Cache compatibility for NextGen Gallery.
 */
class NextGenGallery {

	const CACHETAG_ALBUMS    = 'NGG_A.';
	const CACHETAG_GALLERIES = 'NGG_G.';
	const CACHETAG_TAGS      = 'NGG_T.';

	/**
	 * Hook NextGen Gallery events for purging cache.
	 *
	 * @since 1.0.5
	 * @return void
	 */
	public static function preload() {
		add_action('ngg_added_new_image', __CLASS__ . '::add_image');
		add_action('ngg_ajax_image_save', __CLASS__ . '::update_image');
		add_action('ngg_delete_picture', __CLASS__ . '::delete_image');
		add_action('ngg_moved_images', __CLASS__ . '::move_image', 10, 3);
		add_action('ngg_copied_images', __CLASS__ . '::copy_image', 10, 3);
		add_action('ngg_generated_image', __CLASS__ . '::gen_image');
		add_action('ngg_recovered_image', __CLASS__ . '::gen_image');

		add_action('ngg_gallery_sort', __CLASS__ . '::update_gallery');
		add_action('ngg_delete_gallery', __CLASS__ . '::update_gallery');

		add_action('ngg_update_album', __CLASS__ . '::update_album');
		add_action('ngg_delete_album', __CLASS__ . '::update_album');

		add_filter('ngg_displayed_gallery_cache_params', __CLASS__ . '::add_container');
	}

	/**
	 * Purge cache when an image is added.
	 *
	 * @since 1.0.5
	 * @param object $image The image object added.
	 * @return void
	 */
	public static function add_image( $image ) {
		if (!$image || !method_exists($image, 'get_gallery')) {
			return;
		}
		$gallery = $image->get_gallery();
		if ($gallery && $gallery->pageid) {
			do_action('litespeed_purge', self::CACHETAG_GALLERIES . $gallery->pageid);
		}
	}

	/**
	 * Purge cache when an image is updated.
	 *
	 * @since 1.0.5
	 * @return void
	 */
	public static function update_image() {
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		if ( isset( $_REQUEST['gallery_id'] ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Recommended
			do_action( 'litespeed_purge', self::CACHETAG_GALLERIES . sanitize_key( wp_unslash( $_REQUEST['gallery_id'] ) ) );
			return;
		}

		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		if ( isset( $_POST['task_list'] ) ) {
			// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification.Missing
			$task_list = str_replace( '\\', '', wp_unslash( $_POST['task_list'] ) );
			$task_list = json_decode( $task_list, true );

			if ( ! empty( $task_list[0]['query']['id'] ) ) {
				do_action( 'litespeed_purge', self::CACHETAG_GALLERIES . sanitize_key( $task_list[0]['query']['id'] ) );
				return;
			}
		}

		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		if ( isset( $_POST['id'] ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing
			$id = (int) $_POST['id'];
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		} elseif ( isset( $_POST['image'] ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing
			$id = (int) $_POST['image'];
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		} elseif ( isset( $_GET['pid'] ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Recommended
			$id = (int) $_GET['pid'];
		} else {
			error_log( 'LiteSpeed_Cache hit ngg_ajax_image_save with no post image id.' ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log
			return;
		}
		$image = \C_Image_Mapper::get_instance()->find($id);
		if ($image) {
			do_action('litespeed_purge', self::CACHETAG_GALLERIES . $image->galleryid);
		}
	}

	/**
	 * Purge cache when an image is deleted.
	 *
	 * @since 1.0.5
	 * @return void
	 */
	public static function delete_image() {
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		if ( isset( $_GET['gid'] ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Recommended
			do_action( 'litespeed_purge', self::CACHETAG_GALLERIES . sanitize_key( wp_unslash( $_GET['gid'] ) ) );
		}
	}

	/**
	 * Purge cache when an image is moved.
	 *
	 * @since 1.0.8
	 * @param array $images Unused.
	 * @param array $old_gallery_ids Source gallery IDs.
	 * @param int   $new_gallery_id Destination gallery ID.
	 * @return void
	 */
	public static function move_image( $images, $old_gallery_ids, $new_gallery_id ) {
		foreach ($old_gallery_ids as $gid) {
			do_action('litespeed_purge', self::CACHETAG_GALLERIES . $gid);
		}
		do_action('litespeed_purge', self::CACHETAG_GALLERIES . $new_gallery_id);
	}

	/**
	 * Purge cache when an image is copied.
	 *
	 * @since 1.0.8
	 * @param array $image_pid_map Unused.
	 * @param array $old_gallery_ids Unused.
	 * @param int   $new_gallery_id Destination gallery ID.
	 * @return void
	 */
	public static function copy_image( $image_pid_map, $old_gallery_ids, $new_gallery_id ) {
		do_action('litespeed_purge', self::CACHETAG_GALLERIES . $new_gallery_id);
	}

	/**
	 * Purge cache when an image is regenerated or recovered.
	 *
	 * @since 1.0.8
	 * @param object $image The regenerated image object.
	 * @return void
	 */
	public static function gen_image( $image ) {
		do_action('litespeed_purge', self::CACHETAG_GALLERIES . $image->galleryid);
	}

	/**
	 * Purge cache when a gallery is updated.
	 *
	 * @since 1.0.5
	 * @param int|object $gid Gallery ID or object with gid.
	 * @return void
	 */
	public static function update_gallery( $gid ) {
		if (is_object($gid) && !empty($gid->gid)) {
			$gid = $gid->gid;
		}
		do_action('litespeed_purge', self::CACHETAG_GALLERIES . $gid);
	}

	/**
	 * Purge cache when an album is updated.
	 *
	 * @since 1.0.5
	 * @param int $aid Album ID.
	 * @return void
	 */
	public static function update_album( $aid ) {
		do_action('litespeed_purge', self::CACHETAG_ALBUMS . $aid);
	}

	/**
	 * Tag gallery/album/tag content during rendering.
	 *
	 * @since 1.0.5
	 * @param object $render_parms Render parameters.
	 * @return mixed Null if $render_parms is null, otherwise same input.
	 */
	public static function add_container( $render_parms ) {
		if (is_null($render_parms)) {
			return null;
		}
		$src           = $render_parms[0]->source;
		$container_ids = $render_parms[0]->container_ids;

		switch ($src) {
			case 'albums':
				$tag = self::CACHETAG_ALBUMS;
				break;
			case 'galleries':
				$tag = self::CACHETAG_GALLERIES;
				break;
			case 'tags':
				$tag = self::CACHETAG_TAGS;
				break;
			default:
				return $render_parms;
		}

		foreach ($container_ids as $id) {
			do_action('litespeed_tag_add', $tag . $id);
		}

		return $render_parms;
	}
}
PK�^�\�=t�	�	&litespeed-cache/thirdparty/amp.cls.phpnu�[���<?php
/**
 * The Third Party integration with AMP plugin.
 *
 * @since      2.9.8.6
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit;

/**
 * Integration helpers for AMP-compatible behaviour.
 *
 * Disables optimization features on AMP endpoints provided by popular AMP
 * plugins to ensure valid AMP output (no injected JS/lazy/CSS async, etc).
 */
class AMP {

	/**
	 * Maybe mark current request as AMP and disable conflicting optimizations.
	 *
	 * @since 4.2
	 *
	 * @param string $amp_function Callback/function name that returns whether current request is AMP.
	 * @return void
	 */
	private static function _maybe_amp( $amp_function ) {
		if ( is_admin() ) {
			return;
		}
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		if ( ! isset( $_GET['amp'] ) && ( ! function_exists( $amp_function ) || ! $amp_function() ) ) {
			return;
		}

		do_action( 'litespeed_debug', '[3rd] ❌ AMP disabled page optm/lazy' );

		defined( 'LITESPEED_NO_PAGEOPTM' ) || define( 'LITESPEED_NO_PAGEOPTM', true );
		defined( 'LITESPEED_NO_LAZY' ) || define( 'LITESPEED_NO_LAZY', true );
		defined( 'LITESPEED_NO_OPTM' ) || define( 'LITESPEED_NO_OPTM', true );
		// defined( 'LITESPEED_GUEST' ) || define( 'LITESPEED_GUEST', false );
	}

	/**
	 * Ampforwp_is_amp_endpoint() from Accelerated Mobile Pages.
	 *
	 * @since 4.2
	 * @return void
	 */
	public static function maybe_acc_mob_pages() {
		self::_maybe_amp( 'ampforwp_is_amp_endpoint' );
	}

	/**
	 * Google AMP fix.
	 *
	 * @since 4.2.0.1
	 * @return void
	 */
	public static function maybe_google_amp() {
		self::_maybe_amp( 'amp_is_request' );
	}

	/**
	 * Preload hooks to detect AMP requests and turn off conflicting features.
	 *
	 * CSS async will affect AMP result and Lazyload injects JS libraries which
	 * AMP does not allow. Ensure those are disabled early on AMP endpoints.
	 *
	 * @since 2.9.8.6
	 * @access public
	 * @return void
	 */
	public static function preload() {
		add_action( 'wp', __CLASS__ . '::maybe_acc_mob_pages' );
		add_action( 'wp', __CLASS__ . '::maybe_google_amp' );

		// amp_is_request() from AMP.
		// self::maybe_amp( 'amp_is_request' );
		// add_filter( 'litespeed_can_optm', '__return_false' );
		// do_action( 'litespeed_conf_force', API::O_OPTM_CSS_ASYNC, false );
		// do_action( 'litespeed_conf_force', API::O_MEDIA_LAZY, false );
		// do_action( 'litespeed_conf_force', API::O_MEDIA_IFRAME_LAZY, false );
	}
}
PK�^�\�'�~

(litespeed-cache/thirdparty/entry.inc.phpnu�[���<?php
/**
 * The registry for Third Party Plugins Integration files.
 *
 * This file is only used to include the integration files/classes.
 * This works as an entry point for the initial add_action for the
 * detect function.
 *
 * It is not required to add all integration files here, this just provides
 * a common place for plugin authors to append their file to.
 *
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

defined('WPINC') || exit();

$third_cls = array(
	'Aelia_CurrencySwitcher',
	'Autoptimize',
	'Avada',
	'BBPress',
	'Beaver_Builder',
	'Caldera_Forms',
	'Divi_Theme_Builder',
	'Facetwp',
	'LiteSpeed_Check',
	'Theme_My_Login',
	'User_Switching',
	'WCML',
	'WooCommerce',
	'WC_PDF_Product_Vouchers',
	'Woo_Paypal',
	'Wp_Polls',
	'WP_PostRatings',
	'Wpdiscuz',
	'WPLister',
	'WPML',
	'WpTouch',
	'Yith_Wishlist',
);

foreach ($third_cls as $cls) {
	add_action('litespeed_load_thirdparty', 'LiteSpeed\Thirdparty\\' . $cls . '::detect');
}

// Preload needed for certain thirdparty
add_action('litespeed_init', 'LiteSpeed\Thirdparty\Divi_Theme_Builder::preload');
add_action('litespeed_init', 'LiteSpeed\Thirdparty\WooCommerce::preload');
add_action('litespeed_init', 'LiteSpeed\Thirdparty\NextGenGallery::preload');
add_action('litespeed_init', 'LiteSpeed\Thirdparty\AMP::preload');
add_action('litespeed_init', 'LiteSpeed\Thirdparty\Elementor::preload');
add_action('litespeed_init', 'LiteSpeed\Thirdparty\Gravity_Forms::preload');
add_action('litespeed_init', 'LiteSpeed\Thirdparty\Perfmatters::preload');
PK�^�\c�

1litespeed-cache/thirdparty/theme-my-login.cls.phpnu�[���<?php
/**
 * The Third Party integration with the Theme My Login plugin.
 *
 * @since 1.0.15
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Provides compatibility for the Theme My Login plugin.
 */
class Theme_My_Login {

	/**
	 * Detects if Better Theme My Login is active.
	 *
	 * @since 1.0.15
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if (defined('THEME_MY_LOGIN_PATH')) {
			add_action('litespeed_control_finalize', __CLASS__ . '::set_control');
		}
	}

	/**
	 * This filter is used to let the cache know if a page is cacheable.
	 *
	 * @since 1.0.15
	 * @access public
	 * @return void
	 */
	public static function set_control() {
		if (!apply_filters('litespeed_control_cacheable', false)) {
			return;
		}

		// Check if this page is TML page or not.
		if (class_exists('Theme_My_Login') && \Theme_My_Login::is_tml_page()) {
			do_action('litespeed_control_set_nocache', 'Theme My Login');
		}
	}
}
PK�^�\�3�,

,litespeed-cache/thirdparty/elementor.cls.phpnu�[���<?php
/**
 * The Third Party integration with the Elementor plugin.
 *
 * Detects Elementor editor/preview actions and safely disables LiteSpeed Cache features
 * that could interfere with live editing. Also hooks cache purge when Elementor regenerates
 * its CSS & data.
 *
 * @since      2.9.8.8
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Handles Elementor compatibility.
 */
class Elementor {

	/**
	 * Preload hooks and disable caching features during Elementor edit/preview flows.
	 *
	 * This method only inspects query/server values to detect editor context.
	 * No privileged actions are performed here, so nonce verification is not required.
	 *
	 * @since 2.9.8.8
	 * @return void
	 */
	public static function preload() {
		if ( ! defined( 'ELEMENTOR_VERSION' ) ) {
			return;
		}

		// If user explicitly opened the Elementor editor, disable all LSCWP features.
		$action = isset( $_GET['action'] ) ? sanitize_text_field( wp_unslash( $_GET['action'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		if ( 'elementor' === $action ) {
			do_action( 'litespeed_disable_all', 'elementor edit mode' );
		}

		// If the referrer indicates an Elementor editor context, inspect possible save actions.
		$http_referer = isset( $_SERVER['HTTP_REFERER'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_REFERER'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		if ( '' !== $http_referer && false !== strpos( $http_referer, 'action=elementor' ) ) {
			// Elementor posts JSON in the 'actions' request field when saving from editor.
			// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
			$actions_raw = isset( $_REQUEST['actions'] ) ? wp_unslash( $_REQUEST['actions'] ) : '';
			if ( '' !== $actions_raw ) {
				// Use a forgiving sanitizer for JSON strings, then decode.
				$json = json_decode( sanitize_textarea_field( $actions_raw ), true );
				// Debug2::debug( '3rd Elementor', $json );

				if (
					! empty( $json['save_builder']['action'] ) &&
					'save_builder' === $json['save_builder']['action'] &&
					! empty( $json['save_builder']['data']['status'] ) &&
					'publish' === $json['save_builder']['data']['status']
				) {
					// Publishing from editor — allow normal flow so crawler/purge can run.
					return;
				}
			}

			// In all other editor-referrer cases, disable LSCWP features during edit.
			do_action( 'litespeed_disable_all', 'elementor edit mode in HTTP_REFERER' );
		}

		// Clear LSC cache when Elementor regenerates CSS & Data.
		add_action( 'elementor/core/files/clear_cache', __CLASS__ . '::regenerate_litespeed_cache' );
	}

	/**
	 * Disable LiteSpeed ESI explicitly (kept for backward compatibility if re-enabled).
	 *
	 * @since 2.9.8.8
	 * @return void
	 */
	public static function disable_litespeed_esi() {
		if ( ! defined( 'LITESPEED_ESI_OFF' ) ) {
			define( 'LITESPEED_ESI_OFF', true );
		}
	}

	/**
	 * Purge LiteSpeed Cache when Elementor regenerates its CSS & Data.
	 *
	 * @since 2.9.8.8
	 * @return void
	 */
	public static function regenerate_litespeed_cache() {
		do_action( 'litespeed_purge_all', 'Elementor - Regenerate CSS & Data' );
	}
}
PK�^�\!LPq&&0litespeed-cache/thirdparty/caldera-forms.cls.phpnu�[���<?php
/**
 * The Third Party integration with Caldera Forms.
 *
 * @since      3.2.2
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Integration with Caldera Forms to ensure proper nonce handling for cached pages.
 */
class Caldera_Forms {

	/**
	 * Detects if Caldera Forms is active and registers nonces accordingly.
	 *
	 * Hooks the plugin's frontend nonce pattern into LiteSpeed so cached pages
	 * still validate form submissions.
	 *
	 * @since 3.2.2
	 * @return void
	 */
	public static function detect() {
		if (!defined('CFCORE_VER')) {
			return;
		}

		// plugins/caldera-forms/classes/render/nonce.php -> class Caldera_Forms_Render_Nonce
		do_action('litespeed_nonce', 'caldera_forms_front_*');
	}
}
PK�^�\6=}�ee-litespeed-cache/thirdparty/woo-paypal.cls.phpnu�[���<?php
/**
 * The Third Party integration with WooCommerce PayPal Checkout Gateway.
 *
 * @ref https://wordpress.org/plugins/woocommerce-gateway-paypal-express-checkout/
 *
 * @since 3.0
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Provides compatibility with WooCommerce PayPal Checkout.
 */
class Woo_Paypal {

	/**
	 * Detect if WooCommerce PayPal Checkout is active and register nonces.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if (!defined('WC_GATEWAY_PPEC_VERSION')) {
			return;
		}

		do_action('litespeed_nonce', '_wc_ppec_update_shipping_costs_nonce private');
		do_action('litespeed_nonce', '_wc_ppec_start_checkout_nonce private');
		do_action('litespeed_nonce', '_wc_ppec_generate_cart_nonce private');
	}
}
PK�^�\�,>EE5litespeed-cache/thirdparty/divi-theme-builder.cls.phpnu�[���<?php
/**
 * The Third Party integration with DIVI Theme.
 *
 * Ensures Divi Builder edit/preview modes don't conflict with LiteSpeed Cache features,
 * and registers required nonces for Divi modules.
 *
 * @since      2.9.0
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Handles Divi Theme Builder compatibility.
 */
class Divi_Theme_Builder {

	// private static $js_comment_box = false;

	/**
	 * If Divi front-end edit/preview mode is active, disable LSCWP features to avoid conflicts.
	 *
	 * Note: This reads query vars only to detect Divi edit states. Nonce verification
	 * is not applicable here because no privileged action is performed.
	 *
	 * @since 2.9.7.2 #435538 #581740 #977284
	 * @since 2.9.9.1 Added 'et_pb_preview' for loading image from library in Divi page edit
	 * @return void
	 */
	public static function preload() {
		if (!function_exists('et_setup_theme')) {
			return;
		}

		// Sanitize incoming query params before use.
		$et_fb         = isset($_GET['et_fb']) ? sanitize_text_field(wp_unslash($_GET['et_fb'])) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$et_pb_preview = isset($_GET['et_pb_preview']) ? sanitize_text_field(wp_unslash($_GET['et_pb_preview'])) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$p             = isset($_GET['p']) ? absint(wp_unslash($_GET['p'])) : 0; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$preview       = isset($_GET['preview']) ? sanitize_text_field(wp_unslash($_GET['preview'])) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended

		if ( '' !== $et_fb || '' !== $et_pb_preview || ( $p && 'true' === $preview ) ) {
			do_action( 'litespeed_disable_all', 'divi edit mode' );
		}
	}

	/**
	 * Detect Divi and register required integrations.
	 *
	 * - Allows the crawler to ignore Divi's first-visit "no-cache" for CCSS generation.
	 * - Adds nonces used by Divi modules so cached pages still validate requests.
	 *
	 * @since 2.9.0
	 * @return void
	 */
	public static function detect() {
		if (!defined('ET_CORE')) {
			return;
		}

		// As DIVI may set first visit to non-cacheable to generate CCSS,
		// instruct the crawler to ignore that flag.
		if (!defined('LITESPEED_CRAWLER_IGNORE_NONCACHEABLE')) {
			define('LITESPEED_CRAWLER_IGNORE_NONCACHEABLE', true);
		}

		/**
		 * Add contact form to nonce.
		 *
		 * @since 2.9.7.1 #475461
		 */
		do_action('litespeed_nonce', 'et-pb-contact-form-submit');

		/**
		 * Subscribe module and A/B logging.
		 *
		 * @since 3.0
		 */
		do_action('litespeed_nonce', 'et_frontend_nonce');
		do_action('litespeed_nonce', 'et_ab_log_nonce');

		/*
		// the comment box fix is for user using theme builder, ESI will load the wrong json string
		// As we disabled all for edit mode, this is no more needed
		add_action( 'et_fb_before_comments_template', 'Divi_Theme_Builder::js_comment_box_on' );
		add_action( 'et_fb_after_comments_template', 'Divi_Theme_Builder::js_comment_box_off' );
		add_filter( 'litespeed_esi_params-comment-form', 'Divi_Theme_Builder::esi_comment_add_slash' );// Note: this is changed in v2.9.8.1
		*/
	}

	/*
	 * Enable comment box JS mode (legacy code - currently disabled).
	 *
	public static function js_comment_box_on() {
		self::$js_comment_box = true;
	}

	public static function js_comment_box_off() {
		self::$js_comment_box = false;
	}

	public static function esi_comment_add_slash( $params ) {
		if ( self::$js_comment_box ) {
			$params['is_json'] = 1;
			$params['_ls_silence'] = 1;
		}
		return $params;
	}
	*/
}
PK�^�\�76��'litespeed-cache/thirdparty/wcml.cls.phpnu�[���<?php
/**
 * The Third Party integration with WCML.
 *
 * @since 3.0
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Provides compatibility with WCML for currency handling.
 */
class WCML {

	/**
	 * Holds the current WCML currency.
	 *
	 * @var string
	 */
	private static $_currency = '';

	/**
	 * Detect if WCML is active and register hooks.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if (!defined('WCML_VERSION')) {
			return;
		}

		add_filter('wcml_client_currency', __CLASS__ . '::apply_client_currency');
		add_action('wcml_set_client_currency', __CLASS__ . '::set_client_currency');
	}

	/**
	 * Sets the client currency and triggers vary updates.
	 *
	 * @since 3.0
	 * @access public
	 * @param string $currency The currency code to set.
	 * @return void
	 */
	public static function set_client_currency( $currency ) {
		self::apply_client_currency($currency);
		do_action('litespeed_vary_ajax_force');
	}

	/**
	 * Applies the client currency and adjusts vary accordingly.
	 *
	 * @since 3.0
	 * @access public
	 * @param string $currency The currency code to apply.
	 * @return string The applied currency.
	 */
	public static function apply_client_currency( $currency ) {
		self::$_currency = $currency;
		add_filter('litespeed_vary', __CLASS__ . '::apply_vary');

		return $currency;
	}

	/**
	 * Appends WCML currency to vary list.
	 *
	 * @since 3.0
	 * @access public
	 * @param array $vary_list The existing vary list.
	 * @return array The updated vary list including WCML currency.
	 */
	public static function apply_vary( $vary_list ) {
		$vary_list['wcml_currency'] = self::$_currency;
		
		return $vary_list;
	}
}
PK�^�\�t%���.litespeed-cache/thirdparty/perfmatters.cls.phpnu�[���<?php
/**
 * The Third Party integration with the Perfmatters plugin.
 *
 * @since 4.4.5
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Provides compatibility for the Perfmatters plugin.
 */
class Perfmatters {

	/**
	 * Preload Perfmatters integration.
	 *
	 * @since 4.4.5
	 * @return void
	 */
	public static function preload() {
		if (!defined('PERFMATTERS_VERSION')) {
			return;
		}

		if (is_admin()) {
			return;
		}

		if (has_action('shutdown', 'perfmatters_script_manager') !== false) {
			add_action('init', __CLASS__ . '::disable_litespeed_esi', 4);
		}
	}

	/**
	 * Disable LiteSpeed ESI when Perfmatters Script Manager is active.
	 *
	 * @since 4.4.5
	 * @return void
	 */
	public static function disable_litespeed_esi() {
		if (!defined('LITESPEED_ESI_OFF')) {
			define('LITESPEED_ESI_OFF', true);
		}
		do_action('litespeed_debug', 'Disable ESI due to Perfmatters script manager');
	}
}
PK�^�\ל�M
M
*litespeed-cache/thirdparty/bbpress.cls.phpnu�[���<?php
/**
 * The Third Party integration with the bbPress plugin.
 *
 * @since      1.0.5
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit;

use LiteSpeed\Router;

/**
 * Integration for bbPress cache handling and purging.
 */
class BBPress {

	/**
	 * Detect if bbPress is installed and if the page is a bbPress page.
	 *
	 * @since 1.0.5
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if ( function_exists( 'is_bbpress' ) ) {
			add_action( 'litespeed_api_purge_post', __CLASS__ . '::on_purge' ); // todo
			if ( apply_filters( 'litespeed_esi_status', false ) ) {
				// Don't consider private cache yet (will do if any feedback)
				add_action( 'litespeed_control_finalize', __CLASS__ . '::set_control' );
			}
		}
	}

	/**
	 * This filter is used to let the cache know if a page is cacheable.
	 *
	 * @since 1.2.0
	 * @access public
	 * @return void
	 */
	public static function set_control() {
		if ( ! apply_filters( 'litespeed_control_cacheable', false ) ) {
			return;
		}

		// Set non ESI public
		if ( is_bbpress() && Router::is_logged_in() ) {
			do_action( 'litespeed_control_set_nocache', 'bbpress nocache due to loggedin' );
		}
	}

	/**
	 * When a bbPress page is purged, need to purge the forums list and
	 * any/all ancestor pages.
	 *
	 * @since 1.0.5
	 * @access public
	 * @param int $post_id The post id of the page being purged.
	 * @return void
	 */
	public static function on_purge( $post_id ) {
		if ( ! is_bbpress() ) {
			if ( ! function_exists( 'bbp_is_forum' ) || ! function_exists( 'bbp_is_topic' ) || ! function_exists( 'bbp_is_reply' ) ) {
				return;
			}
			if ( ! bbp_is_forum( $post_id ) && ! bbp_is_topic( $post_id ) && ! bbp_is_reply( $post_id ) ) {
				return;
			}
		}

		// Need to purge base forums page, bbPress page was updated.
		do_action( 'litespeed_purge_posttype', bbp_get_forum_post_type() );
		$ancestors = get_post_ancestors( $post_id );

		// If there are ancestors, need to purge them as well.
		if ( ! empty( $ancestors ) ) {
			foreach ( $ancestors as $ancestor ) {
				do_action( 'litespeed_purge_post', $ancestor );
			}
		}

		global $wp_widget_factory;
		$replies_widget = $wp_widget_factory->get_widget_object( 'BBP_Replies_Widget' );
		if ( bbp_is_reply( $post_id ) && $replies_widget ) {
			do_action( 'litespeed_purge_widget', $replies_widget->id );
		}

		$topic_widget = $wp_widget_factory->get_widget_object( 'BBP_Topics_Widget' );
		if ( bbp_is_topic( $post_id ) && $topic_widget ) {
			do_action( 'litespeed_purge_widget', $topic_widget->id );
		}
	}
}
PK�^�\n�g�ww1litespeed-cache/thirdparty/beaver-builder.cls.phpnu�[���<?php
/**
 * The Third Party integration with the Beaver Builder plugin.
 *
 * @since      3.0
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit;

/**
 * Integration for Beaver Builder cache handling and purging.
 */
class Beaver_Builder {

	/**
	 * Detects if Beaver_Builder is active.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if ( ! defined( 'FL_BUILDER_VERSION' ) ) {
			return;
		}

		/**
		 * Purge All hooks.
		 *
		 * @see beaver-builder/extensions/fi-builder-cache-helper/classes/class-fi-builder-cache-helper.php
		 */
		$actions = array(
			'fl_builder_cache_cleared',
			'fl_builder_after_save_layout',
			'fl_builder_after_save_user_template',
			'upgrader_process_complete',
		);

		foreach ( $actions as $val ) {
			add_action( $val, __CLASS__ . '::purge' );
		}
	}

	/**
	 * Purges the cache when Beaver_Builder's cache is purged.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public static function purge() {
		do_action( 'litespeed_purge_all', '3rd Beaver_Builder' );
	}
}
PK�^�\�߸�1litespeed-cache/thirdparty/user-switching.cls.phpnu�[���<?php
/**
 * The Third Party integration with User Switching.
 *
 * @since 3.0
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Provides compatibility for the User Switching plugin.
 */
class User_Switching {

	/**
	 * Detects if User Switching is active and registers required nonces.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if (!class_exists('user_switching')) {
			return;
		}

		/**
		 * Register switch back URL nonce.
		 *
		 * @since 3.0
		 */
		if (function_exists('current_user_switched')) {
			$old_user = current_user_switched();
			if ($old_user) {
				do_action('litespeed_nonce', 'switch_to_olduser_' . $old_user->ID);
			}
		}
	}
}
PK�^�\|]���2litespeed-cache/thirdparty/litespeed-check.cls.phpnu�[���<?php
/**
 * Check if any plugins that could conflict with LiteSpeed Cache are active.
 *
 * @since 4.7
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * Detects incompatible plugins and displays admin notices if needed.
 */
class LiteSpeed_Check {

	/**
	 * Incompatible plugins list.
	 *
	 * @var array
	 */
	public static $_incompatible_plugins = array(
		// 'autoptimize/autoptimize.php',
		'breeze/breeze.php',
		'cache-enabler/cache-enabler.php',
		'cachify/cachify.php',
		'cloudflare/cloudflare.php',
		'comet-cache/comet-cache.php',
		'docket-cache/docket-cache.php',
		'fast-velocity-minify/fvm.php',
		'hummingbird-performance/wp-hummingbird.php',
		'nginx-cache/nginx-cache.php',
		'nitropack/main.php',
		'pantheon-advanced-page-cache/pantheon-advanced-page-cache.php',
		'powered-cache/powered-cache.php',
		'psn-pagespeed-ninja/pagespeedninja.php',
		'sg-cachepress/sg-cachepress.php',
		'simple-cache/simple-cache.php',
		// 'redis-cache/redis-cache.php',
		'w3-total-cache/w3-total-cache.php',
		'wp-cloudflare-page-cache/wp-cloudflare-page-cache.php',
		'wp-fastest-cache/wpFastestCache.php',
		'wp-meteor/wp-meteor.php',
		'wp-optimize/wp-optimize.php',
		'wp-performance-score-booster/wp-performance-score-booster.php',
		'wp-rocket/wp-rocket.php',
		'wp-super-cache/wp-cache.php',
	);

	/**
	 * Option key for storing notice state.
	 *
	 * @var string
	 */
	private static $_option = 'thirdparty_litespeed_check';

	/**
	 * Admin notice HTML ID.
	 *
	 * @var string
	 */
	private static $_msg_id = 'id="lscwp-incompatible-plugin-notice"';

	/**
	 * Detect incompatible plugins and hook into plugin lifecycle.
	 *
	 * @since 4.7
	 * @return void
	 */
	public static function detect() {
		if (!is_admin()) {
			return;
		}

		/**
		 * Check for incompatible plugins when `litespeed-cache` is first activated.
		 */
		$plugin = basename(LSCWP_DIR) . '/litespeed-cache.php';
		register_deactivation_hook($plugin, function ( $network_wide ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
			\LiteSpeed\Admin_Display::delete_option(self::$_option);
		});
		if (!\LiteSpeed\Admin_Display::get_option(self::$_option)) {
			self::activated_plugin($plugin, null);
			\LiteSpeed\Admin_Display::add_option(self::$_option, true);
		}

		/**
		 * Check for incompatible plugins when any plugin is (de)activated.
		 */
		add_action('activated_plugin', __CLASS__ . '::activated_plugin', 10, 2);
		add_action('deactivated_plugin', __CLASS__ . '::deactivated_plugin', 10, 2);

		if (class_exists('PagespeedNinja')) {
			\LiteSpeed\Admin_Display::error(
				'<div ' .
					self::$_msg_id .
					'>' .
					__('Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:', 'litespeed-cache') .
					'<p style="color: red; font-weight: 700;">' .
					'PageSpeed Ninja' .
					'</p>' .
					'</div>'
			);
		}
	}

	/**
	 * Handle plugin activation.
	 *
	 * @since 4.7
	 * @param string $plugin Plugin path.
	 * @param bool   $network_wide Whether activated network-wide.
	 * @return void
	 */
	public static function activated_plugin( $plugin, $network_wide ) {
		self::incompatible_plugin_notice($plugin, $network_wide, 'activated');
	}

	/**
	 * Handle plugin deactivation.
	 *
	 * @since 4.7
	 * @param string $plugin Plugin path.
	 * @param bool   $network_wide Whether deactivated network-wide.
	 * @return void
	 */
	public static function deactivated_plugin( $plugin, $network_wide ) {
		self::incompatible_plugin_notice($plugin, $network_wide, 'deactivated');
	}

	/**
	 * Detect any incompatible plugins that are currently `active` and `valid`.
	 * Show a notification if there are any.
	 *
	 * @since 4.7
	 * @param string $plugin Plugin path.
	 * @param bool   $_network_wide Whether action is network-wide.
	 * @param string $action Action type (activated|deactivated).
	 * @return void
	 */
	public static function incompatible_plugin_notice( $plugin, $_network_wide, $action ) {
		self::update_messages();

		$deactivated = 'deactivated' === $action ? array( $plugin ) : array();

		$incompatible_plugins = array_map(function ( $plugin ) {
			return WP_PLUGIN_DIR . '/' . $plugin;
		}, array_diff(self::$_incompatible_plugins, $deactivated));

		$active_incompatible_plugins = array_map(function ( $plugin ) {
			$plugin = get_plugin_data($plugin, false, true);
			return $plugin['Name'];
		}, array_intersect($incompatible_plugins, wp_get_active_and_valid_plugins()));

		if (empty($active_incompatible_plugins)) {
			return;
		}

		\LiteSpeed\Admin_Display::error(
			'<div ' .
				self::$_msg_id .
				'>' .
				__('Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:', 'litespeed-cache') .
				'<p style="color: red; font-weight: 700;">' .
				implode(', ', $active_incompatible_plugins) .
				'</p>' .
				'</div>',
			false,
			true
		);
	}

	/**
	 * Prevent multiple incompatible plugin notices.
	 *
	 * @since 4.7
	 * @return void
	 */
	private static function update_messages() {
		$messages = \LiteSpeed\Admin_Display::get_option(\LiteSpeed\Admin_Display::DB_MSG_PIN, array());
		if (is_array($messages)) {
			foreach ($messages as $index => $message) {
				if (strpos($message, self::$_msg_id) !== false) {
					unset($messages[$index]);
					if (!$messages) {
						$messages = -1;
					}
					\LiteSpeed\Admin_Display::update_option(\LiteSpeed\Admin_Display::DB_MSG_PIN, $messages);
					break;
				}
			}
		}
	}
}
PK�^�\ȯz--(litespeed-cache/thirdparty/avada.cls.phpnu�[���<?php
/**
 * The Third Party integration with the Avada plugin.
 *
 * @since      1.1.0
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit;

/**
 * Integration for Avada cache flushing.
 */
class Avada {

	/**
	 * Detects if Avada is installed.
	 *
	 * @since 1.1.0
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if ( ! defined( 'AVADA_VERSION' ) ) {
			return;
		}

		add_action( 'update_option_avada_dynamic_css_posts', __CLASS__ . '::flush' );
		add_action( 'update_option_fusion_options', __CLASS__ . '::flush' );
	}

	/**
	 * Purges the cache.
	 *
	 * @since 1.1.0
	 * @access public
	 * @return void
	 */
	public static function flush() {
		do_action( 'litespeed_purge_all', '3rd avada' );
	}
}
PK�^�\�bem��*litespeed-cache/thirdparty/facetwp.cls.phpnu�[���<?php
/**
 * The Third Party integration with FacetWP.
 *
 * @since 2.9.9
 * @package LiteSpeed
 * @subpackage LiteSpeed_Cache\Thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined('WPINC') || exit();

/**
 * FacetWP compatibility hooks for LiteSpeed Cache.
 */
class Facetwp {

	/**
	 * Detect FacetWP context and adjust ESI params when FacetWP returns buffered HTML via the "wp" template.
	 *
	 * Note: We only *read* POST data here to detect an AJAX context; no privileged action is performed.
	 * Data is unslashed and sanitized before comparison.
	 *
	 * @since 2.9.9
	 * @return void
	 */
	public static function detect() {
		if ( ! defined( 'FACETWP_VERSION' ) ) {
			return;
		}
		/**
		 * For Facetwp, if the template is "wp", return the buffered HTML
		 * So marked as rest call to put is_json to ESI
		 */
		// phpcs:ignore WordPress.Security.NonceVerification.Missing -- Reading POST to detect FacetWP AJAX; no state change or sensitive action performed.
		if ( ! empty( $_POST['action'] ) && ! empty( $_POST['data'] ) && ! empty( $_POST['data']['template'] ) && 'wp' === $_POST['data']['template'] ) {
			add_filter( 'litespeed_esi_params', __CLASS__ . '::set_is_json' );
		}
	}

	/**
	 * Mark ESI response as JSON for FacetWP's "wp" template refreshes.
	 *
	 * @since 2.9.9
	 * @param array $params Existing ESI params.
	 * @return array Modified ESI params.
	 */
	public static function set_is_json( $params ) {
		$params['is_json'] = 1;
		return $params;
	}
}
PK�^�\T7�0��.litespeed-cache/thirdparty/autoptimize.cls.phpnu�[���<?php
/**
 * The Third Party integration with the Autoptimize plugin.
 *
 * @since      1.0.12
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/thirdparty
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit;

/**
 * Integration for Autoptimize cache events.
 */
class Autoptimize {

	/**
	 * Detects if Autoptimize is active.
	 *
	 * @since 1.0.12
	 * @access public
	 * @return void
	 */
	public static function detect() {
		if ( defined( 'AUTOPTIMIZE_PLUGIN_DIR' ) ) {
			add_action( 'litespeed_purge_finalize', __CLASS__ . '::purge' );
		}
	}

	/**
	 * Purges LiteSpeed cache when Autoptimize's cache is purged.
	 *
	 * @since 1.0.12
	 * @access public
	 * @return void
	 */
	public static function purge() {
		if ( defined( 'AUTOPTIMIZE_PURGE' ) || has_action( 'shutdown', 'autoptimize_do_cachepurged_action', 11 ) ) {
			do_action( 'litespeed_purge_all', '3rd Autoptimize' );
		}
	}
}
PK�^�\"�U<��0litespeed-cache/thirdparty/yith-wishlist.cls.phpnu�[���<?php
/**
 * The Third Party integration with the YITH WooCommerce Wishlist plugin.
 *
 * Hooks YITH Wishlist UI into LiteSpeed ESI and purges appropriately.
 *
 * @since 1.1.0
 * @package LiteSpeed
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit();

use LiteSpeed\Tag;
use LiteSpeed\Conf;
use LiteSpeed\Base;

/**
 * YITH WooCommerce Wishlist integration for LiteSpeed Cache.
 */
class Yith_Wishlist {

	const ESI_PARAM_POSTID = 'yith_pid';

	/**
	 * Current product ID captured for ESI rendering.
	 *
	 * @var int
	 */
	private static $_post_id;

	/**
	 * Detects if YITH WooCommerce Wishlist and WooCommerce are installed.
	 *
	 * @since 1.1.0
	 * @return void
	 */
	public static function detect() {
		if ( ! defined( 'WOOCOMMERCE_VERSION' ) || ! defined( 'YITH_WCWL' ) ) {
			return;
		}
		if ( apply_filters( 'litespeed_esi_status', false ) ) {
			add_action( 'litespeed_tpl_normal', __CLASS__ . '::is_not_esi' );
			add_action( 'litespeed_esi_load-yith_wcwl_add', __CLASS__ . '::load_add_to_wishlist' );
			add_filter( 'litespeed_esi_inline-yith_wcwl_add', __CLASS__ . '::inline_add_to_wishlist', 20, 2 );

			// Hook to add/delete wishlist.
			add_action( 'yith_wcwl_added_to_wishlist', __CLASS__ . '::purge' );
			add_action( 'yith_wcwl_removed_from_wishlist', __CLASS__ . '::purge' );
		}
	}

	/**
	 * Purge ESI YITH cache when add/remove items.
	 *
	 * @since 1.2.0
	 * @return void
	 */
	public static function purge() {
		do_action( 'litespeed_purge_esi', 'yith_wcwl_add' );
	}

	/**
	 * Hooked to the litespeed_is_not_esi_template action.
	 *
	 * If the request is not an ESI request, hook to the add to wishlist button
	 * filter to replace it as an ESI block.
	 *
	 * @since 1.1.0
	 * @return void
	 */
	public static function is_not_esi() {
		add_filter( 'yith_wcwl_add_to_wishlist_params', __CLASS__ . '::add_to_wishlist_params', 999, 2 );
		add_filter( 'yith_wcwl_add_to_wishlisth_button_html', __CLASS__ . '::sub_add_to_wishlist', 999 );
	}

	/**
	 * Store the post id for later shortcode usage.
	 *
	 * @since 3.4.1
	 *
	 * @param array $defaults Default parameters provided by YITH.
	 * @param array $atts     Shortcode attributes for add-to-wishlist.
	 * @return array Unmodified defaults.
	 */
	public static function add_to_wishlist_params( $defaults, $atts ) {
		self::$_post_id = ! empty( $atts['product_id'] ) ? (int) $atts['product_id'] : (int) $defaults['product_id'];
		return $defaults;
	}

	/**
	 * Replace the native button HTML with an ESI block.
	 *
	 * The add to wishlist button displays a different output when the item is already
	 * in the wishlist/cart. For this reason, the button must be an ESI block.
	 *
	 * @since 1.1.0
	 *
	 * @param string $template Original button HTML.
	 * @return string ESI URL placeholder for rendering.
	 */
	public static function sub_add_to_wishlist( $template ) {
		$params = [
			self::ESI_PARAM_POSTID => self::$_post_id,
		];

		$inline_tags  = [ '', rtrim( Tag::TYPE_ESI, '.' ), Tag::TYPE_ESI . 'yith_wcwl_add' ];
		$inline_tags  = implode(
			',',
			array_map(
				function ( $val ) {
					return 'public:' . LSWCP_TAG_PREFIX . '_' . $val;
				},
				$inline_tags
			)
		);
		$inline_tags .= ',' . LSWCP_TAG_PREFIX . '_tag_priv';

		do_action( 'litespeed_esi_combine', 'yith_wcwl_add' );

		$inline_params = [
			'val'     => $template,
			'tag'     => $inline_tags,
			'control' => 'private,no-vary,max-age=' . Conf::cls()->conf( Base::O_CACHE_TTL_PRIV ),
		];

		return apply_filters( 'litespeed_esi_url', 'yith_wcwl_add', 'YITH ADD TO WISHLIST', $params, 'private,no-vary', false, false, false, $inline_params );
	}

	/**
	 * Load the add to wishlist button HTML for ESI output.
	 *
	 * @since 1.1.0
	 *
	 * @param array $params ESI parameters, expects product id under ESI_PARAM_POSTID.
	 * @return void
	 */
	public static function load_add_to_wishlist( $params ) {
		$pid = isset( $params[ self::ESI_PARAM_POSTID ] ) ? (int) $params[ self::ESI_PARAM_POSTID ] : 0;

		// Output the rendered shortcode safely.
		// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- wp_kses_post handles allowed HTML.
		echo wp_kses_post( \YITH_WCWL_Shortcode::add_to_wishlist( [ 'product_id' => $pid ] ) );

		do_action( 'litespeed_control_set_private', 'yith wishlist' );
		do_action( 'litespeed_vary_no' );
	}

	/**
	 * Generate ESI inline value.
	 *
	 * @since 3.4.2
	 *
	 * @param mixed $res    Current response (array or anything); will be normalized to array.
	 * @param array $params ESI parameters that include product id.
	 * @return array Inline ESI payload with value, control and tags.
	 */
	public static function inline_add_to_wishlist( $res, $params ) {
		if ( ! is_array( $res ) ) {
			$res = [];
		}

		$pid = isset( $params[ self::ESI_PARAM_POSTID ] ) ? (int) $params[ self::ESI_PARAM_POSTID ] : 0;

		$res['val']     = \YITH_WCWL_Shortcode::add_to_wishlist( [ 'product_id' => $pid ] );
		$res['control'] = 'private,no-vary,max-age=' . Conf::cls()->conf( Base::O_CACHE_TTL_PRIV );

		$inline_tags  = [ '', rtrim( Tag::TYPE_ESI, '.' ), Tag::TYPE_ESI . 'yith_wcwl_add' ];
		$inline_tags  = implode(
			',',
			array_map(
				function ( $val ) {
					return 'public:' . LSWCP_TAG_PREFIX . '_' . $val;
				},
				$inline_tags
			)
		);
		$inline_tags .= ',' . LSWCP_TAG_PREFIX . '_tag_priv';

		$res['tag'] = $inline_tags;

		return $res;
	}
}
PK�^�\�<�oo*litespeed-cache/thirdparty/wptouch.cls.phpnu�[���<?php
/**
 * The Third Party integration with the WPTouch Mobile plugin.
 *
 * Marks requests from mobile devices via WPTouch as mobile in LiteSpeed Cache.
 *
 * @since 1.0.7
 * @package LiteSpeed
 */

namespace LiteSpeed\Thirdparty;

defined( 'WPINC' ) || exit();

/**
 * WPTouch integration for LiteSpeed Cache.
 */
class WpTouch {

	/**
	 * Detects if WPTouch is installed.
	 *
	 * @since 1.0.7
	 * @return void
	 */
	public static function detect() {
		global $wptouch_pro;
		if ( isset( $wptouch_pro ) ) {
			add_action( 'litespeed_control_finalize', __CLASS__ . '::set_control' );
		}
	}

	/**
	 * Check if the device is mobile. If so, set mobile.
	 *
	 * @since 1.0.7
	 * @return void
	 */
	public static function set_control() {
		global $wptouch_pro;
		if ( ! empty( $wptouch_pro->is_mobile_device ) ) {
			add_filter( 'litespeed_is_mobile', '__return_true' );
		}
	}
}
PK�^�\��%�dada(litespeed-cache/lang/litespeed-cache.potnu�[���# Copyright (C) 2025 LiteSpeed Technologies
# This file is distributed under the GPLv3.
msgid ""
msgstr ""
"Project-Id-Version: LiteSpeed Cache 7.7\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2025-12-16T16:53:20+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.11.0\n"
"X-Domain: litespeed-cache\n"

#. Plugin Name of the plugin
#: litespeed-cache.php
#: tpl/banner/new_version.php:57
#: tpl/banner/new_version_dev.tpl.php:21
#: tpl/cache/more_settings_tip.tpl.php:28
#: tpl/esi_widget_edit.php:41
#: tpl/inc/admin_footer.php:17
msgid "LiteSpeed Cache"
msgstr ""

#. Plugin URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration"
msgstr ""

#. Description of the plugin
#: litespeed-cache.php
msgid "High-performance page caching and site optimization from LiteSpeed"
msgstr ""

#. Author of the plugin
#: litespeed-cache.php
msgid "LiteSpeed Technologies"
msgstr ""

#. Author URI of the plugin
#: litespeed-cache.php
msgid "https://www.litespeedtech.com"
msgstr ""

#: cli/crawler.cls.php:89
#: tpl/crawler/summary.tpl.php:39
msgid "%d hours"
msgstr ""

#: cli/crawler.cls.php:91
#: tpl/crawler/summary.tpl.php:39
msgid "%d hour"
msgstr ""

#: cli/crawler.cls.php:98
#: tpl/crawler/summary.tpl.php:47
msgid "%d minutes"
msgstr ""

#: cli/crawler.cls.php:100
#: tpl/crawler/summary.tpl.php:47
msgid "%d minute"
msgstr ""

#: cli/purge.cls.php:86
msgid "Purged All!"
msgstr ""

#: cli/purge.cls.php:133
msgid "Purged the blog!"
msgstr ""

#: cli/purge.cls.php:182
msgid "Purged the URL!"
msgstr ""

#: cli/purge.cls.php:234
msgid "Purged!"
msgstr ""

#: src/activation.cls.php:561
#: src/activation.cls.php:566
msgid "Failed to upgrade."
msgstr ""

#: src/activation.cls.php:570
msgid "Upgraded successfully."
msgstr ""

#: src/admin-display.cls.php:251
#: tpl/dash/entry.tpl.php:16
msgid "Dashboard"
msgstr ""

#: src/admin-display.cls.php:252
#: src/lang.cls.php:287
msgid "OptimaX"
msgstr ""

#: src/admin-display.cls.php:253
msgid "Presets"
msgstr ""

#: src/admin-display.cls.php:254
msgid "General"
msgstr ""

#: src/admin-display.cls.php:255
#: tpl/cache/entry.tpl.php:17
#: tpl/cache/entry.tpl.php:66
msgid "Cache"
msgstr ""

#: src/admin-display.cls.php:256
msgid "CDN"
msgstr ""

#: src/admin-display.cls.php:257
#: src/gui.cls.php:895
#: tpl/dash/dashboard.tpl.php:204
#: tpl/dash/network_dash.tpl.php:36
#: tpl/general/online.tpl.php:75
#: tpl/general/online.tpl.php:134
#: tpl/general/online.tpl.php:149
#: tpl/presets/standard.tpl.php:32
msgid "Image Optimization"
msgstr ""

#: src/admin-display.cls.php:258
#: tpl/dash/dashboard.tpl.php:205
#: tpl/dash/network_dash.tpl.php:37
#: tpl/general/online.tpl.php:83
#: tpl/general/online.tpl.php:133
#: tpl/general/online.tpl.php:148
msgid "Page Optimization"
msgstr ""

#: src/admin-display.cls.php:259
msgid "Database"
msgstr ""

#: src/admin-display.cls.php:260
#: src/lang.cls.php:267
msgid "Crawler"
msgstr ""

#: src/admin-display.cls.php:261
msgid "Toolbox"
msgstr ""

#: src/admin-display.cls.php:455
msgid "Cookie Name"
msgstr ""

#: src/admin-display.cls.php:456
#: tpl/crawler/settings.tpl.php:179
msgid "Cookie Values"
msgstr ""

#: src/admin-display.cls.php:458
msgid "Remove cookie simulation"
msgstr ""

#: src/admin-display.cls.php:459
msgid "Add new cookie to simulate"
msgstr ""

#: src/admin-display.cls.php:482
msgid "CDN URL to be used. For example, %s"
msgstr ""

#: src/admin-display.cls.php:484
msgid "Remove CDN URL"
msgstr ""

#: src/admin-display.cls.php:485
msgid "Add new CDN URL"
msgstr ""

#: src/admin-display.cls.php:486
#: src/admin-display.cls.php:1167
#: src/admin-display.cls.php:1197
#: src/admin-display.cls.php:1284
#: src/doc.cls.php:41
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.cache_mobile.tpl.php:91
#: tpl/cdn/other.tpl.php:45
#: tpl/crawler/settings.tpl.php:138
#: tpl/dash/dashboard.tpl.php:67
#: tpl/dash/dashboard.tpl.php:460
#: tpl/dash/dashboard.tpl.php:582
#: tpl/dash/dashboard.tpl.php:611
#: tpl/page_optm/settings_css.tpl.php:220
#: tpl/page_optm/settings_media.tpl.php:176
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "ON"
msgstr ""

#: src/admin-display.cls.php:487
#: src/admin-display.cls.php:1168
#: src/admin-display.cls.php:1197
#: src/admin-display.cls.php:1284
#: tpl/cache/settings-cache.tpl.php:28
#: tpl/cache/settings_inc.object.tpl.php:280
#: tpl/cdn/other.tpl.php:53
#: tpl/dash/dashboard.tpl.php:69
#: tpl/dash/dashboard.tpl.php:462
#: tpl/dash/dashboard.tpl.php:584
#: tpl/dash/dashboard.tpl.php:613
#: tpl/img_optm/settings.media_webp.tpl.php:22
#: tpl/page_optm/settings_css.tpl.php:93
#: tpl/page_optm/settings_js.tpl.php:77
#: tpl/page_optm/settings_media.tpl.php:180
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "OFF"
msgstr ""

#: src/admin-display.cls.php:548
#: src/gui.cls.php:884
#: tpl/crawler/entry.tpl.php:17
msgid "Settings"
msgstr ""

#: src/admin-display.cls.php:805
#: tpl/banner/new_version.php:114
#: tpl/banner/score.php:142
#: tpl/banner/slack.php:49
msgid "Dismiss"
msgstr ""

#: src/admin-display.cls.php:998
#: src/admin-display.cls.php:1003
msgid "Save Changes"
msgstr ""

#: src/admin-display.cls.php:1298
msgid "This value is overwritten by the %s variable."
msgstr ""

#: src/admin-display.cls.php:1302
#: src/admin-display.cls.php:1315
msgid "This value is overwritten by the filter."
msgstr ""

#: src/admin-display.cls.php:1305
msgid "This value is overwritten by the PHP constant %s."
msgstr ""

#: src/admin-display.cls.php:1309
msgid "This value is overwritten by the primary site setting."
msgstr ""

#: src/admin-display.cls.php:1311
msgid "This value is overwritten by the Network setting."
msgstr ""

#: src/admin-display.cls.php:1318
msgid "Currently set to %s"
msgstr ""

#: src/admin-display.cls.php:1331
msgid "Value from filter applied"
msgstr ""

#: src/admin-display.cls.php:1345
#: tpl/cache/settings_inc.object.tpl.php:162
#: tpl/crawler/settings.tpl.php:43
#: tpl/esi_widget_edit.php:78
msgid "seconds"
msgstr ""

#: src/admin-display.cls.php:1371
#: src/admin-display.cls.php:1390
#: tpl/cdn/other.tpl.php:108
msgid "Default value"
msgstr ""

#: src/admin-display.cls.php:1418
msgid "Invalid rewrite rule"
msgstr ""

#: src/admin-display.cls.php:1438
msgid "Path must end with %s"
msgstr ""

#: src/admin-display.cls.php:1458
msgid "Minimum value"
msgstr ""

#: src/admin-display.cls.php:1461
msgid "Maximum value"
msgstr ""

#: src/admin-display.cls.php:1473
msgid "Zero, or"
msgstr ""

#: src/admin-display.cls.php:1479
msgid "Larger than"
msgstr ""

#: src/admin-display.cls.php:1481
msgid "Smaller than"
msgstr ""

#: src/admin-display.cls.php:1484
msgid "Value range"
msgstr ""

#: src/admin-display.cls.php:1512
msgid "Invalid IP"
msgstr ""

#: src/admin-display.cls.php:1532
#: tpl/cache/settings-esi.tpl.php:103
#: tpl/page_optm/settings_css.tpl.php:87
#: tpl/page_optm/settings_css.tpl.php:223
#: tpl/page_optm/settings_html.tpl.php:131
#: tpl/page_optm/settings_media.tpl.php:258
#: tpl/page_optm/settings_media_exc.tpl.php:36
#: tpl/page_optm/settings_tuning.tpl.php:48
#: tpl/page_optm/settings_tuning.tpl.php:68
#: tpl/page_optm/settings_tuning.tpl.php:89
#: tpl/page_optm/settings_tuning.tpl.php:110
#: tpl/page_optm/settings_tuning.tpl.php:129
#: tpl/page_optm/settings_tuning_css.tpl.php:35
#: tpl/page_optm/settings_tuning_css.tpl.php:96
#: tpl/page_optm/settings_tuning_css.tpl.php:99
#: tpl/page_optm/settings_tuning_css.tpl.php:100
#: tpl/toolbox/edit_htaccess.tpl.php:61
#: tpl/toolbox/edit_htaccess.tpl.php:79
msgid "API"
msgstr ""

#. translators: %s: list of server variables in <code> tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr ""

#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr ""

#. translators: 1: example URL, 2: pattern example
#: src/admin-display.cls.php:1553
msgid "For example, for %1$s, %2$s can be used here."
msgstr ""

#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr ""

#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr ""

#: src/admin-display.cls.php:1559
#: src/doc.cls.php:128
msgid "One per line."
msgstr ""

#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr ""

#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr ""

#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr ""

#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr ""

#: src/admin-settings.cls.php:40
#: src/admin-settings.cls.php:313
msgid "No fields"
msgstr ""

#: src/admin-settings.cls.php:104
msgid "The user with id %s has editor access, which is not allowed for the role simulator."
msgstr ""

#: src/admin-settings.cls.php:297
#: src/admin-settings.cls.php:333
msgid "Options saved."
msgstr ""

#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr ""

#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr ""

#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr ""

#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr ""

#: src/cdn/cloudflare.cls.php:275
#: src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr ""

#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr ""

#: src/cloud.cls.php:246
#: src/cloud.cls.php:331
msgid "QUIC.cloud's access to your WP REST API seems to be blocked."
msgstr ""

#: src/cloud.cls.php:256
#: src/cloud.cls.php:341
msgid "Failed to get echo data from WPAPI"
msgstr ""

#: src/cloud.cls.php:319
#: src/cloud.cls.php:376
msgid "You need to set the %1$s first. Please use the command %2$s to set."
msgstr ""

#: src/cloud.cls.php:320
#: src/cloud.cls.php:377
#: src/lang.cls.php:106
msgid "Server IP"
msgstr ""

#: src/cloud.cls.php:368
#: src/cloud.cls.php:414
#: src/cloud.cls.php:441
#: src/cloud.cls.php:460
#: src/cloud.cls.php:481
#: src/cloud.cls.php:499
msgid "You need to activate QC first."
msgstr ""

#: src/cloud.cls.php:386
msgid "Cert or key file does not exist."
msgstr ""

#: src/cloud.cls.php:676
msgid "Failed to validate %s activation data."
msgstr ""

#: src/cloud.cls.php:683
msgid "Failed to parse %s activation status."
msgstr ""

#: src/cloud.cls.php:690
msgid "%s activation data expired."
msgstr ""

#: src/cloud.cls.php:718
msgid "Congratulations, %s successfully set this domain up for the anonymous online services."
msgstr ""

#: src/cloud.cls.php:720
msgid "Congratulations, %s successfully set this domain up for the online services."
msgstr ""

#: src/cloud.cls.php:725
#: src/cloud.cls.php:775
#: src/cloud.cls.php:818
msgid "Congratulations, %s successfully set this domain up for the online services with CDN service."
msgstr ""

#: src/cloud.cls.php:846
msgid "Reset %s activation successfully."
msgstr ""

#: src/cloud.cls.php:1131
#: src/cloud.cls.php:1144
#: src/cloud.cls.php:1182
#: src/cloud.cls.php:1250
#: src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr ""

#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr ""

#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr ""

#: src/cloud.cls.php:1362
msgid "In order to use QC services, need a real domain name, cannot use an IP."
msgstr ""

#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr ""

#: src/cloud.cls.php:1633
#: src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr ""

#: src/cloud.cls.php:1688
msgid "Cloud server refused the current request due to unpulled images. Please pull the images first."
msgstr ""

#: src/cloud.cls.php:1693
msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."
msgstr ""

#: src/cloud.cls.php:1700
msgid "Cloud server refused the current request due to rate limiting. Please try again later."
msgstr ""

#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr ""

#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr ""

#: src/cloud.cls.php:1767
#: src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr ""

#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr ""

#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr ""

#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr ""

#: src/cloud.cls.php:1918
msgid "Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account."
msgstr ""

#: src/cloud.cls.php:1919
msgid "Click here to proceed."
msgstr ""

#: src/cloud.cls.php:2220
msgid "Linked to QUIC.cloud preview environment, for testing purpose only."
msgstr ""

#: src/cloud.cls.php:2276
msgid "Sync QUIC.cloud status successfully."
msgstr ""

#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr ""

#: src/conf.cls.php:551
msgid "Saving option failed. IPv4 only for %s."
msgstr ""

#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr ""

#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr ""

#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr ""

#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr ""

#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr ""

#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr ""

#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr ""

#: src/crawler.cls.php:324
msgid "Started async crawling"
msgstr ""

#: src/crawler.cls.php:1310
msgid "Guest"
msgstr ""

#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr ""

#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr ""

#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr ""

#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr ""

#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr ""

#: src/db-optm.cls.php:257
msgid "Clean orphaned post meta successfully."
msgstr ""

#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr ""

#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr ""

#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr ""

#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr ""

#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr ""

#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr ""

#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr ""

#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr ""

#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr ""

#: src/doc.cls.php:40
msgid "This setting is %1$s for certain qualifying requests due to %2$s!"
msgstr ""

#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr ""

#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr ""

#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr ""

#: src/doc.cls.php:101
#: tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846
#: tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93
#: tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114
#: tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46
#: tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr ""

#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr ""

#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr ""

#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr ""

#: src/doc.cls.php:177
msgid "The queue is processed asynchronously. It may take time."
msgstr ""

#: src/error.cls.php:68
msgid "You will need to finish %s setup to use the online services."
msgstr ""

#: src/error.cls.php:73
#: tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144
#: tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr ""

#: src/error.cls.php:81
msgid "You have used all of your daily quota for today."
msgstr ""

#: src/error.cls.php:86
#: src/error.cls.php:99
msgid "Learn more or purchase additional quota."
msgstr ""

#: src/error.cls.php:94
msgid "You have used all of your quota left for current service this month."
msgstr ""

#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr ""

#: src/error.cls.php:111
msgid "You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now."
msgstr ""

#: src/error.cls.php:115
msgid "The image list is empty."
msgstr ""

#: src/error.cls.php:119
msgid "Not enough parameters. Please check if the QUIC.cloud connection is set correctly"
msgstr ""

#: src/error.cls.php:123
msgid "There is proceeding queue not pulled yet."
msgstr ""

#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr ""

#: src/error.cls.php:134
msgid "The site is not a valid alias on QUIC.cloud."
msgstr ""

#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr ""

#: src/error.cls.php:142
msgid "The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again."
msgstr ""

#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr ""

#: src/error.cls.php:150
msgid "Online node needs to be redetected."
msgstr ""

#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr ""

#: src/error.cls.php:158
#: src/error.cls.php:182
msgid "%s file not writable."
msgstr ""

#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr ""

#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr ""

#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr ""

#: src/error.cls.php:178
msgid "%s file not readable."
msgstr ""

#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr ""

#: src/error.cls.php:190
msgid "Failed to create table %1$s! SQL: %2$s."
msgstr ""

#: src/error.cls.php:194
msgid "Crawler disabled by the server admin."
msgstr ""

#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr ""

#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr ""

#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr ""

#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr ""

#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr ""

#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr ""

#: src/error.cls.php:227
msgid "Your domain has been forbidden from using our services due to a previous policy violation."
msgstr ""

#: src/error.cls.php:231
msgid "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."
msgstr ""

#: src/error.cls.php:238
msgid "Unknown error"
msgstr ""

#: src/file.cls.php:133
msgid "Filename is empty!"
msgstr ""

#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr ""

#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr ""

#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr ""

#: src/file.cls.php:168
#: src/file.cls.php:172
msgid "File %s is not writable."
msgstr ""

#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr ""

#: src/guest.cls.php:65
msgid "Guest Mode lists synced successfully."
msgstr ""

#: src/guest.cls.php:66
msgid "Failed to sync Guest Mode lists."
msgstr ""

#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr ""

#: src/gui.cls.php:133
#: tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr ""

#: src/gui.cls.php:584
#: src/gui.cls.php:601
msgid "Purge this page"
msgstr ""

#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr ""

#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr ""

#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr ""

#: src/gui.cls.php:654
msgid "Private cache"
msgstr ""

#: src/gui.cls.php:667
msgid "No optimization"
msgstr ""

#: src/gui.cls.php:677
msgid "More settings"
msgstr ""

#: src/gui.cls.php:686
#: src/gui.cls.php:696
#: src/gui.cls.php:706
#: src/gui.cls.php:717
#: src/gui.cls.php:729
#: src/gui.cls.php:741
#: src/gui.cls.php:753
#: src/gui.cls.php:765
#: src/gui.cls.php:776
#: src/gui.cls.php:788
#: src/gui.cls.php:800
#: src/gui.cls.php:812
#: src/gui.cls.php:906
#: src/gui.cls.php:916
#: src/gui.cls.php:926
#: src/gui.cls.php:937
#: src/gui.cls.php:949
#: src/gui.cls.php:961
#: src/gui.cls.php:973
#: src/gui.cls.php:985
#: src/gui.cls.php:996
#: src/gui.cls.php:1008
#: src/gui.cls.php:1020
#: src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141
#: tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47
#: tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64
#: tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82
#: tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100
#: tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118
#: tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr ""

#: src/gui.cls.php:696
#: src/gui.cls.php:861
#: src/gui.cls.php:916
msgid "LSCache"
msgstr ""

#: src/gui.cls.php:706
#: src/gui.cls.php:926
#: tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr ""

#: src/gui.cls.php:717
#: src/gui.cls.php:937
#: tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr ""

#: src/gui.cls.php:729
#: src/gui.cls.php:949
#: src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60
#: tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr ""

#: src/gui.cls.php:741
#: src/gui.cls.php:961
#: tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr ""

#: src/gui.cls.php:776
#: src/gui.cls.php:996
#: tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr ""

#: src/gui.cls.php:788
#: src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141
#: tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr ""

#: src/gui.cls.php:812
#: src/gui.cls.php:1032
#: src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49
#: tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr ""

#: src/gui.cls.php:850
msgid "Enable All Features"
msgstr ""

#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr ""

#: src/gui.cls.php:874
#: tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr ""

#: src/gui.cls.php:1055
#: tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr ""

#: src/gui.cls.php:1056
#: tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr ""

#: src/gui.cls.php:1079
msgid "Install %s"
msgstr ""

#: src/gui.cls.php:1080
msgid "Install Now"
msgstr ""

#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5: class/aria
#: src/gui.cls.php:1103
msgid "<a href=\"%1$s\" %2$s>View version %3$s details</a> or <a href=\"%4$s\" %5$s target=\"_blank\">update now</a>."
msgstr ""

#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr ""

#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr ""

#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr ""

#: src/htaccess.cls.php:784
msgid "<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s"
msgstr ""

#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr ""

#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr ""

#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr ""

#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr ""

#: src/img-optm.cls.php:890
msgid "Started async image optimization request"
msgstr ""

#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr ""

#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr ""

#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr ""

#: src/img-optm.cls.php:1131
msgid "Pulled AVIF image md5 does not match the notified AVIF image md5."
msgstr ""

#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr ""

#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr ""

#: src/img-optm.cls.php:1378
msgid "Reset image optimization counter successfully."
msgstr ""

#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr ""

#: src/img-optm.cls.php:1527
#: src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr ""

#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr ""

#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr ""

#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr ""

#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr ""

#: src/img-optm.cls.php:1993
#: src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr ""

#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr ""

#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr ""

#: src/img-optm.cls.php:2026
msgid "Disabled AVIF file successfully."
msgstr ""

#: src/img-optm.cls.php:2031
msgid "Enabled AVIF file successfully."
msgstr ""

#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr ""

#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr ""

#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr ""

#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr ""

#: src/import.cls.php:156
msgid "Reset successfully."
msgstr ""

#: src/lang.cls.php:30
msgid "Images not requested"
msgstr ""

#: src/lang.cls.php:31
msgid "Images ready to request"
msgstr ""

#: src/lang.cls.php:32
#: tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr ""

#: src/lang.cls.php:33
#: tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr ""

#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr ""

#: src/lang.cls.php:58
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."
msgstr ""

#: src/lang.cls.php:66
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."
msgstr ""

#: src/lang.cls.php:71
msgid "Alias is in use by another QUIC.cloud account."
msgstr ""

#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr ""

#: src/lang.cls.php:109
#: tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605
#: tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr ""

#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr ""

#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr ""

#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr ""

#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr ""

#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr ""

#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr ""

#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr ""

#: src/lang.cls.php:117
msgid "AJAX Cache TTL"
msgstr ""

#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr ""

#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr ""

#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr ""

#: src/lang.cls.php:121
msgid "Notifications"
msgstr ""

#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr ""

#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr ""

#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr ""

#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr ""

#: src/lang.cls.php:126
#: tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr ""

#: src/lang.cls.php:127
#: tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr ""

#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr ""

#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr ""

#: src/lang.cls.php:132
msgid "Method"
msgstr ""

#: src/lang.cls.php:133
msgid "Host"
msgstr ""

#: src/lang.cls.php:134
msgid "Port"
msgstr ""

#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr ""

#: src/lang.cls.php:136
msgid "Username"
msgstr ""

#: src/lang.cls.php:137
msgid "Password"
msgstr ""

#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr ""

#: src/lang.cls.php:139
msgid "Global Groups"
msgstr ""

#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr ""

#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr ""

#: src/lang.cls.php:142
msgid "Cache WP-Admin"
msgstr ""

#: src/lang.cls.php:143
msgid "Store Transients"
msgstr ""

#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr ""

#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr ""

#: src/lang.cls.php:147
#: tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr ""

#: src/lang.cls.php:148
#: tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr ""

#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr ""

#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr ""

#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr ""

#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr ""

#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr ""

#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr ""

#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr ""

#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr ""

#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr ""

#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr ""

#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr ""

#: src/lang.cls.php:160
msgid "UCSS Inline"
msgstr ""

#: src/lang.cls.php:161
msgid "UCSS Selector Allowlist"
msgstr ""

#: src/lang.cls.php:162
msgid "UCSS Inline Excluded Files"
msgstr ""

#: src/lang.cls.php:163
msgid "UCSS URI Excludes"
msgstr ""

#: src/lang.cls.php:164
msgid "JS Minify"
msgstr ""

#: src/lang.cls.php:165
msgid "JS Combine"
msgstr ""

#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr ""

#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr ""

#: src/lang.cls.php:168
msgid "HTML Lazy Load Selectors"
msgstr ""

#: src/lang.cls.php:169
msgid "HTML Keep Comments"
msgstr ""

#: src/lang.cls.php:170
#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr ""

#: src/lang.cls.php:171
msgid "CCSS Per URL"
msgstr ""

#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr ""

#: src/lang.cls.php:173
#: tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr ""

#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr ""

#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr ""

#: src/lang.cls.php:176
msgid "Localization Files"
msgstr ""

#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr ""

#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr ""

#: src/lang.cls.php:179
msgid "DNS Preconnect"
msgstr ""

#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr ""

#: src/lang.cls.php:181
msgid "JS Delayed Includes"
msgstr ""

#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr ""

#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr ""

#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr ""

#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr ""

#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr ""

#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr ""

#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr ""

#: src/lang.cls.php:189
msgid "CCSS Selector Allowlist"
msgstr ""

#: src/lang.cls.php:190
msgid "JS Deferred / Delayed Excludes"
msgstr ""

#: src/lang.cls.php:191
msgid "Guest Mode JS Excludes"
msgstr ""

#: src/lang.cls.php:192
#: tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr ""

#: src/lang.cls.php:193
#: tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr ""

#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr ""

#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr ""

#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr ""

#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr ""

#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr ""

#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr ""

#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr ""

#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr ""

#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr ""

#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr ""

#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr ""

#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr ""

#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr ""

#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr ""

#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr ""

#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr ""

#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr ""

#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr ""

#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr ""

#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr ""

#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr ""

#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr ""

#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr ""

#: src/lang.cls.php:220
#: src/metabox.cls.php:42
#: src/metabox.cls.php:43
#: tpl/page_optm/settings_vpi.tpl.php:23
msgid "Viewport Images"
msgstr ""

#: src/lang.cls.php:221
msgid "Viewport Images Cron"
msgstr ""

#: src/lang.cls.php:222
msgid "Auto Rescale Original Images"
msgstr ""

#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr ""

#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr ""

#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr ""

#: src/lang.cls.php:227
msgid "Next-Gen Image Format"
msgstr ""

#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr ""

#: src/lang.cls.php:229
msgid "Optimize Image Sizes"
msgstr ""

#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr ""

#: src/lang.cls.php:231
msgid "WebP/AVIF Attribute To Replace"
msgstr ""

#: src/lang.cls.php:232
msgid "WebP/AVIF For Extra srcset"
msgstr ""

#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr ""

#: src/lang.cls.php:234
#: tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr ""

#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr ""

#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr ""

#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr ""

#: src/lang.cls.php:238
#: tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277
#: tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr ""

#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr ""

#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr ""

#: src/lang.cls.php:241
msgid "Instant Click"
msgstr ""

#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr ""

#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr ""

#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr ""

#: src/lang.cls.php:245
msgid "Vary Cookies"
msgstr ""

#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr ""

#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr ""

#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr ""

#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr ""

#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr ""

#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr ""

#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr ""

#: src/lang.cls.php:255
msgid "CDN URL"
msgstr ""

#: src/lang.cls.php:256
msgid "Include Images"
msgstr ""

#: src/lang.cls.php:257
msgid "Include CSS"
msgstr ""

#: src/lang.cls.php:258
msgid "Include JS"
msgstr ""

#: src/lang.cls.php:259
#: tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr ""

#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr ""

#: src/lang.cls.php:261
msgid "Original URLs"
msgstr ""

#: src/lang.cls.php:262
msgid "Included Directories"
msgstr ""

#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr ""

#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr ""

#: src/lang.cls.php:265
msgid "Clear Cloudflare cache"
msgstr ""

#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr ""

#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr ""

#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr ""

#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr ""

#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr ""

#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr ""

#: src/lang.cls.php:275
#: tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr ""

#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr ""

#: src/lang.cls.php:277
msgid "Debug Level"
msgstr ""

#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr ""

#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr ""

#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr ""

#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr ""

#: src/lang.cls.php:282
msgid "Debug String Excludes"
msgstr ""

#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr ""

#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr ""

#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr ""

#: src/media.cls.php:416
#: src/media.cls.php:454
#: src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr ""

#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr ""

#: src/media.cls.php:417
#: src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr ""

#: src/media.cls.php:420
#: src/media.cls.php:490
msgid "(non-optm)"
msgstr ""

#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr ""

#: src/media.cls.php:421
#: src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr ""

#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr ""

#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr ""

#: src/media.cls.php:453
#: src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr ""

#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr ""

#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr ""

#: src/media.cls.php:460
msgid "Orig %s"
msgstr ""

#: src/media.cls.php:461
msgid "(no savings)"
msgstr ""

#: src/media.cls.php:464
msgid "Orig"
msgstr ""

#: src/media.cls.php:485
msgid "Currently using optimized version of AVIF file."
msgstr ""

#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr ""

#: src/media.cls.php:492
msgid "Currently using original (unoptimized) version of AVIF file."
msgstr ""

#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr ""

#: src/media.cls.php:502
msgid "AVIF file reduced by %1$s (%2$s)"
msgstr ""

#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr ""

#: src/media.cls.php:510
msgid "AVIF saved %s"
msgstr ""

#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr ""

#: src/media.cls.php:526
msgid "No backup of unoptimized AVIF file exists."
msgstr ""

#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr ""

#: src/media.cls.php:541
msgid "Restore from backup"
msgstr ""

#: src/metabox.cls.php:39
msgid "Disable Cache"
msgstr ""

#: src/metabox.cls.php:40
msgid "Disable Image Lazyload"
msgstr ""

#: src/metabox.cls.php:41
msgid "Disable VPI"
msgstr ""

#: src/metabox.cls.php:43
msgid "Mobile"
msgstr ""

#: src/object-cache.cls.php:714
msgid "Redis encountered a fatal error: %1$s (code: %2$d)"
msgstr ""

#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr ""

#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr ""

#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr ""

#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr ""

#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr ""

#: src/purge.cls.php:312
msgid "Cleaned all Unique CSS files."
msgstr ""

#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr ""

#: src/purge.cls.php:393
msgid "Cleaned all VPI data."
msgstr ""

#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr ""

#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr ""

#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr ""

#: src/purge.cls.php:491
msgid "OPcache is not enabled."
msgstr ""

#: src/purge.cls.php:504
msgid "OPcache is restricted by %s setting."
msgstr ""

#: src/purge.cls.php:517
msgid "Reset the OPcache failed."
msgstr ""

#: src/purge.cls.php:531
msgid "Reset the entire OPcache successfully."
msgstr ""

#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr ""

#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr ""

#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr ""

#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr ""

#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr ""

#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr ""

#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr ""

#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr ""

#: src/root.cls.php:198
msgid "All QUIC.cloud service queues have been cleared."
msgstr ""

#: src/task.cls.php:268
msgid "Every 15 Minutes"
msgstr ""

#: src/task.cls.php:289
msgid "LiteSpeed Crawler Cron"
msgstr ""

#: src/tool.cls.php:43
#: src/tool.cls.php:54
msgid "Failed to detect IP"
msgstr ""

#: src/utility.cls.php:214
msgid "right now"
msgstr ""

#: src/utility.cls.php:214
msgid "just now"
msgstr ""

#: src/utility.cls.php:217
msgid " %s ago"
msgstr ""

#: thirdparty/litespeed-check.cls.php:100
#: thirdparty/litespeed-check.cls.php:165
msgid "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23
#: tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24
#: tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr ""

#. translators: %s: link attributes
#: thirdparty/woocommerce.content.tpl.php:30
msgid "To test the cart, visit the %sFAQ%s."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:36
msgid "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:80
msgid "Vary for Mini Cart"
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:88
msgid "Generate a separate vary cache copy for the mini cart when the cart is not empty."
msgstr ""

#: thirdparty/woocommerce.content.tpl.php:89
msgid "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."
msgstr ""

#: tpl/banner/cloud_news.tpl.php:30
#: tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr ""

#: tpl/banner/cloud_news.tpl.php:51
#: tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr ""

#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr ""

#: tpl/banner/cloud_promo.tpl.php:26
msgid "Spread the love and earn %s credits to use in our QUIC.cloud online services."
msgstr ""

#: tpl/banner/cloud_promo.tpl.php:35
msgid "Send to twitter to get %s bonus"
msgstr ""

#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr ""

#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr ""

#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr ""

#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr ""

#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr ""

#: tpl/banner/new_version.php:77
#: tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr ""

#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr ""

#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr ""

#: tpl/banner/new_version.php:113
#: tpl/banner/score.php:141
#: tpl/banner/slack.php:48
msgid "Dismiss this notice."
msgstr ""

#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr ""

#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr ""

#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr ""

#: tpl/banner/score.php:40
#: tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr ""

#: tpl/banner/score.php:45
#: tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395
#: tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr ""

#: tpl/banner/score.php:53
#: tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403
#: tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr ""

#: tpl/banner/score.php:62
#: tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411
#: tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr ""

#: tpl/banner/score.php:74
#: tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr ""

#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr ""

#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr ""

#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr ""

#: tpl/banner/score.php:121
msgid "Created with ❤️ by LiteSpeed team."
msgstr ""

#: tpl/banner/score.php:122
msgid "Support forum"
msgstr ""

#: tpl/banner/score.php:122
msgid "Submit a ticket"
msgstr ""

#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr ""

#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr ""

#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr ""

#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr ""

#: tpl/cache/entry.tpl.php:18
#: tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16
#: tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr ""

#: tpl/cache/entry.tpl.php:19
#: tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr ""

#: tpl/cache/entry.tpl.php:20
#: tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr ""

#: tpl/cache/entry.tpl.php:21
#: tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr ""

#: tpl/cache/entry.tpl.php:22
#: tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr ""

#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr ""

#: tpl/cache/entry.tpl.php:67
#: tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr ""

#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr ""

#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr ""

#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104
#: tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76
#: tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr ""

#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr ""

#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr ""

#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr ""

#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr ""

#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr ""

#: tpl/cache/network_settings-cache.tpl.php:29
msgid "It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first."
msgstr ""

#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr ""

#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr ""

#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr ""

#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr ""

#: tpl/cache/settings-advanced.tpl.php:39
msgid "Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space."
msgstr ""

#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr ""

#: tpl/cache/settings-advanced.tpl.php:71
msgid "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."
msgstr ""

#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr ""

#. translators: %s: Link tags
#: tpl/cache/settings-cache.tpl.php:36
msgid "Please visit the %sInformation%s page on how to test the cache."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:42
#: tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133
#: tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42
#: tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr ""

#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr ""

#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr ""

#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:136
#: tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:139
#: tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr ""

#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr ""

#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr ""

#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr ""

#: tpl/cache/settings-esi.tpl.php:45
#: tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60
#: tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77
#: tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr ""

#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:72
msgid "Cache the built-in Admin Bar ESI block."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr ""

#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr ""

#: tpl/cache/settings-esi.tpl.php:113
#: tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr ""

#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:46
msgid "For example, for %1$s, %2$s and %3$s can be used here."
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr ""

#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr ""

#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:53
#: tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr ""

#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr ""

#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr ""

#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr ""

#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr ""

#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr ""

#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr ""

#: tpl/cache/settings-ttl.tpl.php:75
#: tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr ""

#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr ""

#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr ""

#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr ""

#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr ""

#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr ""

#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr ""

#. translators: %s: Link tags
#: tpl/cache/settings_inc.browser.tpl.php:46
msgid "You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s."
msgstr ""

#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr ""

#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr ""

#. translators: %1$s: Example query string, %2$s: Example wildcard
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:34
msgid "For example, to drop parameters beginning with %1$s, %2$s can be used here."
msgstr ""

#: tpl/cache/settings_inc.cache_mobile.tpl.php:24
msgid "Serve a separate cache copy for mobile visitors."
msgstr ""

#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr ""

#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr ""

#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr ""

#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr ""

#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr ""

#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:26
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS."
msgstr ""

#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr ""

#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr ""

#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:102
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive."
msgstr ""

#: tpl/cache/settings_inc.login_cookie.tpl.php:104
msgid "You can list the 3rd party vary cookies here."
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:47
msgid "Use external object cache functionality."
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:52
#: tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr ""

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr ""

#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr ""

#. translators: %1$s: Socket name, %2$s: Host field title, %3$s: Example socket path
#. translators: %1$s: Socket name, %2$s: Port field title, %3$s: Port value
#: tpl/cache/settings_inc.object.tpl.php:107
#: tpl/cache/settings_inc.object.tpl.php:146
msgid "If you are using a %1$s socket, %2$s should be set to %3$s"
msgstr ""

#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr ""

#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr ""

#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr ""

#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr ""

#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr ""

#: tpl/cdn/cf.tpl.php:17
msgid "Cloudflare Settings"
msgstr ""

#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr ""

#: tpl/cdn/cf.tpl.php:35
msgid "Global API Key / API Token"
msgstr ""

#: tpl/cdn/cf.tpl.php:38
msgid "Your API key / token is used to access %s APIs."
msgstr ""

#: tpl/cdn/cf.tpl.php:39
msgid "Get it from %s."
msgstr ""

#: tpl/cdn/cf.tpl.php:40
msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."
msgstr ""

#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr ""

#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr ""

#: tpl/cdn/cf.tpl.php:48
msgid "Optional when API token used."
msgstr ""

#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr ""

#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr ""

#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr ""

#: tpl/cdn/cf.tpl.php:74
msgid "Clear %s cache when \"Purge All\" is run."
msgstr ""

#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr ""

#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr ""

#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr ""

#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr ""

#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr ""

#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr ""

#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr ""

#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr ""

#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr ""

#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr ""

#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr ""

#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr ""

#: tpl/cdn/cf.tpl.php:152
msgid "%1$sLearn More%2$s"
msgstr ""

#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr ""

#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr ""

#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr ""

#: tpl/cdn/entry.tpl.php:16
msgid "Other Static CDN"
msgstr ""

#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr ""

#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr ""

#: tpl/cdn/other.tpl.php:44
msgid "Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN."
msgstr ""

#: tpl/cdn/other.tpl.php:52
msgid "NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s."
msgstr ""

#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr ""

#: tpl/cdn/other.tpl.php:87
msgid "Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes."
msgstr ""

#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr ""

#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr ""

#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr ""

#: tpl/cdn/other.tpl.php:104
msgid "This will affect all tags containing attributes: %s."
msgstr ""

#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr ""

#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr ""

#: tpl/cdn/other.tpl.php:137
#: tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr ""

#: tpl/cdn/other.tpl.php:141
#: tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr ""

#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr ""

#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr ""

#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr ""

#: tpl/cdn/qc.tpl.php:24
#: tpl/dash/dashboard.tpl.php:886
msgid "Refresh Status"
msgstr ""

#: tpl/cdn/qc.tpl.php:27
msgid "QUIC.cloud CDN Status Overview"
msgstr ""

#: tpl/cdn/qc.tpl.php:29
msgid "Check the status of your most important settings and the health of your CDN setup here."
msgstr ""

#: tpl/cdn/qc.tpl.php:34
#: tpl/dash/dashboard.tpl.php:146
msgid "Accelerate, Optimize, Protect"
msgstr ""

#: tpl/cdn/qc.tpl.php:36
#: tpl/dash/dashboard.tpl.php:150
msgid "Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>."
msgstr ""

#: tpl/cdn/qc.tpl.php:38
#: tpl/general/online.tpl.php:61
#: tpl/general/online.tpl.php:145
msgid "Free monthly quota available."
msgstr ""

#: tpl/cdn/qc.tpl.php:41
#: tpl/dash/dashboard.tpl.php:158
#: tpl/general/online.tpl.php:64
#: tpl/general/online.tpl.php:119
msgid "Enable QUIC.cloud services"
msgstr ""

#: tpl/cdn/qc.tpl.php:45
#: tpl/dash/dashboard.tpl.php:167
#: tpl/general/online.tpl.php:26
msgid "QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud."
msgstr ""

#: tpl/cdn/qc.tpl.php:46
#: tpl/dash/dashboard.tpl.php:169
msgid "Learn More about QUIC.cloud"
msgstr ""

#: tpl/cdn/qc.tpl.php:53
msgid "QUIC.cloud CDN is currently <strong>fully disabled</strong>."
msgstr ""

#: tpl/cdn/qc.tpl.php:55
msgid "QUIC.cloud CDN is <strong>not available</strong> for anonymous (unlinked) users."
msgstr ""

#: tpl/cdn/qc.tpl.php:59
msgid "Link & Enable QUIC.cloud CDN"
msgstr ""

#: tpl/cdn/qc.tpl.php:61
#: tpl/dash/dashboard.tpl.php:857
msgid "Enable QUIC.cloud CDN"
msgstr ""

#: tpl/cdn/qc.tpl.php:71
msgid "Content Delivery Network Service"
msgstr ""

#: tpl/cdn/qc.tpl.php:73
msgid "Serve your visitors fast"
msgstr ""

#: tpl/cdn/qc.tpl.php:73
msgid "no matter where they live."
msgstr ""

#. translators: %s: Link tags
#: tpl/cdn/qc.tpl.php:79
msgid "Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!"
msgstr ""

#: tpl/cdn/qc.tpl.php:96
msgid "QUIC.cloud CDN Options"
msgstr ""

#: tpl/cdn/qc.tpl.php:117
msgid "To manage your QUIC.cloud options, go to your hosting provider's portal."
msgstr ""

#: tpl/cdn/qc.tpl.php:119
msgid "To manage your QUIC.cloud options, please contact your hosting provider."
msgstr ""

#: tpl/cdn/qc.tpl.php:123
#: tpl/cdn/qc.tpl.php:143
msgid "To manage your QUIC.cloud options, go to QUIC.cloud Dashboard."
msgstr ""

#: tpl/cdn/qc.tpl.php:126
#: tpl/cdn/qc.tpl.php:133
#: tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr ""

#: tpl/cdn/qc.tpl.php:130
msgid "You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard."
msgstr ""

#: tpl/cdn/qc.tpl.php:139
#: tpl/cdn/qc.tpl.php:146
msgid "My QUIC.cloud Dashboard"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:28
#: tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:32
#: tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:41
#: tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:43
#: tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:69
msgid "API: PHP Constant %s available to disable blocklist."
msgstr ""

#: tpl/crawler/blacklist.tpl.php:79
msgid "API: Filter %s available to disable blocklist."
msgstr ""

#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:88
#: tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr ""

#: tpl/crawler/blacklist.tpl.php:89
#: tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104
#: tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr ""

#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr ""

#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr ""

#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr ""

#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr ""

#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr ""

#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr ""

#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr ""

#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr ""

#: tpl/crawler/map.tpl.php:58
msgid "URL Search"
msgstr ""

#: tpl/crawler/map.tpl.php:62
#: tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr ""

#: tpl/crawler/map.tpl.php:63
#: tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr ""

#: tpl/crawler/map.tpl.php:77
#: tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr ""

#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr ""

#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr ""

#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr ""

#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr ""

#: tpl/crawler/settings.tpl.php:59
msgid "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."
msgstr ""

#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr ""

#: tpl/crawler/settings.tpl.php:79
msgid "Server enforced value: %s"
msgstr ""

#: tpl/crawler/settings.tpl.php:89
msgid "Server allowed max value: %s"
msgstr ""

#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr ""

#: tpl/crawler/settings.tpl.php:116
#: tpl/crawler/summary.tpl.php:211
msgid "You must set %s before using this feature."
msgstr ""

#: tpl/crawler/settings.tpl.php:136
msgid "You must set %1$s to %2$s before using this feature."
msgstr ""

#: tpl/crawler/settings.tpl.php:172
msgid "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."
msgstr ""

#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr ""

#: tpl/crawler/summary.tpl.php:28
msgid "You need to set the %s in Settings first before using the crawler"
msgstr ""

#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr ""

#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr ""

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:66
msgid "See %sIntroduction for Enabling the Crawler%s for detailed information."
msgstr ""

#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr ""

#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr ""

#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr ""

#: tpl/crawler/summary.tpl.php:91
#: tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr ""

#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr ""

#: tpl/crawler/summary.tpl.php:104
#: tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr ""

#: tpl/crawler/summary.tpl.php:110
msgid "Current server load"
msgstr ""

#: tpl/crawler/summary.tpl.php:116
#: tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr ""

#: tpl/crawler/summary.tpl.php:123
#: tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr ""

#: tpl/crawler/summary.tpl.php:130
msgid "Last crawled"
msgstr ""

#: tpl/crawler/summary.tpl.php:133
msgid "%d item(s)"
msgstr ""

#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr ""

#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr ""

#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr ""

#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr ""

#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr ""

#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr ""

#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr ""

#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr ""

#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr ""

#: tpl/crawler/summary.tpl.php:230
msgid "Position: "
msgstr ""

#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr ""

#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr ""

#: tpl/crawler/summary.tpl.php:245
msgid "Already Cached"
msgstr ""

#: tpl/crawler/summary.tpl.php:246
msgid "Successfully Crawled"
msgstr ""

#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr ""

#: tpl/crawler/summary.tpl.php:254
msgid "Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence."
msgstr ""

#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:261
msgid "Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task."
msgstr ""

#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr ""

#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr ""

#: tpl/crawler/summary.tpl.php:288
msgid "Start watching..."
msgstr ""

#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr ""

#: tpl/dash/dashboard.tpl.php:53
#: tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr ""

#: tpl/dash/dashboard.tpl.php:54
#: tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521
#: tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625
#: tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713
#: tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801
#: tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr ""

#: tpl/dash/dashboard.tpl.php:58
#: tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr ""

#: tpl/dash/dashboard.tpl.php:59
#: tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr ""

#: tpl/dash/dashboard.tpl.php:84
#: tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr ""

#: tpl/dash/dashboard.tpl.php:87
#: tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr ""

#: tpl/dash/dashboard.tpl.php:111
#: tpl/dash/dashboard.tpl.php:831
msgid "%1$s %2$d item(s)"
msgstr ""

#: tpl/dash/dashboard.tpl.php:112
#: tpl/dash/dashboard.tpl.php:832
msgid "Last crawled:"
msgstr ""

#: tpl/dash/dashboard.tpl.php:128
#: tpl/dash/dashboard.tpl.php:908
msgid "News"
msgstr ""

#: tpl/dash/dashboard.tpl.php:153
msgid "Free monthly quota available. Can also be used anonymously (no email required)."
msgstr ""

#: tpl/dash/dashboard.tpl.php:163
msgid "Do not show this again"
msgstr ""

#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr ""

#: tpl/dash/dashboard.tpl.php:182
msgid "Refresh Usage"
msgstr ""

#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr ""

#: tpl/dash/dashboard.tpl.php:194
msgid "The features below are provided by %s"
msgstr ""

#: tpl/dash/dashboard.tpl.php:206
#: tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr ""

#: tpl/dash/dashboard.tpl.php:207
#: tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr ""

#: tpl/dash/dashboard.tpl.php:259
#: tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr ""

#: tpl/dash/dashboard.tpl.php:259
#: tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr ""

#: tpl/dash/dashboard.tpl.php:271
#: tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr ""

#: tpl/dash/dashboard.tpl.php:272
msgid "PAYG used this month: %s. PAYG balance and usage not included in above quota calculation."
msgstr ""

#: tpl/dash/dashboard.tpl.php:274
#: tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr ""

#: tpl/dash/dashboard.tpl.php:292
#: tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr ""

#: tpl/dash/dashboard.tpl.php:293
#: tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr ""

#: tpl/dash/dashboard.tpl.php:301
msgid "Remaining Daily Quota"
msgstr ""

#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr ""

#: tpl/dash/dashboard.tpl.php:347
msgid "Enable QUIC.cloud Services"
msgstr ""

#: tpl/dash/dashboard.tpl.php:354
#: tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr ""

#: tpl/dash/dashboard.tpl.php:382
#: tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Current closest Cloud server is %s. Click to redetect."
msgstr ""

#: tpl/dash/dashboard.tpl.php:383
#: tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr ""

#: tpl/dash/dashboard.tpl.php:385
#: tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54
#: tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr ""

#: tpl/dash/dashboard.tpl.php:419
msgid "You must be using one of the following products in order to measure Page Load Time:"
msgstr ""

#: tpl/dash/dashboard.tpl.php:420
msgid "LiteSpeed Web Server"
msgstr ""

#: tpl/dash/dashboard.tpl.php:422
msgid "OpenLiteSpeed Web Server"
msgstr ""

#: tpl/dash/dashboard.tpl.php:424
msgid "LiteSpeed Web ADC"
msgstr ""

#: tpl/dash/dashboard.tpl.php:426
#: tpl/dash/dashboard.tpl.php:844
msgid "QUIC.cloud CDN"
msgstr ""

#: tpl/dash/dashboard.tpl.php:438
#: tpl/dash/dashboard.tpl.php:503
msgid "Requested: %s ago"
msgstr ""

#: tpl/dash/dashboard.tpl.php:446
#: tpl/dash/dashboard.tpl.php:511
msgid "Refresh"
msgstr ""

#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr ""

#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr ""

#: tpl/dash/dashboard.tpl.php:520
#: tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr ""

#: tpl/dash/dashboard.tpl.php:537
#: tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr ""

#: tpl/dash/dashboard.tpl.php:543
#: tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr ""

#: tpl/dash/dashboard.tpl.php:546
#: tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr ""

#: tpl/dash/dashboard.tpl.php:569
#: tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr ""

#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr ""

#: tpl/dash/dashboard.tpl.php:624
#: tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr ""

#: tpl/dash/dashboard.tpl.php:631
#: tpl/dash/dashboard.tpl.php:675
#: tpl/dash/dashboard.tpl.php:719
#: tpl/dash/dashboard.tpl.php:763
msgid "Last generated: %s"
msgstr ""

#: tpl/dash/dashboard.tpl.php:639
#: tpl/dash/dashboard.tpl.php:683
#: tpl/dash/dashboard.tpl.php:727
#: tpl/dash/dashboard.tpl.php:771
msgid "Time to execute previous request: %s"
msgstr ""

#: tpl/dash/dashboard.tpl.php:646
#: tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734
#: tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr ""

#: tpl/dash/dashboard.tpl.php:649
#: tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737
#: tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr ""

#: tpl/dash/dashboard.tpl.php:657
#: tpl/dash/dashboard.tpl.php:701
#: tpl/dash/dashboard.tpl.php:745
#: tpl/dash/dashboard.tpl.php:789
msgid "Last requested: %s"
msgstr ""

#: tpl/dash/dashboard.tpl.php:668
#: tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr ""

#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr ""

#: tpl/dash/dashboard.tpl.php:864
msgid "Best available WordPress performance"
msgstr ""

#: tpl/dash/dashboard.tpl.php:869
msgid "Globally fast TTFB, easy setup, and %s!"
msgstr ""

#: tpl/dash/dashboard.tpl.php:870
msgid "more"
msgstr ""

#: tpl/dash/dashboard.tpl.php:887
msgid "Refresh QUIC.cloud status"
msgstr ""

#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr ""

#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr ""

#: tpl/dash/network_dash.tpl.php:28
msgid "Usage Statistics: %s"
msgstr ""

#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr ""

#: tpl/dash/network_dash.tpl.php:109
msgid "This Month Usage: %s"
msgstr ""

#: tpl/db_optm/entry.tpl.php:17
#: tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr ""

#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr ""

#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr ""

#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr ""

#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr ""

#: tpl/db_optm/manage.tpl.php:25
msgid "Orphaned Post Meta"
msgstr ""

#: tpl/db_optm/manage.tpl.php:26
msgid "Clean all orphaned post meta records"
msgstr ""

#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr ""

#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr ""

#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr ""

#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr ""

#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr ""

#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr ""

#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr ""

#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr ""

#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr ""

#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr ""

#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr ""

#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr ""

#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr ""

#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr ""

#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr ""

#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr ""

#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr ""

#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr ""

#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr ""

#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr ""

#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr ""

#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr ""

#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr ""

#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr ""

#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr ""

#: tpl/db_optm/manage.tpl.php:175
msgid "Autoload size"
msgstr ""

#: tpl/db_optm/manage.tpl.php:176
msgid "Autoload entries"
msgstr ""

#: tpl/db_optm/manage.tpl.php:180
msgid "Autoload top list"
msgstr ""

#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr ""

#: tpl/db_optm/manage.tpl.php:186
msgid "Autoload"
msgstr ""

#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr ""

#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr ""

#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr ""

#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr ""

#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr ""

#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr ""

#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr ""

#: tpl/esi_widget_edit.php:71
msgid "Widget Cache TTL"
msgstr ""

#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr ""

#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr ""

#: tpl/general/entry.tpl.php:16
#: tpl/general/online.tpl.php:68
msgid "Online Services"
msgstr ""

#: tpl/general/entry.tpl.php:17
#: tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19
#: tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr ""

#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr ""

#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr ""

#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr ""

#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr ""

#: tpl/general/online.tpl.php:22
msgid "QUIC.cloud Online Services"
msgstr ""

#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr ""

#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr ""

#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr ""

#: tpl/general/online.tpl.php:41
msgid "Service:"
msgstr ""

#: tpl/general/online.tpl.php:43
msgid "Node:"
msgstr ""

#: tpl/general/online.tpl.php:45
msgid "Connected Date:"
msgstr ""

#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr ""

#: tpl/general/online.tpl.php:59
msgid "QUIC.cloud Integration Disabled"
msgstr ""

#: tpl/general/online.tpl.php:60
msgid "Speed up your WordPress site even further with QUIC.cloud Online Services and CDN."
msgstr ""

#: tpl/general/online.tpl.php:69
msgid "QUIC.cloud's Online Services improve your site in the following ways:"
msgstr ""

#: tpl/general/online.tpl.php:71
msgid "<strong>Image Optimization</strong> gives you smaller image file sizes that transmit faster."
msgstr ""

#: tpl/general/online.tpl.php:72
msgid "<strong>Page Optimization</strong> streamlines page styles and visual elements for faster loading."
msgstr ""

#: tpl/general/online.tpl.php:76
msgid "QUIC.cloud's Image Optimization service does the following:"
msgstr ""

#: tpl/general/online.tpl.php:78
msgid "Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality."
msgstr ""

#: tpl/general/online.tpl.php:79
msgid "Optionally creates next-generation WebP or AVIF image files."
msgstr ""

#: tpl/general/online.tpl.php:81
msgid "Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee."
msgstr ""

#: tpl/general/online.tpl.php:84
msgid "QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores."
msgstr ""

#: tpl/general/online.tpl.php:86
msgid "<strong>Critical CSS (CCSS)</strong> loads visible above-the-fold content faster and with full styling."
msgstr ""

#: tpl/general/online.tpl.php:87
msgid "<strong>Unique CSS (UCSS)</strong> removes unused style definitions for a speedier page load overall."
msgstr ""

#: tpl/general/online.tpl.php:88
msgid "<strong>Low Quality Image Placeholder (LQIP)</strong> gives your imagery a more pleasing look as it lazy loads."
msgstr ""

#: tpl/general/online.tpl.php:89
msgid "<strong>Viewport Images (VPI)</strong> provides a well-polished fully-loaded view above the fold."
msgstr ""

#: tpl/general/online.tpl.php:98
msgid "Content Delivery Network"
msgstr ""

#: tpl/general/online.tpl.php:100
msgid "QUIC.cloud CDN:"
msgstr ""

#: tpl/general/online.tpl.php:102
msgid "Caches your entire site, including dynamic content and <strong>ESI blocks</strong>."
msgstr ""

#: tpl/general/online.tpl.php:103
msgid "Delivers global coverage with a growing <strong>network of 80+ PoPs</strong>."
msgstr ""

#: tpl/general/online.tpl.php:104
msgid "Provides <strong>security at the CDN level</strong>, protecting your server from attack."
msgstr ""

#: tpl/general/online.tpl.php:105
msgid "Offers optional <strong>built-in DNS service</strong> to simplify CDN onboarding."
msgstr ""

#: tpl/general/online.tpl.php:114
msgid "In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it."
msgstr ""

#: tpl/general/online.tpl.php:125
msgid "QUIC.cloud Integration Enabled"
msgstr ""

#: tpl/general/online.tpl.php:126
msgid "Your site is connected and ready to use QUIC.cloud Online Services."
msgstr ""

#: tpl/general/online.tpl.php:136
msgid "CDN - Enabled"
msgstr ""

#: tpl/general/online.tpl.php:138
msgid "CDN - Disabled"
msgstr ""

#: tpl/general/online.tpl.php:143
msgid "QUIC.cloud Integration Enabled with limitations"
msgstr ""

#: tpl/general/online.tpl.php:144
msgid "Your site is connected and using QUIC.cloud Online Services as an <strong>anonymous user</strong>. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features."
msgstr ""

#: tpl/general/online.tpl.php:150
msgid "CDN - not available for anonymous users"
msgstr ""

#: tpl/general/online.tpl.php:159
msgid "Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard."
msgstr ""

#: tpl/general/online.tpl.php:159
msgid "Disconnect from QUIC.cloud"
msgstr ""

#: tpl/general/online.tpl.php:160
msgid "Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first."
msgstr ""

#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr ""

#: tpl/general/settings.tpl.php:49
msgid "Please read all warnings before enabling this option."
msgstr ""

#: tpl/general/settings.tpl.php:64
msgid "Your %1$s quota on %2$s will still be in use."
msgstr ""

#: tpl/general/settings.tpl.php:72
#: tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86
#: tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr ""

#: tpl/general/settings.tpl.php:72
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr ""

#: tpl/general/settings.tpl.php:79
msgid "You need to turn %s on to get maximum result."
msgstr ""

#: tpl/general/settings.tpl.php:86
msgid "You need to turn %s on and finish all WebP generation to get maximum result."
msgstr ""

#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr ""

#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr ""

#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr ""

#: tpl/general/settings.tpl.php:103
msgid "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."
msgstr ""

#: tpl/general/settings.tpl.php:104
msgid "Please make sure this IP is the correct one for visiting your site."
msgstr ""

#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr ""

#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:26
msgid "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX."
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:27
msgid "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:38
msgid "Guest Mode IP/UA sync status"
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:39
msgid "Syncing"
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:64
msgid "Synced successfully."
msgstr ""

#: tpl/general/settings_inc.guest.tpl.php:66
#: tpl/general/settings_inc.guest.tpl.php:70
msgid "Sync failed."
msgstr ""

#: tpl/img_optm/entry.tpl.php:17
#: tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19
#: tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr ""

#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr ""

#: tpl/img_optm/settings.media_webp.tpl.php:25
msgid "Request WebP/AVIF versions of original images when doing optimization."
msgstr ""

#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr ""

#: tpl/img_optm/settings.media_webp.tpl.php:31
msgid "%1$s is a %2$s paid feature."
msgstr ""

#: tpl/img_optm/settings.media_webp.tpl.php:34
msgid "When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images."
msgstr ""

#: tpl/img_optm/settings.media_webp.tpl.php:34
#: tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr ""

#: tpl/img_optm/settings.media_webp.tpl.php:34
#: tpl/img_optm/summary.tpl.php:368
msgid "Soft Reset Optimization Counter"
msgstr ""

#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr ""

#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr ""

#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr ""

#: tpl/img_optm/settings.tpl.php:65
#: tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr ""

#: tpl/img_optm/settings.tpl.php:66
#: tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr ""

#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr ""

#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr ""

#: tpl/img_optm/settings.tpl.php:104
msgid "No sizes found."
msgstr ""

#: tpl/img_optm/settings.tpl.php:107
msgid "Choose which image sizes to optimize."
msgstr ""

#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr ""

#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr ""

#: tpl/img_optm/settings.tpl.php:149
msgid "Specify which element attributes will be replaced with WebP/AVIF."
msgstr ""

#: tpl/img_optm/settings.tpl.php:165
msgid "Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic."
msgstr ""

#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr ""

#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr ""

#: tpl/img_optm/summary.tpl.php:68
msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."
msgstr ""

#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr ""

#: tpl/img_optm/summary.tpl.php:77
#: tpl/page_optm/settings_css.tpl.php:156
#: tpl/page_optm/settings_css.tpl.php:293
#: tpl/page_optm/settings_vpi.tpl.php:101
msgid "Available after %d second(s)"
msgstr ""

#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr ""

#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr ""

#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr ""

#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr ""

#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr ""

#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr ""

#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr ""

#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr ""

#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr ""

#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr ""

#: tpl/img_optm/summary.tpl.php:198
#: tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr ""

#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr ""

#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr ""

#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr ""

#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr ""

#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr ""

#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr ""

#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr ""

#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr ""

#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr ""

#: tpl/img_optm/summary.tpl.php:285
msgid "Image groups total"
msgstr ""

#: tpl/img_optm/summary.tpl.php:289
msgid "Congratulations, all gathered!"
msgstr ""

#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr ""

#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr ""

#: tpl/img_optm/summary.tpl.php:297
#: tpl/img_optm/summary.tpl.php:372
msgid "Current image post id position"
msgstr ""

#: tpl/img_optm/summary.tpl.php:298
msgid "Maximum image post id"
msgstr ""

#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr ""

#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr ""

#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr ""

#: tpl/img_optm/summary.tpl.php:325
msgid "Last Pulled"
msgstr ""

#. translators: %s: Link tags
#: tpl/img_optm/summary.tpl.php:337
msgid "Results can be checked in %sMedia Library%s."
msgstr ""

#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr ""

#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr ""

#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr ""

#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr ""

#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr ""

#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr ""

#: tpl/img_optm/summary.tpl.php:372
msgid "This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action."
msgstr ""

#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr ""

#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr ""

#: tpl/inc/admin_footer.php:17
msgid "Rate %1$s on %2$s"
msgstr ""

#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr ""

#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr ""

#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr ""

#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr ""

#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr ""

#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr ""

#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr ""

#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr ""

#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr ""

#: tpl/inc/in_upgrading.php:15
msgid "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."
msgstr ""

#: tpl/inc/modal.deactivation.php:22
msgid "The deactivation is temporary"
msgstr ""

#: tpl/inc/modal.deactivation.php:28
msgid "Site performance is worse"
msgstr ""

#: tpl/inc/modal.deactivation.php:33
msgid "Plugin is too complicated"
msgstr ""

#: tpl/inc/modal.deactivation.php:38
msgid "Other"
msgstr ""

#: tpl/inc/modal.deactivation.php:47
msgid "Why are you deactivating the plugin?"
msgstr ""

#: tpl/inc/modal.deactivation.php:60
msgid "On uninstall, all plugin settings will be deleted."
msgstr ""

#: tpl/inc/modal.deactivation.php:68
msgid "If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images."
msgstr ""

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate"
msgstr ""

#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate plugin"
msgstr ""

#: tpl/inc/modal.deactivation.php:77
msgid "Close popup"
msgstr ""

#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr ""

#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr ""

#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr ""

#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr ""

#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr ""

#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr ""

#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr ""

#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr ""

#. translators: %s: Link tags
#: tpl/inc/show_display_installed.php:37
msgid "If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s."
msgstr ""

#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr ""

#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr ""

#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr ""

#: tpl/inc/show_error_cookie.php:21
msgid "If not, please verify the setting in the %sAdvanced tab%s."
msgstr ""

#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr ""

#: tpl/inc/show_rule_conflict.php:16
msgid "Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)"
msgstr ""

#: tpl/optimax/entry.tpl.php:16
msgid "OptimaX Summary"
msgstr ""

#: tpl/optimax/entry.tpl.php:17
#: tpl/optimax/entry.tpl.php:22
#: tpl/optimax/settings.tpl.php:19
msgid "OptimaX Settings"
msgstr ""

#: tpl/optimax/entry.tpl.php:30
msgid "LiteSpeed Cache OptimaX"
msgstr ""

#: tpl/optimax/settings.tpl.php:34
msgid "Turn on OptimaX. This will automatically request your pages OptimaX result via cron job."
msgstr ""

#: tpl/page_optm/entry.tpl.php:16
#: tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr ""

#: tpl/page_optm/entry.tpl.php:17
#: tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr ""

#: tpl/page_optm/entry.tpl.php:18
#: tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr ""

#: tpl/page_optm/entry.tpl.php:19
#: tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr ""

#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr ""

#: tpl/page_optm/entry.tpl.php:21
#: tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr ""

#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr ""

#: tpl/page_optm/entry.tpl.php:23
#: tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr ""

#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr ""

#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:61
#: tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:83
msgid "This will drop the unused CSS on each page from the combined file."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:93
msgid "This option is bypassed because %1$s option is %2$s."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:117
#: tpl/page_optm/settings_css.tpl.php:254
#: tpl/page_optm/settings_vpi.tpl.php:65
msgid "URL list in %s queue waiting for cron"
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:118
#: tpl/page_optm/settings_css.tpl.php:255
#: tpl/page_optm/settings_media.tpl.php:201
#: tpl/page_optm/settings_vpi.tpl.php:66
msgid "Clear"
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:155
#: tpl/page_optm/settings_css.tpl.php:160
#: tpl/page_optm/settings_css.tpl.php:292
#: tpl/page_optm/settings_css.tpl.php:297
#: tpl/page_optm/settings_vpi.tpl.php:100
#: tpl/page_optm/settings_vpi.tpl.php:105
msgid "Run %s Queue Manually"
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:178
msgid "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:181
msgid "This option will automatically bypass %s option."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175
#: tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:217
msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:219
msgid "Automatic generation of critical CSS is in the background via a cron-based queue."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:224
msgid "Elements with attribute %s in HTML code will be excluded."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:230
msgid "This option is bypassed due to %s option."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:314
msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr ""

#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:75
msgid "Preconnecting speeds up future loads from a given origin."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:91
msgid "Delay rendering off-screen HTML elements by its selector."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:106
msgid "When minifying HTML do not discard comments that match a specified pattern."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:108
msgid "If comment to be kept is like: %1$s write: %2$s"
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:147
msgid "This will also add a preconnect to Google Fonts to establish a connection earlier."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr ""

#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr ""

#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr ""

#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr ""

#: tpl/page_optm/settings_js.tpl.php:51
#: tpl/page_optm/settings_js.tpl.php:85
msgid "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."
msgstr ""

#: tpl/page_optm/settings_js.tpl.php:52
msgid "JS error can be found from the developer console of browser by right clicking and choosing Inspect."
msgstr ""

#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr ""

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr ""

#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr ""

#: tpl/page_optm/settings_js.tpl.php:79
msgid "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow <a %s>Table Creation guidance from LiteSpeed Wiki</a> to finish setup."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr ""

#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:289
msgid "Automatically replace large images with scaled versions."
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:290
msgid "Scaled size threshold"
msgstr ""

#: tpl/page_optm/settings_media.tpl.php:296
msgid "Filter %s available to change threshold."
msgstr ""

#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr ""

#: tpl/page_optm/settings_media_exc.tpl.php:34
msgid "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."
msgstr ""

#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr ""

#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr ""

#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr ""

#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr ""

#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr ""

#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr ""

#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr ""

#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr ""

#: tpl/page_optm/settings_tuning.tpl.php:43
msgid "Listed JS files or inline JS code will be delayed."
msgstr ""

#: tpl/page_optm/settings_tuning.tpl.php:63
msgid "Listed JS files or inline JS code will not be minified or combined."
msgstr ""

#: tpl/page_optm/settings_tuning.tpl.php:71
#: tpl/page_optm/settings_tuning.tpl.php:92
msgid "Predefined list will also be combined with the above settings."
msgstr ""

#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr ""

#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr ""

#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr ""

#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr ""

#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:17
msgid "Tuning CSS Settings"
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:31
msgid "Listed CSS files or inline CSS code will not be minified or combined."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:38
msgid "Predefined list will also be combined with the above settings"
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:52
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:67
msgid "List the CSS selectors whose styles should always be included in UCSS."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:70
#: tpl/page_optm/settings_tuning_css.tpl.php:145
msgid "Wildcard %s supported."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:74
msgid "The selector must exist in the CSS. Parent classes in the HTML will not work."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:92
msgid "Listed URI will not generate UCSS."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:142
msgid "List the CSS selectors whose styles should always be included in CCSS."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:149
msgid "Selectors must exist in the CSS. Parent classes in the HTML will not work."
msgstr ""

#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr ""

#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr ""

#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr ""

#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr ""

#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr ""

#: tpl/presets/entry.tpl.php:16
msgid "Standard Presets"
msgstr ""

#: tpl/presets/entry.tpl.php:17
#: tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr ""

#: tpl/presets/entry.tpl.php:23
msgid "LiteSpeed Cache Configuration Presets"
msgstr ""

#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr ""

#: tpl/presets/standard.tpl.php:19
msgid "Default Cache"
msgstr ""

#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr ""

#: tpl/presets/standard.tpl.php:24
msgid "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."
msgstr ""

#: tpl/presets/standard.tpl.php:25
msgid "A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled."
msgstr ""

#: tpl/presets/standard.tpl.php:29
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr ""

#: tpl/presets/standard.tpl.php:31
msgid "Everything in Essentials, Plus"
msgstr ""

#: tpl/presets/standard.tpl.php:33
msgid "Mobile Cache"
msgstr ""

#: tpl/presets/standard.tpl.php:36
msgid "This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners."
msgstr ""

#: tpl/presets/standard.tpl.php:37
msgid "A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools."
msgstr ""

#: tpl/presets/standard.tpl.php:41
msgid "Advanced (Recommended)"
msgstr ""

#: tpl/presets/standard.tpl.php:43
msgid "Everything in Basic, Plus"
msgstr ""

#: tpl/presets/standard.tpl.php:44
msgid "Guest Mode and Guest Optimization"
msgstr ""

#: tpl/presets/standard.tpl.php:45
msgid "CSS, JS and HTML Minification"
msgstr ""

#: tpl/presets/standard.tpl.php:47
msgid "JS Defer for both external and inline JS"
msgstr ""

#: tpl/presets/standard.tpl.php:48
msgid "DNS Prefetch for static files"
msgstr ""

#: tpl/presets/standard.tpl.php:50
msgid "Remove Query Strings from Static Files"
msgstr ""

#: tpl/presets/standard.tpl.php:55
msgid "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools."
msgstr ""

#: tpl/presets/standard.tpl.php:56
#: tpl/presets/standard.tpl.php:70
msgid "A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores."
msgstr ""

#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr ""

#: tpl/presets/standard.tpl.php:62
msgid "Everything in Advanced, Plus"
msgstr ""

#: tpl/presets/standard.tpl.php:63
msgid "CSS & JS Combine"
msgstr ""

#: tpl/presets/standard.tpl.php:64
msgid "Asynchronous CSS Loading with Critical CSS"
msgstr ""

#: tpl/presets/standard.tpl.php:65
msgid "Removed Unused CSS for Users"
msgstr ""

#: tpl/presets/standard.tpl.php:66
msgid "Lazy Load for Iframes"
msgstr ""

#: tpl/presets/standard.tpl.php:69
msgid "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning."
msgstr ""

#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr ""

#: tpl/presets/standard.tpl.php:76
msgid "Everything in Aggressive, Plus"
msgstr ""

#: tpl/presets/standard.tpl.php:77
msgid "Lazy Load for Images"
msgstr ""

#: tpl/presets/standard.tpl.php:78
msgid "Viewport Image Generation"
msgstr ""

#: tpl/presets/standard.tpl.php:79
msgid "JS Delayed"
msgstr ""

#: tpl/presets/standard.tpl.php:80
msgid "Inline JS added to Combine"
msgstr ""

#: tpl/presets/standard.tpl.php:81
msgid "Inline CSS added to Combine"
msgstr ""

#: tpl/presets/standard.tpl.php:84
msgid "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."
msgstr ""

#: tpl/presets/standard.tpl.php:85
msgid "A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores."
msgstr ""

#: tpl/presets/standard.tpl.php:92
msgid "LiteSpeed Cache Standard Presets"
msgstr ""

#: tpl/presets/standard.tpl.php:96
msgid "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between."
msgstr ""

#: tpl/presets/standard.tpl.php:121
msgid "Who should use this preset?"
msgstr ""

#: tpl/presets/standard.tpl.php:131
msgid "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"
msgstr ""

#: tpl/presets/standard.tpl.php:133
msgid "Apply Preset"
msgstr ""

#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr ""

#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr ""

#: tpl/presets/standard.tpl.php:173
msgid "Error: Failed to apply the settings %1$s"
msgstr ""

#: tpl/presets/standard.tpl.php:175
msgid "Restored backup settings %1$s"
msgstr ""

#: tpl/presets/standard.tpl.php:178
msgid "Applied the %1$s preset %2$s"
msgstr ""

#: tpl/presets/standard.tpl.php:189
msgid "Backup created %1$s before applying the %2$s preset"
msgstr ""

#: tpl/presets/standard.tpl.php:193
msgid "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"
msgstr ""

#: tpl/presets/standard.tpl.php:195
msgid "Restore Settings"
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:43
msgid "LiteSpeed Cache is disabled. This functionality will not work."
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:65
#: tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:73
msgid "Downgrade not recommended. May cause fatal error due to refactored code."
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:78
msgid "Use latest GitHub Dev/Master commit"
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr ""

#: tpl/toolbox/beta_test.tpl.php:85
msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."
msgstr ""

#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr ""

#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr ""

#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr ""

#: tpl/toolbox/edit_htaccess.tpl.php:58
#: tpl/toolbox/edit_htaccess.tpl.php:76
msgid "Default path is"
msgstr ""

#: tpl/toolbox/edit_htaccess.tpl.php:62
#: tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr ""

#: tpl/toolbox/edit_htaccess.tpl.php:63
#: tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr ""

#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr ""

#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr ""

#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr ""

#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr ""

#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr ""

#: tpl/toolbox/entry.tpl.php:33
#: tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr ""

#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr ""

#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr ""

#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr ""

#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr ""

#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr ""

#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr ""

#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr ""

#: tpl/toolbox/heartbeat.tpl.php:56
#: tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr ""

#: tpl/toolbox/heartbeat.tpl.php:57
#: tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr ""

#: tpl/toolbox/heartbeat.tpl.php:58
#: tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr ""

#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr ""

#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr ""

#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr ""

#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr ""

#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr ""

#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr ""

#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr ""

#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr ""

#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr ""

#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr ""

#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr ""

#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr ""

#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr ""

#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr ""

#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr ""

#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr ""

#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr ""

#: tpl/toolbox/log_viewer.tpl.php:46
#: tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr ""

#: tpl/toolbox/log_viewer.tpl.php:64
#: tpl/toolbox/report.tpl.php:62
msgid "Click to copy"
msgstr ""

#: tpl/toolbox/log_viewer.tpl.php:65
msgid "Copy Log"
msgstr ""

#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr ""

#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr ""

#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr ""

#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr ""

#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr ""

#: tpl/toolbox/purge.tpl.php:33
msgid "Purge %s error pages"
msgstr ""

#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr ""

#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr ""

#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr ""

#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr ""

#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr ""

#: tpl/toolbox/purge.tpl.php:83
msgid "This will delete all generated unique CSS files"
msgstr ""

#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr ""

#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr ""

#: tpl/toolbox/purge.tpl.php:110
msgid "This will delete all generated Viewport Images"
msgstr ""

#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr ""

#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr ""

#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr ""

#: tpl/toolbox/purge.tpl.php:137
msgid "Clears all cache entries related to this site, including other web applications."
msgstr ""

#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr ""

#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr ""

#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr ""

#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr ""

#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr ""

#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr ""

#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr ""

#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr ""

#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr ""

#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr ""

#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr ""

#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr ""

#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr ""

#: tpl/toolbox/purge.tpl.php:224
msgid "e.g. Use %1$s or %2$s."
msgstr ""

#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr ""

#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr ""

#: tpl/toolbox/report.tpl.php:40
msgid "Regenerate and Send a New Report"
msgstr ""

#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr ""

#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr ""

#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr ""

#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr ""

#: tpl/toolbox/report.tpl.php:62
msgid "Last Report Number"
msgstr ""

#: tpl/toolbox/report.tpl.php:63
msgid "Last Report Date"
msgstr ""

#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr ""

#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr ""

#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr ""

#: tpl/toolbox/report.tpl.php:87
msgid "Attach PHP info to report. Check this box to insert relevant data from %s."
msgstr ""

#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr ""

#: tpl/toolbox/report.tpl.php:100
#: tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr ""

#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr ""

#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr ""

#. translators: %s: Link tags
#: tpl/toolbox/report.tpl.php:112
msgid "Generated links may be managed under %sSettings%s."
msgstr ""

#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr ""

#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr ""

#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr ""

#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:37
msgid "Disable All Features for 24 Hours"
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:44
msgid "Remove `Disable All Feature` Flag Now"
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:48
msgid "LiteSpeed Cache is temporarily disabled until: %s."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:82
msgid "Outputs to a series of files in the %s directory."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:84
msgid "The Admin IP option will only output log messages on requests from admin IPs listed below."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr ""

#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr ""
PK�^�\��w^QQlitespeed-cache/typos.tomlnu�[���[files]
extend-exclude = [
  "**",
  "!cli/**",
  "!tpl/**",
  "!autoload.php"
]
PK�^�\�&��Z�Z�litespeed-cache/readme.txtnu�[���=== LiteSpeed Cache ===
Contributors: LiteSpeedTech
Tags: caching, optimize, performance, pagespeed, seo, image optimize, object cache, redis, memcached, database cleaner
Requires at least: 5.3
Requires PHP: 7.2
Tested up to: 6.9
Stable tag: 7.7
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl.html

All-in-one unbeatable acceleration & PageSpeed improvement: caching, image/CSS/JS optimization...

== Description ==

LiteSpeed Cache for WordPress (LSCWP) is an all-in-one site acceleration plugin, featuring an exclusive server-level cache and a collection of optimization features.

LSCWP supports WordPress Multisite and is compatible with most popular plugins, including WooCommerce, bbPress, and Yoast SEO.

LiteSpeed Cache for WordPress is compatible with ClassicPress.

== Requirements ==
**General Features** may be used by anyone with any web server (LiteSpeed, Apache, NGINX, etc.).

**LiteSpeed Exclusive Features** require one of the following: OpenLiteSpeed, commercial LiteSpeed products, LiteSpeed-powered hosting, or QUIC.cloud CDN. [Why?](https://docs.litespeedtech.com/lscache/lscwp/faq/#why-do-the-cache-features-require-a-litespeed-server)

== Plugin Features ==

= General Features =

* Free QUIC.cloud CDN Cache
* Object Cache (Memcached/LSMCD/Redis) Support<sup>+</sup>
* Image Optimization (Lossless/Lossy)
* Minify CSS, JavaScript, and HTML
* Minify inline & external CSS/JS
* Combine CSS/JS
* Automatically generate Critical CSS
* Lazy-load images/iframes
* Responsive Image Placeholders
* Multiple CDN Support<sup>+</sup>
* Load CSS Asynchronously
* Defer/delay JS loading
* Browser Cache Support<sup>+</sup>
* Database Cleaner and Optimizer
* PageSpeed score (including Core Web Vitals) optimization
* OPcode Cache Support<sup>+</sup>
* HTTP/2 Push for CSS/JS (on web servers that support it)
* DNS Prefetch
* Cloudflare API
* Single Site and Multisite (Network) support
* Import/Export settings
* Attractive, easy-to-understand interface
* AVIF/WebP image format support
* Heartbeat control

<sup>+</sup> This service is not provided by the LSCache plugin, nor is it guaranteed to be installed by your service provider. However, the plugin is compatible with the service if it is in use on your site.

= LiteSpeed Exclusive Features =

* Automatic page caching to greatly improve site performance
* Automatic purge of related pages based on certain events
* Private cache for logged-in users
* Caching of WordPress REST API calls
* Separate caching of desktop and mobile views
* Ability to schedule purge for specified URLs
* WooCommerce and bbPress support
* [WordPress CLI](https://docs.litespeedtech.com/lscache/lscwp/cli/) commands
* API system for easy cache integration
* Exclude from cache by URI, Category, Tag, Cookie, User Agent
* Smart preload crawler with support for SEO-friendly sitemap
* Multiple crawlers for cache varies
* HTTP/2 support
* [HTTP/3 & QUIC](https://www.litespeedtech.com/http3-faq) support
* ESI (Edge Side Includes) support<sup>*</sup>
* Widgets and Shortcodes as ESI blocks<sup>*</sup> (requires Classic Widgets plugin for WP 5.8+)

<sup>*</sup> Feature not available in OpenLiteSpeed

== Screenshots ==

1. Plugin Benchmarks
2. Admin - Dashboard
3. Admin - Image Optimization
4. Admin - Crawler
5. Admin Settings - Cache
6. Admin Settings - Page Optimization
7. Admin Settings - CDN
8. Admin Settings - DB Optimizer
9. Admin Settings - Toolbox
10. Cache Miss Example
11. Cache Hit Example

== LSCWP Resources ==
* [Join our Slack community](https://litespeedtech.com/slack) to connect with other LiteSpeed users.
* [Ask a question on our support forum](https://wordpress.org/support/plugin/litespeed-cache/).
* [View detailed documentation](https://docs.litespeedtech.com/lscache/lscwp/).
* [Read about LSCWP and WordPress on our blog](https://blog.litespeedtech.com/tag/wordpress/).
* [Help translate LSCWP](https://translate.wordpress.org/projects/wp-plugins/litespeed-cache/).
* [Contribute to the LSCWP GitHub repo](https://github.com/litespeedtech/lscache_wp).

== Installation ==

[View detailed documentation](https://docs.litespeedtech.com/lscache/lscwp/installation/).

= For Optimization Without a LiteSpeed Web Server =
1. Install the LiteSpeed Cache for WordPress plugin and activate it.
1. From the WordPress Dashboard, navigate to **LiteSpeed Cache > Page Optimization**. Enable the available optimization features in the various tabs.

= For Caching and Optimization With a LiteSpeed Web Server =
1. Install [LiteSpeed Web Server Enterprise](https://www.litespeedtech.com/products/litespeed-web-server) with LSCache Module, [LiteSpeed Web ADC](https://www.litespeedtech.com/products/litespeed-web-adc), or [OpenLiteSpeed](https://www.litespeedtech.com/open-source/openlitespeed) with cache module (Free). Or sign up for [QUIC.cloud CDN](https://quic.cloud).
1. Install the LiteSpeed Cache for WordPress plugin and activate it.
1. From the WordPress Dashboard, navigate to **LiteSpeed Cache > Cache**, make sure the option **Enable LiteSpeed Cache** is set to `ON`.
1. Enable any desired caching and optimization features in the various tabs.

= Notes for LiteSpeed Web Server Enterprise =

* Make sure that your license includes the LSCache module. A [2-CPU trial license with LSCache module](https://www.litespeedtech.com/products/litespeed-web-server/download/get-a-trial-license "trial license") is available for free for 15 days.
* The server must be configured to have caching enabled. If you are the server admin, [click here](https://docs.litespeedtech.com/lscache/start/#configure-cache-root-and-cache-policy) for instructions. Otherwise, please request that the server admin configure the cache root for the server.

= Notes for OpenLiteSpeed =

* This integration utilizes OpenLiteSpeed's cache module.
* If it is a fresh OLS installation, the easiest way to integrate is to use [ols1clk](https://openlitespeed.org/kb/1-click-install/). If using an existing WordPress installation, use the `--wordpresspath` parameter.
* If OLS and WordPress are both already installed, please follow the instructions in [How To Set Up LSCache For WordPress](https://openlitespeed.org/kb/how-to-setup-lscache-for-wordpress/).

== Third Party Compatibility ==

The vast majority of plugins and themes are compatible with LSCache. [Our API](https://docs.litespeedtech.com/lscache/lscwp/api/) is available for those that are not. Use the API to customize smart purging, customize cache rules, create cache varies, and make WP nonce cacheable, among other things.

== Privacy ==

This plugin includes some suggested text that you can add to your site's Privacy Policy via the Guide in the WordPress Privacy settings.

**For your own information:** LiteSpeed Cache for WordPress potentially stores a duplicate copy of every web page on display on your site. The pages are stored locally on the system where LiteSpeed server software is installed and are not transferred to or accessed by LiteSpeed employees in any way, except as necessary in providing routine technical support if you request it. All cache files are temporary, and may easily be purged before their natural expiration, if necessary, via a Purge All command. It is up to individual site administrators to come up with their own cache expiration rules.

In addition to caching, our WordPress plugin has online features provided by QUIC.cloud for Image Optimization and Page Optimization services. When one of these optimizations is requested, data is transmitted to a remote QUIC.cloud server, processed, and then transmitted back for use on your site. QUIC.cloud keeps copies of that data for up to 7 days and then permanently deletes it. Similarly, the WordPress plugin has a Reporting feature whereby a site owner can transmit an environment report to LiteSpeed so that we may better provide technical support. None of these features collects any visitor data. Only server and site data are involved.

QUIC.cloud CDN, if enabled, uses LSCache technology to access your site, and serve your content from remote global nodes. Your data is not accessed by QUIC.cloud employees in any way, except as necessary in providing maintenance or technical support.

Please see the [QUIC.cloud Privacy Policy](https://quic.cloud/privacy-policy/) for our complete Privacy/GDPR statement.

== Frequently Asked Questions ==

= Why do the cache features require LiteSpeed Server? =
This plugin communicates with your LiteSpeed Web Server and its built-in page cache (LSCache) to deliver superior performance to your WordPress site. The plugin’s cache features indicate to the server that a page is cacheable and for how long, or they invalidate particular cached pages using tags.

LSCache is a server-level cache, so it's faster than PHP-level caches. [Compare with other PHP-based caches](https://www.litespeedtech.com/benchmarks/wordpress).

A page cache allows the server to bypass PHP and database queries altogether. LSCache, in particular, because of its close relationship with the server, can remember things about the cache entries that other plugins cannot, and it can analyze dependencies. It can utilize tags to manage the smart purging of the cache, and it can use vary cookies to serve multiple versions of cached content based on things like mobile vs. desktop, geographic location, and currencies. [See our Caching 101 blog series](https://blog.litespeedtech.com/tag/caching-101/).

If all of that sounds complicated, no need to worry. LSCWP works right out of the box with default settings that are appropriate for most sites. [See the Beginner's Guide](https://docs.litespeedtech.com/lscache/lscwp/beginner/).

**Don't have a LiteSpeed server?** Try our QUIC.cloud CDN service. It allows sites on *any server* (NGINX and Apache included) to experience the power of LiteSpeed caching! [Click here](https://quic.cloud) to learn more or to give QUIC.cloud a try.

= What about the optimization features of LSCache? =

LSCWP includes additional optimization features, such as Database Optimization, Minification and Combination of CSS and JS files, HTTP/2 Push, CDN Support, Browser Cache, Object Cache, Lazy Load for Images, and Image Optimization! These features do not require the use of a LiteSpeed web server.

= Is the LiteSpeed Cache Plugin for WordPress free? =

Yes, LSCWP will always be free and open source. That said, a LiteSpeed server is required for the cache features, and there are fees associated with some LiteSpeed server editions. Some of the premium online services provided through QUIC.cloud (CDN Service, Image Optimization, Critical CSS, Low-Quality Image Placeholder, etc.) require payment at certain usage levels. You can learn more about what these services cost, and what levels of service are free, on [your QUIC.cloud dashboard](https://my.quic.cloud).

= What server software is required for this plugin? =

A LiteSpeed solution is required in order to use the **LiteSpeed Exclusive** features of this plugin. Any one of the following will work:

1. LiteSpeed Web Server Enterprise with LSCache Module (v5.0.10+)
2. OpenLiteSpeed (v1.4.17+)
3. LiteSpeed WebADC (v2.0+)
4. QUIC.cloud CDN

The **General Features** may be used with *any* web server. LiteSpeed is not required.

= Does this plugin work in a clustered environment? =

The cache entries are stored at the LiteSpeed server level. The simplest solution is to use LiteSpeed WebADC, as the cache entries will be stored at that level.

If using another load balancer, the cache entries will only be stored at the backend nodes, not at the load balancer.

The purges will also not be synchronized across the nodes, so this is not recommended.

If a customized solution is required, please contact LiteSpeed Technologies at `info@litespeedtech.com`

NOTICE: The rewrite rules created by this plugin must be copied to the Load Balancer.

= Where are the cached files stored? =

The actual cached pages are stored and managed by LiteSpeed Servers.

Nothing is stored within the WordPress file structure.

= Does LiteSpeed Cache for WordPress work with OpenLiteSpeed? =

Yes it can work well with OpenLiteSpeed, although some features may not be supported. See **Plugin Features** above for details. Any setting changes that require modifying the `.htaccess` file will require a server restart.

= Is WooCommerce supported? =

In short, yes. However, for some WooCommerce themes, the cart may not be updated correctly. Please [visit our blog](https://blog.litespeedtech.com/2017/05/31/wpw-fixing-lscachewoocommerce-conflicts/) for a quick tutorial on how to detect this problem and fix it if necessary.

= Are my images optimized? =

Images are not optimized automatically unless you set **LiteSpeed Cache > Image Optimization > Image Optimization Settings > Auto Request Cron** to `ON`. You may also optimize your images manually. [Learn more](https://docs.litespeedtech.com/lscache/lscwp/imageopt/).

= How do I make a WP nonce cacheable in my third-party plugin? =

Our API includes a function that uses ESI to "punch a hole" in a cached page for a nonce. This allows the nonce to be cached separately, regardless of the TTL of the page it is on. Learn more in [the API documentation](https://docs.litespeedtech.com/lscache/lscwp/api/#esi). We also welcome contributions to our predefined list of known third party plugin nonces that users can optionally include via [the plugin's ESI settings](https://docs.litespeedtech.com/lscache/lscwp/cache/#esi-nonce).

= How do I enable the crawler? =

The crawler is disabled by default, and must be enabled by the server admin first.

Once the crawler is enabled on the server side, navigate to **LiteSpeed Cache > Crawler > General Settings** and set **Crawler** to `ON`.

For more detailed information about crawler setup, please see [the Crawler documentation](https://docs.litespeedtech.com/lscache/lscwp/crawler/).

= What are the known compatible plugins and themes? =

* [WPML](https://wpml.org/)
* [DoLogin Security](https://wordpress.org/plugins/dologin/)
* [bbPress](https://wordpress.org/plugins/bbpress/)
* [WooCommerce](https://wordpress.org/plugins/woocommerce/)
* [Contact Form 7](https://wordpress.org/plugins/contact-form-7/)
* [All in One SEO](https://wordpress.org/plugins/all-in-one-seo-pack/)
* [Google XML Sitemaps](https://wordpress.org/plugins/google-sitemap-generator/)
* [Yoast SEO](https://wordpress.org/plugins/wordpress-seo/)
* [Wordfence Security](https://wordpress.org/plugins/wordfence/)
* [NextGen Gallery](https://wordpress.org/plugins/nextgen-gallery/)
* [ShortPixel](https://shortpixel.com/h/af/CXNO4OI28044/)
* Aelia CurrencySwitcher
* [Fast Velocity Minify](https://wordpress.org/plugins/fast-velocity-minify/) - Thanks Raul Peixoto!
* Autoptimize
* [Better WP Minify](https://wordpress.org/plugins/bwp-minify/)
* [WP Touch](https://wordpress.org/plugins/wptouch/)
* [Theme My Login](https://wordpress.org/plugins/theme-my-login/)
* [WPLister](https://www.wplab.com/plugins/wp-lister/)
* [WP-PostRatings](https://wordpress.org/plugins/wp-postratings/)
* [Avada 5.1 RC1+](https://avada.theme-fusion.com/)
* [Elegant Themes Divi 3.0.67+](https://www.elegantthemes.com/gallery/divi/)
* [Elegant Divi Builder](https://www.elegantthemes.com/plugins/divi-builder/)
* [Caldera Forms](https://wordpress.org/plugins/caldera-forms/) 1.5.6.2+
* Login With Ajax
* [Ninja Forms](https://wordpress.org/plugins/ninja-forms/)
* [Post Types Order 1.9.3.6+](https://wordpress.org/plugins/post-types-order/)
* [BoomBox — Viral Magazine WordPress Theme](https://themeforest.net/item/boombox-viral-buzz-wordpress-theme/16596434?ref=PX-lab)
* FacetWP (LSWS 5.3.6+)
* Beaver Builder
* WpDiscuz
* WP-Stateless
* Elementor
* WS Form
* WP Statistics

The vast majority of plugins and themes are compatible with LiteSpeed Cache. The most up-to-date compatibility information can be found [in our documentation](https://docs.litespeedtech.com/lscache/lscwp/thirdparty/)

= How can I report security bugs? =

You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. [Report a security vulnerability.](https://patchstack.com/database/vdp/litespeed-cache)

== Changelog ==

= 7.7 - Dec 16 2025 =
* **Task** Increased default cron interval from 1 minute to 15 minutes.
* **Conf** Enabled `litespeed_conf_load_option_{$option}` to allow modifying configuration values.
* **Conf** Removed deprecated `O_MEDIA_PRELOAD_FEATURED` option.
* **GUI** Dark mode toggle now applies instantly without flicker on page reload.
* **Page Optimize** Improved dummy CSS replacement logic.
* **Page Optimize** Deferred Instant Click to avoid blocking initial page rendering. (pp01 PR#926)
* **Cloud** Guest Mode IP/UA lists now sync automatically from the QUIC.cloud API.
* **Cloud** Guest Mode IP now supports CIDR notation (e.g., 192.168.1.0/24, 2001:db8::/32).
* **Cloud** Fixed a potential warning caused by variable type casting. (userb52 PR#925)
* **Cloud** Added null-safe handling for the `allowed_redirect_hosts` filter to prevent unexpected errors. (PR#933 #6972377)
* **Cloud** Fixed fatal error on PHP 8 when no timestamp is logged due to number casting. (Patryk Chowratowicz #938)
* **Crawler** Removed redundant functions after reformatting.
* **Database Optimize** Fixed DB Optimize redirection and transient cleanup issues. (PR#937)
* **Vary** Fixed issue where users without a group could not log in.
* **Avatar** Fixed queue warning when the table is missing and resolved HTML escaping warnings. (PR#928)
* **3rd** Improved WPML image lazy-load detection. (#657426)
* **3rd** Fixed Elementor Form submission caching issue. (PR#932)
* **3rd** Fixed cache issue when WCML currency changes. (PR#929)

= 7.6.2 - Oct 17 2025 =
* 🐞**Cloud** Fixed the PHP 8+ typecast issue in QUIC.cloud signature verification which caused activation failures.
* **Purge** Restored a delay purge hook while calling purge by CLI. (asafm7)
* **REST** Dropped legacy code that had been used for development purposes.
* **GUI** Use a stricter selector for dark mode to prevent side effects.

= 7.6.1 - Oct 15 2025 =
* **Cloud** Increased POST connection timeout to prevent potential failures.
* ⚠️🐞**GUI** Fixed a frontend display issue caused by the dark mode CSS file loading on the website frontend. (Peter Wells PR#923)
* 🐞**Page Optimize** Corrected a typo in the DNS prefetch filter. (Yaroslav Yachmenov PR#922)

= 7.6 - Oct 15 2025 =
* 🌱**Admin** Dark mode supported.
* 🌱**Purge** Added `Purge All - VPI` to the Purge menu. (PR#898)
* ⚠️🐞**Debug** Escaped comments to prevent a CSS vulnerability that could occur when debug is on. (#218778 Trustwave #CWE-79)
* **Purge** Gravatar purge now also clears the database records. (Serafín Danessa, PR#915)
* **Conf** Fixed an issue where the `Drop Query String` setting was not saved when in network mode. (Jory Hogeveen PR#910)
* **VPI** Add fetchpriority and decode attributes to VPI. (Hirak Kalita, serpentdriver, PR#903)
* **Cloud** Auto sync new Server IP to QUIC.cloud if changed. (cloud86)
* **GUI** Auto update port value when `Object Cache Method` is changed.
* **API** Dropped legacy `conf::val()` function.
* 🐞**Misc** Fixed PHP 7.2 compatibility issue. (Ulrich Viridis, PR#913)
* **Misc** Added UCSS file path to comment info for easier debug. (PR#914)

= 7.5.0.1 - Sep 11 2025 =
* 🐞**GUI** Fixed an issue where the network dashboard template was missing. (mcworks)

= 7.5 - Sep 10 2025 =
* 🌱**Image Optimize** New option `Optimize Image Sizes` to allow user to choose which image sizes to include in optimization request.
* 🐞**Purge** Purge Time setting will respect WP timezone setting now. (PR#893)
* 🐞**Conf** Fixed a minor type-casting bug, which could cause unnecessary QUIC.cloud sync configuration when the setting is empty.
* **Misc** Dropped unused rewrite rule from htaccess.

= 7.4 - Aug 28 2025 =
* 🌱**Media** Added new Auto Rescale Original Image option.
* 🌱**Toolbox** Added ability to Disable All for 24 Hours. (PR#886)
* 🐞**CDN** Fixed a QUIC.cloud sync configuration failure on network child sites.
* 🐞**Object Cache** Fixed a bug that failed to detect the Redis connection status.
* **Cache** Better match iPhone browsers for mobile cache detection.
* **Cache** Dropped use of `advanced-cache.php` support since WP v5.3+ doesn't need it, and LiteSpeed requires WP v5.3+.
* **Cache** When page is not cacheable, set header to value used by WordPress `Cache-Control` header. (asafm7)
* **Page Optimize** Better compatibility for dummy CSS removal in cases where other plugins manipulate the quotation marks.
* **Page Optimize** Dropped v4.2 legacy `LITESPEED_BYPASS_OPTM`.
* **Crawler** Now use an .html file to test the port, as some security plugins block .txt files and cause port test failure. (#661828)
* **GUI** Show current live values for options if they are overridden by filters or the server environment. (PR#885)
* **Data** Dropped legacy code and upgraded data migration support to LSCWP v5.7-.
* **Misc** Support the `LITESPEED_DEV` constant to allow switching to a development environment.
* **Misc** Allow leading underscore (`_`) for private functions and variables in format checker.
* **Misc** Suppress frequent version check when a certain database option is cached.
* **Misc** Dropped `sanitize_file_name` usage to prevent template failure when 3rd party plugins manipulate that filter.

= 7.3.0.1 - Jul 30 2025 =
* **Page Optimize** Fixed the page score impact caused by CSS placeholder. (wpconvert, Sean Thompson)
* **Page Optimize** Fixed wrong prefetch/preload injection when a page contains other `<title>` tags. (idatahuy)
* **Crawler** Bypassed port test if no server IP set. (kptk, serkanix, Guillermo)

= 7.3 - Jul 24 2025 =
* 🌱**CLI** Added `wp litespeed-database` database optimization command.
* 🌱**Misc** Added survey and data deletion reminder in deactivation process.
* **Core** Refactored the template files to comply with WordPress standards.
* **Core** Refactored the CLI files to comply with WordPress standards. Fixed a bug with CLI `option` command failure handler.
* **ESI** Fixed a case where the Edit button is missing on the frontend when the permalink structure is `Plain`. (#934261 PR#860)
* **API** Added `litespeed_purge_tags` filter to allow manipulation of purge tags.
* **API** Allowed overriding `litespeed_ui_events` via window property. (Zsombor Franczia PR#865)
* **API** Added `litespeed_vpi_should_queue` filter to allow control over appending to the VPI queue. (tompalmer #855, Viktor Szépe PR#856)
* **Debug** Allowed debug at multisite network level. (PR#861)
* **Vary** Fixed a possible duplicate WebP vary in Chrome when mimicking an iPhone visit.
* 🐞**Vary** Used simpler rewrite rule to check for next generation image format support.
* **Page Optimize** Tuned the optimized data injection location in HTML to improve SEO. (videofinanzas)
* **Page Optimize** Improved DNS prefetch and preconnect sequence in HTML to be as early as possible. Simplified DNS optimization code.
* 🐞**Page Optimize** Added the JS Delay library that was missing when page optimization was off while iframe lazy load was on. (Zsombor Franczia #867)
* 🐞**Page Optimize** Allowed lazy load threshold overwrite. (Zsombor Franczia #852 PR#857)
* 🐞**Page Optimize** Fixed an issue where the `async` attribute was replaced even when it contained a value, e.g. `async=true`. (@macorak)
* 🐞**Cloud** Fixed the API call timestamp file creation warning.
* **Cloud** No longer include public key when logging QUIC.cloud registration process.
* **Image Optimize** Resend all images that failed to pull instead of bypassing them. (Ryan D)
* **Crawler** Checked QUIC.cloud CDN for crawler hit. (PR#866)
* 🐞**Crawler** Fixed an issue where the non-role-simulator crawler added the whole map to the blocklist on servers that only support port 80.
* **GUI** Added Enable All Features icon to admin bar when all features are disabled. This replaces the banner that previously displayed in admin. (Tobolo, PR#868)
* **GUI** Dropped font files. (Masoud Najjar Khodabakhsh)
* **3rd** Resolved an issue with an empty WooCommerce ESI nonce and HTML comments on geolocation redirection. (#612331 PR#708)
* **OPcache** Detected `opcache.restrict_api` setting to prevent PHP warning in purge. (ookris #9496550 PR#812)
* **Misc** Simplified admin JavaScript.
* **Misc** Fixed download import file extension issue on mobile. (autori76 #874)
* **Misc** Added existing plugin version to ping API for debugging purposes.
* **Misc** Fixed comment typos reported by static analysis. (Viktor Szépe PR#836)
* **Misc** Removed global variables from plugin initialization file. (Viktor Szépe PR#837)

= 7.2 - Jun 18 2025 =
* 🌱**CDN** New option: Cloudflare Clear on purge all. (PR#828)
* **Core** Used `site_url` instead of `home_url` to fix the content folder parsing and QUIC.cloud calls.
* 🐞**Cloud** Fixed a bug where we tried to sync QUIC.cloud usage while debug mode was ON, even when QC was not activated.
* **Cloud** Stored request timestamp in static files along w/ database to prevent duplicate requests when database is down.
* **Cache** Dropped `Cache PHP Resources` option.
* **Cache** Added verification to prevent admin pages from caching even if the site is set to be globally cacheable.
* **Image Optimize** Disable image pull cron if there have been no image notifications.
* **Crawler** Non-role simulator crawler will now use DNS resolve to hit original server instead of CDN nodes.
* **Media** Resolved an issue where deleting an image from grid mode neglected to also remove the optimized versions of the image. (PR#844, Zsombor Franczia #841)
* **Media** Allowed filter `litespeed_next_gen_format` to manipulate the value of next gen format. (Zsombor Franczia #853)
* **3rd** Elementor: Clear all caches on regenerate CSS & Data. (PR#806)
* **Config** `Purge All On Upgrade` now defaults to OFF.
* **GUI** Showed `Disable all features` message on all WP-Admin pages for Admin-level users when enabled.
* **Misc** Used PHPCS w/ WordPress core and security coding standards to reformat cache menu code. (Viktor Szépe #696)
* **Misc** Replaced use of `SHOW TABLES` with `DESCRIBE` to prevent database halt in very large WP Multisite installations. (Boone Gorges PR#834, PR#850)
* **Misc** Replaced constants with WordPress functions to check whether AJAX or CRON is running.
* **API** Added action `litespeed_save_conf` to provide a trigger for configuration updates.

= 7.1 - Apr 24 2025 =
* 🌱**Page Optimize** Added allowlist support for CCSS.
* **Cloud** CCSS results are now generated asynchronously via QUIC.cloud queue services.
* **Cloud** Added TTL control to QUIC.cloud services to make next requests more flexible.
* **Crawler** Dropped non-WebP/AVIF crawler if Next Gen Images are being used.
* 🐞**Config** Fixed an .htaccess generation bug that occurred when reactivating after previous deactivation. (PR#825)
* **GUI** Improved the QC registration notice banner for online services thanks to user feedback.
* **GUI** QUIC.cloud management links will be opened in a single dedicated new window to prevent multiple sessions.
* **Page Optimization** Enhanced URL fetch validation to avoid exposing possible local info.
* **Debug** Added a Click to copy logs button under `Log View` tab.
* **CLI** Removed a vary warning log in CLI for QC activation process with a customized login cookie.
* **CLI** Removed a log failure in CLI in QC activation process when no existing admin message.
* **Misc** Check version only after upgrade to reduce the requests.
* **Misc** Switched to CyberPanel.sh to detect public IP for dash tool.

= 7.0.1 - Apr 8 2025 =
* **Page Optimize** Migrate legacy data to append trailing slash for better compatibility with v7.0-optimized UCSS/CCSS data.

= 7.0.0.1 - Mar 27 2025 =
* **GUI** Resolved a banner message display error in certain old version cases.
* **GUI** Fixed a continual error banner when site doesn't use QC.
* **Config** Fixed a continual CDN sync_conf/purge check issue after upgraded to v7.0.
* **3rd** Improved WPML multi lang sync_conf compatibility.

= 7.0 - Mar 25 2025 =
* 🌱**Image Optimization** Added AVIF format.
* **Core** Changed plugin classes auto load to preload all to prevent upgrade problems.
* **Core** Refactored configuration data initialization method to realtime update instead of delayed update in plugin upgrade phase.
* **Core** Used `const.default.json` instead of `const.default.ini` for better compatibility in case `parse_ini_file()` is disabled.
* **Core** Minimum required PHP version escalated to PHP v7.2.0.
* **Core** Minimum required WP version escalated to WP v5.3.
* **Cloud** Dropped `Domain Key`. Now using sodium encryption for authentication and validation.
* **Cloud** Added support for `list_preferred` in online service node detection.
* **Cloud** Fixed a domain expiry removal PHP warning. (cheekymate06)
* **Cloud** Auto dropped Cloud error message banner when successfully reconnected.
* **Cloud** Simplified the configure sync parameters to only compare and post the necessary settings.
* **Config** Simplified QUIC.cloud CDN Setup. CDN service is now automatically detected when activated in the QUIC.cloud Dashboard.
* **Config** Dropped the initial version check when comparing md5 to decide if whether to sync the configuration when upgrading the plugin.
* **Config** `LITESPEED_DISABLE_ALL` will now check the value to determine whether it's been applied.
* **Database Optimize** Fixed Autoload summary for WP6.6+. (Mukesh Panchal/Viktor Szépe)
* **CLI** Added QUIC.cloud CDN CLI command: `wp litespeed-online cdn_init --ssl-cert=xxx.pem --ssl-key=xxx -method=cname|ns|cfi`.
* **CLI** Added QUIC.cloud CDN CLI command: `wp litespeed-online link --email=xxx@example.com --api-key=xxxx`.
* **CLI** Added QUIC.cloud CDN CLI command: `wp litespeed-online cdn_status`.
* **CLI** Added `--force` argument for QUIC.cloud CLI command `wp litespeed-online ping`.
* **Image Optimization** Dropped `Auto Pull Cron` setting. Added PHP const `LITESPEED_IMG_OPTM_PULL_CRON` support.
* **Image Optimization** Added Soft Reset Counter button to allow restarting image optimization without destroying previously optimized images.
* **Image Optimization** Added support for `LITESPEED_IMG_OPTM_PULL_THREADS` to adjust the threads to avoid PHP max connection limits.
* **Image Optimization** Added support for the latest firefox WebP Accept header change for serving WebP.
* **Image Optimization** Allowed PHP Constant `LITESPEED_FORCE_WP_REMOTE_GET` to force using `wp_remote_get()` to pull images.
* **Image Optimization** Dropped API filter `litespeed_img_optm_options_per_image`.
* **Image Optimization** Auto redirect nodes if the server environment is switched between Preview and Production.
* **Purge** Allowed `LSWCP_EMPTYCACHE` to be defined as false to disable the ability to Purge all sites.
* **Purge** Each purge action now has a hook.
* **Purge** Fixed `PURGESINGLE` and `PURGE` query string purge tag bug.
* **Purge** `PURGE` will purge the single URL only like `PURGESINGLE`.
* **ESI** Fixed a log logic failure when ESI buffer is empty.
* **ESI** Added Elementor nonces (jujube0ajluxl PR#736)
* **ESI** Fixed a no-cache issue in no-vary ESI requests that occurred when `Login Cookie` was set.
* **ESI** ESI will no longer send cookie update headers.
* **Vary** Vary name correction, which used to happen in the `after_setup_theme` hook, now happens later in the `init` hook.
* **Crawler** Enhanced hash generation function for cryptographic security.
* **Crawler** Added back `Role Simulator` w/ IP limited to `127.0.0.1` only. Use `LITESPEED_CRAWLER_LOCAL_PORT` to use 80 if original server does not support 443.
* **Crawler** Enhanced Role Simulator security by disallowing editor or above access in settings.
* **Crawler** Defaulted and limited crawler `Run Duration` maximum to 900 seconds and dropped the setting.
* **Crawler** Crawler will be stopped when load limit setting is 0.
* **Crawler** Dropped `Delay` setting. Added PHP const `LITESPEED_CRAWLER_USLEEP` support.
* **Crawler** Dropped `Timeout` setting. Added PHP const `LITESPEED_CRAWLER_TIMEOUT` support.
* **Crawler** Dropped `Threads` setting. Added PHP const `LITESPEED_CRAWLER_THREADS` support.
* **Crawler** Dropped `Interval Between Runs` setting. Added PHP const `LITESPEED_CRAWLER_RUN_INTERVAL` support.
* **Crawler** Dropped `Sitemap Timeout` setting. Added PHP const `LITESPEED_CRAWLER_MAP_TIMEOUT` support.
* **Crawler** Dropped `Drop Domain from Sitemap` setting. Added PHP const `LITESPEED_CRAWLER_DROP_DOMAIN` support.
* **Crawler** Fixed wrong path of .pid file under wp-admin folder in certain case. (igobybus)
* **Crawler** Show an empty map error and disabled crawler when the map is not set yet.
* **Page Optimize** Updated request link parser to follow the site permalink. (Mijnheer Eetpraat #766)
* **Page Optimize** Updated latest CSS/JS optimization library to fix issues for RGB minification and external imports when combining CSS.
* **Page Optimize** Exclude Google Analytics from JavaScript optimization. (James M. Joyce #269 PR#726)
* **Page Optimize** Fixed typo in `LITESPEED_NO_OPTM` constant definition. (Roy Orbitson PR#796)
* **CDN** Fixed CDN replacement for inline CSS url with round brackets case. (agodbu)
* **GUI** Added an Online Service tab under General menu.
* **GUI** Added a QUIC.cloud CDN tab.
* **GUI** Combined all Crawler settings to a single setting tab.
* **GUI** Switch buttons rtl compatibility. (Eliza/Mehrshad Darzi #603)
* **GUI** Fixed an issue where an irremovable banner couldn't be echoed directly.
* **GUI** Limited page speed chart to cacheable servers only.
* **Tag** Fixed a potential warning in tags. (ikiterder)
* **Tag** Appended AJAX action to cache tags.
* **Tag** Dropped normal HTTP code. Only error codes (403/404/500) will be used for tags.
* **Misc** Fixed fatal activation error on Network installation when no other plugins are active. (PR#808 #9496550)
* **Misc** Improved README file by adding minimum supported PHP/WordPress versions. (Viktor Szépe)
* **Misc** Added reliance on just-in-time translation loading. (Pascal Birchler #738)
* **Misc** Will now check whether the filename is valid before saving a file to fix the possible Object Cache log issue. (Mahdi Akrami #761)
* **Misc** Fixed PHP 7.2 compatibility in cloud message. (Viktor Szépe #771)
* **Misc** Incompatibility warning banner for third party plugins is now dismissible.
* **Misc** Generated robots.txt file under litespeed folder to discourage search engine indexing of static resource files. (djwilko12)
* **Debug** Escalated debug initialization to as early as possible to allow more configuration information to be logged.
* **3rd** Fixed warning in Buddy Press code integration. (Viktor Szépe/antipole PR#778)

= 6.5.4 - Dec 16 2024 =
* **Page Optimize** Fixed Google Fonts broken with the Async option. (HivePress #787)

= 6.5.3 - Dec 4 2024 =
* **Misc** Quote escaped in attributes when building HTML. (CVE-2024-51915)

= 6.5.2 - Oct 17 2024 =
* **Crawler** Removed barely used Role Simulator from Crawler, to prevent potential security issues.
* **Misc** Removed `mt_srand` function in random hash generation to slightly improve the hash result.

= 6.5.1 - Sep 25 2024 =
* **Security** This release includes two security updates to enhance the post validation of the editor (CVE-2024-47373), and to secure the GUI queue display from malicious vary input (CVE-2024-47374).
* **Media** Sanitized dimensions for the images when replacing with placeholders. (TaiYou)
* **Page Optimize** Sanitized vary value in queue list. (TaiYou)
* **Cloud** Silent API error when failing to retrieve news updates.

= 6.5.0.2 - Sep 6 2024 =
* **Debug** Compatibility improvement for WP installations w/o `AUTH_KEY` defined in `wp-config.php`.

= 6.5.0.1 - Sep 4 2024 =
* 🔥**Debug** Fixed a corner case fatal error when Object Cache is ON but failed to connect, and `wp-content/litespeed` directory is not writable, and debug option is ON.

= 6.5 - Sep 4 2024 =
*❗**Security** This release includes several debug log improvements for improved security, as listed below. Update strongly recommended.
* **Debug** Moved debug log to litespeed individual folder `/wp-content/litespeed/debug/`.
* **Debug** Disallowed visits to `/litespeed/debug/` folder log files in .htaccess.
* **Debug** Dropped const `LSCWP_DEBUG_PATH` support.
* **Debug** Renamed `debug.purge.log` to `purge.log`.
* **Debug** Added dummy `index.php` for debug folder.
* **Debug** Used random string for log filenames.
* **Debug** Removed cookies-related info. (Thanks to Rafie)
* **Debug** Dropped `Log Cookies` option.
* **Report** Escaped report content to protect it from potential XSS attack. (Islam R alsaid #505746)
* **ESI** Added nonce for Advanced Custom Fields + Advanced Forms. (David Lapointe Gilbert #439)
* **Purge** Run ACTION_PURGE_EMPTYCACHE even if cache is disabled in network admin. (Philip #453)
* **Page Optimize** Disable UCSS exclusion when UCSS is inactived. (#640)
* **3rd** Fixed undefined warning in WooCommerce Widgets. (Lolosan #719)
* **3rd** Correct the integration with User Switching. (John Blackbourn #725)
* **3rd** Fixed Admin Bar Missing issue on DIVI + Elementor frontend. (thyran/robertstaddon PR#727)

= 6.4.1 - Aug 19 2024 =
* ❗**Security** This release patches a security issue that may affect previous LSCWP versions since v1.9.
* 🐞**Page Optimize** Fixed HTML minification returning blank page issue. (#706)
* 🐞**CDN** Fixed a bug when Cloudflare status option is empty. (#684 #992174)
* **Core** Minimum required WP version escalated to WP v4.9.

= 6.4 - Aug 13 2024 =
* **Cache** Corrected QC and LSADC cache hit status.
* **Cloud** Allow partner info removal in QUIC.cloud notification.
* **Crawler** Separated CSS preparation validation from crawler validation.
* **GUI** Moved `WordPress Image Quality Control` setting from `Image Optimization` menu to `Page Optimization` menu.
* **3rd** Add Elementor Edit button back in ESI. (PR#635)
* **3rd** Fixed Instant click potential conflict w/ other plugins.

= 6.3.0.1 - Jul 29 2024 =
* 🔥🐞**Rest** Disabled WP default Editor cache for REST requests to fix editor errors. (Shivam)
* **Cache** Supported `cache_nocacheable.txt` predefined settings.

= 6.3 - Jul 22 2024 =
* 🌱**Page Optimize** HTML Keep Comments: When minifying HTML do not discard comments that match a specified pattern. (#328853)
* 🌱**Cache** Cache POST requests. Now can configure POST/GET AJAX requests to be cached. (#647300)
* **Cache** Bypass admin initialization when doing ajax call. (Tim)
* **Cache** Better control over the cache location #541 (Gal Baras/Tanvir Israq)
* **Cloud** Added nonce for callback validation to enhance security. (Chloe@Wordfence)
* **Cloud** Fixed an error message for daily quota.
* **Cloud** Display error message when communicating with QUIC.cloud causes a token error.
* **ESI** Bypass ESI at an earlier stage when getting `DONOTCACHEPAGE`.
* **ESI** Added ESI nonce for Events Calendar and jetMenu mobile hamburger menu. (#306983 #163710 PR#419)
* **ESI** Added WP Data Access nonce (PR#665)
* **ESI** Added WP User Frontend ESI nonce (PR#675)
* **Media** Ignored images from JS in image size detection (PR#660)
* **GUI** Moved Preset menu from network level to site level for multisite networks.
* **GUI** Suppressed sitemap generation message if not triggered manually.
* **GUI** Added CloudFlare purge to front end menu.
* **GUI** Allowed customized partner CDN login link on dash.
* **Page Optimize** Cleaned up litespeed_url table when clearing url files. (PR#664)
* **Page Optimize** Updated Instant Click library to version 5.2.0.
* **Page Optimize** Added Flatsome theme random string excludes. (PR#415)
* **Page Optimize** Exclude Cloudflare turnstile from JS optimizations. (Tobolo)
* **Page Optimize** Fixed Cloudflare Turnstile issues. (Contributolo PR#671/672)
* **Object** Improved debug log for object cache status. (PR#669)
* **Object** Added brief parseable header comments to the drop-in file. (OllieJones)
* **Debug** Trimmed debug log.
* **Misc** Improved compatibility and sped up resolving for JSON functions `json_encode/json_decode`. (hosni/szepeviktor #693)
* **Misc** Fixed typos in params and comments. (szepeviktor #688)
* **Image Optimization** Fixed an issue which suppressed new requests when there were no new images in the library but there were unprocessed images in the send queue.
* **Image Optimization** Improved Cloud side quota check by disallowing new requests if notified but not pulled.
* **Image Optimization** Keep image attributes when replacing dimensions. (PR#686 #381779)

= 6.2.0.1 - Apr 25 2024 =
* 🔥🐞**Page Optimize** Fixed the image display issue that occurs with Elementor's `data-settings` attribute when the WebP image is not yet ready. (kanten/cbwwebmaster/reedock #132840 #680939 #326525)

= 6.2 - Apr 23 2024 =
* 🌱**Crawler** Added Crawler hit/miss filter. (#328853)
* 🌱**CLI** Image optimization now supports `wp litespeed-image batch_switch orig/optm`. (A2Hosting)
* 🌱**VPI** Auto preload VPI images. (Ankit)
* **Object** Added support for username/password authentication for Redis (PR#616 Donatas Abraitis/hostinger)
* **Page Optimize** Now supporting Elementors data-settings WebP replacement. (Thanks to Ryan D)
* **Cache** Send `Cache-Control: no-cache, no-store, must-revalidate, max-age=0` when page is not cacheable. (asafm7/Ruikai)
* **Cache** Cache control will respect `X-Http-Method-Override` now. (George)
* **Cache** No cache for `X-Http-Method-Override: HEAD`. (George)
* **Cache** Specified LSCWP in adv-cache compatible file.
* **Cache** Fixed redirection loop if query string has tailing ampersand (#389629)
* **Cache** Dropped "Cache Favicon.ico" option as it is redundant with 404 cache. (Lauren)
* **Cache** Fixed deprecated PHP v8 warning in page redirection. (Issue#617 dcx15)
* **Cloud** REST callback used ACL for QC ips validation.
* **Cloud** Fixed a typo in parsing cloud msg which prevented error messages to show.
* **Cloud** Carried on PHP ver for better version detection purpose.
* **Cloud** Escaped token to show correctly in report.
* **Cloud** Fixed a QC cloud ip verification setup failure in PHP 5.3.
* 🐞**Cloud** Fixed a continual new version detection.
* 🐞**Image Optimize** Fixed a summary counter mismatch for finished images. (A2Hosting)
* **CDN** Auto CDN setup compatibility with WP versions less than 5.3.
* 🐞**CDN** Fixed wrong replacement of non image files in image replacement. (Lucas)
* **GUI** Further filtered admin banner messages to prevent from existing danger code in database.
* **REST** Fixed a potential PHP warning in REST check when param is empty. (metikar)

= 6.1 - Feb 1 2024 =
* 🌱**Database** New Clear Orphaned Post Meta optimizer function.
* **Image Optimize** Fixed possible PHP warning for WP requests library response.
* **Image Optimize** Unlocked `noabort` to all async tasks to avoid image optimization timeout. (Peter Wells)
* **Image Optimize** Fixed an issue where images weren't being pulled with older versions of WordPress. (PR#608)
* **Image Optimize** Improved exception handling when node server cert expire.
* 🐞**Image Optimize** The failed to pull images due to 404 expiry will now be able to send the request again.
* **Crawler** CLI will now be able to force crawling even if a crawl was recently initiated within the plugin GUI.
* **Page Optimize** Fixed a dynamic property creation warning in PHP8. (PR#606)
* **Page Optimize** Fixed an issue where getimagesize could cause page optimization to fail. (PR#607)
* **Tag** Fixed an array to string conversion warning. (PR#604)
* **Object Cache** Return false to prevent PHP warning when Redis fails to set a value. (PR#612)
* **Cache Tag** Fixed an issue where $wp_query is null when getting cache tags. (PR#589)

= 6.0.0.1 - Dec 15 2023 =
* 🐞**Image Optimize** Grouped the taken notification to regional center servers to reduce the load after image pulled.

= 6.0 - Dec 12 2023 =
* 🌱**Image Optimize** Parallel pull. (⭐ Contributed by Peter Wells #581)
* 🌱**Cache** CLI Crawler.
* 🌱**Cache** New Vary Cookies option.
* 🌱**Media** New Preload Featured Image option. (Ankit)
* **Core** Codebase safety review. (Special thanks to Rafie Muhammad @ Patchstack)
* **Purge** Purge will not show QC message if no queue is cleared.
* **Purge** Fixed a potential warning when post type is not as expected. (victorzink)
* **Conf** Server IP field may now be emptied. (#111647)
* **Conf** CloudFlare CDN setting vulnerability patch. (Gulshan Kumar #541805)
* **Crawler** Suppressed sitemap generation msg when running by cron.
* **Crawler** PHP v8.2 Dynamic property creation warning fix. (oldrup #586)
* **VPI** VPI can now support non-alphabet filenames.
* **VPI** Fixed PHP8.2 deprecated warning. (Ryan D)
* **ESI** Fixed ESI nonce showing only HTML comment issue. (Giorgos K.)
* 🐞**Page Optimize** Fixed a fatal PHP error caused by the WHM plugin's Mass Enable for services not in use. (Michael)
* 🐞**Network** Fix in-memory options for multisites. (Tynan #588)
* **Network** Correct `Disable All Features` link for Multisite.
* 🐞**Image Optimize** Removing original image will also remove optimized images.
* **Image Optimize** Increased time limit for pull process.
* **Image Optimize** Last pull time and cron tag now included in optimization summary.
* **Image Optimize** Fixed Elementors Slideshow unusual background images. (Ryan D)
* 🐞**Database Optimize** Fix an issue where cleaning post revisions would fail while cleaning postmeta. (Tynan #596)
* **Crawler** Added status updates to CLI. (Lars)
* **3rd** WPML product category purge for WooCommerce. (Tynan #577)

= 5.7.0.1 - Oct 25 2023 =
* **GUI** Improvements to admin banner messaging. (#694622)
* **CDN** Improvements to CDN Setup. (#694622)
* **Image Optimize** Improvements to the process of checking image identification. (#694622)

= 5.7 - Oct 10 2023 =
* 🌱**Page Optimize** New option available: Preconnect. (xguiboy/Mukesh Patel)
* 🌱**3rd** New Vary for Mini Cart option for WooCommerce. (Ruikai)
* **Cloud** Force syncing the configuration to QUIC.cloud if CDN is reenabled.
* **Cloud** Force syncing the configuration to QUIC.cloud if domain key is readded.
* **Cloud** Limit multi-line fields when posting to QC.
* **Cache** Treat HEAD requests as cacheable as GET. (George Wang)
* 🐞**ESI** Patched a possible vulnerability issue. (István Márton@Wordfence #841011)
* 🐞**ESI** Overwrite SCRIPT_URI to prevent ESI sub request resulting in redirections. (Tobolo)
* 🐞**Image Optimize** Bypass unnecessary image processing when images were only partially optimized. (Ruikai)
* 🐞**Guest** Guest mode will not enable WebP directly anymore. (Michael Heymann)
* **CDN** Auto disable CDN if CDN URL is invalid. (Ruikai)
* **CDN** Fixed a null parameter warning for PHP v8.1 (#584)
* **API** Added `litespeed_media_add_missing_sizes` filter to allow bypassing Media's "add missing sizes" option (for Guest Optimization and otherwise). (PR #564)
* **Guest** Fixed soft 404 and robots.txt report for guest.vary.php.
* **Vary** Enabled `litespeed_vary_cookies` for LSWS Enterprise.
* **GUI** Stopped WebP tip from wrongly displaying when Guest Mode is off.
* **GUI** Added QUIC.cloud promotion postbox on dashboard page.
* **3rd** Added `pagespeed ninja` to blocklist due to its bad behavior.
PK�^�\Mv��gg#litespeed-cache/litespeed-cache.phpnu�[���<?php
/**
 * Plugin Name:       LiteSpeed Cache
 * Plugin URI:        https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
 * Description:       High-performance page caching and site optimization from LiteSpeed
 * Version:           7.7
 * Author:            LiteSpeed Technologies
 * Author URI:        https://www.litespeedtech.com
 * License:           GPLv3
 * License URI:       https://www.gnu.org/licenses/gpl-3.0.html
 * Text Domain:       litespeed-cache
 * Domain Path:       /lang
 *
 * @package           LiteSpeed
 *
 * Copyright (C) 2015-2025 LiteSpeed Technologies, Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

defined( 'WPINC' ) || exit();

if ( defined( 'LSCWP_V' ) ) {
	return;
}

! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '7.7' );

! defined( 'LSCWP_CONTENT_DIR' ) && define( 'LSCWP_CONTENT_DIR', WP_CONTENT_DIR );
! defined( 'LSCWP_DIR' ) && define( 'LSCWP_DIR', __DIR__ . '/' ); // Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU
! defined( 'LSCWP_BASENAME' ) && define( 'LSCWP_BASENAME', 'litespeed-cache/litespeed-cache.php' ); // LSCWP_BASENAME='litespeed-cache/litespeed-cache.php'

/**
 * This needs to be before activation because admin-rules.class.php need const `LSCWP_CONTENT_FOLDER`
 * This also needs to be before cfg.cls init because default cdn_included_dir needs `LSCWP_CONTENT_FOLDER`
 *
 * @since  5.2 Auto correct protocol for CONTENT URL
 */
$wp_content_url = WP_CONTENT_URL;
$site_url       = site_url( '/' );
if ( 'http:' === substr( $wp_content_url, 0, 5 ) && 'https' === substr( $site_url, 0, 5 ) ) {
	$wp_content_url = str_replace( 'http://', 'https://', $wp_content_url );
}
! defined( 'LSCWP_CONTENT_FOLDER' ) && define( 'LSCWP_CONTENT_FOLDER', str_replace( $site_url, '', $wp_content_url ) ); // `wp-content`
unset( $site_url );
! defined( 'LSWCP_PLUGIN_URL' ) && define( 'LSWCP_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); // Full URL path '//example.com/wp-content/plugins/litespeed-cache/'

/**
 * Static cache files consts
 *
 * @since  3.0
 */
! defined( 'LITESPEED_DATA_FOLDER' ) && define( 'LITESPEED_DATA_FOLDER', 'litespeed' );
! defined( 'LITESPEED_STATIC_URL' ) && define( 'LITESPEED_STATIC_URL', $wp_content_url . '/' . LITESPEED_DATA_FOLDER ); // Full static cache folder URL '//example.com/wp-content/litespeed'
unset( $wp_content_url );
! defined( 'LITESPEED_STATIC_DIR' ) && define( 'LITESPEED_STATIC_DIR', LSCWP_CONTENT_DIR . '/' . LITESPEED_DATA_FOLDER ); // Full static cache folder path '/var/www/html/***/wp-content/litespeed'

! defined( 'LITESPEED_TIME_OFFSET' ) && define( 'LITESPEED_TIME_OFFSET', get_option( 'gmt_offset' ) * 60 * 60 );

// Placeholder for lazyload img
! defined( 'LITESPEED_PLACEHOLDER' ) && define( 'LITESPEED_PLACEHOLDER', 'data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=' );

// Auto register LiteSpeed classes
require_once LSCWP_DIR . 'autoload.php';

// Define CLI
if ( ( defined( 'WP_CLI' ) && constant('WP_CLI') ) || 'cli' === PHP_SAPI ) {
	! defined( 'LITESPEED_CLI' ) && define( 'LITESPEED_CLI', true );

	// Register CLI cmd
	if ( method_exists( 'WP_CLI', 'add_command' ) ) {
		WP_CLI::add_command( 'litespeed-option', 'LiteSpeed\CLI\Option' );
		WP_CLI::add_command( 'litespeed-purge', 'LiteSpeed\CLI\Purge' );
		WP_CLI::add_command( 'litespeed-online', 'LiteSpeed\CLI\Online' );
		WP_CLI::add_command( 'litespeed-image', 'LiteSpeed\CLI\Image' );
		WP_CLI::add_command( 'litespeed-debug', 'LiteSpeed\CLI\Debug' );
		WP_CLI::add_command( 'litespeed-presets', 'LiteSpeed\CLI\Presets' );
		WP_CLI::add_command( 'litespeed-crawler', 'LiteSpeed\CLI\Crawler' );
		WP_CLI::add_command( 'litespeed-database', 'LiteSpeed\CLI\Database' );
	}
}

// Server type
if ( ! defined( 'LITESPEED_SERVER_TYPE' ) ) {
	$http_x_lscache  = isset( $_SERVER['HTTP_X_LSCACHE'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_LSCACHE'] ) ) : '';
	$lsws_edition    = isset( $_SERVER['LSWS_EDITION'] ) ? sanitize_text_field( wp_unslash( $_SERVER['LSWS_EDITION'] ) ) : '';
	$server_software = isset( $_SERVER['SERVER_SOFTWARE'] ) ? sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) ) : '';

	if ( $http_x_lscache ) {
		define( 'LITESPEED_SERVER_TYPE', 'LITESPEED_SERVER_ADC' );
	} elseif ( 0 === strpos( $lsws_edition, 'Openlitespeed' ) ) {
		define( 'LITESPEED_SERVER_TYPE', 'LITESPEED_SERVER_OLS' );
	} elseif ( 'LiteSpeed' === $server_software ) {
		define( 'LITESPEED_SERVER_TYPE', 'LITESPEED_SERVER_ENT' );
	} else {
		define( 'LITESPEED_SERVER_TYPE', 'NONE' );
	}
}

// Checks if caching is allowed via server variable
if ( ! empty( $_SERVER['X-LSCACHE'] ) || 'LITESPEED_SERVER_ADC' === LITESPEED_SERVER_TYPE || defined( 'LITESPEED_CLI' ) ) {
	! defined( 'LITESPEED_ALLOWED' ) && define( 'LITESPEED_ALLOWED', true );
}

// ESI const definition
if ( ! defined( 'LSWCP_ESI_SUPPORT' ) ) {
	define( 'LSWCP_ESI_SUPPORT', LITESPEED_SERVER_TYPE !== 'LITESPEED_SERVER_OLS' );
}

if ( ! defined( 'LSWCP_TAG_PREFIX' ) ) {
	define( 'LSWCP_TAG_PREFIX', substr( md5( LSCWP_DIR ), -3 ) );
}

if ( ! function_exists( 'litespeed_exception_handler' ) ) {
	/**
	 * Handle exception
	 *
	 * @param int    $errno   Error number.
	 * @param string $errstr  Error string.
	 * @param string $errfile Error file.
	 * @param int    $errline Error line.
	 * @throws \ErrorException When an error is encountered.
	 */
	function litespeed_exception_handler( $errno, $errstr, $errfile, $errline ) {
		throw new \ErrorException(
			esc_html( $errstr ),
			0,
			absint( $errno ),
			esc_html( $errfile ),
			absint( $errline )
		);
	}
}

if ( ! function_exists( 'litespeed_define_nonce_func' ) ) {
	/**
	 * Overwrite the WP nonce funcs outside of LiteSpeed namespace
	 *
	 * @since  3.0
	 */
	function litespeed_define_nonce_func() {
		/**
		 * If the nonce is in none_actions filter, convert it to ESI
		 *
		 * @param mixed $action Action name or -1.
		 * @return string
		 */
		function wp_create_nonce( $action = -1 ) {
			if ( ! defined( 'LITESPEED_DISABLE_ALL' ) || ! LITESPEED_DISABLE_ALL ) {
				$control = \LiteSpeed\ESI::cls()->is_nonce_action( $action );
				if ( null !== $control ) {
					$params = array(
						'action' => $action,
					);
					return \LiteSpeed\ESI::cls()->sub_esi_block( 'nonce', 'wp_create_nonce ' . $action, $params, $control, true, true, true );
				}
			}

			return wp_create_nonce_litespeed_esi( $action );
		}

		/**
		 * Ori WP wp_create_nonce
		 *
		 * @param mixed $action Action name or -1.
		 * @return string
		 */
		function wp_create_nonce_litespeed_esi( $action = -1 ) {
			$uid = get_current_user_id();
			if ( ! $uid ) {
				/** This filter is documented in wp-includes/pluggable.php */
				$uid = apply_filters( 'nonce_user_logged_out', $uid, $action );
			}

			$token = wp_get_session_token();
			$i     = wp_nonce_tick();

			return substr( wp_hash( $i . '|' . $action . '|' . $uid . '|' . $token, 'nonce' ), -12, 10 );
		}
	}
}

if ( ! function_exists( 'run_litespeed_cache' ) ) {
	/**
	 * Begins execution of the plugin.
	 *
	 * @since    1.0.0
	 */
	function run_litespeed_cache() {
		// Check minimum PHP requirements, which is 7.2 at the moment.
		if ( version_compare( PHP_VERSION, '7.2.0', '<' ) ) {
			return;
		}

		// Check minimum WP requirements, which is 5.3 at the moment.
		if ( version_compare( $GLOBALS['wp_version'], '5.3', '<' ) ) {
			return;
		}

		\LiteSpeed\Core::cls();
	}

	run_litespeed_cache();
}
PK�^�\�+_�<<.litespeed-cache/assets/css/litespeed-dummy.cssnu�[���/* To be replaced in `head` to control optm data location */PK�^�\���II/litespeed-cache/assets/css/litespeed-legacy.cssnu�[���.litespeed-wrap h2.nav-tab-wrapper,
.litespeed-wrap h3.nav-tab-wrapper {
	margin-bottom: 0;
}

.litespeed-wrap h2 .nav-tab {
	font-size: 14px;
}

.litespeed-wrap .striped > tbody > :nth-child(odd),
.litespeed-wrap ul.striped > :nth-child(odd),
.litespeed-wrap .alternate {
	background-color: #f9f9f9;
}

.litespeed-wrap .notice,
.litespeed-wrap div.updated,
.litespeed-wrap div.error {
	border-left: 4px solid #fff;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
	padding: 1px 12px;
}

.litespeed-wrap .notice-success,
.litespeed-wrap div.updated {
	border-left-color: #46b450;
}

.litespeed-wrap .notice-success.notice-alt {
	background-color: #ecf7ed;
}

.litespeed-wrap .notice-warning {
	border-left-color: #ffb900;
}

.litespeed-wrap .notice-warning.notice-alt {
	background-color: #fff8e5;
}

.litespeed-wrap .notice-error,
.litespeed-wrap div.error {
	border-left-color: #dc3232;
}

.litespeed-wrap .notice-error.notice-alt {
	background-color: #fbeaea;
}

.litespeed-wrap .notice-info {
	border-left-color: #00a0d2;
}

.litespeed-wrap .notice-info.notice-alt {
	background-color: #e5f5fa;
}
PK�^�\�	c����2litespeed-cache/assets/css/litespeed-dark-mode.cssnu�[���/* =======================================
	   DARK MODE STYLES
======================================= */

/* Dark Mode Toggle Button */
.litespeed-dark-mode-toggle {
	position: fixed;
	top: 32px;
	right: 20px;
	z-index: 999999;
	background: none;
	border: none;
	width: auto;
	height: auto;
	color: inherit;
	cursor: pointer;
	font-size: 16px;
}

/* =======================================
   		  DARK MODE STYLES
   Auto-applied based on browser preference
   OR manually toggled with .litespeed-darkmode class
======================================= */

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) {
		background-color: #1e1e1e;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode {
	background-color: #1e1e1e;
	color: #e0e0e0;
}

/* WordPress admin wrapper */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) #wpwrap {
		background-color: #1e1e1e;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode #wpwrap {
	background-color: #1e1e1e;
	color: #e0e0e0;
}

/* Main content area */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) #wpcontent {
		background-color: #181818;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode #wpcontent {
	background-color: #181818;
	color: #e0e0e0;
}

/* Form inputs */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='text'],
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='number'],
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='email'],
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='url'],
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='password'],
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='search'],
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='file'],
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) textarea,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) select {
		background-color: #2d2d30;
		border: 1px solid #3e3e42;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode input[type='text'],
body.litespeed-darkmode input[type='number'],
body.litespeed-darkmode input[type='email'],
body.litespeed-darkmode input[type='url'],
body.litespeed-darkmode input[type='password'],
body.litespeed-darkmode input[type='search'],
body.litespeed-darkmode input[type='file'],
body.litespeed-darkmode textarea,
body.litespeed-darkmode select {
	background-color: #2d2d30;
	border: 1px solid #3e3e42;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='text']:focus,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='number']:focus,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='email']:focus,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='url']:focus,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='password']:focus,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='search']:focus,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='file']:focus,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) textarea:focus,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) select:focus {
		background-color: #404043;
		border: 1px solid #5a5a5d;
		box-shadow: 0 0 0 1px #0073aa;
	}
}
body.litespeed-darkmode input[type='text']:focus,
body.litespeed-darkmode input[type='number']:focus,
body.litespeed-darkmode input[type='email']:focus,
body.litespeed-darkmode input[type='url']:focus,
body.litespeed-darkmode input[type='password']:focus,
body.litespeed-darkmode input[type='search']:focus,
body.litespeed-darkmode input[type='file']:focus,
body.litespeed-darkmode textarea:focus,
body.litespeed-darkmode select:focus {
	background-color: #404043;
	border: 1px solid #5a5a5d;
	box-shadow: 0 0 0 1px #0073aa;
}

/* Buttons */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-secondary {
		background-color: #3e3e42;
		border-color: #5a5a5d;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .button,
body.litespeed-darkmode .button-secondary {
	background-color: #3e3e42;
	border-color: #5a5a5d;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) circle.litespeed-pie_bg {
		stroke: #3e3e42;
	}
}
body.litespeed-darkmode circle.litespeed-pie_bg {
	stroke: #3e3e42;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) g.litespeed-pie_info text {
		fill: #e0e0e0;
	}
}
body.litespeed-darkmode g.litespeed-pie_info text {
	fill: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) g.litespeed-pie_info .litespeed-pie-done {
		fill: #6dd17e;
	}
}
body.litespeed-darkmode g.litespeed-pie_info .litespeed-pie-done {
	fill: #6dd17e;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-switch input:not(:checked) + label {
		background-color: #3e3e42;
		color: #e0e0e0;
		border: 1px solid #5a5a5d;
	}
}
body.litespeed-darkmode .litespeed-switch input:not(:checked) + label {
	background-color: #3e3e42;
	color: #e0e0e0;
	border: 1px solid #5a5a5d;
}

/* Column with boxes layout */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-with-boxes .postbox {
		border-color: #3e3e42;
	}
}
body.litespeed-darkmode .litespeed-column-with-boxes .postbox {
	border-color: #3e3e42;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-with-boxes > div.litespeed-column-right {
		background-color: #2d2d30;
	}
}
body.litespeed-darkmode .litespeed-column-with-boxes > div.litespeed-column-right {
	background-color: #2d2d30;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-image-optim-summary,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-left-inside {
		background-color: #1e1e1e;
		border: 1px solid #3e3e42;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-image-optim-summary,
body.litespeed-darkmode .litespeed-column-left-inside {
	background-color: #1e1e1e;
	border: 1px solid #3e3e42;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed"]:not(.litespeed-lightmode).litespeed-cache_page_litespeed-img_optm [data-litespeed-layout='summary'],
	body[class*="litespeed"]:not(.litespeed-lightmode).litespeed-cache_page_litespeed-img_optm .litespeed-column-with-boxes > div.litespeed-column-right,
	body[class*="litespeed"]:not(.litespeed-lightmode).litespeed-cache_page_litespeed-cdn .litespeed-column-with-boxes > div.litespeed-column-right,
	body[class*="litespeed"]:not(.litespeed-lightmode).litespeed-cache_page_litespeed-cdn [data-litespeed-layout='qc'] {
		background-color: #181818;
	}
}
body.litespeed-darkmode.litespeed-cache_page_litespeed-img_optm [data-litespeed-layout='summary'],
body.litespeed-darkmode.litespeed-cache_page_litespeed-img_optm .litespeed-column-with-boxes > div.litespeed-column-right,
body.litespeed-darkmode.litespeed-cache_page_litespeed-cdn .litespeed-column-with-boxes > div.litespeed-column-right,
body.litespeed-darkmode.litespeed-cache_page_litespeed-cdn [data-litespeed-layout='qc'] {
	background-color: #181818;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-image-optim-summary-footer,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-with-boxes-footer {
		border-top: 1px solid #373737;
		background: revert;
	}
}
body.litespeed-darkmode .litespeed-image-optim-summary-footer,
body.litespeed-darkmode .litespeed-column-with-boxes-footer {
	border-top: 1px solid #373737;
	background: revert;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-with-boxes-footer {
		border-top: 1px solid #3e3e42;
		background-color: #353539;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-column-with-boxes-footer{
	border-top: 1px solid #3e3e42;
	background-color: #353539;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab:focus:not(.nav-tab-active),
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab:hover:not(.nav-tab-active) {
		background-color: #4d4d51;
		border-color: #666;
		color: #fff
	}
}
body.litespeed-darkmode .nav-tab:focus:not(.nav-tab-active),
body.litespeed-darkmode .nav-tab:hover:not(.nav-tab-active) {
	background-color: #4d4d51;
	border-color: #666;
	color: #fff
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button:hover,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-secondary:hover {
		background-color: #484851;
		border-color: #666;
	}
}
body.litespeed-darkmode .button:hover,
body.litespeed-darkmode .button-secondary:hover {
	background-color: #484851;
	border-color: #666;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-primary {
		background-color: #0073aa;
		border-color: #005a87;
		color: #ffffff;
	}
}
body.litespeed-darkmode .button-primary {
	background-color: #0073aa;
	border-color: #005a87;
	color: #ffffff;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-primary:hover {
		background-color: #005a87;
		border-color: #004a73;
	}
}
body.litespeed-darkmode .button-primary:hover {
	background-color: #005a87;
	border-color: #004a73;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-primary:disabled,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-primary[disabled] {
		background-color: #3e3e42;
		border-color: #5a5a5d;
		color: #8c8f94;
		cursor: not-allowed;
		opacity: 0.6;
	}
}
body.litespeed-darkmode .button-primary:disabled,
body.litespeed-darkmode .button-primary[disabled] {
	background-color: #3e3e42;
	border-color: #5a5a5d;
	color: #8c8f94;
	cursor: not-allowed;
	opacity: 0.6;
}

/* Danger buttons */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-btn-danger-bg,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed .litespeed-btn-danger-bg,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-wrap .litespeed-btn-danger-bg {
		background-color: #dc3232;
		border-color: #b32d2e;
		color: #ffffff;
		box-shadow: 0 1px 0 rgba(179, 45, 46, 0.5);
	}
}
body.litespeed-darkmode .litespeed-btn-danger-bg,
body.litespeed-darkmode .litespeed .litespeed-btn-danger-bg,
body.litespeed-darkmode .litespeed-wrap .litespeed-btn-danger-bg {
	background-color: #dc3232;
	border-color: #b32d2e;
	color: #ffffff;
	box-shadow: 0 1px 0 rgba(179, 45, 46, 0.5);
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-btn-danger-bg:hover,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed .litespeed-btn-danger-bg:hover,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-wrap .litespeed-btn-danger-bg:hover {
		background-color: #b32d2e;
		border-color: #a02622;
	}
}
body.litespeed-darkmode .litespeed-btn-danger-bg:hover,
body.litespeed-darkmode .litespeed .litespeed-btn-danger-bg:hover,
body.litespeed-darkmode .litespeed-wrap .litespeed-btn-danger-bg:hover {
	background-color: #b32d2e;
	border-color: #a02622;
}

/* Notices */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice {
		background-color: #262626;
		border-left: 4px solid #72a9d3;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .notice {
	background-color: #262626;
	border-left: 4px solid #72a9d3;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice-success {
		border-left-color: #46b450;
	}
}
body.litespeed-darkmode .notice-success {
	border-left-color: #46b450;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice-warning {
		border-left-color: #b28100;
	}
}
body.litespeed-darkmode .notice-warning {
	border-left-color: #b28100;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice-error {
		border-left-color: #dc3232;
	}
}
body.litespeed-darkmode .notice-error {
	border-left-color: #dc3232;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice-info {
		border-left-color: #00a0d2;
	}
}
body.litespeed-darkmode .notice-info {
	border-left-color: #00a0d2;
}

/* Striped table notices */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .striped > tbody > :nth-child(even) .notice {
		background-color: #3e3e42;
		box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.3);
	}
}
body.litespeed-darkmode .striped > tbody > :nth-child(even) .notice {
	background-color: #3e3e42;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.3);
}

/* Postboxes */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .postbox {
		background-color: #2d2d30;
		border: 1px solid #767679;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .postbox {
	background-color: #2d2d30;
	border: 1px solid #767679;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .postbox h3,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .postbox .hndle {
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .postbox h3,
body.litespeed-darkmode .postbox .hndle {
	color: #e0e0e0;
}

/* Tables */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) table,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .wp-list-table {
		background-color: #2d2d30;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode table,
body.litespeed-darkmode .wp-list-table {
	background-color: #2d2d30;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .wp-list-table th {
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .wp-list-table th {
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .wp-list-table td {
		border-bottom: 1px solid #3e3e42;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .wp-list-table td {
	border-bottom: 1px solid #3e3e42;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .striped > tbody > :nth-child(odd) {
		background-color: #2d2d30;
	}
}
body.litespeed-darkmode .striped > tbody > :nth-child(odd) {
	background-color: #2d2d30;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .striped > tbody > :nth-child(even) {
		background-color: #353539;
	}
}
body.litespeed-darkmode .striped > tbody > :nth-child(even) {
	background-color: #353539;
}

/* Form tables */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .form-table {
		background: transparent;
	}
}
body.litespeed-darkmode .form-table {
	background: transparent;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .form-table th {
		background: transparent;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .form-table th {
	background: transparent;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .form-table td {
		background: transparent;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .form-table td {
	background: transparent;
	color: #e0e0e0;
}

/* Links */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) a {
		color: #72aee6;
	}
}
body.litespeed-darkmode a {
	color: #72aee6;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) a:hover,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) a:focus {
		color: #9ec8f2;
	}
}
body.litespeed-darkmode a:hover,
body.litespeed-darkmode a:focus {
	color: #9ec8f2;
}

/* Code blocks */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) code {
		background-color: #404043;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode code {
	background-color: #404043;
	color: #e0e0e0;
}

/* Horizontal rules */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) hr {
		border-color: #5a5a5d;
		background-color: #5a5a5d;
	}
}
body.litespeed-darkmode hr {
	border-color: #5a5a5d;
	background-color: #5a5a5d;
}

/* Dashboard widgets */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .dashboard-widget {
		background-color: #2d2d30;
		border: 1px solid #3e3e42;
	}
}
body.litespeed-darkmode .dashboard-widget {
	background-color: #2d2d30;
	border: 1px solid #3e3e42;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .dashboard-widget .widget-top {
		background-color: #404043;
		border-bottom: 1px solid #5a5a5d;
	}
}
body.litespeed-darkmode .dashboard-widget .widget-top {
	background-color: #404043;
	border-bottom: 1px solid #5a5a5d;
}

/* Meta boxes */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .meta-box-sortables .postbox {
		background-color: #2d2d30;
		border: 1px solid #3e3e42;
	}
}
body.litespeed-darkmode .meta-box-sortables .postbox {
	background-color: #2d2d30;
	border: 1px solid #3e3e42;
}

/* LiteSpeed specific styles */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-header {
		border-bottom: 1px solid #5a5a5d;
	}
}
body.litespeed-darkmode .litespeed-header {
	border-bottom: 1px solid #5a5a5d;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-body {
		background-color: #1e1e1e;
		border-left: 1px solid #5a5a5d;
		border-right: 1px solid #5a5a5d;
		border-bottom: 1px solid #5a5a5d;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-body {
	background-color: #1e1e1e;
	border-left: 1px solid #5a5a5d;
	border-right: 1px solid #5a5a5d;
	border-bottom: 1px solid #5a5a5d;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-panel {
		background-color: #2d2d30;
		border: 1px solid #3e3e42;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-panel {
	background-color: #2d2d30;
	border: 1px solid #3e3e42;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-panel-wrapper {
		background: transparent;
	}
}
body.litespeed-darkmode .litespeed-panel-wrapper {
	background: transparent;
}

/* Dashboard titles */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-h1,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) h1.litespeed-h1 {
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-h1,
body.litespeed-darkmode h1.litespeed-h1 {
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) h3 {
		color: #e0e0e0;
	}
}
body.litespeed-darkmode h3 {
	color: #e0e0e0;
}

/* LiteSpeed postboxes */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox {
		background-color: #2d2d30;
		border: 1px solid #3e3e42;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-postbox {
	background-color: #2d2d30;
	border: 1px solid #3e3e42;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox .inside {
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-postbox .inside {
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox .inside .litespeed-title {
		border-bottom: 1px solid #5a5a5d;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-postbox .inside .litespeed-title {
	border-bottom: 1px solid #5a5a5d;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox .inside.litespeed-postbox-footer {
		background-color: #353539;
		border-top: 1px solid #5a5a5d;
	}
}
body.litespeed-darkmode .litespeed-postbox .inside.litespeed-postbox-footer {
	background-color: #353539;
	border-top: 1px solid #5a5a5d;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox p.litespeed-dashboard-stats-total {
		border-top: 1px dashed #5a5a5d;
	}
}
body.litespeed-darkmode .litespeed-postbox p.litespeed-dashboard-stats-total {
	border-top: 1px dashed #5a5a5d;
}

/* Dashboard stats */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-stats .litespeed-desc {
		color: #b3b3b3;
	}
}
body.litespeed-darkmode .litespeed-dashboard-stats .litespeed-desc {
	color: #b3b3b3;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-stats-payg {
		color: #b3b3b3;
	}
}
body.litespeed-darkmode .litespeed-dashboard-stats-payg {
	color: #b3b3b3;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-stats-payg strong {
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-dashboard-stats-payg strong {
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:first-child) {
		border-left-color: #3e3e42;
	}
}
body.litespeed-darkmode .litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:first-child) {
	border-left-color: #3e3e42;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox.litespeed-postbox-partner h3.litespeed-title {
		color: #b3b3b3;
	}
}
body.litespeed-darkmode .litespeed-postbox.litespeed-postbox-partner h3.litespeed-title {
	color: #b3b3b3;
}

/* QUIC.cloud postbox styling */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox--quiccloud {
		border-color: #3e7cb3;
	}
}
body.litespeed-darkmode .litespeed-postbox--quiccloud {
	border-color: #3e7cb3;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title {
		background-color: #41464a;
		color: #ffffff;
	}
}
body.litespeed-darkmode .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title {
	background-color: #41464a;
	color: #ffffff;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a {
		color: #a5caf2;
	}
}
body.litespeed-darkmode .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a {
	color: #a5caf2;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a:hover {
		color: #c2dcff;
	}
}
body.litespeed-darkmode .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a:hover {
	color: #c2dcff;
}

/* Dashboard unlock/promo styling */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-unlock {
		background-color: #2d2d30;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-dashboard-unlock {
	background-color: #2d2d30;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-unlock-desc {
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-dashboard-unlock-desc {
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-unlock-desc span {
		color: #b3b3b3;
	}
}
body.litespeed-darkmode .litespeed-dashboard-unlock-desc span {
	color: #b3b3b3;
}

/* Navigation tabs */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab {
		background-color: #3e3e42;
		border-color: #5a5a5d;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .nav-tab {
	background-color: #3e3e42;
	border-color: #5a5a5d;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab:hover {
		background-color: #1e1e1e;
	}
}
body.litespeed-darkmode .nav-tab:hover {
	background-color: #1e1e1e;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab-active {
		background-color: #1e1e1e;
		border-bottom-color: #1e1e1e;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .nav-tab-active {
	background-color: #1e1e1e;
	border-bottom-color: #1e1e1e;
	color: #e0e0e0;
}

/* Status indicators */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-success {
		color: #46b450;
	}
}
body.litespeed-darkmode .litespeed-success {
	color: #46b450;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-error {
		color: #dc3232;
	}
}
body.litespeed-darkmode .litespeed-error {
	color: #dc3232;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-warning {
		color: #ffb900;
	}
}
body.litespeed-darkmode .litespeed-warning {
	color: #ffb900;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-warning-bg {
		background-color: #584007 !important;
		color: #ffffff;
	}
}
body.litespeed-darkmode .litespeed-warning-bg {
	background-color: #584007 !important;
	color: #ffffff;
}

/* Footer */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) #wpfooter {
		background-color: #2d2d30;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode #wpfooter {
	background-color: #2d2d30;
	color: #e0e0e0;
}

/* Checkbox and radio inputs */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type="checkbox"],
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type="radio"] {
		background-color: #2d2d30;
		border: 1px solid #3e3e42;
	}
}
body.litespeed-darkmode input[type="checkbox"],
body.litespeed-darkmode input[type="radio"] {
	background-color: #2d2d30;
	border: 1px solid #3e3e42;
}

/* Progress bars */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-progress {
		background-color: #3e3e42;
	}
}
body.litespeed-darkmode .litespeed-progress {
	background-color: #3e3e42;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-progress-bar {
		background-color: #0073aa;
	}
}
body.litespeed-darkmode .litespeed-progress-bar {
	background-color: #0073aa;
}

/* Litespeed tick buttons */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick {
		background-color: #2d2d30;
		border: 1px solid #3e3e42;
		padding: 8px 10px;
	}
}
body.litespeed-darkmode .litespeed-tick {
	background-color: #2d2d30;
	border: 1px solid #3e3e42;
	padding: 8px 10px;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick:hover {
		background-color: #404043;
		border-color: #5a5a5d;
	}
}
body.litespeed-darkmode .litespeed-tick:hover {
	background-color: #404043;
	border-color: #5a5a5d;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick label {
		color: #e0e0e0;
		padding: 4px 8px;
	}
}
body.litespeed-darkmode .litespeed-tick label {
	color: #e0e0e0;
	padding: 4px 8px;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick label:hover {
		color: #72aee6;
	}
}
body.litespeed-darkmode .litespeed-tick label:hover {
	color: #72aee6;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick input[type='checkbox'] {
		background-color: #2d2d30;
		border: 2px solid #5a5a5d;
	}
}
body.litespeed-darkmode .litespeed-tick input[type='checkbox'] {
	background-color: #2d2d30;
	border: 2px solid #5a5a5d;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick input[type='checkbox']:checked {
		background-color: #0073aa;
		border-color: #0073aa;
	}
}
body.litespeed-darkmode .litespeed-tick input[type='checkbox']:checked {
	background-color: #0073aa;
	border-color: #0073aa;
}

/* Card headers */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-card-header {
		background-color: #404043;
		border-bottom: 1px solid #5a5a5d;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-card-header {
	background-color: #404043;
	border-bottom: 1px solid #5a5a5d;
	color: #e0e0e0;
}

/* Card action buttons */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-card-action .button-secondary:hover {
		background-color: #484851;
		border-color: #666;
		color: #e0e0e0;
	}
}
body.litespeed-darkmode .litespeed-card-action .button-secondary:hover {
	background-color: #484851;
	border-color: #666;
	color: #e0e0e0;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-card-action .button-primary:hover {
		background-color: #005a87;
		border-color: #004a73;
		color: #ffffff;
	}
}
body.litespeed-darkmode .litespeed-card-action .button-primary:hover {
	background-color: #005a87;
	border-color: #004a73;
	color: #ffffff;
}

@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-h3,
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-panel-para {
		color: revert;
	}
}
body.litespeed-darkmode .litespeed-h3,
body.litespeed-darkmode .litespeed-panel-para {
	color: revert;
}

/* Text gradient for QUIC.cloud branding */
@media (prefers-color-scheme: dark) {
	body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-qc-text-gradient {
		background: -webkit-linear-gradient(130deg, #ff69b4, #4db3e6 60%, #a5e7ff);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
}
body.litespeed-darkmode .litespeed-qc-text-gradient {
	background: -webkit-linear-gradient(130deg, #ff69b4, #4db3e6 60%, #a5e7ff);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
PK�^�\'��]](litespeed-cache/assets/css/litespeed.cssnu�[���@font-face {
  font-family: "litespeedfont";
  src: url(data:application/font-woff;base64,d09GRgABAAAAAAd8AAsAAAAABzAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIFKmNtYXAAAAFoAAAAVAAAAFQXVtKHZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAAAywAAAMsC7+w5mhlYWQAAATwAAAANgAAADYNxQCSaGhlYQAABSgAAAAkAAAAJAe+A8ZobXR4AAAFTAAAABQAAAAUCgAABWxvY2EAAAVgAAAADAAAAAwAKAGqbWF4cAAABWwAAAAgAAAAIAAOAX5uYW1lAAAFjAAAAc4AAAHOiN8uy3Bvc3QAAAdcAAAAIAAAACAAAwAAAAMDAAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6QADwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADgAAAAKAAgAAgACAAEAIOkA//3//wAAAAAAIOkA//3//wAB/+MXBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAACAAF/8QD/AO7AIAAxAFEAWkBbgFyAXcBewAAATA0MTQmMTA0JzgBNSImOQEBOAExLgEjIgYHOAE5AQEwBiMUMDEGFDEwBhUwFDEcARUcARUwFDEUFjEwFBc4ARUyFjkBATAWFTAyMTAWMzAyFTAyMzIWMzI2MzoBMTQyMTI2MTAyMTQ2OQEBMDYzNDAxNjQxMDY1MDQxNDY1JjQ1BzEVBzgBMQE4ATEwBjEjMCIxMCIxMCIxMCYxOAExATgBMSc1MDQxMDQ5ATUxNzgBMQEwNjMyFjEBOAExFxUwFDEwFDEnMCIxMDQxMDQxMCIxNDAnMSc4ATEuASMiBgc4ATEHBjAVMCIxMBQxMBQxMCIxHAExMBQVMDIxMBQxMBQxMDIxFDAXMRcWMDM4ARUwMjE4ATEyMBU6ATEwMjM0MDM4ATEwMjE0MDEyMDcxNzYwNTAyMTA0MTA0MTgBMzwBMTA0NScHFzgBMRYUFxYGDwEOASMiJicmNj8BJyY2PwE+ATMyFhcWBgcFFxUBMxMHIwEBMwE1NzUnNQED+wEBAQH+FAIGAwMGAv4UAQEBAQEBAQEB7AIBAQEBAQEBAQEBAQEBAQEBAQECAewBAQEBAQFOAf5XAQEBAQEB/lcBAQGpAgEBAgGpAbABAQH0AgICAgIC9AEBAQEBAfQBAQEBAQEBAQEBAQH0AQEBoE8rAQEBAgSBAgQDBAYBAgEDTysFAwWBAgQEAwYBAgED/oz6/sw6+vo6ATQBNDb+zP7+ATgBwwEBAQEBAQIB7AICAgL+FAIBAQEBAQEBAQEBAQEBAQEBAQEC/hQBAQEBAQEBAQEBAewCAQEBAQEBAQEBAQEBBAEB/lcBAQGpAQEBAQEBAakBAf5XAQEBAQMBAQEB9AECAgH0AQEBAQEBAQEBAQEB9AEBAQEBAfQBAQEBAQEBAYRkPQECAQcLA2MCAgQDAwgDZD4GDgViAgIEAwMIA6P5OgEzATP6ATT+lP7MNv44/jb+zAABAAAAAQAAiK6LiV8PPPUACwQAAAAAANVU3gsAAAAA1VTeCwAA/8QD/AO7AAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAP8AAEAAAAAAAAAAAAAAAAAAAAFBAAAAAAAAAAAAAAAAgAAAAQAAAUAAAAAAAoAFAAeAZYAAQAAAAUBfAAIAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAA0AAAABAAAAAAACAAcAlgABAAAAAAADAA0ASAABAAAAAAAEAA0AqwABAAAAAAAFAAsAJwABAAAAAAAGAA0AbwABAAAAAAAKABoA0gADAAEECQABABoADQADAAEECQACAA4AnQADAAEECQADABoAVQADAAEECQAEABoAuAADAAEECQAFABYAMgADAAEECQAGABoAfAADAAEECQAKADQA7GxpdGVzcGVlZGZvbnQAbABpAHQAZQBzAHAAZQBlAGQAZgBvAG4AdFZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGxpdGVzcGVlZGZvbnQAbABpAHQAZQBzAHAAZQBlAGQAZgBvAG4AdGxpdGVzcGVlZGZvbnQAbABpAHQAZQBzAHAAZQBlAGQAZgBvAG4AdFJlZ3VsYXIAUgBlAGcAdQBsAGEAcmxpdGVzcGVlZGZvbnQAbABpAHQAZQBzAHAAZQBlAGQAZgBvAG4AdEZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=);
	font-weight: normal;
	font-style: normal;
}

#adminmenu #toplevel_page_lscache-settings .menu-icon-generic div.wp-menu-image:before,
#adminmenu #toplevel_page_litespeed .menu-icon-generic div.wp-menu-image:before,
.litespeed-top-toolbar .ab-icon::before {
	content: '\e900';
	font-family: 'litespeedfont' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#wpadminbar .litespeed-top-toolbar .ab-icon.icon_disabled::before {
	color: #D9534F;
}

*[litespeed-accesskey]:not([data-litespeed-noprefix]):before {
	content: '[' attr(litespeed-accesskey) '] ';
}

/* =======================================
   		  UTILITIES - toggle UI
======================================= */

input[type='checkbox'].litespeed-tiny-toggle {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	-webkit-tap-highlight-color: transparent;

	width: auto;
	height: auto;
	vertical-align: middle;
	position: relative;
	border: 0;
	outline: 0;
	cursor: pointer;
	margin: 0 4px;
	background: none;
	box-shadow: none;
}

input[type='checkbox'].litespeed-tiny-toggle:focus {
	box-shadow: none;
}

input[type='checkbox'].litespeed-tiny-toggle:after {
	content: '';
	font-size: 8px;
	font-weight: 400;
	line-height: 18px;
	text-indent: -14px;
	color: #ffffff;
	width: 36px;
	height: 18px;
	display: inline-block;
	background-color: #a7aaad;
	border-radius: 72px;
	box-shadow: 0 0 12px rgb(0 0 0 / 15%) inset;
}

input[type='checkbox'].litespeed-tiny-toggle:before {
	content: '';
	width: 14px;
	height: 14px;
	display: block;
	position: absolute;
	top: 2px;
	left: 2px;
	margin: 0;
	border-radius: 50%;
	background-color: #ffffff;
}

input[type='checkbox'].litespeed-tiny-toggle:checked:before {
	left: 20px;
	margin: 0;
	background-color: #ffffff;
}

input[type='checkbox'].litespeed-tiny-toggle,
input[type='checkbox'].litespeed-tiny-toggle:before,
input[type='checkbox'].litespeed-tiny-toggle:after,
input[type='checkbox'].litespeed-tiny-toggle:checked:before,
input[type='checkbox'].litespeed-tiny-toggle:checked:after {
	transition: ease 0.15s;
}

input[type='checkbox'].litespeed-tiny-toggle:checked:after {
	/*content: 'ON';*/
	background-color: #2271b1;
}

.block-editor__container input[type='checkbox'].litespeed-tiny-toggle {
	border: 0 !important;
}

.block-editor__container input[type='checkbox'].litespeed-tiny-toggle:before {
	top: 5px;
	left: 7px;
}

.block-editor__container input[type='checkbox'].litespeed-tiny-toggle:checked:before {
	left: 23px;
}

/* =======================================
   		  UTILITIES - structure
======================================= */

.litespeed_icon:before {
	/* content: "\e900";
    font-family: 'litespeedfont' !important; */
	content: '';
	background-image: url('../img/lscwp_grayscale_font-icon_22px.svg');
	/* filter: grayscale(1); */
	background-size: 22px;
	background-repeat: no-repeat;
	width: 22px;
	height: 22px;
	vertical-align: middle;
	display: inline-block;
	position: absolute;
	left: 5px;
	top: 8px;
}

.rtl .litespeed_icon:before {
	left: initial;
	right: 5px;
}

.litespeed_icon {
	padding-left: 30px !important;
	position: relative;
}

.rtl .litespeed_icon {
	padding-right: 40px;
}

.litespeed-quic-icon {
	background-image: url('../img/quic-cloud-icon-16x16.svg');
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
	vertical-align: middle;
	display: inline-block;
}

.litespeed-row {
	margin-top: 5px;
}

.litespeed-reset {
	width: initial;
}

.litespeed-inline {
	display: inline-block;
}

.litespeed-flex {
	display: flex;
}

.litespeed-flex-container {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: auto;
}

.litespeed-flex-align-center {
	align-items: center;
}

.litespeed-flex-container > * {
	box-sizing: border-box;
}

.litespeed-flex-container--reverse {
	flex-direction: row-reverse;
}

.litespeed-flex-container .litespeed-icon-vertical-middle {
	margin-left: 0;
}

.litespeed-row-flex {
	display: inline-flex;
}

.litespeed-flex-wrap {
	flex-wrap: wrap;
}

.litespeed-align-right {
	margin-left: auto !important;
}

.litespeed-width-1-2 {
	width: 45%;
	padding: 20px;
}

.litespeed-width-1-3 {
	width: 30%;
	padding: 25px;
}

.litespeed-width-7-10 {
	width: 65%;
	padding: 20px;
}

.litespeed-width-3-10 {
	width: 35%;
	padding: 20px;
}

@media screen and (max-width: 814px) {
	.litespeed-width-7-10 {
		width: 100%;
	}

	.litespeed-width-3-10 {
		width: 100%;
		padding: 0;
	}
}

.litespeed-hide {
	display: none !important;
}

.litespeed-right {
	float: right !important;
}

.litespeed-relative {
	position: relative;
}

.litespeed-align-center {
	margin-left: auto;
	margin-right: auto;
}

/* =======================================
   		  UTILITIES - spacing
======================================= */

.litespeed-left10 {
	margin-left: 10px !important;
}

.litespeed-left20 {
	margin-left: 20px !important;
}

.litespeed-right10 {
	margin-right: 10px !important;
}

.litespeed-right20 {
	margin-right: 20px !important;
}

.litespeed-right30 {
	margin-right: 30px !important;
}

.litespeed-right50 {
	margin-right: 50px !important;
}

.litespeed-top10 {
	margin-top: 10px !important;
}

.litespeed-top15 {
	margin-top: 15px !important;
}

.litespeed-top20 {
	margin-top: 20px !important;
}

.litespeed-top30 {
	margin-top: 30px !important;
}

.litespeed-margin-y5 {
	margin-top: 5px !important;
	margin-bottom: 5px !important;
}

.litespeed-margin-x5 {
	margin-left: 5px !important;
	margin-right: 5px !important;
}

.litespeed-wrap .litespeed-left20,
.litespeed-left20 {
	margin-left: 20px;
}

.litespeed-wrap .litespeed-bg-quic-cloud {
	background: linear-gradient(rgba(230, 242, 242, 1) 10%, rgba(250, 255, 255, 1) 30%);
}

.litespeed-left50 {
	margin-left: 50px;
}

.litespeed-padding-space {
	padding: 5px 10px;
}

.litespeed-margin-bottom10 {
	margin-bottom: 10px !important;
}

.litespeed-margin-bottom20 {
	margin-bottom: 20px !important;
}

.litespeed-margin-bottom-remove {
	margin-bottom: 0px !important;
}

.litespeed-margin-top-remove {
	margin-top: 0px !important;
}

.litespeed-margin-left-remove {
	margin-left: 0px !important;
}

.litespeed-margin-y-remove {
	margin-top: 0px !important;
	margin-bottom: 0px !important;
}

.litespeed-empty-space-xlarge {
	margin-top: 8em;
}

.litespeed-empty-space-large {
	margin-top: 6em;
}

.litespeed-empty-space-medium {
	margin-top: 3em;
}

.litespeed-empty-space-small {
	margin-top: 2em;
}

.litespeed-empty-space-tiny {
	margin-top: 1em;
}

/* =======================================
   		UTILITIES - typography
======================================= */

.litespeed-text-jumbo {
	font-size: 3em !important;
}

.litespeed-text-large {
	font-size: 0.75em !important;
}

.litespeed-text-md {
	font-size: 1.2em;
}

.litespeed-text-right {
	text-align: right;
}

.litespeed-text-center {
	text-align: center;
}

.litespeed-text-bold, .litespeed-bold {
	font-weight: 600;
}

/* =======================================
	  			COLORS
======================================= */

.litespeed-default {
	color: #a7a7a7 !important;
}

.litespeed-primary {
	color: #3366cc !important;
}

.litespeed-info {
	color: #3fbfbf !important;
}

.litespeed-success {
	color: #73b38d !important;
}

.litespeed-warning {
	color: #ff8c00 !important;
}

.litespeed-danger {
	color: #dc3545 !important;
}

a.litespeed-danger:hover,
button.litespeed-danger:hover {
	color: #a00 !important;
}

.litespeed-text-success {
	color: #34b15d;
}

.litespeed-form-action {
	color: #1a9292 !important;
}

a.litespeed-form-action:hover,
button.litespeed-form-action:hover {
	color: #36b0af !important;
}

.litespeed-bg-default {
	background-color: #a7a7a7 !important;
}

.litespeed-bg-primary {
	background-color: #3366cc !important;
}

.litespeed-bg-info {
	background-color: #d1ecf1 !important;
}

.litespeed-bg-success {
	background-color: #73b38d !important;
}

.litespeed-bg-warning {
	background-color: #ff8c00 !important;
}

.litespeed-bg-danger {
	background-color: #dc3545 !important;
}

.litespeed-bg-text-success {
	background-color: #34b15d;
}

/* =======================================
	  			LAYOUT
======================================= */

.litespeed-wrap {
	margin: 10px 20px 0 2px;
}

@media screen and (max-width: 600px) {
	.litespeed-wrap h2 .nav-tab {
		border-bottom: 1px solid #c3c4c7;
		margin: 10px 10px 0 0;
	}

	.litespeed-wrap .nav-tab-wrapper {
		margin-bottom: 15px;
	}

	.litespeed-desc a,
	.litespeed-body p > a:not(.button) {
		word-break: break-word;
	}
}

.litespeed-wrap .nav-tab {
	border-bottom-color: inherit;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	margin: 11px 10px -1px 0;
}

.litespeed-wrap .nav-tab-active {
	background: #fff;
	border-bottom-color: #fff;
}

.litespeed-wrap .nav-tab:focus:not(.nav-tab-active),
.litespeed-wrap .nav-tab:hover:not(.nav-tab-active) {
	background-color: #f1f1f1;
	color: #444;
}

.litespeed-body {
	background: #fff;
	border: 1px solid #e5e5e5;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
	padding: 1px 20px 20px 20px;
}

@media screen and (min-width: 681px) {
	.litespeed-header + .litespeed-body {
		border-top: none;
	}
}

.litespeed-body table {
	border-collapse: collapse;
	width: 100%;
}

.litespeed-body .litespeed-width-auto {
	width: auto;
}

/* outside stripped table */
.litespeed-description {
	color: #666;
	font-size: 13px;
	margin: 1.5rem 0;
	max-width: 960px;
}

.litespeed-desc-wrapper{
	display: inline-block;
    margin-left: 10px;
}

/* inside stripped table */
.litespeed-desc {
	font-size: 12px;
	font-weight: normal;
	color: #7a919e;
	margin: 10px 0;
	line-height: 1.7;
	/*max-width: 840px;*/
}

.litespeed-desc + .litespeed-desc {
	margin-top: -5px;
}

td > .litespeed-desc:first-child {
	margin-top: 0px;
	line-height: 2.24;
}

.litespeed-h3 {
	line-height: 18px;
	color: #264d73;
	font-size: 18px;
	font-weight: 600;
	margin: 2px 0;
}

.litespeed-div .submit {
	margin-top: 0;
}

@media screen and (min-width: 681px) {
	.litespeed-div {
		display: inline-block;
		min-width: 100px;
	}

	.litespeed-div .submit {
		margin: 5px;
		padding: 5px;
	}
}

@media screen and (max-width: 680px) {
	.litespeed-desc + .litespeed-desc.litespeed-left20 {
		margin-left: 0 !important;
	}

	.litespeed-desc .litespeed-callout.notice-warning.inline {
		word-break: break-word;
	}
}

.litespeed-h1 {
	display: inline-block;
}

h3 .litespeed-learn-more {
	font-size: 12px;
	font-weight: normal;
	color: #7a919e;
	margin-left: 30px;
}

.litespeed-wrap code {
	color: #666;
	background-color: #dde9f5;
	border-radius: 3px;
	font-size: 11px;
	font-style: normal;
}

.litespeed-wrap ul {
	margin-left: 2em;
}

.litespeed-wrap i {
	font-size: 13px;
	line-height: 16px;
}

.litespeed-wrap .litespeed-desc i {
	font-size: 12px;
}

.litespeed-wrap p {
	margin: 1em 0;
}

.litespeed-wrap p.submit {
	margin-bottom: 0;
}

.litespeed-desc p {
	margin-left: 0;
}

.litespeed-title,
.litespeed-title-short {
	font-size: 18px;
	border-bottom: 1px solid #cccccc;
	margin: 2.5em 0px 1.5em 0;
	display: table;
	padding-right: 50px;
	padding-left: 3px;
	padding-bottom: 3px;
}

.litespeed-title .button {
	margin-left: 1rem;
	margin-bottom: 5px;
	vertical-align: middle;
}

.litespeed-title .litespeed-quic-icon {
	margin-right: 6px;
}

.litespeed-title a,
.litespeed-title-short a {
	text-decoration: none;
}

.litespeed-title-short {
	padding-right: 20px;
}

.litespeed-title-section {
	margin: 2em -20px 12px -20px;
	padding: 12px 20px 12px 20px;
	border-bottom: 1px solid #eee;
	font-size: 1.2em;
	display: block;
	border-top: 1px solid #f1f1f1;
}

.litespeed-postbox .litespeed-title {
	display: flex;
	align-items: center;
}

.litespeed-title-right-icon {
	margin-left: auto;
	font-weight: normal;
}

.litespeed-list li:before {
	content: '>';
	color: #cc3d6a;
}

.litespeed-wrap a.disabled {
	cursor: not-allowed;
	opacity: 0.5;
	text-decoration: none;
	color: #72777c;
}

/* =======================================
			LAYOUT - table
======================================= */

.litespeed-table {
	font-size: 14px;
}

.litespeed-body tbody > tr > th {
	padding-left: 20px;
}

.litespeed-body tbody th {
	vertical-align: top;
	text-align: left;
	padding: 18px 10px 20px 0;
	width: 200px;
	font-weight: 600;
}

.litespeed-body td {
	padding: 15px 10px;
	line-height: 1.3;
	vertical-align: middle;
}

.litespeed-body .widefat td input + p {
	margin-top: 0.8em;
}

.litespeed-body .striped > tbody > :nth-child(even) .notice {
	background-color: #f9f9f9;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.05);
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
	border-right: 1px solid #e5e5e5;
}

.litespeed-body .striped > tbody > :nth-child(even) .notice:first-child {
	margin-top: 0;
}

/* small table inside */
.litespeed-body .litespeed-vary-table {
	margin-top: -5px;
	width: 250px;
	margin-bottom: 20px;
}

.litespeed-body .litespeed-vary-table td {
	width: 50%;
	padding: 5px 0px;
}

.litespeed-table-compact td,
.litespeed-table-compact th {
	padding: 0.5rem 0.75rem;
}

/* =======================================
			LAYOUT - block
======================================= */

.litespeed-block,
.litespeed-block-tiny {
	border: 1px dotted #cccccc;
	border-radius: 5px;
	display: flex;
	flex-wrap: wrap;
	padding: 0.75rem 1.25rem;
	margin-bottom: 5px;
}

.litespeed-block-tiny {
	max-width: 670px;
}

.litespeed-col {
	flex: 0 0 30%;
	padding-right: 2rem;
}

.litespeed-col:last-child,
.litespeed-col-auto:last-child {
	padding-right: 0;
}

.litespeed-col-auto {
	padding-right: 2rem;
}

.litespeed-col-br {
	flex: 0 0 100%;
	border-top: 1px dotted #cccccc;
}

.litespeed-col-inc {
	display: inline-block;
	margin-top: 16px;
	min-width: 150px;
	font-weight: bold;
}

.litespeed-block h4:first-child,
.litespeed-block .litespeed-form-label:not(.litespeed-form-label--toggle):first-child {
	margin-top: 0.5rem;
}

.litespeed-block .litespeed-callout:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 600px) {
	.litespeed-block {
		flex-direction: column;
	}

	.litespeed-block .litespeed-col {
		padding-right: 0;
	}
}

/* =======================================
			  CARDS LINKS
======================================= */

.litespeed-cards-wrapper,
.litespeed-panel-wrapper {
	display: flex;
	width: 100%;
	flex-flow: row wrap;
	justify-content: flex-start;
}

.litespeed-cards-wrapper {
	margin: -10px -15px -10px -15px;
}

.litespeed-panel {
	text-decoration: none;
	display: flex;
	justify-content: space-between;
	padding: 6px 8px 4px 5px;
	width: 322px;
	margin: 15px 5px 15px 15px;
	min-height: 75px;
	box-sizing: border-box;
	background: #f9fafc;
	transition: 0.25s;
}

.litespeed-panel:hover {
	border: 1px solid #6699cc;
	box-shadow: none;
}

.litespeed-panel-wrapper-icon {
	width: 25%;
	height: 100%;
}

[class*='litespeed-panel-icon-'] {
	background-size: contain;
	width: 60px;
	height: 60px;
	margin: 5px;
	background-repeat: no-repeat;
	display: inline-block;
}

.litespeed-panel-icon-all {
	background-image: url('../img/icons/all.svg');
}

.litespeed-panel-icon-revision {
	background-image: url('../img/icons/revision.svg');
}

.litespeed-panel-icon-orphaned_post_meta {
	background-image: url('../img/icons/revision.svg');
}

.litespeed-panel-icon-auto_draft {
	background-image: url('../img/icons/auto_draft.svg');
}

.litespeed-panel-icon-trash_post {
	background-image: url('../img/icons/trash_post.svg');
}

.litespeed-panel-icon-spam_comment {
	background-image: url('../img/icons/spam_comment.svg');
}

.litespeed-panel-icon-trash_comment {
	background-image: url('../img/icons/trash_comment.svg');
}

.litespeed-panel-icon-trackback-pingback {
	background-image: url('../img/icons/trackback-pingback.svg');
}

.litespeed-panel-icon-expired_transient {
	background-image: url('../img/icons/expired_transient.svg');
}

.litespeed-panel-icon-all_transients {
	background-image: url('../img/icons/all_transients.svg');
}

.litespeed-panel-icon-optimize_tables {
	background-image: url('../img/icons/optimize_tables.svg');
}

.litespeed-panel-icon-purge-front {
	background-image: url('../img/icons/purge-front.svg');
}

.litespeed-panel-icon-purge-pages {
	background-image: url('../img/icons/purge-pages.svg');
}

.litespeed-panel-icon-purge-cssjs {
	background-image: url('../img/icons/purge-cssjs.svg');
}

.litespeed-panel-icon-purge-object {
	background-image: url('../img/icons/purge-object.svg');
}

.litespeed-panel-icon-purge-opcache {
	background-image: url('../img/icons/purge-opcache.svg');
}

.litespeed-panel-icon-purge-all {
	background-image: url('../img/icons/purge-all.svg');
}

.litespeed-panel-icon-empty-cache {
	background-image: url('../img/icons/empty-cache.svg');
}

.litespeed-panel-icon-purge-403 {
	background-image: url('../img/icons/purge-403.svg');
}

.litespeed-panel-icon-purge-404 {
	background-image: url('../img/icons/purge-404.svg');
}

.litespeed-panel-icon-purge-500 {
	background-image: url('../img/icons/purge-500.svg');
}

.litespeed-panel-top-right-icon-cross {
	background-image: url('../img/icons/cross_icon.svg');
}

.litespeed-panel-top-right-icon-tick {
	background-image: url('../img/icons/success_icon.svg');
}

.litespeed-panel-content {
	width: 75%;
	height: 100%;
	margin-top: 7px;
}

.litespeed-panel-para {
	color: #264d73;
	font-size: 12px;
	line-height: 1.45;
}

.litespeed-panel .litespeed-h3 {
	font-size: 14px;
}

.litespeed-panel-counter {
	color: #3abfbf;
}

.litespeed-panel-counter-red {
	color: #cc3d6a;
}

.litespeed-panel-wrapper-top-right {
	width: 10%;
	height: 100%;
	text-align: right;
}

.litespeed-panel-top-right-icon-tick,
.litespeed-panel-top-right-icon-cross {
	background-size: contain;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	display: inline-block;
}

/* =======================================
	 BUTTONS
======================================= */

/* .litespeed-wrap .button{
	background:#fff;
} */

.litespeed-wrap .button-link {
	height: auto;
	line-height: inherit;
	font-size: inherit;
	box-shadow: none;
}

.litespeed-wrap .button-link:hover,
.litespeed-wrap .button-link:focus {
	box-shadow: none;
	background: none;
}

.litespeed .litespeed-btn-danger-bg,
.litespeed-wrap .litespeed-btn-danger-bg,
.litespeed-btn-danger-bg {
	background: #dc3545;
	color: #fff;
	border: 1px solid #cc3d6a;
	box-shadow: 0 1px 0 rgba(177, 93, 93, 0.5);
}

.litespeed .litespeed-btn-danger,
.litespeed-wrap .litespeed-btn-danger,
.litespeed-btn-danger {
	background: #fff;
	color: #cc3d6a;
	border: 1px solid #cc3d6a;
	box-shadow: 0 1px 0 rgba(177, 93, 93, 0.5);
}

.litespeed .litespeed-btn-danger:hover,
.litespeed-wrap .litespeed-btn-danger:hover,
.litespeed-btn-danger:hover {
	border-color: #ab244e;
	background: #cc3d6a;
	color: #fff;
}

.litespeed .litespeed-btn-warning,
.litespeed-wrap .litespeed-btn-warning,
.litespeed-btn-warning {
	background: #fff;
	color: #e59544;
	border: 1px solid #e59544;
	box-shadow: 0 1px 0 rgba(249, 166, 82, 0.55);
}

.litespeed .litespeed-btn-warning:hover,
.litespeed-wrap .litespeed-btn-warning:hover,
.litespeed-btn-warning:hover {
	border-color: #e59544;
	background: #e59544;
	color: #fff;
}

.litespeed .litespeed-btn-success,
.litespeed-wrap .litespeed-btn-success,
.litespeed-btn-success {
	background: #fff;
	color: #36b0b0;
	border: 1px solid #36b0b0;
	box-shadow: 0 1px 0 rgba(73, 160, 160, 0.55);
}

.litespeed .litespeed-btn-success:hover,
.litespeed-wrap .litespeed-btn-success:hover,
.litespeed-btn-success:hover {
	border-color: #36b0b0;
	background: #36b0b0;
	color: #fff;
}

.litespeed-wrap .button-primary {
	background: #528ac6;
	border-color: #538ac6 #2264ad #2264ad;
	color: #fff;
	box-shadow: 0 1px 0 #2264ad;
	text-shadow:
		0 -1px 1px #2264ad,
		1px 0 1px #2264ad,
		0 1px 1px #2264ad,
		-1px 0 1px #2264ad;
}

.litespeed-wrap .button-primary:focus,
.litespeed-wrap .button-primary:hover {
	background: #5891ce;
	border-color: #2264ad;
	color: #fff;
}

.litespeed-wrap .button-primary:hover {
	box-shadow: 0 1px 0 #2264ad;
}

.litespeed-wrap .button-primary:focus {
	background: #5891ce;
	border-color: #2264ad;
	color: #fff;
	box-shadow:
		0 1px 0 #0073aa,
		0 0 2px 1px #33b3db;
}

.litespeed .litespeed-btn-primary,
.litespeed-wrap .litespeed-btn-primary,
.litespeed-btn-primary {
	color: #538ac6;
	border: 1px solid #538ac6;
	-moz-box-shadow: 0 0 0 1px rgba(83, 138, 198, 0.25);
	-webkit-box-shadow: 0 0 0 1px rgba(83, 138, 198, 0.25);
	box-shadow: 0 0 0 1px rgba(83, 138, 198, 0.25);
}

.litespeed .litespeed-btn-primary:hover,
.litespeed-wrap .litespeed-btn-primary:hover,
.litespeed-btn-primary:hover {
	background: #538ac6;
	border-color: #538ac6;
	color: #fff;
}

.litespeed-wrap .button:not(.litespeed-btn-large) .dashicons {
	position: relative;
	top: -0.075em;
	vertical-align: middle;
}

.litespeed-wrap .button:not(:first-child) {
	margin-left: 5px;
}

.litespeed-wrap .button + .button {
	margin-left: 10px;
}

.litespeed-info-button {
	color: #c8c8c8;
	padding: 0;
	-webkit-appearance: none;
	border: none;
	background: none;
	vertical-align: middle;
	line-height: inherit;
	text-decoration: none;
}

.litespeed-info-button .dashicons {
	font-size: 16px;
	vertical-align: middle;
}

.litespeed-btn-pie {
	-webkit-appearance: none;
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	margin: 0;
	top: -0.125em;
}

/* =======================================
   BUTTONS - sizes
======================================= */

.litespeed-wrap .litespeed-btn-tiny {
	padding: 2px 8px;
	line-height: 1.5;
	height: auto;
}

.litespeed-wrap .litespeed-btn-mini {
	padding: 0 8px 1px;
	font-size: 12px;
	font-weight: 600;
	margin: 5px 0;
}

.litespeed-wrap .litespeed-btn-mini .dashicons.dashicons-image-rotate {
	padding-top: 3px;
	font-size: 18px;
}

.litespeed-wrap .litespeed-btn-mini .dashicons {
	padding-top: 2px;
}

.litespeed-wrap .litespeed-btn-large {
	font-size: 1.5em;
	padding: 0.75em 1.5em;
	margin: 0 0.25em;
	height: auto;
}

.litespeed-wrap .litespeed-btn-large .dashicons {
	font-size: 1.25em;
	width: auto;
}

/* =======================================
	  SWITCH
======================================= */

.litespeed-switch {
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 0;
	display: inline-flex;
	position: relative;
}

.rtl .litespeed-switch {
	flex-direction: row-reverse;
}

.litespeed-switch input:checked:active + label {
	box-shadow:
		0 2px 0 rgba(27, 146, 146, 0.7),
		inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}

.litespeed-switch input:checked + label {
	background-color: #36b0b0;
	color: #fff;
	border: 1px solid #36b0b0;
	box-shadow: 0 2px 0 #1b9292;
	z-index: 2;
	text-shadow:
		0 -1px 1px #1b9292,
		1px 0 1px #1b9292,
		0 1px 1px #1b9292,
		-1px 0 1px #1b9292;
}

.litespeed-switch label {
	font-size: 14px;
	display: inline-block;
	min-width: 72px;
	background-color: #f9fafc;
	font-weight: 400;
	text-align: center;
	padding: 6px 12px 5px 12px;
	cursor: pointer;
	border: 1px solid #ccc;
	border-bottom: none;
	box-shadow: 0 2px 0 #ccc;
	position: relative;
}

.litespeed-switch label:not(:last-child) {
	margin-right: -1px;
}

.litespeed-switch label:last-child {
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

.litespeed-switch label:first-of-type {
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
}

.litespeed-switch input:hover + label {
	border-color: #1a9292;
	box-shadow: 0 2px 0 #1a9292;
	z-index: 2;
	color: #117171;
}

.litespeed-switch input:focus + label {
	color: #117171;
	box-shadow: 0 0px 0px 2px rgba(28, 138, 128, 0.85);
	border-color: transparent;
	z-index: 2;
}

.litespeed-switch input:focus + label + input + input:hover + label,
.litespeed-switch input:focus + label + input:hover + label {
	z-index: 1;
}

.litespeed-switch input:active + label {
	box-shadow:
		0 2px 0 #1b9292,
		inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}

.litespeed-switch input:checked:hover + label,
.litespeed-switch input:checked:focus + label {
	background-color: #36b0b0;
	color: #fff;
}

.litespeed-switch input {
	display: inline-block;
	position: absolute;
	z-index: -1;
	margin: 0;
}

.litespeed-cache-purgeby-text {
	margin: 0;
	display: inline-block;
}

/* =======================================
				TOGGLE
======================================= */

.litespeed-toggle-stack {
	display: flex;
	flex-direction: column;
}

.litespeed-toggle-stack .litespeed-toggle-wrapper {
	justify-content: space-between;
}

.litespeed-toggle-wrapper {
	display: flex;
	align-items: center;
}

.litespeed-toggle-wrapper + .litespeed-toggle-wrapper {
	margin-top: 0.75rem;
}

.litespeed-toggle {
	position: relative;
	overflow: hidden;
	min-width: 58px;
	height: 21px;
	/*margin-left: 1.2rem;*/
}

.litespeed-toggle-group {
	position: absolute;
	width: 200%;
	top: 0;
	bottom: 0;
	left: 0;
	transition: left 0.35s;
	-webkit-transition: left 0.35s;
	-moz-user-select: none;
	-webkit-user-select: none;
}

.litespeed-toggle-on {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 50%;
	margin: 0;
	border: 0;
	border-radius: 0;
}

.litespeed-toggle-on.litespeed-toggle-btn {
	padding-right: 24px;
}

.litespeed-toggle-off.litespeed-toggle-btn {
	padding-left: 24px;
}

.litespeed-toggle-handle {
	position: relative;
	margin: 0 auto;
	padding-top: 0px;
	padding-bottom: 0px;
	height: 100%;
	width: 0px;
	border-width: 0 1px;
}

.litespeed-toggle-off {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	right: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
}

.litespeed-toggleoff .litespeed-toggle-group {
	left: -100%;
}

.litespeed-toggle-btn {
	display: inline-block;
	padding: 5px 10px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
}

.litespeed-toggle-btn-primary {
	color: #fff;
	background-color: #36b0b0;
	border-color: #36b0b0;
}

.litespeed-toggle-btn-default {
	color: #333;
	background-color: #fff;
	border-color: #ccc;
}

.litespeed-toggle-btn-success:hover,
.litespeed-toggle-btn-success:focus,
.litespeed-toggle-btn-success:active,
.litespeed-toggle-btn-success.litespeed-toggle-active {
	color: #fff;
	background-color: #00bfbf;
	border-color: #6699cc;
}

.litespeed-toggle-btn-default:hover,
.litespeed-toggle-btn-default:focus,
.litespeed-toggle-btn-default:active,
.litespeed-toggle-btn-default.litespeed-toggle-active {
	color: #333;
	background-color: #e6e6e6;
	border-color: #adadad;
}

.litespeed-toggle-btn:active,
.litespeed-toggle-btn.litespeed-toggle-active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.litespeed-toggle-btn-default:active,
.litespeed-toggle-btn-default.litespeed-toggle-active {
	background-image: none;
}

/* =======================================
	LABEL/TAG
======================================= */
[class*='litespeed-label-'] {
	display: inline;
	padding: 0.2em 0.6em 0.3em;
	font-size: 75%;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: 0.25em;
}

[class*='litespeed-label-']:hover,
[class*='litespeed-label-']:focus {
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}

[class*='litespeed-label-']:empty {
	display: none;
}

.litespeed-label-regular {
	font-size: 1em;
}

.litespeed-label-default {
	background-color: #777;
}

.litespeed-label-default[href]:hover,
.litespeed-label-default[href]:focus {
	background-color: #5e5e5e;
}

.litespeed-label-primary {
	background-color: #337ab7;
}

.litespeed-label-primary[href]:hover,
.litespeed-label-primary[href]:focus {
	background-color: #286090;
}

.litespeed-label-success {
	background-color: #5cb85c;
}

.litespeed-label-success[href]:hover,
.litespeed-label-success[href]:focus {
	background-color: #449d44;
}

.litespeed-label-info {
	background-color: #5bc0de;
}

.litespeed-label-info[href]:hover,
.litespeed-label-info[href]:focus {
	background-color: #31b0d5;
}

.litespeed-label-warning {
	background-color: #f0ad4e;
}

.litespeed-label-warning[href]:hover,
.litespeed-label-warning[href]:focus {
	background-color: #ec971f;
}

.litespeed-label-danger {
	background-color: #d9534f;
}

.litespeed-label-danger[href]:hover,
.litespeed-label-danger[href]:focus {
	background-color: #c9302c;
}

/* =======================================
	   SHELL
======================================= */
.litespeed-shell {
	width: 98%;
	background: #141414;
	margin: 20px auto 0 10px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	position: relative;
	height: 224px;
}

.litespeed-shell-header {
	z-index: 999;
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 34px;
	padding: 5px 0;
}

.litespeed-shell-header-bg {
	opacity: 0.4;
	background-color: #cccccc;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 4;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-top-radius: 3px;
}

.litespeed-shell-header-bar {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	height: 2px;
	background-color: #f48024;
}

.litespeed-shell-header-icon-container {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 29px;
	height: 34px;
	z-index: 6;
}

ul.litespeed-shell-body {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow-y: scroll;
	margin: 0;
	padding: 5px;
	list-style: none;
	background: #141414;
	color: #45d40c;
	font:
		0.8em 'Andale Mono',
		Consolas,
		'Courier New';
	line-height: 1.6em;

	-webkit-border-bottom-right-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-moz-border-radius-bottomright: 3px;
	-moz-border-radius-bottomleft: 3px;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
}

.litespeed-shell-body li:before {
	content: '>';
	position: absolute;
	left: 0;
	top: 0;
}

.litespeed-shell-body li {
	word-wrap: break-word;
	position: relative;
	padding: 0 0 0 15px;
	margin: 0;
}

.litespeed-widget-setting {
	background-color: #ecebdc;
	padding: 5px 14px;
	margin: 5px -15px;
}

/* =======================================
			CALLOUT / NOTICE
======================================= */

.litespeed-callout {
	margin: 1.5rem 0;

	border-right: 1px solid #e5e5e5;
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
	background: #f9f9f9;
}

.litespeed-callout h4:not(:last-child) {
	margin-bottom: 0.5rem;
	margin-top: 1em;
}

.litespeed-callout p {
	margin-left: 0;
}

.litespeed-callout ol,
.litespeed-callout ul {
	margin-left: 1em;
}

.litespeed-callout.notice-warning h4 {
	color: #e59544;
}

.litespeed-callout.notice-error h4 {
	color: #dc3232;
}

.litespeed-callout-bg {
	margin: 1.5rem 0;
	background: #f9f9f9;
	border-top: none;
	border-bottom: none;
	border-right: none;
}

/* =======================================
			TICK / CHECKBOX
======================================= */

.litespeed-tick-wrapper {
	margin-left: -5px;
}

.litespeed-tick {
	display: inline-block;
	/* min-width: 125px; */
	background: #f2f9ff;
	padding: 5px 0 5px 0px;
	border-radius: 3px;
	cursor: pointer;
	margin: 5px 5px 5px 0;
}

.litespeed-tick-list .litespeed-tick {
	display: block;
	margin-bottom: 3px;
	margin-top: 0;
	background: none;
}

.litespeed-tick-list .litespeed-tick input[type='checkbox'] {
	margin-left: 0;
}

.litespeed-tick-list .litespeed-tick label {
	color: inherit;
}

.litespeed-tick input[type='checkbox'] {
	height: 18px;
	width: 18px;
	vertical-align: middle;
	margin: 0 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-border-radius: 3px;
	border-radius: 3px;

	cursor: pointer;
}

.litespeed-tick input[type='checkbox']:not(:disabled):hover {
	border-color: #538ac6;
}

.litespeed-tick input[type='checkbox']:active:not(:disabled) {
	border-color: #538ac6;
}

.litespeed-tick input[type='checkbox']:focus {
	outline: none;
}

.litespeed-tick input[type='checkbox']:checked {
	border-color: #538ac6;
	background-color: #538ac6;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.litespeed-tick input[type='checkbox']:checked:before {
	content: '';
	display: block;
	width: 5px;
	height: 11px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-left: 5px;
	margin-top: -1px;
	cursor: pointer;
}

.litespeed-tick label {
	padding: 2px 0px 2px 0;
	font-size: 14px;
	color: #264d73;
}

.litespeed-tick label:hover {
	min-width: 115px;
	color: #6699cc;
}

/* =======================================
			RADIO - vertical
======================================= */

.litespeed-radio-row {
	margin-bottom: 12px;
	position: relative;
	padding-left: 1.5rem;
}

.litespeed-radio-row input[type='radio'] {
	margin-top: 0;
	margin-bottom: 0;
	position: absolute;
	line-height: 1;
	left: 0;
	top: 0.7em;
	transform: translateY(-50%);
}

.litespeed-radio-row label {
	vertical-align: text-bottom;
	line-height: 1.4;
}

@media screen and (max-width: 782px) {
	.litespeed-radio-row {
		padding-left: 2rem;
	}
}

/* =======================================
		   FORM - layout
======================================= */

.litespeed-wrap .litespeed-float-submit {
	position: absolute;
	right: 0;
	top: -5px;
	margin-top: 0;
}

.rtl .litespeed-wrap .litespeed-float-submit {
	left: 10px;
	right: unset;
}

.litespeed-wrap .litespeed-float-resetbtn {
	position: absolute;
	right: 0;
	bottom: 20px;
}

.rtl .litespeed-wrap .litespeed-float-resetbtn {
	left: 10px;
	right: unset;
}

/* =======================================
		  FORM - utilities
======================================= */

.litespeed .litespeed-input-large {
	font-size: 20px;
}

.litespeed-input-long {
	width: 87%;
}

.litespeed-input-short2 {
	width: 150px;
}

.litespeed-input-short {
	width: 45px;
}

@media screen and (max-width: 680px) {
	.litespeed-input-short2 {
		width: 160px;
	}

	.litespeed-input-short {
		width: 50px;
	}
}

/* =======================================
		   FORM - elements
======================================= */

.litespeed-form-label {
	font-size: 1em;
	margin: 0.65rem 0;
	display: block;
	font-weight: 600;
}

.litespeed-form-label--toggle {
	margin: 0;
	display: inline-block;
	min-width: 110px;
}

input.litespeed-input[type='file'] {
	padding: 9px;
	min-width: 500px;
	border: 1px solid #ddd;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
	background-color: #fff;
	color: #32373c;
	outline: 0;
	transition: 50ms border-color ease-in-out;
}

.litespeed-body .litespeed-textarea-success {
	border-color: #6699cc;
}

input.litespeed-input-success {
	border-color: #28a745;
}

input.litespeed-input-warning {
	border-color: #e59544;
}

.litespeed-textarea {
	width: 60%;
}

.litespeed-textarea-recommended {
	display: flex;
	margin-top: -5px;
}

.litespeed-textarea-recommended .litespeed-desc {
	margin: 0;
}

.litespeed-textarea-recommended > div:first-child {
	margin-top: 1.7em;
	font-size: 12px;
	margin-right: 25px;
}

.litespeed-wrap .litespeed-collection-button {
	text-decoration: none;
	min-width: 30px;
	text-align: center;
}

.litespeed-collection-button[data-action='add'] {
	margin-top: -5px;
	margin-left: -5px;
}

.litespeed-collection-button .dashicons {
	vertical-align: baseline;
}

.litespeed-wrap .button:not(.litespeed-btn-large).litespeed-form-action .dashicons {
	font-size: 1.2em;
	vertical-align: middle;
	top: 0;
}

@media screen and (max-width: 680px) {
	.litespeed-body tbody > tr > th {
		display: block;
		padding: 18px 0 5px 12px;
	}

	.litespeed-body .litespeed-table td {
		display: block;
		max-width: 100%;
	}

	.litespeed-body .litespeed-table textarea,
	.litespeed-body .litespeed-table input.litespeed-regular-text {
		width: 100% !important;
	}

	.litespeed-wrap .litespeed-float-submit {
		display: none;
	}

	.litespeed-body {
		padding: 1px 10px 20px 15px;
	}

	.litespeed-body .regular-text:not(.litespeed-input-short) {
		width: 100%;
	}

	.litespeed-textarea-recommended {
		flex-direction: column;
	}

	.litespeed-textarea-recommended > div:first-child {
		margin-bottom: 1.7em;
		margin-top: 0;
		margin-right: 0;
	}

	.litespeed-switch {
		max-width: 100%;
		flex-wrap: wrap;
	}

	.litespeed-switch + .litespeed-warning {
		display: block;
		margin-top: 10px;
	}

	input.litespeed-input[type='file'] {
		max-width: calc(100% - 24px);
		min-width: 0;
	}

	.litespeed-body .litespeed-table .litespeed-row-flex {
		flex-direction: column;
	}
}

/* =======================================
		   ENTERPRISE NOTICE
======================================= */

.litespeed-ent-notice {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: #333;
	z-index: 999;
	opacity: 0.8;
	text-align: center;
	font-size: 3rem;
	color: #1865c5;
}

.litespeed-ent-notice-desc {
	position: relative;
	top: 30%;
	transform: rotate(-20deg);
	text-shadow: 2px 2px 4px #000000;
}

/* =======================================
			  PROMO BANNER
======================================= */

.litespeed-banner-promo,
.litespeed-banner-promo-full {
	display: flex;
	padding: 0px;
}

.litespeed-banner-promo-full {
	margin: 0px;
	padding: 0px;
}

.litespeed-banner-promo-logo {
	background-image: url(../img/lscwp-logo_90x90.png);
	background-size: contain;
	width: 90px;
	background-repeat: no-repeat;
	display: inline-block;
}

.litespeed-banner-promo-full .litespeed-banner-promo-logo {
	margin: 0px;
	width: 90px;
	height: 90px;
}

.litespeed-banner-promo-content {
	margin-left: 25px;
}

.litespeed-banner-promo-full .litespeed-banner-promo-content {
	width: 75%;
}

.litespeed-banner-promo-content h1 {
	font-weight: 600;
	color: #538ac6;
	margin-top: 10px;
}

.litespeed-banner-title {
	font-size: 1.3em;
	margin: 8px 0px 5px 0px;
}

.litespeed-banner-promo-slacklogo {
	background-image: url('../img/slack-logo.png');
	background-size: contain;
	width: 75px;
	height: 75px;
	background-repeat: no-repeat;
	display: inline-block;
	padding: 0px;
	flex: 0 0 5%;
}

.litespeed-banner-promo .litespeed-banner-promo-slack-line1 {
	font-size: 18px;
	margin-top: 0px;
	line-height: 21px;
}

.litespeed-banner-promo .litespeed-banner-promo-slack-textlink {
	color: #e59544;
	text-decoration: none;
}

.litespeed-banner-promo .litespeed-banner-promo-slack-textlink:hover {
	opacity: 0.8;
}

.litespeed-banner-promo-slack-line2 {
	font-size: 15px;
	margin: 0px;
	line-height: 0.75em;
}

.litespeed-banner-promo-slack-link {
	color: #888888;
}

a.litespeed-btn-xs.litespeed-banner-promo-slack-btn {
	margin: 0px 5px;
}

/* =======================================
			  PROMO BANNER - QC
======================================= */

.litespeed-banner-promo-qc {
	display: flex;
}

.litespeed-banner-promo-qc h2 {
	line-height: 1.4;
}

.litespeed-banner-promo-qc-content {
	display: flex;
	align-items: center;
}

.litespeed-banner-promo-qc-description {
	flex-basis: 50%;
	padding-right: 2rem;
}

.litespeed-banner-promo-qc-description p {
	font-size: 14px;
}

.litespeed-banner-promo-qc-description .button {
	margin-right: 1.5rem;
}

.litespeed-tweet-preview {
	border-radius: 5px;
	line-height: 1.3125;
	box-shadow: 1px 1px 0.5em rgba(0, 0, 0, 0.3);
	margin: 0.5em 1em 1em 0;
	padding: 1em;
	max-width: 480px;
	display: flex;
}

.litespeed-tweet-preview:after {
	content: '';
	display: block;
	clear: both;
}

.litespeed-tweet-preview p:first-child {
	margin-top: 0;
}

.litespeed-tweet-preview-title {
	color: #777;
	margin-top: 0.9em;
	font-weight: normal;
	font-size: 12px;
	margin-bottom: 0;
	margin-top: 0.9em;
}

.litespeed-tweet-text {
	font:
		14px system-ui,
		-apple-system,
		BlinkMacSystemFont,
		'Segoe UI',
		Roboto,
		Ubuntu,
		'Helvetica Neue',
		sans-serif;
	line-height: 1.3125;
}

.litespeed-tweet-cta {
	text-align: right;
	margin-top: 1em;
}

.litespeed-tweet-cta a {
	background-color: #1da1f2;
	line-height: 1.3125;
	color: #fff;
	font-weight: bold;
	display: inline-flex;
	padding: 0.55em 1em;
	font-size: 14px;
	border-radius: 99em;
	text-decoration: none;
}

.litespeed-tweet-cta a:hover {
	background-color: #1e98e1;
}

.litespeed-tweet-cta a svg {
	width: 16px;
	height: 18px;
	margin-right: 0.5em;
}

.litespeed-tweet-cta a svg path {
	fill: currentColor;
}

.litespeed-tweet-img {
	width: calc(240px + 1rem);
	padding-right: 1rem;
	box-sizing: border-box;
}

.litespeed-tweet-img img {
	max-width: 100%;
	vertical-align: middle;
}

.litespeed-tweet-img + p {
	margin-top: 0;
}

/* =======================================
		admin -> media lib icon
======================================= */

.litespeed-media-href {
	display: inline-table;
}

[class*='litespeed-icon-media-'] {
	background-size: contain;
	width: 25px;
	height: 25px;
	vertical-align: middle;
	margin: 0;
	background-repeat: no-repeat;
	display: inline-block;
}

[class*='litespeed-icon-media-']:hover {
	opacity: 0.7;
}

.litespeed-icon-media-webp {
	background-image: url('../img/icons/img_webp.svg');
}

.litespeed-icon-media-webp-disabled {
	background-image: url('../img/icons/img_webp_disabled.svg');
}

.litespeed-icon-media-optm {
	background-image: url('../img/icons/img_optm.svg');
}

.litespeed-icon-media-optm-disabled {
	background-image: url('../img/icons/img_optm_disabled.svg');
}

p.litespeed-media-p {
	margin-bottom: 1px !important;
}

p.litespeed-txt-webp {
	color: #83b04a;
}

p.litespeed-txt-ori {
	color: #5967b3;
}

p.litespeed-txt-disabled {
	color: #ced2d9;
}

.litespeed-media-svg {
	vertical-align: middle;
	margin: 5px;
	width: 25px;
	height: auto;
}

@keyframes litespeed-circle-chart-fill {
	to {
		stroke-dasharray: 0 100;
	}
}

/* =======================================
			 PIE chart
======================================= */

.litespeed-pie {
	vertical-align: middle;
	margin: 5px 5px 5px 0;
}

circle.litespeed-pie_bg {
	stroke: #efefef;
	stroke-width: 2;
	fill: none;
}

circle.litespeed-pie_circle {
	animation: litespeed-circle-chart-fill 2s reverse;
	transform: rotate(-90deg);
	transform-origin: center;

	animation: litespeed-pie-fill 2s reverse;
	/* 1 */
	stroke: #28a745;
	stroke-width: 2;
	stroke-linecap: round;
	fill: none;
}

.litespeed-pie.litespeed-pie-tiny {
	margin: 0 2px 0 0;
}

.litespeed-pie.litespeed-pie-tiny text {
	font-weight: bold;
	fill: #828282;
}

.litespeed-pie.litespeed-pie-tiny circle {
	stroke-linecap: initial;
}

.litespeed-pie-tiny circle.litespeed-pie_bg,
.litespeed-pie-tiny circle.litespeed-pie_circle {
	stroke-width: 3;
}

.litespeed-pie-tiny circle.litespeed-pie_bg {
	stroke: #eee;
}

.litespeed-pie-success circle.litespeed-pie_circle {
	stroke: #28a745;
}

.litespeed-pie-warning circle.litespeed-pie_circle {
	stroke: #e67700;
}

.litespeed-pie-danger circle.litespeed-pie_circle {
	stroke: #c7221f;
}

g.litespeed-pie_info text {
	dominant-baseline: central;
	text-anchor: middle;
	font-size: 11px;
}

.litespeed-promo-score g.litespeed-pie_info text {
	font-size: 14px;
	font-weight: 600;
}

.litespeed-pie-success g.litespeed-pie_info text {
	fill: #28a745;
}

.litespeed-pie-warning g.litespeed-pie_info text {
	fill: #e67700;
}

.litespeed-pie-danger g.litespeed-pie_info text {
	fill: #c7221f;
}

g.litespeed-pie_info .litespeed-pie-done {
	fill: #28a745;
	font-size: 15px;
}

/* =======================================
		VIEW - multiple cdn mapping
======================================= */

[data-litespeed-cdn-mapping]:first-child [data-litespeed-cdn-mapping-del] {
	display: none;
}

.litespeed-cdn-mapping-col1 {
	padding-right: 2rem;
	max-width: 35%;
}

.litespeed-cdn-mapping-col1 .litespeed-input-long {
	width: 100%;
}

.litespeed-cdn-mapping-col2 {
	padding-top: 0.25rem;
}

.litespeed-cdn-mapping-col1 label {
	position: relative;
}

[data-litespeed-cdn-mapping-del] {
	position: absolute;
	right: -6px;
	top: -6px;
}

@media screen and (max-width: 600px) {
	.litespeed-cdn-mapping-col1 {
		max-width: 100%;
	}
}

/* =======================================
		VIEW - crawler
======================================= */

.litespeed-crawler-curr {
	vertical-align: middle;
	height: 20px;
	margin-left: 10px;
}

#cookie_crawler > p:first-child {
	margin-top: 5px;
}

.litespeed-crawler-sitemap-nav {
	display: flex;
	justify-content: space-between;
}

.litespeed-crawler-sitemap-nav > div {
	margin-top: 10px;
}

@media screen and (max-width: 680px) {
	.litespeed-crawler-sitemap-nav {
		display: block;
	}

	.litespeed-table-responsive {
		clear: both;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.litespeed-table-responsive table {
		width: 100%;
	}

	.litespeed-table-responsive th {
		text-wrap: nowrap;
	}

	.litespeed-table-responsive [data-crawler-list].wp-list-table td:nth-child(2) {
		min-width: 115px;
	}

	.litespeed-wrap input[name='kw'] {
		width: 100% !important;
	}
}

/* =======================================
			PROGRESS BAR
======================================= */

.litespeed-progress-bar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #fff;
	text-align: center;
	background-color: #007bff;
	transition: width 0.6s ease;
}

.litespeed-progress-bar-yellow {
	background-color: #fbe100;
}

.litespeed-progress {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 12px;
	overflow: hidden;
	font-size: 0.75rem;
	background-color: #e9ecef;
	border: 1px solid #dddddd;
	border-radius: 8px;
	width: 75%;
	margin: 5em 1em 1.5em 1em !important;
}

/* =======================================
		PROGRESS BAR - modal
======================================= */

.litespeed-modal {
	margin-top: -8px;
}

.litespeed-modal .litespeed-progress {
	margin-left: -8px;
	margin-right: -8px;
}

/* =======================================
		   		GUIDANCE
======================================= */

.litespeed-guide {
	border: 1px solid #73b38d;
	max-width: 50%;
	padding: 20px;
}

.litespeed-guide h2 {
	color: #73b38d;
	border-bottom: 1px solid #73b38d;
	display: table;
	padding-right: 50px;
	padding-left: 3px;
	padding-bottom: 3px;
}

.litespeed-guide li {
	font-size: 15px;
	line-height: 30px;
	margin: 10px 10px 10px 16px;
}

.litespeed-guide li.litespeed-guide-done:before {
	content: '\2713';
	font-size: 26px;
	color: #73b38d;
	margin-left: -37px;
	margin-right: 18px;
	opacity: 1;
}

.litespeed-guide li.litespeed-guide-done {
	opacity: 0.9;
}

/* =======================================
		VIEW - image optimization
======================================= */

.litespeed-image-optim-summary-wrapper {
	padding: 0;
}

.litespeed-cache_page_litespeed-img_optm .nav-tab-wrapper,
.litespeed-cache_page_litespeed-cdn .nav-tab-wrapper {
	border-bottom-color: #e5e5e5;
}

.litespeed-cache_page_litespeed-img_optm .litespeed-body,
.litespeed-cache_page_litespeed-cdn .litespeed-body {
	box-shadow: none;
}

.litespeed-cache_page_litespeed-img_optm .litespeed-wrap .nav-tab:not(.nav-tab-active),
.litespeed-cache_page_litespeed-cdn .litespeed-wrap .nav-tab:not(.nav-tab-active) {
	border-bottom-color: #e5e5e5;
}

.litespeed-cache_page_litespeed-img_optm .nav-tab-active,
.litespeed-cache_page_litespeed-cdn .nav-tab-active {
	border-left-color: #e5e5e5;
	border-right-color: #e5e5e5;
	border-top-color: #e5e5e5;
	position: relative;
	z-index: 2;
}

.litespeed-cache_page_litespeed-img_optm [data-litespeed-layout='summary'],
.litespeed-cache_page_litespeed-cdn [data-litespeed-layout='qc'] {
	margin: -2px -21px -21px -21px;
	background: #f0f0f1;
}

.litespeed-column-secondary {
	background: #f9fafc;
}

.litespeed-column-with-boxes .postbox {
	border-color: #e5e5e5;
}

.litespeed-column-with-boxes .litespeed-width-7-10 {
	padding: 0;
}

@media screen and (min-width: 815px) {
	.litespeed-column-with-boxes > div.litespeed-column-left {
		padding-right: 25px;
	}
}

.litespeed-column-with-boxes > div.litespeed-column-right {
	background: #f1f1f1;
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
}

.litespeed-column-with-boxes > div.litespeed-column-right .litespeed-postbox:last-child {
	margin-bottom: 0;
}

.litespeed-image-optim-summary,
.litespeed-column-left-inside {
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
	position: relative;
	padding: 1px 20px 20px 20px;
	background: #fff;
	border: 1px solid #e5e5e5;
}

.litespeed-image-optim-summary-footer,
.litespeed-column-with-boxes-footer {
	border-top: 1px solid #efefef;
	background: #f9f9f9;
	padding: 20px;
	margin: 20px -20px -20px;
}

.litespeed-help-btn-icon {
	text-decoration: none;
	margin-left: 10px;
	color: #c8c8c8;
}

.litespeed-postbox-imgopt-info .litespeed-flex-container {
	align-items: center;
}

.litespeed-postbox-imgopt-info .litespeed-flex-container:not(:last-child) {
	margin-bottom: 0.65em;
}

.litespeed-postbox-imgopt-info .litespeed-flex-container p:first-child {
	margin-top: 0;
}

.litespeed-image-optim-summary > h3:first-child,
.litespeed-column-left-inside > h3:first-child {
	margin-top: 1.6em;
	font-size: 1.2em;
}

.litespeed-image-optim-summary > h3:first-child .litespeed-quic-icon,
.litespeed-column-left-inside > h3:first-child .litespeed-quic-icon {
	width: 1.2em;
	height: 1.4em;
	background-size: contain;
	margin-right: 0.2rem;
}

.litespeed-img-optim-actions {
	margin-top: 1.65em;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
}

.litespeed-img-optim-actions .button-primary {
	font-size: 1.2em;
	margin-right: 1em;
	padding: 0.35em 0.85em;
	min-width: 210px;
	text-align: center;
}

@media screen and (max-width: 1079px) {
	.litespeed-postbox-imgopt-info svg {
		height: 50px;
		width: 50px;
	}
}

@media screen and (max-width: 814px) {
	.litespeed-column-with-boxes > div:first-child {
		padding-right: 0;
		margin-bottom: 1rem;
	}
}

@media screen and (max-width: 680px) {
	.litespeed-img-optim-actions .button + .button.button-secondary {
		margin-left: 0;
		margin-top: 10px;
	}
}

/* =======================================
	VIEW - image optm media row
======================================= */

.imgoptm.column-imgoptm a[data-balloon-pos] {
	border-bottom: 1px dashed;
}

.imgoptm.column-imgoptm p {
	margin-bottom: 0.25em;
	margin-top: 0;
}

.imgoptm.column-imgoptm p + .row-actions {
	margin-top: 0.5em;
}

.fixed .column-lqip {
	width: 6rem;
}

.litespeed-media-lqip img {
	max-width: 62px;
	max-height: 62px;
}

.litespeed-media-href {
	font-size: 12px;
}

/* =======================================
		VIEW - log view
======================================= */

.litespeed-log-view-wrapper {
	margin: 1.5em 0;
}

/* =======================================
			VIEW - dashboard
======================================= */

.litespeed-dashboard-group {
	margin-bottom: 1rem;
}

.litespeed-dashboard-group > .litespeed-flex-container {
	margin: 0 -10px;
	min-width: 100%;
	width: auto;
}

.litespeed-dashboard .litespeed-postbox {
	margin: 10px;
}

.litespeed-dashboard-title a {
	text-decoration: none;
	margin-left: 0.25rem;
}

.litespeed-dashboard-title--w-btn {
	display: flex;
	align-items: center;
}

.litespeed-dashboard-title--w-btn .button {
	font-weight: normal;
}

.litespeed-postbox-footer .button-small {
	vertical-align: middle;
}

.litespeed-postbox .button.button-small .dashicons,
.litespeed-dashboard-title--w-btn .button.button-small .dashicons {
	font-size: 1rem;
	top: 0.05em;
	vertical-align: middle;
	margin-left: -5px;
}

.litespeed-dashboard-header {
	display: flex;
	align-items: center;
}

.litespeed-postbox p.litespeed-dashboard-stats-total + p.litespeed-dashboard-stats-total {
	margin-top: 1.2em;
}

.litespeed-dashboard-header:first-child {
	margin-top: 1.5rem;
}

.litespeed-dashboard-header hr {
	align-self: center;
	flex-grow: 1;
	margin-left: 15px;
	margin-right: 15px;
}

.litespeed-dashboard-header hr:last-child {
	margin-right: 0;
}

.litespeed-dashboard-header .litespeed-learn-more {
	font-weight: normal;
	text-decoration: none;
	margin-top: -2px;
	color: #5e7380;
}

.litespeed-dashboard-stats h3 {
	text-transform: uppercase;
	font-size: 12px;
	font-weight: normal;
	margin-bottom: 0;
	margin-top: 1.2em;
	color: #777;
}

.litespeed-dashboard-stats h3 + p {
	margin-top: 0;
	margin-bottom: 0;
}

.litespeed-dashboard-stats .litespeed-desc {
	color: #777;
}

.litespeed-dashboard-stats p strong {
	font-size: 2em;
	font-weight: normal;
	margin-right: 5px;
}

.litespeed-dashboard-stats-wrapper {
	display: flex;
	position: relative;
}

.litespeed-dashboard-stats-wrapper .litespeed-postbox {
	margin: 0;
	min-width: 20%;
}

.litespeed-dashboard-stats-wrapper .litespeed-postbox .inside .litespeed-title,
.litespeed-dashboard-group .litespeed-postbox .inside .litespeed-title {
	font-size: 14px;
}

.litespeed-postbox .inside .litespeed-title a {
	font-size: 13px;
}

.litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:last-child) {
	margin-right: -1px;
}

.litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:first-child) {
	border-left-color: #f9f9f9;
}

.litespeed-dashboard-stats-wrapper .litespeed-dashboard-stats p strong {
	font-size: 1.4rem;
}

.litespeed-dashboard-stats-wrapper .litespeed-pie {
	width: 60px;
	height: 60px;
}

.litespeed-dashboard-stats-wrapper .litespeed-flex-container + p:not(:last-child) {
	margin-bottom: 0.55em;
}

.litespeed-dashboard-stats-payg {
	color: #777;
}

.litespeed-dashboard-stats-payg strong {
	color: #444;
}

.postbox .inside > p.litespeed-dashboard-stats-payg {
	margin-top: 1.35em;
}

.postbox .inside > p.litespeed-dashboard-stats-payg:last-child {
	margin-bottom: -5px !important;
}

.litespeed-postbox p.litespeed-dashboard-stats-total {
	padding: 0.75em 20px 0 20px;
	border-top: 1px dashed #eee;
	margin-top: 0.55em;
	margin-left: -20px;
	margin-right: -20px;
	margin-bottom: -0.55em !important;
}

.litespeed-postbox.litespeed-postbox-partner .inside {
	margin: 11px 0;
}

.litespeed-dashboard-stats-wrapper .litespeed-postbox.litespeed-postbox-partner h3.litespeed-title {
	color: #777;
	font-weight: normal;
	font-size: 13px;
}

.litespeed-postbox.litespeed-postbox-partner a {
	font-size: 1.35rem;
	font-weight: bold;
	text-decoration: none;
	margin-top: 5px;
	max-width: 100%;
	display: inline-block;
}

.litespeed-postbox.litespeed-postbox-partner a:hover {
	text-decoration: underline;
}

.litespeed-postbox.litespeed-postbox-partner img {
	max-width: 12rem;
}

.litespeed-dashboard-group .litespeed-postbox {
	width: calc(25% - 20px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.litespeed-dashboard-group .litespeed-postbox-double {
	min-width: calc(50% - 20px);
	display: flex;
	justify-content: space-between;
}

.litespeed-postbox-double-content {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.litespeed-postbox-double-content .litespeed-postbox-double-col {
	width: 50%;
}

.litespeed-postbox-double-content .litespeed-postbox-double-col:nth-child(2) {
	padding-left: 10px;
}

.litespeed-dashboard-group hr {
	margin: 1.5rem 0 0.75rem 0;
}

.litespeed-postbox .litespeed-postbox-refresh {
	text-decoration: none;
	color: #36b0b0;
	line-height: 1;
	vertical-align: top;
	margin-left: 0.5rem;
	margin-bottom: 0;
}

.litespeed-postbox .litespeed-postbox-refresh.button .dashicons {
	font-size: 22px;
	top: 0.05em;
}

.litespeed-postbox p:last-child {
	margin-bottom: 0;
}

.litespeed-label-dashboard {
	font-size: 0.92em;
	padding: 0.3em 0.6em 0.35em 0.6em;
	font-weight: normal;
	display: inline-block;
	margin-left: 8px;
	min-width: 2em;
}

.litespeed-label-dashboard:first-child {
	margin-left: 0;
	margin-right: 0.35em;
}

.litespeed-postbox .inside {
	padding: 0 20px 5px;
}

.litespeed-postbox .inside .litespeed-title {
	margin: 0 -20px 12px -20px;
	padding: 0px 20px 7px 20px;
	border-bottom: 1px solid #eee;
	font-size: 1.2em;
}

.litespeed-postbox .inside.litespeed-postbox-footer {
	border-top: 1px solid #efefef;
	background: #f9f9f9;
	padding: 20px;
	margin-bottom: 0px;
	margin-top: 0;
}

.litespeed-postbox-footer a,
a.litespeed-redetect {
	text-decoration: none;
}

.litespeed-postbox .inside.litespeed-postbox-footer--compact {
	padding: 7px 15px 8px 15px;
	font-size: 12px;
}

.litespeed-postbox-imgopt .litespeed-pie {
	width: 55px;
	height: 55px;
}

.litespeed-postbox-imgopt .litespeed-flex-container {
	align-items: center;
	margin-bottom: 10px;
}

.litespeed-postbox-imgopt .litespeed-flex-container .litespeed-icon-vertical-middle + div h3 {
	margin-top: 0;
}

.litespeed-postbox-imgopt .litespeed-flex-container .litespeed-icon-vertical-middle + div p {
	line-height: 1.2;
}

.litespeed-postbox-imgopt .litespeed-postbox-double-col:last-child > *:first-child {
	margin-top: 7px;
}

.litespeed-postbox-pagespeed p:first-child {
	margin-top: 0;
	margin-bottom: 0;
}

.litespeed-postbox-score-improve {
	line-height: 45px;
	margin-top: 7px;
	font-size: 42px;
}

.litespeed-postbox-pagespeed .litespeed-padding-space:first-child {
	padding-left: 5px;
	padding-right: 5px;
}

.litespeed-link-with-icon {
	text-decoration: underline;
	margin-right: 0.25em;
}

.litespeed-link-with-icon .dashicons {
	vertical-align: baseline;
	position: relative;
	top: 0.1em;
	font-size: 1em;
	text-decoration: none;
	width: auto;
	margin-right: 0.5em;
}

.litespeed-link-with-icon.litespeed-icon-right .dashicons {
	margin-left: 0.5em;
	margin-right: 0;
}

.litespeed-warning-bg {
	background-color: #b58a09;
	color: white;
}

.litespeed-links-group:not(:last-child) {
	margin-bottom: 1em;
}

.litespeed-links-group > span:not(:last-child):after {
	content: '|';
	margin: 0 10px;
	color: #ddd;
	font-size: 13px;
}

.litespeed-wrap p.litespeed-qc-dashboard-link {
	margin-left: 1rem;
}

.litespeed-right.litespeed-qc-dashboard-link .dashicons {
	margin-left: 0.5em;
	margin-right: 0;
}

.litespeed-score-col {
	flex-grow: 1;
	padding-right: 15px;
}

.litespeed-score-col .litespeed-text-md {
	font-size: 1.35rem;
}

.litespeed-score-col.litespeed-score-col--imp {
	text-align: right;
	padding-right: 0;
}

.litespeed-score-col--imp .litespeed-text-jumbo {
	line-height: 1;
}

.litespeed-wrap span[data-balloon-pos] {
	border-bottom: 1px dashed;
}

.litespeed-wrap span[aria-label][data-balloon-pos] {
	cursor: default;
}

.litespeed-postbox--quiccloud {
	border-color: #253545;
}

.litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title {
	background: #253545;
	color: #e2e4e5;
	margin-top: -11px;
	padding: 10px 15px;
	margin-left: -15px;
	margin-right: -15px;
}

.litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a {
	color: #8abff8;
}

.litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a:hover {
	color: #a5caf2;
}

.litespeed-overwrite{
	display: inline-block;
	margin-left: 10px;
}

@media screen and (min-width: 1401px) {
	.litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title {
		padding-left: 20px;
		padding-right: 20px;
		margin-left: -20px;
		margin-right: -20px;
	}

	.litespeed-postbox .inside.litespeed-postbox-footer--compact {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media screen and (max-width: 1400px) and (min-width: 1024px) {
	.litespeed-dashboard-stats-wrapper .litespeed-postbox {
		flex-grow: 1;
	}

	.litespeed-postbox .inside {
		padding: 0 15px 5px;
	}

	.litespeed-dashboard-group .litespeed-postbox {
		width: calc(33.3333% - 20px);
	}

	.litespeed-dashboard-group .litespeed-postbox-double {
		min-width: calc(66.6666% - 20px);
	}
}

@media screen and (max-width: 1023px) {
	.litespeed-dashboard-stats-wrapper {
		flex-wrap: wrap;
	}

	.litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:first-child) {
		border-left-color: #ccd0d4;
	}

	.litespeed-dashboard-stats-wrapper .litespeed-postbox {
		margin-top: -1px;
		min-width: calc(33.3333% - 1px);
	}

	.litespeed-postbox .inside {
		padding: 0 15px 5px;
	}

	.litespeed-dashboard-group .litespeed-postbox {
		width: calc(50% - 20px);
	}

	.litespeed-dashboard-group .litespeed-postbox-double {
		min-width: calc(100% - 20px);
	}
}

@media screen and (max-width: 719px) and (min-width: 480px) {
	.litespeed-dashboard-stats-wrapper .litespeed-postbox {
		margin-top: -1px;
		min-width: calc(50% - 2px);
	}
}

@media screen and (max-width: 569px) {
	.litespeed-dashboard-stats-wrapper .litespeed-postbox {
		min-width: 100%;
	}

	.litespeed-dashboard-group .litespeed-postbox {
		width: 100%;
	}

	.litespeed-postbox-double-content .litespeed-postbox-double-col {
		width: 100%;
	}

	.litespeed-postbox-double-content .litespeed-postbox-double-col:nth-child(2) {
		padding-left: 0;
		margin-top: 7px;
	}

	.litespeed-postbox-double-content {
		flex-wrap: wrap;
	}
}

/* =======================================
			VIEW - dashboard QC services
======================================= */

.litespeed-dashboard-qc {
	position: relative;
}

.litespeed-dashboard-unlock {
	text-align: center;
	background-color: #fff;
	box-shadow:
		0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, 0.03),
		0px 3px 0px 0px rgba(0, 0, 0, 0.07);
	border-radius: 0.5rem;
	padding: 2rem;
	position: absolute;
	z-index: 5;
	left: 50%;
	transform: translate(-50%, 25%);
	top: 0;
	max-width: 96%;
	width: 540px;
}

.litespeed-dashboard-unlock.litespeed-dashboard-unlock--inline {
	position: relative;
	left: 50%;
	transform: translate(-50%, 0);
	border: 1px solid #e5e5e5;
	background: #fafafa;
	margin-top: 2rem;
	margin-bottom: 1rem;
	max-width: calc(100% - 4rem);
}

.litespeed-dashboard-unlock-title {
	font-size: 28px;
}

.litespeed-dashboard-unlock-desc {
	font-size: 17px;
	color: #000;
}

.litespeed-dashboard-unlock-desc span {
	font-size: 14px;
	color: #666;
}

p.litespeed-dashboard-unlock-footer {
	margin: 3em auto 0 auto;
	max-width: 500px;
}

.litespeed-qc-text-gradient {
	background: -webkit-linear-gradient(130deg, #ff2a91, #2295d8 60%, #161f29);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: 800;
}

.litespeed-dashboard-unlock a.button.button-primary,
.litespeed-wrap .button.litespeed-button-cta {
	font-size: 1.2em;
	padding: 0.35em 1em 0.35em 0.85em;
	min-width: 210px;
	text-align: center;
}

.litespeed-dashboard-unlock a.button.button-primary {
	margin-top: 10px;
}

.litespeed-dashboard-unlock a.button.button-primary .dashicons,
.litespeed-wrap .button.litespeed-button-cta .dashicons {
	vertical-align: baseline;
	top: 0.25em;
	margin-right: 0.5em;
}

.litespeed-dashboard-unlock + .litespeed-dashboard-qc-enable {
	opacity: 0.75;
	filter: blur(2px);
}

.litespeed-dashboard-unlock + .litespeed-dashboard-qc-enable:before {
	content: '';
	position: absolute;
	left: -10px;
	top: -5px;
	width: calc(100% + 20px);
	height: calc(100% + 10px);
	background: #161e29;
	z-index: 2;
	opacity: 0.55;
	filter: blur(2px);
}

@media screen and (min-width: 1400px) {
	.litespeed-dashboard-unlock {
		width: 800px;
	}
}

@media screen and (max-width: 640px) {
	.litespeed-dashboard-unlock {
		max-width: 80%;
		padding: 1rem 1.5rem 2rem 1.5rem;
		transform: translate(-50%, 10%);
	}

	.litespeed-dashboard-unlock-title {
		font-size: 22px;
		line-height: 1.2;
	}
}

@media screen and (max-width: 340px) {
	.litespeed-dashboard-unlock a.button.button-primary,
	.litespeed-wrap .button.litespeed-button-cta {
		padding: 0.35em 1em 0.35em 1em;
	}

	.litespeed-dashboard-unlock a.button.button-primary .dashicons,
	.litespeed-wrap .button.litespeed-button-cta .dashicons {
		display: none;
	}

	p.litespeed-dashboard-unlock-footer {
		margin-top: 2em;
	}
}

/********************************* todo *******************************/

/* image optimize page */

.litespeed-column-java {
	background: #5cadad !important;
}

.litespeed-text-shipgrey {
	color: #535342 !important;
}

.litespeed-text-dimgray {
	color: #666666 !important;
}

.litespeed-text-grey {
	color: #999999 !important;
}

.litespeed-text-whisper {
	color: #e6e6e6 !important;
}

.litespeed-text-malibu {
	color: #5cbdde !important;
}

.litespeed-text-morningglory {
	color: #99cccc !important;
}

.litespeed-text-fern {
	color: #66cc66 !important;
}

.litespeed-text-persiangreen {
	color: #009999 !important;
}

.litespeed-text-lead {
	font-size: 16px;
}

.litespeed-text-small {
	font-size: 12px;
	line-height: 14px;
}

.litespeed-text-thin {
	font-weight: 100;
}

.litespeed-contrast {
	color: white;
}

.litespeed-hr-dotted {
	border: 1px dotted #eeeeee;
}

.litespeed-hr {
	padding-bottom: 1.5em;
	border-bottom: 0.5px solid #97caca;
}

.litespeed-hr-with-space {
	border-top: 1px solid #eeeeee;
	margin: 2em 0;
	border-bottom: none;
}

.litespeed-icon-vertical-middle {
	vertical-align: middle;
	display: inline-block;
	margin: 0px 10px 0px 10px;
}

.litespeed-column-java .litespeed-danger {
	color: #c1c53a !important;
}

.litespeed-column-java .litespeed-desc {
	color: #bfbfbf;
}

.litespeed-column-java code {
	color: #c2f5bf;
	background-color: #238888;
}

.litespeed-column-java .litespeed-title {
	color: white;
}

.litespeed-width-7-10 .litespeed-progress {
	margin: 1em;
}

.litespeed-refresh:after {
	content: '⟳';
	width: 20px;
	height: 20px;
	color: #40ad3a;
}

.litespeed-column-java .litespeed-refresh:after {
	color: #23ec17;
}

.litespeed-refresh:hover:after,
.litespeed-refresh:focus:after,
.litespeed-refresh:focus:active:after {
	color: #7ffbfb;
}

.litespeed-width-3-10 .litespeed-title {
	margin: 18px 0;
}

.litespeed-silence {
	color: #b1b1b1;
}

.litespeed-column-java .litespeed-congratulate {
	color: #c2f5bf;
	font-size: 20px;
}

.litespeed-light-code .litespeed-silence code {
	background-color: #f0f5fb;
}

.litespeed-column-java .litespeed-btn-danger {
	color: #f194a8;
	border-color: #f194a8;
}

.litespeed-column-java .litespeed-btn-danger:hover {
	background: #f194a8;
}

.litespeed-column-java svg.litespeed-pie circle.litespeed-pie_bg {
	stroke: #e8efe7;
}

.litespeed-column-java svg.litespeed-pie circle.litespeed-pie_circle {
	stroke: #97caca;
}

.litespeed-column-java svg .litespeed-pie_info text {
	fill: #f5ffeb;
}

.litespeed-column-java svg g.litespeed-pie_info .litespeed-pie-done {
	fill: #a5ffa0;
}

.litespeed-column-java a {
	color: #eaf8ff;
}

.litespeed-column-java a:hover {
	color: #ffffff;
}

.litespeed-progress-bar-blue {
	background-color: #33adff;
}

.litespeed-status-current {
	font-size: 3.5em;
	margin: 1.25em 0em 0.75em 0em;
}

/* .litespeed-title, .litespeed-title-short {
	margin: 18px 0;
	border-bottom: 1px solid #C1D5EA;
	margin: 2.5em 0px 1.5em 0 !important;
} */

.litespeed-column-java .litespeed-desc {
	color: #cae4e4;
}

.litespeed-column-java .litespeed-warning {
	color: #ffd597 !important;
}

.litespeed-column-java .litespeed-btn-success {
	color: #ddf1e4;
	border: 1px solid #33ad5c;
	background: #33ad5c;
}

.litespeed-column-java .litespeed-btn-success:hover {
	color: #ffffff;
	border: 1px solid #7dca97;
	background: #009933;
}

.litespeed-column-java .litespeed-btn-warning {
	color: #fff1dd;
	border: 1px solid #ff9933;
	background-color: #ff9933;
}

.litespeed-column-java .litespeed-btn-warning:hover {
	color: #ffffff;
	border-color: #ffca7d;
	background: #ff9900;
}

.litespeed-column-java .litespeed-btn-danger {
	color: #ffeadd !important;
	border: 1px solid #ff6600 !important;
	background: #ff5c5c;
}

.litespeed-column-java .litespeed-btn-danger:hover {
	color: #ffffff;
	border: 1px solid #ff9797 !important;
	background: #ff0000;
}

.litespeed-column-java .litepseed-dash-icon-success,
.litepseed-dash-icon-success {
	color: #5cdede;
	font-size: 2em;
	margin-top: -0.25em;
}

.litespeed-column-java .litepseed-dash-icon-success:hover,
.litepseed-dash-icon-success:hover {
	color: #7de5e5;
}

.litespeed-dashicons-large {
	font-size: 2em;
}

.litespeed-column-java p {
	color: #ffffff;
}

.litespeed-body tbody > tr > th.litespeed-padding-left {
	padding-left: 3em;
}

@media screen and (max-width: 680px) {
	.litespeed-body tbody > tr > th.litespeed-padding-left {
		padding-left: 10px;
	}

	.litespeed-body tbody > tr > th.litespeed-padding-left:before {
		content: '\2014\2014';
		color: #ccc;
		margin-right: 5px;
	}
}

.litespeed-txt-small {
	font-size: 12px;
}

.litespeed-txt-disabled .litespeed-text-dimgray {
	color: #aaaaaa;
}

.litespeed-txt-disabled svg {
	fill: #aaaaaa;
}

.litespeed-txt-disabled circle.litespeed-pie_circle {
	stroke: #cccccc;
}

.litespeed-txt-disabled g.litespeed-pie_info text {
	color: #cccccc;
}

a.litespeed-media-href svg:hover {
	border-radius: 50%;
	background: #f1fcff;
	fill: #5ccad7;
	box-shadow: 0 0 5px 1px #7dd5df;
	transition: all 0.2s ease-out;
	transform: scale(1.05);
}

.litespeed-media-p a .dashicons-trash {
	font-size: 2.25em;
	vertical-align: middle;
	display: inline;
	border-radius: 50%;
	line-height: 1.5em;
}

.litespeed-media-p a .dashicons-trash:hover {
	transition: all 0.2s ease-out;
	color: #ffa500 !important;
	background: #fff5e6;
	box-shadow: 0 0 10px 1px #ff8c00;
}

.litespeed-media-p div > svg circle.litespeed-pie_bg {
	stroke: #ecf2f9;
}

.litespeed-media-p div > svg circle.litespeed-pie_circle {
	stroke: #9fbfdf;
}

.litespeed-media-p div > svg {
	fill: #538cc6;
	background: rgba(236, 242, 249, 0.1);
	border-radius: 50%;
}

.litespeed-banner-description-padding-right-15 {
	padding-right: 15px;
}

.litespeed-banner-description {
	display: inline-flex;
	flex-wrap: wrap;
}

.litespeed-banner-description-content {
	margin: 0px;
	line-height: 1.25em;
}

.litespeed-banner-button-link {
	white-space: nowrap;
	margin: 0px;
	line-height: 1.5em;
	padding-bottom: 5px;
}

.litespeed-notice-dismiss {
	position: absolute;
	right: 25px;
	border: none;
	margin: 0;
	padding: 10px;
	background: none;
	cursor: pointer;
	color: #888888;
	display: block;
	height: 20px;
	text-align: center;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-weight: 600;
	text-decoration: none;
}

.litespeed-notice-dismiss:hover,
.litespeed-notice-dismiss:active,
.litespeed-notice-dismiss:focus {
	color: #cc2929;
}

.litespeed-dot {
	display: inline-block;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	color: white;
	text-align: center;
}

.litespeed-badge {
	display: inline-block;
	border-radius: 20%;
	min-width: 50px;
	height: 20px;
	color: white;
	text-align: center;
}

/* =======================================
	Comparison Cards - Presets
======================================= */

.litespeed-comparison-card {
	box-sizing: border-box;
}

.litespeed-comparison-card-rec .litespeed-card-content > div.litespeed-card-body {
	font-size: 14px;
}

.litespeed-comparison-card-rec .litespeed-card-action {
	margin-bottom: 0.25rem;
}

.litespeed-comparison-card-rec h3 {
	font-size: 20px;
}

.litespeed-card-content > div,
.litespeed-card-action {
	padding: 0.85rem 1.25rem;
}

.litespeed-card-header {
	border-bottom: 1px solid #eee;
	background: #f9fafc;
}

.litespeed-card-content > div.litespeed-card-body {
	align-self: stretch;
	justify-content: flex-end;
	font-size: 15px;
	padding-bottom: 0.5rem;
	padding-top: 1rem;
}

.litespeed-card-content > div.litespeed-card-footer {
	align-self: stretch;
	justify-content: flex-end;
	padding-bottom: 0;
	padding-top: 0.25rem;
}

.litespeed-card-action {
	justify-content: flex-end;
}

.litespeed-comparison-card ul {
	padding-left: 20px;
	list-style: none;
	list-style-position: outside;
	margin: 0;
}

.litespeed-comparison-card li {
	margin-bottom: 0.5em;
	line-height: 1.4;
}

.litespeed-comparison-card li:last-child {
	margin-bottom: 0;
}

.litespeed-comparison-card ul li:before {
	content: '✓';
	margin-left: -1em;
	margin-right: 0.35em;
	color: #329c74;
}

@media screen and (max-width: 1279px) {
	.litespeed-comparison-card {
		margin: 0 0 -1px 0;
	}
}

@media screen and (min-width: 640px) and (max-width: 1279px) {
	.litespeed-comparison-cards {
		max-width: 740px;
	}

	.litespeed-card-content {
		display: flex;
		flex-wrap: wrap;
	}

	.litespeed-card-content .litespeed-card-header {
		width: 100%;
	}

	.litespeed-card-content > div.litespeed-card-body {
		align-self: initial;
		width: 50%;
		box-sizing: border-box;
	}

	.litespeed-card-content > div.litespeed-card-footer {
		width: 50%;
		align-self: initial;
		box-sizing: border-box;
	}

	.litespeed-card-content > div.litespeed-card-footer h4 {
		margin-top: 1rem;
	}
}

@media screen and (min-width: 1280px) {
	.litespeed-comparison-cards {
		display: flex;
		margin: 3rem 0 2rem 0;
		max-width: 1720px;
	}

	.litespeed-comparison-card {
		width: 19%;
		min-width: 0;
		display: flex;
		flex-direction: column;
		margin-right: -1px;
		justify-content: space-between;
	}

	.litespeed-comparison-card:first-child {
		border-top-left-radius: 5px;
		border-bottom-left-radius: 5px;
		overflow: hidden;
	}

	.litespeed-comparison-card:last-child {
		border-top-right-radius: 5px;
		border-bottom-right-radius: 5px;
		overflow: hidden;
	}

	.litespeed-comparison-card-rec {
		width: 23%;
		padding-top: 1rem;
		padding-bottom: 0.75rem;
		margin-top: -1rem;
		margin-bottom: 0.25rem;
		border-radius: 5px;
		overflow: hidden;
	}

	.litespeed-comparison-card-rec .litespeed-card-header {
		margin-top: -1rem;
		padding-top: 1.75rem;
		padding-bottom: 0.95rem;
	}
}

/* =======================================
		BALLOON PURE CSS TOOLTIPS
======================================= */

.litespeed-wrap {
	--balloon-color: rgba(16, 16, 16, 0.95);
	--balloon-font-size: 12px;
	--balloon-move: 4px;
}

.litespeed-wrap button[aria-label][data-balloon-pos] {
	overflow: visible;
}

.litespeed-wrap [aria-label][data-balloon-pos] {
	position: relative;
	cursor: pointer;
}

.litespeed-wrap [aria-label][data-balloon-pos]:after {
	opacity: 0;
	pointer-events: none;
	transition: all 0.2s ease 0.05s;
	text-indent: 0;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	font-weight: normal;
	font-style: normal;
	text-shadow: none;
	font-size: var(--balloon-font-size);
	background: var(--balloon-color);
	border-radius: 2px;
	color: #fff;
	content: attr(aria-label);
	padding: 0.5em 1em;
	position: absolute;
	white-space: nowrap;
	z-index: 10;
	line-height: 1.4;
}

.litespeed-wrap [aria-label][data-balloon-pos]:before {
	width: 0;
	height: 0;
	border: 5px solid transparent;
	border-top-color: var(--balloon-color);
	opacity: 0;
	pointer-events: none;
	transition: all 0.2s ease 0.05s;
	content: '';
	position: absolute;
	z-index: 10;
}

.litespeed-wrap [aria-label][data-balloon-pos]:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos]:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-visible]:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-visible]:after,
.litespeed-wrap [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,
.litespeed-wrap [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {
	opacity: 1;
	pointer-events: none;
}

.litespeed-wrap [aria-label][data-balloon-pos].font-awesome:after {
	font-family:
		FontAwesome,
		-apple-system,
		BlinkMacSystemFont,
		'Segoe UI',
		Roboto,
		Oxygen,
		Ubuntu,
		Cantarell,
		'Open Sans',
		'Helvetica Neue',
		sans-serif;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-break]:after {
	white-space: pre;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {
	white-space: pre-line;
	word-break: break-word;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-blunt]:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-blunt]:after {
	transition: none;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up']:after {
	bottom: 100%;
	left: 50%;
	margin-bottom: 10px;
	transform: translate(-50%, var(--balloon-move));
	transform-origin: top;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up']:before {
	bottom: 100%;
	left: 50%;
	transform: translate(-50%, var(--balloon-move));
	transform-origin: top;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up'][data-balloon-visible]:after {
	transform: translate(-50%, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up'][data-balloon-visible]:before {
	transform: translate(-50%, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left']:after {
	bottom: 100%;
	left: 0;
	margin-bottom: 10px;
	transform: translate(0, var(--balloon-move));
	transform-origin: top;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left']:before {
	bottom: 100%;
	left: 5px;
	transform: translate(0, var(--balloon-move));
	transform-origin: top;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left'][data-balloon-visible]:after {
	transform: translate(0, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left'][data-balloon-visible]:before {
	transform: translate(0, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right']:after {
	bottom: 100%;
	right: 0;
	margin-bottom: 10px;
	transform: translate(0, var(--balloon-move));
	transform-origin: top;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right']:before {
	bottom: 100%;
	right: 5px;
	transform: translate(0, var(--balloon-move));
	transform-origin: top;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right'][data-balloon-visible]:after {
	transform: translate(0, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right'][data-balloon-visible]:before {
	transform: translate(0, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down']:after {
	left: 50%;
	margin-top: 10px;
	top: 100%;
	transform: translate(-50%, calc(var(--balloon-move) * -1));
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down']:before {
	width: 0;
	height: 0;
	border: 5px solid transparent;
	border-bottom-color: var(--balloon-color);
	left: 50%;
	top: 100%;
	transform: translate(-50%, calc(var(--balloon-move) * -1));
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down'][data-balloon-visible]:after {
	transform: translate(-50%, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down'][data-balloon-visible]:before {
	transform: translate(-50%, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left']:after {
	left: 0;
	margin-top: 10px;
	top: 100%;
	transform: translate(0, calc(var(--balloon-move) * -1));
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left']:before {
	width: 0;
	height: 0;
	border: 5px solid transparent;
	border-bottom-color: var(--balloon-color);
	left: 5px;
	top: 100%;
	transform: translate(0, calc(var(--balloon-move) * -1));
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left'][data-balloon-visible]:after {
	transform: translate(0, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left'][data-balloon-visible]:before {
	transform: translate(0, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right']:after {
	right: 0;
	margin-top: 10px;
	top: 100%;
	transform: translate(0, calc(var(--balloon-move) * -1));
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right']:before {
	width: 0;
	height: 0;
	border: 5px solid transparent;
	border-bottom-color: var(--balloon-color);
	right: 5px;
	top: 100%;
	transform: translate(0, calc(var(--balloon-move) * -1));
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right'][data-balloon-visible]:after {
	transform: translate(0, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right'][data-balloon-visible]:before {
	transform: translate(0, 0);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left']:after {
	margin-right: 10px;
	right: 100%;
	top: 50%;
	transform: translate(var(--balloon-move), -50%);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left']:before {
	width: 0;
	height: 0;
	border: 5px solid transparent;
	border-left-color: var(--balloon-color);
	right: 100%;
	top: 50%;
	transform: translate(var(--balloon-move), -50%);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left'][data-balloon-visible]:after {
	transform: translate(0, -50%);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left'][data-balloon-visible]:before {
	transform: translate(0, -50%);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right']:after {
	left: 100%;
	margin-left: 10px;
	top: 50%;
	transform: translate(calc(var(--balloon-move) * -1), -50%);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right']:before {
	width: 0;
	height: 0;
	border: 5px solid transparent;
	border-right-color: var(--balloon-color);
	left: 100%;
	top: 50%;
	transform: translate(calc(var(--balloon-move) * -1), -50%);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right'][data-balloon-visible]:after {
	transform: translate(0, -50%);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right'][data-balloon-visible]:before {
	transform: translate(0, -50%);
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='small']:after {
	white-space: normal;
	width: 80px;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='medium']:after {
	white-space: normal;
	width: 150px;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='large']:after {
	white-space: normal;
	width: 260px;
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='xlarge']:after {
	white-space: normal;
	width: 380px;
}

@media screen and (max-width: 768px) {
	.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='xlarge']:after {
		white-space: normal;
		width: 90vw;
	}
}

.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='fit']:after {
	white-space: normal;
	width: 100%;
}

/* =======================================
		Misc Mobile TWEAKS
======================================= */

@media screen and (max-width: 680px) {
	.litespeed-wrap .litespeed-body .field-col {
		margin-left: 0;
	}

	.litespeed-width-auto.litespeed-table-compact td {
		font-size: 12px;
		word-break: break-word;
	}

	.litespeed-body .litespeed-table td .litespeed-right {
		float: none !important;
	}

	.litespeed-title a.litespeed-learn-more,
	.litespeed-title-short a.litespeed-learn-more {
		display: block;
		margin-left: 0;
		margin-top: 5px;
	}
}

.litespeed-wrap .litespeed-redetect[aria-label][data-balloon-pos][data-balloon-pos='up']:after {
	left: auto;
	right: 0;
	transform: translate(0%, var(--balloon-move));
}

.litespeed-wrap .litespeed-redetect[aria-label][data-balloon-pos][data-balloon-pos='up']:hover:after,
.litespeed-wrap .litespeed-redetect[aria-label][data-balloon-pos][data-balloon-pos='up'][data-balloon-visible]:after {
	transform: translate(0, 0);
}

/* =======================================
					QC
======================================= */

.litespeed-col-status-data h3,
.litespeed-col-status-data h4 {
	margin-bottom: 0;
	margin-top: 20px;
}

.litespeed-col-status-data h3 .dashicons {
	vertical-align: bottom;
}

.litespeed-col-status-data h4 .dashicons {
	vertical-align: sub;
}

/* To use on dark bg */
.litespeed-wrap .litespeed-qc-button {
	background-color: #5efffc;
	border: 1px solid #00d0cb;
	box-shadow: 0px 2px 0px 0px #00d0cb;
	color: #161f29;
	font-weight: 600;
	font-size: 15px;
	padding: 12px 24px;
	border-radius: 3px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	transition: 0.25s;
}

.litespeed-wrap .litespeed-qc-button:hover {
	background: #21a29f21;
	color: #5efffc;
	border-color: #00d0cb;
}

.litespeed-wrap .litespeed-qc-button .dashicons {
	top: auto;
}

.litespeed-postbox.litespeed-qc-promo-box {
	background: #161e29 linear-gradient(110deg, #171c2fbd, #252766ab);
	border-radius: 5px;
	box-shadow: 0px 4px 0px 0px #161d2e;
	border: none;
}

.litespeed-postbox.litespeed-qc-promo-box .inside {
	padding: 25px;
	margin: 0;
}

.litespeed-dashboard-group .litespeed-postbox.litespeed-qc-promo-box {
	box-shadow: none;
}

.litespeed-dashboard-group .litespeed-postbox.litespeed-qc-promo-box .inside {
	padding: 20px 25px;
}

.litespeed-postbox.litespeed-qc-promo-box h3 {
	margin-top: 0;
	color: #fff;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.4em;
}

.litespeed-postbox.litespeed-qc-promo-box h3 .litespeed-quic-icon {
	width: 24px;
	height: 28px;
	background-size: contain;
	margin-right: 10px;
}

.litespeed-postbox.litespeed-qc-promo-box p {
	color: #dbdbdb;
	font-size: 1rem;
}

/* =======================================
	   Deactivate modal
======================================= */
#litespeed-modal-deactivate {
	padding: 20px;
}

#litespeed-modal-deactivate h2 {
	margin: 0px;
}

#litespeed-modal-deactivate .litespeed-wrap {
	margin: 10px 0px;
}

#litespeed-modal-deactivate .deactivate-clear-settings-wrapper,
#litespeed-modal-deactivate .deactivate-actions {
	margin-top: 30px;
}

#litespeed-modal-deactivate .deactivate-reason-wrapper label,
#litespeed-modal-deactivate .deactivate-clear-settings-wrapper label {
	width: 100%;
	display: block;
	margin-bottom: 5px;
}

#litespeed-modal-deactivate .deactivate-actions {
	display: flex;
	justify-content: space-between;
}
PK�^�\&%�fnOnO+litespeed-cache/assets/css/iziModal.min.cssnu�[���/*
* iziModal | v1.5.1
* http://izimodal.marcelodolce.com
* by Marcelo Dolce.
*/
.iziModal{display:none;position:fixed;top:0;bottom:0;left:0;right:0;margin:auto;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.3);transition:margin-top .3s ease,height .3s ease;transform:translateZ(0)}.iziModal *{-webkit-font-smoothing:antialiased}.iziModal::after{content:'';width:100%;height:0;opacity:0;position:absolute;left:0;bottom:0;z-index:1;background:-moz-linear-gradient(top,transparent 0%,rgba(0,0,0,.35) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,transparent),color-stop(100%,rgba(0,0,0,.35)));background:-webkit-linear-gradient(top,transparent 0%,rgba(0,0,0,.35) 100%);background:-o-linear-gradient(top,transparent 0%,rgba(0,0,0,.35) 100%);background:-ms-linear-gradient(top,transparent 0%,rgba(0,0,0,.35) 100%);background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#59000000',GradientType=0 );transition:height .3s ease-in-out,opacity .3s ease-in-out;pointer-events:none}.iziModal.hasShadow::after{height:30px;opacity:1}.iziModal .iziModal-progressbar{position:absolute;left:0;top:0;width:100%;z-index:1}.iziModal .iziModal-progressbar>div{height:2px;width:100%}.iziModal .iziModal-header{background:#88a0b9;padding:14px 18px 15px;box-shadow:inset 0 -10px 15px -12px rgba(0,0,0,.3),0 0 0 #555;overflow:hidden;position:relative;z-index:10}.iziModal .iziModal-header-icon{font-size:40px;color:rgba(255,255,255,.5);padding:0 15px 0 0;margin:0;float:left}.iziModal .iziModal-header-title{color:#fff;font-size:18px;font-weight:600;line-height:1.3}.iziModal .iziModal-header-subtitle{color:rgba(255,255,255,.6);font-size:12px;line-height:1.45}.iziModal .iziModal-header-subtitle,.iziModal .iziModal-header-title{display:block;margin:0;padding:0;font-family:'Lato',Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.iziModal .iziModal-header-buttons{position:absolute;top:50%;right:10px;margin:-17px 0 0}.iziModal .iziModal-button{display:block;float:right;z-index:2;outline:0;height:34px;width:34px;border:0;padding:0;margin:0;opacity:.3;border-radius:50%;transition:transform .5s cubic-bezier(.16,.81,.32,1),opacity .5s ease;background-size:67%!important;-webkit-tap-highlight-color:transparent}.iziModal .iziModal-button-close{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODZCQkIzQ0I0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZCQkIzQ0M0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NkJCQjNDOTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4NkJCQjNDQTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsgTJLcAAALJSURBVHja3JnLS1VBHMfvQ7g9dBXRRrwEFRciAhMi1JRW1aIHVEIYEkW0iVpUhOD/ICK6cFMgSbUpC6VFkQa9NtpjkauriRY9Noa3pHT8/mIODMM5Or85o87pC5/NPf5mvmc8M7+Z36SFEKkY2gj2gUawF2wHW8A6+fwv+A6KYAQMg+dg2rbDtKXhGnAaHJIms4zYz9J4HxgAf1g9k2EGteAhWBBuNApaQNrUg6nRTaAbzIuV0RCocWW4DoyJlVcJXI5ruFk2tJqi/2TWxvA5sXbqA2Ucw01i7dVjargazAo/dE33p6/DlAheg50pP0SJpwG8CH7IaH/Q5pFZUhnoArkwwwVwJeWfdoMLYYZvqG+yTGo9CerAoIWBT+A4qAdPDWOugwo1NVcxJtpFZRLkwH3GJCqCghJfxVjnz1JMMMKnwAbGRAg0B5rAA4O4CblZ+qj8tkBjZthvSzDCtFIMM0ZpQhslk5Eej4jpZ/T7G+ygwG1ghrk+jjNMFy1eMPJzpOAzlou6iWmXZkm91EBHjEwUZXoQTDk2SxqhRh7HTJ9hpstB3rFZ0ldq6J2DnB9m2rXZfxOPlrX1DrJRXiaBXSHPaMHvB0cd9JPLpBImMvzLQTuUFA6A9yHPfoIjhsllOc1l5N4grtmDWgYrl5+JTUZcSjNkeMyxWdpA3ZN72IJj01OJTByJS82J2/wQVxmB5y1HK8x0JWMf/kzdD98FJcY5S51gdwyTQl6eUAraspo27PeWXgy8afim0+CELAwOWHyH9EkdkyWwJ4Yxk6BCP+bTm48anutWW5dAp34IpbW03UOzb0FPVEHbx0LKfvAyqpAyKw97JU8Mt6pml6rAJ6oY6Eu5NfvfF7QTeWWQyEsZr6694lwsNoPD8mKRo29gCNwGj7gXi7aGA1EBcY+8vq0GW8FmJb3Pgx9gEnwAr8Ab8MW2w0UBBgAVyyyaohV7ewAAAABJRU5ErkJggg==) no-repeat 50% 50%}.iziModal .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTBBOUI4RUM0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTBBOUI4RUQ0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMEE5QjhFQTRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMEE5QjhFQjRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrQO6gAAAANmSURBVHjazJlbSBRRGMd3x92i0ForRRMiKiUoX4ouiFlJkRVBDxW9GJERwUasvdRT9FD00osRQtAFqegGBUHRBY0uaCVKEkSRpVR0tSwrQtp1+p/4Bk7D7M45M/Ot/uGHu+Psmf+c+eY753wnbJpmyIfGgvmgiv6WgkKQBwzwE3wBr0AnuAta6ZgnhT0aFuY2ghoyGdH4bS+4Dc6CZjCkdWVhWIPF4JoZnB6CDToeVE8sBidNPt0E5UEZrgG9Jr8GwHa/huMgaWZXDSDsxfBuc/jUBAwdw3Fz+NWoang5SJkjQwm7P3seLqQEX2LLfgfBdZcMORMcBqNDwekPqASP0uXhpjR3Ok0x/fUw9HIHGGVdw5DuRtzJpgxDsJui2qOWmuaAOuuLbHivz4YLwLgQj/aAXNmwuItlHhtbA7pAG5jEZHgKWCcbrhUTIY+NPQVjqFFObbYMi/hc6aOhl2AJ9TKnFoIyYXgemKEzJQXVVkyR3oFVzKZFuqw2qHdyFPKhrHPgMoWC3fRjRtNVVg+7SR5IiqmXxUt60cG0CK/vTIZniZVCmcKJF0C3ZNjKBqvJ9Hrwm46tsN1EkCoRQ/M3fBjvs6GrYAvdwHEfGcd1qBaGkwoxrKI+xjz83yJ0iLFHApd46X4xX+M+WECh4lepCNUIcpnMijrEWtAvTRHrbOd8FZNG8uA2Nf0hpmwtjBPwpQ5T0GPS/+tBAZhIq+b3Lu09EyHRwRgO+0C+7dhWcII+PwCf6Sk/Aa9d2vtn+A7nyASugJiD6YSDQcOlvVbxiCaAN8xrs3sgprBiac/QhlhnzjUo6JuZM0UlDS5FPtoQIdNlPYJTWUihFaDex+9Pg6T1KHJAJ2NI7ASllA28hEQ/KJIXoSlwgKlnh+jFe+GjLtwIPtjfyktUt+UaUZWqvw7H3oJD1peI7eQdoF1xWa+zQikHH13OmwqmOxxP0EiZtgK/DRwNuIcHwSeXc2K01WAPhbhKBb5hBNTVbskVH7fqpZGhbJUNtYF83fqwQSXPbOsGjb6etwx2gcEsmT3iFAZeNmUqaMeHSz2qu0k6W15Rqsx3B2i0D+xXGAHTFrRVlEeFuVoqH+ku6VNUbDkPzlAtg30nVK66i8rRIjAbTKaSQVQyN0DD6nOqcLZQld9TLfmvAAMAeMcvp3eCFqQAAAAASUVORK5CYII=) no-repeat 50% 50%}.iziModal.isFullscreen .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkFFRTU5NDA0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkFFRTU5NDE0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQUVFNTkzRTRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQUVFNTkzRjRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuDFfX8AAANASURBVHjazJlZSBVRGMfHcWlB0xZM68GKukQLYaGkmEUR2EsvRfQS+BSJPUQE+lTR8hqIZY8hFS0ERVCRoW3gpUApghYpszLTVnCB3O70/+K7MAwzc78Z58z4hx8XzpzvzJ+Zc+d85ztphmFoU9BsUAoq+XcFyAc5QAfD4BfoBp3gCWjnNl9K82mYzO0FVWwyw0NsD3gIroBWkPB0ZzLsgc3grhGcnoE9XjxIOxaCC4Y6tYC1QRmuAj2Geg2CA1M1XAsmjHDVANL8GK4zolMz0L0YrjWiV5PU8HYw6TBIf8imD6UynA96HYKPg3mgMUTDY6DUzXCzQ+AxSz+r6QEQZz4HbLoDZNkZrnAIoOlRZjN1Gk3XS0zty/gTFaRq7Ay3uAR8BcU2ps/z9QJTWw74HrDhTyDbbHg9SKQI+sb9rKa3mV8ZmAt+KJjP1TS+zinFPkqEUqQdBeAOKLa0UwIzpqlXtcYpIKWIO4RBZPoRKNfC10YQI8MlYLkwaAB8ABsiMDwDbKU8dgtIFwRMgJ3guRadKpNPWBMa7tOi1WoyHJPuTsC4oN+IQsOLM3gPJlEWqOE/neMGBqwDeYoMz6G8c0I4h6eFyHBC8A2eVoaH8JutaPwuUA/+uvSht1sHKgTjTWZwjUCVYdrK3xT0iwkND+lc5FClUQ9fINHCRYY7FBrWPSz5Er2lAR9H9P+hpfYGl64OCmPadQ7ojcDwOJetysBMQX/6mrWS4d+cIoYtMnAEnBT2fwVeJufYxZBMFoKFlrajQtOX/uczvEtIB50Kdgn1lt3JGdANltjsXE64jPMnuQ1LPuFJcFrBE11gzQXAUnAPFNk86esO4zSBfmu5lVa9toCf8DC4Ba6C22DEdO01KDLdP5fLr1Z94X2ibV1ilWVQ1XrDpvPAU4c+u1KVqvaHXI7q43ltp3PSYmDDNCgGPrCUD1wN6y5lqzAUN89baX1Y55Jn2LrPRUffRwaHwWhIZs/aTQM/hzLlDp+coPRReprk5cgrkyvz7wM0+hOcAvOlPvwcLNIp526ux1H5aJbHeFpVX4Br4LLXWoffk9CkVnLlaBNYAxaBXJBpMjfIy+o7EAdtfIyb8HPDfwIMAM1WPs8F9tcxAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal .iziModal-button-close:hover{transform:rotate(180deg)}.iziModal .iziModal-button:hover{opacity:.8}.iziModal .iziModal-header.iziModal-noSubtitle{height:auto;padding:10px 15px 12px}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-icon{font-size:23px;padding-right:13px}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-title{font-size:15px;margin:3px 0 0;font-weight:400}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-buttons{right:6px;margin:-16px 0 0}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-button{height:30px;width:30px}.iziModal-rtl{direction:rtl}.iziModal-rtl .iziModal-header{padding:14px 18px 15px 40px}.iziModal-rtl .iziModal-header-icon{float:right;padding:0 0 0 15px}.iziModal-rtl .iziModal-header-buttons{right:initial;left:10px}.iziModal-rtl .iziModal-button{float:left}.iziModal-rtl .iziModal-header-subtitle,.iziModal-rtl .iziModal-header-title{text-align:right;font-family:Tahoma,'Lato',Arial;font-weight:500}.iziModal-rtl .iziModal-header.iziModal-noSubtitle{padding:10px 15px 12px 40px}.iziModal-rtl .iziModal-header.iziModal-noSubtitle .iziModal-header-icon{padding:0 0 0 13px}.iziModal.iziModal-light .iziModal-header-icon{color:rgba(0,0,0,.5)}.iziModal.iziModal-light .iziModal-header-title{color:#000}.iziModal.iziModal-light .iziModal-header-subtitle{color:rgba(0,0,0,.6)}.iziModal.iziModal-light .iziModal-button-close{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyQTU1RUZDNzRFODQxMUU2ODAxOEUwQzg0QjBDQjI3OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NEM4MTU1MEI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENDMkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZjYzMwMmE1LWFlMjEtNDI3ZS1hMmE4LTJlYjhlMmZlY2E3NSIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjdmYmU3NGE3LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po24QssAAANtSURBVHja3JlJaBRBFIa7ZxyTSXADHUkikuAawZNLEOOGGrwJQYko8R4RBQ+OICoqghJQUVwPYjzFY0QUBQU1kogoKO6CG0pcIwbiNibj/8JraNvu6Xo9NTOtP3xzSKe6/65+Ve9VlWlkp2IwGUwFE0E5GA4G8/U+0APegWfgHrgPuq0bpNNp0QPNgEYngHlgGpuMCNp2s+kr4BYM/8ql4WqwHEzP4mXteg7awOW0YlerPnQIaARLNBl1ikLlBDw/1WF4ClgHKozc6idogekz2RheANbaBlE+dB4chfF+qeHF3LOF0FWwF6b7nBe8RvecApolzQVr3C64GR4H1huFV51pmvV+hikRbABFRji0GqarMxluAGON8CgKmmA65mZ4DFhqhE9VPP//ZXgZiCmm1t1gI6XWAAY+gF0gCe4qtqlHL8fthkeBWsXGreA6eMgPviEw+x5sBZ3gAdjPCcNPI8Fsu+FawUCzz40psEfRNJndBl7b/pZmVLTQMkzJo0bQSys43iWm3cxS+DUJOmoSwqKCRmEZWKkYv6RSMBPc5lqXRGm0A1Q6XiaT2aSwo8jrK/qZwZlFIlXTusxa6iXDddTdARpnMj2ek9AWjWYH7h/lubcs4A28THdyAdOl0ezAmKNBNyLLiT0Btjti9zuHg06zpJKIprohwXNypcu1OIdGjYbnxCLGPyYy/EPDfejzbwYvXK59AzuFGdFLKTL8WYNZ59RVzGESJCNm0teI40E6zNIA2wSaA2REP32iaW0omKXRbJKTUVyYEVV0J8oxvEiQmiUZrFSz6XNkuJe3nBKCelaSbjOZrhLsd1BInYxweSeJq9YA6dYtuZCBI4JZ6jGW/W+sebhd0DAaMIO5mTYFW1+X6GeQ7TO3W0WyQj3cw0ulBg4nSUbcAY7zPVYp7ip95FXOH29Hb35AOPjypWMIh7PORSjFZVsIzdKW7AWvfYnTVNWHyCytHw+jd1Nehqks3KepvtChUzD7yGvE2/cduqxldQF1EWZb/PbWLF3jAVgo0WrlkN+c6hSd+rzlaSuaR7O0oX0wyIa2pVAdGaj0HCUVOqIq4dVwrg5lmmG2w+8f/9tjL6foYHE+Gy8Xtv3CPUpf7WauDxadKuIwoeNbOmoYDYbZ0ns/1wxUC7ykigs8sS/LpEe3vwUYALiKDDDSgEiSAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal.iziModal-light .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpEQTg1NTA2NTRFODQxMUU2OTQ0N0VERjY2Q0M5ODYwRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCQkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCQUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFlNTQwYzczLTVhZmEtNDJlYi04YzJlLWMwMzFlYmFiYmIyNiIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVkYmRiMzM1LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvIicdUAAAOvSURBVHjaxJlZbA1hFMe/qaItUUsspakg1laJ7UUisQuRvvTFA15sQSRCLBFrQryhHqxNHxEPtaQ8CCUkIrVVRbVBJdZYSrXVonr9/3pGxnTunZk78/X+k1+aO+1899/vnnvO+c4YKpi6ghEgW34OBD1BKjBAM6gH78Fz8BhUyrW/ikQivt7QiNMozU0DE8RkJx/3fgCPwA1QHvHp2K/hHJAPJqpwVA2K4flW2IZ7gyVgptKjh6AQxl+GYZi7uRr0U3rVBIpg+nIQwwvACpCkOk4XwYlosR3LMGN1qUqMroGDTqaNGDu7SiVWl+D3iP2i00c9HqxUidd8wzDy3HY4HRwCfWzXz4L7Lm+QKfHeOUTTLWAzdro6muH1YIbDjculWrmpUEM2YYXcCNMt9pAYE8WsWYLdlAxaNYTGMDDHKYYXBVy4B0jTFM/5iOcUc1fM/2JcnItNAYtBNzGtQ33BVHDV3OHpARqhV6CLLKpTs8yQYHxOCrDQO7AV1Gg2PBJhMYiGh4MMnx1eLkixXKsFuzSbZrrMpeGxHnqFFtvrTWCbhILd9AuNpnPMHXaTtZD0kl1mRdwSxXSjJsNZfONjcmqIJR5p3lp6Y+sXrAzsBz/lNXvmtZYMFKbqafi0pKQgKpOSPhmsC5BxXEs1Fz4fUr/7TWMe/q9bC2s3tJs1Df/Q/B5PwAZwJYS1WpPlo0zRZJZziL2gQU7I1GyHL7QSD26taVOytI26DpinxKypApvpk+C6dHlMnXskbUbT1yTpN3WJHWB327UCS3hUoc+tA/VyxP/ost5rGq7QWZnAdoe0eZgnYweDbgmgkoafgk8aTfNgsMNmmqfhC+Czj3V4T3mSBH255kxB0ztd4tNNDJkas2CUdkAKHQ3yAtxfijj/bdb7Cumyhmoyexzcs6Qwv2qUbPKvJDOtnNFklrF3R5qneA2XYHe/2A+ht1Xb3FZXRY1XTAjFTgtxJ45qKtWDpZK1g6dhIQuvBzjcy8FgQ6y8Nw+sCdnwL1Dn8jdMe6m2a+3ma9ESNUdOC1VixSH3bnPiYyraswnO0fqDIQkyW8WmCWab7b+I9TCF3+x0j2e+MPUA7LPGrVfD1F3VNsrPVR0zhS8BB5x21muzYa1Sy1Tb4y4d4qOwIi9Pk/wcj1gV50p5zQjJKAsJH8KcY4vpdYrjV0w9HMxxHjfKNpfwdMyRNuAmyy2M1vq5OegBNFMmR9lSHDizSLPMJGjuO2BZfSOtLKvpMylUvh/d/hFgAOH4+ibxGTZuAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal.iziModal-light.isFullscreen .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCRkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCRUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjgzM2MwOWZiLWJjOTEtNGVlZS05MDM1LTRkMmU2ZmE1ZjBmMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv1Q9Z8AAAOXSURBVHjaxJlLbA1RGMfPjIs+EvoIRYt4FVUl2EkkRTxKUqQbG0SEho2FjUQ8YtEICbEgTdFYeK1KaGvVeoUltyStt0UlNE17aWhV2+v/9X5XJpMzc8/0zpn5kl+aO3Nm7r/fnPu9xhDp2URQDJbw3xkgB2QCAwyAPvANfARvQDsfG7V4PO7pC40xCiVxa8AKFjnOw7VdoA08BtG4R8VeBZeCKrBS+GPvQAM0P/NbcB7YBdYJPfYKXIXwL34IJm8eBFOFXusH9RDdnI7gLWA/MEVwdh/UOe1tN8G0V3eLcKwFXJCJNl08G5ZYsrWgWnZCJng5OOBwo1iAoisMw6hMJXgyOOywVW7xj+9BgKL3QHSxm+C9IF9y4U2GMlStRPQP8Jbp9lFwhJwE0RHrgaSV8N6xG238l7Zjtfx3K58/Bd7zsWngIqdnP2we2ACa7B7e6RL6joK5EtHNfL7b5u1Bn7dGFbycYRVM/8WyFJnuJK+z2iVwzFrMcF1h+Cx4ClhtFVyu8CW54ITE01EwFMAPcH1SMJWIqxQvItE1YHEIsXkhtkUhCV4ApiteFOPadn4IgseDMooSSxVrhWFwmkvCsKw06WGhKLhHhGuzSHChh9pZ5cc1oFFwfoTTsWrWqQCvXdZQEpkDsjUJziSv3Qu43k3LTA1BXqvRY/4DMjTd/yu4niJVm9wslCjcb4QE/9Qo+Al44baAmgpKCIqC+01OBLrsr8/de8zkiYwuUxWSq7iuM8JhantIqfYItkOepKBysnbycIfPXYKqURL6DhaBCQrrKcZHTa5loyEIJgHXwG3F9TQV+pxMGK0BiaTHn2OLEjcURbdi7XBSMO3jTxoEjtg+7wDnhG3spSD6F3hk7Tjoxnc0CJ5k+5wFCrhplYl2mmI24nyvvWumAE9z2zIfBW8WifnxIHc2yb6xiHtEoms0/hlGtpAPHCkgNDjFyZngPN88COvkPpEe+XGHbFcD7z53C+ybwKEAo0UPZ8QCybkmiL3sNvkheygSI08RYOSQiaUhd52sUpIZLWwJsYqkkdcZeHfIS66nc9XcZQRpNBY7C7F9Yy1OtonErDgSgNhGcEXmWa/VFA1O9onE6y4dRqGtXuVtkpf2iDy8EVR6GLykMnrsNFC867QF0hH8v3MVicFcuYdKy56uqQx4SukWQj3NOtJtQIt4ckSvbmdziMqy7HcS9xv0cn/Xwdn0A1drnl/d/hNgAGQa6Lgarp6BAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal .iziModal-loader{background:#fff url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%;position:absolute;left:0;right:0;top:0;bottom:0;z-index:9}.iziModal .iziModal-content-loader{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%}.iziModal .iziModal-content:after,.iziModal .iziModal-content:before{content:'';display:table}.iziModal .iziModal-content:after{clear:both}.iziModal .iziModal-content{zoom:1;width:100%;-webkit-overflow-scrolling:touch}.iziModal .iziModal-wrap{width:100%;position:relative;-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.iziModal .iziModal-iframe{border:0;margin:0 0 -6px;width:100%;transition:height .3s ease}.iziModal-overlay{display:block;position:fixed;top:0;left:0;height:100%;width:100%}.iziModal-navigate{position:fixed;left:0;right:0;top:0;bottom:0;pointer-events:none}.iziModal-navigate-caption{position:absolute;left:10px;top:10px;color:#fff;line-height:16px;font-size:9px;font-family:'Lato',Arial;letter-spacing:.1em;text-indent:0;text-align:center;width:70px;padding:5px 0;text-transform:uppercase;display:none}.iziModal-navigate-caption::after,.iziModal-navigate-caption::before{position:absolute;top:2px;width:20px;height:20px;text-align:center;line-height:14px;font-size:12px;content:'';background-size:100%!important}.iziModal-navigate-caption:before{left:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNmFjNjAyMy04OWU0LWE0NDAtYmMxMy1kOTA5MTQ3MmYzYjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDREQ0YwRjA1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDREQ0YwRUY1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNmM0Nzk3Ni1mNzE3LTk5NDAtYTgyYS1mNTdjNmNiYmU0NWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZGVmYTEyZC01MzM0LTExZTYtYWRkYi04Y2NmYjI5ZTAxNjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7oo0ptAAACWklEQVR42uyZTWsTYRSFZybxo4kWk5g2NC5qTAU3Kq30A9udi1oXolV/hWuhv6R/Q6utioi4LbbVFHemamlRU0OCEk0wZjwXzwtDoBDopHMHcuFJMplZnLm5ue+589qu61qeOApyYAjEgG0FEyLqN/gKiqBuTtgewWlwCZw056xgwwirgU3wxSv4NJgCUV5YBRXQDEhsBJwCSSauBVZFdJRlIJk9Av7wbj577jDIOENtRmPVwcsw6KfAAvikRKzEDlhnhuU/lRPBWaa9wsxqC6ndPX7OiOA4D8qW3vjO9z7H0w3+KhZstNmOFbLoCQ6DYGmL+bAInmGfLFC4asFXwRJIgB+goVmw+I7HXO+/gevGnGgUPEGxktkSmAMbWmt4HDwBKS6XN1jDKrvEFYoVK7oLroE3h93Woh1eNwqWafJ/gQV65vM+ail34mc6EZwBK2CAx8fAIjjeBYMzDT4cVHCEXtRbRvEu/Nr9HCIOnGGp15vgEec9KYn74B0nAT/CZnv86FcNvwK3wENwAjwAs2Bbs5d4CW5zir0AXvv8p+tKH34B5lkW4h2egRHtbu05uMMHHWfB0zC4NRF5l09kzvE4rd2tyUJyjy4tz7akZqXbL8QETbJ/FsMgWOJtb6brCQ5YsBsC8Uab63DVkkgqFpzie93h8OhScFah2LTHi5ccWroaLd5l6//+hpYQoWP05LKqFs2WQYbTsNxAi+5fxpWmdfh7HS7XhwSzG+H3a2JnvZsyktmLbdOFhpDMvrf4sN1u2/aK0cwMcmYLcturweceW+CnOfFPgAEA8uWFFylBJYoAAAAASUVORK5CYII=) no-repeat 50% 50%}.iziModal-navigate-caption:after{right:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADhmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI2YWM2MDIzLTg5ZTQtYTQ0MC1iYzEzLWQ5MDkxNDcyZjNiMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0NERDRjBGMDUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0NERDRjBFRjUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmY2YzQ3OTc2LWY3MTctOTk0MC1hODJhLWY1N2M2Y2JiZTQ1YyIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjBkZWZhMTJkLTUzMzQtMTFlNi1hZGRiLThjY2ZiMjllMDE2NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuijSm0AAAKbSURBVFhH7ZnJj0xRGEerzFoIMTaCZmOIedhaiJj55yz8DaYdNhIJEUMQbCTG3rQ02hDSiEY553XdTpHS3nv96taV9ElO6lVt6peb7933fffVG41GrYW5uBaX4EysYzcw1Fd8hc/wM2a0Bl6Nm3BW9i0dDPsQX/olBF6FO72AH/gG3+N3jL3KBpqGC3ERTsGfeAsHDTyHi71oCXzBe/gaU2A5bscZOIxXTb8OLQNX9i6mElYsg/voqruwfQb2BhODWgqpMYDv0NLsNXC4yd42P1PEwNJj4HBTWdipErLVDfxfMRm408QMvBu3jV6WJ1Zg9/rbeBOP+UNZYgX+iE/Rp+lpPIKliBXYB9IhtPNy3z/T/F6YmDXsChvyBc7Gs3gACxEzsDzBg9iPPXgO92NuYgeWx2h3+AhtaM7jPsyF7aV37XR8gNZYO/pwKY51+xPkG27Fk2joT3gCr2A7NuJ6HMkTeAPadlp3VeMChF7G0P6X3dmfjAXOUxIj6LZkv1ylNuStDZejkL+PS96ScFzRqnDAtI5PoTefvbg7iNNOOwqVRCfYghdxBbpHH8Y7+DcKlUTV7MLLaNghPIrjhf2N2IF34AVcjE44hrXHyE3MwE6/loEzpEcIlqKjeyFiBe7FS+he/gENewMLEyuwXdo8dGWP43UsRazA9g7uDNbwNX8oS8watlsz+ISIGbgSJgN3GgOHlnFq8zNFQraGgT1iFc9iUyU0XsMGHhy9zh6XbvCp4ZuBBWglDBj4OdqLeu0+uRJTwMZ+Dbp/e21P3m97yWe2snsw1LTHmz5C/9lQdwhfGbiq89GwvrrwUT4UAouhN6MzloTRpVuEYI5O9urZYXtrYPGQw2OlZegM163QhrJMfWVgyTq0Qq32C/N7uPz9OknWAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal-navigate>button{position:fixed;bottom:0;top:0;border:0;height:100%;width:84px;background-size:100%!important;cursor:pointer;padding:0;opacity:.2;transition:opacity .3s ease;pointer-events:all;margin:0;outline:0}.iziModal-navigate>button:hover{opacity:1}.iziModal-navigate-prev{left:50%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5sGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo2NDkyYzcxMy05ZDM0LTZlNGQtYmUwNi1hMDMyY2Q4NDVjNGU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo1QjIzMUMxODU3RjcxMUU2ODUzRkRBRjE5RDhDQjZBRDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpjZmMwNzVmNC1kODA3LWI0NDMtYWIwYS02YWVhZjRjMDgxZWE8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnhtcC5paWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD54bXAuZGlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmNmYzA3NWY0LWQ4MDctYjQ0My1hYjBhLTZhZWFmNGMwODFlYTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDo1Ni0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjA0LTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xODg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PvAvv7QAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAmdJREFUeNrs1LsJQkEQhtH/mtmBgQ8QA7tQK1e7MBBBMbADwzUZEyuQveeDCXbD4TBDay3SWJpYgYCXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXv/WJskpyQJ4jQH7Mcmu0C+BV+/Y5/VeF/oV8Ood+7dpDfDqHvsrySHJBXjBDrxgB16wAy/YgRfswAt24AU78IIdeMEOPOywAw+7gIcdeMEOvGAHXrADL9iBF+zAC3bgBTvwsMMOPOwCHnYBD7uAhx14wQ68YAdesAMv2IEX7MDDDjvwsAt42AU87AIedgEPu4CHXcDDDrxgB16wAw877MDDDjvwsAt42AU87AIedgEPu4CHXcDDLuBhB16wAw877MDDLuBhF/CwC3jYBTzsAh52AQ+7gIddwEtjB3+tS/78+Z/V5d9iATz0Ah56AQ+9gIdewEMv4KEX8NALeOgFPPQCHnoBDz3wgh54QQ889NADDz30wEMv4KEX8NALeOgFPPQCHnoBD72Ahx54QQ+8oAde0AMv6IEX9MBDDz3w0EMPPPQCHnoBD72Ah17AQw+8FUAPvKAHXtADL+iBF/TAC3rgBT3wgh546KEHHnrogYdewEMv4KEHXtADL+iBF/TAC3rgBT3wgh54QQ+8oAde0AMv6IGHHnrgoU/yrgFe3aO/JdknuQOv3tGfC/tjjEsYWmsoyIWXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXvqnPgAAAP//AwCEcoCBRabYzAAAAABJRU5ErkJggg==) no-repeat 50% 50%}.iziModal-navigate-next{right:50%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAB3SAAAd0gEUasEwAAA7pGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjEyLTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphZjljN2Q2MC00MTg2LWE3NGQtYTBiMS1mMGU5ODUwYzg2ZGY8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjAxNjJjMmE3LWZmMjYtYzE0ZC05Yjg4LTc2MGM2NzAxYjYzNzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1MTowNy0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmFmOWM3ZDYwLTQxODYtYTc0ZC1hMGIxLWYwZTk4NTBjODZkZjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTg4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+nbt1mgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACQklEQVR42uzSsQ3CQAAEQTdiOyGg/wrciJ0QUMYSECEKAP3PSdvAaZZqkWbJCQJeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXsBLwEvAS8BLwEvAS8BLwEvAS8BLwEvAC3gJeAl4CXgJ+D9vrY7qBgLwo7dVZ+89oAd+5Pbq6nPQAz9s9+rZ96AHHnoBD72Ah17AQy/goRfw0At46AU89AIeegEPvYCHHnhBD7ygBx566IGHHnrgoRfw0At46AU89AIeegEPvYCHXsBDL+ChB17QAy/ogRf0wAt64KGHHnjooQceegEPvYCHXsBDL+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADDz30wEPvI+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADL+iBF/TAC3rgoZ8ePRDAAy/YgRfswAt24AU78IIdeMEOvGAHXrADL9iBhx124GEX8LADL9iBF+zAC3bgBTvwgh14wQ68YAcedtiBh13Awy7gYRfwsAMv2IEX7MALduAFO/CCHXjYYQcedgEPu4CHXcDDLuBhF/CwA+8E2IEX7MALduAFO/Cwww487AIedgEPu4CHXcDDLuBhF/CwC3jYgRfswMMOO/CwC3jYBTzsAh52AQ+7gIddwMMu4GEX8LBravB7dcEO/Ext1Qk78DO1VgfswEvAS8BLwEvAS8BLwEvAS8BLwEvAS8ALeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXgBLwEvAS8BLwEvAS/9shcAAAD//wMAtAygvJrkwJUAAAAASUVORK5CYII=) no-repeat 50% 50%}.iziModal.isAttachedTop .iziModal-header{border-top-left-radius:0;border-top-right-radius:0}.iziModal.isAttachedTop{margin-top:0!important;margin-bottom:auto!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.iziModal.isAttachedBottom{margin-top:auto!important;margin-bottom:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.iziModal.isFullscreen{max-width:100%!important;margin:0!important;height:100%!important}.iziModal.isAttached,.iziModal.isFullscreen{border-radius:0!important}.iziModal.hasScroll .iziModal-wrap{overflow-y:auto;overflow-x:hidden}html.iziModal-isAttached,html.iziModal-isOverflow{overflow:hidden}html.iziModal-isAttached body,html.iziModal-isOverflow body{overflow-y:scroll;position:relative}.iziModal ::-webkit-scrollbar{overflow:visible;height:7px;width:7px}.iziModal ::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);background-clip:padding-box;border:solid transparent;border-width:0;min-height:28px;padding:100px 0 0;box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07)}.iziModal ::-webkit-scrollbar-thumb:active{background-color:rgba(0,0,0,.4)}.iziModal ::-webkit-scrollbar-button{height:0;width:0}.iziModal ::-webkit-scrollbar-track{background-clip:padding-box;border:solid transparent;border-width:0 0 0 2px}.iziModal.transitionIn .iziModal-header{-webkit-animation:iziM-slideDown .7s cubic-bezier(.7,0,.3,1);-moz-animation:iziM-slideDown .7s cubic-bezier(.7,0,.3,1);animation:iziM-slideDown .7s cubic-bezier(.7,0,.3,1)}.iziModal.transitionIn .iziModal-header .iziModal-header-icon{-webkit-animation:iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both;-moz-animation:iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both;animation:iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both}.iziModal.transitionIn .iziModal-header .iziModal-header-subtitle,.iziModal.transitionIn .iziModal-header .iziModal-header-title{-webkit-animation:iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both;-moz-animation:iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both;animation:iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both}.iziModal.transitionIn .iziModal-header .iziModal-button{-webkit-animation:iziM-revealIn 1.2s cubic-bezier(.7,0,.3,1);-moz-animation:iziM-revealIn 1.2s cubic-bezier(.7,0,.3,1);animation:iziM-revealIn 1.2s cubic-bezier(.7,0,.3,1)}.iziModal.transitionIn .iziModal-iframe,.iziModal.transitionIn .iziModal-wrap{-webkit-animation:iziM-fadeIn 1.3s;-moz-animation:iziM-fadeIn 1.3s;animation:iziM-fadeIn 1.3s}.iziModal.transitionIn .iziModal-header{-webkit-animation-delay:0s;-moz-animation:0s;animation-delay:0s}.iziModal.transitionIn .iziModal-header .iziModal-header-icon,.iziModal.transitionIn .iziModal-header .iziModal-header-title{-webkit-animation-delay:.4s;-moz-animation:.4s;animation-delay:.4s}.iziModal.transitionIn .iziModal-header .iziModal-header-subtitle{-webkit-animation-delay:.5s;-moz-animation:.5s;animation-delay:.5s}.iziModal.transitionOut .iziModal-header,.iziModal.transitionOut .iziModal-header *{transition:none!important}.iziModal .fadeOut,.iziModal-navigate.fadeOut,.iziModal-overlay.fadeOut,.iziModal.fadeOut{-webkit-animation:iziM-fadeOut .5s;-moz-animation:iziM-fadeOut .5s;animation:iziM-fadeOut .5s;animation-fill-mode:forwards}.iziModal .fadeIn,.iziModal-navigate.fadeIn,.iziModal-overlay.fadeIn,.iziModal.fadeIn{-webkit-animation:iziM-fadeIn .5s;-moz-animation:iziM-fadeIn .5s;animation:iziM-fadeIn .5s}.iziModal-overlay.comingIn,.iziModal.comingIn{-webkit-animation:iziM-comingIn .5s ease;-moz-animation:iziM-comingIn .5s ease;animation:iziM-comingIn .5s ease}.iziModal-overlay.comingOut,.iziModal.comingOut{-webkit-animation:iziM-comingOut .5s cubic-bezier(.16,.81,.32,1);-moz-animation:iziM-comingOut .5s cubic-bezier(.16,.81,.32,1);animation:iziM-comingOut .5s cubic-bezier(.16,.81,.32,1);animation-fill-mode:forwards}.iziModal-overlay.bounceInDown,.iziModal.bounceInDown{-webkit-animation:iziM-bounceInDown .7s ease;animation:iziM-bounceInDown .7s ease}.iziModal-overlay.bounceOutDown,.iziModal.bounceOutDown{-webkit-animation:iziM-bounceOutDown .7s ease;animation:iziM-bounceOutDown .7s ease}.iziModal-overlay.bounceInUp,.iziModal.bounceInUp{-webkit-animation:iziM-bounceInUp .7s ease;animation:iziM-bounceInUp .7s ease}.iziModal-overlay.bounceOutUp,.iziModal.bounceOutUp{-webkit-animation:iziM-bounceOutUp .7s ease;animation:iziM-bounceOutUp .7s ease}.iziModal-overlay.fadeInDown,.iziModal.fadeInDown{-webkit-animation:iziM-fadeInDown .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInDown .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutDown,.iziModal.fadeOutDown{-webkit-animation:iziM-fadeOutDown .5s ease;animation:iziM-fadeOutDown .5s ease}.iziModal-overlay.fadeInUp,.iziModal.fadeInUp{-webkit-animation:iziM-fadeInUp .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInUp .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutUp,.iziModal.fadeOutUp{-webkit-animation:iziM-fadeOutUp .5s ease;animation:iziM-fadeOutUp .5s ease}.iziModal-overlay.fadeInLeft,.iziModal.fadeInLeft{-webkit-animation:iziM-fadeInLeft .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInLeft .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutLeft,.iziModal.fadeOutLeft{-webkit-animation:iziM-fadeOutLeft .5s ease;animation:iziM-fadeOutLeft .5s ease}.iziModal-overlay.fadeInRight,.iziModal.fadeInRight{-webkit-animation:iziM-fadeInRight .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInRight .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutRight,.iziModal.fadeOutRight{-webkit-animation:iziM-fadeOutRight .5s ease;animation:iziM-fadeOutRight .5s ease}.iziModal-overlay.flipInX,.iziModal.flipInX{-webkit-animation:iziM-flipInX .7s ease;animation:iziM-flipInX .7s ease}.iziModal-overlay.flipOutX,.iziModal.flipOutX{-webkit-animation:iziM-flipOutX .7s ease;animation:iziM-flipOutX .7s ease}@-webkit-keyframes iziM-comingIn{0%{opacity:0;transform:scale(.9) translateY(-20px) perspective(600px) rotateX(10deg)}to{opacity:1;transform:scale(1) translateY(0) perspective(600px) rotateX(0)}}@-moz-keyframes iziM-comingIn{0%{opacity:0;transform:scale(.9) translateY(-20px) perspective(600px) rotateX(10deg)}to{opacity:1;transform:scale(1) translateY(0) perspective(600px) rotateX(0)}}@keyframes iziM-comingIn{0%{opacity:0;transform:scale(.9) translateY(-20px) perspective(600px) rotateX(10deg)}to{opacity:1;transform:scale(1) translateY(0) perspective(600px) rotateX(0)}}@-webkit-keyframes iziM-comingOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@-moz-keyframes iziM-comingOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes iziM-comingOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@-webkit-keyframes iziM-fadeOut{0%{opacity:1}to{opacity:0}}@-moz-keyframes iziM-fadeOut{0%{opacity:1}to{opacity:0}}@keyframes iziM-fadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes iziM-fadeIn{0%{opacity:0}to{opacity:1}}@-moz-keyframes iziM-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes iziM-fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes iziM-slideIn{0%{opacity:0;-webkit-transform:translateX(50px)}to{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes iziM-slideIn{0%{opacity:0;-moz-transform:translateX(50px)}to{opacity:1;-moz-transform:translateX(0)}}@keyframes iziM-slideIn{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes iziM-slideDown{0%{opacity:0;-webkit-transform:scale(1,0) translateY(-40px);-webkit-transform-origin:center top}}@-moz-keyframes iziM-slideDown{0%{opacity:0;-moz-transform:scale(1,0) translateY(-40px);-moz-transform-origin:center top}}@keyframes iziM-slideDown{0%{opacity:0;transform:scale(1,0) translateY(-40px);transform-origin:center top}}@-webkit-keyframes iziM-revealIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,1)}}@-moz-keyframes iziM-revealIn{0%{opacity:0;-moz-transform:scale3d(.3,.3,1)}}@keyframes iziM-revealIn{0%{opacity:0;transform:scale3d(.3,.3,1)}}@-webkit-keyframes iziM-bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-1000px,0);transform:translate3d(0,-1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes iziM-bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-1000px,0);transform:translate3d(0,-1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}}@keyframes iziM-bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}}@-webkit-keyframes iziM-bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes iziM-bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes iziM-bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes iziM-bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-1000px,0);transform:translate3d(0,-1000px,0)}}@-webkit-keyframes iziM-fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}}@keyframes iziM-fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}}@-webkit-keyframes iziM-fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}}@keyframes iziM-fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}}@-webkit-keyframes iziM-fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@keyframes iziM-fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@-webkit-keyframes iziM-fadeInRight{0%{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInRight{0%{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@keyframes iziM-fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@-webkit-keyframes iziM-flipInX{0%{-webkit-transform:perspective(400px) rotateX(60deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}to{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes iziM-flipInX{0%{transform:perspective(400px) rotateX(60deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}to{transform:perspective(400px) rotateX(0deg);opacity:1}}@-webkit-keyframes iziM-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,40deg);transform:perspective(400px) rotate3d(1,0,0,40deg);opacity:0}}@keyframes iziM-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,40deg);transform:perspective(400px) rotate3d(1,0,0,40deg);opacity:0}}PK�^�\�$�[[@litespeed-cache/assets/img/quic-cloud-logo-light_stack_300px.pngnu�[����PNG


IHDR,,N�~G�PLTE>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\ksp��p��p��p��p��p��p��p��p��p��p��p��p��p��p��f��f��f��f��f��f��f��f��f��f��f��f��f��f��f��>PY\ksp��f��^ۧ_=tRNS 0@P`p���������������p`P@0  0@P`p���������������p`P@0 ���,
IDATx��k[�8�(2�"���P�@���x��UmmK�$4I�0�{�e�ҡ7o����`�0����!��>6-���Y�����������'�Ge1F���t=&�`y�s���cjё���a�S��p2�
ך���qU�q8#9={z\6��\,r����,4���9�N7��3AG�n{�сL�����AM���IX�O&/��6�ra"��wu��a�n�\\"����
�U7��\1l�=.Tm�����tٽ쮟U�~0�]��U��;��T���,���Z0�3j{�"2s��lM)�u�-tQ̎�ǖ�X�8tI�m������ǖ��x�T*3����E��mYA^�u��	�z�揭Yj!jD�G�����	�m��"|�������	y�P�%.�3V�9�Ѱ�q>D��
��sE
X�[6��G��Ä�ɖI�-F�g^&�,�;Ĕf�۹c�"�%0z��!����S��9�l�Y�v�H���jj������5C"���X��U��h*��2��ٱ%V�Aߎ#�bKw�����4+`9UpA~,�"l�	
G�;��)%G�.��sL��DKB+�bl�SKlHS6V�S~l͕-�AV�%=���ޛ,�}z���Rm2=�W���f��}+����^>�������y�"uJ7��SK#we=ov<>�.�����Y�2�~�����?�Xʍ����>6O��V�7W,F�u��M��^S�%�+i���g=o�<�n`��b���i)��Af"����ñ������m�
�md�����ų���I��w%�PM�z֟M���60\�V�&|�O�qlI��i��m�,��m���Ji�Rq�V�>(�fR�]MY.s���ǦD[2b��|cE2�]~�m-e�Z
���є:�1�-�
C���7�������j�6�Bsg���M���y�����p_�o<�>�l`��ʲ8L��͌ؒ��;�o�`t��>i�5�-ݖ5������
�k<�㴥�BqW,�˿-�26�m�_n�^��W���MɈ-��Գ��S��G�濇���gⰄ}^}��[=,#�mN�f|��ؚy�Xa���Og	���x��w�J���U嫒�bQ,�Gƙ�GQ
Nnz��&�xl��45w=���~̟�֖�����5�bl��#��/�-=��#p?.�A�_e��e�o`�|$�Ԃ(1)��Bb1�[:��9V���mوb�-
v�akN��"Ŗ�����	�ֻ[��wwD٦~Xƶ8�����5����lJ-x#��$��#����SzJ-��U��]�4_q�]�[��^���w���/�Ʀ��/6a����[F}>�M���-�}�>�]�*�ϗ�7��+6�7y47�#clʭ�ߞ�)uȘ�1̏"�Ҍ�KL��uE�a�04)�eO�ZQMv=�Ɂ������yZ+��9�����������_���d{N;�o-���P�w�
G���z�C3�\��	[�
L����?�JrD���ZçV-�4��(���R�=*g����S=A(#�t�s��VN	Y�@��O��G���zss^-!N�U�5Wi�e)�����.5d�6W4��eU�g>E<(!�NJ@�$(��$���8PAV}/����gIHV5q�F��h���9���"W�i9�~\ĶdE��_��D����_V53vO�
��/�䫈�X�d�����ٲ�ޖ[�qd����Cd���fQ[���*gnVQ�]V��Zѹ��\_�CZ��1�G�j(�]g���)�Aܓ�bK����+��,kp�ޣ�'�Һؑ1�u����f��]�.�s�=W�U^�T��uu���5�u�������!�0��;��� �Q&gAm�ɪ��	T�-����tWZ��^XN��푽N�_���v�|o�����>�Yez��|�GV�X�
�7���Z�LV誋�1e%]�n#����Y�Y��Q�����3�=���M˺�/��wdǿ�e]�k{�~��>-�ɓ�� w8d�9
��^m���A�t�� Y�u��6UVJ��P�CV�cRs����ZJ�Ut$f�58@� ��h-��
�ƍ��!�����3H|\��gW�du	��>E�I�H9��++ߔ�6"�t����_o���
��ɲ�,Y�WVx8�B/�!��]	j���)�6,@�,�����0Fز�G�Ou���Q+���,�m�e�]���K��+� bp���M�t��Ҟ�J����=b�
��(g�ˢ����w��#�Q$�d!�e�r�*�f�q;=��TFqY��TYmqY��d��*#?���eE��Q�#�,t�m����.R�j��%GVG4�Z<����N}��T�g)Y��A�ް��
qJM�5U�8?|��|����.ˬl��"u�E82z�%�<�–h�
%��d��:�Ӵ�ڊ�Z�s,�Ѹ\`��౲��`#x<����䮝7|?q�\����������O2/�w�,�%�4��R�_S����4Y��j1��8�d���O8kb+m-�ઃ֎,�iYk@��MhŴ���[����f�M�0���-�`�a?B�iI��?V�H� ��d���|�H�'��p�ޟ��+�E��
<�t��u=�
5X-g�FT��M��3^\ɍ87����Oy�YO�w=ț?X>����6�����Y��Л�ٷ�F{���CB㦈�dV�/��R�Y�fY�iQ�&����w+�Nk��	�4�S�^�)o�~�ſ�ԣ,�4�2&3S�V�2���lw�6��;x��B��f#Zu�ծ!B���$sQ�q�W����fe�˝��(�L�[&����
IS����Y-a$���� �BX��.�p��w�㙣���~z�[@Xb椇�g��MP��z��s��㠧^5�nd�S��R��H�u��8��"YR�f�W���Lq����b��?�S��d��n�T�A-ÂC����<���~�Q���94'̝腸7�,{V�hr��XԈ��e�d�����}���X>�i����?��Э�7\�ύ��|F��	M��$���Y�kԃ9ކv��d��15]�V��KVb�S���n��-F�+K�o���E�of�O��\�ԏ�rw|Џ�w��ꁎF"""""""""""""""""""""""""""""""""""""�z�Θ����cIEND�B`�PK�^�\,˺855(litespeed-cache/assets/img/iconlscwp.svgnu�[���<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>LiteSpeed Technologies</metadata>
<defs>
<font id="iconlscwp" horiz-adv-x="1000" >
<font-face font-family="iconlscwp" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="848" descent="-152" />
<missing-glyph horiz-adv-x="1000" />
<glyph glyph-name="lscwp_font-icon" unicode="&#xe800;" d="M590 467l-69-88 36-52c1-2 2-4 3-6 3-11 0-20-7-26l-118-91c-3-2-7-4-13-4-6 0-12 3-15 9-2 5-3 12 3 20l69 88-37 53c-6 10-4 24 5 31l118 91c3 2 7 4 13 4 6 0 12-3 15-9 2-5 3-12-3-20z m407-119c0-6-2-11-6-15l-476-476c-4-4-9-6-15-6-6 0-11 2-15 6l-476 476c-4 4-6 9-6 15s2 11 6 15l476 476c4 4 9 6 15 6 6 0 11-2 15-6l476-476c4-4 6-9 6-15z m-478 427v-138l270-270c1 0 2 0 2 0h137l-409 408z m-19-176l-251-251 251-251 251 251-251 251z m-427-232h138l270 270v139l-408-409z m408-447v139l-270 270h-138l408-409z m447 409h-137c0 0-1 0-2 0l-270-269v-139l409 408z" horiz-adv-x="1000" />
</font>
</defs>
</svg>
PK�^�\'��Wvv8litespeed-cache/assets/img/lscwp_blue_font-icon_22px.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="22px" height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
<path fill="#00749C" d="M13.039,7.954c-0.063-0.128-0.193-0.21-0.336-0.21c-0.119,0-0.207,0.054-0.268,0.102L9.84,9.838
	c-0.208,0.158-0.254,0.461-0.104,0.675l0.813,1.17l-1.521,1.93c-0.141,0.18-0.113,0.336-0.065,0.434
	c0.06,0.125,0.194,0.209,0.334,0.209c0.123,0,0.208-0.055,0.271-0.102l2.593-1.992c0.158-0.121,0.211-0.33,0.145-0.578
	c-0.011-0.041-0.027-0.076-0.051-0.114l-0.803-1.154l1.52-1.93C13.111,8.207,13.086,8.052,13.039,7.954z"/>
<path fill="#00749C" d="M21.771,10.677L11.323,0.229c-0.088-0.086-0.202-0.135-0.324-0.135c-0.123,0-0.236,0.048-0.324,0.134
	L0.228,10.677c-0.086,0.088-0.134,0.201-0.134,0.324c0,0.122,0.048,0.236,0.134,0.324l10.448,10.446
	c0.087,0.088,0.202,0.135,0.324,0.135s0.237-0.047,0.324-0.135l10.446-10.447c0.088-0.085,0.136-0.201,0.136-0.323
	C21.905,10.879,21.856,10.765,21.771,10.677z M11.424,1.625l8.956,8.956h-2.99c-0.016,0-0.035,0.001-0.051,0.003l-5.915-5.913V1.625
	z M10.584,1.617v3.045l-5.92,5.919H1.62L10.584,1.617z M10.584,20.387L1.62,11.421h3.044l5.92,5.918V20.387z M10.999,16.504
	l-5.501-5.502L10.999,5.5l5.503,5.502L10.999,16.504z M11.424,20.377v-3.045l5.913-5.914c0.018,0.001,0.037,0.003,0.053,0.003h2.99
	L11.424,20.377z"/>
</svg>
PK�^�\+�&vv8litespeed-cache/assets/img/lscwp_gray_font-icon_22px.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="22px" height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
<path fill="#777777" d="M13.039,7.954c-0.063-0.128-0.193-0.21-0.336-0.21c-0.119,0-0.207,0.054-0.268,0.102L9.84,9.838
	c-0.208,0.158-0.254,0.461-0.104,0.675l0.813,1.17l-1.521,1.93c-0.141,0.18-0.113,0.336-0.065,0.434
	c0.06,0.125,0.194,0.209,0.334,0.209c0.123,0,0.208-0.055,0.271-0.102l2.593-1.992c0.158-0.121,0.211-0.33,0.145-0.578
	c-0.011-0.041-0.027-0.076-0.051-0.114l-0.803-1.154l1.52-1.93C13.111,8.207,13.086,8.052,13.039,7.954z"/>
<path fill="#777777" d="M21.771,10.677L11.323,0.229c-0.088-0.086-0.202-0.135-0.324-0.135c-0.123,0-0.236,0.048-0.324,0.134
	L0.228,10.677c-0.086,0.088-0.134,0.201-0.134,0.324c0,0.122,0.048,0.236,0.134,0.324l10.448,10.446
	c0.087,0.088,0.202,0.135,0.324,0.135s0.237-0.047,0.324-0.135l10.446-10.447c0.088-0.085,0.136-0.201,0.136-0.323
	C21.905,10.879,21.856,10.765,21.771,10.677z M11.424,1.625l8.956,8.956h-2.99c-0.016,0-0.035,0.001-0.051,0.003l-5.915-5.913V1.625
	z M10.584,1.617v3.045l-5.92,5.919H1.62L10.584,1.617z M10.584,20.387L1.62,11.421h3.044l5.92,5.918V20.387z M10.999,16.504
	l-5.501-5.502L10.999,5.5l5.503,5.502L10.999,16.504z M11.424,20.377v-3.045l5.913-5.914c0.018,0.001,0.037,0.003,0.053,0.003h2.99
	L11.424,20.377z"/>
</svg>
PK�^�\9���

.litespeed-cache/assets/img/icons/purge-all.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M50.955,23.981l-17.298-7.355c-0.446-0.19-0.959,0.018-1.147,0.463c-0.189,0.445,0.018,0.958,0.463,1.147
		l17.296,7.355c0.112,0.047,0.229,0.07,0.344,0.07c0.34,0,0.664-0.2,0.806-0.533C51.605,24.684,51.398,24.17,50.955,23.981z"/>
	<path fill="#6699CC" d="M37.581,23.984l-5.931-2.612c-0.443-0.195-0.959,0.006-1.153,0.448c-0.195,0.442,0.006,0.958,0.448,1.153
		l5.931,2.612c0.115,0.05,0.234,0.074,0.352,0.074c0.336,0,0.657-0.195,0.801-0.522C38.225,24.695,38.023,24.179,37.581,23.984z"/>
	<path fill="#6699CC" d="M56.841,27.021h-0.973l2.483-5.843c0.545-1.285-0.057-2.775-1.34-3.322l-2.213-0.94l1.564-5.533
		c0.379-1.344-0.406-2.746-1.75-3.125l-24.202-6.84c-1.341-0.379-2.748,0.405-3.127,1.75l-3.206,11.346
		c-0.021,0.075-0.016,0.149-0.017,0.224l-0.817-0.103c-0.67-0.085-1.336,0.098-1.87,0.513c-0.535,0.416-0.875,1.014-0.958,1.685
		l-1.28,10.189H18.16c-1.549,0-2.809,1.26-2.809,2.809c0,0.034,0.002,0.068,0.006,0.103l4.831,40.993
		c0.03,1.523,1.278,2.753,2.808,2.753h29.007c1.53,0,2.778-1.229,2.808-2.753l4.834-40.993c0.004-0.034,0.006-0.068,0.006-0.103
		C59.648,28.281,58.391,27.021,56.841,27.021z M56.328,19.466c0.396,0.169,0.581,0.631,0.412,1.028l-2.555,6.01
		c-0.072,0.171-0.07,0.348-0.035,0.517H24.933l7.222-16.982c0.082-0.192,0.233-0.341,0.427-0.419c0.195-0.079,0.408-0.077,0.6,0.005
		l20.276,8.621c0.019,0.006,0.03,0.021,0.05,0.026c0.006,0.001,0.012,0.001,0.016,0.002L56.328,19.466z M28.969,3.642
		c0.118-0.416,0.549-0.659,0.968-0.541L54.139,9.94c0.416,0.118,0.658,0.552,0.543,0.967l-1.505,5.318l-19.311-8.21
		c-0.624-0.265-1.312-0.271-1.939-0.018c-0.628,0.253-1.119,0.736-1.383,1.358l-2.517,5.918c-0.062-0.023-0.12-0.054-0.188-0.063
		l-2.065-0.259L28.969,3.642z M22.152,17.049c0.026-0.208,0.131-0.393,0.296-0.521c0.166-0.128,0.374-0.185,0.579-0.159l4.304,0.54
		l-4.037,9.495c-0.087,0.205-0.082,0.421-0.017,0.617H20.9L22.152,17.049z M53.066,70.768c-0.004,0.034-0.006,0.068-0.006,0.104
		c0,0.584-0.475,1.059-1.059,1.059H22.996c-0.583,0-1.059-0.475-1.059-1.059c0-0.034-0.002-0.068-0.006-0.104l-4.829-40.98
		c0.023-0.563,0.489-1.015,1.058-1.015h38.681c0.569,0,1.034,0.451,1.058,1.015L53.066,70.768z"/>
	<path fill="#6699CC" d="M28.884,63.443c-0.48,0.055-0.826,0.486-0.772,0.968l0.326,2.907c0.05,0.447,0.429,0.777,0.869,0.777
		c0.032,0,0.065-0.002,0.099-0.006c0.48-0.054,0.826-0.486,0.772-0.967l-0.326-2.908C29.797,63.734,29.364,63.382,28.884,63.443z"/>
	<path fill="#6699CC" d="M26.532,42.486c0.48-0.055,0.826-0.486,0.772-0.967l-0.759-6.771c-0.054-0.479-0.479-0.819-0.967-0.772
		c-0.48,0.054-0.826,0.487-0.772,0.967l0.759,6.771c0.05,0.447,0.429,0.777,0.869,0.777C26.466,42.492,26.499,42.49,26.532,42.486z"
		/>
	<path fill="#6699CC" d="M46.116,63.445c-0.485-0.057-0.914,0.291-0.968,0.771l-0.325,2.906c-0.056,0.48,0.29,0.913,0.771,0.967
		c0.033,0.004,0.066,0.006,0.1,0.006c0.438,0,0.818-0.33,0.867-0.777l0.326-2.905C46.941,63.934,46.598,63.5,46.116,63.445z"/>
	<path fill="#6699CC" d="M49.421,33.976c-0.487-0.052-0.913,0.292-0.967,0.772l-0.731,6.525c-0.056,0.479,0.291,0.912,0.771,0.967
		c0.032,0.004,0.065,0.006,0.099,0.006c0.439,0,0.818-0.33,0.868-0.777l0.731-6.525C50.247,34.463,49.9,34.03,49.421,33.976z"/>
	<path fill="#6699CC" d="M37.306,64.895c-0.483,0-0.875,0.392-0.875,0.875v1.453c0,0.482,0.392,0.875,0.875,0.875
		s0.875-0.393,0.875-0.875V65.77C38.182,65.285,37.789,64.895,37.306,64.895z"/>
	<path fill="#6699CC" d="M37.306,37.75c0.483,0,0.875-0.392,0.875-0.875v-2.029c0-0.483-0.393-0.875-0.875-0.875
		s-0.875,0.392-0.875,0.875v2.029C36.431,37.358,36.822,37.75,37.306,37.75z"/>
	<path fill="#6699CC" d="M37.5,40.496c-6.108,0-11.078,4.97-11.078,11.079c0,6.108,4.97,11.077,11.078,11.077
		c6.109,0,11.079-4.969,11.079-11.077C48.578,45.466,43.607,40.496,37.5,40.496z M37.5,60.902c-5.144,0-9.328-4.185-9.328-9.327
		c0-5.146,4.185-9.329,9.328-9.329c5.145,0,9.329,4.186,9.329,9.329C46.828,56.719,42.645,60.902,37.5,60.902z"/>
	<path fill="#6699CC" d="M38.74,51.574l4.164-4.165c0.341-0.343,0.341-0.896,0-1.238c-0.342-0.342-0.896-0.342-1.238,0L37.5,50.336
		l-4.166-4.165c-0.342-0.342-0.896-0.342-1.237,0c-0.341,0.343-0.342,0.896,0,1.238l4.165,4.165l-4.165,4.165
		c-0.342,0.342-0.342,0.896,0,1.237c0.171,0.172,0.395,0.256,0.619,0.256c0.224,0,0.448-0.084,0.619-0.256l4.166-4.164l4.166,4.164
		c0.171,0.172,0.396,0.256,0.619,0.256c0.223,0,0.448-0.084,0.618-0.256c0.342-0.342,0.342-0.896,0-1.237L38.74,51.574z"/>
</g>
</svg>
PK�^�\��		6litespeed-cache/assets/img/icons/img_webp_disabled.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
<circle fill="none" cx="15" cy="15.894" r="5.317"/>
<path fill="#D3D9CE" d="M8.71,5.417H4.312V5.124c0-0.608,0.492-1.101,1.1-1.101h2.198c0.607,0,1.101,0.492,1.101,1.101V5.417z
	 M29.481,8.01v15.766c0,1.217-0.984,2.201-2.199,2.201H2.719c-1.215,0-2.2-0.984-2.2-2.201V8.01c0-1.215,0.985-2.2,2.2-2.2h17.311
	l0.06,0.041l-0.596,0.408c-0.273,0.188-0.392,0.539-0.288,0.85c0.096,0.296,0.368,0.5,0.733,0.519l0.722-0.021l-0.241,0.679
	c-0.111,0.312-0.001,0.665,0.266,0.858c0.128,0.093,0.28,0.143,0.439,0.143c0.162,0,0.323-0.053,0.458-0.155l0.57-0.439l0.205,0.695
	c0.097,0.319,0.386,0.534,0.719,0.534s0.622-0.215,0.72-0.538L24,8.691l0.574,0.442c0.13,0.098,0.291,0.152,0.454,0.152
	c0.158,0,0.31-0.048,0.442-0.143c0.266-0.194,0.374-0.547,0.264-0.857l-0.241-0.68l0.752,0.021c0.336-0.012,0.605-0.212,0.701-0.514
	c0.104-0.314-0.014-0.665-0.288-0.854L26.063,5.85l0.06-0.041h1.159C28.497,5.81,29.481,6.795,29.481,8.01z M20.317,15.894
	c0-2.937-2.38-5.317-5.317-5.317c-2.936,0-5.316,2.381-5.316,5.317s2.381,5.317,5.316,5.317
	C17.938,21.211,20.317,18.83,20.317,15.894z M26.376,6.67c0.091,0.063,0.131,0.178,0.096,0.283
	c-0.033,0.105-0.121,0.168-0.244,0.173l-1.45-0.041l0.486,1.367c0.037,0.104,0.001,0.221-0.088,0.286
	c-0.09,0.064-0.212,0.063-0.3-0.004L23.727,7.85l-0.41,1.392c-0.032,0.106-0.13,0.179-0.24,0.179s-0.208-0.073-0.24-0.179
	l-0.41-1.392l-1.148,0.885c-0.089,0.066-0.211,0.068-0.299,0.004c-0.09-0.065-0.126-0.182-0.089-0.286l0.486-1.367l-1.451,0.041
	c-0.114-0.006-0.21-0.067-0.244-0.173c-0.035-0.105,0.005-0.221,0.096-0.283l1.197-0.82l-0.06-0.041l-1.138-0.78
	c-0.091-0.063-0.131-0.178-0.096-0.283c0.034-0.105,0.132-0.163,0.244-0.173l1.451,0.041L20.89,3.248
	c-0.037-0.104-0.001-0.221,0.089-0.286c0.088-0.065,0.21-0.063,0.299,0.004l1.148,0.884l0.41-1.392c0.064-0.213,0.416-0.213,0.48,0
	l0.41,1.392l1.149-0.885c0.088-0.068,0.21-0.069,0.3-0.004c0.089,0.065,0.125,0.182,0.088,0.286l-0.486,1.366l1.45-0.04
	c0.121,0.008,0.211,0.067,0.244,0.173c0.035,0.105-0.005,0.221-0.096,0.283l-1.138,0.78l-0.06,0.041L26.376,6.67z M25.393,6.603
	l-0.798-0.547c-0.067-0.046-0.108-0.124-0.108-0.206c0-0.014,0.008-0.027,0.01-0.041c0.012-0.066,0.043-0.127,0.099-0.166
	l0.798-0.547l-0.967,0.027c-0.069,0.017-0.16-0.036-0.209-0.103s-0.061-0.153-0.033-0.231l0.324-0.911l-0.766,0.589
	c-0.064,0.051-0.15,0.066-0.229,0.04c-0.078-0.025-0.14-0.088-0.163-0.167l-0.273-0.929l-0.273,0.929
	c-0.023,0.079-0.085,0.142-0.163,0.167c-0.078,0.026-0.164,0.012-0.229-0.04L21.646,3.88l0.324,0.91
	c0.027,0.078,0.016,0.164-0.033,0.231c-0.048,0.066-0.142,0.101-0.209,0.103L20.76,5.097l0.798,0.547
	c0.056,0.039,0.087,0.1,0.099,0.166c0.002,0.014,0.01,0.026,0.01,0.041c0,0.083-0.041,0.16-0.108,0.206L20.76,6.603l0.968-0.027
	c0.086,0,0.161,0.037,0.209,0.103c0.049,0.067,0.061,0.153,0.033,0.231l-0.324,0.91l0.765-0.589
	c0.044-0.034,0.098-0.052,0.152-0.052c0.026,0,0.052,0.004,0.077,0.012c0.078,0.025,0.14,0.088,0.163,0.167l0.273,0.929l0.273-0.929
	c0.023-0.079,0.085-0.142,0.163-0.167c0.079-0.024,0.165-0.011,0.229,0.04l0.766,0.589l-0.324-0.91
	c-0.027-0.078-0.016-0.164,0.033-0.231c0.048-0.067,0.121-0.122,0.209-0.103L25.393,6.603z"/>
</svg>
PK�^�\]�dQ��/litespeed-cache/assets/img/icons/trash_post.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M48.201,23.882l-17.297-7.355c-0.446-0.188-0.959,0.018-1.147,0.463c-0.189,0.445,0.018,0.958,0.463,1.147
		l17.295,7.355c0.112,0.047,0.229,0.07,0.344,0.07c0.34,0,0.664-0.2,0.806-0.533C48.854,24.585,48.646,24.071,48.201,23.882z"/>
	<path fill="#6699CC" d="M34.828,23.886l-5.931-2.612c-0.445-0.195-0.959,0.006-1.153,0.448c-0.195,0.442,0.006,0.958,0.448,1.153
		l5.931,2.612c0.115,0.05,0.234,0.074,0.352,0.074c0.336,0,0.657-0.195,0.801-0.522C35.471,24.597,35.271,24.081,34.828,23.886z"/>
	<path fill="#6699CC" d="M54.087,26.923h-0.974l2.484-5.843c0.545-1.285-0.057-2.775-1.341-3.322l-2.211-0.94l1.563-5.534
		c0.379-1.344-0.405-2.746-1.75-3.125l-24.201-6.84c-1.35-0.379-2.748,0.405-3.127,1.75l-3.207,11.346
		c-0.021,0.075-0.016,0.149-0.017,0.224l-0.816-0.103c-1.38-0.168-2.655,0.812-2.83,2.198l-1.28,10.189h-0.976
		c-1.549,0-2.809,1.26-2.809,2.809c0,0.034,0.002,0.068,0.006,0.103l4.831,40.993c0.03,1.523,1.278,2.753,2.808,2.753H49.25
		c1.529,0,2.777-1.229,2.809-2.753l4.832-40.993c0.004-0.034,0.006-0.068,0.006-0.103C56.896,28.183,55.637,26.923,54.087,26.923z
		 M53.986,20.396l-2.555,6.01c-0.072,0.171-0.07,0.348-0.035,0.517H22.179L29.4,9.941c0.169-0.397,0.63-0.584,1.028-0.415
		l20.28,8.623c0.017,0.006,0.028,0.019,0.046,0.024c0.005,0.001,0.01,0,0.016,0.002l2.804,1.192
		C53.971,19.537,54.156,19.999,53.986,20.396z M26.216,3.543c0.118-0.416,0.549-0.661,0.968-0.541l24.201,6.839
		c0.416,0.118,0.659,0.552,0.543,0.967l-1.504,5.318l-19.311-8.21c-1.285-0.547-2.776,0.055-3.323,1.34l-2.517,5.918
		c-0.063-0.023-0.12-0.054-0.188-0.063l-2.065-0.259L26.216,3.543z M19.399,16.952c0.054-0.429,0.439-0.733,0.875-0.68l4.303,0.54
		l-4.037,9.495c-0.087,0.205-0.082,0.421-0.017,0.617h-2.377L19.399,16.952z M50.314,70.669c-0.004,0.034-0.006,0.067-0.006,0.103
		c0,0.584-0.476,1.06-1.06,1.06H20.243c-0.583,0-1.059-0.476-1.059-1.06c0-0.033-0.002-0.067-0.006-0.103l-4.83-40.981
		c0.023-0.563,0.489-1.015,1.058-1.015h38.68c0.568,0,1.034,0.451,1.059,1.015L50.314,70.669z"/>
	<path fill="#6699CC" d="M32.34,58.307h-4.416c-1.123,0-1.969-0.352-2.322-0.964s-0.234-1.521,0.328-2.491l0.327-0.565l1.131,0.653
		l0.001-4.362l-3.779,2.18l1.131,0.653l-0.326,0.564c-0.896,1.551-1.013,3.058-0.329,4.242c0.685,1.188,2.048,1.84,3.838,1.84h4.416
		c0.483,0,0.875-0.392,0.875-0.875C33.215,58.699,32.824,58.307,32.34,58.307z"/>
	<path fill="#6699CC" d="M39.508,46.949l-0.003-4.362l-1.13,0.653l-0.365-0.631c-0.549-0.951-1.248-1.637-2.074-2.035
		c-0.927-0.45-1.947-0.451-2.874-0.004c-0.831,0.402-1.53,1.088-2.079,2.037l-2.222,3.843c-0.242,0.419-0.099,0.954,0.319,1.196
		c0.138,0.078,0.289,0.117,0.437,0.117c0.302,0,0.596-0.156,0.758-0.438l2.222-3.844c0.371-0.642,0.816-1.092,1.325-1.336
		c0.448-0.217,0.902-0.217,1.35,0.002c0.506,0.244,0.951,0.692,1.322,1.336l0.365,0.631l-1.131,0.654L39.508,46.949z"/>
	<path fill="#6699CC" d="M42.328,50.08c-0.241-0.419-0.776-0.561-1.195-0.32c-0.419,0.242-0.563,0.777-0.32,1.195l2.252,3.896
		c0.562,0.971,0.682,1.879,0.328,2.49c-0.354,0.613-1.199,0.965-2.322,0.965h-0.637V57l-3.779,2.182l3.779,2.183v-1.308h0.637
		c1.791,0,3.154-0.652,3.839-1.841c0.684-1.187,0.565-2.692-0.33-4.241L42.328,50.08z"/>
	<path fill="#6699CC" d="M26.13,63.346c-0.48,0.055-0.826,0.486-0.772,0.967l0.327,2.908c0.05,0.447,0.429,0.777,0.869,0.777
		c0.033,0,0.065-0.002,0.099-0.006c0.48-0.055,0.826-0.486,0.772-0.967l-0.327-2.908C27.043,63.637,26.613,63.294,26.13,63.346z"/>
	<path fill="#6699CC" d="M24.216,47.162c0.032,0,0.065-0.002,0.099-0.006c0.48-0.055,0.826-0.486,0.772-0.967l-1.294-11.541
		c-0.054-0.48-0.482-0.826-0.967-0.772c-0.48,0.054-0.826,0.487-0.772,0.967l1.294,11.54C23.398,46.832,23.777,47.162,24.216,47.162
		z"/>
	<path fill="#6699CC" d="M43.361,63.348c-0.489-0.058-0.912,0.291-0.967,0.771l-0.326,2.906c-0.055,0.479,0.291,0.912,0.771,0.967
		c0.033,0.004,0.066,0.006,0.1,0.006c0.438,0,0.817-0.33,0.867-0.777l0.326-2.906C44.188,63.834,43.843,63.4,43.361,63.348z"/>
	<path fill="#6699CC" d="M46.668,33.877c-0.486-0.053-0.913,0.292-0.967,0.772l-1.297,11.563c-0.055,0.479,0.291,0.913,0.771,0.968
		c0.033,0.004,0.066,0.006,0.099,0.006c0.439,0,0.818-0.33,0.869-0.777l1.297-11.563C47.494,34.364,47.148,33.931,46.668,33.877z"/>
	<path fill="#6699CC" d="M34.553,63.373c-0.483,0-0.875,0.393-0.875,0.875v2.875c0,0.482,0.392,0.875,0.875,0.875
		c0.483,0,0.875-0.393,0.875-0.875v-2.875C35.428,63.766,35.037,63.373,34.553,63.373z"/>
	<path fill="#6699CC" d="M34.553,37.435c0.483,0,0.875-0.392,0.875-0.875v-1.813c0-0.483-0.392-0.875-0.875-0.875
		c-0.483,0-0.875,0.392-0.875,0.875v1.813C33.678,37.043,34.07,37.435,34.553,37.435z"/>
</g>
</svg>
PK�^�\���DEE4litespeed-cache/assets/img/icons/optimize_tables.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<polygon fill="#6699CC" points="33.496,19.622 41.335,23.493 48.044,17.635 49.146,18.897 50.775,14.133 45.835,15.104 
		46.937,16.367 41.075,21.487 33.354,17.676 22.786,24.961 23.741,26.347 	"/>
	<path fill="#6699CC" d="M64.08,13.12c-0.041-0.11-0.104-0.216-0.195-0.303L53.709,3.043c-0.027-0.027-0.063-0.039-0.095-0.061
		c-0.057-0.042-0.11-0.084-0.175-0.112c-0.067-0.027-0.138-0.033-0.209-0.042c-0.036-0.004-0.068-0.021-0.104-0.021h-0.017
		c-0.002,0-0.002,0-0.002,0h-39.51c-1.524,0-2.765,1.241-2.765,2.765v64.853c0,1.525,1.24,2.765,2.765,2.765h47.807
		c1.522,0,2.765-1.239,2.765-2.765V13.478C64.167,13.349,64.133,13.229,64.08,13.12z M53.968,5.625l7.3,7.011h-7.18
		c-0.065,0-0.12-0.054-0.12-0.12V5.625z M62.483,70.427c0,0.597-0.484,1.082-1.081,1.082H13.598c-0.597,0-1.082-0.485-1.082-1.082
		V5.574c0-0.596,0.485-1.082,1.082-1.082h38.688v8.025c0,0.995,0.809,1.803,1.803,1.803h8.396V70.427z"/>
	<path fill="#6699CC" d="M17.724,28.494c-0.464,0-0.842,0.377-0.842,0.842v28.058c0,0.465,0.377,0.841,0.842,0.841h39.185
		c0.065,0,0.122-0.023,0.184-0.036c0.061,0.013,0.118,0.036,0.183,0.036c0.464,0,0.842-0.376,0.842-0.841V29.336
		c0-0.465-0.378-0.842-0.842-0.842c-0.064,0-0.122,0.023-0.183,0.037c-0.062-0.014-0.118-0.037-0.184-0.037H17.724z M56.435,37.847
		H41.649v-2.992h14.785V37.847z M18.565,34.854h4.931v2.992h-4.931V34.854z M18.565,39.529h4.931v2.993h-4.931V39.529z
		 M39.966,47.199H25.18v-2.994h14.786V47.199z M41.649,44.205h14.785v2.994H41.649V44.205z M25.18,42.522v-2.993h14.786v2.993H25.18
		z M23.497,44.205v2.994h-4.931v-2.994H23.497z M23.497,48.882v2.992h-4.931v-2.992H23.497z M25.18,48.882h14.786v2.992H25.18
		V48.882z M41.649,48.882h14.785v2.992H41.649V48.882z M56.435,42.522H41.649v-2.993h14.785V42.522z M39.966,37.847H25.18v-2.992
		h14.786V37.847z M25.18,33.171v-2.994h14.786v2.994H25.18z M23.497,33.171h-4.931v-2.994h4.931V33.171z M18.565,53.559h4.931v2.993
		h-4.931V53.559z M25.18,53.559h14.786v2.993H25.18V53.559z M41.649,53.559h14.785v2.993H41.649V53.559z M56.435,33.171H41.649
		v-2.994h14.785V33.171z"/>
	<path fill="#6699CC" d="M28.019,37.043h9.289c0.398,0,0.721-0.323,0.721-0.721s-0.323-0.721-0.721-0.721h-9.289
		c-0.398,0-0.721,0.323-0.721,0.721S27.62,37.043,28.019,37.043z"/>
	<path fill="#6699CC" d="M44.5,37.043h9.29c0.397,0,0.721-0.323,0.721-0.721s-0.323-0.721-0.721-0.721H44.5
		c-0.398,0-0.721,0.323-0.721,0.721S44.102,37.043,44.5,37.043z"/>
</g>
</svg>
PK�^�\#P���0litespeed-cache/assets/img/icons/purge-pages.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M47.423,47.475c-6.108,0-11.078,4.971-11.078,11.08c0,6.107,4.969,11.077,11.078,11.077
		c6.109,0,11.079-4.97,11.079-11.077C58.502,52.443,53.532,47.475,47.423,47.475z M47.423,67.882c-5.144,0-9.327-4.185-9.327-9.327
		c0-5.146,4.184-9.33,9.327-9.33c5.146,0,9.329,4.186,9.329,9.33C56.752,63.697,52.566,67.882,47.423,67.882z"/>
	<path fill="#6699CC" d="M52.827,53.148c-0.343-0.342-0.896-0.342-1.238,0l-4.165,4.166l-4.165-4.166
		c-0.342-0.342-0.896-0.342-1.237,0c-0.342,0.343-0.342,0.896,0,1.238l4.164,4.165l-4.164,4.165c-0.342,0.342-0.342,0.896,0,1.238
		c0.17,0.171,0.396,0.256,0.619,0.256c0.223,0,0.447-0.085,0.618-0.256l4.165-4.165l4.165,4.165
		c0.171,0.171,0.396,0.256,0.619,0.256s0.448-0.085,0.619-0.256c0.341-0.342,0.341-0.896,0-1.238l-4.165-4.165l4.165-4.165
		C53.168,54.046,53.168,53.491,52.827,53.148z"/>
	<path fill="#6699CC" d="M64.166,21.332c-0.045-0.116-0.109-0.225-0.205-0.316l-8.912-8.56c-0.029-0.028-0.066-0.04-0.1-0.063
		c-0.059-0.042-0.113-0.087-0.182-0.115c-0.072-0.029-0.147-0.036-0.225-0.045c-0.035-0.004-0.064-0.021-0.102-0.021h-0.018
		c-0.001,0-0.002,0-0.003,0h-2.938c-0.023-0.032-0.037-0.07-0.067-0.099l-5.149-4.946c-0.031-0.031-0.072-0.044-0.107-0.069
		c-0.057-0.04-0.107-0.083-0.172-0.109c-0.071-0.029-0.146-0.036-0.223-0.045c-0.035-0.004-0.066-0.021-0.104-0.021h-0.018
		c0,0,0,0-0.002,0h-2.832c-0.045-0.119-0.108-0.232-0.207-0.326L36.901,1.12c0,0-0.001,0-0.001-0.001l-0.012-0.012
		c-0.027-0.026-0.061-0.036-0.09-0.057c-0.061-0.046-0.12-0.093-0.191-0.122c-0.064-0.026-0.132-0.03-0.2-0.04
		c-0.042-0.006-0.081-0.025-0.125-0.025H10.139c-1.364,0-2.474,1.11-2.474,2.474V57.23c0,1.362,1.11,2.473,2.474,2.473h3.38
		c0.139,0,0.266-0.039,0.383-0.098v4.953c0,1.385,1.126,2.51,2.51,2.51h4.018v4.509c0,1.411,1.148,2.56,2.56,2.56h38.701
		c1.41,0,2.559-1.147,2.559-2.56V21.695C64.25,21.564,64.217,21.443,64.166,21.332z M55.316,15.14l5.924,5.689l-5.924,0.023V15.14z
		 M46.536,9.852l2.457,2.36h-2.457V9.852z M37.157,3.792l3.26,3.131h-3.26V3.792z M13.902,9.432v48.619
		c-0.117-0.059-0.244-0.098-0.383-0.098h-3.38c-0.399,0-0.724-0.324-0.724-0.723V3.337c0-0.399,0.325-0.724,0.724-0.724h25.268v4.31
		H16.413C15.028,6.923,13.902,8.048,13.902,9.432z M16.413,65.318c-0.419,0-0.76-0.34-0.76-0.76V9.432
		c0-0.418,0.341-0.759,0.76-0.759h28.374v3.539H22.99c-1.411,0-2.56,1.148-2.56,2.56V65.32h-4.017V65.318z M62.5,71.577
		c0,0.446-0.361,0.81-0.809,0.81H22.99c-0.446,0-0.81-0.363-0.81-0.81V14.771c0-0.446,0.363-0.81,0.81-0.81h30.576v6.891
		c0,0.947,0.771,1.718,1.718,1.718H62.5V71.577z"/>
	<path fill="#6699CC" d="M27.498,28.501h26.625c0.482,0,0.875-0.392,0.875-0.875s-0.393-0.875-0.875-0.875H27.498
		c-0.483,0-0.875,0.392-0.875,0.875S27.015,28.501,27.498,28.501z"/>
	<path fill="#6699CC" d="M27.498,36.757h26.625c0.482,0,0.875-0.392,0.875-0.875c0-0.483-0.393-0.875-0.875-0.875H27.498
		c-0.483,0-0.875,0.392-0.875,0.875C26.623,36.365,27.015,36.757,27.498,36.757z"/>
	<path fill="#6699CC" d="M27.498,45.014h26.625c0.482,0,0.875-0.393,0.875-0.875c0-0.484-0.393-0.875-0.875-0.875H27.498
		c-0.483,0-0.875,0.391-0.875,0.875C26.623,44.621,27.015,45.014,27.498,45.014z"/>
	<path fill="#6699CC" d="M32.999,51.52h-5.501c-0.483,0-0.875,0.393-0.875,0.875c0,0.483,0.392,0.875,0.875,0.875h5.501
		c0.483,0,0.875-0.392,0.875-0.875C33.874,51.912,33.482,51.52,32.999,51.52z"/>
	<path fill="#6699CC" d="M31.124,59.775h-3.626c-0.483,0-0.875,0.392-0.875,0.875c0,0.482,0.392,0.875,0.875,0.875h3.626
		c0.483,0,0.875-0.393,0.875-0.875C31.999,60.167,31.607,59.775,31.124,59.775z"/>
</g>
</svg>
PK�^�\6��/litespeed-cache/assets/img/icons/auto_draft.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M61.821,13.089c-0.041-0.114-0.104-0.222-0.197-0.311L51.641,3.19c-0.032-0.03-0.071-0.042-0.104-0.066
		c-0.054-0.039-0.103-0.08-0.166-0.104c-0.07-0.029-0.145-0.036-0.219-0.044c-0.032-0.004-0.063-0.02-0.097-0.02h-0.015
		c-0.002,0-0.004,0-0.004,0H15.826c-1.506,0-2.731,1.224-2.731,2.729v63.631c0,1.505,1.225,2.729,2.731,2.729h43.351
		c1.506,0,2.729-1.225,2.729-2.729V13.441C61.906,13.314,61.872,13.196,61.821,13.089z M51.899,5.776l7.105,6.823h-7.004
		c-0.058,0-0.102-0.044-0.102-0.101V5.776L51.899,5.776z M60.222,69.315c0,0.576-0.47,1.045-1.045,1.045H15.826
		c-0.578,0-1.046-0.469-1.046-1.045V5.684c0-0.576,0.469-1.043,1.046-1.043h34.388v7.857c0,0.985,0.801,1.786,1.785,1.786h8.221
		v55.031H60.222z"/>
	<path fill="#6699CC" d="M42.681,38.698l-7.151-4.129c-0.261-0.15-0.582-0.15-0.843,0c-0.26,0.15-0.421,0.428-0.421,0.73v8.257
		c0,0.302,0.161,0.579,0.421,0.73c0.13,0.074,0.277,0.112,0.422,0.112c0.146,0,0.291-0.038,0.422-0.112l7.152-4.13
		c0.261-0.149,0.424-0.428,0.424-0.729C43.105,39.126,42.94,38.847,42.681,38.698z M35.951,42.096v-5.338l4.624,2.669L35.951,42.096
		z"/>
	<path fill="#6699CC" d="M48.729,29.417l1.035-2.911c0.116-0.326,0.021-0.691-0.239-0.918c-0.797-0.69-1.664-1.32-2.581-1.872
		c-0.297-0.179-0.672-0.157-0.947,0.054l-2.448,1.885c-0.924-0.406-1.877-0.717-2.846-0.928l-0.873-2.968
		c-0.099-0.333-0.39-0.572-0.736-0.601c-0.861-0.074-2.321-0.074-3.185,0c-0.346,0.029-0.637,0.269-0.736,0.601l-0.874,2.968
		c-0.969,0.21-1.923,0.521-2.846,0.928l-2.447-1.885c-0.276-0.212-0.651-0.234-0.948-0.055c-0.92,0.552-1.789,1.183-2.582,1.873
		c-0.261,0.228-0.358,0.592-0.241,0.918l1.036,2.911c-0.678,0.757-1.271,1.568-1.771,2.421l-3.096-0.084
		c-0.34-0.009-0.663,0.193-0.799,0.512c-0.39,0.918-0.716,1.937-0.969,3.03c-0.078,0.338,0.059,0.688,0.345,0.885l2.552,1.747
		c-0.058,0.539-0.085,1.024-0.085,1.499c0,0.474,0.028,0.958,0.085,1.497l-2.552,1.748c-0.287,0.196-0.423,0.546-0.345,0.884
		c0.25,1.089,0.577,2.106,0.968,3.03c0.136,0.32,0.436,0.505,0.8,0.513l3.096-0.085c0.5,0.853,1.093,1.664,1.771,2.422l-1.035,2.912
		c-0.117,0.326-0.02,0.689,0.241,0.918c0.785,0.683,1.653,1.313,2.58,1.872c0.297,0.18,0.675,0.157,0.95-0.055l2.448-1.886
		c0.922,0.405,1.874,0.716,2.844,0.929l0.875,2.968c0.098,0.332,0.39,0.571,0.735,0.602c0.428,0.037,0.996,0.078,1.592,0.078
		c0.596,0,1.163-0.041,1.592-0.078c0.347-0.03,0.638-0.27,0.737-0.602l0.873-2.968c0.969-0.213,1.921-0.521,2.843-0.929l2.45,1.885
		c0.275,0.213,0.653,0.233,0.949,0.056c0.928-0.561,1.798-1.191,2.583-1.876c0.261-0.227,0.356-0.592,0.239-0.916l-1.035-2.91
		c0.677-0.758,1.271-1.569,1.771-2.422l3.098,0.085c0.394-0.011,0.663-0.192,0.798-0.513c0.393-0.926,0.719-1.945,0.969-3.03
		c0.078-0.338-0.06-0.688-0.345-0.884l-2.553-1.749c0.06-0.536,0.087-1.028,0.087-1.496c0-0.476-0.027-0.962-0.086-1.499
		l2.552-1.747c0.286-0.197,0.423-0.547,0.345-0.884c-0.251-1.09-0.577-2.11-0.971-3.031c-0.132-0.311-0.437-0.512-0.775-0.512
		c-0.008,0-0.015,0-0.022,0l-3.098,0.084C49.998,30.983,49.404,30.172,48.729,29.417z M53.587,35.12l-2.494,1.708
		c-0.263,0.18-0.4,0.493-0.358,0.809c0.092,0.676,0.135,1.243,0.135,1.791c0,0.545-0.043,1.114-0.135,1.787
		c-0.042,0.316,0.096,0.629,0.358,0.81l2.494,1.708c-0.152,0.583-0.33,1.141-0.528,1.667l-3.019-0.084
		c-0.352-0.007-0.612,0.163-0.765,0.443c-0.559,1.035-1.271,2.011-2.118,2.896c-0.221,0.229-0.292,0.564-0.184,0.864l1.01,2.841
		c-0.448,0.361-0.926,0.708-1.425,1.03l-2.39-1.839c-0.25-0.193-0.591-0.229-0.878-0.091c-1.092,0.525-2.236,0.899-3.402,1.106
		c-0.314,0.059-0.57,0.287-0.66,0.593l-0.852,2.899c-0.55,0.034-1.203,0.034-1.752,0l-0.854-2.899
		c-0.091-0.306-0.345-0.535-0.66-0.593c-1.167-0.207-2.312-0.581-3.403-1.106c-0.287-0.14-0.626-0.103-0.879,0.091l-2.388,1.84
		c-0.497-0.322-0.974-0.668-1.424-1.03l1.01-2.842c0.107-0.301,0.036-0.635-0.185-0.864c-0.849-0.887-1.562-1.862-2.119-2.896
		c-0.152-0.281-0.438-0.45-0.766-0.444l-3.018,0.084c-0.199-0.526-0.375-1.083-0.528-1.667l2.493-1.706
		c0.263-0.18,0.402-0.492,0.359-0.809c-0.092-0.68-0.135-1.25-0.135-1.79c0-0.544,0.042-1.111,0.135-1.791
		c0.042-0.316-0.097-0.628-0.359-0.808l-2.493-1.707c0.154-0.586,0.33-1.145,0.528-1.667l3.019,0.083
		c0.316,0.025,0.613-0.161,0.765-0.442c0.558-1.035,1.271-2.009,2.12-2.896c0.22-0.229,0.292-0.564,0.185-0.865l-1.011-2.84
		c0.452-0.364,0.928-0.709,1.423-1.03l2.388,1.838c0.253,0.194,0.593,0.229,0.879,0.091c1.093-0.526,2.239-0.9,3.404-1.108
		c0.314-0.057,0.569-0.285,0.66-0.591l0.854-2.898c0.551-0.035,1.199-0.035,1.752,0l0.852,2.898c0.092,0.306,0.345,0.535,0.66,0.591
		c1.165,0.208,2.311,0.582,3.405,1.108c0.285,0.138,0.625,0.102,0.879-0.091l2.387-1.838c0.494,0.321,0.971,0.666,1.423,1.031
		l-1.01,2.84c-0.108,0.301-0.036,0.636,0.184,0.864c0.845,0.882,1.558,1.857,2.12,2.896c0.146,0.274,0.43,0.442,0.741,0.442
		c0.007,0,0.014,0,0.021,0l3.02-0.083C53.257,33.978,53.435,34.536,53.587,35.12z"/>
	<path fill="#6699CC" d="M37.5,29.626c-5.404,0-9.801,4.396-9.801,9.799c0,5.402,4.397,9.803,9.801,9.803s9.8-4.398,9.8-9.803
		C47.3,34.022,42.904,29.626,37.5,29.626z M37.5,47.543c-4.475,0-8.116-3.641-8.116-8.117c0-4.475,3.642-8.114,8.116-8.114
		c4.474,0,8.114,3.639,8.114,8.114S41.974,47.543,37.5,47.543z"/>
</g>
</svg>
PK�^�\*���
�
1litespeed-cache/assets/img/icons/spam_comment.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M65.631,35.152c-0.053-0.112-0.125-0.216-0.227-0.3l-3.545-2.941l2.103-1.267
		c0.263-0.157,0.422-0.438,0.425-0.743c0.002-0.304-0.154-0.588-0.412-0.749l-3.882-2.417l1.966-3.417
		c0.799-1.297,0.395-3.003-0.92-3.815L36.428,5.109c-1.296-0.803-3.003-0.4-3.815,0.913L21.069,25.613
		c-0.146,0.025-0.288,0.074-0.41,0.175l-11.062,9.19c-0.031,0.026-0.046,0.062-0.073,0.09c-0.958,0.463-1.625,1.436-1.625,2.569
		v33.007c0,1.578,1.284,2.862,2.862,2.862h53.477c1.578,0,2.861-1.284,2.861-2.862V37.637
		C67.102,36.567,66.504,35.643,65.631,35.152z M33.131,55.07L9.671,70.753c-0.004-0.037-0.022-0.069-0.022-0.106V37.637
		c0-0.21,0.075-0.396,0.177-0.565c-0.004,0.271,0.101,0.539,0.333,0.714L33.131,55.07z M35.793,55.396
		c0.047-0.032,0.092-0.068,0.132-0.109c0.876-0.875,2.404-0.875,3.277,0c0.041,0.041,0.086,0.078,0.134,0.109L63.87,71.758H11.317
		L35.793,55.396z M65.331,70.63L41.773,54.92l23.502-17.647c0.041,0.115,0.074,0.235,0.074,0.365v33.008v0.002
		C65.343,70.645,65.339,70.635,65.331,70.63z M60.342,32.925l3.71,3.079l-17.312,13l7.267-12.359l6.281-3.786
		C60.309,32.879,60.318,32.906,60.342,32.925z M34.111,6.927c0.295-0.476,0.922-0.623,1.416-0.318l24.709,14.395
		c0.477,0.294,0.625,0.921,0.318,1.42l-2.4,4.171c-0.234,0.409-0.104,0.93,0.296,1.179l3.386,2.108l-8.922,5.377
		c-0.125,0.075-0.229,0.181-0.303,0.306L43.25,51.488c-0.034,0.059-0.044,0.121-0.063,0.185l-2.944,2.21
		c-1.532-1.338-4.009-1.313-5.489,0.104l-0.081,0.055L15.049,39.275L34.111,6.927z M13.642,38.217l-2.431-1.829
		c-0.118-0.089-0.252-0.132-0.389-0.153l7.812-6.489L13.642,38.217z"/>
	<path fill="#6699CC" d="M28.153,46.658c1.823,1.126,3.914,1.721,6.046,1.721c4.031,0,7.701-2.045,9.814-5.47
		c1.617-2.619,2.119-5.711,1.411-8.707s-2.54-5.537-5.159-7.154c-1.822-1.126-3.914-1.721-6.045-1.721
		c-4.03,0-7.699,2.045-9.814,5.47C21.066,36.201,22.747,43.316,28.153,46.658z M42.523,41.989c-1.793,2.905-4.905,4.64-8.325,4.64
		c-1.808,0-3.58-0.505-5.126-1.459c-2.025-1.252-3.431-3.129-4.129-5.229l18.938-4.476C44.21,37.732,43.742,40.02,42.523,41.989z
		 M25.894,31.716c1.794-2.905,4.907-4.64,8.326-4.64c1.807,0,3.58,0.505,5.125,1.46c1.973,1.217,3.413,3.053,4.135,5.227
		l-18.938,4.473C24.226,36.048,24.643,33.741,25.894,31.716z"/>
	<path fill="#6699CC" d="M32.743,20.526c0.139,0.082,0.292,0.121,0.442,0.121c0.3,0,0.592-0.154,0.755-0.432l3.168-5.388
		c0.245-0.417,0.105-0.953-0.311-1.198c-0.417-0.247-0.954-0.105-1.198,0.311l-3.168,5.388
		C32.188,19.745,32.327,20.281,32.743,20.526z"/>
	<path fill="#6699CC" d="M42.586,23.268c0.141,0.082,0.292,0.121,0.441,0.121c0.301,0,0.593-0.154,0.756-0.432l1.838-3.125
		c0.245-0.417,0.105-0.953-0.311-1.198c-0.416-0.244-0.953-0.106-1.197,0.311l-1.838,3.125
		C42.029,22.487,42.169,23.023,42.586,23.268z"/>
	<path fill="#6699CC" d="M49.389,31.182c0.139,0.082,0.291,0.121,0.441,0.121c0.3,0,0.592-0.154,0.755-0.432l3.548-6.034
		c0.245-0.417,0.105-0.953-0.311-1.198c-0.418-0.246-0.953-0.105-1.197,0.311l-3.548,6.034
		C48.832,30.401,48.971,30.937,49.389,31.182z"/>
</g>
</svg>
PK�^�\k�+ERR-litespeed-cache/assets/img/icons/revision.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M60.912,72.441H14.087c-1.493,0-2.708-1.214-2.708-2.708V5.266c0-1.493,1.215-2.708,2.708-2.708h46.827
		c1.492,0,2.708,1.215,2.708,2.708v64.468C63.62,71.228,62.406,72.441,60.912,72.441z M14.087,4.206c-0.584,0-1.06,0.476-1.06,1.06
		v64.468c0,0.584,0.476,1.061,1.06,1.061h46.827c0.583,0,1.06-0.477,1.06-1.061V5.266c0-0.583-0.477-1.06-1.06-1.06H14.087z"/>
</g>
<g>
	<path fill="#6699CC" d="M53.625,16.858h-32.25c-0.483,0-0.875-0.392-0.875-0.875s0.392-0.875,0.875-0.875h32.25
		c0.482,0,0.875,0.392,0.875,0.875S54.107,16.858,53.625,16.858z"/>
</g>
<g>
	<path fill="#6699CC" d="M53.625,27.617h-32.25c-0.483,0-0.875-0.392-0.875-0.875c0-0.483,0.392-0.875,0.875-0.875h32.25
		c0.482,0,0.875,0.392,0.875,0.875C54.5,27.225,54.107,27.617,53.625,27.617z"/>
</g>
<g>
	<path fill="#6699CC" d="M53.625,38.375h-32.25c-0.483,0-0.875-0.392-0.875-0.875s0.392-0.875,0.875-0.875h32.25
		c0.482,0,0.875,0.392,0.875,0.875S54.107,38.375,53.625,38.375z"/>
</g>
<g>
	<path fill="#6699CC" d="M29.373,49.133h-7.998c-0.483,0-0.875-0.392-0.875-0.875c0-0.482,0.392-0.875,0.875-0.875h7.998
		c0.483,0,0.875,0.393,0.875,0.875C30.248,48.741,29.856,49.133,29.373,49.133z"/>
</g>
<g>
	<path fill="#6699CC" d="M27.763,59.893h-6.388c-0.483,0-0.875-0.392-0.875-0.875c0-0.482,0.392-0.875,0.875-0.875h6.388
		c0.483,0,0.875,0.393,0.875,0.875C28.638,59.501,28.247,59.893,27.763,59.893z"/>
</g>
<g>
	<path fill="#6699CC" d="M35.727,49.516"/>
</g>
<g>
	<path fill="#6699CC" d="M50.613,64.8"/>
</g>
<g>
	<g>
		<path fill="#6699CC" d="M44.561,67.521c-6.457,0-11.709-5.254-11.709-11.711c0-0.719,0.066-1.438,0.195-2.141l1.721,0.318
			c-0.11,0.597-0.166,1.21-0.166,1.822c0,5.491,4.467,9.959,9.959,9.959c1.992,0,3.916-0.586,5.563-1.696l0.979,1.45
			C49.165,66.831,46.902,67.521,44.561,67.521z"/>
	</g>
	<g>
		<g>
			<polygon fill="#6699CC" points="30.879,53.666 35.572,49.759 36.61,55.777 			"/>
		</g>
	</g>
</g>
<g>
	<g>
		<path fill="#6699CC" d="M56.075,57.952l-1.722-0.316c0.11-0.6,0.166-1.214,0.166-1.823c0-5.492-4.468-9.961-9.959-9.961
			c-1.994,0-3.918,0.588-5.564,1.698l-0.979-1.45c1.937-1.308,4.198-1.998,6.543-1.998c6.457,0,11.709,5.254,11.709,11.711
			C56.271,56.527,56.205,57.248,56.075,57.952z"/>
	</g>
	<g>
		<g>
			<polygon fill="#6699CC" points="58.242,57.958 53.548,61.865 52.512,55.848 			"/>
		</g>
	</g>
</g>
<g>
	<path fill="#6699CC" d="M38.507,46.824"/>
</g>
</svg>
PK�^�\+ͫlff'litespeed-cache/assets/img/icons/db.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<path fill="#21A0DF" d="M66.478,27.294c0,0,0-0.001,0-0.001V11.727c0-0.054-0.006-0.107-0.017-0.159
	c0-0.001-0.001-0.002-0.001-0.004c0.006-0.089,0.018-0.178,0.018-0.268c0-0.163-0.049-0.313-0.132-0.439
	c-0.628-2.732-3.608-5.213-8.528-7.054c-5.19-1.943-12.039-3.013-19.281-3.013c-7.244,0-14.091,1.07-19.283,3.013
	c-4.92,1.841-7.9,4.322-8.527,7.055c-0.083,0.126-0.132,0.276-0.132,0.438c0,0.089,0.012,0.178,0.017,0.267c0,0.001,0,0.003,0,0.004
	c-0.011,0.052-0.017,0.105-0.017,0.161v50.829c0,0.057,0.006,0.111,0.017,0.164c0.505,6.453,12.718,11.491,27.925,11.491
	c15.204,0,27.415-5.037,27.923-11.489c0.013-0.053,0.019-0.109,0.019-0.166v-17.66c0-0.002,0-0.002,0-0.003v-0.001V27.296
	C66.478,27.296,66.478,27.295,66.478,27.294z M19.813,5.299c5.017-1.878,11.665-2.911,18.723-2.911
	c7.057,0,13.706,1.033,18.722,2.911c4.615,1.727,7.365,4.025,7.598,6.326c-0.5,4.419-10.945,9.024-26.319,9.024
	c-15.375,0-25.821-4.604-26.319-9.024C12.449,9.324,15.199,7.026,19.813,5.299z M38.536,22.248c12.32,0,22.537-2.975,26.343-7.232
	v12.281c-0.004,5.589-12.066,10.311-26.343,10.311c-14.279,0-26.343-4.723-26.343-10.313V15.015
	C15.999,19.272,26.216,22.248,38.536,22.248z M64.879,62.442c-0.004,0.023-0.006,0.047-0.008,0.068
	c-0.142,2.551-2.929,5.097-7.648,6.987c-5.01,2.008-11.646,3.114-18.687,3.114c-7.041,0-13.678-1.106-18.687-3.114
	c-4.72-1.891-7.507-4.437-7.65-6.987c-0.001-0.021-0.003-0.045-0.006-0.067V48.938c3.806,4.631,14.023,7.867,26.343,7.867
	c12.32,0,22.537-3.236,26.343-7.866V62.442z M64.879,44.895c-0.004,5.59-12.066,10.313-26.343,10.313
	c-14.279,0-26.343-4.724-26.343-10.314V31.34c3.806,4.63,14.023,7.865,26.343,7.865c12.32,0,22.537-3.235,26.343-7.865V44.895z"/>
</svg>
PK�^�\����rr0litespeed-cache/assets/img/icons/purge-front.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M63.657,12.237c-0.046-0.116-0.109-0.227-0.205-0.318L52.954,1.835c-0.028-0.027-0.065-0.039-0.097-0.062
		c-0.061-0.043-0.115-0.089-0.187-0.117c-0.067-0.027-0.144-0.034-0.215-0.043c-0.037-0.005-0.069-0.022-0.108-0.022H52.33h-0.001
		H14.114c-1.577,0-2.86,1.283-2.86,2.859v66.923c0,1.577,1.283,2.859,2.86,2.859h46.773c1.575,0,2.858-1.282,2.858-2.859V12.608
		C63.746,12.474,63.711,12.351,63.657,12.237z M53.223,4.52l7.51,7.213h-7.395c-0.064,0-0.115-0.052-0.115-0.118V4.52z
		 M61.996,71.373c0,0.611-0.498,1.109-1.109,1.109H14.114c-0.612,0-1.11-0.498-1.11-1.109V4.45c0-0.612,0.498-1.109,1.11-1.109
		h37.359v8.274c0,1.03,0.836,1.868,1.864,1.868h8.658L61.996,71.373L61.996,71.373z"/>
	<path fill="#6699CC" d="M45.43,44.486c-6.656,0-12.072,5.416-12.072,12.072c0,6.655,5.416,12.071,12.072,12.071
		c6.655,0,12.071-5.415,12.071-12.071S52.085,44.486,45.43,44.486z M45.43,66.881c-5.691,0-10.322-4.63-10.322-10.32
		s4.63-10.321,10.322-10.321c5.69,0,10.321,4.631,10.321,10.321S51.12,66.881,45.43,66.881z"/>
	<path fill="#6699CC" d="M51.299,50.689c-0.342-0.342-0.896-0.342-1.238,0L45.43,55.32l-4.631-4.631
		c-0.342-0.342-0.896-0.342-1.238,0c-0.34,0.342-0.34,0.896,0,1.236l4.631,4.633l-4.631,4.631c-0.34,0.342-0.34,0.896,0,1.236
		c0.172,0.172,0.396,0.258,0.619,0.258s0.448-0.086,0.619-0.258l4.631-4.631l4.631,4.631c0.172,0.172,0.396,0.258,0.619,0.258
		s0.448-0.086,0.619-0.258c0.342-0.342,0.342-0.896,0-1.236l-4.631-4.631l4.631-4.633C51.641,51.586,51.641,51.031,51.299,50.689z"
		/>
	<path fill="#6699CC" d="M19.826,18.879c0,0.483,0.392,0.875,0.875,0.875h33.598c0.483,0,0.875-0.392,0.875-0.875
		s-0.392-0.875-0.875-0.875H20.701C20.218,18.004,19.826,18.396,19.826,18.879z"/>
	<path fill="#6699CC" d="M20.701,29.511h33.598c0.483,0,0.875-0.392,0.875-0.875c0-0.483-0.392-0.875-0.875-0.875H20.701
		c-0.483,0-0.875,0.392-0.875,0.875C19.826,29.119,20.218,29.511,20.701,29.511z"/>
	<path fill="#6699CC" d="M20.701,39.27h33.598c0.483,0,0.875-0.393,0.875-0.875s-0.392-0.875-0.875-0.875H20.701
		c-0.483,0-0.875,0.392-0.875,0.875S20.218,39.27,20.701,39.27z"/>
	<path fill="#6699CC" d="M30.125,47.275h-9.423c-0.483,0-0.875,0.393-0.875,0.875s0.392,0.875,0.875,0.875h9.423
		c0.483,0,0.875-0.393,0.875-0.875S30.608,47.275,30.125,47.275z"/>
	<path fill="#6699CC" d="M27.75,57.034h-7.049c-0.483,0-0.875,0.392-0.875,0.875s0.392,0.875,0.875,0.875h7.049
		c0.483,0,0.875-0.392,0.875-0.875S28.233,57.034,27.75,57.034z"/>
</g>
</svg>
PK�^�\�K��.litespeed-cache/assets/img/icons/purge-500.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M24.2,29.932c-0.686,0-1.381,0.061-2.071,0.18l0.333-3.945h5.769c0.138,0,0.25-0.112,0.25-0.25v-1.569
		c0-0.138-0.112-0.25-0.25-0.25h-7.455c-0.13,0-0.239,0.1-0.249,0.23l-0.564,7.014c-0.008,0.092,0.037,0.181,0.114,0.23l0.882,0.563
		c0.053,0.034,0.118,0.047,0.179,0.036c1.071-0.194,1.932-0.293,2.56-0.293c2.419,0,3.595,0.944,3.595,2.888
		c0,1.005-0.298,1.748-0.912,2.271c-0.617,0.525-1.506,0.791-2.643,0.791c-0.667,0-1.354-0.085-2.042-0.253
		c-0.683-0.168-1.258-0.4-1.708-0.691c-0.078-0.051-0.174-0.053-0.255-0.01c-0.081,0.044-0.13,0.128-0.13,0.22v1.641
		c0,0.087,0.045,0.168,0.12,0.214c0.923,0.562,2.268,0.847,3.996,0.847c1.791,0,3.221-0.466,4.252-1.386
		c1.039-0.928,1.565-2.219,1.565-3.837c0-1.43-0.486-2.576-1.445-3.404C27.143,30.347,25.834,29.932,24.2,29.932z"/>
	<path fill="#6699CC" d="M40.443,37.76c0.839-1.313,1.264-3.31,1.264-5.938c0-2.539-0.439-4.513-1.305-5.867
		c-0.891-1.389-2.209-2.094-3.918-2.094c-1.751,0-3.074,0.677-3.933,2.011c-0.836,1.3-1.26,3.301-1.26,5.95
		c0,2.566,0.438,4.548,1.301,5.892c0.886,1.379,2.195,2.079,3.892,2.079C38.248,39.793,39.58,39.109,40.443,37.76z M36.484,37.826
		c-1.029,0-1.758-0.443-2.229-1.356c-0.492-0.955-0.741-2.519-0.741-4.648c0-2.131,0.25-3.691,0.741-4.638
		c0.47-0.906,1.199-1.347,2.229-1.347c1.042,0,1.776,0.447,2.243,1.365c0.489,0.961,0.737,2.515,0.737,4.619
		c0,2.103-0.248,3.661-0.738,4.629C38.259,37.376,37.526,37.826,36.484,37.826z"/>
	<path fill="#6699CC" d="M48.491,23.861c-1.752,0-3.074,0.677-3.932,2.011c-0.837,1.299-1.261,3.3-1.261,5.95
		c0,2.567,0.438,4.55,1.302,5.892c0.884,1.38,2.193,2.079,3.891,2.079c1.765,0,3.097-0.685,3.959-2.033
		c0.839-1.313,1.265-3.311,1.265-5.938c0-2.538-0.439-4.512-1.306-5.867C51.52,24.566,50.201,23.861,48.491,23.861z M48.491,37.826
		c-1.029,0-1.759-0.443-2.229-1.356c-0.491-0.953-0.741-2.517-0.741-4.648c0-2.132,0.249-3.692,0.741-4.638
		c0.47-0.906,1.198-1.346,2.229-1.346c1.042,0,1.775,0.447,2.243,1.365c0.488,0.96,0.736,2.514,0.736,4.619
		c0,2.104-0.248,3.662-0.736,4.629C50.266,37.376,49.532,37.826,48.491,37.826z"/>
	<path fill="#6699CC" d="M17.361,5h-0.05c-0.483,0-0.85,0.392-0.85,0.875s0.417,0.875,0.9,0.875c0.483,0,0.875-0.392,0.875-0.875
		S17.845,5,17.361,5z"/>
	<path fill="#6699CC" d="M20.898,5h-0.086c-0.483,0-0.832,0.392-0.832,0.875s0.435,0.875,0.918,0.875s0.875-0.392,0.875-0.875
		S21.382,5,20.898,5z"/>
	<path fill="#6699CC" d="M24.398,5h-0.05c-0.483,0-0.85,0.392-0.85,0.875s0.417,0.875,0.9,0.875s0.875-0.392,0.875-0.875
		S24.882,5,24.398,5z"/>
	<path fill="#6699CC" d="M37.626,59.27c0,5.621,4.574,10.195,10.196,10.195c5.623,0,10.197-4.574,10.197-10.195
		c0-5.623-4.574-10.197-10.197-10.197C42.2,49.07,37.626,53.646,37.626,59.27z M56.27,59.27c0,4.656-3.789,8.445-8.446,8.445
		s-8.446-3.789-8.446-8.445c0-4.658,3.789-8.447,8.446-8.447C52.48,50.82,56.27,54.609,56.27,59.27z"/>
	<path fill="#6699CC" d="M42.833,64.257c0.171,0.171,0.396,0.257,0.619,0.257c0.223,0,0.448-0.086,0.618-0.257l3.753-3.752
		l3.752,3.752c0.171,0.171,0.396,0.257,0.618,0.257c0.224,0,0.449-0.086,0.619-0.257c0.342-0.342,0.342-0.896,0-1.237l-3.752-3.752
		l3.752-3.752c0.342-0.343,0.342-0.896,0-1.238s-0.896-0.342-1.237,0l-3.752,3.752l-3.753-3.752c-0.342-0.342-0.896-0.342-1.237,0
		c-0.341,0.342-0.341,0.896,0,1.238l3.752,3.752l-3.752,3.752C42.492,63.361,42.492,63.915,42.833,64.257z"/>
	<path fill="#6699CC" d="M62.77,13.878c-0.041-0.079-0.082-0.158-0.148-0.225L50.535,1.569c-0.004-0.003-0.01-0.004-0.012-0.008
		c-0.08-0.076-0.17-0.138-0.272-0.181c-0.106-0.044-0.222-0.067-0.335-0.067H14.812c-1.585,0-2.875,1.29-2.875,2.875v66.625
		c0,1.586,1.29,2.875,2.875,2.875h45.377c1.584,0,2.875-1.289,2.875-2.875v-56.29C63.063,14.265,62.947,14.039,62.77,13.878z
		 M50.791,4.3l9.348,9.348h-8.223c-0.62,0-1.125-0.505-1.125-1.125V4.3z M13.687,4.188c0-0.621,0.504-1.125,1.125-1.125h34.229
		v6.126H13.687V4.188z M61.313,70.813c0,0.621-0.504,1.125-1.125,1.125H14.812c-0.62,0-1.125-0.504-1.125-1.125V10.938h35.354v1.584
		c0,1.585,1.29,2.875,2.875,2.875h9.396V70.813z"/>
</g>
</svg>
PK�^�\��i��0litespeed-cache/assets/img/icons/empty-cache.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M61.125,33.733h-1.583V11.637c0-0.003-0.002-0.007-0.002-0.01c-0.001-0.077-0.024-0.151-0.046-0.227
		c-0.01-0.035-0.01-0.074-0.023-0.107c-0.01-0.023-0.029-0.04-0.041-0.062c-0.043-0.079-0.089-0.156-0.152-0.219
		c-0.002-0.002-0.004-0.005-0.006-0.007L50.12,2.247h-0.001l-0.014-0.013c-0.028-0.027-0.065-0.039-0.098-0.061
		c-0.059-0.043-0.113-0.089-0.183-0.116s-0.14-0.033-0.212-0.042C49.575,2.008,49.541,1.99,49.5,1.99H18.478
		c-1.585,0-2.875,1.29-2.875,2.875v28.868h-1.478c-1.585,0-2.875,1.29-2.875,2.875v6.028c0,1.585,1.29,2.875,2.875,2.875h1.876
		c0.037,0,0.067-0.017,0.103-0.021c0.081,3.687-0.345,7.248-0.771,10.725c-0.626,5.098-1.273,10.367-0.339,16.061
		c0.07,0.43,0.441,0.733,0.862,0.733c0.047,0,0.095-0.004,0.143-0.012c0.477-0.078,0.8-0.528,0.722-1.005
		c-0.894-5.446-0.262-10.59,0.349-15.563c0.621-5.06,1.259-10.289,0.356-15.933h1.765c-0.001,0.053-0.014,0.103-0.005,0.155
		c0.893,5.445,0.261,10.588-0.35,15.562c-0.626,5.097-1.274,10.367-0.338,16.062c0.07,0.43,0.441,0.733,0.862,0.733
		c0.047,0,0.095-0.004,0.143-0.012c0.477-0.078,0.8-0.528,0.722-1.005c-0.895-5.446-0.262-10.592,0.349-15.565
		c0.621-5.058,1.26-10.286,0.356-15.93h1.767c-0.001,0.053-0.015,0.103-0.006,0.155c0.893,5.447,0.261,10.591-0.35,15.563
		c-0.626,5.097-1.273,10.366-0.34,16.06c0.07,0.429,0.441,0.732,0.862,0.732c0.047,0,0.095-0.004,0.143-0.012
		c0.477-0.078,0.8-0.528,0.722-1.005c-0.893-5.445-0.261-10.589,0.351-15.562c0.621-5.06,1.26-10.289,0.356-15.935h1.764
		c-0.001,0.053-0.015,0.103-0.006,0.155c0.893,5.445,0.261,10.589-0.35,15.563c-0.626,5.098-1.273,10.367-0.339,16.061
		c0.07,0.43,0.441,0.733,0.862,0.733c0.047,0,0.095-0.004,0.143-0.012c0.477-0.078,0.8-0.528,0.722-1.005
		c-0.894-5.446-0.262-10.59,0.349-15.563c0.621-5.059,1.259-10.288,0.356-15.932H29.7c-0.001,0.053-0.015,0.103-0.006,0.155
		c0.891,5.443,0.259,10.586-0.351,15.559c-0.626,5.1-1.274,10.37-0.339,16.064c0.07,0.429,0.441,0.732,0.862,0.732
		c0.047,0,0.095-0.004,0.143-0.012c0.477-0.078,0.8-0.528,0.722-1.005c-0.894-5.447-0.262-10.593,0.35-15.567
		c0.621-5.057,1.259-10.285,0.357-15.928h1.764c-0.001,0.053-0.015,0.104-0.006,0.156c0.894,5.445,0.262,10.59-0.349,15.563
		c-0.626,5.098-1.274,10.366-0.339,16.059c0.07,0.43,0.441,0.733,0.862,0.733c0.047,0,0.095-0.004,0.143-0.012
		c0.477-0.078,0.8-0.528,0.722-1.005c-0.894-5.445-0.262-10.588,0.35-15.563c0.622-5.059,1.26-10.289,0.355-15.934h1.766
		c-0.001,0.053-0.015,0.104-0.006,0.156c0.893,5.444,0.261,10.59-0.35,15.563c-0.626,5.097-1.273,10.365-0.34,16.058
		c0.07,0.43,0.441,0.733,0.862,0.733c0.047,0,0.095-0.004,0.143-0.012c0.477-0.078,0.8-0.528,0.722-1.005
		c-0.892-5.444-0.261-10.588,0.35-15.563c0.621-5.059,1.259-10.289,0.356-15.934h1.767c-0.001,0.053-0.015,0.103-0.006,0.156
		c0.892,5.443,0.26,10.588-0.351,15.562c-0.625,5.099-1.271,10.368-0.34,16.062c0.07,0.429,0.441,0.732,0.862,0.732
		c0.047,0,0.095-0.004,0.144-0.012c0.477-0.078,0.799-0.527,0.722-1.006c-0.892-5.444-0.261-10.588,0.35-15.563
		c0.62-5.058,1.259-10.288,0.356-15.931h1.765c-0.001,0.053-0.015,0.103-0.006,0.156c0.894,5.444,0.262,10.59-0.349,15.564
		c-0.625,5.096-1.271,10.365-0.34,16.057c0.07,0.43,0.441,0.733,0.862,0.733c0.047,0,0.095-0.004,0.144-0.012
		c0.477-0.078,0.799-0.527,0.722-1.005c-0.892-5.443-0.261-10.588,0.351-15.562c0.619-5.06,1.258-10.29,0.354-15.935h1.765
		c-0.001,0.053-0.015,0.103-0.006,0.156c0.894,5.445,0.263,10.592-0.349,15.567c-0.625,5.097-1.271,10.363-0.342,16.054
		c0.07,0.43,0.441,0.733,0.862,0.733c0.047,0,0.095-0.004,0.144-0.013c0.477-0.077,0.799-0.526,0.722-1.004
		c-0.89-5.442-0.259-10.584,0.351-15.558c0.621-5.061,1.26-10.293,0.355-15.938h1.768c-0.001,0.054-0.015,0.104-0.006,0.156
		c0.891,5.445,0.26,10.59-0.352,15.565c-0.625,5.097-1.271,10.365-0.34,16.058c0.069,0.428,0.44,0.732,0.861,0.732
		c0.047,0,0.096-0.004,0.143-0.012c0.478-0.078,0.801-0.527,0.723-1.006c-0.891-5.442-0.26-10.586,0.352-15.561
		c0.621-5.061,1.258-10.29,0.356-15.936h1.769c-0.002,0.053-0.016,0.103-0.007,0.156c0.89,5.442,0.259,10.586-0.352,15.56
		c-0.626,5.099-1.272,10.37-0.341,16.063c0.07,0.428,0.441,0.732,0.863,0.732c0.047,0,0.094-0.004,0.143-0.012
		c0.477-0.078,0.8-0.527,0.722-1.006c-0.892-5.444-0.261-10.59,0.351-15.566c0.619-5.057,1.258-10.287,0.357-15.928h1.764
		c0,0.052-0.015,0.102-0.006,0.154c0.889,5.443,0.258,10.586-0.352,15.561c-0.626,5.099-1.271,10.369-0.34,16.063
		c0.07,0.43,0.44,0.733,0.861,0.733c0.047,0,0.096-0.004,0.144-0.013c0.477-0.078,0.8-0.526,0.722-1.004
		c-0.893-5.445-0.261-10.592,0.35-15.567c0.434-3.524,0.863-7.14,0.787-10.914h1.236c1.585,0,2.875-1.29,2.875-2.875v-6.028
		C64,35.023,62.71,33.733,61.125,33.733z M50.375,4.913l6.111,5.849H51.5c-0.62,0-1.125-0.505-1.125-1.125V4.913z M17.353,4.865
		c0-0.62,0.505-1.125,1.125-1.125h30.147v5.896c0,1.585,1.29,2.875,2.875,2.875h6.292v21.222H17.353V4.865z M62.25,42.637
		c0,0.62-0.505,1.125-1.125,1.125h-1.313c-0.07-1.085-0.179-2.181-0.356-3.296c0.403-0.077,0.715-0.416,0.715-0.843
		c0-0.482-0.392-0.875-0.875-0.875H15.139c-0.483,0-0.875,0.393-0.875,0.875s0.392,0.875,0.875,0.875h0.548
		c-0.001,0.053-0.015,0.104-0.006,0.156c0.172,1.05,0.273,2.084,0.343,3.111c-0.008,0-0.015-0.005-0.023-0.005h-1.876
		c-0.62,0-1.125-0.505-1.125-1.125v-6.028c0-0.62,0.505-1.125,1.125-1.125h47c0.62,0,1.125,0.505,1.125,1.125V42.637z"/>
	<path fill="#6699CC" d="M21.625,17.888H52.25c0.482,0,0.875-0.392,0.875-0.875s-0.393-0.875-0.875-0.875H21.625
		c-0.483,0-0.875,0.392-0.875,0.875S21.142,17.888,21.625,17.888z"/>
	<path fill="#6699CC" d="M52.25,29.148H21.625c-0.483,0-0.875,0.392-0.875,0.875s0.392,0.875,0.875,0.875H52.25
		c0.482,0,0.875-0.392,0.875-0.875S52.732,29.148,52.25,29.148z"/>
	<path fill="#6699CC" d="M52.25,22.644H21.625c-0.483,0-0.875,0.392-0.875,0.875s0.392,0.875,0.875,0.875H52.25
		c0.482,0,0.875-0.392,0.875-0.875S52.732,22.644,52.25,22.644z"/>
</g>
</svg>
PK�^�\m6�a��6litespeed-cache/assets/img/icons/expired_transient.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M62.406,13.464c-0.043-0.11-0.104-0.216-0.195-0.303L52.215,3.56c-0.026-0.026-0.062-0.038-0.092-0.059
		c-0.057-0.041-0.109-0.085-0.177-0.111c-0.064-0.026-0.136-0.032-0.204-0.042c-0.035-0.004-0.067-0.021-0.104-0.021h-0.017H51.62
		H15.233c-1.502,0-2.724,1.222-2.724,2.723v63.723c0,1.501,1.222,2.723,2.724,2.723h44.535c1.501,0,2.723-1.222,2.723-2.723V13.818
		C62.491,13.69,62.458,13.573,62.406,13.464z M52.471,6.117l7.151,6.868h-7.041c-0.062,0-0.11-0.049-0.11-0.112V6.117z
		 M60.825,69.773c0,0.582-0.475,1.056-1.057,1.056H15.233c-0.583,0-1.057-0.474-1.057-1.056V6.05c0-0.583,0.474-1.057,1.057-1.057
		h35.571v7.879c0,0.98,0.798,1.778,1.776,1.778h8.244V69.773z"/>
	<path fill="#6699CC" d="M48.729,51.256c0-0.625-0.237-1.467-1.205-2.305c-1.33-2.633-2.331-4.074-4.078-6.423
		c-0.821-1.105-1.484-1.938-2.035-2.611c0.551-0.672,1.21-1.505,2.035-2.613c2.146-2.881,3.215-4.476,5.181-8.708
		c0.103-0.222,0.098-0.472,0.002-0.686c0-0.006,0.002-0.012,0.002-0.018c0-3.198-9.991-3.292-11.13-3.292
		s-11.129,0.092-11.129,3.292c0,0.004,0.001,0.008,0.001,0.011c-0.097,0.217-0.103,0.468,0,0.691
		c1.964,4.232,3.034,5.828,5.178,8.709c0.819,1.102,1.481,1.935,2.037,2.611c-0.553,0.675-1.215,1.51-2.037,2.612
		c-1.747,2.35-2.747,3.791-4.079,6.427c-0.961,0.834-1.202,1.675-1.202,2.301c0,0.1,0.022,0.193,0.034,0.291
		c-0.004,0.089,0.006,0.177,0.03,0.261c0.628,2.83,6.047,4.35,11.167,4.35c5.116,0,10.532-1.518,11.165-4.345
		c0.026-0.091,0.039-0.184,0.033-0.279C48.709,51.44,48.729,51.351,48.729,51.256z M41.804,49.128
		c-1.129,1.13-2.541,1.291-4.304,1.291s-3.12-0.108-4.303-1.291c0.818-1.763,1.247-2.388,2.112-3.55
		c0.865-1.164,1.309-1.616,2.19-2.693c0.88,1.077,1.325,1.529,2.189,2.693C40.555,46.742,40.983,47.366,41.804,49.128z
		 M32.099,50.228c1.612,1.611,3.474,1.746,5.401,1.746c1.769,0,3.79-0.135,5.4-1.746c0.395-0.395,0.524-0.96,0.387-1.486
		c0.854,0.238,1.614,0.524,2.225,0.852c0.263,0.142,0.489,0.289,0.69,0.438c0.21,0.421,0.428,0.87,0.66,1.365
		c-2.329,2.055-5.235,2.472-9.362,2.472c-3.839,0-6.8-0.185-9.363-2.47c0.233-0.497,0.452-0.946,0.663-1.37
		c0.21-0.155,0.453-0.31,0.732-0.456c0,0,0-0.001,0.001-0.001s0,0,0,0c0.6-0.316,1.345-0.594,2.18-0.827
		C31.576,49.268,31.706,49.833,32.099,50.228z M46.795,27.78c-3.325,1.332-5.402,1.703-9.295,1.703c-3.892,0-5.968-0.37-9.293-1.702
		c0.833-0.623,4.14-1.513,9.294-1.513C42.653,26.267,45.96,27.156,46.795,27.78z M32.887,43.522c1.029-1.38,1.801-2.328,2.421-3.073
		c0.257-0.31,0.257-0.758,0-1.066c-0.622-0.747-1.396-1.698-2.421-3.074c-1.672-2.246-2.638-3.645-3.91-6.153
		c3.044,0.983,7.762,1.026,8.523,1.026s5.476-0.043,8.52-1.025c-1.271,2.509-2.238,3.907-3.911,6.153
		c-1.033,1.388-1.803,2.333-2.42,3.073c-0.257,0.309-0.257,0.757,0,1.066c0.619,0.741,1.391,1.688,2.42,3.073
		c1.122,1.507,1.924,2.636,2.714,3.963c-0.712-0.258-1.497-0.481-2.347-0.656l0,0h-0.004c-0.002,0-0.002-0.001-0.004-0.001
		c0,0,0,0-0.001,0l-0.093-0.02c-0.437-0.782-0.845-1.358-1.438-2.157c-0.606-0.814-1.013-1.292-1.482-1.849
		c-0.225-0.266-0.465-0.548-0.753-0.901c-0.589-0.72-1.814-0.72-2.405,0c-0.289,0.354-0.53,0.64-0.754,0.903
		c-0.469,0.557-0.874,1.034-1.479,1.847c-0.595,0.801-1.002,1.375-1.438,2.157c-0.89,0.179-1.711,0.409-2.452,0.679
		C30.963,46.158,31.766,45.031,32.887,43.522z"/>
</g>
</svg>
PK�^�\76�5

7litespeed-cache/assets/img/icons/trackback-pingback.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M13.333,10.792c-0.483,0-0.875,0.392-0.875,0.875v2.167c0,0.483,0.392,0.875,0.875,0.875
		s0.875-0.392,0.875-0.875v-2.167C14.208,11.183,13.817,10.792,13.333,10.792z"/>
	<path fill="#6699CC" d="M34.926,34.313V11.001c0-0.167-0.059-0.314-0.141-0.447c-0.044-0.108-0.109-0.21-0.198-0.297l-6.291-6.118
		C28.267,4.111,28.23,4.1,28.199,4.077c-0.161-0.181-0.388-0.301-0.649-0.301H11.926c-1.034,0-1.875,0.841-1.875,1.875v28.662
		c0,1.034,0.841,1.875,1.875,1.875h21.125C34.084,36.188,34.926,35.346,34.926,34.313z M28.425,6.706l3.517,3.42H28.55
		c-0.069,0-0.125-0.056-0.125-0.125V6.706z M11.801,34.313V5.65c0-0.069,0.056-0.125,0.125-0.125h14.749v4.476
		c0,1.034,0.841,1.875,1.875,1.875h4.626v22.437c0,0.069-0.056,0.125-0.125,0.125H11.926C11.857,34.438,11.801,34.381,11.801,34.313
		z"/>
	<path fill="#6699CC" d="M64.809,45.588c-0.045-0.105-0.109-0.207-0.197-0.293l-6.291-6.119c-0.028-0.027-0.064-0.039-0.096-0.062
		c-0.16-0.183-0.389-0.302-0.649-0.302H41.949c-1.034,0-1.875,0.84-1.875,1.875V69.35c0,1.034,0.841,1.875,1.875,1.875h21.125
		c1.033,0,1.875-0.841,1.875-1.875V46.037C64.949,45.869,64.891,45.723,64.809,45.588z M58.449,41.743l3.515,3.419h-3.39
		c-0.069,0-0.125-0.057-0.125-0.125V41.743z M63.199,69.35c0,0.069-0.057,0.125-0.125,0.125H41.949
		c-0.069,0-0.125-0.056-0.125-0.125V40.688c0-0.068,0.056-0.125,0.125-0.125h14.75v4.476c0,1.034,0.841,1.875,1.875,1.875h4.625
		V69.35z"/>
	<path fill="#6699CC" d="M44.533,44.016c-0.483,0-0.875,0.393-0.875,0.875v2.168c0,0.482,0.392,0.875,0.875,0.875
		c0.482,0,0.875-0.393,0.875-0.875v-2.168C45.408,44.407,45.018,44.016,44.533,44.016z"/>
	<path fill="#6699CC" d="M47.535,44.016c-0.483,0-0.875,0.393-0.875,0.875v2.168c0,0.482,0.392,0.875,0.875,0.875
		c0.482,0,0.875-0.393,0.875-0.875v-2.168C48.41,44.407,48.02,44.016,47.535,44.016z"/>
	<polygon fill="#6699CC" points="31.548,44.113 25.648,42.532 27.229,48.432 28.769,46.893 34.5,52.622 35.737,51.384 
		30.007,45.652 	"/>
	<polygon fill="#6699CC" points="43.452,30.886 49.352,32.467 47.771,26.567 46.23,28.108 40.501,22.378 39.264,23.616 
		44.992,29.346 	"/>
</g>
</svg>
PK�^�\���
�
/litespeed-cache/assets/img/icons/cross_icon.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="20px" height="20px" viewBox="0 0 20 20" enable-background="new 0 0 20 20" xml:space="preserve">
<g id="Layer_1_1_" display="none">
	<path display="inline" fill="#E8AE4A" d="M10,0C4.477,0,0,4.478,0,10c0,5.521,4.477,10,10,10c5.521,0,10-4.479,10-10
		C20,4.478,15.521,0,10,0z M11.329,16.83c-0.362,0.361-0.804,0.545-1.313,0.545s-0.949-0.184-1.312-0.545
		c-0.361-0.362-0.544-0.805-0.544-1.313c0-0.51,0.18-0.951,0.537-1.316c0.357-0.363,0.802-0.551,1.318-0.551
		c0.512,0,0.953,0.184,1.313,0.543c0.359,0.361,0.542,0.808,0.542,1.324C11.871,16.027,11.688,16.468,11.329,16.83z M11.389,7.468
		l-0.535,2.207c-0.185,0.771-0.321,1.7-0.409,2.763c-0.01,0.111-0.104,0.198-0.216,0.198H9.783c-0.114,0-0.209-0.089-0.216-0.202
		c-0.046-0.754-0.201-1.683-0.46-2.759L8.58,7.467C8.257,6.115,8.099,5.169,8.099,4.572c0-0.576,0.177-1.049,0.527-1.406
		c0.351-0.358,0.813-0.541,1.37-0.541c0.543,0,1.004,0.183,1.363,0.544c0.357,0.36,0.541,0.822,0.541,1.373
		C11.9,5.077,11.734,6.033,11.389,7.468z"/>
</g>
<g id="Layer_1_copy_3" display="none">
	<path display="inline" fill="#4675B8" d="M10,0C4.477,0,0,4.478,0,10c0,5.521,4.477,10,10,10c5.521,0,10-4.479,10-10
		C20,4.478,15.521,0,10,0z M11.329,16.83c-0.362,0.361-0.804,0.545-1.313,0.545s-0.949-0.184-1.312-0.545
		c-0.361-0.362-0.544-0.805-0.544-1.313c0-0.51,0.18-0.951,0.537-1.316c0.357-0.363,0.802-0.551,1.318-0.551
		c0.512,0,0.953,0.184,1.313,0.543c0.359,0.361,0.542,0.808,0.542,1.324C11.871,16.027,11.688,16.468,11.329,16.83z M11.389,7.468
		l-0.535,2.207c-0.185,0.771-0.321,1.7-0.409,2.763c-0.01,0.111-0.104,0.198-0.216,0.198H9.783c-0.114,0-0.209-0.089-0.216-0.202
		c-0.046-0.754-0.201-1.683-0.46-2.759L8.58,7.467C8.257,6.115,8.099,5.169,8.099,4.572c0-0.576,0.177-1.049,0.527-1.406
		c0.351-0.358,0.813-0.541,1.37-0.541c0.543,0,1.004,0.183,1.363,0.544c0.357,0.36,0.541,0.822,0.541,1.373
		C11.9,5.077,11.734,6.033,11.389,7.468z"/>
</g>
<g id="Layer_1_copy" display="none">
	<path display="inline" fill="#A32430" d="M10,0C4.477,0,0,4.478,0,10c0,5.521,4.477,10,10,10c5.521,0,10-4.479,10-10
		C20,4.478,15.521,0,10,0z M15.159,13.764c0.187,0.188,0.288,0.438,0.288,0.697c0,0.262-0.102,0.51-0.288,0.695
		c-0.185,0.184-0.438,0.289-0.698,0.289c-0.262,0-0.518-0.105-0.697-0.291L10,11.393l-3.764,3.766c-0.361,0.359-1.033,0.359-1.393,0
		c-0.187-0.186-0.29-0.434-0.29-0.695s0.103-0.512,0.289-0.695L8.606,10L4.842,6.234c-0.385-0.384-0.385-1.01,0-1.394
		c0.359-0.361,1.032-0.361,1.394,0L10,8.604l3.766-3.765c0.356-0.359,1.033-0.361,1.396,0c0.188,0.185,0.288,0.433,0.288,0.697
		c0.001,0.264-0.104,0.511-0.288,0.697l-3.767,3.764L15.159,13.764z"/>
</g>
<g>
	<circle fill="#CC3D6A" cx="10" cy="10" r="9.967"/>
</g>
<path fill="#FFFFFF" d="M11.414,10l3.503-3.503c0.392-0.391,0.392-1.024,0-1.414c-0.392-0.391-1.022-0.391-1.414,0L10,8.586
	L6.497,5.082c-0.391-0.391-1.023-0.391-1.414,0c-0.391,0.39-0.391,1.023,0,1.414L8.586,10l-3.503,3.504
	c-0.391,0.391-0.391,1.023,0,1.414c0.195,0.195,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293L10,11.414l3.502,3.503
	c0.195,0.194,0.451,0.293,0.707,0.293s0.512-0.099,0.707-0.293c0.391-0.392,0.391-1.022,0-1.414L11.414,10z"/>
</svg>
PK�^�\�N�dZZ2litespeed-cache/assets/img/icons/trash_comment.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M62.324,17.893l2.085-2.085c0.366-0.367,0.569-0.855,0.569-1.374s-0.203-1.007-0.568-1.374L53.094,1.743
		c-0.365-0.367-0.854-0.57-1.373-0.57c-0.519,0-1.007,0.202-1.373,0.569l-7.883,7.882c-0.064-0.08-0.141-0.154-0.234-0.21
		l-7.519-4.431c-0.447-0.264-0.969-0.338-1.472-0.208c-0.503,0.13-0.924,0.448-1.188,0.896l-3.12,5.293l-1.2-2.208
		c-0.249-0.457-0.66-0.789-1.159-0.936c-0.497-0.146-1.023-0.09-1.476,0.157L11.034,15.62c-0.938,0.511-1.287,1.692-0.778,2.634
		l4.606,8.477c-1.289,0.254-2.264,1.391-2.264,2.753c0,0.034,0.002,0.068,0.006,0.103l4.831,40.993
		c0.03,1.523,1.278,2.753,2.808,2.753H49.25c1.529,0,2.777-1.229,2.809-2.753l4.832-40.993c0.004-0.034,0.006-0.068,0.006-0.103
		c0-1.549-1.26-2.809-2.81-2.809h-0.544l2.629-2.629l8.118-2.356c0.297-0.086,0.526-0.323,0.604-0.623
		c0.076-0.3-0.011-0.618-0.229-0.836L62.324,17.893z M33.561,6.558c0.034-0.057,0.083-0.08,0.118-0.089
		c0.033-0.01,0.087-0.013,0.145,0.021l7.408,4.367l-9.371,9.371c-0.757,0.757-0.756,1.99,0,2.747l3.7,3.701h-3.046l0.714-1.211
		c0.245-0.417,0.106-0.953-0.31-1.198c-0.417-0.245-0.953-0.106-1.198,0.31l-1.163,1.973c-0.024,0.041-0.027,0.085-0.044,0.127
		h-3.032L35.366,13.3c0.245-0.417,0.107-0.953-0.31-1.198s-0.953-0.107-1.198,0.31l-8.307,14.094
		c-0.032,0.054-0.04,0.113-0.059,0.17h-3.789L33.561,6.558z M11.871,17.157l14.066-7.644c0.056-0.031,0.109-0.026,0.144-0.015
		c0.035,0.011,0.083,0.035,0.115,0.093l1.266,2.328c0.138,0.254,0.386,0.397,0.653,0.434l-2.13,3.613l-0.291-0.535
		c-0.23-0.424-0.763-0.582-1.187-0.351c-0.424,0.231-0.582,0.762-0.351,1.187l0.388,0.713c0.127,0.234,0.346,0.381,0.588,0.433
		l-1.715,2.908L21.884,17.5c-0.23-0.424-0.762-0.582-1.187-0.351c-0.424,0.23-0.582,0.762-0.351,1.187l1.535,2.824
		c0.158,0.292,0.459,0.457,0.77,0.457c0.001,0,0.002,0,0.003,0l-1.833,3.109c-0.017-0.077-0.03-0.155-0.07-0.228l-2.677-4.926
		c-0.231-0.424-0.763-0.582-1.187-0.351c-0.424,0.231-0.582,0.762-0.351,1.187l2.677,4.926c0.159,0.292,0.459,0.457,0.77,0.457
		c0.084,0,0.165-0.038,0.248-0.063l-0.269,0.457c-0.091,0.155-0.113,0.325-0.104,0.492h-3.034l-5.03-9.255
		C11.743,17.326,11.778,17.208,11.871,17.157z M55.145,29.44l-4.83,40.981c-0.004,0.034-0.006,0.068-0.006,0.103
		c0,0.584-0.475,1.06-1.059,1.06H20.243c-0.583,0-1.059-0.476-1.059-1.06c0-0.033-0.002-0.067-0.006-0.103l-4.83-40.981
		c0.023-0.563,0.489-1.015,1.058-1.015h38.681C54.656,28.425,55.121,28.876,55.145,29.44z M55.468,22.428
		c-0.142,0.041-0.271,0.117-0.375,0.222l-4.024,4.025h-3.877l10.588-10.586c0.341-0.342,0.341-0.896,0-1.237
		c-0.342-0.342-0.896-0.342-1.238,0l-11.57,11.569c-0.076,0.075-0.128,0.163-0.17,0.254h-6.765l-4.937-4.938
		c-0.075-0.075-0.075-0.197,0-0.272L51.585,2.979c0.047-0.046,0.101-0.056,0.136-0.056c0.036,0,0.088,0.01,0.135,0.057
		l11.317,11.318c0.048,0.046,0.058,0.1,0.058,0.136c0,0.036-0.01,0.089-0.059,0.136l-2.704,2.705
		c-0.163,0.164-0.256,0.387-0.256,0.619s0.093,0.455,0.257,0.619l1.911,1.911L55.468,22.428z"/>
	<path fill="#6699CC" d="M51.648,8.721c-0.342-0.342-0.896-0.342-1.238,0L38.84,20.289c-0.341,0.341-0.341,0.896,0,1.237
		c0.172,0.171,0.396,0.256,0.619,0.256s0.448-0.085,0.619-0.256l11.57-11.568C51.988,9.617,51.99,9.063,51.648,8.721z"/>
	<path fill="#6699CC" d="M53.475,11.787L41.906,23.356c-0.342,0.342-0.342,0.896,0,1.237c0.171,0.171,0.396,0.256,0.619,0.256
		c0.223,0,0.447-0.085,0.619-0.256l11.566-11.569c0.342-0.342,0.341-0.896,0-1.237C54.37,11.445,53.814,11.445,53.475,11.787z"/>
	<path fill="#6699CC" d="M26.256,54.037l1.131,0.652l0.001-4.361l-3.779,2.18l1.131,0.653l-0.326,0.565
		c-0.896,1.549-1.013,3.057-0.329,4.242s2.047,1.84,3.838,1.84h4.415c0.483,0,0.875-0.393,0.875-0.875
		c0-0.483-0.392-0.875-0.875-0.875h-4.415c-1.123,0-1.969-0.353-2.323-0.965c-0.354-0.611-0.234-1.521,0.328-2.492L26.256,54.037z"
		/>
	<path fill="#6699CC" d="M29.08,47.398c0.138,0.08,0.289,0.117,0.437,0.117c0.302,0,0.596-0.156,0.758-0.438l2.221-3.844
		c0.371-0.641,0.817-1.09,1.325-1.336c0.454-0.221,0.896-0.222,1.35,0.002c0.506,0.244,0.95,0.692,1.322,1.336l0.366,0.632
		l-1.131,0.653l3.779,2.18l-0.003-4.362l-1.13,0.653l-0.366-0.633c-0.55-0.95-1.248-1.635-2.073-2.034
		c-0.926-0.449-1.946-0.45-2.875-0.003c-0.83,0.402-1.529,1.088-2.078,2.037l-2.221,3.844C28.519,46.622,28.662,47.157,29.08,47.398
		z"/>
	<path fill="#6699CC" d="M36.654,58.934l3.778,2.183v-1.308h0.637c1.791,0,3.154-0.652,3.84-1.84
		c0.684-1.187,0.566-2.693-0.33-4.242l-2.25-3.895c-0.241-0.419-0.776-0.561-1.195-0.32c-0.419,0.242-0.563,0.777-0.32,1.195
		l2.252,3.896c0.562,0.971,0.682,1.879,0.328,2.492c-0.354,0.611-1.199,0.963-2.322,0.963h-0.637v-1.307L36.654,58.934z"/>
	<path fill="#6699CC" d="M26.13,63.1c-0.48,0.053-0.826,0.485-0.772,0.967l0.327,2.906c0.05,0.447,0.429,0.777,0.869,0.777
		c0.033,0,0.065-0.002,0.099-0.006c0.48-0.055,0.826-0.486,0.772-0.967l-0.327-2.907C27.043,63.391,26.613,63.048,26.13,63.1z"/>
	<path fill="#6699CC" d="M24.216,46.914c0.032,0,0.065-0.002,0.099-0.006c0.48-0.055,0.826-0.486,0.772-0.967l-1.294-11.54
		c-0.054-0.479-0.481-0.822-0.967-0.772c-0.48,0.054-0.826,0.487-0.772,0.967l1.294,11.539
		C23.397,46.584,23.776,46.914,24.216,46.914z"/>
	<path fill="#6699CC" d="M43.361,63.1c-0.489-0.06-0.912,0.291-0.967,0.771l-0.326,2.906c-0.055,0.479,0.291,0.912,0.771,0.967
		c0.033,0.004,0.066,0.006,0.1,0.006c0.438,0,0.817-0.33,0.867-0.777l0.326-2.906C44.188,63.586,43.843,63.152,43.361,63.1z"/>
	<path fill="#6699CC" d="M45.176,46.932c0.033,0.004,0.066,0.006,0.1,0.006c0.438,0,0.817-0.33,0.867-0.776l1.297-11.563
		c0.056-0.48-0.291-0.914-0.771-0.967c-0.487-0.049-0.913,0.292-0.967,0.772l-1.298,11.563
		C44.35,46.445,44.695,46.878,45.176,46.932z"/>
	<path fill="#6699CC" d="M34.552,63.125c-0.483,0-0.875,0.393-0.875,0.875v2.875c0,0.482,0.392,0.875,0.875,0.875
		c0.483,0,0.875-0.393,0.875-0.875V64C35.427,63.518,35.036,63.125,34.552,63.125z"/>
	<path fill="#6699CC" d="M34.552,37.187c0.483,0,0.875-0.392,0.875-0.875V34.5c0-0.483-0.392-0.875-0.875-0.875
		c-0.483,0-0.875,0.392-0.875,0.875v1.812C33.677,36.795,34.069,37.187,34.552,37.187z"/>
</g>
</svg>
PK�^�\�46litespeed-cache/assets/img/icons/img_optm_disabled.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
<path fill="#CED1D9" d="M17.181,20.485H2.421l12.867-8.158l3.352,3.626l0.637,0.018c0.034-0.048,0.069-0.097,0.105-0.144
	l-0.293-0.826c-0.12-0.34-0.023-0.713,0.248-0.951c0.308-0.27,0.642-0.512,0.99-0.72c0.137-0.081,0.291-0.123,0.448-0.123
	c0.191,0,0.381,0.064,0.532,0.18l0.694,0.534c0.058-0.02,0.115-0.039,0.173-0.057l0.248-0.84c0.102-0.346,0.399-0.591,0.759-0.624
	c0.146-0.014,0.298-0.017,0.448-0.021V6.147H1.62V21.29h15.78c-0.071-0.215-0.155-0.416-0.207-0.647
	C17.181,20.59,17.183,20.538,17.181,20.485z M10.705,8.189c0.956,0,1.731,0.775,1.731,1.731c0,0.956-0.775,1.73-1.731,1.73
	c-0.956,0-1.731-0.774-1.731-1.73C8.974,8.964,9.75,8.189,10.705,8.189z M2.368,9.563l7.593,5.435l-7.593,4.729V9.563z
	 M23.63,17.247v3.792c-0.466-0.04-0.886-0.239-1.196-0.554h0.395l-0.911-0.986c-0.021-0.115-0.036-0.233-0.036-0.355
	C21.881,18.145,22.653,17.332,23.63,17.247z M24.298,20.979v-3.673c0.335,0.092,0.634,0.268,0.869,0.511v2.652
	C24.932,20.712,24.633,20.888,24.298,20.979z M19.383,22.458l-0.163,0.458H0.083V4.582h25.084v8.451l-0.003-0.008
	c-0.102-0.346-0.399-0.591-0.759-0.625c-0.035-0.003-0.071-0.002-0.107-0.005V5.451H0.952v16.596h16.776
	c0.163,0.176,0.397,0.286,0.666,0.291l0.883-0.024C19.311,22.362,19.346,22.41,19.383,22.458z M23.794,25.418
	c-0.191,0-0.378-0.012-0.563-0.027c-0.154-0.014-0.284-0.119-0.328-0.268l-0.326-1.106c-0.224-0.058-0.444-0.13-0.659-0.217
	l-0.913,0.702c-0.122,0.094-0.29,0.104-0.422,0.024c-0.326-0.195-0.634-0.419-0.916-0.666c-0.115-0.102-0.157-0.263-0.106-0.408
	l0.387-1.088c-0.149-0.179-0.286-0.365-0.408-0.559l-1.158,0.032c-0.149-0.003-0.294-0.086-0.354-0.227
	c-0.143-0.331-0.259-0.694-0.346-1.078c-0.033-0.149,0.027-0.305,0.154-0.392l0.95-0.65c-0.009-0.115-0.014-0.231-0.014-0.349
	s0.005-0.232,0.014-0.348l-0.95-0.65c-0.127-0.087-0.188-0.242-0.154-0.393c0.087-0.382,0.203-0.745,0.346-1.078
	c0.061-0.143,0.19-0.232,0.354-0.228l1.158,0.032c0.122-0.193,0.259-0.38,0.408-0.557l-0.387-1.088
	c-0.051-0.145-0.009-0.306,0.106-0.408c0.285-0.25,0.594-0.474,0.917-0.666c0.133-0.078,0.299-0.068,0.421,0.025l0.913,0.702
	c0.219-0.088,0.439-0.161,0.659-0.216l0.326-1.105c0.043-0.147,0.172-0.253,0.325-0.268c0.371-0.035,0.758-0.035,1.132,0
	c0.153,0.014,0.282,0.12,0.325,0.268l0.326,1.104c0.22,0.056,0.44,0.128,0.659,0.217l0.914-0.702
	c0.121-0.094,0.288-0.104,0.421-0.024c0.325,0.194,0.633,0.418,0.916,0.666c0.116,0.101,0.158,0.263,0.106,0.408l-0.387,1.088
	c0.149,0.177,0.286,0.363,0.408,0.557l1.158-0.032c0.137-0.004,0.294,0.085,0.354,0.228c0.144,0.334,0.26,0.696,0.347,1.078
	c0.034,0.149-0.027,0.306-0.154,0.393l-0.95,0.65c0.009,0.115,0.013,0.23,0.013,0.348s-0.004,0.233-0.013,0.349l0.95,0.65
	c0.127,0.087,0.188,0.242,0.154,0.393c-0.087,0.383-0.203,0.745-0.347,1.077c-0.062,0.141-0.214,0.228-0.354,0.227l-1.158-0.032
	c-0.121,0.193-0.258,0.38-0.408,0.559l0.387,1.088c0.052,0.146,0.01,0.307-0.106,0.408c-0.283,0.248-0.592,0.472-0.916,0.666
	c-0.132,0.08-0.299,0.07-0.421-0.024L25.67,23.8c-0.215,0.087-0.436,0.159-0.659,0.217l-0.326,1.106
	c-0.044,0.148-0.174,0.254-0.328,0.268C24.171,25.406,23.983,25.418,23.794,25.418z M23.548,24.661c0.162,0.008,0.328,0.008,0.491,0
	l0.314-1.067c0.039-0.133,0.148-0.232,0.284-0.261c0.317-0.065,0.631-0.169,0.93-0.306c0.125-0.061,0.273-0.043,0.385,0.044
	l0.882,0.677c0.137-0.091,0.271-0.188,0.399-0.29l-0.374-1.05c-0.046-0.132-0.017-0.277,0.078-0.38
	c0.225-0.245,0.419-0.51,0.576-0.788c0.068-0.121,0.191-0.206,0.337-0.19l1.115,0.031c0.056-0.15,0.105-0.306,0.149-0.468
	l-0.919-0.629c-0.115-0.079-0.177-0.216-0.16-0.355c0.02-0.159,0.03-0.321,0.03-0.486s-0.011-0.326-0.03-0.485
	c-0.017-0.139,0.045-0.276,0.16-0.355l0.919-0.629c-0.044-0.162-0.094-0.318-0.149-0.47l-1.115,0.031
	c-0.143-0.006-0.268-0.069-0.337-0.189c-0.158-0.279-0.352-0.544-0.576-0.787c-0.095-0.102-0.124-0.248-0.078-0.38l0.374-1.049
	c-0.129-0.103-0.262-0.199-0.399-0.29l-0.882,0.677c-0.11,0.084-0.258,0.101-0.383,0.044c-0.309-0.14-0.622-0.242-0.931-0.305
	c-0.136-0.028-0.246-0.128-0.285-0.262l-0.314-1.067c-0.164-0.009-0.328-0.008-0.491,0l-0.314,1.067
	c-0.039,0.133-0.149,0.234-0.285,0.262c-0.309,0.063-0.622,0.165-0.931,0.305c-0.128,0.055-0.274,0.04-0.384-0.044l-0.881-0.677
	c-0.137,0.09-0.271,0.188-0.398,0.29l0.373,1.05c0.046,0.132,0.017,0.277-0.078,0.38c-0.224,0.243-0.418,0.508-0.577,0.787
	c-0.067,0.12-0.204,0.18-0.336,0.189l-1.115-0.031c-0.056,0.15-0.105,0.308-0.148,0.47l0.918,0.629
	c0.115,0.079,0.178,0.216,0.16,0.354c-0.019,0.159-0.03,0.321-0.03,0.486s0.012,0.327,0.031,0.487
	c0.017,0.139-0.046,0.275-0.161,0.354l-0.919,0.629c0.044,0.162,0.094,0.318,0.149,0.468l1.115-0.031
	c0.135-0.012,0.269,0.069,0.337,0.189c0.158,0.279,0.352,0.544,0.577,0.789c0.094,0.103,0.123,0.249,0.077,0.38l-0.373,1.05
	c0.128,0.102,0.262,0.199,0.399,0.29l0.88-0.677c0.11-0.085,0.259-0.103,0.385-0.044c0.3,0.137,0.613,0.24,0.932,0.306
	c0.135,0.028,0.244,0.128,0.283,0.261L23.548,24.661z M23.794,22.306c-1.744,0-3.163-1.419-3.163-3.162
	c0-1.744,1.419-3.163,3.163-3.163c1.743,0,3.162,1.419,3.162,3.163C26.956,20.887,25.537,22.306,23.794,22.306z M23.794,16.73
	c-1.33,0-2.413,1.082-2.413,2.413c0,1.33,1.083,2.412,2.413,2.412s2.412-1.082,2.412-2.412C26.206,17.813,25.124,16.73,23.794,16.73
	z"/>
</svg>
PK�^�\��k�		-litespeed-cache/assets/img/icons/img_webp.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
<circle fill="none" cx="15" cy="15.894" r="5.317"/>
<path fill="#83B04A" d="M8.71,5.417H4.312V5.124c0-0.608,0.492-1.101,1.1-1.101h2.198c0.607,0,1.101,0.492,1.101,1.101V5.417z
	 M29.481,8.01v15.766c0,1.217-0.984,2.201-2.199,2.201H2.719c-1.215,0-2.2-0.984-2.2-2.201V8.01c0-1.215,0.985-2.2,2.2-2.2h17.311
	l0.06,0.041l-0.596,0.408c-0.273,0.188-0.392,0.539-0.288,0.85c0.096,0.296,0.368,0.5,0.733,0.519l0.722-0.021l-0.241,0.679
	c-0.111,0.312-0.001,0.665,0.266,0.858c0.128,0.093,0.28,0.143,0.439,0.143c0.162,0,0.323-0.053,0.458-0.155l0.57-0.439l0.205,0.695
	c0.097,0.319,0.386,0.534,0.719,0.534s0.622-0.215,0.72-0.538L24,8.691l0.574,0.442c0.13,0.098,0.291,0.152,0.454,0.152
	c0.158,0,0.31-0.048,0.442-0.143c0.266-0.194,0.374-0.547,0.264-0.857l-0.241-0.68l0.752,0.021c0.336-0.012,0.605-0.212,0.701-0.514
	c0.104-0.314-0.014-0.665-0.288-0.854L26.063,5.85l0.06-0.041h1.159C28.497,5.81,29.481,6.795,29.481,8.01z M20.317,15.894
	c0-2.937-2.38-5.317-5.317-5.317c-2.936,0-5.316,2.381-5.316,5.317s2.381,5.317,5.316,5.317
	C17.938,21.211,20.317,18.83,20.317,15.894z M26.376,6.67c0.091,0.063,0.131,0.178,0.096,0.283
	c-0.033,0.105-0.121,0.168-0.244,0.173l-1.45-0.041l0.486,1.367c0.037,0.104,0.001,0.221-0.088,0.286
	c-0.09,0.064-0.212,0.063-0.3-0.004L23.727,7.85l-0.41,1.392c-0.032,0.106-0.13,0.179-0.24,0.179s-0.208-0.073-0.24-0.179
	l-0.41-1.392l-1.148,0.885c-0.089,0.066-0.211,0.068-0.299,0.004c-0.09-0.065-0.126-0.182-0.089-0.286l0.486-1.367l-1.451,0.041
	c-0.114-0.006-0.21-0.067-0.244-0.173c-0.035-0.105,0.005-0.221,0.096-0.283l1.197-0.82l-0.06-0.041l-1.138-0.78
	c-0.091-0.063-0.131-0.178-0.096-0.283c0.034-0.105,0.132-0.163,0.244-0.173l1.451,0.041L20.89,3.248
	c-0.037-0.104-0.001-0.221,0.089-0.286c0.088-0.065,0.21-0.063,0.299,0.004l1.148,0.884l0.41-1.392c0.064-0.213,0.416-0.213,0.48,0
	l0.41,1.392l1.149-0.885c0.088-0.068,0.21-0.069,0.3-0.004c0.089,0.065,0.125,0.182,0.088,0.286l-0.486,1.366l1.45-0.04
	c0.121,0.008,0.211,0.067,0.244,0.173c0.035,0.105-0.005,0.221-0.096,0.283l-1.138,0.78l-0.06,0.041L26.376,6.67z M25.393,6.603
	l-0.798-0.547c-0.067-0.046-0.108-0.124-0.108-0.206c0-0.014,0.008-0.027,0.01-0.041c0.012-0.066,0.043-0.127,0.099-0.166
	l0.798-0.547l-0.967,0.027c-0.069,0.017-0.16-0.036-0.209-0.103s-0.061-0.153-0.033-0.231l0.324-0.911l-0.766,0.589
	c-0.064,0.051-0.15,0.066-0.229,0.04c-0.078-0.025-0.14-0.088-0.163-0.167l-0.273-0.929l-0.273,0.929
	c-0.023,0.079-0.085,0.142-0.163,0.167c-0.078,0.026-0.164,0.012-0.229-0.04L21.646,3.88l0.324,0.91
	c0.027,0.078,0.016,0.164-0.033,0.231c-0.048,0.066-0.142,0.101-0.209,0.103L20.76,5.097l0.798,0.547
	c0.056,0.039,0.087,0.1,0.099,0.166c0.002,0.014,0.01,0.026,0.01,0.041c0,0.083-0.041,0.16-0.108,0.206L20.76,6.603l0.968-0.027
	c0.086,0,0.161,0.037,0.209,0.103c0.049,0.067,0.061,0.153,0.033,0.231l-0.324,0.91l0.765-0.589
	c0.044-0.034,0.098-0.052,0.152-0.052c0.026,0,0.052,0.004,0.077,0.012c0.078,0.025,0.14,0.088,0.163,0.167l0.273,0.929l0.273-0.929
	c0.023-0.079,0.085-0.142,0.163-0.167c0.079-0.024,0.165-0.011,0.229,0.04l0.766,0.589l-0.324-0.91
	c-0.027-0.078-0.016-0.164,0.033-0.231c0.048-0.067,0.121-0.122,0.209-0.103L25.393,6.603z"/>
</svg>
PK�^�\�Z��DD.litespeed-cache/assets/img/icons/purge-403.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M30.075,34.094H28.1v-9.829c0-0.138-0.112-0.25-0.25-0.25h-1.805c-0.082,0-0.158,0.04-0.205,0.106
		l-7.116,10.142c-0.03,0.042-0.045,0.092-0.045,0.144v1.486c0,0.138,0.112,0.25,0.25,0.25h7.041v3.195c0,0.138,0.112,0.25,0.25,0.25
		h1.63c0.138,0,0.25-0.112,0.25-0.25v-3.195h1.975c0.138,0,0.25-0.112,0.25-0.25v-1.549C30.325,34.206,30.213,34.094,30.075,34.094z
		 M25.97,29.361v4.732h-4.857l4.413-6.275c0.16-0.241,0.328-0.517,0.5-0.826C25.988,27.85,25.97,28.644,25.97,29.361z"/>
	<path fill="#6699CC" d="M40.443,37.76c0.839-1.313,1.264-3.31,1.264-5.938c0-2.539-0.439-4.513-1.305-5.867
		c-0.891-1.389-2.209-2.094-3.918-2.094c-1.751,0-3.074,0.677-3.933,2.011c-0.836,1.3-1.26,3.301-1.26,5.95
		c0,2.566,0.438,4.548,1.301,5.892c0.886,1.379,2.195,2.079,3.892,2.079C38.248,39.793,39.58,39.109,40.443,37.76z M38.726,36.452
		c-0.467,0.925-1.2,1.375-2.242,1.375c-1.029,0-1.758-0.443-2.229-1.356c-0.492-0.955-0.741-2.519-0.741-4.648
		c0-2.131,0.25-3.691,0.741-4.638c0.47-0.906,1.199-1.347,2.229-1.347c1.042,0,1.776,0.447,2.243,1.365
		c0.489,0.961,0.737,2.515,0.737,4.619C39.464,33.925,39.216,35.483,38.726,36.452z"/>
	<path fill="#6699CC" d="M53.068,27.874c0-1.234-0.438-2.222-1.301-2.936c-0.85-0.702-2.045-1.057-3.553-1.057
		c-0.913,0-1.794,0.145-2.619,0.43c-0.824,0.283-1.564,0.681-2.201,1.183c-0.107,0.084-0.127,0.238-0.046,0.346l0.861,1.148
		c0.078,0.105,0.224,0.131,0.335,0.061c0.723-0.463,1.371-0.785,1.928-0.956c0.556-0.169,1.155-0.255,1.783-0.255
		c0.798,0,1.432,0.191,1.886,0.567c0.446,0.37,0.663,0.871,0.663,1.53c0,0.84-0.303,1.478-0.926,1.949
		c-0.636,0.48-1.521,0.723-2.629,0.723h-1.496c-0.138,0-0.25,0.112-0.25,0.25v1.467c0,0.138,0.112,0.25,0.25,0.25h1.477
		c2.715,0,4.035,0.811,4.035,2.478c0,1.881-1.189,2.796-3.636,2.796c-0.635,0-1.318-0.083-2.031-0.246
		c-0.713-0.162-1.393-0.402-2.021-0.713c-0.077-0.038-0.17-0.034-0.243,0.012s-0.118,0.126-0.118,0.212v1.619
		c0,0.096,0.055,0.184,0.141,0.225c0.639,0.311,1.308,0.529,1.987,0.652c0.669,0.122,1.417,0.184,2.224,0.184
		c1.873,0,3.346-0.405,4.378-1.206c1.051-0.815,1.583-1.991,1.583-3.494c0-1.06-0.316-1.932-0.939-2.592
		c-0.466-0.493-1.12-0.849-1.951-1.062c0.637-0.243,1.16-0.595,1.563-1.051C52.776,29.735,53.068,28.889,53.068,27.874z"/>
	<path fill="#6699CC" d="M17.361,5h-0.05c-0.483,0-0.85,0.392-0.85,0.875s0.417,0.875,0.9,0.875c0.483,0,0.875-0.392,0.875-0.875
		S17.845,5,17.361,5z"/>
	<path fill="#6699CC" d="M20.898,5h-0.086c-0.483,0-0.832,0.392-0.832,0.875s0.435,0.875,0.918,0.875s0.875-0.392,0.875-0.875
		S21.382,5,20.898,5z"/>
	<path fill="#6699CC" d="M24.398,5h-0.05c-0.483,0-0.85,0.392-0.85,0.875s0.417,0.875,0.9,0.875s0.875-0.392,0.875-0.875
		S24.882,5,24.398,5z"/>
	<path fill="#6699CC" d="M37.626,59.27c0,5.621,4.574,10.195,10.196,10.195c5.623,0,10.197-4.574,10.197-10.195
		c0-5.623-4.574-10.197-10.197-10.197C42.2,49.07,37.626,53.646,37.626,59.27z M56.27,59.27c0,4.656-3.789,8.445-8.446,8.445
		s-8.446-3.789-8.446-8.445c0-4.658,3.789-8.447,8.446-8.447C52.48,50.82,56.27,54.609,56.27,59.27z"/>
	<path fill="#6699CC" d="M42.833,64.257c0.171,0.171,0.396,0.257,0.619,0.257c0.223,0,0.448-0.086,0.618-0.257l3.753-3.752
		l3.752,3.752c0.171,0.171,0.396,0.257,0.618,0.257c0.224,0,0.449-0.086,0.619-0.257c0.342-0.342,0.342-0.896,0-1.237l-3.752-3.752
		l3.752-3.752c0.342-0.343,0.342-0.896,0-1.238s-0.896-0.342-1.237,0l-3.752,3.752l-3.753-3.752c-0.342-0.342-0.896-0.342-1.237,0
		c-0.341,0.342-0.341,0.896,0,1.238l3.752,3.752l-3.752,3.752C42.492,63.361,42.492,63.915,42.833,64.257z"/>
	<path fill="#6699CC" d="M62.77,13.878c-0.041-0.079-0.082-0.158-0.148-0.225L50.535,1.569c-0.004-0.003-0.01-0.004-0.012-0.008
		c-0.08-0.076-0.17-0.138-0.272-0.181c-0.106-0.044-0.222-0.067-0.335-0.067H14.812c-1.585,0-2.875,1.29-2.875,2.875v66.625
		c0,1.586,1.29,2.875,2.875,2.875h45.377c1.584,0,2.875-1.289,2.875-2.875v-56.29C63.063,14.265,62.947,14.039,62.77,13.878z
		 M50.791,4.3l9.348,9.348h-8.223c-0.62,0-1.125-0.505-1.125-1.125V4.3z M13.687,4.188c0-0.621,0.504-1.125,1.125-1.125h34.229
		v6.126H13.687V4.188z M61.313,70.813c0,0.621-0.504,1.125-1.125,1.125H14.812c-0.62,0-1.125-0.504-1.125-1.125V10.938h35.354v1.584
		c0,1.585,1.29,2.875,2.875,2.875h9.396V70.813z"/>
</g>
</svg>
PK�^�\]��`��1litespeed-cache/assets/img/icons/purge-object.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M56.841,27.021h-2.944l3.079-8.461c0.108-0.299,0.047-0.634-0.162-0.874l-7.001-8.046
		c-0.019-0.021-0.042-0.036-0.063-0.055c-0.033-0.032-0.065-0.065-0.104-0.091c-0.017-0.011-0.035-0.018-0.053-0.029
		c-0.049-0.028-0.098-0.056-0.15-0.075c-0.01-0.003-0.02-0.004-0.029-0.007c-0.062-0.02-0.124-0.035-0.189-0.04
		c-0.02-0.002-0.04,0.002-0.06,0.001c-0.05,0-0.1-0.003-0.149,0.005L38.48,11.014c-0.314,0.05-0.577,0.266-0.686,0.565
		l-3.846,10.563c-0.027,0.075-0.043,0.152-0.049,0.229c0,0.003,0,0.006,0,0.01c-0.005,0.073-0.001,0.146,0.012,0.217
		c0.003,0.017,0.011,0.032,0.015,0.048c0.014,0.058,0.03,0.114,0.056,0.168c0.01,0.021,0.025,0.038,0.036,0.058
		c0.024,0.042,0.045,0.084,0.076,0.123c0.003,0.003,0.008,0.005,0.011,0.008c0.003,0.004,0.005,0.01,0.009,0.014l3.515,4.003h-0.583
		l-3.372-3.876c-0.021-0.025-0.049-0.042-0.073-0.064c-0.03-0.027-0.057-0.057-0.09-0.08c-0.028-0.02-0.06-0.032-0.089-0.048
		c-0.037-0.02-0.072-0.041-0.11-0.055c-0.027-0.01-0.056-0.013-0.084-0.02c-0.045-0.012-0.089-0.024-0.136-0.029
		c-0.029-0.002-0.06,0.002-0.089,0.002c-0.042,0.001-0.083-0.003-0.125,0.004L22.34,24.521c-0.314,0.05-0.577,0.266-0.686,0.565
		l-0.705,1.936h-2.79c-1.549,0-2.809,1.26-2.809,2.809c0,0.034,0.002,0.068,0.006,0.103l4.831,40.993
		c0.03,1.523,1.278,2.753,2.808,2.753h29.007c1.53,0,2.778-1.229,2.808-2.753l4.833-40.993c0.004-0.034,0.006-0.068,0.006-0.103
		C59.649,28.281,58.39,27.021,56.841,27.021z M52.035,27.021h-0.145l-5.603-6.378l2.925-8.036l0.254-0.698l5.688,6.537
		L52.035,27.021z M39.262,12.662l8.561-1.351l-0.254,0.698l-2.925,8.036l-8.545,1.309L39.262,12.662z M36.483,23.064l8.464-1.296
		l1.982,2.257l2.631,2.996h-9.604L36.483,23.064z M33.264,25.588l0.063-0.174l1.398,1.607h-1.983L33.264,25.588z M23.123,26.168
		l8.56-1.353l-0.544,1.494l-0.259,0.712h-8.067L23.123,26.168z M53.067,70.768c-0.004,0.034-0.006,0.068-0.006,0.103
		c0,0.584-0.475,1.059-1.059,1.059H22.996c-0.583,0-1.059-0.475-1.059-1.059c0-0.034-0.002-0.068-0.006-0.103l-4.829-40.981
		c0.023-0.563,0.489-1.015,1.058-1.015h3.402h9.93h5.154h2.914h11.934h1.153h4.193c0.569,0,1.034,0.451,1.058,1.015L53.067,70.768z"
		/>
	<path fill="#6699CC" d="M28.884,63.444c-0.48,0.054-0.826,0.486-0.772,0.967l0.326,2.908c0.05,0.447,0.429,0.777,0.869,0.777
		c0.032,0,0.065-0.002,0.099-0.006c0.48-0.054,0.826-0.486,0.772-0.967l-0.326-2.908C29.797,63.735,29.364,63.382,28.884,63.444z"/>
	<path fill="#6699CC" d="M26.532,42.486c0.48-0.054,0.826-0.486,0.772-0.967l-0.759-6.771c-0.054-0.479-0.479-0.819-0.967-0.772
		c-0.48,0.054-0.826,0.487-0.772,0.967l0.759,6.771c0.05,0.447,0.429,0.777,0.869,0.777C26.466,42.492,26.499,42.49,26.532,42.486z"
		/>
	<path fill="#6699CC" d="M46.116,63.446c-0.485-0.057-0.914,0.291-0.967,0.771l-0.326,2.906c-0.055,0.48,0.291,0.913,0.771,0.967
		c0.033,0.004,0.066,0.006,0.099,0.006c0.439,0,0.818-0.33,0.868-0.777l0.326-2.906C46.942,63.933,46.597,63.5,46.116,63.446z"/>
	<path fill="#6699CC" d="M49.421,33.976c-0.488-0.052-0.913,0.292-0.967,0.772l-0.732,6.525c-0.055,0.48,0.291,0.913,0.771,0.967
		c0.033,0.004,0.066,0.006,0.099,0.006c0.439,0,0.818-0.33,0.868-0.777l0.732-6.525C50.247,34.463,49.901,34.03,49.421,33.976z"/>
	<path fill="#6699CC" d="M37.306,64.894c-0.483,0-0.875,0.392-0.875,0.875v1.453c0,0.483,0.392,0.875,0.875,0.875
		s0.875-0.392,0.875-0.875v-1.453C38.181,65.285,37.789,64.894,37.306,64.894z"/>
	<path fill="#6699CC" d="M37.306,37.75c0.483,0,0.875-0.392,0.875-0.875v-2.029c0-0.483-0.392-0.875-0.875-0.875
		s-0.875,0.392-0.875,0.875v2.029C36.431,37.358,36.822,37.75,37.306,37.75z"/>
	<path fill="#6699CC" d="M37.5,40.496c-6.108,0-11.078,4.97-11.078,11.079c0,6.108,4.97,11.078,11.078,11.078
		c6.109,0,11.079-4.97,11.079-11.078C48.578,45.466,43.608,40.496,37.5,40.496z M37.5,60.903c-5.144,0-9.328-4.185-9.328-9.328
		c0-5.145,4.185-9.329,9.328-9.329c5.144,0,9.329,4.185,9.329,9.329C46.828,56.719,42.644,60.903,37.5,60.903z"/>
	<path fill="#6699CC" d="M42.904,46.171c-0.342-0.342-0.896-0.342-1.238,0L37.5,50.336l-4.166-4.165
		c-0.342-0.342-0.896-0.342-1.237,0s-0.342,0.896,0,1.238l4.165,4.165l-4.165,4.165c-0.342,0.342-0.342,0.896,0,1.238
		c0.171,0.171,0.395,0.256,0.619,0.256s0.448-0.085,0.619-0.256l4.166-4.165l4.166,4.165c0.171,0.171,0.396,0.256,0.619,0.256
		s0.448-0.085,0.619-0.256c0.341-0.342,0.341-0.896,0-1.238l-4.165-4.165l4.165-4.165C43.245,47.067,43.245,46.513,42.904,46.171z"
		/>
	<path fill="#6699CC" d="M21.312,23.8c0.167,0.191,0.408,0.298,0.658,0.298c0.044,0,0.088-0.003,0.132-0.01l10.519-1.611
		c0.004,0,0.007-0.002,0.011-0.003c0.006-0.001,0.012-0.001,0.019-0.002c0.041-0.007,0.077-0.025,0.115-0.038
		c0.03-0.01,0.062-0.017,0.091-0.03c0.042-0.02,0.08-0.047,0.118-0.073c0.024-0.017,0.052-0.029,0.074-0.048
		c0.038-0.032,0.069-0.071,0.102-0.109c0.017-0.02,0.038-0.037,0.053-0.059c0.044-0.063,0.081-0.131,0.107-0.205l3.845-10.564
		c0.109-0.299,0.047-0.634-0.162-0.874L29.99,2.426c-0.023-0.026-0.052-0.045-0.077-0.068c-0.028-0.025-0.054-0.054-0.085-0.075
		c-0.034-0.023-0.071-0.039-0.108-0.058c-0.031-0.015-0.059-0.034-0.091-0.045c-0.036-0.013-0.073-0.018-0.11-0.026
		c-0.037-0.008-0.072-0.02-0.11-0.023c-0.035-0.003-0.071,0.001-0.106,0.003c-0.036,0.001-0.072-0.003-0.108,0.003L18.66,3.799
		c-0.314,0.05-0.577,0.266-0.686,0.565l-3.845,10.563c-0.027,0.075-0.043,0.153-0.049,0.23c0,0.005,0,0.009,0,0.014
		c-0.005,0.071-0.001,0.143,0.011,0.213c0.004,0.021,0.014,0.041,0.019,0.062c0.014,0.052,0.027,0.104,0.05,0.153
		c0.013,0.027,0.031,0.05,0.047,0.075c0.021,0.036,0.039,0.074,0.066,0.107c0.002,0.003,0.007,0.004,0.009,0.007
		c0.004,0.005,0.006,0.011,0.011,0.016L21.312,23.8z M22.311,22.285l-5.648-6.435l8.462-1.297l5.651,6.435L22.311,22.285z
		 M32.171,19.924l-2.026-2.306l-3.679-4.189l3.178-8.734l5.69,6.538L32.171,19.924z M19.442,5.447L28,4.096l-3.178,8.734
		l-8.543,1.309L19.442,5.447z"/>
</g>
</svg>
PK�^�\�t�b��0litespeed-cache/assets/img/icons/purge-cssjs.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M47.673,48.495c-5.733,0-10.4,4.666-10.4,10.401c0,5.733,4.667,10.398,10.4,10.398
		c5.735,0,10.401-4.665,10.401-10.398C58.074,53.161,53.408,48.495,47.673,48.495z M47.673,67.546c-4.771,0-8.649-3.88-8.649-8.649
		c0-4.771,3.881-8.65,8.649-8.65c4.771,0,8.651,3.881,8.651,8.65S52.443,67.546,47.673,67.546z"/>
	<path fill="#6699CC" d="M52.758,53.811c-0.34-0.343-0.896-0.341-1.236,0l-3.848,3.848l-3.847-3.848
		c-0.343-0.343-0.897-0.343-1.237,0c-0.342,0.342-0.343,0.896-0.001,1.236l3.849,3.85l-3.849,3.849
		c-0.342,0.341-0.341,0.896,0.001,1.237c0.17,0.17,0.395,0.256,0.618,0.256s0.448-0.086,0.619-0.256l3.847-3.849l3.848,3.849
		c0.17,0.17,0.396,0.256,0.619,0.256c0.223,0,0.447-0.086,0.617-0.256c0.342-0.342,0.344-0.896,0.001-1.237l-3.848-3.849l3.848-3.85
		C53.102,54.706,53.1,54.15,52.758,53.811z"/>
	<path fill="#6699CC" d="M64.165,17.493c-0.044-0.117-0.108-0.228-0.205-0.32l-9.576-9.197c-0.03-0.029-0.067-0.041-0.102-0.064
		c-0.058-0.042-0.111-0.087-0.179-0.114c-0.076-0.031-0.156-0.04-0.236-0.048c-0.031-0.003-0.059-0.018-0.09-0.018h-0.015
		c-0.003,0-0.005,0-0.007,0h-3.189c-0.029-0.041-0.047-0.088-0.086-0.124l-5.531-5.314c-0.03-0.029-0.067-0.04-0.102-0.064
		c-0.058-0.042-0.111-0.087-0.18-0.114c-0.072-0.03-0.148-0.037-0.227-0.046c-0.034-0.004-0.064-0.02-0.101-0.02h-0.016
		c-0.001,0-0.002,0-0.004,0H12.917c-1.451,0-2.632,1.18-2.632,2.631v59.231c0,1.449,1.181,2.631,2.632,2.631h4.382v4.909
		c0,1.479,1.205,2.685,2.685,2.685h41.583c1.479,0,2.684-1.203,2.684-2.685V17.857C64.25,17.726,64.217,17.604,64.165,17.493z
		 M54.652,10.661l6.574,6.314l-6.574-0.023V10.661z M45.218,4.979l2.866,2.753h-2.866V4.979z M12.917,64.793
		c-0.486,0-0.882-0.396-0.882-0.881V4.681c0-0.486,0.396-0.881,0.882-0.881h30.551v3.932H19.984c-1.48,0-2.685,1.205-2.685,2.686
		v54.375H12.917z M62.5,71.452c0,0.516-0.419,0.935-0.934,0.935H19.984c-0.516,0-0.935-0.419-0.935-0.935V10.417
		c0-0.516,0.419-0.936,0.935-0.936h32.918v7.469c0,0.982,0.798,1.781,1.779,1.781H62.5V71.452z"/>
	<path fill="#6699CC" d="M28.199,23.273c-0.715,0.622-1.073,1.868-1.073,3.739v3.275c0,1.27-0.229,2.15-0.686,2.641
		c-0.457,0.491-1.287,0.736-2.488,0.736h-0.774v1.333h0.774c1.202,0,2.031,0.246,2.488,0.736c0.457,0.49,0.686,1.371,0.686,2.641
		v3.274c0,1.871,0.357,3.119,1.073,3.746c0.716,0.625,2.126,0.938,4.234,0.938h0.787V45h-0.863c-1.193,0-1.972-0.188-2.336-0.559
		c-0.364-0.373-0.546-1.155-0.546-2.35V38.45c0-1.329-0.208-2.277-0.622-2.844s-1.181-0.995-2.298-1.282
		c1.1-0.254,1.862-0.668,2.285-1.244s0.635-1.532,0.635-2.869v-3.644c0-1.193,0.182-1.976,0.546-2.349s1.143-0.559,2.336-0.559
		h0.863v-1.32h-0.787C30.326,22.34,28.915,22.651,28.199,23.273z"/>
	<path fill="#6699CC" d="M38.425,43.136c0.091,0,0.181-0.024,0.263-0.073c1.3-0.803,2.289-1.768,2.94-2.869
		c0.653-1.102,1.021-2.433,1.092-3.958c0.007-0.136-0.043-0.27-0.138-0.369c-0.094-0.099-0.225-0.155-0.361-0.155H39.72
		c-0.276,0-0.5,0.224-0.5,0.5v0.47c0,1.045-0.172,1.941-0.511,2.662c-0.335,0.713-0.873,1.342-1.596,1.873
		c-0.118,0.088-0.191,0.221-0.203,0.365c-0.012,0.145,0.042,0.288,0.145,0.393l1.016,1.016
		C38.168,43.086,38.296,43.136,38.425,43.136z M39.614,39.77c0.398-0.848,0.603-1.875,0.605-3.058h1.464
		c-0.113,1.14-0.422,2.138-0.916,2.972c-0.513,0.867-1.276,1.646-2.273,2.313l-0.336-0.335
		C38.794,41.109,39.282,40.475,39.614,39.77z"/>
	<path fill="#6699CC" d="M40.914,31.685c0.609,0,1.132-0.214,1.553-0.635c0.422-0.421,0.637-0.944,0.637-1.554
		c0-0.6-0.213-1.119-0.634-1.544c-0.842-0.853-2.264-0.854-3.108-0.009c-0.422,0.422-0.635,0.944-0.635,1.553
		s0.213,1.131,0.635,1.554C39.782,31.471,40.307,31.685,40.914,31.685z M40.066,28.65c0.233-0.234,0.504-0.343,0.848-0.343
		c0.338,0,0.613,0.113,0.844,0.347c0.231,0.235,0.346,0.51,0.346,0.842c0,0.344-0.108,0.612-0.344,0.846
		c-0.464,0.464-1.229,0.464-1.691,0c-0.229-0.23-0.342-0.507-0.342-0.846S39.838,28.88,40.066,28.65z"/>
	<path fill="#6699CC" d="M54.563,27.012c0-1.871-0.354-3.117-1.062-3.739c-0.706-0.622-2.113-0.933-4.221-0.933h-0.8v1.32h0.889
		c1.185,0,1.957,0.184,2.316,0.552s0.539,1.153,0.539,2.355v3.644c0,1.337,0.209,2.293,0.629,2.869
		c0.418,0.576,1.179,0.99,2.278,1.244c-1.108,0.288-1.871,0.715-2.284,1.282c-0.416,0.567-0.623,1.515-0.623,2.844v3.644
		c0,1.202-0.18,1.986-0.539,2.355c-0.359,0.367-1.133,0.552-2.316,0.552H48.48v1.333h0.8c2.106,0,3.515-0.313,4.221-0.939
		c0.707-0.625,1.062-1.875,1.062-3.744v-3.275c0-1.27,0.229-2.15,0.686-2.641c0.457-0.491,1.286-0.736,2.488-0.736h0.787v-1.333
		h-0.787c-1.202,0-2.031-0.246-2.488-0.736c-0.457-0.49-0.686-1.371-0.686-2.641V27.012z"/>
</g>
</svg>
PK�^�\��ytt2litespeed-cache/assets/img/icons/purge-opcache.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	
		<path fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
		M52.641,66.489"/>
</g>
<g>
	
		<path fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
		M57.921,65.491"/>
</g>
<g>
	<g>
		
			<path fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
			M53.936,70.87c0,1.066-0.863,1.934-1.934,1.934H22.996c-1.067,0-1.934-0.867-1.934-1.934l-4.836-41.04
			c0-1.068,0.865-1.934,1.934-1.934h38.68c1.066,0,1.934,0.865,1.934,1.934L53.936,70.87z"/>
		<g>
			
				<line fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="28.981" y1="64.313" x2="29.308" y2="67.222"/>
			
				<line fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="25.676" y1="34.846" x2="26.435" y2="41.617"/>
			
				<line fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="46.018" y1="64.315" x2="45.691" y2="67.222"/>
			
				<line fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="49.322" y1="34.846" x2="48.59" y2="41.371"/>
			
				<line fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="37.306" y1="65.769" x2="37.306" y2="67.222"/>
			
				<line fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="37.306" y1="34.846" x2="37.306" y2="36.875"/>
		</g>
	</g>
</g>
<g>
	
		<circle fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="37.5" cy="51.575" r="10.203"/>
	<g>
		
			<line fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="32.717" y1="46.79" x2="42.285" y2="56.358"/>
		
			<line fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="32.717" y1="56.358" x2="42.285" y2="46.79"/>
	</g>
</g>
<g>
	<g>
		<path fill="#21A0DF" stroke="#21A0DF" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M30.396,27.369
			l-3.276-7.024l2.402-1.121c2.317-1.08,3.895-0.719,4.733,1.081c0.438,0.939,0.455,1.809,0.05,2.612
			c-0.405,0.803-1.203,1.481-2.396,2.039l-1.089,0.508l0.857,1.838 M30.39,24.54l0.97-0.453c0.955-0.445,1.573-0.922,1.857-1.429
			c0.282-0.508,0.265-1.101-0.052-1.781c-0.286-0.613-0.699-0.976-1.24-1.089c-0.543-0.112-1.237,0.029-2.086,0.425l-1.204,0.562
			L30.39,24.54z"/>
		<path fill="#21A0DF" stroke="#21A0DF" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M46.293,22.687
			l-1.076,0.502l-2.033-4.36l-4.883,2.276l2.034,4.361l-1.078,0.501L34.936,16.7l1.078-0.502l1.839,3.943l4.88-2.276l-1.838-3.943
			l1.076-0.501L46.293,22.687z"/>
		<path fill="#21A0DF" stroke="#21A0DF" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M51.648,12.196
			c0.436,0.938,0.454,1.808,0.049,2.611c-0.406,0.804-1.203,1.483-2.395,2.039l-1.09,0.509L49.911,21l-1.076,0.502l-4.322-9.266
			l2.401-1.121C49.23,10.036,50.809,10.396,51.648,12.196z M47.781,16.43l0.969-0.453c0.954-0.445,1.574-0.921,1.857-1.429
			c0.281-0.506,0.266-1.101-0.053-1.781c-0.285-0.612-0.698-0.976-1.239-1.088c-0.542-0.112-1.237,0.029-2.087,0.425l-1.203,0.56
			L47.781,16.43z"/>
	</g>
	
		<path fill="none" stroke="#21A0DF" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
		M20.102,27.406c-0.618-4.872,5.762-11.804,15.299-16.251c10.491-4.893,20.834-4.923,23.098-0.07
		c2.069,4.442-3.342,11.436-12.312,16.34"/>
</g>
</svg>
PK�^�\�j/���1litespeed-cache/assets/img/icons/success_icon.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="20px" height="20px" viewBox="0 0 20 20" enable-background="new 0 0 20 20" xml:space="preserve">
<g id="Layer_1_1_" display="none">
	<path display="inline" fill="#E8AE4A" d="M10,0C4.477,0,0,4.478,0,10c0,5.521,4.477,10,10,10c5.521,0,10-4.479,10-10
		C20,4.478,15.521,0,10,0z M11.329,16.83c-0.362,0.361-0.804,0.545-1.313,0.545s-0.949-0.184-1.312-0.545
		c-0.361-0.362-0.544-0.805-0.544-1.313c0-0.509,0.18-0.951,0.537-1.316c0.357-0.363,0.802-0.551,1.318-0.551
		c0.512,0,0.953,0.184,1.313,0.543c0.359,0.361,0.542,0.808,0.542,1.324C11.871,16.027,11.688,16.468,11.329,16.83z M11.389,7.468
		l-0.535,2.207c-0.185,0.771-0.322,1.7-0.409,2.763c-0.01,0.111-0.104,0.198-0.216,0.198H9.783c-0.114,0-0.209-0.089-0.216-0.202
		c-0.046-0.754-0.201-1.683-0.46-2.759L8.58,7.467C8.257,6.115,8.099,5.169,8.099,4.572c0-0.576,0.177-1.049,0.527-1.406
		c0.351-0.358,0.813-0.541,1.37-0.541c0.543,0,1.004,0.183,1.363,0.544c0.358,0.36,0.541,0.822,0.541,1.373
		C11.9,5.077,11.734,6.033,11.389,7.468z"/>
</g>
<g id="Layer_1_copy_3" display="none">
	<path display="inline" fill="#4675B8" d="M10,0C4.477,0,0,4.478,0,10c0,5.521,4.477,10,10,10c5.521,0,10-4.479,10-10
		C20,4.478,15.521,0,10,0z M11.329,16.83c-0.362,0.361-0.804,0.545-1.313,0.545s-0.949-0.184-1.312-0.545
		c-0.361-0.362-0.544-0.805-0.544-1.313c0-0.509,0.18-0.951,0.537-1.316c0.357-0.363,0.802-0.551,1.318-0.551
		c0.512,0,0.953,0.184,1.313,0.543c0.359,0.361,0.542,0.808,0.542,1.324C11.871,16.027,11.688,16.468,11.329,16.83z M11.389,7.468
		l-0.535,2.207c-0.185,0.771-0.322,1.7-0.409,2.763c-0.01,0.111-0.104,0.198-0.216,0.198H9.783c-0.114,0-0.209-0.089-0.216-0.202
		c-0.046-0.754-0.201-1.683-0.46-2.759L8.58,7.467C8.257,6.115,8.099,5.169,8.099,4.572c0-0.576,0.177-1.049,0.527-1.406
		c0.351-0.358,0.813-0.541,1.37-0.541c0.543,0,1.004,0.183,1.363,0.544c0.358,0.36,0.541,0.822,0.541,1.373
		C11.9,5.077,11.734,6.033,11.389,7.468z"/>
</g>
<g id="Layer_1_copy" display="none">
	<path display="inline" fill="#A32430" d="M10,0C4.477,0,0,4.478,0,10c0,5.521,4.477,10,10,10c5.521,0,10-4.479,10-10
		C20,4.478,15.521,0,10,0z M15.159,13.764c0.187,0.188,0.288,0.437,0.288,0.697c0,0.262-0.102,0.51-0.288,0.695
		c-0.185,0.184-0.438,0.289-0.698,0.289c-0.262,0-0.518-0.105-0.697-0.291L10,11.393l-3.764,3.765c-0.361,0.36-1.033,0.36-1.393,0
		c-0.187-0.185-0.29-0.433-0.29-0.695s0.103-0.512,0.289-0.696l3.764-3.767L4.842,6.234c-0.385-0.384-0.385-1.01,0-1.394
		c0.359-0.361,1.032-0.361,1.394,0L10,8.604l3.766-3.765c0.356-0.359,1.033-0.361,1.395,0c0.188,0.185,0.288,0.433,0.288,0.697
		c0.001,0.264-0.103,0.511-0.288,0.697l-3.766,3.764L15.159,13.764z"/>
</g>
<g id="Layer_1_copy_2">
	<path fill="#3ABFBF" d="M10,0C4.477,0,0,4.478,0,10c0,5.521,4.477,10,10,10c5.521,0,10-4.479,10-10C20,4.478,15.521,0,10,0z
		 M15.458,6.018l-5.944,9.089c-0.031,0.048-0.07,0.088-0.115,0.121l-0.088,0.063c-0.03,0.021-0.063,0.04-0.097,0.053l-0.189,0.075
		c-0.048,0.019-0.1,0.03-0.152,0.032l-0.146,0.004c-0.005,0-0.009,0-0.014,0c-0.026,0-0.052-0.003-0.078-0.008l-0.309-0.096
		c-0.058-0.022-0.11-0.058-0.154-0.101c-0.025-0.017-0.077-0.056-0.099-0.074l-3.381-3.133c-0.185-0.171-0.295-0.405-0.307-0.661
		c-0.01-0.256,0.079-0.497,0.251-0.683c0.357-0.378,0.974-0.398,1.349-0.054l2.597,2.399l5.277-8.069
		c0.277-0.426,0.895-0.558,1.322-0.276c0.211,0.137,0.357,0.352,0.41,0.602C15.645,5.554,15.596,5.807,15.458,6.018z"/>
</g>
</svg>
PK�^�\"۔���.litespeed-cache/assets/img/icons/purge-404.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M30.075,34.093H28.1v-9.829c0-0.138-0.112-0.25-0.25-0.25h-1.805c-0.082,0-0.158,0.04-0.205,0.106
		l-7.116,10.142c-0.03,0.042-0.045,0.092-0.045,0.144v1.486c0,0.138,0.112,0.25,0.25,0.25h7.041v3.195c0,0.138,0.112,0.25,0.25,0.25
		h1.63c0.138,0,0.25-0.112,0.25-0.25v-3.195h1.975c0.138,0,0.25-0.112,0.25-0.25v-1.549C30.325,34.205,30.213,34.093,30.075,34.093z
		 M21.113,34.093l4.413-6.275c0.16-0.241,0.328-0.517,0.5-0.826c-0.037,0.857-0.056,1.651-0.056,2.369v4.732H21.113z"/>
	<path fill="#6699CC" d="M40.443,37.759c0.839-1.313,1.264-3.31,1.264-5.938c0-2.539-0.439-4.513-1.305-5.867
		c-0.891-1.389-2.209-2.094-3.918-2.094c-1.751,0-3.074,0.677-3.933,2.011c-0.836,1.3-1.26,3.301-1.26,5.95
		c0,2.566,0.438,4.548,1.301,5.892c0.886,1.379,2.195,2.079,3.892,2.079C38.248,39.792,39.58,39.108,40.443,37.759z M36.484,37.825
		c-1.029,0-1.758-0.443-2.229-1.356c-0.492-0.955-0.741-2.519-0.741-4.648c0-2.131,0.25-3.691,0.741-4.638
		c0.47-0.906,1.199-1.347,2.229-1.347c1.042,0,1.776,0.447,2.243,1.365c0.489,0.961,0.737,2.515,0.737,4.619
		c0,2.103-0.248,3.661-0.738,4.629C38.259,37.375,37.526,37.825,36.484,37.825z"/>
	<path fill="#6699CC" d="M50.061,24.014c-0.081,0-0.158,0.04-0.205,0.106l-7.117,10.142c-0.029,0.042-0.045,0.092-0.045,0.144v1.486
		c0,0.138,0.112,0.25,0.25,0.25h7.041v3.195c0,0.138,0.112,0.25,0.25,0.25h1.631c0.138,0,0.25-0.112,0.25-0.25v-3.195h1.975
		c0.138,0,0.25-0.112,0.25-0.25v-1.549c0-0.138-0.112-0.25-0.25-0.25h-1.975v-9.829c0-0.138-0.112-0.25-0.25-0.25H50.061z
		 M45.128,34.093l4.412-6.275c0.16-0.241,0.327-0.517,0.5-0.826c-0.037,0.857-0.056,1.651-0.056,2.369v4.732H45.128z"/>
	<path fill="#6699CC" d="M17.361,5h-0.05c-0.483,0-0.85,0.392-0.85,0.875s0.417,0.875,0.9,0.875c0.483,0,0.875-0.392,0.875-0.875
		S17.845,5,17.361,5z"/>
	<path fill="#6699CC" d="M20.898,5h-0.086c-0.483,0-0.832,0.392-0.832,0.875s0.435,0.875,0.918,0.875s0.875-0.392,0.875-0.875
		S21.382,5,20.898,5z"/>
	<path fill="#6699CC" d="M24.398,5h-0.05c-0.483,0-0.85,0.392-0.85,0.875s0.417,0.875,0.9,0.875s0.875-0.392,0.875-0.875
		S24.882,5,24.398,5z"/>
	<path fill="#6699CC" d="M37.626,59.27c0,5.621,4.574,10.195,10.196,10.195c5.623,0,10.197-4.574,10.197-10.195
		c0-5.623-4.574-10.197-10.197-10.197C42.2,49.07,37.626,53.646,37.626,59.27z M56.27,59.27c0,4.656-3.789,8.445-8.446,8.445
		s-8.446-3.789-8.446-8.445c0-4.658,3.789-8.447,8.446-8.447C52.48,50.82,56.27,54.609,56.27,59.27z"/>
	<path fill="#6699CC" d="M42.833,64.257c0.171,0.171,0.396,0.257,0.619,0.257c0.223,0,0.448-0.086,0.618-0.257l3.753-3.752
		l3.752,3.752c0.171,0.171,0.396,0.257,0.618,0.257c0.224,0,0.449-0.086,0.619-0.257c0.342-0.342,0.342-0.896,0-1.237l-3.752-3.752
		l3.752-3.752c0.342-0.343,0.342-0.896,0-1.238s-0.896-0.342-1.237,0l-3.752,3.752l-3.753-3.752c-0.342-0.342-0.896-0.342-1.237,0
		c-0.341,0.342-0.341,0.896,0,1.238l3.752,3.752l-3.752,3.752C42.492,63.361,42.492,63.915,42.833,64.257z"/>
	<path fill="#6699CC" d="M62.77,13.878c-0.041-0.079-0.082-0.158-0.148-0.225L50.535,1.569c-0.004-0.003-0.01-0.004-0.012-0.008
		c-0.08-0.076-0.17-0.138-0.272-0.181c-0.106-0.044-0.222-0.067-0.335-0.067H14.812c-1.585,0-2.875,1.29-2.875,2.875v66.625
		c0,1.586,1.29,2.875,2.875,2.875h45.377c1.584,0,2.875-1.289,2.875-2.875v-56.29C63.063,14.265,62.947,14.039,62.77,13.878z
		 M50.791,4.3l9.348,9.348h-8.223c-0.62,0-1.125-0.505-1.125-1.125V4.3z M13.687,4.188c0-0.621,0.504-1.125,1.125-1.125h34.229
		v6.126H13.687V4.188z M61.313,70.813c0,0.621-0.504,1.125-1.125,1.125H14.812c-0.62,0-1.125-0.504-1.125-1.125V10.938h35.354v1.584
		c0,1.585,1.29,2.875,2.875,2.875h9.396V70.813z"/>
</g>
</svg>
PK�^�\}�K�!
!
3litespeed-cache/assets/img/icons/all_transients.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M65.485,21.85c-0.045-0.113-0.106-0.219-0.2-0.308l-8.679-8.336c-0.027-0.026-0.063-0.038-0.096-0.059
		c-0.057-0.043-0.112-0.088-0.18-0.115c-0.068-0.028-0.138-0.033-0.21-0.042c-0.036-0.005-0.068-0.021-0.106-0.021h-0.017h-0.002
		h-2.861c-0.022-0.031-0.037-0.068-0.066-0.096l-5.014-4.817c-0.03-0.029-0.069-0.041-0.103-0.065
		c-0.056-0.04-0.106-0.082-0.171-0.108c-0.069-0.028-0.142-0.034-0.214-0.043c-0.035-0.004-0.066-0.021-0.104-0.021h-0.017
		c-0.001,0-0.001,0-0.002,0h-2.758c-0.045-0.116-0.107-0.226-0.202-0.317l-5.566-5.346c-0.027-0.028-0.063-0.039-0.095-0.062
		c-0.059-0.042-0.112-0.086-0.178-0.113c-0.071-0.029-0.146-0.036-0.222-0.045c-0.032-0.004-0.063-0.02-0.097-0.02h-0.016
		c0,0-0.002,0-0.004,0H12.87c-1.328,0-2.409,1.081-2.409,2.409v52.485c0,1.327,1.081,2.407,2.409,2.407h3.292
		c0.135,0,0.258-0.037,0.373-0.095v4.823c0,1.349,1.097,2.445,2.444,2.445h3.913v4.391c0,1.374,1.118,2.492,2.493,2.492h37.689
		c1.374,0,2.492-1.117,2.492-2.492V22.204C65.566,22.077,65.532,21.959,65.485,21.85z M56.867,15.82l5.768,5.541l-5.768,0.022V15.82
		z M48.315,10.67l2.393,2.298h-2.393V10.67z M39.182,4.769l3.175,3.049h-3.175V4.769z M16.535,10.262v47.348
		c-0.114-0.058-0.238-0.096-0.373-0.096H12.87c-0.389,0-0.705-0.315-0.705-0.703V4.326c0-0.388,0.316-0.705,0.705-0.705h24.607
		v4.197H18.979C17.631,7.818,16.535,8.914,16.535,10.262z M18.979,64.688c-0.408,0-0.74-0.332-0.74-0.741V10.262
		c0-0.407,0.332-0.739,0.74-0.739h27.632v3.446H25.385c-1.375,0-2.493,1.118-2.493,2.493v49.226L18.979,64.688L18.979,64.688z
		 M63.862,70.782c0,0.435-0.354,0.788-0.788,0.788H25.385c-0.435,0-0.789-0.353-0.789-0.788V15.461c0-0.435,0.354-0.789,0.789-0.789
		h29.777v6.71c0,0.922,0.752,1.673,1.673,1.673h7.027V70.782z"/>
	<path fill="#6699CC" d="M44.111,31.051c-5.154,0-9.888,2.696-12.542,7.079l-2.011-0.76l0.963,5.869l4.603-3.769l-1.931-0.729
		c2.222-3.477,5.952-5.688,10.066-5.958v0.826c0,0.47,0.382,0.852,0.852,0.852c0.471,0,0.853-0.382,0.853-0.852v-0.811
		c6.473,0.423,11.653,5.604,12.077,12.078H56.3c-0.47,0-0.852,0.381-0.852,0.852c0,0.47,0.382,0.853,0.852,0.853h0.741
		c-0.422,6.433-5.542,11.593-11.959,12.071v-0.85c0-0.472-0.382-0.852-0.853-0.852c-0.47,0-0.852,0.38-0.852,0.852v0.868
		c-5.945-0.335-10.939-4.687-12.017-10.604c-0.084-0.464-0.529-0.767-0.992-0.687c-0.463,0.084-0.77,0.528-0.686,0.991
		c1.27,6.975,7.338,12.036,14.428,12.036c0.031,0,0.063-0.006,0.095-0.006c0.009,0,0.016,0.006,0.023,0.006
		c0.015,0,0.024-0.009,0.04-0.009c8.019-0.086,14.519-6.631,14.519-14.67C58.788,37.636,52.204,31.051,44.111,31.051z"/>
	<path fill="#6699CC" d="M43.238,53.289c0,0.471,0.383,0.852,0.853,0.852s0.853-0.381,0.853-0.852v-7.206l4.024-4.023
		c0.331-0.333,0.333-0.872,0-1.204c-0.334-0.334-0.875-0.334-1.206-0.002l-4.272,4.273c-0.079,0.079-0.142,0.173-0.184,0.277
		c-0.044,0.104-0.066,0.215-0.066,0.325l0,0L43.238,53.289L43.238,53.289z"/>
</g>
</svg>
PK�^�\2H1��(litespeed-cache/assets/img/icons/all.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="75px" height="75px" viewBox="0 0 75 75" enable-background="new 0 0 75 75" xml:space="preserve">
<g>
	<path fill="#6699CC" d="M56.164,37.484c-0.059-0.082-0.122-0.162-0.212-0.215c-0.005-0.002-0.01-0.001-0.015-0.004
		c-0.004-0.002-0.005-0.006-0.009-0.008l-2.159-1.183c-0.606-4.582-3.073-8.809-6.781-11.605c-0.079-0.059-0.167-0.093-0.256-0.123
		v-2.987c0-0.135-0.037-0.264-0.104-0.376c-0.021-0.037-0.061-0.057-0.088-0.09c-0.055-0.064-0.102-0.135-0.177-0.179
		c-0.004-0.002-0.009-0.001-0.013-0.003c-0.004-0.002-0.005-0.007-0.009-0.009l-8.482-4.647c-0.225-0.123-0.496-0.123-0.721,0
		l-8.483,4.647c-0.004,0.002-0.005,0.006-0.009,0.008c-0.004,0.002-0.009,0.001-0.013,0.004c-0.075,0.044-0.124,0.115-0.178,0.181
		c-0.026,0.032-0.066,0.053-0.087,0.088c-0.065,0.113-0.103,0.242-0.103,0.376v3.111c-0.087,0.03-0.174,0.063-0.251,0.121
		c-3.66,2.766-6.112,6.938-6.745,11.458l-2.203,1.207c-0.004,0.002-0.005,0.007-0.009,0.009c-0.004,0.002-0.009,0.001-0.013,0.003
		c-0.075,0.044-0.122,0.114-0.176,0.179c-0.027,0.033-0.067,0.053-0.089,0.09c-0.065,0.113-0.103,0.242-0.103,0.376v10.221
		c0,0.272,0.148,0.524,0.387,0.656l8.483,4.695c0.113,0.063,0.238,0.094,0.363,0.094s0.25-0.031,0.363-0.094l2.121-1.174
		c0.097,0.127,0.215,0.239,0.376,0.3c2.006,0.758,4.12,1.143,6.283,1.143c2.454,0,4.83-0.491,7.061-1.459
		c0.079-0.034,0.14-0.089,0.202-0.142l2.406,1.332c0.113,0.063,0.238,0.094,0.363,0.094s0.25-0.031,0.363-0.094l8.482-4.696
		c0.238-0.132,0.387-0.384,0.387-0.656v-10.22c0-0.136-0.039-0.266-0.105-0.379C56.202,37.515,56.179,37.503,56.164,37.484z
		 M39.354,47.691v-8.511l6.984,3.824v8.553L39.354,47.691z M47.775,41.328l-0.688,0.376l-6.923-3.79l6.923-3.792l6.92,3.792
		L47.775,41.328z M29.767,22.625l6.983,3.825v8.554l-6.983-3.867V22.625z M38.251,26.449l6.981-3.825v8.512l-6.981,3.867V26.449z
		 M37.5,17.566l6.921,3.792L37.5,25.15l-6.922-3.792L37.5,17.566z M28.927,41.148l-1.015,0.556l-6.922-3.79l6.922-3.792l6.921,3.792
		L28.927,41.148z M20.179,39.181l6.983,3.823v8.554l-6.983-3.865V39.181z M28.662,43.004l6.983-3.824v8.513l-6.983,3.865V43.004z
		 M32.29,51.265l4.469-2.474c0.239-0.132,0.387-0.384,0.387-0.656V37.914c0-0.136-0.038-0.265-0.104-0.377
		c-0.017-0.028-0.048-0.043-0.068-0.069c-0.057-0.073-0.113-0.149-0.195-0.198c-0.004-0.002-0.01-0.001-0.014-0.004
		c-0.003-0.002-0.005-0.007-0.009-0.009l-8.482-4.647c-0.225-0.123-0.496-0.123-0.721,0l-4.299,2.355
		c0.743-3.207,2.516-6.133,5.015-8.303v4.917c0,0.273,0.148,0.524,0.387,0.656l8.483,4.697c0.113,0.063,0.238,0.094,0.363,0.094
		s0.25-0.031,0.363-0.094l8.482-4.697c0.238-0.132,0.387-0.383,0.387-0.656v-5.045c2.547,2.205,4.339,5.188,5.065,8.46l-4.35-2.384
		c-0.225-0.123-0.496-0.123-0.721,0l-8.484,4.647c-0.004,0.002-0.006,0.007-0.009,0.009c-0.005,0.002-0.01,0.001-0.014,0.004
		c-0.075,0.044-0.123,0.115-0.177,0.18c-0.027,0.032-0.066,0.053-0.087,0.088c-0.065,0.113-0.103,0.242-0.103,0.376v10.22
		c0,0.272,0.148,0.524,0.387,0.656l4.14,2.291C39.143,52.218,35.566,52.28,32.29,51.265z M54.82,47.691l-6.982,3.866v-8.554
		l4.363-2.39l2.619-1.435V47.691z"/>
	<path fill="#6699CC" d="M66.554,43.38l-4.544-3.116c0.121-1.014,0.178-1.903,0.178-2.765c0-0.859-0.057-1.75-0.178-2.769
		l4.543-3.11c0.297-0.203,0.439-0.567,0.358-0.918c-0.412-1.793-0.948-3.472-1.594-4.992c-0.141-0.331-0.435-0.543-0.83-0.532
		l-5.511,0.151c-0.905-1.59-2.004-3.092-3.274-4.478l1.841-5.181c0.121-0.339,0.021-0.717-0.25-0.953
		c-1.303-1.134-2.73-2.171-4.244-3.083c-0.307-0.186-0.699-0.165-0.984,0.056l-4.357,3.352c-1.702-0.773-3.47-1.349-5.269-1.714
		l-1.552-5.281c-0.103-0.346-0.405-0.594-0.765-0.625c-1.425-0.122-3.825-0.122-5.243,0c-0.359,0.031-0.663,0.279-0.764,0.625
		l-1.555,5.281c-1.798,0.365-3.565,0.94-5.266,1.714l-4.355-3.352c-0.286-0.22-0.676-0.243-0.983-0.057
		c-1.515,0.908-2.946,1.945-4.253,3.084c-0.271,0.236-0.37,0.614-0.25,0.953l1.844,5.18c-1.275,1.391-2.375,2.893-3.277,4.478
		l-5.509-0.151c-0.358-0.016-0.689,0.202-0.829,0.533c-0.652,1.535-1.173,3.167-1.593,4.991c-0.081,0.351,0.061,0.715,0.358,0.918
		l4.543,3.11c-0.119,0.998-0.177,1.909-0.177,2.769c0,0.858,0.058,1.768,0.177,2.767L8.446,43.38
		c-0.296,0.203-0.438,0.566-0.358,0.917c0.41,1.786,0.945,3.464,1.593,4.987c0.14,0.332,0.474,0.531,0.829,0.533l5.51-0.151
		c0.902,1.586,2.001,3.09,3.276,4.481l-1.843,5.181c-0.121,0.339-0.021,0.717,0.25,0.953c1.297,1.129,2.727,2.166,4.251,3.084
		c0.309,0.188,0.7,0.164,0.985-0.056l4.356-3.355c1.701,0.775,3.467,1.351,5.265,1.715l1.553,5.28
		c0.102,0.345,0.403,0.593,0.761,0.624c1.039,0.094,1.849,0.135,2.625,0.135c0.776,0,1.585-0.041,2.625-0.135
		c0.357-0.031,0.66-0.279,0.762-0.624l1.552-5.28c1.8-0.365,3.565-0.94,5.263-1.715l4.363,3.355c0.285,0.22,0.677,0.241,0.985,0.056
		c1.521-0.917,2.949-1.955,4.249-3.085c0.271-0.236,0.371-0.614,0.25-0.954l-1.845-5.18c1.272-1.391,2.372-2.895,3.277-4.48
		l5.506,0.151c0.401-0.007,0.688-0.202,0.829-0.532c0.646-1.516,1.182-3.193,1.595-4.987C66.992,43.947,66.85,43.583,66.554,43.38z
		 M63.932,48.051l-5.433-0.149c-0.369-0.005-0.637,0.169-0.794,0.459c-0.961,1.778-2.185,3.451-3.637,4.975
		c-0.229,0.238-0.303,0.586-0.191,0.897l1.82,5.112c-0.951,0.792-1.972,1.532-3.045,2.21l-4.307-3.313
		c-0.261-0.202-0.617-0.238-0.913-0.095c-1.871,0.902-3.835,1.542-5.837,1.901c-0.326,0.059-0.592,0.297-0.686,0.614l-1.533,5.217
		c-1.425,0.108-2.333,0.106-3.754,0l-1.535-5.217c-0.093-0.318-0.359-0.556-0.685-0.614c-2-0.358-3.964-0.998-5.839-1.901
		c-0.298-0.145-0.651-0.107-0.914,0.095l-4.3,3.313c-1.076-0.678-2.096-1.418-3.046-2.209l1.819-5.114
		c0.111-0.312,0.037-0.658-0.191-0.897c-1.456-1.523-2.678-3.196-3.634-4.973c-0.157-0.29-0.467-0.472-0.794-0.46l-5.438,0.149
		c-0.44-1.112-0.821-2.308-1.134-3.567l4.489-3.076c0.273-0.187,0.417-0.512,0.373-0.84c-0.155-1.135-0.23-2.139-0.23-3.068
		c0-0.932,0.075-1.937,0.23-3.07c0.044-0.328-0.1-0.653-0.373-0.84l-4.488-3.072c0.318-1.28,0.692-2.458,1.135-3.573l5.437,0.149
		c0.326,0.02,0.637-0.169,0.794-0.459c0.957-1.774,2.18-3.446,3.635-4.969c0.229-0.239,0.303-0.586,0.192-0.898l-1.82-5.114
		c0.956-0.796,1.976-1.536,3.045-2.207l4.299,3.309c0.262,0.202,0.616,0.239,0.913,0.095c1.875-0.902,3.841-1.542,5.842-1.901
		c0.326-0.059,0.591-0.296,0.685-0.614l1.536-5.216c1.131-0.084,2.618-0.084,3.753,0l1.533,5.215
		c0.094,0.318,0.358,0.556,0.685,0.615c2.002,0.36,3.968,1,5.845,1.901c0.297,0.143,0.651,0.106,0.912-0.095l4.301-3.309
		c1.068,0.673,2.087,1.413,3.04,2.207l-1.817,5.114c-0.111,0.312-0.037,0.659,0.191,0.897c1.449,1.516,2.672,3.188,3.632,4.969
		c0.157,0.291,0.414,0.481,0.795,0.459l5.438-0.149c0.44,1.111,0.82,2.308,1.136,3.573l-4.487,3.072
		c-0.272,0.187-0.417,0.511-0.373,0.839c0.157,1.169,0.23,2.146,0.23,3.072c0,0.929-0.073,1.903-0.23,3.067
		c-0.044,0.327,0.1,0.652,0.372,0.839l4.488,3.077C64.752,45.747,64.371,46.943,63.932,48.051z"/>
</g>
</svg>
PK�^�\���-litespeed-cache/assets/img/icons/img_optm.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
<path fill="#5968B3" d="M17.181,20.485H2.421l12.867-8.158l3.352,3.626l0.637,0.018c0.034-0.048,0.069-0.097,0.105-0.144
	l-0.293-0.826c-0.12-0.34-0.023-0.713,0.248-0.951c0.308-0.27,0.642-0.512,0.99-0.72c0.137-0.081,0.291-0.123,0.448-0.123
	c0.191,0,0.381,0.064,0.532,0.18l0.694,0.534c0.058-0.02,0.115-0.039,0.173-0.057l0.248-0.84c0.102-0.346,0.399-0.591,0.759-0.624
	c0.146-0.014,0.298-0.017,0.448-0.021V6.147H1.62V21.29h15.78c-0.071-0.215-0.155-0.416-0.207-0.647
	C17.181,20.59,17.183,20.538,17.181,20.485z M10.705,8.189c0.956,0,1.731,0.775,1.731,1.731c0,0.956-0.775,1.73-1.731,1.73
	c-0.956,0-1.731-0.774-1.731-1.73C8.974,8.964,9.75,8.189,10.705,8.189z M2.368,9.563l7.593,5.435l-7.593,4.729V9.563z
	 M23.63,17.247v3.792c-0.466-0.04-0.886-0.239-1.196-0.554h0.395l-0.911-0.986c-0.021-0.115-0.036-0.233-0.036-0.355
	C21.881,18.145,22.653,17.332,23.63,17.247z M24.298,20.979v-3.673c0.335,0.092,0.634,0.268,0.869,0.511v2.652
	C24.932,20.712,24.633,20.888,24.298,20.979z M19.383,22.458l-0.163,0.458H0.083V4.582h25.084v8.451l-0.003-0.008
	c-0.102-0.346-0.399-0.591-0.759-0.625c-0.035-0.003-0.071-0.002-0.107-0.005V5.451H0.952v16.596h16.776
	c0.163,0.176,0.397,0.286,0.666,0.291l0.883-0.024C19.311,22.362,19.346,22.41,19.383,22.458z M23.794,25.418
	c-0.191,0-0.378-0.012-0.563-0.027c-0.154-0.014-0.284-0.119-0.328-0.268l-0.326-1.106c-0.224-0.058-0.444-0.13-0.659-0.217
	l-0.913,0.702c-0.122,0.094-0.29,0.104-0.422,0.024c-0.326-0.195-0.634-0.419-0.916-0.666c-0.115-0.102-0.157-0.263-0.106-0.408
	l0.387-1.088c-0.149-0.179-0.286-0.365-0.408-0.559l-1.158,0.032c-0.149-0.003-0.294-0.086-0.354-0.227
	c-0.143-0.331-0.259-0.694-0.346-1.078c-0.033-0.149,0.027-0.305,0.154-0.392l0.95-0.65c-0.009-0.115-0.014-0.231-0.014-0.349
	s0.005-0.232,0.014-0.348l-0.95-0.65c-0.127-0.087-0.188-0.242-0.154-0.393c0.087-0.382,0.203-0.745,0.346-1.078
	c0.061-0.143,0.19-0.232,0.354-0.228l1.158,0.032c0.122-0.193,0.259-0.38,0.408-0.557l-0.387-1.088
	c-0.051-0.145-0.009-0.306,0.106-0.408c0.285-0.25,0.594-0.474,0.917-0.666c0.133-0.078,0.299-0.068,0.421,0.025l0.913,0.702
	c0.219-0.088,0.439-0.161,0.659-0.216l0.326-1.105c0.043-0.147,0.172-0.253,0.325-0.268c0.371-0.035,0.758-0.035,1.132,0
	c0.153,0.014,0.282,0.12,0.325,0.268l0.326,1.104c0.22,0.056,0.44,0.128,0.659,0.217l0.914-0.702
	c0.121-0.094,0.288-0.104,0.421-0.024c0.325,0.194,0.633,0.418,0.916,0.666c0.116,0.101,0.158,0.263,0.106,0.408l-0.387,1.088
	c0.149,0.177,0.286,0.363,0.408,0.557l1.158-0.032c0.137-0.004,0.294,0.085,0.354,0.228c0.144,0.334,0.26,0.696,0.347,1.078
	c0.034,0.149-0.027,0.306-0.154,0.393l-0.95,0.65c0.009,0.115,0.013,0.23,0.013,0.348s-0.004,0.233-0.013,0.349l0.95,0.65
	c0.127,0.087,0.188,0.242,0.154,0.393c-0.087,0.383-0.203,0.745-0.347,1.077c-0.062,0.141-0.214,0.228-0.354,0.227l-1.158-0.032
	c-0.121,0.193-0.258,0.38-0.408,0.559l0.387,1.088c0.052,0.146,0.01,0.307-0.106,0.408c-0.283,0.248-0.592,0.472-0.916,0.666
	c-0.132,0.08-0.299,0.07-0.421-0.024L25.67,23.8c-0.215,0.087-0.436,0.159-0.659,0.217l-0.326,1.106
	c-0.044,0.148-0.174,0.254-0.328,0.268C24.171,25.406,23.983,25.418,23.794,25.418z M23.548,24.661c0.162,0.008,0.328,0.008,0.491,0
	l0.314-1.067c0.039-0.133,0.148-0.232,0.284-0.261c0.317-0.065,0.631-0.169,0.93-0.306c0.125-0.061,0.273-0.043,0.385,0.044
	l0.882,0.677c0.137-0.091,0.271-0.188,0.399-0.29l-0.374-1.05c-0.046-0.132-0.017-0.277,0.078-0.38
	c0.225-0.245,0.419-0.51,0.576-0.788c0.068-0.121,0.191-0.206,0.337-0.19l1.115,0.031c0.056-0.15,0.105-0.306,0.149-0.468
	l-0.919-0.629c-0.115-0.079-0.177-0.216-0.16-0.355c0.02-0.159,0.03-0.321,0.03-0.486s-0.011-0.326-0.03-0.485
	c-0.017-0.139,0.045-0.276,0.16-0.355l0.919-0.629c-0.044-0.162-0.094-0.318-0.149-0.47l-1.115,0.031
	c-0.143-0.006-0.268-0.069-0.337-0.189c-0.158-0.279-0.352-0.544-0.576-0.787c-0.095-0.102-0.124-0.248-0.078-0.38l0.374-1.049
	c-0.129-0.103-0.262-0.199-0.399-0.29l-0.882,0.677c-0.11,0.084-0.258,0.101-0.383,0.044c-0.309-0.14-0.622-0.242-0.931-0.305
	c-0.136-0.028-0.246-0.128-0.285-0.262l-0.314-1.067c-0.164-0.009-0.328-0.008-0.491,0l-0.314,1.067
	c-0.039,0.133-0.149,0.234-0.285,0.262c-0.309,0.063-0.622,0.165-0.931,0.305c-0.128,0.055-0.274,0.04-0.384-0.044l-0.881-0.677
	c-0.137,0.09-0.271,0.188-0.398,0.29l0.373,1.05c0.046,0.132,0.017,0.277-0.078,0.38c-0.224,0.243-0.418,0.508-0.577,0.787
	c-0.067,0.12-0.204,0.18-0.336,0.189l-1.115-0.031c-0.056,0.15-0.105,0.308-0.148,0.47l0.918,0.629
	c0.115,0.079,0.178,0.216,0.16,0.354c-0.019,0.159-0.03,0.321-0.03,0.486s0.012,0.327,0.031,0.487
	c0.017,0.139-0.046,0.275-0.161,0.354l-0.919,0.629c0.044,0.162,0.094,0.318,0.149,0.468l1.115-0.031
	c0.135-0.012,0.269,0.069,0.337,0.189c0.158,0.279,0.352,0.544,0.577,0.789c0.094,0.103,0.123,0.249,0.077,0.38l-0.373,1.05
	c0.128,0.102,0.262,0.199,0.399,0.29l0.88-0.677c0.11-0.085,0.259-0.103,0.385-0.044c0.3,0.137,0.613,0.24,0.932,0.306
	c0.135,0.028,0.244,0.128,0.283,0.261L23.548,24.661z M23.794,22.306c-1.744,0-3.163-1.419-3.163-3.162
	c0-1.744,1.419-3.163,3.163-3.163c1.743,0,3.162,1.419,3.162,3.163C26.956,20.887,25.537,22.306,23.794,22.306z M23.794,16.73
	c-1.33,0-2.413,1.082-2.413,2.413c0,1.33,1.083,2.412,2.413,2.412s2.412-1.082,2.412-2.412C26.206,17.813,25.124,16.73,23.794,16.73
	z"/>
</svg>
PK�^�\<@n4p.p..litespeed-cache/assets/img/quic-cloud-logo.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
]>
<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
	 x="0px" y="0px" width="600px" height="400px" viewBox="0 -125 600 400" enable-background="new 0 -125 600 400"
	 xml:space="preserve">
<g>
	<g>
		<path fill="#5C6B73" d="M461.045-49.469c-13.746-18.064-33.701-29.694-56.178-32.739c-17.676-2.396-35.33,0.73-51.08,9.056
			c-2.104,1.107-4.16,2.307-6.145,3.575l-7.078,5.321l18.271,24.019l5.572-4.232c1.121-0.701,2.289-1.375,3.479-2.007
			c10.148-5.354,21.523-7.373,32.912-5.834c14.51,1.972,27.369,9.47,36.232,21.117c8.871,11.647,12.662,26.047,10.693,40.55
			c-4.064,29.937-31.746,50.981-61.664,46.925c-11.383-1.543-21.818-6.526-30.17-14.401c-0.998-0.947-1.939-1.905-2.813-2.851
			l-68.845-90.48l-0.023,0.283l-7.256-9.53l-0.784-0.954c-1.647-1.833-3.396-3.62-5.175-5.291
			c-13.519-12.753-30.406-20.811-48.829-23.319c-48.422-6.575-93.197,27.483-99.769,75.922
			c-6.575,48.428,27.48,93.187,75.916,99.754c18.43,2.507,36.847-0.757,53.292-9.446c0.671-0.351,1.313-0.729,1.969-1.09
			l-18.559-24.393c-10.197,4.793-21.403,6.56-32.642,5.034c-31.951-4.343-54.41-33.854-50.075-65.801
			c4.338-31.951,33.827-54.404,65.807-50.077c12.145,1.649,23.276,6.962,32.2,15.379c1.041,0.979,2.059,2.011,3.035,3.067
			l54.112,71.125l0.025-0.288l21.975,28.879l0.756,0.92c1.545,1.725,3.219,3.448,4.982,5.112
			C348.148,76.053,364.338,83.777,382,86.177c3.865,0.533,7.695,0.78,11.494,0.78c41.813-0.009,78.352-30.991,84.137-73.548
			C480.678-9.075,474.787-31.406,461.045-49.469z"/>
		<path fill="#66CCCA" d="M313.695,70.07c-0.279-0.289-0.586-0.577-0.854-0.866l-34.862-45.783
			c-1.517-1.696-3.168-3.388-4.907-5.031C260.115,6.169,243.928-1.554,226.262-3.957c-1.688-0.225-3.364-0.39-5.052-0.513h-2.586
			l12.864,16.837c0.274,0.28,0.587,0.575,0.851,0.86l34.866,45.787c1.521,1.694,3.168,3.387,4.909,5.023
			c12.959,12.22,29.142,19.95,46.806,22.342c1.689,0.236,3.369,0.395,5.055,0.521h2.58L313.695,70.07z"/>
	</g>
	<g>
		<path fill="#66CCCA" d="M305.638,230.569c-1.197-1.176-2.656-1.771-4.332-1.771c-1.672,0-3.13,0.598-4.329,1.774
			c-1.213,1.192-1.827,2.652-1.827,4.346c0,1.718,0.614,3.191,1.827,4.384c1.199,1.177,2.657,1.772,4.329,1.772
			c1.681,0,3.14-0.596,4.338-1.775c1.209-1.194,1.822-2.668,1.822-4.381C307.465,233.219,306.851,231.756,305.638,230.569z"/>
		<g>
			<path fill="#5C6B73" d="M385.161,157.189v-0.129v-0.412h-0.106c-0.146-0.635-0.459-1.222-0.913-1.715
				c-0.102-0.122-0.262-0.309-0.476-0.477c-0.064-0.049-0.136-0.089-0.206-0.126l-0.007-0.003l-0.141-0.077
				c-0.18-0.104-0.325-0.181-0.475-0.238c-0.255-0.11-0.54-0.192-0.833-0.239c-0.059-0.019-0.106-0.03-0.156-0.035
				c-0.147-0.02-0.262-0.022-0.381-0.022h-0.001h-0.078c-0.01,0-0.021,0-0.032,0c-0.171,0-0.281,0.003-0.393,0.018
				c-0.074,0.01-0.123,0.021-0.173,0.034c-0.298,0.053-0.581,0.135-0.854,0.248c-0.138,0.053-0.282,0.132-0.426,0.211l-0.131,0.076
				c-0.125,0.064-0.194,0.103-0.259,0.154c-0.215,0.164-0.377,0.352-0.491,0.493c-0.443,0.477-0.751,1.062-0.898,1.695h-0.068
				l-0.037,0.412v0.129v0.206c-0.007,0.026-0.01,0.06-0.01,0.097v0.031l0.008,0.08l0.002,0.859v27.892v0.127h0.001l-0.001,0.309
				v0.119l0.008,9.874l-0.008,9.864v0.129l0.001,0.31h-0.001v0.129v27.841v0.923c-0.007,0.024-0.01,0.06-0.01,0.099v0.028
				l0.008,0.081l0.002,0.193v0.129v0.412h0.105c0.147,0.634,0.458,1.222,0.914,1.715c0.151,0.187,0.303,0.342,0.476,0.474
				c0.064,0.052,0.135,0.09,0.206,0.126l0.149,0.087c0.2,0.109,0.334,0.184,0.476,0.236c0.257,0.11,0.543,0.192,0.833,0.24
				c0.04,0.015,0.101,0.031,0.161,0.036c0.137,0.016,0.253,0.019,0.374,0.019h0.148c0.119,0,0.235-0.003,0.355-0.018
				c0.078-0.008,0.138-0.024,0.197-0.04c0.269-0.044,0.556-0.126,0.833-0.242c0.122-0.045,0.256-0.119,0.388-0.193l0.165-0.093
				c0.124-0.066,0.194-0.104,0.259-0.155c0.171-0.134,0.324-0.286,0.493-0.496c0.441-0.477,0.75-1.062,0.896-1.693h0.069
				l0.037-0.412v-0.129v-0.207c0.006-0.023,0.01-0.06,0.01-0.098v-0.029l-0.009-0.08l-0.001-0.861v-27.89v-0.129h-0.002l0.002-0.309
				v-0.119l-0.009-9.874l0.009-9.864v-0.129l-0.002-0.31h0.002v-0.129v-27.841v-0.921c0.006-0.026,0.01-0.06,0.01-0.097v-0.031
				l-0.009-0.08L385.161,157.189z"/>
			<path fill="#5C6B73" d="M363.642,223.593c-1.639,0-2.675,1.138-3.592,2.145c-0.222,0.245-0.444,0.488-0.67,0.714
				c-4.262,4.264-9.473,6.425-15.491,6.425c-5.988,0-11.18-2.161-15.434-6.422c-4.259-4.25-6.418-9.46-6.418-15.484
				c0-6.016,2.159-11.215,6.417-15.456c4.265-4.241,9.456-6.394,15.435-6.394c6.017,0,11.23,2.147,15.498,6.377
				c0.248,0.249,0.483,0.513,0.715,0.773c0.901,1.009,1.831,2.057,3.505,2.057c2.104,0,3.817-1.711,3.817-3.815
				c0-1.115-0.523-2.211-1.4-2.933l-0.148-0.173c-0.374-0.419-0.747-0.84-1.138-1.229c-5.729-5.727-12.744-8.63-20.849-8.63
				c-8.073,0-15.071,2.903-20.799,8.63c-5.726,5.726-8.629,12.722-8.629,20.796c0,8.108,2.905,15.124,8.629,20.853
				c5.723,5.725,12.721,8.627,20.799,8.627c8.108,0,15.124-2.903,20.851-8.627l0.327-0.326c1.121-1.104,2.391-2.357,2.391-4.088
				C367.457,225.304,365.746,223.593,363.642,223.593z"/>
			<path fill="#5C6B73" d="M576.27,235.708l0.005-77.972l0.01-0.044c0.016-0.117,0.03-0.235,0.03-0.354
				c0-2.021-1.642-3.662-3.661-3.662c-1.51,0-2.883,0.955-3.417,2.376c-0.148,0.326-0.23,0.693-0.23,1.067v0.106
				c-0.007,0.03-0.012,0.07-0.012,0.109v0.029l0.01,0.092l-0.024,33.375c-0.196-0.216-0.397-0.429-0.603-0.638
				c-5.741-5.738-12.758-8.644-20.866-8.644c-8.074,0-15.071,2.903-20.796,8.629c-5.525,5.519-8.324,12.534-8.324,20.846
				c0,8.285,2.799,15.281,8.322,20.801c5.722,5.725,12.72,8.627,20.796,8.627c8.111,0,15.127-2.903,20.853-8.627
				c0.214-0.221,0.427-0.446,0.643-0.681v4.9c-0.007,0.032-0.011,0.072-0.011,0.113v0.028l0.009,0.094l0.002,0.099
				c0,0.375,0.082,0.744,0.243,1.099c0.535,1.41,1.876,2.34,3.405,2.34c2.019,0,3.66-1.641,3.66-3.658
				c0-0.122-0.014-0.24-0.03-0.359L576.27,235.708z M547.511,232.874c-6.016,0-11.228-2.153-15.486-6.393
				c-4.258-4.239-6.417-9.44-6.417-15.46c0-6.014,2.159-11.224,6.418-15.483c4.262-4.259,9.472-6.418,15.485-6.418
				c6.017,0,11.229,2.159,15.488,6.418c3.182,3.182,5.206,6.927,6.018,11.134l-0.016,8.857c-0.798,4.045-2.821,7.747-6.006,10.925
				C558.741,230.715,553.528,232.874,547.511,232.874z"/>
			<path fill="#5C6B73" d="M424.079,181.547c-8.077,0-15.075,2.903-20.804,8.629c-5.724,5.723-8.625,12.737-8.625,20.846
				c0,8.082,2.901,15.082,8.625,20.799c5.729,5.729,12.729,8.632,20.804,8.632c8.107,0,15.113-2.903,20.825-8.627
				c5.707-5.735,8.602-12.734,8.602-20.804c0-8.103-2.895-15.114-8.602-20.843C439.195,184.45,432.188,181.547,424.079,181.547z
				 M424.079,232.874c-6.021,0-11.235-2.153-15.492-6.393c-4.256-4.242-6.415-9.443-6.415-15.46c0-6.014,2.161-11.224,6.42-15.483
				c4.257-4.259,9.468-6.418,15.487-6.418c6.016,0,11.225,2.159,15.485,6.418c4.257,4.262,6.415,9.47,6.415,15.483
				c0,6.017-2.158,11.218-6.412,15.46C435.309,230.721,430.098,232.874,424.079,232.874z"/>
			<path fill="#5C6B73" d="M505.793,185.807c-2.018,0-3.659,1.644-3.659,3.661c0,0.059,0.007,0.113,0.015,0.168l0.005,29.258
				c0,3.874-1.421,7.229-4.227,9.972c-2.92,2.854-8.329,4.393-11.938,4.393c-4.44,0-9.219-1.772-11.887-4.412
				c-2.829-2.736-4.262-6.083-4.262-9.952v-29.282c0.011-0.052,0.016-0.099,0.016-0.144v-0.032l-0.013-0.106v-0.064l-0.013-0.056
				c-0.15-1.925-1.735-3.402-3.637-3.402c-2.018,0-3.659,1.641-3.659,3.661c0,0.109,0.013,0.22,0.027,0.325l0.015,0.091
				l-0.004,29.413c0.106,6.019,2.166,11.069,6.12,15.02c3.827,3.83,10.474,6.208,17.346,6.208c6.608,0,13.547-2.494,17.264-6.207
				c3.954-3.954,6.014-8.996,6.122-14.988v-29.542l0.01-0.045c0.011-0.091,0.023-0.179,0.023-0.274
				C509.454,187.45,507.813,185.807,505.793,185.807z"/>
		</g>
		<path fill="#3E5059" d="M115.191,239.357c-0.092-0.095-0.187-0.206-0.283-0.318c-0.152-0.178-0.31-0.358-0.465-0.506
			c-2.794-2.598-6.042-4.749-9.574-6.449c-4.631-2.231-9.765-3.672-15.143-4.138c-0.95-0.082-1.949-0.122-2.963-0.122
			c-3.878,0-7.742,0.603-11.48,1.185c-3.692,0.575-7.51,1.169-11.292,1.169c-1.788,0-3.438-0.129-5.043-0.393
			c-8.268-1.365-15.592-5.88-20.096-12.395c-4.826-6.981-6.526-16.369-4.662-25.756c0.082-0.409,0.211-0.807,0.309-1.213
			c1.856-7.615,6.706-14.472,13.219-18.495c4.822-3.003,10.729-4.591,17.084-4.591c2.812,0,5.616,0.314,8.339,0.939
			c6.824,1.563,13.078,5.532,17.159,10.885l0.264,0.371l0.187,0.263l0.011-0.009c0.871,1.217,1.636,2.493,2.275,3.807
			c2.363,4.676,3.521,10.303,3.422,15.948c-0.062,3.489-0.596,6.985-1.633,10.272c-0.406,1.286-0.928,2.533-1.505,3.753
			c-0.891,1.88-1.947,3.669-3.18,5.268c-0.273,0.353-0.589,0.715-0.896,1.076c0.507,0.022,1.028,0.022,1.513,0.064
			c3.187,0.273,6.28,0.909,9.245,1.822c0.109-0.169,0.224-0.342,0.322-0.501c3.759-6.126,5.757-13.316,6.038-20.6
			c0.346-8.969-1.918-18.08-6.795-25.52c-7.132-10.883-20.513-17.642-34.919-17.642c-2.055,0-4.119,0.139-6.136,0.413
			c-16.93,2.294-30.066,14.405-33.725,30.625c-0.271,1.198-0.5,2.413-0.663,3.654c-1.302,9.836,0.305,19.577,4.524,27.428
			c4.163,7.747,11.03,13.889,19.333,17.288c5.054,2.065,10.708,3.115,16.811,3.115c1.157,0,2.345-0.037,3.525-0.115l0.008-0.207
			c0.005-0.002,0.009-0.002,0.014-0.002l0.033,0.206l0.264-0.03l0.265-0.027c0.653-0.066,1.303-0.138,1.953-0.211
			c1.326-0.155,2.584-0.408,4.077-0.824c0.109-0.03,0.22-0.058,0.33-0.085l0.256-0.063c3.198-0.934,6.821-1.425,10.492-1.425
			c4.505,0,8.798,0.714,12.416,2.061l0.248,0.081l1.345,0.435l0.549,0.186l0.064,0.024h0.069h14.189h0.974L115.191,239.357z"/>
		<path fill="#3E5059" d="M170.995,157.525h-0.413v0.412v41.64c0,7.277-0.683,13.11-4.088,19.699
			c-3.266,6.63-11.279,10.91-20.414,10.91c-12.482,0-18.392-7.86-20.354-11.237c-1.823-3.121-3.919-8.141-3.919-19.375v-41.637
			v-0.412h-0.413h-9.037h-0.413v0.412v40.507c0,9.531,0,16.418,5.929,26.577c6.166,10.83,18.849,14.688,28.66,14.688
			c16.931,0,25.332-10.377,28.155-14.84c4.892-7.563,5.754-14.546,5.754-26.426v-40.508v-0.412h-0.413h-9.034V157.525z"/>
		<path fill="#3E5059" d="M253.379,167.907c0.047,0,0.095-0.002,0.144-0.005l0.098-0.004c10.505,0,18.071,4.435,24.683,9.224
			l3.85,2.93l0.662,0.504v-0.831l0.005-9.931v-0.173l-0.121-0.121c-6.664-6.632-15.13-10.422-25.164-11.263
			c-1.29-0.108-2.65-0.164-4.157-0.171h-0.001h-0.002c-1.505,0.007-2.865,0.063-4.159,0.171
			c-10.033,0.841-18.499,4.631-25.164,11.263l-0.003,0.004l-0.066,0.061l0.11,0.186l-0.047,0.047l-0.156-0.136
			c-7.635,7.635-11.505,17.603-11.505,29.63c0,12.029,3.87,21.997,11.505,29.635l0.102,0.104l0.063,0.058
			c6.666,6.636,15.132,10.423,25.164,11.264c1.281,0.109,2.643,0.166,4.159,0.171c1.52-0.007,2.879-0.062,4.16-0.171
			c10.03-0.841,18.496-4.631,25.162-11.264l0.121-0.12v-0.173l-0.005-9.931v-0.831l-0.662,0.504l-3.857,2.935
			c-6.604,4.785-14.17,9.218-24.675,9.218l-0.098-0.004c-0.049-0.002-0.097-0.005-0.146-0.005c-9.03-0.052-16.544-2.994-22.34-8.743
			c-5.848-5.857-8.813-13.476-8.813-22.646c0-9.172,2.967-16.79,8.817-22.649C236.834,170.899,244.349,167.96,253.379,167.907z"/>
		<polygon fill="#3E5059" points="201.011,157.506 194.607,157.506 194.607,157.509 193.18,157.506 192.768,157.506 
			192.768,157.918 192.768,238.304 192.768,238.717 193.18,238.717 194.568,238.717 194.604,238.717 194.675,238.705 
			200.865,238.694 200.867,238.694 200.985,238.712 202.441,238.717 202.854,238.717 202.854,238.304 202.854,157.918 
			202.854,157.506 202.441,157.506 		"/>
	</g>
</g>
</svg>
PK�^�\��(��)litespeed-cache/assets/img/slack-logo.pngnu�[����PNG


IHDRKK����PLTEGpL��8��;��9��:��:��9��:�����;O��O��O��O��P��O��O�詟8O����������Ԫ8v�6f��t�M��]����,��k�zO��U������������{��2���9��:�V��T��T��T��T��R��U�/���4�e)�9�GU��.�E-�P{�T��S�Gsw]=U,��UYg�Jpu@\�Ny�p��Eh�mG�De�����HtRNS'@[���a�8����P[��������� ���9������'��Ga�����������������p "�HIDATx՗���8EV�A��a~4���ʶǾՕ^e�Yx�p �n_�R��$���~L�tƐN�C�	H�V%3!���F�\\WP{t��JӯT�X,���i�m�E�\�P-~ݕGWNj�O�__��W+@Ñh�\�m7�EqP?<<���-a��Ḃ������Hĩݥ<7���'ѵ���++�H?R�,#<'�S�<�.������a$��)�������V�8Wؾ�t�F��Ŏ#�BW�DBx�e���P4����?�8ځi�aZA���A&��hR$b�"h���!�<�D̘�"Y��T��>d?�d?�T�<��X��Bn�}�����Z.�1i�/T`Hh��s�	�*!cdDb["���%�ۧH*���%k�"EH�B_n����bC���܉�_��Zk����E"���?�u�9랂Q$<ݤ�M�� YT��#�yu}��5_����2��ۻk�F��kmD�b��B�&��hH�G�}�D�Y]'�@B��5r�g�t�����7���s�����6��`��ۧH��k��>E"`Hhߧ���G�>�\9�����o?x��_������O��n��~�R�?��l��r���G��g>$E2&�ܦZ�|^5�D���x��oS��(��H��~�O�q"���4�*h�q�d�S�}_����?�o��BS:�'o�"��.x[X�&��Ϩ�WP=�ȧnZY\���x�`����F�%9���5�si�����̗M�+^�)��H؃=���`�;�z^���k�Ψ���Lm��x|�ѥb�h���c2.M�*�����*�
����{-��IEND�B`�PK�^�\�#Rٔ�/litespeed-cache/assets/img/lscwp-logo_90x90.pngnu�[����PNG


IHDRZZv�0�PLTEGpL�����������u������������������ռ�������а�������˝��������������z}jknsvy���Kdrs�3��hikc�5������������M����efi��Sy�_�J��1Ds��AԤ_ad�������ج��;r�{����ss/:GQ7im����,��X'\]_bJ#Do[]`uI��tRNS`���(��MlIDATx���!EQ,��_�w���r��yj��m��EF����f@�1"�!���2�I[d��e���fӁCL)��I>��a���n��w��g/�i�p��I)�E�<B] ���mh.��Kپ�W���Bb��sǭ�c��#O����'8��Z�6P��o9�,C���ma�6�mk�:�i]�Æl��hz�m4� u	\��\L�i؞�4t4���K����X�E4�~л_��??��Ū��<��A�L�w�jv������	��p�Q�����i�ӏu�|hO���-ڸ��^
t��p<yj}%����{[w��9����I�sؕܠmՅtsy��<������������lz:���ZZv�LH���9mJt�܀�̦؍;��h�AM����^��sАn���GI�6�r��}�!kh�e�Z�yp�R�M�l��,���Bȋ�p�1��r0/��z�l?T�٫��8�<����52����f���feyq!�c�h{ui���=�3�Zؐ2�w\S�|<�&mD�$MrKE71�Z��acE�tb�\����Ey�M2�$����ֹ<����k�ln^3�/�5�$m8~�u.� Os�:���$�䒝$�����n6aS�Tʳɕ�u��.֔7,����DV�6l�!o����F���xټ��ުf��F6hFT4�g��h4�8�	�����l~,`�W��g��	�-��it����$�ɀ}X����u��r���ē$i<%�{��&EOG,�?���S#> d�ٛח�����2�Y���I�i�=ˆ8N�m���-dDʉ��,���F�;P���fR�tN�!��8��Q�������k�6mbDL��|<9��{;�8@>bB����Hʒ�i
��(2"m
�GȘ]�=�m�l�oK��[6:�벌�T���+e�ە���bJrLr\Ƞ������\�%�X�b��I��E&��!��(-�?w� {�T�o�r��>.��O'��O�����p!��5EE�lG�/#m��<�:��]L!B6AW�6`��s\�|���͠wE�vN9�ʷi�fT��
��2��D;Jڦe���;�3�^�A�ֶCt�U��Yv��7����hӁ�ֿ>�C�o�$���Վ^@�t4p��H��Ӭ�-����u�s�e������Y�܋"�|��?Xt�f��2l��t�{�FB���>�@%�,t���x��9C�+Y�Wuf�ŏ��n[�2ֻH�>'�Մ���O:j��ky^;
���9��.Q��,�����w�RL��S�N�vu4d��rK##�a�h��k:k�S'

��ɚX8��?}�y�mY���O���r����܎�����yr��O��?��:�E�VIEND�B`�PK�^�\/��
��=litespeed-cache/assets/img/lscwp_grayscale_font-icon_22px.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="22px" height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
<rect x="4" y="4" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -4.5563 11)" fill="#777777" width="14" height="14"/>
<path fill="#FFFFFF" d="M13.039,7.954c-0.063-0.128-0.193-0.21-0.336-0.21c-0.119,0-0.207,0.054-0.268,0.102L9.84,9.838
	c-0.208,0.158-0.254,0.461-0.104,0.675l0.813,1.17l-1.521,1.93c-0.141,0.18-0.113,0.336-0.065,0.434
	c0.06,0.125,0.194,0.209,0.334,0.209c0.123,0,0.208-0.055,0.271-0.102l2.593-1.992c0.157-0.121,0.211-0.33,0.146-0.578
	c-0.012-0.041-0.027-0.076-0.052-0.114l-0.803-1.154l1.521-1.93C13.111,8.207,13.086,8.052,13.039,7.954z"/>
<path fill="#AAAAAA" d="M21.771,10.677L11.323,0.229c-0.088-0.086-0.202-0.135-0.324-0.135c-0.123,0-0.236,0.048-0.324,0.134
	L0.228,10.677c-0.086,0.088-0.134,0.201-0.134,0.324c0,0.122,0.048,0.236,0.134,0.324l10.448,10.446
	c0.087,0.088,0.202,0.135,0.324,0.135s0.237-0.047,0.324-0.135L21.77,11.324c0.088-0.085,0.138-0.201,0.138-0.323
	C21.904,10.879,21.855,10.765,21.771,10.677z M11.424,1.625l8.956,8.956h-2.989c-0.017,0-0.035,0.001-0.052,0.003l-5.915-5.913
	V1.625z M10.584,1.617v3.045l-5.92,5.919H1.62L10.584,1.617z M10.584,20.387L1.62,11.421h3.044l5.92,5.918V20.387z M10.999,16.504
	l-5.501-5.502L10.999,5.5l5.503,5.502L10.999,16.504z M11.424,20.377v-3.045l5.913-5.914c0.019,0.001,0.037,0.003,0.054,0.003h2.989
	L11.424,20.377z"/>
</svg>
PK�^�\
O��	�	3litespeed-cache/assets/img/lscwp_font-icon_32px.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
<path fill="#FFCE00" d="M18.955,11.586c-0.09-0.185-0.281-0.305-0.486-0.305c-0.174,0-0.301,0.079-0.389,0.147l-3.761,2.888
	c-0.301,0.229-0.368,0.669-0.151,0.979l1.179,1.696l-2.204,2.796c-0.204,0.262-0.165,0.486-0.096,0.629
	c0.086,0.181,0.281,0.303,0.484,0.303c0.178,0,0.302-0.081,0.391-0.149l3.76-2.887c0.229-0.173,0.305-0.478,0.209-0.836
	c-0.016-0.059-0.039-0.111-0.074-0.166l-1.164-1.672l2.205-2.797C19.061,11.952,19.023,11.729,18.955,11.586z"/>
<path fill="#00CCFF" d="M31.611,15.531L16.469,0.389C16.344,0.264,16.177,0.194,16,0.194c-0.178,0-0.344,0.069-0.47,0.194
	L0.389,15.531C0.264,15.656,0.195,15.822,0.195,16c0,0.177,0.069,0.344,0.194,0.469L15.531,31.61
	c0.126,0.126,0.292,0.194,0.47,0.194c0.177,0,0.344-0.068,0.469-0.194l15.142-15.142c0.125-0.124,0.195-0.291,0.195-0.469
	C31.807,15.823,31.736,15.656,31.611,15.531z M16.616,2.412l12.98,12.979h-4.334c-0.023,0-0.051,0.002-0.074,0.005l-8.572-8.57
	V2.412z M15.398,2.399v4.413l-8.579,8.578H2.406L15.398,2.399z M15.398,29.601L2.406,16.609h4.413l8.579,8.578V29.601z M16,23.974
	L8.027,16L16,8.026L23.975,16L16,23.974z M16.616,29.587v-4.413l8.57-8.569c0.025,0.003,0.053,0.005,0.076,0.005h4.334
	L16.616,29.587z"/>
<path fill="#3399CC" d="M16,8.026L8.027,16L16,23.974L23.975,16L16,8.026z M17.816,16.681c0.035,0.055,0.059,0.107,0.074,0.166
	c0.096,0.358,0.02,0.663-0.209,0.836l-3.76,2.887c-0.089,0.068-0.213,0.149-0.391,0.149c-0.203,0-0.398-0.122-0.484-0.303
	c-0.069-0.143-0.108-0.367,0.096-0.629l2.204-2.796l-1.179-1.696c-0.217-0.31-0.149-0.749,0.151-0.979l3.761-2.888
	c0.088-0.068,0.215-0.147,0.389-0.147c0.205,0,0.396,0.12,0.486,0.305c0.068,0.143,0.105,0.366-0.098,0.626l-2.205,2.797
	L17.816,16.681z M25.188,15.396l-8.572-8.57V2.412l12.98,12.979h-4.334C25.238,15.391,25.211,15.393,25.188,15.396z M6.819,15.391
	H2.406L15.398,2.399v4.413L6.819,15.391z M6.819,16.609l8.579,8.578v4.413L2.406,16.609H6.819z M25.262,16.609h4.334l-12.98,12.978
	v-4.413l8.57-8.569C25.211,16.607,25.238,16.609,25.262,16.609z"/>
</svg>
PK�^�\�1w
w
-litespeed-cache/assets/img/Litespeed.icon.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 300 300" enable-background="new 0 0 300 300" xml:space="preserve">
<g>
	<path fill="#5E8CDA" d="M254.859,146.258l-68.508-68.516l-29.203,37.055l31.461,31.461c2.922,2.922,2.922,7.68,0,10.57
		l-9.086,9.086c0,0,6.148,9.195,6.414,9.75c1.422,2.836,1.742,9.492-2.273,12.547l-71.57,54.969c0,18.422-0.016,56.336,0,56.344
		c0.031,0,142.766-142.695,142.766-142.695C257.75,153.898,257.75,149.18,254.859,146.258z"/>
	<path fill="#093071" d="M95.703,154.891c-2.898-2.875-2.898-7.641,0-10.531l9.109-9.125l-6.219-8.938
		c-2.977-4.219-2.039-10.203,2.055-13.344l71.602-54.938l0.023-56.328l-0.023-0.031l-0.039-0.047L29.477,144.359
		c-2.922,2.891-2.922,7.656,0,10.539l68.5,68.508l29.219-37.055L95.703,154.891z"/>
</g>
<path fill="#5E8CDA" d="M208.297,35.727c1.092,0,2.147,0.654,2.624,1.624c0.804,1.658-0.217,3.189-1.236,4.495l-0.04,0.051
	l-62.727,79.64c-0.829,1.05-0.891,3.144-0.132,4.218c0.339,0.491,33.879,49.111,35.027,50.794c1.342,1.918,1.425,7.623-1.657,9.978
	L79.348,263.915c-1.305,0.993-2.252,1.535-3.492,1.546c-0.99-0.082-2.015-0.756-2.44-1.601c-0.783-1.612,0.143-3.176,1.253-4.616
	l62.727-79.607c0.83-1.114,0.908-3.081,0.152-4.231l-35.019-50.348c-2.308-3.283-1.585-7.943,1.611-10.39l100.851-77.445
	C206.396,36.146,207.321,35.727,208.297,35.727 M208.297,34.727c-1.211,0-2.336,0.492-3.914,1.703l-100.852,77.445
	c-3.625,2.773-4.445,8.023-1.82,11.758l35.016,50.344c0.508,0.773,0.438,2.297-0.133,3.063l-62.711,79.586
	c-0.813,1.055-2.523,3.289-1.367,5.672c0.594,1.18,1.945,2.07,3.305,2.164c1.555,0,2.695-0.656,4.133-1.75l100.813-77.391
	c3.508-2.68,3.523-8.977,1.867-11.344c-1.156-1.695-35.023-50.789-35.023-50.789c-0.508-0.719-0.461-2.328,0.094-3.031
	l62.727-79.641c0.805-1.031,2.555-3.203,1.391-5.602C211.172,35.594,209.766,34.727,208.297,34.727L208.297,34.727z"/>
<path fill="#F5CD21" d="M178.992,176.898c0.82,1.25,1.563,5.867-0.477,7.422L77.641,261.75c-0.836,0.664-1.391,0.984-1.617,0.961
	c-0.359,0.023-0.102-0.586,0.82-1.797l62.688-79.555c1.586-2.039,1.688-5.414,0.227-7.516l-34.977-50.367
	C104.781,123.477,178.188,175.664,178.992,176.898z"/>
<path fill="#FDDD75" d="M178.992,176.898l-34.461-49.555c-1.438-2.125-1.336-5.492,0.242-7.508l62.695-79.578
	c0.945-1.203,1.164-1.781,0.828-1.781c-0.227,0-0.805,0.281-1.625,0.945l-100.875,77.422c-2.016,1.555-2.477,4.547-1.016,6.633
	L178.992,176.898z"/>
</svg>

PK�^�\
x@��4litespeed-cache/assets/img/quic-cloud-icon-16x16.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="16px" height="16px" viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
<g>
	<path fill="#889EAA" d="M15.222,5.874c-0.616-0.81-1.511-1.331-2.52-1.468c-0.793-0.108-1.584,0.033-2.29,0.406
		c-0.095,0.05-0.188,0.103-0.276,0.161L9.819,5.211l0.819,1.077l0.25-0.189c0.05-0.032,0.103-0.062,0.155-0.09
		c0.455-0.24,0.965-0.331,1.476-0.262c0.65,0.088,1.228,0.425,1.625,0.947c0.397,0.522,0.567,1.168,0.479,1.818
		c-0.183,1.343-1.424,2.286-2.765,2.104c-0.511-0.069-0.979-0.294-1.354-0.646c-0.044-0.042-0.087-0.086-0.126-0.128L7.292,5.785
		L7.292,5.798L6.967,5.371L6.931,5.328C6.857,5.246,6.779,5.165,6.699,5.09C6.093,4.518,5.335,4.157,4.51,4.045
		C2.338,3.75,0.331,5.277,0.036,7.449c-0.295,2.171,1.232,4.178,3.404,4.473c0.827,0.113,1.652-0.034,2.39-0.423
		c0.03-0.017,0.058-0.033,0.088-0.05l-0.833-1.093c-0.457,0.214-0.959,0.294-1.463,0.225c-1.432-0.194-2.439-1.518-2.245-2.95
		c0.195-1.433,1.517-2.439,2.95-2.245c0.545,0.074,1.044,0.312,1.444,0.69c0.047,0.043,0.092,0.09,0.136,0.137l2.426,3.189
		l0.001-0.014l0.985,1.295l0.034,0.042c0.069,0.077,0.145,0.154,0.224,0.229c0.581,0.549,1.307,0.895,2.099,1.002
		c0.173,0.023,0.345,0.035,0.515,0.035c1.876,0,3.514-1.39,3.773-3.298C16.103,7.685,15.838,6.684,15.222,5.874z"/>
	<path fill="#00CCCC" d="M8.614,11.234c-0.013-0.014-0.026-0.026-0.038-0.039L7.012,9.143C6.944,9.066,6.87,8.99,6.792,8.916
		C6.211,8.368,5.485,8.023,4.693,7.915c-0.076-0.01-0.151-0.017-0.227-0.023H4.351l0.577,0.755C4.94,8.659,4.954,8.673,4.966,8.686
		l1.563,2.053c0.068,0.076,0.142,0.152,0.22,0.225c0.581,0.549,1.306,0.896,2.099,1.003c0.075,0.01,0.15,0.018,0.227,0.023H9.19
		L8.614,11.234z"/>
</g>
</svg>
PK�^�\�?�xx?litespeed-cache/assets/img/lscwp_gray-yellow_font-icon_22px.svgnu�[���<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="22px" height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
<path fill="#FFCC00" d="M13.039,7.954c-0.063-0.128-0.193-0.21-0.336-0.21c-0.119,0-0.207,0.054-0.268,0.102L9.84,9.838
	c-0.208,0.158-0.254,0.461-0.104,0.675l0.813,1.17l-1.521,1.93c-0.141,0.18-0.113,0.336-0.065,0.434
	c0.06,0.125,0.194,0.209,0.334,0.209c0.123,0,0.208-0.055,0.271-0.102l2.593-1.992c0.157-0.121,0.211-0.33,0.146-0.578
	c-0.012-0.041-0.027-0.076-0.052-0.114l-0.803-1.154l1.521-1.93C13.111,8.207,13.086,8.052,13.039,7.954z"/>
<path fill="#777777" d="M21.771,10.677L11.323,0.229c-0.088-0.086-0.202-0.135-0.324-0.135c-0.123,0-0.236,0.048-0.324,0.134
	L0.228,10.677c-0.086,0.088-0.134,0.201-0.134,0.324c0,0.122,0.048,0.236,0.134,0.324l10.448,10.446
	c0.087,0.088,0.202,0.135,0.324,0.135s0.237-0.047,0.324-0.135L21.77,11.324c0.088-0.085,0.137-0.201,0.137-0.323
	C21.904,10.879,21.855,10.765,21.771,10.677z M11.424,1.625l8.956,8.956h-2.989c-0.017,0-0.035,0.001-0.052,0.003l-5.915-5.913
	V1.625z M10.584,1.617v3.045l-5.92,5.919H1.62L10.584,1.617z M10.584,20.387L1.62,11.421h3.044l5.92,5.918V20.387z M10.999,16.504
	l-5.501-5.502L10.999,5.5l5.503,5.502L10.999,16.504z M11.424,20.377v-3.045l5.913-5.914c0.019,0.001,0.037,0.003,0.054,0.003h2.989
	L11.424,20.377z"/>
</svg>
PK�^�\����&litespeed-cache/assets/js/babel.min.jsnu�[���!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Babel=t():e.Babel=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case"function":break;case"object":e[t]=function(t){var r=t.slice(1),n=e[t[0]];return function(e,t,i){n.apply(this,[e,t,i].concat(r))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,r){"use strict";function n(e,t){return g(t)&&"string"==typeof t[0]?e.hasOwnProperty(t[0])?[e[t[0]]].concat(t.slice(1)):void 0:"string"==typeof t?e[t]:t}function i(e){var t=(e.presets||[]).map(function(e){var t=n(E,e);if(!t)throw new Error('Invalid preset specified in Babel options: "'+e+'"');return g(t)&&"object"===h(t[0])&&t[0].hasOwnProperty("buildPreset")&&(t[0]=d({},t[0],{buildPreset:t[0].buildPreset})),t}),r=(e.plugins||[]).map(function(e){var t=n(b,e);if(!t)throw new Error('Invalid plugin specified in Babel options: "'+e+'"');return t});return d({babelrc:!1},e,{presets:t,plugins:r})}function s(e,t){return y.transform(e,i(t))}function a(e,t,r){return y.transformFromAst(e,t,i(r))}function o(e,t){b.hasOwnProperty(e)&&console.warn('A plugin named "'+e+'" is already registered, it will be overridden'),b[e]=t}function u(e){Object.keys(e).forEach(function(t){return o(t,e[t])})}function l(e,t){E.hasOwnProperty(e)&&console.warn('A preset named "'+e+'" is already registered, it will be overridden'),E[e]=t}function c(e){Object.keys(e).forEach(function(t){return l(t,e[t])})}function f(e){(0,v.runScripts)(s,e)}function p(){window.removeEventListener("DOMContentLoaded",f)}Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.buildExternalHelpers=t.availablePresets=t.availablePlugins=void 0;var d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.transform=s,t.transformFromAst=a,t.registerPlugin=o,t.registerPlugins=u,t.registerPreset=l,t.registerPresets=c,t.transformScriptTags=f,t.disableScriptTags=p;var m=r(290),y=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(m),v=r(629),g=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},b=t.availablePlugins={},E=t.availablePresets={};t.buildExternalHelpers=y.buildExternalHelpers;u({"check-es2015-constants":r(66),"external-helpers":r(322),"inline-replace-variables":r(323),"syntax-async-functions":r(67),"syntax-async-generators":r(195),"syntax-class-constructor-call":r(196),"syntax-class-properties":r(197),"syntax-decorators":r(125),"syntax-do-expressions":r(198),"syntax-exponentiation-operator":r(199),"syntax-export-extensions":r(200),"syntax-flow":r(126),"syntax-function-bind":r(201),"syntax-function-sent":r(325),"syntax-jsx":r(127),"syntax-object-rest-spread":r(202),"syntax-trailing-function-commas":r(128),"transform-async-functions":r(326),"transform-async-to-generator":r(129),"transform-async-to-module-method":r(328),"transform-class-constructor-call":r(203),"transform-class-properties":r(204),"transform-decorators":r(205),"transform-decorators-legacy":r(329).default,"transform-do-expressions":r(206),"transform-es2015-arrow-functions":r(68),"transform-es2015-block-scoped-functions":r(69),"transform-es2015-block-scoping":r(70),"transform-es2015-classes":r(71),"transform-es2015-computed-properties":r(72),"transform-es2015-destructuring":r(73),"transform-es2015-duplicate-keys":r(130),"transform-es2015-for-of":r(74),"transform-es2015-function-name":r(75),"transform-es2015-instanceof":r(332),"transform-es2015-literals":r(76),"transform-es2015-modules-amd":r(131),"transform-es2015-modules-commonjs":r(77),"transform-es2015-modules-systemjs":r(208),"transform-es2015-modules-umd":r(209),"transform-es2015-object-super":r(78),"transform-es2015-parameters":r(79),"transform-es2015-shorthand-properties":r(80),"transform-es2015-spread":r(81),"transform-es2015-sticky-regex":r(82),"transform-es2015-template-literals":r(83),"transform-es2015-typeof-symbol":r(84),"transform-es2015-unicode-regex":r(85),"transform-es3-member-expression-literals":r(336),"transform-es3-property-literals":r(337),"transform-es5-property-mutators":r(338),"transform-eval":r(339),"transform-exponentiation-operator":r(132),"transform-export-extensions":r(210),"transform-flow-comments":r(340),"transform-flow-strip-types":r(211),"transform-function-bind":r(212),"transform-jscript":r(341),"transform-object-assign":r(342),"transform-object-rest-spread":r(213),"transform-object-set-prototype-of-to-assign":r(343),"transform-proto-to-assign":r(344),"transform-react-constant-elements":r(345),"transform-react-display-name":r(214),"transform-react-inline-elements":r(346),"transform-react-jsx":r(215),"transform-react-jsx-compat":r(347),"transform-react-jsx-self":r(349),"transform-react-jsx-source":r(350),"transform-regenerator":r(86),"transform-runtime":r(353),"transform-strict-mode":r(216),"undeclared-variables-check":r(354)}),c({es2015:r(217),es2016:r(218),es2017:r(219),latest:r(356),react:r(357),"stage-0":r(358),"stage-1":r(220),"stage-2":r(221),"stage-3":r(222),"es2015-no-commonjs":{plugins:[r(83),r(76),r(75),r(68),r(69),r(71),r(78),r(80),r(72),r(74),r(82),r(85),r(66),r(81),r(79),r(73),r(70),r(84),[r(86),{async:!1,asyncGenerators:!1}]]},"es2015-loose":{plugins:[[r(83),{loose:!0}],r(76),r(75),r(68),r(69),[r(71),{loose:!0}],r(78),r(80),r(130),[r(72),{loose:!0}],[r(74),{loose:!0}],r(82),r(85),r(66),[r(81),{loose:!0}],r(79),[r(73),{loose:!0}],r(70),r(84),[r(77),{loose:!0}],[r(86),{async:!1,asyncGenerators:!1}]]}});t.version="6.26.0";"undefined"!=typeof window&&window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",function(){return f()},!1)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=z["is"+e];t||(t=z["is"+e]=function(t,r){return z.is(e,t,r)}),z["assert"+e]=function(r,n){if(n=n||{},!t(r,n))throw new Error("Expected type "+(0,I.default)(e)+" with option "+(0,I.default)(n))}}function s(e,t,r){return!!t&&(!!a(t.type,e)&&(void 0===r||z.shallowEqual(t,r)))}function a(e,t){if(e===t)return!0;if(z.ALIAS_KEYS[t])return!1;var r=z.FLIPPED_ALIAS_KEYS[t];if(r){if(r[0]===e)return!0;for(var n=r,i=Array.isArray(n),s=0,n=i?n:(0,T.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}if(e===a)return!0}}return!1}function o(e,t,r){if(e){var n=z.NODE_FIELDS[e.type];if(n){var i=n[t];i&&i.validate&&(i.optional&&null==r||i.validate(e,t,r))}}}function u(e,t){for(var r=(0,B.default)(t),n=r,i=Array.isArray(n),s=0,n=i?n:(0,T.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a;if(e[o]!==t[o])return!1}return!0}function l(e,t,r){return e.object=z.memberExpression(e.object,e.property,e.computed),e.property=t,e.computed=!!r,e}function c(e,t){return e.object=z.memberExpression(t,e.object),e}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body";return e[t]=z.toBlock(e[t],e)}function p(e){if(!e)return e;var t={};for(var r in e)"_"!==r[0]&&(t[r]=e[r]);return t}function d(e){var t=p(e);return delete t.loc,t}function h(e){if(!e)return e;var t={};for(var r in e)if("_"!==r[0]){var n=e[r];n&&(n.type?n=z.cloneDeep(n):Array.isArray(n)&&(n=n.map(z.cloneDeep))),t[r]=n}return t}function m(e,t){var r=e.split(".");return function(e){if(!z.isMemberExpression(e))return!1;for(var n=[e],i=0;n.length;){var s=n.shift();if(t&&i===r.length)return!0;if(z.isIdentifier(s)){if(r[i]!==s.name)return!1}else{if(!z.isStringLiteral(s)){if(z.isMemberExpression(s)){if(s.computed&&!z.isStringLiteral(s.property))return!1;n.push(s.object),n.push(s.property);continue}return!1}if(r[i]!==s.value)return!1}if(++i>r.length)return!1}return!0}}function y(e){for(var t=z.COMMENT_KEYS,r=Array.isArray(t),n=0,t=r?t:(0,T.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}delete e[i]}return e}function v(e,t){return g(e,t),b(e,t),E(e,t),e}function g(e,t){x("trailingComments",e,t)}function b(e,t){x("leadingComments",e,t)}function E(e,t){x("innerComments",e,t)}function x(e,t,r){t&&r&&(t[e]=(0,K.default)([].concat(t[e],r[e]).filter(Boolean)))}function A(e,t){if(!e||!t)return e;for(var r=z.INHERIT_KEYS.optional,n=Array.isArray(r),i=0,r=n?r:(0,T.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var a=s;null==e[a]&&(e[a]=t[a])}for(var o in t)"_"===o[0]&&(e[o]=t[o]);for(var u=z.INHERIT_KEYS.force,l=Array.isArray(u),c=0,u=l?u:(0,T.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var p=f;e[p]=t[p]}return z.inheritsComments(e,t),e}function S(e){if(!_(e))throw new TypeError("Not a valid node "+(e&&e.type))}function _(e){return!(!e||!H.VISITOR_KEYS[e.type])}function D(e,t,r){if(e){var n=z.VISITOR_KEYS[e.type];if(n){r=r||{},t(e,r);for(var i=n,s=Array.isArray(i),a=0,i=s?i:(0,T.default)(i);;){var o;if(s){if(a>=i.length)break;o=i[a++]}else{if(a=i.next(),a.done)break;o=a.value}var u=o,l=e[u];if(Array.isArray(l))for(var c=l,f=Array.isArray(c),p=0,c=f?c:(0,T.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if(p=c.next(),p.done)break;d=p.value}var h=d;D(h,t,r)}else D(l,t,r)}}}}function C(e,t){t=t||{};for(var r=t.preserveComments?Z:ee,n=r,i=Array.isArray(n),s=0,n=i?n:(0,T.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a;null!=e[o]&&(e[o]=void 0)}for(var u in e)"_"===u[0]&&null!=e[u]&&(e[u]=void 0);for(var l=(0,k.default)(e),c=l,f=Array.isArray(c),p=0,c=f?c:(0,T.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if(p=c.next(),p.done)break;d=p.value}e[d]=null}}function w(e,t){return D(e,C,t),e}t.__esModule=!0,t.createTypeAnnotationBasedOnTypeof=t.removeTypeDuplicates=t.createUnionTypeAnnotation=t.valueToNode=t.toBlock=t.toExpression=t.toStatement=t.toBindingIdentifierName=t.toIdentifier=t.toKeyAlias=t.toSequenceExpression=t.toComputedKey=t.isNodesEquivalent=t.isImmutable=t.isScope=t.isSpecifierDefault=t.isVar=t.isBlockScoped=t.isLet=t.isValidIdentifier=t.isReferenced=t.isBinding=t.getOuterBindingIdentifiers=t.getBindingIdentifiers=t.TYPES=t.react=t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.NODE_FIELDS=t.ALIAS_KEYS=t.VISITOR_KEYS=t.NOT_LOCAL_BINDING=t.BLOCK_SCOPED_SYMBOL=t.INHERIT_KEYS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.NUMBER_UNARY_OPERATORS=t.BOOLEAN_UNARY_OPERATORS=t.BINARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.EQUALITY_BINARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.UPDATE_OPERATORS=t.LOGICAL_OPERATORS=t.COMMENT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.STATEMENT_OR_BLOCK_KEYS=void 0;var P=r(360),k=n(P),F=r(2),T=n(F),O=r(14),B=n(O),R=r(35),I=n(R),M=r(135);Object.defineProperty(t,"STATEMENT_OR_BLOCK_KEYS",{enumerable:!0,get:function(){return M.STATEMENT_OR_BLOCK_KEYS}}),Object.defineProperty(t,"FLATTENABLE_KEYS",{enumerable:!0,get:function(){return M.FLATTENABLE_KEYS}}),Object.defineProperty(t,"FOR_INIT_KEYS",{enumerable:!0,get:function(){return M.FOR_INIT_KEYS}}),Object.defineProperty(t,"COMMENT_KEYS",{enumerable:!0,get:function(){return M.COMMENT_KEYS}}),Object.defineProperty(t,"LOGICAL_OPERATORS",{enumerable:!0,get:function(){return M.LOGICAL_OPERATORS}}),Object.defineProperty(t,"UPDATE_OPERATORS",{enumerable:!0,get:function(){return M.UPDATE_OPERATORS}}),Object.defineProperty(t,"BOOLEAN_NUMBER_BINARY_OPERATORS",{enumerable:!0,get:function(){return M.BOOLEAN_NUMBER_BINARY_OPERATORS}}),Object.defineProperty(t,"EQUALITY_BINARY_OPERATORS",{enumerable:!0,get:function(){return M.EQUALITY_BINARY_OPERATORS}}),Object.defineProperty(t,"COMPARISON_BINARY_OPERATORS",{enumerable:!0,get:function(){return M.COMPARISON_BINARY_OPERATORS}}),Object.defineProperty(t,"BOOLEAN_BINARY_OPERATORS",{enumerable:!0,get:function(){return M.BOOLEAN_BINARY_OPERATORS}}),Object.defineProperty(t,"NUMBER_BINARY_OPERATORS",{enumerable:!0,get:function(){return M.NUMBER_BINARY_OPERATORS}}),Object.defineProperty(t,"BINARY_OPERATORS",{enumerable:!0,get:function(){return M.BINARY_OPERATORS}}),Object.defineProperty(t,"BOOLEAN_UNARY_OPERATORS",{enumerable:!0,get:function(){return M.BOOLEAN_UNARY_OPERATORS}}),Object.defineProperty(t,"NUMBER_UNARY_OPERATORS",{enumerable:!0,get:function(){return M.NUMBER_UNARY_OPERATORS}}),Object.defineProperty(t,"STRING_UNARY_OPERATORS",{enumerable:!0,get:function(){return M.STRING_UNARY_OPERATORS}}),Object.defineProperty(t,"UNARY_OPERATORS",{enumerable:!0,get:function(){return M.UNARY_OPERATORS}}),Object.defineProperty(t,"INHERIT_KEYS",{enumerable:!0,get:function(){return M.INHERIT_KEYS}}),Object.defineProperty(t,"BLOCK_SCOPED_SYMBOL",{enumerable:!0,get:function(){return M.BLOCK_SCOPED_SYMBOL}}),Object.defineProperty(t,"NOT_LOCAL_BINDING",{enumerable:!0,get:function(){return M.NOT_LOCAL_BINDING}}),t.is=s,t.isType=a,t.validate=o,t.shallowEqual=u,t.appendToMemberExpression=l,t.prependToMemberExpression=c,t.ensureBlock=f,t.clone=p,t.cloneWithoutLoc=d,t.cloneDeep=h,t.buildMatchMemberExpression=m,t.removeComments=y,t.inheritsComments=v,t.inheritTrailingComments=g,t.inheritLeadingComments=b,t.inheritInnerComments=E,t.inherits=A,t.assertNode=S,t.isNode=_,t.traverseFast=D,t.removeProperties=C,t.removePropertiesDeep=w;var N=r(226);Object.defineProperty(t,"getBindingIdentifiers",{enumerable:!0,get:function(){return N.getBindingIdentifiers}}),Object.defineProperty(t,"getOuterBindingIdentifiers",{enumerable:!0,get:function(){return N.getOuterBindingIdentifiers}});var L=r(395);Object.defineProperty(t,"isBinding",{enumerable:!0,get:function(){return L.isBinding}}),Object.defineProperty(t,"isReferenced",{enumerable:!0,get:function(){return L.isReferenced}}),Object.defineProperty(t,"isValidIdentifier",{enumerable:!0,get:function(){return L.isValidIdentifier}}),Object.defineProperty(t,"isLet",{enumerable:!0,get:function(){return L.isLet}}),Object.defineProperty(t,"isBlockScoped",{enumerable:!0,get:function(){return L.isBlockScoped}}),Object.defineProperty(t,"isVar",{enumerable:!0,get:function(){return L.isVar}}),Object.defineProperty(t,"isSpecifierDefault",{enumerable:!0,get:function(){return L.isSpecifierDefault}}),Object.defineProperty(t,"isScope",{enumerable:!0,get:function(){return L.isScope}}),Object.defineProperty(t,"isImmutable",{enumerable:!0,get:function(){return L.isImmutable}}),Object.defineProperty(t,"isNodesEquivalent",{enumerable:!0,get:function(){return L.isNodesEquivalent}});var j=r(385);Object.defineProperty(t,"toComputedKey",{enumerable:!0,get:function(){return j.toComputedKey}}),Object.defineProperty(t,"toSequenceExpression",{enumerable:!0,get:function(){return j.toSequenceExpression}}),Object.defineProperty(t,"toKeyAlias",{enumerable:!0,get:function(){return j.toKeyAlias}}),Object.defineProperty(t,"toIdentifier",{enumerable:!0,get:function(){return j.toIdentifier}}),Object.defineProperty(t,"toBindingIdentifierName",{enumerable:!0,get:function(){return j.toBindingIdentifierName}}),Object.defineProperty(t,"toStatement",{enumerable:!0,get:function(){return j.toStatement}}),Object.defineProperty(t,"toExpression",{enumerable:!0,get:function(){return j.toExpression}}),Object.defineProperty(t,"toBlock",{enumerable:!0,get:function(){return j.toBlock}}),Object.defineProperty(t,"valueToNode",{enumerable:!0,get:function(){return j.valueToNode}});var U=r(393);Object.defineProperty(t,"createUnionTypeAnnotation",{enumerable:!0,get:function(){return U.createUnionTypeAnnotation}}),Object.defineProperty(t,"removeTypeDuplicates",{enumerable:!0,get:function(){return U.removeTypeDuplicates}}),Object.defineProperty(t,"createTypeAnnotationBasedOnTypeof",{enumerable:!0,get:function(){return U.createTypeAnnotationBasedOnTypeof}});var V=r(624),G=n(V),W=r(109),Y=n(W),q=r(600),K=n(q);r(390);var H=r(26),J=r(394),X=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(J),z=t;t.VISITOR_KEYS=H.VISITOR_KEYS,t.ALIAS_KEYS=H.ALIAS_KEYS,t.NODE_FIELDS=H.NODE_FIELDS,t.BUILDER_KEYS=H.BUILDER_KEYS,t.DEPRECATED_KEYS=H.DEPRECATED_KEYS,t.react=X;for(var $ in z.VISITOR_KEYS)i($);z.FLIPPED_ALIAS_KEYS={},(0,B.default)(z.ALIAS_KEYS).forEach(function(e){z.ALIAS_KEYS[e].forEach(function(t){(z.FLIPPED_ALIAS_KEYS[t]=z.FLIPPED_ALIAS_KEYS[t]||[]).push(e)})}),(0,B.default)(z.FLIPPED_ALIAS_KEYS).forEach(function(e){z[e.toUpperCase()+"_TYPES"]=z.FLIPPED_ALIAS_KEYS[e],i(e)});t.TYPES=(0,B.default)(z.VISITOR_KEYS).concat((0,B.default)(z.FLIPPED_ALIAS_KEYS)).concat((0,B.default)(z.DEPRECATED_KEYS));(0,B.default)(z.BUILDER_KEYS).forEach(function(e){function t(){if(arguments.length>r.length)throw new Error("t."+e+": Too many arguments passed. Received "+arguments.length+" but can receive no more than "+r.length);var t={};t.type=e;for(var n=0,i=r,s=Array.isArray(i),a=0,i=s?i:(0,T.default)(i);;){var u;if(s){if(a>=i.length)break;u=i[a++]}else{if(a=i.next(),a.done)break;u=a.value}var l=u,c=z.NODE_FIELDS[e][l],f=arguments[n++];void 0===f&&(f=(0,Y.default)(c.default)),t[l]=f}for(var p in t)o(t,p,t[p]);return t}var r=z.BUILDER_KEYS[e];z[e]=t,z[e[0].toLowerCase()+e.slice(1)]=t});for(var Q in z.DEPRECATED_KEYS)!function(e){function t(t){return function(){return console.trace("The node type "+e+" has been renamed to "+r),t.apply(this,arguments)}}var r=z.DEPRECATED_KEYS[e];z[e]=z[e[0].toLowerCase()+e.slice(1)]=t(z[r]),z["is"+e]=t(z["is"+r]),z["assert"+e]=t(z["assert"+r])}(Q);(0,G.default)(z),(0,G.default)(z.VISITOR_KEYS);var Z=["tokens","start","end","loc","raw","rawValue"],ee=z.COMMENT_KEYS.concat(["comments"]).concat(Z)},function(e,t,r){"use strict";e.exports={default:r(404),__esModule:!0}},function(e,t){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){e=(0,l.default)(e);var r=e,n=r.program;return t.length&&(0,m.default)(e,A,null,t),n.body.length>1?n.body:n.body[0]}t.__esModule=!0;var a=r(10),o=i(a);t.default=function(e,t){var r=void 0;try{throw new Error}catch(e){e.stack&&(r=e.stack.split("\n").slice(1).join("\n"))}t=(0,f.default)({allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,preserveComments:!1},t);var n=function(){var i=void 0;try{i=v.parse(e,t),i=m.default.removeProperties(i,{preserveComments:t.preserveComments}),m.default.cheap(i,function(e){e[E]=!0})}catch(e){throw e.stack=e.stack+"from\n"+r,e}return n=function(){return i},i};return function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return s(n(),t)}};var u=r(574),l=i(u),c=r(174),f=i(c),p=r(274),d=i(p),h=r(7),m=i(h),y=r(89),v=n(y),g=r(1),b=n(g),E="_fromTemplate",x=(0,o.default)(),A={noScope:!0,enter:function(e,t){var r=e.node;if(r[x])return e.skip();b.isExpressionStatement(r)&&(r=r.expression);var n=void 0;if(b.isIdentifier(r)&&r[E])if((0,d.default)(t[0],r.name))n=t[0][r.name];else if("$"===r.name[0]){var i=+r.name.slice(1);t[i]&&(n=t[i])}null===n&&e.remove(),n&&(n[x]=!0,e.replaceInline(n))},exit:function(e){var t=e.node;t.loc||m.default.clearNode(t)}};e.exports=t.default},function(e,t){"use strict";var r=e.exports={version:"2.5.0"};"number"==typeof __e&&(__e=r)},function(e,t){"use strict";var r=Array.isArray;e.exports=r},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r,n,i){if(e){if(t||(t={}),!t.noScope&&!r&&"Program"!==e.type&&"File"!==e.type)throw new Error(v.get("traverseNeedsParent",e.type));m.explode(t),s.node(e,t,r,n,i)}}function a(e,t){e.node.type===t.type&&(t.has=!0,e.stop())}t.__esModule=!0,t.visitors=t.Hub=t.Scope=t.NodePath=void 0;var o=r(2),u=i(o),l=r(36);Object.defineProperty(t,"NodePath",{enumerable:!0,get:function(){return i(l).default}});var c=r(134);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return i(c).default}});var f=r(223);Object.defineProperty(t,"Hub",{enumerable:!0,get:function(){return i(f).default}}),t.default=s;var p=r(367),d=i(p),h=r(384),m=n(h),y=r(20),v=n(y),g=r(111),b=i(g),E=r(1),x=n(E),A=r(88),S=n(A);t.visitors=m,s.visitors=m,s.verify=m.verify,s.explode=m.explode,s.NodePath=r(36),s.Scope=r(134),s.Hub=r(223),s.cheap=function(e,t){return x.traverseFast(e,t)},s.node=function(e,t,r,n,i,s){var a=x.VISITOR_KEYS[e.type];if(a)for(var o=new d.default(r,t,n,i),l=a,c=Array.isArray(l),f=0,l=c?l:(0,u.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if(f=l.next(),f.done)break;p=f.value}var h=p;if((!s||!s[h])&&o.visit(e,h))return}},s.clearNode=function(e,t){x.removeProperties(e,t),S.path.delete(e)},s.removeProperties=function(e,t){return x.traverseFast(e,s.clearNode,t),e},s.hasType=function(e,t,r,n){if((0,b.default)(n,e.type))return!1;if(e.type===r)return!0;var i={has:!1,type:r};return s(e,{blacklist:n,enter:a},t,i),i.has},s.clearCache=function(){S.clear()},s.clearCache.clearPath=S.clearPath,s.clearCache.clearScope=S.clearScope,s.copyCache=function(e,t){S.path.has(e)&&S.path.set(t,S.path.get(e))}},function(e,t){"use strict";function r(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function i(e){if(c===setTimeout)return setTimeout(e,0);if((c===r||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function s(e){if(f===clearTimeout)return clearTimeout(e);if((f===n||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function a(){m&&d&&(m=!1,d.length?h=d.concat(h):y=-1,h.length&&o())}function o(){if(!m){var e=i(a);m=!0;for(var t=h.length;t;){for(d=h,h=[];++y<t;)d&&d[y].run();y=-1,t=h.length}d=null,m=!1,s(e)}}function u(e,t){this.fun=e,this.array=t}function l(){}var c,f,p=e.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:r}catch(e){c=r}try{f="function"==typeof clearTimeout?clearTimeout:n}catch(e){f=n}}();var d,h=[],m=!1,y=-1;p.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];h.push(new u(e,t)),1!==h.length||m||i(o)},u.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=l,p.addListener=l,p.once=l,p.off=l,p.removeListener=l,p.removeAllListeners=l,p.emit=l,p.prependListener=l,p.prependOnceListener=l,p.listeners=function(e){return[]},p.binding=function(e){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(e){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(e,t,r){"use strict";e.exports={default:r(409),__esModule:!0}},function(e,t,r){"use strict";e.exports={default:r(414),__esModule:!0}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.__esModule=!0;var s=r(363),a=n(s),o=r(10),u=n(o),l="function"==typeof u.default&&"symbol"===i(a.default)?function(e){return void 0===e?"undefined":i(e)}:function(e){return e&&"function"==typeof u.default&&e.constructor===u.default&&e!==u.default.prototype?"symbol":void 0===e?"undefined":i(e)};t.default="function"==typeof u.default&&"symbol"===l(a.default)?function(e){return void 0===e?"undefined":l(e)}:function(e){return e&&"function"==typeof u.default&&e.constructor===u.default&&e!==u.default.prototype?"symbol":void 0===e?"undefined":l(e)}},function(e,t,r){"use strict";var n=r(15),i=r(5),s=r(43),a=r(29),o=function e(t,r,o){var u,l,c,f=t&e.F,p=t&e.G,d=t&e.S,h=t&e.P,m=t&e.B,y=t&e.W,v=p?i:i[r]||(i[r]={}),g=v.prototype,b=p?n:d?n[r]:(n[r]||{}).prototype;p&&(o=r);for(u in o)(l=!f&&b&&void 0!==b[u])&&u in v||(c=l?b[u]:o[u],v[u]=p&&"function"!=typeof b[u]?o[u]:m&&l?s(c,n):y&&b[u]==c?function(e){var t=function(t,r,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,r)}return new e(t,r,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(c):h&&"function"==typeof c?s(Function.call,c):c,h&&((v.virtual||(v.virtual={}))[u]=c,t&e.R&&g&&!g[u]&&a(g,u,c)))};o.F=1,o.G=2,o.S=4,o.P=8,o.B=16,o.W=32,o.U=64,o.R=128,e.exports=o},function(e,t,r){"use strict";var n=r(151)("wks"),i=r(95),s=r(15).Symbol,a="function"==typeof s;(e.exports=function(e){return n[e]||(n[e]=a&&s[e]||(a?s:i)("Symbol."+e))}).store=n},function(e,t,r){"use strict";e.exports={default:r(411),__esModule:!0}},function(e,t){"use strict";var r=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(e,t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=function(e){return"object"===(void 0===e?"undefined":r(e))?null!==e:"function"==typeof e}},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=r(261),s="object"==("undefined"==typeof self?"undefined":n(self))&&self&&self.Object===Object&&self,a=i||s||Function("return this")();e.exports=a},function(e,t){"use strict";function r(e){var t=void 0===e?"undefined":n(e);return null!=e&&("object"==t||"function"==t)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=r},function(e,t,r){(function(e){"use strict";function r(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n<e.length;n++)t(e[n],n,e)&&r.push(e[n]);return r}var i=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,s=function(e){return i.exec(e).slice(1)};t.resolve=function(){for(var t="",i=!1,s=arguments.length-1;s>=-1&&!i;s--){var a=s>=0?arguments[s]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(t=a+"/"+t,i="/"===a.charAt(0))}return t=r(n(t.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+t||"."},t.normalize=function(e){var i=t.isAbsolute(e),s="/"===a(e,-1);return e=r(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&s&&(e+="/"),(i?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(n(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,r){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var i=n(e.split("/")),s=n(r.split("/")),a=Math.min(i.length,s.length),o=a,u=0;u<a;u++)if(i[u]!==s[u]){o=u;break}for(var l=[],u=o;u<i.length;u++)l.push("..");return l=l.concat(s.slice(o)),l.join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){var t=s(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},t.basename=function(e,t){var r=s(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){return s(e)[3]};var a="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(t,r(8))},function(e,t,r){"use strict";function n(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var s=l[e];if(!s)throw new ReferenceError("Unknown message "+(0,a.default)(e));return r=i(r),s.replace(/\$(\d+)/g,function(e,t){return r[t-1]})}function i(e){return e.map(function(e){if(null!=e&&e.inspect)return e.inspect();try{return(0,a.default)(e)||e+""}catch(t){return u.inspect(e)}})}t.__esModule=!0,t.MESSAGES=void 0;var s=r(35),a=function(e){return e&&e.__esModule?e:{default:e}}(s);t.get=n,t.parseArgs=i;var o=r(117),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(o),l=t.MESSAGES={tailCallReassignmentDeopt:"Function reference has been reassigned, so it will probably be dereferenced, therefore we can't optimise this with confidence",classesIllegalBareSuper:"Illegal use of bare super",classesIllegalSuperCall:"Direct super call is illegal in non-constructor, use super.$1() instead",scopeDuplicateDeclaration:"Duplicate declaration $1",settersNoRest:"Setters aren't allowed to have a rest",noAssignmentsInForHead:"No assignments allowed in for-in/of head",expectedMemberExpressionOrIdentifier:"Expected type MemberExpression or Identifier",invalidParentForThisNode:"We don't know how to handle this node within the current parent - please open an issue",readOnly:"$1 is read-only",unknownForHead:"Unknown node type $1 in ForStatement",didYouMean:"Did you mean $1?",codeGeneratorDeopt:"Note: The code generator has deoptimised the styling of $1 as it exceeds the max of $2.",missingTemplatesDirectory:"no templates directory - this is most likely the result of a broken `npm publish`. Please report to https://github.com/babel/babel/issues",unsupportedOutputType:"Unsupported output type $1",illegalMethodName:"Illegal method name $1",lostTrackNodePath:"We lost track of this node's position, likely because the AST was directly manipulated",modulesIllegalExportName:"Illegal export $1",modulesDuplicateDeclarations:"Duplicate module declarations with the same source but in different scopes",undeclaredVariable:"Reference to undeclared variable $1",undeclaredVariableType:"Referencing a type alias outside of a type annotation",undeclaredVariableSuggestion:"Reference to undeclared variable $1 - did you mean $2?",traverseNeedsParent:"You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a $1 node without passing scope and parentPath.",traverseVerifyRootFunction:"You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?",traverseVerifyVisitorProperty:"You passed `traverse()` a visitor object with the property $1 that has the invalid property $2",traverseVerifyNodeType:"You gave us a visitor for the node type $1 but it's not a valid type",pluginNotObject:"Plugin $2 specified in $1 was expected to return an object when invoked but returned $3",pluginNotFunction:"Plugin $2 specified in $1 was expected to return a function but returned $3",
pluginUnknown:"Unknown plugin $1 specified in $2 at $3, attempted to resolve relative to $4",pluginInvalidProperty:"Plugin $2 specified in $1 provided an invalid property of $3"}},function(e,t,r){"use strict";var n=r(16);e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},function(e,t,r){"use strict";e.exports=!r(27)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,r){"use strict";var n=r(21),i=r(231),s=r(154),a=Object.defineProperty;t.f=r(22)?Object.defineProperty:function(e,t,r){if(n(e),t=s(t,!0),n(r),i)try{return a(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(e[t]=r.value),e}},function(e,t,r){"use strict";function n(e){return null!=e&&s(e.length)&&!i(e)}var i=r(175),s=r(176);e.exports=n},function(e,t){"use strict";function r(e){return null!=e&&"object"==(void 0===e?"undefined":n(e))}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=r},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){return Array.isArray(e)?"array":null===e?"null":void 0===e?"undefined":void 0===e?"undefined":(0,v.default)(e)}function s(e){function t(t,r,n){if(Array.isArray(n))for(var i=0;i<n.length;i++)e(t,r+"["+i+"]",n[i])}return t.each=e,t}function a(){function e(e,t,n){if(r.indexOf(n)<0)throw new TypeError("Property "+t+" expected value to be one of "+(0,m.default)(r)+" but got "+(0,m.default)(n))}for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.oneOf=r,e}function o(){function e(e,t,n){for(var i=!1,s=r,a=Array.isArray(s),o=0,s=a?s:(0,d.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if(o=s.next(),o.done)break;u=o.value}var l=u;if(b.is(l,n)){i=!0;break}}if(!i)throw new TypeError("Property "+t+" of "+e.type+" expected node to be of a type "+(0,m.default)(r)+" but instead got "+(0,m.default)(n&&n.type))}for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.oneOfNodeTypes=r,e}function u(){function e(e,t,n){for(var s=!1,a=r,o=Array.isArray(a),u=0,a=o?a:(0,d.default)(a);;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;if(i(n)===c||b.is(c,n)){s=!0;break}}if(!s)throw new TypeError("Property "+t+" of "+e.type+" expected node to be of a type "+(0,m.default)(r)+" but instead got "+(0,m.default)(n&&n.type))}for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.oneOfNodeOrValueTypes=r,e}function l(e){function t(t,r,n){if(i(n)!==e)throw new TypeError("Property "+r+" expected type of "+e+" but got "+i(n))}return t.type=e,t}function c(){function e(){for(var e=r,t=Array.isArray(e),n=0,e=t?e:(0,d.default)(e);;){var i;if(t){if(n>=e.length)break;i=e[n++]}else{if(n=e.next(),n.done)break;i=n.value}i.apply(void 0,arguments)}}for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.chainOf=r,e}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.inherits&&D[t.inherits]||{};t.fields=t.fields||r.fields||{},t.visitor=t.visitor||r.visitor||[],t.aliases=t.aliases||r.aliases||[],t.builder=t.builder||r.builder||t.visitor||[],t.deprecatedAlias&&(_[t.deprecatedAlias]=e);for(var n=t.visitor.concat(t.builder),s=Array.isArray(n),a=0,n=s?n:(0,d.default)(n);;){var o;if(s){if(a>=n.length)break;o=n[a++]}else{if(a=n.next(),a.done)break;o=a.value}var u=o;t.fields[u]=t.fields[u]||{}}for(var c in t.fields){var f=t.fields[c];-1===t.builder.indexOf(c)&&(f.optional=!0),void 0===f.default?f.default=null:f.validate||(f.validate=l(i(f.default)))}E[e]=t.visitor,S[e]=t.builder,A[e]=t.fields,x[e]=t.aliases,D[e]=t}t.__esModule=!0,t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.NODE_FIELDS=t.ALIAS_KEYS=t.VISITOR_KEYS=void 0;var p=r(2),d=n(p),h=r(35),m=n(h),y=r(11),v=n(y);t.assertEach=s,t.assertOneOf=a,t.assertNodeType=o,t.assertNodeOrValueType=u,t.assertValueType=l,t.chain=c,t.default=f;var g=r(1),b=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(g),E=t.VISITOR_KEYS={},x=t.ALIAS_KEYS={},A=t.NODE_FIELDS={},S=t.BUILDER_KEYS={},_=t.DEPRECATED_KEYS={},D={}},function(e,t){"use strict";e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){"use strict";var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},function(e,t,r){"use strict";var n=r(23),i=r(92);e.exports=r(22)?function(e,t,r){return n.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},function(e,t,r){"use strict";function n(e){return null==e?void 0===e?u:o:l&&l in Object(e)?s(e):a(e)}var i=r(45),s=r(534),a=r(559),o="[object Null]",u="[object Undefined]",l=i?i.toStringTag:void 0;e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n){var a=!r;r||(r={});for(var o=-1,u=t.length;++o<u;){var l=t[o],c=n?n(r[l],e[l],l,r,e):void 0;void 0===c&&(c=e[l]),a?s(r,l,c):i(r,l,c)}return r}var i=r(162),s=r(163);e.exports=n},function(e,t,r){"use strict";function n(e){return a(e)?i(e):s(e)}var i=r(245),s=r(500),a=r(24);e.exports=n},function(e,t){"use strict";e.exports={filename:{type:"filename",description:"filename to use when reading from stdin - this will be used in source-maps, errors etc",default:"unknown",shorthand:"f"},filenameRelative:{hidden:!0,type:"string"},inputSourceMap:{hidden:!0},env:{hidden:!0,default:{}},mode:{description:"",hidden:!0},retainLines:{type:"boolean",default:!1,description:"retain line numbers - will result in really ugly code"},highlightCode:{description:"enable/disable ANSI syntax highlighting of code frames (on by default)",type:"boolean",default:!0},suppressDeprecationMessages:{type:"boolean",default:!1,hidden:!0},presets:{type:"list",description:"",default:[]},plugins:{type:"list",default:[],description:""},ignore:{type:"list",description:"list of glob paths to **not** compile",default:[]},only:{type:"list",description:"list of glob paths to **only** compile"},code:{hidden:!0,default:!0,type:"boolean"},metadata:{hidden:!0,default:!0,type:"boolean"},ast:{hidden:!0,default:!0,type:"boolean"},extends:{type:"string",hidden:!0},comments:{type:"boolean",default:!0,description:"write comments to generated output (true by default)"},shouldPrintComment:{hidden:!0,description:"optional callback to control whether a comment should be inserted, when this is used the comments option is ignored"},wrapPluginVisitorMethod:{hidden:!0,description:"optional callback to wrap all visitor methods"},compact:{type:"booleanString",default:"auto",description:"do not include superfluous whitespace characters and line terminators [true|false|auto]"},minified:{type:"boolean",default:!1,description:"save as much bytes when printing [true|false]"},sourceMap:{alias:"sourceMaps",hidden:!0},sourceMaps:{type:"booleanString",description:"[true|false|inline]",default:!1,shorthand:"s"},sourceMapTarget:{type:"string",description:"set `file` on returned source map"},sourceFileName:{type:"string",description:"set `sources[0]` on returned source map"},sourceRoot:{type:"filename",description:"the root from which all sources are relative"},babelrc:{description:"Whether or not to look up .babelrc and .babelignore files",type:"boolean",default:!0},sourceType:{description:"",default:"module"},auxiliaryCommentBefore:{type:"string",description:"print a comment before any injected non-user code"},auxiliaryCommentAfter:{type:"string",description:"print a comment after any injected non-user code"},resolveModuleSource:{hidden:!0},getModuleId:{hidden:!0},moduleRoot:{type:"filename",description:"optional prefix for the AMD module formatter that will be prepend to the filename on module definitions"},moduleIds:{type:"boolean",default:!1,shorthand:"M",description:"insert an explicit id for modules"},moduleId:{description:"specify a custom name for module ids",type:"string"},passPerPreset:{description:"Whether to spawn a traversal pass per a preset. By default all presets are merged.",type:"boolean",default:!1,hidden:!0},parserOpts:{description:"Options to pass into the parser, or to change parsers (parserOpts.parser)",default:!1},generatorOpts:{description:"Options to pass into the generator, or to change generators (generatorOpts.generator)",default:!1}}},function(e,t,r){(function(n){"use strict";function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function s(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=r(366),o=s(a),u=r(35),l=s(u),c=r(87),f=s(c),p=r(2),d=s(p),h=r(11),m=s(h),y=r(3),v=s(y),g=r(182),b=i(g),E=r(65),x=s(E),A=r(20),S=i(A),_=r(52),D=r(184),C=s(D),w=r(185),P=s(w),k=r(575),F=s(k),T=r(109),O=s(T),B=r(293),R=s(B),I=r(33),M=s(I),N=r(54),L=s(N),j=r(51),U=s(j),V=r(19),G=s(V),W=function(){function e(t){(0,v.default)(this,e),this.resolvedConfigs=[],this.options=e.createBareOptions(),this.log=t}return e.memoisePluginContainer=function(t,r,n,i){for(var s=e.memoisedPlugins,a=Array.isArray(s),o=0,s=a?s:(0,d.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if(o=s.next(),o.done)break;u=o.value}var l=u;if(l.container===t)return l.plugin}var c=void 0;if(c="function"==typeof t?t(b):t,"object"===(void 0===c?"undefined":(0,m.default)(c))){var f=new x.default(c,i);return e.memoisedPlugins.push({container:t,plugin:f}),f}throw new TypeError(S.get("pluginNotObject",r,n,void 0===c?"undefined":(0,m.default)(c))+r+n)},e.createBareOptions=function(){var e={};for(var t in M.default){var r=M.default[t];e[t]=(0,O.default)(r.default)}return e},e.normalisePlugin=function(t,r,n,i){if(!((t=t.__esModule?t.default:t)instanceof x.default)){if("function"!=typeof t&&"object"!==(void 0===t?"undefined":(0,m.default)(t)))throw new TypeError(S.get("pluginNotFunction",r,n,void 0===t?"undefined":(0,m.default)(t)));t=e.memoisePluginContainer(t,r,n,i)}return t.init(r,n),t},e.normalisePlugins=function(t,n,i){return i.map(function(i,s){var a=void 0,o=void 0;if(!i)throw new TypeError("Falsy value found in plugins");Array.isArray(i)?(a=i[0],o=i[1]):a=i;var u="string"==typeof a?a:t+"$"+s;if("string"==typeof a){var l=(0,C.default)(a,n);if(!l)throw new ReferenceError(S.get("pluginUnknown",a,t,s,n));a=r(179)(l)}return a=e.normalisePlugin(a,t,s,u),[a,o]})},e.prototype.mergeOptions=function(t){var r=this,i=t.options,s=t.extending,a=t.alias,o=t.loc,u=t.dirname;if(a=a||"foreign",i){("object"!==(void 0===i?"undefined":(0,m.default)(i))||Array.isArray(i))&&this.log.error("Invalid options type for "+a,TypeError);var l=(0,F.default)(i,function(e){if(e instanceof x.default)return e});u=u||n.cwd(),o=o||a;for(var c in l){if(!M.default[c]&&this.log)if(L.default[c])this.log.error("Using removed Babel 5 option: "+a+"."+c+" - "+L.default[c].message,ReferenceError);else{var p="Unknown option: "+a+"."+c+". Check out http://babeljs.io/docs/usage/options/ for more information about options.";this.log.error(p+"\n\nA common cause of this error is the presence of a configuration options object without the corresponding preset name. Example:\n\nInvalid:\n  `{ presets: [{option: value}] }`\nValid:\n  `{ presets: [['presetName', {option: value}]] }`\n\nFor more detailed information on preset configuration, please see http://babeljs.io/docs/plugins/#pluginpresets-options.",ReferenceError)}}(0,_.normaliseOptions)(l),l.plugins&&(l.plugins=e.normalisePlugins(o,u,l.plugins)),l.presets&&(l.passPerPreset?l.presets=this.resolvePresets(l.presets,u,function(e,t){r.mergeOptions({options:e,extending:e,alias:t,loc:t,dirname:u})}):(this.mergePresets(l.presets,u),delete l.presets)),i===s?(0,f.default)(s,l):(0,R.default)(s||this.options,l)}},e.prototype.mergePresets=function(e,t){var r=this;this.resolvePresets(e,t,function(e,t){r.mergeOptions({options:e,alias:t,loc:t,dirname:G.default.dirname(t||"")})})},e.prototype.resolvePresets=function(e,t,n){return e.map(function(e){var i=void 0;if(Array.isArray(e)){if(e.length>2)throw new Error("Unexpected extra options "+(0,l.default)(e.slice(2))+" passed to preset.");var s=e;e=s[0],i=s[1]}var a=void 0;try{if("string"==typeof e){if(!(a=(0,P.default)(e,t)))throw new Error("Couldn't find preset "+(0,l.default)(e)+" relative to directory "+(0,l.default)(t));e=r(179)(a)}if("object"===(void 0===e?"undefined":(0,m.default)(e))&&e.__esModule)if(e.default)e=e.default;else{var u=e,c=(u.__esModule,(0,o.default)(u,["__esModule"]));e=c}if("object"===(void 0===e?"undefined":(0,m.default)(e))&&e.buildPreset&&(e=e.buildPreset),"function"!=typeof e&&void 0!==i)throw new Error("Options "+(0,l.default)(i)+" passed to "+(a||"a preset")+" which does not accept options.");if("function"==typeof e&&(e=e(b,i,{dirname:t})),"object"!==(void 0===e?"undefined":(0,m.default)(e)))throw new Error("Unsupported preset format: "+e+".");n&&n(e,a)}catch(e){throw a&&(e.message+=" (While processing preset: "+(0,l.default)(a)+")"),e}return e})},e.prototype.normaliseOptions=function(){var e=this.options;for(var t in M.default){var r=M.default[t],n=e[t];!n&&r.optional||(r.alias?e[r.alias]=e[r.alias]||n:e[t]=n)}},e.prototype.init=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,U.default)(e,this.log),r=Array.isArray(t),n=0,t=r?t:(0,d.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i;this.mergeOptions(s)}return this.normaliseOptions(e),this.options},e}();t.default=W,W.memoisedPlugins=[],e.exports=t.default}).call(t,r(8))},function(e,t,r){"use strict";e.exports={default:r(405),__esModule:!0}},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var s=r(2),a=i(s),o=r(3),u=i(o),l=r(224),c=n(l),f=r(239),p=i(f),d=r(466),h=i(d),m=r(7),y=i(m),v=r(174),g=i(v),b=r(134),E=i(b),x=r(1),A=n(x),S=r(88),_=(0,p.default)("babel"),D=function(){function e(t,r){(0,u.default)(this,e),this.parent=r,this.hub=t,this.contexts=[],this.data={},this.shouldSkip=!1,this.shouldStop=!1,this.removed=!1,this.state=null,this.opts=null,this.skipKeys=null,this.parentPath=null,this.context=null,this.container=null,this.listKey=null,this.inList=!1,this.parentKey=null,this.key=null,this.node=null,this.scope=null,this.type=null,this.typeAnnotation=null}return e.get=function(t){var r=t.hub,n=t.parentPath,i=t.parent,s=t.container,a=t.listKey,o=t.key;!r&&n&&(r=n.hub),(0,h.default)(i,"To get a node path the parent needs to exist");var u=s[o],l=S.path.get(i)||[];S.path.has(i)||S.path.set(i,l);for(var c=void 0,f=0;f<l.length;f++){var p=l[f];if(p.node===u){c=p;break}}return c||(c=new e(r,i),l.push(c)),c.setup(n,s,a,o),c},e.prototype.getScope=function(e){var t=e;return this.isScope()&&(t=new E.default(this,e)),t},e.prototype.setData=function(e,t){return this.data[e]=t},e.prototype.getData=function(e,t){var r=this.data[e];return!r&&t&&(r=this.data[e]=t),r},e.prototype.buildCodeFrameError=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:SyntaxError;return this.hub.file.buildCodeFrameError(this.node,e,t)},e.prototype.traverse=function(e,t){(0,y.default)(this.node,e,this.scope,t,this)},e.prototype.mark=function(e,t){this.hub.file.metadata.marked.push({type:e,message:t,loc:this.node.loc})},e.prototype.set=function(e,t){A.validate(this.node,e,t),this.node[e]=t},e.prototype.getPathLocation=function(){var e=[],t=this;do{var r=t.key;t.inList&&(r=t.listKey+"["+r+"]"),e.unshift(r)}while(t=t.parentPath);return e.join(".")},e.prototype.debug=function(e){_.enabled&&_(this.getPathLocation()+" "+this.type+": "+e())},e}();t.default=D,(0,g.default)(D.prototype,r(368)),(0,g.default)(D.prototype,r(374)),(0,g.default)(D.prototype,r(382)),(0,g.default)(D.prototype,r(372)),(0,g.default)(D.prototype,r(371)),(0,g.default)(D.prototype,r(377)),(0,g.default)(D.prototype,r(370)),(0,g.default)(D.prototype,r(381)),(0,g.default)(D.prototype,r(380)),(0,g.default)(D.prototype,r(373)),(0,g.default)(D.prototype,r(369));for(var C=A.TYPES,w=Array.isArray(C),P=0,C=w?C:(0,a.default)(C);;){var k;if("break"===function(){if(w){if(P>=C.length)return"break";k=C[P++]}else{if(P=C.next(),P.done)return"break";k=P.value}var e=k,t="is"+e;D.prototype[t]=function(e){return A[t](this.node,e)},D.prototype["assert"+e]=function(r){if(!this[t](r))throw new TypeError("Expected node path of type "+e)}}())break}for(var F in c){(function(e){if("_"===e[0])return"continue";A.TYPES.indexOf(e)<0&&A.TYPES.push(e);var t=c[e];D.prototype["is"+e]=function(e){return t.checkPath(this,e)}})(F)}e.exports=t.default},function(e,t,r){"use strict";var n=r(142),i=r(140);e.exports=function(e){return n(i(e))}},function(e,t,r){"use strict";function n(e,t){var r=s(e,t);return i(r)?r:void 0}var i=r(497),s=r(535);e.exports=n},function(e,t){"use strict";e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t,r,n){if(e.selfReference){if(!n.hasBinding(r.name)||n.hasGlobal(r.name)){if(!f.isFunction(t))return;var i=p;t.generator&&(i=d);var s=i({FUNCTION:t,FUNCTION_ID:r,FUNCTION_KEY:n.generateUidIdentifier(r.name)}).expression;s.callee._skipModulesRemap=!0;for(var a=s.callee.body.body[0].params,u=0,l=(0,o.default)(t);u<l;u++)a.push(n.generateUidIdentifier("x"));return s}n.rename(r.name)}t.id=r,n.getProgramParent().references[r.name]=!0}function s(e,t,r){var n={selfAssignment:!1,selfReference:!1,outerDeclar:r.getBindingIdentifier(t),references:[],name:t},i=r.getOwnBinding(t);return i?"param"===i.kind&&(n.selfReference=!0):(n.outerDeclar||r.hasGlobal(t))&&r.traverse(e,h,n),n}t.__esModule=!0,t.default=function(e){var t=e.node,r=e.parent,n=e.scope,a=e.id;if(!t.id){if(!f.isObjectProperty(r)&&!f.isObjectMethod(r,{kind:"method"})||r.computed&&!f.isLiteral(r.key)){if(f.isVariableDeclarator(r)){if(a=r.id,f.isIdentifier(a)){var o=n.parent.getBinding(a.name);if(o&&o.constant&&n.getBinding(a.name)===o)return t.id=a,void(t.id[f.NOT_LOCAL_BINDING]=!0)}}else if(f.isAssignmentExpression(r))a=r.left;else if(!a)return}else a=r.key;var u=void 0;if(a&&f.isLiteral(a))u=a.value;else{if(!a||!f.isIdentifier(a))return;u=a.name}u=f.toBindingIdentifierName(u),a=f.identifier(u),a[f.NOT_LOCAL_BINDING]=!0;return i(s(t,u,n),t,a,n)||t}};var a=r(189),o=n(a),u=r(4),l=n(u),c=r(1),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(c),p=(0,l.default)("\n  (function (FUNCTION_KEY) {\n    function FUNCTION_ID() {\n      return FUNCTION_KEY.apply(this, arguments);\n    }\n\n    FUNCTION_ID.toString = function () {\n      return FUNCTION_KEY.toString();\n    }\n\n    return FUNCTION_ID;\n  })(FUNCTION)\n"),d=(0,l.default)("\n  (function (FUNCTION_KEY) {\n    function* FUNCTION_ID() {\n      return yield* FUNCTION_KEY.apply(this, arguments);\n    }\n\n    FUNCTION_ID.toString = function () {\n      return FUNCTION_KEY.toString();\n    };\n\n    return FUNCTION_ID;\n  })(FUNCTION)\n"),h={"ReferencedIdentifier|BindingIdentifier":function(e,t){if(e.node.name===t.name){e.scope.getBindingIdentifier(t.name)===t.outerDeclar&&(t.selfReference=!0,e.stop())}}};e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(361),s=n(i),a=r(9),o=n(a),u=r(11),l=n(u);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,l.default)(t)));e.prototype=(0,o.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(s.default?(0,s.default)(e,t):e.__proto__=t)}},function(e,t,r){"use strict";t.__esModule=!0;var n=r(11),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,i.default)(t))&&"function"!=typeof t?e:t}},function(e,t,r){"use strict";var n=r(227);e.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,r){"use strict";var n=r(237),i=r(141);e.exports=Object.keys||function(e){return n(e,i)}},function(e,t,r){"use strict";var n=r(17),i=n.Symbol;e.exports=i},function(e,t){"use strict";function r(e,t){return e===t||e!==e&&t!==t}e.exports=r},function(e,t,r){"use strict";function n(e){return a(e)?i(e,!0):s(e)}var i=r(245),s=r(501),a=r(24);e.exports=n},function(e,t,r){"use strict";function n(e){var t=i(e),r=t%1;return t===t?r?t-r:t:0}var i=r(597);e.exports=n},function(e,t){(function(t){e.exports=t}).call(t,{})},function(e,t,r){(function(e){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.File=void 0;var s=r(2),a=i(s),o=r(9),u=i(o),l=r(87),c=i(l),f=r(3),p=i(f),d=r(42),h=i(d),m=r(41),y=i(m),v=r(194),g=i(v),b=r(121),E=n(b),x=r(403),A=i(x),S=r(34),_=i(S),D=r(299),C=i(D),w=r(7),P=i(w),k=r(288),F=i(k),T=r(186),O=i(T),B=r(181),R=i(B),I=r(273),M=i(I),N=r(120),L=i(N),j=r(119),U=i(j),V=r(89),G=r(122),W=n(G),Y=r(19),q=i(Y),K=r(1),H=n(K),J=r(118),X=i(J),z=r(296),$=i(z),Q=r(297),Z=i(Q),ee=/^#!.*/,te=[[$.default],[Z.default]],re={enter:function(e,t){var r=e.node.loc;r&&(t.loc=r,e.stop())}},ne=function(t){function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[1];(0,p.default)(this,n);var i=(0,h.default)(this,t.call(this));return i.pipeline=r,i.log=new L.default(i,e.filename||"unknown"),i.opts=i.initOptions(e),i.parserOpts={sourceType:i.opts.sourceType,sourceFileName:i.opts.filename,plugins:[]},i.pluginVisitors=[],i.pluginPasses=[],i.buildPluginsForOptions(i.opts),i.opts.passPerPreset&&(i.perPresetOpts=[],i.opts.presets.forEach(function(e){var t=(0,c.default)((0,u.default)(i.opts),e);i.perPresetOpts.push(t),i.buildPluginsForOptions(t)})),i.metadata={usedHelpers:[],marked:[],modules:{imports:[],exports:{exported:[],specifiers:[]}}},i.dynamicImportTypes={},i.dynamicImportIds={},i.dynamicImports=[],i.declarations={},i.usedHelpers={},i.path=null,i.ast={},i.code="",i.shebang="",i.hub=new w.Hub(i),i}return(0,y.default)(n,t),n.prototype.getMetadata=function(){for(var e=!1,t=this.ast.program.body,r=Array.isArray(t),n=0,t=r?t:(0,a.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i;if(H.isModuleDeclaration(s)){e=!0;break}}e&&this.path.traverse(E,this)},n.prototype.initOptions=function(e){e=new _.default(this.log,this.pipeline).init(e),e.inputSourceMap&&(e.sourceMaps=!0),e.moduleId&&(e.moduleIds=!0),e.basename=q.default.basename(e.filename,q.default.extname(e.filename)),e.ignore=W.arrayify(e.ignore,W.regexify),e.only&&(e.only=W.arrayify(e.only,W.regexify)),(0,M.default)(e,{moduleRoot:e.sourceRoot}),(0,M.default)(e,{sourceRoot:e.moduleRoot}),(0,M.default)(e,{filenameRelative:e.filename});var t=q.default.basename(e.filenameRelative);return(0,M.default)(e,{sourceFileName:t,sourceMapTarget:t}),e},n.prototype.buildPluginsForOptions=function(e){if(Array.isArray(e.plugins)){for(var t=e.plugins.concat(te),r=[],n=[],i=t,s=Array.isArray(i),o=0,i=s?i:(0,a.default)(i);;){var u;if(s){if(o>=i.length)break;u=i[o++]}else{if(o=i.next(),o.done)break;u=o.value}var l=u,c=l[0],f=l[1];r.push(c.visitor),n.push(new C.default(this,c,f)),c.manipulateOptions&&c.manipulateOptions(e,this.parserOpts,this)}this.pluginVisitors.push(r),this.pluginPasses.push(n)}},n.prototype.getModuleName=function(){var e=this.opts;if(!e.moduleIds)return null;if(null!=e.moduleId&&!e.getModuleId)return e.moduleId;var t=e.filenameRelative,r="";if(null!=e.moduleRoot&&(r=e.moduleRoot+"/"),!e.filenameRelative)return r+e.filename.replace(/^\//,"");if(null!=e.sourceRoot){var n=new RegExp("^"+e.sourceRoot+"/?");t=t.replace(n,"")}return t=t.replace(/\.(\w*?)$/,""),r+=t,r=r.replace(/\\/g,"/"),e.getModuleId?e.getModuleId(r)||r:r},n.prototype.resolveModuleSource=function(e){var t=this.opts.resolveModuleSource;return t&&(e=t(e,this.opts.filename)),e},n.prototype.addImport=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,n=e+":"+t,i=this.dynamicImportIds[n];if(!i){e=this.resolveModuleSource(e),i=this.dynamicImportIds[n]=this.scope.generateUidIdentifier(r);var s=[];"*"===t?s.push(H.importNamespaceSpecifier(i)):"default"===t?s.push(H.importDefaultSpecifier(i)):s.push(H.importSpecifier(i,H.identifier(t)));var a=H.importDeclaration(s,H.stringLiteral(e));a._blockHoist=3,this.path.unshiftContainer("body",a)}return i},n.prototype.addHelper=function(e){var t=this.declarations[e];if(t)return t;this.usedHelpers[e]||(this.metadata.usedHelpers.push(e),this.usedHelpers[e]=!0);var r=this.get("helperGenerator"),n=this.get("helpersNamespace");if(r){var i=r(e);if(i)return i}else if(n)return H.memberExpression(n,H.identifier(e));var s=(0,g.default)(e),a=this.declarations[e]=this.scope.generateUidIdentifier(e);return H.isFunctionExpression(s)&&!s.id?(s.body._compact=!0,s._generated=!0,s.id=a,s.type="FunctionDeclaration",this.path.unshiftContainer("body",s)):(s._compact=!0,this.scope.push({id:a,init:s,unique:!0})),a},n.prototype.addTemplateObject=function(e,t,r){var n=r.elements.map(function(e){return e.value}),i=e+"_"+r.elements.length+"_"+n.join(","),s=this.declarations[i];if(s)return s;var a=this.declarations[i]=this.scope.generateUidIdentifier("templateObject"),o=this.addHelper(e),u=H.callExpression(o,[t,r]);return u._compact=!0,this.scope.push({id:a,init:u,_blockHoist:1.9}),a},n.prototype.buildCodeFrameError=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:SyntaxError,n=e&&(e.loc||e._loc),i=new r(t);return n?i.loc=n.start:((0,P.default)(e,re,this.scope,i),i.message+=" (This is an error on an internal node. Probably an internal error",i.loc&&(i.message+=". Location has been estimated."),i.message+=")"),i},n.prototype.mergeSourceMap=function(e){var t=this.opts.inputSourceMap;if(t){var r=new F.default.SourceMapConsumer(t),n=new F.default.SourceMapConsumer(e),i=new F.default.SourceMapGenerator({file:r.file,sourceRoot:r.sourceRoot}),s=n.sources[0];r.eachMapping(function(e){var t=n.generatedPositionFor({line:e.generatedLine,column:e.generatedColumn,source:s});null!=t.column&&i.addMapping({source:e.source,original:null==e.source?null:{line:e.originalLine,column:e.originalColumn},generated:t})});var a=i.toJSON();return t.mappings=a.mappings,t}return e},n.prototype.parse=function(t){var n=V.parse,i=this.opts.parserOpts;if(i&&(i=(0,c.default)({},this.parserOpts,i),i.parser)){if("string"==typeof i.parser){var s=q.default.dirname(this.opts.filename)||e.cwd(),a=(0,X.default)(i.parser,s);if(!a)throw new Error("Couldn't find parser "+i.parser+' with "parse" method relative to directory '+s);n=r(178)(a).parse}else n=i.parser;i.parser={parse:function(e){return(0,V.parse)(e,i)}}}this.log.debug("Parse start");var o=n(t,i||this.parserOpts);return this.log.debug("Parse stop"),o},n.prototype._addAst=function(e){this.path=w.NodePath.get({hub:this.hub,parentPath:null,parent:e,container:e,key:"program"}).setContext(),this.scope=this.path.scope,this.ast=e,this.getMetadata()},n.prototype.addAst=function(e){this.log.debug("Start set AST"),this._addAst(e),this.log.debug("End set AST")},n.prototype.transform=function(){for(var e=0;e<this.pluginPasses.length;e++){var t=this.pluginPasses[e];this.call("pre",t),this.log.debug("Start transform traverse");var r=P.default.visitors.merge(this.pluginVisitors[e],t,this.opts.wrapPluginVisitorMethod);(0,P.default)(this.ast,r,this.scope),this.log.debug("End transform traverse"),this.call("post",t)}return this.generate()},n.prototype.wrap=function(t,r){t+="";try{return this.shouldIgnore()?this.makeResult({code:t,ignored:!0}):r()}catch(r){if(r._babel)throw r;r._babel=!0;var n=r.message=this.opts.filename+": "+r.message,i=r.loc;if(i&&(r.codeFrame=(0,R.default)(t,i.line,i.column+1,this.opts),n+="\n"+r.codeFrame),e.browser&&(r.message=n),r.stack){var s=r.stack.replace(r.message,n);r.stack=s}throw r}},n.prototype.addCode=function(e){e=(e||"")+"",e=this.parseInputSourceMap(e),this.code=e},n.prototype.parseCode=function(){this.parseShebang();var e=this.parse(this.code);this.addAst(e)},n.prototype.shouldIgnore=function(){var e=this.opts;return W.shouldIgnore(e.filename,e.ignore,e.only)},n.prototype.call=function(e,t){for(var r=t,n=Array.isArray(r),i=0,r=n?r:(0,a.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var o=s,u=o.plugin,l=u[e];l&&l.call(o,this)}},n.prototype.parseInputSourceMap=function(e){var t=this.opts;if(!1!==t.inputSourceMap){var r=A.default.fromSource(e);r&&(t.inputSourceMap=r.toObject(),e=A.default.removeComments(e))}return e},n.prototype.parseShebang=function(){var e=ee.exec(this.code);e&&(this.shebang=e[0],this.code=this.code.replace(ee,""))},n.prototype.makeResult=function(e){var t=e.code,r=e.map,n=e.ast,i=e.ignored,s={metadata:null,options:this.opts,ignored:!!i,code:null,ast:null,map:r||null};return this.opts.code&&(s.code=t),this.opts.ast&&(s.ast=n),this.opts.metadata&&(s.metadata=this.metadata),s},n.prototype.generate=function(){var t=this.opts,n=this.ast,i={ast:n};if(!t.code)return this.makeResult(i);var s=O.default;if(t.generatorOpts.generator&&"string"==typeof(s=t.generatorOpts.generator)){var a=q.default.dirname(this.opts.filename)||e.cwd(),o=(0,X.default)(s,a);if(!o)throw new Error("Couldn't find generator "+s+' with "print" method relative to directory '+a);s=r(178)(o).print}this.log.debug("Generation start");var u=s(n,t.generatorOpts?(0,c.default)(t,t.generatorOpts):t,this.code);return i.code=u.code,i.map=u.map,this.log.debug("Generation end"),this.shebang&&(i.code=this.shebang+"\n"+i.code),i.map&&(i.map=this.mergeSourceMap(i.map)),"inline"!==t.sourceMaps&&"both"!==t.sourceMaps||(i.code+="\n"+A.default.fromObject(i.map).toComment()),"inline"===t.sourceMaps&&(i.map=null),this.makeResult(i)},n}(U.default);t.default=ne,t.File=ne}).call(t,r(8))},function(e,t,r){(function(n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function s(e){var t=x[e];return null==t?x[e]=E.default.existsSync(e):t}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],r=e.filename,n=new S(t);return!1!==e.babelrc&&n.findConfigs(r),n.mergeConfig({options:e,alias:"base",dirname:r&&g.default.dirname(r)}),n.configs}t.__esModule=!0;var o=r(87),u=i(o),l=r(3),c=i(l);t.default=a;var f=r(118),p=i(f),d=r(470),h=i(d),m=r(604),y=i(m),v=r(19),g=i(v),b=r(115),E=i(b),x={},A={},S=function(){function e(t){(0,c.default)(this,e),this.resolvedConfigs=[],this.configs=[],this.log=t}return e.prototype.findConfigs=function(e){if(e){(0,y.default)(e)||(e=g.default.join(n.cwd(),e));for(var t=!1,r=!1;e!==(e=g.default.dirname(e));){if(!t){var i=g.default.join(e,".babelrc");s(i)&&(this.addConfig(i),t=!0);var a=g.default.join(e,"package.json");!t&&s(a)&&(t=this.addConfig(a,"babel",JSON))}if(!r){var o=g.default.join(e,".babelignore");s(o)&&(this.addIgnoreConfig(o),r=!0)}if(r&&t)return}}},e.prototype.addIgnoreConfig=function(e){var t=E.default.readFileSync(e,"utf8"),r=t.split("\n");r=r.map(function(e){return e.replace(/#(.*?)$/,"").trim()}).filter(function(e){return!!e}),r.length&&this.mergeConfig({options:{ignore:r},alias:e,dirname:g.default.dirname(e)})},e.prototype.addConfig=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.default;if(this.resolvedConfigs.indexOf(e)>=0)return!1
;this.resolvedConfigs.push(e);var n=E.default.readFileSync(e,"utf8"),i=void 0;try{i=A[n]=A[n]||r.parse(n),t&&(i=i[t])}catch(t){throw t.message=e+": Error while parsing JSON - "+t.message,t}return this.mergeConfig({options:i,alias:e,dirname:g.default.dirname(e)}),!!i},e.prototype.mergeConfig=function(e){var t=e.options,r=e.alias,i=e.loc,s=e.dirname;if(!t)return!1;if(t=(0,u.default)({},t),s=s||n.cwd(),i=i||r,t.extends){var a=(0,p.default)(t.extends,s);a?this.addConfig(a):this.log&&this.log.error("Couldn't resolve extends clause of "+t.extends+" in "+r),delete t.extends}this.configs.push({options:t,alias:r,loc:i,dirname:s});var o=void 0,l=n.env.BABEL_ENV||"production"||"development";t.env&&(o=t.env[l],delete t.env),this.mergeConfig({options:o,alias:r+".env."+l,dirname:s})},e}();e.exports=t.default}).call(t,r(8))},function(e,t,r){"use strict";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in e){var r=e[t];if(null!=r){var n=o.default[t];if(n&&n.alias&&(n=o.default[n.alias]),n){var i=s[n.type];i&&(r=i(r)),e[t]=r}}}return e}t.__esModule=!0,t.config=void 0,t.normaliseOptions=n;var i=r(53),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(i),a=r(33),o=function(e){return e&&e.__esModule?e:{default:e}}(a);t.config=o.default},function(e,t,r){"use strict";function n(e){return!!e}function i(e){return l.booleanify(e)}function s(e){return l.list(e)}t.__esModule=!0,t.filename=void 0,t.boolean=n,t.booleanString=i,t.list=s;var a=r(284),o=function(e){return e&&e.__esModule?e:{default:e}}(a),u=r(122),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(u);t.filename=o.default},function(e,t){"use strict";e.exports={auxiliaryComment:{message:"Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`"},blacklist:{message:"Put the specific transforms you want in the `plugins` option"},breakConfig:{message:"This is not a necessary option in Babel 6"},experimental:{message:"Put the specific transforms you want in the `plugins` option"},externalHelpers:{message:"Use the `external-helpers` plugin instead. Check out http://babeljs.io/docs/plugins/external-helpers/"},extra:{message:""},jsxPragma:{message:"use the `pragma` option in the `react-jsx` plugin . Check out http://babeljs.io/docs/plugins/transform-react-jsx/"},loose:{message:"Specify the `loose` option for the relevant plugin you are using or use a preset that sets the option."},metadataUsedHelpers:{message:"Not required anymore as this is enabled by default"},modules:{message:"Use the corresponding module transform plugin in the `plugins` option. Check out http://babeljs.io/docs/plugins/#modules"},nonStandard:{message:"Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. Also check out the react preset http://babeljs.io/docs/plugins/preset-react/"},optional:{message:"Put the specific transforms you want in the `plugins` option"},sourceMapName:{message:"Use the `sourceMapTarget` option"},stage:{message:"Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets"},whitelist:{message:"Put the specific transforms you want in the `plugins` option"}}},function(e,t,r){"use strict";var n=r(43),i=r(428),s=r(427),a=r(21),o=r(153),u=r(238),l={},c={},f=e.exports=function(e,t,r,f,p){var d,h,m,y,v=p?function(){return e}:u(e),g=n(r,f,t?2:1),b=0;if("function"!=typeof v)throw TypeError(e+" is not iterable!");if(s(v)){for(d=o(e.length);d>b;b++)if((y=t?g(a(h=e[b])[0],h[1]):g(e[b]))===l||y===c)return y}else for(m=v.call(e);!(h=m.next()).done;)if((y=i(m,g,h.value,t))===l||y===c)return y};f.BREAK=l,f.RETURN=c},function(e,t){"use strict";e.exports={}},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=r(95)("meta"),s=r(16),a=r(28),o=r(23).f,u=0,l=Object.isExtensible||function(){return!0},c=!r(27)(function(){return l(Object.preventExtensions({}))}),f=function(e){o(e,i,{value:{i:"O"+ ++u,w:{}}})},p=function(e,t){if(!s(e))return"symbol"==(void 0===e?"undefined":n(e))?e:("string"==typeof e?"S":"P")+e;if(!a(e,i)){if(!l(e))return"F";if(!t)return"E";f(e)}return e[i].i},d=function(e,t){if(!a(e,i)){if(!l(e))return!0;if(!t)return!1;f(e)}return e[i].w},h=function(e){return c&&m.NEED&&l(e)&&!a(e,i)&&f(e),e},m=e.exports={KEY:i,NEED:!1,fastKey:p,getWeak:d,onFreeze:h}},function(e,t,r){"use strict";var n=r(16);e.exports=function(e,t){if(!n(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t,r){"use strict";r(440);for(var n=r(15),i=r(29),s=r(56),a=r(13)("toStringTag"),o="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u<o.length;u++){var l=o[u],c=n[l],f=c&&c.prototype;f&&!f[a]&&i(f,a,l),s[l]=s.Array}},function(e,t){"use strict";function r(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}e.exports=r},function(e,t,r){"use strict";function n(e){return"function"==typeof e?e:null==e?o:"object"==(void 0===e?"undefined":i(e))?u(e)?a(e[0],e[1]):s(e):l(e)}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=r(502),a=r(503),o=r(110),u=r(6),l=r(592);e.exports=n},function(e,t,r){"use strict";function n(e){return"symbol"==(void 0===e?"undefined":i(e))||a(e)&&s(e)==o}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=r(30),a=r(25),o="[object Symbol]";e.exports=n},function(e,t){"use strict";function r(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}function n(e){var t=e.match(y);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function i(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function s(e){var r=e,s=n(e);if(s){if(!s.path)return e;r=s.path}for(var a,o=t.isAbsolute(r),u=r.split(/\/+/),l=0,c=u.length-1;c>=0;c--)a=u[c],"."===a?u.splice(c,1):".."===a?l++:l>0&&(""===a?(u.splice(c+1,l),l=0):(u.splice(c,2),l--));return r=u.join("/"),""===r&&(r=o?"/":"."),s?(s.path=r,i(s)):r}function a(e,t){""===e&&(e="."),""===t&&(t=".");var r=n(t),a=n(e);if(a&&(e=a.path||"/"),r&&!r.scheme)return a&&(r.scheme=a.scheme),i(r);if(r||t.match(v))return t;if(a&&!a.host&&!a.path)return a.host=t,i(a);var o="/"===t.charAt(0)?t:s(e.replace(/\/+$/,"")+"/"+t);return a?(a.path=o,i(a)):o}function o(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}function u(e){return e}function l(e){return f(e)?"$"+e:e}function c(e){return f(e)?e.slice(1):e}function f(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function p(e,t,r){var n=e.source-t.source;return 0!==n?n:0!==(n=e.originalLine-t.originalLine)?n:0!==(n=e.originalColumn-t.originalColumn)||r?n:0!==(n=e.generatedColumn-t.generatedColumn)?n:(n=e.generatedLine-t.generatedLine,0!==n?n:e.name-t.name)}function d(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!==(n=e.generatedColumn-t.generatedColumn)||r?n:0!==(n=e.source-t.source)?n:0!==(n=e.originalLine-t.originalLine)?n:(n=e.originalColumn-t.originalColumn,0!==n?n:e.name-t.name)}function h(e,t){return e===t?0:e>t?1:-1}function m(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!==(r=e.generatedColumn-t.generatedColumn)?r:0!==(r=h(e.source,t.source))?r:0!==(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,0!==r?r:h(e.name,t.name))}t.getArg=r;var y=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,v=/^data:.+\,.+$/;t.urlParse=n,t.urlGenerate=i,t.normalize=s,t.join=a,t.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(y)},t.relative=o;var g=function(){return!("__proto__"in Object.create(null))}();t.toSetString=g?u:l,t.fromSetString=g?u:c,t.compareByOriginalPositions=p,t.compareByGeneratedPositionsDeflated=d,t.compareByGeneratedPositionsInflated=m},function(e,t,r){(function(t){"use strict";function n(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,s=Math.min(r,n);i<s;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}function i(e){return t.Buffer&&"function"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}function s(e){return Object.prototype.toString.call(e)}function a(e){return!i(e)&&("function"==typeof t.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}function o(e){if(x.isFunction(e)){if(_)return e.name;var t=e.toString(),r=t.match(C);return r&&r[1]}}function u(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function l(e){if(_||!x.isFunction(e))return x.inspect(e);var t=o(e);return"[Function"+(t?": "+t:"")+"]"}function c(e){return u(l(e.actual),128)+" "+e.operator+" "+u(l(e.expected),128)}function f(e,t,r,n,i){throw new D.AssertionError({message:r,actual:e,expected:t,operator:n,stackStartFunction:i})}function p(e,t){e||f(e,!0,t,"==",D.ok)}function d(e,t,r,o){if(e===t)return!0;if(i(e)&&i(t))return 0===n(e,t);if(x.isDate(e)&&x.isDate(t))return e.getTime()===t.getTime();if(x.isRegExp(e)&&x.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"===(void 0===e?"undefined":E(e))||null!==t&&"object"===(void 0===t?"undefined":E(t))){if(a(e)&&a(t)&&s(e)===s(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===n(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(i(e)!==i(t))return!1;o=o||{actual:[],expected:[]};var u=o.actual.indexOf(e);return-1!==u&&u===o.expected.indexOf(t)||(o.actual.push(e),o.expected.push(t),m(e,t,r,o))}return r?e===t:e==t}function h(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function m(e,t,r,n){if(null===e||void 0===e||null===t||void 0===t)return!1;if(x.isPrimitive(e)||x.isPrimitive(t))return e===t;if(r&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var i=h(e),s=h(t);if(i&&!s||!i&&s)return!1;if(i)return e=S.call(e),t=S.call(t),d(e,t,r);var a,o,u=w(e),l=w(t);if(u.length!==l.length)return!1;for(u.sort(),l.sort(),o=u.length-1;o>=0;o--)if(u[o]!==l[o])return!1;for(o=u.length-1;o>=0;o--)if(a=u[o],!d(e[a],t[a],r,n))return!1;return!0}function y(e,t,r){d(e,t,!0)&&f(e,t,r,"notDeepStrictEqual",y)}function v(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function g(e){var t;try{e()}catch(e){t=e}return t}function b(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=g(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&f(i,r,"Missing expected exception"+n);var s="string"==typeof n,a=!e&&x.isError(i),o=!e&&i&&!r;if((a&&s&&v(i,r)||o)&&f(i,r,"Got unwanted exception"+n),e&&i&&r&&!v(i,r)||!e&&i)throw i}var E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x=r(117),A=Object.prototype.hasOwnProperty,S=Array.prototype.slice,_=function(){return"foo"===function(){}.name}(),D=e.exports=p,C=/\s*function\s+([^\(\s]*)\s*/;D.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=c(this),this.generatedMessage=!0);var t=e.stackStartFunction||f;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var n=r.stack,i=o(t),s=n.indexOf("\n"+i);if(s>=0){var a=n.indexOf("\n",s+1);n=n.substring(a+1)}this.stack=n}}},x.inherits(D.AssertionError,Error),D.fail=f,D.ok=p,D.equal=function(e,t,r){e!=t&&f(e,t,r,"==",D.equal)},D.notEqual=function(e,t,r){e==t&&f(e,t,r,"!=",D.notEqual)},D.deepEqual=function(e,t,r){d(e,t,!1)||f(e,t,r,"deepEqual",D.deepEqual)},D.deepStrictEqual=function(e,t,r){d(e,t,!0)||f(e,t,r,"deepStrictEqual",D.deepStrictEqual)},D.notDeepEqual=function(e,t,r){d(e,t,!1)&&f(e,t,r,"notDeepEqual",D.notDeepEqual)},D.notDeepStrictEqual=y,D.strictEqual=function(e,t,r){e!==t&&f(e,t,r,"===",D.strictEqual)},D.notStrictEqual=function(e,t,r){e===t&&f(e,t,r,"!==",D.notStrictEqual)},D.throws=function(e,t,r){b(!0,e,t,r)},D.doesNotThrow=function(e,t,r){b(!1,e,t,r)},D.ifError=function(e){if(e)throw e};var w=Object.keys||function(e){var t=[];for(var r in e)A.call(e,r)&&t.push(r);return t}}).call(t,function(){return this}())},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i),a=r(3),o=n(a),u=r(42),l=n(u),c=r(41),f=n(c),p=r(34),d=n(p),h=r(20),m=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(h),y=r(119),v=n(y),g=r(7),b=n(g),E=r(174),x=n(E),A=r(109),S=n(A),_=["enter","exit"],D=function(e){function t(r,n){(0,o.default)(this,t);var i=(0,l.default)(this,e.call(this));return i.initialized=!1,i.raw=(0,x.default)({},r),i.key=i.take("name")||n,i.manipulateOptions=i.take("manipulateOptions"),i.post=i.take("post"),i.pre=i.take("pre"),i.visitor=i.normaliseVisitor((0,S.default)(i.take("visitor"))||{}),i}return(0,f.default)(t,e),t.prototype.take=function(e){var t=this.raw[e];return delete this.raw[e],t},t.prototype.chain=function(e,t){if(!e[t])return this[t];if(!this[t])return e[t];var r=[e[t],this[t]];return function(){for(var e=void 0,t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];for(var a=r,o=Array.isArray(a),u=0,a=o?a:(0,s.default)(a);;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;if(c){var f=c.apply(this,n);null!=f&&(e=f)}}return e}},t.prototype.maybeInherit=function(e){var t=this.take("inherits");t&&(t=d.default.normalisePlugin(t,e,"inherits"),this.manipulateOptions=this.chain(t,"manipulateOptions"),this.post=this.chain(t,"post"),this.pre=this.chain(t,"pre"),this.visitor=b.default.visitors.merge([t.visitor,this.visitor]))},t.prototype.init=function(e,t){if(!this.initialized){this.initialized=!0,this.maybeInherit(e);for(var r in this.raw)throw new Error(m.get("pluginInvalidProperty",e,t,r))}},t.prototype.normaliseVisitor=function(e){for(var t=_,r=Array.isArray(t),n=0,t=r?t:(0,s.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}if(e[i])throw new Error("Plugins aren't allowed to specify catch-all enter/exit handlers. Please target individual nodes.")}return b.default.explode(e),e},t}(v.default);t.default=D,e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){var t=e.messages;return{visitor:{Scope:function(e){var r=e.scope;for(var n in r.bindings){var s=r.bindings[n];if("const"===s.kind||"module"===s.kind)for(var a=s.constantViolations,o=Array.isArray(a),u=0,a=o?a:(0,i.default)(a);;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;throw c.buildCodeFrameError(t.get("readOnly",n))}}}}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("asyncFunctions")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{ArrowFunctionExpression:function(e,r){if(r.opts.spec){var n=e.node;if(n.shadow)return;n.shadow={this:!1},n.type="FunctionExpression";var i=t.thisExpression();i._forceShadow=e,e.ensureBlock(),e.get("body").unshiftContainer("body",t.expressionStatement(t.callExpression(r.addHelper("newArrowCheck"),[t.thisExpression(),i]))),e.replaceWith(t.callExpression(t.memberExpression(n,t.identifier("bind")),[t.thisExpression()]))}else e.arrowFunctionToShadowed()}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){function t(e,t){for(var n=t.get(e),s=n,a=Array.isArray(s),o=0,s=a?s:(0,i.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if(o=s.next(),o.done)break;u=o.value}var l=u,c=l.node;if(l.isFunctionDeclaration()){var f=r.variableDeclaration("let",[r.variableDeclarator(c.id,r.toExpression(c))]);f._blockHoist=2,c.id=null,l.replaceWith(f)}}}var r=e.types;return{visitor:{BlockStatement:function(e){var n=e.node,i=e.parent;r.isFunction(i,{body:n})||r.isExportDeclaration(i)||t("body",e)},SwitchCase:function(e){t("consequent",e)}}}},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){return b.isLoop(e.parent)||b.isCatchClause(e.parent)}function s(e){return!!b.isVariableDeclaration(e)&&(!!e[b.BLOCK_SCOPED_SYMBOL]||("let"===e.kind||"const"===e.kind))}function a(e,t,r,n){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(t||(t=e.node),!b.isFor(r))for(var s=0;s<t.declarations.length;s++){var a=t.declarations[s];a.init=a.init||n.buildUndefinedNode()}if(t[b.BLOCK_SCOPED_SYMBOL]=!0,t.kind="var",i){var o=n.getFunctionParent(),u=e.getBindingIdentifiers();for(var l in u){var c=n.getOwnBinding(l);c&&(c.kind="var"),n.moveBindingTo(l,o)}}}function o(e){return b.isVariableDeclaration(e,{kind:"var"})&&!s(e)}function u(e){return b.isBreakStatement(e)?"break":b.isContinueStatement(e)?"continue":void 0}t.__esModule=!0;var l=r(10),c=n(l),f=r(9),p=n(f),d=r(3),h=n(d);t.default=function(){return{visitor:{VariableDeclaration:function(e,t){var r=e.node,n=e.parent,i=e.scope;if(s(r)&&(a(e,null,n,i,!0),r._tdzThis)){for(var o=[r],u=0;u<r.declarations.length;u++){var l=r.declarations[u];if(l.init){var c=b.assignmentExpression("=",l.id,l.init);c._ignoreBlockScopingTDZ=!0,o.push(b.expressionStatement(c))}l.init=t.addHelper("temporalUndefined")}r._blockHoist=2,e.isCompletionRecord()&&o.push(b.expressionStatement(i.buildUndefinedNode())),e.replaceWithMultiple(o)}},Loop:function(e,t){var r=e.node,n=e.parent,i=e.scope;b.ensureBlock(r);var s=new B(e,e.get("body"),n,i,t),a=s.run();a&&e.replaceWith(a)},CatchClause:function(e,t){var r=e.parent,n=e.scope;new B(null,e.get("body"),r,n,t).run()},"BlockStatement|SwitchStatement|Program":function(e,t){if(!i(e)){new B(null,e,e.parent,e.scope,t).run()}}}}};var m=r(7),y=n(m),v=r(330),g=r(1),b=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(g),E=r(280),x=n(E),A=r(578),S=n(A),_=r(4),D=n(_),C=(0,D.default)('\n  if (typeof RETURN === "object") return RETURN.v;\n'),w=y.default.visitors.merge([{Loop:{enter:function(e,t){t.loopDepth++},exit:function(e,t){t.loopDepth--}},Function:function(e,t){return t.loopDepth>0&&e.traverse(P,t),e.skip()}},v.visitor]),P=y.default.visitors.merge([{ReferencedIdentifier:function(e,t){var r=t.letReferences[e.node.name];if(r){var n=e.scope.getBindingIdentifier(e.node.name);n&&n!==r||(t.closurify=!0)}}},v.visitor]),k={enter:function(e,t){var r=e.node;e.parent;if(e.isForStatement()){if(o(r.init)){var n=t.pushDeclar(r.init);1===n.length?r.init=n[0]:r.init=b.sequenceExpression(n)}}else if(e.isFor())o(r.left)&&(t.pushDeclar(r.left),r.left=r.left.declarations[0].id);else if(o(r))e.replaceWithMultiple(t.pushDeclar(r).map(function(e){return b.expressionStatement(e)}));else if(e.isFunction())return e.skip()}},F={LabeledStatement:function(e,t){var r=e.node;t.innerLabels.push(r.label.name)}},T={enter:function(e,t){if(e.isAssignmentExpression()||e.isUpdateExpression()){var r=e.getBindingIdentifiers();for(var n in r)t.outsideReferences[n]===e.scope.getBindingIdentifier(n)&&(t.reassignments[n]=!0)}}},O={Loop:function(e,t){var r=t.ignoreLabeless;t.ignoreLabeless=!0,e.traverse(O,t),t.ignoreLabeless=r,e.skip()},Function:function(e){e.skip()},SwitchCase:function(e,t){var r=t.inSwitchCase;t.inSwitchCase=!0,e.traverse(O,t),t.inSwitchCase=r,e.skip()},"BreakStatement|ContinueStatement|ReturnStatement":function(e,t){var r=e.node,n=e.parent,i=e.scope;if(!r[this.LOOP_IGNORE]){var s=void 0,a=u(r);if(a){if(r.label){if(t.innerLabels.indexOf(r.label.name)>=0)return;a=a+"|"+r.label.name}else{if(t.ignoreLabeless)return;if(t.inSwitchCase)return;if(b.isBreakStatement(r)&&b.isSwitchCase(n))return}t.hasBreakContinue=!0,t.map[a]=r,s=b.stringLiteral(a)}e.isReturnStatement()&&(t.hasReturn=!0,s=b.objectExpression([b.objectProperty(b.identifier("v"),r.argument||i.buildUndefinedNode())])),s&&(s=b.returnStatement(s),s[this.LOOP_IGNORE]=!0,e.skip(),e.replaceWith(b.inherits(s,r)))}}},B=function(){function e(t,r,n,i,s){(0,h.default)(this,e),this.parent=n,this.scope=i,this.file=s,this.blockPath=r,this.block=r.node,this.outsideLetReferences=(0,p.default)(null),this.hasLetReferences=!1,this.letReferences=(0,p.default)(null),this.body=[],t&&(this.loopParent=t.parent,this.loopLabel=b.isLabeledStatement(this.loopParent)&&this.loopParent.label,this.loopPath=t,this.loop=t.node)}return e.prototype.run=function(){var e=this.block;if(!e._letDone){e._letDone=!0;var t=this.getLetReferences();if(b.isFunction(this.parent)||b.isProgram(this.block))return void this.updateScopeInfo();if(this.hasLetReferences)return t?this.wrapClosure():this.remap(),this.updateScopeInfo(t),this.loopLabel&&!b.isLabeledStatement(this.loopParent)?b.labeledStatement(this.loopLabel,this.loop):void 0}},e.prototype.updateScopeInfo=function(e){var t=this.scope,r=t.getFunctionParent(),n=this.letReferences;for(var i in n){var s=n[i],a=t.getBinding(s.name);a&&("let"!==a.kind&&"const"!==a.kind||(a.kind="var",e?t.removeBinding(s.name):t.moveBindingTo(s.name,r)))}},e.prototype.remap=function(){var e=this.letReferences,t=this.scope;for(var r in e){var n=e[r];(t.parentHasBinding(r)||t.hasGlobal(r))&&(t.hasOwnBinding(r)&&t.rename(n.name),this.blockPath.scope.hasOwnBinding(r)&&this.blockPath.scope.rename(n.name))}},e.prototype.wrapClosure=function(){if(this.file.opts.throwIfClosureRequired)throw this.blockPath.buildCodeFrameError("Compiling let/const in this block would add a closure (throwIfClosureRequired).");var e=this.block,t=this.outsideLetReferences;if(this.loop)for(var r in t){var n=t[r];(this.scope.hasGlobal(n.name)||this.scope.parentHasBinding(n.name))&&(delete t[n.name],delete this.letReferences[n.name],this.scope.rename(n.name),this.letReferences[n.name]=n,t[n.name]=n)}this.has=this.checkLoop(),this.hoistVarDeclarations();var i=(0,x.default)(t),s=(0,x.default)(t),a=this.blockPath.isSwitchStatement(),o=b.functionExpression(null,i,b.blockStatement(a?[e]:e.body));o.shadow=!0,this.addContinuations(o);var u=o;this.loop&&(u=this.scope.generateUidIdentifier("loop"),this.loopPath.insertBefore(b.variableDeclaration("var",[b.variableDeclarator(u,o)])));var l=b.callExpression(u,s),c=this.scope.generateUidIdentifier("ret");y.default.hasType(o.body,this.scope,"YieldExpression",b.FUNCTION_TYPES)&&(o.generator=!0,l=b.yieldExpression(l,!0)),y.default.hasType(o.body,this.scope,"AwaitExpression",b.FUNCTION_TYPES)&&(o.async=!0,l=b.awaitExpression(l)),this.buildClosure(c,l),a?this.blockPath.replaceWithMultiple(this.body):e.body=this.body},e.prototype.buildClosure=function(e,t){var r=this.has;r.hasReturn||r.hasBreakContinue?this.buildHas(e,t):this.body.push(b.expressionStatement(t))},e.prototype.addContinuations=function(e){var t={reassignments:{},outsideReferences:this.outsideLetReferences};this.scope.traverse(e,T,t);for(var r=0;r<e.params.length;r++){var n=e.params[r];if(t.reassignments[n.name]){var i=this.scope.generateUidIdentifier(n.name);e.params[r]=i,this.scope.rename(n.name,i.name,e),e.body.body.push(b.expressionStatement(b.assignmentExpression("=",n,i)))}}},e.prototype.getLetReferences=function(){var e=this,t=this.block,r=[];if(this.loop){var n=this.loop.left||this.loop.init;s(n)&&(r.push(n),(0,S.default)(this.outsideLetReferences,b.getBindingIdentifiers(n)))}var i=function n(i,o){o=o||i.node,(b.isClassDeclaration(o)||b.isFunctionDeclaration(o)||s(o))&&(s(o)&&a(i,o,t,e.scope),r=r.concat(o.declarations||o)),b.isLabeledStatement(o)&&n(i.get("body"),o.body)};if(t.body)for(var o=0;o<t.body.length;o++){var u=this.blockPath.get("body")[o];i(u)}if(t.cases)for(var l=0;l<t.cases.length;l++)for(var c=t.cases[l].consequent,f=0;f<c.length;f++){var p=this.blockPath.get("cases")[l],d=c[f];i(p,d)}for(var h=0;h<r.length;h++){var m=r[h],y=b.getBindingIdentifiers(m,!1,!0);(0,S.default)(this.letReferences,y),this.hasLetReferences=!0}if(this.hasLetReferences){var v={letReferences:this.letReferences,closurify:!1,file:this.file,loopDepth:0},g=this.blockPath.find(function(e){return e.isLoop()||e.isFunction()});return g&&g.isLoop()&&v.loopDepth++,this.blockPath.traverse(w,v),v.closurify}},e.prototype.checkLoop=function(){var e={hasBreakContinue:!1,ignoreLabeless:!1,inSwitchCase:!1,innerLabels:[],hasReturn:!1,isLoop:!!this.loop,map:{},LOOP_IGNORE:(0,c.default)()};return this.blockPath.traverse(F,e),this.blockPath.traverse(O,e),e},e.prototype.hoistVarDeclarations=function(){this.blockPath.traverse(k,this)},e.prototype.pushDeclar=function(e){var t=[],r=b.getBindingIdentifiers(e);for(var n in r)t.push(b.variableDeclarator(r[n]));this.body.push(b.variableDeclaration(e.kind,t));for(var i=[],s=0;s<e.declarations.length;s++){var a=e.declarations[s];if(a.init){var o=b.assignmentExpression("=",a.id,a.init);i.push(b.inherits(o,a))}}return i},e.prototype.buildHas=function(e,t){var r=this.body;r.push(b.variableDeclaration("var",[b.variableDeclarator(e,t)]));var n=void 0,i=this.has,s=[];if(i.hasReturn&&(n=C({RETURN:e})),i.hasBreakContinue){for(var a in i.map)s.push(b.switchCase(b.stringLiteral(a),[i.map[a]]));if(i.hasReturn&&s.push(b.switchCase(null,[n])),1===s.length){var o=s[0];r.push(b.ifStatement(b.binaryExpression("===",e,o.test),o.consequent[0]))}else{if(this.loop)for(var u=0;u<s.length;u++){var l=s[u].consequent[0];b.isBreakStatement(l)&&!l.label&&(l.label=this.loopLabel=this.loopLabel||this.scope.generateUidIdentifier("loop"))}r.push(b.switchStatement(e,s))}}else i.hasReturn&&r.push(n)},e}();e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(10),s=n(i);t.default=function(e){var t=e.types,r=(0,s.default)();return{visitor:{ExportDefaultDeclaration:function(e){if(e.get("declaration").isClassDeclaration()){var r=e.node,n=r.declaration.id||e.scope.generateUidIdentifier("class");r.declaration.id=n,e.replaceWith(r.declaration),e.insertAfter(t.exportDefaultDeclaration(n))}},ClassDeclaration:function(e){var r=e.node,n=r.id||e.scope.generateUidIdentifier("class");e.replaceWith(t.variableDeclaration("let",[t.variableDeclarator(n,t.toExpression(r))]))},ClassExpression:function(e,t){var n=e.node;if(!n[r]){var i=(0,f.default)(e);if(i&&i!==n)return e.replaceWith(i);n[r]=!0;var s=l.default;t.opts.loose&&(s=o.default),e.replaceWith(new s(e,t.file).run())}}}}};var a=r(331),o=n(a),u=r(207),l=n(u),c=r(40),f=n(c);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){function t(e){return o.isObjectProperty(e)?e.value:o.isObjectMethod(e)?o.functionExpression(null,e.params,e.body,e.generator,e.async):void 0}function r(e,r,i){"get"===r.kind&&"set"===r.kind?n(e,r,i):i.push(o.expressionStatement(o.assignmentExpression("=",o.memberExpression(e,r.key,r.computed||o.isLiteral(r.key)),t(r))))}function n(e,r){var n=(e.objId,e.body),i=e.getMutatorId,s=e.scope,a=!r.computed&&o.isIdentifier(r.key)?o.stringLiteral(r.key.name):r.key,u=s.maybeGenerateMemoised(a);u&&(n.push(o.expressionStatement(o.assignmentExpression("=",u,a))),a=u),n.push.apply(n,l({MUTATOR_MAP_REF:i(),KEY:a,VALUE:t(r),KIND:o.identifier(r.kind)}))}function s(e){for(var t=e.computedProps,s=Array.isArray(t),a=0,t=s?t:(0,i.default)(t);;){var o;if(s){if(a>=t.length)break;o=t[a++]}else{if(a=t.next(),a.done)break;o=a.value}var u=o;"get"===u.kind||"set"===u.kind?n(e,u):r(e.objId,u,e.body)}}function a(e){for(var s=e.objId,a=e.body,u=e.computedProps,l=e.state,c=u,f=Array.isArray(c),p=0,c=f?c:(0,i.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if(p=c.next(),p.done)break;d=p.value}var h=d,m=o.toComputedKey(h);if("get"===h.kind||"set"===h.kind)n(e,h);else if(o.isStringLiteral(m,{value:"__proto__"}))r(s,h,a);else{if(1===u.length)return o.callExpression(l.addHelper("defineProperty"),[e.initPropExpression,m,t(h)]);a.push(o.expressionStatement(o.callExpression(l.addHelper("defineProperty"),[s,m,t(h)])))}}}var o=e.types,u=e.template,l=u("\n    MUTATOR_MAP_REF[KEY] = MUTATOR_MAP_REF[KEY] || {};\n    MUTATOR_MAP_REF[KEY].KIND = VALUE;\n  ");return{visitor:{ObjectExpression:{exit:function(e,t){for(var r=e.node,n=e.parent,u=e.scope,l=!1,c=r.properties,f=Array.isArray(c),p=0,c=f?c:(0,i.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if(p=c.next(),p.done)break;d=p.value}if(l=!0===d.computed)break}if(l){for(var h=[],m=[],y=!1,v=r.properties,g=Array.isArray(v),b=0,v=g?v:(0,i.default)(v);;){var E;if(g){if(b>=v.length)break;E=v[b++]}else{if(b=v.next(),b.done)break;E=b.value}var x=E;x.computed&&(y=!0),y?m.push(x):h.push(x)}var A=u.generateUidIdentifierBasedOnNode(n),S=o.objectExpression(h),_=[];_.push(o.variableDeclaration("var",[o.variableDeclarator(A,S)]));var D=a;t.opts.loose&&(D=s);var C=void 0,w=function(){return C||(C=u.generateUidIdentifier("mutatorMap"),_.push(o.variableDeclaration("var",[o.variableDeclarator(C,o.objectExpression([]))]))),C},P=D({scope:u,objId:A,body:_,computedProps:m,initPropExpression:S,getMutatorId:w,state:t});C&&_.push(o.expressionStatement(o.callExpression(t.addHelper("defineEnumerableProperties"),[A,C]))),P?e.replaceWith(P):(_.push(o.expressionStatement(A)),e.replaceWithMultiple(_))}}}}}},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(3),s=n(i),a=r(2),o=n(a);t.default=function(e){function t(e){for(var t=e.declarations,r=Array.isArray(t),i=0,t=r?t:(0,o.default)(t);;){var s;if(r){if(i>=t.length)break;s=t[i++]}else{if(i=t.next(),i.done)break;s=i.value}var a=s;if(n.isPattern(a.id))return!0}return!1}function r(e){for(var t=e.elements,r=Array.isArray(t),i=0,t=r?t:(0,o.default)(t);;){var s;if(r){if(i>=t.length)break;s=t[i++]}else{if(i=t.next(),i.done)break;s=i.value}var a=s;if(n.isRestElement(a))return!0}return!1}var n=e.types,i={ReferencedIdentifier:function(e,t){t.bindings[e.node.name]&&(t.deopt=!0,e.stop())}},a=function(){function e(t){(0,s.default)(this,e),this.blockHoist=t.blockHoist,this.operator=t.operator,this.arrays={},this.nodes=t.nodes||[],this.scope=t.scope,this.file=t.file,this.kind=t.kind}
return e.prototype.buildVariableAssignment=function(e,t){var r=this.operator;n.isMemberExpression(e)&&(r="=");var i=void 0;return i=r?n.expressionStatement(n.assignmentExpression(r,e,t)):n.variableDeclaration(this.kind,[n.variableDeclarator(e,t)]),i._blockHoist=this.blockHoist,i},e.prototype.buildVariableDeclaration=function(e,t){var r=n.variableDeclaration("var",[n.variableDeclarator(e,t)]);return r._blockHoist=this.blockHoist,r},e.prototype.push=function(e,t){n.isObjectPattern(e)?this.pushObjectPattern(e,t):n.isArrayPattern(e)?this.pushArrayPattern(e,t):n.isAssignmentPattern(e)?this.pushAssignmentPattern(e,t):this.nodes.push(this.buildVariableAssignment(e,t))},e.prototype.toArray=function(e,t){return this.file.opts.loose||n.isIdentifier(e)&&this.arrays[e.name]?e:this.scope.toArray(e,t)},e.prototype.pushAssignmentPattern=function(e,t){var r=this.scope.generateUidIdentifierBasedOnNode(t),i=n.variableDeclaration("var",[n.variableDeclarator(r,t)]);i._blockHoist=this.blockHoist,this.nodes.push(i);var s=n.conditionalExpression(n.binaryExpression("===",r,n.identifier("undefined")),e.right,r),a=e.left;if(n.isPattern(a)){var o=n.expressionStatement(n.assignmentExpression("=",r,s));o._blockHoist=this.blockHoist,this.nodes.push(o),this.push(a,r)}else this.nodes.push(this.buildVariableAssignment(a,s))},e.prototype.pushObjectRest=function(e,t,r,i){for(var s=[],a=0;a<e.properties.length;a++){var o=e.properties[a];if(a>=i)break;if(!n.isRestProperty(o)){var u=o.key;n.isIdentifier(u)&&!o.computed&&(u=n.stringLiteral(o.key.name)),s.push(u)}}s=n.arrayExpression(s);var l=n.callExpression(this.file.addHelper("objectWithoutProperties"),[t,s]);this.nodes.push(this.buildVariableAssignment(r.argument,l))},e.prototype.pushObjectProperty=function(e,t){n.isLiteral(e.key)&&(e.computed=!0);var r=e.value,i=n.memberExpression(t,e.key,e.computed);n.isPattern(r)?this.push(r,i):this.nodes.push(this.buildVariableAssignment(r,i))},e.prototype.pushObjectPattern=function(e,t){if(e.properties.length||this.nodes.push(n.expressionStatement(n.callExpression(this.file.addHelper("objectDestructuringEmpty"),[t]))),e.properties.length>1&&!this.scope.isStatic(t)){var r=this.scope.generateUidIdentifierBasedOnNode(t);this.nodes.push(this.buildVariableDeclaration(r,t)),t=r}for(var i=0;i<e.properties.length;i++){var s=e.properties[i];n.isRestProperty(s)?this.pushObjectRest(e,t,s,i):this.pushObjectProperty(s,t)}},e.prototype.canUnpackArrayPattern=function(e,t){if(!n.isArrayExpression(t))return!1;if(!(e.elements.length>t.elements.length)){if(e.elements.length<t.elements.length&&!r(e))return!1;for(var s=e.elements,a=Array.isArray(s),u=0,s=a?s:(0,o.default)(s);;){var l;if(a){if(u>=s.length)break;l=s[u++]}else{if(u=s.next(),u.done)break;l=u.value}var c=l;if(!c)return!1;if(n.isMemberExpression(c))return!1}for(var f=t.elements,p=Array.isArray(f),d=0,f=p?f:(0,o.default)(f);;){var h;if(p){if(d>=f.length)break;h=f[d++]}else{if(d=f.next(),d.done)break;h=d.value}var m=h;if(n.isSpreadElement(m))return!1;if(n.isCallExpression(m))return!1;if(n.isMemberExpression(m))return!1}var y=n.getBindingIdentifiers(e),v={deopt:!1,bindings:y};return this.scope.traverse(t,i,v),!v.deopt}},e.prototype.pushUnpackedArrayPattern=function(e,t){for(var r=0;r<e.elements.length;r++){var i=e.elements[r];n.isRestElement(i)?this.push(i.argument,n.arrayExpression(t.elements.slice(r))):this.push(i,t.elements[r])}},e.prototype.pushArrayPattern=function(e,t){if(e.elements){if(this.canUnpackArrayPattern(e,t))return this.pushUnpackedArrayPattern(e,t);var i=!r(e)&&e.elements.length,s=this.toArray(t,i);n.isIdentifier(s)?t=s:(t=this.scope.generateUidIdentifierBasedOnNode(t),this.arrays[t.name]=!0,this.nodes.push(this.buildVariableDeclaration(t,s)));for(var a=0;a<e.elements.length;a++){var o=e.elements[a];if(o){var u=void 0;n.isRestElement(o)?(u=this.toArray(t),u=n.callExpression(n.memberExpression(u,n.identifier("slice")),[n.numericLiteral(a)]),o=o.argument):u=n.memberExpression(t,n.numericLiteral(a),!0),this.push(o,u)}}}},e.prototype.init=function(e,t){if(!n.isArrayExpression(t)&&!n.isMemberExpression(t)){var r=this.scope.maybeGenerateMemoised(t,!0);r&&(this.nodes.push(this.buildVariableDeclaration(r,t)),t=r)}return this.push(e,t),this.nodes},e}();return{visitor:{ExportNamedDeclaration:function(e){var r=e.get("declaration");if(r.isVariableDeclaration()&&t(r.node)){var i=[];for(var s in e.getOuterBindingIdentifiers(e)){var a=n.identifier(s);i.push(n.exportSpecifier(a,a))}e.replaceWith(r.node),e.insertAfter(n.exportNamedDeclaration(null,i))}},ForXStatement:function(e,t){var r=e.node,i=e.scope,s=r.left;if(n.isPattern(s)){var o=i.generateUidIdentifier("ref");return r.left=n.variableDeclaration("var",[n.variableDeclarator(o)]),e.ensureBlock(),void r.body.body.unshift(n.variableDeclaration("var",[n.variableDeclarator(s,o)]))}if(n.isVariableDeclaration(s)){var u=s.declarations[0].id;if(n.isPattern(u)){var l=i.generateUidIdentifier("ref");r.left=n.variableDeclaration(s.kind,[n.variableDeclarator(l,null)]);var c=[];new a({kind:s.kind,file:t,scope:i,nodes:c}).init(u,l),e.ensureBlock();var f=r.body;f.body=c.concat(f.body)}}},CatchClause:function(e,t){var r=e.node,i=e.scope,s=r.param;if(n.isPattern(s)){var o=i.generateUidIdentifier("ref");r.param=o;var u=[];new a({kind:"let",file:t,scope:i,nodes:u}).init(s,o),r.body.body=u.concat(r.body.body)}},AssignmentExpression:function(e,t){var r=e.node,i=e.scope;if(n.isPattern(r.left)){var s=[],o=new a({operator:r.operator,file:t,scope:i,nodes:s}),u=void 0;!e.isCompletionRecord()&&e.parentPath.isExpressionStatement()||(u=i.generateUidIdentifierBasedOnNode(r.right,"ref"),s.push(n.variableDeclaration("var",[n.variableDeclarator(u,r.right)])),n.isArrayExpression(r.right)&&(o.arrays[u.name]=!0)),o.init(r.left,u||r.right),u&&s.push(n.expressionStatement(u)),e.replaceWithMultiple(s)}},VariableDeclaration:function(e,r){var i=e.node,s=e.scope,u=e.parent;if(!n.isForXStatement(u)&&u&&e.container&&t(i)){for(var l=[],c=void 0,f=0;f<i.declarations.length;f++){c=i.declarations[f];var p=c.init,d=c.id,h=new a({blockHoist:i._blockHoist,nodes:l,scope:s,kind:i.kind,file:r});n.isPattern(d)?(h.init(d,p),+f!=i.declarations.length-1&&n.inherits(l[l.length-1],c)):l.push(n.inherits(h.buildVariableAssignment(c.id,c.init),c))}for(var m=[],y=l,v=Array.isArray(y),g=0,y=v?y:(0,o.default)(y);;){var b;if(v){if(g>=y.length)break;b=y[g++]}else{if(g=y.next(),g.done)break;b=g.value}var E=b,x=m[m.length-1];if(x&&n.isVariableDeclaration(x)&&n.isVariableDeclaration(E)&&x.kind===E.kind){var A;(A=x.declarations).push.apply(A,E.declarations)}else m.push(E)}for(var S=m,_=Array.isArray(S),D=0,S=_?S:(0,o.default)(S);;){var C;if(_){if(D>=S.length)break;C=S[D++]}else{if(D=S.next(),D.done)break;C=D.value}var w=C;if(w.declarations)for(var P=w.declarations,k=Array.isArray(P),F=0,P=k?P:(0,o.default)(P);;){var T;if(k){if(F>=P.length)break;T=P[F++]}else{if(F=P.next(),F.done)break;T=F.value}var O=T,B=O.id.name;s.bindings[B]&&(s.bindings[B].kind=w.kind)}}1===m.length?e.replaceWith(m[0]):e.replaceWithMultiple(m)}}}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){function t(e){var t=e.node,r=e.scope,n=[],i=t.right;if(!a.isIdentifier(i)||!r.hasBinding(i.name)){var s=r.generateUidIdentifier("arr");n.push(a.variableDeclaration("var",[a.variableDeclarator(s,i)])),i=s}var u=r.generateUidIdentifier("i"),l=o({BODY:t.body,KEY:u,ARR:i});a.inherits(l,t),a.ensureBlock(l);var c=a.memberExpression(i,u,!0),f=t.left;return a.isVariableDeclaration(f)?(f.declarations[0].init=c,l.body.body.unshift(f)):l.body.body.unshift(a.expressionStatement(a.assignmentExpression("=",f,c))),e.parentPath.isLabeledStatement()&&(l=a.labeledStatement(e.parentPath.node.label,l)),n.push(l),n}function r(e,t){var r=e.node,n=e.scope,s=e.parent,o=r.left,l=void 0,c=void 0;if(a.isIdentifier(o)||a.isPattern(o)||a.isMemberExpression(o))c=o;else{if(!a.isVariableDeclaration(o))throw t.buildCodeFrameError(o,i.get("unknownForHead",o.type));c=n.generateUidIdentifier("ref"),l=a.variableDeclaration(o.kind,[a.variableDeclarator(o.declarations[0].id,c)])}var f=n.generateUidIdentifier("iterator"),p=n.generateUidIdentifier("isArray"),d=u({LOOP_OBJECT:f,IS_ARRAY:p,OBJECT:r.right,INDEX:n.generateUidIdentifier("i"),ID:c});l||d.body.body.shift();var h=a.isLabeledStatement(s),m=void 0;return h&&(m=a.labeledStatement(s.label,d)),{replaceParent:h,declar:l,node:m||d,loop:d}}function n(e,t){var r=e.node,n=e.scope,s=e.parent,o=r.left,u=void 0,c=n.generateUidIdentifier("step"),f=a.memberExpression(c,a.identifier("value"));if(a.isIdentifier(o)||a.isPattern(o)||a.isMemberExpression(o))u=a.expressionStatement(a.assignmentExpression("=",o,f));else{if(!a.isVariableDeclaration(o))throw t.buildCodeFrameError(o,i.get("unknownForHead",o.type));u=a.variableDeclaration(o.kind,[a.variableDeclarator(o.declarations[0].id,f)])}var p=n.generateUidIdentifier("iterator"),d=l({ITERATOR_HAD_ERROR_KEY:n.generateUidIdentifier("didIteratorError"),ITERATOR_COMPLETION:n.generateUidIdentifier("iteratorNormalCompletion"),ITERATOR_ERROR_KEY:n.generateUidIdentifier("iteratorError"),ITERATOR_KEY:p,STEP_KEY:c,OBJECT:r.right,BODY:null}),h=a.isLabeledStatement(s),m=d[3].block.body,y=m[0];return h&&(m[0]=a.labeledStatement(s.label,y)),{replaceParent:h,declar:u,loop:y,node:d}}var i=e.messages,s=e.template,a=e.types,o=s("\n    for (var KEY = 0; KEY < ARR.length; KEY++) BODY;\n  "),u=s("\n    for (var LOOP_OBJECT = OBJECT,\n             IS_ARRAY = Array.isArray(LOOP_OBJECT),\n             INDEX = 0,\n             LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\n      var ID;\n      if (IS_ARRAY) {\n        if (INDEX >= LOOP_OBJECT.length) break;\n        ID = LOOP_OBJECT[INDEX++];\n      } else {\n        INDEX = LOOP_OBJECT.next();\n        if (INDEX.done) break;\n        ID = INDEX.value;\n      }\n    }\n  "),l=s("\n    var ITERATOR_COMPLETION = true;\n    var ITERATOR_HAD_ERROR_KEY = false;\n    var ITERATOR_ERROR_KEY = undefined;\n    try {\n      for (var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY; !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done); ITERATOR_COMPLETION = true) {\n      }\n    } catch (err) {\n      ITERATOR_HAD_ERROR_KEY = true;\n      ITERATOR_ERROR_KEY = err;\n    } finally {\n      try {\n        if (!ITERATOR_COMPLETION && ITERATOR_KEY.return) {\n          ITERATOR_KEY.return();\n        }\n      } finally {\n        if (ITERATOR_HAD_ERROR_KEY) {\n          throw ITERATOR_ERROR_KEY;\n        }\n      }\n    }\n  ");return{visitor:{ForOfStatement:function(e,i){if(e.get("right").isArrayExpression())return e.parentPath.isLabeledStatement()?e.parentPath.replaceWithMultiple(t(e)):e.replaceWithMultiple(t(e));var s=n;i.opts.loose&&(s=r);var o=e.node,u=s(e,i),l=u.declar,c=u.loop,f=c.body;e.ensureBlock(),l&&f.body.push(l),f.body=f.body.concat(o.body.body),a.inherits(c,o),a.inherits(c.body,o.body),u.replaceParent?(e.parentPath.replaceWithMultiple(u.node),e.remove()):e.replaceWithMultiple(u.node)}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(){return{visitor:{FunctionExpression:{exit:function(e){if("value"!==e.key&&!e.parentPath.isObjectProperty()){var t=(0,i.default)(e);t&&e.replaceWith(t)}}},ObjectProperty:function(e){var t=e.get("value");if(t.isFunction()){var r=(0,i.default)(t);r&&t.replaceWith(r)}}}}};var n=r(40),i=function(e){return e&&e.__esModule?e:{default:e}}(n);e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{visitor:{NumericLiteral:function(e){var t=e.node;t.extra&&/^0[ob]/i.test(t.extra.raw)&&(t.extra=void 0)},StringLiteral:function(e){var t=e.node;t.extra&&/\\[u]/gi.test(t.extra.raw)&&(t.extra=void 0)}}}},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(14),s=n(i),a=r(9),o=n(a),u=r(2),l=n(u),c=r(10),f=n(c);t.default=function(){var e=(0,f.default)(),t={ReferencedIdentifier:function(e){var t=e.node.name,r=this.remaps[t];if(r&&this.scope.getBinding(t)===e.scope.getBinding(t)){if(e.parentPath.isCallExpression({callee:e.node}))e.replaceWith(g.sequenceExpression([g.numericLiteral(0),r]));else if(e.isJSXIdentifier()&&g.isMemberExpression(r)){var n=r.object,i=r.property;e.replaceWith(g.JSXMemberExpression(g.JSXIdentifier(n.name),g.JSXIdentifier(i.name)))}else e.replaceWith(r);this.requeueInParent(e)}},AssignmentExpression:function(t){var r=t.node;if(!r[e]){var n=t.get("left");if(n.isIdentifier()){var i=n.node.name,s=this.exports[i];if(!s)return;if(this.scope.getBinding(i)!==t.scope.getBinding(i))return;r[e]=!0;for(var a=s,o=Array.isArray(a),u=0,a=o?a:(0,l.default)(a);;){var c;if(o){if(u>=a.length)break;c=a[u++]}else{if(u=a.next(),u.done)break;c=u.value}r=S(c,r).expression}t.replaceWith(r),this.requeueInParent(t)}else if(n.isObjectPattern())for(var f=n.node.properties,p=Array.isArray(f),d=0,f=p?f:(0,l.default)(f);;){var h;if(p){if(d>=f.length)break;h=f[d++]}else{if(d=f.next(),d.done)break;h=d.value}var m=h,y=m.value.name,v=this.exports[y];if(v){if(this.scope.getBinding(y)!==t.scope.getBinding(y))return;r[e]=!0,t.insertAfter(S(g.identifier(y),g.identifier(y)))}}else if(n.isArrayPattern())for(var b=n.node.elements,E=Array.isArray(b),x=0,b=E?b:(0,l.default)(b);;){var A;if(E){if(x>=b.length)break;A=b[x++]}else{if(x=b.next(),x.done)break;A=x.value}var _=A;if(_){var D=_.name,C=this.exports[D];if(C){if(this.scope.getBinding(D)!==t.scope.getBinding(D))return;r[e]=!0,t.insertAfter(S(g.identifier(D),g.identifier(D)))}}}}},UpdateExpression:function(e){var t=e.get("argument");if(t.isIdentifier()){var r=t.node.name;if(this.exports[r]&&this.scope.getBinding(r)===e.scope.getBinding(r)){var n=g.assignmentExpression(e.node.operator[0]+"=",t.node,g.numericLiteral(1));if(e.parentPath.isExpressionStatement()&&!e.isCompletionRecord()||e.node.prefix)return e.replaceWith(n),void this.requeueInParent(e);var i=[];i.push(n);var s=void 0;s="--"===e.node.operator?"+":"-",i.push(g.binaryExpression(s,t.node,g.numericLiteral(1))),e.replaceWithMultiple(g.sequenceExpression(i))}}}};return{inherits:y.default,visitor:{ThisExpression:function(e,t){this.ranCommonJS||!0===t.opts.allowTopLevelThis||e.findParent(function(e){return!e.is("shadow")&&D.indexOf(e.type)>=0})||e.replaceWith(g.identifier("undefined"))},Program:{exit:function(e){function r(t,r){var n=C[t];if(n)return n;var i=e.scope.generateUidIdentifier((0,p.basename)(t,(0,p.extname)(t))),s=g.variableDeclaration("var",[g.variableDeclarator(i,b(g.stringLiteral(t)).expression)]);return h[t]&&(s.loc=h[t].loc),"number"==typeof r&&r>0&&(s._blockHoist=r),v.push(s),C[t]=i}function n(e,t,r){var n=e[t]||[];e[t]=n.concat(r)}this.ranCommonJS=!0;var i=!!this.opts.strict,a=!!this.opts.noInterop,u=e.scope;u.rename("module"),u.rename("exports"),u.rename("require");for(var c=!1,f=!1,d=e.get("body"),h=(0,o.default)(null),m=(0,o.default)(null),y=(0,o.default)(null),v=[],D=(0,o.default)(null),C=(0,o.default)(null),w=d,P=Array.isArray(w),k=0,w=P?w:(0,l.default)(w);;){var F;if(P){if(k>=w.length)break;F=w[k++]}else{if(k=w.next(),k.done)break;F=k.value}var T=F;if(T.isExportDeclaration()){c=!0;for(var O=[].concat(T.get("declaration"),T.get("specifiers")),B=O,R=Array.isArray(B),I=0,B=R?B:(0,l.default)(B);;){var M;if(R){if(I>=B.length)break;M=B[I++]}else{if(I=B.next(),I.done)break;M=I.value}var N=M;if(N.getBindingIdentifiers().__esModule)throw N.buildCodeFrameError('Illegal export "__esModule"')}}if(T.isImportDeclaration()){var L;f=!0;var j=T.node.source.value,U=h[j]||{specifiers:[],maxBlockHoist:0,loc:T.node.loc};(L=U.specifiers).push.apply(L,T.node.specifiers),"number"==typeof T.node._blockHoist&&(U.maxBlockHoist=Math.max(T.node._blockHoist,U.maxBlockHoist)),h[j]=U,T.remove()}else if(T.isExportDefaultDeclaration()){var V=T.get("declaration");if(V.isFunctionDeclaration()){var G=V.node.id,W=g.identifier("default");G?(n(m,G.name,W),v.push(S(W,G)),T.replaceWith(V.node)):(v.push(S(W,g.toExpression(V.node))),T.remove())}else if(V.isClassDeclaration()){var Y=V.node.id,q=g.identifier("default");Y?(n(m,Y.name,q),T.replaceWithMultiple([V.node,S(q,Y)])):(T.replaceWith(S(q,g.toExpression(V.node))),T.parentPath.requeue(T.get("expression.left")))}else T.replaceWith(S(g.identifier("default"),V.node)),T.parentPath.requeue(T.get("expression.left"))}else if(T.isExportNamedDeclaration()){var K=T.get("declaration");if(K.node){if(K.isFunctionDeclaration()){var H=K.node.id;n(m,H.name,H),v.push(S(H,H)),T.replaceWith(K.node)}else if(K.isClassDeclaration()){var J=K.node.id;n(m,J.name,J),T.replaceWithMultiple([K.node,S(J,J)]),y[J.name]=!0}else if(K.isVariableDeclaration()){for(var X=K.get("declarations"),z=X,$=Array.isArray(z),Q=0,z=$?z:(0,l.default)(z);;){var Z;if($){if(Q>=z.length)break;Z=z[Q++]}else{if(Q=z.next(),Q.done)break;Z=Q.value}var ee=Z,te=ee.get("id"),re=ee.get("init"),ne=[];if(re.node||re.replaceWith(g.identifier("undefined")),te.isIdentifier())n(m,te.node.name,te.node),re.replaceWith(S(te.node,re.node).expression),y[te.node.name]=!0;else if(te.isObjectPattern())for(var ie=0;ie<te.node.properties.length;ie++){var se=te.node.properties[ie],ae=se.value;g.isAssignmentPattern(ae)?ae=ae.left:g.isRestProperty(se)&&(ae=se.argument),n(m,ae.name,ae),ne.push(S(ae,ae)),y[ae.name]=!0}else if(te.isArrayPattern()&&te.node.elements)for(var oe=0;oe<te.node.elements.length;oe++){var ue=te.node.elements[oe];if(ue){g.isAssignmentPattern(ue)?ue=ue.left:g.isRestElement(ue)&&(ue=ue.argument);var le=ue.name;n(m,le,ue),ne.push(S(ue,ue)),y[le]=!0}}T.insertAfter(ne)}T.replaceWith(K.node)}continue}var ce=T.get("specifiers"),fe=[],pe=T.node.source;if(pe)for(var de=r(pe.value,T.node._blockHoist),he=ce,me=Array.isArray(he),ye=0,he=me?he:(0,l.default)(he);;){var ve;if(me){if(ye>=he.length)break;ve=he[ye++]}else{if(ye=he.next(),ye.done)break;ve=ye.value}var ge=ve;ge.isExportNamespaceSpecifier()||ge.isExportDefaultSpecifier()||ge.isExportSpecifier()&&(a||"default"!==ge.node.local.name?v.push(x(g.stringLiteral(ge.node.exported.name),g.memberExpression(de,ge.node.local))):v.push(x(g.stringLiteral(ge.node.exported.name),g.memberExpression(g.callExpression(this.addHelper("interopRequireDefault"),[de]),ge.node.local))),y[ge.node.exported.name]=!0)}else for(var be=ce,Ee=Array.isArray(be),xe=0,be=Ee?be:(0,l.default)(be);;){var Ae;if(Ee){if(xe>=be.length)break;Ae=be[xe++]}else{if(xe=be.next(),xe.done)break;Ae=xe.value}var Se=Ae;Se.isExportSpecifier()&&(n(m,Se.node.local.name,Se.node.exported),y[Se.node.exported.name]=!0,fe.push(S(Se.node.exported,Se.node.local)))}T.replaceWithMultiple(fe)}else if(T.isExportAllDeclaration()){var _e=_({OBJECT:r(T.node.source.value,T.node._blockHoist)});_e.loc=T.node.loc,v.push(_e),T.remove()}}for(var De in h){var Ce=h[De],O=Ce.specifiers,we=Ce.maxBlockHoist;if(O.length){for(var Pe=r(De,we),ke=void 0,Fe=0;Fe<O.length;Fe++){var Te=O[Fe];if(g.isImportNamespaceSpecifier(Te)){if(i||a)D[Te.local.name]=Pe;else{var Oe=g.variableDeclaration("var",[g.variableDeclarator(Te.local,g.callExpression(this.addHelper("interopRequireWildcard"),[Pe]))]);we>0&&(Oe._blockHoist=we),v.push(Oe)}ke=Te.local}else g.isImportDefaultSpecifier(Te)&&(O[Fe]=g.importSpecifier(Te.local,g.identifier("default")))}for(var Be=O,Re=Array.isArray(Be),Ie=0,Be=Re?Be:(0,l.default)(Be);;){var Me;if(Re){if(Ie>=Be.length)break;Me=Be[Ie++]}else{if(Ie=Be.next(),Ie.done)break;Me=Ie.value}var Ne=Me;if(g.isImportSpecifier(Ne)){var Le=Pe;if("default"===Ne.imported.name)if(ke)Le=ke;else if(!a){Le=ke=e.scope.generateUidIdentifier(Pe.name);var je=g.variableDeclaration("var",[g.variableDeclarator(Le,g.callExpression(this.addHelper("interopRequireDefault"),[Pe]))]);we>0&&(je._blockHoist=we),v.push(je)}D[Ne.local.name]=g.memberExpression(Le,g.cloneWithoutLoc(Ne.imported))}}}else{var Ue=b(g.stringLiteral(De));Ue.loc=h[De].loc,v.push(Ue)}}if(f&&(0,s.default)(y).length)for(var Ve=(0,s.default)(y),Ge=0;Ge<Ve.length;Ge+=100)!function(e){var t=Ve.slice(e,e+100),r=g.identifier("undefined");t.forEach(function(e){r=S(g.identifier(e),r).expression});var n=g.expressionStatement(r);n._blockHoist=3,v.unshift(n)}(Ge);if(c&&!i){var We=E;this.opts.loose&&(We=A);var Ye=We();Ye._blockHoist=3,v.unshift(Ye)}e.unshiftContainer("body",v),e.traverse(t,{remaps:D,scope:u,exports:m,requeueInParent:function(t){return e.requeue(t)}})}}}}};var p=r(19),d=r(4),h=n(d),m=r(216),y=n(m),v=r(1),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(v),b=(0,h.default)("\n  require($0);\n"),E=(0,h.default)('\n  Object.defineProperty(exports, "__esModule", {\n    value: true\n  });\n'),x=(0,h.default)("\n  Object.defineProperty(exports, $0, {\n    enumerable: true,\n    get: function () {\n      return $1;\n    }\n  });\n"),A=(0,h.default)("\n  exports.__esModule = true;\n"),S=(0,h.default)("\n  exports.$0 = $1;\n"),_=(0,h.default)('\n  Object.keys(OBJECT).forEach(function (key) {\n    if (key === "default" || key === "__esModule") return;\n    Object.defineProperty(exports, key, {\n      enumerable: true,\n      get: function () {\n        return OBJECT[key];\n      }\n    });\n  });\n'),D=["FunctionExpression","FunctionDeclaration","ClassProperty","ClassMethod","ObjectMethod"];e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i),a=r(10),o=n(a);t.default=function(e){function t(e,t,r,n,i){new l.default({getObjectRef:n,methodNode:t,methodPath:e,isStatic:!0,scope:r,file:i}).replace()}var r=e.types,n=(0,o.default)();return{visitor:{Super:function(e){var t=e.findParent(function(e){return e.isObjectExpression()});t&&(t.node[n]=!0)},ObjectExpression:{exit:function(e,i){if(e.node[n]){for(var a=void 0,o=function(){return a=a||e.scope.generateUidIdentifier("obj")},u=e.get("properties"),l=u,c=Array.isArray(l),f=0,l=c?l:(0,s.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if(f=l.next(),f.done)break;p=f.value}var d=p;d.isObjectProperty()&&(d=d.get("value")),t(d,d.node,e.scope,o,i)}a&&(e.scope.push({id:a}),e.replaceWith(r.assignmentExpression("=",a,e.node)))}}}}}};var u=r(193),l=n(u);e.exports=t.default},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}t.__esModule=!0;var i=r(2),s=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(){return{visitor:a.visitors.merge([{ArrowFunctionExpression:function(e){for(var t=e.get("params"),r=t,n=Array.isArray(r),i=0,r=n?r:(0,s.default)(r);;){var a;if(n){if(i>=r.length)break;a=r[i++]}else{if(i=r.next(),i.done)break;a=i.value}var o=a;if(o.isRestElement()||o.isAssignmentPattern()){e.arrowFunctionToShadowed();break}}}},u.visitor,p.visitor,c.visitor])}};var a=r(7),o=r(334),u=n(o),l=r(333),c=n(l),f=r(335),p=n(f);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(){return{visitor:{ObjectMethod:function(e){var t=e.node;if("method"===t.kind){var r=i.functionExpression(null,t.params,t.body,t.generator,t.async);r.returnType=t.returnType,e.replaceWith(i.objectProperty(t.key,r,t.computed))}},ObjectProperty:function(e){var t=e.node;t.shorthand&&(t.shorthand=!1)}}}};var n=r(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(n);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){function t(e,t,r){return r.opts.loose&&!s.isIdentifier(e.argument,{name:"arguments"})?e.argument:t.toArray(e.argument,!0)}function r(e){for(var t=0;t<e.length;t++)if(s.isSpreadElement(e[t]))return!0;return!1}function n(e,r,n){function a(){u.length&&(o.push(s.arrayExpression(u)),u=[])}for(var o=[],u=[],l=e,c=Array.isArray(l),f=0,l=c?l:(0,i.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if(f=l.next(),f.done)break;p=f.value}var d=p;s.isSpreadElement(d)?(a(),o.push(t(d,r,n))):u.push(d)}return a(),o}var s=e.types;return{visitor:{ArrayExpression:function(e,t){var i=e.node,a=e.scope,o=i.elements;if(r(o)){var u=n(o,a,t),l=u.shift();s.isArrayExpression(l)||(u.unshift(l),l=s.arrayExpression([])),e.replaceWith(s.callExpression(s.memberExpression(l,s.identifier("concat")),u))}},CallExpression:function(e,t){var i=e.node,a=e.scope,o=i.arguments;if(r(o)){var u=e.get("callee");if(!u.isSuper()){var l=s.identifier("undefined");i.arguments=[];var c=void 0;c=1===o.length&&"arguments"===o[0].argument.name?[o[0].argument]:n(o,a,t);var f=c.shift();c.length?i.arguments.push(s.callExpression(s.memberExpression(f,s.identifier("concat")),c)):i.arguments.push(f);var p=i.callee;if(u.isMemberExpression()){var d=a.maybeGenerateMemoised(p.object);d?(p.object=s.assignmentExpression("=",d,p.object),l=d):l=p.object,s.appendToMemberExpression(p,s.identifier("apply"))}else i.callee=s.memberExpression(i.callee,s.identifier("apply"));s.isSuper(l)&&(l=s.thisExpression()),i.arguments.unshift(l)}}},NewExpression:function(e,t){var i=e.node,a=e.scope,o=i.arguments;if(r(o)){var u=n(o,a,t),l=s.arrayExpression([s.nullLiteral()]);o=s.callExpression(s.memberExpression(l,s.identifier("concat")),u),e.replaceWith(s.newExpression(s.callExpression(s.memberExpression(s.memberExpression(s.memberExpression(s.identifier("Function"),s.identifier("prototype")),s.identifier("bind")),s.identifier("apply")),[i.callee,o]),[]))}}}}},e.exports=t.default},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}t.__esModule=!0,t.default=function(){return{visitor:{RegExpLiteral:function(e){var t=e.node;s.is(t,"y")&&e.replaceWith(o.newExpression(o.identifier("RegExp"),[o.stringLiteral(t.pattern),o.stringLiteral(t.flags)]))}}}};var i=r(192),s=n(i),a=r(1),o=n(a);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){function t(e){return n.isLiteral(e)&&"string"==typeof e.value}function r(e,t){return n.binaryExpression("+",e,t)}var n=e.types;return{visitor:{TaggedTemplateExpression:function(e,t){for(var r=e.node,s=r.quasi,a=[],o=[],u=[],l=s.quasis,c=Array.isArray(l),f=0,l=c?l:(0,i.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if(f=l.next(),f.done)break;p=f.value}var d=p;o.push(n.stringLiteral(d.value.cooked)),u.push(n.stringLiteral(d.value.raw))}o=n.arrayExpression(o),u=n.arrayExpression(u);var h="taggedTemplateLiteral";t.opts.loose&&(h+="Loose");var m=t.file.addTemplateObject(h,o,u);a.push(m),a=a.concat(s.expressions),e.replaceWith(n.callExpression(r.tag,a))},TemplateLiteral:function(e,s){for(var a=[],o=e.get("expressions"),u=e.node.quasis,l=Array.isArray(u),c=0,u=l?u:(0,i.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var p=f;a.push(n.stringLiteral(p.value.cooked));var d=o.shift();d&&(!s.opts.spec||d.isBaseType("string")||d.isBaseType("number")?a.push(d.node):a.push(n.callExpression(n.identifier("String"),[d.node])))}if(a=a.filter(function(e){return!n.isLiteral(e,{value:""})}),t(a[0])||t(a[1])||a.unshift(n.stringLiteral("")),a.length>1){for(var h=r(a.shift(),a.shift()),m=a,y=Array.isArray(m),v=0,m=y?m:(0,i.default)(m);;){var g;if(y){if(v>=m.length)break;g=m[v++]}else{if(v=m.next(),v.done)break;g=v.value}h=r(h,g)}e.replaceWith(h)}else e.replaceWith(a[0])}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(10),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){var t=e.types,r=(0,i.default)();return{visitor:{Scope:function(e){var t=e.scope;t.getBinding("Symbol")&&t.rename("Symbol")},UnaryExpression:function(e){var n=e.node,i=e.parent;if(!n[r]&&!e.find(function(e){return e.node&&!!e.node._generated})){if(e.parentPath.isBinaryExpression()&&t.EQUALITY_BINARY_OPERATORS.indexOf(i.operator)>=0){var s=e.getOpposite();if(s.isLiteral()&&"symbol"!==s.node.value&&"object"!==s.node.value)return}if("typeof"===n.operator){var a=t.callExpression(this.addHelper("typeof"),[n.argument]);if(e.get("argument").isIdentifier()){var o=t.stringLiteral("undefined"),u=t.unaryExpression("typeof",n.argument);u[r]=!0,e.replaceWith(t.conditionalExpression(t.binaryExpression("===",u,o),o,a))}else e.replaceWith(a)}}}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(){return{visitor:{RegExpLiteral:function(e){var t=e.node;a.is(t,"u")&&(t.pattern=(0,i.default)(t.pattern,t.flags),a.pullFlag(t,"u"))}}}};var n=r(612),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s=r(192),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(s);e.exports=t.default},function(e,t,r){"use strict";e.exports=r(606)},function(e,t,r){"use strict";e.exports={default:r(408),__esModule:!0}},function(e,t,r){"use strict";function n(){i(),s()}function i(){t.path=u=new o.default}function s(){t.scope=l=new o.default}t.__esModule=!0,t.scope=t.path=void 0;var a=r(364),o=function(e){return e&&e.__esModule?e:{default:e}}(a);t.clear=n,t.clearPath=i,t.clearScope=s;var u=t.path=new o.default,l=t.scope=new o.default},function(e,t){"use strict";function r(e){return e=e.split(" "),function(t){return e.indexOf(t)>=0}}function n(e,t){for(var r=65536,n=0;n<t.length;n+=2){if((r+=t[n])>e)return!1;if((r+=t[n+1])>=e)return!0}}function i(e){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&x.test(String.fromCharCode(e)):n(e,S)))}function s(e){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&A.test(String.fromCharCode(e)):n(e,S)||n(e,_))))}function a(e){var t={};for(var r in D)t[r]=e&&r in e?e[r]:D[r];return t}function o(e){return 10===e||13===e||8232===e||8233===e}function u(e,t){for(var r=1,n=0;;){N.lastIndex=n;var i=N.exec(e);if(!(i&&i.index<t))return new V(r,t-n);++r,n=i.index+i[0].length}}function l(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}function c(e,t,r,n){return e.type=t,e.end=r,e.loc.end=n,this.processComment(e),e}function f(e){return e[e.length-1]}function p(e){return e&&"Property"===e.type&&"init"===e.kind&&!1===e.method}function d(e){return"JSXIdentifier"===e.type?e.name:"JSXNamespacedName"===e.type?e.namespace.name+":"+e.name.name:"JSXMemberExpression"===e.type?d(e.object)+"."+d(e.property):void 0}function h(e,t){return new J(t,e).parse()}function m(e,t){var r=new J(t,e);return r.options.strictMode&&(r.state.strict=!0),r.getExpression()}var y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var v={6:r("enum await"),strict:r("implements interface let package private protected public static yield"),strictBind:r("eval arguments")
},g=r("break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this let const class extends export import yield super"),b="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",E="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",x=new RegExp("["+b+"]"),A=new RegExp("["+b+E+"]");b=E=null;var S=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541],_=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239],D={sourceType:"script",sourceFilename:void 0,startLine:1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,plugins:[],strictMode:null},C="function"==typeof Symbol&&"symbol"===y(Symbol.iterator)?function(e){return void 0===e?"undefined":y(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":y(e)},w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},P=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":y(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},k=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":y(t))&&"function"!=typeof t?e:t},F=!0,T=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};w(this,e),this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.rightAssociative=!!r.rightAssociative,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop||null,this.updateContext=null},O=function(e){function t(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return w(this,t),n.keyword=r,k(this,e.call(this,r,n))}return P(t,e),t}(T),B=function(e){function t(r,n){return w(this,t),k(this,e.call(this,r,{beforeExpr:F,binop:n}))}return P(t,e),t}(T),R={num:new T("num",{startsExpr:!0}),regexp:new T("regexp",{startsExpr:!0}),string:new T("string",{startsExpr:!0}),name:new T("name",{startsExpr:!0}),eof:new T("eof"),bracketL:new T("[",{beforeExpr:F,startsExpr:!0}),bracketR:new T("]"),braceL:new T("{",{beforeExpr:F,startsExpr:!0}),braceBarL:new T("{|",{beforeExpr:F,startsExpr:!0}),braceR:new T("}"),braceBarR:new T("|}"),parenL:new T("(",{beforeExpr:F,startsExpr:!0}),parenR:new T(")"),comma:new T(",",{beforeExpr:F}),semi:new T(";",{beforeExpr:F}),colon:new T(":",{beforeExpr:F}),doubleColon:new T("::",{beforeExpr:F}),dot:new T("."),question:new T("?",{beforeExpr:F}),arrow:new T("=>",{beforeExpr:F}),template:new T("template"),ellipsis:new T("...",{beforeExpr:F}),backQuote:new T("`",{startsExpr:!0}),dollarBraceL:new T("${",{beforeExpr:F,startsExpr:!0}),at:new T("@"),eq:new T("=",{beforeExpr:F,isAssign:!0}),assign:new T("_=",{beforeExpr:F,isAssign:!0}),incDec:new T("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new T("prefix",{beforeExpr:F,prefix:!0,startsExpr:!0}),logicalOR:new B("||",1),logicalAND:new B("&&",2),bitwiseOR:new B("|",3),bitwiseXOR:new B("^",4),bitwiseAND:new B("&",5),equality:new B("==/!=",6),relational:new B("</>",7),bitShift:new B("<</>>",8),plusMin:new T("+/-",{beforeExpr:F,binop:9,prefix:!0,startsExpr:!0}),modulo:new B("%",10),star:new B("*",10),slash:new B("/",10),exponent:new T("**",{beforeExpr:F,binop:11,rightAssociative:!0})},I={break:new O("break"),case:new O("case",{beforeExpr:F}),catch:new O("catch"),continue:new O("continue"),debugger:new O("debugger"),default:new O("default",{beforeExpr:F}),do:new O("do",{isLoop:!0,beforeExpr:F}),else:new O("else",{beforeExpr:F}),finally:new O("finally"),for:new O("for",{isLoop:!0}),function:new O("function",{startsExpr:!0}),if:new O("if"),return:new O("return",{beforeExpr:F}),switch:new O("switch"),throw:new O("throw",{beforeExpr:F}),try:new O("try"),var:new O("var"),let:new O("let"),const:new O("const"),while:new O("while",{isLoop:!0}),with:new O("with"),new:new O("new",{beforeExpr:F,startsExpr:!0}),this:new O("this",{startsExpr:!0}),super:new O("super",{startsExpr:!0}),class:new O("class"),extends:new O("extends",{beforeExpr:F}),export:new O("export"),import:new O("import",{startsExpr:!0}),yield:new O("yield",{beforeExpr:F,startsExpr:!0}),null:new O("null",{startsExpr:!0}),true:new O("true",{startsExpr:!0}),false:new O("false",{startsExpr:!0}),in:new O("in",{beforeExpr:F,binop:7}),instanceof:new O("instanceof",{beforeExpr:F,binop:7}),typeof:new O("typeof",{beforeExpr:F,prefix:!0,startsExpr:!0}),void:new O("void",{beforeExpr:F,prefix:!0,startsExpr:!0}),delete:new O("delete",{beforeExpr:F,prefix:!0,startsExpr:!0})};Object.keys(I).forEach(function(e){R["_"+e]=I[e]});var M=/\r\n?|\n|\u2028|\u2029/,N=new RegExp(M.source,"g"),L=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,j=function e(t,r,n,i){w(this,e),this.token=t,this.isExpr=!!r,this.preserveSpace=!!n,this.override=i},U={braceStatement:new j("{",!1),braceExpression:new j("{",!0),templateQuasi:new j("${",!0),parenStatement:new j("(",!1),parenExpression:new j("(",!0),template:new j("`",!0,!0,function(e){return e.readTmplToken()}),functionExpression:new j("function",!0)};R.parenR.updateContext=R.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);var e=this.state.context.pop();e===U.braceStatement&&this.curContext()===U.functionExpression?(this.state.context.pop(),this.state.exprAllowed=!1):e===U.templateQuasi?this.state.exprAllowed=!0:this.state.exprAllowed=!e.isExpr},R.name.updateContext=function(e){this.state.exprAllowed=!1,e!==R._let&&e!==R._const&&e!==R._var||M.test(this.input.slice(this.state.end))&&(this.state.exprAllowed=!0)},R.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?U.braceStatement:U.braceExpression),this.state.exprAllowed=!0},R.dollarBraceL.updateContext=function(){this.state.context.push(U.templateQuasi),this.state.exprAllowed=!0},R.parenL.updateContext=function(e){var t=e===R._if||e===R._for||e===R._with||e===R._while;this.state.context.push(t?U.parenStatement:U.parenExpression),this.state.exprAllowed=!0},R.incDec.updateContext=function(){},R._function.updateContext=function(){this.curContext()!==U.braceStatement&&this.state.context.push(U.functionExpression),this.state.exprAllowed=!1},R.backQuote.updateContext=function(){this.curContext()===U.template?this.state.context.pop():this.state.context.push(U.template),this.state.exprAllowed=!1};var V=function e(t,r){w(this,e),this.line=t,this.column=r},G=function e(t,r){w(this,e),this.start=t,this.end=r},W=function(){function e(){w(this,e)}return e.prototype.init=function(e,t){return this.strict=!1!==e.strictMode&&"module"===e.sourceType,this.input=t,this.potentialArrowAt=-1,this.inMethod=this.inFunction=this.inGenerator=this.inAsync=this.inPropertyName=this.inType=this.inClassProperty=this.noAnonFunctionType=!1,this.labels=[],this.decorators=[],this.tokens=[],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.pos=this.lineStart=0,this.curLine=e.startLine,this.type=R.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=[U.braceStatement],this.exprAllowed=!0,this.containsEsc=this.containsOctal=!1,this.octalPosition=null,this.invalidTemplateEscapePosition=null,this.exportedIdentifiers=[],this},e.prototype.curPosition=function(){return new V(this.curLine,this.pos-this.lineStart)},e.prototype.clone=function(t){var r=new e;for(var n in this){var i=this[n];t&&"context"!==n||!Array.isArray(i)||(i=i.slice()),r[n]=i}return r},e}(),Y=function e(t){w(this,e),this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new G(t.startLoc,t.endLoc)},q=function(){function e(t,r){w(this,e),this.state=new W,this.state.init(t,r)}return e.prototype.next=function(){this.isLookahead||this.state.tokens.push(new Y(this.state)),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()},e.prototype.eat=function(e){return!!this.match(e)&&(this.next(),!0)},e.prototype.match=function(e){return this.state.type===e},e.prototype.isKeyword=function(e){return g(e)},e.prototype.lookahead=function(){var e=this.state;this.state=e.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;var t=this.state.clone(!0);return this.state=e,t},e.prototype.setStrict=function(e){if(this.state.strict=e,this.match(R.num)||this.match(R.string)){for(this.state.pos=this.state.start;this.state.pos<this.state.lineStart;)this.state.lineStart=this.input.lastIndexOf("\n",this.state.lineStart-2)+1,--this.state.curLine;this.nextToken()}},e.prototype.curContext=function(){return this.state.context[this.state.context.length-1]},e.prototype.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.state.containsOctal=!1,this.state.octalPosition=null,this.state.start=this.state.pos,this.state.startLoc=this.state.curPosition(),this.state.pos>=this.input.length?this.finishToken(R.eof):e.override?e.override(this):this.readToken(this.fullCharCodeAtPos())},e.prototype.readToken=function(e){return i(e)||92===e?this.readWord():this.getTokenFromCode(e)},e.prototype.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.state.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.state.pos+1)-56613888},e.prototype.pushComment=function(e,t,r,n,i,s){var a={type:e?"CommentBlock":"CommentLine",value:t,start:r,end:n,loc:new G(i,s)};this.isLookahead||(this.state.tokens.push(a),this.state.comments.push(a),this.addComment(a))},e.prototype.skipBlockComment=function(){var e=this.state.curPosition(),t=this.state.pos,r=this.input.indexOf("*/",this.state.pos+=2);-1===r&&this.raise(this.state.pos-2,"Unterminated comment"),this.state.pos=r+2,N.lastIndex=t;for(var n=void 0;(n=N.exec(this.input))&&n.index<this.state.pos;)++this.state.curLine,this.state.lineStart=n.index+n[0].length;this.pushComment(!0,this.input.slice(t+2,r),t,this.state.pos,e,this.state.curPosition())},e.prototype.skipLineComment=function(e){for(var t=this.state.pos,r=this.state.curPosition(),n=this.input.charCodeAt(this.state.pos+=e);this.state.pos<this.input.length&&10!==n&&13!==n&&8232!==n&&8233!==n;)++this.state.pos,n=this.input.charCodeAt(this.state.pos);this.pushComment(!1,this.input.slice(t+e,this.state.pos),t,this.state.pos,r,this.state.curPosition())},e.prototype.skipSpace=function(){e:for(;this.state.pos<this.input.length;){var e=this.input.charCodeAt(this.state.pos);switch(e){case 32:case 160:++this.state.pos;break;case 13:10===this.input.charCodeAt(this.state.pos+1)&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break e}break;default:if(!(e>8&&e<14||e>=5760&&L.test(String.fromCharCode(e))))break e;++this.state.pos}}},e.prototype.finishToken=function(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();var r=this.state.type;this.state.type=e,this.state.value=t,this.updateContext(r)},e.prototype.readToken_dot=function(){var e=this.input.charCodeAt(this.state.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.state.pos+2);return 46===e&&46===t?(this.state.pos+=3,this.finishToken(R.ellipsis)):(++this.state.pos,this.finishToken(R.dot))},e.prototype.readToken_slash=function(){return this.state.exprAllowed?(++this.state.pos,this.readRegexp()):61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(R.assign,2):this.finishOp(R.slash,1)},e.prototype.readToken_mult_modulo=function(e){var t=42===e?R.star:R.modulo,r=1,n=this.input.charCodeAt(this.state.pos+1);return 42===n&&(r++,n=this.input.charCodeAt(this.state.pos+2),t=R.exponent),61===n&&(r++,t=R.assign),this.finishOp(t,r)},e.prototype.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.state.pos+1);return t===e?this.finishOp(124===e?R.logicalOR:R.logicalAND,2):61===t?this.finishOp(R.assign,2):124===e&&125===t&&this.hasPlugin("flow")?this.finishOp(R.braceBarR,2):this.finishOp(124===e?R.bitwiseOR:R.bitwiseAND,1)},e.prototype.readToken_caret=function(){return 61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(R.assign,2):this.finishOp(R.bitwiseXOR,1)},e.prototype.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.state.pos+1);return t===e?45===t&&62===this.input.charCodeAt(this.state.pos+2)&&M.test(this.input.slice(this.state.lastTokEnd,this.state.pos))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(R.incDec,2):61===t?this.finishOp(R.assign,2):this.finishOp(R.plusMin,1)},e.prototype.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.state.pos+1),r=1;return t===e?(r=62===e&&62===this.input.charCodeAt(this.state.pos+2)?3:2,61===this.input.charCodeAt(this.state.pos+r)?this.finishOp(R.assign,r+1):this.finishOp(R.bitShift,r)):33===t&&60===e&&45===this.input.charCodeAt(this.state.pos+2)&&45===this.input.charCodeAt(this.state.pos+3)?(this.inModule&&this.unexpected(),this.skipLineComment(4),this.skipSpace(),this.nextToken()):(61===t&&(r=2),this.finishOp(R.relational,r))},e.prototype.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.state.pos+1);return 61===t?this.finishOp(R.equality,61===this.input.charCodeAt(this.state.pos+2)?3:2):61===e&&62===t?(this.state.pos+=2,this.finishToken(R.arrow)):this.finishOp(61===e?R.eq:R.prefix,1)},e.prototype.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.state.pos,this.finishToken(R.parenL);case 41:return++this.state.pos,this.finishToken(R.parenR);case 59:return++this.state.pos,this.finishToken(R.semi);case 44:return++this.state.pos,this.finishToken(R.comma);case 91:return++this.state.pos,this.finishToken(R.bracketL);case 93:return++this.state.pos,this.finishToken(R.bracketR);case 123:return this.hasPlugin("flow")&&124===this.input.charCodeAt(this.state.pos+1)?this.finishOp(R.braceBarL,2):(++this.state.pos,this.finishToken(R.braceL));case 125:return++this.state.pos,this.finishToken(R.braceR);case 58:return this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(R.doubleColon,2):(++this.state.pos,this.finishToken(R.colon));case 63:return++this.state.pos,this.finishToken(R.question);case 64:return++this.state.pos,this.finishToken(R.at);case 96:return++this.state.pos,this.finishToken(R.backQuote);case 48:var t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(R.prefix,1)}this.raise(this.state.pos,"Unexpected character '"+l(e)+"'")},e.prototype.finishOp=function(e,t){var r=this.input.slice(this.state.pos,this.state.pos+t);return this.state.pos+=t,this.finishToken(e,r)},e.prototype.readRegexp=function(){for(var e=this.state.pos,t=void 0,r=void 0;;){this.state.pos>=this.input.length&&this.raise(e,"Unterminated regular expression");var n=this.input.charAt(this.state.pos);if(M.test(n)&&this.raise(e,"Unterminated regular expression"),t)t=!1;else{if("["===n)r=!0;else if("]"===n&&r)r=!1;else if("/"===n&&!r)break;t="\\"===n}++this.state.pos}var i=this.input.slice(e,this.state.pos);++this.state.pos;var s=this.readWord1();if(s){/^[gmsiyu]*$/.test(s)||this.raise(e,"Invalid regular expression flag")}return this.finishToken(R.regexp,{pattern:i,flags:s})},e.prototype.readInt=function(e,t){for(var r=this.state.pos,n=0,i=0,s=null==t?1/0:t;i<s;++i){var a=this.input.charCodeAt(this.state.pos),o=void 0;if((o=a>=97?a-97+10:a>=65?a-65+10:a>=48&&a<=57?a-48:1/0)>=e)break;++this.state.pos,n=n*e+o}return this.state.pos===r||null!=t&&this.state.pos-r!==t?null:n},e.prototype.readRadixNumber=function(e){this.state.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.state.start+2,"Expected number in radix "+e),i(this.fullCharCodeAtPos())&&this.raise(this.state.pos,"Identifier directly after number"),this.finishToken(R.num,t)},e.prototype.readNumber=function(e){var t=this.state.pos,r=48===this.input.charCodeAt(t),n=!1;e||null!==this.readInt(10)||this.raise(t,"Invalid number"),r&&this.state.pos==t+1&&(r=!1);var s=this.input.charCodeAt(this.state.pos);46!==s||r||(++this.state.pos,this.readInt(10),n=!0,s=this.input.charCodeAt(this.state.pos)),69!==s&&101!==s||r||(s=this.input.charCodeAt(++this.state.pos),43!==s&&45!==s||++this.state.pos,null===this.readInt(10)&&this.raise(t,"Invalid number"),n=!0),i(this.fullCharCodeAtPos())&&this.raise(this.state.pos,"Identifier directly after number");var a=this.input.slice(t,this.state.pos),o=void 0;return n?o=parseFloat(a):r&&1!==a.length?this.state.strict?this.raise(t,"Invalid number"):o=/[89]/.test(a)?parseInt(a,10):parseInt(a,8):o=parseInt(a,10),this.finishToken(R.num,o)},e.prototype.readCodePoint=function(e){var t=this.input.charCodeAt(this.state.pos),r=void 0;if(123===t){var n=++this.state.pos;if(r=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,e),++this.state.pos,null===r)--this.state.invalidTemplateEscapePosition;else if(r>1114111){if(!e)return this.state.invalidTemplateEscapePosition=n-2,null;this.raise(n,"Code point out of bounds")}}else r=this.readHexChar(4,e);return r},e.prototype.readString=function(e){for(var t="",r=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated string constant");var n=this.input.charCodeAt(this.state.pos);if(n===e)break;92===n?(t+=this.input.slice(r,this.state.pos),t+=this.readEscapedChar(!1),r=this.state.pos):(o(n)&&this.raise(this.state.start,"Unterminated string constant"),++this.state.pos)}return t+=this.input.slice(r,this.state.pos++),this.finishToken(R.string,t)},e.prototype.readTmplToken=function(){for(var e="",t=this.state.pos,r=!1;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated template");var n=this.input.charCodeAt(this.state.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(R.template)?36===n?(this.state.pos+=2,this.finishToken(R.dollarBraceL)):(++this.state.pos,this.finishToken(R.backQuote)):(e+=this.input.slice(t,this.state.pos),this.finishToken(R.template,r?null:e));if(92===n){e+=this.input.slice(t,this.state.pos);var i=this.readEscapedChar(!0);null===i?r=!0:e+=i,t=this.state.pos}else if(o(n)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,n){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}++this.state.curLine,this.state.lineStart=this.state.pos,t=this.state.pos}else++this.state.pos}},e.prototype.readEscapedChar=function(e){var t=!e,r=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,r){case 110:return"\n";case 114:return"\r";case 120:var n=this.readHexChar(2,t);return null===n?null:String.fromCharCode(n);case 117:var i=this.readCodePoint(t);return null===i?null:l(i);case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:return this.state.lineStart=this.state.pos,++this.state.curLine,"";default:if(r>=48&&r<=55){var s=this.state.pos-1,a=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],o=parseInt(a,8);if(o>255&&(a=a.slice(0,-1),o=parseInt(a,8)),o>0){if(e)return this.state.invalidTemplateEscapePosition=s,null;this.state.strict?this.raise(s,"Octal literal in strict mode"):this.state.containsOctal||(this.state.containsOctal=!0,this.state.octalPosition=s)}return this.state.pos+=a.length-1,String.fromCharCode(o)}return String.fromCharCode(r)}},e.prototype.readHexChar=function(e,t){var r=this.state.pos,n=this.readInt(16,e);return null===n&&(t?this.raise(r,"Bad character escape sequence"):(this.state.pos=r-1,this.state.invalidTemplateEscapePosition=r-1)),n},e.prototype.readWord1=function(){this.state.containsEsc=!1;for(var e="",t=!0,r=this.state.pos;this.state.pos<this.input.length;){var n=this.fullCharCodeAtPos();if(s(n))this.state.pos+=n<=65535?1:2;else{if(92!==n)break;this.state.containsEsc=!0,e+=this.input.slice(r,this.state.pos);var a=this.state.pos;117!==this.input.charCodeAt(++this.state.pos)&&this.raise(this.state.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.state.pos;var o=this.readCodePoint(!0);(t?i:s)(o,!0)||this.raise(a,"Invalid Unicode escape"),e+=l(o),r=this.state.pos}t=!1}return e+this.input.slice(r,this.state.pos)},e.prototype.readWord=function(){var e=this.readWord1(),t=R.name;return!this.state.containsEsc&&this.isKeyword(e)&&(t=I[e]),this.finishToken(t,e)},e.prototype.braceIsBlock=function(e){if(e===R.colon){var t=this.curContext();if(t===U.braceStatement||t===U.braceExpression)return!t.isExpr}return e===R._return?M.test(this.input.slice(this.state.lastTokEnd,this.state.start)):e===R._else||e===R.semi||e===R.eof||e===R.parenR||(e===R.braceL?this.curContext()===U.braceStatement:!this.state.exprAllowed)},e.prototype.updateContext=function(e){var t=this.state.type,r=void 0;t.keyword&&e===R.dot?this.state.exprAllowed=!1:(r=t.updateContext)?r.call(this,e):this.state.exprAllowed=t.beforeExpr},e}(),K={},H=["jsx","doExpressions","objectRestSpread","decorators","classProperties","exportExtensions","asyncGenerators","functionBind","functionSent","dynamicImport","flow"],J=function(e){function t(r,n){w(this,t),r=a(r);var i=k(this,e.call(this,r,n));return i.options=r,i.inModule="module"===i.options.sourceType,i.input=n,i.plugins=i.loadPlugins(i.options.plugins),i.filename=r.sourceFilename,0===i.state.pos&&"#"===i.input[0]&&"!"===i.input[1]&&i.skipLineComment(2),i}return P(t,e),t.prototype.isReservedWord=function(e){return"await"===e?this.inModule:v[6](e)},t.prototype.hasPlugin=function(e){return!!(this.plugins["*"]&&H.indexOf(e)>-1)||!!this.plugins[e]},t.prototype.extend=function(e,t){this[e]=t(this[e])},t.prototype.loadAllPlugins=function(){var e=this,t=Object.keys(K).filter(function(e){return"flow"!==e&&"estree"!==e});t.push("flow"),t.forEach(function(t){var r=K[t];r&&r(e)})},t.prototype.loadPlugins=function(e){if(e.indexOf("*")>=0)return this.loadAllPlugins(),{"*":!0};var t={};e.indexOf("flow")>=0&&(e=e.filter(function(e){return"flow"!==e}),e.push("flow")),e.indexOf("estree")>=0&&(e=e.filter(function(e){return"estree"!==e}),e.unshift("estree"));for(var r=e,n=Array.isArray(r),i=0,r=n?r:r[Symbol.iterator]();;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var a=s;if(!t[a]){t[a]=!0;var o=K[a];o&&o(this)}}return t},t.prototype.parse=function(){var e=this.startNode(),t=this.startNode();return this.nextToken(),this.parseTopLevel(e,t)},t}(q),X=J.prototype;X.addExtra=function(e,t,r){if(e){(e.extra=e.extra||{})[t]=r}},X.isRelational=function(e){return this.match(R.relational)&&this.state.value===e},X.expectRelational=function(e){this.isRelational(e)?this.next():this.unexpected(null,R.relational)},X.isContextual=function(e){return this.match(R.name)&&this.state.value===e},X.eatContextual=function(e){return this.state.value===e&&this.eat(R.name)},X.expectContextual=function(e,t){this.eatContextual(e)||this.unexpected(null,t)},X.canInsertSemicolon=function(){return this.match(R.eof)||this.match(R.braceR)||M.test(this.input.slice(this.state.lastTokEnd,this.state.start))},X.isLineTerminator=function(){return this.eat(R.semi)||this.canInsertSemicolon()},X.semicolon=function(){this.isLineTerminator()||this.unexpected(null,R.semi)},X.expect=function(e,t){return this.eat(e)||this.unexpected(t,e)},X.unexpected=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Unexpected token";t&&"object"===(void 0===t?"undefined":C(t))&&t.label&&(t="Unexpected token, expected "+t.label),this.raise(null!=e?e:this.state.start,t)};var z=J.prototype;z.parseTopLevel=function(e,t){return t.sourceType=this.options.sourceType,this.parseBlockBody(t,!0,!0,R.eof),e.program=this.finishNode(t,"Program"),e.comments=this.state.comments,e.tokens=this.state.tokens,this.finishNode(e,"File")};var $={kind:"loop"},Q={kind:"switch"};z.stmtToDirective=function(e){var t=e.expression,r=this.startNodeAt(t.start,t.loc.start),n=this.startNodeAt(e.start,e.loc.start),i=this.input.slice(t.start,t.end),s=r.value=i.slice(1,-1);return this.addExtra(r,"raw",i),this.addExtra(r,"rawValue",s),n.value=this.finishNodeAt(r,"DirectiveLiteral",t.end,t.loc.end),this.finishNodeAt(n,"Directive",e.end,e.loc.end)},z.parseStatement=function(e,t){this.match(R.at)&&this.parseDecorators(!0);var r=this.state.type,n=this.startNode();switch(r){case R._break:case R._continue:return this.parseBreakContinueStatement(n,r.keyword);case R._debugger:return this.parseDebuggerStatement(n);case R._do:return this.parseDoStatement(n);case R._for:return this.parseForStatement(n);case R._function:return e||this.unexpected(),this.parseFunctionStatement(n);case R._class:return e||this.unexpected(),this.parseClass(n,!0);case R._if:return this.parseIfStatement(n);case R._return:return this.parseReturnStatement(n);case R._switch:return this.parseSwitchStatement(n);case R._throw:return this.parseThrowStatement(n);case R._try:return this.parseTryStatement(n);case R._let:case R._const:e||this.unexpected();case R._var:return this.parseVarStatement(n,r);case R._while:return this.parseWhileStatement(n);case R._with:return this.parseWithStatement(n);case R.braceL:return this.parseBlock();case R.semi:return this.parseEmptyStatement(n);case R._export:case R._import:if(this.hasPlugin("dynamicImport")&&this.lookahead().type===R.parenL)break;return this.options.allowImportExportEverywhere||(t||this.raise(this.state.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.state.start,"'import' and 'export' may appear only with 'sourceType: \"module\"'")),r===R._import?this.parseImport(n):this.parseExport(n);case R.name:if("async"===this.state.value){var i=this.state.clone();if(this.next(),this.match(R._function)&&!this.canInsertSemicolon())return this.expect(R._function),this.parseFunction(n,!0,!1,!0);this.state=i}}var s=this.state.value,a=this.parseExpression();return r===R.name&&"Identifier"===a.type&&this.eat(R.colon)?this.parseLabeledStatement(n,s,a):this.parseExpressionStatement(n,a)},z.takeDecorators=function(e){this.state.decorators.length&&(e.decorators=this.state.decorators,this.state.decorators=[])},z.parseDecorators=function(e){for(;this.match(R.at);){var t=this.parseDecorator();this.state.decorators.push(t)}e&&this.match(R._export)||this.match(R._class)||this.raise(this.state.start,"Leading decorators must be attached to a class declaration")},z.parseDecorator=function(){this.hasPlugin("decorators")||this.unexpected();var e=this.startNode();return this.next(),e.expression=this.parseMaybeAssign(),this.finishNode(e,"Decorator")},z.parseBreakContinueStatement=function(e,t){var r="break"===t;this.next(),this.isLineTerminator()?e.label=null:this.match(R.name)?(e.label=this.parseIdentifier(),this.semicolon()):this.unexpected();var n=void 0;for(n=0;n<this.state.labels.length;++n){var i=this.state.labels[n];if(null==e.label||i.name===e.label.name){if(null!=i.kind&&(r||"loop"===i.kind))break;if(e.label&&r)break}}return n===this.state.labels.length&&this.raise(e.start,"Unsyntactic "+t),this.finishNode(e,r?"BreakStatement":"ContinueStatement")},z.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")},z.parseDoStatement=function(e){return this.next(),this.state.labels.push($),e.body=this.parseStatement(!1),this.state.labels.pop(),this.expect(R._while),e.test=this.parseParenExpression(),this.eat(R.semi),this.finishNode(e,"DoWhileStatement")},z.parseForStatement=function(e){this.next(),this.state.labels.push($);var t=!1;if(this.hasPlugin("asyncGenerators")&&this.state.inAsync&&this.isContextual("await")&&(t=!0,this.next()),this.expect(R.parenL),this.match(R.semi))return t&&this.unexpected(),this.parseFor(e,null);if(this.match(R._var)||this.match(R._let)||this.match(R._const)){var r=this.startNode(),n=this.state.type;return this.next(),(this.parseVar(r,!0,n),this.finishNode(r,"VariableDeclaration"),!this.match(R._in)&&!this.isContextual("of")||1!==r.declarations.length||r.declarations[0].init)?(t&&this.unexpected(),
this.parseFor(e,r)):this.parseForIn(e,r,t)}var i={start:0},s=this.parseExpression(!0,i);if(this.match(R._in)||this.isContextual("of")){var a=this.isContextual("of")?"for-of statement":"for-in statement";return this.toAssignable(s,void 0,a),this.checkLVal(s,void 0,void 0,a),this.parseForIn(e,s,t)}return i.start&&this.unexpected(i.start),t&&this.unexpected(),this.parseFor(e,s)},z.parseFunctionStatement=function(e){return this.next(),this.parseFunction(e,!0)},z.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(!1),e.alternate=this.eat(R._else)?this.parseStatement(!1):null,this.finishNode(e,"IfStatement")},z.parseReturnStatement=function(e){return this.state.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.state.start,"'return' outside of function"),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},z.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(R.braceL),this.state.labels.push(Q);for(var t,r=void 0;!this.match(R.braceR);)if(this.match(R._case)||this.match(R._default)){var n=this.match(R._case);r&&this.finishNode(r,"SwitchCase"),e.cases.push(r=this.startNode()),r.consequent=[],this.next(),n?r.test=this.parseExpression():(t&&this.raise(this.state.lastTokStart,"Multiple default clauses"),t=!0,r.test=null),this.expect(R.colon)}else r?r.consequent.push(this.parseStatement(!0)):this.unexpected();return r&&this.finishNode(r,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")},z.parseThrowStatement=function(e){return this.next(),M.test(this.input.slice(this.state.lastTokEnd,this.state.start))&&this.raise(this.state.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Z=[];z.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(R._catch)){var t=this.startNode();this.next(),this.expect(R.parenL),t.param=this.parseBindingAtom(),this.checkLVal(t.param,!0,Object.create(null),"catch clause"),this.expect(R.parenR),t.body=this.parseBlock(),e.handler=this.finishNode(t,"CatchClause")}return e.guardedHandlers=Z,e.finalizer=this.eat(R._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},z.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},z.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.state.labels.push($),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,"WhileStatement")},z.parseWithStatement=function(e){return this.state.strict&&this.raise(this.state.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(!1),this.finishNode(e,"WithStatement")},z.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},z.parseLabeledStatement=function(e,t,r){for(var n=this.state.labels,i=Array.isArray(n),s=0,n=i?n:n[Symbol.iterator]();;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}a.name===t&&this.raise(r.start,"Label '"+t+"' is already declared")}for(var o=this.state.type.isLoop?"loop":this.match(R._switch)?"switch":null,u=this.state.labels.length-1;u>=0;u--){var l=this.state.labels[u];if(l.statementStart!==e.start)break;l.statementStart=this.state.start,l.kind=o}return this.state.labels.push({name:t,kind:o,statementStart:this.state.start}),e.body=this.parseStatement(!0),this.state.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")},z.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},z.parseBlock=function(e){var t=this.startNode();return this.expect(R.braceL),this.parseBlockBody(t,e,!1,R.braceR),this.finishNode(t,"BlockStatement")},z.isValidDirective=function(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized},z.parseBlockBody=function(e,t,r,n){e.body=[],e.directives=[];for(var i=!1,s=void 0,a=void 0;!this.eat(n);){i||!this.state.containsOctal||a||(a=this.state.octalPosition);var o=this.parseStatement(!0,r);if(t&&!i&&this.isValidDirective(o)){var u=this.stmtToDirective(o);e.directives.push(u),void 0===s&&"use strict"===u.value.value&&(s=this.state.strict,this.setStrict(!0),a&&this.raise(a,"Octal literal in strict mode"))}else i=!0,e.body.push(o)}!1===s&&this.setStrict(!1)},z.parseFor=function(e,t){return e.init=t,this.expect(R.semi),e.test=this.match(R.semi)?null:this.parseExpression(),this.expect(R.semi),e.update=this.match(R.parenR)?null:this.parseExpression(),this.expect(R.parenR),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,"ForStatement")},z.parseForIn=function(e,t,r){var n=void 0;return r?(this.eatContextual("of"),n="ForAwaitStatement"):(n=this.match(R._in)?"ForInStatement":"ForOfStatement",this.next()),e.left=t,e.right=this.parseExpression(),this.expect(R.parenR),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,n)},z.parseVar=function(e,t,r){for(e.declarations=[],e.kind=r.keyword;;){var n=this.startNode();if(this.parseVarHead(n),this.eat(R.eq)?n.init=this.parseMaybeAssign(t):r!==R._const||this.match(R._in)||this.isContextual("of")?"Identifier"===n.id.type||t&&(this.match(R._in)||this.isContextual("of"))?n.init=null:this.raise(this.state.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(R.comma))break}return e},z.parseVarHead=function(e){e.id=this.parseBindingAtom(),this.checkLVal(e.id,!0,void 0,"variable declaration")},z.parseFunction=function(e,t,r,n,i){var s=this.state.inMethod;return this.state.inMethod=!1,this.initFunction(e,n),this.match(R.star)&&(e.async&&!this.hasPlugin("asyncGenerators")?this.unexpected():(e.generator=!0,this.next())),!t||i||this.match(R.name)||this.match(R._yield)||this.unexpected(),(this.match(R.name)||this.match(R._yield))&&(e.id=this.parseBindingIdentifier()),this.parseFunctionParams(e),this.parseFunctionBody(e,r),this.state.inMethod=s,this.finishNode(e,t?"FunctionDeclaration":"FunctionExpression")},z.parseFunctionParams=function(e){this.expect(R.parenL),e.params=this.parseBindingList(R.parenR)},z.parseClass=function(e,t,r){return this.next(),this.takeDecorators(e),this.parseClassId(e,t,r),this.parseClassSuper(e),this.parseClassBody(e),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},z.isClassProperty=function(){return this.match(R.eq)||this.match(R.semi)||this.match(R.braceR)},z.isClassMethod=function(){return this.match(R.parenL)},z.isNonstaticConstructor=function(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)},z.parseClassBody=function(e){var t=this.state.strict;this.state.strict=!0;var r=!1,n=!1,i=[],s=this.startNode();for(s.body=[],this.expect(R.braceL);!this.eat(R.braceR);)if(this.eat(R.semi))i.length>0&&this.raise(this.state.lastTokEnd,"Decorators must not be followed by a semicolon");else if(this.match(R.at))i.push(this.parseDecorator());else{var a=this.startNode();if(i.length&&(a.decorators=i,i=[]),a.static=!1,this.match(R.name)&&"static"===this.state.value){var o=this.parseIdentifier(!0);if(this.isClassMethod()){a.kind="method",a.computed=!1,a.key=o,this.parseClassMethod(s,a,!1,!1);continue}if(this.isClassProperty()){a.computed=!1,a.key=o,s.body.push(this.parseClassProperty(a));continue}a.static=!0}if(this.eat(R.star))a.kind="method",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't be a generator"),a.computed||!a.static||"prototype"!==a.key.name&&"prototype"!==a.key.value||this.raise(a.key.start,"Classes may not have static property named prototype"),this.parseClassMethod(s,a,!0,!1);else{var u=this.match(R.name),l=this.parsePropertyName(a);if(a.computed||!a.static||"prototype"!==a.key.name&&"prototype"!==a.key.value||this.raise(a.key.start,"Classes may not have static property named prototype"),this.isClassMethod())this.isNonstaticConstructor(a)?(n?this.raise(l.start,"Duplicate constructor in the same class"):a.decorators&&this.raise(a.start,"You can't attach decorators to a class constructor"),n=!0,a.kind="constructor"):a.kind="method",this.parseClassMethod(s,a,!1,!1);else if(this.isClassProperty())this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Classes may not have a non-static field named 'constructor'"),s.body.push(this.parseClassProperty(a));else if(u&&"async"===l.name&&!this.isLineTerminator()){var c=this.hasPlugin("asyncGenerators")&&this.eat(R.star);a.kind="method",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't be an async function"),this.parseClassMethod(s,a,c,!0)}else!u||"get"!==l.name&&"set"!==l.name||this.isLineTerminator()&&this.match(R.star)?this.hasPlugin("classConstructorCall")&&u&&"call"===l.name&&this.match(R.name)&&"constructor"===this.state.value?(r?this.raise(a.start,"Duplicate constructor call in the same class"):a.decorators&&this.raise(a.start,"You can't attach decorators to a class constructor"),r=!0,a.kind="constructorCall",this.parsePropertyName(a),this.parseClassMethod(s,a,!1,!1)):this.isLineTerminator()?(this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Classes may not have a non-static field named 'constructor'"),s.body.push(this.parseClassProperty(a))):this.unexpected():(a.kind=l.name,this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't have get/set modifier"),this.parseClassMethod(s,a,!1,!1),this.checkGetterSetterParamCount(a))}}i.length&&this.raise(this.state.start,"You have trailing decorators with no method"),e.body=this.finishNode(s,"ClassBody"),this.state.strict=t},z.parseClassProperty=function(e){return this.state.inClassProperty=!0,this.match(R.eq)?(this.hasPlugin("classProperties")||this.unexpected(),this.next(),e.value=this.parseMaybeAssign()):e.value=null,this.semicolon(),this.state.inClassProperty=!1,this.finishNode(e,"ClassProperty")},z.parseClassMethod=function(e,t,r,n){this.parseMethod(t,r,n),e.body.push(this.finishNode(t,"ClassMethod"))},z.parseClassId=function(e,t,r){this.match(R.name)?e.id=this.parseIdentifier():r||!t?e.id=null:this.unexpected()},z.parseClassSuper=function(e){e.superClass=this.eat(R._extends)?this.parseExprSubscripts():null},z.parseExport=function(e){if(this.next(),this.match(R.star)){var t=this.startNode();if(this.next(),!this.hasPlugin("exportExtensions")||!this.eatContextual("as"))return this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");t.exported=this.parseIdentifier(),e.specifiers=[this.finishNode(t,"ExportNamespaceSpecifier")],this.parseExportSpecifiersMaybe(e),this.parseExportFrom(e,!0)}else if(this.hasPlugin("exportExtensions")&&this.isExportDefaultSpecifier()){var r=this.startNode();if(r.exported=this.parseIdentifier(!0),e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],this.match(R.comma)&&this.lookahead().type===R.star){this.expect(R.comma);var n=this.startNode();this.expect(R.star),this.expectContextual("as"),n.exported=this.parseIdentifier(),e.specifiers.push(this.finishNode(n,"ExportNamespaceSpecifier"))}else this.parseExportSpecifiersMaybe(e);this.parseExportFrom(e,!0)}else{if(this.eat(R._default)){var i=this.startNode(),s=!1;return this.eat(R._function)?i=this.parseFunction(i,!0,!1,!1,!0):this.match(R._class)?i=this.parseClass(i,!0,!0):(s=!0,i=this.parseMaybeAssign()),e.declaration=i,s&&this.semicolon(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration")}this.shouldParseExportDeclaration()?(e.specifiers=[],e.source=null,e.declaration=this.parseExportDeclaration(e)):(e.declaration=null,e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e))}return this.checkExport(e,!0),this.finishNode(e,"ExportNamedDeclaration")},z.parseExportDeclaration=function(){return this.parseStatement(!0)},z.isExportDefaultSpecifier=function(){if(this.match(R.name))return"async"!==this.state.value;if(!this.match(R._default))return!1;var e=this.lookahead();return e.type===R.comma||e.type===R.name&&"from"===e.value},z.parseExportSpecifiersMaybe=function(e){this.eat(R.comma)&&(e.specifiers=e.specifiers.concat(this.parseExportSpecifiers()))},z.parseExportFrom=function(e,t){this.eatContextual("from")?(e.source=this.match(R.string)?this.parseExprAtom():this.unexpected(),this.checkExport(e)):t?this.unexpected():e.source=null,this.semicolon()},z.shouldParseExportDeclaration=function(){return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"let"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isContextual("async")},z.checkExport=function(e,t,r){if(t)if(r)this.checkDuplicateExports(e,"default");else if(e.specifiers&&e.specifiers.length)for(var n=e.specifiers,i=Array.isArray(n),s=0,n=i?n:n[Symbol.iterator]();;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a;this.checkDuplicateExports(o,o.exported.name)}else if(e.declaration)if("FunctionDeclaration"===e.declaration.type||"ClassDeclaration"===e.declaration.type)this.checkDuplicateExports(e,e.declaration.id.name);else if("VariableDeclaration"===e.declaration.type)for(var u=e.declaration.declarations,l=Array.isArray(u),c=0,u=l?u:u[Symbol.iterator]();;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var p=f;this.checkDeclaration(p.id)}if(this.state.decorators.length){var d=e.declaration&&("ClassDeclaration"===e.declaration.type||"ClassExpression"===e.declaration.type);e.declaration&&d||this.raise(e.start,"You can only use decorators on an export when exporting a class"),this.takeDecorators(e.declaration)}},z.checkDeclaration=function(e){if("ObjectPattern"===e.type)for(var t=e.properties,r=Array.isArray(t),n=0,t=r?t:t[Symbol.iterator]();;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i;this.checkDeclaration(s)}else if("ArrayPattern"===e.type)for(var a=e.elements,o=Array.isArray(a),u=0,a=o?a:a[Symbol.iterator]();;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;c&&this.checkDeclaration(c)}else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type||"RestProperty"===e.type?this.checkDeclaration(e.argument):"Identifier"===e.type&&this.checkDuplicateExports(e,e.name)},z.checkDuplicateExports=function(e,t){this.state.exportedIdentifiers.indexOf(t)>-1&&this.raiseDuplicateExportError(e,t),this.state.exportedIdentifiers.push(t)},z.raiseDuplicateExportError=function(e,t){this.raise(e.start,"default"===t?"Only one default export allowed per module.":"`"+t+"` has already been exported. Exported identifiers must be unique.")},z.parseExportSpecifiers=function(){var e=[],t=!0,r=void 0;for(this.expect(R.braceL);!this.eat(R.braceR);){if(t)t=!1;else if(this.expect(R.comma),this.eat(R.braceR))break;var n=this.match(R._default);n&&!r&&(r=!0);var i=this.startNode();i.local=this.parseIdentifier(n),i.exported=this.eatContextual("as")?this.parseIdentifier(!0):i.local.__clone(),e.push(this.finishNode(i,"ExportSpecifier"))}return r&&!this.isContextual("from")&&this.unexpected(),e},z.parseImport=function(e){return this.eat(R._import),this.match(R.string)?(e.specifiers=[],e.source=this.parseExprAtom()):(e.specifiers=[],this.parseImportSpecifiers(e),this.expectContextual("from"),e.source=this.match(R.string)?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,"ImportDeclaration")},z.parseImportSpecifiers=function(e){var t=!0;if(this.match(R.name)){var r=this.state.start,n=this.state.startLoc;if(e.specifiers.push(this.parseImportSpecifierDefault(this.parseIdentifier(),r,n)),!this.eat(R.comma))return}if(this.match(R.star)){var i=this.startNode();return this.next(),this.expectContextual("as"),i.local=this.parseIdentifier(),this.checkLVal(i.local,!0,void 0,"import namespace specifier"),void e.specifiers.push(this.finishNode(i,"ImportNamespaceSpecifier"))}for(this.expect(R.braceL);!this.eat(R.braceR);){if(t)t=!1;else if(this.eat(R.colon)&&this.unexpected(null,"ES2015 named imports do not destructure. Use another statement for destructuring after the import."),this.expect(R.comma),this.eat(R.braceR))break;this.parseImportSpecifier(e)}},z.parseImportSpecifier=function(e){var t=this.startNode();t.imported=this.parseIdentifier(!0),this.eatContextual("as")?t.local=this.parseIdentifier():(this.checkReservedWord(t.imported.name,t.start,!0,!0),t.local=t.imported.__clone()),this.checkLVal(t.local,!0,void 0,"import specifier"),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))},z.parseImportSpecifierDefault=function(e,t,r){var n=this.startNodeAt(t,r);return n.local=e,this.checkLVal(n.local,!0,void 0,"default import specifier"),this.finishNode(n,"ImportDefaultSpecifier")};var ee=J.prototype;ee.toAssignable=function(e,t,r){if(e)switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(var n=e.properties,i=Array.isArray(n),s=0,n=i?n:n[Symbol.iterator]();;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a;"ObjectMethod"===o.type?"get"===o.kind||"set"===o.kind?this.raise(o.key.start,"Object pattern can't contain getter or setter"):this.raise(o.key.start,"Object pattern can't contain methods"):this.toAssignable(o,t,"object destructuring pattern")}break;case"ObjectProperty":this.toAssignable(e.value,t,r);break;case"SpreadProperty":e.type="RestProperty";var u=e.argument;this.toAssignable(u,t,r);break;case"ArrayExpression":e.type="ArrayPattern",this.toAssignableList(e.elements,t,r);break;case"AssignmentExpression":"="===e.operator?(e.type="AssignmentPattern",delete e.operator):this.raise(e.left.end,"Only '=' operator can be used for specifying default value.");break;case"MemberExpression":if(!t)break;default:var l="Invalid left-hand side"+(r?" in "+r:"expression");this.raise(e.start,l)}return e},ee.toAssignableList=function(e,t,r){var n=e.length;if(n){var i=e[n-1];if(i&&"RestElement"===i.type)--n;else if(i&&"SpreadElement"===i.type){i.type="RestElement";var s=i.argument;this.toAssignable(s,t,r),"Identifier"!==s.type&&"MemberExpression"!==s.type&&"ArrayPattern"!==s.type&&this.unexpected(s.start),--n}}for(var a=0;a<n;a++){var o=e[a];o&&this.toAssignable(o,t,r)}return e},ee.toReferencedList=function(e){return e},ee.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,"SpreadElement")},ee.parseRest=function(){var e=this.startNode();return this.next(),e.argument=this.parseBindingIdentifier(),this.finishNode(e,"RestElement")},ee.shouldAllowYieldIdentifier=function(){return this.match(R._yield)&&!this.state.strict&&!this.state.inGenerator},ee.parseBindingIdentifier=function(){return this.parseIdentifier(this.shouldAllowYieldIdentifier())},ee.parseBindingAtom=function(){switch(this.state.type){case R._yield:(this.state.strict||this.state.inGenerator)&&this.unexpected();case R.name:return this.parseIdentifier(!0);case R.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(R.bracketR,!0),this.finishNode(e,"ArrayPattern");case R.braceL:return this.parseObj(!0);default:this.unexpected()}},ee.parseBindingList=function(e,t){for(var r=[],n=!0;!this.eat(e);)if(n?n=!1:this.expect(R.comma),t&&this.match(R.comma))r.push(null);else{if(this.eat(e))break;if(this.match(R.ellipsis)){r.push(this.parseAssignableListItemTypes(this.parseRest())),this.expect(e);break}for(var i=[];this.match(R.at);)i.push(this.parseDecorator());var s=this.parseMaybeDefault();i.length&&(s.decorators=i),this.parseAssignableListItemTypes(s),r.push(this.parseMaybeDefault(s.start,s.loc.start,s))}return r},ee.parseAssignableListItemTypes=function(e){return e},ee.parseMaybeDefault=function(e,t,r){if(t=t||this.state.startLoc,e=e||this.state.start,r=r||this.parseBindingAtom(),!this.eat(R.eq))return r;var n=this.startNodeAt(e,t);return n.left=r,n.right=this.parseMaybeAssign(),this.finishNode(n,"AssignmentPattern")},ee.checkLVal=function(e,t,r,n){switch(e.type){case"Identifier":if(this.checkReservedWord(e.name,e.start,!1,!0),r){var i="_"+e.name;r[i]?this.raise(e.start,"Argument name clash in strict mode"):r[i]=!0}break;case"MemberExpression":t&&this.raise(e.start,(t?"Binding":"Assigning to")+" member expression");break;case"ObjectPattern":for(var s=e.properties,a=Array.isArray(s),o=0,s=a?s:s[Symbol.iterator]();;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if(o=s.next(),o.done)break;u=o.value}var l=u;"ObjectProperty"===l.type&&(l=l.value),this.checkLVal(l,t,r,"object destructuring pattern")}break;case"ArrayPattern":for(var c=e.elements,f=Array.isArray(c),p=0,c=f?c:c[Symbol.iterator]();;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if(p=c.next(),p.done)break;d=p.value}var h=d;h&&this.checkLVal(h,t,r,"array destructuring pattern")}break;case"AssignmentPattern":this.checkLVal(e.left,t,r,"assignment pattern");break;case"RestProperty":this.checkLVal(e.argument,t,r,"rest property");break;case"RestElement":this.checkLVal(e.argument,t,r,"rest element");break;default:var m=(t?"Binding invalid":"Invalid")+" left-hand side"+(n?" in "+n:"expression");this.raise(e.start,m)}};var te=J.prototype;te.checkPropClash=function(e,t){if(!e.computed&&!e.kind){var r=e.key;"__proto__"===("Identifier"===r.type?r.name:String(r.value))&&(t.proto&&this.raise(r.start,"Redefinition of __proto__ property"),t.proto=!0)}},te.getExpression=function(){this.nextToken();var e=this.parseExpression();return this.match(R.eof)||this.unexpected(),e},te.parseExpression=function(e,t){var r=this.state.start,n=this.state.startLoc,i=this.parseMaybeAssign(e,t);if(this.match(R.comma)){var s=this.startNodeAt(r,n);for(s.expressions=[i];this.eat(R.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.toReferencedList(s.expressions),this.finishNode(s,"SequenceExpression")}return i},te.parseMaybeAssign=function(e,t,r,n){var i=this.state.start,s=this.state.startLoc;if(this.match(R._yield)&&this.state.inGenerator){var a=this.parseYield();return r&&(a=r.call(this,a,i,s)),a}var o=void 0;t?o=!1:(t={start:0},o=!0),(this.match(R.parenL)||this.match(R.name))&&(this.state.potentialArrowAt=this.state.start);var u=this.parseMaybeConditional(e,t,n);if(r&&(u=r.call(this,u,i,s)),this.state.type.isAssign){var l=this.startNodeAt(i,s);if(l.operator=this.state.value,l.left=this.match(R.eq)?this.toAssignable(u,void 0,"assignment expression"):u,t.start=0,this.checkLVal(u,void 0,void 0,"assignment expression"),u.extra&&u.extra.parenthesized){var c=void 0;"ObjectPattern"===u.type?c="`({a}) = 0` use `({a} = 0)`":"ArrayPattern"===u.type&&(c="`([a]) = 0` use `([a] = 0)`"),c&&this.raise(u.start,"You're trying to assign to a parenthesized expression, eg. instead of "+c)}return this.next(),l.right=this.parseMaybeAssign(e),this.finishNode(l,"AssignmentExpression")}return o&&t.start&&this.unexpected(t.start),u},te.parseMaybeConditional=function(e,t,r){var n=this.state.start,i=this.state.startLoc,s=this.parseExprOps(e,t);return t&&t.start?s:this.parseConditional(s,e,n,i,r)},te.parseConditional=function(e,t,r,n){if(this.eat(R.question)){var i=this.startNodeAt(r,n);return i.test=e,i.consequent=this.parseMaybeAssign(),this.expect(R.colon),i.alternate=this.parseMaybeAssign(t),this.finishNode(i,"ConditionalExpression")}return e},te.parseExprOps=function(e,t){var r=this.state.start,n=this.state.startLoc,i=this.parseMaybeUnary(t);return t&&t.start?i:this.parseExprOp(i,r,n,-1,e)},te.parseExprOp=function(e,t,r,n,i){var s=this.state.type.binop;if(!(null==s||i&&this.match(R._in))&&s>n){var a=this.startNodeAt(t,r);a.left=e,a.operator=this.state.value,"**"!==a.operator||"UnaryExpression"!==e.type||!e.extra||e.extra.parenthesizedArgument||e.extra.parenthesized||this.raise(e.argument.start,"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.");var o=this.state.type;this.next();var u=this.state.start,l=this.state.startLoc;return a.right=this.parseExprOp(this.parseMaybeUnary(),u,l,o.rightAssociative?s-1:s,i),this.finishNode(a,o===R.logicalOR||o===R.logicalAND?"LogicalExpression":"BinaryExpression"),this.parseExprOp(a,t,r,n,i)}return e},te.parseMaybeUnary=function(e){if(this.state.type.prefix){var t=this.startNode(),r=this.match(R.incDec);t.operator=this.state.value,t.prefix=!0,this.next();var n=this.state.type;return t.argument=this.parseMaybeUnary(),this.addExtra(t,"parenthesizedArgument",!(n!==R.parenL||t.argument.extra&&t.argument.extra.parenthesized)),e&&e.start&&this.unexpected(e.start),r?this.checkLVal(t.argument,void 0,void 0,"prefix operation"):this.state.strict&&"delete"===t.operator&&"Identifier"===t.argument.type&&this.raise(t.start,"Deleting local variable in strict mode"),this.finishNode(t,r?"UpdateExpression":"UnaryExpression")}var i=this.state.start,s=this.state.startLoc,a=this.parseExprSubscripts(e);if(e&&e.start)return a;for(;this.state.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(i,s);o.operator=this.state.value,o.prefix=!1,o.argument=a,this.checkLVal(a,void 0,void 0,"postfix operation"),this.next(),a=this.finishNode(o,"UpdateExpression")}return a},te.parseExprSubscripts=function(e){var t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprAtom(e);return"ArrowFunctionExpression"===i.type&&i.start===n?i:e&&e.start?i:this.parseSubscripts(i,t,r)},te.parseSubscripts=function(e,t,r,n){for(;;){if(!n&&this.eat(R.doubleColon)){var i=this.startNodeAt(t,r);return i.object=e,i.callee=this.parseNoCallExpr(),this.parseSubscripts(this.finishNode(i,"BindExpression"),t,r,n)}if(this.eat(R.dot)){var s=this.startNodeAt(t,r);s.object=e,s.property=this.parseIdentifier(!0),s.computed=!1,e=this.finishNode(s,"MemberExpression")}else if(this.eat(R.bracketL)){var a=this.startNodeAt(t,r);a.object=e,a.property=this.parseExpression(),a.computed=!0,this.expect(R.bracketR),e=this.finishNode(a,"MemberExpression")}else if(!n&&this.match(R.parenL)){var o=this.state.potentialArrowAt===e.start&&"Identifier"===e.type&&"async"===e.name&&!this.canInsertSemicolon();this.next();var u=this.startNodeAt(t,r);if(u.callee=e,u.arguments=this.parseCallExpressionArguments(R.parenR,o),"Import"===u.callee.type&&1!==u.arguments.length&&this.raise(u.start,"import() requires exactly one argument"),e=this.finishNode(u,"CallExpression"),o&&this.shouldParseAsyncArrow())return this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,r),u);this.toReferencedList(u.arguments)}else{if(!this.match(R.backQuote))return e;var l=this.startNodeAt(t,r);l.tag=e,l.quasi=this.parseTemplate(!0),e=this.finishNode(l,"TaggedTemplateExpression")}}},te.parseCallExpressionArguments=function(e,t){for(var r=[],n=void 0,i=!0;!this.eat(e);){if(i)i=!1;else if(this.expect(R.comma),this.eat(e))break;this.match(R.parenL)&&!n&&(n=this.state.start),r.push(this.parseExprListItem(!1,t?{start:0}:void 0,t?{start:0}:void 0))}return t&&n&&this.shouldParseAsyncArrow()&&this.unexpected(),r},te.shouldParseAsyncArrow=function(){return this.match(R.arrow)},te.parseAsyncArrowFromCallExpression=function(e,t){return this.expect(R.arrow),this.parseArrowExpression(e,t.arguments,!0)},te.parseNoCallExpr=function(){var e=this.state.start,t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,t,!0)},te.parseExprAtom=function(e){var t=this.state.potentialArrowAt===this.state.start,r=void 0;switch(this.state.type){case R._super:return this.state.inMethod||this.state.inClassProperty||this.options.allowSuperOutsideMethod||this.raise(this.state.start,"'super' outside of function or class"),r=this.startNode(),this.next(),this.match(R.parenL)||this.match(R.bracketL)||this.match(R.dot)||this.unexpected(),this.match(R.parenL)&&"constructor"!==this.state.inMethod&&!this.options.allowSuperOutsideMethod&&this.raise(r.start,"super() outside of class constructor"),this.finishNode(r,"Super");case R._import:return this.hasPlugin("dynamicImport")||this.unexpected(),r=this.startNode(),this.next(),this.match(R.parenL)||this.unexpected(null,R.parenL),this.finishNode(r,"Import");case R._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case R._yield:this.state.inGenerator&&this.unexpected();case R.name:r=this.startNode();var n="await"===this.state.value&&this.state.inAsync,i=this.shouldAllowYieldIdentifier(),s=this.parseIdentifier(n||i);if("await"===s.name){if(this.state.inAsync||this.inModule)return this.parseAwait(r)}else{if("async"===s.name&&this.match(R._function)&&!this.canInsertSemicolon())return this.next(),this.parseFunction(r,!1,!1,!0);if(t&&"async"===s.name&&this.match(R.name)){var a=[this.parseIdentifier()];return this.expect(R.arrow),this.parseArrowExpression(r,a,!0)}}return t&&!this.canInsertSemicolon()&&this.eat(R.arrow)?this.parseArrowExpression(r,[s]):s;case R._do:if(this.hasPlugin("doExpressions")){var o=this.startNode();this.next();var u=this.state.inFunction,l=this.state.labels;return this.state.labels=[],this.state.inFunction=!1,o.body=this.parseBlock(!1,!0),this.state.inFunction=u,this.state.labels=l,this.finishNode(o,"DoExpression")}case R.regexp:var c=this.state.value;return r=this.parseLiteral(c.value,"RegExpLiteral"),r.pattern=c.pattern,r.flags=c.flags,r;case R.num:return this.parseLiteral(this.state.value,"NumericLiteral");case R.string:return this.parseLiteral(this.state.value,"StringLiteral");case R._null:return r=this.startNode(),this.next(),this.finishNode(r,"NullLiteral");case R._true:case R._false:return r=this.startNode(),r.value=this.match(R._true),this.next(),this.finishNode(r,"BooleanLiteral");case R.parenL:return this.parseParenAndDistinguishExpression(null,null,t);case R.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(R.bracketR,!0,e),this.toReferencedList(r.elements),this.finishNode(r,"ArrayExpression");case R.braceL:return this.parseObj(!1,e);case R._function:return this.parseFunctionExpression();case R.at:this.parseDecorators();case R._class:return r=this.startNode(),this.takeDecorators(r),this.parseClass(r,!1);case R._new:return this.parseNew();case R.backQuote:return this.parseTemplate(!1);case R.doubleColon:r=this.startNode(),this.next(),r.object=null;var f=r.callee=this.parseNoCallExpr();if("MemberExpression"===f.type)return this.finishNode(r,"BindExpression");this.raise(f.start,"Binding should be performed on object property.");default:this.unexpected()}},te.parseFunctionExpression=function(){var e=this.startNode(),t=this.parseIdentifier(!0);return this.state.inGenerator&&this.eat(R.dot)&&this.hasPlugin("functionSent")?this.parseMetaProperty(e,t,"sent"):this.parseFunction(e,!1)},te.parseMetaProperty=function(e,t,r){return e.meta=t,e.property=this.parseIdentifier(!0),e.property.name!==r&&this.raise(e.property.start,"The only valid meta property for new is "+t.name+"."+r),this.finishNode(e,"MetaProperty")},te.parseLiteral=function(e,t,r,n){r=r||this.state.start,n=n||this.state.startLoc;var i=this.startNodeAt(r,n);return this.addExtra(i,"rawValue",e),this.addExtra(i,"raw",this.input.slice(r,this.state.end)),i.value=e,this.next(),this.finishNode(i,t)},te.parseParenExpression=function(){this.expect(R.parenL);var e=this.parseExpression();return this.expect(R.parenR),e},te.parseParenAndDistinguishExpression=function(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;var n=void 0;this.expect(R.parenL);for(var i=this.state.start,s=this.state.startLoc,a=[],o={start:0},u={start:0},l=!0,c=void 0,f=void 0;!this.match(R.parenR);){if(l)l=!1;else if(this.expect(R.comma,u.start||null),this.match(R.parenR)){f=this.state.start;break}
if(this.match(R.ellipsis)){var p=this.state.start,d=this.state.startLoc;c=this.state.start,a.push(this.parseParenItem(this.parseRest(),p,d));break}a.push(this.parseMaybeAssign(!1,o,this.parseParenItem,u))}var h=this.state.start,m=this.state.startLoc;this.expect(R.parenR);var y=this.startNodeAt(e,t);if(r&&this.shouldParseArrow()&&(y=this.parseArrow(y))){for(var v=a,g=Array.isArray(v),b=0,v=g?v:v[Symbol.iterator]();;){var E;if(g){if(b>=v.length)break;E=v[b++]}else{if(b=v.next(),b.done)break;E=b.value}var x=E;x.extra&&x.extra.parenthesized&&this.unexpected(x.extra.parenStart)}return this.parseArrowExpression(y,a)}return a.length||this.unexpected(this.state.lastTokStart),f&&this.unexpected(f),c&&this.unexpected(c),o.start&&this.unexpected(o.start),u.start&&this.unexpected(u.start),a.length>1?(n=this.startNodeAt(i,s),n.expressions=a,this.toReferencedList(n.expressions),this.finishNodeAt(n,"SequenceExpression",h,m)):n=a[0],this.addExtra(n,"parenthesized",!0),this.addExtra(n,"parenStart",e),n},te.shouldParseArrow=function(){return!this.canInsertSemicolon()},te.parseArrow=function(e){if(this.eat(R.arrow))return e},te.parseParenItem=function(e){return e},te.parseNew=function(){var e=this.startNode(),t=this.parseIdentifier(!0);if(this.eat(R.dot)){var r=this.parseMetaProperty(e,t,"target");return this.state.inFunction||this.raise(r.property.start,"new.target can only be used in functions"),r}return e.callee=this.parseNoCallExpr(),this.eat(R.parenL)?(e.arguments=this.parseExprList(R.parenR),this.toReferencedList(e.arguments)):e.arguments=[],this.finishNode(e,"NewExpression")},te.parseTemplateElement=function(e){var t=this.startNode();return null===this.state.value&&(e&&this.hasPlugin("templateInvalidEscapes")?this.state.invalidTemplateEscapePosition=null:this.raise(this.state.invalidTemplateEscapePosition,"Invalid escape sequence in template")),t.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),t.tail=this.match(R.backQuote),this.finishNode(t,"TemplateElement")},te.parseTemplate=function(e){var t=this.startNode();this.next(),t.expressions=[];var r=this.parseTemplateElement(e);for(t.quasis=[r];!r.tail;)this.expect(R.dollarBraceL),t.expressions.push(this.parseExpression()),this.expect(R.braceR),t.quasis.push(r=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")},te.parseObj=function(e,t){var r=[],n=Object.create(null),i=!0,s=this.startNode();s.properties=[],this.next();for(var a=null;!this.eat(R.braceR);){if(i)i=!1;else if(this.expect(R.comma),this.eat(R.braceR))break;for(;this.match(R.at);)r.push(this.parseDecorator());var o=this.startNode(),u=!1,l=!1,c=void 0,f=void 0;if(r.length&&(o.decorators=r,r=[]),this.hasPlugin("objectRestSpread")&&this.match(R.ellipsis)){if(o=this.parseSpread(e?{start:0}:void 0),o.type=e?"RestProperty":"SpreadProperty",e&&this.toAssignable(o.argument,!0,"object pattern"),s.properties.push(o),!e)continue;var p=this.state.start;if(null===a){if(this.eat(R.braceR))break;if(this.match(R.comma)&&this.lookahead().type===R.braceR)continue;a=p;continue}this.unexpected(a,"Cannot have multiple rest elements when destructuring")}if(o.method=!1,o.shorthand=!1,(e||t)&&(c=this.state.start,f=this.state.startLoc),e||(u=this.eat(R.star)),!e&&this.isContextual("async")){u&&this.unexpected();var d=this.parseIdentifier();this.match(R.colon)||this.match(R.parenL)||this.match(R.braceR)||this.match(R.eq)||this.match(R.comma)?(o.key=d,o.computed=!1):(l=!0,this.hasPlugin("asyncGenerators")&&(u=this.eat(R.star)),this.parsePropertyName(o))}else this.parsePropertyName(o);this.parseObjPropValue(o,c,f,u,l,e,t),this.checkPropClash(o,n),o.shorthand&&this.addExtra(o,"shorthand",!0),s.properties.push(o)}return null!==a&&this.unexpected(a,"The rest element has to be the last element when destructuring"),r.length&&this.raise(this.state.start,"You have trailing decorators with no property"),this.finishNode(s,e?"ObjectPattern":"ObjectExpression")},te.isGetterOrSetterMethod=function(e,t){return!t&&!e.computed&&"Identifier"===e.key.type&&("get"===e.key.name||"set"===e.key.name)&&(this.match(R.string)||this.match(R.num)||this.match(R.bracketL)||this.match(R.name)||this.state.type.keyword)},te.checkGetterSetterParamCount=function(e){var t="get"===e.kind?0:1;if(e.params.length!==t){var r=e.start;"get"===e.kind?this.raise(r,"getter should have no params"):this.raise(r,"setter should have exactly one param")}},te.parseObjectMethod=function(e,t,r,n){return r||t||this.match(R.parenL)?(n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,r),this.finishNode(e,"ObjectMethod")):this.isGetterOrSetterMethod(e,n)?((t||r)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),this.parseMethod(e),this.checkGetterSetterParamCount(e),this.finishNode(e,"ObjectMethod")):void 0},te.parseObjectProperty=function(e,t,r,n,i){return this.eat(R.colon)?(e.value=n?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssign(!1,i),this.finishNode(e,"ObjectProperty")):e.computed||"Identifier"!==e.key.type?void 0:(this.checkReservedWord(e.key.name,e.key.start,!0,!0),n?e.value=this.parseMaybeDefault(t,r,e.key.__clone()):this.match(R.eq)&&i?(i.start||(i.start=this.state.start),e.value=this.parseMaybeDefault(t,r,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))},te.parseObjPropValue=function(e,t,r,n,i,s,a){var o=this.parseObjectMethod(e,n,i,s)||this.parseObjectProperty(e,t,r,s,a);return o||this.unexpected(),o},te.parsePropertyName=function(e){if(this.eat(R.bracketL))e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(R.bracketR);else{e.computed=!1;var t=this.state.inPropertyName;this.state.inPropertyName=!0,e.key=this.match(R.num)||this.match(R.string)?this.parseExprAtom():this.parseIdentifier(!0),this.state.inPropertyName=t}return e.key},te.initFunction=function(e,t){e.id=null,e.generator=!1,e.expression=!1,e.async=!!t},te.parseMethod=function(e,t,r){var n=this.state.inMethod;return this.state.inMethod=e.kind||!0,this.initFunction(e,r),this.expect(R.parenL),e.params=this.parseBindingList(R.parenR),e.generator=!!t,this.parseFunctionBody(e),this.state.inMethod=n,e},te.parseArrowExpression=function(e,t,r){return this.initFunction(e,r),e.params=this.toAssignableList(t,!0,"arrow function parameters"),this.parseFunctionBody(e,!0),this.finishNode(e,"ArrowFunctionExpression")},te.isStrictBody=function(e,t){if(!t&&e.body.directives.length)for(var r=e.body.directives,n=Array.isArray(r),i=0,r=n?r:r[Symbol.iterator]();;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var a=s;if("use strict"===a.value.value)return!0}return!1},te.parseFunctionBody=function(e,t){var r=t&&!this.match(R.braceL),n=this.state.inAsync;if(this.state.inAsync=e.async,r)e.body=this.parseMaybeAssign(),e.expression=!0;else{var i=this.state.inFunction,s=this.state.inGenerator,a=this.state.labels;this.state.inFunction=!0,this.state.inGenerator=e.generator,this.state.labels=[],e.body=this.parseBlock(!0),e.expression=!1,this.state.inFunction=i,this.state.inGenerator=s,this.state.labels=a}this.state.inAsync=n;var o=this.isStrictBody(e,r),u=this.state.strict||t||o;if(o&&e.id&&"Identifier"===e.id.type&&"yield"===e.id.name&&this.raise(e.id.start,"Binding yield in strict mode"),u){var l=Object.create(null),c=this.state.strict;o&&(this.state.strict=!0),e.id&&this.checkLVal(e.id,!0,void 0,"function name");for(var f=e.params,p=Array.isArray(f),d=0,f=p?f:f[Symbol.iterator]();;){var h;if(p){if(d>=f.length)break;h=f[d++]}else{if(d=f.next(),d.done)break;h=d.value}var m=h;o&&"Identifier"!==m.type&&this.raise(m.start,"Non-simple parameter in strict mode"),this.checkLVal(m,!0,l,"function parameter list")}this.state.strict=c}},te.parseExprList=function(e,t,r){for(var n=[],i=!0;!this.eat(e);){if(i)i=!1;else if(this.expect(R.comma),this.eat(e))break;n.push(this.parseExprListItem(t,r))}return n},te.parseExprListItem=function(e,t,r){return e&&this.match(R.comma)?null:this.match(R.ellipsis)?this.parseSpread(t):this.parseMaybeAssign(!1,t,this.parseParenItem,r)},te.parseIdentifier=function(e){var t=this.startNode();return e||this.checkReservedWord(this.state.value,this.state.start,!!this.state.type.keyword,!1),this.match(R.name)?t.name=this.state.value:this.state.type.keyword?t.name=this.state.type.keyword:this.unexpected(),!e&&"await"===t.name&&this.state.inAsync&&this.raise(t.start,"invalid use of await inside of an async function"),t.loc.identifierName=t.name,this.next(),this.finishNode(t,"Identifier")},te.checkReservedWord=function(e,t,r,n){(this.isReservedWord(e)||r&&this.isKeyword(e))&&this.raise(t,e+" is a reserved word"),this.state.strict&&(v.strict(e)||n&&v.strictBind(e))&&this.raise(t,e+" is a reserved word in strict mode")},te.parseAwait=function(e){return this.state.inAsync||this.unexpected(),this.match(R.star)&&this.raise(e.start,"await* has been removed from the async functions proposal. Use Promise.all() instead."),e.argument=this.parseMaybeUnary(),this.finishNode(e,"AwaitExpression")},te.parseYield=function(){var e=this.startNode();return this.next(),this.match(R.semi)||this.canInsertSemicolon()||!this.match(R.star)&&!this.state.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(R.star),e.argument=this.parseMaybeAssign()),this.finishNode(e,"YieldExpression")};var re=J.prototype,ne=["leadingComments","trailingComments","innerComments"],ie=function(){function e(t,r,n){w(this,e),this.type="",this.start=t,this.end=0,this.loc=new G(r),n&&(this.loc.filename=n)}return e.prototype.__clone=function(){var t=new e;for(var r in this)ne.indexOf(r)<0&&(t[r]=this[r]);return t},e}();re.startNode=function(){return new ie(this.state.start,this.state.startLoc,this.filename)},re.startNodeAt=function(e,t){return new ie(e,t,this.filename)},re.finishNode=function(e,t){return c.call(this,e,t,this.state.lastTokEnd,this.state.lastTokEndLoc)},re.finishNodeAt=function(e,t,r,n){return c.call(this,e,t,r,n)},J.prototype.raise=function(e,t){var r=u(this.input,e);t+=" ("+r.line+":"+r.column+")";var n=new SyntaxError(t);throw n.pos=e,n.loc=r,n};var se=J.prototype;se.addComment=function(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)},se.processComment=function(e){if(!("Program"===e.type&&e.body.length>0)){var t=this.state.commentStack,r=void 0,n=void 0,i=void 0,s=void 0,a=void 0;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else{var o=f(t);t.length>0&&o.trailingComments&&o.trailingComments[0].start>=e.end&&(i=o.trailingComments,o.trailingComments=null)}for(t.length>0&&f(t).start>=e.start&&(r=t.pop());t.length>0&&f(t).start>=e.start;)n=t.pop();if(!n&&r&&(n=r),r&&this.state.leadingComments.length>0){var u=f(this.state.leadingComments);if("ObjectProperty"===r.type){if(u.start>=e.start&&this.state.commentPreviousNode){for(a=0;a<this.state.leadingComments.length;a++)this.state.leadingComments[a].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(a,1),a--);this.state.leadingComments.length>0&&(r.trailingComments=this.state.leadingComments,this.state.leadingComments=[])}}else if("CallExpression"===e.type&&e.arguments&&e.arguments.length){var l=f(e.arguments);l&&u.start>=l.start&&u.end<=e.end&&this.state.commentPreviousNode&&this.state.leadingComments.length>0&&(l.trailingComments=this.state.leadingComments,this.state.leadingComments=[])}}if(n){if(n.leadingComments)if(n!==e&&f(n.leadingComments).end<=e.start)e.leadingComments=n.leadingComments,n.leadingComments=null;else for(s=n.leadingComments.length-2;s>=0;--s)if(n.leadingComments[s].end<=e.start){e.leadingComments=n.leadingComments.splice(0,s+1);break}}else if(this.state.leadingComments.length>0)if(f(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a<this.state.leadingComments.length;a++)this.state.leadingComments[a].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(a,1),a--);this.state.leadingComments.length>0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(s=0;s<this.state.leadingComments.length&&!(this.state.leadingComments[s].end>e.start);s++);e.leadingComments=this.state.leadingComments.slice(0,s),0===e.leadingComments.length&&(e.leadingComments=null),i=this.state.leadingComments.slice(s),0===i.length&&(i=null)}this.state.commentPreviousNode=e,i&&(i.length&&i[0].start>=e.start&&f(i).end<=e.end?e.innerComments=i:e.trailingComments=i),t.push(e)}};var ae=J.prototype;ae.estreeParseRegExpLiteral=function(e){var t=e.pattern,r=e.flags,n=null;try{n=new RegExp(t,r)}catch(e){}var i=this.estreeParseLiteral(n);return i.regex={pattern:t,flags:r},i},ae.estreeParseLiteral=function(e){return this.parseLiteral(e,"Literal")},ae.directiveToStmt=function(e){var t=e.value,r=this.startNodeAt(e.start,e.loc.start),n=this.startNodeAt(t.start,t.loc.start);return n.value=t.value,n.raw=t.extra.raw,r.expression=this.finishNodeAt(n,"Literal",t.end,t.loc.end),r.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",e.end,e.loc.end)};var oe=function(e){e.extend("checkDeclaration",function(e){return function(t){p(t)?this.checkDeclaration(t.value):e.call(this,t)}}),e.extend("checkGetterSetterParamCount",function(){return function(e){var t="get"===e.kind?0:1;if(e.value.params.length!==t){var r=e.start;"get"===e.kind?this.raise(r,"getter should have no params"):this.raise(r,"setter should have exactly one param")}}}),e.extend("checkLVal",function(e){return function(t,r,n){var i=this;switch(t.type){case"ObjectPattern":t.properties.forEach(function(e){i.checkLVal("Property"===e.type?e.value:e,r,n,"object destructuring pattern")});break;default:for(var s=arguments.length,a=Array(s>3?s-3:0),o=3;o<s;o++)a[o-3]=arguments[o];e.call.apply(e,[this,t,r,n].concat(a))}}}),e.extend("checkPropClash",function(){return function(e,t){if(!e.computed&&p(e)){var r=e.key;"__proto__"===("Identifier"===r.type?r.name:String(r.value))&&(t.proto&&this.raise(r.start,"Redefinition of __proto__ property"),t.proto=!0)}}}),e.extend("isStrictBody",function(){return function(e,t){if(!t&&e.body.body.length>0)for(var r=e.body.body,n=Array.isArray(r),i=0,r=n?r:r[Symbol.iterator]();;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var a=s;if("ExpressionStatement"!==a.type||"Literal"!==a.expression.type)break;if("use strict"===a.expression.value)return!0}return!1}}),e.extend("isValidDirective",function(){return function(e){return!("ExpressionStatement"!==e.type||"Literal"!==e.expression.type||"string"!=typeof e.expression.value||e.expression.extra&&e.expression.extra.parenthesized)}}),e.extend("stmtToDirective",function(e){return function(t){var r=e.call(this,t),n=t.expression.value;return r.value.value=n,r}}),e.extend("parseBlockBody",function(e){return function(t){for(var r=this,n=arguments.length,i=Array(n>1?n-1:0),s=1;s<n;s++)i[s-1]=arguments[s];e.call.apply(e,[this,t].concat(i)),t.directives.reverse().forEach(function(e){t.body.unshift(r.directiveToStmt(e))}),delete t.directives}}),e.extend("parseClassMethod",function(){return function(e,t,r,n){this.parseMethod(t,r,n),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(this.finishNode(t,"MethodDefinition"))}}),e.extend("parseExprAtom",function(e){return function(){switch(this.state.type){case R.regexp:return this.estreeParseRegExpLiteral(this.state.value);case R.num:case R.string:return this.estreeParseLiteral(this.state.value);case R._null:return this.estreeParseLiteral(null);case R._true:return this.estreeParseLiteral(!0);case R._false:return this.estreeParseLiteral(!1);default:for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.call.apply(e,[this].concat(r))}}}),e.extend("parseLiteral",function(e){return function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=e.call.apply(e,[this].concat(r));return i.raw=i.extra.raw,delete i.extra,i}}),e.extend("parseMethod",function(e){return function(t){var r=this.startNode();r.kind=t.kind;for(var n=arguments.length,i=Array(n>1?n-1:0),s=1;s<n;s++)i[s-1]=arguments[s];return r=e.call.apply(e,[this,r].concat(i)),delete r.kind,t.value=this.finishNode(r,"FunctionExpression"),t}}),e.extend("parseObjectMethod",function(e){return function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=e.call.apply(e,[this].concat(r));return i&&("method"===i.kind&&(i.kind="init"),i.type="Property"),i}}),e.extend("parseObjectProperty",function(e){return function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=e.call.apply(e,[this].concat(r));return i&&(i.kind="init",i.type="Property"),i}}),e.extend("toAssignable",function(e){return function(t,r){for(var n=arguments.length,i=Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];if(p(t))return this.toAssignable.apply(this,[t.value,r].concat(i)),t;if("ObjectExpression"===t.type){t.type="ObjectPattern";for(var a=t.properties,o=Array.isArray(a),u=0,a=o?a:a[Symbol.iterator]();;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;"get"===c.kind||"set"===c.kind?this.raise(c.key.start,"Object pattern can't contain getter or setter"):c.method?this.raise(c.key.start,"Object pattern can't contain methods"):this.toAssignable(c,r,"object destructuring pattern")}return t}return e.call.apply(e,[this,t,r].concat(i))}})},ue=["any","mixed","empty","bool","boolean","number","string","void","null"],le=J.prototype;le.flowParseTypeInitialiser=function(e){var t=this.state.inType;this.state.inType=!0,this.expect(e||R.colon);var r=this.flowParseType();return this.state.inType=t,r},le.flowParsePredicate=function(){var e=this.startNode(),t=this.state.startLoc,r=this.state.start;this.expect(R.modulo);var n=this.state.startLoc;return this.expectContextual("checks"),t.line===n.line&&t.column===n.column-1||this.raise(r,"Spaces between ´%´ and ´checks´ are not allowed here."),this.eat(R.parenL)?(e.expression=this.parseExpression(),this.expect(R.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")},le.flowParseTypeAndPredicateInitialiser=function(){var e=this.state.inType;this.state.inType=!0,this.expect(R.colon);var t=null,r=null;return this.match(R.modulo)?(this.state.inType=e,r=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(R.modulo)&&(r=this.flowParsePredicate())),[t,r]},le.flowParseDeclareClass=function(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")},le.flowParseDeclareFunction=function(e){this.next();var t=e.id=this.parseIdentifier(),r=this.startNode(),n=this.startNode();this.isRelational("<")?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(R.parenL);var i=this.flowParseFunctionTypeParams();r.params=i.params,r.rest=i.rest,this.expect(R.parenR);var s=null,a=this.flowParseTypeAndPredicateInitialiser();return r.returnType=a[0],s=a[1],n.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),n.predicate=s,t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.finishNode(t,t.type),this.semicolon(),this.finishNode(e,"DeclareFunction")},le.flowParseDeclare=function(e){return this.match(R._class)?this.flowParseDeclareClass(e):this.match(R._function)?this.flowParseDeclareFunction(e):this.match(R._var)?this.flowParseDeclareVariable(e):this.isContextual("module")?this.lookahead().type===R.dot?this.flowParseDeclareModuleExports(e):this.flowParseDeclareModule(e):this.isContextual("type")?this.flowParseDeclareTypeAlias(e):this.isContextual("opaque")?this.flowParseDeclareOpaqueType(e):this.isContextual("interface")?this.flowParseDeclareInterface(e):this.match(R._export)?this.flowParseDeclareExportDeclaration(e):void this.unexpected()},le.flowParseDeclareExportDeclaration=function(e){if(this.expect(R._export),this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");throw this.unexpected()},le.flowParseDeclareVariable=function(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(),this.semicolon(),this.finishNode(e,"DeclareVariable")},le.flowParseDeclareModule=function(e){this.next(),this.match(R.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();var t=e.body=this.startNode(),r=t.body=[];for(this.expect(R.braceL);!this.match(R.braceR);){var n=this.startNode();if(this.match(R._import)){var i=this.lookahead();"type"!==i.value&&"typeof"!==i.value&&this.unexpected(null,"Imports within a `declare module` body must always be `import type` or `import typeof`"),this.parseImport(n)}else this.expectContextual("declare","Only declares and type imports are allowed inside declare module"),n=this.flowParseDeclare(n,!0);r.push(n)}return this.expect(R.braceR),this.finishNode(t,"BlockStatement"),this.finishNode(e,"DeclareModule")},le.flowParseDeclareModuleExports=function(e){return this.expectContextual("module"),this.expect(R.dot),this.expectContextual("exports"),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")},le.flowParseDeclareTypeAlias=function(e){return this.next(),this.flowParseTypeAlias(e),this.finishNode(e,"DeclareTypeAlias")},le.flowParseDeclareOpaqueType=function(e){return this.next(),this.flowParseOpaqueType(e,!0),this.finishNode(e,"DeclareOpaqueType")},le.flowParseDeclareInterface=function(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,"DeclareInterface")},le.flowParseInterfaceish=function(e){if(e.id=this.parseIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.mixins=[],this.eat(R._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(R.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(R.comma))}e.body=this.flowParseObjectType(!0,!1,!1)},le.flowParseInterfaceExtends=function(){var e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")},le.flowParseInterface=function(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,"InterfaceDeclaration")},le.flowParseRestrictedIdentifier=function(e){return ue.indexOf(this.state.value)>-1&&this.raise(this.state.start,"Cannot overwrite primitive type "+this.state.value),this.parseIdentifier(e)},le.flowParseTypeAlias=function(e){return e.id=this.flowParseRestrictedIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(R.eq),this.semicolon(),this.finishNode(e,"TypeAlias")},le.flowParseOpaqueType=function(e,t){return this.expectContextual("type"),e.id=this.flowParseRestrictedIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(R.colon)&&(e.supertype=this.flowParseTypeInitialiser(R.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(R.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")},le.flowParseTypeParameter=function(){var e=this.startNode(),t=this.flowParseVariance(),r=this.flowParseTypeAnnotatableIdentifier();return e.name=r.name,e.variance=t,e.bound=r.typeAnnotation,this.match(R.eq)&&(this.eat(R.eq),e.default=this.flowParseType()),this.finishNode(e,"TypeParameter")},le.flowParseTypeParameterDeclaration=function(){var e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(R.jsxTagStart)?this.next():this.unexpected();do{t.params.push(this.flowParseTypeParameter()),this.isRelational(">")||this.expect(R.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")},le.flowParseTypeParameterInstantiation=function(){var e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(R.comma);return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")},le.flowParseObjectPropertyKey=function(){return this.match(R.num)||this.match(R.string)?this.parseExprAtom():this.parseIdentifier(!0)},le.flowParseObjectTypeIndexer=function(e,t,r){return e.static=t,this.expect(R.bracketL),this.lookahead().type===R.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(R.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=r,this.flowObjectTypeSemicolon(),this.finishNode(e,"ObjectTypeIndexer")},le.flowParseObjectTypeMethodish=function(e){for(e.params=[],e.rest=null,e.typeParameters=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(R.parenL);!this.match(R.parenR)&&!this.match(R.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(R.parenR)||this.expect(R.comma);return this.eat(R.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),this.expect(R.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")},le.flowParseObjectTypeMethod=function(e,t,r,n){var i=this.startNodeAt(e,t);return i.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e,t)),i.static=r,i.key=n,i.optional=!1,this.flowObjectTypeSemicolon(),this.finishNode(i,"ObjectTypeProperty")},le.flowParseObjectTypeCallProperty=function(e,t){var r=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(r),this.flowObjectTypeSemicolon(),this.finishNode(e,"ObjectTypeCallProperty")},le.flowParseObjectType=function(e,t,r){var n=this.state.inType;this.state.inType=!0;var i=this.startNode(),s=void 0,a=void 0,o=!1;i.callProperties=[],i.properties=[],i.indexers=[];var u=void 0,l=void 0;for(t&&this.match(R.braceBarL)?(this.expect(R.braceBarL),u=R.braceBarR,l=!0):(this.expect(R.braceL),u=R.braceR,l=!1),i.exact=l;!this.match(u);){var c=!1,f=this.state.start,p=this.state.startLoc;s=this.startNode(),e&&this.isContextual("static")&&this.lookahead().type!==R.colon&&(this.next(),o=!0);var d=this.state.start,h=this.flowParseVariance();this.match(R.bracketL)?i.indexers.push(this.flowParseObjectTypeIndexer(s,o,h)):this.match(R.parenL)||this.isRelational("<")?(h&&this.unexpected(d),i.callProperties.push(this.flowParseObjectTypeCallProperty(s,o))):this.match(R.ellipsis)?(r||this.unexpected(null,"Spread operator cannot appear in class or interface definitions"),h&&this.unexpected(h.start,"Spread properties cannot have variance"),this.expect(R.ellipsis),s.argument=this.flowParseType(),this.flowObjectTypeSemicolon(),i.properties.push(this.finishNode(s,"ObjectTypeSpreadProperty"))):(a=this.flowParseObjectPropertyKey(),this.isRelational("<")||this.match(R.parenL)?(h&&this.unexpected(h.start),i.properties.push(this.flowParseObjectTypeMethod(f,p,o,a))):(this.eat(R.question)&&(c=!0),s.key=a,s.value=this.flowParseTypeInitialiser(),s.optional=c,s.static=o,s.variance=h,this.flowObjectTypeSemicolon(),i.properties.push(this.finishNode(s,"ObjectTypeProperty")))),o=!1}this.expect(u);var m=this.finishNode(i,"ObjectTypeAnnotation");return this.state.inType=n,m},le.flowObjectTypeSemicolon=function(){this.eat(R.semi)||this.eat(R.comma)||this.match(R.braceR)||this.match(R.braceBarR)||this.unexpected()},le.flowParseQualifiedTypeIdentifier=function(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;for(var n=r||this.parseIdentifier();this.eat(R.dot);){var i=this.startNodeAt(e,t);i.qualification=n,i.id=this.parseIdentifier(),n=this.finishNode(i,"QualifiedTypeIdentifier")}return n},le.flowParseGenericType=function(e,t,r){var n=this.startNodeAt(e,t);return n.typeParameters=null,n.id=this.flowParseQualifiedTypeIdentifier(e,t,r),this.isRelational("<")&&(n.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(n,"GenericTypeAnnotation")},le.flowParseTypeofType=function(){var e=this.startNode();return this.expect(R._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")},le.flowParseTupleType=function(){var e=this.startNode();for(e.types=[],this.expect(R.bracketL);this.state.pos<this.input.length&&!this.match(R.bracketR)&&(e.types.push(this.flowParseType()),!this.match(R.bracketR));)this.expect(R.comma);return this.expect(R.bracketR),this.finishNode(e,"TupleTypeAnnotation")},le.flowParseFunctionTypeParam=function(){var e=null,t=!1,r=null,n=this.startNode(),i=this.lookahead();return i.type===R.colon||i.type===R.question?(e=this.parseIdentifier(),this.eat(R.question)&&(t=!0),r=this.flowParseTypeInitialiser()):r=this.flowParseType(),n.name=e,n.optional=t,n.typeAnnotation=r,this.finishNode(n,"FunctionTypeParam")},le.reinterpretTypeAsFunctionTypeParam=function(e){var t=this.startNodeAt(e.start,e.loc.start);return t.name=null,t.optional=!1,t.typeAnnotation=e,this.finishNode(t,"FunctionTypeParam")},le.flowParseFunctionTypeParams=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={params:e,rest:null};!this.match(R.parenR)&&!this.match(R.ellipsis);)t.params.push(this.flowParseFunctionTypeParam()),this.match(R.parenR)||this.expect(R.comma);return this.eat(R.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam()),t},le.flowIdentToTypeAnnotation=function(e,t,r,n){switch(n.name){case"any":return this.finishNode(r,"AnyTypeAnnotation");case"void":return this.finishNode(r,"VoidTypeAnnotation");case"bool":case"boolean":return this.finishNode(r,"BooleanTypeAnnotation");case"mixed":return this.finishNode(r,"MixedTypeAnnotation");case"empty":return this.finishNode(r,"EmptyTypeAnnotation");case"number":return this.finishNode(r,"NumberTypeAnnotation");case"string":return this.finishNode(r,"StringTypeAnnotation");default:return this.flowParseGenericType(e,t,n)}},le.flowParsePrimaryType=function(){var e=this.state.start,t=this.state.startLoc,r=this.startNode(),n=void 0,i=void 0,s=!1,a=this.state.noAnonFunctionType;switch(this.state.type){case R.name:return this.flowIdentToTypeAnnotation(e,t,r,this.parseIdentifier());case R.braceL:return this.flowParseObjectType(!1,!1,!0);case R.braceBarL:return this.flowParseObjectType(!1,!0,!0);case R.bracketL:return this.flowParseTupleType();case R.relational:if("<"===this.state.value)return r.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(R.parenL),n=this.flowParseFunctionTypeParams(),r.params=n.params,r.rest=n.rest,this.expect(R.parenR),this.expect(R.arrow),r.returnType=this.flowParseType(),this.finishNode(r,"FunctionTypeAnnotation");break;case R.parenL:if(this.next(),!this.match(R.parenR)&&!this.match(R.ellipsis))if(this.match(R.name)){var o=this.lookahead().type;s=o!==R.question&&o!==R.colon}else s=!0;if(s){if(this.state.noAnonFunctionType=!1,i=this.flowParseType(),this.state.noAnonFunctionType=a,this.state.noAnonFunctionType||!(this.match(R.comma)||this.match(R.parenR)&&this.lookahead().type===R.arrow))return this.expect(R.parenR),i;this.eat(R.comma)}return n=i?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(i)]):this.flowParseFunctionTypeParams(),r.params=n.params,r.rest=n.rest,this.expect(R.parenR),this.expect(R.arrow),r.returnType=this.flowParseType(),r.typeParameters=null,this.finishNode(r,"FunctionTypeAnnotation");case R.string:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case R._true:case R._false:return r.value=this.match(R._true),this.next(),this.finishNode(r,"BooleanLiteralTypeAnnotation");case R.plusMin:if("-"===this.state.value)return this.next(),
this.match(R.num)||this.unexpected(null,"Unexpected token, expected number"),this.parseLiteral(-this.state.value,"NumericLiteralTypeAnnotation",r.start,r.loc.start);this.unexpected();case R.num:return this.parseLiteral(this.state.value,"NumericLiteralTypeAnnotation");case R._null:return r.value=this.match(R._null),this.next(),this.finishNode(r,"NullLiteralTypeAnnotation");case R._this:return r.value=this.match(R._this),this.next(),this.finishNode(r,"ThisTypeAnnotation");case R.star:return this.next(),this.finishNode(r,"ExistentialTypeParam");default:if("typeof"===this.state.type.keyword)return this.flowParseTypeofType()}this.unexpected()},le.flowParsePostfixType=function(){for(var e=this.state.start,t=this.state.startLoc,r=this.flowParsePrimaryType();!this.canInsertSemicolon()&&this.match(R.bracketL);){var n=this.startNodeAt(e,t);n.elementType=r,this.expect(R.bracketL),this.expect(R.bracketR),r=this.finishNode(n,"ArrayTypeAnnotation")}return r},le.flowParsePrefixType=function(){var e=this.startNode();return this.eat(R.question)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,"NullableTypeAnnotation")):this.flowParsePostfixType()},le.flowParseAnonFunctionWithoutParens=function(){var e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(R.arrow)){var t=this.startNodeAt(e.start,e.loc.start);return t.params=[this.reinterpretTypeAsFunctionTypeParam(e)],t.rest=null,t.returnType=this.flowParseType(),t.typeParameters=null,this.finishNode(t,"FunctionTypeAnnotation")}return e},le.flowParseIntersectionType=function(){var e=this.startNode();this.eat(R.bitwiseAND);var t=this.flowParseAnonFunctionWithoutParens();for(e.types=[t];this.eat(R.bitwiseAND);)e.types.push(this.flowParseAnonFunctionWithoutParens());return 1===e.types.length?t:this.finishNode(e,"IntersectionTypeAnnotation")},le.flowParseUnionType=function(){var e=this.startNode();this.eat(R.bitwiseOR);var t=this.flowParseIntersectionType();for(e.types=[t];this.eat(R.bitwiseOR);)e.types.push(this.flowParseIntersectionType());return 1===e.types.length?t:this.finishNode(e,"UnionTypeAnnotation")},le.flowParseType=function(){var e=this.state.inType;this.state.inType=!0;var t=this.flowParseUnionType();return this.state.inType=e,t},le.flowParseTypeAnnotation=function(){var e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,"TypeAnnotation")},le.flowParseTypeAndPredicateAnnotation=function(){var e=this.startNode(),t=this.flowParseTypeAndPredicateInitialiser();return e.typeAnnotation=t[0],e.predicate=t[1],this.finishNode(e,"TypeAnnotation")},le.flowParseTypeAnnotatableIdentifier=function(){var e=this.flowParseRestrictedIdentifier();return this.match(R.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(e,e.type)),e},le.typeCastToParameter=function(e){return e.expression.typeAnnotation=e.typeAnnotation,this.finishNodeAt(e.expression,e.expression.type,e.typeAnnotation.end,e.typeAnnotation.loc.end)},le.flowParseVariance=function(){var e=null;return this.match(R.plusMin)&&("+"===this.state.value?e="plus":"-"===this.state.value&&(e="minus"),this.next()),e};var ce=function(e){e.extend("parseFunctionBody",function(e){return function(t,r){return this.match(R.colon)&&!r&&(t.returnType=this.flowParseTypeAndPredicateAnnotation()),e.call(this,t,r)}}),e.extend("parseStatement",function(e){return function(t,r){if(this.state.strict&&this.match(R.name)&&"interface"===this.state.value){var n=this.startNode();return this.next(),this.flowParseInterface(n)}return e.call(this,t,r)}}),e.extend("parseExpressionStatement",function(e){return function(t,r){if("Identifier"===r.type)if("declare"===r.name){if(this.match(R._class)||this.match(R.name)||this.match(R._function)||this.match(R._var)||this.match(R._export))return this.flowParseDeclare(t)}else if(this.match(R.name)){if("interface"===r.name)return this.flowParseInterface(t);if("type"===r.name)return this.flowParseTypeAlias(t);if("opaque"===r.name)return this.flowParseOpaqueType(t,!1)}return e.call(this,t,r)}}),e.extend("shouldParseExportDeclaration",function(e){return function(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||e.call(this)}}),e.extend("isExportDefaultSpecifier",function(e){return function(){return(!this.match(R.name)||"type"!==this.state.value&&"interface"!==this.state.value&&"opaque"!==this.state.value)&&e.call(this)}}),e.extend("parseConditional",function(e){return function(t,r,n,i,s){if(s&&this.match(R.question)){var a=this.state.clone();try{return e.call(this,t,r,n,i)}catch(e){if(e instanceof SyntaxError)return this.state=a,s.start=e.pos||this.state.start,t;throw e}}return e.call(this,t,r,n,i)}}),e.extend("parseParenItem",function(e){return function(t,r,n){if(t=e.call(this,t,r,n),this.eat(R.question)&&(t.optional=!0),this.match(R.colon)){var i=this.startNodeAt(r,n);return i.expression=t,i.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(i,"TypeCastExpression")}return t}}),e.extend("parseExport",function(e){return function(t){return t=e.call(this,t),"ExportNamedDeclaration"===t.type&&(t.exportKind=t.exportKind||"value"),t}}),e.extend("parseExportDeclaration",function(e){return function(t){if(this.isContextual("type")){t.exportKind="type";var r=this.startNode();return this.next(),this.match(R.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(r)}if(this.isContextual("opaque")){t.exportKind="type";var n=this.startNode();return this.next(),this.flowParseOpaqueType(n,!1)}if(this.isContextual("interface")){t.exportKind="type";var i=this.startNode();return this.next(),this.flowParseInterface(i)}return e.call(this,t)}}),e.extend("parseClassId",function(e){return function(t){e.apply(this,arguments),this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}}),e.extend("isKeyword",function(e){return function(t){return(!this.state.inType||"void"!==t)&&e.call(this,t)}}),e.extend("readToken",function(e){return function(t){return!this.state.inType||62!==t&&60!==t?e.call(this,t):this.finishOp(R.relational,1)}}),e.extend("jsx_readToken",function(e){return function(){if(!this.state.inType)return e.call(this)}}),e.extend("toAssignable",function(e){return function(t,r,n){return"TypeCastExpression"===t.type?e.call(this,this.typeCastToParameter(t),r,n):e.call(this,t,r,n)}}),e.extend("toAssignableList",function(e){return function(t,r,n){for(var i=0;i<t.length;i++){var s=t[i];s&&"TypeCastExpression"===s.type&&(t[i]=this.typeCastToParameter(s))}return e.call(this,t,r,n)}}),e.extend("toReferencedList",function(){return function(e){for(var t=0;t<e.length;t++){var r=e[t];r&&r._exprListItem&&"TypeCastExpression"===r.type&&this.raise(r.start,"Unexpected type cast")}return e}}),e.extend("parseExprListItem",function(e){return function(){for(var t=this.startNode(),r=arguments.length,n=Array(r),i=0;i<r;i++)n[i]=arguments[i];var s=e.call.apply(e,[this].concat(n));return this.match(R.colon)?(t._exprListItem=!0,t.expression=s,t.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(t,"TypeCastExpression")):s}}),e.extend("checkLVal",function(e){return function(t){if("TypeCastExpression"!==t.type)return e.apply(this,arguments)}}),e.extend("parseClassProperty",function(e){return function(t){return delete t.variancePos,this.match(R.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),e.call(this,t)}}),e.extend("isClassMethod",function(e){return function(){return this.isRelational("<")||e.call(this)}}),e.extend("isClassProperty",function(e){return function(){return this.match(R.colon)||e.call(this)}}),e.extend("isNonstaticConstructor",function(e){return function(t){return!this.match(R.colon)&&e.call(this,t)}}),e.extend("parseClassMethod",function(e){return function(t,r){r.variance&&this.unexpected(r.variancePos),delete r.variance,delete r.variancePos,this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterDeclaration());for(var n=arguments.length,i=Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];e.call.apply(e,[this,t,r].concat(i))}}),e.extend("parseClassSuper",function(e){return function(t,r){if(e.call(this,t,r),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();var n=t.implements=[];do{var i=this.startNode();i.id=this.parseIdentifier(),this.isRelational("<")?i.typeParameters=this.flowParseTypeParameterInstantiation():i.typeParameters=null,n.push(this.finishNode(i,"ClassImplements"))}while(this.eat(R.comma))}}}),e.extend("parsePropertyName",function(e){return function(t){var r=this.state.start,n=this.flowParseVariance(),i=e.call(this,t);return t.variance=n,t.variancePos=r,i}}),e.extend("parseObjPropValue",function(e){return function(t){t.variance&&this.unexpected(t.variancePos),delete t.variance,delete t.variancePos;var r=void 0;this.isRelational("<")&&(r=this.flowParseTypeParameterDeclaration(),this.match(R.parenL)||this.unexpected()),e.apply(this,arguments),r&&((t.value||t).typeParameters=r)}}),e.extend("parseAssignableListItemTypes",function(){return function(e){return this.eat(R.question)&&(e.optional=!0),this.match(R.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),this.finishNode(e,e.type),e}}),e.extend("parseMaybeDefault",function(e){return function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=e.apply(this,r);return"AssignmentPattern"===i.type&&i.typeAnnotation&&i.right.start<i.typeAnnotation.start&&this.raise(i.typeAnnotation.start,"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`"),i}}),e.extend("parseImportSpecifiers",function(e){return function(t){t.importKind="value";var r=null;if(this.match(R._typeof)?r="typeof":this.isContextual("type")&&(r="type"),r){var n=this.lookahead();(n.type===R.name&&"from"!==n.value||n.type===R.braceL||n.type===R.star)&&(this.next(),t.importKind=r)}e.call(this,t)}}),e.extend("parseImportSpecifier",function(){return function(e){var t=this.startNode(),r=this.state.start,n=this.parseIdentifier(!0),i=null;"type"===n.name?i="type":"typeof"===n.name&&(i="typeof");var s=!1;if(this.isContextual("as")){var a=this.parseIdentifier(!0);null===i||this.match(R.name)||this.state.type.keyword?(t.imported=n,t.importKind=null,t.local=this.parseIdentifier()):(t.imported=a,t.importKind=i,t.local=a.__clone())}else null!==i&&(this.match(R.name)||this.state.type.keyword)?(t.imported=this.parseIdentifier(!0),t.importKind=i,this.eatContextual("as")?t.local=this.parseIdentifier():(s=!0,t.local=t.imported.__clone())):(s=!0,t.imported=n,t.importKind=null,t.local=t.imported.__clone());"type"!==e.importKind&&"typeof"!==e.importKind||"type"!==t.importKind&&"typeof"!==t.importKind||this.raise(r,"`The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements`"),s&&this.checkReservedWord(t.local.name,t.start,!0,!0),this.checkLVal(t.local,!0,void 0,"import specifier"),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))}}),e.extend("parseFunctionParams",function(e){return function(t){this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),e.call(this,t)}}),e.extend("parseVarHead",function(e){return function(t){e.call(this,t),this.match(R.colon)&&(t.id.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(t.id,t.id.type))}}),e.extend("parseAsyncArrowFromCallExpression",function(e){return function(t,r){if(this.match(R.colon)){var n=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0,t.returnType=this.flowParseTypeAnnotation(),this.state.noAnonFunctionType=n}return e.call(this,t,r)}}),e.extend("shouldParseAsyncArrow",function(e){return function(){return this.match(R.colon)||e.call(this)}}),e.extend("parseMaybeAssign",function(e){return function(){for(var t=null,r=arguments.length,n=Array(r),i=0;i<r;i++)n[i]=arguments[i];if(R.jsxTagStart&&this.match(R.jsxTagStart)){var s=this.state.clone();try{return e.apply(this,n)}catch(e){if(!(e instanceof SyntaxError))throw e;this.state=s,this.state.context.length-=2,t=e}}if(null!=t||this.isRelational("<")){var a=void 0,o=void 0;try{o=this.flowParseTypeParameterDeclaration(),a=e.apply(this,n),a.typeParameters=o,a.start=o.start,a.loc.start=o.loc.start}catch(e){throw t||e}if("ArrowFunctionExpression"===a.type)return a;if(null!=t)throw t;this.raise(o.start,"Expected an arrow function after this type parameter declaration")}return e.apply(this,n)}}),e.extend("parseArrow",function(e){return function(t){if(this.match(R.colon)){var r=this.state.clone();try{var n=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;var i=this.flowParseTypeAndPredicateAnnotation();this.state.noAnonFunctionType=n,this.canInsertSemicolon()&&this.unexpected(),this.match(R.arrow)||this.unexpected(),t.returnType=i}catch(e){if(!(e instanceof SyntaxError))throw e;this.state=r}}return e.call(this,t)}}),e.extend("shouldParseArrow",function(e){return function(){return this.match(R.colon)||e.call(this)}})},fe=String.fromCodePoint;if(!fe){var pe=String.fromCharCode,de=Math.floor;fe=function(){var e=[],t=void 0,r=void 0,n=-1,i=arguments.length;if(!i)return"";for(var s="";++n<i;){var a=Number(arguments[n]);if(!isFinite(a)||a<0||a>1114111||de(a)!=a)throw RangeError("Invalid code point: "+a);a<=65535?e.push(a):(a-=65536,t=55296+(a>>10),r=a%1024+56320,e.push(t,r)),(n+1==i||e.length>16384)&&(s+=pe.apply(null,e),e.length=0)}return s}}var he=fe,me={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},ye=/^[\da-fA-F]+$/,ve=/^\d+$/;U.j_oTag=new j("<tag",!1),U.j_cTag=new j("</tag",!1),U.j_expr=new j("<tag>...</tag>",!0,!0),R.jsxName=new T("jsxName"),R.jsxText=new T("jsxText",{beforeExpr:!0}),R.jsxTagStart=new T("jsxTagStart",{startsExpr:!0}),R.jsxTagEnd=new T("jsxTagEnd"),R.jsxTagStart.updateContext=function(){this.state.context.push(U.j_expr),this.state.context.push(U.j_oTag),this.state.exprAllowed=!1},R.jsxTagEnd.updateContext=function(e){var t=this.state.context.pop();t===U.j_oTag&&e===R.slash||t===U.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===U.j_expr):this.state.exprAllowed=!0};var ge=J.prototype;ge.jsxReadToken=function(){for(var e="",t=this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated JSX contents");var r=this.input.charCodeAt(this.state.pos);switch(r){case 60:case 123:return this.state.pos===this.state.start?60===r&&this.state.exprAllowed?(++this.state.pos,this.finishToken(R.jsxTagStart)):this.getTokenFromCode(r):(e+=this.input.slice(t,this.state.pos),this.finishToken(R.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:o(r)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}},ge.jsxReadNewLine=function(e){var t=this.input.charCodeAt(this.state.pos),r=void 0;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,r=e?"\n":"\r\n"):r=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,r},ge.jsxReadString=function(e){for(var t="",r=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated string constant");var n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadEntity(),r=this.state.pos):o(n)?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}return t+=this.input.slice(r,this.state.pos++),this.finishToken(R.string,t)},ge.jsxReadEntity=function(){for(var e="",t=0,r=void 0,n=this.input[this.state.pos],i=++this.state.pos;this.state.pos<this.input.length&&t++<10;){if(";"===(n=this.input[this.state.pos++])){"#"===e[0]?"x"===e[1]?(e=e.substr(2),ye.test(e)&&(r=he(parseInt(e,16)))):(e=e.substr(1),ve.test(e)&&(r=he(parseInt(e,10)))):r=me[e];break}e+=n}return r||(this.state.pos=i,"&")},ge.jsxReadWord=function(){var e=void 0,t=this.state.pos;do{e=this.input.charCodeAt(++this.state.pos)}while(s(e)||45===e);return this.finishToken(R.jsxName,this.input.slice(t,this.state.pos))},ge.jsxParseIdentifier=function(){var e=this.startNode();return this.match(R.jsxName)?e.name=this.state.value:this.state.type.keyword?e.name=this.state.type.keyword:this.unexpected(),this.next(),this.finishNode(e,"JSXIdentifier")},ge.jsxParseNamespacedName=function(){var e=this.state.start,t=this.state.startLoc,r=this.jsxParseIdentifier();if(!this.eat(R.colon))return r;var n=this.startNodeAt(e,t);return n.namespace=r,n.name=this.jsxParseIdentifier(),this.finishNode(n,"JSXNamespacedName")},ge.jsxParseElementName=function(){for(var e=this.state.start,t=this.state.startLoc,r=this.jsxParseNamespacedName();this.eat(R.dot);){var n=this.startNodeAt(e,t);n.object=r,n.property=this.jsxParseIdentifier(),r=this.finishNode(n,"JSXMemberExpression")}return r},ge.jsxParseAttributeValue=function(){var e=void 0;switch(this.state.type){case R.braceL:if(e=this.jsxParseExpressionContainer(),"JSXEmptyExpression"!==e.expression.type)return e;this.raise(e.start,"JSX attributes must only be assigned a non-empty expression");case R.jsxTagStart:case R.string:return e=this.parseExprAtom(),e.extra=null,e;default:this.raise(this.state.start,"JSX value should be either an expression or a quoted JSX text")}},ge.jsxParseEmptyExpression=function(){var e=this.startNodeAt(this.state.lastTokEnd,this.state.lastTokEndLoc);return this.finishNodeAt(e,"JSXEmptyExpression",this.state.start,this.state.startLoc)},ge.jsxParseSpreadChild=function(){var e=this.startNode();return this.expect(R.braceL),this.expect(R.ellipsis),e.expression=this.parseExpression(),this.expect(R.braceR),this.finishNode(e,"JSXSpreadChild")},ge.jsxParseExpressionContainer=function(){var e=this.startNode();return this.next(),this.match(R.braceR)?e.expression=this.jsxParseEmptyExpression():e.expression=this.parseExpression(),this.expect(R.braceR),this.finishNode(e,"JSXExpressionContainer")},ge.jsxParseAttribute=function(){var e=this.startNode();return this.eat(R.braceL)?(this.expect(R.ellipsis),e.argument=this.parseMaybeAssign(),this.expect(R.braceR),this.finishNode(e,"JSXSpreadAttribute")):(e.name=this.jsxParseNamespacedName(),e.value=this.eat(R.eq)?this.jsxParseAttributeValue():null,this.finishNode(e,"JSXAttribute"))},ge.jsxParseOpeningElementAt=function(e,t){var r=this.startNodeAt(e,t);for(r.attributes=[],r.name=this.jsxParseElementName();!this.match(R.slash)&&!this.match(R.jsxTagEnd);)r.attributes.push(this.jsxParseAttribute());return r.selfClosing=this.eat(R.slash),this.expect(R.jsxTagEnd),this.finishNode(r,"JSXOpeningElement")},ge.jsxParseClosingElementAt=function(e,t){var r=this.startNodeAt(e,t);return r.name=this.jsxParseElementName(),this.expect(R.jsxTagEnd),this.finishNode(r,"JSXClosingElement")},ge.jsxParseElementAt=function(e,t){var r=this.startNodeAt(e,t),n=[],i=this.jsxParseOpeningElementAt(e,t),s=null;if(!i.selfClosing){e:for(;;)switch(this.state.type){case R.jsxTagStart:if(e=this.state.start,t=this.state.startLoc,this.next(),this.eat(R.slash)){s=this.jsxParseClosingElementAt(e,t);break e}n.push(this.jsxParseElementAt(e,t));break;case R.jsxText:n.push(this.parseExprAtom());break;case R.braceL:this.lookahead().type===R.ellipsis?n.push(this.jsxParseSpreadChild()):n.push(this.jsxParseExpressionContainer());break;default:this.unexpected()}d(s.name)!==d(i.name)&&this.raise(s.start,"Expected corresponding JSX closing tag for <"+d(i.name)+">")}return r.openingElement=i,r.closingElement=s,r.children=n,this.match(R.relational)&&"<"===this.state.value&&this.raise(this.state.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(r,"JSXElement")},ge.jsxParseElement=function(){var e=this.state.start,t=this.state.startLoc;return this.next(),this.jsxParseElementAt(e,t)};var be=function(e){e.extend("parseExprAtom",function(e){return function(t){if(this.match(R.jsxText)){var r=this.parseLiteral(this.state.value,"JSXText");return r.extra=null,r}return this.match(R.jsxTagStart)?this.jsxParseElement():e.call(this,t)}}),e.extend("readToken",function(e){return function(t){if(this.state.inPropertyName)return e.call(this,t);var r=this.curContext();if(r===U.j_expr)return this.jsxReadToken();if(r===U.j_oTag||r===U.j_cTag){if(i(t))return this.jsxReadWord();if(62===t)return++this.state.pos,this.finishToken(R.jsxTagEnd);if((34===t||39===t)&&r===U.j_oTag)return this.jsxReadString(t)}return 60===t&&this.state.exprAllowed?(++this.state.pos,this.finishToken(R.jsxTagStart)):e.call(this,t)}}),e.extend("updateContext",function(e){return function(t){if(this.match(R.braceL)){var r=this.curContext();r===U.j_oTag?this.state.context.push(U.braceExpression):r===U.j_expr?this.state.context.push(U.templateQuasi):e.call(this,t),this.state.exprAllowed=!0}else{if(!this.match(R.slash)||t!==R.jsxTagStart)return e.call(this,t);this.state.context.length-=2,this.state.context.push(U.j_cTag),this.state.exprAllowed=!1}}})};K.estree=oe,K.flow=ce,K.jsx=be,t.parse=h,t.parseExpression=m,t.tokTypes=R},function(e,t,r){"use strict";var n=r(21),i=r(431),s=r(141),a=r(150)("IE_PROTO"),o=function(){},u=function(){var e,t=r(230)("iframe"),n=s.length;for(t.style.display="none",r(426).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;n--;)delete u.prototype[s[n]];return u()};e.exports=Object.create||function(e,t){var r;return null!==e?(o.prototype=n(e),r=new o,o.prototype=null,r[a]=e):r=u(),void 0===t?r:i(r,t)}},function(e,t){"use strict";t.f={}.propertyIsEnumerable},function(e,t){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,r){"use strict";var n=r(23).f,i=r(28),s=r(13)("toStringTag");e.exports=function(e,t,r){e&&!i(e=r?e:e.prototype,s)&&n(e,s,{configurable:!0,value:t})}},function(e,t,r){"use strict";var n=r(140);e.exports=function(e){return Object(n(e))}},function(e,t){"use strict";var r=0,n=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++r+n).toString(36))}},function(e,t){"use strict"},function(e,t,r){"use strict";!function(){t.ast=r(461),t.code=r(240),t.keyword=r(462)}()},function(e,t,r){"use strict";function n(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}var i=r(546),s=r(547),a=r(548),o=r(549),u=r(550);n.prototype.clear=i,n.prototype.delete=s,n.prototype.get=a,n.prototype.has=o,n.prototype.set=u,e.exports=n},function(e,t,r){"use strict";function n(e){var t=this.__data__=new i(e);this.size=t.size}var i=r(98),s=r(565),a=r(566),o=r(567),u=r(568),l=r(569);n.prototype.clear=s,n.prototype.delete=a,n.prototype.get=o,n.prototype.has=u,n.prototype.set=l,e.exports=n},function(e,t,r){"use strict";function n(e,t){for(var r=e.length;r--;)if(i(e[r][0],t))return r;return-1}var i=r(46);e.exports=n},function(e,t,r){"use strict";function n(e,t){return a(s(e,t,i),e+"")}var i=r(110),s=r(560),a=r(563);e.exports=n},function(e,t){"use strict";function r(e){return function(t){return e(t)}}e.exports=r},function(e,t,r){"use strict";function n(e){return i(function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,o&&s(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++n<i;){var u=r[n];u&&e(t,u,n,a)}return t})}var i=r(101),s=r(172);e.exports=n},function(e,t,r){"use strict";function n(e,t){var r=e.__data__;return i(t)?r["string"==typeof t?"string":"hash"]:r.map}var i=r(544);e.exports=n},function(e,t){"use strict";function r(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}var n=Object.prototype;e.exports=r},function(e,t,r){"use strict";var n=r(38),i=n(Object,"create");e.exports=i},function(e,t){"use strict";function r(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}e.exports=r},function(e,t,r){"use strict";function n(e){if("string"==typeof e||i(e))return e;var t=e+"";return"0"==t&&1/e==-s?"-0":t}var i=r(62),s=1/0;e.exports=n},function(e,t,r){"use strict";function n(e){return i(e,s)}var i=r(164),s=4;e.exports=n},function(e,t){"use strict";function r(e){return e}e.exports=r},function(e,t,r){"use strict";function n(e,t,r,n){e=s(e)?e:u(e),r=r&&!n?o(r):0;var c=e.length;return r<0&&(r=l(c+r,0)),a(e)?r<=c&&e.indexOf(t,r)>-1:!!c&&i(e,t,r)>-1}var i=r(166),s=r(24),a=r(587),o=r(48),u=r(280),l=Math.max;e.exports=n},function(e,t,r){"use strict";var n=r(493),i=r(25),s=Object.prototype,a=s.hasOwnProperty,o=s.propertyIsEnumerable,u=n(function(){return arguments}())?n:function(e){return i(e)&&a.call(e,"callee")&&!o.call(e,"callee")};e.exports=u},function(e,t,r){(function(e){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=r(17),s=r(596),a="object"==n(t)&&t&&!t.nodeType&&t,o=a&&"object"==n(e)&&e&&!e.nodeType&&e,u=o&&o.exports===a,l=u?i.Buffer:void 0,c=l?l.isBuffer:void 0,f=c||s;e.exports=f}).call(t,r(39)(e))},function(e,t,r){"use strict";function n(e){return null==e?"":i(e)}var i=r(253);e.exports=n},96,function(e,t,r){"use strict";function n(e){return o.memberExpression(o.identifier("regeneratorRuntime"),o.identifier(e),!1)}function i(e){return e.isReferenced()||e.parentPath.isAssignmentExpression({left:e.node})}function s(e,t){t?e.replaceWith(t):e.remove()}t.__esModule=!0,t.runtimeProperty=n,t.isReference=i,t.replaceWithOrRemove=s;var a=r(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(a)},function(e,t,r){(function(e,n){"use strict";function i(e,r){var n={seen:[],stylize:a};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),m(r)?n.showHidden=r:r&&t._extend(n,r),x(n.showHidden)&&(n.showHidden=!1),x(n.depth)&&(n.depth=2),x(n.colors)&&(n.colors=!1),x(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),u(n,e,n.depth)}function s(e,t){var r=i.styles[t];return r?"["+i.colors[r][0]+"m"+e+"["+i.colors[r][1]+"m":e}function a(e,t){return e}function o(e){var t={};return e.forEach(function(e,r){t[e]=!0}),t}function u(e,r,n){if(e.customInspect&&r&&C(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,e);return b(i)||(i=u(e,i,n)),i}var s=l(e,r);if(s)return s;var a=Object.keys(r),m=o(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),D(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return c(r);if(0===a.length){if(C(r)){var y=r.name?": "+r.name:"";return e.stylize("[Function"+y+"]","special")}if(A(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(_(r))return e.stylize(Date.prototype.toString.call(r),"date");if(D(r))return c(r)}var v="",g=!1,E=["{","}"];if(h(r)&&(g=!0,E=["[","]"]),C(r)){v=" [Function"+(r.name?": "+r.name:"")+"]"}if(A(r)&&(v=" "+RegExp.prototype.toString.call(r)),_(r)&&(v=" "+Date.prototype.toUTCString.call(r)),D(r)&&(v=" "+c(r)),0===a.length&&(!g||0==r.length))return E[0]+v+E[1];if(n<0)return A(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var x;return x=g?f(e,r,n,m,a):a.map(function(t){return p(e,r,n,m,t,g)}),e.seen.pop(),d(x,v,E)}function l(e,t){if(x(t))return e.stylize("undefined","undefined");if(b(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return g(t)?e.stylize(""+t,"number"):m(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}function c(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,r,n,i){for(var s=[],a=0,o=t.length;a<o;++a)T(t,String(a))?s.push(p(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(i){i.match(/^\d+$/)||s.push(p(e,t,r,n,i,!0))}),s}function p(e,t,r,n,i,s){var a,o,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?o=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(o=e.stylize("[Setter]","special")),T(n,i)||(a="["+i+"]"),o||(e.seen.indexOf(l.value)<0?(o=y(r)?u(e,l.value,null):u(e,l.value,r-1),o.indexOf("\n")>-1&&(o=s?o.split("\n").map(function(e){return"  "+e}).join("\n").substr(2):"\n"+o.split("\n").map(function(e){return"   "+e}).join("\n"))):o=e.stylize("[Circular]","special")),x(a)){if(s&&i.match(/^\d+$/))return o;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function d(e,t,r){var n=0;return e.reduce(function(e,t){return n++,t.indexOf("\n")>=0&&n++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n  ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function h(e){return Array.isArray(e)}function m(e){return"boolean"==typeof e}function y(e){return null===e}function v(e){return null==e}function g(e){return"number"==typeof e}function b(e){return"string"==typeof e}function E(e){return"symbol"===(void 0===e?"undefined":O(e))}function x(e){return void 0===e}function A(e){return S(e)&&"[object RegExp]"===P(e)}function S(e){return"object"===(void 0===e?"undefined":O(e))&&null!==e}function _(e){return S(e)&&"[object Date]"===P(e)}function D(e){return S(e)&&("[object Error]"===P(e)||e instanceof Error)}function C(e){return"function"==typeof e}function w(e){
return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===(void 0===e?"undefined":O(e))||void 0===e}function P(e){return Object.prototype.toString.call(e)}function k(e){return e<10?"0"+e.toString(10):e.toString(10)}function F(){var e=new Date,t=[k(e.getHours()),k(e.getMinutes()),k(e.getSeconds())].join(":");return[e.getDate(),M[e.getMonth()],t].join(" ")}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B=/%[sdj%]/g;t.format=function(e){if(!b(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(i(arguments[r]));return t.join(" ")}for(var r=1,n=arguments,s=n.length,a=String(e).replace(B,function(e){if("%%"===e)return"%";if(r>=s)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}}),o=n[r];r<s;o=n[++r])y(o)||!S(o)?a+=" "+o:a+=" "+i(o);return a},t.deprecate=function(r,i){function s(){if(!a){if(n.throwDeprecation)throw new Error(i);n.traceDeprecation?console.trace(i):console.error(i),a=!0}return r.apply(this,arguments)}if(x(e.process))return function(){return t.deprecate(r,i).apply(this,arguments)};if(!0===n.noDeprecation)return r;var a=!1;return s};var R,I={};t.debuglog=function(e){if(x(R)&&(R=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!I[e])if(new RegExp("\\b"+e+"\\b","i").test(R)){var r=n.pid;I[e]=function(){var n=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,n)}}else I[e]=function(){};return I[e]},t.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=m,t.isNull=y,t.isNullOrUndefined=v,t.isNumber=g,t.isString=b,t.isSymbol=E,t.isUndefined=x,t.isRegExp=A,t.isObject=S,t.isDate=_,t.isError=D,t.isFunction=C,t.isPrimitive=w,t.isBuffer=r(627);var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];t.log=function(){console.log("%s - %s",F(),t.format.apply(t,arguments))},t.inherits=r(626),t._extend=function(e,t){if(!t||!S(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}}).call(t,function(){return this}(),r(8))},function(e,t,r){(function(n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var s=r(11),a=i(s);t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.cwd();if("object"===(void 0===u.default?"undefined":(0,a.default)(u.default)))return null;var r=f[t];if(!r){r=new u.default;var i=c.default.join(t,".babelrc");r.id=i,r.filename=i,r.paths=u.default._nodeModulePaths(t),f[t]=r}try{return u.default._resolveFilename(e,r)}catch(e){return null}};var o=r(115),u=i(o),l=r(19),c=i(l),f={};e.exports=t.default}).call(t,r(8))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(133),s=n(i),a=r(3),o=n(a),u=r(42),l=n(u),c=r(41),f=n(c),p=function(e){function t(){(0,o.default)(this,t);var r=(0,l.default)(this,e.call(this));return r.dynamicData={},r}return(0,f.default)(t,e),t.prototype.setDynamic=function(e,t){this.dynamicData[e]=t},t.prototype.get=function(t){if(this.has(t))return e.prototype.get.call(this,t);if(Object.prototype.hasOwnProperty.call(this.dynamicData,t)){var r=this.dynamicData[t]();return this.set(t,r),r}},t}(s.default);t.default=p,e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(3),s=n(i),a=r(239),o=n(a),u=(0,o.default)("babel:verbose"),l=(0,o.default)("babel"),c=[],f=function(){function e(t,r){(0,s.default)(this,e),this.filename=r,this.file=t}return e.prototype._buildMessage=function(e){var t="[BABEL] "+this.filename;return e&&(t+=": "+e),t},e.prototype.warn=function(e){console.warn(this._buildMessage(e))},e.prototype.error=function(e){throw new(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Error)(this._buildMessage(e))},e.prototype.deprecate=function(e){this.file.opts&&this.file.opts.suppressDeprecationMessages||(e=this._buildMessage(e),c.indexOf(e)>=0||(c.push(e),console.error(e)))},e.prototype.verbose=function(e){u.enabled&&u(this._buildMessage(e))},e.prototype.debug=function(e){l.enabled&&l(this._buildMessage(e))},e.prototype.deopt=function(e,t){this.debug(t)},e}();t.default=f,e.exports=t.default},function(e,t,r){"use strict";function n(e,t){var r=e.node,n=r.source?r.source.value:null,i=t.metadata.modules.exports,s=e.get("declaration");if(s.isStatement()){var o=s.getBindingIdentifiers();for(var l in o)i.exported.push(l),i.specifiers.push({kind:"local",local:l,exported:e.isExportDefaultDeclaration()?"default":l})}if(e.isExportNamedDeclaration()&&r.specifiers)for(var c=r.specifiers,f=Array.isArray(c),p=0,c=f?c:(0,a.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if(p=c.next(),p.done)break;d=p.value}var h=d,m=h.exported.name;i.exported.push(m),u.isExportDefaultSpecifier(h)&&i.specifiers.push({kind:"external",local:m,exported:m,source:n}),u.isExportNamespaceSpecifier(h)&&i.specifiers.push({kind:"external-namespace",exported:m,source:n});var y=h.local;y&&(n&&i.specifiers.push({kind:"external",local:y.name,exported:m,source:n}),n||i.specifiers.push({kind:"local",local:y.name,exported:m}))}e.isExportAllDeclaration()&&i.specifiers.push({kind:"external-all",source:n})}function i(e){e.skip()}t.__esModule=!0,t.ImportDeclaration=t.ModuleDeclaration=void 0;var s=r(2),a=function(e){return e&&e.__esModule?e:{default:e}}(s);t.ExportDeclaration=n,t.Scope=i;var o=r(1),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(o);t.ModuleDeclaration={enter:function(e,t){var r=e.node;r.source&&(r.source.value=t.resolveModuleSource(r.source.value))}},t.ImportDeclaration={exit:function(e,t){var r=e.node,n=[],i=[];t.metadata.modules.imports.push({source:r.source.value,imported:i,specifiers:n});for(var s=e.get("specifiers"),o=Array.isArray(s),u=0,s=o?s:(0,a.default)(s);;){var l;if(o){if(u>=s.length)break;l=s[u++]}else{if(u=s.next(),u.done)break;l=u.value}var c=l,f=c.node.local.name;if(c.isImportDefaultSpecifier()&&(i.push("default"),n.push({kind:"named",imported:"default",local:f})),c.isImportSpecifier()){var p=c.node.imported.name;i.push(p),n.push({kind:"named",imported:p,local:f})}c.isImportNamespaceSpecifier()&&(i.push("*"),n.push({kind:"namespace",local:f}))}}}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=t||i.EXTENSIONS,n=D.default.extname(e);return(0,x.default)(r,n)}function s(e){return e?Array.isArray(e)?e:"string"==typeof e?e.split(","):[e]:[]}function a(e){if(!e)return new RegExp(/.^/);if(Array.isArray(e)&&(e=new RegExp(e.map(m.default).join("|"),"i")),"string"==typeof e){e=(0,w.default)(e),((0,v.default)(e,"./")||(0,v.default)(e,"*/"))&&(e=e.slice(2)),(0,v.default)(e,"**/")&&(e=e.slice(3));var t=b.default.makeRe(e,{nocase:!0});return new RegExp(t.source.slice(1,-1),"i")}if((0,S.default)(e))return e;throw new TypeError("illegal type for regexify")}function o(e,t){return e?"boolean"==typeof e?o([e],t):"string"==typeof e?o(s(e),t):Array.isArray(e)?(t&&(e=e.map(t)),e):[e]:[]}function u(e){return"true"===e||1==e||!("false"===e||0==e||!e)&&e}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments[2];if(e=e.replace(/\\/g,"/"),r){for(var n=r,i=Array.isArray(n),s=0,n=i?n:(0,p.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}if(c(a,e))return!1}return!0}if(t.length)for(var o=t,u=Array.isArray(o),l=0,o=u?o:(0,p.default)(o);;){var f;if(u){if(l>=o.length)break;f=o[l++]}else{if(l=o.next(),l.done)break;f=l.value}var d=f;if(c(d,e))return!0}return!1}function c(e,t){return"function"==typeof e?e(t):e.test(t)}t.__esModule=!0,t.inspect=t.inherits=void 0;var f=r(2),p=n(f),d=r(117);Object.defineProperty(t,"inherits",{enumerable:!0,get:function(){return d.inherits}}),Object.defineProperty(t,"inspect",{enumerable:!0,get:function(){return d.inspect}}),t.canCompile=i,t.list=s,t.regexify=a,t.arrayify=o,t.booleanify=u,t.shouldIgnore=l;var h=r(577),m=n(h),y=r(595),v=n(y),g=r(601),b=n(g),E=r(111),x=n(E),A=r(276),S=n(A),_=r(19),D=n(_),C=r(284),w=n(C);i.EXTENSIONS=[".js",".jsx",".es6",".es"]},function(e,t,r){"use strict";function n(e){e.variance&&("plus"===e.variance?this.token("+"):"minus"===e.variance&&this.token("-")),this.word(e.name)}function i(e){this.token("..."),this.print(e.argument,e)}function s(e){var t=e.properties;this.token("{"),this.printInnerComments(e),t.length&&(this.space(),this.printList(t,e,{indent:!0,statement:!0}),this.space()),this.token("}")}function a(e){this.printJoin(e.decorators,e),this._method(e)}function o(e){if(this.printJoin(e.decorators,e),e.computed)this.token("["),this.print(e.key,e),this.token("]");else{if(m.isAssignmentPattern(e.value)&&m.isIdentifier(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value,e);if(this.print(e.key,e),e.shorthand&&m.isIdentifier(e.key)&&m.isIdentifier(e.value)&&e.key.name===e.value.name)return}this.token(":"),this.space(),this.print(e.value,e)}function u(e){var t=e.elements,r=t.length;this.token("["),this.printInnerComments(e);for(var n=0;n<t.length;n++){var i=t[n];i?(n>0&&this.space(),this.print(i,e),n<r-1&&this.token(",")):this.token(",")}this.token("]")}function l(e){this.word("/"+e.pattern+"/"+e.flags)}function c(e){this.word(e.value?"true":"false")}function f(){this.word("null")}function p(e){var t=this.getPossibleRaw(e),r=e.value+"";null==t?this.number(r):this.format.minified?this.number(t.length<r.length?t:r):this.number(t)}function d(e,t){var r=this.getPossibleRaw(e);if(!this.format.minified&&null!=r)return void this.token(r);var n={quotes:m.isJSX(t)?"double":this.format.quotes,wrap:!0};this.format.jsonCompatibleStrings&&(n.json=!0);var i=(0,v.default)(e.value,n);return this.token(i)}t.__esModule=!0,t.ArrayPattern=t.ObjectPattern=t.RestProperty=t.SpreadProperty=t.SpreadElement=void 0,t.Identifier=n,t.RestElement=i,t.ObjectExpression=s,t.ObjectMethod=a,t.ObjectProperty=o,t.ArrayExpression=u,t.RegExpLiteral=l,t.BooleanLiteral=c,t.NullLiteral=f,t.NumericLiteral=p,t.StringLiteral=d;var h=r(1),m=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(h),y=r(469),v=function(e){return e&&e.__esModule?e:{default:e}}(y);t.SpreadElement=i,t.SpreadProperty=i,t.RestProperty=i,t.ObjectPattern=s,t.ArrayPattern=u},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=e.node,n=r.body;r.async=!1;var i=f.functionExpression(null,[],f.blockStatement(n.body),!0);i.shadow=!0,n.body=[f.returnStatement(f.callExpression(f.callExpression(t,[i]),[]))],r.generator=!1}function s(e,t){var r=e.node,n=e.isFunctionDeclaration(),i=r.id,s=h;e.isArrowFunctionExpression()?e.arrowFunctionToShadowed():!n&&i&&(s=m),r.async=!1,r.generator=!0,r.id=null,n&&(r.type="FunctionExpression");var a=f.callExpression(t,[r]),u=s({NAME:i,REF:e.scope.generateUidIdentifier("ref"),FUNCTION:a,PARAMS:r.params.reduce(function(t,r){return t.done=t.done||f.isAssignmentPattern(r)||f.isRestElement(r),t.done||t.params.push(e.scope.generateUidIdentifier("x")),t},{params:[],done:!1}).params}).expression;if(n){var l=f.variableDeclaration("let",[f.variableDeclarator(f.identifier(i.name),f.callExpression(u,[]))]);l._blockHoist=!0,e.replaceWith(l)}else{var c=u.body.body[1].argument;i||(0,o.default)({node:c,parent:e.parent,scope:e.scope}),!c||c.id||r.params.length?e.replaceWith(f.callExpression(u,[])):e.replaceWith(a)}}t.__esModule=!0,t.default=function(e,t,r){r||(r={wrapAsync:t},t=null),e.traverse(y,{file:t,wrapAwait:r.wrapAwait}),e.isClassMethod()||e.isObjectMethod()?i(e,r.wrapAsync):s(e,r.wrapAsync)};var a=r(40),o=n(a),u=r(4),l=n(u),c=r(1),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(c),p=r(320),d=n(p),h=(0,l.default)("\n  (() => {\n    var REF = FUNCTION;\n    return function NAME(PARAMS) {\n      return REF.apply(this, arguments);\n    };\n  })\n"),m=(0,l.default)("\n  (() => {\n    var REF = FUNCTION;\n    function NAME(PARAMS) {\n      return REF.apply(this, arguments);\n    }\n    return NAME;\n  })\n"),y={Function:function(e){if(e.isArrowFunctionExpression()&&!e.node.async)return void e.arrowFunctionToShadowed();e.skip()},AwaitExpression:function(e,t){var r=e.node,n=t.wrapAwait;r.type="YieldExpression",n&&(r.argument=f.callExpression(n,[r.argument]))},ForAwaitStatement:function(e,t){var r=t.file,n=t.wrapAwait,i=e.node,s=(0,d.default)(e,{getAsyncIterator:r.addHelper("asyncIterator"),wrapAwait:n}),a=s.declar,o=s.loop,u=o.body;e.ensureBlock(),a&&u.body.push(a),u.body=u.body.concat(i.body.body),f.inherits(o,i),f.inherits(o.body,i.body),s.replaceParent?(e.parentPath.replaceWithMultiple(s.node),e.remove()):e.replaceWithMultiple(s.node)}};e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("decorators")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("flow")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("jsx")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("trailingFunctionCommas")}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(){return{inherits:r(67),visitor:{Function:function(e,t){e.node.async&&!e.node.generator&&(0,i.default)(e,t.file,{wrapAsync:t.addHelper("asyncToGenerator")})}}}};var n=r(124),i=function(e){return e&&e.__esModule?e:{default:e}}(n);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){return c.isIdentifier(e)?e.name:e.value.toString()}t.__esModule=!0;var s=r(2),a=n(s),o=r(9),u=n(o);t.default=function(){return{visitor:{ObjectExpression:function(e){for(var t=e.node,r=t.properties.filter(function(e){return!c.isSpreadProperty(e)&&!e.computed}),n=(0,u.default)(null),s=(0,u.default)(null),o=(0,u.default)(null),l=r,f=Array.isArray(l),p=0,l=f?l:(0,a.default)(l);;){var d;if(f){if(p>=l.length)break;d=l[p++]}else{if(p=l.next(),p.done)break;d=p.value}var h=d,m=i(h.key),y=!1;switch(h.kind){case"get":(n[m]||s[m])&&(y=!0),s[m]=!0;break;case"set":(n[m]||o[m])&&(y=!0),o[m]=!0;break;default:(n[m]||s[m]||o[m])&&(y=!0),n[m]=!0}y&&(h.computed=!0,h.key=c.stringLiteral(m))}}}}};var l=r(1),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(l);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(9),s=n(i);t.default=function(e){function t(e){if(!e.isCallExpression())return!1;if(!e.get("callee").isIdentifier({name:"require"}))return!1;if(e.scope.getBinding("require"))return!1;var t=e.get("arguments");return 1===t.length&&!!t[0].isStringLiteral()}var n=e.types,i={ReferencedIdentifier:function(e){var t=e.node,r=e.scope;"exports"!==t.name||r.getBinding("exports")||(this.hasExports=!0),"module"!==t.name||r.getBinding("module")||(this.hasModule=!0)},CallExpression:function(e){t(e)&&(this.bareSources.push(e.node.arguments[0]),e.remove())},VariableDeclarator:function(e){var r=e.get("id");if(r.isIdentifier()){var n=e.get("init");if(t(n)){var i=n.node.arguments[0];this.sourceNames[i.value]=!0,this.sources.push([r.node,i]),e.remove()}}}};return{inherits:r(77),pre:function(){this.sources=[],this.sourceNames=(0,s.default)(null),this.bareSources=[],this.hasExports=!1,this.hasModule=!1},visitor:{Program:{exit:function(e){var t=this;if(!this.ran){this.ran=!0,e.traverse(i,this);var r=this.sources.map(function(e){return e[0]}),s=this.sources.map(function(e){return e[1]});s=s.concat(this.bareSources.filter(function(e){return!t.sourceNames[e.value]}));var a=this.getModuleName();a&&(a=n.stringLiteral(a)),this.hasExports&&(s.unshift(n.stringLiteral("exports")),r.unshift(n.identifier("exports"))),this.hasModule&&(s.unshift(n.stringLiteral("module")),r.unshift(n.identifier("module")));var o=e.node,c=l({PARAMS:r,BODY:o.body});c.expression.body.directives=o.directives,o.directives=[],o.body=[u({MODULE_NAME:a,SOURCES:s,FACTORY:c})]}}}}}};var a=r(4),o=n(a),u=(0,o.default)("\n  define(MODULE_NAME, [SOURCES], FACTORY);\n"),l=(0,o.default)("\n  (function (PARAMS) {\n    BODY;\n  })\n");e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types;return{inherits:r(199),visitor:(0,i.default)({operator:"**",build:function(e,r){return t.callExpression(t.memberExpression(t.identifier("Math"),t.identifier("pow")),[e,r])}})}};var n=r(316),i=function(e){return e&&e.__esModule?e:{default:e}}(n);e.exports=t.default},function(e,t,r){"use strict";e.exports={default:r(406),__esModule:!0}},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r){for(var n=I.scope.get(e.node)||[],i=n,s=Array.isArray(i),a=0,i=s?i:(0,y.default)(i);;){var o;if(s){if(a>=i.length)break;o=i[a++]}else{if(a=i.next(),a.done)break;o=a.value}var u=o;if(u.parent===t&&u.path===e)return u}n.push(r),I.scope.has(e.node)||I.scope.set(e.node,n)}function a(e,t){if(R.isModuleDeclaration(e))if(e.source)a(e.source,t);else if(e.specifiers&&e.specifiers.length)for(var r=e.specifiers,n=Array.isArray(r),i=0,r=n?r:(0,y.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var o=s;a(o,t)}else e.declaration&&a(e.declaration,t);else if(R.isModuleSpecifier(e))a(e.local,t);else if(R.isMemberExpression(e))a(e.object,t),a(e.property,t);else if(R.isIdentifier(e))t.push(e.name);else if(R.isLiteral(e))t.push(e.value);else if(R.isCallExpression(e))a(e.callee,t);else if(R.isObjectExpression(e)||R.isObjectPattern(e))for(var u=e.properties,l=Array.isArray(u),c=0,u=l?u:(0,y.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var p=f;a(p.key||p.argument,t)}}t.__esModule=!0;var o=r(14),u=i(o),l=r(9),c=i(l),f=r(133),p=i(f),d=r(3),h=i(d),m=r(2),y=i(m),v=r(111),g=i(v),b=r(278),E=i(b),x=r(383),A=i(x),S=r(7),_=i(S),D=r(273),C=i(D),w=r(20),P=n(w),k=r(225),F=i(k),T=r(463),O=i(T),B=r(1),R=n(B),I=r(88),M=0,N={For:function(e){for(var t=R.FOR_INIT_KEYS,r=Array.isArray(t),n=0,t=r?t:(0,y.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i,a=e.get(s);a.isVar()&&e.scope.getFunctionParent().registerBinding("var",a)}},Declaration:function(e){e.isBlockScoped()||e.isExportDeclaration()&&e.get("declaration").isDeclaration()||e.scope.getFunctionParent().registerDeclaration(e)},ReferencedIdentifier:function(e,t){t.references.push(e)},ForXStatement:function(e,t){var r=e.get("left");(r.isPattern()||r.isIdentifier())&&t.constantViolations.push(r)},ExportDeclaration:{exit:function(e){var t=e.node,r=e.scope,n=t.declaration;if(R.isClassDeclaration(n)||R.isFunctionDeclaration(n)){var i=n.id;if(!i)return;var s=r.getBinding(i.name);s&&s.reference(e)}else if(R.isVariableDeclaration(n))for(var a=n.declarations,o=Array.isArray(a),u=0,a=o?a:(0,y.default)(a);;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l,f=R.getBindingIdentifiers(c);for(var p in f){var d=r.getBinding(p);d&&d.reference(e)}}}},LabeledStatement:function(e){e.scope.getProgramParent().addGlobal(e.node),e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression:function(e,t){t.assignments.push(e)},UpdateExpression:function(e,t){t.constantViolations.push(e.get("argument"))},UnaryExpression:function(e,t){"delete"===e.node.operator&&t.constantViolations.push(e.get("argument"))},BlockScoped:function(e){var t=e.scope;t.path===e&&(t=t.parent),t.getBlockParent().registerDeclaration(e)},ClassDeclaration:function(e){var t=e.node.id;if(t){var r=t.name;e.scope.bindings[r]=e.scope.getBinding(r)}},Block:function(e){for(var t=e.get("body"),r=t,n=Array.isArray(r),i=0,r=n?r:(0,y.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var a=s;a.isFunctionDeclaration()&&e.scope.getBlockParent().registerDeclaration(a)}}},L=0,j=function(){function e(t,r){if((0,h.default)(this,e),r&&r.block===t.node)return r;var n=s(t,r,this);if(n)return n;this.uid=L++,this.parent=r,this.hub=t.hub,this.parentBlock=t.parent,this.block=t.node,this.path=t,this.labels=new p.default}return e.prototype.traverse=function(e,t,r){(0,_.default)(e,t,this,r,this.path)},e.prototype.generateDeclaredUidIdentifier=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"temp",t=this.generateUidIdentifier(e);return this.push({id:t}),t},e.prototype.generateUidIdentifier=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"temp";return R.identifier(this.generateUid(e))},e.prototype.generateUid=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"temp";e=R.toIdentifier(e).replace(/^_+/,"").replace(/[0-9]+$/g,"");var t=void 0,r=0;do{t=this._generateUid(e,r),r++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));var n=this.getProgramParent();return n.references[t]=!0,n.uids[t]=!0,t},e.prototype._generateUid=function(e,t){var r=e;return t>1&&(r+=t),"_"+r},e.prototype.generateUidIdentifierBasedOnNode=function(e,t){var r=e;R.isAssignmentExpression(e)?r=e.left:R.isVariableDeclarator(e)?r=e.id:(R.isObjectProperty(r)||R.isObjectMethod(r))&&(r=r.key);var n=[];a(r,n);var i=n.join("$");return i=i.replace(/^_/,"")||t||"ref",this.generateUidIdentifier(i.slice(0,20))},e.prototype.isStatic=function(e){if(R.isThisExpression(e)||R.isSuper(e))return!0;if(R.isIdentifier(e)){var t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1},e.prototype.maybeGenerateMemoised=function(e,t){if(this.isStatic(e))return null;var r=this.generateUidIdentifierBasedOnNode(e);return t||this.push({id:r}),r},e.prototype.checkBlockScopedCollisions=function(e,t,r,n){if("param"!==t&&("hoisted"!==t||"let"!==e.kind)){if("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&("let"===t||"const"===t))throw this.hub.file.buildCodeFrameError(n,P.get("scopeDuplicateDeclaration",r),TypeError)}},e.prototype.rename=function(e,t,r){var n=this.getBinding(e);if(n)return t=t||this.generateUidIdentifier(e).name,new A.default(n,e,t).rename(r)},e.prototype._renameFromMap=function(e,t,r,n){e[t]&&(e[r]=n,e[t]=null)},e.prototype.dump=function(){var e=(0,E.default)("-",60);console.log(e);var t=this;do{console.log("#",t.block.type);for(var r in t.bindings){var n=t.bindings[r];console.log(" -",r,{constant:n.constant,references:n.references,violations:n.constantViolations.length,kind:n.kind})}}while(t=t.parent);console.log(e)},e.prototype.toArray=function(e,t){var r=this.hub.file;if(R.isIdentifier(e)){var n=this.getBinding(e.name);if(n&&n.constant&&n.path.isGenericType("Array"))return e}if(R.isArrayExpression(e))return e;if(R.isIdentifier(e,{name:"arguments"}))return R.callExpression(R.memberExpression(R.memberExpression(R.memberExpression(R.identifier("Array"),R.identifier("prototype")),R.identifier("slice")),R.identifier("call")),[e]);var i="toArray",s=[e];return!0===t?i="toConsumableArray":t&&(s.push(R.numericLiteral(t)),i="slicedToArray"),R.callExpression(r.addHelper(i),s)},e.prototype.hasLabel=function(e){return!!this.getLabel(e)},e.prototype.getLabel=function(e){return this.labels.get(e)},e.prototype.registerLabel=function(e){this.labels.set(e.node.label.name,e)},e.prototype.registerDeclaration=function(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding("hoisted",e.get("id"),e);else if(e.isVariableDeclaration())for(var t=e.get("declarations"),r=t,n=Array.isArray(r),i=0,r=n?r:(0,y.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var a=s;this.registerBinding(e.node.kind,a)}else if(e.isClassDeclaration())this.registerBinding("let",e);else if(e.isImportDeclaration())for(var o=e.get("specifiers"),u=o,l=Array.isArray(u),c=0,u=l?u:(0,y.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var p=f;this.registerBinding("module",p)}else if(e.isExportDeclaration()){var d=e.get("declaration");(d.isClassDeclaration()||d.isFunctionDeclaration()||d.isVariableDeclaration())&&this.registerDeclaration(d)}else this.registerBinding("unknown",e)},e.prototype.buildUndefinedNode=function(){return this.hasBinding("undefined")?R.unaryExpression("void",R.numericLiteral(0),!0):R.identifier("undefined")},e.prototype.registerConstantViolation=function(e){var t=e.getBindingIdentifiers();for(var r in t){var n=this.getBinding(r);n&&n.reassign(e)}},e.prototype.registerBinding=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;if(!e)throw new ReferenceError("no `kind`");if(t.isVariableDeclaration())for(var n=t.get("declarations"),i=n,s=Array.isArray(i),a=0,i=s?i:(0,y.default)(i);;){var o;if(s){if(a>=i.length)break;o=i[a++]}else{if(a=i.next(),a.done)break;o=a.value}var u=o;this.registerBinding(e,u)}else{var l=this.getProgramParent(),c=t.getBindingIdentifiers(!0);for(var f in c)for(var p=c[f],d=Array.isArray(p),h=0,p=d?p:(0,y.default)(p);;){var m;if(d){if(h>=p.length)break;m=p[h++]}else{if(h=p.next(),h.done)break;m=h.value}var v=m,g=this.getOwnBinding(f);if(g){if(g.identifier===v)continue;this.checkBlockScopedCollisions(g,e,f,v)}g&&g.path.isFlow()&&(g=null),l.references[f]=!0,this.bindings[f]=new F.default({identifier:v,existing:g,scope:this,path:r,kind:e})}}},e.prototype.addGlobal=function(e){this.globals[e.name]=e},e.prototype.hasUid=function(e){var t=this;do{if(t.uids[e])return!0}while(t=t.parent);return!1},e.prototype.hasGlobal=function(e){var t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1},e.prototype.hasReference=function(e){var t=this;do{if(t.references[e])return!0}while(t=t.parent);return!1},e.prototype.isPure=function(e,t){if(R.isIdentifier(e)){var r=this.getBinding(e.name);return!!r&&(!t||r.constant)}if(R.isClass(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&this.isPure(e.body,t);if(R.isClassBody(e)){for(var n=e.body,i=Array.isArray(n),s=0,n=i?n:(0,y.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a;if(!this.isPure(o,t))return!1}return!0}if(R.isBinary(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(R.isArrayExpression(e)){for(var u=e.elements,l=Array.isArray(u),c=0,u=l?u:(0,y.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var p=f;if(!this.isPure(p,t))return!1}return!0}if(R.isObjectExpression(e)){for(var d=e.properties,h=Array.isArray(d),m=0,d=h?d:(0,y.default)(d);;){var v;if(h){if(m>=d.length)break;v=d[m++]}else{if(m=d.next(),m.done)break;v=m.value}var g=v;if(!this.isPure(g,t))return!1}return!0}return R.isClassMethod(e)?!(e.computed&&!this.isPure(e.key,t))&&("get"!==e.kind&&"set"!==e.kind):R.isClassProperty(e)||R.isObjectProperty(e)?!(e.computed&&!this.isPure(e.key,t))&&this.isPure(e.value,t):R.isUnaryExpression(e)?this.isPure(e.argument,t):R.isPureish(e)},e.prototype.setData=function(e,t){return this.data[e]=t},e.prototype.getData=function(e){var t=this;do{var r=t.data[e];if(null!=r)return r}while(t=t.parent)},e.prototype.removeData=function(e){var t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)},e.prototype.init=function(){this.references||this.crawl()},e.prototype.crawl=function(){M++,this._crawl(),M--},e.prototype._crawl=function(){var e=this.path;if(this.references=(0,c.default)(null),this.bindings=(0,c.default)(null),this.globals=(0,c.default)(null),this.uids=(0,c.default)(null),this.data=(0,c.default)(null),e.isLoop())for(var t=R.FOR_INIT_KEYS,r=Array.isArray(t),n=0,t=r?t:(0,y.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i,a=e.get(s);a.isBlockScoped()&&this.registerBinding(a.node.kind,a)}if(e.isFunctionExpression()&&e.has("id")&&(e.get("id").node[R.NOT_LOCAL_BINDING]||this.registerBinding("local",e.get("id"),e)),e.isClassExpression()&&e.has("id")&&(e.get("id").node[R.NOT_LOCAL_BINDING]||this.registerBinding("local",e)),e.isFunction())for(var o=e.get("params"),u=o,l=Array.isArray(u),f=0,u=l?u:(0,y.default)(u);;){var p;if(l){if(f>=u.length)break;p=u[f++]}else{if(f=u.next(),f.done)break;p=f.value}var d=p;this.registerBinding("param",d)}if(e.isCatchClause()&&this.registerBinding("let",e),!this.getProgramParent().crawling){var h={references:[],constantViolations:[],assignments:[]};this.crawling=!0,e.traverse(N,h),this.crawling=!1;for(var m=h.assignments,v=Array.isArray(m),g=0,m=v?m:(0,y.default)(m);;){var b;if(v){if(g>=m.length)break;b=m[g++]}else{if(g=m.next(),g.done)break;b=g.value}var E=b,x=E.getBindingIdentifiers(),A=void 0;for(var S in x)E.scope.getBinding(S)||(A=A||E.scope.getProgramParent(),A.addGlobal(x[S]));E.scope.registerConstantViolation(E)}for(var _=h.references,D=Array.isArray(_),C=0,_=D?_:(0,y.default)(_);;){var w;if(D){if(C>=_.length)break;w=_[C++]}else{if(C=_.next(),C.done)break;w=C.value}var P=w,k=P.scope.getBinding(P.node.name);k?k.reference(P):P.scope.getProgramParent().addGlobal(P.node)}for(var F=h.constantViolations,T=Array.isArray(F),O=0,F=T?F:(0,y.default)(F);;){var B;if(T){if(O>=F.length)break;B=F[O++]}else{if(O=F.next(),O.done)break;B=O.value}var I=B;I.scope.registerConstantViolation(I)}}},e.prototype.push=function(e){var t=this.path;t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=this.getFunctionParent().path),(t.isLoop()||t.isCatchClause()||t.isFunction())&&(R.ensureBlock(t.node),t=t.get("body"));var r=e.unique,n=e.kind||"var",i=null==e._blockHoist?2:e._blockHoist,s="declaration:"+n+":"+i,a=!r&&t.getData(s);if(!a){var o=R.variableDeclaration(n,[]);o._generated=!0,o._blockHoist=i;a=t.unshiftContainer("body",[o])[0],r||t.setData(s,a)}var u=R.variableDeclarator(e.id,e.init);a.node.declarations.push(u),this.registerBinding(n,a.get("declarations").pop())},e.prototype.getProgramParent=function(){var e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error("We couldn't find a Function or Program...")},e.prototype.getFunctionParent=function(){var e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);throw new Error("We couldn't find a Function or Program...")},e.prototype.getBlockParent=function(){var e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")},e.prototype.getAllBindings=function(){var e=(0,c.default)(null),t=this;do{(0,C.default)(e,t.bindings),t=t.parent}while(t);return e},e.prototype.getAllBindingsOfKind=function(){for(var e=(0,c.default)(null),t=arguments,r=Array.isArray(t),n=0,t=r?t:(0,y.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i,a=this;do{for(var o in a.bindings){var u=a.bindings[o];u.kind===s&&(e[o]=u)}a=a.parent}while(a)}return e},e.prototype.bindingIdentifierEquals=function(e,t){
return this.getBindingIdentifier(e)===t},e.prototype.warnOnFlowBinding=function(e){return 0===M&&e&&e.path.isFlow()&&console.warn("\n        You or one of the Babel plugins you are using are using Flow declarations as bindings.\n        Support for this will be removed in version 7. To find out the caller, grep for this\n        message and change it to a `console.trace()`.\n      "),e},e.prototype.getBinding=function(e){var t=this;do{var r=t.getOwnBinding(e);if(r)return this.warnOnFlowBinding(r)}while(t=t.parent)},e.prototype.getOwnBinding=function(e){return this.warnOnFlowBinding(this.bindings[e])},e.prototype.getBindingIdentifier=function(e){var t=this.getBinding(e);return t&&t.identifier},e.prototype.getOwnBindingIdentifier=function(e){var t=this.bindings[e];return t&&t.identifier},e.prototype.hasOwnBinding=function(e){return!!this.getOwnBinding(e)},e.prototype.hasBinding=function(t,r){return!!t&&(!!this.hasOwnBinding(t)||(!!this.parentHasBinding(t,r)||(!!this.hasUid(t)||(!(r||!(0,g.default)(e.globals,t))||!(r||!(0,g.default)(e.contextVariables,t))))))},e.prototype.parentHasBinding=function(e,t){return this.parent&&this.parent.hasBinding(e,t)},e.prototype.moveBindingTo=function(e,t){var r=this.getBinding(e);r&&(r.scope.removeOwnBinding(e),r.scope=t,t.bindings[e]=r)},e.prototype.removeOwnBinding=function(e){delete this.bindings[e]},e.prototype.removeBinding=function(e){var t=this.getBinding(e);t&&t.scope.removeOwnBinding(e);var r=this;do{r.uids[e]&&(r.uids[e]=!1)}while(r=r.parent)},e}();j.globals=(0,u.default)(O.default.builtin),j.contextVariables=["arguments","undefined","Infinity","NaN"],t.default=j,e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.NOT_LOCAL_BINDING=t.BLOCK_SCOPED_SYMBOL=t.INHERIT_KEYS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.NUMBER_UNARY_OPERATORS=t.BOOLEAN_UNARY_OPERATORS=t.BINARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.EQUALITY_BINARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.UPDATE_OPERATORS=t.LOGICAL_OPERATORS=t.COMMENT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.STATEMENT_OR_BLOCK_KEYS=void 0;var n=r(362),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s=(t.STATEMENT_OR_BLOCK_KEYS=["consequent","body","alternate"],t.FLATTENABLE_KEYS=["body","expressions"],t.FOR_INIT_KEYS=["left","init"],t.COMMENT_KEYS=["leadingComments","trailingComments","innerComments"],t.LOGICAL_OPERATORS=["||","&&"],t.UPDATE_OPERATORS=["++","--"],t.BOOLEAN_NUMBER_BINARY_OPERATORS=[">","<",">=","<="]),a=t.EQUALITY_BINARY_OPERATORS=["==","===","!=","!=="],o=t.COMPARISON_BINARY_OPERATORS=[].concat(a,["in","instanceof"]),u=t.BOOLEAN_BINARY_OPERATORS=[].concat(o,s),l=t.NUMBER_BINARY_OPERATORS=["-","/","%","*","**","&","|",">>",">>>","<<","^"],c=(t.BINARY_OPERATORS=["+"].concat(l,u),t.BOOLEAN_UNARY_OPERATORS=["delete","!"]),f=t.NUMBER_UNARY_OPERATORS=["+","-","++","--","~"],p=t.STRING_UNARY_OPERATORS=["typeof"];t.UNARY_OPERATORS=["void"].concat(c,f,p),t.INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},t.BLOCK_SCOPED_SYMBOL=(0,i.default)("var used to be block scoped"),t.NOT_LOCAL_BINDING=(0,i.default)("should not be considered a local binding")},function(e,t){"use strict";e.exports=function(e,t,r,n){if(!(e instanceof t)||void 0!==n&&n in e)throw TypeError(r+": incorrect invocation!");return e}},function(e,t,r){"use strict";var n=r(43),i=r(142),s=r(94),a=r(153),o=r(422);e.exports=function(e,t){var r=1==e,u=2==e,l=3==e,c=4==e,f=6==e,p=5==e||f,d=t||o;return function(t,o,h){for(var m,y,v=s(t),g=i(v),b=n(o,h,3),E=a(g.length),x=0,A=r?d(t,E):u?d(t,0):void 0;E>x;x++)if((p||x in g)&&(m=g[x],y=b(m,x,v),e))if(r)A[x]=y;else if(y)switch(e){case 3:return!0;case 5:return m;case 6:return x;case 2:A.push(m)}else if(c)return!1;return f?-1:l||c?c:A}}},function(e,t){"use strict";var r={}.toString;e.exports=function(e){return r.call(e).slice(8,-1)}},function(e,t,r){"use strict";var n=r(15),i=r(12),s=r(57),a=r(27),o=r(29),u=r(146),l=r(55),c=r(136),f=r(16),p=r(93),d=r(23).f,h=r(137)(0),m=r(22);e.exports=function(e,t,r,y,v,g){var b=n[e],E=b,x=v?"set":"add",A=E&&E.prototype,S={};return m&&"function"==typeof E&&(g||A.forEach&&!a(function(){(new E).entries().next()}))?(E=t(function(t,r){c(t,E,e,"_c"),t._c=new b,void 0!=r&&l(r,v,t[x],t)}),h("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in A&&(!g||"clear"!=e)&&o(E.prototype,e,function(r,n){if(c(this,E,e),!t&&g&&!f(r))return"get"==e&&void 0;var i=this._c[e](0===r?0:r,n);return t?this:i})}),g||d(E.prototype,"size",{get:function(){return this._c.size}})):(E=y.getConstructor(t,e,v,x),u(E.prototype,r),s.NEED=!0),p(E,e),S[e]=E,i(i.G+i.W+i.F,S),g||y.setStrong(E,e,v),E}},function(e,t){"use strict";e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on  "+e);return e}},function(e,t){"use strict";e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,r){"use strict";var n=r(138);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},function(e,t,r){"use strict";var n=r(144),i=r(12),s=r(147),a=r(29),o=r(28),u=r(56),l=r(429),c=r(93),f=r(433),p=r(13)("iterator"),d=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,r,m,y,v,g){l(r,t,m);var b,E,x,A=function(e){if(!d&&e in C)return C[e];switch(e){case"keys":case"values":return function(){return new r(this,e)}}return function(){return new r(this,e)}},S=t+" Iterator",_="values"==y,D=!1,C=e.prototype,w=C[p]||C["@@iterator"]||y&&C[y],P=w||A(y),k=y?_?A("entries"):P:void 0,F="Array"==t?C.entries||w:w;if(F&&(x=f(F.call(new e)))!==Object.prototype&&x.next&&(c(x,S,!0),n||o(x,p)||a(x,p,h)),_&&w&&"values"!==w.name&&(D=!0,P=function(){return w.call(this)}),n&&!g||!d&&!D&&C[p]||a(C,p,P),u[t]=P,u[S]=h,y)if(b={values:_?P:A("values"),keys:v?P:A("keys"),entries:k},g)for(E in b)E in C||s(C,E,b[E]);else i(i.P+i.F*(d||D),t,b);return b}},function(e,t){"use strict";e.exports=!0},function(e,t){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,r){"use strict";var n=r(29);e.exports=function(e,t,r){for(var i in t)r&&e[i]?e[i]=t[i]:n(e,i,t[i]);return e}},function(e,t,r){"use strict";e.exports=r(29)},function(e,t,r){"use strict";var n=r(12),i=r(227),s=r(43),a=r(55);e.exports=function(e){n(n.S,e,{from:function(e){var t,r,n,o,u=arguments[1];return i(this),t=void 0!==u,t&&i(u),void 0==e?new this:(r=[],t?(n=0,o=s(u,arguments[2],2),a(e,!1,function(e){r.push(o(e,n++))})):a(e,!1,r.push,r),new this(r))}})}},function(e,t,r){"use strict";var n=r(12);e.exports=function(e){n(n.S,e,{of:function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},function(e,t,r){"use strict";var n=r(151)("keys"),i=r(95);e.exports=function(e){return n[e]||(n[e]=i(e))}},function(e,t,r){"use strict";var n=r(15),i=n["__core-js_shared__"]||(n["__core-js_shared__"]={});e.exports=function(e){return i[e]||(i[e]={})}},function(e,t){"use strict";var r=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:r)(e)}},function(e,t,r){"use strict";var n=r(152),i=Math.min;e.exports=function(e){return e>0?i(n(e),9007199254740991):0}},function(e,t,r){"use strict";var n=r(16);e.exports=function(e,t){if(!n(e))return e;var r,i;if(t&&"function"==typeof(r=e.toString)&&!n(i=r.call(e)))return i;if("function"==typeof(r=e.valueOf)&&!n(i=r.call(e)))return i;if(!t&&"function"==typeof(r=e.toString)&&!n(i=r.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t,r){"use strict";var n=r(15),i=r(5),s=r(144),a=r(156),o=r(23).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=s?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||o(t,e,{value:a.f(e)})}},function(e,t,r){"use strict";t.f=r(13)},function(e,t,r){"use strict";var n=r(437)(!0);r(143)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,r=this._i;return r>=t.length?{value:void 0,done:!0}:(e=n(t,r),this._i+=e.length,{value:e,done:!1})})},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=r(15),s=r(28),a=r(22),o=r(12),u=r(147),l=r(57).KEY,c=r(27),f=r(151),p=r(93),d=r(95),h=r(13),m=r(156),y=r(155),v=r(430),g=r(425),b=r(232),E=r(21),x=r(37),A=r(154),S=r(92),_=r(90),D=r(432),C=r(235),w=r(23),P=r(44),k=C.f,F=w.f,T=D.f,O=i.Symbol,B=i.JSON,R=B&&B.stringify,I=h("_hidden"),M=h("toPrimitive"),N={}.propertyIsEnumerable,L=f("symbol-registry"),j=f("symbols"),U=f("op-symbols"),V=Object.prototype,G="function"==typeof O,W=i.QObject,Y=!W||!W.prototype||!W.prototype.findChild,q=a&&c(function(){return 7!=_(F({},"a",{get:function(){return F(this,"a",{value:7}).a}})).a})?function(e,t,r){var n=k(V,t);n&&delete V[t],F(e,t,r),n&&e!==V&&F(V,t,n)}:F,K=function(e){var t=j[e]=_(O.prototype);return t._k=e,t},H=G&&"symbol"==n(O.iterator)?function(e){return"symbol"==(void 0===e?"undefined":n(e))}:function(e){return e instanceof O},J=function(e,t,r){return e===V&&J(U,t,r),E(e),t=A(t,!0),E(r),s(j,t)?(r.enumerable?(s(e,I)&&e[I][t]&&(e[I][t]=!1),r=_(r,{enumerable:S(0,!1)})):(s(e,I)||F(e,I,S(1,{})),e[I][t]=!0),q(e,t,r)):F(e,t,r)},X=function(e,t){E(e);for(var r,n=g(t=x(t)),i=0,s=n.length;s>i;)J(e,r=n[i++],t[r]);return e},z=function(e,t){return void 0===t?_(e):X(_(e),t)},$=function(e){var t=N.call(this,e=A(e,!0));return!(this===V&&s(j,e)&&!s(U,e))&&(!(t||!s(this,e)||!s(j,e)||s(this,I)&&this[I][e])||t)},Q=function(e,t){if(e=x(e),t=A(t,!0),e!==V||!s(j,t)||s(U,t)){var r=k(e,t);return!r||!s(j,t)||s(e,I)&&e[I][t]||(r.enumerable=!0),r}},Z=function(e){for(var t,r=T(x(e)),n=[],i=0;r.length>i;)s(j,t=r[i++])||t==I||t==l||n.push(t);return n},ee=function(e){for(var t,r=e===V,n=T(r?U:x(e)),i=[],a=0;n.length>a;)!s(j,t=n[a++])||r&&!s(V,t)||i.push(j[t]);return i};G||(O=function(){if(this instanceof O)throw TypeError("Symbol is not a constructor!");var e=d(arguments.length>0?arguments[0]:void 0),t=function t(r){this===V&&t.call(U,r),s(this,I)&&s(this[I],e)&&(this[I][e]=!1),q(this,e,S(1,r))};return a&&Y&&q(V,e,{configurable:!0,set:t}),K(e)},u(O.prototype,"toString",function(){return this._k}),C.f=Q,w.f=J,r(236).f=D.f=Z,r(91).f=$,r(145).f=ee,a&&!r(144)&&u(V,"propertyIsEnumerable",$,!0),m.f=function(e){return K(h(e))}),o(o.G+o.W+o.F*!G,{Symbol:O});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),re=0;te.length>re;)h(te[re++]);for(var ne=P(h.store),ie=0;ne.length>ie;)y(ne[ie++]);o(o.S+o.F*!G,"Symbol",{for:function(e){return s(L,e+="")?L[e]:L[e]=O(e)},keyFor:function(e){if(H(e))return v(L,e);throw TypeError(e+" is not a symbol!")},useSetter:function(){Y=!0},useSimple:function(){Y=!1}}),o(o.S+o.F*!G,"Object",{create:z,defineProperty:J,defineProperties:X,getOwnPropertyDescriptor:Q,getOwnPropertyNames:Z,getOwnPropertySymbols:ee}),B&&o(o.S+o.F*(!G||c(function(){var e=O();return"[null]"!=R([e])||"{}"!=R({a:e})||"{}"!=R(Object(e))})),"JSON",{stringify:function(e){if(void 0!==e&&!H(e)){for(var t,r,n=[e],i=1;arguments.length>i;)n.push(arguments[i++]);return t=n[1],"function"==typeof t&&(r=t),!r&&b(t)||(t=function(e,t){if(r&&(t=r.call(this,e,t)),!H(t))return t}),n[1]=t,R.apply(B,n)}}}),O.prototype[M]||r(29)(O.prototype,M,O.prototype.valueOf),p(O,"Symbol"),p(Math,"Math",!0),p(i.JSON,"JSON",!0)},function(e,t,r){"use strict";var n=r(38),i=r(17),s=n(i,"Map");e.exports=s},function(e,t,r){"use strict";function n(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}var i=r(551),s=r(552),a=r(553),o=r(554),u=r(555);n.prototype.clear=i,n.prototype.delete=s,n.prototype.get=a,n.prototype.has=o,n.prototype.set=u,e.exports=n},function(e,t){"use strict";function r(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}e.exports=r},function(e,t,r){"use strict";function n(e,t,r){var n=e[t];o.call(e,t)&&s(n,r)&&(void 0!==r||t in e)||i(e,t,r)}var i=r(163),s=r(46),a=Object.prototype,o=a.hasOwnProperty;e.exports=n},function(e,t,r){"use strict";function n(e,t,r){"__proto__"==t&&i?i(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var i=r(259);e.exports=n},function(e,t,r){"use strict";function n(e,t,r,T,O,B){var R,I=t&S,M=t&_,N=t&D;if(r&&(R=O?r(e,T,O,B):r(e)),void 0!==R)return R;if(!x(e))return e;var L=b(e);if(L){if(R=y(e),!I)return c(e,R)}else{var j=m(e),U=j==w||j==P;if(E(e))return l(e,I);if(j==k||j==C||U&&!O){if(R=M||U?{}:g(e),!I)return M?p(e,u(R,e)):f(e,o(R,e))}else{if(!F[j])return O?e:{};R=v(e,j,n,I)}}B||(B=new i);var V=B.get(e);if(V)return V;B.set(e,R);var G=N?M?h:d:M?keysIn:A,W=L?void 0:G(e);return s(W||e,function(i,s){W&&(s=i,i=e[s]),a(R,s,n(i,t,r,s,e,B))}),R}var i=r(99),s=r(478),a=r(162),o=r(483),u=r(484),l=r(256),c=r(168),f=r(523),p=r(524),d=r(262),h=r(532),m=r(264),y=r(541),v=r(542),g=r(266),b=r(6),E=r(113),x=r(18),A=r(32),S=1,_=2,D=4,C="[object Arguments]",w="[object Function]",P="[object GeneratorFunction]",k="[object Object]",F={};F[C]=F["[object Array]"]=F["[object ArrayBuffer]"]=F["[object DataView]"]=F["[object Boolean]"]=F["[object Date]"]=F["[object Float32Array]"]=F["[object Float64Array]"]=F["[object Int8Array]"]=F["[object Int16Array]"]=F["[object Int32Array]"]=F["[object Map]"]=F["[object Number]"]=F[k]=F["[object RegExp]"]=F["[object Set]"]=F["[object String]"]=F["[object Symbol]"]=F["[object Uint8Array]"]=F["[object Uint8ClampedArray]"]=F["[object Uint16Array]"]=F["[object Uint32Array]"]=!0,F["[object Error]"]=F[w]=F["[object WeakMap]"]=!1,e.exports=n},function(e,t){"use strict";function r(e,t,r,n){for(var i=e.length,s=r+(n?1:-1);n?s--:++s<i;)if(t(e[s],s,e))return s;return-1}e.exports=r},function(e,t,r){"use strict";function n(e,t,r){return t===t?a(e,t,r):i(e,s,r)}var i=r(165),s=r(496),a=r(570);e.exports=n},function(e,t,r){"use strict";function n(e){var t=new e.constructor(e.byteLength);return new i(t).set(new i(e)),t}var i=r(243);e.exports=n},function(e,t){"use strict";function r(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}e.exports=r},function(e,t,r){"use strict";var n=r(271),i=n(Object.getPrototypeOf,Object);e.exports=i},function(e,t,r){"use strict";var n=r(479),i=r(279),s=Object.prototype,a=s.propertyIsEnumerable,o=Object.getOwnPropertySymbols,u=o?function(e){return null==e?[]:(e=Object(e),n(o(e),function(t){return a.call(e,t)}))}:i;e.exports=u},function(e,t){"use strict";function r(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||i.test(e))&&e>-1&&e%1==0&&e<t}var n=9007199254740991,i=/^(?:0|[1-9]\d*)$/;e.exports=r},function(e,t,r){"use strict";function n(e,t,r){if(!u(r))return!1;var n=void 0===t?"undefined":i(t);return!!("number"==n?a(r)&&o(t,r.length):"string"==n&&t in r)&&s(r[t],e)}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=r(46),a=r(24),o=r(171),u=r(18);e.exports=n},function(e,t,r){"use strict";function n(e,t){if(s(e))return!1;var r=void 0===e?"undefined":i(e);return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!a(e))||(u.test(e)||!o.test(e)||null!=t&&e in Object(t))}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=r(6),a=r(62),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;e.exports=n},function(e,t,r){"use strict";var n=r(162),i=r(31),s=r(103),a=r(24),o=r(105),u=r(32),l=Object.prototype,c=l.hasOwnProperty,f=s(function(e,t){if(o(t)||a(t))return void i(t,u(t),e);for(var r in t)c.call(t,r)&&n(e,r,t[r])});e.exports=f},function(e,t,r){"use strict";function n(e){if(!s(e))return!1;var t=i(e);return t==o||t==u||t==a||t==l}var i=r(30),s=r(18),a="[object AsyncFunction]",o="[object Function]",u="[object GeneratorFunction]",l="[object Proxy]";e.exports=n},function(e,t){"use strict";function r(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}var n=9007199254740991;e.exports=r},function(e,t,r){"use strict";var n=r(499),i=r(102),s=r(270),a=s&&s.isTypedArray,o=a?i(a):n;e.exports=o},function(e,t,r){function n(e){return r(i(e))}function i(e){return s[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var s={"./index":50,"./index.js":50,"./logger":120,"./logger.js":120,"./metadata":121,"./metadata.js":121,"./options/build-config-chain":51,"./options/build-config-chain.js":51,"./options/config":33,"./options/config.js":33,"./options/index":52,"./options/index.js":52,"./options/option-manager":34,"./options/option-manager.js":34,"./options/parsers":53,"./options/parsers.js":53,"./options/removed":54,"./options/removed.js":54};n.keys=function(){return Object.keys(s)},n.resolve=i,e.exports=n,n.id=178},function(e,t,r){function n(e){return r(i(e))}function i(e){return s[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var s={"./build-config-chain":51,"./build-config-chain.js":51,"./config":33,"./config.js":33,"./index":52,"./index.js":52,"./option-manager":34,"./option-manager.js":34,"./parsers":53,"./parsers.js":53,"./removed":54,"./removed.js":54};n.keys=function(){return Object.keys(s)},n.resolve=i,e.exports=n,n.id=179},function(e,t){"use strict";e.exports=function(){return/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){return{keyword:e.cyan,capitalized:e.yellow,jsx_tag:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold,gutter:e.grey,marker:e.red.bold}}function s(e){var t=e.slice(-2),r=t[0],n=t[1],i=(0,o.matchToToken)(e);if("name"===i.type){if(c.default.keyword.isReservedWordES6(i.value))return"keyword";if(h.test(i.value)&&("<"===n[r-1]||"</"==n.substr(r-2,2)))return"jsx_tag";if(i.value[0]!==i.value[0].toLowerCase())return"capitalized"}return"punctuator"===i.type&&m.test(i.value)?"bracket":i.type}function a(e,t){return t.replace(u.default,function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=s(r),a=e[i];return a?r[0].split(d).map(function(e){return a(e)}).join("\n"):r[0]})}t.__esModule=!0,t.default=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};r=Math.max(r,0);var s=n.highlightCode&&p.default.supportsColor||n.forceColor,o=p.default;n.forceColor&&(o=new p.default.constructor({enabled:!0}));var u=function(e,t){return s?e(t):t},l=i(o);s&&(e=a(l,e));var c=n.linesAbove||2,f=n.linesBelow||3,h=e.split(d),m=Math.max(t-(c+1),0),y=Math.min(h.length,t+f);t||r||(m=0,y=h.length);var v=String(y).length,g=h.slice(m,y).map(function(e,n){var i=m+1+n,s=(" "+i).slice(-v),a=" "+s+" | ";if(i===t){var o="";if(r){var c=e.slice(0,r-1).replace(/[^\t]/g," ");o=["\n ",u(l.gutter,a.replace(/\d/g," ")),c,u(l.marker,"^")].join("")}return[u(l.marker,">"),u(l.gutter,a),e,o].join("")}return" "+u(l.gutter,a)+e}).join("\n");return s?o.reset(g):g};var o=r(468),u=n(o),l=r(97),c=n(l),f=r(401),p=n(f),d=/\r\n|[\n\r\u2028\u2029]/,h=/^[a-z][\w-]*$/i,m=/^[()\[\]{}]$/;e.exports=t.default},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e){throw new Error("The ("+e+") Babel 5 plugin is being run with Babel 6.")}function a(e,t,r){"function"==typeof t&&(r=t,t={}),t.filename=e,y.default.readFile(e,function(e,n){var i=void 0;if(!e)try{i=F(n,t)}catch(t){e=t}e?r(e):r(null,i)})}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.filename=e,F(y.default.readFileSync(e,"utf8"),t)}t.__esModule=!0,t.transformFromAst=t.transform=t.analyse=t.Pipeline=t.OptionManager=t.traverse=t.types=t.messages=t.util=t.version=t.resolvePreset=t.resolvePlugin=t.template=t.buildExternalHelpers=t.options=t.File=void 0;var u=r(50);Object.defineProperty(t,"File",{enumerable:!0,get:function(){return i(u).default}});var l=r(33);Object.defineProperty(t,"options",{enumerable:!0,get:function(){return i(l).default}});var c=r(295);Object.defineProperty(t,"buildExternalHelpers",{enumerable:!0,get:function(){return i(c).default}});var f=r(4);Object.defineProperty(t,"template",{enumerable:!0,get:function(){return i(f).default}});var p=r(184);Object.defineProperty(t,"resolvePlugin",{enumerable:!0,get:function(){return i(p).default}});var d=r(185);Object.defineProperty(t,"resolvePreset",{enumerable:!0,get:function(){return i(d).default}});var h=r(628);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return h.version}}),t.Plugin=s,t.transformFile=a,t.transformFileSync=o;var m=r(115),y=i(m),v=r(122),g=n(v),b=r(20),E=n(b),x=r(1),A=n(x),S=r(7),_=i(S),D=r(34),C=i(D),w=r(298),P=i(w);t.util=g,t.messages=E,t.types=A,t.traverse=_.default,t.OptionManager=C.default,t.Pipeline=P.default;var k=new P.default,F=(t.analyse=k.analyse.bind(k),t.transform=k.transform.bind(k));t.transformFromAst=k.transformFromAst.bind(k)},function(e,t,r){"use strict";function n(e,t){return e.reduce(function(e,r){return e||(0,s.default)(r,t)},null)}t.__esModule=!0,t.default=n;var i=r(118),s=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,r){(function(n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.cwd();return(0,o.default)((0,l.default)(e),t)}t.__esModule=!0,t.default=s;var a=r(183),o=i(a),u=r(291),l=i(u);e.exports=t.default}).call(t,r(8))},function(e,t,r){(function(n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.cwd();return(0,o.default)((0,l.default)(e),t)}t.__esModule=!0,t.default=s;var a=r(183),o=i(a),u=r(292),l=i(u);e.exports=t.default}).call(t,r(8))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t,r){var n="  ";if(e&&"string"==typeof e){var i=(0,d.default)(e).indent;i&&" "!==i&&(n=i)}var a={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,quotes:t.quotes||s(e,r),jsonCompatibleStrings:t.jsonCompatibleStrings,indent:{adjustMultilineComment:!0,style:n,base:0},flowCommaSeparator:t.flowCommaSeparator};return a.minified?(a.compact=!0,a.shouldPrintComment=a.shouldPrintComment||function(){return a.comments}):a.shouldPrintComment=a.shouldPrintComment||function(e){return a.comments||e.indexOf("@license")>=0||e.indexOf("@preserve")>=0},"auto"===a.compact&&(a.compact=e.length>5e5,a.compact&&console.error("[BABEL] "+v.get("codeGeneratorDeopt",t.filename,"500KB"))),a.compact&&(a.indent.adjustMultilineComment=!1),a}function s(e,t){if(!e)return"double";for(var r={single:0,double:0},n=0,i=0;i<t.length;i++){var s=t[i];if("string"===s.type.label){if("'"===e.slice(s.start,s.end)[0]?r.single++:r.double++,++n>=3)break}}return r.single>r.double?"single":"double"}t.__esModule=!0,t.CodeGenerator=void 0;var a=r(3),o=n(a),u=r(42),l=n(u),c=r(41),f=n(c);t.default=function(e,t,r){return new E(e,t,r).generate()};var p=r(459),d=n(p),h=r(313),m=n(h),y=r(20),v=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(y),g=r(312),b=n(g),E=function(e){function t(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments[2];(0,o.default)(this,t);var a=r.tokens||[],u=i(s,n,a),c=n.sourceMaps?new m.default(n,s):null,f=(0,l.default)(this,e.call(this,u,c,a));return f.ast=r,f}return(0,f.default)(t,e),t.prototype.generate=function(){return e.prototype.generate.call(this,this.ast)},t}(b.default);t.CodeGenerator=function(){function e(t,r,n){(0,o.default)(this,e),this._generator=new E(t,r,n)}return e.prototype.generate=function(){return this._generator.generate()},e}()},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e){function t(e,t){var n=r[e];r[e]=n?function(e,r,i){var s=n(e,r,i);return null==s?t(e,r,i):s}:t}for(var r={},n=(0,m.default)(e),i=Array.isArray(n),s=0,n=i?n:(0,d.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a,u=x.FLIPPED_ALIAS_KEYS[o];if(u)for(var l=u,c=Array.isArray(l),f=0,l=c?l:(0,d.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if(f=l.next(),f.done)break;p=f.value}var h=p;t(h,e[o])}else t(o,e[o])}return r}function a(e,t,r,n){var i=e[t.type];return i?i(t,r,n):null}function o(e){return!!x.isCallExpression(e)||!!x.isMemberExpression(e)&&(o(e.object)||!e.computed&&o(e.property))}function u(e,t,r){if(!e)return 0;x.isExpressionStatement(e)&&(e=e.expression);var n=a(S,e,t);if(!n){var i=a(_,e,t);if(i)for(var s=0;s<i.length&&!(n=u(i[s],e,r));s++);}return n&&n[r]||0}function l(e,t){return u(e,t,"before")}function c(e,t){return u(e,t,"after")}function f(e,t,r){return!!t&&(!(!x.isNewExpression(t)||t.callee!==e||!o(e))||a(A,e,t,r))}t.__esModule=!0;var p=r(2),d=i(p),h=r(14),m=i(h);t.needsWhitespace=u,t.needsWhitespaceBefore=l,t.needsWhitespaceAfter=c,t.needsParens=f;var y=r(311),v=i(y),g=r(310),b=n(g),E=r(1),x=n(E),A=s(b),S=s(v.default.nodes),_=s(v.default.list)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){return!v.isClassMethod(e)&&!v.isObjectMethod(e)||"get"!==e.kind&&"set"!==e.kind?"value":e.kind}function s(e,t,r,n,s){var a=v.toKeyAlias(t),o={};if((0,m.default)(e,a)&&(o=e[a]),e[a]=o,o._inherits=o._inherits||[],o._inherits.push(t),o._key=t.key,t.computed&&(o._computed=!0),t.decorators){var u=o.decorators=o.decorators||v.arrayExpression([]);u.elements=u.elements.concat(t.decorators.map(function(e){return e.expression}).reverse())}if(o.value||o.initializer)throw n.buildCodeFrameError(t,"Key conflict with sibling node");var l=void 0,c=void 0;(v.isObjectProperty(t)||v.isObjectMethod(t)||v.isClassMethod(t))&&(l=v.toComputedKey(t,t.key)),v.isObjectProperty(t)||v.isClassProperty(t)?c=t.value:(v.isObjectMethod(t)||v.isClassMethod(t))&&(c=v.functionExpression(null,t.params,t.body,t.generator,t.async),c.returnType=t.returnType);var f=i(t);return r&&"value"===f||(r=f),s&&v.isStringLiteral(l)&&("value"===r||"initializer"===r)&&v.isFunctionExpression(c)&&(c=(0,d.default)({id:l,node:c,scope:s})),c&&(v.inheritsComments(c,t),o[r]=c),o}function a(e){for(var t in e)if(e[t]._computed)return!0;return!1}function o(e){for(var t=v.arrayExpression([]),r=0;r<e.properties.length;r++){var n=e.properties[r],i=n.value;i.properties.unshift(v.objectProperty(v.identifier("key"),v.toComputedKey(n))),t.elements.push(i)}return t}function u(e){var t=v.objectExpression([]);return(0,f.default)(e).forEach(function(r){var n=e[r],i=v.objectExpression([]),s=v.objectProperty(n._key,i,n._computed);(0,f.default)(n).forEach(function(e){var t=n[e];if("_"!==e[0]){var r=t;(v.isClassMethod(t)||v.isClassProperty(t))&&(t=t.value);var s=v.objectProperty(v.identifier(e),t);v.inheritsComments(s,r),v.removeComments(r),i.properties.push(s)}}),t.properties.push(s)}),t}function l(e){return(0,f.default)(e).forEach(function(t){var r=e[t];r.value&&(r.writable=v.booleanLiteral(!0)),r.configurable=v.booleanLiteral(!0),r.enumerable=v.booleanLiteral(!0)}),u(e)}t.__esModule=!0;var c=r(14),f=n(c);t.push=s,t.hasComputed=a,t.toComputedObjectFromClass=o,t.toClassObject=u,t.toDefineObject=l;var p=r(40),d=n(p),h=r(274),m=n(h),y=r(1),v=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(y)},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){for(var t=e.params,r=0;r<t.length;r++){var n=t[r];if(i.isAssignmentPattern(n)||i.isRestElement(n))return r}return t.length};var n=r(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(n);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"var";e.traverse(o,{kind:r,emit:t})};var s=r(1),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(s),o={Scope:function(e,t){"let"===t.kind&&e.skip()},Function:function(e){e.skip()},VariableDeclaration:function(e,t){if(!t.kind||e.node.kind===t.kind){for(var r=[],n=e.get("declarations"),s=void 0,o=n,u=Array.isArray(o),l=0,o=u?o:(0,i.default)(o);;){var c;if(u){if(l>=o.length)break;c=o[l++]}else{if(l=o.next(),l.done)break;c=l.value}var f=c;s=f.node.id,f.node.init&&r.push(a.expressionStatement(a.assignmentExpression("=",f.node.id,f.node.init)));for(var p in f.getBindingIdentifiers())t.emit(a.identifier(p),p)}e.parentPath.isFor({left:e.node})?e.replaceWith(s):e.replaceWithMultiple(r)}}};e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e,t,r){return 1===r.length&&i.isSpreadElement(r[0])&&i.isIdentifier(r[0].argument,{name:"arguments"})?i.callExpression(i.memberExpression(e,i.identifier("apply")),[t,r[0].argument]):i.callExpression(i.memberExpression(e,i.identifier("call")),[t].concat(r))};var n=r(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(n);e.exports=t.default},function(e,t,r){"use strict";function n(e,t){return u.isRegExpLiteral(e)&&e.flags.indexOf(t)>=0}function i(e,t){var r=e.flags.split("");e.flags.indexOf(t)<0||((0,a.default)(r,t),e.flags=r.join(""))}t.__esModule=!0,t.is=n,t.pullFlag=i;var s=r(277),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=r(1),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(o)},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return!!v.isSuper(e)&&(!v.isMemberExpression(t,{computed:!1})&&!v.isCallExpression(t,{callee:e}))}function a(e){return v.isMemberExpression(e)&&v.isSuper(e.object)}function o(e,t){var r=t?e:v.memberExpression(e,v.identifier("prototype"));return v.logicalExpression("||",v.memberExpression(r,v.identifier("__proto__")),v.callExpression(v.memberExpression(v.identifier("Object"),v.identifier("getPrototypeOf")),[r]))}t.__esModule=!0;var u=r(3),l=i(u),c=r(10),f=i(c),p=r(191),d=i(p),h=r(20),m=n(h),y=r(1),v=n(y),g=(0,f.default)(),b={Function:function(e){e.inShadow("this")||e.skip()},ReturnStatement:function(e,t){e.inShadow("this")||t.returns.push(e)},ThisExpression:function(e,t){e.node[g]||t.thises.push(e)},enter:function(e,t){var r=t.specHandle;t.isLoose&&(r=t.looseHandle);var n=e.isCallExpression()&&e.get("callee").isSuper(),i=r.call(t,e);i&&(t.hasSuper=!0),n&&t.bareSupers.push(e),!0===i&&e.requeue(),!0!==i&&i&&(Array.isArray(i)?e.replaceWithMultiple(i):e.replaceWith(i))}},E=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(0,l.default)(this,e),this.forceSuperMemoisation=t.forceSuperMemoisation,this.methodPath=t.methodPath,
this.methodNode=t.methodNode,this.superRef=t.superRef,this.isStatic=t.isStatic,this.hasSuper=!1,this.inClass=r,this.isLoose=t.isLoose,this.scope=this.methodPath.scope,this.file=t.file,this.opts=t,this.bareSupers=[],this.returns=[],this.thises=[]}return e.prototype.getObjectRef=function(){return this.opts.objectRef||this.opts.getObjectRef()},e.prototype.setSuperProperty=function(e,t,r){return v.callExpression(this.file.addHelper("set"),[o(this.getObjectRef(),this.isStatic),r?e:v.stringLiteral(e.name),t,v.thisExpression()])},e.prototype.getSuperProperty=function(e,t){return v.callExpression(this.file.addHelper("get"),[o(this.getObjectRef(),this.isStatic),t?e:v.stringLiteral(e.name),v.thisExpression()])},e.prototype.replace=function(){this.methodPath.traverse(b,this)},e.prototype.getLooseSuperProperty=function(e,t){var r=this.methodNode,n=this.superRef||v.identifier("Function");return t.property===e?void 0:v.isCallExpression(t,{callee:e})?void 0:v.isMemberExpression(t)&&!r.static?v.memberExpression(n,v.identifier("prototype")):n},e.prototype.looseHandle=function(e){var t=e.node;if(e.isSuper())return this.getLooseSuperProperty(t,e.parent);if(e.isCallExpression()){var r=t.callee;if(!v.isMemberExpression(r))return;if(!v.isSuper(r.object))return;return v.appendToMemberExpression(r,v.identifier("call")),t.arguments.unshift(v.thisExpression()),!0}},e.prototype.specHandleAssignmentExpression=function(e,t,r){return"="===r.operator?this.setSuperProperty(r.left.property,r.right,r.left.computed):(e=e||t.scope.generateUidIdentifier("ref"),[v.variableDeclaration("var",[v.variableDeclarator(e,r.left)]),v.expressionStatement(v.assignmentExpression("=",r.left,v.binaryExpression(r.operator[0],e,r.right)))])},e.prototype.specHandle=function(e){var t=void 0,r=void 0,n=void 0,i=e.parent,o=e.node;if(s(o,i))throw e.buildCodeFrameError(m.get("classesIllegalBareSuper"));if(v.isCallExpression(o)){var u=o.callee;if(v.isSuper(u))return;a(u)&&(t=u.property,r=u.computed,n=o.arguments)}else if(v.isMemberExpression(o)&&v.isSuper(o.object))t=o.property,r=o.computed;else{if(v.isUpdateExpression(o)&&a(o.argument)){var l=v.binaryExpression(o.operator[0],o.argument,v.numericLiteral(1));if(o.prefix)return this.specHandleAssignmentExpression(null,e,l);var c=e.scope.generateUidIdentifier("ref");return this.specHandleAssignmentExpression(c,e,l).concat(v.expressionStatement(c))}if(v.isAssignmentExpression(o)&&a(o.left))return this.specHandleAssignmentExpression(null,e,o)}if(t){var f=this.getSuperProperty(t,r);return n?this.optimiseCall(f,n):f}},e.prototype.optimiseCall=function(e,t){var r=v.thisExpression();return r[g]=!0,(0,d.default)(e,r,t)},e}();t.default=E,e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=u.default[e];if(!t)throw new ReferenceError("Unknown helper "+e);return t().expression}t.__esModule=!0,t.list=void 0;var s=r(14),a=n(s);t.get=i;var o=r(321),u=n(o);t.list=(0,a.default)(u.default).map(function(e){return e.replace(/^_/,"")}).filter(function(e){return"__esModule"!==e});t.default=i},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("asyncGenerators")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("classConstructorCall")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("classProperties")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("doExpressions")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("exponentiationOperator")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("exportExtensions")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("functionBind")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("objectRestSpread")}}},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i),a=r(10),o=n(a);t.default=function(e){function t(e){for(var t=e.get("body.body"),r=t,n=Array.isArray(r),i=0,r=n?r:(0,s.default)(r);;){var a;if(n){if(i>=r.length)break;a=r[i++]}else{if(i=r.next(),i.done)break;a=i.value}var o=a;if("constructorCall"===o.node.kind)return o}return null}function n(e,t){var r=t,n=r.node,s=n.id||t.scope.generateUidIdentifier("class");t.parentPath.isExportDefaultDeclaration()&&(t=t.parentPath,t.insertAfter(i.exportDefaultDeclaration(s))),t.replaceWithMultiple(c({CLASS_REF:t.scope.generateUidIdentifier(s.name),CALL_REF:t.scope.generateUidIdentifier(s.name+"Call"),CALL:i.functionExpression(null,e.node.params,e.node.body),CLASS:i.toExpression(n),WRAPPER_REF:s})),e.remove()}var i=e.types,a=(0,o.default)();return{inherits:r(196),visitor:{Class:function(e){if(!e.node[a]){e.node[a]=!0;var r=t(e);r&&n(r,e)}}}}};var u=r(4),l=n(u),c=(0,l.default)("\n  let CLASS_REF = CLASS;\n  var CALL_REF = CALL;\n  var WRAPPER_REF = function (...args) {\n    if (this instanceof WRAPPER_REF) {\n      return Reflect.construct(CLASS_REF, args);\n    } else {\n      return CALL_REF.apply(this, args);\n    }\n  };\n  WRAPPER_REF.__proto__ = CLASS_REF;\n  WRAPPER_REF;\n");e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i);t.default=function(e){var t=e.types,n={Super:function(e){e.parentPath.isCallExpression({callee:e.node})&&this.push(e.parentPath)}},i={ReferencedIdentifier:function(e){this.scope.hasOwnBinding(e.node.name)&&(this.collision=!0,e.skip())}},a=(0,l.default)("\n    Object.defineProperty(REF, KEY, {\n      // configurable is false by default\n      enumerable: true,\n      writable: true,\n      value: VALUE\n    });\n  "),u=function(e,r){var n=r.key,i=r.value,s=r.computed;return a({REF:e,KEY:t.isIdentifier(n)&&!s?t.stringLiteral(n.name):n,VALUE:i||t.identifier("undefined")})},c=function(e,r){var n=r.key,i=r.value,s=r.computed;return t.expressionStatement(t.assignmentExpression("=",t.memberExpression(e,n,s||t.isLiteral(n)),i))};return{inherits:r(197),visitor:{Class:function(e,r){for(var a=r.opts.spec?u:c,l=!!e.node.superClass,f=void 0,p=[],d=e.get("body"),h=d.get("body"),m=Array.isArray(h),y=0,h=m?h:(0,s.default)(h);;){var v;if(m){if(y>=h.length)break;v=h[y++]}else{if(y=h.next(),y.done)break;v=y.value}var g=v;g.isClassProperty()?p.push(g):g.isClassMethod({kind:"constructor"})&&(f=g)}if(p.length){var b=[],E=void 0;e.isClassExpression()||!e.node.id?((0,o.default)(e),E=e.scope.generateUidIdentifier("class")):E=e.node.id;for(var x=[],A=p,S=Array.isArray(A),_=0,A=S?A:(0,s.default)(A);;){var D;if(S){if(_>=A.length)break;D=A[_++]}else{if(_=A.next(),_.done)break;D=_.value}var C=D,w=C.node;if(!(w.decorators&&w.decorators.length>0)&&(r.opts.spec||w.value)){if(w.static)b.push(a(E,w));else{if(!w.value)continue;x.push(a(t.thisExpression(),w))}}}if(x.length){if(!f){var P=t.classMethod("constructor",t.identifier("constructor"),[],t.blockStatement([]));l&&(P.params=[t.restElement(t.identifier("args"))],P.body.body.push(t.returnStatement(t.callExpression(t.super(),[t.spreadElement(t.identifier("args"))]))));f=d.unshiftContainer("body",P)[0]}for(var k={collision:!1,scope:f.scope},F=p,T=Array.isArray(F),O=0,F=T?F:(0,s.default)(F);;){var B;if(T){if(O>=F.length)break;B=F[O++]}else{if(O=F.next(),O.done)break;B=O.value}if(B.traverse(i,k),k.collision)break}if(k.collision){var R=e.scope.generateUidIdentifier("initialiseProps");b.push(t.variableDeclaration("var",[t.variableDeclarator(R,t.functionExpression(null,[],t.blockStatement(x)))])),x=[t.expressionStatement(t.callExpression(t.memberExpression(R,t.identifier("call")),[t.thisExpression()]))]}if(l){var I=[];f.traverse(n,I);for(var M=I,N=Array.isArray(M),L=0,M=N?M:(0,s.default)(M);;){var j;if(N){if(L>=M.length)break;j=M[L++]}else{if(L=M.next(),L.done)break;j=L.value}j.insertAfter(x)}}else f.get("body").unshiftContainer("body",x)}for(var U=p,V=Array.isArray(U),G=0,U=V?U:(0,s.default)(U);;){var W;if(V){if(G>=U.length)break;W=U[G++]}else{if(G=U.next(),G.done)break;W=G.value}W.remove()}b.length&&(e.isClassExpression()?(e.scope.push({id:E}),e.replaceWith(t.assignmentExpression("=",E,e.node))):(e.node.id||(e.node.id=E),e.parentPath.isExportDeclaration()&&(e=e.parentPath)),e.insertAfter(b))}},ArrowFunctionExpression:function(e){var t=e.get("body");if(t.isClassExpression()){t.get("body").get("body").some(function(e){return e.isClassProperty()})&&e.ensureBlock()}}}}};var a=r(40),o=n(a),u=r(4),l=n(u);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(9),s=n(i),a=r(2),o=n(a);t.default=function(e){function t(e){return e.reverse().map(function(e){return e.expression})}function n(e,r,n){var i=[],a=e.node.decorators;if(a){e.node.decorators=null,a=t(a);for(var l=a,c=Array.isArray(l),f=0,l=c?l:(0,o.default)(l);;){var d;if(c){if(f>=l.length)break;d=l[f++]}else{if(f=l.next(),f.done)break;d=f.value}var h=d;i.push(p({CLASS_REF:r,DECORATOR:h}))}}for(var m=(0,s.default)(null),y=e.get("body.body"),v=Array.isArray(y),g=0,y=v?y:(0,o.default)(y);;){var b;if(v){if(g>=y.length)break;b=y[g++]}else{if(g=y.next(),g.done)break;b=g.value}var E=b;if(E.node.decorators){var x=u.toKeyAlias(E.node);m[x]=m[x]||[],m[x].push(E.node),E.remove()}}for(var A in m){m[A]}return i}function i(e){if(e.isClass()){if(e.node.decorators)return!0;for(var t=e.node.body.body,r=Array.isArray(t),n=0,t=r?t:(0,o.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}if(i.decorators)return!0}}else if(e.isObjectExpression())for(var s=e.node.properties,a=Array.isArray(s),u=0,s=a?s:(0,o.default)(s);;){var l;if(a){if(u>=s.length)break;l=s[u++]}else{if(u=s.next(),u.done)break;l=u.value}var c=l;if(c.decorators)return!0}return!1}function a(e){throw e.buildCodeFrameError('Decorators are not officially supported yet in 6.x pending a proposal update.\nHowever, if you need to use them you can install the legacy decorators transform with:\n\nnpm install babel-plugin-transform-decorators-legacy --save-dev\n\nand add the following line to your .babelrc file:\n\n{\n  "plugins": ["transform-decorators-legacy"]\n}\n\nThe repo url is: https://github.com/loganfsmyth/babel-plugin-transform-decorators-legacy.\n    ')}var u=e.types;return{inherits:r(125),visitor:{ClassExpression:function(e){if(i(e)){a(e),(0,f.default)(e);var t=e.scope.generateDeclaredUidIdentifier("ref"),r=[];r.push(u.assignmentExpression("=",t,e.node)),r=r.concat(n(e,t,this)),r.push(t),e.replaceWith(u.sequenceExpression(r))}},ClassDeclaration:function(e){if(i(e)){a(e),(0,f.default)(e);var t=e.node.id,r=[];r=r.concat(n(e,t,this).map(function(e){return u.expressionStatement(e)})),r.push(u.expressionStatement(t)),e.insertAfter(r)}},ObjectExpression:function(e){i(e)&&a(e)}}}};var u=r(4),l=n(u),c=r(319),f=n(c),p=(0,l.default)("\n  CLASS_REF = DECORATOR(CLASS_REF) || CLASS_REF;\n");e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(){return{inherits:r(198),visitor:{DoExpression:function(e){var t=e.node.body.body;t.length?e.replaceWithMultiple(t):e.replaceWith(e.scope.buildUndefinedNode())}}}},e.exports=t.default},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var s=r(2),a=i(s),o=r(3),u=i(o),l=r(7),c=r(193),f=i(c),p=r(191),d=i(p),h=r(188),m=n(h),y=r(4),v=i(y),g=r(1),b=n(g),E=(0,v.default)("\n  (function () {\n    super(...arguments);\n  })\n"),x={"FunctionExpression|FunctionDeclaration":function(e){e.is("shadow")||e.skip()},Method:function(e){e.skip()}},A=l.visitors.merge([x,{Super:function(e){if(this.isDerived&&!this.hasBareSuper&&!e.parentPath.isCallExpression({callee:e.node}))throw e.buildCodeFrameError("'super.*' is not allowed before super()")},CallExpression:{exit:function(e){if(e.get("callee").isSuper()&&(this.hasBareSuper=!0,!this.isDerived))throw e.buildCodeFrameError("super() is only allowed in a derived constructor")}},ThisExpression:function(e){if(this.isDerived&&!this.hasBareSuper&&!e.inShadow("this"))throw e.buildCodeFrameError("'this' is not allowed before super()")}}]),S=l.visitors.merge([x,{ThisExpression:function(e){this.superThises.push(e)}}]),_=function(){function e(t,r){(0,u.default)(this,e),this.parent=t.parent,this.scope=t.scope,this.node=t.node,this.path=t,this.file=r,this.clearDescriptors(),this.instancePropBody=[],this.instancePropRefs={},this.staticPropBody=[],this.body=[],this.bareSuperAfter=[],this.bareSupers=[],this.pushedConstructor=!1,this.pushedInherits=!1,this.isLoose=!1,this.superThises=[],this.classId=this.node.id,this.classRef=this.node.id?b.identifier(this.node.id.name):this.scope.generateUidIdentifier("class"),this.superName=this.node.superClass||b.identifier("Function"),this.isDerived=!!this.node.superClass}return e.prototype.run=function(){var e=this,t=this.superName,r=this.file,n=this.body,i=this.constructorBody=b.blockStatement([]);this.constructor=this.buildConstructor();var s=[],a=[];if(this.isDerived&&(a.push(t),t=this.scope.generateUidIdentifierBasedOnNode(t),s.push(t),this.superName=t),this.buildBody(),i.body.unshift(b.expressionStatement(b.callExpression(r.addHelper("classCallCheck"),[b.thisExpression(),this.classRef]))),n=n.concat(this.staticPropBody.map(function(t){return t(e.classRef)})),this.classId&&1===n.length)return b.toExpression(n[0]);n.push(b.returnStatement(this.classRef));var o=b.functionExpression(null,s,b.blockStatement(n));return o.shadow=!0,b.callExpression(o,a)},e.prototype.buildConstructor=function(){var e=b.functionDeclaration(this.classRef,[],this.constructorBody);return b.inherits(e,this.node),e},e.prototype.pushToMap=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"value",n=arguments[3],i=void 0;e.static?(this.hasStaticDescriptors=!0,i=this.staticMutatorMap):(this.hasInstanceDescriptors=!0,i=this.instanceMutatorMap);var s=m.push(i,e,r,this.file,n);return t&&(s.enumerable=b.booleanLiteral(!0)),s},e.prototype.constructorMeMaybe=function(){for(var e=!1,t=this.path.get("body.body"),r=t,n=Array.isArray(r),i=0,r=n?r:(0,a.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}if(e=s.equals("kind","constructor"))break}if(!e){var o=void 0,u=void 0;if(this.isDerived){var l=E().expression;o=l.params,u=l.body}else o=[],u=b.blockStatement([]);this.path.get("body").unshiftContainer("body",b.classMethod("constructor",b.identifier("constructor"),o,u))}},e.prototype.buildBody=function(){if(this.constructorMeMaybe(),this.pushBody(),this.verifyConstructor(),this.userConstructor){var e=this.constructorBody;e.body=e.body.concat(this.userConstructor.body.body),b.inherits(this.constructor,this.userConstructor),b.inherits(e,this.userConstructor.body)}this.pushDescriptors()},e.prototype.pushBody=function(){for(var e=this.path.get("body.body"),t=e,r=Array.isArray(t),n=0,t=r?t:(0,a.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i,o=s.node;if(s.isClassProperty())throw s.buildCodeFrameError("Missing class properties transform.");if(o.decorators)throw s.buildCodeFrameError("Method has decorators, put the decorator plugin before the classes one.");if(b.isClassMethod(o)){var u="constructor"===o.kind;if(u&&(s.traverse(A,this),!this.hasBareSuper&&this.isDerived))throw s.buildCodeFrameError("missing super() call in constructor");var l=new f.default({forceSuperMemoisation:u,methodPath:s,methodNode:o,objectRef:this.classRef,superRef:this.superName,isStatic:o.static,isLoose:this.isLoose,scope:this.scope,file:this.file},!0);l.replace(),u?this.pushConstructor(l,o,s):this.pushMethod(o,s)}}},e.prototype.clearDescriptors=function(){this.hasInstanceDescriptors=!1,this.hasStaticDescriptors=!1,this.instanceMutatorMap={},this.staticMutatorMap={}},e.prototype.pushDescriptors=function(){this.pushInherits();var e=this.body,t=void 0,r=void 0;if(this.hasInstanceDescriptors&&(t=m.toClassObject(this.instanceMutatorMap)),this.hasStaticDescriptors&&(r=m.toClassObject(this.staticMutatorMap)),t||r){t&&(t=m.toComputedObjectFromClass(t)),r&&(r=m.toComputedObjectFromClass(r));var n=b.nullLiteral(),i=[this.classRef,n,n,n,n];t&&(i[1]=t),r&&(i[2]=r),this.instanceInitializersId&&(i[3]=this.instanceInitializersId,e.unshift(this.buildObjectAssignment(this.instanceInitializersId))),this.staticInitializersId&&(i[4]=this.staticInitializersId,e.unshift(this.buildObjectAssignment(this.staticInitializersId)));for(var s=0,a=0;a<i.length;a++)i[a]!==n&&(s=a);i=i.slice(0,s+1),e.push(b.expressionStatement(b.callExpression(this.file.addHelper("createClass"),i)))}this.clearDescriptors()},e.prototype.buildObjectAssignment=function(e){return b.variableDeclaration("var",[b.variableDeclarator(e,b.objectExpression([]))])},e.prototype.wrapSuperCall=function(e,t,r,n){var i=e.node;this.isLoose?(i.arguments.unshift(b.thisExpression()),2===i.arguments.length&&b.isSpreadElement(i.arguments[1])&&b.isIdentifier(i.arguments[1].argument,{name:"arguments"})?(i.arguments[1]=i.arguments[1].argument,i.callee=b.memberExpression(t,b.identifier("apply"))):i.callee=b.memberExpression(t,b.identifier("call"))):i=(0,d.default)(b.logicalExpression("||",b.memberExpression(this.classRef,b.identifier("__proto__")),b.callExpression(b.memberExpression(b.identifier("Object"),b.identifier("getPrototypeOf")),[this.classRef])),b.thisExpression(),i.arguments);var s=b.callExpression(this.file.addHelper("possibleConstructorReturn"),[b.thisExpression(),i]),a=this.bareSuperAfter.map(function(e){return e(r)});e.parentPath.isExpressionStatement()&&e.parentPath.container===n.node.body&&n.node.body.length-1===e.parentPath.key?((this.superThises.length||a.length)&&(e.scope.push({id:r}),s=b.assignmentExpression("=",r,s)),a.length&&(s=b.toSequenceExpression([s].concat(a,[r]))),e.parentPath.replaceWith(b.returnStatement(s))):e.replaceWithMultiple([b.variableDeclaration("var",[b.variableDeclarator(r,s)])].concat(a,[b.expressionStatement(r)]))},e.prototype.verifyConstructor=function(){var e=this;if(this.isDerived){var t=this.userConstructorPath,r=t.get("body");t.traverse(S,this);for(var n=!!this.bareSupers.length,i=this.superName||b.identifier("Function"),s=t.scope.generateUidIdentifier("this"),o=this.bareSupers,u=Array.isArray(o),l=0,o=u?o:(0,a.default)(o);;){var c;if(u){if(l>=o.length)break;c=o[l++]}else{if(l=o.next(),l.done)break;c=l.value}var f=c;this.wrapSuperCall(f,i,s,r),n&&f.find(function(e){return e===t||(e.isLoop()||e.isConditional()?(n=!1,!0):void 0)})}for(var p=this.superThises,d=Array.isArray(p),h=0,p=d?p:(0,a.default)(p);;){var m;if(d){if(h>=p.length)break;m=p[h++]}else{if(h=p.next(),h.done)break;m=h.value}m.replaceWith(s)}var y=function(t){return b.callExpression(e.file.addHelper("possibleConstructorReturn"),[s].concat(t||[]))},v=r.get("body");v.length&&!v.pop().isReturnStatement()&&r.pushContainer("body",b.returnStatement(n?s:y()));for(var g=this.superReturns,E=Array.isArray(g),x=0,g=E?g:(0,a.default)(g);;){var A;if(E){if(x>=g.length)break;A=g[x++]}else{if(x=g.next(),x.done)break;A=x.value}var _=A;if(_.node.argument){var D=_.scope.generateDeclaredUidIdentifier("ret");_.get("argument").replaceWithMultiple([b.assignmentExpression("=",D,_.node.argument),y(D)])}else _.get("argument").replaceWith(y())}}},e.prototype.pushMethod=function(e,t){var r=t?t.scope:this.scope;"method"===e.kind&&this._processMethod(e,r)||this.pushToMap(e,!1,null,r)},e.prototype._processMethod=function(){return!1},e.prototype.pushConstructor=function(e,t,r){this.bareSupers=e.bareSupers,this.superReturns=e.returns,r.scope.hasOwnBinding(this.classRef.name)&&r.scope.rename(this.classRef.name);var n=this.constructor;this.userConstructorPath=r,this.userConstructor=t,this.hasConstructor=!0,b.inheritsComments(n,t),n._ignoreUserWhitespace=!0,n.params=t.params,b.inherits(n.body,t.body),n.body.directives=t.body.directives,this._pushConstructor()},e.prototype._pushConstructor=function(){this.pushedConstructor||(this.pushedConstructor=!0,(this.hasInstanceDescriptors||this.hasStaticDescriptors)&&this.pushDescriptors(),this.body.push(this.constructor),this.pushInherits())},e.prototype.pushInherits=function(){this.isDerived&&!this.pushedInherits&&(this.pushedInherits=!0,this.body.unshift(b.expressionStatement(b.callExpression(this.file.addHelper("inherits"),[this.classRef,this.superName]))))},e}();t.default=_,e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(9),s=n(i),a=r(2),o=n(a),u=r(10),l=n(u);t.default=function(e){var t=e.types,r=(0,l.default)(),n={"AssignmentExpression|UpdateExpression":function(e){if(!e.node[r]){e.node[r]=!0;var n=e.get(e.isAssignmentExpression()?"left":"argument");if(n.isIdentifier()){var i=n.node.name;if(this.scope.getBinding(i)===e.scope.getBinding(i)){var s=this.exports[i];if(s){var a=e.node,u=e.isUpdateExpression()&&!a.prefix;u&&("++"===a.operator?a=t.binaryExpression("+",a.argument,t.numericLiteral(1)):"--"===a.operator?a=t.binaryExpression("-",a.argument,t.numericLiteral(1)):u=!1);for(var l=s,c=Array.isArray(l),f=0,l=c?l:(0,o.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if(f=l.next(),f.done)break;p=f.value}var d=p;a=this.buildCall(d,a).expression}u&&(a=t.sequenceExpression([a,e.node])),e.replaceWith(a)}}}}}};return{visitor:{CallExpression:function(e,r){if(e.node.callee.type===y){var n=r.contextIdent;e.replaceWith(t.callExpression(t.memberExpression(n,t.identifier("import")),e.node.arguments))}},ReferencedIdentifier:function(e,r){"__moduleName"!=e.node.name||e.scope.hasBinding("__moduleName")||e.replaceWith(t.memberExpression(r.contextIdent,t.identifier("id")))},Program:{enter:function(e,t){t.contextIdent=e.scope.generateUidIdentifier("context")},exit:function(e,r){function i(e,t){p[e]=p[e]||[],p[e].push(t)}function a(e,t,r){var n=void 0;d.forEach(function(t){t.key===e&&(n=t)}),n||d.push(n={key:e,imports:[],exports:[]}),n[t]=n[t].concat(r)}function u(e,r){return t.expressionStatement(t.callExpression(l,[t.stringLiteral(e),r]))}for(var l=e.scope.generateUidIdentifier("export"),c=r.contextIdent,p=(0,s.default)(null),d=[],y=[],v=[],g=[],b=[],E=[],x=e.get("body"),A=!0,S=x,_=Array.isArray(S),D=0,S=_?S:(0,o.default)(S);;){var C;if(_){if(D>=S.length)break;C=S[D++]}else{if(D=S.next(),D.done)break;C=D.value}var w=C;if(w.isExportDeclaration()&&(w=w.get("declaration")),w.isVariableDeclaration()&&"var"!==w.node.kind){A=!1;break}}for(var P=x,k=Array.isArray(P),F=0,P=k?P:(0,o.default)(P);;){var T;if(k){if(F>=P.length)break;T=P[F++]}else{if(F=P.next(),F.done)break;T=F.value}var O=T;if(A&&O.isFunctionDeclaration())y.push(O.node),E.push(O);else if(O.isImportDeclaration()){var B=O.node.source.value;a(B,"imports",O.node.specifiers);for(var R in O.getBindingIdentifiers())O.scope.removeBinding(R),b.push(t.identifier(R));O.remove()}else if(O.isExportAllDeclaration())a(O.node.source.value,"exports",O.node),O.remove();else if(O.isExportDefaultDeclaration()){var I=O.get("declaration");if(I.isClassDeclaration()||I.isFunctionDeclaration()){var M=I.node.id,N=[];M?(N.push(I.node),N.push(u("default",M)),i(M.name,"default")):N.push(u("default",t.toExpression(I.node))),!A||I.isClassDeclaration()?O.replaceWithMultiple(N):(y=y.concat(N),E.push(O))}else O.replaceWith(u("default",I.node))}else if(O.isExportNamedDeclaration()){var L=O.get("declaration");if(L.node){O.replaceWith(L);var j=[],U=void 0;if(O.isFunction()){var V=L.node,G=V.id.name;if(A)i(G,G),y.push(V),y.push(u(G,V.id)),E.push(O);else{var W;W={},W[G]=V.id,U=W}}else U=L.getBindingIdentifiers();for(var Y in U)i(Y,Y),j.push(u(Y,t.identifier(Y)));O.insertAfter(j)}else{var q=O.node.specifiers;if(q&&q.length)if(O.node.source)a(O.node.source.value,"exports",q),O.remove();else{for(var K=[],H=q,J=Array.isArray(H),X=0,H=J?H:(0,o.default)(H);;){var z;if(J){if(X>=H.length)break;z=H[X++]}else{if(X=H.next(),X.done)break;z=X.value}var $=z;K.push(u($.exported.name,$.local)),i($.local.name,$.exported.name)}O.replaceWithMultiple(K)}}}}d.forEach(function(r){for(var n=[],i=e.scope.generateUidIdentifier(r.key),s=r.imports,a=Array.isArray(s),u=0,s=a?s:(0,o.default)(s);;){var c;if(a){if(u>=s.length)break;c=s[u++]}else{if(u=s.next(),u.done)break;c=u.value}var f=c;t.isImportNamespaceSpecifier(f)?n.push(t.expressionStatement(t.assignmentExpression("=",f.local,i))):t.isImportDefaultSpecifier(f)&&(f=t.importSpecifier(f.local,t.identifier("default"))),t.isImportSpecifier(f)&&n.push(t.expressionStatement(t.assignmentExpression("=",f.local,t.memberExpression(i,f.imported))))}if(r.exports.length){var p=e.scope.generateUidIdentifier("exportObj");n.push(t.variableDeclaration("var",[t.variableDeclarator(p,t.objectExpression([]))]));for(var d=r.exports,h=Array.isArray(d),y=0,d=h?d:(0,o.default)(d);;){var b;if(h){if(y>=d.length)break;b=d[y++]}else{if(y=d.next(),y.done)break;b=y.value}var E=b;t.isExportAllDeclaration(E)?n.push(m({KEY:e.scope.generateUidIdentifier("key"),EXPORT_OBJ:p,TARGET:i})):t.isExportSpecifier(E)&&n.push(t.expressionStatement(t.assignmentExpression("=",t.memberExpression(p,E.exported),t.memberExpression(i,E.local))))}n.push(t.expressionStatement(t.callExpression(l,[p])))}g.push(t.stringLiteral(r.key)),v.push(t.functionExpression(null,[i],t.blockStatement(n)))});var Q=this.getModuleName();Q&&(Q=t.stringLiteral(Q)),A&&(0,f.default)(e,function(e){return b.push(e)}),b.length&&y.unshift(t.variableDeclaration("var",b.map(function(e){return t.variableDeclarator(e)}))),e.traverse(n,{exports:p,buildCall:u,scope:e.scope});for(var Z=E,ee=Array.isArray(Z),te=0,Z=ee?Z:(0,o.default)(Z);;){var re;if(ee){if(te>=Z.length)break;re=Z[te++]}else{if(te=Z.next(),te.done)break;re=te.value}re.remove()}e.node.body=[h({SYSTEM_REGISTER:t.memberExpression(t.identifier(r.opts.systemGlobal||"System"),t.identifier("register")),BEFORE_BODY:y,MODULE_NAME:Q,SETTERS:v,SOURCES:g,BODY:e.node.body,EXPORT_IDENTIFIER:l,CONTEXT_IDENTIFIER:c})]}}}}};var c=r(190),f=n(c),p=r(4),d=n(p),h=(0,d.default)('\n  SYSTEM_REGISTER(MODULE_NAME, [SOURCES], function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\n    "use strict";\n    BEFORE_BODY;\n    return {\n      setters: [SETTERS],\n      execute: function () {\n        BODY;\n      }\n    };\n  });\n'),m=(0,d.default)('\n  for (var KEY in TARGET) {\n    if (KEY !== "default" && KEY !== "__esModule") EXPORT_OBJ[KEY] = TARGET[KEY];\n  }\n'),y="Import";e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){function t(e){if(e.isExpressionStatement()){var t=e.get("expression");if(!t.isCallExpression())return!1;if(!t.get("callee").isIdentifier({name:"define"}))return!1;var r=t.get("arguments");return!(3===r.length&&!r.shift().isStringLiteral())&&(2===r.length&&(!!r.shift().isArrayExpression()&&!!r.shift().isFunctionExpression()))}}var i=e.types;return{inherits:r(131),visitor:{Program:{exit:function(e,r){var s=e.get("body").pop();if(t(s)){var l=s.node.expression,c=l.arguments,f=3===c.length?c.shift():null,p=l.arguments[0],d=l.arguments[1],h=r.opts.globals||{},m=p.elements.map(function(e){return"module"===e.value||"exports"===e.value?i.identifier(e.value):i.callExpression(i.identifier("require"),[e])}),y=p.elements.map(function(e){if("module"===e.value)return i.identifier("mod");if("exports"===e.value)return i.memberExpression(i.identifier("mod"),i.identifier("exports"));var t=void 0;if(r.opts.exactGlobals){var s=h[e.value];t=s?s.split(".").reduce(function(e,t){return i.memberExpression(e,i.identifier(t))},i.identifier("global")):i.memberExpression(i.identifier("global"),i.identifier(i.toIdentifier(e.value)))}else{var a=(0,n.basename)(e.value,(0,n.extname)(e.value)),o=h[a]||a;t=i.memberExpression(i.identifier("global"),i.identifier(i.toIdentifier(o)))}return t}),v=f?f.value:this.file.opts.basename,g=i.memberExpression(i.identifier("global"),i.identifier(i.toIdentifier(v))),b=null;if(r.opts.exactGlobals){var E=h[v];if(E){b=[];var x=E.split(".");g=x.slice(1).reduce(function(e,t){return b.push(a({GLOBAL_REFERENCE:e})),i.memberExpression(e,i.identifier(t))},i.memberExpression(i.identifier("global"),i.identifier(x[0])))}}var A=o({BROWSER_ARGUMENTS:y,PREREQUISITE_ASSIGNMENTS:b,GLOBAL_TO_ASSIGN:g});s.replaceWith(u({MODULE_NAME:f,AMD_ARGUMENTS:p,COMMON_ARGUMENTS:m,GLOBAL_EXPORT:A,FUNC:d}))}}}}}};var n=r(19),i=r(4),s=function(e){return e&&e.__esModule?e:{default:e}}(i),a=(0,s.default)("\n  GLOBAL_REFERENCE = GLOBAL_REFERENCE || {}\n"),o=(0,s.default)("\n  var mod = { exports: {} };\n  factory(BROWSER_ARGUMENTS);\n  PREREQUISITE_ASSIGNMENTS\n  GLOBAL_TO_ASSIGN = mod.exports;\n"),u=(0,s.default)('\n  (function (global, factory) {\n    if (typeof define === "function" && define.amd) {\n      define(MODULE_NAME, AMD_ARGUMENTS, factory);\n    } else if (typeof exports !== "undefined") {\n      factory(COMMON_ARGUMENTS);\n    } else {\n      GLOBAL_EXPORT\n    }\n  })(this, FUNC);\n');e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){function t(e,r,i){var s=e.specifiers[0];if(n.isExportNamespaceSpecifier(s)||n.isExportDefaultSpecifier(s)){var a=e.specifiers.shift(),o=i.generateUidIdentifier(a.exported.name),u=void 0;u=n.isExportNamespaceSpecifier(a)?n.importNamespaceSpecifier(o):n.importDefaultSpecifier(o),r.push(n.importDeclaration([u],e.source)),r.push(n.exportNamedDeclaration(null,[n.exportSpecifier(o,a.exported)])),t(e,r,i)}}var n=e.types;return{inherits:r(200),visitor:{ExportNamedDeclaration:function(e){var r=e.node,n=e.scope,i=[];t(r,i,n),i.length&&(r.specifiers.length>=1&&i.push(r),e.replaceWithMultiple(i))}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){var t=e.types;return{inherits:r(126),visitor:{Program:function(e,t){for(var r=t.file.ast.comments,n=r,s=Array.isArray(n),a=0,n=s?n:(0,i.default)(n);;){var o;if(s){if(a>=n.length)break;o=n[a++]}else{if(a=n.next(),a.done)break;o=a.value}var u=o;u.value.indexOf("@flow")>=0&&(u.value=u.value.replace("@flow",""),u.value.replace(/\*/g,"").trim()||(u.ignore=!0))}},Flow:function(e){e.remove()},ClassProperty:function(e){e.node.variance=null,e.node.typeAnnotation=null,e.node.value||e.remove()},Class:function(e){e.node.implements=null,e.get("body.body").forEach(function(e){e.isClassProperty()&&(e.node.typeAnnotation=null,e.node.value||e.remove())})},AssignmentPattern:function(e){e.node.left.optional=!1},Function:function(e){for(var t=e.node,r=0;r<t.params.length;r++){t.params[r].optional=!1}},TypeCastExpression:function(e){var r=e.node;do{r=r.expression}while(t.isTypeCastExpression(r));e.replaceWith(r)}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){function t(e){var t=e.path.getData("functionBind");return t||(t=e.generateDeclaredUidIdentifier("context"),e.path.setData("functionBind",t))}function n(e,t){var r=e.object||e.callee.object;return t.isStatic(r)&&r}function i(e,r){var i=n(e,r);if(i)return i;var a=t(r);return e.object?e.callee=s.sequenceExpression([s.assignmentExpression("=",a,e.object),e.callee]):e.callee.object=s.assignmentExpression("=",a,e.callee.object),a}var s=e.types;return{inherits:r(201),visitor:{CallExpression:function(e){var t=e.node,r=e.scope,n=t.callee;if(s.isBindExpression(n)){var a=i(n,r);t.callee=s.memberExpression(n.callee,s.identifier("call")),t.arguments.unshift(a)}},BindExpression:function(e){
var t=e.node,r=e.scope,n=i(t,r);e.replaceWith(s.callExpression(s.memberExpression(t.callee,s.identifier("bind")),[n]))}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){function t(e){var t=!1;return e.traverse({RestProperty:function(){t=!0,e.stop()}}),t}function n(e){for(var t=e.properties,r=Array.isArray(t),n=0,t=r?t:(0,i.default)(t);;){var s;if(r){if(n>=t.length)break;s=t[n++]}else{if(n=t.next(),n.done)break;s=n.value}var a=s;if(o.isSpreadProperty(a))return!0}return!1}function s(e,t,r){for(var n=t.pop(),s=[],a=t,u=Array.isArray(a),l=0,a=u?a:(0,i.default)(a);;){var c;if(u){if(l>=a.length)break;c=a[l++]}else{if(l=a.next(),l.done)break;c=l.value}var f=c,p=f.key;o.isIdentifier(p)&&!f.computed&&(p=o.stringLiteral(f.key.name)),s.push(p)}return[n.argument,o.callExpression(e.addHelper("objectWithoutProperties"),[r,o.arrayExpression(s)])]}function a(e,r,n,i){if(r.isAssignmentPattern())return void a(e,r.get("left"),n,i);if(r.isObjectPattern()&&t(r)){var s=e.scope.generateUidIdentifier("ref"),u=o.variableDeclaration("let",[o.variableDeclarator(r.node,s)]);u._blockHoist=n?i-n:1,e.ensureBlock(),e.get("body").unshiftContainer("body",u),r.replaceWith(s)}}var o=e.types;return{inherits:r(202),visitor:{Function:function(e){for(var t=e.get("params"),r=0;r<t.length;r++)a(t[r].parentPath,t[r],r,t.length)},VariableDeclarator:function(e,t){if(e.get("id").isObjectPattern()){var r=e;e.get("id").traverse({RestProperty:function(e){if(this.originalPath.node.id.properties.length>1&&!o.isIdentifier(this.originalPath.node.init)){var n=e.scope.generateUidIdentifierBasedOnNode(this.originalPath.node.init,"ref");return this.originalPath.insertBefore(o.variableDeclarator(n,this.originalPath.node.init)),void this.originalPath.replaceWith(o.variableDeclarator(this.originalPath.node.id,n))}var i=this.originalPath.node.init,a=[];e.findParent(function(e){if(e.isObjectProperty())a.unshift(e.node.key.name);else if(e.isVariableDeclarator())return!0}),a.length&&a.forEach(function(e){i=o.memberExpression(i,o.identifier(e))});var u=s(t,e.parentPath.node.properties,i),l=u[0],c=u[1];r.insertAfter(o.variableDeclarator(l,c)),r=r.getSibling(r.key+1),0===e.parentPath.node.properties.length&&e.findParent(function(e){return e.isObjectProperty()||e.isVariableDeclarator()}).remove()}},{originalPath:e})}},ExportNamedDeclaration:function(e){var r=e.get("declaration");if(r.isVariableDeclaration()&&t(r)){var n=[];for(var i in e.getOuterBindingIdentifiers(e)){var s=o.identifier(i);n.push(o.exportSpecifier(s,s))}e.replaceWith(r.node),e.insertAfter(o.exportNamedDeclaration(null,n))}},CatchClause:function(e){var t=e.get("param");a(t.parentPath,t)},AssignmentExpression:function(e,r){var n=e.get("left");if(n.isObjectPattern()&&t(n)){var i=[],a=void 0;(e.isCompletionRecord()||e.parentPath.isExpressionStatement())&&(a=e.scope.generateUidIdentifierBasedOnNode(e.node.right,"ref"),i.push(o.variableDeclaration("var",[o.variableDeclarator(a,e.node.right)])));var u=s(r,e.node.left.properties,a),l=u[0],c=u[1],f=o.clone(e.node);f.right=a,i.push(o.expressionStatement(f)),i.push(o.toStatement(o.assignmentExpression("=",l,c))),a&&i.push(o.expressionStatement(a)),e.replaceWithMultiple(i)}},ForXStatement:function(e){var r=e.node,n=e.scope,i=e.get("left"),s=r.left;if(o.isObjectPattern(s)&&t(i)){var a=n.generateUidIdentifier("ref");return r.left=o.variableDeclaration("var",[o.variableDeclarator(a)]),e.ensureBlock(),void r.body.body.unshift(o.variableDeclaration("var",[o.variableDeclarator(s,a)]))}if(o.isVariableDeclaration(s)){var u=s.declarations[0].id;if(o.isObjectPattern(u)){var l=n.generateUidIdentifier("ref");r.left=o.variableDeclaration(s.kind,[o.variableDeclarator(l,null)]),e.ensureBlock(),r.body.body.unshift(o.variableDeclaration(r.left.kind,[o.variableDeclarator(u,l)]))}}},ObjectExpression:function(e,t){function r(){u.length&&(a.push(o.objectExpression(u)),u=[])}if(n(e.node)){var s=t.opts.useBuiltIns||!1;if("boolean"!=typeof s)throw new Error("transform-object-rest-spread currently only accepts a boolean option for useBuiltIns (defaults to false)");for(var a=[],u=[],l=e.node.properties,c=Array.isArray(l),f=0,l=c?l:(0,i.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if(f=l.next(),f.done)break;p=f.value}var d=p;o.isSpreadProperty(d)?(r(),a.push(d.argument)):u.push(d)}r(),o.isObjectExpression(a[0])||a.unshift(o.objectExpression([]));var h=s?o.memberExpression(o.identifier("Object"),o.identifier("assign")):t.addHelper("extends");e.replaceWith(o.callExpression(h,a))}}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){function t(e,t){for(var r=t.arguments[0].properties,i=!0,s=0;s<r.length;s++){var a=r[s],o=n.toComputedKey(a);if(n.isLiteral(o,{value:"displayName"})){i=!1;break}}i&&r.unshift(n.objectProperty(n.identifier("displayName"),n.stringLiteral(e)))}function r(e){if(!e||!n.isCallExpression(e))return!1;if(!s(e.callee)&&!a(e.callee))return!1;var t=e.arguments;if(1!==t.length)return!1;var r=t[0];return!!n.isObjectExpression(r)}var n=e.types,s=n.buildMatchMemberExpression("React.createClass"),a=function(e){return"createReactClass"===e.name};return{visitor:{ExportDefaultDeclaration:function(e,n){var s=e.node;if(r(s.declaration)){var a=n.file.opts.basename;"index"===a&&(a=i.default.basename(i.default.dirname(n.file.opts.filename))),t(a,s.declaration)}},CallExpression:function(e){var i=e.node;if(r(i)){var s=void 0;e.find(function(e){if(e.isAssignmentExpression())s=e.node.left;else if(e.isObjectProperty())s=e.node.key;else if(e.isVariableDeclarator())s=e.node.id;else if(e.isStatement())return!0;if(s)return!0}),s&&(n.isMemberExpression(s)&&(s=s.property),n.isIdentifier(s)&&t(s.name,i))}}}}};var n=r(19),i=function(e){return e&&e.__esModule?e:{default:e}}(n);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i);t.default=function(e){var t=e.types,r=/\*?\s*@jsx\s+([^\s]+)/,n=(0,l.default)({pre:function(e){var r=e.tagName,n=e.args;t.react.isCompatTag(r)?n.push(t.stringLiteral(r)):n.push(e.tagExpr)},post:function(e,t){e.callee=t.get("jsxIdentifier")()}});return n.Program=function(e,n){for(var i=n.file,a=n.opts.pragma||"React.createElement",o=i.ast.comments,u=Array.isArray(o),l=0,o=u?o:(0,s.default)(o);;){var c;if(u){if(l>=o.length)break;c=o[l++]}else{if(l=o.next(),l.done)break;c=l.value}var f=c,p=r.exec(f.value);if(p){if("React.DOM"===(a=p[1]))throw i.buildCodeFrameError(f,"The @jsx React.DOM pragma has been deprecated as of React 0.12");break}}n.set("jsxIdentifier",function(){return a.split(".").map(function(e){return t.identifier(e)}).reduce(function(e,r){return t.memberExpression(e,r)})})},{inherits:o.default,visitor:n}};var a=r(127),o=n(a),u=r(351),l=n(u);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(){return{visitor:{Program:function(e,t){if(!1!==t.opts.strict&&!1!==t.opts.strictMode){for(var r=e.node,n=r.directives,s=Array.isArray(n),o=0,n=s?n:(0,i.default)(n);;){var u;if(s){if(o>=n.length)break;u=n[o++]}else{if(o=n.next(),o.done)break;u=o.value}if("use strict"===u.value.value)return}e.unshiftContainer("directives",a.directive(a.directiveLiteral("use strict")))}}}}};var s=r(1),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(s);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=["commonjs","amd","umd","systemjs"],n=!1,i="commonjs",s=!1;if(void 0!==t&&(void 0!==t.loose&&(n=t.loose),void 0!==t.modules&&(i=t.modules),void 0!==t.spec&&(s=t.spec)),"boolean"!=typeof n)throw new Error("Preset es2015 'loose' option must be a boolean.");if("boolean"!=typeof s)throw new Error("Preset es2015 'spec' option must be a boolean.");if(!1!==i&&-1===r.indexOf(i))throw new Error("Preset es2015 'modules' option must be 'false' to indicate no modules\nor a module type which be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'");var o={loose:n};return{plugins:[[a.default,{loose:n,spec:s}],u.default,c.default,[p.default,{spec:s}],h.default,[y.default,o],g.default,E.default,A.default,[_.default,o],[C.default,o],P.default,F.default,O.default,[R.default,o],M.default,[L.default,o],U.default,G.default,"commonjs"===i&&[Y.default,o],"systemjs"===i&&[K.default,o],"amd"===i&&[J.default,o],"umd"===i&&[z.default,o],[Q.default,{async:!1,asyncGenerators:!1}]].filter(Boolean)}}t.__esModule=!0;var s=r(83),a=n(s),o=r(76),u=n(o),l=r(75),c=n(l),f=r(68),p=n(f),d=r(69),h=n(d),m=r(71),y=n(m),v=r(78),g=n(v),b=r(80),E=n(b),x=r(130),A=n(x),S=r(72),_=n(S),D=r(74),C=n(D),w=r(82),P=n(w),k=r(85),F=n(k),T=r(66),O=n(T),B=r(81),R=n(B),I=r(79),M=n(I),N=r(73),L=n(N),j=r(70),U=n(j),V=r(84),G=n(V),W=r(77),Y=n(W),q=r(208),K=n(q),H=r(131),J=n(H),X=r(209),z=n(X),$=r(86),Q=n($),Z=i({});t.default=Z,Object.defineProperty(Z,"buildPreset",{configurable:!0,writable:!0,enumerable:!1,value:i}),e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(132),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default={plugins:[i.default]},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(128),s=n(i),a=r(129),o=n(a);t.default={plugins:[s.default,o.default]},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(221),s=n(i),a=r(203),o=n(a),u=r(210),l=n(u);t.default={presets:[s.default],plugins:[o.default,l.default]},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(222),s=n(i),a=r(204),o=n(a),u=r(205),l=n(u),c=r(324),f=n(c);t.default={presets:[s.default],plugins:[f.default,o.default,l.default]},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(128),s=n(i),a=r(129),o=n(a),u=r(132),l=n(u),c=r(213),f=n(c),p=r(327),d=n(p);t.default={plugins:[s.default,o.default,l.default,d.default,f.default]},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(3),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s=function e(t,r){(0,i.default)(this,e),this.file=t,this.options=r};t.default=s,e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.Flow=t.Pure=t.Generated=t.User=t.Var=t.BlockScoped=t.Referenced=t.Scope=t.Expression=t.Statement=t.BindingIdentifier=t.ReferencedMemberExpression=t.ReferencedIdentifier=void 0;var n=r(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(n);t.ReferencedIdentifier={types:["Identifier","JSXIdentifier"],checkPath:function(e,t){var r=e.node,s=e.parent;if(!i.isIdentifier(r,t)&&!i.isJSXMemberExpression(s,t)){if(!i.isJSXIdentifier(r,t))return!1;if(n.react.isCompatTag(r.name))return!1}return i.isReferenced(r,s)}},t.ReferencedMemberExpression={types:["MemberExpression"],checkPath:function(e){var t=e.node,r=e.parent;return i.isMemberExpression(t)&&i.isReferenced(t,r)}},t.BindingIdentifier={types:["Identifier"],checkPath:function(e){var t=e.node,r=e.parent;return i.isIdentifier(t)&&i.isBinding(t,r)}},t.Statement={types:["Statement"],checkPath:function(e){var t=e.node,r=e.parent;if(i.isStatement(t)){if(i.isVariableDeclaration(t)){if(i.isForXStatement(r,{left:t}))return!1;if(i.isForStatement(r,{init:t}))return!1}return!0}return!1}},t.Expression={types:["Expression"],checkPath:function(e){return e.isIdentifier()?e.isReferencedIdentifier():i.isExpression(e.node)}},t.Scope={types:["Scopable"],checkPath:function(e){return i.isScope(e.node,e.parent)}},t.Referenced={checkPath:function(e){return i.isReferenced(e.node,e.parent)}},t.BlockScoped={checkPath:function(e){return i.isBlockScoped(e.node)}},t.Var={types:["VariableDeclaration"],checkPath:function(e){return i.isVar(e.node)}},t.User={checkPath:function(e){return e.node&&!!e.node.loc}},t.Generated={checkPath:function(e){return!e.isUser()}},t.Pure={checkPath:function(e,t){return e.scope.isPure(e.node,t)}},t.Flow={types:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],checkPath:function(e){var t=e.node;return!!i.isFlow(t)||(i.isImportDeclaration(t)?"type"===t.importKind||"typeof"===t.importKind:i.isExportDeclaration(t)?"type"===t.exportKind:!!i.isImportSpecifier(t)&&("type"===t.importKind||"typeof"===t.importKind))}}},function(e,t,r){"use strict";t.__esModule=!0;var n=r(3),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s=function(){function e(t){var r=t.existing,n=t.identifier,s=t.scope,a=t.path,o=t.kind;(0,i.default)(this,e),this.identifier=n,this.scope=s,this.path=a,this.kind=o,this.constantViolations=[],this.constant=!0,this.referencePaths=[],this.referenced=!1,this.references=0,this.clearValue(),r&&(this.constantViolations=[].concat(r.path,r.constantViolations,this.constantViolations))}return e.prototype.deoptValue=function(){this.clearValue(),this.hasDeoptedValue=!0},e.prototype.setValue=function(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)},e.prototype.clearValue=function(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null},e.prototype.reassign=function(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)},e.prototype.reference=function(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))},e.prototype.dereference=function(){this.references--,this.referenced=!!this.references},e}();t.default=s,e.exports=t.default},function(e,t,r){"use strict";function n(e,t,r){for(var n=[].concat(e),i=(0,a.default)(null);n.length;){var s=n.shift();if(s){var o=u.getBindingIdentifiers.keys[s.type];if(u.isIdentifier(s))if(t){var l=i[s.name]=i[s.name]||[];l.push(s)}else i[s.name]=s;else if(u.isExportDeclaration(s))u.isDeclaration(s.declaration)&&n.push(s.declaration);else{if(r){if(u.isFunctionDeclaration(s)){n.push(s.id);continue}if(u.isFunctionExpression(s))continue}if(o)for(var c=0;c<o.length;c++){var f=o[c];s[f]&&(n=n.concat(s[f]))}}}}return i}function i(e,t){return n(e,t,!0)}t.__esModule=!0;var s=r(9),a=function(e){return e&&e.__esModule?e:{default:e}}(s);t.getBindingIdentifiers=n,t.getOuterBindingIdentifiers=i;var o=r(1),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(o);n.keys={DeclareClass:["id"],DeclareFunction:["id"],DeclareModule:["id"],DeclareVariable:["id"],InterfaceDeclaration:["id"],TypeAlias:["id"],OpaqueType:["id"],CatchClause:["param"],LabeledStatement:["label"],UnaryExpression:["argument"],AssignmentExpression:["left"],ImportSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportDefaultSpecifier:["local"],ImportDeclaration:["specifiers"],ExportSpecifier:["exported"],ExportNamespaceSpecifier:["exported"],ExportDefaultSpecifier:["exported"],FunctionDeclaration:["id","params"],FunctionExpression:["id","params"],ClassDeclaration:["id"],ClassExpression:["id"],RestElement:["argument"],UpdateExpression:["argument"],RestProperty:["argument"],ObjectProperty:["value"],AssignmentPattern:["left"],ArrayPattern:["elements"],ObjectPattern:["properties"],VariableDeclaration:["declarations"],VariableDeclarator:["id"]}},function(e,t){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,r){"use strict";var n=r(138),i=r(13)("toStringTag"),s="Arguments"==n(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,r,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=a(t=Object(e),i))?r:s?n(t):"Object"==(o=n(t))&&"function"==typeof t.callee?"Arguments":o}},function(e,t,r){"use strict";var n=r(146),i=r(57).getWeak,s=r(21),a=r(16),o=r(136),u=r(55),l=r(137),c=r(28),f=r(58),p=l(5),d=l(6),h=0,m=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},v=function(e,t){return p(e.a,function(e){return e[0]===t})};y.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var r=v(this,e);r?r[1]=t:this.a.push([e,t])},delete:function(e){var t=d(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,r,s){var l=e(function(e,n){o(e,l,t,"_i"),e._t=t,e._i=h++,e._l=void 0,void 0!=n&&u(n,r,e[s],e)});return n(l.prototype,{delete:function(e){if(!a(e))return!1;var r=i(e);return!0===r?m(f(this,t)).delete(e):r&&c(r,this._i)&&delete r[this._i]},has:function(e){if(!a(e))return!1;var r=i(e);return!0===r?m(f(this,t)).has(e):r&&c(r,this._i)}}),l},def:function(e,t,r){var n=i(s(t),!0);return!0===n?m(e).set(t,r):n[e._i]=r,e},ufstore:m}},function(e,t,r){"use strict";var n=r(16),i=r(15).document,s=n(i)&&n(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},function(e,t,r){"use strict";e.exports=!r(22)&&!r(27)(function(){return 7!=Object.defineProperty(r(230)("div"),"a",{get:function(){return 7}}).a})},function(e,t,r){"use strict";var n=r(138);e.exports=Array.isArray||function(e){return"Array"==n(e)}},function(e,t){"use strict";e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,r){"use strict";var n=r(44),i=r(145),s=r(91),a=r(94),o=r(142),u=Object.assign;e.exports=!u||r(27)(function(){var e={},t={},r=Symbol(),n="abcdefghijklmnopqrst";return e[r]=7,n.split("").forEach(function(e){t[e]=e}),7!=u({},e)[r]||Object.keys(u({},t)).join("")!=n})?function(e,t){for(var r=a(e),u=arguments.length,l=1,c=i.f,f=s.f;u>l;)for(var p,d=o(arguments[l++]),h=c?n(d).concat(c(d)):n(d),m=h.length,y=0;m>y;)f.call(d,p=h[y++])&&(r[p]=d[p]);return r}:u},function(e,t,r){"use strict";var n=r(91),i=r(92),s=r(37),a=r(154),o=r(28),u=r(231),l=Object.getOwnPropertyDescriptor;t.f=r(22)?l:function(e,t){if(e=s(e),t=a(t,!0),u)try{return l(e,t)}catch(e){}if(o(e,t))return i(!n.f.call(e,t),e[t])}},function(e,t,r){"use strict";var n=r(237),i=r(141).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,i)}},function(e,t,r){"use strict";var n=r(28),i=r(37),s=r(420)(!1),a=r(150)("IE_PROTO");e.exports=function(e,t){var r,o=i(e),u=0,l=[];for(r in o)r!=a&&n(o,r)&&l.push(r);for(;t.length>u;)n(o,r=t[u++])&&(~s(l,r)||l.push(r));return l}},function(e,t,r){"use strict";var n=r(228),i=r(13)("iterator"),s=r(56);e.exports=r(5).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||s[n(e)]}},function(e,t,r){(function(n){"use strict";function i(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function s(e){var r=this.useColors;if(e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff),r){var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var i=0,s=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&(i++,"%c"===e&&(s=i))}),e.splice(s,0,n)}}function a(){return"object"===("undefined"==typeof console?"undefined":l(console))&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function o(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}}function u(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==n&&"env"in n&&(e=n.env.DEBUG),e}var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t=e.exports=r(458),t.log=a,t.formatArgs=s,t.save=o,t.load=u,t.useColors=i,t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(u())}).call(t,r(8))},function(e,t){"use strict";!function(){function t(e){return 48<=e&&e<=57}function r(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70}function n(e){return e>=48&&e<=55}function i(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&d.indexOf(e)>=0}function s(e){return 10===e||13===e||8232===e||8233===e}function a(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}function o(e){return e<128?h[e]:p.NonAsciiIdentifierStart.test(a(e))}function u(e){return e<128?m[e]:p.NonAsciiIdentifierPart.test(a(e))}function l(e){return e<128?h[e]:f.NonAsciiIdentifierStart.test(a(e))}function c(e){return e<128?m[e]:f.NonAsciiIdentifierPart.test(a(e))}var f,p,d,h,m,y;for(p={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},f={
NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDD0-\uDDDA\uDE00-\uDE11\uDE13-\uDE37\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF01-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},d=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],h=new Array(128),y=0;y<128;++y)h[y]=y>=97&&y<=122||y>=65&&y<=90||36===y||95===y;for(m=new Array(128),y=0;y<128;++y)m[y]=y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||36===y||95===y;e.exports={isDecimalDigit:t,isHexDigit:r,isOctalDigit:n,isWhiteSpace:i,isLineTerminator:s,isIdentifierStartES5:o,isIdentifierPartES5:u,isIdentifierStartES6:l,isIdentifierPartES6:c}}()},function(e,t,r){"use strict";var n=r(38),i=r(17),s=n(i,"Set");e.exports=s},function(e,t,r){"use strict";function n(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new i;++t<r;)this.add(e[t])}var i=r(160),s=r(561),a=r(562);n.prototype.add=n.prototype.push=s,n.prototype.has=a,e.exports=n},function(e,t,r){"use strict";var n=r(17),i=n.Uint8Array;e.exports=i},function(e,t){"use strict";function r(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}e.exports=r},function(e,t,r){"use strict";function n(e,t){var r=a(e),n=!r&&s(e),c=!r&&!n&&o(e),p=!r&&!n&&!c&&l(e),d=r||n||c||p,h=d?i(e.length,String):[],m=h.length;for(var y in e)!t&&!f.call(e,y)||d&&("length"==y||c&&("offset"==y||"parent"==y)||p&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||u(y,m))||h.push(y);return h}var i=r(513),s=r(112),a=r(6),o=r(113),u=r(171),l=r(177),c=Object.prototype,f=c.hasOwnProperty;e.exports=n},function(e,t){"use strict";function r(e,t,r,n){var i=-1,s=null==e?0:e.length;for(n&&s&&(r=e[++i]);++i<s;)r=t(r,e[i],i,e);return r}e.exports=r},function(e,t,r){"use strict";function n(e,t,r){(void 0===r||s(e[t],r))&&(void 0!==r||t in e)||i(e,t,r)}var i=r(163),s=r(46);e.exports=n},function(e,t,r){"use strict";var n=r(527),i=n();e.exports=i},function(e,t,r){"use strict";function n(e,t){t=i(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[s(t[r++])];return r&&r==n?e:void 0}var i=r(255),s=r(108);e.exports=n},function(e,t,r){"use strict";function n(e,t,r){var n=t(e);return s(e)?n:i(n,r(e))}var i=r(161),s=r(6);e.exports=n},function(e,t,r){"use strict";function n(e,t,r,a,o){return e===t||(null==e||null==t||!s(e)&&!s(t)?e!==e&&t!==t:i(e,t,r,a,n,o))}var i=r(494),s=r(25);e.exports=n},function(e,t,r){"use strict";function n(e,t){var r=-1,n=s(e)?Array(e.length):[];return i(e,function(e,i,s){n[++r]=t(e,i,s)}),n}var i=r(487),s=r(24);e.exports=n},function(e,t,r){"use strict";function n(e){if("string"==typeof e)return e;if(a(e))return s(e,n)+"";if(o(e))return c?c.call(e):"";var t=e+"";return"0"==t&&1/e==-u?"-0":t}var i=r(45),s=r(60),a=r(6),o=r(62),u=1/0,l=i?i.prototype:void 0,c=l?l.toString:void 0;e.exports=n},function(e,t){"use strict";function r(e,t){return e.has(t)}e.exports=r},function(e,t,r){"use strict";function n(e,t){return i(e)?e:s(e,t)?[e]:a(o(e))}var i=r(6),s=r(173),a=r(571),o=r(114);e.exports=n},function(e,t,r){(function(e){"use strict";function n(e,t){if(t)return e.slice();var r=e.length,n=c?c(r):new e.constructor(r);return e.copy(n),n}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=r(17),a="object"==i(t)&&t&&!t.nodeType&&t,o=a&&"object"==i(e)&&e&&!e.nodeType&&e,u=o&&o.exports===a,l=u?s.Buffer:void 0,c=l?l.allocUnsafe:void 0;e.exports=n}).call(t,r(39)(e))},function(e,t,r){"use strict";function n(e,t){var r=t?i(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var i=r(167);e.exports=n},function(e,t,r){"use strict";function n(e){return function(t,r,n){var o=Object(t);if(!s(t)){var u=i(r,3);t=a(t),r=function(e){return u(o[e],e,o)}}var l=e(t,r,n);return l>-1?o[u?t[l]:l]:void 0}}var i=r(61),s=r(24),a=r(32);e.exports=n},function(e,t,r){"use strict";var n=r(38),i=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},function(e,t,r){"use strict";function n(e,t,r,n,l,c){var f=r&o,p=e.length,d=t.length;if(p!=d&&!(f&&d>p))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var m=-1,y=!0,v=r&u?new i:void 0;for(c.set(e,t),c.set(t,e);++m<p;){var g=e[m],b=t[m];if(n)var E=f?n(b,g,m,t,e,c):n(g,b,m,e,t,c);if(void 0!==E){if(E)continue;y=!1;break}if(v){if(!s(t,function(e,t){if(!a(v,t)&&(g===e||l(g,e,r,n,c)))return v.push(t)})){y=!1;break}}else if(g!==b&&!l(g,b,r,n,c)){y=!1;break}}return c.delete(e),c.delete(t),y}var i=r(242),s=r(482),a=r(254),o=1,u=2;e.exports=n},function(e,t){(function(t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n="object"==(void 0===t?"undefined":r(t))&&t&&t.Object===Object&&t;e.exports=n}).call(t,function(){return this}())},function(e,t,r){"use strict";function n(e){return i(e,a,s)}var i=r(250),s=r(170),a=r(32);e.exports=n},function(e,t,r){"use strict";var n=r(161),i=r(169),s=r(170),a=r(279),o=Object.getOwnPropertySymbols,u=o?function(e){for(var t=[];e;)n(t,s(e)),e=i(e);return t}:a;e.exports=u},function(e,t,r){"use strict";var n=r(472),i=r(159),s=r(474),a=r(241),o=r(475),u=r(30),l=r(272),c=l(n),f=l(i),p=l(s),d=l(a),h=l(o),m=u;(n&&"[object DataView]"!=m(new n(new ArrayBuffer(1)))||i&&"[object Map]"!=m(new i)||s&&"[object Promise]"!=m(s.resolve())||a&&"[object Set]"!=m(new a)||o&&"[object WeakMap]"!=m(new o))&&(m=function(e){var t=u(e),r="[object Object]"==t?e.constructor:void 0,n=r?l(r):"";if(n)switch(n){case c:return"[object DataView]";case f:return"[object Map]";case p:return"[object Promise]";case d:return"[object Set]";case h:return"[object WeakMap]"}return t}),e.exports=m},function(e,t,r){"use strict";function n(e,t,r){t=i(t,e);for(var n=-1,c=t.length,f=!1;++n<c;){var p=l(t[n]);if(!(f=null!=e&&r(e,p)))break;e=e[p]}return f||++n!=c?f:!!(c=null==e?0:e.length)&&u(c)&&o(p,c)&&(a(e)||s(e))}var i=r(255),s=r(112),a=r(6),o=r(171),u=r(176),l=r(108);e.exports=n},function(e,t,r){"use strict";function n(e){return"function"!=typeof e.constructor||a(e)?{}:i(s(e))}var i=r(486),s=r(169),a=r(105);e.exports=n},function(e,t,r){"use strict";function n(e){return e===e&&!i(e)}var i=r(18);e.exports=n},function(e,t){"use strict";function r(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}e.exports=r},function(e,t){"use strict";function r(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}e.exports=r},function(e,t,r){(function(e){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=r(261),s="object"==n(t)&&t&&!t.nodeType&&t,a=s&&"object"==n(e)&&e&&!e.nodeType&&e,o=a&&a.exports===s,u=o&&i.process,l=function(){try{return u&&u.binding&&u.binding("util")}catch(e){}}();e.exports=l}).call(t,r(39)(e))},function(e,t){"use strict";function r(e,t){return function(r){return e(t(r))}}e.exports=r},function(e,t){"use strict";function r(e){if(null!=e){try{return i.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var n=Function.prototype,i=n.toString;e.exports=r},function(e,t,r){"use strict";var n=r(244),i=r(573),s=r(101),a=r(529),o=s(function(e){return e.push(void 0,a),n(i,void 0,e)});e.exports=o},function(e,t,r){"use strict";function n(e,t){return null!=e&&s(e,t,i)}var i=r(490),s=r(265);e.exports=n},function(e,t,r){"use strict";function n(e){if(!a(e)||i(e)!=o)return!1;var t=s(e);if(null===t)return!0;var r=f.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&c.call(r)==p}var i=r(30),s=r(169),a=r(25),o="[object Object]",u=Function.prototype,l=Object.prototype,c=u.toString,f=l.hasOwnProperty,p=c.call(Object);e.exports=n},function(e,t,r){"use strict";var n=r(498),i=r(102),s=r(270),a=s&&s.isRegExp,o=a?i(a):n;e.exports=o},function(e,t,r){"use strict";var n=r(101),i=r(593),s=n(i);e.exports=s},function(e,t,r){"use strict";function n(e,t,r){return t=(r?s(e,t,r):void 0===t)?1:a(t),i(o(e),t)}var i=r(510),s=r(172),a=r(48),o=r(114);e.exports=n},function(e,t){"use strict";function r(){return[]}e.exports=r},function(e,t,r){"use strict";function n(e){return null==e?[]:i(e,s(e))}var i=r(515),s=r(32);e.exports=n},function(e,t){"use strict";function r(e,t,r){if(c)try{c.call(l,e,t,{value:r})}catch(n){e[t]=r}else e[t]=r}function n(e){return e&&(r(e,"call",e.call),r(e,"apply",e.apply)),e}function i(e){return f?f.call(l,e):(m.prototype=e||null,new m)}function s(){do{var e=a(h.call(d.call(y(),36),2))}while(p.call(v,e));return v[e]=e}function a(e){var t={};return t[e]=!0,Object.keys(t)[0]}function o(e){return i(null)}function u(e){function t(t){function n(r,n){if(r===u)return n?i=null:i||(i=e(t))}var i;r(t,a,n)}function n(e){return p.call(e,a)||t(e),e[a](u)}var a=s(),u=i(null);return e=e||o,n.forget=function(e){p.call(e,a)&&e[a](u,!0)},n}var l=Object,c=Object.defineProperty,f=Object.create;n(c),n(f);var p=n(Object.prototype.hasOwnProperty),d=n(Number.prototype.toString),h=n(String.prototype.slice),m=function(){},y=Math.random,v=i(null);t.makeUniqueKey=s;var g=Object.getOwnPropertyNames;Object.getOwnPropertyNames=function(e){for(var t=g(e),r=0,n=0,i=t.length;r<i;++r)p.call(v,t[r])||(r>n&&(t[n]=t[r]),++n);return t.length=n,t},t.makeAccessor=u},function(e,t,r){var n;(function(e,i){"use strict";var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(a){var o="object"==s(t)&&t,u="object"==s(e)&&e&&e.exports==o&&e,l="object"==(void 0===i?"undefined":s(i))&&i;l.global!==l&&l.window!==l||(a=l);var c={rangeOrder:"A range’s `stop` value must be greater than or equal to the `start` value.",codePointRange:"Invalid code point value. Code points range from U+000000 to U+10FFFF."},f=/\\x00([^0123456789]|$)/g,p={},d=p.hasOwnProperty,h=function(e,t){for(var r=-1,n=e.length;++r<n;)t(e[r],r)},m=p.toString,y=function(e){return"[object Array]"==m.call(e)},v=function(e){return"number"==typeof e||"[object Number]"==m.call(e)},g=function(e,t){var r=String(e);return r.length<t?("0000"+r).slice(-t):r},b=function(e){return Number(e).toString(16).toUpperCase()},E=[].slice,x=function(e){for(var t,r=-1,n=e.length,i=n-1,s=[],a=!0,o=0;++r<n;)if(t=e[r],a)s.push(t),o=t,a=!1;else if(t==o+1){if(r!=i){o=t;continue}a=!0,s.push(t+1)}else s.push(o+1,t),o=t;return a||s.push(t+1),s},A=function(e,t){for(var r,n,i=0,s=e.length;i<s;){if(r=e[i],n=e[i+1],t>=r&&t<n)return t==r?n==r+1?(e.splice(i,2),e):(e[i]=t+1,e):t==n-1?(e[i+1]=t,e):(e.splice(i,2,r,t,t+1,n),e);i+=2}return e},S=function(e,t,r){if(r<t)throw Error(c.rangeOrder);for(var n,i,s=0;s<e.length;){if(n=e[s],i=e[s+1]-1,n>r)return e;if(t<=n&&r>=i)e.splice(s,2);else{if(t>=n&&r<i)return t==n?(e[s]=r+1,e[s+1]=i+1,e):(e.splice(s,2,n,t,r+1,i+1),e);if(t>=n&&t<=i)e[s+1]=t;else if(r>=n&&r<=i)return e[s]=r+1,e;s+=2}}return e},_=function(e,t){var r,n,i=0,s=null,a=e.length;if(t<0||t>1114111)throw RangeError(c.codePointRange);for(;i<a;){if(r=e[i],n=e[i+1],t>=r&&t<n)return e;if(t==r-1)return e[i]=t,e;if(r>t)return e.splice(null!=s?s+2:0,0,t,t+1),e;if(t==n)return t+1==e[i+2]?(e.splice(i,4,r,e[i+3]),e):(e[i+1]=t+1,e);s=i,i+=2}return e.push(t,t+1),e},D=function(e,t){for(var r,n,i=0,s=e.slice(),a=t.length;i<a;)r=t[i],n=t[i+1]-1,s=r==n?_(s,r):w(s,r,n),i+=2;return s},C=function(e,t){for(var r,n,i=0,s=e.slice(),a=t.length;i<a;)r=t[i],n=t[i+1]-1,s=r==n?A(s,r):S(s,r,n),i+=2;return s},w=function(e,t,r){if(r<t)throw Error(c.rangeOrder);if(t<0||t>1114111||r<0||r>1114111)throw RangeError(c.codePointRange);for(var n,i,s=0,a=!1,o=e.length;s<o;){if(n=e[s],i=e[s+1],a){if(n==r+1)return e.splice(s-1,2),e;if(n>r)return e;n>=t&&n<=r&&(i>t&&i-1<=r?(e.splice(s,2),s-=2):(e.splice(s-1,2),s-=2))}else{if(n==r+1)return e[s]=t,e;if(n>r)return e.splice(s,0,t,r+1),e;if(t>=n&&t<i&&r+1<=i)return e;t>=n&&t<i||i==t?(e[s+1]=r+1,a=!0):t<=n&&r+1>=i&&(e[s]=t,e[s+1]=r+1,a=!0)}s+=2}return a||e.push(t,r+1),e},P=function(e,t){var r=0,n=e.length,i=e[r],s=e[n-1];if(n>=2&&(t<i||t>s))return!1;for(;r<n;){if(i=e[r],s=e[r+1],t>=i&&t<s)return!0;r+=2}return!1},k=function(e,t){for(var r,n=0,i=t.length,s=[];n<i;)r=t[n],P(e,r)&&s.push(r),++n;return x(s)},F=function(e){return!e.length},T=function(e){return 2==e.length&&e[0]+1==e[1]},O=function(e){for(var t,r,n=0,i=[],s=e.length;n<s;){for(t=e[n],r=e[n+1];t<r;)i.push(t),++t;n+=2}return i},B=Math.floor,R=function(e){return parseInt(B((e-65536)/1024)+55296,10)},I=function(e){return parseInt((e-65536)%1024+56320,10)},M=String.fromCharCode,N=function(e){return 9==e?"\\t":10==e?"\\n":12==e?"\\f":13==e?"\\r":92==e?"\\\\":36==e||e>=40&&e<=43||45==e||46==e||63==e||e>=91&&e<=94||e>=123&&e<=125?"\\"+M(e):e>=32&&e<=126?M(e):e<=255?"\\x"+g(b(e),2):"\\u"+g(b(e),4)},L=function(e){return e<=65535?N(e):"\\u{"+e.toString(16).toUpperCase()+"}"},j=function(e){var t,r=e.length,n=e.charCodeAt(0);return n>=55296&&n<=56319&&r>1?(t=e.charCodeAt(1),1024*(n-55296)+t-56320+65536):n},U=function(e){var t,r,n="",i=0,s=e.length;if(T(e))return N(e[0]);for(;i<s;)t=e[i],r=e[i+1]-1,n+=t==r?N(t):t+1==r?N(t)+N(r):N(t)+"-"+N(r),i+=2;return"["+n+"]"},V=function(e){var t,r,n="",i=0,s=e.length;if(T(e))return L(e[0]);for(;i<s;)t=e[i],r=e[i+1]-1,n+=t==r?L(t):t+1==r?L(t)+L(r):L(t)+"-"+L(r),i+=2;return"["+n+"]"},G=function(e){for(var t,r,n=[],i=[],s=[],a=[],o=0,u=e.length;o<u;)t=e[o],r=e[o+1]-1,t<55296?(r<55296&&s.push(t,r+1),r>=55296&&r<=56319&&(s.push(t,55296),n.push(55296,r+1)),r>=56320&&r<=57343&&(s.push(t,55296),n.push(55296,56320),i.push(56320,r+1)),r>57343&&(s.push(t,55296),n.push(55296,56320),i.push(56320,57344),r<=65535?s.push(57344,r+1):(s.push(57344,65536),a.push(65536,r+1)))):t>=55296&&t<=56319?(r>=55296&&r<=56319&&n.push(t,r+1),r>=56320&&r<=57343&&(n.push(t,56320),i.push(56320,r+1)),r>57343&&(n.push(t,56320),i.push(56320,57344),r<=65535?s.push(57344,r+1):(s.push(57344,65536),a.push(65536,r+1)))):t>=56320&&t<=57343?(r>=56320&&r<=57343&&i.push(t,r+1),r>57343&&(i.push(t,57344),r<=65535?s.push(57344,r+1):(s.push(57344,65536),a.push(65536,r+1)))):t>57343&&t<=65535?r<=65535?s.push(t,r+1):(s.push(t,65536),a.push(65536,r+1)):a.push(t,r+1),o+=2;return{loneHighSurrogates:n,loneLowSurrogates:i,bmp:s,astral:a}},W=function(e){for(var t,r,n,i,s,a,o=[],u=[],l=!1,c=-1,f=e.length;++c<f;)if(t=e[c],r=e[c+1]){for(n=t[0],i=t[1],s=r[0],a=r[1],u=i;s&&n[0]==s[0]&&n[1]==s[1];)u=T(a)?_(u,a[0]):w(u,a[0],a[1]-1),++c,t=e[c],n=t[0],i=t[1],r=e[c+1],s=r&&r[0],a=r&&r[1],l=!0;o.push([n,l?u:i]),l=!1}else o.push(t);return Y(o)},Y=function(e){if(1==e.length)return e;for(var t=-1,r=-1;++t<e.length;){var n=e[t],i=n[1],s=i[0],a=i[1];for(r=t;++r<e.length;){var o=e[r],u=o[1],l=u[0],c=u[1];s==l&&a==c&&(T(o[0])?n[0]=_(n[0],o[0][0]):n[0]=w(n[0],o[0][0],o[0][1]-1),e.splice(r,1),--r)}}return e},q=function(e){if(!e.length)return[];for(var t,r,n,i,s,a,o=0,u=[],l=e.length;o<l;){t=e[o],r=e[o+1]-1,n=R(t),i=I(t),s=R(r),a=I(r);var c=56320==i,f=57343==a,p=!1;n==s||c&&f?(u.push([[n,s+1],[i,a+1]]),p=!0):u.push([[n,n+1],[i,57344]]),!p&&n+1<s&&(f?(u.push([[n+1,s+1],[56320,a+1]]),p=!0):u.push([[n+1,s],[56320,57344]])),p||u.push([[s,s+1],[56320,a+1]]),o+=2}return W(u)},K=function(e){var t=[];return h(e,function(e){var r=e[0],n=e[1];t.push(U(r)+U(n))}),t.join("|")},H=function(e,t,r){if(r)return V(e);var n=[],i=G(e),s=i.loneHighSurrogates,a=i.loneLowSurrogates,o=i.bmp,u=i.astral,l=!F(s),c=!F(a),f=q(u);return t&&(o=D(o,s),l=!1,o=D(o,a),c=!1),F(o)||n.push(U(o)),f.length&&n.push(K(f)),l&&n.push(U(s)+"(?![\\uDC00-\\uDFFF])"),c&&n.push("(?:[^\\uD800-\\uDBFF]|^)"+U(a)),n.join("|")},J=function e(t){return arguments.length>1&&(t=E.call(arguments)),this instanceof e?(this.data=[],t?this.add(t):this):(new e).add(t)};J.version="1.3.2";var X=J.prototype;!function(e,t){var r;for(r in t)d.call(t,r)&&(e[r]=t[r])}(X,{add:function(e){var t=this;return null==e?t:e instanceof J?(t.data=D(t.data,e.data),t):(arguments.length>1&&(e=E.call(arguments)),y(e)?(h(e,function(e){t.add(e)}),t):(t.data=_(t.data,v(e)?e:j(e)),t))},remove:function(e){var t=this;return null==e?t:e instanceof J?(t.data=C(t.data,e.data),t):(arguments.length>1&&(e=E.call(arguments)),y(e)?(h(e,function(e){t.remove(e)}),t):(t.data=A(t.data,v(e)?e:j(e)),t))},addRange:function(e,t){var r=this;return r.data=w(r.data,v(e)?e:j(e),v(t)?t:j(t)),r},removeRange:function(e,t){var r=this,n=v(e)?e:j(e),i=v(t)?t:j(t);return r.data=S(r.data,n,i),r},intersection:function(e){var t=this,r=e instanceof J?O(e.data):e;return t.data=k(t.data,r),t},contains:function(e){return P(this.data,v(e)?e:j(e))},clone:function(){var e=new J;return e.data=this.data.slice(0),e},toString:function(e){var t=H(this.data,!!e&&e.bmpOnly,!!e&&e.hasUnicodeFlag);return t?t.replace(f,"\\0$1"):"[]"},toRegExp:function(e){var t=this.toString(e&&-1!=e.indexOf("u")?{hasUnicodeFlag:!0}:null);return RegExp(t,e||"")},valueOf:function(){return O(this.data)}}),X.toArray=X.valueOf,"object"==s(r(49))&&r(49)?void 0!==(n=function(){return J}.call(t,r,t,e))&&(e.exports=n):o&&!o.nodeType?u?u.exports=J:o.regenerate=J:a.regenerate=J}(void 0)}).call(t,r(39)(e),function(){return this}())},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e){p.default.ok(this instanceof s),h.assertIdentifier(e),this.nextTempId=0,this.contextId=e,this.listing=[],this.marked=[!0],this.finalLoc=a(),this.tryEntries=[],this.leapManager=new y.LeapManager(this)}function a(){return h.numericLiteral(-1)}function o(e){return new Error("all declarations should have been transformed into assignments before the Exploder began its work: "+(0,c.default)(e))}function u(e){var t=e.type
;return"normal"===t?!x.call(e,"target"):"break"===t||"continue"===t?!x.call(e,"value")&&h.isLiteral(e.target):("return"===t||"throw"===t)&&(x.call(e,"value")&&!x.call(e,"target"))}var l=r(35),c=i(l),f=r(64),p=i(f),d=r(1),h=n(d),m=r(607),y=n(m),v=r(608),g=n(v),b=r(116),E=n(b),x=Object.prototype.hasOwnProperty,A=s.prototype;t.Emitter=s,A.mark=function(e){h.assertLiteral(e);var t=this.listing.length;return-1===e.value?e.value=t:p.default.strictEqual(e.value,t),this.marked[t]=!0,e},A.emit=function(e){h.isExpression(e)&&(e=h.expressionStatement(e)),h.assertStatement(e),this.listing.push(e)},A.emitAssign=function(e,t){return this.emit(this.assign(e,t)),e},A.assign=function(e,t){return h.expressionStatement(h.assignmentExpression("=",e,t))},A.contextProperty=function(e,t){return h.memberExpression(this.contextId,t?h.stringLiteral(e):h.identifier(e),!!t)},A.stop=function(e){e&&this.setReturnValue(e),this.jump(this.finalLoc)},A.setReturnValue=function(e){h.assertExpression(e.value),this.emitAssign(this.contextProperty("rval"),this.explodeExpression(e))},A.clearPendingException=function(e,t){h.assertLiteral(e);var r=h.callExpression(this.contextProperty("catch",!0),[e]);t?this.emitAssign(t,r):this.emit(r)},A.jump=function(e){this.emitAssign(this.contextProperty("next"),e),this.emit(h.breakStatement())},A.jumpIf=function(e,t){h.assertExpression(e),h.assertLiteral(t),this.emit(h.ifStatement(e,h.blockStatement([this.assign(this.contextProperty("next"),t),h.breakStatement()])))},A.jumpIfNot=function(e,t){h.assertExpression(e),h.assertLiteral(t);var r=void 0;r=h.isUnaryExpression(e)&&"!"===e.operator?e.argument:h.unaryExpression("!",e),this.emit(h.ifStatement(r,h.blockStatement([this.assign(this.contextProperty("next"),t),h.breakStatement()])))},A.makeTempVar=function(){return this.contextProperty("t"+this.nextTempId++)},A.getContextFunction=function(e){return h.functionExpression(e||null,[this.contextId],h.blockStatement([this.getDispatchLoop()]),!1,!1)},A.getDispatchLoop=function(){var e=this,t=[],r=void 0,n=!1;return e.listing.forEach(function(i,s){e.marked.hasOwnProperty(s)&&(t.push(h.switchCase(h.numericLiteral(s),r=[])),n=!1),n||(r.push(i),h.isCompletionStatement(i)&&(n=!0))}),this.finalLoc.value=this.listing.length,t.push(h.switchCase(this.finalLoc,[]),h.switchCase(h.stringLiteral("end"),[h.returnStatement(h.callExpression(this.contextProperty("stop"),[]))])),h.whileStatement(h.numericLiteral(1),h.switchStatement(h.assignmentExpression("=",this.contextProperty("prev"),this.contextProperty("next")),t))},A.getTryLocsList=function(){if(0===this.tryEntries.length)return null;var e=0;return h.arrayExpression(this.tryEntries.map(function(t){var r=t.firstLoc.value;p.default.ok(r>=e,"try entries out of order"),e=r;var n=t.catchEntry,i=t.finallyEntry,s=[t.firstLoc,n?n.firstLoc:null];return i&&(s[2]=i.firstLoc,s[3]=i.afterLoc),h.arrayExpression(s)}))},A.explode=function(e,t){var r=e.node,n=this;if(h.assertNode(r),h.isDeclaration(r))throw o(r);if(h.isStatement(r))return n.explodeStatement(e);if(h.isExpression(r))return n.explodeExpression(e,t);switch(r.type){case"Program":return e.get("body").map(n.explodeStatement,n);case"VariableDeclarator":throw o(r);case"Property":case"SwitchCase":case"CatchClause":throw new Error(r.type+" nodes should be handled by their parents");default:throw new Error("unknown Node of type "+(0,c.default)(r.type))}},A.explodeStatement=function(e,t){var r=e.node,n=this,i=void 0,s=void 0,o=void 0;if(h.assertStatement(r),t?h.assertIdentifier(t):t=null,h.isBlockStatement(r))return void e.get("body").forEach(function(e){n.explodeStatement(e)});if(!g.containsLeap(r))return void n.emit(r);switch(r.type){case"ExpressionStatement":n.explodeExpression(e.get("expression"),!0);break;case"LabeledStatement":s=a(),n.leapManager.withEntry(new y.LabeledEntry(s,r.label),function(){n.explodeStatement(e.get("body"),r.label)}),n.mark(s);break;case"WhileStatement":i=a(),s=a(),n.mark(i),n.jumpIfNot(n.explodeExpression(e.get("test")),s),n.leapManager.withEntry(new y.LoopEntry(s,i,t),function(){n.explodeStatement(e.get("body"))}),n.jump(i),n.mark(s);break;case"DoWhileStatement":var u=a(),l=a();s=a(),n.mark(u),n.leapManager.withEntry(new y.LoopEntry(s,l,t),function(){n.explode(e.get("body"))}),n.mark(l),n.jumpIf(n.explodeExpression(e.get("test")),u),n.mark(s);break;case"ForStatement":o=a();var f=a();s=a(),r.init&&n.explode(e.get("init"),!0),n.mark(o),r.test&&n.jumpIfNot(n.explodeExpression(e.get("test")),s),n.leapManager.withEntry(new y.LoopEntry(s,f,t),function(){n.explodeStatement(e.get("body"))}),n.mark(f),r.update&&n.explode(e.get("update"),!0),n.jump(o),n.mark(s);break;case"TypeCastExpression":return n.explodeExpression(e.get("expression"));case"ForInStatement":o=a(),s=a();var d=n.makeTempVar();n.emitAssign(d,h.callExpression(E.runtimeProperty("keys"),[n.explodeExpression(e.get("right"))])),n.mark(o);var m=n.makeTempVar();n.jumpIf(h.memberExpression(h.assignmentExpression("=",m,h.callExpression(d,[])),h.identifier("done"),!1),s),n.emitAssign(r.left,h.memberExpression(m,h.identifier("value"),!1)),n.leapManager.withEntry(new y.LoopEntry(s,o,t),function(){n.explodeStatement(e.get("body"))}),n.jump(o),n.mark(s);break;case"BreakStatement":n.emitAbruptCompletion({type:"break",target:n.leapManager.getBreakLoc(r.label)});break;case"ContinueStatement":n.emitAbruptCompletion({type:"continue",target:n.leapManager.getContinueLoc(r.label)});break;case"SwitchStatement":var v=n.emitAssign(n.makeTempVar(),n.explodeExpression(e.get("discriminant")));s=a();for(var b=a(),x=b,A=[],_=r.cases||[],D=_.length-1;D>=0;--D){var C=_[D];h.assertSwitchCase(C),C.test?x=h.conditionalExpression(h.binaryExpression("===",v,C.test),A[D]=a(),x):A[D]=b}var w=e.get("discriminant");E.replaceWithOrRemove(w,x),n.jump(n.explodeExpression(w)),n.leapManager.withEntry(new y.SwitchEntry(s),function(){e.get("cases").forEach(function(e){var t=e.key;n.mark(A[t]),e.get("consequent").forEach(function(e){n.explodeStatement(e)})})}),n.mark(s),-1===b.value&&(n.mark(b),p.default.strictEqual(s.value,b.value));break;case"IfStatement":var P=r.alternate&&a();s=a(),n.jumpIfNot(n.explodeExpression(e.get("test")),P||s),n.explodeStatement(e.get("consequent")),P&&(n.jump(s),n.mark(P),n.explodeStatement(e.get("alternate"))),n.mark(s);break;case"ReturnStatement":n.emitAbruptCompletion({type:"return",value:n.explodeExpression(e.get("argument"))});break;case"WithStatement":throw new Error("WithStatement not supported in generator functions.");case"TryStatement":s=a();var k=r.handler,F=k&&a(),T=F&&new y.CatchEntry(F,k.param),O=r.finalizer&&a(),B=O&&new y.FinallyEntry(O,s),R=new y.TryEntry(n.getUnmarkedCurrentLoc(),T,B);n.tryEntries.push(R),n.updateContextPrevLoc(R.firstLoc),n.leapManager.withEntry(R,function(){if(n.explodeStatement(e.get("block")),F){O?n.jump(O):n.jump(s),n.updateContextPrevLoc(n.mark(F));var t=e.get("handler.body"),r=n.makeTempVar();n.clearPendingException(R.firstLoc,r),t.traverse(S,{safeParam:r,catchParamName:k.param.name}),n.leapManager.withEntry(T,function(){n.explodeStatement(t)})}O&&(n.updateContextPrevLoc(n.mark(O)),n.leapManager.withEntry(B,function(){n.explodeStatement(e.get("finalizer"))}),n.emit(h.returnStatement(h.callExpression(n.contextProperty("finish"),[B.firstLoc]))))}),n.mark(s);break;case"ThrowStatement":n.emit(h.throwStatement(n.explodeExpression(e.get("argument"))));break;default:throw new Error("unknown Statement of type "+(0,c.default)(r.type))}};var S={Identifier:function(e,t){e.node.name===t.catchParamName&&E.isReference(e)&&E.replaceWithOrRemove(e,t.safeParam)},Scope:function(e,t){e.scope.hasOwnBinding(t.catchParamName)&&e.skip()}};A.emitAbruptCompletion=function(e){u(e)||p.default.ok(!1,"invalid completion record: "+(0,c.default)(e)),p.default.notStrictEqual(e.type,"normal","normal completions are not abrupt");var t=[h.stringLiteral(e.type)];"break"===e.type||"continue"===e.type?(h.assertLiteral(e.target),t[1]=e.target):"return"!==e.type&&"throw"!==e.type||e.value&&(h.assertExpression(e.value),t[1]=e.value),this.emit(h.returnStatement(h.callExpression(this.contextProperty("abrupt"),t)))},A.getUnmarkedCurrentLoc=function(){return h.numericLiteral(this.listing.length)},A.updateContextPrevLoc=function(e){e?(h.assertLiteral(e),-1===e.value?e.value=this.listing.length:p.default.strictEqual(e.value,this.listing.length)):e=this.getUnmarkedCurrentLoc(),this.emitAssign(this.contextProperty("prev"),e)},A.explodeExpression=function(e,t){function r(e){if(h.assertExpression(e),!t)return e;s.emit(e)}function n(e,t,r){p.default.ok(!r||!e,"Ignoring the result of a child expression but forcing it to be assigned to a temporary variable?");var n=s.explodeExpression(t,r);return r||(e||l&&!h.isLiteral(n))&&(n=s.emitAssign(e||s.makeTempVar(),n)),n}var i=e.node;if(!i)return i;h.assertExpression(i);var s=this,o=void 0,u=void 0;if(!g.containsLeap(i))return r(i);var l=g.containsLeap.onlyChildren(i);switch(i.type){case"MemberExpression":return r(h.memberExpression(s.explodeExpression(e.get("object")),i.computed?n(null,e.get("property")):i.property,i.computed));case"CallExpression":var f=e.get("callee"),d=e.get("arguments"),m=void 0,y=[],v=!1;if(d.forEach(function(e){v=v||g.containsLeap(e.node)}),h.isMemberExpression(f.node))if(v){var b=n(s.makeTempVar(),f.get("object")),E=f.node.computed?n(null,f.get("property")):f.node.property;y.unshift(b),m=h.memberExpression(h.memberExpression(b,E,f.node.computed),h.identifier("call"),!1)}else m=s.explodeExpression(f);else m=n(null,f),h.isMemberExpression(m)&&(m=h.sequenceExpression([h.numericLiteral(0),m]));return d.forEach(function(e){y.push(n(null,e))}),r(h.callExpression(m,y));case"NewExpression":return r(h.newExpression(n(null,e.get("callee")),e.get("arguments").map(function(e){return n(null,e)})));case"ObjectExpression":return r(h.objectExpression(e.get("properties").map(function(e){return e.isObjectProperty()?h.objectProperty(e.node.key,n(null,e.get("value")),e.node.computed):e.node})));case"ArrayExpression":return r(h.arrayExpression(e.get("elements").map(function(e){return n(null,e)})));case"SequenceExpression":var x=i.expressions.length-1;return e.get("expressions").forEach(function(e){e.key===x?o=s.explodeExpression(e,t):s.explodeExpression(e,!0)}),o;case"LogicalExpression":u=a(),t||(o=s.makeTempVar());var A=n(o,e.get("left"));return"&&"===i.operator?s.jumpIfNot(A,u):(p.default.strictEqual(i.operator,"||"),s.jumpIf(A,u)),n(o,e.get("right"),t),s.mark(u),o;case"ConditionalExpression":var S=a();u=a();var _=s.explodeExpression(e.get("test"));return s.jumpIfNot(_,S),t||(o=s.makeTempVar()),n(o,e.get("consequent"),t),s.jump(u),s.mark(S),n(o,e.get("alternate"),t),s.mark(u),o;case"UnaryExpression":return r(h.unaryExpression(i.operator,s.explodeExpression(e.get("argument")),!!i.prefix));case"BinaryExpression":return r(h.binaryExpression(i.operator,n(null,e.get("left")),n(null,e.get("right"))));case"AssignmentExpression":return r(h.assignmentExpression(i.operator,s.explodeExpression(e.get("left")),s.explodeExpression(e.get("right"))));case"UpdateExpression":return r(h.updateExpression(i.operator,s.explodeExpression(e.get("argument")),i.prefix));case"YieldExpression":u=a();var D=i.argument&&s.explodeExpression(e.get("argument"));if(D&&i.delegate){var C=s.makeTempVar();return s.emit(h.returnStatement(h.callExpression(s.contextProperty("delegateYield"),[D,h.stringLiteral(C.property.name),u]))),s.mark(u),C}return s.emitAssign(s.contextProperty("next"),u),s.emit(h.returnStatement(D||null)),s.mark(u),s.contextProperty("sent");default:throw new Error("unknown Expression of type "+(0,c.default)(i.type))}}},function(e,t){"use strict";e.exports=function(e){var t=/^\\\\\?\\/.test(e),r=/[^\x00-\x80]+/.test(e);return t||r?e:e.replace(/\\/g,"/")}},function(e,t,r){"use strict";function n(){this._array=[],this._set=Object.create(null)}var i=r(63),s=Object.prototype.hasOwnProperty;n.fromArray=function(e,t){for(var r=new n,i=0,s=e.length;i<s;i++)r.add(e[i],t);return r},n.prototype.size=function(){return Object.getOwnPropertyNames(this._set).length},n.prototype.add=function(e,t){var r=i.toSetString(e),n=s.call(this._set,r),a=this._array.length;n&&!t||this._array.push(e),n||(this._set[r]=a)},n.prototype.has=function(e){var t=i.toSetString(e);return s.call(this._set,t)},n.prototype.indexOf=function(e){var t=i.toSetString(e);if(s.call(this._set,t))return this._set[t];throw new Error('"'+e+'" is not in the set.')},n.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},n.prototype.toArray=function(){return this._array.slice()},t.ArraySet=n},function(e,t,r){"use strict";function n(e){return e<0?1+(-e<<1):0+(e<<1)}function i(e){var t=1==(1&e),r=e>>1;return t?-r:r}var s=r(616);t.encode=function(e){var t,r="",i=n(e);do{t=31&i,i>>>=5,i>0&&(t|=32),r+=s.encode(t)}while(i>0);return r},t.decode=function(e,t,r){var n,a,o=e.length,u=0,l=0;do{if(t>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(a=s.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));n=!!(32&a),a&=31,u+=a<<l,l+=5}while(n);r.value=i(u),r.rest=t}},function(e,t,r){"use strict";function n(e){e||(e={}),this._file=s.getArg(e,"file",null),this._sourceRoot=s.getArg(e,"sourceRoot",null),this._skipValidation=s.getArg(e,"skipValidation",!1),this._sources=new a,this._names=new a,this._mappings=new o,this._sourcesContents=null}var i=r(286),s=r(63),a=r(285).ArraySet,o=r(618).MappingList;n.prototype._version=3,n.fromSourceMap=function(e){var t=e.sourceRoot,r=new n({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=s.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)}),e.sources.forEach(function(t){var n=e.sourceContentFor(t);null!=n&&r.setSourceContent(t,n)}),r},n.prototype.addMapping=function(e){var t=s.getArg(e,"generated"),r=s.getArg(e,"original",null),n=s.getArg(e,"source",null),i=s.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},n.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=s.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[s.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[s.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},n.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}var i=this._sourceRoot;null!=i&&(n=s.relative(i,n));var o=new a,u=new a;this._mappings.unsortedForEach(function(t){if(t.source===n&&null!=t.originalLine){var a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=s.join(r,t.source)),null!=i&&(t.source=s.relative(i,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}var l=t.source;null==l||o.has(l)||o.add(l);var c=t.name;null==c||u.has(c)||u.add(c)},this),this._sources=o,this._names=u,e.sources.forEach(function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=s.join(r,t)),null!=i&&(t=s.relative(i,t)),this.setSourceContent(t,n))},this)},n.prototype._validateMapping=function(e,t,r,n){if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))},n.prototype._serializeMappings=function(){for(var e,t,r,n,a=0,o=1,u=0,l=0,c=0,f=0,p="",d=this._mappings.toArray(),h=0,m=d.length;h<m;h++){if(t=d[h],e="",t.generatedLine!==o)for(a=0;t.generatedLine!==o;)e+=";",o++;else if(h>0){if(!s.compareByGeneratedPositionsInflated(t,d[h-1]))continue;e+=","}e+=i.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=i.encode(n-f),f=n,e+=i.encode(t.originalLine-1-l),l=t.originalLine-1,e+=i.encode(t.originalColumn-u),u=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=i.encode(r-c),c=r)),p+=e}return p},n.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=s.relative(t,e));var r=s.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)},n.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},n.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=n},function(e,t,r){"use strict";t.SourceMapGenerator=r(287).SourceMapGenerator,t.SourceMapConsumer=r(620).SourceMapConsumer,t.SourceNode=r(621).SourceNode},function(e,t,r){(function(e){"use strict";function t(){var e={modifiers:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};return e.colors.grey=e.colors.gray,Object.keys(e).forEach(function(t){var r=e[t];Object.keys(r).forEach(function(t){var n=r[t];e[t]=r[t]={open:"["+n[0]+"m",close:"["+n[1]+"m"}}),Object.defineProperty(e,t,{value:r,enumerable:!1})}),e}Object.defineProperty(e,"exports",{enumerable:!0,get:t})}).call(t,r(39)(e))},function(e,t,r){"use strict";e.exports=r(182)},function(e,t){"use strict";function r(e){return["babel-plugin-"+e,e]}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t){"use strict";function r(e){var t=["babel-preset-"+e,e],r=e.match(/^(@[^\/]+)\/(.+)$/);if(r){var n=r[1],i=r[2];t.push(n+"/babel-preset-"+i)}return t}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i);t.default=function(e,t){if(e&&t)return(0,o.default)(e,t,function(e,t){if(t&&Array.isArray(e)){for(var r=t.slice(0),n=e,i=Array.isArray(n),a=0,n=i?n:(0,s.default)(n);;){var o;if(i){if(a>=n.length)break;o=n[a++]}else{if(a=n.next(),a.done)break;o=a.value}var u=o;r.indexOf(u)<0&&r.push(u)}return r}})};var a=r(590),o=n(a);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e,t,r){if(e){if("Program"===e.type)return i.file(e,t||[],r||[]);if("File"===e.type)return e}throw new Error("Not a valid ast?")};var n=r(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(n);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function s(e,t){var r=[],n=g.functionExpression(null,[g.identifier("global")],g.blockStatement(r)),i=g.program([g.expressionStatement(g.callExpression(n,[c.get("selfGlobal")]))]);return r.push(g.variableDeclaration("var",[g.variableDeclarator(e,g.assignmentExpression("=",g.memberExpression(g.identifier("global"),e),g.objectExpression([])))])),t(r),i}function a(e,t){var r=[];return r.push(g.variableDeclaration("var",[g.variableDeclarator(e,g.identifier("global"))])),t(r),g.program([b({FACTORY_PARAMETERS:g.identifier("global"),BROWSER_ARGUMENTS:g.assignmentExpression("=",g.memberExpression(g.identifier("root"),e),g.objectExpression([])),COMMON_ARGUMENTS:g.identifier("exports"),AMD_ARGUMENTS:g.arrayExpression([g.stringLiteral("exports")]),FACTORY_BODY:r,UMD_ROOT:g.identifier("this")})])}function o(e,t){var r=[];return r.push(g.variableDeclaration("var",[g.variableDeclarator(e,g.objectExpression([]))])),t(r),r.push(g.expressionStatement(e)),g.program(r)}function u(e,t,r){c.list.forEach(function(n){if(!(r&&r.indexOf(n)<0)){var i=g.identifier(n);e.push(g.expressionStatement(g.assignmentExpression("=",g.memberExpression(t,i),c.get(n))))}})}t.__esModule=!0,t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"global",r=g.identifier("babelHelpers"),n=function(t){return u(t,r,e)},i=void 0,l={global:s,umd:a,var:o}[t];if(!l)throw new Error(h.get("unsupportedOutputType",t));return i=l(r,n),(0,p.default)(i).code};var l=r(194),c=i(l),f=r(186),p=n(f),d=r(20),h=i(d),m=r(4),y=n(m),v=r(1),g=i(v),b=(0,y.default)('\n  (function (root, factory) {\n    if (typeof define === "function" && define.amd) {\n      define(AMD_ARGUMENTS, factory);\n    } else if (typeof exports === "object") {\n      factory(COMMON_ARGUMENTS);\n    } else {\n      factory(BROWSER_ARGUMENTS);\n    }\n  })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n    FACTORY_BODY\n  });\n');e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(65),s=n(i),a=r(594),o=n(a);t.default=new s.default({name:"internal.blockHoist",visitor:{Block:{exit:function(e){for(var t=e.node,r=!1,n=0;n<t.body.length;n++){var i=t.body[n];if(i&&null!=i._blockHoist){r=!0;break}}r&&(t.body=(0,o.default)(t.body,function(e){var t=e&&e._blockHoist;return null==t&&(t=1),!0===t&&(t=2),-1*t}))}}}}),e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){return!!e.is("_forceShadow")||t}function s(e,t){var r=e.inShadow(t);if(i(e,r)){var n=e.node._shadowedFunctionLiteral,s=void 0,a=!1,o=e.find(function(t){if(t.parentPath&&t.parentPath.isClassProperty()&&"value"===t.key)return!0;if(e===t)return!1;if((t.isProgram()||t.isFunction())&&(s=s||t),t.isProgram())return a=!0,!0;if(t.isFunction()&&!t.isArrowFunctionExpression()){if(n){if(t===n||t.node===n.node)return!0}else if(!t.is("shadow"))return!0;return a=!0,!1}return!1});if(n&&o.isProgram()&&!n.isProgram()&&(o=e.findParent(function(e){return e.isProgram()||e.isFunction()})),o!==s&&a){var u=o.getData(t);if(u)return e.replaceWith(u);var l=e.scope.generateUidIdentifier(t);o.setData(t,l);var c=o.findParent(function(e){return e.isClass()}),p=!!(c&&c.node&&c.node.superClass);if("this"===t&&o.isMethod({kind:"constructor"})&&p)o.scope.push({id:l}),o.traverse(d,{id:l});else{var h="this"===t?f.thisExpression():f.identifier(t);n&&(h._shadowedFunctionLiteral=n),o.scope.push({id:l,init:h})}return e.replaceWith(l)}}}t.__esModule=!0;var a=r(10),o=n(a),u=r(65),l=n(u),c=r(1),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(c),p=(0,o.default)("super this bound"),d={CallExpression:function(e){if(e.get("callee").isSuper()){var t=e.node;t[p]||(t[p]=!0,e.replaceWith(f.assignmentExpression("=",this.id,t)))}}};t.default=new l.default({name:"internal.shadowFunctions",visitor:{ThisExpression:function(e){s(e,"this")},ReferencedIdentifier:function(e){"arguments"===e.node.name&&s(e,"arguments")}}}),e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(3),s=n(i),a=r(294),o=n(a),u=r(65),l=n(u),c=r(50),f=n(c),p=function(){function e(){(0,s.default)(this,e)}return e.prototype.lint=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.code=!1,t.mode="lint",this.transform(e,t)},e.prototype.pretransform=function(e,t){var r=new f.default(t,this);return r.wrap(e,function(){return r.addCode(e),r.parseCode(e),r})},e.prototype.transform=function(e,t){var r=new f.default(t,this);return r.wrap(e,function(){return r.addCode(e),r.parseCode(e),r.transform()})},e.prototype.analyse=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments[2];return t.code=!1,r&&(t.plugins=t.plugins||[],t.plugins.push(new l.default({visitor:r}))),this.transform(e,t).metadata},e.prototype.transformFromAst=function(e,t,r){e=(0,o.default)(e);var n=new f.default(r,this);return n.wrap(t,function(){return n.addCode(t),n.addAst(e),n.transform()})},e}();t.default=p,e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(3),s=n(i),a=r(42),o=n(a),u=r(41),l=n(u),c=r(119),f=n(c),p=r(50),d=(n(p),function(e){function t(r,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,s.default)(this,t);var a=(0,o.default)(this,e.call(this));return a.plugin=n,a.key=n.key,a.file=r,a.opts=i,a}return(0,l.default)(t,e),t.prototype.addHelper=function(){var e;return(e=this.file).addHelper.apply(e,arguments)},t.prototype.addImport=function(){var e;return(e=this.file).addImport.apply(e,arguments)},t.prototype.getModuleName=function(){var e;return(e=this.file).getModuleName.apply(e,arguments)},t.prototype.buildCodeFrameError=function(){var e;return(e=this.file).buildCodeFrameError.apply(e,arguments)},t}(f.default));t.default=d,e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(3),s=n(i),a=r(625),o=n(a),u=/^[ \t]+$/,l=function(){function e(t){(0,s.default)(this,e),this._map=null,this._buf=[],this._last="",this._queue=[],this._position={line:1,column:0},this._sourcePosition={identifierName:null,line:null,column:null,filename:null},this._map=t}return e.prototype.get=function(){this._flush();var e=this._map,t={code:(0,o.default)(this._buf.join("")),map:null,rawMappings:e&&e.getRawMappings()};return e&&Object.defineProperty(t,"map",{configurable:!0,enumerable:!0,get:function(){return this.map=e.get()},set:function(e){Object.defineProperty(this,"map",{value:e,writable:!0})}}),t},e.prototype.append=function(e){this._flush();var t=this._sourcePosition,r=t.line,n=t.column,i=t.filename,s=t.identifierName;this._append(e,r,n,s,i)},e.prototype.queue=function(e){if("\n"===e)for(;this._queue.length>0&&u.test(this._queue[0][0]);)this._queue.shift();var t=this._sourcePosition,r=t.line,n=t.column,i=t.filename,s=t.identifierName;this._queue.unshift([e,r,n,s,i])},e.prototype._flush=function(){for(var e=void 0;e=this._queue.pop();)this._append.apply(this,e)},e.prototype._append=function(e,t,r,n,i){this._map&&"\n"!==e[0]&&this._map.mark(this._position.line,this._position.column,t,r,n,i),this._buf.push(e),this._last=e[e.length-1];for(var s=0;s<e.length;s++)"\n"===e[s]?(this._position.line++,this._position.column=0):this._position.column++},e.prototype.removeTrailingNewline=function(){this._queue.length>0&&"\n"===this._queue[0][0]&&this._queue.shift()},e.prototype.removeLastSemicolon=function(){this._queue.length>0&&";"===this._queue[0][0]&&this._queue.shift()},e.prototype.endsWith=function(e){if(1===e.length){var t=void 0;if(this._queue.length>0){var r=this._queue[0][0];t=r[r.length-1]}else t=this._last;return t===e}var n=this._last+this._queue.reduce(function(e,t){return t[0]+e},"");return e.length<=n.length&&n.slice(-e.length)===e},e.prototype.hasContent=function(){return this._queue.length>0||!!this._last},e.prototype.source=function(e,t){if(!e||t){var r=t?t[e]:null;this._sourcePosition.identifierName=t&&t.identifierName||null,this._sourcePosition.line=r?r.line:null,this._sourcePosition.column=r?r.column:null,this._sourcePosition.filename=t&&t.filename||null}},e.prototype.withSource=function(e,t,r){if(!this._map)return r();var n=this._sourcePosition.line,i=this._sourcePosition.column,s=this._sourcePosition.filename,a=this._sourcePosition.identifierName;this.source(e,t),r(),this._sourcePosition.line=n,this._sourcePosition.column=i,this._sourcePosition.filename=s,this._sourcePosition.identifierName=a},e.prototype.getCurrentColumn=function(){var e=this._queue.reduce(function(e,t){return t[0]+e},""),t=e.lastIndexOf("\n");return-1===t?this._position.column+e.length:e.length-1-t},e.prototype.getCurrentLine=function(){for(var e=this._queue.reduce(function(e,t){return t[0]+e},""),t=0,r=0;r<e.length;r++)"\n"===e[r]&&t++;return this._position.line+t},e}();t.default=l,e.exports=t.default},function(e,t,r){"use strict";function n(e){this.print(e.program,e)}function i(e){this.printInnerComments(e,!1),this.printSequence(e.directives,e),e.directives&&e.directives.length&&this.newline(),this.printSequence(e.body,e)}function s(e){this.token("{"),this.printInnerComments(e);var t=e.directives&&e.directives.length;e.body.length||t?(this.newline(),this.printSequence(e.directives,e,{indent:!0}),t&&this.newline(),this.printSequence(e.body,e,{indent:!0}),this.removeTrailingNewline(),this.source("end",e.loc),this.endsWith("\n")||this.newline(),this.rightBrace()):(this.source("end",e.loc),this.token("}"))}function a(){}function o(e){this.print(e.value,e),this.semicolon()}t.__esModule=!0,t.File=n,t.Program=i,t.BlockStatement=s,t.Noop=a,t.Directive=o;var u=r(123);Object.defineProperty(t,"DirectiveLiteral",{enumerable:!0,get:function(){return u.StringLiteral}})},function(e,t){"use strict";function r(e){this.printJoin(e.decorators,e),this.word("class"),e.id&&(this.space(),this.print(e.id,e)),this.print(e.typeParameters,e),e.superClass&&(this.space(),this.word("extends"),this.space(),this.print(e.superClass,e),this.print(e.superTypeParameters,e)),e.implements&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements,e)),this.space(),this.print(e.body,e)}function n(e){this.token("{"),this.printInnerComments(e),0===e.body.length?this.token("}"):(this.newline(),this.indent(),this.printSequence(e.body,e),this.dedent(),this.endsWith("\n")||this.newline(),this.rightBrace())}function i(e){this.printJoin(e.decorators,e),e.static&&(this.word("static"),this.space()),e.computed?(this.token("["),this.print(e.key,e),this.token("]")):(this._variance(e),this.print(e.key,e)),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.token("="),this.space(),this.print(e.value,e)),this.semicolon()}function s(e){this.printJoin(e.decorators,e),e.static&&(this.word("static"),this.space()),"constructorCall"===e.kind&&(this.word("call"),this.space()),this._method(e)}t.__esModule=!0,t.ClassDeclaration=r,t.ClassBody=n,t.ClassProperty=i,t.ClassMethod=s,t.ClassExpression=r},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){"void"===e.operator||"delete"===e.operator||"typeof"===e.operator?(this.word(e.operator),this.space()):this.token(e.operator),this.print(e.argument,e)}function s(e){this.word("do"),this.space(),this.print(e.body,e)}function a(e){this.token("("),this.print(e.expression,e),this.token(")")}function o(e){e.prefix?(this.token(e.operator),this.print(e.argument,e)):(this.print(e.argument,e),this.token(e.operator))}function u(e){this.print(e.test,e),this.space(),this.token("?"),this.space(),this.print(e.consequent,e),this.space(),this.token(":"),this.space(),this.print(e.alternate,e)}function l(e,t){this.word("new"),this.space(),this.print(e.callee,e),(0!==e.arguments.length||!this.format.minified||C.isCallExpression(t,{callee:e})||C.isMemberExpression(t)||C.isNewExpression(t))&&(this.token("("),this.printList(e.arguments,e),this.token(")"))}function c(e){this.printList(e.expressions,e)}function f(){
this.word("this")}function p(){this.word("super")}function d(e){this.token("@"),this.print(e.expression,e),this.newline()}function h(){this.token(","),this.newline(),this.endsWith("\n")||this.space()}function m(e){this.print(e.callee,e),this.token("(");var t=e._prettyCall,r=void 0;t&&(r=h,this.newline(),this.indent()),this.printList(e.arguments,e,{separator:r}),t&&(this.newline(),this.dedent()),this.token(")")}function y(){this.word("import")}function v(e){return function(t){if(this.word(e),t.delegate&&this.token("*"),t.argument){this.space();var r=this.startTerminatorless();this.print(t.argument,t),this.endTerminatorless(r)}}}function g(){this.semicolon(!0)}function b(e){this.print(e.expression,e),this.semicolon()}function E(e){this.print(e.left,e),e.left.optional&&this.token("?"),this.print(e.left.typeAnnotation,e),this.space(),this.token("="),this.space(),this.print(e.right,e)}function x(e,t){var r=this.inForStatementInitCounter&&"in"===e.operator&&!P.needsParens(e,t);r&&this.token("("),this.print(e.left,e),this.space(),"in"===e.operator||"instanceof"===e.operator?this.word(e.operator):this.token(e.operator),this.space(),this.print(e.right,e),r&&this.token(")")}function A(e){this.print(e.object,e),this.token("::"),this.print(e.callee,e)}function S(e){if(this.print(e.object,e),!e.computed&&C.isMemberExpression(e.property))throw new TypeError("Got a MemberExpression for MemberExpression property");var t=e.computed;C.isLiteral(e.property)&&"number"==typeof e.property.value&&(t=!0),t?(this.token("["),this.print(e.property,e),this.token("]")):(this.token("."),this.print(e.property,e))}function _(e){this.print(e.meta,e),this.token("."),this.print(e.property,e)}t.__esModule=!0,t.LogicalExpression=t.BinaryExpression=t.AwaitExpression=t.YieldExpression=void 0,t.UnaryExpression=i,t.DoExpression=s,t.ParenthesizedExpression=a,t.UpdateExpression=o,t.ConditionalExpression=u,t.NewExpression=l,t.SequenceExpression=c,t.ThisExpression=f,t.Super=p,t.Decorator=d,t.CallExpression=m,t.Import=y,t.EmptyStatement=g,t.ExpressionStatement=b,t.AssignmentPattern=E,t.AssignmentExpression=x,t.BindExpression=A,t.MemberExpression=S,t.MetaProperty=_;var D=r(1),C=n(D),w=r(187),P=n(w);t.YieldExpression=v("yield"),t.AwaitExpression=v("await");t.BinaryExpression=x,t.LogicalExpression=x},function(e,t,r){"use strict";function n(){this.word("any")}function i(e){this.print(e.elementType,e),this.token("["),this.token("]")}function s(){this.word("boolean")}function a(e){this.word(e.value?"true":"false")}function o(){this.word("null")}function u(e,t){Q.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("class"),this.space(),this._interfaceish(e)}function l(e,t){Q.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("function"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation.typeAnnotation,e),this.semicolon()}function c(e){this.word("declare"),this.space(),this.InterfaceDeclaration(e)}function f(e){this.word("declare"),this.space(),this.word("module"),this.space(),this.print(e.id,e),this.space(),this.print(e.body,e)}function p(e){this.word("declare"),this.space(),this.word("module"),this.token("."),this.word("exports"),this.print(e.typeAnnotation,e)}function d(e){this.word("declare"),this.space(),this.TypeAlias(e)}function h(e,t){Q.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.OpaqueType(e)}function m(e,t){Q.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("var"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation,e),this.semicolon()}function y(e){this.word("declare"),this.space(),this.word("export"),this.space(),e.default&&(this.word("default"),this.space()),v.apply(this,arguments)}function v(e){if(e.declaration){var t=e.declaration;this.print(t,e),Q.isStatement(t)||this.semicolon()}else this.token("{"),e.specifiers.length&&(this.space(),this.printList(e.specifiers,e),this.space()),this.token("}"),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e)),this.semicolon()}function g(){this.token("*")}function b(e,t){this.print(e.typeParameters,e),this.token("("),this.printList(e.params,e),e.rest&&(e.params.length&&(this.token(","),this.space()),this.token("..."),this.print(e.rest,e)),this.token(")"),"ObjectTypeCallProperty"===t.type||"DeclareFunction"===t.type?this.token(":"):(this.space(),this.token("=>")),this.space(),this.print(e.returnType,e)}function E(e){this.print(e.name,e),e.optional&&this.token("?"),this.token(":"),this.space(),this.print(e.typeAnnotation,e)}function x(e){this.print(e.id,e),this.print(e.typeParameters,e)}function A(e){this.print(e.id,e),this.print(e.typeParameters,e),e.extends.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e)),e.mixins&&e.mixins.length&&(this.space(),this.word("mixins"),this.space(),this.printList(e.mixins,e)),this.space(),this.print(e.body,e)}function S(e){"plus"===e.variance?this.token("+"):"minus"===e.variance&&this.token("-")}function _(e){this.word("interface"),this.space(),this._interfaceish(e)}function D(){this.space(),this.token("&"),this.space()}function C(e){this.printJoin(e.types,e,{separator:D})}function w(){this.word("mixed")}function P(){this.word("empty")}function k(e){this.token("?"),this.print(e.typeAnnotation,e)}function F(){this.word("number")}function T(){this.word("string")}function O(){this.word("this")}function B(e){this.token("["),this.printList(e.types,e),this.token("]")}function R(e){this.word("typeof"),this.space(),this.print(e.argument,e)}function I(e){this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),this.space(),this.token("="),this.space(),this.print(e.right,e),this.semicolon()}function M(e){this.word("opaque"),this.space(),this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),e.supertype&&(this.token(":"),this.space(),this.print(e.supertype,e)),e.impltype&&(this.space(),this.token("="),this.space(),this.print(e.impltype,e)),this.semicolon()}function N(e){this.token(":"),this.space(),e.optional&&this.token("?"),this.print(e.typeAnnotation,e)}function L(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound,e),e.default&&(this.space(),this.token("="),this.space(),this.print(e.default,e))}function j(e){this.token("<"),this.printList(e.params,e,{}),this.token(">")}function U(e){var t=this;e.exact?this.token("{|"):this.token("{");var r=e.properties.concat(e.callProperties,e.indexers);r.length&&(this.space(),this.printJoin(r,e,{addNewlines:function(e){if(e&&!r[0])return 1},indent:!0,statement:!0,iterator:function(){1!==r.length&&(t.format.flowCommaSeparator?t.token(","):t.semicolon(),t.space())}}),this.space()),e.exact?this.token("|}"):this.token("}")}function V(e){e.static&&(this.word("static"),this.space()),this.print(e.value,e)}function G(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.token("["),this.print(e.id,e),this.token(":"),this.space(),this.print(e.key,e),this.token("]"),this.token(":"),this.space(),this.print(e.value,e)}function W(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.print(e.key,e),e.optional&&this.token("?"),this.token(":"),this.space(),this.print(e.value,e)}function Y(e){this.token("..."),this.print(e.argument,e)}function q(e){this.print(e.qualification,e),this.token("."),this.print(e.id,e)}function K(){this.space(),this.token("|"),this.space()}function H(e){this.printJoin(e.types,e,{separator:K})}function J(e){this.token("("),this.print(e.expression,e),this.print(e.typeAnnotation,e),this.token(")")}function X(){this.word("void")}t.__esModule=!0,t.TypeParameterDeclaration=t.StringLiteralTypeAnnotation=t.NumericLiteralTypeAnnotation=t.GenericTypeAnnotation=t.ClassImplements=void 0,t.AnyTypeAnnotation=n,t.ArrayTypeAnnotation=i,t.BooleanTypeAnnotation=s,t.BooleanLiteralTypeAnnotation=a,t.NullLiteralTypeAnnotation=o,t.DeclareClass=u,t.DeclareFunction=l,t.DeclareInterface=c,t.DeclareModule=f,t.DeclareModuleExports=p,t.DeclareTypeAlias=d,t.DeclareOpaqueType=h,t.DeclareVariable=m,t.DeclareExportDeclaration=y,t.ExistentialTypeParam=g,t.FunctionTypeAnnotation=b,t.FunctionTypeParam=E,t.InterfaceExtends=x,t._interfaceish=A,t._variance=S,t.InterfaceDeclaration=_,t.IntersectionTypeAnnotation=C,t.MixedTypeAnnotation=w,t.EmptyTypeAnnotation=P,t.NullableTypeAnnotation=k;var z=r(123);Object.defineProperty(t,"NumericLiteralTypeAnnotation",{enumerable:!0,get:function(){return z.NumericLiteral}}),Object.defineProperty(t,"StringLiteralTypeAnnotation",{enumerable:!0,get:function(){return z.StringLiteral}}),t.NumberTypeAnnotation=F,t.StringTypeAnnotation=T,t.ThisTypeAnnotation=O,t.TupleTypeAnnotation=B,t.TypeofTypeAnnotation=R,t.TypeAlias=I,t.OpaqueType=M,t.TypeAnnotation=N,t.TypeParameter=L,t.TypeParameterInstantiation=j,t.ObjectTypeAnnotation=U,t.ObjectTypeCallProperty=V,t.ObjectTypeIndexer=G,t.ObjectTypeProperty=W,t.ObjectTypeSpreadProperty=Y,t.QualifiedTypeIdentifier=q,t.UnionTypeAnnotation=H,t.TypeCastExpression=J,t.VoidTypeAnnotation=X;var $=r(1),Q=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}($);t.ClassImplements=x,t.GenericTypeAnnotation=x,t.TypeParameterDeclaration=j},function(e,t,r){"use strict";function n(e){this.print(e.name,e),e.value&&(this.token("="),this.print(e.value,e))}function i(e){this.word(e.name)}function s(e){this.print(e.namespace,e),this.token(":"),this.print(e.name,e)}function a(e){this.print(e.object,e),this.token("."),this.print(e.property,e)}function o(e){this.token("{"),this.token("..."),this.print(e.argument,e),this.token("}")}function u(e){this.token("{"),this.print(e.expression,e),this.token("}")}function l(e){this.token("{"),this.token("..."),this.print(e.expression,e),this.token("}")}function c(e){this.token(e.value)}function f(e){var t=e.openingElement;if(this.print(t,e),!t.selfClosing){this.indent();for(var r=e.children,n=Array.isArray(r),i=0,r=n?r:(0,v.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var a=s;this.print(a,e)}this.dedent(),this.print(e.closingElement,e)}}function p(){this.space()}function d(e){this.token("<"),this.print(e.name,e),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,e,{separator:p})),e.selfClosing?(this.space(),this.token("/>")):this.token(">")}function h(e){this.token("</"),this.print(e.name,e),this.token(">")}function m(){}t.__esModule=!0;var y=r(2),v=function(e){return e&&e.__esModule?e:{default:e}}(y);t.JSXAttribute=n,t.JSXIdentifier=i,t.JSXNamespacedName=s,t.JSXMemberExpression=a,t.JSXSpreadAttribute=o,t.JSXExpressionContainer=u,t.JSXSpreadChild=l,t.JSXText=c,t.JSXElement=f,t.JSXOpeningElement=d,t.JSXClosingElement=h,t.JSXEmptyExpression=m},function(e,t,r){"use strict";function n(e){var t=this;this.print(e.typeParameters,e),this.token("("),this.printList(e.params,e,{iterator:function(e){e.optional&&t.token("?"),t.print(e.typeAnnotation,e)}}),this.token(")"),e.returnType&&this.print(e.returnType,e)}function i(e){var t=e.kind,r=e.key;"method"!==t&&"init"!==t||e.generator&&this.token("*"),"get"!==t&&"set"!==t||(this.word(t),this.space()),e.async&&(this.word("async"),this.space()),e.computed?(this.token("["),this.print(r,e),this.token("]")):this.print(r,e),this._params(e),this.space(),this.print(e.body,e)}function s(e){e.async&&(this.word("async"),this.space()),this.word("function"),e.generator&&this.token("*"),e.id?(this.space(),this.print(e.id,e)):this.space(),this._params(e),this.space(),this.print(e.body,e)}function a(e){e.async&&(this.word("async"),this.space());var t=e.params[0];1===e.params.length&&l.isIdentifier(t)&&!o(e,t)?this.print(t,e):this._params(e),this.space(),this.token("=>"),this.space(),this.print(e.body,e)}function o(e,t){return e.typeParameters||e.returnType||t.typeAnnotation||t.optional||t.trailingComments}t.__esModule=!0,t.FunctionDeclaration=void 0,t._params=n,t._method=i,t.FunctionExpression=s,t.ArrowFunctionExpression=a;var u=r(1),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(u);t.FunctionDeclaration=s},function(e,t,r){"use strict";function n(e){"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported,e),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word("as"),this.space(),this.print(e.local,e))}function i(e){this.print(e.local,e)}function s(e){this.print(e.exported,e)}function a(e){this.print(e.local,e),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word("as"),this.space(),this.print(e.exported,e))}function o(e){this.token("*"),this.space(),this.word("as"),this.space(),this.print(e.exported,e)}function u(e){this.word("export"),this.space(),this.token("*"),this.space(),this.word("from"),this.space(),this.print(e.source,e),this.semicolon()}function l(){this.word("export"),this.space(),f.apply(this,arguments)}function c(){this.word("export"),this.space(),this.word("default"),this.space(),f.apply(this,arguments)}function f(e){if(e.declaration){var t=e.declaration;this.print(t,e),m.isStatement(t)||this.semicolon()}else{"type"===e.exportKind&&(this.word("type"),this.space());for(var r=e.specifiers.slice(0),n=!1;;){var i=r[0];if(!m.isExportDefaultSpecifier(i)&&!m.isExportNamespaceSpecifier(i))break;n=!0,this.print(r.shift(),e),r.length&&(this.token(","),this.space())}(r.length||!r.length&&!n)&&(this.token("{"),r.length&&(this.space(),this.printList(r,e),this.space()),this.token("}")),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e)),this.semicolon()}}function p(e){this.word("import"),this.space(),"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space());var t=e.specifiers.slice(0);if(t&&t.length){for(;;){var r=t[0];if(!m.isImportDefaultSpecifier(r)&&!m.isImportNamespaceSpecifier(r))break;this.print(t.shift(),e),t.length&&(this.token(","),this.space())}t.length&&(this.token("{"),this.space(),this.printList(t,e),this.space(),this.token("}")),this.space(),this.word("from"),this.space()}this.print(e.source,e),this.semicolon()}function d(e){this.token("*"),this.space(),this.word("as"),this.space(),this.print(e.local,e)}t.__esModule=!0,t.ImportSpecifier=n,t.ImportDefaultSpecifier=i,t.ExportDefaultSpecifier=s,t.ExportSpecifier=a,t.ExportNamespaceSpecifier=o,t.ExportAllDeclaration=u,t.ExportNamedDeclaration=l,t.ExportDefaultDeclaration=c,t.ImportDeclaration=p,t.ImportNamespaceSpecifier=d;var h=r(1),m=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(h)},function(e,t,r){"use strict";function n(e){this.word("with"),this.space(),this.token("("),this.print(e.object,e),this.token(")"),this.printBlock(e)}function i(e){this.word("if"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.space();var t=e.alternate&&S.isIfStatement(s(e.consequent));t&&(this.token("{"),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent,e),t&&(this.dedent(),this.newline(),this.token("}")),e.alternate&&(this.endsWith("}")&&this.space(),this.word("else"),this.space(),this.printAndIndentOnComments(e.alternate,e))}function s(e){return S.isStatement(e.body)?s(e.body):e}function a(e){this.word("for"),this.space(),this.token("("),this.inForStatementInitCounter++,this.print(e.init,e),this.inForStatementInitCounter--,this.token(";"),e.test&&(this.space(),this.print(e.test,e)),this.token(";"),e.update&&(this.space(),this.print(e.update,e)),this.token(")"),this.printBlock(e)}function o(e){this.word("while"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.printBlock(e)}function u(e){this.word("do"),this.space(),this.print(e.body,e),this.space(),this.word("while"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.semicolon()}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"label";return function(r){this.word(e);var n=r[t];if(n){this.space();var i=this.startTerminatorless();this.print(n,r),this.endTerminatorless(i)}this.semicolon()}}function c(e){this.print(e.label,e),this.token(":"),this.space(),this.print(e.body,e)}function f(e){this.word("try"),this.space(),this.print(e.block,e),this.space(),e.handlers?this.print(e.handlers[0],e):this.print(e.handler,e),e.finalizer&&(this.space(),this.word("finally"),this.space(),this.print(e.finalizer,e))}function p(e){this.word("catch"),this.space(),this.token("("),this.print(e.param,e),this.token(")"),this.space(),this.print(e.body,e)}function d(e){this.word("switch"),this.space(),this.token("("),this.print(e.discriminant,e),this.token(")"),this.space(),this.token("{"),this.printSequence(e.cases,e,{indent:!0,addNewlines:function(t,r){if(!t&&e.cases[e.cases.length-1]===r)return-1}}),this.token("}")}function h(e){e.test?(this.word("case"),this.space(),this.print(e.test,e),this.token(":")):(this.word("default"),this.token(":")),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,e,{indent:!0}))}function m(){this.word("debugger"),this.semicolon()}function y(){if(this.token(","),this.newline(),this.endsWith("\n"))for(var e=0;e<4;e++)this.space(!0)}function v(){if(this.token(","),this.newline(),this.endsWith("\n"))for(var e=0;e<6;e++)this.space(!0)}function g(e,t){this.word(e.kind),this.space();var r=!1;if(!S.isFor(t))for(var n=e.declarations,i=Array.isArray(n),s=0,n=i?n:(0,x.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a;o.init&&(r=!0)}var u=void 0;r&&(u="const"===e.kind?v:y),this.printList(e.declarations,e,{separator:u}),(!S.isFor(t)||t.left!==e&&t.init!==e)&&this.semicolon()}function b(e){this.print(e.id,e),this.print(e.id.typeAnnotation,e),e.init&&(this.space(),this.token("="),this.space(),this.print(e.init,e))}t.__esModule=!0,t.ThrowStatement=t.BreakStatement=t.ReturnStatement=t.ContinueStatement=t.ForAwaitStatement=t.ForOfStatement=t.ForInStatement=void 0;var E=r(2),x=function(e){return e&&e.__esModule?e:{default:e}}(E);t.WithStatement=n,t.IfStatement=i,t.ForStatement=a,t.WhileStatement=o,t.DoWhileStatement=u,t.LabeledStatement=c,t.TryStatement=f,t.CatchClause=p,t.SwitchStatement=d,t.SwitchCase=h,t.DebuggerStatement=m,t.VariableDeclaration=g,t.VariableDeclarator=b;var A=r(1),S=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(A),_=function(e){return function(t){this.word("for"),this.space(),"await"===e&&(this.word("await"),this.space()),this.token("("),this.print(t.left,t),this.space(),this.word("await"===e?"of":e),this.space(),this.print(t.right,t),this.token(")"),this.printBlock(t)}};t.ForInStatement=_("in"),t.ForOfStatement=_("of"),t.ForAwaitStatement=_("await"),t.ContinueStatement=l("continue"),t.ReturnStatement=l("return","argument"),t.BreakStatement=l("break"),t.ThrowStatement=l("throw","argument")},function(e,t){"use strict";function r(e){this.print(e.tag,e),this.print(e.quasi,e)}function n(e,t){var r=t.quasis[0]===e,n=t.quasis[t.quasis.length-1]===e,i=(r?"`":"}")+e.value.raw+(n?"`":"${");this.token(i)}function i(e){for(var t=e.quasis,r=0;r<t.length;r++)this.print(t[r],e),r+1<t.length&&this.print(e.expressions[r],e)}t.__esModule=!0,t.TaggedTemplateExpression=r,t.TemplateElement=n,t.TemplateLiteral=i},function(e,t,r){"use strict";function n(e,t){return b.isArrayTypeAnnotation(t)}function i(e,t){return b.isMemberExpression(t)&&t.object===e}function s(e,t,r){return v(r,{considerArrow:!0})}function a(e,t,r){return v(r)}function o(e,t){if((b.isCallExpression(t)||b.isNewExpression(t))&&t.callee===e||b.isUnaryLike(t)||b.isMemberExpression(t)&&t.object===e||b.isAwaitExpression(t))return!0;if(b.isBinary(t)){var r=t.operator,n=E[r],i=e.operator,s=E[i];if(n===s&&t.right===e&&!b.isLogicalExpression(t)||n>s)return!0}return!1}function u(e,t){return"in"===e.operator&&(b.isVariableDeclarator(t)||b.isFor(t))}function l(e,t){return!(b.isForStatement(t)||b.isThrowStatement(t)||b.isReturnStatement(t)||b.isIfStatement(t)&&t.test===e||b.isWhileStatement(t)&&t.test===e||b.isForInStatement(t)&&t.right===e||b.isSwitchStatement(t)&&t.discriminant===e||b.isExpressionStatement(t)&&t.expression===e)}function c(e,t){return b.isBinary(t)||b.isUnaryLike(t)||b.isCallExpression(t)||b.isMemberExpression(t)||b.isNewExpression(t)||b.isConditionalExpression(t)&&e===t.test}function f(e,t,r){return v(r,{considerDefaultExports:!0})}function p(e,t){return b.isMemberExpression(t,{object:e})||b.isCallExpression(t,{callee:e})||b.isNewExpression(t,{callee:e})}function d(e,t,r){return v(r,{considerDefaultExports:!0})}function h(e,t){return!!(b.isExportDeclaration(t)||b.isBinaryExpression(t)||b.isLogicalExpression(t)||b.isUnaryExpression(t)||b.isTaggedTemplateExpression(t))||p(e,t)}function m(e,t){return!!(b.isUnaryLike(t)||b.isBinary(t)||b.isConditionalExpression(t,{test:e})||b.isAwaitExpression(t))||p(e,t)}function y(e){return!!b.isObjectPattern(e.left)||m.apply(void 0,arguments)}function v(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.considerArrow,n=void 0!==r&&r,i=t.considerDefaultExports,s=void 0!==i&&i,a=e.length-1,o=e[a];a--;for(var u=e[a];a>0;){if(b.isExpressionStatement(u,{expression:o})||b.isTaggedTemplateExpression(u)||s&&b.isExportDefaultDeclaration(u,{declaration:o})||n&&b.isArrowFunctionExpression(u,{body:o}))return!0;if(!(b.isCallExpression(u,{callee:o})||b.isSequenceExpression(u)&&u.expressions[0]===o||b.isMemberExpression(u,{object:o})||b.isConditional(u,{test:o})||b.isBinary(u,{left:o})||b.isAssignmentExpression(u,{left:o})))return!1;o=u,a--,u=e[a]}return!1}t.__esModule=!0,t.AwaitExpression=t.FunctionTypeAnnotation=void 0,t.NullableTypeAnnotation=n,t.UpdateExpression=i,t.ObjectExpression=s,t.DoExpression=a,t.Binary=o,t.BinaryExpression=u,t.SequenceExpression=l,t.YieldExpression=c,t.ClassExpression=f,t.UnaryLike=p,t.FunctionExpression=d,t.ArrowFunctionExpression=h,t.ConditionalExpression=m,t.AssignmentExpression=y;var g=r(1),b=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(g),E={"||":0,"&&":1,"|":2,"^":3,"&":4,"==":5,"===":5,"!=":5,"!==":5,"<":6,">":6,"<=":6,">=":6,in:6,instanceof:6,">>":7,"<<":7,">>>":7,"+":8,"-":8,"*":9,"/":9,"%":9,"**":10};t.FunctionTypeAnnotation=n,t.AwaitExpression=c},function(e,t,r){"use strict";function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return l.isMemberExpression(e)?(n(e.object,t),e.computed&&n(e.property,t)):l.isBinary(e)||l.isAssignmentExpression(e)?(n(e.left,t),n(e.right,t)):l.isCallExpression(e)?(t.hasCall=!0,n(e.callee,t)):l.isFunction(e)?t.hasFunction=!0:l.isIdentifier(e)&&(t.hasHelper=t.hasHelper||i(e.callee)),t}function i(e){return l.isMemberExpression(e)?i(e.object)||i(e.property):l.isIdentifier(e)?"require"===e.name||"_"===e.name[0]:l.isCallExpression(e)?i(e.callee):!(!l.isBinary(e)&&!l.isAssignmentExpression(e))&&(l.isIdentifier(e.left)&&i(e.left)||i(e.right))}function s(e){return l.isLiteral(e)||l.isObjectExpression(e)||l.isArrayExpression(e)||l.isIdentifier(e)||l.isMemberExpression(e)}var a=r(588),o=function(e){return e&&e.__esModule?e:{default:e}}(a),u=r(1),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(u);t.nodes={AssignmentExpression:function(e){var t=n(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return{before:t.hasFunction,after:!0}},SwitchCase:function(e,t){return{before:e.consequent.length||t.cases[0]===e}},LogicalExpression:function(e){if(l.isFunction(e.left)||l.isFunction(e.right))return{after:!0}},Literal:function(e){if("use strict"===e.value)return{after:!0}},CallExpression:function(e){if(l.isFunction(e.callee)||i(e))return{before:!0,after:!0}},VariableDeclaration:function(e){for(var t=0;t<e.declarations.length;t++){var r=e.declarations[t],a=i(r.id)&&!s(r.init);if(!a){var o=n(r.init);a=i(r.init)&&o.hasCall||o.hasFunction}if(a)return{before:!0,after:!0}}},IfStatement:function(e){if(l.isBlockStatement(e.consequent))return{before:!0,after:!0}}},t.nodes.ObjectProperty=t.nodes.ObjectTypeProperty=t.nodes.ObjectMethod=t.nodes.SpreadProperty=function(e,t){if(t.properties[0]===e)return{before:!0}},t.list={VariableDeclaration:function(e){return(0,o.default)(e.declarations,"init")},ArrayExpression:function(e){return e.elements},ObjectExpression:function(e){return e.properties}},[["Function",!0],["Class",!0],["Loop",!0],["LabeledStatement",!0],["SwitchStatement",!0],["TryStatement",!0]].forEach(function(e){var r=e[0],n=e[1];"boolean"==typeof n&&(n={after:n,before:n}),[r].concat(l.FLIPPED_ALIAS_KEYS[r]||[]).forEach(function(e){t.nodes[e]=function(){return n}})})},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(){this.token(","),this.space()}t.__esModule=!0;var a=r(87),o=i(a),u=r(2),l=i(u),c=r(35),f=i(c),p=r(365),d=i(p),h=r(3),m=i(h),y=r(579),v=i(y),g=r(581),b=i(g),E=r(586),x=i(E),A=r(278),S=i(A),_=r(300),D=i(_),C=r(187),w=n(C),P=r(314),k=i(P),F=r(1),T=n(F),O=/e/i,B=/\.0+$/,R=/^0[box]/,I=function(){function e(t,r,n){(0,m.default)(this,e),this.inForStatementInitCounter=0,this._printStack=[],this._indent=0,this._insideAux=!1,this._printedCommentStarts={},this._parenPushNewlineState=null,this._printAuxAfterOnNextUserNode=!1,this._printedComments=new d.default,this._endsWithInteger=!1,this._endsWithWord=!1,this.format=t||{},this._buf=new D.default(r),this._whitespace=n.length>0?new k.default(n):null}return e.prototype.generate=function(e){return this.print(e),this._maybeAddAuxComment(),this._buf.get()},e.prototype.indent=function(){this.format.compact||this.format.concise||this._indent++},e.prototype.dedent=function(){this.format.compact||this.format.concise||this._indent--},e.prototype.semicolon=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._maybeAddAuxComment(),this._append(";",!e)},e.prototype.rightBrace=function(){this.format.minified&&this._buf.removeLastSemicolon(),this.token("}")},e.prototype.space=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.format.compact||(this._buf.hasContent()&&!this.endsWith(" ")&&!this.endsWith("\n")||e)&&this._space()},e.prototype.word=function(e){this._endsWithWord&&this._space(),this._maybeAddAuxComment(),this._append(e),this._endsWithWord=!0},e.prototype.number=function(e){this.word(e),this._endsWithInteger=(0,x.default)(+e)&&!R.test(e)&&!O.test(e)&&!B.test(e)&&"."!==e[e.length-1]},e.prototype.token=function(e){("--"===e&&this.endsWith("!")||"+"===e[0]&&this.endsWith("+")||"-"===e[0]&&this.endsWith("-")||"."===e[0]&&this._endsWithInteger)&&this._space(),this._maybeAddAuxComment(),this._append(e)},e.prototype.newline=function(e){if(!this.format.retainLines&&!this.format.compact){if(this.format.concise)return void this.space();if(!(this.endsWith("\n\n")||("number"!=typeof e&&(e=1),e=Math.min(2,e),(this.endsWith("{\n")||this.endsWith(":\n"))&&e--,e<=0)))for(var t=0;t<e;t++)this._newline()}},e.prototype.endsWith=function(e){return this._buf.endsWith(e)},e.prototype.removeTrailingNewline=function(){this._buf.removeTrailingNewline()},e.prototype.source=function(e,t){this._catchUp(e,t),this._buf.source(e,t)},e.prototype.withSource=function(e,t,r){this._catchUp(e,t),this._buf.withSource(e,t,r)},e.prototype._space=function(){this._append(" ",!0)},e.prototype._newline=function(){this._append("\n",!0)},e.prototype._append=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._maybeAddParen(e),this._maybeIndent(e),t?this._buf.queue(e):this._buf.append(e),this._endsWithWord=!1,this._endsWithInteger=!1},e.prototype._maybeIndent=function(e){this._indent&&this.endsWith("\n")&&"\n"!==e[0]&&this._buf.queue(this._getIndent())},e.prototype._maybeAddParen=function(e){var t=this._parenPushNewlineState;if(t){this._parenPushNewlineState=null;var r=void 0;for(r=0;r<e.length&&" "===e[r];r++);if(r!==e.length){var n=e[r];"\n"!==n&&"/"!==n||(this.token("("),this.indent(),t.printed=!0)}}},e.prototype._catchUp=function(e,t){if(this.format.retainLines){var r=t?t[e]:null;if(r&&null!==r.line)for(var n=r.line-this._buf.getCurrentLine(),i=0;i<n;i++)this._newline()}},e.prototype._getIndent=function(){return(0,S.default)(this.format.indent.style,this._indent)},e.prototype.startTerminatorless=function(){return this._parenPushNewlineState={printed:!1}},e.prototype.endTerminatorless=function(e){e.printed&&(this.dedent(),this.newline(),this.token(")"))},e.prototype.print=function(e,t){var r=this;if(e){var n=this.format.concise;e._compact&&(this.format.concise=!0);if(!this[e.type])throw new ReferenceError("unknown node of type "+(0,f.default)(e.type)+" with constructor "+(0,f.default)(e&&e.constructor.name));this._printStack.push(e);var i=this._insideAux;this._insideAux=!e.loc,this._maybeAddAuxComment(this._insideAux&&!i);var s=w.needsParens(e,t,this._printStack);this.format.retainFunctionParens&&"FunctionExpression"===e.type&&e.extra&&e.extra.parenthesized&&(s=!0),s&&this.token("("),this._printLeadingComments(e,t);var a=T.isProgram(e)||T.isFile(e)?null:e.loc;this.withSource("start",a,function(){r[e.type](e,t)}),this._printTrailingComments(e,t),s&&this.token(")"),this._printStack.pop(),this.format.concise=n,this._insideAux=i}},e.prototype._maybeAddAuxComment=function(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()},e.prototype._printAuxBeforeComment=function(){if(!this._printAuxAfterOnNextUserNode){this._printAuxAfterOnNextUserNode=!0;var e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:"CommentBlock",value:e})}},e.prototype._printAuxAfterComment=function(){if(this._printAuxAfterOnNextUserNode){this._printAuxAfterOnNextUserNode=!1;var e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:"CommentBlock",value:e})}},e.prototype.getPossibleRaw=function(e){var t=e.extra;if(t&&null!=t.raw&&null!=t.rawValue&&e.value===t.rawValue)return t.raw},e.prototype.printJoin=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e&&e.length){r.indent&&this.indent();for(var n={addNewlines:r.addNewlines},i=0;i<e.length;i++){var s=e[i];s&&(r.statement&&this._printNewline(!0,s,t,n),this.print(s,t),r.iterator&&r.iterator(s,i),r.separator&&i<e.length-1&&r.separator.call(this),r.statement&&this._printNewline(!1,s,t,n))}r.indent&&this.dedent()}},e.prototype.printAndIndentOnComments=function(e,t){var r=!!e.leadingComments;r&&this.indent(),this.print(e,t),r&&this.dedent()},e.prototype.printBlock=function(e){var t=e.body;T.isEmptyStatement(t)||this.space(),this.print(t,e)},e.prototype._printTrailingComments=function(e,t){this._printComments(this._getComments(!1,e,t))},e.prototype._printLeadingComments=function(e,t){this._printComments(this._getComments(!0,e,t))},e.prototype.printInnerComments=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.innerComments&&(t&&this.indent(),this._printComments(e.innerComments),t&&this.dedent())},e.prototype.printSequence=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.statement=!0,this.printJoin(e,t,r)},e.prototype.printList=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return null==r.separator&&(r.separator=s),this.printJoin(e,t,r)},e.prototype._printNewline=function(e,t,r,n){var i=this;if(!this.format.retainLines&&!this.format.compact){if(this.format.concise)return void this.space();var s=0;if(null!=t.start&&!t._ignoreUserWhitespace&&this._whitespace)if(e){var a=t.leadingComments,o=a&&(0,v.default)(a,function(e){
return!!e.loc&&i.format.shouldPrintComment(e.value)});s=this._whitespace.getNewlinesBefore(o||t)}else{var u=t.trailingComments,l=u&&(0,b.default)(u,function(e){return!!e.loc&&i.format.shouldPrintComment(e.value)});s=this._whitespace.getNewlinesAfter(l||t)}else{e||s++,n.addNewlines&&(s+=n.addNewlines(e,t)||0);var c=w.needsWhitespaceAfter;e&&(c=w.needsWhitespaceBefore),c(t,r)&&s++,this._buf.hasContent()||(s=0)}this.newline(s)}},e.prototype._getComments=function(e,t){return t&&(e?t.leadingComments:t.trailingComments)||[]},e.prototype._printComment=function(e){var t=this;if(this.format.shouldPrintComment(e.value)&&!e.ignore&&!this._printedComments.has(e)){if(this._printedComments.add(e),null!=e.start){if(this._printedCommentStarts[e.start])return;this._printedCommentStarts[e.start]=!0}this.newline(this._whitespace?this._whitespace.getNewlinesBefore(e):0),this.endsWith("[")||this.endsWith("{")||this.space();var r="CommentLine"===e.type?"//"+e.value+"\n":"/*"+e.value+"*/";if("CommentBlock"===e.type&&this.format.indent.adjustMultilineComment){var n=e.loc&&e.loc.start.column;if(n){var i=new RegExp("\\n\\s{1,"+n+"}","g");r=r.replace(i,"\n")}var s=Math.max(this._getIndent().length,this._buf.getCurrentColumn());r=r.replace(/\n(?!$)/g,"\n"+(0,S.default)(" ",s))}this.withSource("start",e.loc,function(){t._append(r)}),this.newline((this._whitespace?this._whitespace.getNewlinesAfter(e):0)+("CommentLine"===e.type?-1:0))}},e.prototype._printComments=function(e){if(e&&e.length)for(var t=e,r=Array.isArray(t),n=0,t=r?t:(0,l.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i;this._printComment(s)}},e}();t.default=I;for(var M=[r(309),r(303),r(308),r(302),r(306),r(307),r(123),r(304),r(301),r(305)],N=0;N<M.length;N++){var L=M[N];(0,o.default)(I.prototype,L)}e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(14),s=n(i),a=r(11),o=n(a),u=r(3),l=n(u),c=r(288),f=n(c),p=function(){function e(t,r){(0,l.default)(this,e),this._cachedMap=null,this._code=r,this._opts=t,this._rawMappings=[]}return e.prototype.get=function(){if(!this._cachedMap){var e=this._cachedMap=new f.default.SourceMapGenerator({file:this._opts.sourceMapTarget,sourceRoot:this._opts.sourceRoot}),t=this._code;"string"==typeof t?e.setSourceContent(this._opts.sourceFileName,t):"object"===(void 0===t?"undefined":(0,o.default)(t))&&(0,s.default)(t).forEach(function(r){e.setSourceContent(r,t[r])}),this._rawMappings.forEach(e.addMapping,e)}return this._cachedMap.toJSON()},e.prototype.getRawMappings=function(){return this._rawMappings.slice()},e.prototype.mark=function(e,t,r,n,i,s){this._lastGenLine!==e&&null===r||this._lastGenLine===e&&this._lastSourceLine===r&&this._lastSourceColumn===n||(this._cachedMap=null,this._lastGenLine=e,this._lastSourceLine=r,this._lastSourceColumn=n,this._rawMappings.push({name:i||void 0,generated:{line:e,column:t},source:null==r?void 0:s||this._opts.sourceFileName,original:null==r?void 0:{line:r,column:n}}))},e}();t.default=p,e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(3),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s=function(){function e(t){(0,i.default)(this,e),this.tokens=t,this.used={}}return e.prototype.getNewlinesBefore=function(e){var t=void 0,r=void 0,n=this.tokens,i=this._findToken(function(t){return t.start-e.start},0,n.length);if(i>=0){for(;i&&e.start===n[i-1].start;)--i;t=n[i-1],r=n[i]}return this._getNewlinesBetween(t,r)},e.prototype.getNewlinesAfter=function(e){var t=void 0,r=void 0,n=this.tokens,i=this._findToken(function(t){return t.end-e.end},0,n.length);if(i>=0){for(;i&&e.end===n[i-1].end;)--i;t=n[i],r=n[i+1],","===r.type.label&&(r=n[i+2])}return r&&"eof"===r.type.label?1:this._getNewlinesBetween(t,r)},e.prototype._getNewlinesBetween=function(e,t){if(!t||!t.loc)return 0;for(var r=e?e.loc.end.line:1,n=t.loc.start.line,i=0,s=r;s<n;s++)void 0===this.used[s]&&(this.used[s]=!0,i++);return i},e.prototype._findToken=function(e,t,r){if(t>=r)return-1;var n=t+r>>>1,i=e(this.tokens[n]);return i<0?this._findToken(e,n+1,r):i>0?this._findToken(e,t,n):0===i?n:-1},e}();t.default=s,e.exports=t.default},function(e,t,r){"use strict";function n(e){for(var t=e,r=Array.isArray(t),n=0,t=r?t:(0,s.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var a=i,u=a.node,l=u.expression;if(o.isMemberExpression(l)){var c=a.scope.maybeGenerateMemoised(l.object),f=void 0,p=[];c?(f=c,p.push(o.assignmentExpression("=",c,l.object))):f=l.object,p.push(o.callExpression(o.memberExpression(o.memberExpression(f,l.property,l.computed),o.identifier("bind")),[f])),1===p.length?u.expression=p[0]:u.expression=o.sequenceExpression(p)}}}t.__esModule=!0;var i=r(2),s=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=n;var a=r(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(a);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){function t(t){return t&&t.operator===e.operator+"="}function r(e,t){return a.assignmentExpression("=",e,t)}var n={};return n.ExpressionStatement=function(n,s){if(!n.isCompletionRecord()){var o=n.node.expression;if(t(o)){var u=[],l=(0,i.default)(o.left,u,s,n.scope,!0);u.push(a.expressionStatement(r(l.ref,e.build(l.uid,o.right)))),n.replaceWithMultiple(u)}}},n.AssignmentExpression=function(n,s){var a=n.node,o=n.scope;if(t(a)){var u=[],l=(0,i.default)(a.left,u,s,o);u.push(r(l.ref,e.build(l.uid,a.right))),n.replaceWithMultiple(u)}},n.BinaryExpression=function(t){var r=t.node;r.operator===e.operator&&t.replaceWith(e.build(r.left,r.right))},n};var n=r(318),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s=r(1),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(s);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.scope,r=e.node,n=a.functionExpression(null,[],r.body,r.generator,r.async),s=n,u=[];(0,i.default)(e,function(e){return t.push({id:e})});var l={foundThis:!1,foundArguments:!1};e.traverse(o,l),l.foundArguments&&(s=a.memberExpression(n,a.identifier("apply")),u=[],l.foundThis&&u.push(a.thisExpression()),l.foundArguments&&(l.foundThis||u.push(a.nullLiteral()),u.push(a.identifier("arguments"))));var c=a.callExpression(s,u);return r.generator&&(c=a.yieldExpression(c,!0)),a.returnStatement(c)};var n=r(190),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s=r(1),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(s),o={enter:function(e,t){e.isThisExpression()&&(t.foundThis=!0),e.isReferencedIdentifier({name:"arguments"})&&(t.foundArguments=!0)},Function:function(e){e.skip()}};e.exports=t.default},function(e,t,r){"use strict";function n(e,t,r,n){var i=void 0;if(a.isSuper(e))return e;if(a.isIdentifier(e)){if(n.hasBinding(e.name))return e;i=e}else{if(!a.isMemberExpression(e))throw new Error("We can't explode this node type "+e.type);if(i=e.object,a.isSuper(i)||a.isIdentifier(i)&&n.hasBinding(i.name))return i}var s=n.generateUidIdentifierBasedOnNode(i);return t.push(a.variableDeclaration("var",[a.variableDeclarator(s,i)])),s}function i(e,t,r,n){var i=e.property,s=a.toComputedKey(e,i);if(a.isLiteral(s)&&a.isPureish(s))return s;var o=n.generateUidIdentifierBasedOnNode(i);return t.push(a.variableDeclaration("var",[a.variableDeclarator(o,i)])),o}t.__esModule=!0,t.default=function(e,t,r,s,o){var u=void 0;u=a.isIdentifier(e)&&o?e:n(e,t,r,s);var l=void 0,c=void 0;if(a.isIdentifier(e))l=e,c=u;else{var f=i(e,t,r,s),p=e.computed||a.isLiteral(f);c=l=a.memberExpression(u,f,p)}return{uid:c,ref:l}};var s=r(1),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(s);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i);t.default=function(e){function t(t){if(t.node&&!t.isPure()){var r=e.scope.generateDeclaredUidIdentifier();n.push(l.assignmentExpression("=",r,t.node)),t.replaceWith(r)}}function r(e){if(Array.isArray(e)&&e.length){e=e.reverse(),(0,o.default)(e);for(var r=e,n=Array.isArray(r),i=0,r=n?r:(0,s.default)(r);;){var a;if(n){if(i>=r.length)break;a=r[i++]}else{if(i=r.next(),i.done)break;a=i.value}t(a)}}}e.assertClass();var n=[];t(e.get("superClass")),r(e.get("decorators"));for(var i=e.get("body.body"),a=i,u=Array.isArray(a),c=0,a=u?a:(0,s.default)(a);;){var f;if(u){if(c>=a.length)break;f=a[c++]}else{if(c=a.next(),c.done)break;f=c.value}var p=f;p.is("computed")&&t(p.get("key")),p.has("decorators")&&r(e.get("decorators"))}n&&e.insertBefore(n.map(function(e){return l.expressionStatement(e)}))};var a=r(315),o=n(a),u=r(1),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(u);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e,t){var r=e.node,n=e.scope,i=e.parent,a=n.generateUidIdentifier("step"),o=n.generateUidIdentifier("value"),u=r.left,p=void 0;s.isIdentifier(u)||s.isPattern(u)||s.isMemberExpression(u)?p=s.expressionStatement(s.assignmentExpression("=",u,o)):s.isVariableDeclaration(u)&&(p=s.variableDeclaration(u.kind,[s.variableDeclarator(u.declarations[0].id,o)]));var d=c();(0,l.default)(d,f,null,{ITERATOR_HAD_ERROR_KEY:n.generateUidIdentifier("didIteratorError"),ITERATOR_COMPLETION:n.generateUidIdentifier("iteratorNormalCompletion"),ITERATOR_ERROR_KEY:n.generateUidIdentifier("iteratorError"),ITERATOR_KEY:n.generateUidIdentifier("iterator"),GET_ITERATOR:t.getAsyncIterator,OBJECT:r.right,STEP_VALUE:o,STEP_KEY:a,AWAIT:t.wrapAwait}),d=d.body.body;var h=s.isLabeledStatement(i),m=d[3].block.body,y=m[0];return h&&(m[0]=s.labeledStatement(i.label,y)),{replaceParent:h,node:d,declar:p,loop:y}};var i=r(1),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(i),a=r(4),o=n(a),u=r(7),l=n(u),c=(0,o.default)("\n  function* wrapper() {\n    var ITERATOR_COMPLETION = true;\n    var ITERATOR_HAD_ERROR_KEY = false;\n    var ITERATOR_ERROR_KEY = undefined;\n    try {\n      for (\n        var ITERATOR_KEY = GET_ITERATOR(OBJECT), STEP_KEY, STEP_VALUE;\n        (\n          STEP_KEY = yield AWAIT(ITERATOR_KEY.next()),\n          ITERATOR_COMPLETION = STEP_KEY.done,\n          STEP_VALUE = yield AWAIT(STEP_KEY.value),\n          !ITERATOR_COMPLETION\n        );\n        ITERATOR_COMPLETION = true) {\n      }\n    } catch (err) {\n      ITERATOR_HAD_ERROR_KEY = true;\n      ITERATOR_ERROR_KEY = err;\n    } finally {\n      try {\n        if (!ITERATOR_COMPLETION && ITERATOR_KEY.return) {\n          yield AWAIT(ITERATOR_KEY.return());\n        }\n      } finally {\n        if (ITERATOR_HAD_ERROR_KEY) {\n          throw ITERATOR_ERROR_KEY;\n        }\n      }\n    }\n  }\n"),f={noScope:!0,Identifier:function(e,t){e.node.name in t&&e.replaceInline(t[e.node.name])},CallExpression:function(e,t){var r=e.node.callee;s.isIdentifier(r)&&"AWAIT"===r.name&&!t.AWAIT&&e.replaceWith(e.node.arguments[0])}};e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(4),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s={};t.default=s,s.typeof=(0,i.default)('\n  (typeof Symbol === "function" && typeof Symbol.iterator === "symbol")\n    ? function (obj) { return typeof obj; }\n    : function (obj) {\n        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype\n          ? "symbol"\n          : typeof obj;\n      };\n'),s.jsx=(0,i.default)('\n  (function () {\n    var REACT_ELEMENT_TYPE = (typeof Symbol === "function" && Symbol.for && Symbol.for("react.element")) || 0xeac7;\n\n    return function createRawReactElement (type, props, key, children) {\n      var defaultProps = type && type.defaultProps;\n      var childrenLength = arguments.length - 3;\n\n      if (!props && childrenLength !== 0) {\n        // If we\'re going to assign props.children, we create a new object now\n        // to avoid mutating defaultProps.\n        props = {};\n      }\n      if (props && defaultProps) {\n        for (var propName in defaultProps) {\n          if (props[propName] === void 0) {\n            props[propName] = defaultProps[propName];\n          }\n        }\n      } else if (!props) {\n        props = defaultProps || {};\n      }\n\n      if (childrenLength === 1) {\n        props.children = children;\n      } else if (childrenLength > 1) {\n        var childArray = Array(childrenLength);\n        for (var i = 0; i < childrenLength; i++) {\n          childArray[i] = arguments[i + 3];\n        }\n        props.children = childArray;\n      }\n\n      return {\n        $$typeof: REACT_ELEMENT_TYPE,\n        type: type,\n        key: key === undefined ? null : \'\' + key,\n        ref: null,\n        props: props,\n        _owner: null,\n      };\n    };\n\n  })()\n'),s.asyncIterator=(0,i.default)('\n  (function (iterable) {\n    if (typeof Symbol === "function") {\n      if (Symbol.asyncIterator) {\n        var method = iterable[Symbol.asyncIterator];\n        if (method != null) return method.call(iterable);\n      }\n      if (Symbol.iterator) {\n        return iterable[Symbol.iterator]();\n      }\n    }\n    throw new TypeError("Object is not async iterable");\n  })\n'),s.asyncGenerator=(0,i.default)('\n  (function () {\n    function AwaitValue(value) {\n      this.value = value;\n    }\n\n    function AsyncGenerator(gen) {\n      var front, back;\n\n      function send(key, arg) {\n        return new Promise(function (resolve, reject) {\n          var request = {\n            key: key,\n            arg: arg,\n            resolve: resolve,\n            reject: reject,\n            next: null\n          };\n\n          if (back) {\n            back = back.next = request;\n          } else {\n            front = back = request;\n            resume(key, arg);\n          }\n        });\n      }\n\n      function resume(key, arg) {\n        try {\n          var result = gen[key](arg)\n          var value = result.value;\n          if (value instanceof AwaitValue) {\n            Promise.resolve(value.value).then(\n              function (arg) { resume("next", arg); },\n              function (arg) { resume("throw", arg); });\n          } else {\n            settle(result.done ? "return" : "normal", result.value);\n          }\n        } catch (err) {\n          settle("throw", err);\n        }\n      }\n\n      function settle(type, value) {\n        switch (type) {\n          case "return":\n            front.resolve({ value: value, done: true });\n            break;\n          case "throw":\n            front.reject(value);\n            break;\n          default:\n            front.resolve({ value: value, done: false });\n            break;\n        }\n\n        front = front.next;\n        if (front) {\n          resume(front.key, front.arg);\n        } else {\n          back = null;\n        }\n      }\n\n      this._invoke = send;\n\n      // Hide "return" method if generator return is not supported\n      if (typeof gen.return !== "function") {\n        this.return = undefined;\n      }\n    }\n\n    if (typeof Symbol === "function" && Symbol.asyncIterator) {\n      AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; };\n    }\n\n    AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };\n    AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };\n    AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };\n\n    return {\n      wrap: function (fn) {\n        return function () {\n          return new AsyncGenerator(fn.apply(this, arguments));\n        };\n      },\n      await: function (value) {\n        return new AwaitValue(value);\n      }\n    };\n\n  })()\n'),s.asyncGeneratorDelegate=(0,i.default)('\n  (function (inner, awaitWrap) {\n    var iter = {}, waiting = false;\n\n    function pump(key, value) {\n      waiting = true;\n      value = new Promise(function (resolve) { resolve(inner[key](value)); });\n      return { done: false, value: awaitWrap(value) };\n    };\n\n    if (typeof Symbol === "function" && Symbol.iterator) {\n      iter[Symbol.iterator] = function () { return this; };\n    }\n\n    iter.next = function (value) {\n      if (waiting) {\n        waiting = false;\n        return value;\n      }\n      return pump("next", value);\n    };\n\n    if (typeof inner.throw === "function") {\n      iter.throw = function (value) {\n        if (waiting) {\n          waiting = false;\n          throw value;\n        }\n        return pump("throw", value);\n      };\n    }\n\n    if (typeof inner.return === "function") {\n      iter.return = function (value) {\n        return pump("return", value);\n      };\n    }\n\n    return iter;\n  })\n'),s.asyncToGenerator=(0,i.default)('\n  (function (fn) {\n    return function () {\n      var gen = fn.apply(this, arguments);\n      return new Promise(function (resolve, reject) {\n        function step(key, arg) {\n          try {\n            var info = gen[key](arg);\n            var value = info.value;\n          } catch (error) {\n            reject(error);\n            return;\n          }\n\n          if (info.done) {\n            resolve(value);\n          } else {\n            return Promise.resolve(value).then(function (value) {\n              step("next", value);\n            }, function (err) {\n              step("throw", err);\n            });\n          }\n        }\n\n        return step("next");\n      });\n    };\n  })\n'),s.classCallCheck=(0,i.default)('\n  (function (instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n      throw new TypeError("Cannot call a class as a function");\n    }\n  });\n'),s.createClass=(0,i.default)('\n  (function() {\n    function defineProperties(target, props) {\n      for (var i = 0; i < props.length; i ++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ("value" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n      }\n    }\n\n    return function (Constructor, protoProps, staticProps) {\n      if (protoProps) defineProperties(Constructor.prototype, protoProps);\n      if (staticProps) defineProperties(Constructor, staticProps);\n      return Constructor;\n    };\n  })()\n'),s.defineEnumerableProperties=(0,i.default)('\n  (function (obj, descs) {\n    for (var key in descs) {\n      var desc = descs[key];\n      desc.configurable = desc.enumerable = true;\n      if ("value" in desc) desc.writable = true;\n      Object.defineProperty(obj, key, desc);\n    }\n    return obj;\n  })\n'),s.defaults=(0,i.default)("\n  (function (obj, defaults) {\n    var keys = Object.getOwnPropertyNames(defaults);\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n      var value = Object.getOwnPropertyDescriptor(defaults, key);\n      if (value && value.configurable && obj[key] === undefined) {\n        Object.defineProperty(obj, key, value);\n      }\n    }\n    return obj;\n  })\n"),s.defineProperty=(0,i.default)("\n  (function (obj, key, value) {\n    // Shortcircuit the slow defineProperty path when possible.\n    // We are trying to avoid issues where setters defined on the\n    // prototype cause side effects under the fast path of simple\n    // assignment. By checking for existence of the property with\n    // the in operator, we can optimize most of this overhead away.\n    if (key in obj) {\n      Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n      });\n    } else {\n      obj[key] = value;\n    }\n    return obj;\n  });\n"),s.extends=(0,i.default)("\n  Object.assign || (function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  })\n"),s.get=(0,i.default)('\n  (function get(object, property, receiver) {\n    if (object === null) object = Function.prototype;\n\n    var desc = Object.getOwnPropertyDescriptor(object, property);\n\n    if (desc === undefined) {\n      var parent = Object.getPrototypeOf(object);\n\n      if (parent === null) {\n        return undefined;\n      } else {\n        return get(parent, property, receiver);\n      }\n    } else if ("value" in desc) {\n      return desc.value;\n    } else {\n      var getter = desc.get;\n\n      if (getter === undefined) {\n        return undefined;\n      }\n\n      return getter.call(receiver);\n    }\n  });\n'),s.inherits=(0,i.default)('\n  (function (subClass, superClass) {\n    if (typeof superClass !== "function" && superClass !== null) {\n      throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);\n    }\n    subClass.prototype = Object.create(superClass && superClass.prototype, {\n      constructor: {\n        value: subClass,\n        enumerable: false,\n        writable: true,\n        configurable: true\n      }\n    });\n    if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n  })\n'),s.instanceof=(0,i.default)('\n  (function (left, right) {\n    if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {\n      return right[Symbol.hasInstance](left);\n    } else {\n      return left instanceof right;\n    }\n  });\n'),s.interopRequireDefault=(0,i.default)("\n  (function (obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n  })\n"),s.interopRequireWildcard=(0,i.default)("\n  (function (obj) {\n    if (obj && obj.__esModule) {\n      return obj;\n    } else {\n      var newObj = {};\n      if (obj != null) {\n        for (var key in obj) {\n          if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n        }\n      }\n      newObj.default = obj;\n      return newObj;\n    }\n  })\n"),s.newArrowCheck=(0,i.default)('\n  (function (innerThis, boundThis) {\n    if (innerThis !== boundThis) {\n      throw new TypeError("Cannot instantiate an arrow function");\n    }\n  });\n'),s.objectDestructuringEmpty=(0,i.default)('\n  (function (obj) {\n    if (obj == null) throw new TypeError("Cannot destructure undefined");\n  });\n'),s.objectWithoutProperties=(0,i.default)("\n  (function (obj, keys) {\n    var target = {};\n    for (var i in obj) {\n      if (keys.indexOf(i) >= 0) continue;\n      if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n      target[i] = obj[i];\n    }\n    return target;\n  })\n"),s.possibleConstructorReturn=(0,i.default)('\n  (function (self, call) {\n    if (!self) {\n      throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called");\n    }\n    return call && (typeof call === "object" || typeof call === "function") ? call : self;\n  });\n'),s.selfGlobal=(0,i.default)('\n  typeof global === "undefined" ? self : global\n'),s.set=(0,i.default)('\n  (function set(object, property, value, receiver) {\n    var desc = Object.getOwnPropertyDescriptor(object, property);\n\n    if (desc === undefined) {\n      var parent = Object.getPrototypeOf(object);\n\n      if (parent !== null) {\n        set(parent, property, value, receiver);\n      }\n    } else if ("value" in desc && desc.writable) {\n      desc.value = value;\n    } else {\n      var setter = desc.set;\n\n      if (setter !== undefined) {\n        setter.call(receiver, value);\n      }\n    }\n\n    return value;\n  });\n'),s.slicedToArray=(0,i.default)('\n  (function () {\n    // Broken out into a separate function to avoid deoptimizations due to the try/catch for the\n    // array iterator case.\n    function sliceIterator(arr, i) {\n      // this is an expanded form of `for...of` that properly supports abrupt completions of\n      // iterators etc. variable names have been minimised to reduce the size of this massive\n      // helper. sometimes spec compliancy is annoying :(\n      //\n      // _n = _iteratorNormalCompletion\n      // _d = _didIteratorError\n      // _e = _iteratorError\n      // _i = _iterator\n      // _s = _step\n\n      var _arr = [];\n      var _n = true;\n      var _d = false;\n      var _e = undefined;\n      try {\n        for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n          _arr.push(_s.value);\n          if (i && _arr.length === i) break;\n        }\n      } catch (err) {\n        _d = true;\n        _e = err;\n      } finally {\n        try {\n          if (!_n && _i["return"]) _i["return"]();\n        } finally {\n          if (_d) throw _e;\n        }\n      }\n      return _arr;\n    }\n\n    return function (arr, i) {\n      if (Array.isArray(arr)) {\n        return arr;\n      } else if (Symbol.iterator in Object(arr)) {\n        return sliceIterator(arr, i);\n      } else {\n        throw new TypeError("Invalid attempt to destructure non-iterable instance");\n      }\n    };\n  })();\n'),s.slicedToArrayLoose=(0,i.default)('\n  (function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      var _arr = [];\n      for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n        _arr.push(_step.value);\n        if (i && _arr.length === i) break;\n      }\n      return _arr;\n    } else {\n      throw new TypeError("Invalid attempt to destructure non-iterable instance");\n    }\n  });\n'),s.taggedTemplateLiteral=(0,i.default)("\n  (function (strings, raw) {\n    return Object.freeze(Object.defineProperties(strings, {\n        raw: { value: Object.freeze(raw) }\n    }));\n  });\n"),s.taggedTemplateLiteralLoose=(0,i.default)("\n  (function (strings, raw) {\n    strings.raw = raw;\n    return strings;\n  });\n"),s.temporalRef=(0,i.default)('\n  (function (val, name, undef) {\n    if (val === undef) {\n      throw new ReferenceError(name + " is not defined - temporal dead zone");\n    } else {\n      return val;\n    }\n  })\n'),s.temporalUndefined=(0,i.default)("\n  ({})\n"),s.toArray=(0,i.default)("\n  (function (arr) {\n    return Array.isArray(arr) ? arr : Array.from(arr);\n  });\n"),s.toConsumableArray=(0,i.default)("\n  (function (arr) {\n    if (Array.isArray(arr)) {\n      for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n      return arr2;\n    } else {\n      return Array.from(arr);\n    }\n  });\n"),e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types;return{pre:function(e){e.set("helpersNamespace",t.identifier("babelHelpers"))}}},e.exports=t.default},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=r(89);e.exports=function(e){var t=e.types,r={};return{visitor:{Identifier:function(e,s){if("MemberExpression"!==e.parent.type&&"ClassMethod"!==e.parent.type&&!e.isPure()&&s.opts.hasOwnProperty(e.node.name)){var a=s.opts[e.node.name];void 0!==a&&null!==a||(a=t.identifier(String(a)));var o=void 0===a?"undefined":n(a);"string"===o||"boolean"===o?a={type:o,replacement:a}:t.isNode(a)?a={type:"node",replacement:a}:"object"===o&&"node"===a.type&&"string"==typeof a.replacement&&(a.replacement=r[a.replacement]?r[a.replacement]:i.parseExpression(a.replacement));var u=a.replacement;switch(a.type){case"boolean":e.replaceWith(t.booleanLiteral(u));break;case"node":t.isNode(u)&&e.replaceWith(u);break;default:var l=String(u);e.replaceWith(t.stringLiteral(l))}}}}}}},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("dynamicImport")}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push("functionSent")}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(){return{inherits:r(67)}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types,n={Function:function(e){e.skip()},YieldExpression:function(e,r){var n=e.node;if(n.delegate){var i=r.addHelper("asyncGeneratorDelegate");n.argument=t.callExpression(i,[t.callExpression(r.addHelper("asyncIterator"),[n.argument]),t.memberExpression(r.addHelper("asyncGenerator"),t.identifier("await"))])}}};return{inherits:r(195),visitor:{Function:function(e,r){e.node.async&&e.node.generator&&(e.traverse(n,r),(0,i.default)(e,r.file,{wrapAsync:t.memberExpression(r.addHelper("asyncGenerator"),t.identifier("wrap")),wrapAwait:t.memberExpression(r.addHelper("asyncGenerator"),t.identifier("await"))}))}}}};var n=r(124),i=function(e){return e&&e.__esModule?e:{default:e}}(n);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(){return{inherits:r(67),visitor:{Function:function(e,t){e.node.async&&!e.node.generator&&(0,i.default)(e,t.file,{wrapAsync:t.addImport(t.opts.module,t.opts.method)})}}}};var n=r(124),i=function(e){return e&&e.__esModule?e:{default:e}}(n);e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){function t(e,t){if(!t.applyDecoratedDescriptor){t.applyDecoratedDescriptor=e.scope.generateUidIdentifier("applyDecoratedDescriptor");var r=f({NAME:t.applyDecoratedDescriptor});e.scope.getProgramParent().path.unshiftContainer("body",r)}return t.applyDecoratedDescriptor}function n(e,t){if(!t.initializerDefineProp){t.initializerDefineProp=e.scope.generateUidIdentifier("initDefineProp");var r=c({NAME:t.initializerDefineProp});e.scope.getProgramParent().path.unshiftContainer("body",r)}return t.initializerDefineProp}function i(e,t){if(!t.initializerWarningHelper){t.initializerWarningHelper=e.scope.generateUidIdentifier("initializerWarningHelper");var r=l({NAME:t.initializerWarningHelper});e.scope.getProgramParent().path.unshiftContainer("body",r)}return t.initializerWarningHelper}function p(e){var t=(e.isClass()?[e].concat(e.get("body.body")):e.get("properties")).reduce(function(e,t){return e.concat(t.node.decorators||[])},[]),r=t.filter(function(e){return!v.isIdentifier(e.expression)});if(0!==r.length)return v.sequenceExpression(r.map(function(t){var r=t.expression,n=t.expression=e.scope.generateDeclaredUidIdentifier("dec");return v.assignmentExpression("=",n,r)}).concat([e.node]))}function d(e,t){var r=e.node.decorators||[];if(e.node.decorators=null,0!==r.length){var n=e.scope.generateDeclaredUidIdentifier("class");return r.map(function(e){return e.expression}).reverse().reduce(function(e,t){return s({CLASS_REF:n,DECORATOR:t,INNER:e}).expression},e.node)}}function h(e,t){if(e.node.body.body.some(function(e){return(e.decorators||[]).length>0}))return y(e,t,e.node.body.body)}function m(e,t){if(e.node.properties.some(function(e){return(e.decorators||[]).length>0}))return y(e,t,e.node.properties)}function y(e,r,n){var s=(e.scope.generateDeclaredUidIdentifier("desc"),e.scope.generateDeclaredUidIdentifier("value"),
e.scope.generateDeclaredUidIdentifier(e.isClass()?"class":"obj")),l=n.reduce(function(n,l){var c=l.decorators||[];if(l.decorators=null,0===c.length)return n;if(l.computed)throw e.buildCodeFrameError("Computed method/property decorators are not yet supported.");var f=v.isLiteral(l.key)?l.key:v.stringLiteral(l.key.name),p=e.isClass()&&!l.static?a({CLASS_REF:s}).expression:s;if(v.isClassProperty(l,{static:!1})){var d=e.scope.generateDeclaredUidIdentifier("descriptor"),h=l.value?v.functionExpression(null,[],v.blockStatement([v.returnStatement(l.value)])):v.nullLiteral();l.value=v.callExpression(i(e,r),[d,v.thisExpression()]),n=n.concat([v.assignmentExpression("=",d,v.callExpression(t(e,r),[p,f,v.arrayExpression(c.map(function(e){return e.expression})),v.objectExpression([v.objectProperty(v.identifier("enumerable"),v.booleanLiteral(!0)),v.objectProperty(v.identifier("initializer"),h)])]))])}else n=n.concat(v.callExpression(t(e,r),[p,f,v.arrayExpression(c.map(function(e){return e.expression})),v.isObjectProperty(l)||v.isClassProperty(l,{static:!0})?u({TEMP:e.scope.generateDeclaredUidIdentifier("init"),TARGET:p,PROPERTY:f}).expression:o({TARGET:p,PROPERTY:f}).expression,p]));return n},[]);return v.sequenceExpression([v.assignmentExpression("=",s,e.node),v.sequenceExpression(l),s])}var v=e.types;return{inherits:r(125),visitor:{ExportDefaultDeclaration:function(e){if(e.get("declaration").isClassDeclaration()){var t=e.node,r=t.declaration.id||e.scope.generateUidIdentifier("default");t.declaration.id=r,e.replaceWith(t.declaration),e.insertAfter(v.exportNamedDeclaration(null,[v.exportSpecifier(r,v.identifier("default"))]))}},ClassDeclaration:function(e){var t=e.node,r=t.id||e.scope.generateUidIdentifier("class");e.replaceWith(v.variableDeclaration("let",[v.variableDeclarator(r,v.toExpression(t))]))},ClassExpression:function(e,t){var r=p(e)||d(e,t)||h(e,t);r&&e.replaceWith(r)},ObjectExpression:function(e,t){var r=p(e)||m(e,t);r&&e.replaceWith(r)},AssignmentExpression:function(e,t){t.initializerWarningHelper&&e.get("left").isMemberExpression()&&e.get("left.property").isIdentifier()&&e.get("right").isCallExpression()&&e.get("right.callee").isIdentifier({name:t.initializerWarningHelper.name})&&e.replaceWith(v.callExpression(n(e,t),[e.get("left.object").node,v.stringLiteral(e.get("left.property").node.name),e.get("right.arguments")[0].node,e.get("right.arguments")[1].node]))}}}};var n=r(4),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s=(0,i.default)("\n  DECORATOR(CLASS_REF = INNER) || CLASS_REF;\n"),a=(0,i.default)("\n  CLASS_REF.prototype;\n"),o=(0,i.default)("\n    Object.getOwnPropertyDescriptor(TARGET, PROPERTY);\n"),u=(0,i.default)("\n    (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\n        enumerable: true,\n        configurable: true,\n        writable: true,\n        initializer: function(){\n            return TEMP;\n        }\n    })\n"),l=(0,i.default)("\n    function NAME(descriptor, context){\n        throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n    }\n"),c=(0,i.default)("\n    function NAME(target, property, descriptor, context){\n        if (!descriptor) return;\n\n        Object.defineProperty(target, property, {\n            enumerable: descriptor.enumerable,\n            configurable: descriptor.configurable,\n            writable: descriptor.writable,\n            value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,\n        });\n    }\n"),f=(0,i.default)("\n    function NAME(target, property, decorators, descriptor, context){\n        var desc = {};\n        Object['ke' + 'ys'](descriptor).forEach(function(key){\n            desc[key] = descriptor[key];\n        });\n        desc.enumerable = !!desc.enumerable;\n        desc.configurable = !!desc.configurable;\n        if ('value' in desc || desc.initializer){\n            desc.writable = true;\n        }\n\n        desc = decorators.slice().reverse().reduce(function(desc, decorator){\n            return decorator(target, property, desc) || desc;\n        }, desc);\n\n        if (context && desc.initializer !== void 0){\n            desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n            desc.initializer = undefined;\n        }\n\n        if (desc.initializer === void 0){\n            // This is a hack to avoid this being processed by 'transform-runtime'.\n            // See issue #9.\n            Object['define' + 'Property'](target, property, desc);\n            desc = null;\n        }\n\n        return desc;\n    }\n")},function(e,t,r){"use strict";function n(e,t){var r=t._guessExecutionStatusRelativeTo(e);return"before"===r?"inside":"after"===r?"outside":"maybe"}function i(e,t){return o.callExpression(t.addHelper("temporalRef"),[e,o.stringLiteral(e.name),t.addHelper("temporalUndefined")])}function s(e,t,r){var n=r.letReferences[e.name];return!!n&&t.getBindingIdentifier(e.name)===n}t.__esModule=!0,t.visitor=void 0;var a=r(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(a);t.visitor={ReferencedIdentifier:function(e,t){if(this.file.opts.tdz){var r=e.node,a=e.parent,u=e.scope;if(!e.parentPath.isFor({left:r})&&s(r,u,t)){var l=u.getBinding(r.name).path,c=n(e,l);if("inside"!==c)if("maybe"===c){var f=i(r,t.file);if(l.parent._tdzThis=!0,e.skip(),e.parentPath.isUpdateExpression()){if(a._ignoreBlockScopingTDZ)return;e.parentPath.replaceWith(o.sequenceExpression([f,a]))}else e.replaceWith(f)}else"outside"===c&&e.replaceWith(o.throwStatement(o.inherits(o.newExpression(o.identifier("ReferenceError"),[o.stringLiteral(r.name+" is not defined - temporal dead zone")]),r)))}}},AssignmentExpression:{exit:function(e,t){if(this.file.opts.tdz){var r=e.node;if(!r._ignoreBlockScopingTDZ){var n=[],a=e.getBindingIdentifiers();for(var u in a){var l=a[u];s(l,e.scope,t)&&n.push(i(l,t.file))}n.length&&(r._ignoreBlockScopingTDZ=!0,n.push(r),e.replaceWithMultiple(n.map(o.expressionStatement)))}}}}}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(3),s=n(i),a=r(42),o=n(a),u=r(41),l=n(u),c=r(40),f=n(c),p=r(207),d=n(p),h=r(1),m=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(h),y=function(e){function t(){(0,s.default)(this,t);var r=(0,o.default)(this,e.apply(this,arguments));return r.isLoose=!0,r}return(0,l.default)(t,e),t.prototype._processMethod=function(e,t){if(!e.decorators){var r=this.classRef;e.static||(r=m.memberExpression(r,m.identifier("prototype")));var n=m.memberExpression(r,e.key,e.computed||m.isLiteral(e.key)),i=m.functionExpression(null,e.params,e.body,e.generator,e.async);i.returnType=e.returnType;var s=m.toComputedKey(e,e.key);m.isStringLiteral(s)&&(i=(0,f.default)({node:i,id:s,scope:t}));var a=m.expressionStatement(m.assignmentExpression("=",n,i));return m.inheritsComments(a,e),this.body.push(a),!0}},t}(d.default);t.default=y,e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{BinaryExpression:function(e){var r=e.node;"instanceof"===r.operator&&e.replaceWith(t.callExpression(this.addHelper("instanceof"),[r.left,r.right]))}}}},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){for(var t=e.params,r=Array.isArray(t),n=0,t=r?t:(0,o.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i;if(!m.isIdentifier(s))return!0}return!1}function s(e,t){if(!e.hasOwnBinding(t.name))return!0;var r=e.getOwnBinding(t.name),n=r.kind;return"param"===n||"local"===n}t.__esModule=!0,t.visitor=void 0;var a=r(2),o=n(a),u=r(189),l=n(u),c=r(317),f=n(c),p=r(4),d=n(p),h=r(1),m=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(h),y=(0,d.default)("\n  let VARIABLE_NAME =\n    ARGUMENTS.length > ARGUMENT_KEY && ARGUMENTS[ARGUMENT_KEY] !== undefined ?\n      ARGUMENTS[ARGUMENT_KEY]\n    :\n      DEFAULT_VALUE;\n"),v=(0,d.default)("\n  let $0 = $1[$2];\n"),g={ReferencedIdentifier:function(e,t){var r=e.scope,n=e.node;"eval"!==n.name&&s(r,n)||(t.iife=!0,e.stop())},Scope:function(e){e.skip()}};t.visitor={Function:function(e){var t=e.node,r=e.scope;if(i(t)){e.ensureBlock();var n={iife:!1,scope:r},a=[],o=m.identifier("arguments");o._shadowedFunctionLiteral=e;for(var u=(0,l.default)(t),c=e.get("params"),p=0;p<c.length;p++){var d=c[p];if(d.isAssignmentPattern()){var h=d.get("left"),b=d.get("right");if(p>=u||h.isPattern()){var E=r.generateUidIdentifier("x");E._isDefaultPlaceholder=!0,t.params[p]=E}else t.params[p]=h.node;n.iife||(b.isIdentifier()&&!s(r,b.node)?n.iife=!0:b.traverse(g,n)),function(e,r,n){var i=y({VARIABLE_NAME:e,DEFAULT_VALUE:r,ARGUMENT_KEY:m.numericLiteral(n),ARGUMENTS:o});i._blockHoist=t.params.length-n,a.push(i)}(h.node,b.node,p)}else n.iife||d.isIdentifier()||d.traverse(g,n)}for(var x=u+1;x<t.params.length;x++){var A=t.params[x];if(!A._isDefaultPlaceholder){var S=v(A,o,m.numericLiteral(x));S._blockHoist=t.params.length-x,a.push(S)}}t.params=t.params.slice(0,u),n.iife?(a.push((0,f.default)(e,r)),e.set("body",m.blockStatement(a))):e.get("body").unshiftContainer("body",a)}}}},function(e,t,r){"use strict";t.__esModule=!0,t.visitor=void 0;var n=r(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(n);t.visitor={Function:function(e){for(var t=e.get("params"),r=i.isRestElement(t[t.length-1])?1:0,n=t.length-r,s=0;s<n;s++){var a=t[s];if(a.isArrayPattern()||a.isObjectPattern()){var o=e.scope.generateUidIdentifier("ref"),u=i.variableDeclaration("let",[i.variableDeclarator(a.node,o)]);u._blockHoist=n-s,e.ensureBlock(),e.get("body").unshiftContainer("body",u),a.replaceWith(o)}}}}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){return p.isRestElement(e.params[e.params.length-1])}function s(e,t,r){var n=void 0;n=p.isNumericLiteral(e.parent.property)?p.numericLiteral(e.parent.property.value+r):0===r?e.parent.property:p.binaryExpression("+",e.parent.property,p.numericLiteral(r));var i=e.scope;if(i.isPure(n))e.parentPath.replaceWith(h({ARGUMENTS:t,INDEX:n}));else{var s=i.generateUidIdentifierBasedOnNode(n);i.push({id:s,kind:"var"}),e.parentPath.replaceWith(m({ARGUMENTS:t,INDEX:n,REF:s}))}}function a(e,t,r){r?e.parentPath.replaceWith(y({ARGUMENTS:t,OFFSET:p.numericLiteral(r)})):e.replaceWith(t)}t.__esModule=!0,t.visitor=void 0;var o=r(2),u=n(o),l=r(4),c=n(l),f=r(1),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(f),d=(0,c.default)("\n  for (var LEN = ARGUMENTS.length,\n           ARRAY = Array(ARRAY_LEN),\n           KEY = START;\n       KEY < LEN;\n       KEY++) {\n    ARRAY[ARRAY_KEY] = ARGUMENTS[KEY];\n  }\n"),h=(0,c.default)("\n  ARGUMENTS.length <= INDEX ? undefined : ARGUMENTS[INDEX]\n"),m=(0,c.default)("\n  REF = INDEX, ARGUMENTS.length <= REF ? undefined : ARGUMENTS[REF]\n"),y=(0,c.default)("\n  ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET\n"),v={Scope:function(e,t){e.scope.bindingIdentifierEquals(t.name,t.outerBinding)||e.skip()},Flow:function(e){e.isTypeCastExpression()||e.skip()},"Function|ClassProperty":function(e,t){var r=t.noOptimise;t.noOptimise=!0,e.traverse(v,t),t.noOptimise=r,e.skip()},ReferencedIdentifier:function(e,t){var r=e.node;if("arguments"===r.name&&(t.deopted=!0),r.name===t.name)if(t.noOptimise)t.deopted=!0;else{var n=e.parentPath;if("params"===n.listKey&&n.key<t.offset)return;if(n.isMemberExpression({object:r})){var i=n.parentPath,s=!t.deopted&&!(i.isAssignmentExpression()&&n.node===i.node.left||i.isLVal()||i.isForXStatement()||i.isUpdateExpression()||i.isUnaryExpression({operator:"delete"})||(i.isCallExpression()||i.isNewExpression())&&n.node===i.node.callee);if(s)if(n.node.computed){if(n.get("property").isBaseType("number"))return void t.candidates.push({cause:"indexGetter",path:e})}else if("length"===n.node.property.name)return void t.candidates.push({cause:"lengthGetter",path:e})}if(0===t.offset&&n.isSpreadElement()){var a=n.parentPath;if(a.isCallExpression()&&1===a.node.arguments.length)return void t.candidates.push({cause:"argSpread",path:e})}t.references.push(e)}},BindingIdentifier:function(e,t){e.node.name===t.name&&(t.deopted=!0)}};t.visitor={Function:function(e){var t=e.node,r=e.scope;if(i(t)){var n=t.params.pop().argument,o=p.identifier("arguments");o._shadowedFunctionLiteral=e;var l={references:[],offset:t.params.length,argumentsNode:o,outerBinding:r.getBindingIdentifier(n.name),candidates:[],name:n.name,deopted:!1};if(e.traverse(v,l),l.deopted||l.references.length){l.references=l.references.concat(l.candidates.map(function(e){return e.path})),l.deopted=l.deopted||!!t.shadow;var c=p.numericLiteral(t.params.length),f=r.generateUidIdentifier("key"),h=r.generateUidIdentifier("len"),m=f,y=h;t.params.length&&(m=p.binaryExpression("-",f,c),y=p.conditionalExpression(p.binaryExpression(">",h,c),p.binaryExpression("-",h,c),p.numericLiteral(0)));var g=d({ARGUMENTS:o,ARRAY_KEY:m,ARRAY_LEN:y,START:c,ARRAY:n,KEY:f,LEN:h});if(l.deopted)g._blockHoist=t.params.length+1,t.body.body.unshift(g);else{g._blockHoist=1;var b=e.getEarliestCommonAncestorFrom(l.references).getStatementParent();b.findParent(function(e){if(!e.isLoop())return e.isFunction();b=e}),b.insertBefore(g)}}else for(var E=l.candidates,x=Array.isArray(E),A=0,E=x?E:(0,u.default)(E);;){var S;if(x){if(A>=E.length)break;S=E[A++]}else{if(A=E.next(),A.done)break;S=A.value}var _=S,D=_.path,C=_.cause;switch(C){case"indexGetter":s(D,o,l.offset);break;case"lengthGetter":a(D,o,l.offset);break;default:D.replaceWith(o)}}}}}},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{MemberExpression:{exit:function(e){var r=e.node,n=r.property;r.computed||!t.isIdentifier(n)||t.isValidIdentifier(n.name)||(r.property=t.stringLiteral(n.name),r.computed=!0)}}}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{ObjectProperty:{exit:function(e){var r=e.node,n=r.key;r.computed||!t.isIdentifier(n)||t.isValidIdentifier(n.name)||(r.key=t.stringLiteral(n.name))}}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){var t=e.types;return{visitor:{ObjectExpression:function(e,r){for(var n=e.node,s=!1,o=n.properties,u=Array.isArray(o),l=0,o=u?o:(0,i.default)(o);;){var c;if(u){if(l>=o.length)break;c=o[l++]}else{if(l=o.next(),l.done)break;c=l.value}var f=c;if("get"===f.kind||"set"===f.kind){s=!0;break}}if(s){var p={};n.properties=n.properties.filter(function(e){return!!(e.computed||"get"!==e.kind&&"set"!==e.kind)||(a.push(p,e,null,r),!1)}),e.replaceWith(t.callExpression(t.memberExpression(t.identifier("Object"),t.identifier("defineProperties")),[n,a.toDefineObject(p)]))}}}}};var s=r(188),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(s);e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){var t=e.parse,r=e.traverse;return{visitor:{CallExpression:function(e){if(e.get("callee").isIdentifier({name:"eval"})&&1===e.node.arguments.length){var n=e.get("arguments")[0].evaluate();if(!n.confident)return;var i=n.value;if("string"!=typeof i)return;var s=t(i);return r.removeProperties(s),s.program}}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){function t(e,t){e.addComment("trailing",n(e,t)),e.replaceWith(i.noop())}function n(e,t){var r=e.getSource().replace(/\*-\//g,"*-ESCAPED/").replace(/\*\//g,"*-/");return t&&t.optional&&(r="?"+r),":"!==r[0]&&(r=":: "+r),r}var i=e.types;return{inherits:r(126),visitor:{TypeCastExpression:function(e){var t=e.node;e.get("expression").addComment("trailing",n(e.get("typeAnnotation"))),e.replaceWith(i.parenthesizedExpression(t.expression))},Identifier:function(e){var t=e.node;t.optional&&!t.typeAnnotation&&e.addComment("trailing",":: ?")},AssignmentPattern:{exit:function(e){e.node.left.optional=!1}},Function:{exit:function(e){e.node.params.forEach(function(e){return e.optional=!1})}},ClassProperty:function(e){var r=e.node,n=e.parent;r.value||t(e,n)},"ExportNamedDeclaration|Flow":function(e){var r=e.node,n=e.parent;i.isExportNamedDeclaration(r)&&!i.isFlow(r.declaration)||t(e,n)},ImportDeclaration:function(e){var r=e.node,n=e.parent;i.isImportDeclaration(r)&&"type"!==r.importKind&&"typeof"!==r.importKind||t(e,n)}}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{FunctionExpression:{exit:function(e){var r=e.node;r.id&&(r._ignoreUserWhitespace=!0,e.replaceWith(t.callExpression(t.functionExpression(null,[],t.blockStatement([t.toStatement(r),t.returnStatement(r.id)])),[])))}}}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{visitor:{CallExpression:function(e,t){e.get("callee").matchesPattern("Object.assign")&&(e.node.callee=t.addHelper("extends"))}}}},e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(){return{visitor:{CallExpression:function(e,t){e.get("callee").matchesPattern("Object.setPrototypeOf")&&(e.node.callee=t.addHelper("defaults"))}}}},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i);t.default=function(e){function t(e){return i.isLiteral(i.toComputedKey(e,e.key),{value:"__proto__"})}function r(e){var t=e.left;return i.isMemberExpression(t)&&i.isLiteral(i.toComputedKey(t,t.property),{value:"__proto__"})}function n(e,t,r){return i.expressionStatement(i.callExpression(r.addHelper("defaults"),[t,e.right]))}var i=e.types;return{visitor:{AssignmentExpression:function(e,t){if(r(e.node)){var s=[],a=e.node.left.object,o=e.scope.maybeGenerateMemoised(a);o&&s.push(i.expressionStatement(i.assignmentExpression("=",o,a))),s.push(n(e.node,o||a,t)),o&&s.push(o),e.replaceWithMultiple(s)}},ExpressionStatement:function(e,t){var s=e.node.expression;i.isAssignmentExpression(s,{operator:"="})&&r(s)&&e.replaceWith(n(s,s.left.object,t))},ObjectExpression:function(e,r){for(var n=void 0,a=e.node,u=a.properties,l=Array.isArray(u),c=0,u=l?u:(0,s.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var p=f;t(p)&&(n=p.value,(0,o.default)(a.properties,p))}if(n){var d=[i.objectExpression([]),n];a.properties.length&&d.push(a),e.replaceWith(i.callExpression(r.addHelper("extends"),d))}}}}};var a=r(277),o=n(a);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(11),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){var t=e.types,r={enter:function(e,r){var n=function(){r.isImmutable=!1,e.stop()};if(e.isJSXClosingElement())return void e.skip();if(e.isJSXIdentifier({name:"ref"})&&e.parentPath.isJSXAttribute({name:e.node}))return n();if(!(e.isJSXIdentifier()||e.isIdentifier()||e.isJSXMemberExpression()||e.isImmutable())){if(e.isPure()){var s=e.evaluate();if(s.confident){var a=s.value;if(!(a&&"object"===(void 0===a?"undefined":(0,i.default)(a))||"function"==typeof a))return}else if(t.isIdentifier(s.deopt))return}n()}}};return{visitor:{JSXElement:function(e){if(!e.node._hoisted){var t={isImmutable:!0};e.traverse(r,t),t.isImmutable?e.hoist():e.node._hoisted=!0}}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(2),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default=function(e){function t(e){for(var t=0;t<e.length;t++){var n=e[t];if(s.isJSXSpreadAttribute(n))return!0;if(r(n,"ref"))return!0}return!1}function r(e,t){return s.isJSXAttribute(e)&&s.isJSXIdentifier(e.name,{name:t})}function n(e){var t=e.value;return t?(s.isJSXExpressionContainer(t)&&(t=t.expression),t):s.identifier("true")}var s=e.types;return{visitor:{JSXElement:function(e,a){var o=e.node,u=o.openingElement;if(!t(u.attributes)){var l=s.objectExpression([]),c=null,f=u.name;s.isJSXIdentifier(f)&&s.react.isCompatTag(f.name)&&(f=s.stringLiteral(f.name));for(var p=u.attributes,d=Array.isArray(p),h=0,p=d?p:(0,i.default)(p);;){var m;if(d){if(h>=p.length)break;m=p[h++]}else{if(h=p.next(),h.done)break;m=h.value}var y=m;if(r(y,"key"))c=n(y);else{var v=y.name.name,g=s.isValidIdentifier(v)?s.identifier(v):s.stringLiteral(v);!function(e,t,r){e.push(s.objectProperty(t,r))}(l.properties,g,n(y))}}var b=[f,l];if(c||o.children.length){var E=s.react.buildChildren(o);b.push.apply(b,[c||s.unaryExpression("void",s.numericLiteral(0),!0)].concat(E))}var x=s.callExpression(a.addHelper("jsx"),b);e.replaceWith(x)}}}}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types;return{manipulateOptions:function(e,t){t.plugins.push("jsx")},visitor:(0,i.default)({pre:function(e){e.callee=e.tagExpr},post:function(e){t.react.isCompatTag(e.tagName)&&(e.call=t.callExpression(t.memberExpression(t.memberExpression(t.identifier("React"),t.identifier("DOM")),e.tagExpr,t.isLiteral(e.tagExpr)),e.args))}})}};var n=r(348),i=function(e){return e&&e.__esModule?e:{default:e}}(n);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){function t(e,r){if(a.isJSXIdentifier(e)){if("this"===e.name&&a.isReferenced(e,r))return a.thisExpression();if(!i.default.keyword.isIdentifierNameES6(e.name))return a.stringLiteral(e.name);e.type="Identifier"}else if(a.isJSXMemberExpression(e))return a.memberExpression(t(e.object,e),t(e.property,e));return e}function r(e){return a.isJSXExpressionContainer(e)?e.expression:e}function n(e){var t=r(e.value||a.booleanLiteral(!0));return a.isStringLiteral(t)&&!a.isJSXExpressionContainer(e.value)&&(t.value=t.value.replace(/\n\s+/g," ")),a.isValidIdentifier(e.name.name)?e.name.type="Identifier":e.name=a.stringLiteral(e.name.name),a.inherits(a.objectProperty(e.name,t),e)}function s(r,n){r.parent.children=a.react.buildChildren(r.parent);var i=t(r.node.name,r.node),s=[],u=void 0;a.isIdentifier(i)?u=i.name:a.isLiteral(i)&&(u=i.value);var l={tagExpr:i,tagName:u,args:s};e.pre&&e.pre(l,n);var c=r.node.attributes;return c=c.length?o(c,n):a.nullLiteral(),s.push(c),e.post&&e.post(l,n),l.call||a.callExpression(l.callee,s)}function o(e,t){function r(){i.length&&(s.push(a.objectExpression(i)),i=[])}var i=[],s=[],o=t.opts.useBuiltIns||!1;if("boolean"!=typeof o)throw new Error("transform-react-jsx currently only accepts a boolean option for useBuiltIns (defaults to false)");for(;e.length;){var u=e.shift();a.isJSXSpreadAttribute(u)?(r(),s.push(u.argument)):i.push(n(u))}if(r(),1===s.length)e=s[0];else{a.isObjectExpression(s[0])||s.unshift(a.objectExpression([]));var l=o?a.memberExpression(a.identifier("Object"),a.identifier("assign")):t.addHelper("extends");e=a.callExpression(l,s)}return e}var u={};return u.JSXNamespacedName=function(e){throw e.buildCodeFrameError("Namespace tags are not supported. ReactJSX is not XML.")},u.JSXElement={exit:function(e,t){var r=s(e.get("openingElement"),t);r.arguments=r.arguments.concat(e.node.children),r.arguments.length>=3&&(r._prettyCall=!0),e.replaceWith(a.inherits(r,e.node))}},u};var n=r(97),i=function(e){return e&&e.__esModule?e:{default:e}}(n),s=r(1),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(s);e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{JSXOpeningElement:function(e){var n=e.node,i=t.jSXIdentifier(r),s=t.thisExpression();n.attributes.push(t.jSXAttribute(i,t.jSXExpressionContainer(s)))}}}};var r="__self";e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default=function(e){function t(e,t){var r=null!=t?i.numericLiteral(t):i.nullLiteral(),n=i.objectProperty(i.identifier("fileName"),e),s=i.objectProperty(i.identifier("lineNumber"),r);return i.objectExpression([n,s])}var i=e.types;return{visitor:{JSXOpeningElement:function(e,s){var a=i.jSXIdentifier(r),o=e.container.openingElement.loc;if(o){for(var u=e.container.openingElement.attributes,l=0;l<u.length;l++){var c=u[l].name;if(c&&c.name===r)return}if(!s.fileNameIdentifier){var f="unknown"!==s.file.log.filename?s.file.log.filename:null,p=e.scope.generateUidIdentifier(n);e.hub.file.scope.push({id:p,init:i.stringLiteral(f)}),s.fileNameIdentifier=p}var d=t(s.fileNameIdentifier,o.start.line);u.push(i.jSXAttribute(a,i.jSXExpressionContainer(d)))}}}}};var r="__source",n="_jsxFileName";e.exports=t.default},348,function(e,t){"use strict";e.exports={builtins:{Symbol:"symbol",Promise:"promise",Map:"map",WeakMap:"weak-map",Set:"set",WeakSet:"weak-set",Observable:"observable",setImmediate:"set-immediate",clearImmediate:"clear-immediate",asap:"asap"},methods:{Array:{concat:"array/concat",copyWithin:"array/copy-within",entries:"array/entries",every:"array/every",fill:"array/fill",filter:"array/filter",findIndex:"array/find-index",find:"array/find",forEach:"array/for-each",from:"array/from",includes:"array/includes",indexOf:"array/index-of",join:"array/join",keys:"array/keys",lastIndexOf:"array/last-index-of",map:"array/map",of:"array/of",pop:"array/pop",push:"array/push",reduceRight:"array/reduce-right",reduce:"array/reduce",reverse:"array/reverse",shift:"array/shift",slice:"array/slice",some:"array/some",sort:"array/sort",splice:"array/splice",unshift:"array/unshift",values:"array/values"},JSON:{stringify:"json/stringify"},Object:{assign:"object/assign",create:"object/create",defineProperties:"object/define-properties",defineProperty:"object/define-property",entries:"object/entries",freeze:"object/freeze",getOwnPropertyDescriptor:"object/get-own-property-descriptor",getOwnPropertyDescriptors:"object/get-own-property-descriptors",getOwnPropertyNames:"object/get-own-property-names",getOwnPropertySymbols:"object/get-own-property-symbols",getPrototypeOf:"object/get-prototype-of",isExtensible:"object/is-extensible",isFrozen:"object/is-frozen",isSealed:"object/is-sealed",is:"object/is",keys:"object/keys",preventExtensions:"object/prevent-extensions",seal:"object/seal",setPrototypeOf:"object/set-prototype-of",values:"object/values"},RegExp:{escape:"regexp/escape"},Math:{acosh:"math/acosh",asinh:"math/asinh",atanh:"math/atanh",cbrt:"math/cbrt",clz32:"math/clz32",cosh:"math/cosh",expm1:"math/expm1",fround:"math/fround",hypot:"math/hypot",imul:"math/imul",log10:"math/log10",log1p:"math/log1p",log2:"math/log2",sign:"math/sign",sinh:"math/sinh",tanh:"math/tanh",trunc:"math/trunc",iaddh:"math/iaddh",isubh:"math/isubh",imulh:"math/imulh",umulh:"math/umulh"},Symbol:{for:"symbol/for",hasInstance:"symbol/has-instance",isConcatSpreadable:"symbol/is-concat-spreadable",iterator:"symbol/iterator",keyFor:"symbol/key-for",match:"symbol/match",replace:"symbol/replace",search:"symbol/search",species:"symbol/species",split:"symbol/split",toPrimitive:"symbol/to-primitive",toStringTag:"symbol/to-string-tag",unscopables:"symbol/unscopables"},String:{at:"string/at",codePointAt:"string/code-point-at",endsWith:"string/ends-with",fromCodePoint:"string/from-code-point",includes:"string/includes",matchAll:"string/match-all",padLeft:"string/pad-left",padRight:"string/pad-right",padStart:"string/pad-start",padEnd:"string/pad-end",raw:"string/raw",repeat:"string/repeat",startsWith:"string/starts-with",trim:"string/trim",trimLeft:"string/trim-left",trimRight:"string/trim-right",trimStart:"string/trim-start",trimEnd:"string/trim-end"},Number:{EPSILON:"number/epsilon",isFinite:"number/is-finite",isInteger:"number/is-integer",isNaN:"number/is-nan",isSafeInteger:"number/is-safe-integer",MAX_SAFE_INTEGER:"number/max-safe-integer",MIN_SAFE_INTEGER:"number/min-safe-integer",parseFloat:"number/parse-float",parseInt:"number/parse-int"},Reflect:{apply:"reflect/apply",construct:"reflect/construct",defineProperty:"reflect/define-property",deleteProperty:"reflect/delete-property",enumerate:"reflect/enumerate",getOwnPropertyDescriptor:"reflect/get-own-property-descriptor",getPrototypeOf:"reflect/get-prototype-of",get:"reflect/get",has:"reflect/has",isExtensible:"reflect/is-extensible",ownKeys:"reflect/own-keys",preventExtensions:"reflect/prevent-extensions",setPrototypeOf:"reflect/set-prototype-of",set:"reflect/set",defineMetadata:"reflect/define-metadata",deleteMetadata:"reflect/delete-metadata",getMetadata:"reflect/get-metadata",getMetadataKeys:"reflect/get-metadata-keys",getOwnMetadata:"reflect/get-own-metadata",getOwnMetadataKeys:"reflect/get-own-metadata-keys",hasMetadata:"reflect/has-metadata",hasOwnMetadata:"reflect/has-own-metadata",metadata:"reflect/metadata"},System:{global:"system/global"},Error:{isError:"error/is-error"},Date:{},Function:{}}}},function(e,t,r){"use strict";t.__esModule=!0,t.definitions=void 0,t.default=function(e){function t(e){return e.moduleName||"babel-runtime"}function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var n=e.types,s=["interopRequireWildcard","interopRequireDefault"];return{pre:function(e){var r=t(this.opts);!1!==this.opts.helpers&&e.set("helperGenerator",function(t){if(s.indexOf(t)<0)return e.addImport(r+"/helpers/"+t,"default",t)}),this.setDynamic("regeneratorIdentifier",function(){return e.addImport(r+"/regenerator","default","regeneratorRuntime")})},visitor:{ReferencedIdentifier:function(e,s){var a=e.node,o=e.parent,u=e.scope;if("regeneratorRuntime"===a.name&&!1!==s.opts.regenerator)return void e.replaceWith(s.get("regeneratorIdentifier"));if(!1!==s.opts.polyfill&&!n.isMemberExpression(o)&&r(i.default.builtins,a.name)&&!u.getBindingIdentifier(a.name)){var l=t(s.opts);e.replaceWith(s.addImport(l+"/core-js/"+i.default.builtins[a.name],"default",a.name))}},CallExpression:function(e,r){if(!1!==r.opts.polyfill&&!e.node.arguments.length){var i=e.node.callee;if(n.isMemberExpression(i)&&i.computed&&e.get("callee.property").matchesPattern("Symbol.iterator")){var s=t(r.opts);e.replaceWith(n.callExpression(r.addImport(s+"/core-js/get-iterator","default","getIterator"),[i.object]))}}},BinaryExpression:function(e,r){if(!1!==r.opts.polyfill&&"in"===e.node.operator&&e.get("left").matchesPattern("Symbol.iterator")){var i=t(r.opts);e.replaceWith(n.callExpression(r.addImport(i+"/core-js/is-iterable","default","isIterable"),[e.node.right]))}},MemberExpression:{enter:function(e,s){if(!1!==s.opts.polyfill&&e.isReferenced()){var a=e.node,o=a.object,u=a.property;if(n.isReferenced(o,a)&&!a.computed&&r(i.default.methods,o.name)){var l=i.default.methods[o.name];if(r(l,u.name)&&!e.scope.getBindingIdentifier(o.name)){if("Object"===o.name&&"defineProperty"===u.name&&e.parentPath.isCallExpression()){var c=e.parentPath.node;if(3===c.arguments.length&&n.isLiteral(c.arguments[1]))return}var f=t(s.opts);e.replaceWith(s.addImport(f+"/core-js/"+l[u.name],"default",o.name+"$"+u.name))}}}},exit:function(e,s){if(!1!==s.opts.polyfill&&e.isReferenced()){var a=e.node,o=a.object;if(r(i.default.builtins,o.name)&&!e.scope.getBindingIdentifier(o.name)){var u=t(s.opts);e.replaceWith(n.memberExpression(s.addImport(u+"/core-js/"+i.default.builtins[o.name],"default",o.name),a.property,a.computed))}}}}}}};var n=r(352),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.definitions=i.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){var t=e.messages;return{visitor:{ReferencedIdentifier:function(e){var r=e.node,n=e.scope,s=n.getBinding(r.name)
;if(s&&"type"===s.kind&&!e.parentPath.isFlow())throw e.buildCodeFrameError(t.get("undeclaredVariableType",r.name),ReferenceError);if(!n.hasBinding(r.name)){var a=n.getAllBindings(),o=void 0,u=-1;for(var l in a){var c=(0,i.default)(r.name,l);c<=0||c>3||(c<=u||(o=l,u=c))}var f=void 0;throw f=o?t.get("undeclaredVariableSuggestion",r.name,o):t.get("undeclaredVariable",r.name),e.buildCodeFrameError(f,ReferenceError)}}}}};var n=r(471),i=function(e){return e&&e.__esModule?e:{default:e}}(n);e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0;var n=r(211),i=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default={plugins:[i.default]},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{presets:[!1!==t.es2015&&[s.default.buildPreset,t.es2015],!1!==t.es2016&&o.default,!1!==t.es2017&&l.default].filter(Boolean)}};var i=r(217),s=n(i),a=r(218),o=n(a),u=r(219),l=n(u);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(355),s=n(i),a=r(215),o=n(a),u=r(127),l=n(u),c=r(214),f=n(c);t.default={presets:[s.default],plugins:[o.default,l.default,f.default],env:{development:{plugins:[]}}},e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(220),s=n(i),a=r(206),o=n(a),u=r(212),l=n(u);t.default={presets:[s.default],plugins:[o.default,l.default]},e.exports=t.default},function(e,t,r){"use strict";e.exports={default:r(407),__esModule:!0}},function(e,t,r){"use strict";e.exports={default:r(410),__esModule:!0}},function(e,t,r){"use strict";e.exports={default:r(412),__esModule:!0}},function(e,t,r){"use strict";e.exports={default:r(413),__esModule:!0}},function(e,t,r){"use strict";e.exports={default:r(415),__esModule:!0}},function(e,t,r){"use strict";e.exports={default:r(416),__esModule:!0}},function(e,t,r){"use strict";e.exports={default:r(417),__esModule:!0}},function(e,t){"use strict";t.__esModule=!0,t.default=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i),a=r(3),o=n(a),u=r(36),l=n(u),c=r(1),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(c),p=function(){function e(t,r,n,i){(0,o.default)(this,e),this.queue=null,this.parentPath=i,this.scope=t,this.state=n,this.opts=r}return e.prototype.shouldVisit=function(e){var t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;var r=f.VISITOR_KEYS[e.type];if(!r||!r.length)return!1;for(var n=r,i=Array.isArray(n),a=0,n=i?n:(0,s.default)(n);;){var o;if(i){if(a>=n.length)break;o=n[a++]}else{if(a=n.next(),a.done)break;o=a.value}if(e[o])return!0}return!1},e.prototype.create=function(e,t,r,n){return l.default.get({parentPath:this.parentPath,parent:e,container:t,key:r,listKey:n})},e.prototype.maybeQueue=function(e,t){if(this.trap)throw new Error("Infinite cycle detected");this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))},e.prototype.visitMultiple=function(e,t,r){if(0===e.length)return!1;for(var n=[],i=0;i<e.length;i++){var s=e[i];s&&this.shouldVisit(s)&&n.push(this.create(t,e,i,r))}return this.visitQueue(n)},e.prototype.visitSingle=function(e,t){return!!this.shouldVisit(e[t])&&this.visitQueue([this.create(e,e,t)])},e.prototype.visitQueue=function(e){this.queue=e,this.priorityQueue=[];for(var t=[],r=!1,n=e,i=Array.isArray(n),a=0,n=i?n:(0,s.default)(n);;){var o;if(i){if(a>=n.length)break;o=n[a++]}else{if(a=n.next(),a.done)break;o=a.value}var u=o;if(u.resync(),0!==u.contexts.length&&u.contexts[u.contexts.length-1]===this||u.pushContext(this),null!==u.key&&!(t.indexOf(u.node)>=0)){if(t.push(u.node),u.visit()){r=!0;break}if(this.priorityQueue.length&&(r=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,r))break}}for(var l=e,c=Array.isArray(l),f=0,l=c?l:(0,s.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if(f=l.next(),f.done)break;p=f.value}p.popContext()}return this.queue=null,r},e.prototype.visit=function(e,t){var r=e[t];return!!r&&(Array.isArray(r)?this.visitMultiple(r,e,t):this.visitSingle(e,t))},e}();t.default=p,e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){for(var t=this;t=t.parentPath;)if(e(t))return t;return null}function s(e){var t=this;do{if(e(t))return t}while(t=t.parentPath);return null}function a(){return this.findParent(function(e){return e.isFunction()||e.isProgram()})}function o(){var e=this;do{if(Array.isArray(e.container))return e}while(e=e.parentPath)}function u(e){return this.getDeepestCommonAncestorFrom(e,function(e,t,r){for(var n=void 0,i=g.VISITOR_KEYS[e.type],s=r,a=Array.isArray(s),o=0,s=a?s:(0,y.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if(o=s.next(),o.done)break;u=o.value}var l=u,c=l[t+1];if(n)if(c.listKey&&n.listKey===c.listKey&&c.key<n.key)n=c;else{var f=i.indexOf(n.parentKey),p=i.indexOf(c.parentKey);f>p&&(n=c)}else n=c}return n})}function l(e,t){var r=this;if(!e.length)return this;if(1===e.length)return e[0];var n=1/0,i=void 0,s=void 0,a=e.map(function(e){var t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==r);return t.length<n&&(n=t.length),t}),o=a[0];e:for(var u=0;u<n;u++){for(var l=o[u],c=a,f=Array.isArray(c),p=0,c=f?c:(0,y.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if(p=c.next(),p.done)break;d=p.value}var h=d;if(h[u]!==l)break e}i=u,s=l}if(s)return t?t(s,i,a):s;throw new Error("Couldn't find intersection")}function c(){var e=this,t=[];do{t.push(e)}while(e=e.parentPath);return t}function f(e){return e.isDescendant(this)}function p(e){return!!this.findParent(function(t){return t===e})}function d(){for(var e=this;e;){for(var t=arguments,r=Array.isArray(t),n=0,t=r?t:(0,y.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i;if(e.node.type===s)return!0}e=e.parentPath}return!1}function h(e){var t=this.isFunction()?this:this.findParent(function(e){return e.isFunction()});if(t){if(t.isFunctionExpression()||t.isFunctionDeclaration()){var r=t.node.shadow;if(r&&(!e||!1!==r[e]))return t}else if(t.isArrowFunctionExpression())return t;return null}}t.__esModule=!0;var m=r(2),y=n(m);t.findParent=i,t.find=s,t.getFunctionParent=a,t.getStatementParent=o,t.getEarliestCommonAncestorFrom=u,t.getDeepestCommonAncestorFrom=l,t.getAncestry=c,t.isAncestor=f,t.isDescendant=p,t.inType=d,t.inShadow=h;var v=r(1),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(v),b=r(36);n(b)},function(e,t){"use strict";function r(){if("string"!=typeof this.key){var e=this.node;if(e){var t=e.trailingComments,r=e.leadingComments;if(t||r){var n=this.getSibling(this.key-1),i=this.getSibling(this.key+1);n.node||(n=i),i.node||(i=n),n.addComments("trailing",r),i.addComments("leading",t)}}}}function n(e,t,r){this.addComments(e,[{type:r?"CommentLine":"CommentBlock",value:t}])}function i(e,t){if(t){var r=this.node;if(r){var n=e+"Comments";r[n]?r[n]=r[n].concat(t):r[n]=t}}}t.__esModule=!0,t.shareCommentsWithSiblings=r,t.addComment=n,t.addComments=i},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=this.opts;return this.debug(function(){return e}),!(!this.node||!this._call(t[e]))||!!this.node&&this._call(t[this.node.type]&&t[this.node.type][e])}function s(e){if(!e)return!1;for(var t=e,r=Array.isArray(t),n=0,t=r?t:(0,D.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if(n=t.next(),n.done)break;i=n.value}var s=i;if(s){var a=this.node;if(!a)return!0;if(s.call(this.state,this,this.state))throw new Error("Unexpected return value from visitor method "+s);if(this.node!==a)return!0;if(this.shouldStop||this.shouldSkip||this.removed)return!0}}return!1}function a(){var e=this.opts.blacklist;return e&&e.indexOf(this.node.type)>-1}function o(){return!!this.node&&(!this.isBlacklisted()&&((!this.opts.shouldSkip||!this.opts.shouldSkip(this))&&(this.call("enter")||this.shouldSkip?(this.debug(function(){return"Skip..."}),this.shouldStop):(this.debug(function(){return"Recursing into..."}),w.default.node(this.node,this.opts,this.scope,this.state,this,this.skipKeys),this.call("exit"),this.shouldStop))))}function u(){this.shouldSkip=!0}function l(e){this.skipKeys[e]=!0}function c(){this.shouldStop=!0,this.shouldSkip=!0}function f(){if(!this.opts||!this.opts.noScope){var e=this.context&&this.context.scope;if(!e)for(var t=this.parentPath;t&&!e;){if(t.opts&&t.opts.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope&&this.scope.init()}}function p(e){return this.shouldSkip=!1,this.shouldStop=!1,this.removed=!1,this.skipKeys={},e&&(this.context=e,this.state=e.state,this.opts=e.opts),this.setScope(),this}function d(){this.removed||(this._resyncParent(),this._resyncList(),this._resyncKey())}function h(){this.parentPath&&(this.parent=this.parentPath.node)}function m(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(var e=0;e<this.container.length;e++)if(this.container[e]===this.node)return this.setKey(e)}else for(var t in this.container)if(this.container[t]===this.node)return this.setKey(t);this.key=null}}function y(){if(this.parent&&this.inList){var e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)}}function v(){null!=this.key&&this.container&&this.container[this.key]===this.node||this._markRemoved()}function g(){this.contexts.pop(),this.setContext(this.contexts[this.contexts.length-1])}function b(e){this.contexts.push(e),this.setContext(e)}function E(e,t,r,n){this.inList=!!r,this.listKey=r,this.parentKey=r||n,this.container=t,this.parentPath=e||this.parentPath,this.setKey(n)}function x(e){this.key=e,this.node=this.container[this.key],this.type=this.node&&this.node.type}function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;if(!e.removed)for(var t=this.contexts,r=t,n=Array.isArray(r),i=0,r=n?r:(0,D.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var a=s;a.maybeQueue(e)}}function S(){for(var e=this,t=this.contexts;!t.length;)e=e.parentPath,t=e.contexts;return t}t.__esModule=!0;var _=r(2),D=n(_);t.call=i,t._call=s,t.isBlacklisted=a,t.visit=o,t.skip=u,t.skipKey=l,t.stop=c,t.setScope=f,t.setContext=p,t.resync=d,t._resyncParent=h,t._resyncKey=m,t._resyncList=y,t._resyncRemoved=v,t.popContext=g,t.pushContext=b,t.setup=E,t.setKey=x,t.requeue=A,t._getQueueContexts=S;var C=r(7),w=n(C)},function(e,t,r){"use strict";function n(){var e=this.node,t=void 0;if(this.isMemberExpression())t=e.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError("todo");t=e.key}return e.computed||o.isIdentifier(t)&&(t=o.stringLiteral(t.name)),t}function i(){return o.ensureBlock(this.node)}function s(){if(this.isArrowFunctionExpression()){this.ensureBlock();var e=this.node;e.expression=!1,e.type="FunctionExpression",e.shadow=e.shadow||!0}}t.__esModule=!0,t.toComputedKey=n,t.ensureBlock=i,t.arrowFunctionToShadowed=s;var a=r(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(a)},function(e,t,r){(function(e){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(){var e=this.evaluate();if(e.confident)return!!e.value}function s(){function t(e){i&&(s=e,i=!1)}function r(e){var r=e.node;if(a.has(r)){var s=a.get(r);return s.resolved?s.value:void t(e)}var o={resolved:!1};a.set(r,o);var u=n(e);return i&&(o.resolved=!0,o.value=u),u}function n(n){if(i){var s=n.node;if(n.isSequenceExpression()){var a=n.get("expressions");return r(a[a.length-1])}if(n.isStringLiteral()||n.isNumericLiteral()||n.isBooleanLiteral())return s.value;if(n.isNullLiteral())return null;if(n.isTemplateLiteral()){for(var u="",c=0,f=n.get("expressions"),h=s.quasis,m=Array.isArray(h),y=0,h=m?h:(0,l.default)(h);;){var v;if(m){if(y>=h.length)break;v=h[y++]}else{if(y=h.next(),y.done)break;v=y.value}var g=v;if(!i)break;u+=g.value.cooked;var b=f[c++];b&&(u+=String(r(b)))}if(!i)return;return u}if(n.isConditionalExpression()){var E=r(n.get("test"));if(!i)return;return r(E?n.get("consequent"):n.get("alternate"))}if(n.isExpressionWrapper())return r(n.get("expression"));if(n.isMemberExpression()&&!n.parentPath.isCallExpression({callee:s})){var x=n.get("property"),A=n.get("object");if(A.isLiteral()&&x.isIdentifier()){var S=A.node.value,_=void 0===S?"undefined":(0,o.default)(S);if("number"===_||"string"===_)return S[x.node.name]}}if(n.isReferencedIdentifier()){var D=n.scope.getBinding(s.name);if(D&&D.constantViolations.length>0)return t(D.path);if(D&&n.node.start<D.path.node.end)return t(D.path);if(D&&D.hasValue)return D.value;if("undefined"===s.name)return D?t(D.path):void 0;if("Infinity"===s.name)return D?t(D.path):1/0;if("NaN"===s.name)return D?t(D.path):NaN;var C=n.resolve();return C===n?t(n):r(C)}if(n.isUnaryExpression({prefix:!0})){if("void"===s.operator)return;var w=n.get("argument");if("typeof"===s.operator&&(w.isFunction()||w.isClass()))return"function";var P=r(w);if(!i)return;switch(s.operator){case"!":return!P;case"+":return+P;case"-":return-P;case"~":return~P;case"typeof":return void 0===P?"undefined":(0,o.default)(P)}}if(n.isArrayExpression()){for(var k=[],F=n.get("elements"),T=F,O=Array.isArray(T),B=0,T=O?T:(0,l.default)(T);;){var R;if(O){if(B>=T.length)break;R=T[B++]}else{if(B=T.next(),B.done)break;R=B.value}var I=R;if(I=I.evaluate(),!I.confident)return t(I);k.push(I.value)}return k}if(n.isObjectExpression()){for(var M={},N=n.get("properties"),L=N,j=Array.isArray(L),U=0,L=j?L:(0,l.default)(L);;){var V;if(j){if(U>=L.length)break;V=L[U++]}else{if(U=L.next(),U.done)break;V=U.value}var G=V;if(G.isObjectMethod()||G.isSpreadProperty())return t(G);var W=G.get("key"),Y=W;if(G.node.computed){if(Y=Y.evaluate(),!Y.confident)return t(W);Y=Y.value}else Y=Y.isIdentifier()?Y.node.name:Y.node.value;var q=G.get("value"),K=q.evaluate();if(!K.confident)return t(q);K=K.value,M[Y]=K}return M}if(n.isLogicalExpression()){var H=i,J=r(n.get("left")),X=i;i=H;var z=r(n.get("right")),$=i;switch(i=X&&$,s.operator){case"||":if(J&&X)return i=!0,J;if(!i)return;return J||z;case"&&":if((!J&&X||!z&&$)&&(i=!0),!i)return;return J&&z}}if(n.isBinaryExpression()){var Q=r(n.get("left"));if(!i)return;var Z=r(n.get("right"));if(!i)return;switch(s.operator){case"-":return Q-Z;case"+":return Q+Z;case"/":return Q/Z;case"*":return Q*Z;case"%":return Q%Z;case"**":return Math.pow(Q,Z);case"<":return Q<Z;case">":return Q>Z;case"<=":return Q<=Z;case">=":return Q>=Z;case"==":return Q==Z;case"!=":return Q!=Z;case"===":return Q===Z;case"!==":return Q!==Z;case"|":return Q|Z;case"&":return Q&Z;case"^":return Q^Z;case"<<":return Q<<Z;case">>":return Q>>Z;case">>>":return Q>>>Z}}if(n.isCallExpression()){var ee=n.get("callee"),te=void 0,re=void 0;if(ee.isIdentifier()&&!n.scope.getBinding(ee.node.name,!0)&&p.indexOf(ee.node.name)>=0&&(re=e[s.callee.name]),ee.isMemberExpression()){var ne=ee.get("object"),ie=ee.get("property");if(ne.isIdentifier()&&ie.isIdentifier()&&p.indexOf(ne.node.name)>=0&&d.indexOf(ie.node.name)<0&&(te=e[ne.node.name],re=te[ie.node.name]),ne.isLiteral()&&ie.isIdentifier()){var se=(0,o.default)(ne.node.value);"string"!==se&&"number"!==se||(te=ne.node.value,re=te[ie.node.name])}}if(re){var ae=n.get("arguments").map(r);if(!i)return;return re.apply(te,ae)}}t(n)}}var i=!0,s=void 0,a=new f.default,u=r(this);return i||(u=void 0),{confident:i,deopt:s,value:u}}t.__esModule=!0;var a=r(11),o=n(a),u=r(2),l=n(u),c=r(133),f=n(c);t.evaluateTruthy=i,t.evaluate=s;var p=["String","Number","Math"],d=["random"]}).call(t,function(){return this}())},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(){var e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error("File/Program node, we can't possibly find a statement parent to this");return e}function s(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):void 0}function a(){var e=[],t=function(t){t&&(e=e.concat(t.getCompletionRecords()))};if(this.isIfStatement())t(this.get("consequent")),t(this.get("alternate"));else if(this.isDoExpression()||this.isFor()||this.isWhile())t(this.get("body"));else if(this.isProgram()||this.isBlockStatement())t(this.get("body").pop());else{if(this.isFunction())return this.get("body").getCompletionRecords();this.isTryStatement()?(t(this.get("block")),t(this.get("handler")),t(this.get("finalizer"))):e.push(this)}return e}function o(e){return _.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e})}function u(){return this.getSibling(this.key-1)}function l(){return this.getSibling(this.key+1)}function c(){for(var e=this.key,t=this.getSibling(++e),r=[];t.node;)r.push(t),t=this.getSibling(++e);return r}function f(){for(var e=this.key,t=this.getSibling(--e),r=[];t.node;)r.push(t),t=this.getSibling(--e);return r}function p(e,t){!0===t&&(t=this.context);var r=e.split(".");return 1===r.length?this._getKey(e,t):this._getPattern(r,t)}function d(e,t){var r=this,n=this.node,i=n[e];return Array.isArray(i)?i.map(function(s,a){return _.default.get({listKey:e,parentPath:r,parent:n,container:i,key:a}).setContext(t)}):_.default.get({parentPath:this,parent:n,container:n,key:e}).setContext(t)}function h(e,t){for(var r=this,n=e,i=Array.isArray(n),s=0,n=i?n:(0,A.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a;r="."===o?r.parentPath:Array.isArray(r)?r[o]:r.get(o,t)}return r}function m(e){return C.getBindingIdentifiers(this.node,e)}function y(e){return C.getOuterBindingIdentifiers(this.node,e)}function v(){for(var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this,n=[].concat(r),i=(0,E.default)(null);n.length;){var s=n.shift();if(s&&s.node){var a=C.getBindingIdentifiers.keys[s.node.type];if(s.isIdentifier())if(e){var o=i[s.node.name]=i[s.node.name]||[];o.push(s)}else i[s.node.name]=s;else if(s.isExportDeclaration()){var u=s.get("declaration");u.isDeclaration()&&n.push(u)}else{if(t){if(s.isFunctionDeclaration()){n.push(s.get("id"));continue}if(s.isFunctionExpression())continue}if(a)for(var l=0;l<a.length;l++){var c=a[l],f=s.get(c);(Array.isArray(f)||f.node)&&(n=n.concat(f))}}}}return i}function g(e){return this.getBindingIdentifierPaths(e,!0)}t.__esModule=!0;var b=r(9),E=n(b),x=r(2),A=n(x);t.getStatementParent=i,t.getOpposite=s,t.getCompletionRecords=a,t.getSibling=o,t.getPrevSibling=u,t.getNextSibling=l,t.getAllNextSiblings=c,t.getAllPrevSiblings=f,t.get=p,t._getKey=d,t._getPattern=h,t.getBindingIdentifiers=m,t.getOuterBindingIdentifiers=y,t.getBindingIdentifierPaths=v,t.getOuterBindingIdentifierPaths=g;var S=r(36),_=n(S),D=r(1),C=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(D)},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(){if(this.typeAnnotation)return this.typeAnnotation;var e=this._getTypeAnnotation()||y.anyTypeAnnotation();return y.isTypeAnnotation(e)&&(e=e.typeAnnotation),this.typeAnnotation=e}function s(){var e=this.node;{if(e){if(e.typeAnnotation)return e.typeAnnotation;var t=h[e.type];return t?t.call(this,e):(t=h[this.parentPath.type],t&&t.validParent?this.parentPath.getTypeAnnotation():void 0)}if("init"===this.key&&this.parentPath.isVariableDeclarator()){var r=this.parentPath.parentPath,n=r.parentPath;return"left"===r.key&&n.isForInStatement()?y.stringTypeAnnotation():"left"===r.key&&n.isForOfStatement()?y.anyTypeAnnotation():y.voidTypeAnnotation()}}}function a(e,t){return o(e,this.getTypeAnnotation(),t)}function o(e,t,r){if("string"===e)return y.isStringTypeAnnotation(t);if("number"===e)return y.isNumberTypeAnnotation(t);if("boolean"===e)return y.isBooleanTypeAnnotation(t);if("any"===e)return y.isAnyTypeAnnotation(t);if("mixed"===e)return y.isMixedTypeAnnotation(t);if("empty"===e)return y.isEmptyTypeAnnotation(t);if("void"===e)return y.isVoidTypeAnnotation(t);if(r)return!1;throw new Error("Unknown base type "+e)}function u(e){var t=this.getTypeAnnotation();if(y.isAnyTypeAnnotation(t))return!0;if(y.isUnionTypeAnnotation(t)){for(var r=t.types,n=Array.isArray(r),i=0,r=n?r:(0,p.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}var a=s;if(y.isAnyTypeAnnotation(a)||o(e,a,!0))return!0}return!1}return o(e,t,!0)}function l(e){var t=this.getTypeAnnotation();if(e=e.getTypeAnnotation(),!y.isAnyTypeAnnotation(t)&&y.isFlowBaseAnnotation(t))return e.type===t.type}function c(e){var t=this.getTypeAnnotation();return y.isGenericTypeAnnotation(t)&&y.isIdentifier(t.id,{name:e})}t.__esModule=!0;var f=r(2),p=function(e){return e&&e.__esModule?e:{default:e}}(f);t.getTypeAnnotation=i,t._getTypeAnnotation=s,t.isBaseType=a,t.couldBeBaseType=u,t.baseTypeStrictlyMatches=l,t.isGenericType=c;var d=r(376),h=n(d),m=r(1),y=n(m)},function(e,t,r){"use strict";function n(e,t){var r=e.scope.getBinding(t),n=[];e.typeAnnotation=f.unionTypeAnnotation(n);var s=[],a=i(r,e,s),u=o(e,t);if(u){var c=i(r,u.ifStatement);a=a.filter(function(e){return c.indexOf(e)<0}),n.push(u.typeAnnotation)}if(a.length){a=a.concat(s);for(var p=a,d=Array.isArray(p),h=0,p=d?p:(0,l.default)(p);;){var m;if(d){if(h>=p.length)break;m=p[h++]}else{if(h=p.next(),h.done)break;m=h.value}var y=m;n.push(y.getTypeAnnotation())}}if(n.length)return f.createUnionTypeAnnotation(n)}function i(e,t,r){var n=e.constantViolations.slice();return n.unshift(e.path),n.filter(function(e){e=e.resolve();var n=e._guessExecutionStatusRelativeTo(t);return r&&"function"===n&&r.push(e),"before"===n})}function s(e,t){var r=t.node.operator,n=t.get("right").resolve(),i=t.get("left").resolve(),s=void 0;if(i.isIdentifier({name:e})?s=n:n.isIdentifier({name:e})&&(s=i),s)return"==="===r?s.getTypeAnnotation():f.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(r)>=0?f.numberTypeAnnotation():void 0;if("==="===r){var a=void 0,o=void 0;if(i.isUnaryExpression({operator:"typeof"})?(a=i,o=n):n.isUnaryExpression({operator:"typeof"})&&(a=n,o=i),(o||a)&&(o=o.resolve(),o.isLiteral())){if("string"==typeof o.node.value&&a.get("argument").isIdentifier({name:e}))return f.createTypeAnnotationBasedOnTypeof(o.node.value)}}}function a(e){for(var t=void 0;t=e.parentPath;){if(t.isIfStatement()||t.isConditionalExpression())return"test"===e.key?void 0:t;e=t}}function o(e,t){var r=a(e);if(r){var n=r.get("test"),i=[n],u=[];do{var l=i.shift().resolve();if(l.isLogicalExpression()&&(i.push(l.get("left")),i.push(l.get("right"))),l.isBinaryExpression()){var c=s(t,l);c&&u.push(c)}}while(i.length);return u.length?{typeAnnotation:f.createUnionTypeAnnotation(u),ifStatement:r}:o(r,t)}}t.__esModule=!0;var u=r(2),l=function(e){return e&&e.__esModule?e:{default:e}}(u);t.default=function(e){if(this.isReferenced()){var t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:n(this,e.name):"undefined"===e.name?f.voidTypeAnnotation():"NaN"===e.name||"Infinity"===e.name?f.numberTypeAnnotation():void e.name}};var c=r(1),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(c);e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(){return this.get("id").isIdentifier()?this.get("init").getTypeAnnotation():void 0}function s(e){return e.typeAnnotation}function a(e){if(this.get("callee").isIdentifier())return k.genericTypeAnnotation(e.callee)}function o(){return k.stringTypeAnnotation()}function u(e){var t=e.operator;return"void"===t?k.voidTypeAnnotation():k.NUMBER_UNARY_OPERATORS.indexOf(t)>=0?k.numberTypeAnnotation():k.STRING_UNARY_OPERATORS.indexOf(t)>=0?k.stringTypeAnnotation():k.BOOLEAN_UNARY_OPERATORS.indexOf(t)>=0?k.booleanTypeAnnotation():void 0}function l(e){var t=e.operator;if(k.NUMBER_BINARY_OPERATORS.indexOf(t)>=0)return k.numberTypeAnnotation();if(k.BOOLEAN_BINARY_OPERATORS.indexOf(t)>=0)return k.booleanTypeAnnotation();if("+"===t){var r=this.get("right"),n=this.get("left");return n.isBaseType("number")&&r.isBaseType("number")?k.numberTypeAnnotation():n.isBaseType("string")||r.isBaseType("string")?k.stringTypeAnnotation():k.unionTypeAnnotation([k.stringTypeAnnotation(),k.numberTypeAnnotation()])}}function c(){return k.createUnionTypeAnnotation([this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()])}function f(){return k.createUnionTypeAnnotation([this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()])}function p(){return this.get("expressions").pop().getTypeAnnotation()}function d(){return this.get("right").getTypeAnnotation()}function h(e){var t=e.operator;if("++"===t||"--"===t)return k.numberTypeAnnotation()}function m(){return k.stringTypeAnnotation()}function y(){return k.numberTypeAnnotation()}function v(){return k.booleanTypeAnnotation()}function g(){return k.nullLiteralTypeAnnotation()}function b(){return k.genericTypeAnnotation(k.identifier("RegExp"))}function E(){return k.genericTypeAnnotation(k.identifier("Object"))}function x(){return k.genericTypeAnnotation(k.identifier("Array"))}function A(){return x()}function S(){return k.genericTypeAnnotation(k.identifier("Function"))}function _(){return C(this.get("callee"))}function D(){return C(this.get("tag"))}function C(e){if(e=e.resolve(),e.isFunction()){if(e.is("async"))return e.is("generator")?k.genericTypeAnnotation(k.identifier("AsyncIterator")):k.genericTypeAnnotation(k.identifier("Promise"));if(e.node.returnType)return e.node.returnType}}t.__esModule=!0,t.ClassDeclaration=t.ClassExpression=t.FunctionDeclaration=t.ArrowFunctionExpression=t.FunctionExpression=t.Identifier=void 0;var w=r(375);Object.defineProperty(t,"Identifier",{enumerable:!0,get:function(){return n(w).default}}),t.VariableDeclarator=i,t.TypeCastExpression=s,t.NewExpression=a,t.TemplateLiteral=o,t.UnaryExpression=u,t.BinaryExpression=l,t.LogicalExpression=c,t.ConditionalExpression=f,t.SequenceExpression=p,t.AssignmentExpression=d,t.UpdateExpression=h,t.StringLiteral=m,t.NumericLiteral=y,t.BooleanLiteral=v,t.NullLiteral=g,t.RegExpLiteral=b,t.ObjectExpression=E,t.ArrayExpression=x,t.RestElement=A,t.CallExpression=_,t.TaggedTemplateExpression=D;var P=r(1),k=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(P);s.validParent=!0,A.validParent=!0,t.FunctionExpression=S,t.ArrowFunctionExpression=S,t.FunctionDeclaration=S,t.ClassExpression=S,t.ClassDeclaration=S},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){function r(e){var t=n[s];return"*"===t||e===t}if(!this.isMemberExpression())return!1;for(var n=e.split("."),i=[this.node],s=0;i.length;){var a=i.shift();if(t&&s===n.length)return!0;if(C.isIdentifier(a)){if(!r(a.name))return!1}else if(C.isLiteral(a)){if(!r(a.value))return!1}else{if(C.isMemberExpression(a)){if(a.computed&&!C.isLiteral(a.property))return!1;i.unshift(a.property),i.unshift(a.object);continue}if(!C.isThisExpression(a))return!1;if(!r("this"))return!1}if(++s>n.length)return!1}return s===n.length}function s(e){var t=this.node&&this.node[e];return t&&Array.isArray(t)?!!t.length:!!t}function a(){return this.scope.isStatic(this.node)}function o(e){return!this.has(e)}function u(e,t){return this.node[e]===t}function l(e){return C.isType(this.type,e)}function c(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()}function f(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?C.isBlockStatement(e):!!this.isBlockStatement()&&C.isExpression(e))}function p(e){var t=this,r=!0;do{var n=t.container;if(t.isFunction()&&!r)return!!e;if(r=!1,Array.isArray(n)&&t.key!==n.length-1)return!1}while((t=t.parentPath)&&!t.isProgram());return!0}function d(){return!this.parentPath.isLabeledStatement()&&!C.isBlockStatement(this.container)&&(0,_.default)(C.STATEMENT_OR_BLOCK_KEYS,this.key)}function h(e,t){if(!this.isReferencedIdentifier())return!1;var r=this.scope.getBinding(this.node.name);if(!r||"module"!==r.kind)return!1;var n=r.path,i=n.parentPath;return!!i.isImportDeclaration()&&(i.node.source.value===e&&(!t||(!(!n.isImportDefaultSpecifier()||"default"!==t)||(!(!n.isImportNamespaceSpecifier()||"*"!==t)||!(!n.isImportSpecifier()||n.node.imported.name!==t)))))}function m(){var e=this.node;return e.end?this.hub.file.code.slice(e.start,e.end):""}function y(e){return"after"!==this._guessExecutionStatusRelativeTo(e)}function v(e){var t=e.scope.getFunctionParent(),r=this.scope.getFunctionParent();if(t.node!==r.node){var n=this._guessExecutionStatusRelativeToDifferentFunctions(t);if(n)return n;e=t.path}var i=e.getAncestry();if(i.indexOf(this)>=0)return"after";var s=this.getAncestry(),a=void 0,o=void 0,u=void 0;for(u=0;u<s.length;u++){var l=s[u];if((o=i.indexOf(l))>=0){a=l;break}}if(!a)return"before";var c=i[o-1],f=s[u-1];return c&&f?c.listKey&&c.container===f.container?c.key>f.key?"before":"after":C.VISITOR_KEYS[c.type].indexOf(c.key)>C.VISITOR_KEYS[f.type].indexOf(f.key)?"before":"after":"before"}function g(e){var t=e.path;if(t.isFunctionDeclaration()){var r=t.scope.getBinding(t.node.id.name);if(!r.references)return"before";for(var n=r.referencePaths,i=n,s=Array.isArray(i),a=0,i=s?i:(0,A.default)(i);;){var o;if(s){if(a>=i.length)break;o=i[a++]}else{if(a=i.next(),a.done)break;o=a.value}var u=o;if("callee"!==u.key||!u.parentPath.isCallExpression())return}for(var l=void 0,c=n,f=Array.isArray(c),p=0,c=f?c:(0,A.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if(p=c.next(),p.done)break;d=p.value}var h=d;if(!!!h.find(function(e){return e.node===t.node})){var m=this._guessExecutionStatusRelativeTo(h);if(l){if(l!==m)return}else l=m}}return l}}function b(e,t){return this._resolve(e,t)||this}function E(e,t){if(!(t&&t.indexOf(this)>=0))if(t=t||[],t.push(this),this.isVariableDeclarator()){if(this.get("id").isIdentifier())return this.get("init").resolve(e,t)}else if(this.isReferencedIdentifier()){var r=this.scope.getBinding(this.node.name);if(!r)return;if(!r.constant)return;if("module"===r.kind)return;if(r.path!==this){var n=r.path.resolve(e,t);if(this.find(function(e){return e.node===n.node}))return;return n}}else{if(this.isTypeCastExpression())return this.get("expression").resolve(e,t);if(e&&this.isMemberExpression()){var i=this.toComputedKey();if(!C.isLiteral(i))return;var s=i.value,a=this.get("object").resolve(e,t);if(a.isObjectExpression())for(var o=a.get("properties"),u=o,l=Array.isArray(u),c=0,u=l?u:(0,A.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var p=f;if(p.isProperty()){var d=p.get("key"),h=p.isnt("computed")&&d.isIdentifier({name:s});if(h=h||d.isLiteral({value:s}))return p.get("value").resolve(e,t)}}else if(a.isArrayExpression()&&!isNaN(+s)){var m=a.get("elements"),y=m[s];if(y)return y.resolve(e,t)}}}}t.__esModule=!0,t.is=void 0;var x=r(2),A=n(x);t.matchesPattern=i,t.has=s,t.isStatic=a,t.isnt=o,t.equals=u,t.isNodeType=l,t.canHaveVariableDeclarationOrExpression=c,t.canSwapBetweenExpressionAndStatement=f,t.isCompletionRecord=p,t.isStatementOrBlock=d,t.referencesImport=h,t.getSource=m,
t.willIMaybeExecuteBefore=y,t._guessExecutionStatusRelativeTo=v,t._guessExecutionStatusRelativeToDifferentFunctions=g,t.resolve=b,t._resolve=E;var S=r(111),_=n(S),D=r(1),C=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(D);t.is=s},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(2),s=n(i),a=r(3),o=n(a),u=r(1),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(u),c={ReferencedIdentifier:function(e,t){if(!e.isJSXIdentifier()||!u.react.isCompatTag(e.node.name)||e.parentPath.isJSXMemberExpression()){if("this"===e.node.name){var r=e.scope;do{if(r.path.isFunction()&&!r.path.isArrowFunctionExpression())break}while(r=r.parent);r&&t.breakOnScopePaths.push(r.path)}var n=e.scope.getBinding(e.node.name);n&&n===t.scope.getBinding(e.node.name)&&(t.bindings[e.node.name]=n)}}},f=function(){function e(t,r){(0,o.default)(this,e),this.breakOnScopePaths=[],this.bindings={},this.scopes=[],this.scope=r,this.path=t,this.attachAfter=!1}return e.prototype.isCompatibleScope=function(e){for(var t in this.bindings){var r=this.bindings[t];if(!e.bindingIdentifierEquals(t,r.identifier))return!1}return!0},e.prototype.getCompatibleScopes=function(){var e=this.path.scope;do{if(!this.isCompatibleScope(e))break;if(this.scopes.push(e),this.breakOnScopePaths.indexOf(e.path)>=0)break}while(e=e.parent)},e.prototype.getAttachmentPath=function(){var e=this._getAttachmentPath();if(e){var t=e.scope;if(t.path===e&&(t=e.scope.parent),t.path.isProgram()||t.path.isFunction())for(var r in this.bindings)if(t.hasOwnBinding(r)){var n=this.bindings[r];if("param"!==n.kind&&this.getAttachmentParentForPath(n.path).key>e.key){this.attachAfter=!0,e=n.path;for(var i=n.constantViolations,a=Array.isArray(i),o=0,i=a?i:(0,s.default)(i);;){var u;if(a){if(o>=i.length)break;u=i[o++]}else{if(o=i.next(),o.done)break;u=o.value}var l=u;this.getAttachmentParentForPath(l).key>e.key&&(e=l)}}}return e.parentPath.isExportDeclaration()&&(e=e.parentPath),e}},e.prototype._getAttachmentPath=function(){var e=this.scopes,t=e.pop();if(t){if(t.path.isFunction()){if(this.hasOwnParamBindings(t)){if(this.scope===t)return;return t.path.get("body").get("body")[0]}return this.getNextScopeAttachmentParent()}return t.path.isProgram()?this.getNextScopeAttachmentParent():void 0}},e.prototype.getNextScopeAttachmentParent=function(){var e=this.scopes.pop();if(e)return this.getAttachmentParentForPath(e.path)},e.prototype.getAttachmentParentForPath=function(e){do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement()||e.isVariableDeclarator()&&null!==e.parentPath.node&&e.parentPath.node.declarations.length>1)return e}while(e=e.parentPath)},e.prototype.hasOwnParamBindings=function(e){for(var t in this.bindings)if(e.hasOwnBinding(t)){var r=this.bindings[t];if("param"===r.kind&&r.constant)return!0}return!1},e.prototype.run=function(){var e=this.path.node;if(!e._hoisted){e._hoisted=!0,this.path.traverse(c,this),this.getCompatibleScopes();var t=this.getAttachmentPath();if(t&&t.getFunctionParent()!==this.path.getFunctionParent()){var r=t.scope.generateUidIdentifier("ref"),n=l.variableDeclarator(r,this.path.node);t[this.attachAfter?"insertAfter":"insertBefore"]([t.isVariableDeclarator()?n:l.variableDeclaration("var",[n])]);var i=this.path.parentPath;i.isJSXElement()&&this.path.container===i.node.children&&(r=l.JSXExpressionContainer(r)),this.path.replaceWith(r)}}},e}();t.default=f,e.exports=t.default},function(e,t){"use strict";t.__esModule=!0;t.hooks=[function(e,t){if("test"===e.key&&(t.isWhile()||t.isSwitchCase())||"declaration"===e.key&&t.isExportDeclaration()||"body"===e.key&&t.isLabeledStatement()||"declarations"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||"expression"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return"left"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&("consequent"===e.key||"alternate"===e.key)||"body"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:"BlockStatement",body:[]}),!0}]},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){if(this._assertUnremoved(),e=this._verifyNodeList(e),this.parentPath.isExpressionStatement()||this.parentPath.isLabeledStatement())return this.parentPath.insertBefore(e);if(this.isNodeType("Expression")||this.parentPath.isForStatement()&&"init"===this.key)this.node&&e.push(this.node),this.replaceExpressionWithStatements(e);else{if(this._maybePopFromStatements(e),Array.isArray(this.container))return this._containerInsertBefore(e);if(!this.isStatementOrBlock())throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");this.node&&e.push(this.node),this._replaceWith(D.blockStatement(e))}return[this]}function s(e,t){this.updateSiblingKeys(e,t.length);for(var r=[],n=0;n<t.length;n++){var i=e+n,s=t[n];if(this.container.splice(i,0,s),this.context){var a=this.context.create(this.parent,this.container,i,this.listKey);this.context.queue&&a.pushContext(this.context),r.push(a)}else r.push(S.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:i}))}for(var o=this._getQueueContexts(),u=r,l=Array.isArray(u),c=0,u=l?u:(0,g.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var p=f;p.setScope(),p.debug(function(){return"Inserted."});for(var d=o,h=Array.isArray(d),m=0,d=h?d:(0,g.default)(d);;){var y;if(h){if(m>=d.length)break;y=d[m++]}else{if(m=d.next(),m.done)break;y=m.value}y.maybeQueue(p,!0)}}return r}function a(e){return this._containerInsert(this.key,e)}function o(e){return this._containerInsert(this.key+1,e)}function u(e){var t=e[e.length-1];(D.isIdentifier(t)||D.isExpressionStatement(t)&&D.isIdentifier(t.expression))&&!this.isCompletionRecord()&&e.pop()}function l(e){if(this._assertUnremoved(),e=this._verifyNodeList(e),this.parentPath.isExpressionStatement()||this.parentPath.isLabeledStatement())return this.parentPath.insertAfter(e);if(this.isNodeType("Expression")||this.parentPath.isForStatement()&&"init"===this.key){if(this.node){var t=this.scope.generateDeclaredUidIdentifier();e.unshift(D.expressionStatement(D.assignmentExpression("=",t,this.node))),e.push(D.expressionStatement(t))}this.replaceExpressionWithStatements(e)}else{if(this._maybePopFromStatements(e),Array.isArray(this.container))return this._containerInsertAfter(e);if(!this.isStatementOrBlock())throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");this.node&&e.unshift(this.node),this._replaceWith(D.blockStatement(e))}return[this]}function c(e,t){if(this.parent)for(var r=b.path.get(this.parent),n=0;n<r.length;n++){var i=r[n];i.key>=e&&(i.key+=t)}}function f(e){if(!e)return[];e.constructor!==Array&&(e=[e]);for(var t=0;t<e.length;t++){var r=e[t],n=void 0;if(r?"object"!==(void 0===r?"undefined":(0,y.default)(r))?n="contains a non-object node":r.type?r instanceof S.default&&(n="has a NodePath when it expected a raw object"):n="without a type":n="has falsy node",n){var i=Array.isArray(r)?"array":void 0===r?"undefined":(0,y.default)(r);throw new Error("Node list "+n+" with the index of "+t+" and type of "+i)}}return e}function p(e,t){return this._assertUnremoved(),t=this._verifyNodeList(t),S.default.get({parentPath:this,parent:this.node,container:this.node[e],listKey:e,key:0}).insertBefore(t)}function d(e,t){this._assertUnremoved(),t=this._verifyNodeList(t);var r=this.node[e];return S.default.get({parentPath:this,parent:this.node,container:r,listKey:e,key:r.length}).replaceWithMultiple(t)}function h(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.scope;return new x.default(this,e).run()}t.__esModule=!0;var m=r(11),y=n(m),v=r(2),g=n(v);t.insertBefore=i,t._containerInsert=s,t._containerInsertBefore=a,t._containerInsertAfter=o,t._maybePopFromStatements=u,t.insertAfter=l,t.updateSiblingKeys=c,t._verifyNodeList=f,t.unshiftContainer=p,t.pushContainer=d,t.hoist=h;var b=r(88),E=r(378),x=n(E),A=r(36),S=n(A),_=r(1),D=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(_)},function(e,t,r){"use strict";function n(){if(this._assertUnremoved(),this.resync(),this._callRemovalHooks())return void this._markRemoved();this.shareCommentsWithSiblings(),this._remove(),this._markRemoved()}function i(){for(var e=c.hooks,t=Array.isArray(e),r=0,e=t?e:(0,l.default)(e);;){var n;if(t){if(r>=e.length)break;n=e[r++]}else{if(r=e.next(),r.done)break;n=r.value}if(n(this,this.parentPath))return!0}}function s(){Array.isArray(this.container)?(this.container.splice(this.key,1),this.updateSiblingKeys(this.key,-1)):this._replaceWith(null)}function a(){this.shouldSkip=!0,this.removed=!0,this.node=null}function o(){if(this.removed)throw this.buildCodeFrameError("NodePath has been removed so is read-only.")}t.__esModule=!0;var u=r(2),l=function(e){return e&&e.__esModule?e:{default:e}}(u);t.remove=n,t._callRemovalHooks=i,t._remove=s,t._markRemoved=a,t._assertUnremoved=o;var c=r(379)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){this.resync(),e=this._verifyNodeList(e),E.inheritLeadingComments(e[0],this.node),E.inheritTrailingComments(e[e.length-1],this.node),this.node=this.container[this.key]=null,this.insertAfter(e),this.node?this.requeue():this.remove()}function s(e){this.resync();try{e="("+e+")",e=(0,g.parse)(e)}catch(r){var t=r.loc;throw t&&(r.message+=" - make sure this is an expression.",r.message+="\n"+(0,d.default)(e,t.line,t.column+1)),r}return e=e.program.body[0].expression,m.default.removeProperties(e),this.replaceWith(e)}function a(e){if(this.resync(),this.removed)throw new Error("You can't replace this node, we've already removed it");if(e instanceof v.default&&(e=e.node),!e)throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node!==e){if(this.isProgram()&&!E.isProgram(e))throw new Error("You can only replace a Program root node with another Program node");if(Array.isArray(e))throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if("string"==typeof e)throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");if(this.isNodeType("Statement")&&E.isExpression(e)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(e)||this.parentPath.isExportDefaultDeclaration()||(e=E.expressionStatement(e))),this.isNodeType("Expression")&&E.isStatement(e)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(e))return this.replaceExpressionWithStatements([e]);var t=this.node;t&&(E.inheritsComments(e,t),E.removeComments(t)),this._replaceWith(e),this.type=e.type,this.setScope(),this.requeue()}}function o(e){if(!this.container)throw new ReferenceError("Container is falsy");this.inList?E.validate(this.parent,this.key,[e]):E.validate(this.parent,this.key,e),this.debug(function(){return"Replace with "+(e&&e.type)}),this.node=this.container[this.key]=e}function u(e){this.resync();var t=E.toSequenceExpression(e,this.scope);if(E.isSequenceExpression(t)){var r=t.expressions;r.length>=2&&this.parentPath.isExpressionStatement()&&this._maybePopFromStatements(r),1===r.length?this.replaceWith(r[0]):this.replaceWith(t)}else{if(!t){var n=E.functionExpression(null,[],E.blockStatement(e));n.shadow=!0,this.replaceWith(E.callExpression(n,[])),this.traverse(x);for(var i=this.get("callee").getCompletionRecords(),s=i,a=Array.isArray(s),o=0,s=a?s:(0,f.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if(o=s.next(),o.done)break;u=o.value}var l=u;if(l.isExpressionStatement()){var c=l.findParent(function(e){return e.isLoop()});if(c){var p=c.getData("expressionReplacementReturnUid");if(p)p=E.identifier(p.name);else{var d=this.get("callee");p=d.scope.generateDeclaredUidIdentifier("ret"),d.get("body").pushContainer("body",E.returnStatement(p)),c.setData("expressionReplacementReturnUid",p)}l.get("expression").replaceWith(E.assignmentExpression("=",p,l.node.expression))}else l.replaceWith(E.returnStatement(l.node.expression))}}return this.node}this.replaceWith(t)}}function l(e){return this.resync(),Array.isArray(e)?Array.isArray(this.container)?(e=this._verifyNodeList(e),this._containerInsertAfter(e),this.remove()):this.replaceWithMultiple(e):this.replaceWith(e)}t.__esModule=!0;var c=r(2),f=n(c);t.replaceWithMultiple=i,t.replaceWithSourceString=s,t.replaceWith=a,t._replaceWith=o,t.replaceExpressionWithStatements=u,t.replaceInline=l;var p=r(181),d=n(p),h=r(7),m=n(h),y=r(36),v=n(y),g=r(89),b=r(1),E=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(b),x={Function:function(e){e.skip()},VariableDeclaration:function(e){if("var"===e.node.kind){var t=e.getBindingIdentifiers();for(var r in t)e.scope.push({id:t[r]});for(var n=[],i=e.node.declarations,s=Array.isArray(i),a=0,i=s?i:(0,f.default)(i);;){var o;if(s){if(a>=i.length)break;o=i[a++]}else{if(a=i.next(),a.done)break;o=a.value}var u=o;u.init&&n.push(E.expressionStatement(E.assignmentExpression("=",u.id,u.init)))}e.replaceWithMultiple(n)}}}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(3),s=n(i),a=r(225),o=(n(a),r(1)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(o),l={ReferencedIdentifier:function(e,t){var r=e.node;r.name===t.oldName&&(r.name=t.newName)},Scope:function(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||e.skip()},"AssignmentExpression|Declaration":function(e,t){var r=e.getOuterBindingIdentifiers();for(var n in r)n===t.oldName&&(r[n].name=t.newName)}},c=function(){function e(t,r,n){(0,s.default)(this,e),this.newName=n,this.oldName=r,this.binding=t}return e.prototype.maybeConvertFromExportDeclaration=function(e){var t=e.parentPath.isExportDeclaration()&&e.parentPath;if(t){var r=t.isExportDefaultDeclaration();r&&(e.isFunctionDeclaration()||e.isClassDeclaration())&&!e.node.id&&(e.node.id=e.scope.generateUidIdentifier("default"));var n=e.getOuterBindingIdentifiers(),i=[];for(var s in n){var a=s===this.oldName?this.newName:s,o=r?"default":s;i.push(u.exportSpecifier(u.identifier(a),u.identifier(o)))}if(i.length){var l=u.exportNamedDeclaration(null,i);e.isFunctionDeclaration()&&(l._blockHoist=3),t.insertAfter(l),t.replaceWith(e.node)}}},e.prototype.rename=function(e){var t=this.binding,r=this.oldName,n=this.newName,i=t.scope,s=t.path,a=s.find(function(e){return e.isDeclaration()||e.isFunctionExpression()});a&&this.maybeConvertFromExportDeclaration(a),i.traverse(e||i.block,l,this),e||(i.removeOwnBinding(r),i.bindings[n]=t,this.binding.identifier.name=n),t.type},e}();t.default=c,e.exports=t.default},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e){if(e._exploded)return e;e._exploded=!0;for(var t in e)if(!d(t)){var r=t.split("|");if(1!==r.length){var n=e[t];delete e[t];for(var i=r,s=Array.isArray(i),o=0,i=s?i:(0,E.default)(i);;){var u;if(s){if(o>=i.length)break;u=i[o++]}else{if(o=i.next(),o.done)break;u=o.value}var l=u;e[l]=n}}}a(e),delete e.__esModule,c(e),f(e);for(var m=(0,g.default)(e),y=Array.isArray(m),v=0,m=y?m:(0,E.default)(m);;){var b;if(y){if(v>=m.length)break;b=m[v++]}else{if(v=m.next(),v.done)break;b=v.value}var x=b;if(!d(x)){var S=A[x];if(S){var _=e[x];for(var D in _)_[D]=p(S,_[D]);if(delete e[x],S.types)for(var w=S.types,k=Array.isArray(w),F=0,w=k?w:(0,E.default)(w);;){var T;if(k){if(F>=w.length)break;T=w[F++]}else{if(F=w.next(),F.done)break;T=F.value}var O=T;e[O]?h(e[O],_):e[O]=_}else h(e,_)}}}for(var B in e)if(!d(B)){var R=e[B],I=C.FLIPPED_ALIAS_KEYS[B],M=C.DEPRECATED_KEYS[B];if(M&&(console.trace("Visitor defined for "+B+" but it has been renamed to "+M),I=[M]),I){delete e[B];for(var N=I,L=Array.isArray(N),j=0,N=L?N:(0,E.default)(N);;){var U;if(L){if(j>=N.length)break;U=N[j++]}else{if(j=N.next(),j.done)break;U=j.value}var V=U,G=e[V];G?h(G,R):e[V]=(0,P.default)(R)}}}for(var W in e)d(W)||f(e[W]);return e}function a(e){if(!e._verified){if("function"==typeof e)throw new Error(_.get("traverseVerifyRootFunction"));for(var t in e)if("enter"!==t&&"exit"!==t||o(t,e[t]),!d(t)){if(C.TYPES.indexOf(t)<0)throw new Error(_.get("traverseVerifyNodeType",t));var r=e[t];if("object"===(void 0===r?"undefined":(0,y.default)(r)))for(var n in r){if("enter"!==n&&"exit"!==n)throw new Error(_.get("traverseVerifyVisitorProperty",t,n));o(t+"."+n,r[n])}}e._verified=!0}}function o(e,t){for(var r=[].concat(t),n=r,i=Array.isArray(n),s=0,n=i?n:(0,E.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a;if("function"!=typeof o)throw new TypeError("Non-function found defined in "+e+" with type "+(void 0===o?"undefined":(0,y.default)(o)))}}function u(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments[2],n={},i=0;i<e.length;i++){var a=e[i],o=t[i];s(a);for(var u in a){var c=a[u];(o||r)&&(c=l(c,o,r));h(n[u]=n[u]||{},c)}}return n}function l(e,t,r){var n={};for(var i in e){(function(i){var s=e[i];if(!Array.isArray(s))return"continue";s=s.map(function(e){var n=e;return t&&(n=function(r){return e.call(t,r,t)}),r&&(n=r(t.key,i,n)),n}),n[i]=s})(i)}return n}function c(e){for(var t in e)if(!d(t)){var r=e[t];"function"==typeof r&&(e[t]={enter:r})}}function f(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function p(e,t){var r=function(r){if(e.checkPath(r))return t.apply(this,arguments)};return r.toString=function(){return t.toString()},r}function d(e){return"_"===e[0]||("enter"===e||"exit"===e||"shouldSkip"===e||("blacklist"===e||"noScope"===e||"skipKeys"===e))}function h(e,t){for(var r in t)e[r]=[].concat(e[r]||[],t[r])}t.__esModule=!0;var m=r(11),y=i(m),v=r(14),g=i(v),b=r(2),E=i(b);t.explode=s,t.verify=a,t.merge=u;var x=r(224),A=n(x),S=r(20),_=n(S),D=r(1),C=n(D),w=r(109),P=i(w)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key||e.property;return e.computed||D.isIdentifier(t)&&(t=D.stringLiteral(t.name)),t}function s(e,t,r){for(var n=[],i=!0,a=e,o=Array.isArray(a),u=0,a=o?a:(0,b.default)(a);;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;if(i=!1,D.isExpression(c))n.push(c);else if(D.isExpressionStatement(c))n.push(c.expression);else if(D.isVariableDeclaration(c)){if("var"!==c.kind)return;for(var f=c.declarations,p=Array.isArray(f),d=0,f=p?f:(0,b.default)(f);;){var h;if(p){if(d>=f.length)break;h=f[d++]}else{if(d=f.next(),d.done)break;h=d.value}var m=h,y=D.getBindingIdentifiers(m);for(var v in y)r.push({kind:c.kind,id:y[v]});m.init&&n.push(D.assignmentExpression("=",m.id,m.init))}i=!0}else if(D.isIfStatement(c)){var g=c.consequent?s([c.consequent],t,r):t.buildUndefinedNode(),E=c.alternate?s([c.alternate],t,r):t.buildUndefinedNode();if(!g||!E)return;n.push(D.conditionalExpression(c.test,g,E))}else if(D.isBlockStatement(c)){var x=s(c.body,t,r);if(!x)return;n.push(x)}else{if(!D.isEmptyStatement(c))return;i=!0}}return i&&n.push(t.buildUndefinedNode()),1===n.length?n[0]:D.sequenceExpression(n)}function a(e,t){if(e&&e.length){var r=[],n=s(e,t,r);if(n){for(var i=r,a=Array.isArray(i),o=0,i=a?i:(0,b.default)(i);;){var u;if(a){if(o>=i.length)break;u=i[o++]}else{if(o=i.next(),o.done)break;u=o.value}var l=u;t.push(l)}return n}}}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key,r=void 0;return"method"===e.kind?o.increment()+"":(r=D.isIdentifier(t)?t.name:D.isStringLiteral(t)?(0,v.default)(t.value):(0,v.default)(D.removePropertiesDeep(D.cloneDeep(t))),e.computed&&(r="["+r+"]"),e.static&&(r="static:"+r),r)}function u(e){return e+="",e=e.replace(/[^a-zA-Z0-9$_]/g,"-"),e=e.replace(/^[-0-9]+/,""),e=e.replace(/[-\s]+(.)?/g,function(e,t){return t?t.toUpperCase():""}),D.isValidIdentifier(e)||(e="_"+e),e||"_"}function l(e){return e=u(e),"eval"!==e&&"arguments"!==e||(e="_"+e),e}function c(e,t){if(D.isStatement(e))return e;var r=!1,n=void 0;if(D.isClass(e))r=!0,n="ClassDeclaration";else if(D.isFunction(e))r=!0,n="FunctionDeclaration";else if(D.isAssignmentExpression(e))return D.expressionStatement(e);if(r&&!e.id&&(n=!1),!n){if(t)return!1;throw new Error("cannot turn "+e.type+" to a statement")}return e.type=n,e}function f(e){if(D.isExpressionStatement(e)&&(e=e.expression),D.isExpression(e))return e;if(D.isClass(e)?e.type="ClassExpression":D.isFunction(e)&&(e.type="FunctionExpression"),!D.isExpression(e))throw new Error("cannot turn "+e.type+" to an expression");return e}function p(e,t){return D.isBlockStatement(e)?e:(D.isEmptyStatement(e)&&(e=[]),Array.isArray(e)||(D.isStatement(e)||(e=D.isFunction(t)?D.returnStatement(e):D.expressionStatement(e)),e=[e]),D.blockStatement(e))}function d(e){if(void 0===e)return D.identifier("undefined");if(!0===e||!1===e)return D.booleanLiteral(e);if(null===e)return D.nullLiteral();if("string"==typeof e)return D.stringLiteral(e);if("number"==typeof e)return D.numericLiteral(e);if((0,S.default)(e)){var t=e.source,r=e.toString().match(/\/([a-z]+|)$/)[1];return D.regExpLiteral(t,r)}if(Array.isArray(e))return D.arrayExpression(e.map(D.valueToNode));if((0,x.default)(e)){var n=[];for(var i in e){var s=void 0;s=D.isValidIdentifier(i)?D.identifier(i):D.stringLiteral(i),n.push(D.objectProperty(s,D.valueToNode(e[i])))}return D.objectExpression(n)}throw new Error("don't know how to turn this value into a node")}t.__esModule=!0;var h=r(359),m=n(h),y=r(35),v=n(y),g=r(2),b=n(g);t.toComputedKey=i,t.toSequenceExpression=a,t.toKeyAlias=o,t.toIdentifier=u,t.toBindingIdentifierName=l,t.toStatement=c,t.toExpression=f,t.toBlock=p,t.valueToNode=d;var E=r(275),x=n(E),A=r(276),S=n(A),_=r(1),D=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(_);o.uid=0,o.increment=function(){return o.uid>=m.default?o.uid=0:o.uid++}},function(e,t,r){"use strict";var n=r(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(n),s=r(135),a=r(26),o=function(e){return e&&e.__esModule?e:{default:e}}(a);(0,o.default)("ArrayExpression",{fields:{elements:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeOrValueType)("null","Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,o.default)("AssignmentExpression",{fields:{operator:{validate:(0,a.assertValueType)("string")},left:{validate:(0,a.assertNodeType)("LVal")},right:{validate:(0,a.assertNodeType)("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),(0,o.default)("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:a.assertOneOf.apply(void 0,s.BINARY_OPERATORS)},left:{validate:(0,a.assertNodeType)("Expression")},right:{validate:(0,a.assertNodeType)("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),(0,o.default)("Directive",{visitor:["value"],fields:{value:{validate:(0,a.assertNodeType)("DirectiveLiteral")}}}),(0,o.default)("DirectiveLiteral",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("string")}}}),(0,o.default)("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Directive"))),default:[]},body:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","Statement"]}),(0,o.default)("BreakStatement",{visitor:["label"],fields:{label:{validate:(0,a.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,o.default)("CallExpression",{visitor:["callee","arguments"],fields:{callee:{validate:(0,a.assertNodeType)("Expression")},arguments:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Expression","SpreadElement")))}},aliases:["Expression"]}),(0,o.default)("CatchClause",{visitor:["param","body"],fields:{param:{validate:(0,a.assertNodeType)("Identifier")},body:{validate:(0,a.assertNodeType)("BlockStatement")}},aliases:["Scopable"]}),(0,o.default)("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},consequent:{validate:(0,a.assertNodeType)("Expression")},alternate:{validate:(0,a.assertNodeType)("Expression")}},aliases:["Expression","Conditional"]}),(0,o.default)("ContinueStatement",{visitor:["label"],fields:{label:{validate:(0,a.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,o.default)("DebuggerStatement",{aliases:["Statement"]}),(0,o.default)("DoWhileStatement",{visitor:["test","body"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),(0,o.default)("EmptyStatement",{aliases:["Statement"]}),(0,o.default)("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:(0,a.assertNodeType)("Expression")}},aliases:["Statement","ExpressionWrapper"]}),(0,o.default)("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:(0,a.assertNodeType)("Program")}}}),(0,o.default)("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,a.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("Statement")}}}),(0,o.default)("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,a.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,a.assertNodeType)("Expression"),optional:!0},update:{validate:(0,a.assertNodeType)("Expression"),optional:!0},body:{validate:(0,a.assertNodeType)("Statement")}}}),(0,o.default)("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:{id:{validate:(0,a.assertNodeType)("Identifier")},params:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("LVal")))},body:{validate:(0,a.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,a.assertValueType)("boolean")},async:{default:!1,validate:(0,a.assertValueType)("boolean")}},aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"]}),(0,o.default)("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:{id:{validate:(0,a.assertNodeType)("Identifier"),optional:!0},params:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("LVal")))},body:{validate:(0,a.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,a.assertValueType)("boolean")},async:{default:!1,validate:(0,a.assertValueType)("boolean")}}}),(0,o.default)("Identifier",{builder:["name"],visitor:["typeAnnotation"],aliases:["Expression","LVal"],fields:{name:{validate:function(e,t,r){i.isValidIdentifier(r)}},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator")))}}}),(0,o.default)("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},consequent:{validate:(0,a.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,a.assertNodeType)("Statement")}}}),(0,o.default)("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,a.assertNodeType)("Identifier")},body:{validate:(0,a.assertNodeType)("Statement")}}}),(0,o.default)("StringLiteral",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,a.assertValueType)("number")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Literal"],fields:{pattern:{validate:(0,a.assertValueType)("string")},flags:{validate:(0,a.assertValueType)("string"),default:""}}}),(0,o.default)("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:a.assertOneOf.apply(void 0,s.LOGICAL_OPERATORS)},left:{validate:(0,a.assertNodeType)("Expression")},right:{validate:(0,a.assertNodeType)("Expression")}}}),(0,o.default)("MemberExpression",{builder:["object","property","computed"],visitor:["object","property"],aliases:["Expression","LVal"],fields:{object:{validate:(0,a.assertNodeType)("Expression")},property:{validate:function(e,t,r){var n=e.computed?"Expression":"Identifier";(0,a.assertNodeType)(n)(e,t,r)}},computed:{default:!1}}}),(0,o.default)("NewExpression",{visitor:["callee","arguments"],aliases:["Expression"],fields:{callee:{validate:(0,a.assertNodeType)("Expression")},arguments:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Expression","SpreadElement")))}}}),(0,o.default)("Program",{visitor:["directives","body"],builder:["body","directives"],fields:{directives:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Directive"))),default:[]},body:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","FunctionParent"]}),(0,o.default)("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("ObjectMethod","ObjectProperty","SpreadProperty")))}}}),(0,o.default)("ObjectMethod",{builder:["kind","key","params","body","computed"],fields:{kind:{validate:(0,a.chain)((0,a.assertValueType)("string"),(0,a.assertOneOf)("method","get","set")),default:"method"},computed:{validate:(0,a.assertValueType)("boolean"),default:!1},key:{validate:function(e,t,r){var n=e.computed?["Expression"]:["Identifier","StringLiteral","NumericLiteral"];a.assertNodeType.apply(void 0,n)(e,t,r)}},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator")))},
body:{validate:(0,a.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,a.assertValueType)("boolean")},async:{default:!1,validate:(0,a.assertValueType)("boolean")}},visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),(0,o.default)("ObjectProperty",{builder:["key","value","computed","shorthand","decorators"],fields:{computed:{validate:(0,a.assertValueType)("boolean"),default:!1},key:{validate:function(e,t,r){var n=e.computed?["Expression"]:["Identifier","StringLiteral","NumericLiteral"];a.assertNodeType.apply(void 0,n)(e,t,r)}},value:{validate:(0,a.assertNodeType)("Expression","Pattern","RestElement")},shorthand:{validate:(0,a.assertValueType)("boolean"),default:!1},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator"))),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"]}),(0,o.default)("RestElement",{visitor:["argument","typeAnnotation"],aliases:["LVal"],fields:{argument:{validate:(0,a.assertNodeType)("LVal")},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator")))}}}),(0,o.default)("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,a.assertNodeType)("Expression"),optional:!0}}}),(0,o.default)("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Expression")))}},aliases:["Expression"]}),(0,o.default)("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,a.assertNodeType)("Expression"),optional:!0},consequent:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Statement")))}}}),(0,o.default)("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,a.assertNodeType)("Expression")},cases:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("SwitchCase")))}}}),(0,o.default)("ThisExpression",{aliases:["Expression"]}),(0,o.default)("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,a.assertNodeType)("Expression")}}}),(0,o.default)("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{body:{validate:(0,a.assertNodeType)("BlockStatement")},handler:{optional:!0,handler:(0,a.assertNodeType)("BlockStatement")},finalizer:{optional:!0,validate:(0,a.assertNodeType)("BlockStatement")}}}),(0,o.default)("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,a.assertNodeType)("Expression")},operator:{validate:a.assertOneOf.apply(void 0,s.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),(0,o.default)("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:(0,a.assertNodeType)("Expression")},operator:{validate:a.assertOneOf.apply(void 0,s.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),(0,o.default)("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{kind:{validate:(0,a.chain)((0,a.assertValueType)("string"),(0,a.assertOneOf)("var","let","const"))},declarations:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("VariableDeclarator")))}}}),(0,o.default)("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:(0,a.assertNodeType)("LVal")},init:{optional:!0,validate:(0,a.assertNodeType)("Expression")}}}),(0,o.default)("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("BlockStatement","Statement")}}}),(0,o.default)("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{object:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("BlockStatement","Statement")}}})},function(e,t,r){"use strict";var n=r(26),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("AssignmentPattern",{visitor:["left","right"],aliases:["Pattern","LVal"],fields:{left:{validate:(0,n.assertNodeType)("Identifier")},right:{validate:(0,n.assertNodeType)("Expression")},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("ArrayPattern",{visitor:["elements","typeAnnotation"],aliases:["Pattern","LVal"],fields:{elements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Identifier","Pattern","RestElement")))},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:{params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("LVal")))},body:{validate:(0,n.assertNodeType)("BlockStatement","Expression")},async:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,i.default)("ClassBody",{visitor:["body"],fields:{body:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ClassMethod","ClassProperty")))}}}),(0,i.default)("ClassDeclaration",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Statement","Declaration","Pureish"],fields:{id:{validate:(0,n.assertNodeType)("Identifier")},body:{validate:(0,n.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,n.assertNodeType)("Expression")},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("ClassExpression",{inherits:"ClassDeclaration",aliases:["Scopable","Class","Expression","Pureish"],fields:{id:{optional:!0,validate:(0,n.assertNodeType)("Identifier")},body:{validate:(0,n.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,n.assertNodeType)("Expression")},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("ExportAllDeclaration",{visitor:["source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{source:{validate:(0,n.assertNodeType)("StringLiteral")}}}),(0,i.default)("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,n.assertNodeType)("FunctionDeclaration","ClassDeclaration","Expression")}}}),(0,i.default)("ExportNamedDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,n.assertNodeType)("Declaration"),optional:!0},specifiers:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ExportSpecifier")))},source:{validate:(0,n.assertNodeType)("StringLiteral"),optional:!0}}}),(0,i.default)("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")},exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("ForOfStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,n.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")}}}),(0,i.default)("ImportDeclaration",{visitor:["specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration"],fields:{specifiers:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:(0,n.assertNodeType)("StringLiteral")}}}),(0,i.default)("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")},imported:{validate:(0,n.assertNodeType)("Identifier")},importKind:{validate:(0,n.assertOneOf)(null,"type","typeof")}}}),(0,i.default)("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:(0,n.assertValueType)("string")},property:{validate:(0,n.assertValueType)("string")}}}),(0,i.default)("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:{kind:{validate:(0,n.chain)((0,n.assertValueType)("string"),(0,n.assertOneOf)("get","set","method","constructor")),default:"method"},computed:{default:!1,validate:(0,n.assertValueType)("boolean")},static:{default:!1,validate:(0,n.assertValueType)("boolean")},key:{validate:function(e,t,r){var i=e.computed?["Expression"]:["Identifier","StringLiteral","NumericLiteral"];n.assertNodeType.apply(void 0,i)(e,t,r)}},params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("LVal")))},body:{validate:(0,n.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,n.assertValueType)("boolean")},async:{default:!1,validate:(0,n.assertValueType)("boolean")}}}),(0,i.default)("ObjectPattern",{visitor:["properties","typeAnnotation"],aliases:["Pattern","LVal"],fields:{properties:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("RestProperty","Property")))},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("Super",{aliases:["Expression"]}),(0,i.default)("TaggedTemplateExpression",{visitor:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,n.assertNodeType)("Expression")},quasi:{validate:(0,n.assertNodeType)("TemplateLiteral")}}}),(0,i.default)("TemplateElement",{builder:["value","tail"],fields:{value:{},tail:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,i.default)("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TemplateElement")))},expressions:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression")))}}}),(0,i.default)("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:(0,n.assertValueType)("boolean"),default:!1},argument:{optional:!0,validate:(0,n.assertNodeType)("Expression")}}})},function(e,t,r){"use strict";var n=r(26),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("ForAwaitStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,n.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")}}}),(0,i.default)("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:{}}),(0,i.default)("Import",{aliases:["Expression"]}),(0,i.default)("Decorator",{visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("DoExpression",{visitor:["body"],aliases:["Expression"],fields:{body:{validate:(0,n.assertNodeType)("BlockStatement")}}}),(0,i.default)("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("RestProperty",{visitor:["argument"],aliases:["UnaryLike"],fields:{argument:{validate:(0,n.assertNodeType)("LVal")}}}),(0,i.default)("SpreadProperty",{visitor:["argument"],aliases:["UnaryLike"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}})},function(e,t,r){"use strict";var n=r(26),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("AnyTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["Flow"],fields:{}}),(0,i.default)("BooleanTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("BooleanLiteralTypeAnnotation",{aliases:["Flow"],fields:{}}),(0,i.default)("NullLiteralTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("ClassImplements",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{}}),(0,i.default)("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed"],aliases:["Property"],fields:{computed:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,i.default)("DeclareClass",{visitor:["id","typeParameters","extends","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareFunction",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareInterface",{visitor:["id","typeParameters","extends","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareModule",{visitor:["id","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareVariable",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("ExistentialTypeParam",{aliases:["Flow"]}),(0,i.default)("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["Flow"],fields:{}}),(0,i.default)("FunctionTypeParam",{visitor:["name","typeAnnotation"],aliases:["Flow"],fields:{}}),(0,i.default)("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{}}),(0,i.default)("InterfaceExtends",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{}}),(0,i.default)("InterfaceDeclaration",{visitor:["id","typeParameters","extends","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("IntersectionTypeAnnotation",{visitor:["types"],aliases:["Flow"],fields:{}}),(0,i.default)("MixedTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"]}),(0,i.default)("EmptyTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"]}),(0,i.default)("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow"],fields:{}}),(0,i.default)("NumericLiteralTypeAnnotation",{aliases:["Flow"],fields:{}}),(0,i.default)("NumberTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("StringLiteralTypeAnnotation",{aliases:["Flow"],fields:{}}),(0,i.default)("StringTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("ThisTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("TupleTypeAnnotation",{visitor:["types"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeofTypeAnnotation",{visitor:["argument"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("OpaqueType",{visitor:["id","typeParameters","impltype","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("TypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["Flow","ExpressionWrapper","Expression"],fields:{}}),(0,i.default)("TypeParameter",{visitor:["bound"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeParameterDeclaration",{visitor:["params"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeParameterInstantiation",{visitor:["params"],aliases:["Flow"],fields:{}}),(0,i.default)("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties"],aliases:["Flow"],fields:{}}),(0,i.default)("ObjectTypeCallProperty",{visitor:["value"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,i.default)("ObjectTypeIndexer",{visitor:["id","key","value"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,i.default)("ObjectTypeProperty",{visitor:["key","value"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,i.default)("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,i.default)("QualifiedTypeIdentifier",{visitor:["id","qualification"],aliases:["Flow"],fields:{}}),(0,i.default)("UnionTypeAnnotation",{visitor:["types"],aliases:["Flow"],fields:{}}),(0,i.default)("VoidTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}})},function(e,t,r){"use strict";r(26),r(386),r(387),r(389),r(391),r(392),r(388)},function(e,t,r){"use strict";var n=r(26),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("JSXAttribute",{visitor:["name","value"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:(0,n.assertNodeType)("JSXElement","StringLiteral","JSXExpressionContainer")}}}),(0,i.default)("JSXClosingElement",{visitor:["name"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression")}}}),(0,i.default)("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["JSX","Immutable","Expression"],fields:{openingElement:{validate:(0,n.assertNodeType)("JSXOpeningElement")},closingElement:{optional:!0,validate:(0,n.assertNodeType)("JSXClosingElement")},children:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement")))}}}),(0,i.default)("JSXEmptyExpression",{aliases:["JSX","Expression"]}),(0,i.default)("JSXExpressionContainer",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("JSXSpreadChild",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("JSXIdentifier",{builder:["name"],aliases:["JSX","Expression"],fields:{name:{validate:(0,n.assertValueType)("string")}}}),(0,i.default)("JSXMemberExpression",{visitor:["object","property"],aliases:["JSX","Expression"],fields:{object:{validate:(0,n.assertNodeType)("JSXMemberExpression","JSXIdentifier")},property:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,i.default)("JSXNamespacedName",{visitor:["namespace","name"],aliases:["JSX"],fields:{namespace:{validate:(0,n.assertNodeType)("JSXIdentifier")},name:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,i.default)("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression")},selfClosing:{default:!1,validate:(0,n.assertValueType)("boolean")},attributes:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXAttribute","JSXSpreadAttribute")))}}}),(0,i.default)("JSXSpreadAttribute",{visitor:["argument"],aliases:["JSX"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("JSXText",{aliases:["JSX","Immutable"],builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}}})},function(e,t,r){"use strict";var n=r(26),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("Noop",{visitor:[]}),(0,i.default)("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}})},function(e,t,r){"use strict";function n(e){var t=i(e);return 1===t.length?t[0]:o.unionTypeAnnotation(t)}function i(e){for(var t={},r={},n=[],s=[],a=0;a<e.length;a++){var u=e[a];if(u&&!(s.indexOf(u)>=0)){if(o.isAnyTypeAnnotation(u))return[u];if(o.isFlowBaseAnnotation(u))r[u.type]=u;else if(o.isUnionTypeAnnotation(u))n.indexOf(u.types)<0&&(e=e.concat(u.types),n.push(u.types));else if(o.isGenericTypeAnnotation(u)){var l=u.id.name;if(t[l]){var c=t[l];c.typeParameters?u.typeParameters&&(c.typeParameters.params=i(c.typeParameters.params.concat(u.typeParameters.params))):c=u.typeParameters}else t[l]=u}else s.push(u)}}for(var f in r)s.push(r[f]);for(var p in t)s.push(t[p]);return s}function s(e){if("string"===e)return o.stringTypeAnnotation();if("number"===e)return o.numberTypeAnnotation();if("undefined"===e)return o.voidTypeAnnotation();if("boolean"===e)return o.booleanTypeAnnotation();if("function"===e)return o.genericTypeAnnotation(o.identifier("Function"));if("object"===e)return o.genericTypeAnnotation(o.identifier("Object"));if("symbol"===e)return o.genericTypeAnnotation(o.identifier("Symbol"));throw new Error("Invalid typeof value")}t.__esModule=!0,t.createUnionTypeAnnotation=n,t.removeTypeDuplicates=i,t.createTypeAnnotationBasedOnTypeof=s;var a=r(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(a)},function(e,t,r){"use strict";function n(e){return!!e&&/^[a-z]|\-/.test(e)}function i(e,t){for(var r=e.value.split(/\r\n|\n|\r/),n=0,i=0;i<r.length;i++)r[i].match(/[^ \t]/)&&(n=i);for(var s="",a=0;a<r.length;a++){var u=r[a],l=0===a,c=a===r.length-1,f=a===n,p=u.replace(/\t/g," ");l||(p=p.replace(/^[ ]+/,"")),c||(p=p.replace(/[ ]+$/,"")),p&&(f||(p+=" "),s+=p)}s&&t.push(o.stringLiteral(s))}function s(e){for(var t=[],r=0;r<e.children.length;r++){var n=e.children[r];o.isJSXText(n)?i(n,t):(o.isJSXExpressionContainer(n)&&(n=n.expression),o.isJSXEmptyExpression(n)||t.push(n))}return t}t.__esModule=!0,t.isReactComponent=void 0,t.isCompatTag=n,t.buildChildren=s;var a=r(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(a);t.isReactComponent=o.buildMatchMemberExpression("React.Component")},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=E.getBindingIdentifiers.keys[t.type];if(r)for(var n=0;n<r.length;n++){var i=r[n],s=t[i];if(Array.isArray(s)){if(s.indexOf(e)>=0)return!0}else if(s===e)return!0}return!1}function s(e,t){switch(t.type){case"BindExpression":return t.object===e||t.callee===e;case"MemberExpression":case"JSXMemberExpression":return!(t.property!==e||!t.computed)||t.object===e;case"MetaProperty":return!1;case"ObjectProperty":if(t.key===e)return t.computed;case"VariableDeclarator":return t.id!==e;case"ArrowFunctionExpression":case"FunctionDeclaration":case"FunctionExpression":for(var r=t.params,n=Array.isArray(r),i=0,r=n?r:(0,b.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if(i=r.next(),i.done)break;s=i.value}if(s===e)return!1}return t.id!==e;case"ExportSpecifier":return!t.source&&t.local===e;case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":return!1;case"JSXAttribute":return t.name!==e;case"ClassProperty":return t.key===e?t.computed:t.value===e;case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":return!1;case"ClassDeclaration":case"ClassExpression":return t.id!==e;case"ClassMethod":case"ObjectMethod":return t.key===e&&t.computed;case"LabeledStatement":return!1;case"CatchClause":return t.param!==e;case"RestElement":return!1;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ObjectPattern":case"ArrayPattern":return!1}return!0}function a(e){return"string"==typeof e&&!A.default.keyword.isReservedWordES6(e,!0)&&("await"!==e&&A.default.keyword.isIdentifierNameES6(e))}function o(e){return _.isVariableDeclaration(e)&&("var"!==e.kind||e[D.BLOCK_SCOPED_SYMBOL])}function u(e){return _.isFunctionDeclaration(e)||_.isClassDeclaration(e)||_.isLet(e)}function l(e){return _.isVariableDeclaration(e,{kind:"var"})&&!e[D.BLOCK_SCOPED_SYMBOL]}function c(e){return _.isImportDefaultSpecifier(e)||_.isIdentifier(e.imported||e.exported,{name:"default"})}function f(e,t){return(!_.isBlockStatement(e)||!_.isFunction(t,{body:e}))&&_.isScopable(e)}function p(e){return!!_.isType(e.type,"Immutable")||!!_.isIdentifier(e)&&"undefined"===e.name}function d(e,t){if("object"!==(void 0===e?"undefined":(0,v.default)(e))||"object"!==(void 0===e?"undefined":(0,v.default)(e))||null==e||null==t)return e===t;if(e.type!==t.type)return!1;for(var r=(0,m.default)(_.NODE_FIELDS[e.type]||e.type),n=r,i=Array.isArray(n),s=0,n=i?n:(0,b.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if(s=n.next(),s.done)break;a=s.value}var o=a;if((0,v.default)(e[o])!==(0,v.default)(t[o]))return!1;if(Array.isArray(e[o])){if(!Array.isArray(t[o]))return!1;if(e[o].length!==t[o].length)return!1;for(var u=0;u<e[o].length;u++)if(!d(e[o][u],t[o][u]))return!1}else if(!d(e[o],t[o]))return!1}return!0}t.__esModule=!0;var h=r(14),m=n(h),y=r(11),v=n(y),g=r(2),b=n(g);t.isBinding=i,t.isReferenced=s,t.isValidIdentifier=a,t.isLet=o,t.isBlockScoped=u,t.isVar=l,t.isSpecifierDefault=c,t.isScope=f,t.isImmutable=p,t.isNodesEquivalent=d;var E=r(226),x=r(97),A=n(x),S=r(1),_=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(S),D=r(135)},function(e,t){"use strict";function r(e,t,r){e instanceof RegExp&&(e=n(e,r)),t instanceof RegExp&&(t=n(t,r));var s=i(e,t,r);return s&&{start:s[0],end:s[1],pre:r.slice(0,s[0]),body:r.slice(s[0]+e.length,s[1]),post:r.slice(s[1]+t.length)}}function n(e,t){var r=t.match(e);return r?r[0]:null}function i(e,t,r){var n,i,s,a,o,u=r.indexOf(e),l=r.indexOf(t,u+1),c=u;if(u>=0&&l>0){for(n=[],s=r.length;c>=0&&!o;)c==u?(n.push(c),u=r.indexOf(e,c+1)):1==n.length?o=[n.pop(),l]:(i=n.pop(),i<s&&(s=i,a=l),l=r.indexOf(t,c+1)),c=u<l&&u>=0?u:l;n.length&&(o=[s,a])}return o}e.exports=r,r.range=i},function(e,t){"use strict";function r(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function n(e){return 3*e.length/4-r(e)}function i(e){var t,n,i,s,a,o=e.length;s=r(e),a=new c(3*o/4-s),n=s>0?o-4:o;var u=0;for(t=0;t<n;t+=4)i=l[e.charCodeAt(t)]<<18|l[e.charCodeAt(t+1)]<<12|l[e.charCodeAt(t+2)]<<6|l[e.charCodeAt(t+3)],a[u++]=i>>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===s?(i=l[e.charCodeAt(t)]<<2|l[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===s&&(i=l[e.charCodeAt(t)]<<10|l[e.charCodeAt(t+1)]<<4|l[e.charCodeAt(t+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}function s(e){return u[e>>18&63]+u[e>>12&63]+u[e>>6&63]+u[63&e]}function a(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16)+(e[a+1]<<8)+e[a+2],i.push(s(n));return i.join("")}function o(e){for(var t,r=e.length,n=r%3,i="",s=[],o=0,l=r-n;o<l;o+=16383)s.push(a(e,o,o+16383>l?l:o+16383));return 1===n?(t=e[r-1],i+=u[t>>2],i+=u[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=u[t>>10],i+=u[t>>4&63],i+=u[t<<2&63],i+="="),s.push(i),s.join("")}t.byteLength=n,t.toByteArray=i,t.fromByteArray=o;for(var u=[],l=[],c="undefined"!=typeof Uint8Array?Uint8Array:Array,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",p=0,d=f.length;p<d;++p)u[p]=f[p],l[f.charCodeAt(p)]=p;l["-".charCodeAt(0)]=62,l["_".charCodeAt(0)]=63},function(e,t,r){"use strict";function n(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function i(e){return e.split("\\\\").join(m).split("\\{").join(y).split("\\}").join(v).split("\\,").join(g).split("\\.").join(b)}function s(e){return e.split(m).join("\\").split(y).join("{").split(v).join("}").split(g).join(",").split(b).join(".")}function a(e){if(!e)return[""];var t=[],r=h("{","}",e);if(!r)return e.split(",");var n=r.pre,i=r.body,s=r.post,o=n.split(",");o[o.length-1]+="{"+i+"}";var u=a(s);return s.length&&(o[o.length-1]+=u.shift(),o.push.apply(o,u)),t.push.apply(t,o),t}function o(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),p(i(e),!0).map(s)):[]}function u(e){return"{"+e+"}"}function l(e){return/^-?0\d/.test(e)}function c(e,t){return e<=t}function f(e,t){return e>=t}function p(e,t){var r=[],i=h("{","}",e);if(!i||/\$$/.test(i.pre))return[e];var s=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(i.body),o=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(i.body),m=s||o,y=i.body.indexOf(",")>=0;if(!m&&!y)return i.post.match(/,.*\}/)?(e=i.pre+"{"+i.body+v+i.post,p(e)):[e];var g;if(m)g=i.body.split(/\.\./);else if(g=a(i.body),1===g.length&&(g=p(g[0],!1).map(u),1===g.length)){var b=i.post.length?p(i.post,!1):[""];return b.map(function(e){return i.pre+g[0]+e})}var E,x=i.pre,b=i.post.length?p(i.post,!1):[""];if(m){var A=n(g[0]),S=n(g[1]),_=Math.max(g[0].length,g[1].length),D=3==g.length?Math.abs(n(g[2])):1,C=c;S<A&&(D*=-1,C=f);var w=g.some(l);E=[];for(var P=A;C(P,S);P+=D){var k;if(o)"\\"===(k=String.fromCharCode(P))&&(k="");else if(k=String(P),w){var F=_-k.length;if(F>0){var T=new Array(F+1).join("0");k=P<0?"-"+T+k.slice(1):T+k}}E.push(k)}}else E=d(g,function(e){return p(e,!1)});for(var O=0;O<E.length;O++)for(var B=0;B<b.length;B++){var R=x+E[O]+b[B];(!t||m||R)&&r.push(R)}return r}var d=r(402),h=r(396);e.exports=o;var m="\0SLASH"+Math.random()+"\0",y="\0OPEN"+Math.random()+"\0",v="\0CLOSE"+Math.random()+"\0",g="\0COMMA"+Math.random()+"\0",b="\0PERIOD"+Math.random()+"\0"},function(e,t,r){(function(e){"use strict";function n(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(e,t){if(n()<t)throw new RangeError("Invalid typed array length");return s.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=s.prototype):(null===e&&(e=new s(t)),e.length=t),e}function s(e,t,r){if(!(s.TYPED_ARRAY_SUPPORT||this instanceof s))return new s(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return l(this,e)}return a(this,e,t,r)}function a(e,t,r,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number')
;return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?p(e,t,r,n):"string"==typeof t?c(e,t,r):d(e,t)}function o(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function u(e,t,r,n){return o(t),t<=0?i(e,t):void 0!==r?"string"==typeof n?i(e,t).fill(r,n):i(e,t).fill(r):i(e,t)}function l(e,t){if(o(t),e=i(e,t<0?0:0|h(t)),!s.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function c(e,t,r){if("string"==typeof r&&""!==r||(r="utf8"),!s.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|y(t,r);e=i(e,n);var a=e.write(t,r);return a!==n&&(e=e.slice(0,a)),e}function f(e,t){var r=t.length<0?0:0|h(t.length);e=i(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function p(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n),s.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=s.prototype):e=f(e,t),e}function d(e,t){if(s.isBuffer(t)){var r=0|h(t.length);return e=i(e,r),0===e.length?e:(t.copy(e,0,0,r),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||X(t.length)?i(e,0):f(e,t);if("Buffer"===t.type&&Q(t.data))return f(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function h(e){if(e>=n())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n().toString(16)+" bytes");return 0|e}function m(e){return+e!=e&&(e=0),s.alloc(+e)}function y(e,t){if(s.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Y(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return H(e).length;default:if(n)return Y(e).length;t=(""+t).toLowerCase(),n=!0}}function v(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,r);case"utf8":case"utf-8":return P(this,t,r);case"ascii":return F(this,t,r);case"latin1":case"binary":return T(this,t,r);case"base64":return w(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function g(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function b(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=s.from(t,n)),s.isBuffer(t))return 0===t.length?-1:E(e,t,r,n,i);if("number"==typeof t)return t&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):E(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function E(e,t,r,n,i){function s(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,o=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,u/=2,r/=2}var l;if(i){var c=-1;for(l=r;l<o;l++)if(s(e,l)===s(t,-1===c?0:l-c)){if(-1===c&&(c=l),l-c+1===u)return c*a}else-1!==c&&(l-=l-c),c=-1}else for(r+u>o&&(r=o-u),l=r;l>=0;l--){for(var f=!0,p=0;p<u;p++)if(s(e,l+p)!==s(t,p)){f=!1;break}if(f)return l}return-1}function x(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");n>s/2&&(n=s/2);for(var a=0;a<n;++a){var o=parseInt(t.substr(2*a,2),16);if(isNaN(o))return a;e[r+a]=o}return a}function A(e,t,r,n){return J(Y(t,e.length-r),e,r,n)}function S(e,t,r,n){return J(q(t),e,r,n)}function _(e,t,r,n){return S(e,t,r,n)}function D(e,t,r,n){return J(H(t),e,r,n)}function C(e,t,r,n){return J(K(t,e.length-r),e,r,n)}function w(e,t,r){return 0===t&&r===e.length?z.fromByteArray(e):z.fromByteArray(e.slice(t,r))}function P(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var s=e[i],a=null,o=s>239?4:s>223?3:s>191?2:1;if(i+o<=r){var u,l,c,f;switch(o){case 1:s<128&&(a=s);break;case 2:u=e[i+1],128==(192&u)&&(f=(31&s)<<6|63&u)>127&&(a=f);break;case 3:u=e[i+1],l=e[i+2],128==(192&u)&&128==(192&l)&&(f=(15&s)<<12|(63&u)<<6|63&l)>2047&&(f<55296||f>57343)&&(a=f);break;case 4:u=e[i+1],l=e[i+2],c=e[i+3],128==(192&u)&&128==(192&l)&&128==(192&c)&&(f=(15&s)<<18|(63&u)<<12|(63&l)<<6|63&c)>65535&&f<1114112&&(a=f)}}null===a?(a=65533,o=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=o}return k(n)}function k(e){var t=e.length;if(t<=Z)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=Z));return r}function F(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function T(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function O(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",s=t;s<r;++s)i+=W(e[s]);return i}function B(e,t,r){for(var n=e.slice(t,r),i="",s=0;s<n.length;s+=2)i+=String.fromCharCode(n[s]+256*n[s+1]);return i}function R(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function I(e,t,r,n,i,a){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function M(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-r,2);i<s;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function N(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-r,4);i<s;++i)e[r+i]=t>>>8*(n?i:3-i)&255}function L(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function j(e,t,r,n,i){return i||L(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(e,t,r,n,23,4),r+4}function U(e,t,r,n,i){return i||L(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(e,t,r,n,52,8),r+8}function V(e){if(e=G(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function G(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function W(e){return e<16?"0"+e.toString(16):e.toString(16)}function Y(e,t){t=t||1/0;for(var r,n=e.length,i=null,s=[],a=0;a<n;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function q(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function K(e,t){for(var r,n,i,s=[],a=0;a<e.length&&!((t-=2)<0);++a)r=e.charCodeAt(a),n=r>>8,i=r%256,s.push(i),s.push(n);return s}function H(e){return z.toByteArray(V(e))}function J(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function X(e){return e!==e}var z=r(397),$=r(465),Q=r(400);t.Buffer=s,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,s.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=n(),s.poolSize=8192,s._augment=function(e){return e.__proto__=s.prototype,e},s.from=function(e,t,r){return a(null,e,t,r)},s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0})),s.alloc=function(e,t,r){return u(null,e,t,r)},s.allocUnsafe=function(e){return l(null,e)},s.allocUnsafeSlow=function(e){return l(null,e)},s.isBuffer=function(e){return!(null==e||!e._isBuffer)},s.compare=function(e,t){if(!s.isBuffer(e)||!s.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},s.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(e,t){if(!Q(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return s.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=s.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var a=e[r];if(!s.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},s.byteLength=y,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},s.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},s.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},s.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?P(this,0,e):v.apply(this,arguments)},s.prototype.equals=function(e){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===s.compare(this,e)},s.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},s.prototype.compare=function(e,t,r,n,i){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;for(var a=i-n,o=r-t,u=Math.min(a,o),l=this.slice(n,i),c=e.slice(t,r),f=0;f<u;++f)if(l[f]!==c[f]){a=l[f],o=c[f];break}return a<o?-1:o<a?1:0},s.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},s.prototype.indexOf=function(e,t,r){return b(this,e,t,r,!0)},s.prototype.lastIndexOf=function(e,t,r){return b(this,e,t,r,!1)},s.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return x(this,e,t,r);case"utf8":case"utf-8":return A(this,e,t,r);case"ascii":return S(this,e,t,r);case"latin1":case"binary":return _(this,e,t,r);case"base64":return D(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Z=4096;s.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n;if(s.TYPED_ARRAY_SUPPORT)n=this.subarray(e,t),n.__proto__=s.prototype;else{var i=t-e;n=new s(i,void 0);for(var a=0;a<i;++a)n[a]=this[a+e]}return n},s.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||R(e,t,this.length);for(var n=this[e],i=1,s=0;++s<t&&(i*=256);)n+=this[e+s]*i;return n},s.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||R(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},s.prototype.readUInt8=function(e,t){return t||R(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return t||R(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return t||R(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,t){return t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||R(e,t,this.length);for(var n=this[e],i=1,s=0;++s<t&&(i*=256);)n+=this[e+s]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*t)),n},s.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||R(e,t,this.length);for(var n=t,i=1,s=this[e+--n];n>0&&(i*=256);)s+=this[e+--n]*i;return i*=128,s>=i&&(s-=Math.pow(2,8*t)),s},s.prototype.readInt8=function(e,t){return t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,t){t||R(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(e,t){t||R(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(e,t){return t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return t||R(e,4,this.length),$.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return t||R(e,4,this.length),$.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return t||R(e,8,this.length),$.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return t||R(e,8,this.length),$.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t|=0,r|=0,!n){I(this,e,t,r,Math.pow(2,8*r)-1,0)}var i=1,s=0;for(this[t]=255&e;++s<r&&(i*=256);)this[t+s]=e/i&255;return t+r},s.prototype.writeUIntBE=function(e,t,r,n){if(e=+e,t|=0,r|=0,!n){I(this,e,t,r,Math.pow(2,8*r)-1,0)}var i=r-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+r},s.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,1,255,0),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},s.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},s.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},s.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},s.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},s.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);I(this,e,t,r,i-1,-i)}var s=0,a=1,o=0;for(this[t]=255&e;++s<r&&(a*=256);)e<0&&0===o&&0!==this[t+s-1]&&(o=1),this[t+s]=(e/a>>0)-o&255;return t+r},s.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);I(this,e,t,r,i-1,-i)}var s=r-1,a=1,o=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/a>>0)-o&255;return t+r},s.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,1,127,-128),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},s.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},s.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},s.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},s.prototype.writeFloatLE=function(e,t,r){return j(this,e,t,!0,r)},s.prototype.writeFloatBE=function(e,t,r){return j(this,e,t,!1,r)},s.prototype.writeDoubleLE=function(e,t,r){return U(this,e,t,!0,r)},s.prototype.writeDoubleBE=function(e,t,r){return U(this,e,t,!1,r)},s.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i,a=n-r;if(this===e&&r<t&&t<n)for(i=a-1;i>=0;--i)e[i+t]=this[i+r];else if(a<1e3||!s.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+a),t);return a},s.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!s.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var a;if("number"==typeof e)for(a=t;a<r;++a)this[a]=e;else{var o=s.isBuffer(e)?e:Y(new s(e,n).toString()),u=o.length;for(a=0;a<r-t;++a)this[a+t]=o[a%u]}return this};var ee=/[^+\/0-9A-Za-z-_]/g}).call(t,function(){return this}())},function(e,t){"use strict";var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){(function(t){"use strict";function n(e){this.enabled=e&&void 0!==e.enabled?e.enabled:c}function i(e){var t=function e(){return s.apply(e,arguments)};return t._styles=e,t.enabled=this.enabled,t.__proto__=h,t}function s(){var e=arguments,t=e.length,r=0!==t&&String(arguments[0]);if(t>1)for(var n=1;n<t;n++)r+=" "+e[n];if(!this.enabled||!r)return r;var i=this._styles,s=i.length,a=o.dim.open;for(!p||-1===i.indexOf("gray")&&-1===i.indexOf("grey")||(o.dim.open="");s--;){var u=o[i[s]];r=u.open+r.replace(u.closeRe,u.open)+u.close}return o.dim.open=a,r}var a=r(460),o=r(289),u=r(622),l=r(464),c=r(623),f=Object.defineProperties,p="win32"===t.platform&&!/^xterm/i.test(t.env.TERM);p&&(o.blue.open="");var d=function(){var e={};return Object.keys(o).forEach(function(t){o[t].closeRe=new RegExp(a(o[t].close),"g"),e[t]={get:function(){return i.call(this,this._styles.concat(t))}}}),e}(),h=f(function(){},d);f(n.prototype,function(){var e={};return Object.keys(d).forEach(function(t){e[t]={get:function(){return i.call(this,[t])}}}),e}()),e.exports=new n,e.exports.styles=o,e.exports.hasColor=l,e.exports.stripColor=u,e.exports.supportsColor=c}).call(t,r(8))},function(e,t){"use strict";e.exports=function(e,t){for(var n=[],i=0;i<e.length;i++){var s=t(e[i],i);r(s)?n.push.apply(n,s):n.push(s)}return n};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){(function(e){"use strict";function n(t){return new e(t,"base64").toString()}function i(e){return e.split(",").pop()}function s(e,r){var n=t.mapFileCommentRegex.exec(e),i=n[1]||n[2],s=u.resolve(r,i);try{return o.readFileSync(s,"utf8")}catch(e){throw new Error("An error occurred while trying to read the map file at "+s+"\n"+e)}}function a(e,t){t=t||{},t.isFileComment&&(e=s(e,t.commentFileDir)),t.hasComment&&(e=i(e)),t.isEncoded&&(e=n(e)),(t.isJSON||t.isEncoded)&&(e=JSON.parse(e)),this.sourcemap=e}var o=r(115),u=r(19);Object.defineProperty(t,"commentRegex",{get:function(){return/^\s*\/(?:\/|\*)[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/gm}}),Object.defineProperty(t,"mapFileCommentRegex",{get:function(){return/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/){1}[ \t]*$)/gm}}),a.prototype.toJSON=function(e){return JSON.stringify(this.sourcemap,null,e)},a.prototype.toBase64=function(){var t=this.toJSON();return new e(t).toString("base64")},a.prototype.toComment=function(e){var t=this.toBase64(),r="sourceMappingURL=data:application/json;charset=utf-8;base64,"+t;return e&&e.multiline?"/*# "+r+" */":"//# "+r},a.prototype.toObject=function(){return JSON.parse(this.toJSON())},a.prototype.addProperty=function(e,t){if(this.sourcemap.hasOwnProperty(e))throw new Error("property %s already exists on the sourcemap, use set property instead");return this.setProperty(e,t)},a.prototype.setProperty=function(e,t){return this.sourcemap[e]=t,this},a.prototype.getProperty=function(e){return this.sourcemap[e]},t.fromObject=function(e){return new a(e)},t.fromJSON=function(e){return new a(e,{isJSON:!0})},t.fromBase64=function(e){return new a(e,{isEncoded:!0})},t.fromComment=function(e){return e=e.replace(/^\/\*/g,"//").replace(/\*\/$/g,""),new a(e,{isEncoded:!0,hasComment:!0})},t.fromMapFileComment=function(e,t){return new a(e,{commentFileDir:t,isFileComment:!0,isJSON:!0})},t.fromSource=function(e){var r=e.match(t.commentRegex);return r?t.fromComment(r.pop()):null},t.fromMapFileSource=function(e,r){var n=e.match(t.mapFileCommentRegex);return n?t.fromMapFileComment(n.pop(),r):null},t.removeComments=function(e){return e.replace(t.commentRegex,"")},t.removeMapFileComments=function(e){return e.replace(t.mapFileCommentRegex,"")},t.generateMapFileComment=function(e,t){var r="sourceMappingURL="+e;return t&&t.multiline?"/*# "+r+" */":"//# "+r}}).call(t,r(399).Buffer)},function(e,t,r){"use strict";r(59),r(157),e.exports=r(439)},function(e,t,r){"use strict";var n=r(5),i=n.JSON||(n.JSON={stringify:JSON.stringify});e.exports=function(e){return i.stringify.apply(i,arguments)}},function(e,t,r){"use strict";r(96),r(157),r(59),r(441),r(451),r(450),r(449),e.exports=r(5).Map},function(e,t,r){"use strict";r(442),e.exports=9007199254740991},function(e,t,r){"use strict";r(443),e.exports=r(5).Object.assign},function(e,t,r){"use strict";r(444);var n=r(5).Object;e.exports=function(e,t){return n.create(e,t)}},function(e,t,r){"use strict";r(158),e.exports=r(5).Object.getOwnPropertySymbols},function(e,t,r){"use strict";r(445),e.exports=r(5).Object.keys},function(e,t,r){"use strict";r(446),e.exports=r(5).Object.setPrototypeOf},function(e,t,r){"use strict";r(158),e.exports=r(5).Symbol.for},function(e,t,r){"use strict";r(158),r(96),r(452),r(453),e.exports=r(5).Symbol},function(e,t,r){"use strict";r(157),r(59),e.exports=r(156).f("iterator")},function(e,t,r){"use strict";r(96),r(59),r(447),r(455),r(454),e.exports=r(5).WeakMap},function(e,t,r){"use strict";r(96),r(59),r(448),r(457),r(456),e.exports=r(5).WeakSet},function(e,t){"use strict";e.exports=function(){}},function(e,t,r){"use strict";var n=r(55);e.exports=function(e,t){var r=[];return n(e,!1,r.push,r,t),r}},function(e,t,r){"use strict";var n=r(37),i=r(153),s=r(438);e.exports=function(e){return function(t,r,a){var o,u=n(t),l=i(u.length),c=s(a,l);if(e&&r!=r){for(;l>c;)if((o=u[c++])!=o)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===r)return e||c||0;return!e&&-1}}},function(e,t,r){"use strict";var n=r(16),i=r(232),s=r(13)("species");e.exports=function(e){var t;return i(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!i(t.prototype)||(t=void 0),n(t)&&null===(t=t[s])&&(t=void 0)),void 0===t?Array:t}},function(e,t,r){"use strict";var n=r(421);e.exports=function(e,t){return new(n(e))(t)}},function(e,t,r){"use strict";var n=r(23).f,i=r(90),s=r(146),a=r(43),o=r(136),u=r(55),l=r(143),c=r(233),f=r(436),p=r(22),d=r(57).fastKey,h=r(58),m=p?"_s":"size",y=function(e,t){var r,n=d(t);if("F"!==n)return e._i[n];for(r=e._f;r;r=r.n)if(r.k==t)return r};e.exports={getConstructor:function(e,t,r,l){var c=e(function(e,n){o(e,c,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,void 0!=n&&u(n,r,e[l],e)});return s(c.prototype,{clear:function(){for(var e=h(this,t),r=e._i,n=e._f;n;n=n.n)n.r=!0,n.p&&(n.p=n.p.n=void 0),delete r[n.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var r=h(this,t),n=y(r,e);if(n){var i=n.n,s=n.p;delete r._i[n.i],n.r=!0,s&&(s.n=i),i&&(i.p=s),r._f==n&&(r._f=i),r._l==n&&(r._l=s),r[m]--}return!!n},forEach:function(e){h(this,t);for(var r,n=a(e,arguments.length>1?arguments[1]:void 0,3);r=r?r.n:this._f;)for(n(r.v,r.k,this);r&&r.r;)r=r.p},has:function(e){return!!y(h(this,t),e)}}),p&&n(c.prototype,"size",{get:function(){return h(this,t)[m]}}),c},def:function(e,t,r){var n,i,s=y(e,t);return s?s.v=r:(e._l=s={i:i=d(t,!0),k:t,v:r,p:n=e._l,n:void 0,r:!1},e._f||(e._f=s),n&&(n.n=s),e[m]++,"F"!==i&&(e._i[i]=s)),e},getEntry:y,setStrong:function(e,t,r){l(e,t,function(e,r){this._t=h(e,t),this._k=r,this._l=void 0},function(){for(var e=this,t=e._k,r=e._l;r&&r.r;)r=r.p;return e._t&&(e._l=r=r?r.n:e._t._f)?"keys"==t?c(0,r.k):"values"==t?c(0,r.v):c(0,[r.k,r.v]):(e._t=void 0,c(1))},r?"entries":"values",!r,!0),f(t)}}},function(e,t,r){"use strict";var n=r(228),i=r(419);e.exports=function(e){return function(){if(n(this)!=e)throw TypeError(e+"#toJSON isn't generic");return i(this)}}},function(e,t,r){"use strict";var n=r(44),i=r(145),s=r(91);e.exports=function(e){var t=n(e),r=i.f;if(r)for(var a,o=r(e),u=s.f,l=0;o.length>l;)u.call(e,a=o[l++])&&t.push(a);return t}},function(e,t,r){"use strict";var n=r(15).document;e.exports=n&&n.documentElement},function(e,t,r){"use strict";var n=r(56),i=r(13)("iterator"),s=Array.prototype;e.exports=function(e){return void 0!==e&&(n.Array===e||s[i]===e)}},function(e,t,r){"use strict";var n=r(21);e.exports=function(e,t,r,i){try{return i?t(n(r)[0],r[1]):t(r)}catch(t){var s=e.return;throw void 0!==s&&n(s.call(e)),t}}},function(e,t,r){"use strict";var n=r(90),i=r(92),s=r(93),a={};r(29)(a,r(13)("iterator"),function(){return this}),e.exports=function(e,t,r){e.prototype=n(a,{next:i(1,r)}),s(e,t+" Iterator")}},function(e,t,r){"use strict";var n=r(44),i=r(37);e.exports=function(e,t){for(var r,s=i(e),a=n(s),o=a.length,u=0;o>u;)if(s[r=a[u++]]===t)return r}},function(e,t,r){"use strict";var n=r(23),i=r(21),s=r(44);e.exports=r(22)?Object.defineProperties:function(e,t){i(e);for(var r,a=s(t),o=a.length,u=0;o>u;)n.f(e,r=a[u++],t[r]);return e}},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=r(37),s=r(236).f,a={}.toString,o="object"==("undefined"==typeof window?"undefined":n(window))&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(e){try{return s(e)}catch(e){return o.slice()}};e.exports.f=function(e){return o&&"[object Window]"==a.call(e)?u(e):s(i(e))}},function(e,t,r){"use strict";var n=r(28),i=r(94),s=r(150)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),n(e,s)?e[s]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,r){"use strict";var n=r(12),i=r(5),s=r(27);e.exports=function(e,t){var r=(i.Object||{})[e]||Object[e],a={};a[e]=t(r),n(n.S+n.F*s(function(){r(1)}),"Object",a)}},function(e,t,r){"use strict";var n=r(16),i=r(21),s=function(e,t){if(i(e),!n(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,n){try{n=r(43)(Function.call,r(235).f(Object.prototype,"__proto__").set,2),n(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,r){return s(e,r),t?e.__proto__=r:n(e,r),e}}({},!1):void 0),check:s}},function(e,t,r){"use strict";var n=r(15),i=r(5),s=r(23),a=r(22),o=r(13)("species");e.exports=function(e){var t="function"==typeof i[e]?i[e]:n[e];a&&t&&!t[o]&&s.f(t,o,{configurable:!0,get:function(){return this}})}},function(e,t,r){"use strict";var n=r(152),i=r(140);e.exports=function(e){return function(t,r){var s,a,o=String(i(t)),u=n(r),l=o.length;return u<0||u>=l?e?"":void 0:(s=o.charCodeAt(u),s<55296||s>56319||u+1===l||(a=o.charCodeAt(u+1))<56320||a>57343?e?o.charAt(u):s:e?o.slice(u,u+2):a-56320+(s-55296<<10)+65536)}}},function(e,t,r){"use strict";var n=r(152),i=Math.max,s=Math.min;e.exports=function(e,t){return e=n(e),e<0?i(e+t,0):s(e,t)}},function(e,t,r){"use strict";var n=r(21),i=r(238);e.exports=r(5).getIterator=function(e){var t=i(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return n(t.call(e))}},function(e,t,r){"use strict";var n=r(418),i=r(233),s=r(56),a=r(37);e.exports=r(143)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,r=this._i++;return!e||r>=e.length?(this._t=void 0,i(1)):"keys"==t?i(0,r):"values"==t?i(0,e[r]):i(0,[r,e[r]])},"values"),s.Arguments=s.Array,n("keys"),n("values"),n("entries")},function(e,t,r){"use strict";var n=r(423),i=r(58);e.exports=r(139)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=n.getEntry(i(this,"Map"),e);return t&&t.v},set:function(e,t){return n.def(i(this,"Map"),0===e?0:e,t)}},n,!0)},function(e,t,r){"use strict";var n=r(12);n(n.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,r){"use strict";var n=r(12);n(n.S+n.F,"Object",{assign:r(234)})},function(e,t,r){"use strict";var n=r(12);n(n.S,"Object",{create:r(90)})},function(e,t,r){"use strict";var n=r(94),i=r(44);r(434)("keys",function(){return function(e){return i(n(e))}})},function(e,t,r){"use strict";var n=r(12);n(n.S,"Object",{setPrototypeOf:r(435).set})},function(e,t,r){"use strict";var n,i=r(137)(0),s=r(147),a=r(57),o=r(234),u=r(229),l=r(16),c=r(27),f=r(58),p=a.getWeak,d=Object.isExtensible,h=u.ufstore,m={},y=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},v={get:function(e){if(l(e)){var t=p(e);return!0===t?h(f(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(f(this,"WeakMap"),e,t)}},g=e.exports=r(139)("WeakMap",y,v,u,!0,!0);c(function(){return 7!=(new g).set((Object.freeze||Object)(m),7).get(m)})&&(n=u.getConstructor(y,"WeakMap"),o(n.prototype,v),a.NEED=!0,i(["delete","has","get","set"],function(e){var t=g.prototype,r=t[e];s(t,e,function(t,i){if(l(t)&&!d(t)){this._f||(this._f=new n);var s=this._f[e](t,i);return"set"==e?this:s}return r.call(this,t,i)})}))},function(e,t,r){"use strict"
;var n=r(229),i=r(58);r(139)("WeakSet",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return n.def(i(this,"WeakSet"),e,!0)}},n,!1,!0)},function(e,t,r){"use strict";r(148)("Map")},function(e,t,r){"use strict";r(149)("Map")},function(e,t,r){"use strict";var n=r(12);n(n.P+n.R,"Map",{toJSON:r(424)("Map")})},function(e,t,r){"use strict";r(155)("asyncIterator")},function(e,t,r){"use strict";r(155)("observable")},function(e,t,r){"use strict";r(148)("WeakMap")},function(e,t,r){"use strict";r(149)("WeakMap")},function(e,t,r){"use strict";r(148)("WeakSet")},function(e,t,r){"use strict";r(149)("WeakSet")},function(e,t,r){"use strict";function n(e){var r,n=0;for(r in e)n=(n<<5)-n+e.charCodeAt(r),n|=0;return t.colors[Math.abs(n)%t.colors.length]}function i(e){function r(){if(r.enabled){var e=r,n=+new Date,i=n-(l||n);e.diff=i,e.prev=l,e.curr=n,l=n;for(var s=new Array(arguments.length),a=0;a<s.length;a++)s[a]=arguments[a];s[0]=t.coerce(s[0]),"string"!=typeof s[0]&&s.unshift("%O");var o=0;s[0]=s[0].replace(/%([a-zA-Z%])/g,function(r,n){if("%%"===r)return r;o++;var i=t.formatters[n];if("function"==typeof i){var a=s[o];r=i.call(e,a),s.splice(o,1),o--}return r}),t.formatArgs.call(e,s);(r.log||t.log||console.log.bind(console)).apply(e,s)}}return r.namespace=e,r.enabled=t.enabled(e),r.useColors=t.useColors(),r.color=n(e),"function"==typeof t.init&&t.init(r),r}function s(e){t.save(e),t.names=[],t.skips=[];for(var r=("string"==typeof e?e:"").split(/[\s,]+/),n=r.length,i=0;i<n;i++)r[i]&&(e=r[i].replace(/\*/g,".*?"),"-"===e[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")))}function a(){t.enable("")}function o(e){var r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1}function u(e){return e instanceof Error?e.stack||e.message:e}t=e.exports=i.debug=i.default=i,t.coerce=u,t.disable=a,t.enable=s,t.enabled=o,t.humanize=r(602),t.names=[],t.skips=[],t.formatters={};var l},function(e,t,r){"use strict";function n(e){var t=0,r=0,n=0;for(var i in e){var s=e[i],a=s[0],o=s[1];(a>r||a===r&&o>n)&&(r=a,n=o,t=Number(i))}return t}var i=r(615),s=/^(?:( )+|\t+)/;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");var t,r,a=0,o=0,u=0,l={};e.split(/\n/g).forEach(function(e){if(e){var n,i=e.match(s);i?(n=i[0].length,i[1]?o++:a++):n=0;var c=n-u;u=n,c?(r=c>0,t=l[r?c:-c],t?t[0]++:t=l[c]=[1,0]):t&&(t[1]+=Number(r))}});var c,f,p=n(l);return p?o>=a?(c="space",f=i(" ",p)):(c="tab",f=i("\t",p)):(c=null,f=""),{amount:p,type:c,indent:f}}},function(e,t){"use strict";var r=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(r,"\\$&")}},function(e,t){"use strict";!function(){function t(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1}function r(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1}function n(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function i(e){return n(e)||null!=e&&"FunctionDeclaration"===e.type}function s(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}function a(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=s(t)}while(t);return!1}e.exports={isExpression:t,isStatement:n,isIterationStatement:r,isSourceElement:i,isProblematicIfStatement:a,trailingStatement:s}}()},function(e,t,r){"use strict";!function(){function t(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}function n(e,t){return!(!t&&"yield"===e)&&i(e,t)}function i(e,r){if(r&&t(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function s(e,t){return"null"===e||"true"===e||"false"===e||n(e,t)}function a(e,t){return"null"===e||"true"===e||"false"===e||i(e,t)}function o(e){return"eval"===e||"arguments"===e}function u(e){var t,r,n;if(0===e.length)return!1;if(n=e.charCodeAt(0),!d.isIdentifierStartES5(n))return!1;for(t=1,r=e.length;t<r;++t)if(n=e.charCodeAt(t),!d.isIdentifierPartES5(n))return!1;return!0}function l(e,t){return 1024*(e-55296)+(t-56320)+65536}function c(e){var t,r,n,i,s;if(0===e.length)return!1;for(s=d.isIdentifierStartES6,t=0,r=e.length;t<r;++t){if(55296<=(n=e.charCodeAt(t))&&n<=56319){if(++t>=r)return!1;if(!(56320<=(i=e.charCodeAt(t))&&i<=57343))return!1;n=l(n,i)}if(!s(n))return!1;s=d.isIdentifierPartES6}return!0}function f(e,t){return u(e)&&!s(e,t)}function p(e,t){return c(e)&&!a(e,t)}var d=r(240);e.exports={isKeywordES5:n,isKeywordES6:i,isReservedWordES5:s,isReservedWordES6:a,isRestrictedWord:o,isIdentifierNameES5:u,isIdentifierNameES6:c,isIdentifierES5:f,isIdentifierES6:p}}()},function(e,t,r){"use strict";e.exports=r(630)},function(e,t,r){"use strict";var n=r(180),i=new RegExp(n().source);e.exports=i.test.bind(i)},function(e,t){"use strict";t.read=function(e,t,r,n,i){var s,a,o=8*i-n-1,u=(1<<o)-1,l=u>>1,c=-7,f=r?i-1:0,p=r?-1:1,d=e[t+f];for(f+=p,s=d&(1<<-c)-1,d>>=-c,c+=o;c>0;s=256*s+e[t+f],f+=p,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=n;c>0;a=256*a+e[t+f],f+=p,c-=8);if(0===s)s=1-l;else{if(s===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),s-=l}return(d?-1:1)*a*Math.pow(2,s-n)},t.write=function(e,t,r,n,i,s){var a,o,u,l=8*s-i-1,c=(1<<l)-1,f=c>>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:s-1,h=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),t+=a+f>=1?p/u:p*Math.pow(2,1-f),t*u>=2&&(a++,u/=2),a+f>=c?(o=0,a=c):a+f>=1?(o=(t*u-1)*Math.pow(2,i),a+=f):(o=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[r+d]=255&o,d+=h,o/=256,i-=8);for(a=a<<i|o,l+=i;l>0;e[r+d]=255&a,d+=h,a/=256,l-=8);e[r+d-h]|=128*m}},function(e,t,r){"use strict";var n=function(e,t,r,n,i,s,a,o){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[r,n,i,s,a,o],c=0;u=new Error(t.replace(/%s/g,function(){return l[c++]})),u.name="Invariant Violation"}throw u.framesToPop=1,u}};e.exports=n},function(e,t,r){"use strict";var n=r(603);e.exports=Number.isFinite||function(e){return!("number"!=typeof e||n(e)||e===1/0||e===-1/0)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyu]{1,5}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,t.matchToToken=function(e){var t={type:"invalid",value:e[0]};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}},function(e,t,r){var n;(function(e,i){"use strict";var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(a){var o="object"==s(t)&&t,u="object"==s(e)&&e&&e.exports==o&&e,l="object"==(void 0===i?"undefined":s(i))&&i;l.global!==l&&l.window!==l||(a=l);var c={},f=c.hasOwnProperty,p=function(e,t){var r;for(r in e)f.call(e,r)&&t(r,e[r])},d=function(e,t){return t?(p(t,function(t,r){e[t]=r}),e):e},h=function(e,t){for(var r=e.length,n=-1;++n<r;)t(e[n])},m=c.toString,y=function(e){return"[object Array]"==m.call(e)},v=function(e){return"[object Object]"==m.call(e)},g=function(e){return"string"==typeof e||"[object String]"==m.call(e)},b=function(e){return"number"==typeof e||"[object Number]"==m.call(e)},E=function(e){return"function"==typeof e||"[object Function]"==m.call(e)},x=function(e){return"[object Map]"==m.call(e)},A=function(e){return"[object Set]"==m.call(e)},S={'"':'\\"',"'":"\\'","\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},_=/["'\\\b\f\n\r\t]/,D=/[0-9]/,C=/[ !#-&\(-\[\]-~]/,w=function e(t,r){var n={escapeEverything:!1,escapeEtago:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:"\t",__indent__:"",__inline1__:!1,__inline2__:!1},i=r&&r.json;i&&(n.quotes="double",n.wrap=!0),r=d(n,r),"single"!=r.quotes&&"double"!=r.quotes&&(r.quotes="single");var s,a="double"==r.quotes?'"':"'",o=r.compact,u=r.indent,l=r.lowercaseHex,c="",f=r.__inline1__,m=r.__inline2__,w=o?"":"\n",P=!0,k="binary"==r.numbers,F="octal"==r.numbers,T="decimal"==r.numbers,O="hexadecimal"==r.numbers;if(i&&t&&E(t.toJSON)&&(t=t.toJSON()),!g(t)){if(x(t))return 0==t.size?"new Map()":(o||(r.__inline1__=!0),"new Map("+e(Array.from(t),r)+")");if(A(t))return 0==t.size?"new Set()":"new Set("+e(Array.from(t),r)+")";if(y(t))return s=[],r.wrap=!0,f?(r.__inline1__=!1,r.__inline2__=!0):(c=r.__indent__,u+=c,r.__indent__=u),h(t,function(t){P=!1,m&&(r.__inline2__=!1),s.push((o||m?"":u)+e(t,r))}),P?"[]":m?"["+s.join(", ")+"]":"["+w+s.join(","+w)+w+(o?"":c)+"]";if(!b(t))return v(t)?(s=[],r.wrap=!0,c=r.__indent__,u+=c,r.__indent__=u,p(t,function(t,n){P=!1,s.push((o?"":u)+e(t,r)+":"+(o?"":" ")+e(n,r))}),P?"{}":"{"+w+s.join(","+w)+w+(o?"":c)+"}"):i?JSON.stringify(t)||"null":String(t);if(i)return JSON.stringify(t);if(T)return String(t);if(O){var B=t.toString(16);return l||(B=B.toUpperCase()),"0x"+B}if(k)return"0b"+t.toString(2);if(F)return"0o"+t.toString(8)}var R,I,M,N=t,L=-1,j=N.length;for(s="";++L<j;){var U=N.charAt(L);if(r.es6&&(R=N.charCodeAt(L))>=55296&&R<=56319&&j>L+1&&(I=N.charCodeAt(L+1))>=56320&&I<=57343){M=1024*(R-55296)+I-56320+65536;var V=M.toString(16);l||(V=V.toUpperCase()),s+="\\u{"+V+"}",L++}else{if(!r.escapeEverything){if(C.test(U)){s+=U;continue}if('"'==U){s+=a==U?'\\"':U;continue}if("'"==U){s+=a==U?"\\'":U;continue}}if("\0"!=U||i||D.test(N.charAt(L+1)))if(_.test(U))s+=S[U];else{var G=U.charCodeAt(0),V=G.toString(16);l||(V=V.toUpperCase());var W=V.length>2||i,Y="\\"+(W?"u":"x")+("0000"+V).slice(W?-4:-2);s+=Y}else s+="\\0"}}return r.wrap&&(s=a+s+a),r.escapeEtago?s.replace(/<\/(script|style)/gi,"<\\/$1"):s};w.version="1.3.0","object"==s(r(49))&&r(49)?void 0!==(n=function(){return w}.call(t,r,t,e))&&(e.exports=n):o&&!o.nodeType?u?u.exports=w:o.jsesc=w:a.jsesc=w}(void 0)}).call(t,r(39)(e),function(){return this}())},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i="object"===n(t)?t:{};i.parse=function(){var e,t,r,i,s,a,o={"'":"'",'"':'"',"\\":"\\","/":"/","\n":"",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},u=[" ","\t","\r","\n","\v","\f"," ","\ufeff"],l=function(e){return""===e?"EOF":"'"+e+"'"},c=function(n){var i=new SyntaxError;throw i.message=n+" at line "+t+" column "+r+" of the JSON5 data. Still to read: "+JSON.stringify(s.substring(e-1,e+19)),i.at=e,i.lineNumber=t,i.columnNumber=r,i},f=function(n){return n&&n!==i&&c("Expected "+l(n)+" instead of "+l(i)),i=s.charAt(e),e++,r++,("\n"===i||"\r"===i&&"\n"!==p())&&(t++,r=0),i},p=function(){return s.charAt(e)},d=function(){var e=i;for("_"!==i&&"$"!==i&&(i<"a"||i>"z")&&(i<"A"||i>"Z")&&c("Bad identifier as unquoted key");f()&&("_"===i||"$"===i||i>="a"&&i<="z"||i>="A"&&i<="Z"||i>="0"&&i<="9");)e+=i;return e},h=function(){var e,t="",r="",n=10;if("-"!==i&&"+"!==i||(t=i,f(i)),"I"===i)return e=E(),("number"!=typeof e||isNaN(e))&&c("Unexpected word for number"),"-"===t?-e:e;if("N"===i)return e=E(),isNaN(e)||c("expected word to be NaN"),e;switch("0"===i&&(r+=i,f(),"x"===i||"X"===i?(r+=i,f(),n=16):i>="0"&&i<="9"&&c("Octal literal")),n){case 10:for(;i>="0"&&i<="9";)r+=i,f();if("."===i)for(r+=".";f()&&i>="0"&&i<="9";)r+=i;if("e"===i||"E"===i)for(r+=i,f(),"-"!==i&&"+"!==i||(r+=i,f());i>="0"&&i<="9";)r+=i,f();break;case 16:for(;i>="0"&&i<="9"||i>="A"&&i<="F"||i>="a"&&i<="f";)r+=i,f()}if(e="-"===t?-r:+r,isFinite(e))return e;c("Bad number")},m=function(){var e,t,r,n,s="";if('"'===i||"'"===i)for(r=i;f();){if(i===r)return f(),s;if("\\"===i)if(f(),"u"===i){for(n=0,t=0;t<4&&(e=parseInt(f(),16),isFinite(e));t+=1)n=16*n+e;s+=String.fromCharCode(n)}else if("\r"===i)"\n"===p()&&f();else{if("string"!=typeof o[i])break;s+=o[i]}else{if("\n"===i)break;s+=i}}c("Bad string")},y=function(){"/"!==i&&c("Not an inline comment");do{if(f(),"\n"===i||"\r"===i)return void f()}while(i)},v=function(){"*"!==i&&c("Not a block comment");do{for(f();"*"===i;)if(f("*"),"/"===i)return void f("/")}while(i);c("Unterminated block comment")},g=function(){"/"!==i&&c("Not a comment"),f("/"),"/"===i?y():"*"===i?v():c("Unrecognized comment")},b=function(){for(;i;)if("/"===i)g();else{if(!(u.indexOf(i)>=0))return;f()}},E=function(){switch(i){case"t":return f("t"),f("r"),f("u"),f("e"),!0;case"f":return f("f"),f("a"),f("l"),f("s"),f("e"),!1;case"n":return f("n"),f("u"),f("l"),f("l"),null;case"I":return f("I"),f("n"),f("f"),f("i"),f("n"),f("i"),f("t"),f("y"),1/0;case"N":return f("N"),f("a"),f("N"),NaN}c("Unexpected "+l(i))},x=function(){var e=[];if("["===i)for(f("["),b();i;){if("]"===i)return f("]"),e;if(","===i?c("Missing array element"):e.push(a()),b(),","!==i)return f("]"),e;f(","),b()}c("Bad array")},A=function(){var e,t={};if("{"===i)for(f("{"),b();i;){if("}"===i)return f("}"),t;if(e='"'===i||"'"===i?m():d(),b(),f(":"),t[e]=a(),b(),","!==i)return f("}"),t;f(","),b()}c("Bad object")};return a=function(){switch(b(),i){case"{":return A();case"[":return x();case'"':case"'":return m();case"-":case"+":case".":return h();default:return i>="0"&&i<="9"?h():E()}},function(o,u){var l;return s=String(o),e=0,t=1,r=1,i=" ",l=a(),b(),i&&c("Syntax error"),"function"==typeof u?function e(t,r){var i,s,a=t[r];if(a&&"object"===(void 0===a?"undefined":n(a)))for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(s=e(a,i),void 0!==s?a[i]=s:delete a[i]);return u.call(t,r,a)}({"":l},""):l}}(),i.stringify=function(e,t,r){function s(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||"_"===e||"$"===e}function a(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||"_"===e||"$"===e}function o(e){if("string"!=typeof e)return!1;if(!a(e[0]))return!1;for(var t=1,r=e.length;t<r;){if(!s(e[t]))return!1;t++}return!0}function u(e){return Array.isArray?Array.isArray(e):"[object Array]"===Object.prototype.toString.call(e)}function l(e){return"[object Date]"===Object.prototype.toString.call(e)}function c(e){for(var t=0;t<y.length;t++)if(y[t]===e)throw new TypeError("Converting circular structure to JSON")}function f(e,t,r){if(!e)return"";e.length>10&&(e=e.substring(0,10));for(var n=r?"":"\n",i=0;i<t;i++)n+=e;return n}function p(e){return v.lastIndex=0,v.test(e)?'"'+e.replace(v,function(e){var t=g[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function d(e,t,r){var i,s,a=h(e,t,r);switch(a&&!l(a)&&(a=a.valueOf()),void 0===a?"undefined":n(a)){case"boolean":return a.toString();case"number":return isNaN(a)||!isFinite(a)?"null":a.toString();case"string":return p(a.toString());case"object":if(null===a)return"null";if(u(a)){c(a),i="[",y.push(a);for(var v=0;v<a.length;v++)s=d(a,v,!1),i+=f(m,y.length),i+=null===s||void 0===s?"null":s,v<a.length-1?i+=",":m&&(i+="\n");y.pop(),a.length&&(i+=f(m,y.length,!0)),i+="]"}else{c(a),i="{";var g=!1;y.push(a);for(var b in a)if(a.hasOwnProperty(b)){var E=d(a,b,!1);r=!1,void 0!==E&&null!==E&&(i+=f(m,y.length),g=!0,t=o(b)?b:p(b),i+=t+":"+(m?" ":"")+E+",")}y.pop(),i=g?i.substring(0,i.length-1)+f(m,y.length)+"}":"{}"}return i;default:return}}if(t&&"function"!=typeof t&&!u(t))throw new Error("Replacer must be a function or an array");var h=function(e,r,n){var i=e[r];return i&&i.toJSON&&"function"==typeof i.toJSON&&(i=i.toJSON()),"function"==typeof t?t.call(e,r,i):t?n||u(e)||t.indexOf(r)>=0?i:void 0:i};i.isWord=o;var m,y=[];r&&("string"==typeof r?m=r:"number"==typeof r&&r>=0&&(m=f(" ",r,!0)));var v=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,g={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},b={"":e};return void 0===e?h(b,"",!0):d(b,"",!0)}},function(e,t){"use strict";var r=[],n=[];e.exports=function(e,t){if(e===t)return 0;var i=e.length,s=t.length;if(0===i)return s;if(0===s)return i;for(var a,o,u,l,c=0,f=0;c<i;)n[c]=e.charCodeAt(c),r[c]=++c;for(;f<s;)for(a=t.charCodeAt(f),u=f++,o=f,c=0;c<i;c++)l=a===n[c]?u:u+1,u=r[c],o=r[c]=u>o?l>o?o+1:l:l>u?u+1:l;return o}},function(e,t,r){"use strict";var n=r(38),i=r(17),s=n(i,"DataView");e.exports=s},function(e,t,r){"use strict";function n(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}var i=r(536),s=r(537),a=r(538),o=r(539),u=r(540);n.prototype.clear=i,n.prototype.delete=s,n.prototype.get=a,n.prototype.has=o,n.prototype.set=u,e.exports=n},function(e,t,r){"use strict";var n=r(38),i=r(17),s=n(i,"Promise");e.exports=s},function(e,t,r){"use strict";var n=r(38),i=r(17),s=n(i,"WeakMap");e.exports=s},function(e,t){"use strict";function r(e,t){return e.set(t[0],t[1]),e}e.exports=r},function(e,t){"use strict";function r(e,t){return e.add(t),e}e.exports=r},function(e,t){"use strict";function r(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}e.exports=r},function(e,t){"use strict";function r(e,t){for(var r=-1,n=null==e?0:e.length,i=0,s=[];++r<n;){var a=e[r];t(a,r,e)&&(s[i++]=a)}return s}e.exports=r},function(e,t,r){"use strict";function n(e,t){return!!(null==e?0:e.length)&&i(e,t,0)>-1}var i=r(166);e.exports=n},function(e,t){"use strict";function r(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}e.exports=r},function(e,t){"use strict";function r(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}e.exports=r},function(e,t,r){"use strict";function n(e,t){return e&&i(t,s(t),e)}var i=r(31),s=r(32);e.exports=n},function(e,t,r){"use strict";function n(e,t){return e&&i(t,s(t),e)}var i=r(31),s=r(47);e.exports=n},function(e,t){"use strict";function r(e,t,r){return e===e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e}e.exports=r},function(e,t,r){"use strict";var n=r(18),i=Object.create,s=function(){function e(){}return function(t){if(!n(t))return{};if(i)return i(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=s},function(e,t,r){"use strict";var n=r(489),i=r(526),s=i(n);e.exports=s},function(e,t,r){"use strict";function n(e,t,r,a,o){var u=-1,l=e.length;for(r||(r=s),o||(o=[]);++u<l;){var c=e[u];t>0&&r(c)?t>1?n(c,t-1,r,a,o):i(o,c):a||(o[o.length]=c)}return o}var i=r(161),s=r(543);e.exports=n},function(e,t,r){"use strict";function n(e,t){return e&&i(e,t,s)}var i=r(248),s=r(32);e.exports=n},function(e,t){"use strict";function r(e,t){return null!=e&&i.call(e,t)}var n=Object.prototype,i=n.hasOwnProperty;e.exports=r},function(e,t){"use strict";function r(e,t){return null!=e&&t in Object(e)}e.exports=r},function(e,t){"use strict";function r(e,t,r,n){for(var i=r-1,s=e.length;++i<s;)if(n(e[i],t))return i;return-1}e.exports=r},function(e,t,r){"use strict";function n(e){return s(e)&&i(e)==a}var i=r(30),s=r(25),a="[object Arguments]";e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n,y,g){var b=l(e),E=l(t),x=b?h:u(e),A=E?h:u(t);x=x==d?m:x,A=A==d?m:A;var S=x==m,_=A==m,D=x==A;if(D&&c(e)){if(!c(t))return!1;b=!0,S=!1}if(D&&!S)return g||(g=new i),b||f(e)?s(e,t,r,n,y,g):a(e,t,x,r,n,y,g);if(!(r&p)){var C=S&&v.call(e,"__wrapped__"),w=_&&v.call(t,"__wrapped__");if(C||w){var P=C?e.value():e,k=w?t.value():t;return g||(g=new i),y(P,k,r,n,g)}}return!!D&&(g||(g=new i),o(e,t,r,n,y,g))}var i=r(99),s=r(260),a=r(530),o=r(531),u=r(264),l=r(6),c=r(113),f=r(177),p=1,d="[object Arguments]",h="[object Array]",m="[object Object]",y=Object.prototype,v=y.hasOwnProperty;e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n){var u=r.length,l=u,c=!n;if(null==e)return!l;for(e=Object(e);u--;){var f=r[u];if(c&&f[2]?f[1]!==e[f[0]]:!(f[0]in e))return!1}for(;++u<l;){f=r[u];var p=f[0],d=e[p],h=f[1];if(c&&f[2]){if(void 0===d&&!(p in e))return!1}else{var m=new i;if(n)var y=n(d,h,p,e,t,m);if(!(void 0===y?s(h,d,a|o,n,m):y))return!1}}return!0}var i=r(99),s=r(251),a=1,o=2;e.exports=n},function(e,t){"use strict";function r(e){return e!==e}e.exports=r},function(e,t,r){"use strict";function n(e){return!(!a(e)||s(e))&&(i(e)?h:l).test(o(e))}var i=r(175),s=r(545),a=r(18),o=r(272),u=/[\\^$.*+?()[\]{}|]/g,l=/^\[object .+?Constructor\]$/,c=Function.prototype,f=Object.prototype,p=c.toString,d=f.hasOwnProperty,h=RegExp("^"+p.call(d).replace(u,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=n},function(e,t,r){"use strict";function n(e){return s(e)&&i(e)==a}var i=r(30),s=r(25),a="[object RegExp]";e.exports=n},function(e,t,r){"use strict";function n(e){return a(e)&&s(e.length)&&!!o[i(e)]}var i=r(30),s=r(176),a=r(25),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,e.exports=n},function(e,t,r){"use strict";function n(e){if(!i(e))return s(e);var t=[];for(var r in Object(e))o.call(e,r)&&"constructor"!=r&&t.push(r);return t}var i=r(105),s=r(557),a=Object.prototype,o=a.hasOwnProperty;e.exports=n},function(e,t,r){"use strict";function n(e){if(!i(e))return a(e);var t=s(e),r=[];for(var n in e)("constructor"!=n||!t&&u.call(e,n))&&r.push(n);return r}var i=r(18),s=r(105),a=r(558),o=Object.prototype,u=o.hasOwnProperty;e.exports=n},function(e,t,r){"use strict";function n(e){var t=s(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(r){return r===e||i(r,e,t)}}var i=r(495),s=r(533),a=r(269);e.exports=n},function(e,t,r){"use strict";function n(e,t){return o(e)&&u(t)?l(c(e),t):function(r){var n=s(r,e);return void 0===n&&n===t?a(r,e):i(t,n,f|p)}}var i=r(251),s=r(583),a=r(584),o=r(173),u=r(267),l=r(269),c=r(108),f=1,p=2;e.exports=n},function(e,t,r){"use strict";function n(e,t,r,c,f){e!==t&&a(t,function(a,l){if(u(a))f||(f=new i),o(e,t,l,r,n,c,f);else{var p=c?c(e[l],a,l+"",e,t,f):void 0;void 0===p&&(p=a),s(e,l,p)}},l)}var i=r(99),s=r(247),a=r(248),o=r(505),u=r(18),l=r(47);e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n,g,b,E){var x=e[r],A=t[r],S=E.get(A);if(S)return void i(e,r,S);var _=b?b(x,A,r+"",e,t,E):void 0,D=void 0===_;if(D){var C=c(A),w=!C&&p(A),P=!C&&!w&&y(A);_=A,C||w||P?c(x)?_=x:f(x)?_=o(x):w?(D=!1,_=s(A,!0)):P?(D=!1,_=a(A,!0)):_=[]:m(A)||l(A)?(_=x,l(x)?_=v(x):(!h(x)||n&&d(x))&&(_=u(A))):D=!1}D&&(E.set(A,_),g(_,A,n,b,E),E.delete(A)),i(e,r,_)}var i=r(247),s=r(256),a=r(257),o=r(168),u=r(266),l=r(112),c=r(6),f=r(585),p=r(113),d=r(175),h=r(18),m=r(275),y=r(177),v=r(599);e.exports=n},function(e,t,r){"use strict";function n(e,t,r){var n=-1;t=i(t.length?t:[c],u(s));var f=a(e,function(e,r,s){return{criteria:i(t,function(t){return t(e)}),index:++n,value:e}});return o(f,function(e,t){return l(e,t,r)})}var i=r(60),s=r(61),a=r(252),o=r(512),u=r(102),l=r(522),c=r(110);e.exports=n},function(e,t){"use strict";function r(e){return function(t){return null==t?void 0:t[e]}}e.exports=r},function(e,t,r){"use strict";function n(e){return function(t){return i(t,e)}}var i=r(249);e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n){var l=n?a:s,f=-1,p=t.length,d=e;for(e===t&&(t=u(t)),r&&(d=i(e,o(r)));++f<p;)for(var h=0,m=t[f],y=r?r(m):m;(h=l(d,y,h,n))>-1;)d!==e&&c.call(d,h,1),c.call(e,h,1);return e}var i=r(60),s=r(166),a=r(492),o=r(102),u=r(168),l=Array.prototype,c=l.splice;e.exports=n},function(e,t){"use strict";function r(e,t){var r="";if(!e||t<1||t>n)return r;do{t%2&&(r+=e),(t=i(t/2))&&(e+=e)}while(t);return r}var n=9007199254740991,i=Math.floor;e.exports=r},function(e,t,r){"use strict";var n=r(576),i=r(259),s=r(110),a=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:s;e.exports=a},function(e,t){"use strict";function r(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}e.exports=r},function(e,t){"use strict";function r(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}e.exports=r},function(e,t,r){"use strict";function n(e,t,r){var n=-1,f=s,p=e.length,d=!0,h=[],m=h;if(r)d=!1,f=a;else if(p>=c){var y=t?null:u(e);if(y)return l(y);d=!1,f=o,m=new i}else m=t?[]:h;e:for(;++n<p;){var v=e[n],g=t?t(v):v;if(v=r||0!==v?v:0,d&&g===g){for(var b=m.length;b--;)if(m[b]===g)continue e;t&&m.push(g),h.push(v)}else f(m,g,r)||(m!==h&&m.push(g),h.push(v))}return h}var i=r(242),s=r(480),a=r(481),o=r(254),u=r(528),l=r(107),c=200;e.exports=n},function(e,t,r){"use strict";function n(e,t){return i(t,function(t){return e[t]})}var i=r(60);e.exports=n},function(e,t,r){"use strict";function n(e,t){var r=t?i(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var i=r(167);e.exports=n},function(e,t,r){"use strict";function n(e,t,r){var n=t?r(a(e),o):a(e);return s(n,i,new e.constructor)}var i=r(476),s=r(246),a=r(268),o=1;e.exports=n},function(e,t){"use strict";function r(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}var n=/\w*$/;e.exports=r},function(e,t,r){"use strict";function n(e,t,r){var n=t?r(a(e),o):a(e);return s(n,i,new e.constructor)}var i=r(477),s=r(246),a=r(107),o=1;e.exports=n},function(e,t,r){"use strict";function n(e){return a?Object(a.call(e)):{}}var i=r(45),s=i?i.prototype:void 0,a=s?s.valueOf:void 0;e.exports=n},function(e,t,r){"use strict";function n(e,t){if(e!==t){var r=void 0!==e,n=null===e,s=e===e,a=i(e),o=void 0!==t,u=null===t,l=t===t,c=i(t);if(!u&&!c&&!a&&e>t||a&&o&&l&&!u&&!c||n&&o&&l||!r&&l||!s)return 1;if(!n&&!a&&!c&&e<t||c&&r&&s&&!n&&!a||u&&r&&s||!o&&s||!l)return-1}return 0}var i=r(62);e.exports=n},function(e,t,r){"use strict";function n(e,t,r){for(var n=-1,s=e.criteria,a=t.criteria,o=s.length,u=r.length;++n<o;){var l=i(s[n],a[n]);if(l){if(n>=u)return l;return l*("desc"==r[n]?-1:1)}}return e.index-t.index}var i=r(521);e.exports=n},function(e,t,r){"use strict";function n(e,t){return i(e,s(e),t)}var i=r(31),s=r(170);e.exports=n},function(e,t,r){"use strict";function n(e,t){return i(e,s(e),t)}var i=r(31),s=r(263);e.exports=n},function(e,t,r){"use strict";var n=r(17),i=n["__core-js_shared__"];e.exports=i},function(e,t,r){"use strict";function n(e,t){return function(r,n){if(null==r)return r;if(!i(r))return e(r,n);for(var s=r.length,a=t?s:-1,o=Object(r);(t?a--:++a<s)&&!1!==n(o[a],a,o););return r}}var i=r(24);e.exports=n},function(e,t){"use strict";function r(e){return function(t,r,n){for(var i=-1,s=Object(t),a=n(t),o=a.length;o--;){var u=a[e?o:++i];if(!1===r(s[u],u,s))break}return t}}e.exports=r},function(e,t,r){"use strict";var n=r(241),i=r(591),s=r(107),a=n&&1/s(new n([,-0]))[1]==1/0?function(e){return new n(e)}:i;e.exports=a},function(e,t,r){"use strict";function n(e,t,r,n){return void 0===e||i(e,s[r])&&!a.call(n,r)?t:e}var i=r(46),s=Object.prototype,a=s.hasOwnProperty;e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n,i,S,D){switch(r){case A:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case x:return!(e.byteLength!=t.byteLength||!S(new s(e),new s(t)));case p:case d:case y:return a(+e,+t);case h:return e.name==t.name&&e.message==t.message;case v:case b:return e==t+"";case m:var C=u;case g:var w=n&c;if(C||(C=l),e.size!=t.size&&!w)return!1;var P=D.get(e);if(P)return P==t;n|=f,D.set(e,t);var k=o(C(e),C(t),n,i,S,D);return D.delete(e),k;case E:if(_)return _.call(e)==_.call(t)}return!1}var i=r(45),s=r(243),a=r(46),o=r(260),u=r(268),l=r(107),c=1,f=2,p="[object Boolean]",d="[object Date]",h="[object Error]",m="[object Map]",y="[object Number]",v="[object RegExp]",g="[object Set]",b="[object String]",E="[object Symbol]",x="[object ArrayBuffer]",A="[object DataView]",S=i?i.prototype:void 0,_=S?S.valueOf:void 0;e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n,a,u){var l=r&s,c=i(e),f=c.length;if(f!=i(t).length&&!l)return!1;for(var p=f;p--;){var d=c[p];if(!(l?d in t:o.call(t,d)))return!1}var h=u.get(e);if(h&&u.get(t))return h==t;var m=!0;u.set(e,t),u.set(t,e);for(var y=l;++p<f;){d=c[p];var v=e[d],g=t[d];if(n)var b=l?n(g,v,d,t,e,u):n(v,g,d,e,t,u);if(!(void 0===b?v===g||a(v,g,r,n,u):b)){m=!1;break}y||(y="constructor"==d)}if(m&&!y){var E=e.constructor,x=t.constructor;E!=x&&"constructor"in e&&"constructor"in t&&!("function"==typeof E&&E instanceof E&&"function"==typeof x&&x instanceof x)&&(m=!1)}return u.delete(e),u.delete(t),m}var i=r(262),s=1,a=Object.prototype,o=a.hasOwnProperty;e.exports=n},function(e,t,r){"use strict";function n(e){return i(e,a,s)}var i=r(250),s=r(263),a=r(47);e.exports=n},function(e,t,r){"use strict";function n(e){for(var t=s(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,i(a)]}return t}var i=r(267),s=r(32);e.exports=n},function(e,t,r){"use strict";function n(e){var t=a.call(e,u),r=e[u];try{e[u]=void 0;var n=!0}catch(e){}var i=o.call(e);return n&&(t?e[u]=r:delete e[u]),i}var i=r(45),s=Object.prototype,a=s.hasOwnProperty,o=s.toString,u=i?i.toStringTag:void 0;e.exports=n},function(e,t){"use strict";function r(e,t){return null==e?void 0:e[t]}e.exports=r},function(e,t,r){"use strict";function n(){this.__data__=i?i(null):{},this.size=0}var i=r(106);e.exports=n},function(e,t){"use strict";function r(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}e.exports=r},function(e,t,r){"use strict";function n(e){var t=this.__data__;if(i){var r=t[e];return r===s?void 0:r}return o.call(t,e)?t[e]:void 0}var i=r(106),s="__lodash_hash_undefined__",a=Object.prototype,o=a.hasOwnProperty;e.exports=n},function(e,t,r){"use strict"
;function n(e){var t=this.__data__;return i?void 0!==t[e]:a.call(t,e)}var i=r(106),s=Object.prototype,a=s.hasOwnProperty;e.exports=n},function(e,t,r){"use strict";function n(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=i&&void 0===t?s:t,this}var i=r(106),s="__lodash_hash_undefined__";e.exports=n},function(e,t){"use strict";function r(e){var t=e.length,r=e.constructor(t);return t&&"string"==typeof e[0]&&i.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var n=Object.prototype,i=n.hasOwnProperty;e.exports=r},function(e,t,r){"use strict";function n(e,t,r,n){var F=e.constructor;switch(t){case b:return i(e);case f:case p:return new F(+e);case E:return s(e,n);case x:case A:case S:case _:case D:case C:case w:case P:case k:return c(e,n);case d:return a(e,n,r);case h:case v:return new F(e);case m:return o(e);case y:return u(e,n,r);case g:return l(e)}}var i=r(167),s=r(516),a=r(517),o=r(518),u=r(519),l=r(520),c=r(257),f="[object Boolean]",p="[object Date]",d="[object Map]",h="[object Number]",m="[object RegExp]",y="[object Set]",v="[object String]",g="[object Symbol]",b="[object ArrayBuffer]",E="[object DataView]",x="[object Float32Array]",A="[object Float64Array]",S="[object Int8Array]",_="[object Int16Array]",D="[object Int32Array]",C="[object Uint8Array]",w="[object Uint8ClampedArray]",P="[object Uint16Array]",k="[object Uint32Array]";e.exports=n},function(e,t,r){"use strict";function n(e){return a(e)||s(e)||!!(o&&e&&e[o])}var i=r(45),s=r(112),a=r(6),o=i?i.isConcatSpreadable:void 0;e.exports=n},function(e,t){"use strict";function r(e){var t=void 0===e?"undefined":n(e);return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=r},function(e,t,r){"use strict";function n(e){return!!s&&s in e}var i=r(525),s=function(){var e=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();e.exports=n},function(e,t){"use strict";function r(){this.__data__=[],this.size=0}e.exports=r},function(e,t,r){"use strict";function n(e){var t=this.__data__,r=i(t,e);return!(r<0)&&(r==t.length-1?t.pop():a.call(t,r,1),--this.size,!0)}var i=r(100),s=Array.prototype,a=s.splice;e.exports=n},function(e,t,r){"use strict";function n(e){var t=this.__data__,r=i(t,e);return r<0?void 0:t[r][1]}var i=r(100);e.exports=n},function(e,t,r){"use strict";function n(e){return i(this.__data__,e)>-1}var i=r(100);e.exports=n},function(e,t,r){"use strict";function n(e,t){var r=this.__data__,n=i(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var i=r(100);e.exports=n},function(e,t,r){"use strict";function n(){this.size=0,this.__data__={hash:new i,map:new(a||s),string:new i}}var i=r(473),s=r(98),a=r(159);e.exports=n},function(e,t,r){"use strict";function n(e){var t=i(this,e).delete(e);return this.size-=t?1:0,t}var i=r(104);e.exports=n},function(e,t,r){"use strict";function n(e){return i(this,e).get(e)}var i=r(104);e.exports=n},function(e,t,r){"use strict";function n(e){return i(this,e).has(e)}var i=r(104);e.exports=n},function(e,t,r){"use strict";function n(e,t){var r=i(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var i=r(104);e.exports=n},function(e,t,r){"use strict";function n(e){var t=i(e,function(e){return r.size===s&&r.clear(),e}),r=t.cache;return t}var i=r(589),s=500;e.exports=n},function(e,t,r){"use strict";var n=r(271),i=n(Object.keys,Object);e.exports=i},function(e,t){"use strict";function r(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}e.exports=r},function(e,t){"use strict";function r(e){return i.call(e)}var n=Object.prototype,i=n.toString;e.exports=r},function(e,t,r){"use strict";function n(e,t,r){return t=s(void 0===t?e.length-1:t,0),function(){for(var n=arguments,a=-1,o=s(n.length-t,0),u=Array(o);++a<o;)u[a]=n[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=n[a];return l[t]=r(u),i(e,this,l)}}var i=r(244),s=Math.max;e.exports=n},function(e,t){"use strict";function r(e){return this.__data__.set(e,n),this}var n="__lodash_hash_undefined__";e.exports=r},function(e,t){"use strict";function r(e){return this.__data__.has(e)}e.exports=r},function(e,t,r){"use strict";var n=r(511),i=r(564),s=i(n);e.exports=s},function(e,t){"use strict";function r(e){var t=0,r=0;return function(){var a=s(),o=i-(a-r);if(r=a,o>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var n=800,i=16,s=Date.now;e.exports=r},function(e,t,r){"use strict";function n(){this.__data__=new i,this.size=0}var i=r(98);e.exports=n},function(e,t){"use strict";function r(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}e.exports=r},function(e,t){"use strict";function r(e){return this.__data__.get(e)}e.exports=r},function(e,t){"use strict";function r(e){return this.__data__.has(e)}e.exports=r},function(e,t,r){"use strict";function n(e,t){var r=this.__data__;if(r instanceof i){var n=r.__data__;if(!s||n.length<o-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(n)}return r.set(e,t),this.size=r.size,this}var i=r(98),s=r(159),a=r(160),o=200;e.exports=n},function(e,t){"use strict";function r(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}e.exports=r},function(e,t,r){"use strict";var n=r(556),i=/^\./,s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=n(function(e){var t=[];return i.test(e)&&t.push(""),e.replace(s,function(e,r,n,i){t.push(n?i.replace(a,"$1"):r||e)}),t});e.exports=o},function(e,t,r){"use strict";var n=r(31),i=r(103),s=r(47),a=i(function(e,t){n(t,s(t),e)});e.exports=a},function(e,t,r){"use strict";var n=r(31),i=r(103),s=r(47),a=i(function(e,t,r,i){n(t,s(t),e,i)});e.exports=a},function(e,t,r){"use strict";function n(e){return i(e,s|a)}var i=r(164),s=1,a=4;e.exports=n},function(e,t,r){"use strict";function n(e,t){return t="function"==typeof t?t:void 0,i(e,s|a,t)}var i=r(164),s=1,a=4;e.exports=n},function(e,t){"use strict";function r(e){return function(){return e}}e.exports=r},function(e,t,r){"use strict";function n(e){return e=i(e),e&&a.test(e)?e.replace(s,"\\$&"):e}var i=r(114),s=/[\\^$.*+?()[\]{}|]/g,a=RegExp(s.source);e.exports=n},function(e,t,r){"use strict";e.exports=r(572)},function(e,t,r){"use strict";var n=r(258),i=r(580),s=n(i);e.exports=s},function(e,t,r){"use strict";function n(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var u=null==r?0:a(r);return u<0&&(u=o(n+u,0)),i(e,s(t,3),u)}var i=r(165),s=r(61),a=r(48),o=Math.max;e.exports=n},function(e,t,r){"use strict";var n=r(258),i=r(582),s=n(i);e.exports=s},function(e,t,r){"use strict";function n(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var l=n-1;return void 0!==r&&(l=a(r),l=r<0?o(n+l,0):u(l,n-1)),i(e,s(t,3),l,!0)}var i=r(165),s=r(61),a=r(48),o=Math.max,u=Math.min;e.exports=n},function(e,t,r){"use strict";function n(e,t,r){var n=null==e?void 0:i(e,t);return void 0===n?r:n}var i=r(249);e.exports=n},function(e,t,r){"use strict";function n(e,t){return null!=e&&s(e,t,i)}var i=r(491),s=r(265);e.exports=n},function(e,t,r){"use strict";function n(e){return s(e)&&i(e)}var i=r(24),s=r(25);e.exports=n},function(e,t,r){"use strict";function n(e){return"number"==typeof e&&e==i(e)}var i=r(48);e.exports=n},function(e,t,r){"use strict";function n(e){return"string"==typeof e||!s(e)&&a(e)&&i(e)==o}var i=r(30),s=r(6),a=r(25),o="[object String]";e.exports=n},function(e,t,r){"use strict";function n(e,t){return(o(e)?i:a)(e,s(t,3))}var i=r(60),s=r(61),a=r(252),o=r(6);e.exports=n},function(e,t,r){"use strict";function n(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(s);var r=function r(){var n=arguments,i=t?t.apply(this,n):n[0],s=r.cache;if(s.has(i))return s.get(i);var a=e.apply(this,n);return r.cache=s.set(i,a)||s,a};return r.cache=new(n.Cache||i),r}var i=r(160),s="Expected a function";n.Cache=i,e.exports=n},function(e,t,r){"use strict";var n=r(504),i=r(103),s=i(function(e,t,r,i){n(e,t,r,i)});e.exports=s},function(e,t){"use strict";function r(){}e.exports=r},function(e,t,r){"use strict";function n(e){return a(e)?i(o(e)):s(e)}var i=r(507),s=r(508),a=r(173),o=r(108);e.exports=n},function(e,t,r){"use strict";function n(e,t){return e&&e.length&&t&&t.length?i(e,t):e}var i=r(509);e.exports=n},function(e,t,r){"use strict";var n=r(488),i=r(506),s=r(101),a=r(172),o=s(function(e,t){if(null==e)return[];var r=t.length;return r>1&&a(e,t[0],t[1])?t=[]:r>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),i(e,n(t,1),[])});e.exports=o},function(e,t,r){"use strict";function n(e,t,r){return e=o(e),r=null==r?0:i(a(r),0,e.length),t=s(t),e.slice(r,r+t.length)==t}var i=r(485),s=r(253),a=r(48),o=r(114);e.exports=n},function(e,t){"use strict";function r(){return!1}e.exports=r},function(e,t,r){"use strict";function n(e){if(!e)return 0===e?e:0;if((e=i(e))===s||e===-s){return(e<0?-1:1)*a}return e===e?e:0}var i=r(598),s=1/0,a=1.7976931348623157e308;e.exports=n},function(e,t,r){"use strict";function n(e){if("number"==typeof e)return e;if(s(e))return a;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var r=l.test(e);return r||c.test(e)?f(e.slice(2),r?2:8):u.test(e)?a:+e}var i=r(18),s=r(62),a=NaN,o=/^\s+|\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,f=parseInt;e.exports=n},function(e,t,r){"use strict";function n(e){return i(e,s(e))}var i=r(31),s=r(47);e.exports=n},function(e,t,r){"use strict";function n(e){return e&&e.length?i(e):[]}var i=r(514);e.exports=n},function(e,t,r){"use strict";function n(e,t){return t=t||{},function(r,n,i){return s(r,e,t)}}function i(e,t){e=e||{},t=t||{};var r={};return Object.keys(t).forEach(function(e){r[e]=t[e]}),Object.keys(e).forEach(function(t){r[t]=e[t]}),r}function s(e,t,r){if("string"!=typeof t)throw new TypeError("glob pattern string required");return r||(r={}),!(!r.nocomment&&"#"===t.charAt(0))&&(""===t.trim()?""===e:new a(t,r).match(e))}function a(e,t){if(!(this instanceof a))return new a(e,t);if("string"!=typeof e)throw new TypeError("glob pattern string required");t||(t={}),e=e.trim(),"/"!==m.sep&&(e=e.split(m.sep).join("/")),this.options=t,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}function o(){if(!this._made){var e=this.pattern,t=this.options;if(!t.nocomment&&"#"===e.charAt(0))return void(this.comment=!0);if(!e)return void(this.empty=!0);this.parseNegate();var r=this.globSet=this.braceExpand();t.debug&&(this.debug=console.error),this.debug(this.pattern,r),r=this.globParts=r.map(function(e){return e.split(_)}),this.debug(this.pattern,r),r=r.map(function(e,t,r){return e.map(this.parse,this)},this),this.debug(this.pattern,r),r=r.filter(function(e){return-1===e.indexOf(!1)}),this.debug(this.pattern,r),this.set=r}}function u(){var e=this.pattern,t=!1,r=this.options,n=0;if(!r.nonegate){for(var i=0,s=e.length;i<s&&"!"===e.charAt(i);i++)t=!t,n++;n&&(this.pattern=e.substr(n)),this.negate=t}}function l(e,t){if(t||(t=this instanceof a?this.options:{}),void 0===(e=void 0===e?this.pattern:e))throw new TypeError("undefined pattern");return t.nobrace||!e.match(/\{.*\}/)?[e]:v(e)}function c(e,t){function r(){if(i){switch(i){case"*":a+=E,o=!0;break;case"?":a+=b,o=!0;break;default:a+="\\"+i}v.debug("clearStateChar %j %j",i,a),i=!1}}if(e.length>65536)throw new TypeError("pattern is too long");var n=this.options;if(!n.noglobstar&&"**"===e)return y;if(""===e)return"";for(var i,s,a="",o=!!n.nocase,u=!1,l=[],c=[],f=!1,p=-1,h=-1,m="."===e.charAt(0)?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",v=this,x=0,A=e.length;x<A&&(s=e.charAt(x));x++)if(this.debug("%s\t%s %s %j",e,x,a,s),u&&S[s])a+="\\"+s,u=!1;else switch(s){case"/":return!1;case"\\":r(),u=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s\t%s %s %j <-- stateChar",e,x,a,s),f){this.debug("  in class"),"!"===s&&x===h+1&&(s="^"),a+=s;continue}v.debug("call clearStateChar %j",i),r(),i=s,n.noext&&r();continue;case"(":if(f){a+="(";continue}if(!i){a+="\\(";continue}l.push({type:i,start:x-1,reStart:a.length,open:g[i].open,close:g[i].close}),a+="!"===i?"(?:(?!(?:":"(?:",this.debug("plType %j %j",i,a),i=!1;continue;case")":if(f||!l.length){a+="\\)";continue}r(),o=!0;var _=l.pop();a+=_.close,"!"===_.type&&c.push(_),_.reEnd=a.length;continue;case"|":if(f||!l.length||u){a+="\\|",u=!1;continue}r(),a+="|";continue;case"[":if(r(),f){a+="\\"+s;continue}f=!0,h=x,p=a.length,a+=s;continue;case"]":if(x===h+1||!f){a+="\\"+s,u=!1;continue}if(f){var C=e.substring(h+1,x);try{RegExp("["+C+"]")}catch(e){var w=this.parse(C,D);a=a.substr(0,p)+"\\["+w[0]+"\\]",o=o||w[1],f=!1;continue}}o=!0,f=!1,a+=s;continue;default:r(),u?u=!1:!S[s]||"^"===s&&f||(a+="\\"),a+=s}for(f&&(C=e.substr(h+1),w=this.parse(C,D),a=a.substr(0,p)+"\\["+w[0],o=o||w[1]),_=l.pop();_;_=l.pop()){var P=a.slice(_.reStart+_.open.length);this.debug("setting tail",a,_),P=P.replace(/((?:\\{2}){0,64})(\\?)\|/g,function(e,t,r){return r||(r="\\"),t+t+r+"|"}),this.debug("tail=%j\n   %s",P,P,_,a);var k="*"===_.type?E:"?"===_.type?b:"\\"+_.type;o=!0,a=a.slice(0,_.reStart)+k+"\\("+P}r(),u&&(a+="\\\\");var F=!1;switch(a.charAt(0)){case".":case"[":case"(":F=!0}for(var T=c.length-1;T>-1;T--){var O=c[T],B=a.slice(0,O.reStart),R=a.slice(O.reStart,O.reEnd-8),I=a.slice(O.reEnd-8,O.reEnd),M=a.slice(O.reEnd);I+=M;var N=B.split("(").length-1,L=M;for(x=0;x<N;x++)L=L.replace(/\)[+*?]?/,"");M=L;var j="";""===M&&t!==D&&(j="$");a=B+R+M+j+I}if(""!==a&&o&&(a="(?=.)"+a),F&&(a=m+a),t===D)return[a,o];if(!o)return d(e);var U=n.nocase?"i":"";try{var V=new RegExp("^"+a+"$",U)}catch(e){return new RegExp("$.")}return V._glob=e,V._src=a,V}function f(){if(this.regexp||!1===this.regexp)return this.regexp;var e=this.set;if(!e.length)return this.regexp=!1,this.regexp;var t=this.options,r=t.noglobstar?E:t.dot?x:A,n=t.nocase?"i":"",i=e.map(function(e){return e.map(function(e){return e===y?r:"string"==typeof e?h(e):e._src}).join("\\/")}).join("|");i="^(?:"+i+")$",this.negate&&(i="^(?!"+i+").*$");try{this.regexp=new RegExp(i,n)}catch(e){this.regexp=!1}return this.regexp}function p(e,t){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return""===e;if("/"===e&&t)return!0;var r=this.options;"/"!==m.sep&&(e=e.split(m.sep).join("/")),e=e.split(_),this.debug(this.pattern,"split",e);var n=this.set;this.debug(this.pattern,"set",n);var i,s;for(s=e.length-1;s>=0&&!(i=e[s]);s--);for(s=0;s<n.length;s++){var a=n[s],o=e;r.matchBase&&1===a.length&&(o=[i]);if(this.matchOne(o,a,t))return!!r.flipNegate||!this.negate}return!r.flipNegate&&this.negate}function d(e){return e.replace(/\\(.)/g,"$1")}function h(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}e.exports=s,s.Minimatch=a;var m={sep:"/"};try{m=r(19)}catch(e){}var y=s.GLOBSTAR=a.GLOBSTAR={},v=r(398),g={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},b="[^/]",E=b+"*?",x="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",A="(?:(?!(?:\\/|^)\\.).)*?",S=function(e){return e.split("").reduce(function(e,t){return e[t]=!0,e},{})}("().*{}+?[]^$\\!"),_=/\/+/;s.filter=n,s.defaults=function(e){if(!e||!Object.keys(e).length)return s;var t=s,r=function(r,n,s){return t.minimatch(r,n,i(e,s))};return r.Minimatch=function(r,n){return new t.Minimatch(r,i(e,n))},r},a.defaults=function(e){return e&&Object.keys(e).length?s.defaults(e).Minimatch:a},a.prototype.debug=function(){},a.prototype.make=o,a.prototype.parseNegate=u,s.braceExpand=function(e,t){return l(e,t)},a.prototype.braceExpand=l,a.prototype.parse=c;var D={};s.makeRe=function(e,t){return new a(e,t||{}).makeRe()},a.prototype.makeRe=f,s.match=function(e,t,r){r=r||{};var n=new a(t,r);return e=e.filter(function(e){return n.match(e)}),n.options.nonull&&!e.length&&e.push(t),e},a.prototype.match=p,a.prototype.matchOne=function(e,t,r){var n=this.options;this.debug("matchOne",{this:this,file:e,pattern:t}),this.debug("matchOne",e.length,t.length);for(var i=0,s=0,a=e.length,o=t.length;i<a&&s<o;i++,s++){this.debug("matchOne loop");var u=t[s],l=e[i];if(this.debug(t,u,l),!1===u)return!1;if(u===y){this.debug("GLOBSTAR",[t,u,l]);var c=i,f=s+1;if(f===o){for(this.debug("** at the end");i<a;i++)if("."===e[i]||".."===e[i]||!n.dot&&"."===e[i].charAt(0))return!1;return!0}for(;c<a;){var p=e[c];if(this.debug("\nglobstar while",e,c,t,f,p),this.matchOne(e.slice(c),t.slice(f),r))return this.debug("globstar found match!",c,a,p),!0;if("."===p||".."===p||!n.dot&&"."===p.charAt(0)){this.debug("dot detected!",e,c,t,f);break}this.debug("globstar swallow a segment, and continue"),c++}return!(!r||(this.debug("\n>>> no match, partial?",e,c,t,f),c!==a))}var d;if("string"==typeof u?(d=n.nocase?l.toLowerCase()===u.toLowerCase():l===u,this.debug("string match",u,l,d)):(d=l.match(u),this.debug("pattern match",u,l,d)),!d)return!1}if(i===a&&s===o)return!0;if(i===a)return r;if(s===o){return i===a-1&&""===e[i]}throw new Error("wtf?")}},function(e,t){"use strict";function r(e){if(e=String(e),!(e.length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return r*f;case"days":case"day":case"d":return r*c;case"hours":case"hour":case"hrs":case"hr":case"h":return r*l;case"minutes":case"minute":case"mins":case"min":case"m":return r*u;case"seconds":case"second":case"secs":case"sec":case"s":return r*o;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function n(e){return e>=c?Math.round(e/c)+"d":e>=l?Math.round(e/l)+"h":e>=u?Math.round(e/u)+"m":e>=o?Math.round(e/o)+"s":e+"ms"}function i(e){return s(e,c,"day")||s(e,l,"hour")||s(e,u,"minute")||s(e,o,"second")||e+" ms"}function s(e,t,r){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+r:Math.ceil(e/t)+" "+r+"s"}var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=1e3,u=60*o,l=60*u,c=24*l,f=365.25*c;e.exports=function(e,t){t=t||{};var s=void 0===e?"undefined":a(e);if("string"===s&&e.length>0)return r(e);if("number"===s&&!1===isNaN(e))return t.long?i(e):n(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t){"use strict";e.exports=Number.isNaN||function(e){return e!==e}},function(e,t,r){(function(t){"use strict";function r(e){return"/"===e.charAt(0)}function n(e){var t=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,r=t.exec(e),n=r[1]||"",i=Boolean(n&&":"!==n.charAt(1));return Boolean(r[2]||i)}e.exports="win32"===t.platform?n:r,e.exports.posix=r,e.exports.win32=n}).call(t,r(8))},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}var i=r(14),s=function(e){return e&&e.__esModule?e:{default:e}}(i),a=r(1),o=n(a),u=r(116),l=n(u),c=Object.prototype.hasOwnProperty;t.hoist=function(e){function t(e,t){o.assertVariableDeclaration(e);var n=[];return e.declarations.forEach(function(e){r[e.id.name]=o.identifier(e.id.name),e.init?n.push(o.assignmentExpression("=",e.id,e.init)):t&&n.push(e.id)}),0===n.length?null:1===n.length?n[0]:o.sequenceExpression(n)}o.assertFunction(e.node);var r={};e.get("body").traverse({VariableDeclaration:{exit:function(e){var r=t(e.node,!1);null===r?e.remove():l.replaceWithOrRemove(e,o.expressionStatement(r)),e.skip()}},ForStatement:function(e){var r=e.node.init;o.isVariableDeclaration(r)&&l.replaceWithOrRemove(e.get("init"),t(r,!1))},ForXStatement:function(e){var r=e.get("left");r.isVariableDeclaration()&&l.replaceWithOrRemove(r,t(r.node,!0))},FunctionDeclaration:function(e){var t=e.node;r[t.id.name]=t.id;var n=o.expressionStatement(o.assignmentExpression("=",t.id,o.functionExpression(t.id,t.params,t.body,t.generator,t.expression)));e.parentPath.isBlockStatement()?(e.parentPath.unshiftContainer("body",n),e.remove()):l.replaceWithOrRemove(e,n),e.skip()},FunctionExpression:function(e){e.skip()}});var n={};e.get("params").forEach(function(e){var t=e.node;o.isIdentifier(t)&&(n[t.name]=t)});var i=[];return(0,s.default)(r).forEach(function(e){c.call(n,e)||i.push(o.variableDeclarator(r[e],null))}),0===i.length?null:o.variableDeclaration("var",i)}},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(){return r(610)}},function(e,t,r){"use strict";function n(){d.default.ok(this instanceof n)}function i(e){n.call(this),m.assertLiteral(e),this.returnLoc=e}function s(e,t,r){n.call(this),m.assertLiteral(e),m.assertLiteral(t),r?m.assertIdentifier(r):r=null,this.breakLoc=e,this.continueLoc=t,this.label=r}function a(e){n.call(this),m.assertLiteral(e),this.breakLoc=e}function o(e,t,r){n.call(this),m.assertLiteral(e),t?d.default.ok(t instanceof u):t=null,r?d.default.ok(r instanceof l):r=null,d.default.ok(t||r),this.firstLoc=e,this.catchEntry=t,this.finallyEntry=r}function u(e,t){n.call(this),m.assertLiteral(e),m.assertIdentifier(t),this.firstLoc=e,this.paramId=t}function l(e,t){n.call(this),m.assertLiteral(e),m.assertLiteral(t),this.firstLoc=e,this.afterLoc=t}function c(e,t){n.call(this),m.assertLiteral(e),m.assertIdentifier(t),this.breakLoc=e,this.label=t}function f(e){d.default.ok(this instanceof f);var t=r(283).Emitter;d.default.ok(e instanceof t),this.emitter=e,this.entryStack=[new i(e.finalLoc)]}var p=r(64),d=function(e){return e&&e.__esModule?e:{default:e}}(p),h=r(1),m=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(h),y=r(117);(0,y.inherits)(i,n),t.FunctionEntry=i,(0,y.inherits)(s,n),t.LoopEntry=s,(0,y.inherits)(a,n),t.SwitchEntry=a,(0,y.inherits)(o,n),t.TryEntry=o,(0,y.inherits)(u,n),t.CatchEntry=u,(0,y.inherits)(l,n),t.FinallyEntry=l,(0,y.inherits)(c,n),t.LabeledEntry=c;var v=f.prototype;t.LeapManager=f,v.withEntry=function(e,t){d.default.ok(e instanceof n),this.entryStack.push(e);try{t.call(this.emitter)}finally{var r=this.entryStack.pop();d.default.strictEqual(r,e)}},v._findLeapLocation=function(e,t){for(var r=this.entryStack.length-1;r>=0;--r){var n=this.entryStack[r],i=n[e];if(i)if(t){if(n.label&&n.label.name===t.name)return i}else if(!(n instanceof c))return i}return null},v.getBreakLoc=function(e){return this._findLeapLocation("breakLoc",e)},v.getContinueLoc=function(e){return this._findLeapLocation("continueLoc",e)}},function(e,t,r){"use strict";function n(e,t){function r(e){function t(e){return r||(Array.isArray(e)?e.some(t):o.isNode(e)&&(s.default.strictEqual(r,!1),r=n(e))),r}o.assertNode(e);var r=!1,i=o.VISITOR_KEYS[e.type];if(i)for(var a=0;a<i.length;a++){var u=i[a],l=e[u];t(l)}return r}function n(n){o.assertNode(n);var i=u(n);return l.call(i,e)?i[e]:l.call(c,n.type)?i[e]=!1:l.call(t,n.type)?i[e]=!0:i[e]=r(n)}return n.onlyChildren=r,n}var i=r(64),s=function(e){return e&&e.__esModule?e:{default:e}}(i),a=r(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(a),u=r(281).makeAccessor(),l=Object.prototype.hasOwnProperty,c={FunctionExpression:!0,ArrowFunctionExpression:!0},f={CallExpression:!0,ForInStatement:!0,UnaryExpression:!0,BinaryExpression:!0,AssignmentExpression:!0,UpdateExpression:!0,NewExpression:!0},p={YieldExpression:!0,BreakStatement:!0,ContinueStatement:!0,ReturnStatement:!0,ThrowStatement:!0};for(var d in p)l.call(p,d)&&(f[d]=p[d]);t.hasSideEffects=n("hasSideEffects",f),t.containsLeap=n("containsLeap",p)},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){if(!e.node||!a.isFunction(e.node))throw new Error("replaceShorthandObjectMethod can only be called on Function AST node paths.");if(!a.isObjectMethod(e.node))return e;if(!e.node.generator)return e;var t=e.node.params.map(function(e){return a.cloneDeep(e)}),r=a.functionExpression(null,t,a.cloneDeep(e.node.body),e.node.generator,e.node.async);return u.replaceWithOrRemove(e,a.objectProperty(a.cloneDeep(e.node.key),r,e.node.computed,!1)),e.get("value")}t.__esModule=!0,t.default=i;var s=r(1),a=n(s),o=r(116),u=n(o)},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e){var t=e.node;return f.assertFunction(t),t.id||(t.id=e.scope.parent.generateUidIdentifier("callee")),t.generator&&f.isFunctionDeclaration(t)?a(e):t.id}function a(e){var t=e.node;f.assertIdentifier(t.id);var r=e.findParent(function(e){return e.isProgram()||e.isBlockStatement()});if(!r)return t.id;var n=r.node;l.default.ok(Array.isArray(n.body));var i=g(n);i.decl||(i.decl=f.variableDeclaration("var",[]),r.unshiftContainer("body",i.decl),i.declPath=r.get("body.0")),l.default.strictEqual(i.declPath.node,i.decl);var s=r.scope.generateUidIdentifier("marked"),a=f.callExpression(v.runtimeProperty("mark"),[t.id]),o=i.decl.declarations.push(f.variableDeclarator(s,a))-1,u=i.declPath.get("declarations."+o+".init");return l.default.strictEqual(u.node,a),u.addComment("leading","#__PURE__"),s}function o(e,t){var r={didRenameArguments:!1,argsId:t};return e.traverse(b,r),r.didRenameArguments}var u=r(64),l=i(u),c=r(1),f=n(c),p=r(605),d=r(283),h=r(609),m=i(h),y=r(116),v=n(y);t.name="regenerator-transform",t.visitor={Function:{exit:function(e,t){var r=e.node;if(r.generator){if(r.async){if(!1===t.opts.asyncGenerators)return}else if(!1===t.opts.generators)return}else{if(!r.async)return;if(!1===t.opts.async)return}e=(0,m.default)(e),r=e.node;var n=e.scope.generateUidIdentifier("context"),i=e.scope.generateUidIdentifier("args");e.ensureBlock();var a=e.get("body");r.async&&a.traverse(x),a.traverse(E,{context:n});var u=[],l=[];a.get("body").forEach(function(e){var t=e.node;f.isExpressionStatement(t)&&f.isStringLiteral(t.expression)?u.push(t):t&&null!=t._blockHoist?u.push(t):l.push(t)}),u.length>0&&(a.node.body=l);var c=s(e);f.assertIdentifier(r.id);var h=f.identifier(r.id.name+"$"),y=(0,p.hoist)(e);if(o(e,i)){y=y||f.variableDeclaration("var",[]);var g=f.identifier("arguments");g._shadowedFunctionLiteral=e,y.declarations.push(f.variableDeclarator(i,g))}var b=new d.Emitter(n);b.explode(e.get("body")),y&&y.declarations.length>0&&u.push(y);var A=[b.getContextFunction(h),r.generator?c:f.nullLiteral(),f.thisExpression()],S=b.getTryLocsList();S&&A.push(S);var _=f.callExpression(v.runtimeProperty(r.async?"async":"wrap"),A);u.push(f.returnStatement(_)),r.body=f.blockStatement(u);var D=a.node.directives;D&&(r.body.directives=D);var C=r.generator;C&&(r.generator=!1),r.async&&(r.async=!1),C&&f.isExpression(r)&&(v.replaceWithOrRemove(e,f.callExpression(v.runtimeProperty("mark"),[r])),e.addComment("leading","#__PURE__")),e.requeue()}}};var g=r(281).makeAccessor(),b={"FunctionExpression|FunctionDeclaration":function(e){e.skip()},Identifier:function(e,t){"arguments"===e.node.name&&v.isReference(e)&&(v.replaceWithOrRemove(e,t.argsId),t.didRenameArguments=!0)}},E={MetaProperty:function(e){var t=e.node;"function"===t.meta.name&&"sent"===t.property.name&&v.replaceWithOrRemove(e,f.memberExpression(this.context,f.identifier("_sent")))}},x={Function:function(e){e.skip()},AwaitExpression:function(e){var t=e.node.argument;v.replaceWithOrRemove(e,f.yieldExpression(f.callExpression(v.runtimeProperty("awrap"),[t]),!1))}}},function(e,t,r){"use strict";var n=r(282);t.REGULAR={d:n().addRange(48,57),D:n().addRange(0,47).addRange(58,65535),s:n(32,160,5760,8239,8287,12288,65279).addRange(9,13).addRange(8192,8202).addRange(8232,8233),S:n().addRange(0,8).addRange(14,31).addRange(33,159).addRange(161,5759).addRange(5761,8191).addRange(8203,8231).addRange(8234,8238).addRange(8240,8286).addRange(8288,12287).addRange(12289,65278).addRange(65280,65535),w:n(95).addRange(48,57).addRange(65,90).addRange(97,122),W:n(96).addRange(0,47).addRange(58,64).addRange(91,94).addRange(123,65535)},t.UNICODE={d:n().addRange(48,57),D:n().addRange(0,47).addRange(58,1114111),s:n(32,160,5760,8239,8287,12288,65279).addRange(9,13).addRange(8192,8202).addRange(8232,8233),S:n().addRange(0,8).addRange(14,31).addRange(33,159).addRange(161,5759).addRange(5761,8191).addRange(8203,8231).addRange(8234,8238).addRange(8240,8286).addRange(8288,12287).addRange(12289,65278).addRange(65280,1114111),w:n(95).addRange(48,57).addRange(65,90).addRange(97,122),W:n(96).addRange(0,47).addRange(58,64).addRange(91,94).addRange(123,1114111)},t.UNICODE_IGNORE_CASE={d:n().addRange(48,57),D:n().addRange(0,47).addRange(58,1114111),s:n(32,160,5760,8239,8287,12288,65279).addRange(9,13).addRange(8192,8202).addRange(8232,8233),S:n().addRange(0,8).addRange(14,31).addRange(33,159).addRange(161,5759).addRange(5761,8191).addRange(8203,8231).addRange(8234,8238).addRange(8240,8286).addRange(8288,12287).addRange(12289,65278).addRange(65280,1114111),w:n(95,383,8490).addRange(48,57).addRange(65,90).addRange(97,122),W:n(75,83,96).addRange(0,47).addRange(58,64).addRange(91,94).addRange(123,1114111)}},function(e,t,r){"use strict";function n(e){return S?A?m.UNICODE_IGNORE_CASE[e]:m.UNICODE[e]:m.REGULAR[e]}function i(e,t){return v.call(e,t)}function s(e,t){for(var r in t)e[r]=t[r]}function a(e,t){if(t){var r=p(t,"");switch(r.type){case"characterClass":case"group":case"value":break;default:r=o(r,t)}s(e,r)}}function o(e,t){return{type:"group",behavior:"ignore",body:[e],raw:"(?:"+t+")"}}function u(e){return!!i(h,e)&&h[e]}function l(e){var t=d();e.body.forEach(function(e){switch(e.type){case"value":if(t.add(e.codePoint),A&&S){var r=u(e.codePoint);r&&t.add(r)}break;case"characterClassRange":var i=e.min.codePoint,s=e.max.codePoint;t.addRange(i,s),A&&S&&t.iuAddRange(i,s);break;case"characterClassEscape":t.add(n(e.value));break;default:throw Error("Unknown term type: "+e.type)}});return e.negative&&(t=(S?g:b).clone().remove(t)),a(e,t.toString()),e}function c(e){switch(e.type){case"dot":a(e,(S?E:x).toString());break;case"characterClass":e=l(e);break;case"characterClassEscape":a(e,n(e.value).toString());break;case"alternative":case"disjunction":case"group":case"quantifier":e.body=e.body.map(c);break;case"value":var t=e.codePoint,r=d(t);if(A&&S){var i=u(t);i&&r.add(i)}a(e,r.toString());break;case"anchor":case"empty":case"group":case"reference":break;default:throw Error("Unknown term type: "+e.type)}return e}var f=r(613).generate,p=r(614).parse,d=r(282),h=r(631),m=r(611),y={},v=y.hasOwnProperty,g=d().addRange(0,1114111),b=d().addRange(0,65535),E=g.clone().remove(10,13,8232,8233),x=E.clone().intersection(b);d.prototype.iuAddRange=function(e,t){var r=this;do{var n=u(e);n&&r.add(n)}while(++e<=t);return r};var A=!1,S=!1;e.exports=function(e,t){var r=p(e,t);return A=!!t&&t.indexOf("i")>-1,S=!!t&&t.indexOf("u")>-1,s(r,c(r)),f(r)}},function(e,t,r){var n;(function(e,i){"use strict";var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};(function(){function a(){var e,t,r=[],n=-1,i=arguments.length;if(!i)return"";for(var s="";++n<i;){var a=Number(arguments[n]);if(!isFinite(a)||a<0||a>1114111||k(a)!=a)throw RangeError("Invalid code point: "+a);a<=65535?r.push(a):(a-=65536,e=55296+(a>>10),t=a%1024+56320,r.push(e,t)),(n+1==i||r.length>16384)&&(s+=P.apply(null,r),r.length=0)}return s}function o(e,t){if(-1==t.indexOf("|")){if(e==t)return;throw Error("Invalid node type: "+e)}if(t=o.hasOwnProperty(t)?o[t]:o[t]=RegExp("^(?:"+t+")$"),!t.test(e))throw Error("Invalid node type: "+e)
}function u(e){var t=e.type;if(u.hasOwnProperty(t)&&"function"==typeof u[t])return u[t](e);throw Error("Invalid node type: "+t)}function l(e){o(e.type,"alternative");var t=e.body,r=t?t.length:0;if(1==r)return x(t[0]);for(var n=-1,i="";++n<r;)i+=x(t[n]);return i}function c(e){switch(o(e.type,"anchor"),e.kind){case"start":return"^";case"end":return"$";case"boundary":return"\\b";case"not-boundary":return"\\B";default:throw Error("Invalid assertion")}}function f(e){return o(e.type,"anchor|characterClass|characterClassEscape|dot|group|reference|value"),u(e)}function p(e){o(e.type,"characterClass");var t=e.body,r=t?t.length:0,n=-1,i="[";for(e.negative&&(i+="^");++n<r;)i+=m(t[n]);return i+="]"}function d(e){return o(e.type,"characterClassEscape"),"\\"+e.value}function h(e){o(e.type,"characterClassRange");var t=e.min,r=e.max;if("characterClassRange"==t.type||"characterClassRange"==r.type)throw Error("Invalid character class range");return m(t)+"-"+m(r)}function m(e){return o(e.type,"anchor|characterClassEscape|characterClassRange|dot|value"),u(e)}function y(e){o(e.type,"disjunction");var t=e.body,r=t?t.length:0;if(0==r)throw Error("No body");if(1==r)return u(t[0]);for(var n=-1,i="";++n<r;)0!=n&&(i+="|"),i+=u(t[n]);return i}function v(e){return o(e.type,"dot"),"."}function g(e){o(e.type,"group");var t="(";switch(e.behavior){case"normal":break;case"ignore":t+="?:";break;case"lookahead":t+="?=";break;case"negativeLookahead":t+="?!";break;default:throw Error("Invalid behaviour: "+e.behaviour)}var r=e.body,n=r?r.length:0;if(1==n)t+=u(r[0]);else for(var i=-1;++i<n;)t+=u(r[i]);return t+=")"}function b(e){o(e.type,"quantifier");var t="",r=e.min,n=e.max;switch(n){case void 0:case null:switch(r){case 0:t="*";break;case 1:t="+";break;default:t="{"+r+",}"}break;default:t=r==n?"{"+r+"}":0==r&&1==n?"?":"{"+r+","+n+"}"}return e.greedy||(t+="?"),f(e.body[0])+t}function E(e){return o(e.type,"reference"),"\\"+e.matchIndex}function x(e){return o(e.type,"anchor|characterClass|characterClassEscape|empty|group|quantifier|reference|value"),u(e)}function A(e){o(e.type,"value");var t=e.kind,r=e.codePoint;switch(t){case"controlLetter":return"\\c"+a(r+64);case"hexadecimalEscape":return"\\x"+("00"+r.toString(16).toUpperCase()).slice(-2);case"identifier":return"\\"+a(r);case"null":return"\\"+r;case"octal":return"\\"+r.toString(8);case"singleEscape":switch(r){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 11:return"\\v";case 12:return"\\f";case 13:return"\\r";default:throw Error("Invalid codepoint: "+r)}case"symbol":return a(r);case"unicodeEscape":return"\\u"+("0000"+r.toString(16).toUpperCase()).slice(-4);case"unicodeCodePointEscape":return"\\u{"+r.toString(16).toUpperCase()+"}";default:throw Error("Unsupported node kind: "+t)}}var S={function:!0,object:!0},_=S["undefined"==typeof window?"undefined":s(window)]&&window||this,D=S[s(t)]&&t,C=S[s(e)]&&e&&!e.nodeType&&e,w=D&&C&&"object"==(void 0===i?"undefined":s(i))&&i;!w||w.global!==w&&w.window!==w&&w.self!==w||(_=w);var P=String.fromCharCode,k=Math.floor;u.alternative=l,u.anchor=c,u.characterClass=p,u.characterClassEscape=d,u.characterClassRange=h,u.disjunction=y,u.dot=v,u.group=g,u.quantifier=b,u.reference=E,u.value=A,"object"==s(r(49))&&r(49)?void 0!==(n=function(){return{generate:u}}.call(t,r,t,e))&&(e.exports=n):D&&C?D.generate=u:_.regjsgen={generate:u}}).call(void 0)}).call(t,r(39)(e),function(){return this}())},function(e,t){"use strict";!function(){function t(e,t){function r(t){return t.raw=e.substring(t.range[0],t.range[1]),t}function n(e,t){return e.range[0]=t,r(e)}function i(e,t){return r({type:"anchor",kind:e,range:[$-t,$]})}function s(e,t,n,i){return r({type:"value",kind:e,codePoint:t,range:[n,i]})}function a(e,t,r,n){return n=n||0,s(e,t,$-(r.length+n),$)}function o(e){var t=e[0],r=t.charCodeAt(0);if(z){var n;if(1===t.length&&r>=55296&&r<=56319&&(n=x().charCodeAt(0))>=56320&&n<=57343)return $++,s("symbol",1024*(r-55296)+n-56320+65536,$-2,$)}return s("symbol",r,$-1,$)}function u(e,t,n){return r({type:"disjunction",body:e,range:[t,n]})}function l(){return r({type:"dot",range:[$-1,$]})}function c(e){return r({type:"characterClassEscape",value:e,range:[$-2,$]})}function f(e){return r({type:"reference",matchIndex:parseInt(e,10),range:[$-1-e.length,$]})}function p(e,t,n,i){return r({type:"group",behavior:e,body:t,range:[n,i]})}function d(e,t,n,i){return null==i&&(n=$-1,i=$),r({type:"quantifier",min:e,max:t,greedy:!0,body:null,range:[n,i]})}function h(e,t,n){return r({type:"alternative",body:e,range:[t,n]})}function m(e,t,n,i){return r({type:"characterClass",body:e,negative:t,range:[n,i]})}function y(e,t,n,i){return e.codePoint>t.codePoint&&K("invalid range in character class",e.raw+"-"+t.raw,n,i),r({type:"characterClassRange",min:e,max:t,range:[n,i]})}function v(e){return"alternative"===e.type?e.body:[e]}function g(t){t=t||1;var r=e.substring($,$+t);return $+=t||1,r}function b(e){E(e)||K("character",e)}function E(t){if(e.indexOf(t,$)===$)return g(t.length)}function x(){return e[$]}function A(t){return e.indexOf(t,$)===$}function S(t){return e[$+1]===t}function _(t){var r=e.substring($),n=r.match(t);return n&&(n.range=[],n.range[0]=$,g(n[0].length),n.range[1]=$),n}function D(){var e=[],t=$;for(e.push(C());E("|");)e.push(C());return 1===e.length?e[0]:u(e,t,$)}function C(){for(var e,t=[],r=$;e=w();)t.push(e);return 1===t.length?t[0]:h(t,r,$)}function w(){if($>=e.length||A("|")||A(")"))return null;var t=k();if(t)return t;var r=T();r||K("Expected atom");var i=F()||!1;return i?(i.body=v(r),n(i,r.range[0]),i):r}function P(e,t,r,n){var i=null,s=$;if(E(e))i=t;else{if(!E(r))return!1;i=n}var a=D();a||K("Expected disjunction"),b(")");var o=p(i,v(a),s,$);return"normal"==i&&X&&J++,o}function k(){return E("^")?i("start",1):E("$")?i("end",1):E("\\b")?i("boundary",2):E("\\B")?i("not-boundary",2):P("(?=","lookahead","(?!","negativeLookahead")}function F(){var e,t,r,n,i=$;return E("*")?t=d(0):E("+")?t=d(1):E("?")?t=d(0,1):(e=_(/^\{([0-9]+)\}/))?(r=parseInt(e[1],10),t=d(r,r,e.range[0],e.range[1])):(e=_(/^\{([0-9]+),\}/))?(r=parseInt(e[1],10),t=d(r,void 0,e.range[0],e.range[1])):(e=_(/^\{([0-9]+),([0-9]+)\}/))&&(r=parseInt(e[1],10),n=parseInt(e[2],10),r>n&&K("numbers out of order in {} quantifier","",i,$),t=d(r,n,e.range[0],e.range[1])),t&&E("?")&&(t.greedy=!1,t.range[1]+=1),t}function T(){var e;return(e=_(/^[^^$\\.*+?(){[|]/))?o(e):E(".")?l():E("\\")?(e=R(),e||K("atomEscape"),e):(e=j())?e:P("(?:","ignore","(","normal")}function O(e){if(z){var t,n;if("unicodeEscape"==e.kind&&(t=e.codePoint)>=55296&&t<=56319&&A("\\")&&S("u")){var i=$;$++;var s=B();"unicodeEscape"==s.kind&&(n=s.codePoint)>=56320&&n<=57343?(e.range[1]=s.range[1],e.codePoint=1024*(t-55296)+n-56320+65536,e.type="value",e.kind="unicodeCodePointEscape",r(e)):$=i}}return e}function B(){return R(!0)}function R(e){var t,r=$;if(t=I())return t;if(e){if(E("b"))return a("singleEscape",8,"\\b");E("B")&&K("\\B not possible inside of CharacterClass","",r)}return t=M()}function I(){var e,t;if(e=_(/^(?!0)\d+/)){t=e[0];var r=parseInt(e[0],10);return r<=J?f(e[0]):(H.push(r),g(-e[0].length),(e=_(/^[0-7]{1,3}/))?a("octal",parseInt(e[0],8),e[0],1):(e=o(_(/^[89]/)),n(e,e.range[0]-1)))}return(e=_(/^[0-7]{1,3}/))?(t=e[0],/^0{1,3}$/.test(t)?a("null",0,"0",t.length+1):a("octal",parseInt(t,8),t,1)):!!(e=_(/^[dDsSwW]/))&&c(e[0])}function M(){var e;if(e=_(/^[fnrtv]/)){var t=0;switch(e[0]){case"t":t=9;break;case"n":t=10;break;case"v":t=11;break;case"f":t=12;break;case"r":t=13}return a("singleEscape",t,"\\"+e[0])}return(e=_(/^c([a-zA-Z])/))?a("controlLetter",e[1].charCodeAt(0)%32,e[1],2):(e=_(/^x([0-9a-fA-F]{2})/))?a("hexadecimalEscape",parseInt(e[1],16),e[1],2):(e=_(/^u([0-9a-fA-F]{4})/))?O(a("unicodeEscape",parseInt(e[1],16),e[1],2)):z&&(e=_(/^u\{([0-9a-fA-F]+)\}/))?a("unicodeCodePointEscape",parseInt(e[1],16),e[1],4):L()}function N(e){var t=new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԯԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠ-ࢲࣤ-ॣ०-९ॱ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಁ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲഁ-ഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧ᪰-᪽ᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶ᳸᳹ᴀ-᷵᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚝꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞭꞰꞱꟷ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꧠ-ꧾꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭟꭤꭥꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︭︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]");return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&t.test(String.fromCharCode(e))}function L(){var e;return N(x())?E("‌")?a("identifier",8204,"‌"):E("‍")?a("identifier",8205,"‍"):null:(e=g(),a("identifier",e.charCodeAt(0),e,1))}function j(){var e,t=$;return(e=_(/^\[\^/))?(e=U(),b("]"),m(e,!0,t,$)):E("[")?(e=U(),b("]"),m(e,!1,t,$)):null}function U(){var e;return A("]")?[]:(e=G(),e||K("nonEmptyClassRanges"),e)}function V(e){var t,r,n;if(A("-")&&!S("]")){b("-"),n=Y(),n||K("classAtom"),r=$;var i=U();return i||K("classRanges"),t=e.range[0],"empty"===i.type?[y(e,n,t,r)]:[y(e,n,t,r)].concat(i)}return n=W(),n||K("nonEmptyClassRangesNoDash"),[e].concat(n)}function G(){var e=Y();return e||K("classAtom"),A("]")?[e]:V(e)}function W(){var e=Y();return e||K("classAtom"),A("]")?e:V(e)}function Y(){return E("-")?o("-"):q()}function q(){var e;return(e=_(/^[^\\\]-]/))?o(e[0]):E("\\")?(e=B(),e||K("classEscape"),O(e)):void 0}function K(t,r,n,i){n=null==n?$:n,i=null==i?n:i;var s=Math.max(0,n-10),a=Math.min(i+10,e.length),o="    "+e.substring(s,a),u="    "+new Array(n-s+1).join(" ")+"^";throw SyntaxError(t+" at position "+n+(r?": "+r:"")+"\n"+o+"\n"+u)}var H=[],J=0,X=!0,z=-1!==(t||"").indexOf("u"),$=0;""===(e=String(e))&&(e="(?:)");var Q=D();Q.range[1]!==e.length&&K("Could not parse entire input - got stuck","",Q.range[1]);for(var Z=0;Z<H.length;Z++)if(H[Z]<=J)return $=0,X=!1,D();return Q}var r={parse:t};void 0!==e&&e.exports?e.exports=r:window.regjsparser=r}()},function(e,t,r){"use strict";var n=r(467);e.exports=function(e,t){if("string"!=typeof e)throw new TypeError("Expected `input` to be a string");if(t<0||!n(t))throw new TypeError("Expected `count` to be a positive finite number");var r="";do{1&t&&(r+=e),e+=e}while(t>>=1);return r}},function(e,t){"use strict";var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e<r.length)return r[e];throw new TypeError("Must be between 0 and 63: "+e)},t.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}},function(e,t){"use strict";function r(e,n,i,s,a,o){var u=Math.floor((n-e)/2)+e,l=a(i,s[u],!0);return 0===l?u:l>0?n-u>1?r(u,n,i,s,a,o):o==t.LEAST_UPPER_BOUND?n<s.length?n:-1:u:u-e>1?r(e,u,i,s,a,o):o==t.LEAST_UPPER_BOUND?u:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,i,s){if(0===n.length)return-1;var a=r(-1,n.length,e,n,i,s||t.GREATEST_LOWER_BOUND);if(a<0)return-1;for(;a-1>=0&&0===i(n[a],n[a-1],!0);)--a;return a}},function(e,t,r){"use strict";function n(e,t){var r=e.generatedLine,n=t.generatedLine,i=e.generatedColumn,a=t.generatedColumn;return n>r||n==r&&a>=i||s.compareByGeneratedPositionsInflated(e,t)<=0}function i(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}var s=r(63);i.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},i.prototype.add=function(e){n(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},i.prototype.toArray=function(){return this._sorted||(this._array.sort(s.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.MappingList=i},function(e,t){"use strict";function r(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function n(e,t){return Math.round(e+Math.random()*(t-e))}function i(e,t,s,a){if(s<a){var o=n(s,a),u=s-1;r(e,o,a);for(var l=e[a],c=s;c<a;c++)t(e[c],l)<=0&&(u+=1,r(e,u,c));r(e,u+1,c);var f=u+1;i(e,t,s,f-1),i(e,t,f+1,a)}}t.quickSort=function(e,t){i(e,t,0,e.length-1)}},function(e,t,r){"use strict";function n(e){var t=e;return"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,""))),null!=t.sections?new a(t):new i(t)}function i(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var r=o.getArg(t,"version"),n=o.getArg(t,"sources"),i=o.getArg(t,"names",[]),s=o.getArg(t,"sourceRoot",null),a=o.getArg(t,"sourcesContent",null),u=o.getArg(t,"mappings"),c=o.getArg(t,"file",null);if(r!=this._version)throw new Error("Unsupported version: "+r);n=n.map(String).map(o.normalize).map(function(e){return s&&o.isAbsolute(s)&&o.isAbsolute(e)?o.relative(s,e):e}),this._names=l.fromArray(i.map(String),!0),this._sources=l.fromArray(n,!0),this.sourceRoot=s,this.sourcesContent=a,this._mappings=u,this.file=c}function s(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function a(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var r=o.getArg(t,"version"),i=o.getArg(t,"sections");if(r!=this._version)throw new Error("Unsupported version: "+r);this._sources=new l,this._names=new l;var s={line:-1,column:0};this._sections=i.map(function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var t=o.getArg(e,"offset"),r=o.getArg(t,"line"),i=o.getArg(t,"column");if(r<s.line||r===s.line&&i<s.column)throw new Error("Section offsets must be ordered and non-overlapping.");return s=t,{generatedOffset:{generatedLine:r+1,generatedColumn:i+1},consumer:new n(o.getArg(e,"map"))}})}var o=r(63),u=r(617),l=r(285).ArraySet,c=r(286),f=r(619).quickSort;n.fromSourceMap=function(e){return i.fromSourceMap(e)},n.prototype._version=3,n.prototype.__generatedMappings=null,Object.defineProperty(n.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),n.prototype.__originalMappings=null,Object.defineProperty(n.prototype,"_originalMappings",{get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),n.prototype._charIsMappingSeparator=function(e,t){var r=e.charAt(t);return";"===r||","===r},n.prototype._parseMappings=function(e,t){throw new Error("Subclasses must implement _parseMappings")},n.GENERATED_ORDER=1,n.ORIGINAL_ORDER=2,n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.prototype.eachMapping=function(e,t,r){var i,s=t||null,a=r||n.GENERATED_ORDER;switch(a){case n.GENERATED_ORDER:i=this._generatedMappings;break;case n.ORIGINAL_ORDER:i=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var u=this.sourceRoot;i.map(function(e){var t=null===e.source?null:this._sources.at(e.source);return null!=t&&null!=u&&(t=o.join(u,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:null===e.name?null:this._names.at(e.name)}},this).forEach(e,s)},n.prototype.allGeneratedPositionsFor=function(e){var t=o.getArg(e,"line"),r={source:o.getArg(e,"source"),originalLine:t,originalColumn:o.getArg(e,"column",0)};if(null!=this.sourceRoot&&(r.source=o.relative(this.sourceRoot,r.source)),!this._sources.has(r.source))return[];r.source=this._sources.indexOf(r.source);var n=[],i=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,u.LEAST_UPPER_BOUND);if(i>=0){var s=this._originalMappings[i];if(void 0===e.column)for(var a=s.originalLine;s&&s.originalLine===a;)n.push({line:o.getArg(s,"generatedLine",null),column:o.getArg(s,"generatedColumn",null),lastColumn:o.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var l=s.originalColumn;s&&s.originalLine===t&&s.originalColumn==l;)n.push({line:o.getArg(s,"generatedLine",null),column:o.getArg(s,"generatedColumn",null),lastColumn:o.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return n},t.SourceMapConsumer=n,i.prototype=Object.create(n.prototype),i.prototype.consumer=n,i.fromSourceMap=function(e){var t=Object.create(i.prototype),r=t._names=l.fromArray(e._names.toArray(),!0),n=t._sources=l.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var a=e._mappings.toArray().slice(),u=t.__generatedMappings=[],c=t.__originalMappings=[],p=0,d=a.length;p<d;p++){var h=a[p],m=new s;m.generatedLine=h.generatedLine,m.generatedColumn=h.generatedColumn,h.source&&(m.source=n.indexOf(h.source),m.originalLine=h.originalLine,m.originalColumn=h.originalColumn,h.name&&(m.name=r.indexOf(h.name)),c.push(m)),u.push(m)}return f(t.__originalMappings,o.compareByOriginalPositions),t},i.prototype._version=3,Object.defineProperty(i.prototype,"sources",{get:function(){return this._sources.toArray().map(function(e){return null!=this.sourceRoot?o.join(this.sourceRoot,e):e},this)}}),i.prototype._parseMappings=function(e,t){for(var r,n,i,a,u,l=1,p=0,d=0,h=0,m=0,y=0,v=e.length,g=0,b={},E={},x=[],A=[];g<v;)if(";"===e.charAt(g))l++,g++,p=0;else if(","===e.charAt(g))g++;else{for(r=new s,r.generatedLine=l,a=g;a<v&&!this._charIsMappingSeparator(e,a);a++);if(n=e.slice(g,a),i=b[n])g+=n.length;else{for(i=[];g<a;)c.decode(e,g,E),u=E.value,g=E.rest,i.push(u);if(2===i.length)throw new Error("Found a source, but no line and column");if(3===i.length)throw new Error("Found a source and line, but no column");b[n]=i}r.generatedColumn=p+i[0],p=r.generatedColumn,i.length>1&&(r.source=m+i[1],m+=i[1],r.originalLine=d+i[2],d=r.originalLine,r.originalLine+=1,r.originalColumn=h+i[3],h=r.originalColumn,i.length>4&&(r.name=y+i[4],y+=i[4])),A.push(r),"number"==typeof r.originalLine&&x.push(r)}f(A,o.compareByGeneratedPositionsDeflated),this.__generatedMappings=A,f(x,o.compareByOriginalPositions),this.__originalMappings=x},i.prototype._findMapping=function(e,t,r,n,i,s){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return u.search(e,t,i,s)},i.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var r=this._generatedMappings[e+1];if(t.generatedLine===r.generatedLine){t.lastGeneratedColumn=r.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},i.prototype.originalPositionFor=function(e){var t={generatedLine:o.getArg(e,"line"),generatedColumn:o.getArg(e,"column")},r=this._findMapping(t,this._generatedMappings,"generatedLine","generatedColumn",o.compareByGeneratedPositionsDeflated,o.getArg(e,"bias",n.GREATEST_LOWER_BOUND));if(r>=0){var i=this._generatedMappings[r];if(i.generatedLine===t.generatedLine){var s=o.getArg(i,"source",null);null!==s&&(s=this._sources.at(s),null!=this.sourceRoot&&(s=o.join(this.sourceRoot,s)));var a=o.getArg(i,"name",null);return null!==a&&(a=this._names.at(a)),{source:s,line:o.getArg(i,"originalLine",null),column:o.getArg(i,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},i.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},i.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=o.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var r;if(null!=this.sourceRoot&&(r=o.urlParse(this.sourceRoot))){var n=e.replace(/^file:\/\//,"");if("file"==r.scheme&&this._sources.has(n))return this.sourcesContent[this._sources.indexOf(n)];if((!r.path||"/"==r.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},i.prototype.generatedPositionFor=function(e){var t=o.getArg(e,"source");if(null!=this.sourceRoot&&(t=o.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};t=this._sources.indexOf(t);var r={source:t,originalLine:o.getArg(e,"line"),originalColumn:o.getArg(e,"column")},i=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,o.getArg(e,"bias",n.GREATEST_LOWER_BOUND));if(i>=0){var s=this._originalMappings[i];if(s.source===r.source)return{line:o.getArg(s,"generatedLine",null),column:o.getArg(s,"generatedColumn",null),lastColumn:o.getArg(s,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},t.BasicSourceMapConsumer=i,a.prototype=Object.create(n.prototype),a.prototype.constructor=n,a.prototype._version=3,Object.defineProperty(a.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}}),a.prototype.originalPositionFor=function(e){var t={generatedLine:o.getArg(e,"line"),generatedColumn:o.getArg(e,"column")},r=u.search(t,this._sections,function(e,t){var r=e.generatedLine-t.generatedOffset.generatedLine;return r||e.generatedColumn-t.generatedOffset.generatedColumn}),n=this._sections[r];return n?n.consumer.originalPositionFor({line:t.generatedLine-(n.generatedOffset.generatedLine-1),column:t.generatedColumn-(n.generatedOffset.generatedLine===t.generatedLine?n.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},a.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(e){return e.consumer.hasContentsOfAllSources()})},a.prototype.sourceContentFor=function(e,t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r],i=n.consumer.sourceContentFor(e,!0);if(i)return i}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},a.prototype.generatedPositionFor=function(e){for(var t=0;t<this._sections.length;t++){var r=this._sections[t];if(-1!==r.consumer.sources.indexOf(o.getArg(e,"source"))){var n=r.consumer.generatedPositionFor(e);if(n){return{line:n.line+(r.generatedOffset.generatedLine-1),column:n.column+(r.generatedOffset.generatedLine===n.line?r.generatedOffset.generatedColumn-1:0)}}}}return{line:null,column:null}},a.prototype._parseMappings=function(e,t){this.__generatedMappings=[],this.__originalMappings=[];for(var r=0;r<this._sections.length;r++)for(var n=this._sections[r],i=n.consumer._generatedMappings,s=0;s<i.length;s++){var a=i[s],u=n.consumer._sources.at(a.source);null!==n.consumer.sourceRoot&&(u=o.join(n.consumer.sourceRoot,u)),this._sources.add(u),u=this._sources.indexOf(u);var l=n.consumer._names.at(a.name);this._names.add(l),l=this._names.indexOf(l);var c={source:u,generatedLine:a.generatedLine+(n.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(n.generatedOffset.generatedLine===a.generatedLine?n.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:l};this.__generatedMappings.push(c),"number"==typeof c.originalLine&&this.__originalMappings.push(c)}f(this.__generatedMappings,o.compareByGeneratedPositionsDeflated),f(this.__originalMappings,o.compareByOriginalPositions)},t.IndexedSourceMapConsumer=a},function(e,t,r){"use strict";function n(e,t,r,n,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==i?null:i,this[o]=!0,null!=n&&this.add(n)}var i=r(287).SourceMapGenerator,s=r(63),a=/(\r?\n)/,o="$$$isSourceNode$$$";n.fromStringWithSourceMap=function(e,t,r){function i(e,t){if(null===e||void 0===e.source)o.add(t);else{var i=r?s.join(r,e.source):e.source;o.add(new n(e.originalLine,e.originalColumn,i,t,e.name))}}var o=new n,u=e.split(a),l=function(){return u.shift()+(u.shift()||"")},c=1,f=0,p=null;return t.eachMapping(function(e){if(null!==p){if(!(c<e.generatedLine)){var t=u[0],r=t.substr(0,e.generatedColumn-f);return u[0]=t.substr(e.generatedColumn-f),f=e.generatedColumn,i(p,r),void(p=e)}i(p,l()),c++,f=0}for(;c<e.generatedLine;)o.add(l()),c++;if(f<e.generatedColumn){var t=u[0];o.add(t.substr(0,e.generatedColumn)),u[0]=t.substr(e.generatedColumn),f=e.generatedColumn}p=e},this),u.length>0&&(p&&i(p,l()),o.add(u.join(""))),t.sources.forEach(function(e){var n=t.sourceContentFor(e);null!=n&&(null!=r&&(e=s.join(r,e)),o.setSourceContent(e,n))}),o},n.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e)},this);else{if(!e[o]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e)}return this},n.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[o]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},n.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r<n;r++)t=this.children[r],t[o]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},n.prototype.join=function(e){var t,r,n=this.children.length;if(n>0){for(t=[],r=0;r<n-1;r++)t.push(this.children[r]),t.push(e);t.push(this.children[r]),this.children=t}return this},n.prototype.replaceRight=function(e,t){var r=this.children[this.children.length-1];return r[o]?r.replaceRight(e,t):"string"==typeof r?this.children[this.children.length-1]=r.replace(e,t):this.children.push("".replace(e,t)),this},n.prototype.setSourceContent=function(e,t){this.sourceContents[s.toSetString(e)]=t},n.prototype.walkSourceContents=function(e){for(var t=0,r=this.children.length;t<r;t++)this.children[t][o]&&this.children[t].walkSourceContents(e);for(var n=Object.keys(this.sourceContents),t=0,r=n.length;t<r;t++)e(s.fromSetString(n[t]),this.sourceContents[n[t]])},n.prototype.toString=function(){var e="";return this.walk(function(t){e+=t}),e},n.prototype.toStringWithSourceMap=function(e){var t={code:"",line:1,column:0},r=new i(e),n=!1,s=null,a=null,o=null,u=null;return this.walk(function(e,i){t.code+=e,null!==i.source&&null!==i.line&&null!==i.column?(s===i.source&&a===i.line&&o===i.column&&u===i.name||r.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name}),s=i.source,a=i.line,o=i.column,u=i.name,n=!0):n&&(r.addMapping({generated:{line:t.line,column:t.column}}),s=null,n=!1);for(var l=0,c=e.length;l<c;l++)10===e.charCodeAt(l)?(t.line++,t.column=0,l+1===c?(s=null,n=!1):n&&r.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name})):t.column++}),this.walkSourceContents(function(e,t){r.setSourceContent(e,t)}),{code:t.code,map:r}},t.SourceNode=n},function(e,t,r){"use strict";var n=r(180)();e.exports=function(e){return"string"==typeof e?e.replace(n,""):e}},function(e,t,r){(function(t){"use strict";var r=t.argv,n=r.indexOf("--"),i=function(e){e="--"+e;var t=r.indexOf(e);return-1!==t&&(-1===n||t<n)};e.exports=function(){return"FORCE_COLOR"in t.env||!(i("no-color")||i("no-colors")||i("color=false"))&&(!!(i("color")||i("colors")||i("color=true")||i("color=always"))||!(t.stdout&&!t.stdout.isTTY)&&("win32"===t.platform||("COLORTERM"in t.env||"dumb"!==t.env.TERM&&!!/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(t.env.TERM))))}()}).call(t,r(8))},function(e,t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=function e(t){function n(){}function i(){return r(s.foo)}n.prototype=t;var s=new n;return i(),i(),t}},function(e,t){"use strict";e.exports=function(e){for(var t=e.length;/[\s\uFEFF\u00A0]/.test(e[t-1]);)t--;return e.slice(0,t)}},function(e,t){"use strict";"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=function(e){return e&&"object"===(void 0===e?"undefined":r(e))&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.version="6.26.0"},function(e,t){"use strict";function r(e,t){var r=void 0;return null!=t.url?r=t.url:(r="Inline Babel script",++p>1&&(r+=" ("+p+")")),e(t.content,l({filename:r},n(t))).code}function n(e){return{presets:e.presets||["react","es2015"],plugins:e.plugins||["transform-class-properties","transform-object-rest-spread","transform-flow-strip-types"],sourceMaps:"inline"}}function i(e,t){var n=document.createElement("script");n.text=r(e,t),f.appendChild(n)}function s(e,t,r){var n=new XMLHttpRequest;return n.open("GET",e,!0),"overrideMimeType"in n&&n.overrideMimeType("text/plain"),n.onreadystatechange=function(){if(4===n.readyState){if(0!==n.status&&200!==n.status)throw r(),new Error("Could not load "+e);t(n.responseText)}},n.send(null)}function a(e,t){var r=e.getAttribute(t);return""===r?[]:r?r.split(",").map(function(e){return e.trim()}):null}function o(e,t){function r(){var t,r;for(r=0;r<o;r++)if(t=n[r],t.loaded&&!t.executed)t.executed=!0,i(e,t);else if(!t.loaded&&!t.error&&!t.async)break}var n=[],o=t.length;t.forEach(function(e,t){var i={async:e.hasAttribute("async"),error:!1,executed:!1,plugins:a(e,"data-plugins"),presets:a(e,"data-presets")};e.src?(n[t]=l({},i,{content:null,loaded:!1,url:e.src}),s(e.src,function(e){n[t].loaded=!0,n[t].content=e,r()},function(){n[t].error=!0,r()})):n[t]=l({},i,{content:e.innerHTML,loaded:!0,url:null})}),r()}function u(e,t){f=document.getElementsByTagName("head")[0],t||(t=document.getElementsByTagName("script"));for(var r=[],n=0;n<t.length;n++){var i=t.item(n),s=i.type.split(";")[0];-1!==c.indexOf(s)&&r.push(i)}0!==r.length&&(console.warn("You are using the in-browser Babel transformer. Be sure to precompile your scripts for production - https://babeljs.io/docs/setup/"),o(e,r))}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};t.runScripts=u;var c=["text/jsx","text/babel"],f=void 0,p=0},function(e,t){e.exports={builtin:{Array:!1,ArrayBuffer:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,String:!1,Symbol:!1,SyntaxError:!1,System:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,
valueOf:!1,WeakMap:!1,WeakSet:!1},es5:{Array:!1,Boolean:!1,constructor:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,propertyIsEnumerable:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1},es6:{Array:!1,ArrayBuffer:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,String:!1,Symbol:!1,SyntaxError:!1,System:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},browser:{addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffectReadOnly:!1,AnimationEffectTiming:!1,AnimationEffectTimingReadOnly:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,applicationCache:!1,ApplicationCache:!1,ApplicationCacheErrorEvent:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioDestinationNode:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioProcessingEvent:!1,AutocompleteErrorEvent:!1,BarProp:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,blur:!1,btoa:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CDATASection:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,ClientRect:!1,ClientRectList:!1,ClipboardEvent:!1,close:!1,closed:!1,CloseEvent:!1,Comment:!1,CompositionEvent:!1,confirm:!1,console:!1,ConvolverNode:!1,createImageBitmap:!1,Credential:!1,CredentialsContainer:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSAnimation:!1,CSSFontFaceRule:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSMediaRule:!1,CSSPageRule:!1,CSSRule:!1,CSSRuleList:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSSupportsRule:!1,CSSTransition:!1,CSSUnknownRule:!1,CSSViewportRule:!1,customElements:!1,CustomEvent:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,Debug:!1,defaultStatus:!1,defaultstatus:!1,DelayNode:!1,DeviceMotionEvent:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,DocumentTimeline:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMParser:!1,DOMSettableTokenList:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,Element:!1,ElementTimeControl:!1,ErrorEvent:!1,event:!1,Event:!1,EventSource:!1,EventTarget:!1,external:!1,FederatedCredential:!1,fetch:!1,File:!1,FileError:!1,FileList:!1,FileReader:!1,find:!1,focus:!1,FocusEvent:!1,FontFace:!1,FormData:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadButton:!1,GamepadEvent:!1,getComputedStyle:!1,getSelection:!1,HashChangeEvent:!1,Headers:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAppletElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLContentElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLKeygenElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLShadowElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBEnvironment:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,Image:!1,ImageBitmap:!1,ImageData:!1,indexedDB:!1,innerHeight:!1,innerWidth:!1,InputEvent:!1,InputMethodContext:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,Intl:!1,KeyboardEvent:!1,KeyframeEffect:!1,KeyframeEffectReadOnly:!1,length:!1,localStorage:!1,location:!1,Location:!1,locationbar:!1,matchMedia:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyError:!1,MediaKeyEvent:!1,MediaKeyMessageEvent:!1,MediaKeys:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaSource:!1,MediaRecorder:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,navigator:!1,Navigator:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,opera:!1,Option:!1,OscillatorNode:!1,outerHeight:!1,outerWidth:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,parent:!1,PasswordCredential:!1,Path2D:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,personalbar:!1,Plugin:!1,PluginArray:!1,PopStateEvent:!1,postMessage:!1,print:!1,ProcessingInstruction:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,PushManager:!1,PushSubscription:!1,RadioNodeList:!1,Range:!1,ReadableByteStream:!1,ReadableStream:!1,removeEventListener:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,resizeTo:!1,Response:!1,RTCIceCandidate:!1,RTCSessionDescription:!1,RTCPeerConnection:!1,screen:!1,Screen:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,SharedKeyframeList:!1,SharedWorker:!1,showModalDialog:!1,SiteBoundCredential:!1,speechSynthesis:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,status:!1,statusbar:!1,stop:!1,Storage:!1,StorageEvent:!1,styleMedia:!1,StyleSheet:!1,StyleSheetList:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCSSRule:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDiscardElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGEvent:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGLocatable:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformable:!1,SVGTransformList:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGURIReference:!1,SVGUseElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGVKernElement:!1,SVGZoomAndPan:!1,SVGZoomEvent:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TextEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TimeEvent:!1,TimeRanges:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransitionEvent:!1,TreeWalker:!1,UIEvent:!1,URL:!1,URLSearchParams:!1,ValidityState:!1,VTTCue:!1,WaveShaperNode:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,WheelEvent:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestProgressEvent:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1,XSLTProcessor:!1},worker:{applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Cache:!1,caches:!1,clearInterval:!1,clearTimeout:!1,close:!0,console:!1,fetch:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!0,indexedDB:!1,location:!1,MessageChannel:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onlanguagechange:!0,onmessage:!0,onoffline:!0,ononline:!0,onrejectionhandled:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,Request:!1,Response:!1,self:!0,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1,WebSocket:!1,Worker:!1,XMLHttpRequest:!1},node:{__dirname:!1,__filename:!1,arguments:!1,Buffer:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,console:!1,exports:!0,GLOBAL:!1,global:!1,Intl:!1,module:!1,process:!1,require:!1,root:!1,setImmediate:!1,setInterval:!1,setTimeout:!1},commonjs:{exports:!0,module:!1,require:!1,global:!1},amd:{define:!1,require:!1},mocha:{after:!1,afterEach:!1,before:!1,beforeEach:!1,context:!1,describe:!1,it:!1,mocha:!1,run:!1,setup:!1,specify:!1,suite:!1,suiteSetup:!1,suiteTeardown:!1,teardown:!1,test:!1,xcontext:!1,xdescribe:!1,xit:!1,xspecify:!1},jasmine:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,fail:!1,fdescribe:!1,fit:!1,it:!1,jasmine:!1,pending:!1,runs:!1,spyOn:!1,spyOnProperty:!1,waits:!1,waitsFor:!1,xdescribe:!1,xit:!1},jest:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,check:!1,describe:!1,expect:!1,gen:!1,it:!1,fdescribe:!1,fit:!1,jest:!1,pit:!1,require:!1,test:!1,xdescribe:!1,xit:!1,xtest:!1},qunit:{asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notOk:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,throws:!1},phantomjs:{console:!0,exports:!0,phantom:!0,require:!0,WebPage:!0},couch:{emit:!1,exports:!1,getRow:!1,log:!1,module:!1,provides:!1,require:!1,respond:!1,send:!1,start:!1,sum:!1},rhino:{defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},nashorn:{__DIR__:!1,__FILE__:!1,__LINE__:!1,com:!1,edu:!1,exit:!1,Java:!1,java:!1,javafx:!1,JavaImporter:!1,javax:!1,JSAdapter:!1,load:!1,loadWithNewGlobal:!1,org:!1,Packages:!1,print:!1,quit:!1},wsh:{ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WScript:!0,WSH:!0,XDomainRequest:!0},jquery:{$:!1,jQuery:!1},yui:{Y:!1,YUI:!1,YUI_config:!1},shelljs:{cat:!1,cd:!1,chmod:!1,config:!1,cp:!1,dirs:!1,echo:!1,env:!1,error:!1,exec:!1,exit:!1,find:!1,grep:!1,ls:!1,ln:!1,mkdir:!1,mv:!1,popd:!1,pushd:!1,pwd:!1,rm:!1,sed:!1,set:!1,target:!1,tempdir:!1,test:!1,touch:!1,which:!1},prototypejs:{$:!1,$$:!1,$A:!1,$break:!1,$continue:!1,$F:!1,$H:!1,$R:!1,$w:!1,Abstract:!1,Ajax:!1,Autocompleter:!1,Builder:!1,Class:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Element:!1,Enumerable:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Scriptaculous:!1,Selector:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Template:!1,Toggle:!1,Try:!1},meteor:{$:!1,_:!1,Accounts:!1,AccountsClient:!1,AccountsServer:!1,AccountsCommon:!1,App:!1,Assets:!1,Blaze:!1,check:!1,Cordova:!1,DDP:!1,DDPServer:!1,DDPRateLimiter:!1,Deps:!1,EJSON:!1,Email:!1,HTTP:!1,Log:!1,Match:!1,Meteor:!1,Mongo:!1,MongoInternals:!1,Npm:!1,Package:!1,Plugin:!1,process:!1,Random:!1,ReactiveDict:!1,ReactiveVar:!1,Router:!1,ServiceConfiguration:!1,Session:!1,share:!1,Spacebars:!1,Template:!1,Tinytest:!1,Tracker:!1,UI:!1,Utils:!1,WebApp:!1,WebAppInternals:!1},mongo:{_isWindows:!1,_rand:!1,BulkWriteResult:!1,cat:!1,cd:!1,connect:!1,db:!1,getHostName:!1,getMemInfo:!1,hostname:!1,ISODate:!1,listFiles:!1,load:!1,ls:!1,md5sumFile:!1,mkdir:!1,Mongo:!1,NumberInt:!1,NumberLong:!1,ObjectId:!1,PlanCache:!1,print:!1,printjson:!1,pwd:!1,quit:!1,removeFile:!1,rs:!1,sh:!1,UUID:!1,version:!1,WriteResult:!1},applescript:{$:!1,Application:!1,Automation:!1,console:!1,delay:!1,Library:!1,ObjC:!1,ObjectSpecifier:!1,Path:!1,Progress:!1,Ref:!1},serviceworker:{caches:!1,Cache:!1,CacheStorage:!1,Client:!1,clients:!1,Clients:!1,ExtendableEvent:!1,ExtendableMessageEvent:!1,FetchEvent:!1,importScripts:!1,registration:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerGlobalScope:!1,ServiceWorkerMessageEvent:!1,ServiceWorkerRegistration:!1,skipWaiting:!1,WindowClient:!1},atomtest:{advanceClock:!1,fakeClearInterval:!1,fakeClearTimeout:!1,fakeSetInterval:!1,fakeSetTimeout:!1,resetTimeouts:!1,waitsForPromise:!1},embertest:{andThen:!1,click:!1,currentPath:!1,currentRouteName:!1,currentURL:!1,fillIn:!1,find:!1,findWithAssert:!1,keyEvent:!1,pauseTest:!1,resumeTest:!1,triggerEvent:!1,visit:!1},protractor:{$:!1,$$:!1,browser:!1,By:!1,by:!1,DartObject:!1,element:!1,protractor:!1},"shared-node-browser":{clearInterval:!1,clearTimeout:!1,console:!1,setInterval:!1,setTimeout:!1},webextensions:{browser:!1,chrome:!1,opr:!1},greasemonkey:{GM_addStyle:!1,GM_deleteValue:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_setClipboard:!1,GM_setValue:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1}}},function(e,t){e.exports={75:8490,83:383,107:8490,115:383,181:924,197:8491,383:83,452:453,453:452,455:456,456:455,458:459,459:458,497:498,498:497,837:8126,914:976,917:1013,920:1012,921:8126,922:1008,924:181,928:982,929:1009,931:962,934:981,937:8486,962:931,976:914,977:1012,981:934,982:928,1008:922,1009:929,1012:[920,977],1013:917,7776:7835,7835:7776,8126:[837,921],8486:937,8490:75,8491:197,66560:66600,66561:66601,66562:66602,66563:66603,66564:66604,66565:66605,66566:66606,66567:66607,66568:66608,66569:66609,66570:66610,66571:66611,66572:66612,66573:66613,66574:66614,66575:66615,66576:66616,66577:66617,66578:66618,66579:66619,66580:66620,66581:66621,66582:66622,66583:66623,66584:66624,66585:66625,66586:66626,66587:66627,66588:66628,66589:66629,66590:66630,66591:66631,66592:66632,66593:66633,66594:66634,66595:66635,66596:66636,66597:66637,66598:66638,66599:66639,66600:66560,66601:66561,66602:66562,66603:66563,66604:66564,66605:66565,66606:66566,66607:66567,66608:66568,66609:66569,66610:66570,66611:66571,66612:66572,66613:66573,66614:66574,66615:66575,66616:66576,66617:66577,66618:66578,66619:66579,66620:66580,66621:66581,66622:66582,66623:66583,66624:66584,66625:66585,66626:66586,66627:66587,66628:66588,66629:66589,66630:66590,66631:66591,66632:66592,66633:66593,66634:66594,66635:66595,66636:66596,66637:66597,66638:66598,66639:66599,68736:68800,68737:68801,68738:68802,68739:68803,68740:68804,68741:68805,68742:68806,68743:68807,68744:68808,68745:68809,68746:68810,68747:68811,68748:68812,68749:68813,68750:68814,68751:68815,68752:68816,68753:68817,68754:68818,68755:68819,68756:68820,68757:68821,68758:68822,68759:68823,68760:68824,68761:68825,68762:68826,68763:68827,68764:68828,68765:68829,68766:68830,68767:68831,68768:68832,68769:68833,68770:68834,68771:68835,68772:68836,68773:68837,68774:68838,68775:68839,68776:68840,68777:68841,68778:68842,68779:68843,68780:68844,68781:68845,68782:68846,68783:68847,68784:68848,68785:68849,68786:68850,68800:68736,68801:68737,68802:68738,68803:68739,68804:68740,68805:68741,68806:68742,68807:68743,68808:68744,68809:68745,68810:68746,68811:68747,68812:68748,68813:68749,68814:68750,68815:68751,68816:68752,68817:68753,68818:68754,68819:68755,68820:68756,68821:68757,68822:68758,68823:68759,68824:68760,68825:68761,68826:68762,68827:68763,68828:68764,68829:68765,68830:68766,68831:68767,68832:68768,68833:68769,68834:68770,68835:68771,68836:68772,68837:68773,68838:68774,68839:68775,68840:68776,68841:68777,68842:68778,68843:68779,68844:68780,68845:68781,68846:68782,68847:68783,68848:68784,68849:68785,68850:68786,71840:71872,71841:71873,71842:71874,71843:71875,71844:71876,71845:71877,71846:71878,71847:71879,71848:71880,71849:71881,71850:71882,71851:71883,71852:71884,71853:71885,71854:71886,71855:71887,71856:71888,71857:71889,71858:71890,71859:71891,71860:71892,71861:71893,71862:71894,71863:71895,71864:71896,71865:71897,71866:71898,71867:71899,71868:71900,71869:71901,71870:71902,71871:71903,71872:71840,71873:71841,71874:71842,71875:71843,71876:71844,71877:71845,71878:71846,71879:71847,71880:71848,71881:71849,71882:71850,71883:71851,71884:71852,71885:71853,71886:71854,71887:71855,71888:71856,71889:71857,71890:71858,71891:71859,71892:71860,71893:71861,71894:71862,71895:71863,71896:71864,71897:71865,71898:71866,71899:71867,71900:71868,71901:71869,71902:71870,71903:71871}}]))});PK�^�\QᜓYY)litespeed-cache/assets/js/lazyload.min.jsnu�[���!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).LazyLoad=e()}(this,function(){"use strict";function e(){return(e=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n,a=arguments[e];for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t}).apply(this,arguments)}function o(t){return e({},at,t)}function l(t,e){return t.getAttribute(gt+e)}function c(t){return l(t,vt)}function s(t,e){return function(t,e,n){e=gt+e;null!==n?t.setAttribute(e,n):t.removeAttribute(e)}(t,vt,e)}function i(t){return s(t,null),0}function r(t){return null===c(t)}function u(t){return c(t)===_t}function d(t,e,n,a){t&&(void 0===a?void 0===n?t(e):t(e,n):t(e,n,a))}function f(t,e){et?t.classList.add(e):t.className+=(t.className?" ":"")+e}function _(t,e){et?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\s+)"+e+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")}function g(t){return t.llTempImage}function v(t,e){!e||(e=e._observer)&&e.unobserve(t)}function b(t,e){t&&(t.loadingCount+=e)}function p(t,e){t&&(t.toLoadCount=e)}function n(t){for(var e,n=[],a=0;e=t.children[a];a+=1)"SOURCE"===e.tagName&&n.push(e);return n}function h(t,e){(t=t.parentNode)&&"PICTURE"===t.tagName&&n(t).forEach(e)}function a(t,e){n(t).forEach(e)}function m(t){return!!t[lt]}function E(t){return t[lt]}function I(t){return delete t[lt]}function y(e,t){var n;m(e)||(n={},t.forEach(function(t){n[t]=e.getAttribute(t)}),e[lt]=n)}function L(a,t){var o;m(a)&&(o=E(a),t.forEach(function(t){var e,n;e=a,(t=o[n=t])?e.setAttribute(n,t):e.removeAttribute(n)}))}function k(t,e,n){f(t,e.class_loading),s(t,st),n&&(b(n,1),d(e.callback_loading,t,n))}function A(t,e,n){n&&t.setAttribute(e,n)}function O(t,e){A(t,rt,l(t,e.data_sizes)),A(t,it,l(t,e.data_srcset)),A(t,ot,l(t,e.data_src))}function w(t,e,n){var a=l(t,e.data_bg_multi),o=l(t,e.data_bg_multi_hidpi);(a=nt&&o?o:a)&&(t.style.backgroundImage=a,n=n,f(t=t,(e=e).class_applied),s(t,dt),n&&(e.unobserve_completed&&v(t,e),d(e.callback_applied,t,n)))}function x(t,e){!e||0<e.loadingCount||0<e.toLoadCount||d(t.callback_finish,e)}function M(t,e,n){t.addEventListener(e,n),t.llEvLisnrs[e]=n}function N(t){return!!t.llEvLisnrs}function z(t){if(N(t)){var e,n,a=t.llEvLisnrs;for(e in a){var o=a[e];n=e,o=o,t.removeEventListener(n,o)}delete t.llEvLisnrs}}function C(t,e,n){var a;delete t.llTempImage,b(n,-1),(a=n)&&--a.toLoadCount,_(t,e.class_loading),e.unobserve_completed&&v(t,n)}function R(i,r,c){var l=g(i)||i;N(l)||function(t,e,n){N(t)||(t.llEvLisnrs={});var a="VIDEO"===t.tagName?"loadeddata":"load";M(t,a,e),M(t,"error",n)}(l,function(t){var e,n,a,o;n=r,a=c,o=u(e=i),C(e,n,a),f(e,n.class_loaded),s(e,ut),d(n.callback_loaded,e,a),o||x(n,a),z(l)},function(t){var e,n,a,o;n=r,a=c,o=u(e=i),C(e,n,a),f(e,n.class_error),s(e,ft),d(n.callback_error,e,a),o||x(n,a),z(l)})}function T(t,e,n){var a,o,i,r,c;t.llTempImage=document.createElement("IMG"),R(t,e,n),m(c=t)||(c[lt]={backgroundImage:c.style.backgroundImage}),i=n,r=l(a=t,(o=e).data_bg),c=l(a,o.data_bg_hidpi),(r=nt&&c?c:r)&&(a.style.backgroundImage='url("'.concat(r,'")'),g(a).setAttribute(ot,r),k(a,o,i)),w(t,e,n)}function G(t,e,n){var a;R(t,e,n),a=e,e=n,(t=Et[(n=t).tagName])&&(t(n,a),k(n,a,e))}function D(t,e,n){var a;a=t,(-1<It.indexOf(a.tagName)?G:T)(t,e,n)}function S(t,e,n){var a;t.setAttribute("loading","lazy"),R(t,e,n),a=e,(e=Et[(n=t).tagName])&&e(n,a),s(t,_t)}function V(t){t.removeAttribute(ot),t.removeAttribute(it),t.removeAttribute(rt)}function j(t){h(t,function(t){L(t,mt)}),L(t,mt)}function F(t){var e;(e=yt[t.tagName])?e(t):m(e=t)&&(t=E(e),e.style.backgroundImage=t.backgroundImage)}function P(t,e){var n;F(t),n=e,r(e=t)||u(e)||(_(e,n.class_entered),_(e,n.class_exited),_(e,n.class_applied),_(e,n.class_loading),_(e,n.class_loaded),_(e,n.class_error)),i(t),I(t)}function U(t,e,n,a){var o;n.cancel_on_exit&&(c(t)!==st||"IMG"===t.tagName&&(z(t),h(o=t,function(t){V(t)}),V(o),j(t),_(t,n.class_loading),b(a,-1),i(t),d(n.callback_cancel,t,e,a)))}function $(t,e,n,a){var o,i,r=(i=t,0<=bt.indexOf(c(i)));s(t,"entered"),f(t,n.class_entered),_(t,n.class_exited),o=t,i=a,n.unobserve_entered&&v(o,i),d(n.callback_enter,t,e,a),r||D(t,n,a)}function q(t){return t.use_native&&"loading"in HTMLImageElement.prototype}function H(t,o,i){t.forEach(function(t){return(a=t).isIntersecting||0<a.intersectionRatio?$(t.target,t,o,i):(e=t.target,n=t,a=o,t=i,void(r(e)||(f(e,a.class_exited),U(e,n,a,t),d(a.callback_exit,e,n,t))));var e,n,a})}function B(e,n){var t;tt&&!q(e)&&(n._observer=new IntersectionObserver(function(t){H(t,e,n)},{root:(t=e).container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}))}function J(t){return Array.prototype.slice.call(t)}function K(t){return t.container.querySelectorAll(t.elements_selector)}function Q(t){return c(t)===ft}function W(t,e){return e=t||K(e),J(e).filter(r)}function X(e,t){var n;(n=K(e),J(n).filter(Q)).forEach(function(t){_(t,e.class_error),i(t)}),t.update()}function t(t,e){var n,a,t=o(t);this._settings=t,this.loadingCount=0,B(t,this),n=t,a=this,Y&&window.addEventListener("online",function(){X(n,a)}),this.update(e)}var Y="undefined"!=typeof window,Z=Y&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),tt=Y&&"IntersectionObserver"in window,et=Y&&"classList"in document.createElement("p"),nt=Y&&1<window.devicePixelRatio,at={elements_selector:".lazy",container:Z||Y?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"litespeed-loading",class_loaded:"litespeed-loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},ot="src",it="srcset",rt="sizes",ct="poster",lt="llOriginalAttrs",st="loading",ut="loaded",dt="applied",ft="error",_t="native",gt="data-",vt="ll-status",bt=[st,ut,dt,ft],pt=[ot],ht=[ot,ct],mt=[ot,it,rt],Et={IMG:function(t,e){h(t,function(t){y(t,mt),O(t,e)}),y(t,mt),O(t,e)},IFRAME:function(t,e){y(t,pt),A(t,ot,l(t,e.data_src))},VIDEO:function(t,e){a(t,function(t){y(t,pt),A(t,ot,l(t,e.data_src))}),y(t,ht),A(t,ct,l(t,e.data_poster)),A(t,ot,l(t,e.data_src)),t.load()}},It=["IMG","IFRAME","VIDEO"],yt={IMG:j,IFRAME:function(t){L(t,pt)},VIDEO:function(t){a(t,function(t){L(t,pt)}),L(t,ht),t.load()}},Lt=["IMG","IFRAME","VIDEO"];return t.prototype={update:function(t){var e,n,a,o=this._settings,i=W(t,o);{if(p(this,i.length),!Z&&tt)return q(o)?(e=o,n=this,i.forEach(function(t){-1!==Lt.indexOf(t.tagName)&&S(t,e,n)}),void p(n,0)):(t=this._observer,o=i,t.disconnect(),a=t,void o.forEach(function(t){a.observe(t)}));this.loadAll(i)}},destroy:function(){this._observer&&this._observer.disconnect(),K(this._settings).forEach(function(t){I(t)}),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var e=this,n=this._settings;W(t,n).forEach(function(t){v(t,e),D(t,n,e)})},restoreAll:function(){var e=this._settings;K(e).forEach(function(t){P(t,e)})}},t.load=function(t,e){e=o(e);D(t,e)},t.resetStatus=function(t){i(t)},t}),function(t,e){"use strict";function n(){e.body.classList.add("litespeed_lazyloaded")}function a(){console.log("[LiteSpeed] Start Lazy Load"),o=new LazyLoad(Object.assign({},t.lazyLoadOptions||{},{elements_selector:"[data-lazyloaded]",callback_finish:n})),i=function(){o.update()},t.MutationObserver&&new MutationObserver(i).observe(e.documentElement,{childList:!0,subtree:!0,attributes:!0})}var o,i;t.addEventListener?t.addEventListener("load",a,!1):t.attachEvent("onload",a)}(window,document);PK�^�\��U��&litespeed-cache/assets/js/react.min.jsnu�[���/** @license React v17.0.1
 * react.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
(function(){'use strict';(function(c,x){"object"===typeof exports&&"undefined"!==typeof module?x(exports):"function"===typeof define&&define.amd?define(["exports"],x):(c=c||self,x(c.React={}))})(this,function(c){function x(a){if(null===a||"object"!==typeof a)return null;a=Y&&a[Y]||a["@@iterator"];return"function"===typeof a?a:null}function y(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,e=1;e<arguments.length;e++)b+="&args[]="+encodeURIComponent(arguments[e]);return"Minified React error #"+
a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function v(a,b,e){this.props=a;this.context=b;this.refs=Z;this.updater=e||aa}function ba(){}function K(a,b,e){this.props=a;this.context=b;this.refs=Z;this.updater=e||aa}function ca(a,b,e){var l,f={},c=null,da=null;if(null!=b)for(l in void 0!==b.ref&&(da=b.ref),void 0!==b.key&&(c=""+b.key),b)ea.call(b,l)&&!fa.hasOwnProperty(l)&&(f[l]=b[l]);var k=arguments.length-2;if(1===
k)f.children=e;else if(1<k){for(var h=Array(k),d=0;d<k;d++)h[d]=arguments[d+2];f.children=h}if(a&&a.defaultProps)for(l in k=a.defaultProps,k)void 0===f[l]&&(f[l]=k[l]);return{$$typeof:w,type:a,key:c,ref:da,props:f,_owner:L.current}}function va(a,b){return{$$typeof:w,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function M(a){return"object"===typeof a&&null!==a&&a.$$typeof===w}function wa(a){var b={"=":"=0",":":"=2"};return"$"+a.replace(/[=:]/g,function(a){return b[a]})}function N(a,b){return"object"===
typeof a&&null!==a&&null!=a.key?wa(""+a.key):b.toString(36)}function C(a,b,e,l,f){var c=typeof a;if("undefined"===c||"boolean"===c)a=null;var d=!1;if(null===a)d=!0;else switch(c){case "string":case "number":d=!0;break;case "object":switch(a.$$typeof){case w:case ha:d=!0}}if(d)return d=a,f=f(d),a=""===l?"."+N(d,0):l,Array.isArray(f)?(e="",null!=a&&(e=a.replace(ia,"$&/")+"/"),C(f,b,e,"",function(a){return a})):null!=f&&(M(f)&&(f=va(f,e+(!f.key||d&&d.key===f.key?"":(""+f.key).replace(ia,"$&/")+"/")+
a)),b.push(f)),1;d=0;l=""===l?".":l+":";if(Array.isArray(a))for(var k=0;k<a.length;k++){c=a[k];var h=l+N(c,k);d+=C(c,b,e,h,f)}else if(h=x(a),"function"===typeof h)for(a=h.call(a),k=0;!(c=a.next()).done;)c=c.value,h=l+N(c,k++),d+=C(c,b,e,h,f);else if("object"===c)throw b=""+a,Error(y(31,"[object Object]"===b?"object with keys {"+Object.keys(a).join(", ")+"}":b));return d}function D(a,b,e){if(null==a)return a;var l=[],c=0;C(a,l,"","",function(a){return b.call(e,a,c++)});return l}function xa(a){if(-1===
a._status){var b=a._result;b=b();a._status=0;a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}if(1===a._status)return a._result;throw a._result;}function n(){var a=ja.current;if(null===a)throw Error(y(321));return a}function O(a,b){var e=a.length;a.push(b);a:for(;;){var c=e-1>>>1,f=a[c];if(void 0!==f&&0<E(f,b))a[c]=b,a[e]=f,e=c;else break a}}function p(a){a=a[0];return void 0===a?null:a}function F(a){var b=
a[0];if(void 0!==b){var e=a.pop();if(e!==b){a[0]=e;a:for(var c=0,f=a.length;c<f;){var d=2*(c+1)-1,g=a[d],k=d+1,h=a[k];if(void 0!==g&&0>E(g,e))void 0!==h&&0>E(h,g)?(a[c]=h,a[k]=e,c=k):(a[c]=g,a[d]=e,c=d);else if(void 0!==h&&0>E(h,e))a[c]=h,a[k]=e,c=k;else break a}}return b}return null}function E(a,b){var e=a.sortIndex-b.sortIndex;return 0!==e?e:a.id-b.id}function P(a){for(var b=p(r);null!==b;){if(null===b.callback)F(r);else if(b.startTime<=a)F(r),b.sortIndex=b.expirationTime,O(q,b);else break;b=p(r)}}
function Q(a){z=!1;P(a);if(!u)if(null!==p(q))u=!0,A(R);else{var b=p(r);null!==b&&G(Q,b.startTime-a)}}function R(a,b){u=!1;z&&(z=!1,S());H=!0;var e=g;try{P(b);for(m=p(q);null!==m&&(!(m.expirationTime>b)||a&&!T());){var c=m.callback;if("function"===typeof c){m.callback=null;g=m.priorityLevel;var f=c(m.expirationTime<=b);b=t();"function"===typeof f?m.callback=f:m===p(q)&&F(q);P(b)}else F(q);m=p(q)}if(null!==m)var d=!0;else{var n=p(r);null!==n&&G(Q,n.startTime-b);d=!1}return d}finally{m=null,g=e,H=!1}}
var w=60103,ha=60106;c.Fragment=60107;c.StrictMode=60108;c.Profiler=60114;var ka=60109,la=60110,ma=60112;c.Suspense=60113;var na=60115,oa=60116;if("function"===typeof Symbol&&Symbol.for){var d=Symbol.for;w=d("react.element");ha=d("react.portal");c.Fragment=d("react.fragment");c.StrictMode=d("react.strict_mode");c.Profiler=d("react.profiler");ka=d("react.provider");la=d("react.context");ma=d("react.forward_ref");c.Suspense=d("react.suspense");na=d("react.memo");oa=d("react.lazy")}var Y="function"===
typeof Symbol&&Symbol.iterator,ya=Object.prototype.hasOwnProperty,U=Object.assign||function(a,b){if(null==a)throw new TypeError("Object.assign target cannot be null or undefined");for(var e=Object(a),c=1;c<arguments.length;c++){var d=arguments[c];if(null!=d){var g=void 0;d=Object(d);for(g in d)ya.call(d,g)&&(e[g]=d[g])}}return e},aa={isMounted:function(a){return!1},enqueueForceUpdate:function(a,b,c){},enqueueReplaceState:function(a,b,c,d){},enqueueSetState:function(a,b,c,d){}},Z={};v.prototype.isReactComponent=
{};v.prototype.setState=function(a,b){if("object"!==typeof a&&"function"!==typeof a&&null!=a)throw Error(y(85));this.updater.enqueueSetState(this,a,b,"setState")};v.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};ba.prototype=v.prototype;d=K.prototype=new ba;d.constructor=K;U(d,v.prototype);d.isPureReactComponent=!0;var L={current:null},ea=Object.prototype.hasOwnProperty,fa={key:!0,ref:!0,__self:!0,__source:!0},ia=/\/+/g,ja={current:null},V;if("object"===typeof performance&&
"function"===typeof performance.now){var za=performance;var t=function(){return za.now()}}else{var pa=Date,Aa=pa.now();t=function(){return pa.now()-Aa}}if("undefined"===typeof window||"function"!==typeof MessageChannel){var B=null,qa=null,ra=function(){if(null!==B)try{var a=t();B(!0,a);B=null}catch(b){throw setTimeout(ra,0),b;}};var A=function(a){null!==B?setTimeout(A,0,a):(B=a,setTimeout(ra,0))};var G=function(a,b){qa=setTimeout(a,b)};var S=function(){clearTimeout(qa)};var T=function(){return!1};
d=V=function(){}}else{var Ba=window.setTimeout,Ca=window.clearTimeout;"undefined"!==typeof console&&(d=window.cancelAnimationFrame,"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!==typeof d&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"));
var I=!1,J=null,W=-1,sa=5,ta=0;T=function(){return t()>=ta};d=function(){};V=function(a){0>a||125<a?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):sa=0<a?Math.floor(1E3/a):5};var ua=new MessageChannel,X=ua.port2;ua.port1.onmessage=function(){if(null!==J){var a=t();ta=a+sa;try{J(!0,a)?X.postMessage(null):(I=!1,J=null)}catch(b){throw X.postMessage(null),b;}}else I=!1};A=function(a){J=a;I||(I=!0,X.postMessage(null))};G=
function(a,b){W=Ba(function(){a(t())},b)};S=function(){Ca(W);W=-1}}var q=[],r=[],Da=1,m=null,g=3,H=!1,u=!1,z=!1,Ea=0;d={ReactCurrentDispatcher:ja,ReactCurrentOwner:L,IsSomeRendererActing:{current:!1},ReactCurrentBatchConfig:{transition:0},assign:U,Scheduler:{__proto__:null,unstable_ImmediatePriority:1,unstable_UserBlockingPriority:2,unstable_NormalPriority:3,unstable_IdlePriority:5,unstable_LowPriority:4,unstable_runWithPriority:function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=
3}var c=g;g=a;try{return b()}finally{g=c}},unstable_next:function(a){switch(g){case 1:case 2:case 3:var b=3;break;default:b=g}var c=g;g=b;try{return a()}finally{g=c}},unstable_scheduleCallback:function(a,b,c){var d=t();"object"===typeof c&&null!==c?(c=c.delay,c="number"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:Da++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=
c,O(r,a),null===p(q)&&a===p(r)&&(z?S():z=!0,G(Q,c-d))):(a.sortIndex=e,O(q,a),u||H||(u=!0,A(R)));return a},unstable_cancelCallback:function(a){a.callback=null},unstable_wrapCallback:function(a){var b=g;return function(){var c=g;g=b;try{return a.apply(this,arguments)}finally{g=c}}},unstable_getCurrentPriorityLevel:function(){return g},get unstable_shouldYield(){return T},unstable_requestPaint:d,unstable_continueExecution:function(){u||H||(u=!0,A(R))},unstable_pauseExecution:function(){},unstable_getFirstCallbackNode:function(){return p(q)},
get unstable_now(){return t},get unstable_forceFrameRate(){return V},unstable_Profiling:null},SchedulerTracing:{__proto__:null,__interactionsRef:null,__subscriberRef:null,unstable_clear:function(a){return a()},unstable_getCurrent:function(){return null},unstable_getThreadID:function(){return++Ea},unstable_trace:function(a,b,c){return c()},unstable_wrap:function(a){return a},unstable_subscribe:function(a){},unstable_unsubscribe:function(a){}}};c.Children={map:D,forEach:function(a,b,c){D(a,function(){b.apply(this,
arguments)},c)},count:function(a){var b=0;D(a,function(){b++});return b},toArray:function(a){return D(a,function(a){return a})||[]},only:function(a){if(!M(a))throw Error(y(143));return a}};c.Component=v;c.PureComponent=K;c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=d;c.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(y(267,a));var d=U({},a.props),e=a.key,g=a.ref,n=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,n=L.current);void 0!==b.key&&(e=""+b.key);if(a.type&&a.type.defaultProps)var k=
a.type.defaultProps;for(h in b)ea.call(b,h)&&!fa.hasOwnProperty(h)&&(d[h]=void 0===b[h]&&void 0!==k?k[h]:b[h])}var h=arguments.length-2;if(1===h)d.children=c;else if(1<h){k=Array(h);for(var m=0;m<h;m++)k[m]=arguments[m+2];d.children=k}return{$$typeof:w,type:a.type,key:e,ref:g,props:d,_owner:n}};c.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:la,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:ka,_context:a};return a.Consumer=
a};c.createElement=ca;c.createFactory=function(a){var b=ca.bind(null,a);b.type=a;return b};c.createRef=function(){return{current:null}};c.forwardRef=function(a){return{$$typeof:ma,render:a}};c.isValidElement=M;c.lazy=function(a){return{$$typeof:oa,_payload:{_status:-1,_result:a},_init:xa}};c.memo=function(a,b){return{$$typeof:na,type:a,compare:void 0===b?null:b}};c.useCallback=function(a,b){return n().useCallback(a,b)};c.useContext=function(a,b){return n().useContext(a,b)};c.useDebugValue=function(a,
b){};c.useEffect=function(a,b){return n().useEffect(a,b)};c.useImperativeHandle=function(a,b,c){return n().useImperativeHandle(a,b,c)};c.useLayoutEffect=function(a,b){return n().useLayoutEffect(a,b)};c.useMemo=function(a,b){return n().useMemo(a,b)};c.useReducer=function(a,b,c){return n().useReducer(a,b,c)};c.useRef=function(a){return n().useRef(a)};c.useState=function(a){return n().useState(a)};c.version="17.0.1"});
})();
/** @license React v17.0.1
 * react-dom.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
(function(){/*
 Modernizr 3.0.0pre (Custom Build) | MIT
*/
'use strict';(function(M,ha){"object"===typeof exports&&"undefined"!==typeof module?ha(exports,require("react")):"function"===typeof define&&define.amd?define(["exports","react"],ha):(M=M||self,ha(M.ReactDOM={},M.React))})(this,function(M,ha){function m(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++)b+="&args[]="+encodeURIComponent(arguments[c]);return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}
function Ta(a,b){gb(a,b);gb(a+"Capture",b)}function gb(a,b){Ib[a]=b;for(a=0;a<b.length;a++)zf.add(b[a])}function li(a){if(Af.call(Bf,a))return!0;if(Af.call(Cf,a))return!1;if(mi.test(a))return Bf[a]=!0;Cf[a]=!0;return!1}function ni(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case "function":case "symbol":return!0;case "boolean":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return"data-"!==a&&"aria-"!==a;default:return!1}}function oi(a,b,c,d){if(null===
b||"undefined"===typeof b||ni(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function Q(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}function Ed(a,b,c,d){var e=I.hasOwnProperty(b)?I[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||
"o"!==b[0]&&"O"!==b[0]||"n"!==b[1]&&"N"!==b[1]?!1:!0;f||(oi(b,c,e,d)&&(c=null),d||null===e?li(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}function Jb(a){if(null===a||"object"!==typeof a)return null;a=Df&&a[Df]||a["@@iterator"];return"function"===typeof a?a:null}
function Kb(a,b,c){if(void 0===Fd)try{throw Error();}catch(d){Fd=(b=d.stack.trim().match(/\n( *(at )?)/))&&b[1]||""}return"\n"+Fd+a}function Bc(a,b){if(!a||Gd)return"";Gd=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,"props",{set:function(){throw Error();}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(k){var d=k}Reflect.construct(a,[],b)}else{try{b.call()}catch(k){d=k}a.call(b.prototype)}else{try{throw Error();
}catch(k){d=k}a()}}catch(k){if(k&&d&&"string"===typeof k.stack){for(var e=k.stack.split("\n"),f=d.stack.split("\n"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h])return"\n"+e[g].replace(" at new "," at ");while(1<=g&&0<=h)}break}}}finally{Gd=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:"")?Kb(a):""}function pi(a){switch(a.tag){case 5:return Kb(a.type);case 16:return Kb("Lazy");case 13:return Kb("Suspense");
case 19:return Kb("SuspenseList");case 0:case 2:case 15:return a=Bc(a.type,!1),a;case 11:return a=Bc(a.type.render,!1),a;case 22:return a=Bc(a.type._render,!1),a;case 1:return a=Bc(a.type,!0),a;default:return""}}function hb(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case wa:return"Fragment";case Ua:return"Portal";case Lb:return"Profiler";case Hd:return"StrictMode";case Mb:return"Suspense";case Cc:return"SuspenseList"}if("object"===
typeof a)switch(a.$$typeof){case Id:return(a.displayName||"Context")+".Consumer";case Jd:return(a._context.displayName||"Context")+".Provider";case Dc:var b=a.render;b=b.displayName||b.name||"";return a.displayName||(""!==b?"ForwardRef("+b+")":"ForwardRef");case Ec:return hb(a.type);case Kd:return hb(a._render);case Ld:b=a._payload;a=a._init;try{return hb(a(b))}catch(c){}}return null}function xa(a){switch(typeof a){case "boolean":case "number":case "object":case "string":case "undefined":return a;
default:return""}}function Ef(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b)}function qi(a){var b=Ef(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,
b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker=null;delete a[b]}}}}function Fc(a){a._valueTracker||(a._valueTracker=qi(a))}function Ff(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=Ef(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Gc(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||
a.body}catch(b){return a.body}}function Md(a,b){var c=b.checked;return B({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Gf(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=xa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function Hf(a,b){b=b.checked;null!=b&&Ed(a,"checked",
b,!1)}function Nd(a,b){Hf(a,b);var c=xa(b.value),d=b.type;if(null!=c)if("number"===d){if(0===c&&""===a.value||a.value!=c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);else if("submit"===d||"reset"===d){a.removeAttribute("value");return}b.hasOwnProperty("value")?Od(a,b.type,c):b.hasOwnProperty("defaultValue")&&Od(a,b.type,xa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}function If(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=
b.type;if(!("submit"!==d&&"reset"!==d||void 0!==b.value&&null!==b.value))return;b=""+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;""!==c&&(a.name="");a.defaultChecked=!!a._wrapperState.initialChecked;""!==c&&(a.name=c)}function Od(a,b,c){if("number"!==b||Gc(a.ownerDocument)!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c)}function ri(a){var b="";ha.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}
function Pd(a,b){a=B({children:void 0},b);if(b=ri(b.children))a.children=b;return a}function ib(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b["$"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=""+xa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}function Qd(a,b){if(null!=
b.dangerouslySetInnerHTML)throw Error(m(91));return B({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function Jf(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(m(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(m(93));c=c[0]}b=c}null==b&&(b="");c=b}a._wrapperState={initialValue:xa(c)}}function Kf(a,b){var c=xa(b.value),d=xa(b.defaultValue);null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==
c&&(a.defaultValue=c));null!=d&&(a.defaultValue=""+d)}function Lf(a,b){b=a.textContent;b===a._wrapperState.initialValue&&""!==b&&null!==b&&(a.value=b)}function Mf(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Rd(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?Mf(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":a}function Nf(a,b,c){return null==
b||"boolean"===typeof b||""===b?"":c||"number"!==typeof b||0===b||Nb.hasOwnProperty(a)&&Nb[a]?(""+b).trim():b+"px"}function Of(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf("--"),e=Nf(c,b[c],d);"float"===c&&(c="cssFloat");d?a.setProperty(c,e):a[c]=e}}function Sd(a,b){if(b){if(si[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(m(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(m(60));if(!("object"===typeof b.dangerouslySetInnerHTML&&
"__html"in b.dangerouslySetInnerHTML))throw Error(m(61));}if(null!=b.style&&"object"!==typeof b.style)throw Error(m(62));}}function Td(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;switch(a){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return!1;default:return!0}}function Ud(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);
return 3===a.nodeType?a.parentNode:a}function Pf(a){if(a=Ob(a)){if("function"!==typeof Vd)throw Error(m(280));var b=a.stateNode;b&&(b=Hc(b),Vd(a.stateNode,a.type,b))}}function Qf(a){jb?kb?kb.push(a):kb=[a]:jb=a}function Rf(){if(jb){var a=jb,b=kb;kb=jb=null;Pf(a);if(b)for(a=0;a<b.length;a++)Pf(b[a])}}function Wd(){if(null!==jb||null!==kb)Xd(),Rf()}function ti(a,b,c){if(Yd)return a(b,c);Yd=!0;try{return Sf(a,b,c)}finally{Yd=!1,Wd()}}function Pb(a,b){var c=a.stateNode;if(null===c)return null;var d=Hc(c);
if(null===d)return null;c=d[b];a:switch(b){case "onClick":case "onClickCapture":case "onDoubleClick":case "onDoubleClickCapture":case "onMouseDown":case "onMouseDownCapture":case "onMouseMove":case "onMouseMoveCapture":case "onMouseUp":case "onMouseUpCapture":case "onMouseEnter":(d=!d.disabled)||(a=a.type,d=!("button"===a||"input"===a||"select"===a||"textarea"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&"function"!==typeof c)throw Error(m(231,b,typeof c));return c}function ui(a,b,c,d,e,
f,g,h,k){Qb=!1;Ic=null;vi.apply(wi,arguments)}function xi(a,b,c,d,e,f,g,h,k){ui.apply(this,arguments);if(Qb){if(Qb){var v=Ic;Qb=!1;Ic=null}else throw Error(m(198));Jc||(Jc=!0,Zd=v)}}function Va(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Tf(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Uf(a){if(Va(a)!==
a)throw Error(m(188));}function yi(a){var b=a.alternate;if(!b){b=Va(a);if(null===b)throw Error(m(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Uf(e),a;if(f===d)return Uf(e),b;f=f.sibling}throw Error(m(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=
f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(m(189));}}if(c.alternate!==d)throw Error(m(190));}if(3!==c.tag)throw Error(m(188));return c.stateNode.current===c?a:b}function Vf(a){a=yi(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}function Wf(a,b){for(var c=
a.alternate;null!==b;){if(b===a||b===c)return!0;b=b.return}return!1}function $d(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlags:c|16,nativeEvent:e,targetContainers:[d]}}function Xf(a,b){switch(a){case "focusin":case "focusout":ya=null;break;case "dragenter":case "dragleave":za=null;break;case "mouseover":case "mouseout":Aa=null;break;case "pointerover":case "pointerout":Rb.delete(b.pointerId);break;case "gotpointercapture":case "lostpointercapture":Sb.delete(b.pointerId)}}function Tb(a,
b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=$d(b,c,d,e,f),null!==b&&(b=Ob(b),null!==b&&Yf(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}function zi(a,b,c,d,e){switch(b){case "focusin":return ya=Tb(ya,a,b,c,d,e),!0;case "dragenter":return za=Tb(za,a,b,c,d,e),!0;case "mouseover":return Aa=Tb(Aa,a,b,c,d,e),!0;case "pointerover":var f=e.pointerId;Rb.set(f,Tb(Rb.get(f)||null,a,b,c,d,e));return!0;case "gotpointercapture":return f=e.pointerId,Sb.set(f,
Tb(Sb.get(f)||null,a,b,c,d,e)),!0}return!1}function Ai(a){var b=Wa(a.target);if(null!==b){var c=Va(b);if(null!==c)if(b=c.tag,13===b){if(b=Tf(c),null!==b){a.blockedOn=b;Bi(a.lanePriority,function(){ae(a.priority,function(){Ci(c)})});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Kc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=be(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);
if(null!==c)return b=Ob(c),null!==b&&Yf(b),a.blockedOn=c,!1;b.shift()}return!0}function Zf(a,b,c){Kc(a)&&c.delete(b)}function Di(){for(ce=!1;0<ia.length;){var a=ia[0];if(null!==a.blockedOn){a=Ob(a.blockedOn);null!==a&&Ei(a);break}for(var b=a.targetContainers;0<b.length;){var c=be(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c){a.blockedOn=c;break}b.shift()}null===a.blockedOn&&ia.shift()}null!==ya&&Kc(ya)&&(ya=null);null!==za&&Kc(za)&&(za=null);null!==Aa&&Kc(Aa)&&(Aa=null);Rb.forEach(Zf);
Sb.forEach(Zf)}function Ub(a,b){a.blockedOn===b&&(a.blockedOn=null,ce||(ce=!0,$f(ag,Di)))}function bg(a){if(0<ia.length){Ub(ia[0],a);for(var b=1;b<ia.length;b++){var c=ia[b];c.blockedOn===a&&(c.blockedOn=null)}}null!==ya&&Ub(ya,a);null!==za&&Ub(za,a);null!==Aa&&Ub(Aa,a);b=function(b){return Ub(b,a)};Rb.forEach(b);Sb.forEach(b);for(b=0;b<Vb.length;b++)c=Vb[b],c.blockedOn===a&&(c.blockedOn=null);for(;0<Vb.length&&(b=Vb[0],null===b.blockedOn);)Ai(b),null===b.blockedOn&&Vb.shift()}function Lc(a,b){var c=
{};c[a.toLowerCase()]=b.toLowerCase();c["Webkit"+a]="webkit"+b;c["Moz"+a]="moz"+b;return c}function Mc(a){if(de[a])return de[a];if(!lb[a])return a;var b=lb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in cg)return de[a]=b[c];return a}function ee(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e="on"+(e[0].toUpperCase()+e.slice(1));fe.set(d,b);dg.set(d,e);Ta(e,[d])}}function mb(a){if(0!==(1&a))return w=15,1;if(0!==(2&a))return w=14,2;if(0!==(4&a))return w=13,4;var b=24&a;if(0!==b)return w=12,b;
if(0!==(a&32))return w=11,32;b=192&a;if(0!==b)return w=10,b;if(0!==(a&256))return w=9,256;b=3584&a;if(0!==b)return w=8,b;if(0!==(a&4096))return w=7,4096;b=4186112&a;if(0!==b)return w=6,b;b=62914560&a;if(0!==b)return w=5,b;if(a&67108864)return w=4,67108864;if(0!==(a&134217728))return w=3,134217728;b=805306368&a;if(0!==b)return w=2,b;if(0!==(1073741824&a))return w=1,1073741824;w=8;return a}function Fi(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}
function Gi(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(m(358,a));}}function Wb(a,b){var c=a.pendingLanes;if(0===c)return w=0;var d=0,e=0,f=a.expiredLanes,g=a.suspendedLanes,h=a.pingedLanes;if(0!==f)d=f,e=w=15;else if(f=c&134217727,0!==f){var k=f&~g;0!==k?(d=mb(k),e=w):(h&=f,0!==h&&(d=mb(h),e=w))}else f=c&~g,0!==f?(d=mb(f),e=w):0!==h&&(d=mb(h),
e=w);if(0===d)return 0;d=31-Ba(d);d=c&((0>d?0:1<<d)<<1)-1;if(0!==b&&b!==d&&0===(b&g)){mb(b);if(e<=w)return b;w=e}b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Ba(b),e=1<<c,d|=a[c],b&=~e;return d}function eg(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Nc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:return a=nb(24&~b),0===a?Nc(10,b):a;case 10:return a=nb(192&~b),0===a?Nc(8,b):a;case 8:return a=nb(3584&~b),0===a&&(a=nb(4186112&~b),
0===a&&(a=512)),a;case 2:return b=nb(805306368&~b),0===b&&(b=268435456),b}throw Error(m(358,a));}function nb(a){return a&-a}function ge(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}function Oc(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Ba(b);a[b]=c}function Hi(a){return 0===a?32:31-(Ii(a)/Ji|0)|0}function Ki(a,b,c,d){Xa||Xd();var e=he,f=Xa;Xa=!0;try{fg(e,a,b,c,d)}finally{(Xa=f)||Wd()}}function Li(a,b,c,d){Mi(Ni,he.bind(null,a,b,c,d))}function he(a,
b,c,d){if(Pc){var e;if((e=0===(b&4))&&0<ia.length&&-1<gg.indexOf(a))a=$d(null,a,b,c,d),ia.push(a);else{var f=be(a,b,c,d);if(null===f)e&&Xf(a,d);else{if(e){if(-1<gg.indexOf(a)){a=$d(f,a,b,c,d);ia.push(a);return}if(zi(f,a,b,c,d))return;Xf(a,d)}hg(a,b,d,null,c)}}}}function be(a,b,c,d){var e=Ud(d);e=Wa(e);if(null!==e){var f=Va(e);if(null===f)e=null;else{var g=f.tag;if(13===g){e=Tf(f);if(null!==e)return e;e=null}else if(3===g){if(f.stateNode.hydrate)return 3===f.tag?f.stateNode.containerInfo:null;e=null}else f!==
e&&(e=null)}}hg(a,b,d,e,c);return null}function ig(){if(Qc)return Qc;var a,b=ie,c=b.length,d,e="value"in Ca?Ca.value:Ca.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return Qc=e.slice(a,1<d?1-d:void 0)}function Rc(a){var b=a.keyCode;"charCode"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function Sc(){return!0}function jg(){return!1}function V(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=
d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?Sc:jg;this.isPropagationStopped=jg;return this}B(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():"unknown"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=Sc)},stopPropagation:function(){var a=
this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():"unknown"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=Sc)},persist:function(){},isPersistent:Sc});return b}function Oi(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Pi[a])?!!b[a]:!1}function je(a){return Oi}function kg(a,b){switch(a){case "keyup":return-1!==Qi.indexOf(b.keyCode);case "keydown":return 229!==b.keyCode;case "keypress":case "mousedown":case "focusout":return!0;default:return!1}}
function lg(a){a=a.detail;return"object"===typeof a&&"data"in a?a.data:null}function Ri(a,b){switch(a){case "compositionend":return lg(b);case "keypress":if(32!==b.which)return null;mg=!0;return ng;case "textInput":return a=b.data,a===ng&&mg?null:a;default:return null}}function Si(a,b){if(ob)return"compositionend"===a||!ke&&kg(a,b)?(a=ig(),Qc=ie=Ca=null,ob=!1,a):null;switch(a){case "paste":return null;case "keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;
if(b.which)return String.fromCharCode(b.which)}return null;case "compositionend":return og&&"ko"!==b.locale?null:b.data;default:return null}}function pg(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"input"===b?!!Ti[a.type]:"textarea"===b?!0:!1}function Ui(a){if(!oa)return!1;a="on"+a;var b=a in document;b||(b=document.createElement("div"),b.setAttribute(a,"return;"),b="function"===typeof b[a]);return b}function qg(a,b,c,d){Qf(d);b=Tc(b,"onChange");0<b.length&&(c=new le("onChange","change",
null,c,d),a.push({event:c,listeners:b}))}function Vi(a){rg(a,0)}function Uc(a){var b=pb(a);if(Ff(b))return a}function Wi(a,b){if("change"===a)return b}function sg(){Xb&&(Xb.detachEvent("onpropertychange",tg),Yb=Xb=null)}function tg(a){if("value"===a.propertyName&&Uc(Yb)){var b=[];qg(b,Yb,a,Ud(a));a=Vi;if(Xa)a(b);else{Xa=!0;try{me(a,b)}finally{Xa=!1,Wd()}}}}function Xi(a,b,c){"focusin"===a?(sg(),Xb=b,Yb=c,Xb.attachEvent("onpropertychange",tg)):"focusout"===a&&sg()}function Yi(a,b){if("selectionchange"===
a||"keyup"===a||"keydown"===a)return Uc(Yb)}function Zi(a,b){if("click"===a)return Uc(b)}function $i(a,b){if("input"===a||"change"===a)return Uc(b)}function aj(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}function Zb(a,b){if(X(a,b))return!0;if("object"!==typeof a||null===a||"object"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!bj.call(b,c[d])||!X(a[c[d]],b[c[d]]))return!1;return!0}function ug(a){for(;a&&a.firstChild;)a=
a.firstChild;return a}function vg(a,b){var c=ug(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ug(c)}}function wg(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wg(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xg(){for(var a=window,b=Gc();b instanceof a.HTMLIFrameElement;){try{var c=
"string"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Gc(a.document)}return b}function ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)}function yg(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;oe||null==qb||qb!==Gc(d)||(d=qb,"selectionStart"in d&&ne(d)?d={start:d.selectionStart,
end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),$b&&Zb($b,d)||($b=d,d=Tc(pe,"onSelect"),0<d.length&&(b=new le("onSelect","select",null,b,c),a.push({event:b,listeners:d}),b.target=qb)))}function zg(a,b,c){var d=a.type||"unknown-event";a.currentTarget=c;xi(d,b,void 0,a);a.currentTarget=null}function rg(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=
a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,v=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;zg(e,h,v);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;v=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;zg(e,h,v);f=k}}}if(Jc)throw a=Zd,Jc=!1,Zd=null,a;}function z(a,b){var c=Ag(b),d=a+"__bubble";c.has(d)||(Bg(b,a,2,!1),c.add(d))}function Cg(a){a[Dg]||(a[Dg]=!0,zf.forEach(function(b){Eg.has(b)||
Fg(b,!1,a,null);Fg(b,!0,a,null)}))}function Fg(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,f=c;"selectionchange"===a&&9!==c.nodeType&&(f=c.ownerDocument);if(null!==d&&!b&&Eg.has(a)){if("scroll"!==a)return;e|=2;f=d}var g=Ag(f),h=a+"__"+(b?"capture":"bubble");g.has(h)||(b&&(e|=4),Bg(f,a,e,b),g.add(h))}function Bg(a,b,c,d,e){e=fe.get(b);switch(void 0===e?2:e){case 0:e=Ki;break;case 1:e=Li;break;default:e=he}c=e.bind(null,b,c,a);e=void 0;!qe||"touchstart"!==b&&"touchmove"!==
b&&"wheel"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}function hg(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&
k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wa(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}ti(function(){var d=f,e=Ud(c),g=[];a:{var h=dg.get(a);if(void 0!==h){var k=le,m=a;switch(a){case "keypress":if(0===Rc(c))break a;case "keydown":case "keyup":k=cj;break;case "focusin":m="focus";k=re;break;case "focusout":m="blur";k=re;break;case "beforeblur":case "afterblur":k=re;break;case "click":if(2===c.button)break a;case "auxclick":case "dblclick":case "mousedown":case "mousemove":case "mouseup":case "mouseout":case "mouseover":case "contextmenu":k=
Gg;break;case "drag":case "dragend":case "dragenter":case "dragexit":case "dragleave":case "dragover":case "dragstart":case "drop":k=dj;break;case "touchcancel":case "touchend":case "touchmove":case "touchstart":k=ej;break;case Hg:case Ig:case Jg:k=fj;break;case Kg:k=gj;break;case "scroll":k=hj;break;case "wheel":k=ij;break;case "copy":case "cut":case "paste":k=jj;break;case "gotpointercapture":case "lostpointercapture":case "pointercancel":case "pointerdown":case "pointermove":case "pointerout":case "pointerover":case "pointerup":k=
Lg}var l=0!==(b&4),C=!l&&"scroll"===a,x=l?null!==h?h+"Capture":null:h;l=[];for(var p=d,q;null!==p;){q=p;var u=q.stateNode;5===q.tag&&null!==u&&(q=u,null!==x&&(u=Pb(p,x),null!=u&&l.push(ac(p,u,q))));if(C)break;p=p.return}0<l.length&&(h=new k(h,m,null,c,e),g.push({event:h,listeners:l}))}}if(0===(b&7)){a:{h="mouseover"===a||"pointerover"===a;k="mouseout"===a||"pointerout"===a;if(h&&0===(b&16)&&(m=c.relatedTarget||c.fromElement)&&(Wa(m)||m[rb]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||
h.parentWindow:window;if(k){if(m=c.relatedTarget||c.toElement,k=d,m=m?Wa(m):null,null!==m&&(C=Va(m),m!==C||5!==m.tag&&6!==m.tag))m=null}else k=null,m=d;if(k!==m){l=Gg;u="onMouseLeave";x="onMouseEnter";p="mouse";if("pointerout"===a||"pointerover"===a)l=Lg,u="onPointerLeave",x="onPointerEnter",p="pointer";C=null==k?h:pb(k);q=null==m?h:pb(m);h=new l(u,p+"leave",k,c,e);h.target=C;h.relatedTarget=q;u=null;Wa(e)===d&&(l=new l(x,p+"enter",m,c,e),l.target=q,l.relatedTarget=C,u=l);C=u;if(k&&m)b:{l=k;x=m;p=
0;for(q=l;q;q=sb(q))p++;q=0;for(u=x;u;u=sb(u))q++;for(;0<p-q;)l=sb(l),p--;for(;0<q-p;)x=sb(x),q--;for(;p--;){if(l===x||null!==x&&l===x.alternate)break b;l=sb(l);x=sb(x)}l=null}else l=null;null!==k&&Mg(g,h,k,l,!1);null!==m&&null!==C&&Mg(g,C,m,l,!0)}}}a:{h=d?pb(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if("select"===k||"input"===k&&"file"===h.type)var n=Wi;else if(pg(h))if(Ng)n=$i;else{n=Yi;var da=Xi}else(k=h.nodeName)&&"input"===k.toLowerCase()&&("checkbox"===h.type||"radio"===h.type)&&(n=Zi);
if(n&&(n=n(a,d))){qg(g,n,c,e);break a}da&&da(a,h,d);"focusout"===a&&(da=h._wrapperState)&&da.controlled&&"number"===h.type&&Od(h,"number",h.value)}da=d?pb(d):window;switch(a){case "focusin":if(pg(da)||"true"===da.contentEditable)qb=da,pe=d,$b=null;break;case "focusout":$b=pe=qb=null;break;case "mousedown":oe=!0;break;case "contextmenu":case "mouseup":case "dragend":oe=!1;yg(g,c,e);break;case "selectionchange":if(kj)break;case "keydown":case "keyup":yg(g,c,e)}var Ea;if(ke)b:{switch(a){case "compositionstart":var F=
"onCompositionStart";break b;case "compositionend":F="onCompositionEnd";break b;case "compositionupdate":F="onCompositionUpdate";break b}F=void 0}else ob?kg(a,c)&&(F="onCompositionEnd"):"keydown"===a&&229===c.keyCode&&(F="onCompositionStart");F&&(og&&"ko"!==c.locale&&(ob||"onCompositionStart"!==F?"onCompositionEnd"===F&&ob&&(Ea=ig()):(Ca=e,ie="value"in Ca?Ca.value:Ca.textContent,ob=!0)),da=Tc(d,F),0<da.length&&(F=new Og(F,a,null,c,e),g.push({event:F,listeners:da}),Ea?F.data=Ea:(Ea=lg(c),null!==Ea&&
(F.data=Ea))));if(Ea=lj?Ri(a,c):Si(a,c))d=Tc(d,"onBeforeInput"),0<d.length&&(e=new mj("onBeforeInput","beforeinput",null,c,e),g.push({event:e,listeners:d}),e.data=Ea)}rg(g,b)})}function ac(a,b,c){return{instance:a,listener:b,currentTarget:c}}function Tc(a,b){for(var c=b+"Capture",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Pb(a,c),null!=f&&d.unshift(ac(a,f,e)),f=Pb(a,b),null!=f&&d.push(ac(a,f,e)));a=a.return}return d}function sb(a){if(null===a)return null;do a=a.return;while(a&&
5!==a.tag);return a?a:null}function Mg(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,v=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==v&&(h=v,e?(k=Pb(c,f),null!=k&&g.unshift(ac(c,k,h))):e||(k=Pb(c,f),null!=k&&g.push(ac(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}function Vc(){}function Pg(a,b){switch(a){case "button":case "input":case "select":case "textarea":return!!b.autoFocus}return!1}function se(a,b){return"textarea"===a||"option"===
a||"noscript"===a||"string"===typeof b.children||"number"===typeof b.children||"object"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}function te(a){1===a.nodeType?a.textContent="":9===a.nodeType&&(a=a.body,null!=a&&(a.textContent=""))}function tb(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}function Qg(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if("$"===c||"$!"===c||"$?"===
c){if(0===b)return a;b--}else"/$"===c&&b++}a=a.previousSibling}return null}function nj(a){return{$$typeof:ue,toString:a,valueOf:a}}function Wa(a){var b=a[Fa];if(b)return b;for(var c=a.parentNode;c;){if(b=c[rb]||c[Fa]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Qg(a);null!==a;){if(c=a[Fa])return c;a=Qg(a)}return b}a=c;c=a.parentNode}return null}function Ob(a){a=a[Fa]||a[rb];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function pb(a){if(5===a.tag||6===a.tag)return a.stateNode;
throw Error(m(33));}function Hc(a){return a[Wc]||null}function Ag(a){var b=a[Rg];void 0===b&&(b=a[Rg]=new Set);return b}function Ga(a){return{current:a}}function t(a,b){0>ub||(a.current=ve[ub],ve[ub]=null,ub--)}function A(a,b,c){ub++;ve[ub]=a.current;a.current=b}function vb(a,b){var c=a.type.contextTypes;if(!c)return Ha;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=
b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function S(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Sg(a,b,c){if(D.current!==Ha)throw Error(m(168));A(D,b);A(J,c)}function Tg(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(m(108,hb(b)||"Unknown",e));return B({},c,d)}function Xc(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Ha;Ya=D.current;
A(D,a);A(J,J.current);return!0}function Ug(a,b,c){var d=a.stateNode;if(!d)throw Error(m(169));c?(a=Tg(a,b,Ya),d.__reactInternalMemoizedMergedChildContext=a,t(J),t(D),A(D,a)):t(J);A(J,c)}function wb(){switch(oj()){case Yc:return 99;case Vg:return 98;case Wg:return 97;case Xg:return 96;case Yg:return 95;default:throw Error(m(332));}}function Zg(a){switch(a){case 99:return Yc;case 98:return Vg;case 97:return Wg;case 96:return Xg;case 95:return Yg;default:throw Error(m(332));}}function Za(a,b){a=Zg(a);
return pj(a,b)}function bc(a,b,c){a=Zg(a);return we(a,b,c)}function ja(){if(null!==Zc){var a=Zc;Zc=null;xe(a)}$g()}function $g(){if(!ye&&null!==pa){ye=!0;var a=0;try{var b=pa;Za(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});pa=null}catch(c){throw null!==pa&&(pa=pa.slice(a+1)),we(Yc,ja),c;}finally{ye=!1}}}function ea(a,b){if(a&&a.defaultProps){b=B({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function ze(){$c=xb=ad=null}function Ae(a){var b=
bd.current;t(bd);a.type._context._currentValue=b}function ah(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)===b)if(null===c||(c.childLanes&b)===b)break;else c.childLanes|=b;else a.childLanes|=b,null!==c&&(c.childLanes|=b);a=a.return}}function yb(a,b){ad=a;$c=xb=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(fa=!0),a.firstContext=null)}function Y(a,b){if($c!==a&&!1!==b&&0!==b){if("number"!==typeof b||1073741823===b)$c=a,b=1073741823;b={context:a,observedBits:b,
next:null};if(null===xb){if(null===ad)throw Error(m(308));xb=b;ad.dependencies={lanes:0,firstContext:b,responders:null}}else xb=xb.next=b}return a._currentValue}function Be(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function Ia(a,b){return{eventTime:a,
lane:b,tag:0,payload:null,callback:null,next:null}}function Ja(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}function ch(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=
f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=b;c.lastBaseUpdate=b}function cc(a,b,c,d){var e=a.updateQueue;Ka=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,v=k.next;k.next=null;null===g?f=v:g.next=v;g=k;var m=a.alternate;if(null!==m){m=m.updateQueue;var l=m.lastBaseUpdate;l!==g&&(null===l?m.firstBaseUpdate=
v:l.next=v,m.lastBaseUpdate=k)}}if(null!==f){l=e.baseState;g=0;m=v=k=null;do{h=f.lane;var r=f.eventTime;if((d&h)===h){null!==m&&(m=m.next={eventTime:r,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,next:null});a:{var n=a,t=f;h=b;r=c;switch(t.tag){case 1:n=t.payload;if("function"===typeof n){l=n.call(r,l,h);break a}l=n;break a;case 3:n.flags=n.flags&-4097|64;case 0:n=t.payload;h="function"===typeof n?n.call(r,l,h):n;if(null===h||void 0===h)break a;l=B({},l,h);break a;case 2:Ka=!0}}null!==f.callback&&
(a.flags|=32,h=e.effects,null===h?e.effects=[f]:h.push(f))}else r={eventTime:r,lane:h,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===m?(v=m=r,k=l):m=m.next=r,g|=h;f=f.next;if(null===f)if(h=e.shared.pending,null===h)break;else f=h.next,h.next=null,e.lastBaseUpdate=h,e.shared.pending=null}while(1);null===m&&(k=l);e.baseState=k;e.firstBaseUpdate=v;e.lastBaseUpdate=m;La|=g;a.lanes=g;a.memoizedState=l}}function dh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=
a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if("function"!==typeof e)throw Error(m(191,e));e.call(d)}}}function cd(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:B({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}function eh(a,b,c,d,e,f,g){a=a.stateNode;return"function"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Zb(c,d)||!Zb(e,f):!0}function fh(a,b,c){var d=!1,e=Ha;var f=b.contextType;"object"===
typeof f&&null!==f?f=Y(f):(e=S(b)?Ya:D.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?vb(a,e):Ha);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=dd;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}function gh(a,b,c,d){a=b.state;"function"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);"function"===typeof b.UNSAFE_componentWillReceiveProps&&
b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&dd.enqueueReplaceState(b,b.state,null)}function Ce(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=hh;Be(a);var f=b.contextType;"object"===typeof f&&null!==f?e.context=Y(f):(f=S(b)?Ya:D.current,e.context=vb(a,f));cc(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;"function"===typeof f&&(cd(a,b,f,c),e.state=a.memoizedState);"function"===typeof b.getDerivedStateFromProps||"function"===typeof e.getSnapshotBeforeUpdate||
"function"!==typeof e.UNSAFE_componentWillMount&&"function"!==typeof e.componentWillMount||(b=e.state,"function"===typeof e.componentWillMount&&e.componentWillMount(),"function"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&dd.enqueueReplaceState(e,e.state,null),cc(a,c,e,d),e.state=a.memoizedState);"function"===typeof e.componentDidMount&&(a.flags|=4)}function dc(a,b,c){a=c.ref;if(null!==a&&"function"!==typeof a&&"object"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==
c.tag)throw Error(m(309));var d=c.stateNode}if(!d)throw Error(m(147,a));var e=""+a;if(null!==b&&null!==b.ref&&"function"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===hh&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if("string"!==typeof a)throw Error(m(284));if(!c._owner)throw Error(m(290,a));}return a}function ed(a,b){if("textarea"!==a.type)throw Error(m(31,"[object Object]"===Object.prototype.toString.call(b)?"object with keys {"+Object.keys(b).join(", ")+
"}":b));}function ih(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.flags=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Ma(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags=
2,c):d;b.flags=2;return c}function g(b){a&&null===b.alternate&&(b.flags=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=De(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=dc(a,b,c),d.return=a,d;d=fd(c.type,c.key,c.props,null,a.mode,d);d.ref=dc(a,b,c);d.return=a;return d}function v(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=
Ee(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function l(a,b,c,d,f){if(null===b||7!==b.tag)return b=zb(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function n(a,b,c){if("string"===typeof b||"number"===typeof b)return b=De(""+b,a.mode,c),b.return=a,b;if("object"===typeof b&&null!==b){switch(b.$$typeof){case ec:return c=fd(b.type,b.key,b.props,null,a.mode,c),c.ref=dc(a,null,b),c.return=a,c;case Ua:return b=Ee(b,a.mode,c),b.return=a,b}if(gd(b)||Jb(b))return b=zb(b,
a.mode,c,null),b.return=a,b;ed(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if("string"===typeof c||"number"===typeof c)return null!==e?null:h(a,b,""+c,d);if("object"===typeof c&&null!==c){switch(c.$$typeof){case ec:return c.key===e?c.type===wa?l(a,b,c.props.children,d,e):k(a,b,c,d):null;case Ua:return c.key===e?v(a,b,c,d):null}if(gd(c)||Jb(c))return null!==e?null:l(a,b,c,d,null);ed(a,c)}return null}function t(a,b,c,d,e){if("string"===typeof d||"number"===typeof d)return a=a.get(c)||
null,h(b,a,""+d,e);if("object"===typeof d&&null!==d){switch(d.$$typeof){case ec:return a=a.get(null===d.key?c:d.key)||null,d.type===wa?l(b,a,d.props.children,e,d.key):k(b,a,d,e);case Ua:return a=a.get(null===d.key?c:d.key)||null,v(b,a,d,e)}if(gd(d)||Jb(d))return a=a.get(c)||null,l(b,a,d,e,null);ed(b,d)}return null}function w(e,g,h,k){for(var m=null,v=null,l=g,p=g=0,x=null;null!==l&&p<h.length;p++){l.index>p?(x=l,l=null):x=l.sibling;var C=r(e,l,h[p],k);if(null===C){null===l&&(l=x);break}a&&l&&null===
C.alternate&&b(e,l);g=f(C,g,p);null===v?m=C:v.sibling=C;v=C;l=x}if(p===h.length)return c(e,l),m;if(null===l){for(;p<h.length;p++)l=n(e,h[p],k),null!==l&&(g=f(l,g,p),null===v?m=l:v.sibling=l,v=l);return m}for(l=d(e,l);p<h.length;p++)x=t(l,e,p,h[p],k),null!==x&&(a&&null!==x.alternate&&l.delete(null===x.key?p:x.key),g=f(x,g,p),null===v?m=x:v.sibling=x,v=x);a&&l.forEach(function(a){return b(e,a)});return m}function z(e,g,h,k){var l=Jb(h);if("function"!==typeof l)throw Error(m(150));h=l.call(h);if(null==
h)throw Error(m(151));for(var v=l=null,p=g,x=g=0,C=null,q=h.next();null!==p&&!q.done;x++,q=h.next()){p.index>x?(C=p,p=null):C=p.sibling;var Da=r(e,p,q.value,k);if(null===Da){null===p&&(p=C);break}a&&p&&null===Da.alternate&&b(e,p);g=f(Da,g,x);null===v?l=Da:v.sibling=Da;v=Da;p=C}if(q.done)return c(e,p),l;if(null===p){for(;!q.done;x++,q=h.next())q=n(e,q.value,k),null!==q&&(g=f(q,g,x),null===v?l=q:v.sibling=q,v=q);return l}for(p=d(e,p);!q.done;x++,q=h.next())q=t(p,e,x,q.value,k),null!==q&&(a&&null!==
q.alternate&&p.delete(null===q.key?x:q.key),g=f(q,g,x),null===v?l=q:v.sibling=q,v=q);a&&p.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k="object"===typeof f&&null!==f&&f.type===wa&&null===f.key;k&&(f=f.props.children);var l="object"===typeof f&&null!==f;if(l)switch(f.$$typeof){case ec:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===wa){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,
k.sibling);d=e(k,f.props);d.ref=dc(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===wa?(d=zb(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=fd(f.type,f.key,f.props,null,a.mode,h),h.ref=dc(a,d,f),h.return=a,a=h)}return g(a);case Ua:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=
d.sibling}d=Ee(f,a.mode,h);d.return=a;a=d}return g(a)}if("string"===typeof f||"number"===typeof f)return f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=De(f,a.mode,h),d.return=a,a=d),g(a);if(gd(f))return w(a,d,f,h);if(Jb(f))return z(a,d,f,h);l&&ed(a,f);if("undefined"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(m(152,hb(a.type)||"Component"));}return c(a,d)}}function $a(a){if(a===fc)throw Error(m(174));return a}function Fe(a,b){A(gc,
b);A(hc,a);A(ka,fc);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Rd(null,"");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Rd(b,a)}t(ka);A(ka,b)}function Ab(a){t(ka);t(hc);t(gc)}function jh(a){$a(gc.current);var b=$a(ka.current);var c=Rd(b,a.type);b!==c&&(A(hc,a),A(ka,c))}function Ge(a){hc.current===a&&(t(ka),t(hc))}function hd(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||"$?"===c.data||
"$!"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function kh(a,b){var c=Z(5,null,null,0);c.elementType="DELETED";c.type="DELETED";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=
a.lastEffect=c}function lh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=""===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}function He(a){if(la){var b=Na;if(b){var c=b;if(!lh(a,b)){b=tb(c.nextSibling);if(!b||!lh(a,b)){a.flags=a.flags&-1025|2;la=!1;ra=a;return}kh(ra,c)}ra=a;Na=tb(b.firstChild)}else a.flags=a.flags&-1025|2,la=!1,
ra=a}}function mh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;ra=a}function id(a){if(a!==ra)return!1;if(!la)return mh(a),la=!0,!1;var b=a.type;if(5!==a.tag||"head"!==b&&"body"!==b&&!se(b,a.memoizedProps))for(b=Na;b;)kh(a,b),b=tb(b.nextSibling);mh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(m(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if("/$"===c){if(0===b){Na=tb(a.nextSibling);break a}b--}else"$"!==c&&"$!"!==
c&&"$?"!==c||b++}a=a.nextSibling}Na=null}}else Na=ra?tb(a.stateNode.nextSibling):null;return!0}function Ie(){Na=ra=null;la=!1}function Je(){for(var a=0;a<Bb.length;a++)Bb[a]._workInProgressVersionPrimary=null;Bb.length=0}function T(){throw Error(m(321));}function Ke(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!X(a[c],b[c]))return!1;return!0}function Le(a,b,c,d,e,f){ic=f;y=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;jc.current=null===a||null===a.memoizedState?qj:rj;
a=c(d,e);if(kc){f=0;do{kc=!1;if(!(25>f))throw Error(m(301));f+=1;K=N=null;b.updateQueue=null;jc.current=sj;a=c(d,e)}while(kc)}jc.current=jd;b=null!==N&&null!==N.next;ic=0;K=N=y=null;kd=!1;if(b)throw Error(m(300));return a}function ab(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===K?y.memoizedState=K=a:K=K.next=a;return K}function bb(){if(null===N){var a=y.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===K?y.memoizedState:K.next;if(null!==
b)K=b,N=a;else{if(null===a)throw Error(m(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===K?y.memoizedState=K=a:K=K.next=a}return K}function ma(a,b){return"function"===typeof b?b(a):b}function lc(a,b,c){b=bb();c=b.queue;if(null===c)throw Error(m(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;
var h=g=f=null,k=e;do{var l=k.lane;if((ic&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;y.lanes|=l;La|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;X(d,b.memoizedState)||(fa=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=
d}return[b.memoizedState,c.dispatch]}function mc(a,b,c){b=bb();c=b.queue;if(null===c)throw Error(m(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);X(f,b.memoizedState)||(fa=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function nh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,
a=(ic&a)===a)b._workInProgressVersionPrimary=d,Bb.push(b);if(a)return c(b._source);Bb.push(b);throw Error(m(350));}function oh(a,b,c,d){var e=R;if(null===e)throw Error(m(349));var f=b._getVersion,g=f(b._source),h=jc.current,k=h.useState(function(){return nh(e,b,c)}),l=k[1],n=k[0];k=K;var t=a.memoizedState,r=t.refs,w=r.getSnapshot,z=t.source;t=t.subscribe;var B=y;a.memoizedState={refs:r,source:b,subscribe:d};h.useEffect(function(){r.getSnapshot=c;r.setSnapshot=l;var a=f(b._source);if(!X(g,a)){a=c(b._source);
X(n,a)||(l(a),a=Oa(B),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=e.entanglements,h=a;0<h;){var k=31-Ba(h),m=1<<k;d[k]|=a;h&=~m}}},[c,b,d]);h.useEffect(function(){return d(b._source,function(){var a=r.getSnapshot,c=r.setSnapshot;try{c(a(b._source));var d=Oa(B);e.mutableReadLanes|=d&e.pendingLanes}catch(q){c(function(){throw q;})}})},[b,d]);X(w,c)&&X(z,b)&&X(t,d)||(a={pending:null,dispatch:null,lastRenderedReducer:ma,lastRenderedState:n},a.dispatch=l=Me.bind(null,
y,a),k.queue=a,k.baseQueue=null,n=nh(e,b,c),k.memoizedState=k.baseState=n);return n}function ph(a,b,c){var d=bb();return oh(d,a,b,c)}function nc(a){var b=ab();"function"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:ma,lastRenderedState:a};a=a.dispatch=Me.bind(null,y,a);return[b.memoizedState,a]}function ld(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=y.updateQueue;null===b?(b={lastEffect:null},y.updateQueue=b,b.lastEffect=
a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function qh(a){var b=ab();a={current:a};return b.memoizedState=a}function md(a){return bb().memoizedState}function Ne(a,b,c,d){var e=ab();y.flags|=a;e.memoizedState=ld(1|b,c,void 0,void 0===d?null:d)}function Oe(a,b,c,d){var e=bb();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Ke(d,g.deps)){ld(b,c,f,d);return}}y.flags|=a;e.memoizedState=ld(1|
b,c,f,d)}function rh(a,b){return Ne(516,4,a,b)}function nd(a,b){return Oe(516,4,a,b)}function sh(a,b){return Oe(4,2,a,b)}function th(a,b){if("function"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function uh(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Oe(4,2,th.bind(null,b,a),c)}function Pe(a,b){}function vh(a,b){var c=bb();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Ke(b,d[1]))return d[0];
c.memoizedState=[a,b];return a}function wh(a,b){var c=bb();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Ke(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function tj(a,b){var c=wb();Za(98>c?98:c,function(){a(!0)});Za(97<c?97:c,function(){var c=aa.transition;aa.transition=1;try{a(!1),b()}finally{aa.transition=c}})}function Me(a,b,c){var d=W(),e=Oa(a),f={lane:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.pending;null===g?f.next=f:(f.next=g.next,g.next=f);
b.pending=f;g=a.alternate;if(a===y||null!==g&&g===y)kc=kd=!0;else{if(0===a.lanes&&(null===g||0===g.lanes)&&(g=b.lastRenderedReducer,null!==g))try{var h=b.lastRenderedState,k=g(h,c);f.eagerReducer=g;f.eagerState=k;if(X(k,h))return}catch(v){}finally{}Pa(a,e,d)}}function U(a,b,c,d){b.child=null===a?xh(b,null,c,d):od(b,a.child,c,d)}function yh(a,b,c,d,e){c=c.render;var f=b.ref;yb(b,e);d=Le(a,b,c,d,f,e);if(null!==a&&!fa)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,sa(a,b,e);b.flags|=1;
U(a,b,d,e);return b.child}function zh(a,b,c,d,e,f){if(null===a){var g=c.type;if("function"===typeof g&&!Qe(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,Ah(a,b,g,d,e,f);a=fd(c.type,null,d,b,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===(e&f)&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Zb,c(e,d)&&a.ref===b.ref))return sa(a,b,f);b.flags|=1;a=Ma(g,d);a.ref=b.ref;a.return=b;return b.child=a}function Ah(a,b,c,d,e,f){if(null!==a&&Zb(a.memoizedProps,
d)&&a.ref===b.ref)if(fa=!1,0!==(f&e))0!==(a.flags&16384)&&(fa=!0);else return b.lanes=a.lanes,sa(a,b,f);return Re(a,b,c,d,f)}function Se(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if("hidden"===d.mode||"unstable-defer-without-hiding"===d.mode)if(0===(b.mode&4))b.memoizedState={baseLanes:0},pd(b,c);else if(0!==(c&1073741824))b.memoizedState={baseLanes:0},pd(b,null!==f?f.baseLanes:c);else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState=
{baseLanes:a},pd(b,a),null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,pd(b,d);U(a,b,e,c);return b.child}function Bh(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=128}function Re(a,b,c,d,e){var f=S(c)?Ya:D.current;f=vb(b,f);yb(b,e);c=Le(a,b,c,d,f,e);if(null!==a&&!fa)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,sa(a,b,e);b.flags|=1;U(a,b,c,e);return b.child}function Ch(a,b,c,d,e){if(S(c)){var f=!0;Xc(b)}else f=!1;yb(b,e);if(null===b.stateNode)null!==
a&&(a.alternate=null,b.alternate=null,b.flags|=2),fh(b,c,d),Ce(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;"object"===typeof l&&null!==l?l=Y(l):(l=S(c)?Ya:D.current,l=vb(b,l));var m=c.getDerivedStateFromProps,n="function"===typeof m||"function"===typeof g.getSnapshotBeforeUpdate;n||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&gh(b,g,d,l);Ka=!1;var r=b.memoizedState;
g.state=r;cc(b,d,g,e);k=b.memoizedState;h!==d||r!==k||J.current||Ka?("function"===typeof m&&(cd(b,c,m,d),k=b.memoizedState),(h=Ka||eh(b,c,h,d,r,k,l))?(n||"function"!==typeof g.UNSAFE_componentWillMount&&"function"!==typeof g.componentWillMount||("function"===typeof g.componentWillMount&&g.componentWillMount(),"function"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),"function"===typeof g.componentDidMount&&(b.flags|=4)):("function"===typeof g.componentDidMount&&(b.flags|=4),
b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):("function"===typeof g.componentDidMount&&(b.flags|=4),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:ea(b.type,h);g.props=l;n=b.pendingProps;r=g.context;k=c.contextType;"object"===typeof k&&null!==k?k=Y(k):(k=S(c)?Ya:D.current,k=vb(b,k));var t=c.getDerivedStateFromProps;(m="function"===typeof t||"function"===typeof g.getSnapshotBeforeUpdate)||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&
"function"!==typeof g.componentWillReceiveProps||(h!==n||r!==k)&&gh(b,g,d,k);Ka=!1;r=b.memoizedState;g.state=r;cc(b,d,g,e);var w=b.memoizedState;h!==n||r!==w||J.current||Ka?("function"===typeof t&&(cd(b,c,t,d),w=b.memoizedState),(l=Ka||eh(b,c,l,d,r,w,k))?(m||"function"!==typeof g.UNSAFE_componentWillUpdate&&"function"!==typeof g.componentWillUpdate||("function"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,w,k),"function"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,
w,k)),"function"===typeof g.componentDidUpdate&&(b.flags|=4),"function"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=256)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=256),b.memoizedProps=d,b.memoizedState=w),g.props=d,g.state=w,g.context=k,d=l):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),"function"!==
typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=256),d=!1)}return Te(a,b,c,d,f,e)}function Te(a,b,c,d,e,f){Bh(a,b);var g=0!==(b.flags&64);if(!d&&!g)return e&&Ug(b,c,!1),sa(a,b,f);d=b.stateNode;uj.current=b;var h=g&&"function"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=od(b,a.child,null,f),b.child=od(b,null,h,f)):U(a,b,h,f);b.memoizedState=d.state;e&&Ug(b,c,!0);return b.child}function Dh(a){var b=a.stateNode;b.pendingContext?
Sg(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Sg(a,b.context,!1);Fe(a,b.containerInfo)}function Eh(a,b,c){var d=b.pendingProps,e=E.current,f=!1,g;(g=0!==(b.flags&64))||(g=null!==a&&null===a.memoizedState?!1:0!==(e&2));g?(f=!0,b.flags&=-65):null!==a&&null===a.memoizedState||void 0===d.fallback||!0===d.unstable_avoidThisFallback||(e|=1);A(E,e&1);if(null===a){void 0!==d.fallback&&He(b);a=d.children;e=d.fallback;if(f)return a=Fh(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=
qd,a;if("number"===typeof d.unstable_expectedLoadTime)return a=Fh(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=qd,b.lanes=33554432,a;c=Ue({mode:"visible",children:a},b.mode,c,null);c.return=b;return b.child=c}if(null!==a.memoizedState){if(f)return d=Gh(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=qd,d;c=Hh(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=
Gh(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=qd,d;c=Hh(a,b,d.children,c);b.memoizedState=null;return c}function Fh(a,b,c,d){var e=a.mode,f=a.child;b={mode:"hidden",children:b};0===(e&2)&&null!==f?(f.childLanes=0,f.pendingProps=b):f=Ue(b,e,0,null);c=zb(c,e,d,null);f.return=a;c.return=a;f.sibling=c;a.child=f;return c}function Hh(a,b,c,d){var e=a.child;a=e.sibling;c=Ma(e,
{mode:"visible",children:c});0===(b.mode&2)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(a.nextEffect=null,a.flags=8,b.firstEffect=b.lastEffect=a);return b.child=c}function Gh(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:"hidden",children:c};0===(f&2)&&b.child!==g?(c=b.child,c.childLanes=0,c.pendingProps=h,g=c.lastEffect,null!==g?(b.firstEffect=c.firstEffect,b.lastEffect=g,g.nextEffect=null):b.firstEffect=b.lastEffect=null):c=Ma(g,h);null!==a?d=Ma(a,d):(d=zb(d,f,e,null),d.flags|=
2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function Ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);ah(a.return,b)}function Ve(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailMode=e,g.lastEffect=f)}function Jh(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;U(a,b,d.children,c);d=E.current;
if(0!==(d&2))d=d&1|2,b.flags|=64;else{if(null!==a&&0!==(a.flags&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&Ih(a,c);else if(19===a.tag)Ih(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}A(E,d);if(0===(b.mode&2))b.memoizedState=null;else switch(e){case "forwards":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===
hd(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Ve(b,!1,e,c,f,b.lastEffect);break;case "backwards":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hd(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}Ve(b,!0,c,null,f,b.lastEffect);break;case "together":Ve(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}function sa(a,b,c){null!==a&&(b.dependencies=a.dependencies);La|=b.lanes;if(0!==(c&
b.childLanes)){if(null!==a&&b.child!==a.child)throw Error(m(153));if(null!==b.child){a=b.child;c=Ma(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Ma(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}return null}function oc(a,b){if(!la)switch(a.tailMode){case "hidden":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case "collapsed":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&
(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}function vj(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return S(b.type)&&(t(J),t(D)),null;case 3:Ab();t(J);t(D);Je();d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)id(b)?b.flags|=4:d.hydrate||(b.flags|=256);Kh(b);return null;case 5:Ge(b);var e=$a(gc.current);
c=b.type;if(null!==a&&null!=b.stateNode)wj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=128);else{if(!d){if(null===b.stateNode)throw Error(m(166));return null}a=$a(ka.current);if(id(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Fa]=b;d[Wc]=f;switch(c){case "dialog":z("cancel",d);z("close",d);break;case "iframe":case "object":case "embed":z("load",d);break;case "video":case "audio":for(a=0;a<pc.length;a++)z(pc[a],d);break;case "source":z("error",d);break;case "img":case "image":case "link":z("error",d);
z("load",d);break;case "details":z("toggle",d);break;case "input":Gf(d,f);z("invalid",d);break;case "select":d._wrapperState={wasMultiple:!!f.multiple};z("invalid",d);break;case "textarea":Jf(d,f),z("invalid",d)}Sd(c,f);a=null;for(var g in f)f.hasOwnProperty(g)&&(e=f[g],"children"===g?"string"===typeof e?d.textContent!==e&&(a=["children",e]):"number"===typeof e&&d.textContent!==""+e&&(a=["children",""+e]):Ib.hasOwnProperty(g)&&null!=e&&"onScroll"===g&&z("scroll",d));switch(c){case "input":Fc(d);If(d,
f,!0);break;case "textarea":Fc(d);Lf(d);break;case "select":case "option":break;default:"function"===typeof f.onClick&&(d.onclick=Vc)}d=a;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;"http://www.w3.org/1999/xhtml"===a&&(a=Mf(c));"http://www.w3.org/1999/xhtml"===a?"script"===c?(a=g.createElement("div"),a.innerHTML="<script>\x3c/script>",a=a.removeChild(a.firstChild)):"string"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),"select"===c&&(g=a,d.multiple?
g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Fa]=b;a[Wc]=d;xj(a,b,!1,!1);b.stateNode=a;g=Td(c,d);switch(c){case "dialog":z("cancel",a);z("close",a);e=d;break;case "iframe":case "object":case "embed":z("load",a);e=d;break;case "video":case "audio":for(e=0;e<pc.length;e++)z(pc[e],a);e=d;break;case "source":z("error",a);e=d;break;case "img":case "image":case "link":z("error",a);z("load",a);e=d;break;case "details":z("toggle",a);e=d;break;case "input":Gf(a,d);e=Md(a,d);z("invalid",
a);break;case "option":e=Pd(a,d);break;case "select":a._wrapperState={wasMultiple:!!d.multiple};e=B({},d,{value:void 0});z("invalid",a);break;case "textarea":Jf(a,d);e=Qd(a,d);z("invalid",a);break;default:e=d}Sd(c,e);var h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];"style"===f?Of(a,k):"dangerouslySetInnerHTML"===f?(k=k?k.__html:void 0,null!=k&&Lh(a,k)):"children"===f?"string"===typeof k?("textarea"!==c||""!==k)&&qc(a,k):"number"===typeof k&&qc(a,""+k):"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==
f&&"autoFocus"!==f&&(Ib.hasOwnProperty(f)?null!=k&&"onScroll"===f&&z("scroll",a):null!=k&&Ed(a,f,k,g))}switch(c){case "input":Fc(a);If(a,d,!1);break;case "textarea":Fc(a);Lf(a);break;case "option":null!=d.value&&a.setAttribute("value",""+xa(d.value));break;case "select":a.multiple=!!d.multiple;f=d.value;null!=f?ib(a,!!d.multiple,f,!1):null!=d.defaultValue&&ib(a,!!d.multiple,d.defaultValue,!0);break;default:"function"===typeof e.onClick&&(a.onclick=Vc)}Pg(c,d)&&(b.flags|=4)}null!==b.ref&&(b.flags|=
128)}return null;case 6:if(a&&null!=b.stateNode)yj(a,b,a.memoizedProps,d);else{if("string"!==typeof d&&null===b.stateNode)throw Error(m(166));c=$a(gc.current);$a(ka.current);id(b)?(d=b.stateNode,c=b.memoizedProps,d[Fa]=b,d.nodeValue!==c&&(b.flags|=4)):(d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Fa]=b,b.stateNode=d)}return null;case 13:t(E);d=b.memoizedState;if(0!==(b.flags&64))return b.lanes=c,b;d=null!==d;c=!1;null===a?void 0!==b.memoizedProps.fallback&&id(b):c=null!==a.memoizedState;
if(d&&!c&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(E.current&1))0===L&&(L=3);else{if(0===L||3===L)L=4;null===R||0===(La&134217727)&&0===(Cb&134217727)||Db(R,O)}if(d||c)b.flags|=4;return null;case 4:return Ab(),Kh(b),null===a&&Cg(b.stateNode.containerInfo),null;case 10:return Ae(b),null;case 17:return S(b.type)&&(t(J),t(D)),null;case 19:t(E);d=b.memoizedState;if(null===d)return null;f=0!==(b.flags&64);g=d.rendering;if(null===g)if(f)oc(d,!1);else{if(0!==L||null!==
a&&0!==(a.flags&64))for(a=b.child;null!==a;){g=hd(a);if(null!==g){b.flags|=64;oc(d,!1);f=g.updateQueue;null!==f&&(b.updateQueue=f,b.flags|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=
g.lanes,f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;A(E,E.current&1|2);return b.child}a=a.sibling}null!==d.tail&&P()>We&&(b.flags|=64,f=!0,oc(d,!1),b.lanes=33554432)}else{if(!f)if(a=hd(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),oc(d,!0),null===d.tail&&"hidden"===d.tailMode&&
!g.alternate&&!la)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*P()-d.renderingStartTime>We&&1073741824!==c&&(b.flags|=64,f=!0,oc(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=P(),c.sibling=null,b=E.current,A(E,f?b&1|2:b&1),c):null;case 23:case 24:return ta=cb.current,t(cb),null!==a&&null!==
a.memoizedState!==(null!==b.memoizedState)&&"unstable-defer-without-hiding"!==d.mode&&(b.flags|=4),null}throw Error(m(156,b.tag));}function zj(a,b){switch(a.tag){case 1:return S(a.type)&&(t(J),t(D)),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 3:Ab();t(J);t(D);Je();b=a.flags;if(0!==(b&64))throw Error(m(285));a.flags=b&-4097|64;return a;case 5:return Ge(a),null;case 13:return t(E),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return t(E),null;case 4:return Ab(),null;case 10:return Ae(a),
null;case 23:case 24:return ta=cb.current,t(cb),null;default:return null}}function Xe(a,b){try{var c="",d=b;do c+=pi(d),d=d.return;while(d);var e=c}catch(f){e="\nError generating stack: "+f.message+"\n"+f.stack}return{value:a,source:b,stack:e}}function Ye(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}function Mh(a,b,c){c=Ia(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){rd||(rd=!0,Ze=d);Ye(a,b)};return c}function Nh(a,b,c){c=Ia(-1,c);c.tag=
3;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){Ye(a,b);return d(e)}}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){"function"!==typeof d&&(null===na?na=new Set([this]):na.add(this),Ye(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:""})});return c}function Oh(a){var b=a.ref;if(null!==b)if("function"===typeof b)try{b(null)}catch(c){Qa(a,c)}else b.current=null}function Aj(a,
b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ea(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&te(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(m(163));}function Bj(a,b,c,d){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;
do 3===(a.tag&3)&&(d=a.create,a.destroy=d()),a=a.next;while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Ph(c,a),Cj(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:ea(c.type,b.memoizedProps),a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&dh(c,b,a);return;case 3:b=c.updateQueue;
if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}dh(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&Pg(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&bg(c))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(m(163));}function Qh(a,b){for(var c=a;;){if(5===
c.tag){var d=c.stateNode;if(b)d=d.style,"function"===typeof d.setProperty?d.setProperty("display","none","important"):d.display="none";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty("display")?e.display:null;d.style.display=Nf("display",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?"":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===a)break;for(;null===c.sibling;){if(null===
c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}function Rh(a,b,c){if(db&&"function"===typeof db.onCommitFiberUnmount)try{db.onCommitFiberUnmount($e,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Ph(b,c);else{d=b;try{e()}catch(f){Qa(d,f)}}c=c.next}while(c!==a)}break;case 1:Oh(b);a=b.stateNode;if("function"===typeof a.componentWillUnmount)try{a.props=
b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Qa(b,f)}break;case 5:Oh(b);break;case 4:Sh(a,b)}}function Th(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function Uh(a){return 5===a.tag||3===a.tag||4===a.tag}function Vh(a){a:{for(var b=a.return;null!==b;){if(Uh(b))break a;b=b.return}throw Error(m(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=
!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(m(161));}c.flags&16&&(qc(b,""),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Uh(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?af(a,c,b):bf(a,c,b)}function af(a,b,c){var d=
a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Vc));else if(4!==d&&(a=a.child,null!==a))for(af(a,b,c),a=a.sibling;null!==a;)af(a,b,c),a=a.sibling}function bf(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);
else if(4!==d&&(a=a.child,null!==a))for(bf(a,b,c),a=a.sibling;null!==a;)bf(a,b,c),a=a.sibling}function Sh(a,b,c){c=b;for(var d=!1,e,f;;){if(!d){e=c.return;a:for(;;){if(null===e)throw Error(m(160));f=e.stateNode;switch(e.tag){case 5:e=f;f=!1;break a;case 3:e=f.containerInfo;f=!0;break a;case 4:e=f.containerInfo;f=!0;break a}e=e.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(Rh(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===
k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(Rh(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=
c.sibling}}function cf(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Wc]=d;"input"===a&&"radio"===d.type&&null!=d.name&&Hf(c,d);Td(a,e);b=Td(a,d);for(e=0;e<f.length;e+=
2){var g=f[e],h=f[e+1];"style"===g?Of(c,h):"dangerouslySetInnerHTML"===g?Lh(c,h):"children"===g?qc(c,h):Ed(c,g,h,b)}switch(a){case "input":Nd(c,d);break;case "textarea":Kf(c,d);break;case "select":a=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?ib(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?ib(c,!!d.multiple,d.defaultValue,!0):ib(c,!!d.multiple,d.multiple?[]:"",!1))}}}return;case 6:if(null===b.stateNode)throw Error(m(162));b.stateNode.nodeValue=
b.memoizedProps;return;case 3:c=b.stateNode;c.hydrate&&(c.hydrate=!1,bg(c.containerInfo));return;case 12:return;case 13:null!==b.memoizedState&&(df=P(),Qh(b.child,!0));Wh(b);return;case 19:Wh(b);return;case 17:return;case 23:case 24:Qh(b,null!==b.memoizedState);return}throw Error(m(163));}function Wh(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Dj);b.forEach(function(b){var d=Ej.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}function Fj(a,
b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}function Eb(){We=P()+500}function W(){return 0!==(n&48)?P():-1!==sd?sd:sd=P()}function Oa(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===wb()?1:2;0===ua&&(ua=Fb);if(0!==Gj.transition){0!==td&&(td=null!==ef?ef.pendingLanes:0);a=ua;var b=4186112&~td;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=wb();0!==(n&4)&&98===a?a=Nc(12,ua):(a=Fi(a),a=Nc(a,ua));
return a}function Pa(a,b,c){if(50<rc)throw rc=0,ff=null,Error(m(185));a=ud(a,b);if(null===a)return null;Oc(a,b,c);a===R&&(Cb|=b,4===L&&Db(a,O));var d=wb();1===b?0!==(n&8)&&0===(n&48)?gf(a):(ba(a,c),0===n&&(Eb(),ja())):(0===(n&4)||98!==d&&99!==d||(null===va?va=new Set([a]):va.add(a)),ba(a,c));ef=a}function ud(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}
function ba(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedLanes,f=a.expirationTimes,g=a.pendingLanes;0<g;){var h=31-Ba(g),k=1<<h,l=f[h];if(-1===l){if(0===(k&d)||0!==(k&e)){l=b;mb(k);var m=w;f[h]=10<=m?l+250:6<=m?l+5E3:-1}}else l<=b&&(a.expiredLanes|=k);g&=~k}d=Wb(a,a===R?O:0);b=w;if(0===d)null!==c&&(c!==hf&&xe(c),a.callbackNode=null,a.callbackPriority=0);else{if(null!==c){if(a.callbackPriority===b)return;c!==hf&&xe(c)}15===b?(c=gf.bind(null,a),null===pa?(pa=[c],Zc=we(Yc,$g)):pa.push(c),
c=hf):14===b?c=bc(99,gf.bind(null,a)):(c=Gi(b),c=bc(c,Xh.bind(null,a)));a.callbackPriority=b;a.callbackNode=c}}function Xh(a){sd=-1;td=ua=0;if(0!==(n&48))throw Error(m(327));var b=a.callbackNode;if(Ra()&&a.callbackNode!==b)return null;var c=Wb(a,a===R?O:0);if(0===c)return null;var d=c;var e=n;n|=16;var f=Yh();if(R!==a||O!==d)Eb(),Gb(a,d);do try{Hj();break}catch(h){Zh(a,h)}while(1);ze();vd.current=f;n=e;null!==G?d=0:(R=null,O=0,d=L);if(0!==(Fb&Cb))Gb(a,0);else if(0!==d){2===d&&(n|=64,a.hydrate&&(a.hydrate=
!1,te(a.containerInfo)),c=eg(a),0!==c&&(d=sc(a,c)));if(1===d)throw b=wd,Gb(a,0),Db(a,c),ba(a,P()),b;a.finishedWork=a.current.alternate;a.finishedLanes=c;switch(d){case 0:case 1:throw Error(m(345));case 2:eb(a);break;case 3:Db(a,c);if((c&62914560)===c&&(d=df+500-P(),10<d)){if(0!==Wb(a,0))break;e=a.suspendedLanes;if((e&c)!==c){W();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=$h(eb.bind(null,a),d);break}eb(a);break;case 4:Db(a,c);if((c&4186112)===c)break;d=a.eventTimes;for(e=-1;0<c;){var g=
31-Ba(c);f=1<<g;g=d[g];g>e&&(e=g);c&=~f}c=e;c=P()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>c?4320:1960*Ij(c/1960))-c;if(10<c){a.timeoutHandle=$h(eb.bind(null,a),c);break}eb(a);break;case 5:eb(a);break;default:throw Error(m(329));}}ba(a,P());return a.callbackNode===b?Xh.bind(null,a):null}function Db(a,b){b&=~jf;b&=~Cb;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Ba(b),d=1<<c;a[c]=-1;b&=~d}}function gf(a){if(0!==(n&48))throw Error(m(327));Ra();
if(a===R&&0!==(a.expiredLanes&O)){var b=O;var c=sc(a,b);0!==(Fb&Cb)&&(b=Wb(a,b),c=sc(a,b))}else b=Wb(a,0),c=sc(a,b);0!==a.tag&&2===c&&(n|=64,a.hydrate&&(a.hydrate=!1,te(a.containerInfo)),b=eg(a),0!==b&&(c=sc(a,b)));if(1===c)throw c=wd,Gb(a,0),Db(a,b),ba(a,P()),c;a.finishedWork=a.current.alternate;a.finishedLanes=b;eb(a);ba(a,P());return null}function Jj(){if(null!==va){var a=va;va=null;a.forEach(function(a){a.expiredLanes|=24&a.pendingLanes;ba(a,P())})}ja()}function ai(a,b){var c=n;n|=1;try{return a(b)}finally{n=
c,0===n&&(Eb(),ja())}}function bi(a,b){var c=n;n&=-2;n|=8;try{return a(b)}finally{n=c,0===n&&(Eb(),ja())}}function pd(a,b){A(cb,ta);ta|=b;Fb|=b}function Gb(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Kj(c));if(null!==G)for(c=G.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&(t(J),t(D));break;case 3:Ab();t(J);t(D);Je();break;case 5:Ge(d);break;case 4:Ab();break;case 13:t(E);break;case 19:t(E);break;case 10:Ae(d);
break;case 23:case 24:ta=cb.current,t(cb)}c=c.return}R=a;G=Ma(a.current,null);O=ta=Fb=b;L=0;wd=null;jf=Cb=La=0}function Zh(a,b){do{var c=G;try{ze();jc.current=jd;if(kd){for(var d=y.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}kd=!1}ic=0;K=N=y=null;kc=!1;kf.current=null;if(null===c||null===c.return){L=1;wd=b;G=null;break}a:{var f=a,g=c.return,h=c,k=b;b=O;h.flags|=2048;h.firstEffect=h.lastEffect=null;if(null!==k&&"object"===typeof k&&"function"===typeof k.then){var l=k;
if(0===(h.mode&2)){var m=h.alternate;m?(h.updateQueue=m.updateQueue,h.memoizedState=m.memoizedState,h.lanes=m.lanes):(h.updateQueue=null,h.memoizedState=null)}var n=0!==(E.current&1),r=g;do{var t;if(t=13===r.tag){var w=r.memoizedState;if(null!==w)t=null!==w.dehydrated?!0:!1;else{var z=r.memoizedProps;t=void 0===z.fallback?!1:!0!==z.unstable_avoidThisFallback?!0:n?!1:!0}}if(t){var C=r.updateQueue;if(null===C){var x=new Set;x.add(l);r.updateQueue=x}else C.add(l);if(0===(r.mode&2)){r.flags|=64;h.flags|=
16384;h.flags&=-2981;if(1===h.tag)if(null===h.alternate)h.tag=17;else{var p=Ia(-1,1);p.tag=2;Ja(h,p)}h.lanes|=1;break a}k=void 0;h=b;var q=f.pingCache;null===q?(q=f.pingCache=new Lj,k=new Set,q.set(l,k)):(k=q.get(l),void 0===k&&(k=new Set,q.set(l,k)));if(!k.has(h)){k.add(h);var u=Mj.bind(null,f,l,h);l.then(u,u)}r.flags|=4096;r.lanes=b;break a}r=r.return}while(null!==r);k=Error((hb(h.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==
L&&(L=2);k=Xe(k,h);r=g;do{switch(r.tag){case 3:f=k;r.flags|=4096;b&=-b;r.lanes|=b;var B=Mh(r,f,b);ch(r,B);break a;case 1:f=k;var A=r.type,D=r.stateNode;if(0===(r.flags&64)&&("function"===typeof A.getDerivedStateFromError||null!==D&&"function"===typeof D.componentDidCatch&&(null===na||!na.has(D)))){r.flags|=4096;b&=-b;r.lanes|=b;var F=Nh(r,f,b);ch(r,F);break a}}r=r.return}while(null!==r)}ci(c)}catch(qa){b=qa;G===c&&null!==c&&(G=c=c.return);continue}break}while(1)}function Yh(){var a=vd.current;vd.current=
jd;return null===a?jd:a}function sc(a,b){var c=n;n|=16;var d=Yh();R===a&&O===b||Gb(a,b);do try{Nj();break}catch(e){Zh(a,e)}while(1);ze();n=c;vd.current=d;if(null!==G)throw Error(m(261));R=null;O=0;return L}function Nj(){for(;null!==G;)di(G)}function Hj(){for(;null!==G&&!Oj();)di(G)}function di(a){var b=Pj(a.alternate,a,ta);a.memoizedProps=a.pendingProps;null===b?ci(a):G=b;kf.current=null}function ci(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=vj(c,b,ta);if(null!==c){G=c;return}c=
b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(ta&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1<b.flags&&(null!==a.lastEffect?a.lastEffect.nextEffect=b:a.firstEffect=b,a.lastEffect=b))}else{c=zj(b);if(null!==c){c.flags&=2047;G=c;
return}null!==a&&(a.firstEffect=a.lastEffect=null,a.flags|=2048)}b=b.sibling;if(null!==b){G=b;return}G=b=a}while(null!==b);0===L&&(L=5)}function eb(a){var b=wb();Za(99,Qj.bind(null,a,b));return null}function Qj(a,b){do Ra();while(null!==tc);if(0!==(n&48))throw Error(m(327));var c=a.finishedWork;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(m(177));a.callbackNode=null;var d=c.lanes|c.childLanes,e=d,f=a.pendingLanes&~e;a.pendingLanes=e;a.suspendedLanes=0;
a.pingedLanes=0;a.expiredLanes&=e;a.mutableReadLanes&=e;a.entangledLanes&=e;e=a.entanglements;for(var g=a.eventTimes,h=a.expirationTimes;0<f;){var k=31-Ba(f),v=1<<k;e[k]=0;g[k]=-1;h[k]=-1;f&=~v}null!==va&&0===(d&24)&&va.has(a)&&va.delete(a);a===R&&(G=R=null,O=0);1<c.flags?null!==c.lastEffect?(c.lastEffect.nextEffect=c,d=c.firstEffect):d=c:d=c.firstEffect;if(null!==d){e=n;n|=32;kf.current=null;lf=Pc;g=xg();if(ne(g)){if("selectionStart"in g)h={start:g.selectionStart,end:g.selectionEnd};else a:if(h=
(h=g.ownerDocument)&&h.defaultView||window,(v=h.getSelection&&h.getSelection())&&0!==v.rangeCount){h=v.anchorNode;f=v.anchorOffset;k=v.focusNode;v=v.focusOffset;try{h.nodeType,k.nodeType}catch(qa){h=null;break a}var t=0,w=-1,r=-1,z=0,B=0,y=g,C=null;b:for(;;){for(var x;;){y!==h||0!==f&&3!==y.nodeType||(w=t+f);y!==k||0!==v&&3!==y.nodeType||(r=t+v);3===y.nodeType&&(t+=y.nodeValue.length);if(null===(x=y.firstChild))break;C=y;y=x}for(;;){if(y===g)break b;C===h&&++z===f&&(w=t);C===k&&++B===v&&(r=t);if(null!==
(x=y.nextSibling))break;y=C;C=y.parentNode}y=x}h=-1===w||-1===r?null:{start:w,end:r}}else h=null;h=h||{start:0,end:0}}else h=null;mf={focusedElem:g,selectionRange:h};Pc=!1;uc=null;xd=!1;l=d;do try{Rj()}catch(qa){if(null===l)throw Error(m(330));Qa(l,qa);l=l.nextEffect}while(null!==l);uc=null;l=d;do try{for(g=a;null!==l;){var p=l.flags;p&16&&qc(l.stateNode,"");if(p&128){var q=l.alternate;if(null!==q){var u=q.ref;null!==u&&("function"===typeof u?u(null):u.current=null)}}switch(p&1038){case 2:Vh(l);l.flags&=
-3;break;case 6:Vh(l);l.flags&=-3;cf(l.alternate,l);break;case 1024:l.flags&=-1025;break;case 1028:l.flags&=-1025;cf(l.alternate,l);break;case 4:cf(l.alternate,l);break;case 8:h=l;Sh(g,h);var A=h.alternate;Th(h);null!==A&&Th(A)}l=l.nextEffect}}catch(qa){if(null===l)throw Error(m(330));Qa(l,qa);l=l.nextEffect}while(null!==l);u=mf;q=xg();p=u.focusedElem;g=u.selectionRange;if(q!==p&&p&&p.ownerDocument&&wg(p.ownerDocument.documentElement,p)){null!==g&&ne(p)&&(q=g.start,u=g.end,void 0===u&&(u=q),"selectionStart"in
p?(p.selectionStart=q,p.selectionEnd=Math.min(u,p.value.length)):(u=(q=p.ownerDocument||document)&&q.defaultView||window,u.getSelection&&(u=u.getSelection(),h=p.textContent.length,A=Math.min(g.start,h),g=void 0===g.end?A:Math.min(g.end,h),!u.extend&&A>g&&(h=g,g=A,A=h),h=vg(p,A),f=vg(p,g),h&&f&&(1!==u.rangeCount||u.anchorNode!==h.node||u.anchorOffset!==h.offset||u.focusNode!==f.node||u.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),u.removeAllRanges(),A>g?(u.addRange(q),u.extend(f.node,
f.offset)):(q.setEnd(f.node,f.offset),u.addRange(q))))));q=[];for(u=p;u=u.parentNode;)1===u.nodeType&&q.push({element:u,left:u.scrollLeft,top:u.scrollTop});"function"===typeof p.focus&&p.focus();for(p=0;p<q.length;p++)u=q[p],u.element.scrollLeft=u.left,u.element.scrollTop=u.top}Pc=!!lf;mf=lf=null;a.current=c;l=d;do try{for(p=a;null!==l;){var D=l.flags;D&36&&Bj(p,l.alternate,l);if(D&128){q=void 0;var E=l.ref;if(null!==E){var F=l.stateNode;switch(l.tag){case 5:q=F;break;default:q=F}"function"===typeof E?
E(q):E.current=q}}l=l.nextEffect}}catch(qa){if(null===l)throw Error(m(330));Qa(l,qa);l=l.nextEffect}while(null!==l);l=null;Sj();n=e}else a.current=c;if(Sa)Sa=!1,tc=a,vc=b;else for(l=d;null!==l;)b=l.nextEffect,l.nextEffect=null,l.flags&8&&(D=l,D.sibling=null,D.stateNode=null),l=b;d=a.pendingLanes;0===d&&(na=null);1===d?a===ff?rc++:(rc=0,ff=a):rc=0;c=c.stateNode;if(db&&"function"===typeof db.onCommitFiberRoot)try{db.onCommitFiberRoot($e,c,void 0,64===(c.current.flags&64))}catch(qa){}ba(a,P());if(rd)throw rd=
!1,a=Ze,Ze=null,a;if(0!==(n&8))return null;ja();return null}function Rj(){for(;null!==l;){var a=l.alternate;xd||null===uc||(0!==(l.flags&8)?Wf(l,uc)&&(xd=!0):13===l.tag&&Fj(a,l)&&Wf(l,uc)&&(xd=!0));var b=l.flags;0!==(b&256)&&Aj(a,l);0===(b&512)||Sa||(Sa=!0,bc(97,function(){Ra();return null}));l=l.nextEffect}}function Ra(){if(90!==vc){var a=97<vc?97:vc;vc=90;return Za(a,Tj)}return!1}function Cj(a,b){nf.push(b,a);Sa||(Sa=!0,bc(97,function(){Ra();return null}))}function Ph(a,b){of.push(b,a);Sa||(Sa=
!0,bc(97,function(){Ra();return null}))}function Tj(){if(null===tc)return!1;var a=tc;tc=null;if(0!==(n&48))throw Error(m(331));var b=n;n|=32;var c=of;of=[];for(var d=0;d<c.length;d+=2){var e=c[d],f=c[d+1],g=e.destroy;e.destroy=void 0;if("function"===typeof g)try{g()}catch(k){if(null===f)throw Error(m(330));Qa(f,k)}}c=nf;nf=[];for(d=0;d<c.length;d+=2){e=c[d];f=c[d+1];try{var h=e.create;e.destroy=h()}catch(k){if(null===f)throw Error(m(330));Qa(f,k)}}for(h=a.current.firstEffect;null!==h;)a=h.nextEffect,
h.nextEffect=null,h.flags&8&&(h.sibling=null,h.stateNode=null),h=a;n=b;ja();return!0}function ei(a,b,c){b=Xe(c,b);b=Mh(a,b,1);Ja(a,b);b=W();a=ud(a,1);null!==a&&(Oc(a,1,b),ba(a,b))}function Qa(a,b){if(3===a.tag)ei(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){ei(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromError||"function"===typeof d.componentDidCatch&&(null===na||!na.has(d))){a=Xe(b,a);var e=Nh(c,a,1);Ja(c,e);e=W();c=ud(c,1);if(null!==
c)Oc(c,1,e),ba(c,e);else if("function"===typeof d.componentDidCatch&&(null===na||!na.has(d)))try{d.componentDidCatch(b,a)}catch(f){}break}}c=c.return}}function Mj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=W();a.pingedLanes|=a.suspendedLanes&c;R===a&&(O&c)===c&&(4===L||3===L&&(O&62914560)===O&&500>P()-df?Gb(a,0):jf|=c);ba(a,b)}function Ej(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===wb()?1:2:(0===ua&&(ua=Fb),b=nb(62914560&~ua),0===b&&(b=4194304)));
c=W();a=ud(a,b);null!==a&&(Oc(a,b,c),ba(a,c))}function Uj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function Qe(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Vj(a){if("function"===
typeof a)return Qe(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Dc)return 11;if(a===Ec)return 14}return 2}function Ma(a,b){var c=a.alternate;null===c?(c=Z(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=
a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}function fd(a,b,c,d,e,f){var g=2;d=a;if("function"===typeof a)Qe(a)&&(g=1);else if("string"===typeof a)g=5;else a:switch(a){case wa:return zb(c.children,e,f,b);case fi:g=8;e|=16;break;case Hd:g=8;e|=1;break;case Lb:return a=Z(12,c,b,e|8),a.elementType=Lb,a.type=Lb,a.lanes=f,a;case Mb:return a=Z(13,c,b,e),a.type=Mb,a.elementType=Mb,a.lanes=
f,a;case Cc:return a=Z(19,c,b,e),a.elementType=Cc,a.lanes=f,a;case pf:return Ue(c,e,f,b);case qf:return a=Z(24,c,b,e),a.elementType=qf,a.lanes=f,a;default:if("object"===typeof a&&null!==a)switch(a.$$typeof){case Jd:g=10;break a;case Id:g=9;break a;case Dc:g=11;break a;case Ec:g=14;break a;case Ld:g=16;d=null;break a;case Kd:g=22;break a}throw Error(m(130,null==a?a:typeof a,""));}b=Z(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function zb(a,b,c,d){a=Z(7,a,d,b);a.lanes=c;return a}function Ue(a,
b,c,d){a=Z(23,a,d,b);a.elementType=pf;a.lanes=c;return a}function De(a,b,c){a=Z(6,a,null,b);a.lanes=c;return a}function Ee(a,b,c){b=Z(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function Wj(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=
null;this.callbackPriority=0;this.eventTimes=ge(0);this.expirationTimes=ge(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=ge(0);this.mutableSourceEagerHydrationData=null}function Xj(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Ua,key:null==d?null:""+d,children:a,containerInfo:b,implementation:c}}function yd(a,b,c,d){var e=b.current,f=W(),g=Oa(e);
a:if(c){c=c._reactInternals;b:{if(Va(c)!==c||1!==c.tag)throw Error(m(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(S(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(m(171));}if(1===c.tag){var k=c.type;if(S(k)){c=Tg(c,k,h);break a}}c=h}else c=Ha;null===b.context?b.context=c:b.pendingContext=c;b=Ia(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);Ja(e,b);Pa(e,g,f);return g}function rf(a){a=
a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function gi(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function sf(a,b){gi(a,b);(a=a.alternate)&&gi(a,b)}function Yj(a){a=Vf(a);return null===a?null:a.stateNode}function Zj(a){return null}function tf(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationOptions.mutableSources||null;c=new Wj(a,b,null!=c&&!0===c.hydrate);
b=Z(3,null,null,2===b?7:1===b?3:0);c.current=b;b.stateNode=c;Be(b);a[rb]=c.current;Cg(8===a.nodeType?a.parentNode:a);if(d)for(a=0;a<d.length;a++){b=d[a];var e=b._getVersion;e=e(b._source);null==c.mutableSourceEagerHydrationData?c.mutableSourceEagerHydrationData=[b,e]:c.mutableSourceEagerHydrationData.push(b,e)}this._internalRoot=c}function wc(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||" react-mount-point-unstable "!==a.nodeValue))}function ak(a,b){b||(b=a?9===
a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute("data-reactroot")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new tf(a,0,b?{hydrate:!0}:void 0)}function zd(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if("function"===typeof e){var h=e;e=function(){var a=rf(g);h.call(a)}}yd(b,g,a,e)}else{f=c._reactRootContainer=ak(c,d);g=f._internalRoot;if("function"===typeof e){var k=e;e=function(){var a=rf(g);k.call(a)}}bi(function(){yd(b,
g,a,e)})}return rf(g)}function hi(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!wc(b))throw Error(m(200));return Xj(a,b,null,c)}if(!ha)throw Error(m(227));var zf=new Set,Ib={},oa=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),mi=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,
Af=Object.prototype.hasOwnProperty,Cf={},Bf={},I={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){I[a]=new Q(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];I[b]=new Q(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){I[a]=
new Q(a,2,!1,a.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){I[a]=new Q(a,2,!1,a,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){I[a]=new Q(a,3,!1,a.toLowerCase(),null,!1,!1)});["checked","multiple",
"muted","selected"].forEach(function(a){I[a]=new Q(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){I[a]=new Q(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){I[a]=new Q(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){I[a]=new Q(a,5,!1,a.toLowerCase(),null,!1,!1)});var uf=/[\-:]([a-z])/g,vf=function(a){return a[1].toUpperCase()};"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=
a.replace(uf,vf);I[b]=new Q(b,1,!1,a,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(uf,vf);I[b]=new Q(b,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(uf,vf);I[b]=new Q(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){I[a]=new Q(a,1,!1,a.toLowerCase(),null,!1,!1)});I.xlinkHref=new Q("xlinkHref",
1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){I[a]=new Q(a,1,!1,a.toLowerCase(),null,!0,!0)});var B=ha.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.assign,fb=ha.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ec=60103,Ua=60106,wa=60107,Hd=60108,Lb=60114,Jd=60109,Id=60110,Dc=60112,Mb=60113,Cc=60120,Ec=60115,Ld=60116,Kd=60121,ue=60128,fi=60129,pf=60130,qf=60131;if("function"===typeof Symbol&&Symbol.for){var H=Symbol.for;ec=
H("react.element");Ua=H("react.portal");wa=H("react.fragment");Hd=H("react.strict_mode");Lb=H("react.profiler");Jd=H("react.provider");Id=H("react.context");Dc=H("react.forward_ref");Mb=H("react.suspense");Cc=H("react.suspense_list");Ec=H("react.memo");Ld=H("react.lazy");Kd=H("react.block");H("react.scope");ue=H("react.opaque.id");fi=H("react.debug_trace_mode");pf=H("react.offscreen");qf=H("react.legacy_hidden")}var Df="function"===typeof Symbol&&Symbol.iterator,Fd,Gd=!1,Ad,Lh=function(a){return"undefined"!==
typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if("http://www.w3.org/2000/svg"!==a.namespaceURI||"innerHTML"in a)a.innerHTML=b;else{Ad=Ad||document.createElement("div");Ad.innerHTML="<svg>"+b.valueOf().toString()+"</svg>";for(b=Ad.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}}),qc=function(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=
b;return}}a.textContent=b},Nb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,
zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},bk=["Webkit","ms","Moz","O"];Object.keys(Nb).forEach(function(a){bk.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Nb[b]=Nb[a]})});var si=B({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),Vd=null,jb=null,kb=null,me=function(a,b){return a(b)},fg=function(a,
b,c,d,e){return a(b,c,d,e)},Xd=function(){},Sf=me,Xa=!1,Yd=!1,qe=!1;if(oa)try{var xc={};Object.defineProperty(xc,"passive",{get:function(){qe=!0}});window.addEventListener("test",xc,xc);window.removeEventListener("test",xc,xc)}catch(a){qe=!1}var vi=function(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(Da){this.onError(Da)}},Qb=!1,Ic=null,Jc=!1,Zd=null,wi={onError:function(a){Qb=!0;Ic=a}},ca=ha.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Scheduler,
ck=ca.unstable_cancelCallback,Bd=ca.unstable_now,$f=ca.unstable_scheduleCallback,dk=ca.unstable_shouldYield,ii=ca.unstable_requestPaint,ae=ca.unstable_runWithPriority,ek=ca.unstable_getCurrentPriorityLevel,fk=ca.unstable_ImmediatePriority,ji=ca.unstable_UserBlockingPriority,ag=ca.unstable_NormalPriority,gk=ca.unstable_LowPriority,hk=ca.unstable_IdlePriority,ce=!1,ia=[],ya=null,za=null,Aa=null,Rb=new Map,Sb=new Map,Vb=[],gg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "),
lb={animationend:Lc("Animation","AnimationEnd"),animationiteration:Lc("Animation","AnimationIteration"),animationstart:Lc("Animation","AnimationStart"),transitionend:Lc("Transition","TransitionEnd")},de={},cg={};oa&&(cg=document.createElement("div").style,"AnimationEvent"in window||(delete lb.animationend.animation,delete lb.animationiteration.animation,delete lb.animationstart.animation),"TransitionEvent"in window||delete lb.transitionend.transition);var Hg=Mc("animationend"),Ig=Mc("animationiteration"),
Jg=Mc("animationstart"),Kg=Mc("transitionend"),dg=new Map,fe=new Map,ik=["abort","abort",Hg,"animationEnd",Ig,"animationIteration",Jg,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing",
"playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Kg,"transitionEnd","waiting","waiting"];Bd();var w=8,Ba=Math.clz32?Math.clz32:Hi,Ii=Math.log,Ji=Math.LN2,Ni=ji,Mi=ae,Pc=!0,Ca=null,ie=null,Qc=null,Hb={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},le=V(Hb),yc=B({},Hb,{view:0,detail:0}),hj=V(yc),wf,xf,zc,Cd=B({},yc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,
pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:je,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if("movementX"in a)return a.movementX;a!==zc&&(zc&&"mousemove"===a.type?(wf=a.screenX-zc.screenX,xf=a.screenY-zc.screenY):xf=wf=0,zc=a);return wf},movementY:function(a){return"movementY"in a?a.movementY:xf}}),Gg=V(Cd),jk=B({},Cd,{dataTransfer:0}),dj=V(jk),kk=B({},
yc,{relatedTarget:0}),re=V(kk),lk=B({},Hb,{animationName:0,elapsedTime:0,pseudoElement:0}),fj=V(lk),mk=B({},Hb,{clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),jj=V(mk),nk=B({},Hb,{data:0}),Og=V(nk),mj=Og,ok={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},pk={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",
16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Pi={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"},qk=B({},yc,{key:function(a){if(a.key){var b=ok[a.key]||a.key;if("Unidentified"!==
b)return b}return"keypress"===a.type?(a=Rc(a),13===a?"Enter":String.fromCharCode(a)):"keydown"===a.type||"keyup"===a.type?pk[a.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:je,charCode:function(a){return"keypress"===a.type?Rc(a):0},keyCode:function(a){return"keydown"===a.type||"keyup"===a.type?a.keyCode:0},which:function(a){return"keypress"===a.type?Rc(a):"keydown"===a.type||"keyup"===a.type?a.keyCode:0}}),cj=V(qk),rk=B({},
Cd,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Lg=V(rk),sk=B({},yc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:je}),ej=V(sk),tk=B({},Hb,{propertyName:0,elapsedTime:0,pseudoElement:0}),gj=V(tk),uk=B({},Cd,{deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in
a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),ij=V(uk),Qi=[9,13,27,32],ke=oa&&"CompositionEvent"in window,Ac=null;oa&&"documentMode"in document&&(Ac=document.documentMode);var lj=oa&&"TextEvent"in window&&!Ac,og=oa&&(!ke||Ac&&8<Ac&&11>=Ac),ng=String.fromCharCode(32),mg=!1,ob=!1,Ti={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},Xb=null,Yb=null,Ng=!1;oa&&(Ng=Ui("input")&&(!document.documentMode||9<document.documentMode));
var X="function"===typeof Object.is?Object.is:aj,bj=Object.prototype.hasOwnProperty,kj=oa&&"documentMode"in document&&11>=document.documentMode,qb=null,pe=null,$b=null,oe=!1;ee("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),
0);ee("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1);ee(ik,2);(function(a,b){for(var c=0;c<a.length;c++)fe.set(a[c],b)})("change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),0);gb("onMouseEnter",["mouseout","mouseover"]);
gb("onMouseLeave",["mouseout","mouseover"]);gb("onPointerEnter",["pointerout","pointerover"]);gb("onPointerLeave",["pointerout","pointerover"]);Ta("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Ta("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Ta("onBeforeInput",["compositionend","keypress","textInput","paste"]);Ta("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));
Ta("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Ta("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var pc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Eg=new Set("cancel close invalid load scroll toggle".split(" ").concat(pc)),
Dg="_reactListening"+Math.random().toString(36).slice(2),lf=null,mf=null,$h="function"===typeof setTimeout?setTimeout:void 0,Kj="function"===typeof clearTimeout?clearTimeout:void 0,yf=0,Dd=Math.random().toString(36).slice(2),Fa="__reactFiber$"+Dd,Wc="__reactProps$"+Dd,rb="__reactContainer$"+Dd,Rg="__reactEvents$"+Dd,ve=[],ub=-1,Ha={},D=Ga(Ha),J=Ga(!1),Ya=Ha,$e=null,db=null,pj=ae,we=$f,xe=ck,oj=ek,Yc=fk,Vg=ji,Wg=ag,Xg=gk,Yg=hk,hf={},Oj=dk,Sj=void 0!==ii?ii:function(){},pa=null,Zc=null,ye=!1,ki=Bd(),
P=1E4>ki?Bd:function(){return Bd()-ki},Gj=fb.ReactCurrentBatchConfig,bd=Ga(null),ad=null,xb=null,$c=null,Ka=!1,hh=(new ha.Component).refs,dd={isMounted:function(a){return(a=a._reactInternals)?Va(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=W(),e=Oa(a),f=Ia(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ja(a,f);Pa(a,e,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=W(),e=Oa(a),f=Ia(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ja(a,f);
Pa(a,e,d)},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=W(),d=Oa(a),e=Ia(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);Ja(a,e);Pa(a,d,c)}},gd=Array.isArray,od=ih(!0),xh=ih(!1),fc={},ka=Ga(fc),hc=Ga(fc),gc=Ga(fc),E=Ga(0),ra=null,Na=null,la=!1,Bb=[],jc=fb.ReactCurrentDispatcher,aa=fb.ReactCurrentBatchConfig,ic=0,y=null,N=null,K=null,kd=!1,kc=!1,jd={readContext:Y,useCallback:T,useContext:T,useEffect:T,useImperativeHandle:T,useLayoutEffect:T,useMemo:T,useReducer:T,useRef:T,useState:T,
useDebugValue:T,useDeferredValue:T,useTransition:T,useMutableSource:T,useOpaqueIdentifier:T,unstable_isNewReconciler:!1},qj={readContext:Y,useCallback:function(a,b){ab().memoizedState=[a,void 0===b?null:b];return a},useContext:Y,useEffect:rh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ne(4,2,th.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ne(4,2,a,b)},useMemo:function(a,b){var c=ab();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,
b,c){var d=ab();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Me.bind(null,y,a);return[d.memoizedState,a]},useRef:qh,useState:nc,useDebugValue:Pe,useDeferredValue:function(a){var b=nc(a),c=b[0],d=b[1];rh(function(){var b=aa.transition;aa.transition=1;try{d(a)}finally{aa.transition=b}},[a]);return c},useTransition:function(){var a=nc(!1),b=a[0];a=tj.bind(null,a[1]);qh(a);return[a,b]},useMutableSource:function(a,
b,c){var d=ab();d.memoizedState={refs:{getSnapshot:b,setSnapshot:null},source:a,subscribe:c};return oh(d,a,b,c)},useOpaqueIdentifier:function(){if(la){var a=!1,b=nj(function(){a||(a=!0,c("r:"+(yf++).toString(36)));throw Error(m(355));}),c=nc(b)[1];0===(y.mode&2)&&(y.flags|=516,ld(5,function(){c("r:"+(yf++).toString(36))},void 0,null));return b}b="r:"+(yf++).toString(36);nc(b);return b},unstable_isNewReconciler:!1},rj={readContext:Y,useCallback:vh,useContext:Y,useEffect:nd,useImperativeHandle:uh,useLayoutEffect:sh,
useMemo:wh,useReducer:lc,useRef:md,useState:function(a){return lc(ma)},useDebugValue:Pe,useDeferredValue:function(a){var b=lc(ma),c=b[0],d=b[1];nd(function(){var b=aa.transition;aa.transition=1;try{d(a)}finally{aa.transition=b}},[a]);return c},useTransition:function(){var a=lc(ma)[0];return[md().current,a]},useMutableSource:ph,useOpaqueIdentifier:function(){return lc(ma)[0]},unstable_isNewReconciler:!1},sj={readContext:Y,useCallback:vh,useContext:Y,useEffect:nd,useImperativeHandle:uh,useLayoutEffect:sh,
useMemo:wh,useReducer:mc,useRef:md,useState:function(a){return mc(ma)},useDebugValue:Pe,useDeferredValue:function(a){var b=mc(ma),c=b[0],d=b[1];nd(function(){var b=aa.transition;aa.transition=1;try{d(a)}finally{aa.transition=b}},[a]);return c},useTransition:function(){var a=mc(ma)[0];return[md().current,a]},useMutableSource:ph,useOpaqueIdentifier:function(){return mc(ma)[0]},unstable_isNewReconciler:!1},uj=fb.ReactCurrentOwner,fa=!1,qd={dehydrated:null,retryLane:0};var xj=function(a,b,c,d){for(c=
b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};var Kh=function(a){};var wj=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){a=b.stateNode;$a(ka.current);e=null;switch(c){case "input":f=Md(a,f);d=Md(a,d);e=[];break;case "option":f=Pd(a,f);d=Pd(a,d);e=[];break;case "select":f=
B({},f,{value:void 0});d=B({},d,{value:void 0});e=[];break;case "textarea":f=Qd(a,f);d=Qd(a,d);e=[];break;default:"function"!==typeof f.onClick&&"function"===typeof d.onClick&&(a.onclick=Vc)}Sd(c,d);var g;c=null;for(l in f)if(!d.hasOwnProperty(l)&&f.hasOwnProperty(l)&&null!=f[l])if("style"===l){var h=f[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]="")}else"dangerouslySetInnerHTML"!==l&&"children"!==l&&"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(Ib.hasOwnProperty(l)?
e||(e=[]):(e=e||[]).push(l,null));for(l in d){var k=d[l];h=null!=f?f[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if("style"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]="");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(e||(e=[]),e.push(l,c)),c=k;else"dangerouslySetInnerHTML"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(e=e||[]).push(l,k)):"children"===l?"string"!==typeof k&&"number"!==typeof k||(e=
e||[]).push(l,""+k):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&(Ib.hasOwnProperty(l)?(null!=k&&"onScroll"===l&&z("scroll",a),e||h===k||(e=[])):"object"===typeof k&&null!==k&&k.$$typeof===ue?k.toString():(e=e||[]).push(l,k))}c&&(e=e||[]).push("style",c);var l=e;if(b.updateQueue=l)b.flags|=4}};var yj=function(a,b,c,d){c!==d&&(b.flags|=4)};var Lj="function"===typeof WeakMap?WeakMap:Map,Dj="function"===typeof WeakSet?WeakSet:Set,Ij=Math.ceil,vd=fb.ReactCurrentDispatcher,kf=
fb.ReactCurrentOwner,n=0,R=null,G=null,O=0,ta=0,cb=Ga(0),L=0,wd=null,Fb=0,La=0,Cb=0,jf=0,ef=null,df=0,We=Infinity,l=null,rd=!1,Ze=null,na=null,Sa=!1,tc=null,vc=90,nf=[],of=[],va=null,rc=0,ff=null,sd=-1,ua=0,td=0,uc=null,xd=!1;var Pj=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||J.current)fa=!0;else if(0!==(c&d))fa=0!==(a.flags&16384)?!0:!1;else{fa=!1;switch(b.tag){case 3:Dh(b);Ie();break;case 5:jh(b);break;case 1:S(b.type)&&Xc(b);break;case 4:Fe(b,b.stateNode.containerInfo);
break;case 10:d=b.memoizedProps.value;var e=b.type._context;A(bd,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return Eh(a,b,c);A(E,E.current&1);b=sa(a,b,c);return null!==b?b.sibling:null}A(E,E.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Jh(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);A(E,E.current);if(d)break;else return null;case 23:case 24:return b.lanes=
0,Se(a,b,c)}return sa(a,b,c)}else fa=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=vb(b,D.current);yb(b,c);e=Le(null,b,d,a,e,c);b.flags|=1;if("object"===typeof e&&null!==e&&"function"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(S(d)){var f=!0;Xc(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;Be(b);var g=d.getDerivedStateFromProps;"function"===typeof g&&
cd(b,d,g,a);e.updater=dd;b.stateNode=e;e._reactInternals=b;Ce(b,d,a,c);b=Te(null,b,d,!0,f,c)}else b.tag=0,U(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=Vj(e);a=ea(e,a);switch(f){case 0:b=Re(null,b,e,a,c);break a;case 1:b=Ch(null,b,e,a,c);break a;case 11:b=yh(null,b,e,a,c);break a;case 14:b=zh(null,b,e,ea(e.type,a),d,c);break a}throw Error(m(306,e,""));}return b;case 0:return d=
b.type,e=b.pendingProps,e=b.elementType===d?e:ea(d,e),Re(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ea(d,e),Ch(a,b,d,e,c);case 3:Dh(b);d=b.updateQueue;if(null===a||null===d)throw Error(m(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;bh(a,b);cc(b,d,null,c);d=b.memoizedState.element;if(d===e)Ie(),b=sa(a,b,c);else{e=b.stateNode;if(f=e.hydrate)Na=tb(b.stateNode.containerInfo.firstChild),ra=b,f=la=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=
a)for(e=0;e<a.length;e+=2)f=a[e],f._workInProgressVersionPrimary=a[e+1],Bb.push(f);c=xh(b,null,d,c);for(b.child=c;c;)c.flags=c.flags&-3|1024,c=c.sibling}else U(a,b,d,c),Ie();b=b.child}return b;case 5:return jh(b),null===a&&He(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,se(d,e)?g=null:null!==f&&se(d,f)&&(b.flags|=16),Bh(a,b),U(a,b,g,c),b.child;case 6:return null===a&&He(b),null;case 13:return Eh(a,b,c);case 4:return Fe(b,b.stateNode.containerInfo),d=b.pendingProps,null===
a?b.child=od(b,null,d,c):U(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ea(d,e),yh(a,b,d,e,c);case 7:return U(a,b,b.pendingProps,c),b.child;case 8:return U(a,b,b.pendingProps.children,c),b.child;case 12:return U(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;A(bd,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=X(h,f)?0:("function"===typeof d._calculateChangedBits?
d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!J.current){b=sa(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=Ia(-1,c&-c),l.tag=2,Ja(h,l));h.lanes|=c;l=h.alternate;null!==l&&(l.lanes|=c);ah(h.return,c);k.lanes|=c;break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=
h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}U(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,yb(b,c),e=Y(e,f.unstable_observedBits),d=d(e),b.flags|=1,U(a,b,d,c),b.child;case 14:return e=b.type,f=ea(e,b.pendingProps),f=ea(e.type,f),zh(a,b,e,f,d,c);case 15:return Ah(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ea(d,e),null!==a&&(a.alternate=null,b.alternate=
null,b.flags|=2),b.tag=1,S(d)?(a=!0,Xc(b)):a=!1,yb(b,c),fh(b,d,e),Ce(b,d,e,c),Te(null,b,d,!0,a,c);case 19:return Jh(a,b,c);case 23:return Se(a,b,c);case 24:return Se(a,b,c)}throw Error(m(156,b.tag));};var Z=function(a,b,c,d){return new Uj(a,b,c,d)};tf.prototype.render=function(a){yd(a,this._internalRoot,null,null)};tf.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;yd(null,a,null,function(){b[rb]=null})};var Ei=function(a){if(13===a.tag){var b=W();Pa(a,4,b);sf(a,4)}};var Yf=
function(a){if(13===a.tag){var b=W();Pa(a,67108864,b);sf(a,67108864)}};var Ci=function(a){if(13===a.tag){var b=W(),c=Oa(a);Pa(a,c,b);sf(a,c)}};var Bi=function(a,b){return b()};Vd=function(a,b,c){switch(b){case "input":Nd(a,c);b=c.name;if("radio"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Hc(d);if(!e)throw Error(m(90));Ff(d);Nd(d,e)}}}break;case "textarea":Kf(a,
c);break;case "select":b=c.value,null!=b&&ib(a,!!c.multiple,b,!1)}};(function(a,b,c,d){me=a;fg=b;Xd=c;Sf=d})(ai,function(a,b,c,d,e){var f=n;n|=4;try{return Za(98,a.bind(null,b,c,d,e))}finally{n=f,0===n&&(Eb(),ja())}},function(){0===(n&49)&&(Jj(),Ra())},function(a,b){var c=n;n|=2;try{return a(b)}finally{n=c,0===n&&(Eb(),ja())}});var vk={Events:[Ob,pb,Hc,Qf,Rf,Ra,{current:!1}]};(function(a){a={bundleType:a.bundleType,version:a.version,rendererPackageName:a.rendererPackageName,rendererConfig:a.rendererConfig,
overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:fb.ReactCurrentDispatcher,findHostInstanceByFiber:Yj,findFiberByHostInstance:a.findFiberByHostInstance||Zj,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)a=
!1;else{var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!b.isDisabled&&b.supportsFiber)try{$e=b.inject(a),db=b}catch(c){}a=!0}return a})({findFiberByHostInstance:Wa,bundleType:0,version:"17.0.1",rendererPackageName:"react-dom"});M.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vk;M.createPortal=hi;M.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if("function"===typeof a.render)throw Error(m(188));throw Error(m(268,Object.keys(a)));
}a=Vf(b);a=null===a?null:a.stateNode;return a};M.flushSync=function(a,b){var c=n;if(0!==(c&48))return a(b);n|=1;try{if(a)return Za(99,a.bind(null,b))}finally{n=c,ja()}};M.hydrate=function(a,b,c){if(!wc(b))throw Error(m(200));return zd(null,a,b,!0,c)};M.render=function(a,b,c){if(!wc(b))throw Error(m(200));return zd(null,a,b,!1,c)};M.unmountComponentAtNode=function(a){if(!wc(a))throw Error(m(40));return a._reactRootContainer?(bi(function(){zd(null,null,a,!1,function(){a._reactRootContainer=null;a[rb]=
null})}),!0):!1};M.unstable_batchedUpdates=ai;M.unstable_createPortal=function(a,b){return hi(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};M.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!wc(c))throw Error(m(200));if(null==a||void 0===a._reactInternals)throw Error(m(38));return zd(a,b,c,!1,d)};M.version="17.0.1"});
})();PK�^�\�K ��.litespeed-cache/assets/js/component.crawler.jsnu�[���/**
 * Crawler simulation module
 * @author Hai Zheng
 */
class CrawlerSimulate extends React.Component {
	constructor(props) {
		super(props);
		this.state = {
			list: props.list,
		};

		this.handleInputChange = this.handleInputChange.bind(this);
		this.delRow = this.delRow.bind(this);
		this.addNew = this.addNew.bind(this);
	}

	handleInputChange(e, index) {
		const target = e.target;
		const value = target.type === 'checkbox' ? target.checked : target.value;
		const list = this.state.list;
		list[index][target.dataset.type] = value;

		this.setState({
			list: list,
		});
	}

	delRow(index) {
		const data = this.state.list;
		data.splice(index, 1);
		this.setState({ list: data });
	}

	addNew() {
		const list = this.state.list;
		list.push({ name: '', vals: '' });
		this.setState({ list: list });
	}

	render() {
		return (
			<React.Fragment>
				{this.state.list.map((item, i) => (
					<SimulationBlock item={item} key={i} index={i} handleInputChange={this.handleInputChange} delRow={this.delRow} />
				))}

				<p>
					<button type="button" className="button button-link litespeed-form-action litespeed-link-with-icon" onClick={this.addNew}>
						<span className="dashicons dashicons-plus-alt"></span>
						{litespeed_data['lang']['add_cookie_simulation_row']}
					</button>
				</p>
			</React.Fragment>
		);
	}
}

// { name: '', vals: '' }
class SimulationBlock extends React.Component {
	constructor(props) {
		super(props);

		this.handleInputChange = this.handleInputChange.bind(this);
		this.delRow = this.delRow.bind(this);
	}

	handleInputChange(e) {
		this.props.handleInputChange(e, this.props.index);
	}

	delRow() {
		this.props.delRow(this.props.index);
	}

	render() {
		const item = this.props.item;
		return (
			<div className="litespeed-block">
				<div className="litespeed-col-auto">
					<label className="litespeed-form-label">{litespeed_data['lang']['cookie_name']}</label>
					<input
						type="text"
						name={litespeed_data['ids']['crawler_cookies'] + '[name][]'}
						className="regular-text"
						value={item.name}
						data-type="name"
						onChange={this.handleInputChange}
					/>
				</div>
				<div className="litespeed-col-auto">
					<label className="litespeed-form-label">{litespeed_data['lang']['cookie_values']}</label>
					<textarea
						rows="5"
						cols="40"
						name={litespeed_data['ids']['crawler_cookies'] + '[vals][]'}
						placeholder={litespeed_data['lang']['one_per_line']}
						value={Array.isArray(item.vals) ? item.vals.join('\n') : item.vals}
						data-type="vals"
						onChange={this.handleInputChange}
					/>
				</div>
				<div className="litespeed-col-auto">
					<button type="button" className="button button-link litespeed-collection-button litespeed-danger" onClick={this.delRow}>
						<span className="dashicons dashicons-dismiss"></span>
						<span className="screen-reader-text">{litespeed_data['lang']['remove_cookie_simulation']}</span>
					</button>
				</div>
			</div>
		);
	}
}
PK�^�\��qXX*litespeed-cache/assets/js/component.cdn.jsnu�[���/**
 * CDN module
 * @author Hai Zheng
 */
class CDNMapping extends React.Component {
	constructor(props) {
		super(props);
		this.state = {
			list: props.list,
		};

		this.onChange = this.onChange.bind(this);
		this.delRow = this.delRow.bind(this);
		this.addNew = this.addNew.bind(this);
	}

	onChange(e, index) {
		const target = e.currentTarget;
		const value = target.dataset.hasOwnProperty('value') ? Boolean(target.dataset.value * 1) : target.value;
		const list = this.state.list;
		list[index][target.dataset.type] = value;

		this.setState({
			list: list,
		});
	}

	delRow(index) {
		const data = this.state.list;
		data.splice(index, 1);
		this.setState({ list: data });
	}

	addNew() {
		const list = this.state.list;
		list.push({ url: '' });
		this.setState({ list: list });
	}

	render() {
		return (
			<React.Fragment>
				{this.state.list.map((item, i) => (
					<CDNMappingBlock item={item} key={i} index={i} onChange={this.onChange} delRow={this.delRow} />
				))}

				<p>
					<button type="button" className="button button-link litespeed-form-action litespeed-link-with-icon" onClick={this.addNew}>
						<span className="dashicons dashicons-plus-alt"></span>
						{litespeed_data['lang']['add_cdn_mapping_row']}
					</button>
				</p>
			</React.Fragment>
		);
	}
}

// { url: '', inc_img: true, inc_css: false, inc_js: false, filetype: [ '.aac', '.eot', ... ] }
class CDNMappingBlock extends React.Component {
	constructor(props) {
		super(props);

		this.onChange = this.onChange.bind(this);
		this.delRow = this.delRow.bind(this);
	}

	onChange(e) {
		this.props.onChange(e, this.props.index);
	}

	delRow() {
		this.props.delRow(this.props.index);
	}

	render() {
		const name_prefix = litespeed_data['ids']['cdn_mapping'];

		const item = this.props.item;

		const filetype = item.filetype ? (Array.isArray(item.filetype) ? item.filetype.join('\n') : item.filetype) : '';
		return (
			<div className="litespeed-block">
				<div className="litespeed-cdn-mapping-col1">
					<label className="litespeed-form-label">{litespeed_data['lang']['cdn_mapping_url']}</label>
					<input
						type="text"
						name={name_prefix + '[url][]'}
						className="regular-text litespeed-input-long"
						value={item.url ? item.url : ''}
						data-type="url"
						onChange={this.onChange}
					/>

					<div className="litespeed-desc">
						<span dangerouslySetInnerHTML={{ __html: litespeed_data['lang']['cdn_mapping_url_desc'] }} />
					</div>
				</div>

				<div className="litespeed-col-auto litespeed-cdn-mapping-col2">
					<div className="litespeed-row litespeed-toggle-wrapper">
						<div className="litespeed-cdn-mapping-inc litespeed-form-label litespeed-form-label--toggle">{litespeed_data['lang']['cdn_mapping_inc_img']}</div>
						<div
							className={`litespeed-toggle litespeed-toggle-btn litespeed-toggle-btn-${item.inc_img ? 'primary' : 'default litespeed-toggleoff'}`}
							data-type="inc_img"
							data-value={item.inc_img ? 0 : 1}
							onClick={this.onChange}
						>
							<input name={name_prefix + '[inc_img][]'} type="hidden" value={item.inc_img ? 1 : 0} />
							<div className="litespeed-toggle-group">
								<label className="litespeed-toggle-btn litespeed-toggle-btn-primary litespeed-toggle-on">{litespeed_data['lang']['on']}</label>
								<label className="litespeed-toggle-btn litespeed-toggle-btn-default litespeed-toggle-active litespeed-toggle-off">
									{litespeed_data['lang']['off']}
								</label>
								<span className="litespeed-toggle-handle litespeed-toggle-btn litespeed-toggle-btn-default"></span>
							</div>
						</div>
					</div>
					<div className="litespeed-row litespeed-toggle-wrapper">
						<div className="litespeed-cdn-mapping-inc litespeed-form-label litespeed-form-label--toggle">{litespeed_data['lang']['cdn_mapping_inc_css']}</div>
						<div
							className={`litespeed-toggle litespeed-toggle-btn litespeed-toggle-btn-${item.inc_css ? 'primary' : 'default litespeed-toggleoff'}`}
							data-type="inc_css"
							data-value={item.inc_css ? 0 : 1}
							onClick={this.onChange}
						>
							<input name={name_prefix + '[inc_css][]'} type="hidden" value={item.inc_css ? 1 : 0} />
							<div className="litespeed-toggle-group">
								<label className="litespeed-toggle-btn litespeed-toggle-btn-primary litespeed-toggle-on">{litespeed_data['lang']['on']}</label>
								<label className="litespeed-toggle-btn litespeed-toggle-btn-default litespeed-toggle-active litespeed-toggle-off">
									{litespeed_data['lang']['off']}
								</label>
								<span className="litespeed-toggle-handle litespeed-toggle-btn litespeed-toggle-btn-default"></span>
							</div>
						</div>
					</div>
					<div className="litespeed-row litespeed-toggle-wrapper">
						<div className="litespeed-cdn-mapping-inc litespeed-form-label litespeed-form-label--toggle">{litespeed_data['lang']['cdn_mapping_inc_js']}</div>
						<div
							className={`litespeed-toggle litespeed-toggle-btn litespeed-toggle-btn-${item.inc_js ? 'primary' : 'default litespeed-toggleoff'}`}
							data-type="inc_js"
							data-value={item.inc_js ? 0 : 1}
							onClick={this.onChange}
						>
							<input name={name_prefix + '[inc_js][]'} type="hidden" value={item.inc_js ? 1 : 0} />
							<div className="litespeed-toggle-group">
								<label className="litespeed-toggle-btn litespeed-toggle-btn-primary litespeed-toggle-on">{litespeed_data['lang']['on']}</label>
								<label className="litespeed-toggle-btn litespeed-toggle-btn-default litespeed-toggle-active litespeed-toggle-off">
									{litespeed_data['lang']['off']}
								</label>
								<span className="litespeed-toggle-handle litespeed-toggle-btn litespeed-toggle-btn-default"></span>
							</div>
						</div>
					</div>
				</div>

				<div className="litespeed-col-auto">
					<label className="litespeed-form-label">{litespeed_data['lang']['cdn_mapping_filetype']}</label>
					<textarea name={name_prefix + '[filetype][]'} rows={filetype.split('\n').length + 2} cols="18" value={filetype} data-type="filetype" onChange={this.onChange} />
				</div>

				<div className="litespeed-col-auto">
					<button type="button" className="button button-link litespeed-collection-button litespeed-danger" onClick={this.delRow}>
						<span className="dashicons dashicons-dismiss"></span>
						<span className="screen-reader-text">{litespeed_data['lang']['cdn_mapping_remove']}</span>
					</button>
				</div>
			</div>
		);
	}
}
PK�^�\-I�_�c�c)litespeed-cache/assets/js/lazyload.lib.jsnu�[���(function (global, factory) {
	typeof exports === 'object' && typeof module !== 'undefined'
		? (module.exports = factory())
		: typeof define === 'function' && define.amd
		? define(factory)
		: ((global = typeof globalThis !== 'undefined' ? globalThis : global || self), (global.LazyLoad = factory()));
})(this, function () {
	'use strict';

	function _extends() {
		_extends =
			Object.assign ||
			function (target) {
				for (var i = 1; i < arguments.length; i++) {
					var source = arguments[i];

					for (var key in source) {
						if (Object.prototype.hasOwnProperty.call(source, key)) {
							target[key] = source[key];
						}
					}
				}

				return target;
			};

		return _extends.apply(this, arguments);
	}

	var runningOnBrowser = typeof window !== 'undefined';
	var isBot = (runningOnBrowser && !('onscroll' in window)) || (typeof navigator !== 'undefined' && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent));
	var supportsIntersectionObserver = runningOnBrowser && 'IntersectionObserver' in window;
	var supportsClassList = runningOnBrowser && 'classList' in document.createElement('p');
	var isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;

	var defaultSettings = {
		elements_selector: '.lazy',
		container: isBot || runningOnBrowser ? document : null,
		threshold: 300,
		thresholds: null,
		data_src: 'src',
		data_srcset: 'srcset',
		data_sizes: 'sizes',
		data_bg: 'bg',
		data_bg_hidpi: 'bg-hidpi',
		data_bg_multi: 'bg-multi',
		data_bg_multi_hidpi: 'bg-multi-hidpi',
		data_poster: 'poster',
		class_applied: 'applied',
		class_loading: 'litespeed-loading',
		class_loaded: 'litespeed-loaded', // https://docs.litespeedtech.com/lscache/lscwp/pageopt/#lazy-load-images
		class_error: 'error',
		class_entered: 'entered',
		class_exited: 'exited',
		unobserve_completed: true,
		unobserve_entered: false,
		cancel_on_exit: true,
		callback_enter: null,
		callback_exit: null,
		callback_applied: null,
		callback_loading: null,
		callback_loaded: null,
		callback_error: null,
		callback_finish: null,
		callback_cancel: null,
		use_native: false,
	};
	var getExtendedSettings = function getExtendedSettings(customSettings) {
		return _extends({}, defaultSettings, customSettings);
	};

	/* Creates instance and notifies it through the window element */
	var createInstance = function createInstance(classObj, options) {
		var event;
		var eventString = 'LazyLoad::Initialized';
		var instance = new classObj(options);

		try {
			// Works in modern browsers
			event = new CustomEvent(eventString, {
				detail: {
					instance: instance,
				},
			});
		} catch (err) {
			// Works in Internet Explorer (all versions)
			event = document.createEvent('CustomEvent');
			event.initCustomEvent(eventString, false, false, {
				instance: instance,
			});
		}

		window.dispatchEvent(event);
	};
	/* Auto initialization of one or more instances of lazyload, depending on the
      options passed in (plain object or an array) */

	var autoInitialize = function autoInitialize(classObj, options) {
		if (!options) {
			return;
		}

		if (!options.length) {
			// Plain object
			createInstance(classObj, options);
		} else {
			// Array of objects
			for (var i = 0, optionsItem; (optionsItem = options[i]); i += 1) {
				createInstance(classObj, optionsItem);
			}
		}
	};

	var SRC = 'src';
	var SRCSET = 'srcset';
	var SIZES = 'sizes';
	var POSTER = 'poster';
	var ORIGINALS = 'llOriginalAttrs';

	var statusLoading = 'loading';
	var statusLoaded = 'loaded';
	var statusApplied = 'applied';
	var statusEntered = 'entered';
	var statusError = 'error';
	var statusNative = 'native';

	var dataPrefix = 'data-';
	var statusDataName = 'll-status';
	var getData = function getData(element, attribute) {
		return element.getAttribute(dataPrefix + attribute);
	};
	var setData = function setData(element, attribute, value) {
		var attrName = dataPrefix + attribute;

		if (value === null) {
			element.removeAttribute(attrName);
			return;
		}

		element.setAttribute(attrName, value);
	};
	var getStatus = function getStatus(element) {
		return getData(element, statusDataName);
	};
	var setStatus = function setStatus(element, status) {
		return setData(element, statusDataName, status);
	};
	var resetStatus = function resetStatus(element) {
		return setStatus(element, null);
	};
	var hasEmptyStatus = function hasEmptyStatus(element) {
		return getStatus(element) === null;
	};
	var hasStatusLoading = function hasStatusLoading(element) {
		return getStatus(element) === statusLoading;
	};
	var hasStatusError = function hasStatusError(element) {
		return getStatus(element) === statusError;
	};
	var hasStatusNative = function hasStatusNative(element) {
		return getStatus(element) === statusNative;
	};
	var statusesAfterLoading = [statusLoading, statusLoaded, statusApplied, statusError];
	var hadStartedLoading = function hadStartedLoading(element) {
		return statusesAfterLoading.indexOf(getStatus(element)) >= 0;
	};

	var safeCallback = function safeCallback(callback, arg1, arg2, arg3) {
		if (!callback) {
			return;
		}

		if (arg3 !== undefined) {
			callback(arg1, arg2, arg3);
			return;
		}

		if (arg2 !== undefined) {
			callback(arg1, arg2);
			return;
		}

		callback(arg1);
	};

	var addClass = function addClass(element, className) {
		if (supportsClassList) {
			element.classList.add(className);
			return;
		}

		element.className += (element.className ? ' ' : '') + className;
	};
	var removeClass = function removeClass(element, className) {
		if (supportsClassList) {
			element.classList.remove(className);
			return;
		}

		element.className = element.className
			.replace(new RegExp('(^|\\s+)' + className + '(\\s+|$)'), ' ')
			.replace(/^\s+/, '')
			.replace(/\s+$/, '');
	};

	var addTempImage = function addTempImage(element) {
		element.llTempImage = document.createElement('IMG');
	};
	var deleteTempImage = function deleteTempImage(element) {
		delete element.llTempImage;
	};
	var getTempImage = function getTempImage(element) {
		return element.llTempImage;
	};

	var unobserve = function unobserve(element, instance) {
		if (!instance) return;
		var observer = instance._observer;
		if (!observer) return;
		observer.unobserve(element);
	};
	var resetObserver = function resetObserver(observer) {
		observer.disconnect();
	};
	var unobserveEntered = function unobserveEntered(element, settings, instance) {
		if (settings.unobserve_entered) unobserve(element, instance);
	};

	var updateLoadingCount = function updateLoadingCount(instance, delta) {
		if (!instance) return;
		instance.loadingCount += delta;
	};
	var decreaseToLoadCount = function decreaseToLoadCount(instance) {
		if (!instance) return;
		instance.toLoadCount -= 1;
	};
	var setToLoadCount = function setToLoadCount(instance, value) {
		if (!instance) return;
		instance.toLoadCount = value;
	};
	var isSomethingLoading = function isSomethingLoading(instance) {
		return instance.loadingCount > 0;
	};
	var haveElementsToLoad = function haveElementsToLoad(instance) {
		return instance.toLoadCount > 0;
	};

	var getSourceTags = function getSourceTags(parentTag) {
		var sourceTags = [];

		for (var i = 0, childTag; (childTag = parentTag.children[i]); i += 1) {
			if (childTag.tagName === 'SOURCE') {
				sourceTags.push(childTag);
			}
		}

		return sourceTags;
	};

	var forEachPictureSource = function forEachPictureSource(element, fn) {
		var parent = element.parentNode;

		if (!parent || parent.tagName !== 'PICTURE') {
			return;
		}

		var sourceTags = getSourceTags(parent);
		sourceTags.forEach(fn);
	};
	var forEachVideoSource = function forEachVideoSource(element, fn) {
		var sourceTags = getSourceTags(element);
		sourceTags.forEach(fn);
	};

	var attrsSrc = [SRC];
	var attrsSrcPoster = [SRC, POSTER];
	var attrsSrcSrcsetSizes = [SRC, SRCSET, SIZES];
	var hasOriginalAttrs = function hasOriginalAttrs(element) {
		return !!element[ORIGINALS];
	};
	var getOriginalAttrs = function getOriginalAttrs(element) {
		return element[ORIGINALS];
	};
	var deleteOriginalAttrs = function deleteOriginalAttrs(element) {
		return delete element[ORIGINALS];
	}; // ## SAVE ##

	var setOriginalsObject = function setOriginalsObject(element, attributes) {
		if (hasOriginalAttrs(element)) {
			return;
		}

		var originals = {};
		attributes.forEach(function (attribute) {
			originals[attribute] = element.getAttribute(attribute);
		});
		element[ORIGINALS] = originals;
	};
	var saveOriginalBackgroundStyle = function saveOriginalBackgroundStyle(element) {
		if (hasOriginalAttrs(element)) {
			return;
		}

		element[ORIGINALS] = {
			backgroundImage: element.style.backgroundImage,
		};
	}; // ## RESTORE ##

	var setOrResetAttribute = function setOrResetAttribute(element, attrName, value) {
		if (!value) {
			element.removeAttribute(attrName);
			return;
		}

		element.setAttribute(attrName, value);
	};

	var restoreOriginalAttrs = function restoreOriginalAttrs(element, attributes) {
		if (!hasOriginalAttrs(element)) {
			return;
		}

		var originals = getOriginalAttrs(element);
		attributes.forEach(function (attribute) {
			setOrResetAttribute(element, attribute, originals[attribute]);
		});
	};
	var restoreOriginalBgImage = function restoreOriginalBgImage(element) {
		if (!hasOriginalAttrs(element)) {
			return;
		}

		var originals = getOriginalAttrs(element);
		element.style.backgroundImage = originals.backgroundImage;
	};

	var manageApplied = function manageApplied(element, settings, instance) {
		addClass(element, settings.class_applied);
		setStatus(element, statusApplied); // Instance is not provided when loading is called from static class

		if (!instance) return;

		if (settings.unobserve_completed) {
			// Unobserve now because we can't do it on load
			unobserve(element, settings);
		}

		safeCallback(settings.callback_applied, element, instance);
	};
	var manageLoading = function manageLoading(element, settings, instance) {
		addClass(element, settings.class_loading);
		setStatus(element, statusLoading); // Instance is not provided when loading is called from static class

		if (!instance) return;
		updateLoadingCount(instance, +1);
		safeCallback(settings.callback_loading, element, instance);
	};
	var setAttributeIfValue = function setAttributeIfValue(element, attrName, value) {
		if (!value) {
			return;
		}

		element.setAttribute(attrName, value);
	};
	var setImageAttributes = function setImageAttributes(element, settings) {
		setAttributeIfValue(element, SIZES, getData(element, settings.data_sizes));
		setAttributeIfValue(element, SRCSET, getData(element, settings.data_srcset));
		setAttributeIfValue(element, SRC, getData(element, settings.data_src));
	};
	var setSourcesImg = function setSourcesImg(imgEl, settings) {
		forEachPictureSource(imgEl, function (sourceTag) {
			setOriginalsObject(sourceTag, attrsSrcSrcsetSizes);
			setImageAttributes(sourceTag, settings);
		});
		setOriginalsObject(imgEl, attrsSrcSrcsetSizes);
		setImageAttributes(imgEl, settings);
	};
	var setSourcesIframe = function setSourcesIframe(iframe, settings) {
		setOriginalsObject(iframe, attrsSrc);
		setAttributeIfValue(iframe, SRC, getData(iframe, settings.data_src));
	};
	var setSourcesVideo = function setSourcesVideo(videoEl, settings) {
		forEachVideoSource(videoEl, function (sourceEl) {
			setOriginalsObject(sourceEl, attrsSrc);
			setAttributeIfValue(sourceEl, SRC, getData(sourceEl, settings.data_src));
		});
		setOriginalsObject(videoEl, attrsSrcPoster);
		setAttributeIfValue(videoEl, POSTER, getData(videoEl, settings.data_poster));
		setAttributeIfValue(videoEl, SRC, getData(videoEl, settings.data_src));
		videoEl.load();
	};
	var setBackground = function setBackground(element, settings, instance) {
		var bg1xValue = getData(element, settings.data_bg);
		var bgHiDpiValue = getData(element, settings.data_bg_hidpi);
		var bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;
		if (!bgDataValue) return;
		element.style.backgroundImage = 'url("'.concat(bgDataValue, '")');
		getTempImage(element).setAttribute(SRC, bgDataValue);
		manageLoading(element, settings, instance);
	}; // NOTE: THE TEMP IMAGE TRICK CANNOT BE DONE WITH data-multi-bg
	// BECAUSE INSIDE ITS VALUES MUST BE WRAPPED WITH URL() AND ONE OF THEM
	// COULD BE A GRADIENT BACKGROUND IMAGE

	var setMultiBackground = function setMultiBackground(element, settings, instance) {
		var bg1xValue = getData(element, settings.data_bg_multi);
		var bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);
		var bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;

		if (!bgDataValue) {
			return;
		}

		element.style.backgroundImage = bgDataValue;
		manageApplied(element, settings, instance);
	};
	var setSourcesFunctions = {
		IMG: setSourcesImg,
		IFRAME: setSourcesIframe,
		VIDEO: setSourcesVideo,
	};
	var setSourcesNative = function setSourcesNative(element, settings) {
		var setSourcesFunction = setSourcesFunctions[element.tagName];

		if (!setSourcesFunction) {
			return;
		}

		setSourcesFunction(element, settings);
	};
	var setSources = function setSources(element, settings, instance) {
		var setSourcesFunction = setSourcesFunctions[element.tagName];

		if (!setSourcesFunction) {
			return;
		}

		setSourcesFunction(element, settings);
		manageLoading(element, settings, instance);
	};

	var elementsWithLoadEvent = ['IMG', 'IFRAME', 'VIDEO'];
	var hasLoadEvent = function hasLoadEvent(element) {
		return elementsWithLoadEvent.indexOf(element.tagName) > -1;
	};
	var checkFinish = function checkFinish(settings, instance) {
		if (instance && !isSomethingLoading(instance) && !haveElementsToLoad(instance)) {
			safeCallback(settings.callback_finish, instance);
		}
	};
	var addEventListener = function addEventListener(element, eventName, handler) {
		element.addEventListener(eventName, handler);
		element.llEvLisnrs[eventName] = handler;
	};
	var removeEventListener = function removeEventListener(element, eventName, handler) {
		element.removeEventListener(eventName, handler);
	};
	var hasEventListeners = function hasEventListeners(element) {
		return !!element.llEvLisnrs;
	};
	var addEventListeners = function addEventListeners(element, loadHandler, errorHandler) {
		if (!hasEventListeners(element)) element.llEvLisnrs = {};
		var loadEventName = element.tagName === 'VIDEO' ? 'loadeddata' : 'load';
		addEventListener(element, loadEventName, loadHandler);
		addEventListener(element, 'error', errorHandler);
	};
	var removeEventListeners = function removeEventListeners(element) {
		if (!hasEventListeners(element)) {
			return;
		}

		var eventListeners = element.llEvLisnrs;

		for (var eventName in eventListeners) {
			var handler = eventListeners[eventName];
			removeEventListener(element, eventName, handler);
		}

		delete element.llEvLisnrs;
	};
	var doneHandler = function doneHandler(element, settings, instance) {
		deleteTempImage(element);
		updateLoadingCount(instance, -1);
		decreaseToLoadCount(instance);
		removeClass(element, settings.class_loading);

		if (settings.unobserve_completed) {
			unobserve(element, instance);
		}
	};
	var loadHandler = function loadHandler(event, element, settings, instance) {
		var goingNative = hasStatusNative(element);
		doneHandler(element, settings, instance);
		addClass(element, settings.class_loaded);
		setStatus(element, statusLoaded);
		safeCallback(settings.callback_loaded, element, instance);
		if (!goingNative) checkFinish(settings, instance);
	};
	var errorHandler = function errorHandler(event, element, settings, instance) {
		var goingNative = hasStatusNative(element);
		doneHandler(element, settings, instance);
		addClass(element, settings.class_error);
		setStatus(element, statusError);
		safeCallback(settings.callback_error, element, instance);
		if (!goingNative) checkFinish(settings, instance);
	};
	var addOneShotEventListeners = function addOneShotEventListeners(element, settings, instance) {
		var elementToListenTo = getTempImage(element) || element;

		if (hasEventListeners(elementToListenTo)) {
			// This happens when loading is retried twice
			return;
		}

		var _loadHandler = function _loadHandler(event) {
			loadHandler(event, element, settings, instance);
			removeEventListeners(elementToListenTo);
		};

		var _errorHandler = function _errorHandler(event) {
			errorHandler(event, element, settings, instance);
			removeEventListeners(elementToListenTo);
		};

		addEventListeners(elementToListenTo, _loadHandler, _errorHandler);
	};

	var loadBackground = function loadBackground(element, settings, instance) {
		addTempImage(element);
		addOneShotEventListeners(element, settings, instance);
		saveOriginalBackgroundStyle(element);
		setBackground(element, settings, instance);
		setMultiBackground(element, settings, instance);
	};

	var loadRegular = function loadRegular(element, settings, instance) {
		addOneShotEventListeners(element, settings, instance);
		setSources(element, settings, instance);
	};

	var load = function load(element, settings, instance) {
		if (hasLoadEvent(element)) {
			loadRegular(element, settings, instance);
		} else {
			loadBackground(element, settings, instance);
		}
	};
	var loadNative = function loadNative(element, settings, instance) {
		element.setAttribute('loading', 'lazy');
		addOneShotEventListeners(element, settings, instance);
		setSourcesNative(element, settings);
		setStatus(element, statusNative);
	};

	var removeImageAttributes = function removeImageAttributes(element) {
		element.removeAttribute(SRC);
		element.removeAttribute(SRCSET);
		element.removeAttribute(SIZES);
	};

	var resetSourcesImg = function resetSourcesImg(element) {
		forEachPictureSource(element, function (sourceTag) {
			removeImageAttributes(sourceTag);
		});
		removeImageAttributes(element);
	};

	var restoreImg = function restoreImg(imgEl) {
		forEachPictureSource(imgEl, function (sourceEl) {
			restoreOriginalAttrs(sourceEl, attrsSrcSrcsetSizes);
		});
		restoreOriginalAttrs(imgEl, attrsSrcSrcsetSizes);
	};
	var restoreVideo = function restoreVideo(videoEl) {
		forEachVideoSource(videoEl, function (sourceEl) {
			restoreOriginalAttrs(sourceEl, attrsSrc);
		});
		restoreOriginalAttrs(videoEl, attrsSrcPoster);
		videoEl.load();
	};
	var restoreIframe = function restoreIframe(iframeEl) {
		restoreOriginalAttrs(iframeEl, attrsSrc);
	};
	var restoreFunctions = {
		IMG: restoreImg,
		IFRAME: restoreIframe,
		VIDEO: restoreVideo,
	};

	var restoreAttributes = function restoreAttributes(element) {
		var restoreFunction = restoreFunctions[element.tagName];

		if (!restoreFunction) {
			restoreOriginalBgImage(element);
			return;
		}

		restoreFunction(element);
	};

	var resetClasses = function resetClasses(element, settings) {
		if (hasEmptyStatus(element) || hasStatusNative(element)) {
			return;
		}

		removeClass(element, settings.class_entered);
		removeClass(element, settings.class_exited);
		removeClass(element, settings.class_applied);
		removeClass(element, settings.class_loading);
		removeClass(element, settings.class_loaded);
		removeClass(element, settings.class_error);
	};

	var restore = function restore(element, settings) {
		restoreAttributes(element);
		resetClasses(element, settings);
		resetStatus(element);
		deleteOriginalAttrs(element);
	};

	var cancelLoading = function cancelLoading(element, entry, settings, instance) {
		if (!settings.cancel_on_exit) return;
		if (!hasStatusLoading(element)) return;
		if (element.tagName !== 'IMG') return; //Works only on images

		removeEventListeners(element);
		resetSourcesImg(element);
		restoreImg(element);
		removeClass(element, settings.class_loading);
		updateLoadingCount(instance, -1);
		resetStatus(element);
		safeCallback(settings.callback_cancel, element, entry, instance);
	};

	var onEnter = function onEnter(element, entry, settings, instance) {
		var dontLoad = hadStartedLoading(element);
		/* Save status
    before setting it, to prevent loading it again. Fixes #526. */

		setStatus(element, statusEntered);
		addClass(element, settings.class_entered);
		removeClass(element, settings.class_exited);
		unobserveEntered(element, settings, instance);
		safeCallback(settings.callback_enter, element, entry, instance);
		if (dontLoad) return;
		load(element, settings, instance);
	};
	var onExit = function onExit(element, entry, settings, instance) {
		if (hasEmptyStatus(element)) return; //Ignore the first pass, at landing

		addClass(element, settings.class_exited);
		cancelLoading(element, entry, settings, instance);
		safeCallback(settings.callback_exit, element, entry, instance);
	};

	var tagsWithNativeLazy = ['IMG', 'IFRAME', 'VIDEO'];
	var shouldUseNative = function shouldUseNative(settings) {
		return settings.use_native && 'loading' in HTMLImageElement.prototype;
	};
	var loadAllNative = function loadAllNative(elements, settings, instance) {
		elements.forEach(function (element) {
			if (tagsWithNativeLazy.indexOf(element.tagName) === -1) {
				return;
			}

			loadNative(element, settings, instance);
		});
		setToLoadCount(instance, 0);
	};

	var isIntersecting = function isIntersecting(entry) {
		return entry.isIntersecting || entry.intersectionRatio > 0;
	};

	var getObserverSettings = function getObserverSettings(settings) {
		return {
			root: settings.container === document ? null : settings.container,
			rootMargin: settings.thresholds || settings.threshold + 'px',
		};
	};

	var intersectionHandler = function intersectionHandler(entries, settings, instance) {
		entries.forEach(function (entry) {
			return isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance);
		});
	};

	var observeElements = function observeElements(observer, elements) {
		elements.forEach(function (element) {
			observer.observe(element);
		});
	};
	var updateObserver = function updateObserver(observer, elementsToObserve) {
		resetObserver(observer);
		observeElements(observer, elementsToObserve);
	};
	var setObserver = function setObserver(settings, instance) {
		if (!supportsIntersectionObserver || shouldUseNative(settings)) {
			return;
		}

		instance._observer = new IntersectionObserver(function (entries) {
			intersectionHandler(entries, settings, instance);
		}, getObserverSettings(settings));
	};

	var toArray = function toArray(nodeSet) {
		return Array.prototype.slice.call(nodeSet);
	};
	var queryElements = function queryElements(settings) {
		return settings.container.querySelectorAll(settings.elements_selector);
	};
	var excludeManagedElements = function excludeManagedElements(elements) {
		return toArray(elements).filter(hasEmptyStatus);
	};
	var hasError = function hasError(element) {
		return hasStatusError(element);
	};
	var filterErrorElements = function filterErrorElements(elements) {
		return toArray(elements).filter(hasError);
	};
	var getElementsToLoad = function getElementsToLoad(elements, settings) {
		return excludeManagedElements(elements || queryElements(settings));
	};

	var retryLazyLoad = function retryLazyLoad(settings, instance) {
		var errorElements = filterErrorElements(queryElements(settings));
		errorElements.forEach(function (element) {
			removeClass(element, settings.class_error);
			resetStatus(element);
		});
		instance.update();
	};
	var setOnlineCheck = function setOnlineCheck(settings, instance) {
		if (!runningOnBrowser) {
			return;
		}

		window.addEventListener('online', function () {
			retryLazyLoad(settings, instance);
		});
	};

	var LazyLoad = function LazyLoad(customSettings, elements) {
		var settings = getExtendedSettings(customSettings);
		this._settings = settings;
		this.loadingCount = 0;
		setObserver(settings, this);
		setOnlineCheck(settings, this);
		this.update(elements);
	};

	LazyLoad.prototype = {
		update: function update(givenNodeset) {
			var settings = this._settings;
			var elementsToLoad = getElementsToLoad(givenNodeset, settings);
			setToLoadCount(this, elementsToLoad.length);

			if (isBot || !supportsIntersectionObserver) {
				this.loadAll(elementsToLoad);
				return;
			}

			if (shouldUseNative(settings)) {
				loadAllNative(elementsToLoad, settings, this);
				return;
			}

			updateObserver(this._observer, elementsToLoad);
		},
		destroy: function destroy() {
			// Observer
			if (this._observer) {
				this._observer.disconnect();
			} // Clean custom attributes on elements

			queryElements(this._settings).forEach(function (element) {
				deleteOriginalAttrs(element);
			}); // Delete all internal props

			delete this._observer;
			delete this._settings;
			delete this.loadingCount;
			delete this.toLoadCount;
		},
		loadAll: function loadAll(elements) {
			var _this = this;

			var settings = this._settings;
			var elementsToLoad = getElementsToLoad(elements, settings);
			elementsToLoad.forEach(function (element) {
				unobserve(element, _this);
				load(element, settings, _this);
			});
		},
		restoreAll: function restoreAll() {
			var settings = this._settings;
			queryElements(settings).forEach(function (element) {
				restore(element, settings);
			});
		},
	};

	LazyLoad.load = function (element, customSettings) {
		var settings = getExtendedSettings(customSettings);
		load(element, settings);
	};

	LazyLoad.resetStatus = function (element) {
		resetStatus(element);
	}; // Automatic instances creation if required (useful for async script loading)

	// if (runningOnBrowser) {
	// 	autoInitialize(LazyLoad, window.lazyLoadOptions);
	// }

	return LazyLoad;
});
PK�^�\��,,2litespeed-cache/assets/js/litespeed-cache-admin.jsnu�[���(function ($) {
	'use strict';

	/**
	 * All of the code for your public-facing JavaScript source
	 * should reside in this file.
	 *
	 * Note: It has been assumed you will write jQuery code here, so the
	 * $ function reference has been prepared for usage within the scope
	 * of this function.
	 *
	 * This enables you to define handlers, for when the DOM is ready:
	 *
	 * $(function() {
	 *
	 * }) ;
	 *
	 * When the window is loaded:
	 *
	 * $( window ).load(function() {
	 *
	 * }) ;
	 *
	 * ...and/or other possibilities.
	 *
	 * Ideally, it is not considered best practise to attach more than a
	 * single DOM-ready or window-load handler for a particular page.
	 * Although scripts in the WordPress core, Plugins and Themes may be
	 * practising this, we should strive to set a better example in our own work.
	 */

	jQuery(document).ready(function () {
		/************** Common LiteSpeed JS **************/
		// Link confirm
		$('[data-litespeed-cfm]').on('click', function (event) {
			var cfm_txt = $.trim($(this).data('litespeed-cfm')).replace(/\\n/g, '\n');
			if (cfm_txt === '') {
				return true;
			}
			if (confirm(cfm_txt)) {
				return true;
			}
			event.preventDefault();
			event.stopImmediatePropagation();
			return false;
		});

		/************** LSWCP JS ****************/
		// page tab switch functionality
		(function () {
			var hash = window.location.hash.substr(1);
			var $tabs = $('[data-litespeed-tab]');
			var $subtabs = $('[data-litespeed-subtab]');

			// Handle tab and subtab events
			var tab_action = function ($elems, type) {
				type = litespeed_tab_type(type);
				var data = 'litespeed-' + type;
				$elems.on('click', function (_event) {
					litespeed_display_tab($(this).data(data), type);
					document.cookie = 'litespeed_' + type + '=' + $(this).data(data);
					$(this).blur();
				});
			};
			tab_action($tabs);
			tab_action($subtabs, 'subtab');

			if (!$tabs.length > 0) {
				// No tabs exist
				return;
			}

			// Find hash in tabs and subtabs
			var $hash_tab = $tabs.filter('[data-litespeed-tab="' + hash + '"]:first');
			var $hash_subtab = $subtabs.filter('[data-litespeed-subtab="' + hash + '"]:first');

			// Find tab name
			var $subtab;
			var $tab;
			var tab_name;
			if ($hash_subtab.length > 0) {
				// Hash is a subtab
				$tab = $hash_subtab.closest('[data-litespeed-layout]');
				if ($tab.length > 0) {
					$subtab = $hash_subtab;
					tab_name = $tab.data('litespeed-layout');
				}
			}
			if (typeof $tab === 'undefined' || $tab.length < 1) {
				// Maybe hash is a tab
				$tab = $hash_tab;
				if ($tab.length < 1) {
					// Maybe tab cookie exists
					$tab = litespeed_tab_cookie($tabs);
					if ($tab.length < 1) {
						// Use the first tab by default
						$tab = $tabs.first();
					}
				}
				if (typeof tab_name === 'undefined') {
					tab_name = $tab.data('litespeed-tab');
				}
			}

			// Always display a tab
			litespeed_display_tab(tab_name);

			// Find subtab name
			if (typeof $subtab === 'undefined' || $subtab.length < 1) {
				$subtab = litespeed_tab_cookie($subtabs, 'subtab');
			}
			if ($subtab.length > 0) {
				var subtab_name = $subtab.data('litespeed-subtab');
				// Display a subtab
				litespeed_display_tab(subtab_name, 'subtab');
			}
		})();

		/******************** Clear whm msg ********************/
		$(document).on('click', '.lscwp-whm-notice .notice-dismiss', function () {
			$.get(litespeed_data.ajax_url_dismiss_whm);
		});
		/******************** Clear rule conflict msg ********************/
		$(document).on('click', '.lscwp-notice-ruleconflict .notice-dismiss', function () {
			$.get(litespeed_data.ajax_url_dismiss_ruleconflict);
		});

		/** Accesskey **/
		$('[litespeed-accesskey]').map(function () {
			var thiskey = $(this).attr('litespeed-accesskey');
			if (thiskey == '') {
				return;
			}
			// Append shortcut info to existing title or set default
			var currentTitle = $(this).attr('title');
			if (currentTitle) {
				$(this).attr('title', currentTitle + ' (Shortcut: ' + thiskey.toLocaleUpperCase() + ')');
			} else {
				$(this).attr('title', 'Shortcut : ' + thiskey.toLocaleUpperCase());
			}
			var that = this;
			$(document).on('keydown', function (e) {
				if ($(':input:focus').length) return;
				if (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey) return;

				if (e.key && e.key.toLowerCase() === thiskey.toLowerCase()) {
					$(that)[0].click();
				}
			});
		});

		/** Lets copy one more submit button **/
		if ($('input[name="LSCWP_CTRL"]').length > 0) {
			var btn = $('input.litespeed-duplicate-float');
			btn.clone().addClass('litespeed-float-submit').removeAttr('id').insertAfter(btn);
		}
		if ($('input[id="LSCWP_NONCE"]').length > 0) {
			$('input[id="LSCWP_NONCE"]').removeAttr('id');
		}

		/**
		 * Human readable time conversation
		 * @since  3.0
		 */
		if ($('[data-litespeed-readable]').length > 0) {
			$('[data-litespeed-readable]').each(function (index, el) {
				var that = this;
				var $input = $(this).siblings('input[type="text"]');

				var txt = litespeed_readable_time($input.val());
				$(that).html(txt ? '= ' + txt : '');

				$input.on('keyup', function (event) {
					var txt = litespeed_readable_time($(this).val());
					$(that).html(txt ? '= ' + txt : '');
				});
			});
		}

		/**
		 * Click only once
		 */
		if ($('[data-litespeed-onlyonce]').length > 0) {
			$('[data-litespeed-onlyonce]').on('click', function (e) {
				if ($(this).hasClass('disabled')) {
					e.preventDefault();
				}
				$(this).addClass('disabled');
			});
		}
	});
})(jQuery);

/**
 * Plural handler
 */
function litespeed_plural($num, $txt) {
	if ($num > 1) return $num + ' ' + $txt + 's';

	return $num + ' ' + $txt;
}

/**
 * Convert seconds to readable time
 */
function litespeed_readable_time(seconds) {
	if (seconds < 60) {
		return '';
	}

	var second = Math.floor(seconds % 60);
	var minute = Math.floor((seconds / 60) % 60);
	var hour = Math.floor((seconds / 3600) % 24);
	var day = Math.floor((seconds / 3600 / 24) % 7);
	var week = Math.floor(seconds / 3600 / 24 / 7);

	var str = '';
	if (week) str += ' ' + litespeed_plural(week, 'week');
	if (day) str += ' ' + litespeed_plural(day, 'day');
	if (hour) str += ' ' + litespeed_plural(hour, 'hour');
	if (minute) str += ' ' + litespeed_plural(minute, 'minute');
	if (second) str += ' ' + litespeed_plural(second, 'second');

	return str;
}

/**
 * Normalize specified tab type
 * @since  4.7
 */
function litespeed_tab_type(type) {
	return 'subtab' === type ? type : 'tab';
}

/**
 * Sniff cookies for tab and subtab
 * @since  4.7
 */
function litespeed_tab_cookie($elems, type) {
	type = litespeed_tab_type(type);
	var re = new RegExp('(?:^|.*;)\\s*litespeed_' + type + '\\s*=\\s*([^;]*).*$|^.*$', 'ms');
	var name = document.cookie.replace(re, '$1');
	return $elems.filter('[data-litespeed-' + type + '="' + name + '"]:first');
}

function litespeed_display_tab(name, type) {
	type = litespeed_tab_type(type);
	var $tabs;
	var $layouts;
	var classname;
	var layout_type;
	if ('subtab' === type) {
		classname = 'focus';
		layout_type = 'sublayout';
		$tabs = jQuery('[data-litespeed-subtab="' + name + '"]')
			.siblings('[data-litespeed-subtab]')
			.addBack();
		$layouts = jQuery('[data-litespeed-sublayout="' + name + '"]')
			.siblings('[data-litespeed-sublayout]')
			.addBack();
	} else {
		// Maybe handle subtabs
		var $subtabs = jQuery('[data-litespeed-layout="' + name + '"] [data-litespeed-subtab]');
		if ($subtabs.length > 0) {
			// Find subtab name
			var $subtab = litespeed_tab_cookie($subtabs, 'subtab');
			if ($subtab.length < 1) {
				$subtab = jQuery('[data-litespeed-layout="' + name + '"] [data-litespeed-subtab]:first');
			}
			if ($subtab.length > 0) {
				var subtab_name = $subtab.data('litespeed-subtab');
				// Display a subtab
				litespeed_display_tab(subtab_name, 'subtab');
			}
		}
		classname = 'nav-tab-active';
		layout_type = 'layout';
		$tabs = jQuery('[data-litespeed-tab]');
		$layouts = jQuery('[data-litespeed-layout]');
	}
	$tabs.removeClass(classname);
	$tabs.filter('[data-litespeed-' + type + '="' + name + '"]').addClass(classname);
	$layouts.hide();
	$layouts.filter('[data-litespeed-' + layout_type + '="' + name + '"]').show();
}

function litespeed_copy_to_clipboard(elementId, clickedElement) {
	var range = document.createRange();
	range.selectNode(document.getElementById(elementId));
	window.getSelection().removeAllRanges();
	window.getSelection().addRange(range);
	document.execCommand('copy');
	window.getSelection().removeAllRanges();

	clickedElement.setAttribute('aria-label', 'Copied!');
}

// Dark mode toggle functionality
function litespeed_init_dark_mode() {
	'use strict';

	// Only add toggle on LiteSpeed pages
	if (window.location.search.indexOf('page=litespeed') === -1) return;

	// Create toggle button
	var toggleBtn = document.createElement('button');
	toggleBtn.className = 'litespeed-dark-mode-toggle';
	toggleBtn.setAttribute('title', 'Toggle Dark Mode');
	toggleBtn.setAttribute('aria-label', 'Toggle Dark Mode');
	toggleBtn.setAttribute('litespeed-accesskey', 'z');
	toggleBtn.setAttribute('data-litespeed-noprefix', true);

	function applyDarkMode() {
		var prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
		var savedPreference = localStorage.getItem('litespeed-dark-preference');
		var isDark = savedPreference ? savedPreference === 'dark' : prefersDark;

		// Determine needed class (only when overriding browser preference)
		var needsClass;
		if (savedPreference === 'dark' && !prefersDark) {
			needsClass = 'litespeed-darkmode';
		} else if (savedPreference === 'light' && prefersDark) {
			needsClass = 'litespeed-lightmode';
		}

		// Only update DOM if class needs to change
		if (needsClass) {
			if (!document.body.classList.contains(needsClass)) {
				document.body.classList.remove('litespeed-darkmode', 'litespeed-lightmode');
				document.body.classList.add(needsClass);
			}
		} else {
			if (document.body.classList.contains('litespeed-darkmode') || document.body.classList.contains('litespeed-lightmode')) {
				document.body.classList.remove('litespeed-darkmode', 'litespeed-lightmode');
			}
		}

		// Update button icon
		toggleBtn.innerHTML = isDark ? '☀️' : '🌙';
	}

	// Initialize
	applyDarkMode();

	// Toggle handler
	toggleBtn.addEventListener('click', function() {
		var prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
		var savedPreference = localStorage.getItem('litespeed-dark-preference');
		var currentlyDark = savedPreference ? savedPreference === 'dark' : prefersDark;

		// Toggle and store only if different from browser preference
		if (!currentlyDark === prefersDark) {
			localStorage.removeItem('litespeed-dark-preference');
		} else {
			localStorage.setItem('litespeed-dark-preference', currentlyDark ? 'light' : 'dark');
		}

		applyDarkMode();
	});

	// Listen for system theme changes
	if (window.matchMedia) {
		window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', applyDarkMode);
	}

	// Add to page
	document.body.appendChild(toggleBtn);
}

// Initialize dark mode immediately (outside IIFE, runs without waiting for page ready)
litespeed_init_dark_mode();
PK�^�\�p\�B/B/.litespeed-cache/assets/js/webfontloader.min.jsnu�[���!function(){function e(t,n,i){return t.call.apply(t.bind,arguments)}function o(n,i,t){if(!n)throw Error();if(2<arguments.length){var e=Array.prototype.slice.call(arguments,2);return function(){var t=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(t,e),n.apply(i,t)}}return function(){return n.apply(i,arguments)}}function d(t,n,i){return(d=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?e:o).apply(null,arguments)}var r=Date.now||function(){return+new Date};function n(t,n){this.a=t,this.o=n||t,this.c=this.o.document}var f=!!window.FontFace;function c(t,n,i,e){if(n=t.c.createElement(n),i)for(var o in i)i.hasOwnProperty(o)&&("style"==o?n.style.cssText=i[o]:n.setAttribute(o,i[o]));return e&&n.appendChild(t.c.createTextNode(e)),n}function h(t,n,i){(t=t.c.getElementsByTagName(n)[0])||(t=document.documentElement),t.insertBefore(i,t.lastChild)}function i(t){t.parentNode&&t.parentNode.removeChild(t)}function g(t,n,i){n=n||[],i=i||[];for(var e=t.className.split(/\s+/),o=0;o<n.length;o+=1){for(var a=!1,s=0;s<e.length;s+=1)if(n[o]===e[s]){a=!0;break}a||e.push(n[o])}for(n=[],o=0;o<e.length;o+=1){for(a=!1,s=0;s<i.length;s+=1)if(e[o]===i[s]){a=!0;break}a||n.push(e[o])}t.className=n.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function a(t,n){for(var i=t.className.split(/\s+/),e=0,o=i.length;e<o;e++)if(i[e]==n)return!0;return!1}function l(t,n,i){function e(){s&&o&&(s(a),s=null)}n=c(t,"link",{rel:"stylesheet",href:n,media:"all"});var o=!1,a=null,s=i||null;f?(n.onload=function(){o=!0,e()},n.onerror=function(){o=!0,a=Error("Stylesheet failed to load"),e()}):setTimeout(function(){o=!0,e()},0),h(t,"head",n)}function u(t,n,i,e){var o=t.c.getElementsByTagName("head")[0];if(o){var a=c(t,"script",{src:n}),s=!1;return a.onload=a.onreadystatechange=function(){s||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(s=!0,i&&i(null),a.onload=a.onreadystatechange=null,"HEAD"==a.parentNode.tagName&&o.removeChild(a))},o.appendChild(a),setTimeout(function(){s||(s=!0,i&&i(Error("Script load timeout")))},e||5e3),a}return null}function p(){this.a=0,this.c=null}function v(t){return t.a++,function(){t.a--,s(t)}}function w(t,n){t.c=n,s(t)}function s(t){0==t.a&&t.c&&(t.c(),t.c=null)}function m(t){this.a=t||"-"}function y(t,n){this.c=t,this.f=4,this.a="n";var i=(n||"n4").match(/^([nio])([1-9])$/i);i&&(this.a=i[1],this.f=parseInt(i[2],10))}function b(t){var n=[];t=t.split(/,\s*/);for(var i=0;i<t.length;i++){var e=t[i].replace(/['"]/g,"");-1!=e.indexOf(" ")||/^\d/.test(e)?n.push("'"+e+"'"):n.push(e)}return n.join(",")}function x(t){return t.a+t.f}function j(t){var n="normal";return"o"===t.a?n="oblique":"i"===t.a&&(n="italic"),n}function _(t,n){this.c=t,this.f=t.o.document.documentElement,this.h=n,this.a=new m("-"),this.j=!1!==n.events,this.g=!1!==n.classes}function k(t){if(t.g){var n=a(t.f,t.a.c("wf","active")),i=[],e=[t.a.c("wf","loading")];n||i.push(t.a.c("wf","inactive")),g(t.f,i,e)}T(t,"inactive")}function T(t,n,i){t.j&&t.h[n]&&(i?t.h[n](i.c,x(i)):t.h[n]())}function S(){this.c={}}function C(t,n){this.c=t,this.f=n,this.a=c(this.c,"span",{"aria-hidden":"true"},this.f)}function A(t){h(t.c,"body",t.a)}function N(t){return"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+b(t.c)+";font-style:"+j(t)+";font-weight:"+t.f+"00;"}function E(t,n,i,e,o,a){this.g=t,this.j=n,this.a=e,this.c=i,this.f=o||3e3,this.h=a||void 0}function W(t,n,i,e,o,a,s){this.v=t,this.B=n,this.c=i,this.a=e,this.s=s||"BESbswy",this.f={},this.w=o||3e3,this.u=a||null,this.m=this.j=this.h=this.g=null,this.g=new C(this.c,this.s),this.h=new C(this.c,this.s),this.j=new C(this.c,this.s),this.m=new C(this.c,this.s),t=N(t=new y(this.a.c+",serif",x(this.a))),this.g.a.style.cssText=t,t=N(t=new y(this.a.c+",sans-serif",x(this.a))),this.h.a.style.cssText=t,t=N(t=new y("serif",x(this.a))),this.j.a.style.cssText=t,t=N(t=new y("sans-serif",x(this.a))),this.m.a.style.cssText=t,A(this.g),A(this.h),A(this.j),A(this.m)}m.prototype.c=function(t){for(var n=[],i=0;i<arguments.length;i++)n.push(arguments[i].replace(/[\W_]+/g,"").toLowerCase());return n.join(this.a)},E.prototype.start=function(){var o=this.c.o.document,a=this,s=r(),t=new Promise(function(i,e){!function n(){var t;r()-s>=a.f?e():o.fonts.load((t=a.a,j(t)+" "+t.f+"00 300px "+b(t.c)),a.h).then(function(t){1<=t.length?i():setTimeout(n,25)},function(){e()})}()}),i=null,n=new Promise(function(t,n){i=setTimeout(n,a.f)});Promise.race([n,t]).then(function(){i&&(clearTimeout(i),i=null),a.g(a.a)},function(){a.j(a.a)})};var F={D:"serif",C:"sans-serif"},I=null;function O(){if(null===I){var t=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);I=!!t&&(parseInt(t[1],10)<536||536===parseInt(t[1],10)&&parseInt(t[2],10)<=11)}return I}function P(t,n,i){for(var e in F)if(F.hasOwnProperty(e)&&n===t.f[F[e]]&&i===t.f[F[e]])return!0;return!1}function B(t){var n,i=t.g.a.offsetWidth,e=t.h.a.offsetWidth;(n=i===t.f.serif&&e===t.f["sans-serif"])||(n=O()&&P(t,i,e)),n?r()-t.A>=t.w?O()&&P(t,i,e)&&(null===t.u||t.u.hasOwnProperty(t.a.c))?L(t,t.v):L(t,t.B):setTimeout(d(function(){B(this)},t),50):L(t,t.v)}function L(t,n){setTimeout(d(function(){i(this.g.a),i(this.h.a),i(this.j.a),i(this.m.a),n(this.a)},t),0)}function D(t,n,i){this.c=t,this.a=n,this.f=0,this.m=this.j=!1,this.s=i}W.prototype.start=function(){this.f.serif=this.j.a.offsetWidth,this.f["sans-serif"]=this.m.a.offsetWidth,this.A=r(),B(this)};var $=null;function q(t){0==--t.f&&t.j&&(t.m?((t=t.a).g&&g(t.f,[t.a.c("wf","active")],[t.a.c("wf","loading"),t.a.c("wf","inactive")]),T(t,"active")):k(t.a))}function t(t){this.j=t,this.a=new S,this.h=0,this.f=this.g=!0}function H(t,n){this.c=t,this.a=n}function M(t,n){this.c=t,this.a=n}function z(t,n){this.c=t||"https://fonts.googleapis.com/css",this.a=[],this.f=[],this.g=n||""}D.prototype.g=function(t){var n=this.a;n.g&&g(n.f,[n.a.c("wf",t.c,x(t).toString(),"active")],[n.a.c("wf",t.c,x(t).toString(),"loading"),n.a.c("wf",t.c,x(t).toString(),"inactive")]),T(n,"fontactive",t),this.m=!0,q(this)},D.prototype.h=function(t){var n=this.a;if(n.g){var i=a(n.f,n.a.c("wf",t.c,x(t).toString(),"active")),e=[],o=[n.a.c("wf",t.c,x(t).toString(),"loading")];i||e.push(n.a.c("wf",t.c,x(t).toString(),"inactive")),g(n.f,e,o)}T(n,"fontinactive",t),q(this)},t.prototype.load=function(t){this.c=new n(this.j,t.context||this.j),this.g=!1!==t.events,this.f=!1!==t.classes,function(o,t,n){var i=[],e=n.timeout;a=t,a.g&&g(a.f,[a.a.c("wf","loading")]),T(a,"loading");var a;var i=function(t,n,i){var e,o=[];for(e in n)if(n.hasOwnProperty(e)){var a=t.c[e];a&&o.push(a(n[e],i))}return o}(o.a,n,o.c),s=new D(o.c,t,e);for(o.h=i.length,t=0,n=i.length;t<n;t++)i[t].load(function(t,n,i){var e,c,h,l,u,p;c=s,h=t,l=n,u=i,p=0==--(e=o).h,(e.f||e.g)&&setTimeout(function(){var t=u||null,n=l||{};if(0===h.length&&p)k(c.a);else{c.f+=h.length,p&&(c.j=p);var i,e=[];for(i=0;i<h.length;i++){var o=h[i],a=n[o.c],s=c.a,r=o;if(s.g&&g(s.f,[s.a.c("wf",r.c,x(r).toString(),"loading")]),T(s,"fontloading",r),(s=null)===$)if(window.FontFace){var r=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),f=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);$=r?42<parseInt(r[1],10):!f}else $=!1;s=$?new E(d(c.g,c),d(c.h,c),c.c,o,c.s,a):new W(d(c.g,c),d(c.h,c),c.c,o,c.s,t,a),e.push(s)}for(i=0;i<e.length;i++)e[i].start()}},0)})}(this,new _(this.c,t),t)},H.prototype.load=function(s){var n=this,r=n.a.projectId,t=n.a.version;if(r){var f=n.c.o;u(this.c,(n.a.api||"https://fast.fonts.net/jsapi")+"/"+r+".js"+(t?"?v="+t:""),function(t){t?s([]):(f["__MonotypeConfiguration__"+r]=function(){return n.a},function t(){if(f["__mti_fntLst"+r]){var n,i=f["__mti_fntLst"+r](),e=[];if(i)for(var o=0;o<i.length;o++){var a=i[o].fontfamily;null!=i[o].fontStyle&&null!=i[o].fontWeight?(n=i[o].fontStyle+i[o].fontWeight,e.push(new y(a,n))):e.push(new y(a))}s(e)}else setTimeout(function(){t()},50)}())}).id="__MonotypeAPIScript__"+r}else s([])},M.prototype.load=function(t){var n,i,e=this.a.urls||[],o=this.a.families||[],a=this.a.testStrings||{},s=new p;for(n=0,i=e.length;n<i;n++)l(this.c,e[n],v(s));var r=[];for(n=0,i=o.length;n<i;n++)if((e=o[n].split(":"))[1])for(var f=e[1].split(","),c=0;c<f.length;c+=1)r.push(new y(e[0],f[c]));else r.push(new y(e[0]));w(s,function(){t(r,a)})};function G(t){this.f=t,this.a=[],this.c={}}var K={latin:"BESbswy","latin-ext":"çöüğş",cyrillic:"йяЖ",greek:"αβΣ",khmer:"កខគ",Hanuman:"កខគ"},R={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},U={i:"i",italic:"i",n:"n",normal:"n"},V=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;function X(t,n){this.c=t,this.a=n}var J={Arimo:!0,Cousine:!0,Tinos:!0};function Q(t,n){this.c=t,this.a=n}function Y(t,n){this.c=t,this.f=n,this.a=[]}X.prototype.load=function(t){var n=new p,i=this.c,e=new z(this.a.api,this.a.text),o=this.a.families;!function(t,n){for(var i=n.length,e=0;e<i;e++){var o=n[e].split(":");3==o.length&&t.f.push(o.pop());var a="";2==o.length&&""!=o[1]&&(a=":"),t.a.push(o.join(a))}}(e,o);var a=new G(o);!function(t){for(var n=t.f.length,i=0;i<n;i++){var e=t.f[i].split(":"),o=e[0].replace(/\+/g," "),a=["n4"];if(2<=e.length){var s;if(s=[],r=e[1])for(var r,f=(r=r.split(",")).length,c=0;c<f;c++){var h;if((h=r[c]).match(/^[\w-]+$/))if(null==(u=V.exec(h.toLowerCase())))h="";else{if(h=null==(h=u[2])||""==h?"n":U[h],null==(u=u[1])||""==u)u="4";else var l=R[u],u=l||(isNaN(u)?"4":u.substr(0,1));h=[h,u].join("")}else h="";h&&s.push(h)}0<s.length&&(a=s),3==e.length&&(s=[],0<(e=(e=e[2])?e.split(","):s).length&&(e=K[e[0]])&&(t.c[o]=e))}for(t.c[o]||(e=K[o])&&(t.c[o]=e),e=0;e<a.length;e+=1)t.a.push(new y(o,a[e]))}}(a),l(i,function(t){if(0==t.a.length)throw Error("No fonts to load!");if(-1!=t.c.indexOf("kit="))return t.c;for(var n=t.a.length,i=[],e=0;e<n;e++)i.push(t.a[e].replace(/ /g,"+"));return n=t.c+"?family="+i.join("%7C"),0<t.f.length&&(n+="&subset="+t.f.join(",")),0<t.g.length&&(n+="&text="+encodeURIComponent(t.g)),n}(e),v(n)),w(n,function(){t(a.a,a.c,J)})},Q.prototype.load=function(s){var t=this.a.id,r=this.c.o;t?u(this.c,(this.a.api||"https://use.typekit.net")+"/"+t+".js",function(t){if(t)s([]);else if(r.Typekit&&r.Typekit.config&&r.Typekit.config.fn){t=r.Typekit.config.fn;for(var n=[],i=0;i<t.length;i+=2)for(var e=t[i],o=t[i+1],a=0;a<o.length;a++)n.push(new y(e,o[a]));try{r.Typekit.load({events:!1,classes:!1,async:!0})}catch(t){}s(n)}},2e3):s([])},Y.prototype.load=function(c){var t,n=this.f.id,i=this.c.o,h=this;n?(i.__webfontfontdeckmodule__||(i.__webfontfontdeckmodule__={}),i.__webfontfontdeckmodule__[n]=function(t,n){for(var i=0,e=n.fonts.length;i<e;++i){var o=n.fonts[i];h.a.push(new y(o.name,(a="font-weight:"+o.weight+";font-style:"+o.style,f=r=s=void 0,s=4,r="n",f=null,a&&((f=a.match(/(normal|oblique|italic)/i))&&f[1]&&(r=f[1].substr(0,1).toLowerCase()),(f=a.match(/([1-9]00|normal|bold)/i))&&f[1]&&(/bold/i.test(f[1])?s=7:/[1-9]00/.test(f[1])&&(s=parseInt(f[1].substr(0,1),10)))),r+s)))}var a,s,r,f;c(h.a)},u(this.c,(this.f.api||"https://f.fontdeck.com/s/css/js/")+((t=this.c).o.location.hostname||t.a.location.hostname)+"/"+n+".js",function(t){t&&c([])})):c([])};var Z=new t(window);Z.a.c.custom=function(t,n){return new M(n,t)},Z.a.c.fontdeck=function(t,n){return new Y(n,t)},Z.a.c.monotype=function(t,n){return new H(n,t)},Z.a.c.typekit=function(t,n){return new Q(n,t)},Z.a.c.google=function(t,n){return new X(n,t)};var tt={load:d(Z.load,Z)};"function"==typeof define&&define.amd?define(function(){return tt}):"undefined"!=typeof module&&module.exports?module.exports=tt:(window.WebFont=tt,window.WebFontConfig&&Z.load(window.WebFontConfig))}();PK�^�\	g�AAAA.litespeed-cache/assets/js/instant_click.ori.jsnu�[���/*! instant.page v5.2.0 - (C) 2019-2024 Alexandre Dieulot - https://instant.page/license */

let _chromiumMajorVersionInUserAgent = null
  , _speculationRulesType
  , _allowQueryString
  , _allowExternalLinks
  , _useWhitelist
  , _delayOnHover = 65
  , _lastTouchstartEvent
  , _mouseoverTimer
  , _preloadedList = new Set()

init()

function init() {
  const supportCheckRelList = document.createElement('link').relList
  const isSupported = supportCheckRelList.supports('prefetch')
    && supportCheckRelList.supports('modulepreload')
  // instant.page is meant to be loaded with <script type=module>
  // (though sometimes webmasters load it as a regular script).
  // So it’s normally executed (and must not cause JavaScript errors) in:
  // - Chromium 61+
  // - Gecko in Firefox 60+
  // - WebKit in Safari 10.1+ (iOS 10.3+, macOS 10.10+)
  //
  // The check above used to check for IntersectionObserverEntry.isIntersecting
  // but module scripts support implies this compatibility — except in Safari
  // 10.1–12.0, but this prefetch check takes care of it.
  //
  // The modulepreload check is used to drop support for Firefox < 115 in order
  // to lessen maintenance.
  // This implies Safari 17+ (if it supported prefetch), if we ever support
  // fetch()-based preloading for Safari we might want to OR that check with
  // something that Safari 15.4 or 16.4 supports.
  // Also implies Chromium 66+.

  if (!isSupported) {
    return
  }

  const handleVaryAcceptHeader = 'instantVaryAccept' in document.body.dataset || 'Shopify' in window
  // The `Vary: Accept` header when received in Chromium 79–109 makes prefetches
  // unusable, as Chromium used to send a different `Accept` header.
  // It’s applied on all Shopify sites by default, as Shopify is very popular
  // and is the main source of this problem.
  // `window.Shopify` only exists on “classic” Shopify sites. Those using
  // Hydrogen (Remix SPA) aren’t concerned.

  const chromiumUserAgentIndex = navigator.userAgent.indexOf('Chrome/')
  if (chromiumUserAgentIndex > -1) {
    _chromiumMajorVersionInUserAgent = parseInt(navigator.userAgent.substring(chromiumUserAgentIndex + 'Chrome/'.length))
  }
  // The user agent client hints API is a theoretically more reliable way to
  // get Chromium’s version… but it’s not available in Samsung Internet 20.
  // It also requires a secure context, which would make debugging harder,
  // and is only available in recent Chromium versions.
  // In practice, Chromium browsers never shy from announcing "Chrome" in
  // their regular user agent string, as that maximizes their compatibility.

  if (handleVaryAcceptHeader && _chromiumMajorVersionInUserAgent && _chromiumMajorVersionInUserAgent < 110) {
    return
  }

  _speculationRulesType = 'none'
  if (HTMLScriptElement.supports && HTMLScriptElement.supports('speculationrules')) {
    const speculationRulesConfig = document.body.dataset.instantSpecrules
    if (speculationRulesConfig == 'prerender') {
      _speculationRulesType = 'prerender'
    } else if (speculationRulesConfig != 'no') {
      _speculationRulesType = 'prefetch'
    }
  }

  const useMousedownShortcut = 'instantMousedownShortcut' in document.body.dataset
  _allowQueryString = 'instantAllowQueryString' in document.body.dataset
  _allowExternalLinks = 'instantAllowExternalLinks' in document.body.dataset
  _useWhitelist = 'instantWhitelist' in document.body.dataset

  let preloadOnMousedown = false
  let preloadOnlyOnMousedown = false
  let preloadWhenVisible = false
  if ('instantIntensity' in document.body.dataset) {
    const intensityParameter = document.body.dataset.instantIntensity

    if (intensityParameter == 'mousedown' && !useMousedownShortcut) {
      preloadOnMousedown = true
    }

    if (intensityParameter == 'mousedown-only' && !useMousedownShortcut) {
      preloadOnMousedown = true
      preloadOnlyOnMousedown = true
    }

    if (intensityParameter == 'viewport') {
      const isOnSmallScreen = document.documentElement.clientWidth * document.documentElement.clientHeight < 450000
      // Smartphones are the most likely to have a slow connection, and
      // their small screen size limits the number of links (and thus
      // server load).
      //
      // Foldable phones (being expensive as of 2023), tablets and PCs
      // generally have a decent connection, and a big screen displaying
      // more links that would put more load on the server.
      //
      // iPhone 14 Pro Max (want): 430×932 = 400 760
      // Samsung Galaxy S22 Ultra with display size set to 80% (want):
      // 450×965 = 434 250
      // Small tablet (don’t want): 600×960 = 576 000
      // Those number are virtual screen size, the viewport (used for
      // the check above) will be smaller with the browser’s interface.

      const isNavigatorConnectionSaveDataEnabled = navigator.connection && navigator.connection.saveData
      const isNavigatorConnectionLike2g = navigator.connection && navigator.connection.effectiveType && navigator.connection.effectiveType.includes('2g')
      const isNavigatorConnectionAdequate = !isNavigatorConnectionSaveDataEnabled && !isNavigatorConnectionLike2g

      if (isOnSmallScreen && isNavigatorConnectionAdequate) {
        preloadWhenVisible = true
      }
    }

    if (intensityParameter == 'viewport-all') {
      preloadWhenVisible = true
    }

    const intensityAsInteger = parseInt(intensityParameter)
    if (!isNaN(intensityAsInteger)) {
      _delayOnHover = intensityAsInteger
    }
  }

  const eventListenersOptions = {
    capture: true,
    passive: true,
  }

  if (preloadOnlyOnMousedown) {
    document.addEventListener('touchstart', touchstartEmptyListener, eventListenersOptions)
  }
  else {
    document.addEventListener('touchstart', touchstartListener, eventListenersOptions)
  }

  if (!preloadOnMousedown) {
    document.addEventListener('mouseover', mouseoverListener, eventListenersOptions)
  }

  if (preloadOnMousedown) {
    document.addEventListener('mousedown', mousedownListener, eventListenersOptions)
  }
  if (useMousedownShortcut) {
    document.addEventListener('mousedown', mousedownShortcutListener, eventListenersOptions)
  }

  if (preloadWhenVisible) {
    let requestIdleCallbackOrFallback = window.requestIdleCallback
    // Safari has no support as of 16.3: https://webkit.org/b/164193
    if (!requestIdleCallbackOrFallback) {
      requestIdleCallbackOrFallback = (callback) => {
        callback()
        // A smarter fallback like setTimeout is not used because devices that
        // may eventually be eligible to a Safari version supporting prefetch
        // will be very powerful.
        // The weakest devices that could be eligible are the 2017 iPad and
        // the 2016 MacBook.
      }
    }

    requestIdleCallbackOrFallback(function observeIntersection() {
      const intersectionObserver = new IntersectionObserver((entries) => {
        entries.forEach((entry) => {
          if (entry.isIntersecting) {
            const anchorElement = entry.target
            intersectionObserver.unobserve(anchorElement)
            preload(anchorElement.href)
          }
        })
      })

      document.querySelectorAll('a').forEach((anchorElement) => {
        if (isPreloadable(anchorElement)) {
          intersectionObserver.observe(anchorElement)
        }
      })
    }, {
      timeout: 1500,
    })
  }
}

function touchstartListener(event) {
  _lastTouchstartEvent = event

  const anchorElement = event.target.closest('a')

  if (!isPreloadable(anchorElement)) {
    return
  }

  preload(anchorElement.href, 'high')
}

function touchstartEmptyListener(event) {
  _lastTouchstartEvent = event
}

function mouseoverListener(event) {
  if (isEventLikelyTriggeredByTouch(event)) {
    // This avoids uselessly adding a mouseout event listener and setting a timer.
    return
  }

  if (!('closest' in event.target)) {
    return
    // Without this check sometimes an error “event.target.closest is not a function” is thrown, for unknown reasons
    // That error denotes that `event.target` isn’t undefined. My best guess is that it’s the Document.
    //
    // Details could be gleaned from throwing such an error:
    //throw new TypeError(`instant.page non-element event target: timeStamp=${~~event.timeStamp}, type=${event.type}, typeof=${typeof event.target}, nodeType=${event.target.nodeType}, nodeName=${event.target.nodeName}, viewport=${innerWidth}x${innerHeight}, coords=${event.clientX}x${event.clientY}, scroll=${scrollX}x${scrollY}`)
  }
  const anchorElement = event.target.closest('a')

  if (!isPreloadable(anchorElement)) {
    return
  }

  anchorElement.addEventListener('mouseout', mouseoutListener, {passive: true})

  _mouseoverTimer = setTimeout(() => {
    preload(anchorElement.href, 'high')
    _mouseoverTimer = null
  }, _delayOnHover)
}

function mousedownListener(event) {
  if (isEventLikelyTriggeredByTouch(event)) {
    // When preloading only on mousedown, not touch, we need to stop there
    // because touches send compatibility mouse events including mousedown.
    //
    // (When preloading on touchstart, instructions below this block would
    // have no effect.)
    return
  }

  const anchorElement = event.target.closest('a')

  if (!isPreloadable(anchorElement)) {
    return
  }

  preload(anchorElement.href, 'high')
}

function mouseoutListener(event) {
  if (event.relatedTarget && event.target.closest('a') == event.relatedTarget.closest('a')) {
    return
  }

  if (_mouseoverTimer) {
    clearTimeout(_mouseoverTimer)
    _mouseoverTimer = null
  }
}

function mousedownShortcutListener(event) {
  if (isEventLikelyTriggeredByTouch(event)) {
    // Due to a high potential for complications with this mousedown shortcut
    // combined with other parties’ JavaScript code, we don’t want it to run
    // at all on touch devices, even though mousedown and click are triggered
    // at almost the same time on touch.
    return
  }

  const anchorElement = event.target.closest('a')

  if (event.which > 1 || event.metaKey || event.ctrlKey) {
    return
  }

  if (!anchorElement) {
    return
  }

  anchorElement.addEventListener('click', function (event) {
    if (event.detail == 1337) {
      return
    }

    event.preventDefault()
  }, {capture: true, passive: false, once: true})

  const customEvent = new MouseEvent('click', {view: window, bubbles: true, cancelable: false, detail: 1337})
  anchorElement.dispatchEvent(customEvent)
}

function isEventLikelyTriggeredByTouch(event) {
  // Touch devices fire “mouseover” and “mousedown” (and other) events after
  // a touch for compatibility reasons.
  // This function checks if it’s likely that we’re dealing with such an event.

  if (!_lastTouchstartEvent || !event) {
    return false
  }

  if (event.target != _lastTouchstartEvent.target) {
    return false
  }

  const now = event.timeStamp
  // Chromium (tested Chrome 95 and 122 on Android) sometimes uses the same
  // event.timeStamp value in touchstart, mouseover, and mousedown.
  // Testable in test/extras/delay-not-considered-touch.html
  // This is okay for our purpose: two equivalent timestamps will be less
  // than the max duration, which means they’re related events.
  // TODO: fill/find Chromium bug
  const durationBetweenLastTouchstartAndNow = now - _lastTouchstartEvent.timeStamp

  const MAX_DURATION_TO_BE_CONSIDERED_TRIGGERED_BY_TOUCHSTART = 2500
  // How long after a touchstart event can a simulated mouseover/mousedown event fire?
  // /test/extras/delay-not-considered-touch.html tries to answer that question.
  // I saw up to 1450 ms on an overwhelmed Samsung Galaxy S2.
  // On the other hand, how soon can an unrelated mouseover event happen after an unrelated touchstart?
  // Meaning the user taps a link, then grabs their pointing device and clicks another/the same link.
  // That scenario could occur if a user taps a link, thinks it hasn’t worked, and thus fall back to their pointing device.
  // I do that in about 1200 ms on a Chromebook. In which case this function returns a false positive.
  // False positives are okay, as this function is only used to decide to abort handling mouseover/mousedown/mousedownShortcut.
  // False negatives could lead to unforeseen state, particularly in mousedownShortcutListener.

  return durationBetweenLastTouchstartAndNow < MAX_DURATION_TO_BE_CONSIDERED_TRIGGERED_BY_TOUCHSTART

  // TODO: Investigate if pointer events could be used.
  // https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerType

  // TODO: Investigate if InputDeviceCapabilities could be used to make it
  // less hacky on Chromium browsers.
  // https://developer.mozilla.org/en-US/docs/Web/API/InputDeviceCapabilities_API
  // https://wicg.github.io/input-device-capabilities/
  // Needs careful reading of the spec and tests (notably, what happens with a
  // mouse connected to an Android or iOS smartphone?) to make sure it’s solid.
  // Also need to judge if WebKit could implement it differently, as they
  // don’t mind doing when a spec gives room to interpretation.
  // It seems to work well on Chrome on ChromeOS.

  // TODO: Consider using event screen position as another heuristic.
}

function isPreloadable(anchorElement) {
  if (!anchorElement || !anchorElement.href) {
    return
  }

  if (_useWhitelist && !('instant' in anchorElement.dataset)) {
    return
  }

  if (anchorElement.origin != location.origin) {
    let allowed = _allowExternalLinks || 'instant' in anchorElement.dataset
    if (!allowed || !_chromiumMajorVersionInUserAgent) {
      // Chromium-only: see comment on “restrictive prefetch” and “cross-site speculation rules prefetch”
      return
    }
  }

  if (!['http:', 'https:'].includes(anchorElement.protocol)) {
    return
  }

  if (anchorElement.protocol == 'http:' && location.protocol == 'https:') {
    return
  }

  if (!_allowQueryString && anchorElement.search && !('instant' in anchorElement.dataset)) {
    return
  }

  if (anchorElement.hash && anchorElement.pathname + anchorElement.search == location.pathname + location.search) {
    return
  }

  if ('noInstant' in anchorElement.dataset) {
    return
  }

  return true
}

function preload(url, fetchPriority = 'auto') {
  if (_preloadedList.has(url)) {
    return
  }

  if (_speculationRulesType != 'none') {
    preloadUsingSpeculationRules(url)
  } else {
    preloadUsingLinkElement(url, fetchPriority)
  }

  _preloadedList.add(url)
}

function preloadUsingSpeculationRules(url) {
  const scriptElement = document.createElement('script')
  scriptElement.type = 'speculationrules'

  scriptElement.textContent = JSON.stringify({
    [_speculationRulesType]: [{
      source: 'list',
      urls: [url]
    }]
  })

  // When using speculation rules, cross-site prefetch is supported, but will
  // only work if the user has no cookies for the destination site. The
  // prefetch will not be sent, if the user does have such cookies.

  document.head.appendChild(scriptElement)
}

function preloadUsingLinkElement(url, fetchPriority = 'auto') {
  const linkElement = document.createElement('link')
  linkElement.rel = 'prefetch'
  linkElement.href = url

  linkElement.fetchPriority = fetchPriority
  // By default, a prefetch is loaded with a low priority.
  // When there’s a fair chance that this prefetch is going to be used in the
  // near term (= after a touch/mouse event), giving it a high priority helps
  // make the page load faster in case there are other resources loading.
  // Prioritizing it implicitly means deprioritizing every other resource
  // that’s loading on the page. Due to HTML documents usually being much
  // smaller than other resources (notably images and JavaScript), and
  // prefetches happening once the initial page is sufficiently loaded,
  // this theft of bandwidth should rarely be detrimental.

  linkElement.as = 'document'
  // as=document is Chromium-only and allows cross-origin prefetches to be
  // usable for navigation. They call it “restrictive prefetch” and intend
  // to remove it: https://crbug.com/1352371
  //
  // This document from the Chrome team dated 2022-08-10
  // https://docs.google.com/document/d/1x232KJUIwIf-k08vpNfV85sVCRHkAxldfuIA5KOqi6M
  // claims (I haven’t tested) that data- and battery-saver modes as well as
  // the setting to disable preloading do not disable restrictive prefetch,
  // unlike regular prefetch. That’s good for prefetching on a touch/mouse
  // event, but might be bad when prefetching every link in the viewport.

  document.head.appendChild(linkElement)
}PK�^�\����*litespeed-cache/assets/js/lazyload.init.jsnu�[���/**
 * Lazyload init js
 *
 * @author LiteSpeed
 * @since 1.4
 *
 */

(function (window, document) {
	'use strict';

	var instance;
	var update_lazyload;

	var litespeed_finish_callback = function () {
		document.body.classList.add('litespeed_lazyloaded');
	};

	var init = function () {
		console.log('[LiteSpeed] Start Lazy Load');
		instance = new LazyLoad(
			Object.assign(
				{},
				window.lazyLoadOptions || {},
				{
					elements_selector: '[data-lazyloaded]',
					callback_finish: litespeed_finish_callback,
				},
			)
		);

		update_lazyload = function () {
			instance.update();
		};

		if (window.MutationObserver) {
			new MutationObserver(update_lazyload).observe(document.documentElement, { childList: true, subtree: true, attributes: true });
		}
	};

	window.addEventListener ? window.addEventListener('load', init, false) : window.attachEvent('onload', init);
})(window, document);
PK�^�\_�����"litespeed-cache/assets/js/guest.jsnu�[���var litespeed_vary = document.cookie.replace(/(?:(?:^|.*;\s*)_lscache_vary\s*\=\s*([^;]*).*$)|^.*$/, '$1');
if (!litespeed_vary) {
	// Note: as the vary may be changed in Login Cookie option, even the visitor doesn't have this cookie, it doesn't mean the visitor doesn't have the vary, so still need PHP side to decide if need to set vary or not.
	fetch('litespeed_url', {
		method: 'POST',
		cache: 'no-cache',
		redirect: 'follow',
	})
		.then(response => response.json())
		.then(data => {
			console.log(data);
			if (data.hasOwnProperty('reload') && data.reload == 'yes') {
				// Save doc.ref for organic traffic usage
				sessionStorage.setItem('litespeed_docref', document.referrer);

				window.location.reload(true);
			}
		});
}
PK�^�\{1��)litespeed-cache/assets/js/js_delay.min.jsnu�[���window.litespeed_ui_events=window.litespeed_ui_events||["mouseover","click","keydown","wheel","touchmove","touchstart"];var urlCreator=window.URL||window.webkitURL;function litespeed_load_delayed_js_force(){console.log("[LiteSpeed] Start Load JS Delayed"),litespeed_ui_events.forEach(e=>{window.removeEventListener(e,litespeed_load_delayed_js_force,{passive:!0})}),document.querySelectorAll("iframe[data-litespeed-src]").forEach(e=>{e.setAttribute("src",e.getAttribute("data-litespeed-src"))}),"loading"==document.readyState?window.addEventListener("DOMContentLoaded",litespeed_load_delayed_js):litespeed_load_delayed_js()}litespeed_ui_events.forEach(e=>{window.addEventListener(e,litespeed_load_delayed_js_force,{passive:!0})});async function litespeed_load_delayed_js(){let t=[];for(var d in document.querySelectorAll('script[type="litespeed/javascript"]').forEach(e=>{t.push(e)}),t)await new Promise(e=>litespeed_load_one(t[d],e));document.dispatchEvent(new Event("DOMContentLiteSpeedLoaded")),window.dispatchEvent(new Event("DOMContentLiteSpeedLoaded"))}function litespeed_load_one(t,e){console.log("[LiteSpeed] Load ",t);var d=document.createElement("script");d.addEventListener("load",e),d.addEventListener("error",e),t.getAttributeNames().forEach(e=>{"type"!=e&&d.setAttribute("data-src"==e?"src":e,t.getAttribute(e))});let a=!(d.type="text/javascript");!d.src&&t.textContent&&(d.src=litespeed_inline2src(t.textContent),a=!0),t.after(d),t.remove(),a&&e()}function litespeed_inline2src(t){try{var d=urlCreator.createObjectURL(new Blob([t.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm,"$1")],{type:"text/javascript"}))}catch(e){d="data:text/javascript;base64,"+btoa(t.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm,"$1"))}return d}PK�^�\N'π�f�f)litespeed-cache/assets/js/iziModal.min.jsnu�[���/*
* iziModal | v1.6.0
* https://izimodal.marcelodolza.com/
* by Marcelo Dolce.
*/
!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=function(e,i){return void 0===i&&(i="undefined"!=typeof window?require("jquery"):require("jquery")(e)),t(i),i}:t(jQuery)}(function(t){function e(){var t,e=document.createElement("fakeelement"),i={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"};for(t in i)if(void 0!==e.style[t])return i[t]}function i(t){return 9===t?navigator.appVersion.indexOf("MSIE 9.")!==-1:(userAgent=navigator.userAgent,userAgent.indexOf("MSIE ")>-1||userAgent.indexOf("Trident/")>-1)}function n(t){var e=/%|px|em|cm|vh|vw/;return parseInt(String(t).split(e)[0])}function o(e){var i=e.replace(/^.*#/,""),n=t(e);n.attr("id",i+"-tmp"),window.location.hash=e,n.attr("id",i)}var s=t(window),a=t(document),r="iziModal",l={CLOSING:"closing",CLOSED:"closed",OPENING:"opening",OPENED:"opened",DESTROYED:"destroyed"},d=e(),h=!!/Mobi/.test(navigator.userAgent);window.$iziModal={},window.$iziModal.autoOpen=0,window.$iziModal.history=!1;var c=function(t,e){this.init(t,e)};return c.prototype={constructor:c,init:function(e,i){var n=this;this.$element=t(e),void 0!==this.$element[0].id&&""!==this.$element[0].id?this.id=this.$element[0].id:(this.id=r+Math.floor(1e7*Math.random()+1),this.$element.attr("id",this.id)),this.classes=void 0!==this.$element.attr("class")?this.$element.attr("class"):"",this.content=this.$element.html(),this.state=l.CLOSED,this.options=i,this.width=0,this.timer=null,this.timerTimeout=null,this.progressBar=null,this.isPaused=!1,this.isFullscreen=!1,this.headerHeight=0,this.modalHeight=0,this.$overlay=t('<div class="'+r+'-overlay" style="background-color:'+i.overlayColor+'"></div>'),this.$navigate=t('<div class="'+r+'-navigate"><div class="'+r+'-navigate-caption">Use</div><button class="'+r+'-navigate-prev"></button><button class="'+r+'-navigate-next"></button></div>'),this.group={name:this.$element.attr("data-"+r+"-group"),index:null,ids:[]},this.$element.attr("aria-hidden","true"),this.$element.attr("aria-labelledby",this.id),this.$element.attr("role","dialog"),this.$element.hasClass("iziModal")||this.$element.addClass("iziModal"),void 0===this.group.name&&""!==i.group&&(this.group.name=i.group,this.$element.attr("data-"+r+"-group",i.group)),this.options.loop===!0&&this.$element.attr("data-"+r+"-loop",!0),t.each(this.options,function(t,e){var o=n.$element.attr("data-"+r+"-"+t);try{"undefined"!=typeof o&&(""===o||"true"==o?i[t]=!0:"false"==o?i[t]=!1:"function"==typeof e?i[t]=new Function(o):i[t]=o)}catch(s){}}),i.appendTo!==!1&&this.$element.appendTo(i.appendTo),i.iframe===!0?(this.$element.html('<div class="'+r+'-wrap"><div class="'+r+'-content"><iframe class="'+r+'-iframe"></iframe>'+this.content+"</div></div>"),null!==i.iframeHeight&&this.$element.find("."+r+"-iframe").css("height",i.iframeHeight)):this.$element.html('<div class="'+r+'-wrap"><div class="'+r+'-content">'+this.content+"</div></div>"),null!==this.options.background&&this.$element.css("background",this.options.background),this.$wrap=this.$element.find("."+r+"-wrap"),null===i.zindex||isNaN(parseInt(i.zindex))||(this.$element.css("z-index",i.zindex),this.$navigate.css("z-index",i.zindex-1),this.$overlay.css("z-index",i.zindex-2)),""!==i.radius&&this.$element.css("border-radius",i.radius),""!==i.padding&&this.$element.find("."+r+"-content").css("padding",i.padding),""!==i.theme&&("light"===i.theme?this.$element.addClass(r+"-light"):this.$element.addClass(i.theme)),i.rtl===!0&&this.$element.addClass(r+"-rtl"),i.openFullscreen===!0&&(this.isFullscreen=!0,this.$element.addClass("isFullscreen")),this.createHeader(),this.recalcWidth(),this.recalcVerticalPos(),!n.options.afterRender||"function"!=typeof n.options.afterRender&&"object"!=typeof n.options.afterRender||n.options.afterRender(n)},createHeader:function(){this.$header=t('<div class="'+r+'-header"><h2 class="'+r+'-header-title">'+this.options.title+'</h2><p class="'+r+'-header-subtitle">'+this.options.subtitle+'</p><div class="'+r+'-header-buttons"></div></div>'),this.options.closeButton===!0&&this.$header.find("."+r+"-header-buttons").append('<a href="javascript:void(0)" class="'+r+"-button "+r+'-button-close" data-'+r+"-close></a>"),this.options.fullscreen===!0&&this.$header.find("."+r+"-header-buttons").append('<a href="javascript:void(0)" class="'+r+"-button "+r+'-button-fullscreen" data-'+r+"-fullscreen></a>"),this.options.timeoutProgressbar===!0&&this.$header.prepend('<div class="'+r+'-progressbar"><div style="background-color:'+this.options.timeoutProgressbarColor+'"></div></div>'),""===this.options.subtitle&&this.$header.addClass(r+"-noSubtitle"),""!==this.options.title&&(null!==this.options.headerColor&&(this.options.borderBottom===!0&&this.$element.css("border-bottom","3px solid "+this.options.headerColor),this.$header.css("background",this.options.headerColor)),null===this.options.icon&&null===this.options.iconText||(this.$header.prepend('<i class="'+r+'-header-icon"></i>'),null!==this.options.icon&&this.$header.find("."+r+"-header-icon").addClass(this.options.icon).css("color",this.options.iconColor),null!==this.options.iconText&&this.$header.find("."+r+"-header-icon").html(this.options.iconText)),this.$element.css("overflow","hidden").prepend(this.$header))},setGroup:function(e){var i=this,n=this.group.name||e;if(this.group.ids=[],void 0!==e&&e!==this.group.name&&(n=e,this.group.name=n,this.$element.attr("data-"+r+"-group",n)),void 0!==n&&""!==n){var o=0;t.each(t("."+r+"[data-"+r+"-group="+n+"]"),function(e,n){i.group.ids.push(t(this)[0].id),i.id==t(this)[0].id&&(i.group.index=o),o++})}},toggle:function(){this.state==l.OPENED&&this.close(),this.state==l.CLOSED&&this.open()},startProgress:function(t){var e=this;this.isPaused=!1,clearTimeout(this.timerTimeout),this.options.timeoutProgressbar===!0?(this.progressBar={hideEta:null,maxHideTime:null,currentTime:(new Date).getTime(),el:this.$element.find("."+r+"-progressbar > div"),updateProgress:function(){if(!e.isPaused){e.progressBar.currentTime=e.progressBar.currentTime+10;var t=(e.progressBar.hideEta-e.progressBar.currentTime)/e.progressBar.maxHideTime*100;e.progressBar.el.width(t+"%"),t<0&&e.close()}}},t>0&&(this.progressBar.maxHideTime=parseFloat(t),this.progressBar.hideEta=(new Date).getTime()+this.progressBar.maxHideTime,this.timerTimeout=setInterval(this.progressBar.updateProgress,10))):this.timerTimeout=setTimeout(function(){e.close()},e.options.timeout)},pauseProgress:function(){this.isPaused=!0},resumeProgress:function(){this.isPaused=!1},resetProgress:function(t){clearTimeout(this.timerTimeout),this.progressBar={},this.$element.find("."+r+"-progressbar > div").width("100%")},open:function(e){function i(){s.state=l.OPENED,s.$element.trigger(l.OPENED),!s.options.onOpened||"function"!=typeof s.options.onOpened&&"object"!=typeof s.options.onOpened||s.options.onOpened(s)}function n(){s.$element.off("click","[data-"+r+"-close]").on("click","[data-"+r+"-close]",function(e){e.preventDefault();var i=t(e.currentTarget).attr("data-"+r+"-transitionOut");void 0!==i?s.close({transition:i}):s.close()}),s.$element.off("click","[data-"+r+"-fullscreen]").on("click","[data-"+r+"-fullscreen]",function(t){t.preventDefault(),s.isFullscreen===!0?(s.isFullscreen=!1,s.$element.removeClass("isFullscreen")):(s.isFullscreen=!0,s.$element.addClass("isFullscreen")),s.options.onFullscreen&&"function"==typeof s.options.onFullscreen&&s.options.onFullscreen(s),s.$element.trigger("fullscreen",s)}),s.$navigate.off("click","."+r+"-navigate-next").on("click","."+r+"-navigate-next",function(t){s.next(t)}),s.$element.off("click","[data-"+r+"-next]").on("click","[data-"+r+"-next]",function(t){s.next(t)}),s.$navigate.off("click","."+r+"-navigate-prev").on("click","."+r+"-navigate-prev",function(t){s.prev(t)}),s.$element.off("click","[data-"+r+"-prev]").on("click","[data-"+r+"-prev]",function(t){s.prev(t)})}var s=this;try{void 0!==e&&e.preventClose===!1&&t.each(t("."+r),function(e,i){if(void 0!==t(i).data().iziModal){var n=t(i).iziModal("getState");"opened"!=n&&"opening"!=n||t(i).iziModal("close")}})}catch(c){}if(function(){if(s.options.history){var t=document.title;document.title=t+" - "+s.options.title,o("#"+s.id),document.title=t,window.$iziModal.history=!0}else window.$iziModal.history=!1}(),this.state==l.CLOSED){if(n(),this.setGroup(),this.state=l.OPENING,this.$element.trigger(l.OPENING),this.$element.attr("aria-hidden","false"),this.options.timeoutProgressbar===!0&&this.$element.find("."+r+"-progressbar > div").width("100%"),this.options.iframe===!0){this.$element.find("."+r+"-content").addClass(r+"-content-loader"),this.$element.find("."+r+"-iframe").on("load",function(){t(this).parent().removeClass(r+"-content-loader")});var u=null;try{u=""!==t(e.currentTarget).attr("href")?t(e.currentTarget).attr("href"):null}catch(c){}if(null===this.options.iframeURL||null!==u&&void 0!==u||(u=this.options.iframeURL),null===u||void 0===u)throw new Error("Failed to find iframe URL");this.$element.find("."+r+"-iframe").attr("src",u)}(this.options.bodyOverflow||h)&&(t("html").addClass(r+"-isOverflow"),h&&t("body").css("overflow","hidden")),this.options.onOpening&&"function"==typeof this.options.onOpening&&this.options.onOpening(this),function(){if(s.group.ids.length>1){s.$navigate.appendTo("body"),s.$navigate.addClass("fadeIn"),s.options.navigateCaption===!0&&s.$navigate.find("."+r+"-navigate-caption").show();var n=s.$element.outerWidth();s.options.navigateArrows!==!1?"closeScreenEdge"===s.options.navigateArrows?(s.$navigate.find("."+r+"-navigate-prev").css("left",0).show(),s.$navigate.find("."+r+"-navigate-next").css("right",0).show()):(s.$navigate.find("."+r+"-navigate-prev").css("margin-left",-(n/2+84)).show(),s.$navigate.find("."+r+"-navigate-next").css("margin-right",-(n/2+84)).show()):(s.$navigate.find("."+r+"-navigate-prev").hide(),s.$navigate.find("."+r+"-navigate-next").hide());var o;0===s.group.index&&(o=t("."+r+"[data-"+r+'-group="'+s.group.name+'"][data-'+r+"-loop]").length,0===o&&s.options.loop===!1&&s.$navigate.find("."+r+"-navigate-prev").hide()),s.group.index+1===s.group.ids.length&&(o=t("."+r+"[data-"+r+'-group="'+s.group.name+'"][data-'+r+"-loop]").length,0===o&&s.options.loop===!1&&s.$navigate.find("."+r+"-navigate-next").hide())}s.options.overlay===!0&&(s.options.appendToOverlay===!1?s.$overlay.appendTo("body"):s.$overlay.appendTo(s.options.appendToOverlay)),s.options.transitionInOverlay&&s.$overlay.addClass(s.options.transitionInOverlay);var a=s.options.transitionIn;"object"==typeof e&&(void 0===e.transition&&void 0===e.transitionIn||(a=e.transition||e.transitionIn),void 0!==e.zindex&&s.setZindex(e.zindex)),""!==a&&void 0!==d?(s.$element.addClass("transitionIn "+a).show(),s.$wrap.one(d,function(){s.$element.removeClass(a+" transitionIn"),s.$overlay.removeClass(s.options.transitionInOverlay),s.$navigate.removeClass("fadeIn"),i()})):(s.$element.show(),i()),s.options.pauseOnHover!==!0||s.options.pauseOnHover!==!0||s.options.timeout===!1||isNaN(parseInt(s.options.timeout))||s.options.timeout===!1||0===s.options.timeout||(s.$element.off("mouseenter").on("mouseenter",function(t){t.preventDefault(),s.isPaused=!0}),s.$element.off("mouseleave").on("mouseleave",function(t){t.preventDefault(),s.isPaused=!1}))}(),this.options.timeout===!1||isNaN(parseInt(this.options.timeout))||this.options.timeout===!1||0===this.options.timeout||s.startProgress(this.options.timeout),this.options.overlayClose&&!this.$element.hasClass(this.options.transitionOut)&&this.$overlay.click(function(){s.close()}),this.options.focusInput&&this.$element.find(":input:not(button):enabled:visible:first").focus(),function p(){s.recalcLayout(),s.timer=setTimeout(p,300)}(),a.on("keydown."+r,function(t){s.options.closeOnEscape&&27===t.keyCode&&s.close()})}},close:function(e){function i(){n.state=l.CLOSED,n.$element.trigger(l.CLOSED),n.options.iframe===!0&&n.$element.find("."+r+"-iframe").attr("src",""),(n.options.bodyOverflow||h)&&(t("html").removeClass(r+"-isOverflow"),h&&t("body").css("overflow","auto")),n.options.onClosed&&"function"==typeof n.options.onClosed&&n.options.onClosed(n),n.options.restoreDefaultContent===!0&&n.$element.find("."+r+"-content").html(n.content),0===t("."+r+":visible").length&&t("html").removeClass(r+"-isAttached")}var n=this;if(this.state==l.OPENED||this.state==l.OPENING){a.off("keydown."+r),this.state=l.CLOSING,this.$element.trigger(l.CLOSING),this.$element.attr("aria-hidden","true"),clearTimeout(this.timer),clearTimeout(this.timerTimeout),n.options.onClosing&&"function"==typeof n.options.onClosing&&n.options.onClosing(this);var o=this.options.transitionOut;"object"==typeof e&&(void 0===e.transition&&void 0===e.transitionOut||(o=e.transition||e.transitionOut)),o===!1||""===o||void 0===d?(this.$element.hide(),this.$overlay.remove(),this.$navigate.remove(),i()):(this.$element.attr("class",[this.classes,r,o,"light"==this.options.theme?r+"-light":this.options.theme,this.isFullscreen===!0?"isFullscreen":"",this.options.rtl?r+"-rtl":""].join(" ")),this.$overlay.attr("class",r+"-overlay "+this.options.transitionOutOverlay),n.options.navigateArrows===!1||h||this.$navigate.attr("class",r+"-navigate fadeOut"),this.$element.one(d,function(){n.$element.hasClass(o)&&n.$element.removeClass(o+" transitionOut").hide(),n.$overlay.removeClass(n.options.transitionOutOverlay).remove(),n.$navigate.removeClass("fadeOut").remove(),i()}))}},next:function(e){var i=this,n="fadeInRight",o="fadeOutLeft",s=t("."+r+":visible"),a={};a.out=this,void 0!==e&&"object"!=typeof e?(e.preventDefault(),s=t(e.currentTarget),n=s.attr("data-"+r+"-transitionIn"),o=s.attr("data-"+r+"-transitionOut")):void 0!==e&&(void 0!==e.transitionIn&&(n=e.transitionIn),void 0!==e.transitionOut&&(o=e.transitionOut)),this.close({transition:o}),setTimeout(function(){for(var e=t("."+r+"[data-"+r+'-group="'+i.group.name+'"][data-'+r+"-loop]").length,o=i.group.index+1;o<=i.group.ids.length;o++){try{a["in"]=t("#"+i.group.ids[o]).data().iziModal}catch(s){}if("undefined"!=typeof a["in"]){t("#"+i.group.ids[o]).iziModal("open",{transition:n});break}if(o==i.group.ids.length&&e>0||i.options.loop===!0)for(var l=0;l<=i.group.ids.length;l++)if(a["in"]=t("#"+i.group.ids[l]).data().iziModal,"undefined"!=typeof a["in"]){t("#"+i.group.ids[l]).iziModal("open",{transition:n});break}}},200),t(document).trigger(r+"-group-change",a)},prev:function(e){var i=this,n="fadeInLeft",o="fadeOutRight",s=t("."+r+":visible"),a={};a.out=this,void 0!==e&&"object"!=typeof e?(e.preventDefault(),s=t(e.currentTarget),n=s.attr("data-"+r+"-transitionIn"),o=s.attr("data-"+r+"-transitionOut")):void 0!==e&&(void 0!==e.transitionIn&&(n=e.transitionIn),void 0!==e.transitionOut&&(o=e.transitionOut)),this.close({transition:o}),setTimeout(function(){for(var e=t("."+r+"[data-"+r+'-group="'+i.group.name+'"][data-'+r+"-loop]").length,o=i.group.index;o>=0;o--){try{a["in"]=t("#"+i.group.ids[o-1]).data().iziModal}catch(s){}if("undefined"!=typeof a["in"]){t("#"+i.group.ids[o-1]).iziModal("open",{transition:n});break}if(0===o&&e>0||i.options.loop===!0)for(var l=i.group.ids.length-1;l>=0;l--)if(a["in"]=t("#"+i.group.ids[l]).data().iziModal,"undefined"!=typeof a["in"]){t("#"+i.group.ids[l]).iziModal("open",{transition:n});break}}},200),t(document).trigger(r+"-group-change",a)},destroy:function(){var e=t.Event("destroy");this.$element.trigger(e),a.off("keydown."+r),clearTimeout(this.timer),clearTimeout(this.timerTimeout),this.options.iframe===!0&&this.$element.find("."+r+"-iframe").remove(),this.$element.html(this.$element.find("."+r+"-content").html()),this.$element.off("click","[data-"+r+"-close]"),this.$element.off("click","[data-"+r+"-fullscreen]"),this.$element.off("."+r).removeData(r).attr("style",""),this.$overlay.remove(),this.$navigate.remove(),this.$element.trigger(l.DESTROYED),this.$element=null},getState:function(){return this.state},getGroup:function(){return this.group},setWidth:function(t){this.options.width=t,this.recalcWidth();var e=this.$element.outerWidth();this.options.navigateArrows!==!0&&"closeToModal"!=this.options.navigateArrows||(this.$navigate.find("."+r+"-navigate-prev").css("margin-left",-(e/2+84)).show(),this.$navigate.find("."+r+"-navigate-next").css("margin-right",-(e/2+84)).show())},setTop:function(t){this.options.top=t,this.recalcVerticalPos(!1)},setBottom:function(t){this.options.bottom=t,this.recalcVerticalPos(!1)},setHeader:function(t){t?this.$element.find("."+r+"-header").show():(this.headerHeight=0,this.$element.find("."+r+"-header").hide())},setTitle:function(t){this.options.title=t,0===this.headerHeight&&this.createHeader(),0===this.$header.find("."+r+"-header-title").length&&this.$header.append('<h2 class="'+r+'-header-title"></h2>'),this.$header.find("."+r+"-header-title").html(t)},setSubtitle:function(t){""===t?(this.$header.find("."+r+"-header-subtitle").remove(),this.$header.addClass(r+"-noSubtitle")):(0===this.$header.find("."+r+"-header-subtitle").length&&this.$header.append('<p class="'+r+'-header-subtitle"></p>'),this.$header.removeClass(r+"-noSubtitle")),this.$header.find("."+r+"-header-subtitle").html(t),this.options.subtitle=t},setIcon:function(t){0===this.$header.find("."+r+"-header-icon").length&&this.$header.prepend('<i class="'+r+'-header-icon"></i>'),this.$header.find("."+r+"-header-icon").attr("class",r+"-header-icon "+t),this.options.icon=t},setIconText:function(t){this.$header.find("."+r+"-header-icon").html(t),this.options.iconText=t},setHeaderColor:function(t){this.options.borderBottom===!0&&this.$element.css("border-bottom","3px solid "+t),this.$header.css("background",t),this.options.headerColor=t},setBackground:function(t){t===!1?(this.options.background=null,this.$element.css("background","")):(this.$element.css("background",t),this.options.background=t)},setZindex:function(t){isNaN(parseInt(this.options.zindex))||(this.options.zindex=t,this.$element.css("z-index",t),this.$navigate.css("z-index",t-1),this.$overlay.css("z-index",t-2))},setFullscreen:function(t){t?(this.isFullscreen=!0,this.$element.addClass("isFullscreen")):(this.isFullscreen=!1,this.$element.removeClass("isFullscreen"))},setContent:function(t){if("object"==typeof t){var e=t["default"]||!1;e===!0&&(this.content=t.content),t=t.content}this.options.iframe===!1&&this.$element.find("."+r+"-content").html(t)},setTransitionIn:function(t){this.options.transitionIn=t},setTransitionOut:function(t){this.options.transitionOut=t},setTimeout:function(t){this.options.timeout=t},resetContent:function(){this.$element.find("."+r+"-content").html(this.content)},startLoading:function(){this.$element.find("."+r+"-loader").length||this.$element.append('<div class="'+r+'-loader fadeIn"></div>'),this.$element.find("."+r+"-loader").css({top:this.headerHeight,borderRadius:this.options.radius})},stopLoading:function(){var t=this.$element.find("."+r+"-loader");t.length||(this.$element.prepend('<div class="'+r+'-loader fadeIn"></div>'),t=this.$element.find("."+r+"-loader").css("border-radius",this.options.radius)),t.removeClass("fadeIn").addClass("fadeOut"),setTimeout(function(){t.remove()},600)},recalcWidth:function(){var t=this;if(this.$element.css("max-width",this.options.width),i()){var e=t.options.width;e.toString().split("%").length>1&&(e=t.$element.outerWidth()),t.$element.css({left:"50%",marginLeft:-(e/2)})}},recalcVerticalPos:function(t){null!==this.options.top&&this.options.top!==!1?(this.$element.css("margin-top",this.options.top),0===this.options.top&&this.$element.css({borderTopRightRadius:0,borderTopLeftRadius:0})):t===!1&&this.$element.css({marginTop:"",borderRadius:this.options.radius}),null!==this.options.bottom&&this.options.bottom!==!1?(this.$element.css("margin-bottom",this.options.bottom),0===this.options.bottom&&this.$element.css({borderBottomRightRadius:0,borderBottomLeftRadius:0})):t===!1&&this.$element.css({marginBottom:"",borderRadius:this.options.radius})},recalcLayout:function(){var e=this,o=s.height(),a=this.$element.outerHeight(),d=this.$element.outerWidth(),h=this.$element.find("."+r+"-content")[0].scrollHeight,c=h+this.headerHeight,u=this.$element.innerHeight()-this.headerHeight,p=(parseInt(-((this.$element.innerHeight()+1)/2))+"px",this.$wrap.scrollTop()),f=0;i()&&(d>=s.width()||this.isFullscreen===!0?this.$element.css({left:"0",marginLeft:""}):this.$element.css({left:"50%",marginLeft:-(d/2)})),this.options.borderBottom===!0&&""!==this.options.title&&(f=3),this.$element.find("."+r+"-header").length&&this.$element.find("."+r+"-header").is(":visible")?(this.headerHeight=parseInt(this.$element.find("."+r+"-header").innerHeight()),this.$element.css("overflow","hidden")):(this.headerHeight=0,this.$element.css("overflow","")),this.$element.find("."+r+"-loader").length&&this.$element.find("."+r+"-loader").css("top",this.headerHeight),a!==this.modalHeight&&(this.modalHeight=a,this.options.onResize&&"function"==typeof this.options.onResize&&this.options.onResize(this)),this.state!=l.OPENED&&this.state!=l.OPENING||(this.options.iframe===!0&&(o<this.options.iframeHeight+this.headerHeight+f||this.isFullscreen===!0?this.$element.find("."+r+"-iframe").css("height",o-(this.headerHeight+f)):this.$element.find("."+r+"-iframe").css("height",this.options.iframeHeight)),a==o?this.$element.addClass("isAttached"):this.$element.removeClass("isAttached"),this.isFullscreen===!1&&this.$element.width()>=s.width()?this.$element.find("."+r+"-button-fullscreen").hide():this.$element.find("."+r+"-button-fullscreen").show(),this.recalcButtons(),this.isFullscreen===!1&&(o=o-(n(this.options.top)||0)-(n(this.options.bottom)||0)),c>o?(this.options.top>0&&null===this.options.bottom&&h<s.height()&&this.$element.addClass("isAttachedBottom"),this.options.bottom>0&&null===this.options.top&&h<s.height()&&this.$element.addClass("isAttachedTop"),1===t("."+r+":visible").length&&t("html").addClass(r+"-isAttached"),this.$element.css("height",o)):(this.$element.css("height",h+(this.headerHeight+f)),this.$element.removeClass("isAttachedTop isAttachedBottom"),1===t("."+r+":visible").length&&t("html").removeClass(r+"-isAttached")),function(){h>u&&c>o?(e.$element.addClass("hasScroll"),e.$wrap.css("height",a-(e.headerHeight+f))):(e.$element.removeClass("hasScroll"),e.$wrap.css("height","auto"))}(),function(){u+p<h-30?e.$element.addClass("hasShadow"):e.$element.removeClass("hasShadow")}())},recalcButtons:function(){var t=this.$header.find("."+r+"-header-buttons").innerWidth()+10;this.options.rtl===!0?this.$header.css("padding-left",t):this.$header.css("padding-right",t)}},s.off("load."+r).on("load."+r,function(e){var i=document.location.hash;if(0===window.$iziModal.autoOpen&&!t("."+r).is(":visible"))try{var n=t(i).data();"undefined"!=typeof n&&n.iziModal.options.autoOpen!==!1&&t(i).iziModal("open")}catch(o){}}),s.off("hashchange."+r).on("hashchange."+r,function(e){var i=document.location.hash;if(""!==i)try{var n=t(i).data();"undefined"!=typeof n&&"opening"!==t(i).iziModal("getState")&&setTimeout(function(){t(i).iziModal("open",{preventClose:!1})},200)}catch(o){}else window.$iziModal.history&&t.each(t("."+r),function(e,i){if(void 0!==t(i).data().iziModal){var n=t(i).iziModal("getState");"opened"!=n&&"opening"!=n||t(i).iziModal("close")}})}),a.off("click","[data-"+r+"-open]").on("click","[data-"+r+"-open]",function(e){e.preventDefault();var i=t("."+r+":visible"),n=t(e.currentTarget).attr("data-"+r+"-open"),o=t(e.currentTarget).attr("data-"+r+"-preventClose"),s=t(e.currentTarget).attr("data-"+r+"-transitionIn"),a=t(e.currentTarget).attr("data-"+r+"-transitionOut"),l=t(e.currentTarget).attr("data-"+r+"-zindex");void 0!==l&&t(n).iziModal("setZindex",l),void 0===o&&(void 0!==a?i.iziModal("close",{transition:a}):i.iziModal("close")),setTimeout(function(){void 0!==s?t(n).iziModal("open",{transition:s}):t(n).iziModal("open")},200)}),a.off("keyup."+r).on("keyup."+r,function(e){if(t("."+r+":visible").length){var i=t("."+r+":visible")[0].id,n=t("#"+i).data().iziModal.options.arrowKeys,o=t("#"+i).iziModal("getGroup"),s=e||window.event,a=s.target||s.srcElement;void 0===i||!n||void 0===o.name||s.ctrlKey||s.metaKey||s.altKey||"INPUT"===a.tagName.toUpperCase()||"TEXTAREA"==a.tagName.toUpperCase()||(37===s.keyCode?t("#"+i).iziModal("prev",s):39===s.keyCode&&t("#"+i).iziModal("next",s))}}),t.fn[r]=function(e,i){if(!t(this).length&&"object"==typeof e){var n={$el:document.createElement("div"),id:this.selector.split("#"),"class":this.selector.split(".")};if(n.id.length>1){try{n.$el=document.createElement(id[0])}catch(o){}n.$el.id=this.selector.split("#")[1].trim()}else if(n["class"].length>1){try{n.$el=document.createElement(n["class"][0])}catch(o){}for(var s=1;s<n["class"].length;s++)n.$el.classList.add(n["class"][s].trim())}document.body.appendChild(n.$el),this.push(t(this.selector))}for(var a=this,l=0;l<a.length;l++){var d=t(a[l]),h=d.data(r),u=t.extend({},t.fn[r].defaults,d.data(),"object"==typeof e&&e);if(h||e&&"object"!=typeof e){if("string"==typeof e&&"undefined"!=typeof h)return h[e].apply(h,[].concat(i))}else d.data(r,h=new c(d,u));u.autoOpen&&(isNaN(parseInt(u.autoOpen))?u.autoOpen===!0&&h.open():setTimeout(function(){h.open()},u.autoOpen),window.$iziModal.autoOpen++)}return this},t.fn[r].defaults={title:"",subtitle:"",headerColor:"#88A0B9",background:null,theme:"",icon:null,iconText:null,iconColor:"",rtl:!1,width:600,top:null,bottom:null,borderBottom:!0,padding:0,radius:3,zindex:999,iframe:!1,iframeHeight:400,iframeURL:null,focusInput:!0,group:"",loop:!1,arrowKeys:!0,navigateCaption:!0,navigateArrows:!0,history:!1,restoreDefaultContent:!1,autoOpen:0,bodyOverflow:!1,fullscreen:!1,openFullscreen:!1,closeOnEscape:!0,closeButton:!0,appendTo:"body",appendToOverlay:"body",overlay:!0,overlayClose:!0,overlayColor:"rgba(0, 0, 0, 0.4)",timeout:!1,timeoutProgressbar:!1,pauseOnHover:!1,timeoutProgressbarColor:"rgba(255,255,255,0.5)",transitionIn:"comingIn",transitionOut:"comingOut",transitionInOverlay:"fadeIn",transitionOutOverlay:"fadeOut",onFullscreen:function(){},onResize:function(){},onOpening:function(){},onOpened:function(){},onClosing:function(){},onClosed:function(){},afterRender:function(){}},t.fn[r].Constructor=c,t.fn.iziModal});PK�^�\ff.litespeed-cache/assets/js/instant_click.min.jsnu�[���let _chromiumMajorVersionInUserAgent=null,_speculationRulesType,_allowQueryString,_allowExternalLinks,_useWhitelist,_delayOnHover=65,_lastTouchstartEvent,_mouseoverTimer,_preloadedList=new Set;function init(){let e=document.createElement("link").relList,t=e.supports("prefetch")&&e.supports("modulepreload");if(!t)return;let n="instantVaryAccept"in document.body.dataset||"Shopify"in window,r=navigator.userAgent.indexOf("Chrome/");if(r>-1&&(_chromiumMajorVersionInUserAgent=parseInt(navigator.userAgent.substring(r+7))),n&&_chromiumMajorVersionInUserAgent&&_chromiumMajorVersionInUserAgent<110)return;if(_speculationRulesType="none",HTMLScriptElement.supports&&HTMLScriptElement.supports("speculationrules")){let s=document.body.dataset.instantSpecrules;"prerender"==s?_speculationRulesType="prerender":"no"!=s&&(_speculationRulesType="prefetch")}let i="instantMousedownShortcut"in document.body.dataset;_allowQueryString="instantAllowQueryString"in document.body.dataset,_allowExternalLinks="instantAllowExternalLinks"in document.body.dataset,_useWhitelist="instantWhitelist"in document.body.dataset;let o=!1,a=!1,l=!1;if("instantIntensity"in document.body.dataset){let u=document.body.dataset.instantIntensity;if("mousedown"!=u||i||(o=!0),"mousedown-only"!=u||i||(o=!0,a=!0),"viewport"==u){let c=document.documentElement.clientWidth*document.documentElement.clientHeight<45e4,d=navigator.connection&&navigator.connection.saveData,p=navigator.connection&&navigator.connection.effectiveType&&navigator.connection.effectiveType.includes("2g");!c||d||p||(l=!0)}"viewport-all"==u&&(l=!0);let h=parseInt(u);isNaN(h)||(_delayOnHover=h)}let m={capture:!0,passive:!0};if(a?document.addEventListener("touchstart",touchstartEmptyListener,m):document.addEventListener("touchstart",touchstartListener,m),o||document.addEventListener("mouseover",mouseoverListener,m),o&&document.addEventListener("mousedown",mousedownListener,m),i&&document.addEventListener("mousedown",mousedownShortcutListener,m),l){let f=window.requestIdleCallback;f||(f=e=>{e()}),f(function e(){let t=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let n=e.target;t.unobserve(n),preload(n.href)}})});document.querySelectorAll("a").forEach(e=>{isPreloadable(e)&&t.observe(e)})},{timeout:1500})}}function touchstartListener(e){_lastTouchstartEvent=e;let t=e.target.closest("a");isPreloadable(t)&&preload(t.href,"high")}function touchstartEmptyListener(e){_lastTouchstartEvent=e}function mouseoverListener(e){if(isEventLikelyTriggeredByTouch(e)||!("closest"in e.target))return;let t=e.target.closest("a");isPreloadable(t)&&(t.addEventListener("mouseout",mouseoutListener,{passive:!0}),_mouseoverTimer=setTimeout(()=>{preload(t.href,"high"),_mouseoverTimer=null},_delayOnHover))}function mousedownListener(e){if(isEventLikelyTriggeredByTouch(e))return;let t=e.target.closest("a");isPreloadable(t)&&preload(t.href,"high")}function mouseoutListener(e){(!e.relatedTarget||e.target.closest("a")!=e.relatedTarget.closest("a"))&&_mouseoverTimer&&(clearTimeout(_mouseoverTimer),_mouseoverTimer=null)}function mousedownShortcutListener(e){if(isEventLikelyTriggeredByTouch(e))return;let t=e.target.closest("a");if(e.which>1||e.metaKey||e.ctrlKey||!t)return;t.addEventListener("click",function(e){1337!=e.detail&&e.preventDefault()},{capture:!0,passive:!1,once:!0});let n=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1,detail:1337});t.dispatchEvent(n)}function isEventLikelyTriggeredByTouch(e){if(!_lastTouchstartEvent||!e||e.target!=_lastTouchstartEvent.target)return!1;let t=e.timeStamp,n=t-_lastTouchstartEvent.timeStamp;return n<2500}function isPreloadable(e){if(e&&e.href&&(!_useWhitelist||"instant"in e.dataset)&&(e.origin==location.origin||(_allowExternalLinks||"instant"in e.dataset)&&_chromiumMajorVersionInUserAgent)){if(["http:","https:"].includes(e.protocol)&&("http:"!=e.protocol||"https:"!=location.protocol)&&(_allowQueryString||!e.search||"instant"in e.dataset)&&(!e.hash||e.pathname+e.search!=location.pathname+location.search)&&!("noInstant"in e.dataset))return!0}}function preload(e,t="auto"){!_preloadedList.has(e)&&("none"!=_speculationRulesType?preloadUsingSpeculationRules(e):preloadUsingLinkElement(e,t),_preloadedList.add(e))}function preloadUsingSpeculationRules(e){let t=document.createElement("script");t.type="speculationrules",t.textContent=JSON.stringify({[_speculationRulesType]:[{source:"list",urls:[e]}]}),document.head.appendChild(t)}function preloadUsingLinkElement(e,t="auto"){let n=document.createElement("link");n.rel="prefetch",n.href=e,n.fetchPriority=t,n.as="document",document.head.appendChild(n)}init();
PK�^�\+�xB��&litespeed-cache/assets/js/css_async.jsnu�[���/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
!function(a){"use strict";var b=function(b,c,d){function e(a){return h.body?a():void setTimeout(function(){e(a)})}function f(){i.addEventListener&&i.removeEventListener("load",f),i.media=d||"all"}var g,h=a.document,i=h.createElement("link");if(c)g=c;else{var j=(h.body||h.getElementsByTagName("head")[0]).childNodes;g=j[j.length-1]}var k=h.styleSheets;i.rel="stylesheet",i.href=b,i.media="only x",e(function(){g.parentNode.insertBefore(i,c?g:g.nextSibling)});var l=function(a){for(var b=i.href,c=k.length;c--;)if(k[c].href===b)return a();setTimeout(function(){l(a)})};return i.addEventListener&&i.addEventListener("load",f),i.onloadcssdefined=l,l(f),i};"undefined"!=typeof exports?exports.loadCSS=b:a.loadCSS=b}("undefined"!=typeof global?global:this);
/*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */
!function(a){if(a.loadCSS){var b=loadCSS.relpreload={};if(b.support=function(){try{return a.document.createElement("link").relList.supports("preload")}catch(b){return!1}},b.poly=function(){for(var b=a.document.getElementsByTagName("link"),c=0;c<b.length;c++){var d=b[c];"preload"===d.rel&&"style"===d.getAttribute("as")&&(a.loadCSS(d.href,d,d.getAttribute("media")),d.rel=null)}},!b.support()){b.poly();var c=a.setInterval(b.poly,300);a.addEventListener&&a.addEventListener("load",function(){b.poly(),a.clearInterval(c)}),a.attachEvent&&a.attachEvent("onload",function(){a.clearInterval(c)})}}}(this);PK�^�\�D�]�
�
%litespeed-cache/assets/js/js_delay.jsnu�[���window.litespeed_ui_events = window.litespeed_ui_events || ['mouseover', 'click', 'keydown', 'wheel', 'touchmove', 'touchstart'];
var urlCreator = window.URL || window.webkitURL;

// const litespeed_js_delay_timer = setTimeout( litespeed_load_delayed_js, 70 );

litespeed_ui_events.forEach(e => {
	window.addEventListener(e, litespeed_load_delayed_js_force, { passive: true }); // Use passive to save GPU in interaction
});

function litespeed_load_delayed_js_force() {
	console.log('[LiteSpeed] Start Load JS Delayed');
	// clearTimeout( litespeed_js_delay_timer );
	litespeed_ui_events.forEach(e => {
		window.removeEventListener(e, litespeed_load_delayed_js_force, { passive: true });
	});

	document.querySelectorAll('iframe[data-litespeed-src]').forEach(e => {
		e.setAttribute('src', e.getAttribute('data-litespeed-src'));
	});

	// Prevent early loading
	if (document.readyState == 'loading') {
		window.addEventListener('DOMContentLoaded', litespeed_load_delayed_js);
	} else {
		litespeed_load_delayed_js();
	}
}

async function litespeed_load_delayed_js() {
	let js_list = [];
	// Prepare all JS
	document.querySelectorAll('script[type="litespeed/javascript"]').forEach(e => {
		js_list.push(e);
	});

	// Load by sequence
	for (let script in js_list) {
		await new Promise(resolve => litespeed_load_one(js_list[script], resolve));
	}

	// Simulate doc.loaded
	document.dispatchEvent(new Event('DOMContentLiteSpeedLoaded'));
	window.dispatchEvent(new Event('DOMContentLiteSpeedLoaded'));
}

/**
 * Load one JS synchronously
 */
function litespeed_load_one(e, resolve) {
	console.log('[LiteSpeed] Load ', e);

	var e2 = document.createElement('script');

	e2.addEventListener('load', resolve);
	e2.addEventListener('error', resolve);

	var attrs = e.getAttributeNames();
	attrs.forEach(aname => {
		if (aname == 'type') return;
		e2.setAttribute(aname == 'data-src' ? 'src' : aname, e.getAttribute(aname));
	});
	e2.type = 'text/javascript';

	let is_inline = false;
	// Inline script
	if (!e2.src && e.textContent) {
		e2.src = litespeed_inline2src(e.textContent);
		// e2.textContent = e.textContent;
		is_inline = true;
	}

	// Deploy to dom
	e.after(e2);
	e.remove();
	// document.head.appendChild(e2);
	// e2 = e.cloneNode(true)
	// e2.setAttribute( 'type', 'text/javascript' );
	// e2.setAttribute( 'data-delayed', '1' );

	// Kick off resolve for inline
	if (is_inline) resolve();
}

/**
 * Prepare inline script
 */
function litespeed_inline2src(data) {
	try {
		var src = urlCreator.createObjectURL(
			new Blob([data.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm, '$1')], {
				type: 'text/javascript',
			}),
		);
	} catch (e) {
		var src = 'data:text/javascript;base64,' + btoa(data.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm, '$1'));
	}

	return src;
}
PK�^�\�ڒ���-litespeed-cache/assets/js/guest.docref.min.jsnu�[���var litespeed_docref=sessionStorage.getItem("litespeed_docref");litespeed_docref&&(Object.defineProperty(document,"referrer",{get:function(){return litespeed_docref}}),sessionStorage.removeItem("litespeed_docref"));PK�^�\f�V��)litespeed-cache/assets/js/guest.docref.jsnu�[���var litespeed_docref = sessionStorage.getItem('litespeed_docref');
if (litespeed_docref) {
	Object.defineProperty(document, 'referrer', {
		get: function () {
			return litespeed_docref;
		},
	});
	sessionStorage.removeItem('litespeed_docref');
}
PK�^�\��m�0�0*litespeed-cache/assets/js/webfontloader.jsnu�[���/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function p(a,b,c){p=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?aa:ba;return p.apply(null,arguments)}var q=Date.now||function(){return+new Date};function ca(a,b){this.a=a;this.o=b||a;this.c=this.o.document}var da=!!window.FontFace;function t(a,b,c,d){b=a.c.createElement(b);if(c)for(var e in c)c.hasOwnProperty(e)&&("style"==e?b.style.cssText=c[e]:b.setAttribute(e,c[e]));d&&b.appendChild(a.c.createTextNode(d));return b}function u(a,b,c){a=a.c.getElementsByTagName(b)[0];a||(a=document.documentElement);a.insertBefore(c,a.lastChild)}function v(a){a.parentNode&&a.parentNode.removeChild(a)}
function w(a,b,c){b=b||[];c=c||[];for(var d=a.className.split(/\s+/),e=0;e<b.length;e+=1){for(var f=!1,g=0;g<d.length;g+=1)if(b[e]===d[g]){f=!0;break}f||d.push(b[e])}b=[];for(e=0;e<d.length;e+=1){f=!1;for(g=0;g<c.length;g+=1)if(d[e]===c[g]){f=!0;break}f||b.push(d[e])}a.className=b.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function y(a,b){for(var c=a.className.split(/\s+/),d=0,e=c.length;d<e;d++)if(c[d]==b)return!0;return!1}
function ea(a){return a.o.location.hostname||a.a.location.hostname}function z(a,b,c){function d(){m&&e&&f&&(m(g),m=null)}b=t(a,"link",{rel:"stylesheet",href:b,media:"all"});var e=!1,f=!0,g=null,m=c||null;da?(b.onload=function(){e=!0;d()},b.onerror=function(){e=!0;g=Error("Stylesheet failed to load");d()}):setTimeout(function(){e=!0;d()},0);u(a,"head",b)}
function A(a,b,c,d){var e=a.c.getElementsByTagName("head")[0];if(e){var f=t(a,"script",{src:b}),g=!1;f.onload=f.onreadystatechange=function(){g||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(g=!0,c&&c(null),f.onload=f.onreadystatechange=null,"HEAD"==f.parentNode.tagName&&e.removeChild(f))};e.appendChild(f);setTimeout(function(){g||(g=!0,c&&c(Error("Script load timeout")))},d||5E3);return f}return null};function B(){this.a=0;this.c=null}function C(a){a.a++;return function(){a.a--;D(a)}}function E(a,b){a.c=b;D(a)}function D(a){0==a.a&&a.c&&(a.c(),a.c=null)};function F(a){this.a=a||"-"}F.prototype.c=function(a){for(var b=[],c=0;c<arguments.length;c++)b.push(arguments[c].replace(/[\W_]+/g,"").toLowerCase());return b.join(this.a)};function G(a,b){this.c=a;this.f=4;this.a="n";var c=(b||"n4").match(/^([nio])([1-9])$/i);c&&(this.a=c[1],this.f=parseInt(c[2],10))}function fa(a){return H(a)+" "+(a.f+"00")+" 300px "+I(a.c)}function I(a){var b=[];a=a.split(/,\s*/);for(var c=0;c<a.length;c++){var d=a[c].replace(/['"]/g,"");-1!=d.indexOf(" ")||/^\d/.test(d)?b.push("'"+d+"'"):b.push(d)}return b.join(",")}function J(a){return a.a+a.f}function H(a){var b="normal";"o"===a.a?b="oblique":"i"===a.a&&(b="italic");return b}
function ga(a){var b=4,c="n",d=null;a&&((d=a.match(/(normal|oblique|italic)/i))&&d[1]&&(c=d[1].substr(0,1).toLowerCase()),(d=a.match(/([1-9]00|normal|bold)/i))&&d[1]&&(/bold/i.test(d[1])?b=7:/[1-9]00/.test(d[1])&&(b=parseInt(d[1].substr(0,1),10))));return c+b};function ha(a,b){this.c=a;this.f=a.o.document.documentElement;this.h=b;this.a=new F("-");this.j=!1!==b.events;this.g=!1!==b.classes}function ia(a){a.g&&w(a.f,[a.a.c("wf","loading")]);K(a,"loading")}function L(a){if(a.g){var b=y(a.f,a.a.c("wf","active")),c=[],d=[a.a.c("wf","loading")];b||c.push(a.a.c("wf","inactive"));w(a.f,c,d)}K(a,"inactive")}function K(a,b,c){if(a.j&&a.h[b])if(c)a.h[b](c.c,J(c));else a.h[b]()};function ja(){this.c={}}function ka(a,b,c){var d=[],e;for(e in b)if(b.hasOwnProperty(e)){var f=a.c[e];f&&d.push(f(b[e],c))}return d};function M(a,b){this.c=a;this.f=b;this.a=t(this.c,"span",{"aria-hidden":"true"},this.f)}function N(a){u(a.c,"body",a.a)}function O(a){return"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+I(a.c)+";"+("font-style:"+H(a)+";font-weight:"+(a.f+"00")+";")};function P(a,b,c,d,e,f){this.g=a;this.j=b;this.a=d;this.c=c;this.f=e||3E3;this.h=f||void 0}P.prototype.start=function(){var a=this.c.o.document,b=this,c=q(),d=new Promise(function(d,e){function f(){q()-c>=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(f,25)},function(){e()})}f()}),e=null,f=new Promise(function(a,d){e=setTimeout(d,b.f)});Promise.race([f,d]).then(function(){e&&(clearTimeout(e),e=null);b.g(b.a)},function(){b.j(b.a)})};function Q(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||"BESbswy";this.f={};this.w=e||3E3;this.u=f||null;this.m=this.j=this.h=this.g=null;this.g=new M(this.c,this.s);this.h=new M(this.c,this.s);this.j=new M(this.c,this.s);this.m=new M(this.c,this.s);a=new G(this.a.c+",serif",J(this.a));a=O(a);this.g.a.style.cssText=a;a=new G(this.a.c+",sans-serif",J(this.a));a=O(a);this.h.a.style.cssText=a;a=new G("serif",J(this.a));a=O(a);this.j.a.style.cssText=a;a=new G("sans-serif",J(this.a));a=
O(a);this.m.a.style.cssText=a;N(this.g);N(this.h);N(this.j);N(this.m)}var R={D:"serif",C:"sans-serif"},S=null;function T(){if(null===S){var a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);S=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return S}Q.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f["sans-serif"]=this.m.a.offsetWidth;this.A=q();U(this)};
function la(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.f[R[d]]&&c===a.f[R[d]])return!0;return!1}function U(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f["sans-serif"])||(d=T()&&la(a,b,c));d?q()-a.A>=a.w?T()&&la(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):ma(a):V(a,a.v)}function ma(a){setTimeout(p(function(){U(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.m.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.m=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c("wf",a.c,J(a).toString(),"active")],[b.a.c("wf",a.c,J(a).toString(),"loading"),b.a.c("wf",a.c,J(a).toString(),"inactive")]);K(b,"fontactive",a);this.m=!0;na(this)};
W.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c("wf",a.c,J(a).toString(),"active")),d=[],e=[b.a.c("wf",a.c,J(a).toString(),"loading")];c||d.push(b.a.c("wf",a.c,J(a).toString(),"inactive"));w(b.f,d,e)}K(b,"fontinactive",a);na(this)};function na(a){0==--a.f&&a.j&&(a.m?(a=a.a,a.g&&w(a.f,[a.a.c("wf","active")],[a.a.c("wf","loading"),a.a.c("wf","inactive")]),K(a,"active")):L(a.a))};function oa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}oa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;pa(this,new ha(this.c,a),a)};
function qa(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,m=d||null||{};if(0===c.length&&f)L(b.a);else{b.f+=c.length;f&&(b.j=f);var h,l=[];for(h=0;h<c.length;h++){var k=c[h],n=m[k.c],r=b.a,x=k;r.g&&w(r.f,[r.a.c("wf",x.c,J(x).toString(),"loading")]);K(r,"fontloading",x);r=null;if(null===X)if(window.FontFace){var x=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),xa=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);
X=x?42<parseInt(x[1],10):xa?!1:!0}else X=!1;X?r=new P(p(b.g,b),p(b.h,b),b.c,k,b.s,n):r=new Q(p(b.g,b),p(b.h,b),b.c,k,b.s,a,n);l.push(r)}for(h=0;h<l.length;h++)l[h].start()}},0)}function pa(a,b,c){var d=[],e=c.timeout;ia(b);var d=ka(a.a,c,a.c),f=new W(a.c,b,e);a.h=d.length;b=0;for(c=d.length;b<c;b++)d[b].load(function(b,d,c){qa(a,f,b,d,c)})};function ra(a,b){this.c=a;this.a=b}
ra.prototype.load=function(a){function b(){if(f["__mti_fntLst"+d]){var c=f["__mti_fntLst"+d](),e=[],h;if(c)for(var l=0;l<c.length;l++){var k=c[l].fontfamily;void 0!=c[l].fontStyle&&void 0!=c[l].fontWeight?(h=c[l].fontStyle+c[l].fontWeight,e.push(new G(k,h))):e.push(new G(k))}a(e)}else setTimeout(function(){b()},50)}var c=this,d=c.a.projectId,e=c.a.version;if(d){var f=c.c.o;A(this.c,(c.a.api||"https://fast.fonts.net/jsapi")+"/"+d+".js"+(e?"?v="+e:""),function(e){e?a([]):(f["__MonotypeConfiguration__"+
d]=function(){return c.a},b())}).id="__MonotypeAPIScript__"+d}else a([])};function sa(a,b){this.c=a;this.a=b}sa.prototype.load=function(a){var b,c,d=this.a.urls||[],e=this.a.families||[],f=this.a.testStrings||{},g=new B;b=0;for(c=d.length;b<c;b++)z(this.c,d[b],C(g));var m=[];b=0;for(c=e.length;b<c;b++)if(d=e[b].split(":"),d[1])for(var h=d[1].split(","),l=0;l<h.length;l+=1)m.push(new G(d[0],h[l]));else m.push(new G(d[0]));E(g,function(){a(m,f)})};function ta(a,b){a?this.c=a:this.c=ua;this.a=[];this.f=[];this.g=b||""}var ua="https://fonts.googleapis.com/css";function va(a,b){for(var c=b.length,d=0;d<c;d++){var e=b[d].split(":");3==e.length&&a.f.push(e.pop());var f="";2==e.length&&""!=e[1]&&(f=":");a.a.push(e.join(f))}}
function wa(a){if(0==a.a.length)throw Error("No fonts to load!");if(-1!=a.c.indexOf("kit="))return a.c;for(var b=a.a.length,c=[],d=0;d<b;d++)c.push(a.a[d].replace(/ /g,"+"));b=a.c+"?family="+c.join("%7C");0<a.f.length&&(b+="&subset="+a.f.join(","));0<a.g.length&&(b+="&text="+encodeURIComponent(a.g));return b};function ya(a){this.f=a;this.a=[];this.c={}}
var za={latin:"BESbswy","latin-ext":"\u00e7\u00f6\u00fc\u011f\u015f",cyrillic:"\u0439\u044f\u0416",greek:"\u03b1\u03b2\u03a3",khmer:"\u1780\u1781\u1782",Hanuman:"\u1780\u1781\u1782"},Aa={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},Ba={i:"i",italic:"i",n:"n",normal:"n"},
Ca=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;
function Da(a){for(var b=a.f.length,c=0;c<b;c++){var d=a.f[c].split(":"),e=d[0].replace(/\+/g," "),f=["n4"];if(2<=d.length){var g;var m=d[1];g=[];if(m)for(var m=m.split(","),h=m.length,l=0;l<h;l++){var k;k=m[l];if(k.match(/^[\w-]+$/)){var n=Ca.exec(k.toLowerCase());if(null==n)k="";else{k=n[2];k=null==k||""==k?"n":Ba[k];n=n[1];if(null==n||""==n)n="4";else var r=Aa[n],n=r?r:isNaN(n)?"4":n.substr(0,1);k=[k,n].join("")}}else k="";k&&g.push(k)}0<g.length&&(f=g);3==d.length&&(d=d[2],g=[],d=d?d.split(","):
g,0<d.length&&(d=za[d[0]])&&(a.c[e]=d))}a.c[e]||(d=za[e])&&(a.c[e]=d);for(d=0;d<f.length;d+=1)a.a.push(new G(e,f[d]))}};function Ea(a,b){this.c=a;this.a=b}var Fa={Arimo:!0,Cousine:!0,Tinos:!0};Ea.prototype.load=function(a){var b=new B,c=this.c,d=new ta(this.a.api,this.a.text),e=this.a.families;va(d,e);var f=new ya(e);Da(f);z(c,wa(d),C(b));E(b,function(){a(f.a,f.c,Fa)})};function Ga(a,b){this.c=a;this.a=b}Ga.prototype.load=function(a){var b=this.a.id,c=this.c.o;b?A(this.c,(this.a.api||"https://use.typekit.net")+"/"+b+".js",function(b){if(b)a([]);else if(c.Typekit&&c.Typekit.config&&c.Typekit.config.fn){b=c.Typekit.config.fn;for(var e=[],f=0;f<b.length;f+=2)for(var g=b[f],m=b[f+1],h=0;h<m.length;h++)e.push(new G(g,m[h]));try{c.Typekit.load({events:!1,classes:!1,async:!0})}catch(l){}a(e)}},2E3):a([])};function Ha(a,b){this.c=a;this.f=b;this.a=[]}Ha.prototype.load=function(a){var b=this.f.id,c=this.c.o,d=this;b?(c.__webfontfontdeckmodule__||(c.__webfontfontdeckmodule__={}),c.__webfontfontdeckmodule__[b]=function(b,c){for(var g=0,m=c.fonts.length;g<m;++g){var h=c.fonts[g];d.a.push(new G(h.name,ga("font-weight:"+h.weight+";font-style:"+h.style)))}a(d.a)},A(this.c,(this.f.api||"https://f.fontdeck.com/s/css/js/")+ea(this.c)+"/"+b+".js",function(b){b&&a([])})):a([])};var Y=new oa(window);Y.a.c.custom=function(a,b){return new sa(b,a)};Y.a.c.fontdeck=function(a,b){return new Ha(b,a)};Y.a.c.monotype=function(a,b){return new ra(b,a)};Y.a.c.typekit=function(a,b){return new Ga(b,a)};Y.a.c.google=function(a,b){return new Ea(b,a)};var Z={load:p(Y.load,Y)};"function"===typeof define&&define.amd?define(function(){return Z}):"undefined"!==typeof module&&module.exports?module.exports=Z:(window.WebFont=Z,window.WebFontConfig&&Y.load(window.WebFontConfig));}());
PK�^�\���Cuu&litespeed-cache/assets/js/guest.min.jsnu�[���var litespeed_vary=document.cookie.replace(/(?:(?:^|.*;\s*)_lscache_vary\s*\=\s*([^;]*).*$)|^.*$/,"$1");litespeed_vary||fetch("litespeed_url",{method:"POST",cache:"no-cache",redirect:"follow"}).then(e=>e.json()).then(e=>{console.log(e),e.hasOwnProperty("reload")&&"yes"==e.reload&&(sessionStorage.setItem("litespeed_docref",document.referrer),window.location.reload(!0))});PK�^�\���II*litespeed-cache/assets/js/css_async.min.jsnu�[���!function(a){"use strict";var b=function(b,c,d){function e(a){return h.body?a():void setTimeout(function(){e(a)})}function f(){i.addEventListener&&i.removeEventListener("load",f),i.media=d||"all"}var g,h=a.document,i=h.createElement("link");if(c)g=c;else{var j=(h.body||h.getElementsByTagName("head")[0]).childNodes;g=j[j.length-1]}var k=h.styleSheets;i.rel="stylesheet",i.href=b,i.media="only x",e(function(){g.parentNode.insertBefore(i,c?g:g.nextSibling)});var l=function(a){for(var b=i.href,c=k.length;c--;)if(k[c].href===b)return a();setTimeout(function(){l(a)})};return i.addEventListener&&i.addEventListener("load",f),i.onloadcssdefined=l,l(f),i};"undefined"!=typeof exports?exports.loadCSS=b:a.loadCSS=b}("undefined"!=typeof global?global:this);!function(a){if(a.loadCSS){var b=loadCSS.relpreload={};if(b.support=function(){try{return a.document.createElement("link").relList.supports("preload")}catch(b){return!1}},b.poly=function(){for(var b=a.document.getElementsByTagName("link"),c=0;c<b.length;c++){var d=b[c];"preload"===d.rel&&"style"===d.getAttribute("as")&&(a.loadCSS(d.href,d,d.getAttribute("media")),d.rel=null)}},!b.support()){b.poly();var c=a.setInterval(b.poly,300);a.addEventListener&&a.addEventListener("load",function(){b.poly(),a.clearInterval(c)}),a.attachEvent&&a.attachEvent("onload",function(){a.clearInterval(c)})}}}(this);PK�^�\�2���Y�Ylitespeed-cache/composer.locknu�[���{
    "_readme": [
        "This file locks the dependencies of your project to a known state",
        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
        "This file is @generated automatically"
    ],
    "content-hash": "8c6cb907d697cb733facab6d72af1add",
    "packages": [],
    "packages-dev": [
        {
            "name": "dealerdirect/phpcodesniffer-composer-installer",
            "version": "v1.0.0",
            "source": {
                "type": "git",
                "url": "https://github.com/PHPCSStandards/composer-installer.git",
                "reference": "4be43904336affa5c2f70744a348312336afd0da"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da",
                "reference": "4be43904336affa5c2f70744a348312336afd0da",
                "shasum": ""
            },
            "require": {
                "composer-plugin-api": "^1.0 || ^2.0",
                "php": ">=5.4",
                "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0"
            },
            "require-dev": {
                "composer/composer": "*",
                "ext-json": "*",
                "ext-zip": "*",
                "php-parallel-lint/php-parallel-lint": "^1.3.1",
                "phpcompatibility/php-compatibility": "^9.0",
                "yoast/phpunit-polyfills": "^1.0"
            },
            "type": "composer-plugin",
            "extra": {
                "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
            },
            "autoload": {
                "psr-4": {
                    "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Franck Nijhof",
                    "email": "franck.nijhof@dealerdirect.com",
                    "homepage": "http://www.frenck.nl",
                    "role": "Developer / IT Manager"
                },
                {
                    "name": "Contributors",
                    "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors"
                }
            ],
            "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
            "homepage": "http://www.dealerdirect.com",
            "keywords": [
                "PHPCodeSniffer",
                "PHP_CodeSniffer",
                "code quality",
                "codesniffer",
                "composer",
                "installer",
                "phpcbf",
                "phpcs",
                "plugin",
                "qa",
                "quality",
                "standard",
                "standards",
                "style guide",
                "stylecheck",
                "tests"
            ],
            "support": {
                "issues": "https://github.com/PHPCSStandards/composer-installer/issues",
                "source": "https://github.com/PHPCSStandards/composer-installer"
            },
            "time": "2023-01-05T11:28:13+00:00"
        },
        {
            "name": "php-stubs/wordpress-stubs",
            "version": "v6.8.1",
            "source": {
                "type": "git",
                "url": "https://github.com/php-stubs/wordpress-stubs.git",
                "reference": "92e444847d94f7c30f88c60004648f507688acd5"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/92e444847d94f7c30f88c60004648f507688acd5",
                "reference": "92e444847d94f7c30f88c60004648f507688acd5",
                "shasum": ""
            },
            "conflict": {
                "phpdocumentor/reflection-docblock": "5.6.1"
            },
            "require-dev": {
                "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
                "nikic/php-parser": "^5.4",
                "php": "^7.4 || ^8.0",
                "php-stubs/generator": "^0.8.3",
                "phpdocumentor/reflection-docblock": "^5.4.1",
                "phpstan/phpstan": "^2.1",
                "phpunit/phpunit": "^9.5",
                "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.1.1",
                "wp-coding-standards/wpcs": "3.1.0 as 2.3.0"
            },
            "suggest": {
                "paragonie/sodium_compat": "Pure PHP implementation of libsodium",
                "symfony/polyfill-php80": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
                "szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan"
            },
            "type": "library",
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "description": "WordPress function and class declaration stubs for static analysis.",
            "homepage": "https://github.com/php-stubs/wordpress-stubs",
            "keywords": [
                "PHPStan",
                "static analysis",
                "wordpress"
            ],
            "support": {
                "issues": "https://github.com/php-stubs/wordpress-stubs/issues",
                "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.8.1"
            },
            "time": "2025-05-02T12:33:34+00:00"
        },
        {
            "name": "php-stubs/wp-cli-stubs",
            "version": "v2.12.0",
            "source": {
                "type": "git",
                "url": "https://github.com/php-stubs/wp-cli-stubs.git",
                "reference": "af16401e299a3fd2229bd0fa9a037638a4174a9d"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-stubs/wp-cli-stubs/zipball/af16401e299a3fd2229bd0fa9a037638a4174a9d",
                "reference": "af16401e299a3fd2229bd0fa9a037638a4174a9d",
                "shasum": ""
            },
            "require": {
                "php-stubs/wordpress-stubs": "^4.7 || ^5.0 || ^6.0"
            },
            "require-dev": {
                "php": "~7.3 || ~8.0",
                "php-stubs/generator": "^0.8.0"
            },
            "suggest": {
                "symfony/polyfill-php73": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
                "szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan"
            },
            "type": "library",
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "description": "WP-CLI function and class declaration stubs for static analysis.",
            "homepage": "https://github.com/php-stubs/wp-cli-stubs",
            "keywords": [
                "PHPStan",
                "static analysis",
                "wordpress",
                "wp-cli"
            ],
            "support": {
                "issues": "https://github.com/php-stubs/wp-cli-stubs/issues",
                "source": "https://github.com/php-stubs/wp-cli-stubs/tree/v2.12.0"
            },
            "time": "2025-06-10T09:58:05+00:00"
        },
        {
            "name": "phpcompatibility/php-compatibility",
            "version": "9.3.5",
            "source": {
                "type": "git",
                "url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
                "reference": "9fb324479acf6f39452e0655d2429cc0d3914243"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243",
                "reference": "9fb324479acf6f39452e0655d2429cc0d3914243",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3",
                "squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
            },
            "conflict": {
                "squizlabs/php_codesniffer": "2.6.2"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
            },
            "suggest": {
                "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
                "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
            },
            "type": "phpcodesniffer-standard",
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "LGPL-3.0-or-later"
            ],
            "authors": [
                {
                    "name": "Wim Godden",
                    "homepage": "https://github.com/wimg",
                    "role": "lead"
                },
                {
                    "name": "Juliette Reinders Folmer",
                    "homepage": "https://github.com/jrfnl",
                    "role": "lead"
                },
                {
                    "name": "Contributors",
                    "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors"
                }
            ],
            "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.",
            "homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
            "keywords": [
                "compatibility",
                "phpcs",
                "standards"
            ],
            "support": {
                "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues",
                "source": "https://github.com/PHPCompatibility/PHPCompatibility"
            },
            "time": "2019-12-27T09:44:58+00:00"
        },
        {
            "name": "phpcsstandards/phpcsextra",
            "version": "1.3.0",
            "source": {
                "type": "git",
                "url": "https://github.com/PHPCSStandards/PHPCSExtra.git",
                "reference": "46d08eb86eec622b96c466adec3063adfed280dd"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/46d08eb86eec622b96c466adec3063adfed280dd",
                "reference": "46d08eb86eec622b96c466adec3063adfed280dd",
                "shasum": ""
            },
            "require": {
                "php": ">=5.4",
                "phpcsstandards/phpcsutils": "^1.0.9",
                "squizlabs/php_codesniffer": "^3.12.1"
            },
            "require-dev": {
                "php-parallel-lint/php-console-highlighter": "^1.0",
                "php-parallel-lint/php-parallel-lint": "^1.3.2",
                "phpcsstandards/phpcsdevcs": "^1.1.6",
                "phpcsstandards/phpcsdevtools": "^1.2.1",
                "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
            },
            "type": "phpcodesniffer-standard",
            "extra": {
                "branch-alias": {
                    "dev-stable": "1.x-dev",
                    "dev-develop": "1.x-dev"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "LGPL-3.0-or-later"
            ],
            "authors": [
                {
                    "name": "Juliette Reinders Folmer",
                    "homepage": "https://github.com/jrfnl",
                    "role": "lead"
                },
                {
                    "name": "Contributors",
                    "homepage": "https://github.com/PHPCSStandards/PHPCSExtra/graphs/contributors"
                }
            ],
            "description": "A collection of sniffs and standards for use with PHP_CodeSniffer.",
            "keywords": [
                "PHP_CodeSniffer",
                "phpcbf",
                "phpcodesniffer-standard",
                "phpcs",
                "standards",
                "static analysis"
            ],
            "support": {
                "issues": "https://github.com/PHPCSStandards/PHPCSExtra/issues",
                "security": "https://github.com/PHPCSStandards/PHPCSExtra/security/policy",
                "source": "https://github.com/PHPCSStandards/PHPCSExtra"
            },
            "funding": [
                {
                    "url": "https://github.com/PHPCSStandards",
                    "type": "github"
                },
                {
                    "url": "https://github.com/jrfnl",
                    "type": "github"
                },
                {
                    "url": "https://opencollective.com/php_codesniffer",
                    "type": "open_collective"
                },
                {
                    "url": "https://thanks.dev/u/gh/phpcsstandards",
                    "type": "thanks_dev"
                }
            ],
            "time": "2025-04-20T23:35:32+00:00"
        },
        {
            "name": "phpcsstandards/phpcsutils",
            "version": "1.0.12",
            "source": {
                "type": "git",
                "url": "https://github.com/PHPCSStandards/PHPCSUtils.git",
                "reference": "87b233b00daf83fb70f40c9a28692be017ea7c6c"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/87b233b00daf83fb70f40c9a28692be017ea7c6c",
                "reference": "87b233b00daf83fb70f40c9a28692be017ea7c6c",
                "shasum": ""
            },
            "require": {
                "dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7 || ^1.0",
                "php": ">=5.4",
                "squizlabs/php_codesniffer": "^3.10.0 || 4.0.x-dev@dev"
            },
            "require-dev": {
                "ext-filter": "*",
                "php-parallel-lint/php-console-highlighter": "^1.0",
                "php-parallel-lint/php-parallel-lint": "^1.3.2",
                "phpcsstandards/phpcsdevcs": "^1.1.6",
                "yoast/phpunit-polyfills": "^1.1.0 || ^2.0.0"
            },
            "type": "phpcodesniffer-standard",
            "extra": {
                "branch-alias": {
                    "dev-stable": "1.x-dev",
                    "dev-develop": "1.x-dev"
                }
            },
            "autoload": {
                "classmap": [
                    "PHPCSUtils/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "LGPL-3.0-or-later"
            ],
            "authors": [
                {
                    "name": "Juliette Reinders Folmer",
                    "homepage": "https://github.com/jrfnl",
                    "role": "lead"
                },
                {
                    "name": "Contributors",
                    "homepage": "https://github.com/PHPCSStandards/PHPCSUtils/graphs/contributors"
                }
            ],
            "description": "A suite of utility functions for use with PHP_CodeSniffer",
            "homepage": "https://phpcsutils.com/",
            "keywords": [
                "PHP_CodeSniffer",
                "phpcbf",
                "phpcodesniffer-standard",
                "phpcs",
                "phpcs3",
                "standards",
                "static analysis",
                "tokens",
                "utility"
            ],
            "support": {
                "docs": "https://phpcsutils.com/",
                "issues": "https://github.com/PHPCSStandards/PHPCSUtils/issues",
                "security": "https://github.com/PHPCSStandards/PHPCSUtils/security/policy",
                "source": "https://github.com/PHPCSStandards/PHPCSUtils"
            },
            "funding": [
                {
                    "url": "https://github.com/PHPCSStandards",
                    "type": "github"
                },
                {
                    "url": "https://github.com/jrfnl",
                    "type": "github"
                },
                {
                    "url": "https://opencollective.com/php_codesniffer",
                    "type": "open_collective"
                }
            ],
            "time": "2024-05-20T13:34:27+00:00"
        },
        {
            "name": "squizlabs/php_codesniffer",
            "version": "3.13.0",
            "source": {
                "type": "git",
                "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
                "reference": "65ff2489553b83b4597e89c3b8b721487011d186"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/65ff2489553b83b4597e89c3b8b721487011d186",
                "reference": "65ff2489553b83b4597e89c3b8b721487011d186",
                "shasum": ""
            },
            "require": {
                "ext-simplexml": "*",
                "ext-tokenizer": "*",
                "ext-xmlwriter": "*",
                "php": ">=5.4.0"
            },
            "require-dev": {
                "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
            },
            "bin": [
                "bin/phpcbf",
                "bin/phpcs"
            ],
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "3.x-dev"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "BSD-3-Clause"
            ],
            "authors": [
                {
                    "name": "Greg Sherwood",
                    "role": "Former lead"
                },
                {
                    "name": "Juliette Reinders Folmer",
                    "role": "Current lead"
                },
                {
                    "name": "Contributors",
                    "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
                }
            ],
            "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
            "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
            "keywords": [
                "phpcs",
                "standards",
                "static analysis"
            ],
            "support": {
                "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues",
                "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy",
                "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
                "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki"
            },
            "funding": [
                {
                    "url": "https://github.com/PHPCSStandards",
                    "type": "github"
                },
                {
                    "url": "https://github.com/jrfnl",
                    "type": "github"
                },
                {
                    "url": "https://opencollective.com/php_codesniffer",
                    "type": "open_collective"
                },
                {
                    "url": "https://thanks.dev/u/gh/phpcsstandards",
                    "type": "thanks_dev"
                }
            ],
            "time": "2025-05-11T03:36:00+00:00"
        },
        {
            "name": "wp-coding-standards/wpcs",
            "version": "3.1.0",
            "source": {
                "type": "git",
                "url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
                "reference": "9333efcbff231f10dfd9c56bb7b65818b4733ca7"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/9333efcbff231f10dfd9c56bb7b65818b4733ca7",
                "reference": "9333efcbff231f10dfd9c56bb7b65818b4733ca7",
                "shasum": ""
            },
            "require": {
                "ext-filter": "*",
                "ext-libxml": "*",
                "ext-tokenizer": "*",
                "ext-xmlreader": "*",
                "php": ">=5.4",
                "phpcsstandards/phpcsextra": "^1.2.1",
                "phpcsstandards/phpcsutils": "^1.0.10",
                "squizlabs/php_codesniffer": "^3.9.0"
            },
            "require-dev": {
                "php-parallel-lint/php-console-highlighter": "^1.0.0",
                "php-parallel-lint/php-parallel-lint": "^1.3.2",
                "phpcompatibility/php-compatibility": "^9.0",
                "phpcsstandards/phpcsdevtools": "^1.2.0",
                "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
            },
            "suggest": {
                "ext-iconv": "For improved results",
                "ext-mbstring": "For improved results"
            },
            "type": "phpcodesniffer-standard",
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Contributors",
                    "homepage": "https://github.com/WordPress/WordPress-Coding-Standards/graphs/contributors"
                }
            ],
            "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
            "keywords": [
                "phpcs",
                "standards",
                "static analysis",
                "wordpress"
            ],
            "support": {
                "issues": "https://github.com/WordPress/WordPress-Coding-Standards/issues",
                "source": "https://github.com/WordPress/WordPress-Coding-Standards",
                "wiki": "https://github.com/WordPress/WordPress-Coding-Standards/wiki"
            },
            "funding": [
                {
                    "url": "https://opencollective.com/php_codesniffer",
                    "type": "custom"
                }
            ],
            "time": "2024-03-25T16:39:00+00:00"
        }
    ],
    "aliases": [],
    "minimum-stability": "stable",
    "stability-flags": {},
    "prefer-stable": true,
    "prefer-lowest": false,
    "platform": {},
    "platform-dev": {},
    "plugin-api-version": "2.6.0"
}
PK�^�\\&��rrlitespeed-cache/security.mdnu�[���# Security Policy

## Reporting Security Bugs

We take security seriously. Please report potential vulnerabilities found in the LiteSpeed Cache plugin's source code via email to `support@litespeedtech.com` or open a ticket from your LiteSpeed Client Area.

Please see [Reporting Vulnerabilities](https://www.litespeedtech.com/report-security-bugs) for more information.
PK�^�\����yy%litespeed-cache/data/optm_uri_exc.txtnu�[���# Predefined list for excluding URI from page optimization #
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/optm_uri_exc.txt We will merge into next plugin release

# URI excludes
.well-knownPK�^�\J�<��'litespeed-cache/data/ccss_whitelist.txtnu�[���# Predefined list for CCSS whitelist #
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/ccss_whitelist.txt We will merge into next plugin release


############# DoBar compatibility #############
.pace-inactive

############# DIVI ################
.et_pb_number_counter.active
PK�^�\�}�FAAlitespeed-cache/data/gm_uas.txtnu�[���Lighthouse
GTmetrix
Google
Pingdom
bot
spider
PTST
HeadlessChromePK�^�\����*litespeed-cache/data/cache_nocacheable.txtnu�[���# Predefined list for Do Not Cache URIs #
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/cache_nocacheable.txt We will merge into next plugin release


# WP v6.6 Official Site Editor (Appearance >> Editor)
^/wp-json/wp/v2

# Elementor API
^/wp-json/elementor/v1PK�^�\�%	O{{#litespeed-cache/data/esi.nonces.txtnu�[���## To predefine more list, please submit a PR to https://github.com/litespeedtech/lscache_wp/blob/dev/data/esi.nonces.txt
## 	 Comment Format:
## 		1. `# this is comment`
## 		2. `##this is comment`


## Predefined elsewhere so not needed here:

## WordPress core
# stats_nonce
# subscribe_nonce

# Divi Theme Builder
# et-pb-contact-form-submit
# et_frontend_nonce
# et_ab_log_nonce

# WooCommerce PayPal Checkout
# _wc_ppec_update_shipping_costs_nonce private
# _wc_ppec_start_checkout_nonce private
# _wc_ppec_generate_cart_nonce private

# User Switching
# switch_to_olduser_'<ID>'

# Caldera Forms
# caldera_forms_front_*


## Predefined list of ESI nonces:

# WordPress REST nonce
wp_rest

# CM Registration Pro
cmreg_registration_nonce private
role_nonce private

# WooCommerce Delivery Area Pro #16843635
wdap-call-nonce private

# SEOpress Cookie Consent
seopress_cookies_user_consent_nonce

# SearchWP Metrics
swpmtxnonce

# The Events Calendar
_tec_view_rest_nonce_primary
_tec_view_rest_nonce_secondary

# wpDataTables #986128
wdt*

# WPBakery gallery
_vcnonce
data-vc-public-nonce

# Extra Theme
rating_nonce
timeline_nonce
blog_feed_nonce

# WS Form
wsf_post

# Easy Digital Download (EDD)
edd-* private
edd_* private

# WP Menu Cart
wpmenucart private

# Advanced Custom Fields + Advanced Forms
acf_nonce
af_form_nonce
af_submission_*

# Woo nonce
woocommerce-login

# Premium Addons for Elementor
pa-blog-widget-nonce

# WPUF User Frontend
wpuf* private

# MetForm
form_nonce

# Mobile hamburger menu - jetMenu #306983 #163710 PR#419
tgmpa-*
bulk-*

# WP Data Access
wpda-*

# Elementor
elementor-pro-frontend
elementor-conversion-center-clickPK�^�\3J���*litespeed-cache/data/js_defer_excludes.txtnu�[���# Predefined list for excluding deferred JS files or inline JS codes #
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_defer_excludes.txt We will merge into next plugin release

# JS file URL excludes
adsbygoogle

## JetPack Stats
stats.wp.com/e-
_stq

# Cloudflare turnstile - Tobolo
turnstile
challenges.cloudflare.comPK�^�\sW���"litespeed-cache/data/esi.nonce.txtnu�[���# !!!!! Legacy file for v3.5.1- !!!!!

## Predefined elsewhere so not needed here:

## WordPress core
#stats_nonce
#subscribe_nonce

# Divi Theme Builder
#et-pb-contact-form-submit
#et_frontend_nonce
#et_ab_log_nonce

# WooCommerce PayPal Checkout
#_wc_ppec_update_shipping_costs_nonce private
#_wc_ppec_start_checkout_nonce private
#_wc_ppec_generate_cart_nonce private

# User Switching
#switch_to_olduser_'<ID>'

# Caldera Forms
#caldera_forms_front_*

## Predefined list of ESI nonces:

# CM Registration Pro
cmreg_registration_nonce private
role_nonce private

# WooCommerce Delivery Area Pro #16843635
wdap-call-nonce private

# SEOpress Cookie Consent
seopress_cookies_user_consent_nonce

#SearchWP Metrics
swpmtxnonce

#wpDataTables #986128
wdt*
PK�^�\����//$litespeed-cache/data/js_excludes.txtnu�[���# Predefined list for excluding JS files or inline JS codes #
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_excludes.txt We will merge into next plugin release

# JS file URL excludes
maps-api-ssl.google.com
maps.google.com/maps
maps.googleapis.com
google.com/recaptcha
google-analytics.com/analytics.js
stats.wp.com
js.stripe.com
paypal.com/sdk/js
cse.google.com/cse.js
/syntaxhighlighter/
spotlight-social-photo-feeds ## https://docs.spotlightwp.com/article/757-autoptimize-compatibility @Tobolo
userway.org

# Inline JS excludes
document.write
gtag
gtm
dataLayer
adsbygoogle

block_tdi_ ## Theme: Newspaper by tagDiv.com

data-view-breakpoint-pointer ## Plugin: The Events Calendar by Modern Tribe (https://theeventscalendar.com/)

wp-json/wp-statistics ## WP Statistics

## JetPack Stats
stats.wp.com/e-
_stq

# Cloudflare turnstile - Tobolo
turnstile
challenges.cloudflare.comPK�^�\�hn��litespeed-cache/data/gm_ips.txtnu�[���66.102.0.0/20
66.249.64.0/19
74.125.0.0/16
142.250.0.0/15
172.255.48.128/27
172.255.61.32/28
208.70.247.157
52.229.122.240
104.214.72.101
13.66.7.11
13.85.24.83
13.85.24.90
13.85.82.26
40.74.242.253
40.74.243.13
40.74.243.176
104.214.48.247
157.55.189.189
104.214.110.135
70.37.83.240
65.52.36.250
13.78.216.56
52.162.212.163
23.96.34.105
65.52.113.236
104.41.2.19
191.235.98.164
191.235.99.221
191.232.194.51
52.237.235.185
52.237.250.73
52.237.236.145
104.211.143.8
104.211.165.53
52.172.14.87
40.83.89.214
52.175.57.81
20.188.63.151
20.52.36.49
52.246.165.153
51.144.102.233
13.76.97.224
102.133.169.66
52.231.199.170
13.53.162.7
40.123.218.94PK�^�\T8���/litespeed-cache/data/const.network_default.jsonnu�[���{
	"cache": false,
	"use_primary_settings": false,
	"auto_upgrade": false,
	"cache-resources": true,
	"cache-browser": false,
	"cache-mobile": false,
	"cache-mobile_rules": "Mobile\nAndroid\nSilk/\nKindle\nBlackBerry\nOpera Mini\nOpera Mobi",
	"cache-drop_qs": "fbclid\ngclid\nutm*\n_ga",
	"cache-login_cookie": "",
	"cache-exc_cookies": "",
	"cache-exc_useragents": "",
	"cache-ttl_browser": 31557600,
	"purge-upgrade": false,
	"object": false,
	"object-kind": false,
	"object-host": "localhost",
	"object-port": 11211,
	"object-life": 360,
	"object-persistent": true,
	"object-admin": true,
	"object-transients": true,
	"object-db_id": 0,
	"object-user": "",
	"object-pswd": "",
	"object-global_groups": "users\nuserlogins\nusermeta\nuser_meta\nuseremail\nuserslugs\nsites\nsite-details\nsite-transient\nsite-options\nsite-lookup\nblog-lookup\nblog-id-cache\nblog-details\nnetworks\nrss\nglobal-posts\nglobal-cache-test",
	"object-non_persistent_groups": "comment\ncounts\nplugins",
	"debug-disable_all": false,
	"debug": false,
	"debug-ips": "127.0.0.1",
	"debug-level": false,
	"debug-filesize": 3,
	"debug-collapse_qs": false,
	"debug-inc": "",
	"debug-exc": "",
	"debug-exc_strings": "",
	"img_optm-webp": false
}
PK�^�\ɦ���+litespeed-cache/data/preset/essentials.datanu�[���["_version","5.3"]

["guest",false]

["guest_optm",false]

["cache",true]

["cache-priv",true]

["cache-commenter",true]

["cache-rest",true]

["cache-page_login",true]

["cache-resources",true]

["cache-mobile",false]

["cache-browser",true]

["esi",false]

["esi-cache_admbar",true]

["esi-cache_commform",true]

["util-instant_click",false]

["util-no_https_vary",false]

["optm-css_min",false]

["optm-css_comb",false]

["optm-css_comb_ext_inl",true]

["optm-ucss",false]

["optm-ucss_inline",false]

["optm-js_min",false]

["optm-js_comb",false]

["optm-js_comb_ext_inl",true]

["optm-html_min",false]

["optm-qs_rm",false]

["optm-ggfonts_rm",false]

["optm-css_async",false]

["optm-ccss_per_url",false]

["optm-css_async_inline",true]

["optm-css_font_display",false]

["optm-js_defer",0]

["optm-emoji_rm",false]

["optm-noscript_rm",false]

["optm-ggfonts_async",false]

["optm-dns_prefetch_ctrl",false]

["optm-guest_only",true]

["discuss-avatar_cache",false]

["discuss-avatar_cron",false]

["optm-localize",false]

["media-lazy",false]

["media-lazy_placeholder",""]

["media-placeholder_resp",false]

["media-lqip",false]

["media-placeholder_resp_async",true]

["media-iframe_lazy",false]

["media-add_missing_sizes",false]

["media-vpi",false]

["media-vpi_cron",false]

["img_optm-auto",false]

["img_optm-ori",true]

["img_optm-rm_bkup",false]

["img_optm-webp",false]

["img_optm-lossless",false]

["img_optm-exif",false]

["img_optm-webp_replace_srcset",false]
PK�^�\�����)litespeed-cache/data/preset/advanced.datanu�[���["_version","5.3"]

["guest",true]

["guest_optm",true]

["cache",true]

["cache-priv",true]

["cache-commenter",true]

["cache-rest",true]

["cache-page_login",true]

["cache-resources",true]

["cache-mobile",true]

["cache-browser",true]

["esi",false]

["esi-cache_admbar",true]

["esi-cache_commform",true]

["util-instant_click",false]

["util-no_https_vary",false]

["optm-css_min",true]

["optm-css_comb",false]

["optm-css_comb_ext_inl",false]

["optm-ucss",false]

["optm-ucss_inline",false]

["optm-js_min",true]

["optm-js_comb",false]

["optm-js_comb_ext_inl",false]

["optm-html_min",true]

["optm-qs_rm",true]

["optm-ggfonts_rm",false]

["optm-css_async",false]

["optm-ccss_per_url",false]

["optm-css_async_inline",false]

["optm-css_font_display",true]

["optm-js_defer",1]

["optm-emoji_rm",true]

["optm-noscript_rm",true]

["optm-ggfonts_async",false]

["optm-dns_prefetch_ctrl",true]

["optm-guest_only",true]

["discuss-avatar_cache",true]

["discuss-avatar_cron",true]

["optm-localize",false]

["media-lazy",false]

["media-lazy_placeholder",""]

["media-placeholder_resp",false]

["media-lqip",false]

["media-placeholder_resp_async",true]

["media-iframe_lazy",false]

["media-add_missing_sizes",false]

["media-vpi",false]

["media-vpi_cron",false]

["img_optm-auto",true]

["img_optm-ori",true]

["img_optm-rm_bkup",false]

["img_optm-webp",true]

["img_optm-lossless",false]

["img_optm-exif",false]

["img_optm-webp_replace_srcset",true]
PK�^�\��X8��+litespeed-cache/data/preset/aggressive.datanu�[���["_version","5.3"]

["guest",true]

["guest_optm",true]

["cache",true]

["cache-priv",true]

["cache-commenter",true]

["cache-rest",true]

["cache-page_login",true]

["cache-resources",true]

["cache-mobile",true]

["cache-browser",true]

["esi",false]

["esi-cache_admbar",true]

["esi-cache_commform",true]

["util-instant_click",false]

["util-no_https_vary",false]

["optm-css_min",true]

["optm-css_comb",true]

["optm-css_comb_ext_inl",false]

["optm-ucss",true]

["optm-ucss_inline",false]

["optm-js_min",true]

["optm-js_comb",true]

["optm-js_comb_ext_inl",false]

["optm-html_min",true]

["optm-qs_rm",true]

["optm-ggfonts_rm",false]

["optm-css_async",true]

["optm-ccss_per_url",true]

["optm-css_async_inline",true]

["optm-css_font_display",true]

["optm-js_defer",1]

["optm-emoji_rm",true]

["optm-noscript_rm",true]

["optm-ggfonts_async",false]

["optm-dns_prefetch_ctrl",true]

["optm-guest_only",true]

["discuss-avatar_cache",true]

["discuss-avatar_cron",true]

["optm-localize",false]

["media-lazy",false]

["media-lazy_placeholder",""]

["media-placeholder_resp",false]

["media-lqip",false]

["media-placeholder_resp_async",true]

["media-iframe_lazy",true]

["media-add_missing_sizes",false]

["media-vpi",false]

["media-vpi_cron",false]

["img_optm-auto",true]

["img_optm-ori",true]

["img_optm-rm_bkup",false]

["img_optm-webp",true]

["img_optm-lossless",false]

["img_optm-exif",false]

["img_optm-webp_replace_srcset",true]
PK�^�\�D�(litespeed-cache/data/preset/extreme.datanu�[���["_version","5.3"]

["guest",true]

["guest_optm",true]

["cache",true]

["cache-priv",true]

["cache-commenter",true]

["cache-rest",true]

["cache-page_login",true]

["cache-resources",true]

["cache-mobile",true]

["cache-browser",true]

["esi",false]

["esi-cache_admbar",true]

["esi-cache_commform",true]

["util-instant_click",false]

["util-no_https_vary",false]

["optm-css_min",true]

["optm-css_comb",true]

["optm-css_comb_ext_inl",true]

["optm-ucss",true]

["optm-ucss_inline",false]

["optm-js_min",true]

["optm-js_comb",true]

["optm-js_comb_ext_inl",true]

["optm-html_min",true]

["optm-qs_rm",true]

["optm-ggfonts_rm",false]

["optm-css_async",true]

["optm-ccss_per_url",true]

["optm-css_async_inline",true]

["optm-css_font_display",true]

["optm-js_defer",2]

["optm-emoji_rm",true]

["optm-noscript_rm",true]

["optm-ggfonts_async",false]

["optm-dns_prefetch_ctrl",true]

["optm-guest_only",true]

["discuss-avatar_cache",true]

["discuss-avatar_cron",true]

["optm-localize",false]

["media-lazy",true]

["media-lazy_placeholder","data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"]

["media-placeholder_resp",true]

["media-lqip",true]

["media-placeholder_resp_async",true]

["media-iframe_lazy",true]

["media-add_missing_sizes",true]

["media-vpi",true]

["media-vpi_cron",true]

["img_optm-auto",true]

["img_optm-ori",true]

["img_optm-rm_bkup",false]

["img_optm-webp",true]

["img_optm-lossless",false]

["img_optm-exif",false]

["img_optm-webp_replace_srcset",true]
PK�^�\�)�U��&litespeed-cache/data/preset/basic.datanu�[���["_version","5.3"]

["guest",false]

["guest_optm",false]

["cache",true]

["cache-priv",true]

["cache-commenter",true]

["cache-rest",true]

["cache-page_login",true]

["cache-resources",true]

["cache-mobile",true]

["cache-browser",true]

["esi",false]

["esi-cache_admbar",true]

["esi-cache_commform",true]

["util-instant_click",false]

["util-no_https_vary",false]

["optm-css_min",false]

["optm-css_comb",false]

["optm-css_comb_ext_inl",true]

["optm-ucss",false]

["optm-ucss_inline",false]

["optm-js_min",false]

["optm-js_comb",false]

["optm-js_comb_ext_inl",true]

["optm-html_min",false]

["optm-qs_rm",false]

["optm-ggfonts_rm",false]

["optm-css_async",false]

["optm-ccss_per_url",false]

["optm-css_async_inline",true]

["optm-css_font_display",false]

["optm-js_defer",0]

["optm-emoji_rm",false]

["optm-noscript_rm",false]

["optm-ggfonts_async",false]

["optm-dns_prefetch_ctrl",false]

["optm-guest_only",true]

["discuss-avatar_cache",false]

["discuss-avatar_cron",false]

["optm-localize",false]

["media-lazy",false]

["media-lazy_placeholder",""]

["media-placeholder_resp",false]

["media-lqip",false]

["media-placeholder_resp_async",true]

["media-iframe_lazy",false]

["media-add_missing_sizes",false]

["media-vpi",false]

["media-vpi_cron",false]

["img_optm-auto",true]

["img_optm-ori",true]

["img_optm-rm_bkup",false]

["img_optm-webp",true]

["img_optm-lossless",false]

["img_optm-exif",false]

["img_optm-webp_replace_srcset",true]
PK�^�\�ͧɯ�'litespeed-cache/data/const.default.jsonnu�[���{
	"auto_upgrade": "",
	"server_ip": "",
	"guest": "",
	"guest_optm": "",
	"news": "1",
	"cache-priv": "1",
	"cache-commenter": "1",
	"cache-rest": "1",
	"cache-page_login": "1",
	"cache-resources": "1",
	"cache-browser": "",
	"cache-mobile": "",
	"cache-mobile_rules": "Mobile\nAndroid\nSilk/\nKindle\nBlackBerry\nOpera Mini\nOpera Mobi",
	"cache-exc_useragents": "",
	"cache-exc_cookies": "",
	"cache-exc_qs": "",
	"cache-exc_cat": "",
	"cache-exc_tag": "",
	"cache-force_uri": "",
	"cache-force_pub_uri": "",
	"cache-priv_uri": "",
	"cache-exc": "",
	"cache-exc_roles": "",
	"cache-drop_qs": "fbclid\ngclid\nutm*\n_ga",
	"cache-ttl_pub": "604800",
	"cache-ttl_priv": "1800",
	"cache-ttl_frontpage": "604800",
	"cache-ttl_feed": "604800",
	"cache-ttl_rest": "604800",
	"cache-ttl_browser": "31557600",
	"cache-login_cookie": "",
	"cache-vary_group": "",
	"cache-ttl_status": "404 3600\n500 600",
	"purge-upgrade": "0",
	"purge-stale": "",
	"purge-post_all": "",
	"purge-post_f": "1",
	"purge-post_h": "1",
	"purge-post_p": "1",
	"purge-post_pwrp": "1",
	"purge-post_a": "1",
	"purge-post_y": "",
	"purge-post_m": "1",
	"purge-post_d": "",
	"purge-post_t": "1",
	"purge-post_pt": "1",
	"purge-timed_urls": "",
	"purge-timed_urls_time": "",
	"purge-hook_all": "switch_theme\nwp_create_nav_menu\nwp_update_nav_menu\nwp_delete_nav_menu\ncreate_term\nedit_terms\ndelete_term\nadd_link\nedit_link\ndelete_link",
	"esi": "",
	"esi-cache_admbar": "1",
	"esi-cache_commform": "1",
	"esi-nonce": "stats_nonce\nsubscribe_nonce",
	"util-heartbeat": "1",
	"util-instant_click": "",
	"util-no_https_vary": "",
	"debug-disable_all": "",
	"debug": "",
	"debug-ips": "127.0.0.1",
	"debug-level": "",
	"debug-filesize": "3",
	"debug-collapse_qs": "",
	"debug-inc": "",
	"debug-exc": "",
	"debug-exc_strings": "",
	"db_optm-revisions_max": "0",
	"db_optm-revisions_age": "0",
	"optm-css_min": "",
	"optm-css_comb": "",
	"optm-css_comb_ext_inl": "1",
	"optm-ucss": "",
	"optm-ucss_inline": "",
	"optm-ucss_file_exc_inline": "",
	"optm-ucss_whitelist": "",
	"optm-ucss_exc": "",
	"optm-css_exc": "",
	"optm-js_min": "",
	"optm-js_comb": "",
	"optm-js_comb_ext_inl": "1",
	"optm-js_exc": "jquery.js\njquery.min.js",
	"optm-html_min": "",
	"optm-html_lazy": "",
	"optm-qs_rm": "",
	"optm-ggfonts_rm": "",
	"optm-css_async": "",
	"optm-ccss_per_url": "",
	"optm-ccss_whitelist": "",
	"optm-css_async_inline": "1",
	"optm-css_font_display": "",
	"optm-js_defer": "",
	"optm-emoji_rm": "",
	"optm-noscript_rm": "",
	"optm-ggfonts_async": "",
	"optm-exc_roles": "",
	"optm-ccss_con": "",
	"optm-ccss_sep_posttype": "page",
	"optm-ccss_sep_uri": "",
	"optm-js_defer_exc": "jquery.js\njquery.min.js\ngtm.js\nanalytics.js",
	"optm-gm_js_exc": "",
	"optm-dns_prefetch": "",
	"optm-dns_prefetch_ctrl": "",
	"optm-dns_preconnect": "",
	"optm-exc": "",
	"optm-guest_only": "1",
	"object": "",
	"object-kind": "",
	"object-host": "localhost",
	"object-port": "11211",
	"object-life": "360",
	"object-persistent": "1",
	"object-admin": "1",
	"object-transients": "1",
	"object-db_id": "0",
	"object-user": "",
	"object-pswd": "",
	"object-global_groups": "users\nuserlogins\nuseremail\nuserslugs\nusermeta\nuser_meta\nsite-transient\nsite-options\nsite-lookup\nsite-details\nblog-lookup\nblog-details\nblog-id-cache\nrss\nglobal-posts\nglobal-cache-test",
	"object-non_persistent_groups": "comment\ncounts\nplugins\nwc_session_id",
	"discuss-avatar_cache": "",
	"discuss-avatar_cron": "",
	"discuss-avatar_cache_ttl": "604800",
	"optm-localize": "",
	"optm-localize_domains": "### Popular scripts ###\nhttps://platform.twitter.com/widgets.js\nhttps://connect.facebook.net/en_US/fbevents.js",
	"media-lazy": "",
	"media-lazy_placeholder": "",
	"media-placeholder_resp": "",
	"media-placeholder_resp_color": "#cfd4db",
	"media-placeholder_resp_svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"{width}\" height=\"{height}\" viewBox=\"0 0 {width} {height}\"><rect width=\"100%\" height=\"100%\" style=\"fill:{color};fill-opacity: 0.1;\"/></svg>",
	"media-lqip": "",
	"media-lqip_qual": "4",
	"media-lqip_min_w": "150",
	"media-lqip_min_h": "150",
	"media-placeholder_resp_async": "1",
	"media-iframe_lazy": "",
	"media-add_missing_sizes": "",
	"media-lazy_exc": "",
	"media-lazy_cls_exc": "wmu-preview-img",
	"media-lazy_parent_cls_exc": "",
	"media-iframe_lazy_cls_exc": "",
	"media-iframe_lazy_parent_cls_exc": "",
	"media-lazy_uri_exc": "",
	"media-lqip_exc": "",
	"media-vpi": "",
	"media-vpi_cron": "",
	"img_optm-auto": "",
	"img_optm-ori": "1",
	"img_optm-rm_bkup": "",
	"img_optm-webp": "",
	"img_optm-lossless": "",
	"img_optm-exif": "1",
	"img_optm-webp_attr": "img.src\ndiv.data-thumb\nimg.data-src\nimg.data-lazyload\ndiv.data-large_image\nimg.retina_logo_url\ndiv.data-parallax-image\ndiv.data-vc-parallax-image\nvideo.poster",
	"img_optm-webp_replace_srcset": "",
	"img_optm-jpg_quality": "82",
	"crawler": "",
	"crawler-crawl_interval": "302400",
	"crawler-load_limit": "1",
	"crawler-sitemap": "",
	"crawler-roles": "",
	"crawler-cookies": "",
	"misc-heartbeat_front": "",
	"misc-heartbeat_front_ttl": "60",
	"misc-heartbeat_back": "",
	"misc-heartbeat_back_ttl": "60",
	"misc-heartbeat_editor": "",
	"misc-heartbeat_editor_ttl": "15",
	"cdn": "",
	"cdn-attr": ".src\n.data-src\n.href\n.poster\nsource.srcset",
	"cdn-ori": "",
	"cdn-ori_dir": "",
	"cdn-exc": "",
	"cdn-quic": "",
	"cdn-quic_email": "",
	"cdn-quic_key": "",
	"cdn-cloudflare": "",
	"cdn-cloudflare_email": "",
	"cdn-cloudflare_key": "",
	"cdn-cloudflare_name": "",
	"cdn-cloudflare_zone": "",
	"cdn-cloudflare_clear": "",
	"cdn-mapping": {
		"url": [""],
		"inc_js": ["1"],
		"inc_css": ["1"],
		"inc_img": ["1"],
		"filetype": [".aac\n.css\n.eot\n.gif\n.jpeg\n.jpg\n.js\n.less\n.mp3\n.mp4\n.ogg\n.otf\n.pdf\n.png\n.svg\n.ttf\n.webp\n.woff\n.woff2"]
	}
}
PK�^�\V�r=iilitespeed-cache/data/.htaccessnu�[���Order Deny,Allow
Deny from All

<IfModule LiteSpeed>
RewriteEngine on
RewriteRule .* - [F,L]
</IfModule>
PK�^�\�����%litespeed-cache/data/css_excludes.txtnu�[���# Predefined list for excluding CSS files or inline CSS codes #
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/css_excludes.txt We will merge into next plugin release

# CSS file URL excludes



# Inline CSS excludes

########## Flatsome theme random string excludes ############
#row-
#col-
#cats-
#stack-
#timer-
#gap-
#portfolio-
#image_
#banner-
#map-
#text-
#page-header-
#section_

.tdi_ # Theme: Newspaper by tagDiv.com 2020

######### WoodMart - Responsive WooCommerce WordPress Theme ########
.tabs-wd-
#wd-PK�^�\�9+���'litespeed-cache/data/ucss_whitelist.txtnu�[���# Predefined list for UCSS whitelist #
# Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line
# If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/ucss_whitelist.txt We will merge into next plugin release


############# DoBar compatibility #############
.pace-inactive

############# DIVI ################
.et_pb_number_counter.activePK�^�\�����litespeed-cache/composer.jsonnu�[���{
	"name": "litespeedtech/lscache_wp",
	"require-dev": {
		"squizlabs/php_codesniffer": "^3.12",
		"phpcompatibility/php-compatibility": "*",
		"wp-coding-standards/wpcs": "^3.1",
		"phpcsstandards/phpcsutils": "^1.0",
		"phpcsstandards/phpcsextra": "^1.2",
		"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
		"php-stubs/wp-cli-stubs": "^2.12"
	},
	"prefer-stable": true,
	"scripts": {
		"sniff-check": "vendor/bin/phpcs --standard=phpcs.ruleset.xml --no-cache cli/ lib/ src/ tpl/ thirdparty autoload.php litespeed-cache.php"
	},
	"config": {
		"allow-plugins": {
			"dealerdirect/phpcodesniffer-composer-installer": true
		}
	}
}
PK�^�\A贪((!litespeed-cache/phpcs.ruleset.xmlnu�[���<?xml version="1.0"?>
<ruleset name="CustomWordPress">
    <description>WordPress with no whitespace changes and relaxed rules</description>
    <rule ref="WordPress" />
    <rule ref="WordPress.WhiteSpace">
        <severity>0</severity>
    </rule>
    <rule ref="Generic.WhiteSpace">
        <severity>0</severity>
    </rule>
    <rule ref="Squiz.WhiteSpace">
        <severity>0</severity>
    </rule>
    <rule ref="PEAR.WhiteSpace">
        <severity>0</severity>
    </rule>
    <rule ref="WordPress.Arrays">
        <severity>0</severity>
    </rule>
    <rule ref="Generic.Functions.FunctionCallArgumentSpacing">
        <severity>0</severity>
    </rule>
    <rule ref="Squiz.Arrays.ArrayDeclaration">
        <severity>0</severity>
    </rule>
    <rule ref="Squiz.Functions.MultiLineFunctionDeclaration">
        <severity>0</severity>
    </rule>
    <rule ref="PEAR.Functions.FunctionCallSignature">
        <severity>0</severity>
    </rule>
    <rule ref="Generic.WhiteSpace.LanguageConstructSpacing">
        <severity>0</severity>
    </rule>
    <rule ref="Generic.Functions.CallTimePassByReference">
        <severity>0</severity>
        <exclude name="Generic.Functions.CallTimePassByReference" />
    </rule>
    <rule ref="Squiz.WhiteSpace.LanguageConstructSpacing">
        <severity>0</severity>
        <exclude name="Squiz.WhiteSpace.LanguageConstructSpacing" />
    </rule>
    <rule ref="Squiz.WhiteSpace.PropertyLabelSpacing">
        <severity>0</severity>
        <exclude name="Squiz.WhiteSpace.PropertyLabelSpacing" />
    </rule>
    <rule ref="WordPress.Files.FileName">
        <severity>0</severity>
    </rule>
    <rule ref="WordPress-Docs">
        <severity>0</severity>
    </rule>
    <rule ref="PSR2.Classes.PropertyDeclaration.Underscore">
        <exclude name="PSR2.Classes.PropertyDeclaration.Underscore"/>
    </rule>
    <rule ref="PSR2.Methods.MethodDeclaration.Underscore">
        <exclude name="PSR2.Methods.MethodDeclaration.Underscore"/>
    </rule>
    <rule ref="Universal.Arrays.DisallowShortArraySyntax">
        <severity>0</severity>
        <exclude name="Universal.Arrays.DisallowShortArraySyntax.Found"/>
    </rule>
    <rule ref="Squiz.PHP.CommentedOutCode">
        <severity>0</severity>
    </rule>
    <rule ref="Squiz.Commenting.InlineComment">
        <severity>0</severity>
    </rule>
    <rule ref="WordPress.WP.I18n">
        <severity>0</severity>
    </rule>
    <rule ref="WordPress.DB.DirectDatabaseQuery.NoCaching">
        <severity>0</severity>
    </rule>
    <rule ref="WordPress.Security" />
    <rule ref="WordPress.NamingConventions" />
    <rule ref="WordPress.PHP" />
    <file>cli/</file>
    <file>lib/</file>
    <file>src/</file>
    <file>tpl/</file>
    <file>thirdparty/</file>
    <file>autoload.php</file>
    <file>litespeed-cache.php</file>
</ruleset>PK�^�\��ePPlitespeed-cache/qc-ping.txtnu�[���For QUIC.cloud connectivity ping test, please do not delete, generated by LSCWP
PK�^�\�����litespeed-cache/package.jsonnu�[���{
	"name": "litespeed-cache",
	"description": "High-performance page caching and site optimization from LiteSpeed",
	"license": "GPLv3",
	"scripts": {
		"format-check": "vendor/bin/phpcs --standard=phpcs.ruleset.xml cli/ lib/ src/ tpl/ thirdparty autoload.php litespeed-cache.php",
		"install-composer-packages": "composer require --dev squizlabs/php_codesniffer:^3.12 wp-coding-standards/wpcs:^3.1 dealerdirect/phpcodesniffer-composer-installer:^1.0 && vendor/bin/phpcs --config-set installed_paths vendor/wp-coding-standards/wpcs,vendor/phpcsstandards/phpcsutils,vendor/phpcsstandards/phpcsextra",
		"sniff-check": "vendor/bin/phpcs --standard=phpcs.ruleset.xml cli/ lib/ src/ tpl/ thirdparty autoload.php litespeed-cache.php",
		"wpformat": "vendor/bin/phpcbf --standard=phpcs.ruleset.xml cli/ lib/ src/ tpl/ thirdparty autoload.php litespeed-cache.php"
	},
	"devDependencies": {
		"@prettier/plugin-php": "^0.21.0",
		"prettier": "^3.0.3"
	}
}
PK�^�\=g�M�M�litespeed-cache/LICENSEnu�[���                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
PK�^�\�66Ӈa�a#litespeed-cache/src/utility.cls.phpnu�[���<?php
/**
 * Utility helpers for LiteSpeed Cache.
 *
 * @since   1.1.5
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Miscellaneous utility methods used across the plugin.
 */
class Utility extends Root {

	/**
	 * Cached list of extra internal domains.
	 *
	 * @var array<int,string>|null
	 */
	private static $_internal_domains;

	/**
	 * Validate a list of regex rules by attempting to compile them.
	 *
	 * @since 1.0.9
	 * @since 3.0 Moved here from admin-settings.cls
	 * @param array<int,string> $rules Regex fragments (without delimiters).
	 * @return bool True for valid rules, false otherwise.
	 */
	public static function syntax_checker( $rules ) {
		return false !== preg_match( self::arr2regex( $rules ), '' );
	}

	/**
	 * Combine an array of strings into a single alternation regex.
	 *
	 * @since 3.0
	 *
	 * @param array<int,string> $arr            List of strings.
	 * @param bool              $drop_delimiter When true, return without regex delimiters.
	 * @return string Regex pattern.
	 */
	public static function arr2regex( $arr, $drop_delimiter = false ) {
		$arr = self::sanitize_lines( $arr );

		$new_arr = [];
		foreach ( $arr as $v ) {
			$new_arr[] = preg_quote( $v, '#' );
		}

		$regex = implode( '|', $new_arr );
		$regex = str_replace( ' ', '\\ ', $regex );

		if ( $drop_delimiter ) {
			return $regex;
		}

		return '#' . $regex . '#';
	}

	/**
	 * Replace wildcard characters in a string/array with their regex equivalents.
	 *
	 * @since 3.2.2
	 *
	 * @param string|array<int,string> $value String or list of strings.
	 * @return string|array<int,string>
	 */
	public static function wildcard2regex( $value ) {
		if ( is_array( $value ) ) {
			return array_map( __CLASS__ . '::wildcard2regex', $value );
		}

		if ( false !== strpos( $value, '*' ) ) {
			$value = preg_quote( $value, '#' );
			$value = str_replace( '\*', '.*', $value );
		}

		return $value;
	}

	/**
	 * Get current page type string.
	 *
	 * @since 2.9
	 *
	 * @return string Page type.
	 */
	public static function page_type() {
		global $wp_query;
		$page_type = 'default';

		if ( $wp_query->is_page ) {
			$page_type = is_front_page() ? 'front' : 'page';
		} elseif ( $wp_query->is_home ) {
			$page_type = 'home';
		} elseif ( $wp_query->is_single ) {
			$page_type = get_post_type();
		} elseif ( $wp_query->is_category ) {
			$page_type = 'category';
		} elseif ( $wp_query->is_tag ) {
			$page_type = 'tag';
		} elseif ( $wp_query->is_tax ) {
			$page_type = 'tax';
		} elseif ( $wp_query->is_archive ) {
			if ( $wp_query->is_day ) {
				$page_type = 'day';
			} elseif ( $wp_query->is_month ) {
				$page_type = 'month';
			} elseif ( $wp_query->is_year ) {
				$page_type = 'year';
			} elseif ( $wp_query->is_author ) {
				$page_type = 'author';
			} else {
				$page_type = 'archive';
			}
		} elseif ( $wp_query->is_search ) {
			$page_type = 'search';
		} elseif ( $wp_query->is_404 ) {
			$page_type = '404';
		}

		return $page_type;
	}

	/**
	 * Get ping speed to a domain via HTTP HEAD timing.
	 *
	 * @since 2.9
	 *
	 * @param string $domain Domain or URL.
	 * @return int Milliseconds (99999 on error).
	 */
	public static function ping( $domain ) {
		if ( false !== strpos( $domain, ':' ) ) {
			$host   = wp_parse_url( $domain, PHP_URL_HOST );
			$domain = $host ? $host : $domain;
		}
		$starttime = microtime(true);
		$file      = fsockopen($domain, 443, $errno, $errstr, 10); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_fsockopen
		$stoptime  = microtime(true);
		$status    = 0;

		if (!$file) {
			$status = 99999;
		} else {
			// Site is up
			fclose($file); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_fclose
			$status = ($stoptime - $starttime) * 1000;
			$status = floor($status);
		}

		Debug2::debug("[Util] ping [Domain] $domain \t[Speed] $status");

		return $status;
	}

	/**
	 * Convert seconds/timestamp to a readable relative time.
	 *
	 * @since 1.6.5
	 *
	 * @param int  $seconds_or_timestamp Seconds or 10-digit timestamp.
	 * @param int  $timeout              If older than this, show absolute time.
	 * @param bool $forward              When true, omit "ago".
	 * @return string Human readable time.
	 */
	public static function readable_time( $seconds_or_timestamp, $timeout = 3600, $forward = false ) {
		if ( 10 === strlen( (string) $seconds_or_timestamp ) ) {
			$seconds = time() - (int) $seconds_or_timestamp;
			if ( $seconds > $timeout ) {
				return gmdate( 'm/d/Y H:i:s', (int) $seconds_or_timestamp + (int) LITESPEED_TIME_OFFSET );
			}
		} else {
			$seconds = (int) $seconds_or_timestamp;
		}

		$res = '';
		if ( $seconds > 86400 ) {
			$num      = (int) floor( $seconds / 86400 );
			$res     .= $num . 'd';
			$seconds %= 86400;
		}

		if ( $seconds > 3600 ) {
			if ( $res ) {
				$res .= ', ';
			}
			$num      = (int) floor( $seconds / 3600 );
			$res     .= $num . 'h';
			$seconds %= 3600;
		}

		if ( $seconds > 60 ) {
			if ( $res ) {
				$res .= ', ';
			}
			$num      = (int) floor( $seconds / 60 );
			$res     .= $num . 'm';
			$seconds %= 60;
		}

		if ( $seconds > 0 ) {
			if ( $res ) {
				$res .= ' ';
			}
			$res .= $seconds . 's';
		}

		if ( ! $res ) {
			return $forward ? __( 'right now', 'litespeed-cache' ) : __( 'just now', 'litespeed-cache' );
		}

		return $forward ? $res : sprintf( __( ' %s ago', 'litespeed-cache' ), $res );
	}

	/**
	 * Convert array to a compact base64 JSON string.
	 *
	 * @since 1.6
	 *
	 * @param mixed $arr Input array or scalar.
	 * @return string|mixed Encoded string or original value.
	 */
	public static function arr2str( $arr ) {
		if ( ! is_array( $arr ) ) {
			return $arr;
		}

		return base64_encode( wp_json_encode( $arr ) ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode
	}

	/**
	 * Convert size in bytes to human readable form.
	 *
	 * @since 1.6
	 *
	 * @param int  $filesize Bytes.
	 * @param bool $is_1000  When true, use 1000-based units.
	 * @return string
	 */
	public static function real_size( $filesize, $is_1000 = false ) {
		$unit = $is_1000 ? 1000 : 1024;

		if ( $filesize >= pow( $unit, 3 ) ) {
			$filesize = round( ( $filesize / pow( $unit, 3 ) ) * 100 ) / 100 . 'G';
		} elseif ( $filesize >= pow( $unit, 2 ) ) {
			$filesize = round( ( $filesize / pow( $unit, 2 ) ) * 100 ) / 100 . 'M';
		} elseif ( $filesize >= $unit ) {
			$filesize = round( ( $filesize / $unit ) * 100 ) / 100 . 'K';
		} else {
			$filesize = $filesize . 'B';
		}
		return $filesize;
	}

	/**
	 * Parse HTML attribute string into an array.
	 *
	 * @since 1.2.2
	 * @since 1.4 Moved from optimize to utility
	 * @access private
	 *
	 * @param string $str Raw attribute string.
	 * @return array<string,string> Attributes.
	 */
	public static function parse_attr( $str ) {
		$attrs = [];
		preg_match_all( '#([\w-]+)=(["\'])([^\2]*)\2#isU', $str, $matches, PREG_SET_ORDER );
		foreach ( $matches as $match ) {
			$attrs[ $match[1] ] = trim( $match[3] );
		}
		return $attrs;
	}

	/**
	 * Search for a hit within an array of strings/rules.
	 *
	 * Supports ^prefix, suffix$, ^exact$, and substring.
	 *
	 * @since 1.3
	 * @access private
	 *
	 * @param string $needle   The string to compare.
	 * @param array  $haystack Array of rules/strings.
	 * @param bool   $has_ttl  When true, support "rule TTL" format.
	 * @return bool|string|array False if not found; matched item or [item, ttl] if has_ttl.
	 */
	public static function str_hit_array( $needle, $haystack, $has_ttl = false ) {
		if ( ! $haystack ) {
			return false;
		}
		if ( ! is_array( $haystack ) ) {
			Debug2::debug( '[Util] ❌ bad param in str_hit_array()!' );
			return false;
		}

		$hit      = false;
		$this_ttl = 0;
		foreach ( $haystack as $item ) {
			if ( ! $item ) {
				continue;
			}

			if ( $has_ttl ) {
				$this_ttl = 0;
				$item     = explode( ' ', $item );
				if ( ! empty( $item[1] ) ) {
					$this_ttl = $item[1];
				}
				$item = $item[0];
			}

			if ( '^' === substr( $item, 0, 1 ) && '$' === substr( $item, -1 ) ) {
				if ( substr( $item, 1, -1 ) === $needle ) {
					$hit = $item;
					break;
				}
			} elseif ( '$' === substr( $item, -1 ) ) {
				if ( substr( $item, 0, -1 ) === substr( $needle, -strlen( $item ) + 1 ) ) {
					$hit = $item;
					break;
				}
			} elseif ( '^' === substr( $item, 0, 1 ) ) {
				if ( substr( $item, 1 ) === substr( $needle, 0, strlen( $item ) - 1 ) ) {
					$hit = $item;
					break;
				}
			} elseif ( false !== strpos( $needle, $item ) ) {
				$hit = $item;
				break;
			}
		}

		if ( $hit ) {
			return $has_ttl ? [ $hit, $this_ttl ] : $hit;
		}

		return false;
	}

	/**
	 * Load PHP-compat library.
	 *
	 * @since 1.2.2
	 * @return void
	 */
	public static function compatibility() {
		require_once LSCWP_DIR . 'lib/php-compatibility.func.php';
	}

	/**
	 * Convert URI path to absolute URL.
	 *
	 * @since 1.3
	 *
	 * @param string $uri Relative path `/a/b.html` or `a/b.html`.
	 * @return string Absolute URL.
	 */
	public static function uri2url( $uri ) {
		if ( '/' === substr( $uri, 0, 1 ) ) {
			self::domain_const();
			$url = LSCWP_DOMAIN . $uri;
		} else {
			$url = home_url( '/' ) . $uri;
		}

		return $url;
	}

	/**
	 * Get basename from URL.
	 *
	 * @since 4.7
	 *
	 * @param string $url URL.
	 * @return string Basename.
	 */
	public static function basename( $url ) {
		$url      = trim( $url );
		$uri      = wp_parse_url( $url, PHP_URL_PATH );
		$basename = pathinfo( (string) $uri, PATHINFO_BASENAME );

		return $basename;
	}

	/**
	 * Drop .webp and .avif suffix from a filename.
	 *
	 * @since 4.7
	 *
	 * @param string $filename Filename.
	 * @return string Cleaned filename.
	 */
	public static function drop_webp( $filename ) {
		if ( in_array( substr( $filename, -5 ), [ '.webp', '.avif' ], true ) ) {
			$filename = substr( $filename, 0, -5 );
		}

		return $filename;
	}

	/**
	 * Convert URL to URI (optionally keep query).
	 *
	 * @since 1.2.2
	 * @since 1.6.2.1 Added 2nd param keep_qs
	 *
	 * @param string $url     URL.
	 * @param bool   $keep_qs Keep query string.
	 * @return string URI.
	 */
	public static function url2uri( $url, $keep_qs = false ) {
		$url = trim( $url );
		$uri = wp_parse_url( $url, PHP_URL_PATH );
		$qs  = wp_parse_url( $url, PHP_URL_QUERY );

		if ( ! $keep_qs || ! $qs ) {
			return (string) $uri;
		}

		return (string) $uri . '?' . $qs;
	}

	/**
	 * Get attachment relative path to upload folder.
	 *
	 * @since 3.0
	 *
	 * @param string $url Full attachment URL.
	 * @return string Relative upload path like `2018/08/file.jpg`.
	 */
	public static function att_short_path( $url ) {
		if ( ! defined( 'LITESPEED_UPLOAD_PATH' ) ) {
			$_wp_upload_dir = wp_upload_dir();

			$upload_path = self::url2uri( $_wp_upload_dir['baseurl'] );

			define( 'LITESPEED_UPLOAD_PATH', $upload_path );
		}

		$local_file = self::url2uri( $url );

		$short_path = substr( $local_file, strlen( LITESPEED_UPLOAD_PATH ) + 1 );

		return $short_path;
	}

	/**
	 * Make URL relative to the site root (preserves subdir).
	 *
	 * @param string $url Absolute URL.
	 * @return string Relative URL starting with '/'.
	 */
	public static function make_relative( $url ) {
		self::domain_const();
		if ( 0 === strpos( $url, LSCWP_DOMAIN ) ) {
			$url = substr( $url, strlen( LSCWP_DOMAIN ) );
		}
		return trim( $url );
	}

	/**
	 * Extract just the scheme+host portion from a URL.
	 *
	 * @since 1.7.1
	 *
	 * @param string $url URL.
	 * @return string Host-only URL (with scheme if available).
	 */
	public static function parse_domain( $url ) {
		$parsed = wp_parse_url( $url );
		if ( empty( $parsed['host'] ) ) {
			return '';
		}

		if ( ! empty( $parsed['scheme'] ) ) {
			return $parsed['scheme'] . '://' . $parsed['host'];
		}

		return '//' . $parsed['host'];
	}

	/**
	 * Drop protocol from URL (e.g., https://example.com -> //example.com).
	 *
	 * @since 3.3
	 *
	 * @param string $url URL.
	 * @return string Protocol-relative URL.
	 */
	public static function noprotocol( $url ) {
		$tmp = wp_parse_url( trim( $url ) );
		if ( ! empty( $tmp['scheme'] ) ) {
			$url = str_replace( $tmp['scheme'] . ':', '', $url );
		}

		return $url;
	}

	/**
	 * Validate IPv4 public address.
	 *
	 * @since 5.5
	 *
	 * @param string $ip IP address.
	 * @return string|false IP or false when invalid.
	 */
	public static function valid_ipv4( $ip ) {
		return filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE );
	}

	/**
	 * Define LSCWP_DOMAIN using the home URL (no trailing slash).
	 *
	 * @since 1.3
	 * @return void
	 */
	public static function domain_const() {
		if ( defined( 'LSCWP_DOMAIN' ) ) {
			return;
		}

		self::compatibility();
		$domain = http_build_url( get_home_url(), [], HTTP_URL_STRIP_ALL ); // phpcs:ignore WordPress.WP.AlternativeFunctions.parse_url_parse_url

		define( 'LSCWP_DOMAIN', $domain );
	}

	/**
	 * Sanitize lines based on requested transforms.
	 *
	 * @since 1.3
	 *
	 * @param array|string $arr  Lines as array or newline-separated string.
	 * @param string|null  $type Comma-separated transforms: uri,basename,drop_webp,relative,domain,noprotocol,trailingslash,string.
	 * @return array|string Sanitized list or string.
	 */
	public static function sanitize_lines( $arr, $type = null ) {
		$types = $type ? explode( ',', $type ) : [];

		if ( ! $arr ) {
			if ( 'string' === $type ) {
				return '';
			}
			return [];
		}

		if ( ! is_array( $arr ) ) {
			$arr = explode( "\n", $arr );
		}

		$arr     = array_map( 'trim', $arr );
		$changed = false;
		if ( in_array( 'uri', $types, true ) ) {
			$arr     = array_map( __CLASS__ . '::url2uri', $arr );
			$changed = true;
		}
		if ( in_array( 'basename', $types, true ) ) {
			$arr     = array_map( __CLASS__ . '::basename', $arr );
			$changed = true;
		}
		if ( in_array( 'drop_webp', $types, true ) ) {
			$arr     = array_map( __CLASS__ . '::drop_webp', $arr );
			$changed = true;
		}
		if ( in_array( 'relative', $types, true ) ) {
			$arr     = array_map( __CLASS__ . '::make_relative', $arr );
			$changed = true;
		}
		if ( in_array( 'domain', $types, true ) ) {
			$arr     = array_map( __CLASS__ . '::parse_domain', $arr );
			$changed = true;
		}
		if ( in_array( 'noprotocol', $types, true ) ) {
			$arr     = array_map( __CLASS__ . '::noprotocol', $arr );
			$changed = true;
		}
		if ( in_array( 'trailingslash', $types, true ) ) {
			$arr     = array_map( 'trailingslashit', $arr );
			$changed = true;
		}

		if ( $changed ) {
			$arr = array_map( 'trim', $arr );
		}
		$arr = array_unique( $arr );
		$arr = array_filter( $arr );

		if ( in_array( 'string', $types, true ) ) {
			return implode( "\n", $arr );
		}

		return $arr;
	}

	/**
	 * Build an admin URL with action & nonce.
	 *
	 * Assumes user capabilities are already checked.
	 *
	 * @since 1.6 Changed order of 2nd&3rd param, changed 3rd param `append_str` to 2nd `type`
	 *
	 * @param string               $action    Action name.
	 * @param string|false         $type      Optional type query value.
	 * @param bool                 $is_ajax   Whether to build for admin-ajax.php.
	 * @param string|null|bool     $page      Page filename or true for admin.php.
	 * @param array<string,string> $append_arr Extra query parameters.
	 * @param bool                 $unescape  Return unescaped URL.
	 * @return string Built URL.
	 */
	public static function build_url( $action, $type = false, $is_ajax = false, $page = null, $append_arr = [], $unescape = false ) {
		$prefix = '?';

		if ( '_ori' === $page ) {
			$page                         = true;
			$append_arr['_litespeed_ori'] = 1;
		}

		if ( ! $is_ajax ) {
			if ( $page ) {
				if ( true === $page ) {
					$page = 'admin.php';
				} elseif ( false !== strpos( $page, '?' ) ) {
					$prefix = '&';
				}
				$combined = $page . $prefix . Router::ACTION . '=' . $action;
			} else {
				// Current page rebuild URL.
				$params = $_GET; // phpcs:ignore WordPress.Security.NonceVerification.Recommended

				if ( ! empty( $params ) ) {
					if ( isset( $params[ Router::ACTION ] ) ) {
						unset( $params[ Router::ACTION ] );
					}
					if ( isset( $params['_wpnonce'] ) ) {
						unset( $params['_wpnonce'] );
					}
					if ( ! empty( $params ) ) {
						$prefix .= http_build_query( $params ) . '&';
					}
				}
				global $pagenow;
				$combined = $pagenow . $prefix . Router::ACTION . '=' . $action;
			}
		} else {
			$combined = 'admin-ajax.php?action=litespeed_ajax&' . Router::ACTION . '=' . $action;
		}

		$prenonce = is_network_admin() ? network_admin_url( $combined ) : admin_url( $combined );
		$url      = wp_nonce_url( $prenonce, $action, Router::NONCE );

		if ( $type ) {
			// Remove potential param `type` from url.
			$parsed = wp_parse_url( htmlspecialchars_decode( $url ) );
			$query  = [];
			if ( isset( $parsed['query'] ) ) {
				parse_str( $parsed['query'], $query );
			}

			$built_arr       = array_merge( $query, [ Router::TYPE => $type ] );
			$parsed['query'] = http_build_query( $built_arr + (array) $append_arr );
			self::compatibility();
			$url = http_build_url( $parsed ); // phpcs:ignore WordPress.WP.AlternativeFunctions.parse_url_parse_url
			$url = htmlspecialchars( $url, ENT_QUOTES, 'UTF-8' );
		}

		if ( $unescape ) {
			$url = wp_specialchars_decode( $url );
		}

		return $url;
	}

	/**
	 * Check if a host is internal (same as site host or filtered list).
	 *
	 * @since 1.2.3
	 *
	 * @param string $host Host to test.
	 * @return bool True if internal.
	 */
	public static function internal( $host ) {
		if ( ! defined( 'LITESPEED_FRONTEND_HOST' ) ) {
			if ( defined( 'WP_HOME' ) ) {
				$home_host = constant( 'WP_HOME' );
			} else {
				$home_host = get_option( 'home' );
			}
			define( 'LITESPEED_FRONTEND_HOST', (string) wp_parse_url( $home_host, PHP_URL_HOST ) );
		}

		if ( LITESPEED_FRONTEND_HOST === $host ) {
			return true;
		}

		if ( ! isset( self::$_internal_domains ) ) {
			self::$_internal_domains = apply_filters( 'litespeed_internal_domains', [] );
		}

		if ( self::$_internal_domains ) {
			return in_array( $host, self::$_internal_domains, true );
		}

		return false;
	}

	/**
	 * Check if a URL is an internal existing file and return its real path and size.
	 *
	 * @since 1.2.2
	 * @since 1.6.2 Moved here from optm.cls due to usage of media.cls
	 *
	 * @param string       $url              URL.
	 * @param string|false $addition_postfix Optional postfix to append to path before checking.
	 * @return array{0:string,1:int}|false [realpath, size] or false.
	 */
	public static function is_internal_file( $url, $addition_postfix = false ) {
		if ( 'data:' === substr( $url, 0, 5 ) ) {
			Debug2::debug2( '[Util] data: content not file' );
			return false;
		}
		$url_parsed = wp_parse_url( $url );
		if ( isset( $url_parsed['host'] ) && ! self::internal( $url_parsed['host'] ) ) {
			// Check if is cdn path.
			if ( ! CDN::internal( $url_parsed['host'] ) ) {
				Debug2::debug2( '[Util] external' );
				return false;
			}
		}

		if ( empty( $url_parsed['path'] ) ) {
			return false;
		}

		// Replace child blog path for assets (multisite).
		if ( is_multisite() && defined( 'PATH_CURRENT_SITE' ) ) {
			$pattern            = '#^' . PATH_CURRENT_SITE . '([_0-9a-zA-Z-]+/)(wp-(content|admin|includes))#U';
			$replacement        = PATH_CURRENT_SITE . '$2';
			$url_parsed['path'] = preg_replace( $pattern, $replacement, $url_parsed['path'] );
		}

		// Parse file path.
		if ( '/' === substr( $url_parsed['path'], 0, 1 ) ) {
			$docroot = isset( $_SERVER['DOCUMENT_ROOT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['DOCUMENT_ROOT'] ) ) : '';
			if ( defined( 'LITESPEED_WP_REALPATH' ) ) {
				$file_path_ori = $docroot . constant( 'LITESPEED_WP_REALPATH' ) . $url_parsed['path'];
			} else {
				$file_path_ori = $docroot . $url_parsed['path'];
			}
		} else {
			$file_path_ori = Router::frontend_path() . '/' . $url_parsed['path'];
		}

		// Optional postfix.
		if ( $addition_postfix ) {
			$file_path_ori .= '.' . $addition_postfix;
		}

		$file_path_ori = apply_filters( 'litespeed_realpath', $file_path_ori );

		$file_path = realpath( $file_path_ori );
		if ( ! is_file( $file_path ) ) {
			Debug2::debug2( '[Util] file not exist: ' . $file_path_ori );
			return false;
		}

		return [ $file_path, (int) filesize( $file_path ) ];
	}

	/**
	 * Safely parse URL and component.
	 *
	 * @since 3.4.3
	 *
	 * @param string $url       URL to parse.
	 * @param int    $component One of the PHP_URL_* constants.
	 * @return mixed
	 */
	public static function parse_url_safe( $url, $component = -1 ) {
		if ( '//' === substr( $url, 0, 2 ) ) {
			$url = 'https:' . $url;
		}

		return wp_parse_url( $url, $component );
	}

	/**
	 * Replace URLs in a srcset attribute using a callback.
	 *
	 * @since 2.2.3
	 *
	 * @param string   $content  HTML content containing srcset.
	 * @param callable $callback Callback that receives old URL and returns new URL or false.
	 * @return string Modified content.
	 */
	public static function srcset_replace( $content, $callback ) {
		preg_match_all( '# srcset=([\'"])(.+)\g{1}#iU', $content, $matches );
		$srcset_ori   = [];
		$srcset_final = [];
		if ( ! empty( $matches[2] ) ) {
			foreach ( $matches[2] as $k => $urls_ori ) {
				$urls_final = explode( ',', $urls_ori );

				$changed = false;

				foreach ( $urls_final as $k2 => $url_info ) {
					$url_info_arr = explode( ' ', trim( $url_info ) );

					$new_url = call_user_func( $callback, $url_info_arr[0] );
					if ( ! $new_url ) {
						continue;
					}

					$changed           = true;
					$urls_final[ $k2 ] = str_replace( $url_info_arr[0], $new_url, $url_info );

					Debug2::debug2( '[Util] - srcset replaced to ' . $new_url . ( ! empty( $url_info_arr[1] ) ? ' ' . $url_info_arr[1] : '' ) );
				}

				if ( ! $changed ) {
					continue;
				}

				$urls_final = implode( ',', $urls_final );

				$srcset_ori[]   = $matches[0][ $k ];
				$srcset_final[] = str_replace( $urls_ori, $urls_final, $matches[0][ $k ] );
			}
		}

		if ( $srcset_ori ) {
			$content = str_replace( $srcset_ori, $srcset_final, $content );
			Debug2::debug2( '[Util] - srcset replaced' );
		}

		return $content;
	}

	/**
	 * Generate pagination HTML or return offset.
	 *
	 * @since 3.0
	 *
	 * @param int  $total         Total items.
	 * @param int  $limit         Items per page.
	 * @param bool $return_offset When true, return numeric offset instead of HTML.
	 * @return int|string
	 */
	public static function pagination( $total, $limit, $return_offset = false ) {
		$pagenum = isset( $_GET['pagenum'] ) ? absint( $_GET['pagenum'] ) : 1; // phpcs:ignore WordPress.Security.NonceVerification.Recommended

		$offset       = ( $pagenum - 1 ) * $limit;
		$num_of_pages = (int) ceil( $total / $limit );

		if ( $offset > $total ) {
			$offset = $total - $limit;
		}

		if ( $offset < 0 ) {
			$offset = 0;
		}

		if ( $return_offset ) {
			return $offset;
		}

		$page_links = paginate_links(
			[
				'base'      => add_query_arg( 'pagenum', '%#%' ),
				'format'    => '',
				'prev_text' => '&laquo;',
				'next_text' => '&raquo;',
				'total'     => $num_of_pages,
				'current'   => $pagenum,
			]
		);

		return '<div class="tablenav"><div class="tablenav-pages" style="margin: 1em 0">' . $page_links . '</div></div>';
	}

	/**
	 * Build a GROUP placeholder like "(%s,%s),(%s,%s)" for a list of rows.
	 *
	 * @since 2.0
	 *
	 * @param array<int,array<int,string>> $data   Data rows (values already prepared).
	 * @param string                       $fields Fields CSV (only used to count columns).
	 * @return string Placeholder string.
	 */
	public static function chunk_placeholder( $data, $fields ) {
		$division = substr_count( $fields, ',' ) + 1;

		$q = implode(
			',',
			array_map(
				function ( $el ) {
					return '(' . implode( ',', $el ) . ')';
				},
				array_chunk( array_fill( 0, count( $data ), '%s' ), $division )
			)
		);

		return $q;
	}

	/**
	 * Prepare image sizes list for optimization UI.
	 *
	 * @since 7.5
	 *
	 * @param bool $detailed When true, return detailed objects; otherwise size names.
	 * @return array<int,string|array<string,int|string>>
	 */
	public static function prepare_image_sizes_array( $detailed = false ) {
		$image_sizes = wp_get_registered_image_subsizes();
		$sizes       = [];

		foreach ( $image_sizes as $current_size_name => $current_size ) {
			if ( empty( $current_size['width'] ) && empty( $current_size['height'] ) ) {
				continue;
			}

			if ( ! $detailed ) {
				$sizes[] = $current_size_name;
			} else {
				$label = $current_size['width'] . 'x' . $current_size['height'];
				if ( $current_size_name !== $label ) {
					$label = ucfirst( $current_size_name ) . ' ( ' . $label . ' )';
				}

				$sizes[] = [
					'label'     => $label,
					'file_size' => $current_size_name,
					'width'     => (int) $current_size['width'],
					'height'    => (int) $current_size['height'],
				];
			}
		}

		return $sizes;
	}
}
PK�^�\'�=jj!litespeed-cache/src/error.cls.phpnu�[���<?php
/**
 * The error class.
 *
 * @package     LiteSpeed
 * @since       3.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Error
 *
 * Handles error message translation and throwing for LiteSpeed Cache.
 *
 * @since 3.0
 */
class Error {

	/**
	 * Error code mappings to numeric values.
	 *
	 * @since 3.0
	 * @var array
	 */
	private static $code_set = [
		'HTA_LOGIN_COOKIE_INVALID' => 4300, // .htaccess did not find.
		'HTA_DNF'                 => 4500, // .htaccess did not find.
		'HTA_BK'                  => 9010, // backup
		'HTA_R'                   => 9041, // read htaccess
		'HTA_W'                   => 9042, // write
		'HTA_GET'                 => 9030, // failed to get
	];

	/**
	 * Throw an error with message
	 *
	 * Throws an exception with the translated error message.
	 *
	 * @since  3.0
	 * @access public
	 * @param string $code Error code.
	 * @param mixed  $args Optional arguments for message formatting.
	 * @throws \Exception Always throws an exception with the error message.
	 */
	public static function t( $code, $args = null ) {
		throw new \Exception( wp_kses_post( self::msg( $code, $args ) ) );
	}

	/**
	 * Translate an error to description
	 *
	 * Converts error codes to human-readable messages.
	 *
	 * @since  3.0
	 * @access public
	 * @param string $code Error code.
	 * @param mixed  $args Optional arguments for message formatting.
	 * @return string Translated error message.
	 */
	public static function msg( $code, $args = null ) {
		switch ( $code ) {
			case 'qc_setup_required':
				$msg =
					sprintf(
						__( 'You will need to finish %s setup to use the online services.', 'litespeed-cache' ),
						'<strong>QUIC.cloud</strong>'
					) .
					Doc::learn_more(
						admin_url( 'admin.php?page=litespeed-general' ),
						__( 'Click here to set.', 'litespeed-cache' ),
						true,
						false,
						true
					);
				break;

			case 'out_of_daily_quota':
				$msg  = __( 'You have used all of your daily quota for today.', 'litespeed-cache' );
				$msg .=
					' ' .
					Doc::learn_more(
						'https://docs.quic.cloud/billing/services/#daily-limits-on-free-quota-usage',
						__( 'Learn more or purchase additional quota.', 'litespeed-cache' ),
						false,
						false,
						true
					);
				break;

			case 'out_of_quota':
				$msg  = __( 'You have used all of your quota left for current service this month.', 'litespeed-cache' );
				$msg .=
					' ' .
					Doc::learn_more(
						'https://docs.quic.cloud/billing/services/#daily-limits-on-free-quota-usage',
						__( 'Learn more or purchase additional quota.', 'litespeed-cache' ),
						false,
						false,
						true
					);
				break;

			case 'too_many_requested':
				$msg = __( 'You have too many requested images, please try again in a few minutes.', 'litespeed-cache' );
				break;

			case 'too_many_notified':
				$msg = __( 'You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now.', 'litespeed-cache' );
				break;

			case 'empty_list':
				$msg = __( 'The image list is empty.', 'litespeed-cache' );
				break;

			case 'lack_of_param':
				$msg = __( 'Not enough parameters. Please check if the QUIC.cloud connection is set correctly', 'litespeed-cache' );
				break;

			case 'unfinished_queue':
				$msg = __( 'There is proceeding queue not pulled yet.', 'litespeed-cache' );
				break;

			case 0 === strpos( $code, 'unfinished_queue ' ):
				$msg = sprintf(
					__( 'There is proceeding queue not pulled yet. Queue info: %s.', 'litespeed-cache' ),
					'<code>' . substr( $code, strlen( 'unfinished_queue ' ) ) . '</code>'
				);
				break;

			case 'err_alias':
				$msg = __( 'The site is not a valid alias on QUIC.cloud.', 'litespeed-cache' );
				break;

			case 'site_not_registered':
				$msg = __( 'The site is not registered on QUIC.cloud.', 'litespeed-cache' );
				break;

			case 'err_key':
				$msg = __( 'The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again.', 'litespeed-cache' );
				break;

			case 'heavy_load':
				$msg = __( 'The current server is under heavy load.', 'litespeed-cache' );
				break;

			case 'redetect_node':
				$msg = __( 'Online node needs to be redetected.', 'litespeed-cache' );
				break;

			case 'err_overdraw':
				$msg = __( 'Credits are not enough to proceed the current request.', 'litespeed-cache' );
				break;

			case 'W':
				$msg = __( '%s file not writable.', 'litespeed-cache' );
				break;

			case 'HTA_DNF':
				if ( ! is_array( $args ) ) {
					$args = [ '<code>' . $args . '</code>' ];
				}
				$args[] = '.htaccess';
				$msg    = __( 'Could not find %1$s in %2$s.', 'litespeed-cache' );
				break;

			case 'HTA_LOGIN_COOKIE_INVALID':
				$msg = sprintf( __( 'Invalid login cookie. Please check the %s file.', 'litespeed-cache' ), '.htaccess' );
				break;

			case 'HTA_BK':
				$msg = sprintf( __( 'Failed to back up %s file, aborted changes.', 'litespeed-cache' ), '.htaccess' );
				break;

			case 'HTA_R':
				$msg = sprintf( __( '%s file not readable.', 'litespeed-cache' ), '.htaccess' );
				break;

			case 'HTA_W':
				$msg = sprintf( __( '%s file not writable.', 'litespeed-cache' ), '.htaccess' );
				break;

			case 'HTA_GET':
				$msg = sprintf( __( 'Failed to get %s file contents.', 'litespeed-cache' ), '.htaccess' );
				break;

			case 'failed_tb_creation':
				$msg = __( 'Failed to create table %1$s! SQL: %2$s.', 'litespeed-cache' );
				break;

			case 'crawler_disabled':
				$msg = __( 'Crawler disabled by the server admin.', 'litespeed-cache' );
				break;

			case 'try_later': // QC error code
				$msg = __( 'Previous request too recent. Please try again later.', 'litespeed-cache' );
				break;

			case 0 === strpos( $code, 'try_later ' ):
				$msg = sprintf(
					__( 'Previous request too recent. Please try again after %s.', 'litespeed-cache' ),
					'<code>' . Utility::readable_time( substr( $code, strlen( 'try_later ' ) ), 3600, true ) . '</code>'
				);
				break;

			case 'waiting_for_approval':
				$msg = __( 'Your application is waiting for approval.', 'litespeed-cache' );
				break;

			case 'callback_fail_hash':
				$msg = __( 'The callback validation to your domain failed due to hash mismatch.', 'litespeed-cache' );
				break;

			case 'callback_fail':
				$msg = __( 'The callback validation to your domain failed. Please make sure there is no firewall blocking our servers.', 'litespeed-cache' );
				break;

			case substr( $code, 0, 14 ) === 'callback_fail ':
				$msg =
					__( 'The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: ', 'litespeed-cache' ) .
					substr( $code, 14 );
				break;

			case 'forbidden':
				$msg = __( 'Your domain has been forbidden from using our services due to a previous policy violation.', 'litespeed-cache' );
				break;

			case 'err_dns_active':
				$msg = __(
					'You cannot remove this DNS zone, because it is still in use. Please update the domain\'s nameservers, then try to delete this zone again, otherwise your site will become inaccessible.',
					'litespeed-cache'
				);
				break;

			default:
				$msg = __( 'Unknown error', 'litespeed-cache' ) . ': ' . $code;
				break;
		}

		if ( null !== $args ) {
			$msg = is_array( $args ) ? vsprintf( $msg, $args ) : sprintf( $msg, $args );
		}

		if ( isset( self::$code_set[ $code ] ) ) {
			$msg = 'ERROR ' . self::$code_set[ $code ] . ': ' . $msg;
		}

		return $msg;
	}
}
PK�^�\N�jʢM�M'litespeed-cache/src/crawler-map.cls.phpnu�[���<?php
/**
 * The Crawler Sitemap Class.
 *
 * @package     LiteSpeed
 * @since       1.1.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Crawler_Map
 *
 * Maintains and persists crawler sitemap/blacklist state, parses custom sitemaps,
 * and exposes helpers to query & mutate crawler results.
 */
class Crawler_Map extends Root {

	const LOG_TAG = '🐞🗺️';

	const BM_MISS      = 1;
	const BM_HIT       = 2;
	const BM_BLACKLIST = 4;

	/**
	 * Site URL used to simplify URLs.
	 *
	 * @var string
	 */
	private $_site_url;

	/**
	 * Main crawler table name.
	 *
	 * @var string
	 */
	private $_tb;

	/**
	 * Crawler blacklist table name.
	 *
	 * @var string
	 */
	private $_tb_blacklist;

	/**
	 * Data service instance.
	 *
	 * @var \LiteSpeed\Data
	 */
	private $__data;

	/**
	 * Timeout (seconds) when fetching sitemaps.
	 *
	 * @var int
	 */
	private $_conf_map_timeout;

	/**
	 * Collected URLs from parsed sitemaps.
	 *
	 * @var array<int,string>
	 */
	private $_urls = [];

	/**
	 * Instantiate the class.
	 *
	 * @since 1.1.0
	 */
	public function __construct() {
		$this->_site_url     = get_site_url();
		$this->__data        = Data::cls();
		$this->_tb           = $this->__data->tb( 'crawler' );
		$this->_tb_blacklist = $this->__data->tb( 'crawler_blacklist' );
		// Specify the timeout while parsing the sitemap.
		$this->_conf_map_timeout = defined( 'LITESPEED_CRAWLER_MAP_TIMEOUT' ) ? constant( 'LITESPEED_CRAWLER_MAP_TIMEOUT' ) : 180;
	}

	/**
	 * Save URLs crawl status into DB.
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param array<int,array<int,array{url:string,code:int}>> $items         Map of bit => [ id => [url, code] ].
	 * @param int                                              $curr_crawler  Current crawler index (0-based).
	 * @return array<int,array>
	 */
	public function save_map_status( $items, $curr_crawler ) {
		global $wpdb;
		Utility::compatibility();

		$total_crawler     = count( Crawler::cls()->list_crawlers() );
		$total_crawler_pos = $total_crawler - 1;

		// Replace current crawler's position.
		$curr_crawler = (int) $curr_crawler;
		foreach ( $items as $bit => $ids ) {
			// $ids = [ id => [ url, code ], ... ].
			if ( ! $ids ) {
				continue;
			}
			self::debug( 'Update map [crawler] ' . $curr_crawler . ' [bit] ' . $bit . ' [count] ' . count( $ids ) );

			// Update res first, then reason
			$right_pos = $total_crawler_pos - $curr_crawler;
			$id_all    = implode(',', array_map('intval', array_keys($ids)));

			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
			$wpdb->query("UPDATE `$this->_tb` SET res = CONCAT( LEFT( res, $curr_crawler ), '$bit', RIGHT( res, $right_pos ) ) WHERE id IN ( $id_all )");

			// Add blacklist
			if (Crawler::STATUS_BLACKLIST === $bit || Crawler::STATUS_NOCACHE === $bit) {
				$q = "SELECT a.id, a.url FROM `$this->_tb_blacklist` a LEFT JOIN `$this->_tb` b ON b.url=a.url WHERE b.id IN ( $id_all )";
				// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
				$existing = $wpdb->get_results($q, ARRAY_A);
				// Update current crawler status tag in existing blacklist
				if ($existing) {
					// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQL.NotPrepared
					$count = $wpdb->query("UPDATE `$this->_tb_blacklist` SET res = CONCAT( LEFT( res, $curr_crawler ), '$bit', RIGHT( res, $right_pos ) ) WHERE id IN ( " . implode(',', array_column($existing, 'id')) . ' )');
					self::debug('Update blacklist [count] ' . $count);
				}

				// Append new blacklist
				if (count($ids) > count($existing)) {
					$new_urls = array_diff(array_column($ids, 'url'), array_column($existing, 'url'));

					self::debug('Insert into blacklist [count] ' . count($new_urls));

					$q                  = "INSERT INTO `$this->_tb_blacklist` ( url, res, reason ) VALUES " . implode(',', array_fill(0, count($new_urls), '( %s, %s, %s )'));
					$data               = [];
					$res                = array_fill(0, $total_crawler, '-');
					$res[$curr_crawler] = $bit;
					$res                = implode('', $res);
					$default_reason     = $total_crawler > 1 ? str_repeat(',', $total_crawler - 1) : ''; // Pre-populate default reason value first, update later
					foreach ($new_urls as $url) {
						$data[] = $url;
						$data[] = $res;
						$data[] = $default_reason;
					}
					// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
					$wpdb->query($wpdb->prepare($q, $data));
				}
			}

			// Update sitemap reason w/ HTTP code.
			$reason_array = [];
			foreach ( $ids as $row_id => $row ) {
				$code = (int) $row['code'];
				if ( empty( $reason_array[ $code ] ) ) {
					$reason_array[ $code ] = [];
				}
				$reason_array[ $code ][] = (int) $row_id;
			}

			foreach ($reason_array as $code => $v2) {
				// Complement comma
				if ($curr_crawler) {
					$code = ',' . $code;
				}
				if ($curr_crawler < $total_crawler_pos) {
					$code .= ',';
				}

				// phpcs:ignore WordPress.DB
				$count = $wpdb->query( "UPDATE `$this->_tb` SET reason=CONCAT(SUBSTRING_INDEX(reason, ',', $curr_crawler), '$code', SUBSTRING_INDEX(reason, ',', -$right_pos)) WHERE id IN (" . implode(',', $v2) . ')' );

				self::debug("Update map reason [code] $code [pos] left $curr_crawler right -$right_pos [count] $count");

				// Update blacklist reason
				if (Crawler::STATUS_BLACKLIST === $bit || Crawler::STATUS_NOCACHE === $bit) {
					// phpcs:ignore WordPress.DB
					$count = $wpdb->query( "UPDATE `$this->_tb_blacklist` a LEFT JOIN `$this->_tb` b ON b.url = a.url SET a.reason=CONCAT(SUBSTRING_INDEX(a.reason, ',', $curr_crawler), '$code', SUBSTRING_INDEX(a.reason, ',', -$right_pos)) WHERE b.id IN (" . implode(',', $v2) . ')' );

					self::debug("Update blacklist [code] $code [pos] left $curr_crawler right -$right_pos [count] $count");
				}
			}

			// Reset list.
			$items[ $bit ] = [];
		}

		return $items;
	}

	/**
	 * Add one record to blacklist.
	 * NOTE: $id is sitemap table ID.
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param int $id Sitemap row ID.
	 * @return void
	 */
	public function blacklist_add( $id ) {
		global $wpdb;

		$id = (int) $id;

		// Build res&reason.
		$total_crawler = count( Crawler::cls()->list_crawlers() );
		$res           = str_repeat(Crawler::STATUS_BLACKLIST, $total_crawler);
		$reason        = implode(',', array_fill(0, $total_crawler, 'Man'));

		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
		$row = $wpdb->get_row("SELECT a.url, b.id FROM `$this->_tb` a LEFT JOIN `$this->_tb_blacklist` b ON b.url = a.url WHERE a.id = '$id'", ARRAY_A);
		if (!$row) {
			self::debug('blacklist failed to add [id] ' . $id);
			return;
		}

		self::debug('Add to blacklist [url] ' . $row['url']);

		$q = "UPDATE `$this->_tb` SET res = %s, reason = %s WHERE id = %d";
		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		$wpdb->query($wpdb->prepare($q, [ $res, $reason, $id ]));

		if ($row['id']) {
			$q = "UPDATE `$this->_tb_blacklist` SET res = %s, reason = %s WHERE id = %d";
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
			$wpdb->query($wpdb->prepare($q, [ $res, $reason, $row['id'] ]));
		} else {
			$q = "INSERT INTO `$this->_tb_blacklist` (url, res, reason) VALUES (%s, %s, %s)";
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
			$wpdb->query($wpdb->prepare($q, [ $row['url'], $res, $reason ]));
		}
	}

	/**
	 * Delete one record from blacklist.
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param int $id Blacklist row ID.
	 * @return void
	 */
	public function blacklist_del( $id ) {
		global $wpdb;
		if ( ! $this->__data->tb_exist( 'crawler_blacklist' ) ) {
			return;
		}

		$id = (int) $id;
		self::debug('blacklist delete [id] ' . $id);

		$sql = sprintf(
			"UPDATE `%s` SET res=REPLACE(REPLACE(res, '%s', '-'), '%s', '-') WHERE url=(SELECT url FROM `%s` WHERE id=%d)",
			$this->_tb,
			Crawler::STATUS_NOCACHE,
			Crawler::STATUS_BLACKLIST,
			$this->_tb_blacklist,
			$id
		);
		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		$wpdb->query($sql);
		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
		$wpdb->query("DELETE FROM `$this->_tb_blacklist` WHERE id='$id'");
	}

	/**
	 * Empty blacklist.
	 *
	 * @since  3.0
	 * @access public
	 * @return void
	 */
	public function blacklist_empty() {
		global $wpdb;

		if ( ! $this->__data->tb_exist( 'crawler_blacklist' ) ) {
			return;
		}

		self::debug('Truncate blacklist');
		$sql = sprintf("UPDATE `%s` SET res=REPLACE(REPLACE(res, '%s', '-'), '%s', '-')", $this->_tb, Crawler::STATUS_NOCACHE, Crawler::STATUS_BLACKLIST);
		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		$wpdb->query($sql);
		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
		$wpdb->query("TRUNCATE `$this->_tb_blacklist`");
	}

	/**
	 * List blacklist.
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param int|false $limit  Number of rows to fetch, or false for all.
	 * @param int|false $offset Offset for pagination, or false to auto-calc.
	 * @return array<int,array<string,mixed>>
	 */
	public function list_blacklist( $limit = false, $offset = false ) {
		global $wpdb;

		if ( ! $this->__data->tb_exist( 'crawler_blacklist' ) ) {
			return [];
		}

		$q = "SELECT * FROM `$this->_tb_blacklist` ORDER BY id DESC";

		if ( false !== $limit ) {
			if ( false === $offset ) {
				$total  = $this->count_blacklist();
				$offset = Utility::pagination($total, $limit, true);
			}
			$q .= ' LIMIT %d, %d';
			// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
			$q = $wpdb->prepare($q, $offset, $limit);
		}
		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		return $wpdb->get_results($q, ARRAY_A);
	}

	/**
	 * Count blacklist.
	 *
	 * @return int|false
	 */
	public function count_blacklist() {
		global $wpdb;

		if ( ! $this->__data->tb_exist( 'crawler_blacklist' ) ) {
			return false;
		}

		$q = "SELECT COUNT(*) FROM `$this->_tb_blacklist`";
		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		return $wpdb->get_var($q);
	}

	/**
	 * Empty sitemap.
	 *
	 * @since  3.0
	 * @access public
	 * @return void
	 */
	public function empty_map() {
		Data::cls()->tb_del( 'crawler' );

		$msg = __( 'Sitemap cleaned successfully', 'litespeed-cache' );
		Admin_Display::success( $msg );
	}

	/**
	 * List generated sitemap.
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param int      $limit  Number of rows per page.
	 * @param int|bool $offset Offset for pagination, or false to auto-calc.
	 * @return array<int,array<string,mixed>>
	 */
	public function list_map( $limit, $offset = false ) {
		global $wpdb;

		if ( ! $this->__data->tb_exist( 'crawler' ) ) {
			return [];
		}

		if ( false === $offset ) {
			$total  = $this->count_map();
			$offset = Utility::pagination($total, $limit, true);
		}

		$type = Router::verify_type();

		$req_uri_like = '';
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		if ( ! empty( $_POST['kw'] ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing
			$kw = sanitize_text_field( wp_unslash( $_POST['kw'] ) );
			$q  = "SELECT * FROM `$this->_tb` WHERE url LIKE %s";
			if ( 'hit' === $type ) {
				$q .= " AND res LIKE '%" . Crawler::STATUS_HIT . "%'";
			}
			if ( 'miss' === $type ) {
				$q .= " AND res LIKE '%" . Crawler::STATUS_MISS . "%'";
			}
			if ( 'blacklisted' === $type ) {
				$q .= " AND res LIKE '%" . Crawler::STATUS_BLACKLIST . "%'";
			}
			$q           .= ' ORDER BY id LIMIT %d, %d';
			$req_uri_like = '%' . $wpdb->esc_like( $kw ) . '%';
			return $wpdb->get_results( $wpdb->prepare( $q, $req_uri_like, $offset, $limit ), ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		}

		$q = "SELECT * FROM `$this->_tb`";
		if ( 'hit' === $type ) {
			$q .= " WHERE res LIKE '%" . Crawler::STATUS_HIT . "%'";
		}
		if ( 'miss' === $type ) {
			$q .= " WHERE res LIKE '%" . Crawler::STATUS_MISS . "%'";
		}
		if ( 'blacklisted' === $type ) {
			$q .= " WHERE res LIKE '%" . Crawler::STATUS_BLACKLIST . "%'";
		}
		$q .= ' ORDER BY id LIMIT %d, %d';

		return $wpdb->get_results( $wpdb->prepare( $q, $offset, $limit ), ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
	}

	/**
	 * Count sitemap.
	 *
	 * @return int|false
	 */
	public function count_map() {
		global $wpdb;

		if ( ! $this->__data->tb_exist( 'crawler' ) ) {
			return false;
		}

		$q = "SELECT COUNT(*) FROM `$this->_tb`";

		$type = Router::verify_type();
		if ( 'hit' === $type ) {
			$q .= " WHERE res LIKE '%" . Crawler::STATUS_HIT . "%'";
		}
		if ( 'miss' === $type ) {
			$q .= " WHERE res LIKE '%" . Crawler::STATUS_MISS . "%'";
		}
		if ( 'blacklisted' === $type ) {
			$q .= " WHERE res LIKE '%" . Crawler::STATUS_BLACKLIST . "%'";
		}

		return $wpdb->get_var( $q ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
	}

	/**
	 * Generate sitemap.
	 *
	 * @since    1.1.0
	 * @access public
	 *
	 * @param bool $manual Whether triggered manually from UI.
	 * @return void
	 */
	public function gen( $manual = false ) {
		$count = $this->_gen();

		if ( ! $count ) {
			Admin_Display::error( __( 'No valid sitemap parsed for crawler.', 'litespeed-cache' ) );
			return;
		}

		if ( ! wp_doing_cron() && $manual ) {
			$msg = sprintf( __( 'Sitemap created successfully: %d items', 'litespeed-cache' ), $count );
			Admin_Display::success( $msg );
		}
	}

	/**
	 * Generate the sitemap.
	 *
	 * @since    1.1.0
	 * @access private
	 * @return int|false Number of URLs generated or false on failure.
	 */
	private function _gen() {
		global $wpdb;

		if ( ! $this->__data->tb_exist( 'crawler' ) ) {
			$this->__data->tb_create( 'crawler' );
		}

		if ( ! $this->__data->tb_exist( 'crawler_blacklist' ) ) {
			$this->__data->tb_create( 'crawler_blacklist' );
		}

		// Use custom sitemap.
		$sitemap = $this->conf( Base::O_CRAWLER_SITEMAP );
		if ( ! $sitemap ) {
			return false;
		}

		$offset  = strlen( $this->_site_url );
		$sitemap = Utility::sanitize_lines( $sitemap );

		try {
			foreach ( $sitemap as $this_map ) {
				$this->_parse( $this_map );
			}
		} catch ( \Exception $e ) {
			self::debug( '❌ failed to parse custom sitemap: ' . $e->getMessage() );
		}

		if ( is_array( $this->_urls ) && ! empty( $this->_urls ) ) {
			if ( defined( 'LITESPEED_CRAWLER_DROP_DOMAIN' ) && constant( 'LITESPEED_CRAWLER_DROP_DOMAIN' ) ) {
				foreach ( $this->_urls as $k => $v ) {
					if ( 0 !== stripos( $v, $this->_site_url ) ) {
						unset( $this->_urls[ $k ] );
						continue;
					}
					$this->_urls[ $k ] = substr( $v, $offset );
				}
			}

			$this->_urls = array_values( array_unique( $this->_urls ) );
		}

		self::debug( 'Truncate sitemap' );
		$wpdb->query( "TRUNCATE `$this->_tb`" ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery

		self::debug( 'Generate sitemap' );

		// Filter URLs in blacklist.
		$blacklist = $this->list_blacklist();

		$full_blacklisted    = [];
		$partial_blacklisted = [];
		foreach ( $blacklist as $v ) {
			if ( false === strpos( $v['res'], '-' ) ) {
				// Full blacklisted.
				$full_blacklisted[] = $v['url'];
			} else {
				// Replace existing reason.
				$v['reason']                      = explode( ',', $v['reason'] );
				$v['reason']                      = array_map(
					function ( $element ) {
						return $element ? 'Existed' : '';
					},
					$v['reason']
				);
				$v['reason']                      = implode( ',', $v['reason'] );
				$partial_blacklisted[ $v['url'] ] = [
					'res'    => $v['res'],
					'reason' => $v['reason'],
				];
			}
		}

		// Drop all blacklisted URLs.
		$this->_urls = array_diff( $this->_urls, $full_blacklisted );

		// Default res & reason.
		$crawler_count  = count( Crawler::cls()->list_crawlers() );
		$default_res    = str_repeat( '-', $crawler_count );
		$default_reason = $crawler_count > 1 ? str_repeat( ',', $crawler_count - 1 ) : '';

		$data = [];
		foreach ( $this->_urls as $url ) {
			$data[] = $url;
			$data[] = array_key_exists( $url, $partial_blacklisted ) ? $partial_blacklisted[ $url ]['res'] : $default_res;
			$data[] = array_key_exists( $url, $partial_blacklisted ) ? $partial_blacklisted[ $url ]['reason'] : $default_reason;
		}

		foreach ( array_chunk( $data, 300 ) as $data2 ) {
			$this->_save( $data2 );
		}

		// Reset crawler.
		Crawler::cls()->reset_pos();

		return count( $this->_urls );
	}

	/**
	 * Save data to table.
	 *
	 * @since 3.0
	 * @access private
	 *
	 * @param array<int,string> $data   Flat array (url,res,reason, url,res,reason, ...).
	 * @param string            $fields Fields list for insert (default url,res,reason).
	 * @return void
	 */
	private function _save( $data, $fields = 'url,res,reason' ) {
		global $wpdb;

		if ( empty( $data ) ) {
			return;
		}

		$q = "INSERT INTO `$this->_tb` ( {$fields} ) VALUES ";

		// Add placeholder.
		$q .= Utility::chunk_placeholder( $data, $fields );

		// Store data.
		$wpdb->query( $wpdb->prepare( $q, $data ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
	}

	/**
	 * Parse custom sitemap and collect urls.
	 *
	 * @since    1.1.1
	 * @access private
	 *
	 * @param string $sitemap Absolute sitemap URL.
	 * @return void
	 * @throws \Exception If remote read or parsing fails.
	 */
	private function _parse( $sitemap ) {
		/**
		 * Read via wp func to avoid allow_url_fopen = off
		 *
		 * @since  2.2.7
		 */
		$response = wp_safe_remote_get(
			$sitemap,
			[
				'timeout'   => $this->_conf_map_timeout,
				'sslverify' => false,
			]
		);
		if ( is_wp_error( $response ) ) {
			$error_message = $response->get_error_message();
			self::debug( 'failed to read sitemap: ' . $error_message );
			throw new \Exception( 'Failed to remote read ' . esc_url( $sitemap ) );
		}

		$xml_object = simplexml_load_string($response['body'], null, LIBXML_NOCDATA);
		if (!$xml_object) {
			if ($this->_urls) {
				return;
			}
			throw new \Exception('Failed to parse xml ' . esc_url( $sitemap ));
		}

		// start parsing.
		$xml_array = (array) $xml_object;
		if ( ! empty( $xml_array['sitemap'] ) ) {
			// parse sitemap set.
			if ( is_object( $xml_array['sitemap'] ) ) {
				$xml_array['sitemap'] = (array) $xml_array['sitemap'];
			}

			if ( ! empty( $xml_array['sitemap']['loc'] ) ) {
				// is single sitemap.
				$this->_parse( (string) $xml_array['sitemap']['loc'] );
			} else {
				// parse multiple sitemaps.
				foreach ( (array) $xml_array['sitemap'] as $val ) {
					$val = (array) $val;
					if ( ! empty( $val['loc'] ) ) {
						$this->_parse( (string) $val['loc'] ); // recursive parse sitemap.
					}
				}
			}
		} elseif ( ! empty( $xml_array['url'] ) ) {
			// parse url set.
			if ( is_object( $xml_array['url'] ) ) {
				$xml_array['url'] = (array) $xml_array['url'];
			}
			// if only 1 element.
			if ( ! empty( $xml_array['url']['loc'] ) ) {
				$this->_urls[] = (string) $xml_array['url']['loc'];
			} else {
				foreach ( (array) $xml_array['url'] as $val ) {
					$val = (array) $val;
					if ( ! empty( $val['loc'] ) ) {
						$this->_urls[] = (string) $val['loc'];
					}
				}
			}
		}
	}
}
PK�^�\�Z�u``$litespeed-cache/src/htaccess.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The htaccess rewrite rule operation class
 *
 * @since      1.0.0
 * @package    LiteSpeed
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class Htaccess extends Root {

	private $frontend_htaccess          = null;
	private $_default_frontend_htaccess = null;
	private $backend_htaccess           = null;
	private $_default_backend_htaccess  = null;
	private $theme_htaccess             = null; // Not used yet
	private $frontend_htaccess_readable = false;
	private $frontend_htaccess_writable = false;
	private $backend_htaccess_readable  = false;
	private $backend_htaccess_writable  = false;
	private $theme_htaccess_readable    = false;
	private $theme_htaccess_writable    = false;
	private $__rewrite_on;

	const LS_MODULE_START            = '<IfModule LiteSpeed>';
	const EXPIRES_MODULE_START       = '<IfModule mod_expires.c>';
	const LS_MODULE_END              = '</IfModule>';
	const LS_MODULE_REWRITE_START    = '<IfModule mod_rewrite.c>';
	const REWRITE_ON                 = 'RewriteEngine on';
	const LS_MODULE_DONOTEDIT        = '## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##';
	const MARKER                     = 'LSCACHE';
	const MARKER_NONLS               = 'NON_LSCACHE';
	const MARKER_LOGIN_COOKIE        = '### marker LOGIN COOKIE';
	const MARKER_ASYNC               = '### marker ASYNC';
	const MARKER_CRAWLER             = '### marker CRAWLER';
	const MARKER_MOBILE              = '### marker MOBILE';
	const MARKER_NOCACHE_COOKIES     = '### marker NOCACHE COOKIES';
	const MARKER_NOCACHE_USER_AGENTS = '### marker NOCACHE USER AGENTS';
	const MARKER_CACHE_RESOURCE      = '### marker CACHE RESOURCE';
	const MARKER_BROWSER_CACHE       = '### marker BROWSER CACHE';
	const MARKER_MINIFY              = '### marker MINIFY';
	const MARKER_CORS                = '### marker CORS';
	const MARKER_WEBP                = '### marker WEBP';
	const MARKER_DROPQS              = '### marker DROPQS';
	const MARKER_START               = ' start ###';
	const MARKER_END                 = ' end ###';

	/**
	 * Initialize the class and set its properties.
	 *
	 * @since    1.0.7
	 */
	public function __construct() {
		$this->_path_set();
		$this->_default_frontend_htaccess = $this->frontend_htaccess;
		$this->_default_backend_htaccess  = $this->backend_htaccess;

		$frontend_htaccess = defined('LITESPEED_CFG_HTACCESS') ? constant('LITESPEED_CFG_HTACCESS') : false;
		if ($frontend_htaccess && substr($frontend_htaccess, -10) === '/.htaccess') {
			$this->frontend_htaccess = $frontend_htaccess;
		}
		$backend_htaccess = defined('LITESPEED_CFG_HTACCESS_BACKEND') ? constant('LITESPEED_CFG_HTACCESS_BACKEND') : false;
		if ($backend_htaccess && substr($backend_htaccess, -10) === '/.htaccess') {
			$this->backend_htaccess = $backend_htaccess;
		}

		// Filter for frontend&backend htaccess path
		$this->frontend_htaccess = apply_filters('litespeed_frontend_htaccess', $this->frontend_htaccess);
		$this->backend_htaccess  = apply_filters('litespeed_backend_htaccess', $this->backend_htaccess);

		clearstatcache();

		// frontend .htaccess privilege
		$test_permissions = file_exists($this->frontend_htaccess) ? $this->frontend_htaccess : dirname($this->frontend_htaccess);
		if (is_readable($test_permissions)) {
			$this->frontend_htaccess_readable = true;
		}
		if (is_writable($test_permissions)) {
			$this->frontend_htaccess_writable = true;
		}

		$this->__rewrite_on = array(
			self::REWRITE_ON,
			'CacheLookup on',
			'RewriteRule .* - [E=Cache-Control:no-autoflush]',
			'RewriteRule ' . preg_quote(LITESPEED_DATA_FOLDER) . '/debug/.*\.log$ - [F,L]',
			'RewriteRule ' . preg_quote(self::CONF_FILE) . ' - [F,L]',
		);

		// backend .htaccess privilege
		if ($this->frontend_htaccess === $this->backend_htaccess) {
			$this->backend_htaccess_readable = $this->frontend_htaccess_readable;
			$this->backend_htaccess_writable = $this->frontend_htaccess_writable;
		} else {
			$test_permissions = file_exists($this->backend_htaccess) ? $this->backend_htaccess : dirname($this->backend_htaccess);
			if (is_readable($test_permissions)) {
				$this->backend_htaccess_readable = true;
			}
			if (is_writable($test_permissions)) {
				$this->backend_htaccess_writable = true;
			}
		}
	}

	/**
	 * Get if htaccess file is readable
	 *
	 * @since 1.1.0
	 * @return string
	 */
	private function _readable( $kind = 'frontend' ) {
		if ($kind === 'frontend') {
			return $this->frontend_htaccess_readable;
		}
		if ($kind === 'backend') {
			return $this->backend_htaccess_readable;
		}
	}

	/**
	 * Get if htaccess file is writable
	 *
	 * @since 1.1.0
	 * @return string
	 */
	public function writable( $kind = 'frontend' ) {
		if ($kind === 'frontend') {
			return $this->frontend_htaccess_writable;
		}
		if ($kind === 'backend') {
			return $this->backend_htaccess_writable;
		}
	}

	/**
	 * Get frontend htaccess path
	 *
	 * @since 1.1.0
	 * @return string
	 */
	public static function get_frontend_htaccess( $show_default = false ) {
		if ($show_default) {
			return self::cls()->_default_frontend_htaccess;
		}
		return self::cls()->frontend_htaccess;
	}

	/**
	 * Get backend htaccess path
	 *
	 * @since 1.1.0
	 * @return string
	 */
	public static function get_backend_htaccess( $show_default = false ) {
		if ($show_default) {
			return self::cls()->_default_backend_htaccess;
		}
		return self::cls()->backend_htaccess;
	}

	/**
	 * Check to see if .htaccess exists starting at $start_path and going up directories until it hits DOCUMENT_ROOT.
	 *
	 * As dirname() strips the ending '/', paths passed in must exclude the final '/'
	 *
	 * @since 1.0.11
	 * @access private
	 */
	private function _htaccess_search( $start_path ) {
		while (!file_exists($start_path . '/.htaccess')) {
			if ($start_path === '/' || !$start_path) {
				return false;
			}

			if (!empty($_SERVER['DOCUMENT_ROOT']) && wp_normalize_path($start_path) === wp_normalize_path($_SERVER['DOCUMENT_ROOT'])) {
				return false;
			}

			if (dirname($start_path) === $start_path) {
				return false;
			}

			$start_path = dirname($start_path);
		}

		return $start_path;
	}

	/**
	 * Set the path class variables.
	 *
	 * @since 1.0.11
	 * @access private
	 */
	private function _path_set() {
		$frontend                 = Router::frontend_path();
		$frontend_htaccess_search = $this->_htaccess_search($frontend); // The existing .htaccess path to be used for frontend .htaccess
		$this->frontend_htaccess  = ($frontend_htaccess_search ?: $frontend) . '/.htaccess';

		$backend = realpath(ABSPATH); // /home/user/public_html/backend/
		if ($frontend == $backend) {
			$this->backend_htaccess = $this->frontend_htaccess;
			return;
		}

		// Backend is a different path
		$backend_htaccess_search = $this->_htaccess_search($backend);
		// Found affected .htaccess
		if ($backend_htaccess_search) {
			$this->backend_htaccess = $backend_htaccess_search . '/.htaccess';
			return;
		}

		// Frontend path is the parent of backend path
		if (stripos($backend, $frontend . '/') === 0) {
			// backend use frontend htaccess
			$this->backend_htaccess = $this->frontend_htaccess;
			return;
		}

		$this->backend_htaccess = $backend . '/.htaccess';
	}

	/**
	 * Get corresponding htaccess path
	 *
	 * @since 1.1.0
	 * @param  string $kind Frontend or backend
	 * @return string       Path
	 */
	public function htaccess_path( $kind = 'frontend' ) {
		switch ($kind) {
			case 'backend':
            $path = $this->backend_htaccess;
				break;

			case 'frontend':
			default:
            $path = $this->frontend_htaccess;
				break;
		}
		return $path;
	}

	/**
	 * Get the content of the rules file.
	 *
	 * NOTE: will throw error if failed
	 *
	 * @since 1.0.4
	 * @since  2.9 Used exception for failed reading
	 * @access public
	 */
	public function htaccess_read( $kind = 'frontend' ) {
		$path = $this->htaccess_path($kind);

		if (!$path || !file_exists($path)) {
			return "\n";
		}

		if (!$this->_readable($kind)) {
			Error::t('HTA_R');
		}

		$content = File::read($path);
		if ($content === false) {
			Error::t('HTA_GET');
		}

		// Remove ^M characters.
		$content = str_ireplace("\x0D", '', $content);
		return $content;
	}

	/**
	 * Try to backup the .htaccess file if we didn't save one before.
	 *
	 * NOTE: will throw error if failed
	 *
	 * @since 1.0.10
	 * @access private
	 */
	private function _htaccess_backup( $kind = 'frontend' ) {
		$path = $this->htaccess_path($kind);

		if (!file_exists($path)) {
			return;
		}

		if (file_exists($path . '.bk')) {
			return;
		}

		$res = copy($path, $path . '.bk');

		// Failed to backup, abort
		if (!$res) {
			Error::t('HTA_BK');
		}
	}

	/**
	 * Get mobile view rule from htaccess file
	 *
	 * NOTE: will throw error if failed
	 *
	 * @since 1.1.0
	 */
	public function current_mobile_agents() {
		$rules = $this->_get_rule_by(self::MARKER_MOBILE);
		if (!isset($rules[0])) {
			Error::t('HTA_DNF', self::MARKER_MOBILE);
		}

		$rule = trim($rules[0]);
		// 'RewriteCond %{HTTP_USER_AGENT} ' . Utility::arr2regex( $cfg[ $id ], true ) . ' [NC]';
		$match = substr($rule, strlen('RewriteCond %{HTTP_USER_AGENT} '), -strlen(' [NC]'));

		if (!$match) {
			Error::t('HTA_DNF', __('Mobile Agent Rules', 'litespeed-cache'));
		}

		return $match;
	}

	/**
	 * Parse rewrites rule from the .htaccess file.
	 *
	 * NOTE: will throw error if failed
	 *
	 * @since 1.1.0
	 * @access public
	 */
	public function current_login_cookie( $kind = 'frontend' ) {
		$rule = $this->_get_rule_by(self::MARKER_LOGIN_COOKIE, $kind);

		if (!$rule) {
			Error::t('HTA_DNF', self::MARKER_LOGIN_COOKIE);
		}

		if (strpos($rule, 'RewriteRule .? - [E=') !== 0) {
			Error::t('HTA_LOGIN_COOKIE_INVALID');
		}

		$rule_cookie = substr($rule, strlen('RewriteRule .? - [E='), -1);

		if (LITESPEED_SERVER_TYPE === 'LITESPEED_SERVER_OLS') {
			$rule_cookie = trim($rule_cookie, '"');
		}

		// Drop `Cache-Vary:`
		$rule_cookie = substr($rule_cookie, strlen('Cache-Vary:'));

		return $rule_cookie;
	}

	/**
	 * Get rewrite rules based on the marker
	 *
	 * @since  2.0
	 * @access private
	 */
	private function _get_rule_by( $cond, $kind = 'frontend' ) {
		clearstatcache();
		$path = $this->htaccess_path($kind);
		if (!$this->_readable($kind)) {
			return false;
		}

		$rules = File::extract_from_markers($path, self::MARKER);
		if (!in_array($cond . self::MARKER_START, $rules) || !in_array($cond . self::MARKER_END, $rules)) {
			return false;
		}

		$key_start = array_search($cond . self::MARKER_START, $rules);
		$key_end   = array_search($cond . self::MARKER_END, $rules);
		if ($key_start === false || $key_end === false) {
			return false;
		}

		$results = array_slice($rules, $key_start + 1, $key_end - $key_start - 1);
		if (!$results) {
			return false;
		}

		if (count($results) == 1) {
			return trim($results[0]);
		}

		return array_filter($results);
	}

	/**
	 * Generate browser cache rules
	 *
	 * @since  1.3
	 * @access private
	 * @return array Rules set
	 */
	private function _browser_cache_rules( $cfg ) {
		/**
		 * Add ttl setting
		 *
		 * @since 1.6.3
		 */
		$id    = Base::O_CACHE_TTL_BROWSER;
		$ttl   = $cfg[$id];
		$rules = array(
			self::EXPIRES_MODULE_START,
			// '<FilesMatch "\.(pdf|ico|svg|xml|jpg|jpeg|png|gif|webp|ogg|mp4|webm|js|css|woff|woff2|ttf|eot)(\.gz)?$">',
			'ExpiresActive on',
			'ExpiresByType application/pdf A' . $ttl,
			'ExpiresByType image/x-icon A' . $ttl,
			'ExpiresByType image/vnd.microsoft.icon A' . $ttl,
			'ExpiresByType image/svg+xml A' . $ttl,
			'',
			'ExpiresByType image/jpg A' . $ttl,
			'ExpiresByType image/jpeg A' . $ttl,
			'ExpiresByType image/png A' . $ttl,
			'ExpiresByType image/gif A' . $ttl,
			'ExpiresByType image/webp A' . $ttl,
			'ExpiresByType image/avif A' . $ttl,
			'',
			'ExpiresByType video/ogg A' . $ttl,
			'ExpiresByType audio/ogg A' . $ttl,
			'ExpiresByType video/mp4 A' . $ttl,
			'ExpiresByType video/webm A' . $ttl,
			'',
			'ExpiresByType text/css A' . $ttl,
			'ExpiresByType text/javascript A' . $ttl,
			'ExpiresByType application/javascript A' . $ttl,
			'ExpiresByType application/x-javascript A' . $ttl,
			'',
			'ExpiresByType application/x-font-ttf A' . $ttl,
			'ExpiresByType application/x-font-woff A' . $ttl,
			'ExpiresByType application/font-woff A' . $ttl,
			'ExpiresByType application/font-woff2 A' . $ttl,
			'ExpiresByType application/vnd.ms-fontobject A' . $ttl,
			'ExpiresByType font/ttf A' . $ttl,
			'ExpiresByType font/otf A' . $ttl,
			'ExpiresByType font/woff A' . $ttl,
			'ExpiresByType font/woff2 A' . $ttl,
			'',
			// '</FilesMatch>',
			self::LS_MODULE_END,
		);
		return $rules;
	}

	/**
	 * Generate CORS rules for fonts
	 *
	 * @since  1.5
	 * @access private
	 * @return array Rules set
	 */
	private function _cors_rules() {
		return array(
			'<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font\.css)$">',
			'<IfModule mod_headers.c>',
			'Header set Access-Control-Allow-Origin "*"',
			'</IfModule>',
			'</FilesMatch>',
		);
	}

	/**
	 * Generate rewrite rules based on settings
	 *
	 * @since  1.3
	 * @access private
	 * @param  array $cfg  The settings to be used for rewrite rule
	 * @return array      Rules array
	 */
	private function _generate_rules( $cfg ) {
		$new_rules               = array();
		$new_rules_nonls         = array();
		$new_rules_backend       = array();
		$new_rules_backend_nonls = array();

		// continual crawler
		// $id = Base::O_CRAWLER;
		// if (!empty($cfg[$id])) {
		$new_rules[] = self::MARKER_ASYNC . self::MARKER_START;
		$new_rules[] = 'RewriteCond %{REQUEST_URI} /wp-admin/admin-ajax\.php';
		$new_rules[] = 'RewriteCond %{QUERY_STRING} action=async_litespeed';
		$new_rules[] = 'RewriteRule .* - [E=noabort:1]';
		$new_rules[] = self::MARKER_ASYNC . self::MARKER_END;
		$new_rules[] = '';
		// }

		// mobile agents
		$id = Base::O_CACHE_MOBILE_RULES;
		if ((!empty($cfg[Base::O_CACHE_MOBILE]) || !empty($cfg[Base::O_GUEST])) && !empty($cfg[$id])) {
			$new_rules[] = self::MARKER_MOBILE . self::MARKER_START;
			$new_rules[] = 'RewriteCond %{HTTP_USER_AGENT} ' . Utility::arr2regex($cfg[$id], true) . ' [NC]';
			$new_rules[] = 'RewriteRule .* - [E=Cache-Control:vary=%{ENV:LSCACHE_VARY_VALUE}+ismobile]';
			$new_rules[] = self::MARKER_MOBILE . self::MARKER_END;
			$new_rules[] = '';
		}

		// nocache cookie
		$id = Base::O_CACHE_EXC_COOKIES;
		if (!empty($cfg[$id])) {
			$new_rules[] = self::MARKER_NOCACHE_COOKIES . self::MARKER_START;
			$new_rules[] = 'RewriteCond %{HTTP_COOKIE} ' . Utility::arr2regex($cfg[$id], true);
			$new_rules[] = 'RewriteRule .* - [E=Cache-Control:no-cache]';
			$new_rules[] = self::MARKER_NOCACHE_COOKIES . self::MARKER_END;
			$new_rules[] = '';
		}

		// nocache user agents
		$id = Base::O_CACHE_EXC_USERAGENTS;
		if (!empty($cfg[$id])) {
			$new_rules[] = self::MARKER_NOCACHE_USER_AGENTS . self::MARKER_START;
			$new_rules[] = 'RewriteCond %{HTTP_USER_AGENT} ' . Utility::arr2regex($cfg[$id], true) . ' [NC]';
			$new_rules[] = 'RewriteRule .* - [E=Cache-Control:no-cache]';
			$new_rules[] = self::MARKER_NOCACHE_USER_AGENTS . self::MARKER_END;
			$new_rules[] = '';
		}

		// check login cookie
		$vary_cookies = $cfg[Base::O_CACHE_VARY_COOKIES];
		$id           = Base::O_CACHE_LOGIN_COOKIE;
		if (!empty($cfg[$id])) {
			$vary_cookies[] = $cfg[$id];
		}
		if (LITESPEED_SERVER_TYPE === 'LITESPEED_SERVER_OLS') {
			// Need to keep this due to different behavior of OLS when handling response vary header @Sep/22/2018
			if (defined('COOKIEHASH')) {
				$vary_cookies[] = ',wp-postpass_' . COOKIEHASH;
			}
		}
		$vary_cookies = apply_filters('litespeed_vary_cookies', $vary_cookies); // todo: test if response vary header can work in latest OLS, drop the above two lines
		// frontend and backend
		if ($vary_cookies) {
			$env = 'Cache-Vary:' . implode(',', $vary_cookies);
			// if (LITESPEED_SERVER_TYPE === 'LITESPEED_SERVER_OLS') {
			// }
			$env         = '"' . $env . '"';
			$new_rules[] = $new_rules_backend[] = self::MARKER_LOGIN_COOKIE . self::MARKER_START;
			$new_rules[] = $new_rules_backend[] = 'RewriteRule .? - [E=' . $env . ']';
			$new_rules[] = $new_rules_backend[] = self::MARKER_LOGIN_COOKIE . self::MARKER_END;
			$new_rules[] = '';
		}

		// CORS font rules
		$id = Base::O_CDN;
		if (!empty($cfg[$id])) {
			$new_rules[] = self::MARKER_CORS . self::MARKER_START;
			$new_rules   = array_merge($new_rules, $this->_cors_rules()); // todo: network
			$new_rules[] = self::MARKER_CORS . self::MARKER_END;
			$new_rules[] = '';
		}

		// webp support
		$id = Base::O_IMG_OPTM_WEBP;
		if (!empty($cfg[$id])) {
			$next_gen_format = 'webp';
			if ($cfg[$id] == 2) {
				$next_gen_format = 'avif';
			}
			$new_rules[] = self::MARKER_WEBP . self::MARKER_START;
			// Check for WebP support via HTTP_ACCEPT
			$new_rules[] = 'RewriteCond %{HTTP_ACCEPT} image/' . $next_gen_format . ' [OR]';

			// Check for iPhone browsers (version > 13)
			$new_rules[] = 'RewriteCond %{HTTP_USER_AGENT} iPhone\ OS\ (1[4-9]|[2-9][0-9]) [OR]';

			// Check for Firefox (version >= 65)
			$new_rules[] = 'RewriteCond %{HTTP_USER_AGENT} Firefox/([6-9][0-9]|[1-9][0-9]{2,})';

			// Add vary
			$new_rules[] = 'RewriteRule .* - [E=Cache-Control:vary=%{ENV:LSCACHE_VARY_VALUE}+webp]';
			$new_rules[] = self::MARKER_WEBP . self::MARKER_END;
			$new_rules[] = '';
		}

		// drop qs support
		$id = Base::O_CACHE_DROP_QS;
		if (!empty($cfg[$id])) {
			$new_rules[] = self::MARKER_DROPQS . self::MARKER_START;
			foreach ($cfg[$id] as $v) {
				$new_rules[] = 'CacheKeyModify -qs:' . $v;
			}
			$new_rules[] = self::MARKER_DROPQS . self::MARKER_END;
			$new_rules[] = '';
		}

		// Browser cache
		$id = Base::O_CACHE_BROWSER;
		if (!empty($cfg[$id])) {
			$new_rules_nonls[]       = $new_rules_backend_nonls[] = self::MARKER_BROWSER_CACHE . self::MARKER_START;
			$new_rules_nonls         = array_merge($new_rules_nonls, $this->_browser_cache_rules($cfg));
			$new_rules_backend_nonls = array_merge($new_rules_backend_nonls, $this->_browser_cache_rules($cfg));
			$new_rules_nonls[]       = $new_rules_backend_nonls[] = self::MARKER_BROWSER_CACHE . self::MARKER_END;
			$new_rules_nonls[]       = '';
		}

		// Add module wrapper for LiteSpeed rules
		if ($new_rules) {
			$new_rules = $this->_wrap_ls_module($new_rules);
		}

		if ($new_rules_backend) {
			$new_rules_backend = $this->_wrap_ls_module($new_rules_backend);
		}

		return array( $new_rules, $new_rules_backend, $new_rules_nonls, $new_rules_backend_nonls );
	}

	/**
	 * Add LitSpeed module wrapper with rewrite on
	 *
	 * @since  2.1.1
	 * @access private
	 */
	private function _wrap_ls_module( $rules = array() ) {
		return array_merge(array( self::LS_MODULE_START ), $this->__rewrite_on, array( '' ), $rules, array( self::LS_MODULE_END ));
	}

	/**
	 * Insert LitSpeed module wrapper with rewrite on
	 *
	 * @since  2.1.1
	 * @access public
	 */
	public function insert_ls_wrapper() {
		$rules = $this->_wrap_ls_module();
		$this->_insert_wrapper($rules);
	}

	/**
	 * wrap rules with module on info
	 *
	 * @since  1.1.5
	 * @param  array $rules
	 * @return array        wrapped rules with module info
	 */
	private function _wrap_do_no_edit( $rules ) {
		// When to clear rules, don't need DONOTEDIT msg
		if ($rules === false || !is_array($rules)) {
			return $rules;
		}

		$rules = array_merge(array( self::LS_MODULE_DONOTEDIT ), $rules, array( self::LS_MODULE_DONOTEDIT ));

		return $rules;
	}

	/**
	 * Write to htaccess with rules
	 *
	 * NOTE: will throw error if failed
	 *
	 * @since  1.1.0
	 * @access private
	 */
	private function _insert_wrapper( $rules = array(), $kind = false, $marker = false ) {
		if ($kind != 'backend') {
			$kind = 'frontend';
		}

		// Default marker is LiteSpeed marker `LSCACHE`
		if ($marker === false) {
			$marker = self::MARKER;
		}

		$this->_htaccess_backup($kind);

		File::insert_with_markers($this->htaccess_path($kind), $this->_wrap_do_no_edit($rules), $marker, true);
	}

	/**
	 * Update rewrite rules based on setting
	 *
	 * NOTE: will throw error if failed
	 *
	 * @since 1.3
	 * @access public
	 */
	public function update( $cfg ) {
		list($frontend_rules, $backend_rules, $frontend_rules_nonls, $backend_rules_nonls) = $this->_generate_rules($cfg);

		// Check frontend content
		list($rules, $rules_nonls) = $this->_extract_rules();

		// Check Non-LiteSpeed rules
		if ($this->_wrap_do_no_edit($frontend_rules_nonls) != $rules_nonls) {
			Debug2::debug('[Rules] Update non-ls frontend rules');
			// Need to update frontend htaccess
			try {
				$this->_insert_wrapper($frontend_rules_nonls, false, self::MARKER_NONLS);
			} catch (\Exception $e) {
				$manual_guide_codes = $this->_rewrite_codes_msg($this->frontend_htaccess, $frontend_rules_nonls, self::MARKER_NONLS);
				Debug2::debug('[Rules] Update Failed');
				throw new \Exception($manual_guide_codes);
			}
		}

		// Check LiteSpeed rules
		if ($this->_wrap_do_no_edit($frontend_rules) != $rules) {
			Debug2::debug('[Rules] Update frontend rules');
			// Need to update frontend htaccess
			try {
				$this->_insert_wrapper($frontend_rules);
			} catch (\Exception $e) {
				Debug2::debug('[Rules] Update Failed');
				$manual_guide_codes = $this->_rewrite_codes_msg($this->frontend_htaccess, $frontend_rules);
				throw new \Exception($manual_guide_codes);
			}
		}

		if ($this->frontend_htaccess !== $this->backend_htaccess) {
			list($rules, $rules_nonls) = $this->_extract_rules('backend');

			// Check Non-LiteSpeed rules for backend
			if ($this->_wrap_do_no_edit($backend_rules_nonls) != $rules_nonls) {
				Debug2::debug('[Rules] Update non-ls backend rules');
				// Need to update frontend htaccess
				try {
					$this->_insert_wrapper($backend_rules_nonls, 'backend', self::MARKER_NONLS);
				} catch (\Exception $e) {
					Debug2::debug('[Rules] Update Failed');
					$manual_guide_codes = $this->_rewrite_codes_msg($this->backend_htaccess, $backend_rules_nonls, self::MARKER_NONLS);
					throw new \Exception($manual_guide_codes);
				}
			}

			// Check backend content
			if ($this->_wrap_do_no_edit($backend_rules) != $rules) {
				Debug2::debug('[Rules] Update backend rules');
				// Need to update backend htaccess
				try {
					$this->_insert_wrapper($backend_rules, 'backend');
				} catch (\Exception $e) {
					Debug2::debug('[Rules] Update Failed');
					$manual_guide_codes = $this->_rewrite_codes_msg($this->backend_htaccess, $backend_rules);
					throw new \Exception($manual_guide_codes);
				}
			}
		}

		return true;
	}

	/**
	 * Get existing rewrite rules
	 *
	 * NOTE: will throw error if failed
	 *
	 * @since  1.3
	 * @access private
	 * @param  string $kind Frontend or backend .htaccess file
	 */
	private function _extract_rules( $kind = 'frontend' ) {
		clearstatcache();
		$path = $this->htaccess_path($kind);
		if (!$this->_readable($kind)) {
			Error::t('E_HTA_R');
		}

		$rules       = File::extract_from_markers($path, self::MARKER);
		$rules_nonls = File::extract_from_markers($path, self::MARKER_NONLS);

		return array( $rules, $rules_nonls );
	}

	/**
	 * Output the msg with rules plain data for manual insert
	 *
	 * @since  1.1.5
	 * @param  string $file
	 * @param  array  $rules
	 * @return string        final msg to output
	 */
	private function _rewrite_codes_msg( $file, $rules, $marker = false ) {
		return sprintf(
			__('<p>Please add/replace the following codes into the beginning of %1$s:</p> %2$s', 'litespeed-cache'),
			$file,
			'<textarea style="width:100%;" rows="10" readonly>' . htmlspecialchars($this->_wrap_rules_with_marker($rules, $marker)) . '</textarea>'
		);
	}

	/**
	 * Generate rules plain data for manual insert
	 *
	 * @since  1.1.5
	 */
	private function _wrap_rules_with_marker( $rules, $marker = false ) {
		// Default marker is LiteSpeed marker `LSCACHE`
		if ($marker === false) {
			$marker = self::MARKER;
		}

		$start_marker  = "# BEGIN {$marker}";
		$end_marker    = "# END {$marker}";
		$new_file_data = implode("\n", array_merge(array( $start_marker ), $this->_wrap_do_no_edit($rules), array( $end_marker )));

		return $new_file_data;
	}

	/**
	 * Clear the rules file of any changes added by the plugin specifically.
	 *
	 * @since 1.0.4
	 * @access public
	 */
	public function clear_rules() {
		$this->_insert_wrapper(false); // Use false to avoid do-not-edit msg
		// Clear non ls rules
		$this->_insert_wrapper(false, false, self::MARKER_NONLS);

		if ($this->frontend_htaccess !== $this->backend_htaccess) {
			$this->_insert_wrapper(false, 'backend');
			$this->_insert_wrapper(false, 'backend', self::MARKER_NONLS);
		}
	}
}
PK�^�\�$zj=5=5"litespeed-cache/src/object.lib.phpnu�[���<?php
/**
 * LiteSpeed Object Cache Library
 *
 * @since  1.8
 * @package LiteSpeed
 */

defined( 'WPINC' ) || exit();

if (!function_exists('litespeed_exception_handler')) {
/**
 * Handle exception
 *
 * Converts PHP errors into exceptions for better error handling.
 *
 * @since 1.8
 * @access public
 * @param int    $errno   Error level.
 * @param string $errstr  Error message.
 * @param string $errfile File where the error occurred.
 * @param int    $errline Line number where the error occurred.
 * @throws \ErrorException Error msg.
 */
function litespeed_exception_handler( $errno, $errstr, $errfile, $errline ) {
	throw new \ErrorException( esc_html( $errstr ), 0, esc_html( $errno ), esc_html( $errfile ), esc_html( $errline ) );
}
}

require_once __DIR__ . '/object-cache.cls.php';
require_once __DIR__ . '/object-cache-wp.cls.php';

/**
 * Sets up Object Cache Global and assigns it.
 *
 * Initializes the global object cache instance.
 *
 * @since 1.8
 * @access public
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 */
function wp_cache_init() {
	// phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
	$GLOBALS['wp_object_cache'] = WP_Object_Cache::get_instance();
}

/**
 * Adds data to the cache, if the cache key doesn't already exist.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::add()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param int|string $key    The cache key to use for retrieval later.
 * @param mixed      $data   The data to add to the cache.
 * @param string     $group  Optional. The group to add the cache to. Enables the same key
 *                           to be used across groups. Default empty.
 * @param int        $expire Optional. When the cache data should expire, in seconds.
 *                           Default 0 (no expiration).
 * @return bool True on success, false if cache key and group already exist.
 */
function wp_cache_add( $key, $data, $group = '', $expire = 0 ) {
	global $wp_object_cache;

	return $wp_object_cache->add( $key, $data, $group, (int) $expire );
}

/**
 * Adds multiple values to the cache in one call.
 *
 * @since 5.4
 * @access public
 * @see WP_Object_Cache::add_multiple()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param array  $data   Array of keys and values to be set.
 * @param string $group  Optional. Where the cache contents are grouped. Default empty.
 * @param int    $expire Optional. When to expire the cache contents, in seconds.
 *                       Default 0 (no expiration).
 * @return bool[] Array of return values, grouped by key. Each value is either
 *                true on success, or false if cache key and group already exist.
 */
function wp_cache_add_multiple( array $data, $group = '', $expire = 0 ) {
	global $wp_object_cache;

	return $wp_object_cache->add_multiple( $data, $group, $expire );
}

/**
 * Replaces the contents of the cache with new data.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::replace()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param int|string $key    The key for the cache data that should be replaced.
 * @param mixed      $data   The new data to store in the cache.
 * @param string     $group  Optional. The group for the cache data that should be replaced.
 *                           Default empty.
 * @param int        $expire Optional. When to expire the cache contents, in seconds.
 *                           Default 0 (no expiration).
 * @return bool True if contents were replaced, false if original value does not exist.
 */
function wp_cache_replace( $key, $data, $group = '', $expire = 0 ) {
	global $wp_object_cache;

	return $wp_object_cache->replace( $key, $data, $group, (int) $expire );
}

/**
 * Saves the data to the cache.
 *
 * Differs from wp_cache_add() and wp_cache_replace() in that it will always write data.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::set()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param int|string $key    The cache key to use for retrieval later.
 * @param mixed      $data   The contents to store in the cache.
 * @param string     $group  Optional. Where to group the cache contents. Enables the same key
 *                           to be used across groups. Default empty.
 * @param int        $expire Optional. When to expire the cache contents, in seconds.
 *                           Default 0 (no expiration).
 * @return bool True on success, false on failure.
 */
function wp_cache_set( $key, $data, $group = '', $expire = 0 ) {
	global $wp_object_cache;

	return $wp_object_cache->set( $key, $data, $group, (int) $expire );
}

/**
 * Sets multiple values to the cache in one call.
 *
 * @since 5.4
 * @access public
 * @see WP_Object_Cache::set_multiple()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param array  $data   Array of keys and values to be set.
 * @param string $group  Optional. Where the cache contents are grouped. Default empty.
 * @param int    $expire Optional. When to expire the cache contents, in seconds.
 *                       Default 0 (no expiration).
 * @return bool[] Array of return values, grouped by key. Each value is either
 *                true on success, or false on failure.
 */
function wp_cache_set_multiple( array $data, $group = '', $expire = 0 ) {
	global $wp_object_cache;

	return $wp_object_cache->set_multiple( $data, $group, $expire );
}

/**
 * Retrieves the cache contents from the cache by key and group.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::get()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param int|string $key   The key under which the cache contents are stored.
 * @param string     $group Optional. Where the cache contents are grouped. Default empty.
 * @param bool       $force Optional. Whether to force an update of the local cache
 *                          from the persistent cache. Default false.
 * @param bool       $found Optional. Whether the key was found in the cache (passed by reference).
 *                          Disambiguates a return of false, a storable value. Default null.
 * @return mixed|false The cache contents on success, false on failure to retrieve contents.
 */
function wp_cache_get( $key, $group = '', $force = false, &$found = null ) {
	global $wp_object_cache;

	return $wp_object_cache->get( $key, $group, $force, $found );
}

/**
 * Retrieves multiple values from the cache in one call.
 *
 * @since 5.4
 * @access public
 * @see WP_Object_Cache::get_multiple()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param array  $keys  Array of keys under which the cache contents are stored.
 * @param string $group Optional. Where the cache contents are grouped. Default empty.
 * @param bool   $force Optional. Whether to force an update of the local cache
 *                      from the persistent cache. Default false.
 * @return array Array of return values, grouped by key. Each value is either
 *               the cache contents on success, or false on failure.
 */
function wp_cache_get_multiple( $keys, $group = '', $force = false ) {
	global $wp_object_cache;

	return $wp_object_cache->get_multiple( $keys, $group, $force );
}

/**
 * Removes the cache contents matching key and group.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::delete()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param int|string $key   What the contents in the cache are called.
 * @param string     $group Optional. Where the cache contents are grouped. Default empty.
 * @return bool True on successful removal, false on failure.
 */
function wp_cache_delete( $key, $group = '' ) {
	global $wp_object_cache;

	return $wp_object_cache->delete( $key, $group );
}

/**
 * Deletes multiple values from the cache in one call.
 *
 * @since 5.4
 * @access public
 * @see WP_Object_Cache::delete_multiple()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param array  $keys  Array of keys under which the cache to deleted.
 * @param string $group Optional. Where the cache contents are grouped. Default empty.
 * @return bool[] Array of return values, grouped by key. Each value is either
 *                true on success, or false if the contents were not deleted.
 */
function wp_cache_delete_multiple( array $keys, $group = '' ) {
	global $wp_object_cache;

	return $wp_object_cache->delete_multiple( $keys, $group );
}

/**
 * Increments numeric cache item's value.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::incr()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param int|string $key    The key for the cache contents that should be incremented.
 * @param int        $offset Optional. The amount by which to increment the item's value.
 *                           Default 1.
 * @param string     $group  Optional. The group the key is in. Default empty.
 * @return int|false The item's new value on success, false on failure.
 */
function wp_cache_incr( $key, $offset = 1, $group = '' ) {
	global $wp_object_cache;

	return $wp_object_cache->incr( $key, $offset, $group );
}

/**
 * Decrements numeric cache item's value.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::decr()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param int|string $key    The cache key to decrement.
 * @param int        $offset Optional. The amount by which to decrement the item's value.
 *                           Default 1.
 * @param string     $group  Optional. The group the key is in. Default empty.
 * @return int|false The item's new value on success, false on failure.
 */
function wp_cache_decr( $key, $offset = 1, $group = '' ) {
	global $wp_object_cache;

	return $wp_object_cache->decr( $key, $offset, $group );
}

/**
 * Removes all cache items.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::flush()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @return bool True on success, false on failure.
 */
function wp_cache_flush() {
	global $wp_object_cache;

	return $wp_object_cache->flush();
}

/**
 * Removes all cache items from the in-memory runtime cache.
 *
 * @since 5.4
 * @access public
 * @see WP_Object_Cache::flush_runtime()
 *
 * @return bool True on success, false on failure.
 */
function wp_cache_flush_runtime() {
	global $wp_object_cache;

	return $wp_object_cache->flush_runtime();
}

/**
 * Removes all cache items in a group, if the object cache implementation supports it.
 *
 * Before calling this function, always check for group flushing support using the
 * `wp_cache_supports( 'flush_group' )` function.
 *
 * @since 5.4
 * @access public
 * @see WP_Object_Cache::flush_group()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param string $group Name of group to remove from cache.
 * @return bool True if group was flushed, false otherwise.
 */
function wp_cache_flush_group( $group ) {
	global $wp_object_cache;

	return $wp_object_cache->flush_group( $group );
}

/**
 * Determines whether the object cache implementation supports a particular feature.
 *
 * @since 5.4
 * @access public
 *
 * @param string $feature Name of the feature to check for. Possible values include:
 *                        'add_multiple', 'set_multiple', 'get_multiple', 'delete_multiple',
 *                        'flush_runtime', 'flush_group'.
 * @return bool True if the feature is supported, false otherwise.
 */
function wp_cache_supports( $feature ) {
	switch ( $feature ) {
		case 'add_multiple':
		case 'set_multiple':
		case 'get_multiple':
		case 'delete_multiple':
		case 'flush_runtime':
			return true;

		case 'flush_group':
		default:
			return false;
	}
}

/**
 * Closes the cache.
 *
 * This function has ceased to do anything since WordPress 2.5. The
 * functionality was removed along with the rest of the persistent cache.
 *
 * This does not mean that plugins can't implement this function when they need
 * to make sure that the cache is cleaned up after WordPress no longer needs it.
 *
 * @since 1.8
 * @access public
 *
 * @return true Always returns true.
 */
function wp_cache_close() {
	return true;
}

/**
 * Adds a group or set of groups to the list of global groups.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::add_global_groups()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param string|string[] $groups A group or an array of groups to add.
 */
function wp_cache_add_global_groups( $groups ) {
	global $wp_object_cache;

	$wp_object_cache->add_global_groups( $groups );
}

/**
 * Adds a group or set of groups to the list of non-persistent groups.
 *
 * @since 1.8
 * @access public
 *
 * @param string|string[] $groups A group or an array of groups to add.
 */
function wp_cache_add_non_persistent_groups( $groups ) {
	global $wp_object_cache;

	$wp_object_cache->add_non_persistent_groups( $groups );
}

/**
 * Switches the internal blog ID.
 *
 * This changes the blog id used to create keys in blog specific groups.
 *
 * @since 1.8
 * @access public
 * @see WP_Object_Cache::switch_to_blog()
 * @global WP_Object_Cache $wp_object_cache Object cache global instance.
 *
 * @param int $blog_id Site ID.
 */
function wp_cache_switch_to_blog( $blog_id ) {
	global $wp_object_cache;

	$wp_object_cache->switch_to_blog( $blog_id );
}
PK�^�\M"pҬ� litespeed-cache/src/tool.cls.phpnu�[���<?php
/**
 * The tools
 *
 * @since       3.0
 * @package     LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Tool
 *
 * Provides utility functions for LiteSpeed Cache, including IP detection and heartbeat control.
 *
 * @since 3.0
 */
class Tool extends Root {

	const LOG_TAG = '[Tool]';

	/**
	 * Get public IP
	 *
	 * Retrieves the public IP address of the server.
	 *
	 * @since  3.0
	 * @access public
	 * @return string The public IP address or an error message.
	 */
	public function check_ip() {
		self::debug( '✅ check_ip' );

		$response = wp_safe_remote_get( 'https://cyberpanel.sh/?ip', [
			'headers' => [
				'User-Agent' => 'curl/8.7.1',
			],
		] );

		if ( is_wp_error( $response ) ) {
			return esc_html__( 'Failed to detect IP', 'litespeed-cache' );
		}

		$ip = trim( $response['body'] );

		self::debug( 'result [ip] ' . $ip );

		if ( Utility::valid_ipv4( $ip ) ) {
			return $ip;
		}

		return esc_html__( 'Failed to detect IP', 'litespeed-cache' );
	}

	/**
	 * Heartbeat Control
	 *
	 * Configures WordPress heartbeat settings for frontend, backend, and editor.
	 *
	 * @since  3.0
	 * @access public
	 */
	public function heartbeat() {
		add_action( 'wp_enqueue_scripts', [ $this, 'heartbeat_frontend' ] );
		add_action( 'admin_enqueue_scripts', [ $this, 'heartbeat_backend' ] );
		add_filter( 'heartbeat_settings', [ $this, 'heartbeat_settings' ] );
	}

	/**
	 * Heartbeat Control frontend control
	 *
	 * Manages heartbeat settings for the frontend.
	 *
	 * @since  3.0
	 * @access public
	 */
	public function heartbeat_frontend() {
		if ( ! $this->conf( Base::O_MISC_HEARTBEAT_FRONT ) ) {
			return;
		}

		if ( ! $this->conf( Base::O_MISC_HEARTBEAT_FRONT_TTL ) ) {
			wp_deregister_script( 'heartbeat' );
			Debug2::debug( '[Tool] Deregistered frontend heartbeat' );
		}
	}

	/**
	 * Heartbeat Control backend control
	 *
	 * Manages heartbeat settings for the backend and editor.
	 *
	 * @since  3.0
	 * @access public
	 */
	public function heartbeat_backend() {
		if ( $this->is_editor() ) {
			if ( ! $this->conf( Base::O_MISC_HEARTBEAT_EDITOR ) ) {
				return;
			}

			if ( ! $this->conf( Base::O_MISC_HEARTBEAT_EDITOR_TTL ) ) {
				wp_deregister_script( 'heartbeat' );
				Debug2::debug( '[Tool] Deregistered editor heartbeat' );
			}
		} else {
			if ( ! $this->conf( Base::O_MISC_HEARTBEAT_BACK ) ) {
				return;
			}

			if ( ! $this->conf( Base::O_MISC_HEARTBEAT_BACK_TTL ) ) {
				wp_deregister_script( 'heartbeat' );
				Debug2::debug( '[Tool] Deregistered backend heartbeat' );
			}
		}
	}

	/**
	 * Heartbeat Control settings
	 *
	 * Adjusts heartbeat interval settings based on configuration.
	 *
	 * @since  3.0
	 * @access public
	 * @param array $settings Existing heartbeat settings.
	 * @return array Modified heartbeat settings.
	 */
	public function heartbeat_settings( $settings ) {
		// Check editor first to make frontend editor valid too
		if ( $this->is_editor() ) {
			if ( $this->conf( Base::O_MISC_HEARTBEAT_EDITOR ) ) {
				$settings['interval'] = $this->conf( Base::O_MISC_HEARTBEAT_EDITOR_TTL );
				Debug2::debug( '[Tool] Heartbeat interval set to ' . $this->conf( Base::O_MISC_HEARTBEAT_EDITOR_TTL ) );
			}
		} elseif ( ! is_admin() ) {
			if ( $this->conf( Base::O_MISC_HEARTBEAT_FRONT ) ) {
				$settings['interval'] = $this->conf( Base::O_MISC_HEARTBEAT_FRONT_TTL );
				Debug2::debug( '[Tool] Heartbeat interval set to ' . $this->conf( Base::O_MISC_HEARTBEAT_FRONT_TTL ) );
			}
		} elseif ( $this->conf( Base::O_MISC_HEARTBEAT_BACK ) ) {
			$settings['interval'] = $this->conf( Base::O_MISC_HEARTBEAT_BACK_TTL );
			Debug2::debug( '[Tool] Heartbeat interval set to ' . $this->conf( Base::O_MISC_HEARTBEAT_BACK_TTL ) );
		}
		return $settings;
	}

	/**
	 * Check if in editor
	 *
	 * Determines if the current request is within the WordPress editor.
	 *
	 * @since  3.0
	 * @access public
	 * @return bool True if in editor, false otherwise.
	 */
	public function is_editor() {
		$request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
		$res         = is_admin() && Utility::str_hit_array( $request_uri, [ 'post.php', 'post-new.php' ] );

		return apply_filters( 'litespeed_is_editor', $res );
	}
}
PK�^�\���9��)litespeed-cache/src/admin-display.cls.phpnu�[���<?php
/**
 * The admin-panel specific functionality of the plugin.
 *
 * Provides admin page rendering, notices, enqueueing of assets,
 * menu registrations, and various admin utilities.
 *
 * @since      1.0.0
 * @package    LiteSpeed
 * @subpackage LiteSpeed/admin
 * @author     LiteSpeed Technologies <info@litespeedtech.com>
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Admin_Display
 *
 * Handles WP-Admin UI for LiteSpeed Cache.
 */
class Admin_Display extends Base {

	/**
	 * Log tag for Admin_Display.
	 *
	 * @var string
	 */
	const LOG_TAG = '👮‍♀️';

	/**
	 * Notice class (info/blue).
	 *
	 * @var string
	 */
	const NOTICE_BLUE = 'notice notice-info';
	/**
	 * Notice class (success/green).
	 *
	 * @var string
	 */
	const NOTICE_GREEN = 'notice notice-success';
	/**
	 * Notice class (error/red).
	 *
	 * @var string
	 */
	const NOTICE_RED = 'notice notice-error';
	/**
	 * Notice class (warning/yellow).
	 *
	 * @var string
	 */
	const NOTICE_YELLOW = 'notice notice-warning';
	/**
	 * Option key for one-time messages.
	 *
	 * @var string
	 */
	const DB_MSG = 'messages';
	/**
	 * Option key for pinned messages.
	 *
	 * @var string
	 */
	const DB_MSG_PIN = 'msg_pin';

	/**
	 * Purge by: category.
	 *
	 * @var string
	 */
	const PURGEBY_CAT = '0';
	/**
	 * Purge by: post ID.
	 *
	 * @var string
	 */
	const PURGEBY_PID = '1';
	/**
	 * Purge by: tag.
	 *
	 * @var string
	 */
	const PURGEBY_TAG = '2';
	/**
	 * Purge by: URL.
	 *
	 * @var string
	 */
	const PURGEBY_URL = '3';

	/**
	 * Purge selection field name.
	 *
	 * @var string
	 */
	const PURGEBYOPT_SELECT = 'purgeby';
	/**
	 * Purge list field name.
	 *
	 * @var string
	 */
	const PURGEBYOPT_LIST = 'purgebylist';

	/**
	 * Dismiss key for messages.
	 *
	 * @var string
	 */
	const DB_DISMISS_MSG = 'dismiss';
	/**
	 * Rule conflict flag (on).
	 *
	 * @var string
	 */
	const RULECONFLICT_ON = 'ExpiresDefault_1';
	/**
	 * Rule conflict dismissed flag.
	 *
	 * @var string
	 */
	const RULECONFLICT_DISMISSED = 'ExpiresDefault_0';

	/**
	 * Router type for QC hide banner.
	 *
	 * @var string
	 */
	const TYPE_QC_HIDE_BANNER = 'qc_hide_banner';
	/**
	 * Cookie name for QC hide banner.
	 *
	 * @var string
	 */
	const COOKIE_QC_HIDE_BANNER = 'litespeed_qc_hide_banner';

	/**
	 * Internal messages cache.
	 *
	 * @var array<string,string>
	 */
	protected $messages = [];

	/**
	 * Cached default settings.
	 *
	 * @var array<string,mixed>
	 */
	protected $default_settings = [];

	/**
	 * Whether current context is network admin.
	 *
	 * @var bool
	 */
	protected $_is_network_admin = false;

	/**
	 * Whether multisite is enabled.
	 *
	 * @var bool
	 */
	protected $_is_multisite = false;

	/**
	 * Incremental form submit button index.
	 *
	 * @var int
	 */
	private $_btn_i = 0;

	/**
	 * List of settings with filters and return type.
	 *
	 * @since 7.4
	 * @deprecated 7.7 Use general conf fitlers.
	 *
	 * @var array<string,array<string,mixed>>
	 */
	protected static $settings_filters = [
		// Crawler - Blocklist.
		'crawler-blocklist' => [
			'filter' => 'litespeed_crawler_disable_blocklist',
			'type'   => 'boolean',
		],
		// Crawler - Settings.
		self::O_CRAWLER_LOAD_LIMIT => [
			'filter' => [ Base::ENV_CRAWLER_LOAD_LIMIT_ENFORCE, Base::ENV_CRAWLER_LOAD_LIMIT ],
			'type'   => 'input',
		],
		// Cache - ESI.
		self::O_ESI_NONCE => [
			'filter' => 'litespeed_esi_nonces',
		],
		// Page Optimization - CSS.
		'optm-ucss_per_pagetype' => [
			'filter' => 'litespeed_ucss_per_pagetype',
			'type'   => 'boolean',
		],
		// Page Optimization - Media.
		self::O_MEDIA_ADD_MISSING_SIZES => [
			'filter' => 'litespeed_media_ignore_remote_missing_sizes',
			'type'   => 'boolean',
		],
		// Page Optimization - Media Exclude.
		self::O_MEDIA_LAZY_EXC => [
			'filter' => 'litespeed_media_lazy_img_excludes',
		],
		// Page Optimization - Tuning (JS).
		self::O_OPTM_JS_DELAY_INC => [
			'filter' => 'litespeed_optm_js_delay_inc',
		],
		self::O_OPTM_JS_EXC => [
			'filter' => 'litespeed_optimize_js_excludes',
		],
		self::O_OPTM_JS_DEFER_EXC => [
			'filter' => 'litespeed_optm_js_defer_exc',
		],
		self::O_OPTM_GM_JS_EXC => [
			'filter' => 'litespeed_optm_gm_js_exc',
		],
		self::O_OPTM_EXC => [
			'filter' => 'litespeed_optm_uri_exc',
		],
		// Page Optimization - Tuning (CSS).
		self::O_OPTM_CSS_EXC => [
			'filter' => 'litespeed_optimize_css_excludes',
		],
		self::O_OPTM_UCSS_EXC => [
			'filter' => 'litespeed_ucss_exc',
		],
	];

	/**
	 * Flat pages map: menu slug to template metadata.
	 *
	 * @var array<string,array{title:string,tpl:string,network?:bool}>
	 */
	private $_pages = [];

	/**
	 * Initialize the class and set its properties.
	 *
	 * @since 1.0.7
	 */
	public function __construct() {
		$this->_pages = [
			// Site-level pages
			'litespeed'               => [ 'title' => __( 'Dashboard', 'litespeed-cache' ), 'tpl' => 'dash/entry.tpl.php' ],
			'litespeed-optimax'       => [ 'title' => __( 'OptimaX', 'litespeed-cache' ), 'tpl' => 'optimax/entry.tpl.php', 'scope' => 'site' ],
			'litespeed-presets'       => [ 'title' => __( 'Presets', 'litespeed-cache' ), 'tpl' => 'presets/entry.tpl.php', 'scope' => 'site' ],
			'litespeed-general'       => [ 'title' => __( 'General', 'litespeed-cache' ), 'tpl' => 'general/entry.tpl.php' ],
			'litespeed-cache'         => [ 'title' => __( 'Cache', 'litespeed-cache' ), 'tpl' => 'cache/entry.tpl.php' ],
			'litespeed-cdn'           => [ 'title' => __( 'CDN', 'litespeed-cache' ), 'tpl' => 'cdn/entry.tpl.php', 'scope' => 'site' ],
			'litespeed-img_optm'      => [ 'title' => __( 'Image Optimization', 'litespeed-cache'), 'tpl' => 'img_optm/entry.tpl.php' ],
			'litespeed-page_optm'     => [ 'title' => __( 'Page Optimization', 'litespeed-cache' ), 'tpl' => 'page_optm/entry.tpl.php', 'scope' => 'site' ],
			'litespeed-db_optm'       => [ 'title' => __( 'Database', 'litespeed-cache' ), 'tpl' => 'db_optm/entry.tpl.php' ],
			'litespeed-crawler'       => [ 'title' => __( 'Crawler', 'litespeed-cache' ), 'tpl' => 'crawler/entry.tpl.php', 'scope' => 'site' ],
			'litespeed-toolbox'       => [ 'title' => __( 'Toolbox', 'litespeed-cache' ), 'tpl' => 'toolbox/entry.tpl.php' ],
		];

		// main css
		add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_style' ] );
		// Main js
		add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] );

		$this->_is_network_admin = is_network_admin();
		$this->_is_multisite     = is_multisite();

		// Quick access menu
		$manage = ( $this->_is_multisite && $this->_is_network_admin ) ? 'manage_network_options' : 'manage_options';

		if ( current_user_can( $manage ) ) {
			add_action( 'wp_before_admin_bar_render', [ GUI::cls(), 'backend_shortcut' ] );

			// `admin_notices` is after `admin_enqueue_scripts`.
			add_action( $this->_is_network_admin ? 'network_admin_notices' : 'admin_notices', [ $this, 'display_messages' ] );
		}

		/**
		 * In case this is called outside the admin page.
		 *
		 * @see  https://codex.wordpress.org/Function_Reference/is_plugin_active_for_network
		 * @since  2.0
		 */
		if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
			require_once ABSPATH . 'wp-admin/includes/plugin.php';
		}

		// add menus (Also check for mu-plugins)
		if ( $this->_is_network_admin && ( is_plugin_active_for_network( LSCWP_BASENAME ) || defined( 'LSCWP_MU_PLUGIN' ) ) ) {
			add_action( 'network_admin_menu', [ $this, 'register_admin_menu' ] );
		} else {
			add_action( 'admin_menu', [ $this, 'register_admin_menu' ] );
		}

		$this->cls( 'Metabox' )->register_settings();
	}

	/**
	 * Echo a translated section title.
	 *
	 * @since 3.0
	 *
	 * @param string $id Language key.
	 * @return void
	 */
	public function title( $id ) {
		echo wp_kses_post( Lang::title( $id ) );
	}

	/**
	 * Bind per-page admin hooks for a given page hook.
	 *
	 * Adds footer text filter and preview banner when loading the page.
	 *
	 * @param string $hook Page hook suffix returned by add_*_page().
	 * @return void
	 */
	private function bind_page( $hook ) {
		add_action( "load-$hook", function () {
			add_filter(
				'admin_footer_text',
				function ( $footer_text ) {
					$this->cls( 'Cloud' )->maybe_preview_banner();
					require_once LSCWP_DIR . 'tpl/inc/admin_footer.php';
					return $footer_text;
				},
				1
			);
			// Add unified body class for settings page and top-level page
			add_filter( 'admin_body_class', function ( $classes ) {
				$screen = get_current_screen();
				if ( $screen && in_array( $screen->id, [ 'settings_page_litespeed-cache-options', 'toplevel_page_litespeed' ], true ) ) {
					$classes .= ' litespeed-cache_page_litespeed';
				}
				return $classes;
			} );
		} );
	}

	/**
	 * Render an admin page by slug using its mapped template file.
	 *
	 * @param string $slug The menu slug registered in $_pages.
	 * @return void
	 */
	private function render_page( $slug ) {
		$tpl = LSCWP_DIR . 'tpl/' . $this->_pages[ $slug ]['tpl'];
		is_file( $tpl ) ? require $tpl : wp_die( 'Template not found' );
	}

	/**
	 * Register the admin menu display.
	 *
	 * @since 1.0.0
	 * @return void
	 */
	public function register_admin_menu() {
		$capability = $this->_is_network_admin ? 'manage_network_options' : 'manage_options';
		$scope      = $this->_is_network_admin ? 'network' : 'site';

		add_menu_page(
			'LiteSpeed Cache',
			'LiteSpeed Cache',
			$capability,
			'litespeed'
		);

		foreach ( $this->_pages as $slug => $meta ) {
			if ( 'litespeed-optimax' === $slug && !defined( 'LITESPEED_OX' ) ) {
				continue;
			}
			if ( ! empty( $meta['scope'] ) && $meta['scope'] !== $scope ) {
				continue;
			}
			$hook = add_submenu_page(
				'litespeed',
				$meta['title'],
				$meta['title'],
				$capability,
				$slug,
				function () use ( $slug ) {
					$this->render_page( $slug );
				}
			);
			$this->bind_page( $hook );
		}

		// sub menus under options.
		$hook = add_options_page(
			'LiteSpeed Cache',
			'LiteSpeed Cache',
			$capability,
			'litespeed-cache-options',
			function () {
				$this->render_page( 'litespeed-cache' );
			}
		);
		$this->bind_page( $hook );
	}

	/**
	 * Register the stylesheets for the admin area.
	 *
	 * @since 1.0.14
	 * @return void
	 */
	public function enqueue_style() {
		wp_enqueue_style( Core::PLUGIN_NAME, LSWCP_PLUGIN_URL . 'assets/css/litespeed.css', [], Core::VER, 'all' );
        wp_enqueue_style( Core::PLUGIN_NAME . '-dark-mode', LSWCP_PLUGIN_URL . 'assets/css/litespeed-dark-mode.css', [], Core::VER, 'all' );
	}

	/**
	 * Register/enqueue the JavaScript for the admin area.
	 *
	 * @since 1.0.0
	 * @since 7.3 Added deactivation modal code.
	 * @return void
	 */
	public function enqueue_scripts() {
		wp_register_script( Core::PLUGIN_NAME, LSWCP_PLUGIN_URL . 'assets/js/litespeed-cache-admin.js', [], Core::VER, true );

		$localize_data = [];
		if ( GUI::has_whm_msg() ) {
			$ajax_url_dismiss_whm                  = Utility::build_url( Core::ACTION_DISMISS, GUI::TYPE_DISMISS_WHM, true );
			$localize_data['ajax_url_dismiss_whm'] = $ajax_url_dismiss_whm;
		}

		if ( GUI::has_msg_ruleconflict() ) {
			$ajax_url                                       = Utility::build_url( Core::ACTION_DISMISS, GUI::TYPE_DISMISS_EXPIRESDEFAULT, true );
			$localize_data['ajax_url_dismiss_ruleconflict'] = $ajax_url;
		}

		// Injection to LiteSpeed pages
		global $pagenow;
		$page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended

		if ( 'admin.php' === $pagenow && $page && ( 0 === strpos( $page, 'litespeed-' ) || 'litespeed' === $page ) ) {
			if ( in_array( $page, [ 'litespeed-crawler', 'litespeed-cdn' ], true ) ) {
				// Babel JS type correction
				add_filter( 'script_loader_tag', [ $this, 'babel_type' ], 10, 3 );

				wp_enqueue_script( Core::PLUGIN_NAME . '-lib-react', LSWCP_PLUGIN_URL . 'assets/js/react.min.js', [], Core::VER, false );
				wp_enqueue_script( Core::PLUGIN_NAME . '-lib-babel', LSWCP_PLUGIN_URL . 'assets/js/babel.min.js', [], Core::VER, false );
			}

			// Crawler Cookie Simulation
			if ( 'litespeed-crawler' === $page ) {
				wp_enqueue_script( Core::PLUGIN_NAME . '-crawler', LSWCP_PLUGIN_URL . 'assets/js/component.crawler.js', [], Core::VER, false );

				$localize_data['lang']                              = [];
				$localize_data['lang']['cookie_name']               = __( 'Cookie Name', 'litespeed-cache' );
				$localize_data['lang']['cookie_value']              = __( 'Cookie Values', 'litespeed-cache' );
				$localize_data['lang']['one_per_line']              = Doc::one_per_line( true );
				$localize_data['lang']['remove_cookie_simulation']  = __( 'Remove cookie simulation', 'litespeed-cache' );
				$localize_data['lang']['add_cookie_simulation_row'] = __( 'Add new cookie to simulate', 'litespeed-cache' );
				if ( empty( $localize_data['ids'] ) ) {
					$localize_data['ids'] = [];
				}
				$localize_data['ids']['crawler_cookies'] = self::O_CRAWLER_COOKIES;
			}

			// CDN mapping
			if ( 'litespeed-cdn' === $page ) {
				$home_url = home_url( '/' );
				$parsed   = wp_parse_url( $home_url );
				if ( ! empty( $parsed['scheme'] ) ) {
					$home_url = str_replace( $parsed['scheme'] . ':', '', $home_url );
				}
				$cdn_url = 'https://cdn.' . substr( $home_url, 2 );

				wp_enqueue_script( Core::PLUGIN_NAME . '-cdn', LSWCP_PLUGIN_URL . 'assets/js/component.cdn.js', [], Core::VER, false );
				$localize_data['lang']                         = [];
				$localize_data['lang']['cdn_mapping_url']      = Lang::title( self::CDN_MAPPING_URL );
				$localize_data['lang']['cdn_mapping_inc_img']  = Lang::title( self::CDN_MAPPING_INC_IMG );
				$localize_data['lang']['cdn_mapping_inc_css']  = Lang::title( self::CDN_MAPPING_INC_CSS );
				$localize_data['lang']['cdn_mapping_inc_js']   = Lang::title( self::CDN_MAPPING_INC_JS );
				$localize_data['lang']['cdn_mapping_filetype'] = Lang::title( self::CDN_MAPPING_FILETYPE );
				$localize_data['lang']['cdn_mapping_url_desc'] = sprintf( __( 'CDN URL to be used. For example, %s', 'litespeed-cache' ), '<code>' . esc_html( $cdn_url ) . '</code>' );
				$localize_data['lang']['one_per_line']         = Doc::one_per_line( true );
				$localize_data['lang']['cdn_mapping_remove']   = __( 'Remove CDN URL', 'litespeed-cache' );
				$localize_data['lang']['add_cdn_mapping_row']  = __( 'Add new CDN URL', 'litespeed-cache' );
				$localize_data['lang']['on']                   = __( 'ON', 'litespeed-cache' );
				$localize_data['lang']['off']                  = __( 'OFF', 'litespeed-cache' );
				if ( empty( $localize_data['ids'] ) ) {
					$localize_data['ids'] = [];
				}
				$localize_data['ids']['cdn_mapping'] = self::O_CDN_MAPPING;
			}
		}

		// Load iziModal JS and CSS
		$show_deactivation_modal = ( is_multisite() && ! is_network_admin() ) ? false : true;
		if ( $show_deactivation_modal && 'plugins.php' === $pagenow ) {
			wp_enqueue_script( Core::PLUGIN_NAME . '-iziModal', LSWCP_PLUGIN_URL . 'assets/js/iziModal.min.js', [], Core::VER, true );
			wp_enqueue_style( Core::PLUGIN_NAME . '-iziModal', LSWCP_PLUGIN_URL . 'assets/css/iziModal.min.css', [], Core::VER, 'all' );
			add_action( 'admin_footer', [ $this, 'add_deactivation_html' ] );
		}

		if ( $localize_data ) {
			wp_localize_script( Core::PLUGIN_NAME, 'litespeed_data', $localize_data );
		}

		wp_enqueue_script( Core::PLUGIN_NAME );
	}

	/**
	 * Add modal HTML on Plugins screen.
	 *
	 * @since 7.3
	 * @return void
	 */
	public function add_deactivation_html() {
		require LSCWP_DIR . 'tpl/inc/modal.deactivation.php';
	}

	/**
	 * Filter the script tag for specific handles to set Babel type.
	 *
	 * @since 3.6
	 *
	 * @param string $tag    The script tag.
	 * @param string $handle Script handle.
	 * @param string $src    Script source URL.
	 * @return string The filtered script tag.
	 */
	public function babel_type( $tag, $handle, $src ) {
		if ( Core::PLUGIN_NAME . '-crawler' !== $handle && Core::PLUGIN_NAME . '-cdn' !== $handle ) {
			return $tag;
		}

		// phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript
		return '<script src="' . Str::trim_quotes( $src ) . '" type="text/babel"></script>';
	}

	/**
	 * Callback that adds LiteSpeed Cache's action links.
	 *
	 * @since 1.0.0
	 *
	 * @param array<string> $links Previously added links from other plugins.
	 * @return array<string> Links with the LiteSpeed Cache one appended.
	 */
	public function add_plugin_links( $links ) {
		$links[] = '<a href="' . esc_url( admin_url( 'admin.php?page=litespeed-cache' ) ) . '">' . esc_html__( 'Settings', 'litespeed-cache' ) . '</a>';

		return $links;
	}

	/**
	 * Build a single notice HTML string.
	 *
	 * @since 1.0.7
	 *
	 * @param string $color              The color CSS class for the notice.
	 * @param string $str                The notice message.
	 * @param bool   $irremovable        If true, the notice cannot be dismissed.
	 * @param string $additional_classes Additional classes to add to the wrapper.
	 * @return string The built notice HTML.
	 */
	public static function build_notice( $color, $str, $irremovable = false, $additional_classes = '' ) {
		$cls = $color;
		if ( $irremovable ) {
			$cls .= ' litespeed-irremovable';
		} else {
			$cls .= ' is-dismissible';
		}
		if ( $additional_classes ) {
			$cls .= ' ' . $additional_classes;
		}

		// possible translation
		$str = Lang::maybe_translate( $str );

		return '<div class="litespeed_icon ' . esc_attr( $cls ) . '"><p>' . wp_kses_post( $str ) . '</p></div>';
	}

	/**
	 * Display info notice.
	 *
	 * @since 1.6.5
	 *
	 * @param string|array<string> $msg                Message or list of messages.
	 * @param bool                 $do_echo            Echo immediately instead of storing.
	 * @param bool                 $irremovable        If true, cannot be dismissed.
	 * @param string               $additional_classes Extra CSS classes.
	 * @return void
	 */
	public static function info( $msg, $do_echo = false, $irremovable = false, $additional_classes = '' ) {
		self::add_notice( self::NOTICE_BLUE, $msg, $do_echo, $irremovable, $additional_classes );
	}

	/**
	 * Display note (warning) notice.
	 *
	 * @since 1.6.5
	 *
	 * @param string|array<string> $msg                Message or list of messages.
	 * @param bool                 $do_echo            Echo immediately instead of storing.
	 * @param bool                 $irremovable        If true, cannot be dismissed.
	 * @param string               $additional_classes Extra CSS classes.
	 * @return void
	 */
	public static function note( $msg, $do_echo = false, $irremovable = false, $additional_classes = '' ) {
		self::add_notice( self::NOTICE_YELLOW, $msg, $do_echo, $irremovable, $additional_classes );
	}

	/**
	 * Display success notice.
	 *
	 * @since 1.6
	 *
	 * @param string|array<string> $msg                Message or list of messages.
	 * @param bool                 $do_echo            Echo immediately instead of storing.
	 * @param bool                 $irremovable        If true, cannot be dismissed.
	 * @param string               $additional_classes Extra CSS classes.
	 * @return void
	 */
	public static function success( $msg, $do_echo = false, $irremovable = false, $additional_classes = '' ) {
		self::add_notice( self::NOTICE_GREEN, $msg, $do_echo, $irremovable, $additional_classes );
	}

	/**
	 * Deprecated alias for success().
	 *
	 * @deprecated 4.7 Will drop in v7.5. Use success().
	 *
	 * @param string|array<string> $msg                Message or list of messages.
	 * @param bool                 $do_echo            Echo immediately instead of storing.
	 * @param bool                 $irremovable        If true, cannot be dismissed.
	 * @param string               $additional_classes Extra CSS classes.
	 * @return void
	 */
	public static function succeed( $msg, $do_echo = false, $irremovable = false, $additional_classes = '' ) {
		self::success( $msg, $do_echo, $irremovable, $additional_classes );
	}

	/**
	 * Display error notice.
	 *
	 * @since 1.6
	 *
	 * @param string|array<string> $msg                Message or list of messages.
	 * @param bool                 $do_echo            Echo immediately instead of storing.
	 * @param bool                 $irremovable        If true, cannot be dismissed.
	 * @param string               $additional_classes Extra CSS classes.
	 * @return void
	 */
	public static function error( $msg, $do_echo = false, $irremovable = false, $additional_classes = '' ) {
		self::add_notice( self::NOTICE_RED, $msg, $do_echo, $irremovable, $additional_classes );
	}

	/**
	 * Add unique (irremovable optional) messages.
	 *
	 * @since 4.7
	 *
	 * @param string               $color_mode  One of info|note|success|error.
	 * @param string|array<string> $msgs        Message(s).
	 * @param bool                 $irremovable If true, cannot be dismissed.
	 * @return void
	 */
	public static function add_unique_notice( $color_mode, $msgs, $irremovable = false ) {
		if ( ! is_array( $msgs ) ) {
			$msgs = [ $msgs ];
		}

		$color_map = [
			'info'    => self::NOTICE_BLUE,
			'note'    => self::NOTICE_YELLOW,
			'success' => self::NOTICE_GREEN,
			'error'   => self::NOTICE_RED,
		];
		if ( empty( $color_map[ $color_mode ] ) ) {
			self::debug( 'Wrong admin display color mode!' );
			return;
		}
		$color = $color_map[ $color_mode ];

		// Go through to make sure unique.
		$filtered_msgs = [];
		foreach ( $msgs as $k => $str ) {
			if ( is_numeric( $k ) ) {
				$k = md5( $str );
			} // Use key to make it overwritable to previous same msg.
			$filtered_msgs[ $k ] = $str;
		}

		self::add_notice( $color, $filtered_msgs, false, $irremovable );
	}

	/**
	 * Add a notice to display on the admin page (store or echo).
	 *
	 * @since 1.0.7
	 *
	 * @param string               $color              Notice color CSS class.
	 * @param string|array<string> $msg                Message(s).
	 * @param bool                 $do_echo            Echo immediately instead of storing.
	 * @param bool                 $irremovable        If true, cannot be dismissed.
	 * @param string               $additional_classes Extra classes for wrapper.
	 * @return void
	 */
	public static function add_notice( $color, $msg, $do_echo = false, $irremovable = false, $additional_classes = '' ) {
		// Bypass adding for CLI or cron
		if ( defined( 'LITESPEED_CLI' ) || wp_doing_cron() ) {
			// WP CLI will show the info directly
			if ( defined( 'WP_CLI' ) && constant('WP_CLI') ) {
				if ( ! is_array( $msg ) ) {
					$msg = [ $msg ];
				}
				foreach ( $msg as $v ) {
					$v = wp_strip_all_tags( $v );
					if ( self::NOTICE_RED === $color ) {
						\WP_CLI::error( $v, false );
					} else {
						\WP_CLI::success( $v );
					}
				}
			}
			return;
		}

		if ( $do_echo ) {
			echo self::build_notice( $color, $msg, $irremovable, $additional_classes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
			return;
		}

		$msg_name = $irremovable ? self::DB_MSG_PIN : self::DB_MSG;

		$messages = self::get_option( $msg_name, [] );
		if ( ! is_array( $messages ) ) {
			$messages = [];
		}

		if ( is_array( $msg ) ) {
			foreach ( $msg as $k => $str ) {
				$messages[ $k ] = self::build_notice( $color, $str, $irremovable, $additional_classes );
			}
		} else {
			$messages[] = self::build_notice( $color, $msg, $irremovable, $additional_classes );
		}
		$messages = array_unique( $messages );
		self::update_option( $msg_name, $messages );
	}

	/**
	 * Display notices and errors in dashboard.
	 *
	 * @since 1.1.0
	 * @return void
	 */
	public function display_messages() {
		if ( ! defined( 'LITESPEED_CONF_LOADED' ) ) {
			$this->_in_upgrading();
		}

		if ( GUI::has_whm_msg() ) {
			$this->show_display_installed();
		}

		Data::cls()->check_upgrading_msg();

		// If is in dev version, always check latest update
		Cloud::cls()->check_dev_version();

		// One time msg
		$messages       = self::get_option( self::DB_MSG, [] );
		$added_thickbox = false;
		if ( is_array( $messages ) ) {
			foreach ( $messages as $msg ) {
				// Added for popup links
				if ( strpos( $msg, 'TB_iframe' ) && ! $added_thickbox ) {
					add_thickbox();
					$added_thickbox = true;
				}
				echo wp_kses_post( $msg );
			}
		}
		if ( -1 !== $messages ) {
			self::update_option( self::DB_MSG, -1 );
		}

		// Pinned msg
		$messages = self::get_option( self::DB_MSG_PIN, [] );
		if ( is_array( $messages ) ) {
			foreach ( $messages as $k => $msg ) {
				// Added for popup links
				if ( strpos( $msg, 'TB_iframe' ) && ! $added_thickbox ) {
					add_thickbox();
					$added_thickbox = true;
				}

				// Append close btn
				if ( '</div>' === substr( $msg, -6 ) ) {
					$link = Utility::build_url( Core::ACTION_DISMISS, GUI::TYPE_DISMISS_PIN, false, null, [ 'msgid' => $k ] );
					$msg  =
						substr( $msg, 0, -6 ) .
						'<p><a href="' .
						esc_url( $link ) .
						'" class="button litespeed-btn-primary litespeed-btn-mini">' .
						esc_html__( 'Dismiss', 'litespeed-cache' ) .
						'</a>' .
						'</p></div>';
				}
				echo wp_kses_post( $msg );
			}
		}

		if ( empty( $_GET['page'] ) || 0 !== strpos( sanitize_text_field( wp_unslash( $_GET['page'] ) ), 'litespeed' ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			global $pagenow;
			if ( 'plugins.php' !== $pagenow ) {
				return;
			}
		}

		if ( ! $this->conf( self::O_NEWS ) ) {
			return;
		}

		// Show promo from cloud
		Cloud::cls()->show_promo();

		/**
		 * Check promo msg first
		 *
		 * @since 2.9
		 */
		GUI::cls()->show_promo();

		// Show version news
		Cloud::cls()->news();
	}

	/**
	 * Dismiss pinned msg.
	 *
	 * @since 3.5.2
	 * @return void
	 */
	public static function dismiss_pin() {
		if ( ! isset( $_GET['msgid'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			return;
		}

		$messages = self::get_option( self::DB_MSG_PIN, [] );
		$msgid    = sanitize_text_field( wp_unslash( $_GET['msgid'] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended

		if ( ! is_array( $messages ) || empty( $messages[ $msgid ] ) ) {
			return;
		}

		unset( $messages[ $msgid ] );
		if ( ! $messages ) {
			$messages = -1;
		}
		self::update_option( self::DB_MSG_PIN, $messages );
	}

	/**
	 * Dismiss pinned msg by msg content.
	 *
	 * @since 7.0
	 *
	 * @param string $content     Message content.
	 * @param string $color       Color CSS class.
	 * @param bool   $irremovable Is irremovable.
	 * @return void
	 */
	public static function dismiss_pin_by_content( $content, $color, $irremovable ) {
		$content  = self::build_notice( $color, $content, $irremovable );
		$messages = self::get_option( self::DB_MSG_PIN, [] );
		$hit      = false;
		if ( -1 !== $messages ) {
			foreach ( $messages as $k => $v ) {
				if ( $v === $content ) {
					unset( $messages[ $k ] );
					$hit = true;
					self::debug( '✅ pinned msg content hit. Removed' );
					break;
				}
			}
		}
		if ( $hit ) {
			if ( ! $messages ) {
				$messages = -1;
			}
			self::update_option( self::DB_MSG_PIN, $messages );
		} else {
			self::debug( '❌ No pinned msg content hit' );
		}
	}

	/**
	 * Hooked to the in_widget_form action.
	 * Appends LiteSpeed Cache settings to the widget edit settings screen.
	 * This will append the esi on/off selector and ttl text.
	 *
	 * @since 1.1.0
	 *
	 * @param \WP_Widget $widget     The widget instance (passed by reference).
	 * @param mixed      $return_val Return param (unused).
	 * @param array      $instance   The widget instance's settings.
	 * @return void
	 */
	public function show_widget_edit( $widget, $return_val, $instance ) {
		require LSCWP_DIR . 'tpl/esi_widget_edit.php';
	}

	/**
	 * Outputs a notice when the plugin is installed via WHM.
	 *
	 * @since 1.0.12
	 * @return void
	 */
	public function show_display_installed() {
		require_once LSCWP_DIR . 'tpl/inc/show_display_installed.php';
	}

	/**
	 * Display error cookie msg.
	 *
	 * @since 1.0.12
	 * @return void
	 */
	public static function show_error_cookie() {
		require_once LSCWP_DIR . 'tpl/inc/show_error_cookie.php';
	}

	/**
	 * Display warning if lscache is disabled.
	 *
	 * @since 2.1
	 * @return void
	 */
	public function cache_disabled_warning() {
		include LSCWP_DIR . 'tpl/inc/check_cache_disabled.php';
	}

	/**
	 * Display conf data upgrading banner.
	 *
	 * @since 2.1
	 * @access private
	 * @return void
	 */
	private function _in_upgrading() {
		include LSCWP_DIR . 'tpl/inc/in_upgrading.php';
	}

	/**
	 * Output LiteSpeed form open tag and hidden fields.
	 *
	 * @since 3.0
	 *
	 * @param string|false $action     Router action.
	 * @param string|false $type       Router type.
	 * @param bool         $has_upload Whether form has file uploads.
	 * @return void
	 */
	public function form_action( $action = false, $type = false, $has_upload = false ) {
		if ( ! $action ) {
			$action = Router::ACTION_SAVE_SETTINGS;
		}

		if ( ! defined( 'LITESPEED_CONF_LOADED' ) ) {
			echo '<div class="litespeed-relative">';
		} else {
			$current = isset( $_SERVER['REQUEST_URI'] ) ? esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
			if ( $has_upload ) {
				echo '<form method="post" action="' . esc_url( $current ) . '" class="litespeed-relative" enctype="multipart/form-data">';
			} else {
				echo '<form method="post" action="' . esc_url( $current ) . '" class="litespeed-relative">';
			}
		}

		echo '<input type="hidden" name="' . esc_attr( Router::ACTION ) . '" value="' . esc_attr( $action ) . '" />';
		if ( $type ) {
			echo '<input type="hidden" name="' . esc_attr( Router::TYPE ) . '" value="' . esc_attr( $type ) . '" />';
		}
		wp_nonce_field( $action, Router::NONCE );
	}

	/**
	 * Output LiteSpeed form end (submit + closing tags).
	 *
	 * @since 3.0
	 *
	 * @return void
	 */
	public function form_end() {
		echo "<div class='litespeed-top20'></div>";

		if ( ! defined( 'LITESPEED_CONF_LOADED' ) ) {
			submit_button( __( 'Save Changes', 'litespeed-cache' ), 'secondary litespeed-duplicate-float', 'litespeed-submit', true, [ 'disabled' => 'disabled' ] );

			echo '</div>';
		} else {
			submit_button(
				__( 'Save Changes', 'litespeed-cache' ),
				'primary litespeed-duplicate-float',
				'litespeed-submit',
				true,
				[
					'id' => 'litespeed-submit-' . $this->_btn_i++,
				]
			);

			echo '</form>';
		}
	}

	/**
	 * Register a setting for saving.
	 *
	 * @since 3.0
	 *
	 * @param string $id Setting ID.
	 * @return void
	 */
	public function enroll( $id ) {
		echo '<input type="hidden" name="' . esc_attr( Admin_Settings::ENROLL ) . '[]" value="' . esc_attr( $id ) . '" />';
	}

	/**
	 * Build a textarea input.
	 *
	 * @since 1.1.0
	 *
	 * @param string     $id   Setting ID.
	 * @param int|false  $cols Columns count.
	 * @param string|nil $val  Pre-set value.
	 * @return void
	 */
	public function build_textarea( $id, $cols = false, $val = null ) {
		if ( null === $val ) {
			$val = $this->conf( $id, true );

			if ( is_array( $val ) ) {
				$val = implode( "\n", $val );
			}
		}

		if ( ! $cols ) {
			$cols = 80;
		}

		$rows = $this->get_textarea_rows( $val );

		$this->enroll( $id );

		echo "<textarea name='" . esc_attr( $id ) . "' rows='" . (int) $rows . "' cols='" . (int) $cols . "'>" . esc_textarea( $val ) . '</textarea>';

		$this->_check_overwritten( $id );
	}

	/**
	 * Calculate textarea rows.
	 *
	 * @since 7.4
	 *
	 * @param string $val Text area value.
	 * @return int Number of rows to use.
	 */
	public function get_textarea_rows( $val ) {
		$rows  = 5;
		$lines = substr_count( (string) $val, "\n" ) + 2;
		if ( $lines > $rows ) {
			$rows = $lines;
		}
		if ( $rows > 40 ) {
			$rows = 40;
		}

		return $rows;
	}

	/**
	 * Build a text input field.
	 *
	 * @since 1.1.0
	 *
	 * @param string      $id       Setting ID.
	 * @param string|null $cls      CSS class.
	 * @param string|null $val      Value.
	 * @param string      $type     Input type.
	 * @param bool        $disabled Whether disabled.
	 * @return void
	 */
	public function build_input( $id, $cls = null, $val = null, $type = 'text', $disabled = false ) {
		if ( null === $val ) {
			$val = $this->conf( $id, true );

			// Mask passwords.
			if ( $this->_conf_pswd( $id ) && $val ) {
				$val = str_repeat( '*', strlen( $val ) );
			}
		}

		$label_id = preg_replace( '/\W/', '', $id );

		if ( 'text' === $type ) {
			$cls = "regular-text $cls";
		}

		if ( $disabled ) {
			echo "<input type='" . esc_attr( $type ) . "' class='" . esc_attr( $cls ) . "' value='" . esc_attr( $val ) . "' id='input_" . esc_attr( $label_id ) . "' disabled /> ";
		} else {
			$this->enroll( $id );
			echo "<input type='" . esc_attr( $type ) . "' class='" . esc_attr( $cls ) . "' name='" . esc_attr( $id ) . "' value='" . esc_attr( $val ) . "' id='input_" . esc_attr( $label_id ) . "' /> ";
		}

		$this->_check_overwritten( $id );
	}

	/**
	 * Build a checkbox HTML snippet.
	 *
	 * @since 1.1.0
	 *
	 * @param string     $id      Setting ID.
	 * @param string     $title   Checkbox label (HTML allowed).
	 * @param bool|null  $checked Whether checked.
	 * @param int|string $value   Checkbox value.
	 * @return void
	 */
	public function build_checkbox( $id, $title, $checked = null, $value = 1 ) {
		if ( null === $checked && $this->conf( $id, true ) ) {
			$checked = true;
		}

		$label_id = preg_replace( '/\W/', '', $id );

		if ( 1 !== $value ) {
			$label_id .= '_' . $value;
		}

		$this->enroll( $id );

		echo "<div class='litespeed-tick'>
			<input type='checkbox' name='" . esc_attr( $id ) . "' id='input_checkbox_" . esc_attr( $label_id ) . "' value='" . esc_attr( $value ) . "' " . checked( (bool) $checked, true, false ) . " />
			<label for='input_checkbox_" . esc_attr( $label_id ) . "'>" . wp_kses_post( $title ) . '</label>
		</div>';

		$this->_check_overwritten( $id );
	}

	/**
	 * Build a toggle checkbox snippet.
	 *
	 * @since 1.7
	 *
	 * @param string      $id        Setting ID.
	 * @param bool|null   $checked   Whether enabled.
	 * @param string|null $title_on  Label when on.
	 * @param string|null $title_off Label when off.
	 * @return void
	 */
	public function build_toggle( $id, $checked = null, $title_on = null, $title_off = null ) {
		if ( null === $checked && $this->conf( $id, true ) ) {
			$checked = true;
		}
		if ( null === $title_on ) {
			$title_on  = __( 'ON', 'litespeed-cache' );
			$title_off = __( 'OFF', 'litespeed-cache' );
		}
		$cls = $checked ? 'primary' : 'default litespeed-toggleoff';
		echo "<div class='litespeed-toggle litespeed-toggle-btn litespeed-toggle-btn-" . esc_attr( $cls ) . "' data-litespeed-toggle-on='primary' data-litespeed-toggle-off='default' data-litespeed_toggle_id='" . esc_attr( $id ) . "' >
				<input name='" . esc_attr( $id ) . "' type='hidden' value='" . esc_attr( $checked ) . "' />
				<div class='litespeed-toggle-group'>
					<label class='litespeed-toggle-btn litespeed-toggle-btn-primary litespeed-toggle-on'>" . esc_html( $title_on ) . "</label>
					<label class='litespeed-toggle-btn litespeed-toggle-btn-default litespeed-toggle-active litespeed-toggle-off'>" . esc_html( $title_off ) . "</label>
					<span class='litespeed-toggle-handle litespeed-toggle-btn litespeed-toggle-btn-default'></span>
				</div>
			</div>";
	}

	/**
	 * Build a switch (radio) field.
	 *
	 * @since 1.1.0
	 * @since 1.7 Removed $disable param.
	 *
	 * @param string                 $id         Setting ID.
	 * @param array<int,mixed>|false $title_list Labels for options (OFF/ON).
	 * @return void
	 */
	public function build_switch( $id, $title_list = false ) {
		$this->enroll( $id );

		echo '<div class="litespeed-switch">';

		if ( ! $title_list ) {
			$title_list = [ __( 'OFF', 'litespeed-cache' ), __( 'ON', 'litespeed-cache' ) ];
		}

		foreach ( $title_list as $k => $v ) {
			$this->_build_radio( $id, $k, $v );
		}

		echo '</div>';

		$this->_check_overwritten( $id );
	}

	/**
	 * Build a radio input and echo it.
	 *
	 * @since 1.1.0
	 * @access private
	 *
	 * @param string     $id  Setting ID.
	 * @param int|string $val Value for the radio.
	 * @param string     $txt Label HTML.
	 * @return void
	 */
	private function _build_radio( $id, $val, $txt ) {
		$id_attr = 'input_radio_' . preg_replace( '/\W/', '', $id ) . '_' . $val;

		$default = isset( self::$_default_options[ $id ] ) ? self::$_default_options[ $id ] : self::$_default_site_options[ $id ];

		$is_checked = ! is_string( $default )
			? ( (int) $this->conf( $id, true ) === (int) $val )
			: ( $this->conf( $id, true ) === $val );

		echo "<input type='radio' autocomplete='off' name='" . esc_attr( $id ) . "' id='" . esc_attr( $id_attr ) . "' value='" . esc_attr( $val ) . "' " . checked( $is_checked, true, false ) . " /> <label for='" . esc_attr( $id_attr ) . "'>" . wp_kses_post( $txt ) . '</label>';
	}

	/**
	 * Show overwritten info if value comes from const/primary/filter/server.
	 *
	 * @since 3.0
	 * @since 7.4 Show value from filters. Added type parameter.
	 *
	 * @param string $id Setting ID.
	 * @return void
	 */
	protected function _check_overwritten( $id ) {
		$const_val             = $this->const_overwritten( $id );
		$primary_val           = $this->primary_overwritten( $id );
		$deprecated_filter_val = $this->deprecated_filter_overwritten( $id );
		$filter_val            = $this->filter_overwritten( $id );
		$server_val            = $this->server_overwritten( $id );

		if ( null === $const_val && null === $primary_val && null === $deprecated_filter_val && null === $filter_val && null === $server_val ) {
			return;
		}

		// Get value to display.
		$val = null !== $const_val ? $const_val : $primary_val;
		// If we have deprecated_filter_val will set as new val.
		if ( null !== $deprecated_filter_val ) {
			$val = $deprecated_filter_val;
		}
		// If we have filter_val will set as new val.
		if ( null !== $filter_val ) {
			$val = $filter_val;
		}
		// If we have server_val will set as new val.
		if ( null !== $server_val ) {
			$val = $server_val;
		}

		// Get type (used for display purpose).
		$type = ( isset( self::$settings_filters[ $id ] ) && isset( self::$settings_filters[ $id ]['type'] ) ) ? self::$settings_filters[ $id ]['type'] : 'textarea';
		if ( ( null !== $const_val || null !== $primary_val || null !== $filter_val ) && null === $deprecated_filter_val ) {
			$type = 'setting';
		}

		// Get default setting: if settings exist, use default setting, otherwise use filter/server value.
		$default = '';
		if ( isset( self::$_default_options[ $id ] ) || isset( self::$_default_site_options[ $id ] ) ) {
			$default = isset( self::$_default_options[ $id ] ) ? self::$_default_options[ $id ] : self::$_default_site_options[ $id ];
		}
		if ( null !== $deprecated_filter_val || null !== $server_val ) {
			$default = null !== $deprecated_filter_val ? $deprecated_filter_val : $server_val;
		}

		// Set value to display, will be a string.
		if ( is_bool( $default ) ) {
			$val = $val ? __( 'ON', 'litespeed-cache' ) : __( 'OFF', 'litespeed-cache' );
		} else {
			if ( is_array( $val ) ) {
				$val = implode( "\n", $val );
			}
			$val = esc_textarea( $val );
		}

		// Show warning for all types except textarea.
		if ( 'textarea' !== $type ) {
			echo '<div class="litespeed-desc litespeed-warning litespeed-overwrite">⚠️ ';

			if ( null !== $server_val ) {
				// Show $_SERVER value.
				printf( esc_html__( 'This value is overwritten by the %s variable.', 'litespeed-cache' ), '$_SERVER' );
				$val = '$_SERVER["' . $server_val[0] . '"] = ' . $server_val[1];
			} elseif ( null !== $deprecated_filter_val ) {
				// Show filter value.
				echo esc_html__( 'This value is overwritten by the filter.', 'litespeed-cache' );
			} elseif ( null !== $const_val ) {
				// Show CONSTANT value.
				printf( esc_html__( 'This value is overwritten by the PHP constant %s.', 'litespeed-cache' ), '<code>' . esc_html( Base::conf_const( $id ) ) . '</code>' );
			} elseif ( is_multisite() ) {
				// Show multisite overwrite.
				if ( get_current_blog_id() !== BLOG_ID_CURRENT_SITE && $this->conf( self::NETWORK_O_USE_PRIMARY ) ) {
					echo esc_html__( 'This value is overwritten by the primary site setting.', 'litespeed-cache' );
				} else {
					echo esc_html__( 'This value is overwritten by the Network setting.', 'litespeed-cache' );
				}
			} elseif ( null !== $filter_val ) {
				// Show filter value.
				echo esc_html__( 'This value is overwritten by the filter.', 'litespeed-cache' );
			}

			echo ' ' . sprintf( esc_html__( 'Currently set to %s', 'litespeed-cache' ), '<code>' . esc_html( $val ) . '</code>' ) . '</div>';
		} elseif ( 'textarea' === $type && null !== $deprecated_filter_val ) {
			// Show warning for textarea.
			// Textarea sizes.
			$cols             = 30;
			$rows             = $this->get_textarea_rows( $val );
			$rows_current_val = $this->get_textarea_rows( implode( "\n", $this->conf( $id, true ) ) );
			// If filter rows is bigger than textarea size, equalize them.
			if ( $rows > $rows_current_val ) {
				$rows = $rows_current_val;
			}
			?>
			<div class="litespeed-desc-wrapper">
				<div class="litespeed-desc"><?php echo esc_html__( 'Value from filter applied', 'litespeed-cache' ); ?>:</div>
				<textarea readonly rows="<?php echo (int) $rows; ?>" cols="<?php echo (int) $cols; ?>"><?php echo esc_textarea( $val ); ?></textarea>
			</div>
			<?php
		}
	}

	/**
	 * Display seconds label and readable span.
	 *
	 * @since 3.0
	 * @return void
	 */
	public function readable_seconds() {
		echo esc_html__( 'seconds', 'litespeed-cache' );
		echo ' <span data-litespeed-readable=""></span>';
	}

	/**
	 * Display default value for a setting.
	 *
	 * @since 1.1.1
	 *
	 * @param string $id Setting ID.
	 * @return void
	 */
	public function recommended( $id ) {
		if ( ! $this->default_settings ) {
			$this->default_settings = $this->load_default_vals();
		}

		$val = $this->default_settings[ $id ];

		if ( ! $val ) {
			return;
		}

		if ( ! is_array( $val ) ) {
			printf(
				'%s: <code>%s</code>',
				esc_html__( 'Default value', 'litespeed-cache' ),
				esc_html( $val )
			);
			return;
		}

		$rows = 5;
		$cols = 30;
		// Flexible rows/cols.
		$lines = count( $val ) + 1;
		$rows  = min( max( $lines, $rows ), 40 );
		foreach ( $val as $v ) {
			$cols = max( strlen( $v ), $cols );
		}
		$cols = min( $cols, 150 );

		$val = implode( "\n", $val );
		printf(
			'<div class="litespeed-desc">%s:</div><textarea readonly rows="%d" cols="%d">%s</textarea>',
			esc_html__( 'Default value', 'litespeed-cache' ),
			(int) $rows,
			(int) $cols,
			esc_textarea( $val )
		);
	}

	/**
	 * Validate rewrite rules regex syntax.
	 *
	 * @since 3.0
	 *
	 * @param string $id Setting ID.
	 * @return void
	 */
	protected function _validate_syntax( $id ) {
		$val = $this->conf( $id, true );

		if ( ! $val ) {
			return;
		}

		if ( ! is_array( $val ) ) {
			$val = [ $val ];
		}

		foreach ( $val as $v ) {
			if ( ! Utility::syntax_checker( $v ) ) {
				echo '<br /><span class="litespeed-warning"> ❌ ' . esc_html__( 'Invalid rewrite rule', 'litespeed-cache' ) . ': <code>' . wp_kses_post( $v ) . '</code></span>';
			}
		}
	}

	/**
	 * Validate if the .htaccess path is valid.
	 *
	 * @since 3.0
	 *
	 * @param string $id Setting ID.
	 * @return void
	 */
	protected function _validate_htaccess_path( $id ) {
		$val = $this->conf( $id, true );
		if ( ! $val ) {
			return;
		}

		if ( '/.htaccess' !== substr( $val, -10 ) ) {
			echo '<br /><span class="litespeed-warning"> ❌ ' . sprintf( esc_html__( 'Path must end with %s', 'litespeed-cache' ), '<code>/.htaccess</code>' ) . '</span>';
		}
	}

	/**
	 * Check TTL ranges and show tips.
	 *
	 * @since 3.0
	 *
	 * @param string   $id         Setting ID.
	 * @param int|bool $min        Minimum value (or false).
	 * @param int|bool $max        Maximum value (or false).
	 * @param bool     $allow_zero Whether zero is allowed.
	 * @return void
	 */
	protected function _validate_ttl( $id, $min = false, $max = false, $allow_zero = false ) {
		$val = $this->conf( $id, true );

		$tip = [];
		if ( $min && $val < $min && ( ! $allow_zero || 0 !== $val ) ) {
			$tip[] = esc_html__( 'Minimum value', 'litespeed-cache' ) . ': <code>' . $min . '</code>.';
		}
		if ( $max && $val > $max ) {
			$tip[] = esc_html__( 'Maximum value', 'litespeed-cache' ) . ': <code>' . $max . '</code>.';
		}

		echo '<br />';

		if ( $tip ) {
			echo '<span class="litespeed-warning"> ❌ ' . wp_kses_post( implode( ' ', $tip ) ) . '</span>';
		}

		$range = '';

		if ( $allow_zero ) {
			$range .= esc_html__( 'Zero, or', 'litespeed-cache' ) . ' ';
		}

		if ( $min && $max ) {
			$range .= $min . ' - ' . $max;
		} elseif ( $min ) {
			$range .= esc_html__( 'Larger than', 'litespeed-cache' ) . ' ' . $min;
		} elseif ( $max ) {
			$range .= esc_html__( 'Smaller than', 'litespeed-cache' ) . ' ' . $max;
		}

		echo esc_html__( 'Value range', 'litespeed-cache' ) . ': <code>' . esc_html( $range ) . '</code>';
	}

	/**
	 * Validate IPs in a list.
	 *
	 * @since 3.0
	 *
	 * @param string $id Setting ID.
	 * @return void
	 */
	protected function _validate_ip( $id ) {
		$val = $this->conf( $id, true );
		if ( ! $val ) {
			return;
		}

		if ( ! is_array( $val ) ) {
			$val = [ $val ];
		}

		$tip = [];
		foreach ( $val as $v ) {
			if ( ! $v ) {
				continue;
			}

			if ( ! \WP_Http::is_ip_address( $v ) ) {
				$tip[] = esc_html__( 'Invalid IP', 'litespeed-cache' ) . ': <code>' . esc_html( $v ) . '</code>.';
			}
		}

		if ( $tip ) {
			echo '<br /><span class="litespeed-warning"> ❌ ' . wp_kses_post( implode( ' ', $tip ) ) . '</span>';
		}
	}

	/**
	 * Display API environment variable support.
	 *
	 * @since 1.8.3
	 * @access protected
	 *
	 * @param string ...$args Server variable names.
	 * @return void
	 */
	protected function _api_env_var( ...$args ) {
		echo '<span class="litespeed-success"> ' .
			esc_html__( 'API', 'litespeed-cache' ) . ': ' .
			sprintf(
				/* translators: %s: list of server variables in <code> tags */
				esc_html__( 'Server variable(s) %s available to override this setting.', 'litespeed-cache' ),
				'<code>' . implode( '</code>, <code>', array_map( 'esc_html', $args ) ) . '</code>'
			) .
			'</span>';

		Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/admin/#limiting-the-crawler' );
	}

	/**
	 * Display URI setting example.
	 *
	 * @since 2.6.1
	 * @access protected
	 * @return void
	 */
	protected function _uri_usage_example() {
		echo esc_html__( 'The URLs will be compared to the REQUEST_URI server variable.', 'litespeed-cache' );
		/* translators: 1: example URL, 2: pattern example */
		echo ' ' . sprintf( esc_html__( 'For example, for %1$s, %2$s can be used here.', 'litespeed-cache' ), '<code>/mypath/mypage?aa=bb</code>', '<code>mypage?aa=</code>' );
		echo '<br /><i>';
		/* translators: %s: caret symbol */
		printf( esc_html__( 'To match the beginning, add %s to the beginning of the item.', 'litespeed-cache' ), '<code>^</code>' );
		/* translators: %s: dollar symbol */
		echo ' ' . sprintf( esc_html__( 'To do an exact match, add %s to the end of the URL.', 'litespeed-cache' ), '<code>$</code>' );
		echo ' ' . esc_html__( 'One per line.', 'litespeed-cache' );
		echo '</i>';
	}

	/**
	 * Return pluralized strings.
	 *
	 * @since 2.0
	 *
	 * @param int    $num  Number.
	 * @param string $kind Kind of item (group|image).
	 * @return string
	 */
	public static function print_plural( $num, $kind = 'group' ) {
		if ( $num > 1 ) {
			switch ( $kind ) {
				case 'group':
					return sprintf( esc_html__( '%s groups', 'litespeed-cache' ), $num );

				case 'image':
					return sprintf( esc_html__( '%s images', 'litespeed-cache' ), $num );

				default:
					return $num;
			}
		}

		switch ( $kind ) {
			case 'group':
				return sprintf( esc_html__( '%s group', 'litespeed-cache' ), $num );

			case 'image':
				return sprintf( esc_html__( '%s image', 'litespeed-cache' ), $num );

			default:
				return $num;
		}
	}

	/**
	 * Return guidance HTML.
	 *
	 * @since 2.0
	 *
	 * @param string            $title        Title HTML.
	 * @param array<int,string> $steps        Steps list (HTML allowed).
	 * @param int|string        $current_step Current step number or 'done'.
	 * @return string HTML for guidance widget.
	 */
	public static function guidance( $title, $steps, $current_step ) {
		if ( 'done' === $current_step ) {
			$current_step = count( $steps ) + 1;
		}

		$percentage = ' (' . floor( ( ( $current_step - 1 ) * 100 ) / count( $steps ) ) . '%)';

		$html = '<div class="litespeed-guide"><h2>' . $title . $percentage . '</h2><ol>';
		foreach ( $steps as $k => $v ) {
			$step = $k + 1;
			if ( $current_step > $step ) {
				$html .= '<li class="litespeed-guide-done">';
			} else {
				$html .= '<li>';
			}
			$html .= $v . '</li>';
		}

		$html .= '</ol></div>';

		return $html;
	}

	/**
	 * Check whether has QC hide banner cookie.
	 *
	 * @since 7.1
	 *
	 * @return bool
	 */
	public static function has_qc_hide_banner() {
		return isset( $_COOKIE[ self::COOKIE_QC_HIDE_BANNER ] ) && ( time() - (int) $_COOKIE[ self::COOKIE_QC_HIDE_BANNER ] ) < 86400 * 90;
	}

	/**
	 * Set QC hide banner cookie.
	 *
	 * @since 7.1
	 * @return void
	 */
	public static function set_qc_hide_banner() {
		$expire = time() + 86400 * 365;
		self::debug( 'Set qc hide banner cookie' );
		setcookie( self::COOKIE_QC_HIDE_BANNER, time(), $expire, COOKIEPATH, COOKIE_DOMAIN );
	}

	/**
	 * Handle all request actions from main cls.
	 *
	 * @since 7.1
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_QC_HIDE_BANNER:
				self::set_qc_hide_banner();
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\�Y��S�S litespeed-cache/src/core.cls.phpnu�[���<?php
/**
 * The core plugin class.
 *
 * This is the main class for the LiteSpeed Cache plugin, responsible for initializing
 * the plugin's core functionality, registering hooks, and handling cache-related operations.
 *
 * Note: Core doesn't allow $this->cls( 'Core' )
 *
 * @since 1.0.0
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Core
 *
 * @since 1.0.0
 */
class Core extends Root {

	const NAME        = 'LiteSpeed Cache';
	const PLUGIN_NAME = 'litespeed-cache';
	const PLUGIN_FILE = 'litespeed-cache/litespeed-cache.php';
	const VER         = LSCWP_V;

	const ACTION_DISMISS             = 'dismiss';
	const ACTION_PURGE_BY            = 'PURGE_BY';
	const ACTION_PURGE_EMPTYCACHE    = 'PURGE_EMPTYCACHE';
	const ACTION_QS_PURGE            = 'PURGE';
	const ACTION_QS_PURGE_SINGLE     = 'PURGESINGLE'; // This will be same as `ACTION_QS_PURGE` (purge single URL only)
	const ACTION_QS_SHOW_HEADERS     = 'SHOWHEADERS';
	const ACTION_QS_PURGE_ALL        = 'purge_all';
	const ACTION_QS_PURGE_EMPTYCACHE = 'empty_all';
	const ACTION_QS_NOCACHE          = 'NOCACHE';

	const HEADER_DEBUG = 'X-LiteSpeed-Debug';

	/**
	 * Whether to show debug headers.
	 *
	 * @var bool
	 * @since 1.0.0
	 */
	protected static $debug_show_header = false;

	/**
	 * Footer comment buffer.
	 *
	 * @var string
	 * @since 1.0.0
	 */
	private $footer_comment = '';

	/**
	 * Define the core functionality of the plugin.
	 *
	 * Set the plugin name and the plugin version that can be used throughout the plugin.
	 * Load the dependencies, define the locale, and set the hooks for the admin area and
	 * the public-facing side of the site.
	 *
	 * @since 1.0.0
	 */
	public function __construct() {
		! defined( 'LSCWP_TS_0' ) && define( 'LSCWP_TS_0', microtime( true ) );
		$this->cls( 'Conf' )->init();

		/**
		 * Load API hooks
		 *
		 * @since 3.0
		 */
		$this->cls( 'API' )->init();

		if ( defined( 'LITESPEED_ON' ) ) {
			// Load third party detection if lscache enabled.
			include_once LSCWP_DIR . 'thirdparty/entry.inc.php';
		}


		if ( $this->conf( Base::O_DEBUG_DISABLE_ALL ) || Debug2::is_tmp_disable() ) {
			! defined( 'LITESPEED_DISABLE_ALL' ) && define( 'LITESPEED_DISABLE_ALL', true );
		}

		/**
		 * Register plugin activate/deactivate/uninstall hooks
		 * NOTE: this can't be moved under after_setup_theme, otherwise activation will be bypassed
		 *
		 * @since 2.7.1 Disabled admin&CLI check to make frontend able to enable cache too
		 */
		$plugin_file = LSCWP_DIR . 'litespeed-cache.php';
		register_activation_hook( $plugin_file, [ __NAMESPACE__ . '\Activation', 'register_activation' ] );
		register_deactivation_hook( $plugin_file, [ __NAMESPACE__ . '\Activation', 'register_deactivation' ] );
		register_uninstall_hook( $plugin_file, __NAMESPACE__ . '\Activation::uninstall_litespeed_cache' );

		if ( defined( 'LITESPEED_ON' ) ) {
			// Register purge_all actions
			$purge_all_events = $this->conf( Base::O_PURGE_HOOK_ALL );

			// Purge all on upgrade
			if ( $this->conf( Base::O_PURGE_ON_UPGRADE ) ) {
				$purge_all_events[] = 'automatic_updates_complete';
				$purge_all_events[] = 'upgrader_process_complete';
				$purge_all_events[] = 'admin_action_do-plugin-upgrade';
			}
			foreach ( $purge_all_events as $event ) {
				// Don't allow hook to update_option because purge_all will cause infinite loop of update_option
				if ( in_array( $event, [ 'update_option' ], true ) ) {
					continue;
				}
				add_action( $event, __NAMESPACE__ . '\Purge::purge_all' );
			}

			// Add headers to site health check for full page cache
			// @since 5.4
			add_filter( 'site_status_page_cache_supported_cache_headers', function ( $cache_headers ) {
				$is_cache_hit                       = function ( $header_value ) {
					return false !== strpos( strtolower( $header_value ), 'hit' );
				};
				$cache_headers['x-litespeed-cache'] = $is_cache_hit;
				$cache_headers['x-lsadc-cache']     = $is_cache_hit;
				$cache_headers['x-qc-cache']        = $is_cache_hit;
				return $cache_headers;
			} );
		}

		add_action( 'after_setup_theme', [ $this, 'init' ] );

		// Check if there is a purge request in queue
		if ( ! defined( 'LITESPEED_CLI' ) ) {
			$purge_queue = Purge::get_option( Purge::DB_QUEUE );
			if ( $purge_queue && '-1' !== $purge_queue ) {
				$this->http_header( $purge_queue );
				Debug2::debug( '[Core] Purge Queue found&sent: ' . $purge_queue );
			}
			if ( '-1' !== $purge_queue ) {
				Purge::update_option( Purge::DB_QUEUE, '-1' ); // Use -1 to bypass purge while still enable db update as WP's update_option will check value===false to bypass update
			}

			$purge_queue = Purge::get_option( Purge::DB_QUEUE2 );
			if ( $purge_queue && '-1' !== $purge_queue ) {
				$this->http_header( $purge_queue );
				Debug2::debug( '[Core] Purge2 Queue found&sent: ' . $purge_queue );
			}
			if ( '-1' !== $purge_queue ) {
				Purge::update_option( Purge::DB_QUEUE2, '-1' );
			}
		}

		/**
		 * Hook internal REST
		 *
		 * @since 2.9.4
		 */
		$this->cls( 'REST' );

		/**
		 * Hook wpnonce function
		 *
		 * Note: ESI nonce won't be available until hook after_setup_theme ESI init due to Guest Mode concern
		 *
		 * @since 4.1
		 */
		if ( $this->cls( 'Router' )->esi_enabled() && ! function_exists( 'wp_create_nonce' ) ) {
			Debug2::debug( '[ESI] Overwrite wp_create_nonce()' );
			litespeed_define_nonce_func();
		}
	}

	/**
	 * The plugin initializer.
	 *
	 * This function checks if the cache is enabled and ready to use, then determines what actions need to be set up based on the type of user and page accessed. Output is buffered if the cache is enabled.
	 *
	 * NOTE: WP user doesn't init yet
	 *
	 * @since 1.0.0
	 */
	public function init() {
		/**
		 * Added hook before init
		 * 3rd party preload hooks will be fired here too (e.g. Divi disable all in edit mode)
		 *
		 * @since 1.6.6
		 * @since 2.6 Added filter to all config values in Conf
		 */
		do_action( 'litespeed_init' );
		add_action( 'wp_ajax_async_litespeed', 'LiteSpeed\Task::async_litespeed_handler' );
		add_action( 'wp_ajax_nopriv_async_litespeed', 'LiteSpeed\Task::async_litespeed_handler' );

		// In `after_setup_theme`, before `init` hook
		$this->cls( 'Activation' )->auto_update();

		if ( is_admin() && ! wp_doing_ajax() ) {
			$this->cls( 'Admin' );
		}

		if ( defined( 'LITESPEED_DISABLE_ALL' ) && LITESPEED_DISABLE_ALL ) {
			Debug2::debug( '[Core] Bypassed due to debug disable all setting' );
			return;
		}

		do_action( 'litespeed_initing' );

		ob_start( [ $this, 'send_headers_force' ] );
		add_action( 'shutdown', [ $this, 'send_headers' ], 0 );
		add_action( 'wp_footer', [ $this, 'footer_hook' ] );

		/**
		 * Check if is non-optimization simulator
		 *
		 * @since 2.9
		 */
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		if ( ! empty( $_GET[ Router::ACTION ] ) && 'before_optm' === $_GET[ Router::ACTION ] && ! apply_filters( 'litespeed_qs_forbidden', false ) ) {
			Debug2::debug( '[Core] ⛑️ bypass_optm due to QS CTRL' );
			! defined( 'LITESPEED_NO_OPTM' ) && define( 'LITESPEED_NO_OPTM', true );
		}

		/**
		 * Register vary filter
		 *
		 * @since 1.6.2
		 */
		$this->cls( 'Control' )->init();

		// Init Purge hooks
		$this->cls( 'Purge' )->init();

		$this->cls( 'Tag' )->init();

		// Load hooks that may be related to users
		add_action( 'init', [ $this, 'after_user_init' ], 5 );

		// Load 3rd party hooks
		add_action( 'wp_loaded', [ $this, 'load_thirdparty' ], 2 );
	}

	/**
	 * Run hooks after user init
	 *
	 * @since 2.9.8
	 */
	public function after_user_init() {
		$this->cls( 'Router' )->is_role_simulation();

		// Detect if is Guest mode or not
		$this->cls( 'Vary' )->after_user_init();

		// Register attachment delete hook
		$this->cls( 'Media' )->after_user_init();

		/**
		 * Preload ESI functionality for ESI request URI recovery
		 *
		 * @since 1.8.1
		 * @since 4.0 ESI init needs to be after Guest mode detection to bypass ESI if is under Guest mode
		 */
		$this->cls( 'ESI' )->init();

		if ( ! is_admin() && ! defined( 'LITESPEED_GUEST_OPTM' ) ) {
			$result = $this->cls( 'Conf' )->in_optm_exc_roles();
			if ( $result ) {
				Debug2::debug( '[Core] ⛑️ bypass_optm: hit Role Excludes setting: ' . $result );
				! defined( 'LITESPEED_NO_OPTM' ) && define( 'LITESPEED_NO_OPTM', true );
			}
		}

		// Heartbeat control
		$this->cls( 'Tool' )->heartbeat();

		if ( ! defined( 'LITESPEED_NO_OPTM' ) || ! LITESPEED_NO_OPTM ) {
			// Check missing static files
			$this->cls( 'Router' )->serve_static();

			$this->cls( 'Media' )->init();

			$this->cls( 'Placeholder' )->init();

			$this->cls( 'Router' )->can_optm() && $this->cls( 'Optimize' )->init();

			$this->cls( 'Localization' )->init();

			// Hook CDN for attachments
			$this->cls( 'CDN' )->init();

			// Load cron tasks
			$this->cls( 'Task' )->init();
		}

		// Load litespeed actions
		$action = Router::get_action();
		if ( $action ) {
			$this->proceed_action( $action );
		}

		// Load frontend GUI
		if ( ! is_admin() ) {
			$this->cls( 'GUI' )->init();
		}
	}

	/**
	 * Run frontend actions
	 *
	 * @since 1.1.0
	 * @param string $action The action to proceed.
	 */
	public function proceed_action( $action ) {
		$msg = false;
		// Handle actions
		switch ( $action ) {
			case self::ACTION_QS_SHOW_HEADERS:
				self::$debug_show_header = true;
				break;

			case self::ACTION_QS_PURGE:
			case self::ACTION_QS_PURGE_SINGLE:
				Purge::set_purge_single();
				break;

			case self::ACTION_QS_PURGE_ALL:
				Purge::purge_all();
				break;

			case self::ACTION_PURGE_EMPTYCACHE:
			case self::ACTION_QS_PURGE_EMPTYCACHE:
				define( 'LSWCP_EMPTYCACHE', true ); // Clear all sites caches
				Purge::purge_all();
				$msg = __( 'Notified LiteSpeed Web Server to purge everything.', 'litespeed-cache' );
				break;

			case self::ACTION_PURGE_BY:
				$this->cls( 'Purge' )->purge_list();
				$msg = __( 'Notified LiteSpeed Web Server to purge the list.', 'litespeed-cache' );
				break;

			case self::ACTION_DISMISS:
				GUI::dismiss();
				break;

			default:
				$msg = $this->cls( 'Router' )->handler( $action );
				break;
		}
		if ( $msg && ! Router::is_ajax() ) {
			Admin_Display::add_notice( Admin_Display::NOTICE_GREEN, $msg );
			Admin::redirect();
			return;
		}

		if ( Router::is_ajax() ) {
			exit();
		}
	}

	/**
	 * Callback used to call the detect third party action.
	 *
	 * The detect action is used by third party plugin integration classes to determine if they should add the rest of their hooks.
	 *
	 * @since 1.0.5
	 */
	public function load_thirdparty() {
		do_action( 'litespeed_load_thirdparty' );
	}

	/**
	 * Mark wp_footer called
	 *
	 * @since 1.3
	 */
	public function footer_hook() {
		Debug2::debug( '[Core] Footer hook called' );
		if ( ! defined( 'LITESPEED_FOOTER_CALLED' ) ) {
			define( 'LITESPEED_FOOTER_CALLED', true );
		}
	}

	/**
	 * Trigger comment info display hook
	 *
	 * @since 1.3
	 * @param string|null $buffer The buffer to check.
	 * @return void
	 */
	private function check_is_html( $buffer = null ) {
		if ( ! defined( 'LITESPEED_FOOTER_CALLED' ) ) {
			Debug2::debug2( '[Core] CHK html bypass: miss footer const' );
			return;
		}

		if ( wp_doing_ajax() ) {
			Debug2::debug2( '[Core] CHK html bypass: doing ajax' );
			return;
		}

		if ( wp_doing_cron() ) {
			Debug2::debug2( '[Core] CHK html bypass: doing cron' );
			return;
		}

		if ( empty( $_SERVER['REQUEST_METHOD'] ) || 'GET' !== $_SERVER['REQUEST_METHOD'] ) {
			// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
			Debug2::debug2( '[Core] CHK html bypass: not get method ' . wp_unslash( $_SERVER['REQUEST_METHOD'] ) );
			return;
		}

		if ( null === $buffer ) {
			$buffer = ob_get_contents();
		}

		// Double check to make sure it is an HTML file
		if ( strlen( $buffer ) > 300 ) {
			$buffer = substr( $buffer, 0, 300 );
		}
		if ( false !== strstr( $buffer, '<!--' ) ) {
			$buffer = preg_replace( '/<!--.*?-->/s', '', $buffer );
		}
		$buffer = trim( $buffer );

		$buffer = File::remove_zero_space( $buffer );

		$is_html = 0 === stripos( $buffer, '<html' ) || 0 === stripos( $buffer, '<!DOCTYPE' );

		if ( ! $is_html ) {
			Debug2::debug( '[Core] Footer check failed: ' . ob_get_level() . '-' . substr( $buffer, 0, 100 ) );
			return;
		}

		Debug2::debug( '[Core] Footer check passed' );

		if ( ! defined( 'LITESPEED_IS_HTML' ) ) {
			define( 'LITESPEED_IS_HTML', true );
		}
	}

	/**
	 * For compatibility with plugins that have 'Bad' logic that forced all buffer output even if it is NOT their buffer.
	 *
	 * Usually this is called after send_headers() if following original WP process
	 *
	 * @since 1.1.5
	 * @param string $buffer The buffer to process.
	 * @return string The processed buffer.
	 */
	public function send_headers_force( $buffer ) {
		$this->check_is_html( $buffer );

		// Hook to modify buffer before
		$buffer = apply_filters( 'litespeed_buffer_before', $buffer );

		/**
		 * Media: Image lazyload && WebP
		 * GUI: Clean wrapper mainly for ESI block NOTE: this needs to be before optimizer to avoid wrapper being removed
		 * Optimize
		 * CDN
		 */
		if ( ! defined( 'LITESPEED_NO_OPTM' ) || ! LITESPEED_NO_OPTM ) {
			Debug2::debug( '[Core] run hook litespeed_buffer_finalize' );
			$buffer = apply_filters( 'litespeed_buffer_finalize', $buffer );
		}

		/**
		 * Replace ESI preserved list
		 *
		 * @since 3.3 Replace this in the end to avoid `Inline JS Defer` or other Page Optm features encoded ESI tags wrongly, which caused LSWS can't recognize ESI
		 */
		$buffer = $this->cls( 'ESI' )->finalize( $buffer );

		$this->send_headers( true );

		// Log ESI nonce buffer empty issue
		if ( defined( 'LSCACHE_IS_ESI' ) && 0 === strlen( $buffer ) && ! empty( $_SERVER['REQUEST_URI'] ) ) {
			// Log ref for debug purpose
			// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.PHP.DevelopmentFunctions.error_log_error_log
			error_log( 'ESI buffer empty ' . wp_unslash( $_SERVER['REQUEST_URI'] ) );
		}

		// Init comment info
		$running_info_showing = defined( 'LITESPEED_IS_HTML' ) || defined( 'LSCACHE_IS_ESI' );
		if ( defined( 'LSCACHE_ESI_SILENCE' ) ) {
			$running_info_showing = false;
			Debug2::debug( '[Core] ESI silence' );
		}
		/**
		 * Silence comment for JSON request
		 *
		 * @since 2.9.3
		 */
		if ( REST::cls()->is_rest() || Router::is_ajax() ) {
			$running_info_showing = false;
			Debug2::debug( '[Core] Silence Comment due to REST/AJAX' );
		}
		$running_info_showing = apply_filters( 'litespeed_comment', $running_info_showing );
		if ( $running_info_showing && $this->footer_comment ) {
			$buffer .= $this->footer_comment;
		}

		/**
		 * If ESI request is JSON, give the content JSON format
		 *
		 * @since 2.9.3
		 * @since 2.9.4 ESI request could be from internal REST call, so moved json_encode out of this condition
		 */
		if ( defined( 'LSCACHE_IS_ESI' ) ) {
			Debug2::debug( '[Core] ESI Start 👇' );
			if ( strlen( $buffer ) > 500 ) {
				Debug2::debug( trim( substr( $buffer, 0, 500 ) ) . '.....' );
			} else {
				Debug2::debug( $buffer );
			}
			Debug2::debug( '[Core] ESI End 👆' );
		}

		if ( apply_filters( 'litespeed_is_json', false ) ) {
			if ( null === \json_decode( $buffer, true ) ) {
				Debug2::debug( '[Core] Buffer converting to JSON' );
				$buffer = wp_json_encode( $buffer );
				$buffer = trim( $buffer, '"' );
			} else {
				Debug2::debug( '[Core] JSON Buffer' );
			}
		}

		// Hook to modify buffer after
		$buffer = apply_filters( 'litespeed_buffer_after', $buffer );

		Debug2::ended();

		return $buffer;
	}

	/**
	 * Sends the headers out at the end of processing the request.
	 *
	 * This will send out all LiteSpeed Cache related response headers needed for the post.
	 *
	 * @since 1.0.5
	 * @param bool $is_forced If the header is sent following our normal finalizing logic.
	 */
	public function send_headers( $is_forced = false ) {
		// Make sure header output only runs once
		if ( defined( 'LITESPEED_DID_' . __FUNCTION__ ) ) {
			return;
		}
		define( 'LITESPEED_DID_' . __FUNCTION__, true );

		// Avoid PHP warning for headers sent out already
		if ( headers_sent() ) {
			self::debug( '❌ !!! Err: Header sent out already' );
			return;
		}

		$this->check_is_html();

		// Cache control output needs to be done first, as some varies are added in 3rd party hook `litespeed_api_control`.
		$this->cls( 'Control' )->finalize();

		$vary_header = $this->cls( 'Vary' )->finalize();

		// If not cacheable but Admin QS is `purge` or `purgesingle`, `tag` still needs to be generated
		$tag_header = $this->cls( 'Tag' )->output();
		if ( ! $tag_header && Control::is_cacheable() ) {
			Control::set_nocache( 'empty tag header' );
		}

		// `Purge` output needs to be after `tag` output as Admin QS may need to send `tag` header
		$purge_header = Purge::output();

		// Generate `control` header in the end in case control status is changed by other headers
		$control_header = $this->cls( 'Control' )->output();

		// Give one more break to avoid Firefox crash
		if ( ! defined( 'LSCACHE_IS_ESI' ) ) {
			$this->footer_comment .= "\n";
		}

		$cache_support = 'supported';
		if ( defined( 'LITESPEED_ON' ) ) {
			$cache_support = Control::is_cacheable() ? 'cached' : 'uncached';
		}

		$this->comment(
			sprintf(
				'%1$s %2$s by LiteSpeed Cache %4$s on %3$s',
				defined( 'LSCACHE_IS_ESI' ) ? 'Block' : 'Page',
				$cache_support,
				gmdate( 'Y-m-d H:i:s', time() + LITESPEED_TIME_OFFSET ),
				self::VER
			)
		);

		// Send Control header
		if ( defined( 'LITESPEED_ON' ) && $control_header ) {
			$this->http_header( $control_header );
			if ( ! Control::is_cacheable() && !is_admin() ) {
				$ori_wp_header = wp_get_nocache_headers();
				if ( isset( $ori_wp_header['Cache-Control'] ) ) {
					$this->http_header( 'Cache-Control: ' . $ori_wp_header['Cache-Control'] ); // @ref: https://github.com/litespeedtech/lscache_wp/issues/889
				}
			}
			if ( defined( 'LSCWP_LOG' ) ) {
				$this->comment( $control_header );
			}
		}

		// Send PURGE header (Always send regardless of cache setting disabled/enabled)
		if ( defined( 'LITESPEED_ON' ) && $purge_header ) {
			$this->http_header( $purge_header );
			Debug2::log_purge( $purge_header );

			if ( defined( 'LSCWP_LOG' ) ) {
				$this->comment( $purge_header );
			}
		}

		// Send Vary header
		if ( defined( 'LITESPEED_ON' ) && $vary_header ) {
			$this->http_header( $vary_header );
			if ( defined( 'LSCWP_LOG' ) ) {
				$this->comment( $vary_header );
			}
		}

		if ( defined( 'LITESPEED_ON' ) && defined( 'LSCWP_LOG' ) ) {
			$vary = $this->cls( 'Vary' )->finalize_full_varies();
			if ( $vary ) {
				$this->comment( 'Full varies: ' . $vary );
			}
		}

		// Admin QS show header action
		if ( self::$debug_show_header ) {
			$debug_header = self::HEADER_DEBUG . ': ';
			if ( $control_header ) {
				$debug_header .= $control_header . '; ';
			}
			if ( $purge_header ) {
				$debug_header .= $purge_header . '; ';
			}
			if ( $tag_header ) {
				$debug_header .= $tag_header . '; ';
			}
			if ( $vary_header ) {
				$debug_header .= $vary_header . '; ';
			}
			$this->http_header( $debug_header );
		} elseif ( defined( 'LITESPEED_ON' ) && Control::is_cacheable() && $tag_header ) {
			$this->http_header( $tag_header );
			if ( defined( 'LSCWP_LOG' ) ) {
				$this->comment( $tag_header );
			}
		}

		// Object cache comment
		if ( defined( 'LSCWP_LOG' ) && defined( 'LSCWP_OBJECT_CACHE' ) && method_exists( 'WP_Object_Cache', 'debug' ) ) {
			$this->comment( 'Object Cache ' . \WP_Object_Cache::get_instance()->debug() );
		}

		if ( defined( 'LITESPEED_GUEST' ) && LITESPEED_GUEST ) {
			$this->comment( 'Guest Mode' );
		}

		if ( ! empty( $this->footer_comment ) ) {
			self::debug( "[footer comment]\n" . trim( $this->footer_comment ) );
		}

		if ( $is_forced ) {
			Debug2::debug( '--forced--' );
		}

		// If CLI and contains Purge Header, issue an HTTP request to Purge
		if ( defined( 'LITESPEED_CLI' ) ) {
			$purge_queue = Purge::get_option( Purge::DB_QUEUE );
			if ( ! $purge_queue || '-1' === $purge_queue ) {
				$purge_queue = Purge::get_option( Purge::DB_QUEUE2 );
			}
			if ( $purge_queue && '-1' !== $purge_queue ) {
				self::debug( '[Core] Purge Queue found, issue an HTTP request to purge: ' . $purge_queue );
				// Kick off HTTP request
				$url  = admin_url( 'admin-ajax.php' );
				$resp = wp_safe_remote_get( $url );
				if ( is_wp_error( $resp ) ) {
					$error_message = $resp->get_error_message();
					self::debug( '[URL]' . $url );
					self::debug( 'failed to request: ' . $error_message );
				} else {
					self::debug( 'HTTP request response: ' . $resp['body'] );
				}
			}
		}
	}

	/**
	 * Append one HTML comment
	 *
	 * @since 5.5
	 * @param string $data The comment data.
	 */
	public static function comment( $data ) {
		self::cls()->append_comment( $data );
	}

	/**
	 * Append one HTML comment
	 *
	 * @since 5.5
	 * @param string $data The comment data.
	 */
	private function append_comment( $data ) {
		$this->footer_comment .= "\n<!-- " . htmlspecialchars( $data ) . ' -->';
	}

	/**
	 * Send HTTP header
	 *
	 * @since 5.3
	 * @param string $header The header to send.
	 */
	private function http_header( $header ) {
		if ( defined( 'LITESPEED_CLI' ) ) {
			return;
		}

		if ( ! headers_sent() ) {
			header( $header );
		}

		if ( ! defined( 'LSCWP_LOG' ) ) {
			return;
		}
		Debug2::debug( '💰 ' . $header );
	}
}
PK�^�\�s�33 litespeed-cache/src/task.cls.phpnu�[���<?php
/**
 * The cron task class.
 *
 * @since   1.1.3
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Schedules and runs LiteSpeed Cache background tasks.
 */
class Task extends Root {

	/**
	 * Tag for debug logs.
	 *
	 * @var string
	 */
	const LOG_TAG = '⏰';

	/**
	 * Map of option id => cron hook registration.
	 *
	 * @var array<string,array{name:string,hook:callable|string}>
	 */
	private static $_triggers = [
		Base::O_IMG_OPTM_CRON => [
			'name' => 'litespeed_task_imgoptm_pull',
			'hook' => 'LiteSpeed\Img_Optm::start_async_cron',
		], // always fetch immediately
		Base::O_OPTM_CSS_ASYNC => [
			'name' => 'litespeed_task_ccss',
			'hook' => 'LiteSpeed\CSS::cron_ccss',
		],
		Base::O_OPTM_UCSS => [
			'name' => 'litespeed_task_ucss',
			'hook' => 'LiteSpeed\UCSS::cron',
		],
		Base::O_MEDIA_VPI_CRON => [
			'name' => 'litespeed_task_vpi',
			'hook' => 'LiteSpeed\VPI::cron',
		],
		Base::O_MEDIA_PLACEHOLDER_RESP_ASYNC => [
			'name' => 'litespeed_task_lqip',
			'hook' => 'LiteSpeed\Placeholder::cron',
		],
		Base::O_DISCUSS_AVATAR_CRON => [
			'name' => 'litespeed_task_avatar',
			'hook' => 'LiteSpeed\Avatar::cron',
		],
		Base::O_IMG_OPTM_AUTO => [
			'name' => 'litespeed_task_imgoptm_req',
			'hook' => 'LiteSpeed\Img_Optm::cron_auto_request',
		],
		Base::O_GUEST => [
			'name' => 'litespeed_task_guest_sync',
			'hook' => 'LiteSpeed\Guest::cron',
		], // Daily sync Guest Mode IP/UA lists
		Base::O_CRAWLER => [
			'name' => 'litespeed_task_crawler',
			'hook' => 'LiteSpeed\Crawler::start_async_cron',
		], // Set crawler to last one to use above results
	];

	/**
	 * Options allowed to run for guest optimization.
	 *
	 * @var array<int,string>
	 */
	private static $_guest_options = [ Base::O_OPTM_CSS_ASYNC, Base::O_OPTM_UCSS, Base::O_MEDIA_VPI ];

	/**
	 * Schedule id for crawler.
	 *
	 * @var string
	 */
	const FILTER_CRAWLER = 'litespeed_crawl_filter';

	/**
	 * Schedule id for general tasks.
	 *
	 * @var string
	 */
	const FILTER = 'litespeed_filter';

	/**
	 * Keep all tasks in cron.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public function init() {
		self::debug2( 'Init' );
		add_filter( 'cron_schedules', [ $this, 'lscache_cron_filter' ] );

		$guest_optm = $this->conf( Base::O_GUEST ) && $this->conf( Base::O_GUEST_OPTM );

		foreach ( self::$_triggers as $id => $trigger ) {
			if ( Base::O_IMG_OPTM_CRON === $id ) {
				if ( ! Img_Optm::need_pull() ) {
					continue;
				}
			} elseif ( ! $this->conf( $id ) ) {
				if ( ! $guest_optm || ! in_array( $id, self::$_guest_options, true ) ) {
					continue;
				}
			}

			// Special check for crawler.
			if ( Base::O_CRAWLER === $id ) {
				if ( ! Router::can_crawl() ) {
					continue;
				}

				add_filter( 'cron_schedules', [ $this, 'lscache_cron_filter_crawler' ] ); // phpcs:ignore WordPress.WP.CronInterval.ChangeDetected
			}

			if ( ! wp_next_scheduled( $trigger['name'] ) ) {
				self::debug( 'Cron hook register [name] ' . $trigger['name'] );

				// Determine schedule: crawler uses its own, guest uses daily, others use 15min
				if ( Base::O_CRAWLER === $id ) {
					$schedule = self::FILTER_CRAWLER;
				} elseif ( Base::O_GUEST === $id ) {
					$schedule = 'daily';
				} else {
					$schedule = self::FILTER;
				}

				wp_schedule_event( time(), $schedule, $trigger['name'] );
			}

			add_action( $trigger['name'], $trigger['hook'] );
		}
	}

	/**
	 * Handle all async noabort requests.
	 *
	 * @since 5.5
	 * @return void
	 */
	public static function async_litespeed_handler() {
		$hash_data = self::get_option( 'async_call-hash', [] );
		if ( ! $hash_data || ! is_array( $hash_data ) || empty( $hash_data['hash'] ) || empty( $hash_data['ts'] ) ) {
			self::debug( 'async_litespeed_handler no hash data', $hash_data );
			return;
		}

		$nonce = isset( $_GET['nonce'] ) ? sanitize_text_field( wp_unslash( $_GET['nonce'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		if ( 120 < time() - (int) $hash_data['ts'] || '' === $nonce || $nonce !== $hash_data['hash'] ) {
			self::debug( 'async_litespeed_handler nonce mismatch' );
			return;
		}
		self::delete_option( 'async_call-hash' );

		$type = Router::verify_type();
		self::debug( 'type=' . $type );

		// Don't lock up other requests while processing.
		session_write_close();

		switch ( $type ) {
			case 'crawler':
				Crawler::async_handler();
				break;
			case 'crawler_force':
				Crawler::async_handler( true );
				break;
			case 'imgoptm':
				Img_Optm::async_handler();
				break;
			case 'imgoptm_force':
				Img_Optm::async_handler( true );
				break;
			default:
				break;
		}
	}

	/**
	 * Async caller wrapper func.
	 *
	 * @since 5.5
	 *
	 * @param string $type Async operation type.
	 * @return void
	 */
	public static function async_call( $type ) {
		$hash = Str::rrand( 32 );
		self::update_option(
			'async_call-hash',
			[
				'hash' => $hash,
				'ts'   => time(),
			]
		);

		$args = [
			'timeout'   => 0.01,
			'blocking'  => false,
			'sslverify' => false,
			// 'cookies' => $_COOKIE,
		];

		$qs = [
			'action'      => 'async_litespeed',
			'nonce'       => $hash,
			Router::TYPE  => $type,
		];

		$url = add_query_arg( $qs, admin_url( 'admin-ajax.php' ) );
		self::debug( 'async call to ' . $url );
		wp_safe_remote_post( esc_url_raw( $url ), $args );
	}

	/**
	 * Clean all potential existing crons.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public static function destroy() {
		Utility::compatibility();
		array_map( 'wp_clear_scheduled_hook', array_column( self::$_triggers, 'name' ) );
	}

	/**
	 * Try to clean the crons if disabled.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $id Option id of cron trigger.
	 * @return void
	 */
	public function try_clean( $id ) {
		if ( $id && ! empty( self::$_triggers[ $id ] ) ) {
			if ( ! $this->conf( $id ) || ( Base::O_CRAWLER === $id && ! Router::can_crawl() ) ) {
				self::debug( 'Cron clear [id] ' . $id . ' [hook] ' . self::$_triggers[ $id ]['name'] );
				wp_clear_scheduled_hook( self::$_triggers[ $id ]['name'] );
			}
			return;
		}

		self::debug( '❌ Unknown cron [id] ' . $id );
	}

	/**
	 * Register cron interval for general tasks.
	 *
	 * @since 1.6.1
	 * @access public
	 *
	 * @param array $schedules Existing schedules.
	 * @return array
	 */
	public function lscache_cron_filter( $schedules ) {
		if ( ! array_key_exists( self::FILTER, $schedules ) ) {
			$schedules[ self::FILTER ] = [
				'interval' => 900,
				'display'  => __( 'Every 15 Minutes', 'litespeed-cache' ),
			];
		}
		return $schedules;
	}

	/**
	 * Register cron interval for crawler.
	 *
	 * @since 1.1.0
	 * @access public
	 *
	 * @param array $schedules Existing schedules.
	 * @return array
	 */
	public function lscache_cron_filter_crawler( $schedules ) {
		$crawler_run_interval = defined( 'LITESPEED_CRAWLER_RUN_INTERVAL' ) ? (int) constant( 'LITESPEED_CRAWLER_RUN_INTERVAL' ) : 600;

		if ( ! array_key_exists( self::FILTER_CRAWLER, $schedules ) ) {
			$schedules[ self::FILTER_CRAWLER ] = [
				'interval' => $crawler_run_interval,
				'display'  => __( 'LiteSpeed Crawler Cron', 'litespeed-cache' ),
			];
		}
		return $schedules;
	}
}
PK�^�\8����!litespeed-cache/src/cloud.cls.phpnu�[���<?php
/**
 * Cloud service cls
 *
 * @package LiteSpeed
 * @since 3.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Cloud
 *
 * Handles QUIC.cloud communication, node detection, activation, and related utilities.
 */
class Cloud extends Base {

	const LOG_TAG = '❄️';

	/**
	 * Base API server URL.
	 *
	 * @var string
	 */
	private $_cloud_server = 'https://api.quic.cloud';

	/**
	 * Cloud IPs endpoint.
	 *
	 * @var string
	 */
	private $_cloud_ips = 'https://quic.cloud/ips';

	/**
	 * Cloud dashboard URL.
	 *
	 * @var string
	 */
	private $_cloud_server_dash = 'https://my.quic.cloud';

	/**
	 * Cloud WP API server URL.
	 *
	 * @var string
	 */
	protected $_cloud_server_wp = 'https://wpapi.quic.cloud';

	const SVC_D_ACTIVATE       = 'd/activate';
	const SVC_U_ACTIVATE       = 'u/wp3/activate';
	const SVC_D_ENABLE_CDN     = 'd/enable_cdn';
	const SVC_D_LINK           = 'd/link';
	const SVC_D_API            = 'd/api';
	const SVC_D_DASH           = 'd/dash';
	const SVC_D_V3UPGRADE      = 'd/v3upgrade';
	const SVC_U_LINK           = 'u/wp3/link';
	const SVC_U_ENABLE_CDN     = 'u/wp3/enablecdn';
	const SVC_D_STATUS_CDN_CLI = 'd/status/cdn_cli';
	const SVC_D_NODES          = 'd/nodes';
	const SVC_D_SYNC_CONF      = 'd/sync_conf';
	const SVC_D_USAGE          = 'd/usage';
	const SVC_D_SETUP_TOKEN    = 'd/get_token';
	const SVC_D_DEL_CDN_DNS    = 'd/del_cdn_dns';
	const SVC_PAGE_OPTM        = 'page_optm';
	const SVC_CCSS             = 'ccss';
	const SVC_UCSS             = 'ucss';
	const SVC_VPI              = 'vpi';
	const SVC_LQIP             = 'lqip';
	const SVC_QUEUE            = 'queue';
	const SVC_IMG_OPTM         = 'img_optm';
	const SVC_HEALTH           = 'health';
	const SVC_CDN              = 'cdn';

	const IMG_OPTM_DEFAULT_GROUP = 200;

	const IMGOPTM_TAKEN = 'img_optm-taken';

	const TTL_NODE       = 3;   // Days before node expired
	const EXPIRATION_REQ = 300; // Seconds of min interval between two unfinished requests
	const TTL_IPS        = 3;   // Days for node ip list cache

	const API_REPORT          = 'wp/report';
	const API_NEWS            = 'news';
	const API_VER             = 'ver_check';
	const API_BETA_TEST       = 'beta_test';
	const API_REST_ECHO       = 'tool/wp_rest_echo';
	const API_SERVER_KEY_SIGN = 'key_sign';

	/**
	 * Center services hosted at the central API server.
	 *
	 * @var string[]
	 */
	private static $center_svc_set = [
		self::SVC_D_ACTIVATE,
		self::SVC_U_ACTIVATE,
		self::SVC_D_ENABLE_CDN,
		self::SVC_D_LINK,
		self::SVC_D_NODES,
		self::SVC_D_SYNC_CONF,
		self::SVC_D_USAGE,
		self::SVC_D_API,
		self::SVC_D_V3UPGRADE,
		self::SVC_D_DASH,
		self::SVC_D_STATUS_CDN_CLI,
		// self::API_NEWS,
		self::API_REPORT,
		// self::API_VER,
		// self::API_BETA_TEST,
		self::SVC_D_SETUP_TOKEN,
		self::SVC_D_DEL_CDN_DNS,
	];

	/**
	 * Services hosted on the WP API server.
	 *
	 * @var string[]
	 */
	private static $wp_svc_set = [ self::API_NEWS, self::API_VER, self::API_BETA_TEST, self::API_REST_ECHO ];

	/**
	 * Public services that do not require an API key.
	 *
	 * @var string[]
	 */
	private static $_pub_svc_set = [ self::API_NEWS, self::API_REPORT, self::API_VER, self::API_BETA_TEST, self::API_REST_ECHO, self::SVC_D_V3UPGRADE, self::SVC_D_DASH ];

	/**
	 * Services that should go through the queue.
	 *
	 * @var string[]
	 */
	private static $_queue_svc_set = [ self::SVC_CCSS, self::SVC_UCSS, self::SVC_VPI ];

	/**
	 * Services that need load check.
	 *
	 * @var string[]
	 */
	public static $services_load_check = [
		// self::SVC_CCSS,
		// self::SVC_UCSS,
		// self::SVC_VPI,
		self::SVC_LQIP,
		self::SVC_HEALTH,
	];

	/**
	 * All supported services.
	 *
	 * @var string[]
	 */
	public static $services = [
		self::SVC_IMG_OPTM,
		self::SVC_PAGE_OPTM,
		self::SVC_CCSS,
		self::SVC_UCSS,
		self::SVC_VPI,
		self::SVC_LQIP,
		self::SVC_CDN,
		self::SVC_HEALTH,
		// self::SVC_QUEUE,
	];

	const TYPE_CLEAR_PROMO    = 'clear_promo';
	const TYPE_REDETECT_CLOUD = 'redetect_cloud';
	const TYPE_CLEAR_CLOUD    = 'clear_cloud';
	const TYPE_ACTIVATE       = 'activate';
	const TYPE_LINK           = 'link';
	const TYPE_ENABLE_CDN     = 'enablecdn';
	const TYPE_API            = 'api';
	const TYPE_SYNC_USAGE     = 'sync_usage';
	const TYPE_RESET          = 'reset';
	const TYPE_SYNC_STATUS    = 'sync_status';

	/**
	 * Summary data for cloud interactions.
	 *
	 * @var array<string,mixed>
	 */
	protected $_summary;

	/**
	 * Init
	 *
	 * @since 3.0
	 */
	public function __construct() {
		$allowed_hosts = [ 'wpapi.quic.cloud' ];
		if ( defined( 'LITESPEED_DEV' ) && constant( 'LITESPEED_DEV' ) ) {
			$allowed_hosts[]          = 'my.preview.quic.cloud';
			$allowed_hosts[]          = 'api.preview.quic.cloud';
			$this->_cloud_server      = 'https://api.preview.quic.cloud';
			$this->_cloud_ips         = 'https://api.preview.quic.cloud/ips';
			$this->_cloud_server_dash = 'https://my.preview.quic.cloud';
			$this->_cloud_server_wp   = 'https://wpapi.quic.cloud';
		} else {
			$allowed_hosts[] = 'my.quic.cloud';
			$allowed_hosts[] = 'api.quic.cloud';
		}
		add_filter( 'allowed_redirect_hosts', function( $hosts ) use ( $allowed_hosts ) {
			if ( ! is_array ( $hosts ) ) {
				$hosts = [];
			}

			return array_merge( $hosts, $allowed_hosts );
		} );
		$this->_summary = self::get_summary();
	}

	/**
	 * Init QC setup preparation
	 *
	 * @since 7.0
	 */
	public function init_qc_prepare() {
		if ( empty( $this->_summary['sk_b64'] ) ) {
			$keypair                  = sodium_crypto_sign_keypair();
			$pk                       = base64_encode( sodium_crypto_sign_publickey( $keypair ) ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode
			$sk                       = base64_encode( sodium_crypto_sign_secretkey( $keypair ) ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode
			$this->_summary['pk_b64'] = $pk;
			$this->_summary['sk_b64'] = $sk;
			$this->save_summary();
			// ATM `qc_activated` = null
			return true;
		}

		return false;
	}

	/**
	 * Init QC setup
	 *
	 * @since 7.0
	 */
	public function init_qc() {
		$this->init_qc_prepare();

		$ref = $this->_get_ref_url();

		// WPAPI REST echo dryrun
		$echobox = self::post( self::API_REST_ECHO, false, 60 );
		if ( false === $echobox ) {
			self::debugErr( 'REST Echo Failed!' );
			$msg = __( "QUIC.cloud's access to your WP REST API seems to be blocked.", 'litespeed-cache' );
			Admin_Display::error( $msg );
			wp_safe_redirect( $ref );
			exit;
		}

		self::debug( 'echo succeeded' );

		// Load separate thread echoed data from storage
		if ( empty( $echobox['wpapi_ts'] ) || empty( $echobox['wpapi_signature_b64'] ) ) {
			Admin_Display::error( __( 'Failed to get echo data from WPAPI', 'litespeed-cache' ) );
			wp_safe_redirect( $ref );
			exit;
		}

		$data      = [
			'wp_pk_b64'           => $this->_summary['pk_b64'],
			'wpapi_ts'            => $echobox['wpapi_ts'],
			'wpapi_signature_b64' => $echobox['wpapi_signature_b64'],
		];
		$server_ip = $this->conf( self::O_SERVER_IP );
		if ( $server_ip ) {
			$data['server_ip'] = $server_ip;
		}

		// Activation redirect
		$param = [
			'site_url' => site_url(),
			'ver'      => Core::VER,
			'data'     => $data,
			'ref'      => $ref,
		];
		wp_safe_redirect( $this->_cloud_server_dash . '/' . self::SVC_U_ACTIVATE . '?data=' . rawurlencode( Utility::arr2str( $param ) ) );
		exit;
	}

	/**
	 * Decide the ref
	 *
	 * @param string|false $ref Ref slug.
	 * @return string
	 */
	private function _get_ref_url( $ref = false ) {
		$link = 'admin.php?page=litespeed';
		if ( 'cdn' === $ref ) {
			$link = 'admin.php?page=litespeed-cdn';
		}
		if ( 'online' === $ref ) {
			$link = 'admin.php?page=litespeed-general';
		}
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$ref_get = ! empty( $_GET['ref'] ) ? sanitize_text_field( wp_unslash( $_GET['ref'] ) ) : '';
		if ( $ref_get && 'cdn' === $ref_get ) {
			$link = 'admin.php?page=litespeed-cdn';
		}
		if ( $ref_get && 'online' === $ref_get ) {
			$link = 'admin.php?page=litespeed-general';
		}
		return get_admin_url( null, $link );
	}

	/**
	 * Init QC setup (CLI)
	 *
	 * @since 7.0
	 */
	public function init_qc_cli() {
		$this->init_qc_prepare();

		$server_ip = $this->conf( self::O_SERVER_IP );
		if ( ! $server_ip ) {
			self::debugErr( 'Server IP needs to be set first!' );
			$msg = sprintf(
				__( 'You need to set the %1$s first. Please use the command %2$s to set.', 'litespeed-cache' ),
				'`' . __( 'Server IP', 'litespeed-cache' ) . '`',
				'`wp litespeed-option set server_ip __your_ip_value__`'
			);
			Admin_Display::error( $msg );
			return;
		}

		// WPAPI REST echo dryrun
		$echobox = self::post( self::API_REST_ECHO, false, 60 );
		if ( false === $echobox ) {
			self::debugErr( 'REST Echo Failed!' );
			$msg = __( "QUIC.cloud's access to your WP REST API seems to be blocked.", 'litespeed-cache' );
			Admin_Display::error( $msg );
			return;
		}

		self::debug( 'echo succeeded' );

		// Load separate thread echoed data from storage
		if ( empty( $echobox['wpapi_ts'] ) || empty( $echobox['wpapi_signature_b64'] ) ) {
			self::debug( 'Resp: ', $echobox );
			Admin_Display::error( __( 'Failed to get echo data from WPAPI', 'litespeed-cache' ) );
			return;
		}

		$data = [
			'wp_pk_b64'           => $this->_summary['pk_b64'],
			'wpapi_ts'            => $echobox['wpapi_ts'],
			'wpapi_signature_b64' => $echobox['wpapi_signature_b64'],
			'server_ip'           => $server_ip,
		];

		$res = $this->post( self::SVC_D_ACTIVATE, $data );
		return $res;
	}

	/**
	 * Init QC CDN setup (CLI)
	 *
	 * @since 7.0
	 *
	 * @param string      $method   Method.
	 * @param string|bool $cert     Cert path.
	 * @param string|bool $key      Key path.
	 * @param string|bool $cf_token Cloudflare token.
	 */
	public function init_qc_cdn_cli( $method, $cert = false, $key = false, $cf_token = false ) {
		if ( ! $this->activated() ) {
			Admin_Display::error( __( 'You need to activate QC first.', 'litespeed-cache' ) );
			return;
		}

		$server_ip = $this->conf( self::O_SERVER_IP );
		if ( ! $server_ip ) {
			self::debugErr( 'Server IP needs to be set first!' );
			$msg = sprintf(
				__( 'You need to set the %1$s first. Please use the command %2$s to set.', 'litespeed-cache' ),
				'`' . __( 'Server IP', 'litespeed-cache' ) . '`',
				'`wp litespeed-option set server_ip __your_ip_value__`'
			);
			Admin_Display::error( $msg );
			return;
		}

		if ( $cert ) {
			if ( ! file_exists( $cert ) || ! file_exists( $key ) ) {
				Admin_Display::error( __( 'Cert or key file does not exist.', 'litespeed-cache' ) );
				return;
			}
		}

		$data = [
			'method'    => $method,
			'server_ip' => $server_ip,
		];
		if ( $cert ) {
			$data['cert'] = File::read( $cert );
			$data['key']  = File::read( $key );
		}
		if ( $cf_token ) {
			$data['cf_token'] = $cf_token;
		}

		$res = $this->post( self::SVC_D_ENABLE_CDN, $data );
		return $res;
	}

	/**
	 * Link to QC setup
	 *
	 * @since 7.0
	 */
	public function link_qc() {
		if ( ! $this->activated() ) {
			Admin_Display::error( __( 'You need to activate QC first.', 'litespeed-cache' ) );
			return;
		}

		$data                     = [
			'wp_ts' => time(),
		];
		$data['wp_signature_b64'] = $this->_sign_b64( $data['wp_ts'] );

		// Activation redirect
		$param = [
			'site_url' => site_url(),
			'ver'      => Core::VER,
			'data'     => $data,
			'ref'      => $this->_get_ref_url(),
		];
		wp_safe_redirect( $this->_cloud_server_dash . '/' . self::SVC_U_LINK . '?data=' . rawurlencode( Utility::arr2str( $param ) ) );
		exit;
	}

	/**
	 * Show QC Account CDN status
	 *
	 * @since 7.0
	 */
	public function cdn_status_cli() {
		if ( ! $this->activated() ) {
			Admin_Display::error( __( 'You need to activate QC first.', 'litespeed-cache' ) );
			return;
		}

		$data = [];
		$res  = $this->post( self::SVC_D_STATUS_CDN_CLI, $data );
		return $res;
	}

	/**
	 * Link to QC Account for CLI
	 *
	 * @since 7.0
	 *
	 * @param string $email Account email.
	 * @param string $key   API key.
	 */
	public function link_qc_cli( $email, $key ) {
		if ( ! $this->activated() ) {
			Admin_Display::error( __( 'You need to activate QC first.', 'litespeed-cache' ) );
			return;
		}

		$data = [
			'qc_acct_email' => $email,
			'qc_acct_apikey'=> $key,
		];
		$res  = $this->post( self::SVC_D_LINK, $data );
		return $res;
	}

	/**
	 * API link parsed call to QC
	 *
	 * @since 7.0
	 *
	 * @param string $action2 Action slug.
	 */
	public function api_link_call( $action2 ) {
		if ( ! $this->activated() ) {
			Admin_Display::error( __( 'You need to activate QC first.', 'litespeed-cache' ) );
			return;
		}

		$data = [
			'action2' => $action2,
		];
		$res  = $this->post( self::SVC_D_API, $data );
		self::debug( 'API link call result: ', $res );
	}

	/**
	 * Enable QC CDN
	 *
	 * @since 7.0
	 */
	public function enable_cdn() {
		if ( ! $this->activated() ) {
			Admin_Display::error( __( 'You need to activate QC first.', 'litespeed-cache' ) );
			return;
		}

		$data                     = [
			'wp_ts' => time(),
		];
		$data['wp_signature_b64'] = $this->_sign_b64( $data['wp_ts'] );

		// Activation redirect
		$param = [
			'site_url' => site_url(),
			'ver'      => Core::VER,
			'data'     => $data,
			'ref'      => $this->_get_ref_url(),
		];
		wp_safe_redirect( $this->_cloud_server_dash . '/' . self::SVC_U_ENABLE_CDN . '?data=' . rawurlencode( Utility::arr2str( $param ) ) );
		exit;
	}

	/**
	 * Encrypt data for cloud req
	 *
	 * @since 7.0
	 *
	 * @param string|int $data Data to sign.
	 * @return string|false
	 */
	private function _sign_b64( $data ) {
		if ( empty( $this->_summary['sk_b64'] ) ) {
			self::debugErr( 'No sk to sign.' );
			return false;
		}
		$sk = base64_decode( $this->_summary['sk_b64'] ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode
		if ( strlen( $sk ) !== SODIUM_CRYPTO_SIGN_SECRETKEYBYTES ) {
			self::debugErr( 'Invalid local sign sk length.' );
			// Reset local pk/sk
			unset( $this->_summary['pk_b64'] );
			unset( $this->_summary['sk_b64'] );
			$this->save_summary();
			self::debug( 'Clear local sign pk/sk pair.' );

			return false;
		}
		$signature = sodium_crypto_sign_detached( (string) $data, $sk );
		return base64_encode( $signature ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode
	}

	/**
	 * Load server pk from cloud
	 *
	 * @since 7.0
	 *
	 * @param bool $from_wpapi Load from WP API server.
	 * @return string|false Binary public key or false.
	 */
	private function _load_server_pk( $from_wpapi = false ) {
		// Load cloud pk
		$server_key_url = $this->_cloud_server . '/' . self::API_SERVER_KEY_SIGN;
		if ( $from_wpapi ) {
			$server_key_url = $this->_cloud_server_wp . '/' . self::API_SERVER_KEY_SIGN;
		}
		$resp = wp_safe_remote_get( $server_key_url );
		if ( is_wp_error( $resp ) ) {
			self::debugErr( 'Failed to load key: ' . $resp->get_error_message() );
			return false;
		}
		$pk = trim( $resp['body'] );
		self::debug( 'Loaded key from ' . $server_key_url . ': ' . $pk );
		$cloud_pk = base64_decode( $pk ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode
		if ( strlen( $cloud_pk ) !== SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES ) {
			self::debugErr( 'Invalid cloud public key length.' );
			return false;
		}

		$sk = base64_decode( $this->_summary['sk_b64'] ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode
		if ( strlen( $sk ) !== SODIUM_CRYPTO_SIGN_SECRETKEYBYTES ) {
			self::debugErr( 'Invalid local secret key length.' );
			// Reset local pk/sk
			unset( $this->_summary['pk_b64'] );
			unset( $this->_summary['sk_b64'] );
			$this->save_summary();
			self::debug( 'Unset local pk/sk pair.' );

			return false;
		}

		return $cloud_pk;
	}

	/**
	 * WPAPI echo back to notify the sealed databox
	 *
	 * @since 7.0
	 */
	public function wp_rest_echo() {
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		self::debug( 'Parsing echo', $_POST );

		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		$ts = !empty( $_POST['wpapi_ts'] ) ? sanitize_text_field( wp_unslash( $_POST['wpapi_ts'] ) ) : '';
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		$sig = !empty( $_POST['wpapi_signature_b64'] ) ? sanitize_text_field( wp_unslash( $_POST['wpapi_signature_b64'] ) ) : '';

		if ( empty( $ts ) || empty( $sig ) ) {
			return self::err( 'No echo data' );
		}

		$is_valid = $this->_validate_signature( $sig, $ts, true );
		if ( ! $is_valid ) {
			return self::err( 'Data validation from WPAPI REST Echo failed' );
		}

		$diff = time() - (int) $ts;
		if ( abs( $diff ) > 86400 ) {
			self::debugErr( 'WPAPI echo data timeout [diff] ' . $diff );
			return self::err( 'Echo data expired' );
		}

		$signature_b64 = $this->_sign_b64( $ts );
		self::debug( 'Response to echo [signature_b64] ' . $signature_b64 );
		return self::ok( [ 'signature_b64' => $signature_b64 ] );
	}

	/**
	 * Validate cloud data
	 *
	 * @since 7.0
	 *
	 * @param string $signature_b64 Base64 signature.
	 * @param string $data          Data to validate.
	 * @param bool   $from_wpapi    Whether the signature is from WP API server.
	 * @return bool
	 */
	private function _validate_signature( $signature_b64, $data, $from_wpapi = false ) {
		// Try validation
		try {
			$cloud_pk = $this->_load_server_pk( $from_wpapi );
			if ( ! $cloud_pk ) {
				return false;
			}
			$signature = base64_decode( $signature_b64 ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode
			$is_valid  = sodium_crypto_sign_verify_detached( $signature, (string) $data, $cloud_pk );
		} catch ( \SodiumException $e ) {
			self::debugErr( 'Decryption failed: ' . esc_html( $e->getMessage() ) );
			return false;
		}
		self::debug( 'Signature validation result: ' . ( $is_valid ? 'true' : 'false' ) );
		return $is_valid;
	}

	/**
	 * Finish qc activation after redirection back from QC
	 *
	 * @since 7.0
	 *
	 * @param string|false $ref Ref slug.
	 */
	public function finish_qc_activation( $ref = false ) {
		// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
		$qc_activated = !empty( $_GET['qc_activated'] ) ? sanitize_text_field( wp_unslash( $_GET['qc_activated'] ) ) : '';
		// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
		$qc_ts = !empty( $_GET['qc_ts'] ) ? sanitize_text_field( wp_unslash( $_GET['qc_ts'] ) ) : '';
		// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
		$qc_sig = !empty( $_GET['qc_signature_b64'] ) ? sanitize_text_field( wp_unslash( $_GET['qc_signature_b64'] ) ) : '';

		if ( ! $qc_activated || ! $qc_ts || ! $qc_sig ) {
			return;
		}

		$data_to_validate_signature = [
			'wp_pk_b64' => $this->_summary['pk_b64'],
			'qc_ts'     => $qc_ts,
		];
		$is_valid                   = $this->_validate_signature( $qc_sig, implode( '', $data_to_validate_signature ) );
		if ( ! $is_valid ) {
			self::debugErr( 'Failed to validate qc activation data' );
			Admin_Display::error( sprintf( __( 'Failed to validate %s activation data.', 'litespeed-cache' ), 'QUIC.cloud' ) );
			return;
		}

		self::debug( 'QC activation status: ' . $qc_activated );
		if ( ! in_array( $qc_activated, [ 'anonymous', 'linked', 'cdn' ], true ) ) {
			self::debugErr( 'Failed to parse qc activation status' );
			Admin_Display::error( sprintf( __( 'Failed to parse %s activation status.', 'litespeed-cache' ), 'QUIC.cloud' ) );
			return;
		}

		$diff = time() - (int) $qc_ts;
		if ( abs( $diff ) > 86400 ) {
			self::debugErr( 'QC activation data timeout [diff] ' . $diff );
			Admin_Display::error( sprintf( __( '%s activation data expired.', 'litespeed-cache' ), 'QUIC.cloud' ) );
			return;
		}

		// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
		$main_domain = ! empty( $_GET['main_domain'] ) ? sanitize_text_field( wp_unslash( $_GET['main_domain'] ) ) : false;
		$this->update_qc_activation( $qc_activated, $main_domain );

		wp_safe_redirect( $this->_get_ref_url( $ref ) );
		exit;
	}

	/**
	 * Finish qc activation process
	 *
	 * @since 7.0
	 *
	 * @param string      $qc_activated Activation status.
	 * @param string|bool $main_domain  Main domain.
	 * @param bool        $quite        Quiet flag.
	 */
	public function update_qc_activation( $qc_activated, $main_domain = false, $quite = false ) {
		$this->_summary['qc_activated'] = $qc_activated;
		if ( $main_domain ) {
			$this->_summary['main_domain'] = $main_domain;
		}
		$this->save_summary();

		$msg = sprintf( __( 'Congratulations, %s successfully set this domain up for the anonymous online services.', 'litespeed-cache' ), 'QUIC.cloud' );
		if ( 'linked' === $qc_activated ) {
			$msg = sprintf( __( 'Congratulations, %s successfully set this domain up for the online services.', 'litespeed-cache' ), 'QUIC.cloud' );
			// Sync possible partner info
			$this->sync_usage();
		}
		if ( 'cdn' === $qc_activated ) {
			$msg = sprintf( __( 'Congratulations, %s successfully set this domain up for the online services with CDN service.', 'litespeed-cache' ), 'QUIC.cloud' );
			// Turn on CDN option
			$this->cls( 'Conf' )->update_confs( [ self::O_CDN_QUIC => true ] );
		}
		if ( ! $quite ) {
			Admin_Display::success( '🎊 ' . $msg );
		}

		$this->_clear_reset_qc_reg_msg();

		$this->clear_cloud();
	}

	/**
	 * Load QC status for dash usage.
	 * Format to translate: `<a href="{#xxx#}" class="button button-primary">xxxx</a><a href="{#xxx#}">xxxx2</a>`
	 *
	 * @since 7.0
	 *
	 * @param string $type  Type.
	 * @param bool   $force Force refresh.
	 * @return string
	 */
	public function load_qc_status_for_dash( $type, $force = false ) {
		return Str::translate_qc_apis( $this->_load_qc_status_for_dash( $type, $force ) );
	}

	/**
	 * Internal: load QC status HTML for dash.
	 *
	 * @param string $type  Type.
	 * @param bool   $force Force refresh.
	 * @return string
	 */
	private function _load_qc_status_for_dash( $type, $force = false ) {
		if (
			! $force &&
			! empty( $this->_summary['mini_html'] ) &&
			isset( $this->_summary['mini_html'][ $type ] ) &&
			! empty( $this->_summary['mini_html'][ 'ttl.' . $type ] ) &&
			$this->_summary['mini_html'][ 'ttl.' . $type ] > time()
		) {
			return Str::safe_html( $this->_summary['mini_html'][ $type ] );
		}

		// Try to update dash content
		$data = self::post( self::SVC_D_DASH, [ 'action2' => ( 'cdn_dash_mini' === $type ? 'cdn_dash' : $type ) ] );
		if ( ! empty( $data['qc_activated'] ) ) {
			// Sync conf as changed
			if ( empty( $this->_summary['qc_activated'] ) || $this->_summary['qc_activated'] !== $data['qc_activated'] ) {
				$msg = sprintf( __( 'Congratulations, %s successfully set this domain up for the online services with CDN service.', 'litespeed-cache' ), 'QUIC.cloud' );
				Admin_Display::success( '🎊 ' . $msg );
				$this->_clear_reset_qc_reg_msg();
				// Turn on CDN option
				$this->cls( 'Conf' )->update_confs( [ self::O_CDN_QUIC => true ] );
				$this->cls( 'CDN\Quic' )->try_sync_conf( true );
			}

			$this->_summary['qc_activated'] = $data['qc_activated'];
			$this->save_summary();
		}

		// Show the info
		if ( isset( $this->_summary['mini_html'][ $type ] ) ) {
			return Str::safe_html( $this->_summary['mini_html'][ $type ] );
		}

		return '';
	}

	/**
	 * Update QC status
	 *
	 * @since 7.0
	 */
	public function update_cdn_status() {
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		$qc_activated = !empty( $_POST['qc_activated'] ) ? sanitize_text_field( wp_unslash( $_POST['qc_activated'] ) ) : '';

		if ( !$qc_activated || ! in_array( $qc_activated, [ 'anonymous', 'linked', 'cdn', 'deleted' ], true ) ) {
			return self::err( 'lack_of_params' );
		}

		self::debug( 'update_cdn_status request hash: ' . $qc_activated );

		if ( 'deleted' === $qc_activated ) {
			$this->_reset_qc_reg();
		} else {
			$this->_summary['qc_activated'] = $qc_activated;
			$this->save_summary();
		}

		if ( 'cdn' === $qc_activated ) {
			$msg = sprintf( __( 'Congratulations, %s successfully set this domain up for the online services with CDN service.', 'litespeed-cache' ), 'QUIC.cloud' );
			Admin_Display::success( '🎊 ' . $msg );
			$this->_clear_reset_qc_reg_msg();
			// Turn on CDN option
			$this->cls( 'Conf' )->update_confs( [ self::O_CDN_QUIC => true ] );
			$this->cls( 'CDN\Quic' )->try_sync_conf( true );
		}

		return self::ok( [ 'qc_activated' => $qc_activated ] );
	}

	/**
	 * Reset QC setup
	 *
	 * @since 7.0
	 */
	public function reset_qc() {
		unset( $this->_summary['pk_b64'] );
		unset( $this->_summary['sk_b64'] );
		unset( $this->_summary['qc_activated'] );
		if ( ! empty( $this->_summary['partner'] ) ) {
			unset( $this->_summary['partner'] );
		}
		$this->save_summary();
		self::debug( 'Clear local QC activation.' );

		$this->clear_cloud();

		Admin_Display::success( sprintf( __( 'Reset %s activation successfully.', 'litespeed-cache' ), 'QUIC.cloud' ) );
		wp_safe_redirect( $this->_get_ref_url() );
		exit;
	}

	/**
	 * Show latest commit version always if is on dev
	 *
	 * @since 3.0
	 */
	public function check_dev_version() {
		if ( ! preg_match( '/[^\d\.]/', Core::VER ) ) {
			return;
		}

		$last_check = empty( $this->_summary[ 'last_request.' . self::API_VER ] ) ? 0 : $this->_summary[ 'last_request.' . self::API_VER ];

		if ( time() - $last_check > 86400 ) {
			$auto_v = self::version_check( 'dev' );
			if ( ! empty( $auto_v['dev'] ) ) {
				self::save_summary( [ 'version.dev' => $auto_v['dev'] ] );
			}
		}

		if ( empty( $this->_summary['version.dev'] ) ) {
			return;
		}

		self::debug( 'Latest dev version ' . $this->_summary['version.dev'] );

		if ( version_compare( $this->_summary['version.dev'], Core::VER, '<=' ) ) {
			return;
		}

		// Show the dev banner
		require_once LSCWP_DIR . 'tpl/banner/new_version_dev.tpl.php';
	}

	/**
	 * Check latest version
	 *
	 * @since 2.9
	 * @access public
	 *
	 * @param string|false $src Source.
	 * @return mixed
	 */
	public static function version_check( $src = false ) {
		$req_data = [
			'v'   => defined( 'LSCWP_CUR_V' ) ? LSCWP_CUR_V : '',
			'src' => $src,
			'php' => phpversion(),
		];
		// If code ver is smaller than db ver, bypass
		if ( ! empty( $req_data['v'] ) && version_compare( Core::VER, $req_data['v'], '<' ) ) {
			return;
		}
		if ( defined( 'LITESPEED_ERR' ) ) {
			$litespeed_err   = constant( 'LITESPEED_ERR' );
			$req_data['err'] = base64_encode( ! is_string( $litespeed_err ) ? wp_json_encode( $litespeed_err ) : $litespeed_err ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode
		}
		$data = self::post( self::API_VER, $req_data );

		return $data;
	}

	/**
	 * Show latest news
	 *
	 * @since 3.0
	 */
	public function news() {
		$this->_update_news();

		if ( empty( $this->_summary['news.new'] ) ) {
			return;
		}

		if ( ! empty( $this->_summary['news.plugin'] ) && Activation::cls()->dash_notifier_is_plugin_active( $this->_summary['news.plugin'] ) ) {
			return;
		}

		require_once LSCWP_DIR . 'tpl/banner/cloud_news.tpl.php';
	}

	/**
	 * Update latest news
	 *
	 * @since 2.9.9.1
	 */
	private function _update_news() {
		if ( ! empty( $this->_summary['news.utime'] ) && time() - (int) $this->_summary['news.utime'] < 86400 * 7 ) {
			return;
		}

		self::save_summary( [ 'news.utime' => time() ] );

		$data = self::get( self::API_NEWS );
		if ( empty( $data['id'] ) ) {
			return;
		}

		// Save news
		if ( ! empty( $this->_summary['news.id'] ) && (string) $this->_summary['news.id'] === (string) $data['id'] ) {
			return;
		}

		$this->_summary['news.id']      = $data['id'];
		$this->_summary['news.plugin']  = ! empty( $data['plugin'] ) ? $data['plugin'] : '';
		$this->_summary['news.title']   = ! empty( $data['title'] ) ? $data['title'] : '';
		$this->_summary['news.content'] = ! empty( $data['content'] ) ? $data['content'] : '';
		$this->_summary['news.zip']     = ! empty( $data['zip'] ) ? $data['zip'] : '';
		$this->_summary['news.new']     = 1;

		if ( $this->_summary['news.plugin'] ) {
			$plugin_info = Activation::cls()->dash_notifier_get_plugin_info( $this->_summary['news.plugin'] );
			if ( $plugin_info && ! empty( $plugin_info->name ) ) {
				$this->_summary['news.plugin_name'] = $plugin_info->name;
			}
		}

		self::save_summary();
	}

	/**
	 * Check if contains a package in a service or not
	 *
	 * @since 4.0
	 *
	 * @param string $service Service.
	 * @param int    $pkg     Package flag.
	 * @return bool
	 */
	public function has_pkg( $service, $pkg ) {
		if ( ! empty( $this->_summary[ 'usage.' . $service ]['pkgs'] ) && ( $this->_summary[ 'usage.' . $service ]['pkgs'] & $pkg ) ) {
			return true;
		}

		return false;
	}

	/**
	 * Get allowance of current service
	 *
	 * @since 3.0
	 * @access private
	 *
	 * @param string      $service Service.
	 * @param string|bool $err    Error code by ref.
	 * @return int
	 */
	public function allowance( $service, &$err = false ) {
		// Only auto sync usage at most one time per day
		if ( empty( $this->_summary[ 'last_request.' . self::SVC_D_USAGE ] ) || time() - (int) $this->_summary[ 'last_request.' . self::SVC_D_USAGE ] > 86400 ) {
			$this->sync_usage();
		}

		if ( in_array( $service, [ self::SVC_CCSS, self::SVC_UCSS, self::SVC_VPI ], true ) ) {
			// @since 4.2
			$service = self::SVC_PAGE_OPTM;
		}

		if ( empty( $this->_summary[ 'usage.' . $service ] ) ) {
			return 0;
		}
		$usage = $this->_summary[ 'usage.' . $service ];

		// Image optm is always free
		$allowance_max = 0;
		if ( self::SVC_IMG_OPTM === $service ) {
			$allowance_max = self::IMG_OPTM_DEFAULT_GROUP;
		}

		$allowance = (int) $usage['quota'] - (int) $usage['used'];

		$err = 'out_of_quota';

		if ( $allowance > 0 ) {
			if ( $allowance_max && $allowance_max < $allowance ) {
				$allowance = $allowance_max;
			}

			// Daily limit @since 4.2
			if ( isset( $usage['remaining_daily_quota'] ) && $usage['remaining_daily_quota'] >= 0 && $usage['remaining_daily_quota'] < $allowance ) {
				$allowance = $usage['remaining_daily_quota'];
				if ( ! $allowance ) {
					$err = 'out_of_daily_quota';
				}
			}

			return $allowance;
		}

		// Check Pay As You Go balance
		if ( empty( $usage['pag_bal'] ) ) {
			return $allowance_max;
		}

		if ( $allowance_max && $allowance_max < $usage['pag_bal'] ) {
			return $allowance_max;
		}

		return (int) $usage['pag_bal'];
	}

	/**
	 * Sync Cloud usage summary data
	 *
	 * @since 3.0
	 * @access public
	 */
	public function sync_usage() {
		$usage = $this->_post( self::SVC_D_USAGE );
		if ( ! $usage ) {
			return;
		}

		self::debug( 'sync_usage ' . wp_json_encode( $usage ) );

		foreach ( self::$services as $v ) {
			$this->_summary[ 'usage.' . $v ] = ! empty( $usage[ $v ] ) ? $usage[ $v ] : false;
		}

		self::save_summary();

		return $this->_summary;
	}

	/**
	 * Clear all existing cloud nodes for future reconnect
	 *
	 * @since 3.0
	 * @access public
	 */
	public function clear_cloud() {
		foreach ( self::$services as $service ) {
			if ( isset( $this->_summary[ 'server.' . $service ] ) ) {
				unset( $this->_summary[ 'server.' . $service ] );
			}
			if ( isset( $this->_summary[ 'server_date.' . $service ] ) ) {
				unset( $this->_summary[ 'server_date.' . $service ] );
			}
		}
		self::save_summary();

		self::debug( 'Cleared all local service node caches' );
	}

	/**
	 * Ping clouds to find the fastest node
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $service Service.
	 * @param bool   $force   Force redetect.
	 * @return string|false
	 */
	public function detect_cloud( $service, $force = false ) {
		if ( in_array( $service, self::$center_svc_set, true ) ) {
			return $this->_cloud_server;
		}

		if ( in_array( $service, self::$wp_svc_set, true ) ) {
			return $this->_cloud_server_wp;
		}

		// Check if the stored server needs to be refreshed
		if ( ! $force ) {
			if (
				! empty( $this->_summary[ 'server.' . $service ] ) &&
				! empty( $this->_summary[ 'server_date.' . $service ] ) &&
				(int) $this->_summary[ 'server_date.' . $service ] > time() - 86400 * self::TTL_NODE
			) {
				$server = $this->_summary[ 'server.' . $service ];
				if ( false === strpos( $this->_cloud_server, 'preview.' ) && false === strpos( $server, 'preview.' ) ) {
					return $server;
				}
				if ( false !== strpos( $this->_cloud_server, 'preview.' ) && false !== strpos( $server, 'preview.' ) ) {
					return $server;
				}
			}
		}

		if ( ! $service || ! in_array( $service, self::$services, true ) ) {
			$msg = __( 'Cloud Error', 'litespeed-cache' ) . ': ' . $service;
			Admin_Display::error( $msg );
			return false;
		}

		// Send request to Quic Online Service
		$json = $this->_post( self::SVC_D_NODES, [ 'svc' => $this->_maybe_queue( $service ) ] );

		// Check if get list correctly
		if ( empty( $json['list'] ) || ! is_array( $json['list'] ) ) {
			self::debug( 'request cloud list failed: ', $json );

			if ( $json ) {
				$msg = __( 'Cloud Error', 'litespeed-cache' ) . ": [Service] $service [Info] " . wp_json_encode( $json );
				Admin_Display::error( $msg );
			}

			return false;
		}

		// Ping closest cloud
		$valid_clouds = false;
		if ( ! empty( $json['list_preferred'] ) ) {
			$valid_clouds = $this->_get_closest_nodes( $json['list_preferred'], $service );
		}
		if ( ! $valid_clouds ) {
			$valid_clouds = $this->_get_closest_nodes( $json['list'], $service );
		}
		if ( ! $valid_clouds ) {
			return false;
		}

		// Check server load
		if ( in_array( $service, self::$services_load_check, true ) ) {
			// TODO
			$valid_cloud_loads = [];
			foreach ( $valid_clouds as $v ) {
				$response = wp_safe_remote_get( $v, [ 'timeout' => 5 ] );
				if ( is_wp_error( $response ) ) {
					$error_message = $response->get_error_message();
					self::debug( 'failed to do load checker: ' . $error_message );
					continue;
				}

				$curr_load = \json_decode( $response['body'], true );
				if ( ! empty( $curr_load['_res'] ) && 'ok' === $curr_load['_res'] && isset( $curr_load['load'] ) ) {
					$valid_cloud_loads[ $v ] = $curr_load['load'];
				}
			}

			if ( ! $valid_cloud_loads ) {
				$msg = __( 'Cloud Error', 'litespeed-cache' ) . ": [Service] $service [Info] " . __( 'No available Cloud Node after checked server load.', 'litespeed-cache' );
				Admin_Display::error( $msg );
				return false;
			}

			self::debug( 'Closest nodes list after load check', $valid_cloud_loads );

			$qualified_list = array_keys( $valid_cloud_loads, min( $valid_cloud_loads ), true );
		} else {
			$qualified_list = $valid_clouds;
		}

		$closest = $qualified_list[ array_rand( $qualified_list ) ];

		self::debug( 'Chose node: ' . $closest );

		// store data into option locally
		$this->_summary[ 'server.' . $service ]      = $closest;
		$this->_summary[ 'server_date.' . $service ] = time();
		self::save_summary();

		return $this->_summary[ 'server.' . $service ];
	}

	/**
	 * Ping to choose the closest nodes
	 *
	 * @since 7.0
	 *
	 * @param array  $nodes_list    Node list.
	 * @param string $service Service.
	 * @return array|false
	 */
	private function _get_closest_nodes( $nodes_list, $service ) {
		$speed_list = [];
		foreach ( $nodes_list as $v ) {
			// Exclude possible failed 503 nodes
			if ( ! empty( $this->_summary['disabled_node'] ) && ! empty( $this->_summary['disabled_node'][ $v ] ) && time() - (int) $this->_summary['disabled_node'][ $v ] < 86400 ) {
				continue;
			}
			$speed_list[ $v ] = Utility::ping( $v );
		}

		if ( ! $speed_list ) {
			self::debug( 'nodes are in 503 failed nodes' );
			return false;
		}

		$min = min( $speed_list );

		if ( 99999 === (int) $min ) {
			self::debug( 'failed to ping all clouds' );
			return false;
		}

		// Random pick same time range ip (230ms 250ms)
		$range_len    = strlen( $min );
		$range_num    = substr( $min, 0, 1 );
		$valid_clouds = [];
		foreach ( $speed_list as $node => $speed ) {
			if ( strlen( $speed ) === $range_len && substr( $speed, 0, 1 ) === $range_num ) {
				$valid_clouds[] = $node;
			} elseif ( $speed < $min * 4 ) { // Append the lower speed ones
				$valid_clouds[] = $node;
			}
		}

		if ( ! $valid_clouds ) {
			$msg = __( 'Cloud Error', 'litespeed-cache' ) . ": [Service] $service [Info] " . __( 'No available Cloud Node.', 'litespeed-cache' );
			Admin_Display::error( $msg );
			return false;
		}

		self::debug( 'Closest nodes list', $valid_clouds );
		return $valid_clouds;
	}

	/**
	 * May need to convert to queue service
	 *
	 * @param string $service Service.
	 * @return string
	 */
	private function _maybe_queue( $service ) {
		if ( in_array( $service, self::$_queue_svc_set, true ) ) {
			return self::SVC_QUEUE;
		}
		return $service;
	}

	/**
	 * Get data from QUIC cloud server
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $service Service.
	 * @param array  $data    Data.
	 * @return mixed
	 */
	public static function get( $service, $data = [] ) {
		$instance = self::cls();
		return $instance->_get( $service, $data );
	}

	/**
	 * Get data from QUIC cloud server (private)
	 *
	 * @since 3.0
	 * @access private
	 *
	 * @param string     $service Service.
	 * @param array|bool $data    Data array or false to omit.
	 * @return mixed
	 */
	private function _get( $service, $data = false ) {
		$service_tag = $service;
		if ( ! empty( $data['action'] ) ) {
			$service_tag .= '-' . $data['action'];
		}

		$maybe_cloud = $this->_maybe_cloud( $service_tag );
		if ( ! $maybe_cloud || 'svc_hot' === $maybe_cloud ) {
			return $maybe_cloud;
		}

		$server = $this->detect_cloud( $service );
		if ( ! $server ) {
			return;
		}

		$url = $server . '/' . $service;

		$param = [
			'site_url'   => site_url(),
			'main_domain'=> ! empty( $this->_summary['main_domain'] ) ? $this->_summary['main_domain'] : '',
			'ver'        => Core::VER,
		];

		if ( $data ) {
			$param['data'] = $data;
		}

		$url .= '?' . http_build_query( $param );

		self::debug( 'getting from : ' . $url );

		self::save_summary( [ 'curr_request.' . $service_tag => time() ] );
		File::save( $this->_qc_time_file( $service_tag, 'curr' ), time(), true );

		$response = wp_safe_remote_get(
			$url,
			[
				'timeout' => 15,
				'headers' => [ 'Accept' => 'application/json' ],
			]
		);

		return $this->_parse_response( $response, $service, $service_tag, $server );
	}

	/**
	 * Check if is able to do cloud request or not
	 *
	 * @since 3.0
	 * @access private
	 *
	 * @param string $service_tag Service tag.
	 * @return bool|string
	 */
	private function _maybe_cloud( $service_tag ) {
		$site_url = site_url();
		if ( ! wp_http_validate_url( $site_url ) ) {
			self::debug( 'wp_http_validate_url failed: ' . $site_url );
			return false;
		}

		// Deny if is IP
		if ( preg_match( '#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', Utility::parse_url_safe( $site_url, PHP_URL_HOST ) ) ) {
			self::debug( 'IP home url is not allowed for cloud service.' );
			$msg = __( 'In order to use QC services, need a real domain name, cannot use an IP.', 'litespeed-cache' );
			Admin_Display::error( $msg );
			return false;
		}

		// If in valid err_domains, bypass request
		if ( $this->_is_err_domain( $site_url ) ) {
			self::debug( 'home url is in err_domains, bypass request: ' . $site_url );
			return false;
		}

		// we don't want the `img_optm-taken` to fail at any given time
		if ( self::IMGOPTM_TAKEN === $service_tag ) {
			return true;
		}

		if ( self::SVC_D_SYNC_CONF === $service_tag && ! $this->activated() ) {
			self::debug( 'Skip sync conf as QC not activated yet.' );
			return false;
		}

		// Check TTL
		if ( ! empty( $this->_summary[ 'ttl.' . $service_tag ] ) ) {
			$ttl = (int) $this->_summary[ 'ttl.' . $service_tag ] - time();
			if ( $ttl > 0 ) {
				self::debug( '❌ TTL limit. [srv] ' . $service_tag . ' [TTL cool down] ' . $ttl . ' seconds' );
				return 'svc_hot';
			}
		}

		$expiration_req = self::EXPIRATION_REQ;
		// Limit frequent unfinished request to 5min
		$timestamp_tag = 'curr';
		if ( self::SVC_IMG_OPTM . '-' . Img_Optm::TYPE_NEW_REQ === $service_tag ) {
			$timestamp_tag = 'last';
		}

		// For all other requests, if is under debug mode, will always allow
		if ( ! $this->conf( self::O_DEBUG ) ) {
			if ( ! empty( $this->_summary[ $timestamp_tag . '_request.' . $service_tag ] ) ) {
				$expired = (int) $this->_summary[ $timestamp_tag . '_request.' . $service_tag ] + $expiration_req - time();
				if ( $expired > 0 ) {
					self::debug( '❌ try [' . $service_tag . '] after ' . $expired . ' seconds' );

					if ( self::API_VER !== $service_tag ) {
						$msg =
							__( 'Cloud Error', 'litespeed-cache' ) .
							': ' .
							sprintf(
								__( 'Please try after %1$s for service %2$s.', 'litespeed-cache' ),
								Utility::readable_time( $expired, 0, true ),
								'<code>' . $service_tag . '</code>'
							);
						Admin_Display::error( [ 'cloud_trylater' => $msg ] );
					}

					return false;
				}
			} else {
				// May fail to store to db if db is oc cached/dead/locked/readonly. Need to store to file to prevent from duplicate calls
				$file_path = $this->_qc_time_file( $service_tag, $timestamp_tag );
				if ( file_exists( $file_path ) ) {
					$last_request = File::read( $file_path );
					$expired      = (int) $last_request + $expiration_req * 10 - time();
					if ( $expired > 0 ) {
						self::debug( '❌ try [' . $service_tag . '] after ' . $expired . ' seconds' );
						return false;
					}
				}
				// For ver check, additional check to prevent frequent calls as old DB ver may be cached
				if ( self::API_VER === $service_tag ) {
					$file_path = $this->_qc_time_file( $service_tag );
					if ( file_exists( $file_path ) ) {
						$last_request = File::read( $file_path );
						$expired      = (int) $last_request + $expiration_req * 10 - time();
						if ( $expired > 0 ) {
							self::debug( '❌❌ Unusual req! try [' . $service_tag . '] after ' . $expired . ' seconds' );
							return false;
						}
					}
				}
			}
		}

		if ( in_array( $service_tag, self::$_pub_svc_set, true ) ) {
			return true;
		}

		if ( ! $this->activated() && self::SVC_D_ACTIVATE !== $service_tag ) {
			Admin_Display::error( Error::msg( 'qc_setup_required' ) );
			return false;
		}

		return true;
	}

	/**
	 * Get QC req ts file path
	 *
	 * @since 7.5
	 *
	 * @param string $service_tag Service tag.
	 * @param string $type        Type: 'last' or 'curr'.
	 * @return string
	 */
	private function _qc_time_file( $service_tag, $type = 'last' ) {
		if ( 'curr' !== $type ) {
			$type = 'last';
		}
		$legacy_file = LITESPEED_STATIC_DIR . '/qc_' . $type . '_request' . md5( $service_tag );
		if ( file_exists( $legacy_file ) ) {
			wp_delete_file( $legacy_file );
		}
		$service_tag = preg_replace( '/[^a-zA-Z0-9]/', '', $service_tag );
		return LITESPEED_STATIC_DIR . '/qc.' . $type . '.' . $service_tag;
	}

	/**
	 * Check if a service tag ttl is valid or not
	 *
	 * @since 7.1
	 *
	 * @param string $service_tag Service tag.
	 * @return int|false Seconds remaining or false if not hot.
	 */
	public function service_hot( $service_tag ) {
		if ( empty( $this->_summary[ 'ttl.' . $service_tag ] ) ) {
			return false;
		}

		$ttl = (int) $this->_summary[ 'ttl.' . $service_tag ] - time();
		if ( $ttl <= 0 ) {
			return false;
		}

		return $ttl;
	}

	/**
	 * Check if activated QUIC.cloud service or not
	 *
	 * @since  7.0
	 * @access public
	 */
	public function activated() {
		return ! empty( $this->_summary['sk_b64'] ) && ! empty( $this->_summary['qc_activated'] );
	}

	/**
	 * Show my.qc quick link to the domain page
	 *
	 * @return string
	 */
	public function qc_link() {
		$data = [
			'site_url' => site_url(),
			'ver' => LSCWP_V,
			'ref' => $this->_get_ref_url(),
		];
		return $this->_cloud_server_dash . '/u/wp3/manage?data=' . rawurlencode( Utility::arr2str( $data ) ); // . (!empty($this->_summary['is_linked']) ? '?wplogin=1' : '');
	}

	/**
	 * Post data to QUIC.cloud server
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param string     $service  Service name/route.
	 * @param array|bool $data     Payload data or false to omit.
	 * @param int|false  $time_out Timeout seconds or false for default.
	 * @return mixed Response payload or false on failure.
	 */
	public static function post( $service, $data = false, $time_out = false ) {
		$instance = self::cls();
		return $instance->_post( $service, $data, $time_out );
	}

	/**
	 * Post data to cloud server
	 *
	 * @since  3.0
	 * @access private
	 *
	 * @param string     $service  Service name/route.
	 * @param array|bool $data     Payload data or false to omit.
	 * @param int|false  $time_out Timeout seconds or false for default.
	 * @return mixed Response payload or false on failure.
	 */
	private function _post( $service, $data = false, $time_out = false ) {
		$service_tag = $service;
		if ( ! empty( $data['action'] ) ) {
			$service_tag .= '-' . $data['action'];
		}

		$maybe_cloud = $this->_maybe_cloud( $service_tag );
		if ( ! $maybe_cloud || 'svc_hot' === $maybe_cloud ) {
			self::debug( 'Maybe cloud failed: ' . wp_json_encode( $maybe_cloud ) );
			return $maybe_cloud;
		}

		$server = $this->detect_cloud( $service );
		if ( ! $server ) {
			return;
		}

		$url = $server . '/' . $this->_maybe_queue( $service );

		self::debug( 'posting to : ' . $url );

		if ( $data ) {
			$data['service_type'] = $service; // For queue distribution usage
		}

		// Encrypt service as signature
		// $signature_ts = time();
		// $sign_data = [
		// 'service_tag' => $service_tag,
		// 'ts' => $signature_ts,
		// ];
		// $data['signature_b64'] = $this->_sign_b64(implode('', $sign_data));
		// $data['signature_ts'] = $signature_ts;

		self::debug( 'data', $data );
		$param = [
			'site_url'    => site_url(), // Need to use site_url() as WPML case may change home_url() for diff langs (no need to treat as alias for multi langs)
			'main_domain' => ! empty( $this->_summary['main_domain'] ) ? $this->_summary['main_domain'] : '',
			'wp_pk_b64'   => ! empty( $this->_summary['pk_b64'] ) ? $this->_summary['pk_b64'] : '',
			'ver'         => Core::VER,
			'data'        => $data,
		];

		self::save_summary( [ 'curr_request.' . $service_tag => time() ] );
		File::save( $this->_qc_time_file( $service_tag, 'curr' ), time(), true );

		$response = wp_safe_remote_post(
			$url,
			[
				'body'    => $param,
				'timeout' => $time_out ? $time_out : 30,
				'headers' => [
					'Accept' => 'application/json',
					'Expect' => '',
				],
			]
		);

		return $this->_parse_response( $response, $service, $service_tag, $server );
	}

	/**
	 * Parse response JSON
	 * Mark the request successful if the response status is ok
	 *
	 * @since  3.0
	 *
	 * @param array|mixed $response    WP HTTP API response.
	 * @param string      $service     Service name.
	 * @param string      $service_tag Service tag including action.
	 * @param string      $server      Server URL.
	 * @return array|false Parsed JSON array or false on failure.
	 */
	private function _parse_response( $response, $service, $service_tag, $server ) {
		// If show the error or not if failed
		$visible_err = self::API_VER !== $service && self::API_NEWS !== $service && self::SVC_D_DASH !== $service;

		if ( is_wp_error( $response ) ) {
			$error_message = $response->get_error_message();
			self::debug( 'failed to request: ' . $error_message );

			if ( $visible_err ) {
				$msg = esc_html__( 'Failed to request via WordPress', 'litespeed-cache' ) . ': ' . esc_html( $error_message ) . ' [server] ' . esc_html( $server ) . ' [service] ' . esc_html( $service );
				Admin_Display::error( $msg );

				// Tmp disabled this node from reusing in 1 day
				if ( empty( $this->_summary['disabled_node'] ) ) {
					$this->_summary['disabled_node'] = [];
				}
				$this->_summary['disabled_node'][ $server ] = time();
				self::save_summary();

				// Force redetect node
				self::debug( 'Node error, redetecting node [svc] ' . $service );
				$this->detect_cloud( $service, true );
			}
			return false;
		}

		$json = \json_decode( $response['body'], true );

		if ( ! is_array( $json ) ) {
			self::debugErr( 'failed to decode response json: ' . $response['body'] );

			if ( $visible_err ) {
				$msg = esc_html__( 'Failed to request via WordPress', 'litespeed-cache' ) . ': ' . esc_html( $response['body'] ) . ' [server] ' . esc_html( $server ) . ' [service] ' . esc_html( $service );
				Admin_Display::error( $msg );

				// Tmp disabled this node from reusing in 1 day
				if ( empty( $this->_summary['disabled_node'] ) ) {
					$this->_summary['disabled_node'] = [];
				}
				$this->_summary['disabled_node'][ $server ] = time();
				self::save_summary();

				// Force redetect node
				self::debugErr( 'Node error, redetecting node [svc] ' . $service );
				$this->detect_cloud( $service, true );
			}

			return false;
		}

		// Check and save TTL data
		if ( ! empty( $json['_ttl'] ) ) {
			$ttl = (int) $json['_ttl'];
			self::debug( 'Service TTL to save: ' . $ttl );
			if ( $ttl > 0 && $ttl < 86400 ) {
				self::save_summary([
					'ttl.' . $service_tag => $ttl + time(),
				]);
			}
		}

		if ( ! empty( $json['_code'] ) ) {
			self::debugErr( 'Hit err _code: ' . $json['_code'] );
			if ( 'unpulled_images' === $json['_code'] ) {
				$msg = __( 'Cloud server refused the current request due to unpulled images. Please pull the images first.', 'litespeed-cache' );
				Admin_Display::error( $msg );
				return false;
			}
			if ( 'blocklisted' === $json['_code'] ) {
				$msg = __( 'Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more.', 'litespeed-cache' );
				Admin_Display::error( $msg );
				return false;
			}

			if ( 'rate_limit' === $json['_code'] ) {
				self::debugErr( 'Cloud server rate limit exceeded.' );
				$msg = __( 'Cloud server refused the current request due to rate limiting. Please try again later.', 'litespeed-cache' );
				Admin_Display::error( $msg );
				return false;
			}

			if ( 'heavy_load' === $json['_code'] || 'redetect_node' === $json['_code'] ) {
				// Force redetect node
				self::debugErr( 'Node redetecting node [svc] ' . $service );
				Admin_Display::info( __( 'Redetected node', 'litespeed-cache' ) . ': ' . Error::msg( $json['_code'] ) );
				$this->detect_cloud( $service, true );
			}
		}

		if ( ! empty( $json['_503'] ) ) {
			self::debugErr( 'service 503 unavailable temporarily. ' . $json['_503'] );

			$msg  = __(
				'We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience.',
				'litespeed-cache'
			);
			$msg .= ' ' . $json['_503'] . ' [server] ' . esc_html( $server ) . ' [service] ' . esc_html( $service );
			Admin_Display::error( $msg );

			// Force redetect node
			self::debugErr( 'Node error, redetecting node [svc] ' . $service );
			$this->detect_cloud( $service, true );

			return false;
		}

		list( $json, $return ) = $this->extract_msg( $json, $service, $server );
		if ( $return ) {
			return false;
		}

		$curr_request = $this->_summary[ 'curr_request.' . $service_tag ];
		self::save_summary([
			'last_request.' . $service_tag => $curr_request,
			'curr_request.' . $service_tag => 0,
		]);
		File::save( $this->_qc_time_file( $service_tag ), $curr_request, true );
		File::save( $this->_qc_time_file( $service_tag, 'curr' ), 0, true );

		if ( $json ) {
			self::debug2( 'response ok', $json );
		} else {
			self::debug2( 'response ok' );
		}

		// Only successful request return Array
		return $json;
	}

	/**
	 * Extract msg from json
	 *
	 * @since 5.0
	 *
	 * @param array       $json        Response JSON.
	 * @param string      $service     Service name.
	 * @param string|bool $server      Server URL or false.
	 * @param bool        $is_callback Whether called from callback context.
	 * @return array Array with [json array, bool should_return_false]
	 */
	public function extract_msg( $json, $service, $server = false, $is_callback = false ) {
		if ( ! empty( $json['_info'] ) ) {
			self::debug( '_info: ' . $json['_info'] );
			$msg  = __( 'Message from QUIC.cloud server', 'litespeed-cache' ) . ': ' . $json['_info'];
			$msg .= $this->_parse_link( $json );
			Admin_Display::info( $msg );
			unset( $json['_info'] );
		}

		if ( ! empty( $json['_note'] ) ) {
			self::debug( '_note: ' . $json['_note'] );
			$msg  = __( 'Message from QUIC.cloud server', 'litespeed-cache' ) . ': ' . $json['_note'];
			$msg .= $this->_parse_link( $json );
			Admin_Display::note( $msg );
			unset( $json['_note'] );
		}

		if ( ! empty( $json['_success'] ) ) {
			self::debug( '_success: ' . $json['_success'] );
			$msg  = __( 'Good news from QUIC.cloud server', 'litespeed-cache' ) . ': ' . $json['_success'];
			$msg .= $this->_parse_link( $json );
			Admin_Display::success( $msg );
			unset( $json['_success'] );
		}

		// Upgrade is required
		if ( ! empty( $json['_err_req_v'] ) ) {
			self::debug( '_err_req_v: ' . $json['_err_req_v'] );
			$msg = sprintf( __( '%1$s plugin version %2$s required for this action.', 'litespeed-cache' ), Core::NAME, 'v' . $json['_err_req_v'] . '+' ) .
				' [server] ' . esc_html( $server ) . ' [service] ' . esc_html( $service );

			// Append upgrade link
			$msg2 = ' ' . GUI::plugin_upgrade_link( Core::NAME, Core::PLUGIN_NAME, $json['_err_req_v'] );

			$msg2 .= $this->_parse_link( $json );
			Admin_Display::error( $msg . $msg2 );
			return [ $json, true ];
		}

		// Parse _carry_on info
		if ( ! empty( $json['_carry_on'] ) ) {
			self::debug( 'Carry_on usage', $json['_carry_on'] );
			// Store generic info
			foreach ( [ 'usage', 'promo', 'mini_html', 'partner', '_error', '_info', '_note', '_success' ] as $v ) {
				if ( isset( $json['_carry_on'][ $v ] ) ) {
					switch ( $v ) {
						case 'usage':
                        $usage_svc_tag                               = in_array( $service, [ self::SVC_CCSS, self::SVC_UCSS, self::SVC_VPI ], true ) ? self::SVC_PAGE_OPTM : $service;
                        $this->_summary[ 'usage.' . $usage_svc_tag ] = $json['_carry_on'][ $v ];
							break;

						case 'promo':
                        if ( empty( $this->_summary[ $v ] ) || ! is_array( $this->_summary[ $v ] ) ) {
								$this->_summary[ $v ] = [];
							}
                        $this->_summary[ $v ][] = $json['_carry_on'][ $v ];
							break;

						case 'mini_html':
                        foreach ( $json['_carry_on'][ $v ] as $k2 => $v2 ) {
								if ( 0 === strpos( $k2, 'ttl.' ) ) {
                                $v2 += time();
									}
								$this->_summary[ $v ][ $k2 ] = $v2;
							}
							break;

						case 'partner':
                        $this->_summary[ $v ] = $json['_carry_on'][ $v ];
							break;

						case '_error':
						case '_info':
						case '_note':
						case '_success':
                        $color_mode = substr( $v, 1 );
                        $msgs       = $json['_carry_on'][ $v ];
                        Admin_Display::add_unique_notice( $color_mode, $msgs, true );
							break;

						default:
							break;
					}
				}
			}
			self::save_summary();
			unset( $json['_carry_on'] );
		}

		// Parse general error msg
		if ( ! $is_callback && ( empty( $json['_res'] ) || 'ok' !== $json['_res'] ) ) {
			$json_msg = ! empty( $json['_msg'] ) ? $json['_msg'] : 'unknown';
			self::debug( '❌ _err: ' . $json_msg, $json );

			$str_translated = Error::msg( $json_msg );
			$msg            = __( 'Failed to communicate with QUIC.cloud server', 'litespeed-cache' ) . ': ' . $str_translated . ' [server] ' . esc_html( $server ) . ' [service] ' . esc_html( $service );
			$msg           .= $this->_parse_link( $json );
			$visible_err    = self::API_VER !== $service && self::API_NEWS !== $service && self::SVC_D_DASH !== $service;
			if ( $visible_err ) {
				Admin_Display::error( $msg );
			}

			// QC may try auto alias
			// Store the domain as `err_domains` only for QC auto alias feature
			if ( 'err_alias' === $json_msg ) {
				if ( empty( $this->_summary['err_domains'] ) ) {
					$this->_summary['err_domains'] = [];
				}
				$site_url = site_url();
				if ( ! array_key_exists( $site_url, $this->_summary['err_domains'] ) ) {
					$this->_summary['err_domains'][ $site_url ] = time();
				}
				self::save_summary();
			}

			// Site not on QC, reset QC connection registration
			if ( 'site_not_registered' === $json_msg || 'err_key' === $json_msg ) {
				$this->_reset_qc_reg();
			}

			return [ $json, true ];
		}

		unset( $json['_res'] );
		if ( ! empty( $json['_msg'] ) ) {
			unset( $json['_msg'] );
		}

		return [ $json, false ];
	}

	/**
	 * Clear QC linked status
	 *
	 * @since 5.0
	 */
	private function _reset_qc_reg() {
		unset( $this->_summary['qc_activated'] );
		if ( ! empty( $this->_summary['partner'] ) ) {
			unset( $this->_summary['partner'] );
		}
		self::save_summary();

		$msg = $this->_reset_qc_reg_content();
		Admin_Display::error( $msg, false, true );
	}

	/**
	 * Build reset QC registration content.
	 *
	 * @since 7.0
	 * @return string
	 */
	private function _reset_qc_reg_content() {
		$msg  = __( 'Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account.', 'litespeed-cache' );
		$msg .= Doc::learn_more( admin_url( 'admin.php?page=litespeed' ), __( 'Click here to proceed.', 'litespeed-cache' ), true, false, true );
		$msg .= Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/', false, false, false, true );
		return $msg;
	}

	/**
	 * Clear reset QC reg msg if exist
	 *
	 * @since 7.0
	 */
	private function _clear_reset_qc_reg_msg() {
		self::debug( 'Removed pinned reset QC reg content msg' );
		$msg = $this->_reset_qc_reg_content();
		Admin_Display::dismiss_pin_by_content( $msg, Admin_Display::NOTICE_RED, true );
	}

	/**
	 * REST call: check if the error domain is valid call for auto alias purpose
	 *
	 * @since 5.0
	 */
	public function rest_err_domains() {
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		$alias = !empty( $_POST['alias'] ) ? sanitize_text_field( wp_unslash( $_POST['alias'] ) ) : '';
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		if ( empty( $_POST['main_domain'] ) || !$alias ) {
			return self::err( 'lack_of_param' );
		}

		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		$this->extract_msg( $_POST, 'Quic.cloud', false, true );

		if ( $this->_is_err_domain( $alias ) ) {
			if ( site_url() === $alias ) {
				$this->_remove_domain_from_err_list( $alias );
			}
			return self::ok();
		}

		return self::err( 'Not an alias req from here' );
	}

	/**
	 * Remove a domain from err domain
	 *
	 * @since 5.0
	 *
	 * @param string $url URL to remove.
	 */
	private function _remove_domain_from_err_list( $url ) {
		unset( $this->_summary['err_domains'][ $url ] );
		self::save_summary();
	}

	/**
	 * Check if is err domain
	 *
	 * @since 5.0
	 *
	 * @param string $site_url Site URL.
	 * @return bool
	 */
	private function _is_err_domain( $site_url ) {
		if ( empty( $this->_summary['err_domains'] ) ) {
			return false;
		}
		if ( ! array_key_exists( $site_url, $this->_summary['err_domains'] ) ) {
			return false;
		}
		// Auto delete if too long ago
		if ( time() - (int) $this->_summary['err_domains'][ $site_url ] > 86400 * 10 ) {
			$this->_remove_domain_from_err_list( $site_url );

			return false;
		}
		if ( time() - (int) $this->_summary['err_domains'][ $site_url ] > 86400 ) {
			return false;
		}
		return true;
	}

	/**
	 * Show promo from cloud
	 *
	 * @since  3.0
	 * @access public
	 */
	public function show_promo() {
		if ( empty( $this->_summary['promo'] ) ) {
			return;
		}

		require_once LSCWP_DIR . 'tpl/banner/cloud_promo.tpl.php';
	}

	/**
	 * Clear promo from cloud
	 *
	 * @since  3.0
	 * @access private
	 */
	private function _clear_promo() {
		if ( count( $this->_summary['promo'] ) > 1 ) {
			array_shift( $this->_summary['promo'] );
		} else {
			$this->_summary['promo'] = [];
		}
		self::save_summary();
	}

	/**
	 * Parse _links from json
	 *
	 * @since  1.6.5
	 * @since  1.6.7 Self clean the parameter
	 * @access private
	 *
	 * @param array $json JSON array (passed by reference).
	 * @return string HTML link string.
	 */
	private function _parse_link( &$json ) {
		$msg = '';

		if ( ! empty( $json['_links'] ) ) {
			foreach ( $json['_links'] as $v ) {
				$msg .= ' ' . sprintf( '<a href="%s" class="%s" target="_blank">%s</a>', esc_url( $v['link'] ), ! empty( $v['cls'] ) ? esc_attr( $v['cls'] ) : '', esc_html( $v['title'] ) );
			}

			unset( $json['_links'] );
		}

		return $msg;
	}

	/**
	 * Request callback validation from Cloud
	 *
	 * @since  3.0
	 * @access public
	 */
	public function ip_validate() {
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		$hash = ! empty( $_POST['hash'] ) ? sanitize_text_field( wp_unslash( $_POST['hash'] ) ) : '';
		if ( !$hash ) {
			return self::err( 'lack_of_params' );
		}

		if ( md5( substr( $this->_summary['pk_b64'], 0, 4 ) ) !== $hash ) {
			self::debug( '__callback IP request decryption failed' );
			return self::err( 'err_hash' );
		}

		Control::set_nocache( 'Cloud IP hash validation' );

		$resp_hash = md5( substr( $this->_summary['pk_b64'], 2, 4 ) );

		self::debug( '__callback IP request hash: ' . $resp_hash );

		return self::ok( [ 'hash' => $resp_hash ] );
	}

	/**
	 * Check if this visit is from cloud or not
	 *
	 * @since  3.0
	 */
	public function is_from_cloud() {
		$check_point = time() - 86400 * self::TTL_IPS;
		if ( empty( $this->_summary['ips'] ) || empty( $this->_summary['ips_ts'] ) || $this->_summary['ips_ts'] < $check_point ) {
			self::debug( 'Force updating ip as ips_ts is older than ' . self::TTL_IPS . ' days' );
			$this->_update_ips();
		}

		$res = $this->cls( 'Router' )->ip_access( $this->_summary['ips'] );
		if ( ! $res ) {
			self::debug( '❌ Not our cloud IP' );

			// Auto check ip list again but need an interval limit safety.
			if ( empty( $this->_summary['ips_ts_runner'] ) || time() - (int) $this->_summary['ips_ts_runner'] > 600 ) {
				self::debug( 'Force updating ip as ips_ts_runner is older than 10mins' );
				// Refresh IP list for future detection
				$this->_update_ips();
				$res = $this->cls( 'Router' )->ip_access( $this->_summary['ips'] );
				if ( ! $res ) {
					self::debug( '❌ 2nd time: Not our cloud IP' );
				} else {
					self::debug( '✅ Passed Cloud IP verification' );
				}
				return $res;
			}
		} else {
			self::debug( '✅ Passed Cloud IP verification' );
		}

		return $res;
	}

	/**
	 * Update Cloud IP list
	 *
	 * @since 4.2
	 *
	 * @throws \Exception When fetching whitelist fails.
	 */
	private function _update_ips() {
		self::debug( 'Load remote Cloud IP list from ' . $this->_cloud_ips );
		// Prevent multiple call in a short period
		self::save_summary([
				'ips_ts'        => time(),
				'ips_ts_runner' => time(),
		]);

		$response = wp_safe_remote_get( $this->_cloud_ips . '?json' );
		if ( is_wp_error( $response ) ) {
			$error_message = $response->get_error_message();
			self::debug( 'failed to get ip whitelist: ' . $error_message );
			throw new \Exception( 'Failed to fetch QUIC.cloud whitelist ' . esc_html($error_message) );
		}

		$json = \json_decode( $response['body'], true );

		self::debug( 'Load ips', $json );
		self::save_summary( [ 'ips' => $json ] );
	}

	/**
	 * Return succeeded response
	 *
	 * @since  3.0
	 *
	 * @param array $data Additional data.
	 * @return array
	 */
	public static function ok( $data = [] ) {
		$data['_res'] = 'ok';
		return $data;
	}

	/**
	 * Return error
	 *
	 * @since  3.0
	 *
	 * @param string $code Error code.
	 * @return array
	 */
	public static function err( $code ) {
		self::debug( '❌ Error response code: ' . $code );
		return [
			'_res' => 'err',
			'_msg' => $code,
		];
	}

	/**
	 * Return pong for ping to check PHP function availability
	 *
	 * @since 6.5
	 *
	 * @return array
	 */
	public function ping() {
		$resp = [
			'v_lscwp'     => Core::VER,
			'v_lscwp_db'  => $this->conf( self::_VER ),
			'v_php'       => PHP_VERSION,
			'v_wp'        => $GLOBALS['wp_version'],
			'home_url'    => home_url(),
			'site_url'    => site_url(),
		];
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		if ( ! empty( $_POST['funcs'] ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
			foreach ( wp_unslash($_POST['funcs']) as $v ) {
				$resp[ $v ] = function_exists( $v ) ? 'y' : 'n';
			}
		}
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		if ( ! empty( $_POST['classes'] ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
			foreach ( wp_unslash($_POST['classes']) as $v ) {
				$resp[ $v ] = class_exists( $v ) ? 'y' : 'n';
			}
		}
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		if ( ! empty( $_POST['consts'] ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
			foreach ( wp_unslash($_POST['consts']) as $v ) {
				$resp[ $v ] = defined( $v ) ? 'y' : 'n';
			}
		}
		return self::ok( $resp );
	}

	/**
	 * Display a banner for dev env if using preview QC node.
	 *
	 * @since 7.0
	 */
	public function maybe_preview_banner() {
		if ( false !== strpos( $this->_cloud_server, 'preview.' ) ) {
			Admin_Display::note( __( 'Linked to QUIC.cloud preview environment, for testing purpose only.', 'litespeed-cache' ), true, true, 'litespeed-warning-bg' );
		}
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * @since  3.0
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_CLEAR_CLOUD:
            $this->clear_cloud();
				break;

			case self::TYPE_REDETECT_CLOUD:
            // phpcs:ignore WordPress.Security.NonceVerification.Recommended
            $svc = ! empty( $_GET['svc'] ) ? sanitize_text_field( wp_unslash( $_GET['svc'] ) ) : '';
            if ( $svc ) {
					$this->detect_cloud( $svc, true );
				}
				break;

			case self::TYPE_CLEAR_PROMO:
            $this->_clear_promo();
				break;

			case self::TYPE_RESET:
            $this->reset_qc();
				break;

			case self::TYPE_ACTIVATE:
            $this->init_qc();
				break;

			case self::TYPE_LINK:
            $this->link_qc();
				break;

			case self::TYPE_ENABLE_CDN:
            $this->enable_cdn();
				break;

			case self::TYPE_API:
            // phpcs:ignore WordPress.Security.NonceVerification.Recommended
            $action2 = ! empty( $_GET['action2'] ) ? sanitize_text_field( wp_unslash( $_GET['action2'] ) ) : '';
            if ( $action2 ) {
					$this->api_link_call( $action2 );
				}
				break;

			case self::TYPE_SYNC_STATUS:
            $this->load_qc_status_for_dash( 'cdn_dash', true );
            $msg = __( 'Sync QUIC.cloud status successfully.', 'litespeed-cache' );
            Admin_Display::success( $msg );
				break;

			case self::TYPE_SYNC_USAGE:
            $this->sync_usage();

            $msg = __( 'Sync credit allowance with Cloud Server successfully.', 'litespeed-cache' );
            Admin_Display::success( $msg );
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\�y�e=e=#litespeed-cache/src/db-optm.cls.phpnu�[���<?php
/**
 * The admin optimize tool.
 *
 * @package LiteSpeed
 * @since 1.2.1
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Database optimization utilities for LiteSpeed.
 */
class DB_Optm extends Root {

	/**
	 * Whether there are more sites hidden in multisite counts.
	 *
	 * @var bool
	 */
	private static $_hide_more = false;

	/**
	 * Supported cleanup types.
	 *
	 * @var string[]
	 */
	private static $types = [
		'revision',
		'orphaned_post_meta',
		'auto_draft',
		'trash_post',
		'spam_comment',
		'trash_comment',
		'trackback-pingback',
		'expired_transient',
		'all_transients',
		'optimize_tables',
	];

	/**
	 * Convert tables to InnoDB type identifier.
	 */
	const TYPE_CONV_TB = 'conv_innodb';

	/**
	 * Show if there are more sites in hidden.
	 *
	 * @since 3.0
	 * @return bool
	 */
	public static function hide_more() {
		return self::$_hide_more;
	}

	/**
	 * Clean/Optimize WP tables.
	 *
	 * @since 1.2.1
	 * @access public
	 * @param string $type             The type to clean.
	 * @param bool   $ignore_multisite If ignoring multisite check.
	 * @return int|string The rows that will be affected, or '-' on unknown.
	 */
	public function db_count( $type, $ignore_multisite = false ) {
		if ( 'all' === $type ) {
			$num = 0;
			foreach ( self::$types as $v ) {
				$num += (int) $this->db_count( $v );
			}
			return $num;
		}

		if ( ! $ignore_multisite ) {
			if ( is_multisite() && is_network_admin() ) {
				$num   = 0;
				$blogs = Activation::get_network_ids();
				foreach ( $blogs as $k => $blog_id ) {
					if ( $k > 3 ) {
						self::$_hide_more = true;
						break;
					}

					switch_to_blog( $blog_id );
					$num += (int) $this->db_count( $type, true );
					restore_current_blog();
				}
				return $num;
			}
		}

		global $wpdb;

		switch ( $type ) {
			case 'revision':
            $rev_max = (int) $this->conf( Base::O_DB_OPTM_REVISIONS_MAX );
            $rev_age = (int) $this->conf( Base::O_DB_OPTM_REVISIONS_AGE );

            $sql_add = '';
            if ( $rev_age ) {
					$sql_add = $wpdb->prepare( ' AND post_modified < DATE_SUB( NOW(), INTERVAL %d DAY ) ', $rev_age );
				}

            $sql = "SELECT COUNT(*) FROM `$wpdb->posts` WHERE post_type = 'revision' $sql_add";
            if ( ! $rev_max ) {
					// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
					return (int) $wpdb->get_var( $sql );
				}

            // Has count limit.
            $sql = "SELECT COUNT(*) - %d FROM `$wpdb->posts` WHERE post_type = 'revision' $sql_add GROUP BY post_parent HAVING COUNT(*) > %d";
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
            $res = (array) $wpdb->get_results( $wpdb->prepare( $sql, $rev_max, $rev_max ), ARRAY_N );

        Utility::compatibility();
				return array_sum( array_column( $res, 0 ) );

			case 'orphaned_post_meta':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				return (int) $wpdb->get_var( "SELECT COUNT(*) FROM `$wpdb->postmeta` a LEFT JOIN `$wpdb->posts` b ON b.ID=a.post_id WHERE b.ID IS NULL" );

			case 'auto_draft':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				return (int) $wpdb->get_var( "SELECT COUNT(*) FROM `$wpdb->posts` WHERE post_status = 'auto-draft'" );

			case 'trash_post':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				return (int) $wpdb->get_var( "SELECT COUNT(*) FROM `$wpdb->posts` WHERE post_status = 'trash'" );

			case 'spam_comment':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				return (int) $wpdb->get_var( "SELECT COUNT(*) FROM `$wpdb->comments` WHERE comment_approved = 'spam'" );

			case 'trash_comment':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				return (int) $wpdb->get_var( "SELECT COUNT(*) FROM `$wpdb->comments` WHERE comment_approved = 'trash'" );

			case 'trackback-pingback':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				return (int) $wpdb->get_var( "SELECT COUNT(*) FROM `$wpdb->comments` WHERE comment_type = 'trackback' OR comment_type = 'pingback'" );

			case 'expired_transient':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				return (int) $wpdb->get_var(
					$wpdb->prepare(
						"SELECT COUNT(*) FROM `$wpdb->options` WHERE option_name LIKE %s AND option_value < %d",
						$wpdb->esc_like( '_transient_timeout_' ) . '%',
						time()
					)
				);

			case 'all_transients':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				return (int) $wpdb->get_var(
					$wpdb->prepare(
						"SELECT COUNT(*) FROM `$wpdb->options` WHERE option_name LIKE %s",
						$wpdb->esc_like( '_transient_' ) . '%'
					)
				);

			case 'optimize_tables':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				return (int) $wpdb->get_var(
					$wpdb->prepare(
						"SELECT COUNT(*) FROM information_schema.tables WHERE TABLE_SCHEMA = %s AND ENGINE <> 'InnoDB' AND DATA_FREE > 0",
						DB_NAME
					)
				);
		}

		return '-';
	}

	/**
	 * Clean/Optimize WP tables.
	 *
	 * @since 1.2.1
	 * @since 3.0 changed to private
	 * @access private
	 * @param string $type Cleanup type.
	 * @return string Status message.
	 */
	private function _db_clean( $type ) {
		if ( 'all' === $type ) {
			foreach ( self::$types as $v ) {
				$this->_db_clean( $v );
			}
			return __( 'Clean all successfully.', 'litespeed-cache' );
		}

		global $wpdb;

		switch ( $type ) {
			case 'revision':
            $rev_max = (int) $this->conf( Base::O_DB_OPTM_REVISIONS_MAX );
            $rev_age = (int) $this->conf( Base::O_DB_OPTM_REVISIONS_AGE );

            $postmeta = "`$wpdb->postmeta`";
            $posts    = "`$wpdb->posts`";

            $sql_postmeta_join = function ( $table ) use ( $postmeta, $posts ) {
					return "
						$postmeta
						CROSS JOIN $table
						ON $posts.ID = $postmeta.post_id
					";
				};

				$sql_where = "WHERE $posts.post_type = 'revision'";

				// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
				$sql_add = $rev_age ? $wpdb->prepare( ' AND ' . $posts . '.post_modified < DATE_SUB( NOW(), INTERVAL %d DAY )', $rev_age ) : '';

				if ( ! $rev_max ) {
					$sql_where    = "$sql_where $sql_add";
					$sql_postmeta = $sql_postmeta_join( $posts );
					// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
					$wpdb->query( "DELETE $postmeta FROM $sql_postmeta $sql_where" );
					// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
					$wpdb->query( "DELETE FROM $posts $sql_where" );
				} else {
					// Has count limit.
					$sql = "
						SELECT COUNT(*) - %d
						AS del_max, post_parent
						FROM $posts
						WHERE post_type = 'revision'
						$sql_add
						GROUP BY post_parent
						HAVING COUNT(*) > %d
					";
					// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
					$res          = (array) $wpdb->get_results( $wpdb->prepare( $sql, $rev_max, $rev_max ) );
					$sql_where    = "
						$sql_where
						AND post_parent = %d
						ORDER BY ID
						LIMIT %d
					";
					$sql_postmeta = $sql_postmeta_join( "(SELECT ID FROM $posts $sql_where) AS $posts" );
					foreach ( $res as $v ) {
						$args = [ (int) $v->post_parent, (int) $v->del_max ];
						// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare
						$wpdb->query( $wpdb->prepare( "DELETE $postmeta FROM $sql_postmeta", $args ) );
						// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare
						$wpdb->query( $wpdb->prepare( "DELETE FROM $posts $sql_where", $args ) );
					}
				}

				return __( 'Clean post revisions successfully.', 'litespeed-cache' );

			case 'orphaned_post_meta':
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$wpdb->query( "DELETE a FROM `$wpdb->postmeta` a LEFT JOIN `$wpdb->posts` b ON b.ID=a.post_id WHERE b.ID IS NULL" );
				return __( 'Clean orphaned post meta successfully.', 'litespeed-cache' );

			case 'auto_draft':
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$wpdb->query( "DELETE FROM `$wpdb->posts` WHERE post_status = 'auto-draft'" );
				return __( 'Clean auto drafts successfully.', 'litespeed-cache' );

			case 'trash_post':
            // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
            $wpdb->query( "DELETE FROM `$wpdb->posts` WHERE post_status = 'trash'" );
				return __( 'Clean trashed posts and pages successfully.', 'litespeed-cache' );

			case 'spam_comment':
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$wpdb->query( "DELETE FROM `$wpdb->comments` WHERE comment_approved = 'spam'" );
				return __( 'Clean spam comments successfully.', 'litespeed-cache' );

			case 'trash_comment':
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$wpdb->query( "DELETE FROM `$wpdb->comments` WHERE comment_approved = 'trash'" );
				return __( 'Clean trashed comments successfully.', 'litespeed-cache' );

			case 'trackback-pingback':
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$wpdb->query( "DELETE FROM `$wpdb->comments` WHERE comment_type = 'trackback' OR comment_type = 'pingback'" );
				return __( 'Clean trackbacks and pingbacks successfully.', 'litespeed-cache' );

			case 'expired_transient':
			$keys_to_delete = [];
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$transients = $wpdb->get_results(
				$wpdb->prepare(
					"SELECT option_name FROM `$wpdb->options` WHERE option_name LIKE %s AND option_value < %d",
					$wpdb->esc_like( '_transient_timeout_' ) . '%',
					time()
				),
			);
			foreach ( $transients as $transient ) {
				$keys_to_delete[] = $transient->option_name;
				$keys_to_delete[] = str_replace( '_transient_timeout_', '_transient_', $transient->option_name );
			}

			if ( ! empty( $keys_to_delete ) ) {
				$placeholders = implode( ',', array_fill( 0, count( $keys_to_delete ), '%s' )  );
				// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
				$wpdb->query(
					$wpdb->prepare(
						// phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
						"DELETE FROM `$wpdb->options` WHERE option_name IN ( $placeholders )",
						$keys_to_delete
					)
				);
			}
				return __( 'Clean expired transients successfully.', 'litespeed-cache' );

			case 'all_transients':
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$wpdb->query(
				$wpdb->prepare(
					"DELETE FROM `$wpdb->options` WHERE option_name LIKE %s",
					$wpdb->esc_like( '_transient_' ) . '%'
				)
			);
				return __( 'Clean all transients successfully.', 'litespeed-cache' );

			case 'optimize_tables':
			// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$result = (array) $wpdb->get_results(
				$wpdb->prepare(
					"SELECT table_name, DATA_FREE FROM information_schema.tables WHERE TABLE_SCHEMA = %s AND ENGINE <> 'InnoDB' AND DATA_FREE > 0",
					DB_NAME
				)
			);
			if ( $result ) {
				foreach ( $result as $row ) {
					// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
					$wpdb->query( 'OPTIMIZE TABLE ' . esc_sql( $row->table_name ) );
				}
			}
				return __( 'Optimized all tables.', 'litespeed-cache' );
		}
	}

	/**
	 * Get all MyISAM tables.
	 *
	 * @since 3.0
	 * @access public
	 * @return array
	 */
	public function list_myisam() {
		global $wpdb;

		$like = $wpdb->esc_like( $wpdb->prefix ) . '%';

		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
		return (array) $wpdb->get_results(
			$wpdb->prepare(
				"SELECT TABLE_NAME as table_name, ENGINE as engine
				 FROM information_schema.tables
				 WHERE TABLE_SCHEMA = %s AND ENGINE = 'myisam' AND TABLE_NAME LIKE %s",
				DB_NAME,
				$like
			)
		);
	}

	/**
	 * Convert tables to InnoDB.
	 *
	 * @since 3.0
	 * @access private
	 * @return void
	 */
	private function _conv_innodb() {
		global $wpdb;

		$tb_param = isset( $_GET['litespeed_tb'] ) ? sanitize_text_field( wp_unslash( $_GET['litespeed_tb'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended

		if ( ! $tb_param ) {
			Admin_Display::error( 'No table to convert or invalid nonce' );
			return;
		}

		$tb    = false;
		$list  = $this->list_myisam();
		$names = wp_list_pluck( $list, 'table_name' );

		if ( in_array( $tb_param, $names, true ) ) {
			$tb = $tb_param;
		}

		if ( ! $tb ) {
			Admin_Display::error( 'No existing table' );
			return;
		}

		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.SchemaChange
		$wpdb->query( 'ALTER TABLE ' . esc_sql( DB_NAME ) . '.' . esc_sql( $tb ) . ' ENGINE = InnoDB' );

		Debug2::debug( "[DB] Converted $tb to InnoDB" );

		$msg = __( 'Converted to InnoDB successfully.', 'litespeed-cache' );
		Admin_Display::success( $msg );
	}

	/**
	 * Count all autoload size.
	 *
	 * @since 3.0
	 * @access public
	 * @return object Summary with size, entries, and toplist.
	 */
	public function autoload_summary() {
		global $wpdb;

		$autoload_values = function_exists( 'wp_autoload_values_to_autoload' ) ? wp_autoload_values_to_autoload() : [ 'yes', 'on', 'auto-on', 'auto' ];
		$placeholders    = implode( ',', array_fill( 0, count( $autoload_values ), '%s' ) );

		// phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare
		$summary = $wpdb->get_row(
			$wpdb->prepare(
				"SELECT SUM(LENGTH(option_value)) AS autoload_size, COUNT(*) AS autload_entries
				 FROM `$wpdb->options`
				 WHERE autoload IN ($placeholders)",
				$autoload_values
			)
		);

		// phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare
		$summary->autoload_toplist = $wpdb->get_results(
			$wpdb->prepare(
				"SELECT option_name, LENGTH(option_value) AS option_value_length, autoload
				 FROM `$wpdb->options`
				 WHERE autoload IN ($placeholders)
				 ORDER BY option_value_length DESC
				 LIMIT 20",
				$autoload_values
			)
		);

		return $summary;
	}

	/**
	 * Handle all request actions from main cls.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ($type) {
			case self::TYPE_CONV_TB:
			$this->_conv_innodb();
				break;

			default:
				if ( 'all' === $type || in_array( $type, self::$types, true ) ) {
					if ( is_multisite() && is_network_admin() ) {
						$blogs = Activation::get_network_ids();
						foreach ( $blogs as $blog_id ) {
							switch_to_blog( $blog_id );
							$msg = $this->_db_clean( $type );
							restore_current_blog();
						}
					} else {
						$msg = $this->_db_clean( $type );
					}
					Admin_Display::success( $msg );
				}
				break;
		}

		Admin::redirect();
	}

	/**
	 * Clean DB via WP-CLI.
	 *
	 * @since 7.0
	 * @access public
	 * @param string $args Cleanup type.
	 * @return string|false
	 */
	public function handler_clean_db_cli( $args ) {
		if ( defined( 'WP_CLI' ) && constant('WP_CLI') ) {
			return $this->_db_clean( $args );
		}

		return false;
	}
}
PK�^�\��C&&!litespeed-cache/src/admin.cls.phpnu�[���<?php
/**
 * The admin-panel specific functionality of the plugin.
 *
 * @since      1.0.0
 * @package    LiteSpeed_Cache
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Admin
 *
 * Wires admin-side hooks, actions, and safe redirects.
 */
class Admin extends Root {

	const LOG_TAG = '👮';

	const PAGE_EDIT_HTACCESS = 'litespeed-edit-htaccess';

	/**
	 * Initialize the class and set its properties.
	 * Runs in hook `after_setup_theme` when is_admin().
	 *
	 * @since 1.0.0
	 */
	public function __construct() {
		// Define LSCWP_MU_PLUGIN if in mu-plugins.
		if ( defined( 'WPMU_PLUGIN_DIR' ) && dirname( LSCWP_DIR ) === WPMU_PLUGIN_DIR && ! defined( 'LSCWP_MU_PLUGIN' ) ) {
			define( 'LSCWP_MU_PLUGIN', true );
		}

		self::debug( 'No cache due to Admin page' );

		if ( ! defined( 'DONOTCACHEPAGE' ) ) {
			define( 'DONOTCACHEPAGE', true );
		}

		// Additional LiteSpeed assets on admin display (also registers menus).
		$this->cls( 'Admin_Display' );

		// Initialize admin actions.
		add_action( 'admin_init', [ $this, 'admin_init' ] );

		// Add link to plugin list page.
		add_filter(
			'plugin_action_links_' . LSCWP_BASENAME,
			[ $this->cls( 'Admin_Display' ), 'add_plugin_links' ]
		);
	}

	/**
	 * Callback that initializes the admin options for LiteSpeed Cache.
	 *
	 * @since 1.0.0
	 * @return void
	 */
	public function admin_init() {
		// Hook attachment upload auto optimization.
		if ( $this->conf( Base::O_IMG_OPTM_AUTO ) ) {
			add_filter( 'wp_update_attachment_metadata', [ $this, 'wp_update_attachment_metadata' ], 9999, 2 );
		}

		$this->_proceed_admin_action();

		// Terminate if user doesn't have access to settings.
		$capability = is_network_admin() ? 'manage_network_options' : 'manage_options';
		if ( ! current_user_can( $capability ) ) {
			return;
		}

		// Add privacy policy (since 2.2.6).
		if ( function_exists( 'wp_add_privacy_policy_content' ) ) {
			wp_add_privacy_policy_content( Core::NAME, Doc::privacy_policy() );
		}

		$this->cls( 'Media' )->after_admin_init();

		do_action( 'litespeed_after_admin_init' );

		if ( $this->cls( 'Router' )->esi_enabled() ) {
			add_action( 'in_widget_form', [ $this->cls( 'Admin_Display' ), 'show_widget_edit' ], 100, 3 );
			add_filter( 'widget_update_callback', __NAMESPACE__ . '\Admin_Settings::validate_widget_save', 10, 4 );
		}
	}

	/**
	 * Handle attachment metadata update.
	 *
	 * @since 4.0
	 *
	 * @param array $data    Attachment meta.
	 * @param int   $post_id Attachment ID.
	 * @return array Filtered meta.
	 */
	public function wp_update_attachment_metadata( $data, $post_id ) {
		$this->cls( 'Img_Optm' )->wp_update_attachment_metadata( $data, $post_id );
		return $data;
	}

	/**
	 * Run LiteSpeed admin actions routed via Router.
	 *
	 * @since 1.1.0
	 * @return void
	 */
	private function _proceed_admin_action() {
		$action = Router::get_action();

		switch ( $action ) {
			case Router::ACTION_SAVE_SETTINGS:
				$this->cls( 'Admin_Settings' )->save( wp_unslash( $_POST ) ); // phpcs:ignore WordPress.Security.NonceVerification.Missing
				break;

			case Router::ACTION_SAVE_SETTINGS_NETWORK:
				$this->cls( 'Admin_Settings' )->network_save( wp_unslash( $_POST ) ); // phpcs:ignore WordPress.Security.NonceVerification.Missing
				break;

			default:
				break;
		}
	}

	/**
	 * Clean up the input (array or scalar) of any extra slashes/spaces.
	 *
	 * @since 1.0.4
	 *
	 * @param mixed $input The input value to clean.
	 * @return mixed Cleaned value.
	 */
	public static function cleanup_text( $input ) {
		if ( is_array( $input ) ) {
			return array_map( __CLASS__ . '::cleanup_text', $input );
		}

		return stripslashes(trim($input));
	}

	/**
	 * After a LSCWP_CTRL action, redirect back to same page
	 * without nonce and action in the query string.
	 *
	 * If the redirect URL cannot be determined, redirects to the homepage.
	 *
	 * @since 1.0.12
	 *
	 * @param string|false $url Optional destination URL.
	 * @return void
	 */
	public static function redirect( $url = false ) {
		global $pagenow;

		// If originated, go back to referrer or home.
		if ( ! empty( $_GET['_litespeed_ori'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			$ref = wp_get_referer();
			wp_safe_redirect( $ref ? $ref : get_home_url() );
			exit;
		}

		if ( ! $url ) {
			$clean = [];

			// Sanitize current query args while removing our internals.
			if ( ! empty( $_GET ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
				foreach ( $_GET as $k => $v ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
					if ( in_array( $k, [ Router::ACTION, Router::NONCE, Router::TYPE, 'litespeed_i', 'litespeed_tb' ], true ) ) {
						continue;
					}
					// Normalize to string for URL building.
					$clean[ $k ] = is_array( $v ) ? array_map( 'sanitize_text_field', wp_unslash( $v ) ) : sanitize_text_field( wp_unslash( $v ) );
				}
			}

			$qs = '';
			if ( ! empty( $clean ) ) {
				$qs = '?' . http_build_query( $clean );
			}

			$url = is_network_admin() ? network_admin_url( $pagenow . $qs ) : admin_url( $pagenow . $qs );
		}

		wp_safe_redirect( $url );
		exit;
	}
}
PK�^�\�9_RURU litespeed-cache/src/vary.cls.phpnu�[���<?php
/**
 * Manage the X-LiteSpeed-Vary behavior and vary cookie.
 *
 * @since   1.1.3
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Handles detection of user state (guest, logged-in, commenter, etc.)
 * and builds the X-LiteSpeed-Vary header and vary cookie accordingly.
 */
class Vary extends Root {

	/**
	 * Log tag used in debug output.
	 *
	 * @var string
	 */
	const LOG_TAG = '🔱';

	/**
	 * Vary header name.
	 *
	 * @var string
	 */
	const X_HEADER = 'X-LiteSpeed-Vary';

	/**
	 * Default vary cookie name (used for logged-in/commenter state).
	 *
	 * @var string
	 */
	private static $_vary_name = '_lscache_vary';

	/**
	 * Whether Ajax calls are permitted to change the vary cookie.
	 *
	 * @var bool
	 */
	private static $_can_change_vary = false;

	/**
	 * Update the default vary cookie name if site settings require it.
	 *
	 * @since 4.0
	 * @since 7.0 Moved to after_user_init to allow ESI no-vary no conflict.
	 * @return void
	 */
	private function _update_vary_name() {
		$db_cookie = $this->conf( Base::O_CACHE_LOGIN_COOKIE ); // network aware in v3.0.

		// If no vary set in rewrite rule.
		if ( ! isset( $_SERVER['LSCACHE_VARY_COOKIE'] ) ) {
			if ( $db_cookie ) {
				// Check for ESI no-vary control.
				$something_wrong = true;

				if ( ! empty( $_GET[ ESI::QS_ACTION ] ) && ! empty( $_GET['_control'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
					$control_raw = wp_unslash( (string) $_GET['_control'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
					$control     = array_map( 'sanitize_text_field', explode( ',', $control_raw ) );
					if ( in_array( 'no-vary', $control, true ) ) {
						self::debug( 'no-vary control existed, bypass vary_name update' );
						$something_wrong  = false;
						self::$_vary_name = $db_cookie;
					}
				}

				if ( defined( 'LITESPEED_CLI' ) || wp_doing_cron() ) {
					$something_wrong = false;
				}

				if ( $something_wrong ) {
					// Display cookie error msg to admin.
					if ( is_multisite() ? is_network_admin() : is_admin() ) {
						Admin_Display::show_error_cookie();
					}
					Control::set_nocache( '❌❌ vary cookie setting error' );
				}
			}
			return;
		}

		// DB setting does not exist – nothing to check.
		if ( ! $db_cookie ) {
			return;
		}

		// Beyond this point, ensure DB vary is present in $_SERVER env.
		$server_raw = wp_unslash( (string) $_SERVER['LSCACHE_VARY_COOKIE'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
		$vary_arr   = array_map( 'trim', explode( ',', $server_raw ) );

		if ( in_array( $db_cookie, $vary_arr, true ) ) {
			self::$_vary_name = $db_cookie;
			return;
		}

		if ( is_multisite() ? is_network_admin() : is_admin() ) {
			Admin_Display::show_error_cookie();
		}
		Control::set_nocache( 'vary cookie setting lost error' );
	}

	/**
	 * Run after user init to set up vary/caching for current request.
	 *
	 * @since 4.0
	 * @return void
	 */
	public function after_user_init() {
		$this->_update_vary_name();

		// Logged-in user.
		if ( Router::is_logged_in() ) {
			// If not ESI, check cache logged-in user setting.
			if ( ! $this->cls( 'Router' )->esi_enabled() ) {
				// Cache logged-in => private cache.
				if ( $this->conf( Base::O_CACHE_PRIV ) && ! is_admin() ) {
					add_action( 'wp_logout', __NAMESPACE__ . '\Purge::purge_on_logout' );

					$this->cls( 'Control' )->init_cacheable();
					Control::set_private( 'logged in user' );
				} else {
					// No cache for logged-in user.
					Control::set_nocache( 'logged in user' );
				}
			} elseif ( ! is_admin() ) {
				// ESI is on; can be public cache, but ensure cacheable is initialized.
				$this->cls( 'Control' )->init_cacheable();
			}

			// Clear login state on logout.
			add_action( 'clear_auth_cookie', [ $this, 'remove_logged_in' ] );
		} else {
			// Only after vary init we can detect guest mode.
			$this->_maybe_guest_mode();

			// Set vary cookie when user logs in (to avoid guest vary).
			add_action( 'set_logged_in_cookie', [ $this, 'add_logged_in' ], 10, 4 );
			add_action( 'wp_login', __NAMESPACE__ . '\Purge::purge_on_logout' );

			$this->cls( 'Control' )->init_cacheable();

			// Check login-page cacheable setting — login page doesn't go through main WP logic.
			add_action( 'login_init', [ $this->cls( 'Tag' ), 'check_login_cacheable' ], 5 );

			// Optional lightweight guest vary updater.
			if ( ! empty( $_GET['litespeed_guest'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
				add_action( 'wp_loaded', [ $this, 'update_guest_vary' ], 20 );
			}
		}

		// Commenter checks.
		add_filter( 'comments_array', [ $this, 'check_commenter' ] );

		// Set vary cookie for commenter.
		add_action( 'set_comment_cookies', [ $this, 'append_commenter' ] );

		// REST: don't change vary because they don't carry on user info usually.
		add_action(
			'rest_api_init',
			function () {
				self::debug( 'Rest API init disabled vary change' );
				add_filter( 'litespeed_can_change_vary', '__return_false' );
			}
		);
	}

	/**
	 * Mark request as Guest mode when applicable.
	 *
	 * @since 4.0
	 * @return void
	 */
	private function _maybe_guest_mode() {
		if ( defined( 'LITESPEED_GUEST' ) ) {
			self::debug( '👒👒 Guest mode ' . ( LITESPEED_GUEST ? 'predefined' : 'turned off' ) );
			return;
		}

		if ( ! $this->conf( Base::O_GUEST ) ) {
			return;
		}

		// If vary is set, then not a guest.
		if ( self::has_vary() ) {
			return;
		}

		// Admin QS present? not a guest.
		if ( ! empty( $_GET[ Router::ACTION ] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			return;
		}

		if ( wp_doing_ajax() ) {
			return;
		}

		if ( wp_doing_cron() ) {
			return;
		}

		// Request to update vary? not a guest.
		if ( ! empty( $_GET['litespeed_guest'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			return;
		}

		// User explicitly turned guest off.
		if ( ! empty( $_GET['litespeed_guest_off'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			return;
		}

		self::debug( '👒👒 Guest mode' );

		! defined( 'LITESPEED_GUEST' ) && define( 'LITESPEED_GUEST', true );

		if ( $this->conf( Base::O_GUEST_OPTM ) ) {
			! defined( 'LITESPEED_GUEST_OPTM' ) && define( 'LITESPEED_GUEST_OPTM', true );
		}
	}

	/**
	 * Update Guest vary
	 *
	 * @since      4.0
	 * @deprecated 4.1 Use independent lightweight guest.vary.php instead.
	 * @return void
	 */
	public function update_guest_vary() {
		// Must not be cached.
		! defined( 'LSCACHE_NO_CACHE' ) && define( 'LSCACHE_NO_CACHE', true );

		$_guest = new Lib\Guest();
		if ( $_guest->always_guest() || self::has_vary() ) {
			// If contains vary already, don't reload (avoid loops).
			! defined( 'LITESPEED_GUEST' ) && define( 'LITESPEED_GUEST', true );
			self::debug( '🤠🤠 Guest' );
			echo '[]';
			exit;
		}

		self::debug( 'Will update guest vary in finalize' );

		// Return JSON to trigger reload.
		echo wp_json_encode( [ 'reload' => 'yes' ] );
		exit;
	}

	/**
	 * Filter callback on `comments_array` to mark commenter state.
	 *
	 * @since 1.0.4
	 *
	 * @param array $comments The comments to output.
	 * @return array Filtered comments.
	 */
	public function check_commenter( $comments ) {
		/**
		 * Allow bypassing pending comment check for comment plugins.
		 *
		 * @since 2.9.5
		 */
		if ( apply_filters( 'litespeed_vary_check_commenter_pending', true ) ) {
			$pending = false;
			foreach ( $comments as $comment ) {
				if ( ! $comment->comment_approved ) {
					$pending = true;
					break;
				}
			}

			// No pending comments => ensure public cache state.
			if ( ! $pending ) {
				self::debug( 'No pending comment' );
				$this->remove_commenter();

				// Remove commenter prefilled info for public cache.
				foreach ( $_COOKIE as $cookie_name => $cookie_value ) {
					if ( strlen( $cookie_name ) >= 15 && 0 === strpos( $cookie_name, 'comment_author_' ) ) {
						unset( $_COOKIE[ $cookie_name ] );
					}
				}

				return $comments;
			}
		}

		// Pending comments present — set commenter vary.
		$this->add_commenter();

		if ( $this->conf( Base::O_CACHE_COMMENTER ) ) {
			Control::set_private( 'existing commenter' );
		} else {
			Control::set_nocache( 'existing commenter' );
		}

		return $comments;
	}

	/**
	 * Check if default vary has a value
	 *
	 * @since 1.1.3
	 *
	 * @return false|string Cookie value or false if missing.
	 */
	public static function has_vary() {
		if ( empty( $_COOKIE[ self::$_vary_name ] ) ) {
			return false;
		}
		// Cookie values are not user-displayed; unslash only.
		return wp_unslash( (string) $_COOKIE[ self::$_vary_name ] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
	}

	/**
	 * Append user status with logged-in.
	 *
	 * @since 1.1.3
	 * @since 1.6.2 Removed static referral.
	 *
	 * @param string|false $logged_in_cookie The logged-in cookie value.
	 * @param int|false    $expire           Expiration timestamp.
	 * @param int|false    $expiration       Unused (WordPress signature).
	 * @param int|false    $uid              User ID.
	 * @return void
	 */
	public function add_logged_in( $logged_in_cookie = false, $expire = false, $expiration = false, $uid = false ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed
		self::debug( 'add_logged_in' );

		// Allow Ajax vary change during login flow.
		// NOTE: Run before `$this->_update_default_vary()` to make vary changeable
		self::can_ajax_vary();

		// Ensure vary cookie exists/updated.
		$this->_update_default_vary( $uid, $expire );
	}

	/**
	 * Remove user logged-in status.
	 *
	 * @since 1.1.3
	 * @since 1.6.2 Removed static referral.
	 * @return void
	 */
	public function remove_logged_in() {
		self::debug( 'remove_logged_in' );

		// Allow Ajax vary change during logout flow.
		self::can_ajax_vary();

		// Force update vary to remove login status.
		$this->_update_default_vary( -1 );
	}

	/**
	 * Allow vary to be changed for Ajax calls.
	 *
	 * @since 2.2.2
	 * @since 2.6 Changed to static.
	 * @return void
	 */
	public static function can_ajax_vary() {
		self::debug( '_can_change_vary -> true' );
		self::$_can_change_vary = true;
	}

	/**
	 * Whether we can change the default vary right now.
	 *
	 * @since 1.6.2
	 * @return bool
	 */
	private function can_change_vary() {
		// Don't change on Ajax unless explicitly allowed (no webp header).
		if ( Router::is_ajax() && ! self::$_can_change_vary ) {
			self::debug( 'can_change_vary bypassed due to ajax call' );
			return false;
		}

		// Allow only GET/POST.
		// POST request can set vary to fix #820789 login "loop" guest cache issue.
		if (
			isset( $_SERVER['REQUEST_METHOD'] )
			&& 'GET' !== $_SERVER['REQUEST_METHOD']
			&& 'POST' !== $_SERVER['REQUEST_METHOD']
		) {
			self::debug( 'can_change_vary bypassed due to method not get/post' );
			return false;
		}

		// Disable when crawler is making the request.
		if (
			! empty( $_SERVER['HTTP_USER_AGENT'] )
			&& 0 === strpos( wp_unslash( (string) $_SERVER['HTTP_USER_AGENT'] ), Crawler::FAST_USER_AGENT ) // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
		) {
			self::debug( 'can_change_vary bypassed due to crawler' );
			return false;
		}

		if ( ! apply_filters( 'litespeed_can_change_vary', true ) ) {
			self::debug( 'can_change_vary bypassed due to litespeed_can_change_vary hook' );
			return false;
		}

		return true;
	}

	/**
	 * Update default vary cookie (idempotent within a request).
	 *
	 * @since 1.6.2
	 * @since 1.6.6.1 Guard to ensure single run.
	 *
	 * @param int|false $uid    User ID or false.
	 * @param int|false $expire Expiration timestamp (default: +2 days).
	 * @return void
	 */
	private function _update_default_vary( $uid = false, $expire = false ) {
		// Ensure header output only runs once.
		if ( ! defined( 'LITESPEED_DID_' . __FUNCTION__ ) ) {
			define( 'LITESPEED_DID_' . __FUNCTION__, true );
		} else {
			self::debug2( '_update_default_vary bypassed due to run already' );
			return;
		}

		// ESI shouldn't change vary (main page only).
		if ( defined( 'LSCACHE_IS_ESI' ) && LSCACHE_IS_ESI ) {
			self::debug2( '_update_default_vary bypassed due to ESI' );
			return;
		}

		$vary         = $this->finalize_default_vary( $uid );
		$current_vary = self::has_vary();

		if ( $current_vary !== $vary && 'commenter' !== $current_vary && $this->can_change_vary() ) {
			if ( ! $expire ) {
				$expire = time() + 2 * DAY_IN_SECONDS;
			}
			$this->_cookie( $vary, (int) $expire );
		}
	}

	/**
	 * Get the current vary cookie name.
	 *
	 * @since 1.9.1
	 * @return string
	 */
	public function get_vary_name() {
		return self::$_vary_name;
	}

	/**
	 * Check if a user role is in a configured vary group.
	 *
	 * @since 1.2.0
	 * @since 3.0 Moved here from conf.cls.
	 *
	 * @param string $role User role(s), comma-separated.
	 * @return int|string Group ID or 0.
	 */
	public function in_vary_group( $role ) {
		$group       = 0;
		$vary_groups = $this->conf( Base::O_CACHE_VARY_GROUP );

		$roles = explode( ',', $role );
		$found = array_intersect( $roles, array_keys( (array) $vary_groups ) );

		if ( $found ) {
			$groups = [];
			foreach ( $found as $curr_role ) {
				$groups[] = $vary_groups[ $curr_role ];
			}
			$group = implode( ',', array_unique( $groups ) );
		} elseif ( in_array( 'administrator', $roles, true ) ) {
			$group = 99;
		}

		if ( $group ) {
			self::debug2( 'role in vary_group [group] ' . $group );
		}

		return $group;
	}

	/**
	 * Finalize default vary cookie value for current user.
	 * NOTE: Login process will also call this because it does not call wp hook as normal page loading.
	 *
	 * @since 1.6.2
	 *
	 * @param int|false $uid Optional user ID.
	 * @return false|string False for guests when no vary needed, or hashed vary.
	 */
	public function finalize_default_vary( $uid = false ) {
		// Bypass vary for guests where applicable (avoid non-guest filenames for assets).
		if ( defined( 'LITESPEED_GUEST' ) && LITESPEED_GUEST ) {
			return false;
		}

		$vary = [];

		if ( $this->conf( Base::O_GUEST ) ) {
			$vary['guest_mode'] = 1;
		}

		if ( ! $uid ) {
			$uid = get_current_user_id();
		} else {
			self::debug( 'uid: ' . $uid );
		}

		// Get user role/group.
		$role = Router::get_role( $uid );

		if ( $uid > 0 ) {
			$vary['logged-in'] = 1;

			if ( $role ) {
				// Parse role group from settings.
				$role_group = $this->in_vary_group( $role );
				if ( $role_group ) {
					$vary['role'] = $role_group;
				}
			}

			// Admin bar preference.
			$pref = get_user_option( 'show_admin_bar_front', $uid );
			self::debug2( 'show_admin_bar_front: ' . var_export( $pref, true ) ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_var_export
			$admin_bar = ( false === $pref || 'true' === $pref );

			if ( $admin_bar ) {
				$vary['admin_bar'] = 1;
				self::debug2( 'admin bar : true' );
			}
		} else {
			self::debug( 'role id: failed, guest' );
		}

		/**
		 * Filter vary entries before hashing.
		 *
		 * @since 1.6 Added for Role Excludes for optimization cls
		 * @since 1.6.2 Hooked to webp (legacy)
		 * @since 3.0 Used by 3rd hooks too
		 */
		$vary = apply_filters( 'litespeed_vary', $vary );

		if ( ! $vary ) {
			return false;
		}

		ksort( $vary );
		$list = [];
		foreach ( $vary as $key => $val ) {
			$list[] = $key . ':' . $val;
		}

		$res = implode( ';', $list );
		if ( defined( 'LSCWP_LOG' ) ) {
			return $res;
		}
		// Encrypt in production.
		return md5( $this->conf( Base::HASH ) . $res );
	}

	/**
	 * Get hash of all varies that affect caching (current cookies + default + env).
	 *
	 * @since 4.0
	 * @return string
	 */
	public function finalize_full_varies() {
		$vary  = $this->_finalize_curr_vary_cookies( true );
		$vary .= $this->finalize_default_vary( get_current_user_id() );
		$vary .= $this->get_env_vary();
		return $vary;
	}

	/**
	 * Get request environment vary value (from server variables).
	 *
	 * @since 4.0
	 * @return string|false
	 */
	public function get_env_vary() {
		$env_vary = isset( $_SERVER['LSCACHE_VARY_VALUE'] ) ? wp_unslash( (string) $_SERVER['LSCACHE_VARY_VALUE'] ) : false; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
		if ( ! $env_vary ) {
			$env_vary = isset( $_SERVER['HTTP_X_LSCACHE_VARY_VALUE'] ) ? wp_unslash( (string) $_SERVER['HTTP_X_LSCACHE_VARY_VALUE'] ) : false; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
		}
		return $env_vary;
	}

	/**
	 * Mark current user as commenter (called on comment submit).
	 *
	 * @since 1.1.6
	 * @return void
	 */
	public function append_commenter() {
		$this->add_commenter( true );
	}

	/**
	 * Add commenter vary (optionally from redirect).
	 *
	 * @since 1.1.3
	 *
	 * @param bool $from_redirect Whether request is from redirect page.
	 * @return void
	 */
	private function add_commenter( $from_redirect = false ) {
		// If the cookie is lost somehow, set it.
		if ( 'commenter' !== self::has_vary() ) {
			self::debug( 'Add commenter' );

			// Save commenter status only for current domain path.
			$this->_cookie(
				'commenter',
				time() + (int) apply_filters( 'comment_cookie_lifetime', 30000000 ),
				self::_relative_path( $from_redirect )
			);
		}
	}

	/**
	 * Remove commenter vary if set.
	 *
	 * @since 1.1.3
	 * @return void
	 */
	private function remove_commenter() {
		if ( 'commenter' === self::has_vary() ) {
			self::debug( 'Remove commenter' );
			$this->_cookie( false, false, self::_relative_path() );
		}
	}

	/**
	 * Generate a relative cookie path from current request.
	 *
	 * @since 1.1.3
	 *
	 * @param bool $from_redirect When true, uses HTTP_REFERER; otherwise SCRIPT_URL.
	 * @return string|false Path or false.
	 */
	private static function _relative_path( $from_redirect = false ) {
		$path = false;
		$tag  = $from_redirect ? 'HTTP_REFERER' : 'SCRIPT_URL';
		if ( ! empty( $_SERVER[ $tag ] ) ) {
			$parsed = wp_parse_url( wp_unslash( (string) $_SERVER[ $tag ] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
			$path   = ! empty( $parsed['path'] ) ? $parsed['path'] : false;
			self::debug( 'Cookie Vary path: ' . ( $path ? $path : 'false' ) );
		}
		return $path;
	}

	/**
	 * Build the final X-LiteSpeed-Vary header for current request.
	 * NOTE: Non caccheable page can still set vary ( for logged in process ).
	 *
	 * @since 1.0.13
	 *
	 * @return string|void Header string or nothing when not needed.
	 */
	public function finalize() {
		// Finalize default vary for non-guest.
		if ( ! defined( 'LITESPEED_GUEST' ) || ! LITESPEED_GUEST ) {
			$this->_update_default_vary();
		}

		$tp_cookies = $this->_finalize_curr_vary_cookies();

		if ( ! $tp_cookies ) {
			self::debug2( 'no customized vary' );
			return;
		}

		self::debug( 'finalized 3rd party cookies', $tp_cookies );

		return self::X_HEADER . ': ' . implode( ',', $tp_cookies );
	}

	/**
	 * Get vary cookies (names or values JSON) added for current page.
	 *
	 * @since 1.0.13
	 *
	 * @param bool $values_json When true, returns JSON array of cookie values; else cookie=name items.
	 * @return array|string|false List of vary cookie items, JSON string, or false when none.
	 */
	private function _finalize_curr_vary_cookies( $values_json = false ) {
		global $post;

		$cookies = []; // No need to append default vary cookie name.

		if ( ! empty( $post->post_password ) ) {
			$postpass_key = 'wp-postpass_' . COOKIEHASH;
			if ( $this->_get_cookie_val( $postpass_key ) ) {
				self::debug( 'finalize bypassed due to password protected vary ' );
				// If user has password cookie, do not cache & ignore existing vary cookies.
				Control::set_nocache( 'password protected vary' );
				return false;
			}

			$cookies[] = $values_json ? $this->_get_cookie_val( $postpass_key ) : $postpass_key;
		}

		$cookies = apply_filters( 'litespeed_vary_curr_cookies', $cookies );
		if ( $cookies ) {
			$cookies = array_filter( array_unique( $cookies ) );
			self::debug( 'vary cookies changed by filter litespeed_vary_curr_cookies', $cookies );
		}

		if ( ! $cookies ) {
			return false;
		}

		// Format cookie name data or value data.
		sort( $cookies ); // Maintain stable order for $values_json=true.
		foreach ( $cookies as $k => $v ) {
			$cookies[ $k ] = $values_json ? $this->_get_cookie_val( $v ) : 'cookie=' . $v;
		}

		return $values_json ? wp_json_encode( $cookies ) : $cookies;
	}

	/**
	 * Get a cookie value safely.
	 *
	 * @since 4.0
	 *
	 * @param string $key Cookie name.
	 * @return false|string Cookie value or false.
	 */
	private function _get_cookie_val( $key ) {
		if ( ! empty( $_COOKIE[ $key ] ) ) {
			return wp_unslash( (string) $_COOKIE[ $key ] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
		}

		return false;
	}

	/**
	 * Set or clear the vary cookie.
	 *
	 * If the vary cookie changed, mark page as non-cacheable for this response.
	 *
	 * @since 1.0.4
	 *
	 * @param int|false $val    Cookie value to set, or false to clear.
	 * @param int       $expire Expiration timestamp (ignored when $val is false).
	 * @param string    $path   Cookie path (false to use COOKIEPATH).
	 * @return void
	 */
	private function _cookie( $val = false, $expire = 0, $path = false ) {
		if ( ! $val ) {
			$expire = 1;
		}

		// HTTPS bypass toggle for clients using both HTTP/HTTPS.
		$is_ssl = $this->conf( Base::O_UTIL_NO_HTTPS_VARY ) ? false : is_ssl();

		setcookie( self::$_vary_name, $val, (int) $expire, $path ? $path : COOKIEPATH, COOKIE_DOMAIN, $is_ssl, true );
		self::debug( 'set_cookie ---> [k] ' . self::$_vary_name . ' [v] ' . ( false === $val ? 'false' : $val ) . ' [ttl] ' . ( (int) $expire - time() ) );
	}
}
PK�^�\�wA�NN litespeed-cache/src/conf.cls.phpnu�[���<?php
/**
 * The core plugin config class.
 *
 * This maintains all the options and settings for this plugin.
 *
 * @since       1.0.0
 * @package     LiteSpeed
 */

namespace LiteSpeed;

defined('WPINC') || exit();

/**
 * Class Conf
 *
 * Maintains all LiteSpeed plugin configuration, including CRUD for single-site
 * and multisite options, upgrade flows, and side effects like purging/cron.
 */
class Conf extends Base {

	const TYPE_SET = 'set';

	/**
	 * IDs that were updated during a save cycle.
	 *
	 * @var array<string|int,mixed>
	 */
	private $_updated_ids = [];

	/**
	 * Whether current blog is the network primary site.
	 *
	 * @var bool
	 */
	private $_is_primary = false;

	/**
	 * Specify init logic to avoid infinite loop when calling conf.cls instance
	 *
	 * @since  3.0
	 * @access public
	 * @return void
	 */
	public function init() {
		// Check if conf exists or not. If not, create them in DB (won't change version if is converting v2.9- data)
		// Conf may be stale, upgrade later
		$this->_conf_db_init();

		/**
		 * Detect if has quic.cloud set
		 *
		 * @since  2.9.7
		 */
		if ( $this->conf( self::O_CDN_QUIC ) ) {
			if ( ! defined( 'LITESPEED_ALLOWED' ) ) {
				define( 'LITESPEED_ALLOWED', true );
			}
		}

		add_action( 'litespeed_conf_append', [ $this, 'option_append' ], 10, 2 );
		add_action( 'litespeed_conf_force', [ $this, 'force_option' ], 10, 2 );

		$this->define_cache();
	}

	/**
	 * Init conf related data
	 *
	 * @since  3.0
	 * @access private
	 * @return void
	 */
	private function _conf_db_init() {
		/**
		 * Try to load options first, network sites can override this later
		 *
		 * NOTE: Load before run `conf_upgrade()` to avoid infinite loop when getting conf in `conf_upgrade()`
		 */
		$this->load_options();

		// Check if debug is on
		// Init debug as early as possible
		if ( $this->conf( Base::O_DEBUG ) ) {
			$this->cls( 'Debug2' )->init();
		}

		$ver = $this->conf( self::_VER );

		/**
		 * Version is less than v3.0, or, is a new installation
		 */
		$ver_check_tag = 'new';
		if ( $ver ) {
			if ( ! defined( 'LSCWP_CUR_V' ) ) {
				define( 'LSCWP_CUR_V', $ver );
			}

			/**
			 * Upgrade conf
			 */
			if ( Core::VER !== $ver ) {
				// Plugin version will be set inside
				// Site plugin upgrade & version change will do in load_site_conf
				$ver_check_tag = Data::cls()->conf_upgrade( $ver );
			}
		}

		/**
		 * Sync latest new options
		 */
		if ( ! $ver || Core::VER !== $ver ) {
			// Load default values
			$this->load_default_vals();

			if ( ! $ver ) {
				// New install
				$this->set_conf( self::$_default_options );

				$ver_check_tag .= ' activate' . ( defined( 'LSCWP_REF' ) ? '_' . constant( 'LSCWP_REF' ) : '' );
			}

			// Init new default/missing options
			foreach ( self::$_default_options as $k => $v ) {
				// If the option existed, bypass updating
				// Bcos we may ask clients to deactivate for debug temporarily, we need to keep the current cfg in deactivation, hence we need to only try adding default cfg when activating.
				self::add_option( $k, $v );
			}

			// Force correct version in case a rare unexpected case that `_ver` exists but empty
			self::update_option( Base::_VER, Core::VER );

			if ( $ver_check_tag ) {
				Cloud::version_check( $ver_check_tag );
			}
		}

		/**
		 * Network sites only
		 *
		 * Override conf if is network subsites and chose `Use Primary Config`
		 */
		$this->_try_load_site_options();

		// Check if debug is on
		// Init debug as early as possible
		if ( $this->conf( Base::O_DEBUG ) ) {
			$this->cls( 'Debug2' )->init();
		}

		// Mark as conf loaded
		if ( ! defined( 'LITESPEED_CONF_LOADED' ) ) {
			define( 'LITESPEED_CONF_LOADED', true );
		}

		if ( ! $ver || Core::VER !== $ver ) {
			// Only trigger once in upgrade progress, don't run always
			$this->update_confs(); // Files only get corrected in activation or saving settings actions.
		}
	}

	/**
	 * Load all latest options from DB
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param int|null $blog_id Blog ID to load from. Null for current.
	 * @param bool     $dry_run Return options instead of setting them.
	 * @return array<string,mixed>|void
	 */
	public function load_options( $blog_id = null, $dry_run = false ) {
		$options = [];
		foreach ( self::$_default_options as $k => $v ) {
			if ( null !== $blog_id ) {
				$options[ $k ] = self::get_blog_option( $blog_id, $k, $v );
			} else {
				$options[ $k ] = self::get_option( $k, $v );
			}

			// Correct value type
			$options[ $k ] = $this->type_casting( $options[ $k ], $k );
		}

		if ( $dry_run ) {
			return $options;
		}

		// Bypass site special settings
		if ( null !== $blog_id ) {
			// This is to load the primary settings ONLY
			// These options are the ones that can be overwritten by primary
			$options = array_diff_key( $options, array_flip( self::$single_site_options ) );

			$this->set_primary_conf( $options );
		} else {
			$this->set_conf( $options );
		}

		// Append const options
		if ( defined( 'LITESPEED_CONF' ) && LITESPEED_CONF ) {
			foreach ( self::$_default_options as $k => $v ) {
				$const = Base::conf_const( $k );
				if ( defined( $const ) ) {
					$this->set_const_conf( $k, $this->type_casting( constant( $const ), $k ) );
				}
			}
		}
	}

	/**
	 * For multisite installations, the single site options need to be updated with the network wide options.
	 *
	 * @since 1.0.13
	 * @access private
	 * @return void
	 */
	private function _try_load_site_options() {
		if ( ! $this->_if_need_site_options() ) {
			return;
		}

		$this->_conf_site_db_init();

		$this->_is_primary = BLOG_ID_CURRENT_SITE === get_current_blog_id();

		// If network set to use primary setting
		if ( $this->network_conf( self::NETWORK_O_USE_PRIMARY ) && ! $this->_is_primary ) {
			// subsites or network admin
			// Get the primary site settings
			// If it's just upgraded, 2nd blog is being visited before primary blog, can just load default config (won't hurt as this could only happen shortly)
			$this->load_options( BLOG_ID_CURRENT_SITE );
		}

		// Overwrite single blog options with site options
		foreach ( self::$_default_options as $k => $v ) {
			if ( ! $this->has_network_conf( $k ) ) {
				continue;
			}
			// $this->_options[ $k ] = $this->_network_options[ $k ];

			// Special handler to `Enable Cache` option if the value is set to OFF
			if ( self::O_CACHE === $k ) {
				if ( $this->_is_primary ) {
					if ( $this->conf( $k ) !== $this->network_conf( $k ) ) {
						if ( self::VAL_ON2 !== $this->conf( $k ) ) {
							continue;
						}
					}
				} elseif ( $this->network_conf( self::NETWORK_O_USE_PRIMARY ) ) {
					if ( $this->has_primary_conf( $k ) && self::VAL_ON2 !== $this->primary_conf( $k ) ) {
						// This case will use primary_options override always
						continue;
					}
				} elseif ( self::VAL_ON2 !== $this->conf( $k ) ) {
					continue;
				}
			}

			// primary_options will store primary settings + network settings, OR, store the network settings for subsites
			$this->set_primary_conf( $k, $this->network_conf( $k ) );
		}
		// var_dump($this->_options);
	}

	/**
	 * Check if needs to load site_options for network sites
	 *
	 * @since  3.0
	 * @access private
	 * @return bool
	 */
	private function _if_need_site_options() {
		if ( ! is_multisite() ) {
			return false;
		}

		// Check if needs to use site_options or not
		// todo: check if site settings are separate bcos it will affect .htaccess

		/**
		 * In case this is called outside the admin page
		 *
		 * @see  https://codex.wordpress.org/Function_Reference/is_plugin_active_for_network
		 * @since  2.0
		 */
		if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
			require_once ABSPATH . '/wp-admin/includes/plugin.php';
		}
		// If is not activated on network, it will not have site options
		if ( ! is_plugin_active_for_network( Core::PLUGIN_FILE ) ) {
			if ( self::VAL_ON2 === (int) $this->conf( self::O_CACHE ) ) {
				// Default to cache on
				$this->set_conf( self::_CACHE, true );
			}
			return false;
		}

		return true;
	}

	/**
	 * Init site conf and upgrade if necessary
	 *
	 * @since 3.0
	 * @access private
	 * @return void
	 */
	private function _conf_site_db_init() {
		$this->load_site_options();

		$ver = $this->network_conf( self::_VER );

		/**
		 * Don't upgrade or run new installations other than from backend visit
		 * In this case, just use default conf
		 */
		if ( ! $ver || Core::VER !== $ver ) {
			if ( ! is_admin() && ! defined( 'LITESPEED_CLI' ) ) {
				$this->set_network_conf( $this->load_default_site_vals() );
				return;
			}
		}

		/**
		 * Upgrade conf
		 */
		if ( $ver && Core::VER !== $ver ) {
			// Site plugin version will change inside
			Data::cls()->conf_site_upgrade( $ver );
		}

		/**
		 * Is a new installation
		 */
		if ( ! $ver || Core::VER !== $ver ) {
			// Load default values
			$this->load_default_site_vals();

			// Init new default/missing options
			foreach ( self::$_default_site_options as $k => $v ) {
				// If the option existed, bypass updating
				self::add_site_option( $k, $v );
			}
		}
	}

	/**
	 * Get the plugin's site wide options.
	 *
	 * If the site wide options are not set yet, set it to default.
	 *
	 * @since 1.0.2
	 * @access public
	 * @return null|void
	 */
	public function load_site_options() {
		if ( ! is_multisite() ) {
			return null;
		}

		// Load all site options
		foreach ( self::$_default_site_options as $k => $v ) {
			$val = self::get_site_option( $k, $v );
			$val = $this->type_casting( $val, $k, true );
			$this->set_network_conf( $k, $val );
		}
	}

	/**
	 * Append a 3rd party option to default options
	 *
	 * This will not be affected by network use primary site setting.
	 *
	 * NOTE: If it is a multi switch option, need to call `_conf_multi_switch()` first
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param string $name        Option name.
	 * @param mixed  $default_val Default value.
	 * @return void
	 */
	public function option_append( $name, $default_val ) {
		self::$_default_options[ $name ] = $default_val;
		$this->set_conf( $name, self::get_option( $name, $default_val ) );
		$this->set_conf( $name, $this->type_casting( $this->conf( $name ), $name ) );
	}

	/**
	 * Force an option to a certain value
	 *
	 * @since  2.6
	 * @access public
	 *
	 * @param string $k Option key.
	 * @param mixed  $v Option value.
	 * @return void
	 */
	public function force_option( $k, $v ) {
		if ( ! $this->has_conf( $k ) ) {
			return;
		}

		$v = $this->type_casting( $v, $k );

		if ( $this->conf( $k ) === $v ) {
			return;
		}

		// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_var_export
		Debug2::debug( '[Conf] ** ' . $k . ' forced from ' . var_export( $this->conf( $k ), true ) . ' to ' . var_export( $v, true ) );

		$this->set_conf( $k, $v );
	}

	/**
	 * Define `_CACHE` const in options ( for both single and network )
	 *
	 * @since  3.0
	 * @access public
	 * @return void
	 */
	public function define_cache() {
		// Init global const cache on setting
		$this->set_conf( self::_CACHE, false );
		if ( self::VAL_ON === (int) $this->conf( self::O_CACHE ) || $this->conf( self::O_CDN_QUIC ) ) {
			$this->set_conf( self::_CACHE, true );
		}

		// Check network
		if ( ! $this->_if_need_site_options() ) {
			// Set cache on
			$this->_define_cache_on();
			return;
		}

		// If use network setting
		if ( self::VAL_ON2 === (int) $this->conf( self::O_CACHE ) && $this->network_conf( self::O_CACHE ) ) {
			$this->set_conf( self::_CACHE, true );
		}

		$this->_define_cache_on();
	}

	/**
	 * Define `LITESPEED_ON`
	 *
	 * @since 2.1
	 * @access private
	 * @return void
	 */
	private function _define_cache_on() {
		if ( ! $this->conf( self::_CACHE ) ) {
			return;
		}

		if ( defined( 'LITESPEED_ALLOWED' ) && ! defined( 'LITESPEED_ON' ) ) {
			define( 'LITESPEED_ON', true );
		}
	}

	/**
	 * Save option
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param array<string,mixed> $the_matrix Option-value map.
	 * @return void
	 */
	public function update_confs( $the_matrix = [] ) {
		if ( $the_matrix ) {
			foreach ( $the_matrix as $id => $val ) {
				$this->update( $id, $val );
			}
		}

		if ( $this->_updated_ids ) {
			foreach ( $this->_updated_ids as $id ) {
				// Check if need to do a purge all or not
				if ( $this->_conf_purge_all( $id ) ) {
					Purge::purge_all( 'conf changed [id] ' . $id );
				}

				// Check if need to purge a tag
				$tag = $this->_conf_purge_tag( $id );
				if ( $tag ) {
					Purge::add( $tag );
				}

				// Update cron
				if ( $this->_conf_cron( $id ) ) {
					$this->cls( 'Task' )->try_clean( $id );
				}

				// Reset crawler bypassed list when any of the options WebP replace, guest mode, or cache mobile got changed
				if ( self::O_IMG_OPTM_WEBP === $id || self::O_GUEST === $id || self::O_CACHE_MOBILE === $id ) {
					$this->cls( 'Crawler' )->clear_disabled_list();
				}
			}
		}

		do_action( 'litespeed_update_confs', $the_matrix );

		// Update related tables
		$this->cls( 'Data' )->correct_tb_existence();

		// Update related files
		$this->cls( 'Activation' )->update_files();

		/**
		 * CDN related actions - Cloudflare
		 */
		$this->cls( 'CDN\Cloudflare' )->try_refresh_zone();

		// If Server IP changed, must test echo
		if ( in_array( self::O_SERVER_IP, $this->_updated_ids, true ) ) {
			$this->cls( 'Cloud' )->init_qc_cli();
		}

		// CDN related actions - QUIC.cloud
		$this->cls( 'CDN\Quic' )->try_sync_conf();
	}

	/**
	 * Save option
	 *
	 * Note: this is direct save, won't trigger corresponding file update or data sync. To save settings normally, always use `Conf->update_confs()`
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param string $id  Option ID.
	 * @param mixed  $val Option value.
	 * @return void
	 */
	public function update( $id, $val ) {
		// Bypassed this bcos $this->_options could be changed by force_option()
		// if ( $this->_options[ $id ] === $val ) {
		// return;
		// }

		if ( self::_VER === $id ) {
			return;
		}

		if ( self::O_SERVER_IP === $id ) {
			if ( $val && ! Utility::valid_ipv4( $val ) ) {
				$msg = sprintf( __( 'Saving option failed. IPv4 only for %s.', 'litespeed-cache' ), Lang::title( Base::O_SERVER_IP ) );
				Admin_Display::error( $msg );
				return;
			}
		}

		if ( ! array_key_exists( $id, self::$_default_options ) ) {
			if ( defined( 'LSCWP_LOG' ) ) {
				Debug2::debug( '[Conf] Invalid option ID ' . $id );
			}
			return;
		}

		if ( $val && $this->_conf_pswd( $id ) && ! preg_match( '/[^\*]/', (string) $val ) ) {
			return;
		}

		// Special handler for CDN Original URLs
		if ( self::O_CDN_ORI === $id && ! $val ) {
			$site_url = site_url( '/' );
			$parsed   = wp_parse_url( $site_url );
			if ( !empty( $parsed['scheme'] ) ) {
				$site_url = str_replace( $parsed['scheme'] . ':', '', $site_url );
			}

			$val = $site_url;
		}

		// Validate type
		$val = $this->type_casting( $val, $id );

		// Save data
		self::update_option( $id, $val );

		// Handle purge if setting changed
		if ( $this->conf( $id ) !== $val ) {
			$this->_updated_ids[] = $id;

			// Check if need to fire a purge or not (Here has to stay inside `update()` bcos need comparing old value)
			if ( $this->_conf_purge( $id ) ) {
				$old  = (array) $this->conf( $id );
				$new  = (array) $val;
				$diff = array_merge( array_diff( $new, $old ), array_diff( $old, $new ) );
				// If has difference
				foreach ( $diff as $v ) {
					$v = ltrim( (string) $v, '^' );
					$v = rtrim( (string) $v, '$' );
					$this->cls( 'Purge' )->purge_url( $v );
				}
			}
		}

		// Update in-memory data
		$this->set_conf( $id, $val );
	}

	/**
	 * Save network option
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param string $id  Option ID.
	 * @param mixed  $val Option value.
	 * @return void
	 */
	public function network_update( $id, $val ) {
		if ( ! array_key_exists( $id, self::$_default_site_options ) ) {
			if ( defined( 'LSCWP_LOG' ) ) {
				Debug2::debug( '[Conf] Invalid network option ID ' . $id );
			}
			return;
		}

		if ( $val && $this->_conf_pswd( $id ) && ! preg_match( '/[^\*]/', (string) $val ) ) {
			return;
		}

		// Validate type
		if ( is_bool( self::$_default_site_options[ $id ] ) ) {
			$max = $this->_conf_multi_switch( $id );
			if ( $max && $val > 1 ) {
				$val %= ( $max + 1 );
			} else {
				$val = (bool) $val;
			}
		} elseif ( is_array( self::$_default_site_options[ $id ] ) ) {
			// from textarea input
			if ( ! is_array( $val ) ) {
				$val = Utility::sanitize_lines( $val, $this->_conf_filter( $id ) );
			}
		} elseif ( ! is_string( self::$_default_site_options[ $id ] ) ) {
			$val = (int) $val;
		} else {
			// Check if the string has a limit set
			$val = $this->_conf_string_val( $id, $val );
		}

		// Save data
		self::update_site_option( $id, $val );

		// Handle purge if setting changed
		if ( $this->network_conf( $id ) !== $val ) {
			// Check if need to do a purge all or not
			if ( $this->_conf_purge_all( $id ) ) {
				Purge::purge_all( '[Conf] Network conf changed [id] ' . $id );
			}

			// Update in-memory data
			$this->set_network_conf( $id, $val );
		}

		// No need to update cron here, Cron will register in each init

		if ( $this->has_conf( $id ) ) {
			$this->set_conf( $id, $val );
		}
	}

	/**
	 * Check if one user role is in exclude optimization group settings
	 *
	 * @since 1.6
	 * @access public
	 *
	 * @param  string|null $role The user role.
	 * @return string|false      The set value if already set, otherwise false.
	 */
	public function in_optm_exc_roles( $role = null ) {
		// Get user role
		if ( null === $role ) {
			$role = Router::get_role();
		}

		if ( ! $role ) {
			return false;
		}

		$roles = explode( ',', $role );
		$found = array_intersect( $roles, $this->conf( self::O_OPTM_EXC_ROLES ) );

		return $found ? implode( ',', $found ) : false;
	}

	/**
	 * Set one config value directly
	 *
	 * @since  2.9
	 * @access private
	 * @return void
	 */
	private function _set_conf() {
		/**
		 * NOTE: For URL Query String setting,
		 *      1. If append lines to an array setting e.g. `cache-force_uri`, use `set[cache-force_uri][]=the_url`.
		 *      2. If replace the array setting with one line, use `set[cache-force_uri]=the_url`.
		 *      3. If replace the array setting with multi lines value, use 2 then 1.
		 */
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput
		$raw = !empty( $_GET[ self::TYPE_SET ] ) ? $_GET[ self::TYPE_SET ] : false;
		if ( !$raw || ! is_array( $raw ) ) {
			return;
		}

		// Sanitize the incoming matrix.
		$the_matrix = [];
		foreach ( $raw as $id => $v ) {
			if ( ! $this->has_conf( $id ) ) {
				continue;
			}

			// Append new item to array type settings
			if ( is_array( $v ) && is_array( $this->conf( $id ) ) ) {
				$v = array_merge( $this->conf( $id ), $v );

				// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_var_export
				Debug2::debug( '[Conf] Appended to settings [' . $id . ']: ' . var_export( $v, true ) );
			} else {
				// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_var_export
				Debug2::debug( '[Conf] Set setting [' . $id . ']: ' . var_export( $v, true ) );
			}

			$the_matrix[ $id ] = $v;
		}

		if ( !$the_matrix ) {
			return;
		}

		$this->update_confs( $the_matrix );

		$msg = __( 'Changed setting successfully.', 'litespeed-cache' );
		Admin_Display::success( $msg );

		// Redirect if changed frontend URL
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$redirect = ! empty( $_GET['redirect'] ) ? sanitize_text_field( wp_unslash( $_GET['redirect'] ) ) : '';
		if ( $redirect ) {
			wp_safe_redirect( $redirect );
			exit;
		}
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * @since  2.9
	 * @access public
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_SET:
				$this->_set_conf();
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\ޣF���litespeed-cache/src/doc.cls.phpnu�[���<?php
/**
 * Helper to render small documentation/tooltips in the UI.
 *
 * @package LiteSpeed
 * @since   2.2.7
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Small utility view helpers for docs/warnings/links.
 */
class Doc {

	/**
	 * Show a notice when an option is effectively forced ON by Guest Mode.
	 *
	 * @since 5.5
	 *
	 * @param string $id Option id.
	 * @return void
	 */
	public static function maybe_on_by_gm( $id ) {
		if ( apply_filters( 'litespeed_conf', $id ) ) {
			return;
		}
		if ( ! apply_filters( 'litespeed_conf', Base::O_GUEST ) ) {
			return;
		}
		if ( ! apply_filters( 'litespeed_conf', Base::O_GUEST_OPTM ) ) {
			return;
		}
		echo '<font class="litespeed-warning">';
		echo wp_kses_post(
			'⚠️ ' .
			sprintf(
				__( 'This setting is %1$s for certain qualifying requests due to %2$s!', 'litespeed-cache' ),
				'<code>' . esc_html__( 'ON', 'litespeed-cache' ) . '</code>',
				esc_html( Lang::title( Base::O_GUEST_OPTM ) )
			)
		);
		self::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/#guest-optimization' );
		echo '</font>';
	}

	/**
	 * Warn that changes affect the crawler list.
	 *
	 * @since 4.3
	 * @return void
	 */
	public static function crawler_affected() {
		echo '<span class="litespeed-primary">';
		echo '⚠️ ' . esc_html__( 'This setting will regenerate crawler list and clear the disabled list!', 'litespeed-cache' );
		echo '</span>';
	}

	/**
	 * Privacy policy text for front-end disclosure.
	 *
	 * @since 2.2.7
	 *
	 * @return string Safe HTML string.
	 */
	public static function privacy_policy() {
		$text = esc_html__(
			'This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily.',
			'litespeed-cache'
		);

		$link = sprintf(
			/* translators: %s: QUIC.cloud privacy policy URL */
			esc_html__( 'Please see %s for more details.', 'litespeed-cache' ),
			sprintf(
				'<a href="%1$s" target="_blank" rel="noopener noreferrer">%1$s</a>',
				esc_url( 'https://quic.cloud/privacy-policy/' )
			)
		);

		// Return as HTML (link already escaped).
		return $text . ' ' . $link;
	}

	/**
	 * Render (or return) a "Learn more" link.
	 *
	 * @since 2.4.2
	 *
	 * @param string $url           Destination URL.
	 * @param string $title         Optional link text. Defaults to "Learn More".
	 * @param bool   $self_tab      Open in self tab or new tab (adds target/_blank + rel).
	 * @param string $css_class     CSS class for the anchor.
	 * @param bool   $return_output Return instead of echo.
	 * @return string|void
	 */
	public static function learn_more( $url, $title = '', $self_tab = false, $css_class = '', $return_output = false ) {
		$css_class = $css_class ? $css_class : 'litespeed-learn-more';
		$title     = $title ? $title : esc_html__( 'Learn More', 'litespeed-cache' );

		$target_rel = $self_tab ? '' : ' target="_blank" rel="noopener noreferrer"';
		$anchor     = sprintf(
			' <a href="%s"%s class="%s">%s</a>',
			esc_url( $url ),
			$target_rel, // Already hardcoded/safe.
			esc_attr( $css_class ),
			wp_kses_post( $title )
		);

		if ( $return_output ) {
			return $anchor;
		}

		echo wp_kses_post( $anchor );
	}

	/**
	 * Output "One per line." helper text.
	 *
	 * @since 3.0
	 *
	 * @param bool $return_output Return the string instead of echoing.
	 * @return string|void
	 */
	public static function one_per_line( $return_output = false ) {
		$str = esc_html__( 'One per line.', 'litespeed-cache' );
		if ( $return_output ) {
			return $str;
		}
		echo esc_html( $str );
	}

	/**
	 * Output helper text about full/partial URL support.
	 *
	 * @since 3.4
	 *
	 * @param bool $string_only If true, say "strings" only; otherwise specify URLs/strings.
	 * @return void
	 */
	public static function full_or_partial_url( $string_only = false ) {
		if ( $string_only ) {
			echo esc_html__( 'Both full and partial strings can be used.', 'litespeed-cache' );
		} else {
			echo esc_html__( 'Both full URLs and partial strings can be used.', 'litespeed-cache' );
		}
	}

	/**
	 * Notice that a setting will edit .htaccess.
	 *
	 * @since 3.0
	 * @return void
	 */
	public static function notice_htaccess() {
		echo '<span class="litespeed-primary">';
		echo '⚠️ ' . esc_html__( 'This setting will edit the .htaccess file.', 'litespeed-cache' ) . ' ';
		self::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#edit-htaccess-tab' );
		echo '</span>';
	}

	/**
	 * Gentle reminder that QUIC.cloud queues are asynchronous.
	 *
	 * @since 5.3.1
	 *
	 * @param bool $return_output Return the HTML instead of echoing.
	 * @return string|void
	 */
	public static function queue_issues( $return_output = false ) {
		$link = self::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/troubleshoot/#quiccloud-queue-issues', '', false, '', true );

		$html = sprintf(
			'<div class="litespeed-desc">%s %s</div>',
			esc_html__( 'The queue is processed asynchronously. It may take time.', 'litespeed-cache' ),
			$link // already escaped.
		);

		if ( $return_output ) {
			return $html;
		}

		echo wp_kses_post( $html );
	}
}
PK�^�\?�ő++"litespeed-cache/src/import.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The import/export class.
 *
 * @since       1.8.2
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class Import extends Base {

	protected $_summary;

	const TYPE_IMPORT = 'import';
	const TYPE_EXPORT = 'export';
	const TYPE_RESET  = 'reset';

	/**
	 * Init
	 *
	 * @since  1.8.2
	 */
	public function __construct() {
		Debug2::debug('Import init');

		$this->_summary = self::get_summary();
	}

	/**
	 * Export settings to file
	 *
	 * @since 1.8.2
	 * @since 7.3 added download content type
	 * @access public
	 */
	public function export( $only_data_return = false ) {
		$raw_data = $this->get_options(true);

		$data = array();
		foreach ($raw_data as $k => $v) {
			$data[] = \json_encode(array( $k, $v ));
		}

		$data = implode("\n\n", $data);

		if ($only_data_return) {
			return $data;
		}

		$filename = $this->_generate_filename();

		// Update log
		$this->_summary['export_file'] = $filename;
		$this->_summary['export_time'] = time();
		self::save_summary();

		Debug2::debug('Import: Saved to ' . $filename);

		@header('Content-Type: application/octet-stream');
		@header('Content-Disposition: attachment; filename=' . $filename);
		echo $data;

		exit();
	}

	/**
	 * Import settings from file
	 *
	 * @since  1.8.2
	 * @access public
	 */
	public function import( $file = false ) {
		if (!$file) {
			if (empty($_FILES['ls_file']['name']) || substr($_FILES['ls_file']['name'], -5) != '.data' || empty($_FILES['ls_file']['tmp_name'])) {
				Debug2::debug('Import: Failed to import, wrong ls_file');

				$msg = __('Import failed due to file error.', 'litespeed-cache');
				Admin_Display::error($msg);

				return false;
			}

			$this->_summary['import_file'] = $_FILES['ls_file']['name'];

			$data = file_get_contents($_FILES['ls_file']['tmp_name']);
		} else {
			$this->_summary['import_file'] = $file;

			$data = file_get_contents($file);
		}

		// Update log
		$this->_summary['import_time'] = time();
		self::save_summary();

		$ori_data = array();
		try {
			// Check if the data is v4+ or not
			if (strpos($data, '["_version",') === 0) {
				Debug2::debug('[Import] Data version: v4+');
				$data = explode("\n", $data);
				foreach ($data as $v) {
					$v = trim($v);
					if (!$v) {
						continue;
					}
					list($k, $v)  = \json_decode($v, true);
					$ori_data[$k] = $v;
				}
			} else {
				$ori_data = \json_decode(base64_decode($data), true);
			}
		} catch (\Exception $ex) {
			Debug2::debug('[Import] ❌ Failed to parse serialized data');
			return false;
		}

		if (!$ori_data) {
			Debug2::debug('[Import] ❌ Failed to import, no data');
			return false;
		} else {
			Debug2::debug('[Import] Importing data', $ori_data);
		}

		$this->cls('Conf')->update_confs($ori_data);

		if (!$file) {
			Debug2::debug('Import: Imported ' . $_FILES['ls_file']['name']);

			$msg = sprintf(__('Imported setting file %s successfully.', 'litespeed-cache'), $_FILES['ls_file']['name']);
			Admin_Display::success($msg);
		} else {
			Debug2::debug('Import: Imported ' . $file);
		}

		return true;
	}

	/**
	 * Reset all configs to default values.
	 *
	 * @since  2.6.3
	 * @access public
	 */
	public function reset() {
		$options = $this->cls('Conf')->load_default_vals();

		$this->cls('Conf')->update_confs($options);

		Debug2::debug('[Import] Reset successfully.');

		$msg = __('Reset successfully.', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Generate the filename to export
	 *
	 * @since  1.8.2
	 * @access private
	 */
	private function _generate_filename() {
		// Generate filename
		$parsed_home = parse_url(get_home_url());
		$filename    = 'LSCWP_cfg-';
		if (!empty($parsed_home['host'])) {
			$filename .= $parsed_home['host'] . '_';
		}

		if (!empty($parsed_home['path'])) {
			$filename .= $parsed_home['path'] . '_';
		}

		$filename = str_replace('/', '_', $filename);

		$filename .= '-' . date('Ymd_His') . '.data';

		return $filename;
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * @since  1.8.2
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ($type) {
			case self::TYPE_IMPORT:
            $this->import();
				break;

			case self::TYPE_EXPORT:
            $this->export();
				break;

			case self::TYPE_RESET:
            $this->reset();
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\1�'x!litespeed-cache/src/guest.cls.phpnu�[���<?php
/**
 * Guest mode management class.
 *
 * Handles syncing of Guest Mode IP and UA lists from QUIC.cloud.
 *
 * @package LiteSpeed
 * @since   7.7
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Guest
 *
 * Extends Cloud class to provide Guest Mode related functionality.
 */
class Guest extends Cloud {

	const LOG_TAG = '👤';

	const TYPE_SYNC = 'sync';

	/**
	 * Cron handler for daily Guest Mode sync.
	 *
	 * @since 7.7
	 * @return void
	 */
	public static function cron() {
		self::debug( 'Cron: starting daily sync' );
		self::cls()->sync_lists();
	}

	/**
	 * Sync Guest Mode IP and UA lists.
	 *
	 * Fetches the latest IP and UA lists from QUIC.cloud API and saves them locally.
	 *
	 * @since 7.7
	 * @return array{success: bool, message: string}
	 */
	public function sync_lists() {
		self::debug( 'Starting Guest Mode lists sync' );

		$cloud_dir = LITESPEED_STATIC_DIR . '/cloud';

		$results = [
			'ips' => false,
			'uas' => false,
		];

		foreach ( [ 'ips', 'uas' ] as $type ) {
			$data = $this->_fetch_api( $this->_cloud_server_wp . '/gm_' . $type );
			if ( $data && File::save( $cloud_dir . '/gm_' . $type . '.txt', $data, true ) ) {
				self::debug( 'Guest Mode ' . $type . ' synced' );
				$results[ $type ] = true;
			}
		}

		$success = $results['ips'] && $results['uas'];
		$message = $success
			? __( 'Guest Mode lists synced successfully.', 'litespeed-cache' )
			: __( 'Failed to sync Guest Mode lists.', 'litespeed-cache' );

		return [
			'success' => $success,
			'message' => $message,
		];
	}

	/**
	 * Fetch data from API.
	 *
	 * @since 7.7
	 * @param string $url API URL.
	 * @return string|false Data on success, false on failure.
	 */
	private function _fetch_api( $url ) {
		self::debug( 'Fetching: ' . $url );

		$response = wp_remote_get(
			$url,
			[
				'timeout' => 15,
			]
		);

		if ( is_wp_error( $response ) ) {
			self::debug( 'Fetch error: ' . $response->get_error_message() );
			return false;
		}

		$code = wp_remote_retrieve_response_code( $response );
		if ( 200 !== $code ) {
			self::debug( 'Fetch failed with code: ' . $code );
			return false;
		}

		$body = wp_remote_retrieve_body( $response );
		if ( empty( $body ) ) {
			self::debug( 'Empty response body' );
			return false;
		}

		return $body;
	}

	/**
	 * Handle all request actions from main class.
	 *
	 * @since 7.7
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_SYNC:
				$result = $this->sync_lists();
				if ( Router::is_ajax() ) {
					wp_send_json( $result );
				}
				if ( $result['success'] ) {
					Admin_Display::success( $result['message'] );
				} else {
					Admin_Display::error( $result['message'] );
				}
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\%�����#litespeed-cache/src/crawler.cls.phpnu�[���<?php
/**
 * The crawler class.
 *
 * @package LiteSpeed
 * @since 1.1.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Handles sitemap crawling, blacklisting, and async operations.
 */
class Crawler extends Root {

	const LOG_TAG = '🕸️';

	const TYPE_REFRESH_MAP     = 'refresh_map';
	const TYPE_EMPTY           = 'empty';
	const TYPE_BLACKLIST_EMPTY = 'blacklist_empty';
	const TYPE_BLACKLIST_DEL   = 'blacklist_del';
	const TYPE_BLACKLIST_ADD   = 'blacklist_add';
	const TYPE_START           = 'start';
	const TYPE_RESET           = 'reset';

	const USER_AGENT      = 'lscache_walker';
	const FAST_USER_AGENT = 'lscache_runner';
	const CHUNKS          = 10000;

	const STATUS_WAIT      = 'W';
	const STATUS_HIT       = 'H';
	const STATUS_MISS      = 'M';
	const STATUS_BLACKLIST = 'B';
	const STATUS_NOCACHE   = 'N';

	/**
	 * Sitemeta file slug.
	 *
	 * @var string
	 */
	private $_sitemeta = 'meta.data';

	/**
	 * Reset file full path.
	 *
	 * @var string
	 */
	private $_resetfile;

	/**
	 * Reason that ended current run.
	 *
	 * @var string
	 */
	private $_end_reason;

	/**
	 * Number of CPU cores.
	 *
	 * @var int
	 */
	private $_ncpu = 1;

	/**
	 * Server IP set in settings.
	 *
	 * @var string|null
	 */
	private $_server_ip;

	/**
	 * Crawler configuration.
	 *
	 * @var array
	 */
	private $_crawler_conf = [
		'cookies' => [],
		'headers' => [],
		'ua'      => '',
	];

	/**
	 * Built crawler variants.
	 *
	 * @var array<int,array>
	 */
	private $_crawlers = [];

	/**
	 * Current allowed worker threads.
	 *
	 * @var int
	 */
	private $_cur_threads = -1;

	/**
	 * Max timestamp to run until.
	 *
	 * @var int
	 */
	private $_max_run_time;

	/**
	 * Last time threads were adjusted.
	 *
	 * @var int
	 */
	private $_cur_thread_time;

	/**
	 * Map-status list to batch-save.
	 *
	 * @var array
	 */
	private $_map_status_list = [
		'H' => [],
		'M' => [],
		'B' => [],
		'N' => [],
	];

	/**
	 * Summary cache.
	 *
	 * @var array
	 */
	protected $_summary;

	/**
	 * Initialize crawler, assign sitemap path.
	 *
	 * @since 1.1.0
	 */
	public function __construct() {
		if ( is_multisite() ) {
			$this->_sitemeta = 'meta' . get_current_blog_id() . '.data';
		}

		$this->_resetfile = LITESPEED_STATIC_DIR . '/crawler/' . $this->_sitemeta . '.reset';

		$this->_summary = self::get_summary();

		$this->_ncpu      = $this->_get_server_cpu();
		$this->_server_ip = $this->conf( Base::O_SERVER_IP );

		self::debug( 'Init w/ CPU cores=' . $this->_ncpu );
	}

	/**
	 * Try get server CPUs.
	 *
	 * @since 5.2
	 * @return int Number of cores detected.
	 */
	private function _get_server_cpu() {
		$cpuinfo_file     = '/proc/cpuinfo';
		$setting_open_dir = ini_get( 'open_basedir' );
		if ( $setting_open_dir ) {
			return 1; // Server has limit.
		}

		try {
			// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
			if (!@is_file($cpuinfo_file)) {
				return 1;
			}
		} catch ( \Exception $e ) {
			return 1;
		}

		// Local system read; no WP alternative. Suppress sniff.
		// phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
		$cpuinfo = file_get_contents( $cpuinfo_file );
		preg_match_all( '/^processor/m', $cpuinfo, $matches );
		$cnt = isset( $matches[0] ) ? count( $matches[0] ) : 0;
		return $cnt ? $cnt : 1;
	}

	/**
	 * Check whether the current crawler is active.
	 *
	 * @since 4.3
	 * @param int $curr Crawler index.
	 * @return bool Active state.
	 */
	public function is_active( $curr ) {
		$bypass_list = self::get_option( 'bypass_list', [] );
		return ! in_array( (int) $curr, $bypass_list, true );
	}

	/**
	 * Toggle the current crawler's active state and return the updated state.
	 *
	 * @since 4.3
	 * @param int $curr Crawler index.
	 * @return bool True if turned on, false if turned off.
	 */
	public function toggle_activeness( $curr ) {
		$bypass_list = self::get_option( 'bypass_list', [] );
		if ( in_array( (int) $curr, $bypass_list, true ) ) {
			// Remove it.
			$key = array_search( (int) $curr, $bypass_list, true );
			if ( false !== $key ) {
				unset( $bypass_list[ $key ] );
				$bypass_list = array_values( $bypass_list );
				self::update_option( 'bypass_list', $bypass_list );
			}
			return true;
		}

		// Add it.
		$bypass_list[] = (int) $curr;
		self::update_option( 'bypass_list', $bypass_list );
		return false;
	}

	/**
	 * Clear bypassed list.
	 *
	 * @since 4.3
	 * @access public
	 * @return void
	 */
	public function clear_disabled_list() {
		self::update_option( 'bypass_list', [] );

		$msg = __( 'Crawler disabled list is cleared! All crawlers are set to active! ', 'litespeed-cache' );
		Admin_Display::note( $msg );

		self::debug( 'All crawlers are set to active...... ' );
	}

	/**
	 * Overwrite get_summary to init elements.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string|false $field Field name to fetch or false to get all.
	 * @return mixed Summary value/array or null if not found.
	 */
	public static function get_summary( $field = false ) {
		$_default = [
			'list_size'                 => 0,
			'last_update_time'          => 0,
			'curr_crawler'              => 0,
			'curr_crawler_beginning_time' => 0,
			'last_pos'                  => 0,
			'last_count'                => 0,
			'last_crawled'              => 0,
			'last_start_time'           => 0,
			'last_status'               => '',
			'is_running'                => 0,
			'end_reason'                => '',
			'meta_save_time'            => 0,
			'pos_reset_check'           => 0,
			'done'                      => 0,
			'this_full_beginning_time'  => 0,
			'last_full_time_cost'       => 0,
			'last_crawler_total_cost'   => 0,
			'crawler_stats'             => [], // this will store all crawlers hit/miss crawl status.
		];

		wp_cache_delete( 'alloptions', 'options' ); // ensure the summary is current.
		$summary = parent::get_summary();
		$summary = array_merge( $_default, $summary );

		if ( false === $field ) {
			return $summary;
		}

		if ( array_key_exists( $field, $summary ) ) {
			return $summary[ $field ];
		}

		return null;
	}

	/**
	 * Overwrite save_summary.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param array|false $data      Data to save or false to save current.
	 * @param bool        $reload    Whether to reload after saving.
	 * @param bool        $overwrite Whether to overwrite completely.
	 * @return void
	 */
	public static function save_summary( $data = false, $reload = false, $overwrite = false ) {
		$instance                             = self::cls();
		$instance->_summary['meta_save_time'] = time();

		if ( false === $data ) {
			$data = $instance->_summary;
		}

		parent::save_summary( $data, $reload, $overwrite );

		File::save( LITESPEED_STATIC_DIR . '/crawler/' . $instance->_sitemeta, wp_json_encode( $data ), true );
	}

	/**
	 * Cron start async crawling.
	 *
	 * @since 5.5
	 * @return void
	 */
	public static function start_async_cron() {
		Task::async_call( 'crawler' );
	}

	/**
	 * Manually start async crawling.
	 *
	 * @since 5.5
	 * @return void
	 */
	public static function start_async() {
		Task::async_call( 'crawler_force' );

		$msg = __( 'Started async crawling', 'litespeed-cache' );
		Admin_Display::success( $msg );
	}

	/**
	 * Ajax crawl handler.
	 *
	 * @since 5.5
	 * @param bool $manually_run Whether manually triggered.
	 * @return void
	 */
	public static function async_handler( $manually_run = false ) {
		self::debug( '------------async-------------start_async_handler' );
		self::start( (bool) $manually_run );
	}

	/**
	 * Proceed crawling.
	 *
	 * @since 1.1.0
	 * @access public
	 *
	 * @param bool $manually_run Whether manually triggered.
	 * @return bool|void
	 */
	public static function start( $manually_run = false ) {
		if ( ! Router::can_crawl() ) {
			self::debug( '......crawler is NOT allowed by the server admin......' );
			return false;
		}

		if ( $manually_run ) {
			self::debug( '......crawler manually ran......' );
		}

		self::cls()->_crawl_data( (bool) $manually_run );
	}

	/**
	 * Crawling start.
	 *
	 * @since 1.1.0
	 * @access private
	 *
	 * @param bool $manually_run Whether manually triggered.
	 * @return void
	 */
	private function _crawl_data( $manually_run ) {
		if ( ! defined( 'LITESPEED_LANE_HASH' ) ) {
			define( 'LITESPEED_LANE_HASH', Str::rrand( 8 ) );
		}
		if ( $this->_check_valid_lane() ) {
			$this->_take_over_lane();
		} else {
			self::debug( '⚠️ lane in use' );
			return;
		}
		self::debug( '......crawler started......' );

		// for the first time running.
		if ( ! $this->_summary || ! Data::cls()->tb_exist( 'crawler' ) || ! Data::cls()->tb_exist( 'crawler_blacklist' ) ) {
			$this->cls( 'Crawler_Map' )->gen();
		}

		// if finished last time, regenerate sitemap.
		if ( 'touchedEnd' === $this->_summary['done'] ) {
			// check whole crawling interval.
			$last_finished_at = (int) $this->_summary['last_full_time_cost'] + (int) $this->_summary['this_full_beginning_time'];
			if ( ! $manually_run && ( time() - $last_finished_at ) < $this->conf( Base::O_CRAWLER_CRAWL_INTERVAL ) ) {
				self::debug( 'Cron abort: cache warmed already.' );
				$this->Release_lane();
				return;
			}
			self::debug( 'TouchedEnd. regenerate sitemap....' );
			$this->cls( 'Crawler_Map' )->gen();
		}

		$crawlers       = $this->list_crawlers();
		$crawlers_count = count( $crawlers );

		// Skip the crawlers that in bypassed list.
		while ( ! $this->is_active( $this->_summary['curr_crawler'] ) && $this->_summary['curr_crawler'] < $crawlers_count ) {
			self::debug( 'Skipped the Crawler #' . $this->_summary['curr_crawler'] . ' ......' );
			$this->_summary['curr_crawler'] = (int) $this->_summary['curr_crawler'] + 1;
		}
		if ( $this->_summary['curr_crawler'] >= $crawlers_count ) {
			$this->_end_reason = 'end';
			$this->_terminate_running();
			$this->Release_lane();
			return;
		}

		// In case crawlers are all done but not reload, reload it.
		if ( empty( $this->_summary['curr_crawler'] ) || empty( $this->_crawlers[ $this->_summary['curr_crawler'] ] ) ) {
			$this->_summary['curr_crawler']                                     = 0;
			$this->_summary['crawler_stats'][ $this->_summary['curr_crawler'] ] = [];
		}

		$res = $this->load_conf();
		if ( ! $res ) {
			self::debug( 'Load conf failed' );
			$this->_terminate_running();
			$this->Release_lane();
			return;
		}

		try {
			$this->_engine_start();
			$this->Release_lane();
		} catch ( \Exception $e ) {
			self::debug( '🛑 ' . $e->getMessage() );
		}
	}

	/**
	 * Load conf before running crawler.
	 *
	 * @since 3.0
	 * @access private
	 * @return bool True on success.
	 */
	private function load_conf() {
		$this->_crawler_conf['base'] = site_url();

		$current_crawler = $this->_crawlers[ $this->_summary['curr_crawler'] ];

		// Cookies.
		foreach ( $current_crawler as $k => $v ) {
			if ( 0 !== strpos( $k, 'cookie:' ) ) {
				continue;
			}

			if ( '_null' === $v ) {
				continue;
			}

			$this->_crawler_conf['cookies'][ substr( $k, 7 ) ] = $v;
		}

		// WebP/AVIF simulation.
		if ( ! empty( $current_crawler['webp'] ) ) {
			$this->_crawler_conf['headers'][] = 'Accept: image/' . ( 2 === (int) $this->conf( Base::O_IMG_OPTM_WEBP ) ? 'avif' : 'webp' ) . ',*/*';
		}

		// Mobile crawler.
		if ( ! empty( $current_crawler['mobile'] ) ) {
			$this->_crawler_conf['ua'] = 'Mobile iPhone';
		}

		// Limit delay to use server setting.
		$this->_crawler_conf['run_delay'] = 500; // microseconds.
		if ( defined( 'LITESPEED_CRAWLER_USLEEP' ) && constant( 'LITESPEED_CRAWLER_USLEEP' ) > $this->_crawler_conf['run_delay'] ) {
			$this->_crawler_conf['run_delay'] = (int) constant( 'LITESPEED_CRAWLER_USLEEP' );
		}
		if ( isset( $_SERVER[ Base::ENV_CRAWLER_USLEEP ] ) ) {
			$env_usleep = absint( wp_unslash( $_SERVER[ Base::ENV_CRAWLER_USLEEP ] ) );
			if ( $env_usleep > (int) $this->_crawler_conf['run_delay'] ) {
				$this->_crawler_conf['run_delay'] = $env_usleep;
			}
		}

		$this->_crawler_conf['run_duration'] = $this->get_crawler_duration();

		$this->_crawler_conf['load_limit'] = (int) $this->conf( Base::O_CRAWLER_LOAD_LIMIT );
		if ( isset( $_SERVER[ Base::ENV_CRAWLER_LOAD_LIMIT_ENFORCE ] ) ) {
			$this->_crawler_conf['load_limit'] = absint( wp_unslash( $_SERVER[ Base::ENV_CRAWLER_LOAD_LIMIT_ENFORCE ] ) );
		} elseif ( isset( $_SERVER[ Base::ENV_CRAWLER_LOAD_LIMIT ] ) ) {
			$env_limit = absint( wp_unslash( $_SERVER[ Base::ENV_CRAWLER_LOAD_LIMIT ] ) );
			if ( $env_limit < (int) $this->_crawler_conf['load_limit'] ) {
				$this->_crawler_conf['load_limit'] = $env_limit;
			}
		}
		if ( 0 === (int) $this->_crawler_conf['load_limit'] ) {
			self::debug( '🛑 Terminated crawler due to load limit set to 0' );
			return false;
		}

		// Role simulation.
		if ( ! empty( $current_crawler['uid'] ) ) {
			if ( empty( $this->_server_ip ) ) {
				self::debug( '🛑 Terminated crawler due to Server IP not set' );
				return false;
			}
			$vary_name                                    = $this->cls( 'Vary' )->get_vary_name();
			$vary_val                                     = $this->cls( 'Vary' )->finalize_default_vary( $current_crawler['uid'] );
			$this->_crawler_conf['cookies'][ $vary_name ] = $vary_val;
			$this->_crawler_conf['cookies']['litespeed_hash'] = Router::cls()->get_hash( $current_crawler['uid'] );
		}

		return true;
	}

	/**
	 * Get crawler duration allowance.
	 *
	 * @since 7.0
	 * @return int Seconds.
	 */
	public function get_crawler_duration() {
		$run_duration = defined( 'LITESPEED_CRAWLER_DURATION' ) ? (int) constant( 'LITESPEED_CRAWLER_DURATION' ) : 900;
		if ( $run_duration > 900 ) {
			$run_duration = 900; // reset to default value if defined higher than 900 seconds.
		}
		return $run_duration;
	}

	/**
	 * Start crawler.
	 *
	 * @since 1.1.0
	 * @access private
	 * @return void
	 */
	private function _engine_start() {
		// check current load.
		$this->_adjust_current_threads();
		if ( 0 === (int) $this->_cur_threads ) {
			$this->_end_reason = 'stopped_highload';
			self::debug( 'Stopped due to heavy load.' );
			return;
		}

		// log started time.
		self::save_summary( [ 'last_start_time' => time() ] );

		// set time limit.
		$max_time = (int) ini_get( 'max_execution_time' );
		self::debug( 'ini_get max_execution_time=' . $max_time );
		if ( 0 === $max_time ) {
			$max_time = 300; // hardlimit.
		} else {
			$max_time -= 5;
		}
		if ( $max_time >= (int) $this->_crawler_conf['run_duration'] ) {
			$max_time = (int) $this->_crawler_conf['run_duration'];
			self::debug( 'Use run_duration setting as max_execution_time=' . $max_time );
		// phpcs:ignore WordPress.PHP.IniSet.max_execution_time_Disallowed -- Required for crawler functionality.
		} elseif ( ini_set( 'max_execution_time', $this->_crawler_conf['run_duration'] + 15 ) !== false ) {
			$max_time = $this->_crawler_conf['run_duration'];
			self::debug( 'ini_set max_execution_time=' . $max_time );
		}
		self::debug( 'final max_execution_time=' . $max_time );
		$this->_max_run_time = $max_time + time();

		// mark running.
		$this->_prepare_running();
		// run crawler.
		$this->_do_running();
		$this->_terminate_running();
	}

	/**
	 * Get server load.
	 *
	 * @since 5.5
	 * @return int Load or -1 if unsupported.
	 */
	public function get_server_load() {
		if ( ! function_exists( 'sys_getloadavg' ) ) {
			return -1;
		}

		$curload = sys_getloadavg();
		$curload = (float) $curload[0];
		self::debug( 'Server load: ' . $curload );
		return $curload;
	}

	/**
	 * Adjust threads dynamically.
	 *
	 * @since 1.1.0
	 * @access private
	 * @return void
	 */
	private function _adjust_current_threads() {
		$curload = $this->get_server_load();
		if ( -1 === (int) $curload ) {
			self::debug( 'set threads=0 due to func sys_getloadavg not exist!' );
			$this->_cur_threads = 0;
			return;
		}

		$curload        /= (float) $this->_ncpu;
		$crawler_threads = defined( 'LITESPEED_CRAWLER_THREADS' ) ? (int) constant( 'LITESPEED_CRAWLER_THREADS' ) : 3;
		$load_limit      = (float) $this->_crawler_conf['load_limit'];
		$current_threads = (int) $this->_cur_threads;

		if ( -1 === $current_threads ) {
			// init.
			if ( $curload > $load_limit ) {
				$curthreads = 0;
			} elseif ( $curload >= ( $load_limit - 1 ) ) {
				$curthreads = 1;
			} else {
				$curthreads = (int) ( $load_limit - $curload );
				if ( $curthreads > $crawler_threads ) {
					$curthreads = $crawler_threads;
				}
			}
		} else {
			// adjust.
			$curthreads = $current_threads;
			if ( $curload >= ( $load_limit + 1 ) ) {
				sleep( 5 ); // sleep 5 secs.
				if ( $curthreads >= 1 ) {
					--$curthreads;
				}
			} elseif ( $curload >= $load_limit ) {
				--$curthreads;
			} elseif ( ( $curload + 1 ) < $load_limit ) {
				if ( $curthreads < $crawler_threads ) {
					++$curthreads;
				}
			}
		}

		$this->_cur_threads     = (int) $curthreads;
		$this->_cur_thread_time = time();
	}

	/**
	 * Mark running status.
	 *
	 * @since 1.1.0
	 * @access private
	 * @return void
	 */
	private function _prepare_running() {
		$this->_summary['is_running']   = time();
		$this->_summary['done']         = 0; // reset done status.
		$this->_summary['last_status']  = 'prepare running';
		$this->_summary['last_crawled'] = 0;

		// Current crawler starttime mark.
		if ( 0 === (int) $this->_summary['last_pos'] ) {
			$this->_summary['curr_crawler_beginning_time'] = time();
		}

		if ( 0 === (int) $this->_summary['curr_crawler'] && 0 === (int) $this->_summary['last_pos'] ) {
			$this->_summary['this_full_beginning_time'] = time();
			$this->_summary['list_size']                = $this->cls( 'Crawler_Map' )->count_map();
		}

		if ( 'end' === $this->_summary['end_reason'] && 0 === (int) $this->_summary['last_pos'] ) {
			$this->_summary['crawler_stats'][ $this->_summary['curr_crawler'] ] = [];
		}

		self::save_summary();
	}

	/**
	 * Take over lane.
	 *
	 * @since 6.1
	 * @return void
	 */
	private function _take_over_lane() {
		self::debug( 'Take over lane as lane is free: ' . $this->json_local_path() . '.pid' );
		File::save( $this->json_local_path() . '.pid', LITESPEED_LANE_HASH );
	}

	/**
	 * Update lane file mtime.
	 *
	 * @since 6.1
	 * @return void
	 */
	private function _touch_lane() {
		// phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_touch
		touch( $this->json_local_path() . '.pid' );
	}

	/**
	 * Release lane file.
	 *
	 * @since 6.1
	 * @return void
	 */
	public function Release_lane() {
		$lane_file = $this->json_local_path() . '.pid';
		if ( ! file_exists( $lane_file ) ) {
			return;
		}

		self::debug( 'Release lane' );
		// phpcs:ignore WordPress.WP.AlternativeFunctions.unlink_unlink
		unlink( $lane_file );
	}

	/**
	 * Check if lane is used by other crawlers.
	 *
	 * @since 6.1
	 * @param bool $strict_mode Strict check that file must exist.
	 * @return bool True if valid lane.
	 */
	private function _check_valid_lane( $strict_mode = false ) {
		$lane_file = $this->json_local_path() . '.pid';
		if ( $strict_mode ) {
			if ( ! file_exists( $lane_file ) ) {
				self::debug( 'lane file not existed, strict mode is false [file] ' . $lane_file );
				return false;
			}
		}
		$pid = File::read( $lane_file );
		if ( $pid && LITESPEED_LANE_HASH !== $pid ) {
			// If lane file is older than 1h, ignore.
			if ( ( time() - filemtime( $lane_file ) ) > 3600 ) {
				self::debug( 'Lane file is older than 1h, releasing lane' );
				$this->Release_lane();
				return true;
			}
			return false;
		}
		return true;
	}

	/**
	 * Test port for simulator.
	 *
	 * @since 7.0
	 * @access private
	 * @return bool true if success and can continue crawling, false otherwise.
	 */
	private function _test_port() {
		if ( empty( $this->_server_ip ) ) {
			if ( empty( $this->_crawlers[ $this->_summary['curr_crawler'] ]['uid'] ) ) {
				self::debug( 'Bypass test port as Server IP is not set' );
				return true;
			}
			self::debug( '❌ Server IP not set' );
			return false;
		}
		if ( defined( 'LITESPEED_CRAWLER_LOCAL_PORT' ) ) {
			self::debug( '✅ LITESPEED_CRAWLER_LOCAL_PORT already defined' );
			return true;
		}
		// Don't repeat testing in 120s.
		if ( ! empty( $this->_summary['test_port_tts'] ) && ( time() - (int) $this->_summary['test_port_tts'] ) < 120 ) {
			if ( ! empty( $this->_summary['test_port'] ) ) {
				self::debug( '✅ Use tested local port: ' . $this->_summary['test_port'] );
				define( 'LITESPEED_CRAWLER_LOCAL_PORT', (int) $this->_summary['test_port'] );
				return true;
			}
			return false;
		}
		$this->_summary['test_port_tts'] = time();
		self::save_summary();

		$options = $this->_get_curl_options();
		$home    = home_url();
		File::save( LITESPEED_STATIC_DIR . '/crawler/test_port.html', $home, true );
		$url        = LITESPEED_STATIC_URL . '/crawler/test_port.html';
		$parsed_url = wp_parse_url( $url );
		if ( empty( $parsed_url['host'] ) ) {
			self::debug( '❌ Test port failed, invalid URL: ' . $url );
			return false;
		}
		$resolved                                = $parsed_url['host'] . ':443:' . $this->_server_ip;
		$options[ CURLOPT_RESOLVE ]              = [ $resolved ];
		$options[ CURLOPT_DNS_USE_GLOBAL_CACHE ] = false;
		$options[ CURLOPT_HEADER ]               = false;
		self::debug( 'Test local 443 port for ' . $resolved );

		// cURL is intentionally used for speed; suppress sniffs in this method.
		// phpcs:disable WordPress.WP.AlternativeFunctions
		$ch = curl_init();
		curl_setopt_array( $ch, $options );
		curl_setopt( $ch, CURLOPT_URL, $url );
		$result      = curl_exec( $ch );
		$test_result = false;
		if ( curl_errno( $ch ) || $result !== $home ) {
			if ( curl_errno( $ch ) ) {
				self::debug( '❌ Test port curl error: [errNo] ' . curl_errno( $ch ) . ' [err] ' . curl_error( $ch ) );
			} elseif ( $result !== $home ) {
				self::debug( '❌ Test port response is wrong: ' . $result );
			}
			self::debug( '❌ Test local 443 port failed, try port 80' );

			// Try port 80.
			$resolved                   = $parsed_url['host'] . ':80:' . $this->_server_ip;
			$options[ CURLOPT_RESOLVE ] = [ $resolved ];
			$url                        = str_replace( 'https://', 'http://', $url );
			if ( empty( $options[ CURLOPT_HTTPHEADER ] ) || ! in_array( 'X-Forwarded-Proto: https', $options[ CURLOPT_HTTPHEADER ], true ) ) {
				$options[ CURLOPT_HTTPHEADER ][] = 'X-Forwarded-Proto: https';
			}
			$ch = curl_init();
			curl_setopt_array( $ch, $options );
			curl_setopt( $ch, CURLOPT_URL, $url );
			$result = curl_exec( $ch );
			if ( curl_errno( $ch ) ) {
				self::debug( '❌ Test port curl error: [errNo] ' . curl_errno( $ch ) . ' [err] ' . curl_error( $ch ) );
			} elseif ( $result !== $home ) {
				self::debug( '❌ Test port response is wrong: ' . $result );
			} else {
				self::debug( '✅ Test local 80 port successfully' );
				define( 'LITESPEED_CRAWLER_LOCAL_PORT', 80 );
				$this->_summary['test_port'] = 80;
				$test_result                 = true;
			}
		} else {
			self::debug( '✅ Tested local 443 port successfully' );
			define( 'LITESPEED_CRAWLER_LOCAL_PORT', 443 );
			$this->_summary['test_port'] = 443;
			$test_result                 = true;
		}
		self::save_summary();
		curl_close( $ch );
		// phpcs:enable
		return $test_result;
	}

	/**
	 * Run crawler.
	 *
	 * @since 1.1.0
	 * @access private
	 * @return void
	 * @throws \Exception When lane becomes invalid during run.
	 */
	private function _do_running() {
		$options = $this->_get_curl_options( true );

		// If is role simulator and not defined local port, check port once.
		$test_result = $this->_test_port();
		if ( ! $test_result ) {
			$this->_end_reason = 'port_test_failed';
			self::debug( '❌ Test port failed, crawler stopped.' );
			return;
		}

		while ( true ) {
			$url_chunks = $this->cls( 'Crawler_Map' )->list_map( self::CHUNKS, $this->_summary['last_pos'] );
			if ( empty( $url_chunks ) ) {
				break;
			}

			$url_chunks = array_chunk( $url_chunks, (int) $this->_cur_threads );
			foreach ( $url_chunks as $rows ) {
				if ( ! $this->_check_valid_lane( true ) ) {
					$this->_end_reason = 'lane_invalid';
					self::debug( '🛑 The crawler lane is used by newer crawler.' );
					throw new \Exception( 'invalid crawler lane' );
				}
				// Update time.
				$this->_touch_lane();

				// multi curl.
				$rets = $this->_multi_request( $rows, $options );

				// check result headers.
				foreach ( $rows as $row ) {
					if ( empty( $rets[ $row['id'] ] ) ) {
						continue;
					}
					if ( 428 === (int) $rets[ $row['id'] ]['code'] ) {
						// HTTP/1.1 428 Precondition Required (need to test)
						$this->_end_reason = 'crawler_disabled';
						self::debug( 'crawler_disabled' );
						return;
					}

					$status = $this->_status_parse( $rets[ $row['id'] ]['header'], $rets[ $row['id'] ]['code'], $row['url'] ); // B or H or M or N(nocache).
					self::debug( '[status] ' . $this->_status2title( $status ) . "\t\t [url] " . $row['url'] );
					$this->_map_status_list[ $status ][ $row['id'] ] = [
						'url'  => $row['url'],
						'code' => (int) $rets[ $row['id'] ]['code'], // 201 or 200 or 404.
					];
					if ( empty( $this->_summary['crawler_stats'][ $this->_summary['curr_crawler'] ][ $status ] ) ) {
						$this->_summary['crawler_stats'][ $this->_summary['curr_crawler'] ][ $status ] = 0;
					}
					++$this->_summary['crawler_stats'][ $this->_summary['curr_crawler'] ][ $status ];
				}

				// update offset position.
				$_time                              = time();
				$this->_summary['last_count']       = count( $rows );
				$this->_summary['last_pos']        += $this->_summary['last_count'];
				$this->_summary['last_crawled']    += $this->_summary['last_count'];
				$this->_summary['last_update_time'] = $_time;
				$this->_summary['last_status']      = 'updated position';

				// check duration.
				if ( $this->_summary['last_update_time'] > $this->_max_run_time ) {
					$this->_end_reason = 'stopped_maxtime';
					self::debug( 'Terminated due to maxtime' );
					return;
				}

				// make sure at least each 10s save meta & map status once.
				if ( $_time - $this->_summary['meta_save_time'] > 10 ) {
					$this->_map_status_list = $this->cls( 'Crawler_Map' )->save_map_status( $this->_map_status_list, $this->_summary['curr_crawler'] );
					self::save_summary();
				}

				// check if need to reset pos each 5s.
				if ( $_time > $this->_summary['pos_reset_check'] ) {
					$this->_summary['pos_reset_check'] = $_time + 5;
					if ( file_exists( $this->_resetfile ) && unlink( $this->_resetfile ) ) { // phpcs:ignore WordPress.WP.AlternativeFunctions.unlink_unlink
						self::debug( 'Terminated due to reset file' );

						$this->_summary['last_pos']     = 0;
						$this->_summary['curr_crawler'] = 0;
						$this->_summary['crawler_stats'][ $this->_summary['curr_crawler'] ] = [];
						// reset done status.
						$this->_summary['done']                     = 0;
						$this->_summary['this_full_beginning_time'] = 0;
						$this->_end_reason                          = 'stopped_reset';
						return;
					}
				}

				// check loads.
				if ( ( $this->_summary['last_update_time'] - $this->_cur_thread_time ) > 60 ) {
					$this->_adjust_current_threads();
					if ( 0 === (int) $this->_cur_threads ) {
						$this->_end_reason = 'stopped_highload';
						self::debug( '🛑 Terminated due to highload' );
						return;
					}
				}

				$this->_summary['last_status'] = 'sleeping ' . (int) $this->_crawler_conf['run_delay'] . 'ms';

				usleep( (int) $this->_crawler_conf['run_delay'] );
			}
		}

		// All URLs are done for current crawler.
		$this->_end_reason = 'end';
		$this->_summary['crawler_stats'][ $this->_summary['curr_crawler'] ]['W'] = 0;
		self::debug( 'Crawler #' . $this->_summary['curr_crawler'] . ' touched end' );
	}

	/**
	 * If need to resolve DNS or not.
	 *
	 * @since 7.3.0.1
	 * @return bool
	 */
	private function _should_force_resolve_dns() {
		if ( ! empty( $this->_server_ip ) ) {
			return true;
		}
		if ( ! empty( $this->_crawler_conf['cookies'] ) && ! empty( $this->_crawler_conf['cookies']['litespeed_hash'] ) ) {
			return true;
		}
		return false;
	}

	/**
	 * Send multi curl requests.
	 * If res=B/N, bypass request and won't return.
	 *
	 * @since 1.1.0
	 * @access private
	 *
	 * @param array<int,array<string,mixed>> $rows    Rows to crawl.
	 * @param array                          $options cURL options.
	 * @return array<int,array{header:string,code:int}>
	 */
	private function _multi_request( $rows, $options ) {
		if ( ! function_exists( 'curl_multi_init' ) ) {
			exit( 'curl_multi_init disabled' );
		}
		// phpcs:disable WordPress.WP.AlternativeFunctions
		$mh                  = curl_multi_init();
		$crawler_drop_domain = defined( 'LITESPEED_CRAWLER_DROP_DOMAIN' ) ? (bool) constant( 'LITESPEED_CRAWLER_DROP_DOMAIN' ) : false;
		$curls               = [];
		foreach ( $rows as $row ) {
			if ( self::STATUS_BLACKLIST === substr( $row['res'], $this->_summary['curr_crawler'], 1 ) ) {
				continue;
			}
			if ( self::STATUS_NOCACHE === substr( $row['res'], $this->_summary['curr_crawler'], 1 ) ) {
				continue;
			}

			if (!function_exists('curl_init')) {
				exit('curl_init disabled');
			}

			$curls[$row['id']] = curl_init();

			// Append URL.
			$url = $row['url'];
			if ( $crawler_drop_domain ) {
				$url = $this->_crawler_conf['base'] . $row['url'];
			}

			// IP resolve.
			if ( $this->_should_force_resolve_dns() ) {
				$parsed_url = wp_parse_url( $url );
				if ( ! empty( $parsed_url['host'] ) ) {
					$dom                                     = $parsed_url['host'];
					$port                                    = defined( 'LITESPEED_CRAWLER_LOCAL_PORT' ) ? (int) LITESPEED_CRAWLER_LOCAL_PORT : 443;
					$resolved                                = $dom . ':' . $port . ':' . $this->_server_ip;
					$options[ CURLOPT_RESOLVE ]              = [ $resolved ];
					$options[ CURLOPT_DNS_USE_GLOBAL_CACHE ] = false;
					if ( 80 === $port ) {
						$url = str_replace( 'https://', 'http://', $url );
						if ( empty( $options[ CURLOPT_HTTPHEADER ] ) || ! in_array( 'X-Forwarded-Proto: https', $options[ CURLOPT_HTTPHEADER ], true ) ) {
							$options[ CURLOPT_HTTPHEADER ][] = 'X-Forwarded-Proto: https';
						}
					}
					self::debug( 'Resolved DNS for ' . $resolved );
				}
			}

			curl_setopt( $curls[ $row['id'] ], CURLOPT_URL, $url );
			self::debug( 'Crawling [url] ' . $url . ( $url === $row['url'] ? '' : ' [ori] ' . $row['url'] ) );

			curl_setopt_array( $curls[ $row['id'] ], $options );

			curl_multi_add_handle( $mh, $curls[ $row['id'] ] );
		}

		// execute curl.
		if ( $curls ) {
			do {
				$status = curl_multi_exec( $mh, $active );
				if ( $active ) {
					curl_multi_select( $mh );
				}
			} while ( $active && CURLM_OK === $status );
		}

		// curl done.
		$ret = [];
		foreach ( $rows as $row ) {
			if ( self::STATUS_BLACKLIST === substr( $row['res'], $this->_summary['curr_crawler'], 1 ) ) {
				continue;
			}
			if ( self::STATUS_NOCACHE === substr( $row['res'], $this->_summary['curr_crawler'], 1 ) ) {
				continue;
			}
			$ch = $curls[ $row['id'] ];

			// Parse header.
			$header_size = curl_getinfo( $ch, CURLINFO_HEADER_SIZE );
			$content     = curl_multi_getcontent( $ch );
			$header      = substr( $content, 0, $header_size );

			$ret[ $row['id'] ] = [
				'header' => $header,
				'code'   => (int) curl_getinfo( $ch, CURLINFO_HTTP_CODE ),
			];
			curl_multi_remove_handle( $mh, $ch );
			curl_close( $ch );
		}
		curl_multi_close( $mh );
		// phpcs:enable
		return $ret;
	}

	/**
	 * Translate the status to title.
	 *
	 * @since 6.0
	 * @param string $status Status char.
	 * @return string Human title.
	 */
	private function _status2title( $status ) {
		if ( self::STATUS_HIT === $status ) {
			return '✅ Hit';
		}
		if ( self::STATUS_MISS === $status ) {
			return '😊 Miss';
		}
		if ( self::STATUS_BLACKLIST === $status ) {
			return '😅 Blacklisted';
		}
		if ( self::STATUS_NOCACHE === $status ) {
			return '😅 Blacklisted';
		}
		return '🛸 Unknown';
	}

	/**
	 * Check returned curl header to find if cached or not.
	 *
	 * @since 2.0
	 * @access private
	 *
	 * @param string $header Response header.
	 * @param int    $code   HTTP code.
	 * @param string $url    URL.
	 * @return string One of status chars.
	 */
	private function _status_parse( $header, $code, $url ) {
		if ( 201 === (int) $code ) {
			return self::STATUS_HIT;
		}

		if ( false !== stripos( $header, 'X-Litespeed-Cache-Control: no-cache' ) ) {
			// If is from DIVI, taken as miss.
			if ( defined( 'LITESPEED_CRAWLER_IGNORE_NONCACHEABLE' ) && constant( 'LITESPEED_CRAWLER_IGNORE_NONCACHEABLE' ) ) {
				return self::STATUS_MISS;
			}

			// If blacklist is disabled.
			if ( ( defined( 'LITESPEED_CRAWLER_DISABLE_BLOCKLIST' ) && constant( 'LITESPEED_CRAWLER_DISABLE_BLOCKLIST' ) ) || apply_filters( 'litespeed_crawler_disable_blocklist', false, $url ) ) {
				return self::STATUS_MISS;
			}

			return self::STATUS_NOCACHE; // Blacklist.
		}

		$_cache_headers = [ 'x-litespeed-cache', 'x-qc-cache', 'x-lsadc-cache' ];

		foreach ( $_cache_headers as $_header ) {
			if ( false !== stripos( $header, $_header ) ) {
				if ( false !== stripos( $header, $_header . ': bkn' ) ) {
					return self::STATUS_HIT; // Hit.
				}
				if ( false !== stripos( $header, $_header . ': miss' ) ) {
					return self::STATUS_MISS; // Miss.
				}
				return self::STATUS_HIT; // Hit.
			}
		}

		// If blacklist is disabled.
		if ( ( defined( 'LITESPEED_CRAWLER_DISABLE_BLOCKLIST' ) && constant( 'LITESPEED_CRAWLER_DISABLE_BLOCKLIST' ) ) || apply_filters( 'litespeed_crawler_disable_blocklist', false, $url ) ) {
			return self::STATUS_MISS;
		}

		return self::STATUS_BLACKLIST; // Blacklist.
	}

	/**
	 * Get curl options.
	 *
	 * @since 1.1.0
	 * @access private
	 *
	 * @param bool $crawler_only Whether crawler-only UA.
	 * @return array
	 */
	private function _get_curl_options( $crawler_only = false ) {
		$crawler_timeout                 = defined( 'LITESPEED_CRAWLER_TIMEOUT' ) ? (int) constant( 'LITESPEED_CRAWLER_TIMEOUT' ) : 30;
		$options                         = [
			CURLOPT_RETURNTRANSFER   => true,
			CURLOPT_HEADER           => true,
			CURLOPT_CUSTOMREQUEST    => 'GET',
			CURLOPT_FOLLOWLOCATION   => false,
			CURLOPT_ENCODING         => 'gzip',
			CURLOPT_CONNECTTIMEOUT   => 10,
			CURLOPT_TIMEOUT          => $crawler_timeout, // Larger timeout to avoid incorrect blacklist addition #900171.
			CURLOPT_SSL_VERIFYHOST   => 0,
			CURLOPT_SSL_VERIFYPEER   => false,
			CURLOPT_NOBODY           => false,
			CURLOPT_HTTPHEADER       => $this->_crawler_conf['headers'],
		];
		$options[ CURLOPT_HTTPHEADER ][] = 'Cache-Control: max-age=0';
		$options[ CURLOPT_HTTP_VERSION ] = CURL_HTTP_VERSION_1_1;
		// if is walker
		// $options[ CURLOPT_FRESH_CONNECT ] = true;

		// Referer.
		if ( isset( $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_URI'] ) ) {
			$host                       = sanitize_text_field( wp_unslash( $_SERVER['HTTP_HOST'] ) );
			$uri                        = sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) );
			$options[ CURLOPT_REFERER ] = 'http://' . $host . $uri;
		}

		// User Agent.
		if ( $crawler_only ) {
			if ( 0 !== strpos( (string) $this->_crawler_conf['ua'], self::FAST_USER_AGENT ) ) {
				$this->_crawler_conf['ua'] = self::FAST_USER_AGENT . ' ' . (string) $this->_crawler_conf['ua'];
			}
		}
		$options[ CURLOPT_USERAGENT ] = (string) $this->_crawler_conf['ua'];

		// Cookies.
		$cookies = [];
		foreach ( $this->_crawler_conf['cookies'] as $k => $v ) {
			if ( ! $v ) {
				continue;
			}
			$cookies[] = $k . '=' . rawurlencode( $v );
		}
		if ( $cookies ) {
			$options[ CURLOPT_COOKIE ] = implode( '; ', $cookies );
		}

		return $options;
	}

	/**
	 * Self curl to get HTML content.
	 *
	 * @since 3.3
	 *
	 * @param string       $url URL.
	 * @param string       $ua  User agent.
	 * @param int|false    $uid Optional user ID for simulation.
	 * @param string|false $accept Optional Accept header value.
	 * @return string|false HTML on success, false on failure.
	 */
	public function self_curl( $url, $ua, $uid = false, $accept = false ) {
		$this->_crawler_conf['base'] = site_url();
		$this->_crawler_conf['ua']   = $ua;
		if ( $accept ) {
			$this->_crawler_conf['headers'] = [ 'Accept: ' . $accept ];
		}
		$options = $this->_get_curl_options();

		if ( $uid ) {
			$this->_crawler_conf['cookies']['litespeed_flash_hash'] = Router::cls()->get_flash_hash( $uid );
			$parsed_url = wp_parse_url( $url );

			if ( ! empty( $parsed_url['host'] ) ) {
				$dom                                     = $parsed_url['host'];
				$port                                    = defined( 'LITESPEED_CRAWLER_LOCAL_PORT' ) ? (int) LITESPEED_CRAWLER_LOCAL_PORT : 443;
				$resolved                                = $dom . ':' . $port . ':' . $this->_server_ip;
				$options[ CURLOPT_RESOLVE ]              = [ $resolved ];
				$options[ CURLOPT_DNS_USE_GLOBAL_CACHE ] = false;
				$options[ CURLOPT_PORT ]                 = $port;
				self::debug( 'Resolved DNS for ' . $resolved );
			}
		}

		$options[ CURLOPT_HEADER ]         = false;
		$options[ CURLOPT_FOLLOWLOCATION ] = true;

		// phpcs:disable WordPress.WP.AlternativeFunctions
		$ch = curl_init();
		curl_setopt_array( $ch, $options );
		curl_setopt( $ch, CURLOPT_URL, $url );
		$result = curl_exec( $ch );
		$code   = (int) curl_getinfo( $ch, CURLINFO_HTTP_CODE );
		curl_close( $ch );
		// phpcs:enable

		if ( 200 !== $code ) {
			self::debug( '❌ Response code is not 200 in self_curl() [code] ' . $code );
			return false;
		}

		return $result;
	}

	/**
	 * Terminate crawling.
	 *
	 * @since 1.1.0
	 * @access private
	 * @return void
	 */
	private function _terminate_running() {
		$this->_map_status_list = $this->cls( 'Crawler_Map' )->save_map_status( $this->_map_status_list, $this->_summary['curr_crawler'] );

		if ( 'end' === $this->_end_reason ) {
			$this->_summary['curr_crawler']            = (int) $this->_summary['curr_crawler'] + 1; // Jump to next crawler.
			$this->_summary['last_pos']                = 0; // reset last position.
			$this->_summary['last_crawler_total_cost'] = time() - (int) $this->_summary['curr_crawler_beginning_time'];
			$count_crawlers                            = count( $this->list_crawlers() );
			if ( $this->_summary['curr_crawler'] >= $count_crawlers ) {
				self::debug( '_terminate_running Touched end, whole crawled. Reload crawler!' );
				$this->_summary['curr_crawler']        = 0;
				$this->_summary['done']                = 'touchedEnd'; // log done status.
				$this->_summary['last_full_time_cost'] = time() - (int) $this->_summary['this_full_beginning_time'];
			}
		}
		$this->_summary['last_status'] = 'stopped';
		$this->_summary['is_running']  = 0;
		$this->_summary['end_reason']  = $this->_end_reason;
		self::save_summary();
	}

	/**
	 * List all crawlers ( tagA => [ valueA => titleA, ... ] ... ).
	 *
	 * @since 1.9.1
	 * @access public
	 * @return array<int,array<string,mixed>>
	 */
	public function list_crawlers() {
		if ( $this->_crawlers ) {
			return $this->_crawlers;
		}

		$crawler_factors = [];

		// Add default Guest crawler.
		$crawler_factors['uid'] = [ 0 => __( 'Guest', 'litespeed-cache' ) ];

		// WebP on/off.
		if ( $this->conf( Base::O_IMG_OPTM_WEBP ) ) {
			$crawler_factors['webp'] = [ 1 => $this->cls( 'Media' )->next_gen_image_title() ];
			if ( apply_filters( 'litespeed_crawler_webp', false ) ) {
				$crawler_factors['webp'][0] = '';
			}
		}

		// Guest Mode on/off.
		if ( $this->conf( Base::O_GUEST ) ) {
			$vary_name = $this->cls( 'Vary' )->get_vary_name();
			$vary_val  = 'guest_mode:1';
			if ( ! defined( 'LSCWP_LOG' ) ) {
				$vary_val = md5( $this->conf( Base::HASH ) . $vary_val );
			}
			$crawler_factors[ 'cookie:' . $vary_name ] = [
				$vary_val => '',
				'_null'   => '<font data-balloon-pos="up" aria-label="Guest Mode">👒</font>',
			];
		}

		// Mobile crawler.
		if ( $this->conf( Base::O_CACHE_MOBILE ) ) {
			$crawler_factors['mobile'] = [
				1 => '<font data-balloon-pos="up" aria-label="Mobile">📱</font>',
				0 => '',
			];
		}

		// Get roles set.
		foreach ( $this->conf( Base::O_CRAWLER_ROLES ) as $v ) {
			$role_title = '';
			$udata      = get_userdata( $v );
			if ( isset( $udata->roles ) && is_array( $udata->roles ) ) {
				$tmp        = array_values( $udata->roles );
				$role_title = array_shift( $tmp );
			}
			if ( ! $role_title ) {
				continue;
			}

			$crawler_factors['uid'][ $v ] = ucfirst( $role_title );
		}

		// Cookie crawler.
		foreach ( $this->conf( Base::O_CRAWLER_COOKIES ) as $v ) {
			if ( empty( $v['name'] ) ) {
				continue;
			}

			$this_cookie_key = 'cookie:' . $v['name'];

			$crawler_factors[ $this_cookie_key ] = [];

			foreach ( $v['vals'] as $v2 ) {
				$crawler_factors[ $this_cookie_key ][ $v2 ] =
					( '_null' === $v2 ? '' : '<font data-balloon-pos="up" aria-label="Cookie">🍪</font>' . esc_html( $v['name'] ) . '=' . esc_html( $v2 ) );
			}
		}

		// Crossing generate the crawler list.
		$this->_crawlers = $this->_recursive_build_crawler( $crawler_factors );

		return $this->_crawlers;
	}

	/**
	 * Build a crawler list recursively.
	 *
	 * @since 2.8
	 * @access private
	 *
	 * @param array<string,array> $crawler_factors Factors.
	 * @param array               $group           Current group.
	 * @param int                 $i               Factor index.
	 * @return array<int,array>
	 */
	private function _recursive_build_crawler( $crawler_factors, $group = [], $i = 0 ) {
		$current_factor_keys = array_keys( $crawler_factors );
		$current_factor      = $current_factor_keys[ $i ];

		$if_touch_end = ( $i + 1 ) >= count( $crawler_factors );

		$final_list = [];

		foreach ( $crawler_factors[ $current_factor ] as $k => $v ) {
			$item          = $group; // Don't alter $group bcos of loop usage.
			$item['title'] = ! empty( $group['title'] ) ? $group['title'] : '';
			if ( $v ) {
				if ( $item['title'] ) {
					$item['title'] .= ' - ';
				}
				$item['title'] .= $v;
			}
			$item[ $current_factor ] = $k;

			if ( $if_touch_end ) {
				$final_list[] = $item;
			} else {
				// Inception: next layer.
				$final_list = array_merge( $final_list, $this->_recursive_build_crawler( $crawler_factors, $item, $i + 1 ) );
			}
		}

		return $final_list;
	}

	/**
	 * Return crawler meta file local path.
	 *
	 * @since 6.1
	 * @access public
	 * @return string
	 */
	public function json_local_path() {
		return LITESPEED_STATIC_DIR . '/crawler/' . $this->_sitemeta;
	}

	/**
	 * Return crawler meta file URL.
	 *
	 * @since 1.1.0
	 * @access public
	 * @return string|false
	 */
	public function json_path() {
		if ( ! file_exists( LITESPEED_STATIC_DIR . '/crawler/' . $this->_sitemeta ) ) {
			return false;
		}

		return LITESPEED_STATIC_URL . '/crawler/' . $this->_sitemeta;
	}

	/**
	 * Create reset pos file.
	 *
	 * @since 1.1.0
	 * @access public
	 * @return void
	 */
	public function reset_pos() {
		File::save( $this->_resetfile, time(), true );

		self::save_summary( [ 'is_running' => 0 ] );
	}

	/**
	 * Display status based by matching crawlers order.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $status_row Status string.
	 * @param string $reason_set Comma separated reasons.
	 * @return string HTML dots.
	 */
	public function display_status( $status_row, $reason_set ) {
		if ( ! $status_row ) {
			return '';
		}

		$_status_list = [
			'-'                   => 'default',
			self::STATUS_MISS     => 'primary',
			self::STATUS_HIT      => 'success',
			self::STATUS_BLACKLIST => 'danger',
			self::STATUS_NOCACHE  => 'warning',
		];

		$reason_set = explode( ',', $reason_set );

		$status = '';
		foreach ( str_split( $status_row ) as $k => $v ) {
			$reason = isset( $reason_set[ $k ] ) ? $reason_set[ $k ] : '';
			if ( 'Man' === $reason ) {
				$reason = __( 'Manually added to blocklist', 'litespeed-cache' );
			}
			if ( 'Existed' === $reason ) {
				$reason = __( 'Previously existed in blocklist', 'litespeed-cache' );
			}
			$reason_attr = $reason ? 'data-balloon-pos="up" aria-label="' . esc_attr( $reason ) . '"' : '';
			$status     .= '<i class="litespeed-dot litespeed-bg-' . esc_attr( $_status_list[ $v ] ) . '" ' . $reason_attr . '>' . ( $k + 1 ) . '</i>';
		}

		return $status;
	}

	/**
	 * Handle all request actions from main cls.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_REFRESH_MAP:
				$this->cls( 'Crawler_Map' )->gen( true );
				break;

			case self::TYPE_EMPTY:
				$this->cls( 'Crawler_Map' )->empty_map();
				break;

			case self::TYPE_BLACKLIST_EMPTY:
				$this->cls( 'Crawler_Map' )->blacklist_empty();
				break;

			case self::TYPE_BLACKLIST_DEL:
				// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
				if (!empty($_GET['id'])) {
					// phpcs:ignore WordPress.Security.NonceVerification.Recommended
				$id = absint( wp_unslash( $_GET['id'] ) );
					$this->cls( 'Crawler_Map' )->blacklist_del( $id );
				}
				break;

			case self::TYPE_BLACKLIST_ADD:
				// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
				if (!empty($_GET['id'])) {
					// phpcs:ignore WordPress.Security.NonceVerification.Recommended
				$id = absint( wp_unslash( $_GET['id'] ) );
					$this->cls( 'Crawler_Map' )->blacklist_add( $id );
				}
				break;

			case self::TYPE_START: // Handle the ajax request to proceed crawler manually by admin.
				self::start_async();
				break;

			case self::TYPE_RESET:
				$this->reset_pos();
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\r{�^�%�%%litespeed-cache/src/optimizer.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The optimize4 class.
 *
 * @since       1.9
 * @package     LiteSpeed
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class Optimizer extends Root {

	private $_conf_css_font_display;

	/**
	 * Init optimizer
	 *
	 * @since  1.9
	 */
	public function __construct() {
		$this->_conf_css_font_display = $this->conf(Base::O_OPTM_CSS_FONT_DISPLAY);
	}

	/**
	 * Run HTML minify process and return final content
	 *
	 * @since  1.9
	 * @access public
	 */
	public function html_min( $content, $force_inline_minify = false ) {
		if (!apply_filters('litespeed_html_min', true)) {
			Debug2::debug2('[Optmer] html_min bypassed via litespeed_html_min filter');
			return $content;
		}

		$options = array();

		if ($force_inline_minify) {
			$options['jsMinifier'] = __CLASS__ . '::minify_js';
		}

		$skip_comments = $this->conf(Base::O_OPTM_HTML_SKIP_COMMENTS);
		if ($skip_comments) {
			$options['skipComments'] = $skip_comments;
		}

		/**
		 * Added exception capture when minify
		 *
		 * @since  2.2.3
		 */
		try {
			$obj           = new Lib\HTML_MIN($content, $options);
			$content_final = $obj->process();
			// check if content from minification is empty
			if ($content_final == '') {
				Debug2::debug('Failed to minify HTML: HTML minification resulted in empty HTML');
				return $content;
			}
			if (!defined('LSCACHE_ESI_SILENCE')) {
				$content_final .= "\n" . '<!-- Page optimized by LiteSpeed Cache @' . date('Y-m-d H:i:s', time() + LITESPEED_TIME_OFFSET) . ' -->';
			}
			return $content_final;
		} catch (\Exception $e) {
			Debug2::debug('******[Optmer] html_min failed: ' . $e->getMessage());
			error_log('****** LiteSpeed Optimizer html_min failed: ' . $e->getMessage());
			return $content;
		}
	}

	/**
	 * Run minify process and save content
	 *
	 * @since  1.9
	 * @access public
	 */
	public function serve( $request_url, $file_type, $minify, $src_list ) {
		// Try Unique CSS
		if ($file_type == 'css') {
			$content = false;
			if (defined('LITESPEED_GUEST_OPTM') || $this->conf(Base::O_OPTM_UCSS)) {
				$filename = $this->cls('UCSS')->load($request_url);

				if ($filename) {
					return array( $filename, 'ucss' );
				}
			}
		}

		// Before generated, don't know the contented hash filename yet, so used url hash as tmp filename
		$file_path_prefix = $this->_build_filepath_prefix($file_type);

		$url_tag          = $request_url;
		$url_tag_for_file = md5($request_url);
		if (is_404()) {
			$url_tag_for_file = $url_tag = '404';
		} elseif ($file_type == 'css' && apply_filters('litespeed_ucss_per_pagetype', false)) {
			$url_tag_for_file = $url_tag = Utility::page_type();
		}

		$static_file = LITESPEED_STATIC_DIR . $file_path_prefix . $url_tag_for_file . '.' . $file_type;

		// Create tmp file to avoid conflict
		$tmp_static_file = $static_file . '.tmp';
		if (file_exists($tmp_static_file) && time() - filemtime($tmp_static_file) <= 600) {
			// some other request is generating
			return false;
		}
		// File::save( $tmp_static_file, '/* ' . ( is_404() ? '404' : $request_url ) . ' */', true ); // Can't use this bcos this will get filecon md5 changed
		File::save($tmp_static_file, '', true);

		// Load content
		$real_files = array();
		foreach ($src_list as $src_info) {
			$is_min = false;
			if (!empty($src_info['inl'])) {
				// Load inline
				$content = $src_info['src'];
			} else {
				// Load file
				$content = $this->load_file($src_info['src'], $file_type);

				if (!$content) {
					continue;
				}

				$is_min = $this->is_min($src_info['src']);
			}
			$content = $this->optm_snippet($content, $file_type, $minify && !$is_min, $src_info['src'], !empty($src_info['media']) ? $src_info['media'] : false);
			// Write to file
			File::save($tmp_static_file, $content, true, true);
		}

		// if CSS - run the minification on the saved file.
		// Will move imports to the top of file and remove extra spaces.
		if ($file_type == 'css') {
			$obj                   = new Lib\CSS_JS_MIN\Minify\CSS();
			$file_content_combined = $obj->moveImportsToTop(File::read($tmp_static_file));

			File::save($tmp_static_file, $file_content_combined);
		}

		// validate md5
		$filecon_md5 = md5_file($tmp_static_file);

		$final_file_path = $file_path_prefix . $filecon_md5 . '.' . $file_type;
		$realfile        = LITESPEED_STATIC_DIR . $final_file_path;
		if (!file_exists($realfile)) {
			rename($tmp_static_file, $realfile);
			Debug2::debug2('[Optmer] Saved static file [path] ' . $realfile);
		} else {
			unlink($tmp_static_file);
		}

		$vary = $this->cls('Vary')->finalize_full_varies();
		Debug2::debug2("[Optmer] Save URL to file for [file_type] $file_type [file] $filecon_md5 [vary] $vary ");
		$this->cls('Data')->save_url($url_tag, $vary, $file_type, $filecon_md5, dirname($realfile));

		return array( $filecon_md5 . '.' . $file_type, $file_type );
	}

	/**
	 * Load a single file
	 *
	 * @since  4.0
	 */
	public function optm_snippet( $content, $file_type, $minify, $src, $media = false ) {
		// CSS related features
		if ($file_type == 'css') {
			// Font optimize
			if ($this->_conf_css_font_display) {
				$content = preg_replace('#(@font\-face\s*\{)#isU', '${1}font-display:swap;', $content);
			}

			$content = preg_replace('/@charset[^;]+;\\s*/', '', $content);

			if ($media) {
				$content = '@media ' . $media . '{' . $content . "\n}";
			}

			if ($minify) {
				$content = self::minify_css($content);
			}

			$content = $this->cls('CDN')->finalize($content);

			if ((defined('LITESPEED_GUEST_OPTM') || $this->conf(Base::O_IMG_OPTM_WEBP)) && $this->cls('Media')->webp_support()) {
				$content = $this->cls('Media')->replace_background_webp($content);
			}
		} else {
			if ($minify) {
				$content = self::minify_js($content);
			} else {
				$content = $this->_null_minifier($content);
			}

			$content .= "\n;";
		}

		// Add filter
		$content = apply_filters('litespeed_optm_cssjs', $content, $file_type, $src);

		return $content;
	}

	/**
	 * Load remote resource from cache if existed
	 *
	 * @since  4.7
	 */
	private function load_cached_file( $url, $file_type ) {
		$file_path_prefix     = $this->_build_filepath_prefix($file_type);
		$folder_name          = LITESPEED_STATIC_DIR . $file_path_prefix;
		$to_be_deleted_folder = $folder_name . date('Ymd', strtotime('-2 days'));
		if (file_exists($to_be_deleted_folder)) {
			Debug2::debug('[Optimizer] ❌ Clearing folder [name] ' . $to_be_deleted_folder);
			File::rrmdir($to_be_deleted_folder);
		}

		$today_file = $folder_name . date('Ymd') . '/' . md5($url);
		if (file_exists($today_file)) {
			return File::read($today_file);
		}

		// Write file
		$res      = wp_safe_remote_get($url);
		$res_code = wp_remote_retrieve_response_code($res);
		if (is_wp_error($res) || $res_code != 200) {
			Debug2::debug2('[Optimizer] ❌ Load Remote error [code] ' . $res_code);
			return false;
		}
		$con = wp_remote_retrieve_body($res);
		if (!$con) {
			return false;
		}

		Debug2::debug('[Optimizer] ✅ Save remote file to cache [name] ' . $today_file);
		File::save($today_file, $con, true);

		return $con;
	}

	/**
	 * Load remote/local resource
	 *
	 * @since  3.5
	 */
	public function load_file( $src, $file_type = 'css' ) {
		$real_file = Utility::is_internal_file($src);
		$postfix   = pathinfo(parse_url($src, PHP_URL_PATH), PATHINFO_EXTENSION);
		if (!$real_file || $postfix != $file_type) {
			Debug2::debug2('[CSS] Load Remote [' . $file_type . '] ' . $src);
			$this_url = substr($src, 0, 2) == '//' ? set_url_scheme($src) : $src;
			$con      = $this->load_cached_file($this_url, $file_type);

			if ($file_type == 'css') {
				$dirname = dirname($this_url) . '/';

				$con = Lib\UriRewriter::prepend($con, $dirname);
			}
		} else {
			Debug2::debug2('[CSS] Load local [' . $file_type . '] ' . $real_file[0]);
			$con = File::read($real_file[0]);

			if ($file_type == 'css') {
				$dirname = dirname($real_file[0]);

				$con = Lib\UriRewriter::rewrite($con, $dirname);
			}
		}

		return $con;
	}

	/**
	 * Minify CSS
	 *
	 * @since  2.2.3
	 * @access private
	 */
	public static function minify_css( $data ) {
		try {
			$obj = new Lib\CSS_JS_MIN\Minify\CSS();
			$obj->add($data);

			return $obj->minify();
		} catch (\Exception $e) {
			Debug2::debug('******[Optmer] minify_css failed: ' . $e->getMessage());
			error_log('****** LiteSpeed Optimizer minify_css failed: ' . $e->getMessage());
			return $data;
		}
	}

	/**
	 * Minify JS
	 *
	 * Added exception capture when minify
	 *
	 * @since  2.2.3
	 * @access private
	 */
	public static function minify_js( $data, $js_type = '' ) {
		// For inline JS optimize, need to check if it's js type
		if ($js_type) {
			preg_match('#type=([\'"])(.+)\g{1}#isU', $js_type, $matches);
			if ($matches && $matches[2] != 'text/javascript') {
				Debug2::debug('******[Optmer] minify_js bypass due to type: ' . $matches[2]);
				return $data;
			}
		}

		try {
			$obj = new Lib\CSS_JS_MIN\Minify\JS();
			$obj->add($data);

			return $obj->minify();
		} catch (\Exception $e) {
			Debug2::debug('******[Optmer] minify_js failed: ' . $e->getMessage());
			// error_log( '****** LiteSpeed Optimizer minify_js failed: ' . $e->getMessage() );
			return $data;
		}
	}

	/**
	 * Basic minifier
	 *
	 * @access private
	 */
	private function _null_minifier( $content ) {
		$content = str_replace("\r\n", "\n", $content);

		return trim($content);
	}

	/**
	 * Check if the file is already min file
	 *
	 * @since  1.9
	 */
	public function is_min( $filename ) {
		$basename = basename($filename);
		if (preg_match('/[-\.]min\.(?:[a-zA-Z]+)$/i', $basename)) {
			return true;
		}

		return false;
	}
}
PK�^�\���SS"litespeed-cache/src/health.cls.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * The page health
 *
 * @since      3.0
 * @package    LiteSpeed
 */
namespace LiteSpeed;

defined('WPINC') || exit();

class Health extends Base {

	const TYPE_SPEED = 'speed';
	const TYPE_SCORE = 'score';

	protected $_summary;

	/**
	 * Init
	 *
	 * @since  3.0
	 */
	public function __construct() {
		$this->_summary = self::get_summary();
	}

	/**
	 * Test latest speed
	 *
	 * @since 3.0
	 */
	private function _ping( $type ) {
		$data = array( 'action' => $type );

		$json = Cloud::post(Cloud::SVC_HEALTH, $data, 600);

		if (empty($json['data']['before']) || empty($json['data']['after'])) {
			Debug2::debug('[Health] ❌ no data');
			return false;
		}

		$this->_summary[$type . '.before'] = $json['data']['before'];
		$this->_summary[$type . '.after']  = $json['data']['after'];

		self::save_summary();

		Debug2::debug('[Health] saved result');
	}

	/**
	 * Generate scores
	 *
	 * @since 3.0
	 */
	public function scores() {
		$speed_before = $speed_after = $speed_improved = 0;
		if (!empty($this->_summary['speed.before']) && !empty($this->_summary['speed.after'])) {
			// Format loading time
			$speed_before = $this->_summary['speed.before'] / 1000;
			if ($speed_before < 0.01) {
				$speed_before = 0.01;
			}
			$speed_before = number_format($speed_before, 2);

			$speed_after = $this->_summary['speed.after'] / 1000;
			if ($speed_after < 0.01) {
				$speed_after = number_format($speed_after, 3);
			} else {
				$speed_after = number_format($speed_after, 2);
			}

			$speed_improved = (($this->_summary['speed.before'] - $this->_summary['speed.after']) * 100) / $this->_summary['speed.before'];
			if ($speed_improved > 99) {
				$speed_improved = number_format($speed_improved, 2);
			} else {
				$speed_improved = number_format($speed_improved);
			}
		}

		$score_before = $score_after = $score_improved = 0;
		if (!empty($this->_summary['score.before']) && !empty($this->_summary['score.after'])) {
			$score_before = $this->_summary['score.before'];
			$score_after  = $this->_summary['score.after'];

			// Format Score
			$score_improved = (($score_after - $score_before) * 100) / $score_after;
			if ($score_improved > 99) {
				$score_improved = number_format($score_improved, 2);
			} else {
				$score_improved = number_format($score_improved);
			}
		}

		return array(
			'speed_before' => $speed_before,
			'speed_after' => $speed_after,
			'speed_improved' => $speed_improved,
			'score_before' => $score_before,
			'score_after' => $score_after,
			'score_improved' => $score_improved,
		);
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * @since  3.0
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ($type) {
			case self::TYPE_SPEED:
			case self::TYPE_SCORE:
            $this->_ping($type);
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\A޹��l�llitespeed-cache/src/esi.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The ESI class.
 *
 * This is used to define all esi related functions.
 *
 * @since       1.1.3
 * @package     LiteSpeed
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class ESI extends Root {

	const LOG_TAG = '⏺';

	private static $has_esi      = false;
	private static $_combine_ids = array();
	private $esi_args            = null;
	private $_esi_preserve_list  = array();
	private $_nonce_actions      = array( -1 => '' ); // val is cache control

	const QS_ACTION = 'lsesi';
	const QS_PARAMS = 'esi';
	const COMBO     = '__combo'; // ESI include combine='main' handler

	const PARAM_ARGS     = 'args';
	const PARAM_ID       = 'id';
	const PARAM_INSTANCE = 'instance';
	const PARAM_NAME     = 'name';

	const WIDGET_O_ESIENABLE = 'widget_esi_enable';
	const WIDGET_O_TTL       = 'widget_ttl';

	/**
	 * Confructor of ESI
	 *
	 * @since  1.2.0
	 * @since  4.0 Change to be after Vary init in hook 'after_setup_theme'
	 */
	public function init() {
		/**
		 * Bypass ESI related funcs if disabled ESI to fix potential DIVI compatibility issue
		 *
		 * @since  2.9.7.2
		 */
		if (Router::is_ajax() || !$this->cls('Router')->esi_enabled()) {
			return;
		}

		// Guest mode, don't need to use ESI
		if (defined('LITESPEED_GUEST') && LITESPEED_GUEST) {
			return;
		}

		if (defined('LITESPEED_ESI_OFF')) {
			return;
		}

		// If page is not cacheable
		if (defined('DONOTCACHEPAGE') && apply_filters('litespeed_const_DONOTCACHEPAGE', DONOTCACHEPAGE)) {
			return;
		}

		// Init ESI in `after_setup_theme` hook after detected if LITESPEED_DISABLE_ALL is ON or not
		$this->_hooks();

		/**
		 * Overwrite wp_create_nonce func
		 *
		 * @since  2.9.5
		 */
		$this->_transform_nonce();

		!defined('LITESPEED_ESI_INITED') && define('LITESPEED_ESI_INITED', true);
	}

	/**
	 * Init ESI related hooks
	 *
	 * Load delayed by hook to give the ability to bypass by LITESPEED_DISABLE_ALL const
	 *
	 * @since 2.9.7.2
	 * @since  4.0 Changed to private from public
	 * @access private
	 */
	private function _hooks() {
		add_filter('template_include', array( $this, 'esi_template' ), 99999);

		add_action('load-widgets.php', __NAMESPACE__ . '\Purge::purge_widget');
		add_action('wp_update_comment_count', __NAMESPACE__ . '\Purge::purge_comment_widget');

		/**
		 * Recover REQUEST_URI
		 *
		 * @since  1.8.1
		 */
		if (!empty($_GET[self::QS_ACTION])) {
			self::debug('ESI req');
			$this->_register_esi_actions();
		}

		/**
		 * Shortcode ESI
		 *
		 * To use it, just change the original shortcode as below:
		 *      old: [someshortcode aa='bb']
		 *      new: [esi someshortcode aa='bb' cache='private,no-vary' ttl='600']
		 *
		 *  1. `cache` attribute is optional, default to 'public,no-vary'.
		 *  2. `ttl` attribute is optional, default is your public TTL setting.
		 *  3. `_ls_silence` attribute is optional, default is false.
		 *
		 * @since  2.8
		 * @since  2.8.1 Check is_admin for Elementor compatibility #726013
		 */
		if (!is_admin()) {
			add_shortcode('esi', array( $this, 'shortcode' ));
		}
	}

	/**
	 * Take over all nonce calls and transform to ESI
	 *
	 * @since  2.9.5
	 */
	private function _transform_nonce() {
		if (is_admin()) {
			return;
		}

		// Load ESI nonces in conf
		$nonces = $this->conf(Base::O_ESI_NONCE);
		add_filter('litespeed_esi_nonces', array( $this->cls('Data'), 'load_esi_nonces' ));
		if ($nonces = apply_filters('litespeed_esi_nonces', $nonces)) {
			foreach ($nonces as $action) {
				$this->nonce_action($action);
			}
		}

		add_action('litespeed_nonce', array( $this, 'nonce_action' ));
	}

	/**
	 * Register a new nonce action to convert it to ESI
	 *
	 * @since  2.9.5
	 */
	public function nonce_action( $action ) {
		// Split the Cache Control
		$action  = explode(' ', $action);
		$control = !empty($action[1]) ? $action[1] : '';
		$action  = $action[0];

		// Wildcard supported
		$action = Utility::wildcard2regex($action);

		if (array_key_exists($action, $this->_nonce_actions)) {
			return;
		}

		$this->_nonce_actions[$action] = $control;

		// Debug2::debug('[ESI] Appended nonce action to nonce list [action] ' . $action);
	}

	/**
	 * Check if an action is registered to replace ESI
	 *
	 * @since 2.9.5
	 */
	public function is_nonce_action( $action ) {
		// If GM not run yet, then ESI not init yet, then ESI nonce will not be allowed even nonce func replaced.
		if (!defined('LITESPEED_ESI_INITED')) {
			return null;
		}

		if (is_admin()) {
			return null;
		}

		if (defined('LITESPEED_ESI_OFF')) {
			return null;
		}

		foreach ($this->_nonce_actions as $k => $v) {
			if (strpos($k, '*') !== false) {
				if (preg_match('#' . $k . '#iU', $action)) {
					return $v;
				}
			} elseif ($k == $action) {
				return $v;
			}
		}

		return null;
	}

	/**
	 * Shortcode ESI
	 *
	 * @since 2.8
	 * @access public
	 */
	public function shortcode( $atts ) {
		if (empty($atts[0])) {
			Debug2::debug('[ESI] ===shortcode wrong format', $atts);
			return 'Wrong shortcode esi format';
		}

		$cache = 'public,no-vary';
		if (!empty($atts['cache'])) {
			$cache = $atts['cache'];
			unset($atts['cache']);
		}

		$silence = false;
		if (!empty($atts['_ls_silence'])) {
			$silence = true;
		}

		do_action('litespeed_esi_shortcode-' . $atts[0]);

		// Show ESI link
		return $this->sub_esi_block('esi', 'esi-shortcode', $atts, $cache, $silence);
	}

	/**
	 * Check if the requested page has esi elements. If so, return esi on
	 * header.
	 *
	 * @since 1.1.3
	 * @access public
	 * @return string Esi On header if request has esi, empty string otherwise.
	 */
	public static function has_esi() {
		return self::$has_esi;
	}

	/**
	 * Sets that the requested page has esi elements.
	 *
	 * @since 1.1.3
	 * @access public
	 */
	public static function set_has_esi() {
		self::$has_esi = true;
	}

	/**
	 * Register all of the hooks related to the esi logic of the plugin.
	 * Specifically when the page IS an esi page.
	 *
	 * @since    1.1.3
	 * @access   private
	 */
	private function _register_esi_actions() {
		/**
		 * This hook is in `init`
		 * For any plugin need to check if page is ESI, use `LSCACHE_IS_ESI` check after `init` hook
		 */
		!defined('LSCACHE_IS_ESI') && define('LSCACHE_IS_ESI', $_GET[self::QS_ACTION]); // Reused this to ESI block ID

		!empty($_SERVER['ESI_REFERER']) && defined('LSCWP_LOG') && Debug2::debug('[ESI] ESI_REFERER: ' . $_SERVER['ESI_REFERER']);

		/**
		 * Only when ESI's parent is not REST, replace REQUEST_URI to avoid breaking WP5 editor REST call
		 *
		 * @since 2.9.3
		 */
		if (!empty($_SERVER['ESI_REFERER']) && !$this->cls('REST')->is_rest($_SERVER['ESI_REFERER'])) {
			self::debug('overwrite REQUEST_URI to ESI_REFERER [from] ' . $_SERVER['REQUEST_URI'] . ' [to] ' . $_SERVER['ESI_REFERER']);
			if (!empty($_SERVER['ESI_REFERER'])) {
				$_SERVER['REQUEST_URI'] = $_SERVER['ESI_REFERER'];
				if (substr(get_option('permalink_structure'), -1) === '/' && strpos($_SERVER['ESI_REFERER'], '?') === false) {
					$_SERVER['REQUEST_URI'] = trailingslashit($_SERVER['ESI_REFERER']);
				}
			}
			// Prevent from 301 redirecting
			if (!empty($_SERVER['SCRIPT_URI'])) {
				$SCRIPT_URI         = parse_url($_SERVER['SCRIPT_URI']);
				$SCRIPT_URI['path'] = $_SERVER['REQUEST_URI'];
				Utility::compatibility();
				$_SERVER['SCRIPT_URI'] = http_build_url($SCRIPT_URI);
			}
		}

		if (!empty($_SERVER['ESI_CONTENT_TYPE']) && strpos($_SERVER['ESI_CONTENT_TYPE'], 'application/json') === 0) {
			add_filter('litespeed_is_json', '__return_true');
		}

		/**
		 * Make REST call be able to parse ESI
		 * NOTE: Not effective due to ESI req are all to `/` yet
		 *
		 * @since 2.9.4
		 */
		add_action('rest_api_init', array( $this, 'load_esi_block' ), 101);

		// Register ESI blocks
		add_action('litespeed_esi_load-widget', array( $this, 'load_widget_block' ));
		add_action('litespeed_esi_load-admin-bar', array( $this, 'load_admin_bar_block' ));
		add_action('litespeed_esi_load-comment-form', array( $this, 'load_comment_form_block' ));

		add_action('litespeed_esi_load-nonce', array( $this, 'load_nonce_block' ));
		add_action('litespeed_esi_load-esi', array( $this, 'load_esi_shortcode' ));

		add_action('litespeed_esi_load-' . self::COMBO, array( $this, 'load_combo' ));
	}

	/**
	 * Hooked to the template_include action.
	 * Selects the esi template file when the post type is a LiteSpeed ESI page.
	 *
	 * @since 1.1.3
	 * @access public
	 * @param string $template The template path filtered.
	 * @return string The new template path.
	 */
	public function esi_template( $template ) {
		// Check if is an ESI request
		if (defined('LSCACHE_IS_ESI')) {
			self::debug('calling ESI template');

			return LSCWP_DIR . 'tpl/esi.tpl.php';
		}
		self::debug('calling default template');
		$this->_register_not_esi_actions();
		return $template;
	}

	/**
	 * Register all of the hooks related to the esi logic of the plugin.
	 * Specifically when the page is NOT an esi page.
	 *
	 * @since    1.1.3
	 * @access   private
	 */
	private function _register_not_esi_actions() {
		do_action('litespeed_tpl_normal');

		if (!Control::is_cacheable()) {
			return;
		}

		if (Router::is_ajax()) {
			return;
		}

		add_filter('widget_display_callback', array( $this, 'sub_widget_block' ), 0, 3);

		// Add admin_bar esi
		if (Router::is_logged_in()) {
			remove_action('wp_body_open', 'wp_admin_bar_render', 0); // Remove default Admin bar. Fix https://github.com/elementor/elementor/issues/25198
			remove_action('wp_footer', 'wp_admin_bar_render', 1000);
			add_action('wp_footer', array( $this, 'sub_admin_bar_block' ), 1000);
		}

		// Add comment forum esi for logged-in user or commenter
		if (!Router::is_ajax() && Vary::has_vary()) {
			add_filter('comment_form_defaults', array( $this, 'register_comment_form_actions' ));
		}
	}

	/**
	 * Set an ESI to be combine='sub'
	 *
	 * @since  3.4.2
	 */
	public static function combine( $block_id ) {
		if (!isset($_SERVER['X-LSCACHE']) || strpos($_SERVER['X-LSCACHE'], 'combine') === false) {
			return;
		}

		if (in_array($block_id, self::$_combine_ids)) {
			return;
		}

		self::$_combine_ids[] = $block_id;
	}

	/**
	 * Load combined ESI
	 *
	 * @since  3.4.2
	 */
	public function load_combo() {
		Control::set_nocache('ESI combine request');

		if (empty($_POST['esi_include'])) {
			return;
		}

		self::set_has_esi();

		Debug2::debug('[ESI] 🍔 Load combo', $_POST['esi_include']);

		$output = '';
		foreach ($_POST['esi_include'] as $url) {
			$qs = parse_url(htmlspecialchars_decode($url), PHP_URL_QUERY);
			parse_str($qs, $qs);
			if (empty($qs[self::QS_ACTION])) {
				continue;
			}
			$esi_id       = $qs[self::QS_ACTION];
			$esi_param    = !empty($qs[self::QS_PARAMS]) ? $this->_parse_esi_param($qs[self::QS_PARAMS]) : false;
			$inline_param = apply_filters('litespeed_esi_inline-' . $esi_id, array(), $esi_param); // Returned array need to be [ val, control, tag ]
			if ($inline_param) {
				$output .= self::_build_inline($url, $inline_param);
			}
		}

		echo $output;
	}

	/**
	 * Build a whole inline segment
	 *
	 * @since  3.4.2
	 */
	private static function _build_inline( $url, $inline_param ) {
		if (!$url || empty($inline_param['val']) || empty($inline_param['control']) || empty($inline_param['tag'])) {
			return '';
		}

		$url     = esc_attr($url);
		$control = esc_attr($inline_param['control']);
		$tag     = esc_attr($inline_param['tag']);

		return "<esi:inline name='$url' cache-control='" . $control . "' cache-tag='" . $tag . "'>" . $inline_param['val'] . '</esi:inline>';
	}

	/**
	 * Build the esi url. This method will build the html comment wrapper as well as serialize and encode the parameter array.
	 *
	 * The block_id parameter should contain alphanumeric and '-_' only.
	 *
	 * @since 1.1.3
	 * @access private
	 * @param string $block_id     The id to use to display the correct esi block.
	 * @param string $wrapper      The wrapper for the esi comments.
	 * @param array  $params       The esi parameters.
	 * @param string $control      The cache control attribute if any.
	 * @param bool   $silence      If generate wrapper comment or not
	 * @param bool   $preserved    If this ESI block is used in any filter, need to temporarily convert it to a string to avoid the HTML tag being removed/filtered.
	 * @param bool   $svar         If store the value in memory or not, in memory will be faster
	 * @param array  $inline_param If show the current value for current request( this can avoid multiple esi requests in first time cache generating process )
	 */
	public function sub_esi_block(
		$block_id,
		$wrapper,
		$params = array(),
		$control = 'private,no-vary',
		$silence = false,
		$preserved = false,
		$svar = false,
		$inline_param = array()
	) {
		if (empty($block_id) || !is_array($params) || preg_match('/[^\w-]/', $block_id)) {
			return false;
		}

		if (defined('LITESPEED_ESI_OFF')) {
			Debug2::debug('[ESI] ESI OFF so force loading [block_id] ' . $block_id);
			do_action('litespeed_esi_load-' . $block_id, $params);
			return;
		}

		if ($silence) {
			// Don't add comment to esi block ( original for nonce used in tag property data-nonce='esi_block' )
			$params['_ls_silence'] = true;
		}

		if ($this->cls('REST')->is_rest() || $this->cls('REST')->is_internal_rest()) {
			$params['is_json'] = 1;
		}

		$params  = apply_filters('litespeed_esi_params', $params, $block_id);
		$control = apply_filters('litespeed_esi_control', $control, $block_id);

		if (!is_array($params) || !is_string($control)) {
			defined('LSCWP_LOG') && Debug2::debug("[ESI] 🛑 Sub hooks returned Params: \n" . var_export($params, true) . "\ncache control: \n" . var_export($control, true));

			return false;
		}

		// Build params for URL
		$appended_params = array(
			self::QS_ACTION => $block_id,
		);
		if (!empty($control)) {
			$appended_params['_control'] = $control;
		}
		if ($params) {
			$appended_params[self::QS_PARAMS] = base64_encode(\json_encode($params));
			Debug2::debug2('[ESI] param ', $params);
		}

		// Append hash
		$appended_params['_hash'] = $this->_gen_esi_md5($appended_params);

		/**
		 * Escape potential chars
		 *
		 * @since 2.9.4
		 */
		$appended_params = array_map('urlencode', $appended_params);

		// Generate ESI URL
		$url = add_query_arg($appended_params, trailingslashit(wp_make_link_relative(home_url())));

		$output = '';
		if ($inline_param) {
			$output .= self::_build_inline($url, $inline_param);
		}

		$output .= "<esi:include src='$url'";
		if (!empty($control)) {
			$control = esc_attr($control);
			$output .= " cache-control='$control'";
		}
		if ($svar) {
			$output .= " as-var='1'";
		}
		if (in_array($block_id, self::$_combine_ids)) {
			$output .= " combine='sub'";
		}
		if ($block_id == self::COMBO && isset($_SERVER['X-LSCACHE']) && strpos($_SERVER['X-LSCACHE'], 'combine') !== false) {
			$output .= " combine='main'";
		}
		$output .= ' />';

		if (!$silence) {
			$output = "<!-- lscwp $wrapper -->$output<!-- lscwp $wrapper esi end -->";
		}

		self::debug("💕  [BLock_ID] $block_id \t[wrapper] $wrapper \t\t[Control] $control");
		self::debug2($output);

		self::set_has_esi();

		// Convert to string to avoid html chars filter when using
		// Will reverse the buffer when output in self::finalize()
		if ($preserved) {
			$hash                            = md5($output);
			$this->_esi_preserve_list[$hash] = $output;
			self::debug("Preserved to $hash");

			return $hash;
		}

		return $output;
	}

	/**
	 * Generate ESI hash md5
	 *
	 * @since  2.9.6
	 * @access private
	 */
	private function _gen_esi_md5( $params ) {
		$keys = array( self::QS_ACTION, '_control', self::QS_PARAMS );

		$str = '';
		foreach ($keys as $v) {
			if (isset($params[$v]) && is_string($params[$v])) {
				$str .= $params[$v];
			}
		}
		Debug2::debug2('[ESI] md5_string=' . $str);

		return md5($this->conf(Base::HASH) . $str);
	}

	/**
	 * Parses the request parameters on an ESI request
	 *
	 * @since 1.1.3
	 * @access private
	 */
	private function _parse_esi_param( $qs_params = false ) {
		$req_params = false;
		if ($qs_params) {
			$req_params = $qs_params;
		} elseif (isset($_REQUEST[self::QS_PARAMS])) {
			$req_params = $_REQUEST[self::QS_PARAMS];
		}

		if (!$req_params) {
			return false;
		}

		$unencrypted = base64_decode($req_params);
		if ($unencrypted === false) {
			return false;
		}

		Debug2::debug2('[ESI] params', $unencrypted);
		// $unencoded = urldecode($unencrypted); no need to do this as $_GET is already parsed
		$params = \json_decode($unencrypted, true);

		return $params;
	}

	/**
	 * Select the correct esi output based on the parameters in an ESI request.
	 *
	 * @since 1.1.3
	 * @access public
	 */
	public function load_esi_block() {
		/**
		 * Validate if is a legal ESI req
		 *
		 * @since 2.9.6
		 */
		if (empty($_GET['_hash']) || $this->_gen_esi_md5($_GET) != $_GET['_hash']) {
			Debug2::debug('[ESI] ❌ Failed to validate _hash');
			return;
		}

		$params = $this->_parse_esi_param();

		if (defined('LSCWP_LOG')) {
			$logInfo = '[ESI] ⭕ ';
			if (!empty($params[self::PARAM_NAME])) {
				$logInfo .= ' Name: ' . $params[self::PARAM_NAME] . ' ----- ';
			}
			$logInfo .= ' [ID] ' . LSCACHE_IS_ESI;
			Debug2::debug($logInfo);
		}

		if (!empty($params['_ls_silence'])) {
			!defined('LSCACHE_ESI_SILENCE') && define('LSCACHE_ESI_SILENCE', true);
		}

		/**
		 * Buffer needs to be JSON format
		 *
		 * @since  2.9.4
		 */
		if (!empty($params['is_json'])) {
			add_filter('litespeed_is_json', '__return_true');
		}

		Tag::add(rtrim(Tag::TYPE_ESI, '.'));
		Tag::add(Tag::TYPE_ESI . LSCACHE_IS_ESI);

		// Debug2::debug(var_export($params, true ));

		/**
		 * Handle default cache control 'private,no-vary' for sub_esi_block()   @ticket #923505
		 *
		 * @since  2.2.3
		 */
		if (!empty($_GET['_control'])) {
			$control = explode(',', $_GET['_control']);
			if (in_array('private', $control)) {
				Control::set_private();
			}

			if (in_array('no-vary', $control)) {
				Control::set_no_vary();
			}
		}

		do_action('litespeed_esi_load-' . LSCACHE_IS_ESI, $params);
	}

	// The *_sub_* functions are helpers for the sub_* functions.
	// The *_load_* functions are helpers for the load_* functions.

	/**
	 * Loads the default options for default WordPress widgets.
	 *
	 * @since 1.1.3
	 * @access public
	 */
	public static function widget_default_options( $options, $widget ) {
		if (!is_array($options)) {
			return $options;
		}

		$widget_name = get_class($widget);
		switch ($widget_name) {
			case 'WP_Widget_Recent_Posts':
			case 'WP_Widget_Recent_Comments':
            $options[self::WIDGET_O_ESIENABLE] = Base::VAL_OFF;
            $options[self::WIDGET_O_TTL]       = 86400;
				break;
			default:
				break;
		}
		return $options;
	}

	/**
	 * Hooked to the widget_display_callback filter.
	 * If the admin configured the widget to display via esi, this function
	 * will set up the esi request and cancel the widget display.
	 *
	 * @since 1.1.3
	 * @access public
	 * @param array      $instance Parameter used to build the widget.
	 * @param \WP_Widget $widget The widget to build.
	 * @param array      $args Parameter used to build the widget.
	 * @return mixed Return false if display through esi, instance otherwise.
	 */
	public function sub_widget_block( $instance, $widget, $args ) {
		// #210407
		if (!is_array($instance)) {
			return $instance;
		}

		$name = get_class($widget);
		if (!isset($instance[Base::OPTION_NAME])) {
			return $instance;
		}
		$options = $instance[Base::OPTION_NAME];
		if (!isset($options) || !$options[self::WIDGET_O_ESIENABLE]) {
			defined('LSCWP_LOG') && Debug2::debug('ESI 0 ' . $name . ': ' . (!isset($options) ? 'not set' : 'set off'));

			return $instance;
		}

		$esi_private = $options[self::WIDGET_O_ESIENABLE] == Base::VAL_ON2 ? 'private,' : '';

		$params = array(
			self::PARAM_NAME => $name,
			self::PARAM_ID => $widget->id,
			self::PARAM_INSTANCE => $instance,
			self::PARAM_ARGS => $args,
		);

		echo $this->sub_esi_block('widget', 'widget ' . $name, $params, $esi_private . 'no-vary');

		return false;
	}

	/**
	 * Hooked to the wp_footer action.
	 * Sets up the ESI request for the admin bar.
	 *
	 * @access public
	 * @since 1.1.3
	 * @global type $wp_admin_bar
	 */
	public function sub_admin_bar_block() {
		global $wp_admin_bar;

		if (!is_admin_bar_showing() || !is_object($wp_admin_bar)) {
			return;
		}

		// To make each admin bar ESI request different for `Edit` button different link
		$params = array(
			'ref' => $_SERVER['REQUEST_URI'],
		);

		echo $this->sub_esi_block('admin-bar', 'adminbar', $params);
	}

	/**
	 * Parses the esi input parameters and generates the widget for esi display.
	 *
	 * @access public
	 * @since 1.1.3
	 * @global $wp_widget_factory
	 * @param array $params Input parameters needed to correctly display widget
	 */
	public function load_widget_block( $params ) {
		// global $wp_widget_factory;
		// $widget = $wp_widget_factory->widgets[ $params[ self::PARAM_NAME ] ];
		$option = $params[self::PARAM_INSTANCE];
		$option = $option[Base::OPTION_NAME];

		// Since we only reach here via esi, safe to assume setting exists.
		$ttl = $option[self::WIDGET_O_TTL];
		defined('LSCWP_LOG') && Debug2::debug('ESI widget render: name ' . $params[self::PARAM_NAME] . ', id ' . $params[self::PARAM_ID] . ', ttl ' . $ttl);
		if ($ttl == 0) {
			Control::set_nocache('ESI Widget time to live set to 0');
		} else {
			Control::set_custom_ttl($ttl);

			if ($option[self::WIDGET_O_ESIENABLE] == Base::VAL_ON2) {
				Control::set_private();
			}
			Control::set_no_vary();
			Tag::add(Tag::TYPE_WIDGET . $params[self::PARAM_ID]);
		}
		the_widget($params[self::PARAM_NAME], $params[self::PARAM_INSTANCE], $params[self::PARAM_ARGS]);
	}

	/**
	 * Generates the admin bar for esi display.
	 *
	 * @access public
	 * @since 1.1.3
	 */
	public function load_admin_bar_block( $params ) {
		global $wp_the_query;

		if (!empty($params['ref'])) {
			$ref_qs = parse_url($params['ref'], PHP_URL_QUERY);
			if (!empty($ref_qs)) {
				parse_str($ref_qs, $ref_qs_arr);

				if (!empty($ref_qs_arr)) {
					foreach ($ref_qs_arr as $k => $v) {
						$_GET[$k] = $v;
					}
				}
			}
		}

		// Needed when permalink structure is "Plain"
		if (!isset($wp_the_query)) {
			wp();
		}

		wp_admin_bar_render();
		if (!$this->conf(Base::O_ESI_CACHE_ADMBAR)) {
			Control::set_nocache('build-in set to not cacheable');
		} else {
			Control::set_private();
			Control::set_no_vary();
		}

		defined('LSCWP_LOG') && Debug2::debug('ESI: adminbar ref: ' . $_SERVER['REQUEST_URI']);
	}

	/**
	 * Parses the esi input parameters and generates the comment form for esi display.
	 *
	 * @access public
	 * @since 1.1.3
	 * @param array $params Input parameters needed to correctly display comment form
	 */
	public function load_comment_form_block( $params ) {
		comment_form($params[self::PARAM_ARGS], $params[self::PARAM_ID]);

		if (!$this->conf(Base::O_ESI_CACHE_COMMFORM)) {
			Control::set_nocache('build-in set to not cacheable');
		} else {
			// by default comment form is public
			if (Vary::has_vary()) {
				Control::set_private();
				Control::set_no_vary();
			}
		}
	}

	/**
	 * Generate nonce for certain action
	 *
	 * @access public
	 * @since 2.6
	 */
	public function load_nonce_block( $params ) {
		$action = $params['action'];

		Debug2::debug('[ESI] load_nonce_block [action] ' . $action);

		// set nonce TTL to half day
		Control::set_custom_ttl(43200);

		if (Router::is_logged_in()) {
			Control::set_private();
		}

		if (function_exists('wp_create_nonce_litespeed_esi')) {
			echo wp_create_nonce_litespeed_esi($action);
		} else {
			echo wp_create_nonce($action);
		}
	}

	/**
	 * Show original shortcode
	 *
	 * @access public
	 * @since 2.8
	 */
	public function load_esi_shortcode( $params ) {
		if (isset($params['ttl'])) {
			if (!$params['ttl']) {
				Control::set_nocache('ESI shortcode att ttl=0');
			} else {
				Control::set_custom_ttl($params['ttl']);
			}
			unset($params['ttl']);
		}

		// Replace to original shortcode
		$shortcode = $params[0];
		$atts_ori  = array();
		foreach ($params as $k => $v) {
			if ($k === 0) {
				continue;
			}

			$atts_ori[] = is_string($k) ? "$k='" . addslashes($v) . "'" : $v;
		}

		Tag::add(Tag::TYPE_ESI . "esi.$shortcode");

		// Output original shortcode final content
		echo do_shortcode("[$shortcode " . implode(' ', $atts_ori) . ' ]');
	}

	/**
	 * Hooked to the comment_form_defaults filter.
	 * Stores the default comment form settings.
	 * If sub_comment_form_block is triggered, the output buffer is cleared and an esi block is added. The remaining comment form is also buffered and cleared.
	 * Else there is no need to make the comment form ESI.
	 *
	 * @since 1.1.3
	 * @access public
	 */
	public function register_comment_form_actions( $defaults ) {
		$this->esi_args = $defaults;
		echo GUI::clean_wrapper_begin();
		add_filter('comment_form_submit_button', array( $this, 'sub_comment_form_btn' ), 1000, 2); // To save the params passed in
		add_action('comment_form', array( $this, 'sub_comment_form_block' ), 1000);
		return $defaults;
	}

	/**
	 * Store the args passed in comment_form for the ESI comment param usage in `$this->sub_comment_form_block()`
	 *
	 * @since  3.4
	 * @access public
	 */
	public function sub_comment_form_btn( $unused, $args ) {
		if (empty($args) || empty($this->esi_args)) {
			Debug2::debug('comment form args empty?');
			return $unused;
		}
		$esi_args = array();

		// compare current args with default ones
		foreach ($args as $k => $v) {
			if (!isset($this->esi_args[$k])) {
				$esi_args[$k] = $v;
			} elseif (is_array($v)) {
				$diff = array_diff_assoc($v, $this->esi_args[$k]);
				if (!empty($diff)) {
					$esi_args[$k] = $diff;
				}
			} elseif ($v !== $this->esi_args[$k]) {
				$esi_args[$k] = $v;
			}
		}

		$this->esi_args = $esi_args;

		return $unused;
	}

	/**
	 * Hooked to the comment_form_submit_button filter.
	 *
	 * This method will compare the used comment form args against the default args. The difference will be passed to the esi request.
	 *
	 * @access public
	 * @since 1.1.3
	 */
	public function sub_comment_form_block( $post_id ) {
		echo GUI::clean_wrapper_end();
		$params = array(
			self::PARAM_ID => $post_id,
			self::PARAM_ARGS => $this->esi_args,
		);

		echo $this->sub_esi_block('comment-form', 'comment form', $params);
		echo GUI::clean_wrapper_begin();
		add_action('comment_form_after', array( $this, 'comment_form_sub_clean' ));
	}

	/**
	 * Hooked to the comment_form_after action.
	 * Cleans up the remaining comment form output.
	 *
	 * @since 1.1.3
	 * @access public
	 */
	public function comment_form_sub_clean() {
		echo GUI::clean_wrapper_end();
	}

	/**
	 * Replace preserved blocks
	 *
	 * @since  2.6
	 * @access public
	 */
	public function finalize( $buffer ) {
		// Prepend combo esi block
		if (self::$_combine_ids) {
			Debug2::debug('[ESI] 🍔 Enabled combo');
			$esi_block = $this->sub_esi_block(self::COMBO, '__COMBINE_MAIN__', array(), 'no-cache', true);
			$buffer    = $esi_block . $buffer;
		}

		// Bypass if no preserved list to be replaced
		if (!$this->_esi_preserve_list) {
			return $buffer;
		}

		$keys = array_keys($this->_esi_preserve_list);

		Debug2::debug('[ESI] replacing preserved blocks', $keys);

		$buffer = str_replace($keys, $this->_esi_preserve_list, $buffer);

		return $buffer;
	}

	/**
	 * Check if the content contains preserved list or not
	 *
	 * @since  3.3
	 */
	public function contain_preserve_esi( $content ) {
		$hit_list = array();
		foreach ($this->_esi_preserve_list as $k => $v) {
			if (strpos($content, '"' . $k . '"') !== false) {
				$hit_list[] = '"' . $k . '"';
			}
			if (strpos($content, "'" . $k . "'") !== false) {
				$hit_list[] = "'" . $k . "'";
			}
		}
		return $hit_list;
	}
}
PK�^�\����
�
(litespeed-cache/src/localization.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The localization class.
 *
 * @since       3.3
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class Localization extends Base {

	const LOG_TAG = '🛍️';

	/**
	 * Init optimizer
	 *
	 * @since  3.0
	 * @access protected
	 */
	public function init() {
		add_filter('litespeed_buffer_finalize', array( $this, 'finalize' ), 23); // After page optm
	}

	/**
	 * Localize Resources
	 *
	 * @since  3.3
	 */
	public function serve_static( $uri ) {
		$url = base64_decode($uri);

		if (!$this->conf(self::O_OPTM_LOCALIZE)) {
			// wp_redirect( $url );
			exit('Not supported');
		}

		if (substr($url, -3) !== '.js') {
			// wp_redirect( $url );
			// exit( 'Not supported ' . $uri );
		}

		$match   = false;
		$domains = $this->conf(self::O_OPTM_LOCALIZE_DOMAINS);
		foreach ($domains as $v) {
			if (!$v || strpos($v, '#') === 0) {
				continue;
			}

			$type   = 'js';
			$domain = $v;
			// Try to parse space split value
			if (strpos($v, ' ')) {
				$v = explode(' ', $v);
				if (!empty($v[1])) {
					$type   = strtolower($v[0]);
					$domain = $v[1];
				}
			}

			if (strpos($domain, 'https://') !== 0) {
				continue;
			}

			if ($type != 'js') {
				continue;
			}

			// if ( strpos( $url, $domain ) !== 0 ) {
			if ($url != $domain) {
				continue;
			}

			$match = true;
			break;
		}

		if (!$match) {
			// wp_redirect( $url );
			exit('Not supported2');
		}

		header('Content-Type: application/javascript');

		// Generate
		$this->_maybe_mk_cache_folder('localres');

		$file = $this->_realpath($url);

		self::debug('localize [url] ' . $url);
		$response = wp_safe_remote_get($url, array(
			'timeout' => 180,
			'stream' => true,
			'filename' => $file,
		));

		// Parse response data
		if (is_wp_error($response)) {
			$error_message = $response->get_error_message();
			file_exists($file) && unlink($file);
			self::debug('failed to get: ' . $error_message);
			wp_redirect($url);
			exit();
		}

		$url = $this->_rewrite($url);

		wp_redirect($url);
		exit();
	}

	/**
	 * Get the final URL of local avatar
	 *
	 * @since  4.5
	 */
	private function _rewrite( $url ) {
		return LITESPEED_STATIC_URL . '/localres/' . $this->_filepath($url);
	}

	/**
	 * Generate realpath of the cache file
	 *
	 * @since  4.5
	 * @access private
	 */
	private function _realpath( $url ) {
		return LITESPEED_STATIC_DIR . '/localres/' . $this->_filepath($url);
	}

	/**
	 * Get filepath
	 *
	 * @since  4.5
	 */
	private function _filepath( $url ) {
		$filename = md5($url) . '.js';
		if (is_multisite()) {
			$filename = get_current_blog_id() . '/' . $filename;
		}
		return $filename;
	}

	/**
	 * Localize JS/Fonts
	 *
	 * @since 3.3
	 * @access public
	 */
	public function finalize( $content ) {
		if (is_admin()) {
			return $content;
		}

		if (!$this->conf(self::O_OPTM_LOCALIZE)) {
			return $content;
		}

		$domains = $this->conf(self::O_OPTM_LOCALIZE_DOMAINS);
		if (!$domains) {
			return $content;
		}

		foreach ($domains as $v) {
			if (!$v || strpos($v, '#') === 0) {
				continue;
			}

			$type   = 'js';
			$domain = $v;
			// Try to parse space split value
			if (strpos($v, ' ')) {
				$v = explode(' ', $v);
				if (!empty($v[1])) {
					$type   = strtolower($v[0]);
					$domain = $v[1];
				}
			}

			if (strpos($domain, 'https://') !== 0) {
				continue;
			}

			if ($type != 'js') {
				continue;
			}

			$content = str_replace($domain, LITESPEED_STATIC_URL . '/localres/' . base64_encode($domain), $content);
		}

		return $content;
	}
}
PK�^�\筕��"�""litespeed-cache/src/avatar.cls.phpnu�[���<?php
/**
 * The avatar cache class.
 *
 * Caches remote (e.g., Gravatar) avatars locally and rewrites URLs
 * to serve cached copies with a TTL. Supports on-demand generation
 * during page render and batch generation via cron.
 *
 * @since 3.0
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Avatar
 */
class Avatar extends Base {

	const TYPE_GENERATE = 'generate';

	/**
	 * Avatar cache TTL (seconds).
	 *
	 * @var int
	 */
	private $_conf_cache_ttl;

	/**
	 * Avatar DB table name.
	 *
	 * @var string
	 */
	private $_tb;

	/**
	 * In-request map from original URL => rewritten URL to avoid duplicates.
	 *
	 * @var array<string,string>
	 */
	private $_avatar_realtime_gen_dict = [];

	/**
	 * Summary/status data for last requests.
	 *
	 * @var array<string,mixed>
	 */
	protected $_summary;

	/**
	 * Init.
	 *
	 * @since 1.4
	 */
	public function __construct() {
		$this->_tb = Data::cls()->tb( 'avatar' );

		if ( ! $this->conf( self::O_DISCUSS_AVATAR_CACHE ) ) {
			return;
		}

		self::debug2( '[Avatar] init' );

		$this->_conf_cache_ttl = $this->conf( self::O_DISCUSS_AVATAR_CACHE_TTL );

		add_filter( 'get_avatar_url', [ $this, 'crawl_avatar' ] );

		$this->_summary = self::get_summary();
	}

	/**
	 * Check whether DB table is needed.
	 *
	 * @since 3.0
	 * @access public
	 * @return bool
	 */
	public function need_db() {
		return (bool) $this->conf( self::O_DISCUSS_AVATAR_CACHE );
	}

	/**
	 * Serve static avatar by md5 (used by local static route).
	 *
	 * @since 3.0
	 * @access public
	 * @param string $md5 MD5 hash of original avatar URL.
	 * @return void
	 */
	public function serve_static( $md5 ) {
		global $wpdb;

		self::debug( '[Avatar] is avatar request' );

		if ( strlen( $md5 ) !== 32 ) {
			self::debug( '[Avatar] wrong md5 ' . $md5 );
			return;
		}

		$url = $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
			$wpdb->prepare(
				'SELECT url FROM `' . $this->_tb . '` WHERE md5 = %s',  // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
				$md5
			)
		);

		if ( ! $url ) {
			self::debug( '[Avatar] no matched url for md5 ' . $md5 );
			return;
		}

		$url = $this->_generate( $url );

		wp_safe_redirect( $url );
		exit;
	}

	/**
	 * Localize/replace avatar URL with cached one (filter callback).
	 *
	 * @since 3.0
	 * @access public
	 * @param string $url Original avatar URL.
	 * @return string Rewritten/cached avatar URL (or original).
	 */
	public function crawl_avatar( $url ) {
		if ( ! $url ) {
			return $url;
		}

		// Check if already generated in this request.
		if ( ! empty( $this->_avatar_realtime_gen_dict[ $url ] ) ) {
			self::debug2( '[Avatar] already in dict [url] ' . $url );
			return $this->_avatar_realtime_gen_dict[ $url ];
		}

		$realpath = $this->_realpath( $url );
		$mtime    = file_exists( $realpath ) ? filemtime( $realpath ) : false;

		if ( $mtime && time() - (int) $mtime <= $this->_conf_cache_ttl ) {
			self::debug2( '[Avatar] cache file exists [url] ' . $url );
			return $this->_rewrite( $url, $mtime );
		}

		// Only handle gravatar or known remote avatar providers; keep generic check for "gravatar.com".
		if ( strpos( $url, 'gravatar.com' ) === false ) {
			return $url;
		}

		// Throttle generation.
		if ( ! empty( $this->_summary['curr_request'] ) && time() - (int) $this->_summary['curr_request'] < 300 ) {
			self::debug2( '[Avatar] Bypass generating due to interval limit [url] ' . $url );
			return $url;
		}

		// Generate immediately and track for this request.
		$this->_avatar_realtime_gen_dict[ $url ] = $this->_generate( $url );

		return $this->_avatar_realtime_gen_dict[ $url ];
	}

	/**
	 * Count queued avatars (expired ones) for cron.
	 *
	 * @since 3.0
	 * @access public
	 * @return int|false
	 */
	public function queue_count() {
		global $wpdb;

		if ( ! Data::cls()->tb_exist( 'avatar' ) ) {
			Data::cls()->tb_create( 'avatar' );
		}

		$cnt = $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
			$wpdb->prepare(
				'SELECT COUNT(*) FROM `' . $this->_tb . '` WHERE dateline < %d', // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
				time() - $this->_conf_cache_ttl
			)
		);

		return (int) $cnt;
	}

	/**
	 * Build final local URL for cached avatar.
	 *
	 * @since 3.0
	 * @param string   $url  Original URL.
	 * @param int|null $time Optional filemtime for cache busting.
	 * @return string Local URL.
	 */
	private function _rewrite( $url, $time = null ) {
		$qs = $time ? '?ver=' . $time : '';
		return LITESPEED_STATIC_URL . '/avatar/' . $this->_filepath( $url ) . $qs;
	}

	/**
	 * Generate filesystem realpath for cache file.
	 *
	 * @since 3.0
	 * @access private
	 * @param string $url Original URL.
	 * @return string Absolute filesystem path.
	 */
	private function _realpath( $url ) {
		return LITESPEED_STATIC_DIR . '/avatar/' . $this->_filepath( $url );
	}

	/**
	 * Get relative filepath for cached avatar.
	 *
	 * @since 4.0
	 * @param string $url Original URL.
	 * @return string Relative path under avatar/ (may include blog id).
	 */
	private function _filepath( $url ) {
		$filename = md5( $url ) . '.jpg';
		if ( is_multisite() ) {
			$filename = get_current_blog_id() . '/' . $filename;
		}
		return $filename;
	}

	/**
	 * Cron generation for expired avatars.
	 *
	 * @since 3.0
	 * @access public
	 * @param bool $force Bypass throttle.
	 * @return void
	 */
	public static function cron( $force = false ) {
		global $wpdb;

		$_instance = self::cls();
		if ( ! $_instance->queue_count() ) {
			self::debug( '[Avatar] no queue' );
			return;
		}

		// For cron, need to check request interval too.
		if ( ! $force ) {
			if ( ! empty( $_instance->_summary['curr_request'] ) && time() - (int) $_instance->_summary['curr_request'] < 300 ) {
				self::debug( '[Avatar] curr_request too close' );
				return;
			}
		}

		$list = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
			$wpdb->prepare(
				'SELECT url FROM `' . $_instance->_tb . '` WHERE dateline < %d ORDER BY id DESC LIMIT %d', // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
				time() - $_instance->_conf_cache_ttl,
				(int) apply_filters( 'litespeed_avatar_limit', 30 )
			)
		);
		self::debug( '[Avatar] cron job [count] ' . ( $list ? count( $list ) : 0 ) );

		if ( $list ) {
			foreach ( $list as $v ) {
				self::debug( '[Avatar] cron job [url] ' . $v->url );
				$_instance->_generate( $v->url );
			}
		}
	}

	/**
	 * Download and store the avatar locally, then update DB row.
	 *
	 * @since 3.0
	 * @access private
	 * @param string $url Original avatar URL.
	 * @return string Rewritten local URL (fallback to original on failure).
	 */
	private function _generate( $url ) {
		global $wpdb;

		$file = $this->_realpath( $url );

		// Mark request start
		self::save_summary(
			[
				'curr_request' => time(),
			]
		);

		// Ensure cache directory exists
		$this->_maybe_mk_cache_folder( 'avatar' );

		$response = wp_safe_remote_get(
			$url,
			[
				'timeout'  => 180,
				'stream'   => true,
				'filename' => $file,
			]
		);

		self::debug( '[Avatar] _generate [url] ' . $url );

		// Parse response data
		if ( is_wp_error( $response ) ) {
			$error_message = $response->get_error_message();
			if ( file_exists( $file ) ) {
				wp_delete_file( $file );
			}
			self::debug( '[Avatar] failed to get: ' . $error_message );
			return $url;
		}

		// Save summary data
		self::save_summary(
			[
				'last_spent'   => time() - (int) $this->_summary['curr_request'],
				'last_request' => $this->_summary['curr_request'],
				'curr_request' => 0,
			]
		);

		// Update/insert DB record
		$md5 = md5( $url );

		$existed = $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
			$wpdb->prepare(
				'UPDATE `' . $this->_tb . '` SET dateline = %d WHERE md5 = %s', // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
				time(),
				$md5
			)
		);

		if ( ! $existed ) {
			$wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
				$wpdb->prepare(
					'INSERT INTO `' . $this->_tb . '` (url, md5, dateline) VALUES (%s, %s, %d)', // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
					$url,
					$md5,
					time()
				)
			);
		}

		self::debug( '[Avatar] saved avatar ' . $file );

		return $this->_rewrite( $url );
	}

	/**
	 * Handle all request actions from main cls.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_GENERATE:
				self::cron( true );
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\ս���X�X litespeed-cache/src/data.cls.phpnu�[���<?php
/**
 * LiteSpeed persistent data manager.
 *
 * Handles DB tables, schema upgrades, URL-to-file mappings, and list loaders.
 *
 * @package LiteSpeed
 * @since   1.3.1
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Data layer for LiteSpeed Cache.
 */
class Data extends Root {

	const LOG_TAG = '🚀';

	/**
	 * Versioned DB updaters for network-wide options.
	 *
	 * @var array<string,array<string>>
	 */
	private $_db_updater = [
		'5.3-a5'    => [ 'litespeed_update_5_3' ],
		'7.0-b26'   => [ 'litespeed_update_7' ],
		'7.0.1-b1'  => [ 'litespeed_update_7_0_1' ],
		'7.7-b28'   => [ 'litespeed_update_7_7' ],
	];

	/**
	 * Versioned DB updaters for per-site options in multisite.
	 *
	 * @var array<string,array<string>>
	 */
	private $_db_site_updater = [
		// '2.0' => [ 'litespeed_update_site_2_0' ],
	];

	/**
	 * Map from URL-file type to integer code.
	 *
	 * @var array<string,int>
	 */
	private $_url_file_types = [
		'css'  => 1,
		'js'   => 2,
		'ccss' => 3,
		'ucss' => 4,
	];

	/** Table: image optimization results. */
	const TB_IMG_OPTM = 'litespeed_img_optm';
	/** Table: image optimization working queue. */
	const TB_IMG_OPTMING = 'litespeed_img_optming';
	/** Table: cached avatars. */
	const TB_AVATAR = 'litespeed_avatar';
	/** Table: crawler URLs. */
	const TB_CRAWLER = 'litespeed_crawler';
	/** Table: crawler blacklist. */
	const TB_CRAWLER_BLACKLIST = 'litespeed_crawler_blacklist';
	/** Table: logical URLs. */
	const TB_URL = 'litespeed_url';
	/** Table: URL → generated file mapping. */
	const TB_URL_FILE = 'litespeed_url_file';

	/**
	 * Constructor.
	 *
	 * @since 1.3.1
	 */
	public function __construct() {}

	/**
	 * Ensure required tables exist based on current configuration.
	 *
	 * Called on activation and when options are (re)loaded.
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public function correct_tb_existence() {
		// Gravatar.
		if ( $this->conf( Base::O_DISCUSS_AVATAR_CACHE ) ) {
			$this->tb_create( 'avatar' );
		}

		// Crawler.
		if ( $this->conf( Base::O_CRAWLER ) ) {
			$this->tb_create( 'crawler' );
			$this->tb_create( 'crawler_blacklist' );
		}

		// URL mapping.
		$this->tb_create( 'url' );
		$this->tb_create( 'url_file' );

		// Image optm tables are managed on-demand.
	}

	/**
	 * Upgrade global configuration/data to match plugin version.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $ver Currently stored version string.
	 * @return string|void 'upgrade' on success, or void if no-op.
	 */
	public function conf_upgrade( $ver ) {
		// Skip count check if `Use Primary Site Configurations` is on (deprecated note kept intentionally).

		if ( $this->_get_upgrade_lock() ) {
			return;
		}

		$this->_set_upgrade_lock( true );

		require_once LSCWP_DIR . 'src/data.upgrade.func.php';

		// Init log manually.
		if ( $this->conf( Base::O_DEBUG ) ) {
			$this->cls( 'Debug2' )->init();
		}

		foreach ( $this->_db_updater as $k => $v ) {
			if ( version_compare( $ver, $k, '<' ) ) {
				foreach ( $v as $v2 ) {
					self::debug( "Updating [ori_v] $ver \t[to] $k \t[func] $v2" );
					call_user_func( $v2 );
				}
			}
		}

		// Reload options.
		$this->cls( 'Conf' )->load_options();

		$this->correct_tb_existence();

		// Update related files.
		$this->cls( 'Activation' )->update_files();

		// Update version to latest.
		Conf::delete_option( Base::_VER );
		Conf::add_option( Base::_VER, Core::VER );

		self::debug( 'Updated version to ' . Core::VER );

		$this->_set_upgrade_lock( false );

		if ( ! defined( 'LSWCP_EMPTYCACHE' ) ) {
			define( 'LSWCP_EMPTYCACHE', true );
		}
		Purge::purge_all();

		return 'upgrade';
	}

	/**
	 * Upgrade per-site configuration/data to match plugin version (multisite).
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $ver Currently stored version string.
	 * @return void
	 */
	public function conf_site_upgrade( $ver ) {
		if ( $this->_get_upgrade_lock() ) {
			return;
		}

		$this->_set_upgrade_lock( true );

		require_once LSCWP_DIR . 'src/data.upgrade.func.php';

		foreach ( $this->_db_site_updater as $k => $v ) {
			if ( version_compare( $ver, $k, '<' ) ) {
				foreach ( $v as $v2 ) {
					self::debug( "Updating site [ori_v] $ver \t[to] $k \t[func] $v2" );
					call_user_func( $v2 );
				}
			}
		}

		// Reload options.
		$this->cls( 'Conf' )->load_site_options();

		Conf::delete_site_option( Base::_VER );
		Conf::add_site_option( Base::_VER, Core::VER );

		self::debug( 'Updated site_version to ' . Core::VER );

		$this->_set_upgrade_lock( false );

		if ( ! defined( 'LSWCP_EMPTYCACHE' ) ) {
			define( 'LSWCP_EMPTYCACHE', true );
		}
		Purge::purge_all();
	}

	/**
	 * Whether an upgrade lock is in effect.
	 *
	 * @since 3.0.1
	 * @return int|false Timestamp if locked and recent, false otherwise.
	 */
	private function _get_upgrade_lock() {
		$is_upgrading = (int) get_option( 'litespeed.data.upgrading' );
		if ( ! $is_upgrading ) {
			$this->_set_upgrade_lock( false ); // Seed option to avoid repeated DB reads later.
		}
		if ( $is_upgrading && ( time() - $is_upgrading ) < 3600 ) {
			return $is_upgrading;
		}

		return false;
	}

	/**
	 * Show the upgrading banner if upgrade script is running.
	 *
	 * @since 3.0.1
	 * @return void
	 */
	public function check_upgrading_msg() {
		$is_upgrading = $this->_get_upgrade_lock();
		if ( ! $is_upgrading ) {
			return;
		}

		Admin_Display::info(
			sprintf(
				/* translators: %s: time string */
				__( 'The database has been upgrading in the background since %s. This message will disappear once upgrade is complete.', 'litespeed-cache' ),
				'<code>' . Utility::readable_time( $is_upgrading ) . '</code>'
			) . ' [LiteSpeed]',
			true
		);
	}

	/**
	 * Set/clear the upgrade process lock.
	 *
	 * @since 3.0.1
	 *
	 * @param bool $lock True to set, false to clear.
	 * @return void
	 */
	private function _set_upgrade_lock( $lock ) {
		if ( ! $lock ) {
			update_option( 'litespeed.data.upgrading', -1 );
		} else {
			update_option( 'litespeed.data.upgrading', time() );
		}
	}

	/**
	 * Get a fully-qualified table name by slug.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $tb Table slug (e.g., 'url_file').
	 * @return string|null
	 */
	public function tb( $tb ) {
		global $wpdb;

		switch ( $tb ) {
			case 'img_optm':
				return $wpdb->prefix . self::TB_IMG_OPTM;

			case 'img_optming':
				return $wpdb->prefix . self::TB_IMG_OPTMING;

			case 'avatar':
				return $wpdb->prefix . self::TB_AVATAR;

			case 'crawler':
				return $wpdb->prefix . self::TB_CRAWLER;

			case 'crawler_blacklist':
				return $wpdb->prefix . self::TB_CRAWLER_BLACKLIST;

			case 'url':
				return $wpdb->prefix . self::TB_URL;

			case 'url_file':
				return $wpdb->prefix . self::TB_URL_FILE;

			default:
				return null;
		}
	}

	/**
	 * Check if a table exists.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $tb Table slug.
	 * @return bool
	 */
	public function tb_exist( $tb ) {
		global $wpdb;

		$save_state = $wpdb->suppress_errors;
		$wpdb->suppress_errors( true );
		$describe = $wpdb->get_var( 'DESCRIBE `' . $this->tb( $tb ) . '`' ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		$wpdb->suppress_errors( $save_state );

		return null !== $describe;
	}

	/**
	 * Get the SQL structure (columns/indexes) for a given table slug.
	 *
	 * @since 2.0
	 * @access private
	 *
	 * @param string $tb Table slug.
	 * @return string SQL columns/indexes definition.
	 */
	private function _tb_structure( $tb ) {
		return File::read( LSCWP_DIR . 'src/data_structure/' . $tb . '.sql' );
	}

	/**
	 * Create a table by slug if it doesn't exist.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $tb Table slug.
	 * @return void
	 */
	public function tb_create( $tb ) {
		global $wpdb;

		self::debug2( '[Data] Checking table ' . $tb );

		// Check if table exists first.
		if ( $this->tb_exist( $tb ) ) {
			self::debug2( '[Data] Existed' );
			return;
		}

		self::debug( 'Creating ' . $tb );

		$sql = sprintf(
			'CREATE TABLE IF NOT EXISTS `%1$s` (%2$s) %3$s;',
			$this->tb( $tb ),
			$this->_tb_structure( $tb ),
			$wpdb->get_charset_collate()
		);
		$res = $wpdb->query( $sql ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		if ( false === $res ) {
			self::debug( 'Warning! Creating table failed!', $sql );
			Admin_Display::error( Error::msg( 'failed_tb_creation', [ '<code>' . $tb . '</code>', '<code>' . $sql . '</code>' ] ) );
		}
	}

	/**
	 * Drop a table by slug.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string $tb Table slug.
	 * @return void
	 */
	public function tb_del( $tb ) {
		global $wpdb;

		if ( ! $this->tb_exist( $tb ) ) {
			return;
		}

		self::debug( 'Deleting table ' . $tb );

		$q = 'DROP TABLE IF EXISTS ' . $this->tb( $tb );
		$wpdb->query( $q ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
	}

	/**
	 * Drop all generated tables (except image optimization working tables).
	 *
	 * @since 3.0
	 * @access public
	 * @return void
	 */
	public function tables_del() {
		$this->tb_del( 'avatar' );
		$this->tb_del( 'crawler' );
		$this->tb_del( 'crawler_blacklist' );
		$this->tb_del( 'url' );
		$this->tb_del( 'url_file' );

		// Deleting img_optm only can be done when destroy all optm images
	}

	/**
	 * TRUNCATE a table by slug.
	 *
	 * @since 4.0
	 * @access public
	 *
	 * @param string $tb Table slug.
	 * @return void
	 */
	public function table_truncate( $tb ) {
		global $wpdb;
		$q = 'TRUNCATE TABLE ' . $this->tb( $tb );
		$wpdb->query( $q ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
	}

	/**
	 * Clean URL-file rows for a given file type and prune orphaned URLs.
	 *
	 * @since 4.0
	 * @access public
	 *
	 * @param string $file_type One of 'css','js','ccss','ucss'.
	 * @return void
	 */
	public function url_file_clean( $file_type ) {
		global $wpdb;

		if ( ! $this->tb_exist( 'url_file' ) ) {
			return;
		}

		if ( ! isset( $this->_url_file_types[ $file_type ] ) ) {
			return;
		}

		$type        = $this->_url_file_types[ $file_type ];
		$tb_url      = $this->tb( 'url' );
		$tb_url_file = $this->tb( 'url_file' );

		// Delete all of this type.
		$q = "DELETE FROM `$tb_url_file` WHERE `type` = %d";
		$wpdb->query( $wpdb->prepare( $q, $type ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared

		// Prune orphaned rows in URL table.
		$sql = "DELETE d
				FROM `{$tb_url}` AS d
				LEFT JOIN `{$tb_url_file}` AS f ON d.`id` = f.`url_id`
				WHERE f.`url_id` IS NULL";
		$wpdb->query( $sql ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
	}

	/**
	 * Persist (or rotate) the mapping from URL+vary to a generated file.
	 *
	 * @since 4.0
	 * @access public
	 *
	 * @param string $request_url  Full request URL.
	 * @param string $vary         Vary string (may be long; will be md5 if >32).
	 * @param string $file_type    One of 'css','js','ccss','ucss'.
	 * @param string $filecon_md5  MD5 of the generated file content.
	 * @param string $path         Base path where files live.
	 * @param bool   $mobile       Whether mapping is for mobile.
	 * @param bool   $webp         Whether mapping is for webp.
	 * @return void
	 */
	public function save_url( $request_url, $vary, $file_type, $filecon_md5, $path, $mobile = false, $webp = false ) {
		global $wpdb;

		if ( strlen( $vary ) > 32 ) {
			$vary = md5( $vary );
		}

		if ( ! isset( $this->_url_file_types[ $file_type ] ) ) {
			return;
		}

		$type = $this->_url_file_types[ $file_type ];

		$tb_url      = $this->tb( 'url' );
		$tb_url_file = $this->tb( 'url_file' );

		// Ensure URL row exists.
		$q       = "SELECT * FROM `$tb_url` WHERE url=%s";
		$url_row = $wpdb->get_row( $wpdb->prepare( $q, $request_url ), ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		if ( ! $url_row ) {
			$q = "INSERT INTO `$tb_url` SET url=%s";
			$wpdb->query( $wpdb->prepare( $q, $request_url ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
			$url_id = (int) $wpdb->insert_id;
		} else {
			$url_id = (int) $url_row['id'];
		}

		// Active mapping (not expired).
		$q        = "SELECT * FROM `$tb_url_file` WHERE url_id=%d AND vary=%s AND type=%d AND expired=0";
		$file_row = $wpdb->get_row( $wpdb->prepare( $q, [ $url_id, $vary, $type ] ), ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared

		// No change needed if filename matches.
		if ( $file_row && $file_row['filename'] === $filecon_md5 ) {
			return;
		}

		// If the new file MD5 is currently marked expired elsewhere, clear those records.
		$q = "DELETE FROM `$tb_url_file` WHERE filename = %s AND expired > 0";
		$wpdb->query( $wpdb->prepare( $q, $filecon_md5 ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared

		// If another live row already uses the same filename, switch current row to that filename.
		if ( $file_row ) {
			$q         = "SELECT id FROM `$tb_url_file` WHERE filename = %s AND expired = 0 AND id != %d LIMIT 1";
			$exists_id = $wpdb->get_var( $wpdb->prepare( $q, [ $file_row['filename'], (int) $file_row['id'] ] ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
			if ( $exists_id ) {
				$q = "UPDATE `$tb_url_file` SET filename=%s WHERE id=%d";
				$wpdb->query( $wpdb->prepare( $q, [ $filecon_md5, (int) $file_row['id'] ] ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
				return;
			}
		}

		// Insert a new mapping row.
		$q = "INSERT INTO `$tb_url_file` SET url_id=%d, vary=%s, filename=%s, type=%d, mobile=%d, webp=%d, expired=0";
		$wpdb->query( $wpdb->prepare( $q, [ $url_id, $vary, $filecon_md5, $type, $mobile ? 1 : 0, $webp ? 1 : 0 ] ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared

		// Mark previous mapping as expiring (to be deleted later).
		if ( $file_row ) {
			$q       = "UPDATE `$tb_url_file` SET expired=%d WHERE id=%d";
			$expired = time() + ( 86400 * apply_filters( 'litespeed_url_file_expired_days', 20 ) );
			$wpdb->query( $wpdb->prepare( $q, [ $expired, (int) $file_row['id'] ] ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared

			// Delete already-expired files for this URL.
			$q    = "SELECT * FROM `$tb_url_file` WHERE url_id = %d AND expired BETWEEN 1 AND %d";
			$q    = $wpdb->prepare( $q, [ $url_id, time() ] ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
			$list = $wpdb->get_results( $q, ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
			if ( $list ) {
				foreach ( $list as $v ) {
					$ext         = 'js' === $file_type ? 'js' : 'css';
					$file_to_del = trailingslashit( $path ) . $v['filename'] . '.' . $ext;
					if ( file_exists( $file_to_del ) ) {
						self::debug( 'Delete expired unused file: ' . $file_to_del );
						wp_delete_file( $file_to_del );
					}
				}
				$q = "DELETE FROM `$tb_url_file` WHERE url_id = %d AND expired BETWEEN 1 AND %d";
				$wpdb->query( $wpdb->prepare( $q, [ $url_id, time() ] ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
			}
		}
	}

	/**
	 * Load the stored filename (md5) for a given URL/vary/type, if active.
	 *
	 * @since 4.0
	 * @access public
	 *
	 * @param string $request_url Full request URL or tag.
	 * @param string $vary        Vary string (may be md5 if previously stored).
	 * @param string $file_type   One of 'css','js','ccss','ucss'.
	 * @return string|false Filename md5 (without extension) or false if none.
	 */
	public function load_url_file( $request_url, $vary, $file_type ) {
		global $wpdb;

		if ( strlen( $vary ) > 32 ) {
			$vary = md5( $vary );
		}

		if ( ! isset( $this->_url_file_types[ $file_type ] ) ) {
			return false;
		}
		$type = $this->_url_file_types[ $file_type ];

		self::debug2( 'load url file: ' . $request_url );

		$tb_url  = $this->tb( 'url' );
		$q       = "SELECT * FROM `$tb_url` WHERE url=%s";
		$url_row = $wpdb->get_row( $wpdb->prepare( $q, $request_url ), ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		if ( ! $url_row ) {
			return false;
		}

		$url_id      = (int) $url_row['id'];
		$tb_url_file = $this->tb( 'url_file' );
		$q           = "SELECT * FROM `$tb_url_file` WHERE url_id=%d AND vary=%s AND type=%d AND expired=0";
		$file_row    = $wpdb->get_row( $wpdb->prepare( $q, [ $url_id, $vary, $type ] ), ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		if ( ! $file_row ) {
			return false;
		}

		return $file_row['filename'];
	}

	/**
	 * Mark all UCSS entries of one URL as expired (optionally return existing rows).
	 *
	 * @since 4.5
	 * @access public
	 *
	 * @param string $request_url Target URL.
	 * @param bool   $auto_q      If true, return existing active rows before expiring.
	 * @return array Existing rows if $auto_q, otherwise empty array.
	 */
	public function mark_as_expired( $request_url, $auto_q = false ) {
		global $wpdb;
		$tb_url = $this->tb( 'url' );

		self::debug( 'Try to mark as expired: ' . $request_url );
		$q       = "SELECT * FROM `$tb_url` WHERE url=%s";
		$url_row = $wpdb->get_row( $wpdb->prepare( $q, $request_url ), ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		if ( ! $url_row ) {
			return [];
		}

		self::debug( 'Mark url_id=' . $url_row['id'] . ' as expired' );

		$tb_url_file = $this->tb( 'url_file' );

		$existing_url_files = [];
		if ( $auto_q ) {
			$q                  = "SELECT a.*, b.url FROM `$tb_url_file` a LEFT JOIN `$tb_url` b ON b.id=a.url_id WHERE a.url_id=%d AND a.type=%d AND a.expired=0";
			$q                  = $wpdb->prepare( $q, [ (int) $url_row['id'], $this->_url_file_types['ucss'] ] ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
			$existing_url_files = $wpdb->get_results( $q, ARRAY_A ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared
		}

		$q       = "UPDATE `$tb_url_file` SET expired=%d WHERE url_id=%d AND type=%d AND expired=0";
		$expired = time() + 86400 * apply_filters( 'litespeed_url_file_expired_days', 20 );
		$wpdb->query( $wpdb->prepare( $q, [ $expired, (int) $url_row['id'], $this->_url_file_types['ucss'] ] ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.PreparedSQL.NotPrepared

		return $existing_url_files;
	}

	/**
	 * Merge CSS excludes from file into the given list.
	 *
	 * @since 3.6
	 *
	 * @param array $list_in Existing list.
	 * @return array
	 */
	public function load_css_exc( $list_in ) {
		$data = $this->_load_per_line( 'css_excludes.txt' );
		if ( $data ) {
			$list_in = array_unique( array_filter( array_merge( $list_in, $data ) ) );
		}

		return $list_in;
	}

	/**
	 * Merge CCSS selector whitelist from file into the given list.
	 *
	 * @since 7.1
	 *
	 * @param array $list_in Existing list.
	 * @return array
	 */
	public function load_ccss_whitelist( $list_in ) {
		$data = $this->_load_per_line( 'ccss_whitelist.txt' );
		if ( $data ) {
			$list_in = array_unique( array_filter( array_merge( $list_in, $data ) ) );
		}

		return $list_in;
	}

	/**
	 * Merge UCSS whitelist from file into the given list.
	 *
	 * @since 4.0
	 *
	 * @param array $list_in Existing list.
	 * @return array
	 */
	public function load_ucss_whitelist( $list_in ) {
		$data = $this->_load_per_line( 'ucss_whitelist.txt' );
		if ( $data ) {
			$list_in = array_unique( array_filter( array_merge( $list_in, $data ) ) );
		}

		return $list_in;
	}

	/**
	 * Merge JS excludes from file into the given list.
	 *
	 * @since 3.5
	 *
	 * @param array $list_in Existing list.
	 * @return array
	 */
	public function load_js_exc( $list_in ) {
		$data = $this->_load_per_line( 'js_excludes.txt' );
		if ( $data ) {
			$list_in = array_unique( array_filter( array_merge( $list_in, $data ) ) );
		}

		return $list_in;
	}

	/**
	 * Merge JS defer excludes from file into the given list.
	 *
	 * @since 3.6
	 *
	 * @param array $list_in Existing list.
	 * @return array
	 */
	public function load_js_defer_exc( $list_in ) {
		$data = $this->_load_per_line( 'js_defer_excludes.txt' );
		if ( $data ) {
			$list_in = array_unique( array_filter( array_merge( $list_in, $data ) ) );
		}

		return $list_in;
	}

	/**
	 * Merge OPTM URI excludes from file into the given list.
	 *
	 * @since 5.4
	 *
	 * @param array $list_in Existing list.
	 * @return array
	 */
	public function load_optm_uri_exc( $list_in ) {
		$data = $this->_load_per_line( 'optm_uri_exc.txt' );
		if ( $data ) {
			$list_in = array_unique( array_filter( array_merge( $list_in, $data ) ) );
		}

		return $list_in;
	}

	/**
	 * Merge ESI nonces from file into the given list.
	 *
	 * @since 3.5
	 *
	 * @param array $list_in Existing list.
	 * @return array
	 */
	public function load_esi_nonces( $list_in ) {
		$data = $this->_load_per_line( 'esi.nonces.txt' );
		if ( $data ) {
			$list_in = array_unique( array_filter( array_merge( $list_in, $data ) ) );
		}

		return $list_in;
	}

	/**
	 * Merge "nocacheable" cache keys from file into the given list.
	 *
	 * @since 6.3.0.1
	 *
	 * @param array $list_in Existing list.
	 * @return array
	 */
	public function load_cache_nocacheable( $list_in ) {
		$data = $this->_load_per_line( 'cache_nocacheable.txt' );
		if ( $data ) {
			$list_in = array_unique( array_filter( array_merge( $list_in, $data ) ) );
		}

		return $list_in;
	}

	/**
	 * Load a data file and return non-empty lines, stripping comments.
	 *
	 * Supports:
	 *  - `# comment`
	 *  - `##comment`
	 *
	 * @since 3.5
	 * @access private
	 *
	 * @param string $file Relative filename under the plugin /data directory.
	 * @return array<int,string>
	 */
	private function _load_per_line( $file ) {
		$data = File::read( LSCWP_DIR . 'data/' . $file );
		$data = explode( PHP_EOL, $data );
		$list = [];
		foreach ( $data as $v ) {
			// Drop two kinds of comments.
			if ( false !== strpos( $v, '##' ) ) {
				$v = trim( substr( $v, 0, strpos( $v, '##' ) ) );
			}
			if ( false !== strpos( $v, '# ' ) ) {
				$v = trim( substr( $v, 0, strpos( $v, '# ' ) ) );
			}

			if ( ! $v ) {
				continue;
			}

			$list[] = $v;
		}

		return $list;
	}
}
PK�^�\S>�y��)litespeed-cache/src/data.upgrade.func.phpnu�[���<?php
/**
 * Database upgrade funcs
 *
 * NOTE: whenever called this file, always call Data::get_upgrade_lock and Data::_set_upgrade_lock first.
 *
 * @package LiteSpeed
 * @since 3.0
 */

defined( 'WPINC' ) || exit();

use LiteSpeed\Debug2;
use LiteSpeed\Cloud;
use LiteSpeed\Conf;

/**
 * Check whether a DB table exists.
 *
 * @since 7.2
 *
 * @param string $table_name Fully-qualified table name.
 * @return bool
 */
function litespeed_table_exists( $table_name ) {
	global $wpdb;

	$save_state = $wpdb->suppress_errors;
	$wpdb->suppress_errors( true );
	// phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder, WordPress.DB.DirectDatabaseQuery.DirectQuery
	$tb_exists = $wpdb->get_var( $wpdb->prepare( 'DESCRIBE `%1s`', $table_name ) );
	$wpdb->suppress_errors( $save_state );

	return null !== $tb_exists;
}

/**
 * Migrate v7.0- url_files URL from no trailing slash to trailing slash.
 *
 * @since 7.0.1
 * @return void
 */
function litespeed_update_7_0_1() {
	global $wpdb;

	Debug2::debug( '[Data] v7.0.1 upgrade started' );

	$tb_url = $wpdb->prefix . 'litespeed_url';
	if ( ! litespeed_table_exists( $tb_url ) ) {
		Debug2::debug( '[Data] Table `litespeed_url` not found, bypassed migration' );
		return;
	}

	// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery
	$list          = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `{$tb_url}` WHERE url LIKE %s", 'https://%/' ), ARRAY_A );
	$existing_urls = array();
	if ($list) {
		foreach ($list as $v) {
			$existing_urls[] = $v['url'];
		}
	}

	// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery
	$list = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `{$tb_url}` WHERE url LIKE %s", 'https://%' ), ARRAY_A );
	if ( ! $list ) {
		return;
	}
	foreach ( $list as $v ) {
		if ( '/' === substr( $v['url'], -1 ) ) {
			continue;
		}
		$new_url = $v['url'] . '/';
		if ( in_array( $new_url, $existing_urls, true ) ) {
			continue;
		}
		// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery
		$wpdb->query( $wpdb->prepare( "UPDATE `{$tb_url}` SET url = %s WHERE id = %d", $new_url, $v['id'] ) );
	}
}

/**
 * Migrate from domain key to pk/sk for QC
 *
 * @since 7.0
 */
function litespeed_update_7() {
	Debug2::debug('[Data] v7 upgrade started');

	$__cloud = Cloud::cls();

	$domain_key = $__cloud->conf('api_key');
	if (!$domain_key) {
		Debug2::debug('[Data] No domain key, bypassed migration');
		return;
	}

	$new_prepared = $__cloud->init_qc_prepare();
	if (!$new_prepared && $__cloud->activated()) {
		Debug2::debug('[Data] QC previously activated in v7, bypassed migration');
		return;
	}
	$data = array(
		'domain_key' => $domain_key,
	);
	$resp = $__cloud->post(Cloud::SVC_D_V3UPGRADE, $data);
	if ( ! empty( $resp['qc_activated'] ) ) {
		if ( 'deleted' !== $resp['qc_activated'] ) {
			$cloud_summary_updates = array( 'qc_activated' => $resp['qc_activated'] );
			if (!empty($resp['main_domain'])) {
				$cloud_summary_updates['main_domain'] = $resp['main_domain'];
			}
			Cloud::save_summary($cloud_summary_updates);
			Debug2::debug('[Data] Updated QC activated status to ' . $resp['qc_activated']);
		}
	}
}

/**
 * Drop deprecated guest_ips and guest_uas from DB options.
 * Migrate url table to make all links trailing slash for UCSS/CCSS.
 *
 * These values are now read from files instead.
 *
 * @since 7.7
 */
function litespeed_update_7_7() {
	global $wpdb;

	Debug2::debug( '[Data] v7.7 upgrade: dropping guest_ips/guest_uas options' );

	Conf::delete_option( 'conf.guest_ips' );
	Conf::delete_option( 'conf.guest_uas' );
	Conf::delete_site_option( 'conf.guest_ips' );
	Conf::delete_site_option( 'conf.guest_uas' );

	// Normalize all URLs to have trailing slash to match UCSS/CCSS generation logic
	Debug2::debug( '[Data] v7.7 upgrade: normalizing URL trailing slashes' );

	// Skip if plain permalink mode (no trailing slash)
	$permalink_structure = get_option( 'permalink_structure' );
	if ( empty( $permalink_structure ) ) {
		Debug2::debug( '[Data] Plain permalink mode, bypassed URL trailing slash migration' );
		return;
	}

	$tb_url = $wpdb->prefix . 'litespeed_url';
	if ( ! litespeed_table_exists( $tb_url ) ) {
		Debug2::debug( '[Data] Table `litespeed_url` not found, bypassed URL migration' );
		return;
	}

	// Check if there are URLs without trailing slash (exclude URLs with query string)
	// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery
	$count = $wpdb->get_var( "SELECT COUNT(*) FROM `{$tb_url}` WHERE url LIKE 'https://%' AND url NOT LIKE '%/' AND url NOT LIKE '%?%'" );
	if ( ! $count ) {
		Debug2::debug( '[Data] No URLs without trailing slash found, bypassed' );
		return;
	}

	// Append trailing slash to all URLs that don't have one and don't have duplicate with slash (exclude URLs with query string)
	// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery
	$wpdb->query( "UPDATE `{$tb_url}` SET url = CONCAT(url, '/') WHERE url LIKE 'https://%' AND url NOT LIKE '%/' AND url NOT LIKE '%?%' AND CONCAT(url, '/') NOT IN (SELECT * FROM (SELECT url FROM `{$tb_url}` WHERE url LIKE '%/') AS tmp)" );
}

/**
 * Append webp/mobile to url_file
 *
 * @since 5.3
 */
function litespeed_update_5_3() {
	global $wpdb;
	Debug2::debug('[Data] Upgrade url_file table');

	$tb = $wpdb->prefix . 'litespeed_url_file';
	if ( litespeed_table_exists( $tb ) ) {
		$q = "ALTER TABLE `{$tb}`
				ADD COLUMN `mobile` tinyint(4) NOT NULL COMMENT 'mobile=1',
				ADD COLUMN `webp` tinyint(4) NOT NULL COMMENT 'webp=1'
			";
		// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery
		$wpdb->query( $q );
	}
}
PK�^�\�a.Y����!litespeed-cache/src/purge.cls.phpnu�[���<?php
/**
 * Purge handlers for X-LiteSpeed-Purge.
 *
 * @since   1.1.3
 * @since   2.2  Refactored. Changed access from public to private for most functions and class variables.
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Purge
 */
class Purge extends Base {

	const LOG_TAG = '🧹';

	/**
	 * Public purge tags for X-LiteSpeed-Purge.
	 *
	 * @var array<int,string>
	 */
	protected $_pub_purge = [];

	/**
	 * Public purge tags for X-LiteSpeed-Purge2.
	 *
	 * @var array<int,string>
	 */
	protected $_pub_purge2 = [];

	/**
	 * Private purge tags for X-LiteSpeed-Purge (private section).
	 *
	 * @var array<int,string>
	 */
	protected $_priv_purge = [];

	/**
	 * Whether to purge only current URL (QS helper).
	 *
	 * @var bool
	 */
	protected $_purge_single = false;

	const X_HEADER  = 'X-LiteSpeed-Purge';
	const X_HEADER2 = 'X-LiteSpeed-Purge2';
	const DB_QUEUE  = 'queue';
	const DB_QUEUE2 = 'queue2';

	const TYPE_PURGE_ALL          = 'purge_all';
	const TYPE_PURGE_ALL_LSCACHE  = 'purge_all_lscache';
	const TYPE_PURGE_ALL_CSSJS    = 'purge_all_cssjs';
	const TYPE_PURGE_ALL_LOCALRES = 'purge_all_localres';
	const TYPE_PURGE_ALL_CCSS     = 'purge_all_ccss';
	const TYPE_PURGE_ALL_UCSS     = 'purge_all_ucss';
	const TYPE_PURGE_ALL_LQIP     = 'purge_all_lqip';
	const TYPE_PURGE_ALL_VPI      = 'purge_all_vpi';
	const TYPE_PURGE_ALL_AVATAR   = 'purge_all_avatar';
	const TYPE_PURGE_ALL_OBJECT   = 'purge_all_object';
	const TYPE_PURGE_ALL_OPCACHE  = 'purge_all_opcache';

	const TYPE_PURGE_FRONT     = 'purge_front';
	const TYPE_PURGE_UCSS      = 'purge_ucss';
	const TYPE_PURGE_FRONTPAGE = 'purge_frontpage';
	const TYPE_PURGE_PAGES     = 'purge_pages';
	const TYPE_PURGE_ERROR     = 'purge_error';

	/**
	 * Init hooks.
	 *
	 * @since 3.0
	 * @return void
	 */
	public function init() {
		$purge_post_events = apply_filters(
			'litespeed_purge_post_events',
			[
				'delete_post',
				'wp_trash_post',
				'wp_update_comment_count',
			]
		);

		foreach ( $purge_post_events as $event ) {
			add_action( $event, [ $this, 'purge_post' ] );
		}

		// Purge post only when status is/was publish.
		add_action( 'transition_post_status', [ $this, 'purge_publish' ], 10, 3 );

		add_action( 'wp_update_comment_count', [ $this, 'purge_feeds' ] );

		if ( $this->conf( self::O_OPTM_UCSS ) ) {
			add_action( 'edit_post', __NAMESPACE__ . '\Purge::purge_ucss' );
		}
	}

	/**
	 * Only purge publish related status post.
	 *
	 * @since 3.0
	 * @param string   $new_status New status.
	 * @param string   $old_status Old status.
	 * @param \WP_Post $post      Post object.
	 * @return void
	 */
	public function purge_publish( $new_status, $old_status, $post ) {
		if ( 'publish' !== $new_status && 'publish' !== $old_status ) {
			return;
		}

		$this->purge_post( $post->ID );
	}

	/**
	 * Handle all request actions from main cls.
	 *
	 * @since  1.8
	 * @since  7.6 Add VPI clear.
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_PURGE_ALL:
				$this->_purge_all();
				break;

			case self::TYPE_PURGE_ALL_LSCACHE:
				$this->_purge_all_lscache();
				break;

			case self::TYPE_PURGE_ALL_CSSJS:
				$this->_purge_all_cssjs();
				break;

			case self::TYPE_PURGE_ALL_LOCALRES:
				$this->_purge_all_localres();
				break;

			case self::TYPE_PURGE_ALL_CCSS:
				$this->_purge_all_ccss();
				break;

			case self::TYPE_PURGE_ALL_UCSS:
				$this->_purge_all_ucss();
				break;

			case self::TYPE_PURGE_ALL_LQIP:
				$this->_purge_all_lqip();
				break;

			case self::TYPE_PURGE_ALL_VPI:
				$this->_purge_all_vpi();
				break;

			case self::TYPE_PURGE_ALL_AVATAR:
				$this->_purge_all_avatar();
				break;

			case self::TYPE_PURGE_ALL_OBJECT:
				$this->_purge_all_object();
				break;

			case self::TYPE_PURGE_ALL_OPCACHE:
				$this->purge_all_opcache();
				break;

			case self::TYPE_PURGE_FRONT:
				$this->_purge_front();
				break;

			case self::TYPE_PURGE_UCSS:
				$this->_purge_ucss();
				break;

			case self::TYPE_PURGE_FRONTPAGE:
				$this->_purge_frontpage();
				break;

			case self::TYPE_PURGE_PAGES:
				$this->_purge_pages();
				break;

			case ( 0 === strpos( $type, self::TYPE_PURGE_ERROR ) ):
				$this->_purge_error( substr( $type, strlen( self::TYPE_PURGE_ERROR ) ) );
				break;

			default:
				break;
		}

		Admin::redirect();
	}

	/**
	 * Shortcut to purge all lscache.
	 *
	 * @since 1.0.0
	 * @param string|false $reason Optional reason to log.
	 * @return void
	 */
	public static function purge_all( $reason = false ) {
		self::cls()->_purge_all( $reason );
	}

	/**
	 * Purge all caches (LSCache/CSS/JS/localres/object/opcache).
	 *
	 * @since 2.2
	 * @param string|false $reason Optional log string.
	 * @return void
	 */
	private function _purge_all( $reason = false ) {
		$this->_purge_all_lscache( true );
		$this->_purge_all_cssjs( true );
		$this->_purge_all_localres( true );
		$this->_purge_all_object( true );
		$this->purge_all_opcache( true );

		if ( $this->conf( self::O_CDN_CLOUDFLARE_CLEAR ) ) {
			CDN\Cloudflare::purge_all( 'Purge All' );
		}

		$reason = is_string( $reason ) ? "( $reason )" : '';

		self::debug( 'Purge all ' . $reason, 3 );

		$msg = __( 'Purged all caches successfully.', 'litespeed-cache' );
		if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
			Admin_Display::success( $msg );
		}

		do_action( 'litespeed_purged_all' );
	}

	/**
	 * Shortcut to purge lscache.
	 *
	 * @since 7.7
	 * @param string|false $reason Optional reason to log.
	 * @return void
	 */
	public static function purge_all_lscache( $reason = false ) {
		if ( $reason ) {
			self::debug( 'Purge lscache ' . $reason, 3 );
		}

		self::cls()->_purge_all_lscache();
	}
	
	/**
	 * Alerts LiteSpeed Web Server to purge all pages.
	 *
	 * @since 2.2
	 * @param bool $silence If true, don't show admin notice.
	 * @return void
	 */
	private function _purge_all_lscache( $silence = false ) {
		$this->_add( '*' );

		do_action( 'litespeed_purged_all_lscache' );

		if ( ! $silence ) {
			$msg = __( 'Notified LiteSpeed Web Server to purge all LSCache entries.', 'litespeed-cache' );
			if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
				Admin_Display::success( $msg );
			}
		}
	}

	/**
	 * Delete all critical CSS.
	 *
	 * @since 2.3
	 * @param bool $silence If true, don't show admin notice.
	 * @return void
	 */
	private function _purge_all_ccss( $silence = false ) {
		do_action( 'litespeed_purged_all_ccss' );

		$this->cls( 'CSS' )->rm_cache_folder( 'ccss' );
		$this->cls( 'Data' )->url_file_clean( 'ccss' );

		if ( ! $silence ) {
			$msg = __( 'Cleaned all Critical CSS files.', 'litespeed-cache' );
			if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
				Admin_Display::success( $msg );
			}
		}
	}

	/**
	 * Delete all unique CSS.
	 *
	 * @since 2.3
	 * @param bool $silence If true, don't show admin notice.
	 * @return void
	 */
	private function _purge_all_ucss( $silence = false ) {
		do_action( 'litespeed_purged_all_ucss' );

		$this->cls( 'CSS' )->rm_cache_folder( 'ucss' );
		$this->cls( 'Data' )->url_file_clean( 'ucss' );

		if ( ! $silence ) {
			$msg = __( 'Cleaned all Unique CSS files.', 'litespeed-cache' );
			if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
				Admin_Display::success( $msg );
			}
		}
	}

	/**
	 * Purge one UCSS by URL or post ID.
	 *
	 * @since 4.5
	 * @param int|string $post_id_or_url Post ID or URL.
	 * @return void
	 */
	public static function purge_ucss( $post_id_or_url ) {
		self::debug( 'Purge a single UCSS: ' . $post_id_or_url );

		// If is post_id, generate URL.
		if ( ! preg_match( '/\D/', (string) $post_id_or_url ) ) {
			$post_id_or_url = get_permalink( (int) $post_id_or_url );
		}

		$post_id_or_url      = (string) $post_id_or_url;
		$permalink_structure = get_option( 'permalink_structure' );
		if ( ! empty( $permalink_structure ) ) {
			$post_id_or_url = trailingslashit( (string) $post_id_or_url );
		}

		$existing_url_files = Data::cls()->mark_as_expired( $post_id_or_url, true );
		if ( $existing_url_files ) {
			self::cls( 'UCSS' )->add_to_q( $existing_url_files );
		}
	}

	/**
	 * Delete all LQIP images.
	 *
	 * @since 3.0
	 * @param bool $silence If true, don't show admin notice.
	 * @return void
	 */
	private function _purge_all_lqip( $silence = false ) {
		do_action( 'litespeed_purged_all_lqip' );

		$this->cls( 'Placeholder' )->rm_cache_folder( 'lqip' );

		if ( ! $silence ) {
			$msg = __( 'Cleaned all LQIP files.', 'litespeed-cache' );
			if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
				Admin_Display::success( $msg );
			}
		}
	}

	/**
	 * Delete all VPI data generated
	 *
	 * @since 7.6
	 * @param bool $silence If true, don't show admin notice.
	 * @return void
	 * @access private
	 */
	private function _purge_all_vpi( $silence = false ) {
		global $wpdb;
		do_action( 'litespeed_purged_all_vpi' );

		$wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$wpdb->prepare(
				'DELETE FROM `' . $wpdb->postmeta . '` WHERE meta_key = %s',
				VPI::POST_META
			)
		);
		$wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$wpdb->prepare(
				'DELETE FROM `' . $wpdb->postmeta . '` WHERE meta_key = %s',
				VPI::POST_META_MOBILE
			)
		);
		$this->cls( 'Placeholder' )->rm_cache_folder( 'vpi' );

		if ( !$silence ) {
			$msg = __( 'Cleaned all VPI data.', 'litespeed-cache' );
			!defined( 'LITESPEED_PURGE_SILENT' ) && Admin_Display::success( $msg );
		}
	}

	/**
	 * Delete all avatar images
	 *
	 * @since 3.0
	 * @param bool $silence If true, don't show admin notice.
	 * @return void
	 */
	private function _purge_all_avatar( $silence = false ) {
		do_action( 'litespeed_purged_all_avatar' );

		// Clear Database table
		$this->cls( 'Data' )->table_truncate( 'avatar' );
		// Remove the folder
		$this->cls( 'Avatar' )->rm_cache_folder( 'avatar' );

		if ( ! $silence ) {
			$msg = __( 'Cleaned all Gravatar files.', 'litespeed-cache' );
			if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
				Admin_Display::success( $msg );
			}
		}
	}

	/**
	 * Delete all localized resources.
	 *
	 * @since 3.3
	 * @param bool $silence If true, don't show admin notice.
	 * @return void
	 */
	private function _purge_all_localres( $silence = false ) {
		do_action( 'litespeed_purged_all_localres' );

		$this->_add( Tag::TYPE_LOCALRES );

		if ( ! $silence ) {
			$msg = __( 'Cleaned all localized resource entries.', 'litespeed-cache' );
			if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
				Admin_Display::success( $msg );
			}
		}
	}

	/**
	 * Purge CSS/JS assets and related LSCache entries.
	 *
	 * @since 1.2.2
	 * @param bool $silence If true, don't show admin notice.
	 * @return void
	 */
	private function _purge_all_cssjs( $silence = false ) {
		if ( wp_doing_cron() || defined( 'LITESPEED_DID_send_headers' ) ) {
			self::debug( '❌ Bypassed cssjs delete as header sent (lscache purge after this point will fail) or doing cron' );
			return;
		}

		$this->_purge_all_lscache( $silence ); // Purge CSSJS must purge lscache too to avoid 404

		do_action( 'litespeed_purged_all_cssjs' );

		Optimize::update_option( Optimize::ITEM_TIMESTAMP_PURGE_CSS, time() );

		$this->_add( Tag::TYPE_MIN );

		$this->cls( 'CSS' )->rm_cache_folder( 'css' );
		$this->cls( 'CSS' )->rm_cache_folder( 'js' );
		$this->cls( 'Data' )->url_file_clean( 'css' );
		$this->cls( 'Data' )->url_file_clean( 'js' );

		// Clear UCSS queue as it used combined CSS to generate.
		$this->clear_q( 'ucss', true );

		if ( ! $silence ) {
			$msg = __( 'Notified LiteSpeed Web Server to purge CSS/JS entries.', 'litespeed-cache' );
			if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
				Admin_Display::success( $msg );
			}
		}
	}

	/**
	 * Purge opcode cache.
	 *
	 * @since 1.8.2
	 * @since 7.3   Added test for opcode cache restriction.
	 * @param bool $silence If true, don't show admin notice.
	 * @return bool True on success.
	 */
	public function purge_all_opcache( $silence = false ) {
		if ( ! Router::opcache_enabled() ) {
			self::debug( '❌ Failed to reset OPcache due to OPcache not enabled' );

			if ( ! $silence ) {
				$msg = __( 'OPcache is not enabled.', 'litespeed-cache' );
				if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
					Admin_Display::error( $msg );
				}
			}

			return false;
		}

		if ( Router::opcache_restricted( __FILE__ ) ) {
			self::debug( '❌ Failed to reset OPcache due to OPcache is restricted. File requesting the clear is not allowed.' );

			if ( ! $silence ) {
				$msg = sprintf( __( 'OPcache is restricted by %s setting.', 'litespeed-cache' ), '<code>restrict_api</code>' );
				if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
					Admin_Display::error( $msg );
				}
			}

			return false;
		}

		if ( ! opcache_reset() ) {
			self::debug( '❌ Reset OPcache not worked' );

			if ( ! $silence ) {
				$msg = __( 'Reset the OPcache failed.', 'litespeed-cache' );
				if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
					Admin_Display::success( $msg );
				}
			}

			return false;
		}

		do_action( 'litespeed_purged_all_opcache' );

		self::debug( 'Reset OPcache' );

		if ( ! $silence ) {
			$msg = __( 'Reset the entire OPcache successfully.', 'litespeed-cache' );
			if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
				Admin_Display::success( $msg );
			}
		}

		return true;
	}

	/**
	 * Purge object cache (public wrapper).
	 *
	 * @since 3.4
	 * @param bool $silence If true, don't show admin notice.
	 * @return void
	 */
	public static function purge_all_object( $silence = true ) {
		self::cls()->_purge_all_object( $silence );
	}

	/**
	 * Purge object cache.
	 *
	 * @since 1.8
	 * @param bool $silence If true, don't show admin notice.
	 * @return bool True on success.
	 */
	private function _purge_all_object( $silence = false ) {
		if ( ! defined( 'LSCWP_OBJECT_CACHE' ) ) {
			self::debug( 'Failed to flush object cache due to object cache not enabled' );

			if ( ! $silence ) {
				$msg = __( 'Object cache is not enabled.', 'litespeed-cache' );
				Admin_Display::error( $msg );
			}

			return false;
		}

		do_action( 'litespeed_purged_all_object' );

		$this->cls( 'Object_Cache' )->flush();
		self::debug( 'Flushed object cache' );

		if ( ! $silence ) {
			$msg = __( 'Purge all object caches successfully.', 'litespeed-cache' );
			if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
				Admin_Display::success( $msg );
			}
		}

		return true;
	}

	/**
	 * Add public purge tags for current request.
	 *
	 * @since 1.1.3
	 * @param string|array<int,string> $tags   Tags to add.
	 * @param bool                     $purge2 Whether to send via X-LiteSpeed-Purge2.
	 * @return void
	 */
	public static function add( $tags, $purge2 = false ) {
		self::cls()->_add( $tags, $purge2 );
	}

	/**
	 * Add tags to purge list.
	 *
	 * @since 2.2
	 * @param string|array<int,string> $tags   Tags.
	 * @param bool                     $purge2 Use Purge2 header.
	 * @return void
	 */
	private function _add( $tags, $purge2 = false ) {
		if ( ! is_array( $tags ) ) {
			$tags = [ $tags ];
		}

		$tags = $this->_prepend_bid( $tags );

		if ( ! array_diff( $tags, $purge2 ? $this->_pub_purge2 : $this->_pub_purge ) ) {
			return;
		}

		if ( $purge2 ) {
			$this->_pub_purge2 = array_unique( array_merge( $this->_pub_purge2, $tags ) );
		} else {
			$this->_pub_purge = array_unique( array_merge( $this->_pub_purge, $tags ) );
		}

		self::debug( 'added ' . implode( ',', $tags ) . ( $purge2 ? ' [Purge2]' : '' ), 8 );

		// Send purge header immediately or queue if headers already sent or delayed.
		$curr_built = $this->_build( $purge2 );

		if ( defined( 'LITESPEED_CLI' ) ) {
			// Can't send, already has output, need to save and wait for next run
			self::update_option($purge2 ? self::DB_QUEUE2 : self::DB_QUEUE, $curr_built);
			self::debug( 'CLI request, queue stored: ' . $curr_built );
		} else {
			if ( ! headers_sent() ) {
				header( $curr_built );
			}
			if ( wp_doing_cron() || defined( 'LITESPEED_DID_send_headers' ) || apply_filters( 'litespeed_delay_purge', false ) ) {
				self::update_option( $purge2 ? self::DB_QUEUE2 : self::DB_QUEUE, $curr_built );
				self::debug( 'Output existed, queue stored: ' . $curr_built );
			}
			self::debug( $curr_built );
		}
	}

	/**
	 * Add private purge tags for current request.
	 *
	 * @since 1.1.3
	 * @param string|array<int,string> $tags Tags.
	 * @return void
	 */
	public static function add_private( $tags ) {
		self::cls()->_add_private( $tags );
	}

	/**
	 * Add private ESI tag to purge list.
	 *
	 * @since 3.0
	 * @param string $tag ESI tag.
	 * @return void
	 */
	public static function add_private_esi( $tag ) {
		self::add_private( Tag::TYPE_ESI . $tag );
	}

	/**
	 * Add private all tag to purge list.
	 *
	 * @since 3.0
	 * @return void
	 */
	public static function add_private_all() {
		self::add_private( '*' );
	}

	/**
	 * Add private purge tags.
	 *
	 * @since 2.2
	 * @param string|array<int,string> $tags Tags.
	 * @return void
	 */
	private function _add_private( $tags ) {
		if ( ! is_array( $tags ) ) {
			$tags = [ $tags ];
		}

		$tags = $this->_prepend_bid( $tags );

		if ( ! array_diff( $tags, $this->_priv_purge ) ) {
			return;
		}

		self::debug( 'added [private] ' . implode( ',', $tags ), 3 );

		$this->_priv_purge = array_unique( array_merge( $this->_priv_purge, $tags ) );

		// Send header immediately or skip if sent.
		$built = $this->_build();
		if ( $built && ! headers_sent() ) {
			header( $built );
		}
	}

	/**
	 * Add current blog ID prefix to tags (multisite).
	 *
	 * @since 4.0
	 * @param array<int,string> $tags Tags.
	 * @return array<int,string>
	 */
	private function _prepend_bid( $tags ) {
		if ( in_array( '*', $tags, true ) ) {
			return [ '*' ];
		}

		$curr_bid = is_multisite() ? get_current_blog_id() : '';

		foreach ( $tags as $k => $v ) {
			$tags[ $k ] = $curr_bid . '_' . $v;
		}
		return $tags;
	}

	/**
	 * Activate `purge single url tag` for Admin QS.
	 *
	 * @since 1.1.3
	 * @return void
	 */
	public static function set_purge_single() {
		self::cls()->_purge_single = true;
		do_action( 'litespeed_purged_single' );
	}

	/**
	 * Purge frontend url (based on HTTP_REFERER).
	 *
	 * @since 1.3
	 * @since 2.2 Access changed from public to private, renamed from `frontend_purge`.
	 * @return void
	 */
	private function _purge_front() {
		if ( empty( $_SERVER['HTTP_REFERER'] ) ) {
			exit( 'no referer' );
		}

		$ref = esc_url_raw( wp_unslash( $_SERVER['HTTP_REFERER'] ) );

		$this->purge_url( $ref );

		do_action( 'litespeed_purged_front', $ref );

		wp_safe_redirect( $ref );
		exit;
	}

	/**
	 * Purge single UCSS (via referer or `url_tag`).
	 *
	 * @since 4.7
	 * @return void
	 */
	private function _purge_ucss() {
		if ( empty( $_SERVER['HTTP_REFERER'] ) ) {
			exit( 'no referer' );
		}

		$ref = esc_url_raw( wp_unslash( $_SERVER['HTTP_REFERER'] ) );

		$url_tag = ! empty( $_GET['url_tag'] ) ? sanitize_text_field( wp_unslash( $_GET['url_tag'] ) ) : $ref; // phpcs:ignore WordPress.Security.NonceVerification.Recommended

		self::debug( 'Purge ucss [url_tag] ' . $url_tag );

		do_action( 'litespeed_purge_ucss', $url_tag );
		$this->purge_url( $ref );

		wp_safe_redirect( $ref );
		exit;
	}

	/**
	 * Purge the front page.
	 *
	 * @since 1.0.3
	 * @return void
	 */
	private function _purge_frontpage() {
		$this->_add( Tag::TYPE_FRONTPAGE );
		if ( 'LITESPEED_SERVER_OLS' !== LITESPEED_SERVER_TYPE ) {
			$this->_add_private( Tag::TYPE_FRONTPAGE );
		}

		$msg = __( 'Notified LiteSpeed Web Server to purge the front page.', 'litespeed-cache' );
		if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
			Admin_Display::success( $msg );
		}
		do_action( 'litespeed_purged_frontpage' );
	}

	/**
	 * Purge all pages.
	 *
	 * @since 1.0.15
	 * @return void
	 */
	private function _purge_pages() {
		$this->_add( Tag::TYPE_PAGES );

		$msg = __( 'Notified LiteSpeed Web Server to purge all pages.', 'litespeed-cache' );
		if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
			Admin_Display::success( $msg );
		}
		do_action( 'litespeed_purged_pages' );
	}

	/**
	 * Purge error pages (403/404/500).
	 *
	 * @since 1.0.14
	 * @param string|false $type Error type.
	 * @return void
	 */
	private function _purge_error( $type = false ) {
		$this->_add( Tag::TYPE_HTTP );

		if ( ! $type || ! in_array( (string) $type, [ '403', '404', '500' ], true ) ) {
			return;
		}

		$this->_add( Tag::TYPE_HTTP . $type );

		$msg = __( 'Notified LiteSpeed Web Server to purge error pages.', 'litespeed-cache' );
		if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
			Admin_Display::success( $msg );
		}
	}

	/**
	 * Purge selected category by slug.
	 *
	 * @since 1.0.7
	 * @param string $value Category slug.
	 * @return void
	 */
	public function purge_cat( $value ) {
		$val = trim( (string) $value );
		if ( '' === $val ) {
			return;
		}
		if ( 0 === preg_match( '/^[a-zA-Z0-9-]+$/', $val ) ) {
			self::debug( "$val cat invalid" );
			return;
		}
		$cat = get_category_by_slug( $val );
		if ( false === $cat ) {
			self::debug( "$val cat not existed/published" );
			return;
		}

		self::add( Tag::TYPE_ARCHIVE_TERM . $cat->term_id );

		if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
			Admin_Display::success( sprintf( __( 'Purge category %s', 'litespeed-cache' ), $val ) );
		}

		do_action( 'litespeed_purged_cat', $value );
	}

	/**
	 * Purge selected tag by slug.
	 *
	 * @since 1.0.7
	 * @param string $val Tag slug.
	 * @return void
	 */
	public function purge_tag( $val ) {
		$val = trim( (string) $val );
		if ( '' === $val ) {
			return;
		}
		if ( 0 === preg_match( '/^[a-zA-Z0-9-]+$/', $val ) ) {
			self::debug( "$val tag invalid" );
			return;
		}
		$term = get_term_by( 'slug', $val, 'post_tag' );
		if ( false === $term ) {
			self::debug( "$val tag not exist" );
			return;
		}

		self::add( Tag::TYPE_ARCHIVE_TERM . $term->term_id );

		if ( ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
			Admin_Display::success( sprintf( __( 'Purge tag %s', 'litespeed-cache' ), $val ) );
		}

		do_action( 'litespeed_purged_tag', $val );
	}

	/**
	 * Purge selected url (relative allowed).
	 *
	 * @since 1.0.7
	 * @param string $url    URL.
	 * @param bool   $purge2 Use Purge2 header.
	 * @param bool   $quite  If true, do not show admin notice.
	 * @return void
	 */
	public function purge_url( $url, $purge2 = false, $quite = false ) {
		$val = trim( (string) $url );
		if ( '' === $val ) {
			return;
		}

		if ( false !== strpos( $val, '<' ) ) {
			self::debug( "$val url contains <" );
			return;
		}

		$val  = Utility::make_relative( $val );
		$hash = Tag::get_uri_tag( $val );

		if ( false === $hash ) {
			self::debug( "$val url invalid" );
			return;
		}

		self::add( $hash, $purge2 );

		if ( ! $quite && ! defined( 'LITESPEED_PURGE_SILENT' ) ) {
			Admin_Display::success( sprintf( __( 'Purge url %s', 'litespeed-cache' ), $val ) );
		}

		do_action( 'litespeed_purged_link', $url );
	}

	/**
	 * Purge a list based on admin selection.
	 *
	 * @since 1.0.7
	 * @return void
	 */
	public function purge_list() {
		if ( ! isset( $_REQUEST[ Admin_Display::PURGEBYOPT_SELECT ], $_REQUEST[ Admin_Display::PURGEBYOPT_LIST ] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			return;
		}

		$sel      = sanitize_text_field( wp_unslash( $_REQUEST[ Admin_Display::PURGEBYOPT_SELECT ] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$list_buf = sanitize_textarea_field( wp_unslash( $_REQUEST[ Admin_Display::PURGEBYOPT_LIST ] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended

		if ( '' === $list_buf ) {
			return;
		}

		$list_buf = str_replace( ',', "\n", $list_buf );
		$raw_list = explode( "\n", $list_buf );

		switch ( $sel ) {
			case Admin_Display::PURGEBY_CAT:
            $cb = 'purge_cat';
				break;
			case Admin_Display::PURGEBY_PID:
            $cb = 'purge_post';
				break;
			case Admin_Display::PURGEBY_TAG:
            $cb = 'purge_tag';
				break;
			case Admin_Display::PURGEBY_URL:
            $cb = 'purge_url';
				break;
			default:
				return;
		}

		array_map( [ $this, $cb ], $raw_list );

		// For redirection (safe copy back to GET).
		$_GET[ Admin_Display::PURGEBYOPT_SELECT ] = $sel; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
	}

	/**
	 * Purge ESI.
	 *
	 * @since 3.0
	 * @param string $tag ESI tag.
	 * @return void
	 */
	public static function purge_esi( $tag ) {
		self::add( Tag::TYPE_ESI . $tag );
		do_action( 'litespeed_purged_esi', $tag );
	}

	/**
	 * Purge a certain post type.
	 *
	 * @since 3.0
	 * @param string $post_type Post type.
	 * @return void
	 */
	public static function purge_posttype( $post_type ) {
		self::add( Tag::TYPE_ARCHIVE_POSTTYPE . $post_type );
		self::add( $post_type );

		do_action( 'litespeed_purged_posttype', $post_type );
	}

	/**
	 * Purge all related tags to a post.
	 *
	 * @since 1.0.0
	 * @param int $pid Post ID.
	 * @return void
	 */
	public function purge_post( $pid ) {
		$pid = (int) $pid;

		// Ignore the status we don't care.
		$status = get_post_status( $pid );
		if ( ! $pid || ! in_array( $status, [ 'publish', 'trash', 'private', 'draft' ], true ) ) {
			return;
		}

		$purge_tags = $this->_get_purge_tags_by_post( $pid );
		if ( ! $purge_tags ) {
			return;
		}

		self::add( $purge_tags );
		if ( $this->conf( self::O_CACHE_REST ) ) {
			self::add( Tag::TYPE_REST );
		}

		do_action( 'litespeed_purged_post', $pid );
	}

	/**
	 * Purge a widget by ID (or discover Recent Comments widget).
	 *
	 * Hooked to load-widgets.php.
	 *
	 * @since 1.1.3
	 * @param string|null $widget_id Widget ID.
	 * @return void
	 */
	public static function purge_widget( $widget_id = null ) {
		if ( null === $widget_id ) {
			if ( empty( $_POST['widget-id'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
				return;
			}
			$widget_id = sanitize_text_field( wp_unslash( $_POST['widget-id'] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Missing
			if ( '' === $widget_id ) {
				return;
			}
		}

		self::add( Tag::TYPE_WIDGET . $widget_id );
		self::add_private( Tag::TYPE_WIDGET . $widget_id );

		do_action( 'litespeed_purged_widget', $widget_id );
	}

	/**
	 * Purges the comment widget when the count is updated.
	 *
	 * @since 1.1.3
	 * @global \WP_Widget_Factory $wp_widget_factory
	 * @return void
	 */
	public static function purge_comment_widget() {
		global $wp_widget_factory;
		if ( ! isset( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'] ) ) {
			return;
		}

		$recent_comments = $wp_widget_factory->widgets['WP_Widget_Recent_Comments'];
		if ( null !== $recent_comments ) {
			self::add( Tag::TYPE_WIDGET . $recent_comments->id );
			self::add_private( Tag::TYPE_WIDGET . $recent_comments->id );

			do_action( 'litespeed_purged_comment_widget', $recent_comments->id );
		}
	}

	/**
	 * Purges feeds on comment count update.
	 *
	 * @since 1.0.9
	 * @return void
	 */
	public function purge_feeds() {
		if ( $this->conf( self::O_CACHE_TTL_FEED ) > 0 ) {
			self::add( Tag::TYPE_FEED );
		}
		do_action( 'litespeed_purged_feeds' );
	}

	/**
	 * Purges all private cache entries when the user logs out.
	 *
	 * @since 1.1.3
	 * @return void
	 */
	public static function purge_on_logout() {
		self::add_private_all();
		do_action( 'litespeed_purged_on_logout' );
	}

	/**
	 * Finalize purge tags before output.
	 *
	 * @since 1.1.3
	 * @return void
	 */
	private function _finalize() {
		if ( ! defined( 'LITESPEED_DID_' . __FUNCTION__ ) ) {
			define( 'LITESPEED_DID_' . __FUNCTION__, true );
		} else {
			return;
		}

		do_action( 'litespeed_purge_finalize' );

		// Append unique uri purge tags if Admin QS is `PURGESINGLE` or `PURGE`.
		if ( $this->_purge_single ) {
			$tags             = [ Tag::build_uri_tag() ];
			$this->_pub_purge = array_merge( $this->_pub_purge, $this->_prepend_bid( $tags ) );
		}

		if ( ! empty( $this->_pub_purge ) ) {
			$this->_pub_purge = array_unique( $this->_pub_purge );
		}

		if ( ! empty( $this->_priv_purge ) ) {
			$this->_priv_purge = array_unique( $this->_priv_purge );
		}
	}

	/**
	 * Gather and return purge header string.
	 *
	 * @since 1.1.0
	 * @return string Purge header line.
	 */
	public static function output() {
		$instance = self::cls();

		$instance->_finalize();

		return $instance->_build();
	}

	/**
	 * Build the current purge header(s).
	 *
	 * @since 1.1.5
	 * @param bool $purge2 Whether to build X-LiteSpeed-Purge2.
	 * @return string Purge header line.
	 */
	private function _build( $purge2 = false ) {
		if ( $purge2 ) {
			if ( empty( $this->_pub_purge2 ) ) {
				return '';
			}
		} elseif ( empty( $this->_pub_purge ) && empty( $this->_priv_purge ) ) {
			return '';
		}

		$purge_header   = '';
		$private_prefix = self::X_HEADER . ': private,';

		// Handle purge2.
		if ( $purge2 ) {
			$public_tags = $this->_append_prefix( $this->_pub_purge2 );
			if ( empty( $public_tags ) ) {
				return '';
			}
			$purge_header = self::X_HEADER2 . ': public,';
			if ( Control::is_stale() ) {
				$purge_header .= 'stale,';
			}
			$purge_header .= implode( ',', $public_tags );
			return $purge_header;
		}

		if ( ! empty( $this->_pub_purge ) ) {
			$public_tags = $this->_append_prefix( $this->_pub_purge );
			if ( empty( $public_tags ) ) {
				return ''; // If this ends up empty, private will also end up empty
			}
			$purge_header = self::X_HEADER . ': public,';
			if ( Control::is_stale() ) {
				$purge_header .= 'stale,';
			}
			$purge_header  .= implode( ',', $public_tags );
			$private_prefix = ';private,';
		}

		// Private purge tags.
		if ( ! empty( $this->_priv_purge ) ) {
			$private_tags  = $this->_append_prefix( $this->_priv_purge, true );
			$purge_header .= $private_prefix . implode( ',', $private_tags );
		}

		return $purge_header;
	}

	/**
	 * Append LS tag prefix to tags; handle '*' across network.
	 *
	 * @since 1.1.0
	 * @param array<int,string> $purge_tags Tags.
	 * @param bool              $is_private Private tags.
	 * @return array<int,string>
	 */
	private function _append_prefix( $purge_tags, $is_private = false ) {
		$curr_bid = is_multisite() ? get_current_blog_id() : '';

		$purge_tags = apply_filters( 'litespeed_purge_tags', $purge_tags, $is_private );
		if ( ! in_array( '*', $purge_tags, true ) ) {
			$tags = [];
			foreach ( $purge_tags as $val ) {
				$tags[] = LSWCP_TAG_PREFIX . $val;
			}
			return $tags;
		}

		// Purge All: maybe reset crawler.
		if ( ! $is_private && $this->conf( self::O_CRAWLER ) ) {
			Crawler::cls()->reset_pos();
		}

		if ( ( defined( 'LSWCP_EMPTYCACHE' ) && LSWCP_EMPTYCACHE ) || $is_private ) {
			return [ '*' ];
		}

		if ( is_multisite() && ! $this->_is_subsite_purge() ) {
			$blogs = Activation::get_network_ids();
			if ( empty( $blogs ) ) {
				self::debug( 'build_purge_headers: blog list is empty' );
				return [];
			}
			$tags = [];
			foreach ( $blogs as $blog_id ) {
				$tags[] = LSWCP_TAG_PREFIX . $blog_id . '_';
			}
			return $tags;
		}

		return [ LSWCP_TAG_PREFIX . $curr_bid . '_' ];
	}

	/**
	 * Check if this is a subsite purge in multisite.
	 *
	 * @since 4.0
	 * @return bool
	 */
	private function _is_subsite_purge() {
		if ( ! is_multisite() ) {
			return false;
		}

		if ( is_network_admin() ) {
			return false;
		}

		if ( defined( 'LSWCP_EMPTYCACHE' ) && LSWCP_EMPTYCACHE ) {
			return false;
		}

		// Ajax network contexts.
		if ( Router::is_ajax() && ( check_ajax_referer( 'updates', false, false ) || check_ajax_referer( 'litespeed-purgeall-network', false, false ) ) ) {
			return false;
		}

		return true;
	}

	/**
	 * Get purge tags related to a post.
	 *
	 * @since 1.0.0
	 * @param int $post_id Post ID.
	 * @return array<int,string>
	 */
	private function _get_purge_tags_by_post( $post_id ) {
		if ( $this->conf( self::O_PURGE_POST_ALL ) ) {
			return [ '*' ];
		}

		do_action( 'litespeed_api_purge_post', $post_id );

		$purge_tags = [];

		// Post itself.
		$purge_tags[] = Tag::TYPE_POST . $post_id;

		$post_status = get_post_status( $post_id );
		if ( function_exists( 'is_post_status_viewable' ) && is_post_status_viewable( $post_status ) ) {
			$purge_tags[] = Tag::get_uri_tag( wp_make_link_relative( get_permalink( $post_id ) ) );
		}

		// Avoid overriding global $post: use explicit post object.
		$the_post  = get_post( $post_id );
		$post_type = $the_post ? $the_post->post_type : '';

		// Widgets: recent posts.
		global $wp_widget_factory;
		$recent_posts = isset( $wp_widget_factory->widgets['WP_Widget_Recent_Posts'] ) ? $wp_widget_factory->widgets['WP_Widget_Recent_Posts'] : null;
		if ( null !== $recent_posts ) {
			$purge_tags[] = Tag::TYPE_WIDGET . $recent_posts->id;
		}

		// get adjacent posts id as related post tag
		if ( 'post' === $post_type ) {
			$prev_post = get_previous_post();
			$next_post = get_next_post();
			if ( ! empty( $prev_post->ID ) ) {
				$purge_tags[] = Tag::TYPE_POST . $prev_post->ID;
				self::debug( '--------purge_tags prev is: ' . $prev_post->ID );
			}
			if ( ! empty( $next_post->ID ) ) {
				$purge_tags[] = Tag::TYPE_POST . $next_post->ID;
				self::debug( '--------purge_tags next is: ' . $next_post->ID );
			}
		}

		if ( $this->conf( self::O_PURGE_POST_TERM ) ) {
			$taxonomies = get_object_taxonomies( $post_type );
			// self::debug('purge by post, check tax = ' . var_export($taxonomies, true));
			foreach ( $taxonomies as $tax ) {
				$terms = get_the_terms( $post_id, $tax );
				if ( ! empty( $terms ) ) {
					foreach ( $terms as $term ) {
						$purge_tags[] = Tag::TYPE_ARCHIVE_TERM . $term->term_id;
					}
				}
			}
		}

		if ( $this->conf( self::O_CACHE_TTL_FEED ) ) {
			$purge_tags[] = Tag::TYPE_FEED;
		}

		// Author archives.
		if ( $this->conf( self::O_PURGE_POST_AUTHOR ) ) {
			$purge_tags[] = Tag::TYPE_AUTHOR . get_post_field( 'post_author', $post_id );
		}

		// Post type archives.
		if ( $this->conf( self::O_PURGE_POST_POSTTYPE ) && get_post_type_archive_link( $post_type ) ) {
			$purge_tags[] = Tag::TYPE_ARCHIVE_POSTTYPE . $post_type;
			$purge_tags[] = $post_type;
		}

		if ( $this->conf( self::O_PURGE_POST_FRONTPAGE ) ) {
			$purge_tags[] = Tag::TYPE_FRONTPAGE;
		}

		if ( $this->conf( self::O_PURGE_POST_HOMEPAGE ) ) {
			$purge_tags[] = Tag::TYPE_HOME;
		}

		if ( $this->conf( self::O_PURGE_POST_PAGES ) ) {
			$purge_tags[] = Tag::TYPE_PAGES;
		}

		if ( $this->conf( self::O_PURGE_POST_PAGES_WITH_RECENT_POSTS ) ) {
			$purge_tags[] = Tag::TYPE_PAGES_WITH_RECENT_POSTS;
		}

		// Date archives (use gmdate as per WPCS).
		$date_gmt = $the_post ? strtotime( $the_post->post_date_gmt ) : false;
		if ( $date_gmt ) {
			if ( $this->conf( self::O_PURGE_POST_DATE ) ) {
				$purge_tags[] = Tag::TYPE_ARCHIVE_DATE . gmdate( 'Ymd', $date_gmt );
			}
			if ( $this->conf( self::O_PURGE_POST_MONTH ) ) {
				$purge_tags[] = Tag::TYPE_ARCHIVE_DATE . gmdate( 'Ym', $date_gmt );
			}
			if ( $this->conf( self::O_PURGE_POST_YEAR ) ) {
				$purge_tags[] = Tag::TYPE_ARCHIVE_DATE . gmdate( 'Y', $date_gmt );
			}
		}

		return array_unique( array_filter( $purge_tags ) );
	}

	/**
	 * Run a filter and also purge all (utility for hooks).
	 *
	 * @since 1.1.5
	 * @param string $val Filter value.
	 * @return string Same value.
	 */
	public static function filter_with_purge_all( $val ) {
		self::purge_all();
		return $val;
	}
}
PK�^�\�U�Eybyb+litespeed-cache/src/object-cache-wp.cls.phpnu�[���<?php
/**
 * WP Object Cache wrapper for LiteSpeed Cache.
 *
 * Provides a drop-in-compatible object cache implementation that proxies to
 * LiteSpeed's persistent cache while keeping a local runtime cache.
 *
 * @package LiteSpeed
 * @since   1.8
 */

/**
 * Class WP_Object_Cache
 *
 * Implements the WordPress object cache for LiteSpeed Cache.
 *
 * @since 1.8
 * @package LiteSpeed
 */
class WP_Object_Cache {

	/**
	 * Singleton instance
	 *
	 * @since 1.8
	 * @access protected
	 * @var WP_Object_Cache|null
	 */
	protected static $_instance;

	/**
	 * Object cache instance
	 *
	 * @since 1.8
	 * @access private
	 * @var \LiteSpeed\Object_Cache
	 */
	private $_object_cache;

	/**
	 * Cache storage
	 *
	 * @since 1.8
	 * @access private
	 * @var array
	 */
	private $_cache = [];

	/**
	 * Cache for 404 keys
	 *
	 * @since 1.8
	 * @access private
	 * @var array
	 */
	private $_cache_404 = [];

	/**
	 * Total cache operations
	 *
	 * @since 1.8
	 * @access private
	 * @var int
	 */
	private $cache_total = 0;

	/**
	 * Cache hits within call
	 *
	 * @since 1.8
	 * @access private
	 * @var int
	 */
	private $count_hit_incall = 0;

	/**
	 * Cache hits
	 *
	 * @since 1.8
	 * @access private
	 * @var int
	 */
	private $count_hit = 0;

	/**
	 * Cache misses within call
	 *
	 * @since 1.8
	 * @access private
	 * @var int
	 */
	private $count_miss_incall = 0;

	/**
	 * Cache misses
	 *
	 * @since 1.8
	 * @access private
	 * @var int
	 */
	private $count_miss = 0;

	/**
	 * Cache set operations
	 *
	 * @since 1.8
	 * @access private
	 * @var int
	 */
	private $count_set = 0;

	/**
	 * Global cache groups
	 *
	 * @since 1.8
	 * @access protected
	 * @var array
	 */
	protected $global_groups = [];

	/**
	 * Blog prefix for cache keys
	 *
	 * @since 1.8
	 * @access private
	 * @var string
	 */
	private $blog_prefix;

	/**
	 * Multisite flag
	 *
	 * @since 1.8
	 * @access private
	 * @var bool
	 */
	private $multisite;

	/**
	 * Init.
	 *
	 * Initializes the object cache with LiteSpeed settings.
	 *
	 * @since  1.8
	 * @access public
	 */
	public function __construct() {
		$this->_object_cache = \LiteSpeed\Object_Cache::cls();

		$this->multisite   = is_multisite();
		$this->blog_prefix = $this->multisite ? get_current_blog_id() . ':' : '';

		/**
		 * Fix multiple instance using same oc issue
		 *
		 * @since  1.8.2
		 */
		if ( ! defined( 'LSOC_PREFIX' ) ) {
			define( 'LSOC_PREFIX', substr( md5( __FILE__ ), -5 ) );
		}
	}

	/**
	 * Makes private properties readable for backward compatibility.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param string $name Property to get.
	 * @return mixed Property.
	 */
	public function __get( $name ) {
		return $this->$name;
	}

	/**
	 * Makes private properties settable for backward compatibility.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param string $name  Property to set.
	 * @param mixed  $value Property value.
	 * @return mixed Newly-set property.
	 */
	public function __set( $name, $value ) {
		$this->$name = $value;

		return $this->$name;
	}

	/**
	 * Makes private properties checkable for backward compatibility.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param string $name Property to check if set.
	 * @return bool Whether the property is set.
	 */
	public function __isset( $name ) {
		return isset( $this->$name );
	}

	/**
	 * Makes private properties un-settable for backward compatibility.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param string $name Property to unset.
	 */
	public function __unset( $name ) {
		unset( $this->$name );
	}

	/**
	 * Serves as a utility function to determine whether a key is valid.
	 *
	 * @since 5.4
	 * @access protected
	 *
	 * @param int|string $key Cache key to check for validity.
	 * @return bool Whether the key is valid.
	 */
	protected function is_valid_key( $key ) {
		if ( is_int( $key ) ) {
			return true;
		}

		if ( is_string( $key ) && '' !== trim( $key ) ) {
			return true;
		}

		$type = gettype( $key );

		if ( ! function_exists( '__' ) ) {
			wp_load_translations_early();
		}

		$message = is_string( $key )
			? __( 'Cache key must not be an empty string.' )
			: sprintf(
				/* translators: %s: The type of the given cache key. */
				__( 'Cache key must be integer or non-empty string, %s given.' ),
				$type
			);

		_doing_it_wrong(
			esc_html( __METHOD__ ),
			esc_html( $message ),
			'6.1.0'
		);

		return false;
	}

	/**
	 * Get the final key.
	 *
	 * Generates a unique cache key based on group and prefix.
	 *
	 * @since 1.8
	 * @access private
	 * @param int|string $key   Cache key.
	 * @param string     $group Optional. Cache group. Default 'default'.
	 * @return string The final cache key.
	 */
	private function _key( $key, $group = 'default' ) {
		if ( empty( $group ) ) {
			$group = 'default';
		}

		$prefix = $this->_object_cache->is_global( $group ) ? '' : $this->blog_prefix;

		return LSOC_PREFIX . $prefix . $group . '.' . $key;
	}

	/**
	 * Output debug info.
	 *
	 * Returns cache statistics for debugging purposes.
	 *
	 * @since  1.8
	 * @access public
	 * @return string Cache statistics.
	 */
	public function debug() {
		return ' [total] ' .
			$this->cache_total .
			' [hit_incall] ' .
			$this->count_hit_incall .
			' [hit] ' .
			$this->count_hit .
			' [miss_incall] ' .
			$this->count_miss_incall .
			' [miss] ' .
			$this->count_miss .
			' [set] ' .
			$this->count_set;
	}

	/**
	 * Adds data to the cache if it doesn't already exist.
	 *
	 * @since 1.8
	 * @access public
	 * @see WP_Object_Cache::set()
	 *
	 * @param int|string $key    What to call the contents in the cache.
	 * @param mixed      $data   The contents to store in the cache.
	 * @param string     $group  Optional. Where to group the cache contents. Default 'default'.
	 * @param int        $expire Optional. When to expire the cache contents, in seconds.
	 *                           Default 0 (no expiration).
	 * @return bool True on success, false if cache key and group already exist.
	 */
	public function add( $key, $data, $group = 'default', $expire = 0 ) {
		if ( wp_suspend_cache_addition() ) {
			return false;
		}

		if ( ! $this->is_valid_key( $key ) ) {
			return false;
		}

		if ( empty( $group ) ) {
			$group = 'default';
		}

		$id = $this->_key( $key, $group );

		if ( array_key_exists( $id, $this->_cache ) ) {
			return false;
		}

		return $this->set( $key, $data, $group, (int) $expire );
	}

	/**
	 * Adds multiple values to the cache in one call.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param array  $data   Array of keys and values to be added.
	 * @param string $group  Optional. Where the cache contents are grouped. Default empty.
	 * @param int    $expire Optional. When to expire the cache contents, in seconds.
	 *                       Default 0 (no expiration).
	 * @return bool[] Array of return values, grouped by key. Each value is either
	 *                true on success, or false if cache key and group already exist.
	 */
	public function add_multiple( array $data, $group = '', $expire = 0 ) {
		$values = [];

		foreach ( $data as $key => $value ) {
			$values[ $key ] = $this->add( $key, $value, $group, $expire );
		}

		return $values;
	}

	/**
	 * Replaces the contents in the cache, if contents already exist.
	 *
	 * @since 1.8
	 * @access public
	 * @see WP_Object_Cache::set()
	 *
	 * @param int|string $key    What to call the contents in the cache.
	 * @param mixed      $data   The contents to store in the cache.
	 * @param string     $group  Optional. Where to group the cache contents. Default 'default'.
	 * @param int        $expire Optional. When to expire the cache contents, in seconds.
	 *                           Default 0 (no expiration).
	 * @return bool True if contents were replaced, false if original value does not exist.
	 */
	public function replace( $key, $data, $group = 'default', $expire = 0 ) {
		if ( ! $this->is_valid_key( $key ) ) {
			return false;
		}

		if ( empty( $group ) ) {
			$group = 'default';
		}

		$id = $this->_key( $key, $group );

		if ( ! array_key_exists( $id, $this->_cache ) ) {
			return false;
		}

		return $this->set( $key, $data, $group, (int) $expire );
	}

	/**
	 * Sets the data contents into the cache.
	 *
	 * The cache contents are grouped by the $group parameter followed by the
	 * $key. This allows for duplicate IDs in unique groups. Therefore, naming of
	 * the group should be used with care and should follow normal function
	 * naming guidelines outside of core WordPress usage.
	 *
	 * The $expire parameter is not used, because the cache will automatically
	 * expire for each time a page is accessed and PHP finishes. The method is
	 * more for cache plugins which use files.
	 *
	 * @since 1.8
	 * @since 5.4 Returns false if cache key is invalid.
	 * @access public
	 *
	 * @param int|string $key    What to call the contents in the cache.
	 * @param mixed      $data   The contents to store in the cache.
	 * @param string     $group  Optional. Where to group the cache contents. Default 'default'.
	 * @param int        $expire Optional. When to expire the cache contents, in seconds.
	 *                           Default 0 (no expiration).
	 * @return bool True if contents were set, false if key is invalid.
	 */
	public function set( $key, $data, $group = 'default', $expire = 0 ) {
		if ( ! $this->is_valid_key( $key ) ) {
			return false;
		}

		if ( empty( $group ) ) {
			$group = 'default';
		}

		$id = $this->_key( $key, $group );

		if ( is_object( $data ) ) {
			$data = clone $data;
		}

		$this->_cache[ $id ] = $data;

		if ( array_key_exists( $id, $this->_cache_404 ) ) {
			unset( $this->_cache_404[ $id ] );
		}

		if ( ! $this->_object_cache->is_non_persistent( $group ) ) {
			// phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize
			$this->_object_cache->set( $id, serialize( array( 'data' => $data ) ), (int) $expire );
			++$this->count_set;
		}

		if ( $this->_object_cache->store_transients( $group ) ) {
			$this->_transient_set( $key, $data, $group, (int) $expire );
		}

		return true;
	}

	/**
	 * Sets multiple values to the cache in one call.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param array  $data   Array of key and value to be set.
	 * @param string $group  Optional. Where the cache contents are grouped. Default empty.
	 * @param int    $expire Optional. When to expire the cache contents, in seconds.
	 *                       Default 0 (no expiration).
	 * @return bool[] Array of return values, grouped by key. Each value is always true.
	 */
	public function set_multiple( array $data, $group = '', $expire = 0 ) {
		$values = [];

		foreach ( $data as $key => $value ) {
			$values[ $key ] = $this->set( $key, $value, $group, $expire );
		}

		return $values;
	}

	/**
	 * Retrieves the cache contents, if it exists.
	 *
	 * The contents will be first attempted to be retrieved by searching by the
	 * key in the cache group. If the cache is hit (success) then the contents
	 * are returned.
	 *
	 * On failure, the number of cache misses will be incremented.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param int|string $key   The key under which the cache contents are stored.
	 * @param string     $group Optional. Where the cache contents are grouped. Default 'default'.
	 * @param bool       $force Optional. Unused. Whether to force an update of the local cache
	 *                          from the persistent cache. Default false.
	 * @param bool       $found Optional. Whether the key was found in the cache (passed by reference).
	 *                          Disambiguates a return of false, a storable value. Default null.
	 * @return mixed|false The cache contents on success, false on failure to retrieve contents.
	 */
	public function get( $key, $group = 'default', $force = false, &$found = null ) {
		if ( ! $this->is_valid_key( $key ) ) {
			return false;
		}

		if ( empty( $group ) ) {
			$group = 'default';
		}

		$id = $this->_key( $key, $group );

		$found       = false;
		$found_in_oc = false;
		$cache_val   = false;

		if ( array_key_exists( $id, $this->_cache ) && ! $force ) {
			$found     = true;
			$cache_val = $this->_cache[ $id ];
			++$this->count_hit_incall;
		} elseif ( ! array_key_exists( $id, $this->_cache_404 ) && ! $this->_object_cache->is_non_persistent( $group ) ) {
			$v = $this->_object_cache->get( $id );

			if ( null !== $v ) {
				$v = maybe_unserialize( $v );
			}

			// To be compatible with false val.
			if ( is_array( $v ) && array_key_exists( 'data', $v ) ) {
				++$this->count_hit;
				$found       = true;
				$found_in_oc = true;
				$cache_val   = $v['data'];
			} else {
				// Can't find key, cache it to 404.
				$this->_cache_404[ $id ] = 1;
				++$this->count_miss;
			}
		} else {
			++$this->count_miss_incall;
		}

		if ( is_object( $cache_val ) ) {
			$cache_val = clone $cache_val;
		}

		// If not found but has `Store Transients` cfg on, still need to follow WP's get_transient() logic.
		if ( ! $found && $this->_object_cache->store_transients( $group ) ) {
			$cache_val = $this->_transient_get( $key, $group );
			if ( $cache_val ) {
				$found = true;
			}
		}

		if ( $found_in_oc ) {
			$this->_cache[ $id ] = $cache_val;
		}

		++$this->cache_total;

		return $cache_val;
	}

	/**
	 * Retrieves multiple values from the cache in one call.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param array  $keys  Array of keys under which the cache contents are stored.
	 * @param string $group Optional. Where the cache contents are grouped. Default 'default'.
	 * @param bool   $force Optional. Whether to force an update of the local cache
	 *                      from the persistent cache. Default false.
	 * @return array Array of return values, grouped by key. Each value is either
	 *               the cache contents on success, or false on failure.
	 */
	public function get_multiple( $keys, $group = 'default', $force = false ) {
		$values = [];

		foreach ( $keys as $key ) {
			$values[ $key ] = $this->get( $key, $group, $force );
		}

		return $values;
	}

	/**
	 * Removes the contents of the cache key in the group.
	 *
	 * If the cache key does not exist in the group, then nothing will happen.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param int|string $key   What the contents in the cache are called.
	 * @param string     $group Optional. Where the cache contents are grouped. Default 'default'.
	 * @return bool True on success, false if the contents were not deleted.
	 */
	public function delete( $key, $group = 'default' ) {
		if ( ! $this->is_valid_key( $key ) ) {
			return false;
		}

		if ( empty( $group ) ) {
			$group = 'default';
		}

		$id = $this->_key( $key, $group );

		if ( $this->_object_cache->store_transients( $group ) ) {
			$this->_transient_del( $key, $group );
		}

		if ( array_key_exists( $id, $this->_cache ) ) {
			unset( $this->_cache[ $id ] );
		}

		if ( $this->_object_cache->is_non_persistent( $group ) ) {
			return false;
		}

		return $this->_object_cache->delete( $id );
	}

	/**
	 * Deletes multiple values from the cache in one call.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param array  $keys  Array of keys to be deleted.
	 * @param string $group Optional. Where the cache contents are grouped. Default empty.
	 * @return bool[] Array of return values, grouped by key. Each value is either
	 *                true on success, or false if the contents were not deleted.
	 */
	public function delete_multiple( array $keys, $group = '' ) {
		$values = [];

		foreach ( $keys as $key ) {
			$values[ $key ] = $this->delete( $key, $group );
		}

		return $values;
	}

	/**
	 * Increments numeric cache item's value.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param int|string $key    The cache key to increment.
	 * @param int        $offset Optional. The amount by which to increment the item's value.
	 *                           Default 1.
	 * @param string     $group  Optional. The group the key is in. Default 'default'.
	 * @return int|false The item's new value on success, false on failure.
	 */
	public function incr( $key, $offset = 1, $group = 'default' ) {
		return $this->incr_desr( $key, $offset, $group, true );
	}

	/**
	 * Decrements numeric cache item's value.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @param int|string $key    The cache key to decrement.
	 * @param int        $offset Optional. The amount by which to decrement the item's value.
	 *                           Default 1.
	 * @param string     $group  Optional. The group the key is in. Default 'default'.
	 * @return int|false The item's new value on success, false on failure.
	 */
	public function decr( $key, $offset = 1, $group = 'default' ) {
		return $this->incr_desr( $key, $offset, $group, false );
	}

	/**
	 * Increments or decrements numeric cache item's value.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param int|string $key    The cache key to increment or decrement.
	 * @param int        $offset The amount by which to adjust the item's value.
	 * @param string     $group  Optional. The group the key is in. Default 'default'.
	 * @param bool       $incr   True to increment, false to decrement.
	 * @return int|false The item's new value on success, false on failure.
	 */
	public function incr_desr( $key, $offset = 1, $group = 'default', $incr = true ) {
		if ( ! $this->is_valid_key( $key ) ) {
			return false;
		}

		if ( empty( $group ) ) {
			$group = 'default';
		}

		$cache_val = $this->get( $key, $group );

		if ( false === $cache_val ) {
			return false;
		}

		if ( ! is_numeric( $cache_val ) ) {
			$cache_val = 0;
		}

		$offset = (int) $offset;

		if ( $incr ) {
			$cache_val += $offset;
		} else {
			$cache_val -= $offset;
		}

		if ( $cache_val < 0 ) {
			$cache_val = 0;
		}

		$this->set( $key, $cache_val, $group );

		return $cache_val;
	}

	/**
	 * Clears the object cache of all data.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @return true Always returns true.
	 */
	public function flush() {
		$this->flush_runtime();

		$this->_object_cache->flush();

		return true;
	}

	/**
	 * Removes all cache items from the in-memory runtime cache.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @return true Always returns true.
	 */
	public function flush_runtime() {
		$this->_cache     = [];
		$this->_cache_404 = [];

		return true;
	}

	/**
	 * Removes all cache items in a group.
	 *
	 * @since 5.4
	 * @access public
	 *
	 * @return true Always returns true.
	 */
	public function flush_group() {
		return true;
	}

	/**
	 * Sets the list of global cache groups.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param string|string[] $groups List of groups that are global.
	 */
	public function add_global_groups( $groups ) {
		$groups = (array) $groups;

		$this->_object_cache->add_global_groups( $groups );
	}

	/**
	 * Sets the list of non-persistent cache groups.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param string|string[] $groups A group or an array of groups to add.
	 */
	public function add_non_persistent_groups( $groups ) {
		$groups = (array) $groups;

		$this->_object_cache->add_non_persistent_groups( $groups );
	}

	/**
	 * Switches the internal blog ID.
	 *
	 * This changes the blog ID used to create keys in blog specific groups.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param int $blog_id Blog ID.
	 */
	public function switch_to_blog( $blog_id ) {
		$blog_id           = (int) $blog_id;
		$this->blog_prefix = $this->multisite ? $blog_id . ':' : '';
	}

	/**
	 * Get transient from wp table
	 *
	 * Retrieves transient data from WordPress options table.
	 *
	 * @since 1.8.3
	 * @access private
	 * @see `wp-includes/option.php` function `get_transient`/`set_site_transient`
	 *
	 * @param string $transient Transient name.
	 * @param string $group     Transient group ('transient' or 'site-transient').
	 * @return mixed Transient value or false if not found.
	 */
	private function _transient_get( $transient, $group ) {
		if ( 'transient' === $group ) {
			/**** Ori WP func start */
			$transient_option = '_transient_' . $transient;
			if ( ! wp_installing() ) {
				// If option is not in alloptions, it is not autoloaded and thus has a timeout
				$alloptions = wp_load_alloptions();
				if ( ! isset( $alloptions[ $transient_option ] ) ) {
					$transient_timeout = '_transient_timeout_' . $transient;
					$timeout           = get_option( $transient_timeout );
					if ( false !== $timeout && $timeout < time() ) {
						delete_option( $transient_option );
						delete_option( $transient_timeout );
						$value = false;
					}
				}
			}

			if ( ! isset( $value ) ) {
				$value = get_option( $transient_option );
			}
			/**** Ori WP func end */
		} elseif ( 'site-transient' === $group ) {
			/**** Ori WP func start */
			$no_timeout       = [ 'update_core', 'update_plugins', 'update_themes' ];
			$transient_option = '_site_transient_' . $transient;
			if ( ! in_array( $transient, $no_timeout, true ) ) {
				$transient_timeout = '_site_transient_timeout_' . $transient;
				$timeout           = get_site_option( $transient_timeout );
				if ( false !== $timeout && $timeout < time() ) {
					delete_site_option( $transient_option );
					delete_site_option( $transient_timeout );
					$value = false;
				}
			}

			if ( ! isset( $value ) ) {
				$value = get_site_option( $transient_option );
			}
			/**** Ori WP func end */
		} else {
			$value = false;
		}

		return $value;
	}

	/**
	 * Set transient to WP table
	 *
	 * Stores transient data in WordPress options table.
	 *
	 * @since 1.8.3
	 * @access private
	 * @see `wp-includes/option.php` function `set_transient`/`set_site_transient`
	 *
	 * @param string $transient  Transient name.
	 * @param mixed  $value      Transient value.
	 * @param string $group      Transient group ('transient' or 'site-transient').
	 * @param int    $expiration Time until expiration in seconds.
	 * @return bool True on success, false on failure.
	 */
	private function _transient_set( $transient, $value, $group, $expiration ) {
		if ( 'transient' === $group ) {
			/**** Ori WP func start */
			$transient_timeout = '_transient_timeout_' . $transient;
			$transient_option  = '_transient_' . $transient;
			if ( false === get_option( $transient_option ) ) {
				$autoload = 'yes';
				if ( (int) $expiration ) {
					$autoload = 'no';
					add_option( $transient_timeout, time() + (int) $expiration, '', 'no' );
				}
				$result = add_option( $transient_option, $value, '', $autoload );
			} else {
				// If expiration is requested, but the transient has no timeout option,
				// delete, then re-create transient rather than update.
				$update = true;
				if ( (int) $expiration ) {
					if ( false === get_option( $transient_timeout ) ) {
						delete_option( $transient_option );
						add_option( $transient_timeout, time() + (int) $expiration, '', 'no' );
						$result = add_option( $transient_option, $value, '', 'no' );
						$update = false;
					} else {
						update_option( $transient_timeout, time() + (int) $expiration );
					}
				}
				if ( $update ) {
					$result = update_option( $transient_option, $value );
				}
			}
			/**** Ori WP func end */
		} elseif ( 'site-transient' === $group ) {
			/**** Ori WP func start */
			$transient_timeout = '_site_transient_timeout_' . $transient;
			$option            = '_site_transient_' . $transient;
			if ( false === get_site_option( $option ) ) {
				if ( (int) $expiration ) {
					add_site_option( $transient_timeout, time() + (int) $expiration );
				}
				$result = add_site_option( $option, $value );
			} else {
				if ( (int) $expiration ) {
					update_site_option( $transient_timeout, time() + (int) $expiration );
				}
				$result = update_site_option( $option, $value );
			}
			/**** Ori WP func end */
		} else {
			$result = null;
		}

		return $result;
	}

	/**
	 * Delete transient from WP table
	 *
	 * Removes transient data from WordPress options table.
	 *
	 * @since 1.8.3
	 * @access private
	 * @see `wp-includes/option.php` function `delete_transient`/`delete_site_transient`
	 *
	 * @param string $transient Transient name.
	 * @param string $group     Transient group ('transient' or 'site-transient').
	 */
	private function _transient_del( $transient, $group ) {
		if ( 'transient' === $group ) {
			/**** Ori WP func start */
			$option_timeout = '_transient_timeout_' . $transient;
			$option         = '_transient_' . $transient;
			$result         = delete_option( $option );
			if ( $result ) {
				delete_option( $option_timeout );
			}
			/**** Ori WP func end */
		} elseif ( 'site-transient' === $group ) {
			/**** Ori WP func start */
			$option_timeout = '_site_transient_timeout_' . $transient;
			$option         = '_site_transient_' . $transient;
			$result         = delete_site_option( $option );
			if ( $result ) {
				delete_site_option( $option_timeout );
			}
			/**** Ori WP func end */
		}
	}

	/**
	 * Get the current instance object.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @return WP_Object_Cache The current instance.
	 */
	public static function get_instance() {
		if ( ! isset( self::$_instance ) ) {
			self::$_instance = new self();
		}

		return self::$_instance;
	}
}
PK�^�\Rk(aK�K�litespeed-cache/src/gui.cls.phpnu�[���<?php
/**
 * The frontend GUI class.
 *
 * Provides front-end and admin-bar UI helpers for LiteSpeed Cache.
 *
 * @package LiteSpeed
 * @since 1.3
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * GUI helpers for LiteSpeed Cache.
 */
class GUI extends Base {
	const LOG_TAG = '[GUI]';

	/**
	 * Counter for temporary HTML wrappers.
	 *
	 * @var int Counter for temporary HTML wrappers to remove from the buffer.
	 */
	private static $_clean_counter = 0;

	/**
	 * Promo display flag.
	 *
	 * @var bool Internal flag used by promo templates to decide whether to display.
	 */
	private $_promo_true = false;

	/**
	 * Promo list configuration.
	 *
	 * Format: [ file_tag => [ days, litespeed_only ], ... ]
	 *
	 * @var array<string, array{0:int,1:bool}>
	 */
	private $_promo_list = [
		'new_version' => [ 7, false ],
		'score'       => [ 14, false ],
		// 'slack'      => [ 3, false ],
	];

	/** Path to guest JavaScript file. */
	const LIB_GUEST_JS = 'assets/js/guest.min.js';

	/** Path to guest document.referrer JavaScript file. */
	const LIB_GUEST_DOCREF_JS = 'assets/js/guest.docref.min.js';

	/** Path to guest vary endpoint. */
	const PHP_GUEST = 'guest.vary.php';

	/** Dismiss type: WHM. */
	const TYPE_DISMISS_WHM = 'whm';

	/** Dismiss type: ExpiresDefault. */
	const TYPE_DISMISS_EXPIRESDEFAULT = 'ExpiresDefault';

	/** Dismiss type: Promo. */
	const TYPE_DISMISS_PROMO = 'promo';

	/** Dismiss type: PIN. */
	const TYPE_DISMISS_PIN = 'pin';

	/** WHM message option name. */
	const WHM_MSG = 'lscwp_whm_install';

	/** WHM message option value. */
	const WHM_MSG_VAL = 'whm_install';

	/**
	 * Summary options cache.
	 *
	 * @var array<string,mixed> Summary/options cache.
	 */
	protected $_summary;

	/**
	 * Instance.
	 *
	 * @since 1.3
	 */
	public function __construct() {
		$this->_summary = self::get_summary();
	}

	/**
	 * Frontend init.
	 *
	 * @since 3.0
	 */
	public function init() {
		self::debug2( 'init' );

		if ( is_admin_bar_showing() && current_user_can( 'manage_options' ) ) {
			add_action( 'wp_enqueue_scripts', [ $this, 'frontend_enqueue_style' ] );
			add_action( 'admin_bar_menu', [ $this, 'frontend_shortcut' ], 95 );
		}

		/**
		 * Turn on instant click.
		 *
		 * @since 1.8.2
		 */
		if ( $this->conf( self::O_UTIL_INSTANT_CLICK ) ) {
			add_action( 'wp_enqueue_scripts', [ $this, 'frontend_enqueue_style_public' ] );
		}

		// NOTE: this needs to be before optimizer to avoid wrapper being removed.
		add_filter( 'litespeed_buffer_finalize', [ $this, 'finalize' ], 8 );
	}

	/**
	 * Print a loading message when redirecting CCSS/UCSS page to avoid blank page confusion.
	 *
	 * @param int    $counter Files left in queue.
	 * @param string $type    Queue type label.
	 * @return void
	 */
	public static function print_loading( $counter, $type ) {
		echo '<div style="font-size:25px;text-align:center;padding-top:150px;width:100%;position:absolute;">';
		echo "<img width='35' src='" . esc_url( LSWCP_PLUGIN_URL . 'assets/img/Litespeed.icon.svg' ) . "' alt='' />   ";
		printf(
			/* translators: 1: number, 2: text */
			esc_html__( '%1$s %2$s files left in queue', 'litespeed-cache' ),
			esc_html( number_format_i18n( $counter ) ),
			esc_html( $type )
		);
		echo '<p><a href="' . esc_url( admin_url( 'admin.php?page=litespeed-page_optm' ) ) . '">' . esc_html__( 'Cancel', 'litespeed-cache' ) . '</a></p>';
		echo '</div>';
	}

	/**
	 * Display the tab list.
	 *
	 * @since 7.3
	 *
	 * @param array<string,string> $tabs Key => Label pairs.
	 * @return void
	 */
	public static function display_tab_list( $tabs ) {
		$i = 1;
		foreach ( $tabs as $k => $val ) {
			$accesskey = $i <= 9 ? $i : '';
			printf(
				'<a class="litespeed-tab nav-tab" href="#%1$s" data-litespeed-tab="%1$s" litespeed-accesskey="%2$s">%3$s</a>',
				esc_attr( $k ),
				esc_attr( $accesskey ),
				esc_html( $val )
			);
			++$i;
		}
	}

	/**
	 * Render a pie chart SVG string.
	 *
	 * @since 1.6.6
	 *
	 * @param int         $percent             Percentage 0-100.
	 * @param int         $width               Width/height in pixels.
	 * @param bool        $finished_tick       Show a tick when 100%.
	 * @param bool        $without_percentage  Hide the % label.
	 * @param string|bool $append_cls          Extra CSS class.
	 * @return string SVG markup.
	 */
	public static function pie( $percent, $width = 50, $finished_tick = false, $without_percentage = false, $append_cls = false ) {
		$label      = $without_percentage ? $percent : ( $percent . '%' );
		$percentage = '<text x="50%" y="50%">' . esc_html( $label ) . '</text>';

		if ( 100 === $percent && $finished_tick ) {
			$percentage = '<text x="50%" y="50%" class="litespeed-pie-done">✓</text>';
		}

		$svg = sprintf(
			"<svg class='litespeed-pie %1\$s' viewbox='0 0 33.83098862 33.83098862' width='%2\$d' height='%2\$d' xmlns='http://www.w3.org/2000/svg'>
				<circle class='litespeed-pie_bg' cx='16.91549431' cy='16.91549431' r='15.91549431' />
				<circle class='litespeed-pie_circle' cx='16.91549431' cy='16.91549431' r='15.91549431' stroke-dasharray='%3\$d,100' />
				<g class='litespeed-pie_info'>%4\$s</g>
			</svg>",
			esc_attr( $append_cls ),
			$width,
			$percent,
			$percentage
		);

		return $svg;
	}

	/**
	 * Allowed SVG tags/attributes for kses.
	 *
	 * @since 7.3
	 *
	 * @return array<string,array<string,bool>> Allowed tags/attributes.
	 */
	public static function allowed_svg_tags() {
		return [
			'svg'    => [
				'width'   => true,
				'height'  => true,
				'viewbox' => true, // Note: SVG standard uses 'viewBox', but wp_kses normalizes to lowercase.
				'xmlns'   => true,
				'class'   => true,
				'id'      => true,
			],
			'circle' => [
				'cx'               => true,
				'cy'               => true,
				'r'                => true,
				'fill'             => true,
				'stroke'           => true,
				'class'            => true,
				'stroke-width'     => true,
				'stroke-dasharray' => true,
			],
			'path'   => [
				'd'      => true,
				'fill'   => true,
				'stroke' => true,
			],
			'text'   => [
				'x'            => true,
				'y'            => true,
				'dx'           => true,
				'dy'           => true,
				'font-size'    => true,
				'font-family'  => true,
				'font-weight'  => true,
				'fill'         => true,
				'stroke'       => true,
				'stroke-width' => true,
				'text-anchor'  => true,
				'class'        => true,
				'id'           => true,
			],
			'g'      => [
				'transform'    => true,
				'fill'         => true,
				'stroke'       => true,
				'stroke-width' => true,
				'class'        => true,
				'id'           => true,
			],
			'button' => [
				'type'               => true,
				'data-balloon-break' => true,
				'data-balloon-pos'   => true,
				'aria-label'         => true,
				'class'              => true,
			],
		];
	}

	/**
	 * Display a tiny pie with a tooltip.
	 *
	 * @since 3.0
	 *
	 * @param int         $percent    Percentage 0-100.
	 * @param int         $width      Width/height in pixels.
	 * @param string      $tooltip    Tooltip text.
	 * @param string      $tooltip_pos Tooltip position (e.g., 'up').
	 * @param string|bool $append_cls Extra CSS class.
	 * @return string HTML/SVG.
	 */
	public static function pie_tiny( $percent, $width = 50, $tooltip = '', $tooltip_pos = 'up', $append_cls = false ) {
		// formula C = 2πR.
		$dasharray = 2 * 3.1416 * 9 * ( $percent / 100 );

		return sprintf(
			"
		<button type='button' data-balloon-break data-balloon-pos='%1\$s' aria-label='%2\$s' class='litespeed-btn-pie'>
		<svg class='litespeed-pie litespeed-pie-tiny %3\$s' viewbox='0 0 30 30' width='%4\$d' height='%4\$d' xmlns='http://www.w3.org/2000/svg'>
			<circle class='litespeed-pie_bg' cx='15' cy='15' r='9' />
			<circle class='litespeed-pie_circle' cx='15' cy='15' r='9' stroke-dasharray='%5\$s,100' />
			<g class='litespeed-pie_info'><text x='50%%' y='50%%'>i</text></g>
		</svg>
		</button>
		",
			esc_attr( $tooltip_pos ),
			esc_attr( $tooltip ),
			esc_attr( $append_cls ),
			$width,
			esc_attr( $dasharray )
		);
	}

	/**
	 * Get CSS class name for PageSpeed score.
	 *
	 * Scale:
	 *  90-100 (fast)
	 *  50-89 (average)
	 *  0-49 (slow)
	 *
	 * @since 2.9
	 * @access public
	 *
	 * @param int $score Score 0-100.
	 * @return string Class name: success|warning|danger.
	 */
	public function get_cls_of_pagescore( $score ) {
		if ( $score >= 90 ) {
			return 'success';
		}

		if ( $score >= 50 ) {
			return 'warning';
		}

		return 'danger';
	}

	/**
	 * Handle dismiss actions for banners and notices.
	 *
	 * @since 1.0
	 * @access public
	 * @return void
	 */
	public static function dismiss() {
		$_instance = self::cls();

		switch ( Router::verify_type() ) {
			case self::TYPE_DISMISS_WHM:
            self::dismiss_whm();
				break;

			case self::TYPE_DISMISS_EXPIRESDEFAULT:
            self::update_option( Admin_Display::DB_DISMISS_MSG, Admin_Display::RULECONFLICT_DISMISSED );
				break;

			case self::TYPE_DISMISS_PIN:
            Admin_Display::dismiss_pin();
				break;

			case self::TYPE_DISMISS_PROMO:
            if ( empty( $_GET['promo_tag'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
					break;
				}

            $promo_tag = sanitize_key( wp_unslash( $_GET['promo_tag'] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
            if ( empty( $_instance->_promo_list[ $promo_tag ] ) ) {
					break;
				}

            defined( 'LSCWP_LOG' ) && self::debug( 'Dismiss promo ' . $promo_tag );

            // Forever dismiss.
            if ( ! empty( $_GET['done'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
					$_instance->_summary[ $promo_tag ] = 'done';
				} elseif ( ! empty( $_GET['later'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
                // Delay the banner to half year later.
                $_instance->_summary[ $promo_tag ] = time() + ( 86400 * 180 );
				} else {
                // Update welcome banner to 30 days after.
                $_instance->_summary[ $promo_tag ] = time() + ( 86400 * 30 );
				}

            self::save_summary();

				break;

			default:
				break;
		}

		if ( Router::is_ajax() ) {
			// All dismiss actions are considered as ajax call, so just exit.
			exit( wp_json_encode( [ 'success' => 1 ] ) );
		}

		// Plain click link, redirect to referral url.
		Admin::redirect();
	}

	/**
	 * Check if has rule conflict notice.
	 *
	 * @since 1.1.5
	 * @access public
	 *
	 * @return bool True if message should be shown.
	 */
	public static function has_msg_ruleconflict() {
		$db_dismiss_msg = self::get_option( Admin_Display::DB_DISMISS_MSG );
		if ( ! $db_dismiss_msg ) {
			self::update_option( Admin_Display::DB_DISMISS_MSG, -1 );
		}
		return Admin_Display::RULECONFLICT_ON === $db_dismiss_msg;
	}

	/**
	 * Check if has WHM notice.
	 *
	 * @since 1.1.1
	 * @access public
	 *
	 * @return bool True if message should be shown.
	 */
	public static function has_whm_msg() {
		$val = self::get_option( self::WHM_MSG );
		if ( ! $val ) {
			self::dismiss_whm();
			return false;
		}
		return self::WHM_MSG_VAL === $val;
	}

	/**
	 * Delete WHM message tag.
	 *
	 * @since 1.1.1
	 * @access public
	 * @return void
	 */
	public static function dismiss_whm() {
		self::update_option( self::WHM_MSG, -1 );
	}

	/**
	 * Whether current request is a LiteSpeed admin page.
	 *
	 * @since 2.9
	 *
	 * @return bool True if LiteSpeed page.
	 */
	private function _is_litespeed_page() {
		if (
			! empty( $_GET['page'] ) && // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			in_array(
				(string) $_GET['page'], // phpcs:ignore WordPress.Security.NonceVerification.Recommended
				[
					'litespeed-settings',
					'litespeed-dash',
					Admin::PAGE_EDIT_HTACCESS,
					'litespeed-optimization',
					'litespeed-crawler',
					'litespeed-import',
					'litespeed-report',
				],
				true
			)
		) {
			return true;
		}

		return false;
	}

	/**
	 * Display promo banner (or check-only mode to know which promo would display).
	 *
	 * @since 2.1
	 * @access public
	 *
	 * @param bool $check_only If true, only return the promo tag that would be shown.
	 * @return false|string False if none, or the promo tag string.
	 */
	public function show_promo( $check_only = false ) {
		$is_litespeed_page = $this->_is_litespeed_page();

		// Bypass showing info banner if disabled all in debug.
		if ( defined( 'LITESPEED_DISABLE_ALL' ) && LITESPEED_DISABLE_ALL ) {
			return false;
		}

		if ( file_exists( ABSPATH . '.litespeed_no_banner' ) ) {
			defined( 'LSCWP_LOG' ) && self::debug( 'Bypass banners due to silence file' );
			return false;
		}

		foreach ( $this->_promo_list as $promo_tag => $v ) {
			list( $delay_days, $litespeed_page_only ) = $v;

			if ( $litespeed_page_only && ! $is_litespeed_page ) {
				continue;
			}

			// First time check.
			if ( empty( $this->_summary[ $promo_tag ] ) ) {
				$this->_summary[ $promo_tag ] = time() + 86400 * $delay_days;
				self::save_summary();
				continue;
			}

			$promo_timestamp = $this->_summary[ $promo_tag ];

			// Was ticked as done.
			if ( 'done' === $promo_timestamp ) {
				continue;
			}

			// Not reach the dateline yet.
			if ( time() < $promo_timestamp ) {
				continue;
			}

			// Try to load, if can pass, will set $this->_promo_true = true.
			$this->_promo_true = false;
			include LSCWP_DIR . "tpl/banner/$promo_tag.php";

			// If not defined, means it didn't pass the display workflow in tpl.
			if ( ! $this->_promo_true ) {
				continue;
			}

			if ( $check_only ) {
				return $promo_tag;
			}

			defined( 'LSCWP_LOG' ) && self::debug( 'Show promo ' . $promo_tag );

			// Only contain one.
			break;
		}

		return false;
	}

	/**
	 * Load frontend public script.
	 *
	 * @since 1.8.2
	 * @access public
	 * @return void
	 */
	public function frontend_enqueue_style_public() {
		wp_enqueue_script(
			Core::PLUGIN_NAME,
			LSWCP_PLUGIN_URL . 'assets/js/instant_click.min.js',
			[],
			Core::VER,
			[ 
				'strategy' => 'defer',
				'in_footer' => true,
			]
		);
	}

	/**
	 * Load frontend stylesheet.
	 *
	 * @since 1.3
	 * @access public
	 * @return void
	 */
	public function frontend_enqueue_style() {
		wp_enqueue_style( Core::PLUGIN_NAME, LSWCP_PLUGIN_URL . 'assets/css/litespeed.css', [], Core::VER, 'all' );
	}

	/**
	 * Load frontend menu shortcut items in the admin bar.
	 *
	 * @since  1.3
	 * @since  7.6 Add VPI clear.
	 * @access public
	 * @return void
	 */
	public function frontend_shortcut() {
		global $wp_admin_bar;

		$wp_admin_bar->add_menu(
			[
				'id'    => 'litespeed-menu',
				'title' => '<span class="ab-icon"></span>',
				'href'  => get_admin_url( null, 'admin.php?page=litespeed' ),
				'meta'  => [
					'tabindex' => 0,
					'class'    => 'litespeed-top-toolbar',
				],
			]
		);

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-purge-single',
				'title'  => esc_html__( 'Purge this page', 'litespeed-cache' ) . ' - LSCache',
				'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_FRONT, false, true ),
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		if ( $this->has_cache_folder( 'ucss' ) ) {
			$possible_url_tag = UCSS::get_url_tag();
			$append_arr       = [];
			if ( $possible_url_tag ) {
				$append_arr['url_tag'] = $possible_url_tag;
			}

			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-single-ucss',
					'title'  => esc_html__( 'Purge this page', 'litespeed-cache' ) . ' - UCSS',
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_UCSS, false, true, $append_arr ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-single-action',
				'title'  => esc_html__( 'Mark this page as ', 'litespeed-cache' ),
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		$current_uri = isset( $_SERVER['REQUEST_URI'] ) ? esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';

		if ( $current_uri ) {
			$append_arr = [
				Conf::TYPE_SET . '[' . self::O_CACHE_FORCE_URI . '][]' => $current_uri . '$',
				'redirect'                                           => $current_uri,
			];
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-single-action',
					'id'     => 'litespeed-single-forced_cache',
					'title'  => esc_html__( 'Forced cacheable', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_CONF, Conf::TYPE_SET, false, true, $append_arr ),
				]
			);

			$append_arr = [
				Conf::TYPE_SET . '[' . self::O_CACHE_EXC . '][]' => $current_uri . '$',
				'redirect'                                      => $current_uri,
			];
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-single-action',
					'id'     => 'litespeed-single-noncache',
					'title'  => esc_html__( 'Non cacheable', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_CONF, Conf::TYPE_SET, false, true, $append_arr ),
				]
			);

			$append_arr = [
				Conf::TYPE_SET . '[' . self::O_CACHE_PRIV_URI . '][]' => $current_uri . '$',
				'redirect'                                           => $current_uri,
			];
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-single-action',
					'id'     => 'litespeed-single-private',
					'title'  => esc_html__( 'Private cache', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_CONF, Conf::TYPE_SET, false, true, $append_arr ),
				]
			);

			$append_arr = [
				Conf::TYPE_SET . '[' . self::O_OPTM_EXC . '][]' => $current_uri . '$',
				'redirect'                                      => $current_uri,
			];
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-single-action',
					'id'     => 'litespeed-single-nonoptimize',
					'title'  => esc_html__( 'No optimization', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_CONF, Conf::TYPE_SET, false, true, $append_arr ),
				]
			);
		}

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-single-action',
				'id'     => 'litespeed-single-more',
				'title'  => esc_html__( 'More settings', 'litespeed-cache' ),
				'href'   => get_admin_url( null, 'admin.php?page=litespeed-cache' ),
			]
		);

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-purge-all',
				'title'  => esc_html__( 'Purge All', 'litespeed-cache' ),
				'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL, false, '_ori' ),
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-purge-all-lscache',
				'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'LSCache', 'litespeed-cache' ),
				'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_LSCACHE, false, '_ori' ),
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-purge-cssjs',
				'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'CSS/JS Cache', 'litespeed-cache' ),
				'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_CSSJS, false, '_ori' ),
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		if ( $this->conf( self::O_CDN_CLOUDFLARE ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-cloudflare',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Cloudflare', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_CDN_CLOUDFLARE, CDN\Cloudflare::TYPE_PURGE_ALL ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( defined( 'LSCWP_OBJECT_CACHE' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-object',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Object Cache', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_OBJECT, false, '_ori' ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( Router::opcache_enabled() ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-opcache',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Opcode Cache', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_OPCACHE, false, '_ori' ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( $this->has_cache_folder( 'ccss' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-ccss',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - CCSS',
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_CCSS, false, '_ori' ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( $this->has_cache_folder( 'ucss' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-ucss',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - UCSS',
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_UCSS, false, '_ori' ),
				]
			);
		}

		if ( $this->has_cache_folder( 'localres' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-localres',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Localized Resources', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_LOCALRES, false, '_ori' ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( $this->has_cache_folder( 'lqip' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-placeholder',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'LQIP Cache', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_LQIP, false, '_ori' ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}
    
		if ( $this->has_cache_folder( 'vpi' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-vpi',
					'title'  => __( 'Purge All', 'litespeed-cache' ) . ' - VPI',
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_VPI, false, '_ori' ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( $this->has_cache_folder( 'avatar' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-avatar',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Gravatar Cache', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_AVATAR, false, '_ori' ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		do_action( 'litespeed_frontend_shortcut' );
	}

	/**
	 * Hooked to wp_before_admin_bar_render.
	 * Adds links to the admin bar so users can quickly manage/purge.
	 *
	 * @since 1.7.2 Moved from admin_display.cls to gui.cls; Renamed from `add_quick_purge` to `backend_shortcut`.
	 * @access public
	 * @global \WP_Admin_Bar $wp_admin_bar
	 * @return void
	 */
	public function backend_shortcut() {
		global $wp_admin_bar;

		if ( defined( 'LITESPEED_DISABLE_ALL' ) && LITESPEED_DISABLE_ALL ) {
			$wp_admin_bar->add_menu(
				[
					'id'    => 'litespeed-menu',
					'title' => '<span class="ab-icon icon_disabled" title="LiteSpeed Cache"></span>',
					'href'  => 'admin.php?page=litespeed-toolbox#settings-debug',
					'meta'  => [
						'tabindex' => 0,
						'class'    => 'litespeed-top-toolbar',
					],
				]
			);
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-enable_all',
					'title'  => esc_html__( 'Enable All Features', 'litespeed-cache' ),
					'href'   => 'admin.php?page=litespeed-toolbox#settings-debug',
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
			return;
		}

		$wp_admin_bar->add_menu(
			[
				'id'    => 'litespeed-menu',
				'title' => '<span class="ab-icon" title="' . esc_attr__( 'LiteSpeed Cache Purge All', 'litespeed-cache' ) . ' - ' . esc_attr__( 'LSCache', 'litespeed-cache' ) . '"></span>',
				'href'  => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_LSCACHE ),
				'meta'  => [
					'tabindex' => 0,
					'class'    => 'litespeed-top-toolbar',
				],
			]
		);

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-bar-manage',
				'title'  => esc_html__( 'Manage', 'litespeed-cache' ),
				'href'   => 'admin.php?page=litespeed',
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-bar-setting',
				'title'  => esc_html__( 'Settings', 'litespeed-cache' ),
				'href'   => 'admin.php?page=litespeed-cache',
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		if ( ! is_network_admin() ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-bar-imgoptm',
					'title'  => esc_html__( 'Image Optimization', 'litespeed-cache' ),
					'href'   => 'admin.php?page=litespeed-img_optm',
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-purge-all',
				'title'  => esc_html__( 'Purge All', 'litespeed-cache' ),
				'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL ),
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-purge-all-lscache',
				'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'LSCache', 'litespeed-cache' ),
				'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_LSCACHE ),
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		$wp_admin_bar->add_menu(
			[
				'parent' => 'litespeed-menu',
				'id'     => 'litespeed-purge-cssjs',
				'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'CSS/JS Cache', 'litespeed-cache' ),
				'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_CSSJS ),
				'meta'   => [ 'tabindex' => '0' ],
			]
		);

		if ( $this->conf( self::O_CDN_CLOUDFLARE ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-cloudflare',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Cloudflare', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_CDN_CLOUDFLARE, CDN\Cloudflare::TYPE_PURGE_ALL ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( defined( 'LSCWP_OBJECT_CACHE' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-object',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Object Cache', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_OBJECT ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( Router::opcache_enabled() ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-opcache',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Opcode Cache', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_OPCACHE ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( $this->has_cache_folder( 'ccss' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-ccss',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - CCSS',
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_CCSS ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( $this->has_cache_folder( 'ucss' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-ucss',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - UCSS',
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_UCSS ),
				]
			);
		}

		if ( $this->has_cache_folder( 'localres' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-localres',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Localized Resources', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_LOCALRES ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( $this->has_cache_folder( 'lqip' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-placeholder',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'LQIP Cache', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_LQIP ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}
    
    	if ( $this->has_cache_folder( 'vpi' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-vpi',
					'title'  => __( 'Purge All', 'litespeed-cache' ) . ' - VPI',
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_VPI ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		if ( $this->has_cache_folder( 'avatar' ) ) {
			$wp_admin_bar->add_menu(
				[
					'parent' => 'litespeed-menu',
					'id'     => 'litespeed-purge-avatar',
					'title'  => esc_html__( 'Purge All', 'litespeed-cache' ) . ' - ' . esc_html__( 'Gravatar Cache', 'litespeed-cache' ),
					'href'   => Utility::build_url( Router::ACTION_PURGE, Purge::TYPE_PURGE_ALL_AVATAR ),
					'meta'   => [ 'tabindex' => '0' ],
				]
			);
		}

		do_action( 'litespeed_backend_shortcut' );
	}

	/**
	 * Clear unfinished data link/button.
	 *
	 * @since 2.4.2
	 * @access public
	 *
	 * @param int $unfinished_num Number of unfinished images.
	 * @return string HTML for action button.
	 */
	public static function img_optm_clean_up( $unfinished_num ) {
		return sprintf(
			'<a href="%1$s" class="button litespeed-btn-warning" data-balloon-pos="up" aria-label="%2$s"><span class="dashicons dashicons-editor-removeformatting"></span>&nbsp;%3$s</a>',
			esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_CLEAN ) ),
			esc_attr__( 'Remove all previous unfinished image optimization requests.', 'litespeed-cache' ),
			esc_html__( 'Clean Up Unfinished Data', 'litespeed-cache' ) . ( $unfinished_num ? ': ' . Admin_Display::print_plural( $unfinished_num, 'image' ) : '' )
		);
	}

	/**
	 * Generate install link.
	 *
	 * @since 2.4.2
	 * @access public
	 *
	 * @param string $title Plugin title.
	 * @param string $name  Slug.
	 * @param string $v     Version (unused, kept for BC).
	 * @return string HTML link.
	 */
	public static function plugin_install_link( $title, $name, $v ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
		$url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $name ), 'install-plugin_' . $name );

		$action = sprintf(
			'<a href="%1$s" class="install-now" data-slug="%2$s" data-name="%3$s" aria-label="%4$s">%5$s</a>',
			esc_url( $url ),
			esc_attr( $name ),
			esc_attr( $title ),
			esc_attr( sprintf( __( 'Install %s', 'litespeed-cache' ), $title ) ),
			esc_html__( 'Install Now', 'litespeed-cache' )
		);

		return $action;
	}

	/**
	 * Generate upgrade link.
	 *
	 * @since 2.4.2
	 * @access public
	 *
	 * @param string $title Plugin title.
	 * @param string $name  Slug.
	 * @param string $v     Version string.
	 * @return string HTML message with links.
	 */
	public static function plugin_upgrade_link( $title, $name, $v ) {
		$details_url = self_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $name . '&section=changelog&TB_iframe=true&width=600&height=800' );
		$file        = $name . '/' . $name . '.php';

		$msg = sprintf(
			/* translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5: class/aria */
			__('<a href="%1$s" %2$s>View version %3$s details</a> or <a href="%4$s" %5$s target="_blank">update now</a>.', 'litespeed-cache'),
			esc_url( $details_url ),
			sprintf(
				'class="thickbox open-plugin-details-modal" aria-label="%s"',
				esc_attr(
					sprintf(
						/* translators: 1: plugin title, 2: version */
						__( 'View %1$s version %2$s details', 'litespeed-cache' ),
						$title,
						$v
					)
				)
			),
			esc_html( $v ),
			esc_url( wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $file, 'upgrade-plugin_' . $file ) ),
			sprintf(
				'class="update-link" aria-label="%s"',
				esc_attr(
					sprintf(
						/* translators: %s: plugin title */
						__( 'Update %s now', 'litespeed-cache' ),
						$title
					)
				)
			)
		);

		return $msg;
	}

	/**
	 * Finalize buffer by GUI class.
	 *
	 * @since 1.6
	 * @access public
	 *
	 * @param string $buffer HTML buffer.
	 * @return string Filtered buffer.
	 */
	public function finalize( $buffer ) {
		$buffer = $this->_clean_wrapper( $buffer );

		// Maybe restore doc.ref.
		if ( $this->conf( Base::O_GUEST ) && false !== strpos( $buffer, '<head>' ) && defined( 'LITESPEED_IS_HTML' ) ) {
			$buffer = $this->_enqueue_guest_docref_js( $buffer );
		}

		if ( defined( 'LITESPEED_GUEST' ) && LITESPEED_GUEST && false !== strpos( $buffer, '</body>' ) && defined( 'LITESPEED_IS_HTML' ) ) {
			$buffer = $this->_enqueue_guest_js( $buffer );
		}

		return $buffer;
	}

	/**
	 * Append guest restore doc.ref JS for organic traffic count.
	 *
	 * @since 4.4.6
	 *
	 * @param string $buffer HTML buffer.
	 * @return string Buffer with inline script injected.
	 */
	private function _enqueue_guest_docref_js( $buffer ) {
		$js_con = File::read( LSCWP_DIR . self::LIB_GUEST_DOCREF_JS );
		$buffer = preg_replace( '/<head>/', '<head><script data-no-optimize="1">' . $js_con . '</script>', $buffer, 1 );
		return $buffer;
	}

	/**
	 * Append guest JS to update vary.
	 *
	 * @since 4.0
	 *
	 * @param string $buffer HTML buffer.
	 * @return string Buffer with inline script injected.
	 */
	private function _enqueue_guest_js( $buffer ) {
		$js_con = File::read( LSCWP_DIR . self::LIB_GUEST_JS );
		// Build path for guest endpoint using wp_parse_url for compatibility.
		$guest_update_path = wp_parse_url( LSWCP_PLUGIN_URL . self::PHP_GUEST, PHP_URL_PATH );
		$js_con            = str_replace( 'litespeed_url', esc_url( $guest_update_path ), $js_con );
		$buffer            = preg_replace( '/<\/body>/', '<script data-no-optimize="1">' . $js_con . '</script></body>', $buffer, 1 );
		return $buffer;
	}

	/**
	 * Clean wrapper from buffer.
	 *
	 * @since 1.4
	 * @since 1.6 Converted to private with adding prefix _.
	 * @access private
	 *
	 * @param string $buffer HTML buffer.
	 * @return string Cleaned buffer.
	 */
	private function _clean_wrapper( $buffer ) {
		if ( self::$_clean_counter < 1 ) {
			self::debug2( 'bypassed by no counter' );
			return $buffer;
		}

		self::debug2( 'start cleaning counter ' . self::$_clean_counter );

		for ( $i = 1; $i <= self::$_clean_counter; $i++ ) {
			// If miss beginning.
			$start = strpos( $buffer, self::clean_wrapper_begin( $i ) );
			if ( false === $start ) {
				$buffer = str_replace( self::clean_wrapper_end( $i ), '', $buffer );
				self::debug2( "lost beginning wrapper $i" );
				continue;
			}

			// If miss end.
			$end_wrapper = self::clean_wrapper_end( $i );
			$end         = strpos( $buffer, $end_wrapper );
			if ( false === $end ) {
				$buffer = str_replace( self::clean_wrapper_begin( $i ), '', $buffer );
				self::debug2( "lost ending wrapper $i" );
				continue;
			}

			// Now replace wrapped content.
			$buffer = substr_replace( $buffer, '', $start, $end - $start + strlen( $end_wrapper ) );
			self::debug2( "cleaned wrapper $i" );
		}

		return $buffer;
	}

	/**
	 * Display a to-be-removed HTML wrapper (begin tag).
	 *
	 * @since 1.4
	 * @access public
	 *
	 * @param int|false $counter Optional explicit wrapper id; auto-increment if false.
	 * @return string Wrapper begin HTML comment.
	 */
	public static function clean_wrapper_begin( $counter = false ) {
		if ( false === $counter ) {
			++self::$_clean_counter;
			$counter = self::$_clean_counter;
			self::debug( 'clean wrapper ' . $counter . ' begin' );
		}
		return '<!-- LiteSpeed To Be Removed begin ' . $counter . ' -->';
	}

	/**
	 * Display a to-be-removed HTML wrapper (end tag).
	 *
	 * @since 1.4
	 * @access public
	 *
	 * @param int|false $counter Optional explicit wrapper id; use latest if false.
	 * @return string Wrapper end HTML comment.
	 */
	public static function clean_wrapper_end( $counter = false ) {
		if ( false === $counter ) {
			$counter = self::$_clean_counter;
			self::debug( 'clean wrapper ' . $counter . ' end' );
		}
		return '<!-- LiteSpeed To Be Removed end ' . $counter . ' -->';
	}
}
PK�^�\�?ZEZE&litespeed-cache/src/activation.cls.phpnu�[���<?php
/**
 * The plugin activation class.
 *
 * @since       1.1.0
 * @since       1.5 Moved into /inc
 * @package     LiteSpeed
 * @subpackage  LiteSpeed/inc
 * @author      LiteSpeed Technologies <info@litespeedtech.com>
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Activation
 *
 * Handles plugin activation, deactivation, and related file management.
 *
 * @since 1.1.0
 */
class Activation extends Base {

	const TYPE_UPGRADE             = 'upgrade';
	const TYPE_INSTALL_3RD         = 'install_3rd';
	const TYPE_INSTALL_ZIP         = 'install_zip';
	const TYPE_DISMISS_RECOMMENDED = 'dismiss_recommended';

	const NETWORK_TRANSIENT_COUNT = 'lscwp_network_count';

	/**
	 * Data file path for configuration.
	 *
	 * @since 4.1
	 * @var string
	 */
	private static $data_file;

	/**
	 * Construct
	 *
	 * Initializes the data file path.
	 *
	 * @since 4.1
	 */
	public function __construct() {
		self::$data_file = LSCWP_CONTENT_DIR . '/' . self::CONF_FILE;
	}

	/**
	 * The activation hook callback.
	 *
	 * Handles plugin activation tasks, including file creation and multisite setup.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public static function register_activation() {
		$count = 0;
		! defined( 'LSCWP_LOG_TAG' ) && define( 'LSCWP_LOG_TAG', 'Activate_' . get_current_blog_id() );

		/* Network file handler */
		if ( is_multisite() ) {
			$count = self::get_network_count();
			if ( false !== $count ) {
				$count = (int) $count + 1;
				set_site_transient( self::NETWORK_TRANSIENT_COUNT, $count, DAY_IN_SECONDS );
			}

			if ( ! is_network_admin() ) {
				if ( 1 === $count ) {
					// Only itself is activated, set .htaccess with only CacheLookUp
					try {
						Htaccess::cls()->insert_ls_wrapper();
					} catch ( \Exception $ex ) {
						Admin_Display::error( $ex->getMessage() );
					}
				}
			}
		}
		self::cls()->update_files();

		if ( defined( 'LSCWP_REF' ) && 'whm' === LSCWP_REF ) {
			GUI::update_option( GUI::WHM_MSG, GUI::WHM_MSG_VAL );
		}
	}

	/**
	 * Uninstall plugin
	 *
	 * Removes all LiteSpeed Cache settings and data.
	 *
	 * @since 1.1.0
	 * @since 7.3 Updated to remove all settings.
	 * @access public
	 */
	public static function uninstall_litespeed_cache() {
		Task::destroy();

		if ( is_multisite() ) {
			// Save main site id
			$current_blog = get_current_blog_id();

			// get all sites
			$sub_sites = get_sites();

			// clear foreach site
			foreach ( $sub_sites as $sub_site ) {
				$sub_blog_id = (int) $sub_site->blog_id;
				if ( $sub_blog_id !== $current_blog ) {
					// Switch to blog
					switch_to_blog( $sub_blog_id );

					// Delete site options
					self::delete_settings();

					// Delete site tables
					Data::cls()->tables_del();
				}
			}

			// Return to main site
			switch_to_blog( $current_blog );
		}

		// Delete current blog/site
		// Delete options
		self::delete_settings();

		// Delete site tables
		Data::cls()->tables_del();

		if ( file_exists( LITESPEED_STATIC_DIR ) ) {
			File::rrmdir( LITESPEED_STATIC_DIR );
		}

		Cloud::version_check( 'uninstall' );
	}

	/**
	 * Remove all litespeed settings.
	 *
	 * Deletes all LiteSpeed Cache options from the database.
	 *
	 * @since 7.3
	 * @access private
	 */
	private static function delete_settings() {
		global $wpdb;

		// phpcs:ignore WordPress.DB.DirectDatabaseQuery
		$wpdb->query($wpdb->prepare("DELETE FROM `$wpdb->options` WHERE option_name LIKE %s", 'litespeed.%'));
	}

	/**
	 * Get the blog ids for the network. Accepts function arguments.
	 *
	 * @since 1.0.12
	 * @access public
	 * @param array $args Arguments for get_sites().
	 * @return array The array of blog ids.
	 */
	public static function get_network_ids( $args = [] ) {
		$args['fields'] = 'ids';
		$blogs          = get_sites( $args );

		return $blogs;
	}

	/**
	 * Gets the count of active litespeed cache plugins on multisite.
	 *
	 * @since 1.0.12
	 * @access private
	 * @return int|false Number of active LSCWP or false if none.
	 */
	private static function get_network_count() {
		$count = get_site_transient( self::NETWORK_TRANSIENT_COUNT );
		if ( false !== $count ) {
			return (int) $count;
		}
		// need to update
		$default = [];
		$count   = 0;

		$sites = self::get_network_ids( [ 'deleted' => 0 ] );
		if ( empty( $sites ) ) {
			return false;
		}

		foreach ( $sites as $site ) {
			$bid     = is_object( $site ) && property_exists( $site, 'blog_id' ) ? $site->blog_id : $site;
			$plugins = get_blog_option( $bid, 'active_plugins', $default );
			if ( ! empty( $plugins ) && in_array( LSCWP_BASENAME, $plugins, true ) ) {
				++$count;
			}
		}

		/**
		 * In case this is called outside the admin page
		 *
		 * @see  https://codex.wordpress.org/Function_Reference/is_plugin_active_for_network
		 * @since  2.0
		 */
		if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
			require_once ABSPATH . '/wp-admin/includes/plugin.php';
		}

		if ( is_plugin_active_for_network( LSCWP_BASENAME ) ) {
			++$count;
		}
		return $count;
	}

	/**
	 * Is this deactivate call the last active installation on the multisite network?
	 *
	 * @since 1.0.12
	 * @access private
	 */
	private static function is_deactivate_last() {
		$count = self::get_network_count();
		if ( false === $count ) {
			return false;
		}
		if ( 1 !== $count ) {
			// Not deactivating the last one.
			--$count;
			set_site_transient( self::NETWORK_TRANSIENT_COUNT, $count, DAY_IN_SECONDS );
			return false;
		}

		delete_site_transient( self::NETWORK_TRANSIENT_COUNT );
		return true;
	}

	/**
	 * The deactivation hook callback.
	 *
	 * Initializes all clean up functionalities.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public static function register_deactivation() {
		Task::destroy();

		! defined( 'LSCWP_LOG_TAG' ) && define( 'LSCWP_LOG_TAG', 'Deactivate_' . get_current_blog_id() );

		Purge::purge_all();

		if ( is_multisite() ) {
			if ( ! self::is_deactivate_last() ) {
				if ( is_network_admin() ) {
					// Still other activated subsite left, set .htaccess with only CacheLookUp
					try {
						Htaccess::cls()->insert_ls_wrapper();
					} catch ( \Exception $ex ) {
						Admin_Display::error($ex->getMessage());
					}
				}
				return;
			}
		}

		/* 1) wp-config.php; */

		try {
			self::cls()->manage_wp_cache_const( false );
		} catch ( \Exception $ex ) {
			// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.PHP.DevelopmentFunctions.error_log_error_log
			error_log( 'In wp-config.php: WP_CACHE could not be set to false during deactivation!' );

			Admin_Display::error( $ex->getMessage() );
		}

		/* 2) adv-cache.php; Dropped in v3.0.4 */

		/* 3) object-cache.php; */

		Object_Cache::cls()->del_file();

		/* 4) .htaccess; */

		try {
			Htaccess::cls()->clear_rules();
		} catch ( \Exception $ex ) {
			Admin_Display::error( $ex->getMessage() );
		}

		/* 5) .litespeed_conf.dat; */

		self::del_conf_data_file();

		/* 6) delete option lscwp_whm_install */

		// delete in case it's not deleted prior to deactivation.
		GUI::dismiss_whm();
	}

	/**
	 * Manage related files based on plugin latest conf
	 *
	 * Handle files:
	 *      1) wp-config.php;
	 *      2) adv-cache.php;
	 *      3) object-cache.php;
	 *      4) .htaccess;
	 *      5) .litespeed_conf.dat;
	 *
	 * @since 3.0
	 * @access public
	 */
	public function update_files() {
		Debug2::debug( '🗂️ [Activation] update_files' );

		// Update cache setting `_CACHE`
		$this->cls( 'Conf' )->define_cache();

		// Site options applied already
		$options = $this->get_options();

		/* 1) wp-config.php; */

		try {
			$this->manage_wp_cache_const( $options[ self::_CACHE ] );
		} catch ( \Exception $ex ) {
			// Add msg to admin page or CLI
			Admin_Display::error( wp_kses_post( $ex->getMessage() ) );
		}

		/* 2) adv-cache.php; Dropped in v3.0.4 */

		/* 3) object-cache.php; */

		if ( $options[ self::O_OBJECT ] && ( ! $options[ self::O_DEBUG_DISABLE_ALL ] || is_multisite() ) ) {
			$this->cls( 'Object_Cache' )->update_file( $options );
		} else {
			$this->cls( 'Object_Cache' )->del_file(); // Note: because it doesn't reconnect, which caused setting page OC option changes delayed, thus may meet Connect Test Failed issue (Next refresh will correct it). Not a big deal, will keep as is.
		}

		/* 4) .htaccess; */

		try {
			$this->cls( 'Htaccess' )->update( $options );
		} catch ( \Exception $ex ) {
			Admin_Display::error( wp_kses_post( $ex->getMessage() ) );
		}

		/* 5) .litespeed_conf.dat; */

		if ( ( $options[ self::O_GUEST ] || $options[ self::O_OBJECT ] ) && ( ! $options[ self::O_DEBUG_DISABLE_ALL ] || is_multisite() ) ) {
			$this->update_conf_data_file( $options );
		}
	}

	/**
	 * Delete data conf file
	 *
	 * Removes the .litespeed_conf.dat file.
	 *
	 * @since  4.1
	 * @access private
	 */
	private static function del_conf_data_file() {
		global $wp_filesystem;

		if ( ! $wp_filesystem ) {
			require_once ABSPATH . 'wp-admin/includes/file.php';
			WP_Filesystem();
		}

		if ( $wp_filesystem->exists( self::$data_file ) ) {
			$wp_filesystem->delete( self::$data_file );
		}
	}

	/**
	 * Update data conf file for guest mode & object cache
	 *
	 * Updates the .litespeed_conf.dat file with relevant settings.
	 *
	 * @since  4.1
	 * @access private
	 * @param array $options Plugin options.
	 */
	private function update_conf_data_file( $options ) {
		$ids = [];
		if ( $options[ self::O_OBJECT ] ) {
			$this_ids = [
				self::O_DEBUG,
				self::O_OBJECT_KIND,
				self::O_OBJECT_HOST,
				self::O_OBJECT_PORT,
				self::O_OBJECT_LIFE,
				self::O_OBJECT_USER,
				self::O_OBJECT_PSWD,
				self::O_OBJECT_DB_ID,
				self::O_OBJECT_PERSISTENT,
				self::O_OBJECT_ADMIN,
				self::O_OBJECT_TRANSIENTS,
				self::O_OBJECT_GLOBAL_GROUPS,
				self::O_OBJECT_NON_PERSISTENT_GROUPS,
			];
			$ids      = array_merge( $ids, $this_ids );
		}

		if ( $options[ self::O_GUEST ] ) {
			$this_ids = [
				self::HASH,
				self::O_CACHE_LOGIN_COOKIE,
				self::O_DEBUG_IPS,
				self::O_UTIL_NO_HTTPS_VARY,
			];
			$ids      = array_merge( $ids, $this_ids );
		}

		$data = [];
		foreach ( $ids as $v ) {
			$data[ $v ] = $options[ $v ];
		}
		$data = wp_json_encode( $data );

		$old_data = File::read( self::$data_file );
		if ( $old_data !== $data ) {
			defined( 'LSCWP_LOG' ) && Debug2::debug( '[Activation] Updating .litespeed_conf.dat' );
			File::save( self::$data_file, $data );
		}
	}

	/**
	 * Update the WP_CACHE variable in the wp-config.php file.
	 *
	 * If enabling, check if the variable is defined, and if not, define it.
	 * Vice versa for disabling.
	 *
	 * @since 1.0.0
	 * @since  3.0 Refactored
	 * @param bool $enable Whether to enable WP_CACHE.
	 * @throws \Exception If wp-config.php cannot be modified.
	 * @return bool True if updated, false if no change needed.
	 */
	public function manage_wp_cache_const( $enable ) {
		if ( $enable ) {
			if ( defined( 'WP_CACHE' ) && WP_CACHE ) {
				return false;
			}
		} elseif ( ! defined( 'WP_CACHE' ) || ( defined( 'WP_CACHE' ) && ! WP_CACHE ) ) {
			return false;
		}

		if ( apply_filters( 'litespeed_wpconfig_readonly', false ) ) {
			throw new \Exception( 'wp-config file is forbidden to modify due to API hook: litespeed_wpconfig_readonly' );
		}

		/**
		 * Follow WP's logic to locate wp-config file
		 *
		 * @see wp-load.php
		 */
		$conf_file = ABSPATH . 'wp-config.php';
		if ( ! file_exists( $conf_file ) ) {
			$conf_file = dirname( ABSPATH ) . '/wp-config.php';
		}

		$content = File::read( $conf_file );
		if ( ! $content ) {
			throw new \Exception( 'wp-config file content is empty: ' . wp_kses_post( $conf_file ) );
		}

		// Remove the line `define('WP_CACHE', true/false);` first
		if ( defined( 'WP_CACHE' ) ) {
			$content = preg_replace( '/define\(\s*([\'"])WP_CACHE\1\s*,\s*\w+\s*\)\s*;/sU', '', $content );
		}

		// Insert const
		if ( $enable ) {
			$content = preg_replace( '/^<\?php/', "<?php\ndefine( 'WP_CACHE', true );", $content );
		}

		$res = File::save( $conf_file, $content, false, false, false );

		if ( true !== $res ) {
			throw new \Exception( 'wp-config.php operation failed when changing `WP_CACHE` const: ' . wp_kses_post( $res ) );
		}

		return true;
	}

	/**
	 * Handle auto update
	 *
	 * Enables auto-updates for the plugin if configured.
	 *
	 * @since 2.7.2
	 * @access public
	 */
	public function auto_update() {
		if ( ! $this->conf( Base::O_AUTO_UPGRADE ) ) {
			return;
		}

		add_filter( 'auto_update_plugin', [ $this, 'auto_update_hook' ], 10, 2 );
	}

	/**
	 * Auto upgrade hook
	 *
	 * Determines whether to auto-update the plugin.
	 *
	 * @since  3.0
	 * @access public
	 * @param bool   $update Whether to update.
	 * @param object $item   Plugin data.
	 * @return bool Whether to update.
	 */
	public function auto_update_hook( $update, $item ) {
		if ( ! empty( $item->slug ) && 'litespeed-cache' === $item->slug ) {
			$auto_v = Cloud::version_check( 'auto_update_plugin' );

			if ( ! empty( $auto_v['latest'] ) && ! empty( $item->new_version ) && $auto_v['latest'] === $item->new_version ) {
				return true;
			}
		}

		return $update; // Else, use the normal API response to decide whether to update or not
	}

	/**
	 * Upgrade LSCWP
	 *
	 * Upgrades the LiteSpeed Cache plugin.
	 *
	 * @since 2.9
	 * @access public
	 */
	public function upgrade() {
		$plugin = Core::PLUGIN_FILE;

		/**
		 * Load upgrade cls
		 *
		 * @see wp-admin/update.php
		 */
		include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
		include_once ABSPATH . 'wp-admin/includes/file.php';
		include_once ABSPATH . 'wp-admin/includes/misc.php';

		try {
			ob_start();
			$skin     = new \WP_Ajax_Upgrader_Skin();
			$upgrader = new \Plugin_Upgrader( $skin );
			$result   = $upgrader->upgrade( $plugin );
			if ( ! is_plugin_active( $plugin ) ) {
				// todo: upgrade should reactivate the plugin again by WP. Need to check why disabled after upgraded.
				activate_plugin( $plugin, '', is_multisite() );
			}
			ob_end_clean();
		} catch ( \Exception $e ) {
			Admin_Display::error( __( 'Failed to upgrade.', 'litespeed-cache' ) );
			return;
		}

		if ( is_wp_error( $result ) ) {
			Admin_Display::error( __( 'Failed to upgrade.', 'litespeed-cache' ) );
			return;
		}

		Admin_Display::success( __( 'Upgraded successfully.', 'litespeed-cache' ) );
	}

	/**
	 * Detect if the plugin is active or not
	 *
	 * @since  1.0
	 * @access public
	 * @param string $plugin Plugin slug.
	 * @return bool True if active, false otherwise.
	 */
	public function dash_notifier_is_plugin_active( $plugin ) {
		include_once ABSPATH . 'wp-admin/includes/plugin.php';

		$plugin_path = $plugin . '/' . $plugin . '.php';

		return is_plugin_active( $plugin_path );
	}

	/**
	 * Detect if the plugin is installed or not
	 *
	 * @since  1.0
	 * @access public
	 * @param string $plugin Plugin slug.
	 * @return bool True if installed, false otherwise.
	 */
	public function dash_notifier_is_plugin_installed( $plugin ) {
		include_once ABSPATH . 'wp-admin/includes/plugin.php';

		$plugin_path = $plugin . '/' . $plugin . '.php';

		$valid = validate_plugin( $plugin_path );

		return ! is_wp_error( $valid );
	}

	/**
	 * Grab a plugin info from WordPress
	 *
	 * @since  1.0
	 * @access public
	 * @param string $slug Plugin slug.
	 * @return object|false Plugin info or false on failure.
	 */
	public function dash_notifier_get_plugin_info( $slug ) {
		include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
		$result = plugins_api( 'plugin_information', [ 'slug' => $slug ] );

		if ( is_wp_error( $result ) ) {
			return false;
		}

		return $result;
	}

	/**
	 * Install the 3rd party plugin
	 *
	 * Installs and activates a third-party plugin.
	 *
	 * @since  1.0
	 * @access public
	 */
	public function dash_notifier_install_3rd() {
		! defined( 'SILENCE_INSTALL' ) && define( 'SILENCE_INSTALL', true );

		// phpcs:ignore
		$slug = ! empty( $_GET['plugin'] ) ? wp_unslash( sanitize_text_field( $_GET['plugin'] ) ) : false;

		// Check if plugin is installed already
		if ( ! $slug || $this->dash_notifier_is_plugin_active( $slug ) ) {
			return;
		}

		/**
		 * Load upgrade cls
		 *
		 * @see wp-admin/update.php
		 */
		include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
		include_once ABSPATH . 'wp-admin/includes/file.php';
		include_once ABSPATH . 'wp-admin/includes/misc.php';

		$plugin_path = $slug . '/' . $slug . '.php';

		if ( ! $this->dash_notifier_is_plugin_installed( $slug ) ) {
			$plugin_info = $this->dash_notifier_get_plugin_info( $slug );
			if ( ! $plugin_info ) {
				return;
			}
			// Try to install plugin
			try {
				ob_start();
				$skin     = new \Automatic_Upgrader_Skin();
				$upgrader = new \Plugin_Upgrader( $skin );
				$result   = $upgrader->install( $plugin_info->download_link );
				ob_end_clean();
			} catch ( \Exception $e ) {
				return;
			}
		}

		if ( ! is_plugin_active( $plugin_path ) ) {
			activate_plugin( $plugin_path );
		}
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * Processes various activation-related actions.
	 *
	 * @since  2.9
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_UPGRADE:
				$this->upgrade();
				break;

			case self::TYPE_INSTALL_3RD:
				$this->dash_notifier_install_3rd();
				break;

			case self::TYPE_DISMISS_RECOMMENDED:
				Cloud::reload_summary();
				Cloud::save_summary( [ 'news.new' => 0 ] );
				break;

			case self::TYPE_INSTALL_ZIP:
				Cloud::reload_summary();
				$summary = Cloud::get_summary();
				if ( ! empty( $summary['news.zip'] ) ) {
					Cloud::save_summary( [ 'news.new' => 0 ] );

					$this->cls( 'Debug2' )->beta_test( $summary['zip'] );
				}
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\N�]'eaea#litespeed-cache/src/control.cls.phpnu�[���<?php
/**
 * The plugin cache-control class for X-LiteSpeed-Cache-Control.
 *
 * Provides helpers for determining cacheability, emitting cache-control headers,
 * and honoring various LiteSpeed Cache configuration options.
 *
 * @package     LiteSpeed
 * @since       1.1.3
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Control
 *
 * Handles cache-control flags, TTL calculation, redirection checks,
 * role-based exclusions, and final header output.
 */
class Control extends Root {

	const LOG_TAG = '💵';

	const BM_CACHEABLE        = 1;
	const BM_PRIVATE          = 2;
	const BM_SHARED           = 4;
	const BM_NO_VARY          = 8;
	const BM_FORCED_CACHEABLE = 32;
	const BM_PUBLIC_FORCED    = 64;
	const BM_STALE            = 128;
	const BM_NOTCACHEABLE     = 256;

	const X_HEADER = 'X-LiteSpeed-Cache-Control';

	/**
	 * Bitmask control flags for current request.
	 *
	 * @var int
	 */
	protected static $_control = 0;

	/**
	 * Custom TTL for current request (seconds).
	 *
	 * @var int
	 */
	protected static $_custom_ttl = 0;

	/**
	 * Mapping of HTTP status codes to custom TTLs.
	 *
	 * @var array<string,int|string>
	 */
	private $_response_header_ttls = [];

	/**
	 * Init cache control.
	 *
	 * @since  1.6.2
	 * @return void
	 */
	public function init() {
		/**
		 * Add vary filter for Role Excludes.
		 *
		 * @since  1.6.2
		 */
		add_filter( 'litespeed_vary', [ $this, 'vary_add_role_exclude' ] );

		// 301 redirect hook.
		add_filter( 'wp_redirect', [ $this, 'check_redirect' ], 10, 2 );

		// Load response header conf.
		$this->_response_header_ttls = $this->conf( Base::O_CACHE_TTL_STATUS );
		foreach ( $this->_response_header_ttls as $k => $v ) {
			$v = explode( ' ', $v );
			if ( empty( $v[0] ) || empty( $v[1] ) ) {
				continue;
			}
			$this->_response_header_ttls[ $v[0] ] = $v[1];
		}

		if ( $this->conf( Base::O_PURGE_STALE ) ) {
			$this->set_stale();
		}
	}

	/**
	 * Exclude role from optimization filter.
	 *
	 * @since  1.6.2
	 * @access public
	 *
	 * @param array<string,mixed> $vary Existing vary map.
	 * @return array<string,mixed>
	 */
	public function vary_add_role_exclude( $vary ) {
		if ( $this->in_cache_exc_roles() ) {
			$vary['role_exclude_cache'] = 1;
		}

		return $vary;
	}

	/**
	 * Check if one user role is in exclude cache group settings.
	 *
	 * @since 1.6.2
	 * @since 3.0 Moved here from conf.cls
	 * @access public
	 *
	 * @param  string|null $role The user role.
	 * @return string|false      Comma-separated roles if set, otherwise false.
	 */
	public function in_cache_exc_roles( $role = null ) {
		// Get user role.
		if ( null === $role ) {
			$role = Router::get_role();
		}

		if ( ! $role ) {
			return false;
		}

		$roles = explode( ',', $role );
		$found = array_intersect( $roles, $this->conf( Base::O_CACHE_EXC_ROLES ) );

		return $found ? implode( ',', $found ) : false;
	}

	/**
	 * 1. Initialize cacheable status for `wp` hook
	 * 2. Hook error page tags for cacheable pages
	 *
	 * @since 1.1.3
	 * @access public
	 * @return void
	 */
	public function init_cacheable() {
		// Hook `wp` to mark default cacheable status.
		// NOTE: Any process that does NOT run into `wp` hook will not get cacheable by default.
		add_action( 'wp', [ $this, 'set_cacheable' ], 5 );

		// Hook WP REST to be cacheable.
		if ( $this->conf( Base::O_CACHE_REST ) ) {
			add_action( 'rest_api_init', [ $this, 'set_cacheable' ], 5 );
		}

		// AJAX cache.
		$ajax_cache = $this->conf( Base::O_CACHE_AJAX_TTL );
		foreach ( $ajax_cache as $v ) {
			$v = explode( ' ', $v );
			if ( empty( $v[0] ) || empty( $v[1] ) ) {
				continue;
			}
			add_action(
				'wp_ajax_nopriv_' . $v[0],
				function () use ( $v ) {
					self::set_custom_ttl( $v[1] );
					self::force_cacheable( 'ajax Cache setting for action ' . $v[0] );
				},
				4
			);
		}

		// Check error page.
		add_filter( 'status_header', [ $this, 'check_error_codes' ], 10, 2 );
	}

	/**
	 * Check if the page returns any error code.
	 *
	 * @since 1.0.13.1
	 * @access public
	 *
	 * @param string $status_header Status header.
	 * @param int    $code          HTTP status code.
	 * @return string               Original status header.
	 */
	public function check_error_codes( $status_header, $code ) {
		if ( array_key_exists( $code, $this->_response_header_ttls ) ) {
			if ( self::is_cacheable() && ! $this->_response_header_ttls[ $code ] ) {
				self::set_nocache( '[Ctrl] TTL is set to no cache [status_header] ' . $code );
			}

			// Set TTL.
			self::set_custom_ttl( $this->_response_header_ttls[ $code ] );
		} elseif ( self::is_cacheable() ) {
			$first = substr( $code, 0, 1 );
			if ( '4' === $first || '5' === $first ) {
				self::set_nocache( '[Ctrl] 4xx/5xx default to no cache [status_header] ' . $code );
			}
		}

		// Set cache tag.
		if ( in_array( $code, Tag::$error_code_tags, true ) ) {
			Tag::add( Tag::TYPE_HTTP . $code );
		}

		// Give the default status_header back.
		return $status_header;
	}

	/**
	 * Set no vary setting.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return void
	 */
	public static function set_no_vary() {
		if ( self::is_no_vary() ) {
			return;
		}
		self::$_control |= self::BM_NO_VARY;
		self::debug( 'X Cache_control -> no-vary', 3 );
	}

	/**
	 * Get no vary setting.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return bool
	 */
	public static function is_no_vary() {
		return self::$_control & self::BM_NO_VARY;
	}

	/**
	 * Set stale.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return void
	 */
	public function set_stale() {
		if ( self::is_stale() ) {
			return;
		}
		self::$_control |= self::BM_STALE;
		self::debug( 'X Cache_control -> stale' );
	}

	/**
	 * Get stale.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return bool
	 */
	public static function is_stale() {
		return self::$_control & self::BM_STALE;
	}

	/**
	 * Set cache control to shared private.
	 *
	 * @access public
	 * @since 1.1.3
	 *
	 * @param string|false $reason The reason to mark shared, or false.
	 * @return void
	 */
	public static function set_shared( $reason = false ) {
		if ( self::is_shared() ) {
			return;
		}
		self::$_control |= self::BM_SHARED;
		self::set_private();

		if ( ! is_string( $reason ) ) {
			$reason = false;
		}

		if ( $reason ) {
			$reason = "( $reason )";
		}
		self::debug( 'X Cache_control -> shared ' . $reason );
	}

	/**
	 * Check if is shared private.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return bool
	 */
	public static function is_shared() {
		return (bool) ( self::$_control & self::BM_SHARED ) && self::is_private();
	}

	/**
	 * Set cache control to forced public.
	 *
	 * @access public
	 * @since 1.7.1
	 *
	 * @param string|false $reason Reason text or false.
	 * @return void
	 */
	public static function set_public_forced( $reason = false ) {
		if ( self::is_public_forced() ) {
			return;
		}
		self::$_control |= self::BM_PUBLIC_FORCED;

		if ( ! is_string( $reason ) ) {
			$reason = false;
		}

		if ( $reason ) {
			$reason = "( $reason )";
		}
		self::debug( 'X Cache_control -> public forced ' . $reason );
	}

	/**
	 * Check if is public forced.
	 *
	 * @access public
	 * @since 1.7.1
	 * @return bool
	 */
	public static function is_public_forced() {
		return self::$_control & self::BM_PUBLIC_FORCED;
	}

	/**
	 * Set cache control to private.
	 *
	 * @access public
	 * @since 1.1.3
	 *
	 * @param string|false $reason The reason to set private.
	 * @return void
	 */
	public static function set_private( $reason = false ) {
		if ( self::is_private() ) {
			return;
		}
		self::$_control |= self::BM_PRIVATE;

		if ( ! is_string( $reason ) ) {
			$reason = false;
		}

		if ( $reason ) {
			$reason = "( $reason )";
		}
		self::debug( 'X Cache_control -> private ' . $reason );
	}

	/**
	 * Check if is private.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return bool
	 */
	public static function is_private() {
		// if ( defined( 'LITESPEED_GUEST' ) && LITESPEED_GUEST ) {
			// return false;
		// }

		return (bool) ( self::$_control & self::BM_PRIVATE ) && ! self::is_public_forced();
	}

	/**
	 * Initialize cacheable status in `wp` hook, if not call this, by default it will be non-cacheable.
	 *
	 * @access public
	 * @since 1.1.3
	 *
	 * @param string|false $reason Reason text or false.
	 * @return void
	 */
	public function set_cacheable( $reason = false ) {
		self::$_control |= self::BM_CACHEABLE;

		if ( ! is_string( $reason ) ) {
			$reason = false;
		}

		if ( $reason ) {
			$reason = ' [reason] ' . $reason;
		}
		self::debug( 'Cache_control init on' . $reason );
	}

	/**
	 * This will disable non-cacheable BM.
	 *
	 * @access public
	 * @since 2.2
	 *
	 * @param string|false $reason Reason text or false.
	 * @return void
	 */
	public static function force_cacheable( $reason = false ) {
		self::$_control |= self::BM_FORCED_CACHEABLE;

		if ( ! is_string( $reason ) ) {
			$reason = false;
		}

		if ( $reason ) {
			$reason = ' [reason] ' . $reason;
		}
		self::debug( 'Forced cacheable' . $reason );
	}

	/**
	 * Switch to nocacheable status.
	 *
	 * @access public
	 * @since 1.1.3
	 *
	 * @param string|false $reason The reason to no cache.
	 * @return void
	 */
	public static function set_nocache( $reason = false ) {
		self::$_control |= self::BM_NOTCACHEABLE;

		if ( ! is_string( $reason ) ) {
			$reason = false;
		}

		if ( $reason ) {
			$reason = "( $reason )";
		}
		self::debug( 'X Cache_control -> no Cache ' . $reason, 5 );
	}

	/**
	 * Check current notcacheable bit set.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return bool True if notcacheable bit is set, otherwise false.
	 */
	public static function isset_notcacheable() {
		return self::$_control & self::BM_NOTCACHEABLE;
	}

	/**
	 * Check current force cacheable bit set.
	 *
	 * @access public
	 * @since   2.2
	 * @return bool
	 */
	public static function is_forced_cacheable() {
		return self::$_control & self::BM_FORCED_CACHEABLE;
	}

	/**
	 * Check current cacheable status.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return bool True if is still cacheable, otherwise false.
	 */
	public static function is_cacheable() {
		if ( defined( 'LSCACHE_NO_CACHE' ) && LSCACHE_NO_CACHE ) {
			self::debug( 'LSCACHE_NO_CACHE constant defined' );
			return false;
		}

		// Guest mode always cacheable
		// if ( defined( 'LITESPEED_GUEST' ) && LITESPEED_GUEST ) {
			// return true;
		// }

		// If it's forced public cacheable.
		if ( self::is_public_forced() ) {
			return true;
		}

		// If it's forced cacheable.
		if ( self::is_forced_cacheable() ) {
			return true;
		}

		return ! self::isset_notcacheable() && ( self::$_control & self::BM_CACHEABLE );
	}

	/**
	 * Set a custom TTL to use with the request if needed.
	 *
	 * @access public
	 * @since 1.1.3
	 *
	 * @param int|string   $ttl    An integer or numeric string to use as the TTL.
	 * @param string|false $reason Optional reason text.
	 * @return void
	 */
	public static function set_custom_ttl( $ttl, $reason = false ) {
		if ( is_numeric( $ttl ) ) {
			self::$_custom_ttl = (int) $ttl;
			self::debug( 'X Cache_control TTL -> ' . $ttl . ( $reason ? ' [reason] ' . $ttl : '' ) );
		}
	}

	/**
	 * Generate final TTL.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return int
	 */
	public function get_ttl() {
		if ( 0 !== self::$_custom_ttl ) {
			return (int) self::$_custom_ttl;
		}

		// Check if is in timed url list or not.
		$timed_urls      = Utility::wildcard2regex( $this->conf( Base::O_PURGE_TIMED_URLS ) );
		$timed_urls_time = $this->conf( Base::O_PURGE_TIMED_URLS_TIME );
		if ( $timed_urls && $timed_urls_time ) {
			$current_url = Tag::build_uri_tag( true );
			// Use time limit ttl.
			$scheduled_time = strtotime( $timed_urls_time );
			$ttl            = $scheduled_time - current_time('timestamp'); // phpcs:ignore WordPress.DateTime.CurrentTimeTimestamp
			if ( $ttl < 0 ) {
				$ttl += 86400; // add one day
			}
			foreach ( $timed_urls as $v ) {
				if ( false !== strpos( $v, '*' ) ) {
					if ( preg_match( '#' . $v . '#iU', $current_url ) ) {
						self::debug( 'X Cache_control TTL is limited to ' . $ttl . ' due to scheduled purge regex ' . $v );
						return $ttl;
					}
				} elseif ( $v === $current_url ) {
					self::debug( 'X Cache_control TTL is limited to ' . $ttl . ' due to scheduled purge rule ' . $v );
					return $ttl;
				}
			}
		}

		// Private cache uses private ttl setting.
		if ( self::is_private() ) {
			return (int) $this->conf( Base::O_CACHE_TTL_PRIV );
		}

		if ( is_front_page() ) {
			return (int) $this->conf( Base::O_CACHE_TTL_FRONTPAGE );
		}

		$feed_ttl = (int) $this->conf( Base::O_CACHE_TTL_FEED );
		if ( is_feed() && $feed_ttl > 0 ) {
			return $feed_ttl;
		}

		if ( $this->cls( 'REST' )->is_rest() || $this->cls( 'REST' )->is_internal_rest() ) {
			return (int) $this->conf( Base::O_CACHE_TTL_REST );
		}

		return (int) $this->conf( Base::O_CACHE_TTL_PUB );
	}

	/**
	 * Check if need to set no cache status for redirection or not.
	 *
	 * @access public
	 * @since 1.1.3
	 *
	 * @param string $location Redirect location.
	 * @param int    $status   HTTP status.
	 * @return string          Redirect location.
	 */
	public function check_redirect( $location, $status ) {
		$script_uri = '';
		if ( !empty( $_SERVER['SCRIPT_URI'] ) ) {
			$script_uri = sanitize_text_field( wp_unslash( $_SERVER['SCRIPT_URI'] ) );
		} elseif ( !empty( $_SERVER['REQUEST_URI'] ) ) {
			$home       = trailingslashit( home_url() );
			$script_uri = $home . ltrim( sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ), '/' );
		}

		if ( '' !== $script_uri ) {
			self::debug( '301 from ' . $script_uri );
			self::debug( '301 to ' . $location );

			$to_check = [ PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PATH, PHP_URL_QUERY ];

			$is_same_redirect = true;

			$query_string = ! empty( $_SERVER['QUERY_STRING'] ) ? sanitize_text_field( wp_unslash( $_SERVER['QUERY_STRING'] ) ) : '';
			foreach ( $to_check as $v ) {
				$url_parsed = PHP_URL_QUERY === $v ? $query_string : wp_parse_url( $script_uri, $v );

				$target = wp_parse_url( $location, $v );

				self::debug( 'Compare [from] ' . $url_parsed . ' [to] ' . $target );

				if ( PHP_URL_QUERY === $v ) {
					$url_parsed = $url_parsed ? urldecode( $url_parsed ) : '';
					$target     = $target ? urldecode( $target ) : '';
					if ( '&' === substr( $url_parsed, -1 ) ) {
						$url_parsed = substr( $url_parsed, 0, -1 );
					}
				}

				if ( $url_parsed !== $target ) {
					$is_same_redirect = false;
					self::debug( '301 different redirection' );
					break;
				}
			}

			if ( $is_same_redirect ) {
				self::set_nocache( '301 to same url' );
			}
		}

		return $location;
	}

	/**
	 * Sets up the Cache Control header.
	 *
	 * @since 1.1.3
	 * @access public
	 * @return string empty string if empty, otherwise the cache control header.
	 */
	public function output() {
		$esi_hdr = '';
		if ( ESI::has_esi() ) {
			$esi_hdr = ',esi=on';
		}

		$hdr = self::X_HEADER . ': ';

		// phpcs:ignore WordPress.NamingConventions.ValidHookName.NotLowercase
		if ( defined( 'DONOTCACHEPAGE' ) && apply_filters( 'litespeed_const_DONOTCACHEPAGE', DONOTCACHEPAGE ) ) {
			self::debug( '❌ forced no cache [reason] DONOTCACHEPAGE const' );
			$hdr .= 'no-cache' . $esi_hdr;
			return $hdr;
		}

		// Guest mode directly return cacheable result
		// if ( defined( 'LITESPEED_GUEST' ) && LITESPEED_GUEST ) {
		// If is POST, no cache
		// if ( defined( 'LSCACHE_NO_CACHE' ) && LSCACHE_NO_CACHE ) {
		// self::debug( "[Ctrl] ❌ forced no cache [reason] LSCACHE_NO_CACHE const" );
		// $hdr .= 'no-cache';
		// }
		// else if( $_SERVER[ 'REQUEST_METHOD' ] !== 'GET' ) {
		// self::debug( "[Ctrl] ❌ forced no cache [reason] req not GET" );
		// $hdr .= 'no-cache';
		// }
		// else {
		// $hdr .= 'public';
		// $hdr .= ',max-age=' . $this->get_ttl();
		// }

		// $hdr .= $esi_hdr;

		// return $hdr;
		// }

		// Fix cli `uninstall --deactivate` fatal err

		if (!self::is_cacheable()) {
			$hdr .= 'no-cache' . $esi_hdr;
			return $hdr;
		}

		if ( self::is_shared() ) {
			$hdr .= 'shared,private';
		} elseif ( self::is_private() ) {
			$hdr .= 'private';
		} else {
			$hdr .= 'public';
		}

		if ( self::is_no_vary() ) {
			$hdr .= ',no-vary';
		}

		$hdr .= ',max-age=' . $this->get_ttl() . $esi_hdr;
		return $hdr;
	}

	/**
	 * Generate all `control` tags before output.
	 *
	 * @access public
	 * @since 1.1.3
	 * @return void
	 */
	public function finalize() {
		// if ( defined( 'LITESPEED_GUEST' ) && LITESPEED_GUEST ) {
			// return;
		// }

		if ( is_preview() ) {
			self::set_nocache( 'preview page' );
			return;
		}

		// Check if has metabox non-cacheable setting or not.
		if ( file_exists( LSCWP_DIR . 'src/metabox.cls.php' ) && $this->cls( 'Metabox' )->setting( 'litespeed_no_cache' ) ) {
			self::set_nocache( 'per post metabox setting' );
			return;
		}

		// Check if URI is forced public cache.
		$excludes = $this->conf( Base::O_CACHE_FORCE_PUB_URI );
		$req_uri  = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
		$hit      = Utility::str_hit_array( $req_uri, $excludes, true );
		if ( $hit ) {
			list( $result, $this_ttl ) = $hit;
			self::set_public_forced( 'Setting: ' . $result );
			self::debug( 'Forced public cacheable due to setting: ' . $result );
			if ( $this_ttl ) {
				self::set_custom_ttl( $this_ttl );
			}
		}

		if ( self::is_public_forced() ) {
			return;
		}

		// Check if URI is forced cache.
		$excludes = $this->conf( Base::O_CACHE_FORCE_URI );
		$hit      = Utility::str_hit_array( $req_uri, $excludes, true );
		if ( $hit ) {
			list( $result, $this_ttl ) = $hit;
			self::force_cacheable();
			self::debug( 'Forced cacheable due to setting: ' . $result );
			if ( $this_ttl ) {
				self::set_custom_ttl( $this_ttl );
			}
		}

		// if is not cacheable, terminate check.
		// Even no need to run 3rd party hook.
		if ( ! self::is_cacheable() ) {
			self::debug( 'not cacheable before ctrl finalize' );
			return;
		}

		// Apply 3rd party filter.
		// NOTE: Hook always needs to run asap because some 3rd party set is_mobile in this hook.
		do_action( 'litespeed_control_finalize', defined( 'LSCACHE_IS_ESI' ) ? LSCACHE_IS_ESI : false ); // Pass ESI block id.

		// if is not cacheable, terminate check.
		if ( ! self::is_cacheable() ) {
			self::debug( 'not cacheable after api_control' );
			return;
		}

		// Check litespeed setting to set cacheable status.
		if ( ! $this->_setting_cacheable() ) {
			self::set_nocache();
			return;
		}

		// If user has password cookie, do not cache (moved from vary).
		global $post;
		if ( ! empty( $post->post_password ) && isset( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] ) ) {
			self::set_nocache( 'pswd cookie' );
			return;
		}

		// The following check to the end is ONLY for mobile.
		$is_mobile_conf = apply_filters( 'litespeed_is_mobile', false );
		if ( ! $this->conf( Base::O_CACHE_MOBILE ) ) {
			if ( $is_mobile_conf ) {
				self::set_nocache( 'mobile' );
			}
			return;
		}

		$env_vary = isset( $_SERVER['LSCACHE_VARY_VALUE'] ) ? sanitize_text_field( wp_unslash( $_SERVER['LSCACHE_VARY_VALUE'] ) ) : '';
		if ( !$env_vary && isset( $_SERVER['HTTP_X_LSCACHE_VARY_VALUE'] ) ) {
			$env_vary = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_LSCACHE_VARY_VALUE'] ) );
		}
		if ( $env_vary && false !== strpos( $env_vary, 'ismobile' ) ) {
			if ( ! wp_is_mobile() && ! $is_mobile_conf ) {
				self::set_nocache( 'is not mobile' ); // todo: no need to uncache, it will correct vary value in vary finalize anyways.
				return;
			}
		} elseif ( wp_is_mobile() || $is_mobile_conf ) {
			self::set_nocache( 'is mobile' );
			return;
		}
	}

	/**
	 * Check if is mobile for filter `litespeed_is_mobile` in API.
	 *
	 * @since 3.0
	 * @access public
	 * @return bool
	 */
	public static function is_mobile() {
		return wp_is_mobile();
	}

	/**
	 * Get request method w/ compatibility to X-Http-Method-Override.
	 *
	 * @since 6.2
	 * @return string
	 */
	private function _get_req_method() {
		if ( isset( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ) ) {
			$override = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ) );
			self::debug( 'X-Http-Method-Override -> ' . $override );
			if ( ! defined( 'LITESPEED_X_HTTP_METHOD_OVERRIDE' ) ) {
				define( 'LITESPEED_X_HTTP_METHOD_OVERRIDE', true );
			}
			return $override;
		}
		if ( isset( $_SERVER['REQUEST_METHOD'] ) ) {
			return sanitize_text_field( wp_unslash( $_SERVER['REQUEST_METHOD'] ) );
		}
		return 'unknown';
	}

	/**
	 * Check if a page is cacheable based on litespeed setting.
	 *
	 * @since 1.0.0
	 * @access private
	 * @return bool True if cacheable, false otherwise.
	 */
	private function _setting_cacheable() {
		// logged_in users already excluded, no hook added.

		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		if ( ! empty( $_REQUEST[ Router::ACTION ] ) ) {
			return $this->_no_cache_for( 'Query String Action' );
		}

		$method = $this->_get_req_method();
		if ( defined( 'LITESPEED_X_HTTP_METHOD_OVERRIDE' ) && LITESPEED_X_HTTP_METHOD_OVERRIDE && 'HEAD' === $method ) {
			return $this->_no_cache_for( 'HEAD method from override' );
		}
		if ( 'GET' !== $method && 'HEAD' !== $method ) {
			return $this->_no_cache_for( 'Not GET method: ' . $method );
		}

		if ( is_feed() && 0 === $this->conf( Base::O_CACHE_TTL_FEED ) ) {
			return $this->_no_cache_for( 'feed' );
		}

		if ( is_trackback() ) {
			return $this->_no_cache_for( 'trackback' );
		}

		if ( is_search() ) {
			return $this->_no_cache_for( 'search' );
		}

		// Check private cache URI setting.
		$excludes = $this->conf( Base::O_CACHE_PRIV_URI );
		$req_uri  = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
		$result   = Utility::str_hit_array( $req_uri, $excludes );
		if ( $result ) {
			self::set_private( 'Admin cfg Private Cached URI: ' . $result );
		}

		if ( ! self::is_forced_cacheable() ) {
			// Check if URI is excluded from cache.
			$excludes = $this->cls( 'Data' )->load_cache_nocacheable( $this->conf( Base::O_CACHE_EXC ) );
			$result   = Utility::str_hit_array( $req_uri, $excludes );
			if ( $result ) {
				return $this->_no_cache_for( 'Admin configured URI Do not cache: ' . $result );
			}

			// Check QS excluded setting.
			$excludes = $this->conf( Base::O_CACHE_EXC_QS );
			$qs_hit   = $this->_is_qs_excluded( $excludes );
			if ( ! empty( $excludes ) && $qs_hit ) {
				return $this->_no_cache_for( 'Admin configured QS Do not cache: ' . $qs_hit );
			}

			$excludes = $this->conf( Base::O_CACHE_EXC_CAT );
			if ( ! empty( $excludes ) && has_category( $excludes ) ) {
				return $this->_no_cache_for( 'Admin configured Category Do not cache.' );
			}

			$excludes = $this->conf( Base::O_CACHE_EXC_TAG );
			if ( ! empty( $excludes ) && has_tag( $excludes ) ) {
				return $this->_no_cache_for( 'Admin configured Tag Do not cache.' );
			}

			$excludes = $this->conf( Base::O_CACHE_EXC_COOKIES );
			// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- names only, compared as keys.
			if ( ! empty( $excludes ) && ! empty( $_COOKIE ) ) {
				$cookie_hit = array_intersect( array_keys( $_COOKIE ), $excludes );
				if ( $cookie_hit ) {
					return $this->_no_cache_for( 'Admin configured Cookie Do not cache.' );
				}
			}

			$excludes = $this->conf( Base::O_CACHE_EXC_USERAGENTS );
			if ( ! empty( $excludes ) && isset( $_SERVER['HTTP_USER_AGENT'] ) ) {
				$nummatches = preg_match( Utility::arr2regex( $excludes ), sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) );
				if ( $nummatches ) {
					return $this->_no_cache_for( 'Admin configured User Agent Do not cache.' );
				}
			}

			// Check if is exclude roles ( Need to set Vary too ).
			$result = $this->in_cache_exc_roles();
			if ( $result ) {
				return $this->_no_cache_for( 'Role Excludes setting ' . $result );
			}
		}

		return true;
	}

	/**
	 * Write a debug message for if a page is not cacheable.
	 *
	 * @since 1.0.0
	 * @access private
	 *
	 * @param string $reason An explanation for why the page is not cacheable.
	 * @return bool          Always false.
	 */
	private function _no_cache_for( $reason ) {
		self::debug( 'X Cache_control off - ' . $reason );
		return false;
	}

	/**
	 * Check if current request has qs excluded setting.
	 *
	 * @since  1.3
	 * @access private
	 *
	 * @param  array<int,string> $excludes QS excludes setting.
	 * @return bool|string                 False if not excluded, otherwise the hit qs list.
	 */
	private function _is_qs_excluded( $excludes ) {
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		if ( ! empty( $_GET ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Recommended
			$keys      = array_keys( $_GET );
			$intersect = array_intersect( $keys, $excludes );
			if ( $intersect ) {
				return implode( ',', $intersect );
			}
		}
		return false;
	}
}
PK�^�\�d
,U$U$ litespeed-cache/src/rest.cls.phpnu�[���<?php
/**
 * REST endpoints and helpers for LiteSpeed.
 *
 * @since   2.9.4
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class REST
 *
 * Registers plugin REST endpoints and exposes helpers for REST detection.
 */
class REST extends Root {

	const LOG_TAG = '☎️';

	/**
	 * Whether current request is an internal REST call.
	 *
	 * @var bool
	 */
	private $_internal_rest_status = false;

	/**
	 * Constructor.
	 *
	 * @since 2.9.4
	 */
	public function __construct() {
		// Hook to internal REST call.
		add_filter( 'rest_request_before_callbacks', [ $this, 'set_internal_rest_on' ] );
		add_filter( 'rest_request_after_callbacks', [ $this, 'set_internal_rest_off' ] );

		add_action( 'rest_api_init', [ $this, 'rest_api_init' ] );
	}

	/**
	 * Register REST routes.
	 *
	 * @since 3.0
	 * @return void
	 */
	public function rest_api_init() {
		// Activate or deactivate a specific crawler callback
		register_rest_route( 'litespeed/v1', '/toggle_crawler_state', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'toggle_crawler_state' ],
			'permission_callback' => function () {
				return current_user_can( 'manage_network_options' ) || current_user_can( 'manage_options' );
			},
		] );

		register_rest_route( 'litespeed/v1', '/tool/check_ip', [
			'methods'             => 'GET',
			'callback'            => [ $this, 'check_ip' ],
			'permission_callback' => function () {
				return current_user_can( 'manage_network_options' ) || current_user_can( 'manage_options' );
			},
		] );

		register_rest_route( 'litespeed/v1', '/guest/sync', [
			'methods'             => 'GET',
			'callback'            => [ $this, 'guest_sync' ],
			'permission_callback' => function () {
				return current_user_can( 'manage_network_options' ) || current_user_can( 'manage_options' );
			},
		] );

		// IP callback validate
		register_rest_route( 'litespeed/v3', '/ip_validate', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'ip_validate' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );

		// 1.2. WP REST Dryrun Callback
		register_rest_route( 'litespeed/v3', '/wp_rest_echo', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'wp_rest_echo' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );
		register_rest_route( 'litespeed/v3', '/ping', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'ping' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );

		// CDN setup callback notification
		register_rest_route( 'litespeed/v3', '/cdn_status', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'cdn_status' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );

		// Image optm notify_img
		// Need validation
		register_rest_route( 'litespeed/v1', '/notify_img', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'notify_img' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );

		register_rest_route( 'litespeed/v1', '/notify_ccss', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'notify_ccss' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );

		register_rest_route( 'litespeed/v1', '/notify_ucss', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'notify_ucss' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );

		register_rest_route( 'litespeed/v1', '/notify_vpi', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'notify_vpi' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );

		register_rest_route( 'litespeed/v3', '/err_domains', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'err_domains' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );

		// Image optm check_img
		// Need validation
		register_rest_route( 'litespeed/v1', '/check_img', [
			'methods'             => 'POST',
			'callback'            => [ $this, 'check_img' ],
			'permission_callback' => [ $this, 'is_from_cloud' ],
		] );
	}

	/**
	 * Call to freeze or melt the crawler clicked
	 *
	 * @since  4.3
	 */
	public function toggle_crawler_state() {
		// phpcs:ignore WordPress.Security.NonceVerification.Missing -- REST API nonce verified by WordPress
		$crawler_id = isset( $_POST['crawler_id'] ) ? sanitize_text_field( wp_unslash( $_POST['crawler_id'] ) ) : '';

		if ( '' !== $crawler_id ) {
			return $this->cls( 'Crawler' )->toggle_activeness( $crawler_id ) ? 1 : 0;
		}
	}

	/**
	 * Check if the request is from cloud nodes.
	 *
	 * @since 4.2
	 * @since 4.4.7 Token/API key validation makes IP validation redundant.
	 * @return bool
	 */
	public function is_from_cloud() {
		return $this->cls( 'Cloud' )->is_from_cloud();
	}

	/**
	 * Ping pong.
	 *
	 * @since 3.0.4
	 * @return mixed
	 */
	public function ping() {
		return $this->cls( 'Cloud' )->ping();
	}

	/**
	 * Launch IP check.
	 *
	 * @since 3.0
	 * @return mixed
	 */
	public function check_ip() {
		return Tool::cls()->check_ip();
	}

	/**
	 * Sync Guest Mode IP/UA lists.
	 *
	 * @since 7.7
	 * @return array
	 */
	public function guest_sync() {
		return Guest::cls()->sync_lists();
	}

	/**
	 * Validate IPs from cloud.
	 *
	 * @since 3.0
	 * @return mixed
	 */
	public function ip_validate() {
		return $this->cls( 'Cloud' )->ip_validate();
	}

	/**
	 * REST echo helper.
	 *
	 * @since 3.0
	 * @return mixed
	 */
	public function wp_rest_echo() {
		return $this->cls( 'Cloud' )->wp_rest_echo();
	}

	/**
	 * Endpoint to notify plugin of CDN status updates.
	 *
	 * @since 7.0
	 * @return mixed
	 */
	public function cdn_status() {
		return $this->cls( 'Cloud' )->update_cdn_status();
	}

	/**
	 * Image optimization notification.
	 *
	 * @since 3.0
	 * @return mixed
	 */
	public function notify_img() {
		return Img_Optm::cls()->notify_img();
	}

	/**
	 * Critical CSS notification.
	 *
	 * @since 7.1
	 * @return mixed
	 */
	public function notify_ccss() {
		self::debug( 'notify_ccss' );
		return CSS::cls()->notify();
	}

	/**
	 * Unique CSS notification.
	 *
	 * @since 5.2
	 * @return mixed
	 */
	public function notify_ucss() {
		self::debug( 'notify_ucss' );
		return UCSS::cls()->notify();
	}

	/**
	 * Viewport Images notification.
	 *
	 * @since 4.7
	 * @return mixed
	 */
	public function notify_vpi() {
		self::debug( 'notify_vpi' );
		return VPI::cls()->notify();
	}

	/**
	 * Error domain report from cloud.
	 *
	 * @since 4.7
	 * @return mixed
	 */
	public function err_domains() {
		self::debug( 'err_domains' );
		return $this->cls( 'Cloud' )->rest_err_domains();
	}

	/**
	 * Launch image check.
	 *
	 * @since 3.0
	 * @return mixed
	 */
	public function check_img() {
		return Img_Optm::cls()->check_img();
	}

	/**
	 * Return a standardized error payload.
	 *
	 * @since 5.7.0.1
	 * @param string|int $code Error code.
	 * @return array
	 */
	public static function err( $code ) {
		return [
			'_res' => 'err',
			'_msg' => $code,
		];
	}

	/**
	 * Set internal REST tag to ON.
	 *
	 * @since 2.9.4
	 * @param mixed $not_used Passthrough value from the filter.
	 * @return mixed
	 */
	public function set_internal_rest_on( $not_used = null ) {
		$this->_internal_rest_status = true;
		Debug2::debug2( '[REST] ✅ Internal REST ON [filter] rest_request_before_callbacks' );

		return $not_used;
	}

	/**
	 * Set internal REST tag to OFF.
	 *
	 * @since 2.9.4
	 * @param mixed $not_used Passthrough value from the filter.
	 * @return mixed
	 */
	public function set_internal_rest_off( $not_used = null ) {
		$this->_internal_rest_status = false;
		Debug2::debug2( '[REST] ❎ Internal REST OFF [filter] rest_request_after_callbacks' );

		return $not_used;
	}

	/**
	 * Whether current request is an internal REST call.
	 *
	 * @since 2.9.4
	 * @return bool
	 */
	public function is_internal_rest() {
		return $this->_internal_rest_status;
	}

	/**
	 * Check whether a URL or current page is a REST request.
	 *
	 * @since 2.9.3
	 * @since 2.9.4 Moved here from Utility, dropped static.
	 * @param string|false $url URL to check; when false checks current request.
	 * @return bool
	 */
	public function is_rest( $url = false ) {
		// For WP 4.4.0- compatibility.
		if ( ! function_exists( 'rest_get_url_prefix' ) ) {
			return ( defined( 'REST_REQUEST' ) && REST_REQUEST );
		}

		$prefix = rest_get_url_prefix();

		// Case #1: After WP_REST_Request initialization.
		if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
			return true;
		}

		// Case #2: Support "plain" permalink settings.
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$route = isset( $_GET['rest_route'] ) ? sanitize_text_field( wp_unslash( $_GET['rest_route'] ) ) : '';

		if ( $route && 0 === strpos( trim( $route, '\\/' ), $prefix, 0 ) ) {
			return true;
		}

		if ( !$url ) {
			return false;
		}

		// Case #3: URL path begins with wp-json/ (REST prefix) – safe for subfolder installs.
		$rest_url    = wp_parse_url( site_url( $prefix ) );
		$current_url = wp_parse_url( $url );

		if ( false !== $current_url && ! empty( $current_url['path'] ) && false !== $rest_url && ! empty( $rest_url['path'] ) ) {
			return 0 === strpos( $current_url['path'], $rest_url['path'] );
		}

		return false;
	}
}
PK�^�\_��w,w,*litespeed-cache/src/admin-settings.cls.phpnu�[���<?php
/**
 * The admin settings handler of the plugin.
 *
 * Handles saving and validating settings from the admin UI and network admin.
 *
 * @since      1.1.0
 * @package    LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Admin_Settings
 *
 * Saves, sanitizes, and validates LiteSpeed Cache settings.
 */
class Admin_Settings extends Base {
	const LOG_TAG = '[Settings]';

	const ENROLL = '_settings-enroll';

	/**
	 * Save settings (single site).
	 *
	 * Accepts data from $_POST or WP-CLI.
	 * Importers may call the Conf class directly.
	 *
	 * @since 3.0
	 *
	 * @param array<string,mixed> $raw_data Raw data from request/CLI.
	 * @return void
	 */
	public function save( $raw_data ) {
		self::debug( 'saving' );

		if ( empty( $raw_data[ self::ENROLL ] ) ) {
			wp_die( esc_html__( 'No fields', 'litespeed-cache' ) );
		}

		$raw_data = Admin::cleanup_text( $raw_data );

		// Convert data to config format.
		$the_matrix = [];
		foreach ( array_unique( $raw_data[ self::ENROLL ] ) as $id ) {
			$child = false;

			// Drop array format.
			if ( false !== strpos( $id, '[' ) ) {
				if ( 0 === strpos( $id, self::O_CDN_MAPPING ) || 0 === strpos( $id, self::O_CRAWLER_COOKIES ) ) {
					// CDN child | Cookie Crawler settings.
					$child = substr( $id, strpos( $id, '[' ) + 1, strpos( $id, ']' ) - strpos( $id, '[' ) - 1 );
					// Drop ending []; Compatible with xx[0] way from CLI.
					$id = substr( $id, 0, strpos( $id, '[' ) );
				} else {
					// Drop ending [].
					$id = substr( $id, 0, strpos( $id, '[' ) );
				}
			}

			if ( ! array_key_exists( $id, self::$_default_options ) ) {
				continue;
			}

			// Validate $child.
			if ( self::O_CDN_MAPPING === $id ) {
				if ( ! in_array( $child, [ self::CDN_MAPPING_URL, self::CDN_MAPPING_INC_IMG, self::CDN_MAPPING_INC_CSS, self::CDN_MAPPING_INC_JS, self::CDN_MAPPING_FILETYPE ], true ) ) {
					continue;
				}
			}
			if ( self::O_CRAWLER_COOKIES === $id ) {
				if ( ! in_array( $child, [ self::CRWL_COOKIE_NAME, self::CRWL_COOKIE_VALS ], true ) ) {
					continue;
				}
			}

			// Pull value from request.
			if ( $child ) {
				// []=xxx or [0]=xxx
				$data = ! empty( $raw_data[ $id ][ $child ] ) ? $raw_data[ $id ][ $child ] : $this->type_casting(false, $id);
			} else {
				$data = ! empty( $raw_data[ $id ] ) ? $raw_data[ $id ] : $this->type_casting(false, $id);
			}

			// Sanitize/normalize complex fields.
			if ( self::O_CDN_MAPPING === $id || self::O_CRAWLER_COOKIES === $id ) {
				// Use existing queued data if available (only when $child != false).
				$data2 = array_key_exists( $id, $the_matrix )
					? $the_matrix[ $id ]
					: ( defined( 'WP_CLI' ) && WP_CLI ? $this->conf( $id ) : [] );
			}

			switch ( $id ) {
				// Don't allow Editor/admin to be used in crawler role simulator.
				case self::O_CRAWLER_ROLES:
					$data = Utility::sanitize_lines( $data );
					if ( $data ) {
						foreach ( $data as $k => $v ) {
							if ( user_can( $v, 'edit_posts' ) ) {
								/* translators: %s: user id in <code> tags */
								$msg = sprintf(
									esc_html__( 'The user with id %s has editor access, which is not allowed for the role simulator.', 'litespeed-cache' ),
									'<code>' . esc_html( $v ) . '</code>'
								);
								Admin_Display::error( $msg );
								unset( $data[ $k ] );
							}
						}
					}
					break;

				case self::O_CDN_MAPPING:
					/**
					 * CDN setting
					 *
					 * Raw data format:
					 *  cdn-mapping[url][] = 'xxx'
					 *  cdn-mapping[url][2] = 'xxx2'
					 *  cdn-mapping[inc_js][] = 1
					 *
					 * Final format:
					 *  cdn-mapping[0][url] = 'xxx'
					 *  cdn-mapping[2][url] = 'xxx2'
					 */
					if ( $data ) {
						foreach ( $data as $k => $v ) {
							if ( self::CDN_MAPPING_FILETYPE === $child ) {
								$v = Utility::sanitize_lines( $v );
							}

							if ( self::CDN_MAPPING_URL === $child ) {
								// If not a valid URL, turn off CDN.
								if ( 0 !== strpos( $v, 'https://' ) ) {
									self::debug( '❌ CDN mapping set to OFF due to invalid URL' );
									$the_matrix[ self::O_CDN ] = false;
								}
								$v = trailingslashit( $v );
							}

							if ( in_array( $child, [ self::CDN_MAPPING_INC_IMG, self::CDN_MAPPING_INC_CSS, self::CDN_MAPPING_INC_JS ], true ) ) {
								// Because these can't be auto detected in `config->update()`, need to format here.
								$v = 'false' === $v ? 0 : (bool) $v;
							}

							if ( empty( $data2[ $k ] ) ) {
								$data2[ $k ] = [];
							}

							$data2[ $k ][ $child ] = $v;
						}
					}

					$data = $data2;
					break;

				case self::O_CRAWLER_COOKIES:
					/**
					 * Cookie Crawler setting
					 * Raw Format:
					 *  crawler-cookies[name][] = xxx
					 *  crawler-cookies[name][2] = xxx2
					 *  crawler-cookies[vals][] = xxx
					 *
					 * Final format:
					 *  crawler-cookie[0][name] = 'xxx'
					 *  crawler-cookie[0][vals] = 'xxx'
					 *  crawler-cookie[2][name] = 'xxx2'
					 *
					 * Empty line for `vals` uses literal `_null`.
					 */
					if ( $data ) {
						foreach ( $data as $k => $v ) {
							if ( self::CRWL_COOKIE_VALS === $child ) {
								$v = Utility::sanitize_lines( $v );
							}

							if ( empty( $data2[ $k ] ) ) {
								$data2[ $k ] = [];
							}

							$data2[ $k ][ $child ] = $v;
						}
					}

					$data = $data2;
					break;

				// Cache exclude category.
				case self::O_CACHE_EXC_CAT:
					$data2 = [];
					$data  = Utility::sanitize_lines( $data );
					foreach ( $data as $v ) {
						$cat_id = get_cat_ID( $v );
						if ( ! $cat_id ) {
							continue;
						}
						$data2[] = $cat_id;
					}
					$data = $data2;
					break;

				// Cache exclude tag.
				case self::O_CACHE_EXC_TAG:
					$data2 = [];
					$data  = Utility::sanitize_lines( $data );
					foreach ( $data as $v ) {
						$term = get_term_by( 'name', $v, 'post_tag' );
						if ( ! $term ) {
							// Could surface an admin error here if desired.
							continue;
						}
						$data2[] = $term->term_id;
					}
					$data = $data2;
					break;
					
				case self::O_IMG_OPTM_SIZES_SKIPPED: // Skip image sizes
					$image_sizes = Utility::prepare_image_sizes_array();
					$saved_sizes = isset( $raw_data[$id] ) ? $raw_data[$id] : [];
					$data        = array_diff( $image_sizes, $saved_sizes );
					break;

				default:
					break;
			}

			$the_matrix[ $id ] = $data;
		}

		// Special handler for CDN/Crawler 2d list to drop empty rows.
		foreach ( $the_matrix as $id => $data ) {
			/**
			 * Format:
			 *  cdn-mapping[0][url] = 'xxx'
			 *  cdn-mapping[2][url] = 'xxx2'
			 *  crawler-cookie[0][name] = 'xxx'
			 *  crawler-cookie[0][vals] = 'xxx'
			 *  crawler-cookie[2][name] = 'xxx2'
			 */
			if ( self::O_CDN_MAPPING === $id || self::O_CRAWLER_COOKIES === $id ) {
				// Drop row if all children are empty.
				foreach ( $data as $k => $v ) {
					foreach ( $v as $v2 ) {
						if ( $v2 ) {
							continue 2;
						}
					}
					// All empty.
					unset( $the_matrix[ $id ][ $k ] );
				}
			}

			// Don't allow repeated cookie names.
			if ( self::O_CRAWLER_COOKIES === $id ) {
				$existed = [];
				foreach ( $the_matrix[ $id ] as $k => $v ) {
					if ( empty( $v[ self::CRWL_COOKIE_NAME ] ) || in_array( $v[ self::CRWL_COOKIE_NAME ], $existed, true ) ) {
						// Filter repeated or empty name.
						unset( $the_matrix[ $id ][ $k ] );
						continue;
					}

					$existed[] = $v[ self::CRWL_COOKIE_NAME ];
				}
			}

			// tmp fix the 3rd part woo update hook issue when enabling vary cookie.
			if ( 'wc_cart_vary' === $id ) {
				if ( $data ) {
					add_filter(
						'litespeed_vary_cookies',
						function ( $arr ) {
							$arr[] = 'woocommerce_cart_hash';
							return array_unique( $arr );
						}
					);
				} else {
					add_filter(
						'litespeed_vary_cookies',
						function ( $arr ) {
							$key = array_search( 'woocommerce_cart_hash', $arr, true );
							if ( false !== $key ) {
								unset( $arr[ $key ] );
							}
							return array_unique( $arr );
						}
					);
				}
			}
		}

		// id validation will be inside.
		$this->cls( 'Conf' )->update_confs( $the_matrix );

		$msg = __( 'Options saved.', 'litespeed-cache' );
		Admin_Display::success( $msg );
	}

	/**
	 * Parses any changes made by the network admin on the network settings.
	 *
	 * @since 3.0
	 *
	 * @param array<string,mixed> $raw_data Raw data from request/CLI.
	 * @return void
	 */
	public function network_save( $raw_data ) {
		self::debug( 'network saving' );

		if ( empty( $raw_data[ self::ENROLL ] ) ) {
			wp_die( esc_html__( 'No fields', 'litespeed-cache' ) );
		}

		$raw_data = Admin::cleanup_text( $raw_data );

		foreach ( array_unique( $raw_data[ self::ENROLL ] ) as $id ) {
			// Append current field to setting save.
			if ( ! array_key_exists( $id, self::$_default_site_options ) ) {
				continue;
			}

			$data = ! empty( $raw_data[ $id ] ) ? $raw_data[ $id ] : false;

			// id validation will be inside.
			$this->cls( 'Conf' )->network_update( $id, $data );
		}

		// Update related files.
		Activation::cls()->update_files();

		$msg = __( 'Options saved.', 'litespeed-cache' );
		Admin_Display::success( $msg );
	}

	/**
	 * Hooked to the wp_redirect filter when saving widgets fails validation.
	 *
	 * @since 1.1.3
	 *
	 * @param string $location The redirect location.
	 * @return string Updated location string.
	 */
	public static function widget_save_err( $location ) {
		return str_replace( '?message=0', '?error=0', $location );
	}

	/**
	 * Validate the LiteSpeed Cache settings on widget save.
	 *
	 * @since 1.1.3
	 *
	 * @param array      $instance     The new settings.
	 * @param array      $new_instance The raw submitted settings.
	 * @param array      $old_instance The original settings.
	 * @param \WP_Widget $widget       The widget instance.
	 * @return array|false Updated settings on success, false on error.
	 */
	public static function validate_widget_save( $instance, $new_instance, $old_instance, $widget ) {
		if ( empty( $new_instance ) ) {
			return $instance;
		}

		if ( ! isset( $new_instance[ ESI::WIDGET_O_ESIENABLE ], $new_instance[ ESI::WIDGET_O_TTL ] ) ) {
			return $instance;
		}

		$esi = (int) $new_instance[ ESI::WIDGET_O_ESIENABLE ] % 3;
		$ttl = (int) $new_instance[ ESI::WIDGET_O_TTL ];

		if ( 0 !== $ttl && $ttl < 30 ) {
			add_filter( 'wp_redirect', __CLASS__ . '::widget_save_err' );
			return false; // Invalid ttl.
		}

		if ( empty( $instance[ Conf::OPTION_NAME ] ) ) {
			// @todo to be removed.
			$instance[ Conf::OPTION_NAME ] = [];
		}
		$instance[ Conf::OPTION_NAME ][ ESI::WIDGET_O_ESIENABLE ] = $esi;
		$instance[ Conf::OPTION_NAME ][ ESI::WIDGET_O_TTL ]       = $ttl;

		$current = ! empty( $old_instance[ Conf::OPTION_NAME ] ) ? $old_instance[ Conf::OPTION_NAME ] : false;

		// Avoid unsanitized superglobal usage.
		$referrer = isset( $_SERVER['HTTP_REFERER'] ) ? esc_url_raw( wp_unslash( $_SERVER['HTTP_REFERER'] ) ) : '';

		// Only purge when not in the Customizer.
		if ( false === strpos( $referrer, '/wp-admin/customize.php' ) ) {
			if ( ! $current || $esi !== (int) $current[ ESI::WIDGET_O_ESIENABLE ] ) {
				Purge::purge_all( 'Widget ESI_enable changed' );
			} elseif ( 0 !== $ttl && $ttl !== (int) $current[ ESI::WIDGET_O_TTL ] ) {
				Purge::add( Tag::TYPE_WIDGET . $widget->id );
			}

			Purge::purge_all( 'Widget saved' );
		}

		return $instance;
	}
}
PK�^�\���$litespeed-cache/src/cdn/quic.cls.phpnu�[���<?php
/**
 * The quic.cloud class.
 *
 * @since       2.4.1
 * @package     LiteSpeed
 * @subpackage  LiteSpeed/src/cdn
 */

namespace LiteSpeed\CDN;

use LiteSpeed\Cloud;
use LiteSpeed\Base;

defined('WPINC') || exit();

/**
 * Class Quic
 *
 * Handles Quic.cloud CDN integration.
 *
 * @since 2.4.1
 */
class Quic extends Base {
	const LOG_TAG  = '☁️';
	const TYPE_REG = 'reg';

	/**
	 * Force sync flag.
	 *
	 * @var bool
	 */
	private $force = false;

	/**
	 * Notify CDN new config updated
	 *
	 * Syncs configuration with Quic.cloud CDN.
	 *
	 * @since 2.4.1
	 * @access public
	 * @param bool $force Whether to force sync.
	 * @return bool|void
	 */
	public function try_sync_conf( $force = false ) {
		$cloud_summary = Cloud::get_summary();
		if ($force) {
			$this->force = $force;
		}

		if (!$this->conf(self::O_CDN_QUIC)) {
			if (!empty($cloud_summary['conf_md5'])) {
				self::debug('❌ No QC CDN, clear conf md5!');
				Cloud::save_summary(array( 'conf_md5' => '' ));
			}
			return false;
		}

		// Notice: Sync conf must be after `wp_loaded` hook, to get 3rd party vary injected (e.g. `woocommerce_cart_hash`).
		if (!did_action('wp_loaded')) {
			add_action('wp_loaded', array( $this, 'try_sync_conf' ), 999);
			self::debug('WP not loaded yet, delay sync to wp_loaded:999');
			return;
		}

		$options                = $this->get_options();
		$options['_tp_cookies'] = apply_filters('litespeed_vary_cookies', array());

		// Build necessary options only
		$options_needed  = array(
			self::O_CACHE_DROP_QS,
			self::O_CACHE_EXC_COOKIES,
			self::O_CACHE_EXC_USERAGENTS,
			self::O_CACHE_LOGIN_COOKIE,
			self::O_CACHE_VARY_COOKIES,
			self::O_CACHE_MOBILE_RULES,
			self::O_CACHE_MOBILE,
			self::O_CACHE_BROWSER,
			self::O_CACHE_TTL_BROWSER,
			self::O_IMG_OPTM_WEBP,
			self::O_GUEST,
			'_tp_cookies',
		);
		$consts_needed   = array( 'LSWCP_TAG_PREFIX' );
		$options_for_md5 = array();
		foreach ($options_needed as $v) {
			if (isset($options[$v])) {
				$options_for_md5[$v] = $options[$v];
				// Remove overflow multi lines fields
				if (is_array($options_for_md5[$v]) && count($options_for_md5[$v]) > 30) {
					$options_for_md5[$v] = array_slice($options_for_md5[$v], 0, 30);
				}
			}
		}

		$server_vars = $this->server_vars();
		foreach ($consts_needed as $v) {
			if (isset($server_vars[$v])) {
				if (empty($options_for_md5['_server'])) {
					$options_for_md5['_server'] = array();
				}
				$options_for_md5['_server'][$v] = $server_vars[$v];
			}
		}

		$conf_md5 = md5(wp_json_encode($options_for_md5));
		if (!empty($cloud_summary['conf_md5'])) {
			if ($conf_md5 === $cloud_summary['conf_md5']) {
				if (!$this->force) {
					self::debug('Bypass sync conf to QC due to same md5', $conf_md5);
					return;
				}
				self::debug('!!!Force sync conf even same md5');
			} else {
				self::debug('[conf_md5] ' . $conf_md5 . ' [existing_conf_md5] ' . $cloud_summary['conf_md5']);
			}
		}

		Cloud::save_summary(array( 'conf_md5' => $conf_md5 ));
		self::debug('sync conf to QC');

		Cloud::post(Cloud::SVC_D_SYNC_CONF, $options_for_md5);
	}
}
PK�^�\�lN���*litespeed-cache/src/cdn/cloudflare.cls.phpnu�[���<?php
/**
 * The cloudflare CDN class.
 *
 * @since       2.1
 * @package     LiteSpeed
 * @subpackage  LiteSpeed/src/cdn
 * @author      LiteSpeed Technologies <info@litespeedtech.com>
 */

namespace LiteSpeed\CDN;

use LiteSpeed\Base;
use LiteSpeed\Debug2;
use LiteSpeed\Router;
use LiteSpeed\Admin;
use LiteSpeed\Admin_Display;

defined('WPINC') || exit();

/**
 * Class Cloudflare
 *
 * @since 2.1
 */
class Cloudflare extends Base {

	const TYPE_PURGE_ALL       = 'purge_all';
	const TYPE_GET_DEVMODE     = 'get_devmode';
	const TYPE_SET_DEVMODE_ON  = 'set_devmode_on';
	const TYPE_SET_DEVMODE_OFF = 'set_devmode_off';

	const ITEM_STATUS = 'status';

	/**
	 * Update zone&name based on latest settings
	 *
	 * @since  3.0
	 * @access public
	 */
	public function try_refresh_zone() {
		if (!$this->conf(self::O_CDN_CLOUDFLARE)) {
			return;
		}

		$zone = $this->fetch_zone();
		if ($zone) {
			$this->cls('Conf')->update(self::O_CDN_CLOUDFLARE_NAME, $zone['name']);

			$this->cls('Conf')->update(self::O_CDN_CLOUDFLARE_ZONE, $zone['id']);

			Debug2::debug("[Cloudflare] Get zone successfully \t\t[ID] " . $zone['id']);
		} else {
			$this->cls('Conf')->update(self::O_CDN_CLOUDFLARE_ZONE, '');
			Debug2::debug('[Cloudflare] ❌ Get zone failed, clean zone');
		}
	}

	/**
	 * Get Cloudflare development mode
	 *
	 * @since  1.7.2
	 * @access private
	 * @param bool $show_msg Whether to show success/error message.
	 */
	private function get_devmode( $show_msg = true ) {
		Debug2::debug('[Cloudflare] get_devmode');

		$zone = $this->zone();
		if (!$zone) {
			return;
		}

		$url = 'https://api.cloudflare.com/client/v4/zones/' . $zone . '/settings/development_mode';
		$res = $this->cloudflare_call($url, 'GET', false, $show_msg);

		if (!$res) {
			return;
		}
		Debug2::debug('[Cloudflare] get_devmode result ', $res);

		// Make sure is array: #992174
		$curr_status = self::get_option(self::ITEM_STATUS, array());
		if ( ! is_array( $curr_status ) ) {
			$curr_status = array();
		}
		$curr_status['devmode']         = $res['value'];
		$curr_status['devmode_expired'] = (int) $res['time_remaining'] + time();

		// update status
		self::update_option(self::ITEM_STATUS, $curr_status);
	}

	/**
	 * Set Cloudflare development mode
	 *
	 * @since  1.7.2
	 * @access private
	 * @param string $type The type of development mode to set (on/off).
	 */
	private function set_devmode( $type ) {
		Debug2::debug('[Cloudflare] set_devmode');

		$zone = $this->zone();
		if (!$zone) {
			return;
		}

		$url     = 'https://api.cloudflare.com/client/v4/zones/' . $zone . '/settings/development_mode';
		$new_val = self::TYPE_SET_DEVMODE_ON === $type ? 'on' : 'off';
		$data    = array( 'value' => $new_val );
		$res     = $this->cloudflare_call($url, 'PATCH', $data);

		if (!$res) {
			return;
		}

		$res = $this->get_devmode(false);

		if ($res) {
			$msg = sprintf(__('Notified Cloudflare to set development mode to %s successfully.', 'litespeed-cache'), strtoupper($new_val));
			Admin_Display::success($msg);
		}
	}

	/**
	 * Shortcut to purge Cloudflare
	 *
	 * @since  7.1
	 * @access public
	 * @param string|bool $reason The reason for purging, or false if none.
	 */
	public static function purge_all( $reason = false ) {
		if ($reason) {
			Debug2::debug('[Cloudflare] purge call because: ' . $reason);
		}
		self::cls()->purge_all_private();
	}

	/**
	 * Purge Cloudflare cache
	 *
	 * @since  1.7.2
	 * @access private
	 */
	private function purge_all_private() {
		Debug2::debug('[Cloudflare] purge_all_private');

		$cf_on = $this->conf(self::O_CDN_CLOUDFLARE);
		if (!$cf_on) {
			$msg = __('Cloudflare API is set to off.', 'litespeed-cache');
			Admin_Display::error($msg);
			return;
		}

		$zone = $this->zone();
		if (!$zone) {
			return;
		}

		$url  = 'https://api.cloudflare.com/client/v4/zones/' . $zone . '/purge_cache';
		$data = array( 'purge_everything' => true );

		$res = $this->cloudflare_call($url, 'DELETE', $data);

		if ($res) {
			$msg = __('Notified Cloudflare to purge all successfully.', 'litespeed-cache');
			Admin_Display::success($msg);
		}
	}

	/**
	 * Get current Cloudflare zone from cfg
	 *
	 * @since  1.7.2
	 * @access private
	 */
	private function zone() {
		$zone = $this->conf(self::O_CDN_CLOUDFLARE_ZONE);
		if (!$zone) {
			$msg = __('No available Cloudflare zone', 'litespeed-cache');
			Admin_Display::error($msg);
			return false;
		}

		return $zone;
	}

	/**
	 * Get Cloudflare zone settings
	 *
	 * @since  1.7.2
	 * @access private
	 */
	private function fetch_zone() {
		$kw = $this->conf(self::O_CDN_CLOUDFLARE_NAME);

		$url = 'https://api.cloudflare.com/client/v4/zones?status=active&match=all';

		// Try exact match first
		if ($kw && false !== strpos($kw, '.')) {
			$zones = $this->cloudflare_call($url . '&name=' . $kw, 'GET', false, false);
			if ($zones) {
				Debug2::debug('[Cloudflare] fetch_zone exact matched');
				return $zones[0];
			}
		}

		// Can't find, try to get default one
		$zones = $this->cloudflare_call($url, 'GET', false, false);

		if (!$zones) {
			Debug2::debug('[Cloudflare] fetch_zone no zone');
			return false;
		}

		if (!$kw) {
			Debug2::debug('[Cloudflare] fetch_zone no set name, use first one by default');
			return $zones[0];
		}

		foreach ($zones as $v) {
			if (false !== strpos($v['name'], $kw)) {
				Debug2::debug('[Cloudflare] fetch_zone matched ' . $kw . ' [name] ' . $v['name']);
				return $v;
			}
		}

		// Can't match current name, return default one
		Debug2::debug('[Cloudflare] fetch_zone failed match name, use first one by default');
		return $zones[0];
	}

	/**
	 * Cloudflare API
	 *
	 * @since  1.7.2
	 * @access private
	 * @param string     $url      The API URL to call.
	 * @param string     $method   The HTTP method to use (GET, POST, etc.).
	 * @param array|bool $data     The data to send with the request, or false if none.
	 * @param bool       $show_msg Whether to show success/error message.
	 */
	private function cloudflare_call( $url, $method = 'GET', $data = false, $show_msg = true ) {
		Debug2::debug("[Cloudflare] cloudflare_call \t\t[URL] $url");

		if (strlen($this->conf(self::O_CDN_CLOUDFLARE_KEY)) === 40) {
			$headers = array(
				'Content-Type'  => 'application/json',
				'Authorization' => 'Bearer ' . $this->conf(self::O_CDN_CLOUDFLARE_KEY),
			);
		} else {
			$headers = array(
				'Content-Type'  => 'application/json',
				'X-Auth-Email' => $this->conf(self::O_CDN_CLOUDFLARE_EMAIL),
				'X-Auth-Key'   => $this->conf(self::O_CDN_CLOUDFLARE_KEY),
			);
		}

		$wp_args = array(
			'method'  => $method,
			'headers' => $headers,
		);

		if ($data) {
			if (is_array($data)) {
				$data = wp_json_encode($data);
			}
			$wp_args['body'] = $data;
		}
		$resp = wp_remote_request($url, $wp_args);
		if (is_wp_error($resp)) {
			Debug2::debug('[Cloudflare] error in response');
			if ($show_msg) {
				$msg = __('Failed to communicate with Cloudflare', 'litespeed-cache');
				Admin_Display::error($msg);
			}
			return false;
		}

		$result = wp_remote_retrieve_body($resp);

		$json = \json_decode($result, true);

		if ($json && $json['success'] && $json['result']) {
			Debug2::debug('[Cloudflare] cloudflare_call called successfully');
			if ($show_msg) {
				$msg = __('Communicated with Cloudflare successfully.', 'litespeed-cache');
				Admin_Display::success($msg);
			}

			return $json['result'];
		}

		Debug2::debug("[Cloudflare] cloudflare_call called failed: $result");
		if ($show_msg) {
			$msg = __('Failed to communicate with Cloudflare', 'litespeed-cache');
			Admin_Display::error($msg);
		}

		return false;
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * @since  1.7.2
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ($type) {
			case self::TYPE_PURGE_ALL:
				$this->purge_all_private();
				break;

			case self::TYPE_GET_DEVMODE:
				$this->get_devmode();
				break;

			case self::TYPE_SET_DEVMODE_ON:
			case self::TYPE_SET_DEVMODE_OFF:
				$this->set_devmode($type);
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\'[h)litespeed-cache/src/import.preset.cls.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * The preset class.
 *
 * @since  5.3.0
 */
namespace LiteSpeed;

defined('WPINC') || exit();

class Preset extends Import {

	protected $_summary;

	const MAX_BACKUPS = 10;

	const TYPE_APPLY   = 'apply';
	const TYPE_RESTORE = 'restore';

	const STANDARD_DIR = LSCWP_DIR . 'data/preset';
	const BACKUP_DIR   = LITESPEED_STATIC_DIR . '/auto-backup';

	/**
	 * Returns sorted backup names
	 *
	 * @since  5.3.0
	 * @access public
	 */
	public static function get_backups() {
		self::init_filesystem();
		global $wp_filesystem;

		$backups = array_map(
			function ( $path ) {
				return self::basename($path['name']);
			},
			$wp_filesystem->dirlist(self::BACKUP_DIR) ?: array()
		);
		rsort($backups);

		return $backups;
	}

	/**
	 * Removes extra backup files
	 *
	 * @since  5.3.0
	 * @access public
	 */
	public static function prune_backups() {
		$backups = self::get_backups();
		global $wp_filesystem;

		foreach (array_slice($backups, self::MAX_BACKUPS) as $backup) {
			$path = self::get_backup($backup);
			$wp_filesystem->delete($path);
			Debug2::debug('[Preset] Deleted old backup from ' . $backup);
		}
	}

	/**
	 * Returns a settings file's extensionless basename given its filesystem path
	 *
	 * @since  5.3.0
	 * @access public
	 */
	public static function basename( $path ) {
		return basename($path, '.data');
	}

	/**
	 * Returns a standard preset's path given its extensionless basename
	 *
	 * @since  5.3.0
	 * @access public
	 */
	public static function get_standard( $name ) {
		return path_join(self::STANDARD_DIR, $name . '.data');
	}

	/**
	 * Returns a backup's path given its extensionless basename
	 *
	 * @since  5.3.0
	 * @access public
	 */
	public static function get_backup( $name ) {
		return path_join(self::BACKUP_DIR, $name . '.data');
	}

	/**
	 * Initializes the global $wp_filesystem object and clears stat cache
	 *
	 * @since  5.3.0
	 */
	static function init_filesystem() {
		require_once ABSPATH . '/wp-admin/includes/file.php';
		\WP_Filesystem();
		clearstatcache();
	}

	/**
	 * Init
	 *
	 * @since  5.3.0
	 */
	public function __construct() {
		Debug2::debug('[Preset] Init');
		$this->_summary = self::get_summary();
	}

	/**
	 * Applies a standard preset's settings given its extensionless basename
	 *
	 * @since  5.3.0
	 * @access public
	 */
	public function apply( $preset ) {
		$this->make_backup($preset);

		$path   = self::get_standard($preset);
		$result = $this->import_file($path) ? $preset : 'error';

		$this->log($result);
	}

	/**
	 * Restores settings from the backup file with the given timestamp, then deletes the file
	 *
	 * @since  5.3.0
	 * @access public
	 */
	public function restore( $timestamp ) {
		$backups = array();
		foreach (self::get_backups() as $backup) {
			if (preg_match('/^backup-' . $timestamp . '(-|$)/', $backup) === 1) {
				$backups[] = $backup;
			}
		}

		if (empty($backups)) {
			$this->log('error');
			return;
		}

		$backup = $backups[0];
		$path   = self::get_backup($backup);

		if (!$this->import_file($path)) {
			$this->log('error');
			return;
		}

		self::init_filesystem();
		global $wp_filesystem;

		$wp_filesystem->delete($path);
		Debug2::debug('[Preset] Deleted most recent backup from ' . $backup);

		$this->log('backup');
	}

	/**
	 * Saves current settings as a backup file, then prunes extra backup files
	 *
	 * @since  5.3.0
	 * @access public
	 */
	public function make_backup( $preset ) {
		$backup = 'backup-' . time() . '-before-' . $preset;
		$data   = $this->export(true);

		$path = self::get_backup($backup);
		File::save($path, $data, true);
		Debug2::debug('[Preset] Backup saved to ' . $backup);

		self::prune_backups();
	}

	/**
	 * Tries to import from a given settings file
	 *
	 * @since  5.3.0
	 */
	function import_file( $path ) {
		$debug = function ( $result, $name ) {
			$action = $result ? 'Applied' : 'Failed to apply';
			Debug2::debug('[Preset] ' . $action . ' settings from ' . $name);
			return $result;
		};

		$name     = self::basename($path);
		$contents = file_get_contents($path);

		if (false === $contents) {
			Debug2::debug('[Preset] ❌ Failed to get file contents');
			return $debug(false, $name);
		}

		$parsed = array();
		try {
			// Check if the data is v4+
			if (strpos($contents, '["_version",') === 0) {
				$contents = explode("\n", $contents);
				foreach ($contents as $line) {
					$line = trim($line);
					if (empty($line)) {
						continue;
					}
					list($key, $value) = \json_decode($line, true);
					$parsed[$key]      = $value;
				}
			} else {
				$parsed = \json_decode(base64_decode($contents), true);
			}
		} catch (\Exception $ex) {
			Debug2::debug('[Preset] ❌ Failed to parse serialized data');
			return $debug(false, $name);
		}

		if (empty($parsed)) {
			Debug2::debug('[Preset] ❌ Nothing to apply');
			return $debug(false, $name);
		}

		$this->cls('Conf')->update_confs($parsed);

		return $debug(true, $name);
	}

	/**
	 * Updates the log
	 *
	 * @since  5.3.0
	 */
	function log( $preset ) {
		$this->_summary['preset']           = $preset;
		$this->_summary['preset_timestamp'] = time();
		self::save_summary();
	}

	/**
	 * Handles all request actions from main cls
	 *
	 * @since  5.3.0
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ($type) {
			case self::TYPE_APPLY:
            $this->apply(!empty($_GET['preset']) ? $_GET['preset'] : false);
				break;

			case self::TYPE_RESTORE:
            $this->restore(!empty($_GET['timestamp']) ? $_GET['timestamp'] : false);
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\��%��%�%litespeed-cache/src/vpi.cls.phpnu�[���<?php
/**
 * The viewport image (VPI) class.
 *
 * Handles discovering above-the-fold images for posts/pages and stores the
 * viewport image list per post (desktop & mobile). Coordinates with the
 * remote service via queue + cron + webhook notify.
 *
 * @since   4.7
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Generate and manage ViewPort Images (VPI) for pages.
 */
class VPI extends Base {

	/**
	 * Log tag for debug output.
	 *
	 * @var string
	 */
	const LOG_TAG = '[VPI]';

	/**
	 * Action types.
	 *
	 * @var string
	 */
	const TYPE_GEN     = 'gen';
	const TYPE_CLEAR_Q = 'clear_q';
	
	/**
	 * VPI Desktop Meta name.
	 * 
	 * @since  7.6
	 * @var string
	 */
	const POST_META = 'litespeed_vpi_list';
	/**
	 * VPI Mobile Meta name.
	 * 
	 * @since  7.6
	 * @var string
	 */
	const POST_META_MOBILE = 'litespeed_vpi_list_mobile';

	/**
	 * Summary values persisted between requests (timings, last runs, etc).
	 *
	 * @var array
	 */
	protected $_summary;

	/**
	 * In-memory working queue for VPI jobs.
	 *
	 * @var array
	 */
	private $_queue;

	/**
	 * Init.
	 *
	 * @since 4.7
	 */
	public function __construct() {
		$this->_summary = self::get_summary();
	}

	/**
	 * Queue the current page for VPI generation.
	 *
	 * @since 4.7
	 * @return void
	 */
	public function add_to_queue() {
		$is_mobile = $this->_separate_mobile();

		global $wp;
		$request_url = home_url( $wp->request );

		if ( ! apply_filters( 'litespeed_vpi_should_queue', true, $request_url ) ) {
			return;
		}

		// Sanitize user agent coming from the server superglobal.
		$ua = ! empty( $_SERVER['HTTP_USER_AGENT'] )
			? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) )
			: '';

		// Store it to prepare for cron.
		$this->_queue = $this->load_queue( 'vpi' );

		if ( count( $this->_queue ) > 500 ) {
			self::debug( 'Queue is full - 500' );
			return;
		}

		$home_id = (int) get_option( 'page_for_posts' );

		if ( ! is_singular() && ! ( $home_id > 0 && is_home() ) ) {
			self::debug( 'not single post ID' );
			return;
		}

		$post_id = is_home() ? $home_id : get_the_ID();

		$queue_k = ( $is_mobile ? 'mobile' : '' ) . ' ' . $request_url;
		if ( ! empty( $this->_queue[ $queue_k ] ) ) {
			self::debug( 'queue k existed ' . $queue_k );
			return;
		}

		$this->_queue[ $queue_k ] = [
			'url'        => apply_filters( 'litespeed_vpi_url', $request_url ),
			'post_id'    => $post_id,
			'user_agent' => substr( $ua, 0, 200 ),
			'is_mobile'  => $is_mobile,
		]; // Current UA will be used to request.
		$this->save_queue( 'vpi', $this->_queue );
		self::debug( 'Added queue_vpi [url] ' . $queue_k . ' [UA] ' . $ua );

		// Prepare cache tag for later purge.
		Tag::add( 'VPI.' . md5( $queue_k ) );
	}

	/**
	 * Handle finish notifications from remote service.
	 *
	 * Expects JSON body; falls back to $_POST for legacy callers.
	 *
	 * @since 4.7
	 * @return array Response object for the cloud layer.
	 */
	public function notify() {
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		$post_data = \json_decode( file_get_contents( 'php://input' ), true );
		if ( is_null( $post_data ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing
			$post_data = $_POST;
		}
		self::debug( 'notify() data', $post_data );

		$this->_queue = $this->load_queue( 'vpi' );

		list( $post_data ) = $this->cls( 'Cloud' )->extract_msg( $post_data, 'vpi' );

		$notified_data = $post_data['data'];
		if ( empty( $notified_data ) || ! is_array( $notified_data ) ) {
			self::debug( '❌ notify exit: no notified data' );
			return Cloud::err( 'no notified data' );
		}

		// Check if it's in queue or not.
		$valid_i = 0;
		foreach ( $notified_data as $v ) {
			if ( empty( $v['request_url'] ) ) {
				self::debug( '❌ notify bypass: no request_url', $v );
				continue;
			}
			if ( empty( $v['queue_k'] ) ) {
				self::debug( '❌ notify bypass: no queue_k', $v );
				continue;
			}

			$queue_k = $v['queue_k'];

			if ( empty( $this->_queue[ $queue_k ] ) ) {
				self::debug( '❌ notify bypass: no this queue [q_k]' . $queue_k );
				continue;
			}

			// Save data.
			if ( ! empty( $v['data_vpi'] ) ) {
				$post_id   = (int) $this->_queue[ $queue_k ]['post_id'];
				$name      = ! empty( $v['is_mobile'] ) ? self::POST_META_MOBILE : self::POST_META;
				$urldecode = is_array( $v['data_vpi'] ) ? array_map( 'urldecode', $v['data_vpi'] ) : urldecode( $v['data_vpi'] );
				self::debug( 'save data_vpi', $urldecode );
				$this->cls( 'Metabox' )->save( $post_id, $name, $urldecode );

				++$valid_i;
			}

			unset( $this->_queue[ $queue_k ] );
			self::debug( 'notify data handled, unset queue [q_k] ' . $queue_k );
		}
		$this->save_queue( 'vpi', $this->_queue );

		self::debug( 'notified' );

		return Cloud::ok( [ 'count' => $valid_i ] );
	}

	/**
	 * Cron entry point.
	 *
	 * @since 4.7
	 *
	 * @param bool $do_continue Continue processing multiple queue items within one cron tick.
	 * @return mixed Result of the handler.
	 */
	public static function cron( $do_continue = false ) {
		$_instance = self::cls();
		return $_instance->_cron_handler( $do_continue );
	}

	/**
	 * Cron queue processor.
	 *
	 * @since 4.7
	 *
	 * @param bool $do_continue Continue processing multiple queue items within one cron tick.
	 * @return void
	 */
	private function _cron_handler( $do_continue = false ) {
		self::debug( 'cron start' );
		$this->_queue = $this->load_queue( 'vpi' );

		if ( empty( $this->_queue ) ) {
			return;
		}

		// For cron, need to check request interval too.
		if ( ! $do_continue ) {
			if ( ! empty( $this->_summary['curr_request_vpi'] ) && time() - (int) $this->_summary['curr_request_vpi'] < 300 && ! $this->conf( self::O_DEBUG ) ) {
				self::debug( 'Last request not done' );
				return;
			}
		}

		$i = 0;
		foreach ( $this->_queue as $k => $v ) {
			if ( ! empty( $v['_status'] ) ) {
				continue;
			}

			self::debug( 'cron job [tag] ' . $k . ' [url] ' . $v['url'] . ( $v['is_mobile'] ? ' 📱 ' : '' ) . ' [UA] ' . $v['user_agent'] );

			++$i;
			$res = $this->_send_req( $v['url'], $k, $v['user_agent'], $v['is_mobile'] );
			if ( ! $res ) {
				// Status is wrong, drop this item from queue.
				$this->_queue = $this->load_queue( 'vpi' );
				unset( $this->_queue[ $k ] );
				$this->save_queue( 'vpi', $this->_queue );

				if ( ! $do_continue ) {
					return;
				}

				GUI::print_loading( count( $this->_queue ), 'VPI' );
				Router::self_redirect( Router::ACTION_VPI, self::TYPE_GEN );
				return;
			}

			// Exit queue if out of quota or service is hot.
			if ( 'out_of_quota' === $res || 'svc_hot' === $res ) {
				return;
			}

			$this->_queue                  = $this->load_queue( 'vpi' );
			$this->_queue[ $k ]['_status'] = 'requested';
			$this->save_queue( 'vpi', $this->_queue );
			self::debug( 'Saved to queue [k] ' . $k );

			// only request first one if not continuing.
			if ( ! $do_continue ) {
				return;
			}

			GUI::print_loading( count( $this->_queue ), 'VPI' );
			Router::self_redirect( Router::ACTION_VPI, self::TYPE_GEN );
			return;
		}
	}

	/**
	 * Send request to QUIC.cloud API to generate VPI.
	 *
	 * @since 4.7
	 * @access private
	 *
	 * @param string $request_url The URL to analyze for VPI.
	 * @param string $queue_k     Queue key for this job.
	 * @param string $user_agent  Sanitized User-Agent string (<=200 chars).
	 * @param bool   $is_mobile   Whether the job is for mobile viewport.
	 * @return bool|string True on queued successfully, 'out_of_quota'/'svc_hot' on throttling, or false on error.
	 */
	private function _send_req( $request_url, $queue_k, $user_agent, $is_mobile ) {
		$svc = Cloud::SVC_VPI;

		// Check if has credit to push or not.
		$err       = false;
		$allowance = $this->cls( 'Cloud' )->allowance( $svc, $err );
		if ( ! $allowance ) {
			self::debug( '❌ No credit: ' . $err );
			$err && Admin_Display::error( Error::msg( $err ) );
			return 'out_of_quota';
		}

		set_time_limit( 120 );

		// Update request status.
		self::save_summary( [ 'curr_request_vpi' => time() ], true );

		// Gather guest HTML to send.
		$html = $this->cls( 'CSS' )->prepare_html( $request_url, $user_agent );

		if ( ! $html ) {
			return false;
		}

		// Parse HTML to gather CSS content before requesting.
		$css                = false;
		list( $css, $html ) = $this->cls( 'CSS' )->prepare_css( $html );

		if ( ! $css ) {
			self::debug( '❌ No css' );
			return false;
		}

		$data = [
			'url'        => $request_url,
			'queue_k'    => $queue_k,
			'user_agent' => $user_agent,
			'is_mobile'  => $is_mobile ? 1 : 0, // todo: compatible w/ tablet.
			'html'       => $html,
			'css'        => $css,
		];
		self::debug( 'Generating: ', $data );

		$json = Cloud::post( $svc, $data, 30 );
		if ( ! is_array( $json ) ) {
			return $json;
		}

		// Unknown status, remove this line.
		if ( 'queued' !== $json['status'] ) {
			return false;
		}

		// Save summary data.
		self::reload_summary();
		$this->_summary['last_spent_vpi']   = time() - (int) $this->_summary['curr_request_vpi'];
		$this->_summary['last_request_vpi'] = $this->_summary['curr_request_vpi'];
		$this->_summary['curr_request_vpi'] = 0;
		self::save_summary();

		return true;
	}

	/**
	 * Handle all request actions from main controller.
	 *
	 * @since 4.7
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_GEN:
            self::cron( true );
				break;

			case self::TYPE_CLEAR_Q:
            $this->clear_q( 'vpi' );
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\�vWn:n: litespeed-cache/src/root.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The abstract instance
 *
 * @since       3.0
 */

namespace LiteSpeed;

defined('WPINC') || exit();

abstract class Root {

	const CONF_FILE = '.litespeed_conf.dat';
	// Instance set
	private static $_instances;

	private static $_options         = array();
	private static $_const_options   = array();
	private static $_primary_options = array();
	private static $_network_options = array();

	/**
	 * Check if need to separate ccss for mobile
	 *
	 * @since  4.7
	 * @access protected
	 */
	protected function _separate_mobile() {
		return (wp_is_mobile() || apply_filters('litespeed_is_mobile', false)) && $this->conf(Base::O_CACHE_MOBILE);
	}

	/**
	 * Log an error message
	 *
	 * @since 7.0
	 */
	public static function debugErr( $msg, $backtrace_limit = false ) {
		$msg = '❌ ' . $msg;
		self::debug($msg, $backtrace_limit);
	}

	/**
	 * Log a debug message.
	 *
	 * @since  4.4
	 * @access public
	 */
	public static function debug( $msg, $backtrace_limit = false ) {
		if (!defined('LSCWP_LOG')) {
			return;
		}

		if (defined('static::LOG_TAG')) {
			$msg = static::LOG_TAG . '  ' . $msg;
		}

		Debug2::debug($msg, $backtrace_limit);
	}

	/**
	 * Log an advanced debug message.
	 *
	 * @since  4.4
	 * @access public
	 */
	public static function debug2( $msg, $backtrace_limit = false ) {
		if (!defined('LSCWP_LOG_MORE')) {
			return;
		}

		if (defined('static::LOG_TAG')) {
			$msg = static::LOG_TAG . '  ' . $msg;
		}
		Debug2::debug2($msg, $backtrace_limit);
	}

	/**
	 * Check if there is cache folder for that type
	 *
	 * @since  3.0
	 */
	public function has_cache_folder( $type ) {
		$subsite_id = is_multisite() && !is_network_admin() ? get_current_blog_id() : '';

		if (file_exists(LITESPEED_STATIC_DIR . '/' . $type . '/' . $subsite_id)) {
			return true;
		}
		return false;
	}

	/**
	 * Maybe make the cache folder if not existed
	 *
	 * @since 4.4.2
	 */
	protected function _maybe_mk_cache_folder( $type ) {
		if (!$this->has_cache_folder($type)) {
			$subsite_id = is_multisite() && !is_network_admin() ? get_current_blog_id() : '';
			$path       = LITESPEED_STATIC_DIR . '/' . $type . '/' . $subsite_id;
			mkdir($path, 0755, true);
		}
	}

	/**
	 * Delete file-based cache folder for that type
	 *
	 * @since  3.0
	 */
	public function rm_cache_folder( $type ) {
		if (!$this->has_cache_folder($type)) {
			return;
		}

		$subsite_id = is_multisite() && !is_network_admin() ? get_current_blog_id() : '';

		File::rrmdir(LITESPEED_STATIC_DIR . '/' . $type . '/' . $subsite_id);

		// Clear All summary data
		self::save_summary(false, false, true);

		if ($type == 'ccss' || $type == 'ucss') {
			Debug2::debug('[CSS] Cleared ' . $type . ' queue');
		} elseif ($type == 'avatar') {
			Debug2::debug('[Avatar] Cleared ' . $type . ' queue');
		} elseif ($type == 'css' || $type == 'js') {
			return;
		} else {
			Debug2::debug('[' . strtoupper($type) . '] Cleared ' . $type . ' queue');
		}
	}

	/**
	 * Build the static filepath
	 *
	 * @since  4.0
	 */
	protected function _build_filepath_prefix( $type ) {
		$filepath_prefix = '/' . $type . '/';
		if (is_multisite()) {
			$filepath_prefix .= get_current_blog_id() . '/';
		}

		return $filepath_prefix;
	}

	/**
	 * Load current queues from data file
	 *
	 * @since  4.1
	 * @since  4.3 Elevated to root.cls
	 */
	public function load_queue( $type ) {
		$filepath_prefix = $this->_build_filepath_prefix($type);
		$static_path     = LITESPEED_STATIC_DIR . $filepath_prefix . '.litespeed_conf.dat';

		$queue = array();
		if (file_exists($static_path)) {
			$queue = \json_decode(file_get_contents($static_path), true) ?: array();
		}

		return $queue;
	}

	/**
	 * Save current queues to data file
	 *
	 * @since  4.1
	 * @since  4.3 Elevated to root.cls
	 */
	public function save_queue( $type, $list ) {
		$filepath_prefix = $this->_build_filepath_prefix($type);
		$static_path     = LITESPEED_STATIC_DIR . $filepath_prefix . '.litespeed_conf.dat';

		$data = \json_encode($list);

		File::save($static_path, $data, true);
	}

	/**
	 * Clear all waiting queues
	 *
	 * @since  3.4
	 * @since  4.3 Elevated to root.cls
	 */
	public function clear_q( $type, $silent = false ) {
		$filepath_prefix = $this->_build_filepath_prefix($type);
		$static_path     = LITESPEED_STATIC_DIR . $filepath_prefix . '.litespeed_conf.dat';

		if (file_exists($static_path)) {
			$silent = false;
			unlink($static_path);
		}

		if (!$silent) {
			$msg = __('All QUIC.cloud service queues have been cleared.', 'litespeed-cache');
			Admin_Display::success($msg);
		}
	}

	/**
	 * Load an instance or create it if not existed
	 *
	 * @since  4.0
	 */
	public static function cls( $cls = false, $unset = false, $data = false ) {
		if (!$cls) {
			$cls = self::ori_cls();
		}
		$cls = __NAMESPACE__ . '\\' . $cls;

		$cls_tag = strtolower($cls);

		if (!isset(self::$_instances[$cls_tag])) {
			if ($unset) {
				return;
			}

			self::$_instances[$cls_tag] = new $cls($data);
		} elseif ($unset) {
			unset(self::$_instances[$cls_tag]);
			return;
		}

		return self::$_instances[$cls_tag];
	}

	/**
	 * Set one conf or confs
	 */
	public function set_conf( $id, $val = null ) {
		if (is_array($id)) {
			foreach ($id as $k => $v) {
				$this->set_conf($k, $v);
			}
			return;
		}
		self::$_options[$id] = $val;
	}

	/**
	 * Set one primary conf or confs
	 */
	public function set_primary_conf( $id, $val = null ) {
		if (is_array($id)) {
			foreach ($id as $k => $v) {
				$this->set_primary_conf($k, $v);
			}
			return;
		}
		self::$_primary_options[$id] = $val;
	}

	/**
	 * Set one network conf
	 */
	public function set_network_conf( $id, $val = null ) {
		if (is_array($id)) {
			foreach ($id as $k => $v) {
				$this->set_network_conf($k, $v);
			}
			return;
		}
		self::$_network_options[$id] = $val;
	}

	/**
	 * Set one const conf
	 */
	public function set_const_conf( $id, $val ) {
		self::$_const_options[$id] = $val;
	}

	/**
	 * Check if is overwritten by const
	 *
	 * @since  3.0
	 */
	public function const_overwritten( $id ) {
		if (!isset(self::$_const_options[$id]) || self::$_const_options[$id] == self::$_options[$id]) {
			return null;
		}
		return self::$_const_options[$id];
	}

	/**
	 * Check if is overwritten by primary site
	 *
	 * @since  3.2.2
	 */
	public function primary_overwritten( $id ) {
		if (!isset(self::$_primary_options[$id]) || self::$_primary_options[$id] == self::$_options[$id]) {
			return null;
		}

		// Network admin settings is impossible to be overwritten by primary
		if (is_network_admin()) {
			return null;
		}

		return self::$_primary_options[$id];
	}

	/**
	 * Check if is overwritten by filter.
	 *
	 * @since 7.7
	 */
	public function filter_overwritten( $id ) {
		$val_setting = $this->conf($id, true);
		// if setting not found
		if( null === $val_setting ){
			return null;
		}

		$filter_name = 'litespeed_conf_load_option_' . $id;
		$val_filter  = apply_filters($filter_name, $val_setting );

		if ($val_setting === $val_filter) {
			// If the value is the same, return null.
			return null;
		}

		return $val_filter;
	}

	/**
	 * Check if is overwritten by code filter
	 *
	 * @deprecated 7.7 Use general filter_overwritten()
	 * @since  7.4
	 */
	public function deprecated_filter_overwritten( $id ) {
		$cls_admin_display = Admin_Display::$settings_filters;
		// Check if filter name is set.
		if(!isset($cls_admin_display[$id]) || !isset($cls_admin_display[$id]['filter']) || is_array($cls_admin_display[$id]['filter']) ){
			return null;
		}

		$val_setting = $this->conf($id, true);
		// if setting not found
		if( null === $val_setting ){
			$val_setting = '';
		}

		$val_filter = apply_filters($cls_admin_display[$id]['filter'], $val_setting );

		if ($val_setting === $val_filter) {
			// If the value is the same, return null.
			return null;
		}

		return $val_filter;
	}

	/**
	 * Check if is overwritten by $SERVER variable
	 *
	 * @since  7.4
	 */
	public function server_overwritten( $id ) {
		$cls_admin_display = Admin_Display::$settings_filters;
		if(!isset($cls_admin_display[$id]['filter'])){
			return null;
		}

		if(!is_array($cls_admin_display[$id]['filter'])) {
			$cls_admin_display[$id]['filter'] = array( $cls_admin_display[$id]['filter'] );
		}

		foreach( $cls_admin_display[$id]['filter'] as $variable ){
			if(isset($_SERVER[$variable])) {
				return [ $variable , $_SERVER[$variable] ] ;
			}
		}

		return null;
	}

	/**
	 * Get the list of configured options for the blog.
	 *
	 * @since 1.0
	 */
	public function get_options( $ori = false ) {
		if (!$ori) {
			return array_merge(self::$_options, self::$_primary_options, self::$_network_options, self::$_const_options);
		}

		return self::$_options;
	}

	/**
	 * If has a conf or not
	 */
	public function has_conf( $id ) {
		return array_key_exists($id, self::$_options);
	}

	/**
	 * If has a primary conf or not
	 */
	public function has_primary_conf( $id ) {
		return array_key_exists($id, self::$_primary_options);
	}

	/**
	 * If has a network conf or not
	 */
	public function has_network_conf( $id ) {
		return array_key_exists($id, self::$_network_options);
	}

	/**
	 * Get conf
	 */
	public function conf( $id, $ori = false ) {
		if (isset(self::$_options[$id])) {
			if (!$ori) {
				$val = $this->const_overwritten($id);
				if ($val !== null) {
					defined('LSCWP_LOG') && Debug2::debug('[Conf] 🏛️ const option ' . $id . '=' . var_export($val, true));
					return $val;
				}

				$val = $this->primary_overwritten($id); // Network Use primary site settings
				if ($val !== null) {
					return $val;
				}

				$val = $this->filter_overwritten($id);
				if ($val !== null) {
					return $val;
				}
			}

			// Network original value will be in _network_options
			if (!is_network_admin() || !$this->has_network_conf($id)) {
				return self::$_options[$id];
			}
		}

		if ($this->has_network_conf($id)) {
			if (!$ori) {
				$val = $this->const_overwritten($id);
				if ($val !== null) {
					defined('LSCWP_LOG') && Debug2::debug('[Conf] 🏛️ const option ' . $id . '=' . var_export($val, true));
					return $val;
				}
			}

			return $this->network_conf($id);
		}

		defined('LSCWP_LOG') && Debug2::debug('[Conf] Invalid option ID ' . $id);

		return null;
	}

	/**
	 * Get primary conf
	 */
	public function primary_conf( $id ) {
		return self::$_primary_options[$id];
	}

	/**
	 * Get network conf
	 */
	public function network_conf( $id ) {
		if (!$this->has_network_conf($id)) {
			return null;
		}

		return self::$_network_options[$id];
	}

	/**
	 * Get called class short name
	 */
	public static function ori_cls() {
		$cls       = new \ReflectionClass(get_called_class());
		$shortname = $cls->getShortName();
		$namespace = str_replace(__NAMESPACE__ . '\\', '', $cls->getNamespaceName() . '\\');
		if ($namespace) {
			// the left namespace after dropped LiteSpeed
			$shortname = $namespace . $shortname;
		}

		return $shortname;
	}

	/**
	 * Generate conf name for wp_options record
	 *
	 * @since 3.0
	 */
	public static function name( $id ) {
		$name = strtolower(self::ori_cls());
		return 'litespeed.' . $name . '.' . $id;
	}

	/**
	 * Dropin with prefix for WP's get_option
	 *
	 * @since 3.0
	 */
	public static function get_option( $id, $default_v = false ) {
		$v = get_option(self::name($id), $default_v);

		// Maybe decode array
		if (is_array($default_v)) {
			$v = self::_maybe_decode($v);
		}

		return $v;
	}

	/**
	 * Dropin with prefix for WP's get_site_option
	 *
	 * @since 3.0
	 */
	public static function get_site_option( $id, $default_v = false ) {
		$v = get_site_option(self::name($id), $default_v);

		// Maybe decode array
		if (is_array($default_v)) {
			$v = self::_maybe_decode($v);
		}

		return $v;
	}

	/**
	 * Dropin with prefix for WP's get_blog_option
	 *
	 * @since 3.0
	 */
	public static function get_blog_option( $blog_id, $id, $default_v = false ) {
		$v = get_blog_option($blog_id, self::name($id), $default_v);

		// Maybe decode array
		if (is_array($default_v)) {
			$v = self::_maybe_decode($v);
		}

		return $v;
	}

	/**
	 * Dropin with prefix for WP's add_option
	 *
	 * @since 3.0
	 */
	public static function add_option( $id, $v ) {
		add_option(self::name($id), self::_maybe_encode($v));
	}

	/**
	 * Dropin with prefix for WP's add_site_option
	 *
	 * @since 3.0
	 */
	public static function add_site_option( $id, $v ) {
		add_site_option(self::name($id), self::_maybe_encode($v));
	}

	/**
	 * Dropin with prefix for WP's update_option
	 *
	 * @since 3.0
	 */
	public static function update_option( $id, $v ) {
		update_option(self::name($id), self::_maybe_encode($v));
	}

	/**
	 * Dropin with prefix for WP's update_site_option
	 *
	 * @since 3.0
	 */
	public static function update_site_option( $id, $v ) {
		update_site_option(self::name($id), self::_maybe_encode($v));
	}

	/**
	 * Decode an array
	 *
	 * @since  4.0
	 */
	private static function _maybe_decode( $v ) {
		if (!is_array($v)) {
			$v2 = \json_decode($v, true);
			if ($v2 !== null) {
				$v = $v2;
			}
		}
		return $v;
	}

	/**
	 * Encode an array
	 *
	 * @since  4.0
	 */
	private static function _maybe_encode( $v ) {
		if (is_array($v)) {
			$v = \json_encode($v) ?: $v; // Non utf-8 encoded value will get failed, then used ori value
		}
		return $v;
	}

	/**
	 * Dropin with prefix for WP's delete_option
	 *
	 * @since 3.0
	 */
	public static function delete_option( $id ) {
		delete_option(self::name($id));
	}

	/**
	 * Dropin with prefix for WP's delete_site_option
	 *
	 * @since 3.0
	 */
	public static function delete_site_option( $id ) {
		delete_site_option(self::name($id));
	}

	/**
	 * Read summary
	 *
	 * @since  3.0
	 * @access public
	 */
	public static function get_summary( $field = false ) {
		$summary = self::get_option('_summary', array());

		if (!is_array($summary)) {
			$summary = array();
		}

		if (!$field) {
			return $summary;
		}

		if (array_key_exists($field, $summary)) {
			return $summary[$field];
		}

		return null;
	}

	/**
	 * Save summary
	 *
	 * @since  3.0
	 * @access public
	 */
	public static function save_summary( $data = false, $reload = false, $overwrite = false ) {
		if ($reload || empty(static::cls()->_summary)) {
			self::reload_summary();
		}

		$existing_summary = static::cls()->_summary;
		if ($overwrite || !is_array($existing_summary)) {
			$existing_summary = array();
		}
		$new_summary = array_merge($existing_summary, $data ?: array());
		// self::debug2('Save after Reloaded summary', $new_summary);
		static::cls()->_summary = $new_summary;

		self::update_option('_summary', $new_summary);
	}

	/**
	 * Reload summary
	 *
	 * @since 5.0
	 */
	public static function reload_summary() {
		static::cls()->_summary = self::get_summary();
		// self::debug2( 'Reloaded summary', static::cls()->_summary );
	}

	/**
	 * Get the current instance object. To be inherited.
	 *
	 * @since 3.0
	 */
	public static function get_instance() {
		return static::cls();
	}
}
PK�^�\����t)t)litespeed-cache/src/api.cls.phpnu�[���<?php
/**
 * The plugin API class.
 *
 * @since       1.1.3
 * @package     LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class API
 *
 * Provides API hooks and methods for LiteSpeed Cache integration.
 *
 * @since 1.1.3
 */
class API extends Base {

	const VERSION = Core::VER;

	const TYPE_FEED                    = Tag::TYPE_FEED;
	const TYPE_FRONTPAGE               = Tag::TYPE_FRONTPAGE;
	const TYPE_HOME                    = Tag::TYPE_HOME;
	const TYPE_PAGES                   = Tag::TYPE_PAGES;
	const TYPE_PAGES_WITH_RECENT_POSTS = Tag::TYPE_PAGES_WITH_RECENT_POSTS;
	const TYPE_HTTP                    = Tag::TYPE_HTTP;
	const TYPE_ARCHIVE_POSTTYPE        = Tag::TYPE_ARCHIVE_POSTTYPE;
	const TYPE_ARCHIVE_TERM            = Tag::TYPE_ARCHIVE_TERM;
	const TYPE_AUTHOR                  = Tag::TYPE_AUTHOR;
	const TYPE_ARCHIVE_DATE            = Tag::TYPE_ARCHIVE_DATE;
	const TYPE_BLOG                    = Tag::TYPE_BLOG;
	const TYPE_LOGIN                   = Tag::TYPE_LOGIN;
	const TYPE_URL                     = Tag::TYPE_URL;

	const TYPE_ESI = Tag::TYPE_ESI;

	const PARAM_NAME         = ESI::PARAM_NAME;
	const WIDGET_O_ESIENABLE = ESI::WIDGET_O_ESIENABLE;
	const WIDGET_O_TTL       = ESI::WIDGET_O_TTL;

	/**
	 * Instance
	 *
	 * Initializes the API class.
	 *
	 * @since  3.0
	 */
	public function __construct() {
	}

	/**
	 * Define hooks to be used in other plugins.
	 *
	 * The benefit to use hooks other than functions is no need to detach if LSCWP enabled and function existed or not anymore
	 *
	 * @since  3.0
	 */
	public function init() {
		/**
		 * Init
		 */
		// Action `litespeed_init`

		/**
		 * Conf
		 */
		add_filter( 'litespeed_conf', [ $this, 'conf' ] );
		// Action `litespeed_conf_append`
		add_action( 'litespeed_conf_multi_switch', __NAMESPACE__ . '\Base::set_multi_switch', 10, 2 );
		// Action `litespeed_conf_force`
		add_action( 'litespeed_save_conf', [ $this, 'save_conf' ] );

		/**
		 * Cache Control Hooks
		 */
		// Action `litespeed_control_finalize`
		add_action( 'litespeed_control_set_private', __NAMESPACE__ . '\Control::set_private' );
		add_action( 'litespeed_control_set_nocache', __NAMESPACE__ . '\Control::set_nocache' );
		add_action( 'litespeed_control_set_cacheable', [ $this, 'set_cacheable' ] );
		add_action( 'litespeed_control_force_cacheable', __NAMESPACE__ . '\Control::force_cacheable' );
		add_action( 'litespeed_control_force_public', __NAMESPACE__ . '\Control::set_public_forced' );
		add_filter( 'litespeed_control_cacheable', __NAMESPACE__ . '\Control::is_cacheable', 3 );
		add_action( 'litespeed_control_set_ttl', __NAMESPACE__ . '\Control::set_custom_ttl', 10, 2 );
		add_filter( 'litespeed_control_ttl', [ $this, 'get_ttl' ], 3 );

		/**
		 * Tag Hooks
		 */
		// Action `litespeed_tag_finalize`
		add_action( 'litespeed_tag', __NAMESPACE__ . '\Tag::add' );
		add_action( 'litespeed_tag_post', __NAMESPACE__ . '\Tag::add_post' );
		add_action( 'litespeed_tag_widget', __NAMESPACE__ . '\Tag::add_widget' );
		add_action( 'litespeed_tag_private', __NAMESPACE__ . '\Tag::add_private' );
		add_action( 'litespeed_tag_private_esi', __NAMESPACE__ . '\Tag::add_private_esi' );

		add_action( 'litespeed_tag_add', __NAMESPACE__ . '\Tag::add' );
		add_action( 'litespeed_tag_add_post', __NAMESPACE__ . '\Tag::add_post' );
		add_action( 'litespeed_tag_add_widget', __NAMESPACE__ . '\Tag::add_widget' );
		add_action( 'litespeed_tag_add_private', __NAMESPACE__ . '\Tag::add_private' );
		add_action( 'litespeed_tag_add_private_esi', __NAMESPACE__ . '\Tag::add_private_esi' );

		/**
		 * Purge Hooks
		 */
		// Action `litespeed_purge_finalize`
		add_action( 'litespeed_purge', __NAMESPACE__ . '\Purge::add' );
		add_action( 'litespeed_purge_all', __NAMESPACE__ . '\Purge::purge_all' );
		add_action( 'litespeed_purge_post', [ $this, 'purge_post' ] );
		add_action( 'litespeed_purge_posttype', __NAMESPACE__ . '\Purge::purge_posttype' );
		add_action( 'litespeed_purge_url', [ $this, 'purge_url' ] );
		add_action( 'litespeed_purge_widget', __NAMESPACE__ . '\Purge::purge_widget' );
		add_action( 'litespeed_purge_esi', __NAMESPACE__ . '\Purge::purge_esi' );
		add_action( 'litespeed_purge_private', __NAMESPACE__ . '\Purge::add_private' );
		add_action( 'litespeed_purge_private_esi', __NAMESPACE__ . '\Purge::add_private_esi' );
		add_action( 'litespeed_purge_private_all', __NAMESPACE__ . '\Purge::add_private_all' );
		// Action `litespeed_api_purge_post`
		// Action `litespeed_purged_all`
		add_action( 'litespeed_purge_all_object', __NAMESPACE__ . '\Purge::purge_all_object' );
		add_action( 'litespeed_purge_ucss', __NAMESPACE__ . '\Purge::purge_ucss' );

		/**
		 * ESI
		 */
		// Action `litespeed_nonce`
		add_filter( 'litespeed_esi_status', [ $this, 'esi_enabled' ] );
		add_filter( 'litespeed_esi_url', [ $this, 'sub_esi_block' ], 10, 8 ); // Generate ESI block url
		// Filter `litespeed_widget_default_options` // Hook widget default settings value. Currently used in Woo 3rd
		// Filter `litespeed_esi_params`
		// Action `litespeed_tpl_normal`
		// Action `litespeed_esi_load-$block` // @usage add_action( 'litespeed_esi_load-' . $block, $hook )
		add_action( 'litespeed_esi_combine', __NAMESPACE__ . '\ESI::combine' );

		/**
		 * Vary
		 *
		 * To modify default vary, There are two ways: Action `litespeed_vary_append` or Filter `litespeed_vary`
		 */
		add_action( 'litespeed_vary_ajax_force', __NAMESPACE__ . '\Vary::can_ajax_vary' ); // Force finalize vary even if its in an AJAX call
		// Filter `litespeed_vary_curr_cookies` to generate current in use vary, which will be used for response vary header.
		// Filter `litespeed_vary_cookies` to register the final vary cookies, which will be written to rewrite rule. (litespeed_vary_curr_cookies are always equal to or less than litespeed_vary_cookies)
		// Filter `litespeed_vary`
		add_action( 'litespeed_vary_no', __NAMESPACE__ . '\Control::set_no_vary' );

		/**
		 * Cloud
		 */
		add_filter( 'litespeed_is_from_cloud', [ $this, 'is_from_cloud' ] ); // Check if current request is from QC (usually its to check REST access) // @see https://wordpress.org/support/topic/image-optimization-not-working-3/

		/**
		 * Media
		 */
		add_action( 'litespeed_media_reset', __NAMESPACE__ . '\Media::delete_attachment' );

		/**
		 * GUI
		 */
		add_filter( 'litespeed_clean_wrapper_begin', __NAMESPACE__ . '\GUI::clean_wrapper_begin' );
		add_filter( 'litespeed_clean_wrapper_end', __NAMESPACE__ . '\GUI::clean_wrapper_end' );

		/**
		 * Misc
		 */
		add_action( 'litespeed_debug', __NAMESPACE__ . '\Debug2::debug', 10, 2 );
		add_action( 'litespeed_debug2', __NAMESPACE__ . '\Debug2::debug2', 10, 2 );
		add_action( 'litespeed_disable_all', [ $this, 'disable_all' ] );

		add_action( 'litespeed_after_admin_init', [ $this, 'after_admin_init' ] );
	}

	/**
	 * API for admin related
	 *
	 * Registers hooks for admin settings and UI elements.
	 *
	 * @since  3.0
	 * @access public
	 */
	public function after_admin_init() {
		/**
		 * GUI
		 */
		add_action( 'litespeed_setting_enroll', [ $this->cls( 'Admin_Display' ), 'enroll' ], 10, 4 );
		add_action( 'litespeed_build_switch', [ $this->cls( 'Admin_Display' ), 'build_switch' ] );
		// Action `litespeed_settings_content`
		// Action `litespeed_settings_tab`
	}

	/**
	 * Disable All
	 *
	 * Disables all LiteSpeed Cache features with a given reason.
	 *
	 * @since 2.9.7.2
	 * @access public
	 * @param string $reason The reason for disabling all features.
	 */
	public function disable_all( $reason ) {
		do_action( 'litespeed_debug', '[API] Disabled_all due to ' . $reason );

		! defined( 'LITESPEED_DISABLE_ALL' ) && define( 'LITESPEED_DISABLE_ALL', true );
	}

	/**
	 * Append commenter vary
	 *
	 * Adds commenter vary to the cache vary cookies.
	 *
	 * @since 3.0
	 * @access public
	 */
	public static function vary_append_commenter() {
		Vary::cls()->append_commenter();
	}

	/**
	 * Check if is from Cloud
	 *
	 * Checks if the current request originates from QUIC.cloud.
	 *
	 * @since 4.2
	 * @access public
	 * @return bool True if from QUIC.cloud, false otherwise.
	 */
	public function is_from_cloud() {
		return $this->cls( 'Cloud' )->is_from_cloud();
	}

	/**
	 * Purge post
	 *
	 * Purges the cache for a specific post.
	 *
	 * @since 3.0
	 * @access public
	 * @param int $pid Post ID to purge.
	 */
	public function purge_post( $pid ) {
		$this->cls( 'Purge' )->purge_post( $pid );
	}

	/**
	 * Purge URL
	 *
	 * Purges the cache for a specific URL.
	 *
	 * @since 3.0
	 * @access public
	 * @param string $url URL to purge.
	 */
	public function purge_url( $url ) {
		$this->cls( 'Purge' )->purge_url( $url );
	}

	/**
	 * Set cacheable
	 *
	 * Marks the current request as cacheable.
	 *
	 * @since 3.0
	 * @access public
	 * @param string|bool $reason Optional reason for setting cacheable.
	 */
	public function set_cacheable( $reason = false ) {
		$this->cls( 'Control' )->set_cacheable( $reason );
	}

	/**
	 * Check ESI enabled
	 *
	 * Returns whether ESI is enabled.
	 *
	 * @since 3.0
	 * @access public
	 * @return bool True if ESI is enabled, false otherwise.
	 */
	public function esi_enabled() {
		return $this->cls( 'Router' )->esi_enabled();
	}

	/**
	 * Get TTL
	 *
	 * Retrieves the cache TTL (time to live).
	 *
	 * @since 3.0
	 * @access public
	 * @return int Cache TTL value.
	 */
	public function get_ttl() {
		return $this->cls( 'Control' )->get_ttl();
	}

	/**
	 * Generate ESI block URL
	 *
	 * Generates a URL for an ESI block.
	 *
	 * @since 3.0
	 * @access public
	 * @param string $block_id    ESI block ID.
	 * @param string $wrapper     Wrapper identifier.
	 * @param array  $params      Parameters for the ESI block.
	 * @param string $control     Cache control settings.
	 * @param bool   $silence     Silence output flag.
	 * @param bool   $preserved   Preserved flag.
	 * @param bool   $svar        Server variable flag.
	 * @param array  $inline_param Inline parameters.
	 * @return string ESI block URL.
	 */
	public function sub_esi_block(
		$block_id,
		$wrapper,
		$params = [],
		$control = 'private,no-vary',
		$silence = false,
		$preserved = false,
		$svar = false,
		$inline_param = []
	) {
		return $this->cls( 'ESI' )->sub_esi_block( $block_id, $wrapper, $params, $control, $silence, $preserved, $svar, $inline_param );
	}

	/**
	 * Set and sync conf
	 *
	 * Updates and synchronizes configuration settings.
	 *
	 * @since 7.2
	 * @access public
	 * @param bool|array $the_matrix Configuration data to update.
	 */
	public function save_conf( $the_matrix = false ) {
		$this->cls( 'Conf' )->update_confs( $the_matrix );
	}
}
PK�^�\�+8�zz"litespeed-cache/src/report.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The report class
 *
 * @since      1.1.0
 * @package    LiteSpeed
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class Report extends Base {

	const TYPE_SEND_REPORT = 'send_report';

	/**
	 * Handle all request actions from main cls
	 *
	 * @since  1.6.5
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ($type) {
			case self::TYPE_SEND_REPORT:
            $this->post_env();
				break;

			default:
				break;
		}

		Admin::redirect();
	}

	/**
	 * post env report number to ls center server
	 *
	 * @since  1.6.5
	 * @access public
	 */
	public function post_env() {
		$report_con = $this->generate_environment_report();

		// Generate link
		$link = !empty($_POST['link']) ? esc_url($_POST['link']) : '';

		$notes = !empty($_POST['notes']) ? esc_html($_POST['notes']) : '';

		$php_info   = !empty($_POST['attach_php']) ? esc_html($_POST['attach_php']) : '';
		$report_php = $php_info === '1' ? $this->generate_php_report() : '';

		if ($report_php) {
			$report_con .= "\nPHPINFO\n" . $report_php;
		}

		$data = array(
			'env' => $report_con,
			'link' => $link,
			'notes' => $notes,
		);

		$json = Cloud::post(Cloud::API_REPORT, $data);
		if (!is_array($json)) {
			return;
		}

		$num     = !empty($json['num']) ? $json['num'] : '--';
		$summary = array(
			'num' => $num,
			'dateline' => time(),
		);

		self::save_summary($summary);

		return $num;
	}

	/**
	 * Gathers the PHP information.
	 *
	 * @since 7.0
	 * @access public
	 */
	public function generate_php_report( $flags = INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES ) {
		// INFO_ENVIRONMENT
		$report = '';

		ob_start();
		phpinfo($flags);
		$report = ob_get_contents();
		ob_end_clean();

		preg_match('%<style type="text/css">(.*?)</style>.*?<body>(.*?)</body>%s', $report, $report);

		return $report[2];
	}

	/**
	 * Gathers the environment details and creates the report.
	 * Will write to the environment report file.
	 *
	 * @since 1.0.12
	 * @access public
	 */
	public function generate_environment_report( $options = null ) {
		global $wp_version, $_SERVER;
		$frontend_htaccess = Htaccess::get_frontend_htaccess();
		$backend_htaccess  = Htaccess::get_backend_htaccess();
		$paths             = array( $frontend_htaccess );
		if ($frontend_htaccess != $backend_htaccess) {
			$paths[] = $backend_htaccess;
		}

		if (is_multisite()) {
			$active_plugins = get_site_option('active_sitewide_plugins');
			if (!empty($active_plugins)) {
				$active_plugins = array_keys($active_plugins);
			}
		} else {
			$active_plugins = get_option('active_plugins');
		}

		if (function_exists('wp_get_theme')) {
			$theme_obj    = wp_get_theme();
			$active_theme = $theme_obj->get('Name');
		} else {
			$active_theme = get_current_theme();
		}

		$extras = array(
			'wordpress version' => $wp_version,
			'siteurl' => get_option('siteurl'),
			'home' => get_option('home'),
			'home_url' => home_url(),
			'locale' => get_locale(),
			'active theme' => $active_theme,
		);

		$extras['active plugins'] = $active_plugins;
		$extras['cloud']          = Cloud::get_summary();
		foreach (array( 'mini_html', 'pk_b64', 'sk_b64', 'cdn_dash', 'ips' ) as $v) {
			if (!empty($extras['cloud'][$v])) {
				unset($extras['cloud'][$v]);
			}
		}

		if (is_null($options)) {
			$options = $this->get_options(true);

			if (is_multisite()) {
				$options2 = $this->get_options();
				foreach ($options2 as $k => $v) {
					if (isset($options[$k]) && $options[$k] !== $v) {
						$options['[Overwritten] ' . $k] = $v;
					}
				}
			}
		}

		if (!is_null($options) && is_multisite()) {
			$blogs = Activation::get_network_ids();
			if (!empty($blogs)) {
				$i = 0;
				foreach ($blogs as $blog_id) {
					if (++$i > 3) {
						// Only log 3 subsites
						break;
					}
					$opts = $this->cls('Conf')->load_options($blog_id, true);
					if (isset($opts[self::O_CACHE])) {
						$options['blog ' . $blog_id . ' radio select'] = $opts[self::O_CACHE];
					}
				}
			}
		}

		// Security: Remove cf key in report
		$secure_fields = array( self::O_CDN_CLOUDFLARE_KEY, self::O_OBJECT_PSWD );
		foreach ($secure_fields as $v) {
			if (!empty($options[$v])) {
				$options[$v] = str_repeat('*', strlen($options[$v]));
			}
		}

		$report = $this->build_environment_report($_SERVER, $options, $extras, $paths);
		return $report;
	}

	/**
	 * Builds the environment report buffer with the given parameters
	 *
	 * @access private
	 */
	private function build_environment_report( $server, $options, $extras = array(), $htaccess_paths = array() ) {
		$server_keys   = array(
			'DOCUMENT_ROOT' => '',
			'SERVER_SOFTWARE' => '',
			'X-LSCACHE' => '',
			'HTTP_X_LSCACHE' => '',
		);
		$server_vars   = array_intersect_key($server, $server_keys);
		$server_vars[] = 'LSWCP_TAG_PREFIX = ' . LSWCP_TAG_PREFIX;

		$server_vars = array_merge($server_vars, $this->cls('Base')->server_vars());

		$buf = $this->_format_report_section('Server Variables', $server_vars);

		$buf .= $this->_format_report_section('WordPress Specific Extras', $extras);

		$buf .= $this->_format_report_section('LSCache Plugin Options', $options);

		if (empty($htaccess_paths)) {
			return $buf;
		}

		foreach ($htaccess_paths as $path) {
			if (!file_exists($path) || !is_readable($path)) {
				$buf .= $path . " does not exist or is not readable.\n";
				continue;
			}

			$content = file_get_contents($path);
			if ($content === false) {
				$buf .= $path . " returned false for file_get_contents.\n";
				continue;
			}
			$buf .= $path . " contents:\n" . $content . "\n\n";
		}
		return $buf;
	}

	/**
	 * Creates a part of the environment report based on a section header and an array for the section parameters.
	 *
	 * @since 1.0.12
	 * @access private
	 */
	private function _format_report_section( $section_header, $section ) {
		$tab = '    '; // four spaces

		if (empty($section)) {
			return 'No matching ' . $section_header . "\n\n";
		}
		$buf = $section_header;

		foreach ($section as $k => $v) {
			$buf .= "\n" . $tab;

			if (!is_numeric($k)) {
				$buf .= $k . ' = ';
			}

			if (!is_string($v)) {
				$v = var_export($v, true);
			} else {
				$v = esc_html($v);
			}

			$buf .= $v;
		}
		return $buf . "\n\n";
	}
}
PK�^�\mh�F�Flitespeed-cache/src/css.cls.phpnu�[���<?php
/**
 * Optimize CSS handler.
 *
 * @package LiteSpeed
 * @since   2.3
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Optimize CSS handler class.
 */
class CSS extends Base {

	const LOG_TAG = '[CSS]';

	const TYPE_GEN_CCSS     = 'gen_ccss';
	const TYPE_CLEAR_Q_CCSS = 'clear_q_ccss';

	/**
	 * Summary cache.
	 *
	 * @var array
	 */
	protected $_summary;

	/**
	 * Cached CCSS whitelist.
	 *
	 * @var array|null
	 */
	private $_ccss_whitelist;

	/**
	 * Request queue.
	 *
	 * @var array
	 */
	private $_queue;

	/**
	 * Init.
	 *
	 * @since  3.0
	 */
	public function __construct() {
		$this->_summary = self::get_summary();

		add_filter( 'litespeed_ccss_whitelist', [ $this->cls( 'Data' ), 'load_ccss_whitelist' ] );
	}

	/**
	 * HTML lazyload CSS.
	 *
	 * @since 4.0
	 * @return string
	 */
	public function prepare_html_lazy() {
		return '<style>' . implode( ',', $this->conf( self::O_OPTM_HTML_LAZY ) ) . '{content-visibility:auto;contain-intrinsic-size:1px 1000px;}</style>';
	}

	/**
	 * Output critical CSS.
	 *
	 * @since  1.3
	 * @access public
	 * @return string|null
	 */
	public function prepare_ccss() {
		// Get critical css for current page
		// Note: need to consider mobile
		$rules = $this->_ccss();
		if ( ! $rules ) {
			return null;
		}

		$error_tag = '';
		if ( substr( $rules, 0, 2 ) === '/*' && substr( $rules, -2 ) === '*/' ) {
			Core::comment( 'QUIC.cloud CCSS bypassed due to generation error ❌' );
			$error_tag = ' data-error="failed to generate"';
		}

		// Append default critical css
		$rules .= $this->conf( self::O_OPTM_CCSS_CON );

		return '<style id="litespeed-ccss"' . $error_tag . '>' . $rules . '</style>';
	}

	/**
	 * Generate CCSS url tag.
	 *
	 * @since 4.0
	 * @param string $request_url Current request URL.
	 * @return string
	 */
	private function _gen_ccss_file_tag( $request_url ) {
		if ( is_404() ) {
			return '404';
		}

		if ( $this->conf( self::O_OPTM_CCSS_PER_URL ) ) {
			return $request_url;
		}

		$sep_uri = $this->conf( self::O_OPTM_CCSS_SEP_URI );
		$hit     = false;
		if ( $sep_uri ) {
			$hit = Utility::str_hit_array( $request_url, $sep_uri );
		}
		if ( $sep_uri && $hit ) {
			Debug2::debug( '[CCSS] Separate CCSS due to separate URI setting: ' . $hit );
			return $request_url;
		}

		$pt = Utility::page_type();

		$sep_pt = $this->conf( self::O_OPTM_CCSS_SEP_POSTTYPE );
		if ( in_array( $pt, $sep_pt, true ) ) {
			Debug2::debug( '[CCSS] Separate CCSS due to posttype setting: ' . $pt );
			return $request_url;
		}

		// Per posttype
		return $pt;
	}

	/**
	 * The critical css content of the current page.
	 *
	 * @since  2.3
	 * @return string|null
	 */
	private function _ccss() {
		global $wp;

		// get current request url
		$permalink_structure = get_option( 'permalink_structure' );
		if ( ! empty( $permalink_structure ) ) {
			$request_url = trailingslashit( home_url( $wp->request ) );
		} else {
			$qs_add      = $wp->query_string ? '?' . (string) $wp->query_string : '' ;
			$request_url = home_url( $wp->request ) . $qs_add;
		}

		$filepath_prefix = $this->_build_filepath_prefix( 'ccss' );
		$url_tag         = $this->_gen_ccss_file_tag( $request_url );
		$vary            = $this->cls( 'Vary' )->finalize_full_varies();
		$filename        = $this->cls( 'Data' )->load_url_file( $url_tag, $vary, 'ccss' );
		if ( $filename ) {
			$static_file = LITESPEED_STATIC_DIR . $filepath_prefix . $filename . '.css';

			if ( file_exists( $static_file ) ) {
				Debug2::debug2( '[CSS] existing ccss ' . $static_file );
				Core::comment( 'QUIC.cloud CCSS loaded ✅ ' . $filepath_prefix . $filename . '.css' );
				return File::read( $static_file );
			}
		}

		$uid = get_current_user_id();

		$ua = isset( $_SERVER['HTTP_USER_AGENT'] )
			? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) )
			: '';

		// Store it to prepare for cron
		Core::comment( 'QUIC.cloud CCSS in queue' );
		$this->_queue = $this->load_queue( 'ccss' );

		if ( count( $this->_queue ) > 500 ) {
			self::debug( 'CCSS Queue is full - 500' );
			return null;
		}

		$queue_k                  = ( strlen( $vary ) > 32 ? md5( $vary ) : $vary ) . ' ' . $url_tag;
		$this->_queue[ $queue_k ] = [
			'url'        => apply_filters( 'litespeed_ccss_url', $request_url ),
			'user_agent' => substr( $ua, 0, 200 ),
			'is_mobile'  => $this->_separate_mobile(),
			'is_webp'    => $this->cls( 'Media' )->webp_support() ? 1 : 0,
			'uid'        => $uid,
			'vary'       => $vary,
			'url_tag'    => $url_tag,
		]; // Current UA will be used to request
		$this->save_queue( 'ccss', $this->_queue );
		self::debug( 'Added queue_ccss [url_tag] ' . $url_tag . ' [UA] ' . $ua . ' [vary] ' . $vary . ' [uid] ' . $uid );

		// Prepare cache tag for later purge
		Tag::add( 'CCSS.' . md5( $queue_k ) );

		return null;
	}

	/**
	 * Cron ccss generation.
	 *
	 * @since  2.3
	 * @access private
	 *
	 * @param bool $should_continue Continue processing multiple items.
	 * @return mixed
	 */
	public static function cron_ccss( $should_continue = false ) {
		$_instance = self::cls();
		return $_instance->_cron_handler( 'ccss', $should_continue );
	}

	/**
	 * Handle UCSS/CCSS cron.
	 *
	 * @since 4.2
	 *
	 * @param string $type            Job type: 'ccss' or 'ucss'.
	 * @param bool   $should_continue Continue processing multiple items.
	 * @return void
	 */
	private function _cron_handler( $type, $should_continue ) {
		$this->_queue = $this->load_queue( $type );

		if ( empty( $this->_queue ) ) {
			return;
		}

		$type_tag = strtoupper( $type );

		// For cron, need to check request interval too
		if ( ! $should_continue ) {
			if ( ! empty( $this->_summary[ 'curr_request_' . $type ] ) && time() - (int) $this->_summary[ 'curr_request_' . $type ] < 300 && ! $this->conf( self::O_DEBUG ) ) {
				Debug2::debug( '[' . $type_tag . '] Last request not done' );
				return;
			}
		}

		$i = 0;
		foreach ( $this->_queue as $k => $v ) {
			if ( ! empty( $v['_status'] ) ) {
				continue;
			}

			Debug2::debug( '[' . $type_tag . '] cron job [tag] ' . $k . ' [url] ' . $v['url'] . ( $v['is_mobile'] ? ' 📱 ' : '' ) . ' [UA] ' . $v['user_agent'] );

			if ( 'ccss' === $type && empty( $v['url_tag'] ) ) {
				unset( $this->_queue[ $k ] );
				$this->save_queue( $type, $this->_queue );
				Debug2::debug( '[CCSS] wrong queue_ccss format' );
				continue;
			}

			if ( ! isset( $v['is_webp'] ) ) {
				$v['is_webp'] = false;
			}

			++$i;
			$res = $this->_send_req( $v['url'], $k, $v['uid'], $v['user_agent'], $v['vary'], $v['url_tag'], $type, $v['is_mobile'], $v['is_webp'] );
			if ( ! $res ) {
				// Status is wrong, drop this this->_queue
				unset( $this->_queue[ $k ] );
				$this->save_queue( $type, $this->_queue );

				if ( ! $should_continue ) {
					return;
				}

				if ( $i > 3 ) {
					GUI::print_loading( count( $this->_queue ), $type_tag );
					return Router::self_redirect( Router::ACTION_CSS, self::TYPE_GEN_CCSS );
				}

				continue;
			}

			// Exit queue if out of quota or service is hot
			if ( 'out_of_quota' === $res || 'svc_hot' === $res ) {
				return;
			}

			$this->_queue[ $k ]['_status'] = 'requested';
			$this->save_queue( $type, $this->_queue );

			// only request first one
			if ( ! $should_continue ) {
				return;
			}

			if ( $i > 3 ) {
				GUI::print_loading( count( $this->_queue ), $type_tag );
				return Router::self_redirect( Router::ACTION_CSS, self::TYPE_GEN_CCSS );
			}
		}
	}

	/**
	 * Send to QC API to generate CCSS/UCSS.
	 *
	 * @since  2.3
	 * @access private
	 *
	 * @param string $request_url Request URL.
	 * @param string $queue_k     Queue key.
	 * @param int    $uid         WP User ID.
	 * @param string $user_agent  User agent string.
	 * @param string $vary        Vary string.
	 * @param string $url_tag     URL tag.
	 * @param string $type        Type: 'ccss' or 'ucss'.
	 * @param bool   $is_mobile   Is mobile.
	 * @param bool   $is_webp     Has webp support.
	 * @return bool|string True on success, 'out_of_quota' / 'svc_hot' on special cases, false on failure.
	 */
	private function _send_req( $request_url, $queue_k, $uid, $user_agent, $vary, $url_tag, $type, $is_mobile, $is_webp ) {
		// Check if has credit to push or not
		$err       = false;
		$allowance = $this->cls( 'Cloud' )->allowance( Cloud::SVC_CCSS, $err );
		if ( ! $allowance ) {
			Debug2::debug( '[CCSS] ❌ No credit: ' . $err );
			$err && Admin_Display::error( Error::msg( $err ) );
			return 'out_of_quota';
		}

		set_time_limit( 120 );

		// Update css request status
		$this->_summary[ 'curr_request_' . $type ] = time();
		self::save_summary();

		// Gather guest HTML to send
		$html = $this->prepare_html( $request_url, $user_agent, $uid );

		if ( ! $html ) {
			return false;
		}

		// Parse HTML to gather all CSS content before requesting
		list( $css, $html ) = $this->prepare_css( $html, $is_webp );

		if ( ! $css ) {
			$type_tag = strtoupper( $type );
			Debug2::debug( '[' . $type_tag . '] ❌ No combined css' );
			return false;
		}

		// Generate critical css
		$data = [
			'url'        => $request_url,
			'queue_k'    => $queue_k,
			'user_agent' => $user_agent,
			'is_mobile'  => $is_mobile ? 1 : 0, // todo:compatible w/ tablet
			'is_webp'    => $is_webp ? 1 : 0,
			'html'       => $html,
			'css'        => $css,
		];
		if ( ! isset( $this->_ccss_whitelist ) ) {
			$this->_ccss_whitelist = $this->_filter_whitelist();
		}
		$data['whitelist'] = $this->_ccss_whitelist;

		self::debug( 'Generating: ', $data );

		$json = Cloud::post( Cloud::SVC_CCSS, $data, 30 );
		if ( ! is_array( $json ) ) {
			return $json;
		}

		// Old version compatibility
		if ( empty( $json['status'] ) ) {
			if ( ! empty( $json[ $type ] ) ) {
				$this->_save_con( $type, $json[ $type ], $queue_k, $is_mobile, $is_webp );
			}

			// Delete the row
			return false;
		}

		// Unknown status, remove this line
		if ( 'queued' !== $json['status'] ) {
			return false;
		}

		// Save summary data
		$this->_summary[ 'last_spent_' . $type ]   = time() - (int) $this->_summary[ 'curr_request_' . $type ];
		$this->_summary[ 'last_request_' . $type ] = $this->_summary[ 'curr_request_' . $type ];
		$this->_summary[ 'curr_request_' . $type ] = 0;
		self::save_summary();

		return true;
	}

	/**
	 * Save CCSS/UCSS content.
	 *
	 * @since 4.2
	 *
	 * @param string $type    Type: 'ccss' or 'ucss'.
	 * @param string $css     CSS content.
	 * @param string $queue_k Queue key.
	 * @param bool   $mobile  Is mobile.
	 * @param bool   $webp    Has webp support.
	 * @return void
	 */
	private function _save_con( $type, $css, $queue_k, $mobile, $webp ) {
		// Add filters
		$css = apply_filters( 'litespeed_' . $type, $css, $queue_k );
		Debug2::debug2( '[CSS] con: ' . $css );

		if ( substr( $css, 0, 2 ) === '/*' && substr( $css, -2 ) === '*/' ) {
			self::debug( '❌ empty ' . $type . ' [content] ' . $css );
			// continue; // Save the error info too
		}

		// Write to file
		$filecon_md5 = md5( $css );

		$filepath_prefix = $this->_build_filepath_prefix( $type );
		$static_file     = LITESPEED_STATIC_DIR . $filepath_prefix . $filecon_md5 . '.css';

		File::save( $static_file, $css, true );

		$url_tag = $this->_queue[ $queue_k ]['url_tag'];
		$vary    = $this->_queue[ $queue_k ]['vary'];
		Debug2::debug2( "[CSS] Save URL to file [file] $static_file [vary] $vary" );

		$this->cls( 'Data' )->save_url( $url_tag, $vary, $type, $filecon_md5, dirname( $static_file ), $mobile, $webp );

		Purge::add( strtoupper( $type ) . '.' . md5( $queue_k ) );
	}

	/**
	 * Play for fun.
	 *
	 * @since  3.4.3
	 *
	 * @param string $request_url URL to test.
	 * @return void
	 */
	public function test_url( $request_url ) {
		$user_agent         = isset( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : '';
		$html               = $this->prepare_html( $request_url, $user_agent );
		list( $css, $html ) = $this->prepare_css( $html, true, true );

		$data = [
			'url'        => $request_url,
			'ccss_type'  => 'test',
			'user_agent' => $user_agent,
			'is_mobile'  => 0,
			'html'       => $html,
			'css'        => $css,
			'type'       => 'CCSS',
		];

		$json = Cloud::post( Cloud::SVC_CCSS, $data, 180 );

		Debug2::debug2( '[CSS][test_url] response', $json );
	}

	/**
	 * Prepare HTML from URL.
	 *
	 * @since  3.4.3
	 *
	 * @param string   $request_url URL to fetch.
	 * @param string   $user_agent  User agent to use.
	 * @param int|bool $uid         Optional user ID for simulation.
	 * @return string|false
	 */
	public function prepare_html( $request_url, $user_agent, $uid = false ) {
		$html = $this->cls( 'Crawler' )->self_curl( add_query_arg( 'LSCWP_CTRL', 'before_optm', $request_url ), $user_agent, $uid );
		Debug2::debug2( '[CSS] self_curl result....', $html );

		if ( ! $html ) {
			return false;
		}

		$html = $this->cls( 'Optimizer' )->html_min( $html, true );
		// Drop <noscript>xxx</noscript>
		$html = preg_replace( '#<noscript>.*</noscript>#isU', '', $html );

		return $html;
	}

	/**
	 * Prepare CSS from HTML for CCSS generation only. UCSS will use combined CSS directly.
	 * Prepare refined HTML for both CCSS and UCSS.
	 *
	 * @since  3.4.3
	 *
	 * @param string $html    HTML content.
	 * @param bool   $is_webp Convert backgrounds to WebP when supported.
	 * @param bool   $dryrun  If true, do not fetch external CSS files.
	 * @return array{0:string,1:string} [combined CSS, refined HTML]
	 */
	public function prepare_css( $html, $is_webp = false, $dryrun = false ) {
		$css = '';
		preg_match_all( '#<link ([^>]+)/?>|<style([^>]*)>([^<]+)</style>#isU', $html, $matches, PREG_SET_ORDER );
		foreach ( $matches as $match ) {
			$debug_info = '';
			if ( strpos( $match[0], '<link' ) === 0 ) {
				$attrs = Utility::parse_attr( $match[1] );

				if ( empty( $attrs['rel'] ) ) {
					continue;
				}

				if ( 'stylesheet' !== $attrs['rel'] ) {
					if ( 'preload' !== $attrs['rel'] || empty( $attrs['as'] ) || 'style' !== $attrs['as'] ) {
						continue;
					}
				}

				if ( ! empty( $attrs['media'] ) && false !== strpos( $attrs['media'], 'print' ) ) {
					continue;
				}

				if ( empty( $attrs['href'] ) ) {
					continue;
				}

				// Check Google fonts hit
				if ( false !== strpos( $attrs['href'], 'fonts.googleapis.com' ) ) {
					$html = str_replace( $match[0], '', $html );
					continue;
				}

				$debug_info = $attrs['href'];

				// Load CSS content
				if ( ! $dryrun ) {
					// Dryrun will not load CSS but just drop them
					$con = $this->cls( 'Optimizer' )->load_file( $attrs['href'] );
					if ( ! $con ) {
						continue;
					}
				} else {
					$con = '';
				}
			} else {
				// Inline style
				$attrs = Utility::parse_attr( $match[2] );

				if ( ! empty( $attrs['media'] ) && false !== strpos( $attrs['media'], 'print' ) ) {
					continue;
				}

				Debug2::debug2( '[CSS] Load inline CSS ' . substr( $match[3], 0, 100 ) . '...', $attrs );
				$con = $match[3];

				$debug_info = '__INLINE__';
			}

			$con = Optimizer::minify_css( $con );
			if ( $is_webp && $this->cls( 'Media' )->webp_support() ) {
				$con = $this->cls( 'Media' )->replace_background_webp( $con );
			}

			if ( ! empty( $attrs['media'] ) && 'all' !== $attrs['media'] ) {
				$con = '@media ' . $attrs['media'] . '{' . $con . "}\n";
			} else {
				$con = $con . "\n";
			}

			$con  = '/* ' . $debug_info . ' */' . $con;
			$css .= $con;

			$html = str_replace( $match[0], '', $html );
		}

		return [ $css, $html ];
	}

	/**
	 * Filter the comment content, add quotes to selector from whitelist. Return the json.
	 *
	 * @since 7.1
	 * @return array
	 */
	private function _filter_whitelist() {
		$whitelist = [];
		$list      = apply_filters( 'litespeed_ccss_whitelist', $this->conf( self::O_OPTM_CCSS_SELECTOR_WHITELIST ) );
		foreach ( $list as $v ) {
			if ( substr( $v, 0, 2 ) === '//' ) {
				continue;
			}
			$whitelist[] = $v;
		}

		return $whitelist;
	}

	/**
	 * Notify finished from server.
	 *
	 * @since 7.1
	 * @return array
	 */
	public function notify() {
		// phpcs:ignore WordPress.Security.NonceVerification.Missing
		$post_data = \json_decode( file_get_contents( 'php://input' ), true );
		if ( is_null( $post_data ) ) {
			// Fallback for form-encoded payloads
			// phpcs:ignore WordPress.Security.NonceVerification.Missing
			$post_data = $_POST;
		}
		self::debug( 'notify() data', $post_data );

		$this->_queue = $this->load_queue( 'ccss' );

		list( $post_data ) = $this->cls( 'Cloud' )->extract_msg( $post_data, 'ccss' );

		$notified_data = $post_data['data'];
		if ( empty( $notified_data ) || ! is_array( $notified_data ) ) {
			self::debug( '❌ notify exit: no notified data' );
			return Cloud::err( 'no notified data' );
		}

		// Check if its in queue or not
		$valid_i = 0;
		foreach ( $notified_data as $v ) {
			if ( empty( $v['request_url'] ) ) {
				self::debug( '❌ notify bypass: no request_url', $v );
				continue;
			}
			if ( empty( $v['queue_k'] ) ) {
				self::debug( '❌ notify bypass: no queue_k', $v );
				continue;
			}

			if ( empty( $this->_queue[ $v['queue_k'] ] ) ) {
				self::debug( '❌ notify bypass: no this queue [q_k]' . $v['queue_k'] );
				continue;
			}

			// Save data
			if ( ! empty( $v['data_ccss'] ) ) {
				$is_mobile = $this->_queue[ $v['queue_k'] ]['is_mobile'];
				$is_webp   = $this->_queue[ $v['queue_k'] ]['is_webp'];
				$this->_save_con( 'ccss', $v['data_ccss'], $v['queue_k'], $is_mobile, $is_webp );

				++$valid_i;
			}

			unset( $this->_queue[ $v['queue_k'] ] );
			self::debug( 'notify data handled, unset queue [q_k] ' . $v['queue_k'] );
		}
		$this->save_queue( 'ccss', $this->_queue );

		self::debug( 'notified' );

		return Cloud::ok( [ 'count' => $valid_i ] );
	}

	/**
	 * Handle all request actions from main cls.
	 *
	 * @since  2.3
	 * @access public
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_GEN_CCSS:
            self::cron_ccss( true );
				break;

			case self::TYPE_CLEAR_Q_CCSS:
            $this->clear_q( 'ccss' );
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\s�64D4D"litespeed-cache/src/debug2.cls.phpnu�[���<?php
/**
 * The plugin logging class.
 *
 * @package LiteSpeed
 * @since 1.1.2
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Centralized debug logging utilities for LiteSpeed Cache.
 */
class Debug2 extends Root {

	/**
	 * Active log file path.
	 *
	 * @var string
	 */
	private static $log_path;

	/**
	 * Directory prefix for all log files.
	 *
	 * @var string
	 */
	private static $log_path_prefix;

	/**
	 * Request-specific log line prefix.
	 *
	 * @var string
	 */
	private static $_prefix;

	const TYPE_CLEAR_LOG = 'clear_log';
	const TYPE_BETA_TEST = 'beta_test';

	const BETA_TEST_URL = 'beta_test_url';

	const BETA_TEST_URL_WP = 'https://downloads.wordpress.org/plugin/litespeed-cache.zip';

	/**
	 * Constructor.
	 *
	 * NOTE: until LSCWP_LOG is defined, calls to WP filters are not logged to
	 * avoid a recursion loop inside log_filters().
	 *
	 * @since 1.1.2
	 * @access public
	 */
	public function __construct() {
		self::$log_path_prefix = LITESPEED_STATIC_DIR . '/debug/';
		// Maybe move legacy log files
		$this->_maybe_init_folder();

		self::$log_path = $this->path( 'debug' );

		$ua = isset( $_SERVER['HTTP_USER_AGENT'] )
			? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) )
			: '';

		if ( '' !== $ua && 0 === strpos( $ua, 'lscache_' ) ) {
			self::$log_path = $this->path( 'crawler' );
		}

		! defined( 'LSCWP_LOG_TAG' ) && define( 'LSCWP_LOG_TAG', get_current_blog_id() );

		if ( $this->conf( Base::O_DEBUG_LEVEL ) ) {
			! defined( 'LSCWP_LOG_MORE' ) && define( 'LSCWP_LOG_MORE', true );
		}

		defined( 'LSCWP_DEBUG_EXC_STRINGS' ) || define( 'LSCWP_DEBUG_EXC_STRINGS', $this->conf( Base::O_DEBUG_EXC_STRINGS ) );
	}

	/**
	 * Disable all functionalities temporarily (toggle).
	 *
	 * @since 7.4
	 * @access public
	 *
	 * @param int $time How long (in seconds) to disable LSC functions.
	 */
	public static function tmp_disable( $time = 86400 ) {
		$conf     = Conf::cls();
		$disabled = self::cls()->conf( Base::DEBUG_TMP_DISABLE );

		if ( 0 === $disabled ) {
			$conf->update_confs( [ Base::DEBUG_TMP_DISABLE => time() + (int) $time ] );
			self::debug2( 'LiteSpeed Cache temporary disabled.' );
			return;
		}

		$conf->update_confs( [ Base::DEBUG_TMP_DISABLE => 0 ] );
		self::debug2( 'LiteSpeed Cache reactivated.' );
	}

	/**
	 * Is the temporary disable active? If expired, re-enable.
	 *
	 * @since 7.4
	 * @access public
	 *
	 * @return bool
	 */
	public static function is_tmp_disable() {
		$disabled_time = self::cls()->conf( Base::DEBUG_TMP_DISABLE );

		if ( 0 === $disabled_time ) {
			return false;
		}

		if ( time() < (int) $disabled_time ) {
			return true;
		}

		Conf::cls()->update_confs( [ Base::DEBUG_TMP_DISABLE => 0 ] );
		return false;
	}

	/**
	 * Ensure log directory exists and move legacy logs into it.
	 *
	 * @since 6.5
	 * @access private
	 */
	private function _maybe_init_folder() {
		if ( file_exists( self::$log_path_prefix . 'index.php' ) ) {
			return;
		}

		File::save( self::$log_path_prefix . 'index.php', '<?php // Silence is golden.', true );

		$logs = [ 'debug', 'debug.purge', 'crawler' ];
		foreach ( $logs as $log ) {
			$old_path = LSCWP_CONTENT_DIR . '/' . $log . '.log';
			$new_path = $this->path( $log );
			if ( file_exists( $old_path ) && ! file_exists( $new_path ) ) {
				// phpcs:ignore WordPress.WP.AlternativeFunctions.rename_rename -- Moving legacy log files during migration
				rename( $old_path, $new_path );
			}
		}
	}

	/**
	 * Get absolute path for a log type.
	 *
	 * @since 6.5
	 * @param string $type Log type (debug|purge|crawler).
	 * @return string
	 */
	public function path( $type ) {
		return self::$log_path_prefix . self::FilePath( $type );
	}

	/**
	 * Get fixed filename for a log type.
	 *
	 * @since 6.5
	 * @param string $type Log type (debug|debug.purge|crawler).
	 * @return string
	 */
	public static function FilePath( $type ) {
		if ( 'debug.purge' === $type ) {
			$type = 'purge';
		}
		$key  = defined( 'AUTH_KEY' ) ? AUTH_KEY : md5( __FILE__ );
		$rand = substr( md5( substr( $key, -16 ) ), -16 );
		return $type . $rand . '.log';
	}

	/**
	 * Write end-of-request markers and response timing.
	 *
	 * @since 4.7
	 * @access public
	 * @return void
	 */
	public static function ended() {
		$headers = headers_list();
		foreach ( $headers as $key => $header ) {
			if ( 0 === stripos( $header, 'Set-Cookie' ) ) {
				unset( $headers[ $key ] );
			}
		}
		self::debug( 'Response headers', $headers );

		$elapsed_time = number_format( ( microtime( true ) - LSCWP_TS_0 ) * 1000, 2 );
		self::debug( "End response\n--------------------------------------------------Duration: " . $elapsed_time . " ms------------------------------\n" );
	}

	/**
	 * Run beta test upgrade. Accepts a direct ZIP URL or attempts to derive one.
	 *
	 * @since 2.9.5
	 * @access public
	 *
	 * @param string|false $zip ZIP URL or false to read from request.
	 * @return void
	 */
	public function beta_test( $zip = false ) {
		if ( ! $zip ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Recommended
			if ( empty( $_REQUEST[ self::BETA_TEST_URL ] ) ) {
				return;
			}

			// phpcs:ignore WordPress.Security.NonceVerification.Recommended
			$zip = sanitize_text_field( wp_unslash( $_REQUEST[ self::BETA_TEST_URL ] ) );
			if ( self::BETA_TEST_URL_WP !== $zip ) {
				if ( 'latest' === $zip ) {
					$zip = self::BETA_TEST_URL_WP;
				} else {
					// Generate zip url
					$zip = $this->_package_zip( $zip );
				}
			}
		}

		if ( ! $zip ) {
			self::debug( '[Debug2] ❌  No ZIP file' );
			return;
		}

		self::debug( '[Debug2] ZIP file ' . $zip );

		$update_plugins = get_site_transient( 'update_plugins' );
		if ( ! is_object( $update_plugins ) ) {
			$update_plugins = new \stdClass();
		}

		$plugin_info              = new \stdClass();
		$plugin_info->new_version = Core::VER;
		$plugin_info->slug        = Core::PLUGIN_NAME;
		$plugin_info->plugin      = Core::PLUGIN_FILE;
		$plugin_info->package     = $zip;
		$plugin_info->url         = 'https://wordpress.org/plugins/litespeed-cache/';

		$update_plugins->response[ Core::PLUGIN_FILE ] = $plugin_info;

		set_site_transient( 'update_plugins', $update_plugins );

		Activation::cls()->upgrade();
	}

	/**
	 * Resolve a GitHub commit-ish into a downloadable ZIP URL via QC API.
	 *
	 * @since 2.9.5
	 * @access private
	 *
	 * @param string $commit Commit hash/branch/tag.
	 * @return string|false
	 */
	private function _package_zip( $commit ) {
		$data = [
			'commit' => $commit,
		];
		$res  = Cloud::get( Cloud::API_BETA_TEST, $data );

		if ( empty( $res['zip'] ) ) {
			return false;
		}

		return $res['zip'];
	}

	/**
	 * Write purge headers into a dedicated purge log.
	 *
	 * @since 2.7
	 * @access public
	 *
	 * @param string $purge_header The Purge header value.
	 * @return void
	 */
	public static function log_purge( $purge_header ) {
		if ( ! defined( 'LSCWP_LOG' ) && ! defined( 'LSCWP_LOG_BYPASS_NOTADMIN' ) ) {
			return;
		}

		$purge_file = self::cls()->path( 'purge' );

		self::cls()->_init_request( $purge_file );

		$msg = $purge_header . self::_backtrace_info( 6 );

		File::append( $purge_file, self::format_message( $msg ) );
	}

	/**
	 * Initialize logging for current request if enabled.
	 *
	 * @since 1.1.0
	 * @access public
	 * @return void
	 */
	public function init() {
		if ( defined( 'LSCWP_LOG' ) ) {
			return;
		}

		$debug = $this->conf( Base::O_DEBUG );
		if ( Base::VAL_ON2 === $debug ) {
			if ( ! $this->cls( 'Router' )->is_admin_ip() ) {
				defined( 'LSCWP_LOG_BYPASS_NOTADMIN' ) || define( 'LSCWP_LOG_BYPASS_NOTADMIN', true );
				return;
			}
		}

		/**
		 * Check if hit URI includes/excludes
		 * This is after LSCWP_LOG_BYPASS_NOTADMIN to make `log_purge()` still work
		 *
		 * @since  3.0
		 */
		$list = $this->conf( Base::O_DEBUG_INC );
		if ( $list ) {
			$request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
			$result      = Utility::str_hit_array( $request_uri, $list );
			if ( ! $result ) {
				return;
			}
		}

		$list = $this->conf( Base::O_DEBUG_EXC );
		if ( $list ) {
			$request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
			$result      = Utility::str_hit_array( $request_uri, $list );
			if ( $result ) {
				return;
			}
		}

		if ( ! defined( 'LSCWP_LOG' ) ) {
			$this->_init_request();
			define( 'LSCWP_LOG', true );
		}
	}

	/**
	 * Create the initial log record with request context.
	 *
	 * @since 1.0.12
	 * @access private
	 *
	 * @param string|null $log_file Optional specific log file path.
	 * @return void
	 */
	private function _init_request( $log_file = null ) {
		if ( ! $log_file ) {
			$log_file = self::$log_path;
		}

		// Rotate if exceeding configured size (MiB).
		$log_file_size = (int) $this->conf( Base::O_DEBUG_FILESIZE );
		if ( file_exists( $log_file ) && filesize( $log_file ) > $log_file_size * 1000000 ) {
			File::save( $log_file, '' );
		}

		// Add extra spacing if last write was > 2 seconds ago.
		if ( file_exists( $log_file ) && ( time() - filemtime( $log_file ) ) > 2 ) {
			File::append( $log_file, "\n\n\n\n" );
		}

		if ( 'cli' === PHP_SAPI ) {
			return;
		}

		$servervars = array(
			'Query String' => '',
			'HTTP_ACCEPT' => '',
			'HTTP_USER_AGENT' => '',
			'HTTP_ACCEPT_ENCODING' => '',
			'HTTP_COOKIE' => '',
			'REQUEST_METHOD' => '',
			'SERVER_PROTOCOL' => '',
			'X-LSCACHE' => '',
			'LSCACHE_VARY_COOKIE' => '',
			'LSCACHE_VARY_VALUE' => '',
			'ESI_CONTENT_TYPE' => '',
		);
		$server     = array_merge($servervars, $_SERVER);
		$params     = array();

		if ( isset( $_SERVER['HTTPS'] ) && 'on' === $_SERVER['HTTPS'] ) {
			$server['SERVER_PROTOCOL'] .= ' (HTTPS) ';
		}

		$param = sprintf('💓 ------%s %s %s', $server['REQUEST_METHOD'], $server['SERVER_PROTOCOL'], strtok($server['REQUEST_URI'], '?'));

		$qs = !empty($server['QUERY_STRING']) ? $server['QUERY_STRING'] : '';
		if ( $this->conf( Base::O_DEBUG_COLLAPSE_QS ) ) {
			$qs = $this->_omit_long_message( $qs );
			if ( $qs ) {
				$param .= ' ? ' . $qs;
			}
			$params[] = $param;
		} else {
			$params[] = $param;
			$params[] = 'Query String: ' . $qs;
		}

		if ( ! empty( $server['HTTP_REFERER'] ) ) {
			$params[] = 'HTTP_REFERER: ' . $this->_omit_long_message( $server['HTTP_REFERER'] );
		}

		if ( defined( 'LSCWP_LOG_MORE' ) ) {
			$params[] = 'User Agent: ' . $this->_omit_long_message( $server['HTTP_USER_AGENT'] );
			$params[] = 'Accept: ' . $server['HTTP_ACCEPT'];
			$params[] = 'Accept Encoding: ' . $server['HTTP_ACCEPT_ENCODING'];
		}

		if ( isset( $_COOKIE['_lscache_vary'] ) ) {
			$params[] = 'Cookie _lscache_vary: ' . sanitize_text_field( wp_unslash( $_COOKIE['_lscache_vary'] ) );
		}

		if ( defined( 'LSCWP_LOG_MORE' ) ) {
			$params[] = 'X-LSCACHE: ' . ( ! empty( $server['X-LSCACHE'] ) ? 'true' : 'false' );
		}
		if ( $server['LSCACHE_VARY_COOKIE'] ) {
			$params[] = 'LSCACHE_VARY_COOKIE: ' . $server['LSCACHE_VARY_COOKIE'];
		}
		if ( $server['LSCACHE_VARY_VALUE'] ) {
			$params[] = 'LSCACHE_VARY_VALUE: ' . $server['LSCACHE_VARY_VALUE'];
		}
		if ( $server['ESI_CONTENT_TYPE'] ) {
			$params[] = 'ESI_CONTENT_TYPE: ' . $server['ESI_CONTENT_TYPE'];
		}

		$request = array_map( __CLASS__ . '::format_message', $params );

		File::append( $log_file, $request );
	}

	/**
	 * Trim long message to keep logs compact.
	 *
	 * @since 6.3
	 * @param string $msg Message.
	 * @return string
	 */
	private function _omit_long_message( $msg ) {
		if ( strlen( $msg ) > 53 ) {
			$msg = substr( $msg, 0, 53 ) . '...';
		}
		return $msg;
	}

	/**
	 * Format a single log line with timestamp and prefix.
	 *
	 * @since 1.0.12
	 * @access private
	 *
	 * @param string $msg Message to log.
	 * @return string Formatted line.
	 */
	private static function format_message( $msg ) {
		if ( ! defined( 'LSCWP_LOG_TAG' ) ) {
			return $msg . "\n";
		}

		if ( ! isset( self::$_prefix ) ) {
			// address/identity.
			if ( 'cli' === PHP_SAPI ) {
				$addr = '=CLI=';
				if ( isset( $_SERVER['USER'] ) ) {
					$addr .= sanitize_text_field( wp_unslash( $_SERVER['USER'] ) );
				} elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
					$addr .= sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) );
				}
			} else {
				$ip   = isset( $_SERVER['REMOTE_ADDR'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ) : '';
				$port = isset( $_SERVER['REMOTE_PORT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REMOTE_PORT'] ) ) : '';
				$addr = "$ip:$port";
			}

			self::$_prefix = sprintf( ' [%s %s %s] ', $addr, LSCWP_LOG_TAG, Str::rrand( 3 ) );
		}

		list( $usec, $sec ) = explode( ' ', microtime() );

		// Use gmdate to avoid tz-related warnings; apply offset if defined.
		$ts = gmdate( 'm/d/y H:i:s', (int) $sec + ( defined( 'LITESPEED_TIME_OFFSET' ) ? (int) LITESPEED_TIME_OFFSET : 0 ) );

		return $ts . substr( $usec, 1, 4 ) . self::$_prefix . $msg . "\n";
	}

	/**
	 * Log a debug message.
	 *
	 * @since 1.1.3
	 * @access public
	 *
	 * @param string    $msg             Message to write.
	 * @param int|array $backtrace_limit Depth for backtrace or payload to append.
	 * @return void
	 */
	public static function debug( $msg, $backtrace_limit = false ) {
		if ( ! defined( 'LSCWP_LOG' ) ) {
			return;
		}

		if ( defined( 'LSCWP_DEBUG_EXC_STRINGS' ) && Utility::str_hit_array( $msg, LSCWP_DEBUG_EXC_STRINGS ) ) {
			return;
		}

		if ( false !== $backtrace_limit ) {
			if ( ! is_numeric( $backtrace_limit ) ) {
				$backtrace_limit = self::trim_longtext( $backtrace_limit );
				if ( is_array( $backtrace_limit ) && 1 === count( $backtrace_limit ) && ! empty( $backtrace_limit[0] ) ) {
					$msg .= ' --- ' . $backtrace_limit[0];
				} else {
					// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_var_export
					$msg .= ' --- ' . var_export( $backtrace_limit, true );
				}
				self::push( $msg );
				return;
			}

			self::push( $msg, (int) $backtrace_limit + 1 );
			return;
		}

		self::push( $msg );
	}

	/**
	 * Trim strings inside arrays/object dumps to reasonable length.
	 *
	 * @since 3.3
	 * @param mixed $backtrace_limit Data to trim.
	 * @return mixed
	 */
	public static function trim_longtext( $backtrace_limit ) {
		if ( is_array( $backtrace_limit ) ) {
			$backtrace_limit = array_map( __CLASS__ . '::trim_longtext', $backtrace_limit );
		}
		if ( is_string( $backtrace_limit ) && strlen( $backtrace_limit ) > 500 ) {
			$backtrace_limit = substr( $backtrace_limit, 0, 1000 ) . '...';
		}
		return $backtrace_limit;
	}

	/**
	 * Log a verbose debug message (requires O_DEBUG_LEVEL).
	 *
	 * @since 1.2.0
	 * @access public
	 *
	 * @param string    $msg             Message.
	 * @param int|array $backtrace_limit Backtrace depth or payload to append.
	 * @return void
	 */
	public static function debug2( $msg, $backtrace_limit = false ) {
		if ( ! defined( 'LSCWP_LOG_MORE' ) ) {
			return;
		}
		self::debug( $msg, $backtrace_limit );
	}

	/**
	 * Append a message to the active log file.
	 *
	 * @since 1.1.0
	 * @access private
	 *
	 * @param string   $msg             Message.
	 * @param int|bool $backtrace_limit Backtrace depth.
	 * @return void
	 */
	private static function push( $msg, $backtrace_limit = false ) {
		if ( defined( 'LSCWP_LOG_MORE' ) && false !== $backtrace_limit ) {
			$msg .= self::_backtrace_info( (int) $backtrace_limit );
		}

		File::append( self::$log_path, self::format_message( $msg ) );
	}

	/**
	 * Create a compact backtrace string.
	 *
	 * @since 2.7
	 * @access private
	 *
	 * @param int $backtrace_limit Depth.
	 * @return string
	 */
	private static function _backtrace_info( $backtrace_limit ) {
		$msg   = '';
		$limit = (int) $backtrace_limit;

		// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace
		$trace = debug_backtrace( false, $limit + 3 );

		for ( $i = 2; $i <= $limit + 2; $i++ ) {
			// 0 => _backtrace_info(), 1 => push().
			if ( empty( $trace[ $i ]['class'] ) ) {
				if ( empty( $trace[ $i ]['file'] ) ) {
					break;
				}
				$log = "\n" . $trace[ $i ]['file'];
			} else {
				if ( __CLASS__ === $trace[ $i ]['class'] ) {
					continue;
				}

				$args = '';
				if ( ! empty( $trace[ $i ]['args'] ) ) {
					foreach ( $trace[ $i ]['args'] as $v ) {
						if ( is_array( $v ) ) {
							$v = 'ARRAY';
						}
						if ( is_string( $v ) || is_numeric( $v ) ) {
							$args .= $v . ',';
						}
					}
					$args = substr( $args, 0, strlen( $args ) > 100 ? 100 : -1 );
				}

				$log = str_replace( 'Core', 'LSC', $trace[ $i ]['class'] ) . $trace[ $i ]['type'] . $trace[ $i ]['function'] . '(' . $args . ')';
			}

			if ( ! empty( $trace[ $i - 1 ]['line'] ) ) {
				$log .= '@' . $trace[ $i - 1 ]['line'];
			}
			$msg .= " => $log";
		}

		return $msg;
	}

	/**
	 * Clear all log files (debug|purge|crawler).
	 *
	 * @since 1.6.6
	 * @access private
	 * @return void
	 */
	private function _clear_log() {
		$logs = [ 'debug', 'purge', 'crawler' ];
		foreach ( $logs as $log ) {
			File::save( $this->path( $log ), '' );
		}
	}

	/**
	 * Handle requests routed to this class.
	 *
	 * @since 1.6.6
	 * @access public
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_CLEAR_LOG:
            $this->_clear_log();
				break;

			case self::TYPE_BETA_TEST:
            $this->beta_test();
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\��TTlitespeed-cache/src/str.cls.phpnu�[���<?php
/**
 * LiteSpeed String Operator Library Class
 *
 * @since 1.3
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Str
 *
 * Provides string manipulation utilities for LiteSpeed Cache.
 *
 * @since 1.3
 */
class Str {

	/**
	 * Translate QC HTML links from html.
	 *
	 * Converts `<a href="{#xxx#}">xxxx</a>` to `<a href="xxx">xxxx</a>`.
	 *
	 * @since 7.0
	 * @access public
	 * @param string $html The HTML string to process.
	 * @return string The processed HTML string.
	 */
	public static function translate_qc_apis( $html ) {
		preg_match_all( '/<a href="{#(\w+)#}"/U', $html, $matches );
		if ( ! $matches ) {
			return $html;
		}

		foreach ( $matches[0] as $k => $html_to_be_replaced ) {
			$link = '<a href="' . Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_API, false, null, [ 'action2' => $matches[1][ $k ] ] ) . '"';
			$html = str_replace( $html_to_be_replaced, $link, $html );
		}
		return $html;
	}

	/**
	 * Return safe HTML
	 *
	 * Sanitizes HTML to allow only specific tags and attributes.
	 *
	 * @since 7.0
	 * @access public
	 * @param string $html The HTML string to sanitize.
	 * @return string The sanitized HTML string.
	 */
	public static function safe_html( $html ) {
		$common_attrs = [
			'style'  => [],
			'class'  => [],
			'target' => [],
			'src'    => [],
			'color'  => [],
			'href'   => [],
		];
		$tags         = [ 'hr', 'h3', 'h4', 'h5', 'ul', 'li', 'br', 'strong', 'p', 'span', 'img', 'a', 'div', 'font' ];
		$allowed_tags = [];
		foreach ( $tags as $tag ) {
			$allowed_tags[ $tag ] = $common_attrs;
		}

		return wp_kses( $html, $allowed_tags );
	}

	/**
	 * Generate random string
	 *
	 * Creates a random string of specified length and character type.
	 *
	 * @since  1.3
	 * @access public
	 * @param int $len  Length of string.
	 * @param int $type Character type: 1-Number, 2-LowerChar, 4-UpperChar, 7-All.
	 * @return string Randomly generated string.
	 */
	public static function rrand( $len, $type = 7 ) {
		switch ( $type ) {
			case 0:
				$charlist = '012';
				break;

			case 1:
				$charlist = '0123456789';
				break;

			case 2:
				$charlist = 'abcdefghijklmnopqrstuvwxyz';
				break;

			case 3:
				$charlist = '0123456789abcdefghijklmnopqrstuvwxyz';
				break;

			case 4:
				$charlist = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
				break;

			case 5:
				$charlist = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
				break;

			case 6:
				$charlist = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
				break;

			case 7:
				$charlist = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
				break;
		}

		$str = '';

		$max = strlen( $charlist ) - 1;
		for ( $i = 0; $i < $len; $i++ ) {
			$str .= $charlist[ random_int( 0, $max ) ];
		}

		return $str;
	}

	/**
	 * Trim double quotes from a string
	 *
	 * Removes double quotes from a string for use as a preformatted src in HTML.
	 *
	 * @since 6.5.3
	 * @access public
	 * @param string $text The string to process.
	 * @return string The string with double quotes removed.
	 */
	public static function trim_quotes( $text ) {
		return str_replace( '"', '', $text );
	}
}
PK�^�\�L�++#litespeed-cache/src/metabox.cls.phpnu�[���<?php
/**
 * The class to operate post editor metabox settings.
 *
 * @since 4.7
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Metabox
 *
 * Registers and handles LiteSpeed options shown in the post/page edit screen.
 */
class Metabox extends Root {

	const LOG_TAG = '📦';

	const POST_NONCE_ACTION = 'post_nonce_action';

	/**
	 * Map of metabox settings keys to labels.
	 *
	 * @var array
	 */
	private $_postmeta_settings;

	/**
	 * Init the setting list.
	 *
	 * @since 4.7
	 */
	public function __construct() {
		// Append meta box.
		$this->_postmeta_settings = [
			'litespeed_no_cache'        => __( 'Disable Cache', 'litespeed-cache' ),
			'litespeed_no_image_lazy'   => __( 'Disable Image Lazyload', 'litespeed-cache' ),
			'litespeed_no_vpi'          => __( 'Disable VPI', 'litespeed-cache' ),
			'litespeed_vpi_list'        => __( 'Viewport Images', 'litespeed-cache' ),
			'litespeed_vpi_list_mobile' => __( 'Viewport Images', 'litespeed-cache' ) . ' - ' . __( 'Mobile', 'litespeed-cache' ),
		];
	}

	/**
	 * Register post edit settings.
	 *
	 * @since 4.7
	 * @return void
	 */
	public function register_settings() {
		add_action( 'add_meta_boxes', [ $this, 'add_meta_boxes' ] );
		add_action( 'save_post', [ $this, 'save_meta_box_settings' ], 15, 2 );
		add_action( 'attachment_updated', [ $this, 'save_meta_box_settings' ], 15, 2 );
	}

	/**
	 * Register meta box.
	 *
	 * @since 4.7
	 *
	 * @param string $post_type Current post type.
	 * @return void
	 */
	public function add_meta_boxes( $post_type ) {
		if ( apply_filters( 'litespeed_bypass_metabox', false, $post_type ) ) {
			return;
		}
		$post_type_obj = get_post_type_object( $post_type );
		if ( ! empty( $post_type_obj ) && ! $post_type_obj->public ) {
			self::debug( 'post type public=false, bypass add_meta_boxes' );
			return;
		}
		add_meta_box( 'litespeed_meta_boxes', 'LiteSpeed', [ $this, 'meta_box_options' ], $post_type, 'side', 'core' );
	}

	/**
	 * Show meta box content.
	 *
	 * @since 4.7
	 * @return void
	 */
	public function meta_box_options() {
		require_once LSCWP_DIR . 'tpl/inc/metabox.php';
	}

	/**
	 * Save settings.
	 *
	 * @since 4.7
	 *
	 * @param int      $post_id Post ID.
	 * @param \WP_Post $post   Post object.
	 * @return void
	 */
	public function save_meta_box_settings( $post_id, $post ) {
		global $pagenow;

		self::debug( 'Maybe save post2 [post_id] ' . $post_id );

		if ( 'post.php' !== $pagenow || ! $post || ! is_object( $post ) ) {
			return;
		}

		if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
			return;
		}

		if ( ! $this->cls( 'Router' )->verify_nonce( self::POST_NONCE_ACTION ) ) {
			return;
		}

		self::debug( 'Saving post [post_id] ' . $post_id );

		foreach ($this->_postmeta_settings as $k => $v) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput
			$val = isset($_POST[$k]) ? $_POST[$k] : false;
			$this->save($post_id, $k, $val);
		}
	}

	/**
	 * Load setting per post.
	 *
	 * @since 4.7
	 *
	 * @param string   $conf    Meta key to load.
	 * @param int|bool $post_id Optional specific post ID, defaults to current query object.
	 * @return mixed|null Meta value or null when not set.
	 */
	public function setting( $conf, $post_id = false ) {
		// Check if has metabox non-cacheable setting or not.
		if ( ! $post_id ) {
			$home_id = (int) get_option( 'page_for_posts' );
			if ( is_singular() ) {
				$post_id = get_the_ID();
			} elseif ( $home_id > 0 && is_home() ) {
				$post_id = $home_id;
			}
		}

		$val = $post_id ? get_post_meta( $post_id, $conf, true ) : null;
		if ( $val ) {
			return $val;
		}

		return null;
	}

	/**
	 * Save a metabox value.
	 *
	 * @since 4.7
	 *
	 * @param int         $post_id  Post ID.
	 * @param string      $name     Meta key name.
	 * @param string|bool $val      Value to save.
	 * @param bool        $is_append If true, append to existing list values.
	 * @return void
	 */
	public function save( $post_id, $name, $val, $is_append = false ) {
		if ( false !== strpos( $name, VPI::POST_META ) ) {
			$val = Utility::sanitize_lines( $val, 'basename,drop_webp' );
		}

		// Load existing data if has set.
		if ( $is_append ) {
			$existing_data = $this->setting( $name, $post_id );
			if ( $existing_data ) {
				$existing_data = Utility::sanitize_lines( $existing_data, 'basename' );
				$val           = array_unique( array_merge( $val, $existing_data ) );
			}
		}

		if ( $val ) {
			update_post_meta( $post_id, $name, $val );
		} else {
			delete_post_meta( $post_id, $name );
		}
	}

	/**
	 * Load exclude images per post.
	 *
	 * @since 4.7
	 *
	 * @param array $exclude_list Current exclude list.
	 * @return array Modified exclude list.
	 */
	public function lazy_img_excludes( $exclude_list ) {
		$is_mobile = $this->_separate_mobile();
		$excludes  = $this->setting( $is_mobile ? VPI::POST_META_MOBILE : VPI::POST_META );
		if ( null !== $excludes ) {
			$excludes = Utility::sanitize_lines( $excludes, 'basename' );
			if ( $excludes ) {
				// Check if contains `data:` (invalid result, need to clear existing result) or not.
				if ( Utility::str_hit_array( 'data:', $excludes ) ) {
					$this->cls( 'VPI' )->add_to_queue();
				} else {
					return array_merge( $exclude_list, $excludes );
				}
			}

			return $exclude_list;
		}

		$this->cls( 'VPI' )->add_to_queue();

		return $exclude_list;
	}
}
PK�^�\��מ�R�R"litespeed-cache/src/router.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The core plugin router class.
 *
 * This generate the valid action.
 *
 * @since       1.1.0
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class Router extends Base {

	const LOG_TAG = '[Router]';

	const NONCE  = 'LSCWP_NONCE';
	const ACTION = 'LSCWP_CTRL';

	const ACTION_SAVE_SETTINGS_NETWORK = 'save-settings-network';
	const ACTION_DB_OPTM               = 'db_optm';
	const ACTION_PLACEHOLDER           = 'placeholder';
	const ACTION_AVATAR                = 'avatar';
	const ACTION_SAVE_SETTINGS         = 'save-settings';
	const ACTION_CLOUD                 = 'cloud';
	const ACTION_IMG_OPTM              = 'img_optm';
	const ACTION_HEALTH                = 'health';
	const ACTION_CRAWLER               = 'crawler';
	const ACTION_PURGE                 = 'purge';
	const ACTION_CONF                  = 'conf';
	const ACTION_ACTIVATION            = 'activation';
	const ACTION_CSS                   = 'css';
	const ACTION_UCSS                  = 'ucss';
	const ACTION_VPI                   = 'vpi';
	const ACTION_PRESET                = 'preset';
	const ACTION_IMPORT                = 'import';
	const ACTION_REPORT                = 'report';
	const ACTION_DEBUG2                = 'debug2';
	const ACTION_CDN_CLOUDFLARE        = 'CDN\Cloudflare';
	const ACTION_ADMIN_DISPLAY         = 'admin_display';
	const ACTION_GUEST                 = 'guest';
	const ACTION_TMP_DISABLE          = 'tmp_disable';

	// List all handlers here
	private static $_HANDLERS = array(
		self::ACTION_ADMIN_DISPLAY,
		self::ACTION_ACTIVATION,
		self::ACTION_AVATAR,
		self::ACTION_CDN_CLOUDFLARE,
		self::ACTION_CLOUD,
		self::ACTION_CONF,
		self::ACTION_CRAWLER,
		self::ACTION_CSS,
		self::ACTION_UCSS,
		self::ACTION_VPI,
		self::ACTION_DB_OPTM,
		self::ACTION_DEBUG2,
		self::ACTION_GUEST,
		self::ACTION_HEALTH,
		self::ACTION_IMG_OPTM,
		self::ACTION_PRESET,
		self::ACTION_IMPORT,
		self::ACTION_PLACEHOLDER,
		self::ACTION_PURGE,
		self::ACTION_REPORT,
	);

	const TYPE = 'litespeed_type';

	const ITEM_HASH       = 'hash';
	const ITEM_FLASH_HASH = 'flash_hash';

	private static $_esi_enabled;
	private static $_is_ajax;
	private static $_is_logged_in;
	private static $_ip;
	private static $_action;
	private static $_is_admin_ip;
	private static $_frontend_path;

	/**
	 * Redirect to self to continue operation
	 *
	 * Note: must return when use this func. CLI/Cron call won't die in this func.
	 *
	 * @since  3.0
	 * @access public
	 */
	public static function self_redirect( $action, $type ) {
		if (defined('LITESPEED_CLI') || wp_doing_cron()) {
			Admin_Display::success('To be continued'); // Show for CLI
			return;
		}

		// Add i to avoid browser too many redirected warning
		$i = !empty($_GET['litespeed_i']) ? $_GET['litespeed_i'] : 0;
		++$i;

		$link = Utility::build_url($action, $type, false, null, array( 'litespeed_i' => $i ));

		$url = html_entity_decode($link);
		exit("<meta http-equiv='refresh' content='0;url=$url'>");
	}

	/**
	 * Check if can run optimize
	 *
	 * @since  1.3
	 * @since  2.3.1 Relocated from cdn.cls
	 * @access public
	 */
	public function can_optm() {
		$can = true;

		if (is_user_logged_in() && $this->conf(self::O_OPTM_GUEST_ONLY)) {
			$can = false;
		} elseif (is_admin()) {
			$can = false;
		} elseif (is_feed()) {
			$can = false;
		} elseif (is_preview()) {
			$can = false;
		} elseif (self::is_ajax()) {
			$can = false;
		}

		if (self::_is_login_page()) {
			Debug2::debug('[Router] Optm bypassed: login/reg page');
			$can = false;
		}

		$can_final = apply_filters('litespeed_can_optm', $can);

		if ($can_final != $can) {
			Debug2::debug('[Router] Optm bypassed: filter');
		}

		return $can_final;
	}

	/**
	 * Check referer page to see if its from admin
	 *
	 * @since 2.4.2.1
	 * @access public
	 */
	public static function from_admin() {
		return !empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], get_admin_url()) === 0;
	}

	/**
	 * Check if it can use CDN replacement
	 *
	 * @since  1.2.3
	 * @since  2.3.1 Relocated from cdn.cls
	 * @access public
	 */
	public static function can_cdn() {
		$can = true;

		if (is_admin()) {
			if (!self::is_ajax()) {
				Debug2::debug2('[Router] CDN bypassed: is not ajax call');
				$can = false;
			}

			if (self::from_admin()) {
				Debug2::debug2('[Router] CDN bypassed: ajax call from admin');
				$can = false;
			}
		} elseif (is_feed()) {
			$can = false;
		} elseif (is_preview()) {
			$can = false;
		}

		/**
		 * Bypass cron to avoid deregister jq notice `Do not deregister the <code>jquery-core</code> script in the administration area.`
		 *
		 * @since  2.7.2
		 */
		if (wp_doing_cron()) {
			$can = false;
		}

		/**
		 * Bypass login/reg page
		 *
		 * @since  1.6
		 */
		if (self::_is_login_page()) {
			Debug2::debug('[Router] CDN bypassed: login/reg page');
			$can = false;
		}

		/**
		 * Bypass post/page link setting
		 *
		 * @since 2.9.8.5
		 */
		$rest_prefix = function_exists('rest_get_url_prefix') ? rest_get_url_prefix() : apply_filters('rest_url_prefix', 'wp-json');
		if (
			!empty($_SERVER['REQUEST_URI']) &&
			strpos($_SERVER['REQUEST_URI'], $rest_prefix . '/wp/v2/media') !== false &&
			isset($_SERVER['HTTP_REFERER']) &&
			strpos($_SERVER['HTTP_REFERER'], 'wp-admin') !== false
		) {
			Debug2::debug('[Router] CDN bypassed: wp-json on admin page');
			$can = false;
		}

		$can_final = apply_filters('litespeed_can_cdn', $can);

		if ($can_final != $can) {
			Debug2::debug('[Router] CDN bypassed: filter');
		}

		return $can_final;
	}

	/**
	 * Check if is login page or not
	 *
	 * @since  2.3.1
	 * @access protected
	 */
	protected static function _is_login_page() {
		if (in_array($GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ), true)) {
			return true;
		}

		return false;
	}

	/**
	 * UCSS/Crawler role simulator
	 *
	 * @since  1.9.1
	 * @since  3.3 Renamed from `is_crawler_role_simulation`
	 */
	public function is_role_simulation() {
		if (is_admin()) {
			return;
		}

		if (empty($_COOKIE['litespeed_hash']) && empty($_COOKIE['litespeed_flash_hash'])) {
			return;
		}

		self::debug('🪪 starting role validation');

		// Check if is from crawler
		// if ( empty( $_SERVER[ 'HTTP_USER_AGENT' ] ) || strpos( $_SERVER[ 'HTTP_USER_AGENT' ], Crawler::FAST_USER_AGENT ) !== 0 ) {
		// Debug2::debug( '[Router] user agent not match' );
		// return;
		// }
		$server_ip = $this->conf(self::O_SERVER_IP);
		if (!$server_ip || self::get_ip() !== $server_ip) {
			self::debug('❌❌ Role simulate uid denied! Not localhost visit!');
			Control::set_nocache('Role simulate uid denied');
			return;
		}

		// Flash hash validation
		if (!empty($_COOKIE['litespeed_flash_hash'])) {
			$hash_data = self::get_option(self::ITEM_FLASH_HASH, array());
			if ($hash_data && is_array($hash_data) && !empty($hash_data['hash']) && !empty($hash_data['ts']) && !empty($hash_data['uid'])) {
				if (time() - $hash_data['ts'] < 120 && $_COOKIE['litespeed_flash_hash'] == $hash_data['hash']) {
					self::debug('🪪 Role simulator flash hash matched, escalating user to be uid=' . $hash_data['uid']);
					self::delete_option(self::ITEM_FLASH_HASH);
					wp_set_current_user($hash_data['uid']);
					return;
				}
			}
		}
		// Hash validation
		if (!empty($_COOKIE['litespeed_hash'])) {
			$hash_data = self::get_option(self::ITEM_HASH, array());
			if ($hash_data && is_array($hash_data) && !empty($hash_data['hash']) && !empty($hash_data['ts']) && !empty($hash_data['uid'])) {
				$RUN_DURATION = $this->cls('Crawler')->get_crawler_duration();
				if (time() - $hash_data['ts'] < $RUN_DURATION && $_COOKIE['litespeed_hash'] == $hash_data['hash']) {
					self::debug('🪪 Role simulator hash matched, escalating user to be uid=' . $hash_data['uid']);
					wp_set_current_user($hash_data['uid']);
					return;
				}
			}
		}

		self::debug('❌ WARNING: role simulator hash not match');
	}

	/**
	 * Get a short ttl hash (2mins)
	 *
	 * @since  6.4
	 */
	public function get_flash_hash( $uid ) {
		$hash_data = self::get_option(self::ITEM_FLASH_HASH, array());
		if ($hash_data && is_array($hash_data) && !empty($hash_data['hash']) && !empty($hash_data['ts'])) {
			if (time() - $hash_data['ts'] < 60) {
				return $hash_data['hash'];
			}
		}

		// Check if this user has editor access or not
		if (user_can($uid, 'edit_posts')) {
			self::debug('🛑 The user with id ' . $uid . ' has editor access, which is not allowed for the role simulator.');
			return '';
		}

		$hash = Str::rrand(32);
		self::update_option(self::ITEM_FLASH_HASH, array(
			'hash' => $hash,
			'ts' => time(),
			'uid' => $uid,
		));
		return $hash;
	}

	/**
	 * Get a security hash
	 *
	 * @since  3.3
	 */
	public function get_hash( $uid ) {
		// Check if this user has editor access or not
		if (user_can($uid, 'edit_posts')) {
			self::debug('🛑 The user with id ' . $uid . ' has editor access, which is not allowed for the role simulator.');
			return '';
		}

		// As this is called only when starting crawling, not per page, no need to reuse
		$hash = Str::rrand(32);
		self::update_option(self::ITEM_HASH, array(
			'hash' => $hash,
			'ts' => time(),
			'uid' => $uid,
		));
		return $hash;
	}

	/**
	 * Get user role
	 *
	 * @since  1.6.2
	 */
	public static function get_role( $uid = null ) {
		if (defined('LITESPEED_WP_ROLE')) {
			return LITESPEED_WP_ROLE;
		}

		if ($uid === null) {
			$uid = get_current_user_id();
		}

		$role = false;
		if ($uid) {
			$user = get_userdata($uid);
			if (isset($user->roles) && is_array($user->roles)) {
				$tmp  = array_values($user->roles);
				$role = implode(',', $tmp); // Combine for PHP5.3 const compatibility
			}
		}
		Debug2::debug('[Router] get_role: ' . $role);

		if (!$role) {
			return $role;
			// Guest user
			Debug2::debug('[Router] role: guest');

			/**
			 * Fix double login issue
			 * The previous user init refactoring didn't fix this bcos this is in login process and the user role could change
			 *
			 * @see  https://github.com/litespeedtech/lscache_wp/commit/69e7bc71d0de5cd58961bae953380b581abdc088
			 * @since  2.9.8 Won't assign const if in login process
			 */
			if (substr_compare(wp_login_url(), $GLOBALS['pagenow'], -strlen($GLOBALS['pagenow'])) === 0) {
				return $role;
			}
		}

		define('LITESPEED_WP_ROLE', $role);

		return LITESPEED_WP_ROLE;
	}

	/**
	 * Get frontend path
	 *
	 * @since 1.2.2
	 * @access public
	 * @return boolean
	 */
	public static function frontend_path() {
		// todo: move to htaccess.cls ?
		if (!isset(self::$_frontend_path)) {
			$frontend = rtrim(ABSPATH, '/'); // /home/user/public_html/frontend
			// get home path failed. Trac ticket #37668 (e.g. frontend:/blog backend:/wordpress)
			if (!$frontend) {
				Debug2::debug('[Router] No ABSPATH, generating from home option');
				$frontend = parse_url(get_option('home'));
				$frontend = !empty($frontend['path']) ? $frontend['path'] : '';
				$frontend = $_SERVER['DOCUMENT_ROOT'] . $frontend;
			}
			$frontend = realpath($frontend);

			self::$_frontend_path = $frontend;
		}
		return self::$_frontend_path;
	}

	/**
	 * Check if ESI is enabled or not
	 *
	 * @since 1.2.0
	 * @access public
	 * @return boolean
	 */
	public function esi_enabled() {
		if (!isset(self::$_esi_enabled)) {
			self::$_esi_enabled = defined('LITESPEED_ON') && $this->conf(self::O_ESI);
			if (!empty($_REQUEST[self::ACTION])) {
				self::$_esi_enabled = false;
			}
		}
		return self::$_esi_enabled;
	}

	/**
	 * Check if crawler is enabled on server level
	 *
	 * @since 1.1.1
	 * @access public
	 */
	public static function can_crawl() {
		if (isset($_SERVER['X-LSCACHE']) && strpos($_SERVER['X-LSCACHE'], 'crawler') === false) {
			return false;
		}

		// CLI will bypass this check as crawler library can always do the 428 check
		if (defined('LITESPEED_CLI')) {
			return true;
		}

		return true;
	}

	/**
	 * Check action
	 *
	 * @since 1.1.0
	 * @access public
	 * @return string
	 */
	public static function get_action() {
		if (!isset(self::$_action)) {
			self::$_action = false;
			self::cls()->verify_action();
			if (self::$_action) {
				defined('LSCWP_LOG') && Debug2::debug('[Router] LSCWP_CTRL verified: ' . var_export(self::$_action, true));
			}
		}
		return self::$_action;
	}

	/**
	 * Check if is logged in
	 *
	 * @since 1.1.3
	 * @access public
	 * @return boolean
	 */
	public static function is_logged_in() {
		if (!isset(self::$_is_logged_in)) {
			self::$_is_logged_in = is_user_logged_in();
		}
		return self::$_is_logged_in;
	}

	/**
	 * Check if is ajax call
	 *
	 * @since 1.1.0
	 * @access public
	 * @return boolean
	 */
	public static function is_ajax() {
		if (!isset(self::$_is_ajax)) {
			self::$_is_ajax = wp_doing_ajax();
		}
		return self::$_is_ajax;
	}

	/**
	 * Check if is admin ip
	 *
	 * @since 1.1.0
	 * @access public
	 * @return boolean
	 */
	public function is_admin_ip() {
		if (!isset(self::$_is_admin_ip)) {
			$ips = $this->conf(self::O_DEBUG_IPS);

			self::$_is_admin_ip = $this->ip_access($ips);
		}
		return self::$_is_admin_ip;
	}

	/**
	 * Get type value
	 *
	 * @since 1.6
	 * @access public
	 */
	public static function verify_type() {
		if (empty($_REQUEST[self::TYPE])) {
			Debug2::debug('[Router] no type', 2);
			return false;
		}

		Debug2::debug('[Router] parsed type: ' . $_REQUEST[self::TYPE], 2);

		return $_REQUEST[self::TYPE];
	}

	/**
	 * Check privilege and nonce for the action
	 *
	 * @since 1.1.0
	 * @access private
	 */
	private function verify_action() {
		if (empty($_REQUEST[self::ACTION])) {
			Debug2::debug2('[Router] LSCWP_CTRL bypassed empty');
			return;
		}

		$action = stripslashes($_REQUEST[self::ACTION]);

		if (!$action) {
			return;
		}

		$_is_public_action = false;

		// Each action must have a valid nonce unless its from admin ip and is public action
		// Validate requests nonce (from admin logged in page or cli)
		if (!$this->verify_nonce($action)) {
			// check if it is from admin ip
			if (!$this->is_admin_ip()) {
				Debug2::debug('[Router] LSCWP_CTRL query string - did not match admin IP: ' . $action);
				return;
			}

			// check if it is public action
			if (
				!in_array($action, array(
					Core::ACTION_QS_NOCACHE,
					Core::ACTION_QS_PURGE,
					Core::ACTION_QS_PURGE_SINGLE,
					Core::ACTION_QS_SHOW_HEADERS,
					Core::ACTION_QS_PURGE_ALL,
					Core::ACTION_QS_PURGE_EMPTYCACHE,
				))
			) {
				Debug2::debug('[Router] LSCWP_CTRL query string - did not match admin IP Actions: ' . $action);
				return;
			}

			if (apply_filters('litespeed_qs_forbidden', false)) {
				Debug2::debug('[Router] LSCWP_CTRL forbidden by hook litespeed_qs_forbidden');
				return;
			}

			$_is_public_action = true;
		}

		/* Now it is a valid action, lets log and check the permission */
		Debug2::debug('[Router] LSCWP_CTRL: ' . $action);

		// OK, as we want to do something magic, lets check if its allowed
		$_is_multisite       = is_multisite();
		$_is_network_admin   = $_is_multisite && is_network_admin();
		$_can_network_option = $_is_network_admin && current_user_can('manage_network_options');
		$_can_option         = current_user_can('manage_options');

		switch ($action) {
			case self::ACTION_TMP_DISABLE: // Disable LSC for 24H
				Debug2::tmp_disable();
				Admin::redirect("?page=litespeed-toolbox#settings-debug");
				return;

			case self::ACTION_SAVE_SETTINGS_NETWORK: // Save network settings
            if ($_can_network_option) {
					self::$_action = $action;
				}
				return;

			case Core::ACTION_PURGE_BY:
            if (defined('LITESPEED_ON') && ($_can_network_option || $_can_option || self::is_ajax())) {
					// here may need more security
					self::$_action = $action;
				}
				return;

			case self::ACTION_DB_OPTM:
            if ($_can_network_option || $_can_option) {
					self::$_action = $action;
				}
				return;

			case Core::ACTION_PURGE_EMPTYCACHE: // todo: moved to purge.cls type action
            if ((defined('LITESPEED_ON') || $_is_network_admin) && ($_can_network_option || (!$_is_multisite && $_can_option))) {
					self::$_action = $action;
				}
				return;

			case Core::ACTION_QS_NOCACHE:
			case Core::ACTION_QS_PURGE:
			case Core::ACTION_QS_PURGE_SINGLE:
			case Core::ACTION_QS_SHOW_HEADERS:
			case Core::ACTION_QS_PURGE_ALL:
			case Core::ACTION_QS_PURGE_EMPTYCACHE:
            if (defined('LITESPEED_ON') && ($_is_public_action || self::is_ajax())) {
					self::$_action = $action;
				}
				return;

			case self::ACTION_ADMIN_DISPLAY:
			case self::ACTION_PLACEHOLDER:
			case self::ACTION_AVATAR:
			case self::ACTION_IMG_OPTM:
			case self::ACTION_CLOUD:
			case self::ACTION_CDN_CLOUDFLARE:
			case self::ACTION_CRAWLER:
			case self::ACTION_GUEST:
			case self::ACTION_PRESET:
			case self::ACTION_IMPORT:
			case self::ACTION_REPORT:
			case self::ACTION_CSS:
			case self::ACTION_UCSS:
			case self::ACTION_VPI:
			case self::ACTION_CONF:
			case self::ACTION_ACTIVATION:
			case self::ACTION_HEALTH:
			case self::ACTION_SAVE_SETTINGS: // Save settings
            if ($_can_option && !$_is_network_admin) {
					self::$_action = $action;
				}
				return;

			case self::ACTION_PURGE:
			case self::ACTION_DEBUG2:
            if ($_can_network_option || $_can_option) {
					self::$_action = $action;
				}
				return;

			case Core::ACTION_DISMISS:
            /**
             * Non ajax call can dismiss too
             *
             * @since  2.9
             */
            // if ( self::is_ajax() ) {
            self::$_action = $action;
            // }
				return;

			default:
            Debug2::debug('[Router] LSCWP_CTRL match failed: ' . $action);
				return;
		}
	}

	/**
	 * Verify nonce
	 *
	 * @since 1.1.0
	 * @access public
	 * @param  string $action
	 * @return bool
	 */
	public function verify_nonce( $action ) {
		if (!isset($_REQUEST[self::NONCE]) || !wp_verify_nonce($_REQUEST[self::NONCE], $action)) {
			return false;
		} else {
			return true;
		}
	}

	/**
	 * Check if the ip is in the range
	 *
	 * @since 1.1.0
	 * @access public
	 */
	public function ip_access( $ip_list ) {
		if (!$ip_list) {
			return false;
		}
		if (!isset(self::$_ip)) {
			self::$_ip = self::get_ip();
		}

		if (!self::$_ip) {
			return false;
		}
		// $uip = explode('.', $_ip);
		// if(empty($uip) || count($uip) != 4) Return false;
		// foreach($ip_list as $key => $ip) $ip_list[$key] = explode('.', trim($ip));
		// foreach($ip_list as $key => $ip) {
		// if(count($ip) != 4) continue;
		// for($i = 0; $i <= 3; $i++) if($ip[$i] == '*') $ip_list[$key][$i] = $uip[$i];
		// }
		return in_array(self::$_ip, $ip_list);
	}

	/**
	 * Get client ip
	 *
	 * @since 1.1.0
	 * @since  1.6.5 changed to public
	 * @access public
	 * @return string
	 */
	public static function get_ip() {
		$_ip = '';
		// if ( function_exists( 'apache_request_headers' ) ) {
		// $apache_headers = apache_request_headers();
		// $_ip = ! empty( $apache_headers['True-Client-IP'] ) ? $apache_headers['True-Client-IP'] : false;
		// if ( ! $_ip ) {
		// $_ip = ! empty( $apache_headers['X-Forwarded-For'] ) ? $apache_headers['X-Forwarded-For'] : false;
		// $_ip = explode( ',', $_ip );
		// $_ip = $_ip[ 0 ];
		// }

		// }

		if (!$_ip) {
			$_ip = !empty($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : false;
		}
		return $_ip;
	}

	/**
	 * Check if opcode cache is enabled
	 *
	 * @since  1.8.2
	 * @access public
	 */
	public static function opcache_enabled() {
		return function_exists('opcache_reset') && ini_get('opcache.enable');
	}

	/**
	 * Check if opcode cache is restricted and file that is requesting.
	 * https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.restrict-api
	 *
	 * @since  7.3
	 * @access public
	 */
	public static function opcache_restricted($file)
	{
		$restrict_value = ini_get('opcache.restrict_api');
		if ($restrict_value) {
			if ( !$file || false === strpos($restrict_value, $file) ) {
				return true;
			}
		}

		return false;
	}

	/**
	 * Handle static files
	 *
	 * @since  3.0
	 */
	public function serve_static() {
		if (!empty($_SERVER['SCRIPT_URI'])) {
			if (strpos($_SERVER['SCRIPT_URI'], LITESPEED_STATIC_URL . '/') !== 0) {
				return;
			}
			$path = substr($_SERVER['SCRIPT_URI'], strlen(LITESPEED_STATIC_URL . '/'));
		} elseif (!empty($_SERVER['REQUEST_URI'])) {
			$static_path = parse_url(LITESPEED_STATIC_URL, PHP_URL_PATH) . '/';
			if (strpos($_SERVER['REQUEST_URI'], $static_path) !== 0) {
				return;
			}
			$path = substr(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), strlen($static_path));
		} else {
			return;
		}

		$path = explode('/', $path, 2);

		if (empty($path[0]) || empty($path[1])) {
			return;
		}

		switch ($path[0]) {
			case 'avatar':
            $this->cls('Avatar')->serve_static($path[1]);
				break;

			case 'localres':
            $this->cls('Localization')->serve_static($path[1]);
				break;

			default:
				break;
		}
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * This is different than other handlers
	 *
	 * @since  3.0
	 * @access public
	 */
	public function handler( $cls ) {
		if (!in_array($cls, self::$_HANDLERS)) {
			return;
		}

		return $this->cls($cls)->handler();
	}
}
PK�^�\�#���?�?litespeed-cache/src/cdn.cls.phpnu�[���<?php
/**
 * CDN handling for LiteSpeed Cache.
 *
 * Rewrites eligible asset URLs to configured CDN endpoints and integrates with WordPress filters.
 *
 * @since 1.2.3
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class CDN
 *
 * Processes page content and WordPress asset URLs to map to CDN domains according to settings.
 */
class CDN extends Root {
	const LOG_TAG = '[CDN]';

	const BYPASS = 'LITESPEED_BYPASS_CDN';

	/**
	 * The working HTML/content buffer being processed.
	 *
	 * @var string
	 */
	private $content;

	/**
	 * Whether CDN feature is enabled.
	 *
	 * @var bool
	 */
	private $_cfg_cdn;

	/**
	 * List of original site URLs (may include wildcards) to be replaced.
	 *
	 * @var string[]
	 */
	private $_cfg_url_ori;

	/**
	 * List of directories considered internal/original for CDN rewriting.
	 *
	 * @var string[]
	 */
	private $_cfg_ori_dir;

	/**
	 * CDN mapping rules; keys include mapping kinds or file extensions, values are URL(s).
	 *
	 * @var array<string,string|string[]>
	 */
	private $_cfg_cdn_mapping = [];

	/**
	 * List of URL substrings/regex used to exclude items from CDN.
	 *
	 * @var string[]
	 */
	private $_cfg_cdn_exclude;

	/**
	 * Hosts used by CDN mappings for quick membership checks.
	 *
	 * @var string[]
	 */
	private $cdn_mapping_hosts = [];

	/**
	 * Initialize CDN integration and register filters if enabled.
	 *
	 * @since 1.2.3
	 * @return void
	 */
	public function init() {
		self::debug2( 'init' );

		if ( defined( self::BYPASS ) ) {
			self::debug2( 'CDN bypass' );
			return;
		}

		if ( ! Router::can_cdn() ) {
			if ( ! defined( self::BYPASS ) ) {
				define( self::BYPASS, true );
			}
			return;
		}

		$this->_cfg_cdn = $this->conf( Base::O_CDN );
		if ( ! $this->_cfg_cdn ) {
			if ( ! defined( self::BYPASS ) ) {
				define( self::BYPASS, true );
			}
			return;
		}

		$this->_cfg_url_ori = $this->conf( Base::O_CDN_ORI );
		// Parse cdn mapping data to array( 'filetype' => 'url' )
		$mapping_to_check = [ Base::CDN_MAPPING_INC_IMG, Base::CDN_MAPPING_INC_CSS, Base::CDN_MAPPING_INC_JS ];
		foreach ( $this->conf( Base::O_CDN_MAPPING ) as $v ) {
			if ( ! $v[ Base::CDN_MAPPING_URL ] ) {
				continue;
			}
			$this_url  = $v[ Base::CDN_MAPPING_URL ];
			$this_host = wp_parse_url( $this_url, PHP_URL_HOST );
			// Check img/css/js
			foreach ( $mapping_to_check as $to_check ) {
				if ( $v[ $to_check ] ) {
					self::debug2( 'mapping ' . $to_check . ' -> ' . $this_url );

					// If filetype to url is one to many, make url be an array
					$this->_append_cdn_mapping( $to_check, $this_url );

					if ( ! in_array( $this_host, $this->cdn_mapping_hosts, true ) ) {
						$this->cdn_mapping_hosts[] = $this_host;
					}
				}
			}
			// Check file types
			if ( $v[ Base::CDN_MAPPING_FILETYPE ] ) {
				foreach ( $v[ Base::CDN_MAPPING_FILETYPE ] as $v2 ) {
					$this->_cfg_cdn_mapping[ Base::CDN_MAPPING_FILETYPE ] = true;

					// If filetype to url is one to many, make url be an array
					$this->_append_cdn_mapping( $v2, $this_url );

					if ( ! in_array( $this_host, $this->cdn_mapping_hosts, true ) ) {
						$this->cdn_mapping_hosts[] = $this_host;
					}
				}
				self::debug2( 'mapping ' . implode( ',', $v[ Base::CDN_MAPPING_FILETYPE ] ) . ' -> ' . $this_url );
			}
		}

		if ( ! $this->_cfg_url_ori || ! $this->_cfg_cdn_mapping ) {
			if ( ! defined( self::BYPASS ) ) {
				define( self::BYPASS, true );
			}
			return;
		}

		$this->_cfg_ori_dir = $this->conf( Base::O_CDN_ORI_DIR );
		// In case user customized upload path
		if ( defined( 'UPLOADS' ) ) {
			$this->_cfg_ori_dir[] = UPLOADS;
		}

		// Check if need preg_replace
		$this->_cfg_url_ori = Utility::wildcard2regex( $this->_cfg_url_ori );

		$this->_cfg_cdn_exclude = $this->conf( Base::O_CDN_EXC );

		if ( ! empty( $this->_cfg_cdn_mapping[ Base::CDN_MAPPING_INC_IMG ] ) ) {
			// Hook to srcset
			if ( function_exists( 'wp_calculate_image_srcset' ) ) {
				add_filter( 'wp_calculate_image_srcset', [ $this, 'srcset' ], 999 );
			}
			// Hook to mime icon
			add_filter( 'wp_get_attachment_image_src', [ $this, 'attach_img_src' ], 999 );
			add_filter( 'wp_get_attachment_url', [ $this, 'url_img' ], 999 );
		}

		if ( ! empty( $this->_cfg_cdn_mapping[ Base::CDN_MAPPING_INC_CSS ] ) ) {
			add_filter( 'style_loader_src', [ $this, 'url_css' ], 999 );
		}

		if ( ! empty( $this->_cfg_cdn_mapping[ Base::CDN_MAPPING_INC_JS ] ) ) {
			add_filter( 'script_loader_src', [ $this, 'url_js' ], 999 );
		}

		add_filter( 'litespeed_buffer_finalize', [ $this, 'finalize' ], 30 );
	}

	/**
	 * Associate all filetypes with CDN URL.
	 *
	 * @since 2.0
	 * @access private
	 *
	 * @param string $filetype Mapping key (e.g., extension or mapping constant).
	 * @param string $url      CDN base URL to use for this mapping.
	 * @return void
	 */
	private function _append_cdn_mapping( $filetype, $url ) {
		// If filetype to url is one to many, make url be an array
		if ( empty( $this->_cfg_cdn_mapping[ $filetype ] ) ) {
			$this->_cfg_cdn_mapping[ $filetype ] = $url;
		} elseif ( is_array( $this->_cfg_cdn_mapping[ $filetype ] ) ) {
			// Append url to filetype
			$this->_cfg_cdn_mapping[ $filetype ][] = $url;
		} else {
			// Convert _cfg_cdn_mapping from string to array
			$this->_cfg_cdn_mapping[ $filetype ] = [ $this->_cfg_cdn_mapping[ $filetype ], $url ];
		}
	}

	/**
	 * Whether the given type is included in CDN mappings.
	 *
	 * @since 1.6.2.1
	 *
	 * @param string $type 'css' or 'js'.
	 * @return bool True if included in CDN.
	 */
	public function inc_type( $type ) {
		if ( 'css' === $type && ! empty( $this->_cfg_cdn_mapping[ Base::CDN_MAPPING_INC_CSS ] ) ) {
			return true;
		}

		if ( 'js' === $type && ! empty( $this->_cfg_cdn_mapping[ Base::CDN_MAPPING_INC_JS ] ) ) {
			return true;
		}

		return false;
	}

	/**
	 * Run CDN processing on finalized buffer.
	 * NOTE: After cache finalized, cannot change cache control.
	 *
	 * @since 1.2.3
	 * @access public
	 *
	 * @param string $content The HTML/content buffer.
	 * @return string The processed content.
	 */
	public function finalize( $content ) {
		$this->content = $content;

		$this->_finalize();
		return $this->content;
	}

	/**
	 * Replace eligible URLs with CDN URLs in the working buffer.
	 *
	 * @since 1.2.3
	 * @access private
	 * @return void
	 */
	private function _finalize() {
		if ( defined( self::BYPASS ) ) {
			return;
		}

		self::debug( 'CDN _finalize' );

		// Start replacing img src
		if ( ! empty( $this->_cfg_cdn_mapping[ Base::CDN_MAPPING_INC_IMG ] ) ) {
			$this->_replace_img();
			$this->_replace_inline_css();
		}

		if ( ! empty( $this->_cfg_cdn_mapping[ Base::CDN_MAPPING_FILETYPE ] ) ) {
			$this->_replace_file_types();
		}
	}

	/**
	 * Parse all file types and replace according to configured attributes.
	 *
	 * @since 1.2.3
	 * @access private
	 * @return void
	 */
	private function _replace_file_types() {
		$ele_to_check = $this->conf( Base::O_CDN_ATTR );

		foreach ( $ele_to_check as $v ) {
			if ( ! $v || false === strpos( $v, '.' ) ) {
				self::debug2( 'replace setting bypassed: no . attribute ' . $v );
				continue;
			}

			self::debug2( 'replace attribute ' . $v );

			$v    = explode( '.', $v );
			$attr = preg_quote( $v[1], '#' );
			if ( $v[0] ) {
				$pattern = '#<' . preg_quote( $v[0], '#' ) . '([^>]+)' . $attr . '=([\'"])(.+)\g{2}#iU';
			} else {
				$pattern = '# ' . $attr . '=([\'"])(.+)\g{1}#iU';
			}

			preg_match_all( $pattern, $this->content, $matches );

			if (empty($matches[$v[0] ? 3 : 2])) {
				continue;
			}

			foreach ($matches[$v[0] ? 3 : 2] as $k2 => $url) {
				// self::debug2( 'check ' . $url );
				$postfix = '.' . pathinfo((string) wp_parse_url($url, PHP_URL_PATH), PATHINFO_EXTENSION);
				if (!array_key_exists($postfix, $this->_cfg_cdn_mapping)) {
					// self::debug2( 'non-existed postfix ' . $postfix );
					continue;
				}

				self::debug2( 'matched file_type ' . $postfix . ' : ' . $url );

				$url2 = $this->rewrite( $url, Base::CDN_MAPPING_FILETYPE, $postfix );
				if ( ! $url2 ) {
					continue;
				}

				$attr_str      = str_replace( $url, $url2, $matches[0][ $k2 ] );
				$this->content = str_replace( $matches[0][ $k2 ], $attr_str, $this->content );
			}
		}
	}

	/**
	 * Parse all images and replace their src attributes.
	 *
	 * @since 1.2.3
	 * @access private
	 * @return void
	 */
	private function _replace_img() {
		preg_match_all( '#<img([^>]+?)src=([\'"\\\]*)([^\'"\s\\\>]+)([\'"\\\]*)([^>]*)>#i', $this->content, $matches );
		foreach ( $matches[3] as $k => $url ) {
			// Check if is a DATA-URI
			if ( false !== strpos( $url, 'data:image' ) ) {
				continue;
			}

			$url2 = $this->rewrite( $url, Base::CDN_MAPPING_INC_IMG );
			if ( ! $url2 ) {
				continue;
			}

			$html_snippet  = sprintf( '<img %1$s src=%2$s %3$s>', $matches[1][ $k ], $matches[2][ $k ] . $url2 . $matches[4][ $k ], $matches[5][ $k ] );
			$this->content = str_replace( $matches[0][ $k ], $html_snippet, $this->content );
		}
	}

	/**
	 * Parse and replace all inline styles containing url().
	 *
	 * @since 1.2.3
	 * @access private
	 * @return void
	 */
	private function _replace_inline_css() {
		self::debug2( '_replace_inline_css', $this->_cfg_cdn_mapping );

		/**
		 * Excludes `\` from URL matching
		 *
		 * @see  #959152 - WordPress LSCache CDN Mapping causing malformed URLS
		 * @see  #685485
		 * @since 3.0
		 */
		preg_match_all( '/url\((?![\'"]?data)[\'"]?(.+?)[\'"]?\)/i', $this->content, $matches );
		foreach ( $matches[1] as $k => $url ) {
			$url = str_replace( [ ' ', '\t', '\n', '\r', '\0', '\x0B', '"', "'", '&quot;', '&#039;' ], '', $url );

			// Parse file postfix
			$parsed_url = wp_parse_url( $url, PHP_URL_PATH );
			if ( ! $parsed_url ) {
				continue;
			}

			$postfix = '.' . pathinfo( $parsed_url, PATHINFO_EXTENSION );
			if ( array_key_exists( $postfix, $this->_cfg_cdn_mapping ) ) {
				self::debug2( 'matched file_type ' . $postfix . ' : ' . $url );
				$url2 = $this->rewrite( $url, Base::CDN_MAPPING_FILETYPE, $postfix );
				if ( ! $url2 ) {
					continue;
				}
			} elseif ( in_array( $postfix, [ 'jpg', 'jpeg', 'png', 'gif', 'svg', 'webp', 'avif' ], true ) ) {
				$url2 = $this->rewrite( $url, Base::CDN_MAPPING_INC_IMG );
				if ( ! $url2 ) {
					continue;
				}
			} else {
				continue;
			}

			$attr          = str_replace( $matches[1][ $k ], $url2, $matches[0][ $k ] );
			$this->content = str_replace( $matches[0][ $k ], $attr, $this->content );
		}

		self::debug2( '_replace_inline_css done' );
	}

	/**
	 * Filter: wp_get_attachment_image_src.
	 *
	 * @since 1.2.3
	 * @since 1.7 Removed static from function.
	 * @access public
	 *
	 * @param array{0:string,1:int,2:int} $img The URL of the attachment image src, the width, the height.
	 * @return array{0:string,1:int,2:int}
	 */
	public function attach_img_src( $img ) {
		if ( $img ) {
			$url = $this->rewrite( $img[0], Base::CDN_MAPPING_INC_IMG );
			if ( $url ) {
				$img[0] = $url;
			}
		}
		return $img;
	}

	/**
	 * Try to rewrite one image URL with CDN.
	 *
	 * @since 1.7
	 * @access public
	 *
	 * @param string $url Original URL.
	 * @return string URL after rewriting, or original if not applicable.
	 */
	public function url_img( $url ) {
		if ( $url ) {
			$url2 = $this->rewrite( $url, Base::CDN_MAPPING_INC_IMG );
			if ( $url2 ) {
				$url = $url2;
			}
		}
		return $url;
	}

	/**
	 * Try to rewrite one CSS URL with CDN.
	 *
	 * @since 1.7
	 * @access public
	 *
	 * @param string $url Original URL.
	 * @return string URL after rewriting, or original if not applicable.
	 */
	public function url_css( $url ) {
		if ( $url ) {
			$url2 = $this->rewrite( $url, Base::CDN_MAPPING_INC_CSS );
			if ( $url2 ) {
				$url = $url2;
			}
		}
		return $url;
	}

	/**
	 * Try to rewrite one JS URL with CDN.
	 *
	 * @since 1.7
	 * @access public
	 *
	 * @param string $url Original URL.
	 * @return string URL after rewriting, or original if not applicable.
	 */
	public function url_js( $url ) {
		if ( $url ) {
			$url2 = $this->rewrite( $url, Base::CDN_MAPPING_INC_JS );
			if ( $url2 ) {
				$url = $url2;
			}
		}
		return $url;
	}

	/**
	 * Filter responsive image sources for CDN.
	 *
	 * @since 1.2.3
	 * @since 1.7 Removed static from function.
	 * @access public
	 *
	 * @param array<int,array{url:string}> $srcs Srcset array.
	 * @return array<int,array{url:string}>
	 */
	public function srcset( $srcs ) {
		if ( $srcs ) {
			foreach ( $srcs as $w => $data ) {
				$url = $this->rewrite( $data['url'], Base::CDN_MAPPING_INC_IMG );
				if ( ! $url ) {
					continue;
				}
				$srcs[ $w ]['url'] = $url;
			}
		}
		return $srcs;
	}

	/**
	 * Replace an URL with mapped CDN URL, if applicable.
	 *
	 * @since 1.2.3
	 * @access public
	 *
	 * @param string       $url          Target URL.
	 * @param string       $mapping_kind Mapping kind (e.g., Base::CDN_MAPPING_INC_IMG or Base::CDN_MAPPING_FILETYPE).
	 * @param string|false $postfix      File extension (with dot) when mapping by file type.
	 * @return string|false Replaced URL on success, false when not applicable.
	 */
	public function rewrite( $url, $mapping_kind, $postfix = false ) {
		self::debug2( 'rewrite ' . $url );
		$url_parsed = wp_parse_url( $url );

		if ( empty( $url_parsed['path'] ) ) {
			self::debug2( '-rewrite bypassed: no path' );
			return false;
		}

		// Only images under wp-content/wp-includes can be replaced
		$is_internal_folder = Utility::str_hit_array( $url_parsed['path'], $this->_cfg_ori_dir );
		if ( ! $is_internal_folder ) {
			self::debug2( '-rewrite failed: path not match: ' . LSCWP_CONTENT_FOLDER );
			return false;
		}

		// Check if is external url
		if ( ! empty( $url_parsed['host'] ) ) {
			if ( ! Utility::internal( $url_parsed['host'] ) && ! $this->_is_ori_url( $url ) ) {
				self::debug2( '-rewrite failed: host not internal' );
				return false;
			}
		}

		$exclude = Utility::str_hit_array( $url, $this->_cfg_cdn_exclude );
		if ( $exclude ) {
			self::debug2( '-abort excludes ' . $exclude );
			return false;
		}

		// Fill full url before replacement
		if ( empty( $url_parsed['host'] ) ) {
			$url = Utility::uri2url( $url );
			self::debug2( '-fill before rewritten: ' . $url );

			$url_parsed = wp_parse_url( $url );
		}

		$scheme = ! empty( $url_parsed['scheme'] ) ? $url_parsed['scheme'] . ':' : '';

		// Find the mapping url to be replaced to
		if ( empty( $this->_cfg_cdn_mapping[ $mapping_kind ] ) ) {
			return false;
		}
		if ( Base::CDN_MAPPING_FILETYPE !== $mapping_kind ) {
			$final_url = $this->_cfg_cdn_mapping[ $mapping_kind ];
		} else {
			// select from file type
			$final_url = $this->_cfg_cdn_mapping[ $postfix ];
			if ( ! $final_url ) {
				return false;
			}
		}

		// If filetype to url is one to many, need to random one
		if ( is_array( $final_url ) ) {
			$final_url = $final_url[ array_rand( $final_url ) ];
		}

		// Now lets replace CDN url
		foreach ( $this->_cfg_url_ori as $v ) {
			if ( false !== strpos( $v, '*' ) ) {
				$url = preg_replace( '#' . $scheme . $v . '#iU', $final_url, $url );
			} else {
				$url = str_replace( $scheme . $v, $final_url, $url );
			}
		}
		self::debug2( '-rewritten: ' . $url );

		return $url;
	}

	/**
	 * Check if the given URL matches any configured "original" URLs for CDN.
	 *
	 * @since 2.1
	 * @access private
	 *
	 * @param string $url URL to test.
	 * @return bool True if URL is one of the originals.
	 */
	private function _is_ori_url( $url ) {
		$url_parsed = wp_parse_url( $url );

		$scheme = ! empty( $url_parsed['scheme'] ) ? $url_parsed['scheme'] . ':' : '';

		foreach ( $this->_cfg_url_ori as $v ) {
			$needle = $scheme . $v;
			if ( false !== strpos( $v, '*' ) ) {
				if ( preg_match( '#' . $needle . '#iU', $url ) ) {
					return true;
				}
			} elseif ( 0 === strpos( $url, $needle ) ) {
				return true;
			}
		}

		return false;
	}

	/**
	 * Check if the host is one of the CDN mapping hosts.
	 *
	 * @since 1.2.3
	 *
	 * @param string $host Hostname to check.
	 * @return bool False when bypassed, otherwise true if internal CDN host.
	 */
	public static function internal( $host ) {
		if ( defined( self::BYPASS ) ) {
			return false;
		}

		$instance = self::cls();

		return in_array( $host, $instance->cdn_mapping_hosts, true ); // todo: can add $this->_is_ori_url() check in future
	}
}
PK�^�\�|7�mDmD litespeed-cache/src/lang.cls.phpnu�[���<?php
/**
 * The language class.
 *
 * @package LiteSpeed
 * @since 3.0
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Lang
 *
 * Provides translations and human-readable labels/status for UI.
 */
class Lang extends Base {

	/**
	 * Get image status per status bit.
	 *
	 * @since 3.0
	 *
	 * @param int|null $status Image status constant or null to return the full map.
	 * @return array<string,string>|string Array map when $status is null, otherwise a single status label or 'N/A'.
	 */
	public static function img_status( $status = null ) {
		$list = [
			Img_Optm::STATUS_NEW       => __( 'Images not requested', 'litespeed-cache' ),
			Img_Optm::STATUS_RAW       => __( 'Images ready to request', 'litespeed-cache' ),
			Img_Optm::STATUS_REQUESTED => __( 'Images requested', 'litespeed-cache' ),
			Img_Optm::STATUS_NOTIFIED  => __( 'Images notified to pull', 'litespeed-cache' ),
			Img_Optm::STATUS_PULLED    => __( 'Images optimized and pulled', 'litespeed-cache' ),
		];

		if ( null !== $status ) {
			return ! empty( $list[ $status ] ) ? $list[ $status ] : 'N/A';
		}

		return $list;
	}

	/**
	 * Try translating a string.
	 *
	 * Optionally supports sprintf-style substitutions when $raw_string
	 * contains a '::' separator (e.g. 'key::arg1::arg2').
	 *
	 * @since 4.7
	 *
	 * @param string $raw_string Raw translation key or key with ::-separated args.
	 * @return string Translated string or original raw string if not found.
	 */
	public static function maybe_translate( $raw_string ) {
		$map = [
			'auto_alias_failed_cdn' =>
				__(
					'Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict.',
					'litespeed-cache'
				) .
				' ' .
				Doc::learn_more( 'https://quic.cloud/docs/cdn/dns/how-to-setup-domain-alias/', false, false, false, true ),

			'auto_alias_failed_uid' =>
				__(
					'Unable to automatically add %1$s as a Domain Alias for main %2$s domain.',
					'litespeed-cache'
				) .
				' ' .
				__( 'Alias is in use by another QUIC.cloud account.', 'litespeed-cache' ) .
				' ' .
				Doc::learn_more( 'https://quic.cloud/docs/cdn/dns/how-to-setup-domain-alias/', false, false, false, true ),
		];

		// Maybe has placeholder.
		if ( strpos( $raw_string, '::' ) ) {
			$replacements = explode( '::', $raw_string );
			if ( empty( $map[ $replacements[0] ] ) ) {
				return $raw_string;
			}
			$tpl = $map[ $replacements[0] ];
			unset( $replacements[0] );
			return vsprintf( $tpl, array_values( $replacements ) );
		}

		// Direct translation only.
		if ( empty( $map[ $raw_string ] ) ) {
			return $raw_string;
		}

		return $map[ $raw_string ];
	}

	/**
	 * Get the title/label for an option ID.
	 *
	 * @since 3.0
	 * @access public
	 *
	 * @param string|int $id Option identifier constant.
	 * @return string Human-readable title or 'N/A' if not found.
	 */
	public static function title( $id ) {
		$_lang_list = [
			self::O_SERVER_IP => __( 'Server IP', 'litespeed-cache' ),

			self::O_CACHE                 => __( 'Enable Cache', 'litespeed-cache' ),
			self::O_CACHE_BROWSER         => __( 'Browser Cache', 'litespeed-cache' ),
			self::O_CACHE_TTL_PUB         => __( 'Default Public Cache TTL', 'litespeed-cache' ),
			self::O_CACHE_TTL_PRIV        => __( 'Default Private Cache TTL', 'litespeed-cache' ),
			self::O_CACHE_TTL_FRONTPAGE   => __( 'Default Front Page TTL', 'litespeed-cache' ),
			self::O_CACHE_TTL_FEED        => __( 'Default Feed TTL', 'litespeed-cache' ),
			self::O_CACHE_TTL_REST        => __( 'Default REST TTL', 'litespeed-cache' ),
			self::O_CACHE_TTL_STATUS      => __( 'Default HTTP Status Code Page TTL', 'litespeed-cache' ),
			self::O_CACHE_TTL_BROWSER     => __( 'Browser Cache TTL', 'litespeed-cache' ),
			self::O_CACHE_AJAX_TTL        => __( 'AJAX Cache TTL', 'litespeed-cache' ),
			self::O_AUTO_UPGRADE          => __( 'Automatically Upgrade', 'litespeed-cache' ),
			self::O_GUEST                 => __( 'Guest Mode', 'litespeed-cache' ),
			self::O_GUEST_OPTM            => __( 'Guest Optimization', 'litespeed-cache' ),
			self::O_NEWS                  => __( 'Notifications', 'litespeed-cache' ),
			self::O_CACHE_PRIV            => __( 'Cache Logged-in Users', 'litespeed-cache' ),
			self::O_CACHE_COMMENTER       => __( 'Cache Commenters', 'litespeed-cache' ),
			self::O_CACHE_REST            => __( 'Cache REST API', 'litespeed-cache' ),
			self::O_CACHE_PAGE_LOGIN      => __( 'Cache Login Page', 'litespeed-cache' ),
			self::O_CACHE_MOBILE          => __( 'Cache Mobile', 'litespeed-cache' ),
			self::O_CACHE_MOBILE_RULES    => __( 'List of Mobile User Agents', 'litespeed-cache' ),
			self::O_CACHE_PRIV_URI        => __( 'Private Cached URIs', 'litespeed-cache' ),
			self::O_CACHE_DROP_QS         => __( 'Drop Query String', 'litespeed-cache' ),

			self::O_OBJECT                      => __( 'Object Cache', 'litespeed-cache' ),
			self::O_OBJECT_KIND                 => __( 'Method', 'litespeed-cache' ),
			self::O_OBJECT_HOST                 => __( 'Host', 'litespeed-cache' ),
			self::O_OBJECT_PORT                 => __( 'Port', 'litespeed-cache' ),
			self::O_OBJECT_LIFE                 => __( 'Default Object Lifetime', 'litespeed-cache' ),
			self::O_OBJECT_USER                 => __( 'Username', 'litespeed-cache' ),
			self::O_OBJECT_PSWD                 => __( 'Password', 'litespeed-cache' ),
			self::O_OBJECT_DB_ID                => __( 'Redis Database ID', 'litespeed-cache' ),
			self::O_OBJECT_GLOBAL_GROUPS        => __( 'Global Groups', 'litespeed-cache' ),
			self::O_OBJECT_NON_PERSISTENT_GROUPS => __( 'Do Not Cache Groups', 'litespeed-cache' ),
			self::O_OBJECT_PERSISTENT           => __( 'Persistent Connection', 'litespeed-cache' ),
			self::O_OBJECT_ADMIN                => __( 'Cache WP-Admin', 'litespeed-cache' ),
			self::O_OBJECT_TRANSIENTS           => __( 'Store Transients', 'litespeed-cache' ),

			self::O_PURGE_ON_UPGRADE    => __( 'Purge All On Upgrade', 'litespeed-cache' ),
			self::O_PURGE_STALE         => __( 'Serve Stale', 'litespeed-cache' ),
			self::O_PURGE_TIMED_URLS    => __( 'Scheduled Purge URLs', 'litespeed-cache' ),
			self::O_PURGE_TIMED_URLS_TIME => __( 'Scheduled Purge Time', 'litespeed-cache' ),
			self::O_CACHE_FORCE_URI     => __( 'Force Cache URIs', 'litespeed-cache' ),
			self::O_CACHE_FORCE_PUB_URI => __( 'Force Public Cache URIs', 'litespeed-cache' ),
			self::O_CACHE_EXC           => __( 'Do Not Cache URIs', 'litespeed-cache' ),
			self::O_CACHE_EXC_QS        => __( 'Do Not Cache Query Strings', 'litespeed-cache' ),
			self::O_CACHE_EXC_CAT       => __( 'Do Not Cache Categories', 'litespeed-cache' ),
			self::O_CACHE_EXC_TAG       => __( 'Do Not Cache Tags', 'litespeed-cache' ),
			self::O_CACHE_EXC_ROLES     => __( 'Do Not Cache Roles', 'litespeed-cache' ),
			self::O_OPTM_CSS_MIN        => __( 'CSS Minify', 'litespeed-cache' ),
			self::O_OPTM_CSS_COMB       => __( 'CSS Combine', 'litespeed-cache' ),
			self::O_OPTM_CSS_COMB_EXT_INL => __( 'CSS Combine External and Inline', 'litespeed-cache' ),
			self::O_OPTM_UCSS           => __( 'Generate UCSS', 'litespeed-cache' ),
			self::O_OPTM_UCSS_INLINE    => __( 'UCSS Inline', 'litespeed-cache' ),
			self::O_OPTM_UCSS_SELECTOR_WHITELIST => __( 'UCSS Selector Allowlist', 'litespeed-cache' ),
			self::O_OPTM_UCSS_FILE_EXC_INLINE    => __( 'UCSS Inline Excluded Files', 'litespeed-cache' ),
			self::O_OPTM_UCSS_EXC       => __( 'UCSS URI Excludes', 'litespeed-cache' ),
			self::O_OPTM_JS_MIN         => __( 'JS Minify', 'litespeed-cache' ),
			self::O_OPTM_JS_COMB        => __( 'JS Combine', 'litespeed-cache' ),
			self::O_OPTM_JS_COMB_EXT_INL => __( 'JS Combine External and Inline', 'litespeed-cache' ),
			self::O_OPTM_HTML_MIN       => __( 'HTML Minify', 'litespeed-cache' ),
			self::O_OPTM_HTML_LAZY      => __( 'HTML Lazy Load Selectors', 'litespeed-cache' ),
			self::O_OPTM_HTML_SKIP_COMMENTS => __( 'HTML Keep Comments', 'litespeed-cache' ),
			self::O_OPTM_CSS_ASYNC      => __( 'Load CSS Asynchronously', 'litespeed-cache' ),
			self::O_OPTM_CCSS_PER_URL   => __( 'CCSS Per URL', 'litespeed-cache' ),
			self::O_OPTM_CSS_ASYNC_INLINE => __( 'Inline CSS Async Lib', 'litespeed-cache' ),
			self::O_OPTM_CSS_FONT_DISPLAY => __( 'Font Display Optimization', 'litespeed-cache' ),
			self::O_OPTM_JS_DEFER       => __( 'Load JS Deferred', 'litespeed-cache' ),
			self::O_OPTM_LOCALIZE       => __( 'Localize Resources', 'litespeed-cache' ),
			self::O_OPTM_LOCALIZE_DOMAINS => __( 'Localization Files', 'litespeed-cache' ),
			self::O_OPTM_DNS_PREFETCH   => __( 'DNS Prefetch', 'litespeed-cache' ),
			self::O_OPTM_DNS_PREFETCH_CTRL => __( 'DNS Prefetch Control', 'litespeed-cache' ),
			self::O_OPTM_DNS_PRECONNECT => __( 'DNS Preconnect', 'litespeed-cache' ),
			self::O_OPTM_CSS_EXC        => __( 'CSS Excludes', 'litespeed-cache' ),
			self::O_OPTM_JS_DELAY_INC   => __( 'JS Delayed Includes', 'litespeed-cache' ),
			self::O_OPTM_JS_EXC         => __( 'JS Excludes', 'litespeed-cache' ),
			self::O_OPTM_QS_RM          => __( 'Remove Query Strings', 'litespeed-cache' ),
			self::O_OPTM_GGFONTS_ASYNC  => __( 'Load Google Fonts Asynchronously', 'litespeed-cache' ),
			self::O_OPTM_GGFONTS_RM     => __( 'Remove Google Fonts', 'litespeed-cache' ),
			self::O_OPTM_CCSS_CON       => __( 'Critical CSS Rules', 'litespeed-cache' ),
			self::O_OPTM_CCSS_SEP_POSTTYPE => __( 'Separate CCSS Cache Post Types', 'litespeed-cache' ),
			self::O_OPTM_CCSS_SEP_URI   => __( 'Separate CCSS Cache URIs', 'litespeed-cache' ),
			self::O_OPTM_CCSS_SELECTOR_WHITELIST => __( 'CCSS Selector Allowlist', 'litespeed-cache' ),
			self::O_OPTM_JS_DEFER_EXC   => __( 'JS Deferred / Delayed Excludes', 'litespeed-cache' ),
			self::O_OPTM_GM_JS_EXC      => __( 'Guest Mode JS Excludes', 'litespeed-cache' ),
			self::O_OPTM_EMOJI_RM       => __( 'Remove WordPress Emoji', 'litespeed-cache' ),
			self::O_OPTM_NOSCRIPT_RM    => __( 'Remove Noscript Tags', 'litespeed-cache' ),
			self::O_OPTM_EXC            => __( 'URI Excludes', 'litespeed-cache' ),
			self::O_OPTM_GUEST_ONLY     => __( 'Optimize for Guests Only', 'litespeed-cache' ),
			self::O_OPTM_EXC_ROLES      => __( 'Role Excludes', 'litespeed-cache' ),

			self::O_DISCUSS_AVATAR_CACHE      => __( 'Gravatar Cache', 'litespeed-cache' ),
			self::O_DISCUSS_AVATAR_CRON       => __( 'Gravatar Cache Cron', 'litespeed-cache' ),
			self::O_DISCUSS_AVATAR_CACHE_TTL  => __( 'Gravatar Cache TTL', 'litespeed-cache' ),

			self::O_MEDIA_LAZY                    => __( 'Lazy Load Images', 'litespeed-cache' ),
			self::O_MEDIA_LAZY_EXC                => __( 'Lazy Load Image Excludes', 'litespeed-cache' ),
			self::O_MEDIA_LAZY_CLS_EXC            => __( 'Lazy Load Image Class Name Excludes', 'litespeed-cache' ),
			self::O_MEDIA_LAZY_PARENT_CLS_EXC     => __( 'Lazy Load Image Parent Class Name Excludes', 'litespeed-cache' ),
			self::O_MEDIA_IFRAME_LAZY_CLS_EXC     => __( 'Lazy Load Iframe Class Name Excludes', 'litespeed-cache' ),
			self::O_MEDIA_IFRAME_LAZY_PARENT_CLS_EXC => __( 'Lazy Load Iframe Parent Class Name Excludes', 'litespeed-cache' ),
			self::O_MEDIA_LAZY_URI_EXC            => __( 'Lazy Load URI Excludes', 'litespeed-cache' ),
			self::O_MEDIA_LQIP_EXC                => __( 'LQIP Excludes', 'litespeed-cache' ),
			self::O_MEDIA_LAZY_PLACEHOLDER        => __( 'Basic Image Placeholder', 'litespeed-cache' ),
			self::O_MEDIA_PLACEHOLDER_RESP        => __( 'Responsive Placeholder', 'litespeed-cache' ),
			self::O_MEDIA_PLACEHOLDER_RESP_COLOR  => __( 'Responsive Placeholder Color', 'litespeed-cache' ),
			self::O_MEDIA_PLACEHOLDER_RESP_SVG    => __( 'Responsive Placeholder SVG', 'litespeed-cache' ),
			self::O_MEDIA_LQIP                    => __( 'LQIP Cloud Generator', 'litespeed-cache' ),
			self::O_MEDIA_LQIP_QUAL               => __( 'LQIP Quality', 'litespeed-cache' ),
			self::O_MEDIA_LQIP_MIN_W              => __( 'LQIP Minimum Dimensions', 'litespeed-cache' ),
			self::O_MEDIA_PLACEHOLDER_RESP_ASYNC  => __( 'Generate LQIP In Background', 'litespeed-cache' ),
			self::O_MEDIA_IFRAME_LAZY             => __( 'Lazy Load Iframes', 'litespeed-cache' ),
			self::O_MEDIA_ADD_MISSING_SIZES       => __( 'Add Missing Sizes', 'litespeed-cache' ),
			self::O_MEDIA_VPI                     => __( 'Viewport Images', 'litespeed-cache' ),
			self::O_MEDIA_VPI_CRON                => __( 'Viewport Images Cron', 'litespeed-cache' ),
			self::O_MEDIA_AUTO_RESCALE_ORI        => __( 'Auto Rescale Original Images', 'litespeed-cache' ),

			self::O_IMG_OPTM_AUTO            => __( 'Auto Request Cron', 'litespeed-cache' ),
			self::O_IMG_OPTM_ORI             => __( 'Optimize Original Images', 'litespeed-cache' ),
			self::O_IMG_OPTM_RM_BKUP         => __( 'Remove Original Backups', 'litespeed-cache' ),
			self::O_IMG_OPTM_WEBP            => __( 'Next-Gen Image Format', 'litespeed-cache' ),
			self::O_IMG_OPTM_LOSSLESS        => __( 'Optimize Losslessly', 'litespeed-cache' ),
			self::O_IMG_OPTM_SIZES_SKIPPED   => __( 'Optimize Image Sizes', 'litespeed-cache' ),
			self::O_IMG_OPTM_EXIF            => __( 'Preserve EXIF/XMP data', 'litespeed-cache' ),
			self::O_IMG_OPTM_WEBP_ATTR       => __( 'WebP/AVIF Attribute To Replace', 'litespeed-cache' ),
			self::O_IMG_OPTM_WEBP_REPLACE_SRCSET => __( 'WebP/AVIF For Extra srcset', 'litespeed-cache' ),
			self::O_IMG_OPTM_JPG_QUALITY     => __( 'WordPress Image Quality Control', 'litespeed-cache' ),
			self::O_ESI                      => __( 'Enable ESI', 'litespeed-cache' ),
			self::O_ESI_CACHE_ADMBAR         => __( 'Cache Admin Bar', 'litespeed-cache' ),
			self::O_ESI_CACHE_COMMFORM       => __( 'Cache Comment Form', 'litespeed-cache' ),
			self::O_ESI_NONCE                => __( 'ESI Nonces', 'litespeed-cache' ),
			self::O_CACHE_VARY_GROUP         => __( 'Vary Group', 'litespeed-cache' ),
			self::O_PURGE_HOOK_ALL           => __( 'Purge All Hooks', 'litespeed-cache' ),
			self::O_UTIL_NO_HTTPS_VARY       => __( 'Improve HTTP/HTTPS Compatibility', 'litespeed-cache' ),
			self::O_UTIL_INSTANT_CLICK       => __( 'Instant Click', 'litespeed-cache' ),
			self::O_CACHE_EXC_COOKIES        => __( 'Do Not Cache Cookies', 'litespeed-cache' ),
			self::O_CACHE_EXC_USERAGENTS     => __( 'Do Not Cache User Agents', 'litespeed-cache' ),
			self::O_CACHE_LOGIN_COOKIE       => __( 'Login Cookie', 'litespeed-cache' ),
			self::O_CACHE_VARY_COOKIES       => __( 'Vary Cookies', 'litespeed-cache' ),

			self::O_MISC_HEARTBEAT_FRONT      => __( 'Frontend Heartbeat Control', 'litespeed-cache' ),
			self::O_MISC_HEARTBEAT_FRONT_TTL  => __( 'Frontend Heartbeat TTL', 'litespeed-cache' ),
			self::O_MISC_HEARTBEAT_BACK       => __( 'Backend Heartbeat Control', 'litespeed-cache' ),
			self::O_MISC_HEARTBEAT_BACK_TTL   => __( 'Backend Heartbeat TTL', 'litespeed-cache' ),
			self::O_MISC_HEARTBEAT_EDITOR     => __( 'Editor Heartbeat', 'litespeed-cache' ),
			self::O_MISC_HEARTBEAT_EDITOR_TTL => __( 'Editor Heartbeat TTL', 'litespeed-cache' ),

			self::O_CDN                   => __( 'Use CDN Mapping', 'litespeed-cache' ),
			self::CDN_MAPPING_URL         => __( 'CDN URL', 'litespeed-cache' ),
			self::CDN_MAPPING_INC_IMG     => __( 'Include Images', 'litespeed-cache' ),
			self::CDN_MAPPING_INC_CSS     => __( 'Include CSS', 'litespeed-cache' ),
			self::CDN_MAPPING_INC_JS      => __( 'Include JS', 'litespeed-cache' ),
			self::CDN_MAPPING_FILETYPE    => __( 'Include File Types', 'litespeed-cache' ),
			self::O_CDN_ATTR              => __( 'HTML Attribute To Replace', 'litespeed-cache' ),
			self::O_CDN_ORI               => __( 'Original URLs', 'litespeed-cache' ),
			self::O_CDN_ORI_DIR           => __( 'Included Directories', 'litespeed-cache' ),
			self::O_CDN_EXC               => __( 'Exclude Path', 'litespeed-cache' ),
			self::O_CDN_CLOUDFLARE        => __( 'Cloudflare API', 'litespeed-cache' ),
			self::O_CDN_CLOUDFLARE_CLEAR  => __( 'Clear Cloudflare cache', 'litespeed-cache' ),

			self::O_CRAWLER               => __( 'Crawler', 'litespeed-cache' ),
			self::O_CRAWLER_CRAWL_INTERVAL => __( 'Crawl Interval', 'litespeed-cache' ),
			self::O_CRAWLER_LOAD_LIMIT    => __( 'Server Load Limit', 'litespeed-cache' ),
			self::O_CRAWLER_ROLES         => __( 'Role Simulation', 'litespeed-cache' ),
			self::O_CRAWLER_COOKIES       => __( 'Cookie Simulation', 'litespeed-cache' ),
			self::O_CRAWLER_SITEMAP       => __( 'Custom Sitemap', 'litespeed-cache' ),

			self::O_DEBUG_DISABLE_ALL     => __( 'Disable All Features', 'litespeed-cache' ),
			self::O_DEBUG                 => __( 'Debug Log', 'litespeed-cache' ),
			self::O_DEBUG_IPS             => __( 'Admin IPs', 'litespeed-cache' ),
			self::O_DEBUG_LEVEL           => __( 'Debug Level', 'litespeed-cache' ),
			self::O_DEBUG_FILESIZE        => __( 'Log File Size Limit', 'litespeed-cache' ),
			self::O_DEBUG_COLLAPSE_QS     => __( 'Collapse Query Strings', 'litespeed-cache' ),
			self::O_DEBUG_INC             => __( 'Debug URI Includes', 'litespeed-cache' ),
			self::O_DEBUG_EXC             => __( 'Debug URI Excludes', 'litespeed-cache' ),
			self::O_DEBUG_EXC_STRINGS     => __( 'Debug String Excludes', 'litespeed-cache' ),

			self::O_DB_OPTM_REVISIONS_MAX => __( 'Revisions Max Number', 'litespeed-cache' ),
			self::O_DB_OPTM_REVISIONS_AGE => __( 'Revisions Max Age', 'litespeed-cache' ),

			self::O_OPTIMAX               => __( 'OptimaX', 'litespeed-cache' ),
		];

		if ( array_key_exists( $id, $_lang_list ) ) {
			return $_lang_list[ $id ];
		}

		return 'N/A';
	}
}
PK�^�\���%ԉԉ litespeed-cache/src/base.cls.phpnu�[���<?php
/**
 * The base constants and defaults for LiteSpeed Cache.
 *
 * Defines all option keys, default values, and helper methods shared across the plugin.
 *
 * @since 3.7
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined('WPINC') || exit();

/**
 * Class Base
 *
 * Core definitions and helpers shared across LiteSpeed Cache.
 */
class Base extends Root {

	// This is redundant since v3.0
	// New conf items are `litespeed.key`
	const OPTION_NAME = 'litespeed-cache-conf';

	const _CACHE = '_cache'; // final cache status from setting

	// -------------------------------------------------- ##
	// --------------       General     ----------------- ##
	// -------------------------------------------------- ##
	const _VER           = '_version'; // Not set-able
	const HASH           = 'hash'; // Not set-able
	const O_AUTO_UPGRADE = 'auto_upgrade';
	const O_API_KEY      = 'api_key'; // Deprecated since v6.4. TODO: Will drop after v8 (still need to keep for v7 upgrade conf usage as v6.5.4 has a major user base)
	const O_SERVER_IP    = 'server_ip';
	const O_GUEST        = 'guest';
	const O_GUEST_OPTM   = 'guest_optm';
	const O_NEWS         = 'news';
	const O_GUEST_UAS    = 'guest_uas';
	const O_GUEST_IPS    = 'guest_ips'; // Deprecated since v7.7. TODO: Will drop after v9

	// -------------------------------------------------- ##
	// --------------       Cache       ----------------- ##
	// -------------------------------------------------- ##
	const O_CACHE                = 'cache';
	const O_CACHE_PRIV           = 'cache-priv';
	const O_CACHE_COMMENTER      = 'cache-commenter';
	const O_CACHE_REST           = 'cache-rest';
	const O_CACHE_PAGE_LOGIN     = 'cache-page_login';
	const O_CACHE_RES            = 'cache-resources'; // Deprecated since v7.2. TODO: Drop after v7.5
	const O_CACHE_MOBILE         = 'cache-mobile';
	const O_CACHE_MOBILE_RULES   = 'cache-mobile_rules';
	const O_CACHE_BROWSER        = 'cache-browser';
	const O_CACHE_EXC_USERAGENTS = 'cache-exc_useragents';
	const O_CACHE_EXC_COOKIES    = 'cache-exc_cookies';
	const O_CACHE_EXC_QS         = 'cache-exc_qs';
	const O_CACHE_EXC_CAT        = 'cache-exc_cat';
	const O_CACHE_EXC_TAG        = 'cache-exc_tag';
	const O_CACHE_FORCE_URI      = 'cache-force_uri';
	const O_CACHE_FORCE_PUB_URI  = 'cache-force_pub_uri';
	const O_CACHE_PRIV_URI       = 'cache-priv_uri';
	const O_CACHE_EXC            = 'cache-exc';
	const O_CACHE_EXC_ROLES      = 'cache-exc_roles';
	const O_CACHE_DROP_QS        = 'cache-drop_qs';
	const O_CACHE_TTL_PUB        = 'cache-ttl_pub';
	const O_CACHE_TTL_PRIV       = 'cache-ttl_priv';
	const O_CACHE_TTL_FRONTPAGE  = 'cache-ttl_frontpage';
	const O_CACHE_TTL_FEED       = 'cache-ttl_feed';
	const O_CACHE_TTL_REST       = 'cache-ttl_rest';
	const O_CACHE_TTL_STATUS     = 'cache-ttl_status';
	const O_CACHE_TTL_BROWSER    = 'cache-ttl_browser';
	const O_CACHE_AJAX_TTL       = 'cache-ajax_ttl';
	const O_CACHE_LOGIN_COOKIE   = 'cache-login_cookie';
	const O_CACHE_VARY_COOKIES   = 'cache-vary_cookies';
	const O_CACHE_VARY_GROUP     = 'cache-vary_group';

	// -------------------------------------------------- ##
	// --------------       Purge       ----------------- ##
	// -------------------------------------------------- ##
	const O_PURGE_ON_UPGRADE                   = 'purge-upgrade';
	const O_PURGE_STALE                        = 'purge-stale';
	const O_PURGE_POST_ALL                     = 'purge-post_all';
	const O_PURGE_POST_FRONTPAGE               = 'purge-post_f';
	const O_PURGE_POST_HOMEPAGE                = 'purge-post_h';
	const O_PURGE_POST_PAGES                   = 'purge-post_p';
	const O_PURGE_POST_PAGES_WITH_RECENT_POSTS = 'purge-post_pwrp';
	const O_PURGE_POST_AUTHOR                  = 'purge-post_a';
	const O_PURGE_POST_YEAR                    = 'purge-post_y';
	const O_PURGE_POST_MONTH                   = 'purge-post_m';
	const O_PURGE_POST_DATE                    = 'purge-post_d';
	const O_PURGE_POST_TERM                    = 'purge-post_t'; // include category|tag|tax
	const O_PURGE_POST_POSTTYPE                = 'purge-post_pt';
	const O_PURGE_TIMED_URLS                   = 'purge-timed_urls';
	const O_PURGE_TIMED_URLS_TIME              = 'purge-timed_urls_time';
	const O_PURGE_HOOK_ALL                     = 'purge-hook_all';

	// -------------------------------------------------- ##
	// --------------        ESI        ----------------- ##
	// -------------------------------------------------- ##
	const O_ESI                = 'esi';
	const O_ESI_CACHE_ADMBAR   = 'esi-cache_admbar';
	const O_ESI_CACHE_COMMFORM = 'esi-cache_commform';
	const O_ESI_NONCE          = 'esi-nonce';

	// -------------------------------------------------- ##
	// --------------     Utilities     ----------------- ##
	// -------------------------------------------------- ##
	const O_UTIL_INSTANT_CLICK = 'util-instant_click';
	const O_UTIL_NO_HTTPS_VARY = 'util-no_https_vary';

	// -------------------------------------------------- ##
	// --------------       Debug       ----------------- ##
	// -------------------------------------------------- ##
	const O_DEBUG_DISABLE_ALL = 'debug-disable_all';
	const O_DEBUG             = 'debug';
	const O_DEBUG_IPS         = 'debug-ips';
	const O_DEBUG_LEVEL       = 'debug-level';
	const O_DEBUG_FILESIZE    = 'debug-filesize';
	const O_DEBUG_COOKIE      = 'debug-cookie'; // For backwards compatibility, will drop after v7.0
	const O_DEBUG_COLLAPSE_QS = 'debug-collapse_qs';
	const O_DEBUG_COLLAPS_QS  = 'debug-collapse_qs'; // For backwards compatibility, will drop after v6.5
	const O_DEBUG_INC         = 'debug-inc';
	const O_DEBUG_EXC         = 'debug-exc';
	const O_DEBUG_EXC_STRINGS = 'debug-exc_strings';

	// -------------------------------------------------- ##
	// --------------      DB Optm      ----------------- ##
	// -------------------------------------------------- ##
	const O_DB_OPTM_REVISIONS_MAX = 'db_optm-revisions_max';
	const O_DB_OPTM_REVISIONS_AGE = 'db_optm-revisions_age';

	// -------------------------------------------------- ##
	// --------------     HTML Optm     ----------------- ##
	// -------------------------------------------------- ##
	const O_OPTM_CSS_MIN                 = 'optm-css_min';
	const O_OPTM_CSS_COMB                = 'optm-css_comb';
	const O_OPTM_CSS_COMB_EXT_INL        = 'optm-css_comb_ext_inl';
	const O_OPTM_UCSS                    = 'optm-ucss';
	const O_OPTM_UCSS_INLINE             = 'optm-ucss_inline';
	const O_OPTM_UCSS_SELECTOR_WHITELIST = 'optm-ucss_whitelist';
	const O_OPTM_UCSS_FILE_EXC_INLINE    = 'optm-ucss_file_exc_inline';
	const O_OPTM_UCSS_EXC                = 'optm-ucss_exc';
	const O_OPTM_CSS_EXC                 = 'optm-css_exc';
	const O_OPTM_JS_MIN                  = 'optm-js_min';
	const O_OPTM_JS_COMB                 = 'optm-js_comb';
	const O_OPTM_JS_COMB_EXT_INL         = 'optm-js_comb_ext_inl';
	const O_OPTM_JS_DELAY_INC            = 'optm-js_delay_inc';
	const O_OPTM_JS_EXC                  = 'optm-js_exc';
	const O_OPTM_HTML_MIN                = 'optm-html_min';
	const O_OPTM_HTML_LAZY               = 'optm-html_lazy';
	const O_OPTM_HTML_SKIP_COMMENTS      = 'optm-html_skip_comment';
	const O_OPTM_QS_RM                   = 'optm-qs_rm';
	const O_OPTM_GGFONTS_RM              = 'optm-ggfonts_rm';
	const O_OPTM_CSS_ASYNC               = 'optm-css_async';
	const O_OPTM_CCSS_PER_URL            = 'optm-ccss_per_url';
	const O_OPTM_CCSS_SEP_POSTTYPE       = 'optm-ccss_sep_posttype';
	const O_OPTM_CCSS_SEP_URI            = 'optm-ccss_sep_uri';
	const O_OPTM_CCSS_SELECTOR_WHITELIST = 'optm-ccss_whitelist';
	const O_OPTM_CSS_ASYNC_INLINE        = 'optm-css_async_inline';
	const O_OPTM_CSS_FONT_DISPLAY        = 'optm-css_font_display';
	const O_OPTM_JS_DEFER                = 'optm-js_defer';
	const O_OPTM_LOCALIZE                = 'optm-localize';
	const O_OPTM_LOCALIZE_DOMAINS        = 'optm-localize_domains';
	const O_OPTM_EMOJI_RM                = 'optm-emoji_rm';
	const O_OPTM_NOSCRIPT_RM             = 'optm-noscript_rm';
	const O_OPTM_GGFONTS_ASYNC           = 'optm-ggfonts_async';
	const O_OPTM_EXC_ROLES               = 'optm-exc_roles';
	const O_OPTM_CCSS_CON                = 'optm-ccss_con';
	const O_OPTM_JS_DEFER_EXC            = 'optm-js_defer_exc';
	const O_OPTM_GM_JS_EXC               = 'optm-gm_js_exc';
	const O_OPTM_DNS_PREFETCH            = 'optm-dns_prefetch';
	const O_OPTM_DNS_PREFETCH_CTRL       = 'optm-dns_prefetch_ctrl';
	const O_OPTM_DNS_PRECONNECT          = 'optm-dns_preconnect';
	const O_OPTM_EXC                     = 'optm-exc';
	const O_OPTM_GUEST_ONLY              = 'optm-guest_only';

	// -------------------------------------------------- ##
	// --------------   Object Cache    ----------------- ##
	// -------------------------------------------------- ##
	const O_OBJECT                       = 'object';
	const O_OBJECT_KIND                  = 'object-kind';
	const O_OBJECT_HOST                  = 'object-host';
	const O_OBJECT_PORT                  = 'object-port';
	const O_OBJECT_LIFE                  = 'object-life';
	const O_OBJECT_PERSISTENT            = 'object-persistent';
	const O_OBJECT_ADMIN                 = 'object-admin';
	const O_OBJECT_TRANSIENTS            = 'object-transients';
	const O_OBJECT_DB_ID                 = 'object-db_id';
	const O_OBJECT_USER                  = 'object-user';
	const O_OBJECT_PSWD                  = 'object-pswd';
	const O_OBJECT_GLOBAL_GROUPS         = 'object-global_groups';
	const O_OBJECT_NON_PERSISTENT_GROUPS = 'object-non_persistent_groups';

	// -------------------------------------------------- ##
	// --------------   Discussion      ----------------- ##
	// -------------------------------------------------- ##
	const O_DISCUSS_AVATAR_CACHE     = 'discuss-avatar_cache';
	const O_DISCUSS_AVATAR_CRON      = 'discuss-avatar_cron';
	const O_DISCUSS_AVATAR_CACHE_TTL = 'discuss-avatar_cache_ttl';

	// -------------------------------------------------- ##
	// --------------        Media      ----------------- ##
	// -------------------------------------------------- ##
	const O_MEDIA_LAZY                       = 'media-lazy';
	const O_MEDIA_LAZY_PLACEHOLDER           = 'media-lazy_placeholder';
	const O_MEDIA_PLACEHOLDER_RESP           = 'media-placeholder_resp';
	const O_MEDIA_PLACEHOLDER_RESP_COLOR     = 'media-placeholder_resp_color';
	const O_MEDIA_PLACEHOLDER_RESP_SVG       = 'media-placeholder_resp_svg';
	const O_MEDIA_LQIP                       = 'media-lqip';
	const O_MEDIA_LQIP_QUAL                  = 'media-lqip_qual';
	const O_MEDIA_LQIP_MIN_W                 = 'media-lqip_min_w';
	const O_MEDIA_LQIP_MIN_H                 = 'media-lqip_min_h';
	const O_MEDIA_PLACEHOLDER_RESP_ASYNC     = 'media-placeholder_resp_async';
	const O_MEDIA_IFRAME_LAZY                = 'media-iframe_lazy';
	const O_MEDIA_ADD_MISSING_SIZES          = 'media-add_missing_sizes';
	const O_MEDIA_LAZY_EXC                   = 'media-lazy_exc';
	const O_MEDIA_LAZY_CLS_EXC               = 'media-lazy_cls_exc';
	const O_MEDIA_LAZY_PARENT_CLS_EXC        = 'media-lazy_parent_cls_exc';
	const O_MEDIA_IFRAME_LAZY_CLS_EXC        = 'media-iframe_lazy_cls_exc';
	const O_MEDIA_IFRAME_LAZY_PARENT_CLS_EXC = 'media-iframe_lazy_parent_cls_exc';
	const O_MEDIA_LAZY_URI_EXC               = 'media-lazy_uri_exc';
	const O_MEDIA_LQIP_EXC                   = 'media-lqip_exc';
	const O_MEDIA_VPI                        = 'media-vpi';
	const O_MEDIA_VPI_CRON                   = 'media-vpi_cron';
	const O_IMG_OPTM_JPG_QUALITY             = 'img_optm-jpg_quality';
	const O_MEDIA_AUTO_RESCALE_ORI           = 'media-auto_rescale_ori';

	// -------------------------------------------------- ##
	// --------------     Image Optm    ----------------- ##
	// -------------------------------------------------- ##
	const O_IMG_OPTM_AUTO                = 'img_optm-auto';
	const O_IMG_OPTM_CRON                = 'img_optm-cron'; // @Deprecated since v7.0 TODO: remove after v7.5
	const O_IMG_OPTM_ORI                 = 'img_optm-ori';
	const O_IMG_OPTM_RM_BKUP             = 'img_optm-rm_bkup';
	const O_IMG_OPTM_WEBP                = 'img_optm-webp';
	const O_IMG_OPTM_LOSSLESS            = 'img_optm-lossless';
	const O_IMG_OPTM_SIZES_SKIPPED       = 'img_optm-sizes_skipped';
	const O_IMG_OPTM_EXIF                = 'img_optm-exif';
	const O_IMG_OPTM_WEBP_ATTR           = 'img_optm-webp_attr';
	const O_IMG_OPTM_WEBP_REPLACE_SRCSET = 'img_optm-webp_replace_srcset';

	// -------------------------------------------------- ##
	// --------------       Crawler     ----------------- ##
	// -------------------------------------------------- ##
	const O_CRAWLER                = 'crawler';
	const O_CRAWLER_USLEEP         = 'crawler-usleep'; // @Deprecated since v7.0 TODO: remove after v7.5
	const O_CRAWLER_RUN_DURATION   = 'crawler-run_duration'; // @Deprecated since v7.0 TODO: remove after v7.5
	const O_CRAWLER_RUN_INTERVAL   = 'crawler-run_interval'; // @Deprecated since v7.0 TODO: remove after v7.5
	const O_CRAWLER_CRAWL_INTERVAL = 'crawler-crawl_interval';
	const O_CRAWLER_THREADS        = 'crawler-threads'; // @Deprecated since v7.0 TODO: remove after v7.5
	const O_CRAWLER_TIMEOUT        = 'crawler-timeout'; // @Deprecated since v7.0 TODO: remove after v7.5
	const O_CRAWLER_LOAD_LIMIT     = 'crawler-load_limit';
	const O_CRAWLER_SITEMAP        = 'crawler-sitemap';
	const O_CRAWLER_DROP_DOMAIN    = 'crawler-drop_domain'; // @Deprecated since v7.0 TODO: remove after v7.5
	const O_CRAWLER_MAP_TIMEOUT    = 'crawler-map_timeout'; // @Deprecated since v7.0 TODO: remove after v7.5
	const O_CRAWLER_ROLES          = 'crawler-roles';
	const O_CRAWLER_COOKIES        = 'crawler-cookies';

	// -------------------------------------------------- ##
	// --------------        Misc       ----------------- ##
	// -------------------------------------------------- ##
	const O_MISC_HEARTBEAT_FRONT      = 'misc-heartbeat_front';
	const O_MISC_HEARTBEAT_FRONT_TTL  = 'misc-heartbeat_front_ttl';
	const O_MISC_HEARTBEAT_BACK       = 'misc-heartbeat_back';
	const O_MISC_HEARTBEAT_BACK_TTL   = 'misc-heartbeat_back_ttl';
	const O_MISC_HEARTBEAT_EDITOR     = 'misc-heartbeat_editor';
	const O_MISC_HEARTBEAT_EDITOR_TTL = 'misc-heartbeat_editor_ttl';

	// -------------------------------------------------- ##
	// --------------        CDN        ----------------- ##
	// -------------------------------------------------- ##
	const O_CDN                  = 'cdn';
	const O_CDN_ORI              = 'cdn-ori';
	const O_CDN_ORI_DIR          = 'cdn-ori_dir';
	const O_CDN_EXC              = 'cdn-exc';
	const O_CDN_QUIC             = 'cdn-quic'; // No more a visible setting since v7
	const O_CDN_CLOUDFLARE       = 'cdn-cloudflare';
	const O_CDN_CLOUDFLARE_EMAIL = 'cdn-cloudflare_email';
	const O_CDN_CLOUDFLARE_KEY   = 'cdn-cloudflare_key';
	const O_CDN_CLOUDFLARE_NAME  = 'cdn-cloudflare_name';
	const O_CDN_CLOUDFLARE_ZONE  = 'cdn-cloudflare_zone';
	const O_CDN_CLOUDFLARE_CLEAR = 'cdn-cloudflare_clear';
	const O_CDN_MAPPING          = 'cdn-mapping';
	const O_CDN_ATTR             = 'cdn-attr';
	const O_QC_NAMESERVERS       = 'qc-nameservers';
	const O_QC_CNAME             = 'qc-cname';

	// -------------------------------------------------- ##
	// --------------      OptimaX      ----------------- ##
	// -------------------------------------------------- ##
	const O_OPTIMAX = 'optimax';

	const NETWORK_O_USE_PRIMARY = 'use_primary_settings';

	const DEBUG_TMP_DISABLE = 'debug-disable_tmp';

	/*** Other consts ***/
	const O_GUIDE = 'litespeed-guide'; // Array of each guidance tag as key, step as val //xx todo: may need to remove

	// Server variables
	const ENV_CRAWLER_USLEEP             = 'CRAWLER_USLEEP';
	const ENV_CRAWLER_LOAD_LIMIT         = 'CRAWLER_LOAD_LIMIT';
	const ENV_CRAWLER_LOAD_LIMIT_ENFORCE = 'CRAWLER_LOAD_LIMIT_ENFORCE';

	const CRWL_COOKIE_NAME = 'name';
	const CRWL_COOKIE_VALS = 'vals';

	const CDN_MAPPING_URL      = 'url';
	const CDN_MAPPING_INC_IMG  = 'inc_img';
	const CDN_MAPPING_INC_CSS  = 'inc_css';
	const CDN_MAPPING_INC_JS   = 'inc_js';
	const CDN_MAPPING_FILETYPE = 'filetype';

	const VAL_OFF = 0;
	const VAL_ON  = 1;
	const VAL_ON2 = 2;

	/* This is for API hook usage */
	const IMG_OPTM_BM_ORI      = 1; // @Deprecated since v7.0
	const IMG_OPTM_BM_WEBP     = 2; // @Deprecated since v7.0
	const IMG_OPTM_BM_LOSSLESS = 4; // @Deprecated since v7.0
	const IMG_OPTM_BM_EXIF     = 8; // @Deprecated since v7.0
	const IMG_OPTM_BM_AVIF     = 16; // @Deprecated since v7.0

	/**
	 * Site related options (Will not overwrite other sites' config).
	 *
	 * @var string[]
	 */
	protected static $single_site_options = [
		self::O_CRAWLER,
		self::O_CRAWLER_SITEMAP,
		self::O_CDN,
		self::O_CDN_ORI,
		self::O_CDN_ORI_DIR,
		self::O_CDN_EXC,
		self::O_CDN_CLOUDFLARE,
		self::O_CDN_CLOUDFLARE_EMAIL,
		self::O_CDN_CLOUDFLARE_KEY,
		self::O_CDN_CLOUDFLARE_NAME,
		self::O_CDN_CLOUDFLARE_ZONE,
		self::O_CDN_CLOUDFLARE_CLEAR,
		self::O_CDN_MAPPING,
		self::O_CDN_ATTR,
		self::O_QC_NAMESERVERS,
		self::O_QC_CNAME,
	];

	/**
	 * Default options for single-site installs.
	 *
	 * @var array<string,mixed>
	 */
	protected static $_default_options = [
		self::_VER => '',
		self::HASH => '',
		self::O_API_KEY => '',
		self::O_AUTO_UPGRADE => false,
		self::O_SERVER_IP => '',
		self::O_GUEST => false,
		self::O_GUEST_OPTM => false,
		self::O_NEWS => false,

		// Cache
		self::O_CACHE => false,
		self::O_CACHE_PRIV => false,
		self::O_CACHE_COMMENTER => false,
		self::O_CACHE_REST => false,
		self::O_CACHE_PAGE_LOGIN => false,
		self::O_CACHE_MOBILE => false,
		self::O_CACHE_MOBILE_RULES => [],
		self::O_CACHE_BROWSER => false,
		self::O_CACHE_EXC_USERAGENTS => [],
		self::O_CACHE_EXC_COOKIES => [],
		self::O_CACHE_EXC_QS => [],
		self::O_CACHE_EXC_CAT => [],
		self::O_CACHE_EXC_TAG => [],
		self::O_CACHE_FORCE_URI => [],
		self::O_CACHE_FORCE_PUB_URI => [],
		self::O_CACHE_PRIV_URI => [],
		self::O_CACHE_EXC => [],
		self::O_CACHE_EXC_ROLES => [],
		self::O_CACHE_DROP_QS => [],
		self::O_CACHE_TTL_PUB => 0,
		self::O_CACHE_TTL_PRIV => 0,
		self::O_CACHE_TTL_FRONTPAGE => 0,
		self::O_CACHE_TTL_FEED => 0,
		self::O_CACHE_TTL_REST => 0,
		self::O_CACHE_TTL_BROWSER => 0,
		self::O_CACHE_TTL_STATUS => [],
		self::O_CACHE_LOGIN_COOKIE => '',
		self::O_CACHE_AJAX_TTL => [],
		self::O_CACHE_VARY_COOKIES => [],
		self::O_CACHE_VARY_GROUP => [],

		// Purge
		self::O_PURGE_ON_UPGRADE => false,
		self::O_PURGE_STALE => false,
		self::O_PURGE_POST_ALL => false,
		self::O_PURGE_POST_FRONTPAGE => false,
		self::O_PURGE_POST_HOMEPAGE => false,
		self::O_PURGE_POST_PAGES => false,
		self::O_PURGE_POST_PAGES_WITH_RECENT_POSTS => false,
		self::O_PURGE_POST_AUTHOR => false,
		self::O_PURGE_POST_YEAR => false,
		self::O_PURGE_POST_MONTH => false,
		self::O_PURGE_POST_DATE => false,
		self::O_PURGE_POST_TERM => false,
		self::O_PURGE_POST_POSTTYPE => false,
		self::O_PURGE_TIMED_URLS => [],
		self::O_PURGE_TIMED_URLS_TIME => '',
		self::O_PURGE_HOOK_ALL => [],

		// ESI
		self::O_ESI => false,
		self::O_ESI_CACHE_ADMBAR => false,
		self::O_ESI_CACHE_COMMFORM => false,
		self::O_ESI_NONCE => [],

		// Util
		self::O_UTIL_INSTANT_CLICK => false,
		self::O_UTIL_NO_HTTPS_VARY => false,

		// Debug
		self::O_DEBUG_DISABLE_ALL => false,
		self::O_DEBUG => false,
		self::O_DEBUG_IPS => [],
		self::O_DEBUG_LEVEL => false,
		self::O_DEBUG_FILESIZE => 0,
		self::O_DEBUG_COLLAPSE_QS => false,
		self::O_DEBUG_INC => [],
		self::O_DEBUG_EXC => [],
		self::O_DEBUG_EXC_STRINGS => [],

		// DB Optm
		self::O_DB_OPTM_REVISIONS_MAX => 0,
		self::O_DB_OPTM_REVISIONS_AGE => 0,

		// HTML Optm
		self::O_OPTM_CSS_MIN => false,
		self::O_OPTM_CSS_COMB => false,
		self::O_OPTM_CSS_COMB_EXT_INL => false,
		self::O_OPTM_UCSS => false,
		self::O_OPTM_UCSS_INLINE => false,
		self::O_OPTM_UCSS_SELECTOR_WHITELIST => [],
		self::O_OPTM_UCSS_FILE_EXC_INLINE => [],
		self::O_OPTM_UCSS_EXC => [],
		self::O_OPTM_CSS_EXC => [],
		self::O_OPTM_JS_MIN => false,
		self::O_OPTM_JS_COMB => false,
		self::O_OPTM_JS_COMB_EXT_INL => false,
		self::O_OPTM_JS_DELAY_INC => [],
		self::O_OPTM_JS_EXC => [],
		self::O_OPTM_HTML_MIN => false,
		self::O_OPTM_HTML_LAZY => [],
		self::O_OPTM_HTML_SKIP_COMMENTS => [],
		self::O_OPTM_QS_RM => false,
		self::O_OPTM_GGFONTS_RM => false,
		self::O_OPTM_CSS_ASYNC => false,
		self::O_OPTM_CCSS_PER_URL => false,
		self::O_OPTM_CCSS_SEP_POSTTYPE => [],
		self::O_OPTM_CCSS_SEP_URI => [],
		self::O_OPTM_CCSS_SELECTOR_WHITELIST => [],
		self::O_OPTM_CSS_ASYNC_INLINE => false,
		self::O_OPTM_CSS_FONT_DISPLAY => false,
		self::O_OPTM_JS_DEFER => false,
		self::O_OPTM_EMOJI_RM => false,
		self::O_OPTM_NOSCRIPT_RM => false,
		self::O_OPTM_GGFONTS_ASYNC => false,
		self::O_OPTM_EXC_ROLES => [],
		self::O_OPTM_CCSS_CON => '',
		self::O_OPTM_JS_DEFER_EXC => [],
		self::O_OPTM_GM_JS_EXC => [],
		self::O_OPTM_DNS_PREFETCH => [],
		self::O_OPTM_DNS_PREFETCH_CTRL => false,
		self::O_OPTM_DNS_PRECONNECT => [],
		self::O_OPTM_EXC => [],
		self::O_OPTM_GUEST_ONLY => false,

		// Object
		self::O_OBJECT => false,
		self::O_OBJECT_KIND => false,
		self::O_OBJECT_HOST => '',
		self::O_OBJECT_PORT => 0,
		self::O_OBJECT_LIFE => 0,
		self::O_OBJECT_PERSISTENT => false,
		self::O_OBJECT_ADMIN => false,
		self::O_OBJECT_TRANSIENTS => false,
		self::O_OBJECT_DB_ID => 0,
		self::O_OBJECT_USER => '',
		self::O_OBJECT_PSWD => '',
		self::O_OBJECT_GLOBAL_GROUPS => [],
		self::O_OBJECT_NON_PERSISTENT_GROUPS => [],

		// Discuss
		self::O_DISCUSS_AVATAR_CACHE => false,
		self::O_DISCUSS_AVATAR_CRON => false,
		self::O_DISCUSS_AVATAR_CACHE_TTL => 0,
		self::O_OPTM_LOCALIZE => false,
		self::O_OPTM_LOCALIZE_DOMAINS => [],

		// Media
		self::O_MEDIA_LAZY => false,
		self::O_MEDIA_LAZY_PLACEHOLDER => '',
		self::O_MEDIA_PLACEHOLDER_RESP => false,
		self::O_MEDIA_PLACEHOLDER_RESP_COLOR => '',
		self::O_MEDIA_PLACEHOLDER_RESP_SVG => '',
		self::O_MEDIA_LQIP => false,
		self::O_MEDIA_LQIP_QUAL => 0,
		self::O_MEDIA_LQIP_MIN_W => 0,
		self::O_MEDIA_LQIP_MIN_H => 0,
		self::O_MEDIA_PLACEHOLDER_RESP_ASYNC => false,
		self::O_MEDIA_IFRAME_LAZY => false,
		self::O_MEDIA_ADD_MISSING_SIZES => false,
		self::O_MEDIA_LAZY_EXC => [],
		self::O_MEDIA_LAZY_CLS_EXC => [],
		self::O_MEDIA_LAZY_PARENT_CLS_EXC => [],
		self::O_MEDIA_IFRAME_LAZY_CLS_EXC => [],
		self::O_MEDIA_IFRAME_LAZY_PARENT_CLS_EXC => [],
		self::O_MEDIA_LAZY_URI_EXC => [],
		self::O_MEDIA_LQIP_EXC => [],
		self::O_MEDIA_VPI => false,
		self::O_MEDIA_VPI_CRON => false,
		self::O_MEDIA_AUTO_RESCALE_ORI => false,

		// Image Optm
		self::O_IMG_OPTM_AUTO => false,
		self::O_IMG_OPTM_ORI => false,
		self::O_IMG_OPTM_RM_BKUP => false,
		self::O_IMG_OPTM_WEBP => false,
		self::O_IMG_OPTM_LOSSLESS => false,
		self::O_IMG_OPTM_SIZES_SKIPPED => [],
		self::O_IMG_OPTM_EXIF => false,
		self::O_IMG_OPTM_WEBP_ATTR => [],
		self::O_IMG_OPTM_WEBP_REPLACE_SRCSET => false,
		self::O_IMG_OPTM_JPG_QUALITY => 0,

		// Crawler
		self::O_CRAWLER => false,
		self::O_CRAWLER_CRAWL_INTERVAL => 0,
		self::O_CRAWLER_LOAD_LIMIT => 0,
		self::O_CRAWLER_SITEMAP => '',
		self::O_CRAWLER_ROLES => [],
		self::O_CRAWLER_COOKIES => [],

		// Misc
		self::O_MISC_HEARTBEAT_FRONT => false,
		self::O_MISC_HEARTBEAT_FRONT_TTL => 0,
		self::O_MISC_HEARTBEAT_BACK => false,
		self::O_MISC_HEARTBEAT_BACK_TTL => 0,
		self::O_MISC_HEARTBEAT_EDITOR => false,
		self::O_MISC_HEARTBEAT_EDITOR_TTL => 0,

		// CDN
		self::O_CDN => false,
		self::O_CDN_ORI => [],
		self::O_CDN_ORI_DIR => [],
		self::O_CDN_EXC => [],
		self::O_CDN_QUIC => false,
		self::O_CDN_CLOUDFLARE => false,
		self::O_CDN_CLOUDFLARE_EMAIL => '',
		self::O_CDN_CLOUDFLARE_KEY => '',
		self::O_CDN_CLOUDFLARE_NAME => '',
		self::O_CDN_CLOUDFLARE_ZONE => '',
		self::O_CDN_CLOUDFLARE_CLEAR => false,
		self::O_CDN_MAPPING => [],
		self::O_CDN_ATTR => [],

		self::O_QC_NAMESERVERS => '',
		self::O_QC_CNAME => '',

		self::DEBUG_TMP_DISABLE => 0,
	];

	/**
	 * Default options for multisite (site-level options stored network-wide).
	 *
	 * @var array<string,mixed>
	 */
	protected static $_default_site_options = [
		self::_VER => '',
		self::O_CACHE => false,
		self::NETWORK_O_USE_PRIMARY => false,
		self::O_AUTO_UPGRADE => false,
		self::O_GUEST => false,

		self::O_CACHE_BROWSER => false,
		self::O_CACHE_MOBILE => false,
		self::O_CACHE_MOBILE_RULES => [],
		self::O_CACHE_DROP_QS => [],
		self::O_CACHE_LOGIN_COOKIE => '',
		self::O_CACHE_VARY_COOKIES => [],
		self::O_CACHE_EXC_COOKIES => [],
		self::O_CACHE_EXC_USERAGENTS => [],
		self::O_CACHE_TTL_BROWSER => 0,

		self::O_PURGE_ON_UPGRADE => false,

		self::O_OBJECT => false,
		self::O_OBJECT_KIND => false,
		self::O_OBJECT_HOST => '',
		self::O_OBJECT_PORT => 0,
		self::O_OBJECT_LIFE => 0,
		self::O_OBJECT_PERSISTENT => false,
		self::O_OBJECT_ADMIN => false,
		self::O_OBJECT_TRANSIENTS => false,
		self::O_OBJECT_DB_ID => 0,
		self::O_OBJECT_USER => '',
		self::O_OBJECT_PSWD => '',
		self::O_OBJECT_GLOBAL_GROUPS => [],
		self::O_OBJECT_NON_PERSISTENT_GROUPS => [],

		// Debug
		self::O_DEBUG_DISABLE_ALL => false,
		self::O_DEBUG => false,
		self::O_DEBUG_IPS => [],
		self::O_DEBUG_LEVEL => false,
		self::O_DEBUG_FILESIZE => 0,
		self::O_DEBUG_COLLAPSE_QS => false,
		self::O_DEBUG_INC => [],
		self::O_DEBUG_EXC => [],
		self::O_DEBUG_EXC_STRINGS => [],

		self::O_IMG_OPTM_WEBP => false,
	];

	/**
	 * Multi-switch options: option ID => max state (int).
	 * NOTE: all the val of following items will be int while not bool
	 *
	 * @var array<string,int>
	 */
	protected static $_multi_switch_list = [
		self::O_DEBUG => 2,
		self::O_OPTM_JS_DEFER => 2,
		self::O_IMG_OPTM_WEBP => 2,
	];

	/**
	 * Correct the option type.
	 *
	 * TODO: add similar network func
	 *
	 * @since 3.0.3
	 *
	 * @param mixed  $val          Incoming value.
	 * @param string $id           Option ID.
	 * @param bool   $is_site_conf Whether using site-level defaults.
	 * @return mixed
	 */
	protected function type_casting( $val, $id, $is_site_conf = false ) {
		$default_v = ! $is_site_conf ? self::$_default_options[ $id ] : self::$_default_site_options[ $id ];
		if ( is_bool( $default_v ) ) {
			if ( 'true' === $val ) {
				$val = true;
			}
			if ( 'false' === $val ) {
				$val = false;
			}

			$max = $this->_conf_multi_switch( $id );
			if ( $max ) {
				$val  = (int) $val;
				$val %= $max + 1;
			} else {
				$val = (bool) $val;
			}
		} elseif ( is_array( $default_v ) ) {
			// from textarea input
			if ( ! is_array( $val ) ) {
				$val = Utility::sanitize_lines( $val, $this->_conf_filter( $id ) );
			}
		} elseif ( ! is_string( $default_v ) ) {
			$val = (int) $val;
		} else {
			// Check if the string has a limit set
			$val = $this->_conf_string_val( $id, $val );
		}

		return $val;
	}

	/**
	 * Load default network settings from data.ini
	 *
	 * @since 3.0
	 * @return array<string,mixed>
	 */
	public function load_default_site_vals() {
		// Load network_default.json
		if ( file_exists( LSCWP_DIR . 'data/const.network_default.json' ) ) {
			$default_ini_cfg = json_decode( File::read( LSCWP_DIR . 'data/const.network_default.json' ), true );
			foreach ( self::$_default_site_options as $k => $v ) {
				if ( ! array_key_exists( $k, $default_ini_cfg ) ) {
					continue;
				}

				// Parse value in ini file
				$ini_v = $this->type_casting( $default_ini_cfg[ $k ], $k, true );

				if ( $ini_v === $v ) {
					continue;
				}

				self::$_default_site_options[ $k ] = $ini_v;
			}
		}

		self::$_default_site_options[ self::_VER ] = Core::VER;

		return self::$_default_site_options;
	}

	/**
	 * Load default values from default.json
	 *
	 * @since 3.0
	 * @access public
	 * @return array<string,mixed>
	 */
	public function load_default_vals() {
		// Load default.json
		if ( file_exists( LSCWP_DIR . 'data/const.default.json' ) ) {
			$default_ini_cfg = json_decode( File::read( LSCWP_DIR . 'data/const.default.json' ), true );
			foreach ( self::$_default_options as $k => $v ) {
				if ( ! array_key_exists( $k, $default_ini_cfg ) ) {
					continue;
				}

				// Parse value in ini file
				$ini_v = $this->type_casting( $default_ini_cfg[ $k ], $k );

				// NOTE: Multiple lines value must be stored as array
				/**
				 * Special handler for CDN_mapping
				 *
				 * Format in .ini:
				 *      [cdn-mapping]
				 *      url[0] = 'https://example.com/'
				 *      inc_js[0] = true
				 *      filetype[0] = '.css
				 *                     .js
				 *                     .jpg'
				 *
				 * format out:
				 *      [0] = [ 'url' => 'https://example.com', 'inc_js' => true, 'filetype' => [ '.css', '.js', '.jpg' ] ]
				 */
				if ( self::O_CDN_MAPPING === $k ) {
					$mapping_fields = [
						self::CDN_MAPPING_URL,
						self::CDN_MAPPING_INC_IMG,
						self::CDN_MAPPING_INC_CSS,
						self::CDN_MAPPING_INC_JS,
						self::CDN_MAPPING_FILETYPE, // Array
					];
					$ini_v2         = [];
					foreach ( $ini_v[ self::CDN_MAPPING_URL ] as $k2 => $v2 ) {
						// $k2 is numeric
						$this_row = [];
						foreach ( $mapping_fields as $v3 ) {
							$this_v = ! empty( $ini_v[ $v3 ][ $k2 ] ) ? $ini_v[ $v3 ][ $k2 ] : false;
							if ( self::CDN_MAPPING_URL === $v3 ) {
								if ( empty( $this_v ) ) {
									$this_v = '';
								}
							}
							if ( self::CDN_MAPPING_FILETYPE === $v3 ) {
								$this_v = $this_v ? Utility::sanitize_lines( $this_v ) : []; // Note: Since v3.0 its already an array
							}
							$this_row[ $v3 ] = $this_v;
						}
						$ini_v2[ $k2 ] = $this_row;
					}
					$ini_v = $ini_v2;
				}

				if ( $ini_v === $v ) {
					continue;
				}

				self::$_default_options[ $k ] = $ini_v;
			}
		}

		// Load internal default vals
		// Setting the default bool to int is also to avoid type casting override it back to bool
		self::$_default_options[ self::O_CACHE ] = is_multisite() ? self::VAL_ON2 : self::VAL_ON; // For multi site, default is 2 (Use Network Admin Settings). For single site, default is 1 (Enabled).

		// Load default vals containing variables
		if ( ! self::$_default_options[ self::O_CDN_ORI_DIR ] ) {
			self::$_default_options[ self::O_CDN_ORI_DIR ] = LSCWP_CONTENT_FOLDER . "\nwp-includes";
			self::$_default_options[ self::O_CDN_ORI_DIR ] = explode( "\n", self::$_default_options[ self::O_CDN_ORI_DIR ] );
			self::$_default_options[ self::O_CDN_ORI_DIR ] = array_map( 'trim', self::$_default_options[ self::O_CDN_ORI_DIR ] );
		}

		// Set security key if not initialized yet
		if ( ! self::$_default_options[ self::HASH ] ) {
			self::$_default_options[ self::HASH ] = Str::rrand( 32 );
		}

		self::$_default_options[ self::_VER ] = Core::VER;

		return self::$_default_options;
	}

	/**
	 * Format the string value.
	 *
	 * @since 3.0
	 *
	 * @param string $id  Option ID.
	 * @param mixed  $val Value.
	 * @return string
	 */
	protected function _conf_string_val( $id, $val ) {
		return (string) $val;
	}

	/**
	 * If the switch setting is a triple value or not.
	 *
	 * @since 3.0
	 *
	 * @param string $id Option ID.
	 * @return int|false
	 */
	protected function _conf_multi_switch( $id ) {
		if ( ! empty( self::$_multi_switch_list[ $id ] ) ) {
			return self::$_multi_switch_list[ $id ];
		}

		if ( self::O_CACHE === $id && is_multisite() ) {
			return self::VAL_ON2;
		}

		return false;
	}

	/**
	 * Append a new multi switch max limit for the bool option.
	 *
	 * @since 3.0
	 *
	 * @param string $id Option ID.
	 * @param int    $v  Max state.
	 * @return void
	 */
	public static function set_multi_switch( $id, $v ) {
		self::$_multi_switch_list[ $id ] = $v;
	}

	/**
	 * Generate const name based on $id.
	 *
	 * @since 3.0
	 *
	 * @param string $id Option ID.
	 * @return string
	 */
	public static function conf_const( $id ) {
		return 'LITESPEED_CONF__' . strtoupper( str_replace( '-', '__', $id ) );
	}

	/**
	 * Filter to be used when saving setting.
	 *
	 * @since 3.0
	 *
	 * @param string $id Option ID.
	 * @return string|false
	 */
	protected function _conf_filter( $id ) {
		$filters = [
			self::O_MEDIA_LAZY_EXC => 'uri',
			self::O_DEBUG_INC => 'relative',
			self::O_DEBUG_EXC => 'relative',
			self::O_MEDIA_LAZY_URI_EXC => 'relative',
			self::O_CACHE_PRIV_URI => 'relative',
			self::O_PURGE_TIMED_URLS => 'relative',
			self::O_CACHE_FORCE_URI => 'relative',
			self::O_CACHE_FORCE_PUB_URI => 'relative',
			self::O_CACHE_EXC => 'relative',
			// self::O_OPTM_CSS_EXC     => 'uri', // Need to comment out for inline & external CSS
			// self::O_OPTM_JS_EXC          => 'uri',
			self::O_OPTM_EXC => 'relative',
			self::O_OPTM_CCSS_SEP_URI => 'uri',
			// self::O_OPTM_JS_DEFER_EXC    => 'uri',
			self::O_OPTM_DNS_PREFETCH => 'domain',
			self::O_CDN_ORI => 'noprotocol,trailingslash', // `Original URLs`
			// self::O_OPTM_LOCALIZE_DOMAINS    => 'noprotocol', // `Localize Resources`
			// self::   => '',
			// self::   => '',
		];

		if ( ! empty( $filters[ $id ] ) ) {
			return $filters[ $id ];
		}

		return false;
	}

	/**
	 * If the setting changes worth a purge or not.
	 *
	 * @since 3.0
	 *
	 * @param string $id Option ID.
	 * @return bool
	 */
	protected function _conf_purge( $id ) {
		$check_ids = [
			self::O_MEDIA_LAZY_URI_EXC,
			self::O_OPTM_EXC,
			self::O_CACHE_PRIV_URI,
			self::O_PURGE_TIMED_URLS,
			self::O_CACHE_FORCE_URI,
			self::O_CACHE_FORCE_PUB_URI,
			self::O_CACHE_EXC,
		];

		return in_array( $id, $check_ids, true );
	}

	/**
	 * If the setting changes worth a purge ALL or not.
	 *
	 * @since 3.0
	 *
	 * @param string $id Option ID.
	 * @return bool
	 */
	protected function _conf_purge_all( $id ) {
		$check_ids = [ self::O_CACHE, self::O_ESI, self::O_DEBUG_DISABLE_ALL, self::NETWORK_O_USE_PRIMARY ];

		return in_array( $id, $check_ids, true );
	}

	/**
	 * If the setting is a password or not.
	 *
	 * @since 3.0
	 *
	 * @param string $id Option ID.
	 * @return bool
	 */
	protected function _conf_pswd( $id ) {
		$check_ids = [ self::O_CDN_CLOUDFLARE_KEY, self::O_OBJECT_PSWD ];

		return in_array( $id, $check_ids, true );
	}

	/**
	 * If the setting is cron related or not.
	 *
	 * @since 3.0
	 *
	 * @param string $id Option ID.
	 * @return bool
	 */
	protected function _conf_cron( $id ) {
		$check_ids = [ self::O_OPTM_CSS_ASYNC, self::O_MEDIA_PLACEHOLDER_RESP_ASYNC, self::O_DISCUSS_AVATAR_CRON, self::O_IMG_OPTM_AUTO, self::O_CRAWLER ];

		return in_array( $id, $check_ids, true );
	}

	/**
	 * If the setting changes worth a purge, return the tag.
	 *
	 * @since 3.0
	 *
	 * @param string $id Option ID.
	 * @return string|false
	 */
	protected function _conf_purge_tag( $id ) {
		$check_ids = [
			self::O_CACHE_PAGE_LOGIN => Tag::TYPE_LOGIN,
		];

		if ( ! empty( $check_ids[ $id ] ) ) {
			return $check_ids[ $id ];
		}

		return false;
	}

	/**
	 * Generate server vars.
	 *
	 * @since 2.4.1
	 *
	 * @return array<string,mixed> Map of constant name => value|null.
	 */
	public function server_vars() {
		$consts      = [
			'WP_SITEURL',
			'WP_HOME',
			'WP_CONTENT_DIR',
			'SHORTINIT',
			'LSCWP_CONTENT_DIR',
			'LSCWP_CONTENT_FOLDER',
			'LSCWP_DIR',
			'LITESPEED_TIME_OFFSET',
			'LITESPEED_SERVER_TYPE',
			'LITESPEED_CLI',
			'LITESPEED_ALLOWED',
			'LITESPEED_ON',
			'LSWCP_TAG_PREFIX',
			'COOKIEHASH',
		];
		$server_vars = [];
		foreach ( $consts as $v ) {
			$server_vars[ $v ] = defined( $v ) ? constant( $v ) : null;
		}

		return $server_vars;
	}
}
PK�^�\?�S��G�G'litespeed-cache/src/placeholder.cls.phpnu�[���<?php
/**
 * The Placeholder class.
 *
 * Handles responsive placeholders (LQIP), admin column rendering,
 * queueing, and generation logic (local and cloud).
 *
 * @since   3.0
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Placeholder
 */
class Placeholder extends Base {

	/**
	 * Action type: generate.
	 *
	 * @var string
	 */
	const TYPE_GENERATE = 'generate';

	/**
	 * Action type: clear queue.
	 *
	 * @var string
	 */
	const TYPE_CLEAR_Q = 'clear_q';

	/**
	 * Whether responsive placeholders are enabled.
	 *
	 * @var bool
	 */
	private $_conf_placeholder_resp;

	/**
	 * SVG template for responsive placeholders.
	 *
	 * @var string
	 */
	private $_conf_placeholder_resp_svg;

	/**
	 * Whether LQIP generation via cloud is enabled.
	 *
	 * @var bool
	 */
	private $_conf_lqip;

	/**
	 * LQIP JPEG quality.
	 *
	 * @var int
	 */
	private $_conf_lqip_qual;

	/**
	 * Minimum width for LQIP generation.
	 *
	 * @var int
	 */
	private $_conf_lqip_min_w;

	/**
	 * Minimum height for LQIP generation.
	 *
	 * @var int
	 */
	private $_conf_lqip_min_h;

	/**
	 * Background color for SVG placeholders.
	 *
	 * @var string
	 */
	private $_conf_placeholder_resp_color;

	/**
	 * Whether LQIP generation is async (queued).
	 *
	 * @var bool
	 */
	private $_conf_placeholder_resp_async;

	/**
	 * Default placeholder data (fallback).
	 *
	 * @var string
	 */
	private $_conf_ph_default;

	/**
	 * In-memory map of generated placeholders for current request.
	 *
	 * @var array<string,string>
	 */
	private $_placeholder_resp_dict = [];

	/**
	 * Keys currently queued within this request.
	 *
	 * @var array<int,string>
	 */
	private $_ph_queue = [];

	/**
	 * Stats & request summary for throttling.
	 *
	 * @var array<string,mixed>
	 */
	protected $_summary;

	/**
	 * Init
	 *
	 * @since 3.0
	 */
	public function __construct() {
		$this->_conf_placeholder_resp       = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_MEDIA_PLACEHOLDER_RESP );
		$this->_conf_placeholder_resp_svg   = $this->conf( self::O_MEDIA_PLACEHOLDER_RESP_SVG );
		$this->_conf_lqip                   = ! defined( 'LITESPEED_GUEST_OPTM' ) && $this->conf( self::O_MEDIA_LQIP );
		$this->_conf_lqip_qual              = $this->conf( self::O_MEDIA_LQIP_QUAL );
		$this->_conf_lqip_min_w             = $this->conf( self::O_MEDIA_LQIP_MIN_W );
		$this->_conf_lqip_min_h             = $this->conf( self::O_MEDIA_LQIP_MIN_H );
		$this->_conf_placeholder_resp_async = $this->conf( self::O_MEDIA_PLACEHOLDER_RESP_ASYNC );
		$this->_conf_placeholder_resp_color = $this->conf( self::O_MEDIA_PLACEHOLDER_RESP_COLOR );
		$this->_conf_ph_default             = $this->conf(self::O_MEDIA_LAZY_PLACEHOLDER) ? $this->conf(self::O_MEDIA_LAZY_PLACEHOLDER) : LITESPEED_PLACEHOLDER;

		$this->_summary = self::get_summary();
	}

	/**
	 * Init Placeholder.
	 */
	public function init() {
		Debug2::debug2( '[LQIP] init' );

		add_action( 'litespeed_after_admin_init', [ $this, 'after_admin_init' ] );
	}

	/**
	 * Display column in Media.
	 *
	 * @since 3.0
	 * @access public
	 */
	public function after_admin_init() {
		if ( $this->_conf_lqip ) {
			add_filter( 'manage_media_columns', [ $this, 'media_row_title' ] );
			add_filter( 'manage_media_custom_column', [ $this, 'media_row_actions' ], 10, 2 );
			add_action( 'litespeed_media_row_lqip', [ $this, 'media_row_con' ] );
		}
	}

	/**
	 * Media Admin Menu -> LQIP column header.
	 *
	 * @since 3.0
	 * @param array<string,string> $posts_columns Columns.
	 * @return array<string,string>
	 */
	public function media_row_title( $posts_columns ) {
		$posts_columns['lqip'] = __( 'LQIP', 'litespeed-cache' );

		return $posts_columns;
	}

	/**
	 * Media Admin Menu -> LQIP Column renderer trigger.
	 *
	 * @since 3.0
	 * @param string $column_name Column name.
	 * @param int    $post_id     Attachment ID.
	 * @return void
	 */
	public function media_row_actions( $column_name, $post_id ) {
		if ( 'lqip' !== $column_name ) {
			return;
		}

		do_action( 'litespeed_media_row_lqip', $post_id );
	}

	/**
	 * Display LQIP column.
	 *
	 * @since 3.0
	 * @param int $post_id Attachment ID.
	 * @return void
	 */
	public function media_row_con( $post_id ) {
		$meta_value = wp_get_attachment_metadata( $post_id );

		if ( empty( $meta_value['file'] ) ) {
			return;
		}

		$total_files = 0;

		// List all sizes.
		$all_sizes = [ $meta_value['file'] ];
		$size_path = pathinfo( $meta_value['file'], PATHINFO_DIRNAME ) . '/';
		if ( ! empty( $meta_value['sizes'] ) && is_array( $meta_value['sizes'] ) ) {
			foreach ( $meta_value['sizes'] as $v ) {
				if ( ! empty( $v['file'] ) ) {
					$all_sizes[] = $size_path . $v['file'];
				}
			}
		}

		foreach ( $all_sizes as $short_path ) {
			$lqip_folder = LITESPEED_STATIC_DIR . '/lqip/' . $short_path;

			if ( is_dir( $lqip_folder ) ) {
				Debug2::debug( '[LQIP] Found folder: ' . $short_path );

				// List all files.
				foreach ( scandir( $lqip_folder ) as $v ) {
					if ( '.' === $v || '..' === $v ) {
						continue;
					}

					if ( 0 === $total_files ) {
						echo '<div class="litespeed-media-lqip"><img src="' .
							esc_url( Str::trim_quotes( File::read( $lqip_folder . '/' . $v ) ) ) .
							'" alt="' .
							esc_attr( sprintf( __( 'LQIP image preview for size %s', 'litespeed-cache' ), $v ) ) .
							'"></div>';
					}

					echo '<div class="litespeed-media-size"><a href="' . esc_url( Str::trim_quotes( File::read( $lqip_folder . '/' . $v ) ) ) . '" target="_blank">' . esc_html( $v ) . '</a></div>';

					++$total_files;
				}
			}
		}

		if ( 0 === $total_files ) {
			echo '—';
		}
	}

	/**
	 * Replace image HTML with placeholder-based lazy version.
	 *
	 * @since 3.0
	 * @param string $html Original <img> HTML.
	 * @param string $src  Image source URL.
	 * @param string $size Requested size (e.g. "300x200").
	 * @return string Modified HTML.
	 */
	public function replace( $html, $src, $size ) {
		// Check if need to enable responsive placeholder or not.
		$ph_candidate     = $this->_placeholder( $src, $size );
		$this_placeholder = $ph_candidate ? $ph_candidate : $this->_conf_ph_default;

		$additional_attr = '';
		if ( $this->_conf_lqip && $this_placeholder !== $this->_conf_ph_default ) {
			Debug2::debug2( '[LQIP] Use resp LQIP [size] ' . $size );
			$additional_attr = ' data-placeholder-resp="' . esc_attr( Str::trim_quotes( $size ) ) . '"';
		}

		$snippet = ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_NOSCRIPT_RM ) ) ? '' : '<noscript>' . $html . '</noscript>';

		$html = preg_replace(
			[
				'/\s+src=/i',
				'/\s+srcset=/i',
				'/\s+sizes=/i',
			],
			[
				' data-src=',
				' data-srcset=',
				' data-sizes=',
			],
			$html
		);
		$html = preg_replace(
			'/<img\s+/i',
			'<img data-lazyloaded="1"' . $additional_attr . ' src="' . Str::trim_quotes($this_placeholder) . '" ',
			$html
		);

		// $html    = str_replace( array( ' src=', ' srcset=', ' sizes=' ), array( ' data-src=', ' data-srcset=', ' data-sizes=' ), $html );
		// $html    = str_replace( '<img ', '<img data-lazyloaded="1"' . $additional_attr . ' src="' . esc_url( Str::trim_quotes( $this_placeholder ) ) . '" ', $html );
		$snippet = $html . $snippet;

		return $snippet;
	}

	/**
	 * Generate responsive placeholder (or schedule generation).
	 *
	 * @since 2.5.1
	 * @access private
	 * @param string $src  Image source URL.
	 * @param string $size Size string "WIDTHxHEIGHT".
	 * @return string|false Data URL placeholder or false.
	 */
	private function _placeholder( $src, $size ) {
		// Low Quality Image Placeholders.
		if ( ! $size ) {
			Debug2::debug2( '[LQIP] no size ' . $src );
			return false;
		}

		if ( ! $this->_conf_placeholder_resp ) {
			return false;
		}

		// If use local generator.
		if ( ! $this->_conf_lqip || ! $this->_lqip_size_check( $size ) ) {
			return $this->_generate_placeholder_locally( $size );
		}

		Debug2::debug2( '[LQIP] Resp LQIP process [src] ' . $src . ' [size] ' . $size );

		$arr_key = $size . ' ' . $src;

		// Check if its already in dict or not.
		if ( ! empty( $this->_placeholder_resp_dict[ $arr_key ] ) ) {
			Debug2::debug2( '[LQIP] already in dict' );

			return $this->_placeholder_resp_dict[ $arr_key ];
		}

		// Need to generate the responsive placeholder.
		$placeholder_realpath = $this->_placeholder_realpath( $src, $size ); // todo: give offload API.
		if ( file_exists( $placeholder_realpath ) ) {
			Debug2::debug2( '[LQIP] file exists' );
			$this->_placeholder_resp_dict[ $arr_key ] = File::read( $placeholder_realpath );

			return $this->_placeholder_resp_dict[ $arr_key ];
		}

		// Prevent repeated requests in same request.
		if ( in_array( $arr_key, $this->_ph_queue, true ) ) {
			Debug2::debug2( '[LQIP] file bypass generating due to in queue' );
			return $this->_generate_placeholder_locally( $size );
		}

		$hit = Utility::str_hit_array( $src, $this->conf( self::O_MEDIA_LQIP_EXC ) );
		if ( $hit ) {
			Debug2::debug2( '[LQIP] file bypass generating due to exclude setting [hit] ' . $hit );
			return $this->_generate_placeholder_locally( $size );
		}

		$this->_ph_queue[] = $arr_key;

		// Send request to generate placeholder.
		if ( ! $this->_conf_placeholder_resp_async ) {
			// If requested recently, bypass.
			if ( $this->_summary && ! empty( $this->_summary['curr_request'] ) && ( time() - (int) $this->_summary['curr_request'] ) < 300 ) {
				Debug2::debug2( '[LQIP] file bypass generating due to interval limit' );
				return false;
			}
			// Generate immediately.
			$this->_placeholder_resp_dict[ $arr_key ] = $this->_generate_placeholder( $arr_key );

			return $this->_placeholder_resp_dict[ $arr_key ];
		}

		// Prepare default svg placeholder as tmp placeholder.
		$tmp_placeholder = $this->_generate_placeholder_locally( $size );

		// Store it to prepare for cron.
		$queue = $this->load_queue( 'lqip' );
		if ( in_array( $arr_key, $queue, true ) ) {
			Debug2::debug2( '[LQIP] already in queue' );

			return $tmp_placeholder;
		}

		if ( count( $queue ) > 500 ) {
			Debug2::debug2( '[LQIP] queue is full' );

			return $tmp_placeholder;
		}

		$queue[] = $arr_key;
		$this->save_queue( 'lqip', $queue );
		Debug2::debug( '[LQIP] Added placeholder queue' );

		return $tmp_placeholder;
	}

	/**
	 * Generate realpath of placeholder file.
	 *
	 * @since 2.5.1
	 * @access private
	 * @param string $src  Image source URL.
	 * @param string $size Size string "WIDTHxHEIGHT".
	 * @return string Absolute file path.
	 */
	private function _placeholder_realpath( $src, $size ) {
		// Use LQIP Cloud generator, each image placeholder will be separately stored.

		// Compatibility with WebP and AVIF.
		$src = Utility::drop_webp( $src );

		$filepath_prefix = $this->_build_filepath_prefix( 'lqip' );

		// External images will use cache folder directly.
		$domain = wp_parse_url( $src, PHP_URL_HOST );
		if ( $domain && ! Utility::internal( $domain ) ) {
			// todo: need to improve `util:internal()` to include `CDN::internal()`
			$md5 = md5($src);

			return LITESPEED_STATIC_DIR . $filepath_prefix . 'remote/' . substr( $md5, 0, 1 ) . '/' . substr( $md5, 1, 1 ) . '/' . $md5 . '.' . $size;
		}

		// Drop domain.
		$short_path = Utility::att_short_path( $src );

		return LITESPEED_STATIC_DIR . $filepath_prefix . $short_path . '/' . $size;
	}

	/**
	 * Cron placeholder generation.
	 *
	 * @since 2.5.1
	 * @param bool $do_continue If true, process full queue in one run.
	 * @return void
	 */
	public static function cron( $do_continue = false ) {
		$_instance = self::cls();

		$queue = $_instance->load_queue( 'lqip' );

		if ( empty( $queue ) ) {
			return;
		}

		// For cron, need to check request interval too.
		if ( ! $do_continue ) {
			if ( ! empty( $_instance->_summary['curr_request'] ) && ( time() - (int) $_instance->_summary['curr_request'] ) < 300 ) {
				Debug2::debug( '[LQIP] Last request not done' );
				return;
			}
		}

		foreach ( $queue as $v ) {
			Debug2::debug( '[LQIP] cron job [size] ' . $v );

			$res = $_instance->_generate_placeholder( $v, true );

			// Exit queue if out of quota.
			if ( 'out_of_quota' === $res ) {
				return;
			}

			// Only request first one unless continuing.
			if ( ! $do_continue ) {
				return;
			}
		}
	}

	/**
	 * Generate placeholder locally (SVG).
	 *
	 * @since 3.0
	 * @access private
	 * @param string $size Size string "WIDTHxHEIGHT".
	 * @return string Data URL for SVG placeholder.
	 */
	private function _generate_placeholder_locally( $size ) {
		Debug2::debug2( '[LQIP] _generate_placeholder local [size] ' . $size );

		$size = explode( 'x', $size );

		$svg = str_replace(
			[ '{width}', '{height}', '{color}' ],
			[ (int) $size[0], (int) $size[1], $this->_conf_placeholder_resp_color ],
			$this->_conf_placeholder_resp_svg
		);

		// phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode
		return 'data:image/svg+xml;base64,' . base64_encode( $svg );
	}

	/**
	 * Send to LiteSpeed API to generate placeholder (and persist).
	 *
	 * @since 2.5.1
	 * @access private
	 * @param string $raw_size_and_src Concatenated "SIZE SRC".
	 * @param bool   $from_cron        If true, called from cron context.
	 * @return string Data URL placeholder.
	 */
	private function _generate_placeholder( $raw_size_and_src, $from_cron = false ) {
		// Parse containing size and src info.
		$size_and_src = explode( ' ', $raw_size_and_src, 2 );
		$size         = $size_and_src[0];

		if ( empty( $size_and_src[1] ) ) {
			$this->_popup_and_save( $raw_size_and_src );
			Debug2::debug( '[LQIP] ❌ No src [raw] ' . $raw_size_and_src );
			return $this->_generate_placeholder_locally( $size );
		}

		$src = $size_and_src[1];

		$file = $this->_placeholder_realpath( $src, $size );

		// Local generate SVG to serve (repeated here to clear queue if settings changed).
		if ( ! $this->_conf_lqip || ! $this->_lqip_size_check( $size ) ) {
			$data = $this->_generate_placeholder_locally( $size );
		} else {
			$err       = false;
			$allowance = Cloud::cls()->allowance( Cloud::SVC_LQIP, $err );
			if ( ! $allowance ) {
				Debug2::debug( '[LQIP] ❌ No credit: ' . $err );
				$err && Admin_Display::error( Error::msg( $err ) );

				if ( $from_cron ) {
					return 'out_of_quota';
				}

				return $this->_generate_placeholder_locally( $size );
			}

			// Generate LQIP.
			list( $width, $height ) = explode( 'x', $size );
			$req_data               = [
				'width'   => (int) $width,
				'height'  => (int) $height,
				'url'     => Utility::drop_webp( $src ),
				'quality' => (int) $this->_conf_lqip_qual,
			];

			// Check if the image is 404 first.
			if ( File::is_404( $req_data['url'] ) ) {
				$this->_popup_and_save( $raw_size_and_src, true );
				$this->_append_exc( $src );
				Debug2::debug( '[LQIP] 404 before request [src] ' . $req_data['url'] );
				return $this->_generate_placeholder_locally( $size );
			}

			// Update request status.
			$this->_summary['curr_request'] = time();
			self::save_summary();

			$json = Cloud::post( Cloud::SVC_LQIP, $req_data, 120 );
			if ( ! is_array( $json ) ) {
				return $this->_generate_placeholder_locally( $size );
			}

			if ( empty( $json['lqip'] ) || 0 !== strpos( $json['lqip'], 'data:image/svg+xml' ) ) {
				// Image error, pop up the current queue.
				$this->_popup_and_save( $raw_size_and_src, true );
				$this->_append_exc( $src );
				Debug2::debug( '[LQIP] wrong response format', $json );

				return $this->_generate_placeholder_locally( $size );
			}

			$data = $json['lqip'];

			Debug2::debug( '[LQIP] _generate_placeholder LQIP' );
		}

		// Write to file.
		File::save( $file, $data, true );

		// Save summary data.
		$this->_summary['last_spent']   = time() - (int) $this->_summary['curr_request'];
		$this->_summary['last_request'] = $this->_summary['curr_request'];
		$this->_summary['curr_request'] = 0;
		self::save_summary();
		$this->_popup_and_save( $raw_size_and_src );

		Debug2::debug( '[LQIP] saved LQIP ' . $file );

		return $data;
	}

	/**
	 * Check if the size is valid to send LQIP request or not.
	 *
	 * @since 3.0
	 * @param string $size Size string "WIDTHxHEIGHT".
	 * @return bool True if meets minimums.
	 */
	private function _lqip_size_check( $size ) {
		$size = explode( 'x', $size );
		if ( ( (int) $size[0] >= (int) $this->_conf_lqip_min_w ) || ( (int) $size[1] >= (int) $this->_conf_lqip_min_h ) ) {
			return true;
		}

		Debug2::debug2( '[LQIP] Size too small' );

		return false;
	}

	/**
	 * Add to LQIP exclude list.
	 *
	 * @since 3.4
	 * @param string $src Image URL.
	 * @return void
	 */
	private function _append_exc( $src ) {
		$val   = $this->conf( self::O_MEDIA_LQIP_EXC );
		$val[] = $src;
		$this->cls( 'Conf' )->update( self::O_MEDIA_LQIP_EXC, $val );
		Debug2::debug( '[LQIP] Appended to LQIP Excludes [URL] ' . $src );
	}

	/**
	 * Pop up the current request from queue and save.
	 *
	 * @since 3.0
	 * @param string $raw_size_and_src Concatenated "SIZE SRC".
	 * @param bool   $append_to_exc    If true, also add to exclusion list.
	 * @return void
	 */
	private function _popup_and_save( $raw_size_and_src, $append_to_exc = false ) {
		$queue = $this->load_queue( 'lqip' );
		if ( ! empty( $queue ) && in_array( $raw_size_and_src, $queue, true ) ) {
			$idx = array_search( $raw_size_and_src, $queue, true );
			if ( false !== $idx ) {
				unset( $queue[ $idx ] );
			}
		}

		if ( $append_to_exc ) {
			$size_and_src = explode( ' ', $raw_size_and_src, 2 );
			if (isset( $size_and_src[1] ) && $size_and_src[1]) {
				$this_src = $size_and_src[1];
				// Append to lqip exc setting first.
				$this->_append_exc( $this_src );

				// Check if other queues contain this src or not.
				if ( $queue ) {
					foreach ( $queue as $k => $raw_item ) {
						$parsed = explode( ' ', $raw_item, 2 );
						if ( empty( $parsed[1] ) ) {
							continue;
						}

						if ( $parsed[1] === $this_src ) {
							unset( $queue[ $k ] );
						}
					}
				}
			}
		}

		$this->save_queue( 'lqip', $queue );
	}

	/**
	 * Handle all request actions from main cls.
	 *
	 * @since 2.5.1
	 * @access public
	 * @return void
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ( $type ) {
			case self::TYPE_GENERATE:
            self::cron( true );
				break;

			case self::TYPE_CLEAR_Q:
            $this->clear_q( 'lqip' );
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\^��AA litespeed-cache/src/ucss.cls.phpnu�[���<?php
/**
 * The ucss class.
 *
 * @since   5.1
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * UCSS optimization class.
 *
 * @since 5.1
 */
class UCSS extends Base {

	const LOG_TAG = '[UCSS]';

	const TYPE_GEN     = 'gen';
	const TYPE_CLEAR_Q = 'clear_q';

	/**
	 * Summary data.
	 *
	 * @var array
	 */
	protected $_summary;

	/**
	 * UCSS whitelist selectors.
	 *
	 * @var array
	 */
	private $_ucss_whitelist;

	/**
	 * Queue for UCSS generation.
	 *
	 * @var array
	 */
	private $_queue;

	/**
	 * Init
	 *
	 * @since  3.0
	 */
	public function __construct() {
		$this->_summary = self::get_summary();

		add_filter( 'litespeed_ucss_whitelist', [ $this->cls( 'Data' ), 'load_ucss_whitelist' ] );
	}

	/**
	 * Uniform url tag for ucss usage
	 *
	 * @since 4.7
	 *
	 * @param string|false $request_url The request URL.
	 * @return string The URL tag.
	 */
	public static function get_url_tag( $request_url = false ) {
		$url_tag = $request_url;
		if (is_404()) {
			$url_tag = '404';
		} elseif (apply_filters('litespeed_ucss_per_pagetype', false)) {
			$url_tag = Utility::page_type();
			self::debug('litespeed_ucss_per_pagetype filter altered url to ' . $url_tag);
		}

		return $url_tag;
	}

	/**
	 * Get UCSS path
	 *
	 * @since  4.0
	 *
	 * @param string $request_url The request URL.
	 * @param bool   $dry_run     Whether to run in dry mode.
	 * @return string|false The UCSS filename or false.
	 */
	public function load( $request_url, $dry_run = false ) {
		// Check UCSS URI excludes
		$ucss_exc = apply_filters( 'litespeed_ucss_exc', $this->conf( self::O_OPTM_UCSS_EXC ) );
		$hit      = $ucss_exc ? Utility::str_hit_array( $request_url, $ucss_exc ) : false;
		if ( $hit ) {
			self::debug( 'UCSS bypassed due to UCSS URI Exclude setting: ' . $hit );
			Core::comment( 'QUIC.cloud UCSS bypassed by setting' );
			return false;
		}

		$filepath_prefix = $this->_build_filepath_prefix('ucss');

		$url_tag = self::get_url_tag($request_url);

		$vary     = $this->cls('Vary')->finalize_full_varies();
		$filename = $this->cls('Data')->load_url_file($url_tag, $vary, 'ucss');
		if ($filename) {
			$static_file = LITESPEED_STATIC_DIR . $filepath_prefix . $filename . '.css';

			if (file_exists($static_file)) {
				self::debug2('existing ucss ' . $static_file);
				// Check if is error comment inside only
				$tmp = File::read($static_file);
				if ( '/*' === substr( $tmp, 0, 2 ) && '*/' === substr( trim( $tmp ), -2 ) ) {
					self::debug2('existing ucss is error only: ' . $tmp);
					Core::comment('QUIC.cloud UCSS bypassed due to generation error ❌ ' . $filepath_prefix . $filename . '.css');
					return false;
				}

				Core::comment('QUIC.cloud UCSS loaded ✅ ' . $filepath_prefix . $filename . '.css' );

				return $filename . '.css';
			}
		}

		if ($dry_run) {
			return false;
		}

		Core::comment('QUIC.cloud UCSS in queue');

		$uid = get_current_user_id();

		$ua = $this->_get_ua();

		// Store it for cron
		$this->_queue = $this->load_queue('ucss');

		if (count($this->_queue) > 500) {
			self::debug('UCSS Queue is full - 500');
			return false;
		}

		$queue_k                  = (strlen($vary) > 32 ? md5($vary) : $vary) . ' ' . $url_tag;
		$this->_queue[ $queue_k ] = [
			'url'        => apply_filters( 'litespeed_ucss_url', $request_url ),
			'user_agent' => substr( $ua, 0, 200 ),
			'is_mobile'  => $this->_separate_mobile(),
			'is_webp'    => $this->cls( 'Media' )->webp_support() ? 1 : 0,
			'uid'        => $uid,
			'vary'       => $vary,
			'url_tag'    => $url_tag,
		]; // Current UA will be used to request
		$this->save_queue('ucss', $this->_queue);
		self::debug('Added queue_ucss [url_tag] ' . $url_tag . ' [UA] ' . $ua . ' [vary] ' . $vary . ' [uid] ' . $uid);

		// Prepare cache tag for later purge
		Tag::add('UCSS.' . md5($queue_k));

		return false;
	}

	/**
	 * Get User Agent
	 *
	 * @since  5.3
	 *
	 * @return string The user agent string.
	 */
	private function _get_ua() {
		return ! empty( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : '';
	}

	/**
	 * Add rows to q
	 *
	 * @since  5.3
	 *
	 * @param array $url_files Array of URL file data.
	 * @return false|void False if queue is full.
	 */
	public function add_to_q( $url_files ) {
		// Store it for cron
		$this->_queue = $this->load_queue('ucss');

		if (count($this->_queue) > 500) {
			self::debug('UCSS Queue is full - 500');
			return false;
		}

		$ua = $this->_get_ua();
		foreach ($url_files as $url_file) {
			$vary        = $url_file['vary'];
			$request_url = $url_file['url'];
			$is_mobile   = $url_file['mobile'];
			$is_webp     = $url_file['webp'];
			$url_tag     = self::get_url_tag($request_url);

			$queue_k = (strlen($vary) > 32 ? md5($vary) : $vary) . ' ' . $url_tag;
			$q       = [
				'url'        => apply_filters( 'litespeed_ucss_url', $request_url ),
				'user_agent' => substr( $ua, 0, 200 ),
				'is_mobile'  => $is_mobile,
				'is_webp'    => $is_webp,
				'uid'        => false,
				'vary'       => $vary,
				'url_tag'    => $url_tag,
			]; // Current UA will be used to request

			self::debug('Added queue_ucss [url_tag] ' . $url_tag . ' [UA] ' . $ua . ' [vary] ' . $vary . ' [uid] false');
			$this->_queue[$queue_k] = $q;
		}
		$this->save_queue('ucss', $this->_queue);
	}

	/**
	 * Generate UCSS
	 *
	 * @since  4.0
	 *
	 * @param bool $keep_going Whether to continue processing.
	 * @return mixed The cron handler result.
	 */
	public static function cron( $keep_going = false ) {
		$_instance = self::cls();
		return $_instance->_cron_handler( $keep_going );
	}

	/**
	 * Handle UCSS cron
	 *
	 * @since 4.2
	 *
	 * @param bool $keep_going Whether to continue processing.
	 * @return mixed The redirect result or void.
	 */
	private function _cron_handler( $keep_going ) {
		$this->_queue = $this->load_queue( 'ucss' );

		if ( empty( $this->_queue ) ) {
			return;
		}

		// For cron, need to check request interval too
		if ( ! $keep_going ) {
			if (!empty($this->_summary['curr_request']) && time() - $this->_summary['curr_request'] < 300 && !$this->conf(self::O_DEBUG)) {
				self::debug('Last request not done');
				return;
			}
		}

		$i = 0;
		foreach ($this->_queue as $k => $v) {
			if (!empty($v['_status'])) {
				continue;
			}

			self::debug('cron job [tag] ' . $k . ' [url] ' . $v['url'] . ($v['is_mobile'] ? ' 📱 ' : '') . ' [UA] ' . $v['user_agent']);

			if (!isset($v['is_webp'])) {
				$v['is_webp'] = false;
			}

			++$i;
			$res = $this->_send_req($v['url'], $k, $v['uid'], $v['user_agent'], $v['vary'], $v['url_tag'], $v['is_mobile'], $v['is_webp']);
			if (!$res) {
				// Status is wrong, drop this this->_queue
				$this->_queue = $this->load_queue('ucss');
				unset($this->_queue[$k]);
				$this->save_queue('ucss', $this->_queue);

				if ( ! $keep_going ) {
					return;
				}

				if ( $i > 3 ) {
					GUI::print_loading( count( $this->_queue ), 'UCSS' );
					return Router::self_redirect( Router::ACTION_UCSS, self::TYPE_GEN );
				}

				continue;
			}

			// Exit queue if out of quota or service is hot
			if ( 'out_of_quota' === $res || 'svc_hot' === $res ) {
				return;
			}

			$this->_queue                  = $this->load_queue( 'ucss' );
			$this->_queue[ $k ]['_status'] = 'requested';
			$this->save_queue( 'ucss', $this->_queue );
			self::debug( 'Saved to queue [k] ' . $k );

			// only request first one
			if ( ! $keep_going ) {
				return;
			}

			if ($i > 3) {
				GUI::print_loading(count($this->_queue), 'UCSS');
				return Router::self_redirect(Router::ACTION_UCSS, self::TYPE_GEN);
			}
		}
	}

	/**
	 * Send to QC API to generate UCSS
	 *
	 * @since  2.3
	 * @access private
	 *
	 * @param string    $request_url The request URL.
	 * @param string    $queue_k     The queue key.
	 * @param int|false $uid         The user ID.
	 * @param string    $user_agent  The user agent.
	 * @param string    $vary        The vary string.
	 * @param string    $url_tag     The URL tag.
	 * @param bool      $is_mobile   Whether is mobile.
	 * @param bool      $is_webp     Whether supports webp.
	 * @return string|bool|null The result status.
	 */
	private function _send_req( $request_url, $queue_k, $uid, $user_agent, $vary, $url_tag, $is_mobile, $is_webp ) {
		// Check if has credit to push or not
		$err       = false;
		$allowance = $this->cls('Cloud')->allowance(Cloud::SVC_UCSS, $err);
		if (!$allowance) {
			self::debug('❌ No credit: ' . $err);
			$err && Admin_Display::error(Error::msg($err));
			return 'out_of_quota';
		}

		set_time_limit(120);

		// Update css request status
		$this->_summary['curr_request'] = time();
		self::save_summary();

		// Gather guest HTML to send
		$html = $this->cls('CSS')->prepare_html($request_url, $user_agent, $uid);

		if (!$html) {
			return false;
		}

		// Parse HTML to gather all CSS content before requesting
		$css             = false;
		list(, $html)    = $this->prepare_css($html, $is_webp, true); // Use this to drop CSS from HTML as we don't need those CSS to generate UCSS
		$filename        = $this->cls('Data')->load_url_file($url_tag, $vary, 'css');
		$filepath_prefix = $this->_build_filepath_prefix('css');
		$static_file     = LITESPEED_STATIC_DIR . $filepath_prefix . $filename . '.css';
		self::debug('Checking combined file ' . $static_file);
		if (file_exists($static_file)) {
			$css = File::read($static_file);
		}

		if (!$css) {
			self::debug('❌ No combined css');
			return false;
		}

		$data = [
			'url'        => $request_url,
			'queue_k'    => $queue_k,
			'user_agent' => $user_agent,
			'is_mobile'  => $is_mobile ? 1 : 0, // todo:compatible w/ tablet
			'is_webp'    => $is_webp ? 1 : 0,
			'html'       => $html,
			'css'        => $css,
		];
		if (!isset($this->_ucss_whitelist)) {
			$this->_ucss_whitelist = $this->_filter_whitelist();
		}
		$data['whitelist'] = $this->_ucss_whitelist;

		self::debug('Generating: ', $data);

		$json = Cloud::post(Cloud::SVC_UCSS, $data, 30);
		if (!is_array($json)) {
			return $json;
		}

		// Old version compatibility
		if (empty($json['status'])) {
			if (!empty($json['ucss'])) {
				$this->_save_con('ucss', $json['ucss'], $queue_k, $is_mobile, $is_webp);
			}

			// Delete the row
			return false;
		}

		// Unknown status, remove this line
		if ( 'queued' !== $json['status'] ) {
			return false;
		}

		// Save summary data
		$this->_summary['last_spent']   = time() - $this->_summary['curr_request'];
		$this->_summary['last_request'] = $this->_summary['curr_request'];
		$this->_summary['curr_request'] = 0;
		self::save_summary();

		return true;
	}

	/**
	 * Save UCSS content
	 *
	 * @since 4.2
	 *
	 * @param string $type      The content type.
	 * @param string $css       The CSS content.
	 * @param string $queue_k   The queue key.
	 * @param bool   $is_mobile Whether is mobile.
	 * @param bool   $is_webp   Whether supports webp.
	 */
	private function _save_con( $type, $css, $queue_k, $is_mobile, $is_webp ) {
		// Add filters
		$css = apply_filters('litespeed_' . $type, $css, $queue_k);
		self::debug2('con: ', $css);

		if ( '/*' === substr( $css, 0, 2 ) && '*/' === substr( $css, -2 ) ) {
			self::debug('❌ empty ' . $type . ' [content] ' . $css);
			// continue; // Save the error info too
		}

		// Write to file
		$filecon_md5 = md5($css);

		$filepath_prefix = $this->_build_filepath_prefix($type);
		$static_file     = LITESPEED_STATIC_DIR . $filepath_prefix . $filecon_md5 . '.css';

		File::save($static_file, $css, true);

		$url_tag = $this->_queue[$queue_k]['url_tag'];
		$vary    = $this->_queue[$queue_k]['vary'];
		self::debug2("Save URL to file [file] $static_file [vary] $vary");

		$this->cls('Data')->save_url($url_tag, $vary, $type, $filecon_md5, dirname($static_file), $is_mobile, $is_webp);

		Purge::add(strtoupper($type) . '.' . md5($queue_k));
	}

	/**
	 * Prepare CSS from HTML for CCSS generation only. UCSS will used combined CSS directly.
	 * Prepare refined HTML for both CCSS and UCSS.
	 *
	 * @since  3.4.3
	 *
	 * @param string $html    The HTML content.
	 * @param bool   $is_webp Whether supports webp.
	 * @param bool   $dryrun  Whether to run in dry mode.
	 * @return array Array of CSS and HTML.
	 */
	public function prepare_css( $html, $is_webp = false, $dryrun = false ) {
		$css = '';
		preg_match_all('#<link ([^>]+)/?>|<style([^>]*)>([^<]+)</style>#isU', $html, $matches, PREG_SET_ORDER);
		foreach ($matches as $match) {
			$debug_info = '';
			if (strpos($match[0], '<link') === 0) {
				$attrs = Utility::parse_attr($match[1]);

				if (empty($attrs['rel'])) {
					continue;
				}

				if ( 'stylesheet' !== $attrs['rel'] ) {
					if ( 'preload' !== $attrs['rel'] || empty( $attrs['as'] ) || 'style' !== $attrs['as'] ) {
						continue;
					}
				}

				if (!empty($attrs['media']) && strpos($attrs['media'], 'print') !== false) {
					continue;
				}

				if (empty($attrs['href'])) {
					continue;
				}

				// Check Google fonts hit
				if (strpos($attrs['href'], 'fonts.googleapis.com') !== false) {
					$html = str_replace($match[0], '', $html);
					continue;
				}

				$debug_info = $attrs['href'];

				// Load CSS content
				if (!$dryrun) {
					// Dryrun will not load CSS but just drop them
					$con = $this->cls('Optimizer')->load_file($attrs['href']);
					if (!$con) {
						continue;
					}
				} else {
					$con = '';
				}
			} else {
				// Inline style
				$attrs = Utility::parse_attr($match[2]);

				if (!empty($attrs['media']) && strpos($attrs['media'], 'print') !== false) {
					continue;
				}

				Debug2::debug2('[CSS] Load inline CSS ' . substr($match[3], 0, 100) . '...', $attrs);
				$con = $match[3];

				$debug_info = '__INLINE__';
			}

			$con = Optimizer::minify_css($con);
			if ($is_webp && $this->cls('Media')->webp_support()) {
				$con = $this->cls('Media')->replace_background_webp($con);
			}

			if ( ! empty( $attrs['media'] ) && 'all' !== $attrs['media'] ) {
				$con = '@media ' . $attrs['media'] . '{' . $con . "}\n";
			} else {
				$con = $con . "\n";
			}

			$con  = '/* ' . $debug_info . ' */' . $con;
			$css .= $con;

			$html = str_replace($match[0], '', $html);
		}

		return [ $css, $html ];
	}

	/**
	 * Filter the comment content, add quotes to selector from whitelist. Return the json
	 *
	 * @since 3.3
	 */
	private function _filter_whitelist() {
		$whitelist = [];
		$list      = apply_filters('litespeed_ucss_whitelist', $this->conf(self::O_OPTM_UCSS_SELECTOR_WHITELIST));
		foreach ($list as $k => $v) {
			if (substr($v, 0, 2) === '//') {
				continue;
			}
			$whitelist[] = $v;
		}

		return $whitelist;
	}

	/**
	 * Notify finished from server
	 *
	 * @since 5.1
	 */
	public function notify() {
		$post_data = \json_decode( file_get_contents( 'php://input' ), true );
		if ( is_null( $post_data ) ) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing -- This is a callback from QUIC.cloud, verified by extract_msg()
			$post_data = $_POST;
		}
		self::debug('notify() data', $post_data);

		$this->_queue = $this->load_queue('ucss');

		list($post_data) = $this->cls('Cloud')->extract_msg($post_data, 'ucss');

		$notified_data = $post_data['data'];
		if (empty($notified_data) || !is_array($notified_data)) {
			self::debug('❌ notify exit: no notified data');
			return Cloud::err('no notified data');
		}

		// Check if its in queue or not
		$valid_i = 0;
		foreach ($notified_data as $v) {
			if (empty($v['request_url'])) {
				self::debug('❌ notify bypass: no request_url', $v);
				continue;
			}
			if (empty($v['queue_k'])) {
				self::debug('❌ notify bypass: no queue_k', $v);
				continue;
			}

			if (empty($this->_queue[$v['queue_k']])) {
				self::debug('❌ notify bypass: no this queue [q_k]' . $v['queue_k']);
				continue;
			}

			// Save data
			if (!empty($v['data_ucss'])) {
				$is_mobile = $this->_queue[$v['queue_k']]['is_mobile'];
				$is_webp   = $this->_queue[$v['queue_k']]['is_webp'];
				$this->_save_con('ucss', $v['data_ucss'], $v['queue_k'], $is_mobile, $is_webp);

				++$valid_i;
			}

			unset($this->_queue[$v['queue_k']]);
			self::debug('notify data handled, unset queue [q_k] ' . $v['queue_k']);
		}
		$this->save_queue('ucss', $this->_queue);

		self::debug('notified');

		return Cloud::ok( [ 'count' => $valid_i ] );
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * @since  2.3
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ($type) {
			case self::TYPE_GEN:
            self::cron(true);
				break;

			case self::TYPE_CLEAR_Q:
            $this->clear_q('ucss');
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\�zi��!litespeed-cache/src/media.cls.phpnu�[���<?php
/**
 * The class to operate media data.
 *
 * @package LiteSpeed
 * @since   1.4
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Media
 *
 * Handles media-related optimizations like lazy loading, next-gen image replacement, and admin UI.
 */
class Media extends Root {

	const LOG_TAG = '📺';

	const LIB_FILE_IMG_LAZYLOAD = 'assets/js/lazyload.min.js';

	/**
	 * Current page buffer content.
	 *
	 * @var string
	 */
	private $content;

	/**
	 * WordPress uploads directory info.
	 *
	 * @var array
	 */
	private $_wp_upload_dir;

	/**
	 * List of VPI (viewport images) to preload in <head>.
	 *
	 * @var array
	 */
	private $_vpi_preload_list = [];

	/**
	 * The user-level next-gen format supported (''|webp|avif).
	 *
	 * @var string
	 */
	private $_format = '';

	/**
	 * The system-level chosen next-gen format (webp|avif).
	 *
	 * @var string
	 */
	private $_sys_format = '';

	/**
	 * Init.
	 *
	 * @since 1.4
	 */
	public function __construct() {
		self::debug2( 'init' );

		$this->_wp_upload_dir = wp_upload_dir();
		if ( $this->conf( Base::O_IMG_OPTM_WEBP ) ) {
			$this->_sys_format = 'webp';
			$this->_format     = 'webp';
			if ( 2 === $this->conf( Base::O_IMG_OPTM_WEBP ) ) {
				$this->_sys_format = 'avif';
				$this->_format     = 'avif';
			}
			if ( ! $this->_browser_support_next_gen() ) {
				$this->_format = '';
			}
			$this->_format = apply_filters( 'litespeed_next_gen_format', $this->_format );
		}
	}

	/**
	 * Hooks after user init.
	 *
	 * @since 7.2
	 * @since 7.4 Add media replace original with scaled.
	 * @return void
	 */
	public function after_user_init() {
		// Hook to attachment delete action (PR#844, Issue#841) for AJAX del compatibility.
		add_action( 'delete_attachment', [ $this, 'delete_attachment' ], 11, 2 );

		// For big images, allow to replace original with scaled image.
		if ( $this->conf( Base::O_MEDIA_AUTO_RESCALE_ORI ) ) {
			// Added priority 9 to happen before other functions added.
			add_filter( 'wp_update_attachment_metadata', [ $this, 'rescale_ori' ], 9, 2 );
		}
	}

	/**
	 * Init optm features.
	 *
	 * @since  3.0
	 * @access public
	 * @return void
	 */
	public function init() {
		if ( is_admin() ) {
			return;
		}

		// Due to ajax call doesn't send correct accept header, have to limit webp to HTML only.
		if ( $this->webp_support() ) {
			// Hook to srcset.
			if ( function_exists( 'wp_calculate_image_srcset' ) ) {
				add_filter( 'wp_calculate_image_srcset', [ $this, 'webp_srcset' ], 988 );
			}
			// Hook to mime icon
			// add_filter( 'wp_get_attachment_image_src', [ $this, 'webp_attach_img_src' ], 988 );// todo: need to check why not
			// add_filter( 'wp_get_attachment_url', [ $this, 'webp_url' ], 988 ); // disabled to avoid wp-admin display
		}

		if ( $this->conf( Base::O_MEDIA_LAZY ) && ! $this->cls( 'Metabox' )->setting( 'litespeed_no_image_lazy' ) ) {
			self::debug( 'Suppress default WP lazyload' );
			add_filter( 'wp_lazy_loading_enabled', '__return_false' );
		}

		/**
		 * Replace gravatar.
		 *
		 * @since 3.0
		 */
		$this->cls( 'Avatar' );

		add_filter( 'litespeed_buffer_finalize', [ $this, 'finalize' ], 4 );
		add_filter( 'litespeed_optm_html_head', [ $this, 'finalize_head' ] );
	}

	/**
	 * Handle attachment create (rescale original).
	 *
	 * @param array $metadata      Current meta array.
	 * @param int   $attachment_id Attachment ID.
	 * @return array Modified metadata.
	 * @since 7.4
	 */
	public function rescale_ori( $metadata, $attachment_id ) {
		// Test if create and image was resized.
		if ( $metadata && isset( $metadata['original_image'], $metadata['file'] ) && false !== strpos( $metadata['file'], '-scaled' ) ) {
			// Get rescaled file name.
			$path_exploded      = explode( '/', strrev( $metadata['file'] ), 2 );
			$rescaled_file_name = strrev( $path_exploded[0] );

			// Create paths for images: resized and original.
			$base_path     = $this->_wp_upload_dir['basedir'] . $this->_wp_upload_dir['subdir'] . '/';
			$rescaled_path = $base_path . $rescaled_file_name;
			$new_path      = $base_path . $metadata['original_image'];

			// Change array file key.
			$metadata['file'] = $this->_wp_upload_dir['subdir'] . '/' . $metadata['original_image'];
			if ( 0 === strpos( $metadata['file'], '/' ) ) {
				$metadata['file'] = substr( $metadata['file'], 1 );
			}

			// Delete array "original_image" key.
			unset( $metadata['original_image'] );

			if ( file_exists( $rescaled_path ) && file_exists( $new_path ) ) {
				// Move rescaled to original using WP_Filesystem.
				global $wp_filesystem;
				if ( ! $wp_filesystem ) {
					require_once ABSPATH . '/wp-admin/includes/file.php';
					\WP_Filesystem();
				}
				if ( $wp_filesystem ) {
					$wp_filesystem->move( $rescaled_path, $new_path, true );
				}

				// Update meta "_wp_attached_file".
				update_post_meta( $attachment_id, '_wp_attached_file', $metadata['file'] );
			}
		}

		return $metadata;
	}

	/**
	 * Add featured image and VPI preloads to head.
	 *
	 * @param string $content Current head HTML.
	 * @return string Modified head HTML.
	 */
	public function finalize_head( $content ) {
		// <link rel="preload" as="image" href="xx">
		if ( $this->_vpi_preload_list ) {
			foreach ( $this->_vpi_preload_list as $v ) {
				$content .= '<link rel="preload" as="image" href="' . esc_url( Str::trim_quotes( $v ) ) . '">';
			}
		}
		return $content;
	}

	/**
	 * Adjust WP default JPG quality.
	 *
	 * @since  3.0
	 * @access public
	 *
	 * @param int $quality Current quality.
	 * @return int Adjusted quality.
	 */
	public function adjust_jpg_quality( $quality ) {
		$v = $this->conf( Base::O_IMG_OPTM_JPG_QUALITY );

		if ( $v ) {
			return $v;
		}

		return $quality;
	}

	/**
	 * Register admin menu.
	 *
	 * @since 1.6.3
	 * @access public
	 * @return void
	 */
	public function after_admin_init() {
		/**
		 * JPG quality control.
		 *
		 * @since 3.0
		 */
		add_filter( 'jpeg_quality', [ $this, 'adjust_jpg_quality' ] );

		add_filter( 'manage_media_columns', [ $this, 'media_row_title' ] );
		add_filter( 'manage_media_custom_column', [ $this, 'media_row_actions' ], 10, 2 );

		add_action( 'litespeed_media_row', [ $this, 'media_row_con' ] );
	}

	/**
	 * Media delete action hook.
	 *
	 * @since  2.4.3
	 * @access public
	 *
	 * @param int $post_id Post ID.
	 * @return void
	 */
	public static function delete_attachment( $post_id ) {
		self::debug( 'delete_attachment [pid] ' . $post_id );
		Img_Optm::cls()->reset_row( $post_id );
	}

	/**
	 * Return media file info if exists.
	 *
	 * This is for remote attachment plugins.
	 *
	 * @since  2.9.8
	 * @access public
	 *
	 * @param string $short_file_path Relative file path under uploads.
	 * @param int    $post_id         Post ID.
	 * @return array|false Array( url, md5, size ) or false.
	 */
	public function info( $short_file_path, $post_id ) {
		$short_file_path = wp_normalize_path( $short_file_path );
		$basedir         = $this->_wp_upload_dir['basedir'] . '/';
		if ( 0 === strpos( $short_file_path, $basedir ) ) {
			$short_file_path = substr( $short_file_path, strlen( $basedir ) );
		}

		$real_file = $basedir . $short_file_path;

		if ( file_exists( $real_file ) ) {
			return [
				'url'  => $this->_wp_upload_dir['baseurl'] . '/' . $short_file_path,
				'md5'  => md5_file( $real_file ),
				'size' => filesize( $real_file ),
			];
		}

		/**
		 * WP Stateless compatibility #143 https://github.com/litespeedtech/lscache_wp/issues/143
		 *
		 * @since 2.9.8
		 * Should return array( 'url', 'md5', 'size' ).
		 */
		$info = apply_filters( 'litespeed_media_info', [], $short_file_path, $post_id );
		if ( ! empty( $info['url'] ) && ! empty( $info['md5'] ) && ! empty( $info['size'] ) ) {
			return $info;
		}

		return false;
	}

	/**
	 * Delete media file.
	 *
	 * @since  2.9.8
	 * @access public
	 *
	 * @param string $short_file_path Relative file path under uploads.
	 * @param int    $post_id         Post ID.
	 * @return void
	 */
	public function del( $short_file_path, $post_id ) {
		$real_file = $this->_wp_upload_dir['basedir'] . '/' . $short_file_path;

		if ( file_exists( $real_file ) ) {
			wp_delete_file( $real_file );
			self::debug( 'deleted ' . $real_file );
		}

		do_action( 'litespeed_media_del', $short_file_path, $post_id );
	}

	/**
	 * Rename media file.
	 *
	 * @since  2.9.8
	 * @access public
	 *
	 * @param string $short_file_path     Old relative path.
	 * @param string $short_file_path_new New relative path.
	 * @param int    $post_id             Post ID.
	 * @return void
	 */
	public function rename( $short_file_path, $short_file_path_new, $post_id ) {
		$real_file     = $this->_wp_upload_dir['basedir'] . '/' . $short_file_path;
		$real_file_new = $this->_wp_upload_dir['basedir'] . '/' . $short_file_path_new;

		if ( file_exists( $real_file ) ) {
			global $wp_filesystem;
			if ( ! $wp_filesystem ) {
				require_once ABSPATH . '/wp-admin/includes/file.php';
				\WP_Filesystem();
			}
			if ( $wp_filesystem ) {
				$wp_filesystem->move( $real_file, $real_file_new, true );
			}
			self::debug( 'renamed ' . $real_file . ' to ' . $real_file_new );
		}

		do_action( 'litespeed_media_rename', $short_file_path, $short_file_path_new, $post_id );
	}

	/**
	 * Media Admin Menu -> Image Optimization Column Title.
	 *
	 * @since  1.6.3
	 * @access public
	 *
	 * @param array $posts_columns Existing columns.
	 * @return array Modified columns.
	 */
	public function media_row_title( $posts_columns ) {
		$posts_columns['imgoptm'] = esc_html__( 'LiteSpeed Optimization', 'litespeed-cache' );
		return $posts_columns;
	}

	/**
	 * Media Admin Menu -> Image Optimization Column.
	 *
	 * @since  1.6.2
	 * @access public
	 *
	 * @param string $column_name Current column name.
	 * @param int    $post_id     Post ID.
	 * @return void
	 */
	public function media_row_actions( $column_name, $post_id ) {
		if ( 'imgoptm' !== $column_name ) {
			return;
		}

		do_action( 'litespeed_media_row', $post_id );
	}

	/**
	 * Display image optimization info in the media list row.
	 *
	 * @since 3.0
	 *
	 * @param int $post_id Attachment post ID.
	 * @return void
	 */
	public function media_row_con( $post_id ) {
		$att_info = wp_get_attachment_metadata( $post_id );
		if ( empty( $att_info['file'] ) ) {
			return;
		}

		$short_path = $att_info['file'];

		$size_meta = get_post_meta( $post_id, Img_Optm::DB_SIZE, true );

		echo '<p>';
		// Original image info.
		if ( $size_meta && ! empty( $size_meta['ori_saved'] ) ) {
			$percent = (int) ceil( ( (int) $size_meta['ori_saved'] * 100 ) / max( 1, (int) $size_meta['ori_total'] ) );

			$extension    = pathinfo( $short_path, PATHINFO_EXTENSION );
			$bk_file      = substr( $short_path, 0, -strlen( $extension ) ) . 'bk.' . $extension;
			$bk_optm_file = substr( $short_path, 0, -strlen( $extension ) ) . 'bk.optm.' . $extension;

			$link = Utility::build_url( Router::ACTION_IMG_OPTM, 'orig' . $post_id );
			$desc = false;

			$cls = '';

			if ( $this->info( $bk_file, $post_id ) ) {
				$curr_status = esc_html__( '(optm)', 'litespeed-cache' );
				$desc        = esc_attr__( 'Currently using optimized version of file.', 'litespeed-cache' ) . '&#10;' . esc_attr__( 'Click to switch to original (unoptimized) version.', 'litespeed-cache' );
			} elseif ( $this->info( $bk_optm_file, $post_id ) ) {
				$cls        .= ' litespeed-warning';
				$curr_status = esc_html__( '(non-optm)', 'litespeed-cache' );
				$desc        = esc_attr__( 'Currently using original (unoptimized) version of file.', 'litespeed-cache' ) . '&#10;' . esc_attr__( 'Click to switch to optimized version.', 'litespeed-cache' );
			}

			echo wp_kses_post(
				GUI::pie_tiny(
					$percent,
					24,
					sprintf(
						esc_html__( 'Original file reduced by %1$s (%2$s)', 'litespeed-cache' ),
						$percent . '%',
						Utility::real_size( $size_meta['ori_saved'] )
					),
					'left'
				)
			);

			printf(
				esc_html__( 'Orig saved %s', 'litespeed-cache' ),
				(int) $percent . '%'
			);

			if ( $desc ) {
				printf(
					' <a href="%1$s" class="litespeed-media-href %2$s" data-balloon-pos="left" data-balloon-break aria-label="%3$s">%4$s</a>',
					esc_url( $link ),
					esc_attr( $cls ),
					wp_kses_post( $desc ),
					esc_html( $curr_status )
				);
			} else {
				printf(
					' <span class="litespeed-desc" data-balloon-pos="left" data-balloon-break aria-label="%1$s">%2$s</span>',
					esc_attr__( 'Using optimized version of file. ', 'litespeed-cache' ) . '&#10;' . esc_attr__( 'No backup of original file exists.', 'litespeed-cache' ),
					esc_html__( '(optm)', 'litespeed-cache' )
				);
			}
		} elseif ( $size_meta && 0 === (int) $size_meta['ori_saved'] ) {
			echo wp_kses_post( GUI::pie_tiny( 0, 24, esc_html__( 'Congratulation! Your file was already optimized', 'litespeed-cache' ), 'left' ) );
			printf(
				esc_html__( 'Orig %s', 'litespeed-cache' ),
				'<span class="litespeed-desc">' . esc_html__( '(no savings)', 'litespeed-cache' ) . '</span>'
			);
		} else {
			echo esc_html__( 'Orig', 'litespeed-cache' ) . '<span class="litespeed-left10">—</span>';
		}
		echo '</p>';

		echo '<p>';
		// WebP/AVIF info.
		if ( $size_meta && $this->webp_support( true ) && ! empty( $size_meta[ $this->_sys_format . '_saved' ] ) ) {
			$is_avif         = 'avif' === $this->_sys_format;
			$size_meta_saved = $size_meta[ $this->_sys_format . '_saved' ];
			$size_meta_total = $size_meta[ $this->_sys_format . '_total' ];

			$percent = ceil( ( $size_meta_saved * 100 ) / max( 1, $size_meta_total ) );

			$link = Utility::build_url( Router::ACTION_IMG_OPTM, $this->_sys_format . $post_id );
			$desc = false;

			$cls = '';

			if ( $this->info( $short_path . '.' . $this->_sys_format, $post_id ) ) {
				$curr_status = esc_html__( '(optm)', 'litespeed-cache' );
				$desc        = $is_avif
					? esc_attr__( 'Currently using optimized version of AVIF file.', 'litespeed-cache' )
					: esc_attr__( 'Currently using optimized version of WebP file.', 'litespeed-cache' );
				$desc       .= '&#10;' . esc_attr__( 'Click to switch to original (unoptimized) version.', 'litespeed-cache' );
			} elseif ( $this->info( $short_path . '.optm.' . $this->_sys_format, $post_id ) ) {
				$cls        .= ' litespeed-warning';
				$curr_status = esc_html__( '(non-optm)', 'litespeed-cache' );
				$desc        = $is_avif
					? esc_attr__( 'Currently using original (unoptimized) version of AVIF file.', 'litespeed-cache' )
					: esc_attr__( 'Currently using original (unoptimized) version of WebP file.', 'litespeed-cache' );
				$desc       .= '&#10;' . esc_attr__( 'Click to switch to optimized version.', 'litespeed-cache' );
			}

			echo wp_kses_post(
				GUI::pie_tiny(
					$percent,
					24,
					sprintf(
						$is_avif ? esc_html__( 'AVIF file reduced by %1$s (%2$s)', 'litespeed-cache' ) : esc_html__( 'WebP file reduced by %1$s (%2$s)', 'litespeed-cache' ),
						$percent . '%',
						Utility::real_size( $size_meta_saved )
					),
					'left'
				)
			);
			printf(
				$is_avif ? esc_html__( 'AVIF saved %s', 'litespeed-cache' ) : esc_html__( 'WebP saved %s', 'litespeed-cache' ),
				'<span>' . esc_html( $percent ) . '%</span>'
			);

			if ( $desc ) {
				printf(
					' <a href="%1$s" class="litespeed-media-href %2$s" data-balloon-pos="left" data-balloon-break aria-label="%3$s">%4$s</a>',
					esc_url( $link ),
					esc_attr( $cls ),
					wp_kses_post( $desc ),
					esc_html( $curr_status )
				);
			} else {
				printf(
					' <span class="litespeed-desc" data-balloon-pos="left" data-balloon-break aria-label="%1$s&#10;%2$s">%3$s</span>',
					esc_attr__( 'Using optimized version of file. ', 'litespeed-cache' ),
					$is_avif ? esc_attr__( 'No backup of unoptimized AVIF file exists.', 'litespeed-cache' ) : esc_attr__( 'No backup of unoptimized WebP file exists.', 'litespeed-cache' ),
					esc_html__( '(optm)', 'litespeed-cache' )
				);
			}
		} else {
			echo esc_html( $this->next_gen_image_title() ) . '<span class="litespeed-left10">—</span>';
		}

		echo '</p>';

		// Delete row btn.
		if ( $size_meta ) {
			printf(
				'<div class="row-actions"><span class="delete"><a href="%1$s" class="">%2$s</a></span></div>',
				esc_url( Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_RESET_ROW, false, null, [ 'id' => $post_id ] ) ),
				esc_html__( 'Restore from backup', 'litespeed-cache' )
			);
			echo '</div>';
		}
	}

	/**
	 * Get wp size info.
	 *
	 * NOTE: this is not used because it has to be after admin_init.
	 *
	 * @since 1.6.2
	 * @return array $sizes Data for all currently-registered image sizes.
	 */
	public function get_image_sizes() {
		global $_wp_additional_image_sizes;
		$sizes = [];

		foreach ( get_intermediate_image_sizes() as $_size ) {
			if ( in_array( $_size, [ 'thumbnail', 'medium', 'medium_large', 'large' ], true ) ) {
				$sizes[ $_size ]['width']  = get_option( $_size . '_size_w' );
				$sizes[ $_size ]['height'] = get_option( $_size . '_size_h' );
				$sizes[ $_size ]['crop']   = (bool) get_option( $_size . '_crop' );
			} elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
				$sizes[ $_size ] = [
					'width'  => $_wp_additional_image_sizes[ $_size ]['width'],
					'height' => $_wp_additional_image_sizes[ $_size ]['height'],
					'crop'   => $_wp_additional_image_sizes[ $_size ]['crop'],
				];
			}
		}

		return $sizes;
	}

	/**
	 * Exclude role from optimization filter.
	 *
	 * @since  1.6.2
	 * @access public
	 *
	 * @param bool $sys_level Return system-level format if true.
	 * @return string Next-gen format name or empty string.
	 */
	public function webp_support( $sys_level = false ) {
		if ( $sys_level ) {
			return $this->_sys_format;
		}
		return $this->_format; // User level next gen support.
	}

	/**
	 * Detect if browser supports next-gen format.
	 *
	 * @return bool
	 */
	private function _browser_support_next_gen() {
		$accept = isset( $_SERVER['HTTP_ACCEPT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_ACCEPT'] ) ) : '';
		if ( $accept ) {
			if ( false !== strpos( $accept, 'image/' . $this->_sys_format ) ) {
				return true;
			}
		}

		$ua = isset( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : '';
		if ( $ua ) {
			$user_agents = [ 'chrome-lighthouse', 'googlebot', 'page speed' ];
			foreach ( $user_agents as $user_agent ) {
				if ( false !== stripos( $ua, $user_agent ) ) {
					return true;
				}
			}

			if ( preg_match( '/iPhone OS (\d+)_/i', $ua, $matches ) ) {
				if ( $matches[1] >= 14 ) {
					return true;
				}
			}

			if ( preg_match( '/Firefox\/(\d+)/i', $ua, $matches ) ) {
				if ( $matches[1] >= 65 ) {
					return true;
				}
			}
		}

		return false;
	}

	/**
	 * Get next gen image title.
	 *
	 * @since 7.0
	 * @return string
	 */
	public function next_gen_image_title() {
		$next_gen_img = 'WebP';
		if ( 2 === $this->conf( Base::O_IMG_OPTM_WEBP ) ) {
			$next_gen_img = 'AVIF';
		}
		return $next_gen_img;
	}

	/**
	 * Run lazy load process.
	 * NOTE: As this is after cache finalized, can NOT set any cache control anymore.
	 *
	 * Only do for main page. Do NOT do for esi or dynamic content.
	 *
	 * @since  1.4
	 * @access public
	 *
	 * @param string $content Final buffer.
	 * @return string The buffer.
	 */
	public function finalize( $content ) {
		if ( defined( 'LITESPEED_NO_LAZY' ) ) {
			self::debug2( 'bypass: NO_LAZY const' );
			return $content;
		}

		if ( ! defined( 'LITESPEED_IS_HTML' ) ) {
			self::debug2( 'bypass: Not frontend HTML type' );
			return $content;
		}

		if ( ! Control::is_cacheable() ) {
			self::debug( 'bypass: Not cacheable' );
			return $content;
		}

		self::debug( 'finalize' );

		$this->content = $content;
		$this->_finalize();
		return $this->content;
	}

	/**
	 * Run lazyload replacement for images in buffer.
	 *
	 * @since  1.4
	 * @access private
	 * @return void
	 */
	private function _finalize() {
		/**
		 * Use webp for optimized images.
		 *
		 * @since 1.6.2
		 */
		if ( $this->webp_support() ) {
			$this->content = $this->_replace_buffer_img_webp( $this->content );
		}

		/**
		 * Check if URI is excluded.
		 *
		 * @since 3.0
		 */
		$excludes = $this->conf( Base::O_MEDIA_LAZY_URI_EXC );
		if ( ! defined( 'LITESPEED_GUEST_OPTM' ) ) {
			$request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
			$result      = $request_uri ? Utility::str_hit_array( $request_uri, $excludes ) : false;
			if ( $result ) {
				self::debug( 'bypass lazyload: hit URI Excludes setting: ' . $result );
				return;
			}
		}

		$cfg_lazy          = ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_MEDIA_LAZY ) ) && ! $this->cls( 'Metabox' )->setting( 'litespeed_no_image_lazy' );
		$cfg_iframe_lazy   = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_MEDIA_IFRAME_LAZY );
		$cfg_js_delay      = defined( 'LITESPEED_GUEST_OPTM' ) || 2 === $this->conf( Base::O_OPTM_JS_DEFER );
		$cfg_trim_noscript = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_OPTM_NOSCRIPT_RM );
		$cfg_vpi           = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_MEDIA_VPI );

		// Preload VPI.
		if ( $cfg_vpi ) {
			$this->_parse_img_for_preload();
		}

		if ( $cfg_lazy ) {
			if ( $cfg_vpi ) {
				add_filter( 'litespeed_media_lazy_img_excludes', [ $this->cls( 'Metabox' ), 'lazy_img_excludes' ] );
			}
			list( $src_list, $html_list, $placeholder_list ) = $this->_parse_img();
			$html_list_ori                                   = $html_list;
		} else {
			self::debug( 'lazyload disabled' );
		}

		// image lazy load.
		if ( $cfg_lazy ) {
			$__placeholder = Placeholder::cls();

			foreach ( $html_list as $k => $v ) {
				$size = $placeholder_list[ $k ];
				$src  = $src_list[ $k ];

				$html_list[ $k ] = $__placeholder->replace( $v, $src, $size );
			}
		}

		if ( $cfg_lazy ) {
			$this->content = str_replace( $html_list_ori, $html_list, $this->content );
		}

		// iframe lazy load.
		if ( $cfg_iframe_lazy ) {
			$html_list     = $this->_parse_iframe();
			$html_list_ori = $html_list;

			foreach ( $html_list as $k => $v ) {
				$snippet = $cfg_trim_noscript ? '' : '<noscript>' . $v . '</noscript>';
				if ( $cfg_js_delay ) {
					$v = str_replace( ' src=', ' data-litespeed-src=', $v );
				} else {
					$v = str_replace( ' src=', ' data-src=', $v );
				}
				$v       = str_replace( '<iframe ', '<iframe data-lazyloaded="1" src="about:blank" ', $v );
				$snippet = $v . $snippet;

				$html_list[ $k ] = $snippet;
			}

			$this->content = str_replace( $html_list_ori, $html_list, $this->content );
		}

		// Include lazyload lib js and init lazyload.
		if ( $cfg_lazy || $cfg_iframe_lazy ) {
			$lazy_lib = '<script data-no-optimize="1">window.lazyLoadOptions=Object.assign({},{threshold:' . apply_filters( 'litespeed_lazyload_threshold', 300 ) . '},window.lazyLoadOptions||{});' . File::read( LSCWP_DIR . self::LIB_FILE_IMG_LAZYLOAD ) . '</script>';
			if ( $cfg_js_delay ) {
				// Load JS delay lib.
				if ( ! defined( 'LITESPEED_JS_DELAY_LIB_LOADED' ) ) {
					define( 'LITESPEED_JS_DELAY_LIB_LOADED', true );
					$lazy_lib .= '<script data-no-optimize="1">' . File::read( LSCWP_DIR . Optimize::LIB_FILE_JS_DELAY ) . '</script>';
				}
			}

			$this->content = str_replace( '</body>', $lazy_lib . '</body>', $this->content );
		}
	}

	/**
	 * Parse img src for VPI preload only.
	 * Note: Didn't reuse the _parse_img() because it contains replacement logic which is not needed for preload.
	 *
	 * @since 6.2
	 * @since 7.6 - Added attributes fetchpriority="high" and decode="sync" for VPI images.
	 * @return void
	 */
	private function _parse_img_for_preload() {
		// Load VPI setting.
		$is_mobile = $this->_separate_mobile();
		$vpi_files = $this->cls( 'Metabox' )->setting( $is_mobile ? VPI::POST_META_MOBILE : VPI::POST_META );
		if ( $vpi_files ) {
			$vpi_files = Utility::sanitize_lines( $vpi_files, 'basename' );
		}
		if ( ! $vpi_files ) {
			return;
		}
		if ( ! $this->content ) {
			return;
		}

		$content = preg_replace( [ '#<!--.*-->#sU', '#<noscript([^>]*)>.*</noscript>#isU' ], '', $this->content );
		if ( ! $content ) {
			return;
		}

		$vpi_fp_search  = [];
		$vpi_fp_replace = [];
		preg_match_all('#<img\s+([^>]+)/?>#isU', $content, $matches, PREG_SET_ORDER);
		foreach ($matches as $match) {
			$attrs = Utility::parse_attr($match[1]);

			if ( empty( $attrs['src'] ) ) {
				continue;
			}

			if ( false !== strpos( $attrs['src'], 'base64' ) || 0 === strpos( $attrs['src'], 'data:' ) ) {
				self::debug2( 'lazyload bypassed base64 img' );
				continue;
			}

			if ( false !== strpos( $attrs['src'], '{' ) ) {
				self::debug2( 'image src has {} ' . $attrs['src'] );
				continue;
			}

			// If the src contains VPI filename, then preload it.
			if ( ! Utility::str_hit_array( $attrs['src'], $vpi_files ) ) {
				continue;
			}

			self::debug2( 'VPI preload found and matched: ' . $attrs['src'] );

			$this->_vpi_preload_list[] = $attrs['src'];

			// Add attributes fetchpriority="high" and decode="sync"
			// after WP 6.3.0 use: wp_img_tag_add_loading_optimization_attrs().
			$new_html                 = [];
			$attrs[ 'fetchpriority' ] = 'high';
			$attrs[ 'decoding' ]      = 'sync';
			// create html with new attributes.
			foreach ( $attrs as $k => $attr ) {
				$new_html[] = $k . '="' . $attr . '"';
			}

			if ( $new_html ) {
				$vpi_fp_search[]  = $match[1];
				$vpi_fp_replace[] = implode( ' ', $new_html);
			}
		}

		// if VPI fetchpriority changes, do the replacement
		if ( $vpi_fp_search && $vpi_fp_replace ) {
			$this->content = str_replace( $vpi_fp_search, $vpi_fp_replace, $this->content );
		}
		unset( $vpi_fp_search );
		unset( $vpi_fp_replace );
	}

	/**
	 * Parse img src.
	 *
	 * @since  1.4
	 * @access private
	 * @return array{0:array,1:array,2:array}  All the src & related raw html list with placeholders.
	 */
	private function _parse_img() {
		/**
		 * Exclude list.
		 *
		 * @since 1.5
		 * @since 2.7.1 Changed to array.
		 */
		$excludes = apply_filters( 'litespeed_media_lazy_img_excludes', $this->conf( Base::O_MEDIA_LAZY_EXC ) );

		$cls_excludes   = apply_filters( 'litespeed_media_lazy_img_cls_excludes', $this->conf( Base::O_MEDIA_LAZY_CLS_EXC ) );
		$cls_excludes[] = 'skip-lazy'; // https://core.trac.wordpress.org/ticket/44427

		$src_list         = [];
		$html_list        = [];
		$placeholder_list = [];

		$content = preg_replace(
			[
				'#<!--.*-->#sU',
				'#<noscript([^>]*)>.*</noscript>#isU',
				'#<script([^>]*)>.*</script>#isU', // Remove script to avoid false matches and warnings, when image size detection is turned ON.
			],
			'',
			$this->content
		);
		/**
		 * Exclude parent classes.
		 *
		 * @since 3.0
		 */
		$parent_cls_exc = apply_filters( 'litespeed_media_lazy_img_parent_cls_excludes', $this->conf( Base::O_MEDIA_LAZY_PARENT_CLS_EXC ) );
		if ( $parent_cls_exc ) {
			self::debug2( 'Lazyload Class excludes', $parent_cls_exc );
			foreach ( $parent_cls_exc as $v ) {
				$content = preg_replace('#<(\w+) [^>]*class=(\'|")[^\'"]*' . preg_quote($v, '#') . '[^\'"]*\2[^>]*>.*</\1>#sU', '', $content);
			}
		}

		preg_match_all( '#<img\s+([^>]+)/?>#isU', $content, $matches, PREG_SET_ORDER );
		foreach ( $matches as $match ) {
			$attrs = Utility::parse_attr( $match[1] );

			if ( empty( $attrs['src'] ) ) {
				continue;
			}

			/**
			 * Add src validation to bypass base64 img src.
			 *
			 * @since 1.6
			 */
			if ( false !== strpos( $attrs['src'], 'base64' ) || 0 === strpos( $attrs['src'], 'data:' ) ) {
				self::debug2( 'lazyload bypassed base64 img' );
				continue;
			}

			self::debug2( 'lazyload found: ' . $attrs['src'] );

			if (
				! empty( $attrs['data-no-lazy'] ) ||
				! empty( $attrs['data-skip-lazy'] ) ||
				! empty( $attrs['data-lazyloaded'] ) ||
				! empty( $attrs['data-src'] ) ||
				! empty( $attrs['data-srcset'] )
			) {
				self::debug2( 'bypassed' );
				continue;
			}

			$hit = ! empty( $attrs['class'] ) ? Utility::str_hit_array( $attrs['class'], $cls_excludes ) : false;
			if ( $hit ) {
				self::debug2( 'lazyload image cls excludes [hit] ' . $hit );
				continue;
			}

			/**
			 * Exclude from lazyload by setting.
			 *
			 * @since 1.5
			 */
			if ( $excludes && Utility::str_hit_array( $attrs['src'], $excludes ) ) {
				self::debug2( 'lazyload image exclude ' . $attrs['src'] );
				continue;
			}

			/**
			 * Excludes invalid image src from buddypress avatar crop.
			 *
			 * @see https://wordpress.org/support/topic/lazy-load-breaking-buddypress-upload-avatar-feature
			 * @since 3.0
			 */
			if ( false !== strpos( $attrs['src'], '{' ) ) {
				self::debug2( 'image src has {} ' . $attrs['src'] );
				continue;
			}

			// to avoid multiple replacement.
			if ( in_array( $match[0], $html_list, true ) ) {
				continue;
			}

			// Add missing dimensions.
			if ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_MEDIA_ADD_MISSING_SIZES ) ) {
				if ( ! apply_filters( 'litespeed_media_add_missing_sizes', true ) ) {
					self::debug2( 'add_missing_sizes bypassed via litespeed_media_add_missing_sizes filter' );
				} elseif ( empty( $attrs['width'] ) || 'auto' === $attrs['width'] || empty( $attrs['height'] ) || 'auto' === $attrs['height'] ) {
					self::debug( '⚠️ Missing sizes for image [src] ' . $attrs['src'] );
					$dimensions = $this->_detect_dimensions( $attrs['src'] );
					if ( $dimensions ) {
						$ori_width  = $dimensions[0];
						$ori_height = $dimensions[1];
						// Calculate height based on width.
						if ( ! empty( $attrs['width'] ) && 'auto' !== $attrs['width'] ) {
							$ori_height = (int) ( ( $ori_height * (int) $attrs['width'] ) / max( 1, $ori_width ) );
						} elseif ( ! empty( $attrs['height'] ) && 'auto' !== $attrs['height'] ) {
							$ori_width = (int) ( ( $ori_width * (int) $attrs['height'] ) / max( 1, $ori_height ) );
						}

						$attrs['width']  = $ori_width;
						$attrs['height'] = $ori_height;
						$new_html        = preg_replace( '#\s+(width|height)=(["\'])[^\2]*?\2#', '', $match[0] );
						$new_html        = preg_replace(
							'#<img\s+#i',
							'<img width="' . Str::trim_quotes( $attrs['width'] ) . '" height="' . Str::trim_quotes( $attrs['height'] ) . '" ',
							$new_html
						);
						self::debug( 'Add missing sizes ' . $attrs['width'] . 'x' . $attrs['height'] . ' to ' . $attrs['src'] );
						$this->content = str_replace( $match[0], $new_html, $this->content );
						$match[0]      = $new_html;
					}
				}
			}

			$placeholder = false;
			if ( ! empty( $attrs['width'] ) && 'auto' !== $attrs['width'] && ! empty( $attrs['height'] ) && 'auto' !== $attrs['height'] ) {
				$placeholder = (int) $attrs['width'] . 'x' . (int) $attrs['height'];
			}

			$src_list[]         = $attrs['src'];
			$html_list[]        = $match[0];
			$placeholder_list[] = $placeholder;
		}

		return [ $src_list, $html_list, $placeholder_list ];
	}

	/**
	 * Detect the original sizes.
	 *
	 * @since 4.0
	 *
	 * @param string $src Source URL/path.
	 * @return array|false getimagesize array or false.
	 */
	private function _detect_dimensions( $src ) {
		$pathinfo = Utility::is_internal_file( $src );
		if ( $pathinfo ) {
			$src = $pathinfo[0];
		} elseif ( apply_filters( 'litespeed_media_ignore_remote_missing_sizes', false ) ) {
			return false;
		}

		if ( 0 === strpos( $src, '//' ) ) {
			$src = 'https:' . $src;
		}

		try {
			$sizes = getimagesize( $src );
		} catch ( \Exception $e ) {
			return false;
		}

		if ( ! empty( $sizes[0] ) && ! empty( $sizes[1] ) ) {
			return $sizes;
		}

		return false;
	}

	/**
	 * Parse iframe src.
	 *
	 * @since  1.4
	 * @access private
	 * @return array All the related raw html list (full <iframe> tags).
	 */
	private function _parse_iframe() {
		$cls_excludes   = apply_filters( 'litespeed_media_iframe_lazy_cls_excludes', $this->conf( Base::O_MEDIA_IFRAME_LAZY_CLS_EXC ) );
		$cls_excludes[] = 'skip-lazy'; // https://core.trac.wordpress.org/ticket/44427

		$html_list = [];

		$content = preg_replace( '#<!--.*-->#sU', '', $this->content );

		/**
		 * Exclude parent classes.
		 *
		 * @since 3.0
		 */
		$parent_cls_exc = apply_filters( 'litespeed_media_iframe_lazy_parent_cls_excludes', $this->conf( Base::O_MEDIA_IFRAME_LAZY_PARENT_CLS_EXC ) );
		if ( $parent_cls_exc ) {
			self::debug2( 'Iframe Lazyload Class excludes', $parent_cls_exc );
			foreach ( $parent_cls_exc as $v ) {
				$content = preg_replace('#<(\w+) [^>]*class=(\'|")[^\'"]*' . preg_quote($v, '#') . '[^\'"]*\2[^>]*>.*</\1>#sU', '', $content);
			}
		}

		preg_match_all( '#<iframe \s*([^>]+)></iframe>#isU', $content, $matches, PREG_SET_ORDER );
		foreach ( $matches as $match ) {
			$attrs = Utility::parse_attr( $match[1] );

			if ( empty( $attrs['src'] ) ) {
				continue;
			}

			self::debug2( 'found iframe: ' . $attrs['src'] );

			if ( ! empty( $attrs['data-no-lazy'] ) || ! empty( $attrs['data-skip-lazy'] ) || ! empty( $attrs['data-lazyloaded'] ) || ! empty( $attrs['data-src'] ) ) {
				self::debug2( 'bypassed' );
				continue;
			}

			$hit = ! empty( $attrs['class'] ) ? Utility::str_hit_array( $attrs['class'], $cls_excludes ) : false;
			if ( $hit ) {
				self::debug2( 'iframe lazyload cls excludes [hit] ' . $hit );
				continue;
			}

			if ( apply_filters( 'litespeed_iframe_lazyload_exc', false, $attrs['src'] ) ) {
				self::debug2( 'bypassed by filter' );
				continue;
			}

			// to avoid multiple replacement.
			if ( in_array( $match[0], $html_list, true ) ) {
				continue;
			}

			$html_list[] = $match[0];
		}

		return $html_list;
	}

	/**
	 * Replace image src to webp/avif in buffer.
	 *
	 * @since  1.6.2
	 * @access private
	 *
	 * @param string $content HTML content.
	 * @return string Modified content.
	 */
	private function _replace_buffer_img_webp( $content ) {
		/**
		 * Added custom element & attribute support.
		 *
		 * @since 2.2.2
		 */
		$webp_ele_to_check = $this->conf( Base::O_IMG_OPTM_WEBP_ATTR );

		foreach ( $webp_ele_to_check as $v ) {
			if ( ! $v || false === strpos( $v, '.' ) ) {
				self::debug2( 'buffer_webp no . attribute ' . $v );
				continue;
			}

			self::debug2( 'buffer_webp attribute ' . $v );

			$v    = explode( '.', $v );
			$attr = preg_quote( $v[1], '#' );
			if ( $v[0] ) {
				$pattern = '#<' . preg_quote( $v[0], '#' ) . '([^>]+)' . $attr . '=([\'"])(.+)\2#iU';
			} else {
				$pattern = '# ' . $attr . '=([\'"])(.+)\1#iU';
			}

			preg_match_all( $pattern, $content, $matches );

			foreach ( $matches[ $v[0] ? 3 : 2 ] as $k2 => $url ) {
				// Check if is a DATA-URI.
				if ( false !== strpos( $url, 'data:image' ) ) {
					continue;
				}

				$url2 = $this->replace_webp( $url );
				if ( ! $url2 ) {
					continue;
				}

				if ( $v[0] ) {
					$html_snippet = sprintf( '<' . $v[0] . '%1$s' . $v[1] . '=%2$s', $matches[1][ $k2 ], $matches[2][ $k2 ] . $url2 . $matches[2][ $k2 ] );
				} else {
					$html_snippet = sprintf( ' ' . $v[1] . '=%1$s', $matches[1][ $k2 ] . $url2 . $matches[1][ $k2 ] );
				}

				$content = str_replace( $matches[0][ $k2 ], $html_snippet, $content );
			}
		}

		// parse srcset.
		// todo: should apply this to cdn too.
		if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE_SRCSET ) ) && $this->webp_support() ) {
			$content = Utility::srcset_replace( $content, [ $this, 'replace_webp' ] );
		}

		// Replace background-image.
		if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) && $this->webp_support() ) {
			$content = $this->replace_background_webp( $content );
		}

		return $content;
	}

	/**
	 * Replace background image in inline styles and JSON blobs.
	 *
	 * @since 4.0
	 *
	 * @param string $content HTML content.
	 * @return string Modified content.
	 */
	public function replace_background_webp( $content ) {
		self::debug2( 'Start replacing background WebP/AVIF.' );

		// Handle Elementor's data-settings JSON encoded background-images.
		$content = $this->replace_urls_in_json( $content );

		preg_match_all( '#url\(([^)]+)\)#iU', $content, $matches );
		foreach ( $matches[1] as $k => $url ) {
			// Check if is a DATA-URI.
			if ( false !== strpos( $url, 'data:image' ) ) {
				continue;
			}

			/**
			 * Support quotes in src `background-image: url('src')`.
			 *
			 * @since 2.9.3
			 */
			$url = trim( $url, '\'"' );

			// Fix Elementor's Slideshow unusual background images like  style="background-image: url(&quot;https://xxxx.png&quot;);"
			if ( 0 === strpos( $url, '&quot;' ) && '&quot;' === substr( $url, -6 ) ) {
				$url = substr( $url, 6, -6 );
			}

			$url2 = $this->replace_webp( $url );
			if ( ! $url2 ) {
				continue;
			}

			$html_snippet = str_replace( $url, $url2, $matches[0][ $k ] );
			$content      = str_replace( $matches[0][ $k ], $html_snippet, $content );
		}

		return $content;
	}

	/**
	 * Replace images in json data settings attributes.
	 *
	 * @since 6.2
	 *
	 * @param string $content HTML content to scan and modify.
	 * @return string Modified content with replaced URLs inside JSON attributes.
	 */
	public function replace_urls_in_json( $content ) {
		$pattern      = '/data-settings="(.*?)"/i';
		$parent_class = $this;

		preg_match_all( $pattern, $content, $matches, PREG_SET_ORDER );

		foreach ( $matches as $match ) {
			// Check if the string contains HTML entities.
			$is_encoded = preg_match( '/&quot;|&lt;|&gt;|&amp;|&apos;/', $match[1] );

			// Decode HTML entities in the JSON string.
			$json_string = html_entity_decode( $match[1] );

			$json_data = \json_decode( $json_string, true );

			if ( JSON_ERROR_NONE === json_last_error() && is_array( $json_data ) ) {
				$did_webp_replace = false;

				array_walk_recursive(
					$json_data,
                    /**
                     * Replace URLs in JSON data recursively.
                     *
                     * @param mixed  $item Value (modified in place).
                     * @param string $key  Array key.
                     */
					function ( &$item, $key ) use ( &$did_webp_replace, $parent_class ) {
						if ( 'url' === $key ) {
							$item_image = $parent_class->replace_webp( $item );
							if ( $item_image ) {
								$item             = $item_image;
								$did_webp_replace = true;
							}
						}
					}
				);

				if ( $did_webp_replace ) {
					// Re-encode the modified array back to a JSON string.
					$new_json_string = wp_json_encode( $json_data );

					// Re-encode the JSON string to HTML entities only if it was originally encoded.
					if ( $is_encoded ) {
						$new_json_string = htmlspecialchars( $new_json_string, ENT_QUOTES | 0 ); // ENT_HTML401 for PHP>=5.4.
					}

					// Replace the old JSON string in the content with the new, modified JSON string.
					$content = str_replace( $match[1], $new_json_string, $content );
				}
			}
		}

		return $content;
	}

	/**
	 * Replace internal image src to webp or avif.
	 *
	 * @since  1.6.2
	 * @access public
	 *
	 * @param string $url Image URL.
	 * @return string|false Replaced URL or false if not applicable.
	 */
	public function replace_webp( $url ) {
		if ( ! $this->webp_support() ) {
			self::debug2( 'No next generation format chosen in setting, bypassed' );
			return false;
		}
		self::debug2( $this->_sys_format . ' replacing: ' . substr( $url, 0, 200 ) );

		if ( substr( $url, -5 ) === '.' . $this->_sys_format ) {
			self::debug2( 'already ' . $this->_sys_format );
			return false;
		}

		/**
		 * WebP/AVIF API hook.
		 * NOTE: As $url may contain query strings, check filters which may parse_url before appending format.
		 *
		 * @since  2.9.5
		 * @see  #751737 - API docs for WebP generation
		 */
		$ori_check = apply_filters( 'litespeed_media_check_ori', Utility::is_internal_file( $url ), $url );
		if ( $ori_check ) {
			// check if has webp/avif file.
			$has_next = apply_filters( 'litespeed_media_check_webp', Utility::is_internal_file( $url, $this->_sys_format ), $url );
			if ( $has_next ) {
				$url .= '.' . $this->_sys_format;
			} else {
				self::debug2( '-no WebP or AVIF file, bypassed' );
				return false;
			}
		} else {
			self::debug2( '-no file, bypassed' );
			return false;
		}

		self::debug2( '- replaced to: ' . $url );

		return $url;
	}

	/**
	 * Hook to wp_get_attachment_image_src.
	 *
	 * @since  1.6.2
	 * @access public
	 *
	 * @param  array $img The URL, width, height array.
	 * @return array
	 */
	public function webp_attach_img_src( $img ) {
		self::debug2( 'changing attach src: ' . $img[0] );
		$url = $img ? $this->replace_webp( $img[0] ) : false;
		if ( $url ) {
			$img[0] = $url;
		}
		return $img;
	}

	/**
	 * Try to replace img url.
	 *
	 * @since  1.6.2
	 * @access public
	 *
	 * @param  string $url Image URL.
	 * @return string
	 */
	public function webp_url( $url ) {
		$url2 = $url ? $this->replace_webp( $url ) : false;
		if ( $url2 ) {
			$url = $url2;
		}
		return $url;
	}

	/**
	 * Hook to replace WP responsive images.
	 *
	 * @since  1.6.2
	 * @access public
	 *
	 * @param  array $srcs Srcset array.
	 * @return array
	 */
	public function webp_srcset( $srcs ) {
		if ( $srcs ) {
			foreach ( $srcs as $w => $data ) {
				$url = $this->replace_webp( $data['url'] );
				if ( ! $url ) {
					continue;
				}
				$srcs[ $w ]['url'] = $url;
			}
		}
		return $srcs;
	}
}
PK�^�\>��e��.litespeed-cache/src/data_structure/crawler.sqlnu�[���  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `url` varchar(1000) NOT NULL DEFAULT '',
  `res` varchar(255) NOT NULL DEFAULT '' COMMENT '-=not crawl, H=hit, M=miss, B=blacklist',
  `reason` text NOT NULL COMMENT 'response code, comma separated',
  `mtime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `url` (`url`(191)),
  KEY `res` (`res`)
PK�^�\�'�3��/litespeed-cache/src/data_structure/url_file.sqlnu�[���`id` bigint(20) NOT NULL AUTO_INCREMENT,
`url_id` bigint(20) NOT NULL,
`vary` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'md5 of final vary',
`filename` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'md5 of file content',
`type` tinyint(4) NOT NULL COMMENT 'css=1,js=2,ccss=3,ucss=4',
`mobile` tinyint(4) NOT NULL COMMENT 'mobile=1',
`webp` tinyint(4) NOT NULL COMMENT 'webp=1',
`expired` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
KEY `filename` (`filename`),
KEY `type` (`type`),
KEY `url_id_2` (`url_id`,`vary`,`type`),
KEY `filename_2` (`filename`,`expired`),
KEY `url_id` (`url_id`,`expired`)
PK�^�\Ye����/litespeed-cache/src/data_structure/img_optm.sqlnu�[���  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `post_id` bigint(20) unsigned NOT NULL DEFAULT '0',
  `optm_status` tinyint(4) NOT NULL DEFAULT '0',
  `src` text NOT NULL,
  `src_filesize` int(11) NOT NULL DEFAULT '0',
  `target_filesize` int(11) NOT NULL DEFAULT '0',
  `webp_filesize` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `post_id` (`post_id`),
  KEY `optm_status` (`optm_status`)
PK�^�\0_VV2litespeed-cache/src/data_structure/img_optming.sqlnu�[���  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `post_id` bigint(20) unsigned NOT NULL DEFAULT '0',
  `optm_status` tinyint(4) NOT NULL DEFAULT '0',
  `src` varchar(1000) NOT NULL DEFAULT '',
  `server_info` text NOT NULL,
  PRIMARY KEY (`id`),
  KEY `post_id` (`post_id`),
  KEY `optm_status` (`optm_status`),
  KEY `src` (`src`(191))
PK�^�\KS�[��8litespeed-cache/src/data_structure/crawler_blacklist.sqlnu�[���  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `url` varchar(1000) NOT NULL DEFAULT '',
  `res` varchar(255) NOT NULL DEFAULT '' COMMENT '-=Not Blacklist, B=blacklist',
  `reason` text NOT NULL COMMENT 'Reason for blacklist, comma separated',
  `mtime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `url` (`url`(191)),
  KEY `res` (`res`)
PK�^�\Q�{�-litespeed-cache/src/data_structure/avatar.sqlnu�[���  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `url` varchar(1000) NOT NULL DEFAULT '',
  `md5` varchar(128) NOT NULL DEFAULT '',
  `dateline` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `md5` (`md5`),
  KEY `dateline` (`dateline`)
PK�^�\b?�x��*litespeed-cache/src/data_structure/url.sqlnu�[���`id` bigint(20) NOT NULL AUTO_INCREMENT,
`url` varchar(500) NOT NULL,
`cache_tags` varchar(1000) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `url` (`url`(191)),
KEY `cache_tags` (`cache_tags`(191))PK�^�\<I�a�a�$litespeed-cache/src/optimize.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The optimize class.
 *
 * @since       1.2.2
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class Optimize extends Base {
	const LOG_TAG           = '🎢';

	const LIB_FILE_CSS_ASYNC     = 'assets/js/css_async.min.js';
	const LIB_FILE_WEBFONTLOADER = 'assets/js/webfontloader.min.js';
	const LIB_FILE_JS_DELAY      = 'assets/js/js_delay.min.js';

	const ITEM_TIMESTAMP_PURGE_CSS = 'timestamp_purge_css';

	const DUMMY_CSS_REGEX = "#<link [ \w='\"/]*id=['\"]litespeed-cache-dummy-css['\"] href=['\"].+assets/css/litespeed-dummy\.css[?\w.=-]*['\"][ \w='\"/]*>#isU";

	private $content;
	private $content_ori;

	private $cfg_css_min;
	private $cfg_css_comb;
	private $cfg_js_min;
	private $cfg_js_comb;
	private $cfg_css_async;
	private $cfg_js_delay_inc = array();
	private $cfg_js_defer;
	private $cfg_js_defer_exc = false;
	private $cfg_ggfonts_async;
	private $_conf_css_font_display;
	private $cfg_ggfonts_rm;

	private $dns_prefetch;
	private $dns_preconnect;
	private $_ggfonts_urls = array();
	private $_ccss;
	private $_ucss = false;

	private $__optimizer;

	private $html_foot = ''; // The html info append to <body>
	private $html_head = ''; // The html info append to <head>
	private $html_head_early = ''; // The html info prepend to top of head

	private static $_var_i    = 0;
	private $_var_preserve_js = array();
	private $_request_url;

	/**
	 * Constructor
	 *
	 * @since  4.0
	 */
	public function __construct() {
		self::debug('init');
		$this->__optimizer = $this->cls('Optimizer');
	}

	/**
	 * Init optimizer
	 *
	 * @since  3.0
	 * @access protected
	 */
	public function init() {
		$this->cfg_css_async = defined('LITESPEED_GUEST_OPTM') || $this->conf(self::O_OPTM_CSS_ASYNC);
		if ($this->cfg_css_async) {
			if (!$this->cls('Cloud')->activated()) {
				self::debug('❌ CCSS set to OFF due to QC not activated');
				$this->cfg_css_async = false;
			}
			if ((defined('LITESPEED_GUEST_OPTM') || ($this->conf(self::O_OPTM_UCSS) && $this->conf(self::O_OPTM_CSS_COMB))) && $this->conf(self::O_OPTM_UCSS_INLINE)) {
				self::debug('⚠️ CCSS set to OFF due to UCSS Inline');
				$this->cfg_css_async = false;
			}
		}
		$this->cfg_js_defer = $this->conf(self::O_OPTM_JS_DEFER);
		if (defined('LITESPEED_GUEST_OPTM')) {
			$this->cfg_js_defer = 2;
		}
		if ($this->cfg_js_defer == 2) {
			add_filter(
				'litespeed_optm_cssjs',
				function ( $con, $file_type ) {
					if ($file_type == 'js') {
						$con = str_replace('DOMContentLoaded', 'DOMContentLiteSpeedLoaded', $con);
						// $con = str_replace( 'addEventListener("load"', 'addEventListener("litespeedLoad"', $con );
					}
					return $con;
				},
				20,
				2
			);
		}

		// To remove emoji from WP
		if ($this->conf(self::O_OPTM_EMOJI_RM)) {
			$this->_emoji_rm();
		}

		if ($this->conf(self::O_OPTM_QS_RM)) {
			add_filter('style_loader_src', array( $this, 'remove_query_strings' ), 999);
			add_filter('script_loader_src', array( $this, 'remove_query_strings' ), 999);
		}

		// GM JS exclude @since 4.1
		if (defined('LITESPEED_GUEST_OPTM')) {
			$this->cfg_js_defer_exc = apply_filters('litespeed_optm_gm_js_exc', $this->conf(self::O_OPTM_GM_JS_EXC));
		} else {
			/**
			 * Exclude js from deferred setting
			 *
			 * @since 1.5
			 */
			if ($this->cfg_js_defer) {
				add_filter('litespeed_optm_js_defer_exc', array( $this->cls('Data'), 'load_js_defer_exc' ));
				$this->cfg_js_defer_exc = apply_filters('litespeed_optm_js_defer_exc', $this->conf(self::O_OPTM_JS_DEFER_EXC));

				$this->cfg_js_delay_inc = apply_filters('litespeed_optm_js_delay_inc', $this->conf(self::O_OPTM_JS_DELAY_INC));
			}
		}

		// Add vary filter for Role Excludes @since  1.6
		add_filter('litespeed_vary', array( $this, 'vary_add_role_exclude' ));

		// DNS optm (Prefetch/Preconnect) @since 7.3
		$this->_dns_optm_init();

		add_filter('litespeed_buffer_finalize', array( $this, 'finalize' ), 20);

		// Inject a dummy CSS file to control final optimized data location in <head>
		wp_enqueue_style(Core::PLUGIN_NAME . '-dummy', LSWCP_PLUGIN_URL . 'assets/css/litespeed-dummy.css');
	}

	/**
	 * Exclude role from optimization filter
	 *
	 * @since  1.6
	 * @access public
	 */
	public function vary_add_role_exclude( $vary ) {
		if ($this->cls('Conf')->in_optm_exc_roles()) {
			$vary['role_exclude_optm'] = 1;
		}

		return $vary;
	}

	/**
	 * Remove emoji from WP
	 *
	 * @since  1.4
	 * @since  2.9.8 Changed to private
	 * @access private
	 */
	private function _emoji_rm() {
		remove_action('wp_head', 'print_emoji_detection_script', 7);
		remove_action('admin_print_scripts', 'print_emoji_detection_script');
		remove_filter('the_content_feed', 'wp_staticize_emoji');
		remove_filter('comment_text_rss', 'wp_staticize_emoji');
		/**
		 * Added for better result
		 *
		 * @since  1.6.2.1
		 */
		remove_action('wp_print_styles', 'print_emoji_styles');
		remove_action('admin_print_styles', 'print_emoji_styles');
		remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
	}

	/**
	 * Delete file-based cache folder
	 *
	 * @since  2.1
	 * @access public
	 */
	public function rm_cache_folder( $subsite_id = false ) {
		if ($subsite_id) {
			file_exists(LITESPEED_STATIC_DIR . '/css/' . $subsite_id) && File::rrmdir(LITESPEED_STATIC_DIR . '/css/' . $subsite_id);
			file_exists(LITESPEED_STATIC_DIR . '/js/' . $subsite_id) && File::rrmdir(LITESPEED_STATIC_DIR . '/js/' . $subsite_id);
			return;
		}

		file_exists(LITESPEED_STATIC_DIR . '/css') && File::rrmdir(LITESPEED_STATIC_DIR . '/css');
		file_exists(LITESPEED_STATIC_DIR . '/js') && File::rrmdir(LITESPEED_STATIC_DIR . '/js');
	}

	/**
	 * Remove QS
	 *
	 * @since  1.3
	 * @access public
	 */
	public function remove_query_strings( $src ) {
		if (strpos($src, '_litespeed_rm_qs=0') || strpos($src, '/recaptcha')) {
			return $src;
		}

		if (!Utility::is_internal_file($src)) {
			return $src;
		}

		if (strpos($src, '.js?') !== false || strpos($src, '.css?') !== false) {
			$src = preg_replace('/\?.*/', '', $src);
		}

		return $src;
	}

	/**
	 * Run optimize process
	 * NOTE: As this is after cache finalized, can NOT set any cache control anymore
	 *
	 * @since  1.2.2
	 * @access public
	 * @return  string The content that is after optimization
	 */
	public function finalize( $content ) {
		$content = $this->_finalize($content);
		// Fallback to replace dummy css placeholder
		if (false !== preg_match(self::DUMMY_CSS_REGEX, $content)) {
			self::debug('Fallback to drop dummy CSS');
			$content = preg_replace( self::DUMMY_CSS_REGEX, '', $content );
		}
		return $content;
	}
	private function _finalize( $content ) {
		if (defined('LITESPEED_NO_PAGEOPTM')) {
			self::debug2('bypass: NO_PAGEOPTM const');
			return $content;
		}

		if (!defined('LITESPEED_IS_HTML')) {
			self::debug('bypass: Not frontend HTML type');
			return $content;
		}

		if (!defined('LITESPEED_GUEST_OPTM')) {
			if (!Control::is_cacheable()) {
				self::debug('bypass: Not cacheable');
				return $content;
			}

			// Check if hit URI excludes
			add_filter('litespeed_optm_uri_exc', array( $this->cls('Data'), 'load_optm_uri_exc' ));
			$excludes = apply_filters('litespeed_optm_uri_exc', $this->conf(self::O_OPTM_EXC));
			$result   = Utility::str_hit_array($_SERVER['REQUEST_URI'], $excludes);
			if ($result) {
				self::debug('bypass: hit URI Excludes setting: ' . $result);
				return $content;
			}
		}

		self::debug('start');

		$this->content_ori = $this->content = $content;

		$this->_optimize();
		return $this->content;
	}

	/**
	 * Optimize css src
	 *
	 * @since  1.2.2
	 * @access private
	 */
	private function _optimize() {
		global $wp;
		
		// get current request url
		$permalink_structure = get_option( 'permalink_structure' );
		if ( ! empty( $permalink_structure ) ) {
			$this->_request_url = trailingslashit( home_url( $wp->request ) );
		} else {
			$qs_add             = $wp->query_string ? '?' . (string) $wp->query_string : '' ;
			$this->_request_url = home_url( $wp->request ) . $qs_add;
		}

		$this->cfg_css_min            = defined('LITESPEED_GUEST_OPTM') || $this->conf(self::O_OPTM_CSS_MIN);
		$this->cfg_css_comb           = defined('LITESPEED_GUEST_OPTM') || $this->conf(self::O_OPTM_CSS_COMB);
		$this->cfg_js_min             = defined('LITESPEED_GUEST_OPTM') || $this->conf(self::O_OPTM_JS_MIN);
		$this->cfg_js_comb            = defined('LITESPEED_GUEST_OPTM') || $this->conf(self::O_OPTM_JS_COMB);
		$this->cfg_ggfonts_rm         = defined('LITESPEED_GUEST_OPTM') || $this->conf(self::O_OPTM_GGFONTS_RM);
		$this->cfg_ggfonts_async      = !defined('LITESPEED_GUEST_OPTM') && $this->conf(self::O_OPTM_GGFONTS_ASYNC); // forced rm already
		$this->_conf_css_font_display = !defined('LITESPEED_GUEST_OPTM') && $this->conf(self::O_OPTM_CSS_FONT_DISPLAY);

		if (!$this->cls('Router')->can_optm()) {
			self::debug('bypass: admin/feed/preview');
			return;
		}

		if ($this->cfg_css_async) {
			$this->_ccss = $this->cls('CSS')->prepare_ccss();
			if (!$this->_ccss) {
				self::debug('❌ CCSS set to OFF due to CCSS not generated yet');
				$this->cfg_css_async = false;
			} elseif (strpos($this->_ccss, '<style id="litespeed-ccss" data-error') === 0) {
				self::debug('❌ CCSS set to OFF due to CCSS failed to generate');
				$this->cfg_css_async = false;
			}
		}

		do_action('litespeed_optm');

		// Parse css from content
		$src_list = false;
		if ($this->cfg_css_min || $this->cfg_css_comb || $this->cfg_ggfonts_rm || $this->cfg_css_async || $this->cfg_ggfonts_async || $this->_conf_css_font_display) {
			add_filter('litespeed_optimize_css_excludes', array( $this->cls('Data'), 'load_css_exc' ));
			list($src_list, $html_list) = $this->_parse_css();
		}

		// css optimizer
		if ($this->cfg_css_min || $this->cfg_css_comb) {
			if ($src_list) {
				// IF combine
				if ($this->cfg_css_comb) {
					// Check if has inline UCSS enabled or not
					if ((defined('LITESPEED_GUEST_OPTM') || $this->conf(self::O_OPTM_UCSS)) && $this->conf(self::O_OPTM_UCSS_INLINE)) {
						$filename = $this->cls('UCSS')->load($this->_request_url, true);
						if ($filename) {
							$filepath_prefix = $this->_build_filepath_prefix('ucss');
							$this->_ucss     = File::read(LITESPEED_STATIC_DIR . $filepath_prefix . $filename);

							// Drop all css
							$this->content = str_replace($html_list, '', $this->content);
						}
					}

					if (!$this->_ucss) {
						$url = $this->_build_hash_url($src_list);

						if ($url) {
							// Handle css async load
							if ($this->cfg_css_async) {
								$this->html_head .=
									'<link rel="preload" data-asynced="1" data-optimized="2" as="style" onload="this.onload=null;this.rel=\'stylesheet\'" href="' .
									Str::trim_quotes($url) .
									'" />'; // todo: How to use " in attr wrapper "
							} else {
								$this->html_head .= '<link data-optimized="2" rel="stylesheet" href="' . Str::trim_quotes($url) . '" />'; // use 2 as combined
							}

							// Move all css to top
							$this->content = str_replace($html_list, '', $this->content);
						}
					}
				}
				// Only minify
				elseif ($this->cfg_css_min) {
					// will handle async css load inside
					$this->_src_queue_handler($src_list, $html_list);
				}
				// Only HTTP2 push
				else {
					foreach ($src_list as $src_info) {
						if (!empty($src_info['inl'])) {
							continue;
						}
					}
				}
			}
		}

		// Handle css lazy load if not handled async loaded yet
		if ($this->cfg_css_async && !$this->cfg_css_min && !$this->cfg_css_comb) {
			// async html
			$html_list_async = $this->_async_css_list($html_list, $src_list);

			// Replace async css
			$this->content = str_replace($html_list, $html_list_async, $this->content);
		}

		// Parse js from buffer as needed
		$src_list = false;
		if ($this->cfg_js_min || $this->cfg_js_comb || $this->cfg_js_defer || $this->cfg_js_delay_inc) {
			add_filter('litespeed_optimize_js_excludes', array( $this->cls('Data'), 'load_js_exc' ));
			list($src_list, $html_list) = $this->_parse_js();
		}

		// js optimizer
		if ($src_list) {
			// IF combine
			if ($this->cfg_js_comb) {
				$url = $this->_build_hash_url($src_list, 'js');
				if ($url) {
					$this->html_foot .= $this->_build_js_tag($url);

					// Will move all JS to bottom combined one
					$this->content = str_replace($html_list, '', $this->content);
				}
			}
			// Only minify
			elseif ($this->cfg_js_min) {
				// Will handle js defer inside
				$this->_src_queue_handler($src_list, $html_list, 'js');
			}
			// Only HTTP2 push and Defer
			else {
				foreach ($src_list as $k => $src_info) {
					// Inline JS
					if (!empty($src_info['inl'])) {
						if ($this->cfg_js_defer) {
							$attrs    = !empty($src_info['attrs']) ? $src_info['attrs'] : '';
							$deferred = $this->_js_inline_defer($src_info['src'], $attrs);
							if ($deferred) {
								$this->content = str_replace($html_list[$k], $deferred, $this->content);
							}
						}
					}
					// JS files
					elseif ($this->cfg_js_defer) {
						$deferred = $this->_js_defer($html_list[$k], $src_info['src']);
						if ($deferred) {
							$this->content = str_replace($html_list[$k], $deferred, $this->content);
						}
					} elseif ($this->cfg_js_delay_inc) {
						$deferred = $this->_js_delay($html_list[$k], $src_info['src']);
						if ($deferred) {
							$this->content = str_replace($html_list[$k], $deferred, $this->content);
						}
					}
				}
			}
		}

		// Append JS inline var for preserved ESI
		// Shouldn't give any optm (defer/delay) @since 4.4
		if ($this->_var_preserve_js) {
			$this->html_head .= '<script>var ' . implode(',', $this->_var_preserve_js) . ';</script>';
			self::debug2('Inline JS defer vars', $this->_var_preserve_js);
		}

		// Append async compatibility lib to head
		if ($this->cfg_css_async) {
			// Inline css async lib
			if ($this->conf(self::O_OPTM_CSS_ASYNC_INLINE)) {
				$this->html_head .= $this->_build_js_inline(File::read(LSCWP_DIR . self::LIB_FILE_CSS_ASYNC), true);
			} else {
				$css_async_lib_url = LSWCP_PLUGIN_URL . self::LIB_FILE_CSS_ASYNC;
				$this->html_head  .= $this->_build_js_tag($css_async_lib_url); // Don't exclude it from defer for now
			}
		}

		/**
		 * Handle google fonts async
		 * This will result in a JS snippet in head, so need to put it in the end to avoid being replaced by JS parser
		 */
		$this->_async_ggfonts();

		/**
		 * Font display optm
		 *
		 * @since  3.0
		 */
		$this->_font_optm();

		// Inject JS Delay lib
		$this->_maybe_js_delay();

		/**
		 * HTML Lazyload
		 */
		if ($this->conf(self::O_OPTM_HTML_LAZY)) {
			$this->html_head = $this->cls('CSS')->prepare_html_lazy() . $this->html_head;
		}

		// Maybe prepend inline UCSS
		if ($this->_ucss) {
			$this->html_head = '<style id="litespeed-ucss">' . $this->_ucss . '</style>' . $this->html_head;
		}

		// Check if there is any critical css rules setting
		if ($this->cfg_css_async && $this->_ccss) {
			$this->html_head = $this->_ccss . $this->html_head;
		}

		// Replace html head part
		$this->html_head_early = apply_filters('litespeed_optm_html_head_early', $this->html_head_early);
		if ($this->html_head_early) {
			// Put header content to be after charset
			if (false !== strpos($this->content, '<meta charset')) {
				self::debug('Put early optm data to be after <meta charset>');
				$this->content = preg_replace('#<meta charset([^>]*)>#isU', '<meta charset$1>' . $this->html_head_early, $this->content, 1);
			} else {
				self::debug('Put early optm data to be right after <head>');
				$this->content = preg_replace('#<head([^>]*)>#isU', '<head$1>' . $this->html_head_early, $this->content, 1);
			}
		}
		$this->html_head = apply_filters('litespeed_optm_html_head', $this->html_head);
		if ($this->html_head) {
			if (apply_filters('litespeed_optm_html_after_head', false)) {
				$this->content = str_replace('</head>', $this->html_head . '</head>', $this->content);
			} else {
				// Put header content to dummy css position
				if (false !== preg_match(self::DUMMY_CSS_REGEX, $this->content)) {
					self::debug('Put optm data to dummy css location');
					$this->content = preg_replace( self::DUMMY_CSS_REGEX, $this->html_head, $this->content );
				}
				// Fallback: try to be after charset
				elseif (strpos($this->content, '<meta charset') !== false) {
					self::debug('Put optm data to be after <meta charset>');
					$this->content = preg_replace('#<meta charset([^>]*)>#isU', '<meta charset$1>' . $this->html_head, $this->content, 1);
				} else {
					self::debug('Put optm data to be after <head>');
					$this->content = preg_replace('#<head([^>]*)>#isU', '<head$1>' . $this->html_head, $this->content, 1);
				}
			}
		}

		// Replace html foot part
		$this->html_foot = apply_filters('litespeed_optm_html_foot', $this->html_foot);
		if ($this->html_foot) {
			$this->content = str_replace('</body>', $this->html_foot . '</body>', $this->content);
		}

		// Drop noscript if enabled
		if ($this->conf(self::O_OPTM_NOSCRIPT_RM)) {
			// $this->content = preg_replace( '#<noscript>.*</noscript>#isU', '', $this->content );
		}

		// HTML minify
		if (defined('LITESPEED_GUEST_OPTM') || $this->conf(self::O_OPTM_HTML_MIN)) {
			$this->content = $this->__optimizer->html_min($this->content);
		}
	}

	/**
	 * Build a full JS tag
	 *
	 * @since  4.0
	 */
	private function _build_js_tag( $src ) {
		if ($this->cfg_js_defer === 2 || Utility::str_hit_array($src, $this->cfg_js_delay_inc)) {
			return '<script data-optimized="1" type="litespeed/javascript" data-src="' . Str::trim_quotes($src) . '"></script>';
		}

		if ($this->cfg_js_defer) {
			return '<script data-optimized="1" src="' . Str::trim_quotes($src) . '" defer></script>';
		}

		return '<script data-optimized="1" src="' . Str::trim_quotes($src) . '"></script>';
	}

	/**
	 * Build a full inline JS snippet
	 *
	 * @since  4.0
	 */
	private function _build_js_inline( $script, $minified = false ) {
		if ($this->cfg_js_defer) {
			$deferred = $this->_js_inline_defer($script, false, $minified);
			if ($deferred) {
				return $deferred;
			}
		}

		return '<script>' . $script . '</script>';
	}

	/**
	 * Load JS delay lib
	 *
	 * @since 4.0
	 */
	private function _maybe_js_delay() {
		if ($this->cfg_js_defer !== 2 && !$this->cfg_js_delay_inc) {
			return;
		}

		if (!defined('LITESPEED_JS_DELAY_LIB_LOADED')) {
			define('LITESPEED_JS_DELAY_LIB_LOADED', true);
			$this->html_foot .= '<script>' . File::read(LSCWP_DIR . self::LIB_FILE_JS_DELAY) . '</script>';
		}
	}

	/**
	 * Google font async
	 *
	 * @since 2.7.3
	 * @access private
	 */
	private function _async_ggfonts() {
		if (!$this->cfg_ggfonts_async || !$this->_ggfonts_urls) {
			return;
		}

		self::debug2('google fonts async found: ', $this->_ggfonts_urls);

		$this->html_head_early .= '<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin />';

		/**
		 * Append fonts
		 *
		 * Could be multiple fonts
		 *
		 *  <link rel='stylesheet' href='//fonts.googleapis.com/css?family=Open+Sans%3A400%2C600%2C700%2C800%2C300&#038;ver=4.9.8' type='text/css' media='all' />
		 *  <link rel='stylesheet' href='//fonts.googleapis.com/css?family=PT+Sans%3A400%2C700%7CPT+Sans+Narrow%3A400%7CMontserrat%3A600&#038;subset=latin&#038;ver=4.9.8' type='text/css' media='all' />
		 *      -> family: PT Sans:400,700|PT Sans Narrow:400|Montserrat:600
		 *  <link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,300,300italic,400italic,600,700,900&#038;subset=latin%2Clatin-ext' />
		 */
		$script = 'WebFontConfig={google:{families:[';

		$families = array();
		foreach ($this->_ggfonts_urls as $v) {
			$qs = wp_specialchars_decode($v);
			$qs = urldecode($qs);
			$qs = parse_url($qs, PHP_URL_QUERY);
			parse_str($qs, $qs);

			if (empty($qs['family'])) {
				self::debug('ERR ggfonts failed to find family: ' . $v);
				continue;
			}

			$subset = empty($qs['subset']) ? '' : ':' . $qs['subset'];

			foreach (array_filter(explode('|', $qs['family'])) as $v2) {
				$families[] = Str::trim_quotes($v2 . $subset);
			}
		}

		$script .= '"' . implode('","', $families) . ($this->_conf_css_font_display ? '&display=swap' : '') . '"';

		$script .= ']}};';

		// if webfontloader lib was loaded before WebFontConfig variable, call WebFont.load
		$script .= 'if ( typeof WebFont === "object" && typeof WebFont.load === "function" ) { WebFont.load( WebFontConfig ); }';

		$html = $this->_build_js_inline($script);

		// https://cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js
		$webfont_lib_url = LSWCP_PLUGIN_URL . self::LIB_FILE_WEBFONTLOADER;

		// default async, if js defer set use defer
		$html .= $this->_build_js_tag($webfont_lib_url);

		// Put this in the very beginning for preconnect
		$this->html_head = $html . $this->html_head;
	}

	/**
	 * Font optm
	 *
	 * @since  3.0
	 * @access private
	 */
	private function _font_optm() {
		if (!$this->_conf_css_font_display || !$this->_ggfonts_urls) {
			return;
		}

		self::debug2('google fonts optm ', $this->_ggfonts_urls);

		foreach ($this->_ggfonts_urls as $v) {
			if (strpos($v, 'display=')) {
				continue;
			}
			$this->html_head = str_replace($v, $v . '&#038;display=swap', $this->html_head);
			$this->html_foot = str_replace($v, $v . '&#038;display=swap', $this->html_foot);
			$this->content   = str_replace($v, $v . '&#038;display=swap', $this->content);
		}
	}

	/**
	 * Prefetch DNS
	 *
	 * @since 1.7.1 DNS prefetch
	 * @since 5.6.1 DNS preconnect
	 * @access private
	 */
	private function _dns_optm_init() {
		// Widely enable link DNS prefetch
		if (defined('LITESPEED_GUEST_OPTM') || $this->conf(self::O_OPTM_DNS_PREFETCH_CTRL)) {
			@header('X-DNS-Prefetch-Control: on');
		}

		$this->dns_prefetch = $this->conf(self::O_OPTM_DNS_PREFETCH);
		$this->dns_preconnect = $this->conf(self::O_OPTM_DNS_PRECONNECT);
		if (!$this->dns_prefetch && !$this->dns_preconnect) {
			return;
		}

		if (function_exists('wp_resource_hints')) {
			add_filter('wp_resource_hints', array( $this, 'dns_optm_filter' ), 10, 2);
		} else {
			add_action('litespeed_optm', array( $this, 'dns_optm_output' ));
		}
	}

	/**
	 * DNS optm hook for WP
	 *
	 * @since 1.7.1
	 * @access public
	 */
	public function dns_optm_filter( $urls, $relation_type ) {
		if ('dns-prefetch' === $relation_type) {
			foreach ($this->dns_prefetch as $v) {
				if ($v) {
					$urls[] = $v;
				}
			}
		}
		if ('preconnect' === $relation_type) {
			foreach ($this->dns_preconnect as $v) {
				if ($v) {
					$urls[] = $v;
				}
			}
		}

		return $urls;
	}

	/**
	 * DNS optm output directly
	 *
	 * @since 1.7.1 DNS prefetch
	 * @since 5.6.1 DNS preconnect
	 * @access public
	 */
	public function dns_optm_output() {
		foreach ($this->dns_prefetch as $v) {
			if ($v) {
				$this->html_head_early .= '<link rel="dns-prefetch" href="' . Str::trim_quotes($v) . '" />';
			}
		}
		foreach ($this->dns_preconnect as $v) {
			if ($v) {
				$this->html_head_early .= '<link rel="preconnect" href="' . Str::trim_quotes($v) . '" crossorigin />';
			}
		}
	}

	/**
	 * Run minify with src queue list
	 *
	 * @since  1.2.2
	 * @access private
	 */
	private function _src_queue_handler( $src_list, $html_list, $file_type = 'css' ) {
		$html_list_ori = $html_list;

		$can_webp = $this->cls('Media')->webp_support();

		$tag = $file_type == 'css' ? 'link' : 'script';
		foreach ($src_list as $key => $src_info) {
			// Minify inline CSS/JS
			if (!empty($src_info['inl'])) {
				if ($file_type == 'css') {
					$code = Optimizer::minify_css($src_info['src']);
					$can_webp && ($code = $this->cls('Media')->replace_background_webp($code));
					$snippet = str_replace($src_info['src'], $code, $html_list[$key]);
				} else {
					// Inline defer JS
					if ($this->cfg_js_defer) {
						$attrs   = !empty($src_info['attrs']) ? $src_info['attrs'] : '';
						$snippet = $this->_js_inline_defer($src_info['src'], $attrs) ?: $html_list[$key];
					} else {
						$code    = Optimizer::minify_js($src_info['src']);
						$snippet = str_replace($src_info['src'], $code, $html_list[$key]);
					}
				}
			}
			// CSS/JS files
			else {
				$url = $this->_build_single_hash_url($src_info['src'], $file_type);
				if ($url) {
					$snippet = str_replace($src_info['src'], $url, $html_list[$key]);
				}

				// Handle css async load
				if ($file_type == 'css' && $this->cfg_css_async) {
					$snippet = $this->_async_css($snippet);
				}

				// Handle js defer
				if ($file_type === 'js' && $this->cfg_js_defer) {
					$snippet = $this->_js_defer($snippet, $src_info['src']) ?: $snippet;
				}
			}

			$snippet         = str_replace("<$tag ", '<' . $tag . ' data-optimized="1" ', $snippet);
			$html_list[$key] = $snippet;
		}

		$this->content = str_replace($html_list_ori, $html_list, $this->content);
	}

	/**
	 * Build a single URL mapped filename (This will not save in DB)
	 *
	 * @since  4.0
	 */
	private function _build_single_hash_url( $src, $file_type = 'css' ) {
		$content = $this->__optimizer->load_file($src, $file_type);

		$is_min = $this->__optimizer->is_min($src);

		$content = $this->__optimizer->optm_snippet($content, $file_type, !$is_min, $src);

		$filepath_prefix = $this->_build_filepath_prefix($file_type);

		// Save to file
		$filename    = $filepath_prefix . md5($this->remove_query_strings($src)) . '.' . $file_type;
		$static_file = LITESPEED_STATIC_DIR . $filename;
		File::save($static_file, $content, true);

		// QS is required as $src may contains version info
		$qs_hash = substr(md5($src), -5);
		return LITESPEED_STATIC_URL . "$filename?ver=$qs_hash";
	}

	/**
	 * Generate full URL path with hash for a list of src
	 *
	 * @since  1.2.2
	 * @access private
	 */
	private function _build_hash_url( $src_list, $file_type = 'css' ) {
		// $url_sensitive = $this->conf( self::O_OPTM_CSS_UNIQUE ) && $file_type == 'css'; // If need to keep unique CSS per URI

		// Replace preserved ESI (before generating hash)
		if ($file_type == 'js') {
			foreach ($src_list as $k => $v) {
				if (empty($v['inl'])) {
					continue;
				}
				$src_list[$k]['src'] = $this->_preserve_esi($v['src']);
			}
		}

		$minify        = $file_type === 'css' ? $this->cfg_css_min : $this->cfg_js_min;
		$filename_info = $this->__optimizer->serve($this->_request_url, $file_type, $minify, $src_list);

		if (!$filename_info) {
			return false; // Failed to generate
		}

		list($filename, $type) = $filename_info;

		// Add cache tag in case later file deleted to avoid lscache served stale non-existed files @since 4.4.1
		Tag::add(Tag::TYPE_MIN . '.' . $filename);

		$qs_hash = substr(md5(self::get_option(self::ITEM_TIMESTAMP_PURGE_CSS)), -5);
		// As filename is already related to filecon md5, no need QS anymore
		$filepath_prefix = $this->_build_filepath_prefix($type);
		return LITESPEED_STATIC_URL . $filepath_prefix . $filename . '?ver=' . $qs_hash;
	}

	/**
	 * Parse js src
	 *
	 * @since  1.2.2
	 * @access private
	 */
	private function _parse_js() {
		$excludes = apply_filters('litespeed_optimize_js_excludes', $this->conf(self::O_OPTM_JS_EXC));

		$combine_ext_inl = $this->conf(self::O_OPTM_JS_COMB_EXT_INL);
		if (!apply_filters('litespeed_optm_js_comb_ext_inl', true)) {
			self::debug2('js_comb_ext_inl bypassed via litespeed_optm_js_comb_ext_inl filter');
			$combine_ext_inl = false;
		}

		$src_list  = array();
		$html_list = array();

		// V7 added: (?:\r\n?|\n?) to fix replacement leaving empty new line
		$content = preg_replace('#<!--.*-->(?:\r\n?|\n?)#sU', '', $this->content);
		preg_match_all('#<script([^>]*)>(.*)</script>(?:\r\n?|\n?)#isU', $content, $matches, PREG_SET_ORDER);
		foreach ($matches as $match) {
			$attrs = empty($match[1]) ? array() : Utility::parse_attr($match[1]);

			if (isset($attrs['data-optimized'])) {
				continue;
			}
			if (!empty($attrs['data-no-optimize'])) {
				continue;
			}
			if (!empty($attrs['data-cfasync']) && $attrs['data-cfasync'] === 'false') {
				continue;
			}
			if (!empty($attrs['type']) && $attrs['type'] != 'text/javascript') {
				continue;
			}

			// to avoid multiple replacement
			if (in_array($match[0], $html_list)) {
				continue;
			}

			$this_src_arr = array();
			// JS files
			if (!empty($attrs['src'])) {
				// Exclude check
				$js_excluded  = Utility::str_hit_array($attrs['src'], $excludes);
				$is_internal  = Utility::is_internal_file($attrs['src']);
				$is_file      = substr($attrs['src'], 0, 5) != 'data:';
				$ext_excluded = !$combine_ext_inl && !$is_internal;
				if ($js_excluded || $ext_excluded || !$is_file) {
					// Maybe defer
					if ($this->cfg_js_defer) {
						$deferred = $this->_js_defer($match[0], $attrs['src']);
						if ($deferred) {
							$this->content = str_replace($match[0], $deferred, $this->content);
						}
					}

					self::debug2('_parse_js bypassed due to ' . ($js_excluded ? 'js files excluded [hit] ' . $js_excluded : 'external js'));
					continue;
				}

				if (strpos($attrs['src'], '/localres/') !== false) {
					continue;
				}

				if (strpos($attrs['src'], 'instant_click') !== false) {
					continue;
				}

				$this_src_arr['src'] = $attrs['src'];
			}
			// Inline JS
			elseif (!empty($match[2])) {
				// self::debug( '🌹🌹🌹 ' . $match[2] . '🌹' );
				// Exclude check
				$js_excluded = Utility::str_hit_array($match[2], $excludes);
				if ($js_excluded || !$combine_ext_inl) {
					// Maybe defer
					if ($this->cfg_js_defer) {
						$deferred = $this->_js_inline_defer($match[2], $match[1]);
						if ($deferred) {
							$this->content = str_replace($match[0], $deferred, $this->content);
						}
					}
					self::debug2('_parse_js bypassed due to ' . ($js_excluded ? 'js excluded [hit] ' . $js_excluded : 'inline js'));
					continue;
				}

				$this_src_arr['inl'] = true;
				$this_src_arr['src'] = $match[2];
				if ($match[1]) {
					$this_src_arr['attrs'] = $match[1];
				}
			} else {
				// Compatibility to those who changed src to data-src already
				self::debug2('No JS src or inline JS content');
				continue;
			}

			$src_list[]  = $this_src_arr;
			$html_list[] = $match[0];
		}

		return array( $src_list, $html_list );
	}

	/**
	 * Inline JS defer
	 *
	 * @since 3.0
	 * @access private
	 */
	private function _js_inline_defer( $con, $attrs = false, $minified = false ) {
		if (strpos($attrs, 'data-no-defer') !== false) {
			self::debug2('bypass: attr api data-no-defer');
			return false;
		}

		$hit = Utility::str_hit_array($con, $this->cfg_js_defer_exc);
		if ($hit) {
			self::debug2('inline js defer excluded [setting] ' . $hit);
			return false;
		}

		$con = trim($con);
		// Minify JS first
		if (!$minified) {
			// && $this->cfg_js_defer !== 2
			$con = Optimizer::minify_js($con);
		}

		if (!$con) {
			return false;
		}

		// Check if the content contains ESI nonce or not
		$con = $this->_preserve_esi($con);

		if ($this->cfg_js_defer === 2) {
			// Drop type attribute from $attrs
			if (strpos($attrs, ' type=') !== false) {
				$attrs = preg_replace('# type=([\'"])([^\1]+)\1#isU', '', $attrs);
			}
			// Replace DOMContentLoaded
			$con = str_replace('DOMContentLoaded', 'DOMContentLiteSpeedLoaded', $con);
			return '<script' . $attrs . ' type="litespeed/javascript">' . $con . '</script>';
			// return '<script' . $attrs . ' type="litespeed/javascript" src="data:text/javascript;base64,' . base64_encode( $con ) . '"></script>';
			// return '<script' . $attrs . ' type="litespeed/javascript">' . $con . '</script>';
		}

		return '<script' . $attrs . ' src="data:text/javascript;base64,' . base64_encode($con) . '" defer></script>';
	}

	/**
	 * Replace ESI to JS inline var (mainly used to avoid nonce timeout)
	 *
	 * @since  3.5.1
	 */
	private function _preserve_esi( $con ) {
		$esi_placeholder_list = $this->cls('ESI')->contain_preserve_esi($con);
		if (!$esi_placeholder_list) {
			return $con;
		}

		foreach ($esi_placeholder_list as $esi_placeholder) {
			$js_var                   = '__litespeed_var_' . self::$_var_i++ . '__';
			$con                      = str_replace($esi_placeholder, $js_var, $con);
			$this->_var_preserve_js[] = $js_var . '=' . $esi_placeholder;
		}

		return $con;
	}

	/**
	 * Parse css src and remove to-be-removed css
	 *
	 * @since  1.2.2
	 * @access private
	 * @return array  All the src & related raw html list
	 */
	private function _parse_css() {
		$excludes             = apply_filters('litespeed_optimize_css_excludes', $this->conf(self::O_OPTM_CSS_EXC));
		$ucss_file_exc_inline = apply_filters('litespeed_optimize_ucss_file_exc_inline', $this->conf(self::O_OPTM_UCSS_FILE_EXC_INLINE));

		// Append dummy css to exclude list
		$excludes[] = 'litespeed-dummy.css';

		$combine_ext_inl = $this->conf(self::O_OPTM_CSS_COMB_EXT_INL);
		if (!apply_filters('litespeed_optm_css_comb_ext_inl', true)) {
			self::debug2('css_comb_ext_inl bypassed via litespeed_optm_css_comb_ext_inl filter');
			$combine_ext_inl = false;
		}

		$css_to_be_removed = apply_filters('litespeed_optm_css_to_be_removed', array());

		$src_list  = array();
		$html_list = array();

		// $dom = new \PHPHtmlParser\Dom;
		// $dom->load( $content );return $val;
		// $items = $dom->find( 'link' );

		// V7 added: (?:\r\n?|\n?) to fix replacement leaving empty new line
		$content = preg_replace(
			array( '#<!--.*-->(?:\r\n?|\n?)#sU', '#<script([^>]*)>.*</script>(?:\r\n?|\n?)#isU', '#<noscript([^>]*)>.*</noscript>(?:\r\n?|\n?)#isU' ),
			'',
			$this->content
		);
		preg_match_all('#<link ([^>]+)/?>|<style([^>]*)>([^<]+)</style>(?:\r\n?|\n?)#isU', $content, $matches, PREG_SET_ORDER);

		foreach ($matches as $match) {
			// to avoid multiple replacement
			if (in_array($match[0], $html_list)) {
				continue;
			}

			if ($exclude = Utility::str_hit_array($match[0], $excludes)) {
				self::debug2('_parse_css bypassed exclude ' . $exclude);
				continue;
			}

			$this_src_arr = array();
			if (strpos($match[0], '<link') === 0) {
				$attrs = Utility::parse_attr($match[1]);
				if (empty($attrs['rel']) || $attrs['rel'] !== 'stylesheet') {
					continue;
				}
				if (empty($attrs['href'])) {
					continue;
				}

				// Check if need to remove this css
				if (Utility::str_hit_array($attrs['href'], $css_to_be_removed)) {
					self::debug('rm css snippet ' . $attrs['href']);
					// Delete this css snippet from orig html
					$this->content = str_replace($match[0], '', $this->content);

					continue;
				}

				// Check if need to inline this css file
				if ($this->conf(self::O_OPTM_UCSS) && Utility::str_hit_array($attrs['href'], $ucss_file_exc_inline)) {
					self::debug('ucss_file_exc_inline hit ' . $attrs['href']);
					// Replace this css to inline from orig html
					$inline_script = '<style>' . $this->__optimizer->load_file($attrs['href']) . '</style>';
					$this->content = str_replace($match[0], $inline_script, $this->content);

					continue;
				}

				// Check Google fonts hit
				if (strpos($attrs['href'], 'fonts.googleapis.com') !== false) {
					/**
					 * For async gg fonts, will add webfont into head, hence remove it from buffer and store the matches to use later
					 *
					 * @since  2.7.3
					 * @since  3.0 For font display optm, need to parse google fonts URL too
					 */
					if (!in_array($attrs['href'], $this->_ggfonts_urls)) {
						$this->_ggfonts_urls[] = $attrs['href'];
					}

					if ($this->cfg_ggfonts_rm || $this->cfg_ggfonts_async) {
						self::debug('rm css snippet [Google fonts] ' . $attrs['href']);
						$this->content = str_replace($match[0], '', $this->content);

						continue;
					}
				}

				if (isset($attrs['data-optimized'])) {
					// $this_src_arr[ 'exc' ] = true;
					continue;
				} elseif (!empty($attrs['data-no-optimize'])) {
					// $this_src_arr[ 'exc' ] = true;
					continue;
				}

				$is_internal  = Utility::is_internal_file($attrs['href']);
				$ext_excluded = !$combine_ext_inl && !$is_internal;
				if ($ext_excluded) {
					self::debug2('Bypassed due to external link');
					// Maybe defer
					if ($this->cfg_css_async) {
						$snippet = $this->_async_css($match[0]);
						if ($snippet != $match[0]) {
							$this->content = str_replace($match[0], $snippet, $this->content);
						}
					}

					continue;
				}

				if (!empty($attrs['media']) && $attrs['media'] !== 'all') {
					$this_src_arr['media'] = $attrs['media'];
				}

				$this_src_arr['src'] = $attrs['href'];
			} else {
				// Inline style
				if (!$combine_ext_inl) {
					self::debug2('Bypassed due to inline');
					continue;
				}

				$attrs = Utility::parse_attr($match[2]);

				if (!empty($attrs['data-no-optimize'])) {
					continue;
				}

				if (!empty($attrs['media']) && $attrs['media'] !== 'all') {
					$this_src_arr['media'] = $attrs['media'];
				}

				$this_src_arr['inl'] = true;
				$this_src_arr['src'] = $match[3];
			}

			$src_list[] = $this_src_arr;

			$html_list[] = $match[0];
		}

		return array( $src_list, $html_list );
	}

	/**
	 * Replace css to async loaded css
	 *
	 * @since  1.3
	 * @access private
	 */
	private function _async_css_list( $html_list, $src_list ) {
		foreach ($html_list as $k => $ori) {
			if (!empty($src_list[$k]['inl'])) {
				continue;
			}

			$html_list[$k] = $this->_async_css($ori);
		}
		return $html_list;
	}

	/**
	 * Async CSS snippet
	 *
	 * @since 3.5
	 */
	private function _async_css( $ori ) {
		if (strpos($ori, 'data-asynced') !== false) {
			self::debug2('bypass: attr data-asynced exist');
			return $ori;
		}

		if (strpos($ori, 'data-no-async') !== false) {
			self::debug2('bypass: attr api data-no-async');
			return $ori;
		}

		// async replacement
		$v = str_replace('stylesheet', 'preload', $ori);
		$v = str_replace('<link', '<link data-asynced="1" as="style" onload="this.onload=null;this.rel=\'stylesheet\'" ', $v);
		// Append to noscript content
		if (!defined('LITESPEED_GUEST_OPTM') && !$this->conf(self::O_OPTM_NOSCRIPT_RM)) {
			$v .= '<noscript>' . preg_replace('/ id=\'[\w-]+\' /U', ' ', $ori) . '</noscript>';
		}

		return $v;
	}

	/**
	 * Defer JS snippet
	 *
	 * @since  3.5
	 */
	private function _js_defer( $ori, $src ) {
		if (strpos($ori, ' async') !== false) {
			$ori = preg_replace('# async(?:=([\'"])(?:[^\1]*?)\1)?#is', '', $ori);
		}

		if (strpos($ori, 'defer') !== false) {
			return false;
		}
		if (strpos($ori, 'data-deferred') !== false) {
			self::debug2('bypass: attr data-deferred exist');
			return false;
		}
		if (strpos($ori, 'data-no-defer') !== false) {
			self::debug2('bypass: attr api data-no-defer');
			return false;
		}

		/**
		 * Exclude JS from setting
		 *
		 * @since 1.5
		 */
		if (Utility::str_hit_array($src, $this->cfg_js_defer_exc)) {
			self::debug('js defer exclude ' . $src);
			return false;
		}

		if ($this->cfg_js_defer === 2 || Utility::str_hit_array($src, $this->cfg_js_delay_inc)) {
			if (strpos($ori, ' type=') !== false) {
				$ori = preg_replace('# type=([\'"])([^\1]+)\1#isU', '', $ori);
			}
			return str_replace(' src=', ' type="litespeed/javascript" data-src=', $ori);
		}

		return str_replace('></script>', ' defer data-deferred="1"></script>', $ori);
	}

	/**
	 * Delay JS for included setting
	 *
	 * @since 5.6
	 */
	private function _js_delay( $ori, $src ) {
		if (strpos($ori, ' async') !== false) {
			$ori = str_replace(' async', '', $ori);
		}

		if (strpos($ori, 'defer') !== false) {
			return false;
		}
		if (strpos($ori, 'data-deferred') !== false) {
			self::debug2('bypass: attr data-deferred exist');
			return false;
		}
		if (strpos($ori, 'data-no-defer') !== false) {
			self::debug2('bypass: attr api data-no-defer');
			return false;
		}

		if (!Utility::str_hit_array($src, $this->cfg_js_delay_inc)) {
			return;
		}

		if (strpos($ori, ' type=') !== false) {
			$ori = preg_replace('# type=([\'"])([^\1]+)\1#isU', '', $ori);
		}
		return str_replace(' src=', ' type="litespeed/javascript" data-src=', $ori);
	}
}
PK�^�\�[�G*G* litespeed-cache/src/file.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * LiteSpeed File Operator Library Class
 * Append/Replace content to a file
 *
 * @since 1.1.0
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class File {

	const MARKER = 'LiteSpeed Operator';

	/**
	 * Detect if an URL is 404
	 *
	 * @since  3.3
	 */
	public static function is_404( $url ) {
		$response = wp_safe_remote_get($url);
		$code     = wp_remote_retrieve_response_code($response);
		if ($code == 404) {
			return true;
		}

		return false;
	}

	/**
	 *  Delete folder
	 *
	 * @since 2.1
	 */
	public static function rrmdir( $dir ) {
		$files = array_diff(scandir($dir), array( '.', '..' ));

		foreach ($files as $file) {
			is_dir("$dir/$file") ? self::rrmdir("$dir/$file") : unlink("$dir/$file");
		}

		return rmdir($dir);
	}

	public static function count_lines( $filename ) {
		if (!file_exists($filename)) {
			return 0;
		}

		$file = new \SplFileObject($filename);
		$file->seek(PHP_INT_MAX);
		return $file->key() + 1;
	}

	/**
	 * Read data from file
	 *
	 * @since 1.1.0
	 * @param string $filename
	 * @param int    $start_line
	 * @param int    $lines
	 */
	public static function read( $filename, $start_line = null, $lines = null ) {
		if (!file_exists($filename)) {
			return '';
		}

		if (!is_readable($filename)) {
			return false;
		}

		if ($start_line !== null) {
			$res  = array();
			$file = new \SplFileObject($filename);
			$file->seek($start_line);

			if ($lines === null) {
				while (!$file->eof()) {
					$res[] = rtrim($file->current(), "\n");
					$file->next();
				}
			} else {
				for ($i = 0; $i < $lines; $i++) {
					if ($file->eof()) {
						break;
					}
					$res[] = rtrim($file->current(), "\n");
					$file->next();
				}
			}

			unset($file);
			return $res;
		}

		$content = file_get_contents($filename);

		$content = self::remove_zero_space($content);

		return $content;
	}

	/**
	 * Append data to file
	 *
	 * @since 1.1.5
	 * @access public
	 * @param string  $filename
	 * @param string  $data
	 * @param boolean $mkdir
	 * @param boolean $silence Used to avoid WP's functions are used
	 */
	public static function append( $filename, $data, $mkdir = false, $silence = true ) {
		return self::save($filename, $data, $mkdir, true, $silence);
	}

	/**
	 * Save data to file
	 *
	 * @since 1.1.0
	 * @param string  $filename
	 * @param string  $data
	 * @param boolean $mkdir
	 * @param boolean $append If the content needs to be appended
	 * @param boolean $silence Used to avoid WP's functions are used
	 */
	public static function save( $filename, $data, $mkdir = false, $append = false, $silence = true ) {
		if (is_null($filename)) {
			return $silence ? false : __('Filename is empty!', 'litespeed-cache');
		}

		$error  = false;
		$folder = dirname($filename);

		// mkdir if folder does not exist
		if (!file_exists($folder)) {
			if (!$mkdir) {
				return $silence ? false : sprintf(__('Folder does not exist: %s', 'litespeed-cache'), $folder);
			}

			set_error_handler('litespeed_exception_handler');

			try {
				mkdir($folder, 0755, true);
				// Create robots.txt file to forbid search engine indexes
				if (!file_exists(LITESPEED_STATIC_DIR . '/robots.txt')) {
					file_put_contents(LITESPEED_STATIC_DIR . '/robots.txt', "User-agent: *\nDisallow: /\n");
				}
			} catch (\ErrorException $ex) {
				return $silence ? false : sprintf(__('Can not create folder: %1$s. Error: %2$s', 'litespeed-cache'), $folder, $ex->getMessage());
			}

			restore_error_handler();
		}

		if (!file_exists($filename)) {
			if (!is_writable($folder)) {
				return $silence ? false : sprintf(__('Folder is not writable: %s.', 'litespeed-cache'), $folder);
			}
			set_error_handler('litespeed_exception_handler');
			try {
				touch($filename);
			} catch (\ErrorException $ex) {
				return $silence ? false : sprintf(__('File %s is not writable.', 'litespeed-cache'), $filename);
			}
			restore_error_handler();
		} elseif (!is_writable($filename)) {
			return $silence ? false : sprintf(__('File %s is not writable.', 'litespeed-cache'), $filename);
		}

		$data = self::remove_zero_space($data);

		$ret = file_put_contents($filename, $data, $append ? FILE_APPEND : LOCK_EX);
		if ($ret === false) {
			return $silence ? false : sprintf(__('Failed to write to %s.', 'litespeed-cache'), $filename);
		}

		return true;
	}

	/**
	 * Remove Unicode zero-width space <200b><200c>
	 *
	 * @since 2.1.2
	 * @since 2.9 changed to public
	 */
	public static function remove_zero_space( $content ) {
		if (is_array($content)) {
			$content = array_map(__CLASS__ . '::remove_zero_space', $content);
			return $content;
		}

		// Remove UTF-8 BOM if present
		if (substr($content, 0, 3) === "\xEF\xBB\xBF") {
			$content = substr($content, 3);
		}

		$content = str_replace("\xe2\x80\x8b", '', $content);
		$content = str_replace("\xe2\x80\x8c", '', $content);
		$content = str_replace("\xe2\x80\x8d", '', $content);

		return $content;
	}

	/**
	 * Appends an array of strings into a file (.htaccess ), placing it between
	 * BEGIN and END markers.
	 *
	 * Replaces existing marked info. Retains surrounding
	 * data. Creates file if none exists.
	 *
	 * @param string             $filename  Filename to alter.
	 * @param string             $marker    The marker to alter.
	 * @param array|string|false $insertion The new content to insert.
	 * @param bool               $prepend Prepend insertion if not exist.
	 * @return bool True on write success, false on failure.
	 */
	public static function insert_with_markers( $filename, $insertion = false, $marker = false, $prepend = false ) {
		if (!$marker) {
			$marker = self::MARKER;
		}

		if (!$insertion) {
			$insertion = array();
		}

		return self::_insert_with_markers($filename, $marker, $insertion, $prepend); // todo: capture exceptions
	}

	/**
	 * Return wrapped block data with marker
	 *
	 * @param string $insertion
	 * @param string $marker
	 * @return string The block data
	 */
	public static function wrap_marker_data( $insertion, $marker = false ) {
		if (!$marker) {
			$marker = self::MARKER;
		}
		$start_marker = "# BEGIN {$marker}";
		$end_marker   = "# END {$marker}";

		$new_data = implode("\n", array_merge(array( $start_marker ), $insertion, array( $end_marker )));
		return $new_data;
	}

	/**
	 * Touch block data from file, return with marker
	 *
	 * @param string $filename
	 * @param string $marker
	 * @return string The current block data
	 */
	public static function touch_marker_data( $filename, $marker = false ) {
		if (!$marker) {
			$marker = self::MARKER;
		}

		$result = self::_extract_from_markers($filename, $marker);

		if (!$result) {
			return false;
		}

		$start_marker = "# BEGIN {$marker}";
		$end_marker   = "# END {$marker}";
		$new_data     = implode("\n", array_merge(array( $start_marker ), $result, array( $end_marker )));
		return $new_data;
	}

	/**
	 * Extracts strings from between the BEGIN and END markers in the .htaccess file.
	 *
	 * @param string $filename
	 * @param string $marker
	 * @return array An array of strings from a file (.htaccess ) from between BEGIN and END markers.
	 */
	public static function extract_from_markers( $filename, $marker = false ) {
		if (!$marker) {
			$marker = self::MARKER;
		}
		return self::_extract_from_markers($filename, $marker);
	}

	/**
	 * Extracts strings from between the BEGIN and END markers in the .htaccess file.
	 *
	 * @param string $filename
	 * @param string $marker
	 * @return array An array of strings from a file (.htaccess ) from between BEGIN and END markers.
	 */
	private static function _extract_from_markers( $filename, $marker ) {
		$result = array();

		if (!file_exists($filename)) {
			return $result;
		}

		if ($markerdata = explode("\n", implode('', file($filename)))) {
			$state = false;
			foreach ($markerdata as $markerline) {
				if (strpos($markerline, '# END ' . $marker) !== false) {
					$state = false;
				}
				if ($state) {
					$result[] = $markerline;
				}
				if (strpos($markerline, '# BEGIN ' . $marker) !== false) {
					$state = true;
				}
			}
		}

		return array_map('trim', $result);
	}

	/**
	 * Inserts an array of strings into a file (.htaccess ), placing it between BEGIN and END markers.
	 *
	 * Replaces existing marked info. Retains surrounding data. Creates file if none exists.
	 *
	 * NOTE: will throw error if failed
	 *
	 * @since 3.0-
	 * @since  3.0 Throw errors if failed
	 * @access private
	 */
	private static function _insert_with_markers( $filename, $marker, $insertion, $prepend = false ) {
		if (!file_exists($filename)) {
			if (!is_writable(dirname($filename))) {
				Error::t('W', dirname($filename));
			}

			set_error_handler('litespeed_exception_handler');
			try {
				touch($filename);
			} catch (\ErrorException $ex) {
				Error::t('W', $filename);
			}
			restore_error_handler();
		} elseif (!is_writable($filename)) {
			Error::t('W', $filename);
		}

		if (!is_array($insertion)) {
			$insertion = explode("\n", $insertion);
		}

		$start_marker = "# BEGIN {$marker}";
		$end_marker   = "# END {$marker}";

		$fp = fopen($filename, 'r+');
		if (!$fp) {
			Error::t('W', $filename);
		}

		// Attempt to get a lock. If the filesystem supports locking, this will block until the lock is acquired.
		flock($fp, LOCK_EX);

		$lines = array();
		while (!feof($fp)) {
			$lines[] = rtrim(fgets($fp), "\r\n");
		}

		// Split out the existing file into the preceding lines, and those that appear after the marker
		$pre_lines    = $post_lines = $existing_lines = array();
		$found_marker = $found_end_marker = false;
		foreach ($lines as $line) {
			if (!$found_marker && false !== strpos($line, $start_marker)) {
				$found_marker = true;
				continue;
			} elseif (!$found_end_marker && false !== strpos($line, $end_marker)) {
				$found_end_marker = true;
				continue;
			}

			if (!$found_marker) {
				$pre_lines[] = $line;
			} elseif ($found_marker && $found_end_marker) {
				$post_lines[] = $line;
			} else {
				$existing_lines[] = $line;
			}
		}

		// Check to see if there was a change
		if ($existing_lines === $insertion) {
			flock($fp, LOCK_UN);
			fclose($fp);

			return true;
		}

		// Check if need to prepend data if not exist
		if ($prepend && !$post_lines) {
			// Generate the new file data
			$new_file_data = implode("\n", array_merge(array( $start_marker ), $insertion, array( $end_marker ), $pre_lines));
		} else {
			// Generate the new file data
			$new_file_data = implode("\n", array_merge($pre_lines, array( $start_marker ), $insertion, array( $end_marker ), $post_lines));
		}

		// Write to the start of the file, and truncate it to that length
		fseek($fp, 0);
		$bytes = fwrite($fp, $new_file_data);
		if ($bytes) {
			ftruncate($fp, ftell($fp));
		}
		fflush($fp);
		flock($fp, LOCK_UN);
		fclose($fp);

		return (bool) $bytes;
	}
}
PK�^�\U�m�QQ(litespeed-cache/src/object-cache.cls.phpnu�[���<?php
/**
 * The object cache class.
 *
 * @since       1.8
 * @package     LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

require_once dirname( __DIR__ ) . '/autoload.php';

/**
 * Object cache handler using Redis or Memcached.
 *
 * NOTE: this class may be included without initialized core.
 *
 * @since 1.8
 */
class Object_Cache extends Root {
	const LOG_TAG = '[Object_Cache]';

	/**
	 * Debug option key.
	 *
	 * @var string
	 */
	const O_DEBUG = 'debug';

	/**
	 * Object cache enable key.
	 *
	 * @var string
	 */
	const O_OBJECT = 'object';

	/**
	 * Object kind (Redis/Memcached).
	 *
	 * @var string
	 */
	const O_OBJECT_KIND = 'object-kind';

	/**
	 * Object host.
	 *
	 * @var string
	 */
	const O_OBJECT_HOST = 'object-host';

	/**
	 * Object port.
	 *
	 * @var string
	 */
	const O_OBJECT_PORT = 'object-port';

	/**
	 * Object life/TTL.
	 *
	 * @var string
	 */
	const O_OBJECT_LIFE = 'object-life';

	/**
	 * Persistent connection flag.
	 *
	 * @var string
	 */
	const O_OBJECT_PERSISTENT = 'object-persistent';

	/**
	 * Admin cache flag.
	 *
	 * @var string
	 */
	const O_OBJECT_ADMIN = 'object-admin';

	/**
	 * Transients store flag.
	 *
	 * @var string
	 */
	const O_OBJECT_TRANSIENTS = 'object-transients';

	/**
	 * DB index for Redis.
	 *
	 * @var string
	 */
	const O_OBJECT_DB_ID = 'object-db_id';

	/**
	 * Username for auth.
	 *
	 * @var string
	 */
	const O_OBJECT_USER = 'object-user';

	/**
	 * Password for auth.
	 *
	 * @var string
	 */
	const O_OBJECT_PSWD = 'object-pswd';

	/**
	 * Global groups list.
	 *
	 * @var string
	 */
	const O_OBJECT_GLOBAL_GROUPS = 'object-global_groups';

	/**
	 * Non-persistent groups list.
	 *
	 * @var string
	 */
	const O_OBJECT_NON_PERSISTENT_GROUPS = 'object-non_persistent_groups';

	/**
	 * Connection instance.
	 *
	 * @var \Redis|\Memcached|null
	 */
	private $_conn;

	/**
	 * Debug config.
	 *
	 * @var bool
	 */
	private $_cfg_debug;

	/**
	 * Whether OC is enabled.
	 *
	 * @var bool
	 */
	private $_cfg_enabled;

	/**
	 * True => Redis, false => Memcached.
	 *
	 * @var bool
	 */
	private $_cfg_method;

	/**
	 * Host name.
	 *
	 * @var string
	 */
	private $_cfg_host;

	/**
	 * Port number.
	 *
	 * @var int|string
	 */
	private $_cfg_port;

	/**
	 * TTL in seconds.
	 *
	 * @var int
	 */
	private $_cfg_life;

	/**
	 * Use persistent connection.
	 *
	 * @var bool
	 */
	private $_cfg_persistent;

	/**
	 * Cache admin pages.
	 *
	 * @var bool
	 */
	private $_cfg_admin;

	/**
	 * Store transients.
	 *
	 * @var bool
	 */
	private $_cfg_transients;

	/**
	 * Redis DB index.
	 *
	 * @var int
	 */
	private $_cfg_db;

	/**
	 * Auth username.
	 *
	 * @var string
	 */
	private $_cfg_user;

	/**
	 * Auth password.
	 *
	 * @var string
	 */
	private $_cfg_pswd;

	/**
	 * Default TTL in seconds.
	 *
	 * @var int
	 */
	private $_default_life = 360;

	/**
	 * 'Redis' or 'Memcached'.
	 *
	 * @var string
	 */
	private $_oc_driver = 'Memcached'; // Redis or Memcached.

	/**
	 * Global groups.
	 *
	 * @var array
	 */
	private $_global_groups = [];

	/**
	 * Non-persistent groups.
	 *
	 * @var array
	 */
	private $_non_persistent_groups = [];

	/**
	 * Init.
	 *
	 * NOTE: this class may be included without initialized core.
	 *
	 * @since  1.8
	 *
	 * @param array|false $cfg Optional configuration to bootstrap without core.
	 */
	public function __construct( $cfg = false ) {
		if ( $cfg ) {
			if ( ! is_array( $cfg[ Base::O_OBJECT_GLOBAL_GROUPS ] ) ) {
				$cfg[ Base::O_OBJECT_GLOBAL_GROUPS ] = explode( "\n", $cfg[ Base::O_OBJECT_GLOBAL_GROUPS ] );
			}
			if ( ! is_array( $cfg[ Base::O_OBJECT_NON_PERSISTENT_GROUPS ] ) ) {
				$cfg[ Base::O_OBJECT_NON_PERSISTENT_GROUPS ] = explode( "\n", $cfg[ Base::O_OBJECT_NON_PERSISTENT_GROUPS ] );
			}
			$this->_cfg_debug             = $cfg[ Base::O_DEBUG ] ? $cfg[ Base::O_DEBUG ] : false;
			$this->_cfg_method            = $cfg[ Base::O_OBJECT_KIND ] ? true : false;
			$this->_cfg_host              = $cfg[ Base::O_OBJECT_HOST ];
			$this->_cfg_port              = $cfg[ Base::O_OBJECT_PORT ];
			$this->_cfg_life              = $cfg[ Base::O_OBJECT_LIFE ];
			$this->_cfg_persistent        = $cfg[ Base::O_OBJECT_PERSISTENT ];
			$this->_cfg_admin             = $cfg[ Base::O_OBJECT_ADMIN ];
			$this->_cfg_transients        = $cfg[ Base::O_OBJECT_TRANSIENTS ];
			$this->_cfg_db                = $cfg[ Base::O_OBJECT_DB_ID ];
			$this->_cfg_user              = $cfg[ Base::O_OBJECT_USER ];
			$this->_cfg_pswd              = $cfg[ Base::O_OBJECT_PSWD ];
			$this->_global_groups         = $cfg[ Base::O_OBJECT_GLOBAL_GROUPS ];
			$this->_non_persistent_groups = $cfg[ Base::O_OBJECT_NON_PERSISTENT_GROUPS ];

			if ( $this->_cfg_method ) {
				$this->_oc_driver = 'Redis';
			}
			$this->_cfg_enabled = $cfg[ Base::O_OBJECT ] && class_exists( $this->_oc_driver ) && $this->_cfg_host;
		} elseif ( defined( 'LITESPEED_CONF_LOADED' ) ) { // If OC is OFF, will hit here to init OC after conf initialized
			$this->_cfg_debug             = $this->conf( Base::O_DEBUG ) ? $this->conf( Base::O_DEBUG ) : false;
			$this->_cfg_method            = $this->conf( Base::O_OBJECT_KIND ) ? true : false;
			$this->_cfg_host              = $this->conf( Base::O_OBJECT_HOST );
			$this->_cfg_port              = $this->conf( Base::O_OBJECT_PORT );
			$this->_cfg_life              = $this->conf( Base::O_OBJECT_LIFE );
			$this->_cfg_persistent        = $this->conf( Base::O_OBJECT_PERSISTENT );
			$this->_cfg_admin             = $this->conf( Base::O_OBJECT_ADMIN );
			$this->_cfg_transients        = $this->conf( Base::O_OBJECT_TRANSIENTS );
			$this->_cfg_db                = $this->conf( Base::O_OBJECT_DB_ID );
			$this->_cfg_user              = $this->conf( Base::O_OBJECT_USER );
			$this->_cfg_pswd              = $this->conf( Base::O_OBJECT_PSWD );
			$this->_global_groups         = $this->conf( Base::O_OBJECT_GLOBAL_GROUPS );
			$this->_non_persistent_groups = $this->conf( Base::O_OBJECT_NON_PERSISTENT_GROUPS );

			if ( $this->_cfg_method ) {
				$this->_oc_driver = 'Redis';
			}
			$this->_cfg_enabled = $this->conf( Base::O_OBJECT ) && class_exists( $this->_oc_driver ) && $this->_cfg_host;
		} elseif ( defined( 'self::CONF_FILE' ) && file_exists( WP_CONTENT_DIR . '/' . self::CONF_FILE ) ) {
			// Get cfg from _data_file.
			// Use self::const to avoid loading more classes.
			$cfg = \json_decode( file_get_contents( WP_CONTENT_DIR . '/' . self::CONF_FILE ), true );
			if ( ! empty( $cfg[ self::O_OBJECT_HOST ] ) ) {
				$this->_cfg_debug             = ! empty( $cfg[ Base::O_DEBUG ] ) ? $cfg[ Base::O_DEBUG ] : false;
				$this->_cfg_method            = ! empty( $cfg[ self::O_OBJECT_KIND ] ) ? $cfg[ self::O_OBJECT_KIND ] : false;
				$this->_cfg_host              = $cfg[ self::O_OBJECT_HOST ];
				$this->_cfg_port              = $cfg[ self::O_OBJECT_PORT ];
				$this->_cfg_life              = ! empty( $cfg[ self::O_OBJECT_LIFE ] ) ? $cfg[ self::O_OBJECT_LIFE ] : $this->_default_life;
				$this->_cfg_persistent        = ! empty( $cfg[ self::O_OBJECT_PERSISTENT ] ) ? $cfg[ self::O_OBJECT_PERSISTENT ] : false;
				$this->_cfg_admin             = ! empty( $cfg[ self::O_OBJECT_ADMIN ] ) ? $cfg[ self::O_OBJECT_ADMIN ] : false;
				$this->_cfg_transients        = ! empty( $cfg[ self::O_OBJECT_TRANSIENTS ] ) ? $cfg[ self::O_OBJECT_TRANSIENTS ] : false;
				$this->_cfg_db                = ! empty( $cfg[ self::O_OBJECT_DB_ID ] ) ? $cfg[ self::O_OBJECT_DB_ID ] : 0;
				$this->_cfg_user              = ! empty( $cfg[ self::O_OBJECT_USER ] ) ? $cfg[ self::O_OBJECT_USER ] : '';
				$this->_cfg_pswd              = ! empty( $cfg[ self::O_OBJECT_PSWD ] ) ? $cfg[ self::O_OBJECT_PSWD ] : '';
				$this->_global_groups         = ! empty( $cfg[ self::O_OBJECT_GLOBAL_GROUPS ] ) ? $cfg[ self::O_OBJECT_GLOBAL_GROUPS ] : [];
				$this->_non_persistent_groups = ! empty( $cfg[ self::O_OBJECT_NON_PERSISTENT_GROUPS ] ) ? $cfg[ self::O_OBJECT_NON_PERSISTENT_GROUPS ] : [];

				if ( $this->_cfg_method ) {
					$this->_oc_driver = 'Redis';
				}
				$this->_cfg_enabled = class_exists( $this->_oc_driver ) && $this->_cfg_host;
			} else {
				$this->_cfg_enabled = false;
			}
		} else {
			$this->_cfg_enabled = false;
		}
	}

	/**
	 * Add debug.
	 *
	 * @since  6.3
	 * @access private
	 *
	 * @param string $text Log text.
	 * @return void
	 */
	private function debug_oc( $text ) {
		if ( defined( 'LSCWP_LOG' ) ) {
			self::debug( $text );
			return;
		}

		if ( Base::VAL_ON2 !== $this->_cfg_debug ) {
			return;
		}

		$litespeed_data_folder = defined( 'LITESPEED_DATA_FOLDER' ) ? LITESPEED_DATA_FOLDER : 'litespeed';
		$lscwp_content_dir     = defined( 'LSCWP_CONTENT_DIR' ) ? LSCWP_CONTENT_DIR : WP_CONTENT_DIR;
		$litespeed_static_dir  = $lscwp_content_dir . '/' . $litespeed_data_folder;
		$log_path_prefix       = $litespeed_static_dir . '/debug/';
		$log_file              = $log_path_prefix . Debug2::FilePath( 'debug' );

		if ( file_exists( $log_path_prefix . 'index.php' ) && file_exists( $log_file ) ) {
			// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log
			error_log(gmdate('m/d/y H:i:s') . ' - OC - ' . $text . PHP_EOL, 3, $log_file);
		}
	}

	/**
	 * Get `Store Transients` setting value.
	 *
	 * @since  1.8.3
	 * @access public
	 *
	 * @param string $group Group name.
	 * @return bool
	 */
	public function store_transients( $group ) {
		return $this->_cfg_transients && $this->_is_transients_group( $group );
	}

	/**
	 * Check if the group belongs to transients or not.
	 *
	 * @since  1.8.3
	 * @access private
	 *
	 * @param string $group Group name.
	 * @return bool
	 */
	private function _is_transients_group( $group ) {
		return in_array( $group, [ 'transient', 'site-transient' ], true );
	}

	/**
	 * Update WP object cache file config.
	 *
	 * @since  1.8
	 * @access public
	 *
	 * @param array $options Options to apply after update.
	 * @return void
	 */
	public function update_file( $options ) {
		$changed = false;

		// NOTE: When included in oc.php, `LSCWP_DIR` will show undefined, so this must be assigned/generated when used.
		$_oc_ori_file = LSCWP_DIR . 'lib/object-cache.php';
		$_oc_wp_file  = WP_CONTENT_DIR . '/object-cache.php';

		// Update cls file.
		if ( ! file_exists( $_oc_wp_file ) || md5_file( $_oc_wp_file ) !== md5_file( $_oc_ori_file ) ) {
			$this->debug_oc( 'copying object-cache.php file to ' . $_oc_wp_file );
			copy( $_oc_ori_file, $_oc_wp_file );
			$changed = true;
		}

		/**
		 * Clear object cache.
		 */
		if ( $changed ) {
			$this->_reconnect( $options );
		}
	}

	/**
	 * Remove object cache file.
	 *
	 * @since  1.8.2
	 * @access public
	 *
	 * @return void
	 */
	public function del_file() {
		// NOTE: When included in oc.php, `LSCWP_DIR` will show undefined, so this must be assigned/generated when used.
		$_oc_ori_file = LSCWP_DIR . 'lib/object-cache.php';
		$_oc_wp_file  = WP_CONTENT_DIR . '/object-cache.php';

		if ( file_exists( $_oc_wp_file ) && md5_file( $_oc_wp_file ) === md5_file( $_oc_ori_file ) ) {
			$this->debug_oc( 'removing ' . $_oc_wp_file );
			wp_delete_file( $_oc_wp_file );
		}
	}

	/**
	 * Try to build connection.
	 *
	 * @since  1.8
	 * @access public
	 *
	 * @return bool|null False on failure, true on success, null if unsupported.
	 */
	public function test_connection() {
		return $this->_connect();
	}

	/**
	 * Force to connect with this setting.
	 *
	 * @since  1.8
	 * @access private
	 *
	 * @param array $cfg Reconnect configuration.
	 * @return void
	 */
	private function _reconnect( $cfg ) {
		$this->debug_oc( 'Reconnecting' );
		if ( isset( $this->_conn ) ) {
			// error_log( 'Object: Quitting existing connection!' );
			$this->debug_oc( 'Quitting existing connection' );
			$this->flush();
			$this->_conn = null;
			$this->cls( false, true );
		}

		$cls = $this->cls( false, false, $cfg );
		$cls->_connect();
		if ( isset( $cls->_conn ) ) {
			$cls->flush();
		}
	}

	/**
	 * Connect to Memcached/Redis server.
	 *
	 * @since  1.8
	 * @access private
	 *
	 * @return bool|null False on failure, true on success, null if driver missing.
	 */
	private function _connect() {
		if ( isset( $this->_conn ) ) {
			// error_log( 'Object: _connected' );
			return true;
		}

		if ( ! class_exists( $this->_oc_driver ) || ! $this->_cfg_host ) {
			$this->debug_oc( '_oc_driver cls non existed or _cfg_host missed: ' . $this->_oc_driver . ' [_cfg_host] ' . $this->_cfg_host . ':' . $this->_cfg_port );
			return null;
		}

		if ( defined( 'LITESPEED_OC_FAILURE' ) ) {
			$this->debug_oc( 'LITESPEED_OC_FAILURE const defined' );
			return false;
		}

		$this->debug_oc( 'Init ' . $this->_oc_driver . ' connection to ' . $this->_cfg_host . ':' . $this->_cfg_port );

		$failed = false;

		/**
		 * Connect to Redis.
		 *
		 * @since  1.8.1
		 * @see https://github.com/phpredis/phpredis/#example-1
		 */
		if ( 'Redis' === $this->_oc_driver ) {
			// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_set_error_handler
			set_error_handler( 'litespeed_exception_handler' );
			try {
				$this->_conn = new \Redis();
				// error_log( 'Object: _connect Redis' );

				if ( $this->_cfg_persistent ) {
					if ( $this->_cfg_port ) {
						$this->_conn->pconnect( $this->_cfg_host, $this->_cfg_port );
					} else {
						$this->_conn->pconnect( $this->_cfg_host );
					}
				} elseif ( $this->_cfg_port ) {
					$this->_conn->connect( $this->_cfg_host, $this->_cfg_port );
				} else {
					$this->_conn->connect( $this->_cfg_host );
				}

				if ( $this->_cfg_pswd ) {
					if ( $this->_cfg_user ) {
						$this->_conn->auth( [ $this->_cfg_user, $this->_cfg_pswd ] );
					} else {
						$this->_conn->auth( $this->_cfg_pswd );
					}
				}

				if (defined('Redis::OPT_REPLY_LITERAL')) {
					$this->debug_oc( 'Redis set OPT_REPLY_LITERAL' );
					$this->_conn->setOption(\Redis::OPT_REPLY_LITERAL, true);
				}

				if ( $this->_cfg_db ) {
					$this->_conn->select( $this->_cfg_db );
				}

				$res = $this->_conn->rawCommand('PING');

				if ( 'PONG' !== $res ) {
					$this->debug_oc( 'Redis resp is wrong: ' . $res );
					$failed = true;
				}
			} catch ( \Exception $e ) {
				$this->debug_oc( 'Redis connect exception: ' . $e->getMessage() );
				$failed = true;
			} catch ( \ErrorException $e ) {
				$this->debug_oc( 'Redis connect error: ' . $e->getMessage() );
				$failed = true;
			}
			restore_error_handler();
		} else {
			// Connect to Memcached.
			if ( $this->_cfg_persistent ) {
				$this->_conn = new \Memcached( $this->_get_mem_id() );

				// Check memcached persistent connection.
				if ( $this->_validate_mem_server() ) {
					// error_log( 'Object: _validate_mem_server' );
					$this->debug_oc( 'Got persistent ' . $this->_oc_driver . ' connection' );
					return true;
				}

				$this->debug_oc( 'No persistent ' . $this->_oc_driver . ' server list!' );
			} else {
				// error_log( 'Object: new memcached!' );
				$this->_conn = new \Memcached();
			}

			$this->_conn->addServer( $this->_cfg_host, (int) $this->_cfg_port );

			/**
			 * Add SASL auth.
			 *
			 * @since  1.8.1
			 * @since  2.9.6 Fixed SASL connection @see https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:lsmcd:new_sasl
			 */
			if ( $this->_cfg_user && $this->_cfg_pswd && method_exists( $this->_conn, 'setSaslAuthData' ) ) {
				$this->_conn->setOption( \Memcached::OPT_BINARY_PROTOCOL, true );
				$this->_conn->setOption( \Memcached::OPT_COMPRESSION, false );
				$this->_conn->setSaslAuthData( $this->_cfg_user, $this->_cfg_pswd );
			}

			// Check connection.
			if ( ! $this->_validate_mem_server() ) {
				$failed = true;
			}
		}

		// If failed to connect.
		if ( $failed ) {
			$this->debug_oc( '❌ Failed to connect ' . $this->_oc_driver . ' server!' );
			$this->_conn        = null;
			$this->_cfg_enabled = false;
			! defined( 'LITESPEED_OC_FAILURE' ) && define( 'LITESPEED_OC_FAILURE', true );
			// error_log( 'Object: false!' );
			return false;
		}

		$this->debug_oc( '✅ Connected to ' . $this->_oc_driver . ' server.' );

		return true;
	}

	/**
	 * Check if the connected memcached host is the one in cfg.
	 *
	 * @since  1.8
	 * @access private
	 *
	 * @return bool
	 */
	private function _validate_mem_server() {
		$mem_list = $this->_conn->getStats();
		if ( empty( $mem_list ) ) {
			return false;
		}

		foreach ( $mem_list as $k => $v ) {
			if ( substr( $k, 0, strlen( $this->_cfg_host ) ) !== $this->_cfg_host ) {
				continue;
			}
			if ( ! empty( $v['pid'] ) || ! empty( $v['curr_connections'] ) ) {
				return true;
			}
		}

		return false;
	}

	/**
	 * Get memcached unique id to be used for connecting.
	 *
	 * @since  1.8
	 * @access private
	 *
	 * @return string
	 */
	private function _get_mem_id() {
		$mem_id = 'litespeed';
		if ( is_multisite() ) {
			$mem_id .= '_' . get_current_blog_id();
		}

		return $mem_id;
	}

	/**
	 * Get cache.
	 *
	 * @since  1.8
	 * @access public
	 *
	 * @param string $key Cache key.
	 * @return mixed|null
	 */
	public function get( $key ) {
		if ( ! $this->_cfg_enabled ) {
			return null;
		}

		if ( ! $this->_can_cache() ) {
			return null;
		}

		if ( ! $this->_connect() ) {
			return null;
		}

		$res = $this->_conn->get( $key );

		return $res;
	}

	/**
	 * Set cache.
	 *
	 * @since  1.8
	 * @access public
	 *
	 * @param string $key    Cache key.
	 * @param mixed  $data   Data to store.
	 * @param int    $expire TTL seconds.
	 * @return bool|null
	 */
	public function set( $key, $data, $expire ) {
		if ( ! $this->_cfg_enabled ) {
			return null;
		}

		/**
		 * To fix the Cloud callback cached as its frontend call but the hash is generated in backend
		 * Bug found by Stan at Jan/10/2020
		 */
		// if ( ! $this->_can_cache() ) {
		// return null;
		// }

		if ( ! $this->_connect() ) {
			return null;
		}

		$ttl = $expire ? $expire : $this->_cfg_life;

		if ( 'Redis' === $this->_oc_driver ) {
			try {
				$res = $this->_conn->setEx( $key, $ttl, $data );
			} catch ( \RedisException $ex ) {
				$res = false;
				$msg = sprintf( __( 'Redis encountered a fatal error: %1$s (code: %2$d)', 'litespeed-cache' ), $ex->getMessage(), $ex->getCode() );
				$this->debug_oc( $msg );
				Admin_Display::error( $msg );
			}
		} else {
			$res = $this->_conn->set( $key, $data, $ttl );
		}

		return $res;
	}

	/**
	 * Check if can cache or not.
	 *
	 * @since  1.8
	 * @access private
	 *
	 * @return bool
	 */
	private function _can_cache() {
		if ( ! $this->_cfg_admin && defined( 'WP_ADMIN' ) ) {
			return false;
		}
		return true;
	}

	/**
	 * Delete cache.
	 *
	 * @since  1.8
	 * @access public
	 *
	 * @param string $key Cache key.
	 * @return bool|null
	 */
	public function delete( $key ) {
		if ( ! $this->_cfg_enabled ) {
			return null;
		}

		if ( ! $this->_connect() ) {
			return null;
		}

		if ( 'Redis' === $this->_oc_driver ) {
			$res = $this->_conn->del( $key );
		} else {
			$res = $this->_conn->delete( $key );
		}

		return (bool) $res;
	}

	/**
	 * Clear all cache.
	 *
	 * @since  1.8
	 * @access public
	 *
	 * @return bool|null
	 */
	public function flush() {
		if ( ! $this->_cfg_enabled ) {
			$this->debug_oc( 'bypass flushing' );
			return null;
		}

		if ( ! $this->_connect() ) {
			return null;
		}

		$this->debug_oc( 'flush!' );

		if ( 'Redis' === $this->_oc_driver ) {
			$res = $this->_conn->flushDb();
		} else {
			$res = $this->_conn->flush();
			$this->_conn->resetServerList();
		}

		return $res;
	}

	/**
	 * Add global groups.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param string|string[] $groups Group(s) to add.
	 * @return void
	 */
	public function add_global_groups( $groups ) {
		if ( ! is_array( $groups ) ) {
			$groups = [ $groups ];
		}

		$this->_global_groups = array_merge( $this->_global_groups, $groups );
		$this->_global_groups = array_unique( $this->_global_groups );
	}

	/**
	 * Check if is in global groups or not.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param string $group Group name.
	 * @return bool
	 */
	public function is_global( $group ) {
		return in_array( $group, $this->_global_groups, true );
	}

	/**
	 * Add non persistent groups.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param string|string[] $groups Group(s) to add.
	 * @return void
	 */
	public function add_non_persistent_groups( $groups ) {
		if ( ! is_array( $groups ) ) {
			$groups = [ $groups ];
		}

		$this->_non_persistent_groups = array_merge( $this->_non_persistent_groups, $groups );
		$this->_non_persistent_groups = array_unique( $this->_non_persistent_groups );
	}

	/**
	 * Check if is in non persistent groups or not.
	 *
	 * @since 1.8
	 * @access public
	 *
	 * @param string $group Group name.
	 * @return bool
	 */
	public function is_non_persistent( $group ) {
		return in_array( $group, $this->_non_persistent_groups, true );
	}
}
PK�^�\�f)
��$litespeed-cache/src/img-optm.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The class to optimize image.
 *
 * @since       2.0
 * @package     LiteSpeed
 */

namespace LiteSpeed;

use WpOrg\Requests\Autoload;
use WpOrg\Requests\Requests;

defined('WPINC') || exit();

class Img_Optm extends Base {

	const LOG_TAG = '🗜️';

	const CLOUD_ACTION_NEW_REQ         = 'new_req';
	const CLOUD_ACTION_TAKEN           = 'taken';
	const CLOUD_ACTION_REQUEST_DESTROY = 'imgoptm_destroy';
	const CLOUD_ACTION_CLEAN           = 'clean';

	const TYPE_NEW_REQ           = 'new_req';
	const TYPE_RESCAN            = 'rescan';
	const TYPE_DESTROY           = 'destroy';
	const TYPE_RESET_COUNTER     = 'reset_counter';
	const TYPE_CLEAN             = 'clean';
	const TYPE_PULL              = 'pull';
	const TYPE_BATCH_SWITCH_ORI  = 'batch_switch_ori';
	const TYPE_BATCH_SWITCH_OPTM = 'batch_switch_optm';
	const TYPE_CALC_BKUP         = 'calc_bkup';
	const TYPE_RESET_ROW         = 'reset_row';
	const TYPE_RM_BKUP           = 'rm_bkup';

	const STATUS_NEW        = 0; // 'new';
	const STATUS_RAW        = 1; // 'raw';
	const STATUS_REQUESTED  = 3; // 'requested';
	const STATUS_NOTIFIED   = 6; // 'notified';
	const STATUS_DUPLICATED = 8; // 'duplicated';
	const STATUS_PULLED     = 9; // 'pulled';
	const STATUS_FAILED     = -1; // 'failed';
	const STATUS_MISS       = -3; // 'miss';
	const STATUS_ERR_FETCH  = -5; // 'err_fetch';
	const STATUS_ERR_404    = -6; // 'err_404';
	const STATUS_ERR_OPTM   = -7; // 'err_optm';
	const STATUS_XMETA      = -8; // 'xmeta';
	const STATUS_ERR        = -9; // 'err';
	const DB_SIZE           = 'litespeed-optimize-size';
	const DB_SET            = 'litespeed-optimize-set';

	const DB_NEED_PULL = 'need_pull';

	private $wp_upload_dir;
	private $tmp_pid;
	private $tmp_type;
	private $tmp_path;
	private $_img_in_queue     = [];
	private $_existed_src_list = [];
	private $_pids_set         = [];
	private $_thumbnail_set    = '';
	private $_table_img_optm;
	private $_table_img_optming;
	private $_cron_ran = false;
	private $_sizes_skipped     = [];

	private $__media;
	private $__data;
	protected $_summary;
	private $_format = '';

	/**
	 * Init
	 *
	 * @since  2.0
	 */
	public function __construct() {
		Debug2::debug2('[ImgOptm] init');

		$this->wp_upload_dir      = wp_upload_dir();
		$this->__media            = $this->cls('Media');
		$this->__data             = $this->cls('Data');
		$this->_table_img_optm    = $this->__data->tb('img_optm');
		$this->_table_img_optming = $this->__data->tb('img_optming');

		$this->_summary = self::get_summary();
		if (empty($this->_summary['next_post_id'])) {
			$this->_summary['next_post_id'] = 0;
		}
		if ($this->conf(Base::O_IMG_OPTM_WEBP)) {
			$this->_format = 'webp';
			if ($this->conf(Base::O_IMG_OPTM_WEBP) == 2) {
				$this->_format = 'avif';
			}
		}

		// Allow users to ignore custom sizes.
		$this->_sizes_skipped = apply_filters( 'litespeed_imgoptm_sizes_skipped', $this->conf( Base::O_IMG_OPTM_SIZES_SKIPPED ) );
	}

	/**
	 * Gather images auto when update attachment meta
	 * This is to optimize new uploaded images first. Stored in img_optm table.
	 * Later normal process will auto remove these records when trying to optimize these images again
	 *
	 * @since  4.0
	 */
	public function wp_update_attachment_metadata( $meta_value, $post_id ) {
		global $wpdb;

		self::debug2('🖌️ Auto update attachment meta [id] ' . $post_id);
		if (empty($meta_value['file'])) {
			return;
		}

		// Load gathered images
		if (!$this->_existed_src_list) {
			// To aavoid extra query when recalling this function
			self::debug('SELECT src from img_optm table');
			if ($this->__data->tb_exist('img_optm')) {
				$q    = "SELECT src FROM `$this->_table_img_optm` WHERE post_id = %d";
				$list = $wpdb->get_results($wpdb->prepare($q, $post_id));
				foreach ($list as $v) {
					$this->_existed_src_list[] = $post_id . '.' . $v->src;
				}
			}
			if ($this->__data->tb_exist('img_optming')) {
				$q    = "SELECT src FROM `$this->_table_img_optming` WHERE post_id = %d";
				$list = $wpdb->get_results($wpdb->prepare($q, $post_id));
				foreach ($list as $v) {
					$this->_existed_src_list[] = $post_id . '.' . $v->src;
				}
			} else {
				$this->__data->tb_create('img_optming');
			}
		}

		// Prepare images
		$this->tmp_pid  = $post_id;
		$this->tmp_path = pathinfo($meta_value['file'], PATHINFO_DIRNAME) . '/';
		$this->_append_img_queue($meta_value, true);
		if (!empty($meta_value['sizes'])) {
			foreach( $meta_value['sizes'] as $img_size_name => $img_size ){
				$this->_append_img_queue($img_size, false, $img_size_name );
			}
		}

		if (!$this->_img_in_queue) {
			self::debug('auto update attachment meta 2 bypass: empty _img_in_queue');
			return;
		}

		// Save to DB
		$this->_save_raw();

		// $this->_send_request();
	}

	/**
	 * Auto send optm request
	 *
	 * @since  2.4.1
	 * @access public
	 */
	public static function cron_auto_request() {
		if (!wp_doing_cron()) {
			return false;
		}

		$instance = self::cls();
		$instance->new_req();
	}

	/**
	 * Calculate wet run allowance
	 *
	 * @since 3.0
	 */
	public function wet_limit() {
		$wet_limit = 1;
		if (!empty($this->_summary['img_taken'])) {
			$wet_limit = pow($this->_summary['img_taken'], 2);
		}

		if ($wet_limit == 1 && !empty($this->_summary['img_status.' . self::STATUS_ERR_OPTM])) {
			$wet_limit = pow($this->_summary['img_status.' . self::STATUS_ERR_OPTM], 2);
		}

		if ($wet_limit < Cloud::IMG_OPTM_DEFAULT_GROUP) {
			return $wet_limit;
		}

		// No limit
		return false;
	}

	/**
	 * Push raw img to image optm server
	 *
	 * @since 1.6
	 * @access public
	 */
	public function new_req() {
		global $wpdb;

		// check if is running
		if (!empty($this->_summary['is_running']) && time() - $this->_summary['is_running'] < apply_filters('litespeed_imgoptm_new_req_interval', 3600)) {
			self::debug('The previous req was in 3600s.');
			return;
		}
		$this->_summary['is_running'] = time();
		self::save_summary();

		// Check if has credit to push
		$err       = false;
		$allowance = Cloud::cls()->allowance(Cloud::SVC_IMG_OPTM, $err);

		$wet_limit = $this->wet_limit();

		self::debug("allowance_max $allowance wet_limit $wet_limit");
		if ($wet_limit && $wet_limit < $allowance) {
			$allowance = $wet_limit;
		}

		if (!$allowance) {
			self::debug('❌ No credit');
			Admin_Display::error(Error::msg($err));
			$this->_finished_running();
			return;
		}

		self::debug('preparing images to push');

		$this->__data->tb_create('img_optming');

		$q               = "SELECT COUNT(1) FROM `$this->_table_img_optming` WHERE optm_status = %d";
		$q               = $wpdb->prepare($q, array( self::STATUS_REQUESTED ));
		$total_requested = $wpdb->get_var($q);
		$max_requested   = $allowance * 1;

		if ($total_requested > $max_requested) {
			self::debug('❌ Too many queued images (' . $total_requested . ' > ' . $max_requested . ')');
			Admin_Display::error(Error::msg('too_many_requested'));
			$this->_finished_running();
			return;
		}

		$allowance -= $total_requested;

		if ($allowance < 1) {
			self::debug('❌ Too many requested images ' . $total_requested);
			Admin_Display::error(Error::msg('too_many_requested'));
			$this->_finished_running();
			return;
		}

		// Limit maximum number of items waiting to be pulled
		$q              = "SELECT COUNT(1) FROM `$this->_table_img_optming` WHERE optm_status = %d";
		$q              = $wpdb->prepare($q, array( self::STATUS_NOTIFIED ));
		$total_notified = $wpdb->get_var($q);
		if ($total_notified > 0) {
			self::debug('❌ Too many notified images (' . $total_notified . ')');
			Admin_Display::error(Error::msg('too_many_notified'));
			$this->_finished_running();
			return;
		}

		$q         = "SELECT COUNT(1) FROM `$this->_table_img_optming` WHERE optm_status IN (%d, %d)";
		$q         = $wpdb->prepare($q, array( self::STATUS_NEW, self::STATUS_RAW ));
		$total_new = $wpdb->get_var($q);
		// $allowance -= $total_new;

		// May need to get more images
		$list = [];
		$more = $allowance - $total_new;
		if ($more > 0) {
			$q    = "SELECT b.post_id, b.meta_value
				FROM `$wpdb->posts` a
				LEFT JOIN `$wpdb->postmeta` b ON b.post_id = a.ID
				WHERE b.meta_key = '_wp_attachment_metadata'
					AND a.post_type = 'attachment'
					AND a.post_status = 'inherit'
					AND a.ID>%d
					AND a.post_mime_type IN ('image/jpeg', 'image/png', 'image/gif')
				ORDER BY a.ID
				LIMIT %d
				";
			$q    = $wpdb->prepare($q, array( $this->_summary['next_post_id'], $more ));
			$list = $wpdb->get_results($q);
			foreach ($list as $v) {
				if (!$v->post_id) {
					continue;
				}

				$this->_summary['next_post_id'] = $v->post_id;

				$meta_value = $this->_parse_wp_meta_value($v);
				if (!$meta_value) {
					continue;
				}
				$meta_value['file'] = wp_normalize_path($meta_value['file']);
				$basedir            = $this->wp_upload_dir['basedir'] . '/';
				if (strpos($meta_value['file'], $basedir) === 0) {
					$meta_value['file'] = substr($meta_value['file'], strlen($basedir));
				}

				$this->tmp_pid  = $v->post_id;
				$this->tmp_path = pathinfo($meta_value['file'], PATHINFO_DIRNAME) . '/';
				$this->_append_img_queue($meta_value, true);
				if (!empty($meta_value['sizes'])) {
					foreach( $meta_value['sizes'] as $img_size_name => $img_size ){
						$this->_append_img_queue($img_size, false, $img_size_name );
					}
				}
			}

			self::save_summary();

			$num_a = count($this->_img_in_queue);
			self::debug('Images found: ' . $num_a);
			$this->_filter_duplicated_src();
			self::debug('Images after duplicated: ' . count($this->_img_in_queue));
			$this->_filter_invalid_src();
			self::debug('Images after invalid: ' . count($this->_img_in_queue));
			// Check w/ legacy imgoptm table, bypass finished images
			$this->_filter_legacy_src();

			$num_b = count($this->_img_in_queue);
			if ($num_b != $num_a) {
				self::debug('Images after filtered duplicated/invalid/legacy src: ' . $num_b);
			}

			// Save to DB
			$this->_save_raw();
		}

		// Push to Cloud server
		$accepted_imgs = $this->_send_request($allowance);

		$this->_finished_running();
		if (!$accepted_imgs) {
			return;
		}

		$placeholder1 = Admin_Display::print_plural($accepted_imgs[0], 'image');
		$placeholder2 = Admin_Display::print_plural($accepted_imgs[1], 'image');
		$msg          = sprintf(__('Pushed %1$s to Cloud server, accepted %2$s.', 'litespeed-cache'), $placeholder1, $placeholder2);
		Admin_Display::success($msg);
	}

	/**
	 * Set running to done
	 */
	private function _finished_running() {
		$this->_summary['is_running'] = 0;
		self::save_summary();
	}

	/**
	 * Add a new img to queue which will be pushed to request
	 *
	 * @since 1.6
	 * @since 7.5 Allow to choose which image sizes should be optimized + added parameter $img_size_name.
	 * @access private
	 */
	private function _append_img_queue( $meta_value, $is_ori_file = false, $img_size_name = false ) {
		if (empty($meta_value['file']) || empty($meta_value['width']) || empty($meta_value['height'])) {
			self::debug2('bypass image due to lack of file/w/h: pid ' . $this->tmp_pid, $meta_value);
			return;
		}

		$short_file_path = $meta_value['file'];

		// Test if need to skip image size.
		if (!$is_ori_file) {
			$short_file_path = $this->tmp_path . $short_file_path;
			$skip = false !== array_search( $img_size_name, $this->_sizes_skipped, true );
			if($skip){
				self::debug2( 'bypass image ' . $short_file_path . ' due to skipped size: ' . $img_size_name );
				return;
			}
		}

		// Check if src is gathered already or not
		if (in_array($this->tmp_pid . '.' . $short_file_path, $this->_existed_src_list)) {
			// Debug2::debug2( '[Img_Optm] bypass image due to gathered: pid ' . $this->tmp_pid . ' ' . $short_file_path );
			return;
		} else {
			// Append handled images
			$this->_existed_src_list[] = $this->tmp_pid . '.' . $short_file_path;
		}

		// check file exists or not
		$_img_info = $this->__media->info($short_file_path, $this->tmp_pid);

		$extension = pathinfo($short_file_path, PATHINFO_EXTENSION);
		if (!$_img_info || !in_array($extension, array( 'jpg', 'jpeg', 'png', 'gif' ))) {
			self::debug2('bypass image due to file not exist: pid ' . $this->tmp_pid . ' ' . $short_file_path);
			return;
		}

		// Check if optimized file exists or not
		$target_needed = false;
		if ($this->_format) {
			$target_file_path = $short_file_path . '.' . $this->_format;
			if (!$this->__media->info($target_file_path, $this->tmp_pid)) {
				$target_needed = true;
			}
		}
		if ($this->conf(self::O_IMG_OPTM_ORI)) {
			$target_file_path = substr($short_file_path, 0, -strlen($extension)) . 'bk.' . $extension;
			if (!$this->__media->info($target_file_path, $this->tmp_pid)) {
				$target_needed = true;
			}
		}
		if (!$target_needed) {
			self::debug2('bypass image due to optimized file exists: pid ' . $this->tmp_pid . ' ' . $short_file_path);
			return;
		}

		// Debug2::debug2( '[Img_Optm] adding image: pid ' . $this->tmp_pid );

		$this->_img_in_queue[] = array(
			'pid' => $this->tmp_pid,
			'md5' => $_img_info['md5'],
			'url' => $_img_info['url'],
			'src' => $short_file_path, // not needed in LiteSpeed IAPI, just leave for local storage after post
			'mime_type' => !empty($meta_value['mime-type']) ? $meta_value['mime-type'] : '',
		);
	}

	/**
	 * Save gathered image raw data
	 *
	 * @since  3.0
	 */
	private function _save_raw() {
		if (empty($this->_img_in_queue)) {
			return;
		}
		$data     = [];
		$pid_list = [];
		foreach ($this->_img_in_queue as $k => $v) {
			$_img_info = $this->__media->info($v['src'], $v['pid']);

			// attachment doesn't exist, delete the record
			if (empty($_img_info['url']) || empty($_img_info['md5'])) {
				unset($this->_img_in_queue[$k]);
				continue;
			}
			$pid_list[] = (int) $v['pid'];

			$data[] = $v['pid'];
			$data[] = self::STATUS_RAW;
			$data[] = $v['src'];
		}

		global $wpdb;
		$fields = 'post_id, optm_status, src';
		$q      = "INSERT INTO `$this->_table_img_optming` ( $fields ) VALUES ";

		// Add placeholder
		$q .= Utility::chunk_placeholder($data, $fields);

		// Store data
		$wpdb->query($wpdb->prepare($q, $data));

		$count = count($this->_img_in_queue);
		self::debug('Added raw images [total] ' . $count);

		$this->_img_in_queue = [];

		// Save thumbnail groups for future rescan index
		$this->_gen_thumbnail_set();

		$pid_list = array_unique($pid_list);
		self::debug('pid list to append to postmeta', $pid_list);
		$pid_list        = array_diff($pid_list, $this->_pids_set);
		$this->_pids_set = array_merge($this->_pids_set, $pid_list);

		$existed_meta = $wpdb->get_results("SELECT * FROM `$wpdb->postmeta` WHERE post_id IN ('" . implode("','", $pid_list) . "') AND meta_key='" . self::DB_SET . "'");
		$existed_pid  = [];
		if ($existed_meta) {
			foreach ($existed_meta as $v) {
				$existed_pid[] = $v->post_id;
			}
			self::debug('pid list to update postmeta', $existed_pid);
			$wpdb->query(
				$wpdb->prepare("UPDATE `$wpdb->postmeta` SET meta_value=%s WHERE post_id IN ('" . implode("','", $existed_pid) . "') AND meta_key=%s", array(
					$this->_thumbnail_set,
					self::DB_SET,
				))
			);
		}

		// Add new meta
		$new_pids = $existed_pid ? array_diff($pid_list, $existed_pid) : $pid_list;
		if ($new_pids) {
			self::debug('pid list to update postmeta', $new_pids);
			foreach ($new_pids as $v) {
				self::debug('New group set info [pid] ' . $v);
				$q = "INSERT INTO `$wpdb->postmeta` (post_id, meta_key, meta_value) VALUES (%d, %s, %s)";
				$wpdb->query($wpdb->prepare($q, array( $v, self::DB_SET, $this->_thumbnail_set )));
			}
		}
	}

	/**
	 * Generate thumbnail sets of current image group
	 *
	 * @since 5.4
	 */
	private function _gen_thumbnail_set() {
		if ($this->_thumbnail_set) {
			return;
		}
		$set = [];
		foreach (Media::cls()->get_image_sizes() as $size) {
			$curr_size = $size['width'] . 'x' . $size['height'];
			if (in_array($curr_size, $set)) {
				continue;
			}
			$set[] = $curr_size;
		}
		$this->_thumbnail_set = implode(PHP_EOL, $set);
	}

	/**
	 * Filter duplicated src in work table and $this->_img_in_queue, then mark them as duplicated
	 *
	 * @since 2.0
	 * @access private
	 */
	private function _filter_duplicated_src() {
		global $wpdb;

		$srcpath_list = [];

		$list = $wpdb->get_results("SELECT src FROM `$this->_table_img_optming`");
		foreach ($list as $v) {
			$srcpath_list[] = $v->src;
		}

		foreach ($this->_img_in_queue as $k => $v) {
			if (in_array($v['src'], $srcpath_list)) {
				unset($this->_img_in_queue[$k]);
				continue;
			}

			$srcpath_list[] = $v['src'];
		}
	}

	/**
	 * Filter legacy finished ones
	 *
	 * @since 5.4
	 */
	private function _filter_legacy_src() {
		global $wpdb;

		if (!$this->__data->tb_exist('img_optm')) {
			return;
		}

		if (!$this->_img_in_queue) {
			return;
		}

		$finished_ids = [];

		Utility::compatibility();
		$post_ids = array_unique(array_column($this->_img_in_queue, 'pid'));
		$list     = $wpdb->get_results("SELECT post_id FROM `$this->_table_img_optm` WHERE post_id in (" . implode(',', $post_ids) . ') GROUP BY post_id');
		foreach ($list as $v) {
			$finished_ids[] = $v->post_id;
		}

		foreach ($this->_img_in_queue as $k => $v) {
			if (in_array($v['pid'], $finished_ids)) {
				self::debug('Legacy image optimized [pid] ' . $v['pid']);
				unset($this->_img_in_queue[$k]);
				continue;
			}
		}

		// Drop all existing legacy records
		$wpdb->query("DELETE FROM `$this->_table_img_optm` WHERE post_id in (" . implode(',', $post_ids) . ')');
	}

	/**
	 * Filter the invalid src before sending
	 *
	 * @since 3.0.8.3
	 * @access private
	 */
	private function _filter_invalid_src() {
		$img_in_queue_invalid = [];
		foreach ($this->_img_in_queue as $k => $v) {
			if ($v['src']) {
				$extension = pathinfo($v['src'], PATHINFO_EXTENSION);
			}
			if (!$v['src'] || empty($extension) || !in_array($extension, array( 'jpg', 'jpeg', 'png', 'gif' ))) {
				$img_in_queue_invalid[] = $v['id'];
				unset($this->_img_in_queue[$k]);
				continue;
			}
		}

		if (!$img_in_queue_invalid) {
			return;
		}

		$count = count($img_in_queue_invalid);
		$msg   = sprintf(__('Cleared %1$s invalid images.', 'litespeed-cache'), $count);
		Admin_Display::success($msg);

		self::debug('Found invalid src [total] ' . $count);
	}

	/**
	 * Push img request to Cloud server
	 *
	 * @since 1.6.7
	 * @access private
	 */
	private function _send_request( $allowance ) {
		global $wpdb;

		$q             = "SELECT id, src, post_id FROM `$this->_table_img_optming` WHERE optm_status=%d LIMIT %d";
		$q             = $wpdb->prepare($q, array( self::STATUS_RAW, $allowance ));
		$_img_in_queue = $wpdb->get_results($q);
		if (!$_img_in_queue) {
			return;
		}

		self::debug('Load img in queue [total] ' . count($_img_in_queue));

		$list = [];
		foreach ($_img_in_queue as $v) {
			$_img_info = $this->__media->info($v->src, $v->post_id);
			// If record is invalid, remove from img_optming table
			if (empty($_img_info['url']) || empty($_img_info['md5'])) {
				$wpdb->query($wpdb->prepare("DELETE FROM `$this->_table_img_optming` WHERE id=%d", $v->id));
				continue;
			}

			$img = array(
				'id' => $v->id,
				'url' => $_img_info['url'],
				'md5' => $_img_info['md5'],
			);
			// Build the needed image types for request as we now support soft reset counter
			if ($this->_format) {
				$target_file_path = $v->src . '.' . $this->_format;
				if ($this->__media->info($target_file_path, $v->post_id)) {
					$img['optm_' . $this->_format] = 0;
				}
			}
			if ($this->conf(self::O_IMG_OPTM_ORI)) {
				$extension        = pathinfo($v->src, PATHINFO_EXTENSION);
				$target_file_path = substr($v->src, 0, -strlen($extension)) . 'bk.' . $extension;
				if ($this->__media->info($target_file_path, $v->post_id)) {
					$img['optm_ori'] = 0;
				}
			}

			$list[] = $img;
		}

		if (!$list) {
			$msg = __('No valid image found in the current request.', 'litespeed-cache');
			Admin_Display::error($msg);
			return;
		}

		$data = array(
			'action' => self::CLOUD_ACTION_NEW_REQ,
			'list' => \json_encode($list),
			'optm_ori' => $this->conf(self::O_IMG_OPTM_ORI) ? 1 : 0,
			'optm_lossless' => $this->conf(self::O_IMG_OPTM_LOSSLESS) ? 1 : 0,
			'keep_exif' => $this->conf(self::O_IMG_OPTM_EXIF) ? 1 : 0,
		);
		if ($this->_format) {
			$data['optm_' . $this->_format] = 1;
		}

		// Push to Cloud server
		$json = Cloud::post(Cloud::SVC_IMG_OPTM, $data);
		if (!$json) {
			return;
		}

		// Check data format
		if (empty($json['ids'])) {
			self::debug('Failed to parse response data from Cloud server ', $json);
			$msg = __('No valid image found by Cloud server in the current request.', 'litespeed-cache');
			Admin_Display::error($msg);
			return;
		}

		self::debug('Returned data from Cloud server count: ' . count($json['ids']));

		$ids = implode(',', array_map('intval', $json['ids']));
		// Update img table
		$q = "UPDATE `$this->_table_img_optming` SET optm_status = '" . self::STATUS_REQUESTED . "' WHERE id IN ( $ids )";
		$wpdb->query($q);

		$this->_summary['last_requested'] = time();
		self::save_summary();

		return array( count($list), count($json['ids']) );
	}

	/**
	 * Cloud server notify Client img status changed
	 *
	 * @access public
	 */
	public function notify_img() {
		// Interval validation to avoid hacking domain_key
		if (!empty($this->_summary['notify_ts_err']) && time() - $this->_summary['notify_ts_err'] < 3) {
			return Cloud::err('too_often');
		}

		$post_data = \json_decode(file_get_contents('php://input'), true);
		if (is_null($post_data)) {
			$post_data = $_POST;
		}

		global $wpdb;

		$notified_data = $post_data['data'];
		if (empty($notified_data) || !is_array($notified_data)) {
			self::debug('❌ notify exit: no notified data');
			return Cloud::err('no notified data');
		}

		if (empty($post_data['server']) || (substr($post_data['server'], -11) !== '.quic.cloud' && substr($post_data['server'], -15) !== '.quicserver.com')) {
			self::debug('notify exit: no/wrong server');
			return Cloud::err('no/wrong server');
		}

		if (empty($post_data['status'])) {
			self::debug('notify missing status');
			return Cloud::err('no status');
		}

		$status = $post_data['status'];
		self::debug('notified status=' . $status);

		$last_log_pid = 0;

		if (empty($this->_summary['reduced'])) {
			$this->_summary['reduced'] = 0;
		}

		if ($status == self::STATUS_NOTIFIED) {
			// Notified data format: [ img_optm_id => [ id=>, src_size=>, ori=>, ori_md5=>, ori_reduced=>, webp=>, webp_md5=>, webp_reduced=> ] ]
			$q                               =
				"SELECT a.*, b.meta_id as b_meta_id, b.meta_value AS b_optm_info
					FROM `$this->_table_img_optming` a
					LEFT JOIN `$wpdb->postmeta` b ON b.post_id = a.post_id AND b.meta_key = %s
					WHERE a.id IN ( " .
				implode(',', array_fill(0, count($notified_data), '%d')) .
				' )';
			$list                            = $wpdb->get_results($wpdb->prepare($q, array_merge(array( self::DB_SIZE ), array_keys($notified_data))));
			$ls_optm_size_row_exists_postids = [];
			foreach ($list as $v) {
				$json = $notified_data[$v->id];
				// self::debug('Notified data for [id] ' . $v->id, $json);

				$server = !empty($json['server']) ? $json['server'] : $post_data['server'];

				$server_info = array(
					'server' => $server,
				);

				// Save server side ID to send taken notification after pulled
				$server_info['id'] = $json['id'];
				if (!empty($json['file_id'])) {
					$server_info['file_id'] = $json['file_id'];
				}

				// Optm info array
				$postmeta_info = array(
					'ori_total' => 0,
					'ori_saved' => 0,
					'webp_total' => 0,
					'webp_saved' => 0,
					'avif_total' => 0,
					'avif_saved' => 0,
				);
				// Init postmeta_info for the first one
				if (!empty($v->b_meta_id)) {
					foreach (maybe_unserialize($v->b_optm_info) as $k2 => $v2) {
						$postmeta_info[$k2] += $v2;
					}
				}

				if (!empty($json['ori'])) {
					$server_info['ori_md5'] = $json['ori_md5'];
					$server_info['ori']     = $json['ori'];

					// Append meta info
					$postmeta_info['ori_total'] += $json['src_size'];
					$postmeta_info['ori_saved'] += $json['ori_reduced']; // optimized image size info in img_optm tb will be updated when pull

					$this->_summary['reduced'] += $json['ori_reduced'];
				}

				if (!empty($json['webp'])) {
					$server_info['webp_md5'] = $json['webp_md5'];
					$server_info['webp']     = $json['webp'];

					// Append meta info
					$postmeta_info['webp_total'] += $json['src_size'];
					$postmeta_info['webp_saved'] += $json['webp_reduced'];

					$this->_summary['reduced'] += $json['webp_reduced'];
				}

				if (!empty($json['avif'])) {
					$server_info['avif_md5'] = $json['avif_md5'];
					$server_info['avif']     = $json['avif'];

					// Append meta info
					$postmeta_info['avif_total'] += $json['src_size'];
					$postmeta_info['avif_saved'] += $json['avif_reduced'];

					$this->_summary['reduced'] += $json['avif_reduced'];
				}

				// Update status and data in working table
				$q = "UPDATE `$this->_table_img_optming` SET optm_status = %d, server_info = %s WHERE id = %d ";
				$wpdb->query($wpdb->prepare($q, array( $status, \json_encode($server_info), $v->id )));

				// Update postmeta for optm summary
				$postmeta_info = serialize($postmeta_info);
				if (empty($v->b_meta_id) && !in_array($v->post_id, $ls_optm_size_row_exists_postids)) {
					self::debug('New size info [pid] ' . $v->post_id);
					$q = "INSERT INTO `$wpdb->postmeta` ( post_id, meta_key, meta_value ) VALUES ( %d, %s, %s )";
					$wpdb->query($wpdb->prepare($q, array( $v->post_id, self::DB_SIZE, $postmeta_info )));
					$ls_optm_size_row_exists_postids[] = $v->post_id;
				} else {
					$q = "UPDATE `$wpdb->postmeta` SET meta_value = %s WHERE meta_id = %d ";
					$wpdb->query($wpdb->prepare($q, array( $postmeta_info, $v->b_meta_id )));
				}

				// write log
				$pid_log = $last_log_pid == $v->post_id ? '.' : $v->post_id;
				self::debug('notify_img [status] ' . $status . " \t\t[pid] " . $pid_log . " \t\t[id] " . $v->id);
				$last_log_pid = $v->post_id;
			}

			self::save_summary();

			// Mark need_pull tag for cron
			self::update_option(self::DB_NEED_PULL, self::STATUS_NOTIFIED);
		} else {
			// Other errors will directly remove the working records
			// Delete from working table
			$q = "DELETE FROM `$this->_table_img_optming` WHERE id IN ( " . implode(',', array_fill(0, count($notified_data), '%d')) . ' ) ';
			$wpdb->query($wpdb->prepare($q, $notified_data));
		}

		return Cloud::ok(array( 'count' => count($notified_data) ));
	}

	/**
	 * Cron start async req
	 *
	 * @since 5.5
	 */
	public static function start_async_cron() {
		Task::async_call('imgoptm');
	}

	/**
	 * Manually start async req
	 *
	 * @since 5.5
	 */
	public static function start_async() {
		Task::async_call('imgoptm_force');

		$msg = __('Started async image optimization request', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Check if need to pull or not
	 *
	 * @since 7.2
	 */
	public static function need_pull() {
		$tag = self::get_option(self::DB_NEED_PULL);
		if (!$tag || $tag != self::STATUS_NOTIFIED) {
			return false;
		}
		return true;
	}

	/**
	 * Ajax req handler
	 *
	 * @since 5.5
	 */
	public static function async_handler( $force = false ) {
		self::debug('------------async-------------start_async_handler');

		if (!self::need_pull()) {
			self::debug('❌ no need pull');
			return;
		}

		if (defined('LITESPEED_IMG_OPTM_PULL_CRON') && !constant('LITESPEED_IMG_OPTM_PULL_CRON')) {
			self::debug('Cron disabled [define] LITESPEED_IMG_OPTM_PULL_CRON');
			return;
		}

		self::cls()->pull($force);
	}

	/**
	 * Calculate pull threads
	 *
	 * @since  5.8
	 * @access private
	 */
	private function _calc_pull_threads() {
		global $wpdb;

		if (defined('LITESPEED_IMG_OPTM_PULL_THREADS')) {
			return constant('LITESPEED_IMG_OPTM_PULL_THREADS');
		}

		// Tune number of images per request based on number of images waiting and cloud packages
		$imgs_per_req = 1; // base 1, ramp up to ~50 max

		// Ramp up the request rate based on how many images are waiting
		$c              = "SELECT count(id) FROM `$this->_table_img_optming` WHERE optm_status = %d";
		$_c             = $wpdb->prepare($c, array( self::STATUS_NOTIFIED ));
		$images_waiting = $wpdb->get_var($_c);
		if ($images_waiting && $images_waiting > 0) {
			$imgs_per_req = ceil($images_waiting / 1000); // ie. download 5/request if 5000 images are waiting
		}

		// Cap the request rate at 50 images per request
		$imgs_per_req = min(50, $imgs_per_req);

		self::debug('Pulling images at rate: ' . $imgs_per_req . ' Images per request.');

		return $imgs_per_req;
	}

	/**
	 * Pull optimized img
	 *
	 * @since  1.6
	 * @access public
	 */
	public function pull( $manual = false ) {
		global $wpdb;
		$timeoutLimit = ini_get('max_execution_time');
		$endts        = time() + $timeoutLimit;

		self::debug('' . ($manual ? 'Manually' : 'Cron') . ' pull started [timeout: ' . $timeoutLimit . 's]');

		if ($this->cron_running()) {
			self::debug('Pull cron is running');

			$msg = __('Pull Cron is running', 'litespeed-cache');
			Admin_Display::note($msg);
			return;
		}

		$this->_summary['last_pulled']         = time();
		$this->_summary['last_pulled_by_cron'] = !$manual;
		self::save_summary();

		$imgs_per_req = $this->_calc_pull_threads();
		$q            = "SELECT * FROM `$this->_table_img_optming` WHERE optm_status = %d ORDER BY id LIMIT %d";
		$_q           = $wpdb->prepare($q, array( self::STATUS_NOTIFIED, $imgs_per_req ));

		$rm_ori_bkup = $this->conf(self::O_IMG_OPTM_RM_BKUP);

		$total_pulled_ori  = 0;
		$total_pulled_webp = 0;
		$total_pulled_avif = 0;

		$server_list = [];

		try {
			while ($img_rows = $wpdb->get_results($_q)) {
				self::debug('timeout left: ' . ($endts - time()) . 's');
				if (function_exists('set_time_limit')) {
					$endts += 600;
					self::debug('Endtime extended to ' . date('Ymd H:i:s', $endts));
					set_time_limit(600); // This will be no more important as we use noabort now
				}
				// Disabled as we use noabort
				// if ($endts - time() < 10) {
				// self::debug("🚨 End loop due to timeout limit reached " . $timeoutLimit . "s");
				// break;
				// }

				/**
				 * Update cron timestamp to avoid duplicated running
				 *
				 * @since  1.6.2
				 */
				$this->_update_cron_running();

				// Run requests in parallel
				$requests    = []; // store each request URL for Requests::request_multiple()
				$imgs_by_req = []; // store original request data so that we can reference it in the response
				$req_counter = 0;
				foreach ($img_rows as $row_img) {
					// request original image
					$server_info = \json_decode($row_img->server_info, true);
					if (!empty($server_info['ori'])) {
						$image_url = $server_info['server'] . '/' . $server_info['ori'];
						self::debug('Queueing pull: ' . $image_url);
						$requests[$req_counter]      = array(
							'url' => $image_url,
							'type' => 'GET',
						);
						$imgs_by_req[$req_counter++] = array(
							'type' => 'ori',
							'data' => $row_img,
						);
					}

					// request webp image
					$webp_size = 0;
					if (!empty($server_info['webp'])) {
						$image_url = $server_info['server'] . '/' . $server_info['webp'];
						self::debug('Queueing pull WebP: ' . $image_url);
						$requests[$req_counter]      = array(
							'url' => $image_url,
							'type' => 'GET',
						);
						$imgs_by_req[$req_counter++] = array(
							'type' => 'webp',
							'data' => $row_img,
						);
					}

					// request avif image
					$avif_size = 0;
					if (!empty($server_info['avif'])) {
						$image_url = $server_info['server'] . '/' . $server_info['avif'];
						self::debug('Queueing pull AVIF: ' . $image_url);
						$requests[$req_counter]      = array(
							'url' => $image_url,
							'type' => 'GET',
						);
						$imgs_by_req[$req_counter++] = array(
							'type' => 'avif',
							'data' => $row_img,
						);
					}
				}
				self::debug('Loaded images count: ' . $req_counter);

				$complete_action = function ( $response, $req_count ) use ( $imgs_by_req, $rm_ori_bkup, &$total_pulled_ori, &$total_pulled_webp, &$total_pulled_avif, &$server_list ) {
					global $wpdb;
					$row_data = isset($imgs_by_req[$req_count]) ? $imgs_by_req[$req_count] : false;
					if (false === $row_data) {
						self::debug('❌ failed to pull image: Request not found in lookup variable.');
						return;
					}
					$row_type    = isset($row_data['type']) ? $row_data['type'] : 'ori';
					$row_img     = $row_data['data'];
					$local_file  = $this->wp_upload_dir['basedir'] . '/' . $row_img->src;
					$server_info = \json_decode($row_img->server_info, true);

					// Handle status_code 404/5xx too as its success=true
					if ( empty( $response->success ) || empty( $response->status_code ) || 200 !== $response->status_code ) {
						self::debug('❌ Failed to pull optimized img: HTTP error [status_code] ' . ( empty( $response->status_code ) ? 'N/A' : $response->status_code ));
						$this->_step_back_image($row_img->id);

						$msg = __('Some optimized image file(s) has expired and was cleared.', 'litespeed-cache');
						Admin_Display::error($msg);
						return;
					}

					if ('webp' === $row_type) {
						file_put_contents($local_file . '.webp', $response->body);

						if (!file_exists($local_file . '.webp') || !filesize($local_file . '.webp') || md5_file($local_file . '.webp') !== $server_info['webp_md5']) {
							self::debug('❌ Failed to pull optimized webp img: file md5 mismatch, server md5: ' . $server_info['webp_md5']);

							// Delete working table
							$q = "DELETE FROM `$this->_table_img_optming` WHERE id = %d ";
							$wpdb->query($wpdb->prepare($q, $row_img->id));

							$msg = __('Pulled WebP image md5 does not match the notified WebP image md5.', 'litespeed-cache');
							Admin_Display::error($msg);
							return;
						}

						self::debug('Pulled optimized img WebP: ' . $local_file . '.webp');

						$webp_size = filesize($local_file . '.webp');

						/**
						 * API for WebP
						 *
						 * @since 2.9.5
						 * @since  3.0 $row_img less elements (see above one)
						 * @see #751737  - API docs for WEBP generation
						 */
						do_action('litespeed_img_pull_webp', $row_img, $local_file . '.webp');

						++$total_pulled_webp;
					} elseif ('avif' === $row_type) {
						file_put_contents($local_file . '.avif', $response->body);

						if (!file_exists($local_file . '.avif') || !filesize($local_file . '.avif') || md5_file($local_file . '.avif') !== $server_info['avif_md5']) {
							self::debug('❌ Failed to pull optimized avif img: file md5 mismatch, server md5: ' . $server_info['avif_md5']);

							// Delete working table
							$q = "DELETE FROM `$this->_table_img_optming` WHERE id = %d ";
							$wpdb->query($wpdb->prepare($q, $row_img->id));

							$msg = __('Pulled AVIF image md5 does not match the notified AVIF image md5.', 'litespeed-cache');
							Admin_Display::error($msg);
							return;
						}

						self::debug('Pulled optimized img AVIF: ' . $local_file . '.avif');

						$avif_size = filesize($local_file . '.avif');

						/**
						 * API for AVIF
						 *
						 * @since 7.0
						 */
						do_action('litespeed_img_pull_avif', $row_img, $local_file . '.avif');

						++$total_pulled_avif;
					} else {
						// "ori" image type
						file_put_contents($local_file . '.tmp', $response->body);

						if (!file_exists($local_file . '.tmp') || !filesize($local_file . '.tmp') || md5_file($local_file . '.tmp') !== $server_info['ori_md5']) {
							self::debug(
								'❌ Failed to pull optimized img: file md5 mismatch [url] ' .
									$server_info['server'] .
									'/' .
									$server_info['ori'] .
									' [server_md5] ' .
									$server_info['ori_md5']
							);

							// Delete working table
							$q = "DELETE FROM `$this->_table_img_optming` WHERE id = %d ";
							$wpdb->query($wpdb->prepare($q, $row_img->id));

							$msg = __('One or more pulled images does not match with the notified image md5', 'litespeed-cache');
							Admin_Display::error($msg);
							return;
						}

						// Backup ori img
						if (!$rm_ori_bkup) {
							$extension = pathinfo($local_file, PATHINFO_EXTENSION);
							$bk_file   = substr($local_file, 0, -strlen($extension)) . 'bk.' . $extension;
							file_exists($local_file) && rename($local_file, $bk_file);
						}

						// Replace ori img
						rename($local_file . '.tmp', $local_file);

						self::debug('Pulled optimized img: ' . $local_file);

						/**
						 * API Hook
						 *
						 * @since  2.9.5
						 * @since  3.0 $row_img has less elements now. Most useful ones are `post_id`/`src`
						 */
						do_action('litespeed_img_pull_ori', $row_img, $local_file);

						self::debug2('Remove _table_img_optming record [id] ' . $row_img->id);
					}

					// Delete working table
					$q = "DELETE FROM `$this->_table_img_optming` WHERE id = %d ";
					$wpdb->query($wpdb->prepare($q, $row_img->id));

					// Save server_list to notify taken
					if (empty($server_list[$server_info['server']])) {
						$server_list[$server_info['server']] = [];
					}

					$server_info_id                        = !empty($server_info['file_id']) ? $server_info['file_id'] : $server_info['id'];
					$server_list[$server_info['server']][] = $server_info_id;

					++$total_pulled_ori;
				};

				$force_wp_remote_get = defined('LITESPEED_FORCE_WP_REMOTE_GET') && constant('LITESPEED_FORCE_WP_REMOTE_GET');
				if (!$force_wp_remote_get && class_exists('\WpOrg\Requests\Requests') && class_exists('\WpOrg\Requests\Autoload')) {
					// Make sure Requests can load internal classes.
					Autoload::register();

					// Run pull requests in parallel
					Requests::request_multiple($requests, [
						'timeout' => 60,
						'connect_timeout' => 60,
						'complete' => $complete_action,
						'verify' => false,
						'verifyname' => false,
					]);
				} else {
					foreach ($requests as $cnt => $req) {
						$wp_response      = wp_safe_remote_get($req['url'], [ 'timeout' => 60 ]);
						$request_response = [
							'success' => false,
							'status_code' => 0,
							'body' => null,
							'sslverify' => false
						];
						if (is_wp_error($wp_response)) {
							$error_message = $wp_response->get_error_message();
							self::debug('❌ failed to pull image: ' . $error_message);
						} else {
							$request_response['success']     = true;
							$request_response['status_code'] = $wp_response['response']['code'];
							$request_response['body']        = $wp_response['body'];
						}
						self::debug('response code [code] ' . $wp_response['response']['code'] . ' [url] ' . $req['url']);

						$request_response = (object) $request_response;

						$complete_action($request_response, $cnt);
					}
				}
				self::debug('Current batch pull finished');
			}
		} catch (\Exception $e) {
			Admin_Display::error('Image pull process failure: ' . $e->getMessage());
		}

		// Notify IAPI images taken
		foreach ($server_list as $server => $img_list) {
			$data = array(
				'action' => self::CLOUD_ACTION_TAKEN,
				'list' => $img_list,
				'server' => $server,
			);
			// TODO: improve this so we do not call once per server, but just once and then filter on the server side
			Cloud::post(Cloud::SVC_IMG_OPTM, $data);
		}

		if (empty($this->_summary['img_taken'])) {
			$this->_summary['img_taken'] = 0;
		}
		$this->_summary['img_taken'] += $total_pulled_ori + $total_pulled_webp + $total_pulled_avif;
		self::save_summary();

		// Manually running needs to roll back timestamp for next running
		if ($manual) {
			$this->_update_cron_running(true);
		}

		// $msg = sprintf(__('Pulled %d image(s)', 'litespeed-cache'), $total_pulled_ori + $total_pulled_webp);
		// Admin_Display::success($msg);

		// Check if there is still task in queue
		$q               = "SELECT * FROM `$this->_table_img_optming` WHERE optm_status = %d LIMIT 1";
		$to_be_continued = $wpdb->get_row($wpdb->prepare($q, self::STATUS_NOTIFIED));
		if ($to_be_continued) {
			self::debug('Task in queue, to be continued...');
			return;
			// return Router::self_redirect(Router::ACTION_IMG_OPTM, self::TYPE_PULL);
		}

		// If all pulled, update tag to done
		self::debug('Marked pull status to all pulled');
		self::update_option(self::DB_NEED_PULL, self::STATUS_PULLED);
	}

	/**
	 * Push image back to previous status
	 *
	 * @since  3.0
	 * @access private
	 */
	private function _step_back_image( $id ) {
		global $wpdb;

		self::debug('Push image back to new status [id] ' . $id);

		// Reset the image to gathered status
		$q = "UPDATE `$this->_table_img_optming` SET optm_status = %d WHERE id = %d ";
		$wpdb->query($wpdb->prepare($q, array( self::STATUS_RAW, $id )));
	}

	/**
	 * Parse wp's meta value
	 *
	 * @since 1.6.7
	 * @access private
	 */
	private function _parse_wp_meta_value( $v ) {
		if (empty($v)) {
			self::debug('bypassed parsing meta due to null value');
			return false;
		}

		if (!$v->meta_value) {
			self::debug('bypassed parsing meta due to no meta_value: pid ' . $v->post_id);
			return false;
		}

		$meta_value = @maybe_unserialize($v->meta_value);
		if (!is_array($meta_value)) {
			self::debug('bypassed parsing meta due to meta_value not json: pid ' . $v->post_id);
			return false;
		}

		if (empty($meta_value['file'])) {
			self::debug('bypassed parsing meta due to no ori file: pid ' . $v->post_id);
			return false;
		}

		return $meta_value;
	}

	/**
	 * Clean up all unfinished queue locally and to Cloud server
	 *
	 * @since 2.1.2
	 * @access public
	 */
	public function clean() {
		global $wpdb;

		// Reset img_optm table's queue
		if ($this->__data->tb_exist('img_optming')) {
			// Get min post id to mark
			$q       = "SELECT MIN(post_id) FROM `$this->_table_img_optming`";
			$min_pid = $wpdb->get_var($q) - 1;
			if ($this->_summary['next_post_id'] > $min_pid) {
				$this->_summary['next_post_id'] = $min_pid;
				self::save_summary();
			}

			$q = "DELETE FROM `$this->_table_img_optming`";
			$wpdb->query($q);
		}

		$msg = __('Cleaned up unfinished data successfully.', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Reset image counter
	 *
	 * @since 7.0
	 * @access private
	 */
	private function _reset_counter() {
		self::debug('reset image optm counter');
		$this->_summary['next_post_id'] = 0;
		self::save_summary();

		$this->clean();

		$msg = __('Reset image optimization counter successfully.', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Destroy all optimized images
	 *
	 * @since 3.0
	 * @access private
	 */
	private function _destroy() {
		global $wpdb;

		self::debug('executing DESTROY process');

		$offset = !empty($_GET['litespeed_i']) ? $_GET['litespeed_i'] : 0;
		/**
		 * Limit images each time before redirection to fix Out of memory issue. #665465
		 *
		 * @since  2.9.8
		 */
		// Start deleting files
		$limit = apply_filters('litespeed_imgoptm_destroy_max_rows', 500);

		$img_q = "SELECT b.post_id, b.meta_value
			FROM `$wpdb->posts` a
			LEFT JOIN `$wpdb->postmeta` b ON b.post_id = a.ID
			WHERE b.meta_key = '_wp_attachment_metadata'
				AND a.post_type = 'attachment'
				AND a.post_status = 'inherit'
				AND a.post_mime_type IN ('image/jpeg', 'image/png', 'image/gif')
			ORDER BY a.ID
			LIMIT %d,%d
			";
		$q     = $wpdb->prepare($img_q, array( $offset * $limit, $limit ));
		$list  = $wpdb->get_results($q);
		$i     = 0;
		foreach ($list as $v) {
			if (!$v->post_id) {
				continue;
			}

			$meta_value = $this->_parse_wp_meta_value($v);
			if (!$meta_value) {
				continue;
			}

			++$i;

			$this->tmp_pid  = $v->post_id;
			$this->tmp_path = pathinfo($meta_value['file'], PATHINFO_DIRNAME) . '/';
			$this->_destroy_optm_file($meta_value, true);
			if (!empty($meta_value['sizes'])) {
				array_map(array( $this, '_destroy_optm_file' ), $meta_value['sizes']);
			}
		}

		self::debug('batch switched images total: ' . $i);

		++$offset;
		$to_be_continued = $wpdb->get_row($wpdb->prepare($img_q, array( $offset * $limit, 1 )));
		if ($to_be_continued) {
			// Check if post_id is beyond next_post_id
			self::debug('[next_post_id] ' . $this->_summary['next_post_id'] . ' [cursor post id] ' . $to_be_continued->post_id);
			if ($to_be_continued->post_id <= $this->_summary['next_post_id']) {
				self::debug('redirecting to next');
				return Router::self_redirect(Router::ACTION_IMG_OPTM, self::TYPE_DESTROY);
			}
			self::debug('🎊 Finished destroying');
		}

		// Delete postmeta info
		$q = "DELETE FROM `$wpdb->postmeta` WHERE meta_key = %s";
		$wpdb->query($wpdb->prepare($q, self::DB_SIZE));
		$wpdb->query($wpdb->prepare($q, self::DB_SET));

		// Delete img_optm table
		$this->__data->tb_del('img_optm');
		$this->__data->tb_del('img_optming');

		// Clear options table summary info
		self::delete_option('_summary');
		self::delete_option(self::DB_NEED_PULL);

		$msg = __('Destroy all optimization data successfully.', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Destroy optm file
	 */
	private function _destroy_optm_file( $meta_value, $is_ori_file = false ) {
		$short_file_path = $meta_value['file'];
		if (!$is_ori_file) {
			$short_file_path = $this->tmp_path . $short_file_path;
		}
		self::debug('deleting ' . $short_file_path);

		// del webp
		$this->__media->info($short_file_path . '.webp', $this->tmp_pid) && $this->__media->del($short_file_path . '.webp', $this->tmp_pid);
		$this->__media->info($short_file_path . '.optm.webp', $this->tmp_pid) && $this->__media->del($short_file_path . '.optm.webp', $this->tmp_pid);

		// del avif
		$this->__media->info($short_file_path . '.avif', $this->tmp_pid) && $this->__media->del($short_file_path . '.avif', $this->tmp_pid);
		$this->__media->info($short_file_path . '.optm.avif', $this->tmp_pid) && $this->__media->del($short_file_path . '.optm.avif', $this->tmp_pid);

		$extension      = pathinfo($short_file_path, PATHINFO_EXTENSION);
		$local_filename = substr($short_file_path, 0, -strlen($extension) - 1);
		$bk_file        = $local_filename . '.bk.' . $extension;
		$bk_optm_file   = $local_filename . '.bk.optm.' . $extension;

		// del optimized ori
		if ($this->__media->info($bk_file, $this->tmp_pid)) {
			self::debug('deleting optim ori');
			$this->__media->del($short_file_path, $this->tmp_pid);
			$this->__media->rename($bk_file, $short_file_path, $this->tmp_pid);
		}
		$this->__media->info($bk_optm_file, $this->tmp_pid) && $this->__media->del($bk_optm_file, $this->tmp_pid);
	}

	/**
	 * Rescan to find new generated images
	 *
	 * @since 1.6.7
	 * @access private
	 */
	private function _rescan() {
		global $wpdb;
		exit('tobedone');

		$offset = !empty($_GET['litespeed_i']) ? $_GET['litespeed_i'] : 0;
		$limit  = 500;

		self::debug('rescan images');

		// Get images
		$q    = "SELECT b.post_id, b.meta_value
			FROM `$wpdb->posts` a, `$wpdb->postmeta` b
			WHERE a.post_type = 'attachment'
				AND a.post_status = 'inherit'
				AND a.post_mime_type IN ('image/jpeg', 'image/png', 'image/gif')
				AND a.ID = b.post_id
				AND b.meta_key = '_wp_attachment_metadata'
			ORDER BY a.ID
			LIMIT %d, %d
			";
		$list = $wpdb->get_results($wpdb->prepare($q, $offset * $limit, $limit + 1)); // last one is the seed for next batch

		if (!$list) {
			$msg = __('Rescanned successfully.', 'litespeed-cache');
			Admin_Display::success($msg);

			self::debug('rescan bypass: no gathered image found');
			return;
		}

		if (count($list) == $limit + 1) {
			$to_be_continued = true;
			array_pop($list); // last one is the seed for next round, discard here.
		} else {
			$to_be_continued = false;
		}

		// Prepare post_ids to inquery gathered images
		$pid_set      = [];
		$scanned_list = [];
		foreach ($list as $v) {
			$meta_value = $this->_parse_wp_meta_value($v);
			if (!$meta_value) {
				continue;
			}

			$scanned_list[] = array(
				'pid' => $v->post_id,
				'meta' => $meta_value,
			);

			$pid_set[] = $v->post_id;
		}

		// Build gathered images
		$q    = "SELECT src, post_id FROM `$this->_table_img_optm` WHERE post_id IN (" . implode(',', array_fill(0, count($pid_set), '%d')) . ')';
		$list = $wpdb->get_results($wpdb->prepare($q, $pid_set));
		foreach ($list as $v) {
			$this->_existed_src_list[] = $v->post_id . '.' . $v->src;
		}

		// Find new images
		foreach ($scanned_list as $v) {
			$meta_value = $v['meta'];
			// Parse all child src and put them into $this->_img_in_queue, missing ones to $this->_img_in_queue_missed
			$this->tmp_pid  = $v['pid'];
			$this->tmp_path = pathinfo($meta_value['file'], PATHINFO_DIRNAME) . '/';
			$this->_append_img_queue($meta_value, true);
			if (!empty($meta_value['sizes'])) {
				foreach( $meta_value['sizes'] as $img_size_name => $img_size ){
					$this->_append_img_queue($img_size, false, $img_size_name );
				}
			}
		}

		self::debug('rescanned [img] ' . count($this->_img_in_queue));

		$count = count($this->_img_in_queue);
		if ($count > 0) {
			// Save to DB
			$this->_save_raw();
		}

		if ($to_be_continued) {
			return Router::self_redirect(Router::ACTION_IMG_OPTM, self::TYPE_RESCAN);
		}

		$msg = $count ? sprintf(__('Rescanned %d images successfully.', 'litespeed-cache'), $count) : __('Rescanned successfully.', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Calculate bkup original images storage
	 *
	 * @since 2.2.6
	 * @access private
	 */
	private function _calc_bkup() {
		global $wpdb;

		$offset = !empty($_GET['litespeed_i']) ? $_GET['litespeed_i'] : 0;
		$limit  = 500;

		if (!$offset) {
			$this->_summary['bk_summary'] = array(
				'date' => time(),
				'count' => 0,
				'sum' => 0,
			);
		}

		$img_q = "SELECT b.post_id, b.meta_value
			FROM `$wpdb->posts` a
			LEFT JOIN `$wpdb->postmeta` b ON b.post_id = a.ID
			WHERE b.meta_key = '_wp_attachment_metadata'
				AND a.post_type = 'attachment'
				AND a.post_status = 'inherit'
				AND a.post_mime_type IN ('image/jpeg', 'image/png', 'image/gif')
			ORDER BY a.ID
			LIMIT %d,%d
			";
		$q     = $wpdb->prepare($img_q, array( $offset * $limit, $limit ));
		$list  = $wpdb->get_results($q);
		foreach ($list as $v) {
			if (!$v->post_id) {
				continue;
			}

			$meta_value = $this->_parse_wp_meta_value($v);
			if (!$meta_value) {
				continue;
			}

			$this->tmp_pid  = $v->post_id;
			$this->tmp_path = pathinfo($meta_value['file'], PATHINFO_DIRNAME) . '/';
			$this->_get_bk_size($meta_value, true);
			if (!empty($meta_value['sizes'])) {
				array_map(array( $this, '_get_bk_size' ), $meta_value['sizes']);
			}
		}

		$this->_summary['bk_summary']['date'] = time();
		self::save_summary();

		self::debug('_calc_bkup total: ' . $this->_summary['bk_summary']['count'] . ' [size] ' . $this->_summary['bk_summary']['sum']);

		++$offset;
		$to_be_continued = $wpdb->get_row($wpdb->prepare($img_q, array( $offset * $limit, 1 )));

		if ($to_be_continued) {
			return Router::self_redirect(Router::ACTION_IMG_OPTM, self::TYPE_CALC_BKUP);
		}

		$msg = __('Calculated backups successfully.', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Calculate single size
	 */
	private function _get_bk_size( $meta_value, $is_ori_file = false ) {
		$short_file_path = $meta_value['file'];
		if (!$is_ori_file) {
			$short_file_path = $this->tmp_path . $short_file_path;
		}

		$extension      = pathinfo($short_file_path, PATHINFO_EXTENSION);
		$local_filename = substr($short_file_path, 0, -strlen($extension) - 1);
		$bk_file        = $local_filename . '.bk.' . $extension;

		$img_info = $this->__media->info($bk_file, $this->tmp_pid);
		if (!$img_info) {
			return;
		}

		++$this->_summary['bk_summary']['count'];
		$this->_summary['bk_summary']['sum'] += $img_info['size'];
	}

	/**
	 * Delete bkup original images storage
	 *
	 * @since  2.5
	 * @access public
	 */
	public function rm_bkup() {
		global $wpdb;

		if (!$this->__data->tb_exist('img_optming')) {
			return;
		}

		$offset = !empty($_GET['litespeed_i']) ? $_GET['litespeed_i'] : 0;
		$limit  = 500;

		if (empty($this->_summary['rmbk_summary'])) {
			$this->_summary['rmbk_summary'] = array(
				'date' => time(),
				'count' => 0,
				'sum' => 0,
			);
		}

		$img_q = "SELECT b.post_id, b.meta_value
			FROM `$wpdb->posts` a
			LEFT JOIN `$wpdb->postmeta` b ON b.post_id = a.ID
			WHERE b.meta_key = '_wp_attachment_metadata'
				AND a.post_type = 'attachment'
				AND a.post_status = 'inherit'
				AND a.post_mime_type IN ('image/jpeg', 'image/png', 'image/gif')
			ORDER BY a.ID
			LIMIT %d,%d
			";
		$q     = $wpdb->prepare($img_q, array( $offset * $limit, $limit ));
		$list  = $wpdb->get_results($q);
		foreach ($list as $v) {
			if (!$v->post_id) {
				continue;
			}

			$meta_value = $this->_parse_wp_meta_value($v);
			if (!$meta_value) {
				continue;
			}

			$this->tmp_pid  = $v->post_id;
			$this->tmp_path = pathinfo($meta_value['file'], PATHINFO_DIRNAME) . '/';
			$this->_del_bk_file($meta_value, true);
			if (!empty($meta_value['sizes'])) {
				array_map(array( $this, '_del_bk_file' ), $meta_value['sizes']);
			}
		}

		$this->_summary['rmbk_summary']['date'] = time();
		self::save_summary();

		self::debug('rm_bkup total: ' . $this->_summary['rmbk_summary']['count'] . ' [size] ' . $this->_summary['rmbk_summary']['sum']);

		++$offset;
		$to_be_continued = $wpdb->get_row($wpdb->prepare($img_q, array( $offset * $limit, 1 )));

		if ($to_be_continued) {
			return Router::self_redirect(Router::ACTION_IMG_OPTM, self::TYPE_RM_BKUP);
		}

		$msg = __('Removed backups successfully.', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Delete single file
	 */
	private function _del_bk_file( $meta_value, $is_ori_file = false ) {
		$short_file_path = $meta_value['file'];
		if (!$is_ori_file) {
			$short_file_path = $this->tmp_path . $short_file_path;
		}

		$extension      = pathinfo($short_file_path, PATHINFO_EXTENSION);
		$local_filename = substr($short_file_path, 0, -strlen($extension) - 1);
		$bk_file        = $local_filename . '.bk.' . $extension;

		$img_info = $this->__media->info($bk_file, $this->tmp_pid);
		if (!$img_info) {
			return;
		}

		++$this->_summary['rmbk_summary']['count'];
		$this->_summary['rmbk_summary']['sum'] += $img_info['size'];

		$this->__media->del($bk_file, $this->tmp_pid);
	}

	/**
	 * Count images
	 *
	 * @since 1.6
	 * @access public
	 */
	public function img_count() {
		global $wpdb;

		$q           = "SELECT count(*)
			FROM `$wpdb->posts` a
			LEFT JOIN `$wpdb->postmeta` b ON b.post_id = a.ID
			WHERE b.meta_key = '_wp_attachment_metadata'
				AND a.post_type = 'attachment'
				AND a.post_status = 'inherit'
				AND a.post_mime_type IN ('image/jpeg', 'image/png', 'image/gif')
			";
		$groups_all  = $wpdb->get_var($q);
		$groups_new  = $wpdb->get_var($q . ' AND ID>' . (int) $this->_summary['next_post_id'] . ' ORDER BY ID');
		$groups_done = $wpdb->get_var($q . ' AND ID<=' . (int) $this->_summary['next_post_id'] . ' ORDER BY ID');

		$q      = "SELECT b.post_id
			FROM `$wpdb->posts` a
			LEFT JOIN `$wpdb->postmeta` b ON b.post_id = a.ID
			WHERE b.meta_key = '_wp_attachment_metadata'
				AND a.post_type = 'attachment'
				AND a.post_status = 'inherit'
				AND a.post_mime_type IN ('image/jpeg', 'image/png', 'image/gif')
			ORDER BY a.ID DESC
			LIMIT 1
			";
		$max_id = $wpdb->get_var($q);

		$count_list = array(
			'max_id' => $max_id,
			'groups_all' => $groups_all,
			'groups_new' => $groups_new,
			'groups_done' => $groups_done,
		);

		// images count from work table
		if ($this->__data->tb_exist('img_optming')) {
			$q               = "SELECT COUNT(DISTINCT post_id),COUNT(*) FROM `$this->_table_img_optming` WHERE optm_status = %d";
			$groups_to_check = array( self::STATUS_RAW, self::STATUS_REQUESTED, self::STATUS_NOTIFIED, self::STATUS_ERR_FETCH );
			foreach ($groups_to_check as $v) {
				$count_list['img.' . $v]                                   = $count_list['group.' . $v] = 0;
				list($count_list['group.' . $v], $count_list['img.' . $v]) = $wpdb->get_row($wpdb->prepare($q, $v), ARRAY_N);
			}
		}

		return $count_list;
	}

	/**
	 * Check if fetch cron is running
	 *
	 * @since  1.6.2
	 * @access public
	 */
	public function cron_running( $bool_res = true ) {
		$last_run = !empty($this->_summary['last_pull']) ? $this->_summary['last_pull'] : 0;

		$is_running = $last_run && time() - $last_run < 120;

		if ($bool_res) {
			return $is_running;
		}

		return array( $last_run, $is_running );
	}

	/**
	 * Update fetch cron timestamp tag
	 *
	 * @since  1.6.2
	 * @access private
	 */
	private function _update_cron_running( $done = false ) {
		$this->_summary['last_pull'] = time();

		if ($done) {
			// Only update cron tag when its from the active running cron
			if ($this->_cron_ran) {
				// Rollback for next running
				$this->_summary['last_pull'] -= 120;
			} else {
				return;
			}
		}

		self::save_summary();

		$this->_cron_ran = true;
	}

	/**
	 * Batch switch images to ori/optm version
	 *
	 * @since  1.6.2
	 * @access public
	 */
	public function batch_switch( $type ) {
		global $wpdb;

		if (defined('LITESPEED_CLI') || wp_doing_cron()) {
			$offset = 0;
			while ($offset !== 'done') {
				Admin_Display::info("Starting switch to $type [offset] $offset");
				$offset = $this->_batch_switch($type, $offset);
			}
		} else {
			$offset = !empty($_GET['litespeed_i']) ? $_GET['litespeed_i'] : 0;

			$newOffset = $this->_batch_switch($type, $offset);
			if ($newOffset !== 'done') {
				return Router::self_redirect(Router::ACTION_IMG_OPTM, $type);
			}
		}

		$msg = __('Switched images successfully.', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Switch images per offset
	 */
	private function _batch_switch( $type, $offset ) {
		global $wpdb;
		$limit          = 500;
		$this->tmp_type = $type;

		$img_q = "SELECT b.post_id, b.meta_value
			FROM `$wpdb->posts` a
			LEFT JOIN `$wpdb->postmeta` b ON b.post_id = a.ID
			WHERE b.meta_key = '_wp_attachment_metadata'
				AND a.post_type = 'attachment'
				AND a.post_status = 'inherit'
				AND a.post_mime_type IN ('image/jpeg', 'image/png', 'image/gif')
			ORDER BY a.ID
			LIMIT %d,%d
			";
		$q     = $wpdb->prepare($img_q, array( $offset * $limit, $limit ));
		$list  = $wpdb->get_results($q);
		$i     = 0;
		foreach ($list as $v) {
			if (!$v->post_id) {
				continue;
			}

			$meta_value = $this->_parse_wp_meta_value($v);
			if (!$meta_value) {
				continue;
			}

			++$i;

			$this->tmp_pid  = $v->post_id;
			$this->tmp_path = pathinfo($meta_value['file'], PATHINFO_DIRNAME) . '/';
			$this->_switch_bk_file($meta_value, true);
			if (!empty($meta_value['sizes'])) {
				array_map(array( $this, '_switch_bk_file' ), $meta_value['sizes']);
			}
		}

		self::debug('batch switched images total: ' . $i . ' [type] ' . $type);

		++$offset;
		$to_be_continued = $wpdb->get_row($wpdb->prepare($img_q, array( $offset * $limit, 1 )));
		if ($to_be_continued) {
			return $offset;
		}
		return 'done';
	}

	/**
	 * Delete single file
	 */
	private function _switch_bk_file( $meta_value, $is_ori_file = false ) {
		$short_file_path = $meta_value['file'];
		if (!$is_ori_file) {
			$short_file_path = $this->tmp_path . $short_file_path;
		}

		$extension      = pathinfo($short_file_path, PATHINFO_EXTENSION);
		$local_filename = substr($short_file_path, 0, -strlen($extension) - 1);
		$bk_file        = $local_filename . '.bk.' . $extension;
		$bk_optm_file   = $local_filename . '.bk.optm.' . $extension;

		// self::debug('_switch_bk_file ' . $bk_file . ' [type] ' . $this->tmp_type);
		// switch to ori
		if ($this->tmp_type === self::TYPE_BATCH_SWITCH_ORI || $this->tmp_type == 'orig') {
			// self::debug('switch to orig ' . $bk_file);
			if (!$this->__media->info($bk_file, $this->tmp_pid)) {
				return;
			}
			$this->__media->rename($local_filename . '.' . $extension, $bk_optm_file, $this->tmp_pid);
			$this->__media->rename($bk_file, $local_filename . '.' . $extension, $this->tmp_pid);
		}
		// switch to optm
		elseif ($this->tmp_type === self::TYPE_BATCH_SWITCH_OPTM || $this->tmp_type == 'optm') {
			// self::debug('switch to optm ' . $bk_file);
			if (!$this->__media->info($bk_optm_file, $this->tmp_pid)) {
				return;
			}
			$this->__media->rename($local_filename . '.' . $extension, $bk_file, $this->tmp_pid);
			$this->__media->rename($bk_optm_file, $local_filename . '.' . $extension, $this->tmp_pid);
		}
	}

	/**
	 * Switch image between original one and optimized one
	 *
	 * @since 1.6.2
	 * @access private
	 */
	private function _switch_optm_file( $type ) {
		Admin_Display::success(__('Switched to optimized file successfully.', 'litespeed-cache'));
		return;
		global $wpdb;

		$pid         = substr($type, 4);
		$switch_type = substr($type, 0, 4);

		$q    = "SELECT src,post_id FROM `$this->_table_img_optm` WHERE post_id = %d AND optm_status = %d";
		$list = $wpdb->get_results($wpdb->prepare($q, array( $pid, self::STATUS_PULLED )));

		$msg = 'Unknown Msg';

		foreach ($list as $v) {
			// to switch webp file
			if ($switch_type === 'webp') {
				if ($this->__media->info($v->src . '.webp', $v->post_id)) {
					$this->__media->rename($v->src . '.webp', $v->src . '.optm.webp', $v->post_id);
					self::debug('Disabled WebP: ' . $v->src);

					$msg = __('Disabled WebP file successfully.', 'litespeed-cache');
				} elseif ($this->__media->info($v->src . '.optm.webp', $v->post_id)) {
					$this->__media->rename($v->src . '.optm.webp', $v->src . '.webp', $v->post_id);
					self::debug('Enable WebP: ' . $v->src);

					$msg = __('Enabled WebP file successfully.', 'litespeed-cache');
				}
			}
			// to switch avif file
			elseif ($switch_type === 'avif') {
				if ($this->__media->info($v->src . '.avif', $v->post_id)) {
					$this->__media->rename($v->src . '.avif', $v->src . '.optm.avif', $v->post_id);
					self::debug('Disabled AVIF: ' . $v->src);

					$msg = __('Disabled AVIF file successfully.', 'litespeed-cache');
				} elseif ($this->__media->info($v->src . '.optm.avif', $v->post_id)) {
					$this->__media->rename($v->src . '.optm.avif', $v->src . '.avif', $v->post_id);
					self::debug('Enable AVIF: ' . $v->src);

					$msg = __('Enabled AVIF file successfully.', 'litespeed-cache');
				}
			}
			// to switch original file
			else {
				$extension      = pathinfo($v->src, PATHINFO_EXTENSION);
				$local_filename = substr($v->src, 0, -strlen($extension) - 1);
				$bk_file        = $local_filename . '.bk.' . $extension;
				$bk_optm_file   = $local_filename . '.bk.optm.' . $extension;

				// revert ori back
				if ($this->__media->info($bk_file, $v->post_id)) {
					$this->__media->rename($v->src, $bk_optm_file, $v->post_id);
					$this->__media->rename($bk_file, $v->src, $v->post_id);
					self::debug('Restore original img: ' . $bk_file);

					$msg = __('Restored original file successfully.', 'litespeed-cache');
				} elseif ($this->__media->info($bk_optm_file, $v->post_id)) {
					$this->__media->rename($v->src, $bk_file, $v->post_id);
					$this->__media->rename($bk_optm_file, $v->src, $v->post_id);
					self::debug('Switch to optm img: ' . $v->src);

					$msg = __('Switched to optimized file successfully.', 'litespeed-cache');
				}
			}
		}

		Admin_Display::success($msg);
	}

	/**
	 * Delete one optm data and recover original file
	 *
	 * @since 2.4.2
	 * @access public
	 */
	public function reset_row( $post_id ) {
		global $wpdb;

		if (!$post_id) {
			return;
		}

		// Gathered image don't have DB_SIZE info yet
		// $size_meta = get_post_meta( $post_id, self::DB_SIZE, true );

		// if ( ! $size_meta ) {
		// return;
		// }

		self::debug('_reset_row [pid] ' . $post_id);

		// TODO: Load image sub files
		$img_q = "SELECT b.post_id, b.meta_value
			FROM `$wpdb->postmeta` b
			WHERE b.post_id =%d  AND b.meta_key = '_wp_attachment_metadata'";
		$q     = $wpdb->prepare($img_q, array( $post_id ));
		$v     = $wpdb->get_row($q);

		$meta_value = $this->_parse_wp_meta_value($v);
		if ($meta_value) {
			$this->tmp_pid  = $v->post_id;
			$this->tmp_path = pathinfo($meta_value['file'], PATHINFO_DIRNAME) . '/';
			$this->_destroy_optm_file($meta_value, true);
			if (!empty($meta_value['sizes'])) {
				array_map(array( $this, '_destroy_optm_file' ), $meta_value['sizes']);
			}
		}

		delete_post_meta($post_id, self::DB_SIZE);
		delete_post_meta($post_id, self::DB_SET);

		$msg = __('Reset the optimized data successfully.', 'litespeed-cache');
		Admin_Display::success($msg);
	}

	/**
	 * Show an image's optm status
	 *
	 * @since  1.6.5
	 * @access public
	 */
	public function check_img() {
		global $wpdb;

		$pid = $_POST['data'];

		self::debug('Check image [ID] ' . $pid);

		$data = [];

		$data['img_count']    = $this->img_count();
		$data['optm_summary'] = self::get_summary();

		$data['_wp_attached_file']       = get_post_meta($pid, '_wp_attached_file', true);
		$data['_wp_attachment_metadata'] = get_post_meta($pid, '_wp_attachment_metadata', true);

		// Get img_optm data
		$q        = "SELECT * FROM `$this->_table_img_optm` WHERE post_id = %d";
		$list     = $wpdb->get_results($wpdb->prepare($q, $pid));
		$img_data = [];
		if ($list) {
			foreach ($list as $v) {
				$img_data[] = array(
					'id' => $v->id,
					'optm_status' => $v->optm_status,
					'src' => $v->src,
					'srcpath_md5' => $v->srcpath_md5,
					'src_md5' => $v->src_md5,
					'server_info' => $v->server_info,
				);
			}
		}
		$data['img_data'] = $img_data;

		return array(
			'_res' => 'ok',
			'data' => $data,
		);
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * @since  2.0
	 * @access public
	 */
	public function handler() {
		$type = Router::verify_type();

		switch ($type) {
			case self::TYPE_RESET_ROW:
            $this->reset_row(!empty($_GET['id']) ? $_GET['id'] : false);
				break;

			case self::TYPE_CALC_BKUP:
            $this->_calc_bkup();
				break;

			case self::TYPE_RM_BKUP:
            $this->rm_bkup();
				break;

			case self::TYPE_NEW_REQ:
            $this->new_req();
				break;

			case self::TYPE_RESCAN:
            $this->_rescan();
				break;

			case self::TYPE_RESET_COUNTER:
            $this->_reset_counter();
				break;

			case self::TYPE_DESTROY:
            $this->_destroy();
				break;

			case self::TYPE_CLEAN:
            $this->clean();
				break;

			case self::TYPE_PULL:
            self::start_async();
				break;

			case self::TYPE_BATCH_SWITCH_ORI:
			case self::TYPE_BATCH_SWITCH_OPTM:
            $this->batch_switch($type);
				break;

			case substr($type, 0, 4) === 'avif':
			case substr($type, 0, 4) === 'webp':
			case substr($type, 0, 4) === 'orig':
            $this->_switch_optm_file($type);
				break;

			default:
				break;
		}

		Admin::redirect();
	}
}
PK�^�\��9	%	%litespeed-cache/src/tag.cls.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * The plugin cache-tag class for X-LiteSpeed-Tag
 *
 * @since       1.1.3
 */

namespace LiteSpeed;

defined('WPINC') || exit();

class Tag extends Root {

	const TYPE_FEED                    = 'FD';
	const TYPE_FRONTPAGE               = 'F';
	const TYPE_HOME                    = 'H';
	const TYPE_PAGES                   = 'PGS';
	const TYPE_PAGES_WITH_RECENT_POSTS = 'PGSRP';
	const TYPE_HTTP                    = 'HTTP.';
	const TYPE_POST                    = 'Po.'; // Post. Cannot use P, reserved for litemage.
	const TYPE_ARCHIVE_POSTTYPE        = 'PT.';
	const TYPE_ARCHIVE_TERM            = 'T.'; // for is_category|is_tag|is_tax
	const TYPE_AUTHOR                  = 'A.';
	const TYPE_ARCHIVE_DATE            = 'D.';
	const TYPE_BLOG                    = 'B.';
	const TYPE_LOGIN                   = 'L';
	const TYPE_URL                     = 'URL.';
	const TYPE_WIDGET                  = 'W.';
	const TYPE_ESI                     = 'ESI.';
	const TYPE_REST                    = 'REST';
	const TYPE_AJAX                    = 'AJAX.';
	const TYPE_LIST                    = 'LIST';
	const TYPE_MIN                     = 'MIN';
	const TYPE_LOCALRES                = 'LOCALRES';

	const X_HEADER = 'X-LiteSpeed-Tag';

	private static $_tags          = array();
	private static $_tags_priv     = array( 'tag_priv' );
	public static $error_code_tags = array( 403, 404, 500 );

	/**
	 * Initialize
	 *
	 * @since 4.0
	 */
	public function init() {
		// register recent posts widget tag before theme renders it to make it work
		add_filter('widget_posts_args', array( $this, 'add_widget_recent_posts' ));
	}

	/**
	 * Check if the login page is cacheable.
	 * If not, unset the cacheable member variable.
	 *
	 * NOTE: This is checked separately because login page doesn't go through WP logic.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function check_login_cacheable() {
		if (!$this->conf(Base::O_CACHE_PAGE_LOGIN)) {
			return;
		}
		if (Control::isset_notcacheable()) {
			return;
		}

		if (!empty($_GET)) {
			Control::set_nocache('has GET request');
			return;
		}

		$this->cls('Control')->set_cacheable();

		self::add(self::TYPE_LOGIN);

		// we need to send lsc-cookie manually to make it be sent to all other users when is cacheable
		$list = headers_list();
		if (empty($list)) {
			return;
		}
		foreach ($list as $hdr) {
			if (strncasecmp($hdr, 'set-cookie:', 11) == 0) {
				$cookie = substr($hdr, 12);
				@header('lsc-cookie: ' . $cookie, false);
			}
		}
	}

	/**
	 * Register purge tag for pages with recent posts widget
	 * of the plugin.
	 *
	 * @since    1.0.15
	 * @access   public
	 * @param array $params [WordPress params for widget_posts_args]
	 */
	public function add_widget_recent_posts( $params ) {
		self::add(self::TYPE_PAGES_WITH_RECENT_POSTS);
		return $params;
	}

	/**
	 * Adds cache tags to the list of cache tags for the current page.
	 *
	 * @since 1.0.5
	 * @access public
	 * @param mixed $tags A string or array of cache tags to add to the current list.
	 */
	public static function add( $tags ) {
		if (!is_array($tags)) {
			$tags = array( $tags );
		}

		Debug2::debug('💰 [Tag] Add ', $tags);

		self::$_tags = array_merge(self::$_tags, $tags);

		// Send purge header immediately
		$tag_header = self::cls()->output(true);
		@header($tag_header);
	}

	/**
	 * Add a post id to cache tag
	 *
	 * @since 3.0
	 * @access public
	 */
	public static function add_post( $pid ) {
		self::add(self::TYPE_POST . $pid);
	}

	/**
	 * Add a widget id to cache tag
	 *
	 * @since 3.0
	 * @access public
	 */
	public static function add_widget( $id ) {
		self::add(self::TYPE_WIDGET . $id);
	}

	/**
	 * Add a private ESI to cache tag
	 *
	 * @since 3.0
	 * @access public
	 */
	public static function add_private_esi( $tag ) {
		self::add_private(self::TYPE_ESI . $tag);
	}

	/**
	 * Adds private cache tags to the list of cache tags for the current page.
	 *
	 * @since 1.6.3
	 * @access public
	 * @param mixed $tags A string or array of cache tags to add to the current list.
	 */
	public static function add_private( $tags ) {
		if (!is_array($tags)) {
			$tags = array( $tags );
		}

		self::$_tags_priv = array_merge(self::$_tags_priv, $tags);
	}

	/**
	 * Return tags for Admin QS
	 *
	 * @since 1.1.3
	 * @access public
	 */
	public static function output_tags() {
		return self::$_tags;
	}

	/**
	 * Will get a hash of the URI. Removes query string and appends a '/' if it is missing.
	 *
	 * @since 1.0.12
	 * @access public
	 * @param string  $uri The uri to get the hash of.
	 * @param boolean $ori Return the original url or not
	 * @return bool|string False on input error, hash otherwise.
	 */
	public static function get_uri_tag( $uri, $ori = false ) {
		$no_qs = strtok($uri, '?');
		if (empty($no_qs)) {
			return false;
		}
		$slashed = trailingslashit($no_qs);

		// If only needs uri tag
		if ($ori) {
			return $slashed;
		}

		if (defined('LSCWP_LOG')) {
			return self::TYPE_URL . $slashed;
		}
		return self::TYPE_URL . md5($slashed);
	}

	/**
	 * Get the unique tag based on self url.
	 *
	 * @since 1.1.3
	 * @access public
	 * @param boolean $ori Return the original url or not
	 */
	public static function build_uri_tag( $ori = false ) {
		return self::get_uri_tag(urldecode($_SERVER['REQUEST_URI']), $ori);
	}

	/**
	 * Gets the cache tags to set for the page.
	 *
	 * This includes site wide post types (e.g. front page) as well as
	 * any third party plugin specific cache tags.
	 *
	 * @since 1.0.0
	 * @access private
	 * @return array The list of cache tags to set.
	 */
	private static function _build_type_tags() {
		$tags = array();

		$tags[] = Utility::page_type();

		$tags[] = self::build_uri_tag();

		if (is_front_page()) {
			$tags[] = self::TYPE_FRONTPAGE;
		} elseif (is_home()) {
			$tags[] = self::TYPE_HOME;
		}

		global $wp_query;
		if (isset($wp_query)) {
			$queried_obj_id = get_queried_object_id();
			if (is_archive()) {
				// An Archive is a Category, Tag, Author, Date, Custom Post Type or Custom Taxonomy based pages.
				if (is_category() || is_tag() || is_tax()) {
					$tags[] = self::TYPE_ARCHIVE_TERM . $queried_obj_id;
				} elseif (is_post_type_archive() && ($post_type = get_post_type())) {
					$tags[] = self::TYPE_ARCHIVE_POSTTYPE . $post_type;
				} elseif (is_author()) {
					$tags[] = self::TYPE_AUTHOR . $queried_obj_id;
				} elseif (is_date()) {
					global $post;

					if ($post && isset($post->post_date)) {
						$date = $post->post_date;
						$date = strtotime($date);
						if (is_day()) {
							$tags[] = self::TYPE_ARCHIVE_DATE . date('Ymd', $date);
						} elseif (is_month()) {
							$tags[] = self::TYPE_ARCHIVE_DATE . date('Ym', $date);
						} elseif (is_year()) {
							$tags[] = self::TYPE_ARCHIVE_DATE . date('Y', $date);
						}
					}
				}
			} elseif (is_singular()) {
				// $this->is_singular = $this->is_single || $this->is_page || $this->is_attachment;
				$tags[] = self::TYPE_POST . $queried_obj_id;

				if (is_page()) {
					$tags[] = self::TYPE_PAGES;
				}
			} elseif (is_feed()) {
				$tags[] = self::TYPE_FEED;
			}
		}

		// Check REST API
		if (REST::cls()->is_rest()) {
			$tags[] = self::TYPE_REST;

			$path = !empty($_SERVER['SCRIPT_URL']) ? $_SERVER['SCRIPT_URL'] : false;
			if ($path) {
				// posts collections tag
				if (substr($path, -6) == '/posts') {
					$tags[] = self::TYPE_LIST; // Not used for purge yet
				}

				// single post tag
				global $post;
				if (!empty($post->ID) && substr($path, -strlen($post->ID) - 1) === '/' . $post->ID) {
					$tags[] = self::TYPE_POST . $post->ID;
				}

				// pages collections & single page tag
				if (stripos($path, '/pages') !== false) {
					$tags[] = self::TYPE_PAGES;
				}
			}
		}

		// Append AJAX action tag
		if (Router::is_ajax() && !empty($_REQUEST['action'])) {
			$tags[] = self::TYPE_AJAX . $_REQUEST['action'];
		}

		return $tags;
	}

	/**
	 * Generate all cache tags before output
	 *
	 * @access private
	 * @since 1.1.3
	 */
	private static function _finalize() {
		// run 3rdparty hooks to tag
		do_action('litespeed_tag_finalize');
		// generate wp tags
		if (!defined('LSCACHE_IS_ESI')) {
			$type_tags   = self::_build_type_tags();
			self::$_tags = array_merge(self::$_tags, $type_tags);
		}

		if (defined('LITESPEED_GUEST') && LITESPEED_GUEST) {
			self::$_tags[] = 'guest';
		}

		// append blog main tag
		self::$_tags[] = '';
		// removed duplicates
		self::$_tags = array_unique(self::$_tags);
	}

	/**
	 * Sets up the Cache Tags header.
	 * ONLY need to run this if is cacheable
	 *
	 * @since 1.1.3
	 * @access public
	 * @return string empty string if empty, otherwise the cache tags header.
	 */
	public function output( $no_finalize = false ) {
		if (defined('LSCACHE_NO_CACHE') && LSCACHE_NO_CACHE) {
			return;
		}

		if (!$no_finalize) {
			self::_finalize();
		}

		$prefix_tags = array();
		/**
		 * Only append blog_id when is multisite
		 *
		 * @since 2.9.3
		 */
		$prefix = LSWCP_TAG_PREFIX . (is_multisite() ? get_current_blog_id() : '') . '_';

		// If is_private and has private tags, append them first, then specify prefix to `public` for public tags
		if (Control::is_private()) {
			foreach (self::$_tags_priv as $priv_tag) {
				$prefix_tags[] = $prefix . $priv_tag;
			}
			$prefix = 'public:' . $prefix;
		}

		foreach (self::$_tags as $tag) {
			$prefix_tags[] = $prefix . $tag;
		}

		$hdr = self::X_HEADER . ': ' . implode(',', $prefix_tags);

		return $hdr;
	}
}
PK�^�\5/���litespeed-cache/guest.vary.phpnu�[���<?php
/**
 * Lightweight script to update guest mode vary
 *
 * @since 4.1
 */

require 'lib/guest.cls.php';

$guest = new \LiteSpeed\Lib\Guest();

$guest->update_guest_vary();
PK�^�\��_C<<litespeed-cache/phpcs.xml.distnu�[���<?xml version="1.0"?>
<ruleset name="LiteSpeed Cache Coding Standards">
	<description>Apply LiteSpeed Cache Coding Standards to all plugin files</description>

	<!--
	#############################################################################
	COMMAND LINE ARGUMENTS
	https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-Ruleset
	#############################################################################
	-->

	<!-- Only scan PHP files -->
	<arg name="extensions" value="php"/>

	<!-- Cache scan results to use for unchanged files on future scans -->
	<arg name="cache" value=".cache/phpcs.json"/>

	<!-- Set memory limit to 512M
		 Ref: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#specifying-phpini-settings 
	-->
	<ini name="memory_limit" value="512M"/> 

	<!-- Remove unwanted prefix from filepaths -->
	<arg name="basepath" value="./"/>

	<!-- Check max 20 files in parallel -->
	<arg name="parallel" value="20"/>

	<!-- Show sniff codes in all reports -->
	<arg value="ps"/>

	<!--
	#############################################################################
	FILE SELECTION
	Set which files will be subject to the scans executed using this ruleset.
	#############################################################################
	-->

	<file>.</file>

	<!-- Exclude any wordpress folder in the current directory -->
	<exclude-pattern type="relative">^wordpress/*</exclude-pattern>

	<!-- Directories and third-party library exclusions -->
	<exclude-pattern>/node_modules/*</exclude-pattern>
	<exclude-pattern>/vendor/*</exclude-pattern>

	<!--
	#############################################################################
	SET UP THE RULESET
	#############################################################################
	-->
	<!-- Check PHP v7.2 and all newer versions -->
	<config name="testVersion" value="7.2-"/>

	<rule ref="PHPCompatibility">
		<!-- Exclude false positives -->
		<!-- array_key_firstFound is defined in lib/php-compatibility.func.php -->
		<exclude name="PHPCompatibility.FunctionUse.NewFunctions.array_key_firstFound" />
	</rule>

</ruleset>
PK�^�\���
jj#litespeed-cache/cli/crawler.cls.phpnu�[���<?php
/**
 * LiteSpeed Cache CLI Crawler Commands
 *
 * Provides WP-CLI commands for managing LiteSpeed Cache crawlers.
 *
 * @package LiteSpeed
 * @since 1.1.0
 */

namespace LiteSpeed\CLI;

defined('WPINC') || exit();

use LiteSpeed\Debug2;
use LiteSpeed\Base;
use LiteSpeed\Task;
use LiteSpeed\Crawler as Crawler2;
use WP_CLI;

/**
 * Crawler
 */
class Crawler extends Base {
	/**
	 * Crawler instance
	 *
	 * @var Crawler2 $crawler
	 */
	private $crawler;

	/**
	 * Constructor for Crawler CLI commands
	 *
	 * @since 1.1.0
	 */
	public function __construct() {
		Debug2::debug('CLI_Crawler init');

		$this->crawler = Crawler2::cls();
	}

	/**
	 * List all crawlers
	 *
	 * Displays a table of all crawlers with their details.
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # List all crawlers
	 *     $ wp litespeed-crawler l
	 *
	 * @since 1.1.0
	 */
	public function l() {
		$this->list();
	}

	/**
	 * List all crawlers
	 *
	 * Displays a table of all crawlers with their details.
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # List all crawlers
	 *     $ wp litespeed-crawler list
	 *
	 * @since 1.1.0
	 */
	public function list() {
		$crawler_list = $this->crawler->list_crawlers();
		$summary      = Crawler2::get_summary();
		if ($summary['curr_crawler'] >= count($crawler_list)) {
			$summary['curr_crawler'] = 0;
		}
		$is_running = time() - $summary['is_running'] <= 900;

		$crawler_run_interval = defined('LITESPEED_CRAWLER_RUN_INTERVAL') ? LITESPEED_CRAWLER_RUN_INTERVAL : 600; // Specify time in seconds for the time between each run interval
		if ($crawler_run_interval > 0) {
			$recurrence = '';
			$hours      = (int) floor($crawler_run_interval / 3600);
			if ($hours) {
				if ($hours > 1) {
					$recurrence .= sprintf(__('%d hours', 'litespeed-cache'), $hours);
				} else {
					$recurrence .= sprintf(__('%d hour', 'litespeed-cache'), $hours);
				}
			}
			$minutes = (int) floor(($crawler_run_interval % 3600) / 60);
			if ($minutes) {
				$recurrence .= ' ';
				if ($minutes > 1) {
					$recurrence .= sprintf(__('%d minutes', 'litespeed-cache'), $minutes);
				} else {
					$recurrence .= sprintf(__('%d minute', 'litespeed-cache'), $minutes);
				}
			}
		}

		$list = array();
		foreach ($crawler_list as $i => $v) {
			$hit  = !empty($summary['crawler_stats'][$i][Crawler2::STATUS_HIT]) ? $summary['crawler_stats'][$i][Crawler2::STATUS_HIT] : 0;
			$miss = !empty($summary['crawler_stats'][$i][Crawler2::STATUS_MISS]) ? $summary['crawler_stats'][$i][Crawler2::STATUS_MISS] : 0;

			$blacklisted  = !empty($summary['crawler_stats'][$i][Crawler2::STATUS_BLACKLIST]) ? $summary['crawler_stats'][$i][Crawler2::STATUS_BLACKLIST] : 0;
			$blacklisted += !empty($summary['crawler_stats'][$i][Crawler2::STATUS_NOCACHE]) ? $summary['crawler_stats'][$i][Crawler2::STATUS_NOCACHE] : 0;

			if (isset($summary['crawler_stats'][$i][Crawler2::STATUS_WAIT])) {
				$waiting = $summary['crawler_stats'][$i][Crawler2::STATUS_WAIT] ?? 0;
			} else {
				$waiting = $summary['list_size'] - $hit - $miss - $blacklisted;
			}

			$analytics  = 'Waiting: ' . $waiting;
			$analytics .= '     Hit: ' . $hit;
			$analytics .= '     Miss: ' . $miss;
			$analytics .= '     Blocked: ' . $blacklisted;

			$running = '';
			if ($i === $summary['curr_crawler']) {
				$running = 'Pos: ' . ($summary['last_pos'] + 1);
				if ($is_running) {
					$running .= '(Running)';
				}
			}

			$status = $this->crawler->is_active($i) ? '✅' : '❌';

			$list[] = array(
				'ID' => $i + 1,
				'Name' => wp_strip_all_tags($v['title']),
				'Frequency' => $recurrence,
				'Status' => $status,
				'Analytics' => $analytics,
				'Running' => $running,
			);
		}

		WP_CLI\Utils\format_items('table', $list, array( 'ID', 'Name', 'Frequency', 'Status', 'Analytics', 'Running' ));
	}

	/**
	 * Enable one crawler
	 *
	 * ## OPTIONS
	 *
	 * <id>
	 * : The ID of the crawler to enable.
	 *
	 * ## EXAMPLES
	 *
	 *     # Turn on 2nd crawler
	 *     $ wp litespeed-crawler enable 2
	 *
	 * @since 1.1.0
	 * @param array $args Command arguments.
	 */
	public function enable( $args ) {
		$id = $args[0] - 1;
		if ($this->crawler->is_active($id)) {
			WP_CLI::error('ID #' . $id . ' had been enabled');
			return;
		}

		$this->crawler->toggle_activeness($id);
		WP_CLI::success('Enabled crawler #' . $id);
	}

	/**
	 * Disable one crawler
	 *
	 * ## OPTIONS
	 *
	 * <id>
	 * : The ID of the crawler to disable.
	 *
	 * ## EXAMPLES
	 *
	 *     # Turn off 1st crawler
	 *     $ wp litespeed-crawler disable 1
	 *
	 * @since 1.1.0
	 * @param array $args Command arguments.
	 */
	public function disable( $args ) {
		$id = $args[0] - 1;
		if (!$this->crawler->is_active($id)) {
			WP_CLI::error('ID #' . $id . ' has been disabled');
			return;
		}

		$this->crawler->toggle_activeness($id);
		WP_CLI::success('Disabled crawler #' . $id);
	}

	/**
	 * Run crawling
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Start crawling
	 *     $ wp litespeed-crawler r
	 *
	 * @since 1.1.0
	 */
	public function r() {
		$this->run();
	}

	/**
	 * Run crawling
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Start crawling
	 *     $ wp litespeed-crawler run
	 *
	 * @since 1.1.0
	 */
	public function run() {
		self::debug('⚠️⚠️⚠️ Forced take over lane (CLI)');
		$this->crawler->Release_lane();

		Task::async_call('crawler');

		$summary = Crawler2::get_summary();

		WP_CLI::success('Start crawling. Current crawler #' . ($summary['curr_crawler'] + 1) . ' [position] ' . $summary['last_pos'] . ' [total] ' . $summary['list_size']);
	}

	/**
	 * Reset crawler position
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Reset crawler position
	 *     $ wp litespeed-crawler reset
	 *
	 * @since 1.1.0
	 */
	public function reset() {
		$this->crawler->reset_pos();

		$summary = Crawler2::get_summary();

		WP_CLI::success('Reset position. Current crawler #' . ($summary['curr_crawler'] + 1) . ' [position] ' . $summary['last_pos'] . ' [total] ' . $summary['list_size']);
	}
}
PK�^�\S�n�#�#"litespeed-cache/cli/online.cls.phpnu�[���<?php
/**
 * QUIC.cloud API CLI for LiteSpeed integration.
 *
 * @package LiteSpeed\CLI
 */

namespace LiteSpeed\CLI;

defined( 'WPINC' ) || exit();

use LiteSpeed\Debug2;
use LiteSpeed\Cloud;
use WP_CLI;

/**
 * QUIC.cloud API CLI
 */
class Online {

	/**
	 * Cloud instance.
	 *
	 * @var Cloud
	 */
	private $cloud;

	/**
	 * Constructor for Online CLI.
	 */
	public function __construct() {
		Debug2::debug( 'CLI_Cloud init' );

		$this->cloud = Cloud::cls();
	}

	/**
	 * Init domain on QUIC.cloud server (See https://quic.cloud/terms/)
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Activate domain on QUIC.cloud (! Require SERVER IP setting to be set first)
	 *     $ wp litespeed-online init
	 */
	public function init() {
		$resp = $this->cloud->init_qc_cli();
		if ( ! empty( $resp['qc_activated'] ) ) {
			$main_domain = ! empty( $resp['main_domain'] ) ? $resp['main_domain'] : false;
			$this->cloud->update_qc_activation( $resp['qc_activated'], $main_domain );
			WP_CLI::success( 'Init successfully. Activated type: ' . $resp['qc_activated'] );
		} else {
			WP_CLI::error( 'Init failed!' );
		}
	}

	/**
	 * Init domain CDN service on QUIC.cloud server (See https://quic.cloud/terms/)
	 *
	 * ## OPTIONS
	 *
	 * [--method=<method>]
	 * : The method to use (e.g., cname, ns, cfi).
	 *
	 * [--ssl-cert=<cert>]
	 * : Path to SSL certificate.
	 *
	 * [--ssl-key=<key>]
	 * : Path to SSL key.
	 *
	 * [--cf-token=<token>]
	 * : Cloudflare token for CFI method.
	 *
	 * [--format=<format>]
	 * : Output format (e.g., json).
	 *
	 * ## EXAMPLES
	 *
	 *     # Activate domain CDN on QUIC.cloud (support --format=json)
	 *     $ wp litespeed-online cdn_init --method=cname|ns
	 *     $ wp litespeed-online cdn_init --method=cname|ns --ssl-cert=xxx.pem --ssl-key=xxx
	 *     $ wp litespeed-online cdn_init --method=cname|ns --ssl-cert=xxx.pem --ssl-key=xxx --json
	 *     $ wp litespeed-online cdn_init --method=cfi --cf-token=xxxxxxxx
	 *     $ wp litespeed-online cdn_init --method=cfi --cf-token=xxxxxxxx  --ssl-cert=xxx.pem --ssl-key=xxx
	 *     $ wp litespeed-online cdn_init --method=cfi --cf-token=xxxxxxxx  --ssl-cert=xxx.pem --ssl-key=xxx --format=json
	 *
	 * @param array $args Positional arguments.
	 * @param array $assoc_args Associative arguments.
	 */
	public function cdn_init( $args, $assoc_args ) {
		if ( empty( $assoc_args['method'] ) ) {
			WP_CLI::error( 'Init CDN failed! Missing parameters `--method`.' );
			return;
		}
		if ( ( ! empty( $assoc_args['ssl-cert'] ) && empty( $assoc_args['ssl-key'] ) ) || ( empty( $assoc_args['ssl-cert'] ) && ! empty( $assoc_args['ssl-key'] ) ) ) {
			WP_CLI::error( 'Init CDN failed! SSL cert must be present together w/ SSL key.' );
			return;
		}

		if ( 'cfi' === $assoc_args['method'] && empty( $assoc_args['cf-token'] ) ) {
			WP_CLI::error( 'Init CDN failed! CFI must set `--cf-token`.' );
			return;
		}

		$cert     = ! empty( $assoc_args['ssl-cert'] ) ? $assoc_args['ssl-cert'] : '';
		$key      = ! empty( $assoc_args['ssl-key'] ) ? $assoc_args['ssl-key'] : '';
		$cf_token = ! empty( $assoc_args['cf-token'] ) ? $assoc_args['cf-token'] : '';

		$resp = $this->cloud->init_qc_cdn_cli( $assoc_args['method'], $cert, $key, $cf_token );
		if ( ! empty( $resp['qc_activated'] ) ) {
			$main_domain = ! empty( $resp['main_domain'] ) ? $resp['main_domain'] : false;
			$this->cloud->update_qc_activation( $resp['qc_activated'], $main_domain, true );
		}
		if ( ! empty( $assoc_args['format'] ) && 'json' === $assoc_args['format'] ) {
			WP_CLI::log( wp_json_encode( $resp ) );
			return;
		}
		if ( ! empty( $resp['qc_activated'] ) ) {
			WP_CLI::success( 'Init QC CDN successfully. Activated type: ' . $resp['qc_activated'] );
		} else {
			WP_CLI::error( 'Init QC CDN failed!' );
		}

		if ( ! empty( $resp['cname'] ) ) {
			WP_CLI::success( 'cname: ' . $resp['cname'] );
		}
		if ( ! empty( $resp['msgs'] ) ) {
			WP_CLI::success( 'msgs: ' . wp_json_encode( $resp['msgs'] ) );
		}
	}

	/**
	 * Link user account by api key
	 *
	 * ## OPTIONS
	 *
	 * [--email=<email>]
	 * : User email for QUIC.cloud account.
	 *
	 * [--api-key=<key>]
	 * : API key for QUIC.cloud account.
	 *
	 * ## EXAMPLES
	 *
	 *     # Link user account by api key
	 *     $ wp litespeed-online link --email=xxx@example.com --api-key=xxxx
	 *
	 * @param array $args Positional arguments.
	 * @param array $assoc_args Associative arguments.
	 */
	public function link( $args, $assoc_args ) {
		if ( empty( $assoc_args['email'] ) || empty( $assoc_args['api-key'] ) ) {
			WP_CLI::error( 'Link to QUIC.cloud failed! Missing parameters `--email` or `--api-key`.' );
			return;
		}

		$resp = $this->cloud->link_qc_cli( $assoc_args['email'], $assoc_args['api-key'] );
		if ( ! empty( $resp['qc_activated'] ) ) {
			$main_domain = ! empty( $resp['main_domain'] ) ? $resp['main_domain'] : false;
			$this->cloud->update_qc_activation( $resp['qc_activated'], $main_domain, true );
			WP_CLI::success( 'Link successfully!' );
			WP_CLI::log( wp_json_encode( $resp ) );
		} else {
			WP_CLI::error( 'Link failed!' );
		}
	}

	/**
	 * Sync usage data from QUIC.cloud
	 *
	 * ## OPTIONS
	 *
	 * [--format=<format>]
	 * : Output format (e.g., json).
	 *
	 * ## EXAMPLES
	 *
	 *     # Sync QUIC.cloud service usage info
	 *     $ wp litespeed-online sync
	 *     $ wp litespeed-online sync --json
	 *     $ wp litespeed-online sync --format=json
	 *
	 * @param array $args Positional arguments.
	 * @param array $assoc_args Associative arguments.
	 */
	public function sync( $args, $assoc_args ) {
		$json = $this->cloud->sync_usage();

		if ( ! empty( $assoc_args['format'] ) ) {
			WP_CLI::print_value( $json, $assoc_args );
			return;
		}

		WP_CLI::success( 'Sync successfully' );

		$list = array();
		foreach ( Cloud::$services as $v ) {
			$list[] = array(
				'key' => $v,
				'used' => ! empty( $json['usage.' . $v]['used'] ) ? $json['usage.' . $v]['used'] : 0,
				'quota' => ! empty( $json['usage.' . $v]['quota'] ) ? $json['usage.' . $v]['quota'] : 0,
				'PayAsYouGo_Used' => ! empty( $json['usage.' . $v]['pag_used'] ) ? $json['usage.' . $v]['pag_used'] : 0,
				'PayAsYouGo_Balance' => ! empty( $json['usage.' . $v]['pag_bal'] ) ? $json['usage.' . $v]['pag_bal'] : 0,
			);
		}

		WP_CLI\Utils\format_items( 'table', $list, array( 'key', 'used', 'quota', 'PayAsYouGo_Used', 'PayAsYouGo_Balance' ) );
	}

	/**
	 * Check QC account status
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Check QC account status
	 *     $ wp litespeed-online cdn_status
	 */
	public function cdn_status() {
		$resp = $this->cloud->cdn_status_cli();
		WP_CLI::log( wp_json_encode( $resp ) );
	}

	/**
	 * List all QUIC.cloud services
	 *
	 * ## OPTIONS
	 *
	 * [--format=<format>]
	 * : Output format (e.g., json).
	 *
	 * ## EXAMPLES
	 *
	 *     # List all services tag
	 *     $ wp litespeed-online services
	 *     $ wp litespeed-online services --json
	 *     $ wp litespeed-online services --format=json
	 *
	 * @param array $args Positional arguments.
	 * @param array $assoc_args Associative arguments.
	 */
	public function services( $args, $assoc_args ) {
		if ( ! empty( $assoc_args['format'] ) ) {
			WP_CLI::print_value( Cloud::$services, $assoc_args );
			return;
		}

		$list = array();
		foreach ( Cloud::$services as $v ) {
			$list[] = array(
				'service' => $v,
			);
		}

		WP_CLI\Utils\format_items( 'table', $list, array( 'service' ) );
	}

	/**
	 * List all QUIC.cloud servers in use
	 *
	 * ## OPTIONS
	 *
	 * [--format=<format>]
	 * : Output format (e.g., json).
	 *
	 * ## EXAMPLES
	 *
	 *     # List all QUIC.cloud servers in use
	 *     $ wp litespeed-online nodes
	 *     $ wp litespeed-online nodes --json
	 *     $ wp litespeed-online nodes --format=json
	 *
	 * @param array $args Positional arguments.
	 * @param array $assoc_args Associative arguments.
	 */
	public function nodes( $args, $assoc_args ) {
		$json = Cloud::get_summary();

		$list        = array();
		$json_output = array();
		foreach ( Cloud::$services as $v ) {
			$server        = ! empty( $json['server.' . $v] ) ? $json['server.' . $v] : '';
			$list[]        = array(
				'service' => $v,
				'server' => $server,
			);
			$json_output[] = array( $v => $server );
		}

		if ( ! empty( $assoc_args['format'] ) ) {
			WP_CLI::print_value( $json_output, $assoc_args );
			return;
		}

		WP_CLI\Utils\format_items( 'table', $list, array( 'service', 'server' ) );
	}

	/**
	 * Detect closest node server for current service
	 *
	 * ## OPTIONS
	 *
	 * [<service>]
	 * : Service to ping (e.g., img_optm).
	 *
	 * [--force]
	 * : Force detection of the closest server.
	 *
	 * ## EXAMPLES
	 *
	 *     # Detect closest node for one service
	 *     $ wp litespeed-online ping img_optm
	 *     $ wp litespeed-online ping img_optm --force
	 *
	 * @param array $param Positional arguments (service).
	 * @param array $assoc_args Associative arguments.
	 */
	public function ping( $param, $assoc_args ) {
		$svc   = $param[0];
		$force = ! empty( $assoc_args['force'] );

		$json = $this->cloud->detect_cloud( $svc, $force );
		if ( $json ) {
			WP_CLI::success( 'Updated closest server.' );
		}
		WP_CLI::log( 'svc = ' . $svc );
		WP_CLI::log( 'node = ' . ( $json ? $json : '-' ) );
	}
}
PK�^�\v�mS��$litespeed-cache/cli/database.cls.phpnu�[���<?php
/**
 * LiteSpeed CLI - database cleanup
 *
 * Add CLI database cleanup commands.
 *
 * @package LiteSpeed
 * @since 7.3
 */

namespace LiteSpeed\CLI;

defined('WPINC') || exit();

use LiteSpeed\Debug2;
use LiteSpeed\DB_Optm;
use WP_CLI;

/**
 * LiteSpeed Cache Database CLI
 */
class Database {
	/**
	 * Current blog id the optimization is working on.
	 *
	 * @var int|false $current_blog Current blog id.
	 */
	private $current_blog = false;
	/**
	 * Database class.
	 *
	 * @var DB_Optim $db Database class.
	 */
	private $db;

	/**
	 * Class constructor.
	 */
	public function __construct() {
		Debug2::debug('CLI_Database init');

		$this->db = DB_Optm::cls();
	}

	/**
	 * List all site domains and ids on the network.
	 */
	public function network_list() {
		if ( !is_multisite() ) {
			WP_CLI::error('This is not a multisite installation!');

			return;
		}
		$buf = WP_CLI::colorize("%CThe list of installs:%n\n");

		$sites = get_sites();
		foreach ( $sites as $site ) {
			$buf .= WP_CLI::colorize( '%Y' . $site->domain . $site->path . ':%n ID ' . $site->blog_id ) . "\n";
		}

		WP_CLI::line($buf);
	}

	/**
	 * Change to blog sent as param.
	 *
	 * @param array $args Description.
	 */
	private function change_to_blog( $args ) {
		if ( !isset( $args[0] ) || 'blog' !== $args[0] ) {
			return;
		}

		$this->current_blog = get_current_blog_id();
		$blogid             = $args[1];
		if ( !is_numeric( $blogid ) ) {
			$error = WP_CLI::colorize( '%RError: invalid blog id entered.%n' );
			WP_CLI::line( $error );
			$this->network_list( $args );
			return;
		}
		$site = get_blog_details( $blogid );
		if ( false === $site ) {
			$error = WP_CLI::colorize( '%RError: invalid blog id entered.%n' );
			WP_CLI::line( $error );
			$this->network_list( $args );
			return;
		}
		switch_to_blog( $blogid );
	}

	/**
	 * Change to previous blog.
	 */
	private function change_to_default() {
		// Check if previous blog set.
		if ( $this->current_blog ) {
			switch_to_blog( $this->current_blog );
			// Switched to previous blog.
			$this->current_blog = false;
		}
	}

	/**
	 * Show CLI response.
	 *
	 * @param boolean $result Flag if result is success or failure.
	 * @param string  $action Action name.
	 */
	private function show_response( $result, $action ) {
		if ($result) {
			WP_CLI::success( $result );
		} else {
			WP_CLI::error( 'Error running optimization: ' . $action );
		}
	}

	/**
	 * Clean actions function.
	 *
	 * @param int   $args Action arguments.
	 * @param array $types What data to clean.
	 */
	private function clean_action( $args, $types ) {
		$this->change_to_blog( $args );
		foreach ( $types as $type ) {
			$result = $this->db->handler_clean_db_cli( $type );
			$this->show_response( $result, $type );
		}
		$this->change_to_default();
	}

	/**
	 * Clear posts data(revisions, orphaned, auto drafts, trashed posts).
	 *     # Start clearing posts data.
	 *     $ wp litespeed-database clear_posts
	 *     $ wp litespeed-database clear_posts blog 2
	 *
	 * @param string $args Action arguments.
	 */
	public function clear_posts( $args ) {
		$types = array(
			'revision',
			'orphaned_post_meta',
			'auto_draft',
			'trash_post',
		);
		$this->clean_action( $args, $types );
	}

	/**
	 * Clear comments(spam and trash comments).
	 *     # Start clearing comments.
	 *     $ wp litespeed-database clear_comments
	 *     $ wp litespeed-database clear_comments blog 2
	 *
	 * @param string $args Action arguments.
	 */
	public function clear_comments( $args ) {
		$types = array(
			'spam_comment',
			'trash_comment',
		);
		$this->clean_action( $args, $types );
	}

	/**
	 * Clear trackbacks/pingbacks.
	 *     # Start clearing trackbacks/pingbacks.
	 *     $ wp litespeed-database clear_trackbacks
	 *     $ wp litespeed-database clear_trackbacks blog 2
	 *
	 * @param string $args Action arguments.
	 */
	public function clear_trackbacks( $args ) {
		$types = array(
			'trackback-pingback',
		);
		$this->clean_action( $args, $types );
	}

	/**
	 * Clear transients.
	 *     # Start clearing transients.
	 *     $ wp litespeed-database clear_transients
	 *     $ wp litespeed-database clear_transients blog 2
	 *
	 * @param string $args Action arguments.
	 */
	public function clear_transients( $args ) {
		$types = array(
			'expired_transient',
			'all_transients',
		);
		$this->clean_action( $args, $types );
	}

	/**
	 * Optimize tables.
	 *     # Start optimizing tables.
	 *     $ wp litespeed-database optimize_tables
	 *     $ wp litespeed-database optimize_tables blog 2
	 *
	 * @param string $args Action arguments.
	 */
	public function optimize_tables( $args ) {
		$types = array(
			'optimize_tables',
		);
		$this->clean_action( $args, $types );
	}

	/**
	 * Optimize database by running all possible operations.
	 *     # Start optimizing all.
	 *     $ wp litespeed-database optimize_all
	 *     $ wp litespeed-database optimize_all blog 2
	 *
	 * @param string $args Action arguments.
	 */
	public function optimize_all( $args ) {
		$types = array(
			'all',
		);
		$this->clean_action( $args, $types );
	}
}
PK�^�\�p#BB!litespeed-cache/cli/purge.cls.phpnu�[���<?php
/**
 * LiteSpeed Cache Purge Interface CLI.
 *
 * @package LiteSpeed\CLI
 */

namespace LiteSpeed\CLI;

defined( 'WPINC' ) || exit();

use LiteSpeed\Core;
use LiteSpeed\Router;
use LiteSpeed\Admin_Display;
use WP_CLI;

/**
 * LiteSpeed Cache Purge Interface
 */
class Purge {

	/**
	 * List all site domains and ids on the network.
	 *
	 * For use with the blog subcommand.
	 *
	 * ## EXAMPLES
	 *
	 *     # List all the site domains and ids in a table.
	 *     $ wp litespeed-purge network_list
	 */
	public function network_list() {
		if ( ! is_multisite() ) {
			WP_CLI::error( 'This is not a multisite installation!' );
			return;
		}

		$buf = WP_CLI::colorize( '%CThe list of installs:%n' ) . PHP_EOL;

		$sites = get_sites();
		foreach ( $sites as $site ) {
			$buf .= WP_CLI::colorize( '%Y' . $site->domain . $site->path . ':%n ID ' . $site->blog_id ) . PHP_EOL;
		}

		WP_CLI::line( $buf );
	}

	/**
	 * Sends an AJAX request to the site.
	 *
	 * @param string $action The action to perform.
	 * @param array  $extra  Additional data to include in the request.
	 * @return object The HTTP response.
	 * @since 1.0.14
	 */
	private function send_request( $action, $extra = array() ) {
		$data = array(
			Router::ACTION => $action,
			Router::NONCE => wp_create_nonce( $action ),
		);
		if ( ! empty( $extra ) ) {
			$data = array_merge( $data, $extra );
		}

		$url = admin_url( 'admin-ajax.php' );
		WP_CLI::debug( 'URL is ' . $url );

		$out = WP_CLI\Utils\http_request( 'GET', $url, $data );
		return $out;
	}

	/**
	 * Purges all cache entries for the blog (the entire network if multisite).
	 *
	 * ## EXAMPLES
	 *
	 *     # Purge Everything associated with the WordPress install.
	 *     $ wp litespeed-purge all
	 */
	public function all() {
		$action = is_multisite() ? Core::ACTION_QS_PURGE_EMPTYCACHE : Core::ACTION_QS_PURGE_ALL;

		$purge_ret = $this->send_request( $action );

		if ( $purge_ret->success ) {
			WP_CLI::success( __( 'Purged All!', 'litespeed-cache' ) );
		} else {
			WP_CLI::error( 'Something went wrong! Got ' . $purge_ret->status_code );
		}
	}

	/**
	 * Purges all cache entries for the blog.
	 *
	 * ## OPTIONS
	 *
	 * <blogid>
	 * : The blog id to purge.
	 *
	 * ## EXAMPLES
	 *
	 *     # In a multisite install, purge only the shop.example.com cache (stored as blog id 2).
	 *     $ wp litespeed-purge blog 2
	 *
	 * @param array $args Positional arguments (blogid).
	 */
	public function blog( $args ) {
		if ( ! is_multisite() ) {
			WP_CLI::error( 'Not a multisite installation.' );
			return;
		}

		$blogid = $args[0];
		if ( ! is_numeric( $blogid ) ) {
			$error = WP_CLI::colorize( '%RError: invalid blog id entered.%n' );
			WP_CLI::line( $error );
			$this->network_list( $args );
			return;
		}

		$site = get_blog_details( $blogid );
		if ( false === $site ) {
			$error = WP_CLI::colorize( '%RError: invalid blog id entered.%n' );
			WP_CLI::line( $error );
			$this->network_list( $args );
			return;
		}

		switch_to_blog( $blogid );

		$purge_ret = $this->send_request( Core::ACTION_QS_PURGE_ALL );
		if ( $purge_ret->success ) {
			WP_CLI::success( __( 'Purged the blog!', 'litespeed-cache' ) );
		} else {
			WP_CLI::error( 'Something went wrong! Got ' . $purge_ret->status_code );
		}
	}

	/**
	 * Purges all cache tags related to a URL.
	 *
	 * ## OPTIONS
	 *
	 * <url>
	 * : The URL to purge.
	 *
	 * ## EXAMPLES
	 *
	 *     # Purge the front page.
	 *     $ wp litespeed-purge url https://mysite.com/
	 *
	 * @param array $args Positional arguments (URL).
	 */
	public function url( $args ) {
		$data          = array(
			Router::ACTION => Core::ACTION_QS_PURGE,
		);
		$url           = $args[0];
		$deconstructed = wp_parse_url( $url );
		if ( empty( $deconstructed ) ) {
			WP_CLI::error( 'URL passed in is invalid.' );
			return;
		}

		if ( is_multisite() ) {
			if ( 0 === get_blog_id_from_url( $deconstructed['host'], '/' ) ) {
				WP_CLI::error( 'Multisite URL passed in is invalid.' );
				return;
			}
		} else {
			$deconstructed_site = wp_parse_url( get_home_url() );
			if ( $deconstructed['host'] !== $deconstructed_site['host'] ) {
				WP_CLI::error( 'Single site URL passed in is invalid.' );
				return;
			}
		}

		WP_CLI::debug( 'URL is ' . $url );

		$purge_ret = WP_CLI\Utils\http_request( 'GET', $url, $data );
		if ( $purge_ret->success ) {
			WP_CLI::success( __( 'Purged the URL!', 'litespeed-cache' ) );
		} else {
			WP_CLI::error( 'Something went wrong! Got ' . $purge_ret->status_code );
		}
	}

	/**
	 * Helper function for purging by IDs.
	 *
	 * @param array    $args     The ID list to parse.
	 * @param string   $select   The purge by kind.
	 * @param callable $callback The callback function to check the ID.
	 */
	private function purgeby( $args, $select, $callback ) {
		$filtered = array();
		foreach ( $args as $val ) {
			if ( ! ctype_digit( $val ) ) {
				WP_CLI::debug( '[LSCACHE] Skip val, not a number. ' . $val );
				continue;
			}
			$term = $callback( $val );
			if ( ! empty( $term ) ) {
				WP_CLI::line( $term->name );
				$filtered[] = in_array( $callback, array( 'get_tag', 'get_category' ), true ) ? $term->name : $val;
			} else {
				WP_CLI::debug( '[LSCACHE] Skip val, not a valid term. ' . $val );
			}
		}

		if ( empty( $filtered ) ) {
			WP_CLI::error( 'Arguments must be integer IDs.' );
			return;
		}

		$str = implode( ',', $filtered );

		$purge_titles = array(
			Admin_Display::PURGEBY_CAT => 'Category',
			Admin_Display::PURGEBY_PID => 'Post ID',
			Admin_Display::PURGEBY_TAG => 'Tag',
			Admin_Display::PURGEBY_URL => 'URL',
		);

		WP_CLI::line( 'Will purge the following: [' . $purge_titles[ $select ] . '] ' . $str );

		$data = array(
			Admin_Display::PURGEBYOPT_SELECT => $select,
			Admin_Display::PURGEBYOPT_LIST   => $str,
		);

		$purge_ret = $this->send_request( Core::ACTION_PURGE_BY, $data );
		if ( $purge_ret->success ) {
			WP_CLI::success( __( 'Purged!', 'litespeed-cache' ) );
		} else {
			WP_CLI::error( 'Something went wrong! Got ' . $purge_ret->status_code );
		}
	}

	/**
	 * Purges cache tags for a WordPress tag.
	 *
	 * ## OPTIONS
	 *
	 * <ids>...
	 * : The Term IDs to purge.
	 *
	 * ## EXAMPLES
	 *
	 *     # Purge the tag IDs 1, 3, and 5
	 *     $ wp litespeed-purge tag 1 3 5
	 *
	 * @param array $args Positional arguments (IDs).
	 */
	public function tag( $args ) {
		$this->purgeby( $args, Admin_Display::PURGEBY_TAG, 'get_tag' );
	}

	/**
	 * Purges cache tags for a WordPress category.
	 *
	 * ## OPTIONS
	 *
	 * <ids>...
	 * : The Term IDs to purge.
	 *
	 * ## EXAMPLES
	 *
	 *     # Purge the category IDs 1, 3, and 5
	 *     $ wp litespeed-purge category 1 3 5
	 *
	 * @param array $args Positional arguments (IDs).
	 */
	public function category( $args ) {
		$this->purgeby( $args, Admin_Display::PURGEBY_CAT, 'get_category' );
	}

	/**
	 * Purges cache tags for a WordPress Post/Product.
	 *
	 * @alias product
	 *
	 * ## OPTIONS
	 *
	 * <ids>...
	 * : The Post IDs to purge.
	 *
	 * ## EXAMPLES
	 *
	 *     # Purge the post IDs 1, 3, and 5
	 *     $ wp litespeed-purge post_id 1 3 5
	 *
	 * @param array $args Positional arguments (IDs).
	 */
	public function post_id( $args ) {
		$this->purgeby( $args, Admin_Display::PURGEBY_PID, 'get_post' );
	}
}
PK�^�\�#��!litespeed-cache/cli/debug.cls.phpnu�[���<?php
/**
 * Debug API CLI for LiteSpeed integration.
 *
 * @package LiteSpeed\CLI
 */

namespace LiteSpeed\CLI;

defined( 'WPINC' ) || exit();

use LiteSpeed\Debug2;
use LiteSpeed\Report;
use WP_CLI;

/**
 * Debug API CLI
 */
class Debug {

	/**
	 * Report instance.
	 *
	 * @var Report
	 */
	private $report;

	/**
	 * Constructor for Debug CLI.
	 */
	public function __construct() {
		Debug2::debug( 'CLI_Debug init' );

		$this->report = Report::cls();
	}

	/**
	 * Send report
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Send env report to LiteSpeed
	 *     $ wp litespeed-debug send
	 */
	public function send() {
		$num = $this->report->post_env();
		WP_CLI::success( 'Report Number = ' . $num );
	}
}
PK�^�\'�1GNN#litespeed-cache/cli/presets.cls.phpnu�[���<?php
/**
 * Presets CLI for LiteSpeed Cache.
 *
 * @package LiteSpeed\CLI
 */

namespace LiteSpeed\CLI;

defined( 'WPINC' ) || exit();

use LiteSpeed\Debug2;
use LiteSpeed\Preset;
use WP_CLI;

/**
 * Presets CLI
 */
class Presets {

	/**
	 * Preset instance.
	 *
	 * @var Preset
	 */
	private $preset;

	/**
	 * Constructor for Presets CLI.
	 */
	public function __construct() {
		Debug2::debug( 'CLI_Presets init' );

		$this->preset = Preset::cls();
	}

	/**
	 * Applies a standard preset's settings.
	 *
	 * ## OPTIONS
	 *
	 * <preset>
	 * : The preset name to apply (e.g., basic).
	 *
	 * ## EXAMPLES
	 *
	 *     # Apply the preset called "basic"
	 *     $ wp litespeed-presets apply basic
	 *
	 * @param array $args Positional arguments (preset).
	 */
	public function apply( $args ) {
		$preset = $args[0];

		if ( empty( $preset ) ) {
			WP_CLI::error( 'Please specify a preset to apply.' );
			return;
		}

		return $this->preset->apply( $preset );
	}

	/**
	 * Returns sorted backup names.
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Get all backups
	 *     $ wp litespeed-presets get_backups
	 */
	public function get_backups() {
		$backups = $this->preset->get_backups();

		foreach ( $backups as $backup ) {
			WP_CLI::line( $backup );
		}
	}

	/**
	 * Restores settings from the backup file with the given timestamp, then deletes the file.
	 *
	 * ## OPTIONS
	 *
	 * <timestamp>
	 * : The timestamp of the backup to restore.
	 *
	 * ## EXAMPLES
	 *
	 *     # Restore the backup with the timestamp 1667485245
	 *     $ wp litespeed-presets restore 1667485245
	 *
	 * @param array $args Positional arguments (timestamp).
	 */
	public function restore( $args ) {
		$timestamp = $args[0];

		if ( empty( $timestamp ) ) {
			WP_CLI::error( 'Please specify a timestamp to restore.' );
			return;
		}

		return $this->preset->restore( $timestamp );
	}
}
PK�^�\	C��l(l("litespeed-cache/cli/option.cls.phpnu�[���<?php
/**
 * LiteSpeed Cache option Interface CLI.
 *
 * @package LiteSpeed\CLI
 */

namespace LiteSpeed\CLI;

defined( 'WPINC' ) || exit();

use LiteSpeed\Base;
use LiteSpeed\Admin_Settings;
use LiteSpeed\Utility;
use WP_CLI;
use WP_Filesystem;

/**
 * LiteSpeed Cache option Interface
 */
class Option extends Base {

	/**
	 * Set an individual LiteSpeed Cache option.
	 *
	 * ## OPTIONS
	 *
	 * <key>
	 * : The option key to update.
	 *
	 * <newvalue>
	 * : The new value to set the option to.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set to not cache the login page
	 *     $ wp litespeed-option set cache-priv false
	 *     $ wp litespeed-option set 'cdn-mapping[url][0]' https://cdn.EXAMPLE.com
	 *     $ wp litespeed-option set media-lqip_exc $'line1\nline2'
	 *
	 * @param array $args Positional arguments (key, newvalue).
	 * @param array $assoc_args Associative arguments.
	 */
	public function set( $args, $assoc_args ) {
		// Note: If the value is multiple dimensions like cdn-mapping, need to specially handle it both here and in `const.default.json`
		// For CDN/Crawler multi dimension settings, if all children are empty in one line, will delete that line. To delete one line, just set all to empty.
		// E.g. to delete cdn-mapping[0], need to run below:
		// `set cdn-mapping[url][0] ''`
		// `set cdn-mapping[inc_img][0] ''`
		// `set cdn-mapping[inc_css][0] ''`
		// `set cdn-mapping[inc_js][0] ''`
		// `set cdn-mapping[filetype][0] ''`

		$key = $args[0];
		$val = $args[1];

		// For CDN mapping, allow:
		// `set 'cdn-mapping[url][0]' https://the1st_cdn_url`
		// `set 'cdn-mapping[inc_img][0]' true`
		// `set 'cdn-mapping[inc_img][0]' 1`
		//
		// For Crawler cookies:
		// `set 'crawler-cookies[name][0]' my_currency`
		// `set 'crawler-cookies[vals][0]' "USD\nTWD"`
		//
		// For multi lines setting:
		// `set media-lqip_exc $'img1.jpg\nimg2.jpg'`

		// Build raw data
		$raw_data = array(
			Admin_Settings::ENROLL => array( $key ),
		);

		// Contains child set
		if ( false !== strpos( $key, '[' ) ) {
			parse_str( $key . '=' . $val, $key2 );
			$raw_data = array_merge( $raw_data, $key2 );
		} else {
			$raw_data[ $key ] = $val;
		}

		$this->cls( 'Admin_Settings' )->save( $raw_data );
		WP_CLI::line( "$key:" );
		$this->get( $args, $assoc_args );
	}

	/**
	 * Get all plugin options.
	 *
	 * ## OPTIONS
	 *
	 * [--format=<format>]
	 * : Output format (e.g., json).
	 *
	 * ## EXAMPLES
	 *
	 *     # Get all options
	 *     $ wp litespeed-option all
	 *     $ wp litespeed-option all --json
	 *     $ wp litespeed-option all --format=json
	 *
	 * @param array $args Positional arguments.
	 * @param array $assoc_args Associative arguments.
	 */
	public function all( $args, $assoc_args ) {
		$options = $this->get_options();

		if ( ! empty( $assoc_args['format'] ) ) {
			WP_CLI::print_value( $options, $assoc_args );
			return;
		}

		$option_out = array();

		$buf = WP_CLI::colorize( '%CThe list of options:%n' );
		WP_CLI::line( $buf );

		foreach ( $options as $k => $v ) {
			if ( self::O_CDN_MAPPING === $k || self::O_CRAWLER_COOKIES === $k ) {
				foreach ( $v as $k2 => $v2 ) {
					// $k2 is numeric
					if ( is_array( $v2 ) ) {
						foreach ( $v2 as $k3 => $v3 ) {
							// $k3 is 'url/inc_img/name/vals'
							if ( is_array( $v3 ) ) {
								$option_out[] = array(
									'key'   => '',
									'value' => '',
								);
								foreach ( $v3 as $k4 => $v4 ) {
									$option_out[] = array(
										'key'   => 0 === $k4 ? "{$k}[$k3][$k2]" : '',
										'value' => $v4,
									);
								}
								$option_out[] = array(
									'key'   => '',
									'value' => '',
								);
							} else {
								$option_out[] = array(
									'key'   => "{$k}[$k3][$k2]",
									'value' => $v3,
								);
							}
						}
					}
				}
				continue;
			} elseif ( is_array( $v ) && $v ) {
				$option_out[] = array(
					'key'   => '',
					'value' => '',
				);
				foreach ( $v as $k2 => $v2 ) {
					$option_out[] = array(
						'key'   => 0 === $k2 ? $k : '',
						'value' => $v2,
					);
				}
				$option_out[] = array(
					'key'   => '',
					'value' => '',
				);
				continue;
			}

			if ( array_key_exists( $k, self::$_default_options ) && is_bool( self::$_default_options[ $k ] ) && ! $v ) {
				$v = 0;
			}

			if ( '' === $v || array() === $v ) {
				$v = "''";
			}

			$option_out[] = array(
				'key'   => $k,
				'value' => $v,
			);
		}

		WP_CLI\Utils\format_items( 'table', $option_out, array( 'key', 'value' ) );
	}

	/**
	 * Get a specific plugin option.
	 *
	 * ## OPTIONS
	 *
	 * <id>
	 * : The option ID to retrieve (e.g., cache-priv, cdn-mapping[url][0]).
	 *
	 * ## EXAMPLES
	 *
	 *     # Get one option
	 *     $ wp litespeed-option get cache-priv
	 *     $ wp litespeed-option get 'cdn-mapping[url][0]'
	 *
	 * @param array $args Positional arguments (id).
	 * @param array $assoc_args Associative arguments.
	 */
	public function get( $args, $assoc_args ) {
		$id = $args[0];

		$child = false;
		if ( false !== strpos( $id, '[' ) ) {
			parse_str( $id, $id2 );
			Utility::compatibility();
			$id = array_key_first( $id2 );

			$child = array_key_first( $id2[ $id ] ); // is `url`
			if ( ! $child ) {
				WP_CLI::error( 'Wrong child key' );
				return;
			}
			$numeric = array_key_first( $id2[ $id ][ $child ] ); // `0`
			if ( null === $numeric ) {
				WP_CLI::error( 'Wrong 2nd level numeric key' );
				return;
			}
		}

		if ( ! isset( self::$_default_options[ $id ] ) ) {
			WP_CLI::error( 'ID not exist [id] ' . $id );
			return;
		}

		$v         = $this->conf( $id );
		$default_v = self::$_default_options[ $id ];

		// For CDN_mapping and crawler_cookies
		// Examples of option name:
		// cdn-mapping[url][0]
		// crawler-cookies[name][1]
		if ( self::O_CDN_MAPPING === $id ) {
			if ( ! in_array( $child, array( self::CDN_MAPPING_URL, self::CDN_MAPPING_INC_IMG, self::CDN_MAPPING_INC_CSS, self::CDN_MAPPING_INC_JS, self::CDN_MAPPING_FILETYPE ), true ) ) {
				WP_CLI::error( 'Wrong child key' );
				return;
			}
		}
		if ( self::O_CRAWLER_COOKIES === $id ) {
			if ( ! in_array( $child, array( self::CRWL_COOKIE_NAME, self::CRWL_COOKIE_VALS ), true ) ) {
				WP_CLI::error( 'Wrong child key' );
				return;
			}
		}

		if ( self::O_CDN_MAPPING === $id || self::O_CRAWLER_COOKIES === $id ) {
			if ( ! empty( $v[ $numeric ][ $child ] ) ) {
				$v = $v[ $numeric ][ $child ];
			} elseif ( self::O_CDN_MAPPING === $id ) {
				if ( in_array( $child, array( self::CDN_MAPPING_INC_IMG, self::CDN_MAPPING_INC_CSS, self::CDN_MAPPING_INC_JS ), true ) ) {
					$v = 0;
				} else {
					$v = "''";
				}
			} else {
				$v = "''";
			}
		}

		if ( is_array( $v ) ) {
			$v = implode( PHP_EOL, $v );
		}

		if ( ! $v && self::O_CDN_MAPPING !== $id && self::O_CRAWLER_COOKIES !== $id ) {
			// empty array for CDN/crawler has been handled
			if ( is_bool( $default_v ) ) {
				$v = 0;
			} elseif ( ! is_array( $default_v ) ) {
				$v = "''";
			}
		}

		WP_CLI::line( $v );
	}

	/**
	 * Export plugin options to a file.
	 *
	 * ## OPTIONS
	 *
	 * [--filename=<path>]
	 * : The default path used is CURRENTDIR/lscache_wp_options_DATE-TIME.txt.
	 * To select a different file, use this option.
	 *
	 * ## EXAMPLES
	 *
	 *     # Export options to a file.
	 *     $ wp litespeed-option export
	 *
	 * @param array $args Positional arguments.
	 * @param array $assoc_args Associative arguments.
	 */
	public function export( $args, $assoc_args ) {
		if ( isset( $assoc_args['filename'] ) ) {
			$file = $assoc_args['filename'];
		} else {
			$file = getcwd() . '/litespeed_options_' . gmdate( 'd_m_Y-His' ) . '.data';
		}

		global $wp_filesystem;
		if ( ! $wp_filesystem ) {
			require_once ABSPATH . '/wp-admin/includes/file.php';
			WP_Filesystem();
		}

		if ( ! $wp_filesystem->is_writable( dirname( $file ) ) ) {
			WP_CLI::error( 'Directory not writable.' );
			return;
		}

		$data = $this->cls( 'Import' )->export( true );

		if ( false === $wp_filesystem->put_contents( $file, $data ) ) {
			WP_CLI::error( 'Failed to create file.' );
			return;
		}

		WP_CLI::success( 'Created file ' . $file );
	}

	/**
	 * Import plugin options from a file.
	 *
	 * The file must be formatted as such:
	 * option_key=option_value
	 * One per line.
	 * A semicolon at the beginning of the line indicates a comment and will be skipped.
	 *
	 * ## OPTIONS
	 *
	 * <file>
	 * : The file to import options from.
	 *
	 * ## EXAMPLES
	 *
	 *     # Import options from CURRENTDIR/options.txt
	 *     $ wp litespeed-option import options.txt
	 *
	 * @param array $args Positional arguments (file).
	 * @param array $assoc_args Associative arguments.
	 */
	public function import( $args, $assoc_args ) {
		$file = $args[0];

		global $wp_filesystem;
		if ( ! $wp_filesystem ) {
			require_once ABSPATH . '/wp-admin/includes/file.php';
			WP_Filesystem();
		}

		if ( ! $wp_filesystem->exists( $file ) || ! $wp_filesystem->is_readable( $file ) ) {
			WP_CLI::error( 'File does not exist or is not readable.' );
			return;
		}

		$res = $this->cls( 'Import' )->import( $file );

		if ( ! $res ) {
			WP_CLI::error( 'Failed to parse serialized data from file.' );
			return;
		}

		WP_CLI::success( 'Options imported. [File] ' . $file );
	}

	/**
	 * Import plugin options from a remote file.
	 *
	 * The file must be formatted as such:
	 * option_key=option_value
	 * One per line.
	 * A semicolon at the beginning of the line indicates a comment and will be skipped.
	 *
	 * ## OPTIONS
	 *
	 * <url>
	 * : The URL to import options from.
	 *
	 * ## EXAMPLES
	 *
	 *     # Import options from https://domain.com/options.txt
	 *     $ wp litespeed-option import_remote https://domain.com/options.txt
	 *
	 * @param array $args Positional arguments (url).
	 */
	public function import_remote( $args ) {
		$file = $args[0];

		$tmp_file = download_url( $file );

		if ( is_wp_error( $tmp_file ) ) {
			WP_CLI::error( 'Failed to download file.' );
			return;
		}

		$res = $this->cls( 'Import' )->import( $tmp_file );

		if ( ! $res ) {
			WP_CLI::error( 'Failed to parse serialized data from file.' );
			return;
		}

		WP_CLI::success( 'Options imported. [File] ' . $file );
	}

	/**
	 * Reset all options to default.
	 *
	 * ## EXAMPLES
	 *
	 *     # Reset all options
	 *     $ wp litespeed-option reset
	 */
	public function reset() {
		$this->cls( 'Import' )->reset();
	}
}
PK�^�\$!���!litespeed-cache/cli/image.cls.phpnu�[���<?php
/**
 * Image Optimization API CLI for LiteSpeed integration.
 *
 * @package LiteSpeed\CLI
 */

namespace LiteSpeed\CLI;

defined( 'WPINC' ) || exit();

use LiteSpeed\Lang;
use LiteSpeed\Debug2;
use LiteSpeed\Img_Optm;
use LiteSpeed\Utility;
use WP_CLI;

/**
 * Image Optimization API CLI
 */
class Image {

	/**
	 * Image optimization instance.
	 *
	 * @var Img_Optm
	 */
	private $img_optm;

	/**
	 * Constructor for Image CLI.
	 */
	public function __construct() {
		Debug2::debug( 'CLI_Cloud init' );

		$this->img_optm = Img_Optm::cls();
	}

	/**
	 * Batch toggle optimized images with original images.
	 *
	 * ## OPTIONS
	 *
	 * [<type>]
	 * : Type to switch to (orig or optm).
	 *
	 * ## EXAMPLES
	 *
	 *     # Switch to original images
	 *     $ wp litespeed-image batch_switch orig
	 *
	 *     # Switch to optimized images
	 *     $ wp litespeed-image batch_switch optm
	 *
	 * @param array $param Positional arguments (type).
	 */
	public function batch_switch( $param ) {
		$type = $param[0];
		$this->img_optm->batch_switch( $type );
	}

	/**
	 * Send image optimization request to QUIC.cloud server.
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Send image optimization request
	 *     $ wp litespeed-image push
	 */
	public function push() {
		$this->img_optm->new_req();
	}

	/**
	 * Pull optimized images from QUIC.cloud server.
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Pull images back from cloud
	 *     $ wp litespeed-image pull
	 */
	public function pull() {
		$this->img_optm->pull( true );
	}

	/**
	 * Show optimization status based on local data (alias for status).
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Show optimization status
	 *     $ wp litespeed-image s
	 */
	public function s() {
		$this->status();
	}

	/**
	 * Show optimization status based on local data.
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Show optimization status
	 *     $ wp litespeed-image status
	 */
	public function status() {
		$summary   = Img_Optm::get_summary();
		$img_count = $this->img_optm->img_count();
		foreach ( Lang::img_status() as $k => $v ) {
			if ( isset( $img_count["img.$k"] ) ) {
				$img_count["$v - images"] = $img_count["img.$k"];
				unset( $img_count["img.$k"] );
			}
			if ( isset( $img_count["group.$k"] ) ) {
				$img_count["$v - groups"] = $img_count["group.$k"];
				unset( $img_count["group.$k"] );
			}
		}

		foreach ( array( 'reduced', 'reduced_webp', 'reduced_avif' ) as $v ) {
			if ( ! empty( $summary[$v] ) ) {
				$summary[$v] = Utility::real_size( $summary[$v] );
			}
		}

		if ( ! empty( $summary['last_requested'] ) ) {
			$summary['last_requested'] = gmdate( 'm/d/y H:i:s', $summary['last_requested'] );
		}

		$list = array();
		foreach ( $summary as $k => $v ) {
			$list[] = array(
				'key'   => $k,
				'value' => $v,
			);
		}

		$list2 = array();
		foreach ( $img_count as $k => $v ) {
			if ( ! $v ) {
				continue;
			}
			$list2[] = array(
				'key'   => $k,
				'value' => $v,
			);
		}

		WP_CLI\Utils\format_items( 'table', $list, array( 'key', 'value' ) );

		WP_CLI::line( WP_CLI::colorize( '%CImages in database summary:%n' ) );
		WP_CLI\Utils\format_items( 'table', $list2, array( 'key', 'value' ) );
	}

	/**
	 * Clean up unfinished image data from QUIC.cloud server.
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Clean up unfinished requests
	 *     $ wp litespeed-image clean
	 */
	public function clean() {
		$this->img_optm->clean();

		WP_CLI::line( WP_CLI::colorize( '%CLatest status:%n' ) );

		$this->status();
	}

	/**
	 * Remove original image backups.
	 *
	 * ## OPTIONS
	 *
	 * ## EXAMPLES
	 *
	 *     # Remove original image backups
	 *     $ wp litespeed-image rm_bkup
	 */
	public function rm_bkup() {
		$this->img_optm->rm_bkup();
	}
}
PK�^�\���!litespeed-cache/package-lock.jsonnu�[���{
	"name": "litespeed-cache",
	"lockfileVersion": 3,
	"requires": true,
	"packages": {
		"": {
			"name": "litespeed-cache",
			"license": "GPLv3",
			"devDependencies": {
				"@prettier/plugin-php": "^0.21.0",
				"prettier": "^3.0.3"
			}
		},
		"node_modules/@prettier/plugin-php": {
			"version": "0.21.0",
			"resolved": "https://registry.npmjs.org/@prettier/plugin-php/-/plugin-php-0.21.0.tgz",
			"integrity": "sha512-vWC6HIUUfhvl/7F5IxVQ0ItGB/7ZY+jDlX7KsTqvfKMODW/zvzj8r1Ab4harS22+O3xxHykVVd5jvylmxMMctg==",
			"dev": true,
			"dependencies": {
				"linguist-languages": "^7.21.0",
				"mem": "^9.0.2",
				"php-parser": "^3.1.5"
			},
			"peerDependencies": {
				"prettier": "^3.0.0"
			}
		},
		"node_modules/linguist-languages": {
			"version": "7.27.0",
			"resolved": "https://registry.npmjs.org/linguist-languages/-/linguist-languages-7.27.0.tgz",
			"integrity": "sha512-Wzx/22c5Jsv2ag+uKy+ITanGA5hzvBZngrNGDXLTC7ZjGM6FLCYGgomauTkxNJeP9of353OM0pWqngYA180xgw==",
			"dev": true
		},
		"node_modules/map-age-cleaner": {
			"version": "0.1.3",
			"resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
			"integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
			"dev": true,
			"dependencies": {
				"p-defer": "^1.0.0"
			},
			"engines": {
				"node": ">=6"
			}
		},
		"node_modules/mem": {
			"version": "9.0.2",
			"resolved": "https://registry.npmjs.org/mem/-/mem-9.0.2.tgz",
			"integrity": "sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==",
			"dev": true,
			"dependencies": {
				"map-age-cleaner": "^0.1.3",
				"mimic-fn": "^4.0.0"
			},
			"engines": {
				"node": ">=12.20"
			},
			"funding": {
				"url": "https://github.com/sindresorhus/mem?sponsor=1"
			}
		},
		"node_modules/mimic-fn": {
			"version": "4.0.0",
			"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
			"integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
			"dev": true,
			"engines": {
				"node": ">=12"
			},
			"funding": {
				"url": "https://github.com/sponsors/sindresorhus"
			}
		},
		"node_modules/p-defer": {
			"version": "1.0.0",
			"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
			"integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==",
			"dev": true,
			"engines": {
				"node": ">=4"
			}
		},
		"node_modules/php-parser": {
			"version": "3.1.5",
			"resolved": "https://registry.npmjs.org/php-parser/-/php-parser-3.1.5.tgz",
			"integrity": "sha512-jEY2DcbgCm5aclzBdfW86GM6VEIWcSlhTBSHN1qhJguVePlYe28GhwS0yoeLYXpM2K8y6wzLwrbq814n2PHSoQ==",
			"dev": true
		},
		"node_modules/prettier": {
			"version": "3.0.3",
			"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
			"integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
			"dev": true,
			"bin": {
				"prettier": "bin/prettier.cjs"
			},
			"engines": {
				"node": ">=14"
			},
			"funding": {
				"url": "https://github.com/prettier/prettier?sponsor=1"
			}
		}
	}
}
PK�^�\ڜT���$litespeed-cache/lib/html-min.cls.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * Compress HTML
 *
 * This is a heavy regex-based removal of whitespace, unnecessary comments and
 * tokens. IE conditional comments are preserved. There are also options to have
 * STYLE and SCRIPT blocks compressed by callback functions.
 *
 * A test suite is available.
 *
 * @package Minify
 * @author Stephen Clay <steve@mrclay.org>
 */
namespace LiteSpeed\Lib;

defined( 'WPINC' ) || exit;

class HTML_MIN {

	/**
	 * @var string
	 */
	protected $_html = '';

	/**
	 * @var boolean
	 */
	protected $_jsCleanComments = true;
	protected $_skipComments    = array();

	/**
	 * "Minify" an HTML page
	 *
	 * @param string $html
	 *
	 * @param array  $options
	 *
	 * 'cssMinifier' : (optional) callback function to process content of STYLE
	 * elements.
	 *
	 * 'jsMinifier' : (optional) callback function to process content of SCRIPT
	 * elements. Note: the type attribute is ignored.
	 *
	 * 'xhtml' : (optional boolean) should content be treated as XHTML1.0? If
	 * unset, minify will sniff for an XHTML doctype.
	 *
	 * @return string
	 */
	public static function minify( $html, $options = array() ) {
		$min = new self( $html, $options );

		return $min->process();
	}

	/**
	 * Create a minifier object
	 *
	 * @param string $html
	 *
	 * @param array  $options
	 *
	 * 'cssMinifier' : (optional) callback function to process content of STYLE
	 * elements.
	 *
	 * 'jsMinifier' : (optional) callback function to process content of SCRIPT
	 * elements. Note: the type attribute is ignored.
	 *
	 * 'jsCleanComments' : (optional) whether to remove HTML comments beginning and end of script block
	 *
	 * 'xhtml' : (optional boolean) should content be treated as XHTML1.0? If
	 * unset, minify will sniff for an XHTML doctype.
	 */
	public function __construct( $html, $options = array() ) {
		$this->_html = str_replace( "\r\n", "\n", trim( $html ) );
		if ( isset( $options['xhtml'] ) ) {
			$this->_isXhtml = (bool) $options['xhtml'];
		}
		if ( isset( $options['cssMinifier'] ) ) {
			$this->_cssMinifier = $options['cssMinifier'];
		}
		if ( isset( $options['jsMinifier'] ) ) {
			$this->_jsMinifier = $options['jsMinifier'];
		}
		if ( isset( $options['jsCleanComments'] ) ) {
			$this->_jsCleanComments = (bool) $options['jsCleanComments'];
		}
		if ( isset( $options['skipComments'] ) ) {
			$this->_skipComments = $options['skipComments'];
		}
	}

	/**
	 * Minify the markeup given in the constructor
	 *
	 * @return string
	 */
	public function process() {
		if ( $this->_isXhtml === null ) {
			$this->_isXhtml = ( false !== strpos( $this->_html, '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML' ) );
		}

		$this->_replacementHash = 'MINIFYHTML' . md5( $_SERVER['REQUEST_TIME'] );
		$this->_placeholders    = array();

		// replace SCRIPTs (and minify) with placeholders
		$this->_html = preg_replace_callback(
			'/(\\s*)<script(\\b[^>]*?>)([\\s\\S]*?)<\\/script>(\\s*)/i',
			array( $this, '_removeScriptCB' ),
			$this->_html
		);

		// replace STYLEs (and minify) with placeholders
		$this->_html = preg_replace_callback(
			'/\\s*<style(\\b[^>]*>)([\\s\\S]*?)<\\/style>\\s*/i',
			array( $this, '_removeStyleCB' ),
			$this->_html
		);

		// remove HTML comments (not containing IE conditional comments).
		$this->_html = preg_replace_callback(
			'/<!--([\\s\\S]*?)-->/',
			array( $this, '_commentCB' ),
			$this->_html
		);

		// replace PREs with placeholders
		$this->_html = preg_replace_callback(
			'/\\s*<pre(\\b[^>]*?>[\\s\\S]*?<\\/pre>)\\s*/i',
			array( $this, '_removePreCB' ),
			$this->_html
		);

		// replace TEXTAREAs with placeholders
		$this->_html = preg_replace_callback(
			'/\\s*<textarea(\\b[^>]*?>[\\s\\S]*?<\\/textarea>)\\s*/i',
			array( $this, '_removeTextareaCB' ),
			$this->_html
		);

		// trim each line.
		// @todo take into account attribute values that span multiple lines.
		$this->_html = preg_replace( '/^\\s+|\\s+$/m', '', $this->_html );

		// remove ws around block/undisplayed elements
		$this->_html = preg_replace(
			'/\\s+(<\\/?(?:area|article|aside|base(?:font)?|blockquote|body'
			. '|canvas|caption|center|col(?:group)?|dd|dir|div|dl|dt|fieldset|figcaption|figure|footer|form'
			. '|frame(?:set)?|h[1-6]|head|header|hgroup|hr|html|legend|li|link|main|map|menu|meta|nav'
			. '|ol|opt(?:group|ion)|output|p|param|section|t(?:able|body|head|d|h||r|foot|itle)'
			. '|ul|video)\\b[^>]*>)/i',
			'$1',
			$this->_html
		);

		// remove ws outside of all elements
		$this->_html = preg_replace(
			'/>(\\s(?:\\s*))?([^<]+)(\\s(?:\s*))?</',
			'>$1$2$3<',
			$this->_html
		);

		// use newlines before 1st attribute in open tags (to limit line lengths)
		// $this->_html = preg_replace('/(<[a-z\\-]+)\\s+([^>]+>)/i', "$1\n$2", $this->_html);

		// fill placeholders
		$this->_html = str_replace(
			array_keys( $this->_placeholders ),
			array_values( $this->_placeholders ),
			$this->_html
		);
		// issue 229: multi-pass to catch scripts that didn't get replaced in textareas
		$this->_html = str_replace(
			array_keys( $this->_placeholders ),
			array_values( $this->_placeholders ),
			$this->_html
		);

		return $this->_html;
	}

	/**
	 * From LSCWP 6.2: Changed the function to test for special comments that will be skipped. See: https://github.com/litespeedtech/lscache_wp/pull/622
	 */
	protected function _commentCB( $m ) {
		// If is IE conditional comment return it.
		if ( 0 === strpos( $m[1], '[' ) || false !== strpos( $m[1], '<![' ) ) {
			return $m[0];
		}

		// Check if comment text is present in Page Optimization -> HTML Settings -> HTML Keep comments
		if ( count( $this->_skipComments ) > 0 ) {
			foreach ( $this->_skipComments as $comment ) {
				if ( $comment && strpos( $m[1], $comment ) !== false ) {
					return $m[0];
				}
			}
		}

		// Comment can be removed.
		return '';
	}

	protected function _reservePlace( $content ) {
		$placeholder                         = '%' . $this->_replacementHash . count( $this->_placeholders ) . '%';
		$this->_placeholders[ $placeholder ] = $content;

		return $placeholder;
	}

	protected $_isXhtml         = null;
	protected $_replacementHash = null;
	protected $_placeholders    = array();
	protected $_cssMinifier     = null;
	protected $_jsMinifier      = null;

	protected function _removePreCB( $m ) {
		return $this->_reservePlace( "<pre{$m[1]}" );
	}

	protected function _removeTextareaCB( $m ) {
		return $this->_reservePlace( "<textarea{$m[1]}" );
	}

	protected function _removeStyleCB( $m ) {
		$openStyle = "<style{$m[1]}";
		$css       = $m[2];
		// remove HTML comments
		$css = preg_replace( '/(?:^\\s*<!--|-->\\s*$)/', '', $css );

		// remove CDATA section markers
		$css = $this->_removeCdata( $css );

		// minify
		$minifier = $this->_cssMinifier
			? $this->_cssMinifier
			: 'trim';
		$css      = call_user_func( $minifier, $css );

		return $this->_reservePlace(
			$this->_needsCdata( $css )
			? "{$openStyle}/*<![CDATA[*/{$css}/*]]>*/</style>"
			: "{$openStyle}{$css}</style>"
		);
	}

	protected function _removeScriptCB( $m ) {
		$openScript = "<script{$m[2]}";
		$js         = $m[3];

		// whitespace surrounding? preserve at least one space
		$ws1 = ( $m[1] === '' ) ? '' : ' ';
		$ws2 = ( $m[4] === '' ) ? '' : ' ';

		// remove HTML comments (and ending "//" if present)
		if ( $this->_jsCleanComments ) {
			$js = preg_replace( '/(?:^\\s*<!--\\s*|\\s*(?:\\/\\/)?\\s*-->\\s*$)/', '', $js );
		}

		// remove CDATA section markers
		$js = $this->_removeCdata( $js );

		// minify
		/**
		 * Added 2nd param by LiteSpeed
		 *
		 * @since  2.2.3
		 */
		if ( $this->_jsMinifier ) {
			$js = call_user_func( $this->_jsMinifier, $js, trim( $m[2] ) );
		} else {
			$js = trim( $js );
		}

		return $this->_reservePlace(
			$this->_needsCdata( $js )
			? "{$ws1}{$openScript}/*<![CDATA[*/{$js}/*]]>*/</script>{$ws2}"
			: "{$ws1}{$openScript}{$js}</script>{$ws2}"
		);
	}

	protected function _removeCdata( $str ) {
		return ( false !== strpos( $str, '<![CDATA[' ) )
			? str_replace( array( '<![CDATA[', ']]>' ), '', $str )
			: $str;
	}

	protected function _needsCdata( $str ) {
		return ( $this->_isXhtml && preg_match( '/(?:[<&]|\\-\\-|\\]\\]>)/', $str ) );
	}
}
PK�^�\��Css.litespeed-cache/lib/php-compatibility.func.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * LiteSpeed PHP compatibility functions for lower PHP version
 *
 * @since      1.1.3
 * @package    LiteSpeed
 * @subpackage LiteSpeed_Cache/lib
 */

defined( 'WPINC' ) || exit;


/**
 * http_build_url() compatibility
 */
if ( ! function_exists( 'http_build_url' ) ) {
	if ( ! defined( 'HTTP_URL_REPLACE' ) ) {
		define( 'HTTP_URL_REPLACE', 1 );              // Replace every part of the first URL when there's one of the second URL
	}
	if ( ! defined( 'HTTP_URL_JOIN_PATH' ) ) {
		define( 'HTTP_URL_JOIN_PATH', 2 );            // Join relative paths
	}
	if ( ! defined( 'HTTP_URL_JOIN_QUERY' ) ) {
		define( 'HTTP_URL_JOIN_QUERY', 4 );           // Join query strings
	}
	if ( ! defined( 'HTTP_URL_STRIP_USER' ) ) {
		define( 'HTTP_URL_STRIP_USER', 8 );           // Strip any user authentication information
	}
	if ( ! defined( 'HTTP_URL_STRIP_PASS' ) ) {
		define( 'HTTP_URL_STRIP_PASS', 16 );          // Strip any password authentication information
	}
	if ( ! defined( 'HTTP_URL_STRIP_AUTH' ) ) {
		define( 'HTTP_URL_STRIP_AUTH', 32 );          // Strip any authentication information
	}
	if ( ! defined( 'HTTP_URL_STRIP_PORT' ) ) {
		define( 'HTTP_URL_STRIP_PORT', 64 );          // Strip explicit port numbers
	}
	if ( ! defined( 'HTTP_URL_STRIP_PATH' ) ) {
		define( 'HTTP_URL_STRIP_PATH', 128 );         // Strip complete path
	}
	if ( ! defined( 'HTTP_URL_STRIP_QUERY' ) ) {
		define( 'HTTP_URL_STRIP_QUERY', 256 );        // Strip query string
	}
	if ( ! defined( 'HTTP_URL_STRIP_FRAGMENT' ) ) {
		define( 'HTTP_URL_STRIP_FRAGMENT', 512 );     // Strip any fragments (#identifier)
	}
	if ( ! defined( 'HTTP_URL_STRIP_ALL' ) ) {
		define( 'HTTP_URL_STRIP_ALL', 1024 );         // Strip anything but scheme and host
	}

	// Build an URL
	// The parts of the second URL will be merged into the first according to the flags argument.
	//
	// @param   mixed           (Part(s) of) an URL in form of a string or associative array like parse_url() returns
	// @param   mixed           Same as the first argument
	// @param   int             A bitmask of binary or'ed HTTP_URL constants (Optional)HTTP_URL_REPLACE is the default
	// @param   array           If set, it will be filled with the parts of the composed url like parse_url() would return
	function http_build_url( $url, $parts = array(), $flags = HTTP_URL_REPLACE, &$new_url = false ) {
		$keys = array( 'user', 'pass', 'port', 'path', 'query', 'fragment' );

		// HTTP_URL_STRIP_ALL becomes all the HTTP_URL_STRIP_Xs
		if ( $flags & HTTP_URL_STRIP_ALL ) {
			$flags |= HTTP_URL_STRIP_USER;
			$flags |= HTTP_URL_STRIP_PASS;
			$flags |= HTTP_URL_STRIP_PORT;
			$flags |= HTTP_URL_STRIP_PATH;
			$flags |= HTTP_URL_STRIP_QUERY;
			$flags |= HTTP_URL_STRIP_FRAGMENT;
		}
		// HTTP_URL_STRIP_AUTH becomes HTTP_URL_STRIP_USER and HTTP_URL_STRIP_PASS
		elseif ( $flags & HTTP_URL_STRIP_AUTH ) {
			$flags |= HTTP_URL_STRIP_USER;
			$flags |= HTTP_URL_STRIP_PASS;
		}

		// Parse the original URL
		// - Suggestion by Sayed Ahad Abbas
		// In case you send a parse_url array as input
		$parse_url = ! is_array( $url ) ? parse_url( $url ) : $url;

		// Scheme and Host are always replaced
		if ( isset( $parts['scheme'] ) ) {
			$parse_url['scheme'] = $parts['scheme'];
		}
		if ( isset( $parts['host'] ) ) {
			$parse_url['host'] = $parts['host'];
		}

		// (If applicable) Replace the original URL with it's new parts
		if ( $flags & HTTP_URL_REPLACE ) {
			foreach ( $keys as $key ) {
				if ( isset( $parts[ $key ] ) ) {
					$parse_url[ $key ] = $parts[ $key ];
				}
			}
		} else {
			// Join the original URL path with the new path
			if ( isset( $parts['path'] ) && ( $flags & HTTP_URL_JOIN_PATH ) ) {
				if ( isset( $parse_url['path'] ) ) {
					$parse_url['path'] = rtrim( str_replace( basename( $parse_url['path'] ), '', $parse_url['path'] ), '/' ) . '/' . ltrim( $parts['path'], '/' );
				} else {
					$parse_url['path'] = $parts['path'];
				}
			}

			// Join the original query string with the new query string
			if ( isset( $parts['query'] ) && ( $flags & HTTP_URL_JOIN_QUERY ) ) {
				if ( isset( $parse_url['query'] ) ) {
					$parse_url['query'] .= '&' . $parts['query'];
				} else {
					$parse_url['query'] = $parts['query'];
				}
			}
		}

		// Strips all the applicable sections of the URL
		// Note: Scheme and Host are never stripped
		foreach ( $keys as $key ) {
			if ( $flags & (int) constant( 'HTTP_URL_STRIP_' . strtoupper( $key ) ) ) {
				unset( $parse_url[ $key ] );
			}
		}

		$new_url = $parse_url;

		return ( isset( $parse_url['scheme'] ) ? $parse_url['scheme'] . '://' : '' )
			. ( isset( $parse_url['user'] ) ? $parse_url['user'] . ( isset( $parse_url['pass'] ) ? ':' . $parse_url['pass'] : '' ) . '@' : '' )
			. ( isset( $parse_url['host'] ) ? $parse_url['host'] : '' )
			. ( isset( $parse_url['port'] ) ? ':' . $parse_url['port'] : '' )
			. ( isset( $parse_url['path'] ) ? $parse_url['path'] : '' )
			. ( isset( $parse_url['query'] ) ? '?' . $parse_url['query'] : '' )
			. ( isset( $parse_url['fragment'] ) ? '#' . $parse_url['fragment'] : '' );
	}
}


if ( ! function_exists( 'array_key_first' ) ) {
	function array_key_first( array $arr ) {
		foreach ( $arr as $k => $unused ) {
			return $k;
		}
		return null;
	}
}

if ( ! function_exists( 'array_column' ) ) {
	function array_column( $array, $column_name ) {
		return array_map(
			function ( $element ) use ( $column_name ) {
				return $element[ $column_name ];
			},
			$array
		);
	}
}
PK�^�\�ՁLL$litespeed-cache/lib/object-cache.phpnu�[���<?php
// phpcs:ignoreFile

/**
 * Plugin Name:       LiteSpeed Cache - Object Cache (Drop-in)
 * Plugin URI:        https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
 * Description:       High-performance page caching and site optimization from LiteSpeed.
 * Author:            LiteSpeed Technologies
 * Author URI:        https://www.litespeedtech.com
 */

defined( 'WPINC' ) || exit;
/**
 * LiteSpeed Object Cache
 *
 * @since  1.8
 */

! defined( 'LSCWP_OBJECT_CACHE' ) && define( 'LSCWP_OBJECT_CACHE', true );

// Initialize const `LSCWP_DIR` and locate LSCWP plugin folder
$lscwp_dir = ( defined( 'WP_PLUGIN_DIR' ) ? WP_PLUGIN_DIR : WP_CONTENT_DIR . '/plugins' ) . '/litespeed-cache/';

// Use plugin as higher priority than MU plugin
if ( ! file_exists( $lscwp_dir . 'litespeed-cache.php' ) ) {
	// Check if is mu plugin or not
	$lscwp_dir = ( defined( 'WPMU_PLUGIN_DIR' ) ? WPMU_PLUGIN_DIR : WP_CONTENT_DIR . '/mu-plugins' ) . '/litespeed-cache/';
	if ( ! file_exists( $lscwp_dir . 'litespeed-cache.php' ) ) {
		$lscwp_dir = '';
	}
}

$data_file = WP_CONTENT_DIR . '/.litespeed_conf.dat';
$lib_file  = $lscwp_dir . 'src/object.lib.php';

// Can't find LSCWP location, terminate object cache process
if ( ! $lscwp_dir || ! file_exists( $data_file ) || ( ! file_exists( $lib_file ) ) ) {
	if ( ! is_admin() ) { // Bypass object cache for frontend
		require_once ABSPATH . WPINC . '/cache.php';
	} else {
		$err = 'Can NOT find LSCWP path for object cache initialization in ' . __FILE__;
		error_log( $err );
		add_action(
			is_network_admin() ? 'network_admin_notices' : 'admin_notices',
			function () use ( &$err ) {
				echo $err;
			}
		);
	}
} elseif ( ! LSCWP_OBJECT_CACHE ) {
	// Disable cache
		wp_using_ext_object_cache( false );
}
	// Init object cache & LSCWP
elseif ( file_exists( $lib_file ) ) {
	require_once $lib_file;
}
PK�^�\�K��#�#'litespeed-cache/lib/urirewriter.cls.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * Rewrite file-relative URIs as root-relative in CSS files
 *
 * @package Minify
 * @author Stephen Clay <steve@mrclay.org>
 */

namespace LiteSpeed\Lib;

defined( 'WPINC' ) || exit;

class UriRewriter {


	/**
	 * rewrite() and rewriteRelative() append debugging information here
	 *
	 * @var string
	 */
	public static $debugText = '';

	/**
	 * In CSS content, rewrite file relative URIs as root relative
	 *
	 * @param string $css
	 *
	 * @param string $currentDir The directory of the current CSS file.
	 *
	 * @param string $docRoot The document root of the web site in which
	 * the CSS file resides (default = $_SERVER['DOCUMENT_ROOT']).
	 *
	 * @param array  $symlinks (default = array()) If the CSS file is stored in
	 *  a symlink-ed directory, provide an array of link paths to
	 *  target paths, where the link paths are within the document root. Because
	 *  paths need to be normalized for this to work, use "//" to substitute
	 *  the doc root in the link paths (the array keys). E.g.:
	 *  <code>
	 *  array('//symlink' => '/real/target/path') // unix
	 *  array('//static' => 'D:\\staticStorage')  // Windows
	 *  </code>
	 *
	 * @return string
	 */
	public static function rewrite( $css, $currentDir, $docRoot = null, $symlinks = array() ) {
		self::$_docRoot    = self::_realpath(
			$docRoot ? $docRoot : $_SERVER['DOCUMENT_ROOT']
		);
		self::$_currentDir = self::_realpath( $currentDir );
		self::$_symlinks   = array();

		// normalize symlinks in order to map to link
		foreach ( $symlinks as $link => $target ) {
			$link = ( $link === '//' ) ? self::$_docRoot : str_replace( '//', self::$_docRoot . '/', $link );
			$link = strtr( $link, '/', DIRECTORY_SEPARATOR );

			self::$_symlinks[ $link ] = self::_realpath( $target );
		}

		self::$debugText .= 'docRoot    : ' . self::$_docRoot . "\n"
							. 'currentDir : ' . self::$_currentDir . "\n";
		if ( self::$_symlinks ) {
			self::$debugText .= 'symlinks : ' . var_export( self::$_symlinks, 1 ) . "\n";
		}
		self::$debugText .= "\n";

		$css = self::_trimUrls( $css );

		$css = self::_owlifySvgPaths( $css );

		// rewrite
		$pattern = '/@import\\s+([\'"])(.*?)[\'"]/';
		$css     = preg_replace_callback( $pattern, __CLASS__ . '::_processUriCB', $css );

		$pattern = '/url\\(\\s*([\'"](.*?)[\'"]|[^\\)\\s]+)\\s*\\)/';
		$css     = preg_replace_callback( $pattern, __CLASS__ . '::_processUriCB', $css );

		$css = self::_unOwlify( $css );

		return $css;
	}

	/**
	 * In CSS content, prepend a path to relative URIs
	 *
	 * @param string $css
	 *
	 * @param string $path The path to prepend.
	 *
	 * @return string
	 */
	public static function prepend( $css, $path ) {
		self::$_prependPath = $path;

		$css = self::_trimUrls( $css );

		$css = self::_owlifySvgPaths( $css );

		// append
		$pattern = '/@import\\s+([\'"])(.*?)[\'"]/';
		$css     = preg_replace_callback( $pattern, __CLASS__ . '::_processUriCB', $css );

		$pattern = '/url\\(\\s*([\'"](.*?)[\'"]|[^\\)\\s]+)\\s*\\)/';
		$css     = preg_replace_callback( $pattern, __CLASS__ . '::_processUriCB', $css );

		$css = self::_unOwlify( $css );

		self::$_prependPath = null;

		return $css;
	}

	/**
	 * Get a root relative URI from a file relative URI
	 *
	 * <code>
	 * UriRewriter::rewriteRelative(
	 *       '../img/hello.gif'
	 *     , '/home/user/www/css'  // path of CSS file
	 *     , '/home/user/www'      // doc root
	 * );
	 * // returns '/img/hello.gif'
	 *
	 * // example where static files are stored in a symlinked directory
	 * UriRewriter::rewriteRelative(
	 *       'hello.gif'
	 *     , '/var/staticFiles/theme'
	 *     , '/home/user/www'
	 *     , array('/home/user/www/static' => '/var/staticFiles')
	 * );
	 * // returns '/static/theme/hello.gif'
	 * </code>
	 *
	 * @param string $uri file relative URI
	 *
	 * @param string $realCurrentDir realpath of the current file's directory.
	 *
	 * @param string $realDocRoot realpath of the site document root.
	 *
	 * @param array  $symlinks (default = array()) If the file is stored in
	 *  a symlink-ed directory, provide an array of link paths to
	 *  real target paths, where the link paths "appear" to be within the document
	 *  root. E.g.:
	 *  <code>
	 *  array('/home/foo/www/not/real/path' => '/real/target/path') // unix
	 *  array('C:\\htdocs\\not\\real' => 'D:\\real\\target\\path')  // Windows
	 *  </code>
	 *
	 * @return string
	 */
	public static function rewriteRelative( $uri, $realCurrentDir, $realDocRoot, $symlinks = array() ) {
		// prepend path with current dir separator (OS-independent)
		$path  = strtr( $realCurrentDir, '/', DIRECTORY_SEPARATOR );
		$path .= DIRECTORY_SEPARATOR . strtr( $uri, '/', DIRECTORY_SEPARATOR );

		self::$debugText .= "file-relative URI  : {$uri}\n"
							. "path prepended     : {$path}\n";

		// "unresolve" a symlink back to doc root
		foreach ( $symlinks as $link => $target ) {
			if ( 0 === strpos( $path, $target ) ) {
				// replace $target with $link
				$path = $link . substr( $path, strlen( $target ) );

				self::$debugText .= "symlink unresolved : {$path}\n";

				break;
			}
		}
		// strip doc root
		$path = substr( $path, strlen( $realDocRoot ) );

		self::$debugText .= "docroot stripped   : {$path}\n";

		// fix to root-relative URI
		$uri = strtr( $path, '/\\', '//' );
		$uri = self::removeDots( $uri );

		self::$debugText .= "traversals removed : {$uri}\n\n";

		return $uri;
	}

	/**
	 * Remove instances of "./" and "../" where possible from a root-relative URI
	 *
	 * @param string $uri
	 *
	 * @return string
	 */
	public static function removeDots( $uri ) {
		$uri = str_replace( '/./', '/', $uri );
		// inspired by patch from Oleg Cherniy
		do {
			$uri = preg_replace( '@/[^/]+/\\.\\./@', '/', $uri, 1, $changed );
		} while ( $changed );

		return $uri;
	}

	/**
	 * Get realpath with any trailing slash removed. If realpath() fails,
	 * just remove the trailing slash.
	 *
	 * @param string $path
	 *
	 * @return mixed path with no trailing slash
	 */
	protected static function _realpath( $path ) {
		$realPath = realpath( $path );
		if ( $realPath !== false ) {
			$path = $realPath;
		}

		return rtrim( $path, '/\\' );
	}

	/**
	 * Directory of this stylesheet
	 *
	 * @var string
	 */
	private static $_currentDir = '';

	/**
	 * DOC_ROOT
	 *
	 * @var string
	 */
	private static $_docRoot = '';

	/**
	 * directory replacements to map symlink targets back to their
	 * source (within the document root) E.g. '/var/www/symlink' => '/var/realpath'
	 *
	 * @var array
	 */
	private static $_symlinks = array();

	/**
	 * Path to prepend
	 *
	 * @var string
	 */
	private static $_prependPath = null;

	/**
	 * @param string $css
	 *
	 * @return string
	 */
	private static function _trimUrls( $css ) {
		$pattern = '/
            url\\(      # url(
            \\s*
            ([^\\)]+?)  # 1 = URI (assuming does not contain ")")
            \\s*
            \\)         # )
        /x';

		return preg_replace( $pattern, 'url($1)', $css );
	}

	/**
	 * @param array $m
	 *
	 * @return string
	 */
	private static function _processUriCB( $m ) {
		// $m matched either '/@import\\s+([\'"])(.*?)[\'"]/' or '/url\\(\\s*([^\\)\\s]+)\\s*\\)/'
		$isImport = ( $m[0][0] === '@' );
		// determine URI and the quote character (if any)
		if ( $isImport ) {
			$quoteChar = $m[1];
			$uri       = $m[2];
		} else {
			// $m[1] is either quoted or not
			$quoteChar = ( $m[1][0] === "'" || $m[1][0] === '"' ) ? $m[1][0] : '';

			$uri = ( $quoteChar === '' ) ? $m[1] : substr( $m[1], 1, strlen( $m[1] ) - 2 );
		}

		if ( $uri === '' ) {
			return $m[0];
		}

		// if not anchor id, not root/scheme relative, and not starts with scheme
		if ( ! preg_match( '~^(#|/|[a-z]+\:)~', $uri ) ) {
			// URI is file-relative: rewrite depending on options
			if ( self::$_prependPath === null ) {
				$uri = self::rewriteRelative( $uri, self::$_currentDir, self::$_docRoot, self::$_symlinks );
			} else {
				$uri = self::$_prependPath . $uri;
				if ( $uri[0] === '/' ) {
					$root         = '';
					$rootRelative = $uri;
					$uri          = $root . self::removeDots( $rootRelative );
				} elseif ( preg_match( '@^((https?\:)?//([^/]+))/@', $uri, $m ) && ( false !== strpos( $m[3], '.' ) ) ) {
					$root         = $m[1];
					$rootRelative = substr( $uri, strlen( $root ) );
					$uri          = $root . self::removeDots( $rootRelative );
				}
			}
		}

		if ( $isImport ) {
			return "@import {$quoteChar}{$uri}{$quoteChar}";
		} else {
			return "url({$quoteChar}{$uri}{$quoteChar})";
		}
	}

	/**
	 * Mungs some inline SVG URL declarations so they won't be touched
	 *
	 * @link https://github.com/mrclay/minify/issues/517
	 * @see _unOwlify
	 *
	 * @param string $css
	 * @return string
	 */
	private static function _owlifySvgPaths( $css ) {
		$pattern = '~\b((?:clip-path|mask|-webkit-mask)\s*\:\s*)url(\(\s*#\w+\s*\))~';

		return preg_replace( $pattern, '$1owl$2', $css );
	}

	/**
	 * Undo work of _owlify
	 *
	 * @see _owlifySvgPaths
	 *
	 * @param string $css
	 * @return string
	 */
	private static function _unOwlify( $css ) {
		$pattern = '~\b((?:clip-path|mask|-webkit-mask)\s*\:\s*)owl~';

		return preg_replace( $pattern, '$1url', $css );
	}
}
PK_�\tQ+��;�;4litespeed-cache/lib/css_js_min/minify/minify.cls.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * modified PHP implementation of Matthias Mullie's Abstract minifier class.
 *
 * @author Matthias Mullie <minify@mullie.eu>
 * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved
 * @license MIT License
 */

namespace LiteSpeed\Lib\CSS_JS_MIN\Minify;

use LiteSpeed\Lib\CSS_JS_MIN\Minify\Exception\IOException;

defined( 'WPINC' ) || exit;

abstract class Minify {

	/**
	 * The data to be minified.
	 *
	 * @var string[]
	 */
	protected $data = array();

	/**
	 * Array of patterns to match.
	 *
	 * @var string[]
	 */
	protected $patterns = array();

	/**
	 * This array will hold content of strings and regular expressions that have
	 * been extracted from the JS source code, so we can reliably match "code",
	 * without having to worry about potential "code-like" characters inside.
	 *
	 * @internal
	 *
	 * @var string[]
	 */
	public $extracted = array();

	/**
	 * Init the minify class - optionally, code may be passed along already.
	 */
	public function __construct( /* $data = null, ... */ ) {
		// it's possible to add the source through the constructor as well ;)
		if ( func_num_args() ) {
			call_user_func_array( array( $this, 'add' ), func_get_args() );
		}
	}

	/**
	 * Add a file or straight-up code to be minified.
	 *
	 * @param string|string[] $data
	 *
	 * @return static
	 */
	public function add( $data /* $data = null, ... */ ) {
		// bogus "usage" of parameter $data: scrutinizer warns this variable is
		// not used (we're using func_get_args instead to support overloading),
		// but it still needs to be defined because it makes no sense to have
		// this function without argument :)
		$args = array( $data ) + func_get_args();

		// this method can be overloaded
		foreach ( $args as $data ) {
			if ( is_array( $data ) ) {
				call_user_func_array( array( $this, 'add' ), $data );
				continue;
			}

			// redefine var
			$data = (string) $data;

			// load data
			$value = $this->load( $data );
			$key   = ( $data != $value ) ? $data : count( $this->data );

			// replace CR linefeeds etc.
			// @see https://github.com/matthiasmullie/minify/pull/139
			$value = str_replace( array( "\r\n", "\r" ), "\n", $value );

			// store data
			$this->data[ $key ] = $value;
		}

		return $this;
	}

	/**
	 * Add a file to be minified.
	 *
	 * @param string|string[] $data
	 *
	 * @return static
	 *
	 * @throws IOException
	 */
	public function addFile( $data /* $data = null, ... */ ) {
		// bogus "usage" of parameter $data: scrutinizer warns this variable is
		// not used (we're using func_get_args instead to support overloading),
		// but it still needs to be defined because it makes no sense to have
		// this function without argument :)
		$args = array( $data ) + func_get_args();

		// this method can be overloaded
		foreach ( $args as $path ) {
			if ( is_array( $path ) ) {
				call_user_func_array( array( $this, 'addFile' ), $path );
				continue;
			}

			// redefine var
			$path = (string) $path;

			// check if we can read the file
			if ( ! $this->canImportFile( $path ) ) {
				throw new IOException( 'The file "' . $path . '" could not be opened for reading. Check if PHP has enough permissions.' );
			}

			$this->add( $path );
		}

		return $this;
	}

	/**
	 * Minify the data & (optionally) saves it to a file.
	 *
	 * @param string[optional] $path Path to write the data to
	 *
	 * @return string The minified data
	 */
	public function minify( $path = null ) {
		$content = $this->execute( $path );

		// save to path
		if ( $path !== null ) {
			$this->save( $content, $path );
		}

		return $content;
	}

	/**
	 * Minify & gzip the data & (optionally) saves it to a file.
	 *
	 * @param string[optional] $path  Path to write the data to
	 * @param int[optional]    $level Compression level, from 0 to 9
	 *
	 * @return string The minified & gzipped data
	 */
	public function gzip( $path = null, $level = 9 ) {
		$content = $this->execute( $path );
		$content = gzencode( $content, $level, FORCE_GZIP );

		// save to path
		if ( $path !== null ) {
			$this->save( $content, $path );
		}

		return $content;
	}


	/**
	 * Minify the data.
	 *
	 * @param string[optional] $path Path to write the data to
	 *
	 * @return string The minified data
	 */
	abstract public function execute( $path = null );

	/**
	 * Load data.
	 *
	 * @param string $data Either a path to a file or the content itself
	 *
	 * @return string
	 */
	protected function load( $data ) {
		// check if the data is a file
		if ( $this->canImportFile( $data ) ) {
			$data = file_get_contents( $data );

			// strip BOM, if any
			if ( substr( $data, 0, 3 ) == "\xef\xbb\xbf" ) {
				$data = substr( $data, 3 );
			}
		}

		return $data;
	}

	/**
	 * Save to file.
	 *
	 * @param string $content The minified data
	 * @param string $path    The path to save the minified data to
	 *
	 * @throws IOException
	 */
	protected function save( $content, $path ) {
		$handler = $this->openFileForWriting( $path );

		$this->writeToFile( $handler, $content );

		@fclose( $handler );
	}

	/**
	 * Register a pattern to execute against the source content.
	 *
	 * If $replacement is a string, it must be plain text. Placeholders like $1 or \2 don't work.
	 * If you need that functionality, use a callback instead.
	 *
	 * @param string          $pattern     PCRE pattern
	 * @param string|callable $replacement Replacement value for matched pattern
	 */
	protected function registerPattern( $pattern, $replacement = '' ) {
		// study the pattern, we'll execute it more than once
		$pattern .= 'S';

		$this->patterns[] = array( $pattern, $replacement );
	}

	/**
	 * Both JS and CSS use the same form of multi-line comment, so putting the common code here.
	 */
	protected function stripMultilineComments() {
		// First extract comments we want to keep, so they can be restored later
		// PHP only supports $this inside anonymous functions since 5.4
		$minifier = $this;
		$callback = function ( $match ) use ( $minifier ) {
			$count                               = count( $minifier->extracted );
			$placeholder                         = '/*' . $count . '*/';
			$minifier->extracted[ $placeholder ] = $match[0];

			return $placeholder;
		};
		$this->registerPattern(
			'/
            # optional newline
            \n?

            # start comment
            \/\*

            # comment content
            (?:
                # either starts with an !
                !
            |
                # or, after some number of characters which do not end the comment
                (?:(?!\*\/).)*?

                # there is either a @license or @preserve tag
                @(?:license|preserve)
            )

            # then match to the end of the comment
            .*?\*\/\n?

            /ixs',
			$callback
		);

		// Then strip all other comments
		$this->registerPattern( '/\/\*.*?\*\//s', '' );
	}

	/**
	 * We can't "just" run some regular expressions against JavaScript: it's a
	 * complex language. E.g. having an occurrence of // xyz would be a comment,
	 * unless it's used within a string. Of you could have something that looks
	 * like a 'string', but inside a comment.
	 * The only way to accurately replace these pieces is to traverse the JS one
	 * character at a time and try to find whatever starts first.
	 *
	 * @param string $content The content to replace patterns in
	 *
	 * @return string The (manipulated) content
	 */
	protected function replace( $content ) {
		$contentLength   = strlen( $content );
		$output          = '';
		$processedOffset = 0;
		$positions       = array_fill( 0, count( $this->patterns ), -1 );
		$matches         = array();

		while ( $processedOffset < $contentLength ) {
			// find first match for all patterns
			foreach ( $this->patterns as $i => $pattern ) {
				list($pattern, $replacement) = $pattern;

				// we can safely ignore patterns for positions we've unset earlier,
				// because we know these won't show up anymore
				if ( array_key_exists( $i, $positions ) == false ) {
					continue;
				}

				// no need to re-run matches that are still in the part of the
				// content that hasn't been processed
				if ( $positions[ $i ] >= $processedOffset ) {
					continue;
				}

				$match = null;
				if ( preg_match( $pattern, $content, $match, PREG_OFFSET_CAPTURE, $processedOffset ) ) {
					$matches[ $i ] = $match;

					// we'll store the match position as well; that way, we
					// don't have to redo all preg_matches after changing only
					// the first (we'll still know where those others are)
					$positions[ $i ] = $match[0][1];
				} else {
					// if the pattern couldn't be matched, there's no point in
					// executing it again in later runs on this same content;
					// ignore this one until we reach end of content
					unset( $matches[ $i ], $positions[ $i ] );
				}
			}

			// no more matches to find: everything's been processed, break out
			if ( ! $matches ) {
				// output the remaining content
				$output .= substr( $content, $processedOffset );
				break;
			}

			// see which of the patterns actually found the first thing (we'll
			// only want to execute that one, since we're unsure if what the
			// other found was not inside what the first found)
			$matchOffset  = min( $positions );
			$firstPattern = array_search( $matchOffset, $positions );
			$match        = $matches[ $firstPattern ];

			// execute the pattern that matches earliest in the content string
			list(, $replacement) = $this->patterns[ $firstPattern ];

			// add the part of the input between $processedOffset and the first match;
			// that content wasn't matched by anything
			$output .= substr( $content, $processedOffset, $matchOffset - $processedOffset );
			// add the replacement for the match
			$output .= $this->executeReplacement( $replacement, $match );
			// advance $processedOffset past the match
			$processedOffset = $matchOffset + strlen( $match[0][0] );
		}

		return $output;
	}

	/**
	 * If $replacement is a callback, execute it, passing in the match data.
	 * If it's a string, just pass it through.
	 *
	 * @param string|callable $replacement Replacement value
	 * @param array           $match       Match data, in PREG_OFFSET_CAPTURE form
	 *
	 * @return string
	 */
	protected function executeReplacement( $replacement, $match ) {
		if ( ! is_callable( $replacement ) ) {
			return $replacement;
		}
		// convert $match from the PREG_OFFSET_CAPTURE form to the form the callback expects
		foreach ( $match as &$matchItem ) {
			$matchItem = $matchItem[0];
		}

		return $replacement( $match );
	}

	/**
	 * Strings are a pattern we need to match, in order to ignore potential
	 * code-like content inside them, but we just want all of the string
	 * content to remain untouched.
	 *
	 * This method will replace all string content with simple STRING#
	 * placeholder text, so we've rid all strings from characters that may be
	 * misinterpreted. Original string content will be saved in $this->extracted
	 * and after doing all other minifying, we can restore the original content
	 * via restoreStrings().
	 *
	 * @param string[optional] $chars
	 * @param string[optional] $placeholderPrefix
	 */
	protected function extractStrings( $chars = '\'"', $placeholderPrefix = '' ) {
		// PHP only supports $this inside anonymous functions since 5.4
		$minifier = $this;
		$callback = function ( $match ) use ( $minifier, $placeholderPrefix ) {
			// check the second index here, because the first always contains a quote
			if ( $match[2] === '' ) {
				/*
				 * Empty strings need no placeholder; they can't be confused for
				 * anything else anyway.
				 * But we still needed to match them, for the extraction routine
				 * to skip over this particular string.
				 */
				return $match[0];
			}

			$count                               = count( $minifier->extracted );
			$placeholder                         = $match[1] . $placeholderPrefix . $count . $match[1];
			$minifier->extracted[ $placeholder ] = $match[1] . $match[2] . $match[1];

			return $placeholder;
		};

		/*
		 * The \\ messiness explained:
		 * * Don't count ' or " as end-of-string if it's escaped (has backslash
		 * in front of it)
		 * * Unless... that backslash itself is escaped (another leading slash),
		 * in which case it's no longer escaping the ' or "
		 * * So there can be either no backslash, or an even number
		 * * multiply all of that times 4, to account for the escaping that has
		 * to be done to pass the backslash into the PHP string without it being
		 * considered as escape-char (times 2) and to get it in the regex,
		 * escaped (times 2)
		 */
		$this->registerPattern( '/([' . $chars . '])(.*?(?<!\\\\)(\\\\\\\\)*+)\\1/s', $callback );
	}

	/**
	 * This method will restore all extracted data (strings, regexes) that were
	 * replaced with placeholder text in extract*(). The original content was
	 * saved in $this->extracted.
	 *
	 * @param string $content
	 *
	 * @return string
	 */
	protected function restoreExtractedData( $content ) {
		if ( ! $this->extracted ) {
			// nothing was extracted, nothing to restore
			return $content;
		}

		$content = strtr( $content, $this->extracted );

		$this->extracted = array();

		return $content;
	}

	/**
	 * Check if the path is a regular file and can be read.
	 *
	 * @param string $path
	 *
	 * @return bool
	 */
	protected function canImportFile( $path ) {
		$parsed = parse_url( $path );
		if (
			// file is elsewhere
			isset( $parsed['host'] )
			// file responds to queries (may change, or need to bypass cache)
			|| isset( $parsed['query'] )
		) {
			return false;
		}

		try {
			return strlen( $path ) < PHP_MAXPATHLEN && @is_file( $path ) && is_readable( $path );
		}
		// catch openbasedir exceptions which are not caught by @ on is_file()
		catch ( \Exception $e ) {
			return false;
		}
	}

	/**
	 * Attempts to open file specified by $path for writing.
	 *
	 * @param string $path The path to the file
	 *
	 * @return resource Specifier for the target file
	 *
	 * @throws IOException
	 */
	protected function openFileForWriting( $path ) {
		if ( $path === '' || ( $handler = @fopen( $path, 'w' ) ) === false ) {
			throw new IOException( 'The file "' . $path . '" could not be opened for writing. Check if PHP has enough permissions.' );
		}

		return $handler;
	}

	/**
	 * Attempts to write $content to the file specified by $handler. $path is used for printing exceptions.
	 *
	 * @param resource $handler The resource to write to
	 * @param string   $content The content to write
	 * @param string   $path    The path to the file (for exception printing only)
	 *
	 * @throws IOException
	 */
	protected function writeToFile( $handler, $content, $path = '' ) {
		if (
			! is_resource( $handler )
			|| ( $result = @fwrite( $handler, $content ) ) === false
			|| ( $result < strlen( $content ) )
		) {
			throw new IOException( 'The file "' . $path . '" could not be written to. Check your disk space and file permissions.' );
		}
	}

	protected static function str_replace_first( $search, $replace, $subject ) {
		$pos = strpos( $subject, $search );
		if ( $pos !== false ) {
			return substr_replace( $subject, $replace, $pos, strlen( $search ) );
		}

		return $subject;
	}
}
PK_�\V=�BҒҒ0litespeed-cache/lib/css_js_min/minify/js.cls.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * js.cls.php - modified PHP implementation of Matthias Mullie's JavaScript minifier
 *
 * @author Matthias Mullie <minify@mullie.eu>
 * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved
 * @license MIT License
 */

namespace LiteSpeed\Lib\CSS_JS_MIN\Minify;

defined( 'WPINC' ) || exit;

class JS extends Minify {

	/**
	 * Var-matching regex based on http://stackoverflow.com/a/9337047/802993.
	 *
	 * Note that regular expressions using that bit must have the PCRE_UTF8
	 * pattern modifier (/u) set.
	 *
	 * @internal
	 *
	 * @var string
	 */
	const REGEX_VARIABLE = '\b[$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\x{02c1}\x{02c6}-\x{02d1}\x{02e0}-\x{02e4}\x{02ec}\x{02ee}\x{0370}-\x{0374}\x{0376}\x{0377}\x{037a}-\x{037d}\x{0386}\x{0388}-\x{038a}\x{038c}\x{038e}-\x{03a1}\x{03a3}-\x{03f5}\x{03f7}-\x{0481}\x{048a}-\x{0527}\x{0531}-\x{0556}\x{0559}\x{0561}-\x{0587}\x{05d0}-\x{05ea}\x{05f0}-\x{05f2}\x{0620}-\x{064a}\x{066e}\x{066f}\x{0671}-\x{06d3}\x{06d5}\x{06e5}\x{06e6}\x{06ee}\x{06ef}\x{06fa}-\x{06fc}\x{06ff}\x{0710}\x{0712}-\x{072f}\x{074d}-\x{07a5}\x{07b1}\x{07ca}-\x{07ea}\x{07f4}\x{07f5}\x{07fa}\x{0800}-\x{0815}\x{081a}\x{0824}\x{0828}\x{0840}-\x{0858}\x{08a0}\x{08a2}-\x{08ac}\x{0904}-\x{0939}\x{093d}\x{0950}\x{0958}-\x{0961}\x{0971}-\x{0977}\x{0979}-\x{097f}\x{0985}-\x{098c}\x{098f}\x{0990}\x{0993}-\x{09a8}\x{09aa}-\x{09b0}\x{09b2}\x{09b6}-\x{09b9}\x{09bd}\x{09ce}\x{09dc}\x{09dd}\x{09df}-\x{09e1}\x{09f0}\x{09f1}\x{0a05}-\x{0a0a}\x{0a0f}\x{0a10}\x{0a13}-\x{0a28}\x{0a2a}-\x{0a30}\x{0a32}\x{0a33}\x{0a35}\x{0a36}\x{0a38}\x{0a39}\x{0a59}-\x{0a5c}\x{0a5e}\x{0a72}-\x{0a74}\x{0a85}-\x{0a8d}\x{0a8f}-\x{0a91}\x{0a93}-\x{0aa8}\x{0aaa}-\x{0ab0}\x{0ab2}\x{0ab3}\x{0ab5}-\x{0ab9}\x{0abd}\x{0ad0}\x{0ae0}\x{0ae1}\x{0b05}-\x{0b0c}\x{0b0f}\x{0b10}\x{0b13}-\x{0b28}\x{0b2a}-\x{0b30}\x{0b32}\x{0b33}\x{0b35}-\x{0b39}\x{0b3d}\x{0b5c}\x{0b5d}\x{0b5f}-\x{0b61}\x{0b71}\x{0b83}\x{0b85}-\x{0b8a}\x{0b8e}-\x{0b90}\x{0b92}-\x{0b95}\x{0b99}\x{0b9a}\x{0b9c}\x{0b9e}\x{0b9f}\x{0ba3}\x{0ba4}\x{0ba8}-\x{0baa}\x{0bae}-\x{0bb9}\x{0bd0}\x{0c05}-\x{0c0c}\x{0c0e}-\x{0c10}\x{0c12}-\x{0c28}\x{0c2a}-\x{0c33}\x{0c35}-\x{0c39}\x{0c3d}\x{0c58}\x{0c59}\x{0c60}\x{0c61}\x{0c85}-\x{0c8c}\x{0c8e}-\x{0c90}\x{0c92}-\x{0ca8}\x{0caa}-\x{0cb3}\x{0cb5}-\x{0cb9}\x{0cbd}\x{0cde}\x{0ce0}\x{0ce1}\x{0cf1}\x{0cf2}\x{0d05}-\x{0d0c}\x{0d0e}-\x{0d10}\x{0d12}-\x{0d3a}\x{0d3d}\x{0d4e}\x{0d60}\x{0d61}\x{0d7a}-\x{0d7f}\x{0d85}-\x{0d96}\x{0d9a}-\x{0db1}\x{0db3}-\x{0dbb}\x{0dbd}\x{0dc0}-\x{0dc6}\x{0e01}-\x{0e30}\x{0e32}\x{0e33}\x{0e40}-\x{0e46}\x{0e81}\x{0e82}\x{0e84}\x{0e87}\x{0e88}\x{0e8a}\x{0e8d}\x{0e94}-\x{0e97}\x{0e99}-\x{0e9f}\x{0ea1}-\x{0ea3}\x{0ea5}\x{0ea7}\x{0eaa}\x{0eab}\x{0ead}-\x{0eb0}\x{0eb2}\x{0eb3}\x{0ebd}\x{0ec0}-\x{0ec4}\x{0ec6}\x{0edc}-\x{0edf}\x{0f00}\x{0f40}-\x{0f47}\x{0f49}-\x{0f6c}\x{0f88}-\x{0f8c}\x{1000}-\x{102a}\x{103f}\x{1050}-\x{1055}\x{105a}-\x{105d}\x{1061}\x{1065}\x{1066}\x{106e}-\x{1070}\x{1075}-\x{1081}\x{108e}\x{10a0}-\x{10c5}\x{10c7}\x{10cd}\x{10d0}-\x{10fa}\x{10fc}-\x{1248}\x{124a}-\x{124d}\x{1250}-\x{1256}\x{1258}\x{125a}-\x{125d}\x{1260}-\x{1288}\x{128a}-\x{128d}\x{1290}-\x{12b0}\x{12b2}-\x{12b5}\x{12b8}-\x{12be}\x{12c0}\x{12c2}-\x{12c5}\x{12c8}-\x{12d6}\x{12d8}-\x{1310}\x{1312}-\x{1315}\x{1318}-\x{135a}\x{1380}-\x{138f}\x{13a0}-\x{13f4}\x{1401}-\x{166c}\x{166f}-\x{167f}\x{1681}-\x{169a}\x{16a0}-\x{16ea}\x{16ee}-\x{16f0}\x{1700}-\x{170c}\x{170e}-\x{1711}\x{1720}-\x{1731}\x{1740}-\x{1751}\x{1760}-\x{176c}\x{176e}-\x{1770}\x{1780}-\x{17b3}\x{17d7}\x{17dc}\x{1820}-\x{1877}\x{1880}-\x{18a8}\x{18aa}\x{18b0}-\x{18f5}\x{1900}-\x{191c}\x{1950}-\x{196d}\x{1970}-\x{1974}\x{1980}-\x{19ab}\x{19c1}-\x{19c7}\x{1a00}-\x{1a16}\x{1a20}-\x{1a54}\x{1aa7}\x{1b05}-\x{1b33}\x{1b45}-\x{1b4b}\x{1b83}-\x{1ba0}\x{1bae}\x{1baf}\x{1bba}-\x{1be5}\x{1c00}-\x{1c23}\x{1c4d}-\x{1c4f}\x{1c5a}-\x{1c7d}\x{1ce9}-\x{1cec}\x{1cee}-\x{1cf1}\x{1cf5}\x{1cf6}\x{1d00}-\x{1dbf}\x{1e00}-\x{1f15}\x{1f18}-\x{1f1d}\x{1f20}-\x{1f45}\x{1f48}-\x{1f4d}\x{1f50}-\x{1f57}\x{1f59}\x{1f5b}\x{1f5d}\x{1f5f}-\x{1f7d}\x{1f80}-\x{1fb4}\x{1fb6}-\x{1fbc}\x{1fbe}\x{1fc2}-\x{1fc4}\x{1fc6}-\x{1fcc}\x{1fd0}-\x{1fd3}\x{1fd6}-\x{1fdb}\x{1fe0}-\x{1fec}\x{1ff2}-\x{1ff4}\x{1ff6}-\x{1ffc}\x{2071}\x{207f}\x{2090}-\x{209c}\x{2102}\x{2107}\x{210a}-\x{2113}\x{2115}\x{2119}-\x{211d}\x{2124}\x{2126}\x{2128}\x{212a}-\x{212d}\x{212f}-\x{2139}\x{213c}-\x{213f}\x{2145}-\x{2149}\x{214e}\x{2160}-\x{2188}\x{2c00}-\x{2c2e}\x{2c30}-\x{2c5e}\x{2c60}-\x{2ce4}\x{2ceb}-\x{2cee}\x{2cf2}\x{2cf3}\x{2d00}-\x{2d25}\x{2d27}\x{2d2d}\x{2d30}-\x{2d67}\x{2d6f}\x{2d80}-\x{2d96}\x{2da0}-\x{2da6}\x{2da8}-\x{2dae}\x{2db0}-\x{2db6}\x{2db8}-\x{2dbe}\x{2dc0}-\x{2dc6}\x{2dc8}-\x{2dce}\x{2dd0}-\x{2dd6}\x{2dd8}-\x{2dde}\x{2e2f}\x{3005}-\x{3007}\x{3021}-\x{3029}\x{3031}-\x{3035}\x{3038}-\x{303c}\x{3041}-\x{3096}\x{309d}-\x{309f}\x{30a1}-\x{30fa}\x{30fc}-\x{30ff}\x{3105}-\x{312d}\x{3131}-\x{318e}\x{31a0}-\x{31ba}\x{31f0}-\x{31ff}\x{3400}-\x{4db5}\x{4e00}-\x{9fcc}\x{a000}-\x{a48c}\x{a4d0}-\x{a4fd}\x{a500}-\x{a60c}\x{a610}-\x{a61f}\x{a62a}\x{a62b}\x{a640}-\x{a66e}\x{a67f}-\x{a697}\x{a6a0}-\x{a6ef}\x{a717}-\x{a71f}\x{a722}-\x{a788}\x{a78b}-\x{a78e}\x{a790}-\x{a793}\x{a7a0}-\x{a7aa}\x{a7f8}-\x{a801}\x{a803}-\x{a805}\x{a807}-\x{a80a}\x{a80c}-\x{a822}\x{a840}-\x{a873}\x{a882}-\x{a8b3}\x{a8f2}-\x{a8f7}\x{a8fb}\x{a90a}-\x{a925}\x{a930}-\x{a946}\x{a960}-\x{a97c}\x{a984}-\x{a9b2}\x{a9cf}\x{aa00}-\x{aa28}\x{aa40}-\x{aa42}\x{aa44}-\x{aa4b}\x{aa60}-\x{aa76}\x{aa7a}\x{aa80}-\x{aaaf}\x{aab1}\x{aab5}\x{aab6}\x{aab9}-\x{aabd}\x{aac0}\x{aac2}\x{aadb}-\x{aadd}\x{aae0}-\x{aaea}\x{aaf2}-\x{aaf4}\x{ab01}-\x{ab06}\x{ab09}-\x{ab0e}\x{ab11}-\x{ab16}\x{ab20}-\x{ab26}\x{ab28}-\x{ab2e}\x{abc0}-\x{abe2}\x{ac00}-\x{d7a3}\x{d7b0}-\x{d7c6}\x{d7cb}-\x{d7fb}\x{f900}-\x{fa6d}\x{fa70}-\x{fad9}\x{fb00}-\x{fb06}\x{fb13}-\x{fb17}\x{fb1d}\x{fb1f}-\x{fb28}\x{fb2a}-\x{fb36}\x{fb38}-\x{fb3c}\x{fb3e}\x{fb40}\x{fb41}\x{fb43}\x{fb44}\x{fb46}-\x{fbb1}\x{fbd3}-\x{fd3d}\x{fd50}-\x{fd8f}\x{fd92}-\x{fdc7}\x{fdf0}-\x{fdfb}\x{fe70}-\x{fe74}\x{fe76}-\x{fefc}\x{ff21}-\x{ff3a}\x{ff41}-\x{ff5a}\x{ff66}-\x{ffbe}\x{ffc2}-\x{ffc7}\x{ffca}-\x{ffcf}\x{ffd2}-\x{ffd7}\x{ffda}-\x{ffdc}][$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\x{02c1}\x{02c6}-\x{02d1}\x{02e0}-\x{02e4}\x{02ec}\x{02ee}\x{0370}-\x{0374}\x{0376}\x{0377}\x{037a}-\x{037d}\x{0386}\x{0388}-\x{038a}\x{038c}\x{038e}-\x{03a1}\x{03a3}-\x{03f5}\x{03f7}-\x{0481}\x{048a}-\x{0527}\x{0531}-\x{0556}\x{0559}\x{0561}-\x{0587}\x{05d0}-\x{05ea}\x{05f0}-\x{05f2}\x{0620}-\x{064a}\x{066e}\x{066f}\x{0671}-\x{06d3}\x{06d5}\x{06e5}\x{06e6}\x{06ee}\x{06ef}\x{06fa}-\x{06fc}\x{06ff}\x{0710}\x{0712}-\x{072f}\x{074d}-\x{07a5}\x{07b1}\x{07ca}-\x{07ea}\x{07f4}\x{07f5}\x{07fa}\x{0800}-\x{0815}\x{081a}\x{0824}\x{0828}\x{0840}-\x{0858}\x{08a0}\x{08a2}-\x{08ac}\x{0904}-\x{0939}\x{093d}\x{0950}\x{0958}-\x{0961}\x{0971}-\x{0977}\x{0979}-\x{097f}\x{0985}-\x{098c}\x{098f}\x{0990}\x{0993}-\x{09a8}\x{09aa}-\x{09b0}\x{09b2}\x{09b6}-\x{09b9}\x{09bd}\x{09ce}\x{09dc}\x{09dd}\x{09df}-\x{09e1}\x{09f0}\x{09f1}\x{0a05}-\x{0a0a}\x{0a0f}\x{0a10}\x{0a13}-\x{0a28}\x{0a2a}-\x{0a30}\x{0a32}\x{0a33}\x{0a35}\x{0a36}\x{0a38}\x{0a39}\x{0a59}-\x{0a5c}\x{0a5e}\x{0a72}-\x{0a74}\x{0a85}-\x{0a8d}\x{0a8f}-\x{0a91}\x{0a93}-\x{0aa8}\x{0aaa}-\x{0ab0}\x{0ab2}\x{0ab3}\x{0ab5}-\x{0ab9}\x{0abd}\x{0ad0}\x{0ae0}\x{0ae1}\x{0b05}-\x{0b0c}\x{0b0f}\x{0b10}\x{0b13}-\x{0b28}\x{0b2a}-\x{0b30}\x{0b32}\x{0b33}\x{0b35}-\x{0b39}\x{0b3d}\x{0b5c}\x{0b5d}\x{0b5f}-\x{0b61}\x{0b71}\x{0b83}\x{0b85}-\x{0b8a}\x{0b8e}-\x{0b90}\x{0b92}-\x{0b95}\x{0b99}\x{0b9a}\x{0b9c}\x{0b9e}\x{0b9f}\x{0ba3}\x{0ba4}\x{0ba8}-\x{0baa}\x{0bae}-\x{0bb9}\x{0bd0}\x{0c05}-\x{0c0c}\x{0c0e}-\x{0c10}\x{0c12}-\x{0c28}\x{0c2a}-\x{0c33}\x{0c35}-\x{0c39}\x{0c3d}\x{0c58}\x{0c59}\x{0c60}\x{0c61}\x{0c85}-\x{0c8c}\x{0c8e}-\x{0c90}\x{0c92}-\x{0ca8}\x{0caa}-\x{0cb3}\x{0cb5}-\x{0cb9}\x{0cbd}\x{0cde}\x{0ce0}\x{0ce1}\x{0cf1}\x{0cf2}\x{0d05}-\x{0d0c}\x{0d0e}-\x{0d10}\x{0d12}-\x{0d3a}\x{0d3d}\x{0d4e}\x{0d60}\x{0d61}\x{0d7a}-\x{0d7f}\x{0d85}-\x{0d96}\x{0d9a}-\x{0db1}\x{0db3}-\x{0dbb}\x{0dbd}\x{0dc0}-\x{0dc6}\x{0e01}-\x{0e30}\x{0e32}\x{0e33}\x{0e40}-\x{0e46}\x{0e81}\x{0e82}\x{0e84}\x{0e87}\x{0e88}\x{0e8a}\x{0e8d}\x{0e94}-\x{0e97}\x{0e99}-\x{0e9f}\x{0ea1}-\x{0ea3}\x{0ea5}\x{0ea7}\x{0eaa}\x{0eab}\x{0ead}-\x{0eb0}\x{0eb2}\x{0eb3}\x{0ebd}\x{0ec0}-\x{0ec4}\x{0ec6}\x{0edc}-\x{0edf}\x{0f00}\x{0f40}-\x{0f47}\x{0f49}-\x{0f6c}\x{0f88}-\x{0f8c}\x{1000}-\x{102a}\x{103f}\x{1050}-\x{1055}\x{105a}-\x{105d}\x{1061}\x{1065}\x{1066}\x{106e}-\x{1070}\x{1075}-\x{1081}\x{108e}\x{10a0}-\x{10c5}\x{10c7}\x{10cd}\x{10d0}-\x{10fa}\x{10fc}-\x{1248}\x{124a}-\x{124d}\x{1250}-\x{1256}\x{1258}\x{125a}-\x{125d}\x{1260}-\x{1288}\x{128a}-\x{128d}\x{1290}-\x{12b0}\x{12b2}-\x{12b5}\x{12b8}-\x{12be}\x{12c0}\x{12c2}-\x{12c5}\x{12c8}-\x{12d6}\x{12d8}-\x{1310}\x{1312}-\x{1315}\x{1318}-\x{135a}\x{1380}-\x{138f}\x{13a0}-\x{13f4}\x{1401}-\x{166c}\x{166f}-\x{167f}\x{1681}-\x{169a}\x{16a0}-\x{16ea}\x{16ee}-\x{16f0}\x{1700}-\x{170c}\x{170e}-\x{1711}\x{1720}-\x{1731}\x{1740}-\x{1751}\x{1760}-\x{176c}\x{176e}-\x{1770}\x{1780}-\x{17b3}\x{17d7}\x{17dc}\x{1820}-\x{1877}\x{1880}-\x{18a8}\x{18aa}\x{18b0}-\x{18f5}\x{1900}-\x{191c}\x{1950}-\x{196d}\x{1970}-\x{1974}\x{1980}-\x{19ab}\x{19c1}-\x{19c7}\x{1a00}-\x{1a16}\x{1a20}-\x{1a54}\x{1aa7}\x{1b05}-\x{1b33}\x{1b45}-\x{1b4b}\x{1b83}-\x{1ba0}\x{1bae}\x{1baf}\x{1bba}-\x{1be5}\x{1c00}-\x{1c23}\x{1c4d}-\x{1c4f}\x{1c5a}-\x{1c7d}\x{1ce9}-\x{1cec}\x{1cee}-\x{1cf1}\x{1cf5}\x{1cf6}\x{1d00}-\x{1dbf}\x{1e00}-\x{1f15}\x{1f18}-\x{1f1d}\x{1f20}-\x{1f45}\x{1f48}-\x{1f4d}\x{1f50}-\x{1f57}\x{1f59}\x{1f5b}\x{1f5d}\x{1f5f}-\x{1f7d}\x{1f80}-\x{1fb4}\x{1fb6}-\x{1fbc}\x{1fbe}\x{1fc2}-\x{1fc4}\x{1fc6}-\x{1fcc}\x{1fd0}-\x{1fd3}\x{1fd6}-\x{1fdb}\x{1fe0}-\x{1fec}\x{1ff2}-\x{1ff4}\x{1ff6}-\x{1ffc}\x{2071}\x{207f}\x{2090}-\x{209c}\x{2102}\x{2107}\x{210a}-\x{2113}\x{2115}\x{2119}-\x{211d}\x{2124}\x{2126}\x{2128}\x{212a}-\x{212d}\x{212f}-\x{2139}\x{213c}-\x{213f}\x{2145}-\x{2149}\x{214e}\x{2160}-\x{2188}\x{2c00}-\x{2c2e}\x{2c30}-\x{2c5e}\x{2c60}-\x{2ce4}\x{2ceb}-\x{2cee}\x{2cf2}\x{2cf3}\x{2d00}-\x{2d25}\x{2d27}\x{2d2d}\x{2d30}-\x{2d67}\x{2d6f}\x{2d80}-\x{2d96}\x{2da0}-\x{2da6}\x{2da8}-\x{2dae}\x{2db0}-\x{2db6}\x{2db8}-\x{2dbe}\x{2dc0}-\x{2dc6}\x{2dc8}-\x{2dce}\x{2dd0}-\x{2dd6}\x{2dd8}-\x{2dde}\x{2e2f}\x{3005}-\x{3007}\x{3021}-\x{3029}\x{3031}-\x{3035}\x{3038}-\x{303c}\x{3041}-\x{3096}\x{309d}-\x{309f}\x{30a1}-\x{30fa}\x{30fc}-\x{30ff}\x{3105}-\x{312d}\x{3131}-\x{318e}\x{31a0}-\x{31ba}\x{31f0}-\x{31ff}\x{3400}-\x{4db5}\x{4e00}-\x{9fcc}\x{a000}-\x{a48c}\x{a4d0}-\x{a4fd}\x{a500}-\x{a60c}\x{a610}-\x{a61f}\x{a62a}\x{a62b}\x{a640}-\x{a66e}\x{a67f}-\x{a697}\x{a6a0}-\x{a6ef}\x{a717}-\x{a71f}\x{a722}-\x{a788}\x{a78b}-\x{a78e}\x{a790}-\x{a793}\x{a7a0}-\x{a7aa}\x{a7f8}-\x{a801}\x{a803}-\x{a805}\x{a807}-\x{a80a}\x{a80c}-\x{a822}\x{a840}-\x{a873}\x{a882}-\x{a8b3}\x{a8f2}-\x{a8f7}\x{a8fb}\x{a90a}-\x{a925}\x{a930}-\x{a946}\x{a960}-\x{a97c}\x{a984}-\x{a9b2}\x{a9cf}\x{aa00}-\x{aa28}\x{aa40}-\x{aa42}\x{aa44}-\x{aa4b}\x{aa60}-\x{aa76}\x{aa7a}\x{aa80}-\x{aaaf}\x{aab1}\x{aab5}\x{aab6}\x{aab9}-\x{aabd}\x{aac0}\x{aac2}\x{aadb}-\x{aadd}\x{aae0}-\x{aaea}\x{aaf2}-\x{aaf4}\x{ab01}-\x{ab06}\x{ab09}-\x{ab0e}\x{ab11}-\x{ab16}\x{ab20}-\x{ab26}\x{ab28}-\x{ab2e}\x{abc0}-\x{abe2}\x{ac00}-\x{d7a3}\x{d7b0}-\x{d7c6}\x{d7cb}-\x{d7fb}\x{f900}-\x{fa6d}\x{fa70}-\x{fad9}\x{fb00}-\x{fb06}\x{fb13}-\x{fb17}\x{fb1d}\x{fb1f}-\x{fb28}\x{fb2a}-\x{fb36}\x{fb38}-\x{fb3c}\x{fb3e}\x{fb40}\x{fb41}\x{fb43}\x{fb44}\x{fb46}-\x{fbb1}\x{fbd3}-\x{fd3d}\x{fd50}-\x{fd8f}\x{fd92}-\x{fdc7}\x{fdf0}-\x{fdfb}\x{fe70}-\x{fe74}\x{fe76}-\x{fefc}\x{ff21}-\x{ff3a}\x{ff41}-\x{ff5a}\x{ff66}-\x{ffbe}\x{ffc2}-\x{ffc7}\x{ffca}-\x{ffcf}\x{ffd2}-\x{ffd7}\x{ffda}-\x{ffdc}0-9\x{0300}-\x{036f}\x{0483}-\x{0487}\x{0591}-\x{05bd}\x{05bf}\x{05c1}\x{05c2}\x{05c4}\x{05c5}\x{05c7}\x{0610}-\x{061a}\x{064b}-\x{0669}\x{0670}\x{06d6}-\x{06dc}\x{06df}-\x{06e4}\x{06e7}\x{06e8}\x{06ea}-\x{06ed}\x{06f0}-\x{06f9}\x{0711}\x{0730}-\x{074a}\x{07a6}-\x{07b0}\x{07c0}-\x{07c9}\x{07eb}-\x{07f3}\x{0816}-\x{0819}\x{081b}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082d}\x{0859}-\x{085b}\x{08e4}-\x{08fe}\x{0900}-\x{0903}\x{093a}-\x{093c}\x{093e}-\x{094f}\x{0951}-\x{0957}\x{0962}\x{0963}\x{0966}-\x{096f}\x{0981}-\x{0983}\x{09bc}\x{09be}-\x{09c4}\x{09c7}\x{09c8}\x{09cb}-\x{09cd}\x{09d7}\x{09e2}\x{09e3}\x{09e6}-\x{09ef}\x{0a01}-\x{0a03}\x{0a3c}\x{0a3e}-\x{0a42}\x{0a47}\x{0a48}\x{0a4b}-\x{0a4d}\x{0a51}\x{0a66}-\x{0a71}\x{0a75}\x{0a81}-\x{0a83}\x{0abc}\x{0abe}-\x{0ac5}\x{0ac7}-\x{0ac9}\x{0acb}-\x{0acd}\x{0ae2}\x{0ae3}\x{0ae6}-\x{0aef}\x{0b01}-\x{0b03}\x{0b3c}\x{0b3e}-\x{0b44}\x{0b47}\x{0b48}\x{0b4b}-\x{0b4d}\x{0b56}\x{0b57}\x{0b62}\x{0b63}\x{0b66}-\x{0b6f}\x{0b82}\x{0bbe}-\x{0bc2}\x{0bc6}-\x{0bc8}\x{0bca}-\x{0bcd}\x{0bd7}\x{0be6}-\x{0bef}\x{0c01}-\x{0c03}\x{0c3e}-\x{0c44}\x{0c46}-\x{0c48}\x{0c4a}-\x{0c4d}\x{0c55}\x{0c56}\x{0c62}\x{0c63}\x{0c66}-\x{0c6f}\x{0c82}\x{0c83}\x{0cbc}\x{0cbe}-\x{0cc4}\x{0cc6}-\x{0cc8}\x{0cca}-\x{0ccd}\x{0cd5}\x{0cd6}\x{0ce2}\x{0ce3}\x{0ce6}-\x{0cef}\x{0d02}\x{0d03}\x{0d3e}-\x{0d44}\x{0d46}-\x{0d48}\x{0d4a}-\x{0d4d}\x{0d57}\x{0d62}\x{0d63}\x{0d66}-\x{0d6f}\x{0d82}\x{0d83}\x{0dca}\x{0dcf}-\x{0dd4}\x{0dd6}\x{0dd8}-\x{0ddf}\x{0df2}\x{0df3}\x{0e31}\x{0e34}-\x{0e3a}\x{0e47}-\x{0e4e}\x{0e50}-\x{0e59}\x{0eb1}\x{0eb4}-\x{0eb9}\x{0ebb}\x{0ebc}\x{0ec8}-\x{0ecd}\x{0ed0}-\x{0ed9}\x{0f18}\x{0f19}\x{0f20}-\x{0f29}\x{0f35}\x{0f37}\x{0f39}\x{0f3e}\x{0f3f}\x{0f71}-\x{0f84}\x{0f86}\x{0f87}\x{0f8d}-\x{0f97}\x{0f99}-\x{0fbc}\x{0fc6}\x{102b}-\x{103e}\x{1040}-\x{1049}\x{1056}-\x{1059}\x{105e}-\x{1060}\x{1062}-\x{1064}\x{1067}-\x{106d}\x{1071}-\x{1074}\x{1082}-\x{108d}\x{108f}-\x{109d}\x{135d}-\x{135f}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}\x{1753}\x{1772}\x{1773}\x{17b4}-\x{17d3}\x{17dd}\x{17e0}-\x{17e9}\x{180b}-\x{180d}\x{1810}-\x{1819}\x{18a9}\x{1920}-\x{192b}\x{1930}-\x{193b}\x{1946}-\x{194f}\x{19b0}-\x{19c0}\x{19c8}\x{19c9}\x{19d0}-\x{19d9}\x{1a17}-\x{1a1b}\x{1a55}-\x{1a5e}\x{1a60}-\x{1a7c}\x{1a7f}-\x{1a89}\x{1a90}-\x{1a99}\x{1b00}-\x{1b04}\x{1b34}-\x{1b44}\x{1b50}-\x{1b59}\x{1b6b}-\x{1b73}\x{1b80}-\x{1b82}\x{1ba1}-\x{1bad}\x{1bb0}-\x{1bb9}\x{1be6}-\x{1bf3}\x{1c24}-\x{1c37}\x{1c40}-\x{1c49}\x{1c50}-\x{1c59}\x{1cd0}-\x{1cd2}\x{1cd4}-\x{1ce8}\x{1ced}\x{1cf2}-\x{1cf4}\x{1dc0}-\x{1de6}\x{1dfc}-\x{1dff}\x{200c}\x{200d}\x{203f}\x{2040}\x{2054}\x{20d0}-\x{20dc}\x{20e1}\x{20e5}-\x{20f0}\x{2cef}-\x{2cf1}\x{2d7f}\x{2de0}-\x{2dff}\x{302a}-\x{302f}\x{3099}\x{309a}\x{a620}-\x{a629}\x{a66f}\x{a674}-\x{a67d}\x{a69f}\x{a6f0}\x{a6f1}\x{a802}\x{a806}\x{a80b}\x{a823}-\x{a827}\x{a880}\x{a881}\x{a8b4}-\x{a8c4}\x{a8d0}-\x{a8d9}\x{a8e0}-\x{a8f1}\x{a900}-\x{a909}\x{a926}-\x{a92d}\x{a947}-\x{a953}\x{a980}-\x{a983}\x{a9b3}-\x{a9c0}\x{a9d0}-\x{a9d9}\x{aa29}-\x{aa36}\x{aa43}\x{aa4c}\x{aa4d}\x{aa50}-\x{aa59}\x{aa7b}\x{aab0}\x{aab2}-\x{aab4}\x{aab7}\x{aab8}\x{aabe}\x{aabf}\x{aac1}\x{aaeb}-\x{aaef}\x{aaf5}\x{aaf6}\x{abe3}-\x{abea}\x{abec}\x{abed}\x{abf0}-\x{abf9}\x{fb1e}\x{fe00}-\x{fe0f}\x{fe20}-\x{fe26}\x{fe33}\x{fe34}\x{fe4d}-\x{fe4f}\x{ff10}-\x{ff19}\x{ff3f}]*\b';

	/**
	 * Full list of JavaScript reserved words.
	 * Will be loaded from /data/js/keywords_reserved.txt.
	 *
	 * @see https://mathiasbynens.be/notes/reserved-keywords
	 *
	 * @var string[]
	 */
	protected $keywordsReserved = array();

	/**
	 * List of JavaScript reserved words that accept a <variable, value, ...>
	 * after them. Some end of lines are not the end of a statement, like with
	 * these keywords.
	 *
	 * E.g.: we shouldn't insert a ; after this else
	 * else
	 *     console.log('this is quite fine')
	 *
	 * Will be loaded from /data/js/keywords_before.txt
	 *
	 * @var string[]
	 */
	protected $keywordsBefore = array();

	/**
	 * List of JavaScript reserved words that accept a <variable, value, ...>
	 * before them. Some end of lines are not the end of a statement, like when
	 * continued by one of these keywords on the newline.
	 *
	 * E.g.: we shouldn't insert a ; before this instanceof
	 * variable
	 *     instanceof String
	 *
	 * Will be loaded from /data/js/keywords_after.txt
	 *
	 * @var string[]
	 */
	protected $keywordsAfter = array();

	/**
	 * List of all JavaScript operators.
	 *
	 * Will be loaded from /data/js/operators.txt
	 *
	 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators
	 *
	 * @var string[]
	 */
	protected $operators = array();

	/**
	 * List of JavaScript operators that accept a <variable, value, ...> after
	 * them. Some end of lines are not the end of a statement, like with these
	 * operators.
	 *
	 * Note: Most operators are fine, we've only removed ++ and --.
	 * ++ & -- have to be joined with the value they're in-/decrementing.
	 *
	 * Will be loaded from /data/js/operators_before.txt
	 *
	 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators
	 *
	 * @var string[]
	 */
	protected $operatorsBefore = array();

	/**
	 * List of JavaScript operators that accept a <variable, value, ...> before
	 * them. Some end of lines are not the end of a statement, like when
	 * continued by one of these operators on the newline.
	 *
	 * Note: Most operators are fine, we've only removed ), ], ++, --, ! and ~.
	 * There can't be a newline separating ! or ~ and whatever it is negating.
	 * ++ & -- have to be joined with the value they're in-/decrementing.
	 * ) & ] are "special" in that they have lots or usecases. () for example
	 * is used for function calls, for grouping, in if () and for (), ...
	 *
	 * Will be loaded from /data/js/operators_after.txt
	 *
	 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators
	 *
	 * @var string[]
	 */
	protected $operatorsAfter = array();

	public function __construct() {
		call_user_func_array( array( '\\LiteSpeed\\Lib\\CSS_JS_MIN\\Minify\\Minify', '__construct' ), func_get_args() );

		$dataDir                = __DIR__ . '/data/js/';
		$options                = FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES;
		$this->keywordsReserved = file( $dataDir . 'keywords_reserved.txt', $options );
		$this->keywordsBefore   = file( $dataDir . 'keywords_before.txt', $options );
		$this->keywordsAfter    = file( $dataDir . 'keywords_after.txt', $options );
		$this->operators        = file( $dataDir . 'operators.txt', $options );
		$this->operatorsBefore  = file( $dataDir . 'operators_before.txt', $options );
		$this->operatorsAfter   = file( $dataDir . 'operators_after.txt', $options );
	}

	/**
	 * Minify the data.
	 * Perform JS optimizations.
	 *
	 * @param string[optional] $path Path to write the data to
	 *
	 * @return string The minified data
	 */
	public function execute( $path = null ) {
		$content = '';

		/*
		 * Let's first take out strings, comments and regular expressions.
		 * All of these can contain JS code-like characters, and we should make
		 * sure any further magic ignores anything inside of these.
		 *
		 * Consider this example, where we should not strip any whitespace:
		 * var str = "a   test";
		 *
		 * Comments will be removed altogether, strings and regular expressions
		 * will be replaced by placeholder text, which we'll restore later.
		 */
		$this->extractStrings( '\'"`' );
		$this->stripComments();
		$this->extractRegex();

		// loop files
		foreach ( $this->data as $source => $js ) {
			// take out strings, comments & regex (for which we've registered
			// the regexes just a few lines earlier)
			$js = $this->replace( $js );

			$js = $this->propertyNotation( $js );
			$js = $this->shortenBools( $js );
			$js = $this->stripWhitespace( $js );

			// combine js: separating the scripts by a ;
			$content .= $js . ';';
		}

		// clean up leftover `;`s from the combination of multiple scripts
		$content = ltrim( $content, ';' );
		$content = (string) substr( $content, 0, -1 );

		/*
		 * Earlier, we extracted strings & regular expressions and replaced them
		 * with placeholder text. This will restore them.
		 */
		$content = $this->restoreExtractedData( $content );

		return $content;
	}

	/**
	 * Strip comments from source code.
	 */
	protected function stripComments() {
		$this->stripMultilineComments();

		// single-line comments
		$this->registerPattern( '/\/\/.*$/m', '' );
	}

	/**
	 * JS can have /-delimited regular expressions, like: /ab+c/.match(string).
	 *
	 * The content inside the regex can contain characters that may be confused
	 * for JS code: e.g. it could contain whitespace it needs to match & we
	 * don't want to strip whitespace in there.
	 *
	 * The regex can be pretty simple: we don't have to care about comments,
	 * (which also use slashes) because stripComments() will have stripped those
	 * already.
	 *
	 * This method will replace all string content with simple REGEX#
	 * placeholder text, so we've rid all regular expressions from characters
	 * that may be misinterpreted. Original regex content will be saved in
	 * $this->extracted and after doing all other minifying, we can restore the
	 * original content via restoreRegex()
	 */
	protected function extractRegex() {
		// PHP only supports $this inside anonymous functions since 5.4
		$minifier = $this;
		$callback = function ( $match ) use ( $minifier ) {
			$count                               = count( $minifier->extracted );
			$placeholder                         = '"' . $count . '"';
			$minifier->extracted[ $placeholder ] = $match[0];

			return $placeholder;
		};

		// match all chars except `/` and `\`
		// `\` is allowed though, along with whatever char follows (which is the
		// one being escaped)
		// this should allow all chars, except for an unescaped `/` (= the one
		// closing the regex)
		// then also ignore bare `/` inside `[]`, where they don't need to be
		// escaped: anything inside `[]` can be ignored safely
		$pattern = '\\/(?!\*)(?:[^\\[\\/\\\\\n\r]++|(?:\\\\.)++|(?:\\[(?:[^\\]\\\\\n\r]++|(?:\\\\.)++)++\\])++)++\\/[gimuy]*';

		// a regular expression can only be followed by a few operators or some
		// of the RegExp methods (a `\` followed by a variable or value is
		// likely part of a division, not a regex)
		$keywords             = array( 'do', 'in', 'new', 'else', 'throw', 'yield', 'delete', 'return', 'typeof' );
		$before               = '(^|[=:,;\+\-\*\?\/\}\(\{\[&\|!]|' . implode( '|', $keywords ) . ')\s*';
		$propertiesAndMethods = array(
			// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Properties_2
			'constructor',
			'flags',
			'global',
			'ignoreCase',
			'multiline',
			'source',
			'sticky',
			'unicode',
			// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Methods_2
			'compile(',
			'exec(',
			'test(',
			'toSource(',
			'toString(',
		);
		$delimiters           = array_fill( 0, count( $propertiesAndMethods ), '/' );
		$propertiesAndMethods = array_map( 'preg_quote', $propertiesAndMethods, $delimiters );
		$after                = '(?=\s*([\.,;:\)\}&\|+]|\/\/|$|\.(' . implode( '|', $propertiesAndMethods ) . ')))';
		$this->registerPattern( '/' . $before . '\K' . $pattern . $after . '/', $callback );

		// regular expressions following a `)` are rather annoying to detect...
		// quite often, `/` after `)` is a division operator & if it happens to
		// be followed by another one (or a comment), it is likely to be
		// confused for a regular expression
		// however, it's perfectly possible for a regex to follow a `)`: after
		// a single-line `if()`, `while()`, ... statement, for example
		// since, when they occur like that, they're always the start of a
		// statement, there's only a limited amount of ways they can be useful:
		// by calling the regex methods directly
		// if a regex following `)` is not followed by `.<property or method>`,
		// it's quite likely not a regex
		$before = '\)\s*';
		$after  = '(?=\s*\.(' . implode( '|', $propertiesAndMethods ) . '))';
		$this->registerPattern( '/' . $before . '\K' . $pattern . $after . '/', $callback );

		// 1 more edge case: a regex can be followed by a lot more operators or
		// keywords if there's a newline (ASI) in between, where the operator
		// actually starts a new statement
		// (https://github.com/matthiasmullie/minify/issues/56)
		$operators  = $this->getOperatorsForRegex( $this->operatorsBefore, '/' );
		$operators += $this->getOperatorsForRegex( $this->keywordsReserved, '/' );
		$after      = '(?=\s*\n\s*(' . implode( '|', $operators ) . '))';
		$this->registerPattern( '/' . $pattern . $after . '/', $callback );
	}

	/**
	 * Strip whitespace.
	 *
	 * We won't strip *all* whitespace, but as much as possible. The thing that
	 * we'll preserve are newlines we're unsure about.
	 * JavaScript doesn't require statements to be terminated with a semicolon.
	 * It will automatically fix missing semicolons with ASI (automatic semi-
	 * colon insertion) at the end of line causing errors (without semicolon.)
	 *
	 * Because it's sometimes hard to tell if a newline is part of a statement
	 * that should be terminated or not, we'll just leave some of them alone.
	 *
	 * @param string $content The content to strip the whitespace for
	 *
	 * @return string
	 */
	protected function stripWhitespace( $content ) {
		// uniform line endings, make them all line feed
		$content = str_replace( array( "\r\n", "\r" ), "\n", $content );

		// collapse all non-line feed whitespace into a single space
		$content = preg_replace( '/[^\S\n]+/', ' ', $content );

		// strip leading & trailing whitespace
		$content = str_replace( array( " \n", "\n " ), "\n", $content );

		// collapse consecutive line feeds into just 1
		$content = preg_replace( '/\n+/', "\n", $content );

		$operatorsBefore = $this->getOperatorsForRegex( $this->operatorsBefore, '/' );
		$operatorsAfter  = $this->getOperatorsForRegex( $this->operatorsAfter, '/' );
		$operators       = $this->getOperatorsForRegex( $this->operators, '/' );
		$keywordsBefore  = $this->getKeywordsForRegex( $this->keywordsBefore, '/' );
		$keywordsAfter   = $this->getKeywordsForRegex( $this->keywordsAfter, '/' );

		// strip whitespace that ends in (or next line begin with) an operator
		// that allows statements to be broken up over multiple lines
		unset( $operatorsBefore['+'], $operatorsBefore['-'], $operatorsAfter['+'], $operatorsAfter['-'] );
		$content = preg_replace(
			array(
				'/(' . implode( '|', $operatorsBefore ) . ')\s+/',
				'/\s+(' . implode( '|', $operatorsAfter ) . ')/',
			),
			'\\1',
			$content
		);

		// make sure + and - can't be mistaken for, or joined into ++ and --
		$content = preg_replace(
			array(
				'/(?<![\+\-])\s*([\+\-])(?![\+\-])/',
				'/(?<![\+\-])([\+\-])\s*(?![\+\-])/',
			),
			'\\1',
			$content
		);

		// collapse whitespace around reserved words into single space
		$content = preg_replace( '/(^|[;\}\s])\K(' . implode( '|', $keywordsBefore ) . ')\s+/', '\\2 ', $content );
		$content = preg_replace( '/\s+(' . implode( '|', $keywordsAfter ) . ')(?=([;\{\s]|$))/', ' \\1', $content );

		/*
		 * We didn't strip whitespace after a couple of operators because they
		 * could be used in different contexts and we can't be sure it's ok to
		 * strip the newlines. However, we can safely strip any non-line feed
		 * whitespace that follows them.
		 */
		$operatorsDiffBefore = array_diff( $operators, $operatorsBefore );
		$operatorsDiffAfter  = array_diff( $operators, $operatorsAfter );
		$content             = preg_replace( '/(' . implode( '|', $operatorsDiffBefore ) . ')[^\S\n]+/', '\\1', $content );
		$content             = preg_replace( '/[^\S\n]+(' . implode( '|', $operatorsDiffAfter ) . ')/', '\\1', $content );

		/*
		 * Whitespace after `return` can be omitted in a few occasions
		 * (such as when followed by a string or regex)
		 * Same for whitespace in between `)` and `{`, or between `{` and some
		 * keywords.
		 */
		$content = preg_replace( '/\breturn\s+(["\'\/\+\-])/', 'return$1', $content );
		$content = preg_replace( '/\)\s+\{/', '){', $content );
		$content = preg_replace( '/}\n(else|catch|finally)\b/', '}$1', $content );

		/*
		 * Get rid of double semicolons, except where they can be used like:
		 * "for(v=1,_=b;;)", "for(v=1;;v++)" or "for(;;ja||(ja=true))".
		 * I'll safeguard these double semicolons inside for-loops by
		 * temporarily replacing them with an invalid condition: they won't have
		 * a double semicolon and will be easy to spot to restore afterwards.
		 */
		$content = preg_replace( '/\bfor\(([^;]*);;([^;]*)\)/', 'for(\\1;-;\\2)', $content );
		$content = preg_replace( '/;+/', ';', $content );
		$content = preg_replace( '/\bfor\(([^;]*);-;([^;]*)\)/', 'for(\\1;;\\2)', $content );

		/*
		 * Next, we'll be removing all semicolons where ASI kicks in.
		 * for-loops however, can have an empty body (ending in only a
		 * semicolon), like: `for(i=1;i<3;i++);`, of `for(i in list);`
		 * Here, nothing happens during the loop; it's just used to keep
		 * increasing `i`. With that ; omitted, the next line would be expected
		 * to be the for-loop's body... Same goes for while loops.
		 * I'm going to double that semicolon (if any) so after the next line,
		 * which strips semicolons here & there, we're still left with this one.
		 * Note the special recursive construct in the three inner parts of the for:
		 * (\{([^\{\}]*(?-2))*[^\{\}]*\})? - it is intended to match inline
		 * functions bodies, e.g.: i<arr.map(function(e){return e}).length.
		 * Also note that the construct is applied only once and multiplied
		 * for each part of the for, otherwise it risks a catastrophic backtracking.
		 * The limitation is that it will not allow closures in more than one
		 * of the three parts for a specific for() case.
		 * REGEX throwing catastrophic backtracking: $content = preg_replace('/(for\([^;\{]*(\{([^\{\}]*(?-2))*[^\{\}]*\})?[^;\{]*;[^;\{]*(\{([^\{\}]*(?-2))*[^\{\}]*\})?[^;\{]*;[^;\{]*(\{([^\{\}]*(?-2))*[^\{\}]*\})?[^;\{]*\));(\}|$)/s', '\\1;;\\8', $content);
		 */
		$content = preg_replace( '/(for\((?:[^;\{]*|[^;\{]*function[^;\{]*(\{([^\{\}]*(?-2))*[^\{\}]*\})?[^;\{]*);[^;\{]*;[^;\{]*\));(\}|$)/s', '\\1;;\\4', $content );
		$content = preg_replace( '/(for\([^;\{]*;(?:[^;\{]*|[^;\{]*function[^;\{]*(\{([^\{\}]*(?-2))*[^\{\}]*\})?[^;\{]*);[^;\{]*\));(\}|$)/s', '\\1;;\\4', $content );
		$content = preg_replace( '/(for\([^;\{]*;[^;\{]*;(?:[^;\{]*|[^;\{]*function[^;\{]*(\{([^\{\}]*(?-2))*[^\{\}]*\})?[^;\{]*)\));(\}|$)/s', '\\1;;\\4', $content );

		$content = preg_replace( '/(for\([^;\{]+\s+in\s+[^;\{]+\));(\}|$)/s', '\\1;;\\2', $content );

		/*
		 * Do the same for the if's that don't have a body but are followed by ;}
		 */
		$content = preg_replace( '/(\bif\s*\([^{;]*\));\}/s', '\\1;;}', $content );

		/*
		 * Below will also keep `;` after a `do{}while();` along with `while();`
		 * While these could be stripped after do-while, detecting this
		 * distinction is cumbersome, so I'll play it safe and make sure `;`
		 * after any kind of `while` is kept.
		 */
		$content = preg_replace( '/(while\([^;\{]+\));(\}|$)/s', '\\1;;\\2', $content );

		/*
		 * We also can't strip empty else-statements. Even though they're
		 * useless and probably shouldn't be in the code in the first place, we
		 * shouldn't be stripping the `;` that follows it as it breaks the code.
		 * We can just remove those useless else-statements completely.
		 *
		 * @see https://github.com/matthiasmullie/minify/issues/91
		 */
		$content = preg_replace( '/else;/s', '', $content );

		/*
		 * We also don't really want to terminate statements followed by closing
		 * curly braces (which we've ignored completely up until now) or end-of-
		 * script: ASI will kick in here & we're all about minifying.
		 * Semicolons at beginning of the file don't make any sense either.
		 */
		$content = preg_replace( '/;(\}|$)/s', '\\1', $content );
		$content = ltrim( $content, ';' );

		// get rid of remaining whitespace af beginning/end
		return trim( $content );
	}

	/**
	 * We'll strip whitespace around certain operators with regular expressions.
	 * This will prepare the given array by escaping all characters.
	 *
	 * @param string[] $operators
	 * @param string   $delimiter
	 *
	 * @return string[]
	 */
	protected function getOperatorsForRegex( array $operators, $delimiter = '/' ) {
		// escape operators for use in regex
		$delimiters = array_fill( 0, count( $operators ), $delimiter );
		$escaped    = array_map( 'preg_quote', $operators, $delimiters );

		$operators = array_combine( $operators, $escaped );

		// ignore + & - for now, they'll get special treatment
		unset( $operators['+'], $operators['-'] );

		// dot can not just immediately follow a number; it can be confused for
		// decimal point, or calling a method on it, e.g. 42 .toString()
		$operators['.'] = '(?<![0-9]\s)\.';

		// don't confuse = with other assignment shortcuts (e.g. +=)
		$chars          = preg_quote( '+-*\=<>%&|', $delimiter );
		$operators['='] = '(?<![' . $chars . '])\=';

		return $operators;
	}

	/**
	 * We'll strip whitespace around certain keywords with regular expressions.
	 * This will prepare the given array by escaping all characters.
	 *
	 * @param string[] $keywords
	 * @param string   $delimiter
	 *
	 * @return string[]
	 */
	protected function getKeywordsForRegex( array $keywords, $delimiter = '/' ) {
		// escape keywords for use in regex
		$delimiter = array_fill( 0, count( $keywords ), $delimiter );
		$escaped   = array_map( 'preg_quote', $keywords, $delimiter );

		// add word boundaries
		array_walk(
			$keywords,
			function ( $value ) {
				return '\b' . $value . '\b';
			}
		);

		$keywords = array_combine( $keywords, $escaped );

		return $keywords;
	}

	/**
	 * Replaces all occurrences of array['key'] by array.key.
	 *
	 * @param string $content
	 *
	 * @return string
	 */
	protected function propertyNotation( $content ) {
		// PHP only supports $this inside anonymous functions since 5.4
		$minifier = $this;
		$keywords = $this->keywordsReserved;
		$callback = function ( $match ) use ( $minifier, $keywords ) {
			$property = trim( $minifier->extracted[ $match[1] ], '\'"' );

			/*
			 * Check if the property is a reserved keyword. In this context (as
			 * property of an object literal/array) it shouldn't matter, but IE8
			 * freaks out with "Expected identifier".
			 */
			if ( in_array( $property, $keywords ) ) {
				return $match[0];
			}

			/*
			 * See if the property is in a variable-like format (e.g.
			 * array['key-here'] can't be replaced by array.key-here since '-'
			 * is not a valid character there.
			 */
			if ( ! preg_match( '/^' . $minifier::REGEX_VARIABLE . '$/u', $property ) ) {
				return $match[0];
			}

			return '.' . $property;
		};

		/*
		 * Figure out if previous character is a variable name (of the array
		 * we want to use property notation on) - this is to make sure
		 * standalone ['value'] arrays aren't confused for keys-of-an-array.
		 * We can (and only have to) check the last character, because PHP's
		 * regex implementation doesn't allow unfixed-length look-behind
		 * assertions.
		 */
		preg_match( '/(\[[^\]]+\])[^\]]*$/', static::REGEX_VARIABLE, $previousChar );
		$previousChar = $previousChar[1];

		/*
		 * Make sure word preceding the ['value'] is not a keyword, e.g.
		 * return['x']. Because -again- PHP's regex implementation doesn't allow
		 * unfixed-length look-behind assertions, I'm just going to do a lot of
		 * separate look-behind assertions, one for each keyword.
		 */
		$keywords = $this->getKeywordsForRegex( $keywords );
		$keywords = '(?<!' . implode( ')(?<!', $keywords ) . ')';

		return preg_replace_callback( '/(?<=' . $previousChar . '|\])' . $keywords . '\[\s*(([\'"])[0-9]+\\2)\s*\]/u', $callback, $content );
	}

	/**
	 * Replaces true & false by !0 and !1.
	 *
	 * @param string $content
	 *
	 * @return string
	 */
	protected function shortenBools( $content ) {
		/*
		 * 'true' or 'false' could be used as property names (which may be
		 * followed by whitespace) - we must not replace those!
		 * Since PHP doesn't allow variable-length (to account for the
		 * whitespace) lookbehind assertions, I need to capture the leading
		 * character and check if it's a `.`
		 */
		$callback = function ( $match ) {
			if ( trim( $match[1] ) === '.' ) {
				return $match[0];
			}

			return $match[1] . ( $match[2] === 'true' ? '!0' : '!1' );
		};
		$content  = preg_replace_callback( '/(^|.\s*)\b(true|false)\b(?!:)/', $callback, $content );

		// for(;;) is exactly the same as while(true), but shorter :)
		$content = preg_replace( '/\bwhile\(!0\){/', 'for(;;){', $content );

		// now make sure we didn't turn any do ... while(true) into do ... for(;;)
		preg_match_all( '/\bdo\b/', $content, $dos, PREG_OFFSET_CAPTURE | PREG_SET_ORDER );

		// go backward to make sure positional offsets aren't altered when $content changes
		$dos = array_reverse( $dos );
		foreach ( $dos as $do ) {
			$offsetDo = $do[0][1];

			// find all `while` (now `for`) following `do`: one of those must be
			// associated with the `do` and be turned back into `while`
			preg_match_all( '/\bfor\(;;\)/', $content, $whiles, PREG_OFFSET_CAPTURE | PREG_SET_ORDER, $offsetDo );
			foreach ( $whiles as $while ) {
				$offsetWhile = $while[0][1];

				$open  = substr_count( $content, '{', $offsetDo, $offsetWhile - $offsetDo );
				$close = substr_count( $content, '}', $offsetDo, $offsetWhile - $offsetDo );
				if ( $open === $close ) {
					// only restore `while` if amount of `{` and `}` are the same;
					// otherwise, that `for` isn't associated with this `do`
					$content = substr_replace( $content, 'while(!0)', $offsetWhile, strlen( 'for(;;)' ) );
					break;
				}
			}
		}

		return $content;
	}
}
PK_�\[�N��Clitespeed-cache/lib/css_js_min/minify/data/js/keywords_reserved.txtnu�[���do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof
abstract
boolean
byte
char
double
final
float
goto
int
long
native
short
synchronized
throws
transient
volatilePK_�\��垧�Alitespeed-cache/lib/css_js_min/minify/data/js/keywords_before.txtnu�[���do
in
let
new
var
case
else
enum
void
with
class
const
yield
delete
export
import
public
static
typeof
extends
package
private
function
protected
implements
instanceofPK_�\g�0�ssBlitespeed-cache/lib/css_js_min/minify/data/js/operators_before.txtnu�[���+
-
*
/
%
=
+=
-=
*=
/=
%=
<<=
>>=
>>>=
&=
^=
|=
&
|
^
~
<<
>>
>>>
==
===
!=
!==
>
<
>=
<=
&&
||
!
.
[
?
:
,
;
(
{
PK_�\)cd�xx;litespeed-cache/lib/css_js_min/minify/data/js/operators.txtnu�[���+
-
*
/
%
=
+=
-=
*=
/=
%=
<<=
>>=
>>>=
&=
^=
|=
&
|
^
~
<<
>>
>>>
==
===
!=
!==
>
<
>=
<=
&&
||
!
.
[
]
?
:
,
;
(
)
{
}PK_�\�x��99@litespeed-cache/lib/css_js_min/minify/data/js/keywords_after.txtnu�[���in
public
extends
private
protected
implements
instanceofPK_�\iO�rrAlitespeed-cache/lib/css_js_min/minify/data/js/operators_after.txtnu�[���+
-
*
/
%
=
+=
-=
*=
/=
%=
<<=
>>=
>>>=
&=
^=
|=
&
|
^
<<
>>
>>>
==
===
!=
!==
>
<
>=
<=
&&
||
.
[
]
?
:
,
;
(
)
}PK_�\�<Gl##-litespeed-cache/lib/css_js_min/minify/LICENSEnu�[���Copyright (c) 2012 Matthias Mullie

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
PK_�\tN'��7litespeed-cache/lib/css_js_min/minify/exception.cls.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * exception.cls.php - modified PHP implementation of Matthias Mullie's Exceptions Classes.
 *
 * @author Matthias Mullie <minify@mullie.eu>
 */

namespace LiteSpeed\Lib\CSS_JS_MIN\Minify\Exception;

defined( 'WPINC' ) || exit;

abstract class Exception extends \Exception {

}

abstract class BasicException extends Exception {

}

class FileImportException extends BasicException {

}

class IOException extends BasicException {

}
PK_�\�_��ejej1litespeed-cache/lib/css_js_min/minify/css.cls.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * css.cls.php - modified PHP implementation of Matthias Mullie's CSS minifier
 *
 * @author Matthias Mullie <minify@mullie.eu>
 * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved
 * @license MIT License
 */

namespace LiteSpeed\Lib\CSS_JS_MIN\Minify;

use LiteSpeed\Lib\CSS_JS_MIN\Minify\Minify;
use LiteSpeed\Lib\CSS_JS_MIN\Minify\Exception\FileImportException;
use LiteSpeed\Lib\CSS_JS_MIN\PathConverter\Converter;
use LiteSpeed\Lib\CSS_JS_MIN\PathConverter\ConverterInterface;

defined( 'WPINC' ) || exit;

class CSS extends Minify {

	/**
	 * @var int maximum import size in kB
	 */
	protected $maxImportSize = 5;

	/**
	 * @var string[] valid import extensions
	 */
	protected $importExtensions = array(
		'gif'   => 'data:image/gif',
		'png'   => 'data:image/png',
		'jpe'   => 'data:image/jpeg',
		'jpg'   => 'data:image/jpeg',
		'jpeg'  => 'data:image/jpeg',
		'svg'   => 'data:image/svg+xml',
		'woff'  => 'data:application/x-font-woff',
		'woff2' => 'data:application/x-font-woff2',
		'avif'  => 'data:image/avif',
		'apng'  => 'data:image/apng',
		'webp'  => 'data:image/webp',
		'tif'   => 'image/tiff',
		'tiff'  => 'image/tiff',
		'xbm'   => 'image/x-xbitmap',
	);

	/**
	 * Set the maximum size if files to be imported.
	 *
	 * Files larger than this size (in kB) will not be imported into the CSS.
	 * Importing files into the CSS as data-uri will save you some connections,
	 * but we should only import relatively small decorative images so that our
	 * CSS file doesn't get too bulky.
	 *
	 * @param int $size Size in kB
	 */
	public function setMaxImportSize( $size ) {
		$this->maxImportSize = $size;
	}

	/**
	 * Set the type of extensions to be imported into the CSS (to save network
	 * connections).
	 * Keys of the array should be the file extensions & respective values
	 * should be the data type.
	 *
	 * @param string[] $extensions Array of file extensions
	 */
	public function setImportExtensions( array $extensions ) {
		$this->importExtensions = $extensions;
	}

	/**
	 * Move any import statements to the top.
	 *
	 * @param string $content Nearly finished CSS content
	 *
	 * @return string
	 */
	public function moveImportsToTop( $content ) {
		if ( preg_match_all( '/(;?)(@import (?<url>url\()?(?P<quotes>["\']?).+?(?P=quotes)(?(url)\)));?/', $content, $matches ) ) {
			// remove from content
			foreach ( $matches[0] as $import ) {
				$content = str_replace( $import, '', $content );
			}

			// add to top
			$content = implode( ';', $matches[2] ) . ';' . trim( $content, ';' );
		}

		return $content;
	}

	/**
	 * Combine CSS from import statements.
	 *
	 * \@import's will be loaded and their content merged into the original file,
	 * to save HTTP requests.
	 *
	 * @param string   $source  The file to combine imports for
	 * @param string   $content The CSS content to combine imports for
	 * @param string[] $parents Parent paths, for circular reference checks
	 *
	 * @return string
	 *
	 * @throws FileImportException
	 */
	protected function combineImports( $source, $content, $parents ) {
		$importRegexes = array(
			// @import url(xxx)
			'/
            # import statement
            @import

            # whitespace
            \s+

                # open url()
                url\(

                    # (optional) open path enclosure
                    (?P<quotes>["\']?)

                        # fetch path
                        (?P<path>.+?)

                    # (optional) close path enclosure
                    (?P=quotes)

                # close url()
                \)

                # (optional) trailing whitespace
                \s*

                # (optional) media statement(s)
                (?P<media>[^;]*)

                # (optional) trailing whitespace
                \s*

            # (optional) closing semi-colon
            ;?

            /ix',

			// @import 'xxx'
			'/

            # import statement
            @import

            # whitespace
            \s+

                # open path enclosure
                (?P<quotes>["\'])

                    # fetch path
                    (?P<path>.+?)

                # close path enclosure
                (?P=quotes)

                # (optional) trailing whitespace
                \s*

                # (optional) media statement(s)
                (?P<media>[^;]*)

                # (optional) trailing whitespace
                \s*

            # (optional) closing semi-colon
            ;?

            /ix',
		);

		// find all relative imports in css
		$matches = array();
		foreach ( $importRegexes as $importRegex ) {
			if ( preg_match_all( $importRegex, $content, $regexMatches, PREG_SET_ORDER ) ) {
				$matches = array_merge( $matches, $regexMatches );
			}
		}

		$search  = array();
		$replace = array();

		// loop the matches
		foreach ( $matches as $match ) {
			// get the path for the file that will be imported
			$importPath = dirname( $source ) . '/' . $match['path'];

			// only replace the import with the content if we can grab the
			// content of the file
			if ( ! $this->canImportByPath( $match['path'] ) || ! $this->canImportFile( $importPath ) ) {
				continue;
			}

			// check if current file was not imported previously in the same
			// import chain.
			if ( in_array( $importPath, $parents ) ) {
				throw new FileImportException( 'Failed to import file "' . $importPath . '": circular reference detected.' );
			}

			// grab referenced file & minify it (which may include importing
			// yet other @import statements recursively)
			$minifier = new self( $importPath );
			$minifier->setMaxImportSize( $this->maxImportSize );
			$minifier->setImportExtensions( $this->importExtensions );
			$importContent = $minifier->execute( $source, $parents );

			// check if this is only valid for certain media
			if ( ! empty( $match['media'] ) ) {
				$importContent = '@media ' . $match['media'] . '{' . $importContent . '}';
			}

			// add to replacement array
			$search[]  = $match[0];
			$replace[] = $importContent;
		}

		// replace the import statements
		return str_replace( $search, $replace, $content );
	}

	/**
	 * Import files into the CSS, base64 encoded.
	 *
	 * Included images @url(image.jpg) will be loaded and their content merged into the
	 * original file, to save HTTP requests.
	 *
	 * @param string $source  The file to import files for
	 * @param string $content The CSS content to import files for
	 *
	 * @return string
	 */
	protected function importFiles( $source, $content ) {
		$regex = '/url\((["\']?)(.+?)\\1\)/i';
		if ( $this->importExtensions && preg_match_all( $regex, $content, $matches, PREG_SET_ORDER ) ) {
			$search  = array();
			$replace = array();

			// loop the matches
			foreach ( $matches as $match ) {
				$extension = substr( strrchr( $match[2], '.' ), 1 );
				if ( $extension && ! array_key_exists( $extension, $this->importExtensions ) ) {
					continue;
				}

				// get the path for the file that will be imported
				$path = $match[2];
				$path = dirname( $source ) . '/' . $path;

				// only replace the import with the content if we're able to get
				// the content of the file, and it's relatively small
				if ( $this->canImportFile( $path ) && $this->canImportBySize( $path ) ) {
					// grab content && base64-ize
					$importContent = $this->load( $path );
					$importContent = base64_encode( $importContent );

					// build replacement
					$search[]  = $match[0];
					$replace[] = 'url(' . $this->importExtensions[ $extension ] . ';base64,' . $importContent . ')';
				}
			}

			// replace the import statements
			$content = str_replace( $search, $replace, $content );
		}

		return $content;
	}

	/**
	 * Minify the data.
	 * Perform CSS optimizations.
	 *
	 * @param string[optional] $path    Path to write the data to
	 * @param string[]         $parents Parent paths, for circular reference checks
	 *
	 * @return string The minified data
	 */
	public function execute( $path = null, $parents = array() ) {
		$content = '';

		// loop CSS data (raw data and files)
		foreach ( $this->data as $source => $css ) {
			/*
			 * Let's first take out strings & comments, since we can't just
			 * remove whitespace anywhere. If whitespace occurs inside a string,
			 * we should leave it alone. E.g.:
			 * p { content: "a   test" }
			 */
			$this->extractStrings();
			$this->stripComments();
			$this->extractMath();
			$this->extractCustomProperties();
			$css = $this->replace( $css );

			$css = $this->stripWhitespace( $css );
			$css = $this->convertLegacyColors( $css );
			$css = $this->cleanupModernColors( $css );
			$css = $this->shortenHEXColors( $css );
			$css = $this->shortenZeroes( $css );
			$css = $this->shortenFontWeights( $css );
			$css = $this->stripEmptyTags( $css );

			// restore the string we've extracted earlier
			$css = $this->restoreExtractedData( $css );

			$source  = is_int( $source ) ? '' : $source;
			$parents = $source ? array_merge( $parents, array( $source ) ) : $parents;
			$css     = $this->combineImports( $source, $css, $parents );
			$css     = $this->importFiles( $source, $css );

			/*
			 * If we'll save to a new path, we'll have to fix the relative paths
			 * to be relative no longer to the source file, but to the new path.
			 * If we don't write to a file, fall back to same path so no
			 * conversion happens (because we still want it to go through most
			 * of the move code, which also addresses url() & @import syntax...)
			 */
			$converter = $this->getPathConverter( $source, $path ?: $source );
			$css       = $this->move( $converter, $css );

			// combine css
			$content .= $css;
		}

		$content = $this->moveImportsToTop( $content );

		return $content;
	}

	/**
	 * Moving a css file should update all relative urls.
	 * Relative references (e.g. ../images/image.gif) in a certain css file,
	 * will have to be updated when a file is being saved at another location
	 * (e.g. ../../images/image.gif, if the new CSS file is 1 folder deeper).
	 *
	 * @param ConverterInterface $converter Relative path converter
	 * @param string             $content   The CSS content to update relative urls for
	 *
	 * @return string
	 */
	protected function move( ConverterInterface $converter, $content ) {
		/*
		 * Relative path references will usually be enclosed by url(). @import
		 * is an exception, where url() is not necessary around the path (but is
		 * allowed).
		 * This *could* be 1 regular expression, where both regular expressions
		 * in this array are on different sides of a |. But we're using named
		 * patterns in both regexes, the same name on both regexes. This is only
		 * possible with a (?J) modifier, but that only works after a fairly
		 * recent PCRE version. That's why I'm doing 2 separate regular
		 * expressions & combining the matches after executing of both.
		 */
		$relativeRegexes = array(
			// url(xxx)
			'/
            # open url()
            url\(

                \s*

                # open path enclosure
                (?P<quotes>["\'])?

                    # fetch path
                    (?P<path>.+?)

                # close path enclosure
                (?(quotes)(?P=quotes))

                \s*

            # close url()
            \)

            /ix',

			// @import "xxx"
			'/
            # import statement
            @import

            # whitespace
            \s+

                # we don\'t have to check for @import url(), because the
                # condition above will already catch these

                # open path enclosure
                (?P<quotes>["\'])

                    # fetch path
                    (?P<path>.+?)

                # close path enclosure
                (?P=quotes)

            /ix',
		);

		// find all relative urls in css
		$matches = array();
		foreach ( $relativeRegexes as $relativeRegex ) {
			if ( preg_match_all( $relativeRegex, $content, $regexMatches, PREG_SET_ORDER ) ) {
				$matches = array_merge( $matches, $regexMatches );
			}
		}

		$search  = array();
		$replace = array();

		// loop all urls
		foreach ( $matches as $match ) {
			// determine if it's a url() or an @import match
			$type = ( strpos( $match[0], '@import' ) === 0 ? 'import' : 'url' );

			$url = $match['path'];
			if ( $this->canImportByPath( $url ) ) {
				// attempting to interpret GET-params makes no sense, so let's discard them for awhile
				$params = strrchr( $url, '?' );
				$url    = $params ? substr( $url, 0, -strlen( $params ) ) : $url;

				// fix relative url
				$url = $converter->convert( $url );

				// now that the path has been converted, re-apply GET-params
				$url .= $params;
			}

			/*
			 * Urls with control characters above 0x7e should be quoted.
			 * According to Mozilla's parser, whitespace is only allowed at the
			 * end of unquoted urls.
			 * Urls with `)` (as could happen with data: uris) should also be
			 * quoted to avoid being confused for the url() closing parentheses.
			 * And urls with a # have also been reported to cause issues.
			 * Urls with quotes inside should also remain escaped.
			 *
			 * @see https://developer.mozilla.org/nl/docs/Web/CSS/url#The_url()_functional_notation
			 * @see https://hg.mozilla.org/mozilla-central/rev/14abca4e7378
			 * @see https://github.com/matthiasmullie/minify/issues/193
			 */
			$url = trim( $url );
			if ( preg_match( '/[\s\)\'"#\x{7f}-\x{9f}]/u', $url ) ) {
				$url = $match['quotes'] . $url . $match['quotes'];
			}

			// build replacement
			$search[] = $match[0];
			if ( $type === 'url' ) {
				$replace[] = 'url(' . $url . ')';
			} elseif ( $type === 'import' ) {
				$replace[] = '@import "' . $url . '"';
			}
		}

		// replace urls
		return str_replace( $search, $replace, $content );
	}

	/**
	 * Shorthand HEX color codes.
	 * #FF0000FF -> #f00 -> red
	 * #FF00FF00 -> transparent.
	 *
	 * @param string $content The CSS content to shorten the HEX color codes for
	 *
	 * @return string
	 */
	protected function shortenHexColors( $content ) {
		// shorten repeating patterns within HEX ..
		$content = preg_replace( '/(?<=[: ])#([0-9a-f])\\1([0-9a-f])\\2([0-9a-f])\\3(?:([0-9a-f])\\4)?(?=[; }])/i', '#$1$2$3$4', $content );

		// remove alpha channel if it's pointless ..
		$content = preg_replace( '/(?<=[: ])#([0-9a-f]{6})ff(?=[; }])/i', '#$1', $content );
		$content = preg_replace( '/(?<=[: ])#([0-9a-f]{3})f(?=[; }])/i', '#$1', $content );

		// replace `transparent` with shortcut ..
		$content = preg_replace( '/(?<=[: ])#[0-9a-f]{6}00(?=[; }])/i', '#fff0', $content );

		$colors = array(
			// make these more readable
			'#00f'        => 'blue',
			'#dc143c'     => 'crimson',
			'#0ff'        => 'cyan',
			'#8b0000'     => 'darkred',
			'#696969'     => 'dimgray',
			'#ff69b4'     => 'hotpink',
			'#0f0'        => 'lime',
			'#fdf5e6'     => 'oldlace',
			'#87ceeb'     => 'skyblue',
			'#d8bfd8'     => 'thistle',
			// we can shorten some even more by replacing them with their color name
			'#f0ffff'     => 'azure',
			'#f5f5dc'     => 'beige',
			'#ffe4c4'     => 'bisque',
			'#a52a2a'     => 'brown',
			'#ff7f50'     => 'coral',
			'#ffd700'     => 'gold',
			'#808080'     => 'gray',
			'#008000'     => 'green',
			'#4b0082'     => 'indigo',
			'#fffff0'     => 'ivory',
			'#f0e68c'     => 'khaki',
			'#faf0e6'     => 'linen',
			'#800000'     => 'maroon',
			'#000080'     => 'navy',
			'#808000'     => 'olive',
			'#ffa500'     => 'orange',
			'#da70d6'     => 'orchid',
			'#cd853f'     => 'peru',
			'#ffc0cb'     => 'pink',
			'#dda0dd'     => 'plum',
			'#800080'     => 'purple',
			'#f00'        => 'red',
			'#fa8072'     => 'salmon',
			'#a0522d'     => 'sienna',
			'#c0c0c0'     => 'silver',
			'#fffafa'     => 'snow',
			'#d2b48c'     => 'tan',
			'#008080'     => 'teal',
			'#ff6347'     => 'tomato',
			'#ee82ee'     => 'violet',
			'#f5deb3'     => 'wheat',
			// or the other way around
			'black'       => '#000',
			'fuchsia'     => '#f0f',
			'magenta'     => '#f0f',
			'white'       => '#fff',
			'yellow'      => '#ff0',
			// and also `transparent`
			'transparent' => '#fff0',
		);

		return preg_replace_callback(
			'/(?<=[: ])(' . implode( '|', array_keys( $colors ) ) . ')(?=[; }])/i',
			function ( $match ) use ( $colors ) {
				return $colors[ strtolower( $match[0] ) ];
			},
			$content
		);
	}

	/**
	 * Convert RGB|HSL color codes.
	 * rgb(255,0,0,.5) -> rgb(255 0 0 / .5).
	 * rgb(255,0,0) -> #f00.
	 *
	 * @param string $content The CSS content to shorten the RGB color codes for
	 *
	 * @return string
	 */
	protected function convertLegacyColors( $content ) {
		/*
			https://drafts.csswg.org/css-color/#color-syntax-legacy
			https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/rgb
			https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl
		*/

		// convert legacy color syntax
		$content = preg_replace( '/(rgb)a?\(\s*([0-9]{1,3}%?)\s*,\s*([0-9]{1,3}%?)\s*,\s*([0-9]{1,3}%?)\s*,\s*([0,1]?(?:\.[0-9]*)?)\s*\)/i', '$1($2 $3 $4 / $5)', $content );
		$content = preg_replace( '/(rgb)a?\(\s*([0-9]{1,3}%?)\s*,\s*([0-9]{1,3}%?)\s*,\s*([0-9]{1,3}%?)\s*\)/i', '$1($2 $3 $4)', $content );
		$content = preg_replace( '/(hsl)a?\(\s*([0-9]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9]{1,3}%)\s*,\s*([0-9]{1,3}%)\s*,\s*([0,1]?(?:\.[0-9]*)?)\s*\)/i', '$1($2 $3 $4 / $5)', $content );
		$content = preg_replace( '/(hsl)a?\(\s*([0-9]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9]{1,3}%)\s*,\s*([0-9]{1,3}%)\s*\)/i', '$1($2 $3 $4)', $content );

		// convert `rgb` to `hex`
		$dec = '([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])';
		return preg_replace_callback(
			"/rgb\($dec $dec $dec\)/i",
			function ( $match ) {
				return sprintf( '#%02x%02x%02x', $match[1], $match[2], $match[3] );
			},
			$content
		);
	}

	/**
	 * Cleanup RGB|HSL|HWB|LCH|LAB
	 * rgb(255 0 0 / 1) -> rgb(255 0 0).
	 * rgb(255 0 0 / 0) -> transparent.
	 *
	 * @param string $content The CSS content to cleanup HSL|HWB|LCH|LAB
	 *
	 * @return string
	 */
	protected function cleanupModernColors( $content ) {
		/*
			https://drafts.csswg.org/css-color/#color-syntax-modern
			https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hwb
			https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/lch
			https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/lab
			https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklch
			https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklab
		*/
		$tag = '(rgb|hsl|hwb|(?:(?:ok)?(?:lch|lab)))';

		// remove alpha channel if it's pointless ..
		$content = preg_replace( '/' . $tag . '\(\s*([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+\/\s+1(?:(?:\.\d?)*|00%)?\s*\)/i', '$1($2 $3 $4)', $content );

		// replace `transparent` with shortcut ..
		$content = preg_replace( '/' . $tag . '\(\s*[^\s]+\s+[^\s]+\s+[^\s]+\s+\/\s+0(?:[\.0%]*)?\s*\)/i', '#fff0', $content );

		return $content;
	}

	/**
	 * Shorten CSS font weights.
	 *
	 * @param string $content The CSS content to shorten the font weights for
	 *
	 * @return string
	 */
	protected function shortenFontWeights( $content ) {
		$weights = array(
			'normal' => 400,
			'bold'   => 700,
		);

		$callback = function ( $match ) use ( $weights ) {
			return $match[1] . $weights[ $match[2] ];
		};

		return preg_replace_callback( '/(font-weight\s*:\s*)(' . implode( '|', array_keys( $weights ) ) . ')(?=[;}])/', $callback, $content );
	}

	/**
	 * Shorthand 0 values to plain 0, instead of e.g. -0em.
	 *
	 * @param string $content The CSS content to shorten the zero values for
	 *
	 * @return string
	 */
	protected function shortenZeroes( $content ) {
		// we don't want to strip units in `calc()` expressions:
		// `5px - 0px` is valid, but `5px - 0` is not
		// `10px * 0` is valid (equates to 0), and so is `10 * 0px`, but
		// `10 * 0` is invalid
		// we've extracted calcs earlier, so we don't need to worry about this

		// reusable bits of code throughout these regexes:
		// before & after are used to make sure we don't match lose unintended
		// 0-like values (e.g. in #000, or in http://url/1.0)
		// units can be stripped from 0 values, or used to recognize non 0
		// values (where wa may be able to strip a .0 suffix)
		$before = '(?<=[:(, ])';
		$after  = '(?=[ ,);}])';
		$units  = '(em|ex|%|px|cm|mm|in|pt|pc|ch|rem|vh|vw|vmin|vmax|vm)';

		// strip units after zeroes (0px -> 0)
		// NOTE: it should be safe to remove all units for a 0 value, but in
		// practice, Webkit (especially Safari) seems to stumble over at least
		// 0%, potentially other units as well. Only stripping 'px' for now.
		// @see https://github.com/matthiasmullie/minify/issues/60
		$content = preg_replace( '/' . $before . '(-?0*(\.0+)?)(?<=0)px' . $after . '/', '\\1', $content );

		// strip 0-digits (.0 -> 0)
		$content = preg_replace( '/' . $before . '\.0+' . $units . '?' . $after . '/', '0\\1', $content );
		// strip trailing 0: 50.10 -> 50.1, 50.10px -> 50.1px
		$content = preg_replace( '/' . $before . '(-?[0-9]+\.[0-9]+)0+' . $units . '?' . $after . '/', '\\1\\2', $content );
		// strip trailing 0: 50.00 -> 50, 50.00px -> 50px
		$content = preg_replace( '/' . $before . '(-?[0-9]+)\.0+' . $units . '?' . $after . '/', '\\1\\2', $content );
		// strip leading 0: 0.1 -> .1, 01.1 -> 1.1
		$content = preg_replace( '/' . $before . '(-?)0+([0-9]*\.[0-9]+)' . $units . '?' . $after . '/', '\\1\\2\\3', $content );

		// strip negative zeroes (-0 -> 0) & truncate zeroes (00 -> 0)
		$content = preg_replace( '/' . $before . '-?0+' . $units . '?' . $after . '/', '0\\1', $content );

		// IE doesn't seem to understand a unitless flex-basis value (correct -
		// it goes against the spec), so let's add it in again (make it `%`,
		// which is only 1 char: 0%, 0px, 0 anything, it's all just the same)
		// @see https://developer.mozilla.org/nl/docs/Web/CSS/flex
		$content = preg_replace( '/flex:([0-9]+\s[0-9]+\s)0([;\}])/', 'flex:${1}0%${2}', $content );
		$content = preg_replace( '/flex-basis:0([;\}])/', 'flex-basis:0%${1}', $content );

		return $content;
	}

	/**
	 * Strip empty tags from source code.
	 *
	 * @param string $content
	 *
	 * @return string
	 */
	protected function stripEmptyTags( $content ) {
		$content = preg_replace( '/(?<=^)[^\{\};]+\{\s*\}/', '', $content );
		$content = preg_replace( '/(?<=(\}|;))[^\{\};]+\{\s*\}/', '', $content );

		return $content;
	}

	/**
	 * Strip comments from source code.
	 */
	protected function stripComments() {
		$this->stripMultilineComments();
	}

	/**
	 * Strip whitespace.
	 *
	 * @param string $content The CSS content to strip the whitespace for
	 *
	 * @return string
	 */
	protected function stripWhitespace( $content ) {
		// remove leading & trailing whitespace
		$content = preg_replace( '/^\s*/m', '', $content );
		$content = preg_replace( '/\s*$/m', '', $content );

		// replace newlines with a single space
		$content = preg_replace( '/\s+/', ' ', $content );

		// remove whitespace around meta characters
		// inspired by stackoverflow.com/questions/15195750/minify-compress-css-with-regex
		$content = preg_replace( '/\s*([\*$~^|]?+=|[{};,>~]|!important\b)\s*/', '$1', $content );
		$content = preg_replace( '/([\[(:>\+])\s+/', '$1', $content );
		$content = preg_replace( '/\s+([\]\)>\+])/', '$1', $content );
		$content = preg_replace( '/\s+(:)(?![^\}]*\{)/', '$1', $content );

		// whitespace around + and - can only be stripped inside some pseudo-
		// classes, like `:nth-child(3+2n)`
		// not in things like `calc(3px + 2px)`, shorthands like `3px -2px`, or
		// selectors like `div.weird- p`
		$pseudos = array( 'nth-child', 'nth-last-child', 'nth-last-of-type', 'nth-of-type' );
		$content = preg_replace( '/:(' . implode( '|', $pseudos ) . ')\(\s*([+-]?)\s*(.+?)\s*([+-]?)\s*(.*?)\s*\)/', ':$1($2$3$4$5)', $content );

		// remove semicolon/whitespace followed by closing bracket
		$content = str_replace( ';}', '}', $content );

		return trim( $content );
	}

	/**
	 * Replace all occurrences of functions that may contain math, where
	 * whitespace around operators needs to be preserved (e.g. calc, clamp).
	 */
	protected function extractMath() {
		$functions = array( 'calc', 'clamp', 'min', 'max' );
		$pattern   = '/\b(' . implode( '|', $functions ) . ')(\(.+?)(?=$|;|})/m';

		// PHP only supports $this inside anonymous functions since 5.4
		$minifier = $this;
		$callback = function ( $match ) use ( $minifier, $pattern, &$callback ) {
			$function = $match[1];
			$length   = strlen( $match[2] );
			$expr     = '';
			$opened   = 0;

			// the regular expression for extracting math has 1 significant problem:
			// it can't determine the correct closing parenthesis...
			// instead, it'll match a larger portion of code to where it's certain that
			// the calc() musts have ended, and we'll figure out which is the correct
			// closing parenthesis here, by counting how many have opened
			for ( $i = 0; $i < $length; ++$i ) {
				$char  = $match[2][ $i ];
				$expr .= $char;
				if ( $char === '(' ) {
					++$opened;
				} elseif ( $char === ')' && --$opened === 0 ) {
					break;
				}
			}

			// now that we've figured out where the calc() starts and ends, extract it
			$count                               = count( $minifier->extracted );
			$placeholder                         = 'math(' . $count . ')';
			$minifier->extracted[ $placeholder ] = $function . '(' . trim( substr( $expr, 1, -1 ) ) . ')';

			// and since we've captured more code than required, we may have some leftover
			// calc() in here too - go recursive on the remaining but of code to go figure
			// that out and extract what is needed
			$rest = $minifier->str_replace_first( $function . $expr, '', $match[0] );
			$rest = preg_replace_callback( $pattern, $callback, $rest );

			return $placeholder . $rest;
		};

		$this->registerPattern( $pattern, $callback );
	}

	/**
	 * Replace custom properties, whose values may be used in scenarios where
	 * we wouldn't want them to be minified (e.g. inside calc).
	 */
	protected function extractCustomProperties() {
		// PHP only supports $this inside anonymous functions since 5.4
		$minifier = $this;
		$this->registerPattern(
			'/(?<=^|[;}{])\s*(--[^:;{}"\'\s]+)\s*:([^;{}]+)/m',
			function ( $match ) use ( $minifier ) {
				$placeholder                         = '--custom-' . count( $minifier->extracted ) . ':0';
				$minifier->extracted[ $placeholder ] = $match[1] . ':' . trim( $match[2] );

				return $placeholder;
			}
		);
	}

	/**
	 * Check if file is small enough to be imported.
	 *
	 * @param string $path The path to the file
	 *
	 * @return bool
	 */
	protected function canImportBySize( $path ) {
		return ( $size = @filesize( $path ) ) && $size <= $this->maxImportSize * 1024;
	}

	/**
	 * Check if file a file can be imported, going by the path.
	 *
	 * @param string $path
	 *
	 * @return bool
	 */
	protected function canImportByPath( $path ) {
		return preg_match( '/^(data:|https?:|\\/)/', $path ) === 0;
	}

	/**
	 * Return a converter to update relative paths to be relative to the new
	 * destination.
	 *
	 * @param string $source
	 * @param string $target
	 *
	 * @return ConverterInterface
	 */
	protected function getPathConverter( $source, $target ) {
		return new Converter( $source, $target );
	}
}
PK_�\��/��>litespeed-cache/lib/css_js_min/pathconverter/converter.cls.phpnu�[���<?php
// phpcs:ignoreFile
/**
 * modified PHP implementation of Matthias Mullie's convert path class
 * Convert paths relative from 1 file to another.
 *
 * E.g.
 *     ../../images/icon.jpg relative to /css/imports/icons.css
 * becomes
 *     ../images/icon.jpg relative to /css/minified.css
 *
 * @author Matthias Mullie <pathconverter@mullie.eu>
 * @copyright Copyright (c) 2015, Matthias Mullie. All rights reserved
 * @license MIT License
 */

namespace LiteSpeed\Lib\CSS_JS_MIN\PathConverter;

defined( 'WPINC' ) || exit;

interface ConverterInterface {

	/**
	 * Convert file paths.
	 *
	 * @param string $path The path to be converted
	 *
	 * @return string The new path
	 */
	public function convert( $path );
}

class Converter implements ConverterInterface {

	/**
	 * @var string
	 */
	protected $from;

	/**
	 * @var string
	 */
	protected $to;

	/**
	 * @param string $from The original base path (directory, not file!)
	 * @param string $to   The new base path (directory, not file!)
	 * @param string $root Root directory (defaults to `getcwd`)
	 */
	public function __construct( $from, $to, $root = '' ) {
		$shared = $this->shared( $from, $to );
		if ( $shared === '' ) {
			// when both paths have nothing in common, one of them is probably
			// absolute while the other is relative
			$root = $root ?: getcwd();
			$from = strpos( $from, $root ) === 0 ? $from : preg_replace( '/\/+/', '/', $root . '/' . $from );
			$to   = strpos( $to, $root ) === 0 ? $to : preg_replace( '/\/+/', '/', $root . '/' . $to );

			// or traveling the tree via `..`
			// attempt to resolve path, or assume it's fine if it doesn't exist
			$from = @realpath( $from ) ?: $from;
			$to   = @realpath( $to ) ?: $to;
		}

		$from = $this->dirname( $from );
		$to   = $this->dirname( $to );

		$from = $this->normalize( $from );
		$to   = $this->normalize( $to );

		$this->from = $from;
		$this->to   = $to;
	}

	/**
	 * Normalize path.
	 *
	 * @param string $path
	 *
	 * @return string
	 */
	protected function normalize( $path ) {
		// deal with different operating systems' directory structure
		$path = rtrim( str_replace( DIRECTORY_SEPARATOR, '/', $path ), '/' );

		// remove leading current directory.
		if ( substr( $path, 0, 2 ) === './' ) {
			$path = substr( $path, 2 );
		}

		// remove references to current directory in the path.
		$path = str_replace( '/./', '/', $path );

		/*
		 * Example:
		 *     /home/forkcms/frontend/cache/compiled_templates/../../core/layout/css/../images/img.gif
		 * to
		 *     /home/forkcms/frontend/core/layout/images/img.gif
		 */
		do {
			$path = preg_replace( '/[^\/]+(?<!\.\.)\/\.\.\//', '', $path, -1, $count );
		} while ( $count );

		return $path;
	}

	/**
	 * Figure out the shared path of 2 locations.
	 *
	 * Example:
	 *     /home/forkcms/frontend/core/layout/images/img.gif
	 * and
	 *     /home/forkcms/frontend/cache/minified_css
	 * share
	 *     /home/forkcms/frontend
	 *
	 * @param string $path1
	 * @param string $path2
	 *
	 * @return string
	 */
	protected function shared( $path1, $path2 ) {
		// $path could theoretically be empty (e.g. no path is given), in which
		// case it shouldn't expand to array(''), which would compare to one's
		// root /
		$path1 = $path1 ? explode( '/', $path1 ) : array();
		$path2 = $path2 ? explode( '/', $path2 ) : array();

		$shared = array();

		// compare paths & strip identical ancestors
		foreach ( $path1 as $i => $chunk ) {
			if ( isset( $path2[ $i ] ) && $path1[ $i ] == $path2[ $i ] ) {
				$shared[] = $chunk;
			} else {
				break;
			}
		}

		return implode( '/', $shared );
	}

	/**
	 * Convert paths relative from 1 file to another.
	 *
	 * E.g.
	 *     ../images/img.gif relative to /home/forkcms/frontend/core/layout/css
	 * should become:
	 *     ../../core/layout/images/img.gif relative to
	 *     /home/forkcms/frontend/cache/minified_css
	 *
	 * @param string $path The relative path that needs to be converted
	 *
	 * @return string The new relative path
	 */
	public function convert( $path ) {
		// quit early if conversion makes no sense
		if ( $this->from === $this->to ) {
			return $path;
		}

		$path = $this->normalize( $path );
		// if we're not dealing with a relative path, just return absolute
		if ( strpos( $path, '/' ) === 0 ) {
			return $path;
		}

		// normalize paths
		$path = $this->normalize( $this->from . '/' . $path );

		// strip shared ancestor paths
		$shared = $this->shared( $path, $this->to );
		$path   = mb_substr( $path, mb_strlen( $shared ) );
		$to     = mb_substr( $this->to, mb_strlen( $shared ) );

		// add .. for every directory that needs to be traversed to new path
		$to = str_repeat( '../', count( array_filter( explode( '/', $to ) ) ) );

		return $to . ltrim( $path, '/' );
	}

	/**
	 * Attempt to get the directory name from a path.
	 *
	 * @param string $path
	 *
	 * @return string
	 */
	protected function dirname( $path ) {
		if ( @is_file( $path ) ) {
			return dirname( $path );
		}

		if ( @is_dir( $path ) ) {
			return rtrim( $path, '/' );
		}

		// no known file/dir, start making assumptions

		// ends in / = dir
		if ( mb_substr( $path, -1 ) === '/' ) {
			return rtrim( $path, '/' );
		}

		// has a dot in the name, likely a file
		if ( preg_match( '/.*\..*$/', basename( $path ) ) !== 0 ) {
			return dirname( $path );
		}

		// you're on your own here!
		return $path;
	}
}

class NoConverter implements ConverterInterface {

	/**
	 * {@inheritdoc}
	 */
	public function convert( $path ) {
		return $path;
	}
}
PK_�\�'�##4litespeed-cache/lib/css_js_min/pathconverter/LICENSEnu�[���Copyright (c) 2015 Matthias Mullie

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
PK_�\����Q Q !litespeed-cache/lib/guest.cls.phpnu�[���<?php
/**
 * Guest vary handler for LiteSpeed Cache.
 *
 * NOTE: This file is loaded directly without WordPress, so WP functions are NOT available.
 *
 * @package LiteSpeed
 * @since   4.1
 */

namespace LiteSpeed\Lib;

/**
 * Update guest vary
 *
 * @since 4.1
 */
class Guest {

	const CONF_FILE            = '.litespeed_conf.dat';
	const HASH                 = 'hash'; // Not set-able
	const O_CACHE_LOGIN_COOKIE = 'cache-login_cookie';
	const O_DEBUG              = 'debug';
	const O_DEBUG_IPS          = 'debug-ips';
	const O_UTIL_NO_HTTPS_VARY = 'util-no_https_vary';

	/**
	 * Client IP address.
	 *
	 * @var string
	 */
	private static $_ip;

	/**
	 * Vary cookie name.
	 *
	 * @var string
	 */
	private static $_vary_name = '_lscache_vary';

	/**
	 * Configuration array.
	 *
	 * @var array|false
	 */
	private $_conf = false;

	/**
	 * Guest Mode lists cache.
	 *
	 * @var array
	 */
	private $_gm_lists = [
		'ips' => null,
		'uas' => null,
	];

	/**
	 * Constructor
	 *
	 * @since 4.1
	 */
	public function __construct() {
		! defined( 'LSCWP_CONTENT_FOLDER' ) && define( 'LSCWP_CONTENT_FOLDER', dirname( __DIR__, 3 ) );
		// phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents -- No WP available
		$this->_conf = file_get_contents( LSCWP_CONTENT_FOLDER . '/' . self::CONF_FILE );
		if ( $this->_conf ) {
			$this->_conf = json_decode( $this->_conf, true );
		}

		if ( ! empty( $this->_conf[ self::O_CACHE_LOGIN_COOKIE ] ) ) {
			self::$_vary_name = $this->_conf[ self::O_CACHE_LOGIN_COOKIE ];
		}
	}

	/**
	 * Update Guest vary.
	 *
	 * @since  4.0
	 * @return void
	 */
	public function update_guest_vary() {
		// This process must not be cached
		// @reference https://wordpress.org/support/topic/soft-404-from-google-search-on-litespeed-cache-guest-vary-php/#post-16838583
		header( 'X-Robots-Tag: noindex' );
		header( 'X-LiteSpeed-Cache-Control: no-cache' );

		if ( $this->always_guest() ) {
			echo '[]';
			exit;
		}

		// If contains vary already, don't reload to avoid infinite loop when parent page having browser cache
		if ( $this->_conf && self::has_vary() ) {
			echo '[]';
			exit;
		}

		// Send vary cookie
		$vary = 'guest_mode:1';
		if ( $this->_conf && empty( $this->_conf[ self::O_DEBUG ] ) ) {
			$vary = md5( $this->_conf[ self::HASH ] . $vary );
		}

		$expire = time() + 2 * 86400;
		$is_ssl = ! empty( $this->_conf[ self::O_UTIL_NO_HTTPS_VARY ] ) ? false : $this->is_ssl();
		setcookie( self::$_vary_name, $vary, $expire, '/', false, $is_ssl, true );

		// phpcs:ignore WordPress.WP.AlternativeFunctions.json_encode_json_encode -- No WP available
		echo json_encode( [ 'reload' => 'yes' ] );
		exit;
	}

	/**
	 * WP's is_ssl() func
	 *
	 * @since 4.1
	 * @return bool
	 */
	private function is_ssl() {
		// phpcs:disable WordPress.Security.ValidatedSanitizedInput -- No WP available
		if ( isset( $_SERVER['HTTPS'] ) ) {
			if ( 'on' === strtolower( $_SERVER['HTTPS'] ) ) {
				return true;
			}

			if ( '1' === $_SERVER['HTTPS'] ) {
				return true;
			}
		} elseif ( isset( $_SERVER['SERVER_PORT'] ) && '443' === $_SERVER['SERVER_PORT'] ) {
			return true;
		}
		// phpcs:enable WordPress.Security.ValidatedSanitizedInput
		return false;
	}

	/**
	 * Check if default vary has a value
	 *
	 * @since 1.1.3
	 * @access public
	 * @return string|false
	 */
	public static function has_vary() {
		if ( empty( $_COOKIE[ self::$_vary_name ] ) ) {
			return false;
		}
		// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash -- No WP available
		return $_COOKIE[ self::$_vary_name ];
	}

	/**
	 * Load Guest Mode list from file.
	 *
	 * Priority: cloud synced file > plugin data file
	 *
	 * @since 7.7
	 * @param string $type 'ips' or 'uas'.
	 * @return array
	 */
	private function _load_gm_list( $type ) {
		if ( null !== $this->_gm_lists[ $type ] ) {
			return $this->_gm_lists[ $type ];
		}

		$this->_gm_lists[ $type ] = [];
		$filename                 = 'gm_' . $type . '.txt';

		// Try cloud synced file first, then fallback to plugin data file
		$files = [
			LSCWP_CONTENT_FOLDER . '/litespeed/cloud/' . $filename,
			dirname( __DIR__ ) . '/data/' . $filename,
		];

		foreach ( $files as $file ) {
			if ( file_exists( $file ) ) {
				// phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents -- No WP available
				$content = file_get_contents( $file );
				if ( $content ) {
					$this->_gm_lists[ $type ] = array_filter( array_map( 'trim', explode( "\n", $content ) ) );
					break;
				}
			}
		}

		return $this->_gm_lists[ $type ];
	}

	/**
	 * Detect if is a guest visitor or not
	 *
	 * @since  4.0
	 * @return bool
	 */
	public function always_guest() {
		if ( empty( $_SERVER['HTTP_USER_AGENT'] ) ) {
			return false;
		}

		$guest_uas = $this->_load_gm_list( 'uas' );
		if ( $guest_uas ) {
			$quoted_uas = [];
			foreach ( $guest_uas as $v ) {
				$quoted_uas[] = preg_quote( $v, '#' );
			}
			// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash -- No WP available
			$match = preg_match( '#' . implode( '|', $quoted_uas ) . '#i', $_SERVER['HTTP_USER_AGENT'] );
			if ( $match ) {
				return true;
			}
		}

		$guest_ips = $this->_load_gm_list( 'ips' );
		if ( $this->ip_access( $guest_ips ) ) {
			return true;
		}

		return false;
	}

	/**
	 * Check if the ip is in the range (supports CIDR notation)
	 *
	 * @since 1.1.0
	 * @since 7.7 Added CIDR support
	 * @access public
	 * @param array $ip_list List of IPs or CIDRs.
	 * @return bool
	 */
	public function ip_access( $ip_list ) {
		if ( ! $ip_list ) {
			return false;
		}
		if ( ! isset( self::$_ip ) ) {
			self::$_ip = self::get_ip();
		}

		foreach ( $ip_list as $ip_entry ) {
			$ip_entry = trim( $ip_entry );
			// Check CIDR format
			if ( strpos( $ip_entry, '/' ) !== false ) {
				if ( $this->_ip_in_cidr( self::$_ip, $ip_entry ) ) {
					return true;
				}
			} elseif ( self::$_ip === $ip_entry ) {
				// Exact match
				return true;
			}
		}

		return false;
	}

	/**
	 * Check if IP is within CIDR range
	 *
	 * @since 7.7
	 * @access private
	 * @param string $ip   IP address to check.
	 * @param string $cidr CIDR notation (e.g., 192.168.1.0/24).
	 * @return bool
	 */
	private function _ip_in_cidr( $ip, $cidr ) {
		list( $subnet, $mask ) = explode( '/', $cidr, 2 );

		// Mask must be numeric and > 0
		if ( ! is_numeric( $mask ) || $mask <= 0 ) {
			return false;
		}
		$mask = (int) $mask;

		// Determine IP version and validate
		$is_ipv6   = filter_var( $subnet, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6 );
		$max_mask  = $is_ipv6 ? 128 : 32;
		$byte_len  = $is_ipv6 ? 16 : 4;
		$ip_filter = $is_ipv6 ? FILTER_FLAG_IPV6 : FILTER_FLAG_IPV4;

		if ( ! filter_var( $ip, FILTER_VALIDATE_IP, $ip_filter ) ) {
			return false;
		}

		if ( $mask > $max_mask ) {
			return false;
		}

		$ip_bin     = inet_pton( $ip );
		$subnet_bin = inet_pton( $subnet );

		if ( false === $ip_bin || false === $subnet_bin ) {
			return false;
		}

		// Build mask
		$full_bytes = (int) ( $mask / 8 );
		$rem_bits   = $mask % 8;

		$mask_bin = str_repeat( "\xff", $full_bytes );
		if ( $rem_bits > 0 ) {
			$mask_bin .= chr( 0xff << ( 8 - $rem_bits ) );
		}
		$mask_bin = str_pad( $mask_bin, $byte_len, "\x00" );

		return ( $ip_bin & $mask_bin ) === ( $subnet_bin & $mask_bin );
	}

	/**
	 * Get client ip
	 *
	 * @since 1.1.0
	 * @since  1.6.5 changed to public
	 * @access public
	 * @return string
	 */
	public static function get_ip() {
		$_ip = '';
		if ( function_exists( 'apache_request_headers' ) ) {
			$apache_headers = apache_request_headers();
			$_ip            = ! empty( $apache_headers['True-Client-IP'] ) ? $apache_headers['True-Client-IP'] : false;
			if ( ! $_ip ) {
				$_ip = ! empty( $apache_headers['X-Forwarded-For'] ) ? $apache_headers['X-Forwarded-For'] : false;
				$_ip = explode( ',', $_ip );
				$_ip = $_ip[0];
			}
		}

		if ( ! $_ip ) {
			// phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash -- No WP available
			$_ip = ! empty( $_SERVER['REMOTE_ADDR'] ) ? $_SERVER['REMOTE_ADDR'] : '';
		}
		return $_ip;
	}
}
PK_�\;�
�
litespeed-cache/autoload.phpnu�[���<?php
/**
 * Auto registration for LiteSpeed classes
 *
 * @package LiteSpeed
 * @since       1.1.0
 */

defined('WPINC') || exit();

// Force define for object cache usage before plugin init
!defined('LSCWP_DIR') && define('LSCWP_DIR', __DIR__ . '/'); // Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU

// Load all classes instead of autoload for direct conf update purpose when upgrade to new version.
// NOTE: These files need to load exactly in order
$litespeed_php_files = array(
	// core file priority
	'src/root.cls.php',
	'src/base.cls.php',

	// main src files
	'src/activation.cls.php',
	'src/admin-display.cls.php',
	'src/admin-settings.cls.php',
	'src/admin.cls.php',
	'src/api.cls.php',
	'src/avatar.cls.php',
	'src/cdn.cls.php',
	'src/cloud.cls.php',
	'src/conf.cls.php',
	'src/control.cls.php',
	'src/core.cls.php',
	'src/crawler-map.cls.php',
	'src/crawler.cls.php',
	'src/css.cls.php',
	'src/data.cls.php',
	'src/db-optm.cls.php',
	'src/debug2.cls.php',
	'src/doc.cls.php',
	'src/error.cls.php',
	'src/esi.cls.php',
	'src/file.cls.php',
	'src/guest.cls.php',
	'src/gui.cls.php',
	'src/health.cls.php',
	'src/htaccess.cls.php',
	'src/img-optm.cls.php',
	'src/import.cls.php',
	'src/import.preset.cls.php',
	'src/lang.cls.php',
	'src/localization.cls.php',
	'src/media.cls.php',
	'src/metabox.cls.php',
	'src/object-cache.cls.php',
	'src/optimize.cls.php',
	'src/optimizer.cls.php',
	'src/placeholder.cls.php',
	'src/purge.cls.php',
	'src/report.cls.php',
	'src/rest.cls.php',
	'src/router.cls.php',
	'src/str.cls.php',
	'src/tag.cls.php',
	'src/task.cls.php',
	'src/tool.cls.php',
	'src/ucss.cls.php',
	'src/utility.cls.php',
	'src/vary.cls.php',
	'src/vpi.cls.php',

	// Extra CDN cls files
	'src/cdn/cloudflare.cls.php',
	'src/cdn/quic.cls.php',

	// CLI classes
	'cli/crawler.cls.php',
	'cli/debug.cls.php',
	'cli/image.cls.php',
	'cli/online.cls.php',
	'cli/option.cls.php',
	'cli/presets.cls.php',
	'cli/purge.cls.php',
	'cli/database.cls.php',

	// 3rd party libraries
	'lib/css_js_min/pathconverter/converter.cls.php',
	'lib/css_js_min/minify/exception.cls.php',
	'lib/css_js_min/minify/minify.cls.php',
	'lib/css_js_min/minify/css.cls.php',
	'lib/css_js_min/minify/js.cls.php',
	'lib/urirewriter.cls.php',
	'lib/guest.cls.php',
	'lib/html-min.cls.php',
	// phpcs:disable
	// 'lib/object-cache.php',
	// 'lib/php-compatibility.func.php',

	// upgrade purpose delay loaded funcs
	// 'src/data.upgrade.func.php',
	// phpcs:enable
);
foreach ($litespeed_php_files as $class) {
	$file = LSCWP_DIR . $class;
	require_once $file;
}

if (!function_exists('litespeed_autoload')) {
	/**
	 * Autoload function for LiteSpeed classes
	 *
	 * @since 1.1.0
	 * @param string $cls The class name to autoload.
	 */
	function litespeed_autoload( $cls ) {
		if (strpos($cls, '.') !== false) {
			return;
		}

		if (strpos($cls, 'LiteSpeed') !== 0) {
			return;
		}

		$file = explode('\\', $cls);
		array_shift($file);
		$file = implode('/', $file);
		$file = str_replace('_', '-', strtolower($file));

		// phpcs:disable
		// if (strpos($file, 'lib/') === 0 || strpos($file, 'cli/') === 0 || strpos($file, 'thirdparty/') === 0) {
		// $file = LSCWP_DIR . $file . '.cls.php';
		// } else {
		// $file = LSCWP_DIR . 'src/' . $file . '.cls.php';
		// }
		// phpcs:enable

		if (strpos($file, 'thirdparty/') !== 0) {
			return;
		}

		$file = LSCWP_DIR . $file . '.cls.php';

		if (file_exists($file)) {
			require_once $file;
		}
	}
}

spl_autoload_register('litespeed_autoload');
PK_�\d��
�
litespeed-cache/changelog.txtnu�[���
= 5.6 - Aug 1 2023 =
* 🌱**Page Optimize** New JS Delay Includes option. (Mitchell Krog/Gerard Reches/Ignacy Hołoga)
* **Crawler** Sitemap can use search for URL now.
* **GUI** Restrict the scope of balloon CSS rules to avoid conflicts. (#567)
* **Object Cache** Detect Memcached in more situations. (#568)
* **API** Support `litespeed_purged_front` hook. (Umberto Fiorelli)

= 5.5.1 - Jul 19 2023 =
* 🐞**Image Optimization** Fixed a bug where WebP replacements couldn't be pulled without optimizing the original images.
* 🐞**Image Optimization** Invalid images will now be removed when sending requests to the server. (#138993)
* **Cloud** Added support for error codes `unpulled_images` and `blocklisted`. (Tynan)

= 5.5 - Jun 20 2023 =
* 🌱**Crawler** Can now use multiple sitemaps. (Tobolo/Tim Nolte)
* 🌱**Crawler** Now runs asynchronously when manually invoked.
* 🌱**Crawler** Now runs asynchronously when invoked from cron.
* 🐞**Crawler** Fixed the realtime status bug when crawling.
* **Crawler** Summary page now displays server load. (Ruikai)
* 🐞**Page Optimize** Fixed an issue where UCSS could not be generated for error pages. (james58899) #556
* 🌱**Image Optimize** Now pulls images asynchronously.
* **Image Optimize** Now prevents concurrent requests via a locking mechanism.
* **Image Optimize** The process can now bypass invalid image records and continue.
* 🐞**Image Optimize** Fixed an issue where images ready for optimization might have to wait for new images to be added before sending the request.
* **Cloud** Replaced dashboard links with login/link to my.quic.cloud actions.
* **GUI** Added indicators to show when certain options are passively enabled by Guest Mode.
* **Htaccess** Added a noabort rule to support asynchronous crawling.
* **Htaccess** The "Do Not Cache User Agents" option is now case-insensitive. (Ellen Dabo)
* **General** The "Server IP" option now allows IPv4 format only. (Ruikai)
* **Misc** Every page's closing HTML comments now displays UCSS/CCSS status.
* **Object** Fixed a warning for null get_post_type_object.
* **Object** Object_Cache::delete now always returns a boolean value.
* **Cache** Fixed advanced-cache.php file warnings for WordPress versions less than 5.3.
* **Debug** Added debug logging to record the plugin's total processing time.
* **API** HTML minification can now be bypassed via the litespeed_html_min filter.

= 5.4 - Apr 19 2023 =
* **Image Optimize** Refactored DB storage for this feature.
* **Image Optimize** Reduced DB table size.
* **Image Optimize** Existing `img_optm` DB tables will have their data gradually transitioned to the new storage format with this update. Once an `img_optm` table is empty, it won't be used anymore.
* **Page Optimize** Enabled WebP support for Googlebot User Agent.

= 5.3.3 - Feb 22 2023 =
* **Page Optimize** Excluded Jetpack stats JS.
* **DB Optimize** Fixed DB Optm SQL for revision postmeta.
* **Cache** Fixed an undefined array key warning.
* **Purge** Prevented undefined array key warning when widgets are disabled.
* **Object** Fixed dynamic property deprecation warnings.
* **Admin** Safely redirect to homepage if referer is unknown.
* **Activation** Check that item slug exists first.
* **Cache** Prevented cache header to send globally if header part already closed.
* **CSS** Improved string handling for CSS minifier.
* **Debug** Fixed undefined array key warnings.
* **Misc** Fixed implicit conversion in random string generation function `Str::rrand`.

= 5.3.2 - Jan 10 2023 =
* **Object** Fixed object cache lib incr, decr functions (thanks bdrbros/DANIEL) #516
* **Database Optimize** Database optimizer now handles postmeta when cleaning revisions #515
* **Cache** Made nocache the default for 4xx/5xx response codes.
* **Cache** Default cache TTL settings removed for 403 response code, changed to 10 mins for 500 response code.
* **GUI** Added a description for the redetect nodes function.
* **GUI** Added a description for the refresh button sync function.

= 5.3.1 - Dec 12 2022 =
* **CLI** Presets feature is now usable from the CLI. (xLukii)
* **CLI** Added 'import_remote' for litespeed-option to enable importing options from URLs. (xLukii)
* **Cache** Added LiteSpeed headers to site health check for full page cache.
* **Crawler* Fixed unauthorized crawler toggle operation. (#CVE-2022-46800)
* **UCSS** Fixed a bug where items weren't added back to the UCSS queue after purging.
* **Page Optimize** Fixed a bug where generated CSS would return 404 after upgrading via CLI.
* **3rd** Fixed a bug where a WooCommerce session doesn't exist when checking cart, notices (Jason Levy/Gilles)
* **GUI** Made LiteSpeed admin notice icon grayscale to avoid distraction. (martinsauter)
* **GUI** Fixed RTL style for notification icon.
* **API** Added a new hook `litespeed_optm_uri_exc` to exclude URI from page optimization.
* **API** Excluded `.well-known` path from page optimization.

= 5.3 - Oct 31 2022 =
* 🌱**Presets** New `Presets` feature and menu item.
* 🌱**UCSS** New option `UCSS File Excludes and Inline` to increase page score. (Ankit)
* **UCSS** When UCSS is purged, automatically append URL to UCSS generation queue. (Ankit)
* **Page Optimize** Removed a redundant `defer` attribute from Lazy Load image library usage. (#928019)
* **Image Optimize** Dropped `Create WebP Versions` setting. Will automatically enable when `Image WebP Replacement` is activated.
* **Cloud** Fixed a bug where internal updates were delayed for API keys.
* **Cloud** Improved auto alias feature by waiting for second request from alias domain validation before removing a pending alias.
* **Purge** Automatically Purge All when plugin auto update is done.
* **Purge** Fixed a potential PHP8 error that occurred when removing unused widgets. (acsnaterse)
* **Cache** Fixed an infinite 301 redirection caused by UTM-encoded link.
* **CLI** Added syntax examples for values that include line breaks (xLukii)
* **CLI** Purge requests will now be included with the original request to avoid potential CSS/JS 404 issues.
* **ESI** Check all user roles for cache vary and page optimization excludes.
* **GUI** Added a LiteSpeed icon to admin message banners to indicate the banners are from our plugin. (Michael D)
* **Crawler** Fixed a cache-miss issue that occurred when Guest Mode was ON and WebP Replacement was OFF.
* **3rd** Remove WooCommerce private cache.
* **3rd** Removed LiteSpeed metabox from ACF field group edit page. (keepmovingdk)

= 5.2.1 - Sep 7 2022 =
* 🐞**Core** Fixed a fatal error that occurred when uninstalling. (#894556 Hostinger)
* **Dash** Show partner info on the dashboard for partner-tier QC accounts.
* **UCSS** Auto-purge UCSS on post update. (Ankit)
* 🕸️**Crawler** Respect the `LITESPEED_CRAWLER_DISABLE_BLOCKLIST` constant for unexpected results too. (Abe)

= 5.2 - Aug 17 2022 =
* 🌱**UCSS** Added UCSS message queue to improve service quality and reliability
* 🐞**VPI** Fixed conflict w/ image lazyload; used HTML before image lazyload to avoid invalid `data:base64` results.
* **VPI** Changed VPI Cron default setting to OFF.
* **VPI** Automatically resend requests when VPI result contains invalid `data:` image value.
* **Conf** Fixed an issue with URI Excludes, where paths using both ^ and $ were not correctly excluded (Eric/Abe)
* **Conf** Auto corrected `WP_CONTENT_URL` protocol if it was explicitly set to `http://`.
* **Cloud** No longer sync the configuration to QUIC.cloud if configuration is unchanged.
* **Cloud** Appended home_url value into synced configuration data for wp-content folder path correction.
* 🕸️**Crawler** Improved compatibility with server `open_basedir` PHP setting limit when detecting load before crawling. (Tom Robak/mmieszalski)

= 5.1 - Aug 1 2022 =
* 🌱**Toolbox** Debug log can now show Purge/Crawler logs as well. (Tynan)
* **UCSS** Prepared for future message queue.
* **UCSS** Moved UCSS class to its own file.
* **3rd** Added 3rd-party support for WC PDF Product Vouchers. (Tynan)
* **Core** Fixed potential PHP warning when saving summary data. (Sarah Richardson)
* **Purge** Purge can now clear the summary correctly. (Kevin)
* **VPI** Added `queue_k` to API notification.

= 5.0.1 - Jul 27 2022 =
* 🐞**Cloud** Fixed a potential PHP error that could occur with the cloud service summary. (Bruno Cantuaria)
* **3rd** Added Autoptimize back to compatibility list.

= 5.0.0.1 - Jul 26 2022 =
* 🔥🐞**Cloud** Fixed an issue with the cloud request timestamp update which causes a usage sync failure. (great thanks to Kevin)

= 5.0 - Jul 25 2022 =
* 🌱**VPI** Added Viewport Images feature to LiteSpeed Options metabox on Post Edit page.
* 🌱**CDN** Added Auto CDN Setup feature for simple QUIC.cloud CDN setup. (Kevin)
* 🌱**Page Optimize** Automatically cache remote CSS/JS files when fetching for optimization (Lauren)
* 🌱**Cache** Added LiteSpeed Options for page-level cache control on Post Edit page. (denisgomesfranco)
* 🌱**Cloud** Auto Alias feature.
* 🌱**Debug** Added `Debug String Excludes` option. (Hanna)
* 🌱**UCSS** Added `Purge this page - UCSS` option to Admin Bar dropdown menu. (Ankit)
* 🌱**Guest** Added `litespeed_guest_off=1` URL query string parameter to bypass Guest Mode. (cbdfactum)
* 🐞**Page Optimize** Fixed an issue where CSS anchors could be wrongly converted to a full path when minifying. (Tynan)
* **Page Optimize** Bypass CCSS/UCSS generation when a self-crawled CSS resource returns a 404 code. (Abe)
* **Object** Allow `LSCWP_OBJECT_CACHE` predefined to turn off Object Cache. (knutsp)
* **Data** Fixed an issue where empty version tags in the database repeatedly toggled the upgrade banner and reset settings to default.
* **Purge** Fixed an issue where the site's index page could be purged upon deletion of an unviewable post. (Kevin)
* **Toolbox** Added `View site before optimization` button under `Debug` tab. (Ryan D)
* **Admin** Switch to using the `DONOTCACHEPAGE` constant to indicated WP-Admin pages are not cacheable.
* **Admin** Moved no-cache header to very beginning to avoid caching unexpected exits.
* **Cloud** Added message queue service for VPI. (Abe)
* **Cloud** Bypassed 503 error nodes from node redetection process. (Abe)
* **Cloud** Fixed a failure to detect `out_of_quota`. (Lauren)
* **Cloud** Added ability to display dismissable banners generated by QUIC.cloud.
* 🕸️**Crawler** Added realtime load detection before crawl.
* 🕸️**Crawler** Adjusted crawler behavior for Divi pages to allow for Divi's CCSS generation process. (miketemby)
* 🕸️**API** PHP constant `LITESPEED_CRAWLER_DISABLE_BLOCKLIST` and filter `litespeed_crawler_disable_blocklist` to disable blocklist. (Tobolo)
* **CDN** Automatically add a trailing slash to `CDN URL` and `Original URLs` if user didn't provide one. (Lucas)
* **Cache** When a URL redirects to a URL with a query string, consider these as different for caching purposes. (Shivam)
* **Media** Added ability to disable lazyload from the LiteSpeed Options metabox on Post Edit page.
* **Media** Added new default values to `WebP Attribute to Replace` setting for WPBakery and Slider Revolution. (JibsouX)
* **Image Optimize** Dropped redundant `Page Speed` user agent when serving WebP images. (serpentdriver)
* **GUI** Fixed an issue where manually dismissable admin messages were instead being treated as one-time messages. (Tynan Beatty)
* **GUI** Fixed an issue where subsequent admin alerts would overwrite existing alerts in the queue. (Kevin/Tynan)
* **GUI** Updated time offset in log. (Ruikai #PR444 #PR445)
* **GUI** Added `litespeed_media_ignore_remote_missing_sizes` API description.
* **CCSS** Fixed an issue where CCSS was unexpectedly bypassed if `CSS Combine` was OFF and `UCSS Inline` was ON. (Ruikai)
* **Debug** Added response headers to debug log. (Kevin)

= 4.6 - Mar 29 2022 =
* **Page Optimize** Improved compatibility for JS Delay.
* 🐞**Page Optimize** Fixed an issue for network subsites that occurred when only CSS/JS Minify are enabled.
* **Localization** Added query string compatibility for Resource URLs.
* **Vary** Fixed a potential PHP warning when server variable `REQUEST_METHOD` is not detected.
* **Cache** Guest Mode now respects Cache Excludes settings.
* **GUI** Added warning notice when enabling `Localize Resources` feature; each localized JS resource requires thorough testing!
* **GUI** Fixed a PHP Deprecated warning that occurred with the Mobile Cache User Agent setting on PHP v8.1+. (jrmora)
* **Conf** Removed Google related scripts from default `Localization Files` value.
* **Media** WordPress core Lazy Load feature is now automatically disabled when LiteSpeed Lazy Load Images option is enabled. (VR51 #Issue440)
* 🐞**API** Filter `litespeed_ucss_per_pagetype` for UCSS now also applies to CSS Combine to avoid UCSS failure. (Ankit)
* **API** Added a filter `litespeed_media_ignore_remote_missing_sizes` to disable auto detection for remote images that are missing dimensions. (Lucas)

= 4.5.0.1 - Feb 24 2022 =
* 🔥🐞**Media** Fixed an issue where lazy-loaded images would disappear when using custom CSS image loading effects.

= 4.5 - Feb 23 2022 =
* 🌱**Page Optimize** Localization is back.
* **Guest** Fixed organic traffic issue as different browsers may fail to set `document.referrer`.
* **Image Optimize** Improved wp_postmeta table compatibility when gathering images. (Thanks to Thomas Stroemme)
* 🐞**Page Optimize** Fixed a potential CSS/JS 404 issue for existing records that have been marked as expired.
* **ESI** `LITESPEED_ESI_OFF` now affects `litespeed_esi_url` API filter too.
* **Guest** Added a check to determine if Guest Mode is blocked by a third-party, and display warning if it is (Ruikai)
* **Guest** To support WP sites with multiple domains, Guest Mode detection URL no longer uses domain.
* **Report** Network now shows Toolbox page when having a large number of subsites.
* **DB Optimize** Reduced default subsites count from 10 to 3 under Network Admin -> DB Optimize page to avoid timeout.
* **Cloud** Fixed potential `lack_of_token` error when requesting domain key for cases where local summary value was not historically included in the array.
* **Cloud** Fixed a PHP fatal error that occurred when encountering a frequency issue under CLI. (Dean Taylor #Issue410)
* **Avatar** Force gravatar cache refresh in browsers and on CDN (rafaucau #PR430)
* **API** New filter `litespeed_purge_ucss` to purge a single page UCSS. (#376681)
* **API** New filter `litespeed_ucss_per_pagetype` for UCSS per page type generation. (Ankit)
* **GUI** Replaced some GUI text and settings with more inclusive language  (kebbet #PR437 #PR435)
* **3rd** Excluded `WP Statistics` from inline JS optimize. (Ryan D)
* **3rd** Added API filter `litespeed_3rd_aelia_cookies` for Aelia CurrencySwitcher.
* **Media** Updated image lazyload library to 17.5.0.

= 4.4.7 - Jan 11 2022 =
* **Page Optimize** Dropped `Inline Lazy Load Images Library` option. Now will always inline lazyload library. (Ankit)
* **3rd** Prevented JavaScript files from being appended to Rank Math SEO sitemap.
* **Purge** Dropped default stale purge when purging a post.
* **Cloud** Dropped unused API calls.
* **Cloud** Dropped redundant IP validation in API calls.

= 4.4.6 - Dec 27 2022 =
* **Guest** Restored `document.referrer` for organic traffic purposes when Guest Mode is enabled. (michelefns)
* **Image Optimize** Fixed a potential PHP notice when uploading images in WP w/ PHP7.4+. (titsmaker)
* **ESI** Fixed an issue where ESI settings were not updated on customized widgets(#422 Abe)
* **3rd** Reverted ESI Adminbar change on Elementor front pages for backward compatibility (#423 Abe)
* **3rd** Fixed an issue where disabling ESI potential caused a PHP warning when using `Perfmatters`. (Jeffrey Zhang)
* **Misc** Check whether HTTP_REFERER is set or not before using it in Router class. (#425 Abe)

= 4.4.5 - Dec 1 2021 =
* **Data** Fixed potential PHP notice when generating CSS/JS optimized files w/ PHP v7.4+. (Sarah Richardson/silencedgd/slr1979)
* **API** Added `LITESPEED_ESI_OFF` constant to disable ESI, when defined before the WP `init` hook.
* **API** Added `LSCWP_DEBUG_PATH` constant to specify debug log path. (khanh-nt)
* 🐞**GUI** Fixed an issue where admin messages were not displayed. (Daniel McD)
* **CDN** Used WP remote function to communicate w/ Cloudflare per WP guidance.
* **3rd** Added compatibility for Perfmatters plugin's script manager (#417 Abe)
* **3rd** Added compatibility for Elementor's Editor button when ESI is on (#418 Abe)

= 4.4.4 - Nov 23 2021 =
* **Page Optimize** Delay deletion of outdated CSS/JS files for a default of 20 days to avoid 404 errors with cached search engine copies.
* **Cache** When caching, no longer send a purge request for CSS/JS removal to avoid cache engine conflicts.
* 🐞**Core** Optimized SQL queries while autoloading if expected options are missing; reduced by 7 and 3 queries on backend and frontend respectively. (#396425 Jackson)
* **Page Optimize** Fixed a 404 issue that occurred when upgrading the plugin manually, with a package upload or through the plugin manager. (Tobolo/Małgorzata/Abe)
* **API** Added `litespeed_ccss_url` and `litespeed_ucss_url` API to manipulate the request URL for CCSS and UCSS.
* **REST** Fixed a potential warning when detecting cacheable status on REST call. (rafaucau)
* **OLS** Fixed an issue where the `COOKIEHASH` constant was undefined when used with OpenLiteSpeed as an MU plugin or with network activation.
* **3rd** Sanitized POST data for nextgengallery.
* **Cloud** Sanitized GET data when linking to QUIC.cloud. (#591762 WPScan)

= 4.4.3 - Oct 13 2021 =
* 🐞**Media** Fixed an issue where WebP is served erroneously under Guest Mode on older versions of Safari. (hash73)
* 🐞**Media** Reverted regex change to fix `Lazy Load Image Parent Class Name Excludes` failure. (thpstock)
* **Purge** Disabled `Purge Delay` in the optimization process by default.
* **Conf** Dropped `.htaccess Path Settings` options for security concern. (WP)
* **Conf** Dropped `CSS HTTP/2 Push`/`JS HTTP/2 Push` options. (Kevin)
* **Conf** Set `Guest Optimization` default to OFF.
* **Conf** Set `CCSS Per URL` default to OFF to avoid consuming more quota than intended after upgrade to v4. (n111)
* **Object** Fixed an issue with Object Cache warnings during upgrade, when Guest Mode is enabled.
* ☁️**Cloud** Fixed an issue with PHP notices when inquiring about quota usage for a service not currently in use.
* **GUI** Added GO detail warning. (n111)
* **GUI** Moved "quota will be still in use" warning from Guest Mode to Guest Optimization section.
* **API** Added `LITESPEED_CFG_HTACCESS` PHP Constant to specify .htaccess path.
* **API** Added `litespeed_qs_forbidden` hook to bypass `?LSCWP_CTRL=` query string. (minhduc)
* **API** Added `litespeed_delay_purge` hook to delay the following Purge header until the next request.
* **API** Added `litespeed_wpconfig_readonly` hook to disable `WP_CACHE` constant update based on the wp-config.php file. (#633545)

= 4.4.2 - Sep 23 2021 =
* **Purge** In order to clear pages containing 404 CSS/JS, the purge header will always be sent even in cases where purge must be delayed.
* 🐞**Purge** Fixed a potential PHP warning caused when generating different optimized filenames.
* **Cron** Dropped unnecessary HTML response in cron which sometimes resulted in wp-cron report email. (Gilles)
* **Page Optimize** Purge caused by CSS/JS file deletion will now be silent.
* **Page Optimize** Fixed an issue where the homepage failed to purge when addressing the 404 CSS/JS issue.
* **Avatar** Fixed potential localized Avatar folder creation warning. (mattk0220/josebab)
* **API** Added filter `litespeed_optm_html_after_head` to move all optimized code(UCSS/CCSS/Combined CSS/Combined JS) to be right before the `</head>` tag. (ducpl/Kris Regmi)
* **Debug** Under debug mode, cache/purge tags will be plaintext.

= 4.4.1 - Sep 16 2021 =
* 🐞**ESI** Fixed ESI failure on non-cached pages caused by `DONOTCACHEPAGE` constant.
* 🐞**Page Optimize** Fixed an issue where the minified CSS/JS file failed to update when the file was changed. (ceap80)
* 🐞**Page Optimize** Fixed an issue where the combined CSS/JS file randomly returned a 404 error when visiting the same URL with different query strings. (Abe)
* **API** Added `litespeed_const_DONOTCACHEPAGE` hook to control the cache-or-not result of the `DONOTCACHEPAGE` constant.

= 4.4 - Sep 8 2021 =
* 🌱**Crawler** Added the ability to enable or disable specific crawlers. (⭐ Contributed by Astrid Wang #PR390)
* 🌱**UCSS** Added `UCSS Inline` option. (Ankit).
* 🌱**UCSS** Added `UCSS URI Excludes` option. (RC Verma).
* 🐞**Page Optimize** Fixed an issue where combined CSS/JS files would potentially return 404 errors after a Purge All. (Special thanks to Abe & Ruikai)
* **Page Optimize** Minimized the potential for 404 errors by query string when Purging All.
* **Page Optimize** Dropped redundant query strings for minified CSS/JS files.
* **Conf** Ugrade configuration safely to avoid the issue of new functions not being found in old codebase.
* **Conf** Configuration upgrade process now adds a notification to admin pages and disables configuration save until upgrade is complete. (Lisa)
* **JS** Fixed an issue where JS Defer caused a `litespeed_var_1_ is not defined` error when enabled w/ ESI options. (Tobolo)
* 🐞**JS** Fixed an issue where `JS Delay` doesn't work for combined JS when `JS Combine` is enabled. (Special thanks to Joshua & Ankit)
* **JS** `JS Delay` now will continue loading JS, even if there is an error in the current JS loading process.
* 🐞**CCSS** If CCSS fails to generate, Load CSS Asynchronously will now be disabled. (Stars #54074166)
* 🐞**UCSS** If UCSS generation fails the generated error will no longer be served inside the file. (Ryan D)
* **Log** Updated the Debug log to use less code for prefix.
* **3rd** Always respect `DONOTCACHEPAGE` constant definition to fix DIVI dynamic css calculation process.

= 4.3 - Aug 16 2021 =
* **UCSS** Separated UCSS Purge from CCSS Purge. (⭐ Contributed by Alice Tang #PR388)
* 🐞**Cloud** Fixed an issue where CCSS/UCSS quota data failed to update locally.
* **Cloud** Added server load as a factor when detecting node availability.
* **Cloud** Improved the speed of checking daily quota and showing the related error message.
* **Cloud** Added ability to re-detect node availability if the current node is responding w/ a heavy load code.
* **Cloud** CCSS/UCSS/LQIP queue now exits immediately when quota is depleted.
* **Cloud** Replaced separate `d/regionnodes` with a single `d/nodes` in the node list API for image optimization.
* **LQIP** Fixed an issue with LQIP network compatibility. (⭐ Contributed by Alice Tang #PR387)
* **GUEST** JS no longer preloads for Guest Optimization. (Ankit)
* 🐞**Data** Fixed an issue where deleting the `cssjs` data folder causes a failure in the upgrade process. (Joshua #PR391)
* **GUI** Fixed a potential dashboard PHP warning when no queue existed. (jrmora)
* **GUI** Added daily quota on dashboard.
* **GUI** Added downgrade warning to Toolbox -> Beta Test.
* **GUI** Tuned `.litespeed-desc` class to full width in CSS.
* **Conf** `Preserve EXIF/XMP data` now defaults to ON due to copyright concerns. (Tobolo)
* 🐞**3rd** Fixed a PHP warning when using Google AMP w/ /amp as structure. (thanhstran98)

= 4.2 - Jul 29 2021 =
* **Cloud** Auto redirect to a new node if the current node is not available anymore.
* **Cloud** Combined CCSS/UCSS to sub services of Page Optimization.
* **Cloud** Added a daily quota rate limit to help mitigate the heavy service load at the beginning of the month.
* **Cloud** Cached the node IP list in order to speed up security check. (Lucas)
* 🐞**GUEST** Fixed an issue where Guest Mode remained enabled even when the UA setting is empty. (Stars)
* **GUEST** Guest Mode will no longer cache POST requests.
* **UCSS** Purging CSS/JS now purges the UCSS queue as well, to avoid failure when generating UCSS.
* **UCSS** Separated service entry `UCSS` from `CCSS`.
* **CCSS** Simplified `load_queue/save_queue/build_filepath_prefix` functions. (⭐ Contributed by Alice Tang #PR373)
* **CCSS** If CCSS request fails, details are now saved in the CSS file.
* **CCSS** Renamed CCSS ID in inline HTML from `litespeed-optm-css-rules` to `litespeed-ccss`. (Alice)
* **Page Optimize** CCSS/UCSS now supports Cloud queue/notify for asynchronous generation.
* **Page Optimize** Simplified CCSS/UCSS generation function.
* **Page Optimize** Added the ability to cancel CCSS/UCSS Cloud requests.
* **Page Optimize** Unnecessary quesry strings will now be dropped from CSS/JS combined files.
* **Crawler** Reset position now resets crawler running status too.
* **REST** Cloud request to REST will now detect whether an IP in in the Cloud IP list for security reasons.
* **Object** Enhanced Object Cache compatibility for `CONF_FILE` constant detection.
* **API** Added shorter alias `litespeed_tag` and other similar aliases for Cache Tag API.
* **API** Renamed `LITESPEED_BYPASS_OPTM` to `LITESPEED_NO_OPTM` for Page Optimization.
* **Toolbox** Dropped v3.6.4- versions in Beta Test as they will cause a fatal error in downgrade.
* **GUI** Added shortcut links to each section on the Dashboard.
* **GUI** Added UCSS whitelist usage description. (wyb)
* **GUI** Showed the default recommended values for Guest Mode UA/IPs.
* **3rd** Fixed AMP plugin compatibility. (⭐ Contributed by Alice Tang #PR368)
* **3rd** Bypassed all page optimization including CDN/WebP for AMP pages.
* **3rd** Improved compatibility with All in One SEO plugin sitemap. (arnaudbroes/flschaves #Issue372)
* **3rd** Added wsform nonce. (#365 cstrouse)
* **3rd** Added Easy Digital Download (EDD) & WP Menu Cart nonce. (#PR366 AkramiPro)
* **3rd** Improved compatibility w/ Restrict Content Pro. (Abe #PR370)
* **3rd** Improved compatibility w/ Gravity Forms. (Ruikai #371)

= 4.1 - Jun 25 2021 =
* 🌱**UCSS/CCSS/LQIP** Moved queue storage to file system from database wp-options table to lessen the IO load. (#633504)
* 🌱**3rd** Added an option to disable ESI for the WooCommerce Cart. (#358 Anna Feng/Astrid Wang)
* **ESI** Fixed an ESI nonce issue introduced in v4.0. (Andrew Choi)
* **Object** Used new `.litespeed_conf.dat` instead of `.object-cache.ini` for object cache configuration storage.
* **Conf** Now updating related files after plugin upgrade and not just after activation.
* 🌱**Guest** Added a Guest Mode JS Excludes option. (Ankit/Mamac/Rcverma)
* **Guest** Guest Mode now uses a lightweight script to update guest vary for reduced server load.
* **Guest** Guest Mode now adds missing image dimensions.
* **Guest** Guest vary will no longer update if there's already a vary in place to address the infinite loop caused by CloudFlare's incorrect cache control setting for PHP.
* **Guest** Guest vary update request will no longer be sent if `lscache_vary` is already set.
* **Guest** Added a Configurable Guest Mode UA/IP under the Tuning tab in the General menu.
* **Guest** Guest Mode now allows cron to be hooked, even when UCSS/CCSS options are off. (#338437 Stars)
* **Guest** Simplified the vary generation process under Guest Mode.
* **Guest** Added a Guest Mode HTML comment for easier debugging. (Ruikai)
* **Guest** Guest vary update ajax now bypasses potential POST cache.
* **CCSS** Added back the options `Separate CCSS Cache Post Types` and `Separate CCSS Cache URIs`. (Joshua/Ankit)
* **CCSS** CCSS/UCSS queue is now limited to a maximum of 500 entries.
* **Control** The cache control constant `LSCACHE_NO_CACHE` will now have a higher priority than the Forced Public Cache setting.
* **Crawler** The Crawler can now crawl Guest Mode pages.
* **Crawler** Fixed a potential XSS vulnerability in the Crawler settings. (#927355)
* **Crawler** The Crawler now supports a cookie value of `_null`. (Tobolo)
* **Media** Updated the default value for the Responsive Placeholder SVG to be transparent.
* **Media** WebP images in the background may now be served in Guest Mode.
* **Media** WebP images in CSS may now be bypassed if the requesting Guest Mode client doesn't support WebP.
* **Media** Fixed empty default image placeholder under Guest Mode.
* 🐞**Image Optimize** Changed the missing `$_POST` to `$post_data` so the database status is properly updated. (#345 Lucas)
* **Import** Export file is now readable to allow importing of partial configurations. (Ryan D/Joshua)
* **Page Optimize** Fixed W3 validator errors in Guest Mode. (#61393817)
* **3rd** A fatal WooCommerce error is no longer triggered by a custom theme reusing a previous LSCWP cache detection tag.
* **3rd** AMP may now bypass Guest Mode automatically.
* **Localize** Dropped the `Localize Resources` option as Guest Mode is a sufficient replacement. (Note: Due to user feedback during the development period, we have decided to reinstate this option in a future version.)
* **Cloud** Changed the WP API url.
* **Lang** Corrected a missing language folder.
* **GUI** Added a CCSS/UCSS loading page visualization. (⭐ Contributed by Astrid Wang & Anna Feng #PR360)
* **GUI** Added a warning to indicate when Guest Mode CCSS/UCSS quota is in use. (Contributed by Astrid Wang & Anna Feng #PR361)
* **GUI** Added a `litespeed-info` text color. (Astrid Wang)
* **GUI** Implemented various UI/UX improvements. (Joshua/Lisa)
* **GUI** Duplicate cloud service messages with the same content will only display once now. (Marc Dahl)
* **GUI** Added a WebP replacement warning for Guest Mode Optimization if WebP replacement is off.
* **Misc** Dropped `wp_assets` from distribution to reduce the package size. (lowwebtech)
* **Misc** Increased the new version and score detection intervals.
* **Misc** Optimized WP Assets images. (#352 lowwebtech)
* **Debug** Dropped the redundant error_log debug info.

= 4.0 - Apr 30 2021 =
* 🌱🌱🌱**Guest** Introduced `Guest Mode` for instantly cacheable content on the first visit.
* 🌱**UCSS** Added a new service: `Unique CSS`, to drop unused CSS from elements from combined CSS
* 🌱**CCSS** Added `HTML Lazyload` option. (Ankit)
* 🌱**CCSS** Added `CCSS Per URL` option to allow Critical CSS to be generated for each page instead of for each Post Type.
* 🌱**Media** Added `Add Missing Sizes` setting for improving Cumulative Layout Shift. (Fahim)
* 🌱**JS** Switched to new JS minification library for better compression and compatibility w/ template literals. (LuminSol)
* **Media** WebP may now be replaced in CSS.
* **Media** Can now drop image tags in noscript to avoid lazyload. (Abe #314 /mattthomas-photography)
* **Media** Bypass optimization if a page is not cacheable.
* **Image Optimize** Auto hook to `wp_update_attachment_metadata` to automate image gathering process, and to handle the new thumbnail generation after images are uploaded. (smerriman).
* **Image Optimize** Repeated image thumbnails won't be gathered anymore.
* **Image Optimize** Simplified the rescan/gather/upload_hook for existing image detection.
* **Image Optimize** Fixed the duplicated optimize size records in the postmeta table. (Abe #315)
* **Image Optimize** Allow either JSON POST request or normal form request in `notify_img`. (Lucas #313)
* **Image Optimize** Optimized SQL query for better efficiency. (lucas/Lauren)
* **Image Optimize** Fixed issue where rescan mass created duplicate images. (#954399)
* **Image Optimize** Image optimization pie will not show 100% anymore if there is still a small amount in the unfinished queue.
* **Image Optimize** WebP generation defaults to ON for Guest Mode.
* **Image Optimize** `Priority Line` package now can have smaller request interval.
* **ESI** Disable ESI when page is not cacheable. (titsmaker)
* **ESI** Fixed an issue where Divi was disabling all in edit mode, but couldn't disable ESI. (Abe)
* **ESI** ESI init moved under `init` hook from `plugin_loaded` hook.
* **CDN** Add basic support for CloudFlare API Tokens (Abe #320)
* **CSS** Simplified `Font Display Optimization` option.
* **CSS** Fixed manual cron timeout issue. (jesse Distad)
* **CSS** Inline CSS may now use `data-no-optimize` to be excluded from optimization. (popaionut)
* **JS** Combined `Load JS Defer` and `Load Inline JS Defer` options.
* **JS** Forced async to defer.
* **JS** Moved Google Analytics JS from constant default to setting default for removal.
* **JS** Fixed potential JS parsing issue caused by JS src being changed to data-src by other plugins. (ankit)
* **JS** Excluded spotlight from JS optimize. (tobolo)
* **CCSS** Fixed CCSS/UCSS manual cron timeout issue.
* **CCSS** Only 10 items will be kept for CCSS history.
* **CCSS** The appearance of CCSS Purge in the topbar menu will be determined by the existence of CCSS cache, and not the setting only.
* **CCSS** To avoid stuck queues when the current request keeps failing, the CCSS queue will always drop once requested.
* **CCSS** CCSS will no longer hide adminbar.
* **CCSS** CCSS may now be separate for network subsites. (Joshua)
* **CCSS** Gave CCSS a unique filename per URL per user role per subsite.
* **CCSS** Dropped `Separate CCSS Cache Post Types` option.
* **CCSS** Dropped `Separate CCSS Cache URIs` option.
* **CCSS** Subsites purge Avatar/CSS/JS/CCSS will not affect the whole network anymore.
* **CCSS** Implemented a better queue list for CCSS that auto collapses if there are more than 20 entries, and shows the total on top.
* **CSSJS** Now using separate CSS and JS folders instead of `cssjs`.
* **CSSJS** Automatically purge cache after CCSS is generated.
* **Network** Dropped network CSS/JS rewrite rules.
* **Cache** Send cache tag header whenever adding a tag to make it effective in the page optimization process.
* **Core** Used hook for buffer optimization; Used `init()` instead of `constructor`.
* **Object** Used `cls` instead of `get_instance` for init.
* **Cloud** Replaced one-time message with a dismissible-only message when the domain key has been automatically cleared due to domain/key dismatch.
* **API** Dropped function `hook_vary_add()`.
* **API** Dropped function `vary_add()`.
* **API** Dropped function `filter_vary_cookies()`.
* **API** Dropped function `hook_vary()`.
* **API** Dropped action `litespeed_vary_add`.
* **API** Dropped filter `litespeed_api_vary`.
* **API** Use `litespeed_vary_curr_cookies` and `litespeed_vary_cookies` for Vary cookie operations instead.
* **API** Dropped action `litespeed_vary_append`.
* **Vary** 3rd party vary cookies will not append into .htaccess anymore but only present in response vary header if in use.
* **Vary** Dropped function `append()`.
* **Vary** Commenter cookie is now considered cacheable.
* **Crawler** Minor update to crawler user agent to accommodate mobile_detect.php (Abe #304)
* **Data** Added a table truncate function.
* **Data** Added new tables url & url_file.
* **Data** Dropped cssjs table.
* **Data** Options/Summary data is now stored in JSON format to speed up backend visit. (#233250)
* **Data** Default `CSS Combine External and Inline` and `JS Combine External and Inline` to On for new installations for better compatibility.
* **Purge** Fixed potential purge warning for certain themes.
* **Purge** Purge will be stored for next valid visit to trigger if it is initially generated by CLI.
* **Page Optimize** `CSS Combine`/`JS Combine` will now share the same file if the contents are the same. Limited disk usage for better file usage and fewer issues with random string problems.
* **Page Optimize** Dropped option CSS/JS Cache TTL.
* **Page Optimize** Bypass optimization if page not cacheable.
* **Page Optimize** Purge CSS/JS will purge the `url_file` table too.
* **Page Optimize** Optionally store a vary with a shorter value.
* **Page Optimize** Removing query strings will no longer affect external assets. (ankit)
* **Page Optimize** Better regex for optimization parsing.
* **Page Optimize** Eliminated w3 validator for DNS prefetch and duplicated ID errors. (sumit Pandey)
* **Page Optimize** New Optimization for Guest Only option under Tuning.
* **Page Optimize** Now forbidding external link redirection for localization.
* **Debug** Implemented a better debug format for the 2nd parameter in the log.
* **GUI** Bypass page score banner when score is not detected (both 0). (ankit)
* **GUI** Fixed deprecated JQuery function warning in WP-Admin. (krzxsiek)

= 3.6.4 - Mar 15 2021 =
* **Toolbox** Fixed Beta Test upgrade error when upgrading to v3.7+.

= 3.6.3 - Mar 10 2021 =
* **Core** Fixed potential upgrade failure when new versions have changes in activation related functions.
* **Core** Upgrade process won't get deactivated anymore on Network setup.

= 3.6.2 - Feb 1 2021 =
* **Page Optimize** Fixed an issue where network purge CSS/JS caused 404 errors for subsites.
* **Page Optimize** Fixed an issue where purge CSS/JS only caused 404 errors.
* **Page Optimize** Added a notice for CSS/JS data detection and potential random string issue.
* **Page Optimize** Limited localization resources to specified .js only. (closte #292/ormonk)
* **JS** Data src may now be bypassed from JS Combine. (ankit)
* **CLI** Fixed a message typo in Purge. (flixwatchsupport)
* **Browser** Added font/otf to Browser Cache expire list. (ruikai)
* **Data** Updated data files to accept PR from dev branch only.
* **3rd** Add data-view-breakpoint-pointer to js_excludes.txt for the Events Calendar plugin. (therealgilles)
* **Cloud** Bypassed invalid requests.
* **Doc** CDN Mapping description improvement. (mihai A.)

= 3.6.1 - Dec 21 2020 =
* **WP** Tested up to WP v5.6.
* **WebP** Reverted WebP support on Safari Big Sur and Safari v14.0.1+ due to an inability to detect MacOS versions from UA. (@antomal)
* **CDN** Dropped the option `Load JQuery Remotely`.
* **CDN** Fixed CDN URL replacement issue in optimized CSS files. (@ankit)
* **CDN** Fixed an issue where CDN CLI wouldn't set mapping image/CSS/JS to OFF when `false` was the value.
* **CDN** Started using React for CDN Mapping settings.
* **GUI** Secured Server IP setting from potential XSS issues. (@WonTae Jang)
* **Toolbox** Supported both dev and master branches for Beta Test. Latest version updated to v3.6.1.
* **Purge** Purge Pages now can purge non-archive pages too.
* **Admin** Simplified the admin JS.
* **Admin** Limited crawler-related react JS to crawler page only.

= 3.6 - Dec 14 2020 =
* 🌱**WebP** Added WebP support on Safari Big Sur or Safari v14.0.1+. (@ruikai)
* 🐞**Config** Fixed an issue where new installations were not getting the correct default .htaccess content.
* **Crawler** Will auto bypass empty sub-sitemap instead of throwing an exception. (@nanoprobes @Tobolo)
* **Crawler** Now using React for Cookie Simulation settings instead of Vue.js. Dropped Vue.js.
* **Crawler** Dropped `Sitemap Generation` (will only use 3rd party sitemap for crawler).
* **CSS** Added `CSS Combine External and Inline` option for backward compatibility. (@lisa)
* **Object** Forbid .object-cache.ini visits. (@Tarik)
* **Page Optimize** Dropped `Remove Comments` option to avoid combine error.
* **CSS** Added a predefined CSS exclude file `data/css_excludes.txt`.
* **CSS** Excluded Flatsome theme random inline CSS from combine.
* **CSS** Excluded WoodMart theme from combine. (@moemauphie)
* **Page Optimize** Excluded tagDiv.com Newspaper theme dynamic CSS/JS from CSS/JS Combine.
* **CSS** Added predefined JS defer excludes list. (@Shivam)
* **JS** `data-no-defer` option now supports inline JS. (@rafaucau)
* **Media** Lazyload inline library is now bypassed by JS Combine.
* **Admin** Fixed WP-Admin console ID duplicate warnings.
* **Cloud** Dropped QUIC.cloud sync options that have long been unused.
* **CSS** Dropped `Unique CSS File` option (UCSS will always generate unique file, will use whitelist to group post type to one CSS).
* **GUI** Dropped Help tab.
* **Toolbox** Added 3.5.2 to version list.

= 3.5.2 - Oct 27 2020 =
* **CSS** `CSS Combine` is now compatible w/ inline noscript CSS. (@galbaras)
* **GUI** Added ability to manually dismiss the JS option reset message in v3.5.1 upgrade process. (#473917)
* 🐞**CSS** `CSS Excludes` setting will no longer lose items beginning w/ `#`. (@ankit)
* **API** New `litespeed_media_reset` API function for image editing purposes. (@Andro)

= 3.5.1 - Oct 20 2020 =
* **JS** Inline JS containing nonces can now be combined.
* **JS** Reset JS Combine/Defer to OFF when upgrading to avoid breaking sites.
* **JS** Added new option JS Combine External and Inline to allow backwards compatibility.
* **JS** Added Inline JS Defer option back. (@ankit)
* **Page Optimize** Dropped Inline JS Minify option and merged the feature into JS Minify.
* **JS** Pre-added jQuery to the default JS excludes/defer list for better layout compatibility for new users.
* **JS** Excluded Stripe/PayPal/Google Map from JS optimization. (@FPCSJames)
* **JS** Allowed excluded JS to still be HTTP2 pushed. (@joshua)
* **CCSS** Critical CSS now can avoid network pollution from other sites. (@ankit)
* **Toolbox** Beta Test now displays recent public versions so it is easier to revert to an older version
* **Vary** Server environment variable Vary can now be passed to original server from QUIC.cloud for non-LiteSpeed servers.
* **ESI** Improved backward compatibility for ESI nonce list. (@zach E)
* 🐞**Misc** Fixed failure of upgrade button on plugin news banner and made cosmetic improvements.
* **Doc** Added note that LSCWP works with ClassicPress.

= 3.5.0.2 - Sep 30 2020 =
* This is a temporary revert fix. Code is SAME as v3.4.2.

= 3.5.0.1 - Sep 29 2020 =
* 🔥🐞**CSS** Fixed print media query issue when having CSS Combine. (@paddy-duncan)

= 3.5 - Sep 29 2020 =
* **Page Optimize** Refactored CSS/JS optimization.
* **Page Optimize** CSS and JS Combine now each save to a single file without memory usage issues.
* **CSS** Inline CSS Minify is now a part of CSS Minify, and will respect the original priorities. (thanks to @galbaras)
* **JS** JS Combine now generates a single JS file in the footer. (Special thanks to @ankit)
* **JS** JS Combine now combines external JS files, too. (Thanks to @ankit)
* **JS** JS Deferred Excludes now uses the original path/filename as keywords instead of the minified path/filename, when JS Minify is enabled.
* **JS** JS Combine now combines inline JS, too.
* **JS** JS Excludes may now be used for inline JS snippet.
* **Page Optimize** Inline CSS Minify and Max Combined File Size retired due to changes listed above.
* **CSS** Combined CSS Priority retired due to changes listed above.
* **JS** Exclude JQuery, Combined JS Priority, Load Inline JS Deferred, and Inline JS Deferred Excludes retired due to changes listed above.
* **JS** Predefined data file data/js_excludes.txt now available for JS Excludes.
* **ESI** Predefined data file data/esi.nonces.txt now available for ESI Nonces.
* **ESI** Remote Fetch ESI Nonces functionality retired.
* **API** Added support for new litespeed_esi_nonces filter.
* **Object** Object Cache will not try to reconnect after failure to connect in a single process.
* **CCSS** Remote read CSS will add the scheme if it is missing from the URL.
* **CCSS** CSS will no longer be prepared for a URL if 404 result is detected.
* **CCSS** Fixed most failures caused by third party CSS syntax errors.
* **CCSS** Remote read CSS will fix the scheme if the URL doesn't have it.
* **CCSS** Excluded 404 when preparing CSS before request.
* **CCSS** Adjusted CCSS timeout from 180 seconds to 30 seconds.
* **Image Optimize** Fixed the delete attachment database error that occurred when not using the image optimization service yet.
* **Media** Added iOS 14 WebP support.
* **Data** Fixed database creation failure for MySQL v8.
* **Cloud** Error code err_key will clear the domain key in order to avoid duplicate invalid requests.
* **Network** Fixed issue with object cache password file storage that occurred when resaving the settings. (#302358)
* **Misc** Fixed IP detect compatibility w/ Apache.
* **GUI** Fixed the description for Do Not Cache Categories.
* **Preload** Upgraded Instant Click to a new stable preload library. (@stasonua0)

= 3.4.2 - Sep 8 2020 =
* **CCSS** Corrected the issue that wrongly appended non-CSS files to CSS in links before sending request.
* **3rd** YITH wishlist now sends a combined single sub request for all widgets contained in one page. (LSWS v5.4.9 build 3+ required)
* **ESI** Added support for ESI combine feature.
* **GUI** Dropped banner notification for missing domain key when domain key is not initialized.
* **Log** When QC whitelist check fails, a detailed failure log is now appended.

= 3.4.1 - Sep 2 2020 =
* 🐞**CCSS** Fixed an issue where dynamically generated CSS failed with `TypeError: Cannot read property type of undefined`.
* 🐞**Page Optimize** Fixed CSS optimization compatibility for CSS dynamically generated with PHP.
* **Page Optimize** Added the ability to defer JS even when the resource is excluded from other JS optimizations. (@slr1979)
* **ESI** Added support for ESI last parameter inline value.
* **3rd** YITH Wishlist, when cached for the first time, will no longer send sub requests.

= 3.4 - Aug 26 2020 =
* 🌱**LQIP** New setting **LQIP Excludes**.
* 🌱**LQIP** Added a Clear LQIP Queue button.
* 🌱**CCSS** Added a Clear CCSS Queue button.
* **CCSS** Fixed an issue which wrongly included preloaded images in CCSS. (@pixtweaks)
* **Network** Primary site and subsite settings now display correctly.
* **Page Optimize** Noscript tags generated by LSCWP will only be dropped when the corresponding option is enabled. (@ankit)
* **DB Optimize** Fixed database optimizer conflicts w/ object cache transient setting. (#752931)
* **3rd** Fixed an issue with WooCommerce product purge when order is placed.
* **3rd** Improved WooCommerce product comment compatibility with **WooCommerce Photo Reviews Premium** plugin when using ESI.
* **CDN** Fixed Remote jQuery compatibility with WordPress v5.5. (@pixtweaks)
* **API** New API `litespeed_purge_all_object` and `litespeed_purged_all_object` action hooks.

= 3.3.1 - Aug 12 2020 =
* 🌱**Page Optimize** New option to Remove Noscript Tags. (@phuc88bmt)
* 🐞**LQIP** Fixed a critical bug that bypassed all requests in v3.3.
* **LQIP** Requests are now bypassed if domain has no credit left.
* **Page Optimize** Inline defer will be bypassed if document listener is detected in the code. (@ssurfer)
* **CCSS** Print-only styles will no longer be included in Critical CSS.
* **API** Added hooks to Purge action to handle file deletions. (@biati)
* **Cloud** Plain permalinks are no longer required for use of cloud services.
* **Data** Added an access denial to work with OpenLiteSpeed. (@spenweb #PR228)
* **GUI** Spelling and grammar adjustments. (@blastoise186 #PR253)

= 3.3 - Aug 6 2020 =
* 🌱**Page Optimize** Added a new setting, Inline JS Deferred Excludes. (@ankit)
* **Page Optimize** CSS/JS Combine/Minify file versions will be differentiated by query string hash instead of new filename to reduce DB/file system storage.
* **Page Optimize** Added the ability to use local copies of external JS files for better control over page score impacts.
* **Page Optimize** Improved combination of CSS media queries. (@galbaras)
* **Page Optimize** Reprioritized Inline JS Defer to be optimized before encoding, for a significantly smaller result.
* **LQIP** Detect if the file exists before sending LQIP request to QUIC.cloud.
* **CCSS** Sped up CCSS process significantly by sending HTML and CSS in request.
* **CCSS** Improvements to mobile CSS support in CCSS.
* **CCSS** Minimize CCSS failures by attempting to automatically fix CSS syntax errors.
* **Cloud** Domain Key will be deleted after QUIC.cloud site_not_registered error to avoid endless repeated requests.
* **CDN** CDN Original URL will default to WP Site URL if not set. (@ruikai)
* **CLI** Global output format `--format=json/yaml/dump` and `--json` support in CLI. (@alya1992)
* **CDN** Improved handling of non-image CSS `url()` sources in CDN. (@daniel McD)
* 🐞**CDN** Fixed CDN replacement conflict w/ JS/CSS Optimize. (@ankit)
* **Crawler** Only reset Crawler waiting queues when crawling begins. (@ruikai)
* **Network** Network Enable Cache is no longer reset to ON Use Network Settings in enabled. (@RavanH)
* 🐞**Activation** Fixed a PHP warning that appeared during uninstall. (@RavanH)
* **Debug** Automatically omit long strings when dumping an array to debug log.
* **Report** Subsites report now shows overwritten values along w/ original values. (#52593959)
* **REST** Improved WP5.5 REST compatibility. (@oldrup)
* **GUI** Server IP setting moved from Crawler menu to General menu.
* **GUI** Localize resources moved to Localization tab.
* **Config** News option now defaults to ON.

= 3.2.4 - Jul 8 2020 =
* **Object** New installations no longer get custom data.ini reset, as this could cause lost configuration. (@Eric)
* **ESI** Now using `svar` to load nonces more quickly. (@Lauren)
* **ESI** Fixed the conflicts between nonces in inline JS and ESI Nonces when Inline JS Deferred is enabled. (@JesseDistad)
* 🐞**ESI** Fixed Fetch Latest Predefined Nonce button.
* 🐞**Cache** Fixed an issue where mobile visits were not being cached when Cache Mobile was disabled.
* **CDN** Bypass CDN constant `LITESPEED_BYPASS_CDN` now will apply to all CDN replacements.
* **Router** Dropped `Router::get_uid()` function.
* **Crawler** Updated role simulator function for future UCSS usage.
* **GUI** Textarea will now automatically adjust the height based on the number of rows input.
* **CLI** Fixed an issue that caused WP-Cron to exit when a task errored out. (@DovidLevine @MatthewJohnson)
* **Cloud** No longer communcate with QUIC.cloud when Domain Key is not set and Debug is enabled.
* **Cloud** Score banner no longer automatically fetches a new score. (@LucasRolff)

= 3.2.3.2 - Jun 19 2020 =
* 🔥🐞**Page Optimize** Hotfix for CSS/JS minify/combine. (@jdelgadoesteban @martin_bailey)

= 3.2.3.1 - Jun 18 2020 =
* **API** New filter `litespeed_buffer_before` and `litespeed_buffer_after`. (#PR243 @joejordanbrown)

= 3.2.3 - Jun 18 2020 =
* 🌱**Page Optimize** Added Unique CSS option for future removal of unused CSS per page. (@moongear)
* **Page Optimize** Fixed an issue where Font Optimization could fail when having Load JS Deferred and Load Inline JS Deferred. (#PR241 @joejordanbrown)
* 🐞**Page Optimize** Fixed an issue with Font Display Optimization which caused Google Fonts to load incorrectly. (#PR240 @joejordanbrown @haidan)
* 🐞**Network** Use Primary Site Configuration setting for network sites now works properly with Object Cache and Browser Cache. (#56175101)
* **API** Added filter `litespeed_is_from_cloud` to detect if the current request is from QC or not. (@lechon)
* **ESI** ESI Nonce now can fetch latest list with one click.
* **GUI** Updated remaining documentation links & some minor UI tweaks. (@Joshua Reynolds)

= 3.2.2 - Jun 10 2020 =
* 🌱**Purge** Scheduled Purge URLs now supports wildcard. (#427338)
* 🌱**ESI** ESI Nonce supports wildcard match now.
* **Network** Use Primary Site Settings now can support Domain Key, and override mechanism improved. (@alican532 #96266273)
* **Cloud** Debug mode will now have no interval limit for most cloud requests. (@ruikai)
* **Conf** Default Purge Stale to OFF.
* **GUI** Purge Stale renamed to Serve Stale.
* **Data** Predefined nonce list located in `/litespeed-cache/data/esi.nonce.txt`. Pull requests welcome.
* **Debug** Limited parameter log length.
* 🐞**CDN** Fixed an issue where upgrading lost value of CDN switch setting. (#888668)
* **3rd** Caldera Forms ESI Nonce enhancement. (@paconarud16 @marketingsweet)
* **3rd** Elementor now purges correctly after post/page updates.
* **3rd** Disabled Page Optimization features on AMP to avoid webfont JS inject. (@rahulgupta1985)

= 3.2.1 - Jun 1 2020 =
* **Cloud** LQIP/CCSS rate limit tweaks. (@ianpegg)
* **Admin** Improved frontend Admin Bar menu functionality. (#708642)
* **Crawler** Fixed an issue where cleaning up a crawler map with a leftover page number would cause a MySQL error. (@saowp)
* **Image Optimize** Added WP default thumbnails to image optimization summary list. (@johnny Nguyen)
* **REST** Improved REST compatibility w/ WP4.4-. (#767203)
* **GUI** Moved Use Primary Site Configuration to General menu. (@joshua)

= 3.2 - May 27 2020 =
* **Image Optimize** Major improvements in queue management, scalability, and speed. (@LucasRolff)
* **Cloud** Implemented a series of communication enhancements. (@Lucas Rolff)
* **Crawler** Enhanced PHP 5.3 compatibility. (@JTS-FIN #230)
* **Page Optimize** Appended image template in wpDiscuz script into default lazyload image exclude list. (@philipfaster @szmigieldesign)
* **Page Optimize** Eliminated the 404 issue for CSS/JS in server environments with missing SCRIPT_URI. (@ankit)
* **Data** ENhanced summary data storage typecasting.

= 3.1 - May 20 2020 =
* 🌱**Network** Added Debug settings to network level when on network.
* 🐞**Purge** Network now can purge all.
* 🐞**Network** Fixed issue where saving the network primary site settings failed.
* **Network** Moved Beta Test to network level when on network.
* 🐞**Cache** Fixed issue in admin where new post editor was wrongly cached for non-admin roles. (@TEKFused)
* 🐞**Data** Fixed issue with crawler & img_optm table creation failure. (@berdini @piercand)
* 🐞**Core** Improved plugin activation compatibility on Windows 10 #224 (@greenphp)
* **Core** Improved compatibility for .htaccess path search.
* **Object** Catch RedisException. (@elparts)
* Fixed Script URI issue in 3.0.9 #223 (@aonsyed)
* **Image Optimize** Show thumbnail size set list in image optimization summary. (@Johnny Nguyen)
* **Debug** Parameters will now be logged.

= 3.0.9 - May 13 2020 =
* **Purge** Comment cache can be successfully purged now.
* **Data** Better MySQL charset support for crawler/image optimize table creation. (@Roshan Jonah)
* **API** New hook to fire after Purge All. (@salvatorefresta)
* **Crawler** Resolve IP for crawler.
* **Task** PHP5.3 Cron compatibility fix.
* **3rd** Elementor edit mode compatibility.
* **Page Optimize** Fixed an issue where Purge Stale returned 404 for next visitor on CSS/JS.
* **Page Optimize** Fixed the PHP warning when srcset doesn't have size info inside. (@gvidano)
* **Cloud** Fixed the potential PHP warning when applying for the domain key.
* **Core** PHP __DIR__ const replacement. (@MathiasReker)

= 3.0.8.6 - May 4 2020 =
* **CCSS** Bypassed CCSS functionality on frontend when domain key isn't setup yet.
* **Cloud** Fixed WP node redetection bug when node expired. (@Joshua Reynolds)
* **Crawler** Fixed an issue where URL is wrongly blacklisted when using ADC.

= 3.0.8.5 - May 1 2020 =
* 🔥🐞**3rd** Hotfix for WPLister critical error due to v3.0.8.4 changes.
* **Image Optimize** Unfinished queue now will get more detailed info to indicate the proceeding status on node.
* **CLI** Options can now use true/false as value for bool. (@gavin)
* **CLI** Detect error if the ID does not exist when get/set an option value.
* **Doc** An API comment typo for `litespeed_esi_load-` is fixed.

= 3.0.8.4 - Apr 30 2020 =
* 🌱**Crawler** New setting: Sitemap timeout. (#364607)
* **Image Optimize** Images that fail to optimize are now counted to increase next request limit.
* **Cloud** Redetect fastest node every 3 days.
* **Cloud** Suppressed auto upgrade version detection error. (@marc Dahl)
* **3rd** 3rd party namespace compatibility. (#366352)

= 3.0.8.3 - Apr 28 2020 =
* **Cloud** Better compatibility for the Link to QUIC.cloud operation. (@Ronei de Sousa Almeida)
* **Image Optimize** Automatically clear invalid image sources before sending requests. (@Richard Hordern)

= 3.0.8.2 - Apr 27 2020 =
* **GUI** Corrected the Request Domain Key wording.

= 3.0.8.1 - Apr 27 2020 =
* **Object** Object cache compatibility for upgrade from v2.9.9- versions.

= 3.0.8 - Apr 27 2020 =
* Released v3 on WordPress officially.

= 3.0.4 - Apr 23 2020 =
* **Cloud** Apply Domain Key now receives error info in next apply action if failed to generate.
* **GUI** Apply Domain Key timeout now displays troubleshooting guidance.
* **REST** Added /ping and /token to REST GET for easier debug.
* **Cache** Dropped `advanced-cache.php` file detection and usage.

= 3.0.3 - Apr 21 2020 =
* **Conf** Settings from all options (data ini, defined constant, and forced) will be filtered and cast to expected type.
* **Upgrade** CDN mapping and other multiple line settings will now migrate correctly when upgrading from v2 to v3.

= 3.0.2 - Apr 17 2020 =
* **GUI** More guidance on domain key setting page.
* **Cloud** Now Apply Domain Key will append the server IP if it exists in Crawler Server IP setting.

= 3.0.1 - Apr 16 2020 =
* **Data** Increased timeout for database upgrade related to version upgrade. Display a banner while update in progress.
* **Page Optimize** All appended HTML attributes now will use double quotes to reduce the conflicts when the optimized resources are in JS snippets.

= 3.0 - Apr 15 2020 =
* 🌱**Media** LQIP (Low Quality Image Placeholder).
* 🌱**Page Optimize** Load Inline JS Deferred Compatibility Mode. (Special thanks to @joe B - AppsON)
* 🌱**Cloud** New QUIC.cloud API key setting.
* 🌱**ESI** New ESI nonce setting.
* 🌱**Media** JPG quality control. (@geckomist)
* 🌱**Media** Responsive local SVG placeholder.
* 🌱**Discussion** Gravatar warmup cron.
* 🌱**DB** Table Engine Converter tool. (@johnny Nguyen)
* 🌱**DB** Database summary: Autoload size. (@JohnnyNguyen)
* 🌱**DB** Database summary: Autoload entries list.
* 🌱**DB** Revisions older than. (@thememasterguru)
* 🌱**Cache** Forced public cache setting. (#308207)
* 🌱**Crawler** New timeout setting to avoid incorrect blacklist addition. (#900171)
* 🌱**Htaccess** Frontend & backend .htaccess path customize. (@jon81)
* 🌱**Toolbox** Detailed Heartbeat Control (@K9Heaven)
* 🌱**Purge** Purge Stale setting.
* 🌱**Page Optimize** Font display optimization. (@Joeee)
* 🌱**Page Optimize** Google font URL display optimization.
* 🌱**Page Optimize** Load Inline JS deferred.
* 🌱**Page Optimize** Store gravatar locally. (@zzTaLaNo1zz @JohnnyNguyen)
* 🌱**Page Optimize** DNS prefetch control setting.
* 🌱**Page Optimize** Lazy Load Image Parent Class Name Excludes. (@pako69)
* 🌱**Page Optimize** Lazy load iframe class excludes. (@vnnloser)
* 🌱**Page Optimize** Lazy load exclude URIs. (@wordpress_fan1 @aminaz)
* 🌱**GUI** New Dashboard and new menus.
* 🌱**Image Optimize** Supported GIF WebP optimization. (@Lucas Rolff)
* 🌱**Image Optimize** New workflow for image optimization (Gather first, request second).
* 🌱**Image Optimize** The return of Rescan.
* 🌱**CLI** Get single option cmd.
* 🌱**CLI** QUIC.cloud cmd supported.
* 🌱**CLI** CLI can send report now.
* 🌱**Health** Page speed and page score now are in dashboard.
* 🌱**Conf** Supported consts overwritten of `LITESPEED_CONF__` for all settings. (@menathor)
* 🌱**REST** New REST TTL setting.  (@thekendog)
* 🌱**CDN** New setting `HTML Attribute To Replace`. CDN can now support any HTML attribute to be replaced. (@danushkaj91)
* 🌱**Debug** Debug URI includes/excludes settings.
* 🌱**Crawler** 🐞 Support for multiple domains in custom sitemap. (@alchem)
* 🌱**Crawler** New Crawler dashboard. New sitemap w/ crawler status. New blacklist w/ reason.
* 🌱**Media** LQIP minimum dimensions setting. (@Lukasz Szmigiel)
* **Crawler** Able to add single rows to blacklist.
* **Crawler** Crawler data now saved into database instead of creating new files.
* **Crawler** Larger timeout to avoid wrongly added to blacklist.
* **Crawler** Manually changed the priority of mobile and WebP. (@rafaucau)
* **Browser** Larger Browser Cache TTL for Google Page Score improvement. (@max2348)
* **Task** Task refactored. Disabled cron will not show in cron list anymore.
* **Task** Speed up task load speed.
* **ESI** Added Bloom nonce to ESI for Elegant Themes.
* **Cloud** Able to redetect cloud nodes now.
* **Img_optm** Fixed stale data in redirected links.
* **Lazyload** CSS class `litespeed_lazyloaded` is now appended to HTML body after lazyload is finished. (@Adam Wilson)
* **Cache** Default drop qs values. (@gijo Varghese)
* **LQIP** Show all LQIP images in Media column.
* **CDN** Can now support custom REST API prefix other than wp-json. (#174 @therealgilles)
* **IAPI** Used REST for notify/destroy/check_img; Removed callback passive/aggreesive IAPI func
* **CSSJS** Saved all static files to litespeed folder; Uninstallation will remove static cache folder too; Reduced .htaccess rules by serving CSS/JS directly.
* **Object** Fixed override different ports issue. (@timofeycom #ISSUE178)
* **Conf** DB Tables will now only create when activating/upgrading/changing settings.
* **DB** Simplified table operation funcs.
* **CSSJS** Bypassed CSS/JS generation to return 404 if file is empty (@grubyy)
* **CSSJS** Inline JS defer will not conflict with JS inline optm anymore.
* **CDN** settings will not be overwritten by primary settings in network anymore. (@rudi Khoury)
* **OPcache** Purged all opcache when updating cache file. (@closte #170)
* **CLI** CLI cmd renamed.
* **CLI** Well-formatted table to show all options.
* **Purge** Only purge related posts that have a status of "published" to avoid unnecessary "draft" purges. (@Jakub Knytl)
* **GUI** Removed basic/adv mode for settings. Moved non-cache settings to its own menu.
* **Htaccess** Protected .htaccess.bk file. Only kept one backup. (@teflonmann)
* **Crawler** Crawler cookie now support `_null` as empty value.
* **Crawler** Avoid crawler PHP fatal error on Windows OS. (@technisolutions)
* **Admin** Simplified admin setting logic.
* **Conf** Multi values settings now uniformed to multi lines for easier setting.
* **Conf** New preset default data file `data/consts.default.ini`.
* **Conf** Config setting renamed and uniformed.
* **Conf** Dropped `Conf::option()`. Used `Conf::val()` instead.
* **Conf** Improved conf initialization and upgrade conversion workflow.
* **Core** Code base refactored. New namespace LiteSpeed.
* **API** New API: iframe lazyload exclude filter.
* **GUI** human readable seconds. (@MarkCanada)
* **API** API refactored. * NOTE: All 3rd party plugins that are using previous APIs, especially `LiteSpeed_Cache_API`, need to be adjusted to the latest one. Same for ESI blocks.* ESI shortcode doesn't change.
* **API** New hook `litespeed_update_confs` to settings update.
* **API** New Hooks `litespeed_frontend_shortcut` and `litespeed_backend_shortcut` for dropdown menu. (@callaloo)
* **API** Removed `litespeed_option_*` hooks. Use `litespeed_force_option` hook insteadly
* **API** Renamed `litespeed_force_option` to `litespeed_conf_force`.
* **API** Removed function `litespeed_purge_single_post`.
* **REST** New rest API to fetch public IP.
* **GUI** Hiding Cloudflare/Object Cache/Cloud API key credentials. (@menathor)
* **GUI** Renamed all backend link tag from lscache to litespeed.
* **GUI** fixed duplicated form tag.
* **GUI** Fix cron doc link. (@arnab Mohapatra)
* **GUI** Frontend adminbar menu added `Purge All` actions. (@Monarobase)
* **GUI** Localized vue.js to avoid CloudFlare cookie. (@politicske)
* **GUI** Always show optm column in Media Library for future single row optm operation. (@mikeyhash)
* **GUI** Displayed TTL range below the corresponding setting.
* **GUI** GUI refactored.
* **Debug** Report can now append notes.
* **3rd** Default added parallax-image to webp replacement for BB.
* **3rd** User Switching plugin compatibility. (@robert Staddon)
* **3rd** Beaver Builder plugin compatibility with v3.0.
* **3rd** Avada plugin compatibility w/ BBPress. (@pimg)
* **3rd** WooCommerce PayPal Checkout Gateway compatibility. (#960642 @Glen Cabusas)
* **Network** Fixed potential timeout issue when containing a large volume of sites. (@alican532)
* **Debug** `Disable All Features` now will see the warning banner if ON.
* **Debug** Dropped `log filters` section.
* **Debug** Debug and Tools sections combined into new `Toolbox` section.
* 🐞**Crawler** Multi sites will now use separate sitemap even when `Use Primary Site` is ON. (@mrhuynhanh)
* 🐞**Img_optm** Fixed large volume image table storage issue. (#328956)
* 🐞 **Cloud** Cloud callback hash validation fixed OC conflict. (@pbpiotr)
* 🎊 Any user that had the contribution to our WP community or changelog (even just bug report/feedback/suggestion) can apply for extra credits in QUIC.cloud.

= 2.9.9.2 - Nov 24 2019 =
* 🌱**GUI** New settings to limit News Feed to plugin page only.

= 2.9.9.1 - Nov 18 2019 =
* 🌱**Env** Environment Report can now append a passwordless link for support access without wp-admin password.
* **Admin** The latest v3.0 beta test link may now be shown on the admin page when it's available.
* **3rd** Compatibility with [DoLogin Security](https://wordpress.org/plugins/dologin/).
* 🐞**ESI** Fixed a failure issue with Vary Group save. (@rafasshop)
* 🐞**3rd** In browsers where WebP is not supported, Divi image picker will no longer serve WebP. (@Austin Tinius)

= 2.9.9 - Oct 28 2019 =
* <strong>Core</strong>: Preload all classes to avoid getting error for upcoming v3.0 upgrade.
* <strong>Object</strong>: Improved compatibility with upcoming v3.0 release.
* <strong>ESI</strong>: Unlocked ESI for OLS in case OLS is using QUIC.cloud CDN which supports ESI.
* <strong>3rd</strong>: Elementor Edit button will now show when ESI enabled. (#PR149 #335322 @maxgorky)
* 🐞<strong>Media</strong>: Fixed missing Media optimization column when Admin role is excluded from optimization in settings. (@mikeyhash @pako69 @dgilfillan)

= 2.9.8.7 - Oct 11 2019 =
* <strong>3rd</strong>: Enhanced WP stateless compatibility. (#PR143)
* <strong>3rd</strong>: Fixed a PHP warning caused by previous PR for AMP. (#PR176)

= 2.9.8.6 - Sep 24 2019 =
* <strong>3rd</strong>: Bypassed page optimizations for AMP. (#359748 #PR169)
* <strong>GUI</strong>: Firefox compatibility with radio button state when reloading pages. (#288940 #PR162)
* <strong>GUI</strong>: Updated Slack invitation link. (#PR173)

= 2.9.8.5 - Aug 21 2019 =
* <strong>CCSS</strong>: Removed potential PHP notice when getting post_type. (@amcgiffert)
* <strong>CDN</strong>: Bypassed CDN replacement on admin page when adding media to page/post. (@martin_bailey)
* 🐞<strong>Media</strong>: Fixed inability to update or destroy postmeta data for child images. (#167713)

= 2.9.8.4 - Jul 25 2019 =
* <strong>Object</strong>: Increased compatibility with phpredis 5.0.
* <strong>Object</strong>: Appended `wc_session_id` to default Do Not Cache Groups setting to avoid issue where WooCommerce cart items were missing when Object Cache is used. NOTE: Existing users must add `wc_session_id` manually! (#895333)
* <strong>CSS</strong>: Added null onload handler for CSS async loading. (@joejordanbrown)
* 🕷️: Increased crawler timeout to avoid wrongly adding a URL to the blacklist.
* <strong>3rd</strong>: WooCommerce Advanced Bulk Edit can now purge cache automatically.

= 2.9.8.3 - Jul 9 2019 =
* <strong>CSS</strong>: Enhanced the CSS Minify compatibility for CSS with missing closing bracket syntax errors. (@fa508210020)
* 🕷️: Crawler now supports both cookie and no-cookie cases. (@tabare)
* <strong>CCSS</strong>: Enhanced compatibility with requested pages where meta info size exceeds 8k. (@Joe B)
* <strong>CCSS</strong>: No longer processing "font" or "import" directives as they are not considered critical. (@Ankit @Joe B)
* <strong>IAPI</strong>: Removed IPv6 from all servers to avoid invalid firewall whitelist.

= 2.9.8.2 - Jun 17 2019 =
* 🔥🐞 <strong>3rd</strong>: Fixed PHP 5.3 compatibility issue with Facetwp.

= 2.9.8.1 - Jun 17 2019 =
* <strong>3rd</strong>: Set ESI template hook priority to highest number to prevent ESI conflict with Enfold theme. (#289354)
* <strong>3rd</strong>: Improved Facetwp reset button compatibility with ESI. (@emilyel)
* <strong>3rd</strong>: Enabled user role change to fix duplicate login issue for plugins that use alternative login processes. (#114165 #717223 @sergiom87)
* <strong>GUI</strong>: Wrapped static text with translate function. (@halilemreozen)

= 2.9.8 - May 22 2019 =
* <strong>Core</strong>: Refactored loading priority so user related functions & optimization features are set after user initialization. (#717223 #114165 #413338)
* <strong>Media</strong>: Improved backup file calculation query to prevent out-of-memory issue.
* <strong>Conf</strong>: Feed cache now defaults to ON.
* <strong>API</strong>: Fully remote attachment compatibility API of image optimization now supported.
* 🕷️: Bypassed vary change for crawler; crawler can now simulate default vary cookie.
* <strong>ESI</strong>: Refactored ESI widget. Removed `widget_load_get_options()` function.
* <strong>ESI</strong>: Changed the input name of widget fields in form.
* <strong>3rd</strong>: Elementor can now save ESI widget settings in frontend builder.
* <strong>3rd</strong>: WP-Stateless compatibility.
* <strong>IAPI</strong>: Image optimization can now successfully finish the destroy process with large volume images with automatic continual mode.
* 🐞<strong>CDN</strong>: Fixed issue with Load JQuery Remotely setting where WP 5.2.1 provided an unexpected jQuery version.
* 🐞<strong>3rd</strong>: Login process now gets the correct role; fixed double login issue.

= 2.9.7.2 - May 2 2019 =
* <strong>Conf</strong>: Enhanced compatibility when an option is not properly initialized.
* <strong>Conf</strong>: Prevent non-array instance in widget from causing 500 error. (#210407)
* <strong>CCSS</strong>: Increase CCSS generation timeout to 60s.
* <strong>Media</strong>: Renamed lazyload CSS class to avoid conflicts with other plugins. (@DynamoProd)
* <strong>JS</strong>: Improved W3 validator. (@istanbulantik)
* <strong>QUIC</strong>: Synced cache tag prefix for static files cache.
* <strong>ESI</strong>: Restored query strings to ESI admin bar for accurate rendering. (#977284)
* <strong>ESI</strong>: Tweaked ESI init priority to honor LITESPEED_DISABLE_ALL const. ESI will now init after plugin loaded.
* 🐞<strong>ESI</strong>: No longer initialize ESI if ESI option is OFF.
* <strong>API</strong>: New "Disable All" API function.
* <strong>API</strong>: New "Force public cache" API function.
* 🐞<strong>Vary</strong>: Fixed an issue with saving vary groups.
* 🐞<strong>IAPI</strong>: Fixed an issue where image md5 validation failed due to whitespace in the image path.
* 🐞<strong>3rd</strong>: Bypass all optimization/ESI/Cache features when entering Divi Theme Builder frontend editor.
* 🐞<strong>3rd</strong>: Fixed an issue where DIVI admin bar exit button didn't work when ESI was ON.

= 2.9.7.1 - Apr 9 2019 =
* <strong>Purge</script>: Purge All no longer includes Purge CCSS/Placeholder.
* <strong>3rd</strong>: Divi Theme Builder no longer experiences nonce expiration issues in the contact form widget. (#475461)

= 2.9.7 - Apr 1 2019 =
* 🌱🌱🌱 QUIC.cloud CDN feature. Now Apache/Nginx can use LiteSpeed cache freely.

= 2.9.6 - Mar 27 2019 =
* 🌱<strong>IAPI</strong>: Appended XMP to `Preserve EXIF data` setting. WebP will now honor this setting. (#902219)
* <strong>Object</script>: Fixed SASL connection with LSMCD.
* <strong>ESI</strong>: Converted ESI URI parameters to JSON; Added ESI validation.
* <strong>Import</strong>: Import/Export will now use JSON format. <strong>Please re-export any backed up settings. Previous backup format is no longer recognized.</strong>
* <strong>Media</strong>: WebP replacement will honor `Role Excludes` setting now. (@mfazio26)
* <strong>Data</strong>: Forbid direct visit to const.default.ini.
* <strong>Utility</strong>: Can handle WHM passed in `LITESPEED_ERR` constant now.
* <strong>IAPI</strong>: Communicate via JSON encoding.
* <strong>IAPI</strong>: IAPI v2.9.6.

= 2.9.5 - Mar 14 2019 =
* 🌱 Auto convert default WordPress nonce to ESI to avoid expiration.
* 🌱 <strong>API</strong>: Ability to easily convert custom nonce to ESI by registering `LiteSpeed_Cache_API::nonce_action`.
* <strong>OPTM</strong>: Tweaked redundant attr `data-no-optimize` in func `_analyse_links` to `data-ignore-optimize` to offer the API to bypass optimization but still move src to top of source code.
* <strong>API</strong>: Renamed default nonce ESI ID from `lscwp_nonce_esi` to `nonce`.
* <strong>API</strong>: Added WebP generation & validation hook API. (@alim #wp-stateless)
* <strong>API</strong>: Added hook to bypass vary commenter check. (#wpdiscuz)
* <strong>Doc</strong>: Clarified Cache Mobile description. (@JohnnyNguyen)
* <strong>Doc</strong>: Replaced incorrect link in description. (@JohnnyNguyen)
* <strong>3rd</strong>: Improved wpDiscuz compatibility.
* 🐞<strong>3rd</strong>: Fixed Divi Theme Builder comment compatibility on non-builder pages. (#410919)
* <strong>3rd</strong>: Added YITH ESI adjustment.

= 2.9.4.1 - Feb 28 2019 =
* 🔥🐞<strong>Tag</strong>: Fixed issue where unnecessary warning potentially displayed after upgrade process when object cache is enabled.

= 2.9.4 - Feb 27 2019 =
* 🐞<strong>REST</strong>: New REST class with better WP5 Gutenberg and internal REST call support when ESI is embedded.
* <strong>ESI</strong>: ESI block ID is now in plain text in ESI URL parameters.
* 🐞<strong>ESI</strong>: Fixed a redundant ESI 301 redirect when comma is in ESI URL.
* <strong>ESI</strong>: REST call can now parse shortcodes in ESI.
* <strong>API</strong>: Changed ESI `parse_esi_param()` function to private and `load_esi_block` function to non-static.
* <strong>API</strong>: Added `litespeed_is_json` hook for buffer JSON conversion.
* <strong>GUI</strong>: Prepended plugin name to new version notification banner.
* <strong>3rd</strong>: WPML multi domains can now be handled in optimization without CDN tricks.

= 2.9.3 - Feb 20 2019 =
* <strong>ESI</strong>: ESI shortcodes can now be saved in Gutenberg editor.
* <strong>ESI</strong>: ESI now honors the parent page JSON data type to avoid breaking REST calls (LSWS 5.3.6+).
* <strong>ESI</strong>: Added is_json parameter support for admin_bar.
* <strong>ESI</strong>: Simplified comment form code.
* <strong>3rd</strong>: Better page builder plugin compatibility within AJAX calls.
* <strong>3rd</strong>: Compatibility with FacetWP (LSWS 5.3.6+).
* <strong>3rd</strong>: Compatibility with Beaver Builder.
* <strong>Debug</strong>: Added ESI buffer content to log.
* <strong>Tag</strong>: Only append blog ID to cache tags when site is part of a network.
* <strong>IAPI</strong>: Optimized database query for pulling images.
* <strong>GUI</strong>: Added more plugin version checking for better feature compatibility.
* <strong>GUI</strong>: Ability to bypass non-critical banners with the file .litespeed_no_banner.
* <strong>Media</strong>: Background image WebP replacement now supports quotes around src.

= 2.9.2 - Feb 5 2019 =
* <strong>API</strong>: Add a hook `litespeed_esi_shortcode-*` for ESI shortcodes.
* <strong>3rd</strong>: WooCommerce can purge products now when variation stock is changed.
* 🐞🕷️: Forced HTTP1.1 for crawler due to a CURL HTTP2 bug.

= 2.9.1 - Jan 25 2019 =
* <strong>Compatibility</strong>: Fixed fatal error for PHP 5.3.
* <strong>Compatibility</strong>: Fixed PHP warning in htmlspecialchars when building URLs. (@souljahn2)
* <strong>Media</strong>: Excluded invalid image src from lazyload. (@andrew55)
* <strong>Optm</strong>: Improved URL compatibility when detecting closest cloud server.
* <strong>ESI</strong>: Supported JSON format comment format in ESI with `is_json` parameter.
* <strong>API</strong>: Added filters to CCSS/CSS/JS content. (@lhoucine)
* <strong>3rd</strong>: Improved comment compatibility with Elegant Divi Builder.
* <strong>IAPI</strong>: New Europe Image Optimization server (EU5). <strong>Please whitelist the new [IAPI IP List](https://wp.api.litespeedtech.com/ips).</strong>
* <strong>GUI</strong>: No longer show banners when `Disable All` in `Debug` is ON. (@rabbitwordpress)
* <strong>GUI</strong>: Fixed button style for RTL languages.
* <strong>GUI</strong>: Removed unnecessary translation in report.
* <strong>GUI</strong>: Updated readme wiki links.
* <strong>GUI</strong>: Fixed pie styles in image optimization page.

= 2.9 - Dec 31 2018 =
* 🌱<strong>Media</strong>: Lazy Load Image Classname Excludes. (@thinkmedia)
* 🌱: New EU/AS cloud servers for faster image optimization handling.
* 🌱: New EU/AS cloud servers for faster CCSS generation.
* 🌱: New EU/AS cloud servers for faster responsive placeholder generation.
* 🌱<strong>Conf</strong>: Ability to set single options via link.
* 🌱<strong>Cache</strong>: Ability to add custom TTLs to Force Cache URIs.
* <strong>Purge</strong>: Added post type to Purge tags.
* <strong>Purge</strong>: Redefined CCSS page types.
* <strong>Core</strong>: Using Exception for .htaccess R/W.
* <strong>IAPI</strong>: <strong>New cloud servers added. Please whitelist the new [IAPI IP List](https://wp.api.litespeedtech.com/ips).</strong>
* <strong>Optm</strong>: Trim BOM when detecting if the page is HTML.
* <strong>GUI</strong>: Added PageSpeed Score comparison into promotion banner.
* <strong>GUI</strong>: Refactored promotion banner logic.
* <strong>GUI</strong>: Removed page optimized comment when ESI Silence is requested.
* <strong>GUI</strong>: WHM transient changed to option instead of transient when storing.
* <strong>GUI</strong>: Appending more descriptions to CDN filetype setting.
* <strong>IAPI</strong>: Removed duplicate messages.
* <strong>IAPI</strong>: Removed taken_failed/client_pull(duplicated) status.
* <strong>Debug</strong>: Environment report no longer generates hash for validation.
* <strong>3rd</strong>: Non-cacheable pages no longer punch ESI holes for Divi compatibility.
* 🐞<strong>Network</strong>: Added slashes for mobile rules when activating plugin.
* 🐞<strong>CCSS</strong>: Eliminated a PHP notice when appending CCSS.

= 2.8.1 - Dec 5 2018 =
* 🐞🕷️: Fixed an activation warning related to cookie crawler. (@kacper3355 @rastel72)
* 🐞<strong>Media</strong>: Replace safely by checking if pulled images is empty or not first. (@Monarobase)
* <strong>3rd</strong>: Shortcode ESI compatibility with Elementor.

= 2.8 - Nov 30 2018 =
* 🌱: ESI shortcodes.
* 🌱: Mobile crawler.
* 🌱: Cookie crawler.
* <strong>API</strong>: Can now add `_litespeed_rm_qs=0` to bypass Remove Query Strings.
* <strong>Optm</strong>: Removed error log when minify JS failed.
* 🐞<strong>Core</strong>: Fixed a bug that caused network activation PHP warning.
* <strong>Media</strong>: Removed canvas checking for WebP to support TOR. (@odeskumair)
* <strong>Media</strong>: Eliminated potential image placeholder PHP warning.
* <strong>3rd</strong>: Bypassed Google recaptcha from Remove Query Strings for better compatibility.
* <strong>IAPI</strong>: Showed destroy timeout details.
* <strong>Debug</strong>: Moved Google Fonts log to advanced level.
* <strong>GUI</strong>: Replaced all Learn More links for functions.
* <strong>GUI</strong>: Cosmetic updates including Emoji.
* 🕷️: Removed duplicated data in sitemap and blacklist.

= 2.7.3 - Nov 26 2018 =
* <strong>Optm</strong>: Improved page render speed with Web Font Loader JS library for Load Google Fonts Asynchronously.
* <strong>Optm</strong>: Directly used JS library files in plugin folder instead of short links `/min/`.
* <strong>Optm</strong>: Handled exceptions in JS optimization when meeting badly formatted JS.
* <strong>3rd</strong>: Added Adobe Lightroom support for NextGen Gallery.
* <strong>3rd</strong>: Improved Postman app support for POST JSON requests.
* <strong>IAPI</strong>: <strong>US3 server IP changed to 68.183.60.185</strong>.

= 2.7.2 - Nov 19 2018 =
* 🌱: Auto Upgrade feature.
* <strong>CDN</strong>: Bypass CDN for cron to avoid WP jQuery deregister warning.

= 2.7.1 - Nov 15 2018 =
* 🌱<strong>CLI</strong>: Ability to set CDN mapping by `set_option litespeed-cache-cdn_mapping[url][0] https://url`.
* 🌱<strong>CDN</strong>: Ability to customize default CDN mapping data in default.ini.
* 🌱<strong>API</strong>: Default.ini now supports both text-area items and on/off options.
* <strong>Vary</strong>: Refactored Vary and related API.
* <strong>Vary</strong>: New hook to manipulate vary cookies value.
* <strong>Core</strong>: Activation now can generate Object Cache file.
* <strong>Core</strong>: Unified Object Cache/rewrite rules generation process across activation/import/reset/CLI.
* <strong>Core</strong>: Always hook activation to make activation available through the front end.
* 🐞<strong>IAPI</strong>: Fixed a bug where environment report gave incorrect image optimization data.
* 🐞<strong>OLS</strong>: Fixed a bug where login cookie kept showing a warning on OpenLiteSpeed.
* 🐞<strong>Core</strong>: Fixed a bug where Import/Activation/CLI was missing CDN mapping settings.
* <strong>API</strong>: <strong>Filters `litespeed_cache_media_lazy_img_excludes/litespeed_optm_js_defer_exc` passed-in parameter is changed from string to array.</strong>

= 2.7 - Nov 2 2018 =
* 🌱: Separate Purge log for better debugging.
* <strong>3rd</strong>: Now fully compatible with WPML.
* <strong>IAPI</strong>: Sped up Image Optimization workflow.
* <strong>GUI</strong>: Current IP now shows in Debug settings.
* <strong>GUI</strong>: Space separated placeholder queue list for better look.
* <strong>IAPI</strong>: <strong>EU3 server IP changed to 165.227.131.98</strong>.

= 2.6.4.1 - Oct 25 2018 =
* 🔥🐞<strong>Media</strong>: Fixed a bug where the wrong table was used in the Image Optimization process.
* <strong>IAPI</strong>: IAPI v2.6.4.1.

= 2.6.4 - Oct 24 2018 =
* 🌱: Ability to create custom default config options per hosting company.
* 🌱: Ability to generate mobile Critical CSS.
* 🐞<strong>Media</strong>: Fixed a bug where Network sites could incorrectly override optimized images.
* 🐞<strong>CDN</strong>: Fixed a bug where image URLs containing backslashes were matched.
* <strong>Cache</strong>: Added default Mobile UA config setting.
* <strong>GUI</strong>: Fixed unknown shortcut characters for non-English languages Setting tabs.

= 2.6.3 - Oct 18 2018 =
* 🌱: Ability to Reset All Options.
* 🌱<strong>CLI</strong>: Added new `lscache-admin reset_options` command.
* <strong>GUI</strong>: Added shortcuts for more of the Settings tabs.
* <strong>Media</strong>: Updated Lazy Load JS library to the most recent version.
* There is no longer any need to explicitly Save Settings upon Import.
* Remove Query String now will remove *all* query strings in JS/CSS static files.
* <strong>IAPI</strong>: Added summary info to debug log.

= 2.6.2 - Oct 11 2018 =
* <strong>Setting</strong>: Automatically correct invalid numeric values in configuration settings upon submit.
* 🐞<strong>Media</strong>: Fixed the issue where iframe lazy load was broken by latest Chrome release. (@ofmarconi)
* 🐞: Fixed an issue with Multisite where subsites failed to purge when only primary site has WooCommerce . (@kierancalv)

= 2.6.1 - Oct 4 2018 =
* 🌱: Ability to generate separate Critical CSS Cache for Post Types & URIs.
* <strong>API</strong>: Filter `litespeed_frontend_htaccess` for frontend htaccess path.
* <strong>Media</strong>: Removed responsive placeholder generation history to save space.

= 2.6.0.1 - Sep 24 2018 =
* 🔥🐞: Fixed an issue in responsive placeholder generation where redundant history data was being saved and using a lot of space.

= 2.6 - Sep 22 2018 =
* <strong>Vary</strong>: Moved `litespeed_cache_api_vary` hook outside of OLS condition for .htaccess generation.
* <strong>CDN</strong>: Trim spaces in original URL of CDN setting.
* <strong>API</strong>: New filter `litespeed_option_` to change all options dynamically.
* <strong>API</strong>: New `LiteSpeed_Cache_API::force_option()` to change all options dynamically.
* <strong>API</strong>: New `LiteSpeed_Cache_API::vary()` to set default vary directly for easier compaitiblity with WPML WooCommerce Multilingual.
* <strong>API</strong>: New `LiteSpeed_Cache_API::nonce()` to safely and easily allow caching of wp-nonce.
* <strong>API</strong>: New `LiteSpeed_Cache_API::hook_vary_add()` to add new vary.
* <strong>Optm</strong>: Changed HTML/JS/CSS optimization options assignment position from constructor to `finalize()`.
* <strong>Doc</strong>: Added nonce to FAQ and mentioned nonce in 3rd Party Compatibility section.
* <strong>GUI</strong>: Moved inline minify to under html minify due to the dependency.
* <strong>3rd</strong>: Cached Aelia CurrencySwitcher by default.
* 🐞: Fixed issue where enabling remote JQuery caused missing jquery-migrate library error.

= 2.5.1 - Sep 11 2018 =
* 🌱 Responsive placeholder. (@szmigieldesign)
* Changed CSS::ccss_realpath function scope to private.
* 🐞 Detected JS filetype before optimizing to avoid PHP source conflict. (@closte #50)

= 2.5 - Sep 6 2018 =
* [IMPROVEMENT] <strong>CLI</strong> can now execute Remove Original Image Backups. (@Shon)
* [UPDATE] Fixed issue where WP-PostViews documentation contained extra slashes. (#545638)
* [UPDATE] Check LITESPEED_SERVER_TYPE for more accurate LSCache Disabled messaging.
* [IAPI] Fixed a bug where optimize/fetch error notification was not being received. (@LucasRolff)

= 2.4.4 - Aug 31 2018 =
* [NEW] <strong>CLI</strong> can now support image optimization. (@Shon)
* [IMPROVEMENT] <strong>GUI</strong> Cron/CLI will not create admin message anymore.
* [UPDATE] <strong>Media</strong> Fixed a PHP notice that appeared when pulling optimized images.
* [UPDATE] Fixed a PHP notice when detecting origin of ajax call. (@iosoft)
* [DEBUG] Debug log can now log referer URL.
* [DEBUG] Changes to options will now be logged.

= 2.4.3 - Aug 27 2018 =
* [NEW] <strong>Media</strong> Ability to inline image lazyload JS library. (@Music47ell)
* [IMPROVEMENT] <strong>Media</strong> Deleting images will now clear related optimization file & info too.
* [IMPROVEMENT] <strong>Media</strong> Non-image postfix data will now be bypassed before sending image optimization request.
* [BUGFIX] <strong>CDN</strong> CDN URL will no longer be replaced during admin ajax call. (@pankaj)
* [BUGFIX] <strong>CLI</strong> WPCLI can now save options without incorrectly clearing textarea items. (@Shon)
* [GUI] Moved Settings above Manage on the main menu.

= 2.4.2 - Aug 21 2018 =
* [IMPROVEMENT] <strong>Media</strong> Sped up Image Optimization process by replacing IAPI server pull communication.
* [IMPROVEMENT] <strong>Media</strong> Ability to delete optimized WebP/original image by item in Media Library. (@redgoodapple)
* [IMPROVEMENT] <strong>CSS Optimize</strong> Generate new optimized CSS name based on purge timestamp. Allows CSS cache to be cleared for visitors. (@bradbrownmagic)
* [IMPROVEMENT] <strong>API</strong> added litespeed_img_optm_options_per_image. (@gintsg)
* [UPDATE] Stopped showing "No Image Found" message when all images have finished optimization. (@knutsp)
* [UPDATE] Improved a PHP warning when saving settings. (@sergialarconrecio)
* [UPDATE] Changed backend adminbar icon default behavior from Purge All to Purge LSCache.
* [UPDATE] Clearing CCSS cache will clear unfinished queue too.
* [UPDATE] Added "$" exact match when adding URL by frontend adminbar dropdown menu, to avoid affecting any sub-URLs.
* [UPDATE] Fixed IAPI error message showing array bug. (@thiomas)
* [UPDATE] Debug Disable All will do a Purge All.
* [UPDATE] <strong>Critical CSS server IP changed to 142.93.3.57</strong>.
* [GUI] Showed plugin update link for IAPI version message.
* [GUI] Bypassed null IAPI response message.
* [GUI] Grouped related settings with indent.
* [IAPI] Added 503 handler for IAPI response.
* [IAPI] IAPI v2.4.2.
* [IAPI] <strong>Center Server IP Changed from 34.198.229.186 to 142.93.112.87</strong>.

= 2.4.1 - Jul 19 2018 =
* [NEW FEATURE] <strong>Media</strong> Auto Level Up. Auto refill credit.
* [NEW FEATURE] <strong>Media</strong> Auto delete original backups after pulled. (@borisov87 @JMCA2)
* [NEW FEATURE] <strong>Media</strong> Auto request image optimization. (@ericsondr)
* [IMPROVEMENT] <strong>Media</strong> Fetch 404 error will notify client as other errors.
* [IMPROVEMENT] <strong>Media</strong> Support WebP for PageSpeed Insights. (@LucasRolff)
* [BUGFIX] <strong>CLI</strong> Fixed the issue where CLI import/export caused certain textarea settings to be lost. (#767519)
* [BUGFIX] <strong>CSS Optimize</strong> Fixed the issue that duplicated optimized CSS and caused rapid expansion of CSS cache folder.
* [GUI] <strong>Media</strong> Refactored operation workflow and interface.
* [UPDATE] <strong>Media</strong> Set timeout seconds to avoid pulling timeout. (@Jose)
* [UPDATE] <strong>CDN</strong>Fixed the notice when no path is in URL. (@sabitkamera)
* [UPDATE] <strong>Media</strong> Auto correct credits when pulling.
* [UPDATE] <strong>GUI</strong> Removed redundant double quote in gui.cls. (@DaveyJake)
* [IAPI] IAPI v2.4.1.
* [IAPI] Allow new error status notification and success message from IAPI.

= 2.4 - Jul 2 2018 =
* [NEW FEATURE] <strong>Media</strong> Added lossless optimization.
* [NEW FEATURE] <strong>Media</strong> Added Request Original Images ON/OFF.
* [NEW FEATURE] <strong>Media</strong> Added Request WebP ON/OFF. (@JMCA2)
* [IMPROVEMENT] <strong>Media</strong> Improved optimization tools to archive maximum compression and score.
* [IMPROVEMENT] <strong>Media</strong> Improved speed of image pull.
* [IMPROVEMENT] <strong>Media</strong> Automatically recover credit after pulled.
* [REFACTOR] <strong>Config</strong> Separated configure const class.
* [BUGFIX] <strong>Report</strong> Report can be sent successfully with emoji now. (@music47ell)
* [IAPI] New Europe Image Optimization server (EU3/EU4).
* [IAPI] New America Image Optimization server (US3/US4/US5/US6).
* [IAPI] New Asian Image Optimization server (AS3).
* [IAPI] Refactored optimization process.
* [IAPI] Increased credit limit.
* [IAPI] Removed request interval limit.
* [IAPI] IAPI v2.4.
* <strong>We strongly recommended that you re-optimize your image library to get a better compression result</strong>.

= 2.3.1 - Jun 18 2018 =
* [IMPROVEMENT] New setting to disable Generate Critical CSS. (@cybmeta)
* [IMPROVEMENT] Added filter to can_cdn/can_optm check. (@Jacob)
* [UPDATE] *Critical CSS* Added 404 css. Limit cron interval.
* [UPDATE] AJAX will not bypass CDN anymore by default. (@Jacob)
* [GUI] Show Disable All Features warning if it is on in Debug tab.

= 2.3 - Jun 13 2018 =
* [NEW FEATURE] Automatically generate critical CSS. (@joeee @ivan_ivanov @3dseo)
* [BUGFIX] "Mark this page as..." from dropdown menu will not reset settings anymore. (@cbratschi)

= 2.2.7 - Jun 4 2018 =
* [IMPROVEMENT] Improved redirection for manual image pull to avoid too many redirections warning.
* [IAPI] Increased credit limit.
* [BUGFIX] Fixed 503 error when enabling log filters in Debug tab. (#525206)
* [UPDATE] Improve compatibility when using sitemap url on servers with allow_url_open off.
* [UPDATE] Removed Crawler HTTP2 option due to causing no-cache blacklist issue for certain environments.
* [UPDATE] Privacy policy can be now translated. (@Josemi)
* [UPDATE] IAPI Increased default img request max to 3000.

= 2.2.6 - May 24 2018 =
* [NEW FEATURE] Original image backups can be removed now. (@borisov87 @JMCA2)
* [BUGFIX] Role Excludes in Tuning tab can save now. (@pako69)
* [UPDATE] Added privacy policy support.

= 2.2.5 - May 14 2018 =
* [IAPI] <strong>Image Optimization</strong> New Asian Image Optimization server (AS2).
* [INTEGRATION] Removed wpForo 3rd party file. (@massimod)

= 2.2.4 - May 7 2018 =
* [IMPROVEMENT] Improved compatibility with themes using the same js_min library. (#129093 @Darren)
* [BUGFIX] Fixed a bug when checking image path for dynamic files. (@miladk)
* [INTEGRATION] Compatibility with Universal Star Rating. (@miladk)

= 2.2.3 - Apr 27 2018 =
* [NEW FEATURE] WebP For Extra srcset setting in Media tab. (@vengen)
* [REFACTOR] Removed redundant LS consts.
* [REFACTOR] Refactored adv_cache generation flow.
* [BUGFIX] Fixed issue where inline JS minify exception caused a blank page. (@oomskaap @kenb1978)
* [UPDATE] Changed HTTP/2 Crawl default value to OFF.
* [UPDATE] Added img.data-src to default WebP replacement value for WooCommerce WebP support.
* [UPDATE] Detached crawler from LSCache LITESPEED_ON status.
* [API] Improved ESI API to honor the cache control in ESI wrapper.
* [API] Added LITESPEED_PURGE_SILENT const to bypass the notification when purging
* [INTEGRATION] Fixed issue with nonce expiration when using ESI API. (#923505 @Dan)
* [INTEGRATION] Improved compatibility with Ninja Forms by bypassing non-javascript JS from inline JS minify.
* [INTEGRATION] Added a hook for plugins that change the CSS/JS path e.g. Hide My WordPress.

= 2.2.2 - Apr 16 2018 =
* [NEW FEATURE] WebP Attribute To Replace setting in Media tab. (@vengen)
* [IMPROVEMENT] Generate adv_cache file automatically when it is lost.
* [IMPROVEMENT] Improved compatibility with ajax login. (@veganostomy)
* [UPDATE] Added object cache lib check in case user downgrades LSCWP to non-object-cache versions.
* [UPDATE] Avoided infinite loop when users enter invalid hook values in Purge All Hooks settings.
* [UPDATE] Updated log format in media&cdn class.
* [UPDATE] Added more items to Report.

= 2.2.1 - Apr 10 2018 =
* [NEW FEATURE] Included Directories setting in CDN tab. (@Dave)
* [NEW FEATURE] Purge All Hooks setting in Advanced tab.
* [UPDATE] Added background-image WebP replacement support. (@vengen)
* [UPDATE] Show recommended values for textarea items in settings.
* [UPDATE] Moved CSS/JS optimizer log to Advanced level.
* [INTEGRATION] Added WebP support for Avada Fusion Sliders. (@vengen)

= 2.2.0.2 - Apr 3 2018 =
* [HOTFIX] <strong>Object Cache</strong> Fixed the PHP warning caused by previous improvement to Object Cache.

= 2.2.0.1 - Apr 3 2018 =
* [HOTFIX] Object parameter will no longer cause warnings to be logged for Purge and Cache classes. (@kelltech @khrifat)
* [UPDATE] Removed duplicated del_file func from Object Cache class.
* [BUGFIX] `CLI` no longer shows 400 error upon successful result.

= 2.2 - Apr 2 2018 =
* [NEW FEATURE] <strong>Debug</strong> Disable All Features setting in Debug tab. (@monarobase)
* [NEW FEATURE] <strong>Cache</strong> Force Cacheable URIs setting in Excludes tab.
* [NEW FEATURE] <strong>Purge</strong> Purge all LSCache and other caches in one link.
* [REFACTOR] <strong>Purge</strong> Refactored Purge class.
* [BUGFIX] Query strings in DoNotCacheURI setting now works.
* [BUGFIX] <strong>Cache</strong> Mobile cache compatibility with WebP vary. (@Shivam #987121)
* [UPDATE] <strong>Purge</strong> Moved purge_all to Purge class from core class.
* [API] Set cacheable/Set force cacheable. (@Jacob)

= 2.1.2 - Mar 28 2018 =
* [NEW FEATURE] <strong>Image Optimization</strong> Clean Up Unfinished Data feature.
* [IAPI] IAPI v2.1.2.
* [IMPROVEMENT] <strong>CSS/JS Minify</strong> Reduced loading time significantly by improving CSS/JS minify loading process. (@kokers)
* [IMPROVEMENT] <strong>CSS/JS Minify</strong> Cache empty JS Minify content. (@kokers)
* [IMPROVEMENT] <strong>Cache</strong> Cache 301 redirect when scheme/host are same.
* [BUGFIX] <strong>Media</strong> Lazy load now can support WebP. (@relle)
* [UPDATE] <strong>CSS/JS Optimize</strong> Serve static files for CSS async & lazy load JS library.
* [UPDATE] <strong>Report</strong> Appended Basic/Advanced View setting to Report.
* [UPDATE] <strong>CSS/JS Minify</strong> Removed zero-width space from CSS/JS content.
* [GUI] Added Purge CSS/JS Cache link in Admin.

= 2.1.1.1 - Mar 21 2018 =
* [BUGFIX] Fixed issue where activation failed to add rules to .htaccess.
* [BUGFIX] Fixed issue where 304 header was blank on feed page refresh.

= 2.1.1 - Mar 20 2018 =
* [NEW FEATURE] <strong>Browser Cache</strong> Unlocked for non-LiteSpeed users.
* [IMPROVEMENT] <strong>Image Optimization</strong> Fixed issue where images with bad postmeta value continued to show in not-yet-requested queue.

= 2.1 - Mar 15 2018 =
* [NEW FEATURE] <strong>Image Optimization</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>Object Cache</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>Crawler</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>Database Cleaner and Optimizer</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>Lazy Load Images</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>CSS/JS/HTML Minify/Combine Optimize</strong> Unlocked for non-LiteSpeed users.
* [IAPI] IAPI v2.0.
* [IAPI] Increased max rows prefetch when client has additional credit.
* [IMPROVEMENT] <strong>CDN</strong> Multiple domains may now be used.
* [IMPROVEMENT] <strong>Report</strong> Added WP environment constants for better debugging.
* [REFACTOR] Separated Cloudflare CDN class.
* [BUGFIX] <strong>Image Optimization</strong> Fixed issue where certain MySQL version failed to create img_optm table. (@philippwidmer)
* [BUGFIX] <strong>Image Optimization</strong> Fixed issue where callback validation failed when pulling and sending request simultaneously.
* [GUI] Added Slack community banner.
* [INTEGRATION] CDN compatibility with WPML multiple domains. (@egemensarica)

= 2.0 - Mar 7 2018 =
* [NEW FEATURE] <strong>Image Optimization</strong> Added level up guidance.
* [REFACTOR] <strong>Image Optimization</strong> Refactored Image Optimization class.
* [IAPI] <strong>Image Optimization</strong> New European Image Optimization server (EU2).
* [IMPROVEMENT] <strong>Image Optimization</strong> Manual pull action continues pulling until complete.
* [IMPROVEMENT] <strong>CDN</strong> Multiple CDNs can now be randomized for a single resource.
* [IMPROVEMENT] <strong>Image Optimization</strong> Improved compatibility of long src images.
* [IMPROVEMENT] <strong>Image Optimization</strong> Reduced runtime load.
* [IMPROVEMENT] <strong>Image Optimization</strong> Avoid potential loss/reset of notified images status when pulling.
* [IMPROVEMENT] <strong>Image Optimization</strong> Avoid duplicated optimization for multiple records in Media that have the same image source.
* [IMPROVEMENT] <strong>Image Optimization</strong> Fixed issue where phantom images continued to show in not-yet-requested queue.
* [BUGFIX] <strong>Core</strong> Improved compatibility when upgrading outside of WP Admin. (@jikatal @TylorB)
* [BUGFIX] <strong>Crawler</strong> Improved HTTP/2 compatibility to avoid erroneous blacklisting.
* [BUGFIX] <strong>Crawler</strong> Changing Delay setting will use server variable for min value validation if set.
* [UPDATE] <strong>Crawler</strong> Added HTTP/2 protocol switch in the Crawler settings.
* [UPDATE] Removed unnecessary translation strings.
* [GUI] Display translated role group name string instead of English values. (@Richard Hordern)
* [GUI] Added Join LiteSpeed Slack link.
* [GUI] <strong>Import / Export</strong> Cosmetic changes to Import Settings file field.
* [INTEGRATION] Improved compatibility with WPML Media for Image Optimization. (@szmigieldesign)

= 1.9.1.1 - February 20 2018 =
* [Hotfix] Removed empty crawler when no role simulation is set.

= 1.9.1 - February 20 2018 =
* [NEW FEATURE] Role Simulation crawler.
* [NEW FEATURE] WebP multiple crawler.
* [NEW FEATURE] HTTP/2 support for crawler.
* [BUGFIX] Fixed a js bug with the auto complete mobile user agents field when cache mobile is turned on.
* [BUGFIX] Fixed a constant undefined warning after activation.
* [GUI] Sitemap generation settings are no longer hidden when using a custom sitemap.

= 1.9 - February 12 2018 =
* [NEW FEATURE] Inline CSS/JS Minify.
* [IMPROVEMENT] Removed Composer vendor to thin the plugin folder.
* [UPDATE] Tweaked H2 to H1 in Admin headings for accessibility. (@steverep)
* [GUI] Added Mobile User Agents to basic view.
* [GUI] Moved Object Cache & Browser Cache from Cache tab to Advanced tab.
* [GUI] Moved LSCache Purge All from Adminbar to dropdown menu.

= 1.8.3 - February 2 2018 =
* [NEW FEATURE] Crawler server variable limitation support.
* [IMPROVEMENT] Added Store Transients option to fix transients missing issue when Cache Wp-Admin setting is OFF.
* [IMPROVEMENT] Tweaked ARIA support. (@steverep)
* [IMPROVEMENT] Used strpos instead of strncmp for performance. (@Zach E)
* [BUGFIX] Transient cache can now be removed when the Cache Wp-Admin setting is ON in Object Cache.
* [BUGFIX] Network sites can now save Advanced settings.
* [BUGFIX] Media list now shows in network sites.
* [BUGFIX] Show Crawler Status button is working again.
* [UPDATE] Fixed a couple of potential PHP notices in the Network cache tab and when no vary group is set.
* [GUI] Added Learn More link to all setting pages.

= 1.8.2 - January 29 2018 =
* [NEW FEATURE] Instant Click in the Advanced tab.
* [NEW FEATURE] Import/Export settings.
* [NEW FEATURE] Opcode Cache support.
* [NEW FEATURE] Basic/Advanced setting view.
* [IMPROVEMENT] Added ARIA support in widget settings.
* [BUGFIX] Multiple WordPress instances with same Object Cache address will no longer see shared data.
* [BUGFIX] WebP Replacement may now be set at the Network level.
* [BUGFIX] Object Cache file can now be removed at the Network level uninstall.

= 1.8.1 - January 22 2018 =
* [NEW FEATURE] Object Cache now supports Redis.
* [IMPROVEMENT] Memcached Object Cache now supports authorization.
* [IMPROVEMENT] A 500 error will no longer be encountered when turning on Object Cache without the proper PHP extension installed.
* [BUGFIX] Object Cache settings can now be saved at the Network level.
* [BUGFIX] Mu-plugin now supports Network setting.
* [BUGFIX] Fixed admin bar showing inaccurate Edit Page link.
* [UPDATE] Removed warning information when no Memcached server is available.

= 1.8 - January 17 2018 =
* [NEW FEATURE] Object Cache.
* [REFACTOR] Refactored Log class.
* [REFACTOR] Refactored LSCWP basic const initialization.
* [BUGFIX] Fixed Cloudflare domain search breaking when saving more than 50 domains under a single account.
* [UPDATE] Log filter settings are now their own item in the wp-option table.

= 1.7.2 - January 5 2018 =
* [NEW FEATURE] Cloudflare API support.
* [IMPROVEMENT] IAPI key can now be reset to avoid issues when domain is changed.
* [BUGFIX] Fixed JS optimizer breaking certain plugins JS.
* [UPDATE] Added cdn settings to environment report.
* [GUI] Added more shortcuts to backend adminbar.
* [INTEGRATION] WooCommerce visitors are now served from public cache when cart is empty.

= 1.7.1.1 - December 29 2017 =
* [BUGFIX] Fixed an extra trailing underscore issue when saving multiple lines with DNS Prefetch.
* [UPDATE] Cleaned up unused dependency vendor files.

= 1.7.1 - December 28 2017 =
* [NEW FEATURE] Added DNS Prefetch setting on the Optimize page.
* [NEW FEATURE] Added Combined File Max Size setting on the Tuning page.
* [IMPROVEMENT] Improved JS/CSS minify to achieve higher page scores.
* [IMPROVEMENT] Optimized JS/CSS files will not be served from private cache for OLS or with ESI off.
* [UPDATE] Fixed a potential warning for new installations on the Settings page.
* [UPDATE] Fixed an issue with guest users occasionally receiving PHP warnings.
* [BUGFIX] Fixed a bug with the Improve HTTPS Compatibility setting failing to save.
* Thanks to all of our users for your encouragement and support! Happy New Year!
* PS: Lookout 2018, we're back!

= 1.7 - December 22 2017 =
* [NEW FEATURE] Drop Query Strings setting in the Cache tab.
* [NEW FEATURE] Multiple CDN Mapping in the CDN tab.
* [IMPROVEMENT] Improve HTTP/HTTPS Compatibility setting in the Advanced tab.
* [IMPROVEMENT] Keep JS/CSS original position in HTML when excluded in setting.
* [IAPI] Reset client level credit after Image Optimization data is destroyed.
* [REFACTOR] Refactored build_input/textarea functions in admin_display class.
* [REFACTOR] Refactored CDN class.
* [GUI] Added a notice to Image Optimization and Crawler to warn when cache is disabled.
* [GUI] Improved image optimization indicator styles in Media Library List.

= 1.6.7 - December 15 2017 =
* [IAPI] Added ability to scan for new image thumbnail sizes and auto-resend image optimization requests.
* [IAPI] Added ability to destroy all optimization data.
* [IAPI] Updated IAPI to v1.6.7.
* [INTEGRATION] Fixed certain 3rd party plugins calling REST without user nonce causing logged in users to be served as guest.

= 1.6.6.1 - December 8 2017 =
* [IAPI] Limit first-time submission to one image group for test-run purposes.
* [BUGFIX] Fixed vary group generation issue associated with custom user role plugins.
* [BUGFIX] Fixed WooCommerce issue where logged-in users were erroneously purged when ESI is off.
* [BUGFIX] Fixed WooCommerce cache miss issue when ESI is off.

= 1.6.6 - December 6 2017 =
* [NEW FEATURE] Preserve EXIF in Media setting.
* [NEW FEATURE] Clear log button in Debug Log Viewer.
* [IAPI] Fixed notified images resetting to previous status when pulling.
* [IAPI] Fixed HTTPS compatibility for image optimization initialization.
* [IAPI] An error message is now displayed when image optimization request submission is bypassed due to a lack of credit.
* [IAPI] IAPI v1.6.6.
* [IMPROVEMENT] Support JS data-no-optimize attribute to bypass optimization.
* [GUI] Added image group wiki link.
* [INTEGRATION] Improved compatibility with Login With Ajax.
* [INTEGRATION] Added function_exists check for WooCommerce to avoid 500 errors.

= 1.6.5.1 - December 1 2017 =
* [HOTFIX] Fixed warning message on Edit .htaccess page.

= 1.6.5 - November 30 2017 =
* [IAPI] Manually pull image optimization action button.
* [IAPI] Automatic credit system for image optimization to bypass unfinished image optimization error.
* [IAPI] Notify failed images from LiteSpeed's Image Server.
* [IAPI] Reset/Clear failed images feature.
* [IAPI] Redesigned report page.
* [REFACTOR] Moved pull_img logic from admin_api to media.
* [BUGFIX] Fixed a compatibility issue for clients who have allow_url_open setting off.
* [BUGFIX] Fixed logged in users sometimes being served from guest cache.
* [UPDATE] Environment report is no longer saved to a file.
* [UPDATE] Removed crawler reset notification.
* [GUI] Added more details on image optimization.
* [GUI] Removed info page from admin menu.
* [GUI] Moved environment report from network level to single site level.
* [GUI] Crawler time added in a user friendly format.
* [INTEGRATION] Improved compatibility with FacetWP json call.

= 1.6.4 - November 22 2017 =
* [NEW FEATURE] Send env reports privately with a new built-in report number referral system.
* [IAPI] Increased request timeout to fix a cUrl 28 timeout issue.
* [BUGFIX] Fixed a TTL max value validation bug.
* [INTEGRATION] Improved Contact Form 7 REST call compatibility for logged in users.
* Thanks for all your ratings. That encouraged us to be more diligent. Happy Thanksgiving.

= 1.6.3 - November 17 2017 =
* [NEW FEATURE] Only async Google Fonts setting.
* [NEW FEATURE] Only create WebP images when optimizing setting.
* [NEW FEATURE] Batch switch images to original/optimized versions in Image Optimization.
* [NEW FEATURE] Browser Cache TTL setting.
* [NEW FEATURE] Cache WooCommerce Cart setting.
* [IMPROVEMENT] Moved optimized JS/CSS snippet in header html to after meta charset.
* [IMPROVEMENT] Added a constant for better JS/CSS optimization compatibility for different dir WordPress installation.
* [IAPI] Take over failed callback check instead of bypassing it.
* [IAPI] Image optimization requests are now limited to 500 images per request.
* [BUGFIX] Fixed a parsing failure bug not using attributes in html elements with dash.
* [BUGFIX] Fixed a bug causing non-script code to move to the top of a page when not using combination.
* [UPDATE] Added detailed logs for external link detection.
* [UPDATE] Added new lines in footer comment to avoid Firefox crash when enabled HTML minify.
* [API] `Purge private` / `Purge private all` / `Add private tag` functions.
* [GUI] Redesigned image optimization operation links in Media Lib list.
* [GUI] Tweaked wp-admin form save button position.
* [GUI] Added "learn more" link for image optimization.

= 1.6.2.1 - November 6 2017 =
* [INTEGRATION] Improved compatibility with old WooCommerce versions to avoid unknown 500 errors.
* [BUGFIX] Fixed WebP images sometimes being used in non-supported browsers.
* [BUGFIX] Kept query strings for HTTP/2 push to avoid re-fetching pushed sources.
* [BUGFIX] Excluded JS/CSS from HTTP/2 push when using CDN.
* [GUI] Fixed a typo in Media list.
* [GUI] Made more image optimization strings translatable.
* [GUI] Updated Tuning description to include API documentation.

= 1.6.2 - November 3 2017 =
* [NEW FEATURE] Do Not Cache Roles.
* [NEW FEATURE] Use WebP Images for supported browsers.
* [NEW FEATURE] Disable Optimization Poll ON/OFF Switch in Media tab.
* [NEW FEATURE] Revert image optimization per image in Media list.
* [NEW FEATURE] Disable/Enable image WebP per image in Media list.
* [IAPI] Limit optimized images fetching cron to a single process.
* [IAPI] Updated IAPI to v1.6.2.
* [IAPI] Fixed repeating image request issue by adding a failure status to local images.
* [REFACTOR] Refactored login vary logic.

= 1.6.1 - October 29 2017 =
* [IAPI] Updated LiteSpeed Image Optimization Server API to v1.6.1.

= 1.6 - October 27 2017 =
* [NEW FEATURE] Image Optimization.
* [NEW FEATURE] Role Excludes for Optimization.
* [NEW FEATURE] Combined CSS/JS Priority.
* [IMPROVEMENT] Bypass CDN for login/register page.
* [UPDATE] Expanded ExpiresByType rules to include new font types. ( Thanks to JMCA2 )
* [UPDATE] Removed duplicated type param in admin action link.
* [BUGFIX] Fixed CDN wrongly replacing img base64 and "fake" src in JS.
* [BUGFIX] Fixed image lazy load replacing base64 src.
* [BUGFIX] Fixed a typo in Optimize class exception.
* [GUI] New Tuning tab in admin settings panel.
* [REFACTOR] Simplified router by reducing actions and adding types.
* [REFACTOR] Renamed `run()` to `finalize()` in buffer process.

= 1.5 - October 17 2017 =
* [NEW FEATURE] Exclude JQuery (to fix inline JS error when using JS Combine).
* [NEW FEATURE] Load JQuery Remotely.
* [NEW FEATURE] JS Deferred Excludes.
* [NEW FEATURE] Lazy Load Images Excludes.
* [NEW FEATURE] Lazy Load Image Placeholder.
* [IMPROVEMENT] Improved Lazy Load size attribute for w3c validator.
* [UPDATE] Added basic caching info and LSCWP version to HTML comment.
* [UPDATE] Added debug log to HTML detection.
* [BUGFIX] Fixed potential font CORS issue when using CDN.
* [GUI] Added API docs to setting description.
* [REFACTOR] Relocated all classes under includes with backwards compatibility.
* [REFACTOR] Relocated admin templates.

= 1.4 - October 11 2017 =
* [NEW FEATURE] Lazy load images/iframes.
* [NEW FEATURE] Clean CSS/JS optimizer data functionality in DB Optimizer panel.
* [NEW FEATURE] Exclude certain URIs from optimizer.
* [IMPROVEMENT] Improved optimizer HTML check compatibility to avoid conflicts with ESI functions.
* [IMPROVEMENT] Added support for using ^ when matching the start of a path in matching settings.
* [IMPROVEMENT] Added wildcard support in CDN original URL.
* [IMPROVEMENT] Moved optimizer table initialization to admin setting panel with failure warning.
* [UPDATE] Added a one-time welcome banner.
* [UPDATE] Partly relocated class: 'api'.
* [API] Added API wrapper for removing wrapped HTML output.
* [INTEGRATION] Fixed WooCommerce conflict with optimizer.
* [INTEGRATION] Private cache support for WooCommerce v3.2.0+.
* [GUI] Added No Optimization menu to frontend.

= 1.3.1.1 - October 6 2017 =
* [BUGFIX] Improved optimizer table creating process in certain database charset to avoid css/js minify/combination failure.

= 1.3.1 - October 5 2017 =
* [NEW FEATURE] Remove WP Emoji Option.
* [IMPROVEMENT] Separated optimizer data from wp_options to improve compatibility with backup plugins.
* [IMPROVEMENT] Enhanced crawler cron hook to prevent de-scheduling in some cases.
* [IMPROVEMENT] Enhanced Remove Query Strings to also remove Emoji query strings.
* [IMPROVEMENT] Enhanced HTML detection when extra spaces are present at the beginning.
* [UPDATE] Added private cache support for OLS.
* [BUGFIX] Self-redirects are no longer cached.
* [BUGFIX] Fixed css async lib warning when loading in HTTP/2 push.

= 1.3 - October 1 2017 =
* [NEW FEATURE] Added Browser Cache support.
* [NEW FEATURE] Added Remove Query Strings support.
* [NEW FEATURE] Added Remove Google Fonts support.
* [NEW FEATURE] Added Load CSS Asynchronously support.
* [NEW FEATURE] Added Load JS Deferred support.
* [NEW FEATURE] Added Critical CSS Rules support.
* [NEW FEATURE] Added Private Cached URIs support.
* [NEW FEATURE] Added Do Not Cache Query Strings support.
* [NEW FEATURE] Added frontend adminbar shortcuts ( Purge this page/Do Not Cache/Private cache ).
* [IMPROVEMENT] Do Not Cache URIs now supports full URLs.
* [IMPROVEMENT] Improved performance of Do Not Cache settings.
* [IMPROVEMENT] Encrypted vary cookie.
* [IMPROVEMENT] Enhanced HTML optimizer.
* [IMPROVEMENT] Limited combined file size to avoid heavy memory usage.
* [IMPROVEMENT] CDN supports custom upload folder for media files.
* [API] Added purge single post API.
* [API] Added version compare API.
* [API] Enhanced ESI API for third party plugins.
* [INTEGRATION] Compatibility with NextGEN Gallery v2.2.14.
* [INTEGRATION] Compatibility with Caldera Forms v1.5.6.2+.
* [BUGFIX] Fixed CDN&Minify compatibility with css url links.
* [BUGFIX] Fixed .htaccess being regenerated despite there being no changes.
* [BUGFIX] Fixed CDN path bug for subfolder WP instance.
* [BUGFIX] Fixed crawler path bug for subfolder WP instance with different site url and home url.
* [BUGFIX] Fixed a potential Optimizer generating redundant duplicated JS in HTML bug.
* [GUI] Added a more easily accessed submit button in admin settings.
* [GUI] Admin settings page cosmetic changes.
* [GUI] Reorganized GUI css/img folder structure.
* [REFACTOR] Refactored configuration init.
* [REFACTOR] Refactored admin setting save.
* [REFACTOR] Refactored .htaccess operator and rewrite rule generation.

= 1.2.3.1 - September 20 2017 =
* [UPDATE] Improved PHP5.3 compatibility.

= 1.2.3 - September 20 2017 =
* [NEW FEATURE] Added CDN support.
* [IMPROVEMENT] Improved compatibility when upgrading by fixing a possible fatal error.
* [IMPROVEMENT] Added support for custom wp-content paths.
* [BUGFIX] Fixed non-primary network blogs not being able to minify.
* [BUGFIX] Fixed HTML Minify preventing Facebook from being able to parse og tags.
* [BUGFIX] Preview page is no longer cacheable.
* [BUGFIX] Corrected log and crawler timezone to match set WP timezone.
* [GUI] Revamp of plugin GUI.

= 1.2.2 - September 15 2017 =
* [NEW FEATURE] Added CSS/JS minification.
* [NEW FEATURE] Added CSS/JS combining.
* [NEW FEATURE] Added CSS/JS HTTP/2 server push.
* [NEW FEATURE] Added HTML minification.
* [NEW FEATURE] Added CSS/JS cache purge button in management.
* [UPDATE] Improved debug log formatting.
* [UPDATE] Fixed some description typos.

= 1.2.1 - September 7 2017 =
* [NEW FEATURE] Added Database Optimizer.
* [NEW FEATURE] Added Tab switch shortcut.
* [IMPROVEMENT] Added cache disabled check for management pages.
* [IMPROVEMENT] Renamed .htaccess backup for security.
* [BUGFIX] Fixed woocommerce default ESI setting bug.
* [REFACTOR] Show ESI page for OLS with notice.
* [REFACTOR] Management Purge GUI updated.

= 1.2.0.1 - September 1 2017 =
* [BUGFIX] Fixed a naming bug for network constant ON2.

= 1.2.0 - September 1 2017 =
* [NEW FEATURE] Added ESI support.
* [NEW FEATURE] Added a private cache TTL setting.
* [NEW FEATURE] Debug level can now be set to either 'Basic' or 'Advanced'.
* [REFACTOR] Renamed const 'NOTSET' to 'ON2' in class config.

= 1.1.6 - August 23 2017 =
* [NEW FEATURE] Added option to privately cache logged-in users.
* [NEW FEATURE] Added option to privately cache commenters.
* [NEW FEATURE] Added option to cache requests made through WordPress REST API.
* [BUGFIX] Fixed network 3rd-party full-page cache detection bug.
* [GUI] New Cache and Purge menus in Settings.

= 1.1.5.1 - August 16 2017 =
* [IMPROVEMENT] Improved compatibility of frontend&backend .htaccess path detection when site url is different than installation path.
* [UPDATE] Removed unused format string from header tags.
* [BUGFIX] 'showheader' Admin Query String now works.
* [REFACTOR] Cache tags will no longer output if not needed.

= 1.1.5 - August 10 2017 =
* [NEW FEATURE] Scheduled Purge URLs feature.
* [NEW FEATURE] Added buffer callback to improve compatibility with some plugins that force buffer cleaning.
* [NEW FEATURE] Hide purge_all admin bar quick link if cache is disabled.
* [NEW FEATURE] Required htaccess rules are now displayed when .htaccess is not writable.
* [NEW FEATURE] Debug log features: filter log support; heartbeat control; log file size limit; log viewer.
* [IMPROVEMENT] Separate crawler access log.
* [IMPROVEMENT] Lazy PURGE requests made after output are now queued and working.
* [IMPROVEMENT] Improved readme.txt with keywords relating to our compatible plugins list.
* [UPDATE] 'ExpiresDefault' conflict msg is now closeable and only appears in the .htaccess edit screen.
* [UPDATE] Improved debug log formatting.
* [INTEGRATION] Compatibility with MainWP plugin.
* [BUGFIX] Fixed WooCommerce order not purging product stock quantity.
* [BUGFIX] Fixed WooCommerce scheduled sale price not updating issue.
* [REFACTOR] Combined cache_enable functions into a single function.

= 1.1.4 - August 1 2017 =
* [IMPROVEMENT] Unexpected rewrite rules will now show an error message.
* [IMPROVEMENT] Added Cache Tag Prefix setting info in the Env Report and Info page.
* [IMPROVEMENT] LSCWP setting link is now displayed in the plugin list.
* [IMPROVEMENT] Improved performance when setting cache control.
* [UPDATE] Added backward compatibility for v1.1.2.2 API calls. (used by 3rd-party plugins)
* [BUGFIX] Fixed WPCLI purge tag/category never succeeding.

= 1.1.3 - July 31 2017 =
* [NEW FEATURE] New LiteSpeed_Cache_API class and documentation for 3rd party integration.
* [NEW FEATURE] New API function litespeed_purge_single_post($post_id).
* [NEW FEATURE] PHP CLI support for crawler.
* [IMPROVEMENT] Set 'no cache' for same location 301 redirects.
* [IMPROVEMENT] Improved LiteSpeed footer comment compatibility.
* [UPDATE] Removed 'cache tag prefix' setting.
* [BUGFIX] Fixed a bug involving CLI purge all.
* [BUGFIX] Crawler now honors X-LiteSpeed-Cache-Control for the 'no-cache' header.
* [BUGFIX] Cache/rewrite rules are now cleared when the plugin is uninstalled.
* [BUGFIX] Prevent incorrect removal of the advanced-cache.php on deactivation if it was added by another plugin.
* [BUGFIX] Fixed subfolder WP installations being unable to Purge By URL using a full URL path.
* [REFACTOR] Reorganized existing code for an upcoming ESI release.

= 1.1.2.2 - July 13 2017 =
* [BUGFIX] Fixed blank page in Hebrew language post editor by removing unused font-awesome and jquery-ui css libraries.

= 1.1.2.1 - July 5 2017 =
* [UPDATE] Improved compatibility with WooCommerce v3.1.0.

= 1.1.2 - June 20 2017 =
* [BUGFIX] Fixed missing form close tag.
* [UPDATE] Added a wiki link for enabling the crawler.
* [UPDATE] Improved Site IP description.
* [UPDATE] Added an introduction to the crawler on the Information page.
* [REFACTOR] Added more detailed error messages for Site IP and Custom Sitemap settings.

= 1.1.1.1 - June 15 2017 =
* [BUGFIX] Hotfix for insufficient validation of site IP value in crawler settings.

= 1.1.1 - June 15 2017 =
* [NEW] As of LiteSpeed Web Server v.5.1.16, the crawler can now be enabled/disabled at the server level.
* [NEW] Added the ability to provide a custom sitemap for crawling.
* [NEW] Added ability to use site IP address directly in crawler settings.
* [NEW] Crawler performance improved with the use of new custom user agent 'lsrunner'.
* [NEW] "Purge By URLs" now supports full URL paths.
* [NEW] Added thirdparty WP-PostRatings compatibility.
* [BUGFIX] Cache is now cleared when changing post status from published to draft.
* [BUGFIX] WHM activation message no longer continues to reappear after being dismissed.
* [COSMETIC] Display recommended values for settings.

= 1.1.0.1 - June 8 2017 =
* [UPDATE] Improved default crawler interval setting.
* [UPDATE] Tested up to WP 4.8.
* [BUGFIX] Fixed compatibility with plugins that output json data.
* [BUGFIX] Fixed tab switching bug.
* [BUGFIX] Removed occasional duplicated messages on save.
* [COSMETIC] Improved crawler tooltips and descriptions.

= 1.1.0 - June 6 2017 =
* [NEW] Added a crawler - this includes configuration options and a dedicated admin page. Uses wp-cron
* [NEW] Added integration for WPLister
* [NEW] Added integration for Avada
* [UPDATE] General structure of the plugin revamped
* [UPDATE] Improved look of admin pages
* [BUGFIX] Fix any/all wp-content path retrieval issues
* [BUGFIX] Use realpath to clear symbolic link when determining .htaccess paths
* [BUGFIX] Fixed a bug where upgrading multiple plugins did not trigger a purge all
* [BUGFIX] Fixed a bug where cli import_options did not actually update the options.
* [REFACTOR] Most of the files in the code were split into more, smaller files

= 1.0.15 - April 20 2017 =
* [NEW] Added Purge Pages and Purge Recent Posts Widget pages options.
* [NEW] Added wp-cli command for setting and getting options.
* [NEW] Added an import/export options cli command.
* [NEW] Added wpForo integration.
* [NEW] Added Theme My Login integration.
* [UPDATE] Purge adjacent posts when publish a new post.
* [UPDATE] Change environment report file to .php and increase security.
* [UPDATE] Added new purgeby option to wp-cli.
* [UPDATE] Remove nag for multiple sites.
* [UPDATE] Only inject LiteSpeed javascripts in LiteSpeed pages.
* [REFACTOR] Properly check for zero in ttl settings.
* [BUGFIX] Fixed the 404 issue that can be caused by some certain plugins when save the settings.
* [BUGFIX] Fixed mu-plugin compatibility.
* [BUGFIX] Fixed problem with creating zip backup.
* [BUGFIX] Fixed conflict with jetpack.

= 1.0.14.1 - January 31 2017 =
* [UPDATE] Removed Freemius integration due to feedback.

= 1.0.14 - January 30 2017 =
* [NEW] Added error page caching. Currently supports 403, 404, 500s.
* [NEW] Added a purge errors action.
* [NEW] Added wp-cli integration.
* [UPDATE] Added support for multiple varies.
* [UPDATE] Reorganize the admin interface to be less cluttered.
* [UPDATE] Add support for LiteSpeed Web ADC.
* [UPDATE] Add Freemius integration.
* [REFACTOR] Made some changes so that the rewrite rules are a little more consistent.
* [BUGFIX] Check member type before adding purge all button.
* [BUGFIX] Fixed a bug where activating/deactivating the plugin quickly caused the WP_CACHE error to show up.
* [BUGFIX] Handle more characters in the rewrite parser.
* [BUGFIX] Correctly purge posts when they are made public/private.

= 1.0.13.1 - November 30 2016 =
* [BUGFIX] Fixed a bug where a global was being used without checking existence first, causing unnecessary log entries.

= 1.0.13 - November 28 2016 =
* [NEW] Add an Empty Entire Cache button.
* [NEW] Add stale logic to certain purge actions.
* [NEW] Add option to use primary site settings for all subsites in a multisite environment.
* [NEW] Add support for Aelia CurrencySwitcher
* [UPDATE] Add logic to allow third party vary headers
* [UPDATE] Handle password protected pages differently.
* [BUGFIX] Fixed bug caused by saving settings.
* [BUGFIX] FIxed bug when searching for advanced-cache.php

= 1.0.12 - November 14 2016 =
* [NEW] Added logic to generate environment reports.
* [NEW] Created a notice that will be triggered when the WHM Plugin installs this plugin. This will notify users when the plugin is installed by their server admin.
* [NEW] Added the option to cache 404 pages via 404 Page TTL setting.
* [NEW] Reworked log system to be based on selection of yes or no instead of log level.
* [NEW] Added support for Autoptimize.
* [NEW] Added Better WP Minify integration.
* [UPDATE] On plugin disable, clear .htaccess.
* [UPDATE] Introduced URL tag. Changed Purge by URL to use this new tag.
* [BUGFIX] Fixed a bug triggered when .htaccess files were empty.
* [BUGFIX] Correctly determine when to clear files in multisite environments (wp-config, advanced-cache, etc.).
* [BUGFIX] When disabling the cache, settings changed in the same save will now be saved.
* [BUGFIX] Various bugs from setting changes and multisite fixed.
* [BUGFIX] Fixed two bugs with the .htaccess path search.
* [BUGFIX] Do not alter $_GET in add_quick_purge. This may cause issues for functionality occurring later in the same request.
* [BUGFIX] Right to left radio settings were incorrectly displayed. The radio buttons themselves were the opposite direction of the associated text.

= 1.0.11 - October 11 2016 =
* [NEW] The plugin will now set cachelookup public on.
* [NEW] New option - check advanced-cache.php. This enables users to have two caching plugins enabled at the same time as long as the other plugin is not used for caching purposes. For example, using another cache plugin for css/js minification.
* [UPDATE] Rules added by the plugin will now be inserted into an LSCACHE START/END PLUGIN comment block.
* [UPDATE] For woocommerce pages, if a user visits a non-cached page with a non-empty cart, do not cache the page.
* [UPDATE] If woocommerce needs to display any notice, do not cache the page.
* [UPDATE] Single site settings are now in both the litespeed cache submenu and the settings submenu.
* [BUGFIX] Multisite network options were not updated on upgrade. This is now corrected.

= 1.0.10 - September 16 2016 =
* Added a check for LSCACHE_NO_CACHE definition.
* Added a Purge All button to the admin bar.
* Added logic to purge the cache when upgrading a plugin or theme. By default this is enabled on single site installations and disabled on multisite installations.
* Added support for WooCommerce Versions < 2.5.0.
* Added .htaccess backup rotation. Every 10 backups, an .htaccess archive will be created. If one already exists, it will be overwritten.
* Moved some settings to the new Specific Pages tab to reduce clutter in the General tab.
* The .htaccess editor is now disabled if DISALLOW_FILE_EDIT is set.
* After saving the Cache Tag Prefix setting, all cache will be purged.

= 1.0.9.1 - August 26 2016 =
* Fixed a bug where an error displayed on the configuration screen despite not being an error.
* Change logic to check .htaccess file less often.

= 1.0.9 - August 25 2016 =
* [NEW] Added functionality to cache and purge feeds.
* [NEW] Added cache tag prefix setting to avoid conflicts when using LiteSpeed Cache for WordPress with LiteSpeed Cache for XenForo and LiteMage.
* [NEW] Added hooks to allow third party plugins to create config options.
* [NEW] Added WooCommerce config options.
* The plugin now also checks for wp-config in the parent directory.
* Improved WooCommerce support.
* Changed .htaccess backup process. Will create a .htaccess_lscachebak_orig file if one does not exist. If it does already exist, creates a backup using the date and timestamp.
* Fixed a bug where get_home_path() sometimes returned an invalid path.
* Fixed a bug where if the .htaccess was removed from a WordPress subdirectory, it was not handled properly.

= 1.0.8.1 - July 28 2016 =
* Fixed a bug where check cacheable was sometimes not hit.
* Fixed a bug where extra slashes in clear rules were stripped.

= 1.0.8 - July 25 2016 =
* Added purge all on update check to purge by post id logic.
* Added uninstall logic.
* Added configuration for caching favicons.
* Added configuration for caching the login page.
* Added configuration for caching php resources (scripts/stylesheets accessed as .php).
* Set login cookie if user is logged in and it isn’t set.
* Improved NextGenGallery support to include new actions.
* Now displays a notice on the network admin if WP_CACHE is not set.
* Fixed a few php syntax issues.
* Fixed a bug where purge by pid didn’t work.
* Fixed a bug where the Network Admin settings were shown when the plugin was active in a subsite, but not network active.
* Fixed a bug where the Advanced Cache check would sometimes not work.

= 1.0.7.1 - May 26 2016 =
* Fixed a bug where enabling purge all in the auto purge on update settings page did not purge the correct blogs.
* Fixed a bug reported by user wpc on our forums where enabling purge all in the auto purge on update settings page caused nothing to be cached.

= 1.0.7 - May 24 2016 =
* Added login cookie configuration to the Advanced Settings page.
* Added support for WPTouch plugin.
* Added support for WP-Polls plugin.
* Added Like Dislike Counter third party integration.
* Added support for Admin IP Query String Actions.
* Added confirmation pop up for purge all.
* Refactor: LiteSpeed_Cache_Admin is now split into LiteSpeed_Cache_Admin, LiteSpeed_Cache_Admin_Display, and LiteSpeed_Cache_Admin_Rules
* Refactor: Rename functions to accurately represent their functionality
* Fixed a bug that sometimes caused a “no valid header” error message.

= 1.0.6 - May 5 2016 =
* Fixed a bug reported by Knut Sparhell that prevented dashboard widgets from being opened or closed.
* Fixed a bug reported by Knut Sparhell that caused problems with https support for admin pages.

= 1.0.5 - April 26 2016 =
* [BETA] Added NextGen Gallery plugin support.
* Added third party plugin integration.
* Improved cache tag system.
* Improved formatting for admin settings pages.
* Converted bbPress to use the new third party integration system.
* Converted WooCommerce to use the new third party integration system.
* If .htaccess is not writable, disable separate mobile view and do not cache cookies/user agents.
* Cache is now automatically purged when disabled.
* Fixed a bug where .htaccess was not checked properly when adding common rules.
* Fixed a bug where multisite setups would be completely purged when one site requested a purge all.

= 1.0.4 - April 7 2016 =
* Added logic to cache commenters.
* Added htaccess backup to the install script.
* Added an htaccess editor in the wp-admin dashboard.
* Added do not cache user agents.
* Added do not cache cookies.
* Created new LiteSpeed Cache Settings submenu entries.
* Implemented Separate Mobile View.
* Modified WP_CACHE not defined message to only show up for users who can manage options.
* Moved enabled all/disable all from network management to network settings.
* Fixed a bug where WP_CACHE was not defined on activation if it was commented out.

= 1.0.3 - March 23 2016 =
* Added a Purge Front Page button to the LiteSpeed Cache Management page.
* Added a Default Front Page TTL option to the general settings.
* Added ability to define web application specific cookie names through rewrite rules to handle logged-in cookie conflicts when using multiple web applications. <strong>[Requires LSWS 5.0.15+]</strong>
* Improved WooCommerce handling.
* Fixed a bug where activating lscwp sets the “enable cache” radio button to enabled, but the cache was not enabled by default.
* Refactored code to make it cleaner.
* Updated readme.txt.

= 1.0.2 - March 11 2016 =
* Added a "Use Network Admin Setting" option for "Enable LiteSpeed Cache". For single sites, this choice will default to enabled.
* Added enable/disable all buttons for network admin. This controls the setting of all managed sites with "Use Network Admin Setting" selected for "Enable LiteSpeed Cache".
* Exclude by Category/Tag are now text areas to avoid slow load times on the LiteSpeed Cache Settings page for sites with a large number of categories/tags.
* Added a new line to advanced-cache.php to allow identification as a LiteSpeed Cache file.
* Activation/Deactivation are now better handled in multi-site environments.
* Enable LiteSpeed Cache setting is now a radio button selection instead of a single checkbox.
* Can now add '$' to the end of a URL in Exclude URI to perform an exact match.
* The _lscache_vary cookie will now be deleted upon logout.
* Fixed a bug in multi-site setups that would cause a "function already defined" error.

= 1.0.1 - March 8 2016 =
* Added Do Not Cache by URI, by Category, and by Tag.  URI is a prefix/string equals match.
* Added a help tab for plugin compatibilities.
* Created logic for other plugins to purge a single post if updated.
* Fixed a bug where woocommerce pages that display the cart were cached.
* Fixed a bug where admin menus in multi-site setups were not correctly displayed.
* Fixed a bug where logged in users were served public cached pages.
* Fixed a compatibility bug with bbPress.  If there is a new forum/topic/reply, the parent pages will now be purged as well.
* Fixed a bug that didn't allow cron job to update scheduled posts.

= 1.0.0 - January 20 2016 =
* Initial Release.
PK_�\B�2  	lscwp_md5nu�[���7084f966497cbceaa540cdf1b450b554PKT^�\:��k6k6+translations/litespeed-cache-es_ES.l10n.phpnu�[���PKT^�\(�6translations/.ls_translation_check_de_DEnu�[���PKT^�\(7translations/.ls_translation_check_es_ESnu�[���PKT^�\(v7translations/.ls_translation_check_id_IDnu�[���PKT^�\����ΊΊ+�7translations/litespeed-cache-en_AU.l10n.phpnu�[���PKU^�\JM�I��+��translations/litespeed-cache-fr_FR.l10n.phpnu�[���PKW^�\�M��`�`%j�translations/litespeed-cache-id_ID.ponu�[���PKW^�\���7����f	translations/ru_RU.zipnu�[���PKW^�\��n5�5�+>�translations/litespeed-cache-ru_RU.l10n.phpnu�[���PKX^�\�^}C�����Ztranslations/en_AU.zipnu�[���PKX^�\�'�+�+�%��translations/litespeed-cache-en_AU.monu�[���PKY^�\z�WՈՈ�translations/es_ES.zipnu�[���PKY^�\F;l�>�>%:Atranslations/litespeed-cache-en_GB.ponu�[���PKZ^�\�E��<p<p%L�translations/litespeed-cache-id_ID.monu�[���PK[^�\\�y�nini��translations/id_ID.zipnu�[���PK\^�\J
��J�J�Ztranslations/en_GB.zipnu�[���PK\^�\I�P(�(�%��translations/litespeed-cache-pt_BR.monu�[���PK]^�\������%	9translations/litespeed-cache-pl_PL.ponu�[���PK]^�\(_�"translations/.ls_translation_check_pt_BRnu�[���PK]^�\(��"translations/.ls_translation_check_ru_RUnu�[���PK]^�\T|?���"translations/pl_PL.zipnu�[���PK`^�\m��N�N�%5^%translations/litespeed-cache-es_ES.ponu�[���PK`^�\�"������%��(translations/litespeed-cache-es_ES.monu�[���PKa^�\�%�B"�"�%�u+translations/litespeed-cache-ru_RU.ponu�[���PKa^�\1��..%d]/translations/litespeed-cache-fr_FR.monu�[���PKa^�\>�?����%׋1translations/litespeed-cache-en_GB.monu�[���PKb^�\(�3translations/.ls_translation_check_pl_PLnu�[���PKb^�\&&3translations/.ls_translation_check_arynu�[���PKb^�\]��^G^G+|3translations/litespeed-cache-en_GB.l10n.phpnu�[���PKb^�\+���zz+5^4translations/litespeed-cache-id_ID.l10n.phpnu�[���PKb^�\5<���%
s6translations/litespeed-cache-ru_RU.monu�[���PKc^�\�n�sQ�Q�\|9translations/pt_BR.zipnu�[���PKc^�\(�<translations/.ls_translation_check_en_AUnu�[���PKc^�\`V�6�6+K<translations/litespeed-cache-pt_BR.l10n.phpnu�[���PKc^�\%l8>translations/.ls_translation_check_arnu�[���PKc^�\�S����%�8>translations/litespeed-cache-pt_BR.ponu�[���PKd^�\�ꔂ����%�Atranslations/litespeed-cache-pl_PL.monu�[���PKe^�\(QDtranslations/.ls_translation_check_fr_FRnu�[���PKe^�\([QDtranslations/.ls_translation_check_en_GBnu�[���PKe^�\'�o��6�6+�QDtranslations/litespeed-cache-pl_PL.l10n.phpnu�[���PKe^�\��%�"�"�Ftranslations/fr_FR.zipnu�[���PKf^�\R��܏�%�Htranslations/litespeed-cache-fr_FR.ponu�[���PKf^�\�!i<ܟܟ%̱Ktranslations/litespeed-cache-en_AU.ponu�[���PKf^�\(�QNtranslations/.ls_translation_check_es_CRnu�[���PKf^�\�]^=
=
'URNlitespeed-cache/tpl/esi_widget_edit.phpnu�[���PKg^�\{��J0�\Nlitespeed-cache/tpl/inc/check_cache_disabled.phpnu�[���PKg^�\�Zqϧ�.LeNlitespeed-cache/tpl/inc/show_rule_conflict.phpnu�[���PKh^�\�?R}RR#QiNlitespeed-cache/tpl/inc/metabox.phpnu�[���PKh^�\�1�	(�oNlitespeed-cache/tpl/inc/admin_footer.phpnu�[���PKi^�\���''.NwNlitespeed-cache/tpl/inc/modal.deactivation.phpnu�[���PKi^�\[�p�(ӎNlitespeed-cache/tpl/inc/in_upgrading.phpnu�[���PKi^�\]HG0tt8;�Nlitespeed-cache/tpl/inc/check_if_network_disable_all.phpnu�[���PKj^�\պ5��-�Nlitespeed-cache/tpl/inc/show_error_cookie.phpnu�[���PKj^�\�D	6��2
�Nlitespeed-cache/tpl/inc/show_display_installed.phpnu�[���PKk^�\�[����,�Nlitespeed-cache/tpl/db_optm/settings.tpl.phpnu�[���PKk^�\�@)�) ) *h�Nlitespeed-cache/tpl/db_optm/manage.tpl.phpnu�[���PKl^�\2t�G$$)��Nlitespeed-cache/tpl/db_optm/entry.tpl.phpnu�[���PKl^�\�@��  8h�Nlitespeed-cache/tpl/img_optm/settings.media_webp.tpl.phpnu�[���PKm^�\g�m@@-��Nlitespeed-cache/tpl/img_optm/settings.tpl.phpnu�[���PKm^�\�q�K�K,��Nlitespeed-cache/tpl/img_optm/summary.tpl.phpnu�[���PKn^�\������5�2Olitespeed-cache/tpl/img_optm/network_settings.tpl.phpnu�[���PKn^�\���*6Olitespeed-cache/tpl/img_optm/entry.tpl.phpnu�[���PKo^�\i��zz'�;Olitespeed-cache/tpl/crawler/map.tpl.phpnu�[���PKo^�\��Z�-TLOlitespeed-cache/tpl/crawler/blacklist.tpl.phpnu�[���PKp^�\�&�dd,�XOlitespeed-cache/tpl/crawler/settings.tpl.phpnu�[���PKp^�\>��IHIH+�qOlitespeed-cache/tpl/crawler/summary.tpl.phpnu�[���PKq^�\��^�{{)$�Olitespeed-cache/tpl/crawler/entry.tpl.phpnu�[���PKr^�\�������Olitespeed-cache/tpl/esi.tpl.phpnu�[���PKr^�\�B���,�Olitespeed-cache/tpl/optimax/settings.tpl.phpnu�[���PKr^�\&jޒ+	�Olitespeed-cache/tpl/optimax/summary.tpl.phpnu�[���PKs^�\��F��){�Olitespeed-cache/tpl/optimax/entry.tpl.phpnu�[���PKs^�\=�����)��Olitespeed-cache/tpl/presets/entry.tpl.phpnu�[���PKs^�\J�c�p"p",��Olitespeed-cache/tpl/presets/standard.tpl.phpnu�[���PKt^�\!0쟉�-��Olitespeed-cache/tpl/toolbox/beta_test.tpl.phpnu�[���PKt^�\�i����2�Plitespeed-cache/tpl/toolbox/settings-debug.tpl.phpnu�[���PKu^�\!�,�1�Plitespeed-cache/tpl/toolbox/edit_htaccess.tpl.phpnu�[���PKu^�\~i�t.C-Plitespeed-cache/tpl/toolbox/log_viewer.tpl.phpnu�[���PKu^�\dr�Ϳ�)�8Plitespeed-cache/tpl/toolbox/entry.tpl.phpnu�[���PKu^�\ߛ���
�
1�?Plitespeed-cache/tpl/toolbox/import_export.tpl.phpnu�[���PKu^�\	�8ff*�JPlitespeed-cache/tpl/toolbox/report.tpl.phpnu�[���PKv^�\��&qZZ-�dPlitespeed-cache/tpl/toolbox/heartbeat.tpl.phpnu�[���PKv^�\�2���.�.)QvPlitespeed-cache/tpl/toolbox/purge.tpl.phpnu�[���PKw^�\D���"u�Plitespeed-cache/tpl/cdn/cf.tpl.phpnu�[���PKw^�\BZE��"�""ܿPlitespeed-cache/tpl/cdn/qc.tpl.phpnu�[���PKx^�\h3���%��Plitespeed-cache/tpl/cdn/entry.tpl.phpnu�[���PKx^�\�'�''%�Plitespeed-cache/tpl/cdn/other.tpl.phpnu�[���PKx^�\zd��=�Qlitespeed-cache/tpl/general/settings_inc.auto_upgrade.tpl.phpnu�[���PKx^�\�.����6�Qlitespeed-cache/tpl/general/settings_inc.guest.tpl.phpnu�[���PKy^�\��	���,�Qlitespeed-cache/tpl/general/settings.tpl.phpnu�[���PKz^�\[U����4",Qlitespeed-cache/tpl/general/network_settings.tpl.phpnu�[���PKz^�\��+��)A1Qlitespeed-cache/tpl/general/entry.tpl.phpnu�[���PKz^�\w&�^0^0*�6Qlitespeed-cache/tpl/general/online.tpl.phpnu�[���PK{^�\�}B��9KgQlitespeed-cache/tpl/page_optm/settings_tuning_css.tpl.phpnu�[���PK{^�\C��n4n44}�Qlitespeed-cache/tpl/page_optm/settings_media.tpl.phpnu�[���PK|^�\��q��
�
1O�Qlitespeed-cache/tpl/page_optm/settings_js.tpl.phpnu�[���PK|^�\eL��//5O�Qlitespeed-cache/tpl/page_optm/settings_tuning.tpl.phpnu�[���PK}^�\>!Ց�2��Qlitespeed-cache/tpl/page_optm/settings_vpi.tpl.phpnu�[���PK}^�\\�M||8�Qlitespeed-cache/tpl/page_optm/settings_media_exc.tpl.phpnu�[���PK}^�\�/Tܹ�;�Rlitespeed-cache/tpl/page_optm/settings_localization.tpl.phpnu�[���PK�^�\+7�Y>>2�Rlitespeed-cache/tpl/page_optm/settings_css.tpl.phpnu�[���PK�^�\a��GG3�YRlitespeed-cache/tpl/page_optm/settings_html.tpl.phpnu�[���PK�^�\B=b���+isRlitespeed-cache/tpl/page_optm/entry.tpl.phpnu�[���PK�^�\��<�<�*�{Rlitespeed-cache/tpl/dash/dashboard.tpl.phpnu�[���PK�^�\L
Gz��&K+Slitespeed-cache/tpl/dash/entry.tpl.phpnu�[���PK�^�\؋_d��-e/Slitespeed-cache/tpl/dash/network_dash.tpl.phpnu�[���PK�^�\O*ރ""9dBSlitespeed-cache/tpl/cache/network_settings-object.tpl.phpnu�[���PK�^�\P�c�GG8�CSlitespeed-cache/tpl/cache/network_settings-purge.tpl.phpnu�[���PK�^�\Q���s
s
.�FSlitespeed-cache/tpl/cache/settings-ttl.tpl.phpnu�[���PK�^�\34�33.oTSlitespeed-cache/tpl/cache/settings-esi.tpl.phpnu�[���PK�^�\�q :lSlitespeed-cache/tpl/cache/network_settings-browser.tpl.phpnu�[���PK�^�\g|���2mSlitespeed-cache/tpl/cache/settings-browser.tpl.phpnu�[���PK�^�\���8�nSlitespeed-cache/tpl/cache/network_settings-cache.tpl.phpnu�[���PK�^�\�?&]�"�"5&tSlitespeed-cache/tpl/cache/settings_inc.object.tpl.phpnu�[���PK�^�\�Sq+	+	6x�Slitespeed-cache/tpl/cache/settings_inc.browser.tpl.phpnu�[���PK�^�\��J��;	�Slitespeed-cache/tpl/cache/network_settings-excludes.tpl.phpnu�[���PK�^�\}�]@.�Slitespeed-cache/tpl/cache/settings_inc.exclude_useragent.tpl.phpnu�[���PK�^�\��\��3��Slitespeed-cache/tpl/cache/more_settings_tip.tpl.phpnu�[���PK�^�\�IА�0��Slitespeed-cache/tpl/cache/settings-cache.tpl.phpnu�[���PK�^�\y�U??;��Slitespeed-cache/tpl/cache/network_settings-advanced.tpl.phpnu�[���PK�^�\c�#"��1S�Slitespeed-cache/tpl/cache/settings-object.tpl.phpnu�[���PK�^�\��e}}?��Slitespeed-cache/tpl/cache/settings_inc.purge_on_upgrade.tpl.phpnu�[���PK�^�\��Avv0q�Slitespeed-cache/tpl/cache/settings-purge.tpl.phpnu�[���PK�^�\m��5
5
3G�Slitespeed-cache/tpl/cache/settings-advanced.tpl.phpnu�[���PK�^�\Ĕ��
�
;��Slitespeed-cache/tpl/cache/settings_inc.cache_mobile.tpl.phpnu�[���PK�^�\�	0PP'3�Slitespeed-cache/tpl/cache/entry.tpl.phpnu�[���PK�^�\�WBW\\>�Tlitespeed-cache/tpl/cache/settings_inc.cache_dropquery.tpl.phpnu�[���PK�^�\vMJ7"";�Tlitespeed-cache/tpl/cache/settings_inc.login_cookie.tpl.phpnu�[���PK�^�\.�8;>1Tlitespeed-cache/tpl/cache/settings_inc.exclude_cookies.tpl.phpnu�[���PK�^�\ֶ*�333�Tlitespeed-cache/tpl/cache/settings-excludes.tpl.phpnu�[���PK�^�\v�Ƒ��-<1Tlitespeed-cache/tpl/banner/cloud_news.tpl.phpnu�[���PK�^�\�th}ii#:Tlitespeed-cache/tpl/banner/ajax.phpnu�[���PK�^�\S�Xbb$�<Tlitespeed-cache/tpl/banner/slack.phpnu�[���PK�^�\�څ�;;*�ETlitespeed-cache/tpl/banner/new_version.phpnu�[���PK�^�\U+���."UTlitespeed-cache/tpl/banner/cloud_promo.tpl.phpnu�[���PK�^�\
���$TaTlitespeed-cache/tpl/banner/score.phpnu�[���PK�^�\��\002s~Tlitespeed-cache/tpl/banner/new_version_dev.tpl.phpnu�[���PK�^�\�t����1�Tlitespeed-cache/thirdparty/wp-postratings.cls.phpnu�[���PK�^�\�����2�Tlitespeed-cache/thirdparty/woocommerce.tab.tpl.phpnu�[���PK�^�\�**�
�
92�Tlitespeed-cache/thirdparty/aelia-currencyswitcher.cls.phpnu�[���PK�^�\��Oo��:H�Tlitespeed-cache/thirdparty/wc-pdf-product-vouchers.cls.phpnu�[���PK�^�\(�q''+��Tlitespeed-cache/thirdparty/wp-polls.cls.phpnu�[���PK�^�\��p;��6�Tlitespeed-cache/thirdparty/woocommerce.content.tpl.phpnu�[���PK�^�\��j��o�o.�Tlitespeed-cache/thirdparty/woocommerce.cls.phpnu�[���PK�^�\F��vff+Ulitespeed-cache/thirdparty/wplister.cls.phpnu�[���PK�^�\Ͻ?#��+� Ulitespeed-cache/thirdparty/wpdiscuz.cls.phpnu�[���PK�^�\���<'�%Ulitespeed-cache/thirdparty/wpml.cls.phpnu�[���PK�^�\cLaL��0S*Ulitespeed-cache/thirdparty/gravity-forms.cls.phpnu�[���PK�^�\�:�

1F/Ulitespeed-cache/thirdparty/nextgengallery.cls.phpnu�[���PK�^�\�=t�	�	&�IUlitespeed-cache/thirdparty/amp.cls.phpnu�[���PK�^�\�'�~

(�SUlitespeed-cache/thirdparty/entry.inc.phpnu�[���PK�^�\c�

10ZUlitespeed-cache/thirdparty/theme-my-login.cls.phpnu�[���PK�^�\�3�,

,�^Ulitespeed-cache/thirdparty/elementor.cls.phpnu�[���PK�^�\!LPq&&0�kUlitespeed-cache/thirdparty/caldera-forms.cls.phpnu�[���PK�^�\6=}�ee-�oUlitespeed-cache/thirdparty/woo-paypal.cls.phpnu�[���PK�^�\�,>EE5CsUlitespeed-cache/thirdparty/divi-theme-builder.cls.phpnu�[���PK�^�\�76��'�Ulitespeed-cache/thirdparty/wcml.cls.phpnu�[���PK�^�\�t%���.;�Ulitespeed-cache/thirdparty/perfmatters.cls.phpnu�[���PK�^�\ל�M
M
*}�Ulitespeed-cache/thirdparty/bbpress.cls.phpnu�[���PK�^�\n�g�ww1$�Ulitespeed-cache/thirdparty/beaver-builder.cls.phpnu�[���PK�^�\�߸�1��Ulitespeed-cache/thirdparty/user-switching.cls.phpnu�[���PK�^�\|]���2v�Ulitespeed-cache/thirdparty/litespeed-check.cls.phpnu�[���PK�^�\ȯz--(}�Ulitespeed-cache/thirdparty/avada.cls.phpnu�[���PK�^�\�bem��*�Ulitespeed-cache/thirdparty/facetwp.cls.phpnu�[���PK�^�\T7�0��.#�Ulitespeed-cache/thirdparty/autoptimize.cls.phpnu�[���PK�^�\"�U<��0�Ulitespeed-cache/thirdparty/yith-wishlist.cls.phpnu�[���PK�^�\�<�oo*]�Ulitespeed-cache/thirdparty/wptouch.cls.phpnu�[���PK�^�\��%�dada(&�Ulitespeed-cache/lang/litespeed-cache.potnu�[���PK�^�\��w^QQ�>Xlitespeed-cache/typos.tomlnu�[���PK�^�\�&��Z�Z�}?Xlitespeed-cache/readme.txtnu�[���PK�^�\Mv��gg#!�Xlitespeed-cache/litespeed-cache.phpnu�[���PK�^�\�+_�<<.�Ylitespeed-cache/assets/css/litespeed-dummy.cssnu�[���PK�^�\���II/uYlitespeed-cache/assets/css/litespeed-legacy.cssnu�[���PK�^�\�	c����2Ylitespeed-cache/assets/css/litespeed-dark-mode.cssnu�[���PK�^�\'��]](&�Ylitespeed-cache/assets/css/litespeed.cssnu�[���PK�^�\&%�fnOnO+��Zlitespeed-cache/assets/css/iziModal.min.cssnu�[���PK�^�\�$�[[@\O\litespeed-cache/assets/img/quic-cloud-logo-light_stack_300px.pngnu�[���PK�^�\,˺855('^\litespeed-cache/assets/img/iconlscwp.svgnu�[���PK�^�\'��Wvv8�b\litespeed-cache/assets/img/lscwp_blue_font-icon_22px.svgnu�[���PK�^�\+�&vv8�i\litespeed-cache/assets/img/lscwp_gray_font-icon_22px.svgnu�[���PK�^�\9���

.pp\litespeed-cache/assets/img/icons/purge-all.svgnu�[���PK�^�\��		6ۃ\litespeed-cache/assets/img/icons/img_webp_disabled.svgnu�[���PK�^�\]�dQ��/J�\litespeed-cache/assets/img/icons/trash_post.svgnu�[���PK�^�\���DEE4w�\litespeed-cache/assets/img/icons/optimize_tables.svgnu�[���PK�^�\#P���0 �\litespeed-cache/assets/img/icons/purge-pages.svgnu�[���PK�^�\6��/4�\litespeed-cache/assets/img/icons/auto_draft.svgnu�[���PK�^�\*���
�
1��\litespeed-cache/assets/img/icons/spam_comment.svgnu�[���PK�^�\k�+ERR-��\litespeed-cache/assets/img/icons/revision.svgnu�[���PK�^�\+ͫlff'j�\litespeed-cache/assets/img/icons/db.svgnu�[���PK�^�\����rr0'�\litespeed-cache/assets/img/icons/purge-front.svgnu�[���PK�^�\�K��.�]litespeed-cache/assets/img/icons/purge-500.svgnu�[���PK�^�\��i��0�]litespeed-cache/assets/img/icons/empty-cache.svgnu�[���PK�^�\m6�a��6�1]litespeed-cache/assets/img/icons/expired_transient.svgnu�[���PK�^�\76�5

7�@]litespeed-cache/assets/img/icons/trackback-pingback.svgnu�[���PK�^�\���
�
/rK]litespeed-cache/assets/img/icons/cross_icon.svgnu�[���PK�^�\�N�dZZ2yY]litespeed-cache/assets/img/icons/trash_comment.svgnu�[���PK�^�\�465s]litespeed-cache/assets/img/icons/img_optm_disabled.svgnu�[���PK�^�\��k�		-��]litespeed-cache/assets/img/icons/img_webp.svgnu�[���PK�^�\�Z��DD.�]litespeed-cache/assets/img/icons/purge-403.svgnu�[���PK�^�\]��`��1��]litespeed-cache/assets/img/icons/purge-object.svgnu�[���PK�^�\�t�b��0��]litespeed-cache/assets/img/icons/purge-cssjs.svgnu�[���PK�^�\��ytt2��]litespeed-cache/assets/img/icons/purge-opcache.svgnu�[���PK�^�\�j/���1s�]litespeed-cache/assets/img/icons/success_icon.svgnu�[���PK�^�\"۔���.i�]litespeed-cache/assets/img/icons/purge-404.svgnu�[���PK�^�\}�K�!
!
3�^litespeed-cache/assets/img/icons/all_transients.svgnu�[���PK�^�\2H1��((^litespeed-cache/assets/img/icons/all.svgnu�[���PK�^�\���-H2^litespeed-cache/assets/img/icons/img_optm.svgnu�[���PK�^�\<@n4p.p..�H^litespeed-cache/assets/img/quic-cloud-logo.svgnu�[���PK�^�\��(��)uw^litespeed-cache/assets/img/slack-logo.pngnu�[���PK�^�\�#Rٔ�/�|^litespeed-cache/assets/img/lscwp-logo_90x90.pngnu�[���PK�^�\/��
��=z�^litespeed-cache/assets/img/lscwp_grayscale_font-icon_22px.svgnu�[���PK�^�\
O��	�	3֊^litespeed-cache/assets/img/lscwp_font-icon_32px.svgnu�[���PK�^�\�1w
w
-Ӕ^litespeed-cache/assets/img/Litespeed.icon.svgnu�[���PK�^�\
x@��4��^litespeed-cache/assets/img/quic-cloud-icon-16x16.svgnu�[���PK�^�\�?�xx?��^litespeed-cache/assets/img/lscwp_gray-yellow_font-icon_22px.svgnu�[���PK�^�\����&�^litespeed-cache/assets/js/babel.min.jsnu�[���PK�^�\QᜓYY)��jlitespeed-cache/assets/js/lazyload.min.jsnu�[���PK�^�\��U��&��jlitespeed-cache/assets/js/react.min.jsnu�[���PK�^�\�K ��.��llitespeed-cache/assets/js/component.crawler.jsnu�[���PK�^�\��qXX*��llitespeed-cache/assets/js/component.cdn.jsnu�[���PK�^�\-I�_�c�c)�mlitespeed-cache/assets/js/lazyload.lib.jsnu�[���PK�^�\��,,2oomlitespeed-cache/assets/js/litespeed-cache-admin.jsnu�[���PK�^�\�p\�B/B/.қmlitespeed-cache/assets/js/webfontloader.min.jsnu�[���PK�^�\	g�AAAA.r�mlitespeed-cache/assets/js/instant_click.ori.jsnu�[���PK�^�\����*
nlitespeed-cache/assets/js/lazyload.init.jsnu�[���PK�^�\_�����"�nlitespeed-cache/assets/js/guest.jsnu�[���PK�^�\{1��)*nlitespeed-cache/assets/js/js_delay.min.jsnu�[���PK�^�\N'π�f�f)8nlitespeed-cache/assets/js/iziModal.min.jsnu�[���PK�^�\ff.+�nlitespeed-cache/assets/js/instant_click.min.jsnu�[���PK�^�\+�xB��&��nlitespeed-cache/assets/js/css_async.jsnu�[���PK�^�\�D�]�
�
%��nlitespeed-cache/assets/js/js_delay.jsnu�[���PK�^�\�ڒ���-ݥnlitespeed-cache/assets/js/guest.docref.min.jsnu�[���PK�^�\f�V��)�nlitespeed-cache/assets/js/guest.docref.jsnu�[���PK�^�\��m�0�0*a�nlitespeed-cache/assets/js/webfontloader.jsnu�[���PK�^�\���Cuu&��nlitespeed-cache/assets/js/guest.min.jsnu�[���PK�^�\���II*_�nlitespeed-cache/assets/js/css_async.min.jsnu�[���PK�^�\�2���Y�Y�nlitespeed-cache/composer.locknu�[���PK�^�\\&��rr&;olitespeed-cache/security.mdnu�[���PK�^�\����yy%�<olitespeed-cache/data/optm_uri_exc.txtnu�[���PK�^�\J�<��'�>olitespeed-cache/data/ccss_whitelist.txtnu�[���PK�^�\�}�FAA�@olitespeed-cache/data/gm_uas.txtnu�[���PK�^�\��Ù��*eAolitespeed-cache/data/cache_nocacheable.txtnu�[���PK�^�\�%	O{{#~Colitespeed-cache/data/esi.nonces.txtnu�[���PK�^�\3J���*LJolitespeed-cache/data/js_defer_excludes.txtnu�[���PK�^�\sW���"�Lolitespeed-cache/data/esi.nonce.txtnu�[���PK�^�\����//$�Oolitespeed-cache/data/js_excludes.txtnu�[���PK�^�\�hn��iTolitespeed-cache/data/gm_ips.txtnu�[���PK�^�\T8���/>Wolitespeed-cache/data/const.network_default.jsonnu�[���PK�^�\ɦ���+a\olitespeed-cache/data/preset/essentials.datanu�[���PK�^�\�����)�bolitespeed-cache/data/preset/advanced.datanu�[���PK�^�\��X8��+�holitespeed-cache/data/preset/aggressive.datanu�[���PK�^�\�D�(�nolitespeed-cache/data/preset/extreme.datanu�[���PK�^�\�)�U��&uolitespeed-cache/data/preset/basic.datanu�[���PK�^�\�ͧɯ�'!{olitespeed-cache/data/const.default.jsonnu�[���PK�^�\V�r=ii'�olitespeed-cache/data/.htaccessnu�[���PK�^�\�����%ޒolitespeed-cache/data/css_excludes.txtnu�[���PK�^�\�9+���'�olitespeed-cache/data/ucss_whitelist.txtnu�[���PK�^�\������olitespeed-cache/composer.jsonnu�[���PK�^�\A贪((!�olitespeed-cache/phpcs.ruleset.xmlnu�[���PK�^�\��ePP[�olitespeed-cache/qc-ping.txtnu�[���PK�^�\�������olitespeed-cache/package.jsonnu�[���PK�^�\=g�M�M���olitespeed-cache/LICENSEnu�[���PK�^�\�66Ӈa�a#�4plitespeed-cache/src/utility.cls.phpnu�[���PK�^�\'�=jj!d�plitespeed-cache/src/error.cls.phpnu�[���PK�^�\N�jʢM�M'�plitespeed-cache/src/crawler-map.cls.phpnu�[���PK�^�\�Z�u``$qlitespeed-cache/src/htaccess.cls.phpnu�[���PK�^�\�$zj=5=5"nbqlitespeed-cache/src/object.lib.phpnu�[���PK�^�\M"pҬ� ��qlitespeed-cache/src/tool.cls.phpnu�[���PK�^�\���9��)��qlitespeed-cache/src/admin-display.cls.phpnu�[���PK�^�\�Y��S�S 2krlitespeed-cache/src/core.cls.phpnu�[���PK�^�\�s�33 d�rlitespeed-cache/src/task.cls.phpnu�[���PK�^�\8����!��rlitespeed-cache/src/cloud.cls.phpnu�[���PK�^�\�y�e=e=#��slitespeed-cache/src/db-optm.cls.phpnu�[���PK�^�\��C&&!�!tlitespeed-cache/src/admin.cls.phpnu�[���PK�^�\�9_RURU 6tlitespeed-cache/src/vary.cls.phpnu�[���PK�^�\�wA�NN ��tlitespeed-cache/src/conf.cls.phpnu�[���PK�^�\ޣF����tlitespeed-cache/src/doc.cls.phpnu�[���PK�^�\?�ő++"1�tlitespeed-cache/src/import.cls.phpnu�[���PK�^�\1�'x!�ulitespeed-cache/src/guest.cls.phpnu�[���PK�^�\%�����#
ulitespeed-cache/src/crawler.cls.phpnu�[���PK�^�\r{�^�%�%%I�ulitespeed-cache/src/optimizer.cls.phpnu�[���PK�^�\���SS"F�ulitespeed-cache/src/health.cls.phpnu�[���PK�^�\A޹��l�l��ulitespeed-cache/src/esi.cls.phpnu�[���PK�^�\����
�
(�^vlitespeed-cache/src/localization.cls.phpnu�[���PK�^�\筕��"�""mvlitespeed-cache/src/avatar.cls.phpnu�[���PK�^�\ս���X�X ��vlitespeed-cache/src/data.cls.phpnu�[���PK�^�\S>�y��)�vlitespeed-cache/src/data.upgrade.func.phpnu�[���PK�^�\�a.Y����!Wwlitespeed-cache/src/purge.cls.phpnu�[���PK�^�\�U�Eybyb+K�wlitespeed-cache/src/object-cache-wp.cls.phpnu�[���PK�^�\Rk(aK�K��wlitespeed-cache/src/gui.cls.phpnu�[���PK�^�\�?ZEZE&�xlitespeed-cache/src/activation.cls.phpnu�[���PK�^�\N�]'eaea#i�xlitespeed-cache/src/control.cls.phpnu�[���PK�^�\�d
,U$U$ !'ylitespeed-cache/src/rest.cls.phpnu�[���PK�^�\_��w,w,*�Kylitespeed-cache/src/admin-settings.cls.phpnu�[���PK�^�\���$�xylitespeed-cache/src/cdn/quic.cls.phpnu�[���PK�^�\�lN���*��ylitespeed-cache/src/cdn/cloudflare.cls.phpnu�[���PK�^�\'[h)�ylitespeed-cache/src/import.preset.cls.phpnu�[���PK�^�\��%��%�%M�ylitespeed-cache/src/vpi.cls.phpnu�[���PK�^�\�vWn:n: �ylitespeed-cache/src/root.cls.phpnu�[���PK�^�\����t)t)�zlitespeed-cache/src/api.cls.phpnu�[���PK�^�\�+8�zz"�Ezlitespeed-cache/src/report.cls.phpnu�[���PK�^�\mh�F�Fi^zlitespeed-cache/src/css.cls.phpnu�[���PK�^�\s�64D4D"~�zlitespeed-cache/src/debug2.cls.phpnu�[���PK�^�\Κ��TT�zlitespeed-cache/src/str.cls.phpnu�[���PK�^�\�L�++#��zlitespeed-cache/src/metabox.cls.phpnu�[���PK�^�\��מ�R�R"%{litespeed-cache/src/router.cls.phpnu�[���PK�^�\�#���?�?_{litespeed-cache/src/cdn.cls.phpnu�[���PK�^�\�|7�mDmD �{litespeed-cache/src/lang.cls.phpnu�[���PK�^�\���%ԉԉ ��{litespeed-cache/src/base.cls.phpnu�[���PK�^�\?�S��G�G'�m|litespeed-cache/src/placeholder.cls.phpnu�[���PK�^�\^��AA #�|litespeed-cache/src/ucss.cls.phpnu�[���PK�^�\�zi��!��|litespeed-cache/src/media.cls.phpnu�[���PK�^�\>��e��.�}litespeed-cache/src/data_structure/crawler.sqlnu�[���PK�^�\�'�3��/ݚ}litespeed-cache/src/data_structure/url_file.sqlnu�[���PK�^�\Ye����/ĝ}litespeed-cache/src/data_structure/img_optm.sqlnu�[���PK�^�\0_VV2��}litespeed-cache/src/data_structure/img_optming.sqlnu�[���PK�^�\KS�[��8u�}litespeed-cache/src/data_structure/crawler_blacklist.sqlnu�[���PK�^�\Q�{�-s�}litespeed-cache/src/data_structure/avatar.sqlnu�[���PK�^�\b?�x��*Ԥ}litespeed-cache/src/data_structure/url.sqlnu�[���PK�^�\<I�a�a�$��}litespeed-cache/src/optimize.cls.phpnu�[���PK�^�\�[�G*G* �A~litespeed-cache/src/file.cls.phpnu�[���PK�^�\U�m�QQ(Gl~litespeed-cache/src/object-cache.cls.phpnu�[���PK�^�\�f)
��$��~litespeed-cache/src/img-optm.cls.phpnu�[���PK�^�\��9	%	%��litespeed-cache/src/tag.cls.phpnu�[���PK�^�\5/�����litespeed-cache/guest.vary.phpnu�[���PK�^�\��_C<<��litespeed-cache/phpcs.xml.distnu�[���PK�^�\���
jj#e�litespeed-cache/cli/crawler.cls.phpnu�[���PK�^�\S�n�#�#""	�litespeed-cache/cli/online.cls.phpnu�[���PK�^�\v�mS��$q-�litespeed-cache/cli/database.cls.phpnu�[���PK�^�\�p#BB!�A�litespeed-cache/cli/purge.cls.phpnu�[���PK�^�\�#��!+^�litespeed-cache/cli/debug.cls.phpnu�[���PK�^�\'�1GNN#Ja�litespeed-cache/cli/presets.cls.phpnu�[���PK�^�\	C��l(l("�h�litespeed-cache/cli/option.cls.phpnu�[���PK�^�\$!���!���litespeed-cache/cli/image.cls.phpnu�[���PK�^�\���!���litespeed-cache/package-lock.jsonnu�[���PK�^�\ڜT���$���litespeed-cache/lib/html-min.cls.phpnu�[���PK�^�\��Css.�̀litespeed-cache/lib/php-compatibility.func.phpnu�[���PK�^�\�ՁLL$��litespeed-cache/lib/object-cache.phpnu�[���PK�^�\�K��#�#'A�litespeed-cache/lib/urirewriter.cls.phpnu�[���PK_�\tQ+��;�;4}�litespeed-cache/lib/css_js_min/minify/minify.cls.phpnu�[���PK_�\V=�BҒҒ0wK�litespeed-cache/lib/css_js_min/minify/js.cls.phpnu�[���PK_�\[�N��C�ށlitespeed-cache/lib/css_js_min/minify/data/js/keywords_reserved.txtnu�[���PK_�\��垧�A��litespeed-cache/lib/css_js_min/minify/data/js/keywords_before.txtnu�[���PK_�\g�0�ssB��litespeed-cache/lib/css_js_min/minify/data/js/operators_before.txtnu�[���PK_�\)cd�xx;��litespeed-cache/lib/css_js_min/minify/data/js/operators.txtnu�[���PK_�\�x��99@��litespeed-cache/lib/css_js_min/minify/data/js/keywords_after.txtnu�[���PK_�\iO�rrAC�litespeed-cache/lib/css_js_min/minify/data/js/operators_after.txtnu�[���PK_�\�<Gl##-&�litespeed-cache/lib/css_js_min/minify/LICENSEnu�[���PK_�\tN'��7��litespeed-cache/lib/css_js_min/minify/exception.cls.phpnu�[���PK_�\�_��ejej1��litespeed-cache/lib/css_js_min/minify/css.cls.phpnu�[���PK_�\��/��>�V�litespeed-cache/lib/css_js_min/pathconverter/converter.cls.phpnu�[���PK_�\�'�##4�l�litespeed-cache/lib/css_js_min/pathconverter/LICENSEnu�[���PK_�\����Q Q !q�litespeed-cache/lib/guest.cls.phpnu�[���PK_�\;�
�
���litespeed-cache/autoload.phpnu�[���PK_�\d��
�
ğ�litespeed-cache/changelog.txtnu�[���PK_�\B�2  	ª�lscwp_md5nu�[���PKccT���