Transforme seu marketing digital

Marketing Digital
Simples e Poderoso

Conecte-se com seus clientes através de campanhas de email e WhatsApp. Perfeito para PMEs, comércio local, escolas e clínicas que buscam crescer.

10K+
Mensagens Enviadas
500+
Empresas Atendidas
98%
Satisfação
Nossa História

A Lenda de Hidalgo

Uma história de coragem, determinação e quebra de paradigmas

"Hidalgo não era o cavalo mais rápido, nem o mais bonito. Mas tinha algo que os outros não tinham: coração e determinação."

Nosso nome é inspirado em Hidalgo, o lendário cavalo mustang do filme "Mar de Fogo" (2004), protagonizado por Viggo Mortensen. Na história, Frank Hopkins e seu cavalo Hidalgo enfrentam uma corrida impossível através do deserto árabe, competindo contra os melhores cavalos puro-sangue do mundo.

Apesar de ser considerado um "mestiço" e subestimado por todos, Hidalgo provou que com determinação, coragem e resiliência, é possível superar qualquer obstáculo e quebrar paradigmas estabelecidos.

Assim como Hidalgo, nossa plataforma nasceu para democratizar o marketing digital, provando que pequenos e médios empresários, comércios locais, escolas e clínicas também podem ter acesso a ferramentas poderosas de comunicação, antes restritas apenas às grandes corporações.

Nossa Missão

Empoderar negócios locais com tecnologia de ponta, transformando a forma como se conectam com seus clientes.

Para Quem é o Hidalgo?

Feito para Você

Seja qual for o seu negócio, temos a solução perfeita

Comércio Local

Lojas, restaurantes, salões de beleza e outros estabelecimentos que desejam fidelizar clientes e aumentar vendas através de promoções e novidades.

  • Promoções segmentadas
  • Programa de fidelidade
  • Divulgação de eventos

Escolas

Instituições de ensino que buscam melhorar a comunicação com pais, alunos e comunidade escolar de forma eficiente e organizada.

  • Avisos importantes
  • Calendário de eventos
  • Comunicação com pais

Clínicas e Consultórios

Clínicas médicas, odontológicas, estéticas e consultórios que desejam automatizar lembretes de consultas e manter contato com pacientes.

  • Lembretes de consulta
  • Campanhas de prevenção
  • Follow-up pós-consulta

Igrejas e Comunidades

Igrejas, templos e comunidades religiosas que precisam manter contato com membros, divulgar eventos e fortalecer a comunhão.

  • Avisos de cultos e eventos
  • Comunicação com membros
  • Campanhas de doação

Academias e Estúdios

Academias, estúdios de yoga, pilates e crossfit que desejam engajar alunos, divulgar aulas e reduzir cancelamentos.

  • Lembretes de aulas
  • Promoções de planos
  • Dicas de treino

Imobiliárias

Imobiliárias e corretores que precisam divulgar imóveis, manter contato com clientes e fechar mais negócios.

  • Divulgação de imóveis
  • Follow-up de interessados
  • Alertas de novidades

Escritórios e Profissionais

Advogados, contadores, arquitetos e outros profissionais liberais que desejam manter contato com clientes e divulgar serviços.

  • Comunicação profissional
  • Lembretes de prazos
  • Newsletter informativa

ONGs e Associações

Organizações sem fins lucrativos, associações e projetos sociais que precisam mobilizar voluntários e doadores.

  • Campanhas de doação
  • Mobilização de voluntários
  • Divulgação de projetos
Funcionalidades

Tudo que Você Precisa

Uma plataforma completa para gerenciar suas campanhas de marketing

Email Marketing

Crie e envie campanhas de email profissionais com templates personalizáveis. Gerencie múltiplas configurações SMTP com rotação inteligente e failover automático.

  • Templates HTML personalizáveis
  • Rotação de contas SMTP
  • Agendamento de envios
  • Relatórios de abertura

WhatsApp em Massa

Envie mensagens WhatsApp em massa de forma segura e eficiente. Conecte múltiplas contas, agende envios e monitore resultados em tempo real.

  • Múltiplas contas WhatsApp
  • Envio com mídia
  • Monitoramento em tempo real
  • Reconexão automática

Gestão de Contatos

Organize seus contatos com tags personalizadas, importe listas em massa e segmente seu público para campanhas mais efetivas.

  • Importação em massa (CSV)
  • Tags personalizadas
  • Segmentação avançada
  • Histórico de interações

Relatórios Detalhados

Acompanhe o desempenho das suas campanhas com relatórios completos e métricas em tempo real. Tome decisões baseadas em dados.

  • Métricas em tempo real
  • Taxa de abertura e cliques
  • Exportação de relatórios
  • Dashboard intuitivo

Agendamento

Agende suas campanhas para o melhor momento. Planeje com antecedência e deixe o sistema trabalhar por você.

  • Agendamento flexível
  • Campanhas recorrentes
  • Fuso horário automático
  • Notificações de envio

Lead de Mercado

Encontre novos clientes automaticamente! Busque empresas por ramo de atividade e localização, capture dados de contato e cadastre leads qualificados.

  • Busca por setor e localização
  • Captura automática de dados
  • Tags automáticas
  • Validação de contatos
Clientes

Quem Confia no Hidalgo

Empresas que já transformaram seu marketing digital conosco

Empresa de tecnologia que utiliza o Hidalgo para manter contato com clientes e divulgar novos serviços.

5K+ Mensagens/mês
95% Taxa de entrega

Portal de vendas de produtos da fazenda que utiliza o Hidalgo para divulgar novidades, promoções e manter contato com clientes.

3K+ Clientes ativos
100% Satisfação

Empresa de engenharia que automatizou a comunicação com clientes e parceiros através do Hidalgo.

2K+ Campanhas enviadas
85% Taxa de abertura

"O Hidalgo transformou completamente nossa forma de nos comunicar com clientes. Antes, perdíamos horas enviando emails manualmente. Agora, tudo é automatizado e profissional. Recomendo para qualquer empresa que queira crescer!"

Anderson Santos

Diretor - A2R IT

Pronto para Transformar seu Marketing?

Junte-se a centenas de empresas que já estão crescendo com o Hidalgo. Comece hoje mesmo e veja a diferença!

Contato

Fale Conosco

Tire suas dúvidas ou solicite uma demonstração

Entre em Contato

Nossa equipe está pronta para ajudar você a começar. Entre em contato através dos canais abaixo.

WhatsApp

(11) 5433-4070

Horário

Segunda a Sexta, 9h às 18h

var __manus_space_editor_info = { spaceId : 'hidalgo-tm5yzp', patchList : [], }; { var __manus__global_env = { "apiHost": "https://api.manus.im", "host": "https://manus.im", "amplitudeKey": "46ac3f9abb41dd2d17a5785e052bc6d3" }; var ru=Object.defineProperty;var ou=(t,e,n)=>e in t?ru(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var pt=(t,e,n)=>ou(t,typeof e!="symbol"?e+"":e,n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))l(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&l(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function l(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const mn=globalThis,hl=mn.trustedTypes,Yr=hl?hl.createPolicy("lit-html",{createHTML:t=>t}):void 0,bc="$lit$",Et=`lit$${Math.random().toFixed(9).slice(2)}$`,Vc="?"+Et,au=`<${Vc}>`,kt=document,Xn=()=>kt.createComment(""),In=t=>t===null||typeof t!="object"&&typeof t!="function",wi=Array.isArray,cu=t=>wi(t)||typeof(t==null?void 0:t[Symbol.iterator])=="function",Ml=`[ \f\r]`,dn=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ur=/-->/g,Jr=/>/g,Nt=RegExp(`>|${Ml}(?:([^\\s"'>=/]+)(${Ml}*=${Ml}*(?:[^ \f\r"'\`<>=]|("|')|))|$)`,"g"),xr=/'/g,wr=/"/g,mc=/^(?:script|style|textarea|title)$/i,fc=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),O=fc(1),Ee=fc(2),zt=Symbol.for("lit-noChange"),ce=Symbol.for("lit-nothing"),kr=new WeakMap,Jt=kt.createTreeWalker(kt,129);function Ac(t,e){if(!wi(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return Yr!==void 0?Yr.createHTML(e):e}const du=(t,e)=>{const n=t.length-1,l=[];let i,r=e===2?"":e===3?"":"",o=dn;for(let a=0;a"?(o=i??dn,u=-1):s[1]===void 0?u=-2:(u=o.lastIndex-s[2].length,d=s[1],o=s[3]===void 0?Nt:s[3]==='"'?wr:xr):o===wr||o===xr?o=Nt:o===Ur||o===Jr?o=dn:(o=Nt,i=void 0);const g=o===Nt&&t[a+1].startsWith("/>")?" ":"";r+=o===dn?c+au:u>=0?(l.push(d),c.slice(0,u)+bc+c.slice(u)+Et+g):c+Et+(u===-2?a:g)}return[Ac(t,r+(t[n]||"")+(e===2?"":e===3?"":"")),l]};let hi=class pc{constructor({strings:e,_$litType$:n},l){let i;this.parts=[];let r=0,o=0;const a=e.length-1,c=this.parts,[d,s]=du(e,n);if(this.el=pc.createElement(d,l),Jt.currentNode=this.el.content,n===2||n===3){const u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(i=Jt.nextNode())!==null&&c.length0){i.textContent=hl?hl.emptyScript:"";for(let g=0;g2||l[0]!==""||l[1]!==""?(this._$AH=Array(l.length-1).fill(new String),this.strings=l):this._$AH=ce}_$AI(e,n=this,l,i){const r=this.strings;let o=!1;if(r===void 0)e=$t(this,e,n,0),o=!In(e)||e!==this._$AH&&e!==zt,o&&(this._$AH=e);else{const a=e;let c,d;for(e=r[0],c=0;c{const l=e;let i=l._$litPart$;return i===void 0&&(l._$litPart$=i=new ki(e.insertBefore(Xn(),null),null,void 0,{})),i._$AI(t),i};class Wl extends HTMLElement{constructor(){super(),this._dialogElement=null,this._isOpen=!1,this._title="Dialog",this._isClosable=!0,this._shadowRoot=this.attachShadow({mode:"open"}),this._render()}static get observedAttributes(){return["open","title","closable","width"]}connectedCallback(){this.hasAttribute("open")?this._isOpen=!0:this._isOpen=!1,this._title=this.getAttribute("title")||this._title,this.hasAttribute("closable")?this._isClosable=this.getAttribute("closable")!=="false":this._isClosable=!0;const e=this.getAttribute("width");e?this.style.setProperty("--dynamic-dialog-width",e):this.style.removeProperty("--dynamic-dialog-width"),this._render(),this._dialogElement=this._shadowRoot.querySelector("dialog"),this._dialogElement&&(this._dialogElement.addEventListener("click",n=>{this._isClosable&&n.target===this._dialogElement&&this.close()}),this._dialogElement.addEventListener("close",()=>{this._isOpen&&(this._isOpen=!1,this.hasAttribute("open")&&this.removeAttribute("open"),this._dispatchCloseEvent())}),this._isOpen&&!this._dialogElement.open&&(this._dialogElement.showModal(),this._dispatchOpenEvent()))}disconnectedCallback(){}attributeChangedCallback(e,n,l){const i=this._isOpen;let r=!1;if(e==="open"){const o=l!==null;this._isOpen!==o&&(this._isOpen=o),this._dialogElement&&(this._isOpen?this._dialogElement.open||(this._dialogElement.showModal(),i||this._dispatchOpenEvent()):this._dialogElement.open&&this._dialogElement.close())}else if(e==="title"){const o=l||"Dialog";this._title!==o&&(this._title=o,r=!0)}else if(e==="closable"){const o=l!=="false";this._isClosable!==o&&(this._isClosable=o,r=!0)}else e==="width"&&(l!==null?this.style.setProperty("--dynamic-dialog-width",l):this.style.removeProperty("--dynamic-dialog-width"));r&&this._render()}show(){this._isOpen?this._dialogElement&&!this._dialogElement.open&&(this._dialogElement.showModal(),this._dispatchOpenEvent()):this.setAttribute("open","")}close(){this._isOpen?this.removeAttribute("open"):this._dialogElement&&this._dialogElement.open&&this._dialogElement.close()}_handleCloseButtonClick(){this.close()}_dispatchOpenEvent(){this.dispatchEvent(new CustomEvent("dialog-open",{bubbles:!0,composed:!0}))}_dispatchCloseEvent(){this.dispatchEvent(new CustomEvent("dialog-close",{bubbles:!0,composed:!0}))}_render(){const e=O`
${this._title}
${this._isClosable?O` `:""}
`;vt(e,this._shadowRoot)}}class zi extends HTMLElement{constructor(){super(),this.anchor=null,this.popupContent=null,this.isOpen=!1,this.scrollListener=null,this._ref=null,this._customClass="",this.mousePosition=null,this.gapSize=10,this.attachShadow({mode:"open"}),this.render()}static get observedAttributes(){return["open","ref","class"]}connectedCallback(){this.scrollListener=()=>{this.isOpen&&this.updatePosition()},window.addEventListener("scroll",this.scrollListener,!0),this._ref&&this._ref(this)}disconnectedCallback(){this.scrollListener&&window.removeEventListener("scroll",this.scrollListener,!0),this.destroy()}attributeChangedCallback(e,n,l){e==="open"?(this.isOpen=l!==null,this.render(),this.isOpen&&setTimeout(()=>this.updatePosition(),0)):e==="ref"||e==="class"&&(this._customClass=l||"",this.render())}set ref(e){this._ref=e,this.isConnected&&e(this)}set customClass(e){this._customClass=e,this.setAttribute("class",e),this.render()}get customClass(){return this._customClass}setAnchor(e){this.anchor=e,this.isOpen&&this.updatePosition()}open(e){if(this.isOpen=!0,this.setAttribute("open",""),e){this.mousePosition={x:e.clientX,y:e.clientY};const n=e.target;n&&this.setAnchor(n)}else this.mousePosition=null;this.render(),setTimeout(()=>this.updatePosition(),0)}close(){this.isOpen=!1,this.mousePosition=null,this.removeAttribute("open"),this.render()}updatePosition(){if(!this.popupContent)return;const e=this.popupContent.getBoundingClientRect();let n,l,i="bottom";if(this.anchor)n=this.anchor.getBoundingClientRect().bottom+this.gapSize;else if(this.mousePosition)n=this.mousePosition.y+this.gapSize;else{n=window.innerHeight/2-e.height/2,l=window.innerWidth/2-e.width/2,this.updatePopupStyles(n,l,i);return}if(this.mousePosition)l=this.mousePosition.x-e.width/2;else if(this.anchor){const r=this.anchor.getBoundingClientRect();l=r.left+r.width/2-e.width/2}else l=window.innerWidth/2-e.width/2;l+e.width>window.innerWidth&&(l=window.innerWidth-e.width-10),l<10&&(l=10),n+e.height>window.innerHeight&&(i="top",this.anchor?n=this.anchor.getBoundingClientRect().top-e.height-this.gapSize:this.mousePosition&&(n=this.mousePosition.y-e.height-this.gapSize),n<0&&(n=window.innerHeight/2-e.height/2,i="bottom")),this.updatePopupStyles(n,l,i)}updatePopupStyles(e,n,l){this.popupContent&&(this.popupContent.style.position="fixed",this.popupContent.style.top=`${e}px`,this.popupContent.style.left=`${n}px`,this.popupContent.setAttribute("data-position",l))}render(){const e=O` `;vt(e,this.shadowRoot),this.popupContent=this.shadowRoot.querySelector(".popup-content")}destroy(){vt(ce,this.shadowRoot)}}/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const Qi={ATTRIBUTE:1,CHILD:2},Li=t=>(...e)=>({_$litDirective$:t,values:e});let Ki=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,n,l){this._$Ct=e,this._$AM=n,this._$Ci=l}_$AS(e,n){return this.update(e,n)}update(e,n){return this.render(...n)}};/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const tt=Li(class extends Ki{constructor(t){var e;if(super(t),t.type!==Qi.ATTRIBUTE||t.name!=="class"||((e=t.strings)==null?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){var l,i;if(this.st===void 0){this.st=new Set,t.strings!==void 0&&(this.nt=new Set(t.strings.join(" ").split(/\s/).filter((r=>r!==""))));for(const r in e)e[r]&&!((l=this.nt)!=null&&l.has(r))&&this.st.add(r);return this.render(e)}const n=t.element.classList;for(const r of this.st)r in e||(n.remove(r),this.st.delete(r));for(const r in e){const o=!!e[r];o===this.st.has(r)||(i=this.nt)!=null&&i.has(r)||(o?(n.add(r),this.st.add(r)):(n.remove(r),this.st.delete(r)))}return zt}});/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const Vu=t=>t.strings===void 0;/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const fn=(t,e)=>{var l;const n=t._$AN;if(n===void 0)return!1;for(const i of n)(l=i._$AO)==null||l.call(i,e,!1),fn(i,e);return!0},bl=t=>{let e,n;do{if((e=t._$AM)===void 0)break;n=e._$AN,n.delete(t),t=e}while((n==null?void 0:n.size)===0)},Gc=t=>{for(let e;e=t._$AM;t=e){let n=e._$AN;if(n===void 0)e._$AN=n=new Set;else if(n.has(t))break;n.add(t),Au(e)}};function mu(t){this._$AN!==void 0?(bl(this),this._$AM=t,Gc(this)):this._$AM=t}function fu(t,e=!1,n=0){const l=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(e)if(Array.isArray(l))for(let r=n;r{t.type==Qi.CHILD&&(t._$AP??(t._$AP=fu),t._$AQ??(t._$AQ=mu))};let pu=class extends Ki{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,n,l){super._$AT(e,n,l),Gc(this),this.isConnected=e._$AU}_$AO(e,n=!0){var l,i;e!==this.isConnected&&(this.isConnected=e,e?(l=this.reconnected)==null||l.call(this):(i=this.disconnected)==null||i.call(this)),n&&(fn(this,e),bl(this))}setValue(e){if(Vu(this._$Ct))this._$Ct._$AI(e,this);else{const n=[...this._$Ct._$AH];n[this._$Ci]=e,this._$Ct._$AI(n,this,0)}}disconnected(){}reconnected(){}};/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const Zu=()=>new Gu;let Gu=class{};const Dl=new WeakMap,Qt=Li(class extends pu{render(t){return ce}update(t,[e]){var l;const n=e!==this.G;return n&&this.G!==void 0&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.G=e,this.ht=(l=t.options)==null?void 0:l.host,this.rt(this.ct=t.element)),ce}rt(t){if(this.isConnected||(t=void 0),typeof this.G=="function"){const e=this.ht??globalThis;let n=Dl.get(e);n===void 0&&(n=new WeakMap,Dl.set(e,n)),n.get(this.G)!==void 0&&this.G.call(this.ht,void 0),n.set(this.G,t),t!==void 0&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){var t,e;return typeof this.G=="function"?(t=Dl.get(this.ht??globalThis))==null?void 0:t.get(this.G):(e=this.G)==null?void 0:e.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});class Xu extends HTMLElement{constructor(){super(),this.textareaRef=Zu(),this._value="",this._autoResize=!1,this._autoFocus=!1,this._placeholder="",this._disabled=!1,this.adjustHeight=()=>{const e=this.textareaRef.value;if(!e||!this._autoResize)return;const n=e.scrollTop,l=window.getComputedStyle(e),i=parseInt(l.borderTopWidth,10)||0,r=parseInt(l.borderBottomWidth,10)||0,o=e.cloneNode(!0);o.style.position="absolute",o.style.visibility="hidden",o.style.height="auto",o.style.width=l.width,o.style.minHeight=l.minHeight,o.style.maxHeight=l.maxHeight,o.style.padding=l.padding,o.style.font=l.font,o.style.lineHeight=l.lineHeight,o.style.letterSpacing=l.letterSpacing,o.style.wordSpacing=l.wordSpacing,o.style.whiteSpace=l.whiteSpace,o.style.wordBreak=l.wordBreak,o.style.boxSizing=l.boxSizing,document.body.appendChild(o);let a=o.scrollHeight;l.boxSizing!=="border-box"&&(a+=i+r),a=o.scrollHeight+i+r,document.body.removeChild(o);const c=parseFloat(l.minHeight)||0,d=parseFloat(l.maxHeight)||1/0;a=Math.max(c,Math.min(a,d)),e.style.height=`${a}px`,e.scrollTop=n},this.handleInput=e=>{const n=e.target;this._value=n.value,this._autoResize&&this.adjustHeight(),this.dispatchEvent(new CustomEvent("lit-textarea-input",{detail:{value:this._value},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))}}static get observedAttributes(){return["auto-resize","value","autofocus","class","placeholder","disabled","rows","cols"]}connectedCallback(){if(this._render(),this.textareaRef.value&&(this._autoResize&&(this._setupAutoResize(),this.adjustHeight()),this._autoFocus)){this.textareaRef.value.focus();const e=this.textareaRef.value.value.length;this.textareaRef.value.setSelectionRange(e,e)}}disconnectedCallback(){this._teardownAutoResize()}attributeChangedCallback(e,n,l){if(n===l&&e!=="disabled"&&e!=="autofocus"&&e!=="auto-resize"&&(e==="disabled"&&this._disabled===(l!==null)||e==="autofocus"&&this._autoFocus===(l!==null)||e==="auto-resize"&&this._autoResize===(l!==null)||e!=="disabled"&&e!=="auto-focus"&&e!=="auto-resize"))return;let i=!0;switch(e){case"auto-resize":const r=l!==null;this._autoResize!==r&&(this._autoResize=r,this.textareaRef.value&&(this._autoResize?(this._setupAutoResize(),this.adjustHeight()):(this._teardownAutoResize(),this.textareaRef.value.style.height="")));break;case"value":this._value!==(l||"")&&(this._value=l||"",this.textareaRef.value&&this.textareaRef.value.value!==this._value&&(this.textareaRef.value.value=this._value),this._autoResize&&Promise.resolve().then(()=>this.adjustHeight()));break;case"autofocus":this._autoFocus=l!==null,i=!1;break;case"class":i=!1;break;case"placeholder":this._placeholder=l||"";break;case"disabled":this._disabled=l!==null;break;case"rows":this._rows=l?parseInt(l,10):void 0;break;case"cols":this._cols=l?parseInt(l,10):void 0;break;default:i=!1}i&&this._render()}_setupAutoResize(){!this.textareaRef.value||this.resizeObserver||(window.addEventListener("resize",this.adjustHeight),this.resizeObserver=new ResizeObserver(this.adjustHeight),this.resizeObserver.observe(this.textareaRef.value))}_teardownAutoResize(){window.removeEventListener("resize",this.adjustHeight),this.resizeObserver&&(this.textareaRef.value&&this.resizeObserver.unobserve(this.textareaRef.value),this.resizeObserver.disconnect(),this.resizeObserver=void 0)}getInternalTextareaClasses(){return{"internal-textarea":!0,"auto-resize-active":this._autoResize}}_render(){const e=O` `;vt(e,this),this.textareaRef.value&&this.textareaRef.value.value!==this._value&&(this.textareaRef.value.value=this._value),this._autoFocus&&setTimeout(()=>{var n;(n=this.textareaRef.value)==null||n.focus()},0)}}class Bl{constructor(e,n=!0){this.container=e,n&&this.render()}render(){vt(this.template,this.container)}destroy(){vt(ce,this.container)}}class Iu extends Bl{constructor(e,n){super(e,!1),this.container=e,this.conf=n,this._destroyPromise=new Promise(l=>{this._resolveDestroyPromise=l})}get template(){const{variant:e,title:n}=this.conf,l=`toast toast--${e}`,i=Ee` `;return O`
${e==="success"?i:""}
${n}
`}show(){this.render();const e=this.container.querySelector(".toast");e&&(requestAnimationFrame(()=>{e.classList.add("is-visible")}),setTimeout(()=>{this.destroy()},3e3))}destroy(){const e=this.container.querySelector(".toast");e?(e.classList.remove("is-visible"),e.addEventListener("transitionend",()=>{super.destroy(),e.parentNode&&e.parentNode.removeChild(e),this._resolveDestroyPromise()},{once:!0})):(super.destroy(),this._resolveDestroyPromise())}get destroyed(){return this._destroyPromise}}const Ru="toast-manager-container";class Eu{constructor(){this.currentToasts=[]}initRoot(e){this.rootContainer=document.createElement("div"),this.rootContainer.id=Ru,e.appendChild(this.rootContainer),this.rootContainer.style.cssText=` position: fixed; top: 20px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column-reverse; /* 新的 Toast 在底部,旧的向上推 */ align-items: center; z-index: 1000; pointer-events: none; /* 允许点击穿透 Toast 容器 */ `}showToast(e){const n=document.createElement("div");n.style.pointerEvents="auto",this.rootContainer.prepend(n);const l=new Iu(n,e);this.currentToasts.push(l),l.show(),l.destroyed.then(()=>{this.removeToast(l)})}removeToast(e){this.currentToasts=this.currentToasts.filter(n=>n!==e),e.container&&e.container.parentNode&&e.container.parentNode.removeChild(e.container)}clearAllToasts(){this.currentToasts.forEach(e=>e.destroy()),this.currentToasts=[]}}const il=new Eu,yu=t=>O` `;class zr{constructor(e,n,l,i){this.destroyed=!1,this.event=e,this.handler=n,this.emitter=l,this.listenBy=i}unregister(){this.emitter.off(this.event,this),this._destroy()}_destroy(){return this.destroyed?!1:(this.handler=null,this.emitter=null,this.destroyed=!0,!0)}}class vu{constructor(){this._events={}}on(e,n){var i;if(!n)throw new TypeError("invalid handler! --EventEmitter");this._events[e]||(this._events[e]=[]);const l=new zr(e,n,this,null);return(i=this._events[e])==null||i.push(l),l}listenBy(e,n,l){var r;if(!l)throw new TypeError("invalid handler! --EventEmitter");this._events[n]||(this._events[n]=[]);const i=new zr(n,l,this,e);return(r=this._events[n])==null||r.push(i),i}once(e,n){const l=this.on(e,i=>{n(i),l.unregister()});return l}emit(e,n=null){if(!this._events[e])return!1;for(const l of this._events[e])l.destroyed||l.handler.call(this,n);return!0}off(e,n){var l,i;if(!this._events[e])return!1;if(n){for(let r=this._events[e],o=0;oc!==a),((i=this._events[e])==null?void 0:i.length)===0&&delete this._events[e],!0}return console.error(n,this),console.error(`Cannot find listener of ${e} --EventEmitter`),!1}for(let r=this._events[e],o=0;oi.listenBy===e?(i._destroy(),!1):!0)}removeAllListeners(){for(const e in this._events){const n=this._events[e];if(n){for(let l=n,i=0;i{t||(t=!0,e.forEach(({resolve:n})=>n()),e=[])},waitReady:async()=>t?!0:new Promise((l,i)=>{e.push({resolve:l,reject:i})}),onReady(n){this.waitReady().then(n)},clear:()=>{t=!1,e.forEach(({reject:n})=>n()),e=[]},clearWithoutPromise:()=>{t=!1}}}function bi(t,e){if(typeof window>"u")return;const n=window.location.href,l=new URL(n);t.forEach(i=>{l.searchParams.delete(i)}),window.history.pushState({},"",l.toString())}function Xc(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}function Bu(t){document.readyState!=="loading"?t():document.addEventListener("DOMContentLoaded",()=>{t()})}function Nu(){return[()=>typeof window<"u"&&window.__NEXT_DATA__,()=>document.getElementById("__next")!==null,()=>document.querySelectorAll('script[src*="_next/"]').length>0,()=>document.querySelectorAll('link[href*="_next/"]').length>0].some(e=>e())}async function Fu(){return new Promise(t=>{let e=!1;function n(){var i;(i=window==null?void 0:window.next)!=null&&i.router&&setTimeout(()=>{Promise.resolve().then(()=>{t(!0),e=!0})},200)}const l=setInterval(()=>{n(),e&&clearInterval(l)},100);setTimeout(()=>{clearInterval(l),t(!1)},1e4)})}class Yu{get spaceId(){var e;return(e=window.__manus_space_editor_info)==null?void 0:e.spaceId}get apiHost(){var e;return((e=window.__manus__global_env)==null?void 0:e.apiHost)??"https://api.manus.im"}get host(){var e;return((e=window.__manus__global_env)==null?void 0:e.host)??"https://manus.im"}get patchList(){var e;return((e=window.__manus_space_editor_info)==null?void 0:e.patchList)??[]}get amplitudeKey(){return window.__manus__global_env.amplitudeKey??""}}const Se=new Yu,Uu={snakeToCamel:t=>t.replace(/(_[a-z])/g,e=>e.toUpperCase().replace("_","")),camelToSnake:t=>t.replace(/([A-Z])/g,e=>`_${e.toLowerCase()}`).replace(/^_/,"")};function Ju(t,e){return Uu.camelToSnake(e)}function Vl(t,e){return e&&(Array.isArray(e)?e.map(n=>Vl(t,n)):typeof e=="object"?Object.keys(e).reduce((n,l)=>{const i=e[l],r=Ju(t,l);return n[r]=Vl(t,i),n},{}):e)}var Vi=function(t,e){return Vi=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var i in l)Object.prototype.hasOwnProperty.call(l,i)&&(n[i]=l[i])},Vi(t,e)};function Me(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Vi(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var N=function(){return N=Object.assign||function(e){for(var n,l=1,i=arguments.length;l0&&r[r.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!r||d[1]>r[0]&&d[1]=t.length&&(t=void 0),{value:t&&t[l++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function U(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var l=n.call(t),i,r=[],o;try{for(;(e===void 0||e-- >0)&&!(i=l.next()).done;)r.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=l.return)&&n.call(l)}finally{if(o)throw o.error}}return r}function D(t,e,n){if(n||arguments.length===2)for(var l=0,i=e.length,r;l1||c(g,m)})},b&&(i[g]=b(i[g])))}function c(g,b){try{d(l[g](b))}catch(m){h(r[0][3],m)}}function d(g){g.value instanceof _t?Promise.resolve(g.value.v).then(s,u):h(r[0][2],g)}function s(g){c("next",g)}function u(g){c("throw",g)}function h(g,b){g(b),r.shift(),r.length&&c(r[0][0],r[0][1])}}function wu(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof H=="function"?H(t):t[Symbol.iterator](),n={},l("next"),l("throw"),l("return"),n[Symbol.asyncIterator]=function(){return this},n);function l(r){n[r]=t[r]&&function(o){return new Promise(function(a,c){o=t[r](o),i(a,c,o.done,o.value)})}}function i(r,o,a,c){Promise.resolve(c).then(function(d){r({value:d,done:a})},o)}}var Dt;(function(t){t.SET="$set",t.SET_ONCE="$setOnce",t.ADD="$add",t.APPEND="$append",t.PREPEND="$prepend",t.REMOVE="$remove",t.PREINSERT="$preInsert",t.POSTINSERT="$postInsert",t.UNSET="$unset",t.CLEAR_ALL="$clearAll"})(Dt||(Dt={}));var St;(function(t){t.IDENTIFY="$identify",t.GROUP_IDENTIFY="$groupidentify",t.REVENUE="revenue_amount"})(St||(St={}));var Qr="-",Nl="AMP",ku="".concat(Nl,"_unsent"),Ic="$default_instance",Rc="https://api2.amplitude.com/2/httpapi",zu="https://api.eu.amplitude.com/2/httpapi",Qu="https://api2.amplitude.com/batch",Lu="https://api.eu.amplitude.com/batch",Ku="utm_campaign",Tu="utm_content",Mu="utm_id",Hu="utm_medium",Du="utm_source",ju="utm_term",Lr="dclid",Kr="fbclid",Tr="gbraid",Mr="gclid",Hr="ko_click_id",Dr="li_fat_id",jr="msclkid",_r="rdt_cid",Or="ttclid",Pr="twclid",$r="wbraid",Ti={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,li_fat_id:void 0,msclkid:void 0,rdt_cid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},ml=["access-control-allow-origin","access-control-allow-credentials","access-control-expose-headers","access-control-max-age","access-control-allow-methods","access-control-allow-headers","accept-patch","accept-ranges","age","allow","alt-svc","cache-control","connection","content-disposition","content-encoding","content-language","content-length","content-location","content-md5","content-range","content-type","date","delta-base","etag","expires","im","last-modified","link","location","permanent","p3p","pragma","proxy-authenticate","public-key-pins","retry-after","server","status","strict-transport-security","trailer","transfer-encoding","tk","upgrade","vary","via","warning","www-authenticate","x-b3-traceid","x-frame-options"],_u=["authorization","cookie","set-cookie"],Ou=1e3,fi=function(t){if(Object.keys(t).length>Ou)return!1;for(var e in t){var n=t[e];if(!Ec(e,n))return!1}return!0},Ec=function(t,e){var n,l;if(typeof t!="string")return!1;if(Array.isArray(e)){var i=!0;try{for(var r=H(e),o=r.next();!o.done;o=r.next()){var a=o.value;if(Array.isArray(a))return!1;if(typeof a=="object")i=i&&fi(a);else if(!["number","string"].includes(typeof a))return!1;if(!i)return!1}}catch(c){n={error:c}}finally{try{o&&!o.done&&(l=r.return)&&l.call(r)}finally{if(n)throw n.error}}}else{if(e==null)return!1;if(typeof e=="object")return fi(e);if(!["number","string","boolean"].includes(typeof e))return!1}return!0},qt=(function(){function t(){this._propertySet=new Set,this._properties={}}return t.prototype.getUserProperties=function(){return N({},this._properties)},t.prototype.set=function(e,n){return this._safeSet(oe.SET,e,n),this},t.prototype.setOnce=function(e,n){return this._safeSet(oe.SET_ONCE,e,n),this},t.prototype.append=function(e,n){return this._safeSet(oe.APPEND,e,n),this},t.prototype.prepend=function(e,n){return this._safeSet(oe.PREPEND,e,n),this},t.prototype.postInsert=function(e,n){return this._safeSet(oe.POSTINSERT,e,n),this},t.prototype.preInsert=function(e,n){return this._safeSet(oe.PREINSERT,e,n),this},t.prototype.remove=function(e,n){return this._safeSet(oe.REMOVE,e,n),this},t.prototype.add=function(e,n){return this._safeSet(oe.ADD,e,n),this},t.prototype.unset=function(e){return this._safeSet(oe.UNSET,e,Qr),this},t.prototype.clearAll=function(){return this._properties={},this._properties[oe.CLEAR_ALL]=Qr,this},t.prototype._safeSet=function(e,n,l){if(this._validate(e,n,l)){var i=this._properties[e];return i===void 0&&(i={},this._properties[e]=i),i[n]=l,this._propertySet.add(n),!0}return!1},t.prototype._validate=function(e,n,l){return this._properties[oe.CLEAR_ALL]!==void 0||this._propertySet.has(n)?!1:e===oe.ADD?typeof l=="number":e!==oe.UNSET&&e!==oe.REMOVE?Ec(n,l):!0},t})(),oe;(function(t){t.SET="$set",t.SET_ONCE="$setOnce",t.ADD="$add",t.APPEND="$append",t.PREPEND="$prepend",t.REMOVE="$remove",t.PREINSERT="$preInsert",t.POSTINSERT="$postInsert",t.UNSET="$unset",t.CLEAR_ALL="$clearAll"})(oe||(oe={}));var Pu=[oe.CLEAR_ALL,oe.UNSET,oe.SET,oe.SET_ONCE,oe.ADD,oe.APPEND,oe.PREPEND,oe.PREINSERT,oe.POSTINSERT,oe.REMOVE],$u="Event tracked successfully",qu="Unexpected error occurred",eg="Event rejected due to exceeded retry count",tg="Event skipped due to optOut config",ng="Event rejected due to missing API key",lg="Invalid API key",ig="Client not initialized",Xe;(function(t){t.Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.PayloadTooLarge="payload_too_large",t.Invalid="invalid",t.Failed="failed",t.Timeout="Timeout",t.SystemError="SystemError"})(Xe||(Xe={}));var Ot=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Xe.Unknown),{event:t,code:e,message:n}},Fe=function(){var t="ampIntegrationContext";if(typeof globalThis<"u"&&typeof globalThis[t]<"u")return globalThis[t];if(typeof globalThis<"u")return globalThis;if(typeof window<"u")return window;if(typeof self<"u")return self;if(typeof global<"u")return global},rg=function(t){return t?(t^Math.random()*16>>t/4).toString(16):(String(1e7)+String(-1e3)+String(-4e3)+String(-8e3)+String(-1e11)).replace(/[018]/g,Wt)},qr=D([],U(Array(256).keys()),!1).map(function(t){return t.toString(16).padStart(2,"0")}),Wt=function(t){var e,n=Fe();if(!(!((e=n==null?void 0:n.crypto)===null||e===void 0)&&e.getRandomValues))return rg(t);var l=n.crypto.getRandomValues(new Uint8Array(16));return l[6]=l[6]&15|64,l[8]=l[8]&63|128,D([],U(l.entries()),!1).map(function(i){var r=U(i,2),o=r[0],a=r[1];return[4,6,8,10].includes(o)?"-".concat(qr[a]):qr[a]}).join("")},og=(function(){function t(e){this.client=e,this.queue=[],this.applying=!1,this.plugins=[]}return t.prototype.register=function(e,n){var l,i;return W(this,void 0,void 0,function(){return C(this,function(r){switch(r.label){case 0:return this.plugins.some(function(o){return o.name===e.name})?(this.loggerProvider.warn("Plugin with name ".concat(e.name," already exists, skipping registration")),[2]):(e.name===void 0&&(e.name=Wt(),this.loggerProvider.warn(`Plugin name is undefined. Generating a random UUID for plugin name: `.concat(e.name,`. Set a name for the plugin to prevent it from being added multiple times.`))),e.type=(l=e.type)!==null&&l!==void 0?l:"enrichment",[4,(i=e.setup)===null||i===void 0?void 0:i.call(e,n,this.client)]);case 1:return r.sent(),this.plugins.push(e),[2]}})})},t.prototype.deregister=function(e,n){var l;return W(this,void 0,void 0,function(){var i,r;return C(this,function(o){switch(o.label){case 0:return i=this.plugins.findIndex(function(a){return a.name===e}),i===-1?(n.loggerProvider.warn("Plugin with name ".concat(e," does not exist, skipping deregistration")),[2]):(r=this.plugins[i],this.plugins.splice(i,1),[4,(l=r.teardown)===null||l===void 0?void 0:l.call(r)]);case 1:return o.sent(),[2]}})})},t.prototype.reset=function(e){this.applying=!1;var n=this.plugins;n.map(function(l){var i;return(i=l.teardown)===null||i===void 0?void 0:i.call(l)}),this.plugins=[],this.client=e},t.prototype.push=function(e){var n=this;return new Promise(function(l){n.queue.push([e,l]),n.scheduleApply(0)})},t.prototype.scheduleApply=function(e){var n=this;this.applying||(this.applying=!0,setTimeout(function(){n.apply(n.queue.shift()).then(function(){n.applying=!1,n.queue.length>0&&n.scheduleApply(0)})},e))},t.prototype.apply=function(e){return W(this,void 0,void 0,function(){var n,l,i,r,o,a,c,g,b,d,s,u,h,g,b,m,f,p,A,X,y,I;return C(this,function(S){switch(S.label){case 0:if(!e)return[2];n=U(e,1),l=n[0],i=U(e,2),r=i[1],this.loggerProvider.log("Timeline.apply: Initial event",l),o=this.plugins.filter(function(G){return G.type==="before"}),S.label=1;case 1:S.trys.push([1,6,7,8]),a=H(o),c=a.next(),S.label=2;case 2:return c.done?[3,5]:(g=c.value,g.execute?[4,g.execute(N({},l))]:[3,4]);case 3:if(b=S.sent(),b===null)return this.loggerProvider.log("Timeline.apply: Event filtered out by before plugin '".concat(String(g.name),"', event: ").concat(JSON.stringify(l))),r({event:l,code:0,message:""}),[2];l=b,this.loggerProvider.log("Timeline.apply: Event after before plugin '".concat(String(g.name),"', event: ").concat(JSON.stringify(l))),S.label=4;case 4:return c=a.next(),[3,2];case 5:return[3,8];case 6:return d=S.sent(),A={error:d},[3,8];case 7:try{c&&!c.done&&(X=a.return)&&X.call(a)}finally{if(A)throw A.error}return[7];case 8:s=this.plugins.filter(function(G){return G.type==="enrichment"||G.type===void 0}),S.label=9;case 9:S.trys.push([9,14,15,16]),u=H(s),h=u.next(),S.label=10;case 10:return h.done?[3,13]:(g=h.value,g.execute?[4,g.execute(N({},l))]:[3,12]);case 11:if(b=S.sent(),b===null)return this.loggerProvider.log("Timeline.apply: Event filtered out by enrichment plugin '".concat(String(g.name),"', event: ").concat(JSON.stringify(l))),r({event:l,code:0,message:""}),[2];l=b,this.loggerProvider.log("Timeline.apply: Event after enrichment plugin '".concat(String(g.name),"', event: ").concat(JSON.stringify(l))),S.label=12;case 12:return h=u.next(),[3,10];case 13:return[3,16];case 14:return m=S.sent(),y={error:m},[3,16];case 15:try{h&&!h.done&&(I=u.return)&&I.call(u)}finally{if(y)throw y.error}return[7];case 16:return f=this.plugins.filter(function(G){return G.type==="destination"}),this.loggerProvider.log("Timeline.apply: Final event before destinations, event: ".concat(JSON.stringify(l))),p=f.map(function(G){var B=N({},l);return G.execute(B).catch(function(v){return Ot(B,0,String(v))})}),Promise.all(p).then(function(G){var B=U(G,1),v=B[0],J=v||Ot(l,100,"Event not tracked, no destination plugins on the instance");r(J)}),[2]}})})},t.prototype.flush=function(){return W(this,void 0,void 0,function(){var e,n,l,i=this;return C(this,function(r){switch(r.label){case 0:return e=this.queue,this.queue=[],[4,Promise.all(e.map(function(o){return i.apply(o)}))];case 1:return r.sent(),n=this.plugins.filter(function(o){return o.type==="destination"}),l=n.map(function(o){return o.flush&&o.flush()}),[4,Promise.all(l)];case 2:return r.sent(),[2]}})})},t.prototype.onIdentityChanged=function(e){this.plugins.forEach(function(n){var l;(l=n.onIdentityChanged)===null||l===void 0||l.call(n,e)})},t.prototype.onSessionIdChanged=function(e){this.plugins.forEach(function(n){var l;(l=n.onSessionIdChanged)===null||l===void 0||l.call(n,e)})},t.prototype.onOptOutChanged=function(e){this.plugins.forEach(function(n){var l;(l=n.onOptOutChanged)===null||l===void 0||l.call(n,e)})},t})(),ag=function(t,e,n){var l=typeof t=="string"?{event_type:t}:t;return N(N(N({},l),n),e&&{event_properties:e})},yc=function(t,e){var n=N(N({},e),{event_type:St.IDENTIFY,user_properties:t.getUserProperties()});return n},cg=function(t,e,n,l){var i,r=N(N({},l),{event_type:St.GROUP_IDENTIFY,group_properties:n.getUserProperties(),groups:(i={},i[t]=e,i)});return r},dg=function(t,e,n){var l,i=new qt;i.set(t,e);var r=N(N({},n),{event_type:St.IDENTIFY,user_properties:i.getUserProperties(),groups:(l={},l[t]=e,l)});return r},sg=function(t,e){return N(N({},e),{event_type:St.REVENUE,event_properties:t.getEventProperties()})},Oe=function(t){return{promise:t||Promise.resolve()}},ug=(function(){function t(e){e===void 0&&(e="$default"),this.initializing=!1,this.isReady=!1,this.q=[],this.dispatchQ=[],this.logEvent=this.track.bind(this),this.timeline=new og(this),this.name=e}return t.prototype._init=function(e){return W(this,void 0,void 0,function(){return C(this,function(n){switch(n.label){case 0:return this.config=e,this.timeline.reset(this),this.timeline.loggerProvider=this.config.loggerProvider,[4,this.runQueuedFunctions("q")];case 1:return n.sent(),this.isReady=!0,[2]}})})},t.prototype.runQueuedFunctions=function(e){return W(this,void 0,void 0,function(){var n,l,i,r,o,a,c,d;return C(this,function(s){switch(s.label){case 0:n=this[e],this[e]=[],s.label=1;case 1:s.trys.push([1,8,9,10]),l=H(n),i=l.next(),s.label=2;case 2:return i.done?[3,7]:(r=i.value,o=r(),o&&"promise"in o?[4,o.promise]:[3,4]);case 3:return s.sent(),[3,6];case 4:return[4,o];case 5:s.sent(),s.label=6;case 6:return i=l.next(),[3,2];case 7:return[3,10];case 8:return a=s.sent(),c={error:a},[3,10];case 9:try{i&&!i.done&&(d=l.return)&&d.call(l)}finally{if(c)throw c.error}return[7];case 10:return this[e].length?[4,this.runQueuedFunctions(e)]:[3,12];case 11:s.sent(),s.label=12;case 12:return[2]}})})},t.prototype.track=function(e,n,l){var i=ag(e,n,l);return Oe(this.dispatch(i))},t.prototype.identify=function(e,n){var l=yc(e,n);return Oe(this.dispatch(l))},t.prototype.groupIdentify=function(e,n,l,i){var r=cg(e,n,l,i);return Oe(this.dispatch(r))},t.prototype.setGroup=function(e,n,l){var i=dg(e,n,l);return Oe(this.dispatch(i))},t.prototype.revenue=function(e,n){var l=sg(e,n);return Oe(this.dispatch(l))},t.prototype.add=function(e){return this.isReady?this._addPlugin(e):(this.q.push(this._addPlugin.bind(this,e)),Oe())},t.prototype._addPlugin=function(e){return Oe(this.timeline.register(e,this.config))},t.prototype.remove=function(e){return this.isReady?this._removePlugin(e):(this.q.push(this._removePlugin.bind(this,e)),Oe())},t.prototype._removePlugin=function(e){return Oe(this.timeline.deregister(e,this.config))},t.prototype.dispatchWithCallback=function(e,n){if(!this.isReady)return n(Ot(e,0,ig));this.process(e).then(n)},t.prototype.dispatch=function(e){return W(this,void 0,void 0,function(){var n=this;return C(this,function(l){return this.isReady?[2,this.process(e)]:[2,new Promise(function(i){n.dispatchQ.push(n.dispatchWithCallback.bind(n,e,i))})]})})},t.prototype.getOperationAppliedUserProperties=function(e){var n={};if(e===void 0)return n;var l={};return Object.keys(e).forEach(function(i){Object.values(Dt).includes(i)||(l[i]=e[i])}),Pu.forEach(function(i){if(Object.keys(e).includes(i)){var r=e[i];switch(i){case Dt.CLEAR_ALL:Object.keys(n).forEach(function(o){delete n[o]});break;case Dt.UNSET:Object.keys(r).forEach(function(o){delete n[o]});break;case Dt.SET:Object.assign(n,r);break}}}),Object.assign(n,l),n},t.prototype.process=function(e){return W(this,void 0,void 0,function(){var n,r,l,i,r;return C(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),this.config.optOut?[2,Ot(e,0,tg)]:(e.event_type===St.IDENTIFY&&(n=this.getOperationAppliedUserProperties(e.user_properties),this.timeline.onIdentityChanged({userProperties:n})),[4,this.timeline.push(e)]);case 1:return r=o.sent(),r.code===200?this.config.loggerProvider.log(r.message):r.code===100?this.config.loggerProvider.warn(r.message):this.config.loggerProvider.error(r.message),[2,r];case 2:return l=o.sent(),i=String(l),this.config.loggerProvider.error(i),r=Ot(e,0,i),[2,r];case 3:return[2]}})})},t.prototype.setOptOut=function(e){if(!this.isReady){this.q.push(this._setOptOut.bind(this,!!e));return}this._setOptOut(e)},t.prototype._setOptOut=function(e){this.config.optOut!==e&&(this.timeline.onOptOutChanged(e),this.config.optOut=!!e)},t.prototype.flush=function(){return Oe(this.timeline.flush())},t.prototype.plugin=function(e){var n=this.timeline.plugins.find(function(l){return l.name===e});if(n===void 0){this.config.loggerProvider.debug("Cannot find plugin with name ".concat(e));return}return n},t.prototype.plugins=function(e){return this.timeline.plugins.filter(function(n){return n instanceof e})},t})(),gg=(function(){function t(e,n){this.key="AMP_remote_config_".concat(e.substring(0,10)),this.logger=n}return t.prototype.fetchConfig=function(){var e=null,n={remoteConfig:null,lastFetch:new Date};try{e=localStorage.getItem(this.key)}catch(i){return this.logger.debug("Remote config localstorage failed to access: ",i),Promise.resolve(n)}if(e===null)return this.logger.debug("Remote config localstorage gets null because the key does not exist"),Promise.resolve(n);try{var l=JSON.parse(e);return this.logger.debug("Remote config localstorage parsed successfully: ".concat(JSON.stringify(l))),Promise.resolve({remoteConfig:l.remoteConfig,lastFetch:new Date(l.lastFetch)})}catch(i){return this.logger.debug("Remote config localstorage failed to parse: ",i),localStorage.removeItem(this.key),Promise.resolve(n)}},t.prototype.setConfig=function(e){try{return localStorage.setItem(this.key,JSON.stringify(e)),this.logger.debug("Remote config localstorage set successfully."),Promise.resolve(!0)}catch(n){this.logger.debug("Remote config localstorage failed to set: ",n)}return Promise.resolve(!1)},t})(),hg="https://sr-client-cfg.amplitude.com/config",bg="https://sr-client-cfg.eu.amplitude.com/config",Vg=3,mg=1e3,fg=(function(){function t(e,n,l){l===void 0&&(l="US"),this.callbackInfos=[],this.apiKey=e,this.serverUrl=l==="US"?hg:bg,this.logger=n,this.storage=new gg(e,n)}return t.prototype.subscribe=function(e,n,l){var i=Wt(),r={id:i,key:e,deliveryMode:n,callback:l};return this.callbackInfos.push(r),n==="all"?this.subscribeAll(r):this.subscribeWaitForRemote(r,n.timeout),i},t.prototype.unsubscribe=function(e){var n=this.callbackInfos.findIndex(function(l){return l.id===e});return n===-1?(this.logger.debug("Remote config client unsubscribe failed because callback with id ".concat(e," doesn't exist.")),!1):(this.callbackInfos.splice(n,1),this.logger.debug("Remote config client unsubscribe succeeded removing callback with id ".concat(e,".")),!0)},t.prototype.updateConfigs=function(){return W(this,void 0,void 0,function(){var e,n=this;return C(this,function(l){switch(l.label){case 0:return[4,this.fetch()];case 1:return e=l.sent(),this.storage.setConfig(e),this.callbackInfos.forEach(function(i){n.sendCallback(i,e,"remote")}),[2]}})})},t.prototype.subscribeAll=function(e){return W(this,void 0,void 0,function(){var n,l,i,r=this;return C(this,function(o){switch(o.label){case 0:return n=this.fetch().then(function(a){r.logger.debug("Remote config client subscription all mode fetched from remote: ".concat(JSON.stringify(a))),r.sendCallback(e,a,"remote"),r.storage.setConfig(a)}),l=this.storage.fetchConfig().then(function(a){return a}),[4,Promise.race([n,l])];case 1:return i=o.sent(),i!==void 0&&(this.logger.debug("Remote config client subscription all mode fetched from cache: ".concat(JSON.stringify(i))),this.sendCallback(e,i,"cache")),[4,n];case 2:return o.sent(),[2]}})})},t.prototype.subscribeWaitForRemote=function(e,n){return W(this,void 0,void 0,function(){var l,i,i;return C(this,function(r){switch(r.label){case 0:l=new Promise(function(o,a){setTimeout(function(){a("Timeout exceeded")},n)}),r.label=1;case 1:return r.trys.push([1,3,,5]),[4,Promise.race([this.fetch(),l])];case 2:return i=r.sent(),this.logger.debug("Remote config client subscription wait for remote mode returns from remote."),this.sendCallback(e,i,"remote"),this.storage.setConfig(i),[3,5];case 3:return r.sent(),this.logger.debug("Remote config client subscription wait for remote mode exceeded timeout. Try to fetch from cache."),[4,this.storage.fetchConfig()];case 4:return i=r.sent(),i.remoteConfig!==null?(this.logger.debug("Remote config client subscription wait for remote mode returns a cached copy."),this.sendCallback(e,i,"cache")):(this.logger.debug("Remote config client subscription wait for remote mode failed to fetch cache."),this.sendCallback(e,i,"remote")),[3,5];case 5:return[2]}})})},t.prototype.sendCallback=function(e,n,l){e.lastCallback=new Date;var i;e.key?i=e.key.split(".").reduce(function(r,o){return r===null?r:o in r?r[o]:null},n.remoteConfig):i=n.remoteConfig,e.callback(i,l,n.lastFetch)},t.prototype.fetch=function(e,n){return e===void 0&&(e=Vg),n===void 0&&(n=mg),W(this,void 0,void 0,function(){var l,i,r,o,a,c,d=this;return C(this,function(s){switch(s.label){case 0:l=n/e,i={remoteConfig:null,lastFetch:new Date},r=function(u){var h,g,b,m,f,p;return C(this,function(A){switch(A.label){case 0:h=new AbortController,g=setTimeout(function(){return h.abort()},n),A.label=1;case 1:return A.trys.push([1,7,8,9]),[4,fetch(o.getUrlParams(),{method:"GET",headers:{Accept:"*/*"},signal:h.signal})];case 2:return b=A.sent(),b.ok?[3,4]:[4,b.text()];case 3:return m=A.sent(),o.logger.debug("Remote config client fetch with retry time ".concat(e," failed with ").concat(b.status,": ").concat(m)),[3,6];case 4:return[4,b.json()];case 5:return f=A.sent(),[2,{value:{remoteConfig:f,lastFetch:new Date}}];case 6:return[3,9];case 7:return p=A.sent(),p instanceof Error&&p.name==="AbortError"?o.logger.debug("Remote config client fetch with retry time ".concat(e," timed out after ").concat(n,"ms")):o.logger.debug("Remote config client fetch with retry time ".concat(e," is rejected because: "),p),[3,9];case 8:return clearTimeout(g),[7];case 9:return u0&&(this.quantity=e),this},t.prototype.setPrice=function(e){return this.price=e,this},t.prototype.setRevenueType=function(e){return this.revenueType=e,this},t.prototype.setCurrency=function(e){return this.currency=e,this},t.prototype.setRevenue=function(e){return this.revenue=e,this},t.prototype.setReceipt=function(e){return this.receipt=e,this},t.prototype.setReceiptSig=function(e){return this.receiptSig=e,this},t.prototype.setEventProperties=function(e){return fi(e)&&(this.properties=e),this},t.prototype.getEventProperties=function(){var e=this.properties?N({},this.properties):{};return e[gt.REVENUE_PRODUCT_ID]=this.productId,e[gt.REVENUE_QUANTITY]=this.quantity,e[gt.REVENUE_PRICE]=this.price,e[gt.REVENUE_TYPE]=this.revenueType,e[gt.REVENUE_CURRENCY]=this.currency,e[gt.REVENUE]=this.revenue,e[gt.RECEIPT]=this.receipt,e[gt.RECEIPT_SIG]=this.receiptSig,e},t})(),gt;(function(t){t.REVENUE_PRODUCT_ID="$productId",t.REVENUE_QUANTITY="$quantity",t.REVENUE_PRICE="$price",t.REVENUE_TYPE="$revenueType",t.REVENUE_CURRENCY="$currency",t.REVENUE="$revenue",t.RECEIPT="$receipt",t.RECEIPT_SIG="$receiptSig"})(gt||(gt={}));var pg=function(t,e){var n=Math.max(e,1);return t.reduce(function(l,i,r){var o=Math.floor(r/n);return l[o]||(l[o]=[]),l[o].push(i),l},[])},rl=function(){return{flushMaxRetries:12,flushQueueSize:200,flushIntervalMillis:1e4,instanceName:Ic,logLevel:et.Warn,loggerProvider:new vc,offline:!1,optOut:!1,serverUrl:Rc,serverZone:"US",useBatch:!1}},Zg=(function(){function t(e){var n,l,i,r;this._optOut=!1;var o=rl();this.apiKey=e.apiKey,this.flushIntervalMillis=(n=e.flushIntervalMillis)!==null&&n!==void 0?n:o.flushIntervalMillis,this.flushMaxRetries=e.flushMaxRetries||o.flushMaxRetries,this.flushQueueSize=e.flushQueueSize||o.flushQueueSize,this.instanceName=e.instanceName||o.instanceName,this.loggerProvider=e.loggerProvider||o.loggerProvider,this.logLevel=(l=e.logLevel)!==null&&l!==void 0?l:o.logLevel,this.minIdLength=e.minIdLength,this.plan=e.plan,this.ingestionMetadata=e.ingestionMetadata,this.offline=e.offline!==void 0?e.offline:o.offline,this.optOut=(i=e.optOut)!==null&&i!==void 0?i:o.optOut,this.serverUrl=e.serverUrl,this.serverZone=e.serverZone||o.serverZone,this.storageProvider=e.storageProvider,this.transportProvider=e.transportProvider,this.useBatch=(r=e.useBatch)!==null&&r!==void 0?r:o.useBatch,this.loggerProvider.enable(this.logLevel);var a=Sc(e.serverUrl,e.serverZone,e.useBatch);this.serverZone=a.serverZone,this.serverUrl=a.serverUrl}return Object.defineProperty(t.prototype,"optOut",{get:function(){return this._optOut},set:function(e){this._optOut=e},enumerable:!1,configurable:!0}),t})(),Gg=function(t,e){return t==="EU"?e?Lu:zu:e?Qu:Rc},Sc=function(t,e,n){if(t===void 0&&(t=""),e===void 0&&(e=rl().serverZone),n===void 0&&(n=rl().useBatch),t)return{serverUrl:t,serverZone:void 0};var l=["US","EU"].includes(e)?e:rl().serverZone;return{serverZone:l,serverUrl:Gg(l,n)}},Xg=(function(){function t(){this.sdk={metrics:{histogram:{}}}}return t.prototype.recordHistogram=function(e,n){this.sdk.metrics.histogram[e]=n},t})();function Ig(t){return t instanceof Error?t.message:String(t)}function Dn(t){var e="";try{"body"in t&&(e=JSON.stringify(t.body,null,2))}catch{}return e}var Rg=(function(){function t(){this.name="amplitude",this.type="destination",this.retryTimeout=1e3,this.throttleTimeout=3e4,this.storageKey="",this.scheduleId=null,this.scheduledTimeout=0,this.flushId=null,this.queue=[]}return t.prototype.setup=function(e){var n;return W(this,void 0,void 0,function(){var l,i=this;return C(this,function(r){switch(r.label){case 0:return this.config=e,this.storageKey="".concat(ku,"_").concat(this.config.apiKey.substring(0,10)),[4,(n=this.config.storageProvider)===null||n===void 0?void 0:n.get(this.storageKey)];case 1:return l=r.sent(),l&&l.length>0&&Promise.all(l.map(function(o){return i.execute(o)})).catch(),[2,Promise.resolve(void 0)]}})})},t.prototype.execute=function(e){var n=this;return e.insert_id||(e.insert_id=Wt()),new Promise(function(l){var i={event:e,attempts:0,callback:function(r){return l(r)},timeout:0};n.queue.push(i),n.schedule(n.config.flushIntervalMillis),n.saveEvents()})},t.prototype.removeEventsExceedFlushMaxRetries=function(e){var n=this;return e.filter(function(l){return l.attempts+=1,l.attemptsthis.scheduledTimeout)){this.scheduleId&&clearTimeout(this.scheduleId),this.scheduledTimeout=e,this.scheduleId=setTimeout(function(){n.queue=n.queue.map(function(l){return l.timeout=0,l}),n.flush(!0)},e);return}},t.prototype.resetSchedule=function(){this.scheduleId=null,this.scheduledTimeout=0},t.prototype.flush=function(e){return e===void 0&&(e=!1),W(this,void 0,void 0,function(){var n,l,i,r=this;return C(this,function(o){switch(o.label){case 0:return this.config.offline?(this.resetSchedule(),this.config.loggerProvider.debug("Skipping flush while offline."),[2]):this.flushId?(this.resetSchedule(),this.config.loggerProvider.debug("Skipping flush because previous flush has not resolved."),[2]):(this.flushId=this.scheduleId,this.resetSchedule(),n=[],l=[],this.queue.forEach(function(a){return a.timeout===0?n.push(a):l.push(a)}),i=pg(n,this.config.flushQueueSize),[4,i.reduce(function(a,c){return W(r,void 0,void 0,function(){return C(this,function(d){switch(d.label){case 0:return[4,a];case 1:return d.sent(),[4,this.send(c,e)];case 2:return[2,d.sent()]}})})},Promise.resolve())]);case 1:return o.sent(),this.flushId=null,this.scheduleEvents(this.queue),[2]}})})},t.prototype.send=function(e,n){return n===void 0&&(n=!0),W(this,void 0,void 0,function(){var l,i,r,o,a;return C(this,function(c){switch(c.label){case 0:if(!this.config.apiKey)return[2,this.fulfillRequest(e,400,ng)];l={api_key:this.config.apiKey,events:e.map(function(d){var s=d.event;s.extra;var u=mi(s,["extra"]);return u}),options:{min_id_length:this.config.minIdLength},client_upload_time:new Date().toISOString(),request_metadata:this.config.requestMetadata},this.config.requestMetadata=new Xg,c.label=1;case 1:return c.trys.push([1,3,,4]),i=Sc(this.config.serverUrl,this.config.serverZone,this.config.useBatch).serverUrl,[4,this.config.transportProvider.send(i,l)];case 2:return r=c.sent(),r===null?(this.fulfillRequest(e,0,qu),[2]):n?(this.handleResponse(r,e),[3,4]):("body"in r?this.fulfillRequest(e,r.statusCode,"".concat(r.status,": ").concat(Dn(r))):this.fulfillRequest(e,r.statusCode,r.status),[2]);case 3:return o=c.sent(),a=Ig(o),this.config.loggerProvider.error(a),this.handleResponse({status:Xe.Failed,statusCode:0},e),[3,4];case 4:return[2]}})})},t.prototype.handleResponse=function(e,n){var l=e.status;switch(l){case Xe.Success:{this.handleSuccessResponse(e,n);break}case Xe.Invalid:{this.handleInvalidResponse(e,n);break}case Xe.PayloadTooLarge:{this.handlePayloadTooLargeResponse(e,n);break}case Xe.RateLimit:{this.handleRateLimitResponse(e,n);break}default:{this.config.loggerProvider.warn(`{code: 0, error: "Status '`.concat(l,"' provided for ").concat(n.length,' events"}')),this.handleOtherResponse(n);break}}},t.prototype.handleSuccessResponse=function(e,n){this.fulfillRequest(n,e.statusCode,$u)},t.prototype.handleInvalidResponse=function(e,n){var l=this;if(e.body.missingField||e.body.error.startsWith(lg)){this.fulfillRequest(n,e.statusCode,e.body.error);return}var i=D(D(D(D([],U(Object.values(e.body.eventsWithInvalidFields)),!1),U(Object.values(e.body.eventsWithMissingFields)),!1),U(Object.values(e.body.eventsWithInvalidIdLengths)),!1),U(e.body.silencedEvents),!1).flat(),r=new Set(i),o=n.filter(function(c,d){if(r.has(d)){l.fulfillRequest([c],e.statusCode,e.body.error);return}return!0});o.length>0&&this.config.loggerProvider.warn(Dn(e));var a=this.removeEventsExceedFlushMaxRetries(o);this.scheduleEvents(a)},t.prototype.handlePayloadTooLargeResponse=function(e,n){if(n.length===1){this.fulfillRequest(n,e.statusCode,e.body.error);return}this.config.loggerProvider.warn(Dn(e)),this.config.flushQueueSize/=2;var l=this.removeEventsExceedFlushMaxRetries(n);this.scheduleEvents(l)},t.prototype.handleRateLimitResponse=function(e,n){var l=this,i=Object.keys(e.body.exceededDailyQuotaUsers),r=Object.keys(e.body.exceededDailyQuotaDevices),o=e.body.throttledEvents,a=new Set(i),c=new Set(r),d=new Set(o),s=n.filter(function(h,g){if(h.event.user_id&&a.has(h.event.user_id)||h.event.device_id&&c.has(h.event.device_id)){l.fulfillRequest([h],e.statusCode,e.body.error);return}return d.has(g)&&(h.timeout=l.throttleTimeout),!0});s.length>0&&this.config.loggerProvider.warn(Dn(e));var u=this.removeEventsExceedFlushMaxRetries(s);this.scheduleEvents(u)},t.prototype.handleOtherResponse=function(e){var n=this,l=e.map(function(r){return r.timeout=r.attempts*n.retryTimeout,r}),i=this.removeEventsExceedFlushMaxRetries(l);this.scheduleEvents(i)},t.prototype.fulfillRequest=function(e,n,l){this.removeEvents(e),e.forEach(function(i){return i.callback(Ot(i.event,n,l))})},t.prototype.saveEvents=function(){if(this.config.storageProvider){var e=this.queue.map(function(n){return n.event});this.config.storageProvider.set(this.storageKey,e)}},t.prototype.removeEvents=function(e){this.queue=this.queue.filter(function(n){return!e.some(function(l){return l.event.insert_id===n.event.insert_id})}),this.saveEvents()},t})(),Eg=(function(){function t(){}return t.prototype.getApplicationContext=function(){return{versionName:this.versionName,language:yg(),platform:"Web",os:void 0,deviceModel:void 0}},t})(),yg=function(){return typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]||navigator.language)||""},vg=(function(){function t(){this.queue=[]}return t.prototype.logEvent=function(e){this.receiver?this.receiver(e):this.queue.length<512&&this.queue.push(e)},t.prototype.setEventReceiver=function(e){this.receiver=e,this.queue.length>0&&(this.queue.forEach(function(n){e(n)}),this.queue=[])},t})(),Rt=function(){return Rt=Object.assign||function(e){for(var n,l=1,i=arguments.length;l=t.length&&(t=void 0),{value:t&&t[l++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function eo(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var l=n.call(t),i,r=[],o;try{for(;(e===void 0||e-- >0)&&!(i=l.next()).done;)r.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=l.return)&&n.call(l)}finally{if(o)throw o.error}}return r}var al=function(t,e){var n,l,i=["string","number","boolean","undefined"],r=typeof t,o=typeof e;if(r!==o)return!1;try{for(var a=ol(i),c=a.next();!c.done;c=a.next()){var d=c.value;if(d===r)return t===e}}catch(f){n={error:f}}finally{try{c&&!c.done&&(l=a.return)&&l.call(a)}finally{if(n)throw n.error}}if(t==null&&e==null)return!0;if(t==null||e==null||t.length!==e.length)return!1;var s=Array.isArray(t),u=Array.isArray(e);if(s!==u)return!1;if(s&&u){for(var h=0;ht},Wc=function(t,e,n){return e===void 0&&(e=""),n===void 0&&(n=10),[Nl,e,t.substring(0,n)].filter(Boolean).join("_")},Jg=function(t){return"".concat(Nl.toLowerCase(),"_").concat(t.substring(0,6))},xg=function(){var t,e,n,l;if(typeof navigator>"u")return"";var i=navigator.userLanguage;return(l=(n=(e=(t=navigator.languages)===null||t===void 0?void 0:t[0])!==null&&e!==void 0?e:navigator.language)!==null&&n!==void 0?n:i)!==null&&l!==void 0?l:""},fl=function(){var t,e=Fe();if(!(!((t=e==null?void 0:e.location)===null||t===void 0)&&t.search))return{};var n=e.location.search.substring(1).split("&").filter(Boolean),l=n.reduce(function(i,r){var o=r.split("=",2),a=to(o[0]),c=to(o[1]);return c&&(i[a]=c),i},{});return l},to=function(t){t===void 0&&(t="");try{return decodeURIComponent(t)}catch{return""}},wg=function(t){var e=new Error().stack||"";return e.split(` `).slice(2+t).map(function(n){return n.trim()})},ue=function(t){return function(){var e=N({},t.config),n=e.loggerProvider,l=e.logLevel;return{logger:n,logLevel:l}}},kg=function(t,e){var n,l;e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,"");try{for(var i=H(e.split(".")),r=i.next();!r.done;r=i.next()){var o=r.value;if(o in t)t=t[o];else return}}catch(a){n={error:a}}finally{try{r&&!r.done&&(l=i.return)&&l.call(i)}finally{if(n)throw n.error}}return t},ge=function(t,e){return function(){var n,l,i={};try{for(var r=H(e),o=r.next();!o.done;o=r.next()){var a=o.value;i[a]=kg(t,a)}}catch(c){n={error:c}}finally{try{o&&!o.done&&(l=r.return)&&l.call(r)}finally{if(n)throw n.error}}return i}},he=function(t,e,n,l,i){return i===void 0&&(i=null),function(){for(var r=[],o=0;o=200&&e<300?Xe.Success:e===429?Xe.RateLimit:e===413?Xe.PayloadTooLarge:e===408?Xe.Timeout:e>=400&&e<500?Xe.Invalid:e>=500?Xe.Failed:Xe.Unknown},t})(),Kg=(function(t){Me(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.send=function(n,l){return W(this,void 0,void 0,function(){var i,r,o;return C(this,function(a){switch(a.label){case 0:if(typeof fetch>"u")throw new Error("FetchTransport is not supported");return i={headers:{"Content-Type":"application/json",Accept:"*/*"},body:JSON.stringify(l),method:"POST"},[4,fetch(n,i)];case 1:return r=a.sent(),[4,r.text()];case 2:o=a.sent();try{return[2,this.buildResponse(JSON.parse(o))]}catch{return[2,this.buildResponse({code:r.status})]}return[2]}})})},e})(Hi),Tg=null,Mg=["a","button","input","select","textarea","label","video","audio",'[contenteditable="true" i]',"[data-amp-default-track]",".amp-default-track"],Nc="data-amp-track-",Hg=["div","span","h1","h2","h3","h4","h5","h6"],Dg=["a","button",'[role="button"]','[role="link"]','[role="menuitem"]','[role="menuitemcheckbox"]','[role="menuitemradio"]','[role="option"]','[role="tab"]','[role="treeitem"]','[contenteditable="true" i]'],jg=D(['input[type="button"]','input[type="submit"]','input[type="reset"]','input[type="image"]','input[type="file"]'],U(Dg),!1),_g=["*"],Og=1e3,Pg=4,$g=50;function qg(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null||t===void 0}function Fc(t,e,n){if(t){var l=e.map(lo),i=n.map(lo);Yc({json:t,allowlist:l,excludelist:i,ancestors:[]})}}function Yc(t){var e,n,l=t.json,i=t.targetObject,r=t.allowlist,o=t.excludelist,a=t.ancestors,c=t.parentObject,d=t.targetKey;i||(i=l);var s=Object.keys(i);try{for(var u=H(s),h=u.next();!h.done;h=u.next()){var g=h.value,b=D(D([],U(a),!1),[g],!1);qg(i[g])?(!io(b,r)||io(b,o))&&delete i[g]:Yc({json:l,targetObject:i[g],allowlist:r,excludelist:o,ancestors:b,parentObject:i,targetKey:g})}}catch(m){e={error:m}}finally{try{h&&!h.done&&(n=u.return)&&n.call(u)}finally{if(e)throw e.error}}Object.keys(i).length===0&&c&&d&&delete c[d]}function lo(t){return t.startsWith("/")&&(t=t.slice(1)),t.split("/").map(function(e){return e.replace(/~0/g,"~").replace(/~1/g,"/")})}function Zi(t,e,n,l){if(n===void 0&&(n=0),l===void 0&&(l=0),l===e.length)return n===t.length;if(n===t.length){for(;l=e)return}}catch(f){n={error:f}}finally{try{h&&!h.done&&(l=u.return)&&l.call(u)}finally{if(n)throw n.error}}i=d}else if(t instanceof ReadableStream){a=t;return}return i}}var lh=(function(){function t(e){this.response=e}return t.prototype.headers=function(e){var n;if(e===void 0&&(e=[]),this.response.headers instanceof Headers){var l=this.response.headers,i={};return(n=l==null?void 0:l.forEach)===null||n===void 0||n.call(l,function(r,o){i[o]=r}),Fl(i,{allow:e})}},Object.defineProperty(t.prototype,"bodySize",{get:function(){var e,n;if(this._bodySize!==void 0)return this._bodySize;var l=(n=(e=this.response.headers)===null||e===void 0?void 0:e.get)===null||n===void 0?void 0:n.call(e,"content-length"),i=l?parseInt(l,10):void 0;return this._bodySize=i,i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.response.status},enumerable:!1,configurable:!0}),t.prototype.text=function(){return W(this,void 0,void 0,function(){var e,n,l;return C(this,function(i){switch(i.label){case 0:this.clonedResponse||(this.clonedResponse=this.response.clone()),i.label=1;case 1:return i.trys.push([1,3,,4]),e=this.clonedResponse.text(),n=new Promise(function(r){return setTimeout(function(){return r(null)},eh)}),[4,Promise.race([e,n])];case 2:return l=i.sent(),[2,l];case 3:return i.sent(),[2,null];case 4:return[2]}})})},t.prototype.json=function(e,n){return e===void 0&&(e=[]),n===void 0&&(n=[]),W(this,void 0,void 0,function(){var l;return C(this,function(i){switch(i.label){case 0:return e.length===0?[2,null]:[4,this.text()];case 1:return l=i.sent(),[2,Di(l,e,n)]}})})},t})(),ih=(function(){function t(e,n,l,i){this.statusCode=e,this.headersString=n,this.size=l,this.getJson=i}return Object.defineProperty(t.prototype,"bodySize",{get:function(){return this.size},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.statusCode},enumerable:!1,configurable:!0}),t.prototype.headers=function(e){var n,l;if(e===void 0&&(e=[]),!this.headersString)return{};var i={},r=this.headersString.split(`\r `);try{for(var o=H(r),a=o.next();!a.done;a=o.next()){var c=a.value,d=U(c.split(": "),2),s=d[0],u=d[1];s&&u&&(i[s]=u)}}catch(h){n={error:h}}finally{try{a&&!a.done&&(l=o.return)&&l.call(o)}finally{if(n)throw n.error}}return Fl(i,{allow:e})},t.prototype.json=function(e,n){return e===void 0&&(e=[]),n===void 0&&(n=[]),W(this,void 0,void 0,function(){var l;return C(this,function(i){return e.length===0?[2,null]:(l=this.getJson(),l?(Fc(l,e,n),[2,l]):[2,null])})})},t})();function Di(t,e,n){if(!t)return null;try{var l=JSON.parse(t);return Fc(l,e,n),l}catch{return null}}var An;(function(t){t.REDACT="redact",t.REMOVE="remove"})(An||(An={}));var ro="[REDACTED]",Fl=function(t,e){var n,l,i=e.allow,r=i===void 0?[]:i,o=e.strategy,a=o===void 0?An.REMOVE:o,c=D([],U(_u),!1),d={},s=function(b){var m=b.toLowerCase();c.find(function(f){return f.toLowerCase()===m})?a===An.REDACT&&(d[b]=ro):r.find(function(f){return f.toLowerCase()===m})?d[b]=t[b]:a===An.REDACT&&(d[b]=ro)};try{for(var u=H(Object.keys(t)),h=u.next();!h.done;h=u.next()){var g=h.value;s(g)}}catch(b){n={error:b}}finally{try{h&&!h.done&&(l=u.return)&&l.call(u)}finally{if(n)throw n.error}}return d},rh=(function(){function t(e,n,l,i,r,o,a,c,d,s,u){a===void 0&&(a=0),this.type=e,this.method=n,this.timestamp=l,this.startTime=i,this.url=r,this.requestWrapper=o,this.status=a,this.duration=c,this.responseWrapper=d,this.error=s,this.endTime=u}return t.prototype.toSerializable=function(){var e,n,l,i,r={type:this.type,method:this.method,url:this.url,timestamp:this.timestamp,status:this.status,duration:this.duration,error:this.error,startTime:this.startTime,endTime:this.endTime,requestHeaders:(e=this.requestWrapper)===null||e===void 0?void 0:e.headers(D([],U(ml),!1)),requestBodySize:(n=this.requestWrapper)===null||n===void 0?void 0:n.bodySize,responseHeaders:(l=this.responseWrapper)===null||l===void 0?void 0:l.headers(D([],U(ml),!1)),responseBodySize:(i=this.responseWrapper)===null||i===void 0?void 0:i.bodySize};return Object.fromEntries(Object.entries(r).filter(function(o){var a=U(o,2);a[0];var c=a[1];return c!==void 0}))},t})();function oh(t){return typeof t=="object"&&t!==null&&"url"in t&&"method"in t}var ah=(function(){function t(e,n){n===void 0&&(n=Wt()),this.callback=e,this.id=n}return t})(),ch=(function(){function t(e){this.eventCallbacks=new Map,this.isObserving=!1,this.logger=e;var n=Fe();t.isSupported()&&(this.globalScope=n)}return t.isSupported=function(){var e=Fe();return!!e&&!!e.fetch},t.prototype.subscribe=function(e,n){var l,i,r,o,a,c,d,s,u,h;if(this.logger||(this.logger=n),this.eventCallbacks.set(e.id,e),!this.isObserving){var g=(r=(i=(l=this.globalScope)===null||l===void 0?void 0:l.XMLHttpRequest)===null||i===void 0?void 0:i.prototype)===null||r===void 0?void 0:r.open,b=(c=(a=(o=this.globalScope)===null||o===void 0?void 0:o.XMLHttpRequest)===null||a===void 0?void 0:a.prototype)===null||c===void 0?void 0:c.send,m=(u=(s=(d=this.globalScope)===null||d===void 0?void 0:d.XMLHttpRequest)===null||s===void 0?void 0:s.prototype)===null||u===void 0?void 0:u.setRequestHeader;g&&b&&m&&this.observeXhr(g,b,m);var f=(h=this.globalScope)===null||h===void 0?void 0:h.fetch;f&&this.observeFetch(f),this.isObserving=!0}},t.prototype.unsubscribe=function(e){this.eventCallbacks.delete(e.id)},t.prototype.triggerEventCallbacks=function(e){var n=this;this.eventCallbacks.forEach(function(l){var i;try{l.callback(e)}catch(r){(i=n.logger)===null||i===void 0||i.debug("an unexpected error occurred while triggering event callbacks",r)}})},t.prototype.handleNetworkRequestEvent=function(e,n,l,i,r,o,a){var c,d;if(!(o===void 0||a===void 0)){var s,u="GET";if(oh(n)?(s=n.url,u=n.method):s=(c=n==null?void 0:n.toString)===null||c===void 0?void 0:c.call(n),s)try{var h=new URL(s);s="".concat(h.protocol,"//").concat(h.host).concat(h.pathname).concat(h.search).concat(h.hash)}catch(A){(d=this.logger)===null||d===void 0||d.error("an unexpected error occurred while parsing the URL",A)}u=(l==null?void 0:l.method)||u;var g,b;i&&(g=i.status),r&&(b={name:r.name||"UnknownError",message:r.message||"An unknown error occurred"},g=0);var m=Math.floor(performance.now()-a),f=Math.floor(o+m),p=new rh(e,u,o,o,s,l,g,m,i,b,f);this.triggerEventCallbacks(p)}},t.prototype.getTimestamps=function(){var e,n;return{startTime:(e=Date.now)===null||e===void 0?void 0:e.call(Date),durationStart:(n=performance==null?void 0:performance.now)===null||n===void 0?void 0:n.call(performance)}},t.prototype.observeFetch=function(e){var n=this;!this.globalScope||!e||(this.globalScope.fetch=function(l,i){return W(n,void 0,void 0,function(){var r,o,a,c,d,s;return C(this,function(u){switch(u.label){case 0:try{r=this.getTimestamps()}catch(h){(d=this.logger)===null||d===void 0||d.debug("an unexpected error occurred while retrieving timestamps",h)}u.label=1;case 1:return u.trys.push([1,3,,4]),[4,e(l,i)];case 2:return o=u.sent(),[3,4];case 3:return c=u.sent(),a=c,[3,4];case 4:try{this.handleNetworkRequestEvent("fetch",l,i?new th(i):void 0,o?new lh(o):void 0,a,r==null?void 0:r.startTime,r==null?void 0:r.durationStart)}catch(h){(s=this.logger)===null||s===void 0||s.debug("an unexpected error occurred while handling fetch",h)}if(o)return[2,o];throw a}})})})},t.createXhrJsonParser=function(e,n){return function(){var l,i;try{if(e.responseType==="json"){if(!((l=n.globalScope)===null||l===void 0)&&l.structuredClone)return n.globalScope.structuredClone(e.response)}else if(["text",""].includes(e.responseType))return JSON.parse(e.responseText)}catch(r){return r instanceof Error&&r.name==="InvalidStateError"&&((i=n.logger)===null||i===void 0||i.error("unexpected error when retrieving responseText. responseType='".concat(e.responseType,"'"))),null}return null}},t.prototype.observeXhr=function(e,n,l){if(!(!this.globalScope||!e||!n)){var i=this.globalScope.XMLHttpRequest.prototype,r=this;i.open=function(){for(var o,a,c=[],d=0;d"u"&&a(new Error("XHRTransport is not supported."));var c=new XMLHttpRequest;c.open("POST",n,!0),c.onreadystatechange=function(){if(c.readyState===i.state.done){var d=c.responseText;try{o(i.buildResponse(JSON.parse(d)))}catch{o(i.buildResponse({code:c.status}))}}},c.setRequestHeader("Content-Type","application/json"),c.setRequestHeader("Accept","*/*"),c.send(JSON.stringify(l))})]})})},e})(Hi),Rh=(function(t){Me(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.send=function(n,l){return W(this,void 0,void 0,function(){var i=this;return C(this,function(r){return[2,new Promise(function(o,a){var c=Fe();if(!(c!=null&&c.navigator.sendBeacon))throw new Error("SendBeaconTransport is not supported");try{var d=JSON.stringify(l),s=c.navigator.sendBeacon(n,JSON.stringify(l));return o(s?i.buildResponse({code:200,events_ingested:l.events.length,payload_size_bytes:d.length,server_upload_time:Date.now()}):i.buildResponse({code:500}))}catch(u){a(u)}})]})})},e})(Hi),Eh=function(t,e,n){return n===void 0&&(n=!0),W(void 0,void 0,void 0,function(){var l,i,r,o,a,c,d,s,u;return C(this,function(h){switch(h.label){case 0:return l=Jg(t),[4,e.getRaw(l)];case 1:return i=h.sent(),i?n?[4,e.remove(l)]:[3,3]:[2,{optOut:!1}];case 2:h.sent(),h.label=3;case 3:return r=U(i.split("."),6),o=r[0],a=r[1],c=r[2],d=r[3],s=r[4],u=r[5],[2,{deviceId:o,userId:yh(a),sessionId:Ol(d),lastEventId:Ol(u),lastEventTime:Ol(s),optOut:!!c}]}})})},Ol=function(t){var e=parseInt(t,32);if(!isNaN(e))return e},yh=function(t){if(!(!atob||!escape||!t))try{return decodeURIComponent(escape(atob(t)))}catch{return}},st="[Amplitude]",co="".concat(st," Form Started"),vh="".concat(st," Form Submitted"),Sh="".concat(st," File Downloaded"),so="session_start",uo="session_end",Ch="".concat(st," File Extension"),Wh="".concat(st," File Name"),Bh="".concat(st," Link ID"),Nh="".concat(st," Link Text"),Fh="".concat(st," Link URL"),Pl="".concat(st," Form ID"),$l="".concat(st," Form Name"),ql="".concat(st," Form Destination"),Al="cookie",Yh="US",Uh=(function(t){Me(e,t);function e(n,l,i,r,o,a,c,d,s,u,h,g,b,m,f,p,A,X,y,I,S,G,B,v,J,w,L,$,q,Ae,pe,We,Ue,ye,Be){i===void 0&&(i=new Mi),r===void 0&&(r={domain:"",expiration:365,sameSite:"Lax",secure:!1,upgrade:!0}),d===void 0&&(d=1e3),s===void 0&&(s=5),u===void 0&&(u=30),h===void 0&&(h=Al),p===void 0&&(p=new vc),A===void 0&&(A=et.Warn),y===void 0&&(y=!1),I===void 0&&(I=!1),B===void 0&&(B=""),v===void 0&&(v=Yh),w===void 0&&(w=1800*1e3),L===void 0&&(L=new Kc({loggerProvider:p})),$===void 0&&($={ipAddress:!0,language:!0,platform:!0}),q===void 0&&(q="fetch"),Ae===void 0&&(Ae=!1),pe===void 0&&(pe=!0);var x=t.call(this,{apiKey:n,storageProvider:L,transportProvider:Tc(q)})||this;return x.apiKey=n,x.appVersion=l,x.cookieOptions=r,x.defaultTracking=o,x.autocapture=a,x.flushIntervalMillis=d,x.flushMaxRetries=s,x.flushQueueSize=u,x.identityStorage=h,x.ingestionMetadata=g,x.instanceName=b,x.loggerProvider=p,x.logLevel=A,x.minIdLength=X,x.offline=y,x.partnerId=S,x.plan=G,x.serverUrl=B,x.serverZone=v,x.sessionTimeout=w,x.storageProvider=L,x.trackingOptions=$,x.transport=q,x.useBatch=Ae,x.fetchRemoteConfig=pe,x.networkTrackingOptions=Be,x.version=Lc,x._optOut=!1,x._cookieStorage=i,x.deviceId=c,x.lastEventId=m,x.lastEventTime=f,x.optOut=I,x.sessionId=J,x.pageCounter=Ue,x.userId=We,x.debugLogsEnabled=ye,x.loggerProvider.enable(ye?et.Debug:x.logLevel),x.networkTrackingOptions=Be,x}return Object.defineProperty(e.prototype,"cookieStorage",{get:function(){return this._cookieStorage},set:function(n){this._cookieStorage!==n&&(this._cookieStorage=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"deviceId",{get:function(){return this._deviceId},set:function(n){this._deviceId!==n&&(this._deviceId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"userId",{get:function(){return this._userId},set:function(n){this._userId!==n&&(this._userId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sessionId",{get:function(){return this._sessionId},set:function(n){this._sessionId!==n&&(this._sessionId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"optOut",{get:function(){return this._optOut},set:function(n){this._optOut!==n&&(this._optOut=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastEventTime",{get:function(){return this._lastEventTime},set:function(n){this._lastEventTime!==n&&(this._lastEventTime=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastEventId",{get:function(){return this._lastEventId},set:function(n){this._lastEventId!==n&&(this._lastEventId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageCounter",{get:function(){return this._pageCounter},set:function(n){this._pageCounter!==n&&(this._pageCounter=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"debugLogsEnabled",{set:function(n){this._debugLogsEnabled!==n&&(this._debugLogsEnabled=n,this.updateStorage())},enumerable:!1,configurable:!0}),e.prototype.updateStorage=function(){var n={deviceId:this._deviceId,userId:this._userId,sessionId:this._sessionId,optOut:this._optOut,lastEventTime:this._lastEventTime,lastEventId:this._lastEventId,pageCounter:this._pageCounter,debugLogsEnabled:this._debugLogsEnabled};this.cookieStorage.set(Wc(this.apiKey),n)},e})(Zg),Jh=function(t,e,n){return e===void 0&&(e={}),W(void 0,void 0,void 0,function(){var l,i,r,o,a,c,d,s,u,h,g,b,m,f,p,A,X,y,I,S,G,B,v,J,w,L,$,q,Ae,pe,We,Ue,ye,Be,x,Ve,ee,De,$e,me,le,Le,ot,je,cn;return C(this,function(ut){switch(ut.label){case 0:return l=e.identityStorage||Al,G={},l===Al?[3,1]:(r="",[3,5]);case 1:return(v=(B=e.cookieOptions)===null||B===void 0?void 0:B.domain)!==null&&v!==void 0?(o=v,[3,4]):[3,2];case 2:return[4,wh()];case 3:o=ut.sent(),ut.label=4;case 4:r=o,ut.label=5;case 5:return i=N.apply(void 0,[(G.domain=r,G.expiration=365,G.sameSite="Lax",G.secure=!1,G.upgrade=!0,G),e.cookieOptions]),a=xh(e.identityStorage,i),[4,Eh(t,a,(w=(J=e.cookieOptions)===null||J===void 0?void 0:J.upgrade)!==null&&w!==void 0?w:!0)];case 6:return c=ut.sent(),[4,a.get(Wc(t))];case 7:return d=ut.sent(),s=fl(),u=s.ampTimestamp?Number(s.ampTimestamp):void 0,h=u?Date.now()"u"||!location.hostname)return[2,""];for(e=location.hostname,n=e.split("."),l=[],i="AMP_TLDTEST",r=n.length-2;r>=0;--r)l.push(n.slice(r).join("."));r=0,s.label=2;case 2:return r"u"||typeof o=="function"&&o()},g=typeof location<"u"?location.href:null,b=function(){return W(void 0,void 0,void 0,function(){var p,A,X,y;return C(this,function(I){switch(I.label){case 0:return p=location.href,A=Ph(a,p,g||"")&&h(),g=p,A?(l==null||l.log("Tracking page view event"),e!=null?[3,1]:[3,3]):[3,4];case 1:return y=(X=e).track,[4,u()];case 2:y.apply(X,[I.sent()]),I.label=3;case 3:I.label=4;case 4:return[2]}})})},m=function(){b()},f={name:"@amplitude/plugin-page-view-tracking-browser",type:"enrichment",setup:function(p,A){return W(void 0,void 0,void 0,function(){var X,y;return C(this,function(I){switch(I.label){case 0:return e=A,r=p,l=p.loggerProvider,l.log("Installing @amplitude/plugin-page-view-tracking-browser"),i=!0,n&&(n.addEventListener("popstate",m),n.history.pushState=new Proxy(n.history.pushState,{apply:function(S,G,B){var v=U(B,3),J=v[0],w=v[1],L=v[2];S.apply(G,[J,w,L]),i&&b()}})),h()?(l.log("Tracking page view event"),y=(X=e).track,[4,u()]):[3,2];case 1:y.apply(X,[I.sent()]),I.label=2;case 2:return[2]}})})},execute:function(p){return W(void 0,void 0,void 0,function(){var A;return C(this,function(X){switch(X.label){case 0:return o==="attribution"&&Oh(p)?(l==null||l.log("Enriching campaign event to page view event with campaign parameters"),[4,u()]):[3,2];case 1:A=X.sent(),p.event_type=A.event_type,p.event_properties=N(N({},p.event_properties),A.event_properties),X.label=2;case 2:return r&&p.event_type===d&&(r.pageCounter=r.pageCounter?r.pageCounter+1:1,p.event_properties=N(N({},p.event_properties),{"[Amplitude] Page Counter":r.pageCounter})),[2,p]}})})},teardown:function(){return W(void 0,void 0,void 0,function(){return C(this,function(p){return n&&(n.removeEventListener("popstate",m),i=!1),[2]})})}};return f},_h=function(){return W(void 0,void 0,void 0,function(){var t;return C(this,function(e){switch(e.label){case 0:return t=Hh,[4,new Mh().parse()];case 1:return[2,t.apply(void 0,[e.sent()])]}})})},Oh=function(t){if(t.event_type==="$identify"&&t.user_properties){var e=t.user_properties,n=e[pl.SET]||{},l=e[pl.UNSET]||{},i=D(D([],U(Object.keys(n)),!1),U(Object.keys(l)),!1);return Object.keys(Hc).every(function(r){return i.includes(r)})}return!1},Ph=function(t,e,n){switch(t){case"pathOnly":{if(n=="")return!0;var l=new URL(e),i=new URL(n),r=l.origin+l.pathname,o=i.origin+i.pathname;return r!==o}default:return e!==n}},$h=function(){var t,e=[],n=function(d,s,u){d.addEventListener(s,u),e.push({element:d,type:s,handler:u})},l=function(){e.forEach(function(d){var s=d.element,u=d.type,h=d.handler;s==null||s.removeEventListener(u,h)}),e=[]},i="@amplitude/plugin-form-interaction-tracking-browser",r="enrichment",o=function(d,s){return W(void 0,void 0,void 0,function(){var u,h;return C(this,function(g){return u=function(){if(!s){d.loggerProvider.warn("Form interaction tracking requires a later version of @amplitude/analytics-browser. Form interaction events are not tracked.");return}if(!(typeof document>"u")){var b=function(f){var p=!1;n(f,"change",function(){var A,X=vo(f);p||s.track(co,(A={},A[Pl]=Kt(f.id),A[$l]=Kt(f.name),A[ql]=X,A)),p=!0}),n(f,"submit",function(){var A,X,y=vo(f);p||s.track(co,(A={},A[Pl]=Kt(f.id),A[$l]=Kt(f.name),A[ql]=y,A)),s.track(vh,(X={},X[Pl]=Kt(f.id),X[$l]=Kt(f.name),X[ql]=y,X)),p=!1})},m=Array.from(document.getElementsByTagName("form"));m.forEach(b),typeof MutationObserver<"u"&&(t=new MutationObserver(function(f){f.forEach(function(p){p.addedNodes.forEach(function(A){A.nodeName==="FORM"&&b(A),"querySelectorAll"in A&&typeof A.querySelectorAll=="function"&&Array.from(A.querySelectorAll("form")).map(b)})})}),t.observe(document.body,{subtree:!0,childList:!0}))}},document.readyState==="complete"?u():(h=Fe(),h?h.addEventListener("load",u):d.loggerProvider.debug("Form interaction tracking is not installed because global is undefined.")),[2]})})},a=function(d){return W(void 0,void 0,void 0,function(){return C(this,function(s){return[2,d]})})},c=function(){return W(void 0,void 0,void 0,function(){return C(this,function(d){return t==null||t.disconnect(),l(),[2]})})};return{name:i,type:r,setup:o,execute:a,teardown:c}},Kt=function(t){if(typeof t=="string")return t},vo=function(t){var e=t.getAttribute("action");try{e=new URL(encodeURI(e??""),window.location.href).href}catch{}return e},qh=function(){var t,e=[],n=function(d,s,u){d.addEventListener(s,u),e.push({element:d,type:s,handler:u})},l=function(){e.forEach(function(d){var s=d.element,u=d.type,h=d.handler;s==null||s.removeEventListener(u,h)}),e=[]},i="@amplitude/plugin-file-download-tracking-browser",r="enrichment",o=function(d,s){return W(void 0,void 0,void 0,function(){var u,h;return C(this,function(g){return u=function(){if(!s){d.loggerProvider.warn("File download tracking requires a later version of @amplitude/analytics-browser. File download events are not tracked.");return}if(!(typeof document>"u")){var b=function(p){var A;try{A=new URL(p.href,window.location.href)}catch{return}var X=m.exec(A.href),y=X==null?void 0:X[1];y&&n(p,"click",function(){var I;y&&s.track(Sh,(I={},I[Ch]=y,I[Wh]=A.pathname,I[Bh]=p.id,I[Nh]=p.text,I[Fh]=p.href,I))})},m=/\.(pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma)(\?.+)?$/,f=Array.from(document.getElementsByTagName("a"));f.forEach(b),typeof MutationObserver<"u"&&(t=new MutationObserver(function(p){p.forEach(function(A){A.addedNodes.forEach(function(X){X.nodeName==="A"&&b(X),"querySelectorAll"in X&&typeof X.querySelectorAll=="function"&&Array.from(X.querySelectorAll("a")).map(b)})})}),t.observe(document.body,{subtree:!0,childList:!0}))}},document.readyState==="complete"?u():(h=Fe(),h?h.addEventListener("load",u):d.loggerProvider.debug("File download tracking is not installed because global is undefined.")),[2]})})},a=function(d){return W(void 0,void 0,void 0,function(){return C(this,function(s){return[2,d]})})},c=function(){return W(void 0,void 0,void 0,function(){return C(this,function(d){return t==null||t.disconnect(),l(),[2]})})};return{name:i,type:r,setup:o,execute:a,teardown:c}},So=!1,eb=function(t){if(!(So||t.defaultTracking!==void 0)){var e=`\`options.defaultTracking\` is set to undefined. This implicitly configures your Amplitude instance to track Page Views, Sessions, File Downloads, and Form Interactions. You can suppress this warning by explicitly setting a value to \`options.defaultTracking\`. The value must either be a boolean, to enable and disable all default events, or an object, for advanced configuration. For example: amplitude.init(, { defaultTracking: true, }); Visit https://www.docs.developers.amplitude.com/data/sdks/browser-2/#tracking-default-events for more details.`;t.loggerProvider.warn(e),So=!0}},tb=function(){var t="@amplitude/plugin-network-checker-browser",e="before",n=Fe(),l=[],i=function(c,d){n!=null&&n.addEventListener&&(n==null||n.addEventListener(c,d),l.push({type:c,handler:d}))},r=function(){l.forEach(function(c){var d=c.type,s=c.handler;n==null||n.removeEventListener(d,s)}),l=[]},o=function(c,d){return W(void 0,void 0,void 0,function(){return C(this,function(s){return typeof navigator>"u"?(c.loggerProvider.debug("Network connectivity checker plugin is disabled because navigator is not available."),c.offline=!1,[2]):(c.offline=!navigator.onLine,i("online",function(){c.loggerProvider.debug("Network connectivity changed to online."),c.offline=!1,setTimeout(function(){d.flush()},c.flushIntervalMillis)}),i("offline",function(){c.loggerProvider.debug("Network connectivity changed to offline."),c.offline=!0}),[2])})})},a=function(){return W(void 0,void 0,void 0,function(){return C(this,function(c){return r(),[2]})})};return{name:t,type:e,setup:o,teardown:a}};function Dc(t){var e,n,l,i,r,o,a,c,d,s;if(!(typeof t!="object"||t===null)&&!Array.isArray(t)){var u=Object.keys(t);try{for(var h=H(u),g=h.next();!g.done;g=h.next()){var b=g.value;try{var m=t[b];typeof(m==null?void 0:m.enabled)=="boolean"&&(m.enabled?(delete m.enabled,Object.keys(m).length===0&&(t[b]=!0)):t[b]=!1),Dc(m)}catch{}}}catch(v){e={error:v}}finally{try{g&&!g.done&&(n=h.return)&&n.call(h)}finally{if(e)throw e.error}}try{if(!((d=(c=(a=t.autocapture)===null||a===void 0?void 0:a.networkTracking)===null||c===void 0?void 0:c.captureRules)===null||d===void 0)&&d.length)try{for(var f=H(t.autocapture.networkTracking.captureRules),p=f.next();!p.done;p=f.next()){var A=p.value;try{for(var X=(r=void 0,H(["responseHeaders","requestHeaders"])),y=X.next();!y.done;y=X.next()){var I=y.value,S=(s=A[I])!==null&&s!==void 0?s:{},G=S.captureSafeHeaders,B=S.allowlist;if(!(!G&&!B)){if(B!==void 0&&!Array.isArray(B)){delete A[I];continue}A[I]=D(D([],U(G?ml:[]),!1),U(B??[]),!1)}}}catch(v){r={error:v}}finally{try{y&&!y.done&&(o=X.return)&&o.call(X)}finally{if(r)throw r.error}}}}catch(v){l={error:v}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(l)throw l.error}}}catch{}}}function Co(t,e,n){var l,i,r=[];try{for(var o=H(e??[]),a=o.next();!a.done;a=o.next()){var c=a.value;try{r.push(new RegExp(c))}catch(d){n.loggerProvider.warn("Invalid regex pattern: ".concat(c),d)}}}catch(d){l={error:d}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(l)throw l.error}}return t.concat(r)}function nb(t,e){var n,l,i,r,o,a,c;if(t){Dc(t);try{e.loggerProvider.debug("Update browser config with remote configuration:",JSON.stringify(t));var d=t;if(d&&"autocapture"in d){if(typeof d.autocapture=="boolean"&&(e.autocapture=d.autocapture),typeof d.autocapture=="object"&&d.autocapture!==null){var s=N({},d.autocapture);if(e.autocapture===void 0&&(e.autocapture=d.autocapture),typeof d.autocapture.elementInteractions=="object"&&d.autocapture.elementInteractions!==null&&(!((i=d.autocapture.elementInteractions.pageUrlAllowlistRegex)===null||i===void 0)&&i.length)){s.elementInteractions=N({},d.autocapture.elementInteractions);var u=s.elementInteractions,h=(r=u.pageUrlAllowlist)!==null&&r!==void 0?r:[],g=d.autocapture.elementInteractions.pageUrlAllowlistRegex;u.pageUrlAllowlist=Co(h,g,e),delete u.pageUrlAllowlistRegex}if(typeof d.autocapture.networkTracking=="object"&&d.autocapture.networkTracking!==null&&(!((o=d.autocapture.networkTracking.captureRules)===null||o===void 0)&&o.length)){s.networkTracking=N({},d.autocapture.networkTracking);var b=s.networkTracking,m=(a=b.captureRules)!==null&&a!==void 0?a:[];try{for(var f=H(m),p=f.next();!p.done;p=f.next()){var A=p.value;A.urls=Co((c=A.urls)!==null&&c!==void 0?c:[],A.urlsRegex,e),delete A.urlsRegex}}catch(X){n={error:X}}finally{try{p&&!p.done&&(l=f.return)&&l.call(f)}finally{if(n)throw n.error}}}typeof e.autocapture=="boolean"&&(e.autocapture=N({attribution:e.autocapture,fileDownloads:e.autocapture,formInteractions:e.autocapture,pageViews:e.autocapture,sessions:e.autocapture,elementInteractions:e.autocapture,webVitals:e.autocapture,frustrationInteractions:e.autocapture},s)),typeof e.autocapture=="object"&&(e.autocapture=N(N({},e.autocapture),s))}e.defaultTracking=e.autocapture}e.loggerProvider.debug("Browser config after remote config update:",JSON.stringify(e))}catch(X){e.loggerProvider.error("Failed to apply remote configuration because of error: ",X)}}}var Zl;(function(t){t.US="US",t.EU="EU",t.STAGING="STAGING"})(Zl||(Zl={}));var xe;(function(t){t.Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.PayloadTooLarge="payload_too_large",t.Invalid="invalid",t.Failed="failed",t.Timeout="Timeout",t.SystemError="SystemError"})(xe||(xe={}));var lb=(function(){function t(){}return t.prototype.send=function(e,n){return Promise.resolve(null)},t.prototype.buildResponse=function(e){var n,l,i,r,o,a,c,d,s,u,h,g,b,m,f,p,A,X,y,I,S,G;if(typeof e!="object")return null;var B=e.code||0,v=this.buildStatus(B);switch(v){case xe.Success:return{status:v,statusCode:B,body:{eventsIngested:(n=e.events_ingested)!==null&&n!==void 0?n:0,payloadSizeBytes:(l=e.payload_size_bytes)!==null&&l!==void 0?l:0,serverUploadTime:(i=e.server_upload_time)!==null&&i!==void 0?i:0}};case xe.Invalid:return{status:v,statusCode:B,body:{error:(r=e.error)!==null&&r!==void 0?r:"",missingField:(o=e.missing_field)!==null&&o!==void 0?o:"",eventsWithInvalidFields:(a=e.events_with_invalid_fields)!==null&&a!==void 0?a:{},eventsWithMissingFields:(c=e.events_with_missing_fields)!==null&&c!==void 0?c:{},eventsWithInvalidIdLengths:(d=e.events_with_invalid_id_lengths)!==null&&d!==void 0?d:{},epsThreshold:(s=e.eps_threshold)!==null&&s!==void 0?s:0,exceededDailyQuotaDevices:(u=e.exceeded_daily_quota_devices)!==null&&u!==void 0?u:{},silencedDevices:(h=e.silenced_devices)!==null&&h!==void 0?h:[],silencedEvents:(g=e.silenced_events)!==null&&g!==void 0?g:[],throttledDevices:(b=e.throttled_devices)!==null&&b!==void 0?b:{},throttledEvents:(m=e.throttled_events)!==null&&m!==void 0?m:[]}};case xe.PayloadTooLarge:return{status:v,statusCode:B,body:{error:(f=e.error)!==null&&f!==void 0?f:""}};case xe.RateLimit:return{status:v,statusCode:B,body:{error:(p=e.error)!==null&&p!==void 0?p:"",epsThreshold:(A=e.eps_threshold)!==null&&A!==void 0?A:0,throttledDevices:(X=e.throttled_devices)!==null&&X!==void 0?X:{},throttledUsers:(y=e.throttled_users)!==null&&y!==void 0?y:{},exceededDailyQuotaDevices:(I=e.exceeded_daily_quota_devices)!==null&&I!==void 0?I:{},exceededDailyQuotaUsers:(S=e.exceeded_daily_quota_users)!==null&&S!==void 0?S:{},throttledEvents:(G=e.throttled_events)!==null&&G!==void 0?G:[]}};case xe.Timeout:default:return{status:v,statusCode:B}}},t.prototype.buildStatus=function(e){return e>=200&&e<300?xe.Success:e===429?xe.RateLimit:e===413?xe.PayloadTooLarge:e===408?xe.Timeout:e>=400&&e<500?xe.Invalid:e>=500?xe.Failed:xe.Unknown},t})(),ib="Network error occurred, remote config fetch failed",rb="Remote config successfully fetched",ob="Remote config fetch rejected due to exceeded retry count",Wo="Remote config fetch rejected due to timeout after 5 seconds",Bo="Unexpected error occurred",ab="https://sr-client-cfg.amplitude.com/config",cb="https://sr-client-cfg.stag2.amplitude.com/config",db="https://sr-client-cfg.eu.amplitude.com/config",sb=(function(){function t(e){var n=e.localConfig,l=e.configKeys,i=this;this.retryTimeout=1e3,this.attempts=0,this.sessionTargetingMatch=!1,this.metrics={},this.getRemoteNamespaceConfig=function(r,o){return W(i,void 0,void 0,function(){var a,c,d;return C(this,function(s){switch(s.label){case 0:return a=Date.now(),[4,this.fetchWithTimeout(o)];case 1:return c=s.sent(),c&&(d=c.configs&&c.configs[r],d)?(this.metrics.fetchTimeAPISuccess=Date.now()-a,[2,d]):(this.metrics.fetchTimeAPIFail=Date.now()-a,[2,void 0])}})})},this.getRemoteConfig=function(r,o,a){return W(i,void 0,void 0,function(){var c;return C(this,function(d){switch(d.label){case 0:return[4,this.getRemoteNamespaceConfig(r,a)];case 1:return c=d.sent(),[2,c==null?void 0:c[o]]}})})},this.fetchWithTimeout=function(r){return W(i,void 0,void 0,function(){var o,a,c;return C(this,function(d){switch(d.label){case 0:return o=new AbortController,a=setTimeout(function(){return o.abort()},5e3),[4,this.fetchRemoteConfig(o.signal,r)];case 1:return c=d.sent(),clearTimeout(a),[2,c]}})})},this.fetchRemoteConfig=function(r,o){return W(i,void 0,void 0,function(){var a,c,d,s,u,h,g,b,m,f,p,A,X;return C(this,function(y){switch(y.label){case 0:if(o===this.lastFetchedSessionId&&this.attempts>=this.localConfig.flushMaxRetries)return[2,this.completeRequest({err:ob})];if(r.aborted)return[2,this.completeRequest({err:Wo})];o!==this.lastFetchedSessionId&&(this.lastFetchedSessionId=o,this.attempts=0),y.label=1;case 1:y.trys.push([1,3,,4]),a=new URLSearchParams({api_key:this.localConfig.apiKey});try{for(c=H(this.configKeys),d=c.next();!d.done;d=c.next())s=d.value,a.append("config_keys",s)}catch(I){p={error:I}}finally{try{d&&!d.done&&(A=c.return)&&A.call(c)}finally{if(p)throw p.error}}return o&&a.set("session_id",String(o)),u={headers:{Accept:"*/*"},method:"GET"},h="".concat(this.getServerUrl(),"?").concat(a.toString()),this.attempts+=1,[4,fetch(h,N(N({},u),{signal:r}))];case 2:if(g=y.sent(),g===null)return[2,this.completeRequest({err:Bo})];switch(b=new lb().buildStatus(g.status),b){case xe.Success:return this.attempts=0,[2,this.parseAndStoreConfig(g)];case xe.Failed:return[2,this.retryFetch(r,o)];default:return[2,this.completeRequest({err:ib})]}case 3:return m=y.sent(),f=m,r.aborted?[2,this.completeRequest({err:Wo})]:[2,this.completeRequest({err:(X=f.message)!==null&&X!==void 0?X:Bo})];case 4:return[2]}})})},this.retryFetch=function(r,o){return W(i,void 0,void 0,function(){var a=this;return C(this,function(c){switch(c.label){case 0:return[4,new Promise(function(d){return setTimeout(d,a.attempts*a.retryTimeout)})];case 1:return c.sent(),[2,this.fetchRemoteConfig(r,o)]}})})},this.parseAndStoreConfig=function(r){return W(i,void 0,void 0,function(){var o;return C(this,function(a){switch(a.label){case 0:return[4,r.json()];case 1:return o=a.sent(),this.completeRequest({success:rb}),[2,o]}})})},this.localConfig=n,this.configKeys=l}return t.prototype.getServerUrl=function(){return this.localConfig.configServerUrl?this.localConfig.configServerUrl:this.localConfig.serverZone===Zl.STAGING?cb:this.localConfig.serverZone===Zl.EU?db:ab},t.prototype.completeRequest=function(e){var n=e.err,l=e.success;if(n)throw new Error(n);l&&this.localConfig.loggerProvider.log(l)},t})(),ub=function(t){var e=t.localConfig,n=t.configKeys;return W(void 0,void 0,void 0,function(){return C(this,function(l){return[2,new sb({localConfig:e,configKeys:n})]})})},gb=ub,hb="@amplitude/plugin-autocapture-browser",bb="@amplitude/plugin-frustration-browser",Gi="[Amplitude] Element Clicked",Vb="[Amplitude] Dead Click",No="[Amplitude] Rage Click",mb="[Amplitude] Element Changed",fb="[Amplitude] Element ID",Ab="[Amplitude] Element Class",Fo="[Amplitude] Element Tag",Yo="[Amplitude] Element Text",pb="[Amplitude] Element Hierarchy",Zb="[Amplitude] Element Href",Gb="[Amplitude] Element Position Left",Xb="[Amplitude] Element Position Top",Ib="[Amplitude] Element Aria Label",Rb="[Amplitude] Element Attributes",Eb="[Amplitude] Element Parent Label",Uo="[Amplitude] Page URL",yb="[Amplitude] Page Title",vb="[Amplitude] Viewport Height",Sb="[Amplitude] Viewport Width",cl="https://app.amplitude.com",Cb="https://app.eu.amplitude.com",Wb="https://apps.stag2.amplitude.com",Bb={US:cl,EU:Cb,STAGING:Wb},Nb="https://cdn.amplitude.com/libs/visual-tagging-selector-1.0.0-alpha.js.gz",Fb="amp-visual-tagging-selector-highlight",jc="data-amp-mask-attributes",bn="data-amp-mask",It="*****",Yb=25;function ae(t){return typeof t=="function"}function ji(t){var e=function(l){Error.call(l),l.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var ei=ji(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: `+n.map(function(l,i){return i+1+") "+l.toString()}).join(` `):"",this.name="UnsubscriptionError",this.errors=n}});function Gl(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var Yn=(function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,l,i,r;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=H(o),c=a.next();!c.done;c=a.next()){var d=c.value;d.remove(this)}}catch(m){e={error:m}}finally{try{c&&!c.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}else o.remove(this);var s=this.initialTeardown;if(ae(s))try{s()}catch(m){r=m instanceof ei?m.errors:[m]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var h=H(u),g=h.next();!g.done;g=h.next()){var b=g.value;try{Jo(b)}catch(m){r=r??[],m instanceof ei?r=D(D([],U(r)),U(m.errors)):r.push(m)}}}catch(m){l={error:m}}finally{try{g&&!g.done&&(i=h.return)&&i.call(h)}finally{if(l)throw l.error}}}if(r)throw new ei(r)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)Jo(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&Gl(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&Gl(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=(function(){var e=new t;return e.closed=!0,e})(),t})(),_c=Yn.EMPTY;function Oc(t){return t instanceof Yn||t&&"closed"in t&&ae(t.remove)&&ae(t.add)&&ae(t.unsubscribe)}function Jo(t){ae(t)?t():t.unsubscribe()}var Ub={Promise:void 0},Jb={setTimeout:function(t,e){for(var n=[],l=2;l0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var l=this,i=this,r=i.hasError,o=i.isStopped,a=i.observers;return r||o?_c:(this.currentObservers=null,a.push(n),new Yn(function(){l.currentObservers=null,Gl(a,n)}))},e.prototype._checkFinalizedStatuses=function(n){var l=this,i=l.hasError,r=l.thrownError,o=l.isStopped;i?n.error(r):o&&n.complete()},e.prototype.asObservable=function(){var n=new Re;return n.source=this,n},e.create=function(n,l){return new wo(n,l)},e})(Re),wo=(function(t){Me(e,t);function e(n,l){var i=t.call(this)||this;return i.destination=n,i.source=l,i}return e.prototype.next=function(n){var l,i;(i=(l=this.destination)===null||l===void 0?void 0:l.next)===null||i===void 0||i.call(l,n)},e.prototype.error=function(n){var l,i;(i=(l=this.destination)===null||l===void 0?void 0:l.error)===null||i===void 0||i.call(l,n)},e.prototype.complete=function(){var n,l;(l=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||l===void 0||l.call(n)},e.prototype._subscribe=function(n){var l,i;return(i=(l=this.source)===null||l===void 0?void 0:l.subscribe(n))!==null&&i!==void 0?i:_c},e})(qc),Hb={now:function(){return Date.now()}},Db=(function(t){Me(e,t);function e(n,l){return t.call(this)||this}return e.prototype.schedule=function(n,l){return this},e})(Yn),ko={setInterval:function(t,e){for(var n=[],l=2;l0&&p(i)},void 0,void 0,function(){b!=null&&b.closed||b==null||b.unsubscribe(),m=null})),!f&&p(l!=null?typeof l=="number"?l:+l-c.now():i)})}function VV(t){throw new hV(t)}function Ne(t,e){return nt(function(n,l){var i=0;n.subscribe(ze(l,function(r){l.next(t.call(e,r,i++))}))})}var mV=Array.isArray;function fV(t,e){return mV(e)?t.apply(void 0,D([],U(e))):t(e)}function AV(t){return Ne(function(e){return fV(t,e)})}function pV(t,e,n,l,i,r,o,a){var c=[],d=0,s=0,u=!1,h=function(){u&&!c.length&&!d&&e.complete()},g=function(m){return d0&&(s=new yn({next:function(S){return I.next(S)},error:function(S){m=!0,f(),u=ti(p,i,S),I.error(S)},complete:function(){b=!0,f(),u=ti(p,o),I.complete()}}),Qe(X).subscribe(s))})(d)}}function ti(t,e){for(var n=[],l=2;l0&&Ai(window.location.href,c))return!1;var u=String(i==null?void 0:i.getAttribute("type"))||"";if(typeof u=="string")switch(u.toLowerCase()){case"hidden":return!1;case"password":return!1}var h=md(i,l);if(n&&h)return!0;if(e){var g=e.some(function(b){var m;return!!(!((m=i==null?void 0:i.matches)===null||m===void 0)&&m.call(i,b))});if(!g)return!1}switch(s){case"input":case"select":case"textarea":return l==="change"||l==="click";default:return h?!0:l==="click"}}},QV=function(t){var e,n,l,i=(n=(e=t==null?void 0:t.tagName)===null||e===void 0?void 0:e.toLowerCase)===null||n===void 0?void 0:n.call(e),r=t instanceof HTMLElement?((l=t.getAttribute("contenteditable"))===null||l===void 0?void 0:l.toLowerCase())==="true":!1;return!zV.includes(i)&&!r},LV=function(t){return t?t.split(",").map(function(e){return e.trim()}).filter(function(e){return e.length>0&&e!=="id"&&e!=="class"}):[]},KV=function(t,e){return Object.entries(t).reduce(function(n,l){var i=U(l,2),r=i[0],o=i[1];if(r.startsWith(e)){var a=r.replace(e,"");a&&(n[a]=o||"")}return n},{})},TV=function(t){return t==null||typeof t=="object"&&Object.keys(t).length===0||typeof t=="string"&&t.trim().length===0},Lo=function(t){return Object.keys(t).reduce(function(e,n){var l=t[n];return TV(l)||(e[n]=l),e},{})},tr=function(t,e){return t?e.some(function(n){var l;return(l=t==null?void 0:t.matches)===null||l===void 0?void 0:l.call(t,n)})?t:tr(t==null?void 0:t.parentElement,e):null},MV=function(t){return new Promise(function(e,n){var l;try{var i=document.createElement("script");i.type="text/javascript",i.async=!0,i.src=t,i.addEventListener("load",function(){e({status:!0})},{once:!0}),i.addEventListener("error",function(){n({status:!1,message:"Failed to load the script ".concat(t)})}),(l=document.head)===null||l===void 0||l.appendChild(i)}catch(r){n(r)}})};function HV(){return"".concat(Date.now(),"-").concat(Math.random().toString(36).substr(2,9))}var xn=function(t){return!(t.event.target===null||!t.closestTrackedAncestor)};function DV(t){return t.type==="click"||t.type==="change"}var jV="1.13.0",_V=new Set(["id","class","style","value","onclick","onchange","oninput","onblur","onsubmit","onfocus","onkeydown","onkeyup","onkeypress","data-reactid","data-react-checksum","data-reactroot",jc,bn]),OV=["type"],PV=["svg","path","g"],$V=["password","hidden"],qV=128;function e0(t,e){var n,l,i,r,o,a;if(t===null)return null;var c=String(t.tagName).toLowerCase(),d={tag:c},s=Array.from((r=(i=t.parentElement)===null||i===void 0?void 0:i.children)!==null&&r!==void 0?r:[]);s.length&&(d.index=s.indexOf(t),d.indexOfType=s.filter(function(I){return I.tagName===t.tagName}).indexOf(t));var u=(a=(o=t.previousElementSibling)===null||o===void 0?void 0:o.tagName)===null||a===void 0?void 0:a.toLowerCase();u&&(d.prevSib=String(u));var h=t.getAttribute("id");h&&(d.id=String(h));var g=Array.from(t.classList);g.length&&(d.classes=g);var b={},m=Array.from(t.attributes),f=m.filter(function(I){return!_V.has(I.name)}),p=!QV(t);if(!$V.includes(String(t.getAttribute("type")))&&!PV.includes(c))try{for(var A=H(f),X=A.next();!X.done;X=A.next()){var y=X.value;if(!(p&&!OV.includes(y.name))){if(e.has(y.name)){b[y.name]=It;continue}b[y.name]=String(y.value).substring(0,qV)}}}catch(I){n={error:I}}finally{try{X&&!X.done&&(l=A.return)&&l.call(A)}finally{if(n)throw n.error}}return Object.keys(b).length&&(d.attrs=b),d}function t0(t){var e=[];if(!t)return e;e.push(t);for(var n=t.parentElement;n&&n.tagName!=="HTML";)e.push(n),n=n.parentElement;return e}var n0=function(t,e){try{if(t.sourceType==="DOM_ELEMENT"){var n=document.documentElement;return t.scope&&e&&(n=e.closest(t.scope)),n&&t.selector?n.querySelector(t.selector):n}}catch{return}},l0=function(t,e,n){t.forEach(function(l){if(typeof l!="string"&&l.actionType==="ATTACH_EVENT_PROPERTY"){var i=n.extractDataFromDataSource(l.dataSource,e.closestTrackedAncestor);e.targetElementProperties[l.destinationKey]=i}})},i0=/\b(?:\d[ -]*?){13,16}\b/,r0=/(\d{3}-?\d{2}-?\d{4})/g,o0=/[^\s@]+@[^\s@.]+\.[^\s@]+/g,nr=(function(){function t(e){var n,l,i=this,r;this.replaceSensitiveString=function(u){var h,g;if(typeof u!="string")return"";var b=u;b=b.replace(i0,It),b=b.replace(r0,It),b=b.replace(o0,It);try{for(var m=H(i.additionalMaskTextPatterns),f=m.next();!f.done;f=m.next()){var p=f.value;try{b=b.replace(p,It)}catch{}}}catch(A){h={error:A}}finally{try{f&&!f.done&&(g=m.return)&&g.call(m)}finally{if(h)throw h.error}}return b},this.getHierarchy=function(u){var h,g,b,m=[];if(!u)return[];for(var f=t0(u),p=new Map,A=f.length-1;A>=0;A--){var X=f[A];if(X){var y=LV(X.getAttribute(jc)),I=A===f.length-1?[]:(b=p.get(f[A+1]))!==null&&b!==void 0?b:new Set,S=new Set(D(D([],U(I),!1),U(y),!1));p.set(X,S)}}m=f.map(function(w){var L;return e0(w,(L=p.get(w))!==null&&L!==void 0?L:new Set)});var G=function(w){w!=null&&w.attrs&&Object.entries(w.attrs).forEach(function(L){var $=U(L,2),q=$[0],Ae=$[1];w.attrs&&(w.attrs[q]=i.replaceSensitiveString(Ae))})};try{for(var B=H(m),v=B.next();!v.done;v=B.next()){var J=v.value;G(J)}}catch(w){h={error:w}}finally{try{v&&!v.done&&(g=B.return)&&g.call(B)}finally{if(h)throw h.error}}return m},this.getNearestLabel=function(u){var h=u.parentElement;if(!h)return"";var g;try{g=h.querySelector(":scope>span,h1,h2,h3,h4,h5,h6")}catch{g=null}return g?i.getText(g):i.getNearestLabel(h)},this.getEventProperties=function(u,h,g){var b,m,f,p,A=(f=(m=h==null?void 0:h.tagName)===null||m===void 0?void 0:m.toLowerCase)===null||f===void 0?void 0:f.call(m),X=typeof h.getBoundingClientRect=="function"?h.getBoundingClientRect():{left:null,top:null},y=i.getHierarchy(h),I=(p=y[0])===null||p===void 0?void 0:p.attrs,S=i.getNearestLabel(h),G=KV(I??{},g),B=(b={},b[pb]=y,b[Fo]=A,b[Yo]=i.getText(h),b[Gb]=X.left==null?null:Math.round(X.left),b[Xb]=X.top==null?null:Math.round(X.top),b[Rb]=G,b[Eb]=S,b[Uo]=zg(window.location.href.split("?")[0]),b[yb]=i.getPageTitle(),b[vb]=window.innerHeight,b[Sb]=window.innerWidth,b);return B[fb]=h.getAttribute("id")||"",B[Ab]=h.getAttribute("class"),B[Ib]=I==null?void 0:I["aria-label"],A==="a"&&u==="click"&&h instanceof HTMLAnchorElement&&(B[Zb]=i.replaceSensitiveString(h.href)),Lo(B)},this.addAdditionalEventProperties=function(u,h,g,b,m){m===void 0&&(m=!1);var f={event:u,timestamp:Date.now(),type:h};if(DV(f)&&f.event.target!==null){if(m){var p=md(f.event.target,f.type);if(p)return f.closestTrackedAncestor=f.event.target,f.targetElementProperties=i.getEventProperties(f.type,f.closestTrackedAncestor,b),f}var A=tr(f.event.target,g);return A&&(f.closestTrackedAncestor=A,f.targetElementProperties=i.getEventProperties(f.type,A,b)),f}return f},this.extractDataFromDataSource=function(u,h){if(u.sourceType==="DOM_ELEMENT"){var g=n0(u,h);return g?u.elementExtractType==="TEXT"?i.getText(g):u.elementExtractType==="ATTRIBUTE"&&u.attribute?g.getAttribute(u.attribute):void 0:void 0}},this.getText=function(u){var h=u.closest("[".concat(bn,"]"))!==null;if(h)return It;var g="";if(!u.querySelector("[".concat(bn,"], [contenteditable]")))g=u.innerText||"";else{var b=u.cloneNode(!0);b.querySelectorAll("[".concat(bn,"], [contenteditable]")).forEach(function(m){m.innerText=It}),g=b.innerText||""}return i.replaceSensitiveString(g.substring(0,255)).replace(/\s+/g," ").trim()},this.getPageTitle=function(){if(typeof document>"u")return"";var u=document.querySelector("title");return u&&u.hasAttribute(bn)?It:i.replaceSensitiveString(document.title)},this.getEventTagProps=function(u){var h,g,b;if(!u)return{};var m=(b=(g=u==null?void 0:u.tagName)===null||g===void 0?void 0:g.toLowerCase)===null||b===void 0?void 0:b.call(g),f=(h={},h[Fo]=m,h[Yo]=i.getText(u),h[Uo]=window.location.href.split("?")[0],h);return Lo(f)};var o=(r=e.maskTextRegex)!==null&&r!==void 0?r:[],a=[];try{for(var c=H(o),d=c.next();!d.done;d=c.next()){var s=d.value;if(a.length>=Yb)break;if(s instanceof RegExp)a.push(s);else if("pattern"in s&&typeof s.pattern=="string")try{a.push(new RegExp(s.pattern,"i"))}catch{}}}catch(u){n={error:u}}finally{try{d&&!d.done&&(l=c.return)&&l.call(c)}finally{if(n)throw n.error}}this.additionalMaskTextPatterns=a}return t})(),a0=(function(){function t(e){var n=e===void 0?{}:e,l=n.origin,i=l===void 0?cl:l,r=this;this.endpoint=cl,this.requestCallbacks={},this.onSelect=function(o){r.notify({action:"element-selected",data:o})},this.onTrack=function(o,a){o==="selector-mode-changed"?r.notify({action:"track-selector-mode-changed",data:a}):o==="selector-moved"&&r.notify({action:"track-selector-moved",data:a})},this.endpoint=i}return t.prototype.notify=function(e){var n,l,i,r;(l=(n=this.logger)===null||n===void 0?void 0:n.debug)===null||l===void 0||l.call(n,"Message sent: ",JSON.stringify(e)),(r=(i=window.opener)===null||i===void 0?void 0:i.postMessage)===null||r===void 0||r.call(i,e,this.endpoint)},t.prototype.sendRequest=function(e,n,l){var i=this;l===void 0&&(l={timeout:15e3});var r=HV(),o={id:r,action:e,args:n},a=new Promise(function(c,d){i.requestCallbacks[r]={resolve:c,reject:d},i.notify(o),(l==null?void 0:l.timeout)>0&&setTimeout(function(){d(new Error("".concat(e," timed out (id: ").concat(r,")"))),delete i.requestCallbacks[r]},l.timeout)});return a},t.prototype.handleResponse=function(e){var n;if(!this.requestCallbacks[e.id]){(n=this.logger)===null||n===void 0||n.warn("No callback found for request id: ".concat(e.id));return}this.requestCallbacks[e.id].resolve(e.responseData),delete this.requestCallbacks[e.id]},t.prototype.setup=function(e){var n=this,l=e===void 0?{dataExtractor:new nr({})}:e,i=l.logger,r=l.endpoint,o=l.isElementSelectable,a=l.cssSelectorAllowlist,c=l.actionClickAllowlist,d=l.dataExtractor;this.logger=i,r&&this.endpoint===cl&&(this.endpoint=r);var s=null;window.addEventListener("message",function(u){var h,g,b,m,f;if((g=(h=n.logger)===null||h===void 0?void 0:h.debug)===null||g===void 0||g.call(h,"Message received: ",JSON.stringify(u)),n.endpoint===u.origin){var p=u==null?void 0:u.data,A=p==null?void 0:p.action;if(A)if("id"in p)(m=(b=n.logger)===null||b===void 0?void 0:b.debug)===null||m===void 0||m.call(b,"Received Response to previous request: ",JSON.stringify(u)),n.handleResponse(p);else if(A==="ping")n.notify({action:"pong"});else if(A==="initialize-visual-tagging-selector"){var X=p==null?void 0:p.data;MV(Nb).then(function(){var y;s=(y=window==null?void 0:window.amplitudeVisualTaggingSelector)===null||y===void 0?void 0:y.call(window,{getEventTagProps:d.getEventTagProps,isElementSelectable:function(I){return o?o((X==null?void 0:X.actionType)||"click",I):!0},onTrack:n.onTrack,onSelect:n.onSelect,visualHighlightClass:Fb,messenger:n,cssSelectorAllowlist:a,actionClickAllowlist:c,extractDataFromDataSource:d.extractDataFromDataSource,dataExtractor:d,diagnostics:{autocapture:{version:jV}}}),n.notify({action:"selector-loaded"})}).catch(function(){var y;(y=n.logger)===null||y===void 0||y.warn("Failed to initialize visual tagging selector")})}else A==="close-visual-tagging-selector"&&((f=s==null?void 0:s.close)===null||f===void 0||f.call(s))}}),this.notify({action:"page-loaded"})},t})(),c0=5;function d0(t){var e=t.amplitude,n=t.allObservables,l=t.options,i=t.shouldTrackEvent,r=t.evaluateTriggers,o=n.clickObservable,a=o.pipe(JV(),ke(function(u){var h=U(u,2),g=h[0],b=h[1],m=g.event.target!==b.event.target,f=Math.abs(b.event.screenX-g.event.screenX)<=20&&Math.abs(b.event.screenY-g.event.screenY)<=20;return m&&!f})),c=o.pipe(NV(l.debounceTime),Ne(function(){return"timeout"})),d=qi(a,c),s=o.pipe(UV(0),ke(xn),ke(function(u){return i("click",u.closestTrackedAncestor)}),Ne(function(u){return r(u)}),BV(d));return s.subscribe(function(u){var h,g,b=(u.length>=c0,Gi);try{for(var m=H(u),f=m.next();!f.done;f=m.next()){var p=f.value;e==null||e.track(b,p.targetElementProperties)}}catch(A){h={error:A}}finally{try{f&&!f.done&&(g=m.return)&&g.call(m)}finally{if(h)throw h.error}}})}function s0(t){var e=t.amplitude,n=t.allObservables,l=t.getEventProperties,i=t.shouldTrackEvent,r=t.evaluateTriggers,o=n.changeObservable,a=o.pipe(ke(xn),ke(function(c){return i("change",c.closestTrackedAncestor)}),Ne(function(c){return r(c)}));return a.subscribe(function(c){e==null||e.track(mb,l("change",c.closestTrackedAncestor))})}function u0(t){var e=t.amplitude,n=t.allObservables,l=t.options,i=t.getEventProperties,r=t.shouldTrackEvent,o=t.shouldTrackActionClick,a=n.clickObservable,c=n.mutationObservable,d=n.navigateObservable,s=a.pipe(ke(function(b){return!r("click",b.closestTrackedAncestor)}),Ne(function(b){var m=tr(b.event.target,l.actionClickAllowlist);return b.closestTrackedAncestor=m,b.closestTrackedAncestor!==null&&(b.targetElementProperties=i(b.type,b.closestTrackedAncestor)),b}),ke(xn),ke(function(b){return o("click",b.closestTrackedAncestor)})),u=[c];d&&u.push(d);var h=qi.apply(void 0,D([],U(u),!1)),g=s.pipe(xV(function(b){return h.pipe(er(1),bV({first:500,with:function(){return Pi}}),Ne(function(){return b}))}));return g.subscribe(function(b){e==null||e.track(Gi,i("click",b.closestTrackedAncestor))})}var fd=function(){return new Re(function(t){var e=new MutationObserver(function(n){t.next(n)});return e.observe(document.body,{childList:!0,attributes:!0,characterData:!0,subtree:!0}),function(){return e.disconnect()}})},Ad=function(t){return t===void 0&&(t="click"),en(document,t,{capture:!0})},g0=function(t,e){try{if(e.subprop_key==="[Amplitude] Element Text")return e.subprop_op==="is"&&e.subprop_value.includes(t.targetElementProperties["[Amplitude] Element Text"]);if(e.subprop_key==="[Amplitude] Element Hierarchy")return e.subprop_op==="autotrack css match"&&!!t.closestTrackedAncestor.closest(e.subprop_value.toString())}catch(n){return console.error("Error matching event to filter",n),!1}return!1},Ii={"[Amplitude] Element Clicked":"click","[Amplitude] Element Changed":"change"},Ko=function(t){var e,n,l,i,r=Object.values(Ii).reduce(function(g,b){return g[b]=new Set,g},{});if(!t)return r;try{for(var o=H(t),a=o.next();!a.done;a=o.next()){var c=a.value;try{try{for(var d=(l=void 0,H(c.definition)),s=d.next();!s.done;s=d.next()){var u=s.value,h=Ii[u.event_type];h&&r[h].add(c.id)}}catch(g){l={error:g}}finally{try{s&&!s.done&&(i=d.return)&&i.call(d)}finally{if(l)throw l.error}}}catch(g){console.warn("Skipping Labeled Event due to malformed definition",c==null?void 0:c.id,g)}}}catch(g){e={error:g}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}return r},To=function(t){var e,n,l,i,r=new Map;try{for(var o=H(t),a=o.next();!a.done;a=o.next()){var c=a.value;try{for(var d=(l=void 0,H(c.conditions)),s=d.next();!s.done;s=d.next()){var u=s.value;if(u.type==="LABELED_EVENT"){var h=u.match.eventId,g=r.get(h);g||(g=[],r.set(h,g)),g.push(c)}}}catch(b){l={error:b}}finally{try{s&&!s.done&&(i=d.return)&&i.call(d)}finally{if(l)throw l.error}}}}catch(b){e={error:b}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}return r},h0=function(t,e){return e.filter(function(n){return n.definition.some(function(l){return Ii[l.event_type]===t.type&&l.filters.every(function(i){return g0(t,i)})})})},b0=function(t,e){var n,l,i,r,o=new Set;try{for(var a=H(t),c=a.next();!c.done;c=a.next()){var d=c.value,s=e.get(d.id);if(s)try{for(var u=(i=void 0,H(s)),h=u.next();!h.done;h=u.next()){var g=h.value;o.add(g)}}catch(b){i={error:b}}finally{try{h&&!h.done&&(r=u.return)&&r.call(u)}finally{if(i)throw i.error}}}}catch(b){n={error:b}}finally{try{c&&!c.done&&(l=a.return)&&l.call(a)}finally{if(n)throw n.error}}return Array.from(o)},V0=(function(){function t(e,n,l,i){this.groupedLabeledEvents=e,this.labeledEventToTriggerMap=n,this.dataExtractor=l,this.options=i}return t.prototype.evaluate=function(e){var n,l,i=this.options.pageActions;if(!i)return e;var r=h0(e,Array.from(this.groupedLabeledEvents[e.type]).map(function(s){return i.labeledEvents[s]})),o=b0(r,this.labeledEventToTriggerMap);try{for(var a=H(o),c=a.next();!c.done;c=a.next()){var d=c.value;l0(d.actions,e,this.dataExtractor)}}catch(s){n={error:s}}finally{try{c&&!c.done&&(l=a.return)&&l.call(a)}finally{if(n)throw n.error}}return e},t.prototype.update=function(e,n,l){this.groupedLabeledEvents=e,this.labeledEventToTriggerMap=n,this.options=l},t})(),m0=function(t,e,n,l){return new V0(t,e,n,l)},ht;(function(t){t.ClickObservable="clickObservable",t.ChangeObservable="changeObservable",t.NavigateObservable="navigateObservable",t.MutationObservable="mutationObservable"})(ht||(ht={}));var f0=function(t){var e,n,l,i,r,o,a,c;t===void 0&&(t={});var d=t.dataAttributePrefix,s=d===void 0?Nc:d,u=t.visualTaggingOptions,h=u===void 0?{enabled:!0,messenger:new a0}:u;t.cssSelectorAllowlist=(e=t.cssSelectorAllowlist)!==null&&e!==void 0?e:Mg,t.actionClickAllowlist=(n=t.actionClickAllowlist)!==null&&n!==void 0?n:Hg,t.debounceTime=(l=t.debounceTime)!==null&&l!==void 0?l:0,t.pageUrlExcludelist=(i=t.pageUrlExcludelist)===null||i===void 0?void 0:i.reduce(function(v,J){if(typeof J=="string"&&v.push(J),J instanceof RegExp&&v.push(J),typeof J=="object"&&J!==null&&"pattern"in J)try{v.push(new RegExp(J.pattern))}catch(w){return console.warn("Invalid regex pattern: ".concat(J.pattern),w),v}return v},[]);var g=hb,b="enrichment",m=[],f=new nr(t),p=function(){var v,J=Ad().pipe(Ne(function(q){return f.addAdditionalEventProperties(q,"click",t.cssSelectorAllowlist,s)}),xt()),w=en(document,"change",{capture:!0}).pipe(Ne(function(q){return f.addAdditionalEventProperties(q,"change",t.cssSelectorAllowlist,s)}),xt()),L;window.navigation&&(L=en(window.navigation,"navigate").pipe(Ne(function(q){return f.addAdditionalEventProperties(q,"navigate",t.cssSelectorAllowlist,s)}),xt()));var $=fd().pipe(Ne(function(q){return f.addAdditionalEventProperties(q,"mutation",t.cssSelectorAllowlist,s)}),xt());return v={},v[ht.ClickObservable]=J,v[ht.ChangeObservable]=w,v[ht.NavigateObservable]=L,v[ht.MutationObservable]=$,v},A=Ko(Object.values((o=(r=t.pageActions)===null||r===void 0?void 0:r.labeledEvents)!==null&&o!==void 0?o:{})),X=To((c=(a=t.pageActions)===null||a===void 0?void 0:a.triggers)!==null&&c!==void 0?c:[]),y=m0(A,X,f,t),I=function(v){var J,w;v&&(t.pageActions=N(N({},t.pageActions),v),A=Ko(Object.values((J=t.pageActions.labeledEvents)!==null&&J!==void 0?J:{})),X=To((w=t.pageActions.triggers)!==null&&w!==void 0?w:[]),y.update(A,X,t))},S=function(v,J){return W(void 0,void 0,void 0,function(){var w,L,$,q,Ae,pe,We,Ue,ye,Be;return C(this,function(x){return typeof document>"u"?[2]:(v.fetchRemoteConfig&&gb({localConfig:v,configKeys:["analyticsSDK.pageActions"]}).then(function(Ve){return W(void 0,void 0,void 0,function(){var ee,De,$e;return C(this,function(me){switch(me.label){case 0:return me.trys.push([0,2,,3]),[4,Ve.getRemoteConfig("analyticsSDK","pageActions")];case 1:return ee=me.sent(),I(ee),[3,3];case 2:return De=me.sent(),($e=v==null?void 0:v.loggerProvider)===null||$e===void 0||$e.error("Failed to fetch remote config: ".concat(String(De))),[3,3];case 3:return[2]}})})}).catch(function(Ve){var ee;(ee=v==null?void 0:v.loggerProvider)===null||ee===void 0||ee.error("Failed to create remote config fetch: ".concat(String(Ve)))}),w=pn(t,t.cssSelectorAllowlist),L=pn(t,t.actionClickAllowlist),$=p(),q=d0({allObservables:$,options:t,amplitude:J,shouldTrackEvent:w,evaluateTriggers:y.evaluate.bind(y)}),m.push(q),Ae=s0({allObservables:$,getEventProperties:function(){for(var Ve=[],ee=0;eeHo||t.xMax-t.xMin>Ho}function jo(t){var e=t[0],n=t[t.length-1],l=N({"[Amplitude] Begin Time":new Date(e.timestamp).toISOString(),"[Amplitude] End Time":new Date(n.timestamp).toISOString(),"[Amplitude] Duration":n.timestamp-e.timestamp,"[Amplitude] Clicks":t.map(function(i){return{X:i.event.clientX,Y:i.event.clientY,Time:i.timestamp}}),"[Amplitude] Click Count":t.length},e.targetElementProperties);return{rageClickEvent:l,time:e.timestamp}}function p0(t,e){var n=Math.max(0,t.length-Ri+1),l=t[n];return e.timestamp-l.timestamp>=pd}function Z0(t,e){return t.length>0&&t[t.length-1].closestTrackedAncestor!==e.closestTrackedAncestor}function G0(t){var e=t.amplitude,n=t.allObservables,l=t.shouldTrackRageClick,i=n.clickObservable,r=[],o={},a;function c(d){r=[],o={},d&&(Do(o,d),r.push(d))}return i.pipe(ke(xn),ke(function(d){return l("click",d.closestTrackedAncestor)}),Ne(function(d){if(a&&clearTimeout(a),Do(o,d),r.length===0)return r.push(d),null;if(Z0(r,d)||p0(r,d)||o.isOutOfBounds){var s=r.length>=Ri?jo(r):null;return c(d),s}return r.push(d),r.length>=Ri&&(a=setTimeout(function(){var u=jo(r),h=u.rageClickEvent,g=u.time;e.track(No,h,{time:g}),c()},pd)),null}),ke(function(d){return d!==null})).subscribe(function(d){d!==null&&e.track(No,d.rageClickEvent,{time:d.time})})}var X0=function(t){var e,n,l,i,r;t===void 0&&(t={});var o=bb,a="enrichment",c=[],d=(n=(e=t.rageClicks)===null||e===void 0?void 0:e.cssSelectorAllowlist)!==null&&n!==void 0?n:_g,s=(i=(l=t.deadClicks)===null||l===void 0?void 0:l.cssSelectorAllowlist)!==null&&i!==void 0?i:jg,u=(r=t.dataAttributePrefix)!==null&&r!==void 0?r:Nc,h=new nr(t),g=D([],U(new Set(D(D([],U(d),!1),U(s),!1))),!1),b=function(){var A,X=Ad("pointerdown").pipe(Ne(function(S){return h.addAdditionalEventProperties(S,"click",g,u,!0)}),xt()),y;window.navigation&&(y=en(window.navigation,"navigate").pipe(Ne(function(S){return h.addAdditionalEventProperties(S,"navigate",g,u)}),xt()));var I=fd().pipe(Ne(function(S){return h.addAdditionalEventProperties(S,"mutation",g,u)}),xt());return A={},A[ht.ClickObservable]=X,A[ht.ChangeObservable]=new Re,A[ht.NavigateObservable]=y,A[ht.MutationObservable]=I,A},m=function(A,X){return W(void 0,void 0,void 0,function(){var y,I,S,G,B,v;return C(this,function(J){return typeof document>"u"?[2]:(y=pn(t,d),I=pn(t,s),S=b(),G=G0({allObservables:S,amplitude:X,shouldTrackRageClick:y}),c.push(G),B=A0({amplitude:X,allObservables:S,getEventProperties:function(w,L){return h.getEventProperties(w,L,u)},shouldTrackDeadClick:I}),c.push(B),(v=A==null?void 0:A.loggerProvider)===null||v===void 0||v.log("".concat(o," has been successfully added.")),[2])})})},f=function(A){return W(void 0,void 0,void 0,function(){return C(this,function(X){return[2,A]})})},p=function(){return W(void 0,void 0,void 0,function(){var A,X,y,I,S;return C(this,function(G){try{for(A=H(c),X=A.next();!X.done;X=A.next())y=X.value,y.unsubscribe()}catch(B){I={error:B}}finally{try{X&&!X.done&&(S=A.return)&&S.call(A)}finally{if(I)throw I.error}}return[2]})})};return{name:o,type:a,setup:m,execute:f,teardown:p}},I0="@amplitude/plugin-network-capture-browser",Zd="[Amplitude] Network Request",Gd="500-599";function sl(t,e){var n=e.replace(/[-[\]{}()+?.,\\^$|#\s]/g,"\\$&"),l="^"+n.replace(/\*/g,".*")+"$",i=new RegExp(l);return i.test(t)}function Xd(t,e){var n,l,i=e.split(",");try{for(var r=H(i),o=r.next();!o.done;o=r.next()){var a=o.value,c=U(a.split("-").map(Number),2),d=c[0],s=c[1];if(t===d&&s===void 0||t>=d&&t<=s)return!0}}catch(u){n={error:u}}finally{try{o&&!o.done&&(l=r.return)&&l.call(r)}finally{if(n)throw n.error}}return!1}function R0(t,e,n,l,i){if(!(t.hosts&&!t.hosts.find(function(o){return sl(e,o)}))&&!(l&&t.urls&&!Ai(l,t.urls))&&!(i&&t.methods&&!t.methods.find(function(o){return i.toLowerCase()===o.toLowerCase()||o==="*"}))){if(n||n===0){var r=t.statusCodeRange||Gd;if(!Xd(n,r))return!1}return!0}}function Id(t){var e;if(t)try{var n=(e=Fe())===null||e===void 0?void 0:e.location.href,l=new URL(t,n),i=l.searchParams.toString(),r=l.hash.replace("#",""),o=l.href,a=l.host;l.hash="",l.search="";var c=l.href;return{query:i,fragment:r,href:o,hrefWithoutQueryOrHash:c,host:a}}catch{return}}function E0(t,e){if(t.includes("amplitude.com"))try{var n=e.body;if(typeof n!="string")return!1;var l=JSON.parse(n),i=l.events;if(i.find(function(r){return r.event_type===Zd}))return!0}catch{}return!1}function _o(t){if(typeof t!="object"||t===null){if(t)return D([],U(ml),!1);if(t===void 0){var e=void 0;return e}return}if(t.length!==0)return t}function Oo(t){var e,n;return!(!((e=t==null?void 0:t.allowlist)===null||e===void 0)&&e.length)&&!(!((n=t==null?void 0:t.blocklist)===null||n===void 0)&&n.length)}function y0(t,e){var n;e===void 0&&(e={});var l=Id(t.url);if(!l)return!1;var i=l.host;if(e.ignoreAmplitudeRequests!==!1&&(sl(i,"*.amplitude.com")||sl(i,"amplitude.com"))||!((n=e.ignoreHosts)===null||n===void 0)&&n.find(function(o){return sl(i,o)})||!e.captureRules&&t.status!==void 0&&!Xd(t.status,Gd))return!1;if(e.captureRules){var r;if(D([],U(e.captureRules),!1).reverse().find(function(o){if(r=R0(o,i,t.status,t.url,t.method),r){var a=_o(o.responseHeaders);if(t.responseWrapper&&a){var c=t.responseWrapper.headers(a);c&&(t.responseHeaders=c)}var d=_o(o.requestHeaders);if(t.requestWrapper&&d){var s=t.requestWrapper.headers(d);s&&(t.requestHeaders=s)}t.responseWrapper&&o.responseBody&&!Oo(o.responseBody)&&(t.responseBodyJson=t.responseWrapper.json(o.responseBody.allowlist,o.responseBody.blocklist)),t.requestWrapper&&o.requestBody&&!Oo(o.requestBody)&&(t.requestBodyJson=t.requestWrapper.json(o.requestBody.allowlist,o.requestBody.blocklist))}return r!==void 0}),!r)return!1}return!(t.requestWrapper&&E0(i,t.requestWrapper))}function v0(t,e,n,l){return W(this,void 0,void 0,function(){var i,r,o;return C(this,function(a){switch(a.label){case 0:return e.requestBodyJson||e.responseBodyJson?[4,Promise.all([e.requestBodyJson,e.responseBodyJson])]:[3,2];case 1:if(i=U.apply(void 0,[a.sent(),2]),r=i[0],o=i[1],r)try{t["[Amplitude] Request Body"]=JSON.stringify(r)}catch(c){l==null||l.debug("Failed to stringify request body",c)}if(o)try{t["[Amplitude] Response Body"]=JSON.stringify(o)}catch{l==null||l.debug("Failed to stringify response body")}a.label=2;case 2:return n==null||n.track(Zd,t),[2]}})})}function S0(t){var e=t.allObservables,n=t.networkTrackingOptions,l=t.amplitude,i=t.loggerProvider,r=e.networkObservable,o=r.pipe(ke(function(a){return y0(a.event,n)}));return o.subscribe(function(a){var c,d,s,u=a.event,h=Id(u.url);if(h){var g=(d=u.responseWrapper)===null||d===void 0?void 0:d.bodySize,b=(s=u.requestWrapper)===null||s===void 0?void 0:s.bodySize,m=(c={},c["[Amplitude] URL"]=h.hrefWithoutQueryOrHash,c["[Amplitude] URL Query"]=h.query,c["[Amplitude] URL Fragment"]=h.fragment,c["[Amplitude] Request Method"]=u.method,c["[Amplitude] Status Code"]=u.status,c["[Amplitude] Start Time"]=u.startTime,c["[Amplitude] Completion Time"]=u.endTime,c["[Amplitude] Duration"]=u.duration,c["[Amplitude] Request Body Size"]=b,c["[Amplitude] Response Body Size"]=g,c["[Amplitude] Request Type"]=u.type,c["[Amplitude] Request Headers"]=u.requestHeaders,c["[Amplitude] Response Headers"]=u.responseHeaders,c);v0(m,u,l,i)}})}var Ei;(function(t){t.NetworkObservable="networkObservable"})(Ei||(Ei={}));var C0=function(t){t===void 0&&(t={});var e=I0,n="enrichment",l,i=[],r=function(s,u){var h={event:s,timestamp:Date.now(),type:u};return h},o=function(){var s,u=new Re(function(h){var g=new ah(function(b){var m=r(b,"network");h.next(m)});return oo.subscribe(g,l),function(){oo.unsubscribe(g)}});return s={},s[Ei.NetworkObservable]=u,s},a=function(s,u){return W(void 0,void 0,void 0,function(){var h,g;return C(this,function(b){return typeof document>"u"?[2]:(h=o(),l=s==null?void 0:s.loggerProvider,g=S0({allObservables:h,networkTrackingOptions:t,amplitude:u,loggerProvider:l}),i.push(g),l==null||l.log("".concat(e," has been successfully added.")),[2])})})},c=function(s){return W(void 0,void 0,void 0,function(){return C(this,function(u){return[2,s]})})},d=function(){return W(void 0,void 0,void 0,function(){var s,u,h,g,b;return C(this,function(m){try{for(s=H(i),u=s.next();!u.done;u=s.next())h=u.value,h.unsubscribe()}catch(f){g={error:f}}finally{try{u&&!u.done&&(b=s.return)&&b.call(s)}finally{if(g)throw g.error}}return[2]})})};return{name:e,type:n,setup:a,execute:c,teardown:d}},W0="web-vitals-browser",B0="[Amplitude] Web Vitals";let Rd=-1;const on=t=>{addEventListener("pageshow",(e=>{e.persisted&&(Rd=e.timeStamp,t(e))}),!0)},mt=(t,e,n,l)=>{let i,r;return o=>{e.value>=0&&(o||l)&&(r=e.value-(i??0),(r||i===void 0)&&(i=e.value,e.delta=r,e.rating=((a,c)=>a>c[1]?"poor":a>c[0]?"needs-improvement":"good")(e.value,n),t(e)))}},lr=t=>{requestAnimationFrame((()=>requestAnimationFrame((()=>t()))))},ir=()=>{const t=performance.getEntriesByType("navigation")[0];if(t&&t.responseStart>0&&t.responseStart{const t=ir();return(t==null?void 0:t.activationStart)??0},ft=(t,e=-1)=>{const n=ir();let l="navigate";return Rd>=0?l="back-forward-cache":n&&(document.prerendering||wn()>0?l="prerender":document.wasDiscarded?l="restore":n.type&&(l=n.type.replace(/_/g,"-"))),{name:t,value:e,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:l}},ni=new WeakMap;function rr(t,e){return ni.get(t)||ni.set(t,new e),ni.get(t)}let N0=class{constructor(){pt(this,"t");pt(this,"i",0);pt(this,"o",[])}h(e){var i;if(e.hadRecentInput)return;const n=this.o[0],l=this.o.at(-1);this.i&&n&&l&&e.startTime-l.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),(i=this.t)==null||i.call(this,e)}};const kn=(t,e,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(t)){const l=new PerformanceObserver((i=>{Promise.resolve().then((()=>{e(i.getEntries())}))}));return l.observe({type:t,buffered:!0,...n}),l}}catch{}},or=t=>{let e=!1;return()=>{e||(t(),e=!0)}};let jt=-1;const Ed=new Set,Po=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,yi=t=>{if(document.visibilityState==="hidden"){if(t.type==="visibilitychange")for(const e of Ed)e();isFinite(jt)||(jt=t.type==="visibilitychange"?t.timeStamp:0,removeEventListener("prerenderingchange",yi,!0))}},Yl=()=>{var t;if(jt<0){const e=wn();jt=(document.prerendering||(t=globalThis.performance.getEntriesByType("visibility-state").filter((l=>l.name==="hidden"&&l.startTime>e))[0])==null?void 0:t.startTime)??Po(),addEventListener("visibilitychange",yi,!0),addEventListener("prerenderingchange",yi,!0),on((()=>{setTimeout((()=>{jt=Po()}))}))}return{get firstHiddenTime(){return jt},onHidden(e){Ed.add(e)}}},Ul=t=>{document.prerendering?addEventListener("prerenderingchange",(()=>t()),!0):t()},$o=[1800,3e3],yd=(t,e={})=>{Ul((()=>{const n=Yl();let l,i=ft("FCP");const r=kn("paint",(o=>{for(const a of o)a.name==="first-contentful-paint"&&(r.disconnect(),a.startTime{i=ft("FCP"),l=mt(t,i,$o,e.reportAllChanges),lr((()=>{i.value=performance.now()-o.timeStamp,l(!0)}))})))}))},qo=[.1,.25],F0=(t,e={})=>{const n=Yl();yd(or((()=>{let l,i=ft("CLS",0);const r=rr(e,N0),o=c=>{for(const d of c)r.h(d);r.i>i.value&&(i.value=r.i,i.entries=r.o,l())},a=kn("layout-shift",o);a&&(l=mt(t,i,qo,e.reportAllChanges),n.onHidden((()=>{o(a.takeRecords()),l(!0)})),on((()=>{r.i=0,i=ft("CLS",0),l=mt(t,i,qo,e.reportAllChanges),lr((()=>l()))})),setTimeout(l))})))};let vd=0,li=1/0,On=0;const Y0=t=>{for(const e of t)e.interactionId&&(li=Math.min(li,e.interactionId),On=Math.max(On,e.interactionId),vd=On?(On-li)/7+1:0)};let vi;const ea=()=>vi?vd:performance.interactionCount??0,U0=()=>{"interactionCount"in performance||vi||(vi=kn("event",Y0,{type:"event",buffered:!0,durationThreshold:0}))};let ta=0,J0=class{constructor(){pt(this,"u",[]);pt(this,"l",new Map);pt(this,"m");pt(this,"p")}v(){ta=ea(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((ea()-ta)/50));return this.u[e]}h(e){var i,r;if((i=this.m)==null||i.call(this,e),!e.interactionId&&e.entryType!=="first-input")return;const n=this.u.at(-1);let l=this.l.get(e.interactionId);if(l||this.u.length<10||e.duration>n.P){if(l?e.duration>l.P?(l.entries=[e],l.P=e.duration):e.duration===l.P&&e.startTime===l.entries[0].startTime&&l.entries.push(e):(l={id:e.interactionId,entries:[e],P:e.duration},this.l.set(l.id,l),this.u.push(l)),this.u.sort(((o,a)=>a.P-o.P)),this.u.length>10){const o=this.u.splice(10);for(const a of o)this.l.delete(a.id)}(r=this.p)==null||r.call(this,l)}}};const Sd=t=>{const e=globalThis.requestIdleCallback||setTimeout;document.visibilityState==="hidden"?t():(t=or(t),addEventListener("visibilitychange",t,{once:!0,capture:!0}),e((()=>{t(),removeEventListener("visibilitychange",t,{capture:!0})})))},na=[200,500],x0=(t,e={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const n=Yl();Ul((()=>{U0();let l,i=ft("INP");const r=rr(e,J0),o=c=>{Sd((()=>{for(const s of c)r.h(s);const d=r.L();d&&d.P!==i.value&&(i.value=d.P,i.entries=d.entries,l())}))},a=kn("event",o,{durationThreshold:e.durationThreshold??40});l=mt(t,i,na,e.reportAllChanges),a&&(a.observe({type:"first-input",buffered:!0}),n.onHidden((()=>{o(a.takeRecords()),l(!0)})),on((()=>{r.v(),i=ft("INP"),l=mt(t,i,na,e.reportAllChanges)})))}))};let w0=class{constructor(){pt(this,"m")}h(e){var n;(n=this.m)==null||n.call(this,e)}};const la=[2500,4e3],k0=(t,e={})=>{Ul((()=>{const n=Yl();let l,i=ft("LCP");const r=rr(e,w0),o=c=>{e.reportAllChanges||(c=c.slice(-1));for(const d of c)r.h(d),d.startTime{o(a.takeRecords()),a.disconnect(),l(!0)})),d=s=>{s.isTrusted&&(Sd(c),removeEventListener(s.type,d,{capture:!0}))};for(const s of["keydown","click","visibilitychange"])addEventListener(s,d,{capture:!0});on((s=>{i=ft("LCP"),l=mt(t,i,la,e.reportAllChanges),lr((()=>{i.value=performance.now()-s.timeStamp,l(!0)}))}))}}))},ia=[800,1800],Si=t=>{document.prerendering?Ul((()=>Si(t))):document.readyState!=="complete"?addEventListener("load",(()=>Si(t)),!0):setTimeout(t)},z0=(t,e={})=>{let n=ft("TTFB"),l=mt(t,n,ia,e.reportAllChanges);Si((()=>{const i=ir();i&&(n.value=Math.max(i.responseStart-wn(),0),n.entries=[i],l(!0),on((()=>{n=ft("TTFB",0),l=mt(t,n,ia,e.reportAllChanges),l(!0)})))}))};function Q0(t){var e,n=((e=t.entries[0])===null||e===void 0?void 0:e.startTime)||0;return performance.timeOrigin+n}function un(t){return{value:t.value,rating:t.rating,delta:t.delta,navigationType:t.navigationType,id:t.id,timestamp:Math.floor(Q0(t)),navigationStart:Math.floor(performance.timeOrigin)}}var L0=function(){var t=null,e=Fe(),n=e==null?void 0:e.document,l=e==null?void 0:e.location,i=function(a,c){return W(void 0,void 0,void 0,function(){var d,s,u;return C(this,function(h){return d=function(g){var b;if(!g)return"";var m=g;try{m=decodeURI(g)}catch(f){(b=a.loggerProvider)===null||b===void 0||b.error("Malformed URI sequence: ",f)}return m},n===void 0?[2]:(s=d(l==null?void 0:l.href),u={"[Amplitude] Page Domain":(l==null?void 0:l.hostname)||"","[Amplitude] Page Location":s,"[Amplitude] Page Path":d(l==null?void 0:l.pathname),"[Amplitude] Page Title":typeof document<"u"&&document.title||"","[Amplitude] Page URL":s.split("?")[0]},k0(function(g){u["[Amplitude] LCP"]=un(g)}),yd(function(g){u["[Amplitude] FCP"]=un(g)}),x0(function(g){u["[Amplitude] INP"]=un(g)}),F0(function(g){u["[Amplitude] CLS"]=un(g)}),z0(function(g){u["[Amplitude] TTFB"]=un(g)}),t=function(){n.visibilityState==="hidden"&&t&&(c.track(B0,u),n.removeEventListener("visibilitychange",t),t=null)},n.addEventListener("visibilitychange",t),[2])})})},r=function(a){return W(void 0,void 0,void 0,function(){return C(this,function(c){return[2,a]})})},o=function(){return W(void 0,void 0,void 0,function(){return C(this,function(a){return t&&(n==null||n.removeEventListener("visibilitychange",t)),[2]})})};return{name:W0,type:"enrichment",setup:i,execute:r,teardown:o}},ra=function(t){var e=t.split(".");return e.length<=2?t:e.slice(e.length-2,e.length).join(".")},K0=function(t){return Object.values(t).every(function(e){return!e})},T0=function(t,e,n,l,i){i===void 0&&(i=!0),t.referrer;var r=t.referring_domain,o=mi(t,["referrer","referring_domain"]),a=e||{};a.referrer;var c=a.referring_domain,d=mi(a,["referrer","referring_domain"]);if(M0(n.excludeReferrers,t.referring_domain))return l.debug("This is not a new campaign because ".concat(t.referring_domain," is in the exclude referrer list.")),!1;if(!i&&K0(t)&&e)return l.debug("This is not a new campaign because this is a direct traffic in the same session."),!1;var s=JSON.stringify(o)!==JSON.stringify(d),u=ra(r||"")!==ra(c||""),h=!e||s||u;return h?l.debug("This is a new campaign. An $identify event will be sent."):l.debug("This is not a new campaign because it's the same as the previous one."),h},M0=function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=""),t.some(function(n){return n instanceof RegExp?n.test(e):n===e})},H0=function(t,e){var n=N(N({},Ti),t),l=Object.entries(n).reduce(function(i,r){var o,a=U(r,2),c=a[0],d=a[1];return i.setOnce("initial_".concat(c),(o=d??e.initialEmptyValue)!==null&&o!==void 0?o:"EMPTY"),d?i.set(c,d):i.unset(c)},new qt);return yc(l)},D0=function(t){var e=t;return e?(e.startsWith(".")&&(e=e.substring(1)),[new RegExp("".concat(e.replace(".","\\."),"$"))]):[]},j0=(function(){function t(e,n){var l;this.shouldTrackNewCampaign=!1,this.options=N({initialEmptyValue:"EMPTY",resetSessionOnNewCampaign:!1,excludeReferrers:D0((l=n.cookieOptions)===null||l===void 0?void 0:l.domain)},e),this.storage=n.cookieStorage,this.storageKey=no(n.apiKey,"MKTG"),this.webExpStorageKey=no(n.apiKey,"MKTG_ORIGINAL"),this.currentCampaign=Ti,this.sessionTimeout=n.sessionTimeout,this.lastEventTime=n.lastEventTime,this.logger=n.loggerProvider,n.loggerProvider.log("Installing web attribution tracking.")}return t.prototype.init=function(){return W(this,void 0,void 0,function(){var e,n;return C(this,function(l){switch(l.label){case 0:return[4,this.fetchCampaign()];case 1:return n=U.apply(void 0,[l.sent(),2]),this.currentCampaign=n[0],this.previousCampaign=n[1],e=this.lastEventTime?Cc(this.sessionTimeout,this.lastEventTime):!0,T0(this.currentCampaign,this.previousCampaign,this.options,this.logger,e)?(this.shouldTrackNewCampaign=!0,[4,this.storage.set(this.storageKey,this.currentCampaign)]):[3,3];case 2:l.sent(),l.label=3;case 3:return[2]}})})},t.prototype.fetchCampaign=function(){return W(this,void 0,void 0,function(){var e;return C(this,function(n){switch(n.label){case 0:return[4,this.storage.get(this.webExpStorageKey)];case 1:return e=n.sent(),e?[4,this.storage.remove(this.webExpStorageKey)]:[3,3];case 2:n.sent(),n.label=3;case 3:return[4,Promise.all([e||new dh().parse(),this.storage.get(this.storageKey)])];case 4:return[2,n.sent()]}})})},t.prototype.generateCampaignEvent=function(e){this.shouldTrackNewCampaign=!1;var n=H0(this.currentCampaign,this.options);return e&&(n.event_id=e),n},t.prototype.shouldSetSessionIdOnNewCampaign=function(){return this.shouldTrackNewCampaign&&!!this.options.resetSessionOnNewCampaign},t})(),_0=(function(t){Me(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.init=function(n,l,i){n===void 0&&(n="");var r,o;return arguments.length>2?(r=l,o=i):typeof l=="string"?(r=l,o=void 0):(r=l==null?void 0:l.userId,o=l),Oe(this._init(N(N({},o),{userId:r,apiKey:n})))},e.prototype._init=function(n){var l,i,r;return W(this,void 0,void 0,function(){var o,a,c,d,s,u,h,g=this;return C(this,function(b){switch(b.label){case 0:return this.initializing?[2]:(this.initializing=!0,[4,Jh(n.apiKey,n,this)]);case 1:return o=b.sent(),o.fetchRemoteConfig?(this.remoteConfigClient=new fg(o.apiKey,o.loggerProvider,o.serverZone),[4,new Promise(function(m){var f;(f=g.remoteConfigClient)===null||f===void 0||f.subscribe("configs.analyticsSDK.browserSDK","all",function(p,A,X){o.loggerProvider.debug("Remote configuration received:",JSON.stringify({remoteConfig:p,source:A,lastFetch:X},null,2)),p&&nb(p,o),m()})})]):[3,3];case 2:b.sent(),b.label=3;case 3:return[4,t.prototype._init.call(this,o)];case 4:return b.sent(),this.logBrowserOptions(o),xc(this.config.defaultTracking)?(a=fh(this.config),this.webAttribution=new j0(a,this.config),[4,this.webAttribution.init()]):[3,6];case 5:b.sent(),b.label=6;case 6:return c=fl(),d=c.ampTimestamp?Number(c.ampTimestamp):void 0,s=d?Date.now(){},execute:async e=>{if(e.event_properties&&typeof e.event_properties=="object")for(const n of Gn.PROPERTIES_TO_REMOVE)delete e.event_properties[n];return e}}}init(){this.inited||Se.amplitudeKey&&(this.inited=!0,P0(Gn.createPageViewTrackingEnrichment()),$0(Se.amplitudeKey,{transport:"beacon",autocapture:{elementInteractions:!0}}))}reset(){this.inited=!1,this.storageUserId=null,this.storageUserProperties={},q0()}setUserId(e){!e||this.storageUserId===e||(this.inited||this.init(),this.storageUserId=e,em(e))}trackOnce(e){this.inited||this.init(),aa(e)}batchTrack(e){this.inited||this.init();for(const n of e)aa(n)}customUserProperties(e){if(!e||Object.keys(e).length===0)return;this.inited||this.init();let n;this.storageUserProperties?n=this.extractChangedValues(this.storageUserProperties,e):n=e,this.storageUserProperties=e;const l=new qt;Object.entries(n).forEach(([i,r])=>{l.set(i,typeof r=="number"?`${r}`:r)}),oa(l)}customUserPropertyOne(e,n){if(!e||(this.inited||this.init(),this.storageUserProperties[e]===n))return;this.storageUserProperties[e]=n;const l=new qt;l.set(e,n),oa(l)}extractChangedValues(e,n){const l={};return Object.keys(n).forEach(i=>{(!(i in e)||e[i]!==n[i])&&(l[i]=n[i])}),l}formatToAmplitude(e){const{events:n,clientInfo:l}=e;return Vl("server",n.map(i=>{const{eventName:r,extData:o}=i;return{event_type:r,event_properties:{ext_data:o,client_info:l}}}))}};Gn.PROPERTIES_TO_REMOVE=["page_title","[Amplitude] Page Title"];let Ci=Gn;const ca=new Ci;function bt(t,e,n,l){return new(n||(n=Promise))((function(i,r){function o(d){try{c(l.next(d))}catch(s){r(s)}}function a(d){try{c(l.throw(d))}catch(s){r(s)}}function c(d){var s;d.done?i(d.value):(s=d.value,s instanceof n?s:new n((function(u){u(s)}))).then(o,a)}c((l=l.apply(t,[])).next())}))}function Vt(t,e){var n,l,i,r,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(r[Symbol.iterator]=function(){return this}),r;function a(c){return function(d){return(function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(o=0)),o;)try{if(n=1,l&&(i=2&s[0]?l.return:s[0]?l.throw||((i=l.return)&&i.call(l),0):l.next)&&!(i=i.call(l,s[1])).done)return i;switch(l=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,l=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(i=o.trys,!((i=i.length>0&&i[i.length-1])||s[0]!==6&&s[0]!==2)){o=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),(t^=t>>>16)>>>0}var Je=new Uint32Array([597399067,2869860233,951274213,2716044179]);function lt(t,e){return t<>>32-e}function ar(t,e){var n;if(e===void 0&&(e=0),e=e?0|e:0,typeof t=="string"&&(n=t,t=new TextEncoder().encode(n).buffer),!(t instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");var l=new Uint32Array([e,e,e,e]);(function(r,o){for(var a=r.byteLength/16|0,c=new Uint32Array(r,0,4*a),d=0;d0&&(i[d]=b)}},o=0,a=Object.entries(t);o"u")return{name:"unknown",version:"unknown"};for(var t=navigator.userAgent,e={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"},n=0,l=[/(?SamsungBrowser)\/(?\d+(?:\.\d+)?)/,/(?Edge|Edg)\/(?\d+(?:\.\d+)?)/,/(?(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?\d+(?:\.\d+)?)/,/(?(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?\d+(?:\.\d+)?)/,/(?Safari)\/(?\d+(?:\.\d+)?)/,/(?MSIE|Trident|IEMobile).+?(?\d+(?:\.\d+)?)/,/(?samsung).*Version\/(?\d+(?:\.\d+)?)/i,/(?[A-Za-z]+)\/(?\d+(?:\.\d+)?)/];ne[i]&&(i=parseInt(r,10));return i}["SamsungBrowser","Safari"].includes(am.name)||at("audio",(function(){return bt(this,void 0,void 0,(function(){return Vt(this,(function(t){return[2,new Promise((function(e,n){try{var l=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,5e3,44100),i=l.createBufferSource(),r=l.createOscillator();r.frequency.value=1e3;var o,a=l.createDynamicsCompressor();a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.2,r.connect(a),a.connect(l.destination),r.start(),l.oncomplete=function(c){o=c.renderedBuffer.getChannelData(0),e({sampleHash:om(o),oscillator:r.type,maxChannels:l.destination.maxChannelCount,channelCountMode:i.channelCountMode})},l.startRendering()}catch(c){console.error("Error creating audio fingerprint:",c),n(c)}}))]}))}))}));var Fd=Pt(),da=Fd.name.toLowerCase(),dm=Fd.version.split(".")[0]||"0",sm=parseInt(dm,10);da==="firefox"||da==="safari"&&sm===17||at("canvas",(function(){return document.createElement("canvas").getContext("2d"),new Promise((function(t){var e=Array.from({length:3},(function(){return(function(){var n=document.createElement("canvas"),l=n.getContext("2d");if(!l)return new ImageData(1,1);n.width=280,n.height=20;var i=l.createLinearGradient(0,0,n.width,n.height);i.addColorStop(0,"red"),i.addColorStop(.16666666666666666,"orange"),i.addColorStop(.3333333333333333,"yellow"),i.addColorStop(.5,"green"),i.addColorStop(.6666666666666666,"blue"),i.addColorStop(.8333333333333334,"indigo"),i.addColorStop(1,"violet"),l.fillStyle=i,l.fillRect(0,0,n.width,n.height);var r="Random Text WMwmil10Oo";return l.font="23.123px Arial",l.fillStyle="black",l.fillText(r,-5,15),l.fillStyle="rgba(0, 0, 255, 0.5)",l.fillText(r,-3.3,17.7),l.beginPath(),l.moveTo(0,0),l.lineTo(2*n.width/7,n.height),l.strokeStyle="white",l.lineWidth=2,l.stroke(),l.getImageData(0,0,n.width,n.height)})()}));t({commonImageDataHash:ar(Nd(e,280,20).data.toString()).toString()})}))}));var gn,um=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],gm=["monospace","sans-serif","serif"];function sa(t,e){if(!t)throw new Error("Canvas context not supported");return t.font,t.font="72px ".concat(e),t.measureText("WwMmLli0Oo").width}function hm(){var t,e=document.createElement("canvas"),n=(t=e.getContext("webgl"))!==null&&t!==void 0?t:e.getContext("experimental-webgl");if(n&&"getParameter"in n)try{var l=(n.getParameter(n.VENDOR)||"").toString(),i=(n.getParameter(n.RENDERER)||"").toString(),r={vendor:l,renderer:i,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!i.length||!l.length){var o=n.getExtension("WEBGL_debug_renderer_info");if(o){var a=(n.getParameter(o.UNMASKED_VENDOR_WEBGL)||"").toString(),c=(n.getParameter(o.UNMASKED_RENDERER_WEBGL)||"").toString();a&&(r.vendorUnmasked=a),c&&(r.rendererUnmasked=c)}}return r}catch{}return"undefined"}function bm(){var t=new Float32Array(1),e=new Uint8Array(t.buffer);return t[0]=1/0,t[0]=t[0]-t[0],e[3]}function Vm(t,e){var n={};return e.forEach((function(l){var i=(function(r){if(r.length===0)return null;var o={};r.forEach((function(d){var s=String(d);o[s]=(o[s]||0)+1}));var a=r[0],c=1;return Object.keys(o).forEach((function(d){o[d]>c&&(a=d,c=o[d])})),a})(t.map((function(r){return l in r?r[l]:void 0})).filter((function(r){return r!==void 0})));i&&(n[l]=i)})),n}function mm(){var t=[],e={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(e).forEach((function(n){e[n].forEach((function(l){matchMedia("(".concat(n,": ").concat(l,")")).matches&&t.push("".concat(n,": ").concat(l))}))})),t}Pt().name!="Firefox"&&at("fonts",(function(){var t=this;return new Promise((function(e,n){try{(function(l){var i;bt(this,void 0,void 0,(function(){var r,o,a;return Vt(this,(function(c){switch(c.label){case 0:return document.body?[3,2]:[4,(d=50,new Promise((function(u){return setTimeout(u,d,s)})))];case 1:return c.sent(),[3,0];case 2:if((r=document.createElement("iframe")).setAttribute("frameBorder","0"),(o=r.style).setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),r.src="about:blank",document.body.appendChild(r),!(a=r.contentDocument||((i=r.contentWindow)===null||i===void 0?void 0:i.document)))throw new Error("Iframe document is not accessible");return l({iframe:a}),setTimeout((function(){document.body.removeChild(r)}),0),[2]}var d,s}))}))})((function(l){var i=l.iframe;return bt(t,void 0,void 0,(function(){var r,o,a,c;return Vt(this,(function(d){return r=i.createElement("canvas"),o=r.getContext("2d"),a=gm.map((function(s){return sa(o,s)})),c={},um.forEach((function(s){var u=sa(o,s);a.includes(u)||(c[s]=u)})),e(c),[2]}))}))}))}catch{n({error:"unsupported"})}}))})),at("hardware",(function(){return new Promise((function(t,e){var n=navigator.deviceMemory!==void 0?navigator.deviceMemory:0,l=window.performance&&window.performance.memory?window.performance.memory:0;t({videocard:hm(),architecture:bm(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:l.jsHeapSizeLimit||0})}))})),at("locales",(function(){return new Promise((function(t){t({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))})),at("permissions",(function(){return bt(this,void 0,void 0,(function(){var t;return Vt(this,(function(e){return gn=(Ie==null?void 0:Ie.permissions_to_check)||["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"],Pt().name.toLowerCase()==="safari"&&(gn=gn.filter((function(n){return!["camera","geolocation","microphone"].includes(n)}))),t=Array.from({length:(Ie==null?void 0:Ie.retries)||3},(function(){return(function(){return bt(this,void 0,void 0,(function(){var n,l,i,r,o;return Vt(this,(function(a){switch(a.label){case 0:n={},l=0,i=gn,a.label=1;case 1:if(!(l0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:mm()})}))})),at("system",(function(){return new Promise((function(t){var e=Pt(),n={platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:e.name,version:e.version}};e.name.toLowerCase()!=="safari"&&(n.applePayVersion=(function(){if(window.location.protocol==="https:"&&typeof window.ApplePaySession=="function")try{for(var l=window.ApplePaySession.supportsVersion,i=15;i>0;i--)if(l(i))return i}catch{return 0}return 0})(),n.cookieEnabled=window.navigator.cookieEnabled),t(n)}))}));var Te,fm=Pt().name!=="SamsungBrowser"?1:3,k=null;at("webgl",(function(){return bt(this,void 0,void 0,(function(){var t;return Vt(this,(function(e){typeof document<"u"&&((Te=document.createElement("canvas")).width=200,Te.height=100,k=Te.getContext("webgl"));try{if(!k)throw new Error("WebGL not supported");return t=Array.from({length:fm},(function(){return(function(){try{if(!k)throw new Error("WebGL not supported");var n=` attribute vec2 position; void main() { gl_Position = vec4(position, 0.0, 1.0); } `,l=` precision mediump float; void main() { gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color } `,i=k.createShader(k.VERTEX_SHADER),r=k.createShader(k.FRAGMENT_SHADER);if(!i||!r)throw new Error("Failed to create shaders");if(k.shaderSource(i,n),k.shaderSource(r,l),k.compileShader(i),!k.getShaderParameter(i,k.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+k.getShaderInfoLog(i));if(k.compileShader(r),!k.getShaderParameter(r,k.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+k.getShaderInfoLog(r));var o=k.createProgram();if(!o)throw new Error("Failed to create shader program");if(k.attachShader(o,i),k.attachShader(o,r),k.linkProgram(o),!k.getProgramParameter(o,k.LINK_STATUS))throw new Error("Shader program linking failed: "+k.getProgramInfoLog(o));k.useProgram(o);for(var a=137,c=new Float32Array(4*a),d=2*Math.PI/a,s=0;sn!==e):[...this.currentIncludeOption,e],ii("include",this.currentIncludeOption)):(this.currentIncludeOption=[...e],ii("include",this.currentIncludeOption))}}const pm=new Am;class Zm{constructor(e,n){this.interval=e,this.getClientInfo=n,this.events=[],this.timer=null}push(e){e.extData||(e.extData={}),e.extData.url=window.location.href,this.events.push(e),this.doChecking()}doChecking(){this.timer&&this.clearTimer(),this.timer=setTimeout(()=>{this.send(),this.clearTimer()},this.interval)}clearTimer(){clearTimeout(this.timer),this.timer=null}async send(){var i;const e={...this.getClientInfo(),tmToken:await pm.getId()},n={events:this.events,clientInfo:e},l=ca.formatToAmplitude(n);ca.batchTrack(l),(i=navigator==null?void 0:navigator.sendBeacon)==null||i.call(navigator,`${Se.apiHost}/api/user_behavior/batch_create_event_v2`,JSON.stringify(Vl("server",n))),this.events=[]}}function Gm(){const t=new Date;return{clientType:"web",clientVersion:"",productName:"Manus",timezone:(()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}})(),timezoneOffset:t.getTimezoneOffset()}}const Xm=new Zm(200,Gm);function wt(t){(Array.isArray(t)?t:[t]).map(n=>({...n,extData:{...n.extData},eventAt:new Date().toISOString()})).forEach(n=>{Xm.push(n)})}class Im{getCookie(e){if(typeof document>"u")return console.warn("CookieHelper: Cannot get cookie in a non-browser environment."),null;const n=e+"=",l=document.cookie.split(";");for(let i=0;i"u"){console.warn("CookieHelper: Cannot set cookie in a non-browser environment.");return}let i="";if(l.daysToExpire){const d=new Date;d.setTime(d.getTime()+l.daysToExpire*24*60*60*1e3),i="; expires="+d.toUTCString()}const r=l.path?"; path="+l.path:"; path=/",o=l.domain?"; domain="+l.domain:"",a=l.secure?"; secure":"",c=l.sameSite?"; samesite="+l.sameSite:"";document.cookie=e+"="+(n||"")+i+r+o+a+c}deleteCookie(e,n={}){if(typeof document>"u"){console.warn("CookieHelper: Cannot delete cookie in a non-browser environment.");return}this.setCookie(e,"",{daysToExpire:-1,path:n.path,domain:n.domain})}}const $n=new Im,Q={spaceEditorHighlight:"__manus__-space-editor-highlight",virtualTextNode:"__manus__virtual-text-node",onlyTextNode:"__manus__only-text-node",textNodeActive:"__manus__text-node-active",editModeActive:"__manus__edit-mode-active",spaceControlView:"__manus__space-editor-control-panel",textEditorPanelView:"__manus__space-editor-text-editor-modal",elementEditorPanelView:"__manus__space-editor-element-editor-modal",footerToolbarView:"__manus__space-footer-toolbar",colorPicker:"clr-picker",copyNode:"__manus__copy-node",hidden:"__manus__hidden"},Vn={accessToken:"access_token"};var P;(function(t){t[t.Canceled=1]="Canceled",t[t.Unknown=2]="Unknown",t[t.InvalidArgument=3]="InvalidArgument",t[t.DeadlineExceeded=4]="DeadlineExceeded",t[t.NotFound=5]="NotFound",t[t.AlreadyExists=6]="AlreadyExists",t[t.PermissionDenied=7]="PermissionDenied",t[t.ResourceExhausted=8]="ResourceExhausted",t[t.FailedPrecondition=9]="FailedPrecondition",t[t.Aborted=10]="Aborted",t[t.OutOfRange=11]="OutOfRange",t[t.Unimplemented=12]="Unimplemented",t[t.Internal=13]="Internal",t[t.Unavailable=14]="Unavailable",t[t.DataLoss=15]="DataLoss",t[t.Unauthenticated=16]="Unauthenticated"})(P||(P={}));function cr(t,e){return t!==null&&typeof t=="object"&&"$typeName"in t&&typeof t.$typeName=="string"?e===void 0?!0:e.typeName===t.$typeName:!1}var Z;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(Z||(Z={}));function Rm(){let t=0,e=0;for(let l=0;l<28;l+=7){let i=this.buf[this.pos++];if(t|=(i&127)<>4,(n&128)==0)return this.assertBounds(),[t,e];for(let l=3;l<=31;l+=7){let i=this.buf[this.pos++];if(e|=(i&127)<>>r,a=!(!(o>>>7)&&e==0),c=(a?o|128:o)&255;if(n.push(c),!a)return}const l=t>>>28&15|(e&7)<<4,i=e>>3!=0;if(n.push((i?l|128:l)&255),!!i){for(let r=3;r<31;r=r+7){const o=e>>>r,a=!!(o>>>7),c=(a?o|128:o)&255;if(n.push(c),!a)return}n.push(e>>>31&1)}}const ul=4294967296;function ua(t){const e=t[0]==="-";e&&(t=t.slice(1));const n=1e6;let l=0,i=0;function r(o,a){const c=Number(t.slice(o,a));i*=n,l=l*n+c,l>=ul&&(i=i+(l/ul|0),l=l%ul)}return r(-24,-18),r(-18,-12),r(-12,-6),r(-6),e?Ud(l,i):dr(l,i)}function Em(t,e){let n=dr(t,e);const l=n.hi&2147483648;l&&(n=Ud(n.lo,n.hi));const i=Yd(n.lo,n.hi);return l?"-"+i:i}function Yd(t,e){if({lo:t,hi:e}=ym(t,e),e<=2097151)return String(ul*e+t);const n=t&16777215,l=(t>>>24|e<<8)&16777215,i=e>>16&65535;let r=n+l*6777216+i*6710656,o=l+i*8147497,a=i*2;const c=1e7;return r>=c&&(o+=Math.floor(r/c),r%=c),o>=c&&(a+=Math.floor(o/c),o%=c),a.toString()+ga(o)+ga(r)}function ym(t,e){return{lo:t>>>0,hi:e>>>0}}function dr(t,e){return{lo:t|0,hi:e|0}}function Ud(t,e){return e=~e,t?t=~t+1:e+=1,dr(t,e)}const ga=t=>{const e=String(t);return"0000000".slice(e.length)+e};function Wi(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t=t>>7;e.push(1)}}function vm(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;(t&128)!==0&&n<10;n++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var ha={};const de=Sm();function Sm(){const t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(!!globalThis.Deno||typeof process!="object"||typeof ha!="object"||ha.BUF_BIGINT_DISABLE!=="1")){const n=BigInt("-9223372036854775808"),l=BigInt("9223372036854775807"),i=BigInt("0"),r=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(o){const a=typeof o=="bigint"?o:BigInt(o);if(a>l||ar||al.localName===n)}function Wm(t,e){const n=e.localName;if(e.oneof)return t[e.oneof.localName].case===n;if(e.presence!=Jd)return t[n]!==void 0&&Object.prototype.hasOwnProperty.call(t,n);switch(e.fieldKind){case"list":return t[n].length>0;case"map":return Object.keys(t[n]).length>0;case"scalar":return!Cm(e.scalar,t[n]);case"enum":return t[n]!==e.enum.values[0].number}throw new Error("message field with implicit presence")}function vn(t,e){return Object.prototype.hasOwnProperty.call(t,e)&&t[e]!==void 0}function wd(t,e){if(e.oneof){const n=t[e.oneof.localName];return n.case===e.localName?n.value:void 0}return t[e.localName]}function kd(t,e,n){e.oneof?t[e.oneof.localName]={case:e.localName,value:n}:t[e.localName]=n}function Bm(t,e){const n=e.localName;if(e.oneof){const l=e.oneof.localName;t[l].case===n&&(t[l]={case:void 0})}else if(e.presence!=Jd)delete t[n];else switch(e.fieldKind){case"map":t[n]={};break;case"list":t[n]=[];break;case"enum":t[n]=e.enum.values[0].number;break;case"scalar":t[n]=Lt(e.scalar,e.longAsString);break}}function Ct(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function sr(t,e){var n,l,i,r;if(Ct(t)&&Gt in t&&"add"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){const o=e,a=t.field();return o.listKind==a.listKind&&o.scalar===a.scalar&&((n=o.message)===null||n===void 0?void 0:n.typeName)===((l=a.message)===null||l===void 0?void 0:l.typeName)&&((i=o.enum)===null||i===void 0?void 0:i.typeName)===((r=a.enum)===null||r===void 0?void 0:r.typeName)}return!0}return!1}function ur(t,e){var n,l,i,r;if(Ct(t)&&Gt in t&&"has"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){const o=e,a=t.field();return o.mapKey===a.mapKey&&o.mapKind==a.mapKind&&o.scalar===a.scalar&&((n=o.message)===null||n===void 0?void 0:n.typeName)===((l=a.message)===null||l===void 0?void 0:l.typeName)&&((i=o.enum)===null||i===void 0?void 0:i.typeName)===((r=a.enum)===null||r===void 0?void 0:r.typeName)}return!0}return!1}function gr(t,e){return Ct(t)&&Gt in t&&"desc"in t&&Ct(t.desc)&&t.desc.kind==="message"&&(e===void 0||t.desc.typeName==e.typeName)}function Nm(t){return zd(t.$typeName)}function zn(t){const e=t.fields[0];return zd(t.typeName)&&e!==void 0&&e.fieldKind=="scalar"&&e.name=="value"&&e.number==1}function zd(t){return t.startsWith("google.protobuf.")&&["DoubleValue","FloatValue","Int64Value","UInt64Value","Int32Value","UInt32Value","BoolValue","StringValue","BytesValue"].includes(t.substring(16))}const Fm=999,Ym=998,gl=2;function dt(t,e){if(cr(e,t))return e;const n=km(t);return e!==void 0&&Um(t,n,e),n}function Um(t,e,n){for(const l of t.members){let i=n[l.localName];if(i==null)continue;let r;if(l.kind=="oneof"){const o=xd(n,l);if(!o)continue;r=o,i=wd(n,o)}else r=l;switch(r.fieldKind){case"message":i=hr(r,i);break;case"scalar":i=Qd(r,i);break;case"list":i=xm(r,i);break;case"map":i=Jm(r,i);break}kd(e,r,i)}return e}function Qd(t,e){return t.scalar==Z.BYTES?br(e):e}function Jm(t,e){if(Ct(e)){if(t.scalar==Z.BYTES)return ma(e,br);if(t.mapKind=="message")return ma(e,n=>hr(t,n))}return e}function xm(t,e){if(Array.isArray(e)){if(t.scalar==Z.BYTES)return e.map(br);if(t.listKind=="message")return e.map(n=>hr(t,n))}return e}function hr(t,e){if(t.fieldKind=="message"&&!t.oneof&&zn(t.message))return Qd(t.message.fields[0],e);if(Ct(e)){if(t.message.typeName=="google.protobuf.Struct"&&t.parent.typeName!=="google.protobuf.Value")return e;if(!cr(e,t.message))return dt(t.message,e)}return e}function br(t){return Array.isArray(t)?new Uint8Array(t):t}function ma(t,e){const n={};for(const l of Object.entries(t))n[l[0]]=e(l[1]);return n}const wm=Symbol(),fa=new WeakMap;function km(t){let e;if(zm(t)){const n=fa.get(t);let l,i;if(n)({prototype:l,members:i}=n);else{l={},i=new Set;for(const r of t.members)r.kind!="oneof"&&(r.fieldKind!="scalar"&&r.fieldKind!="enum"||r.presence!=gl&&(i.add(r),l[r.localName]=oi(r)));fa.set(t,{prototype:l,members:i})}e=Object.create(l),e.$typeName=t.typeName;for(const r of t.members)i.has(r)||r.kind=="field"&&(r.fieldKind=="message"||(r.fieldKind=="scalar"||r.fieldKind=="enum")&&r.presence!=gl)||(e[r.localName]=oi(r))}else{e={$typeName:t.typeName};for(const n of t.members)(n.kind=="oneof"||n.presence==gl)&&(e[n.localName]=oi(n))}return e}function zm(t){switch(t.file.edition){case Fm:return!1;case Ym:return!0;default:return t.fields.some(e=>e.presence!=gl&&e.fieldKind!="message"&&!e.oneof)}}function oi(t){if(t.kind=="oneof")return{case:void 0};if(t.fieldKind=="list")return[];if(t.fieldKind=="map")return{};if(t.fieldKind=="message")return wm;const e=t.getDefaultValue();return e!==void 0?t.fieldKind=="scalar"&&t.longAsString?e.toString():e:t.fieldKind=="scalar"?Lt(t.scalar,t.longAsString):t.enum.values[0].number}const Qm=["FieldValueInvalidError","FieldListRangeError","ForeignFieldError"];class Pe extends Error{constructor(e,n,l="FieldValueInvalidError"){super(n),this.name=l,this.field=()=>e}}function Lm(t){return t instanceof Error&&Qm.includes(t.name)&&"field"in t&&typeof t.field=="function"}const ai=Symbol.for("@bufbuild/protobuf/text-encoding");function Vr(){if(globalThis[ai]==null){const t=new globalThis.TextEncoder,e=new globalThis.TextDecoder;globalThis[ai]={encodeUtf8(n){return t.encode(n)},decodeUtf8(n){return e.decode(n)},checkUtf8(n){try{return encodeURIComponent(n),!0}catch{return!1}}}}return globalThis[ai]}var fe;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(fe||(fe={}));const Ld=34028234663852886e22,Kd=-34028234663852886e22,Td=4294967295,Md=2147483647,Hd=-2147483648;class Dd{constructor(e=Vr().encodeUtf8){this.encodeUtf8=e,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let e=0;for(let i=0;i>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Aa(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return ci(e),Wi(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.encodeUtf8(e);return this.uint32(n.byteLength),this.raw(n)}float(e){Km(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){Aa(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){ci(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return ci(e),e=(e<<1^e>>31)>>>0,Wi(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),l=new DataView(n.buffer),i=de.enc(e);return l.setInt32(0,i.lo,!0),l.setInt32(4,i.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),l=new DataView(n.buffer),i=de.uEnc(e);return l.setInt32(0,i.lo,!0),l.setInt32(4,i.hi,!0),this.raw(n)}int64(e){let n=de.enc(e);return ri(n.lo,n.hi,this.buf),this}sint64(e){const n=de.enc(e),l=n.hi>>31,i=n.lo<<1^l,r=(n.hi<<1|n.lo>>>31)^l;return ri(i,r,this.buf),this}uint64(e){const n=de.uEnc(e);return ri(n.lo,n.hi,this.buf),this}}class mr{constructor(e,n=Vr().decodeUtf8){this.decodeUtf8=n,this.varint64=Rm,this.uint32=vm,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.uint32(),n=e>>>3,l=e&7;if(n<=0||l<0||l>5)throw new Error("illegal tag: field no "+n+" wire type "+l);return[n,l]}skip(e,n){let l=this.pos;switch(e){case fe.Varint:for(;this.buf[this.pos++]&128;);break;case fe.Bit64:this.pos+=4;case fe.Bit32:this.pos+=4;break;case fe.LengthDelimited:let i=this.uint32();this.pos+=i;break;case fe.StartGroup:for(;;){const[r,o]=this.tag();if(o===fe.EndGroup){if(n!==void 0&&r!==n)throw new Error("invalid end group tag");break}this.skip(o,r)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(l,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return de.dec(...this.varint64())}uint64(){return de.uDec(...this.varint64())}sint64(){let[e,n]=this.varint64(),l=-(e&1);return e=(e>>>1|(n&1)<<31)^l,n=n>>>1^l,de.dec(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return de.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return de.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.decodeUtf8(this.bytes())}}function ci(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid int32: "+typeof t);if(!Number.isInteger(t)||t>Md||tTd||t<0)throw new Error("invalid uint32: "+t)}function Km(t){if(typeof t=="string"){const e=t;if(t=Number(t),Number.isNaN(t)&&e!=="NaN")throw new Error("invalid float32: "+e)}else if(typeof t!="number")throw new Error("invalid float32: "+typeof t);if(Number.isFinite(t)&&(t>Ld||tn.number===e):gr(e,t.message)}function jd(t,e){switch(e){case Z.DOUBLE:return typeof t=="number";case Z.FLOAT:return typeof t!="number"?!1:Number.isNaN(t)||!Number.isFinite(t)?!0:t>Ld||tMd||tTd||t<0?`${t.toFixed()} out of range`:!0;case Z.BOOL:return typeof t=="boolean";case Z.STRING:return typeof t!="string"?!1:Vr().checkUtf8(t)||"invalid UTF8";case Z.BYTES:return t instanceof Uint8Array;case Z.INT64:case Z.SFIXED64:case Z.SINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return de.parse(t),!0}catch{return`${t} out of range`}return!1;case Z.FIXED64:case Z.UINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return de.uParse(t),!0}catch{return`${t} out of range`}return!1}}function Xl(t,e,n){return n=typeof n=="string"?`: ${n}`:`, got ${Ce(e)}`,t.scalar!==void 0?`expected ${Mm(t.scalar)}`+n:t.enum!==void 0?`expected ${t.enum.toString()}`+n:`expected ${_d(t.message)}`+n}function Ce(t){switch(typeof t){case"object":return t===null?"null":t instanceof Uint8Array?`Uint8Array(${t.length})`:Array.isArray(t)?`Array(${t.length})`:sr(t)?Od(t.field()):ur(t)?Pd(t.field()):gr(t)?_d(t.desc):cr(t)?`message ${t.$typeName}`:"object";case"string":return t.length>30?"string":`"${t.split('"').join('\\"')}"`;case"boolean":return String(t);case"number":return String(t);case"bigint":return String(t)+"n";default:return typeof t}}function _d(t){return`ReflectMessage (${t.typeName})`}function Od(t){switch(t.listKind){case"message":return`ReflectList (${t.message.toString()})`;case"enum":return`ReflectList (${t.enum.toString()})`;case"scalar":return`ReflectList (${Z[t.scalar]})`}}function Pd(t){switch(t.mapKind){case"message":return`ReflectMap (${Z[t.mapKey]}, ${t.message.toString()})`;case"enum":return`ReflectMap (${Z[t.mapKey]}, ${t.enum.toString()})`;case"scalar":return`ReflectMap (${Z[t.mapKey]}, ${Z[t.scalar]})`}}function Mm(t){switch(t){case Z.STRING:return"string";case Z.BOOL:return"boolean";case Z.INT64:case Z.SINT64:case Z.SFIXED64:return"bigint (int64)";case Z.UINT64:case Z.FIXED64:return"bigint (uint64)";case Z.BYTES:return"Uint8Array";case Z.DOUBLE:return"number (float64)";case Z.FLOAT:return"number (float32)";case Z.FIXED32:case Z.UINT32:return"number (uint32)";case Z.INT32:case Z.SFIXED32:case Z.SINT32:return"number (int32)"}}function rt(t,e,n=!0){return new $d(t,e,n)}class $d{get sortedFields(){var e;return(e=this._sortedFields)!==null&&e!==void 0?e:this._sortedFields=this.desc.fields.concat().sort((n,l)=>n.number-l.number)}constructor(e,n,l=!0){this.lists=new Map,this.maps=new Map,this.check=l,this.desc=e,this.message=this[Gt]=n??dt(e),this.fields=e.fields,this.oneofs=e.oneofs,this.members=e.members}findNumber(e){return this._fieldsByNumber||(this._fieldsByNumber=new Map(this.desc.fields.map(n=>[n.number,n]))),this._fieldsByNumber.get(e)}oneofCase(e){return hn(this.message,e),xd(this.message,e)}isSet(e){return hn(this.message,e),Wm(this.message,e)}clear(e){hn(this.message,e),Bm(this.message,e)}get(e){hn(this.message,e);const n=wd(this.message,e);switch(e.fieldKind){case"list":let l=this.lists.get(e);return(!l||l[Gt]!==n)&&this.lists.set(e,l=new Hm(e,n,this.check)),l;case"map":let i=this.maps.get(e);return(!i||i[Gt]!==n)&&this.maps.set(e,i=new Dm(e,n,this.check)),i;case"message":return pr(e,n,this.check);case"scalar":return n===void 0?Lt(e.scalar,!1):Zr(e,n);case"enum":return n??e.enum.values[0].number}}set(e,n){if(hn(this.message,e),this.check){const i=Yt(e,n);if(i)throw i}let l;e.fieldKind=="message"?l=Ar(e,n):ur(n)||sr(n)?l=n[Gt]:l=Gr(e,n),kd(this.message,e,l)}getUnknown(){return this.message.$unknown}setUnknown(e){this.message.$unknown=e}}function hn(t,e){if(e.parent.typeName!==t.$typeName)throw new Pe(e,`cannot use ${e.toString()} with message ${t.$typeName}`,"ForeignFieldError")}class Hm{field(){return this._field}get size(){return this._arr.length}constructor(e,n,l){this._field=e,this._arr=this[Gt]=n,this.check=l}get(e){const n=this._arr[e];return n===void 0?void 0:di(this._field,n,this.check)}set(e,n){if(e<0||e>=this._arr.length)throw new Pe(this._field,`list item #${e+1}: out of range`);if(this.check){const l=pa(this._field,e,n);if(l)throw l}this._arr[e]=Za(this._field,n)}add(e){if(this.check){const n=pa(this._field,this._arr.length,e);if(n)throw n}this._arr.push(Za(this._field,e))}clear(){this._arr.splice(0,this._arr.length)}[Symbol.iterator](){return this.values()}keys(){return this._arr.keys()}*values(){for(const e of this._arr)yield di(this._field,e,this.check)}*entries(){for(let e=0;e>4,a=o,r=2;break;case 2:l[i++]=(a&15)<<4|(o&60)>>2,a=o,r=3;break;case 3:l[i++]=(a&3)<<6|o,r=0;break}}if(r==1)throw Error("invalid base64 string");return l.subarray(0,i)}function ls(t,e="std"){const n=is(e),l=e=="std";let i="",r=0,o,a=0;for(let c=0;c>2],a=(o&3)<<4,r=1;break;case 1:i+=n[a|o>>4],a=(o&15)<<2,r=2;break;case 2:i+=n[a|o>>6],i+=n[o&63],r=0;break}return r&&(i+=n[a],l&&(i+="=",r==1&&(i+="="))),i}let el,Xa,Tt;function is(t){return el||(el="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Xa=el.slice(0,-2).concat("-","_")),t=="url"?Xa:el}function _m(){if(!Tt){Tt=[];const t=is("std");for(let e=0;el.name===e);if(!n)throw new Error(`cannot parse ${t} default value: ${e}`);return n.number}function $m(t,e){switch(t){case Z.STRING:return e;case Z.BYTES:{const n=qm(e);if(n===!1)throw new Error(`cannot parse ${Z[t]} default value: ${e}`);return n}case Z.INT64:case Z.SFIXED64:case Z.SINT64:return de.parse(e);case Z.UINT64:case Z.FIXED64:return de.uParse(e);case Z.DOUBLE:case Z.FLOAT:switch(e){case"inf":return Number.POSITIVE_INFINITY;case"-inf":return Number.NEGATIVE_INFINITY;case"nan":return Number.NaN;default:return parseFloat(e)}case Z.BOOL:return e==="true";case Z.INT32:case Z.UINT32:case Z.SINT32:case Z.FIXED32:case Z.SFIXED32:return parseInt(e,10)}}function qm(t){const e=[],n={tail:t,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(l){if(this.tail.length>=l){const i=this.tail.substring(0,l);return this.tail=this.tail.substring(l),i}return!1}};for(;n.next();)switch(n.c){case"\\":if(n.next())switch(n.c){case"\\":e.push(n.c.charCodeAt(0));break;case"b":e.push(8);break;case"f":e.push(12);break;case"n":e.push(10);break;case"r":e.push(13);break;case"t":e.push(9);break;case"v":e.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{const l=n.c,i=n.take(2);if(i===!1)return!1;const r=parseInt(l+i,8);if(Number.isNaN(r))return!1;e.push(r);break}case"x":{const l=n.c,i=n.take(2);if(i===!1)return!1;const r=parseInt(l+i,16);if(Number.isNaN(r))return!1;e.push(r);break}case"u":{const l=n.c,i=n.take(4);if(i===!1)return!1;const r=parseInt(l+i,16);if(Number.isNaN(r))return!1;const o=new Uint8Array(4);new DataView(o.buffer).setInt32(0,r,!0),e.push(o[0],o[1],o[2],o[3]);break}case"U":{const l=n.c,i=n.take(8);if(i===!1)return!1;const r=de.uEnc(l+i),o=new Uint8Array(8),a=new DataView(o.buffer);a.setInt32(0,r.lo,!0),a.setInt32(4,r.hi,!0),e.push(o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7]);break}}break;default:e.push(n.c.charCodeAt(0))}return new Uint8Array(e)}function*Bi(t){switch(t.kind){case"file":for(const e of t.messages)yield e,yield*Bi(e);yield*t.enums,yield*t.services,yield*t.extensions;break;case"message":for(const e of t.nestedMessages)yield e,yield*Bi(e);yield*t.nestedEnums,yield*t.nestedExtensions;break}}function rs(...t){const e=ef();if(!t.length)return e;if("$typeName"in t[0]&&t[0].$typeName=="google.protobuf.FileDescriptorSet"){for(const l of t[0].file)ya(l,e);return e}if("$typeName"in t[0]){let o=function(a){const c=[];for(const d of a.dependency){if(e.getFile(d)!=null||r.has(d))continue;const s=i(d);if(!s)throw new Error(`Unable to resolve ${d}, imported by ${a.name}`);"kind"in s?e.addFile(s,!1,!0):(r.add(s.name),c.push(s))}return c.concat(...c.map(o))};var n=o;const l=t[0],i=t[1],r=new Set;for(const a of[l,...o(l)].reverse())ya(a,e)}else for(const l of t)for(const i of l.files)e.addFile(i);return e}function ef(){const t=new Map,e=new Map,n=new Map;return{kind:"registry",types:t,extendees:e,[Symbol.iterator](){return t.values()},get files(){return n.values()},addFile(l,i,r){if(n.set(l.proto.name,l),!i)for(const o of Bi(l))this.add(o);if(r)for(const o of l.dependencies)this.addFile(o,i,r)},add(l){if(l.kind=="extension"){let i=e.get(l.extendee.typeName);i||e.set(l.extendee.typeName,i=new Map),i.set(l.number,l)}t.set(l.typeName,l)},get(l){return t.get(l)},getFile(l){return n.get(l)},getMessage(l){const i=t.get(l);return(i==null?void 0:i.kind)=="message"?i:void 0},getEnum(l){const i=t.get(l);return(i==null?void 0:i.kind)=="enum"?i:void 0},getExtension(l){const i=t.get(l);return(i==null?void 0:i.kind)=="extension"?i:void 0},getExtensionFor(l,i){var r;return(r=e.get(l.typeName))===null||r===void 0?void 0:r.get(i)},getService(l){const i=t.get(l);return(i==null?void 0:i.kind)=="service"?i:void 0}}}const tf=998,nf=999,lf=9,Wn=10,Zn=11,rf=12,Ia=14,Rr=3,of=2,Ra=1,af=0,ui=1,Ea=2,cf=3,df=1,sf=2,uf=1,os={998:{fieldPresence:1,enumType:2,repeatedFieldEncoding:2,utf8Validation:3,messageEncoding:1,jsonFormat:2,enforceNamingStyle:2,defaultSymbolVisibility:1},999:{fieldPresence:2,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1e3:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1001:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:1,defaultSymbolVisibility:2}};function ya(t,e){var n,l;const i={kind:"file",proto:t,deprecated:(l=(n=t.options)===null||n===void 0?void 0:n.deprecated)!==null&&l!==void 0?l:!1,edition:Vf(t),name:t.name.replace(/\.proto$/,""),dependencies:mf(t,e),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${t.name}`}},r=new Map,o={get(a){return r.get(a)},add(a){var c;ct(((c=a.proto.options)===null||c===void 0?void 0:c.mapEntry)===!0),r.set(a.typeName,a)}};for(const a of t.enumType)as(a,i,void 0,e);for(const a of t.messageType)cs(a,i,void 0,e,o);for(const a of t.service)gf(a,i,e);Ni(i,e);for(const a of r.values())Fi(a,e,o);for(const a of i.messages)Fi(a,e,o),Ni(a,e);e.addFile(i,!0)}function Ni(t,e){switch(t.kind){case"file":for(const n of t.proto.extension){const l=Yi(n,t,e);t.extensions.push(l),e.add(l)}break;case"message":for(const n of t.proto.extension){const l=Yi(n,t,e);t.nestedExtensions.push(l),e.add(l)}for(const n of t.nestedMessages)Ni(n,e);break}}function Fi(t,e,n){const l=t.proto.oneofDecl.map(r=>bf(r,t)),i=new Set;for(const r of t.proto.field){const o=pf(r,l),a=Yi(r,t,e,o,n);t.fields.push(a),t.field[a.localName]=a,o===void 0?t.members.push(a):(o.fields.push(a),i.has(o)||(i.add(o),t.members.push(o)))}for(const r of l.filter(o=>i.has(o)))t.oneofs.push(r);for(const r of t.nestedMessages)Fi(r,e,n)}function as(t,e,n,l){var i,r,o,a,c;const d=ff(t.name,t.value),s={kind:"enum",proto:t,deprecated:(r=(i=t.options)===null||i===void 0?void 0:i.deprecated)!==null&&r!==void 0?r:!1,file:e,parent:n,open:!0,name:t.name,typeName:Jl(t,n,e),value:{},values:[],sharedPrefix:d,toString(){return`enum ${this.typeName}`}};s.open=If(s),l.add(s);for(const u of t.value){const h=u.name;s.values.push(s.value[u.number]={kind:"enum_value",proto:u,deprecated:(a=(o=u.options)===null||o===void 0?void 0:o.deprecated)!==null&&a!==void 0?a:!1,parent:s,name:h,localName:Cn(d==null?h:h.substring(d.length)),number:u.number,toString(){return`enum value ${s.typeName}.${h}`}})}((c=n==null?void 0:n.nestedEnums)!==null&&c!==void 0?c:e.enums).push(s)}function cs(t,e,n,l,i){var r,o,a,c;const d={kind:"message",proto:t,deprecated:(o=(r=t.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,file:e,parent:n,name:t.name,typeName:Jl(t,n,e),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((a=t.options)===null||a===void 0?void 0:a.mapEntry)===!0?i.add(d):(((c=n==null?void 0:n.nestedMessages)!==null&&c!==void 0?c:e.messages).push(d),l.add(d));for(const s of t.enumType)as(s,e,d,l);for(const s of t.nestedType)cs(s,e,d,l,i)}function gf(t,e,n){var l,i;const r={kind:"service",proto:t,deprecated:(i=(l=t.options)===null||l===void 0?void 0:l.deprecated)!==null&&i!==void 0?i:!1,file:e,name:t.name,typeName:Jl(t,void 0,e),methods:[],method:{},toString(){return`service ${this.typeName}`}};e.services.push(r),n.add(r);for(const o of t.method){const a=hf(o,r,n);r.methods.push(a),r.method[a.localName]=a}}function hf(t,e,n){var l,i,r,o;let a;t.clientStreaming&&t.serverStreaming?a="bidi_streaming":t.clientStreaming?a="client_streaming":t.serverStreaming?a="server_streaming":a="unary";const c=n.getMessage(Zt(t.inputType)),d=n.getMessage(Zt(t.outputType));ct(c,`invalid MethodDescriptorProto: input_type ${t.inputType} not found`),ct(d,`invalid MethodDescriptorProto: output_type ${t.inputType} not found`);const s=t.name;return{kind:"rpc",proto:t,deprecated:(i=(l=t.options)===null||l===void 0?void 0:l.deprecated)!==null&&i!==void 0?i:!1,parent:e,name:s,localName:Cn(s.length?Cn(s[0].toLowerCase()+s.substring(1)):s),methodKind:a,input:c,output:d,idempotency:(o=(r=t.options)===null||r===void 0?void 0:r.idempotencyLevel)!==null&&o!==void 0?o:af,toString(){return`rpc ${e.typeName}.${s}`}}}function bf(t,e){return{kind:"oneof",proto:t,deprecated:!1,parent:e,fields:[],name:t.name,localName:Cn(Sn(t.name)),toString(){return`oneof ${e.typeName}.${this.name}`}}}function Yi(t,e,n,l,i){var r,o,a;const c=i===void 0,d={kind:"field",proto:t,deprecated:(o=(r=t.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,name:t.name,number:t.number,scalar:void 0,message:void 0,enum:void 0,presence:Zf(t,l,c,e),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(c){const g=e.kind=="file"?e:e.file,b=e.kind=="file"?void 0:e,m=Jl(t,b,g);d.kind="extension",d.file=g,d.parent=b,d.oneof=void 0,d.typeName=m,d.jsonName=`[${m}]`,d.toString=()=>`extension ${m}`;const f=n.getMessage(Zt(t.extendee));ct(f,`invalid FieldDescriptorProto: extendee ${t.extendee} not found`),d.extendee=f}else{const g=e;ct(g.kind=="message"),d.parent=g,d.oneof=l,d.localName=l?Sn(t.name):Cn(Sn(t.name)),d.jsonName=t.jsonName,d.toString=()=>`field ${g.typeName}.${t.name}`}const s=t.label,u=t.type,h=(a=t.options)===null||a===void 0?void 0:a.jstype;if(s===Rr){const g=u==Zn?i==null?void 0:i.get(Zt(t.typeName)):void 0;if(g){d.fieldKind="map";const{key:b,value:m}=Xf(g);return d.mapKey=b.scalar,d.mapKind=m.fieldKind,d.message=m.message,d.delimitedEncoding=!1,d.enum=m.enum,d.scalar=m.scalar,d}switch(d.fieldKind="list",u){case Zn:case Wn:d.listKind="message",d.message=n.getMessage(Zt(t.typeName)),ct(d.message),d.delimitedEncoding=va(t,e);break;case Ia:d.listKind="enum",d.enum=n.getEnum(Zt(t.typeName)),ct(d.enum);break;default:d.listKind="scalar",d.scalar=u,d.longAsString=h==Ra;break}return d.packed=Gf(t,e),d}switch(u){case Zn:case Wn:d.fieldKind="message",d.message=n.getMessage(Zt(t.typeName)),ct(d.message,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),d.delimitedEncoding=va(t,e),d.getDefaultValue=()=>{};break;case Ia:{const g=n.getEnum(Zt(t.typeName));ct(g!==void 0,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),d.fieldKind="enum",d.enum=n.getEnum(Zt(t.typeName)),d.getDefaultValue=()=>vn(t,"defaultValue")?Pm(g,t.defaultValue):void 0;break}default:{d.fieldKind="scalar",d.scalar=u,d.longAsString=h==Ra,d.getDefaultValue=()=>vn(t,"defaultValue")?$m(u,t.defaultValue):void 0;break}}return d}function Vf(t){switch(t.syntax){case"":case"proto2":return tf;case"proto3":return nf;case"editions":if(t.edition in os)return t.edition;throw new Error(`${t.name}: unsupported edition`);default:throw new Error(`${t.name}: unsupported syntax "${t.syntax}"`)}}function mf(t,e){return t.dependency.map(n=>{const l=e.getFile(n);if(!l)throw new Error(`Cannot find ${n}, imported by ${t.name}`);return l})}function ff(t,e){const n=Af(t)+"_";for(const l of e){if(!l.name.toLowerCase().startsWith(n))return;const i=l.name.substring(n.length);if(i.length==0||/^\d/.test(i))return}return n}function Af(t){return(t.substring(0,1)+t.substring(1).replace(/[A-Z]/g,e=>"_"+e)).toLowerCase()}function Jl(t,e,n){let l;return e?l=`${e.typeName}.${t.name}`:n.proto.package.length>0?l=`${n.proto.package}.${t.name}`:l=`${t.name}`,l}function Zt(t){return t.startsWith(".")?t.substring(1):t}function pf(t,e){if(!vn(t,"oneofIndex")||t.proto3Optional)return;const n=e[t.oneofIndex];return ct(n,`invalid FieldDescriptorProto: oneof #${t.oneofIndex} for field #${t.number} not found`),n}function Zf(t,e,n,l){if(t.label==of)return cf;if(t.label==Rr)return Ea;if(e||t.proto3Optional||n)return ui;const i=tn("fieldPresence",{proto:t,parent:l});return i==Ea&&(t.type==Zn||t.type==Wn)?ui:i}function Gf(t,e){if(t.label!=Rr)return!1;switch(t.type){case lf:case rf:case Wn:case Zn:return!1}const n=t.options;return n&&vn(n,"packed")?n.packed:df==tn("repeatedFieldEncoding",{proto:t,parent:e})}function Xf(t){const e=t.fields.find(l=>l.number===1),n=t.fields.find(l=>l.number===2);return ct(e&&e.fieldKind=="scalar"&&e.scalar!=Z.BYTES&&e.scalar!=Z.FLOAT&&e.scalar!=Z.DOUBLE&&n&&n.fieldKind!="list"&&n.fieldKind!="map"),{key:e,value:n}}function If(t){var e;return uf==tn("enumType",{proto:t.proto,parent:(e=t.parent)!==null&&e!==void 0?e:t.file})}function va(t,e){return t.type==Wn?!0:sf==tn("messageEncoding",{proto:t,parent:e})}function tn(t,e){var n,l;const i=(n=e.proto.options)===null||n===void 0?void 0:n.features;if(i){const r=i[t];if(r!=0)return r}if("kind"in e){if(e.kind=="message")return tn(t,(l=e.parent)!==null&&l!==void 0?l:e.file);const r=os[e.edition];if(!r)throw new Error(`feature default for edition ${e.edition} not found`);return r[t]}return tn(t,e.parent)}function ct(t,e){if(!t)throw new Error(e)}function Rf(t){const e=Ef(t);return e.messageType.forEach(Ir),rs(e,()=>{}).getFile(e.name)}function Ef(t){return Object.assign(Object.create({syntax:"",edition:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],optionDependency:[],service:[],extension:[]},t),{messageType:t.messageType.map(ds),enumType:t.enumType.map(ss)}))}function ds(t){var e,n,l,i,r,o,a,c;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:t.name,field:(n=(e=t.field)===null||e===void 0?void 0:e.map(yf))!==null&&n!==void 0?n:[],extension:[],nestedType:(i=(l=t.nestedType)===null||l===void 0?void 0:l.map(ds))!==null&&i!==void 0?i:[],enumType:(o=(r=t.enumType)===null||r===void 0?void 0:r.map(ss))!==null&&o!==void 0?o:[],extensionRange:(c=(a=t.extensionRange)===null||a===void 0?void 0:a.map(s=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},s)))!==null&&c!==void 0?c:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function yf(t){return Object.assign(Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},t),{options:t.options?vf(t.options):void 0}))}function vf(t){var e,n,l;return Object.assign(Object.create({ctype:0,packed:!1,jstype:0,lazy:!1,unverifiedLazy:!1,deprecated:!1,weak:!1,debugRedact:!1,retention:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldOptions"},t),{targets:(e=t.targets)!==null&&e!==void 0?e:[],editionDefaults:(l=(n=t.editionDefaults)===null||n===void 0?void 0:n.map(r=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},r)))!==null&&l!==void 0?l:[],uninterpretedOption:[]}))}function ss(t){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:t.name,reservedName:[],reservedRange:[],value:t.value.map(n=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},n))})}function Qn(t,e,...n){return n.reduce((l,i)=>l.nestedMessages[i],t.messages[e])}const us=Rf({name:"google/protobuf/descriptor.proto",package:"google.protobuf",messageType:[{name:"FileDescriptorSet",field:[{name:"file",number:1,type:11,label:3,typeName:".google.protobuf.FileDescriptorProto"}],extensionRange:[{start:536e6,end:536000001}]},{name:"FileDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"package",number:2,type:9,label:1},{name:"dependency",number:3,type:9,label:3},{name:"public_dependency",number:10,type:5,label:3},{name:"weak_dependency",number:11,type:5,label:3},{name:"option_dependency",number:15,type:9,label:3},{name:"message_type",number:4,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:5,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"service",number:6,type:11,label:3,typeName:".google.protobuf.ServiceDescriptorProto"},{name:"extension",number:7,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FileOptions"},{name:"source_code_info",number:9,type:11,label:1,typeName:".google.protobuf.SourceCodeInfo"},{name:"syntax",number:12,type:9,label:1},{name:"edition",number:14,type:14,label:1,typeName:".google.protobuf.Edition"}]},{name:"DescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"field",number:2,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"extension",number:6,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"nested_type",number:3,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"extension_range",number:5,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ExtensionRange"},{name:"oneof_decl",number:8,type:11,label:3,typeName:".google.protobuf.OneofDescriptorProto"},{name:"options",number:7,type:11,label:1,typeName:".google.protobuf.MessageOptions"},{name:"reserved_range",number:9,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ReservedRange"},{name:"reserved_name",number:10,type:9,label:3},{name:"visibility",number:11,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"ExtensionRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ExtensionRangeOptions"}]},{name:"ReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"ExtensionRangeOptions",field:[{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"},{name:"declaration",number:2,type:11,label:3,typeName:".google.protobuf.ExtensionRangeOptions.Declaration",options:{retention:2}},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"verification",number:3,type:14,label:1,typeName:".google.protobuf.ExtensionRangeOptions.VerificationState",defaultValue:"UNVERIFIED",options:{retention:2}}],nestedType:[{name:"Declaration",field:[{name:"number",number:1,type:5,label:1},{name:"full_name",number:2,type:9,label:1},{name:"type",number:3,type:9,label:1},{name:"reserved",number:5,type:8,label:1},{name:"repeated",number:6,type:8,label:1}]}],enumType:[{name:"VerificationState",value:[{name:"DECLARATION",number:0},{name:"UNVERIFIED",number:1}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:3,type:5,label:1},{name:"label",number:4,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Label"},{name:"type",number:5,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Type"},{name:"type_name",number:6,type:9,label:1},{name:"extendee",number:2,type:9,label:1},{name:"default_value",number:7,type:9,label:1},{name:"oneof_index",number:9,type:5,label:1},{name:"json_name",number:10,type:9,label:1},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FieldOptions"},{name:"proto3_optional",number:17,type:8,label:1}],enumType:[{name:"Type",value:[{name:"TYPE_DOUBLE",number:1},{name:"TYPE_FLOAT",number:2},{name:"TYPE_INT64",number:3},{name:"TYPE_UINT64",number:4},{name:"TYPE_INT32",number:5},{name:"TYPE_FIXED64",number:6},{name:"TYPE_FIXED32",number:7},{name:"TYPE_BOOL",number:8},{name:"TYPE_STRING",number:9},{name:"TYPE_GROUP",number:10},{name:"TYPE_MESSAGE",number:11},{name:"TYPE_BYTES",number:12},{name:"TYPE_UINT32",number:13},{name:"TYPE_ENUM",number:14},{name:"TYPE_SFIXED32",number:15},{name:"TYPE_SFIXED64",number:16},{name:"TYPE_SINT32",number:17},{name:"TYPE_SINT64",number:18}]},{name:"Label",value:[{name:"LABEL_OPTIONAL",number:1},{name:"LABEL_REPEATED",number:3},{name:"LABEL_REQUIRED",number:2}]}]},{name:"OneofDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"options",number:2,type:11,label:1,typeName:".google.protobuf.OneofOptions"}]},{name:"EnumDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"value",number:2,type:11,label:3,typeName:".google.protobuf.EnumValueDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumOptions"},{name:"reserved_range",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto.EnumReservedRange"},{name:"reserved_name",number:5,type:9,label:3},{name:"visibility",number:6,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"EnumReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"EnumValueDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumValueOptions"}]},{name:"ServiceDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"method",number:2,type:11,label:3,typeName:".google.protobuf.MethodDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ServiceOptions"}]},{name:"MethodDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"input_type",number:2,type:9,label:1},{name:"output_type",number:3,type:9,label:1},{name:"options",number:4,type:11,label:1,typeName:".google.protobuf.MethodOptions"},{name:"client_streaming",number:5,type:8,label:1,defaultValue:"false"},{name:"server_streaming",number:6,type:8,label:1,defaultValue:"false"}]},{name:"FileOptions",field:[{name:"java_package",number:1,type:9,label:1},{name:"java_outer_classname",number:8,type:9,label:1},{name:"java_multiple_files",number:10,type:8,label:1,defaultValue:"false"},{name:"java_generate_equals_and_hash",number:20,type:8,label:1,options:{deprecated:!0}},{name:"java_string_check_utf8",number:27,type:8,label:1,defaultValue:"false"},{name:"optimize_for",number:9,type:14,label:1,typeName:".google.protobuf.FileOptions.OptimizeMode",defaultValue:"SPEED"},{name:"go_package",number:11,type:9,label:1},{name:"cc_generic_services",number:16,type:8,label:1,defaultValue:"false"},{name:"java_generic_services",number:17,type:8,label:1,defaultValue:"false"},{name:"py_generic_services",number:18,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:23,type:8,label:1,defaultValue:"false"},{name:"cc_enable_arenas",number:31,type:8,label:1,defaultValue:"true"},{name:"objc_class_prefix",number:36,type:9,label:1},{name:"csharp_namespace",number:37,type:9,label:1},{name:"swift_prefix",number:39,type:9,label:1},{name:"php_class_prefix",number:40,type:9,label:1},{name:"php_namespace",number:41,type:9,label:1},{name:"php_metadata_namespace",number:44,type:9,label:1},{name:"ruby_package",number:45,type:9,label:1},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"OptimizeMode",value:[{name:"SPEED",number:1},{name:"CODE_SIZE",number:2},{name:"LITE_RUNTIME",number:3}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"MessageOptions",field:[{name:"message_set_wire_format",number:1,type:8,label:1,defaultValue:"false"},{name:"no_standard_descriptor_accessor",number:2,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"map_entry",number:7,type:8,label:1},{name:"deprecated_legacy_json_field_conflicts",number:11,type:8,label:1,options:{deprecated:!0}},{name:"features",number:12,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldOptions",field:[{name:"ctype",number:1,type:14,label:1,typeName:".google.protobuf.FieldOptions.CType",defaultValue:"STRING"},{name:"packed",number:2,type:8,label:1},{name:"jstype",number:6,type:14,label:1,typeName:".google.protobuf.FieldOptions.JSType",defaultValue:"JS_NORMAL"},{name:"lazy",number:5,type:8,label:1,defaultValue:"false"},{name:"unverified_lazy",number:15,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"weak",number:10,type:8,label:1,defaultValue:"false",options:{deprecated:!0}},{name:"debug_redact",number:16,type:8,label:1,defaultValue:"false"},{name:"retention",number:17,type:14,label:1,typeName:".google.protobuf.FieldOptions.OptionRetention"},{name:"targets",number:19,type:14,label:3,typeName:".google.protobuf.FieldOptions.OptionTargetType"},{name:"edition_defaults",number:20,type:11,label:3,typeName:".google.protobuf.FieldOptions.EditionDefault"},{name:"features",number:21,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"feature_support",number:22,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],nestedType:[{name:"EditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"value",number:2,type:9,label:1}]},{name:"FeatureSupport",field:[{name:"edition_introduced",number:1,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"edition_deprecated",number:2,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"deprecation_warning",number:3,type:9,label:1},{name:"edition_removed",number:4,type:14,label:1,typeName:".google.protobuf.Edition"}]}],enumType:[{name:"CType",value:[{name:"STRING",number:0},{name:"CORD",number:1},{name:"STRING_PIECE",number:2}]},{name:"JSType",value:[{name:"JS_NORMAL",number:0},{name:"JS_STRING",number:1},{name:"JS_NUMBER",number:2}]},{name:"OptionRetention",value:[{name:"RETENTION_UNKNOWN",number:0},{name:"RETENTION_RUNTIME",number:1},{name:"RETENTION_SOURCE",number:2}]},{name:"OptionTargetType",value:[{name:"TARGET_TYPE_UNKNOWN",number:0},{name:"TARGET_TYPE_FILE",number:1},{name:"TARGET_TYPE_EXTENSION_RANGE",number:2},{name:"TARGET_TYPE_MESSAGE",number:3},{name:"TARGET_TYPE_FIELD",number:4},{name:"TARGET_TYPE_ONEOF",number:5},{name:"TARGET_TYPE_ENUM",number:6},{name:"TARGET_TYPE_ENUM_ENTRY",number:7},{name:"TARGET_TYPE_SERVICE",number:8},{name:"TARGET_TYPE_METHOD",number:9}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"OneofOptions",field:[{name:"features",number:1,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumOptions",field:[{name:"allow_alias",number:2,type:8,label:1},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"deprecated_legacy_json_field_conflicts",number:6,type:8,label:1,options:{deprecated:!0}},{name:"features",number:7,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumValueOptions",field:[{name:"deprecated",number:1,type:8,label:1,defaultValue:"false"},{name:"features",number:2,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"debug_redact",number:3,type:8,label:1,defaultValue:"false"},{name:"feature_support",number:4,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"ServiceOptions",field:[{name:"features",number:34,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"MethodOptions",field:[{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"idempotency_level",number:34,type:14,label:1,typeName:".google.protobuf.MethodOptions.IdempotencyLevel",defaultValue:"IDEMPOTENCY_UNKNOWN"},{name:"features",number:35,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"IdempotencyLevel",value:[{name:"IDEMPOTENCY_UNKNOWN",number:0},{name:"NO_SIDE_EFFECTS",number:1},{name:"IDEMPOTENT",number:2}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"UninterpretedOption",field:[{name:"name",number:2,type:11,label:3,typeName:".google.protobuf.UninterpretedOption.NamePart"},{name:"identifier_value",number:3,type:9,label:1},{name:"positive_int_value",number:4,type:4,label:1},{name:"negative_int_value",number:5,type:3,label:1},{name:"double_value",number:6,type:1,label:1},{name:"string_value",number:7,type:12,label:1},{name:"aggregate_value",number:8,type:9,label:1}],nestedType:[{name:"NamePart",field:[{name:"name_part",number:1,type:9,label:2},{name:"is_extension",number:2,type:8,label:2}]}]},{name:"FeatureSet",field:[{name:"field_presence",number:1,type:14,label:1,typeName:".google.protobuf.FeatureSet.FieldPresence",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPLICIT",edition:900},{value:"IMPLICIT",edition:999},{value:"EXPLICIT",edition:1e3}]}},{name:"enum_type",number:2,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnumType",options:{retention:1,targets:[6,1],editionDefaults:[{value:"CLOSED",edition:900},{value:"OPEN",edition:999}]}},{name:"repeated_field_encoding",number:3,type:14,label:1,typeName:".google.protobuf.FeatureSet.RepeatedFieldEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPANDED",edition:900},{value:"PACKED",edition:999}]}},{name:"utf8_validation",number:4,type:14,label:1,typeName:".google.protobuf.FeatureSet.Utf8Validation",options:{retention:1,targets:[4,1],editionDefaults:[{value:"NONE",edition:900},{value:"VERIFY",edition:999}]}},{name:"message_encoding",number:5,type:14,label:1,typeName:".google.protobuf.FeatureSet.MessageEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"LENGTH_PREFIXED",edition:900}]}},{name:"json_format",number:6,type:14,label:1,typeName:".google.protobuf.FeatureSet.JsonFormat",options:{retention:1,targets:[3,6,1],editionDefaults:[{value:"LEGACY_BEST_EFFORT",edition:900},{value:"ALLOW",edition:999}]}},{name:"enforce_naming_style",number:7,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnforceNamingStyle",options:{retention:2,targets:[1,2,3,4,5,6,7,8,9],editionDefaults:[{value:"STYLE_LEGACY",edition:900},{value:"STYLE2024",edition:1001}]}},{name:"default_symbol_visibility",number:8,type:14,label:1,typeName:".google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility",options:{retention:2,targets:[1],editionDefaults:[{value:"EXPORT_ALL",edition:900},{value:"EXPORT_TOP_LEVEL",edition:1001}]}}],nestedType:[{name:"VisibilityFeature",enumType:[{name:"DefaultSymbolVisibility",value:[{name:"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",number:0},{name:"EXPORT_ALL",number:1},{name:"EXPORT_TOP_LEVEL",number:2},{name:"LOCAL_ALL",number:3},{name:"STRICT",number:4}]}]}],enumType:[{name:"FieldPresence",value:[{name:"FIELD_PRESENCE_UNKNOWN",number:0},{name:"EXPLICIT",number:1},{name:"IMPLICIT",number:2},{name:"LEGACY_REQUIRED",number:3}]},{name:"EnumType",value:[{name:"ENUM_TYPE_UNKNOWN",number:0},{name:"OPEN",number:1},{name:"CLOSED",number:2}]},{name:"RepeatedFieldEncoding",value:[{name:"REPEATED_FIELD_ENCODING_UNKNOWN",number:0},{name:"PACKED",number:1},{name:"EXPANDED",number:2}]},{name:"Utf8Validation",value:[{name:"UTF8_VALIDATION_UNKNOWN",number:0},{name:"VERIFY",number:2},{name:"NONE",number:3}]},{name:"MessageEncoding",value:[{name:"MESSAGE_ENCODING_UNKNOWN",number:0},{name:"LENGTH_PREFIXED",number:1},{name:"DELIMITED",number:2}]},{name:"JsonFormat",value:[{name:"JSON_FORMAT_UNKNOWN",number:0},{name:"ALLOW",number:1},{name:"LEGACY_BEST_EFFORT",number:2}]},{name:"EnforceNamingStyle",value:[{name:"ENFORCE_NAMING_STYLE_UNKNOWN",number:0},{name:"STYLE2024",number:1},{name:"STYLE_LEGACY",number:2}]}],extensionRange:[{start:1e3,end:9995},{start:9995,end:1e4},{start:1e4,end:10001}]},{name:"FeatureSetDefaults",field:[{name:"defaults",number:1,type:11,label:3,typeName:".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"},{name:"minimum_edition",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"maximum_edition",number:5,type:14,label:1,typeName:".google.protobuf.Edition"}],nestedType:[{name:"FeatureSetEditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"overridable_features",number:4,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"fixed_features",number:5,type:11,label:1,typeName:".google.protobuf.FeatureSet"}]}]},{name:"SourceCodeInfo",field:[{name:"location",number:1,type:11,label:3,typeName:".google.protobuf.SourceCodeInfo.Location"}],nestedType:[{name:"Location",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"span",number:2,type:5,label:3,options:{packed:!0}},{name:"leading_comments",number:3,type:9,label:1},{name:"trailing_comments",number:4,type:9,label:1},{name:"leading_detached_comments",number:6,type:9,label:3}]}],extensionRange:[{start:536e6,end:536000001}]},{name:"GeneratedCodeInfo",field:[{name:"annotation",number:1,type:11,label:3,typeName:".google.protobuf.GeneratedCodeInfo.Annotation"}],nestedType:[{name:"Annotation",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"source_file",number:2,type:9,label:1},{name:"begin",number:3,type:5,label:1},{name:"end",number:4,type:5,label:1},{name:"semantic",number:5,type:14,label:1,typeName:".google.protobuf.GeneratedCodeInfo.Annotation.Semantic"}],enumType:[{name:"Semantic",value:[{name:"NONE",number:0},{name:"SET",number:1},{name:"ALIAS",number:2}]}]}]}],enumType:[{name:"Edition",value:[{name:"EDITION_UNKNOWN",number:0},{name:"EDITION_LEGACY",number:900},{name:"EDITION_PROTO2",number:998},{name:"EDITION_PROTO3",number:999},{name:"EDITION_2023",number:1e3},{name:"EDITION_2024",number:1001},{name:"EDITION_1_TEST_ONLY",number:1},{name:"EDITION_2_TEST_ONLY",number:2},{name:"EDITION_99997_TEST_ONLY",number:99997},{name:"EDITION_99998_TEST_ONLY",number:99998},{name:"EDITION_99999_TEST_ONLY",number:99999},{name:"EDITION_MAX",number:2147483647}]},{name:"SymbolVisibility",value:[{name:"VISIBILITY_UNSET",number:0},{name:"VISIBILITY_LOCAL",number:1},{name:"VISIBILITY_EXPORT",number:2}]}]}),Sf=Qn(us,1);var Sa;(function(t){t[t.DECLARATION=0]="DECLARATION",t[t.UNVERIFIED=1]="UNVERIFIED"})(Sa||(Sa={}));var Ca;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.GROUP=10]="GROUP",t[t.MESSAGE=11]="MESSAGE",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.ENUM=14]="ENUM",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(Ca||(Ca={}));var Wa;(function(t){t[t.OPTIONAL=1]="OPTIONAL",t[t.REPEATED=3]="REPEATED",t[t.REQUIRED=2]="REQUIRED"})(Wa||(Wa={}));var Ba;(function(t){t[t.SPEED=1]="SPEED",t[t.CODE_SIZE=2]="CODE_SIZE",t[t.LITE_RUNTIME=3]="LITE_RUNTIME"})(Ba||(Ba={}));var Na;(function(t){t[t.STRING=0]="STRING",t[t.CORD=1]="CORD",t[t.STRING_PIECE=2]="STRING_PIECE"})(Na||(Na={}));var Fa;(function(t){t[t.JS_NORMAL=0]="JS_NORMAL",t[t.JS_STRING=1]="JS_STRING",t[t.JS_NUMBER=2]="JS_NUMBER"})(Fa||(Fa={}));var Ya;(function(t){t[t.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",t[t.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",t[t.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(Ya||(Ya={}));var Ua;(function(t){t[t.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",t[t.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",t[t.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",t[t.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",t[t.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",t[t.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",t[t.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",t[t.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",t[t.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",t[t.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD"})(Ua||(Ua={}));var Ui;(function(t){t[t.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",t[t.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",t[t.IDEMPOTENT=2]="IDEMPOTENT"})(Ui||(Ui={}));var Ja;(function(t){t[t.DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",t[t.EXPORT_ALL=1]="EXPORT_ALL",t[t.EXPORT_TOP_LEVEL=2]="EXPORT_TOP_LEVEL",t[t.LOCAL_ALL=3]="LOCAL_ALL",t[t.STRICT=4]="STRICT"})(Ja||(Ja={}));var xa;(function(t){t[t.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",t[t.EXPLICIT=1]="EXPLICIT",t[t.IMPLICIT=2]="IMPLICIT",t[t.LEGACY_REQUIRED=3]="LEGACY_REQUIRED"})(xa||(xa={}));var wa;(function(t){t[t.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",t[t.OPEN=1]="OPEN",t[t.CLOSED=2]="CLOSED"})(wa||(wa={}));var ka;(function(t){t[t.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",t[t.PACKED=1]="PACKED",t[t.EXPANDED=2]="EXPANDED"})(ka||(ka={}));var za;(function(t){t[t.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",t[t.VERIFY=2]="VERIFY",t[t.NONE=3]="NONE"})(za||(za={}));var Qa;(function(t){t[t.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",t[t.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",t[t.DELIMITED=2]="DELIMITED"})(Qa||(Qa={}));var La;(function(t){t[t.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",t[t.ALLOW=1]="ALLOW",t[t.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT"})(La||(La={}));var Ka;(function(t){t[t.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",t[t.STYLE2024=1]="STYLE2024",t[t.STYLE_LEGACY=2]="STYLE_LEGACY"})(Ka||(Ka={}));var Ta;(function(t){t[t.NONE=0]="NONE",t[t.SET=1]="SET",t[t.ALIAS=2]="ALIAS"})(Ta||(Ta={}));var Ma;(function(t){t[t.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",t[t.EDITION_LEGACY=900]="EDITION_LEGACY",t[t.EDITION_PROTO2=998]="EDITION_PROTO2",t[t.EDITION_PROTO3=999]="EDITION_PROTO3",t[t.EDITION_2023=1e3]="EDITION_2023",t[t.EDITION_2024=1001]="EDITION_2024",t[t.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",t[t.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",t[t.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",t[t.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",t[t.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",t[t.EDITION_MAX=2147483647]="EDITION_MAX"})(Ma||(Ma={}));var Ha;(function(t){t[t.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",t[t.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",t[t.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(Ha||(Ha={}));const Da={readUnknownFields:!0};function Cf(t){return t?Object.assign(Object.assign({},Da),t):Da}function xl(t,e,n){const l=rt(t,void 0,!1);return gs(l,new mr(e),Cf(n),!1,e.byteLength),l.message}function gs(t,e,n,l,i){var r;const o=l?e.len:e.pos+i;let a,c;const d=(r=t.getUnknown())!==null&&r!==void 0?r:[];for(;e.pos0&&t.setUnknown(d)}function hs(t,e,n,l,i){var r;switch(n.fieldKind){case"scalar":t.set(n,nn(e,n.scalar));break;case"enum":const o=nn(e,Z.INT32);if(n.enum.open)t.set(n,o);else if(n.enum.values.some(c=>c.number===o))t.set(n,o);else if(i.readUnknownFields){const c=[];Wi(o,c);const d=(r=t.getUnknown())!==null&&r!==void 0?r:[];d.push({no:n.number,wireType:l,data:new Uint8Array(c)}),t.setUnknown(d)}break;case"message":t.set(n,Er(e,i,n,t.get(n)));break;case"list":Bf(e,l,t.get(n),i);break;case"map":Wf(e,t.get(n),i);break}}function Wf(t,e,n){const l=e.field();let i,r;const o=t.uint32(),a=t.pos+o;for(;t.posr.proto.name))!==null&&n!==void 0?n:[],rs(l,r=>e==null?void 0:e.find(o=>o.proto.name===r)).getFile(l.name)}const te=z("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),bs=z("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),Nf=Qn(bs,0),Ff=3,ja={writeUnknownFields:!0};function Yf(t){return t?Object.assign(Object.assign({},ja),t):ja}function Vs(t,e,n){return Il(new Dd,Yf(n),rt(t,e)).finish()}function Il(t,e,n){var l;for(const i of n.sortedFields){if(!n.isSet(i)){if(i.presence==Ff)throw new Error(`cannot encode ${i} to binary: required field not set`);continue}ms(t,e,n,i)}if(e.writeUnknownFields)for(const{no:i,wireType:r,data:o}of(l=n.getUnknown())!==null&&l!==void 0?l:[])t.tag(i,r).raw(o);return t}function ms(t,e,n,l){var i;switch(l.fieldKind){case"scalar":case"enum":Rl(t,n.desc.typeName,l.name,(i=l.scalar)!==null&&i!==void 0?i:Z.INT32,l.number,n.get(l));break;case"list":Uf(t,e,l,n.get(l));break;case"message":fs(t,e,l,n.get(l));break;case"map":for(const[r,o]of n.get(l))Jf(t,e,l,r,o);break}}function Rl(t,e,n,l,i,r){As(t.tag(i,xf(l)),e,n,l,r)}function fs(t,e,n,l){n.delimitedEncoding?Il(t.tag(n.number,fe.StartGroup),e,l).tag(n.number,fe.EndGroup):Il(t.tag(n.number,fe.LengthDelimited).fork(),e,l).join()}function Uf(t,e,n,l){var i;if(n.listKind=="message"){for(const o of l)fs(t,e,n,o);return}const r=(i=n.scalar)!==null&&i!==void 0?i:Z.INT32;if(n.packed){if(!l.size)return;t.tag(n.number,fe.LengthDelimited).fork();for(const o of l)As(t,n.parent.typeName,n.name,r,o);t.join();return}for(const o of l)Rl(t,n.parent.typeName,n.name,r,n.number,o)}function Jf(t,e,n,l,i){var r;switch(t.tag(n.number,fe.LengthDelimited).fork(),Rl(t,n.parent.typeName,n.name,n.mapKey,1,l),n.mapKind){case"scalar":case"enum":Rl(t,n.parent.typeName,n.name,(r=n.scalar)!==null&&r!==void 0?r:Z.INT32,2,i);break;case"message":Il(t.tag(2,fe.LengthDelimited).fork(),e,i).join();break}t.join()}function As(t,e,n,l,i){try{switch(l){case Z.STRING:t.string(i);break;case Z.BOOL:t.bool(i);break;case Z.DOUBLE:t.double(i);break;case Z.FLOAT:t.float(i);break;case Z.INT32:t.int32(i);break;case Z.INT64:t.int64(i);break;case Z.UINT64:t.uint64(i);break;case Z.FIXED64:t.fixed64(i);break;case Z.BYTES:t.bytes(i);break;case Z.FIXED32:t.fixed32(i);break;case Z.SFIXED32:t.sfixed32(i);break;case Z.SFIXED64:t.sfixed64(i);break;case Z.SINT64:t.sint64(i);break;case Z.UINT32:t.uint32(i);break;case Z.SINT32:t.sint32(i);break}}catch(r){throw r instanceof Error?new Error(`cannot encode field ${e}.${n} to binary: ${r.message}`):r}}function xf(t){switch(t){case Z.BYTES:case Z.STRING:return fe.LengthDelimited;case Z.DOUBLE:case Z.FIXED64:case Z.SFIXED64:return fe.Bit64;case Z.FIXED32:case Z.SFIXED32:case Z.FLOAT:return fe.Bit32;default:return fe.Varint}}function wf(t,e,n){let l=!1;return n||(n=dt(Nf),l=!0),n.value=Vs(t,e),n.typeUrl=Qf(e.$typeName),l?n:void 0}function kf(t,e){if(t.typeUrl==="")return!1;const n=typeof e=="string"?e:e.typeName,l=ps(t.typeUrl);return n===l}function zf(t,e){if(t.typeUrl==="")return;const n=e.kind=="message"?e:e.getMessage(ps(t.typeUrl));if(!(!n||!kf(t,n)))return xl(n,t.value)}function Qf(t){return`type.googleapis.com/${t}`}function ps(t){const e=t.lastIndexOf("/"),n=e>=0?t.substring(e+1):t;if(!n.length)throw new Error(`invalid type url: ${t}`);return n}const Lf=z("Ch5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIqCghEdXJhdGlvbhIPCgdzZWNvbmRzGAEgASgDEg0KBW5hbm9zGAIgASgFQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1EdXJhdGlvblByb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2R1cmF0aW9ucGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw"),Kf=z("Chtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIHCgVFbXB0eUJ9ChNjb20uZ29vZ2xlLnByb3RvYnVmQgpFbXB0eVByb3RvUAFaLmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2VtcHR5cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw"),He=z("Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),Tf=Qn(He,0),Zs=Qn(He,1),Mf=Qn(He,2);var Ji;(function(t){t[t.NULL_VALUE=0]="NULL_VALUE"})(Ji||(Ji={}));function Hf(t,e){Gs(e,t);const n=jf(t.$unknown,e),[l,i,r]=wl(e);for(const o of n)hs(l,new mr(o.data),i,o.wireType,{readUnknownFields:!0});return r()}function Df(t,e,n){var l;Gs(e,t);const i=((l=t.$unknown)!==null&&l!==void 0?l:[]).filter(d=>d.no!==e.number),[r,o]=wl(e,n),a=new Dd;ms(a,{writeUnknownFields:!0},r,o);const c=new mr(a.finish());for(;c.pos=0;--n)if(t[n].no==e.number)return[t[n]];return[]}return t.filter(n=>n.no===e.number)}function wl(t,e){const n=t.typeName,l=Object.assign(Object.assign({},t),{kind:"field",parent:t.extendee,localName:n}),i=Object.assign(Object.assign({},t.extendee),{fields:[l],members:[l],oneofs:[]}),r=dt(i,e!==void 0?{[n]:e}:void 0);return[rt(i,r),l,()=>{const o=r[n];if(o===void 0){const a=t.message;return zn(a)?Lt(a.fields[0].scalar,a.fields[0].longAsString):dt(a)}return o}]}function Gs(t,e){if(t.extendee.typeName!=e.$typeName)throw new Error(`extension ${t.typeName} can only be applied to message ${t.extendee.typeName}`)}const _f=3,Of=2,_a={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function Pf(t){return t?Object.assign(Object.assign({},_a),t):_a}function $f(t,e,n){return Ln(rt(t,e),Pf(n))}function qf(t,e,n){var l;const i=$f(t,e,n);return JSON.stringify(i,null,(l=n==null?void 0:n.prettySpaces)!==null&&l!==void 0?l:0)}function Ln(t,e){var n;const l=lA(t,e);if(l!==void 0)return l;const i={};for(const r of t.sortedFields){if(!t.isSet(r)){if(r.presence==_f)throw new Error(`cannot encode ${r} to JSON: required field not set`);if(!e.alwaysEmitImplicit||r.presence!==Of)continue}const o=Oa(r,t.get(r),e);o!==void 0&&(i[nA(r,e)]=o)}if(e.registry){const r=new Set;for(const{no:o}of(n=t.getUnknown())!==null&&n!==void 0?n:[])if(!r.has(o)){r.add(o);const a=e.registry.getExtensionFor(t.desc,o);if(!a)continue;const c=Hf(t.message,a),[d,s]=wl(a,c),u=Oa(s,d.get(s),e);u!==void 0&&(i[a.jsonName]=u)}}return i}function Oa(t,e,n){switch(t.fieldKind){case"scalar":return kl(t,e);case"message":return Ln(e,n);case"enum":return yr(t.enum,e,n.enumAsInteger);case"list":return tA(e,n);case"map":return eA(e,n)}}function eA(t,e){const n=t.field(),l={};switch(n.mapKind){case"scalar":for(const[i,r]of t)l[i]=kl(n,r);break;case"message":for(const[i,r]of t)l[i]=Ln(r,e);break;case"enum":for(const[i,r]of t)l[i]=yr(n.enum,r,e.enumAsInteger);break}return e.alwaysEmitImplicit||t.size>0?l:void 0}function tA(t,e){const n=t.field(),l=[];switch(n.listKind){case"scalar":for(const i of t)l.push(kl(n,i));break;case"enum":for(const i of t)l.push(yr(n.enum,i,e.enumAsInteger));break;case"message":for(const i of t)l.push(Ln(i,e));break}return e.alwaysEmitImplicit||l.length>0?l:void 0}function yr(t,e,n){var l;if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: expected number, got ${Ce(e)}`);if(t.typeName=="google.protobuf.NullValue")return null;if(n)return e;const i=t.value[e];return(l=i==null?void 0:i.name)!==null&&l!==void 0?l:e}function kl(t,e){var n,l,i,r,o,a;switch(t.scalar){case Z.INT32:case Z.SFIXED32:case Z.SINT32:case Z.FIXED32:case Z.UINT32:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(n=Yt(t,e))===null||n===void 0?void 0:n.message}`);return e;case Z.FLOAT:case Z.DOUBLE:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(l=Yt(t,e))===null||l===void 0?void 0:l.message}`);return Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":e;case Z.STRING:if(typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(i=Yt(t,e))===null||i===void 0?void 0:i.message}`);return e;case Z.BOOL:if(typeof e!="boolean")throw new Error(`cannot encode ${t} to JSON: ${(r=Yt(t,e))===null||r===void 0?void 0:r.message}`);return e;case Z.UINT64:case Z.FIXED64:case Z.INT64:case Z.SFIXED64:case Z.SINT64:if(typeof e!="bigint"&&typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(o=Yt(t,e))===null||o===void 0?void 0:o.message}`);return e.toString();case Z.BYTES:if(e instanceof Uint8Array)return ls(e);throw new Error(`cannot encode ${t} to JSON: ${(a=Yt(t,e))===null||a===void 0?void 0:a.message}`)}}function nA(t,e){return e.useProtoFieldName?t.name:t.jsonName}function lA(t,e){if(t.desc.typeName.startsWith("google.protobuf."))switch(t.desc.typeName){case"google.protobuf.Any":return iA(t.message,e);case"google.protobuf.Timestamp":return aA(t.message);case"google.protobuf.Duration":return rA(t.message);case"google.protobuf.FieldMask":return oA(t.message);case"google.protobuf.Struct":return Xs(t.message);case"google.protobuf.Value":return vr(t.message);case"google.protobuf.ListValue":return Is(t.message);default:if(zn(t.desc)){const n=t.desc.fields[0];return kl(n,t.get(n))}return}}function iA(t,e){if(t.typeUrl==="")return{};const{registry:n}=e;let l,i;if(n&&(l=zf(t,n),l&&(i=n.getMessage(l.$typeName))),!i||!l)throw new Error(`cannot encode message ${t.$typeName} to JSON: "${t.typeUrl}" is not in the type registry`);let r=Ln(rt(i,l),e);return(i.typeName.startsWith("google.protobuf.")||r===null||Array.isArray(r)||typeof r!="object")&&(r={value:r}),r["@type"]=t.typeUrl,r}function rA(t){if(Number(t.seconds)>315576e6||Number(t.seconds)<-315576e6)throw new Error(`cannot encode message ${t.$typeName} to JSON: value out of range`);let e=t.seconds.toString();if(t.nanos!==0){let n=Math.abs(t.nanos).toString();n="0".repeat(9-n.length)+n,n.substring(3)==="000000"?n=n.substring(0,3):n.substring(6)==="000"&&(n=n.substring(0,6)),e+="."+n,t.nanos<0&&Number(t.seconds)==0&&(e="-"+e)}return e+"s"}function oA(t){return t.paths.map(e=>{if(e.match(/_[0-9]?_/g)||e.match(/[A-Z]/g))throw new Error(`cannot encode message ${t.$typeName} to JSON: lowerCamelCase of path name "`+e+'" is irreversible');return Sn(e)}).join(",")}function Xs(t){const e={};for(const[n,l]of Object.entries(t.fields))e[n]=vr(l);return e}function vr(t){switch(t.kind.case){case"nullValue":return null;case"numberValue":if(!Number.isFinite(t.kind.value))throw new Error(`${t.$typeName} cannot be NaN or Infinity`);return t.kind.value;case"boolValue":return t.kind.value;case"stringValue":return t.kind.value;case"structValue":return Xs(t.kind.value);case"listValue":return Is(t.kind.value);default:throw new Error(`${t.$typeName} must have a value`)}}function Is(t){return t.values.map(vr)}function aA(t){const e=Number(t.seconds)*1e3;if(eDate.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot encode message ${t.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(t.nanos<0)throw new Error(`cannot encode message ${t.$typeName} to JSON: nanos must not be negative`);let n="Z";if(t.nanos>0){const l=(t.nanos+1e9).toString().substring(1);l.substring(3)==="000000"?n="."+l.substring(0,3)+"Z":l.substring(6)==="000"?n="."+l.substring(0,6)+"Z":n="."+l+"Z"}return new Date(e).toISOString().replace(".000Z",n)}const Pa={ignoreUnknownFields:!1};function cA(t){return t?Object.assign(Object.assign({},Pa),t):Pa}function dA(t,e,n){return Rs(t,mA(e,t.typeName),n)}function Rs(t,e,n){const l=rt(t);try{ln(l,e,cA(n))}catch(i){throw Lm(i)?new Error(`cannot decode ${i.field()} from JSON: ${i.message}`,{cause:i}):i}return l.message}function ln(t,e,n){var l;if(fA(t,e,n))return;if(e==null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode ${t.desc} from JSON: ${Ce(e)}`);const i=new Map,r=new Map;for(const o of t.desc.fields)r.set(o.name,o).set(o.jsonName,o);for(const[o,a]of Object.entries(e)){const c=r.get(o);if(c){if(c.oneof){if(a===null&&c.fieldKind=="scalar")continue;const d=i.get(c.oneof);if(d!==void 0)throw new Pe(c.oneof,`oneof set multiple times by ${d.name} and ${c.name}`);i.set(c.oneof,c)}$a(t,c,a,n)}else{let d;if(o.startsWith("[")&&o.endsWith("]")&&(d=(l=n.registry)===null||l===void 0?void 0:l.getExtension(o.substring(1,o.length-1)))&&d.extendee.typeName===t.desc.typeName){const[s,u,h]=wl(d);$a(s,u,a,n),Df(t.message,d,h())}if(!d&&!n.ignoreUnknownFields)throw new Error(`cannot decode ${t.desc} from JSON: key "${o}" is unknown`)}}}function $a(t,e,n,l){switch(e.fieldKind){case"scalar":bA(t,e,n);break;case"enum":hA(t,e,n,l);break;case"message":gA(t,e,n,l);break;case"list":uA(t.get(e),n,l);break;case"map":sA(t.get(e),n,l);break}}function sA(t,e,n){if(e===null)return;const l=t.field();if(typeof e!="object"||Array.isArray(e))throw new Pe(l,"expected object, got "+Ce(e));for(const[i,r]of Object.entries(e)){if(r===null)throw new Pe(l,"map value must not be null");let o;switch(l.mapKind){case"message":const c=rt(l.message);ln(c,r,n),o=c;break;case"enum":if(o=Sr(l.enum,r,n.ignoreUnknownFields,!0),o===zl)return;break;case"scalar":o=Ll(l,r,!0);break}const a=VA(l.mapKey,i);t.set(a,o)}}function uA(t,e,n){if(e===null)return;const l=t.field();if(!Array.isArray(e))throw new Pe(l,"expected Array, got "+Ce(e));for(const i of e){if(i===null)throw new Pe(l,"list item must not be null");switch(l.listKind){case"message":const r=rt(l.message);ln(r,i,n),t.add(r);break;case"enum":const o=Sr(l.enum,i,n.ignoreUnknownFields,!0);o!==zl&&t.add(o);break;case"scalar":t.add(Ll(l,i,!0));break}}}function gA(t,e,n,l){if(n===null&&e.message.typeName!="google.protobuf.Value"){t.clear(e);return}const i=t.isSet(e)?t.get(e):rt(e.message);ln(i,n,l),t.set(e,i)}function hA(t,e,n,l){const i=Sr(e.enum,n,l.ignoreUnknownFields,!1);i===Ql?t.clear(e):i!==zl&&t.set(e,i)}function bA(t,e,n){const l=Ll(e,n,!1);l===Ql?t.clear(e):t.set(e,l)}const zl=Symbol();function Sr(t,e,n,l){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:l?t.values[0].number:Ql;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":const i=t.values.find(r=>r.name===e);if(i!==void 0)return i.number;if(n)return zl;break}throw new Error(`cannot decode ${t} from JSON: ${Ce(e)}`)}const Ql=Symbol();function Ll(t,e,n){if(e===null)return n?Lt(t.scalar,!1):Ql;switch(t.scalar){case Z.DOUBLE:case Z.FLOAT:if(e==="NaN")return NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(typeof e=="number"){if(Number.isNaN(e))throw new Pe(t,"unexpected NaN number");if(!Number.isFinite(e))throw new Pe(t,"unexpected infinite number");break}if(typeof e=="string"){if(e===""||e.trim().length!==e.length)break;const l=Number(e);if(!Number.isFinite(l))break;return l}break;case Z.INT32:case Z.FIXED32:case Z.SFIXED32:case Z.SINT32:case Z.UINT32:return Es(e);case Z.BYTES:if(typeof e=="string"){if(e==="")return new Uint8Array(0);try{return Xr(e)}catch(l){const i=l instanceof Error?l.message:String(l);throw new Pe(t,i)}}break}return e}function VA(t,e){switch(t){case Z.BOOL:switch(e){case"true":return!0;case"false":return!1}return e;case Z.INT32:case Z.FIXED32:case Z.UINT32:case Z.SFIXED32:case Z.SINT32:return Es(e);default:return e}}function Es(t){if(typeof t=="string"){if(t===""||t.trim().length!==t.length)return t;const e=Number(t);return Number.isNaN(e)?t:e}return t}function mA(t,e){try{return JSON.parse(t)}catch(n){const l=n instanceof Error?n.message:String(n);throw new Error(`cannot decode message ${e} from JSON: ${l}`,{cause:n})}}function fA(t,e,n){if(!t.desc.typeName.startsWith("google.protobuf."))return!1;switch(t.desc.typeName){case"google.protobuf.Any":return AA(t.message,e,n),!0;case"google.protobuf.Timestamp":return pA(t.message,e),!0;case"google.protobuf.Duration":return ZA(t.message,e),!0;case"google.protobuf.FieldMask":return GA(t.message,e),!0;case"google.protobuf.Struct":return ys(t.message,e),!0;case"google.protobuf.Value":return Cr(t.message,e),!0;case"google.protobuf.ListValue":return vs(t.message,e),!0;default:if(zn(t.desc)){const l=t.desc.fields[0];return e===null?t.clear(l):t.set(l,Ll(l,e,!0)),!0}return!1}}function AA(t,e,n){var l;if(e===null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode message ${t.$typeName} from JSON: expected object but got ${Ce(e)}`);if(Object.keys(e).length==0)return;const i=e["@type"];if(typeof i!="string"||i=="")throw new Error(`cannot decode message ${t.$typeName} from JSON: "@type" is empty`);const r=i.includes("/")?i.substring(i.lastIndexOf("/")+1):i;if(!r.length)throw new Error(`cannot decode message ${t.$typeName} from JSON: "@type" is invalid`);const o=(l=n.registry)===null||l===void 0?void 0:l.getMessage(r);if(!o)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${i} is not in the type registry`);const a=rt(o);if(r.startsWith("google.protobuf.")&&Object.prototype.hasOwnProperty.call(e,"value")){const c=e.value;ln(a,c,n)}else{const c=Object.assign({},e);delete c["@type"],ln(a,c,n)}wf(a.desc,a.message,t)}function pA(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${Ce(e)}`);const n=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.([0-9]{1,9}))?(?:Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!n)throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);const l=Date.parse(n[1]+"-"+n[2]+"-"+n[3]+"T"+n[4]+":"+n[5]+":"+n[6]+(n[8]?n[8]:"Z"));if(Number.isNaN(l))throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);if(lDate.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot decode message ${t.$typeName} from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);t.seconds=de.parse(l/1e3),t.nanos=0,n[7]&&(t.nanos=parseInt("1"+n[7]+"0".repeat(9-n[7].length))-1e9)}function ZA(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${Ce(e)}`);const n=e.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(n===null)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${Ce(e)}`);const l=Number(n[1]);if(l>315576e6||l<-315576e6)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${Ce(e)}`);if(t.seconds=de.parse(l),typeof n[2]!="string")return;const i=n[2]+"0".repeat(9-n[2].length);t.nanos=parseInt(i),(l<0||Object.is(l,-0))&&(t.nanos=-t.nanos)}function GA(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${Ce(e)}`);if(e==="")return;function n(l){if(l.includes("_"))throw new Error(`cannot decode message ${t.$typeName} from JSON: path names must be lowerCamelCase`);const i=l.replace(/[A-Z]/g,r=>"_"+r.toLowerCase());return i[0]==="_"?i.substring(1):i}t.paths=e.split(",").map(n)}function ys(t,e){if(typeof e!="object"||e==null||Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${Ce(e)}`);for(const[n,l]of Object.entries(e)){const i=dt(Zs);Cr(i,l),t.fields[n]=i}}function Cr(t,e){switch(typeof e){case"number":t.kind={case:"numberValue",value:e};break;case"string":t.kind={case:"stringValue",value:e};break;case"boolean":t.kind={case:"boolValue",value:e};break;case"object":if(e===null)t.kind={case:"nullValue",value:Ji.NULL_VALUE};else if(Array.isArray(e)){const n=dt(Mf);vs(n,e),t.kind={case:"listValue",value:n}}else{const n=dt(Tf);ys(n,e),t.kind={case:"structValue",value:n}}break;default:throw new Error(`cannot decode message ${t.$typeName} from JSON ${Ce(e)}`)}return t}function vs(t,e){if(!Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${Ce(e)}`);for(const n of e){const l=dt(Zs);Cr(l,n),t.values.push(l)}}function xi(t){const e=P[t];return typeof e!="string"?t.toString():e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase())}let tl;function XA(t){if(!tl){tl={};for(const e of Object.values(P))typeof e!="string"&&(tl[xi(e)]=e)}return tl[t]}class se extends Error{constructor(e,n=P.Unknown,l,i,r){super(IA(e,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=n,this.metadata=new Headers(l??{}),this.details=i??[],this.cause=r}static from(e,n=P.Unknown){return e instanceof se?e:e instanceof Error?e.name=="AbortError"||e.name=="TimeoutError"?new se(e.message,P.Canceled):new se(e.message,n,void 0,void 0,e):new se(String(e),n,void 0,void 0,e)}static[Symbol.hasInstance](e){return e instanceof Error?Object.getPrototypeOf(e)===se.prototype?!0:e.name==="ConnectError"&&"code"in e&&typeof e.code=="number"&&"metadata"in e&&"details"in e&&Array.isArray(e.details)&&"rawMessage"in e&&typeof e.rawMessage=="string"&&"cause"in e:!1}findDetails(e){const n=e.kind==="message"?{getMessage:i=>i===e.typeName?e:void 0}:e,l=[];for(const i of this.details){if("desc"in i){n.getMessage(i.desc.typeName)&&l.push(dt(i.desc,i.value));continue}const r=n.getMessage(i.type);if(r)try{l.push(xl(r,i.value))}catch{}}return l}}function IA(t,e){return t.length?`[${xi(e)}] ${t}`:`[${xi(e)}]`}function RA(...t){const e=new Headers;for(const n of t)n.forEach((l,i)=>{e.append(i,l)});return e}function EA(t,e){const n={};for(const l of t.methods){const i=e(l);i!=null&&(n[l.localName]=i)}return n}const qa=1;function yA(t,e,n=!1){if(e>t){let l=`message size is larger than configured readMaxBytes ${t}`;throw n&&(l=`message size ${e} is larger than configured readMaxBytes ${t}`),new se(l,P.ResourceExhausted)}}function vA(t){return new SA(t)}class SA{constructor(e){this.readMaxBytes=e,this.header=new Uint8Array(5),this.headerView=new DataView(this.header.buffer),this.buf=[]}get byteLength(){return this.buf.reduce((e,n)=>e+n.byteLength,0)}decode(e){this.buf.push(e);const n=[];for(;;){let l=this.pop();if(!l)break;n.push(l)}return n}pop(){if(!(!this.env&&(this.env=this.head(),!this.env))&&this.cons(this.env.data)){const e=this.env;return this.env=void 0,e}}head(){if(!this.cons(this.header))return;const e=this.headerView.getUint8(0),n=this.headerView.getUint32(1);return yA(this.readMaxBytes,n,!0),{flags:e,data:new Uint8Array(n)}}cons(e){const n=e.byteLength;if(this.byteLengthn-l?(e.set(i.subarray(0,n-l),l),this.buf.unshift(i.subarray(n-l)),l+=n-l):(e.set(i,l),l+=i.byteLength)}return!0}}function CA(t){let e;const n=vA(4294967295);return new ReadableStream({start(){e=t.getReader()},async pull(l){let i=!1;for(;!i;){const r=await e.read();if(r.done)n.byteLength>0&&l.error(new se("protocol error: incomplete envelope",P.InvalidArgument)),l.close();else for(const o of n.decode(r.value))l.enqueue(o),i=!0}}})}function WA(t,e){const n=new Uint8Array(e.length+5);n.set(e,5);const l=new DataView(n.buffer,n.byteOffset,n.byteLength);return l.setUint8(0,t),l.setUint32(1,e.length),n}var BA=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},l("next"),l("throw"),l("return"),n[Symbol.asyncIterator]=function(){return this},n);function l(r){n[r]=t[r]&&function(o){return new Promise(function(a,c){o=t[r](o),i(a,c,o.done,o.value)})}}function i(r,o,a,c){Promise.resolve(c).then(function(d){r({value:d,done:a})},o)}},Bn=function(t){return this instanceof Bn?(this.v=t,this):new Bn(t)},NA=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var l=n.apply(t,e||[]),i,r=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(g){return function(b){return Promise.resolve(b).then(g,u)}}function a(g,b){l[g]&&(i[g]=function(m){return new Promise(function(f,p){r.push([g,m,f,p])>1||c(g,m)})},b&&(i[g]=b(i[g])))}function c(g,b){try{d(l[g](b))}catch(m){h(r[0][3],m)}}function d(g){g.value instanceof Bn?Promise.resolve(g.value.v).then(s,u):h(r[0][2],g)}function s(g){c("next",g)}function u(g){c("throw",g)}function h(g,b){g(b),r.shift(),r.length&&c(r[0][0],r[0][1])}},FA=function(t){var e,n;return e={},l("next"),l("throw",function(i){throw i}),l("return"),e[Symbol.iterator]=function(){return this},e;function l(i,r){e[i]=t[i]?function(o){return(n=!n)?{value:Bn(t[i](o)),done:!1}:r?r(o):o}:r}};function YA(t){return NA(this,arguments,function*(){yield Bn(yield*FA(BA(t)))})}var Ss=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},l("next"),l("throw"),l("return"),n[Symbol.asyncIterator]=function(){return this},n);function l(r){n[r]=t[r]&&function(o){return new Promise(function(a,c){o=t[r](o),i(a,c,o.done,o.value)})}}function i(r,o,a,c){Promise.resolve(c).then(function(d){r({value:d,done:a})},o)}},rn=function(t){return this instanceof rn?(this.v=t,this):new rn(t)},UA=function(t){var e,n;return e={},l("next"),l("throw",function(i){throw i}),l("return"),e[Symbol.iterator]=function(){return this},e;function l(i,r){e[i]=t[i]?function(o){return(n=!n)?{value:rn(t[i](o)),done:!1}:r?r(o):o}:r}},JA=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var l=n.apply(t,e||[]),i,r=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(g){return function(b){return Promise.resolve(b).then(g,u)}}function a(g,b){l[g]&&(i[g]=function(m){return new Promise(function(f,p){r.push([g,m,f,p])>1||c(g,m)})},b&&(i[g]=b(i[g])))}function c(g,b){try{d(l[g](b))}catch(m){h(r[0][3],m)}}function d(g){g.value instanceof rn?Promise.resolve(g.value.v).then(s,u):h(r[0][2],g)}function s(g){c("next",g)}function u(g){c("throw",g)}function h(g,b){g(b),r.shift(),r.length&&c(r[0][0],r[0][1])}};function K(t,e){return EA(t,n=>{switch(n.methodKind){case"unary":return xA(e,n);case"server_streaming":return wA(e,n);case"client_streaming":return kA(e,n);case"bidi_streaming":return zA(e,n);default:return null}})}function xA(t,e){return async(n,l)=>{var i,r;const o=await t.unary(e,l==null?void 0:l.signal,l==null?void 0:l.timeoutMs,l==null?void 0:l.headers,n,l==null?void 0:l.contextValues);return(i=l==null?void 0:l.onHeader)===null||i===void 0||i.call(l,o.header),(r=l==null?void 0:l.onTrailer)===null||r===void 0||r.call(l,o.trailer),o.message}}function wA(t,e){return(n,l)=>Cs(t.stream(e,l==null?void 0:l.signal,l==null?void 0:l.timeoutMs,l==null?void 0:l.headers,YA([n]),l==null?void 0:l.contextValues),l)}function kA(t,e){return async(n,l)=>{var i,r,o,a,c,d;const s=await t.stream(e,l==null?void 0:l.signal,l==null?void 0:l.timeoutMs,l==null?void 0:l.headers,n,l==null?void 0:l.contextValues);(c=l==null?void 0:l.onHeader)===null||c===void 0||c.call(l,s.header);let u,h=0;try{for(var g=!0,b=Ss(s.message),m;m=await b.next(),i=m.done,!i;g=!0)a=m.value,g=!1,u=a,h++}catch(f){r={error:f}}finally{try{!g&&!i&&(o=b.return)&&await o.call(b)}finally{if(r)throw r.error}}if(!u)throw new se("protocol error: missing response message",P.Unimplemented);if(h>1)throw new se("protocol error: received extra messages for client streaming method",P.Unimplemented);return(d=l==null?void 0:l.onTrailer)===null||d===void 0||d.call(l,s.trailer),u}}function zA(t,e){return(n,l)=>Cs(t.stream(e,l==null?void 0:l.signal,l==null?void 0:l.timeoutMs,l==null?void 0:l.headers,n,l==null?void 0:l.contextValues),l)}function Cs(t,e){const n=(function(){return JA(this,arguments,function*(){var l,i;const r=yield rn(t);(l=e==null?void 0:e.onHeader)===null||l===void 0||l.call(e,r.header),yield rn(yield*UA(Ss(r.message))),(i=e==null?void 0:e.onTrailer)===null||i===void 0||i.call(e,r.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function QA(...t){const e=new AbortController,n=t.filter(i=>i!==void 0).concat(e.signal);for(const i of n){if(i.aborted){l.apply(i);break}i.addEventListener("abort",l)}function l(){e.signal.aborted||e.abort(Ws(this));for(const i of n)i.removeEventListener("abort",l)}return e}function LA(t){const e=new AbortController,n=()=>{e.abort(new se("the operation timed out",P.DeadlineExceeded))};let l;return t!==void 0&&(t<=0?n():l=setTimeout(n,t)),{signal:e.signal,cleanup:()=>clearTimeout(l)}}function Ws(t){if(!t.aborted)return;if(t.reason!==void 0)return t.reason;const e=new Error("This operation was aborted");return e.name="AbortError",e}function ec(){return{get(t){return t.id in this?this[t.id]:t.defaultValue},set(t,e){return this[t.id]=e,this},delete(t){return delete this[t.id],this}}}function tc(t,e){return t.toString().replace(/\/?$/,`/${e.parent.typeName}/${e.name}`)}function Bs(t,e){return dt(t,e)}function KA(t,e){function n(l){return l.done===!0?l:{done:l.done,value:Bs(t,l.value)}}return{[Symbol.asyncIterator](){const l=e[Symbol.asyncIterator](),i={next:()=>l.next().then(n)};return l.throw!==void 0&&(i.throw=r=>l.throw(r).then(n)),l.return!==void 0&&(i.return=r=>l.return(r).then(n)),i}}}function Ns(t,e){if(!e)return t;for(const n of e.concat().reverse())t=n(t);return t}function Fs(t){var e;const n=Object.assign({},t);return(e=n.ignoreUnknownFields)!==null&&e!==void 0||(n.ignoreUnknownFields=!0),n}function nc(t,e,n,l){const i=e?lc(t.input,l):ic(t.input,n);return{parse:(e?lc(t.output,l):ic(t.output,n)).parse,serialize:i.serialize}}function lc(t,e){return{parse(n){try{return xl(t,n,e)}catch(l){const i=l instanceof Error?l.message:String(l);throw new se(`parse binary: ${i}`,P.Internal)}},serialize(n){try{return Vs(t,n,e)}catch(l){const i=l instanceof Error?l.message:String(l);throw new se(`serialize binary: ${i}`,P.Internal)}}}}function ic(t,e){var n,l;const i=(n=e==null?void 0:e.textEncoder)!==null&&n!==void 0?n:new TextEncoder,r=(l=e==null?void 0:e.textDecoder)!==null&&l!==void 0?l:new TextDecoder,o=Fs(e);return{parse(a){try{const c=r.decode(a);return dA(t,c,o)}catch(c){throw se.from(c,P.InvalidArgument)}},serialize(a){try{const c=qf(t,a,o);return i.encode(c)}catch(c){throw se.from(c,P.Internal)}}}}const TA=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i,MA="application/proto",HA="application/json",DA="application/connect+proto",jA="application/connect+json";function _A(t){const e=t==null?void 0:t.match(TA);if(!e)return;const n=!!e[1],l=!!e[3];return{stream:n,binary:l}}function Ys(t,e,n){var l;if(e&&new Headers(e).forEach((a,c)=>n.metadata.append(c,a)),typeof t!="object"||t==null||Array.isArray(t))throw n;let i=n.code;"code"in t&&typeof t.code=="string"&&(i=(l=XA(t.code))!==null&&l!==void 0?l:i);const r=t.message;if(r!=null&&typeof r!="string")throw n;const o=new se(r??"",i,e);if("details"in t&&Array.isArray(t.details))for(const a of t.details){if(a===null||typeof a!="object"||Array.isArray(a)||typeof a.type!="string"||typeof a.value!="string")throw n;try{o.details.push({type:a.type,value:Xr(a.value),debug:a.debug})}catch{throw n}}return o}const rc=2;function OA(t){const e=new se("invalid end stream",P.Unknown);let n;try{n=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{throw e}if(typeof n!="object"||n==null||Array.isArray(n))throw e;const l=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw e;for(const[r,o]of Object.entries(n.metadata)){if(!Array.isArray(o)||o.some(a=>typeof a!="string"))throw e;for(const a of o)l.append(r,a)}}const i="error"in n&&n.error!=null?Ys(n.error,l,e):void 0;return{metadata:l,error:i}}const El="Content-Type",PA="Content-Length",oc="Content-Encoding",$A="Accept-Encoding",qA="Connect-Timeout-Ms",Us="Connect-Protocol-Version",e2="User-Agent";function t2(t){switch(t){case 400:return P.Internal;case 401:return P.Unauthenticated;case 403:return P.PermissionDenied;case 404:return P.Unimplemented;case 429:return P.Unavailable;case 502:return P.Unavailable;case 503:return P.Unavailable;case 504:return P.Unavailable;default:return P.Unknown}}function ac(t){const e=new Headers,n=new Headers;return t.forEach((l,i)=>{i.toLowerCase().startsWith("trailer-")?n.append(i.substring(8),l):e.append(i,l)}),[e,n]}const Js="1";function cc(t,e,n,l,i){const r=new Headers(l??{});return n!==void 0&&r.set(qA,`${n}`),r.set(El,t=="unary"?e?MA:HA:e?DA:jA),r.set(Us,Js),r.has(e2),r}function dc(t,e,n,l){const i=l.get(El),r=_A(i);if(n!==200){const a=new se(`HTTP ${n}`,t2(n),l);if(t=="unary"&&r&&!r.binary)return{isUnaryError:!0,unaryError:a};throw a}const o={binary:e,stream:t!=="unary"};if((r==null?void 0:r.binary)!==o.binary||r.stream!==o.stream)throw new se(`unsupported content type ${i}`,r===void 0?P.Unknown:P.Internal,l);return{isUnaryError:!1}}const sc="application/";function n2(t,e){return e?ls(t,"url"):encodeURIComponent(new TextDecoder().decode(t))}function l2(t,e,n){let l=`?connect=v${Js}`;const i=t.header.get(El);(i==null?void 0:i.indexOf(sc))===0&&(l+="&encoding="+encodeURIComponent(i.slice(sc.length)));const r=t.header.get(oc);r!==null&&r!=="identity"&&(l+="&compression="+encodeURIComponent(r),n=!0),n&&(l+="&base64=1"),l+="&message="+n2(e,n);const o=t.url+l,a=new Headers(t.header);for(const c of[Us,El,PA,oc,$A])a.delete(c);return Object.assign(Object.assign({},t),{requestMethod:"GET",url:o,header:a})}function i2(t){const e=Ns(t.next,t.interceptors),[n,l,i]=xs(t),r=Object.assign(Object.assign({},t.req),{message:Bs(t.req.method.input,t.req.message),signal:n});return e(r).then(o=>(i(),o),l)}function r2(t){const e=Ns(t.next,t.interceptors),[n,l,i]=xs(t),r=Object.assign(Object.assign({},t.req),{message:KA(t.req.method.input,t.req.message),signal:n});let o=!1;return n.addEventListener("abort",function(){var a,c;const d=t.req.message[Symbol.asyncIterator]();o||(a=d.throw)===null||a===void 0||a.call(d,this.reason).catch(()=>{}),(c=d.return)===null||c===void 0||c.call(d).catch(()=>{})}),e(r).then(a=>Object.assign(Object.assign({},a),{message:{[Symbol.asyncIterator](){const c=a.message[Symbol.asyncIterator]();return{next(){return c.next().then(d=>(d.done==!0&&(o=!0,i()),d),l)}}}}}),l)}function xs(t){const{signal:e,cleanup:n}=LA(t.timeoutMs),l=QA(t.signal,e);return[l.signal,function(r){const o=se.from(e.aborted?Ws(e):r);return l.abort(o),n(),Promise.reject(o)},function(){n(),l.abort()}]}function o2(){try{new Headers}catch{throw new Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var Nn=function(t){return this instanceof Nn?(this.v=t,this):new Nn(t)},a2=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var l=n.apply(t,e||[]),i,r=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(g){return function(b){return Promise.resolve(b).then(g,u)}}function a(g,b){l[g]&&(i[g]=function(m){return new Promise(function(f,p){r.push([g,m,f,p])>1||c(g,m)})},b&&(i[g]=b(i[g])))}function c(g,b){try{d(l[g](b))}catch(m){h(r[0][3],m)}}function d(g){g.value instanceof Nn?Promise.resolve(g.value.v).then(s,u):h(r[0][2],g)}function s(g){c("next",g)}function u(g){c("throw",g)}function h(g,b){g(b),r.shift(),r.length&&c(r[0][0],r[0][1])}};const uc={redirect:"error"};function c2(t){var e;o2();const n=(e=t.useBinaryFormat)!==null&&e!==void 0?e:!1;return{async unary(l,i,r,o,a,c){const{serialize:d,parse:s}=nc(l,n,t.jsonOptions,t.binaryOptions);return r=r===void 0?t.defaultTimeoutMs:r<=0?void 0:r,await i2({interceptors:t.interceptors,signal:i,timeoutMs:r,req:{stream:!1,service:l.parent,method:l,requestMethod:"POST",url:tc(t.baseUrl,l),header:cc(l.methodKind,n,r,o,!1),contextValues:c??ec(),message:a},next:async u=>{var h;const g=t.useHttpGet===!0&&l.idempotency===Ui.NO_SIDE_EFFECTS;let b=null;g?u=l2(u,d(u.message),n):b=d(u.message);const f=await((h=t.fetch)!==null&&h!==void 0?h:globalThis.fetch)(u.url,Object.assign(Object.assign({},uc),{method:u.requestMethod,headers:u.header,signal:u.signal,body:b})),{isUnaryError:p,unaryError:A}=dc(l.methodKind,n,f.status,f.headers);if(p)throw Ys(await f.json(),RA(...ac(f.headers)),A);const[X,y]=ac(f.headers);return{stream:!1,service:l.parent,method:l,header:X,message:n?s(new Uint8Array(await f.arrayBuffer())):Rs(l.output,await f.json(),Fs(t.jsonOptions)),trailer:y}}})},async stream(l,i,r,o,a,c){const{serialize:d,parse:s}=nc(l,n,t.jsonOptions,t.binaryOptions);function u(g,b,m,f){return a2(this,arguments,function*(){const A=CA(g).getReader();let X=!1;for(;;){const y=yield Nn(A.read());if(y.done)break;const{flags:I,data:S}=y.value;if((I&qa)===qa)throw new se("protocol error: received unsupported compressed output",P.Internal);if((I&rc)===rc){X=!0;const G=OA(S);if(G.error){const B=G.error;throw m.forEach((v,J)=>{B.metadata.append(J,v)}),B}G.metadata.forEach((B,v)=>b.set(v,B));continue}yield yield Nn(s(S))}if("throwIfAborted"in f&&f.throwIfAborted(),!X)throw"missing EndStreamResponse"})}async function h(g){if(l.methodKind!="server_streaming")throw"The fetch API does not support streaming request bodies";const b=await g[Symbol.asyncIterator]().next();if(b.done==!0)throw"missing request message";return WA(0,d(b.value))}return r=r===void 0?t.defaultTimeoutMs:r<=0?void 0:r,await r2({interceptors:t.interceptors,timeoutMs:r,signal:i,req:{stream:!0,service:l.parent,method:l,requestMethod:"POST",url:tc(t.baseUrl,l),header:cc(l.methodKind,n,r,o,!1),contextValues:c??ec(),message:a},next:async g=>{var b;const f=await((b=t.fetch)!==null&&b!==void 0?b:globalThis.fetch)(g.url,Object.assign(Object.assign({},uc),{method:g.requestMethod,headers:g.header,signal:g.signal,body:await h(g.message)}));if(dc(l.methodKind,n,f.status,f.headers),f.body===null)throw"missing response body";const p=new Headers;return Object.assign(Object.assign({},g),{header:f.headers,trailer:p,message:u(f.body,p,f.headers,g.signal)})}})}}}function M(t,e,...n){if(n.length>0)throw new Error;return t.services[e]}const ws=z("ChxvcGVyYXRpb24vdjEvcGxheV9jYXJkLnByb3RvEgxvcGVyYXRpb24udjEiOAoVR2V0Q3VyUGxheUNhcmRSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSDgoGbG9jYWxlGAIgASgJIkwKFkdldEN1clBsYXlDYXJkUmVzcG9uc2USMgoOcGxheV9jYXJkX2luZm8YASABKAsyGi5vcGVyYXRpb24udjEuUGxheUNhcmRJbmZvIroDCgxQbGF5Q2FyZEluZm8SCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRINCgV0aXRsZRgDIAEoCRIMCgRkZXNjGAQgASgJEi4KC2FjdGlvbl90eXBlGAUgASgOMhkub3BlcmF0aW9uLnYxLkFDVElPTl9UWVBFEhIKCmV4dHJhX2RhdGEYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoGc3RhdHVzGAkgASgOMh4ub3BlcmF0aW9uLnYxLlBMQVlfQ0FSRF9TVEFUVVMSLQoIcGxhdGZvcm0YCiABKA4yGy5vcGVyYXRpb24udjEuUExBVEZPUk1fVFlQRRI0CgVpbWFnZRgLIAMoCzIlLm9wZXJhdGlvbi52MS5QbGF5Q2FyZEluZm8uSW1hZ2VFbnRyeRIMCgRJMThuGAwgASgJGiwKCkltYWdlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASp2Cg1QTEFURk9STV9UWVBFEh0KGVBMQVRGT1JNX1RZUEVfVU5TUEVDSUZJRUQQABIVChFQTEFURk9STV9UWVBFX0FMTBABEhgKFFBMQVRGT1JNX1RZUEVfTU9CSUxFEAISFQoRUExBVEZPUk1fVFlQRV9XRUIQAypWCgtBQ1RJT05fVFlQRRIbChdBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEhUKEUFDVElPTl9UWVBFX1BPUFVQEAESEwoPQUNUSU9OX1RZUEVfVVJMEAIqZwoQUExBWV9DQVJEX1NUQVRVUxIgChxQTEFZX0NBUkRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTUExBWV9DQVJEX1NUQVRVU19PThABEhgKFFBMQVlfQ0FSRF9TVEFUVVNfT0ZGEAIyaQoIUGxheUNhcmQSXQoOR2V0Q3VyUGxheUNhcmQSIy5vcGVyYXRpb24udjEuR2V0Q3VyUGxheUNhcmRSZXF1ZXN0GiQub3BlcmF0aW9uLnYxLkdldEN1clBsYXlDYXJkUmVzcG9uc2UiAEK3AQoQY29tLm9wZXJhdGlvbi52MUINUGxheUNhcmRQcm90b1ABWkNnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvb3BlcmF0aW9uL3YxO29wZXJhdGlvbnYxogIDT1hYqgIMT3BlcmF0aW9uLlYxygIMT3BlcmF0aW9uXFYx4gIYT3BlcmF0aW9uXFYxXEdQQk1ldGFkYXRh6gINT3BlcmF0aW9uOjpWMWIGcHJvdG8z",[te]),d2=M(ws,0),s2=z("CiJvcGVyYXRpb24vdjEvcGxheV9jYXJkX2FkbWluLnByb3RvEgxvcGVyYXRpb24udjEi6gIKFUNyZWF0ZVBsYXlDYXJkUmVxdWVzdBIMCgRuYW1lGAEgASgJEg0KBXRpdGxlGAIgASgJEgwKBGRlc2MYAyABKAkSLgoLYWN0aW9uX3R5cGUYBCABKA4yGS5vcGVyYXRpb24udjEuQUNUSU9OX1RZUEUSEgoKZXh0cmFfZGF0YRgFIAEoCRIuCgZzdGF0dXMYBiABKA4yHi5vcGVyYXRpb24udjEuUExBWV9DQVJEX1NUQVRVUxItCghwbGF0Zm9ybRgIIAEoDjIbLm9wZXJhdGlvbi52MS5QTEFURk9STV9UWVBFEj0KBWltYWdlGAkgAygLMi4ub3BlcmF0aW9uLnYxLkNyZWF0ZVBsYXlDYXJkUmVxdWVzdC5JbWFnZUVudHJ5EhYKDnRyYW5zbGF0ZV9qc29uGAogASgJGiwKCkltYWdlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI2ChZDcmVhdGVQbGF5Q2FyZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSCwoDbXNnGAIgASgJIoQEChVVcGRhdGVQbGF5Q2FyZFJlcXVlc3QSCgoCaWQYASABKAMSEQoEbmFtZRgCIAEoCUgAiAEBEhIKBXRpdGxlGAMgASgJSAGIAQESEQoEZGVzYxgEIAEoCUgCiAEBEjMKC2FjdGlvbl90eXBlGAUgASgOMhkub3BlcmF0aW9uLnYxLkFDVElPTl9UWVBFSAOIAQESFwoKZXh0cmFfZGF0YRgHIAEoCUgEiAEBEjMKBnN0YXR1cxgIIAEoDjIeLm9wZXJhdGlvbi52MS5QTEFZX0NBUkRfU1RBVFVTSAWIAQESMgoIcGxhdGZvcm0YCiABKA4yGy5vcGVyYXRpb24udjEuUExBVEZPUk1fVFlQRUgGiAEBEj0KBWltYWdlGAsgAygLMi4ub3BlcmF0aW9uLnYxLlVwZGF0ZVBsYXlDYXJkUmVxdWVzdC5JbWFnZUVudHJ5EhsKDnRyYW5zbGF0ZV9qc29uGAwgASgJSAeIAQEaLAoKSW1hZ2VFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgcKBV9uYW1lQggKBl90aXRsZUIHCgVfZGVzY0IOCgxfYWN0aW9uX3R5cGVCDQoLX2V4dHJhX2RhdGFCCQoHX3N0YXR1c0ILCglfcGxhdGZvcm1CEQoPX3RyYW5zbGF0ZV9qc29uIjYKFlVwZGF0ZVBsYXlDYXJkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBILCgNtc2cYAiABKAkiIwoVRGVsZXRlUGxheUNhcmRSZXF1ZXN0EgoKAmlkGAEgASgDIjYKFkRlbGV0ZVBsYXlDYXJkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBILCgNtc2cYAiABKAki/gEKE0xpc3RQbGF5Q2FyZFJlcXVlc3QSDAoEcGFnZRgBIAEoBRIRCglwYWdlX3NpemUYAiABKAUSFAoHa2V5d29yZBgDIAEoCUgAiAEBEhMKBmxvY2FsZRgEIAEoCUgBiAEBEjIKCHBsYXRmb3JtGAUgASgOMhsub3BlcmF0aW9uLnYxLlBMQVRGT1JNX1RZUEVIAogBARIzCgthY3Rpb25fdHlwZRgGIAEoDjIZLm9wZXJhdGlvbi52MS5BQ1RJT05fVFlQRUgDiAEBQgoKCF9rZXl3b3JkQgkKB19sb2NhbGVCCwoJX3BsYXRmb3JtQg4KDF9hY3Rpb25fdHlwZSJzChRMaXN0UGxheUNhcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEgsKA21zZxgCIAEoCRIuCgpwbGF5X2NhcmRzGAMgAygLMhoub3BlcmF0aW9uLnYxLlBsYXlDYXJkSW5mbxINCgV0b3RhbBgEIAEoAzKFAwoNUGxheUNhcmRBZG1pbhJdCg5DcmVhdGVQbGF5Q2FyZBIjLm9wZXJhdGlvbi52MS5DcmVhdGVQbGF5Q2FyZFJlcXVlc3QaJC5vcGVyYXRpb24udjEuQ3JlYXRlUGxheUNhcmRSZXNwb25zZSIAEl0KDlVwZGF0ZVBsYXlDYXJkEiMub3BlcmF0aW9uLnYxLlVwZGF0ZVBsYXlDYXJkUmVxdWVzdBokLm9wZXJhdGlvbi52MS5VcGRhdGVQbGF5Q2FyZFJlc3BvbnNlIgASXQoORGVsZXRlUGxheUNhcmQSIy5vcGVyYXRpb24udjEuRGVsZXRlUGxheUNhcmRSZXF1ZXN0GiQub3BlcmF0aW9uLnYxLkRlbGV0ZVBsYXlDYXJkUmVzcG9uc2UiABJXCgxMaXN0UGxheUNhcmQSIS5vcGVyYXRpb24udjEuTGlzdFBsYXlDYXJkUmVxdWVzdBoiLm9wZXJhdGlvbi52MS5MaXN0UGxheUNhcmRSZXNwb25zZSIAQrwBChBjb20ub3BlcmF0aW9uLnYxQhJQbGF5Q2FyZEFkbWluUHJvdG9QAVpDZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L29wZXJhdGlvbi92MTtvcGVyYXRpb252MaICA09YWKoCDE9wZXJhdGlvbi5WMcoCDE9wZXJhdGlvblxWMeICGE9wZXJhdGlvblxWMVxHUEJNZXRhZGF0YeoCDU9wZXJhdGlvbjo6VjFiBnByb3RvMw",[te,ws]),u2=M(s2,0),Ye=z("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI9CgpDb25zdHJhaW50EgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSJNChJNZXNzYWdlQ29uc3RyYWludHMSEAoIZGlzYWJsZWQYASABKAgSJQoDY2VsGAMgAygLMhguYnVmLnZhbGlkYXRlLkNvbnN0cmFpbnQiJAoQT25lb2ZDb25zdHJhaW50cxIQCghyZXF1aXJlZBgBIAEoCCLXCAoQRmllbGRDb25zdHJhaW50cxIlCgNjZWwYFyADKAsyGC5idWYudmFsaWRhdGUuQ29uc3RyYWludBIQCghyZXF1aXJlZBgZIAEoCBIkCgZpZ25vcmUYGyABKA4yFC5idWYudmFsaWRhdGUuSWdub3JlEikKBWZsb2F0GAEgASgLMhguYnVmLnZhbGlkYXRlLkZsb2F0UnVsZXNIABIrCgZkb3VibGUYAiABKAsyGS5idWYudmFsaWRhdGUuRG91YmxlUnVsZXNIABIpCgVpbnQzMhgDIAEoCzIYLmJ1Zi52YWxpZGF0ZS5JbnQzMlJ1bGVzSAASKQoFaW50NjQYBCABKAsyGC5idWYudmFsaWRhdGUuSW50NjRSdWxlc0gAEisKBnVpbnQzMhgFIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50MzJSdWxlc0gAEisKBnVpbnQ2NBgGIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50NjRSdWxlc0gAEisKBnNpbnQzMhgHIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50MzJSdWxlc0gAEisKBnNpbnQ2NBgIIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50NjRSdWxlc0gAEi0KB2ZpeGVkMzIYCSABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQzMlJ1bGVzSAASLQoHZml4ZWQ2NBgKIAEoCzIaLmJ1Zi52YWxpZGF0ZS5GaXhlZDY0UnVsZXNIABIvCghzZml4ZWQzMhgLIAEoCzIbLmJ1Zi52YWxpZGF0ZS5TRml4ZWQzMlJ1bGVzSAASLwoIc2ZpeGVkNjQYDCABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkNjRSdWxlc0gAEicKBGJvb2wYDSABKAsyFy5idWYudmFsaWRhdGUuQm9vbFJ1bGVzSAASKwoGc3RyaW5nGA4gASgLMhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzSAASKQoFYnl0ZXMYDyABKAsyGC5idWYudmFsaWRhdGUuQnl0ZXNSdWxlc0gAEicKBGVudW0YECABKAsyFy5idWYudmFsaWRhdGUuRW51bVJ1bGVzSAASLwoIcmVwZWF0ZWQYEiABKAsyGy5idWYudmFsaWRhdGUuUmVwZWF0ZWRSdWxlc0gAEiUKA21hcBgTIAEoCzIWLmJ1Zi52YWxpZGF0ZS5NYXBSdWxlc0gAEiUKA2FueRgUIAEoCzIWLmJ1Zi52YWxpZGF0ZS5BbnlSdWxlc0gAEi8KCGR1cmF0aW9uGBUgASgLMhsuYnVmLnZhbGlkYXRlLkR1cmF0aW9uUnVsZXNIABIxCgl0aW1lc3RhbXAYFiABKAsyHC5idWYudmFsaWRhdGUuVGltZXN0YW1wUnVsZXNIABITCgdza2lwcGVkGBggASgIQgIYARIYCgxpZ25vcmVfZW1wdHkYGiABKAhCAhgBQgYKBHR5cGUiPgoVUHJlZGVmaW5lZENvbnN0cmFpbnRzEiUKA2NlbBgBIAMoCzIYLmJ1Zi52YWxpZGF0ZS5Db25zdHJhaW50IrUXCgpGbG9hdFJ1bGVzEmkKBWNvbnN0GAEgASgCQlrCSFcKVQoLZmxvYXQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSnwEKAmx0GAIgASgCQpABwkiMAQqJAQoIZmxvYXQubHQafSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASrwEKA2x0ZRgDIAEoAkKfAcJImwEKmAEKCWZsb2F0Lmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEu8HCgJndBgEIAEoAkLgB8JI3AcKjQEKCGZsb2F0Lmd0GoABIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKwwEKC2Zsb2F0Lmd0X2x0GrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzQEKFWZsb2F0Lmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtMBCgxmbG9hdC5ndF9sdGUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrdAQoWZmxvYXQuZ3RfbHRlX2V4Y2x1c2l2ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESuggKA2d0ZRgFIAEoAkKqCMJIpggKmwEKCWZsb2F0Lmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrSAQoMZmxvYXQuZ3RlX2x0GsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrcAQoWZmxvYXQuZ3RlX2x0X2V4Y2x1c2l2ZRrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK4gEKDWZsb2F0Lmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCuwBChdmbG9hdC5ndGVfbHRlX2V4Y2x1c2l2ZRrQAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ1CgJpbhgGIAMoAkJpwkhmCmQKCGZsb2F0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgHIAMoAkJmwkhjCmEKDGZsb2F0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEnUKBmZpbml0ZRgIIAEoCEJlwkhiCmAKDGZsb2F0LmZpbml0ZRpQcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAndmFsdWUgbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSKwoHZXhhbXBsZRgJIAMoAkIawkgXChUKDWZsb2F0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIscXCgtEb3VibGVSdWxlcxJqCgVjb25zdBgBIAEoAUJbwkhYClYKDGRvdWJsZS5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKgAQoCbHQYAiABKAFCkQHCSI0BCooBCglkb3VibGUubHQafSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASsAEKA2x0ZRgDIAEoAUKgAcJInAEKmQEKCmRvdWJsZS5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABL0BwoCZ3QYBCABKAFC5QfCSOEHCo4BCglkb3VibGUuZ3QagAEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwrEAQoMZG91YmxlLmd0X2x0GrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzgEKFmRvdWJsZS5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrUAQoNZG91YmxlLmd0X2x0ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCt4BChdkb3VibGUuZ3RfbHRlX2V4Y2x1c2l2ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESvwgKA2d0ZRgFIAEoAUKvCMJIqwgKnAEKCmRvdWJsZS5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0wEKDWRvdWJsZS5ndGVfbHQawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCt0BChdkb3VibGUuZ3RlX2x0X2V4Y2x1c2l2ZRrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK4wEKDmRvdWJsZS5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrtAQoYZG91YmxlLmd0ZV9sdGVfZXhjbHVzaXZlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnYKAmluGAYgAygBQmrCSGcKZQoJZG91YmxlLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEncKBm5vdF9pbhgHIAMoAUJnwkhkCmIKDWRvdWJsZS5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJ2CgZmaW5pdGUYCCABKAhCZsJIYwphCg1kb3VibGUuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIsCgdleGFtcGxlGAkgAygBQhvCSBgKFgoOZG91YmxlLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIucUCgpJbnQzMlJ1bGVzEmkKBWNvbnN0GAEgASgFQlrCSFcKVQoLaW50MzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSigEKAmx0GAIgASgFQnzCSHkKdwoIaW50MzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnAEKA2x0ZRgDIAEoBUKMAcJIiAEKhQEKCWludDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASlwcKAmd0GAQgASgFQogHwkiEBwp6CghpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKswEKC2ludDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq7AQoVaW50MzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwwEKDGludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKywEKFmludDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEuMHCgNndGUYBSABKAVC0wfCSM8HCogBCglpbnQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrCAQoMaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsoBChZpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrSAQoNaW50MzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwraAQoXaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdQoCaW4YBiADKAVCacJIZgpkCghpbnQzMi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ2CgZub3RfaW4YByADKAVCZsJIYwphCgxpbnQzMi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIrCgdleGFtcGxlGAggAygFQhrCSBcKFQoNaW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5xQKCkludDY0UnVsZXMSaQoFY29uc3QYASABKANCWsJIVwpVCgtpbnQ2NC5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKKAQoCbHQYAiABKANCfMJIeQp3CghpbnQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKcAQoDbHRlGAMgASgDQowBwkiIAQqFAQoJaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKXBwoCZ3QYBCABKANCiAfCSIQHCnoKCGludDY0Lmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqzAQoLaW50NjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrsBChVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrDAQoMaW50NjQuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrLAQoWaW50NjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES4wcKA2d0ZRgFIAEoA0LTB8JIzwcKiAEKCWludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsIBCgxpbnQ2NC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKygEKFmludDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtIBCg1pbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtoBChdpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ1CgJpbhgGIAMoA0JpwkhmCmQKCGludDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgHIAMoA0JmwkhjCmEKDGludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiL4FAoLVUludDMyUnVsZXMSagoFY29uc3QYASABKA1CW8JIWApWCgx1aW50MzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdgoCaW4YBiADKA1CasJIZwplCgl1aW50MzIuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdwoGbm90X2luGAcgAygNQmfCSGQKYgoNdWludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKA1CG8JIGAoWCg51aW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i+BQKC1VJbnQ2NFJ1bGVzEmoKBWNvbnN0GAEgASgEQlvCSFgKVgoMdWludDY0LmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEosBCgJsdBgCIAEoBEJ9wkh6CngKCXVpbnQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKdAQoDbHRlGAMgASgEQo0BwkiJAQqGAQoKdWludDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASnAcKAmd0GAQgASgEQo0HwkiJBwp7Cgl1aW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrQBCgx1aW50NjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrwBChZ1aW50NjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxAEKDXVpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCswBChd1aW50NjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES6AcKA2d0ZRgFIAEoBELYB8JI1AcKiQEKCnVpbnQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrDAQoNdWludDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrLAQoXdWludDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtMBCg51aW50NjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrbAQoYdWludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnYKAmluGAYgAygEQmrCSGcKZQoJdWludDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEncKBm5vdF9pbhgHIAMoBEJnwkhkCmIKDXVpbnQ2NC5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygEQhvCSBgKFgoOdWludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIvgUCgtTSW50MzJSdWxlcxJqCgVjb25zdBgBIAEoEUJbwkhYClYKDHNpbnQzMi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKLAQoCbHQYAiABKBFCfcJIegp4CglzaW50MzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnQEKA2x0ZRgDIAEoEUKNAcJIiQEKhgEKCnNpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpwHCgJndBgEIAEoEUKNB8JIiQcKewoJc2ludDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq0AQoMc2ludDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq8AQoWc2ludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsQBCg1zaW50MzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrMAQoXc2ludDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEugHCgNndGUYBSABKBFC2AfCSNQHCokBCgpzaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwwEKDXNpbnQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKywEKF3NpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrTAQoOc2ludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2wEKGHNpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ2CgJpbhgGIAMoEUJqwkhnCmUKCXNpbnQzMi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ3CgZub3RfaW4YByADKBFCZ8JIZApiCg1zaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiL4FAoLU0ludDY0UnVsZXMSagoFY29uc3QYASABKBJCW8JIWApWCgxzaW50NjQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSiwEKAmx0GAIgASgSQn3CSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBJCjQHCSIkBCoYBCgpzaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBJCjQfCSIkHCnsKCXNpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgSQtgHwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdgoCaW4YBiADKBJCasJIZwplCglzaW50NjQuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdwoGbm90X2luGAcgAygSQmfCSGQKYgoNc2ludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKBJCG8JIGAoWCg5zaW50NjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iiRUKDEZpeGVkMzJSdWxlcxJrCgVjb25zdBgBIAEoB0JcwkhZClcKDWZpeGVkMzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSjAEKAmx0GAIgASgHQn7CSHsKeQoKZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKeAQoDbHRlGAMgASgHQo4BwkiKAQqHAQoLZml4ZWQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqEHCgJndBgEIAEoB0KSB8JIjgcKfAoKZml4ZWQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtQEKDWZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BChdmaXhlZDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsUBCg5maXhlZDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzQEKGGZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES7QcKA2d0ZRgFIAEoB0LdB8JI2QcKigEKC2ZpeGVkMzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxAEKDmZpeGVkMzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCswBChhmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtQBCg9maXhlZDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3AEKGWZpeGVkMzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdwoCaW4YBiADKAdCa8JIaApmCgpmaXhlZDMyLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEngKBm5vdF9pbhgHIAMoB0JowkhlCmMKDmZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoB0IcwkgZChcKD2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iiRUKDEZpeGVkNjRSdWxlcxJrCgVjb25zdBgBIAEoBkJcwkhZClcKDWZpeGVkNjQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSjAEKAmx0GAIgASgGQn7CSHsKeQoKZml4ZWQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKeAQoDbHRlGAMgASgGQo4BwkiKAQqHAQoLZml4ZWQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqEHCgJndBgEIAEoBkKSB8JIjgcKfAoKZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtQEKDWZpeGVkNjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BChdmaXhlZDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsUBCg5maXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzQEKGGZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES7QcKA2d0ZRgFIAEoBkLdB8JI2QcKigEKC2ZpeGVkNjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxAEKDmZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCswBChhmaXhlZDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtQBCg9maXhlZDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3AEKGWZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdwoCaW4YBiADKAZCa8JIaApmCgpmaXhlZDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEngKBm5vdF9pbhgHIAMoBkJowkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4imhUKDVNGaXhlZDMyUnVsZXMSbAoFY29uc3QYASABKA9CXcJIWgpYCg5zZml4ZWQzMi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKNAQoCbHQYAiABKA9Cf8JIfAp6CgtzZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgPQo8BwkiLAQqIAQoMc2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKA9ClwfCSJMHCn0KC3NmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoD0LiB8JI3gcKiwEKDHNmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ4CgJpbhgGIAMoD0JswkhpCmcKC3NmaXhlZDMyLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnkKBm5vdF9pbhgHIAMoD0JpwkhmCmQKD3NmaXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi4KB2V4YW1wbGUYCCADKA9CHcJIGgoYChBzZml4ZWQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKaFQoNU0ZpeGVkNjRSdWxlcxJsCgVjb25zdBgBIAEoEEJdwkhaClgKDnNmaXhlZDY0LmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEo0BCgJsdBgCIAEoEEJ/wkh8CnoKC3NmaXhlZDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp8BCgNsdGUYAyABKBBCjwHCSIsBCogBCgxzZml4ZWQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqYHCgJndBgEIAEoEEKXB8JIkwcKfQoLc2ZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrYBCg5zZml4ZWQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKGHNmaXhlZDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsYBCg9zZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs4BChlzZml4ZWQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLyBwoDZ3RlGAUgASgQQuIHwkjeBwqLAQoMc2ZpeGVkNjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxQEKD3NmaXhlZDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoZc2ZpeGVkNjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1QEKEHNmaXhlZDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3QEKGnNmaXhlZDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEngKAmluGAYgAygQQmzCSGkKZwoLc2ZpeGVkNjQuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSeQoGbm90X2luGAcgAygQQmnCSGYKZAoPc2ZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoEEIdwkgaChgKEHNmaXhlZDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIqwBCglCb29sUnVsZXMSaAoFY29uc3QYASABKAhCWcJIVgpUCgpib29sLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEioKB2V4YW1wbGUYAiADKAhCGcJIFgoUCgxib29sLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiLgNgoLU3RyaW5nUnVsZXMSbAoFY29uc3QYASABKAlCXcJIWgpYCgxzdHJpbmcuY29uc3QaSHRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxJ+CgNsZW4YEyABKARCccJIbgpsCgpzdHJpbmcubGVuGl51aW50KHRoaXMuc2l6ZSgpKSAhPSBydWxlcy5sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnEpkBCgdtaW5fbGVuGAIgASgEQocBwkiDAQqAAQoOc3RyaW5nLm1pbl9sZW4abnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBsZWFzdCAlcyBjaGFyYWN0ZXJzJy5mb3JtYXQoW3J1bGVzLm1pbl9sZW5dKSA6ICcnEpcBCgdtYXhfbGVuGAMgASgEQoUBwkiBAQp/Cg5zdHJpbmcubWF4X2xlbhptdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfbGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IG1vc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5tYXhfbGVuXSkgOiAnJxKbAQoJbGVuX2J5dGVzGBQgASgEQocBwkiDAQqAAQoQc3RyaW5nLmxlbl9ieXRlcxpsdWludChieXRlcyh0aGlzKS5zaXplKCkpICE9IHJ1bGVzLmxlbl9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5sZW5fYnl0ZXNdKSA6ICcnEqMBCgltaW5fYnl0ZXMYBCABKARCjwHCSIsBCogBChBzdHJpbmcubWluX2J5dGVzGnR1aW50KGJ5dGVzKHRoaXMpLnNpemUoKSkgPCBydWxlcy5taW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2J5dGVzXSkgOiAnJxKiAQoJbWF4X2J5dGVzGAUgASgEQo4BwkiKAQqHAQoQc3RyaW5nLm1heF9ieXRlcxpzdWludChieXRlcyh0aGlzKS5zaXplKCkpID4gcnVsZXMubWF4X2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2J5dGVzXSkgOiAnJxKNAQoHcGF0dGVybhgGIAEoCUJ8wkh5CncKDnN0cmluZy5wYXR0ZXJuGmUhdGhpcy5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIGRvZXMgbm90IG1hdGNoIHJlZ2V4IHBhdHRlcm4gYCVzYCcuZm9ybWF0KFtydWxlcy5wYXR0ZXJuXSkgOiAnJxKEAQoGcHJlZml4GAcgASgJQnTCSHEKbwoNc3RyaW5nLnByZWZpeBpeIXRoaXMuc3RhcnRzV2l0aChydWxlcy5wcmVmaXgpID8gJ3ZhbHVlIGRvZXMgbm90IGhhdmUgcHJlZml4IGAlc2AnLmZvcm1hdChbcnVsZXMucHJlZml4XSkgOiAnJxKCAQoGc3VmZml4GAggASgJQnLCSG8KbQoNc3RyaW5nLnN1ZmZpeBpcIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnN1ZmZpeF0pIDogJycSkAEKCGNvbnRhaW5zGAkgASgJQn7CSHsKeQoPc3RyaW5nLmNvbnRhaW5zGmYhdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiBzdWJzdHJpbmcgYCVzYCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSmAEKDG5vdF9jb250YWlucxgXIAEoCUKBAcJIfgp8ChNzdHJpbmcubm90X2NvbnRhaW5zGmV0aGlzLmNvbnRhaW5zKHJ1bGVzLm5vdF9jb250YWlucykgPyAndmFsdWUgY29udGFpbnMgc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMubm90X2NvbnRhaW5zXSkgOiAnJxJ2CgJpbhgKIAMoCUJqwkhnCmUKCXN0cmluZy5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ3CgZub3RfaW4YCyADKAlCZ8JIZApiCg1zdHJpbmcubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycS3wEKBWVtYWlsGAwgASgIQs0BwkjJAQphCgxzdHJpbmcuZW1haWwSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGiwhcnVsZXMuZW1haWwgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzRW1haWwoKQpkChJzdHJpbmcuZW1haWxfZW1wdHkSMnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGhohcnVsZXMuZW1haWwgfHwgdGhpcyAhPSAnJ0gAEucBCghob3N0bmFtZRgNIAEoCELSAcJIzgEKZQoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaMiFydWxlcy5ob3N0bmFtZSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpCmUKFXN0cmluZy5ob3N0bmFtZV9lbXB0eRItdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3RuYW1lGh0hcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyAhPSAnJ0gAEscBCgJpcBgOIAEoCEK4AcJItAEKVQoJc3RyaW5nLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxomIXJ1bGVzLmlwIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKWwoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoXIXJ1bGVzLmlwIHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NBgPIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaKSFydWxlcy5pcHY0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDQpCmEKEXN0cmluZy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhkhcnVsZXMuaXB2NCB8fCB0aGlzICE9ICcnSAAS1gEKBGlwdjYYECABKAhCxQHCSMEBClwKC3N0cmluZy5pcHY2EiJ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NiBhZGRyZXNzGikhcnVsZXMuaXB2NiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg2KQphChFzdHJpbmcuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoZIXJ1bGVzLmlwdjYgfHwgdGhpcyAhPSAnJ0gAEr8BCgN1cmkYESABKAhCrwHCSKsBClEKCnN0cmluZy51cmkSGXZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkaKCFydWxlcy51cmkgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKVgoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoYIXJ1bGVzLnVyaSB8fCB0aGlzICE9ICcnSAASZgoHdXJpX3JlZhgSIAEoCEJTwkhQCk4KDnN0cmluZy51cmlfcmVmEhl2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVJJGiEhcnVsZXMudXJpX3JlZiB8fCB0aGlzLmlzVXJpUmVmKClIABKQAgoHYWRkcmVzcxgVIAEoCEL8AcJI+AEKgQEKDnN0cmluZy5hZGRyZXNzEi12YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaQCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RuYW1lKCkgfHwgdGhpcy5pc0lwKCkKcgoUc3RyaW5nLmFkZHJlc3NfZW1wdHkSPHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBob3N0bmFtZSwgb3IgaXAgYWRkcmVzcxocIXJ1bGVzLmFkZHJlc3MgfHwgdGhpcyAhPSAnJ0gAEpgCCgR1dWlkGBYgASgIQocCwkiDAgqlAQoLc3RyaW5nLnV1aWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGnohcnVsZXMudXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezh9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezEyfSQnKQpZChFzdHJpbmcudXVpZF9lbXB0eRIpdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVVSUQaGSFydWxlcy51dWlkIHx8IHRoaXMgIT0gJydIABLwAQoFdHV1aWQYISABKAhC3gHCSNoBCnMKDHN0cmluZy50dXVpZBIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIHRyaW1tZWQgVVVJRBo/IXJ1bGVzLnR1dWlkIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeWzAtOWEtZkEtRl17MzJ9JCcpCmMKEnN0cmluZy50dXVpZF9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIHRyaW1tZWQgVVVJRBoaIXJ1bGVzLnR1dWlkIHx8IHRoaXMgIT0gJydIABKWAgoRaXBfd2l0aF9wcmVmaXhsZW4YGiABKAhC+AHCSPQBCngKGHN0cmluZy5pcF93aXRoX3ByZWZpeGxlbhIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo7IXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KCkKeAoec3RyaW5nLmlwX3dpdGhfcHJlZml4bGVuX2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4GiYhcnVsZXMuaXBfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY0X3dpdGhfcHJlZml4bGVuGBsgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjRfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2NF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg0KQqSAQogc3RyaW5nLmlwdjRfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2NF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAASzwIKE2lwdjZfd2l0aF9wcmVmaXhsZW4YHCABKAhCrwLCSKsCCpMBChpzdHJpbmcuaXB2Nl93aXRoX3ByZWZpeGxlbhI1dmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaPiFydWxlcy5pcHY2X3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYpCpIBCiBzdHJpbmcuaXB2Nl93aXRoX3ByZWZpeGxlbl9lbXB0eRJEdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaKCFydWxlcy5pcHY2X3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLyAQoJaXBfcHJlZml4GB0gASgIQtwBwkjYAQpsChBzdHJpbmcuaXBfcHJlZml4Eh92YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgcHJlZml4GjchcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KHRydWUpCmgKFnN0cmluZy5pcF9wcmVmaXhfZW1wdHkSLnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUCBwcmVmaXgaHiFydWxlcy5pcF9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAEoMCCgtpcHY0X3ByZWZpeBgeIAEoCELrAcJI5wEKdQoSc3RyaW5nLmlwdjRfcHJlZml4EiF2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBwcmVmaXgaPCFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg0LCB0cnVlKQpuChhzdHJpbmcuaXB2NF9wcmVmaXhfZW1wdHkSMHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IHByZWZpeBogIXJ1bGVzLmlwdjRfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2Nl9wcmVmaXgYHyABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY2X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgcHJlZml4GjwhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNiwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjZfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NiBwcmVmaXgaICFydWxlcy5pcHY2X3ByZWZpeCB8fCB0aGlzICE9ICcnSAAStQIKDWhvc3RfYW5kX3BvcnQYICABKAhCmwLCSJcCCpkBChRzdHJpbmcuaG9zdF9hbmRfcG9ydBJBdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3QgKGhvc3RuYW1lIG9yIElQIGFkZHJlc3MpIGFuZCBwb3J0IHBhaXIaPiFydWxlcy5ob3N0X2FuZF9wb3J0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RBbmRQb3J0KHRydWUpCnkKGnN0cmluZy5ob3N0X2FuZF9wb3J0X2VtcHR5Ejd2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdCBhbmQgcG9ydCBwYWlyGiIhcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biK/EAoKQnl0ZXNSdWxlcxJmCgVjb25zdBgBIAEoDEJXwkhUClIKC2J5dGVzLmNvbnN0GkN0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgYmUgJXgnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSlwEKAmluGAggAygMQooBwkiGAQqDAQoIYnl0ZXMuaW4ad2R5bihydWxlcylbJ2luJ10uc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgJIAMoDEJmwkhjCmEKDGJ5dGVzLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEusBCgJpcBgKIAEoCELcAcJI2AEKdAoIYnl0ZXMuaXASIHZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBhZGRyZXNzGkYhcnVsZXMuaXAgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSA0IHx8IHRoaXMuc2l6ZSgpID09IDE2CmAKDmJ5dGVzLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxodIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpICE9IDBIABLkAQoEaXB2NBgLIAEoCELTAcJIzwEKZQoKYnl0ZXMuaXB2NBIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgYWRkcmVzcxozIXJ1bGVzLmlwdjQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSA0CmYKEGJ5dGVzLmlwdjRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IGFkZHJlc3MaHyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpICE9IDBIABLlAQoEaXB2NhgMIAEoCELUAcJI0AEKZgoKYnl0ZXMuaXB2NhIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcxo0IXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpmChBieXRlcy5pcHY2X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NiBhZGRyZXNzGh8hcnVsZXMuaXB2NiB8fCB0aGlzLnNpemUoKSAhPSAwSAASKwoHZXhhbXBsZRgOIAMoDEIawkgXChUKDWJ5dGVzLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkIMCgp3ZWxsX2tub3duIq8DCglFbnVtUnVsZXMSaAoFY29uc3QYASABKAVCWcJIVgpUCgplbnVtLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEhQKDGRlZmluZWRfb25seRgCIAEoCBJ0CgJpbhgDIAMoBUJowkhlCmMKB2VudW0uaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdQoGbm90X2luGAQgAygFQmXCSGIKYAoLZW51bS5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIqCgdleGFtcGxlGAUgAygFQhnCSBYKFAoMZW51bS5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIigQQKDVJlcGVhdGVkUnVsZXMSngEKCW1pbl9pdGVtcxgBIAEoBEKKAcJIhgEKgwEKEnJlcGVhdGVkLm1pbl9pdGVtcxptdWludCh0aGlzLnNpemUoKSkgPCBydWxlcy5taW5faXRlbXMgPyAndmFsdWUgbXVzdCBjb250YWluIGF0IGxlYXN0ICVkIGl0ZW0ocyknLmZvcm1hdChbcnVsZXMubWluX2l0ZW1zXSkgOiAnJxKiAQoJbWF4X2l0ZW1zGAIgASgEQo4BwkiKAQqHAQoScmVwZWF0ZWQubWF4X2l0ZW1zGnF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gbm8gbW9yZSB0aGFuICVzIGl0ZW0ocyknLmZvcm1hdChbcnVsZXMubWF4X2l0ZW1zXSkgOiAnJxJwCgZ1bmlxdWUYAyABKAhCYMJIXQpbCg9yZXBlYXRlZC51bmlxdWUSKHJlcGVhdGVkIHZhbHVlIG11c3QgY29udGFpbiB1bmlxdWUgaXRlbXMaHiFydWxlcy51bmlxdWUgfHwgdGhpcy51bmlxdWUoKRItCgVpdGVtcxgEIAEoCzIeLmJ1Zi52YWxpZGF0ZS5GaWVsZENvbnN0cmFpbnRzKgkI6AcQgICAgAIilgMKCE1hcFJ1bGVzEo8BCgltaW5fcGFpcnMYASABKARCfMJIeQp3Cg1tYXAubWluX3BhaXJzGmZ1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9wYWlycyA/ICdtYXAgbXVzdCBiZSBhdCBsZWFzdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1pbl9wYWlyc10pIDogJycSjgEKCW1heF9wYWlycxgCIAEoBEJ7wkh4CnYKDW1hcC5tYXhfcGFpcnMaZXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IG1vc3QgJWQgZW50cmllcycuZm9ybWF0KFtydWxlcy5tYXhfcGFpcnNdKSA6ICcnEiwKBGtleXMYBCABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50cxIuCgZ2YWx1ZXMYBSABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50cyoJCOgHEICAgIACIiYKCEFueVJ1bGVzEgoKAmluGAIgAygJEg4KBm5vdF9pbhgDIAMoCSL1FgoNRHVyYXRpb25SdWxlcxKHAQoFY29uc3QYAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CXcJIWgpYCg5kdXJhdGlvbi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKoAQoCbHQYAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25Cf8JIfAp6CgtkdXJhdGlvbi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK6AQoDbHRlGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQo8BwkiLAQqIAQoMZHVyYXRpb24ubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABLBBwoCZ3QYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25ClwfCSJMHCn0KC2R1cmF0aW9uLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOZHVyYXRpb24uZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhkdXJhdGlvbi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPZHVyYXRpb24uZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZZHVyYXRpb24uZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESjQgKA2d0ZRgGIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkLiB8JI3gcKiwEKDGR1cmF0aW9uLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9kdXJhdGlvbi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGWR1cmF0aW9uLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBkdXJhdGlvbi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpkdXJhdGlvbi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKTAQoCaW4YByADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CbMJIaQpnCgtkdXJhdGlvbi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxKUAQoGbm90X2luGAggAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQmnCSGYKZAoPZHVyYXRpb24ubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSSQoHZXhhbXBsZRgJIAMoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIdwkgaChgKEGR1cmF0aW9uLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIvgXCg5UaW1lc3RhbXBSdWxlcxKJAQoFY29uc3QYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQl7CSFsKWQoPdGltZXN0YW1wLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEqsBCgJsdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCgAHCSH0KewoMdGltZXN0YW1wLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAErwBCgNsdGUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQpABwkiMAQqJAQoNdGltZXN0YW1wLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASbAoGbHRfbm93GAcgASgIQlrCSFcKVQoQdGltZXN0YW1wLmx0X25vdxpBKHJ1bGVzLmx0X25vdyAmJiB0aGlzID4gbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBub3cnIDogJydIABLHBwoCZ3QYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQpwHwkiYBwp+Cgx0aW1lc3RhbXAuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrcBCg90aW1lc3RhbXAuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr8BChl0aW1lc3RhbXAuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxwEKEHRpbWVzdGFtcC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs8BChp0aW1lc3RhbXAuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESkwgKA2d0ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBC5wfCSOMHCowBCg10aW1lc3RhbXAuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxgEKEHRpbWVzdGFtcC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKGnRpbWVzdGFtcC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrWAQoRdGltZXN0YW1wLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3gEKG3RpbWVzdGFtcC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJvCgZndF9ub3cYCCABKAhCXcJIWgpYChB0aW1lc3RhbXAuZ3Rfbm93GkQocnVsZXMuZ3Rfbm93ICYmIHRoaXMgPCBub3cpID8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG5vdycgOiAnJ0gBErgBCgZ3aXRoaW4YCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CjAHCSIgBCoUBChB0aW1lc3RhbXAud2l0aGluGnF0aGlzIDwgbm93LXJ1bGVzLndpdGhpbiB8fCB0aGlzID4gbm93K3J1bGVzLndpdGhpbiA/ICd2YWx1ZSBtdXN0IGJlIHdpdGhpbiAlcyBvZiBub3cnLmZvcm1hdChbcnVsZXMud2l0aGluXSkgOiAnJxJLCgdleGFtcGxlGAogAygLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIewkgbChkKEXRpbWVzdGFtcC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiI5CgpWaW9sYXRpb25zEisKCnZpb2xhdGlvbnMYASADKAsyFy5idWYudmFsaWRhdGUuVmlvbGF0aW9uIqsBCglWaW9sYXRpb24SJgoFZmllbGQYBSABKAsyFy5idWYudmFsaWRhdGUuRmllbGRQYXRoEiUKBHJ1bGUYBiABKAsyFy5idWYudmFsaWRhdGUuRmllbGRQYXRoEhYKCmZpZWxkX3BhdGgYASABKAlCAhgBEhUKDWNvbnN0cmFpbnRfaWQYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIPCgdmb3Jfa2V5GAQgASgIIj0KCUZpZWxkUGF0aBIwCghlbGVtZW50cxgBIAMoCzIeLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGhFbGVtZW50IukCChBGaWVsZFBhdGhFbGVtZW50EhQKDGZpZWxkX251bWJlchgBIAEoBRISCgpmaWVsZF9uYW1lGAIgASgJEj4KCmZpZWxkX3R5cGUYAyABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI8CghrZXlfdHlwZRgEIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEj4KCnZhbHVlX3R5cGUYBSABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRIPCgVpbmRleBgGIAEoBEgAEhIKCGJvb2xfa2V5GAcgASgISAASEQoHaW50X2tleRgIIAEoA0gAEhIKCHVpbnRfa2V5GAkgASgESAASFAoKc3RyaW5nX2tleRgKIAEoCUgAQgsKCXN1YnNjcmlwdCqdAQoGSWdub3JlEhYKEklHTk9SRV9VTlNQRUNJRklFRBAAEhkKFUlHTk9SRV9JRl9VTlBPUFVMQVRFRBABEhsKF0lHTk9SRV9JRl9ERUZBVUxUX1ZBTFVFEAISEQoNSUdOT1JFX0FMV0FZUxADEhQKDElHTk9SRV9FTVBUWRABGgIIARIWCg5JR05PUkVfREVGQVVMVBACGgIIARoCEAEqbgoKS25vd25SZWdleBIbChdLTk9XTl9SRUdFWF9VTlNQRUNJRklFRBAAEiAKHEtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX05BTUUQARIhCh1LTk9XTl9SRUdFWF9IVFRQX0hFQURFUl9WQUxVRRACOlwKB21lc3NhZ2USHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYhwkgASgLMiAuYnVmLnZhbGlkYXRlLk1lc3NhZ2VDb25zdHJhaW50c1IHbWVzc2FnZTpUCgVvbmVvZhIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYhwkgASgLMh4uYnVmLnZhbGlkYXRlLk9uZW9mQ29uc3RyYWludHNSBW9uZW9mOlQKBWZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiHCSABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50c1IFZmllbGQ6YwoKcHJlZGVmaW5lZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYiAkgASgLMiMuYnVmLnZhbGlkYXRlLlByZWRlZmluZWRDb25zdHJhaW50c1IKcHJlZGVmaW5lZEJuChJidWlsZC5idWYudmFsaWRhdGVCDVZhbGlkYXRlUHJvdG9QAVpHYnVmLmJ1aWxkL2dlbi9nby9idWZidWlsZC9wcm90b3ZhbGlkYXRlL3Byb3RvY29sYnVmZmVycy9nby9idWYvdmFsaWRhdGU",[us,Lf,te]),g2=z("CippMThuX3RlbXBsYXRlL3YxL2kxOG5fdGVtcGxhdGVfYWRtaW4ucHJvdG8SEGkxOG5fdGVtcGxhdGUudjEiHQobR2V0VGVtcGxhdGVGaWVsZEluZm9SZXF1ZXN0IlcKHEdldFRlbXBsYXRlRmllbGRJbmZvUmVzcG9uc2USNwoOdGFza190ZW1wbGF0ZXMYASADKAsyHy5pMThuX3RlbXBsYXRlLnYxLlRhc2tUZW1wbGF0ZXMicAoNVGFza1RlbXBsYXRlcxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjAKC2ZpZWxkX2luZm9zGAQgAygLMhsuaTE4bl90ZW1wbGF0ZS52MS5GaWVsZEluZm8icwoJRmllbGRJbmZvEhAKCGkxOG5fa2V5GAEgASgJEhIKCmkxOG5fdmFsdWUYAiABKAkSDAoEZGVzYxgDIAEoCRIWCg5uZWVkX3RyYW5zbGF0ZRgEIAEoCRIMCgR0eXBlGAUgASgJEgwKBGVudW0YBiABKAkiIgoRTWFya2V0aW5nQ2FyZExpbmsSDQoFdGl0bGUYASABKAkiigMKFk1hcmtldGluZ0NhcmRQb3B1cEZpdmUSDQoFdGl0bGUYASABKAkSEwoLcG9wdXBfdGl0bGUYAiABKAkSFAoMcGFnZV8xX3RpdGxlGAMgASgJEhoKEnBhZ2VfMV9kZXNjcmlwdGlvbhgEIAEoCRIUCgxwYWdlXzJfdGl0bGUYBSABKAkSGgoScGFnZV8yX2Rlc2NyaXB0aW9uGAYgASgJEhQKDHBhZ2VfM190aXRsZRgHIAEoCRIaChJwYWdlXzNfZGVzY3JpcHRpb24YCCABKAkSFAoMcGFnZV80X3RpdGxlGAkgASgJEhoKEnBhZ2VfNF9kZXNjcmlwdGlvbhgKIAEoCRIUCgxwYWdlXzVfdGl0bGUYCyABKAkSGgoScGFnZV81X2Rlc2NyaXB0aW9uGAwgASgJEhIKCmJ0bl8xX3RleHQYDSABKAkSFAoMYnRuXzFfcHJvbXB0GA4gASgJEhIKCmJ0bl8yX3RleHQYDyABKAkSFAoMYnRuXzJfcHJvbXB0GBAgASgJMpEBChhJMThuVGVtcGxhdGVBZG1pblNlcnZpY2USdQoUR2V0VGVtcGxhdGVGaWVsZEluZm8SLS5pMThuX3RlbXBsYXRlLnYxLkdldFRlbXBsYXRlRmllbGRJbmZvUmVxdWVzdBouLmkxOG5fdGVtcGxhdGUudjEuR2V0VGVtcGxhdGVGaWVsZEluZm9SZXNwb25zZULYAQoUY29tLmkxOG5fdGVtcGxhdGUudjFCFkkxOG5UZW1wbGF0ZUFkbWluUHJvdG9QAVpLZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2kxOG5fdGVtcGxhdGUvdjE7aTE4bl90ZW1wbGF0ZXYxogIDSVhYqgIPSTE4blRlbXBsYXRlLlYxygIPSTE4blRlbXBsYXRlXFYx4gIbSTE4blRlbXBsYXRlXFYxXEdQQk1ldGFkYXRh6gIQSTE4blRlbXBsYXRlOjpWMWIGcHJvdG8z",[Ye,bs,He,te]),h2=M(g2,0),b2=z("ChJmaWxlL3YxL2ZpbGUucHJvdG8SB2ZpbGUudjEiSgoOU2lnblVybFJlcXVlc3QSEAoIZmlsZW5hbWUYASABKAkSJgoGbW9kdWxlGAIgASgOMhYuZmlsZS52MS5QcmVTaWduTW9kdWxlIl4KD1NpZ25VcmxSZXNwb25zZRIUCgxwcmVfc2lnbl91cmwYASABKAkSEgoKb2JqZWN0X3VybBgCIAEoCRIPCgdjZG5fdXJsGAMgASgJEhAKCGZpbGVuYW1lGAQgASgJIjwKE0JhdGNoU2lnblVybFJlcXVlc3QSJQoEdXJscxgBIAMoCzIXLmZpbGUudjEuU2lnblVybFJlcXVlc3QiRwoUQmF0Y2hTaWduVXJsUmVzcG9uc2USLwoNc2lnbl91cmxfbGlzdBgBIAMoCzIYLmZpbGUudjEuU2lnblVybFJlc3BvbnNlKpYBCg1QcmVTaWduTW9kdWxlEh8KG1BSRV9TSUdOX01PRFVMRV9VTlNQRUNJRklFRBAAEiAKHFBSRV9TSUdOX01PRFVMRV9TRVNTSU9OX0ZJTEUQARIkCiBQUkVfU0lHTl9NT0RVTEVfU0VTU0lPTl9GRUVEQkFDSxACEhwKGFBSRV9TSUdOX01PRFVMRV9NQVJLRE9XThADMpgBCgtGaWxlU2VydmljZRI8CgdTaWduVXJsEhcuZmlsZS52MS5TaWduVXJsUmVxdWVzdBoYLmZpbGUudjEuU2lnblVybFJlc3BvbnNlEksKDEJhdGNoU2lnblVybBIcLmZpbGUudjEuQmF0Y2hTaWduVXJsUmVxdWVzdBodLmZpbGUudjEuQmF0Y2hTaWduVXJsUmVzcG9uc2VCkAEKC2NvbS5maWxlLnYxQglGaWxlUHJvdG9QAVo5Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2ZpbGUvdjE7ZmlsZXYxogIDRlhYqgIHRmlsZS5WMcoCB0ZpbGVcVjHiAhNGaWxlXFYxXEdQQk1ldGFkYXRh6gIIRmlsZTo6VjFiBnByb3RvMw"),V2=M(b2,0),m2=z("ChhmaWxlL3YxL2FkbWluX2ZpbGUucHJvdG8SB2ZpbGUudjEiVAoTQWRtaW5TaWduVXJsUmVxdWVzdBIQCghmaWxlbmFtZRgBIAEoCRIrCgZtb2R1bGUYAiABKA4yGy5maWxlLnYxLkFkbWluUHJlU2lnbk1vZHVsZSJjChRBZG1pblNpZ25VcmxSZXNwb25zZRIUCgxwcmVfc2lnbl91cmwYASABKAkSEgoKb2JqZWN0X3VybBgCIAEoCRIPCgdjZG5fdXJsGAMgASgJEhAKCGZpbGVuYW1lGAQgASgJIkYKGEFkbWluQmF0Y2hTaWduVXJsUmVxdWVzdBIqCgR1cmxzGAEgAygLMhwuZmlsZS52MS5BZG1pblNpZ25VcmxSZXF1ZXN0IlEKGUFkbWluQmF0Y2hTaWduVXJsUmVzcG9uc2USNAoNc2lnbl91cmxfbGlzdBgBIAMoCzIdLmZpbGUudjEuQWRtaW5TaWduVXJsUmVzcG9uc2UqmAEKEkFkbWluUHJlU2lnbk1vZHVsZRIlCiFBRE1JTl9QUkVfU0lHTl9NT0RVTEVfVU5TUEVDSUZJRUQQABIuCipBRE1JTl9QUkVfU0lHTl9NT0RVTEVfQVBQX0hPTUVfUkVDT01NRU5ERUQQARIrCidBRE1JTl9QUkVfU0lHTl9NT0RVTEVfTk9USUZJQ0FUSU9OX0ZJTEUQAjK7AQoQQWRtaW5GaWxlU2VydmljZRJLCgxBZG1pblNpZ25VcmwSHC5maWxlLnYxLkFkbWluU2lnblVybFJlcXVlc3QaHS5maWxlLnYxLkFkbWluU2lnblVybFJlc3BvbnNlEloKEUFkbWluQmF0Y2hTaWduVXJsEiEuZmlsZS52MS5BZG1pbkJhdGNoU2lnblVybFJlcXVlc3QaIi5maWxlLnYxLkFkbWluQmF0Y2hTaWduVXJsUmVzcG9uc2VClQEKC2NvbS5maWxlLnYxQg5BZG1pbkZpbGVQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvZmlsZS92MTtmaWxldjGiAgNGWFiqAgdGaWxlLlYxygIHRmlsZVxWMeICE0ZpbGVcVjFcR1BCTWV0YWRhdGHqAghGaWxlOjpWMWIGcHJvdG8z"),f2=M(m2,0),A2=z("Chpub3RpZmllci92MS9ub3RpZmllci5wcm90bxILbm90aWZpZXIudjEiKwoNTG9nb3V0UmVxdWVzdBIaCglkZXZpY2VfaWQYASABKAlCB7pIBHICEAEiEAoOTG9nb3V0UmVzcG9uc2UijAIKFVJlZ2lzdGVyRGV2aWNlUmVxdWVzdBIYCgd1c2VyX2lkGAEgASgJQge6SARyAhABEhoKCWRldmljZV9pZBgCIAEoCUIHukgEcgIQARIxCgtkZXZpY2VfdHlwZRgDIAEoCUIcukgZchdSB0JST1dTRVJSB0FORFJPSURSA0lPUxIYCgdvc190eXBlGAQgASgJQge6SARyAhABEhwKC2NsaWVudF90eXBlGAUgASgJQge6SARyAhABEh8KDmNsaWVudF92ZXJzaW9uGAYgASgJQge6SARyAhABEh4KDWNsaWVudF9sb2NhbGUYByABKAlCB7pIBHICEAESEQoJZmNtX3Rva2VuGAggASgJIhgKFlJlZ2lzdGVyRGV2aWNlUmVzcG9uc2UiNQoXRGVyZWdpc3RlckRldmljZVJlcXVlc3QSGgoJZGV2aWNlX2lkGAEgASgJQge6SARyAhABIhoKGERlcmVnaXN0ZXJEZXZpY2VSZXNwb25zZTKWAgoPTm90aWZpZXJTZXJ2aWNlElsKDlJlZ2lzdGVyRGV2aWNlEiIubm90aWZpZXIudjEuUmVnaXN0ZXJEZXZpY2VSZXF1ZXN0GiMubm90aWZpZXIudjEuUmVnaXN0ZXJEZXZpY2VSZXNwb25zZSIAEmEKEERlcmVnaXN0ZXJEZXZpY2USJC5ub3RpZmllci52MS5EZXJlZ2lzdGVyRGV2aWNlUmVxdWVzdBolLm5vdGlmaWVyLnYxLkRlcmVnaXN0ZXJEZXZpY2VSZXNwb25zZSIAEkMKBkxvZ291dBIaLm5vdGlmaWVyLnYxLkxvZ291dFJlcXVlc3QaGy5ub3RpZmllci52MS5Mb2dvdXRSZXNwb25zZSIAQrABCg9jb20ubm90aWZpZXIudjFCDU5vdGlmaWVyUHJvdG9QAVpBZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L25vdGlmaWVyL3YxO25vdGlmaWVydjGiAgNOWFiqAgtOb3RpZmllci5WMcoCC05vdGlmaWVyXFYx4gIXTm90aWZpZXJcVjFcR1BCTWV0YWRhdGHqAgxOb3RpZmllcjo6VjFiBnByb3RvMw",[Ye]),p2=M(A2,0),ks=z("Ch5ub3RpZmllci92MS9ub3RpZmljYXRpb24ucHJvdG8SC25vdGlmaWVyLnYxIuUBChBOb3RpZmljYXRpb25JdGVtEgsKA3VpZBgBIAEoCRI5CgZkZXRhaWwYAyADKAsyKS5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtLkRldGFpbEVudHJ5EisKBHR5cGUYBCABKA4yHS5ub3RpZmllci52MS5Ob3RpZmljYXRpb25UeXBlEi0KCWNyZWF0ZV9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaLQoLRGV0YWlsRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJeChpHZXROb3RpZmljYXRpb25MaXN0UmVxdWVzdBIXCgpsYXRlc3RfdWlkGAEgASgJSACIAQESGAoFbGltaXQYAiABKAVCCbpIBhoEGAooAUINCgtfbGF0ZXN0X3VpZCJ8ChtHZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIrCgRkYXRhGAIgAygLMh0ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uSXRlbRINCgV0b3RhbBgDIAEoAxIQCghoYXNfbmV4dBgEIAEoCCLxAQoWTm90aWZpY2F0aW9uSXRlbURldGFpbBINCgV0aXRsZRgBIAEoCRIPCgdjb250ZW50GAIgASgJEicKBmJ1dHRvbhgDIAEoCzIXLm5vdGlmaWVyLnYxLkJ1dHRvbkluZm8SJQoFbWVkaWEYBCABKAsyFi5ub3RpZmllci52MS5NZWRpYUluZm8SMQoMbW9iaWxlX21lZGlhGAUgASgLMhYubm90aWZpZXIudjEuTWVkaWFJbmZvSACIAQESIwoEZGF0YRgGIAMoCzIVLm5vdGlmaWVyLnYxLlBhZ2VEYXRhQg8KDV9tb2JpbGVfbWVkaWEiJgoIUGFnZURhdGESCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJIj8KCkJ1dHRvbkluZm8SEwoLYnV0dG9uX3RleHQYASABKAkSDAoEdHlwZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiTAoJTWVkaWFJbmZvEgwKBHR5cGUYASABKAkSCwoDdXJsGAIgASgJEhYKCWNvdmVyX3VybBgDIAEoCUgAiAEBQgwKCl9jb3Zlcl91cmwisgEKEk5vdGlmaWNhdGlvbkl0ZW1WMhILCgN1aWQYASABKAkSMwoGZGV0YWlsGAMgASgLMiMubm90aWZpZXIudjEuTm90aWZpY2F0aW9uSXRlbURldGFpbBIrCgR0eXBlGAQgASgOMh0ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uVHlwZRItCgljcmVhdGVfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIoABCh1HZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2VWMhIPCgdzdWNjZXNzGAEgASgIEi0KBGRhdGEYAiADKAsyHy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtVjISDQoFdG90YWwYAyABKAMSEAoIaGFzX25leHQYBCABKAgqgQEKEk5vdGlmaWNhdGlvblN0YXR1cxIjCh9OT1RJRklDQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodTk9USUZJQ0FUSU9OX1NUQVRVU19QVUJMSVNIRUQQARIjCh9OT1RJRklDQVRJT05fU1RBVFVTX1VOUFVCTElTSEVEEAIqkgEKEE5vdGlmaWNhdGlvblR5cGUSIQodTk9USUZJQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIcChhOT1RJRklDQVRJT05fVFlQRV9TWVNURU0QARIaChZOT1RJRklDQVRJT05fVFlQRV9VU0VSEAISIQodTk9USUZJQ0FUSU9OX1RZUEVfTkVXX1ZFUlNJT04QAzLtAQoTTm90aWZpY2F0aW9uU2VydmljZRJoChNHZXROb3RpZmljYXRpb25MaXN0Eicubm90aWZpZXIudjEuR2V0Tm90aWZpY2F0aW9uTGlzdFJlcXVlc3QaKC5ub3RpZmllci52MS5HZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2USbAoVR2V0Tm90aWZpY2F0aW9uTGlzdFYyEicubm90aWZpZXIudjEuR2V0Tm90aWZpY2F0aW9uTGlzdFJlcXVlc3QaKi5ub3RpZmllci52MS5HZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2VWMkK0AQoPY29tLm5vdGlmaWVyLnYxQhFOb3RpZmljYXRpb25Qcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvbm90aWZpZXIvdjE7bm90aWZpZXJ2MaICA05YWKoCC05vdGlmaWVyLlYxygILTm90aWZpZXJcVjHiAhdOb3RpZmllclxWMVxHUEJNZXRhZGF0YeoCDE5vdGlmaWVyOjpWMWIGcHJvdG8z",[Ye,te]),Z2=M(ks,0),G2=z("CiRub3RpZmllci92MS9ub3RpZmljYXRpb25fYWRtaW4ucHJvdG8SC25vdGlmaWVyLnYxItwBCiBBZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uUmVxdWVzdBINCgV0aXRsZRgBIAEoCRITCgt0ZW1wbGF0ZV9pZBgDIAEoCRJcChBwbGFjZWhvbGRlcl9kYXRhGAQgAygLMkIubm90aWZpZXIudjEuQWRkTmV3VmVyc2lvbk5vdGlmaWNhdGlvblJlcXVlc3QuUGxhY2Vob2xkZXJEYXRhRW50cnkaNgoUUGxhY2Vob2xkZXJEYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0CiFBZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCKaAQofVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdBIYChBub3RpZmljYXRpb25fdWlkGAEgASgJEjQKBnN0YXR1cxgCIAEoDjIfLm5vdGlmaWVyLnYxLk5vdGlmaWNhdGlvblN0YXR1c0gAiAEBEhIKBXRpdGxlGAMgASgJSAGIAQFCCQoHX3N0YXR1c0IICgZfdGl0bGUiMwogVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCL3AQoVQWRtaW5Ob3RpZmljYXRpb25JdGVtEgsKA3VpZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIMCgRkZXNjGAMgASgJEicKBmRldGFpbBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKwoEdHlwZRgFIAEoDjIdLm5vdGlmaWVyLnYxLk5vdGlmaWNhdGlvblR5cGUSLwoGc3RhdHVzGAYgASgOMh8ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uU3RhdHVzEi0KCWNyZWF0ZV9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi7gIKG1BhZ2VOb3RpZmljYXRpb25MaXN0UmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEj0KEW5vdGlmaWNhdGlvbl90eXBlGAMgASgOMh0ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uVHlwZUgAiAEBEkEKE25vdGlmaWNhdGlvbl9zdGF0dXMYBCABKA4yHy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25TdGF0dXNIAYgBARIdChBub3RpZmljYXRpb25fdWlkGAUgASgJSAKIAQESHwoSbm90aWZpY2F0aW9uX3RpdGxlGAYgASgJSAOIAQFCFAoSX25vdGlmaWNhdGlvbl90eXBlQhYKFF9ub3RpZmljYXRpb25fc3RhdHVzQhMKEV9ub3RpZmljYXRpb25fdWlkQhUKE19ub3RpZmljYXRpb25fdGl0bGUicAocUGFnZU5vdGlmaWNhdGlvbkxpc3RSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEjAKBGRhdGEYAiADKAsyIi5ub3RpZmllci52MS5BZG1pbk5vdGlmaWNhdGlvbkl0ZW0SDQoFdG90YWwYAyABKAMi1AEKHEFkZFN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QSDQoFdGl0bGUYASABKAkSEwoLdGVtcGxhdGVfaWQYAyABKAkSWAoQcGxhY2Vob2xkZXJfZGF0YRgEIAMoCzI+Lm5vdGlmaWVyLnYxLkFkZFN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QuUGxhY2Vob2xkZXJEYXRhRW50cnkaNgoUUGxhY2Vob2xkZXJEYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIwCh1BZGRTeXN0ZW1Ob3RpZmljYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIikKEkdldFRlbXBsYXRlUmVxdWVzdBITCgt0ZW1wbGF0ZV9pZBgBIAEoCSKJAQoTR2V0VGVtcGxhdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEioKCWkxOG5fZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNQoIdGVtcGxhdGUYBSABKAsyIy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtRGV0YWlsItkBChJBZGRUZW1wbGF0ZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIqCglpMThuX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EgsKA3VpZBgEIAEoCRI1Cgh0ZW1wbGF0ZRgFIAEoCzIjLm5vdGlmaWVyLnYxLk5vdGlmaWNhdGlvbkl0ZW1EZXRhaWwSMAoNdGVtcGxhdGVfdHlwZRgGIAEoDjIZLm5vdGlmaWVyLnYxLlRlbXBsYXRlVHlwZSKzAQoeQWRkTm90aWZpY2F0aW9uVGVtcGxhdGVSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSKgoJaTE4bl9kYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBILCgN1aWQYBCABKAkSNQoIdGVtcGxhdGUYBSABKAsyIy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtRGV0YWlsIjsKE0FkZFRlbXBsYXRlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBITCgt0ZW1wbGF0ZV9pZBgCIAEoCSKhAQoMVGVtcGxhdGVJdGVtEgsKA3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEioKCWkxOG5fZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNQoIdGVtcGxhdGUYBSABKAsyIy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtRGV0YWlsIpsBChZHZXRUZW1wbGF0ZUxpc3RSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESEQoEbmFtZRgDIAEoCUgAiAEBEjAKDXRlbXBsYXRlX3R5cGUYBCABKA4yGS5ub3RpZmllci52MS5UZW1wbGF0ZVR5cGVCBwoFX25hbWUiYgoXR2V0VGVtcGxhdGVMaXN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBInCgRkYXRhGAIgAygLMhkubm90aWZpZXIudjEuVGVtcGxhdGVJdGVtEg0KBXRvdGFsGAMgASgDIu0SChBUZW1wbGF0ZUkxOG5EYXRhEjEKAmFyGAEgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5BckVudHJ5EjEKAmNzGAIgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5Dc0VudHJ5EjEKAmRlGAMgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5EZUVudHJ5EjEKAmVuGAQgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5FbkVudHJ5EjEKAmVzGAUgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5Fc0VudHJ5EjgKBmVzXzQxORgGIAMoCzIoLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuRXM0MTlFbnRyeRIxCgJmYRgHIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuRmFFbnRyeRIxCgJmchgIIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuRnJFbnRyeRIxCgJoaRgJIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSGlFbnRyeRIxCgJpZBgKIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSWRFbnRyeRIxCgJpdBgLIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSXRFbnRyeRIxCgJqYRgMIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSmFFbnRyeRIxCgJrbxgNIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuS29FbnRyeRIxCgJubBgOIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuTmxFbnRyeRIxCgJwbBgPIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuUGxFbnRyeRI2CgVwdF9CUhgQIAMoCzInLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuUHRCUkVudHJ5EjYKBXB0X1BUGBEgAygLMicubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5QdFBURW50cnkSMQoCcnUYEiADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlJ1RW50cnkSMQoCdGgYEyADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlRoRW50cnkSMQoCdHIYFCADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlRyRW50cnkSMQoCdWsYFSADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlVrRW50cnkSMQoCdmkYFiADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlZpRW50cnkSNgoFemhfQ04YFyADKAsyJy5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlpoQ05FbnRyeRI2CgV6aF9ISxgYIAMoCzInLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuWmhIS0VudHJ5EjYKBXpoX1RXGBkgAygLMicubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5aaFRXRW50cnkaKQoHQXJFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0NzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdEZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHRW5FbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARosCgpFczQxOUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHRmFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0ZyRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdIaUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHSWRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0l0RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdKYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHS29FbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB05sRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdQbEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKwoJUHRCUkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKwoJUHRQVEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHUnVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB1RoRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdUckVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHVWtFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB1ZpRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARorCglaaENORW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARorCglaaEhLRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARorCglaaFRXRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJECiREZWxldGVOb3RpZmljYXRpb25BbmRUZW1wbGF0ZVJlcXVlc3QSHAoLdGVtcGxhdGVfaWQYASABKAlCB7pIBHICEAEiOAolRGVsZXRlTm90aWZpY2F0aW9uQW5kVGVtcGxhdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIKlsKDFRlbXBsYXRlVHlwZRIZChVURU1QTEFURV9UWVBFX1VOS05PV04QABIYChRURU1QTEFURV9UWVBFX1NZU1RFTRABEhYKElRFTVBMQVRFX1RZUEVfVVNFUhACMvYGChhOb3RpZmljYXRpb25BZG1pblNlcnZpY2USbgoVQWRkU3lzdGVtTm90aWZpY2F0aW9uEikubm90aWZpZXIudjEuQWRkU3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdBoqLm5vdGlmaWVyLnYxLkFkZFN5c3RlbU5vdGlmaWNhdGlvblJlc3BvbnNlEmoKE0dldE5vdGlmaWNhdGlvbkxpc3QSKC5ub3RpZmllci52MS5QYWdlTm90aWZpY2F0aW9uTGlzdFJlcXVlc3QaKS5ub3RpZmllci52MS5QYWdlTm90aWZpY2F0aW9uTGlzdFJlc3BvbnNlEncKGFVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvbhIsLm5vdGlmaWVyLnYxLlVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QaLS5ub3RpZmllci52MS5VcGRhdGVTeXN0ZW1Ob3RpZmljYXRpb25SZXNwb25zZRJ6ChlBZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uEi0ubm90aWZpZXIudjEuQWRkTmV3VmVyc2lvbk5vdGlmaWNhdGlvblJlcXVlc3QaLi5ub3RpZmllci52MS5BZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uUmVzcG9uc2USUAoLQWRkVGVtcGxhdGUSHy5ub3RpZmllci52MS5BZGRUZW1wbGF0ZVJlcXVlc3QaIC5ub3RpZmllci52MS5BZGRUZW1wbGF0ZVJlc3BvbnNlElwKD0dldFRlbXBsYXRlTGlzdBIjLm5vdGlmaWVyLnYxLkdldFRlbXBsYXRlTGlzdFJlcXVlc3QaJC5ub3RpZmllci52MS5HZXRUZW1wbGF0ZUxpc3RSZXNwb25zZRJQCgtHZXRUZW1wbGF0ZRIfLm5vdGlmaWVyLnYxLkdldFRlbXBsYXRlUmVxdWVzdBogLm5vdGlmaWVyLnYxLkdldFRlbXBsYXRlUmVzcG9uc2UShgEKHURlbGV0ZU5vdGlmaWNhdGlvbkFuZFRlbXBsYXRlEjEubm90aWZpZXIudjEuRGVsZXRlTm90aWZpY2F0aW9uQW5kVGVtcGxhdGVSZXF1ZXN0GjIubm90aWZpZXIudjEuRGVsZXRlTm90aWZpY2F0aW9uQW5kVGVtcGxhdGVSZXNwb25zZUK5AQoPY29tLm5vdGlmaWVyLnYxQhZOb3RpZmljYXRpb25BZG1pblByb3RvUAFaQWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9ub3RpZmllci92MTtub3RpZmllcnYxogIDTlhYqgILTm90aWZpZXIuVjHKAgtOb3RpZmllclxWMeICF05vdGlmaWVyXFYxXEdQQk1ldGFkYXRh6gIMTm90aWZpZXI6OlYxYgZwcm90bzM",[Ye,te,He,ks]),X2=M(G2,0),I2=z("ChZjb25maWcvdjEvY29uZmlnLnByb3RvEgljb25maWcudjEidAoJRTJCQ29uZmlnEhIKCmNsdXN0ZXJfaWQYASABKAkSEwoLZTJiX2FwaV9rZXkYAiABKAkSEgoKZTJiX2RvbWFpbhgDIAEoCRIOCgZ3ZWlnaHQYBSABKA0SGgoSbm9ybWFsX3VzZXJfd2VpZ2h0GAYgASgNIisKFUdldEJ5Q2x1c3RlcklEUmVxdWVzdBISCgpjbHVzdGVyX2lkGAEgASgJImoKFkdldEJ5Q2x1c3RlcklEUmVzcG9uc2USKAoKZTJiX2NvbmZpZxgBIAEoCzIULmNvbmZpZy52MS5FMkJDb25maWcSDwoHc3VjY2VzcxgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJIiwKE0dldEF2YWlsYWJsZVJlcXVlc3QSFQoNaXNfbWVtYmVyc2hpcBgBIAEoCCJoChRHZXRBdmFpbGFibGVSZXNwb25zZRIoCgplMmJfY29uZmlnGAEgASgLMhQuY29uZmlnLnYxLkUyQkNvbmZpZxIPCgdzdWNjZXNzGAIgASgIEhUKDWVycm9yX21lc3NhZ2UYAyABKAkiEAoOTGlzdEFsbFJlcXVlc3QiZAoPTGlzdEFsbFJlc3BvbnNlEikKC2UyYl9jb25maWdzGAEgAygLMhQuY29uZmlnLnYxLkUyQkNvbmZpZxIPCgdzdWNjZXNzGAIgASgIEhUKDWVycm9yX21lc3NhZ2UYAyABKAky/AEKEEUyQkNvbmZpZ1NlcnZpY2USVQoOR2V0QnlDbHVzdGVySUQSIC5jb25maWcudjEuR2V0QnlDbHVzdGVySURSZXF1ZXN0GiEuY29uZmlnLnYxLkdldEJ5Q2x1c3RlcklEUmVzcG9uc2USTwoMR2V0QXZhaWxhYmxlEh4uY29uZmlnLnYxLkdldEF2YWlsYWJsZVJlcXVlc3QaHy5jb25maWcudjEuR2V0QXZhaWxhYmxlUmVzcG9uc2USQAoHTGlzdEFsbBIZLmNvbmZpZy52MS5MaXN0QWxsUmVxdWVzdBoaLmNvbmZpZy52MS5MaXN0QWxsUmVzcG9uc2VCoAEKDWNvbS5jb25maWcudjFCC0NvbmZpZ1Byb3RvUAFaPWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9jb25maWcvdjE7Y29uZmlndjGiAgNDWFiqAglDb25maWcuVjHKAglDb25maWdcVjHiAhVDb25maWdcVjFcR1BCTWV0YWRhdGHqAgpDb25maWc6OlYxYgZwcm90bzM"),R2=M(I2,0),zs=z("Ch9hY3Rpdml0eS92MS9hY3Rpdml0eV9iYXNlLnByb3RvEgthY3Rpdml0eS52MSKsAQoNVXNlckNvdW50SW5mbxINCgV0b3RhbBgBIAEoAxJBCgxkb21haW5fY291bnQYAiADKAsyKy5hY3Rpdml0eS52MS5Vc2VyQ291bnRJbmZvLkRvbWFpbkNvdW50RW50cnkSFQoNYmxvY2tlZF9jb3VudBgDIAEoAxoyChBEb21haW5Db3VudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAzoCOAEixwQKFEFjdGl2aXR5T3JnYW5pemF0aW9uEgoKAmlkGAEgASgDEgsKA3VpZBgCIAEoCRIMCgRuYW1lGAMgASgJEg4KBmF2YXRhchgEIAEoCRINCgV0aXRsZRgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIvCghvcmdfdHlwZRgHIAEoDjIdLmFjdGl2aXR5LnYxLk9yZ2FuaXphdGlvblR5cGUSIwoGc3RhdHVzGAggASgOMhMuYWN0aXZpdHkudjEuU3RhdHVzEh4KFnJlY29tbWVuZF91c2VjYXNlX2xpc3QYCSADKAkSGQoRZW1haWxfZG9tYWluX2xpc3QYCiADKAkSDgoGbG9jYWxlGAsgASgJEhIKCmV4dHJhX2RhdGEYDSABKAkSEwoLdW5pcXVlX25hbWUYDiABKAkSLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZGVsZXRlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKdXNlcl90b3RhbBgSIAEoAxIZChFyZWNvbW1lbmRfY3JlZGl0cxgTIAEoBRIYChByZWdpc3Rlcl9jcmVkaXRzGBQgASgFEg8KB2NvdW50cnkYFSABKAkSDAoEY2l0eRgWIAEoCRISCgphbGlhc19saXN0GBcgAygJItgBChNBY3Rpdml0eUVtYWlsRG9tYWluEgoKAmlkGAEgASgDEg8KB29yZ191aWQYAiABKAkSFAoMZW1haWxfZG9tYWluGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmRlbGV0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIv4BCgxBY3Rpdml0eVVzZXISCgoCaWQYASABKAMSDwoHb3JnX3VpZBgCIAEoCRIPCgd1c2VyX2lkGAMgASgJEjAKDWFjdGl2aXR5X3R5cGUYBCABKA4yGS5hY3Rpdml0eS52MS5BY3Rpdml0eVR5cGUSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZGVsZXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAigwQKEEFjdGl2aXR5VXNlckluZm8SDwoHdXNlcl9pZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIRCglmaXJzdG5hbWUYAyABKAkSEAoIbGFzdG5hbWUYBCABKAkSEwoLZGlzcGxheW5hbWUYBSABKAkSEAoIbmlja25hbWUYBiABKAkSDgoGYXZhdGFyGAcgASgJEhAKCGlzX2FscGhhGAggASgIEhMKC2luX3dhaXRsaXN0GAkgASgIEhMKC3ZpcF92ZXJzaW9uGAogASgJEhQKDHZpcF9pbnRlcnZhbBgLIAEoCRIaChJjdXJyZW50X3BlcmlvZF9lbmQYDCABKAMSHAoUY2FuY2VsX2F0X3BlcmlvZF9lbmQYDSABKAgSDwoHaXNfYmV0YRgOIAEoCBIYChBwYXltZW50X3BsYXRmb3JtGA8gASgJEgsKA3VpZBgQIAEoCRIbChNjb25jdXJyZW50X3Nlc3Npb25zGBEgASgFEhUKDXBsYXRmb3JtX2xpc3QYEiADKAkSGgoSbWVtYmVyc2hpcF92ZXJzaW9uGB4gASgJEhsKE21lbWJlcnNoaXBfaW50ZXJ2YWwYHyABKAkSEgoKaXNfYmxvY2tlZBggIAEoCBIuCgpjcmVhdGVkX2F0GCMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKXAQobTGlzdE9yZ2FuaXphdGlvblVzZXJSZXF1ZXN0EgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFEhQKB29yZ191aWQYAyABKAlIAIgBARIRCgR1c2VyGAQgASgJSAGIAQESGQoRZW1haWxfZG9tYWluX2xpc3QYBSADKAlCCgoIX29yZ191aWRCBwoFX3VzZXIiWgocTGlzdE9yZ2FuaXphdGlvblVzZXJSZXNwb25zZRINCgV0b3RhbBgBIAEoBRIrCgRsaXN0GAIgAygLMh0uYWN0aXZpdHkudjEuQWN0aXZpdHlVc2VySW5mbyKgAwofTGlzdEFjdGl2aXR5T3JnYW5pemF0aW9uUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRIPCgJpZBgDIAEoA0gAiAEBEhAKA3VpZBgEIAEoCUgBiAEBEhEKBG5hbWUYBSABKAlIAogBARI0CghvcmdfdHlwZRgGIAEoDjIdLmFjdGl2aXR5LnYxLk9yZ2FuaXphdGlvblR5cGVIA4gBARITCgZsb2NhbGUYByABKAlIBIgBARIZCgxlbWFpbF9kb21haW4YCCABKAlIBYgBARIoCgZzdGF0dXMYCSABKA4yEy5hY3Rpdml0eS52MS5TdGF0dXNIBogBARIUCgdrZXl3b3JkGAogASgJSAeIAQESGAoLdW5pcXVlX25hbWUYCyABKAlICIgBAUIFCgNfaWRCBgoEX3VpZEIHCgVfbmFtZUILCglfb3JnX3R5cGVCCQoHX2xvY2FsZUIPCg1fZW1haWxfZG9tYWluQgkKB19zdGF0dXNCCgoIX2tleXdvcmRCDgoMX3VuaXF1ZV9uYW1lImIKIExpc3RBY3Rpdml0eU9yZ2FuaXphdGlvblJlc3BvbnNlEg0KBXRvdGFsGAEgASgFEi8KBGRhdGEYAiADKAsyIS5hY3Rpdml0eS52MS5BY3Rpdml0eU9yZ2FuaXphdGlvbipNCgxBY3Rpdml0eVR5cGUSHQoZQUNUSVZJVFlfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkFDVElWSVRZX1RZUEVfT1JHQU5JWkFUSU9OEAEqkwEKEE9yZ2FuaXphdGlvblR5cGUSIQodT1JHQU5JWkFUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIdChlPUkdBTklaQVRJT05fVFlQRV9DT01QQU5ZEAESHAoYT1JHQU5JWkFUSU9OX1RZUEVfU0NIT09MEAISHwobT1JHQU5JWkFUSU9OX1RZUEVfQ09NTVVOSVRZEAMqSAoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEhEKDVNUQVRVU19BQ1RJVkUQARITCg9TVEFUVVNfSU5BQ1RJVkUQAipiCg9Vc2VyQmxvY2tlZFR5cGUSHAoYQkxPQ0tFRF9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUQkxPQ0tFRF9UWVBFX0FDQ09VTlQQARIXChNCTE9DS0VEX1RZUEVfU0hVVFVQEAJCtAEKD2NvbS5hY3Rpdml0eS52MUIRQWN0aXZpdHlCYXNlUHJvdG9QAVpBZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2FjdGl2aXR5L3YxO2FjdGl2aXR5djGiAgNBWFiqAgtBY3Rpdml0eS5WMcoCC0FjdGl2aXR5XFYx4gIXQWN0aXZpdHlcVjFcR1BCTWV0YWRhdGHqAgxBY3Rpdml0eTo6VjFiBnByb3RvMw",[He,te]),E2=z("ChphY3Rpdml0eS92MS9hY3Rpdml0eS5wcm90bxILYWN0aXZpdHkudjEiMgofR2V0T3JnYW5pemF0aW9uSW5mb0J5VUlEUmVxdWVzdBIPCgdvcmdfdWlkGAEgASgJIlcKIEdldE9yZ2FuaXphdGlvbkluZm9CeVVJRFJlc3BvbnNlEjMKCG9yZ19pbmZvGAEgASgLMiEuYWN0aXZpdHkudjEuQWN0aXZpdHlPcmdhbml6YXRpb24iMgohR2V0T3JnYW5pemF0aW9uSW5mb0J5RW1haWxSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIlkKIkdldE9yZ2FuaXphdGlvbkluZm9CeUVtYWlsUmVzcG9uc2USMwoIb3JnX2luZm8YASABKAsyIS5hY3Rpdml0eS52MS5BY3Rpdml0eU9yZ2FuaXphdGlvbiI9CiZHZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lUmVxdWVzdBITCgt1bmlxdWVfbmFtZRgBIAEoCSJeCidHZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lUmVzcG9uc2USMwoIb3JnX2luZm8YASABKAsyIS5hY3Rpdml0eS52MS5BY3Rpdml0eU9yZ2FuaXphdGlvbjKXBAoVUHVibGljQWN0aXZpdHlTZXJ2aWNlEncKGEdldE9yZ2FuaXphdGlvbkluZm9CeVVJRBIsLmFjdGl2aXR5LnYxLkdldE9yZ2FuaXphdGlvbkluZm9CeVVJRFJlcXVlc3QaLS5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlVSURSZXNwb25zZRJ3ChhMaXN0QWN0aXZpdHlPcmdhbml6YXRpb24SLC5hY3Rpdml0eS52MS5MaXN0QWN0aXZpdHlPcmdhbml6YXRpb25SZXF1ZXN0Gi0uYWN0aXZpdHkudjEuTGlzdEFjdGl2aXR5T3JnYW5pemF0aW9uUmVzcG9uc2USfQoaR2V0T3JnYW5pemF0aW9uSW5mb0J5RW1haWwSLi5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlFbWFpbFJlcXVlc3QaLy5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlFbWFpbFJlc3BvbnNlEowBCh9HZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lEjMuYWN0aXZpdHkudjEuR2V0T3JnYW5pemF0aW9uSW5mb0J5VW5pcXVlTmFtZVJlcXVlc3QaNC5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lUmVzcG9uc2VCsAEKD2NvbS5hY3Rpdml0eS52MUINQWN0aXZpdHlQcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvYWN0aXZpdHkvdjE7YWN0aXZpdHl2MaICA0FYWKoCC0FjdGl2aXR5LlYxygILQWN0aXZpdHlcVjHiAhdBY3Rpdml0eVxWMVxHUEJNZXRhZGF0YeoCDEFjdGl2aXR5OjpWMWIGcHJvdG8z",[zs,He,te]),y2=M(E2,0),v2=z("CiBhY3Rpdml0eS92MS9hY3Rpdml0eV9hZG1pbi5wcm90bxILYWN0aXZpdHkudjEilAUKIVVwZGF0ZUFjdGl2aXR5T3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoAxIYCgt1bmlxdWVfbmFtZRgCIAEoCUgAiAEBEhEKBG5hbWUYAyABKAlIAYgBARI0CghvcmdfdHlwZRgEIAEoDjIdLmFjdGl2aXR5LnYxLk9yZ2FuaXphdGlvblR5cGVIAogBARITCgZsb2NhbGUYBSABKAlIA4gBARISCgV0aXRsZRgGIAEoCUgEiAEBEhgKC2Rlc2NyaXB0aW9uGAcgASgJSAWIAQESEwoGYXZhdGFyGAggASgJSAaIAQESGQoRZW1haWxfZG9tYWluX2xpc3QYCSADKAkSKAoGc3RhdHVzGAogASgOMhMuYWN0aXZpdHkudjEuU3RhdHVzSAeIAQESHgoWcmVjb21tZW5kX3VzZWNhc2VfbGlzdBgLIAMoCRIXCgpleHRyYV9kYXRhGAwgASgJSAiIAQESHgoRcmVjb21tZW5kX2NyZWRpdHMYDSABKAVICYgBARIdChByZWdpc3Rlcl9jcmVkaXRzGA4gASgFSAqIAQESFAoHY291bnRyeRgPIAEoCUgLiAEBEhEKBGNpdHkYECABKAlIDIgBARISCgphbGlhc19saXN0GBEgAygJQg4KDF91bmlxdWVfbmFtZUIHCgVfbmFtZUILCglfb3JnX3R5cGVCCQoHX2xvY2FsZUIICgZfdGl0bGVCDgoMX2Rlc2NyaXB0aW9uQgkKB19hdmF0YXJCCQoHX3N0YXR1c0INCgtfZXh0cmFfZGF0YUIUChJfcmVjb21tZW5kX2NyZWRpdHNCEwoRX3JlZ2lzdGVyX2NyZWRpdHNCCgoIX2NvdW50cnlCBwoFX2NpdHkiRgoiVXBkYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkipwMKIUNyZWF0ZUFjdGl2aXR5T3JnYW5pemF0aW9uUmVxdWVzdBITCgt1bmlxdWVfbmFtZRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKBmF2YXRhchgDIAEoCUgAiAEBEg0KBXRpdGxlGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEi8KCG9yZ190eXBlGAYgASgOMh0uYWN0aXZpdHkudjEuT3JnYW5pemF0aW9uVHlwZRIjCgZzdGF0dXMYByABKA4yEy5hY3Rpdml0eS52MS5TdGF0dXMSHgoWcmVjb21tZW5kX3VzZWNhc2VfbGlzdBgIIAMoCRIZChFlbWFpbF9kb21haW5fbGlzdBgJIAMoCRIOCgZsb2NhbGUYCiABKAkSEgoKZXh0cmFfZGF0YRgLIAEoCRIZChFyZWNvbW1lbmRfY3JlZGl0cxgMIAEoBRIYChByZWdpc3Rlcl9jcmVkaXRzGA0gASgFEg8KB2NvdW50cnkYDiABKAkSDAoEY2l0eRgPIAEoCRISCgphbGlhc19saXN0GBAgAygJQgkKB19hdmF0YXIidwoiQ3JlYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLwoEZGF0YRgDIAEoCzIhLmFjdGl2aXR5LnYxLkFjdGl2aXR5T3JnYW5pemF0aW9uIh4KEERlbGV0ZU9yZ1JlcXVlc3QSCgoCaWQYASABKAMiNAoQRGVsZXRlT3JnUmVzb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiLQoaR2V0T3JnVXNlckNvdW50SW5mb1JlcXVlc3QSDwoHb3JnX3VpZBgBIAEoCSLeAQobR2V0T3JnVXNlckNvdW50SW5mb1Jlc3BvbnNlEg0KBXRvdGFsGAEgASgDEk8KDGRvbWFpbl9jb3VudBgCIAMoCzI5LmFjdGl2aXR5LnYxLkdldE9yZ1VzZXJDb3VudEluZm9SZXNwb25zZS5Eb21haW5Db3VudEVudHJ5EhUKDWJsb2NrZWRfY291bnQYAyABKAMSFAoMYWN0aXZlX2NvdW50GAQgASgDGjIKEERvbWFpbkNvdW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ASIpChZJbXBvcnREYXRhQnlDc3ZSZXF1ZXN0Eg8KB2Nzdl9zdHIYASABKAkifQoXSW1wb3J0RGF0YUJ5Q3N2UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhUKDXN1Y2Nlc3NfY291bnQYBCABKAMSFAoMZmFpbGVkX2NvdW50GAUgASgDEhMKC2ZhaWxlZF9saXN0GAYgAygJMo0GChRBY3Rpdml0eUFkbWluU2VydmljZRJ3ChhMaXN0QWN0aXZpdHlPcmdhbml6YXRpb24SLC5hY3Rpdml0eS52MS5MaXN0QWN0aXZpdHlPcmdhbml6YXRpb25SZXF1ZXN0Gi0uYWN0aXZpdHkudjEuTGlzdEFjdGl2aXR5T3JnYW5pemF0aW9uUmVzcG9uc2USfQoaVXBkYXRlQWN0aXZpdHlPcmdhbml6YXRpb24SLi5hY3Rpdml0eS52MS5VcGRhdGVBY3Rpdml0eU9yZ2FuaXphdGlvblJlcXVlc3QaLy5hY3Rpdml0eS52MS5VcGRhdGVBY3Rpdml0eU9yZ2FuaXphdGlvblJlc3BvbnNlEn0KGkNyZWF0ZUFjdGl2aXR5T3JnYW5pemF0aW9uEi4uYWN0aXZpdHkudjEuQ3JlYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXF1ZXN0Gi8uYWN0aXZpdHkudjEuQ3JlYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXNwb25zZRJrChRMaXN0T3JnYW5pemF0aW9uVXNlchIoLmFjdGl2aXR5LnYxLkxpc3RPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBopLmFjdGl2aXR5LnYxLkxpc3RPcmdhbml6YXRpb25Vc2VyUmVzcG9uc2USaAoTR2V0T3JnVXNlckNvdW50SW5mbxInLmFjdGl2aXR5LnYxLkdldE9yZ1VzZXJDb3VudEluZm9SZXF1ZXN0GiguYWN0aXZpdHkudjEuR2V0T3JnVXNlckNvdW50SW5mb1Jlc3BvbnNlEkkKCURlbGV0ZU9yZxIdLmFjdGl2aXR5LnYxLkRlbGV0ZU9yZ1JlcXVlc3QaHS5hY3Rpdml0eS52MS5EZWxldGVPcmdSZXNvbnNlElwKD0ltcG9ydERhdGFCeUNzdhIjLmFjdGl2aXR5LnYxLkltcG9ydERhdGFCeUNzdlJlcXVlc3QaJC5hY3Rpdml0eS52MS5JbXBvcnREYXRhQnlDc3ZSZXNwb25zZUK1AQoPY29tLmFjdGl2aXR5LnYxQhJBY3Rpdml0eUFkbWluUHJvdG9QAVpBZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2FjdGl2aXR5L3YxO2FjdGl2aXR5djGiAgNBWFiqAgtBY3Rpdml0eS5WMcoCC0FjdGl2aXR5XFYx4gIXQWN0aXZpdHlcVjFcR1BCTWV0YWRhdGHqAgxBY3Rpdml0eTo6VjFiBnByb3RvMw",[zs,He,te]),S2=M(v2,0),Qs=z("CiNsaXZlX2V2ZW50L3YxL2xpdmVfZXZlbnRfYmFzZS5wcm90bxINbGl2ZV9ldmVudC52MSptCg1QdWJsaXNoU3RhdHVzEh4KGlBVQkxJU0hfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHgoaUFVCTElTSF9TVEFUVVNfVU5QVUJMSVNIRUQQARIcChhQVUJMSVNIX1NUQVRVU19QVUJMSVNIRUQQAkK/AQoRY29tLmxpdmVfZXZlbnQudjFCEkxpdmVFdmVudEJhc2VQcm90b1ABWkVnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvbGl2ZV9ldmVudC92MTtsaXZlX2V2ZW50djGiAgNMWFiqAgxMaXZlRXZlbnQuVjHKAgxMaXZlRXZlbnRcVjHiAhhMaXZlRXZlbnRcVjFcR1BCTWV0YWRhdGHqAg1MaXZlRXZlbnQ6OlYxYgZwcm90bzM"),C2=z("CiRsaXZlX2V2ZW50L3YxL2xpdmVfZXZlbnRfYWRtaW4ucHJvdG8SDWxpdmVfZXZlbnQudjEirAMKEkNyZWF0ZUV2ZW50UmVxdWVzdBIQCghldmVudF9pZBgBIAEoCRISCgpldmVudF9uYW1lGAIgASgJEgwKBGhvc3QYAyABKAkSLgoKc3RhcnRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kX3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB2NvdW50cnkYBiABKAkSDgoGcmVnaW9uGAcgASgJEg8KB2FkZHJlc3MYCCABKAkSHwoXYWxsb3dfZnJlZV9yZWdpc3RyYXRpb24YCSABKAgSIQoZZ2l2ZV90ZW1wb3JhcnlfbWVtYmVyc2hpcBgKIAEoCBIUCgxmcmVlX2NyZWRpdHMYCyABKAUSFQoNZXZlbnRfY3JlZGl0cxgMIAEoBRIYChBtYXhfcGFydGljaXBhbnRzGA0gASgFEhgKEGdpZnRfaW52aXRlX2NvZGUYDiABKAUSFwoPY291bnRyeV9kaXNwbGF5GA8gASgJEhQKDGNpdHlfZGlzcGxheRgQIAEoCSIVChNDcmVhdGVFdmVudFJlc3BvbnNlIu4DChJVcGRhdGVFdmVudFJlcXVlc3QSCgoCaWQYASABKAUSEAoIZXZlbnRfaWQYAiABKAkSEgoKZXZlbnRfbmFtZRgDIAEoCRIMCgRob3N0GAQgASgJEi4KCnN0YXJ0X3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdjb3VudHJ5GAcgASgJEg4KBnJlZ2lvbhgIIAEoCRIPCgdhZGRyZXNzGAkgASgJEh8KF2FsbG93X2ZyZWVfcmVnaXN0cmF0aW9uGAogASgIEiEKGWdpdmVfdGVtcG9yYXJ5X21lbWJlcnNoaXAYCyABKAgSFAoMZnJlZV9jcmVkaXRzGAwgASgFEhUKDWV2ZW50X2NyZWRpdHMYDSABKAUSGAoQbWF4X3BhcnRpY2lwYW50cxgOIAEoBRI0Cg5wdWJsaXNoX3N0YXR1cxgPIAEoDjIcLmxpdmVfZXZlbnQudjEuUHVibGlzaFN0YXR1cxIYChBnaWZ0X2ludml0ZV9jb2RlGBAgASgFEhcKD2NvdW50cnlfZGlzcGxheRgRIAEoCRIUCgxjaXR5X2Rpc3BsYXkYEiABKAkiFQoTVXBkYXRlRXZlbnRSZXNwb25zZSJyChFMaXN0RXZlbnRzUmVxdWVzdBIQCghldmVudF9pZBgBIAEoCRIqCgZzdGF0dXMYAiABKA4yGi5saXZlX2V2ZW50LnYxLkV2ZW50U3RhdHVzEgwKBHBhZ2UYAyABKAUSEQoJcGFnZV9zaXplGAQgASgFIk0KEkxpc3RFdmVudHNSZXNwb25zZRIoCgZldmVudHMYASADKAsyGC5saXZlX2V2ZW50LnYxLkV2ZW50SW5mbxINCgV0b3RhbBgCIAEoBSImChJEZWxldGVFdmVudFJlcXVlc3QSEAoIZXZlbnRfaWQYASABKAkiJgoTRGVsZXRlRXZlbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKF0dldEV2ZW50T3ZlcnZpZXdSZXF1ZXN0EhAKCGV2ZW50X2lkGAEgASgJIpoBChhHZXRFdmVudE92ZXJ2aWV3UmVzcG9uc2USGgoSdG90YWxfcGFydGljaXBhbnRzGAEgASgFEhYKDm5ld191c2VyX2NvdW50GAIgASgFEhsKE2V4aXN0aW5nX3VzZXJfY291bnQYAyABKAUSFQoNc2Vzc2lvbl9jb3VudBgEIAEoBRIWCg5jcmVkaXRzX2Nvc3RlZBgFIAEoBSJsChVMaXN0RXZlbnRVc2Vyc1JlcXVlc3QSEAoIZXZlbnRfaWQYASABKAkSFAoHdXNlcl9pZBgCIAEoCUgAiAEBEgwKBHBhZ2UYAyABKAUSEQoJcGFnZV9zaXplGAQgASgFQgoKCF91c2VyX2lkIlAKFkxpc3RFdmVudFVzZXJzUmVzcG9uc2USJwoFdXNlcnMYASADKAsyGC5saXZlX2V2ZW50LnYxLkV2ZW50VXNlchINCgV0b3RhbBgCIAEoBSKRAQoYTGlzdEV2ZW50U2Vzc2lvbnNSZXF1ZXN0EhAKCGV2ZW50X2lkGAEgASgJEhcKCnNlc3Npb25faWQYAiABKAlIAIgBARIMCgRwYWdlGAMgASgFEhEKCXBhZ2Vfc2l6ZRgEIAEoBRIRCgR1c2VyGAUgASgJSAGIAQFCDQoLX3Nlc3Npb25faWRCBwoFX3VzZXIiWQoZTGlzdEV2ZW50U2Vzc2lvbnNSZXNwb25zZRItCghzZXNzaW9ucxgBIAMoCzIbLmxpdmVfZXZlbnQudjEuRXZlbnRTZXNzaW9uEg0KBXRvdGFsGAIgASgFIp8FCglFdmVudEluZm8SCgoCaWQYASABKAUSEAoIZXZlbnRfaWQYAiABKAkSEgoKZXZlbnRfbmFtZRgDIAEoCRIMCgRob3N0GAQgASgJEi4KCnN0YXJ0X3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdjb3VudHJ5GAcgASgJEg4KBnJlZ2lvbhgIIAEoCRIPCgdhZGRyZXNzGAkgASgJEh8KF2FsbG93X2ZyZWVfcmVnaXN0cmF0aW9uGAogASgIEiEKGWdpdmVfdGVtcG9yYXJ5X21lbWJlcnNoaXAYCyABKAgSFAoMZnJlZV9jcmVkaXRzGAwgASgFEhUKDWV2ZW50X2NyZWRpdHMYDSABKAUSGAoQbWF4X3BhcnRpY2lwYW50cxgOIAEoBRIcChRjdXJyZW50X3BhcnRpY2lwYW50cxgPIAEoBRIqCgZzdGF0dXMYECABKA4yGi5saXZlX2V2ZW50LnYxLkV2ZW50U3RhdHVzEjQKDnB1Ymxpc2hfc3RhdHVzGBEgASgOMhwubGl2ZV9ldmVudC52MS5QdWJsaXNoU3RhdHVzEi4KCmNyZWF0ZWRfYXQYEiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnFyY29kZRgUIAEoCRIYChBnaWZ0X2ludml0ZV9jb2RlGBUgASgFEhcKD2NvdW50cnlfZGlzcGxheRgWIAEoCRIUCgxjaXR5X2Rpc3BsYXkYFyABKAkigAEKCUV2ZW50VXNlchIPCgd1c2VyX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJEhAKCHVzZXJuYW1lGAMgASgJEjEKDXJlZ2lzdGVyX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBmlzX25ldxgFIAEoCCKdAQoMRXZlbnRTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSFgoOY3JlZGl0c19jb3N0ZWQYAyABKAUSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEQoJaXNfc2hhcmVkGAUgASgIEg8KB3VzZXJfaWQYBiABKAkqeAoLRXZlbnRTdGF0dXMSHAoYRVZFTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVRVZFTlRfU1RBVFVTX1VQQ09NSU5HEAESGAoURVZFTlRfU1RBVFVTX09OR09JTkcQAhIWChJFVkVOVF9TVEFUVVNfRU5ERUQQAzKmBQoVTGl2ZUV2ZW50QWRtaW5TZXJ2aWNlElYKC0NyZWF0ZUV2ZW50EiEubGl2ZV9ldmVudC52MS5DcmVhdGVFdmVudFJlcXVlc3QaIi5saXZlX2V2ZW50LnYxLkNyZWF0ZUV2ZW50UmVzcG9uc2UiABJWCgtVcGRhdGVFdmVudBIhLmxpdmVfZXZlbnQudjEuVXBkYXRlRXZlbnRSZXF1ZXN0GiIubGl2ZV9ldmVudC52MS5VcGRhdGVFdmVudFJlc3BvbnNlIgASUwoKTGlzdEV2ZW50cxIgLmxpdmVfZXZlbnQudjEuTGlzdEV2ZW50c1JlcXVlc3QaIS5saXZlX2V2ZW50LnYxLkxpc3RFdmVudHNSZXNwb25zZSIAElYKC0RlbGV0ZUV2ZW50EiEubGl2ZV9ldmVudC52MS5EZWxldGVFdmVudFJlcXVlc3QaIi5saXZlX2V2ZW50LnYxLkRlbGV0ZUV2ZW50UmVzcG9uc2UiABJlChBHZXRFdmVudE92ZXJ2aWV3EiYubGl2ZV9ldmVudC52MS5HZXRFdmVudE92ZXJ2aWV3UmVxdWVzdBonLmxpdmVfZXZlbnQudjEuR2V0RXZlbnRPdmVydmlld1Jlc3BvbnNlIgASXwoOTGlzdEV2ZW50VXNlcnMSJC5saXZlX2V2ZW50LnYxLkxpc3RFdmVudFVzZXJzUmVxdWVzdBolLmxpdmVfZXZlbnQudjEuTGlzdEV2ZW50VXNlcnNSZXNwb25zZSIAEmgKEUxpc3RFdmVudFNlc3Npb25zEicubGl2ZV9ldmVudC52MS5MaXN0RXZlbnRTZXNzaW9uc1JlcXVlc3QaKC5saXZlX2V2ZW50LnYxLkxpc3RFdmVudFNlc3Npb25zUmVzcG9uc2UiAELAAQoRY29tLmxpdmVfZXZlbnQudjFCE0xpdmVFdmVudEFkbWluUHJvdG9QAVpFZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2xpdmVfZXZlbnQvdjE7bGl2ZV9ldmVudHYxogIDTFhYqgIMTGl2ZUV2ZW50LlYxygIMTGl2ZUV2ZW50XFYx4gIYTGl2ZUV2ZW50XFYxXEdQQk1ldGFkYXRh6gINTGl2ZUV2ZW50OjpWMWIGcHJvdG8z",[te,Qs]),W2=M(C2,0),B2=z("Ch5saXZlX2V2ZW50L3YxL2xpdmVfZXZlbnQucHJvdG8SDWxpdmVfZXZlbnQudjEiQQoVQ2hlY2tMaXZlRXZlbnRSZXF1ZXN0EhUKDWxpdmVfZXZlbnRfaWQYASABKAkSEQoJZGV2aWNlX2lkGAIgASgJIhgKFkNoZWNrTGl2ZUV2ZW50UmVzcG9uc2UycwoQTGl2ZUV2ZW50U2VydmljZRJfCg5DaGVja0xpdmVFdmVudBIkLmxpdmVfZXZlbnQudjEuQ2hlY2tMaXZlRXZlbnRSZXF1ZXN0GiUubGl2ZV9ldmVudC52MS5DaGVja0xpdmVFdmVudFJlc3BvbnNlIgBCuwEKEWNvbS5saXZlX2V2ZW50LnYxQg5MaXZlRXZlbnRQcm90b1ABWkVnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvbGl2ZV9ldmVudC92MTtsaXZlX2V2ZW50djGiAgNMWFiqAgxMaXZlRXZlbnQuVjHKAgxMaXZlRXZlbnRcVjHiAhhMaXZlRXZlbnRcVjFcR1BCTWV0YWRhdGHqAg1MaXZlRXZlbnQ6OlYxYgZwcm90bzM"),N2=M(B2,0),F2=z("CiVsaXZlX2V2ZW50L3YxL2xpdmVfZXZlbnRfcHVibGljLnByb3RvEg1saXZlX2V2ZW50LnYxIicKE0dldExpdmVFdmVudFJlcXVlc3QSEAoIZXZlbnRfaWQYASABKAkiqQMKFEdldExpdmVFdmVudFJlc3BvbnNlEhAKCGV2ZW50X2lkGAEgASgJEhIKCmV2ZW50X25hbWUYAiABKAkSDAoEaG9zdBgDIAEoCRIuCgpzdGFydF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHYWRkcmVzcxgGIAEoCRIfChdhbGxvd19mcmVlX3JlZ2lzdHJhdGlvbhgHIAEoCBIhChlnaXZlX3RlbXBvcmFyeV9tZW1iZXJzaGlwGAggASgIEhQKDGZyZWVfY3JlZGl0cxgJIAEoBRIVCg1ldmVudF9jcmVkaXRzGAogASgFEhgKEG1heF9wYXJ0aWNpcGFudHMYCyABKAUSNAoOcHVibGlzaF9zdGF0dXMYDCABKA4yHC5saXZlX2V2ZW50LnYxLlB1Ymxpc2hTdGF0dXMSFwoPY291bnRyeV9kaXNwbGF5GA0gASgJEhQKDGNpdHlfZGlzcGxheRgOIAEoCTJzChZMaXZlRXZlbnRQdWJsaWNTZXJ2aWNlElkKDEdldExpdmVFdmVudBIiLmxpdmVfZXZlbnQudjEuR2V0TGl2ZUV2ZW50UmVxdWVzdBojLmxpdmVfZXZlbnQudjEuR2V0TGl2ZUV2ZW50UmVzcG9uc2UiAELBAQoRY29tLmxpdmVfZXZlbnQudjFCFExpdmVFdmVudFB1YmxpY1Byb3RvUAFaRWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9saXZlX2V2ZW50L3YxO2xpdmVfZXZlbnR2MaICA0xYWKoCDExpdmVFdmVudC5WMcoCDExpdmVFdmVudFxWMeICGExpdmVFdmVudFxWMVxHUEJNZXRhZGF0YeoCDUxpdmVFdmVudDo6VjFiBnByb3RvMw",[te,Qs]),Y2=M(F2,0),Ls=z("Chd1c2VyL3YxL3VzZXJfYXV0aC5wcm90bxIHdXNlci52MSJDChVVcGRhdGVQYXNzd29yZFJlcXVlc3QSFAoMb2xkX3Bhc3N3b3JkGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIYChZVcGRhdGVQYXNzd29yZFJlc3BvbnNlIg8KDUxvZ291dFJlcXVlc3QiEAoOTG9nb3V0UmVzcG9uc2UiKAoRRGVsZXRlVXNlclJlcXVlc3QSEwoLdmVyaWZ5X2NvZGUYASABKAkiFAoSRGVsZXRlVXNlclJlc3BvbnNlIk4KIlNlbmRFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlcXVlc3QSKAoGYWN0aW9uGAEgASgOMhgudXNlci52MS5TZW5kRW1haWxBY3Rpb24iJQojU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhBdXRoUmVzcG9uc2UiRQocUmVzZXRQYXNzd29yZFdpdGhBdXRoUmVxdWVzdBITCgt2ZXJpZnlfY29kZRgBIAEoCRIQCghwYXNzd29yZBgCIAEoCSIfCh1SZXNldFBhc3N3b3JkV2l0aEF1dGhSZXNwb25zZSIdChtHZW5lcmF0ZVRlbXBBdXRoQ29kZVJlcXVlc3QiLQocR2VuZXJhdGVUZW1wQXV0aENvZGVSZXNwb25zZRINCgV0b2tlbhgBIAEoCSq8AQoPU2VuZEVtYWlsQWN0aW9uEiEKHVNFTkRfRU1BSUxfQUNUSU9OX1VOU1BFQ0lGSUVEEAASHgoaU0VORF9FTUFJTF9BQ1RJT05fUkVHSVNURVIQARIkCiBTRU5EX0VNQUlMX0FDVElPTl9SRVNFVF9QQVNTV09SRBACEhwKGFNFTkRfRU1BSUxfQUNUSU9OX0xPR09GRhADEiIKHlNFTkRfRU1BSUxfQUNUSU9OX0RJU01JU1NfVEVBTRAEMtoDCg9Vc2VyQXV0aFNlcnZpY2USOQoGTG9nb3V0EhYudXNlci52MS5Mb2dvdXRSZXF1ZXN0GhcudXNlci52MS5Mb2dvdXRSZXNwb25zZRJFCgpEZWxldGVVc2VyEhoudXNlci52MS5EZWxldGVVc2VyUmVxdWVzdBobLnVzZXIudjEuRGVsZXRlVXNlclJlc3BvbnNlEngKG1NlbmRFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aBIrLnVzZXIudjEuU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhBdXRoUmVxdWVzdBosLnVzZXIudjEuU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhBdXRoUmVzcG9uc2USZgoVUmVzZXRQYXNzd29yZFdpdGhBdXRoEiUudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aEF1dGhSZXF1ZXN0GiYudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aEF1dGhSZXNwb25zZRJjChRHZW5lcmF0ZVRlbXBBdXRoQ29kZRIkLnVzZXIudjEuR2VuZXJhdGVUZW1wQXV0aENvZGVSZXF1ZXN0GiUudXNlci52MS5HZW5lcmF0ZVRlbXBBdXRoQ29kZVJlc3BvbnNlQpQBCgtjb20udXNlci52MUINVXNlckF1dGhQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z"),U2=M(Ls,0),Wr=z("Chd1c2VyL3YxL3VzZXJfYmFzZS5wcm90bxIHdXNlci52MSqJAQoPTWFudXNWaXBWZXJzaW9uEiEKHU1BTlVTX1ZJUF9WRVJTSU9OX1VOU1BFQ0lGSUVEEAASGgoWTUFOVVNfVklQX1ZFUlNJT05fRlJFRRABEhwKGE1BTlVTX1ZJUF9WRVJTSU9OX0NBU1VBTBACEhkKFU1BTlVTX1ZJUF9WRVJTSU9OX1BSTxADKuUCChJJbnZpdGF0aW9uQ29kZUtpbmQSJAogSU5WSVRBVElPTl9DT0RFX0tJTkRfVU5TUEVDSUZJRUQQABIgChxJTlZJVEFUSU9OX0NPREVfS0lORF9CVUlMVElOEAESHQoZSU5WSVRBVElPTl9DT0RFX0tJTkRfVVNFUhACEiIKHklOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfRk9STRADEiIKHklOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfVVNFUhAEEiUKIUlOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfQ0hBTk5FTBAFEiYKIklOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfV0FJVExJU1QQBhIkCiBJTlZJVEFUSU9OX0NPREVfS0lORF9GSVNTSU9OQUJMRRAHEisKJ0lOVklUQVRJT05fQ09ERV9LSU5EX0NBTVBVU19GSVNTSU9OQUJMRRAIKl4KC0Jsb2NrZWRUeXBlEhwKGEJMT0NLRURfVFlQRV9VTlNQRUNJRklFRBAAEhgKFEJMT0NLRURfVFlQRV9BQ0NPVU5UEAESFwoTQkxPQ0tFRF9UWVBFX1NIVVRVUBACKqYECg9CbG9ja1JlYXNvblR5cGUSIQodQkxPQ0tfUkVBU09OX1RZUEVfVU5TUEVDSUZJRUQQABIbChdCTE9DS19SRUFTT05fVFlQRV9PVEhFUhABEiEKHUJMT0NLX1JFQVNPTl9UWVBFX1BPUk5PR1JBUEhZEAISHgoaQkxPQ0tfUkVBU09OX1RZUEVfUE9MSVRJQ1MQAxIfChtCTE9DS19SRUFTT05fVFlQRV9URVJST1JJU00QBBIbChdCTE9DS19SRUFTT05fVFlQRV9EUlVHUxAFEiMKH0JMT0NLX1JFQVNPTl9UWVBFX0FUVEFDS19TWVNURU0QBhIhCh1CTE9DS19SRUFTT05fVFlQRV9SRVBPUlRfTUFOWRAHEiIKHkJMT0NLX1JFQVNPTl9UWVBFX1NFTExfQUNDT1VOVBAIEhsKF0JMT0NLX1JFQVNPTl9UWVBFX0ZSQVVEEAkSGgoWQkxPQ0tfUkVBU09OX1RZUEVfU1BBTRAKEiQKIEJMT0NLX1JFQVNPTl9UWVBFX0lMTEVHQUxfUkVHSU9OEAsSJwojQkxPQ0tfUkVBU09OX1RZUEVfSUxMRUdBTF9USU1FX1pPTkUQDBIgChxCTE9DS19SRUFTT05fVFlQRV9JTExFR0FMX1VBEA0SIAocQkxPQ0tfUkVBU09OX1RZUEVfSUxMRUdBTF9JUBAOEhoKFkJMT0NLX1JFQVNPTl9UWVBFX1JJU0sQDyqmAwoOTGlzdFJlY29yZFR5cGUSIAocTElTVF9SRUNPUkRfVFlQRV9VTlNQRUNJRklFRBAAEhkKFUxJU1RfUkVDT1JEX1RZUEVfR0lGVBABEhsKF0xJU1RfUkVDT1JEX1RZUEVfREVEVUNUEAISGwoXTElTVF9SRUNPUkRfVFlQRV9DSEFSR0UQAxIhCh1MSVNUX1JFQ09SRF9UWVBFX1VTRVJfRElTUExBWRAEEiIKHkxJU1RfUkVDT1JEX1RZUEVfQURNSU5fRElTUExBWRAFEhkKFUxJU1RfUkVDT1JEX1RZUEVfQ09TVBAGEh0KGUxJU1RfUkVDT1JEX1RZUEVfUk9MTEJBQ0sQBxIeChpMSVNUX1JFQ09SRF9UWVBFX1JBVEVfR0lGVBAIEhsKF0xJU1RfUkVDT1JEX1RZUEVfUkVGVU5EEAkSIAocTElTVF9SRUNPUkRfVFlQRV9JTlZJVEVfR0lGVBAKEh8KG0xJU1RfUkVDT1JEX1RZUEVfTElWRV9FVkVOVBALEhwKGExJU1RfUkVDT1JEX1RZUEVfUkVGUkVTSBAMKqABCgpDcmVkaXRUeXBlEhsKF0NSRURJVF9UWVBFX1VOU1BFQ0lGSUVEEAASFAoQQ1JFRElUX1RZUEVfRlJFRRABEhgKFENSRURJVF9UWVBFX1BFUklPRElDEAISFQoRQ1JFRElUX1RZUEVfQURET04QAxIVChFDUkVESVRfVFlQRV9FVkVOVBAEEhcKE0NSRURJVF9UWVBFX1JFRlJFU0gQBSrzAgoNQ3JlZGl0TG9nVHlwZRIfChtDUkVESVRfTE9HX1RZUEVfVU5TUEVDSUZJRUQQABIYChRDUkVESVRfTE9HX1RZUEVfQ09TVBABEhwKGENSRURJVF9MT0dfVFlQRV9ST0xMQkFDSxACEiQKIENSRURJVF9MT0dfVFlQRV9TVUJTQ1JJQkVfQ0FTVUFMEAMSIQodQ1JFRElUX0xPR19UWVBFX1NVQlNDUklCRV9QUk8QBBIfChtDUkVESVRfTE9HX1RZUEVfVVBHUkFERV9QUk8QBRIeChpDUkVESVRfTE9HX1RZUEVfQURET05fMTkwMBAGEh4KGkNSRURJVF9MT0dfVFlQRV9BRERPTl85OTAwEAcSHQoZQ1JFRElUX0xPR19UWVBFX0FETUlOX0FERBAIEiAKHENSRURJVF9MT0dfVFlQRV9BRE1JTl9ERURVQ1QQCRIeChpDUkVESVRfTE9HX1RZUEVfQ1JFRElUX0FMTBAKKkYKDEFjdGl2aXR5VHlwZRIdChlBQ1RJVklUWV9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTQUNUSVZJVFlfVFlQRV9QRVJLUxABKlUKDFVzZXJUeXBlRW51bRIZChVVU0VSX1RZUEVfVU5TUEVDSUZJRUQQABIWChJVU0VSX1RZUEVfUEVSU09OQUwQARISCg5VU0VSX1RZUEVfVEVBTRACQpQBCgtjb20udXNlci52MUINVXNlckJhc2VQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z"),J2=z("Chh1c2VyL3YxL3VzZXJfYWRtaW4ucHJvdG8SB3VzZXIudjEiiQEKIkxvb3BVcGRhdGVVc2VyQ3JlZGl0U3RhdHVzUmVzcG9uc2USDQoFY291bnQYASABKAUSDQoFdG90YWwYAiABKAUSLwoGc3RhdHVzGAMgASgOMh8udXNlci52MS5VcGRhdGVVc2VyQ3JlZGl0U3RhdHVzEhQKDGZhaWxlZF91c2VycxgEIAMoCSI0CiFMb29wVXBkYXRlVXNlckNyZWRpdFN0YXR1c1JlcXVlc3QSDwoHdGFza19pZBgBIAEoCSJJChVMaXN0VXNlclZpcExvZ1JlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCRIMCgRwYWdlGAIgASgFEhEKCXBhZ2Vfc2l6ZRgDIAEoBSJGChZMaXN0VXNlclZpcExvZ1Jlc3BvbnNlEh0KBGxvZ3MYASADKAsyDy51c2VyLnYxLlZpcExvZxINCgV0b3RhbBgCIAEoBSJ6CgZWaXBMb2cSDwoHdXNlcl9pZBgBIAEoCRITCgt2aXBfdmVyc2lvbhgCIAEoCRIUCgxwZXJpb2Rfc3RhcnQYAyABKAUSEgoKcGVyaW9kX2VuZBgEIAEoBRIQCghvcGVyYXRvchgFIAEoCRIOCgZyZWFzb24YBiABKAkicgoEVXNlchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJEhMKC3ZpcF92ZXJzaW9uGAQgASgJEhoKEmN1cnJlbnRfcGVyaW9kX2VuZBgFIAEoAxIQCghpc190cmlhbBgGIAEoCCI/ChBMaXN0VXNlclJlc3BvbnNlEhwKBXVzZXJzGAEgAygLMg0udXNlci52MS5Vc2VyEg0KBXRvdGFsGAIgASgFIkMKD0xpc3RVc2VyUmVxdWVzdBIPCgd1c2VyX2lkGAEgASgJEgwKBHBhZ2UYAiABKAUSEQoJcGFnZV9zaXplGAMgASgFIhYKFEFkbWluR2lmdFZpcFJlc3BvbnNlIoEBChNBZG1pbkdpZnRWaXBSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSLQoLdmlwX3ZlcnNpb24YAiABKA4yGC51c2VyLnYxLk1hbnVzVmlwVmVyc2lvbhIaChJjdXJyZW50X3BlcmlvZF9lbmQYAyABKAMSDgoGcmVhc29uGAQgASgJIjcKFEdldFVzZXJRdW90YVJlc3BvbnNlEhIKCmxlZnRfcXVvdGEYASABKAUSCwoDdHRsGAIgASgDIiYKE0dldFVzZXJRdW90YVJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSJZChxMaXN0VXNlckNyZWRpdFJlY29yZFJlc3BvbnNlEioKB3JlY29yZHMYASADKAsyGS51c2VyLnYxLlVzZXJDcmVkaXRSZWNvcmQSDQoFdG90YWwYAiABKAUi4wIKEFVzZXJDcmVkaXRSZWNvcmQSDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB2NyZWRpdHMYBSABKAUSKAoLY3JlZGl0X3R5cGUYBiABKA4yEy51c2VyLnYxLkNyZWRpdFR5cGUSDQoFZW1haWwYByABKAkSEAoIb3BlcmF0b3IYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKgoEdHlwZRgKIAEoDjIcLnVzZXIudjEuVXBkYXRlQ3JlZGl0T3BlcmF0ZRIOCgZyZWFzb24YCyABKAkSFAoMc2Vzc2lvblRpdGxlGAwgASgJEhEKCXNlc3Npb25JZBgNIAEoCRIfChdzeXN0ZW1fcm9sbGJhY2tfY3JlZGl0cxgOIAEoBRIeChZhZG1pbl9yb2xsYmFja19jcmVkaXRzGA8gASgFIpQBChtMaXN0VXNlckNyZWRpdFJlY29yZFJlcXVlc3QSFAoHdXNlcl9pZBgBIAEoCUgAiAEBEjIKDHJlY29yZF90eXBlcxgCIAMoDjIcLnVzZXIudjEuVXBkYXRlQ3JlZGl0T3BlcmF0ZRIMCgRwYWdlGAMgASgFEhEKCXBhZ2Vfc2l6ZRgEIAEoBUIKCghfdXNlcl9pZCI4ChhVcGRhdGVVc2VyQ3JlZGl0UmVzcG9uc2USCwoDbXNnGAEgASgJEg8KB3Rhc2tfaWQYAiABKAkiuwEKF1VwZGF0ZVVzZXJDcmVkaXRSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSDwoHY3JlZGl0cxgCIAEoBRIhCgR0eXBlGAMgASgOMhMudXNlci52MS5DcmVkaXRUeXBlEg4KBnJlYXNvbhgEIAEoCRItCgdvcGVyYXRlGAUgASgOMhwudXNlci52MS5VcGRhdGVDcmVkaXRPcGVyYXRlEg0KBXVzZXJzGAYgAygJEg0KBWVtYWlsGAsgASgJIlYKFkxpc3RVc2VyQ3JlZGl0UmVzcG9uc2USLQoMdXNlcl9jcmVkaXRzGAEgAygLMhcudXNlci52MS5Vc2VyQ3JlZGl0SW5mbxINCgV0b3RhbBgCIAEoBSLKAQoOVXNlckNyZWRpdEluZm8SDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEhQKDGZyZWVfY3JlZGl0cxgDIAEoBRIYChBwZXJpb2RpY19jcmVkaXRzGAQgASgFEhUKDWFkZG9uX2NyZWRpdHMYBSABKAUSFQoNdG90YWxfY3JlZGl0cxgGIAEoBRINCgVlbWFpbBgHIAEoCRITCgt2aXBfdmVyc2lvbhgIIAEoCRIXCg9yZWZyZXNoX2NyZWRpdHMYCSABKAUiewoVTGlzdFVzZXJDcmVkaXRSZXF1ZXN0EhQKB3VzZXJfaWQYASABKAlIAIgBARIRCgRwYWdlGAIgASgFSAGIAQESFgoJcGFnZV9zaXplGAMgASgFSAKIAQFCCgoIX3VzZXJfaWRCBwoFX3BhZ2VCDAoKX3BhZ2Vfc2l6ZSK6AgobQ3JlYXRlSW52aXRhdGlvbkNvZGVSZXF1ZXN0Ei4KBGtpbmQYASABKA4yGy51c2VyLnYxLkludml0YXRpb25Db2RlS2luZEgAiAEBEhAKCG1heF91c2VzGAIgASgFEhgKBWNvdW50GAMgASgFQgm6SAYaBBhkKAESGQoFdXNlcnMYBCADKAlCCrpIB5IBBBDQhgMSFAoDdGFnGAUgASgJQge6SARyAhhAEiMKC2ludml0ZV9jb2RlGAYgASgJQgm6SAZyBBAGGCBIAYgBARIOCgZyZW1hcmsYCCABKAkSHgoNZmlzc2lvbl9jb3VudBgJIAEoBUIHukgEGgIYZBIUCgdjcmVkaXRzGAogASgFSAKIAQFCBwoFX2tpbmRCDgoMX2ludml0ZV9jb2RlQgoKCF9jcmVkaXRzIlUKHENyZWF0ZUludml0YXRpb25Db2RlUmVzcG9uc2USNQoQaW52aXRhdGlvbl9jb2RlcxgBIAMoCzIbLnVzZXIudjEuSW52aXRhdGlvbkNvZGVJbmZvIrYCChJJbnZpdGF0aW9uQ29kZUluZm8SCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRITCgtpbnZpdGVfY29kZRgDIAEoCRIpCgRraW5kGAQgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmQSFAoMaXNfYWN0aXZhdGVkGAUgASgIEhAKCG1heF91c2VzGAYgASgFEhIKCnVzZWRfY291bnQYByABKAUSEgoKY3JlYXRlZF9ieRgIIAEoCRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBILCgN0YWcYCiABKAkSDgoGcmVtYXJrGAsgASgJEhUKDWZpc3Npb25fY291bnQYDCABKAUSDwoHY3JlZGl0cxgNIAEoBSKwAQoaTGlzdEludml0YXRpb25Db2Rlc1JlcXVlc3QSFQoEcGFnZRgBIAEoBUIHukgEGgIgABIcCglwYWdlX3NpemUYAiABKAVCCbpIBhoEGGQgABIqCgVraW5kcxgDIAMoDjIbLnVzZXIudjEuSW52aXRhdGlvbkNvZGVLaW5kEg8KB3VzZXJfaWQYBCABKAkSEwoLaW52aXRlX2NvZGUYBSABKAkSCwoDdGFnGAYgASgJImMKG0xpc3RJbnZpdGF0aW9uQ29kZXNSZXNwb25zZRI1ChBpbnZpdGF0aW9uX2NvZGVzGAEgAygLMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUluZm8SDQoFdG90YWwYAiABKAMiNwodR2V0SW52aXRhdGlvbkNvZGVVc2FnZVJlcXVlc3QSFgoOaW52aXRlX2NvZGVfaWQYAiABKAMikQEKFkludml0YXRpb25SZWxhdGlvbkluZm8SCgoCaWQYASABKAMSEgoKaW52aXRlcl9pZBgCIAEoCRISCgppbnZpdGVlX2lkGAMgASgJEhMKC2ludml0ZV9jb2RlGAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIooBCh5HZXRJbnZpdGF0aW9uQ29kZVVzYWdlUmVzcG9uc2USNAoPaW52aXRhdGlvbl9jb2RlGAEgASgLMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUluZm8SMgoJcmVsYXRpb25zGAIgAygLMh8udXNlci52MS5JbnZpdGF0aW9uUmVsYXRpb25JbmZvItwCChtVcGRhdGVJbnZpdGF0aW9uQ29kZVJlcXVlc3QSMgoGc3RhdHVzGAIgASgOMh0udXNlci52MS5JbnZpdGF0aW9uQ29kZVN0YXR1c0gAiAEBEiIKCG1heF91c2VzGAMgASgFQgu6SAgaBhigjQYoAEgBiAEBEhYKDmludml0ZV9jb2RlX2lkGAQgASgDEg4KBnJlbWFyaxgFIAEoCRIlCg1maXNzaW9uX2NvdW50GAYgASgFQgm6SAYaBBhkIABIAogBARIuCgRraW5kGAcgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmRIA4gBARIUCgdjcmVkaXRzGAggASgFSASIAQFCCQoHX3N0YXR1c0ILCglfbWF4X3VzZXNCEAoOX2Zpc3Npb25fY291bnRCBwoFX2tpbmRCCgoIX2NyZWRpdHNKBAgBEAJSC2ludml0ZV9jb2RlIh4KHFVwZGF0ZUludml0YXRpb25Db2RlUmVzcG9uc2UizAIKHkdldEludml0YXRpb25TdGF0aXN0aWNzUmVxdWVzdBIuCgpzdGFydF90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoMaW52aXRlX2NvZGVzGAMgAygJEkwKC2dyYW51bGFyaXR5GAQgASgOMjcudXNlci52MS5HZXRJbnZpdGF0aW9uU3RhdGlzdGljc1JlcXVlc3QuVGltZUdyYW51bGFyaXR5ImgKD1RpbWVHcmFudWxhcml0eRIgChxUSU1FX0dSQU5VTEFSSVRZX1VOU1BFQ0lGSUVEEAASGAoUVElNRV9HUkFOVUxBUklUWV9EQVkQARIZChVUSU1FX0dSQU5VTEFSSVRZX0hPVVIQAiLMAQoUSW52aXRhdGlvblN0YXRpc3RpY3MSEwoLdG90YWxfY29kZXMYASABKAMSEgoKdXNlZF9jb2RlcxgCIAEoAxIUCgx1bnVzZWRfY29kZXMYAyABKAMSFgoOdG90YWxfaW52aXRlZXMYBCABKAMSMQoLZGFpbHlfc3RhdHMYBSADKAsyHC51c2VyLnYxLkRhaWx5SW52aXRhdGlvblN0YXQSKgoMdG9wX2ludml0ZXJzGAYgAygLMhQudXNlci52MS5JbnZpdGVyU3RhdCJrChNEYWlseUludml0YXRpb25TdGF0EgwKBGRhdGUYASABKAkSFQoNaW52aXRlZV9jb3VudBgCIAEoBRIaChJjb2RlX2NyZWF0ZWRfY291bnQYAyABKAUSEwoLaW52aXRlX2NvZGUYBCABKAkiSgoLSW52aXRlclN0YXQSEgoKaW52aXRlcl9pZBgBIAEoCRIQCghuaWNrbmFtZRgCIAEoCRIVCg1pbnZpdGVlX2NvdW50GAMgASgFIlQKH0dldEludml0YXRpb25TdGF0aXN0aWNzUmVzcG9uc2USMQoKc3RhdGlzdGljcxgBIAEoCzIdLnVzZXIudjEuSW52aXRhdGlvblN0YXRpc3RpY3MimwQKDFdhaXRsaXN0SW5mbxIKCgJpZBgBIAEoAxIUCgxjb250YWN0X3R5cGUYAiABKAkSFQoNY29udGFjdF92YWx1ZRgDIAEoCRIOCgZyZWFzb24YBCABKAkSKwoKZXh0cmFfZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoGc3RhdHVzGAYgASgOMhcudXNlci52MS5XYWl0bGlzdFN0YXR1cxIPCgd1c2VyX2lkGAcgASgJEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FwcHJvdmVfdXNlcl9pZBgKIAEoCRITCgtjb3VudHJ5X2lzbxgLIAEoCRIvCgthcHByb3ZlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKd29ya19lbWFpbBgNIAEoCRISCgpwcm9mZXNzaW9uGA4gASgJEhwKFHNvY2lhbF9tZWRpYV9hY2NvdW50GA8gASgJEhAKCGluZHVzdHJ5GBAgASgJEhcKD2ludml0YXRpb25fY29kZRgRIAEoCRIRCgl0aW1lX3pvbmUYEiABKAkSGAoQdGltZV96b25lX29mZnNldBgTIAEoCSKAAwoTTGlzdFdhaXRsaXN0UmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEiwKBnN0YXR1cxgDIAEoDjIXLnVzZXIudjEuV2FpdGxpc3RTdGF0dXNIAIgBARIVCg1jb250YWN0X3ZhbHVlGAQgASgJEhUKDWxhbmd1YWdlX2xpc3QYBSADKAkSIAoTZXhjbHVkZV96aF9jbl91c2VycxgGIAEoCEgBiAEBEhkKEWVtYWlsX2RvbWFpbl9saXN0GAcgAygJEhgKEGNvdW50cnlfaXNvX2xpc3QYCCADKAkSHgoWd29ya19lbWFpbF9kb21haW5fbGlzdBgJIAMoCRIjChZleGNsdWRlX2NoaW5lc2VfcmVhc29uGAogASgISAKIAQFCCQoHX3N0YXR1c0IWChRfZXhjbHVkZV96aF9jbl91c2Vyc0IZChdfZXhjbHVkZV9jaGluZXNlX3JlYXNvbiJUChRMaXN0V2FpdGxpc3RSZXNwb25zZRItCg53YWl0bGlzdF9pdGVtcxgBIAMoCzIVLnVzZXIudjEuV2FpdGxpc3RJbmZvEg0KBXRvdGFsGAIgASgDInIKG1VwZGF0ZVdhaXRsaXN0U3RhdHVzUmVxdWVzdBIzCgZzdGF0dXMYAiABKA4yFy51c2VyLnYxLldhaXRsaXN0U3RhdHVzQgq6SAeCAQQQASAAEh4KDHdhaXRsaXN0X2lkcxgDIAMoA0IIukgFkgECEGQiHgocVXBkYXRlV2FpdGxpc3RTdGF0dXNSZXNwb25zZSI5ChNHZXRBZG1pbkluZm9SZXF1ZXN0EhUKCGFkbWluX2lkGAEgASgJSACIAQFCCwoJX2FkbWluX2lkIpgCCglBZG1pbkluZm8SDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJEhEKCXJvbGVfa2V5cxgEIAMoCRIOCgZhdmF0YXIYBSABKAkSMwoPbGFzdF9sb2dpbl90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgpleHRyYV9kYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIoCgtwZXJtaXNzaW9ucxgJIAMoCzITLnVzZXIudjEuUGVybWlzc2lvbiKqAQoKUGVybWlzc2lvbhImCgRyb2xlGAEgASgOMhgudXNlci52MS5QZXJtaXNzaW9uLlJvbGUSFAoMcHJvZHVjdF9uYW1lGAIgASgJEg4KBm1vZHVsZRgDIAEoCSJOCgRSb2xlEhQKEFJPTEVfVU5TUEVDSUZJRUQQABIOCgpST0xFX0FETUlOEAESDwoLUk9MRV9FRElUT1IQAhIPCgtST0xFX1ZJRVdFUhADIj4KFEdldEFkbWluSW5mb1Jlc3BvbnNlEiYKCmFkbWluX2luZm8YASABKAsyEi51c2VyLnYxLkFkbWluSW5mbyKmAQoMV2FpdGxpc3RSdWxlEicKBHR5cGUYASABKA4yGS51c2VyLnYxLldhaXRsaXN0UnVsZVR5cGUSFQoNc3RyaW5nX3ZhbHVlcxgCIAMoCRIRCglpbnRfdmFsdWUYAyABKAUSLgoKdGltZV92YWx1ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLZmxvYXRfdmFsdWUYBSABKAEirwIKHUNyZWF0ZVdhaXRsaXN0QXV0b1Rhc2tSZXF1ZXN0Eg8KAmlkGAEgASgDSACIAQESFwoEbmFtZRgCIAEoCUIJukgGcgQQARhAEiQKBXJ1bGVzGAMgAygLMhUudXNlci52MS5XYWl0bGlzdFJ1bGUSKwoGYWN0aW9uGAQgASgOMhsudXNlci52MS5XYWl0bGlzdEF1dG9BY3Rpb24SLwoGc3RhdHVzGAUgASgOMh8udXNlci52MS5XYWl0bGlzdEF1dG9UYXNrU3RhdHVzEhUKDWFwcHJvdmFsX3JhdGUYBiABKAUSIQoZYXBwcm92YWxfaW50ZXJ2YWxfbWludXRlcxgHIAEoBRIfChdvcmRlcl9ieV9jcmVhdGVkX2F0X2FzYxgIIAEoCEIFCgNfaWQiLAoeQ3JlYXRlV2FpdGxpc3RBdXRvVGFza1Jlc3BvbnNlEgoKAmlkGAEgASgDIpwDChRXYWl0bGlzdEF1dG9UYXNrSW5mbxIKCgJpZBgBIAEoAxIMCgRuYW1lGAIgASgJEiQKBXJ1bGVzGAMgAygLMhUudXNlci52MS5XYWl0bGlzdFJ1bGUSKwoGYWN0aW9uGAQgASgOMhsudXNlci52MS5XYWl0bGlzdEF1dG9BY3Rpb24SLwoGc3RhdHVzGAUgASgOMh8udXNlci52MS5XYWl0bGlzdEF1dG9UYXNrU3RhdHVzEhUKDWFwcHJvdmFsX3JhdGUYBiABKAUSIQoZYXBwcm92YWxfaW50ZXJ2YWxfbWludXRlcxgHIAEoBRISCgpjcmVhdGVkX2J5GAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3Byb2Nlc3NlZF9jb3VudBgLIAEoAxIfChdvcmRlcl9ieV9jcmVhdGVkX2F0X2FzYxgMIAEoCCLQAQobTGlzdFdhaXRsaXN0QXV0b1Rhc2tSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESNAoGc3RhdHVzGAMgASgOMh8udXNlci52MS5XYWl0bGlzdEF1dG9UYXNrU3RhdHVzSACIAQESMAoGYWN0aW9uGAQgASgOMhsudXNlci52MS5XYWl0bGlzdEF1dG9BY3Rpb25IAYgBAUIJCgdfc3RhdHVzQgkKB19hY3Rpb24iWwocTGlzdFdhaXRsaXN0QXV0b1Rhc2tSZXNwb25zZRIsCgV0YXNrcxgBIAMoCzIdLnVzZXIudjEuV2FpdGxpc3RBdXRvVGFza0luZm8SDQoFdG90YWwYAiABKAMiwwIKEVF1ZXN0aW9ubmFpcmVJbmZvEgoKAmlkGAEgASgDEg8KB3VzZXJfaWQYAiABKAkSDQoFZW1haWwYAyABKAkSDgoGcmVhc29uGAQgASgJEhIKCnByb2Zlc3Npb24YBSABKAkSHAoUc29jaWFsX21lZGlhX2FjY291bnQYBiABKAkSEAoIaW5kdXN0cnkYByABKAkSDAoEbmFtZRgIIAEoCRITCgtjb3VudHJ5X2lzbxgJIAEoCRIrCgpleHRyYV9kYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKVAgoYTGlzdFF1ZXN0aW9ubmFpcmVSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESFAoHdXNlcl9pZBgDIAEoCUgAiAEBEhIKBWVtYWlsGAQgASgJSAGIAQESGQoRZW1haWxfZG9tYWluX2xpc3QYBSADKAkSFQoNbGFuZ3VhZ2VfbGlzdBgGIAMoCRIgChNleGNsdWRlX3poX2NuX3VzZXJzGAcgASgISAKIAQESGAoQY291bnRyeV9pc29fbGlzdBgIIAMoCUIKCghfdXNlcl9pZEIICgZfZW1haWxCFgoUX2V4Y2x1ZGVfemhfY25fdXNlcnMiVQoZTGlzdFF1ZXN0aW9ubmFpcmVSZXNwb25zZRIpCgVpdGVtcxgBIAMoCzIaLnVzZXIudjEuUXVlc3Rpb25uYWlyZUluZm8SDQoFdG90YWwYAiABKAMiHgocR2V0U3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdCK7AQodR2V0U3lzdGVtTm90aWZpY2F0aW9uUmVzcG9uc2USCgoCaWQYASABKAUSDwoHdmVyc2lvbhgCIAEoBRITCgthbGxvd19jbG9zZRgDIAEoCBIsCghzdGFydF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKgoGZW5kX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZlbmFibGUYBiABKAgioQIKH1VwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QSDwoCaWQYASABKAVIAIgBARIUCgd2ZXJzaW9uGAIgASgFSAGIAQESGAoLYWxsb3dfY2xvc2UYAyABKAhIAogBARIxCghzdGFydF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARIvCgZlbmRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESEwoGZW5hYmxlGAYgASgISAWIAQFCBQoDX2lkQgoKCF92ZXJzaW9uQg4KDF9hbGxvd19jbG9zZUILCglfc3RhcnRfYXRCCQoHX2VuZF9hdEIJCgdfZW5hYmxlIiIKIFVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvblJlc3BvbnNlIhsKGUdldFBheW1lbnRTZXR0aW5nc1JlcXVlc3QiOAoaR2V0UGF5bWVudFNldHRpbmdzUmVzcG9uc2USGgoSZGlzYWJsaW5nX3BheW1lbnRzGAEgASgIIjoKHFVwZGF0ZVBheW1lbnRTZXR0aW5nc1JlcXVlc3QSGgoSZGlzYWJsaW5nX3BheW1lbnRzGAEgASgIIh8KHVVwZGF0ZVBheW1lbnRTZXR0aW5nc1Jlc3BvbnNlIhoKGEdldENOVGltZVpvbmVMaXN0UmVxdWVzdCJSChlHZXRDTlRpbWVab25lTGlzdFJlc3BvbnNlEhoKEmRlZmF1bHRfdGltZV96b25lcxgBIAMoCRIZChFlZGl0ZWRfdGltZV96b25lcxgCIAMoCSIxChtVcGRhdGVDTlRpbWVab25lTGlzdFJlcXVlc3QSEgoKdGltZV96b25lcxgBIAMoCSIeChxVcGRhdGVDTlRpbWVab25lTGlzdFJlc3BvbnNlIkIKHUJhbkludml0YXRpb25Db2Rlc0J5SVBSZXF1ZXN0EiEKDGlwX2FkZHJlc3NlcxgBIAMoCUILukgIkgEFCAEQ6AciTAoeQmFuSW52aXRhdGlvbkNvZGVzQnlJUFJlc3BvbnNlEhQKDGJhbm5lZF9jb2RlcxgBIAMoCRIUCgxiYW5uZWRfY291bnQYAiABKAUiFwoVR2V0SVBCbGFja2xpc3RSZXF1ZXN0Ii4KFkdldElQQmxhY2tsaXN0UmVzcG9uc2USFAoMaXBfYWRkcmVzc2VzGAEgAygJIjsKGFVwZGF0ZUlQQmxhY2tsaXN0UmVxdWVzdBIfCgxpcF9hZGRyZXNzZXMYASADKAlCCbpIBpIBAxDoByIbChlVcGRhdGVJUEJsYWNrbGlzdFJlc3BvbnNlIvwCCg9CbG9ja2VkVXNlckluZm8SCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRIOCgZyZWFzb24YAyABKAkSDQoFZW1haWwYBCABKAkSFwoPYXBwcm92ZV91c2VyX2lkGAUgASgJEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEioKDGJsb2NrZWRfdHlwZRgIIAEoDjIULnVzZXIudjEuQmxvY2tlZFR5cGUSMwoRYmxvY2tfcmVhc29uX3R5cGUYCSABKA4yGC51c2VyLnYxLkJsb2NrUmVhc29uVHlwZRImCgZzdGF0dXMYCiABKA4yFi51c2VyLnYxLkJsb2NrZWRTdGF0dXMSKwoKZXh0cmFfZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi5QEKIENyZWF0ZU9yVXBkYXRlQmxvY2tlZFVzZXJSZXF1ZXN0EhgKBXVzZXJzGAEgAygJQgm6SAaSAQMQiCcSJgoGc3RhdHVzGAIgASgOMhYudXNlci52MS5CbG9ja2VkU3RhdHVzEhMKBnJlYXNvbhgDIAEoCUgAiAEBEioKDGJsb2NrZWRfdHlwZRgEIAEoDjIULnVzZXIudjEuQmxvY2tlZFR5cGUSMwoRYmxvY2tfcmVhc29uX3R5cGUYBSABKA4yGC51c2VyLnYxLkJsb2NrUmVhc29uVHlwZUIJCgdfcmVhc29uIkkKIUNyZWF0ZU9yVXBkYXRlQmxvY2tlZFVzZXJSZXNwb25zZRIVCg1zdWNjZXNzX3VzZXJzGAEgAygJEg0KBXRvdGFsGAIgASgFIqgBChdMaXN0QmxvY2tlZFVzZXJzUmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEhQKB3VzZXJfaWQYAyABKAlIAIgBARIrCgZzdGF0dXMYBCABKA4yFi51c2VyLnYxLkJsb2NrZWRTdGF0dXNIAYgBAUIKCghfdXNlcl9pZEIJCgdfc3RhdHVzIloKGExpc3RCbG9ja2VkVXNlcnNSZXNwb25zZRIvCg1ibG9ja2VkX3VzZXJzGAEgAygLMhgudXNlci52MS5CbG9ja2VkVXNlckluZm8SDQoFdG90YWwYAiABKAMiKgoXQWRtaW5HZXRVc2VySW5mb1JlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSKOAwoYQWRtaW5HZXRVc2VySW5mb1Jlc3BvbnNlEg8KB3VzZXJfaWQYASABKAkSDQoFZW1haWwYAiABKAkSEQoJZmlyc3RuYW1lGAMgASgJEhAKCGxhc3RuYW1lGAQgASgJEhMKC2Rpc3BsYXluYW1lGAUgASgJEhAKCG5pY2tuYW1lGAYgASgJEg4KBmF2YXRhchgHIAEoCRIQCghpc19hbHBoYRgIIAEoCBITCgtpbl93YWl0bGlzdBgJIAEoCBITCgt2aXBfdmVyc2lvbhgKIAEoCRIUCgx2aXBfaW50ZXJ2YWwYCyABKAkSGgoSY3VycmVudF9wZXJpb2RfZW5kGAwgASgDEhwKFGNhbmNlbF9hdF9wZXJpb2RfZW5kGA0gASgIEg8KB2lzX2JldGEYDiABKAgSGAoQcGF5bWVudF9wbGF0Zm9ybRgPIAEoCRILCgN1aWQYECABKAkSGwoTY29uY3VycmVudF9zZXNzaW9ucxgRIAEoBRIVCg1wbGF0Zm9ybV9saXN0GBIgAygJIkoKGkdldFVzZXJMb2dvZmZTdGF0dXNSZXF1ZXN0EgsKA2lkcxgBIAMoCRIMCgRwYWdlGAIgASgFEhEKCXBhZ2Vfc2l6ZRgDIAEoBSKBAQoQVXNlckxvZ29mZlN0YXR1cxIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIjCgZzdGF0dXMYAyABKA4yEy51c2VyLnYxLlVzZXJTdGF0dXMSLQoJdXBkYXRlX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWChtHZXRVc2VyTG9nb2ZmU3RhdHVzUmVzcG9uc2USKAoFdXNlcnMYASADKAsyGS51c2VyLnYxLlVzZXJMb2dvZmZTdGF0dXMSDQoFdG90YWwYAiABKAUibQouQmF0Y2hBZGRBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVxdWVzdBIsCg1hY3Rpdml0eV90eXBlGAEgASgOMhUudXNlci52MS5BY3Rpdml0eVR5cGUSDQoFdXNlcnMYAiADKAkiXgovQmF0Y2hBZGRBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVzcG9uc2USFgoOYWRkZWRfdXNlcl9pZHMYASADKAkSEwoLYWRkZWRfY291bnQYAiABKAUi9AEKEFJpc2tJbnRlbGxpZ2VuY2USCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRIxCgppbnRlbF90eXBlGAMgASgOMh0udXNlci52MS5SaXNrSW50ZWxsaWdlbmNlVHlwZRISCgppbnRlbF9kYXRhGAQgASgJEi8KBnN0YXR1cxgFIAEoDjIfLnVzZXIudjEuUmlza0ludGVsbGlnZW5jZVN0YXR1cxIOCgZzb3VyY2UYBiABKAkSCwoDdGFnGAcgASgJEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrEBChpBZGRSaXNrSW50ZWxsaWdlbmNlUmVxdWVzdBIxCgppbnRlbF90eXBlGAEgASgOMh0udXNlci52MS5SaXNrSW50ZWxsaWdlbmNlVHlwZRISCgppbnRlbF9kYXRhGAIgAygJEi8KBnN0YXR1cxgDIAEoDjIfLnVzZXIudjEuUmlza0ludGVsbGlnZW5jZVN0YXR1cxIOCgZzb3VyY2UYBCABKAkSCwoDdGFnGAUgASgJIh0KG0FkZFJpc2tJbnRlbGxpZ2VuY2VSZXNwb25zZSLeAgobTGlzdFJpc2tJbnRlbGxpZ2VuY2VSZXF1ZXN0EjYKCmludGVsX3R5cGUYASABKA4yHS51c2VyLnYxLlJpc2tJbnRlbGxpZ2VuY2VUeXBlSACIAQESNAoGc3RhdHVzGAIgASgOMh8udXNlci52MS5SaXNrSW50ZWxsaWdlbmNlU3RhdHVzSAGIAQESEwoGc291cmNlGAMgASgJSAKIAQESFAoHdXNlcl9pZBgEIAEoCUgDiAEBEhAKA3RhZxgFIAEoCUgEiAEBEhcKCmludGVsX2RhdGEYBiABKAlIBYgBARIVCgRwYWdlGAcgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgIIAEoBUIJukgGGgQYZCgBQg0KC19pbnRlbF90eXBlQgkKB19zdGF0dXNCCQoHX3NvdXJjZUIKCghfdXNlcl9pZEIGCgRfdGFnQg0KC19pbnRlbF9kYXRhIl4KHExpc3RSaXNrSW50ZWxsaWdlbmNlUmVzcG9uc2USLwoMaW50ZWxsaWdlbmNlGAEgAygLMhkudXNlci52MS5SaXNrSW50ZWxsaWdlbmNlEg0KBXRvdGFsGAIgASgFIqUCCh1VcGRhdGVSaXNrSW50ZWxsaWdlbmNlUmVxdWVzdBIKCgJpZBgBIAEoAxI0CgZzdGF0dXMYAiABKA4yHy51c2VyLnYxLlJpc2tJbnRlbGxpZ2VuY2VTdGF0dXNIAIgBARIQCgN0YWcYAyABKAlIAYgBARITCgZzb3VyY2UYBCABKAlIAogBARIXCgppbnRlbF9kYXRhGAUgASgJSAOIAQESNgoKaW50ZWxfdHlwZRgGIAEoDjIdLnVzZXIudjEuUmlza0ludGVsbGlnZW5jZVR5cGVIBIgBARIOCgZyZWFzb24YByABKAlCCQoHX3N0YXR1c0IGCgRfdGFnQgkKB19zb3VyY2VCDQoLX2ludGVsX2RhdGFCDQoLX2ludGVsX3R5cGUiIAoeVXBkYXRlUmlza0ludGVsbGlnZW5jZVJlc3BvbnNlIjIKI0Rpc2FibGVSaXNrSW50ZWxsaWdlbmNlQnlUYWdSZXF1ZXN0EgsKA3RhZxgBIAEoCSImCiREaXNhYmxlUmlza0ludGVsbGlnZW5jZUJ5VGFnUmVzcG9uc2UqiAEKFlVwZGF0ZVVzZXJDcmVkaXRTdGF0dXMSIgoeVXBkYXRlVXNlckNyZWRpdFN0YXR1c19Vbmtub3duEAASJQohVXBkYXRlVXNlckNyZWRpdFN0YXR1c19Qcm9jZXNzaW5nEAESIwofVXBkYXRlVXNlckNyZWRpdFN0YXR1c19GaW5pc2hlZBACKpsDChNVcGRhdGVDcmVkaXRPcGVyYXRlEiUKIVVQREFURV9DUkVESVRfT1BFUkFURV9VTlNQRUNJRklFRBAAEh4KGlVQREFURV9DUkVESVRfT1BFUkFURV9HSUZUEAESIAocVVBEQVRFX0NSRURJVF9PUEVSQVRFX0RFRFVDVBACEiAKHFVQREFURV9DUkVESVRfT1BFUkFURV9DSEFSR0UQAxIeChpVUERBVEVfQ1JFRElUX09QRVJBVEVfQ09TVBAEEiIKHlVQREFURV9DUkVESVRfT1BFUkFURV9ST0xMQkFDSxAFEiMKH1VQREFURV9DUkVESVRfT1BFUkFURV9SQVRFX0dJRlQQBhIgChxVUERBVEVfQ1JFRElUX09QRVJBVEVfUkVGVU5EEAcSJQohVVBEQVRFX0NSRURJVF9PUEVSQVRFX0lOVklURV9HSUZUEAgSJAogVVBEQVRFX0NSRURJVF9PUEVSQVRFX0xJVkVfRVZFTlQQCRIhCh1VUERBVEVfQ1JFRElUX09QRVJBVEVfUkVGUkVTSBAKKoYBChRJbnZpdGF0aW9uQ29kZVN0YXR1cxImCiJJTlZJVEFUSU9OX0NPREVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodSU5WSVRBVElPTl9DT0RFX1NUQVRVU19BQ1RJVkUQARIjCh9JTlZJVEFUSU9OX0NPREVfU1RBVFVTX0RJU0FCTEVEEAIqigEKDldhaXRsaXN0U3RhdHVzEh8KG1dBSVRMSVNUX1NUQVRVU19VTlNQRUNJRklFRBAAEhsKF1dBSVRMSVNUX1NUQVRVU19QRU5ESU5HEAESHAoYV0FJVExJU1RfU1RBVFVTX0FQUFJPVkVEEAISHAoYV0FJVExJU1RfU1RBVFVTX1JFSkVDVEVEEAMqmgMKEFdhaXRsaXN0UnVsZVR5cGUSIgoeV0FJVExJU1RfUlVMRV9UWVBFX1VOU1BFQ0lGSUVEEAASIwofV0FJVExJU1RfUlVMRV9UWVBFX0JST1dTRVJfTEFORxABEiMKH1dBSVRMSVNUX1JVTEVfVFlQRV9FTUFJTF9ET01BSU4QAhIiCh5XQUlUTElTVF9SVUxFX1RZUEVfQ09VTlRSWV9JU08QAxIkCiBXQUlUTElTVF9SVUxFX1RZUEVfUkVBU09OX0xFTkdUSBAEEi0KKVdBSVRMSVNUX1JVTEVfVFlQRV9FWENMVURFX0NISU5FU0VfUkVBU09OEAUSKAokV0FJVExJU1RfUlVMRV9UWVBFX0VYQ0xVREVfVElNRV9aT05FEAYSJwojV0FJVExJU1RfUlVMRV9UWVBFX1JFUVVFU1RfVElNRV9HVEUQBxInCiNXQUlUTElTVF9SVUxFX1RZUEVfUkVRVUVTVF9USU1FX0xURRAIEiMKH1dBSVRMSVNUX1JVTEVfVFlQRV9BSV9TQ09SRV9HVEUQCSp9ChJXYWl0bGlzdEF1dG9BY3Rpb24SJAogV0FJVExJU1RfQVVUT19BQ1RJT05fVU5TUEVDSUZJRUQQABIgChxXQUlUTElTVF9BVVRPX0FDVElPTl9BUFBST1ZFEAESHwobV0FJVExJU1RfQVVUT19BQ1RJT05fUkVKRUNUEAIqkgEKFldhaXRsaXN0QXV0b1Rhc2tTdGF0dXMSKQolV0FJVExJU1RfQVVUT19UQVNLX1NUQVRVU19VTlNQRUNJRklFRBAAEiUKIVdBSVRMSVNUX0FVVE9fVEFTS19TVEFUVVNfRU5BQkxFRBABEiYKIldBSVRMSVNUX0FVVE9fVEFTS19TVEFUVVNfRElTQUJMRUQQAippCg1CbG9ja2VkU3RhdHVzEh4KGkJMT0NLRURfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWQkxPQ0tFRF9TVEFUVVNfQkxPQ0tFRBABEhwKGEJMT0NLRURfU1RBVFVTX1VOQkxPQ0tFRBACKnEKClVzZXJTdGF0dXMSGwoXVVNFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIWChJVU0VSX1NUQVRVU19BQ1RJVkUQARIWChJVU0VSX1NUQVRVU19CQU5ORUQQAhIWChJVU0VSX1NUQVRVU19MT0dPRkYQAyrTAQoUUmlza0ludGVsbGlnZW5jZVR5cGUSJgoiVVNFUl9JTlRFTExJR0VOQ0VfVFlQRV9VTlNQRUNJRklFRBAAEh0KGVVTRVJfSU5URUxMSUdFTkNFX1RZUEVfSVAQARIpCiVVU0VSX0lOVEVMTElHRU5DRV9UWVBFX0VNQUlMX1BST1ZJREVSEAISJwojVVNFUl9JTlRFTExJR0VOQ0VfVFlQRV9FTUFJTF9TVUZGSVgQAxIgChxVU0VSX0lOVEVMTElHRU5DRV9UWVBFX1BIT05FEAQqkAEKFlJpc2tJbnRlbGxpZ2VuY2VTdGF0dXMSKAokVVNFUl9JTlRFTExJR0VOQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASJgoiVVNFUl9JTlRFTExJR0VOQ0VfU1RBVFVTX0VGRkVDVElWRRABEiQKIFVTRVJfSU5URUxMSUdFTkNFX1NUQVRVU19JTlZBTElEEAIyjhwKEFVzZXJBZG1pblNlcnZpY2USYwoUQ3JlYXRlSW52aXRhdGlvbkNvZGUSJC51c2VyLnYxLkNyZWF0ZUludml0YXRpb25Db2RlUmVxdWVzdBolLnVzZXIudjEuQ3JlYXRlSW52aXRhdGlvbkNvZGVSZXNwb25zZRJgChNMaXN0SW52aXRhdGlvbkNvZGVzEiMudXNlci52MS5MaXN0SW52aXRhdGlvbkNvZGVzUmVxdWVzdBokLnVzZXIudjEuTGlzdEludml0YXRpb25Db2Rlc1Jlc3BvbnNlEmkKFkdldEludml0YXRpb25Db2RlVXNhZ2USJi51c2VyLnYxLkdldEludml0YXRpb25Db2RlVXNhZ2VSZXF1ZXN0GicudXNlci52MS5HZXRJbnZpdGF0aW9uQ29kZVVzYWdlUmVzcG9uc2USYwoUVXBkYXRlSW52aXRhdGlvbkNvZGUSJC51c2VyLnYxLlVwZGF0ZUludml0YXRpb25Db2RlUmVxdWVzdBolLnVzZXIudjEuVXBkYXRlSW52aXRhdGlvbkNvZGVSZXNwb25zZRJsChdHZXRJbnZpdGF0aW9uU3RhdGlzdGljcxInLnVzZXIudjEuR2V0SW52aXRhdGlvblN0YXRpc3RpY3NSZXF1ZXN0GigudXNlci52MS5HZXRJbnZpdGF0aW9uU3RhdGlzdGljc1Jlc3BvbnNlEksKDExpc3RXYWl0bGlzdBIcLnVzZXIudjEuTGlzdFdhaXRsaXN0UmVxdWVzdBodLnVzZXIudjEuTGlzdFdhaXRsaXN0UmVzcG9uc2USYwoUVXBkYXRlV2FpdGxpc3RTdGF0dXMSJC51c2VyLnYxLlVwZGF0ZVdhaXRsaXN0U3RhdHVzUmVxdWVzdBolLnVzZXIudjEuVXBkYXRlV2FpdGxpc3RTdGF0dXNSZXNwb25zZRJpChZDcmVhdGVXYWl0bGlzdEF1dG9UYXNrEiYudXNlci52MS5DcmVhdGVXYWl0bGlzdEF1dG9UYXNrUmVxdWVzdBonLnVzZXIudjEuQ3JlYXRlV2FpdGxpc3RBdXRvVGFza1Jlc3BvbnNlEmMKFExpc3RXYWl0bGlzdEF1dG9UYXNrEiQudXNlci52MS5MaXN0V2FpdGxpc3RBdXRvVGFza1JlcXVlc3QaJS51c2VyLnYxLkxpc3RXYWl0bGlzdEF1dG9UYXNrUmVzcG9uc2USWgoRTGlzdFF1ZXN0aW9ubmFpcmUSIS51c2VyLnYxLkxpc3RRdWVzdGlvbm5haXJlUmVxdWVzdBoiLnVzZXIudjEuTGlzdFF1ZXN0aW9ubmFpcmVSZXNwb25zZRJmChVHZXRTeXN0ZW1Ob3RpZmljYXRpb24SJS51c2VyLnYxLkdldFN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QaJi51c2VyLnYxLkdldFN5c3RlbU5vdGlmaWNhdGlvblJlc3BvbnNlEm8KGFVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvbhIoLnVzZXIudjEuVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdBopLnVzZXIudjEuVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVzcG9uc2USXQoSR2V0UGF5bWVudFNldHRpbmdzEiIudXNlci52MS5HZXRQYXltZW50U2V0dGluZ3NSZXF1ZXN0GiMudXNlci52MS5HZXRQYXltZW50U2V0dGluZ3NSZXNwb25zZRJmChVVcGRhdGVQYXltZW50U2V0dGluZ3MSJS51c2VyLnYxLlVwZGF0ZVBheW1lbnRTZXR0aW5nc1JlcXVlc3QaJi51c2VyLnYxLlVwZGF0ZVBheW1lbnRTZXR0aW5nc1Jlc3BvbnNlEloKEUdldENOVGltZVpvbmVMaXN0EiEudXNlci52MS5HZXRDTlRpbWVab25lTGlzdFJlcXVlc3QaIi51c2VyLnYxLkdldENOVGltZVpvbmVMaXN0UmVzcG9uc2USYwoUVXBkYXRlQ05UaW1lWm9uZUxpc3QSJC51c2VyLnYxLlVwZGF0ZUNOVGltZVpvbmVMaXN0UmVxdWVzdBolLnVzZXIudjEuVXBkYXRlQ05UaW1lWm9uZUxpc3RSZXNwb25zZRJpChZCYW5JbnZpdGF0aW9uQ29kZXNCeUlQEiYudXNlci52MS5CYW5JbnZpdGF0aW9uQ29kZXNCeUlQUmVxdWVzdBonLnVzZXIudjEuQmFuSW52aXRhdGlvbkNvZGVzQnlJUFJlc3BvbnNlElEKDkdldElQQmxhY2tsaXN0Eh4udXNlci52MS5HZXRJUEJsYWNrbGlzdFJlcXVlc3QaHy51c2VyLnYxLkdldElQQmxhY2tsaXN0UmVzcG9uc2USWgoRVXBkYXRlSVBCbGFja2xpc3QSIS51c2VyLnYxLlVwZGF0ZUlQQmxhY2tsaXN0UmVxdWVzdBoiLnVzZXIudjEuVXBkYXRlSVBCbGFja2xpc3RSZXNwb25zZRJRCg5MaXN0VXNlckNyZWRpdBIeLnVzZXIudjEuTGlzdFVzZXJDcmVkaXRSZXF1ZXN0Gh8udXNlci52MS5MaXN0VXNlckNyZWRpdFJlc3BvbnNlElcKEFVwZGF0ZVVzZXJDcmVkaXQSIC51c2VyLnYxLlVwZGF0ZVVzZXJDcmVkaXRSZXF1ZXN0GiEudXNlci52MS5VcGRhdGVVc2VyQ3JlZGl0UmVzcG9uc2USdQoaTG9vcFVwZGF0ZVVzZXJDcmVkaXRTdGF0dXMSKi51c2VyLnYxLkxvb3BVcGRhdGVVc2VyQ3JlZGl0U3RhdHVzUmVxdWVzdBorLnVzZXIudjEuTG9vcFVwZGF0ZVVzZXJDcmVkaXRTdGF0dXNSZXNwb25zZRJjChRMaXN0VXNlckNyZWRpdFJlY29yZBIkLnVzZXIudjEuTGlzdFVzZXJDcmVkaXRSZWNvcmRSZXF1ZXN0GiUudXNlci52MS5MaXN0VXNlckNyZWRpdFJlY29yZFJlc3BvbnNlElcKEExpc3RCbG9ja2VkVXNlcnMSIC51c2VyLnYxLkxpc3RCbG9ja2VkVXNlcnNSZXF1ZXN0GiEudXNlci52MS5MaXN0QmxvY2tlZFVzZXJzUmVzcG9uc2UScgoZQ3JlYXRlT3JVcGRhdGVCbG9ja2VkVXNlchIpLnVzZXIudjEuQ3JlYXRlT3JVcGRhdGVCbG9ja2VkVXNlclJlcXVlc3QaKi51c2VyLnYxLkNyZWF0ZU9yVXBkYXRlQmxvY2tlZFVzZXJSZXNwb25zZRJLCgxHZXRVc2VyUXVvdGESHC51c2VyLnYxLkdldFVzZXJRdW90YVJlcXVlc3QaHS51c2VyLnYxLkdldFVzZXJRdW90YVJlc3BvbnNlElkKEEFkbWluR2V0VXNlckluZm8SIC51c2VyLnYxLkFkbWluR2V0VXNlckluZm9SZXF1ZXN0GiEudXNlci52MS5BZG1pbkdldFVzZXJJbmZvUmVzcG9uc2UiABJgChNHZXRVc2VyTG9nb2ZmU3RhdHVzEiMudXNlci52MS5HZXRVc2VyTG9nb2ZmU3RhdHVzUmVxdWVzdBokLnVzZXIudjEuR2V0VXNlckxvZ29mZlN0YXR1c1Jlc3BvbnNlEkEKCExpc3RVc2VyEhgudXNlci52MS5MaXN0VXNlclJlcXVlc3QaGS51c2VyLnYxLkxpc3RVc2VyUmVzcG9uc2UiABJTCg5MaXN0VXNlclZpcExvZxIeLnVzZXIudjEuTGlzdFVzZXJWaXBMb2dSZXF1ZXN0Gh8udXNlci52MS5MaXN0VXNlclZpcExvZ1Jlc3BvbnNlIgASTQoMQWRtaW5HaWZ0VmlwEhwudXNlci52MS5BZG1pbkdpZnRWaXBSZXF1ZXN0Gh0udXNlci52MS5BZG1pbkdpZnRWaXBSZXNwb25zZSIAEp4BCidCYXRjaEFkZEFjdGl2aXR5UXVlc3Rpb25uYWlyZVBlcm1pc3Npb24SNy51c2VyLnYxLkJhdGNoQWRkQWN0aXZpdHlRdWVzdGlvbm5haXJlUGVybWlzc2lvblJlcXVlc3QaOC51c2VyLnYxLkJhdGNoQWRkQWN0aXZpdHlRdWVzdGlvbm5haXJlUGVybWlzc2lvblJlc3BvbnNlIgASYgoTQWRkUmlza0ludGVsbGlnZW5jZRIjLnVzZXIudjEuQWRkUmlza0ludGVsbGlnZW5jZVJlcXVlc3QaJC51c2VyLnYxLkFkZFJpc2tJbnRlbGxpZ2VuY2VSZXNwb25zZSIAEmUKFExpc3RSaXNrSW50ZWxsaWdlbmNlEiQudXNlci52MS5MaXN0Umlza0ludGVsbGlnZW5jZVJlcXVlc3QaJS51c2VyLnYxLkxpc3RSaXNrSW50ZWxsaWdlbmNlUmVzcG9uc2UiABJrChZVcGRhdGVSaXNrSW50ZWxsaWdlbmNlEiYudXNlci52MS5VcGRhdGVSaXNrSW50ZWxsaWdlbmNlUmVxdWVzdBonLnVzZXIudjEuVXBkYXRlUmlza0ludGVsbGlnZW5jZVJlc3BvbnNlIgASfQocRGlzYWJsZVJpc2tJbnRlbGxpZ2VuY2VCeVRhZxIsLnVzZXIudjEuRGlzYWJsZVJpc2tJbnRlbGxpZ2VuY2VCeVRhZ1JlcXVlc3QaLS51c2VyLnYxLkRpc2FibGVSaXNrSW50ZWxsaWdlbmNlQnlUYWdSZXNwb25zZSIAQpUBCgtjb20udXNlci52MUIOVXNlckFkbWluUHJvdG9QAVo5Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L3VzZXIvdjE7dXNlcnYxogIDVVhYqgIHVXNlci5WMcoCB1VzZXJcVjHiAhNVc2VyXFYxXEdQQk1ldGFkYXRh6gIIVXNlcjo6VjFiBnByb3RvMw",[Ye,He,te,Wr]),x2=M(J2,0),Ks=z("Chp1c2VyL3YxL3N1YnNjcmlwdGlvbi5wcm90bxIHdXNlci52MSJECh1Mb29wVGVhbVVwZ3JhZGVTdGF0dXNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yEy51c2VyLnYxLkxvb3BTdGF0dXMiRAocTG9vcFRlYW1VcGdyYWRlU3RhdHVzUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCRISCgppbnZvaWNlX2lkGAIgASgJIkAKD1ByZXZpZXdSZXNwb25zZRIRCglzdWJfdG90YWwYASABKAkSCwoDdGF4GAIgASgJEg0KBXRvdGFsGAMgASgJIjUKDlByZXZpZXdSZXF1ZXN0EiMKCHBsYW5fa2V5GAEgASgOMhEudXNlci52MS5QbGFuX0tleSIQCg5VcGRhdGVSZXNwb25zZSI0Cg1VcGRhdGVSZXF1ZXN0EiMKCHBsYW5fa2V5GAEgASgOMhEudXNlci52MS5QbGFuX0tleSJWCh1UZWFtU3Vic2NyaXB0aW9uVXBkYXRlUmVxdWVzdBIjCghwbGFuX2tleRgBIAEoDjIRLnVzZXIudjEuUGxhbl9LZXkSEAoIcXVhbnRpdHkYAiABKAUiSAoeVGVhbVN1YnNjcmlwdGlvblVwZGF0ZVJlc3BvbnNlEhIKCklzX3VwZ3JhZGUYASABKAgSEgoKaW52b2ljZV9pZBgCIAEoCSJXCh5UZWFtU3Vic2NyaXB0aW9uUHJldmlld1JlcXVlc3QSIwoIcGxhbl9rZXkYASABKA4yES51c2VyLnYxLlBsYW5fS2V5EhAKCHF1YW50aXR5GAIgASgFIqwBCh9UZWFtU3Vic2NyaXB0aW9uUHJldmlld1Jlc3BvbnNlEhEKCXN1Yl90b3RhbBgBIAEoCRILCgN0YXgYAiABKAkSDQoFdG90YWwYAyABKAkSHAoUbmV4dF9wYXltZW50X2F0dGVtcHQYBCABKAMSFgoObmV4dF9zdWJfdG90YWwYBSABKAkSEAoIbmV4dF90YXgYBiABKAkSEgoKbmV4dF90b3RhbBgHIAEoCSJzCg9DaGVja291dFJlcXVlc3QSIwoIcGxhbl9rZXkYASABKA4yES51c2VyLnYxLlBsYW5fS2V5EhIKCmNhbmNlbF91cmwYAiABKAkSEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKbW90aXZhdGlvbhgEIAEoCSI8ChBDaGVja291dFJlc3BvbnNlEhIKCnNlc3Npb25faWQYASABKAkSFAoMY2hlY2tvdXRfdXJsGAIgASgJIpMBCh9UZWFtU3Vic2NyaXB0aW9uQ2hlY2tvdXRSZXF1ZXN0EhAKCHRlYW1fdWlkGAEgASgJEiMKCHBsYW5fa2V5GAIgASgOMhEudXNlci52MS5QbGFuX0tleRIQCghxdWFudGl0eRgDIAEoBRISCgpjYW5jZWxfdXJsGAQgASgJEhMKC3N1Y2Nlc3NfdXJsGAUgASgJIkwKIFRlYW1TdWJzY3JpcHRpb25DaGVja291dFJlc3BvbnNlEhIKCnNlc3Npb25faWQYASABKAkSFAoMY2hlY2tvdXRfdXJsGAIgASgJIk4KDUNhbmNlbFJlcXVlc3QSLAoNY2FuY2VsX3JlYXNvbhgBIAEoDjIVLnVzZXIudjEuQ2FuY2VsUmVhc29uEg8KB2NvbW1lbnQYAiABKAkiEAoOQ2FuY2VsUmVzcG9uc2UiDwoNUmVzdW1lUmVxdWVzdCIQCg5SZXN1bWVSZXNwb25zZSIiCgxRdWVyeVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCSI6Cg1RdWVyeVJlc3BvbnNlEhcKD3N1YnNjcmlwdGlvbl9pZBgBIAEoCRIQCgh0ZWFtX3VpZBgCIAEoCSIUChJCaWxsaW5nUGFnZVJlcXVlc3QiIgoTQmlsbGluZ1BhZ2VSZXNwb25zZRILCgN1cmwYASABKAkiIAoeUmV2ZW51ZWNhdFN5bmNDdXN0b21lclJlcXVlc3RfIiEKH1JldmVudWVjYXRTeW5jQ3VzdG9tZXJSZXNwb25zZV8qbgoKTG9vcFN0YXR1cxIWChJMb29wU3RhdHVzX1Vua25vd24QABIZChVMb29wU3RhdHVzX1Byb2Nlc3NpbmcQARIWChJMb29wU3RhdHVzX1N1Y2Nlc3MQAhIVChFMb29wU3RhdHVzX0ZhaWxlZBADKoUCCghQbGFuX0tleRILCgdVTktOT1dOEAASDwoLUFJPX01PTlRITFkQARISCg5DQVNVQUxfTU9OVEhMWRACEg4KClBST19ZRUFSTFkQAxIRCg1DQVNVQUxfWUVBUkxZEAQSEAoMTElURV9NT05USExZEAUSDwoLTElURV9ZRUFSTFkQBhIQCgxDUkVESVRTXzIwMDAQZRIRCg1DUkVESVRTXzEwMDAwEGYSEQoNQ1JFRElUU18xOTkwMBBnEhEKDFRFQU1fTU9OVEhMWRDJARIQCgtURUFNX1lFQVJMWRDKARIPCgpURUFNX0FERE9OEMsBEhMKDlRFQU1fREVEVUNUSU9OEMwBKsoCCgxDYW5jZWxSZWFzb24SGAoUQ2FuY2VsUmVhc29uX1Vua25vd24QABIdChlDYW5jZWxSZWFzb25fVG9vRXhwZW5zaXZlEAESHwobQ2FuY2VsUmVhc29uX05vTG9uZ2VyTmVlZEl0EAISIwofQ2FuY2VsUmVhc29uX0ZvdW5kQW5BbHRlcm5hdGl2ZRADEh8KG0NhbmNlbFJlYXNvbl9EaWZmaWN1bHRUb1VzZRAEEiYKIkNhbmNlbFJlYXNvbl9EaWRudE1lZXRFeHBlY3RhdGlvbnMQBRIcChhDYW5jZWxSZWFzb25fT3RoZXJSZWFzb24QBhIvCitDYW5jZWxSZWFzb25fU3RpbGxEZWNpZGluZ0F2b2lkaW5nQXV0b1JlbmV3EAcSIwofQ2FuY2VsUmVhc29uX0RhdGFQcml2YWN5Q29uY2VybhAIMv4HChNTdWJzY3JpcHRpb25TZXJ2aWNlEjgKBVF1ZXJ5EhUudXNlci52MS5RdWVyeVJlcXVlc3QaFi51c2VyLnYxLlF1ZXJ5UmVzcG9uc2UiABI7CgZVcGRhdGUSFi51c2VyLnYxLlVwZGF0ZVJlcXVlc3QaFy51c2VyLnYxLlVwZGF0ZVJlc3BvbnNlIgASPgoHUHJldmlldxIXLnVzZXIudjEuUHJldmlld1JlcXVlc3QaGC51c2VyLnYxLlByZXZpZXdSZXNwb25zZSIAEkEKCENoZWNrb3V0EhgudXNlci52MS5DaGVja291dFJlcXVlc3QaGS51c2VyLnYxLkNoZWNrb3V0UmVzcG9uc2UiABJxChhUZWFtU3Vic2NyaXB0aW9uQ2hlY2tvdXQSKC51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25DaGVja291dFJlcXVlc3QaKS51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25DaGVja291dFJlc3BvbnNlIgASawoWVGVhbVN1YnNjcmlwdGlvblVwZGF0ZRImLnVzZXIudjEuVGVhbVN1YnNjcmlwdGlvblVwZGF0ZVJlcXVlc3QaJy51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25VcGRhdGVSZXNwb25zZSIAEm4KF1RlYW1TdWJzY3JpcHRpb25QcmV2aWV3EicudXNlci52MS5UZWFtU3Vic2NyaXB0aW9uUHJldmlld1JlcXVlc3QaKC51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25QcmV2aWV3UmVzcG9uc2UiABI7CgZDYW5jZWwSFi51c2VyLnYxLkNhbmNlbFJlcXVlc3QaFy51c2VyLnYxLkNhbmNlbFJlc3BvbnNlIgASOwoGUmVzdW1lEhYudXNlci52MS5SZXN1bWVSZXF1ZXN0GhcudXNlci52MS5SZXN1bWVSZXNwb25zZSIAEkoKC0JpbGxpbmdQYWdlEhsudXNlci52MS5CaWxsaW5nUGFnZVJlcXVlc3QaHC51c2VyLnYxLkJpbGxpbmdQYWdlUmVzcG9uc2UiABJtChZSZXZlbnVlY2F0U3luY0N1c3RvbWVyEicudXNlci52MS5SZXZlbnVlY2F0U3luY0N1c3RvbWVyUmVxdWVzdF8aKC51c2VyLnYxLlJldmVudWVjYXRTeW5jQ3VzdG9tZXJSZXNwb25zZV8iABJoChVMb29wVGVhbVVwZ3JhZGVTdGF0dXMSJS51c2VyLnYxLkxvb3BUZWFtVXBncmFkZVN0YXR1c1JlcXVlc3QaJi51c2VyLnYxLkxvb3BUZWFtVXBncmFkZVN0YXR1c1Jlc3BvbnNlIgBCmAEKC2NvbS51c2VyLnYxQhFTdWJzY3JpcHRpb25Qcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z"),w2=M(Ks,0),k2=z("Chl1c2VyL3YxL3VzZXJfcHVibGljLnByb3RvEgd1c2VyLnYxInwKF0dldEV4Y2hhbmdlSW5mb1Jlc3BvbnNlEi8KDWFkZG9uX2NyZWRpdHMYASADKAsyGC51c2VyLnYxLkFkZG9uQ3JlZGl0SW5mbxIwCg1zdWJzY3JpcHRpb25zGAIgAygLMhkudXNlci52MS5TdWJzY3JpcHRpb25JbmZvImsKEFN1YnNjcmlwdGlvbkluZm8SHwoEcGxhbhgBIAEoDjIRLnVzZXIudjEuUGxhbl9LZXkSDQoFcHJpY2UYAiABKAUSFgoOZGlzY291bnRfcHJpY2UYAyABKAUSDwoHY3JlZGl0cxgEIAEoBSJSCg9BZGRvbkNyZWRpdEluZm8SHwoEcGxhbhgBIAEoDjIRLnVzZXIudjEuUGxhbl9LZXkSDQoFcHJpY2UYAiABKAUSDwoHY3JlZGl0cxgDIAEoBSIYChZHZXRFeGNoYW5nZUluZm9SZXF1ZXN0IvICChNKb2luV2FpdGxpc3RSZXF1ZXN0EioKBWVtYWlsGAEgASgJQhu6SBhyFjIUXlteQF0rQFteQF0rXC5bXkBdKyQSDgoGcmVhc29uGAIgASgJEisKCmV4dHJhX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh0KFWNmX2NoYWxsZW5nZV9yZXNwb25zZRgEIAEoCRIjChtoY2FwdGNoYV9jaGFsbGVuZ2VfcmVzcG9uc2UYBSABKAkSFwoKd29ya19lbWFpbBgGIAEoCUgAiAEBEhcKCnByb2Zlc3Npb24YByABKAlIAYgBARIhChRzb2NpYWxfbWVkaWFfYWNjb3VudBgIIAEoCUgCiAEBEhUKCGluZHVzdHJ5GAkgASgJSAOIAQFCDQoLX3dvcmtfZW1haWxCDQoLX3Byb2Zlc3Npb25CFwoVX3NvY2lhbF9tZWRpYV9hY2NvdW50QgsKCV9pbmR1c3RyeSJPChRKb2luV2FpdGxpc3RSZXNwb25zZRIVCg1hdXRvX2FwcHJvdmVkGAEgASgIEhQKB29yZ191aWQYAiABKAlIAIgBAUIKCghfb3JnX3VpZCJtChFTdGFydE9hdXRoUmVxdWVzdBIZCgZpZHBfaWQYAiABKAlCCbpIBnIEEAEYIBIfCgtzdWNjZXNzX3VybBgDIAEoCUIKukgHcgUQARiACBIcCghmYWlsX3VybBgEIAEoCUIKukgHcgUQARiACCIhChJTdGFydE9hdXRoUmVzcG9uc2USCwoDdXJsGAEgASgJInMKE09hdXRoU3VjY2Vzc1JlcXVlc3QSCgoCaWQYASABKAkSDQoFdG9rZW4YAiABKAkSDwoHdXNlcl9pZBgDIAEoCRIcCg9hdXRoX3JlcXVlc3RfaWQYBCABKAlIAIgBAUISChBfYXV0aF9yZXF1ZXN0X2lkIiUKFE9hdXRoU3VjY2Vzc1Jlc3BvbnNlEg0KBXRva2VuGAEgASgJIkAKCkF0dGFjaG1lbnQSEQoJZmlsZV9uYW1lGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCRIMCgRkYXRhGAMgASgJIpECChVTdWJtaXRGZWVkYmFja1JlcXVlc3QSIwoEdHlwZRgBIAEoDjIVLnVzZXIudjEuRmVlZGJhY2tUeXBlEg0KBXRpdGxlGAIgASgJEhsKB2NvbnRlbnQYAyABKAlCCrpIB3IFEAEYkE4SKgoFZW1haWwYBCABKAlCG7pIGHIWMhReW15AXStAW15AXStcLlteQF0rJBINCgVyZWZlchgFIAEoCRIVCg1vcmlnaW5fZG9tYWluGAYgASgJEisKCmV4dHJhX2RhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EigKC2F0dGFjaG1lbnRzGAggAygLMhMudXNlci52MS5BdHRhY2htZW50Ii0KFlN1Ym1pdEZlZWRiYWNrUmVzcG9uc2USEwoLZmVlZGJhY2tfaWQYASABKAMifAodUHJlQ2hlY2tJbnZpdGF0aW9uQ29kZVJlcXVlc3QSFwoEY29kZRgBIAEoCUIJukgGcgQQBhggEh0KFWNmX2NoYWxsZW5nZV9yZXNwb25zZRgCIAEoCRIjChtoY2FwdGNoYV9jaGFsbGVuZ2VfcmVzcG9uc2UYAyABKAkiIAoeUHJlQ2hlY2tJbnZpdGF0aW9uQ29kZVJlc3BvbnNlIhQKEkNoZWNrUmVnaW9uUmVxdWVzdCJjChNDaGVja1JlZ2lvblJlc3BvbnNlEhYKDmlzX3Vuc3VwcG9ydGVkGAEgASgIEhkKEWlzX3Vuc3VwcG9ydGVkX3YyGAIgASgIEgsKA2lzbxgDIAEoCRIMCgRjb2RlGAQgASgJIjsKIUNoZWNrSW52aXRhdGlvbkNvZGVSZW1haW5zUmVxdWVzdBIWCg5pbnZpdGVfY29kZV9pZBgBIAEoCSLwAQoiQ2hlY2tJbnZpdGF0aW9uQ29kZVJlbWFpbnNSZXNwb25zZRIQCghtYXhfdXNlcxgBIAEoAxIPCgdyZW1haW5zGAIgASgDEg4KBnJlbWFyaxgDIAEoCRIMCgRraW5kGAQgASgFEhEKCXVzZXJfbmFtZRgFIAEoCRIWCg5lZHVfZW1haWxfbGlzdBgHIAMoCRIQCghlZHVfbmFtZRgIIAEoCRIXCg9lZHVfdW5pcXVlX25hbWUYCSABKAkSGQoRcmVjb21tZW5kX2NyZWRpdHMYCiABKAUSGAoQcmVnaXN0ZXJfY3JlZGl0cxgLIAEoBSIaChhHZXRHbG9iYWxTZXR0aW5nc1JlcXVlc3QinQEKD0dsb2JhbEVycm9ySW5mbxIKCgJpZBgBIAEoBRIPCgd2ZXJzaW9uGAIgASgFEhMKC2FsbG93X2Nsb3NlGAMgASgIEiwKCHN0YXJ0X2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIqCgZlbmRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImcKGUdldEdsb2JhbFNldHRpbmdzUmVzcG9uc2USGgoSZGlzYWJsaW5nX3BheW1lbnRzGAEgASgIEi4KDGdsb2JhbF9lcnJvchgCIAEoCzIYLnVzZXIudjEuR2xvYmFsRXJyb3JJbmZvIloKHlZlcmlmeU9yZ2FuaXphdGlvbkVtYWlsUmVxdWVzdBISCgVlbWFpbBgCIAEoCUgAiAEBEhEKBGNvZGUYAyABKAlIAYgBAUIICgZfZW1haWxCBwoFX2NvZGUiXgofVmVyaWZ5T3JnYW5pemF0aW9uRW1haWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEgsKA21zZxgCIAEoCRIPCgdvcmdfdWlkGAMgASgJEgwKBGNvZGUYBCABKAUiVAojR2V0Q2FtcHVzSW52aXRhdGlvbkNvZGVVc2FnZVJlcXVlc3QSDAoEcGFnZRgBIAEoBRIRCglwYWdlX3NpemUYAiABKAUSDAoEY29kZRgDIAEoCSK2AQokR2V0Q2FtcHVzSW52aXRhdGlvbkNvZGVVc2FnZVJlc3BvbnNlEi8KBGNvZGUYASABKAsyIS51c2VyLnYxLkNhbXB1c0ludml0YXRpb25Db2RlSW5mbxI4CglyZWxhdGlvbnMYAiADKAsyJS51c2VyLnYxLkNhbXB1c0ludml0YXRpb25SZWxhdGlvbkluZm8SDQoFdG90YWwYAyABKAUSFAoMdG90YWxfZWFybmVkGAQgASgFIqsCChhDYW1wdXNJbnZpdGF0aW9uQ29kZUluZm8SCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRITCgtpbnZpdGVfY29kZRgDIAEoCRIpCgRraW5kGAQgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmQSFAoMaXNfYWN0aXZhdGVkGAUgASgIEhAKCG1heF91c2VzGAYgASgFEhIKCnVzZWRfY291bnQYByABKAUSEgoKY3JlYXRlZF9ieRgIIAEoCRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBILCgN0YWcYCiABKAkSDgoGcmVtYXJrGAsgASgJEhUKDWZpc3Npb25fY291bnQYDCABKAUihAIKHENhbXB1c0ludml0YXRpb25SZWxhdGlvbkluZm8SCgoCaWQYASABKAMSEgoKaW52aXRlcl9pZBgCIAEoCRIVCg1pbnZpdGVlX2VtYWlsGAMgASgJEhMKC2ludml0ZV9jb2RlGAQgASgJEjcKBnN0YXR1cxgFIAEoDjInLnVzZXIudjEuQ2FtcHVzSW52aXRhdGlvblJlbGF0aW9uU3RhdHVzEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2FjY2VwdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI5CihTZW5kQ2FtcHVzRW1haWxWZXJpZnlDb2RlV2l0aEF1dGhSZXF1ZXN0Eg0KBWVtYWlsGAIgASgJIkkKKVNlbmRDYW1wdXNFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSCwoDbXNnGAIgASgJKqYCCgxGZWVkYmFja1R5cGUSHQoZRkVFREJBQ0tfVFlQRV9VTlNQRUNJRklFRBAAEhUKEUZFRURCQUNLX1RZUEVfQlVHEAESKAokRkVFREJBQ0tfVFlQRV9GRUFUVVJFX1ZJUF9PUl9QQVlNRU5UEAISHwobRkVFREJBQ0tfVFlQRV9BQ0NPVU5UX0lTU1VFEAMSHAoYRkVFREJBQ0tfVFlQRV9URUFNX0lTU1VFEAQSIgoeRkVFREJBQ0tfVFlQRV9TTVNfVkVSSUZJQ0FUSU9OEAUSIQodRkVFREJBQ0tfVFlQRV9GRUFUVVJFX1JFUVVFU1QQBhIXChNGRUVEQkFDS19UWVBFX09USEVSEAcSFwoTRkVFREJBQ0tfVFlQRV9FTUFJTBAIKjsKHkNhbXB1c0ludml0YXRpb25SZWxhdGlvblN0YXR1cxILCgdQRU5ESU5HEAASDAoIQWNjZXB0ZWQQATKXCQoRVXNlclB1YmxpY1NlcnZpY2USSwoMSm9pbldhaXRsaXN0EhwudXNlci52MS5Kb2luV2FpdGxpc3RSZXF1ZXN0Gh0udXNlci52MS5Kb2luV2FpdGxpc3RSZXNwb25zZRJFCgpTdGFydE9hdXRoEhoudXNlci52MS5TdGFydE9hdXRoUmVxdWVzdBobLnVzZXIudjEuU3RhcnRPYXV0aFJlc3BvbnNlEksKDE9hdXRoU3VjY2VzcxIcLnVzZXIudjEuT2F1dGhTdWNjZXNzUmVxdWVzdBodLnVzZXIudjEuT2F1dGhTdWNjZXNzUmVzcG9uc2USUQoOU3VibWl0RmVlZGJhY2sSHi51c2VyLnYxLlN1Ym1pdEZlZWRiYWNrUmVxdWVzdBofLnVzZXIudjEuU3VibWl0RmVlZGJhY2tSZXNwb25zZRJpChZQcmVDaGVja0ludml0YXRpb25Db2RlEiYudXNlci52MS5QcmVDaGVja0ludml0YXRpb25Db2RlUmVxdWVzdBonLnVzZXIudjEuUHJlQ2hlY2tJbnZpdGF0aW9uQ29kZVJlc3BvbnNlEkgKC0NoZWNrUmVnaW9uEhsudXNlci52MS5DaGVja1JlZ2lvblJlcXVlc3QaHC51c2VyLnYxLkNoZWNrUmVnaW9uUmVzcG9uc2USdQoaQ2hlY2tJbnZpdGF0aW9uQ29kZVJlbWFpbnMSKi51c2VyLnYxLkNoZWNrSW52aXRhdGlvbkNvZGVSZW1haW5zUmVxdWVzdBorLnVzZXIudjEuQ2hlY2tJbnZpdGF0aW9uQ29kZVJlbWFpbnNSZXNwb25zZRJaChFHZXRHbG9iYWxTZXR0aW5ncxIhLnVzZXIudjEuR2V0R2xvYmFsU2V0dGluZ3NSZXF1ZXN0GiIudXNlci52MS5HZXRHbG9iYWxTZXR0aW5nc1Jlc3BvbnNlElQKD0dldEV4Y2hhbmdlSW5mbxIfLnVzZXIudjEuR2V0RXhjaGFuZ2VJbmZvUmVxdWVzdBogLnVzZXIudjEuR2V0RXhjaGFuZ2VJbmZvUmVzcG9uc2USZgoRVmVyaWZ5Q2FtcHVzRW1haWwSJy51c2VyLnYxLlZlcmlmeU9yZ2FuaXphdGlvbkVtYWlsUmVxdWVzdBooLnVzZXIudjEuVmVyaWZ5T3JnYW5pemF0aW9uRW1haWxSZXNwb25zZRJ7ChxHZXRDYW1wdXNJbnZpdGF0aW9uQ29kZVVzYWdlEiwudXNlci52MS5HZXRDYW1wdXNJbnZpdGF0aW9uQ29kZVVzYWdlUmVxdWVzdBotLnVzZXIudjEuR2V0Q2FtcHVzSW52aXRhdGlvbkNvZGVVc2FnZVJlc3BvbnNlEooBCiFTZW5kQ2FtcHVzRW1haWxWZXJpZnlDb2RlV2l0aEF1dGgSMS51c2VyLnYxLlNlbmRDYW1wdXNFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlcXVlc3QaMi51c2VyLnYxLlNlbmRDYW1wdXNFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlc3BvbnNlQpYBCgtjb20udXNlci52MUIPVXNlclB1YmxpY1Byb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC91c2VyL3YxO3VzZXJ2MaICA1VYWKoCB1VzZXIuVjHKAgdVc2VyXFYx4gITVXNlclxWMVxHUEJNZXRhZGF0YeoCCFVzZXI6OlYxYgZwcm90bzM",[Wr,Ye,He,te,Ks]),z2=M(k2,0),Q2=z("CiF1c2VyL3YxL3VzZXJfZmVlZGJhY2tfYWRtaW4ucHJvdG8SB3VzZXIudjEixwEKGkxpc3RVc2VyRmVlZEJhY2tUYWdSZXF1ZXN0EhQKB2tleXdvcmQYASABKAlIAIgBARIUCgdpc19wdXNoGAIgASgISAGIAQESEwoGc3RhdHVzGAMgASgISAKIAQESDAoEcGFnZRgEIAEoBRIRCglwYWdlX3NpemUYBSABKAUSFgoJb25seV9yb290GAYgASgISAOIAQFCCgoIX2tleXdvcmRCCgoIX2lzX3B1c2hCCQoHX3N0YXR1c0IMCgpfb25seV9yb290IlQKG0xpc3RVc2VyRmVlZEJhY2tUYWdSZXNwb25zZRImCgR0YWdzGAEgAygLMhgudXNlci52MS5Vc2VyRmVlZEJhY2tUYWcSDQoFdG90YWwYAiABKAUiYAoaTGlzdEZlaXNodUdyb3VwSW5mb1JlcXVlc3QSFAoHY2hhdF9pZBgBIAEoCUgAiAEBEhQKB2tleXdvcmQYAiABKAlIAYgBAUIKCghfY2hhdF9pZEIKCghfa2V5d29yZCJHChtMaXN0RmVpc2h1R3JvdXBJbmZvUmVzcG9uc2USKAoGZ3JvdXBzGAEgAygLMhgudXNlci52MS5GZWlzaHVHcm91cEluZm8iTAoQQXV0b1JlcGx5Q29udGVudBIQCgh1c2Vfd2hlbhgBIAEoCRISCgplbl9jb250ZW50GAIgASgJEhIKCmNuX2NvbnRlbnQYAyABKAkizwIKGUFkZFVzZXJGZWVkQmFja1RhZ1JlcXVlc3QSFwoPdG9waWNfZ3JvdXBfdWlkGAUgASgJEg8KB2lzX3B1c2gYBiABKAgSEAoIcHJpb3JpdHkYByABKAUSDgoGc3RhdHVzGAggASgIEhEKCXBhcmVudF9pZBgJIAEoAxIZChFlbmFibGVfYXV0b19yZXBseRgKIAEoCBI1ChJhdXRvX3JlcGx5X2NvbnRlbnQYCyADKAsyGS51c2VyLnYxLkF1dG9SZXBseUNvbnRlbnQSGAoQZW5hYmxlX2F1dG9fbm90ZRgMIAEoCBIYChBhdXRvX25vdGVfZmllbGRzGA0gAygJEg4KBnByb21wdBgOIAEoCRIXCgRuYW1lGA8gASgJQgm6SAZyBBADGB4SEwoLZGVzY3JpcHRpb24YECABKAkSDwoHaXNfcm9vdBgRIAEoCCI+ChpBZGRVc2VyRmVlZEJhY2tUYWdSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiZQocRGVsZXRlVXNlckZlZWRCYWNrVGFnUmVxdWVzdBIKCgJpZBgBIAEoAxIRCglmaXJzdF90YWcYAiABKAkSFwoKc2Vjb25kX3RhZxgDIAEoCUgAiAEBQg0KC19zZWNvbmRfdGFnIkEKHURlbGV0ZVVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKGBAocVXBkYXRlVXNlckZlZWRCYWNrVGFnUmVxdWVzdBIKCgJpZBgBIAEoAxIcCg90b3BpY19ncm91cF91aWQYBiABKAlIAIgBARIUCgdpc19wdXNoGAcgASgISAGIAQESFQoIcHJpb3JpdHkYCCABKAVIAogBARITCgZzdGF0dXMYCSABKAhIA4gBARIWCglwYXJlbnRfaWQYCiABKANIBIgBARIeChFlbmFibGVfYXV0b19yZXBseRgLIAEoCEgFiAEBEjUKEmF1dG9fcmVwbHlfY29udGVudBgMIAMoCzIZLnVzZXIudjEuQXV0b1JlcGx5Q29udGVudBIdChBlbmFibGVfYXV0b19ub3RlGA0gASgISAaIAQESGAoQYXV0b19ub3RlX2ZpZWxkcxgOIAMoCRITCgZwcm9tcHQYDyABKAlIB4gBARIXCgRuYW1lGBAgASgJQgm6SAZyBBADGB4SGAoLZGVzY3JpcHRpb24YESABKAlICIgBAUISChBfdG9waWNfZ3JvdXBfdWlkQgoKCF9pc19wdXNoQgsKCV9wcmlvcml0eUIJCgdfc3RhdHVzQgwKCl9wYXJlbnRfaWRCFAoSX2VuYWJsZV9hdXRvX3JlcGx5QhMKEV9lbmFibGVfYXV0b19ub3RlQgkKB19wcm9tcHRCDgoMX2Rlc2NyaXB0aW9uIkEKHVVwZGF0ZVVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSJjChlBZGRGZWlzaHVHcm91cEluZm9SZXF1ZXN0EhIKCmdyb3VwX3R5cGUYASABKAUSEgoKZ3JvdXBfbmFtZRgCIAEoCRINCgVvd25lchgDIAEoCRIPCgdjaGF0X2lkGAQgASgJIj4KGkFkZEZlaXNodUdyb3VwSW5mb1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSK6AQocVXBkYXRlRmVpc2h1R3JvdXBJbmZvUmVxdWVzdBIKCgJpZBgBIAEoAxIXCgpncm91cF90eXBlGAMgASgFSACIAQESFwoKZ3JvdXBfbmFtZRgEIAEoCUgBiAEBEhIKBW93bmVyGAUgASgJSAKIAQESFAoHY2hhdF9pZBgGIAEoCUgDiAEBQg0KC19ncm91cF90eXBlQg0KC19ncm91cF9uYW1lQggKBl9vd25lckIKCghfY2hhdF9pZCJBCh1VcGRhdGVGZWlzaHVHcm91cEluZm9SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiKgocRGVsZXRlRmVpc2h1R3JvdXBJbmZvUmVxdWVzdBIKCgJpZBgBIAEoAyJBCh1EZWxldGVGZWlzaHVHcm91cEluZm9SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAki9wMKD1VzZXJGZWVkQmFja1RhZxIKCgJpZBgBIAEoAxIXCg90b3BpY19ncm91cF91aWQYBiABKAkSDwoHaXNfcHVzaBgHIAEoCBIQCghwcmlvcml0eRgIIAEoBRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZzdGF0dXMYCyABKAgSEgoKZ3JvdXBfbmFtZRgMIAEoCRIPCgdjaGF0X2lkGA0gASgJEhEKCXBhcmVudF9pZBgOIAEoAxIPCgdpc19yb290GA8gASgIEhkKEWVuYWJsZV9hdXRvX3JlcGx5GBAgASgIEjUKEmF1dG9fcmVwbHlfY29udGVudBgRIAMoCzIZLnVzZXIudjEuQXV0b1JlcGx5Q29udGVudBIYChBlbmFibGVfYXV0b19ub3RlGBIgASgIEhgKEGF1dG9fbm90ZV9maWVsZHMYEyADKAkSDgoGcHJvbXB0GBQgASgJEioKCGNoaWxkcmVuGBUgAygLMhgudXNlci52MS5Vc2VyRmVlZEJhY2tUYWcSDAoEbmFtZRgWIAEoCRITCgtkZXNjcmlwdGlvbhgXIAEoCSLSAQoPRmVpc2h1R3JvdXBJbmZvEgoKAmlkGAEgASgDEi4KCmNyZWF0ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgsKA3VpZBgFIAEoCRISCgpncm91cF90eXBlGAYgASgFEhIKCmdyb3VwX25hbWUYByABKAkSDQoFb3duZXIYCCABKAkSDwoHY2hhdF9pZBgJIAEoCSI3ChNMaXN0Rmlyc3RUYWdSZXF1ZXN0EhQKB2tleXdvcmQYAyABKAlIAIgBAUIKCghfa2V5d29yZCIzChRMaXN0Rmlyc3RUYWdSZXNwb25zZRIMCgR0YWdzGAEgAygJEg0KBXRvdGFsGAIgASgFIj4KFExpc3RSb290VGFnc1Jlc3BvbnNlEiYKBHRhZ3MYASADKAsyGC51c2VyLnYxLlVzZXJGZWVkQmFja1RhZyItCh9HZXRVc2VyRmVlZEJhY2tUYWdEZXRhaWxSZXF1ZXN0EgoKAmlkGAEgASgDIkkKIEdldFVzZXJGZWVkQmFja1RhZ0RldGFpbFJlc3BvbnNlEiUKA3RhZxgBIAEoCzIYLnVzZXIudjEuVXNlckZlZWRCYWNrVGFnMtMIChRVc2VyRmVlZEJhY2tUYWdBZG1pbhJiChNMaXN0VXNlckZlZWRCYWNrVGFnEiMudXNlci52MS5MaXN0VXNlckZlZWRCYWNrVGFnUmVxdWVzdBokLnVzZXIudjEuTGlzdFVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlIgASYgoTTGlzdEZlaXNodUdyb3VwSW5mbxIjLnVzZXIudjEuTGlzdEZlaXNodUdyb3VwSW5mb1JlcXVlc3QaJC51c2VyLnYxLkxpc3RGZWlzaHVHcm91cEluZm9SZXNwb25zZSIAEl8KEkFkZFVzZXJGZWVkQmFja1RhZxIiLnVzZXIudjEuQWRkVXNlckZlZWRCYWNrVGFnUmVxdWVzdBojLnVzZXIudjEuQWRkVXNlckZlZWRCYWNrVGFnUmVzcG9uc2UiABJoChVVcGRhdGVVc2VyRmVlZEJhY2tUYWcSJS51c2VyLnYxLlVwZGF0ZVVzZXJGZWVkQmFja1RhZ1JlcXVlc3QaJi51c2VyLnYxLlVwZGF0ZVVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlIgASaAoVRGVsZXRlVXNlckZlZWRCYWNrVGFnEiUudXNlci52MS5EZWxldGVVc2VyRmVlZEJhY2tUYWdSZXF1ZXN0GiYudXNlci52MS5EZWxldGVVc2VyRmVlZEJhY2tUYWdSZXNwb25zZSIAEl8KEkFkZEZlaXNodUdyb3VwSW5mbxIiLnVzZXIudjEuQWRkRmVpc2h1R3JvdXBJbmZvUmVxdWVzdBojLnVzZXIudjEuQWRkRmVpc2h1R3JvdXBJbmZvUmVzcG9uc2UiABJoChVVcGRhdGVGZWlzaHVHcm91cEluZm8SJS51c2VyLnYxLlVwZGF0ZUZlaXNodUdyb3VwSW5mb1JlcXVlc3QaJi51c2VyLnYxLlVwZGF0ZUZlaXNodUdyb3VwSW5mb1Jlc3BvbnNlIgASaAoVRGVsZXRlRmVpc2h1R3JvdXBJbmZvEiUudXNlci52MS5EZWxldGVGZWlzaHVHcm91cEluZm9SZXF1ZXN0GiYudXNlci52MS5EZWxldGVGZWlzaHVHcm91cEluZm9SZXNwb25zZSIAEk0KDExpc3RGaXJzdFRhZxIcLnVzZXIudjEuTGlzdEZpcnN0VGFnUmVxdWVzdBodLnVzZXIudjEuTGlzdEZpcnN0VGFnUmVzcG9uc2UiABJHCgxMaXN0Um9vdFRhZ3MSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHS51c2VyLnYxLkxpc3RSb290VGFnc1Jlc3BvbnNlIgAScQoYR2V0VXNlckZlZWRCYWNrVGFnRGV0YWlsEigudXNlci52MS5HZXRVc2VyRmVlZEJhY2tUYWdEZXRhaWxSZXF1ZXN0GikudXNlci52MS5HZXRVc2VyRmVlZEJhY2tUYWdEZXRhaWxSZXNwb25zZSIAQp0BCgtjb20udXNlci52MUIWVXNlckZlZWRiYWNrQWRtaW5Qcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z",[Ye,Kf,te]),L2=M(Q2,0),K2=z("ChJ1c2VyL3YxL3VzZXIucHJvdG8SB3VzZXIudjEiWAoaTGlzdFVzZXJDcmVkaXRzTG9nUmVzcG9uc2USKwoEbG9ncxgBIAMoCzIdLnVzZXIudjEuVXNlclNlc3Npb25DcmVkaXRMb2cSDQoFdG90YWwYAiABKAUivgEKFFVzZXJTZXNzaW9uQ3JlZGl0TG9nEhIKCnNlc3Npb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSEQoJY3JlYXRlX2F0GAMgASgFEg8KB2NyZWRpdHMYBCABKAUSJAoEdHlwZRgFIAEoDjIWLnVzZXIudjEuQ3JlZGl0TG9nVHlwZRI5ChFjb2xsYWJvcmF0ZV9pbmZvcxgGIAMoCzIeLnVzZXIudjEuQ3JlZGl0Q29sbGFib3JhdGVJbmZvImEKFUNyZWRpdENvbGxhYm9yYXRlSW5mbxIPCgd1c2VyX2lkGAEgASgJEhEKCXVzZXJfbmFtZRgCIAEoCRITCgt1c2VyX2F2YXRhchgDIAEoCRIPCgdjcmVkaXRzGAQgASgFIjwKGUxpc3RVc2VyQ3JlZGl0c0xvZ1JlcXVlc3QSDAoEcGFnZRgBIAEoBRIRCglwYWdlX3NpemUYAiABKAUiFQoTR2V0RnJlZVF1b3RhUmVxdWVzdCI3ChRHZXRGcmVlUXVvdGFSZXNwb25zZRISCgpsZWZ0X3F1b3RhGAEgASgFEgsKA3R0bBgCIAEoAyJyCghUZWFtSW5mbxINCgVjb3VudBgBIAEoBRIVCgh0ZWFtX3VpZBgCIAEoCUgAiAEBEhgKEG9yaWdpbmFsX3VzZXJfaWQYAyABKAkSGQoRb3JpZ2luYWxfdXNlcl91aWQYBCABKAlCCwoJX3RlYW1fdWlkIhEKD1VzZXJJbmZvUmVxdWVzdCLgBgoQVXNlckluZm9SZXNwb25zZRIPCgd1c2VyX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCWZpcnN0bmFtZRgDIAEoCRIQCghsYXN0bmFtZRgEIAEoCRITCgtkaXNwbGF5bmFtZRgFIAEoCRIQCghuaWNrbmFtZRgGIAEoCRIOCgZhdmF0YXIYByABKAkSEAoIaXNfYWxwaGEYCCABKAgSEwoLaW5fd2FpdGxpc3QYCSABKAgSGgoSY3VycmVudF9wZXJpb2RfZW5kGAwgASgDEhwKFGNhbmNlbF9hdF9wZXJpb2RfZW5kGA0gASgIEg8KB2lzX2JldGEYDiABKAgSGAoQcGF5bWVudF9wbGF0Zm9ybRgPIAEoCRILCgN1aWQYECABKAkSGwoTY29uY3VycmVudF9zZXNzaW9ucxgRIAEoBRIVCg1wbGF0Zm9ybV9saXN0GBIgAygJEi8KJ2Nhbl9yZWNlaXZlX2V4dHJhX2NyZWRpdHNfZm9yX3N1YnNjcmliZRgTIAEoCBItCiVjYW5fcmVjZWl2ZV9leHRyYV9jcmVkaXRzX2Zvcl91cGdyYWRlGBQgASgIEjgKE3N1YnNjcmlwdGlvbl9zdGF0dXMYFSABKA4yGy51c2VyLnYxLlN1YnNjcmlwdGlvblN0YXR1cxIaChJtZW1iZXJzaGlwX3ZlcnNpb24YHiABKAkSGwoTbWVtYmVyc2hpcF9pbnRlcnZhbBgfIAEoCRIfChduZXh0X21lbWJlcnNoaXBfdmVyc2lvbhggIAEoCRIoCgl1c2VyX3R5cGUYKCABKA4yFS51c2VyLnYxLlVzZXJUeXBlRW51bRIkCgl0ZWFtX2luZm8YKSABKAsyES51c2VyLnYxLlRlYW1JbmZvEhsKE2lzX21lbWJlcnNoaXBfdHJpYWwYISABKAgSJwoIZWR1X2luZm8YIiABKAsyEC51c2VyLnYxLkVkdUluZm9IAIgBARIUCgxzbXNfdmVyaWZpZWQYIyABKAgSIAoYbmV4dF9tZW1iZXJzaGlwX2ludGVydmFsGCQgASgJEg0KBXBlcmtzGCUgASgIQgsKCV9lZHVfaW5mb0oECAoQC0oECAsQDFILdmlwX3ZlcnNpb25SDHZpcF9pbnRlcnZhbCKWAQoHRWR1SW5mbxILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgllZHVfZW1haWwYAyABKAkSGQoRcmVjb21tZW5kX2NyZWRpdHMYBCABKAUSGAoQcmVnaXN0ZXJfY3JlZGl0cxgFIAEoBRITCgtlZHVfZG9tYWlucxgGIAMoCRITCgt1bmlxdWVfbmFtZRgHIAEoCSJ/ChpDaGVja0ludml0YXRpb25Db2RlUmVxdWVzdBIXCgRjb2RlGAEgASgJQgm6SAZyBBAGGCASKAobaGNhcHRjaGFfY2hhbGxlbmdlX3Jlc3BvbnNlGAIgASgJSACIAQFCHgocX2hjYXB0Y2hhX2NoYWxsZW5nZV9yZXNwb25zZSIdChtDaGVja0ludml0YXRpb25Db2RlUmVzcG9uc2UiPAoGQXZhdGFyEhEKCWZpbGVfbmFtZRgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDAoEZGF0YRgDIAEoCSJ2ChhVcGRhdGVVc2VyUHJvZmlsZVJlcXVlc3QSJAoMbmV3X25pY2tuYW1lGAIgASgJQgm6SAZyBBABGCBIAIgBARIjCgpuZXdfYXZhdGFyGAMgASgLMg8udXNlci52MS5BdmF0YXJCDwoNX25ld19uaWNrbmFtZSIbChlVcGRhdGVVc2VyUHJvZmlsZVJlc3BvbnNlIuEBChpDcmVhdGVRdWVzdGlvbm5haXJlUmVxdWVzdBIOCgZyZWFzb24YASABKAkSKwoKZXh0cmFfZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFwoKcHJvZmVzc2lvbhgDIAEoCUgAiAEBEiEKFHNvY2lhbF9tZWRpYV9hY2NvdW50GAQgASgJSAGIAQESFQoIaW5kdXN0cnkYBSABKAlIAogBAUINCgtfcHJvZmVzc2lvbkIXChVfc29jaWFsX21lZGlhX2FjY291bnRCCwoJX2luZHVzdHJ5Ih0KG0NyZWF0ZVF1ZXN0aW9ubmFpcmVSZXNwb25zZSJPChpHZXRVc2VyQ2xpZW50Q29uZmlnUmVxdWVzdBIxCgtjb25maWdfa2V5cxgBIAMoDjIcLnVzZXIudjEuVXNlckNsaWVudENvbmZpZ0tleSLoAgobR2V0VXNlckNsaWVudENvbmZpZ1Jlc3BvbnNlEiEKFHJlY3ZfbWFya2V0aW5nX2VtYWlsGAEgASgISACIAQESGQoMaGFzX2ludGVyZXN0GAIgASgISAGIAQESJAoXc2Vzc2lvbl93YWl0X2RvbmVfZW1haWwYByABKAhIAogBARI6ChJhZ2VudF9kZXBsb3lfc3BhY2UYCiABKA4yGS51c2VyLnYxLkFnZW50RGVwbG95U3BhY2VIA4gBARIqCh1oYXNfc2hvd25fZWR1X3RlYW1fam9pbl9wb3B1cBgPIAEoCEgEiAEBQhcKFV9yZWN2X21hcmtldGluZ19lbWFpbEIPCg1faGFzX2ludGVyZXN0QhoKGF9zZXNzaW9uX3dhaXRfZG9uZV9lbWFpbEIVChNfYWdlbnRfZGVwbG95X3NwYWNlQiAKHl9oYXNfc2hvd25fZWR1X3RlYW1fam9pbl9wb3B1cCLnAgoaU2V0VXNlckNsaWVudENvbmZpZ1JlcXVlc3QSIQoUcmVjdl9tYXJrZXRpbmdfZW1haWwYASABKAhIAIgBARIZCgxoYXNfaW50ZXJlc3QYAiABKAhIAYgBARIkChdzZXNzaW9uX3dhaXRfZG9uZV9lbWFpbBgHIAEoCEgCiAEBEjoKEmFnZW50X2RlcGxveV9zcGFjZRgKIAEoDjIZLnVzZXIudjEuQWdlbnREZXBsb3lTcGFjZUgDiAEBEioKHWhhc19zaG93bl9lZHVfdGVhbV9qb2luX3BvcHVwGA8gASgISASIAQFCFwoVX3JlY3ZfbWFya2V0aW5nX2VtYWlsQg8KDV9oYXNfaW50ZXJlc3RCGgoYX3Nlc3Npb25fd2FpdF9kb25lX2VtYWlsQhUKE19hZ2VudF9kZXBsb3lfc3BhY2VCIAoeX2hhc19zaG93bl9lZHVfdGVhbV9qb2luX3BvcHVwIh0KG1NldFVzZXJDbGllbnRDb25maWdSZXNwb25zZSIeChxHZXRVc2VyR2xvYmFsU2V0dGluZ3NSZXF1ZXN0IjMKHUdldFVzZXJHbG9iYWxTZXR0aW5nc1Jlc3BvbnNlEhIKCnN1YnNjcmliZWQYASABKAgiHAoaR2V0QXZhaWxhYmxlQ3JlZGl0c1JlcXVlc3QitgIKG0dldEF2YWlsYWJsZUNyZWRpdHNSZXNwb25zZRIVCg10b3RhbF9jcmVkaXRzGAEgASgFEhQKDGZyZWVfY3JlZGl0cxgCIAEoBRIYChBwZXJpb2RpY19jcmVkaXRzGAMgASgFEhUKDWFkZG9uX2NyZWRpdHMYBCABKAUSGwoTcHJvX21vbnRobHlfY3JlZGl0cxgFIAEoBRIVCg1ldmVudF9jcmVkaXRzGAYgASgFEhcKD3JlZnJlc2hfY3JlZGl0cxgUIAEoBRIbChNtYXhfcmVmcmVzaF9jcmVkaXRzGBUgASgFEjUKEW5leHRfcmVmcmVzaF90aW1lGBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChByZWZyZXNoX2ludGVydmFsGBcgASgJIs8BChpQZXJzb25hbEludml0YXRpb25Db2RlSW5mbxIKCgJpZBgBIAEoAxIpCgRraW5kGAIgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmQSEwoLaW52aXRlX2NvZGUYAyABKAkSEAoIbWF4X3VzZXMYBCABKAUSEgoKdXNlZF9jb3VudBgFIAEoBRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdwZW5kaW5nGAggASgIIiMKIUdldFBlcnNvbmFsSW52aXRhdGlvbkNvZGVzUmVxdWVzdCJjCiJHZXRQZXJzb25hbEludml0YXRpb25Db2Rlc1Jlc3BvbnNlEj0KEGludml0YXRpb25fY29kZXMYASADKAsyIy51c2VyLnYxLlBlcnNvbmFsSW52aXRhdGlvbkNvZGVJbmZvIlAKF1NldFVzZXJJbnRlcmVzdHNSZXF1ZXN0EiMKBHRhZ3MYASADKA4yFS51c2VyLnYxLlVzZXJJbnRlcmVzdBIQCghmZWVkYmFjaxgCIAEoCSIaChhTZXRVc2VySW50ZXJlc3RzUmVzcG9uc2UiEgoQR2V0Q29ubmVjdEFQUFJlcSJvCgtDb25uZWN0SW5mbxINCgV0b2tlbhgBIAEoCRIvCgtleHBpcmVfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoHd2ViX3VybBgEIAEoCUgAiAEBQgoKCF93ZWJfdXJsIm8KCkNvbm5lY3RBUFASDAoEdHlwZRgBIAEoCRIRCgljb25uZWN0ZWQYAiABKAgSLwoMY29ubmVjdF9pbmZvGAMgASgLMhQudXNlci52MS5Db25uZWN0SW5mb0gAiAEBQg8KDV9jb25uZWN0X2luZm8iPgoSQ29ubmVjdEFQUFJlc3BvbnNlEigKC2Nvbm5lY3RfYXBwGAEgAygLMhMudXNlci52MS5Db25uZWN0QVBQIjUKGEdldEdvb2dsZURyaXZlQXV0aFVybFJlcRIZChFjYWxsYmFja19yZWRpcmVjdBgBIAEoCSIsCh1HZXRHb29nbGVEcml2ZUF1dGhVcmxSZXNwb25zZRILCgN1cmwYASABKAkiIAoQRGlzY29ubmVjdEFQUFJlcRIMCgR0eXBlGAEgASgJIhcKFURpc2Nvbm5lY3RBUFBSZXNwb25zZSKRAQogU2VuZFBob25lVmVyaWZpY2F0aW9uQ29kZVJlcXVlc3QSFAoMcGhvbmVfbnVtYmVyGAEgASgJEhMKC3JlZ2lvbl9jb2RlGAIgASgJEg4KBmxvY2FsZRgDIAEoCRIyCgdjaGFubmVsGAQgASgOMiEudXNlci52MS5QaG9uZVZlcmlmaWNhdGlvbkNoYW5uZWwiIwohU2VuZFBob25lVmVyaWZpY2F0aW9uQ29kZVJlc3BvbnNlIl0KFUJpbmRQaG9uZVRyYWl0UmVxdWVzdBIUCgxwaG9uZV9udW1iZXIYASABKAkSEwoLcmVnaW9uX2NvZGUYAiABKAkSGQoRcGhvbmVfdmVyaWZ5X2NvZGUYAyABKAkiGAoWQmluZFBob25lVHJhaXRSZXNwb25zZSIXChVMaXN0UmVnaW9uQ29kZVJlcXVlc3QiJwoKUmVnaW9uQ29kZRILCgNpc28YASABKAkSDAoEY29kZRgCIAEoCSJDChZMaXN0UmVnaW9uQ29kZVJlc3BvbnNlEikKDHJlZ2lvbl9jb2RlcxgBIAMoCzITLnVzZXIudjEuUmVnaW9uQ29kZSLiAQoVQWN0aXZpdHlUeXBlUGVya3NEYXRhEhEKCWZ1bGxfbmFtZRgBIAEoCRINCgVwaG9uZRgCIAEoCRINCgVlbWFpbBgDIAEoCRIPCgdhZGRyZXNzGAQgASgJEh0KEGFkZHJlc3Nfb3B0aW9uYWwYBSABKAlIAIgBARITCgtjb3VudHJ5X2lzbxgHIAEoCRIMCgRjaXR5GAggASgJEg0KBXN0YXRlGAkgASgJEgsKA3ppcBgKIAEoCRIUCgx0X3NoaXJ0X3NpemUYCyABKAlCEwoRX2FkZHJlc3Nfb3B0aW9uYWwiWworQ2hlY2tBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVxdWVzdBIsCg1hY3Rpdml0eV90eXBlGAEgASgOMhUudXNlci52MS5BY3Rpdml0eVR5cGUiRgosQ2hlY2tBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVzcG9uc2USFgoOaGFzX3Blcm1pc3Npb24YASABKAgimAEKKkNyZWF0ZU9yVXBkYXRlQWN0aXZpdHlRdWVzdGlvbm5haXJlUmVxdWVzdBIsCg1hY3Rpdml0eV90eXBlGAEgASgOMhUudXNlci52MS5BY3Rpdml0eVR5cGUSNAoKcGVya3NfZGF0YRgCIAEoCzIeLnVzZXIudjEuQWN0aXZpdHlUeXBlUGVya3NEYXRhSABCBgoEZGF0YSI6CitDcmVhdGVPclVwZGF0ZUFjdGl2aXR5UXVlc3Rpb25uYWlyZVJlc3BvbnNlEgsKA3VpZBgBIAEoCSJPCh9HZXRBY3Rpdml0eVF1ZXN0aW9ubmFpcmVSZXF1ZXN0EiwKDWFjdGl2aXR5X3R5cGUYASABKA4yFS51c2VyLnYxLkFjdGl2aXR5VHlwZSKdAQogR2V0QWN0aXZpdHlRdWVzdGlvbm5haXJlUmVzcG9uc2USDQoFdmFsaWQYASABKAgSLAoNYWN0aXZpdHlfdHlwZRgCIAEoDjIVLnVzZXIudjEuQWN0aXZpdHlUeXBlEjQKCnBlcmtzX2RhdGEYAyABKAsyHi51c2VyLnYxLkFjdGl2aXR5VHlwZVBlcmtzRGF0YUgAQgYKBGRhdGEiOQoaU2VuZEludml0YXRpb25FbWFpbFJlcXVlc3QSDQoFZW1haWwYASABKAkSDAoEY29kZRgCIAEoCSIuChtTZW5kSW52aXRhdGlvbkVtYWlsUmVzcG9uc2USDwoHcGVuZGluZxgBIAEoCCI6Ch1HZXRPbmVEcml2ZVBlcnNvbmFsQXV0aFVybFJlcRIZChFjYWxsYmFja19yZWRpcmVjdBgBIAEoCSIxCiJHZXRPbmVEcml2ZVBlcnNvbmFsQXV0aFVybFJlc3BvbnNlEgsKA3VybBgBIAEoCSI6Ch1HZXRPbmVEcml2ZUJ1c2luZXNzQXV0aFVybFJlcRIZChFjYWxsYmFja19yZWRpcmVjdBgBIAEoCSIxCiJHZXRPbmVEcml2ZUJ1c2luZXNzQXV0aFVybFJlc3BvbnNlEgsKA3VybBgBIAEoCSJMChhJbkV4cGVyaW1lbnRHcm91cFJlcXVlc3QSMAoPZXhwZXJpbWVudF90eXBlGAEgASgOMhcudXNlci52MS5FeHBlcmltZW50VHlwZSI4ChlJbkV4cGVyaW1lbnRHcm91cFJlc3BvbnNlEhsKE2luX2V4cGVyaW1lbnRfZ3JvdXAYASABKAgiMgohR2V0T25lRHJpdmVCdXNpbmVzc1Njb3BlZFRva2VuUmVxEg0KBXNjb3BlGAEgASgJIksKJkdldE9uZURyaXZlQnVzaW5lc3NTY29wZWRUb2tlblJlc3BvbnNlEg0KBXRva2VuGAEgASgJEhIKCmV4cGlyZXNfaW4YAiABKAUq0wEKElN1YnNjcmlwdGlvblN0YXR1cxIbChdPdGhlclN1YnNjcmlwdGlvblN0YXR1cxAAEhoKFkluaXRTdWJzY3JpcHRpb25TdGF0dXMQARIcChhBY3RpdmVTdWJzY3JpcHRpb25TdGF0dXMQAhIdChlQYXN0RHVlU3Vic2NyaXB0aW9uU3RhdHVzEAMSJwojSW5jb21wbGV0ZUV4cGlyZWRTdWJzY3JpcHRpb25TdGF0dXMQBBIeChpDYW5jZWxlZFN1YnNjcmlwdGlvblN0YXR1cxAFKocEChNVc2VyQ2xpZW50Q29uZmlnS2V5EiYKIlVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfVU5TUEVDSUZJRUQQABIvCitVU0VSX0NMSUVOVF9DT05GSUdfS0VZX1JFQ1ZfTUFSS0VUSU5HX0VNQUlMEAESJwojVVNFUl9DTElFTlRfQ09ORklHX0tFWV9IQVNfSU5URVJFU1QQAhIuCipVU0VSX0NMSUVOVF9DT05GSUdfS0VZX09QRVJBVElPTl9QTEFZX0NBUkQQAxInCiNVU0VSX0NMSUVOVF9DT05GSUdfS0VZX1ZFUklGWV9QSE9ORRAEEiQKIFVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfVElNRV9aT05FEAUSKwonVVNFUl9DTElFTlRfQ09ORklHX0tFWV9USU1FX1pPTkVfT0ZGU0VUEAYSMgouVVNFUl9DTElFTlRfQ09ORklHX0tFWV9TRVNTSU9OX1dBSVRfRE9ORV9FTUFJTBAHEiUKIVVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfT05CT0FSRElORxAIEi0KKVVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfQUdFTlRfREVQTE9ZX1NQQUNFEAoSOAo0VVNFUl9DTElFTlRfQ09ORklHX0tFWV9IQVNfU0hPV05fRURVX1RFQU1fSk9JTl9QT1BVUBAPKoIBChBBZ2VudERlcGxveVNwYWNlEiIKHkFHRU5UX0RFUExPWV9TUEFDRV9VTlNQRUNJRklFRBAAEiUKIUFHRU5UX0RFUExPWV9TUEFDRV9BU0tfRVZFUllfVElNRRABEiMKH0FHRU5UX0RFUExPWV9TUEFDRV9BTFdBWVNfQUxMT1cQAir+BgoMVXNlckludGVyZXN0Eh0KGVVTRVJfSU5URVJFU1RfVU5TUEVDSUZJRUQQABIjCh9VU0VSX0lOVEVSRVNUX0lORFVTVFJZX0FOQUxZU0lTEAESIQodVVNFUl9JTlRFUkVTVF9QT0xJQ1lfUkVTRUFSQ0gQAhIkCiBVU0VSX0lOVEVSRVNUX1BFUlNPTkFfUFJPRklMTElORxADEh8KG1VTRVJfSU5URVJFU1RfREFUQV9JTlNJR0hUUxAEEiUKIVVTRVJfSU5URVJFU1RfV0VCU0lURV9QUk9UT1RZUElORxAKEiIKHlVTRVJfSU5URVJFU1RfR0FNRV9ERVZFTE9QTUVOVBALEhwKGFVTRVJfSU5URVJFU1RfQVBQX0RFU0lHThAMEiMKH1VTRVJfSU5URVJFU1RfSU5URVJBQ1RJVkVfUEFHRVMQDRIgChxVU0VSX0lOVEVSRVNUX0FHRU5UX0JVSUxESU5HEBQSIgoeVVNFUl9JTlRFUkVTVF9UT09MX1BST1RPVFlQSU5HEBUSIQodVVNFUl9JTlRFUkVTVF9BVVRPTUFUSU9OX0ZMT1cQFhIgChxVU0VSX0lOVEVSRVNUX0FJX0lOVEVHUkFUSU9OEBcSIQodVVNFUl9JTlRFUkVTVF9DT1VSU0VfQ1JFQVRJT04QHhIgChxVU0VSX0lOVEVSRVNUX0xFQVJOSU5HX1RPT0xTEB8SIwofVVNFUl9JTlRFUkVTVF9LTk9XTEVER0VfTUFQUElORxAgEiIKHlVTRVJfSU5URVJFU1RfVEVBQ0hJTkdfQ09OVEVOVBAhEiAKHFVTRVJfSU5URVJFU1RfUkVQT1JUX1dSSVRJTkcQKBIgChxVU0VSX0lOVEVSRVNUX1NUT1JZX0NSRUFUSU9OECkSIQodVVNFUl9JTlRFUkVTVF9WSURFT19TQ1JJUFRJTkcQKhIgChxVU0VSX0lOVEVSRVNUX01FRElBX1BMQU5OSU5HECsSIQodVVNFUl9JTlRFUkVTVF9NQVJLRVRfUkVTRUFSQ0gQMhIlCiFVU0VSX0lOVEVSRVNUX0lOVkVTVE1FTlRfQU5BTFlTSVMQMxIkCiBVU0VSX0lOVEVSRVNUX0ZJTkFOQ0lBTF9NT0RFTElORxA0EiAKHFVTRVJfSU5URVJFU1RfREFUQV9SRVBPUlRJTkcQNSq5AQoYUGhvbmVWZXJpZmljYXRpb25DaGFubmVsEioKJlBIT05FX1ZFUklGSUNBVElPTl9DSEFOTkVMX1VOU1BFQ0lGSUVEEAASIgoeUEhPTkVfVkVSSUZJQ0FUSU9OX0NIQU5ORUxfU01TEAESJwojUEhPTkVfVkVSSUZJQ0FUSU9OX0NIQU5ORUxfV0hBVFNBUFAQAhIkCiBQSE9ORV9WRVJJRklDQVRJT05fQ0hBTk5FTF9WT0lDRRADKlEKDkV4cGVyaW1lbnRUeXBlEh8KG0VYUEVSSU1FTlRfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkVYUEVSSU1FTlRfVFlQRV9PTkJPQVJESU5HEAEyzBQKC1VzZXJTZXJ2aWNlEkEKCFVzZXJJbmZvEhgudXNlci52MS5Vc2VySW5mb1JlcXVlc3QaGS51c2VyLnYxLlVzZXJJbmZvUmVzcG9uc2UiABJgChNDaGVja0ludml0YXRpb25Db2RlEiMudXNlci52MS5DaGVja0ludml0YXRpb25Db2RlUmVxdWVzdBokLnVzZXIudjEuQ2hlY2tJbnZpdGF0aW9uQ29kZVJlc3BvbnNlEloKEVVwZGF0ZVVzZXJQcm9maWxlEiEudXNlci52MS5VcGRhdGVVc2VyUHJvZmlsZVJlcXVlc3QaIi51c2VyLnYxLlVwZGF0ZVVzZXJQcm9maWxlUmVzcG9uc2USYAoTQ3JlYXRlUXVlc3Rpb25uYWlyZRIjLnVzZXIudjEuQ3JlYXRlUXVlc3Rpb25uYWlyZVJlcXVlc3QaJC51c2VyLnYxLkNyZWF0ZVF1ZXN0aW9ubmFpcmVSZXNwb25zZRJLCgxHZXRGcmVlUXVvdGESHC51c2VyLnYxLkdldEZyZWVRdW90YVJlcXVlc3QaHS51c2VyLnYxLkdldEZyZWVRdW90YVJlc3BvbnNlEmAKE0dldFVzZXJDbGllbnRDb25maWcSIy51c2VyLnYxLkdldFVzZXJDbGllbnRDb25maWdSZXF1ZXN0GiQudXNlci52MS5HZXRVc2VyQ2xpZW50Q29uZmlnUmVzcG9uc2USYAoTU2V0VXNlckNsaWVudENvbmZpZxIjLnVzZXIudjEuU2V0VXNlckNsaWVudENvbmZpZ1JlcXVlc3QaJC51c2VyLnYxLlNldFVzZXJDbGllbnRDb25maWdSZXNwb25zZRJdChJMaXN0VXNlckNyZWRpdHNMb2cSIi51c2VyLnYxLkxpc3RVc2VyQ3JlZGl0c0xvZ1JlcXVlc3QaIy51c2VyLnYxLkxpc3RVc2VyQ3JlZGl0c0xvZ1Jlc3BvbnNlEmYKFUdldFVzZXJHbG9iYWxTZXR0aW5ncxIlLnVzZXIudjEuR2V0VXNlckdsb2JhbFNldHRpbmdzUmVxdWVzdBomLnVzZXIudjEuR2V0VXNlckdsb2JhbFNldHRpbmdzUmVzcG9uc2USYAoTR2V0QXZhaWxhYmxlQ3JlZGl0cxIjLnVzZXIudjEuR2V0QXZhaWxhYmxlQ3JlZGl0c1JlcXVlc3QaJC51c2VyLnYxLkdldEF2YWlsYWJsZUNyZWRpdHNSZXNwb25zZRJ1ChpHZXRQZXJzb25hbEludml0YXRpb25Db2RlcxIqLnVzZXIudjEuR2V0UGVyc29uYWxJbnZpdGF0aW9uQ29kZXNSZXF1ZXN0GisudXNlci52MS5HZXRQZXJzb25hbEludml0YXRpb25Db2Rlc1Jlc3BvbnNlElcKEFNldFVzZXJJbnRlcmVzdHMSIC51c2VyLnYxLlNldFVzZXJJbnRlcmVzdHNSZXF1ZXN0GiEudXNlci52MS5TZXRVc2VySW50ZXJlc3RzUmVzcG9uc2USRwoNR2V0Q29ubmVjdEFQUBIZLnVzZXIudjEuR2V0Q29ubmVjdEFQUFJlcRobLnVzZXIudjEuQ29ubmVjdEFQUFJlc3BvbnNlEkoKDURpc2Nvbm5lY3RBUFASGS51c2VyLnYxLkRpc2Nvbm5lY3RBUFBSZXEaHi51c2VyLnYxLkRpc2Nvbm5lY3RBUFBSZXNwb25zZRJiChVHZXRHb29nbGVEcml2ZUF1dGhVcmwSIS51c2VyLnYxLkdldEdvb2dsZURyaXZlQXV0aFVybFJlcRomLnVzZXIudjEuR2V0R29vZ2xlRHJpdmVBdXRoVXJsUmVzcG9uc2UScQoaR2V0T25lRHJpdmVQZXJzb25hbEF1dGhVcmwSJi51c2VyLnYxLkdldE9uZURyaXZlUGVyc29uYWxBdXRoVXJsUmVxGisudXNlci52MS5HZXRPbmVEcml2ZVBlcnNvbmFsQXV0aFVybFJlc3BvbnNlEnEKGkdldE9uZURyaXZlQnVzaW5lc3NBdXRoVXJsEiYudXNlci52MS5HZXRPbmVEcml2ZUJ1c2luZXNzQXV0aFVybFJlcRorLnVzZXIudjEuR2V0T25lRHJpdmVCdXNpbmVzc0F1dGhVcmxSZXNwb25zZRJ9Ch5HZXRPbmVEcml2ZUJ1c2luZXNzU2NvcGVkVG9rZW4SKi51c2VyLnYxLkdldE9uZURyaXZlQnVzaW5lc3NTY29wZWRUb2tlblJlcRovLnVzZXIudjEuR2V0T25lRHJpdmVCdXNpbmVzc1Njb3BlZFRva2VuUmVzcG9uc2USYAoTU2VuZEludml0YXRpb25FbWFpbBIjLnVzZXIudjEuU2VuZEludml0YXRpb25FbWFpbFJlcXVlc3QaJC51c2VyLnYxLlNlbmRJbnZpdGF0aW9uRW1haWxSZXNwb25zZRKTAQokQ2hlY2tBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uEjQudXNlci52MS5DaGVja0FjdGl2aXR5UXVlc3Rpb25uYWlyZVBlcm1pc3Npb25SZXF1ZXN0GjUudXNlci52MS5DaGVja0FjdGl2aXR5UXVlc3Rpb25uYWlyZVBlcm1pc3Npb25SZXNwb25zZRKQAQojQ3JlYXRlT3JVcGRhdGVBY3Rpdml0eVF1ZXN0aW9ubmFpcmUSMy51c2VyLnYxLkNyZWF0ZU9yVXBkYXRlQWN0aXZpdHlRdWVzdGlvbm5haXJlUmVxdWVzdBo0LnVzZXIudjEuQ3JlYXRlT3JVcGRhdGVBY3Rpdml0eVF1ZXN0aW9ubmFpcmVSZXNwb25zZRJvChhHZXRBY3Rpdml0eVF1ZXN0aW9ubmFpcmUSKC51c2VyLnYxLkdldEFjdGl2aXR5UXVlc3Rpb25uYWlyZVJlcXVlc3QaKS51c2VyLnYxLkdldEFjdGl2aXR5UXVlc3Rpb25uYWlyZVJlc3BvbnNlEnIKGVNlbmRQaG9uZVZlcmlmaWNhdGlvbkNvZGUSKS51c2VyLnYxLlNlbmRQaG9uZVZlcmlmaWNhdGlvbkNvZGVSZXF1ZXN0GioudXNlci52MS5TZW5kUGhvbmVWZXJpZmljYXRpb25Db2RlUmVzcG9uc2USUQoOQmluZFBob25lVHJhaXQSHi51c2VyLnYxLkJpbmRQaG9uZVRyYWl0UmVxdWVzdBofLnVzZXIudjEuQmluZFBob25lVHJhaXRSZXNwb25zZRJRCg5MaXN0UmVnaW9uQ29kZRIeLnVzZXIudjEuTGlzdFJlZ2lvbkNvZGVSZXF1ZXN0Gh8udXNlci52MS5MaXN0UmVnaW9uQ29kZVJlc3BvbnNlElwKEUluRXhwZXJpbWVudEdyb3VwEiEudXNlci52MS5JbkV4cGVyaW1lbnRHcm91cFJlcXVlc3QaIi51c2VyLnYxLkluRXhwZXJpbWVudEdyb3VwUmVzcG9uc2UiAEKQAQoLY29tLnVzZXIudjFCCVVzZXJQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z",[Ye,He,te,Wr]),T2=M(K2,0),M2=z("Ch51c2VyL3YxL3VzZXJfYXV0aF9wdWJsaWMucHJvdG8SB3VzZXIudjEi5wMKC0F1dGhDb21tYW5kEhAKA3V0bRgBIAEoCUgAiAEBEhIKBXJlZmVyGAIgASgJSAGIAQESGAoLZmlyc3RfZW50cnkYAyABKAlIAogBARIgChNmaXJzdF9mcm9tX3BsYXRmb3JtGAQgASgJSAOIAQESGQoMaW5zdGFsbF9mcm9tGAUgASgJSASIAQESEwoGbG9jYWxlGAYgASgJSAWIAQESFgoJZ3BzX2FkX2lkGAcgASgJSAaIAQESEQoEaWRmYRgIIAEoCUgHiAEBEhIKBWFkX2lkGAkgASgJSAiIAQESFwoKdXRtX3NvdXJjZRgKIAEoCUgJiAEBEhkKDHV0bV9jYW1wYWlnbhgLIAEoCUgKiAEBEg8KAnR6GAwgASgJSAuIAQESFgoJdHpfb2Zmc2V0GA0gASgJSAyIAQFCBgoEX3V0bUIICgZfcmVmZXJCDgoMX2ZpcnN0X2VudHJ5QhYKFF9maXJzdF9mcm9tX3BsYXRmb3JtQg8KDV9pbnN0YWxsX2Zyb21CCQoHX2xvY2FsZUIMCgpfZ3BzX2FkX2lkQgcKBV9pZGZhQggKBl9hZF9pZEINCgtfdXRtX3NvdXJjZUIPCg1fdXRtX2NhbXBhaWduQgUKA190ekIMCgpfdHpfb2Zmc2V0IrsBChZSZWdpc3RlckJ5RW1haWxSZXF1ZXN0EjMKEGF1dGhfY29tbWFuZF9jbWQYASABKAsyFC51c2VyLnYxLkF1dGhDb21tYW5kSACIAQESDQoFZW1haWwYAiABKAkSEwoLdmVyaWZ5X2NvZGUYAyABKAkSDAoEbmFtZRgEIAEoCRIQCghwYXNzd29yZBgFIAEoCRITCgtpbnZpdGVfY29kZRgGIAEoCUITChFfYXV0aF9jb21tYW5kX2NtZCIoChdSZWdpc3RlckJ5RW1haWxSZXNwb25zZRINCgV0b2tlbhgBIAEoCSKoAQoWT2F1dGgyQXV0aG9yaXplUmVxdWVzdBIvCgxhdXRoX2NvbW1hbmQYASABKAsyFC51c2VyLnYxLkF1dGhDb21tYW5kSACIAQESFAoMcmVkaXJlY3RfdXJsGAIgASgJEhMKC2ludml0ZV9jb2RlGAMgASgJEiEKBHR5cGUYBCABKA4yEy51c2VyLnYxLk9BdXRoMlR5cGVCDwoNX2F1dGhfY29tbWFuZCIvChdPYXV0aDJBdXRob3JpemVSZXNwb25zZRIUCgxyZWRpcmVjdF91cmwYASABKAkiTAoTTG9naW5CeUVtYWlsUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIUCgxjYXB0Y2hhX2NvZGUYAyABKAkiJQoUTG9naW5CeUVtYWlsUmVzcG9uc2USDQoFdG9rZW4YASABKAkibQofUmVzZXRQYXNzd29yZFdpdGhDYXB0Y2hhUmVxdWVzdBINCgVlbWFpbBgBIAEoCRITCgt2ZXJpZnlfY29kZRgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIUCgxjYXB0Y2hhX2NvZGUYBCABKAkiIgogUmVzZXRQYXNzd29yZFdpdGhDYXB0Y2hhUmVzcG9uc2UiLgodSW50ZXJuYWxHZXRVc2VyQnlFbWFpbFJlcXVlc3QSDQoFZW1haWwYASABKAkiMQoeSW50ZXJuYWxHZXRVc2VyQnlFbWFpbFJlc3BvbnNlEg8KB3VzZXJfaWQYASABKAkidgolU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhDYXB0Y2hhUmVxdWVzdBIUCgxjYXB0Y2hhX2NvZGUYASABKAkSDQoFZW1haWwYAiABKAkSKAoGYWN0aW9uGAMgASgOMhgudXNlci52MS5TZW5kRW1haWxBY3Rpb24iSgomU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhDYXB0Y2hhUmVzcG9uc2USIAoYcmVnaXN0ZXJlZF9wbGF0Zm9ybV9saXN0GAEgAygJIooBCh1Hb29nbGVBcHBPYXV0aENhbGxiYWNrUmVxdWVzdBIRCglnb29nbGVfaWQYASABKAkSFAoMYWNjZXNzX3Rva2VuGAIgASgJEi8KDGF1dGhfY29tbWFuZBgDIAEoCzIULnVzZXIudjEuQXV0aENvbW1hbmRIAIgBAUIPCg1fYXV0aF9jb21tYW5kIi8KHkdvb2dsZUFwcE9hdXRoQ2FsbGJhY2tSZXNwb25zZRINCgV0b2tlbhgBIAEoCSItChdBcHBsZVNwZWNpYWxBdXRoUmVxdWVzdBISCgpzcGVjaWFsX2lkGAEgASgJIikKGEFwcGxlU3BlY2lhbEF1dGhSZXNwb25zZRINCgV0b2tlbhgBIAEoCSKQAQoNQXBwbGVVc2VySW5mbxIpCgRuYW1lGAEgASgLMhsudXNlci52MS5BcHBsZVVzZXJJbmZvLk5hbWUSDQoFZW1haWwYAiABKAkSFgoOaWRlbnRpdHlfdG9rZW4YAyABKAkaLQoETmFtZRISCgpmaXJzdF9uYW1lGAEgASgJEhEKCWxhc3RfbmFtZRgCIAEoCSJwCh1XZWJBcHBsZU9hdXRoMkNhbGxiYWNrUmVxdWVzdBIMCgRjb2RlGAEgASgJEg0KBXN0YXRlGAIgASgJEikKBHVzZXIYAyABKAsyFi51c2VyLnYxLkFwcGxlVXNlckluZm9IAIgBAUIHCgVfdXNlciJJCh5XZWJBcHBsZU9hdXRoMkNhbGxiYWNrUmVzcG9uc2USFAoMcmVkaXJlY3RfdXJsGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCSLKAQocSW9zQXBwbGVPYXV0aENhbGxiYWNrUmVxdWVzdBIzChBhdXRoX2NvbW1hbmRfY21kGAEgASgLMhQudXNlci52MS5BdXRoQ29tbWFuZEgAiAEBEg0KBWVtYWlsGAIgASgJEhIKCmdpdmVuX25hbWUYAyABKAkSEwoLZmFtaWx5X25hbWUYBCABKAkSFQoNYXV0aF9hcHBsZV9pZBgFIAEoCRIRCglhdXRoX2NvZGUYBiABKAlCEwoRX2F1dGhfY29tbWFuZF9jbWQiLgodSW9zQXBwbGVPYXV0aENhbGxiYWNrUmVzcG9uc2USDQoFdG9rZW4YASABKAkiJAoRU3dpdGNoVXNlclJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSIjChJTd2l0Y2hVc2VyUmVzcG9uc2USDQoFdG9rZW4YASABKAkiKwoaRXhjaGFuZ2VUb2tlbkJ5Q29kZVJlcXVlc3QSDQoFdG9rZW4YASABKAkiHQobRXhjaGFuZ2VUb2tlbkJ5Q29kZVJlc3BvbnNlKlsKCk9BdXRoMlR5cGUSHAoYT19BVVRIMl9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTT19BVVRIMl9UWVBFX0dPT0dMRRABEhYKEk9fQVVUSDJfVFlQRV9BUFBMRRACMuwHChVVc2VyQXV0aFB1YmxpY1NlcnZpY2USVAoPUmVnaXN0ZXJCeUVtYWlsEh8udXNlci52MS5SZWdpc3RlckJ5RW1haWxSZXF1ZXN0GiAudXNlci52MS5SZWdpc3RlckJ5RW1haWxSZXNwb25zZRJUCg9PYXV0aDJBdXRob3JpemUSHy51c2VyLnYxLk9hdXRoMkF1dGhvcml6ZVJlcXVlc3QaIC51c2VyLnYxLk9hdXRoMkF1dGhvcml6ZVJlc3BvbnNlEksKDExvZ2luQnlFbWFpbBIcLnVzZXIudjEuTG9naW5CeUVtYWlsUmVxdWVzdBodLnVzZXIudjEuTG9naW5CeUVtYWlsUmVzcG9uc2USbwoYUmVzZXRQYXNzd29yZFdpdGhDYXB0Y2hhEigudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aENhcHRjaGFSZXF1ZXN0GikudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aENhcHRjaGFSZXNwb25zZRKBAQoeU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhDYXB0Y2hhEi4udXNlci52MS5TZW5kRW1haWxWZXJpZnlDb2RlV2l0aENhcHRjaGFSZXF1ZXN0Gi8udXNlci52MS5TZW5kRW1haWxWZXJpZnlDb2RlV2l0aENhcHRjaGFSZXNwb25zZRJpChZHb29nbGVBcHBPYXV0aENhbGxiYWNrEiYudXNlci52MS5Hb29nbGVBcHBPYXV0aENhbGxiYWNrUmVxdWVzdBonLnVzZXIudjEuR29vZ2xlQXBwT2F1dGhDYWxsYmFja1Jlc3BvbnNlEmkKFldlYkFwcGxlT2F1dGgyQ2FsbGJhY2sSJi51c2VyLnYxLldlYkFwcGxlT2F1dGgyQ2FsbGJhY2tSZXF1ZXN0GicudXNlci52MS5XZWJBcHBsZU9hdXRoMkNhbGxiYWNrUmVzcG9uc2USZgoVSW9zQXBwbGVPYXV0aENhbGxiYWNrEiUudXNlci52MS5Jb3NBcHBsZU9hdXRoQ2FsbGJhY2tSZXF1ZXN0GiYudXNlci52MS5Jb3NBcHBsZU9hdXRoQ2FsbGJhY2tSZXNwb25zZRJFCgpTd2l0Y2hVc2VyEhoudXNlci52MS5Td2l0Y2hVc2VyUmVxdWVzdBobLnVzZXIudjEuU3dpdGNoVXNlclJlc3BvbnNlEmAKE0V4Y2hhbmdlVG9rZW5CeUNvZGUSIy51c2VyLnYxLkV4Y2hhbmdlVG9rZW5CeUNvZGVSZXF1ZXN0GiQudXNlci52MS5FeGNoYW5nZVRva2VuQnlDb2RlUmVzcG9uc2VCmgEKC2NvbS51c2VyLnYxQhNVc2VyQXV0aFB1YmxpY1Byb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC91c2VyL3YxO3VzZXJ2MaICA1VYWKoCB1VzZXIuVjHKAgdVc2VyXFYx4gITVXNlclxWMVxHUEJNZXRhZGF0YeoCCFVzZXI6OlYxYgZwcm90bzM",[Ls]),H2=M(M2,0),D2=z("CidkYXNoYm9hcmRfdG9vbHMvdjEvZGFzaGJvYXJkX3Rvb2wucHJvdG8SEmRhc2hib2FyZF90b29scy52MSKSAQoiQ3JlYXRlT3JVcGRhdGVUcmFuc2xhdGVUYXNrUmVxdWVzdBIUCgd0YXNrX2lkGAEgASgDSACIAQESDgoGbW9kdWxlGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEiUKBGRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QgoKCF90YXNrX2lkIiUKI0NyZWF0ZU9yVXBkYXRlVHJhbnNsYXRlVGFza1Jlc3BvbnNlIl8KFFRyYW5zbGF0ZVRhc2tSZXF1ZXN0EhQKB3Rhc2tfaWQYASABKANIAIgBARIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIKCghfdGFza19pZCI+ChVUcmFuc2xhdGVUYXNrUmVzcG9uc2USJQoEZGF0YRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYQoZTGlzdFRyYW5zbGF0ZVRhc2tzUmVxdWVzdBIPCgdtb2R1bGVzGAEgAygJEhUKBHBhZ2UYAiABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAMgASgFQgm6SAYaBBhkKAEizAEKDVRyYW5zbGF0ZVRhc2sSDwoHdGFza19pZBgBIAEoAxIOCgZtb2R1bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSJQoEZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiXQoaTGlzdFRyYW5zbGF0ZVRhc2tzUmVzcG9uc2USMAoFdGFza3MYASADKAsyIS5kYXNoYm9hcmRfdG9vbHMudjEuVHJhbnNsYXRlVGFzaxINCgV0b3RhbBgCIAEoAyI7ChdHZXRUcmFuc2xhdGVUYXNrUmVxdWVzdBIUCgd0YXNrX2lkGAEgASgDSACIAQFCCgoIX3Rhc2tfaWQiSwoYR2V0VHJhbnNsYXRlVGFza1Jlc3BvbnNlEi8KBHRhc2sYASABKAsyIS5kYXNoYm9hcmRfdG9vbHMudjEuVHJhbnNsYXRlVGFzayItChpEZWxldGVUcmFuc2xhdGVUYXNrUmVxdWVzdBIPCgd0YXNrX2lkGAEgASgDIh0KG0RlbGV0ZVRyYW5zbGF0ZVRhc2tSZXNwb25zZTLzBAoURGFzaGJvYXJkVG9vbFNlcnZpY2USkAEKG0NyZWF0ZU9yVXBkYXRlVHJhbnNsYXRlVGFzaxI2LmRhc2hib2FyZF90b29scy52MS5DcmVhdGVPclVwZGF0ZVRyYW5zbGF0ZVRhc2tSZXF1ZXN0GjcuZGFzaGJvYXJkX3Rvb2xzLnYxLkNyZWF0ZU9yVXBkYXRlVHJhbnNsYXRlVGFza1Jlc3BvbnNlIgASZgoNVHJhbnNsYXRlVGFzaxIoLmRhc2hib2FyZF90b29scy52MS5UcmFuc2xhdGVUYXNrUmVxdWVzdBopLmRhc2hib2FyZF90b29scy52MS5UcmFuc2xhdGVUYXNrUmVzcG9uc2UiABJ1ChJMaXN0VHJhbnNsYXRlVGFza3MSLS5kYXNoYm9hcmRfdG9vbHMudjEuTGlzdFRyYW5zbGF0ZVRhc2tzUmVxdWVzdBouLmRhc2hib2FyZF90b29scy52MS5MaXN0VHJhbnNsYXRlVGFza3NSZXNwb25zZSIAEm8KEEdldFRyYW5zbGF0ZVRhc2sSKy5kYXNoYm9hcmRfdG9vbHMudjEuR2V0VHJhbnNsYXRlVGFza1JlcXVlc3QaLC5kYXNoYm9hcmRfdG9vbHMudjEuR2V0VHJhbnNsYXRlVGFza1Jlc3BvbnNlIgASeAoTRGVsZXRlVHJhbnNsYXRlVGFzaxIuLmRhc2hib2FyZF90b29scy52MS5EZWxldGVUcmFuc2xhdGVUYXNrUmVxdWVzdBovLmRhc2hib2FyZF90b29scy52MS5EZWxldGVUcmFuc2xhdGVUYXNrUmVzcG9uc2UiAELiAQoWY29tLmRhc2hib2FyZF90b29scy52MUISRGFzaGJvYXJkVG9vbFByb3RvUAFaT2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9kYXNoYm9hcmRfdG9vbHMvdjE7ZGFzaGJvYXJkX3Rvb2xzdjGiAgNEWFiqAhFEYXNoYm9hcmRUb29scy5WMcoCEURhc2hib2FyZFRvb2xzXFYx4gIdRGFzaGJvYXJkVG9vbHNcVjFcR1BCTWV0YWRhdGHqAhJEYXNoYm9hcmRUb29sczo6VjFiBnByb3RvMw",[He,te,Ye]),j2=M(D2,0),Br=z("Ch10ZWFtL3YxL3RlYW1fbWFuYWdlbWVudC5wcm90bxIHdGVhbS52MSI8CgZBdmF0YXISEQoJZmlsZV9uYW1lGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCRIMCgRkYXRhGAMgASgJIqsBChFDcmVhdGVUZWFtUmVxdWVzdBIMCgRuYW1lGAEgASgJEg0KBXNlYXRzGAIgASgFEh8KBmF2YXRhchgDIAEoCzIPLnRlYW0udjEuQXZhdGFyEhYKDmF1dG9fZGVkdWN0aW9uGAQgASgIEh8KF3NpbmdsZV9kZWR1Y3Rpb25fYW1vdW50GAUgASgFEh8KF21vbnRobHlfZGVkdWN0aW9uX2xpbWl0GAYgASgFInYKEkNyZWF0ZVRlYW1SZXNwb25zZRIQCgh0ZWFtX3VpZBgBIAEoCRIPCgd1c2VyX2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGYXZhdGFyGAQgASgJEh8KBHN0ZXAYBSABKA4yES50ZWFtLnYxLlRlYW1TdGVwIkYKFVVwZGF0ZVRlYW1JbmZvUmVxdWVzdBIMCgRuYW1lGAEgASgJEh8KBmF2YXRhchgCIAEoCzIPLnRlYW0udjEuQXZhdGFyInMKFlVwZGF0ZVRlYW1JbmZvUmVzcG9uc2USEAoIdGVhbV91aWQYASABKAkSEQoJdGVhbV9uYW1lGAIgASgJEhMKC3RlYW1fYXZhdGFyGAMgASgJEh8KBHN0ZXAYBCABKA4yES50ZWFtLnYxLlRlYW1TdGVwIkIKCkludml0ZVVzZXISDQoFZW1haWwYASABKAkSJQoEcm9sZRgCIAEoDjIXLnRlYW0udjEuVGVhbU1lbWJlclJvbGUiUgoWQmF0Y2hJbnZpdGVVc2VyUmVxdWVzdBIUCgxpc19yZV9pbnZpdGUYASABKAgSIgoFdXNlcnMYAiADKAsyEy50ZWFtLnYxLkludml0ZVVzZXIiGQoXQmF0Y2hJbnZpdGVVc2VyUmVzcG9uc2UiKQoSRGlzbWlzc1RlYW1SZXF1ZXN0EhMKC3ZlcmlmeV9jb2RlGAEgASgJIiYKE0Rpc21pc3NUZWFtUmVzcG9uc2USDwoHdXNlcl9pZBgBIAEoCSIkChNUcmFuc2ZlclRlYW1SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIhYKFFRyYW5zZmVyVGVhbVJlc3BvbnNlIkEKGEJhdGNoUmVtb3ZlTWVtYmVyUmVxdWVzdBIVCg10ZWFtX3VzZXJfaWRzGAEgAygJEg4KBmVtYWlscxgCIAMoCSIbChlCYXRjaFJlbW92ZU1lbWJlclJlc3BvbnNlIlYKF1VwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0EhQKDHRlYW1fdXNlcl9pZBgBIAEoCRIlCgRyb2xlGAIgASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZSIaChhVcGRhdGVNZW1iZXJSb2xlUmVzcG9uc2UiOAoVVXBkYXRlVGVhbVN0ZXBSZXF1ZXN0Eh8KBHN0ZXAYASABKA4yES50ZWFtLnYxLlRlYW1TdGVwIhgKFlVwZGF0ZVRlYW1TdGVwUmVzcG9uc2UiTwoXVXBkYXRlSW52aXRlUm9sZVJlcXVlc3QSDQoFZW1haWwYASABKAkSJQoEcm9sZRgCIAEoDjIXLnRlYW0udjEuVGVhbU1lbWJlclJvbGUiGgoYVXBkYXRlSW52aXRlUm9sZVJlc3BvbnNlIn0KIVVwZGF0ZVRlYW1EZWR1Y3Rpb25TZXR0aW5nUmVxdWVzdBIWCg5hdXRvX2RlZHVjdGlvbhgBIAEoCBIfChdzaW5nbGVfZGVkdWN0aW9uX2Ftb3VudBgCIAEoBRIfChdtb250aGx5X2RlZHVjdGlvbl9saW1pdBgDIAEoBSIkCiJVcGRhdGVUZWFtRGVkdWN0aW9uU2V0dGluZ1Jlc3BvbnNlKk4KCFRlYW1UeXBlEhkKFVRFQU1fVFlQRV9VTlNQRUNJRklFRBAAEhQKEFRFQU1fVFlQRV9OT1JNQUwQARIRCg1URUFNX1RZUEVfRURVEAIqiQEKCFRlYW1TdGVwEhkKFVRFQU1fU1RFUF9VTlNQRUNJRklFRBAAEh4KGlRFQU1fU1RFUF9DSE9PU0VfU1VCU0NSSUJFEAESGQoVVEVBTV9TVEVQX1VQREFURV9JTkZPEAISEQoNVEVBTV9TVEVQX1BBWRADEhQKEFRFQU1fU1RFUF9GSU5JU0gQBCqHAQoOVGVhbU1lbWJlclJvbGUSIAocVEVBTV9NRU1CRVJfUk9MRV9VTlNQRUNJRklFRBAAEhoKFlRFQU1fTUVNQkVSX1JPTEVfT1dORVIQARIaChZURUFNX01FTUJFUl9ST0xFX0FETUlOEAISGwoXVEVBTV9NRU1CRVJfUk9MRV9NRU1CRVIQAzL2BgoVVGVhbU1hbmFnZW1lbnRTZXJ2aWNlEkUKCkNyZWF0ZVRlYW0SGi50ZWFtLnYxLkNyZWF0ZVRlYW1SZXF1ZXN0GhsudGVhbS52MS5DcmVhdGVUZWFtUmVzcG9uc2USUQoOVXBkYXRlVGVhbUluZm8SHi50ZWFtLnYxLlVwZGF0ZVRlYW1JbmZvUmVxdWVzdBofLnRlYW0udjEuVXBkYXRlVGVhbUluZm9SZXNwb25zZRJUCg9CYXRjaEludml0ZVVzZXISHy50ZWFtLnYxLkJhdGNoSW52aXRlVXNlclJlcXVlc3QaIC50ZWFtLnYxLkJhdGNoSW52aXRlVXNlclJlc3BvbnNlEkgKC0Rpc21pc3NUZWFtEhsudGVhbS52MS5EaXNtaXNzVGVhbVJlcXVlc3QaHC50ZWFtLnYxLkRpc21pc3NUZWFtUmVzcG9uc2USSwoMVHJhbnNmZXJUZWFtEhwudGVhbS52MS5UcmFuc2ZlclRlYW1SZXF1ZXN0Gh0udGVhbS52MS5UcmFuc2ZlclRlYW1SZXNwb25zZRJaChFCYXRjaFJlbW92ZU1lbWJlchIhLnRlYW0udjEuQmF0Y2hSZW1vdmVNZW1iZXJSZXF1ZXN0GiIudGVhbS52MS5CYXRjaFJlbW92ZU1lbWJlclJlc3BvbnNlElcKEFVwZGF0ZU1lbWJlclJvbGUSIC50ZWFtLnYxLlVwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0GiEudGVhbS52MS5VcGRhdGVNZW1iZXJSb2xlUmVzcG9uc2USUQoOVXBkYXRlVGVhbVN0ZXASHi50ZWFtLnYxLlVwZGF0ZVRlYW1TdGVwUmVxdWVzdBofLnRlYW0udjEuVXBkYXRlVGVhbVN0ZXBSZXNwb25zZRJXChBVcGRhdGVJbnZpdGVSb2xlEiAudGVhbS52MS5VcGRhdGVJbnZpdGVSb2xlUmVxdWVzdBohLnRlYW0udjEuVXBkYXRlSW52aXRlUm9sZVJlc3BvbnNlEnUKGlVwZGF0ZVRlYW1EZWR1Y3Rpb25TZXR0aW5nEioudGVhbS52MS5VcGRhdGVUZWFtRGVkdWN0aW9uU2V0dGluZ1JlcXVlc3QaKy50ZWFtLnYxLlVwZGF0ZVRlYW1EZWR1Y3Rpb25TZXR0aW5nUmVzcG9uc2VCmgEKC2NvbS50ZWFtLnYxQhNUZWFtTWFuYWdlbWVudFByb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC90ZWFtL3YxO3RlYW12MaICA1RYWKoCB1RlYW0uVjHKAgdUZWFtXFYx4gITVGVhbVxWMVxHUEJNZXRhZGF0YeoCCFRlYW06OlYxYgZwcm90bzM"),_2=M(Br,0),O2=z("ChJ0ZWFtL3YxL3RlYW0ucHJvdG8SB3RlYW0udjEiUQoYTGlzdFRlYW1JbnZvaWNlc1Jlc3BvbnNlEiYKCGludm9pY2VzGAEgAygLMhQudGVhbS52MS5UZWFtSW52b2ljZRINCgV0b3RhbBgCIAEoBSKDAQoLVGVhbUludm9pY2USEgoKaW52b2ljZV9pZBgBIAEoCRIOCgZhbW91bnQYAiABKAMSEQoJcHVyY2hhc2VyGAMgASgJEhMKC2ludm9pY2VfdXJsGAQgASgJEigKBGRhdGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjoKF0xpc3RUZWFtSW52b2ljZXNSZXF1ZXN0EgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFIjIKD0xpc3RUZWFtUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBSK0AQoEVGVhbRIQCgh0ZWFtX3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRIPCgd1c2VyX2lkGAQgASgJEiMKBnN0YXR1cxgFIAEoDjITLnRlYW0udjEuVGVhbVN0YXR1cxIlCgRyb2xlGAYgASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZRIfCgR0eXBlGAcgASgOMhEudGVhbS52MS5UZWFtVHlwZSJ+ChBMaXN0VGVhbVJlc3BvbnNlEhwKBXRlYW1zGAEgAygLMg0udGVhbS52MS5UZWFtEhMKC3RvdGFsX2NvdW50GAIgASgFEg8KB3VzZXJfaWQYAyABKAkSEQoJdXNlcl9uYW1lGAQgASgJEhMKC3VzZXJfYXZhdGFyGAUgASgJIioKD0pvaW5UZWFtUmVxdWVzdBIXCg9pbnZpdGF0aW9uX2NvZGUYASABKAkidAoQSm9pblRlYW1SZXNwb25zZRIPCgd1c2VyX2lkGAEgASgJEhAKCHRlYW1fdWlkGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGYXZhdGFyGAQgASgJEh8KBHR5cGUYBSABKA4yES50ZWFtLnYxLlRlYW1UeXBlIhEKD0V4aXRUZWFtUmVxdWVzdCISChBFeGl0VGVhbVJlc3BvbnNlIiYKEkdldFRlYW1JbmZvUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCSLLAwoTR2V0VGVhbUluZm9SZXNwb25zZRIQCgh0ZWFtX3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRINCgVzZWF0cxgEIAEoBRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5hdXRvX2RlZHVjdGlvbhgGIAEoCBIfChdzaW5nbGVfZGVkdWN0aW9uX2Ftb3VudBgHIAEoBRIfChdtb250aGx5X2RlZHVjdGlvbl9saW1pdBgIIAEoBRIfCgRzdGVwGAkgASgOMhEudGVhbS52MS5UZWFtU3RlcBIlCgRyb2xlGAogASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZRIUCgxtZW1iZXJfY291bnQYCyABKAUSEwoLdmlwX3ZlcnNpb24YDCABKAkSGgoSY3VycmVudF9wZXJpb2RfZW5kGA0gASgDEhEKCWlzX3llYXJseRgOIAEoCBIUCgx0ZWFtX3VzZXJfaWQYDyABKAkSEgoKbmV4dF9zZWF0cxgQIAEoBRIfCgR0eXBlGBEgASgOMhEudGVhbS52MS5UZWFtVHlwZSLAAQoZTGlzdFRlYW1DcmVkaXRzTG9nUmVxdWVzdBIzCgpzdGFydF9kYXRlGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjEKCGVuZF9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEgwKBHBhZ2UYAyABKAUSEQoJcGFnZV9zaXplGAQgASgFQg0KC19zdGFydF9kYXRlQgsKCV9lbmRfZGF0ZSJRChpMaXN0VGVhbUNyZWRpdHNMb2dSZXNwb25zZRIkCgRsb2dzGAEgAygLMhYudGVhbS52MS5UZWFtQ3JlZGl0TG9nEg0KBXRvdGFsGAIgASgFIogBCg1UZWFtQ3JlZGl0TG9nEg8KB3VzZXJfaWQYASABKAkSEQoJdXNlcl9uYW1lGAIgASgJEhMKC3VzZXJfYXZhdGFyGAMgASgJEg8KB2NyZWRpdHMYBCABKAUSLQoJY3JlYXRlX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKlAQofTGlzdFRlYW1DcmVkaXRzU3RhdGlzdGljUmVxdWVzdBIzCgpzdGFydF9kYXRlGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjEKCGVuZF9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQg0KC19zdGFydF9kYXRlQgsKCV9lbmRfZGF0ZSJaCiBMaXN0VGVhbUNyZWRpdHNTdGF0aXN0aWNSZXNwb25zZRI2CglzdGF0aXN0aWMYASADKAsyIy50ZWFtLnYxLlRlYW1TZXNzaW9uQ3JlZGl0U3RhdGlzdGljIlcKGlRlYW1TZXNzaW9uQ3JlZGl0U3RhdGlzdGljEigKBGRhdGUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB2NyZWRpdHMYAiABKAUiigEKFUxpc3RUZWFtTWVtYmVyUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRIXCgpzZWFyY2hfa2V5GAMgASgJSACIAQESKAoLZmlsdGVyX3R5cGUYBCABKA4yEy50ZWFtLnYxLkZpbHRlclR5cGVCDQoLX3NlYXJjaF9rZXkimwEKClRlYW1NZW1iZXISEAoIdXNlcl91aWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVlbWFpbBgDIAEoCRIOCgZhdmF0YXIYBCABKAkSJwoGc3RhdHVzGAUgASgOMhcudGVhbS52MS5UZWFtVXNlclN0YXR1cxIlCgRyb2xlGAYgASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZSJTChZMaXN0VGVhbU1lbWJlclJlc3BvbnNlEiQKB21lbWJlcnMYASADKAsyEy50ZWFtLnYxLlRlYW1NZW1iZXISEwoLdG90YWxfY291bnQYAiABKAUqngEKClRlYW1TdGF0dXMSGwoXVEVBTV9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNURUFNX1NUQVRVU19BQ1RJVkVEEAESFwoTVEVBTV9TVEFUVVNfRVhQSVJFRBACEhwKGFRFQU1fU1RBVFVTX05PX1NVQlNDUklCRRADEiMKH1RFQU1fU1RBVFVTX1NVQlNDUklCRV9DQU5DRUxMRUQQBCpbCgpGaWx0ZXJUeXBlEhsKF0ZJTFRFUl9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTRklMVEVSX1RZUEVfQUxMVVNFUhABEhcKE0ZJTFRFUl9UWVBFX1BFTkRJTkcQAiqpAQoOVGVhbVVzZXJTdGF0dXMSIAocVEVBTV9VU0VSX1NUQVRVU19VTlNQRUNJRklFRBAAEhwKGFRFQU1fVVNFUl9TVEFUVVNfUEVORElORxABEh0KGVRFQU1fVVNFUl9TVEFUVVNfQUNDRVBURUQQAhIbChdURUFNX1VTRVJfU1RBVFVTX0VYSVRFRBADEhsKF1RFQU1fVVNFUl9TVEFUVVNfS0lDS0VEEAQylgUKC1RlYW1TZXJ2aWNlEj8KCExpc3RUZWFtEhgudGVhbS52MS5MaXN0VGVhbVJlcXVlc3QaGS50ZWFtLnYxLkxpc3RUZWFtUmVzcG9uc2USPwoISm9pblRlYW0SGC50ZWFtLnYxLkpvaW5UZWFtUmVxdWVzdBoZLnRlYW0udjEuSm9pblRlYW1SZXNwb25zZRI/CghFeGl0VGVhbRIYLnRlYW0udjEuRXhpdFRlYW1SZXF1ZXN0GhkudGVhbS52MS5FeGl0VGVhbVJlc3BvbnNlEkgKC0dldFRlYW1JbmZvEhsudGVhbS52MS5HZXRUZWFtSW5mb1JlcXVlc3QaHC50ZWFtLnYxLkdldFRlYW1JbmZvUmVzcG9uc2USUQoOTGlzdFRlYW1NZW1iZXISHi50ZWFtLnYxLkxpc3RUZWFtTWVtYmVyUmVxdWVzdBofLnRlYW0udjEuTGlzdFRlYW1NZW1iZXJSZXNwb25zZRJdChJMaXN0VGVhbUNyZWRpdHNMb2cSIi50ZWFtLnYxLkxpc3RUZWFtQ3JlZGl0c0xvZ1JlcXVlc3QaIy50ZWFtLnYxLkxpc3RUZWFtQ3JlZGl0c0xvZ1Jlc3BvbnNlEm8KGExpc3RUZWFtQ3JlZGl0c1N0YXRpc3RpYxIoLnRlYW0udjEuTGlzdFRlYW1DcmVkaXRzU3RhdGlzdGljUmVxdWVzdBopLnRlYW0udjEuTGlzdFRlYW1DcmVkaXRzU3RhdGlzdGljUmVzcG9uc2USVwoQTGlzdFRlYW1JbnZvaWNlcxIgLnRlYW0udjEuTGlzdFRlYW1JbnZvaWNlc1JlcXVlc3QaIS50ZWFtLnYxLkxpc3RUZWFtSW52b2ljZXNSZXNwb25zZUKQAQoLY29tLnRlYW0udjFCCVRlYW1Qcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdGVhbS92MTt0ZWFtdjGiAgNUWFiqAgdUZWFtLlYxygIHVGVhbVxWMeICE1RlYW1cVjFcR1BCTWV0YWRhdGHqAghUZWFtOjpWMWIGcHJvdG8z",[te,Br]),P2=M(O2,0),$2=z("Chx0ZWFtL3YxL2VkdV90ZWFtX2FkbWluLnByb3RvEgd0ZWFtLnYxImEKFENyZWF0ZUVkdVRlYW1SZXF1ZXN0EgwKBG5hbWUYASABKAkSDgoGYXZhdGFyGAIgASgJEhQKDGVtYWlsX3N1ZmZpeBgDIAMoCRIVCg1zZXNzaW9uX2xpbWl0GAQgASgFIhcKFUNyZWF0ZUVkdVRlYW1SZXNwb25zZSJrChhVcGRhdGVFZHVUZWFtSW5mb1JlcXVlc3QSCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGYXZhdGFyGAMgASgJEg0KBXNlYXRzGAQgASgFEhUKDXNlc3Npb25fbGltaXQYBSABKAUiGwoZVXBkYXRlRWR1VGVhbUluZm9SZXNwb25zZSKYAQoTTGlzdEVkdVRlYW1zUmVxdWVzdBIQCgN1aWQYASABKAlIAIgBARIRCgRuYW1lGAIgASgJSAGIAQESGQoMZW1haWxfc3VmZml4GAMgASgJSAKIAQESDAoEcGFnZRgEIAEoBRIRCglwYWdlX3NpemUYBSABKAVCBgoEX3VpZEIHCgVfbmFtZUIPCg1fZW1haWxfc3VmZml4Iq8BCgdFZHVUZWFtEgsKA3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRIUCgxlbWFpbF9zdWZmaXgYBCADKAkSFQoNc2Vzc2lvbl9saW1pdBgFIAEoBRIcChRjdXJyZW50X21lbWJlcl9jb3VudBgGIAEoBRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJGChRMaXN0RWR1VGVhbXNSZXNwb25zZRIfCgV0ZWFtcxgBIAMoCzIQLnRlYW0udjEuRWR1VGVhbRINCgV0b3RhbBgCIAEoBSKIAQoZTGlzdEVkdVRlYW1NZW1iZXJzUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCRISCgVlbWFpbBgCIAEoCUgAiAEBEhEKBG5hbWUYAyABKAlIAYgBARIMCgRwYWdlGAQgASgFEhEKCXBhZ2Vfc2l6ZRgFIAEoBUIICgZfZW1haWxCBwoFX25hbWUigQEKDUVkdVRlYW1NZW1iZXISDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJEhIKCnZpcF9zdGF0dXMYBCABKAkSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiVAoaTGlzdEVkdVRlYW1NZW1iZXJzUmVzcG9uc2USJwoHbWVtYmVycxgBIAMoCzIWLnRlYW0udjEuRWR1VGVhbU1lbWJlchINCgV0b3RhbBgCIAEoBSIvChtHZXRFZHVUZWFtU3RhdGlzdGljc1JlcXVlc3QSEAoIdGVhbV91aWQYASABKAkigwEKHEdldEVkdVRlYW1TdGF0aXN0aWNzUmVzcG9uc2USHAoUY3VycmVudF9tZW1iZXJfY291bnQYASABKAUSFQoNc2Vzc2lvbl9jb3VudBgCIAEoBRIWCg5yZXNvdXJjZV91c2FnZRgDIAEoBRIWCg5yZXNvdXJjZV9xdW90YRgEIAEoBSJ3ChpMaXN0RWR1VGVhbVNlc3Npb25zUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCRIXCgpzZXNzaW9uX2lkGAIgASgJSACIAQESDAoEcGFnZRgDIAEoBRIRCglwYWdlX3NpemUYBCABKAVCDQoLX3Nlc3Npb25faWQihwEKDkVkdVRlYW1TZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSEgoKY3JlYXRlcl9pZBgDIAEoCRIWCg5jb25zdW1lX3BvaW50cxgEIAEoBRIRCglpc19zaGFyZWQYBSABKAgSEwoLY3JlYXRlX3RpbWUYBiABKAMiVwobTGlzdEVkdVRlYW1TZXNzaW9uc1Jlc3BvbnNlEikKCHNlc3Npb25zGAEgAygLMhcudGVhbS52MS5FZHVUZWFtU2Vzc2lvbhINCgV0b3RhbBgCIAEoBSIoChREZWxldGVFZHVUZWFtUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCSIXChVEZWxldGVFZHVUZWFtUmVzcG9uc2UyhAUKE0VkdVRlYW1BZG1pblNlcnZpY2USTgoNQ3JlYXRlRWR1VGVhbRIdLnRlYW0udjEuQ3JlYXRlRWR1VGVhbVJlcXVlc3QaHi50ZWFtLnYxLkNyZWF0ZUVkdVRlYW1SZXNwb25zZRJaChFVcGRhdGVFZHVUZWFtSW5mbxIhLnRlYW0udjEuVXBkYXRlRWR1VGVhbUluZm9SZXF1ZXN0GiIudGVhbS52MS5VcGRhdGVFZHVUZWFtSW5mb1Jlc3BvbnNlEksKDExpc3RFZHVUZWFtcxIcLnRlYW0udjEuTGlzdEVkdVRlYW1zUmVxdWVzdBodLnRlYW0udjEuTGlzdEVkdVRlYW1zUmVzcG9uc2USXQoSTGlzdEVkdVRlYW1NZW1iZXJzEiIudGVhbS52MS5MaXN0RWR1VGVhbU1lbWJlcnNSZXF1ZXN0GiMudGVhbS52MS5MaXN0RWR1VGVhbU1lbWJlcnNSZXNwb25zZRJjChRHZXRFZHVUZWFtU3RhdGlzdGljcxIkLnRlYW0udjEuR2V0RWR1VGVhbVN0YXRpc3RpY3NSZXF1ZXN0GiUudGVhbS52MS5HZXRFZHVUZWFtU3RhdGlzdGljc1Jlc3BvbnNlEmAKE0xpc3RFZHVUZWFtU2Vzc2lvbnMSIy50ZWFtLnYxLkxpc3RFZHVUZWFtU2Vzc2lvbnNSZXF1ZXN0GiQudGVhbS52MS5MaXN0RWR1VGVhbVNlc3Npb25zUmVzcG9uc2USTgoNRGVsZXRlRWR1VGVhbRIdLnRlYW0udjEuRGVsZXRlRWR1VGVhbVJlcXVlc3QaHi50ZWFtLnYxLkRlbGV0ZUVkdVRlYW1SZXNwb25zZUKYAQoLY29tLnRlYW0udjFCEUVkdVRlYW1BZG1pblByb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC90ZWFtL3YxO3RlYW12MaICA1RYWKoCB1RlYW0uVjHKAgdUZWFtXFYx4gITVGVhbVxWMVxHUEJNZXRhZGF0YeoCCFRlYW06OlYxYgZwcm90bzM",[te]),q2=M($2,0),ep=z("Chl0ZWFtL3YxL3RlYW1fcHVibGljLnByb3RvEgd0ZWFtLnYxIjcKHEdldFRlYW1JbnZpdGF0aW9uSW5mb1JlcXVlc3QSFwoPaW52aXRhdGlvbl9jb2RlGAEgASgJIqUBCh1HZXRUZWFtSW52aXRhdGlvbkluZm9SZXNwb25zZRIUCgxpbnZpdGVyX25hbWUYASABKAkSFgoOaW52aXRlcl9hdmF0YXIYAiABKAkSEQoJdGVhbV9uYW1lGAMgASgJEhMKC3RlYW1fYXZhdGFyGAQgASgJEg0KBWVtYWlsGAUgASgJEh8KBHR5cGUYBiABKA4yES50ZWFtLnYxLlRlYW1UeXBlMnsKEVRlYW1QdWJsaWNTZXJ2aWNlEmYKFUdldFRlYW1JbnZpdGF0aW9uSW5mbxIlLnRlYW0udjEuR2V0VGVhbUludml0YXRpb25JbmZvUmVxdWVzdBomLnRlYW0udjEuR2V0VGVhbUludml0YXRpb25JbmZvUmVzcG9uc2VClgEKC2NvbS50ZWFtLnYxQg9UZWFtUHVibGljUHJvdG9QAVo5Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L3RlYW0vdjE7dGVhbXYxogIDVFhYqgIHVGVhbS5WMcoCB1RlYW1cVjHiAhNUZWFtXFYxXEdQQk1ldGFkYXRh6gIIVGVhbTo6VjFiBnByb3RvMw",[Br]),tp=M(ep,0),Ts=z("Chxrbm93bGVkZ2UvdjEva25vd2xlZGdlLnByb3RvEgxrbm93bGVkZ2UudjEi9gIKCUtub3dsZWRnZRILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCRIPCgdjb250ZW50GAMgASgJEg8KB3RyaWdnZXIYBCABKAkSDwoHZW5hYmxlZBgFIAEoCBITCgtzZXNzaW9uX3VpZBgGIAEoCRIZChFzZXNzaW9uX2V2ZW50X3VpZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgRraW5kGAogASgOMhsua25vd2xlZGdlLnYxLktub3dsZWRnZUtpbmQSEAoIc2hvcnRfaWQYCyABKAkSNAoKdXNhZ2VfdHlwZRgMIAEoDjIgLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VVc2FnZVR5cGUSGAoQdW5pcXVlX2luY19pbmRleBgNIAEoAyLTAwoOS25vd2xlZGdlRXZlbnQSCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHY29udGVudBgDIAEoCRIPCgd0cmlnZ2VyGAQgASgJEjIKBnN0YXR1cxgFIAEoDjIiLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VFdmVudFN0YXR1cxITCgtzZXNzaW9uX3VpZBgGIAEoCRIZChFzZXNzaW9uX2V2ZW50X3VpZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgRraW5kGAogASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50S2luZBIfChJrbm93bGVkZ2Vfc2hvcnRfaWQYCyABKAlIAIgBARIVCghzaG9ydF9pZBgMIAEoCUgBiAEBEjQKCnVzYWdlX3R5cGUYDSABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlQhUKE19rbm93bGVkZ2Vfc2hvcnRfaWRCCwoJX3Nob3J0X2lkItcDChJTdWdnZXN0ZWRLbm93bGVkZ2USCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHY29udGVudBgDIAEoCRIPCgd0cmlnZ2VyGAQgASgJEjIKBnN0YXR1cxgFIAEoDjIiLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VFdmVudFN0YXR1cxITCgtzZXNzaW9uX3VpZBgGIAEoCRIZChFzZXNzaW9uX2V2ZW50X3VpZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgRraW5kGAogASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50S2luZBIfChJrbm93bGVkZ2Vfc2hvcnRfaWQYCyABKAlIAIgBARIVCghzaG9ydF9pZBgMIAEoCUgBiAEBEjQKCnVzYWdlX3R5cGUYDSABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlQhUKE19rbm93bGVkZ2Vfc2hvcnRfaWRCCwoJX3Nob3J0X2lkItIBChRMaXN0S25vd2xlZGdlUmVxdWVzdBIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUSEwoLc2Vzc2lvbl91aWQYAyABKAkSFAoHZW5hYmxlZBgEIAEoCEgAiAEBEhoKEnJlY29tbWVuZF91aWRfbGlzdBgFIAMoCRI5Cgp1c2FnZV90eXBlGAYgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUgBiAEBQgoKCF9lbmFibGVkQg0KC191c2FnZV90eXBlIp0BChVMaXN0S25vd2xlZGdlUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgAygLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZRINCgV0b3RhbBgCIAEoAxIQCghoYXNfbmV4dBgDIAEoCBIaChJyZWNvbW1lbmRfdWlkX2xpc3QYBSADKAkSGwoTbWF4X2tub3dsZWRnZV9saW1pdBgGIAEoBSKEAQoaTGlzdEtub3dsZWRnZUV2ZW50c1JlcXVlc3QSDgoGb2Zmc2V0GAEgASgFEg0KBWxpbWl0GAIgASgFEjIKBnN0YXR1cxgDIAEoDjIiLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VFdmVudFN0YXR1cxITCgtzZXNzaW9uX3VpZBgEIAEoCSJsChtMaXN0S25vd2xlZGdlRXZlbnRzUmVzcG9uc2USLAoGZXZlbnRzGAEgAygLMhwua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50Eg0KBXRvdGFsGAIgASgDEhAKCGhhc19uZXh0GAMgASgIImoKIVVwZGF0ZUtub3dsZWRnZUV2ZW50U3RhdHVzUmVxdWVzdBIRCglldmVudF91aWQYASABKAkSMgoGc3RhdHVzGAIgASgOMiIua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50U3RhdHVzIjUKIlVwZGF0ZUtub3dsZWRnZUV2ZW50U3RhdHVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLJAQoWQ3JlYXRlS25vd2xlZGdlUmVxdWVzdBIYCgRuYW1lGAEgASgJQgq6SAdyBRABGP8BEg8KB2NvbnRlbnQYAiABKAkSDwoHdHJpZ2dlchgDIAEoCRIPCgdlbmFibGVkGAQgASgIEhoKDXJlY29tbWVuZF91aWQYBSABKAlIAIgBARI0Cgp1c2FnZV90eXBlGAYgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUIQCg5fcmVjb21tZW5kX3VpZCJFChdDcmVhdGVLbm93bGVkZ2VSZXNwb25zZRIqCglrbm93bGVkZ2UYASABKAsyFy5rbm93bGVkZ2UudjEuS25vd2xlZGdlItUBChZVcGRhdGVLbm93bGVkZ2VSZXF1ZXN0EhUKDWtub3dsZWRnZV91aWQYASABKAkSFgoEbmFtZRgCIAEoCUIIukgFcgMY/wESDwoHY29udGVudBgDIAEoCRIPCgd0cmlnZ2VyGAQgASgJEhQKB2VuYWJsZWQYBSABKAhIAIgBARI5Cgp1c2FnZV90eXBlGAYgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUgBiAEBQgoKCF9lbmFibGVkQg0KC191c2FnZV90eXBlIkUKF1VwZGF0ZUtub3dsZWRnZVJlc3BvbnNlEioKCWtub3dsZWRnZRgBIAEoCzIXLmtub3dsZWRnZS52MS5Lbm93bGVkZ2UiLwoWRGVsZXRlS25vd2xlZGdlUmVxdWVzdBIVCg1rbm93bGVkZ2VfdWlkGAEgASgJIioKF0RlbGV0ZUtub3dsZWRnZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiRwodVXBkYXRlS25vd2xlZGdlRW5hYmxlZFJlcXVlc3QSFQoNa25vd2xlZGdlX3VpZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIjEKHlVwZGF0ZUtub3dsZWRnZUVuYWJsZWRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIk4KGUdldEtub3dsZWRnZURldGFpbFJlcXVlc3QSFQoNa25vd2xlZGdlX3VpZBgBIAEoCRIaChJrbm93bGVkZ2Vfc2hvcnRfaWQYAiABKAkiSAoaR2V0S25vd2xlZGdlRGV0YWlsUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgASgLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZSLaAQobVXBkYXRlS25vd2xlZGdlRXZlbnRSZXF1ZXN0EhEKCWV2ZW50X3VpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESFAoHY29udGVudBgDIAEoCUgBiAEBEhQKB3RyaWdnZXIYBCABKAlIAogBARI5Cgp1c2FnZV90eXBlGAUgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUgDiAEBQgcKBV9uYW1lQgoKCF9jb250ZW50QgoKCF90cmlnZ2VyQg0KC191c2FnZV90eXBlIksKHFVwZGF0ZUtub3dsZWRnZUV2ZW50UmVzcG9uc2USKwoFZXZlbnQYASABKAsyHC5rbm93bGVkZ2UudjEuS25vd2xlZGdlRXZlbnQiLgoaR2V0QnVpbHRpbktub3dsZWRnZVJlcXVlc3QSEAoIc2hvcnRfaWQYASABKAkiSQobR2V0QnVpbHRpbktub3dsZWRnZVJlc3BvbnNlEioKCWtub3dsZWRnZRgBIAEoCzIXLmtub3dsZWRnZS52MS5Lbm93bGVkZ2UqrAEKFEtub3dsZWRnZUV2ZW50U3RhdHVzEiYKIktOT1dMRURHRV9FVkVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIiCh5LTk9XTEVER0VfRVZFTlRfU1RBVFVTX1BFTkRJTkcQARIjCh9LTk9XTEVER0VfRVZFTlRfU1RBVFVTX0FDQ0VQVEVEEAISIwofS05PV0xFREdFX0VWRU5UX1NUQVRVU19SRUpFQ1RFRBADKmQKDUtub3dsZWRnZUtpbmQSHgoaS05PV0xFREdFX0tJTkRfVU5TUEVDSUZJRUQQABIXChNLTk9XTEVER0VfS0lORF9VU0VSEAESGgoWS05PV0xFREdFX0tJTkRfQlVJTFRJThACKoIBChJLbm93bGVkZ2VVc2FnZVR5cGUSJAogS05PV0xFREdFX1VTQUdFX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1LTk9XTEVER0VfVVNBR0VfVFlQRV9VU0VfV0hFThABEiMKH0tOT1dMRURHRV9VU0FHRV9UWVBFX0FMV0FZU19VU0UQAiqdAQoSS25vd2xlZGdlRXZlbnRLaW5kEiQKIEtOT1dMRURHRV9FVkVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASHwobS05PV0xFREdFX0VWRU5UX0tJTkRfQ1JFQVRFEAESHwobS05PV0xFREdFX0VWRU5UX0tJTkRfVVBEQVRFEAISHwobS05PV0xFREdFX0VWRU5UX0tJTkRfREVMRVRFEAMysggKEEtub3dsZWRnZVNlcnZpY2USWAoNTGlzdEtub3dsZWRnZRIiLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlUmVxdWVzdBojLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlUmVzcG9uc2USagoTTGlzdEtub3dsZWRnZUV2ZW50cxIoLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlRXZlbnRzUmVxdWVzdBopLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlRXZlbnRzUmVzcG9uc2USfwoaVXBkYXRlS25vd2xlZGdlRXZlbnRTdGF0dXMSLy5rbm93bGVkZ2UudjEuVXBkYXRlS25vd2xlZGdlRXZlbnRTdGF0dXNSZXF1ZXN0GjAua25vd2xlZGdlLnYxLlVwZGF0ZUtub3dsZWRnZUV2ZW50U3RhdHVzUmVzcG9uc2USXgoPQ3JlYXRlS25vd2xlZGdlEiQua25vd2xlZGdlLnYxLkNyZWF0ZUtub3dsZWRnZVJlcXVlc3QaJS5rbm93bGVkZ2UudjEuQ3JlYXRlS25vd2xlZGdlUmVzcG9uc2USXgoPVXBkYXRlS25vd2xlZGdlEiQua25vd2xlZGdlLnYxLlVwZGF0ZUtub3dsZWRnZVJlcXVlc3QaJS5rbm93bGVkZ2UudjEuVXBkYXRlS25vd2xlZGdlUmVzcG9uc2USXgoPRGVsZXRlS25vd2xlZGdlEiQua25vd2xlZGdlLnYxLkRlbGV0ZUtub3dsZWRnZVJlcXVlc3QaJS5rbm93bGVkZ2UudjEuRGVsZXRlS25vd2xlZGdlUmVzcG9uc2UScwoWVXBkYXRlS25vd2xlZGdlRW5hYmxlZBIrLmtub3dsZWRnZS52MS5VcGRhdGVLbm93bGVkZ2VFbmFibGVkUmVxdWVzdBosLmtub3dsZWRnZS52MS5VcGRhdGVLbm93bGVkZ2VFbmFibGVkUmVzcG9uc2USZwoSR2V0S25vd2xlZGdlRGV0YWlsEicua25vd2xlZGdlLnYxLkdldEtub3dsZWRnZURldGFpbFJlcXVlc3QaKC5rbm93bGVkZ2UudjEuR2V0S25vd2xlZGdlRGV0YWlsUmVzcG9uc2USbQoUVXBkYXRlS25vd2xlZGdlRXZlbnQSKS5rbm93bGVkZ2UudjEuVXBkYXRlS25vd2xlZGdlRXZlbnRSZXF1ZXN0Gioua25vd2xlZGdlLnYxLlVwZGF0ZUtub3dsZWRnZUV2ZW50UmVzcG9uc2USagoTR2V0QnVpbHRpbktub3dsZWRnZRIoLmtub3dsZWRnZS52MS5HZXRCdWlsdGluS25vd2xlZGdlUmVxdWVzdBopLmtub3dsZWRnZS52MS5HZXRCdWlsdGluS25vd2xlZGdlUmVzcG9uc2VCuAEKEGNvbS5rbm93bGVkZ2UudjFCDktub3dsZWRnZVByb3RvUAFaQ2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9rbm93bGVkZ2UvdjE7a25vd2xlZGdldjGiAgNLWFiqAgxLbm93bGVkZ2UuVjHKAgxLbm93bGVkZ2VcVjHiAhhLbm93bGVkZ2VcVjFcR1BCTWV0YWRhdGHqAg1Lbm93bGVkZ2U6OlYxYgZwcm90bzM",[Ye,te]),np=M(Ts,0),lp=z("CiJrbm93bGVkZ2UvdjEva25vd2xlZGdlX2FkbWluLnByb3RvEgxrbm93bGVkZ2UudjEiOwoaTGlzdFN5c3RlbUtub3dsZWRnZVJlcXVlc3QSDgoGb2Zmc2V0GAEgASgFEg0KBWxpbWl0GAIgASgFImoKG0xpc3RTeXN0ZW1Lbm93bGVkZ2VSZXNwb25zZRIqCglrbm93bGVkZ2UYASADKAsyFy5rbm93bGVkZ2UudjEuS25vd2xlZGdlEg0KBXRvdGFsGAIgASgDEhAKCGhhc19uZXh0GAMgASgIIpgBChxDcmVhdGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSDwoHY29udGVudBgCIAEoCRIPCgd0cmlnZ2VyGAMgASgJEjkKCnVzYWdlX3R5cGUYBCABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlSACIAQFCDQoLX3VzYWdlX3R5cGUiSwodQ3JlYXRlU3lzdGVtS25vd2xlZGdlUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgASgLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZSK/AgocVXBkYXRlU3lzdGVtS25vd2xlZGdlUmVxdWVzdBIVCg1rbm93bGVkZ2VfdWlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIUCgdjb250ZW50GAMgASgJSAGIAQESFAoHdHJpZ2dlchgEIAEoCUgCiAEBEjkKCnVzYWdlX3R5cGUYBSABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlSAOIAQESGQoMaWRfZm9yX21hbnVzGAYgASgFSASIAQESHQoQdW5pcXVlX2luY19pbmRleBgHIAEoBUgFiAEBQgcKBV9uYW1lQgoKCF9jb250ZW50QgoKCF90cmlnZ2VyQg0KC191c2FnZV90eXBlQg8KDV9pZF9mb3JfbWFudXNCEwoRX3VuaXF1ZV9pbmNfaW5kZXgiSwodVXBkYXRlU3lzdGVtS25vd2xlZGdlUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgASgLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZSI1ChxEZWxldGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0EhUKDWtub3dsZWRnZV91aWQYASABKAkiMAodRGVsZXRlU3lzdGVtS25vd2xlZGdlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCDLZAwoVS25vd2xlZGdlQWRtaW5TZXJ2aWNlEmoKE0xpc3RTeXN0ZW1Lbm93bGVkZ2USKC5rbm93bGVkZ2UudjEuTGlzdFN5c3RlbUtub3dsZWRnZVJlcXVlc3QaKS5rbm93bGVkZ2UudjEuTGlzdFN5c3RlbUtub3dsZWRnZVJlc3BvbnNlEnAKFUNyZWF0ZVN5c3RlbUtub3dsZWRnZRIqLmtub3dsZWRnZS52MS5DcmVhdGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0Gisua25vd2xlZGdlLnYxLkNyZWF0ZVN5c3RlbUtub3dsZWRnZVJlc3BvbnNlEnAKFVVwZGF0ZVN5c3RlbUtub3dsZWRnZRIqLmtub3dsZWRnZS52MS5VcGRhdGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0Gisua25vd2xlZGdlLnYxLlVwZGF0ZVN5c3RlbUtub3dsZWRnZVJlc3BvbnNlEnAKFURlbGV0ZVN5c3RlbUtub3dsZWRnZRIqLmtub3dsZWRnZS52MS5EZWxldGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0Gisua25vd2xlZGdlLnYxLkRlbGV0ZVN5c3RlbUtub3dsZWRnZVJlc3BvbnNlQr0BChBjb20ua25vd2xlZGdlLnYxQhNLbm93bGVkZ2VBZG1pblByb3RvUAFaQ2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9rbm93bGVkZ2UvdjE7a25vd2xlZGdldjGiAgNLWFiqAgxLbm93bGVkZ2UuVjHKAgxLbm93bGVkZ2VcVjHiAhhLbm93bGVkZ2VcVjFcR1BCTWV0YWRhdGHqAg1Lbm93bGVkZ2U6OlYxYgZwcm90bzM",[Ts]),ip=M(lp,0),Nr=z("ChRzcGFjZS92MS9zcGFjZS5wcm90bxIIc3BhY2UudjEiZgoVU2V0U3BhY2VTdGF0dXNSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhEKCWV2ZW50X3VpZBgCIAEoCRIlCgZzdGF0dXMYAyABKA4yFS5zcGFjZS52MS5TcGFjZVN0YXR1cyIpChZTZXRTcGFjZVN0YXR1c1Jlc3BvbnNlEg8KB1N1Y2Nlc3MYASABKAgikgQKD1NwYWNlU3RhdHVzSW5mbxIqCgZzdGF0dXMYASABKA4yFS5zcGFjZS52MS5TcGFjZVN0YXR1c0gAiAEBEhEKCXNwYWNlX3VpZBgCIAEoCRIRCglzcGFjZV9VcmwYAyABKAkSHgoWcHVibGlzaGVkX3RvX2NvbW11bml0eRgEIAEoCBJAChdzdWJfZG9tYWluX2F1ZGl0X3N0YXR1cxgFIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXNIAYgBARIxCg1kZXBsb3llZF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpzdWJfZG9tYWluGAcgASgJSAKIAQESDQoFdGl0bGUYCCABKAkSEwoLc2Vzc2lvbl91aWQYCSABKAkSEQoJZXZlbnRfdWlkGAogASgJEh0KEHN1Yl9kb21haW5fYXVkaXQYCyABKAlIA4gBARIrCgxhdWRpdF9zdGF0dXMYDCABKA4yFS5zcGFjZS52MS5BdWRpdFN0YXR1cxIxCgxSaXNrQ2F0ZWdvcnkYDSADKA4yGy5zcGFjZS52MS5TcGFjZVJpc2tDYXRlZ29yeUIJCgdfc3RhdHVzQhoKGF9zdWJfZG9tYWluX2F1ZGl0X3N0YXR1c0INCgtfc3ViX2RvbWFpbkITChFfc3ViX2RvbWFpbl9hdWRpdCJZChlQYWdlR2V0VXNlclNwYWNlc1Jlc3BvbnNlEi0KCnNwYWNlX2luZm8YAiADKAsyGS5zcGFjZS52MS5TcGFjZVN0YXR1c0luZm8SDQoFdG90YWwYAyABKAUiLAoVR2V0U3BhY2VTdGF0dXNSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJIl8KFkdldFNwYWNlU3RhdHVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBI0ChFzcGFjZV9zdGF0dXNfaW5mbxgCIAMoCzIZLnNwYWNlLnYxLlNwYWNlU3RhdHVzSW5mbyI1ChRQYWdlR2V0VXNlclNwYWNlc1JlcRIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUiPgoVRWRpdFNwYWNlU3ViRG9tYWluUmVxEhEKCXNwYWNlX3VpZBgBIAEoCRISCgpzdWJfZG9tYWluGAIgASgJIhwKGkVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlIhkKF0dldEVkaXRTcGFjZVNpdGVDb2RlUmVxIk8KHEdldEVkaXRTcGFjZVNpdGVDb2RlUmVzcG9uc2USFwoPZWRpdF9zcGFjZV9jb2RlGAEgASgJEhYKDnZhbGlkX2R1cmF0aW9uGAIgASgDIjEKHUhhc1NwYWNlRWRpdFBlcm1pc3Npb25SZXF1ZXN0EhAKCHNwYWNlX2lkGAEgASgJIjIKHkhhc1NwYWNlRWRpdFBlcm1pc3Npb25SZXNwb25zZRIQCghjYW5fZWRpdBgBIAEoCCIvChpSZXN0b3JlT3JpZ2luYWxTaXRlUmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkiLgobUmVzdG9yZU9yaWdpbmFsU2l0ZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiRgobU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXF1ZXN0EhEKCXNwYWNlX3VpZBgBIAEoCRIUCgx3ZWJfcmF3X2RhdGEYAiABKAkiLwocU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIKlkKC1NwYWNlU3RhdHVzEhoKFlNQQUNFX1NUQVRVU19JTlZJU0lCTEUQABIYChRTUEFDRV9TVEFUVVNfVklTSUJMRRABEhQKEFNQQUNFX1NUQVRVU19CQU4QAipHCg5TcGFjZVN5c1N0YXR1cxIbChdTUEFDRV9TWVNfU1RBVFVTX05PUk1BTBAAEhgKFFNQQUNFX1NZU19TVEFUVVNfQkFOEAEqXQoLQXVkaXRTdGF0dXMSGAoUQVVESVRfU1RBVFVTX1BFTkRJTkcQABIZChVBVURJVF9TVEFUVVNfQVBQUk9WRUQQARIZChVBVURJVF9TVEFUVVNfUkVKRUNURUQQAiqYAQoQU3BhY2VBdWRpdFN0YXR1cxIdChlTUEFDRV9BVURJVF9TVEFUVVNfQ09NTUlUEAASGwoXU1BBQ0VfQVVESVRfU1RBVFVTX1BBU1MQARIdChlTUEFDRV9BVURJVF9TVEFUVVNfUkVKRUNUEAISKQolU1BBQ0VfQVVESVRfU1RBVFVTX05FRURfTUFOVUFMX1JFVklFVxAEKpIIChFTcGFjZVJpc2tDYXRlZ29yeRIlCiFDT05URU5UX1JJU0tfQ0FURUdPUllfVU5TUEVDSUZJRUQQABIPCgtTWVNURU1fUEFUSBABEhUKEUNPTU1BTkRfSU5KRUNUSU9OEAISFgoSU1BFQ0lBTF9DSEFSX0FCVVNFEAMSFAoQUkVTRVJWRURfS0VZV09SRBAEEg4KCkJSQU5EX05BTUUQBRINCglDT1BZUklHSFQQBhISCg5DRUxFQlJJVFlfTkFNRRAHEhQKEFBST1RFQ1RFRF9ET01BSU4QCBIOCgpMRUdBTF9SSVNLEAkSEwoPQ09OVFJPTExFRF9JVEVNEAoSEwoPRklOQU5DSUFMX0ZSQVVEEAsSFQoRRkFMU0VfQURWRVJUSVNJTkcQDBIWChJSRUdJT05BTF9TRU5TSVRJVkUQDRISCg5QUk9GQU5JVFlfTUlMRBAOEhYKElBST0ZBTklUWV9NT0RFUkFURRAPEhQKEFBST0ZBTklUWV9TRVZFUkUQEBIZChVESVNDUklNSU5BVElPTl9SQUNJQUwQERIZChVESVNDUklNSU5BVElPTl9HRU5ERVIQEhIcChhESVNDUklNSU5BVElPTl9SRUxJR0lPVVMQExIWChJESVNDUklNSU5BVElPTl9BR0UQFBIdChlESVNDUklNSU5BVElPTl9ESVNBQklMSVRZEBUSFQoRU0VYVUFMX1NVR0dFU1RJVkUQFhITCg9TRVhVQUxfRVhQTElDSVQQFxIQCgxTRVhVQUxfTUlOT1IQGBIUChBWSU9MRU5DRV9HRU5FUkFMEBkSFAoQVklPTEVOQ0VfRVhUUkVNRRAaEhQKEFZJT0xFTkNFX1dFQVBPTlMQGxIWChJWSU9MRU5DRV9URVJST1JJU00QHBISCg5NSVNJTkZPUk1BVElPThAdEgwKCFBISVNISU5HEB4SEQoNSU1QRVJTT05BVElPThAfEhQKEERFQ0VQVElWRV9ET01BSU4QIBISCg5DVUxUVVJBTF9UQUJPTxAhEhQKEE1VTFRJTElOR1VBTF9QVU4QIhIWChJJTVBMSUNJVF9SRUZFUkVOQ0UQIxISCg5FTUVSR0lOR19TTEFORxAkEggKBFNQQU0QJRIWChJNRUFOSU5HTEVTU19TVFJJTkcQJhIYChRFWENFU1NJVkVfUkVQRVRJVElPThAnEhAKDFNQRUNJQUxfQ0FTRRAoEhIKDkVWQVNJT05fUElOWUlOECkSFwoTRVZBU0lPTl9QSU5ZSU5fQUJCUhAqEhgKFEVWQVNJT05fTUlYRURfU0NSSVBUECsSFQoRRVZBU0lPTl9IT01PR1JBUEgQLBIcChhFVkFTSU9OX0NIQVJfUkVQTEFDRU1FTlQQLTKKBgoMU3BhY2VTZXJ2aWNlElMKDlNldFNwYWNlU3RhdHVzEh8uc3BhY2UudjEuU2V0U3BhY2VTdGF0dXNSZXF1ZXN0GiAuc3BhY2UudjEuU2V0U3BhY2VTdGF0dXNSZXNwb25zZRJTCg5HZXRTcGFjZVN0YXR1cxIfLnNwYWNlLnYxLkdldFNwYWNlU3RhdHVzUmVxdWVzdBogLnNwYWNlLnYxLkdldFNwYWNlU3RhdHVzUmVzcG9uc2USWAoRUGFnZUdldFVzZXJTcGFjZXMSHi5zcGFjZS52MS5QYWdlR2V0VXNlclNwYWNlc1JlcRojLnNwYWNlLnYxLlBhZ2VHZXRVc2VyU3BhY2VzUmVzcG9uc2USWwoSRWRpdFNwYWNlU3ViRG9tYWluEh8uc3BhY2UudjEuRWRpdFNwYWNlU3ViRG9tYWluUmVxGiQuc3BhY2UudjEuRWRpdFNwYWNlU3ViRG9tYWluUmVzcG9uc2USYQoUR2V0RWRpdFNwYWNlU2l0ZUNvZGUSIS5zcGFjZS52MS5HZXRFZGl0U3BhY2VTaXRlQ29kZVJlcRomLnNwYWNlLnYxLkdldEVkaXRTcGFjZVNpdGVDb2RlUmVzcG9uc2USawoWSGFzU3BhY2VFZGl0UGVybWlzc2lvbhInLnNwYWNlLnYxLkhhc1NwYWNlRWRpdFBlcm1pc3Npb25SZXF1ZXN0Giguc3BhY2UudjEuSGFzU3BhY2VFZGl0UGVybWlzc2lvblJlc3BvbnNlEmUKFFNhdmVTcGFjZVNpdGVSYXdEYXRhEiUuc3BhY2UudjEuU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXF1ZXN0GiYuc3BhY2UudjEuU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXNwb25zZRJiChNSZXN0b3JlT3JpZ2luYWxTaXRlEiQuc3BhY2UudjEuUmVzdG9yZU9yaWdpbmFsU2l0ZVJlcXVlc3QaJS5zcGFjZS52MS5SZXN0b3JlT3JpZ2luYWxTaXRlUmVzcG9uc2VCmAEKDGNvbS5zcGFjZS52MUIKU3BhY2VQcm90b1ABWjtnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc3BhY2UvdjE7c3BhY2V2MaICA1NYWKoCCFNwYWNlLlYxygIIU3BhY2VcVjHiAhRTcGFjZVxWMVxHUEJNZXRhZGF0YeoCCVNwYWNlOjpWMWIGcHJvdG8z",[te]),rp=M(Nr,0),op=z("ChtzcGFjZS92MS9zcGFjZV9wdWJsaWMucHJvdG8SCHNwYWNlLnYxIioKFUdldFNwYWNlRGV0YWlsUmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkingEKFkdldFNwYWNlRGV0YWlsUmVzcG9uc2USKgoGc3RhdHVzGAEgASgOMhUuc3BhY2UudjEuU3BhY2VTdGF0dXNIAIgBARIRCglzcGFjZV91cmwYAiABKAkSIQoUc2l0ZV9yYXdfZGF0YV9zM191cmwYAyABKAlIAYgBAUIJCgdfc3RhdHVzQhcKFV9zaXRlX3Jhd19kYXRhX3MzX3VybCI3ChxHZXRFZGl0U3BhY2VTaXRlVG9rZW5SZXF1ZXN0EhcKD2VkaXRfc3BhY2VfY29kZRgBIAEoCSI1Ch1HZXRFZGl0U3BhY2VTaXRlVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkyqAIKElNwYWNlUHVibGljU2VydmljZRJTCg5HZXRTcGFjZURldGFpbBIfLnNwYWNlLnYxLkdldFNwYWNlRGV0YWlsUmVxdWVzdBogLnNwYWNlLnYxLkdldFNwYWNlRGV0YWlsUmVzcG9uc2USUwoOR2V0U3BhY2VTdGF0dXMSHy5zcGFjZS52MS5HZXRTcGFjZVN0YXR1c1JlcXVlc3QaIC5zcGFjZS52MS5HZXRTcGFjZVN0YXR1c1Jlc3BvbnNlEmgKFUdldEVkaXRTcGFjZVNpdGVUb2tlbhImLnNwYWNlLnYxLkdldEVkaXRTcGFjZVNpdGVUb2tlblJlcXVlc3QaJy5zcGFjZS52MS5HZXRFZGl0U3BhY2VTaXRlVG9rZW5SZXNwb25zZUKeAQoMY29tLnNwYWNlLnYxQhBTcGFjZVB1YmxpY1Byb3RvUAFaO2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zcGFjZS92MTtzcGFjZXYxogIDU1hYqgIIU3BhY2UuVjHKAghTcGFjZVxWMeICFFNwYWNlXFYxXEdQQk1ldGFkYXRh6gIJU3BhY2U6OlYxYgZwcm90bzM",[Ye,te,Nr]),ap=M(op,0),cp=z("ChpzcGFjZS92MS9zcGFjZV9hZG1pbi5wcm90bxIIc3BhY2UudjEiNgoRQmxvY2tTcGFjZVJlcXVlc3QSEQoJc3BhY2VfdWlkGAEgASgJEg4KBnJlbWFyaxgCIAEoCSIlChJCbG9ja1NwYWNlUmVzcG9uc2USDwoHU3VjY2VzcxgBIAEoCCKBAQoOU3BhY2VCbG9ja0luZm8SCgoCaWQYASABKAMSEQoJc3BhY2VfdWlkGAIgASgJEg4KBnJlbWFyaxgDIAEoCRIQCghvcGVyYXRvchgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIpChRVbmJsb2NrU3BhY2VzUmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkiJwoUVW5ibG9ja1NwYWNlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJyChVTcGFjZUJsb2NrTGlzdFJlcXVlc3QSFQoEcGFnZRgBIAEoBUIHukgEGgIoARIcCglwYWdlX3NpemUYAiABKAVCCbpIBhoEGGQoARIWCglzcGFjZV91aWQYAyABKAlIAIgBAUIMCgpfc3BhY2VfdWlkIlsKFlNwYWNlQmxvY2tMaXN0UmVzcG9uc2USMgoQc3BhY2VfYmxvY2tfbGlzdBgBIAMoCzIYLnNwYWNlLnYxLlNwYWNlQmxvY2tJbmZvEg0KBXRvdGFsGAIgASgDIpECChZBdWRpdFNwYWNlU3ViRG9tYWluUmVxEgoKAmlkGAEgASgDEhEKCXNwYWNlX3VpZBgCIAEoCRISCgpzdWJfZG9tYWluGAMgASgJEioKBnN0YXR1cxgEIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXMSGgoNcmVqZWN0X3JlYXNvbhgFIAEoCUgAiAEBEh4KEWFkZF9ibG9ja19jb250ZW50GAYgASgJSAGIAQESNAoPcmlza19jYXRlZ29yaWVzGAcgAygOMhsuc3BhY2UudjEuU3BhY2VSaXNrQ2F0ZWdvcnlCEAoOX3JlamVjdF9yZWFzb25CFAoSX2FkZF9ibG9ja19jb250ZW50Ih0KG0F1ZGl0U3BhY2VTdWJEb21haW5SZXNwb25zZSKgAQodUGFnZUdldEF1ZGl0U3BhY2VTdWJEb21haW5SZXESDgoGb2Zmc2V0GAEgASgFEg0KBWxpbWl0GAIgASgFEhYKCXNwYWNlX3VpZBgDIAEoCUgAiAEBEi8KBnN0YXR1cxgEIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXNIAYgBAUIMCgpfc3BhY2VfdWlkQgkKB19zdGF0dXMitQMKF0F1ZGl0U3BhY2VTdWJEb21haW5JbmZvEgoKAmlkGAEgASgDEhEKCXNwYWNlX3VpZBgCIAEoCRISCgpzdWJfZG9tYWluGAMgASgJEioKBnN0YXR1cxgEIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXMSEwoLc2Vzc2lvbl91aWQYBSABKAkSEQoJZXZlbnRfdWlkGAYgASgJEg8KB3VzZXJfaWQYByABKAkSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKYXVkaXRvcl9pZBgJIAEoCRIVCg1yZWplY3RfcmVhc29uGAogASgJEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDHNwYWNlX3N0YXR1cxgMIAEoDjIVLnNwYWNlLnYxLlNwYWNlU3RhdHVzSACIAQESNAoPcmlza19jYXRlZ29yaWVzGA0gAygOMhsuc3BhY2UudjEuU3BhY2VSaXNrQ2F0ZWdvcnlCDwoNX3NwYWNlX3N0YXR1cyJ7CiJQYWdlR2V0QXVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlEkYKG2F1ZGl0X3NwYWNlX3N1Yl9kb21haW5faW5mbxgBIAMoCzIhLnNwYWNlLnYxLkF1ZGl0U3BhY2VTdWJEb21haW5JbmZvEg0KBXRvdGFsGAIgASgFIj8KHlBhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlcRIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUiXQojUGFnZVNwYWNlU3ViRG9tYWluQmxvY2tXb3JkUmVzcG9uc2USJwoKYmxvY2tfd29yZBgBIAMoCzITLnNwYWNlLnYxLkJsb2NrV29yZBINCgV0b3RhbBgCIAEoBSKjAQoJQmxvY2tXb3JkEgoKAmlkGAEgASgFEhIKCmJsb2NrX3dvcmQYAiABKAkSLgoKY3JlYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEAoIb3BlcmF0b3IYBCABKAkSNAoPcmlza19jYXRlZ29yaWVzGAcgAygOMhsuc3BhY2UudjEuU3BhY2VSaXNrQ2F0ZWdvcnkiaQodQWRkU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXESEgoKYmxvY2tfd29yZBgBIAEoCRI0Cg9yaXNrX2NhdGVnb3JpZXMYByADKA4yGy5zcGFjZS52MS5TcGFjZVJpc2tDYXRlZ29yeSIzCh1EZWxTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlcRISCgpibG9ja193b3JkGAEgASgJIiQKIkFkZFNwYWNlU3ViRG9tYWluQmxvY2tXb3JkUmVzcG9uc2UiJAoiRGVsU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXNwb25zZTK4BgoRU3BhY2VBZG1pblNlcnZpY2USRwoKQmxvY2tTcGFjZRIbLnNwYWNlLnYxLkJsb2NrU3BhY2VSZXF1ZXN0Ghwuc3BhY2UudjEuQmxvY2tTcGFjZVJlc3BvbnNlEk4KDFVuYmxvY2tTcGFjZRIeLnNwYWNlLnYxLlVuYmxvY2tTcGFjZXNSZXF1ZXN0Gh4uc3BhY2UudjEuVW5ibG9ja1NwYWNlUmVzcG9uc2USUwoOU3BhY2VCbG9ja0xpc3QSHy5zcGFjZS52MS5TcGFjZUJsb2NrTGlzdFJlcXVlc3QaIC5zcGFjZS52MS5TcGFjZUJsb2NrTGlzdFJlc3BvbnNlEnMKGlBhZ2VHZXRBdWRpdFNwYWNlU3ViRG9tYWluEicuc3BhY2UudjEuUGFnZUdldEF1ZGl0U3BhY2VTdWJEb21haW5SZXEaLC5zcGFjZS52MS5QYWdlR2V0QXVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlEl4KE0F1ZGl0U3BhY2VTdWJEb21haW4SIC5zcGFjZS52MS5BdWRpdFNwYWNlU3ViRG9tYWluUmVxGiUuc3BhY2UudjEuQXVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlEnYKG1BhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZBIoLnNwYWNlLnYxLlBhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlcRotLnNwYWNlLnYxLlBhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlc3BvbnNlEnMKGkRlbFNwYWNlU3ViRG9tYWluQmxvY2tXb3JkEicuc3BhY2UudjEuRGVsU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXEaLC5zcGFjZS52MS5EZWxTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlc3BvbnNlEnMKGkFkZFNwYWNlU3ViRG9tYWluQmxvY2tXb3JkEicuc3BhY2UudjEuQWRkU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXEaLC5zcGFjZS52MS5BZGRTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlc3BvbnNlQp0BCgxjb20uc3BhY2UudjFCD1NwYWNlQWRtaW5Qcm90b1ABWjtnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc3BhY2UvdjE7c3BhY2V2MaICA1NYWKoCCFNwYWNlLlYxygIIU3BhY2VcVjHiAhRTcGFjZVxWMVxHUEJNZXRhZGF0YeoCCVNwYWNlOjpWMWIGcHJvdG8z",[te,Ye,Nr]),dp=M(cp,0),sp=z("Ch9hcGlwcm94eS92MS9hcGlwcm94eV9iYXNlLnByb3RvEgthcGlwcm94eS52MSKxAgoKQXBpRXhhbXBsZRIMCgRuYW1lGAEgASgJEg4KBmFwaV9pZBgCIAEoCRIxCgVxdWVyeRgDIAMoCzIiLmFwaXByb3h5LnYxLkFwaUV4YW1wbGUuUXVlcnlFbnRyeRIqCgRib2R5GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEjwKC3BhdGhfcGFyYW1zGAYgAygLMicuYXBpcHJveHkudjEuQXBpRXhhbXBsZS5QYXRoUGFyYW1zRW50cnkaLAoKUXVlcnlFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjEKD1BhdGhQYXJhbXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgcKBV9ib2R5Il0KCUFwaURldGFpbBIQCghzaG9ydF9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGRvY3MYAyABKAkSEAoIYXBpX25hbWUYBCABKAkSEAoIdXNlX3doZW4YBSABKAkiuwIKDkFwaVJlcXVlc3RJbmZvEgwKBGhvc3QYASABKAkSDAoEcGF0aBgCIAEoCRIOCgZtZXRob2QYAyABKAkSSAoPZGVmYXVsdF9oZWFkZXJzGAUgAygLMi8uYXBpcHJveHkudjEuQXBpUmVxdWVzdEluZm8uRGVmYXVsdEhlYWRlcnNFbnRyeRJGCg5kZWZhdWx0X3BhcmFtcxgGIAMoCzIuLmFwaXByb3h5LnYxLkFwaVJlcXVlc3RJbmZvLkRlZmF1bHRQYXJhbXNFbnRyeRo1ChNEZWZhdWx0SGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaNAoSRGVmYXVsdFBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiuAEKB0FwaUluZm8SDAoEbmFtZRgBIAEoCRIQCghhcGlfbmFtZRgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIQCgh1c2Vfd2hlbhgEIAEoCRILCgNkb2MYBSABKAkSMQoMcmVxdWVzdF9pbmZvGAYgASgLMhsuYXBpcHJveHkudjEuQXBpUmVxdWVzdEluZm8SKQoIZXhhbXBsZXMYByADKAsyFy5hcGlwcm94eS52MS5BcGlFeGFtcGxlIpEFCglBcGlTZWNyZXQSMgoJYXV0aF90eXBlGAEgASgOMh8uYXBpcHJveHkudjEuQXBpU2VjcmV0LkF1dGhUeXBlEjIKB2FwaV9rZXkYAiABKAsyIS5hcGlwcm94eS52MS5BcGlTZWNyZXQuQXBpS2V5QXV0aBIvCgViYXNpYxgDIAEoCzIgLmFwaXByb3h5LnYxLkFwaVNlY3JldC5CYXNpY0F1dGgSMQoGb2F1dGgyGAQgASgLMiEuYXBpcHJveHkudjEuQXBpU2VjcmV0Lk9BdXRoMkF1dGgaOQoKQXBpS2V5QXV0aBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIQCghpbl9xdWVyeRgDIAEoCBovCglCYXNpY0F1dGgSEAoIdXNlcm5hbWUYASABKAkSEAoIcGFzc3dvcmQYAiABKAka3QEKCk9BdXRoMkF1dGgSEQoJY2xpZW50X2lkGAEgASgJEhUKDWNsaWVudF9zZWNyZXQYAiABKAkSEQoJdG9rZW5fdXJsGAMgASgJEhQKDGFjY2Vzc190b2tlbhgEIAEoCRJICgxleHRyYV9wYXJhbXMYBSADKAsyMi5hcGlwcm94eS52MS5BcGlTZWNyZXQuT0F1dGgyQXV0aC5FeHRyYVBhcmFtc0VudHJ5GjIKEEV4dHJhUGFyYW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJsCghBdXRoVHlwZRIZChVBVVRIX1RZUEVfVU5TUEVDSUZJRUQQABIVChFBVVRIX1RZUEVfQVBJX0tFWRABEhgKFEFVVEhfVFlQRV9CQVNJQ19BVVRIEAISFAoQQVVUSF9UWVBFX09BVVRIMhADQrQBCg9jb20uYXBpcHJveHkudjFCEUFwaXByb3h5QmFzZVByb3RvUAFaQWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9hcGlwcm94eS92MTthcGlwcm94eXYxogIDQVhYqgILQXBpcHJveHkuVjHKAgtBcGlwcm94eVxWMeICF0FwaXByb3h5XFYxXEdQQk1ldGFkYXRh6gIMQXBpcHJveHk6OlYxYgZwcm90bzM",[He]),Ms=z("ChphcGlwcm94eS92MS9hcGlwcm94eS5wcm90bxILYXBpcHJveHkudjEirwIKDkNhbGxBcGlSZXF1ZXN0Eg4KBmFwaV9pZBgBIAEoCRI1CgVxdWVyeRgCIAMoCzImLmFwaXByb3h5LnYxLkNhbGxBcGlSZXF1ZXN0LlF1ZXJ5RW50cnkSKgoEYm9keRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARJACgtwYXRoX3BhcmFtcxgFIAMoCzIrLmFwaXByb3h5LnYxLkNhbGxBcGlSZXF1ZXN0LlBhdGhQYXJhbXNFbnRyeRosCgpRdWVyeUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMQoPUGF0aFBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCBwoFX2JvZHkijwEKD0NhbGxBcGlSZXNwb25zZRIRCglqc29uX2RhdGEYASABKAkSKgoEZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIRCgRjb2RlGAMgASgFSAGIAQESEAoDbXNnGAQgASgJSAKIAQFCBwoFX2RhdGFCBwoFX2NvZGVCBgoEX21zZzJZCg9BcGlQcm94eVNlcnZpY2USRgoHQ2FsbEFwaRIbLmFwaXByb3h5LnYxLkNhbGxBcGlSZXF1ZXN0GhwuYXBpcHJveHkudjEuQ2FsbEFwaVJlc3BvbnNlIgBCsAEKD2NvbS5hcGlwcm94eS52MUINQXBpcHJveHlQcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvYXBpcHJveHkvdjE7YXBpcHJveHl2MaICA0FYWKoCC0FwaXByb3h5LlYxygILQXBpcHJveHlcVjHiAhdBcGlwcm94eVxWMVxHUEJNZXRhZGF0YeoCDEFwaXByb3h5OjpWMWIGcHJvdG8z",[He]),up=M(Ms,0),gp=z("CiBhcGlwcm94eS92MS9hcGlwcm94eV9hZG1pbi5wcm90bxILYXBpcHJveHkudjEijQEKEENyZWF0ZUFwaVJlcXVlc3QSJgoIYXBpX2luZm8YASABKAsyFC5hcGlwcm94eS52MS5BcGlJbmZvEiYKBnNlY3JldBgCIAEoCzIWLmFwaXByb3h5LnYxLkFwaVNlY3JldBIpCghleGFtcGxlcxgDIAMoCzIXLmFwaXByb3h5LnYxLkFwaUV4YW1wbGUiIwoRQ3JlYXRlQXBpUmVzcG9uc2USDgoGYXBpX2lkGAEgASgJIp0BChBVcGRhdGVBcGlSZXF1ZXN0Eg4KBmFwaV9pZBgBIAEoCRImCghhcGlfaW5mbxgCIAEoCzIULmFwaXByb3h5LnYxLkFwaUluZm8SJgoGc2VjcmV0GAMgASgLMhYuYXBpcHJveHkudjEuQXBpU2VjcmV0EikKCGV4YW1wbGVzGAQgAygLMhcuYXBpcHJveHkudjEuQXBpRXhhbXBsZSIkChFVcGRhdGVBcGlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiIKEERlbGV0ZUFwaVJlcXVlc3QSDgoGYXBpX2lkGAEgASgJIiQKEURlbGV0ZUFwaVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiHwoNR2V0QXBpUmVxdWVzdBIOCgZhcGlfaWQYASABKAki+wEKDkdldEFwaVJlc3BvbnNlEg4KBmFwaV9pZBgBIAEoCRImCghhcGlfaW5mbxgCIAEoCzIULmFwaXByb3h5LnYxLkFwaUluZm8SJgoGc2VjcmV0GAMgASgLMhYuYXBpcHJveHkudjEuQXBpU2VjcmV0Ei4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEikKCGV4YW1wbGVzGAYgAygLMhcuYXBpcHJveHkudjEuQXBpRXhhbXBsZSJRCg5MaXN0QXBpUmVxdWVzdBIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUSFAoHa2V5d29yZBgDIAEoCUgAiAEBQgoKCF9rZXl3b3JkIksKD0xpc3RBcGlSZXNwb25zZRINCgV0b3RhbBgBIAEoBRIpCgRhcGlzGAIgAygLMhsuYXBpcHJveHkudjEuR2V0QXBpUmVzcG9uc2UiVQoYVXBkYXRlQXBpRXhhbXBsZXNSZXF1ZXN0Eg4KBmFwaV9pZBgBIAEoCRIpCghleGFtcGxlcxgCIAMoCzIXLmFwaXByb3h5LnYxLkFwaUV4YW1wbGUiLAoZVXBkYXRlQXBpRXhhbXBsZXNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIMr0EChRBcGlQcm94eUFkbWluU2VydmljZRJMCglDcmVhdGVBcGkSHS5hcGlwcm94eS52MS5DcmVhdGVBcGlSZXF1ZXN0Gh4uYXBpcHJveHkudjEuQ3JlYXRlQXBpUmVzcG9uc2UiABJMCglVcGRhdGVBcGkSHS5hcGlwcm94eS52MS5VcGRhdGVBcGlSZXF1ZXN0Gh4uYXBpcHJveHkudjEuVXBkYXRlQXBpUmVzcG9uc2UiABJMCglEZWxldGVBcGkSHS5hcGlwcm94eS52MS5EZWxldGVBcGlSZXF1ZXN0Gh4uYXBpcHJveHkudjEuRGVsZXRlQXBpUmVzcG9uc2UiABJDCgZHZXRBcGkSGi5hcGlwcm94eS52MS5HZXRBcGlSZXF1ZXN0GhsuYXBpcHJveHkudjEuR2V0QXBpUmVzcG9uc2UiABJGCgdMaXN0QXBpEhsuYXBpcHJveHkudjEuTGlzdEFwaVJlcXVlc3QaHC5hcGlwcm94eS52MS5MaXN0QXBpUmVzcG9uc2UiABJkChFVcGRhdGVBcGlFeGFtcGxlcxIlLmFwaXByb3h5LnYxLlVwZGF0ZUFwaUV4YW1wbGVzUmVxdWVzdBomLmFwaXByb3h5LnYxLlVwZGF0ZUFwaUV4YW1wbGVzUmVzcG9uc2UiABJICglQcm94eUNhbGwSGy5hcGlwcm94eS52MS5DYWxsQXBpUmVxdWVzdBocLmFwaXByb3h5LnYxLkNhbGxBcGlSZXNwb25zZSIAQrUBCg9jb20uYXBpcHJveHkudjFCEkFwaXByb3h5QWRtaW5Qcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvYXBpcHJveHkvdjE7YXBpcHJveHl2MaICA0FYWKoCC0FwaXByb3h5LlYxygILQXBpcHJveHlcVjHiAhdBcGlwcm94eVxWMVxHUEJNZXRhZGF0YeoCDEFwaXByb3h5OjpWMWIGcHJvdG8z",[sp,Ms,te]),hp=M(gp,0),bp=z("Ch5zZXNzaW9uL3YxL3Nlc3Npb25fYWRtaW4ucHJvdG8SCnNlc3Npb24udjEiIAoeUm9sbGJhY2tTZXNzaW9uQ3JlZGl0c1Jlc3BvbnNlIkQKHVJvbGxiYWNrU2Vzc2lvbkNyZWRpdHNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHY3JlZGl0cxgCIAEoBSJUChNMaXN0U2Vzc2lvblJlc3BvbnNlEi4KCHNlc3Npb25zGAEgAygLMhwuc2Vzc2lvbi52MS5BZG1pblNlc3Npb25JbmZvEg0KBXRvdGFsGAIgASgFIpICChBBZG1pblNlc3Npb25JbmZvEhIKCnNlc3Npb25faWQYASABKAkSFgoOY29zdGVkX2NyZWRpdHMYAiABKAUSOQoPcm9sbGJhY2tfc3RhdHVzGAMgASgOMiAuc2Vzc2lvbi52MS5DcmVkaXRSb2xsYmFja1N0YXR1cxIWCg5ibG9ja2VkX3N0YXR1cxgEIAEoCBIPCgd1c2VyX2lkGAUgASgJEg0KBWVtYWlsGAYgASgJEhEKCWlzX3NoYXJlZBgHIAEoCBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcChRjYW5fcm9sbGJhY2tfY3JlZGl0cxgJIAEoBSKmAQoSTGlzdFNlc3Npb25SZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESEQoJcGFnZV9zaXplGAIgASgFEgwKBHVzZXIYAyABKAkSEwoLc2Vzc2lvbl91aWQYBCABKAkSMgoMY3JlZGl0X3JhbmdlGAkgASgLMhcuc2Vzc2lvbi52MS5DcmVkaXRSYW5nZUgAiAEBQg8KDV9jcmVkaXRfcmFuZ2UiJQojVXBkYXRlU2Vzc2lvbkZlZWRiYWNrU3RhdHVzUmVzcG9uc2UibAoiVXBkYXRlU2Vzc2lvbkZlZWRiYWNrU3RhdHVzUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIxCgZzdGF0dXMYAiABKA4yIS5zZXNzaW9uLnYxLlNlc3Npb25GZWVkYmFja1N0YXR1cyInCiVSb2xsYmFja1Nlc3Npb25GZWVkYmFja0NyZWRpdFJlc3BvbnNlIkwKJFJvbGxiYWNrU2Vzc2lvbkZlZWRiYWNrQ3JlZGl0UmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIPCgdjcmVkaXRzGAIgASgFIrcDCgtVc2VjYXNlSW5mbxIKCgJpZBgBIAEoAxIPCgd1c2VyX2lkGAIgASgJEg0KBWVtYWlsGAMgASgJEg8KB2NvbnRlbnQYBCABKAkSEwoLc2Vzc2lvbl91aWQYBSABKAkSFQoNc2hvd19ob21lcGFnZRgGIAEoCBIWCg5vcmRlcl9ob21lcGFnZRgHIAEoBRIUCgxzaG93X3VzZWNhc2UYCCABKAgSFQoNb3JkZXJfdXNlY2FzZRgJIAEoBRIpCgZzdGF0dXMYCiABKA4yGS5zZXNzaW9uLnYxLlVzZWNhc2VTdGF0dXMSDgoGcmVtYXJrGAsgASgJEikKBnNvdXJjZRgMIAEoDjIZLnNlc3Npb24udjEuU2Vzc2lvblNvdXJjZRIcChRzZXNzaW9uX2Zyb21fdXNlcl9pZBgNIAEoCRIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5sYW5ndWFnZV9ncm91cBgQIAEoCSLYAwoSTGlzdFVzZWNhc2VSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESFAoHdXNlcl9pZBgDIAEoCUgAiAEBEhIKBWVtYWlsGAQgASgJSAGIAQESGgoNc2hvd19ob21lcGFnZRgFIAEoCEgCiAEBEhkKDHNob3dfdXNlY2FzZRgGIAEoCEgDiAEBEi4KC3N0YXR1c19saXN0GAcgAygOMhkuc2Vzc2lvbi52MS5Vc2VjYXNlU3RhdHVzEi4KBnNvdXJjZRgIIAEoDjIZLnNlc3Npb24udjEuU2Vzc2lvblNvdXJjZUgEiAEBEiEKFHNlc3Npb25fZnJvbV91c2VyX2lkGAkgASgJSAWIAQESGwoObGFuZ3VhZ2VfZ3JvdXAYCiABKAlIBogBARIcChRtdXN0X3dpdGhfc2Vzc2lvbl9pZBgLIAEoCEIKCghfdXNlcl9pZEIICgZfZW1haWxCEAoOX3Nob3dfaG9tZXBhZ2VCDwoNX3Nob3dfdXNlY2FzZUIJCgdfc291cmNlQhcKFV9zZXNzaW9uX2Zyb21fdXNlcl9pZEIRCg9fbGFuZ3VhZ2VfZ3JvdXAiTwoTTGlzdFVzZWNhc2VSZXNwb25zZRIpCgh1c2VjYXNlcxgBIAMoCzIXLnNlc3Npb24udjEuVXNlY2FzZUluZm8SDQoFdG90YWwYAiABKAMilwQKFFVwZGF0ZVVzZWNhc2VSZXF1ZXN0EhsKCnVzZWNhc2VfaWQYASABKANCB7pIBCICIAASGAoLc2Vzc2lvbl91aWQYAiABKAlIAIgBARIaCg1zaG93X2hvbWVwYWdlGAMgASgISAGIAQESGwoOb3JkZXJfaG9tZXBhZ2UYBCABKAVIAogBARIZCgxzaG93X3VzZWNhc2UYBSABKAhIA4gBARIaCg1vcmRlcl91c2VjYXNlGAYgASgFSASIAQESEwoGcmVtYXJrGAcgASgJSAWIAQESLgoGc3RhdHVzGAggASgOMhkuc2Vzc2lvbi52MS5Vc2VjYXNlU3RhdHVzSAaIAQESLgoGc291cmNlGAkgASgOMhkuc2Vzc2lvbi52MS5TZXNzaW9uU291cmNlSAeIAQESIQoUc2Vzc2lvbl9mcm9tX3VzZXJfaWQYCiABKAlICIgBARIbCg5sYW5ndWFnZV9ncm91cBgLIAEoCUgJiAEBQg4KDF9zZXNzaW9uX3VpZEIQCg5fc2hvd19ob21lcGFnZUIRCg9fb3JkZXJfaG9tZXBhZ2VCDwoNX3Nob3dfdXNlY2FzZUIQCg5fb3JkZXJfdXNlY2FzZUIJCgdfcmVtYXJrQgkKB19zdGF0dXNCCQoHX3NvdXJjZUIXChVfc2Vzc2lvbl9mcm9tX3VzZXJfaWRCEQoPX2xhbmd1YWdlX2dyb3VwIhcKFVVwZGF0ZVVzZWNhc2VSZXNwb25zZSK2AQoSQmxvY2tlZFNlc3Npb25JbmZvEgoKAmlkGAEgASgDEhMKC3Nlc3Npb25fdWlkGAIgASgJEg8KB3VzZXJfaWQYAyABKAkSDgoGcmVhc29uGAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIp0BChpMaXN0QmxvY2tlZFNlc3Npb25zUmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEhgKC3Nlc3Npb25fdWlkGAMgASgJSACIAQESFAoHdXNlcl9pZBgEIAEoCUgBiAEBQg4KDF9zZXNzaW9uX3VpZEIKCghfdXNlcl9pZCJmChtMaXN0QmxvY2tlZFNlc3Npb25zUmVzcG9uc2USOAoQYmxvY2tlZF9zZXNzaW9ucxgBIAMoCzIeLnNlc3Npb24udjEuQmxvY2tlZFNlc3Npb25JbmZvEg0KBXRvdGFsGAIgASgDInMKH1VwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1JlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESEgoKaXNfYmxvY2tlZBgCIAEoCBITCgZyZWFzb24YAyABKAlIAIgBAUIJCgdfcmVhc29uIiIKIFVwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1Jlc3BvbnNlIhsKGUdldE5ld1Nlc3Npb25MaW1pdFJlcXVlc3QiMAoPTmV3U2Vzc2lvbkNvdW50Eg4KBm1pbnV0ZRgBIAEoCRINCgVjb3VudBgCIAEoAyKKAQoaR2V0TmV3U2Vzc2lvbkxpbWl0UmVzcG9uc2USGwoTbmV3X3Nlc3Npb25fcGVyX21pbhgBIAEoAxIWCg53aGl0ZV91c2VyX2lkcxgCIAMoCRI3ChJuZXdfc2Vzc2lvbl9jb3VudHMYAyADKAsyGy5zZXNzaW9uLnYxLk5ld1Nlc3Npb25Db3VudCJQChxVcGRhdGVOZXdTZXNzaW9uTGltaXRSZXF1ZXN0EhsKE25ld19zZXNzaW9uX3Blcl9taW4YASABKAMSEwoLd2hpdGVfdXNlcnMYAiADKAkiHwodVXBkYXRlTmV3U2Vzc2lvbkxpbWl0UmVzcG9uc2UiFQoTR2V0UXVldWVJbmZvUmVxdWVzdCJlCglRdWV1ZUluZm8SKQoKcXVldWVfdHlwZRgBIAEoDjIVLnNlc3Npb24udjEuUXVldWVUeXBlEhQKDHF1ZXVlX2xlbmd0aBgCIAEoAxIXCg9tYXhfY29uY3VycmVuY2UYAyABKAMiMQoPUXVldWVDb25maWdJbmZvEh4KFmdsb2JhbF9tYXhfY29uY3VycmVuY2UYASABKAMidAoUR2V0UXVldWVJbmZvUmVzcG9uc2USKQoKcXVldWVfaW5mbxgBIAMoCzIVLnNlc3Npb24udjEuUXVldWVJbmZvEjEKDHF1ZXVlX2NvbmZpZxgCIAEoCzIbLnNlc3Npb24udjEuUXVldWVDb25maWdJbmZvImwKHVNldFF1ZXVlTWF4Q29uY3VycmVuY2VSZXF1ZXN0EikKCnF1ZXVlX3R5cGUYASABKA4yFS5zZXNzaW9uLnYxLlF1ZXVlVHlwZRIgCg9tYXhfY29uY3VycmVuY2UYAiABKANCB7pIBCICIAAiUwoeU2V0UXVldWVNYXhDb25jdXJyZW5jZVJlc3BvbnNlEjEKDHF1ZXVlX2NvbmZpZxgBIAEoCzIbLnNlc3Npb24udjEuUXVldWVDb25maWdJbmZvIkkKHlNldEdsb2JhbE1heENvbmN1cnJlbmNlUmVxdWVzdBInChZnbG9iYWxfbWF4X2NvbmN1cnJlbmNlGAEgASgDQge6SAQiAiAAIlQKH1NldEdsb2JhbE1heENvbmN1cnJlbmNlUmVzcG9uc2USMQoMcXVldWVfY29uZmlnGAEgASgLMhsuc2Vzc2lvbi52MS5RdWV1ZUNvbmZpZ0luZm8iPgoRQ2xlYXJRdWV1ZVJlcXVlc3QSKQoKcXVldWVfdHlwZRgBIAEoDjIVLnNlc3Npb24udjEuUXVldWVUeXBlIl4KEkNsZWFyUXVldWVSZXNwb25zZRIVCg10YXNrc19yZW1vdmVkGAEgASgDEjEKDHF1ZXVlX2NvbmZpZxgCIAEoCzIbLnNlc3Npb24udjEuUXVldWVDb25maWdJbmZvImEKJUJhdGNoVXBkYXRlUXVldWVNYXhDb25jdXJyZW5jZVJlcXVlc3QSOAoNcXVldWVfdXBkYXRlcxgBIAMoCzIXLnNlc3Npb24udjEuUXVldWVVcGRhdGVCCLpIBZIBAggBIloKC1F1ZXVlVXBkYXRlEikKCnF1ZXVlX3R5cGUYASABKA4yFS5zZXNzaW9uLnYxLlF1ZXVlVHlwZRIgCg9tYXhfY29uY3VycmVuY2UYAiABKANCB7pIBCICIAAiUwomQmF0Y2hVcGRhdGVRdWV1ZU1heENvbmN1cnJlbmNlUmVzcG9uc2USKQoKcXVldWVfaW5mbxgBIAMoCzIVLnNlc3Npb24udjEuUXVldWVJbmZvIhkKF0dldFF1ZXVlU2V0dGluZ3NSZXF1ZXN0InoKDFF1ZXVlU2V0dGluZxIpCgpxdWV1ZV90eXBlGAEgASgOMhUuc2Vzc2lvbi52MS5RdWV1ZVR5cGUSJgoeY29uc3VtcHRpb25fc3BlZWRfdGFza19wZXJfbWluGAIgASgBEhcKD21heF93YWl0aW5nX21pbhgDIAEoBSJMChhHZXRRdWV1ZVNldHRpbmdzUmVzcG9uc2USMAoOcXVldWVfc2V0dGluZ3MYASADKAsyGC5zZXNzaW9uLnYxLlF1ZXVlU2V0dGluZyJLChdTZXRRdWV1ZVNldHRpbmdzUmVxdWVzdBIwCg5xdWV1ZV9zZXR0aW5ncxgBIAMoCzIYLnNlc3Npb24udjEuUXVldWVTZXR0aW5nIhoKGFNldFF1ZXVlU2V0dGluZ3NSZXNwb25zZSKXAwoaTGlzdFNlc3Npb25GZWVkYmFja1JlcXVlc3QSFQoEcGFnZRgBIAEoBUIHukgEGgIoARIcCglwYWdlX3NpemUYAiABKAVCCbpIBhoEGGQoBRINCgVzY29yZRgDIAMoBRIMCgR1c2VyGAQgASgJEhMKC3Nlc3Npb25fdWlkGAUgASgJEjYKBnN0YXR1cxgGIAEoDjIhLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrU3RhdHVzSACIAQESHwoSYWxsb3dfY29sbGVjdF9pbmZvGAcgASgISAGIAQESPgoPcm9sbGJhY2tfc3RhdHVzGAggASgOMiAuc2Vzc2lvbi52MS5DcmVkaXRSb2xsYmFja1N0YXR1c0gCiAEBEjIKDGNyZWRpdF9yYW5nZRgJIAEoCzIXLnNlc3Npb24udjEuQ3JlZGl0UmFuZ2VIA4gBAUIJCgdfc3RhdHVzQhUKE19hbGxvd19jb2xsZWN0X2luZm9CEgoQX3JvbGxiYWNrX3N0YXR1c0IPCg1fY3JlZGl0X3JhbmdlIkEKC0NyZWRpdFJhbmdlEhAKA21pbhgBIAEoBUgAiAEBEhAKA21heBgCIAEoBUgBiAEBQgYKBF9taW5CBgoEX21heCJbChtMaXN0U2Vzc2lvbkZlZWRiYWNrUmVzcG9uc2USLQoIZmVlZGJhY2sYASADKAsyGy5zZXNzaW9uLnYxLlNlc3Npb25GZWVkYmFjaxINCgV0b3RhbBgCIAEoAyK/AwoPU2Vzc2lvbkZlZWRiYWNrEg0KBXNjb3JlGAEgASgFEg8KB2NvbnRlbnQYAiABKAkSEwoLc2Vzc2lvbl91aWQYAyABKAkSGgoSYWxsb3dfY29sbGVjdF9pbmZvGAQgASgIEjEKBnN0YXR1cxgFIAEoDjIhLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrU3RhdHVzEg8KB3VzZXJfaWQYBiABKAkSEQoJdXNlcl9uYW1lGAcgASgJEg0KBWVtYWlsGAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCWlzX3NoYXJlZBgLIAEoCEgAiAEBEjkKD3JvbGxiYWNrX3N0YXR1cxgMIAEoDjIgLnNlc3Npb24udjEuQ3JlZGl0Um9sbGJhY2tTdGF0dXMSFgoOY29zdGVkX2NyZWRpdHMYDSABKAUSHAoUY2FuX3JvbGxiYWNrX2NyZWRpdHMYDiABKAVCDAoKX2lzX3NoYXJlZCIuChdTaWduYXR1cmVTZXNzaW9uUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCSIpChhTaWduYXR1cmVTZXNzaW9uUmVzcG9uc2USDQoFdG9rZW4YASABKAkqegoNVXNlY2FzZVN0YXR1cxIeChpVU0VDQVNFX1NUQVRVU19VTlNQRUNJRklFRBAAEhcKE1VTRUNBU0VfU1RBVFVTX1BBU1MQARIXChNVU0VDQVNFX1NUQVRVU19ERU5ZEAISFwoTVVNFQ0FTRV9TVEFUVVNfVE9ETxADKmUKDVNlc3Npb25Tb3VyY2USHgoaU0VTU0lPTl9TT1VSQ0VfVU5TUEVDSUZJRUQQABIXChNTRVNTSU9OX1NPVVJDRV9VU0VSEAESGwoXU0VTU0lPTl9TT1VSQ0VfT0ZGSUNJQUwQAiqXAQoJUXVldWVUeXBlEhoKFlFVRVVFX1RZUEVfVU5TUEVDSUZJRUQQABISCg5RVUVVRV9UWVBFX0FMTBABEhYKElFVRVVFX1RZUEVfREVGQVVMVBACEhIKDlFVRVVFX1RZUEVfVklQEAMSFQoRUVVFVUVfVFlQRV9CVUZGRVIQBBIXChNRVUVVRV9UWVBFX0VEVV9URUFNEAUqYAoUQ3JlZGl0Um9sbGJhY2tTdGF0dXMSIgoeQ1JFRElUX1JPTExCQUNLX1NUQVRVU19QRU5ESU5HEAASJAogQ1JFRElUX1JPTExCQUNLX1NUQVRVU19QUk9DRVNTRUQQASquAQoVU2Vzc2lvbkZlZWRiYWNrU3RhdHVzEiMKH1NFU1NJT05fRkVFREJBQ0tfU1RBVFVTX1BFTkRJTkcQABImCiJTRVNTSU9OX0ZFRURCQUNLX1NUQVRVU19QUk9DRVNTSU5HEAESJAogU0VTU0lPTl9GRUVEQkFDS19TVEFUVVNfUkVTT0xWRUQQAhIiCh5TRVNTSU9OX0ZFRURCQUNLX1NUQVRVU19DTE9TRUQQAzLJDwoTU2Vzc2lvbkFkbWluU2VydmljZRJOCgtMaXN0VXNlY2FzZRIeLnNlc3Npb24udjEuTGlzdFVzZWNhc2VSZXF1ZXN0Gh8uc2Vzc2lvbi52MS5MaXN0VXNlY2FzZVJlc3BvbnNlElQKDVVwZGF0ZVVzZWNhc2USIC5zZXNzaW9uLnYxLlVwZGF0ZVVzZWNhc2VSZXF1ZXN0GiEuc2Vzc2lvbi52MS5VcGRhdGVVc2VjYXNlUmVzcG9uc2USZgoTTGlzdEJsb2NrZWRTZXNzaW9ucxImLnNlc3Npb24udjEuTGlzdEJsb2NrZWRTZXNzaW9uc1JlcXVlc3QaJy5zZXNzaW9uLnYxLkxpc3RCbG9ja2VkU2Vzc2lvbnNSZXNwb25zZRJ1ChhVcGRhdGVTZXNzaW9uQmxvY2tTdGF0dXMSKy5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1JlcXVlc3QaLC5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1Jlc3BvbnNlEmMKEkdldE5ld1Nlc3Npb25MaW1pdBIlLnNlc3Npb24udjEuR2V0TmV3U2Vzc2lvbkxpbWl0UmVxdWVzdBomLnNlc3Npb24udjEuR2V0TmV3U2Vzc2lvbkxpbWl0UmVzcG9uc2USbAoVVXBkYXRlTmV3U2Vzc2lvbkxpbWl0Eiguc2Vzc2lvbi52MS5VcGRhdGVOZXdTZXNzaW9uTGltaXRSZXF1ZXN0Gikuc2Vzc2lvbi52MS5VcGRhdGVOZXdTZXNzaW9uTGltaXRSZXNwb25zZRJRCgxHZXRRdWV1ZUluZm8SHy5zZXNzaW9uLnYxLkdldFF1ZXVlSW5mb1JlcXVlc3QaIC5zZXNzaW9uLnYxLkdldFF1ZXVlSW5mb1Jlc3BvbnNlEm8KFlNldFF1ZXVlTWF4Q29uY3VycmVuY2USKS5zZXNzaW9uLnYxLlNldFF1ZXVlTWF4Q29uY3VycmVuY2VSZXF1ZXN0Giouc2Vzc2lvbi52MS5TZXRRdWV1ZU1heENvbmN1cnJlbmNlUmVzcG9uc2UScgoXU2V0R2xvYmFsTWF4Q29uY3VycmVuY2USKi5zZXNzaW9uLnYxLlNldEdsb2JhbE1heENvbmN1cnJlbmNlUmVxdWVzdBorLnNlc3Npb24udjEuU2V0R2xvYmFsTWF4Q29uY3VycmVuY2VSZXNwb25zZRKHAQoeQmF0Y2hVcGRhdGVRdWV1ZU1heENvbmN1cnJlbmNlEjEuc2Vzc2lvbi52MS5CYXRjaFVwZGF0ZVF1ZXVlTWF4Q29uY3VycmVuY2VSZXF1ZXN0GjIuc2Vzc2lvbi52MS5CYXRjaFVwZGF0ZVF1ZXVlTWF4Q29uY3VycmVuY2VSZXNwb25zZRJLCgpDbGVhclF1ZXVlEh0uc2Vzc2lvbi52MS5DbGVhclF1ZXVlUmVxdWVzdBoeLnNlc3Npb24udjEuQ2xlYXJRdWV1ZVJlc3BvbnNlEl0KEEdldFF1ZXVlU2V0dGluZ3MSIy5zZXNzaW9uLnYxLkdldFF1ZXVlU2V0dGluZ3NSZXF1ZXN0GiQuc2Vzc2lvbi52MS5HZXRRdWV1ZVNldHRpbmdzUmVzcG9uc2USXQoQU2V0UXVldWVTZXR0aW5ncxIjLnNlc3Npb24udjEuU2V0UXVldWVTZXR0aW5nc1JlcXVlc3QaJC5zZXNzaW9uLnYxLlNldFF1ZXVlU2V0dGluZ3NSZXNwb25zZRJmChNMaXN0U2Vzc2lvbkZlZWRiYWNrEiYuc2Vzc2lvbi52MS5MaXN0U2Vzc2lvbkZlZWRiYWNrUmVxdWVzdBonLnNlc3Npb24udjEuTGlzdFNlc3Npb25GZWVkYmFja1Jlc3BvbnNlEk4KC0xpc3RTZXNzaW9uEh4uc2Vzc2lvbi52MS5MaXN0U2Vzc2lvblJlcXVlc3QaHy5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uUmVzcG9uc2USbwoWUm9sbGJhY2tTZXNzaW9uQ3JlZGl0cxIpLnNlc3Npb24udjEuUm9sbGJhY2tTZXNzaW9uQ3JlZGl0c1JlcXVlc3QaKi5zZXNzaW9uLnYxLlJvbGxiYWNrU2Vzc2lvbkNyZWRpdHNSZXNwb25zZRKEAQodUm9sbGJhY2tTZXNzaW9uRmVlZGJhY2tDcmVkaXQSMC5zZXNzaW9uLnYxLlJvbGxiYWNrU2Vzc2lvbkZlZWRiYWNrQ3JlZGl0UmVxdWVzdBoxLnNlc3Npb24udjEuUm9sbGJhY2tTZXNzaW9uRmVlZGJhY2tDcmVkaXRSZXNwb25zZRJ+ChtVcGRhdGVTZXNzaW9uRmVlZGJhY2tTdGF0dXMSLi5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25GZWVkYmFja1N0YXR1c1JlcXVlc3QaLy5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25GZWVkYmFja1N0YXR1c1Jlc3BvbnNlEl0KEFNpZ25hdHVyZVNlc3Npb24SIy5zZXNzaW9uLnYxLlNpZ25hdHVyZVNlc3Npb25SZXF1ZXN0GiQuc2Vzc2lvbi52MS5TaWduYXR1cmVTZXNzaW9uUmVzcG9uc2VCrQEKDmNvbS5zZXNzaW9uLnYxQhFTZXNzaW9uQWRtaW5Qcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z",[Ye,te]),Vp=M(bp,0),mp=z("CiZzZXNzaW9uL3YxL2NvbW11bml0eV9JbnRlcmFjdGlvbi5wcm90bxIKc2Vzc2lvbi52MSJsChtDb21tdW5pdHlVc2VjYXNlTGlrZVJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhEKCXJlY29yZF9pZBgCIAEoCRInCglsaWtlX3R5cGUYAyABKA4yFC5zZXNzaW9uLnYxLkxpa2VUeXBlIk8KHENvbW11bml0eVVzZWNhc2VMaWtlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEg0KBWNvdW50GAMgASgDKlAKCExpa2VUeXBlEhkKFUxJS0VfVFlQRV9VTlNQRUNJRklFRBAAEhIKDkxJS0VfVFlQRV9MSUtFEAESFQoRTElLRV9UWVBFX0RJU0xJS0UQAjJ4ChtDb21tdW5pdHlJbnRlcmFjdGlvblNlcnZpY2USWQoETGlrZRInLnNlc3Npb24udjEuQ29tbXVuaXR5VXNlY2FzZUxpa2VSZXF1ZXN0Giguc2Vzc2lvbi52MS5Db21tdW5pdHlVc2VjYXNlTGlrZVJlc3BvbnNlQrUBCg5jb20uc2Vzc2lvbi52MUIZQ29tbXVuaXR5SW50ZXJhY3Rpb25Qcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z",[te]),fp=M(mp,0),Kn=z("Ch1zZXNzaW9uL3YxL3Nlc3Npb25fYmFzZS5wcm90bxIKc2Vzc2lvbi52MSIzCgtTZXNzaW9uSW5mbxINCgV0aXRsZRgBIAEoCRIVCg11c2VyX3F1ZXN0aW9uGAIgASgJIlwKCVNwYWNlSW5mbxINCgV0aXRsZRgBIAEoCRISCgpzY3JlZW5zaG90GAIgASgJEhEKCXNwYWNlX3VybBgDIAEoCRIZChFpc19zZXNzaW9uX3B1YmxpYxgEIAEoCCJyCgdDcmVhdG9yEgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDgoGYXZhdGFyGAMgASgJEiwKCXVzZXJfdHlwZRgEIAEoDjIULnNlc3Npb24udjEuVXNlclR5cGVIAIgBAUIMCgpfdXNlcl90eXBlIq8DChRDb21tdW5pdHlVc2VjYXNlSW5mbxIkCgdjcmVhdG9yGAEgASgLMhMuc2Vzc2lvbi52MS5DcmVhdG9yEhIKCnJlY29yZF91aWQYAiABKAkSEwoLc2Vzc2lvbl91aWQYAyABKAkSLwoNcmVzb3VyY2VfdHlwZRgEIAEoDjIYLnNlc3Npb24udjEuUmVzb3VyY2VUeXBlEhMKC3Jlc291cmNlX2lkGAUgASgJEg0KBWdyb3VwGAYgASgJEg4KBmxvY2FsZRgHIAEoCRIzCg9yZXNvdXJjZV9zb3VyY2UYCCABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlEhYKDmZhdm9yaXRlX2NvdW50GAkgASgDEjIKDHNlc3Npb25faW5mbxgKIAEoCzIXLnNlc3Npb24udjEuU2Vzc2lvbkluZm9IAIgBARIuCgpzcGFjZV9pbmZvGAsgASgLMhUuc2Vzc2lvbi52MS5TcGFjZUluZm9IAYgBARISCgpsaWtlX2NvdW50GAwgASgDQg8KDV9zZXNzaW9uX2luZm9CDQoLX3NwYWNlX2luZm8i9QEKDENvbGxhYm9yYXRvchIUCgd1c2VyX2lkGAEgASgJSACIAQESDQoFZW1haWwYAiABKAkSEQoEbmFtZRgDIAEoCUgBiAEBEhMKBmF2YXRhchgEIAEoCUgCiAEBEjYKCnBlcm1pc3Npb24YBSABKA4yIi5zZXNzaW9uLnYxLkNvbGxhYm9yYXRvclBlcm1pc3Npb24SEAoIaXNfb3duZXIYBiABKAgSLgoGc3RhdHVzGAcgASgOMh4uc2Vzc2lvbi52MS5Db2xsYWJvcmF0b3JTdGF0dXNCCgoIX3VzZXJfaWRCBwoFX25hbWVCCQoHX2F2YXRhciL2AQoPU2Vzc2lvbkZpbGVJdGVtEhQKDHNhbmRib3hfcGF0aBgBIAEoCRIQCghmaWxlX3VybBgCIAEoCRIwCgpmaWxlX3N0YWdlGAQgASgOMhwuc2Vzc2lvbi52MS5TZXNzaW9uRmlsZVN0YWdlEi4KCWZpbGVfdHlwZRgFIAEoDjIbLnNlc3Npb24udjEuU2Vzc2lvbkZpbGVUeXBlEjIKC2ZpbGVfZWRpdG9yGAYgASgOMh0uc2Vzc2lvbi52MS5TZXNzaW9uRmlsZUVkaXRvchITCgtzZXNzaW9uX3VpZBgHIAEoCRIQCghldmVudF9pZBgIIAEoCSKvAgofU2Vzc2lvbkZpbGVJdGVtV2l0aFNlc3Npb25UaXRsZRIuCglmaWxlX2l0ZW0YASABKAsyGy5zZXNzaW9uLnYxLlNlc3Npb25GaWxlSXRlbRIVCg1zZXNzaW9uX3RpdGxlGAIgASgJEhUKCHNoYXJlX2lkGAMgASgJSACIAQESMwoPbGFzdF91cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCglmaWxlX25hbWUYBSABKAkSEwoLdmVyc2lvbl91aWQYBiABKAkSGgoSaXNfbG9hZF90b19zYW5kYm94GAcgASgIEhgKC3NoYXJlX3RpdGxlGAggASgJSAGIAQFCCwoJX3NoYXJlX2lkQg4KDF9zaGFyZV90aXRsZSqmAQoNQWdlbnRUYXNrTW9kZRIfChtBR0VOVF9UQVNLX01PREVfVU5TUEVDSUZJRUQQABIcChhBR0VOVF9UQVNLX01PREVfU1RBTkRBUkQQARIfChtBR0VOVF9UQVNLX01PREVfSElHSF9FRkZPUlQQAhIYChRBR0VOVF9UQVNLX01PREVfTElURRADEhsKF0FHRU5UX1RBU0tfTU9ERV9ESVNDVVNTEAQqXQoLQXVkaXRTdGF0dXMSGAoUQVVESVRfU1RBVFVTX1BFTkRJTkcQABIZChVBVURJVF9TVEFUVVNfQVBQUk9WRUQQARIZChVBVURJVF9TVEFUVVNfUkVKRUNURUQQAiphCgxSZXNvdXJjZVR5cGUSHQoZUkVTT1VSQ0VfVFlQRV9VTlNQRUNJRklFRBAAEhkKFVJFU09VUkNFX1RZUEVfU0VTU0lPThABEhcKE1JFU09VUkNFX1RZUEVfU1BBQ0UQAippCg5SZXNvdXJjZVNvdXJjZRIfChtSRVNPVVJDRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABIcChhSRVNPVVJDRV9TT1VSQ0VfT0ZGSUNJQUwQARIYChRSRVNPVVJDRV9TT1VSQ0VfVVNFUhACKlEKCFVzZXJUeXBlEhkKFVVTRVJfVFlQRV9VTlNQRUNJRklFRBAAEhYKElVTRVJfVFlQRV9PRkZJQ0lBTBABEhIKDlVTRVJfVFlQRV9VU0VSEAIqewoSQ29sbGFib3JhdG9yU3RhdHVzEiMKH0NPTExBQk9SQVRPUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtDT0xMQUJPUkFUT1JfU1RBVFVTX1JFTU9WRUQQARIfChtDT0xMQUJPUkFUT1JfU1RBVFVTX0RFTEVURUQQAiqQAQoWQ29sbGFib3JhdG9yUGVybWlzc2lvbhInCiNDT0xMQUJPUkFUT1JfUEVSTUlTU0lPTl9VTlNQRUNJRklFRBAAEiUKIUNPTExBQk9SQVRPUl9QRVJNSVNTSU9OX1JFQURfT05MWRABEiYKIkNPTExBQk9SQVRPUl9QRVJNSVNTSU9OX1JFQURfV1JJVEUQAipRCg5FeHBlcmltZW50VHlwZRIfChtFWFBFUklNRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIeChpFWFBFUklNRU5UX1RZUEVfT05CT0FSRElORxABKooBCg9TZXNzaW9uRmlsZVR5cGUSIQodU0VTU0lPTl9GSUxFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZTRVNTSU9OX0ZJTEVfVFlQRV9GSUxFEAESGwoXU0VTU0lPTl9GSUxFX1RZUEVfSU1BR0UQAhIbChdTRVNTSU9OX0ZJTEVfVFlQRV9TTElERRADKnYKEFNlc3Npb25GaWxlU3RhZ2USIgoeU0VTU0lPTl9GSUxFX1NUQUdFX1VOU1BFQ0lGSUVEEAASHgoaU0VTU0lPTl9GSUxFX1NUQUdFX1BST0NFU1MQARIeChpTRVNTSU9OX0ZJTEVfU1RBR0VfUFJPRFVDVBACKngKEVNlc3Npb25GaWxlRWRpdG9yEiMKH1NFU1NJT05fRklMRV9FRElUT1JfVU5TUEVDSUZJRUQQABIaChZTRVNTSU9OX0ZJTEVfRURJVE9SX0FJEAESIgoeU0VTU0lPTl9GSUxFX0VESVRPUl9VU0VSX09XTkVSEAIqmQEKFlNlc3Npb25GaWxlQ29udmVydFR5cGUSKQolU0VTU0lPTl9GSUxFX0NPTlZFUlRfVFlQRV9VTlNQRUNJRklFRBAAEikKJVNFU1NJT05fRklMRV9DT05WRVJUX1RZUEVfSFRNTF9UT19QREYQARIpCiVTRVNTSU9OX0ZJTEVfQ09OVkVSVF9UWVBFX0hUTUxfVE9fUFBUEAIq7QEKGFNlc3Npb25GaWxlQ29udmVydFN0YXR1cxIrCidTRVNTSU9OX0ZJTEVfQ09OVkVSVF9TVEFUVVNfVU5TUEVDSUZJRUQQABInCiNTRVNTSU9OX0ZJTEVfQ09OVkVSVF9TVEFUVVNfUEVORElORxABEioKJlNFU1NJT05fRklMRV9DT05WRVJUX1NUQVRVU19DT05WRVJUSU5HEAISJwojU0VTU0lPTl9GSUxFX0NPTlZFUlRfU1RBVFVTX1NVQ0NFU1MQAxImCiJTRVNTSU9OX0ZJTEVfQ09OVkVSVF9TVEFUVVNfRkFJTEVEEARCrAEKDmNvbS5zZXNzaW9uLnYxQhBTZXNzaW9uQmFzZVByb3RvUAFaP2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zZXNzaW9uL3YxO3Nlc3Npb252MaICA1NYWKoCClNlc3Npb24uVjHKAgpTZXNzaW9uXFYx4gIWU2Vzc2lvblxWMVxHUEJNZXRhZGF0YeoCC1Nlc3Npb246OlYxYgZwcm90bzM",[te]),Ap=z("CiRzZXNzaW9uL3YxL3Nlc3Npb25fY29sbGFib3JhdGUucHJvdG8SCnNlc3Npb24udjEiTQoYTGlzdENvbGxhYm9yYXRvcnNSZXF1ZXN0EiEKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABSACIAQFCDgoMX3Nlc3Npb25fdWlkIkwKGUxpc3RDb2xsYWJvcmF0b3JzUmVzcG9uc2USLwoNY29sbGFib3JhdG9ycxgBIAMoCzIYLnNlc3Npb24udjEuQ29sbGFib3JhdG9yIjIKGENoZWNrQWxwaGFCeUVtYWlsUmVxdWVzdBIWCgVlbWFpbBgBIAEoCUIHukgEcgIQASItChlDaGVja0FscGhhQnlFbWFpbFJlc3BvbnNlEhAKCGlzX2FscGhhGAEgASgIImgKFFNlbmRWaWV3RW1haWxSZXF1ZXN0EhwKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABEhYKBWVtYWlsGAIgASgJQge6SARyAhABEhoKCXZpZXdfbGluaxgDIAEoCUIHukgEcgIQASIXChVTZW5kVmlld0VtYWlsUmVzcG9uc2UipwEKGUludml0ZUNvbGxhYm9yYXRvclJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESFgoFZW1haWwYAiABKAlCB7pIBHICEAESNgoKcGVybWlzc2lvbhgDIAEoDjIiLnNlc3Npb24udjEuQ29sbGFib3JhdG9yUGVybWlzc2lvbhIcCgtpbnZpdGVfbGluaxgEIAEoCUIHukgEcgIQASJjChpJbnZpdGVDb2xsYWJvcmF0b3JSZXNwb25zZRIVCg1pc19hbHBoYV91c2VyGAEgASgIEi4KDGNvbGxhYm9yYXRvchgCIAEoCzIYLnNlc3Npb24udjEuQ29sbGFib3JhdG9yIkcKGVJlbW92ZUNvbGxhYm9yYXRvclJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESDAoEdXNlchgCIAEoCSIcChpSZW1vdmVDb2xsYWJvcmF0b3JSZXNwb25zZSKJAQojVXBkYXRlQ29sbGFib3JhdG9yUGVybWlzc2lvblJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESDAoEdXNlchgCIAEoCRI2CgpwZXJtaXNzaW9uGAMgASgOMiIuc2Vzc2lvbi52MS5Db2xsYWJvcmF0b3JQZXJtaXNzaW9uIiYKJFVwZGF0ZUNvbGxhYm9yYXRvclBlcm1pc3Npb25SZXNwb25zZSIzChNBY2NlcHRJbnZpdGVSZXF1ZXN0EhwKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABIhYKFEFjY2VwdEludml0ZVJlc3BvbnNlIjMKE1JlamVjdEludml0ZVJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAEiFgoUUmVqZWN0SW52aXRlUmVzcG9uc2UyuQYKGVNlc3Npb25Db2xsYWJvcmF0ZVNlcnZpY2USYgoRTGlzdENvbGxhYm9yYXRvcnMSJC5zZXNzaW9uLnYxLkxpc3RDb2xsYWJvcmF0b3JzUmVxdWVzdBolLnNlc3Npb24udjEuTGlzdENvbGxhYm9yYXRvcnNSZXNwb25zZSIAEmIKEUNoZWNrQWxwaGFCeUVtYWlsEiQuc2Vzc2lvbi52MS5DaGVja0FscGhhQnlFbWFpbFJlcXVlc3QaJS5zZXNzaW9uLnYxLkNoZWNrQWxwaGFCeUVtYWlsUmVzcG9uc2UiABJWCg1TZW5kVmlld0VtYWlsEiAuc2Vzc2lvbi52MS5TZW5kVmlld0VtYWlsUmVxdWVzdBohLnNlc3Npb24udjEuU2VuZFZpZXdFbWFpbFJlc3BvbnNlIgASZQoSSW52aXRlQ29sbGFib3JhdG9yEiUuc2Vzc2lvbi52MS5JbnZpdGVDb2xsYWJvcmF0b3JSZXF1ZXN0GiYuc2Vzc2lvbi52MS5JbnZpdGVDb2xsYWJvcmF0b3JSZXNwb25zZSIAEmUKElJlbW92ZUNvbGxhYm9yYXRvchIlLnNlc3Npb24udjEuUmVtb3ZlQ29sbGFib3JhdG9yUmVxdWVzdBomLnNlc3Npb24udjEuUmVtb3ZlQ29sbGFib3JhdG9yUmVzcG9uc2UiABKDAQocVXBkYXRlQ29sbGFib3JhdG9yUGVybWlzc2lvbhIvLnNlc3Npb24udjEuVXBkYXRlQ29sbGFib3JhdG9yUGVybWlzc2lvblJlcXVlc3QaMC5zZXNzaW9uLnYxLlVwZGF0ZUNvbGxhYm9yYXRvclBlcm1pc3Npb25SZXNwb25zZSIAElMKDEFjY2VwdEludml0ZRIfLnNlc3Npb24udjEuQWNjZXB0SW52aXRlUmVxdWVzdBogLnNlc3Npb24udjEuQWNjZXB0SW52aXRlUmVzcG9uc2UiABJTCgxSZWplY3RJbnZpdGUSHy5zZXNzaW9uLnYxLlJlamVjdEludml0ZVJlcXVlc3QaIC5zZXNzaW9uLnYxLlJlamVjdEludml0ZVJlc3BvbnNlIgBCswEKDmNvbS5zZXNzaW9uLnYxQhdTZXNzaW9uQ29sbGFib3JhdGVQcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z",[Ye,Kn]),pp=M(Ap,0),Zp=z("Ch9zZXNzaW9uL3YxL3Nlc3Npb25fcHVibGljLnByb3RvEgpzZXNzaW9uLnYxIokBChRTdWJtaXRVc2VjYXNlUmVxdWVzdBIqCgVlbWFpbBgBIAEoCUIbukgYchYyFF5bXkBdK0BbXkBdK1wuW15AXSskEhsKB2NvbnRlbnQYAiABKAlCCrpIB3IFEAEYkE4SGAoLc2Vzc2lvbl91aWQYAyABKAlIAIgBAUIOCgxfc2Vzc2lvbl91aWQiKwoVU3VibWl0VXNlY2FzZVJlc3BvbnNlEhIKCnVzZWNhc2VfaWQYASABKAMi2wEKElVzZWNhc2VTZXNzaW9uSW5mbxITCgtzZXNzaW9uX3VpZBgBIAEoCRIVCg1zZXNzaW9uX3RpdGxlGAIgASgJEhQKDHNlc3Npb25faWNvbhgDIAEoCRIPCgd1c2VyX2lkGAQgASgJEhIKCnVzZXJfZW1haWwYBSABKAkSDwoHY29udGVudBgGIAEoCRINCgVvcmRlchgHIAEoBRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZsb2NhbGUYCSABKAkieAoaTGlzdFVzZWNhc2VTZXNzaW9uc1JlcXVlc3QSFQoNc2hvd19ob21lcGFnZRgBIAEoCBIUCgxzaG93X3VzZWNhc2UYAiABKAgSDgoGbG9jYWxlGAMgASgJEg0KBWxpbWl0GAQgASgDEg4KBm9mZnNldBgFIAEoAyJPChtMaXN0VXNlY2FzZVNlc3Npb25zUmVzcG9uc2USMAoIc2Vzc2lvbnMYASADKAsyHi5zZXNzaW9uLnYxLlVzZWNhc2VTZXNzaW9uSW5mbyK/AgocTGlzdENvbW11bml0eVVzZWNhc2VzUmVxdWVzdBIYCgVsaW1pdBgBIAEoA0IJukgGIgQYZCAAEhcKBm9mZnNldBgCIAEoA0IHukgEIgIoABI0Cg1yZXNvdXJjZV90eXBlGAMgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGVIAIgBARI4Cg9yZXNvdXJjZV9zb3VyY2UYBCABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlSAGIAQESEwoGbG9jYWxlGAUgASgJSAKIAQESEgoFZ3JvdXAYBiABKAlIA4gBARIQCgN0YWcYByABKAlIBIgBAUIQCg5fcmVzb3VyY2VfdHlwZUISChBfcmVzb3VyY2Vfc291cmNlQgkKB19sb2NhbGVCCAoGX2dyb3VwQgYKBF90YWciYgodTGlzdENvbW11bml0eVVzZWNhc2VzUmVzcG9uc2USMgoIdXNlY2FzZXMYASADKAsyIC5zZXNzaW9uLnYxLkNvbW11bml0eVVzZWNhc2VJbmZvEg0KBXRvdGFsGAIgASgDIjoKH0JhdGNoR2V0Q29tbXVuaXR5VXNlY2FzZVJlcXVlc3QSFwoPcmVjb3JkX3VpZF9saXN0GAEgAygJIloKIEJhdGNoR2V0Q29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlEjYKDHVzZWNhc2VfbGlzdBgBIAMoCzIgLnNlc3Npb24udjEuQ29tbXVuaXR5VXNlY2FzZUluZm8iLwobR2V0U2hhcmVkU2Vzc2lvbkZpbGVSZXF1ZXN0EhAKCHNoYXJlX2lkGAEgASgJIpUBChxHZXRTaGFyZWRTZXNzaW9uRmlsZVJlc3BvbnNlEhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCRIQCghmaWxlX3VybBgDIAEoCRIRCglmaWxlX25hbWUYBCABKAkSEAoIZWRpdGFibGUYBSABKAgSEwoLc2hhcmVfdGl0bGUYBiABKAkypgQKFFNlc3Npb25QdWJsaWNTZXJ2aWNlElQKDVN1Ym1pdFVzZWNhc2USIC5zZXNzaW9uLnYxLlN1Ym1pdFVzZWNhc2VSZXF1ZXN0GiEuc2Vzc2lvbi52MS5TdWJtaXRVc2VjYXNlUmVzcG9uc2USZgoTTGlzdFVzZWNhc2VTZXNzaW9ucxImLnNlc3Npb24udjEuTGlzdFVzZWNhc2VTZXNzaW9uc1JlcXVlc3QaJy5zZXNzaW9uLnYxLkxpc3RVc2VjYXNlU2Vzc2lvbnNSZXNwb25zZRJsChVMaXN0Q29tbXVuaXR5VXNlY2FzZXMSKC5zZXNzaW9uLnYxLkxpc3RDb21tdW5pdHlVc2VjYXNlc1JlcXVlc3QaKS5zZXNzaW9uLnYxLkxpc3RDb21tdW5pdHlVc2VjYXNlc1Jlc3BvbnNlEnUKGEJhdGNoR2V0Q29tbXVuaXR5VXNlY2FzZRIrLnNlc3Npb24udjEuQmF0Y2hHZXRDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBosLnNlc3Npb24udjEuQmF0Y2hHZXRDb21tdW5pdHlVc2VjYXNlUmVzcG9uc2USawoUR2V0U2hhcmVkU2Vzc2lvbkZpbGUSJy5zZXNzaW9uLnYxLkdldFNoYXJlZFNlc3Npb25GaWxlUmVxdWVzdBooLnNlc3Npb24udjEuR2V0U2hhcmVkU2Vzc2lvbkZpbGVSZXNwb25zZSIAQq4BCg5jb20uc2Vzc2lvbi52MUISU2Vzc2lvblB1YmxpY1Byb3RvUAFaP2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zZXNzaW9uL3YxO3Nlc3Npb252MaICA1NYWKoCClNlc3Npb24uVjHKAgpTZXNzaW9uXFYx4gIWU2Vzc2lvblxWMVxHUEJNZXRhZGF0YeoCC1Nlc3Npb246OlYxYgZwcm90bzM",[Ye,te,Kn]),Gp=M(Zp,0),Xp=z("CipzZXNzaW9uL3YxL3Nlc3Npb25fY29sbGFib3JhdF9wdWJsaWMucHJvdG8SCnNlc3Npb24udjEiUwoeTGlzdFB1YmxpY0NvbGxhYm9yYXRvcnNSZXF1ZXN0EiEKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABSACIAQFCDgoMX3Nlc3Npb25fdWlkIoUBChJQdWJsaWNDb2xsYWJvcmF0b3ISDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAMgASgJEg4KBmF2YXRhchgEIAEoCRIQCghpc19vd25lchgGIAEoCBIuCgZzdGF0dXMYByABKA4yHi5zZXNzaW9uLnYxLkNvbGxhYm9yYXRvclN0YXR1cyJYCh9MaXN0UHVibGljQ29sbGFib3JhdG9yc1Jlc3BvbnNlEjUKDWNvbGxhYm9yYXRvcnMYASADKAsyHi5zZXNzaW9uLnYxLlB1YmxpY0NvbGxhYm9yYXRvcjKXAQofU2Vzc2lvbkNvbGxhYm9yYXRlUHVibGljU2VydmljZRJ0ChdMaXN0UHVibGljQ29sbGFib3JhdG9ycxIqLnNlc3Npb24udjEuTGlzdFB1YmxpY0NvbGxhYm9yYXRvcnNSZXF1ZXN0Gisuc2Vzc2lvbi52MS5MaXN0UHVibGljQ29sbGFib3JhdG9yc1Jlc3BvbnNlIgBCuAEKDmNvbS5zZXNzaW9uLnYxQhxTZXNzaW9uQ29sbGFib3JhdFB1YmxpY1Byb3RvUAFaP2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zZXNzaW9uL3YxO3Nlc3Npb252MaICA1NYWKoCClNlc3Npb24uVjHKAgpTZXNzaW9uXFYx4gIWU2Vzc2lvblxWMVxHUEJNZXRhZGF0YeoCC1Nlc3Npb246OlYxYgZwcm90bzM",[Ye,Kn]),Ip=M(Xp,0),Rp=z("CiBzZXNzaW9uL3YxL2NvbW11bml0eV9hZG1pbi5wcm90bxIKc2Vzc2lvbi52MSL/BAoVQXVkaXRDb21tdW5pdHlVc2VjYXNlEicKBnN0YXR1cxgBIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXMSDgoGcmVtYXJrGAIgASgJEhMKC3Jldmlld2VyX2lkGAMgASgJEi8KC3Jldmlld2VkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgR0YWdzGAUgAygJEgoKAmlkGAYgASgDEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmRlbGV0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3VzZXJfaWQYCiABKAkSDQoFZW1haWwYCyABKAkSEgoKcmVjb3JkX3VpZBgMIAEoCRIvCg1yZXNvdXJjZV90eXBlGA0gASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGUSEwoLcmVzb3VyY2VfaWQYDiABKAkSDQoFZ3JvdXAYDyABKAkSDgoGbG9jYWxlGBAgASgJEg4KBmF2YXRhchgRIAEoCRINCgV0aXRsZRgSIAEoCRITCgtkZXNjcmlwdGlvbhgTIAEoCRIzCg9yZXNvdXJjZV9zb3VyY2UYFCABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlEg0KBW9yZGVyGBUgASgFEhIKCmlzX3B1Ymxpc2gYFiABKAgSGAoQcmVjb21tZW5kX3JlYXNvbhgXIAEoCSLbAwoZUmVjb21tZW5kQ29tbXVuaXR5VXNlY2FzZRIKCgJpZBgBIAEoAxIMCgR0YWdzGAIgAygJEi4KCmNyZWF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmRlbGV0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3VzZXJfaWQYBiABKAkSEgoKcmVjb3JkX3VpZBgIIAEoCRIvCg1yZXNvdXJjZV90eXBlGAkgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGUSEwoLcmVzb3VyY2VfaWQYCiABKAkSDQoFZ3JvdXAYCyABKAkSDgoGbG9jYWxlGAwgASgJEg4KBmF2YXRhchgNIAEoCRINCgV0aXRsZRgOIAEoCRITCgtkZXNjcmlwdGlvbhgPIAEoCRIzCg9yZXNvdXJjZV9zb3VyY2UYECABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlEg0KBW9yZGVyGBEgASgFEhIKCmlzX3B1Ymxpc2gYEiABKAgiJwoKVXNlY2FzZVRhZxILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCSIpCgxVc2VjYXNlR3JvdXASCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkitwMKIExpc3RBdWRpdENvbW11bml0eVVzZWNhc2VSZXF1ZXN0EgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFEiwKBnN0YXR1cxgDIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXNIAIgBARI0Cg1yZXNvdXJjZV90eXBlGAQgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGVIAYgBARIYCgtyZXNvdXJjZV9pZBgFIAEoCUgCiAEBEhEKBHVzZXIYBiABKAlIA4gBARIMCgR0YWdzGAcgAygJEhIKBWdyb3VwGAggASgJSASIAQESLgoKb3JkZXJfdHlwZRgJIAEoDjIVLnNlc3Npb24udjEuT3JkZXJUeXBlSAWIAQESFAoHa2V5d29yZBgKIAEoCUgGiAEBEhMKBmxvY2FsZRgLIAEoCUgHiAEBQgkKB19zdGF0dXNCEAoOX3Jlc291cmNlX3R5cGVCDgoMX3Jlc291cmNlX2lkQgcKBV91c2VyQggKBl9ncm91cEINCgtfb3JkZXJfdHlwZUIKCghfa2V5d29yZEIJCgdfbG9jYWxlImMKIUxpc3RBdWRpdENvbW11bml0eVVzZWNhc2VSZXNwb25zZRIvCgRsaXN0GAEgAygLMiEuc2Vzc2lvbi52MS5BdWRpdENvbW11bml0eVVzZWNhc2USDQoFdG90YWwYAiABKAUi1AMKJExpc3RSZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRI0Cg1yZXNvdXJjZV90eXBlGAMgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGVIAIgBARIYCgtyZXNvdXJjZV9pZBgEIAEoCUgBiAEBEhEKBHVzZXIYBSABKAlIAogBARIMCgR0YWdzGAYgAygJEhIKBWdyb3VwGAcgASgJSAOIAQESFwoKaXNfcHVibGlzaBgIIAEoCEgEiAEBEhgKC2lzX2ZlYXR1cmVkGAkgASgISAWIAQESLgoKb3JkZXJfdHlwZRgKIAEoDjIVLnNlc3Npb24udjEuT3JkZXJUeXBlSAaIAQESFAoHa2V5d29yZBgLIAEoCUgHiAEBEhMKBmxvY2FsZRgMIAEoCUgIiAEBQhAKDl9yZXNvdXJjZV90eXBlQg4KDF9yZXNvdXJjZV9pZEIHCgVfdXNlckIICgZfZ3JvdXBCDQoLX2lzX3B1Ymxpc2hCDgoMX2lzX2ZlYXR1cmVkQg0KC19vcmRlcl90eXBlQgoKCF9rZXl3b3JkQgkKB19sb2NhbGUiawolTGlzdFJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXNwb25zZRIzCgRsaXN0GAEgAygLMiUuc2Vzc2lvbi52MS5SZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlEg0KBXRvdGFsGAIgASgFIqwCCiZVcGRhdGVSZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBIKCgJpZBgBIAEoAxISCgVncm91cBgFIAEoCUgAiAEBEgwKBHRhZ3MYBiADKAkSFwoKaXNfcHVibGlzaBgHIAEoCEgBiAEBEhIKBW9yZGVyGAggASgFSAKIAQESEgoFaW1hZ2UYCSABKAlIA4gBARITCgZsb2NhbGUYCiABKAlIBIgBARISCgV0aXRsZRgLIAEoCUgFiAEBEhgKC2Rlc2NyaXB0aW9uGAwgASgJSAaIAQFCCAoGX2dyb3VwQg0KC19pc19wdWJsaXNoQggKBl9vcmRlckIICgZfaW1hZ2VCCQoHX2xvY2FsZUIICgZfdGl0bGVCDgoMX2Rlc2NyaXB0aW9uIksKJ1VwZGF0ZVJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiqwMKIlVwZGF0ZUF1ZGl0Q29tbXVuaXR5VXNlY2FzZVJlcXVlc3QSCgoCaWQYASABKAMSLAoGc3RhdHVzGAIgASgOMhcuc2Vzc2lvbi52MS5BdWRpdFN0YXR1c0gAiAEBEhMKBnJlbWFyaxgDIAEoCUgBiAEBEhgKC3Jldmlld2VyX2lkGAQgASgJSAKIAQESEgoFZ3JvdXAYBSABKAlIA4gBARIMCgR0YWdzGAYgAygJEhcKCmlzX3B1Ymxpc2gYByABKAhIBIgBARISCgVvcmRlchgIIAEoBUgFiAEBEhIKBWltYWdlGAkgASgJSAaIAQESEwoGbG9jYWxlGAogASgJSAeIAQESEgoFdGl0bGUYCyABKAlICIgBARIYCgtkZXNjcmlwdGlvbhgMIAEoCUgJiAEBQgkKB19zdGF0dXNCCQoHX3JlbWFya0IOCgxfcmV2aWV3ZXJfaWRCCAoGX2dyb3VwQg0KC19pc19wdWJsaXNoQggKBl9vcmRlckIICgZfaW1hZ2VCCQoHX2xvY2FsZUIICgZfdGl0bGVCDgoMX2Rlc2NyaXB0aW9uIkcKI1VwZGF0ZUF1ZGl0Q29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSIeCg5MaXN0VGFnUmVxdWVzdBIMCgR0YWdzGAEgAygJIjcKD0xpc3RUYWdSZXNwb25zZRIkCgR0YWdzGAEgAygLMhYuc2Vzc2lvbi52MS5Vc2VjYXNlVGFnIhIKEExpc3RHcm91cFJlcXVlc3QiPQoRTGlzdEdyb3VwUmVzcG9uc2USKAoGZ3JvdXBzGAEgAygLMhguc2Vzc2lvbi52MS5Vc2VjYXNlR3JvdXAiLgoZR2VuZXJhdGVTY3JlZW5zaG90UmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkiKQoaR2VuZXJhdGVTY3JlZW5zaG90UmVzcG9uc2USCwoDdXJsGAEgASgJIisKHURlbGV0ZUNvbW11bml0eVVzZWNhc2VSZXF1ZXN0EgoKAmlkGAEgASgDIkIKHkRlbGV0ZUNvbW11bml0eVVzZWNhc2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkqPAoJT3JkZXJUeXBlEhkKFU9SREVSX1RZUEVfQ1JFQVRFRF9BVBAAEhQKEE9SREVSX1RZUEVfT1JERVIQATKJBwoVQ29tbXVuaXR5QWRtaW5TZXJ2aWNlEoQBCh1MaXN0UmVjb21tZW5kQ29tbXVuaXR5VXNlY2FzZRIwLnNlc3Npb24udjEuTGlzdFJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXF1ZXN0GjEuc2Vzc2lvbi52MS5MaXN0UmVjb21tZW5kQ29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlEngKGUxpc3RBdWRpdENvbW11bml0eVVzZWNhc2USLC5zZXNzaW9uLnYxLkxpc3RBdWRpdENvbW11bml0eVVzZWNhc2VSZXF1ZXN0Gi0uc2Vzc2lvbi52MS5MaXN0QXVkaXRDb21tdW5pdHlVc2VjYXNlUmVzcG9uc2USigEKH1VwZGF0ZVJlY29tbWVuZENvbW11bml0eVVzZWNhc2USMi5zZXNzaW9uLnYxLlVwZGF0ZVJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXF1ZXN0GjMuc2Vzc2lvbi52MS5VcGRhdGVSZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlUmVzcG9uc2USfgobVXBkYXRlQXVkaXRDb21tdW5pdHlVc2VjYXNlEi4uc2Vzc2lvbi52MS5VcGRhdGVBdWRpdENvbW11bml0eVVzZWNhc2VSZXF1ZXN0Gi8uc2Vzc2lvbi52MS5VcGRhdGVBdWRpdENvbW11bml0eVVzZWNhc2VSZXNwb25zZRJCCgdMaXN0VGFnEhouc2Vzc2lvbi52MS5MaXN0VGFnUmVxdWVzdBobLnNlc3Npb24udjEuTGlzdFRhZ1Jlc3BvbnNlEmMKEkdlbmVyYXRlU2NyZWVuc2hvdBIlLnNlc3Npb24udjEuR2VuZXJhdGVTY3JlZW5zaG90UmVxdWVzdBomLnNlc3Npb24udjEuR2VuZXJhdGVTY3JlZW5zaG90UmVzcG9uc2USSAoJTGlzdEdyb3VwEhwuc2Vzc2lvbi52MS5MaXN0R3JvdXBSZXF1ZXN0Gh0uc2Vzc2lvbi52MS5MaXN0R3JvdXBSZXNwb25zZRJvChZEZWxldGVDb21tdW5pdHlVc2VjYXNlEikuc2Vzc2lvbi52MS5EZWxldGVDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBoqLnNlc3Npb24udjEuRGVsZXRlQ29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlQq8BCg5jb20uc2Vzc2lvbi52MUITQ29tbXVuaXR5QWRtaW5Qcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z",[te,Kn]),Ep=M(Rp,0),yp=z("ChhzZXNzaW9uL3YxL3Nlc3Npb24ucHJvdG8SCnNlc3Npb24udjEinAEKBFRhc2sSDwoHdGFza19pZBgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIOCgZzdGF0dXMYAyABKAkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAimwEKC1NhbmRib3hJbmZvEhIKCnNhbmRib3hfaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEjcKCG1ldGFkYXRhGAMgAygLMiUuc2Vzc2lvbi52MS5TYW5kYm94SW5mby5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJVCghTdGVwUGxhbhIPCgdwbGFuX2lkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEg0KBXN0ZXBzGAMgAygJEhQKDGN1cnJlbnRfc3RlcBgEIAEoBSKFAwoTQWdlbnRTZXNzaW9uUnVudGltZRILCgN1aWQYASABKAkSDwoHdXNlcl9pZBgCIAEoCRIvCg5oYW5kbGVyX3N0b3JlcxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHwoFdGFza3MYBCADKAsyEC5zZXNzaW9uLnYxLlRhc2sSJwoJc3RlcF9wbGFuGAUgASgLMhQuc2Vzc2lvbi52MS5TdGVwUGxhbhIeChZpbnN0YWxsZWRfZGF0YV9hcGlfaWRzGAYgAygJEiYKHmluc3RhbGxlZF9zeXN0ZW1fa25vd2xlZGdlX2lkcxgHIAMoCRItCgxzYW5kYm94X2luZm8YCCABKAsyFy5zZXNzaW9uLnYxLlNhbmRib3hJbmZvEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkYKCEljb25JbmZvEgsKA3VybBgBIAEoCRIWCg5iZ19jb2xvcl9saWdodBgCIAEoCRIVCg1iZ19jb2xvcl9kYXJrGAMgASgJIt0GCgxBZ2VudFNlc3Npb24SCwoDdWlkGAEgASgJEg8KB3VzZXJfaWQYAiABKAkSDQoFdGl0bGUYAyABKAkSDAoEaWNvbhgEIAEoCRI1ChFsYXN0X21lc3NhZ2VfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUbGFzdF9kaXNwbGF5X21lc3NhZ2UYBiABKAkSMAoMbGFzdF9yZWFkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgZzdGF0dXMYCSABKA4yGS5zZXNzaW9uLnYxLlNlc3Npb25TdGF0dXMSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUdW5yZWFkX21lc3NhZ2VfY291bnQYDCABKAUSEwoLaXNfZmF2b3JpdGUYDSABKAgSJwoJaWNvbl9pbmZvGA4gASgLMhQuc2Vzc2lvbi52MS5JY29uSW5mbxIRCglpc19zaGFyZWQYDyABKAgSMgoPYWdlbnRfdGFza19tb2RlGBAgASgOMhkuc2Vzc2lvbi52MS5BZ2VudFRhc2tNb2RlEhYKDmNvc3RlZF9jcmVkaXRzGBEgASgFEhoKEmZlZWRiYWNrX3N1Ym1pdHRlZBgSIAEoCBIeChZwdWJsaXNoZWRfdG9fY29tbXVuaXR5GBYgASgIEhwKD2Rpc3BsYXlfY29udGVudBgTIAEoCUgAiAEBEh0KEGRpc3BsYXlfZXZlbnRfaWQYFCABKAlIAYgBARIaCg1kaXNwbGF5X3RpdGxlGBUgASgJSAKIAQESLwoNY29sbGFib3JhdG9ycxgXIAMoCzIYLnNlc3Npb24udjEuQ29sbGFib3JhdG9yEi0KDGF1ZGl0X3N0YXR1cxgYIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXNCEgoQX2Rpc3BsYXlfY29udGVudEITChFfZGlzcGxheV9ldmVudF9pZEIQCg5fZGlzcGxheV90aXRsZUoECAgQCVIPbGFzdF9yZWFkX2luZGV4IigKEUdldFNlc3Npb25SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJInEKEkdldFNlc3Npb25SZXNwb25zZRIpCgdzZXNzaW9uGAEgASgLMhguc2Vzc2lvbi52MS5BZ2VudFNlc3Npb24SMAoHcnVudGltZRgCIAEoCzIfLnNlc3Npb24udjEuQWdlbnRTZXNzaW9uUnVudGltZSLqAQoTTGlzdFNlc3Npb25zUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUSDwoHa2V5d29yZBgDIAEoCRIpCgZzdGF0dXMYBCADKA4yGS5zZXNzaW9uLnYxLlNlc3Npb25TdGF0dXMSGAoLaXNfZmF2b3JpdGUYBSABKAhIAIgBARIWCglpc19zaGFyZWQYBiABKAhIAYgBARIoCgVtb2RlcxgHIAMoDjIZLnNlc3Npb24udjEuQWdlbnRUYXNrTW9kZUIOCgxfaXNfZmF2b3JpdGVCDAoKX2lzX3NoYXJlZCJjChRMaXN0U2Vzc2lvbnNSZXNwb25zZRIqCghzZXNzaW9ucxgBIAMoCzIYLnNlc3Npb24udjEuQWdlbnRTZXNzaW9uEhAKCGhhc19uZXh0GAIgASgIEg0KBXRvdGFsGAMgASgDImIKGVVwZGF0ZVJlYWRQb3NpdGlvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkSMAoMbGFzdF9yZWFkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCItChpVcGRhdGVSZWFkUG9zaXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjsKFkZhdm9yaXRlU2Vzc2lvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkSDAoEbm90ZRgCIAEoCSIqChdGYXZvcml0ZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIi8KGFVuRmF2b3JpdGVTZXNzaW9uUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCSIsChlVbkZhdm9yaXRlU2Vzc2lvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgirwEKFFVwZGF0ZVNlc3Npb25SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEg0KBXRpdGxlGAIgASgJEgwKBGljb24YAyABKAkSKQoGc3RhdHVzGAQgASgOMhkuc2Vzc2lvbi52MS5TZXNzaW9uU3RhdHVzEiwKCWljb25faW5mbxgFIAEoCzIULnNlc3Npb24udjEuSWNvbkluZm9IAIgBAUIMCgpfaWNvbl9pbmZvIigKFVVwZGF0ZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKFERlbGV0ZVNlc3Npb25SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJIigKFURlbGV0ZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIioKE1NoYXJlU2Vzc2lvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkiJwoUU2hhcmVTZXNzaW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIsChVVbnNoYXJlU2Vzc2lvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkiKQoWVW5zaGFyZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIoQBChZTZXNzaW9uRmVlZGJhY2tSZXF1ZXN0Eh4KBXNjb3JlGAEgASgFQg+6SAwaCjABMAIwAzAEMAUSGQoHY29udGVudBgCIAEoCUIIukgFcgMY0A8SEwoLc2Vzc2lvbl91aWQYAyABKAkSGgoSYWxsb3dfY29sbGVjdF9pbmZvGAQgASgIIi4KF1Nlc3Npb25GZWVkYmFja1Jlc3BvbnNlEhMKC2ZlZWRiYWNrX2lkGAEgASgDIj8KF0dldFRhc2tRdWV1ZUluZm9SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEg8KB3VzZXJfaWQYAiABKAkipQEKGEdldFRhc2tRdWV1ZUluZm9SZXNwb25zZRIjChtlc3RpbWF0ZWRfd2FpdF90aW1lX21pbnV0ZXMYASABKAUSFAoHbWVzc2FnZRgCIAEoCUgAiAEBEiMKG2VzdGltYXRlZF93YWl0X3RpbWVfc2Vjb25kcxgDIAEoBRIdChVuZXh0X2ludGVydmFsX3NlY29uZHMYBCABKAVCCgoIX21lc3NhZ2UipQIKHExpc3RSZWNvbW1lbmRVc2VjYXNlc1JlcXVlc3QSGAoFbGltaXQYASABKANCCbpIBiIEGGQgABIXCgZvZmZzZXQYAiABKANCB7pIBCICKAASNAoNcmVzb3VyY2VfdHlwZRgDIAEoDjIYLnNlc3Npb24udjEuUmVzb3VyY2VUeXBlSACIAQESOAoPcmVzb3VyY2Vfc291cmNlGAQgASgOMhouc2Vzc2lvbi52MS5SZXNvdXJjZVNvdXJjZUgBiAEBEhMKBmxvY2FsZRgFIAEoCUgCiAEBEhIKBWdyb3VwGAYgASgJSAOIAQFCEAoOX3Jlc291cmNlX3R5cGVCEgoQX3Jlc291cmNlX3NvdXJjZUIJCgdfbG9jYWxlQggKBl9ncm91cCJiCh1MaXN0UmVjb21tZW5kVXNlY2FzZXNSZXNwb25zZRIyCgh1c2VjYXNlcxgBIAMoCzIgLnNlc3Npb24udjEuQ29tbXVuaXR5VXNlY2FzZUluZm8SDQoFdG90YWwYAiABKAMingEKHlNoYXJlU2Vzc2lvblRvQ29tbXVuaXR5UmVxdWVzdBIcCgtzZXNzaW9uX3VpZBgBIAEoCUIHukgEcgIQARIZCgV0aXRsZRgCIAEoCUIKukgHcgUQARj/ARIfCg11c2VyX3F1ZXN0aW9uGAMgASgJQgi6SAVyAxiQThIiChByZWNvbW1lbmRfcmVhc29uGAQgASgJQgi6SAVyAxiQTiI1Ch9TaGFyZVNlc3Npb25Ub0NvbW11bml0eVJlc3BvbnNlEhIKCnJlY29yZF91aWQYASABKAkiQgoiVW5zaGFyZVNlc3Npb25Gcm9tQ29tbXVuaXR5UmVxdWVzdBIcCgtzZXNzaW9uX3VpZBgBIAEoCUIHukgEcgIQASIlCiNVbnNoYXJlU2Vzc2lvbkZyb21Db21tdW5pdHlSZXNwb25zZSKqAQocU2hhcmVTcGFjZVRvQ29tbXVuaXR5UmVxdWVzdBIaCglzcGFjZV91aWQYASABKAlCB7pIBHICEAESHAoLc2Vzc2lvbl91aWQYAiABKAlCB7pIBHICEAESGQoFdGl0bGUYAyABKAlCCrpIB3IFEAEY/wESEQoJc3BhY2VfdXJsGAQgASgJEiIKEHJlY29tbWVuZF9yZWFzb24YBSABKAlCCLpIBXIDGJBOIjMKHVNoYXJlU3BhY2VUb0NvbW11bml0eVJlc3BvbnNlEhIKCnJlY29yZF91aWQYASABKAkiXAogVW5zaGFyZVNwYWNlRnJvbUNvbW11bml0eVJlcXVlc3QSGgoJc3BhY2VfdWlkGAEgASgJQge6SARyAhABEhwKC3Nlc3Npb25fdWlkGAIgASgJQge6SARyAhABIiMKIVVuc2hhcmVTcGFjZUZyb21Db21tdW5pdHlSZXNwb25zZSI9Cg1TZWFyY2hSZXF1ZXN0EhwKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABEg4KBnF1ZXJ5cxgCIAMoCSLBAQoMU2VhcmNoUmVzdWx0EhAKCHBvc2l0aW9uGAEgASgDEhUKDXJlZGlyZWN0X2xpbmsYAiABKAkSIQoZc25pcHBldF9oaWdobGlnaHRlZF93b3JkcxgDIAMoCRINCgV0aXRsZRgEIAEoCRIMCgRsaW5rGAUgASgJEhYKDmRpc3BsYXllZF9saW5rGAYgASgJEg8KB2Zhdmljb24YByABKAkSDwoHc25pcHBldBgIIAEoCRIOCgZzb3VyY2UYCSABKAkiPAoRU2VhcmNoUmVzdWx0R3JvdXASJwoFaXRlbXMYASADKAsyGC5zZXNzaW9uLnYxLlNlYXJjaFJlc3VsdCKvAQoOU2VhcmNoUmVzcG9uc2USRwoPb3JnYW5pY19yZXN1bHRzGAEgAygLMi4uc2Vzc2lvbi52MS5TZWFyY2hSZXNwb25zZS5PcmdhbmljUmVzdWx0c0VudHJ5GlQKE09yZ2FuaWNSZXN1bHRzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uc2Vzc2lvbi52MS5TZWFyY2hSZXN1bHRHcm91cDoCOAEiOwokQ29tbXVuaXR5U2Vzc2lvblNoYXJlZFByZXZpZXdSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJIrcBCiVDb21tdW5pdHlTZXNzaW9uU2hhcmVkUHJldmlld1Jlc3BvbnNlEhIKCnJlY29yZF91aWQYASABKAkSEwoLc2Vzc2lvbl91aWQYAiABKAkSDQoFdGl0bGUYAyABKAkSGAoQcmVjb21tZW5kX3JlYXNvbhgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRInCgZzdGF0dXMYBiABKA4yFy5zZXNzaW9uLnYxLkF1ZGl0U3RhdHVzIkwKIkNvbW11bml0eVNwYWNlU2hhcmVkUHJldmlld1JlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkSEQoJc3BhY2VfdWlkGAIgASgJIrMBCiNDb21tdW5pdHlTcGFjZVNoYXJlZFByZXZpZXdSZXNwb25zZRISCgpyZWNvcmRfdWlkGAEgASgJEhEKCXNwYWNlX3VpZBgCIAEoCRINCgV0aXRsZRgDIAEoCRIYChByZWNvbW1lbmRfcmVhc29uGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEicKBnN0YXR1cxgGIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXMiQwoWU3luY1Nlc3Npb25GaWxlUmVxdWVzdBIpCgRmaWxlGAEgASgLMhsuc2Vzc2lvbi52MS5TZXNzaW9uRmlsZUl0ZW0iGQoXU3luY1Nlc3Npb25GaWxlUmVzcG9uc2UiVwoYVXBkYXRlU2Vzc2lvbkZpbGVSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCRIQCghmaWxlX3VybBgDIAEoCSIbChlVcGRhdGVTZXNzaW9uRmlsZVJlc3BvbnNlIoABChdMaXN0U2Vzc2lvbkZpbGVzUmVxdWVzdBIXCgpzZXNzaW9uX2lkGAEgASgJSACIAQESEwoGc2hhcmVkGAIgASgISAGIAQESDgoGb2Zmc2V0GAMgASgFEg0KBWxpbWl0GAQgASgFQg0KC19zZXNzaW9uX2lkQgkKB19zaGFyZWQiZQoYTGlzdFNlc3Npb25GaWxlc1Jlc3BvbnNlEjoKBWZpbGVzGAEgAygLMisuc2Vzc2lvbi52MS5TZXNzaW9uRmlsZUl0ZW1XaXRoU2Vzc2lvblRpdGxlEg0KBXRvdGFsGAIgASgDIlkKF1NoYXJlU2Vzc2lvbkZpbGVSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCRITCgtzaGFyZV90aXRsZRgDIAEoCSIsChhTaGFyZVNlc3Npb25GaWxlUmVzcG9uc2USEAoIc2hhcmVfaWQYASABKAkiRgoZVW5zaGFyZVNlc3Npb25GaWxlUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIUCgxzYW5kYm94X3BhdGgYAiABKAkiHAoaVW5zaGFyZVNlc3Npb25GaWxlUmVzcG9uc2UiSwoeR2V0U2Vzc2lvbkZpbGVVcGxvYWRVcmxSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCSJGCh9HZXRTZXNzaW9uRmlsZVVwbG9hZFVybFJlc3BvbnNlEhIKCnVwbG9hZF91cmwYASABKAkSDwoHY2RuX3VybBgCIAEoCSJDChZHZXRPcmlnaW5hbEZpbGVSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCSIrChdHZXRPcmlnaW5hbEZpbGVSZXNwb25zZRIQCghmaWxlX3VybBgBIAEoCSJHChpSZXN0b3JlT3JpZ2luYWxGaWxlUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIUCgxzYW5kYm94X3BhdGgYAiABKAkiHQobUmVzdG9yZU9yaWdpbmFsRmlsZVJlc3BvbnNlInIKI0NyZWF0ZVNlc3Npb25GaWxlQ29udmVydFRhc2tSZXF1ZXN0EjgKDGNvbnZlcnRfdHlwZRgBIAEoDjIiLnNlc3Npb24udjEuU2Vzc2lvbkZpbGVDb252ZXJ0VHlwZRIRCglmcm9tX3VybHMYAiADKAkibgokQ3JlYXRlU2Vzc2lvbkZpbGVDb252ZXJ0VGFza1Jlc3BvbnNlEhAKCHRhc2tfdWlkGAEgASgJEjQKBnN0YXR1cxgCIAEoDjIkLnNlc3Npb24udjEuU2Vzc2lvbkZpbGVDb252ZXJ0U3RhdHVzIjUKIUxvb3BTZXNzaW9uRmlsZUNvbnZlcnRUYXNrUmVxdWVzdBIQCgh0YXNrX3VpZBgBIAEoCSLIAQoiTG9vcFNlc3Npb25GaWxlQ29udmVydFRhc2tSZXNwb25zZRIQCgh0YXNrX3VpZBgBIAEoCRI0CgZzdGF0dXMYAiABKA4yJC5zZXNzaW9uLnYxLlNlc3Npb25GaWxlQ29udmVydFN0YXR1cxIZCgxzdGF0dXNfZXJyb3IYAyABKAlIAIgBARIPCgd0b191cmxzGAQgAygJEh0KFW5leHRfaW50ZXJ2YWxfc2Vjb25kcxgFIAEoBUIPCg1fc3RhdHVzX2Vycm9yKpEDCg1TZXNzaW9uU3RhdHVzEh4KGlNFU1NJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWU0VTU0lPTl9TVEFUVVNfQ1JFQVRFRBABEhsKF1NFU1NJT05fU1RBVFVTX0FSQ0hJVkVEEAISGgoWU0VTU0lPTl9TVEFUVVNfREVMRVRFRBADEhoKFlNFU1NJT05fU1RBVFVTX1dBSVRJTkcQBRIaChZTRVNTSU9OX1NUQVRVU19SVU5OSU5HEAYSGgoWU0VTU0lPTl9TVEFUVVNfU1RPUFBFRBAHEhgKFFNFU1NJT05fU1RBVFVTX0VSUk9SEAgSGwoXU0VTU0lPTl9TVEFUVVNfSU5fUVVFVUUQCRIzCi9TRVNTSU9OX1NUQVRVU19DT0xMQUJPUkFUSU9OX1BFUk1JU1NJT05fQ0hBTkdFRBAKEiMKH1NFU1NJT05fU1RBVFVTX05FV19DT0xMQUJPUkFUT1IQCxImCiJTRVNTSU9OX1NUQVRVU19SRU1PVkVfQ09MTEFCT1JBVE9SEAwyyhcKDlNlc3Npb25TZXJ2aWNlEk0KCkdldFNlc3Npb24SHS5zZXNzaW9uLnYxLkdldFNlc3Npb25SZXF1ZXN0Gh4uc2Vzc2lvbi52MS5HZXRTZXNzaW9uUmVzcG9uc2UiABJTCgxMaXN0U2Vzc2lvbnMSHy5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uc1JlcXVlc3QaIC5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uc1Jlc3BvbnNlIgASZQoSVXBkYXRlUmVhZFBvc2l0aW9uEiUuc2Vzc2lvbi52MS5VcGRhdGVSZWFkUG9zaXRpb25SZXF1ZXN0GiYuc2Vzc2lvbi52MS5VcGRhdGVSZWFkUG9zaXRpb25SZXNwb25zZSIAElwKD0Zhdm9yaXRlU2Vzc2lvbhIiLnNlc3Npb24udjEuRmF2b3JpdGVTZXNzaW9uUmVxdWVzdBojLnNlc3Npb24udjEuRmF2b3JpdGVTZXNzaW9uUmVzcG9uc2UiABJiChFVbkZhdm9yaXRlU2Vzc2lvbhIkLnNlc3Npb24udjEuVW5GYXZvcml0ZVNlc3Npb25SZXF1ZXN0GiUuc2Vzc2lvbi52MS5VbkZhdm9yaXRlU2Vzc2lvblJlc3BvbnNlIgASVgoNVXBkYXRlU2Vzc2lvbhIgLnNlc3Npb24udjEuVXBkYXRlU2Vzc2lvblJlcXVlc3QaIS5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25SZXNwb25zZSIAElYKDURlbGV0ZVNlc3Npb24SIC5zZXNzaW9uLnYxLkRlbGV0ZVNlc3Npb25SZXF1ZXN0GiEuc2Vzc2lvbi52MS5EZWxldGVTZXNzaW9uUmVzcG9uc2UiABJTCgxTaGFyZVNlc3Npb24SHy5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvblJlcXVlc3QaIC5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvblJlc3BvbnNlIgASWQoOVW5zaGFyZVNlc3Npb24SIS5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uUmVxdWVzdBoiLnNlc3Npb24udjEuVW5zaGFyZVNlc3Npb25SZXNwb25zZSIAEloKD1Nlc3Npb25GZWVkYmFjaxIiLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrUmVxdWVzdBojLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrUmVzcG9uc2USXwoQR2V0VGFza1F1ZXVlSW5mbxIjLnNlc3Npb24udjEuR2V0VGFza1F1ZXVlSW5mb1JlcXVlc3QaJC5zZXNzaW9uLnYxLkdldFRhc2tRdWV1ZUluZm9SZXNwb25zZSIAEmwKFUxpc3RSZWNvbW1lbmRVc2VjYXNlcxIoLnNlc3Npb24udjEuTGlzdFJlY29tbWVuZFVzZWNhc2VzUmVxdWVzdBopLnNlc3Npb24udjEuTGlzdFJlY29tbWVuZFVzZWNhc2VzUmVzcG9uc2USdAoXU2hhcmVTZXNzaW9uVG9Db21tdW5pdHkSKi5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvblRvQ29tbXVuaXR5UmVxdWVzdBorLnNlc3Npb24udjEuU2hhcmVTZXNzaW9uVG9Db21tdW5pdHlSZXNwb25zZSIAEoABChtVbnNoYXJlU2Vzc2lvbkZyb21Db21tdW5pdHkSLi5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRnJvbUNvbW11bml0eVJlcXVlc3QaLy5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRnJvbUNvbW11bml0eVJlc3BvbnNlIgASbgoVU2hhcmVTcGFjZVRvQ29tbXVuaXR5Eiguc2Vzc2lvbi52MS5TaGFyZVNwYWNlVG9Db21tdW5pdHlSZXF1ZXN0Gikuc2Vzc2lvbi52MS5TaGFyZVNwYWNlVG9Db21tdW5pdHlSZXNwb25zZSIAEnoKGVVuc2hhcmVTcGFjZUZyb21Db21tdW5pdHkSLC5zZXNzaW9uLnYxLlVuc2hhcmVTcGFjZUZyb21Db21tdW5pdHlSZXF1ZXN0Gi0uc2Vzc2lvbi52MS5VbnNoYXJlU3BhY2VGcm9tQ29tbXVuaXR5UmVzcG9uc2UiABJBCgZTZWFyY2gSGS5zZXNzaW9uLnYxLlNlYXJjaFJlcXVlc3QaGi5zZXNzaW9uLnYxLlNlYXJjaFJlc3BvbnNlIgAShgEKHUNvbW11bml0eVVzZUNhc2VTaGFyZWRQcmV2aWV3EjAuc2Vzc2lvbi52MS5Db21tdW5pdHlTZXNzaW9uU2hhcmVkUHJldmlld1JlcXVlc3QaMS5zZXNzaW9uLnYxLkNvbW11bml0eVNlc3Npb25TaGFyZWRQcmV2aWV3UmVzcG9uc2UiABKAAQobQ29tbXVuaXR5U3BhY2VTaGFyZWRQcmV2aWV3Ei4uc2Vzc2lvbi52MS5Db21tdW5pdHlTcGFjZVNoYXJlZFByZXZpZXdSZXF1ZXN0Gi8uc2Vzc2lvbi52MS5Db21tdW5pdHlTcGFjZVNoYXJlZFByZXZpZXdSZXNwb25zZSIAElwKD1N5bmNTZXNzaW9uRmlsZRIiLnNlc3Npb24udjEuU3luY1Nlc3Npb25GaWxlUmVxdWVzdBojLnNlc3Npb24udjEuU3luY1Nlc3Npb25GaWxlUmVzcG9uc2UiABJiChFVcGRhdGVTZXNzaW9uRmlsZRIkLnNlc3Npb24udjEuVXBkYXRlU2Vzc2lvbkZpbGVSZXF1ZXN0GiUuc2Vzc2lvbi52MS5VcGRhdGVTZXNzaW9uRmlsZVJlc3BvbnNlIgASXwoQTGlzdFNlc3Npb25GaWxlcxIjLnNlc3Npb24udjEuTGlzdFNlc3Npb25GaWxlc1JlcXVlc3QaJC5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uRmlsZXNSZXNwb25zZSIAEl8KEFNoYXJlU2Vzc2lvbkZpbGUSIy5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvbkZpbGVSZXF1ZXN0GiQuc2Vzc2lvbi52MS5TaGFyZVNlc3Npb25GaWxlUmVzcG9uc2UiABJlChJVbnNoYXJlU2Vzc2lvbkZpbGUSJS5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRmlsZVJlcXVlc3QaJi5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRmlsZVJlc3BvbnNlIgASdAoXR2V0U2Vzc2lvbkZpbGVVcGxvYWRVcmwSKi5zZXNzaW9uLnYxLkdldFNlc3Npb25GaWxlVXBsb2FkVXJsUmVxdWVzdBorLnNlc3Npb24udjEuR2V0U2Vzc2lvbkZpbGVVcGxvYWRVcmxSZXNwb25zZSIAElwKD0dldE9yaWdpbmFsRmlsZRIiLnNlc3Npb24udjEuR2V0T3JpZ2luYWxGaWxlUmVxdWVzdBojLnNlc3Npb24udjEuR2V0T3JpZ2luYWxGaWxlUmVzcG9uc2UiABJoChNSZXN0b3JlT3JpZ2luYWxGaWxlEiYuc2Vzc2lvbi52MS5SZXN0b3JlT3JpZ2luYWxGaWxlUmVxdWVzdBonLnNlc3Npb24udjEuUmVzdG9yZU9yaWdpbmFsRmlsZVJlc3BvbnNlIgASgwEKHENyZWF0ZVNlc3Npb25GaWxlQ29udmVydFRhc2sSLy5zZXNzaW9uLnYxLkNyZWF0ZVNlc3Npb25GaWxlQ29udmVydFRhc2tSZXF1ZXN0GjAuc2Vzc2lvbi52MS5DcmVhdGVTZXNzaW9uRmlsZUNvbnZlcnRUYXNrUmVzcG9uc2UiABJ9ChpMb29wU2Vzc2lvbkZpbGVDb252ZXJ0VGFzaxItLnNlc3Npb24udjEuTG9vcFNlc3Npb25GaWxlQ29udmVydFRhc2tSZXF1ZXN0Gi4uc2Vzc2lvbi52MS5Mb29wU2Vzc2lvbkZpbGVDb252ZXJ0VGFza1Jlc3BvbnNlIgBCqAEKDmNvbS5zZXNzaW9uLnYxQgxTZXNzaW9uUHJvdG9QAVo/Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L3Nlc3Npb24vdjE7c2Vzc2lvbnYxogIDU1hYqgIKU2Vzc2lvbi5WMcoCClNlc3Npb25cVjHiAhZTZXNzaW9uXFYxXEdQQk1ldGFkYXRh6gILU2Vzc2lvbjo6VjFiBnByb3RvMw",[Ye,He,te,Kn]),vp=M(yp,0),Sp=(t,{handleUnauth:e,beforeRequest:n,handlePermissionDenied:l}={})=>c2({baseUrl:t,interceptors:[i=>async r=>{try{return await(n==null?void 0:n(r.header)),await i(r)}catch(o){throw o instanceof se&&o.code===P.Unauthenticated&&(e==null||e()),o instanceof se&&o.code===P.PermissionDenied&&(l==null||l(o)),o}}]}),Cp=(t,e)=>{const n=Sp(t,e);return{PlayCard:K(d2,n),PlayCardAdmin:K(u2,n),I18nTemplateAdminService:K(h2,n),FileService:K(V2,n),AdminFileService:K(f2,n),NotifierService:K(p2,n),NotificationService:K(Z2,n),NotificationAdminService:K(X2,n),E2BConfigService:K(R2,n),PublicActivityService:K(y2,n),ActivityAdminService:K(S2,n),LiveEventAdminService:K(W2,n),LiveEventService:K(N2,n),LiveEventPublicService:K(Y2,n),UserAuthService:K(U2,n),UserAdminService:K(x2,n),UserPublicService:K(z2,n),UserFeedBackTagAdmin:K(L2,n),SubscriptionService:K(w2,n),UserService:K(T2,n),UserAuthPublicService:K(H2,n),DashboardToolService:K(j2,n),TeamManagementService:K(_2,n),TeamService:K(P2,n),EduTeamAdminService:K(q2,n),TeamPublicService:K(tp,n),KnowledgeAdminService:K(ip,n),KnowledgeService:K(np,n),SpacePublicService:K(ap,n),SpaceAdminService:K(dp,n),SpaceService:K(rp,n),ApiProxyAdminService:K(hp,n),ApiProxyService:K(up,n),SessionAdminService:K(Vp,n),CommunityInteractionService:K(fp,n),SessionCollaborateService:K(pp,n),SessionPublicService:K(Gp,n),SessionCollaboratePublicService:K(Ip,n),CommunityAdminService:K(Ep,n),SessionService:K(vp,n)}},Wp=Se.apiHost,Ht=Wu();let Ut,Bp=new Promise(t=>{Ut=t});const yl=Cp(Wp,{beforeRequest:async t=>{const e=document.cookie.split(";");let n="";for(let l=0;l{try{const{accessToken:r}=await yl.SpacePublicService.getEditSpaceSiteToken({editSpaceCode:i}),o=new URL(window.location.href);let a;const c=o.hostname.split(".");c.shift(),c.length>0&&(a="."+c.join(".")),$n.setCookie(Vn.accessToken,r,{daysToExpire:365,domain:a}),Ut(!0)}catch{$n.deleteCookie(Vn.accessToken),Ut(!1);return}finally{Ht.markReady()}};if($n.getCookie(Vn.accessToken))try{const{canEdit:i}=await yl.SpaceService.hasSpaceEditPermission({spaceId:Se.spaceId});i?(Ht.markReady(),Ut(!0)):e?await n(e):(Ht.markReady(),Ut(!1))}catch{$n.deleteCookie(Vn.accessToken),e?await n(e):(Ht.markReady(),Ut(!1))}else e?await n(e):(Ht.markReady(),Ut(!1))}var nl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Fp(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var gi,gc;function Yp(){if(gc)return gi;gc=1;var t="Expected a function",e=NaN,n="[object Symbol]",l=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,o=/^0o[0-7]+$/i,a=parseInt,c=typeof nl=="object"&&nl&&nl.Object===Object&&nl,d=typeof self=="object"&&self&&self.Object===Object&&self,s=c||d||Function("return this")(),u=Object.prototype,h=u.toString,g=Math.max,b=Math.min,m=function(){return s.Date.now()};function f(I,S,G){var B,v,J,w,L,$,q=0,Ae=!1,pe=!1,We=!0;if(typeof I!="function")throw new TypeError(t);S=y(S)||0,p(G)&&(Ae=!!G.leading,pe="maxWait"in G,J=pe?g(y(G.maxWait)||0,S):J,We="trailing"in G?!!G.trailing:We);function Ue(le){var Le=B,ot=v;return B=v=void 0,q=le,w=I.apply(ot,Le),w}function ye(le){return q=le,L=setTimeout(Ve,S),Ae?Ue(le):w}function Be(le){var Le=le-$,ot=le-q,je=S-Le;return pe?b(je,J-ot):je}function x(le){var Le=le-$,ot=le-q;return $===void 0||Le>=S||Le<0||pe&&ot>=J}function Ve(){var le=m();if(x(le))return ee(le);L=setTimeout(Ve,Be(le))}function ee(le){return L=void 0,We&&B?Ue(le):(B=v=void 0,w)}function De(){L!==void 0&&clearTimeout(L),q=0,B=$=v=L=void 0}function $e(){return L===void 0?w:ee(m())}function me(){var le=m(),Le=x(le);if(B=arguments,v=this,$=le,Le){if(L===void 0)return ye($);if(pe)return L=setTimeout(Ve,S),Ue($)}return L===void 0&&(L=setTimeout(Ve,S)),w}return me.cancel=De,me.flush=$e,me}function p(I){var S=typeof I;return!!I&&(S=="object"||S=="function")}function A(I){return!!I&&typeof I=="object"}function X(I){return typeof I=="symbol"||A(I)&&h.call(I)==n}function y(I){if(typeof I=="number")return I;if(X(I))return e;if(p(I)){var S=typeof I.valueOf=="function"?I.valueOf():I;I=p(S)?S+"":S}if(typeof I!="string")return I===0?I:+I;I=I.replace(l,"");var G=r.test(I);return G||o.test(I)?a(I.slice(2),G?2:8):i.test(I)?e:+I}return gi=f,gi}var Up=Yp();const Jp=Fp(Up),Hs=`.clr-picker { display: none; flex-wrap: wrap; position: absolute; width: 200px; z-index: 1000; border-radius: 10px; background-color: #fff; justify-content: flex-end; direction: ltr; box-shadow: 0 0 5px rgba(0,0,0,.05), 0 5px 20px rgba(0,0,0,.1); -moz-user-select: none; -webkit-user-select: none; user-select: none; } .clr-picker.clr-open, .clr-picker[data-inline="true"] { display: flex; } .clr-picker[data-inline="true"] { position: relative; } .clr-gradient { position: relative; width: 100%; height: 100px; margin-bottom: 15px; border-radius: 3px 3px 0 0; background-image: linear-gradient(rgba(0,0,0,0), #000), linear-gradient(90deg, #fff, currentColor); cursor: pointer; } .clr-marker { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; border: 1px solid #fff; border-radius: 50%; background-color: currentColor; cursor: pointer; } .clr-picker input[type="range"]::-webkit-slider-runnable-track { width: 100%; height: 16px; } .clr-picker input[type="range"]::-webkit-slider-thumb { width: 16px; height: 16px; -webkit-appearance: none; } .clr-picker input[type="range"]::-moz-range-track { width: 100%; height: 16px; border: 0; } .clr-picker input[type="range"]::-moz-range-thumb { width: 16px; height: 16px; border: 0; } .clr-hue { background-image: linear-gradient(to right, #f00 0%, #ff0 16.66%, #0f0 33.33%, #0ff 50%, #00f 66.66%, #f0f 83.33%, #f00 100%); } .clr-hue, .clr-alpha { position: relative; width: calc(100% - 40px); height: 8px; margin: 5px 20px; border-radius: 4px; } .clr-alpha span { display: block; height: 100%; width: 100%; border-radius: inherit; background-image: linear-gradient(90deg, rgba(0,0,0,0), currentColor); } .clr-hue input[type="range"], .clr-alpha input[type="range"] { position: absolute; width: calc(100% + 32px); height: 16px; left: -16px; top: -4px; margin: 0; background-color: transparent; opacity: 0; cursor: pointer; appearance: none; -webkit-appearance: none; } .clr-hue div, .clr-alpha div { position: absolute; width: 16px; height: 16px; left: 0; top: 50%; margin-left: -8px; transform: translateY(-50%); border: 2px solid #fff; border-radius: 50%; background-color: currentColor; box-shadow: 0 0 1px #888; pointer-events: none; } .clr-alpha div:before { content: ''; position: absolute; height: 100%; width: 100%; left: 0; top: 0; border-radius: 50%; background-color: currentColor; } .clr-format { display: none; order: 1; width: calc(100% - 40px); margin: 0 20px 20px; } .clr-segmented { display: flex; position: relative; width: 100%; margin: 0; padding: 0; border: 1px solid #ddd; border-radius: 15px; box-sizing: border-box; color: #999; font-size: 12px; } .clr-segmented input, .clr-segmented legend { position: absolute; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; left: 0; top: 0; opacity: 0; pointer-events: none; } .clr-segmented label { flex-grow: 1; margin: 0; padding: 4px 0; font-size: inherit; font-weight: normal; line-height: initial; text-align: center; cursor: pointer; } .clr-segmented label:first-of-type { border-radius: 10px 0 0 10px; } .clr-segmented label:last-of-type { border-radius: 0 10px 10px 0; } .clr-segmented input:checked + label { color: #fff; background-color: #666; } .clr-swatches { order: 2; width: calc(100% - 32px); margin: 0 16px; } .clr-swatches div { display: flex; flex-wrap: wrap; padding-bottom: 12px; justify-content: center; } .clr-swatches button { position: relative; width: 20px; height: 20px; margin: 0 4px 6px 4px; padding: 0; border: 0; border-radius: 50%; color: inherit; text-indent: -1000px; white-space: nowrap; overflow: hidden; cursor: pointer; } .clr-swatches button:after { content: ''; display: block; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; background-color: currentColor; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); } input.clr-color { order: 1; width: calc(100% - 80px); height: 32px; margin: 15px 20px 20px auto; padding: 0 10px; border: 1px solid #ddd; border-radius: 16px; color: #444; background-color: #fff; font-family: sans-serif; font-size: 14px; text-align: center; box-shadow: none; } input.clr-color:focus { outline: none; border: 1px solid #1e90ff; } .clr-close, .clr-clear { display: none; order: 2; height: 24px; margin: 0 20px 20px; padding: 0 20px; border: 0; border-radius: 12px; color: #fff; background-color: #666; font-family: inherit; font-size: 12px; font-weight: 400; cursor: pointer; } .clr-close { display: block; margin: 0 20px 20px auto; } .clr-preview { position: relative; width: 32px; height: 32px; margin: 15px 0 20px 20px; border-radius: 50%; overflow: hidden; } .clr-preview:before, .clr-preview:after { content: ''; position: absolute; height: 100%; width: 100%; left: 0; top: 0; border: 1px solid #fff; border-radius: 50%; } .clr-preview:after { border: 0; background-color: currentColor; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); } .clr-preview button { position: absolute; width: 100%; height: 100%; z-index: 1; margin: 0; padding: 0; border: 0; border-radius: 50%; outline-offset: -2px; background-color: transparent; text-indent: -9999px; cursor: pointer; overflow: hidden; } .clr-marker, .clr-hue div, .clr-alpha div, .clr-color { box-sizing: border-box; } .clr-field { display: inline-block; position: relative; color: transparent; } .clr-field input { margin: 0; direction: ltr; } .clr-field.clr-rtl input { text-align: right; } .clr-field button { position: absolute; width: 30px; height: 100%; right: 0; top: 50%; transform: translateY(-50%); margin: 0; padding: 0; border: 0; color: inherit; text-indent: -1000px; white-space: nowrap; overflow: hidden; pointer-events: none; } .clr-field.clr-rtl button { right: auto; left: 0; } .clr-field button:after { content: ''; display: block; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; background-color: currentColor; box-shadow: inset 0 0 1px rgba(0,0,0,.5); } .clr-alpha, .clr-alpha div, .clr-swatches button, .clr-preview:before, .clr-field button { background-image: repeating-linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa), repeating-linear-gradient(45deg, #aaa 25%, #fff 25%, #fff 75%, #aaa 75%, #aaa); background-position: 0 0, 4px 4px; background-size: 8px 8px; } .clr-marker:focus { outline: none; } .clr-keyboard-nav .clr-marker:focus, .clr-keyboard-nav .clr-hue input:focus + div, .clr-keyboard-nav .clr-alpha input:focus + div, .clr-keyboard-nav .clr-segmented input:focus + label { outline: none; box-shadow: 0 0 0 2px #1e90ff, 0 0 2px 2px #fff; } .clr-picker[data-alpha="false"] .clr-alpha { display: none; } .clr-picker[data-minimal="true"] { padding-top: 16px; } .clr-picker[data-minimal="true"] .clr-gradient, .clr-picker[data-minimal="true"] .clr-hue, .clr-picker[data-minimal="true"] .clr-alpha, .clr-picker[data-minimal="true"] .clr-color, .clr-picker[data-minimal="true"] .clr-preview { display: none; } /** Dark theme **/ .clr-dark { background-color: #444; } .clr-dark .clr-segmented { border-color: #777; } .clr-dark .clr-swatches button:after { box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); } .clr-dark input.clr-color { color: #fff; border-color: #777; background-color: #555; } .clr-dark input.clr-color:focus { border-color: #1e90ff; } .clr-dark .clr-preview:after { box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); } .clr-dark .clr-alpha, .clr-dark .clr-alpha div, .clr-dark .clr-swatches button, .clr-dark .clr-preview:before { background-image: repeating-linear-gradient(45deg, #666 25%, transparent 25%, transparent 75%, #888 75%, #888), repeating-linear-gradient(45deg, #888 25%, #444 25%, #444 75%, #888 75%, #888); } /** Polaroid theme **/ .clr-picker.clr-polaroid { border-radius: 6px; box-shadow: 0 0 5px rgba(0,0,0,.1), 0 5px 30px rgba(0,0,0,.2); } .clr-picker.clr-polaroid:before { content: ''; display: block; position: absolute; width: 16px; height: 10px; left: 20px; top: -10px; border: solid transparent; border-width: 0 8px 10px 8px; border-bottom-color: currentColor; box-sizing: border-box; color: #fff; filter: drop-shadow(0 -4px 3px rgba(0,0,0,.1)); pointer-events: none; } .clr-picker.clr-polaroid.clr-dark:before { color: #444; } .clr-picker.clr-polaroid.clr-left:before { left: auto; right: 20px; } .clr-picker.clr-polaroid.clr-top:before { top: auto; bottom: -10px; transform: rotateZ(180deg); } .clr-polaroid .clr-gradient { width: calc(100% - 20px); height: 120px; margin: 10px; border-radius: 3px; } .clr-polaroid .clr-hue, .clr-polaroid .clr-alpha { width: calc(100% - 30px); height: 10px; margin: 6px 15px; border-radius: 5px; } .clr-polaroid .clr-hue div, .clr-polaroid .clr-alpha div { box-shadow: 0 0 5px rgba(0,0,0,.2); } .clr-polaroid .clr-format { width: calc(100% - 20px); margin: 0 10px 15px; } .clr-polaroid .clr-swatches { width: calc(100% - 12px); margin: 0 6px; } .clr-polaroid .clr-swatches div { padding-bottom: 10px; } .clr-polaroid .clr-swatches button { width: 22px; height: 22px; } .clr-polaroid input.clr-color { width: calc(100% - 60px); margin: 10px 10px 15px auto; } .clr-polaroid .clr-clear { margin: 0 10px 15px 10px; } .clr-polaroid .clr-close { margin: 0 10px 15px auto; } .clr-polaroid .clr-preview { margin: 10px 0 15px 10px; } /** Large theme **/ .clr-picker.clr-large { width: 275px; } .clr-large .clr-gradient { height: 150px; } .clr-large .clr-swatches button { width: 22px; height: 22px; } /** Pill (horizontal) theme **/ .clr-picker.clr-pill { width: 380px; padding-left: 180px; box-sizing: border-box; } .clr-pill .clr-gradient { position: absolute; width: 180px; height: 100%; left: 0; top: 0; margin-bottom: 0; border-radius: 3px 0 0 3px; } .clr-pill .clr-hue { margin-top: 20px; }`,Mt=t=>{var e;return(e=t.textContent)==null?void 0:e.trim()},xp=["video","iframe","audio"],hc="__manus_style-id";class wp{constructor(){this.debugMode=!1,this.editMode="normal",this.debouncedAddPatched=Jp(e=>{e.forEach(n=>{this.addPatch(n)})},1e3,{leading:!0}),this.originalElementStyle=new Map,this.patchList=[],this.textSplitMode=!0,this._boundHandlePreEditHover=()=>{},this._boundHandlePreEditOut=()=>{},this._boundHandleEditSelect=()=>{},this._boundHandleKeydown=()=>{},this.hoveringElement=null,this.activeElement=null,this.savedElements=new Map,this.filterClasses=[Q.spaceEditorHighlight,Q.virtualTextNode,Q.onlyTextNode,Q.textNodeActive,Q.colorPicker],this.retryPatchIndexList=[]}init(){this.injectGlobalStyle(),this.patchList=Se.patchList??[],this.applyPatches()}initWithoutApplyPatches(){this.injectGlobalStyle(),this.patchList=Se.patchList??[]}destroy(){var e;(e=document.querySelector("#"+hc))==null||e.remove(),this.onExitEdit()}registerViews(e){e.textEditPanelView&&(this.textEditPanelView=e.textEditPanelView),e.elementEditPanelView&&(this.elementEditPanelView=e.elementEditPanelView)}createPatch(e,n){const l=e.classList.contains(Q.virtualTextNode);let i=[];const r=Date.now();if(l){const o=this.getNodeToElementSelector(e);if(o&&!this.patchList.some(c=>c.type==="nodeToElement"&&c.selector===o.selector&&c.nodeIndex===o.nodeIndex)){const c={type:"nodeToElement",nodeIndex:o.nodeIndex,selector:o.selector,timestamp:r};i.push(c)}}if(n==="copy"){const o=e.cloneNode(!0);this.filterClasses.forEach(c=>{o.classList.remove(c)}),o.classList.add(Q.copyNode);const a={type:"copy",selector:this.generateSelector(e),timestamp:Date.now(),outerHtml:o.outerHTML};i.push(a)}else{const o={type:"style",selector:this.generateSelector(e),elementType:e.tagName.toLowerCase(),innerText:l?e.textContent??void 0:e.innerHTML,style:e.getAttribute("style")||"",timestamp:r};i.push(o)}return i}getNodeToElementSelector(e){if(!e.classList.contains(Q.virtualTextNode))return null;const n=e.parentElement;if(!n)return null;const l=this.generateSelector(n);let i=-1;return Array.from(n.childNodes).forEach((r,o)=>{r===e&&(i=o)}),i===-1?null:{selector:l,nodeIndex:i}}generateSelector(e){if(e.id)return`#${e.id}`;function n(r){return r.replace(/:/g,"\\:").replace(/\//g,"\\/").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%").replace(/\./g,"\\.")}let l=[],i=e;for(;i&&i!==document.body&&i!==document.documentElement;){let r=i.tagName.toLowerCase();if(i.className&&typeof i.className=="string"){const o=i.className.split(" ").filter(a=>a&&this.filterClasses.every(c=>c!==a)).map(a=>`.${n(a)}`).join("");o&&(r+=o)}if(i.parentNode){const o=Array.from(i.parentNode.children).filter(c=>!c.closest(`.${Q.virtualTextNode}`)),a=o.indexOf(i)+1;o.length>1&&(r+=`:nth-child(${a})`)}l.unshift(r),i=i.parentNode}return i&&l.unshift(i.tagName.toLowerCase()),l.join(" > ")}addPatch(e){this.patchList.push(e),this.savePatchesToServer(),Rn.emit("patchListChange",{})}undoPatch(){if(this.patchList.length>0){const e=this.patchList.pop();if(e){const n=document.querySelector(e.selector);if(n){if(e.type==="nodeToElement"){const l=n.childNodes[e.nodeIndex];if(l&&l instanceof HTMLElement&&l.classList.contains(Q.virtualTextNode)){const i=l.textContent;if(i){const r=document.createTextNode(i);n.replaceChild(l,r)}}}else if((e==null?void 0:e.type)==="style"){let l;for(let r=this.patchList.length-1;r>=0;r--){const o=this.patchList[r];if(o.type==="style"&&o.selector===e.selector){l=o;break}}const i=this.originalElementStyle.get(n);l?(n.setAttribute("style",l.style),n.textContent=l.innerText??""):i&&(n.setAttribute("style",i.style),n.textContent=i.textContent)}else if((e==null?void 0:e.type)==="copy"){const l=document.querySelector(e.selector);l&&l.nextElementSibling instanceof HTMLElement&&(l.nextElementSibling.style.display="none")}}}this.savePatchesToServer()}Rn.emit("patchListChange",{})}savePatchesToServer(){try{const e=this.optimizePatches();yl.SpaceService.saveSpaceSiteRawData({webRawData:JSON.stringify(e),spaceUid:Se.spaceId})}catch(e){console.error(e)}}applyPatches(){if(this.patchList.length!==0){this.retryPatchIndexList=[];for(let e=0;e{const l=[...this.retryPatchIndexList];this.retryPatchIndexList=[],l.forEach(i=>{this.applyPatch(i)}),this.retryPatchIndexList.length===0&&e.disconnect()});e.observe(document.body,{subtree:!0,childList:!0})}applyPatch(e){if(e<0||e>=this.patchList.length)return;const n=this.patchList[e];if(n)try{const l=document.querySelector(n.selector);if(!l){console.warn(`Patch target not found. ${n.selector}`),this.retryPatchIndexList.push(e);return}if(n.type==="style"&&(this.setOriginStyle(l),n.innerText&&(l.classList&&l.classList.contains(Q.virtualTextNode)?l.textContent!==n.innerText&&(l.textContent=n.innerText):l.innerHTML!==n.innerText&&(l.innerHTML=n.innerText)),n.style?(l.getAttribute("style")!==n.style&&l.setAttribute("style",n.style),n.style.includes("display: none")&&l instanceof HTMLElement&&(l.style.display="none")):l.removeAttribute("style")),n.type==="copy"){const i=l.parentNode;if(i){const r=document.createElement("div");r.innerHTML=n.outerHtml;const o=r.children[0];i&&o&&i.insertBefore(o,l.nextSibling)}}if(n.type==="nodeToElement"){const i=l.childNodes.item(n.nodeIndex);if(i&&i.nodeType===Node.TEXT_NODE){const r=document.createElement("span");r.className=Q.virtualTextNode,r.textContent=i.textContent,l.replaceChild(r,i)}}}catch(l){console.error(l)}}restoreToOriginal(){window.location.reload()}toggleEditMode(){this.editMode==="normal"?this.toggleToEditMode():this.toggleToEditMode()}toggleToEditMode(){this.editMode="edit",this.editInit(),document.body.classList.add(Q.editModeActive)}toggleToPreviewMode(){this.editMode="normal",this.onExitEdit(),document.body.classList.remove(Q.editModeActive)}editInit(){this._boundHandlePreEditHover=e=>this.handlePreEditHover(e),this._boundHandlePreEditOut=e=>this.handlePreEditOut(e),this._boundHandleEditSelect=e=>this.handleEditSelect(e),this._boundHandleKeydown=e=>this.handleKeydown(e),document.addEventListener("mouseover",this._boundHandlePreEditHover),document.addEventListener("mouseout",this._boundHandlePreEditOut),document.addEventListener("click",this._boundHandleEditSelect),document.addEventListener("keydown",this._boundHandleKeydown),this.textSplitMode&&this.wrapperTextNode()}handleKeydown(e){const n=e.composedPath()[0];n instanceof HTMLElement&&this.isEditorUIElement(n)||Cu(e)&&this.undoPatch()}onExitEdit(){var e,n;document.removeEventListener("mouseover",this._boundHandlePreEditHover),document.removeEventListener("mouseout",this._boundHandlePreEditOut),document.removeEventListener("click",this._boundHandleEditSelect),document.removeEventListener("keydown",this._boundHandleKeydown),(e=this.textEditPanelView)==null||e.destroy(),(n=this.elementEditPanelView)==null||n.destroy(),this.hoveringElement=null,this.activeElement=null}optimizePatches(){if(this.patchList.length<=1)return this.patchList;const e=[];return this.patchList.forEach(n=>{if(n.type!=="style")e.push(n);else{const l=e.findIndex(i=>i.selector===n.selector);l===-1?e.push(n):e[l]=n}}),e}isEditorUIElement(e){return[`.${Q.spaceControlView}`,`.${Q.textEditorPanelView}`,`.${Q.elementEditorPanelView}`,`.${Q.footerToolbarView}`,`.${Q.colorPicker}`].some(i=>e.closest(i))}handlePreEditHover(e){if(this.editMode!=="edit")return;const n=e.composedPath(),l=n.flatMap(r=>r instanceof HTMLElement?[r]:[]),i=n[0];if(!i||!(i instanceof HTMLElement)||i===document.documentElement||i===document.body)return null;l.some(r=>this.isEditorUIElement(r))||(this.hoveringElement&&this.hoveringElement.classList.remove(Q.spaceEditorHighlight),this.elementEditPanelView.destroy(),this.hoveringElement=i,this.elementEditPanelView.show(i,e),this.setOriginStyle(i))}handlePreEditOut(e){if(this.editMode!=="edit")return;const n=e.composedPath(),l=n.flatMap(o=>o instanceof HTMLElement?[o]:[]),i=n[0];if(!i||!(i instanceof HTMLElement)||l.some(o=>this.isEditorUIElement(o)))return;const r=e.relatedTarget;(r===document.documentElement||r===document.body)&&this.elementEditPanelView.destroy()}handleEditSelect(e){if(this.editMode!=="edit")return;const n=e.target;if(!n||!(n instanceof HTMLElement))return;const l=n.tagName.toLowerCase();xp.includes(l)||this.isEditorUIElement(n)||this.hasDirectTextContent(n)&&(e.stopPropagation(),e.preventDefault(),this.activeElement&&this.activeElement.classList.remove(Q.spaceEditorHighlight),this.activeElement=n,this.setOriginStyle(n),this.textEditPanelView.show(n,e))}wrapperTextNode(){const e=new Set,n=o=>{let a=!1;for(let c=0;c{let a=!1,c=!1;for(let d=0;d["STRONG","EM","U","B","I","MARK","SPAN"].includes(o.tagName),r=o=>{if(!(o.nodeType===Node.ELEMENT_NODE&&o instanceof Element&&this.isEditorUIElement(o))){if(o.nodeType===Node.TEXT_NODE&&Mt(o)){if(o.parentNode&&o.parentNode.nodeType===Node.ELEMENT_NODE){const a=o.parentNode;if(!(a instanceof HTMLElement)||i(a)||n(a))return;if(l(a)){e.add(a);const c=document.createElement("span");c.className=Q.virtualTextNode,c.textContent=o.textContent,a.replaceChild(c,o)}}}else if(o.nodeType===Node.ELEMENT_NODE&&o instanceof Element){if(o.classList&&o.classList.contains(Q.virtualTextNode))return;Array.from(o.childNodes).forEach(c=>r(c))}}};r(document.body),e.forEach(o=>{this.savedElements.has(o)||this.savedElements.set(o,o.innerHTML)})}setOriginStyle(e){if(!this.originalElementStyle.has(e)){const n=e.getAttribute("style")||"",l=e.textContent||"";this.originalElementStyle.set(e,{style:n,textContent:l})}}hasDirectTextContent(e){var i,r,o,a;if(["BR","HR","IMG","INPUT","TEXTAREA","SELECT","BUTTON"].includes(e.tagName))return!1;if(e.classList.contains(Q.virtualTextNode))return!!Mt(e);let l=!1;for(let c=0;c0){const c=document.createElement("div");for(c.innerHTML=e.innerHTML;c.firstElementChild;)c.removeChild(c.firstElementChild);if((((i=c.textContent)==null?void 0:i.trim())??"")!=="")return!0;let s=!1,u=!1,h=!1;for(let g=0;g50?((i=e.textContent)==null?void 0:i.substring(0,47))+"...":e.textContent})}}/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const Ds="important",kp=" !"+Ds,zp=Li(class extends Ki{constructor(t){var e;if(super(t),t.type!==Qi.ATTRIBUTE||t.name!=="style"||((e=t.strings)==null?void 0:e.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce(((e,n)=>{const l=t[n];return l==null?e:e+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${l};`}),"")}update(t,[e]){const{style:n}=t.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(e)),this.render(e);for(const l of this.ft)e[l]==null&&(this.ft.delete(l),l.includes("-")?n.removeProperty(l):n[l]=null);for(const l in e){const i=e[l];if(i!=null){this.ft.add(l);const r=typeof i=="string"&&i.endsWith(kp);l.includes("-")||r?n.setProperty(l,r?i.slice(0,-11):i,r?Ds:""):n[l]=i}}return zt}});var we=(t=>(t.BOLD="bold",t.ITALIC="italic",t.UNDERLINE="underline",t.COLOR="color",t.COPY="copy",t.DELETE="delete",t))(we||{});const Qp=[{type:"bold",label:"Bold"},{type:"italic",label:"Italic"},{type:"underline",label:"Underline"},{type:"color"},{type:"copy"},{type:"delete"}];class ve{constructor(e,n){this.targetElement=e,this.se=n}static isTextBolded(e){return e==="bold"||e==="700"}static isTextUnderlined(e){return e==="underline"}static isTextItalic(e){return e==="italic"}static isDomDeleted(e){return e==="none"}handleQuickActionClick(e,n){const l=a=>{var d;const c=(d=this.se.originalElementStyle.get(this.targetElement))==null?void 0:d.style;if(c){const s=document.createElement("div");return s.style.cssText=c,s.style[a]}return null},i=getComputedStyle(this.targetElement),r=this.targetElement.cloneNode();r.style="";const o=getComputedStyle(r);switch(e){case"bold":{if(ve.isTextBolded(i.fontWeight)){const a=l("fontWeight");a?ve.isTextBolded(a)?this.targetElement.style.fontWeight="normal":this.targetElement.style.fontWeight=a:ve.isTextBolded(o.fontWeight)?this.targetElement.style.removeProperty("font-weight"):this.targetElement.style.fontWeight="normal"}else this.targetElement.style.fontWeight="bold";break}case"underline":{if(ve.isTextUnderlined(i.textDecorationLine)){const a=l("textDecorationLine");a?ve.isTextUnderlined(a)?this.targetElement.style.textDecorationLine="none":this.targetElement.style.textDecorationLine=a:ve.isTextUnderlined(o.textDecorationLine)?this.targetElement.style.removeProperty("text-decoration-line"):this.targetElement.style.textDecorationLine="none"}else this.targetElement.style.textDecorationLine="underline";break}case"italic":{if(ve.isTextItalic(i.fontStyle)){const a=l("fontStyle");a?ve.isTextItalic(a)?this.targetElement.style.fontStyle="normal":this.targetElement.style.fontStyle=a:ve.isTextItalic(o.fontStyle)?this.targetElement.style.removeProperty("font-style"):this.targetElement.style.fontStyle="normal"}else this.targetElement.style.fontStyle="italic";break}case"delete":{if(ve.isDomDeleted(i.display)){const a=l("display");a?ve.isDomDeleted(a)?this.targetElement.style.display="":this.targetElement.style.display=a:ve.isDomDeleted(o.display)?this.targetElement.style.removeProperty("display"):this.targetElement.style.display=""}else this.targetElement.style.display="none";break}case"color":{n&&(this.targetElement.style.color=n);break}}}updateTextContent(e){const n=this.targetElement;n.classList.contains(Q.virtualTextNode)?n.textContent=e:this.updateElementTextWithFormattingPreserved(n,e),e.trim()&&n.style.display==="none"&&(n.style.display="")}copyElement(e){if(e)try{const n=e.parentNode;if(!n){console.error("无法复制元素: 未找到父元素");return}const l=e.cloneNode(!0);return l instanceof HTMLElement?(l.id&&l.removeAttribute("id"),l.style.display==="none"&&(l.style.display=""),l.classList.add(Q.copyNode),e.nextSibling?n.insertBefore(l,e.nextSibling):n.appendChild(l),l):void 0}catch(n){console.error(n)}}removeFormatting(e,n){for(const l of n)e.querySelectorAll(l).forEach(r=>{var d;const o=r.innerHTML,a=r.getAttribute("style")||"",c=document.createElement("span");if(c.innerHTML=o,l.toLowerCase()==="strong"||l.toLowerCase()==="b"?c.style.fontWeight="bold":l.toLowerCase()==="em"||l.toLowerCase()==="i"?c.style.fontStyle="italic":l.toLowerCase()==="u"&&(c.style.textDecoration="underline"),a){const s=c.getAttribute("style")||"";c.setAttribute("style",`${s}; ${a}`)}(d=r.parentNode)==null||d.replaceChild(c,r)})}updateElementTextWithFormattingPreserved(e,n){e.querySelector("strong, em, u, b, i")&&this.removeFormatting(e,["strong","em","u","b","i"]),e.textContent=n}}const Lp=Ee` `,Kp=Ee` `,Tp=Ee` `,Mp=t=>Ee` `,Hp=Ee` `,Dp=Ee` `,vl=Ee` `;Ee` `;const jp=Ee` `,_p=Ee` `;Ee` `;Ee` `;const Op=Ee` `;Ee` `;Ee` `;const Pp=Ee` `,$p=Ee` `,qp=Ee` `;function it(t){return`element-edit-panel-view-${t}`}class eZ extends Bl{constructor(e,n){super(e),this.se=n,this.opacity=0,this.handleCloseWhenEscape=l=>{l.key==="Escape"&&this.destroy()},this.handleClickOutside=l=>{const i=l.composedPath();i[0]!==this.triggerEl&&(!this.panelEl||!i.includes(this.panelEl))&&this.destroy()},this.isMounted=!1}get template(){return O`
`}show(e,n){this.triggerEl=e,this.isMounted=!0,this.render(),setTimeout(()=>{this.opacity=1,this.render()},0),this.panelEl&&(this.panelEl.setAnchor(this.triggerEl),this.panelEl.open(n)),this.se.hasDirectTextContent(this.triggerEl)?this.triggerEl.classList.add(Q.onlyTextNode):this.triggerEl.classList.add(Q.spaceEditorHighlight),this.domEditor=new ve(e,this.se),document.addEventListener("keydown",this.handleCloseWhenEscape),document.addEventListener("mousedown",this.handleClickOutside)}destroy(){this.isMounted&&(document.removeEventListener("keydown",this.handleCloseWhenEscape),document.removeEventListener("mousedown",this.handleClickOutside),this.triggerEl.classList.remove(Q.spaceEditorHighlight),this.triggerEl.classList.remove(Q.onlyTextNode),this.opacity=0,this.render(),super.destroy(),this.isMounted=!1)}handleQuickActionClick(e){const n=e===we.COPY;if(n){if(!this.domEditor.copyElement(this.triggerEl))return}else this.domEditor.handleQuickActionClick(e);const l=this.se.createPatch(this.triggerEl,n?"copy":void 0);l&&this.se.debouncedAddPatched(l),this.destroy()}handleSetRootRef(e){e instanceof zi&&(this.panelEl=e)}}const At=(()=>{/*! * Copyright (c) 2021-2024 Momo Bassit. * Licensed under the MIT License (MIT) * https://github.com/mdbassit/Coloris * Version: 0.24.0 * NPM: https://github.com/melloware/coloris-npm */return((t,e,n,l)=>{const i=e.createElement("canvas").getContext("2d"),r={r:0,g:0,b:0,h:0,s:0,v:0,a:1};let o,a,c,d,s,u,h,g,b,m,f,p,A,X,y,I,S={};const G={el:"[data-coloris]",parent:"body",theme:"default",themeMode:"light",rtl:!1,wrap:!0,margin:2,format:"hex",formatToggle:!1,swatches:[],swatchesOnly:!1,alpha:!0,forceAlpha:!1,focusInput:!0,selectInput:!1,inline:!1,defaultColor:"#000000",clearButton:!1,clearLabel:"Clear",closeButton:!1,closeLabel:"Close",onChange:()=>l,a11y:{open:"Open color picker",close:"Close color picker",clear:"Clear the selected color",marker:"Saturation: {s}. Brightness: {v}.",hueSlider:"Hue slider",alphaSlider:"Opacity slider",input:"Color value field",format:"Color format",swatch:"Color swatch",instruction:"Saturation and brightness selector. Use up, down, left and right arrow keys to select."}},B={};let v="",J={},w=!1;function L(V){if(typeof V=="object")for(const R in V)switch(R){case"el":We(V.el),V.wrap!==!1&&Be(V.el);break;case"parent":o=V.parent instanceof HTMLElement?V.parent:e.querySelector(V.parent),o&&(o.appendChild(a),G.parent=V.parent,o===e.body&&(o=l));break;case"themeMode":G.themeMode=V.themeMode,V.themeMode==="auto"&&t.matchMedia&&t.matchMedia("(prefers-color-scheme: dark)").matches&&(G.themeMode="dark");case"theme":V.theme&&(G.theme=V.theme),a.className=`clr-picker clr-${G.theme} clr-${G.themeMode}`,G.inline&&ye();break;case"rtl":G.rtl=!!V.rtl,Array.from(Kl().getElementsByClassName("clr-field")).forEach(Y=>Y.classList.toggle("clr-rtl",G.rtl));break;case"margin":V.margin*=1,G.margin=isNaN(V.margin)?G.margin:V.margin;break;case"wrap":V.el&&V.wrap&&Be(V.el);break;case"formatToggle":G.formatToggle=!!V.formatToggle,Ke("clr-format").style.display=G.formatToggle?"block":"none",G.formatToggle&&(G.format="auto");break;case"swatches":if(Array.isArray(V.swatches)){const Y=Ke("clr-swatches"),j=e.createElement("div");Y.textContent="",V.swatches.forEach((re,Ze)=>{const ne=e.createElement("button");ne.setAttribute("type","button"),ne.setAttribute("id",`clr-swatch-${Ze}`),ne.setAttribute("aria-labelledby",`clr-swatch-label clr-swatch-${Ze}`),ne.style.color=re,ne.textContent=re,j.appendChild(ne)}),V.swatches.length&&Y.appendChild(j),G.swatches=V.swatches.slice()}break;case"swatchesOnly":G.swatchesOnly=!!V.swatchesOnly,a.setAttribute("data-minimal",G.swatchesOnly);break;case"alpha":G.alpha=!!V.alpha,a.setAttribute("data-alpha",G.alpha);break;case"inline":if(G.inline=!!V.inline,a.setAttribute("data-inline",G.inline),G.inline){const Y=V.defaultColor||G.defaultColor;X=$e(Y),ye(),De(Y)}break;case"clearButton":typeof V.clearButton=="object"&&(V.clearButton.label&&(G.clearLabel=V.clearButton.label,h.innerHTML=G.clearLabel),V.clearButton=V.clearButton.show),G.clearButton=!!V.clearButton,h.style.display=G.clearButton?"block":"none";break;case"clearLabel":G.clearLabel=V.clearLabel,h.innerHTML=G.clearLabel;break;case"closeButton":G.closeButton=!!V.closeButton,G.closeButton?a.insertBefore(g,s):s.appendChild(g);break;case"closeLabel":G.closeLabel=V.closeLabel,g.innerHTML=G.closeLabel;break;case"a11y":const E=V.a11y;let F=!1;if(typeof E=="object")for(const Y in E)E[Y]&&G.a11y[Y]&&(G.a11y[Y]=E[Y],F=!0);if(F){const Y=Ke("clr-open-label"),j=Ke("clr-swatch-label");Y.innerHTML=G.a11y.open,j.innerHTML=G.a11y.swatch,g.setAttribute("aria-label",G.a11y.close),h.setAttribute("aria-label",G.a11y.clear),b.setAttribute("aria-label",G.a11y.hueSlider),f.setAttribute("aria-label",G.a11y.alphaSlider),u.setAttribute("aria-label",G.a11y.input),c.setAttribute("aria-label",G.a11y.instruction)}break;default:G[R]=V[R]}}function $(V,R){typeof V=="string"&&typeof R=="object"&&(B[V]=R,w=!0)}function q(V){delete B[V],Object.keys(B).length===0&&(w=!1,V===v&&pe())}function Ae(V){if(w){const R=["el","wrap","rtl","inline","defaultColor","a11y"];for(let E in B){const F=B[E];if(V.matches(E)){v=E,J={},R.forEach(Y=>delete F[Y]);for(let Y in F)J[Y]=Array.isArray(G[Y])?G[Y].slice():G[Y];L(F);break}}}}function pe(){Object.keys(J).length>0&&(L(J),v="",J={})}function We(V){V instanceof HTMLElement&&(V=[V]),Array.isArray(V)?V.forEach(R=>{ie(R,"click",Ue),ie(R,"input",Ve)}):(ie(e,"click",V,Ue),ie(e,"input",V,Ve))}function Ue(V){G.inline||(Ae(V.target),A=V.target,y=A.value,X=$e(y),a.classList.add("clr-open"),ye(),De(y),(G.focusInput||G.selectInput)&&(u.focus({preventScroll:!0}),u.setSelectionRange(A.selectionStart,A.selectionEnd)),G.selectInput&&u.select(),(I||G.swatchesOnly)&&Fr().shift().focus(),A.dispatchEvent(new Event("open",{bubbles:!0})))}function ye(){if(!a||!A&&!G.inline)return;const V=o,R=t.scrollY,E=a.offsetWidth,F=a.offsetHeight,Y={left:!1,top:!1};let j,re,Ze,ne={x:0,y:0};if(V&&(j=t.getComputedStyle(V),re=parseFloat(j.marginTop),Ze=parseFloat(j.borderTopWidth),ne=V.getBoundingClientRect(),ne.y+=Ze+R),!G.inline){const _e=A.getBoundingClientRect();let Xt=_e.x,Bt=R+_e.y+_e.height+G.margin;V?(Xt-=ne.x,Bt-=ne.y,Xt+E>V.clientWidth&&(Xt+=_e.width-E,Y.left=!0),Bt+F>V.clientHeight-re&&F+G.margin<=_e.top-(ne.y-R)&&(Bt-=_e.height+F+G.margin*2,Y.top=!0),Bt+=V.scrollTop):(Xt+E>e.documentElement.clientWidth&&(Xt+=_e.width-E,Y.left=!0),Bt+F-R>e.documentElement.clientHeight&&F+G.margin<=_e.top&&(Bt=R+_e.y-F-G.margin,Y.top=!0)),a.classList.toggle("clr-left",Y.left),a.classList.toggle("clr-top",Y.top),a.style.left=`${Xt}px`,a.style.top=`${Bt}px`,ne.x+=a.offsetLeft,ne.y+=a.offsetTop}S={width:c.offsetWidth,height:c.offsetHeight,x:c.offsetLeft+ne.x,y:c.offsetTop+ne.y}}function Be(V){V instanceof HTMLElement?x(V):Array.isArray(V)?V.forEach(x):e.querySelectorAll(V).forEach(x)}function x(V){const R=V.parentNode;if(!R.classList.contains("clr-field")){const E=e.createElement("div");let F="clr-field";(G.rtl||V.classList.contains("clr-rtl"))&&(F+=" clr-rtl"),E.innerHTML='',R.insertBefore(E,V),E.className=F,E.style.color=V.value,E.appendChild(V)}}function Ve(V){const R=V.target.parentNode;R.classList.contains("clr-field")&&(R.style.color=V.target.value)}function ee(V){if(A&&!G.inline){const R=A;V&&(A=l,y!==R.value&&(R.value=y,R.dispatchEvent(new Event("input",{bubbles:!0})))),setTimeout(()=>{y!==R.value&&R.dispatchEvent(new Event("change",{bubbles:!0}))}),a.classList.remove("clr-open"),w&&pe(),R.dispatchEvent(new Event("close",{bubbles:!0})),G.focusInput&&R.focus({preventScroll:!0}),A=l}}function De(V){const R=qs(V),E=$s(R);Le(E.s,E.v),Tn(R,E),b.value=E.h,a.style.color=`hsl(${E.h}, 100%, 50%)`,m.style.left=`${E.h/360*100}%`,d.style.left=`${S.width*E.s/100}px`,d.style.top=`${S.height-S.height*E.v/100}px`,f.value=E.a*100,p.style.left=`${E.a*100}%`}function $e(V){const R=V.substring(0,3).toLowerCase();return R==="rgb"||R==="hsl"?R:"hex"}function me(V){V=V!==l?V:u.value,A&&(A.value=V,A.dispatchEvent(new Event("input",{bubbles:!0}))),G.onChange&&G.onChange.call(t,V,A),e.dispatchEvent(new CustomEvent("coloris:pick",{detail:{color:V,currentEl:A}}))}function le(V,R){const E={h:b.value*1,s:V/S.width*100,v:100-R/S.height*100,a:f.value/100},F=Os(E);Le(E.s,E.v),Tn(F,E),me()}function Le(V,R){let E=G.a11y.marker;V=V.toFixed(1)*1,R=R.toFixed(1)*1,E=E.replace("{s}",V),E=E.replace("{v}",R),d.setAttribute("aria-label",E)}function ot(V){return{pageX:V.changedTouches?V.changedTouches[0].pageX:V.pageX,pageY:V.changedTouches?V.changedTouches[0].pageY:V.pageY}}function je(V){const R=ot(V);let E=R.pageX-S.x,F=R.pageY-S.y;o&&(F+=o.scrollTop),ut(E,F),V.preventDefault(),V.stopPropagation()}function cn(V,R){let E=d.style.left.replace("px","")*1+V,F=d.style.top.replace("px","")*1+R;ut(E,F)}function ut(V,R){V=V<0?0:V>S.width?S.width:V,R=R<0?0:R>S.height?S.height:R,d.style.left=`${V}px`,d.style.top=`${R}px`,le(V,R),d.focus()}function Tn(V,R){V===void 0&&(V={}),R===void 0&&(R={});let E=G.format;for(const Ze in V)r[Ze]=V[Ze];for(const Ze in R)r[Ze]=R[Ze];const F=eu(r),Y=F.substring(0,7);switch(d.style.color=Y,p.parentNode.style.color=Y,p.style.color=F,s.style.color=F,c.style.display="none",c.offsetHeight,c.style.display="",p.nextElementSibling.style.display="none",p.nextElementSibling.offsetHeight,p.nextElementSibling.style.display="",E==="mixed"?E=r.a===1?"hex":"rgb":E==="auto"&&(E=X),E){case"hex":u.value=F;break;case"rgb":u.value=tu(r);break;case"hsl":u.value=nu(Ps(r));break}var j=typeof G.parent=="object"?G.parent:e;const re=j.querySelector(`.clr-format [value="${E}"]`);re&&(re.checked=!0)}function js(){const V=b.value*1,R=d.style.left.replace("px","")*1,E=d.style.top.replace("px","")*1;a.style.color=`hsl(${V}, 100%, 50%)`,m.style.left=`${V/360*100}%`,le(R,E)}function _s(){const V=f.value/100;p.style.left=`${V*100}%`,Tn({a:V}),me()}function Os(V){const R=V.s/100,E=V.v/100;let F=R*E,Y=V.h/60,j=F*(1-n.abs(Y%2-1)),re=E-F;F=F+re,j=j+re;const Ze=n.floor(Y)%6,ne=[F,j,re,re,j,F][Ze],_e=[j,F,F,j,re,re][Ze],Xt=[re,re,j,F,F,j][Ze];return{r:n.round(ne*255),g:n.round(_e*255),b:n.round(Xt*255),a:V.a}}function Ps(V){const R=V.v/100,E=R*(1-V.s/100/2);let F;return E>0&&E<1&&(F=n.round((R-E)/n.min(E,1-E)*100)),{h:V.h,s:F||0,l:n.round(E*100),a:V.a}}function $s(V){const R=V.r/255,E=V.g/255,F=V.b/255,Y=n.max(R,E,F),j=n.min(R,E,F),re=Y-j,Ze=Y;let ne=0,_e=0;return re&&(Y===R&&(ne=(E-F)/re),Y===E&&(ne=2+(F-R)/re),Y===F&&(ne=4+(R-E)/re),Y&&(_e=re/Y)),ne=n.floor(ne*60),{h:ne<0?ne+360:ne,s:n.round(_e*100),v:n.round(Ze*100),a:V.a}}function qs(V){const R=/^((rgba)|rgb)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i;let E,F;return i.fillStyle="#000",i.fillStyle=V,E=R.exec(i.fillStyle),E?F={r:E[3]*1,g:E[4]*1,b:E[5]*1,a:E[6]*1}:(E=i.fillStyle.replace("#","").match(/.{2}/g).map(Y=>parseInt(Y,16)),F={r:E[0],g:E[1],b:E[2],a:1}),F}function eu(V){let R=V.r.toString(16),E=V.g.toString(16),F=V.b.toString(16),Y="";if(V.r<16&&(R="0"+R),V.g<16&&(E="0"+E),V.b<16&&(F="0"+F),G.alpha&&(V.a<1||G.forceAlpha)){const j=V.a*255|0;Y=j.toString(16),j<16&&(Y="0"+Y)}return"#"+R+E+F+Y}function tu(V){return!G.alpha||V.a===1&&!G.forceAlpha?`rgb(${V.r}, ${V.g}, ${V.b})`:`rgba(${V.r}, ${V.g}, ${V.b}, ${V.a})`}function nu(V){return!G.alpha||V.a===1&&!G.forceAlpha?`hsl(${V.h}, ${V.s}%, ${V.l}%)`:`hsla(${V.h}, ${V.s}%, ${V.l}%, ${V.a})`}function lu(){Kl().querySelector("#clr-picker")||(o=l,a=e.createElement("div"),a.setAttribute("id","clr-picker"),a.className="clr-picker",a.innerHTML=`
${G.a11y.format}
`,e.body.appendChild(a),c=Ke("clr-color-area"),d=Ke("clr-color-marker"),h=Ke("clr-clear"),g=Ke("clr-close"),s=Ke("clr-color-preview"),u=Ke("clr-color-value"),b=Ke("clr-hue-slider"),m=Ke("clr-hue-marker"),f=Ke("clr-alpha-slider"),p=Ke("clr-alpha-marker"),We(G.el),Be(G.el),ie(a,"mousedown",V=>{a.classList.remove("clr-keyboard-nav"),V.stopPropagation()}),ie(c,"mousedown",V=>{ie(e,"mousemove",je)}),ie(c,"contextmenu",V=>{V.preventDefault()}),ie(c,"touchstart",V=>{e.addEventListener("touchmove",je,{passive:!1})}),ie(d,"mousedown",V=>{ie(e,"mousemove",je)}),ie(d,"touchstart",V=>{e.addEventListener("touchmove",je,{passive:!1})}),ie(u,"change",V=>{const R=u.value;if(A||G.inline){const E=R===""?R:De(R);me(E)}}),ie(h,"click",V=>{me(""),ee()}),ie(g,"click",V=>{me(),ee()}),ie(Ke("clr-format"),"click",".clr-format input",V=>{X=V.target.value,Tn(),me()}),ie(a,"click",".clr-swatches button",V=>{De(V.target.textContent),me(),G.swatchesOnly&&ee()}),ie(e,"mouseup",V=>{e.removeEventListener("mousemove",je)}),ie(e,"touchend",V=>{e.removeEventListener("touchmove",je)}),ie(e,"mousedown",V=>{I=!1,a.classList.remove("clr-keyboard-nav"),ee()}),ie(e,"keydown",V=>{const R=V.key,E=V.target,F=V.shiftKey;if(R==="Escape"?ee(!0):["Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(R)&&(I=!0,a.classList.add("clr-keyboard-nav")),R==="Tab"&&E.matches(".clr-picker *")){const j=Fr(),re=j.shift(),Ze=j.pop();F&&E===re?(Ze.focus(),V.preventDefault()):!F&&E===Ze&&(re.focus(),V.preventDefault())}}),ie(e,"click",".clr-field button",V=>{w&&pe(),V.target.nextElementSibling.dispatchEvent(new Event("click",{bubbles:!0}))}),ie(d,"keydown",V=>{const R={ArrowUp:[0,-1],ArrowDown:[0,1],ArrowLeft:[-1,0],ArrowRight:[1,0]};Object.keys(R).includes(V.key)&&(cn(...R[V.key]),V.preventDefault())}),ie(c,"click",je),ie(b,"input",js),ie(f,"input",_s))}function Fr(){return Array.from(a.querySelectorAll("input, button")).filter(E=>!!E.offsetWidth)}function Ke(V){var R=Kl();return R.querySelector("#"+V)}function Kl(){return typeof G.parent=="object"?G.parent:e}function ie(V,R,E,F){const Y=Element.prototype.matches||Element.prototype.msMatchesSelector;typeof E=="string"?V.addEventListener(R,j=>{Y.call(j.target,E)&&F.call(j.target,j)}):(F=E,V.addEventListener(R,F))}function Mn(V,R){R=R!==l?R:[],e.readyState!=="loading"?V(...R):e.addEventListener("DOMContentLoaded",()=>{V(...R)})}NodeList!==l&&NodeList.prototype&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach);function iu(V,R){A=R,y=A.value,Ae(R),X=$e(V),ye(),De(V),me(),y!==V&&A.dispatchEvent(new Event("change",{bubbles:!0}))}const Tl=(()=>{const V={init:lu,set:L,wrap:Be,close:ee,setInstance:$,setColor:iu,removeInstance:q,updatePosition:ye,ready:Mn};function R(E){Mn(()=>{E&&(typeof E=="string"?We(E):L(E))})}for(const E in V)R[E]=function(){for(var F=arguments.length,Y=new Array(F),j=0;j{t.addEventListener("resize",E=>{R.updatePosition()}),t.addEventListener("scroll",E=>{R.updatePosition()})}),R})();return Tl.coloris=Tl,Tl})(window,document,Math)})();At.coloris;At.init;At.set;At.wrap;At.close;At.setInstance;At.removeInstance;At.updatePosition;function Ge(t){return`text-edit-panel-view-${t}`}class tZ extends Bl{constructor(e,n){super(e),this.se=n,this.textContent="",this.currentTextColor="",this.handleCloseWhenEscape=l=>{l.key==="Escape"&&this.destroy()},this.handleClickOutside=l=>{const i=l.composedPath();(!this.panelEl||!i.includes(this.panelEl))&&this.destroy()},this.handleColorChange=l=>{const i=l.detail.color;this.domEditor.handleQuickActionClick(we.COLOR,i);const r=this.se.createPatch(this.triggerEl);this.se.debouncedAddPatched(r),this.currentTextColor=i,this.render()}}get template(){return O`
${Qp.filter(e=>e.type!==we.DELETE&&e.type!==we.COPY).map(({type:e,label:n})=>{const l=()=>{if(e===we.BOLD)return O`${Lp}`;if(e===we.ITALIC)return O`${Tp}`;if(e===we.UNDERLINE)return O`${Kp}`;if(e===we.COLOR)return O`${Mp(this.currentTextColor)}`},i=()=>{if(!this.triggerEl)return!1;const r=this.triggerEl.cloneNode(!0);[Q.spaceEditorHighlight,Q.onlyTextNode,Q.textNodeActive].forEach(c=>{r.classList.remove(c)}),r.classList.add(Q.hidden),document.body.appendChild(r);const a=getComputedStyle(r);return setTimeout(()=>{document.body.removeChild(r)},0),e===we.BOLD?ve.isTextBolded(a.fontWeight):e===we.ITALIC?ve.isTextItalic(a.fontStyle):e===we.UNDERLINE?ve.isTextUnderlined(a.textDecorationLine):!1};return e===we.COLOR?O``:O``})}
`}show(e,n){this.triggerEl=e,this.textContent=e.textContent??"",this.currentTextColor=getComputedStyle(e).color,this.render(),this.panelEl&&(this.panelEl.setAnchor(this.triggerEl),this.panelEl.open(n)),this.triggerEl.classList.add(Q.textNodeActive),this.domEditor=new ve(e,this.se),document.addEventListener("keydown",this.handleCloseWhenEscape),document.addEventListener("mousedown",this.handleClickOutside),document.addEventListener("coloris:pick",this.handleColorChange)}destroy(){var e;document.removeEventListener("keydown",this.handleCloseWhenEscape),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("coloris:pick",this.handleColorChange),(e=this.triggerEl)==null||e.classList.remove(Q.textNodeActive),super.destroy()}handleQuickActionClick(e){this.domEditor.handleQuickActionClick(e);const n=this.se.createPatch(this.triggerEl);this.se.debouncedAddPatched(n),e===we.DELETE&&this.destroy(),this.render()}handleInput(e){const n=e.target;if(n instanceof HTMLTextAreaElement){this.textContent=n.value,this.render(),this.domEditor.updateTextContent(this.textContent);const l=this.se.createPatch(this.triggerEl);this.se.debouncedAddPatched(l)}}handleSetRootRef(e){e instanceof zi&&(this.panelEl=e)}handleInitColorPicker(e){e instanceof HTMLInputElement&&(At.init(),At.coloris({el:e,alpha:!0,swatches:["#FFF","#000000","#FF0001","#FF5100","#FFC700","#00B336","#00CBFF","#65BAFF","#B400D8","#86A3AB","#4F5559"]}))}}function T(t){return`footer-toolbar-${t}`}class nZ extends Bl{constructor(e){super(e,!1),this.container=e,this.hasPrivilege=!1,this.isRestoring=!1,this.isShowHistoryBtn=!1,this.isPopoverVisible=!1,this.init()}get template(){if(!this.hasPrivilege)return O``;const e=()=>{if(qe.viewType==="history"){const n=O`this.handleSetDialogRef(l))} title="Restore to this version?">

This will overwrite existing content and affect the current task.

`;return O`
${n}`}return O`
${this.isShowHistoryBtn?O`
${qp}
`:""}
${this.isPopoverVisible?O`
${_p} Restore original version
`:""} `};return O`
${e()}
`}handleRestore(){var e;(e=this.dialogRef)==null||e.show()}async handleRestoreConfirm(){var e,n,l;if(!this.isRestoring)try{this.isRestoring=!0,this.render(),await yl.SpaceService.restoreOriginalSite({spaceUid:Se.spaceId}),(e=this.se)==null||e.restoreToOriginal(),(n=this.dialogRef)==null||n.close(),qe.setViewType(qe.prevViewType),qe.viewType!=="edit"&&((l=this.se)==null||l.toggleToPreviewMode())}catch{}finally{this.isRestoring=!1,this.render()}}async init(){const e=new wp;this.se=e;const n=new URL(window.location.href);let l="default";n.searchParams.get("edit")==="1"?l="edit":n.searchParams.get("history")==="1"&&(l="history"),this.updateIsShowHistoryBtn();const i=async()=>new Promise(o=>{l==="history"?(e.initWithoutApplyPatches(),bi(["history"]),this.isShowHistoryBtn&&qe.setViewType("history"),o(!0)):Nu()&&Se.patchList.length>0?(document.body.style.opacity="0",Fu().then(()=>{e.init(),document.body.style.opacity="1",o(!0)})):(e.init(),o(!0))});let r=!1;Se.patchList.length>0&&(await i(),r=!0);try{l==="edit"&&(this.hasPrivilege=!0,e.toggleEditMode(),qe.setViewType("edit"),this.render()),bi(["edit"])}catch{}if(await Ht.waitReady(),this.hasPrivilege=await Bp,this.render(),this.hasPrivilege){r||await i(),l==="edit"?il.showToast({title:"You're now editing - all changes auto-save",variant:"success"}):l==="history"&&il.showToast({title:"Switched to original version",variant:"success"}),Rn.listenBy(this,"onViewTypeChange",()=>{this.render()}),Rn.listenBy(this,"patchListChange",()=>{this.updateIsShowHistoryBtn(),this.render()});const o=document.createElement("div");o.classList.add(Q.textEditorPanelView);const a=document.createElement("div");a.classList.add(Q.elementEditorPanelView),this.container.appendChild(a),this.container.appendChild(o);const c=new tZ(o,e),d=new eZ(a,e);e.registerViews({textEditPanelView:c,elementEditPanelView:d})}else e.toggleToPreviewMode(),qe.setViewType("default")}destroy(){var e;this.removeClickOutsideListener(),(e=this.se)==null||e.destroy(),super.destroy()}handleViewOriginVersion(){const e=new URL(window.location.href);e.searchParams.append("history","1"),window.location.href=e.toString()}handleExitOriginVersion(){const e=new URL(window.location.href);e.searchParams.delete("history"),window.location.href=e.toString()}handleToggleEditMode(){this.se&&(qe.viewType==="default"?(qe.setViewType("edit"),this.se.toggleEditMode(),il.showToast({title:"You're now editing - all changes auto-save",variant:"success"}),wt({eventName:"edit_click",extData:{type:"space"}})):(qe.setViewType("default"),this.se.toggleToPreviewMode()))}handleSetDialogRef(e){e instanceof Wl&&(this.dialogRef=e)}updateIsShowHistoryBtn(){this.isShowHistoryBtn=(Se.patchList.length??0)>0}handleTogglePopover(){this.isPopoverVisible=!this.isPopoverVisible,this.isPopoverVisible?this.addClickOutsideListener():this.removeClickOutsideListener(),this.render()}addClickOutsideListener(){this.removeClickOutsideListener(),this.clickOutsideHandler=e=>{e.composedPath()[0].closest(`.${T("container")}`)||(this.isPopoverVisible=!1,this.removeClickOutsideListener(),this.render())},document.addEventListener("click",this.clickOutsideHandler)}removeClickOutsideListener(){this.clickOutsideHandler&&(document.removeEventListener("click",this.clickOutsideHandler),this.clickOutsideHandler=void 0)}}const Sl="content-root",lZ=`#${Sl} { /* Text Colors */ --text-primary: #34322d; --text-secondary: #535350; --text-tertiary: #858481; --text-disable: #b9b9b7; --text-brand: #0081f2; --text-onblack: #ffffff; --text-white: #ffffff; --text-white-tsp: #ffffff99; --theme-text-primary: #262626; --logo-color: #34322d; /* Background Colors */ --background-gray-main: #f8f8f7; --background-white-main: #ffffff; --background-menu-white: #ffffff; --background-tsp-menu-white: #ffffff14; --background-tsp-card-gray: #37352f0a; --background-nav: #ebebeb; --background-card: #fafafa; --background-mask: #000000a6; --background-card-gray: #fafafa; --background-preview-mask: #000000d9; /* Border Colors */ --border-main: #0000000f; --border-white: #ffffff33; --border-btn-main: #0000001f; --border-input-active: #0081f280; --border-light: #0000000a; --border-dark: #0000001f; --border-primary: #4f59661f; /* Icon Colors */ --icon-primary: #34322d; --icon-secondary: #535350; --icon-tertiary: #858481; --icon-disable: #b9b9b7; --icon-brand: #0081f2; --icon-onblack: #ffffff; --icon-white: #ffffff; --icon-white-tsp: #ffffff99; /* Function Colors */ --function-error: #f25a5a; --function-success: #25ba3b; --function-warning: #efa201; --function-error-tsp: #f25a5a14; --function-warning-tsp: #efa2011f; /* Fill Colors */ --fill-blue: #0081f214; --fill-tsp-white-main: #37352f0f; --fill-tsp-white-dark: #37352f14; --fill-tsp-white-light: #37352f0a; --fill-tsp-gray-dark: #37352f14; --fill-tsp-gray-main: #37352f0a; --fill-input-chat: #ffffff; --fill-white: #ffffff; --fill-black: #28282973; --fill-gray: #f8f8f7; /* Button Colors */ --Button-primary-black: #1a1a19; --Button-primary-white: #ffffff; --Button-primary-brand: #0081f2; --Button-primary-brand-disabled: #7cbdf5; --Button-secondary-brand: #0081f21a; --Button-secondary-error-border: #f25a5a80; --Button-secondary-error-fill: #ffffff; --Button-secondary-main: #ffffff; --Button-secondary-gray: #37352f0f; /* Tab Colors */ --tab-fill: rgba(0, 0, 0, 0.04); --tab-active-black: #1a1a19; /* Shadow Colors */ --shadow-L: #0000003d; --shadow-M: #0000001f; --shadow-S: #00000014; --shadow-XS: #0000000f; --shadows-inner-0: #ffffff00; --shadows-inner-1: #16191d14; --shadows-inner-2: #16191d1f; --shadows-drop-1: #16191d08; --shadows-drop-2: #16191d0a; --shadows-drop-3: #16191d14; --shadows-drop-4: #16191d1f; --shadows-highlight-1: #cce5ff; --shadows-highlight-2: #1487fa; --shadows-danger-1: #fed7d7; --shadows-danger-2: #ee3a3a; --shadows-card-border: #16191d1f; --shadows-card-border-2: #16191d1f; /* Tooltips */ --Tooltips-main: #000000e6; /* Gradual Colors */ --gradual-white-0: #ffffff00; --gradual-gray-100: #ffffff00; --gradual-gray-0: #ffffff00; --gradual-dark-20: #00000033; /** input */ --fill-input-chat: #ffffff; /** gradient */ --gradient-bg-mask-gray-0: #eaeaeb00; } #${Sl}.dark { /* Text Colors */ --text-primary: #dadada; --text-secondary: #acacac; --text-tertiary: #7f7f7f; --text-disable: #5f5f5f; --text-brand: #1a93fe; --text-onblack: #000000e6; --text-white: #ffffff; --text-white-tsp: #ffffff99; --theme-text-primary: #dbdbdb; --logo-color: #dadada; /* Background Colors */ --background-gray-main: #272728; --background-white-main: #161618; --background-menu-white: #383739; --background-tsp-menu-white: #ffffff0f; --background-tsp-card-gray: #ffffff0f; --background-nav: #212122; --background-card: #383739; --background-mask: #000000a6; --background-card-gray: #383739; --background-preview-mask: #000000d9; /* Border Colors */ --border-main: #ffffff14; --border-white: #00000014; --border-btn-main: #ffffff1a; --border-input-active: #1a93fe80; --border-light: #ffffff0f; --border-dark: #ffffff29; --border-primary: #56565f52; /* Icon Colors */ --icon-primary: #dadada; --icon-secondary: #acacac; --icon-tertiary: #7f7f7f; --icon-disable: #5f5f5f; --icon-brand: #1a93fe; --icon-onblack: #000000d9; --icon-white: #ffffff; --icon-white-tsp: #ffffff99; /* Function Colors */ --function-error: #eb4d4d; --function-success: #5eb92d; --function-warning: #ffbf36; --function-error-tsp: #eb4d4d14; --function-warning-tsp: #ffbf361f; /* Fill Colors */ --fill-blue: #1a93fe1f; --fill-tsp-white-main: #ffffff0f; --fill-tsp-white-dark: #ffffff1f; --fill-tsp-white-light: #ffffff0a; --fill-tsp-gray-dark: #00000047; --fill-tsp-gray-main: #00000033; --fill-input-chat: #363537; --fill-white: #3e3d3e; --fill-black: #28282973; --fill-gray: #444345; /* Button Colors */ --Button-primary-black: #ffffff; --Button-primary-white: #ffffff14; --Button-primary-brand: #1a93fe; --Button-primary-brand-disabled: #215d93; --Button-secondary-brand: #1a93fe1f; --Button-secondary-error-border: #eb4d4d29; --Button-secondary-error-fill: #eb4d4d1f; --Button-secondary-main: #ffffff1f; --Button-secondary-gray: #ffffff0f; /* Tab Colors */ --tab-fill: rgba(255, 255, 255, 0.06); --tab-active-black: #ffffff; /* Shadow Colors */ --shadow-L: #00000066; --shadow-M: #0000003d; --shadow-S: #00000029; --shadow-XS: #0000001f; --shadows-inner-0: #ffffff1f; --shadows-inner-1: #ffffff14; --shadows-inner-2: #ffffff1f; --shadows-drop-1: #0000001f; --shadows-drop-2: #00000033; --shadows-drop-3: #00000047; --shadows-drop-4: #0000005c; --shadows-highlight-1: #1b61a6; --shadows-highlight-2: #1487fa; --shadows-danger-1: #8f1919; --shadows-danger-2: #ee3a3a; --shadows-card-border: #ffffff1f; --shadows-card-border-2: #ffffff00; /* Tooltips */ --Tooltips-main: #000000e6; /* Gradual Colors */ --gradual-white-0: #27272800; --gradual-gray-100: #444345; --gradual-gray-0: #44434500; --gradual-dark-20: #ffffff33; /** input */ --fill-input-chat: #363537; /** gradient */ --gradient-bg-mask-gray-0: #1E1E1E00; } `,iZ=`/* CSS Reset */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; } img, picture, video, canvas, svg { display: block; max-width: 100%; } input, button, textarea, select { font: inherit; } p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; } a { text-decoration: none; color: inherit; } button { background: none; border: none; cursor: pointer; } `,rZ=` .tooltip-trigger-css { position: relative; } .tooltip-trigger-css::after { content: attr(data-tooltip); display: flex; justify-content: center; align-items: center; max-width: 280px; min-width: 40px; padding: 10px; background: rgba(0, 0, 0, 0.90); border-radius: 12px; color: var(--text-white); font-size: 12px; line-height: 16px; word-wrap: break-word; white-space: pre-wrap; text-align: left; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%) translateY(-8px); z-index: 10; width:max-content; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out, visibility 0s linear 0.2s; } .tooltip-trigger-css.tooltip-trigger-right-css::after { left: unset; right: 0; transform: translateX(0) translateY(-8px); } .tooltip-trigger-css.tooltip-trigger-right-css:hover::after { left: unset; right: 0; transform: translateX(0) translateY(-8px); } /* 当触发元素被 hover 或 focus 时显示 tooltip */ .tooltip-trigger-css:hover::after, .tooltip-trigger-css:focus::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(-10px); /* 轻微向上移动的动画 */ transition-delay: 0s, 0s, 0s; /* 确保立即显示,覆盖 visibility 的延迟 */ } /* 确保非交互元素可聚焦,以便 tooltip 可以通过键盘触发 */ .tooltip-trigger-css:not(button):not(input):not(a[href]) { outline: none; /* 移除默认轮廓,如果需要自定义焦点样式 */ } .tooltip-trigger-css:focus { /* 自定义焦点样式 (可选) */ box-shadow: 0 0 0 2px skyblue; }`,oZ=` ${lZ} ${iZ} ${rZ} * { box-sizing: border-box; } p { margin-block-start:0; margin-block-end:0; } #${Sl} { font-family: 'SF Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif } `;let ll;class aZ extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const e=this.shadowRoot,n=document.createElement("div");n.id=Sl,e.appendChild(n);const l=document.createElement("style");l.textContent=`${oZ} `,n.appendChild(l),ll=new nZ(n),il.initRoot(n),wt({eventName:"session_file_view",extData:{type:"space"}}),wt({eventName:"manus_space_show"})}disconnectedCallback(){ll==null||ll.destroy()}}function _(t){return`footer-watermark-${t}`}class cZ extends HTMLElement{constructor(){super(),this.isClosed=!1,this.attachShadow({mode:"open"}),this.render()}get template(){return this.isClosed=localStorage.getItem("embedClosed")==="true",this.isClosed?O``:Xc()?O` this.handleSetDialogRef(e))} title="Made with Manus" width="358px">

AI-generated (possibly user-edited) content - please verify carefully and submit no personal information.

If you believe this content violates your rights or applicable laws, you may submit a report for review.

{var e;(e=this.dialogRef)==null||e.show(),wt({eventName:"manus_watermark_click"})}} > ${vl} Made with Manus
`:O`
this.handleClick()} > ${vl} Made with Manus Create my website this.handleClose(e)}>${Pp}
e.stopPropagation()}>

AI-generated (possibly user-edited) content - please verify carefully and submit no personal information. If you believe this content violates your rights or applicable laws, you may submit a report for review.

`}connectedCallback(){wt({eventName:"manus_watermark_show"})}handleClick(){wt({eventName:"manus_watermark_click"}),window.open(`${Se.host}/app?utm_source=manusspace`,"_blank")}handleClose(e){e.stopPropagation(),localStorage.setItem("embedClosed","true"),this.isClosed=!0,this.render(),wt({eventName:"manus_watermark_close"})}handleSetDialogRef(e){e instanceof Wl&&(this.dialogRef=e)}render(){vt(this.template,this.shadowRoot)}}function be(t){return`made-with-${t}`}class dZ extends HTMLElement{constructor(){super(),this.isMobile=!1,this.isMobile=Xc(),vt(this.template,this)}get template(){const e=()=>this.isMobile?O` this.handleSetDialogRef(n))} title="Made with Manus">

AI-generated (possibly user-edited) content - please verify carefully and submit no personal information.

If you believe this content violates your rights or applicable laws, you may submit a report for review.

{var n;return(n=this.dialogRef)==null?void 0:n.close()}}>
`:O` `;return O` ${e()}`}handleSetDialogRef(e){e instanceof Wl&&(this.dialogRef=e)}}customElements.define("lit-textarea",Xu);customElements.define("lit-popup",zi);customElements.define("lit-dialog",Wl);customElements.define("manus-content-root",aZ);customElements.define("make-with-manus",dZ);customElements.define("footer-watermark",cZ);Np();Bu(()=>{new MutationObserver(()=>{document.querySelector("manus-content-root")||document.body.appendChild(document.createElement("manus-content-root"))}).observe(document.body,{childList:!0,subtree:!0})}); };