@augmentcode/onison 1.2.0-prerelease.202610070923 → 1.2.0-prerelease.202610071518

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -124,7 +124,7 @@ gpgsig`+Mf(s)+`
124
124
  `).filter(i=>i).reverse().map((i,s)=>n?`stash@{${s}}: ${i.split(" ")[1]}`:i)}},Tr=class e{constructor({fs:t,dir:n,gitdir:r=Y(n,".git")}){Object.assign(this,{fs:t,dir:n,gitdir:r,_author:null})}static get refStash(){return"refs/stash"}static get refLogsStash(){return"logs/refs/stash"}get refStashPath(){return Y(this.gitdir,e.refStash)}get refLogsStashPath(){return Y(this.gitdir,e.refLogsStash)}async getAuthor(){if(!this._author&&(this._author=await On({fs:this.fs,gitdir:this.gitdir,author:{}}),!this._author))throw new Ke("author");return this._author}async getStashSHA(t,n){return await this.fs.exists(this.refStashPath)?(n||await this.readStashReflogs({parsed:!1}))[t].split(" ")[1]:null}async writeStashCommit({message:t,tree:n,parent:r}){return jB({fs:this.fs,gitdir:this.gitdir,commit:{message:t,tree:n,parent:r,author:await this.getAuthor(),committer:await this.getAuthor()}})}async readStashCommit(t){let n=await this.readStashReflogs({parsed:!1});if(t!==0&&(t<0||t>n.length-1))throw new Rt(`stash@${t}`,"number that is in range of [0, num of stash pushed]");let r=await this.getStashSHA(t,n);return r?Pt({fs:this.fs,cache:{},gitdir:this.gitdir,oid:r}):{}}async writeStashRef(t){return U.writeRef({fs:this.fs,gitdir:this.gitdir,ref:e.refStash,value:t})}async writeStashReflogEntry({stashCommit:t,message:n}){let r=await this.getAuthor(),o=qc.createStashReflogEntry(r,t,n),i=this.refLogsStashPath;await xe(i,async()=>{let s=await this.fs.exists(i)?await this.fs.read(i,"utf8"):"";await this.fs.write(i,s+o,"utf8")})}async readStashReflogs({parsed:t=!1}){if(!await this.fs.exists(this.refLogsStashPath))return[];let n=await this.fs.read(this.refLogsStashPath,"utf8");return qc.getStashReflogEntry(n,t)}};async function PB({fs:e,dir:t,gitdir:n,message:r=""}){let o=new Tr({fs:e,dir:t,gitdir:n});await o.getAuthor();let i=await Pn({fs:e,gitdir:n,fullname:!1}),s=await U.resolve({fs:e,gitdir:n,ref:"HEAD"}),a=(await pm({fs:e,dir:t,gitdir:n,oid:s})).commit.message,c=[s],d=null,u=Oe({ref:"HEAD"}),h=await oF({fs:e,dir:t,gitdir:n,treePair:[Oe({ref:"HEAD"}),"stage"]});if(h){let m=await o.writeStashCommit({message:`stash-Index: WIP on ${i} - ${new Date().toISOString()}`,tree:h,parent:c});c.push(m),d=h,u=Kr()}let b=await oF({fs:e,dir:t,gitdir:n,treePair:[u,"workdir"]});if(b){let m=await o.writeStashCommit({message:`stash-WorkDir: WIP on ${i} - ${new Date().toISOString()}`,tree:b,parent:[c[c.length-1]]});c.push(m),d=b}if(!d||!h&&!b)throw new de("changes, nothing to stash");let f=(r.trim()||`WIP on ${i}`)+`: ${s.substring(0,7)} ${a}`;return{stashCommit:await o.writeStashCommit({message:f,tree:d,parent:c}),stashMsg:f,branch:i,stashMgr:o}}async function Hz({fs:e,dir:t,gitdir:n,message:r=""}){let{stashCommit:o,stashMsg:i,branch:s,stashMgr:l}=await PB({fs:e,dir:t,gitdir:n,message:r});return await l.writeStashRef(o),await l.writeStashReflogEntry({stashCommit:o,message:i}),await Am({fs:e,dir:t,gitdir:n,ref:s,track:!1,force:!0}),o}async function Mz({fs:e,dir:t,gitdir:n,message:r=""}){let{stashCommit:o}=await PB({fs:e,dir:t,gitdir:n,message:r});return o}async function qB({fs:e,dir:t,gitdir:n,refIdx:r=0}){let i=await new Tr({fs:e,dir:t,gitdir:n}).readStashCommit(r),{parent:s=null}=i.commit?i.commit:{};if(!(!s||!Array.isArray(s)))for(let l=0;l<s.length-1;l++){let c=(await Pt({fs:e,cache:{},gitdir:n,oid:s[l+1]})).commit.message.startsWith("stash-Index");await TF({fs:e,dir:t,gitdir:n,stashCommit:s[l+1],parentCommit:s[l],wasStaged:c})}}async function $B({fs:e,dir:t,gitdir:n,refIdx:r=0}){let o=new Tr({fs:e,dir:t,gitdir:n});if(!(await o.readStashCommit(r)).commit)return;let s=o.refStashPath;await xe(s,async()=>{await e.exists(s)&&await e.rm(s)});let l=await o.readStashReflogs({parsed:!1});if(!l.length)return;l.splice(r,1);let a=o.refLogsStashPath;await xe(a,async()=>{if(l.length){await e.write(a,l.reverse().join(`
125
125
  `)+`
126
126
  `,"utf8");let c=l[l.length-1].split(" ")[1];await o.writeStashRef(c)}else await e.rm(a)})}async function Oz({fs:e,dir:t,gitdir:n}){return new Tr({fs:e,dir:t,gitdir:n}).readStashReflogs({parsed:!0})}async function jz({fs:e,dir:t,gitdir:n}){let r=new Tr({fs:e,dir:t,gitdir:n}),o=[r.refStashPath,r.refLogsStashPath];await xe(o,async()=>{await Promise.all(o.map(async i=>{if(await e.exists(i))return e.rm(i)}))})}async function Pz({fs:e,dir:t,gitdir:n,refIdx:r=0}){await qB({fs:e,dir:t,gitdir:n,refIdx:r}),await $B({fs:e,dir:t,gitdir:n,refIdx:r})}async function e1({fs:e,dir:t,gitdir:n=Y(t,".git"),op:r="push",message:o="",refIdx:i=0}){W("fs",e),W("dir",t),W("gitdir",n),W("op",r);let s={push:Hz,apply:qB,drop:$B,list:Oz,clear:jz,pop:Pz,create:Mz},l=["apply","drop","pop"];try{let a=new _(e),c=await Q({fsp:a,dotgit:n});["refs","logs","logs/refs"].map(h=>Y(c,h)).forEach(async h=>{await a.exists(h)||await a.mkdir(h)});let u=s[r];if(u){if(l.includes(r)&&i<0)throw new Rt(`stash@${i}`,"number that is in range of [0, num of stash pushed]");return await u({fs:a,dir:t,gitdir:c,message:o,refIdx:i})}throw new Error(`To be implemented: ${r}`)}catch(a){throw a.caller="git.stash",a}}async function t1({fs:e,dir:t,gitdir:n=Y(t,".git"),filepath:r,cache:o={},refresh:i=!0}){try{W("fs",e),W("gitdir",n),W("filepath",r);let s=new _(e),l=await Q({fsp:s,dotgit:n}),a=await qz({fs:s,cache:o,gitdir:l}),c=await n1({fs:s,cache:o,gitdir:l,tree:a,path:r}),d=await Re.acquire({fs:s,gitdir:l,cache:o},async function(m){for(let V of m)if(V.path===r)return V;return null});if(c===null&&d===null&&await Mn.isIgnored({fs:s,gitdir:l,dir:t,filepath:r}))return"ignored";let u=await s.lstat(Y(t,r)),h=c!==null,b=d!==null,f=u!==null,A=async()=>{if(b&&!Tc(d,u))return d.oid;{let V=await(await Ve.get({fs:s,gitdir:l})).get("core.autocrlf"),E=await s.read(Y(t,r),{autocrlf:V}),R=await LB({gitdir:l,type:"blob",object:E});return i&&b&&d.oid===R&&u.size!==-1&&Re.acquire({fs:s,gitdir:l,cache:o},async function(G){G.insert({filepath:r,stats:u,oid:R})}),R}};if(!h&&!f&&!b)return"absent";if(!h&&!f&&b)return"*absent";if(!h&&f&&!b)return"*added";if(!h&&f&&b)return await A()===d.oid?"added":"*added";if(h&&!f&&!b)return"deleted";if(h&&!f&&b)return c===d.oid,"*deleted";if(h&&f&&!b)return await A()===c?"*undeleted":"*undeletemodified";if(h&&f&&b){let m=await A();return m===c?m===d.oid?"unmodified":"*unmodified":m===d.oid?"modified":"*modified"}}catch(s){throw s.caller="git.status",s}}async function n1({fs:e,cache:t,gitdir:n,tree:r,path:o}){typeof o=="string"&&(o=o.split("/"));let i=o.shift();for(let s of r)if(s.path===i){if(o.length===0)return s.oid;let{type:l,object:a}=await he({fs:e,cache:t,gitdir:n,oid:s.oid});if(l==="tree"){let c=nt.from(a);return n1({fs:e,cache:t,gitdir:n,tree:c,path:o})}if(l==="blob")throw new je(s.oid,l,"blob",o.join("/"))}return null}async function qz({fs:e,cache:t,gitdir:n}){let r;try{r=await U.resolve({fs:e,gitdir:n,ref:"HEAD"})}catch(i){if(i instanceof de)return[]}let{tree:o}=await Po({fs:e,cache:t,gitdir:n,oid:r});return o}async function r1({fs:e,dir:t,gitdir:n=Y(t,".git"),ref:r="HEAD",filepaths:o=["."],filter:i,cache:s={},ignored:l=!1,refresh:a=!0}){try{W("fs",e),W("gitdir",n),W("ref",r);let c=new _(e),d=await Q({fsp:c,dotgit:n});return await gn({fs:c,cache:s,dir:t,gitdir:d,trees:[Oe({ref:r}),jo({refresh:a}),Kr()],map:async function(u,[h,b,f]){if(!h&&!f&&b&&!l&&await Mn.isIgnored({fs:c,dir:t,filepath:u})||!o.some(Z=>_F(u,Z)))return null;if(i&&!i(u))return;let[A,m,V]=await Promise.all([h&&h.type(),b&&b.type(),f&&f.type()]),E=[A,m,V].includes("blob");if((A==="tree"||A==="special")&&!E)return;if(A==="commit")return null;if((m==="tree"||m==="special")&&!E)return;if(V==="commit")return null;if((V==="tree"||V==="special")&&!E)return;let R=A==="blob"?await h.oid():void 0,G=V==="blob"?await f.oid():void 0,S;A!=="blob"&&m==="blob"&&V!=="blob"?S="42":m==="blob"&&(S=await b.oid());let N=[void 0,R,S,G],g=N.map(Z=>N.indexOf(Z));return g.shift(),[u,...g]}})}catch(c){throw c.caller="git.statusMatrix",c}}async function o1({fs:e,dir:t,gitdir:n=Y(t,".git"),ref:r,object:o,force:i=!1}){try{W("fs",e),W("gitdir",n),W("ref",r);let s=new _(e);if(r===void 0)throw new tt("ref");r=r.startsWith("refs/tags/")?r:`refs/tags/${r}`;let l=await Q({fsp:s,dotgit:n}),a=await U.resolve({fs:s,gitdir:l,ref:o||"HEAD"});if(!i&&await U.exists({fs:s,gitdir:l,ref:r}))throw new Yt("tag",r);await U.writeRef({fs:s,gitdir:l,ref:r,value:a})}catch(s){throw s.caller="git.tag",s}}async function i1({fs:e,dir:t,gitdir:n=Y(t,".git"),cache:r={},filepath:o,oid:i,mode:s,add:l,remove:a,force:c}){try{W("fs",e),W("gitdir",n),W("filepath",o);let d=new _(e),u=await Q({fsp:d,dotgit:n});if(a)return await Re.acquire({fs:d,gitdir:u,cache:r},async function(b){if(!c){let f=await d.lstat(Y(t,o));if(f){if(f.isDirectory())throw new Hn("directory");return}}b.has({filepath:o})&&b.delete({filepath:o})});let h;if(!i){if(h=await d.lstat(Y(t,o)),!h)throw new de(`file at "${o}" on disk and "remove" not set`);if(h.isDirectory())throw new Hn("directory")}return await Re.acquire({fs:d,gitdir:u,cache:r},async function(b){if(!l&&!b.has({filepath:o}))throw new de(`file at "${o}" in index and "add" not set`);let f;if(i)f={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:s,uid:0,gid:0,size:0};else{f=h;let A=f.isSymbolicLink()?await d.readlink(Y(t,o)):await d.read(Y(t,o));i=await ot({fs:d,gitdir:u,type:"blob",format:"content",object:A})}return b.insert({filepath:o,oid:i,stats:f}),i})}catch(d){throw d.caller="git.updateIndex",d}}function s1(){try{return td.version}catch(e){throw e.caller="git.version",e}}async function l1({fs:e,dir:t,gitdir:n=Y(t,".git"),trees:r,map:o,reduce:i,iterate:s,cache:l={}}){try{W("fs",e),W("gitdir",n),W("trees",r);let a=new _(e),c=await Q({fsp:a,dotgit:n});return await gn({fs:a,cache:l,dir:t,gitdir:c,trees:r,map:o,reduce:i,iterate:s})}catch(a){throw a.caller="git.walk",a}}async function a1({fs:e,dir:t,gitdir:n=Y(t,".git"),blob:r}){try{W("fs",e),W("gitdir",n),W("blob",r);let o=new _(e),i=await Q({fsp:o,dotgit:n});return await ot({fs:o,gitdir:i,type:"blob",object:r,format:"content"})}catch(o){throw o.caller="git.writeBlob",o}}async function c1({fs:e,dir:t,gitdir:n=Y(t,".git"),commit:r}){try{W("fs",e),W("gitdir",n),W("commit",r);let o=new _(e),i=await Q({fsp:o,dotgit:n});return await jB({fs:o,gitdir:i,commit:r})}catch(o){throw o.caller="git.writeCommit",o}}async function d1({fs:e,dir:t,gitdir:n=Y(t,".git"),type:r,object:o,format:i="parsed",oid:s,encoding:l=void 0}){try{let a=new _(e),c=await Q({fsp:a,dotgit:n});if(i==="parsed"){switch(r){case"commit":o=rt.from(o).toObject();break;case"tree":o=nt.from(o).toObject();break;case"blob":o=Buffer.from(o,l);break;case"tag":o=dt.from(o).toObject();break;default:throw new je(s||"",r,"blob|commit|tag|tree")}i="content"}return s=await ot({fs:a,gitdir:c,type:r,object:o,oid:s,format:i}),s}catch(a){throw a.caller="git.writeObject",a}}async function u1({fs:e,dir:t,gitdir:n=Y(t,".git"),ref:r,value:o,force:i=!1,symbolic:s=!1}){try{W("fs",e),W("gitdir",n),W("ref",r),W("value",o);let l=new _(e);if(!Hs(r,!0))throw new Rt(r,Is.clean(r));let a=await Q({fsp:l,dotgit:n});if(!i&&await U.exists({fs:l,gitdir:a,ref:r}))throw new Yt("ref",r);s?await U.writeSymbolicRef({fs:l,gitdir:a,ref:r,value:o}):(o=await U.resolve({fs:l,gitdir:a,ref:o}),await U.writeRef({fs:l,gitdir:a,ref:r,value:o}))}catch(l){throw l.caller="git.writeRef",l}}async function $z({fs:e,gitdir:t,tag:n}){let r=dt.from(n).toObject();return await ot({fs:e,gitdir:t,type:"tag",object:r,format:"content"})}async function h1({fs:e,dir:t,gitdir:n=Y(t,".git"),tag:r}){try{W("fs",e),W("gitdir",n),W("tag",r);let o=new _(e),i=await Q({fsp:o,dotgit:n});return await $z({fs:o,gitdir:i,tag:r})}catch(o){throw o.caller="git.writeTag",o}}async function b1({fs:e,dir:t,gitdir:n=Y(t,".git"),tree:r}){try{W("fs",e),W("gitdir",n),W("tree",r);let o=new _(e),i=await Q({fsp:o,dotgit:n});return await Ps({fs:o,gitdir:i,tree:r})}catch(o){throw o.caller="git.writeTree",o}}var eD={Errors:XF,STAGE:Kr,TREE:Oe,WORKDIR:jo,add:BF,abortMerge:IF,addNote:wF,addRemote:vF,annotatedTag:JF,branch:kF,cherryPick:KF,checkout:Am,clone:MF,commit:OF,getConfig:dB,getConfigAll:uB,setConfig:OB,currentBranch:jF,deleteBranch:PF,deleteRef:qF,deleteRemote:$F,deleteTag:eB,expandOid:tB,expandRef:nB,fastForward:iB,fetch:sB,findMergeBase:lB,findRoot:cB,getRemoteInfo:hB,getRemoteInfo2:fB,hashBlob:mB,indexPack:AB,init:VB,isDescendent:pB,isIgnored:EB,listBranches:RB,listFiles:SB,listNotes:XB,listRefs:WB,listRemotes:GB,listServerRefs:IB,listTags:NB,log:BB,merge:CB,packObjects:yB,pull:UB,push:wB,readBlob:JB,readCommit:pm,readNote:kB,readObject:_B,readTag:QB,readTree:TB,remove:KB,removeNote:zB,renameBranch:DB,resetIndex:HB,updateIndex:i1,resolveRef:MB,status:t1,statusMatrix:r1,tag:o1,version:s1,walk:l1,writeBlob:a1,writeCommit:c1,writeObject:d1,writeRef:u1,writeTag:h1,writeTree:b1,stash:e1};v.Errors=XF;v.STAGE=Kr;v.TREE=Oe;v.WORKDIR=jo;v.abortMerge=IF;v.add=BF;v.addNote=wF;v.addRemote=vF;v.annotatedTag=JF;v.branch=kF;v.checkout=Am;v.cherryPick=KF;v.clone=MF;v.commit=OF;v.currentBranch=jF;v.default=eD;v.deleteBranch=PF;v.deleteRef=qF;v.deleteRemote=$F;v.deleteTag=eB;v.expandOid=tB;v.expandRef=nB;v.fastForward=iB;v.fetch=sB;v.findMergeBase=lB;v.findRoot=cB;v.getConfig=dB;v.getConfigAll=uB;v.getRemoteInfo=hB;v.getRemoteInfo2=fB;v.hashBlob=mB;v.indexPack=AB;v.init=VB;v.isDescendent=pB;v.isIgnored=EB;v.listBranches=RB;v.listFiles=SB;v.listNotes=XB;v.listRefs=WB;v.listRemotes=GB;v.listServerRefs=IB;v.listTags=NB;v.log=BB;v.merge=CB;v.packObjects=yB;v.pull=UB;v.push=wB;v.readBlob=JB;v.readCommit=pm;v.readNote=kB;v.readObject=_B;v.readTag=QB;v.readTree=TB;v.remove=KB;v.removeNote=zB;v.renameBranch=DB;v.resetIndex=HB;v.resolveRef=MB;v.setConfig=OB;v.stash=e1;v.status=t1;v.statusMatrix=r1;v.tag=o1;v.updateIndex=i1;v.version=s1;v.walk=l1;v.writeBlob=a1;v.writeCommit=c1;v.writeObject=d1;v.writeRef=u1;v.writeTag=h1;v.writeTree=b1});var vm=X(($ee,sd)=>{function F1(e){return Array.isArray(e)?e:[e]}var fD=void 0,Ym="",I1=" ",Cm="\\",mD=/^\s+$/,AD=/(?:[^\\]|^)\\$/,VD=/^\\!/,gD=/^\\#/,pD=/\r?\n/g,ED=/^\.{0,2}\/|^\.{1,2}$/,RD=/\/$/,ni="/",B1="node-ignore";typeof Symbol<"u"&&(B1=Symbol.for("node-ignore"));var C1=B1,ri=(e,t,n)=>(Object.defineProperty(e,t,{value:n}),n),ZD=/([0-z])-([0-z])/g,Y1=()=>!1,SD=e=>e.replace(ZD,(t,n,r)=>n.charCodeAt(0)<=r.charCodeAt(0)?t:Ym),XD=e=>e.startsWith("!")||e.startsWith("\\^")?`^${e.slice(e[0]==="!"?1:2)}`:e,WD=e=>{let{length:t}=e;return e.slice(0,t-t%2)},GD=[[/^\uFEFF/,()=>Ym],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf("\\")===0?I1:Ym)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+I1}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*(?:\\\*\\\*\\\/)+/,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>{let r=n.replace(/\\\*/g,"[^\\/]*");return t+r}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Cm],[/\\\\/g,()=>Cm],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,o)=>t===Cm?`\\[${n}${WD(r)}${o}`:o==="]"&&r.length%2===0?`[${XD(SD(n))}${r}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],ID=/(^|\\\/)?\\\*$/,nl="regex",od="checkRegex",N1="_",ND={[nl](e,t){return`${t?`${t}[^/]+`:"[^/]*"}(?=$|\\/$)`},[od](e,t){return`${t?`${t}[^/]*`:"[^/]*"}(?=$|\\/$)`}},FD=e=>GD.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),id=e=>typeof e=="string",BD=e=>e&&id(e)&&!mD.test(e)&&!AD.test(e)&&e.indexOf("#")!==0,CD=e=>e.split(pD).filter(Boolean),ym=class{constructor(t,n,r,o,i,s){this.pattern=t,this.mark=n,this.negative=i,ri(this,"body",r),ri(this,"ignoreCase",o),ri(this,"regexPrefix",s)}get regex(){let t=N1+nl;return this[t]?this[t]:this._make(nl,t)}get checkRegex(){let t=N1+od;return this[t]?this[t]:this._make(od,t)}_make(t,n){let r=this.regexPrefix.replace(ID,ND[t]),o=this.ignoreCase?new RegExp(r,"i"):new RegExp(r);return ri(this,n,o)}},YD=({pattern:e,mark:t},n)=>{let r=!1,o=e;o.indexOf("!")===0&&(r=!0,o=o.substr(1)),o=o.replace(VD,"!").replace(gD,"#");let i=FD(o);return new ym(e,t,o,n,r,i)},Um=class{constructor(t){this._ignoreCase=t,this._rules=[]}_add(t){if(t&&t[C1]){this._rules=this._rules.concat(t._rules._rules),this._added=!0;return}if(id(t)&&(t={pattern:t}),BD(t.pattern)){let n=YD(t,this._ignoreCase);this._added=!0,this._rules.push(n)}}add(t){return this._added=!1,F1(id(t)?CD(t):t).forEach(this._add,this),this._added}test(t,n,r){let o=!1,i=!1,s;this._rules.forEach(a=>{let{negative:c}=a;i===c&&o!==i||c&&!o&&!i&&!n||!a[r].test(t)||(o=!c,i=c,s=c?fD:a)});let l={ignored:o,unignored:i};return s&&(l.rule=s),l}},yD=(e,t)=>{throw new t(e)},pn=(e,t,n)=>id(e)?e?pn.isNotRelative(e)?n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:n("path must not be empty",TypeError):n(`path must be a string, but got \`${t}\``,TypeError),y1=e=>ED.test(e);pn.isNotRelative=y1;pn.convert=e=>e;var wm=class{constructor({ignorecase:t=!0,ignoreCase:n=t,allowRelativePaths:r=!1}={}){ri(this,C1,!0),this._rules=new Um(n),this._strictPathCheck=!r,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(t){return this._rules.add(t)&&this._initCache(),this}addPattern(t){return this.add(t)}_test(t,n,r,o){let i=t&&pn.convert(t);return pn(i,t,this._strictPathCheck?yD:Y1),this._t(i,n,r,o)}checkIgnore(t){if(!RD.test(t))return this.test(t);let n=t.split(ni).filter(Boolean);if(n.pop(),n.length){let r=this._t(n.join(ni)+ni,this._testCache,!0,n);if(r.ignored)return r}return this._rules.test(t,!1,od)}_t(t,n,r,o){if(t in n)return n[t];if(o||(o=t.split(ni).filter(Boolean)),o.pop(),!o.length)return n[t]=this._rules.test(t,r,nl);let i=this._t(o.join(ni)+ni,n,r,o);return n[t]=i.ignored?i:this._rules.test(t,r,nl)}ignores(t){return this._test(t,this._ignoreCache,!1).ignored}createFilter(){return t=>!this.ignores(t)}filter(t){return F1(t).filter(this.createFilter())}test(t){return this._test(t,this._testCache,!0)}},xm=e=>new wm(e),UD=e=>pn(e&&pn.convert(e),e,Y1),U1=()=>{let e=n=>/^\\\\\?\\/.test(n)||/["<>|\u0000-\u001F]+/u.test(n)?n:n.replace(/\\/g,"/");pn.convert=e;let t=/^[a-z]:\//i;pn.isNotRelative=n=>t.test(n)||y1(n)};typeof process<"u"&&process.platform==="win32"&&U1();sd.exports=xm;xm.default=xm;sd.exports.isPathValid=UD;ri(sd.exports,Symbol.for("setupWindows"),U1)});import{AsyncLocalStorage as aL}from"node:async_hooks";import{parentPort as P1}from"node:worker_threads";import{Buffer as xJ}from"node:buffer";import{randomUUID as PS,randomUUID as vJ}from"node:crypto";function li(e,t){return e!==null&&typeof e=="object"&&"$typeName"in e&&typeof e.$typeName=="string"?t===void 0?!0:t.typeName===e.$typeName:!1}var I;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(I||(I={}));function Om(){let e=0,t=0;for(let r=0;r<28;r+=7){let o=this.buf[this.pos++];if(e|=(o&127)<<r,(o&128)==0)return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,(n&128)==0)return this.assertBounds(),[e,t];for(let r=3;r<=31;r+=7){let o=this.buf[this.pos++];if(t|=(o&127)<<r,(o&128)==0)return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function ll(e,t,n){for(let i=0;i<28;i=i+7){let s=e>>>i,l=!(!(s>>>7)&&t==0),a=(l?s|128:s)&255;if(n.push(a),!l)return}let r=e>>>28&15|(t&7)<<4,o=t>>3!=0;if(n.push((o?r|128:r)&255),!!o){for(let i=3;i<31;i=i+7){let s=t>>>i,l=!!(s>>>7),a=(l?s|128:s)&255;if(n.push(a),!l)return}n.push(t>>>31&1)}}var sl=4294967296;function pd(e){let t=e[0]==="-";t&&(e=e.slice(1));let n=1e6,r=0,o=0;function i(s,l){let a=Number(e.slice(s,l));o*=n,r=r*n+a,r>=sl&&(o=o+(r/sl|0),r=r%sl)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),t?Pm(r,o):Rd(r,o)}function jm(e,t){let n=Rd(e,t),r=n.hi&2147483648;r&&(n=Pm(n.lo,n.hi));let o=Ed(n.lo,n.hi);return r?"-"+o:o}function Ed(e,t){if({lo:e,hi:t}=iC(e,t),t<=2097151)return String(sl*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,o=t>>16&65535,i=n+r*6777216+o*6710656,s=r+o*8147497,l=o*2,a=1e7;return i>=a&&(s+=Math.floor(i/a),i%=a),s>=a&&(l+=Math.floor(s/a),s%=a),l.toString()+Mm(s)+Mm(i)}function iC(e,t){return{lo:e>>>0,hi:t>>>0}}function Rd(e,t){return{lo:e|0,hi:t|0}}function Pm(e,t){return t=~t,e?e=~e+1:t+=1,Rd(e,t)}var Mm=e=>{let t=String(e);return"0000000".slice(t.length)+t};function Zd(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e=e>>>7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e=e>>7;t.push(1)}}function qm(){let e=this.buf[this.pos++],t=e&127;if((e&128)==0)return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<7,(e&128)==0)return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<14,(e&128)==0)return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<21,(e&128)==0)return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;(e&128)!==0&&n<10;n++)e=this.buf[this.pos++];if((e&128)!=0)throw new Error("invalid varint");return this.assertBounds(),t>>>0}var ae=sC();function sC(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){let n=BigInt("-9223372036854775808"),r=BigInt("9223372036854775807"),o=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let l=typeof s=="bigint"?s:BigInt(s);if(l>r||l<n)throw new Error(`invalid int64: ${s}`);return l},uParse(s){let l=typeof s=="bigint"?s:BigInt(s);if(l>i||l<o)throw new Error(`invalid uint64: ${s}`);return l},enc(s){return e.setBigInt64(0,this.parse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(s){return e.setBigInt64(0,this.uParse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(s,l){return e.setInt32(0,s,!0),e.setInt32(4,l,!0),e.getBigInt64(0,!0)},uDec(s,l){return e.setInt32(0,s,!0),e.setInt32(4,l,!0),e.getBigUint64(0,!0)}}}return{zero:"0",supported:!1,parse(n){return typeof n!="string"&&(n=n.toString()),$m(n),n},uParse(n){return typeof n!="string"&&(n=n.toString()),eA(n),n},enc(n){return typeof n!="string"&&(n=n.toString()),$m(n),pd(n)},uEnc(n){return typeof n!="string"&&(n=n.toString()),eA(n),pd(n)},dec(n,r){return jm(n,r)},uDec(n,r){return Ed(n,r)}}}function $m(e){if(!/^-?[0-9]+$/.test(e))throw new Error("invalid int64: "+e)}function eA(e){if(!/^[0-9]+$/.test(e))throw new Error("invalid uint64: "+e)}function st(e,t){switch(e){case I.STRING:return"";case I.BOOL:return!1;case I.DOUBLE:case I.FLOAT:return 0;case I.INT64:case I.UINT64:case I.SFIXED64:case I.FIXED64:case I.SINT64:return t?"0":ae.zero;case I.BYTES:return new Uint8Array(0);default:return 0}}function tA(e,t){switch(e){case I.BOOL:return t===!1;case I.STRING:return t==="";case I.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var nA=2,Zt=Symbol.for("reflect unsafe local");function al(e,t){let n=e[t.localName].case;return n===void 0?n:t.fields.find(r=>r.localName===n)}function rA(e,t){let n=t.localName;if(t.oneof)return e[t.oneof.localName].case===n;if(t.presence!=nA)return e[n]!==void 0&&Object.prototype.hasOwnProperty.call(e,n);switch(t.fieldKind){case"list":return e[n].length>0;case"map":return Object.keys(e[n]).length>0;case"scalar":return!tA(t.scalar,e[n]);case"enum":return e[n]!==t.enum.values[0].number}throw new Error("message field with implicit presence")}function tr(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==void 0}function cl(e,t){if(t.oneof){let n=e[t.oneof.localName];return n.case===t.localName?n.value:void 0}return e[t.localName]}function dl(e,t,n){t.oneof?e[t.oneof.localName]={case:t.localName,value:n}:e[t.localName]=n}function oA(e,t){let n=t.localName;if(t.oneof){let r=t.oneof.localName;e[r].case===n&&(e[r]={case:void 0})}else if(t.presence!=nA)delete e[n];else switch(t.fieldKind){case"map":e[n]={};break;case"list":e[n]=[];break;case"enum":e[n]=t.enum.values[0].number;break;case"scalar":e[n]=st(t.scalar,t.longAsString);break}}function yt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function ai(e,t){var n,r,o,i;if(yt(e)&&Zt in e&&"add"in e&&"field"in e&&typeof e.field=="function"){if(t!==void 0){let s=t,l=e.field();return s.listKind==l.listKind&&s.scalar===l.scalar&&((n=s.message)===null||n===void 0?void 0:n.typeName)===((r=l.message)===null||r===void 0?void 0:r.typeName)&&((o=s.enum)===null||o===void 0?void 0:o.typeName)===((i=l.enum)===null||i===void 0?void 0:i.typeName)}return!0}return!1}function ci(e,t){var n,r,o,i;if(yt(e)&&Zt in e&&"has"in e&&"field"in e&&typeof e.field=="function"){if(t!==void 0){let s=t,l=e.field();return s.mapKey===l.mapKey&&s.mapKind==l.mapKind&&s.scalar===l.scalar&&((n=s.message)===null||n===void 0?void 0:n.typeName)===((r=l.message)===null||r===void 0?void 0:r.typeName)&&((o=s.enum)===null||o===void 0?void 0:o.typeName)===((i=l.enum)===null||i===void 0?void 0:i.typeName)}return!0}return!1}function di(e,t){return yt(e)&&Zt in e&&"desc"in e&&yt(e.desc)&&e.desc.kind==="message"&&(t===void 0||e.desc.typeName==t.typeName)}function iA(e){return sA(e.$typeName)}function Ut(e){let t=e.fields[0];return sA(e.typeName)&&t!==void 0&&t.fieldKind=="scalar"&&t.name=="value"&&t.number==1}function sA(e){return e.startsWith("google.protobuf.")&&["DoubleValue","FloatValue","Int64Value","UInt64Value","Int32Value","UInt32Value","BoolValue","StringValue","BytesValue"].includes(e.substring(16))}var lC=999,aC=998,ul=2;function Je(e,t){if(li(t,e))return t;let n=bC(e);return t!==void 0&&cC(e,n,t),n}function cC(e,t,n){for(let r of e.members){let o=n[r.localName];if(o==null)continue;let i;if(r.kind=="oneof"){let s=al(n,r);if(!s)continue;i=s,o=cl(n,s)}else i=r;switch(i.fieldKind){case"message":o=Xd(i,o);break;case"scalar":o=cA(i,o);break;case"list":o=uC(i,o);break;case"map":o=dC(i,o);break}dl(t,i,o)}return t}function cA(e,t){return e.scalar==I.BYTES?Wd(t):t}function dC(e,t){if(yt(t)){if(e.scalar==I.BYTES)return lA(t,Wd);if(e.mapKind=="message")return lA(t,n=>Xd(e,n))}return t}function uC(e,t){if(Array.isArray(t)){if(e.scalar==I.BYTES)return t.map(Wd);if(e.listKind=="message")return t.map(n=>Xd(e,n))}return t}function Xd(e,t){if(e.fieldKind=="message"&&!e.oneof&&Ut(e.message))return cA(e.message.fields[0],t);if(yt(t)){if(e.message.typeName=="google.protobuf.Struct"&&e.parent.typeName!=="google.protobuf.Value")return t;if(!li(t,e.message))return Je(e.message,t)}return t}function Wd(e){return Array.isArray(e)?new Uint8Array(e):e}function lA(e,t){let n={};for(let r of Object.entries(e))n[r[0]]=t(r[1]);return n}var hC=Symbol(),aA=new WeakMap;function bC(e){let t;if(fC(e)){let n=aA.get(e),r,o;if(n)({prototype:r,members:o}=n);else{r={},o=new Set;for(let i of e.members)i.kind!="oneof"&&(i.fieldKind!="scalar"&&i.fieldKind!="enum"||i.presence!=ul&&(o.add(i),r[i.localName]=Sd(i)));aA.set(e,{prototype:r,members:o})}t=Object.create(r),t.$typeName=e.typeName;for(let i of e.members)o.has(i)||i.kind=="field"&&(i.fieldKind=="message"||(i.fieldKind=="scalar"||i.fieldKind=="enum")&&i.presence!=ul)||(t[i.localName]=Sd(i))}else{t={$typeName:e.typeName};for(let n of e.members)(n.kind=="oneof"||n.presence==ul)&&(t[n.localName]=Sd(n))}return t}function fC(e){switch(e.file.edition){case lC:return!1;case aC:return!0;default:return e.fields.some(t=>t.presence!=ul&&t.fieldKind!="message"&&!t.oneof)}}function Sd(e){if(e.kind=="oneof")return{case:void 0};if(e.fieldKind=="list")return[];if(e.fieldKind=="map")return{};if(e.fieldKind=="message")return hC;let t=e.getDefaultValue();return t!==void 0?e.fieldKind=="scalar"&&e.longAsString?t.toString():t:e.fieldKind=="scalar"?st(e.scalar,e.longAsString):e.enum.values[0].number}var mC=["FieldValueInvalidError","FieldListRangeError","ForeignFieldError"],Ie=class extends Error{constructor(t,n,r="FieldValueInvalidError"){super(n),this.name=r,this.field=()=>t}};function dA(e){return e instanceof Error&&mC.includes(e.name)&&"field"in e&&typeof e.field=="function"}var Gd=Symbol.for("@bufbuild/protobuf/text-encoding");function ui(){if(globalThis[Gd]==null){let e=new globalThis.TextEncoder,t=new globalThis.TextDecoder;globalThis[Gd]={encodeUtf8(n){return e.encode(n)},decodeUtf8(n){return t.decode(n)},checkUtf8(n){try{return encodeURIComponent(n),!0}catch{return!1}}}}return globalThis[Gd]}var me;(function(e){e[e.Varint=0]="Varint",e[e.Bit64=1]="Bit64",e[e.LengthDelimited=2]="LengthDelimited",e[e.StartGroup=3]="StartGroup",e[e.EndGroup=4]="EndGroup",e[e.Bit32=5]="Bit32"})(me||(me={}));var Nd=34028234663852886e22,Fd=-34028234663852886e22,Bd=4294967295,Cd=2147483647,Yd=-2147483648,Zn=class{constructor(t=ui().encodeUtf8){this.encodeUtf8=t,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let t=0;for(let o=0;o<this.chunks.length;o++)t+=this.chunks[o].length;let n=new Uint8Array(t),r=0;for(let o=0;o<this.chunks.length;o++)n.set(this.chunks[o],r),r+=this.chunks[o].length;return this.chunks=[],n}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let t=this.finish(),n=this.stack.pop();if(!n)throw new Error("invalid state, fork stack empty");return this.chunks=n.chunks,this.buf=n.buf,this.uint32(t.byteLength),this.raw(t)}tag(t,n){return this.uint32((t<<3|n)>>>0)}raw(t){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(t),this}uint32(t){for(uA(t);t>127;)this.buf.push(t&127|128),t=t>>>7;return this.buf.push(t),this}int32(t){return Id(t),Zd(t,this.buf),this}bool(t){return this.buf.push(t?1:0),this}bytes(t){return this.uint32(t.byteLength),this.raw(t)}string(t){let n=this.encodeUtf8(t);return this.uint32(n.byteLength),this.raw(n)}float(t){AC(t);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,t,!0),this.raw(n)}double(t){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,t,!0),this.raw(n)}fixed32(t){uA(t);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,t,!0),this.raw(n)}sfixed32(t){Id(t);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,t,!0),this.raw(n)}sint32(t){return Id(t),t=(t<<1^t>>31)>>>0,Zd(t,this.buf),this}sfixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),o=ae.enc(t);return r.setInt32(0,o.lo,!0),r.setInt32(4,o.hi,!0),this.raw(n)}fixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),o=ae.uEnc(t);return r.setInt32(0,o.lo,!0),r.setInt32(4,o.hi,!0),this.raw(n)}int64(t){let n=ae.enc(t);return ll(n.lo,n.hi,this.buf),this}sint64(t){let n=ae.enc(t),r=n.hi>>31,o=n.lo<<1^r,i=(n.hi<<1|n.lo>>>31)^r;return ll(o,i,this.buf),this}uint64(t){let n=ae.uEnc(t);return ll(n.lo,n.hi,this.buf),this}},nr=class{constructor(t,n=ui().decodeUtf8){this.decodeUtf8=n,this.varint64=Om,this.uint32=qm,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength)}tag(){let t=this.uint32(),n=t>>>3,r=t&7;if(n<=0||r<0||r>5)throw new Error("illegal tag: field no "+n+" wire type "+r);return[n,r]}skip(t,n){let r=this.pos;switch(t){case me.Varint:for(;this.buf[this.pos++]&128;);break;case me.Bit64:this.pos+=4;case me.Bit32:this.pos+=4;break;case me.LengthDelimited:let o=this.uint32();this.pos+=o;break;case me.StartGroup:for(;;){let[i,s]=this.tag();if(s===me.EndGroup){if(n!==void 0&&i!==n)throw new Error("invalid end group tag");break}this.skip(s,i)}break;default:throw new Error("cant skip wire type "+t)}return this.assertBounds(),this.buf.subarray(r,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)}int64(){return ae.dec(...this.varint64())}uint64(){return ae.uDec(...this.varint64())}sint64(){let[t,n]=this.varint64(),r=-(t&1);return t=(t>>>1|(n&1)<<31)^r,n=n>>>1^r,ae.dec(t,n)}bool(){let[t,n]=this.varint64();return t!==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 ae.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return ae.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 t=this.uint32(),n=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(n,n+t)}string(){return this.decodeUtf8(this.bytes())}};function Id(e){if(typeof e=="string")e=Number(e);else if(typeof e!="number")throw new Error("invalid int32: "+typeof e);if(!Number.isInteger(e)||e>Cd||e<Yd)throw new Error("invalid int32: "+e)}function uA(e){if(typeof e=="string")e=Number(e);else if(typeof e!="number")throw new Error("invalid uint32: "+typeof e);if(!Number.isInteger(e)||e>Bd||e<0)throw new Error("invalid uint32: "+e)}function AC(e){if(typeof e=="string"){let t=e;if(e=Number(e),Number.isNaN(e)&&t!=="NaN")throw new Error("invalid float32: "+t)}else if(typeof e!="number")throw new Error("invalid float32: "+typeof e);if(Number.isFinite(e)&&(e>Nd||e<Fd))throw new Error("invalid float32: "+e)}function en(e,t){let n=e.fieldKind=="list"?ai(t,e):e.fieldKind=="map"?ci(t,e):Ud(e,t);if(n===!0)return;let r;switch(e.fieldKind){case"list":r=`expected ${mA(e)}, got ${We(t)}`;break;case"map":r=`expected ${AA(e)}, got ${We(t)}`;break;default:r=hl(e,t,n)}return new Ie(e,r)}function yd(e,t,n){let r=Ud(e,n);if(r!==!0)return new Ie(e,`list item #${t+1}: ${hl(e,n,r)}`)}function hA(e,t,n){let r=bA(t,e.mapKey);if(r!==!0)return new Ie(e,`invalid map key: ${hl({scalar:e.mapKey},t,r)}`);let o=Ud(e,n);if(o!==!0)return new Ie(e,`map entry ${We(t)}: ${hl(e,n,o)}`)}function Ud(e,t){return e.scalar!==void 0?bA(t,e.scalar):e.enum!==void 0?e.enum.open?Number.isInteger(t):e.enum.values.some(n=>n.number===t):di(t,e.message)}function bA(e,t){switch(t){case I.DOUBLE:return typeof e=="number";case I.FLOAT:return typeof e!="number"?!1:Number.isNaN(e)||!Number.isFinite(e)?!0:e>Nd||e<Fd?`${e.toFixed()} out of range`:!0;case I.INT32:case I.SFIXED32:case I.SINT32:return typeof e!="number"||!Number.isInteger(e)?!1:e>Cd||e<Yd?`${e.toFixed()} out of range`:!0;case I.FIXED32:case I.UINT32:return typeof e!="number"||!Number.isInteger(e)?!1:e>Bd||e<0?`${e.toFixed()} out of range`:!0;case I.BOOL:return typeof e=="boolean";case I.STRING:return typeof e!="string"?!1:ui().checkUtf8(e)||"invalid UTF8";case I.BYTES:return e instanceof Uint8Array;case I.INT64:case I.SFIXED64:case I.SINT64:if(typeof e=="bigint"||typeof e=="number"||typeof e=="string"&&e.length>0)try{return ae.parse(e),!0}catch{return`${e} out of range`}return!1;case I.FIXED64:case I.UINT64:if(typeof e=="bigint"||typeof e=="number"||typeof e=="string"&&e.length>0)try{return ae.uParse(e),!0}catch{return`${e} out of range`}return!1}}function hl(e,t,n){return n=typeof n=="string"?`: ${n}`:`, got ${We(t)}`,e.scalar!==void 0?`expected ${VC(e.scalar)}`+n:e.enum!==void 0?`expected ${e.enum.toString()}`+n:`expected ${fA(e.message)}`+n}function We(e){switch(typeof e){case"object":return e===null?"null":e instanceof Uint8Array?`Uint8Array(${e.length})`:Array.isArray(e)?`Array(${e.length})`:ai(e)?mA(e.field()):ci(e)?AA(e.field()):di(e)?fA(e.desc):li(e)?`message ${e.$typeName}`:"object";case"string":return e.length>30?"string":`"${e.split('"').join('\\"')}"`;case"boolean":return String(e);case"number":return String(e);case"bigint":return String(e)+"n";default:return typeof e}}function fA(e){return`ReflectMessage (${e.typeName})`}function mA(e){switch(e.listKind){case"message":return`ReflectList (${e.message.toString()})`;case"enum":return`ReflectList (${e.enum.toString()})`;case"scalar":return`ReflectList (${I[e.scalar]})`}}function AA(e){switch(e.mapKind){case"message":return`ReflectMap (${I[e.mapKey]}, ${e.message.toString()})`;case"enum":return`ReflectMap (${I[e.mapKey]}, ${e.enum.toString()})`;case"scalar":return`ReflectMap (${I[e.mapKey]}, ${I[e.scalar]})`}}function VC(e){switch(e){case I.STRING:return"string";case I.BOOL:return"boolean";case I.INT64:case I.SINT64:case I.SFIXED64:return"bigint (int64)";case I.UINT64:case I.FIXED64:return"bigint (uint64)";case I.BYTES:return"Uint8Array";case I.DOUBLE:return"number (float64)";case I.FLOAT:return"number (float32)";case I.FIXED32:case I.UINT32:return"number (uint32)";case I.INT32:case I.SFIXED32:case I.SINT32:return"number (int32)"}}function ke(e,t,n=!0){return new fl(e,t,n)}var fl=class{get sortedFields(){var t;return(t=this._sortedFields)!==null&&t!==void 0?t:this._sortedFields=this.desc.fields.concat().sort((n,r)=>n.number-r.number)}constructor(t,n,r=!0){this.lists=new Map,this.maps=new Map,this.check=r,this.desc=t,this.message=this[Zt]=n??Je(t),this.fields=t.fields,this.oneofs=t.oneofs,this.members=t.members}findNumber(t){return this._fieldsByNumber||(this._fieldsByNumber=new Map(this.desc.fields.map(n=>[n.number,n]))),this._fieldsByNumber.get(t)}oneofCase(t){return hi(this.message,t),al(this.message,t)}isSet(t){return hi(this.message,t),rA(this.message,t)}clear(t){hi(this.message,t),oA(this.message,t)}get(t){hi(this.message,t);let n=cl(this.message,t);switch(t.fieldKind){case"list":let r=this.lists.get(t);return(!r||r[Zt]!==n)&&this.lists.set(t,r=new vd(t,n,this.check)),r;case"map":let o=this.maps.get(t);return(!o||o[Zt]!==n)&&this.maps.set(t,o=new Jd(t,n,this.check)),o;case"message":return _d(t,n,this.check);case"scalar":return n===void 0?st(t.scalar,!1):Qd(t,n);case"enum":return n??t.enum.values[0].number}}set(t,n){if(hi(this.message,t),this.check){let o=en(t,n);if(o)throw o}let r;t.fieldKind=="message"?r=kd(t,n):ci(n)||ai(n)?r=n[Zt]:r=Td(t,n),dl(this.message,t,r)}getUnknown(){return this.message.$unknown}setUnknown(t){this.message.$unknown=t}};function hi(e,t){if(t.parent.typeName!==e.$typeName)throw new Ie(t,`cannot use ${t.toString()} with message ${e.$typeName}`,"ForeignFieldError")}var vd=class{field(){return this._field}get size(){return this._arr.length}constructor(t,n,r){this._field=t,this._arr=this[Zt]=n,this.check=r}get(t){let n=this._arr[t];return n===void 0?void 0:wd(this._field,n,this.check)}set(t,n){if(t<0||t>=this._arr.length)throw new Ie(this._field,`list item #${t+1}: out of range`);if(this.check){let r=yd(this._field,t,n);if(r)throw r}this._arr[t]=VA(this._field,n)}add(t){if(this.check){let n=yd(this._field,this._arr.length,t);if(n)throw n}this._arr.push(VA(this._field,t))}clear(){this._arr.splice(0,this._arr.length)}[Symbol.iterator](){return this.values()}keys(){return this._arr.keys()}*values(){for(let t of this._arr)yield wd(this._field,t,this.check)}*entries(){for(let t=0;t<this._arr.length;t++)yield[t,wd(this._field,this._arr[t],this.check)]}};var Jd=class{constructor(t,n,r=!0){this.obj=this[Zt]=n??{},this.check=r,this._field=t}field(){return this._field}set(t,n){if(this.check){let r=hA(this._field,t,n);if(r)throw r}return this.obj[bl(t)]=gC(this._field,n),this}delete(t){let n=bl(t),r=Object.prototype.hasOwnProperty.call(this.obj,n);return r&&delete this.obj[n],r}clear(){for(let t of Object.keys(this.obj))delete this.obj[t]}get(t){let n=this.obj[bl(t)];return n!==void 0&&(n=xd(this._field,n,this.check)),n}has(t){return Object.prototype.hasOwnProperty.call(this.obj,bl(t))}*keys(){for(let t of Object.keys(this.obj))yield gA(t,this._field.mapKey)}*entries(){for(let t of Object.entries(this.obj))yield[gA(t[0],this._field.mapKey),xd(this._field,t[1],this.check)]}[Symbol.iterator](){return this.entries()}get size(){return Object.keys(this.obj).length}*values(){for(let t of Object.values(this.obj))yield xd(this._field,t,this.check)}forEach(t,n){for(let r of this.entries())t.call(n,r[1],r[0],this)}};function kd(e,t){return di(t)?iA(t.message)&&!e.oneof&&e.fieldKind=="message"?t.message.value:t.desc.typeName=="google.protobuf.Struct"&&e.parent.typeName!="google.protobuf.Value"?EA(t.message):t.message:t}function _d(e,t,n){return t!==void 0&&(Ut(e.message)&&!e.oneof&&e.fieldKind=="message"?t={$typeName:e.message.typeName,value:Qd(e.message.fields[0],t)}:e.message.typeName=="google.protobuf.Struct"&&e.parent.typeName!="google.protobuf.Value"&&yt(t)&&(t=pA(t))),new fl(e.message,t,n)}function VA(e,t){return e.listKind=="message"?kd(e,t):Td(e,t)}function wd(e,t,n){return e.listKind=="message"?_d(e,t,n):Qd(e,t)}function gC(e,t){return e.mapKind=="message"?kd(e,t):Td(e,t)}function xd(e,t,n){return e.mapKind=="message"?_d(e,t,n):t}function bl(e){return typeof e=="string"||typeof e=="number"?e:String(e)}function gA(e,t){switch(t){case I.STRING:return e;case I.INT32:case I.FIXED32:case I.UINT32:case I.SFIXED32:case I.SINT32:{let n=Number.parseInt(e);if(Number.isFinite(n))return n;break}case I.BOOL:switch(e){case"true":return!0;case"false":return!1}break;case I.UINT64:case I.FIXED64:try{return ae.uParse(e)}catch{}break;default:try{return ae.parse(e)}catch{}break}return e}function Qd(e,t){switch(e.scalar){case I.INT64:case I.SFIXED64:case I.SINT64:"longAsString"in e&&e.longAsString&&typeof t=="string"&&(t=ae.parse(t));break;case I.FIXED64:case I.UINT64:"longAsString"in e&&e.longAsString&&typeof t=="string"&&(t=ae.uParse(t));break}return t}function Td(e,t){switch(e.scalar){case I.INT64:case I.SFIXED64:case I.SINT64:"longAsString"in e&&e.longAsString?t=String(t):(typeof t=="string"||typeof t=="number")&&(t=ae.parse(t));break;case I.FIXED64:case I.UINT64:"longAsString"in e&&e.longAsString?t=String(t):(typeof t=="string"||typeof t=="number")&&(t=ae.uParse(t));break}return t}function pA(e){let t={$typeName:"google.protobuf.Struct",fields:{}};if(yt(e))for(let[n,r]of Object.entries(e))t.fields[n]=ZA(r);return t}function EA(e){let t={};for(let[n,r]of Object.entries(e.fields))t[n]=RA(r);return t}function RA(e){switch(e.kind.case){case"structValue":return EA(e.kind.value);case"listValue":return e.kind.value.values.map(RA);case"nullValue":case void 0:return null;default:return e.kind.value}}function ZA(e){let t={$typeName:"google.protobuf.Value",kind:{case:void 0}};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:0};else if(Array.isArray(e)){let n={$typeName:"google.protobuf.ListValue",values:[]};if(Array.isArray(e))for(let r of e)n.values.push(ZA(r));t.kind={case:"listValue",value:n}}else t.kind={case:"structValue",value:pA(e)};break}return t}function Hr(e){let t=pC(),n=e.length*3/4;e[e.length-2]=="="?n-=2:e[e.length-1]=="="&&(n-=1);let r=new Uint8Array(n),o=0,i=0,s,l=0;for(let a=0;a<e.length;a++){if(s=t[e.charCodeAt(a)],s===void 0)switch(e[a]){case"=":i=0;case`
127
- `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(i){case 0:l=s,i=1;break;case 1:r[o++]=l<<2|(s&48)>>4,l=s,i=2;break;case 2:r[o++]=(l&15)<<4|(s&60)>>2,l=s,i=3;break;case 3:r[o++]=(l&3)<<6|s,i=0;break}}if(i==1)throw Error("invalid base64 string");return r.subarray(0,o)}function bi(e,t="std"){let n=XA(t),r=t=="std",o="",i=0,s,l=0;for(let a=0;a<e.length;a++)switch(s=e[a],i){case 0:o+=n[s>>2],l=(s&3)<<4,i=1;break;case 1:o+=n[l|s>>4],l=(s&15)<<2,i=2;break;case 2:o+=n[l|s>>6],o+=n[s&63],i=0;break}return i&&(o+=n[l],r&&(o+="=",i==1&&(o+="="))),o}var ml,SA,Lr;function XA(e){return ml||(ml="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),SA=ml.slice(0,-2).concat("-","_")),e=="url"?SA:ml}function pC(){if(!Lr){Lr=[];let e=XA("std");for(let t=0;t<e.length;t++)Lr[e[t].charCodeAt(0)]=t;Lr[45]=e.indexOf("+"),Lr[95]=e.indexOf("/")}return Lr}function Sn(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=e.charAt(r);switch(o){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o);break}}return n.join("")}var EC=new Set(["constructor","toString","toJSON","valueOf"]);function Mr(e){return EC.has(e)?e+"$":e}function fi(e){for(let t of e.field)tr(t,"jsonName")||(t.jsonName=Sn(t.name));e.nestedType.forEach(fi)}function WA(e,t){let n=e.values.find(r=>r.name===t);if(!n)throw new Error(`cannot parse ${e} default value: ${t}`);return n.number}function GA(e,t){switch(e){case I.STRING:return t;case I.BYTES:{let n=RC(t);if(n===!1)throw new Error(`cannot parse ${I[e]} default value: ${t}`);return n}case I.INT64:case I.SFIXED64:case I.SINT64:return ae.parse(t);case I.UINT64:case I.FIXED64:return ae.uParse(t);case I.DOUBLE:case I.FLOAT:switch(t){case"inf":return Number.POSITIVE_INFINITY;case"-inf":return Number.NEGATIVE_INFINITY;case"nan":return Number.NaN;default:return parseFloat(t)}case I.BOOL:return t==="true";case I.INT32:case I.UINT32:case I.SINT32:case I.FIXED32:case I.SFIXED32:return parseInt(t,10)}}function RC(e){let t=[],n={tail:e,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(r){if(this.tail.length>=r){let o=this.tail.substring(0,r);return this.tail=this.tail.substring(r),o}return!1}};for(;n.next();)switch(n.c){case"\\":if(n.next())switch(n.c){case"\\":t.push(n.c.charCodeAt(0));break;case"b":t.push(8);break;case"f":t.push(12);break;case"n":t.push(10);break;case"r":t.push(13);break;case"t":t.push(9);break;case"v":t.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let r=n.c,o=n.take(2);if(o===!1)return!1;let i=parseInt(r+o,8);if(Number.isNaN(i))return!1;t.push(i);break}case"x":{let r=n.c,o=n.take(2);if(o===!1)return!1;let i=parseInt(r+o,16);if(Number.isNaN(i))return!1;t.push(i);break}case"u":{let r=n.c,o=n.take(4);if(o===!1)return!1;let i=parseInt(r+o,16);if(Number.isNaN(i))return!1;let s=new Uint8Array(4);new DataView(s.buffer).setInt32(0,i,!0),t.push(s[0],s[1],s[2],s[3]);break}case"U":{let r=n.c,o=n.take(8);if(o===!1)return!1;let i=ae.uEnc(r+o),s=new Uint8Array(8),l=new DataView(s.buffer);l.setInt32(0,i.lo,!0),l.setInt32(4,i.hi,!0),t.push(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7]);break}}break;default:t.push(n.c.charCodeAt(0))}return new Uint8Array(t)}function*Al(e){switch(e.kind){case"file":for(let t of e.messages)yield t,yield*Al(t);yield*e.enums,yield*e.services,yield*e.extensions;break;case"message":for(let t of e.nestedMessages)yield t,yield*Al(t);yield*e.nestedEnums,yield*e.nestedExtensions;break}}function Vl(...e){let t=ZC();if(!e.length)return t;if("$typeName"in e[0]&&e[0].$typeName=="google.protobuf.FileDescriptorSet"){for(let n of e[0].file)BA(n,t);return t}if("$typeName"in e[0]){let i=function(s){let l=[];for(let a of s.dependency){if(t.getFile(a)!=null||o.has(a))continue;let c=r(a);if(!c)throw new Error(`Unable to resolve ${a}, imported by ${s.name}`);"kind"in c?t.addFile(c,!1,!0):(o.add(c.name),l.push(c))}return l.concat(...l.map(i))},n=e[0],r=e[1],o=new Set;for(let s of[n,...i(n)].reverse())BA(s,t)}else for(let n of e)for(let r of n.files)t.addFile(r);return t}function ZC(){let e=new Map,t=new Map,n=new Map;return{kind:"registry",types:e,extendees:t,[Symbol.iterator](){return e.values()},get files(){return n.values()},addFile(r,o,i){if(n.set(r.proto.name,r),!o)for(let s of Al(r))this.add(s);if(i)for(let s of r.dependencies)this.addFile(s,o,i)},add(r){if(r.kind=="extension"){let o=t.get(r.extendee.typeName);o||t.set(r.extendee.typeName,o=new Map),o.set(r.number,r)}e.set(r.typeName,r)},get(r){return e.get(r)},getFile(r){return n.get(r)},getMessage(r){let o=e.get(r);return o?.kind=="message"?o:void 0},getEnum(r){let o=e.get(r);return o?.kind=="enum"?o:void 0},getExtension(r){let o=e.get(r);return o?.kind=="extension"?o:void 0},getExtensionFor(r,o){var i;return(i=t.get(r.typeName))===null||i===void 0?void 0:i.get(o)},getService(r){let o=e.get(r);return o?.kind=="service"?o:void 0}}}var SC=998,XC=999,WC=9,Ai=10,mi=11,GC=12,IA=14,Hd=3,IC=2,NA=1,NC=0,Kd=1,FA=2,FC=3,BC=1,CC=2,YC=1;var YA={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}};function BA(e,t){var n,r;let o={kind:"file",proto:e,deprecated:(r=(n=e.options)===null||n===void 0?void 0:n.deprecated)!==null&&r!==void 0?r:!1,edition:xC(e),name:e.name.replace(/\.proto$/,""),dependencies:vC(e,t),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${e.name}`}},i=new Map,s={get(l){return i.get(l)},add(l){var a;St(((a=l.proto.options)===null||a===void 0?void 0:a.mapEntry)===!0),i.set(l.typeName,l)}};for(let l of e.enumType)yA(l,o,void 0,t);for(let l of e.messageType)UA(l,o,void 0,t,s);for(let l of e.service)yC(l,o,t);zd(o,t);for(let l of i.values())Dd(l,t,s);for(let l of o.messages)Dd(l,t,s),zd(l,t);t.addFile(o,!0)}function zd(e,t){switch(e.kind){case"file":for(let n of e.proto.extension){let r=Ld(n,e,t);e.extensions.push(r),t.add(r)}break;case"message":for(let n of e.proto.extension){let r=Ld(n,e,t);e.nestedExtensions.push(r),t.add(r)}for(let n of e.nestedMessages)zd(n,t);break}}function Dd(e,t,n){let r=e.proto.oneofDecl.map(i=>wC(i,e)),o=new Set;for(let i of e.proto.field){let s=_C(i,r),l=Ld(i,e,t,s,n);e.fields.push(l),e.field[l.localName]=l,s===void 0?e.members.push(l):(s.fields.push(l),o.has(s)||(o.add(s),e.members.push(s)))}for(let i of r.filter(s=>o.has(s)))e.oneofs.push(i);for(let i of e.nestedMessages)Dd(i,t,n)}function yA(e,t,n,r){var o,i,s,l,a;let c=JC(e.name,e.value),d={kind:"enum",proto:e,deprecated:(i=(o=e.options)===null||o===void 0?void 0:o.deprecated)!==null&&i!==void 0?i:!1,file:t,parent:n,open:!0,name:e.name,typeName:gl(e,n,t),value:{},values:[],sharedPrefix:c,toString(){return`enum ${this.typeName}`}};d.open=zC(d),r.add(d);for(let u of e.value){let h=u.name;d.values.push(d.value[u.number]={kind:"enum_value",proto:u,deprecated:(l=(s=u.options)===null||s===void 0?void 0:s.deprecated)!==null&&l!==void 0?l:!1,parent:d,name:h,localName:Mr(c==null?h:h.substring(c.length)),number:u.number,toString(){return`enum value ${d.typeName}.${h}`}})}((a=n?.nestedEnums)!==null&&a!==void 0?a:t.enums).push(d)}function UA(e,t,n,r,o){var i,s,l,a;let c={kind:"message",proto:e,deprecated:(s=(i=e.options)===null||i===void 0?void 0:i.deprecated)!==null&&s!==void 0?s:!1,file:t,parent:n,name:e.name,typeName:gl(e,n,t),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((l=e.options)===null||l===void 0?void 0:l.mapEntry)===!0?o.add(c):(((a=n?.nestedMessages)!==null&&a!==void 0?a:t.messages).push(c),r.add(c));for(let d of e.enumType)yA(d,t,c,r);for(let d of e.nestedType)UA(d,t,c,r,o)}function yC(e,t,n){var r,o;let i={kind:"service",proto:e,deprecated:(o=(r=e.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,file:t,name:e.name,typeName:gl(e,void 0,t),methods:[],method:{},toString(){return`service ${this.typeName}`}};t.services.push(i),n.add(i);for(let s of e.method){let l=UC(s,i,n);i.methods.push(l),i.method[l.localName]=l}}function UC(e,t,n){var r,o,i,s;let l;e.clientStreaming&&e.serverStreaming?l="bidi_streaming":e.clientStreaming?l="client_streaming":e.serverStreaming?l="server_streaming":l="unary";let a=n.getMessage(tn(e.inputType)),c=n.getMessage(tn(e.outputType));St(a,`invalid MethodDescriptorProto: input_type ${e.inputType} not found`),St(c,`invalid MethodDescriptorProto: output_type ${e.inputType} not found`);let d=e.name;return{kind:"rpc",proto:e,deprecated:(o=(r=e.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,parent:t,name:d,localName:Mr(d.length?Mr(d[0].toLowerCase()+d.substring(1)):d),methodKind:l,input:a,output:c,idempotency:(s=(i=e.options)===null||i===void 0?void 0:i.idempotencyLevel)!==null&&s!==void 0?s:NC,toString(){return`rpc ${t.typeName}.${d}`}}}function wC(e,t){return{kind:"oneof",proto:e,deprecated:!1,parent:t,fields:[],name:e.name,localName:Mr(Sn(e.name)),toString(){return`oneof ${t.typeName}.${this.name}`}}}function Ld(e,t,n,r,o){var i,s,l;let a=o===void 0,c={kind:"field",proto:e,deprecated:(s=(i=e.options)===null||i===void 0?void 0:i.deprecated)!==null&&s!==void 0?s:!1,name:e.name,number:e.number,scalar:void 0,message:void 0,enum:void 0,presence:QC(e,r,a,t),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(a){let b=t.kind=="file"?t:t.file,f=t.kind=="file"?void 0:t,A=gl(e,f,b);c.kind="extension",c.file=b,c.parent=f,c.oneof=void 0,c.typeName=A,c.jsonName=`[${A}]`,c.toString=()=>`extension ${A}`;let m=n.getMessage(tn(e.extendee));St(m,`invalid FieldDescriptorProto: extendee ${e.extendee} not found`),c.extendee=m}else{let b=t;St(b.kind=="message"),c.parent=b,c.oneof=r,c.localName=r?Sn(e.name):Mr(Sn(e.name)),c.jsonName=e.jsonName,c.toString=()=>`field ${b.typeName}.${e.name}`}let d=e.label,u=e.type,h=(l=e.options)===null||l===void 0?void 0:l.jstype;if(d===Hd){let b=u==mi?o?.get(tn(e.typeName)):void 0;if(b){c.fieldKind="map";let{key:f,value:A}=KC(b);return c.mapKey=f.scalar,c.mapKind=A.fieldKind,c.message=A.message,c.delimitedEncoding=!1,c.enum=A.enum,c.scalar=A.scalar,c}switch(c.fieldKind="list",u){case mi:case Ai:c.listKind="message",c.message=n.getMessage(tn(e.typeName)),St(c.message),c.delimitedEncoding=CA(e,t);break;case IA:c.listKind="enum",c.enum=n.getEnum(tn(e.typeName)),St(c.enum);break;default:c.listKind="scalar",c.scalar=u,c.longAsString=h==NA;break}return c.packed=TC(e,t),c}switch(u){case mi:case Ai:c.fieldKind="message",c.message=n.getMessage(tn(e.typeName)),St(c.message,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),c.delimitedEncoding=CA(e,t),c.getDefaultValue=()=>{};break;case IA:{let b=n.getEnum(tn(e.typeName));St(b!==void 0,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),c.fieldKind="enum",c.enum=n.getEnum(tn(e.typeName)),c.getDefaultValue=()=>tr(e,"defaultValue")?WA(b,e.defaultValue):void 0;break}default:{c.fieldKind="scalar",c.scalar=u,c.longAsString=h==NA,c.getDefaultValue=()=>tr(e,"defaultValue")?GA(u,e.defaultValue):void 0;break}}return c}function xC(e){switch(e.syntax){case"":case"proto2":return SC;case"proto3":return XC;case"editions":if(e.edition in YA)return e.edition;throw new Error(`${e.name}: unsupported edition`);default:throw new Error(`${e.name}: unsupported syntax "${e.syntax}"`)}}function vC(e,t){return e.dependency.map(n=>{let r=t.getFile(n);if(!r)throw new Error(`Cannot find ${n}, imported by ${e.name}`);return r})}function JC(e,t){let n=kC(e)+"_";for(let r of t){if(!r.name.toLowerCase().startsWith(n))return;let o=r.name.substring(n.length);if(o.length==0||/^\d/.test(o))return}return n}function kC(e){return(e.substring(0,1)+e.substring(1).replace(/[A-Z]/g,t=>"_"+t)).toLowerCase()}function gl(e,t,n){let r;return t?r=`${t.typeName}.${e.name}`:n.proto.package.length>0?r=`${n.proto.package}.${e.name}`:r=`${e.name}`,r}function tn(e){return e.startsWith(".")?e.substring(1):e}function _C(e,t){if(!tr(e,"oneofIndex")||e.proto3Optional)return;let n=t[e.oneofIndex];return St(n,`invalid FieldDescriptorProto: oneof #${e.oneofIndex} for field #${e.number} not found`),n}function QC(e,t,n,r){if(e.label==IC)return FC;if(e.label==Hd)return FA;if(t||e.proto3Optional||n)return Kd;let o=Or("fieldPresence",{proto:e,parent:r});return o==FA&&(e.type==mi||e.type==Ai)?Kd:o}function TC(e,t){if(e.label!=Hd)return!1;switch(e.type){case WC:case GC:case Ai:case mi:return!1}let n=e.options;return n&&tr(n,"packed")?n.packed:BC==Or("repeatedFieldEncoding",{proto:e,parent:t})}function KC(e){let t=e.fields.find(r=>r.number===1),n=e.fields.find(r=>r.number===2);return St(t&&t.fieldKind=="scalar"&&t.scalar!=I.BYTES&&t.scalar!=I.FLOAT&&t.scalar!=I.DOUBLE&&n&&n.fieldKind!="list"&&n.fieldKind!="map"),{key:t,value:n}}function zC(e){var t;return YC==Or("enumType",{proto:e.proto,parent:(t=e.parent)!==null&&t!==void 0?t:e.file})}function CA(e,t){return e.type==Ai?!0:CC==Or("messageEncoding",{proto:e,parent:t})}function Or(e,t){var n,r;let o=(n=t.proto.options)===null||n===void 0?void 0:n.features;if(o){let i=o[e];if(i!=0)return i}if("kind"in t){if(t.kind=="message")return Or(e,(r=t.parent)!==null&&r!==void 0?r:t.file);let i=YA[t.edition];if(!i)throw new Error(`feature default for edition ${t.edition} not found`);return i[e]}return Or(e,t.parent)}function St(e,t){if(!e)throw new Error(t)}function wA(e){let t=DC(e);return t.messageType.forEach(fi),Vl(t,()=>{}).getFile(t.name)}function DC(e){return Object.assign(Object.create({syntax:"",edition:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],optionDependency:[],service:[],extension:[]},e),{messageType:e.messageType.map(xA),enumType:e.enumType.map(vA)}))}function xA(e){var t,n,r,o,i,s,l,a;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:e.name,field:(n=(t=e.field)===null||t===void 0?void 0:t.map(LC))!==null&&n!==void 0?n:[],extension:[],nestedType:(o=(r=e.nestedType)===null||r===void 0?void 0:r.map(xA))!==null&&o!==void 0?o:[],enumType:(s=(i=e.enumType)===null||i===void 0?void 0:i.map(vA))!==null&&s!==void 0?s:[],extensionRange:(a=(l=e.extensionRange)===null||l===void 0?void 0:l.map(d=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},d)))!==null&&a!==void 0?a:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function LC(e){return Object.assign(Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},e),{options:e.options?HC(e.options):void 0}))}function HC(e){var t,n,r;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"},e),{targets:(t=e.targets)!==null&&t!==void 0?t:[],editionDefaults:(r=(n=e.editionDefaults)===null||n===void 0?void 0:n.map(i=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},i)))!==null&&r!==void 0?r:[],uninterpretedOption:[]}))}function vA(e){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:e.name,reservedName:[],reservedRange:[],value:e.value.map(n=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},n))})}function O(e,t,...n){return n.reduce((r,o)=>r.nestedMessages[o],e.messages[t])}var nn=wA({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"},{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}]}]});var rV=O(nn,1);var JA;(function(e){e[e.DECLARATION=0]="DECLARATION",e[e.UNVERIFIED=1]="UNVERIFIED"})(JA||(JA={}));var kA;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.GROUP=10]="GROUP",e[e.MESSAGE=11]="MESSAGE",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.ENUM=14]="ENUM",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(kA||(kA={}));var _A;(function(e){e[e.OPTIONAL=1]="OPTIONAL",e[e.REPEATED=3]="REPEATED",e[e.REQUIRED=2]="REQUIRED"})(_A||(_A={}));var QA;(function(e){e[e.SPEED=1]="SPEED",e[e.CODE_SIZE=2]="CODE_SIZE",e[e.LITE_RUNTIME=3]="LITE_RUNTIME"})(QA||(QA={}));var TA;(function(e){e[e.STRING=0]="STRING",e[e.CORD=1]="CORD",e[e.STRING_PIECE=2]="STRING_PIECE"})(TA||(TA={}));var KA;(function(e){e[e.JS_NORMAL=0]="JS_NORMAL",e[e.JS_STRING=1]="JS_STRING",e[e.JS_NUMBER=2]="JS_NUMBER"})(KA||(KA={}));var zA;(function(e){e[e.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",e[e.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",e[e.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(zA||(zA={}));var DA;(function(e){e[e.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",e[e.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",e[e.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",e[e.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",e[e.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",e[e.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",e[e.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",e[e.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",e[e.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",e[e.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD"})(DA||(DA={}));var pl;(function(e){e[e.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",e[e.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",e[e.IDEMPOTENT=2]="IDEMPOTENT"})(pl||(pl={}));var LA;(function(e){e[e.DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",e[e.EXPORT_ALL=1]="EXPORT_ALL",e[e.EXPORT_TOP_LEVEL=2]="EXPORT_TOP_LEVEL",e[e.LOCAL_ALL=3]="LOCAL_ALL",e[e.STRICT=4]="STRICT"})(LA||(LA={}));var HA;(function(e){e[e.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",e[e.EXPLICIT=1]="EXPLICIT",e[e.IMPLICIT=2]="IMPLICIT",e[e.LEGACY_REQUIRED=3]="LEGACY_REQUIRED"})(HA||(HA={}));var MA;(function(e){e[e.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",e[e.OPEN=1]="OPEN",e[e.CLOSED=2]="CLOSED"})(MA||(MA={}));var OA;(function(e){e[e.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",e[e.PACKED=1]="PACKED",e[e.EXPANDED=2]="EXPANDED"})(OA||(OA={}));var jA;(function(e){e[e.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",e[e.VERIFY=2]="VERIFY",e[e.NONE=3]="NONE"})(jA||(jA={}));var PA;(function(e){e[e.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",e[e.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",e[e.DELIMITED=2]="DELIMITED"})(PA||(PA={}));var qA;(function(e){e[e.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",e[e.ALLOW=1]="ALLOW",e[e.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT"})(qA||(qA={}));var $A;(function(e){e[e.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",e[e.STYLE2024=1]="STYLE2024",e[e.STYLE_LEGACY=2]="STYLE_LEGACY"})($A||($A={}));var eV;(function(e){e[e.NONE=0]="NONE",e[e.SET=1]="SET",e[e.ALIAS=2]="ALIAS"})(eV||(eV={}));var tV;(function(e){e[e.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",e[e.EDITION_LEGACY=900]="EDITION_LEGACY",e[e.EDITION_PROTO2=998]="EDITION_PROTO2",e[e.EDITION_PROTO3=999]="EDITION_PROTO3",e[e.EDITION_2023=1e3]="EDITION_2023",e[e.EDITION_2024=1001]="EDITION_2024",e[e.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",e[e.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",e[e.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",e[e.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",e[e.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",e[e.EDITION_MAX=2147483647]="EDITION_MAX"})(tV||(tV={}));var nV;(function(e){e[e.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",e[e.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",e[e.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(nV||(nV={}));var oV={readUnknownFields:!0};function MC(e){return e?Object.assign(Object.assign({},oV),e):oV}function rn(e,t,n){let r=ke(e,void 0,!1);return iV(r,new nr(t),MC(n),!1,t.byteLength),r.message}function iV(e,t,n,r,o){var i;let s=r?t.len:t.pos+o,l,a,c=(i=e.getUnknown())!==null&&i!==void 0?i:[];for(;t.pos<s&&([l,a]=t.tag(),!(r&&a==me.EndGroup));){let d=e.findNumber(l);if(!d){let u=t.skip(a,l);n.readUnknownFields&&c.push({no:l,wireType:a,data:u});continue}Md(e,t,d,a,n)}if(r&&(a!=me.EndGroup||l!==o))throw new Error("invalid end group tag");c.length>0&&e.setUnknown(c)}function Md(e,t,n,r,o){var i;switch(n.fieldKind){case"scalar":e.set(n,jr(t,n.scalar));break;case"enum":let s=jr(t,I.INT32);if(n.enum.open)e.set(n,s);else if(n.enum.values.some(a=>a.number===s))e.set(n,s);else if(o.readUnknownFields){let a=new Zn().int32(s).finish(),c=(i=e.getUnknown())!==null&&i!==void 0?i:[];c.push({no:n.number,wireType:r,data:a}),e.setUnknown(c)}break;case"message":e.set(n,Od(t,o,n,e.get(n)));break;case"list":jC(t,r,e.get(n),o);break;case"map":OC(t,e.get(n),o);break}}function OC(e,t,n){let r=t.field(),o,i,s=e.pos+e.uint32();for(;e.pos<s;){let[l]=e.tag();switch(l){case 1:o=jr(e,r.mapKey);break;case 2:switch(r.mapKind){case"scalar":i=jr(e,r.scalar);break;case"enum":i=e.int32();break;case"message":i=Od(e,n,r);break}break}}if(o===void 0&&(o=st(r.mapKey,!1)),i===void 0)switch(r.mapKind){case"scalar":i=st(r.scalar,!1);break;case"enum":i=r.enum.values[0].number;break;case"message":i=ke(r.message,void 0,!1);break}t.set(o,i)}function jC(e,t,n,r){var o;let i=n.field();if(i.listKind==="message"){n.add(Od(e,r,i));return}let s=(o=i.scalar)!==null&&o!==void 0?o:I.INT32;if(!(t==me.LengthDelimited&&s!=I.STRING&&s!=I.BYTES)){n.add(jr(e,s));return}let a=e.uint32()+e.pos;for(;e.pos<a;)n.add(jr(e,s))}function Od(e,t,n,r){let o=n.delimitedEncoding,i=r??ke(n.message,void 0,!1);return iV(i,e,t,o,o?n.number:e.uint32()),i}function jr(e,t){switch(t){case I.STRING:return e.string();case I.BOOL:return e.bool();case I.DOUBLE:return e.double();case I.FLOAT:return e.float();case I.INT32:return e.int32();case I.INT64:return e.int64();case I.UINT64:return e.uint64();case I.FIXED64:return e.fixed64();case I.BYTES:return e.bytes();case I.FIXED32:return e.fixed32();case I.SFIXED32:return e.sfixed32();case I.SFIXED64:return e.sfixed64();case I.SINT64:return e.sint64();case I.UINT32:return e.uint32();case I.SINT32:return e.sint32()}}function k(e,t){var n;let r=rn(rV,Hr(e));return r.messageType.forEach(fi),r.dependency=(n=t?.map(i=>i.proto.name))!==null&&n!==void 0?n:[],Vl(r,i=>t?.find(s=>s.proto.name===i)).getFile(r.name)}var ee=k("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM");var rr=k("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),sV=O(rr,0);var PC=3,lV={writeUnknownFields:!0};function qC(e){return e?Object.assign(Object.assign({},lV),e):lV}function Vi(e,t,n){return El(new Zn,qC(n),ke(e,t)).finish()}function El(e,t,n){var r;for(let o of n.sortedFields){if(!n.isSet(o)){if(o.presence==PC)throw new Error(`cannot encode ${o} to binary: required field not set`);continue}jd(e,t,n,o)}if(t.writeUnknownFields)for(let{no:o,wireType:i,data:s}of(r=n.getUnknown())!==null&&r!==void 0?r:[])e.tag(o,i).raw(s);return e}function jd(e,t,n,r){var o;switch(r.fieldKind){case"scalar":case"enum":Rl(e,n.desc.typeName,r.name,(o=r.scalar)!==null&&o!==void 0?o:I.INT32,r.number,n.get(r));break;case"list":$C(e,t,r,n.get(r));break;case"message":aV(e,t,r,n.get(r));break;case"map":for(let[i,s]of n.get(r))e9(e,t,r,i,s);break}}function Rl(e,t,n,r,o,i){cV(e.tag(o,t9(r)),t,n,r,i)}function aV(e,t,n,r){n.delimitedEncoding?El(e.tag(n.number,me.StartGroup),t,r).tag(n.number,me.EndGroup):El(e.tag(n.number,me.LengthDelimited).fork(),t,r).join()}function $C(e,t,n,r){var o;if(n.listKind=="message"){for(let s of r)aV(e,t,n,s);return}let i=(o=n.scalar)!==null&&o!==void 0?o:I.INT32;if(n.packed){if(!r.size)return;e.tag(n.number,me.LengthDelimited).fork();for(let s of r)cV(e,n.parent.typeName,n.name,i,s);e.join();return}for(let s of r)Rl(e,n.parent.typeName,n.name,i,n.number,s)}function e9(e,t,n,r,o){var i;switch(e.tag(n.number,me.LengthDelimited).fork(),Rl(e,n.parent.typeName,n.name,n.mapKey,1,r),n.mapKind){case"scalar":case"enum":Rl(e,n.parent.typeName,n.name,(i=n.scalar)!==null&&i!==void 0?i:I.INT32,2,o);break;case"message":El(e.tag(2,me.LengthDelimited).fork(),t,o).join();break}e.join()}function cV(e,t,n,r,o){try{switch(r){case I.STRING:e.string(o);break;case I.BOOL:e.bool(o);break;case I.DOUBLE:e.double(o);break;case I.FLOAT:e.float(o);break;case I.INT32:e.int32(o);break;case I.INT64:e.int64(o);break;case I.UINT64:e.uint64(o);break;case I.FIXED64:e.fixed64(o);break;case I.BYTES:e.bytes(o);break;case I.FIXED32:e.fixed32(o);break;case I.SFIXED32:e.sfixed32(o);break;case I.SFIXED64:e.sfixed64(o);break;case I.SINT64:e.sint64(o);break;case I.UINT32:e.uint32(o);break;case I.SINT32:e.sint32(o);break}}catch(i){throw i instanceof Error?new Error(`cannot encode field ${t}.${n} to binary: ${i.message}`):i}}function t9(e){switch(e){case I.BYTES:case I.STRING:return me.LengthDelimited;case I.DOUBLE:case I.FIXED64:case I.SFIXED64:return me.Bit64;case I.FIXED32:case I.SFIXED32:case I.FLOAT:return me.Bit32;default:return me.Varint}}function dV(e,t,n){let r=!1;return n||(n=Je(sV),r=!0),n.value=Vi(e,t),n.typeUrl=o9(t.$typeName),r?n:void 0}function r9(e,t){if(e.typeUrl==="")return!1;let n=typeof t=="string"?t:t.typeName,r=hV(e.typeUrl);return n===r}function uV(e,t){if(e.typeUrl==="")return;let n=t.kind=="message"?t:t.getMessage(hV(e.typeUrl));if(!(!n||!r9(e,n)))return rn(n,e.value)}function o9(e){return`type.googleapis.com/${e}`}function hV(e){let t=e.lastIndexOf("/"),n=t>=0?e.substring(t+1):e;if(!n.length)throw new Error(`invalid type url: ${e}`);return n}function Pd(e,t,...n){if(n.length==0)return e.extensions[t];let r=n.pop();return n.reduce((o,i)=>o.nestedMessages[i],e.messages[t]).nestedExtensions[r]}var bV=k("CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIhoKCUZpZWxkTWFzaxINCgVwYXRocxgBIAMoCUKFAQoTY29tLmdvb2dsZS5wcm90b2J1ZkIORmllbGRNYXNrUHJvdG9QAVoyZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vZmllbGRtYXNrcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw");var qd=k("Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),fV=O(qd,0),$d=O(qd,1),mV=O(qd,2),Zl;(function(e){e[e.NULL_VALUE=0]="NULL_VALUE"})(Zl||(Zl={}));function Sl(e,t){AV(t,e);let n=i9(e.$unknown,t),[r,o,i]=or(t);for(let s of n)Md(r,new nr(s.data),o,s.wireType,{readUnknownFields:!0});return i()}function eu(e,t,n){var r;AV(t,e);let o=((r=e.$unknown)!==null&&r!==void 0?r:[]).filter(c=>c.no!==t.number),[i,s]=or(t,n),l=new Zn;jd(l,{writeUnknownFields:!0},i,s);let a=new nr(l.finish());for(;a.pos<a.len;){let[c,d]=a.tag(),u=a.skip(d,c);o.push({no:c,wireType:d,data:u})}e.$unknown=o}function tu(e,t){let n=e.proto.options;if(!n){let[,,r]=or(t);return r()}return Sl(n,t)}function i9(e,t){if(e===void 0)return[];if(t.fieldKind==="enum"||t.fieldKind==="scalar"){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.number)return[e[n]];return[]}return e.filter(n=>n.no===t.number)}function or(e,t){let n=e.typeName,r=Object.assign(Object.assign({},e),{kind:"field",parent:e.extendee,localName:n}),o=Object.assign(Object.assign({},e.extendee),{fields:[r],members:[r],oneofs:[]}),i=Je(o,t!==void 0?{[n]:t}:void 0);return[ke(o,i),r,()=>{let s=i[n];if(s===void 0){let l=e.message;return Ut(l)?st(l.fields[0].scalar,l.fields[0].longAsString):Je(l)}return s}]}function AV(e,t){if(e.extendee.typeName!=t.$typeName)throw new Error(`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}var s9=3,l9=2,VV={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function a9(e){return e?Object.assign(Object.assign({},VV),e):VV}function Xl(e,t,n){return gi(ke(e,t),a9(n))}function pV(e,t,n){var r;let o=Xl(e,t,n);return JSON.stringify(o,null,(r=n?.prettySpaces)!==null&&r!==void 0?r:0)}function gi(e,t){var n;let r=h9(e,t);if(r!==void 0)return r;let o={};for(let i of e.sortedFields){if(!e.isSet(i)){if(i.presence==s9)throw new Error(`cannot encode ${i} to JSON: required field not set`);if(!t.alwaysEmitImplicit||i.presence!==l9)continue}let s=gV(i,e.get(i),t);s!==void 0&&(o[u9(i,t)]=s)}if(t.registry){let i=new Set;for(let{no:s}of(n=e.getUnknown())!==null&&n!==void 0?n:[])if(!i.has(s)){i.add(s);let l=t.registry.getExtensionFor(e.desc,s);if(!l)continue;let a=Sl(e.message,l),[c,d]=or(l,a),u=gV(d,c.get(d),t);u!==void 0&&(o[l.jsonName]=u)}}return o}function gV(e,t,n){switch(e.fieldKind){case"scalar":return Wl(e,t);case"message":return gi(t,n);case"enum":return nu(e.enum,t,n.enumAsInteger);case"list":return d9(t,n);case"map":return c9(t,n)}}function c9(e,t){let n=e.field(),r={};switch(n.mapKind){case"scalar":for(let[o,i]of e)r[o]=Wl(n,i);break;case"message":for(let[o,i]of e)r[o]=gi(i,t);break;case"enum":for(let[o,i]of e)r[o]=nu(n.enum,i,t.enumAsInteger);break}return t.alwaysEmitImplicit||e.size>0?r:void 0}function d9(e,t){let n=e.field(),r=[];switch(n.listKind){case"scalar":for(let o of e)r.push(Wl(n,o));break;case"enum":for(let o of e)r.push(nu(n.enum,o,t.enumAsInteger));break;case"message":for(let o of e)r.push(gi(o,t));break}return t.alwaysEmitImplicit||r.length>0?r:void 0}function nu(e,t,n){var r;if(typeof t!="number")throw new Error(`cannot encode ${e} to JSON: expected number, got ${We(t)}`);if(e.typeName=="google.protobuf.NullValue")return null;if(n)return t;let o=e.value[t];return(r=o?.name)!==null&&r!==void 0?r:t}function Wl(e,t){var n,r,o,i,s,l;switch(e.scalar){case I.INT32:case I.SFIXED32:case I.SINT32:case I.FIXED32:case I.UINT32:if(typeof t!="number")throw new Error(`cannot encode ${e} to JSON: ${(n=en(e,t))===null||n===void 0?void 0:n.message}`);return t;case I.FLOAT:case I.DOUBLE:if(typeof t!="number")throw new Error(`cannot encode ${e} to JSON: ${(r=en(e,t))===null||r===void 0?void 0:r.message}`);return Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case I.STRING:if(typeof t!="string")throw new Error(`cannot encode ${e} to JSON: ${(o=en(e,t))===null||o===void 0?void 0:o.message}`);return t;case I.BOOL:if(typeof t!="boolean")throw new Error(`cannot encode ${e} to JSON: ${(i=en(e,t))===null||i===void 0?void 0:i.message}`);return t;case I.UINT64:case I.FIXED64:case I.INT64:case I.SFIXED64:case I.SINT64:if(typeof t!="bigint"&&typeof t!="string")throw new Error(`cannot encode ${e} to JSON: ${(s=en(e,t))===null||s===void 0?void 0:s.message}`);return t.toString();case I.BYTES:if(t instanceof Uint8Array)return bi(t);throw new Error(`cannot encode ${e} to JSON: ${(l=en(e,t))===null||l===void 0?void 0:l.message}`)}}function u9(e,t){return t.useProtoFieldName?e.name:e.jsonName}function h9(e,t){if(e.desc.typeName.startsWith("google.protobuf."))switch(e.desc.typeName){case"google.protobuf.Any":return b9(e.message,t);case"google.protobuf.Timestamp":return A9(e.message);case"google.protobuf.Duration":return f9(e.message);case"google.protobuf.FieldMask":return m9(e.message);case"google.protobuf.Struct":return EV(e.message);case"google.protobuf.Value":return ru(e.message);case"google.protobuf.ListValue":return RV(e.message);default:if(Ut(e.desc)){let n=e.desc.fields[0];return Wl(n,e.get(n))}return}}function b9(e,t){if(e.typeUrl==="")return{};let{registry:n}=t,r,o;if(n&&(r=uV(e,n),r&&(o=n.getMessage(r.$typeName))),!o||!r)throw new Error(`cannot encode message ${e.$typeName} to JSON: "${e.typeUrl}" is not in the type registry`);let i=gi(ke(o,r),t);return(o.typeName.startsWith("google.protobuf.")||i===null||Array.isArray(i)||typeof i!="object")&&(i={value:i}),i["@type"]=e.typeUrl,i}function f9(e){if(Number(e.seconds)>315576e6||Number(e.seconds)<-315576e6)throw new Error(`cannot encode message ${e.$typeName} to JSON: value out of range`);let t=e.seconds.toString();if(e.nanos!==0){let n=Math.abs(e.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)),t+="."+n,e.nanos<0&&Number(e.seconds)==0&&(t="-"+t)}return t+"s"}function m9(e){return e.paths.map(t=>{if(t.match(/_[0-9]?_/g)||t.match(/[A-Z]/g))throw new Error(`cannot encode message ${e.$typeName} to JSON: lowerCamelCase of path name "`+t+'" is irreversible');return Sn(t)}).join(",")}function EV(e){let t={};for(let[n,r]of Object.entries(e.fields))t[n]=ru(r);return t}function ru(e){switch(e.kind.case){case"nullValue":return null;case"numberValue":if(!Number.isFinite(e.kind.value))throw new Error(`${e.$typeName} cannot be NaN or Infinity`);return e.kind.value;case"boolValue":return e.kind.value;case"stringValue":return e.kind.value;case"structValue":return EV(e.kind.value);case"listValue":return RV(e.kind.value);default:throw new Error(`${e.$typeName} must have a value`)}}function RV(e){return e.values.map(ru)}function A9(e){let t=Number(e.seconds)*1e3;if(t<Date.parse("0001-01-01T00:00:00Z")||t>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot encode message ${e.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(e.nanos<0)throw new Error(`cannot encode message ${e.$typeName} to JSON: nanos must not be negative`);let n="Z";if(e.nanos>0){let r=(e.nanos+1e9).toString().substring(1);r.substring(3)==="000000"?n="."+r.substring(0,3)+"Z":r.substring(6)==="000"?n="."+r.substring(0,6)+"Z":n="."+r+"Z"}return new Date(t).toISOString().replace(".000Z",n)}var ZV={ignoreUnknownFields:!1};function V9(e){return e?Object.assign(Object.assign({},ZV),e):ZV}function XV(e,t,n){return pi(e,X9(t,e.typeName),n)}function pi(e,t,n){let r=ke(e);try{Pr(r,t,V9(n))}catch(o){throw dA(o)?new Error(`cannot decode ${o.field()} from JSON: ${o.message}`,{cause:o}):o}return r.message}function Pr(e,t,n){var r;if(W9(e,t,n))return;if(t==null||Array.isArray(t)||typeof t!="object")throw new Error(`cannot decode ${e.desc} from JSON: ${We(t)}`);let o=new Map,i=new Map;for(let s of e.desc.fields)i.set(s.name,s).set(s.jsonName,s);for(let[s,l]of Object.entries(t)){let a=i.get(s);if(a){if(a.oneof){if(l===null&&a.fieldKind=="scalar")continue;let c=o.get(a.oneof);if(c!==void 0)throw new Ie(a.oneof,`oneof set multiple times by ${c.name} and ${a.name}`);o.set(a.oneof,a)}SV(e,a,l,n)}else{let c;if(s.startsWith("[")&&s.endsWith("]")&&(c=(r=n.registry)===null||r===void 0?void 0:r.getExtension(s.substring(1,s.length-1)))&&c.extendee.typeName===e.desc.typeName){let[d,u,h]=or(c);SV(d,u,l,n),eu(e.message,c,h())}if(!c&&!n.ignoreUnknownFields)throw new Error(`cannot decode ${e.desc} from JSON: key "${s}" is unknown`)}}}function SV(e,t,n,r){switch(t.fieldKind){case"scalar":Z9(e,t,n);break;case"enum":R9(e,t,n,r);break;case"message":E9(e,t,n,r);break;case"list":p9(e.get(t),n,r);break;case"map":g9(e.get(t),n,r);break}}function g9(e,t,n){if(t===null)return;let r=e.field();if(typeof t!="object"||Array.isArray(t))throw new Ie(r,"expected object, got "+We(t));for(let[o,i]of Object.entries(t)){if(i===null)throw new Ie(r,"map value must not be null");let s;switch(r.mapKind){case"message":let a=ke(r.message);Pr(a,i,n),s=a;break;case"enum":if(s=ou(r.enum,i,n.ignoreUnknownFields,!0),s===Gl)return;break;case"scalar":s=Nl(r,i,!0);break}let l=S9(r.mapKey,o);e.set(l,s)}}function p9(e,t,n){if(t===null)return;let r=e.field();if(!Array.isArray(t))throw new Ie(r,"expected Array, got "+We(t));for(let o of t){if(o===null)throw new Ie(r,"list item must not be null");switch(r.listKind){case"message":let i=ke(r.message);Pr(i,o,n),e.add(i);break;case"enum":let s=ou(r.enum,o,n.ignoreUnknownFields,!0);s!==Gl&&e.add(s);break;case"scalar":e.add(Nl(r,o,!0));break}}}function E9(e,t,n,r){if(n===null&&t.message.typeName!="google.protobuf.Value"){e.clear(t);return}let o=e.isSet(t)?e.get(t):ke(t.message);Pr(o,n,r),e.set(t,o)}function R9(e,t,n,r){let o=ou(t.enum,n,r.ignoreUnknownFields,!1);o===Il?e.clear(t):o!==Gl&&e.set(t,o)}function Z9(e,t,n){let r=Nl(t,n,!1);r===Il?e.clear(t):e.set(t,r)}var Gl=Symbol();function ou(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].number:Il;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let o=e.values.find(i=>i.name===t);if(o!==void 0)return o.number;if(n)return Gl;break}throw new Error(`cannot decode ${e} from JSON: ${We(t)}`)}var Il=Symbol();function Nl(e,t,n){if(t===null)return n?st(e.scalar,!1):Il;switch(e.scalar){case I.DOUBLE:case I.FLOAT:if(t==="NaN")return NaN;if(t==="Infinity")return Number.POSITIVE_INFINITY;if(t==="-Infinity")return Number.NEGATIVE_INFINITY;if(typeof t=="number"){if(Number.isNaN(t))throw new Ie(e,"unexpected NaN number");if(!Number.isFinite(t))throw new Ie(e,"unexpected infinite number");break}if(typeof t=="string"){if(t===""||t.trim().length!==t.length)break;let r=Number(t);if(!Number.isFinite(r))break;return r}break;case I.INT32:case I.FIXED32:case I.SFIXED32:case I.SINT32:case I.UINT32:return WV(t);case I.BYTES:if(typeof t=="string"){if(t==="")return new Uint8Array(0);try{return Hr(t)}catch(r){let o=r instanceof Error?r.message:String(r);throw new Ie(e,o)}}break}return t}function S9(e,t){switch(e){case I.BOOL:switch(t){case"true":return!0;case"false":return!1}return t;case I.INT32:case I.FIXED32:case I.UINT32:case I.SFIXED32:case I.SINT32:return WV(t);default:return t}}function WV(e){if(typeof e=="string"){if(e===""||e.trim().length!==e.length)return e;let t=Number(e);return Number.isNaN(t)?e:t}return e}function X9(e,t){try{return JSON.parse(e)}catch(n){let r=n instanceof Error?n.message:String(n);throw new Error(`cannot decode message ${t} from JSON: ${r}`,{cause:n})}}function W9(e,t,n){if(!e.desc.typeName.startsWith("google.protobuf."))return!1;switch(e.desc.typeName){case"google.protobuf.Any":return G9(e.message,t,n),!0;case"google.protobuf.Timestamp":return I9(e.message,t),!0;case"google.protobuf.Duration":return N9(e.message,t),!0;case"google.protobuf.FieldMask":return F9(e.message,t),!0;case"google.protobuf.Struct":return GV(e.message,t),!0;case"google.protobuf.Value":return iu(e.message,t),!0;case"google.protobuf.ListValue":return IV(e.message,t),!0;default:if(Ut(e.desc)){let r=e.desc.fields[0];return t===null?e.clear(r):e.set(r,Nl(r,t,!0)),!0}return!1}}function G9(e,t,n){var r;if(t===null||Array.isArray(t)||typeof t!="object")throw new Error(`cannot decode message ${e.$typeName} from JSON: expected object but got ${We(t)}`);if(Object.keys(t).length==0)return;let o=t["@type"];if(typeof o!="string"||o=="")throw new Error(`cannot decode message ${e.$typeName} from JSON: "@type" is empty`);let i=o.includes("/")?o.substring(o.lastIndexOf("/")+1):o;if(!i.length)throw new Error(`cannot decode message ${e.$typeName} from JSON: "@type" is invalid`);let s=(r=n.registry)===null||r===void 0?void 0:r.getMessage(i);if(!s)throw new Error(`cannot decode message ${e.$typeName} from JSON: ${o} is not in the type registry`);let l=ke(s);if(i.startsWith("google.protobuf.")&&Object.prototype.hasOwnProperty.call(t,"value")){let a=t.value;Pr(l,a,n)}else{let a=Object.assign({},t);delete a["@type"],Pr(l,a,n)}dV(l.desc,l.message,e)}function I9(e,t){if(typeof t!="string")throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);let n=t.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 ${e.$typeName} from JSON: invalid RFC 3339 string`);let r=Date.parse(n[1]+"-"+n[2]+"-"+n[3]+"T"+n[4]+":"+n[5]+":"+n[6]+(n[8]?n[8]:"Z"));if(Number.isNaN(r))throw new Error(`cannot decode message ${e.$typeName} from JSON: invalid RFC 3339 string`);if(r<Date.parse("0001-01-01T00:00:00Z")||r>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot decode message ${e.$typeName} from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);e.seconds=ae.parse(r/1e3),e.nanos=0,n[7]&&(e.nanos=parseInt("1"+n[7]+"0".repeat(9-n[7].length))-1e9)}function N9(e,t){if(typeof t!="string")throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);let n=t.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(n===null)throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);let r=Number(n[1]);if(r>315576e6||r<-315576e6)throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);if(e.seconds=ae.parse(r),typeof n[2]!="string")return;let o=n[2]+"0".repeat(9-n[2].length);e.nanos=parseInt(o),(r<0||Object.is(r,-0))&&(e.nanos=-e.nanos)}function F9(e,t){if(typeof t!="string")throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);if(t==="")return;function n(r){if(r.includes("_"))throw new Error(`cannot decode message ${e.$typeName} from JSON: path names must be lowerCamelCase`);let o=r.replace(/[A-Z]/g,i=>"_"+i.toLowerCase());return o[0]==="_"?o.substring(1):o}e.paths=t.split(",").map(n)}function GV(e,t){if(typeof t!="object"||t==null||Array.isArray(t))throw new Error(`cannot decode message ${e.$typeName} from JSON ${We(t)}`);for(let[n,r]of Object.entries(t)){let o=Je($d);iu(o,r),e.fields[n]=o}}function iu(e,t){switch(typeof t){case"number":e.kind={case:"numberValue",value:t};break;case"string":e.kind={case:"stringValue",value:t};break;case"boolean":e.kind={case:"boolValue",value:t};break;case"object":if(t===null)e.kind={case:"nullValue",value:Zl.NULL_VALUE};else if(Array.isArray(t)){let n=Je(mV);IV(n,t),e.kind={case:"listValue",value:n}}else{let n=Je(fV);GV(n,t),e.kind={case:"structValue",value:n}}break;default:throw new Error(`cannot decode message ${e.$typeName} from JSON ${We(t)}`)}return e}function IV(e,t){if(!Array.isArray(t))throw new Error(`cannot decode message ${e.$typeName} from JSON ${We(t)}`);for(let n of t){let r=Je($d);iu(r,n),e.values.push(r)}}import{tmpdir as Hv}from"node:os";import{join as Mv}from"node:path";import{format as Ov,inspect as jv}from"node:util";import{homedir as NV}from"node:os";function FV(e){return e==="~"?NV():e.startsWith("~/")||e.startsWith("~\\")?NV()+e.slice(1):e}var Le=si(tZ(),1),rZ=Mv(Hv(),"augment-onison-log.txt"),vh=Symbol.for("__hermes_meta_level__");function Pv(e){try{return JSON.stringify(e)}catch{return jv(e,{depth:3,breakLength:Number.POSITIVE_INFINITY,compact:!0})}}function qv(e,t,n){typeof t.message=="string"&&!t.message.includes(e.message)&&n.push(e.message),!t.stack&&e.stack&&(t.stack=e.stack)}function $v(e,t,n){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")n.push(String(e));else if(e instanceof Error)qv(e,t,n);else if(e&&typeof e=="object"){let{message:r,level:o,...i}=e;typeof r=="string"&&typeof t.message=="string"&&!t.message.includes(r)&&n.push(r),o!==void 0&&(t[vh]=o),Object.assign(t,i)}}var oZ=Le.default.format(e=>{let t=e[Symbol.for("splat")];if(!t||t.length===0)return e;if(typeof e.message=="string"&&/%[sdjifoOc%]/.test(e.message))try{return e.message=Ov(e.message,...t),e}catch{}let r=[];for(let o of t)$v(o,e,r);return r.length>0&&(e.message=`${e.message} ${r.join(" ")}`),e}),eJ=Le.default.format.combine(Le.default.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),Le.default.format.errors({stack:!0}),oZ(),Le.default.format.printf(e=>{let{timestamp:t,level:n,message:r,prefix:o,stack:i,...s}=e,l=o?` [${o}]`:"",a={};for(let b of Object.keys(s))a[b]=s[b];let c=e[vh];c!==void 0&&(a.level=c);let d=Object.keys(a).length>0?` ${Pv(a)}`:"",u=i?`
127
+ `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(i){case 0:l=s,i=1;break;case 1:r[o++]=l<<2|(s&48)>>4,l=s,i=2;break;case 2:r[o++]=(l&15)<<4|(s&60)>>2,l=s,i=3;break;case 3:r[o++]=(l&3)<<6|s,i=0;break}}if(i==1)throw Error("invalid base64 string");return r.subarray(0,o)}function bi(e,t="std"){let n=XA(t),r=t=="std",o="",i=0,s,l=0;for(let a=0;a<e.length;a++)switch(s=e[a],i){case 0:o+=n[s>>2],l=(s&3)<<4,i=1;break;case 1:o+=n[l|s>>4],l=(s&15)<<2,i=2;break;case 2:o+=n[l|s>>6],o+=n[s&63],i=0;break}return i&&(o+=n[l],r&&(o+="=",i==1&&(o+="="))),o}var ml,SA,Lr;function XA(e){return ml||(ml="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),SA=ml.slice(0,-2).concat("-","_")),e=="url"?SA:ml}function pC(){if(!Lr){Lr=[];let e=XA("std");for(let t=0;t<e.length;t++)Lr[e[t].charCodeAt(0)]=t;Lr[45]=e.indexOf("+"),Lr[95]=e.indexOf("/")}return Lr}function Sn(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=e.charAt(r);switch(o){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o);break}}return n.join("")}var EC=new Set(["constructor","toString","toJSON","valueOf"]);function Mr(e){return EC.has(e)?e+"$":e}function fi(e){for(let t of e.field)tr(t,"jsonName")||(t.jsonName=Sn(t.name));e.nestedType.forEach(fi)}function WA(e,t){let n=e.values.find(r=>r.name===t);if(!n)throw new Error(`cannot parse ${e} default value: ${t}`);return n.number}function GA(e,t){switch(e){case I.STRING:return t;case I.BYTES:{let n=RC(t);if(n===!1)throw new Error(`cannot parse ${I[e]} default value: ${t}`);return n}case I.INT64:case I.SFIXED64:case I.SINT64:return ae.parse(t);case I.UINT64:case I.FIXED64:return ae.uParse(t);case I.DOUBLE:case I.FLOAT:switch(t){case"inf":return Number.POSITIVE_INFINITY;case"-inf":return Number.NEGATIVE_INFINITY;case"nan":return Number.NaN;default:return parseFloat(t)}case I.BOOL:return t==="true";case I.INT32:case I.UINT32:case I.SINT32:case I.FIXED32:case I.SFIXED32:return parseInt(t,10)}}function RC(e){let t=[],n={tail:e,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(r){if(this.tail.length>=r){let o=this.tail.substring(0,r);return this.tail=this.tail.substring(r),o}return!1}};for(;n.next();)switch(n.c){case"\\":if(n.next())switch(n.c){case"\\":t.push(n.c.charCodeAt(0));break;case"b":t.push(8);break;case"f":t.push(12);break;case"n":t.push(10);break;case"r":t.push(13);break;case"t":t.push(9);break;case"v":t.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let r=n.c,o=n.take(2);if(o===!1)return!1;let i=parseInt(r+o,8);if(Number.isNaN(i))return!1;t.push(i);break}case"x":{let r=n.c,o=n.take(2);if(o===!1)return!1;let i=parseInt(r+o,16);if(Number.isNaN(i))return!1;t.push(i);break}case"u":{let r=n.c,o=n.take(4);if(o===!1)return!1;let i=parseInt(r+o,16);if(Number.isNaN(i))return!1;let s=new Uint8Array(4);new DataView(s.buffer).setInt32(0,i,!0),t.push(s[0],s[1],s[2],s[3]);break}case"U":{let r=n.c,o=n.take(8);if(o===!1)return!1;let i=ae.uEnc(r+o),s=new Uint8Array(8),l=new DataView(s.buffer);l.setInt32(0,i.lo,!0),l.setInt32(4,i.hi,!0),t.push(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7]);break}}break;default:t.push(n.c.charCodeAt(0))}return new Uint8Array(t)}function*Al(e){switch(e.kind){case"file":for(let t of e.messages)yield t,yield*Al(t);yield*e.enums,yield*e.services,yield*e.extensions;break;case"message":for(let t of e.nestedMessages)yield t,yield*Al(t);yield*e.nestedEnums,yield*e.nestedExtensions;break}}function Vl(...e){let t=ZC();if(!e.length)return t;if("$typeName"in e[0]&&e[0].$typeName=="google.protobuf.FileDescriptorSet"){for(let n of e[0].file)BA(n,t);return t}if("$typeName"in e[0]){let i=function(s){let l=[];for(let a of s.dependency){if(t.getFile(a)!=null||o.has(a))continue;let c=r(a);if(!c)throw new Error(`Unable to resolve ${a}, imported by ${s.name}`);"kind"in c?t.addFile(c,!1,!0):(o.add(c.name),l.push(c))}return l.concat(...l.map(i))},n=e[0],r=e[1],o=new Set;for(let s of[n,...i(n)].reverse())BA(s,t)}else for(let n of e)for(let r of n.files)t.addFile(r);return t}function ZC(){let e=new Map,t=new Map,n=new Map;return{kind:"registry",types:e,extendees:t,[Symbol.iterator](){return e.values()},get files(){return n.values()},addFile(r,o,i){if(n.set(r.proto.name,r),!o)for(let s of Al(r))this.add(s);if(i)for(let s of r.dependencies)this.addFile(s,o,i)},add(r){if(r.kind=="extension"){let o=t.get(r.extendee.typeName);o||t.set(r.extendee.typeName,o=new Map),o.set(r.number,r)}e.set(r.typeName,r)},get(r){return e.get(r)},getFile(r){return n.get(r)},getMessage(r){let o=e.get(r);return o?.kind=="message"?o:void 0},getEnum(r){let o=e.get(r);return o?.kind=="enum"?o:void 0},getExtension(r){let o=e.get(r);return o?.kind=="extension"?o:void 0},getExtensionFor(r,o){var i;return(i=t.get(r.typeName))===null||i===void 0?void 0:i.get(o)},getService(r){let o=e.get(r);return o?.kind=="service"?o:void 0}}}var SC=998,XC=999,WC=9,Ai=10,mi=11,GC=12,IA=14,Hd=3,IC=2,NA=1,NC=0,Kd=1,FA=2,FC=3,BC=1,CC=2,YC=1;var YA={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}};function BA(e,t){var n,r;let o={kind:"file",proto:e,deprecated:(r=(n=e.options)===null||n===void 0?void 0:n.deprecated)!==null&&r!==void 0?r:!1,edition:xC(e),name:e.name.replace(/\.proto$/,""),dependencies:vC(e,t),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${e.name}`}},i=new Map,s={get(l){return i.get(l)},add(l){var a;St(((a=l.proto.options)===null||a===void 0?void 0:a.mapEntry)===!0),i.set(l.typeName,l)}};for(let l of e.enumType)yA(l,o,void 0,t);for(let l of e.messageType)UA(l,o,void 0,t,s);for(let l of e.service)yC(l,o,t);zd(o,t);for(let l of i.values())Dd(l,t,s);for(let l of o.messages)Dd(l,t,s),zd(l,t);t.addFile(o,!0)}function zd(e,t){switch(e.kind){case"file":for(let n of e.proto.extension){let r=Ld(n,e,t);e.extensions.push(r),t.add(r)}break;case"message":for(let n of e.proto.extension){let r=Ld(n,e,t);e.nestedExtensions.push(r),t.add(r)}for(let n of e.nestedMessages)zd(n,t);break}}function Dd(e,t,n){let r=e.proto.oneofDecl.map(i=>wC(i,e)),o=new Set;for(let i of e.proto.field){let s=_C(i,r),l=Ld(i,e,t,s,n);e.fields.push(l),e.field[l.localName]=l,s===void 0?e.members.push(l):(s.fields.push(l),o.has(s)||(o.add(s),e.members.push(s)))}for(let i of r.filter(s=>o.has(s)))e.oneofs.push(i);for(let i of e.nestedMessages)Dd(i,t,n)}function yA(e,t,n,r){var o,i,s,l,a;let c=JC(e.name,e.value),d={kind:"enum",proto:e,deprecated:(i=(o=e.options)===null||o===void 0?void 0:o.deprecated)!==null&&i!==void 0?i:!1,file:t,parent:n,open:!0,name:e.name,typeName:gl(e,n,t),value:{},values:[],sharedPrefix:c,toString(){return`enum ${this.typeName}`}};d.open=zC(d),r.add(d);for(let u of e.value){let h=u.name;d.values.push(d.value[u.number]={kind:"enum_value",proto:u,deprecated:(l=(s=u.options)===null||s===void 0?void 0:s.deprecated)!==null&&l!==void 0?l:!1,parent:d,name:h,localName:Mr(c==null?h:h.substring(c.length)),number:u.number,toString(){return`enum value ${d.typeName}.${h}`}})}((a=n?.nestedEnums)!==null&&a!==void 0?a:t.enums).push(d)}function UA(e,t,n,r,o){var i,s,l,a;let c={kind:"message",proto:e,deprecated:(s=(i=e.options)===null||i===void 0?void 0:i.deprecated)!==null&&s!==void 0?s:!1,file:t,parent:n,name:e.name,typeName:gl(e,n,t),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((l=e.options)===null||l===void 0?void 0:l.mapEntry)===!0?o.add(c):(((a=n?.nestedMessages)!==null&&a!==void 0?a:t.messages).push(c),r.add(c));for(let d of e.enumType)yA(d,t,c,r);for(let d of e.nestedType)UA(d,t,c,r,o)}function yC(e,t,n){var r,o;let i={kind:"service",proto:e,deprecated:(o=(r=e.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,file:t,name:e.name,typeName:gl(e,void 0,t),methods:[],method:{},toString(){return`service ${this.typeName}`}};t.services.push(i),n.add(i);for(let s of e.method){let l=UC(s,i,n);i.methods.push(l),i.method[l.localName]=l}}function UC(e,t,n){var r,o,i,s;let l;e.clientStreaming&&e.serverStreaming?l="bidi_streaming":e.clientStreaming?l="client_streaming":e.serverStreaming?l="server_streaming":l="unary";let a=n.getMessage(tn(e.inputType)),c=n.getMessage(tn(e.outputType));St(a,`invalid MethodDescriptorProto: input_type ${e.inputType} not found`),St(c,`invalid MethodDescriptorProto: output_type ${e.inputType} not found`);let d=e.name;return{kind:"rpc",proto:e,deprecated:(o=(r=e.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,parent:t,name:d,localName:Mr(d.length?Mr(d[0].toLowerCase()+d.substring(1)):d),methodKind:l,input:a,output:c,idempotency:(s=(i=e.options)===null||i===void 0?void 0:i.idempotencyLevel)!==null&&s!==void 0?s:NC,toString(){return`rpc ${t.typeName}.${d}`}}}function wC(e,t){return{kind:"oneof",proto:e,deprecated:!1,parent:t,fields:[],name:e.name,localName:Mr(Sn(e.name)),toString(){return`oneof ${t.typeName}.${this.name}`}}}function Ld(e,t,n,r,o){var i,s,l;let a=o===void 0,c={kind:"field",proto:e,deprecated:(s=(i=e.options)===null||i===void 0?void 0:i.deprecated)!==null&&s!==void 0?s:!1,name:e.name,number:e.number,scalar:void 0,message:void 0,enum:void 0,presence:QC(e,r,a,t),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(a){let b=t.kind=="file"?t:t.file,f=t.kind=="file"?void 0:t,A=gl(e,f,b);c.kind="extension",c.file=b,c.parent=f,c.oneof=void 0,c.typeName=A,c.jsonName=`[${A}]`,c.toString=()=>`extension ${A}`;let m=n.getMessage(tn(e.extendee));St(m,`invalid FieldDescriptorProto: extendee ${e.extendee} not found`),c.extendee=m}else{let b=t;St(b.kind=="message"),c.parent=b,c.oneof=r,c.localName=r?Sn(e.name):Mr(Sn(e.name)),c.jsonName=e.jsonName,c.toString=()=>`field ${b.typeName}.${e.name}`}let d=e.label,u=e.type,h=(l=e.options)===null||l===void 0?void 0:l.jstype;if(d===Hd){let b=u==mi?o?.get(tn(e.typeName)):void 0;if(b){c.fieldKind="map";let{key:f,value:A}=KC(b);return c.mapKey=f.scalar,c.mapKind=A.fieldKind,c.message=A.message,c.delimitedEncoding=!1,c.enum=A.enum,c.scalar=A.scalar,c}switch(c.fieldKind="list",u){case mi:case Ai:c.listKind="message",c.message=n.getMessage(tn(e.typeName)),St(c.message),c.delimitedEncoding=CA(e,t);break;case IA:c.listKind="enum",c.enum=n.getEnum(tn(e.typeName)),St(c.enum);break;default:c.listKind="scalar",c.scalar=u,c.longAsString=h==NA;break}return c.packed=TC(e,t),c}switch(u){case mi:case Ai:c.fieldKind="message",c.message=n.getMessage(tn(e.typeName)),St(c.message,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),c.delimitedEncoding=CA(e,t),c.getDefaultValue=()=>{};break;case IA:{let b=n.getEnum(tn(e.typeName));St(b!==void 0,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),c.fieldKind="enum",c.enum=n.getEnum(tn(e.typeName)),c.getDefaultValue=()=>tr(e,"defaultValue")?WA(b,e.defaultValue):void 0;break}default:{c.fieldKind="scalar",c.scalar=u,c.longAsString=h==NA,c.getDefaultValue=()=>tr(e,"defaultValue")?GA(u,e.defaultValue):void 0;break}}return c}function xC(e){switch(e.syntax){case"":case"proto2":return SC;case"proto3":return XC;case"editions":if(e.edition in YA)return e.edition;throw new Error(`${e.name}: unsupported edition`);default:throw new Error(`${e.name}: unsupported syntax "${e.syntax}"`)}}function vC(e,t){return e.dependency.map(n=>{let r=t.getFile(n);if(!r)throw new Error(`Cannot find ${n}, imported by ${e.name}`);return r})}function JC(e,t){let n=kC(e)+"_";for(let r of t){if(!r.name.toLowerCase().startsWith(n))return;let o=r.name.substring(n.length);if(o.length==0||/^\d/.test(o))return}return n}function kC(e){return(e.substring(0,1)+e.substring(1).replace(/[A-Z]/g,t=>"_"+t)).toLowerCase()}function gl(e,t,n){let r;return t?r=`${t.typeName}.${e.name}`:n.proto.package.length>0?r=`${n.proto.package}.${e.name}`:r=`${e.name}`,r}function tn(e){return e.startsWith(".")?e.substring(1):e}function _C(e,t){if(!tr(e,"oneofIndex")||e.proto3Optional)return;let n=t[e.oneofIndex];return St(n,`invalid FieldDescriptorProto: oneof #${e.oneofIndex} for field #${e.number} not found`),n}function QC(e,t,n,r){if(e.label==IC)return FC;if(e.label==Hd)return FA;if(t||e.proto3Optional||n)return Kd;let o=Or("fieldPresence",{proto:e,parent:r});return o==FA&&(e.type==mi||e.type==Ai)?Kd:o}function TC(e,t){if(e.label!=Hd)return!1;switch(e.type){case WC:case GC:case Ai:case mi:return!1}let n=e.options;return n&&tr(n,"packed")?n.packed:BC==Or("repeatedFieldEncoding",{proto:e,parent:t})}function KC(e){let t=e.fields.find(r=>r.number===1),n=e.fields.find(r=>r.number===2);return St(t&&t.fieldKind=="scalar"&&t.scalar!=I.BYTES&&t.scalar!=I.FLOAT&&t.scalar!=I.DOUBLE&&n&&n.fieldKind!="list"&&n.fieldKind!="map"),{key:t,value:n}}function zC(e){var t;return YC==Or("enumType",{proto:e.proto,parent:(t=e.parent)!==null&&t!==void 0?t:e.file})}function CA(e,t){return e.type==Ai?!0:CC==Or("messageEncoding",{proto:e,parent:t})}function Or(e,t){var n,r;let o=(n=t.proto.options)===null||n===void 0?void 0:n.features;if(o){let i=o[e];if(i!=0)return i}if("kind"in t){if(t.kind=="message")return Or(e,(r=t.parent)!==null&&r!==void 0?r:t.file);let i=YA[t.edition];if(!i)throw new Error(`feature default for edition ${t.edition} not found`);return i[e]}return Or(e,t.parent)}function St(e,t){if(!e)throw new Error(t)}function wA(e){let t=DC(e);return t.messageType.forEach(fi),Vl(t,()=>{}).getFile(t.name)}function DC(e){return Object.assign(Object.create({syntax:"",edition:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],optionDependency:[],service:[],extension:[]},e),{messageType:e.messageType.map(xA),enumType:e.enumType.map(vA)}))}function xA(e){var t,n,r,o,i,s,l,a;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:e.name,field:(n=(t=e.field)===null||t===void 0?void 0:t.map(LC))!==null&&n!==void 0?n:[],extension:[],nestedType:(o=(r=e.nestedType)===null||r===void 0?void 0:r.map(xA))!==null&&o!==void 0?o:[],enumType:(s=(i=e.enumType)===null||i===void 0?void 0:i.map(vA))!==null&&s!==void 0?s:[],extensionRange:(a=(l=e.extensionRange)===null||l===void 0?void 0:l.map(d=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},d)))!==null&&a!==void 0?a:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function LC(e){return Object.assign(Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},e),{options:e.options?HC(e.options):void 0}))}function HC(e){var t,n,r;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"},e),{targets:(t=e.targets)!==null&&t!==void 0?t:[],editionDefaults:(r=(n=e.editionDefaults)===null||n===void 0?void 0:n.map(i=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},i)))!==null&&r!==void 0?r:[],uninterpretedOption:[]}))}function vA(e){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:e.name,reservedName:[],reservedRange:[],value:e.value.map(n=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},n))})}function O(e,t,...n){return n.reduce((r,o)=>r.nestedMessages[o],e.messages[t])}var nn=wA({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"},{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}]}]});var rV=O(nn,1);var JA;(function(e){e[e.DECLARATION=0]="DECLARATION",e[e.UNVERIFIED=1]="UNVERIFIED"})(JA||(JA={}));var kA;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.GROUP=10]="GROUP",e[e.MESSAGE=11]="MESSAGE",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.ENUM=14]="ENUM",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(kA||(kA={}));var _A;(function(e){e[e.OPTIONAL=1]="OPTIONAL",e[e.REPEATED=3]="REPEATED",e[e.REQUIRED=2]="REQUIRED"})(_A||(_A={}));var QA;(function(e){e[e.SPEED=1]="SPEED",e[e.CODE_SIZE=2]="CODE_SIZE",e[e.LITE_RUNTIME=3]="LITE_RUNTIME"})(QA||(QA={}));var TA;(function(e){e[e.STRING=0]="STRING",e[e.CORD=1]="CORD",e[e.STRING_PIECE=2]="STRING_PIECE"})(TA||(TA={}));var KA;(function(e){e[e.JS_NORMAL=0]="JS_NORMAL",e[e.JS_STRING=1]="JS_STRING",e[e.JS_NUMBER=2]="JS_NUMBER"})(KA||(KA={}));var zA;(function(e){e[e.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",e[e.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",e[e.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(zA||(zA={}));var DA;(function(e){e[e.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",e[e.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",e[e.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",e[e.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",e[e.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",e[e.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",e[e.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",e[e.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",e[e.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",e[e.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD"})(DA||(DA={}));var pl;(function(e){e[e.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",e[e.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",e[e.IDEMPOTENT=2]="IDEMPOTENT"})(pl||(pl={}));var LA;(function(e){e[e.DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",e[e.EXPORT_ALL=1]="EXPORT_ALL",e[e.EXPORT_TOP_LEVEL=2]="EXPORT_TOP_LEVEL",e[e.LOCAL_ALL=3]="LOCAL_ALL",e[e.STRICT=4]="STRICT"})(LA||(LA={}));var HA;(function(e){e[e.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",e[e.EXPLICIT=1]="EXPLICIT",e[e.IMPLICIT=2]="IMPLICIT",e[e.LEGACY_REQUIRED=3]="LEGACY_REQUIRED"})(HA||(HA={}));var MA;(function(e){e[e.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",e[e.OPEN=1]="OPEN",e[e.CLOSED=2]="CLOSED"})(MA||(MA={}));var OA;(function(e){e[e.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",e[e.PACKED=1]="PACKED",e[e.EXPANDED=2]="EXPANDED"})(OA||(OA={}));var jA;(function(e){e[e.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",e[e.VERIFY=2]="VERIFY",e[e.NONE=3]="NONE"})(jA||(jA={}));var PA;(function(e){e[e.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",e[e.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",e[e.DELIMITED=2]="DELIMITED"})(PA||(PA={}));var qA;(function(e){e[e.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",e[e.ALLOW=1]="ALLOW",e[e.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT"})(qA||(qA={}));var $A;(function(e){e[e.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",e[e.STYLE2024=1]="STYLE2024",e[e.STYLE_LEGACY=2]="STYLE_LEGACY"})($A||($A={}));var eV;(function(e){e[e.NONE=0]="NONE",e[e.SET=1]="SET",e[e.ALIAS=2]="ALIAS"})(eV||(eV={}));var tV;(function(e){e[e.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",e[e.EDITION_LEGACY=900]="EDITION_LEGACY",e[e.EDITION_PROTO2=998]="EDITION_PROTO2",e[e.EDITION_PROTO3=999]="EDITION_PROTO3",e[e.EDITION_2023=1e3]="EDITION_2023",e[e.EDITION_2024=1001]="EDITION_2024",e[e.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",e[e.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",e[e.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",e[e.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",e[e.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",e[e.EDITION_MAX=2147483647]="EDITION_MAX"})(tV||(tV={}));var nV;(function(e){e[e.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",e[e.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",e[e.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(nV||(nV={}));var oV={readUnknownFields:!0};function MC(e){return e?Object.assign(Object.assign({},oV),e):oV}function rn(e,t,n){let r=ke(e,void 0,!1);return iV(r,new nr(t),MC(n),!1,t.byteLength),r.message}function iV(e,t,n,r,o){var i;let s=r?t.len:t.pos+o,l,a,c=(i=e.getUnknown())!==null&&i!==void 0?i:[];for(;t.pos<s&&([l,a]=t.tag(),!(r&&a==me.EndGroup));){let d=e.findNumber(l);if(!d){let u=t.skip(a,l);n.readUnknownFields&&c.push({no:l,wireType:a,data:u});continue}Md(e,t,d,a,n)}if(r&&(a!=me.EndGroup||l!==o))throw new Error("invalid end group tag");c.length>0&&e.setUnknown(c)}function Md(e,t,n,r,o){var i;switch(n.fieldKind){case"scalar":e.set(n,jr(t,n.scalar));break;case"enum":let s=jr(t,I.INT32);if(n.enum.open)e.set(n,s);else if(n.enum.values.some(a=>a.number===s))e.set(n,s);else if(o.readUnknownFields){let a=new Zn().int32(s).finish(),c=(i=e.getUnknown())!==null&&i!==void 0?i:[];c.push({no:n.number,wireType:r,data:a}),e.setUnknown(c)}break;case"message":e.set(n,Od(t,o,n,e.get(n)));break;case"list":jC(t,r,e.get(n),o);break;case"map":OC(t,e.get(n),o);break}}function OC(e,t,n){let r=t.field(),o,i,s=e.pos+e.uint32();for(;e.pos<s;){let[l]=e.tag();switch(l){case 1:o=jr(e,r.mapKey);break;case 2:switch(r.mapKind){case"scalar":i=jr(e,r.scalar);break;case"enum":i=e.int32();break;case"message":i=Od(e,n,r);break}break}}if(o===void 0&&(o=st(r.mapKey,!1)),i===void 0)switch(r.mapKind){case"scalar":i=st(r.scalar,!1);break;case"enum":i=r.enum.values[0].number;break;case"message":i=ke(r.message,void 0,!1);break}t.set(o,i)}function jC(e,t,n,r){var o;let i=n.field();if(i.listKind==="message"){n.add(Od(e,r,i));return}let s=(o=i.scalar)!==null&&o!==void 0?o:I.INT32;if(!(t==me.LengthDelimited&&s!=I.STRING&&s!=I.BYTES)){n.add(jr(e,s));return}let a=e.uint32()+e.pos;for(;e.pos<a;)n.add(jr(e,s))}function Od(e,t,n,r){let o=n.delimitedEncoding,i=r??ke(n.message,void 0,!1);return iV(i,e,t,o,o?n.number:e.uint32()),i}function jr(e,t){switch(t){case I.STRING:return e.string();case I.BOOL:return e.bool();case I.DOUBLE:return e.double();case I.FLOAT:return e.float();case I.INT32:return e.int32();case I.INT64:return e.int64();case I.UINT64:return e.uint64();case I.FIXED64:return e.fixed64();case I.BYTES:return e.bytes();case I.FIXED32:return e.fixed32();case I.SFIXED32:return e.sfixed32();case I.SFIXED64:return e.sfixed64();case I.SINT64:return e.sint64();case I.UINT32:return e.uint32();case I.SINT32:return e.sint32()}}function k(e,t){var n;let r=rn(rV,Hr(e));return r.messageType.forEach(fi),r.dependency=(n=t?.map(i=>i.proto.name))!==null&&n!==void 0?n:[],Vl(r,i=>t?.find(s=>s.proto.name===i)).getFile(r.name)}var ee=k("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM");var rr=k("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),sV=O(rr,0);var PC=3,lV={writeUnknownFields:!0};function qC(e){return e?Object.assign(Object.assign({},lV),e):lV}function Vi(e,t,n){return El(new Zn,qC(n),ke(e,t)).finish()}function El(e,t,n){var r;for(let o of n.sortedFields){if(!n.isSet(o)){if(o.presence==PC)throw new Error(`cannot encode ${o} to binary: required field not set`);continue}jd(e,t,n,o)}if(t.writeUnknownFields)for(let{no:o,wireType:i,data:s}of(r=n.getUnknown())!==null&&r!==void 0?r:[])e.tag(o,i).raw(s);return e}function jd(e,t,n,r){var o;switch(r.fieldKind){case"scalar":case"enum":Rl(e,n.desc.typeName,r.name,(o=r.scalar)!==null&&o!==void 0?o:I.INT32,r.number,n.get(r));break;case"list":$C(e,t,r,n.get(r));break;case"message":aV(e,t,r,n.get(r));break;case"map":for(let[i,s]of n.get(r))e9(e,t,r,i,s);break}}function Rl(e,t,n,r,o,i){cV(e.tag(o,t9(r)),t,n,r,i)}function aV(e,t,n,r){n.delimitedEncoding?El(e.tag(n.number,me.StartGroup),t,r).tag(n.number,me.EndGroup):El(e.tag(n.number,me.LengthDelimited).fork(),t,r).join()}function $C(e,t,n,r){var o;if(n.listKind=="message"){for(let s of r)aV(e,t,n,s);return}let i=(o=n.scalar)!==null&&o!==void 0?o:I.INT32;if(n.packed){if(!r.size)return;e.tag(n.number,me.LengthDelimited).fork();for(let s of r)cV(e,n.parent.typeName,n.name,i,s);e.join();return}for(let s of r)Rl(e,n.parent.typeName,n.name,i,n.number,s)}function e9(e,t,n,r,o){var i;switch(e.tag(n.number,me.LengthDelimited).fork(),Rl(e,n.parent.typeName,n.name,n.mapKey,1,r),n.mapKind){case"scalar":case"enum":Rl(e,n.parent.typeName,n.name,(i=n.scalar)!==null&&i!==void 0?i:I.INT32,2,o);break;case"message":El(e.tag(2,me.LengthDelimited).fork(),t,o).join();break}e.join()}function cV(e,t,n,r,o){try{switch(r){case I.STRING:e.string(o);break;case I.BOOL:e.bool(o);break;case I.DOUBLE:e.double(o);break;case I.FLOAT:e.float(o);break;case I.INT32:e.int32(o);break;case I.INT64:e.int64(o);break;case I.UINT64:e.uint64(o);break;case I.FIXED64:e.fixed64(o);break;case I.BYTES:e.bytes(o);break;case I.FIXED32:e.fixed32(o);break;case I.SFIXED32:e.sfixed32(o);break;case I.SFIXED64:e.sfixed64(o);break;case I.SINT64:e.sint64(o);break;case I.UINT32:e.uint32(o);break;case I.SINT32:e.sint32(o);break}}catch(i){throw i instanceof Error?new Error(`cannot encode field ${t}.${n} to binary: ${i.message}`):i}}function t9(e){switch(e){case I.BYTES:case I.STRING:return me.LengthDelimited;case I.DOUBLE:case I.FIXED64:case I.SFIXED64:return me.Bit64;case I.FIXED32:case I.SFIXED32:case I.FLOAT:return me.Bit32;default:return me.Varint}}function dV(e,t,n){let r=!1;return n||(n=Je(sV),r=!0),n.value=Vi(e,t),n.typeUrl=o9(t.$typeName),r?n:void 0}function r9(e,t){if(e.typeUrl==="")return!1;let n=typeof t=="string"?t:t.typeName,r=hV(e.typeUrl);return n===r}function uV(e,t){if(e.typeUrl==="")return;let n=t.kind=="message"?t:t.getMessage(hV(e.typeUrl));if(!(!n||!r9(e,n)))return rn(n,e.value)}function o9(e){return`type.googleapis.com/${e}`}function hV(e){let t=e.lastIndexOf("/"),n=t>=0?e.substring(t+1):e;if(!n.length)throw new Error(`invalid type url: ${e}`);return n}function Pd(e,t,...n){if(n.length==0)return e.extensions[t];let r=n.pop();return n.reduce((o,i)=>o.nestedMessages[i],e.messages[t]).nestedExtensions[r]}var bV=k("CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIhoKCUZpZWxkTWFzaxINCgVwYXRocxgBIAMoCUKFAQoTY29tLmdvb2dsZS5wcm90b2J1ZkIORmllbGRNYXNrUHJvdG9QAVoyZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vZmllbGRtYXNrcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw");var qd=k("Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),fV=O(qd,0),$d=O(qd,1),mV=O(qd,2),Zl;(function(e){e[e.NULL_VALUE=0]="NULL_VALUE"})(Zl||(Zl={}));function Sl(e,t){AV(t,e);let n=i9(e.$unknown,t),[r,o,i]=or(t);for(let s of n)Md(r,new nr(s.data),o,s.wireType,{readUnknownFields:!0});return i()}function eu(e,t,n){var r;AV(t,e);let o=((r=e.$unknown)!==null&&r!==void 0?r:[]).filter(c=>c.no!==t.number),[i,s]=or(t,n),l=new Zn;jd(l,{writeUnknownFields:!0},i,s);let a=new nr(l.finish());for(;a.pos<a.len;){let[c,d]=a.tag(),u=a.skip(d,c);o.push({no:c,wireType:d,data:u})}e.$unknown=o}function tu(e,t){let n=e.proto.options;if(!n){let[,,r]=or(t);return r()}return Sl(n,t)}function i9(e,t){if(e===void 0)return[];if(t.fieldKind==="enum"||t.fieldKind==="scalar"){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.number)return[e[n]];return[]}return e.filter(n=>n.no===t.number)}function or(e,t){let n=e.typeName,r=Object.assign(Object.assign({},e),{kind:"field",parent:e.extendee,localName:n}),o=Object.assign(Object.assign({},e.extendee),{fields:[r],members:[r],oneofs:[]}),i=Je(o,t!==void 0?{[n]:t}:void 0);return[ke(o,i),r,()=>{let s=i[n];if(s===void 0){let l=e.message;return Ut(l)?st(l.fields[0].scalar,l.fields[0].longAsString):Je(l)}return s}]}function AV(e,t){if(e.extendee.typeName!=t.$typeName)throw new Error(`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}var s9=3,l9=2,VV={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function a9(e){return e?Object.assign(Object.assign({},VV),e):VV}function Xl(e,t,n){return gi(ke(e,t),a9(n))}function pV(e,t,n){var r;let o=Xl(e,t,n);return JSON.stringify(o,null,(r=n?.prettySpaces)!==null&&r!==void 0?r:0)}function gi(e,t){var n;let r=h9(e,t);if(r!==void 0)return r;let o={};for(let i of e.sortedFields){if(!e.isSet(i)){if(i.presence==s9)throw new Error(`cannot encode ${i} to JSON: required field not set`);if(!t.alwaysEmitImplicit||i.presence!==l9)continue}let s=gV(i,e.get(i),t);s!==void 0&&(o[u9(i,t)]=s)}if(t.registry){let i=new Set;for(let{no:s}of(n=e.getUnknown())!==null&&n!==void 0?n:[])if(!i.has(s)){i.add(s);let l=t.registry.getExtensionFor(e.desc,s);if(!l)continue;let a=Sl(e.message,l),[c,d]=or(l,a),u=gV(d,c.get(d),t);u!==void 0&&(o[l.jsonName]=u)}}return o}function gV(e,t,n){switch(e.fieldKind){case"scalar":return Wl(e,t);case"message":return gi(t,n);case"enum":return nu(e.enum,t,n.enumAsInteger);case"list":return d9(t,n);case"map":return c9(t,n)}}function c9(e,t){let n=e.field(),r={};switch(n.mapKind){case"scalar":for(let[o,i]of e)r[o]=Wl(n,i);break;case"message":for(let[o,i]of e)r[o]=gi(i,t);break;case"enum":for(let[o,i]of e)r[o]=nu(n.enum,i,t.enumAsInteger);break}return t.alwaysEmitImplicit||e.size>0?r:void 0}function d9(e,t){let n=e.field(),r=[];switch(n.listKind){case"scalar":for(let o of e)r.push(Wl(n,o));break;case"enum":for(let o of e)r.push(nu(n.enum,o,t.enumAsInteger));break;case"message":for(let o of e)r.push(gi(o,t));break}return t.alwaysEmitImplicit||r.length>0?r:void 0}function nu(e,t,n){var r;if(typeof t!="number")throw new Error(`cannot encode ${e} to JSON: expected number, got ${We(t)}`);if(e.typeName=="google.protobuf.NullValue")return null;if(n)return t;let o=e.value[t];return(r=o?.name)!==null&&r!==void 0?r:t}function Wl(e,t){var n,r,o,i,s,l;switch(e.scalar){case I.INT32:case I.SFIXED32:case I.SINT32:case I.FIXED32:case I.UINT32:if(typeof t!="number")throw new Error(`cannot encode ${e} to JSON: ${(n=en(e,t))===null||n===void 0?void 0:n.message}`);return t;case I.FLOAT:case I.DOUBLE:if(typeof t!="number")throw new Error(`cannot encode ${e} to JSON: ${(r=en(e,t))===null||r===void 0?void 0:r.message}`);return Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case I.STRING:if(typeof t!="string")throw new Error(`cannot encode ${e} to JSON: ${(o=en(e,t))===null||o===void 0?void 0:o.message}`);return t;case I.BOOL:if(typeof t!="boolean")throw new Error(`cannot encode ${e} to JSON: ${(i=en(e,t))===null||i===void 0?void 0:i.message}`);return t;case I.UINT64:case I.FIXED64:case I.INT64:case I.SFIXED64:case I.SINT64:if(typeof t!="bigint"&&typeof t!="string")throw new Error(`cannot encode ${e} to JSON: ${(s=en(e,t))===null||s===void 0?void 0:s.message}`);return t.toString();case I.BYTES:if(t instanceof Uint8Array)return bi(t);throw new Error(`cannot encode ${e} to JSON: ${(l=en(e,t))===null||l===void 0?void 0:l.message}`)}}function u9(e,t){return t.useProtoFieldName?e.name:e.jsonName}function h9(e,t){if(e.desc.typeName.startsWith("google.protobuf."))switch(e.desc.typeName){case"google.protobuf.Any":return b9(e.message,t);case"google.protobuf.Timestamp":return A9(e.message);case"google.protobuf.Duration":return f9(e.message);case"google.protobuf.FieldMask":return m9(e.message);case"google.protobuf.Struct":return EV(e.message);case"google.protobuf.Value":return ru(e.message);case"google.protobuf.ListValue":return RV(e.message);default:if(Ut(e.desc)){let n=e.desc.fields[0];return Wl(n,e.get(n))}return}}function b9(e,t){if(e.typeUrl==="")return{};let{registry:n}=t,r,o;if(n&&(r=uV(e,n),r&&(o=n.getMessage(r.$typeName))),!o||!r)throw new Error(`cannot encode message ${e.$typeName} to JSON: "${e.typeUrl}" is not in the type registry`);let i=gi(ke(o,r),t);return(o.typeName.startsWith("google.protobuf.")||i===null||Array.isArray(i)||typeof i!="object")&&(i={value:i}),i["@type"]=e.typeUrl,i}function f9(e){if(Number(e.seconds)>315576e6||Number(e.seconds)<-315576e6)throw new Error(`cannot encode message ${e.$typeName} to JSON: value out of range`);let t=e.seconds.toString();if(e.nanos!==0){let n=Math.abs(e.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)),t+="."+n,e.nanos<0&&Number(e.seconds)==0&&(t="-"+t)}return t+"s"}function m9(e){return e.paths.map(t=>{if(t.match(/_[0-9]?_/g)||t.match(/[A-Z]/g))throw new Error(`cannot encode message ${e.$typeName} to JSON: lowerCamelCase of path name "`+t+'" is irreversible');return Sn(t)}).join(",")}function EV(e){let t={};for(let[n,r]of Object.entries(e.fields))t[n]=ru(r);return t}function ru(e){switch(e.kind.case){case"nullValue":return null;case"numberValue":if(!Number.isFinite(e.kind.value))throw new Error(`${e.$typeName} cannot be NaN or Infinity`);return e.kind.value;case"boolValue":return e.kind.value;case"stringValue":return e.kind.value;case"structValue":return EV(e.kind.value);case"listValue":return RV(e.kind.value);default:throw new Error(`${e.$typeName} must have a value`)}}function RV(e){return e.values.map(ru)}function A9(e){let t=Number(e.seconds)*1e3;if(t<Date.parse("0001-01-01T00:00:00Z")||t>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot encode message ${e.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(e.nanos<0)throw new Error(`cannot encode message ${e.$typeName} to JSON: nanos must not be negative`);let n="Z";if(e.nanos>0){let r=(e.nanos+1e9).toString().substring(1);r.substring(3)==="000000"?n="."+r.substring(0,3)+"Z":r.substring(6)==="000"?n="."+r.substring(0,6)+"Z":n="."+r+"Z"}return new Date(t).toISOString().replace(".000Z",n)}var ZV={ignoreUnknownFields:!1};function V9(e){return e?Object.assign(Object.assign({},ZV),e):ZV}function XV(e,t,n){return pi(e,X9(t,e.typeName),n)}function pi(e,t,n){let r=ke(e);try{Pr(r,t,V9(n))}catch(o){throw dA(o)?new Error(`cannot decode ${o.field()} from JSON: ${o.message}`,{cause:o}):o}return r.message}function Pr(e,t,n){var r;if(W9(e,t,n))return;if(t==null||Array.isArray(t)||typeof t!="object")throw new Error(`cannot decode ${e.desc} from JSON: ${We(t)}`);let o=new Map,i=new Map;for(let s of e.desc.fields)i.set(s.name,s).set(s.jsonName,s);for(let[s,l]of Object.entries(t)){let a=i.get(s);if(a){if(a.oneof){if(l===null&&a.fieldKind=="scalar")continue;let c=o.get(a.oneof);if(c!==void 0)throw new Ie(a.oneof,`oneof set multiple times by ${c.name} and ${a.name}`);o.set(a.oneof,a)}SV(e,a,l,n)}else{let c;if(s.startsWith("[")&&s.endsWith("]")&&(c=(r=n.registry)===null||r===void 0?void 0:r.getExtension(s.substring(1,s.length-1)))&&c.extendee.typeName===e.desc.typeName){let[d,u,h]=or(c);SV(d,u,l,n),eu(e.message,c,h())}if(!c&&!n.ignoreUnknownFields)throw new Error(`cannot decode ${e.desc} from JSON: key "${s}" is unknown`)}}}function SV(e,t,n,r){switch(t.fieldKind){case"scalar":Z9(e,t,n);break;case"enum":R9(e,t,n,r);break;case"message":E9(e,t,n,r);break;case"list":p9(e.get(t),n,r);break;case"map":g9(e.get(t),n,r);break}}function g9(e,t,n){if(t===null)return;let r=e.field();if(typeof t!="object"||Array.isArray(t))throw new Ie(r,"expected object, got "+We(t));for(let[o,i]of Object.entries(t)){if(i===null)throw new Ie(r,"map value must not be null");let s;switch(r.mapKind){case"message":let a=ke(r.message);Pr(a,i,n),s=a;break;case"enum":if(s=ou(r.enum,i,n.ignoreUnknownFields,!0),s===Gl)return;break;case"scalar":s=Nl(r,i,!0);break}let l=S9(r.mapKey,o);e.set(l,s)}}function p9(e,t,n){if(t===null)return;let r=e.field();if(!Array.isArray(t))throw new Ie(r,"expected Array, got "+We(t));for(let o of t){if(o===null)throw new Ie(r,"list item must not be null");switch(r.listKind){case"message":let i=ke(r.message);Pr(i,o,n),e.add(i);break;case"enum":let s=ou(r.enum,o,n.ignoreUnknownFields,!0);s!==Gl&&e.add(s);break;case"scalar":e.add(Nl(r,o,!0));break}}}function E9(e,t,n,r){if(n===null&&t.message.typeName!="google.protobuf.Value"){e.clear(t);return}let o=e.isSet(t)?e.get(t):ke(t.message);Pr(o,n,r),e.set(t,o)}function R9(e,t,n,r){let o=ou(t.enum,n,r.ignoreUnknownFields,!1);o===Il?e.clear(t):o!==Gl&&e.set(t,o)}function Z9(e,t,n){let r=Nl(t,n,!1);r===Il?e.clear(t):e.set(t,r)}var Gl=Symbol();function ou(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].number:Il;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let o=e.values.find(i=>i.name===t);if(o!==void 0)return o.number;if(n)return Gl;break}throw new Error(`cannot decode ${e} from JSON: ${We(t)}`)}var Il=Symbol();function Nl(e,t,n){if(t===null)return n?st(e.scalar,!1):Il;switch(e.scalar){case I.DOUBLE:case I.FLOAT:if(t==="NaN")return NaN;if(t==="Infinity")return Number.POSITIVE_INFINITY;if(t==="-Infinity")return Number.NEGATIVE_INFINITY;if(typeof t=="number"){if(Number.isNaN(t))throw new Ie(e,"unexpected NaN number");if(!Number.isFinite(t))throw new Ie(e,"unexpected infinite number");break}if(typeof t=="string"){if(t===""||t.trim().length!==t.length)break;let r=Number(t);if(!Number.isFinite(r))break;return r}break;case I.INT32:case I.FIXED32:case I.SFIXED32:case I.SINT32:case I.UINT32:return WV(t);case I.BYTES:if(typeof t=="string"){if(t==="")return new Uint8Array(0);try{return Hr(t)}catch(r){let o=r instanceof Error?r.message:String(r);throw new Ie(e,o)}}break}return t}function S9(e,t){switch(e){case I.BOOL:switch(t){case"true":return!0;case"false":return!1}return t;case I.INT32:case I.FIXED32:case I.UINT32:case I.SFIXED32:case I.SINT32:return WV(t);default:return t}}function WV(e){if(typeof e=="string"){if(e===""||e.trim().length!==e.length)return e;let t=Number(e);return Number.isNaN(t)?e:t}return e}function X9(e,t){try{return JSON.parse(e)}catch(n){let r=n instanceof Error?n.message:String(n);throw new Error(`cannot decode message ${t} from JSON: ${r}`,{cause:n})}}function W9(e,t,n){if(!e.desc.typeName.startsWith("google.protobuf."))return!1;switch(e.desc.typeName){case"google.protobuf.Any":return G9(e.message,t,n),!0;case"google.protobuf.Timestamp":return I9(e.message,t),!0;case"google.protobuf.Duration":return N9(e.message,t),!0;case"google.protobuf.FieldMask":return F9(e.message,t),!0;case"google.protobuf.Struct":return GV(e.message,t),!0;case"google.protobuf.Value":return iu(e.message,t),!0;case"google.protobuf.ListValue":return IV(e.message,t),!0;default:if(Ut(e.desc)){let r=e.desc.fields[0];return t===null?e.clear(r):e.set(r,Nl(r,t,!0)),!0}return!1}}function G9(e,t,n){var r;if(t===null||Array.isArray(t)||typeof t!="object")throw new Error(`cannot decode message ${e.$typeName} from JSON: expected object but got ${We(t)}`);if(Object.keys(t).length==0)return;let o=t["@type"];if(typeof o!="string"||o=="")throw new Error(`cannot decode message ${e.$typeName} from JSON: "@type" is empty`);let i=o.includes("/")?o.substring(o.lastIndexOf("/")+1):o;if(!i.length)throw new Error(`cannot decode message ${e.$typeName} from JSON: "@type" is invalid`);let s=(r=n.registry)===null||r===void 0?void 0:r.getMessage(i);if(!s)throw new Error(`cannot decode message ${e.$typeName} from JSON: ${o} is not in the type registry`);let l=ke(s);if(i.startsWith("google.protobuf.")&&Object.prototype.hasOwnProperty.call(t,"value")){let a=t.value;Pr(l,a,n)}else{let a=Object.assign({},t);delete a["@type"],Pr(l,a,n)}dV(l.desc,l.message,e)}function I9(e,t){if(typeof t!="string")throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);let n=t.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 ${e.$typeName} from JSON: invalid RFC 3339 string`);let r=Date.parse(n[1]+"-"+n[2]+"-"+n[3]+"T"+n[4]+":"+n[5]+":"+n[6]+(n[8]?n[8]:"Z"));if(Number.isNaN(r))throw new Error(`cannot decode message ${e.$typeName} from JSON: invalid RFC 3339 string`);if(r<Date.parse("0001-01-01T00:00:00Z")||r>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot decode message ${e.$typeName} from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);e.seconds=ae.parse(r/1e3),e.nanos=0,n[7]&&(e.nanos=parseInt("1"+n[7]+"0".repeat(9-n[7].length))-1e9)}function N9(e,t){if(typeof t!="string")throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);let n=t.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(n===null)throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);let r=Number(n[1]);if(r>315576e6||r<-315576e6)throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);if(e.seconds=ae.parse(r),typeof n[2]!="string")return;let o=n[2]+"0".repeat(9-n[2].length);e.nanos=parseInt(o),(r<0||Object.is(r,-0))&&(e.nanos=-e.nanos)}function F9(e,t){if(typeof t!="string")throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);if(t==="")return;function n(r){if(r.includes("_"))throw new Error(`cannot decode message ${e.$typeName} from JSON: path names must be lowerCamelCase`);let o=r.replace(/[A-Z]/g,i=>"_"+i.toLowerCase());return o[0]==="_"?o.substring(1):o}e.paths=t.split(",").map(n)}function GV(e,t){if(typeof t!="object"||t==null||Array.isArray(t))throw new Error(`cannot decode message ${e.$typeName} from JSON ${We(t)}`);for(let[n,r]of Object.entries(t)){let o=Je($d);iu(o,r),e.fields[n]=o}}function iu(e,t){switch(typeof t){case"number":e.kind={case:"numberValue",value:t};break;case"string":e.kind={case:"stringValue",value:t};break;case"boolean":e.kind={case:"boolValue",value:t};break;case"object":if(t===null)e.kind={case:"nullValue",value:Zl.NULL_VALUE};else if(Array.isArray(t)){let n=Je(mV);IV(n,t),e.kind={case:"listValue",value:n}}else{let n=Je(fV);GV(n,t),e.kind={case:"structValue",value:n}}break;default:throw new Error(`cannot decode message ${e.$typeName} from JSON ${We(t)}`)}return e}function IV(e,t){if(!Array.isArray(t))throw new Error(`cannot decode message ${e.$typeName} from JSON ${We(t)}`);for(let n of t){let r=Je($d);iu(r,n),e.values.push(r)}}import{tmpdir as Hv}from"node:os";import{join as Mv}from"node:path";import{format as Ov,inspect as jv}from"node:util";import{homedir as NV}from"node:os";function FV(e){return e==="~"?NV():e.startsWith("~/")||e.startsWith("~\\")?NV()+e.slice(1):e}var Le=si(tZ(),1),rZ=Mv(Hv(),"augment-log.txt"),vh=Symbol.for("__hermes_meta_level__");function Pv(e){try{return JSON.stringify(e)}catch{return jv(e,{depth:3,breakLength:Number.POSITIVE_INFINITY,compact:!0})}}function qv(e,t,n){typeof t.message=="string"&&!t.message.includes(e.message)&&n.push(e.message),!t.stack&&e.stack&&(t.stack=e.stack)}function $v(e,t,n){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")n.push(String(e));else if(e instanceof Error)qv(e,t,n);else if(e&&typeof e=="object"){let{message:r,level:o,...i}=e;typeof r=="string"&&typeof t.message=="string"&&!t.message.includes(r)&&n.push(r),o!==void 0&&(t[vh]=o),Object.assign(t,i)}}var oZ=Le.default.format(e=>{let t=e[Symbol.for("splat")];if(!t||t.length===0)return e;if(typeof e.message=="string"&&/%[sdjifoOc%]/.test(e.message))try{return e.message=Ov(e.message,...t),e}catch{}let r=[];for(let o of t)$v(o,e,r);return r.length>0&&(e.message=`${e.message} ${r.join(" ")}`),e}),eJ=Le.default.format.combine(Le.default.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),Le.default.format.errors({stack:!0}),oZ(),Le.default.format.printf(e=>{let{timestamp:t,level:n,message:r,prefix:o,stack:i,...s}=e,l=o?` [${o}]`:"",a={};for(let b of Object.keys(s))a[b]=s[b];let c=e[vh];c!==void 0&&(a.level=c);let d=Object.keys(a).length>0?` ${Pv(a)}`:"",u=i?`
128
128
  ${String(i).split(`
129
129
  `).join(`
130
130
  `)}`:"",h=typeof n=="string"?n.toUpperCase():String(n??"INFO").toUpperCase();return`${t} ${h.padEnd(5)}${l} ${r}${d}${u}`})),tJ=Le.default.format.combine(Le.default.format.timestamp(),Le.default.format.errors({stack:!0}),oZ(),Le.default.format(e=>{let t=e[vh];return t!==void 0&&e.meta_level===void 0&&(e.meta_level=t),e})(),Le.default.format.json()),Qt,nZ=rZ;function nJ(e,t){nZ=e&&e!=="-"?FV(e):rZ;let n=t||process.env.LOG_LEVEL||"info",r=new Le.default.transports.File({filename:nZ,format:process.env.AUGMENT_LOG_FORMAT==="json"?tJ:eJ});Qt?(Qt.clear().add(r),Qt.level=n):Qt=Le.default.createLogger({level:n,transports:[r]})}var L=new Proxy({},{get(e,t,n){return Qt||nJ(),Reflect.get(Qt,t,n)}});function iZ(){let e=new Le.default.transports.Console({silent:!0});if(Qt){Qt.clear(),Qt.add(e);return}Qt=Le.default.createLogger({level:process.env.LOG_LEVEL||"info",transports:[e]})}var It=class extends Error{statusCode;statusText;responseBody;serverMessage;errorReason;constructor(t,n,r,o,i){let s=o??(r||void 0),l=s&&s.length>200?`${s.slice(0,200)}\u2026[truncated]`:s;super(l?`API call failed: ${t} ${n}: ${l}`:`API call failed: ${t} ${n}`),this.name="PoseidonRpcError",this.statusCode=t,this.statusText=n,this.responseBody=r,this.serverMessage=o,this.errorReason=i}get status(){return this.statusCode}},Li=class extends Error{constructor(t){super(t),this.name="UsageError"}},bo=class extends Error{residentId;resourceVersion;constructor(t,n){super(`Unable to find resident ${t} or resource version ${n}`),this.name="ResidentVersionLookupError",this.residentId=t,this.resourceVersion=n}},fo;(function(e){e[e.REASON_UNSPECIFIED=0]="REASON_UNSPECIFIED",e[e.END_TURN=1]="END_TURN",e[e.MAX_TOKENS=2]="MAX_TOKENS",e[e.TOOL_USE_REQUESTED=3]="TOOL_USE_REQUESTED",e[e.SAFETY=4]="SAFETY",e[e.RECITATION=5]="RECITATION",e[e.MALFORMED_FUNCTION_CALL=6]="MALFORMED_FUNCTION_CALL",e[e.STOP_REASON_ERROR=7]="STOP_REASON_ERROR"})(fo||(fo={}));var Jh;(function(e){e.chat="CHAT",e.agent="AGENT",e.remoteAgent="REMOTE_AGENT",e.orientation="ORIENTATION",e.cliAgent="CLI_AGENT",e.cliNoninteractive="CLI_NONINTERACTIVE"})(Jh||(Jh={}));var kh;(function(e){e[e.UNSET=0]="UNSET",e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=2]="NEGATIVE"})(kh||(kh={}));var _h;(function(e){e[e.TEXT=0]="TEXT",e[e.TOOL_RESULT=1]="TOOL_RESULT",e[e.IMAGE=2]="IMAGE",e[e.IMAGE_ID=3]="IMAGE_ID",e[e.IDE_STATE=4]="IDE_STATE",e[e.EDIT_EVENTS=5]="EDIT_EVENTS",e[e.CHECKPOINT_REF=6]="CHECKPOINT_REF",e[e.FILE=8]="FILE",e[e.FILE_ID=9]="FILE_ID",e[e.HISTORY_SUMMARY=10]="HISTORY_SUMMARY"})(_h||(_h={}));var Qh;(function(e){e[e.RAW_RESPONSE=0]="RAW_RESPONSE",e[e.SUGGESTED_QUESTIONS=1]="SUGGESTED_QUESTIONS",e[e.MAIN_TEXT_FINISHED=2]="MAIN_TEXT_FINISHED",e[e.WORKSPACE_FILE_CHUNKS=3]="WORKSPACE_FILE_CHUNKS",e[e.RELEVANT_SOURCES=4]="RELEVANT_SOURCES",e[e.TOOL_USE=5]="TOOL_USE",e[e.AGENT_MEMORY=6]="AGENT_MEMORY",e[e.TOOL_USE_START=7]="TOOL_USE_START",e[e.THINKING=8]="THINKING",e[e.BILLING_METADATA=9]="BILLING_METADATA",e[e.TOKEN_USAGE=10]="TOKEN_USAGE"})(Qh||(Qh={}));var Th;(function(e){e[e.ALWAYS_ATTACHED=0]="ALWAYS_ATTACHED",e[e.MANUAL=1]="MANUAL",e[e.AGENT_REQUESTED=2]="AGENT_REQUESTED"})(Th||(Th={}));var D;(function(e){e[e.Canceled=1]="Canceled",e[e.Unknown=2]="Unknown",e[e.InvalidArgument=3]="InvalidArgument",e[e.DeadlineExceeded=4]="DeadlineExceeded",e[e.NotFound=5]="NotFound",e[e.AlreadyExists=6]="AlreadyExists",e[e.PermissionDenied=7]="PermissionDenied",e[e.ResourceExhausted=8]="ResourceExhausted",e[e.FailedPrecondition=9]="FailedPrecondition",e[e.Aborted=10]="Aborted",e[e.OutOfRange=11]="OutOfRange",e[e.Unimplemented=12]="Unimplemented",e[e.Internal=13]="Internal",e[e.Unavailable=14]="Unavailable",e[e.DataLoss=15]="DataLoss",e[e.Unauthenticated=16]="Unauthenticated"})(D||(D={}));function Hi(e){let t=D[e];return typeof t!="string"?e.toString():t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase())}var Ca;function sZ(e){if(!Ca){Ca={};for(let t of Object.values(D))typeof t!="string"&&(Ca[Hi(t)]=t)}return Ca[e]}var se=class e extends Error{constructor(t,n=D.Unknown,r,o,i){super(rJ(t,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=t,this.code=n,this.metadata=new Headers(r??{}),this.details=o??[],this.cause=i}static from(t,n=D.Unknown){return t instanceof e?t:t instanceof Error?t.name=="AbortError"||t.name=="TimeoutError"?new e(t.message,D.Canceled):new e(t.message,n,void 0,void 0,t):new e(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===e.prototype?!0:t.name==="ConnectError"&&"code"in t&&typeof t.code=="number"&&"metadata"in t&&"details"in t&&Array.isArray(t.details)&&"rawMessage"in t&&typeof t.rawMessage=="string"&&"cause"in t:!1}findDetails(t){let n=t.kind==="message"?{getMessage:o=>o===t.typeName?t:void 0}:t,r=[];for(let o of this.details){if("desc"in o){n.getMessage(o.desc.typeName)&&r.push(Je(o.desc,o.value));continue}let i=n.getMessage(o.type);if(i)try{r.push(rn(i,o.value))}catch{}}return r}};function rJ(e,t){return e.length?`[${Hi(t)}] ${e}`:`[${Hi(t)}]`}function Kh(...e){let t=new Headers;for(let n of e)n.forEach((r,o)=>{t.append(o,r)});return t}function lZ(e,t){let n={};for(let r of e.methods){let o=t(r);o!=null&&(n[r.localName]=o)}return n}var Ya=1;function aZ(e,t,n=!1){if(t>e){let r=`message size is larger than configured readMaxBytes ${e}`;throw n&&(r=`message size ${t} is larger than configured readMaxBytes ${e}`),new se(r,D.ResourceExhausted)}}function oJ(e){return new zh(e)}var zh=class{constructor(t){this.readMaxBytes=t,this.header=new Uint8Array(5),this.headerView=new DataView(this.header.buffer),this.buf=[]}get byteLength(){return this.buf.reduce((t,n)=>t+n.byteLength,0)}decode(t){this.buf.push(t);let n=[];for(;;){let r=this.pop();if(!r)break;n.push(r)}return n}pop(){if(!(!this.env&&(this.env=this.head(),!this.env))&&this.cons(this.env.data)){let t=this.env;return this.env=void 0,t}}head(){if(!this.cons(this.header))return;let t=this.headerView.getUint8(0),n=this.headerView.getUint32(1);return aZ(this.readMaxBytes,n,!0),{flags:t,data:new Uint8Array(n)}}cons(t){let n=t.byteLength;if(this.byteLength<n)return!1;let r=0;for(;r<n;){let o=this.buf.shift();o.byteLength>n-r?(t.set(o.subarray(0,n-r),r),this.buf.unshift(o.subarray(n-r)),r+=n-r):(t.set(o,r),r+=o.byteLength)}return!0}};function Dh(e){let t,n=oJ(4294967295);return new ReadableStream({start(){t=e.getReader()},async pull(r){let o=!1;for(;!o;){let i=await t.read();if(i.done)n.byteLength>0&&r.error(new se("protocol error: incomplete envelope",D.InvalidArgument)),r.close();else for(let s of n.decode(i.value))r.enqueue(s),o=!0}}})}function Lh(e,t){let n=new Uint8Array(t.length+5);n.set(t,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,e),r.setUint32(1,t.length),n}var iJ=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(l,a){s=e[i](s),o(l,a,s.done,s.value)})}}function o(i,s,l,a){Promise.resolve(a).then(function(c){i({value:c,done:l})},s)}},Mi=function(e){return this instanceof Mi?(this.v=e,this):new Mi(e)},sJ=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(f){return Promise.resolve(f).then(b,u)}}function l(b,f){r[b]&&(o[b]=function(A){return new Promise(function(m,V){i.push([b,A,m,V])>1||a(b,A)})},f&&(o[b]=f(o[b])))}function a(b,f){try{c(r[b](f))}catch(A){h(i[0][3],A)}}function c(b){b.value instanceof Mi?Promise.resolve(b.value.v).then(d,u):h(i[0][2],b)}function d(b){a("next",b)}function u(b){a("throw",b)}function h(b,f){b(f),i.shift(),i.length&&a(i[0][0],i[0][1])}},lJ=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,i){t[o]=e[o]?function(s){return(n=!n)?{value:Mi(e[o](s)),done:!1}:i?i(s):s}:i}};function cZ(e){return sJ(this,arguments,function*(){yield Mi(yield*lJ(iJ(e)))})}var dZ=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(l,a){s=e[i](s),o(l,a,s.done,s.value)})}}function o(i,s,l,a){Promise.resolve(a).then(function(c){i({value:c,done:l})},s)}},mo=function(e){return this instanceof mo?(this.v=e,this):new mo(e)},aJ=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,i){t[o]=e[o]?function(s){return(n=!n)?{value:mo(e[o](s)),done:!1}:i?i(s):s}:i}},cJ=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(f){return Promise.resolve(f).then(b,u)}}function l(b,f){r[b]&&(o[b]=function(A){return new Promise(function(m,V){i.push([b,A,m,V])>1||a(b,A)})},f&&(o[b]=f(o[b])))}function a(b,f){try{c(r[b](f))}catch(A){h(i[0][3],A)}}function c(b){b.value instanceof mo?Promise.resolve(b.value.v).then(d,u):h(i[0][2],b)}function d(b){a("next",b)}function u(b){a("throw",b)}function h(b,f){b(f),i.shift(),i.length&&a(i[0][0],i[0][1])}};function Hh(e,t){return lZ(e,n=>{switch(n.methodKind){case"unary":return dJ(t,n);case"server_streaming":return uJ(t,n);case"client_streaming":return hJ(t,n);case"bidi_streaming":return bJ(t,n);default:return null}})}function dJ(e,t){return async(n,r)=>{var o,i;let s=await e.unary(t,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);return(o=r?.onHeader)===null||o===void 0||o.call(r,s.header),(i=r?.onTrailer)===null||i===void 0||i.call(r,s.trailer),s.message}}function uJ(e,t){return(n,r)=>uZ(e.stream(t,r?.signal,r?.timeoutMs,r?.headers,cZ([n]),r?.contextValues),r)}function hJ(e,t){return async(n,r)=>{var o,i,s,l,a,c;let d=await e.stream(t,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);(a=r?.onHeader)===null||a===void 0||a.call(r,d.header);let u,h=0;try{for(var b=!0,f=dZ(d.message),A;A=await f.next(),o=A.done,!o;b=!0)l=A.value,b=!1,u=l,h++}catch(m){i={error:m}}finally{try{!b&&!o&&(s=f.return)&&await s.call(f)}finally{if(i)throw i.error}}if(!u)throw new se("protocol error: missing response message",D.Unimplemented);if(h>1)throw new se("protocol error: received extra messages for client streaming method",D.Unimplemented);return(c=r?.onTrailer)===null||c===void 0||c.call(r,d.trailer),u}}function bJ(e,t){return(n,r)=>uZ(e.stream(t,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues),r)}function uZ(e,t){let n=(function(){return cJ(this,arguments,function*(){var r,o;let i=yield mo(e);(r=t?.onHeader)===null||r===void 0||r.call(t,i.header),yield mo(yield*aJ(dZ(i.message))),(o=t?.onTrailer)===null||o===void 0||o.call(t,i.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function hZ(...e){let t=new AbortController,n=e.filter(o=>o!==void 0).concat(t.signal);for(let o of n){if(o.aborted){r.apply(o);break}o.addEventListener("abort",r)}function r(){t.signal.aborted||t.abort(Mh(this));for(let o of n)o.removeEventListener("abort",r)}return t}function bZ(e){let t=new AbortController,n=()=>{t.abort(new se("the operation timed out",D.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function Mh(e){if(!e.aborted)return;if(e.reason!==void 0)return e.reason;let t=new Error("This operation was aborted");return t.name="AbortError",t}function ya(){return{get(e){return e.id in this?this[e.id]:e.defaultValue},set(e,t){return this[e.id]=t,this},delete(e){return delete this[e.id],this}}}function Ua(e,t,...n){if(n.length>0)throw new Error;return e.services[t]}function wa(e,t){return e.toString().replace(/\/?$/,`/${t.parent.typeName}/${t.name}`)}function Oh(e,t){return Je(e,t)}function fZ(e,t){function n(r){return r.done===!0?r:{done:r.done,value:Oh(e,r.value)}}return{[Symbol.asyncIterator](){let r=t[Symbol.asyncIterator](),o={next:()=>r.next().then(n)};return r.throw!==void 0&&(o.throw=i=>r.throw(i).then(n)),r.return!==void 0&&(o.return=i=>r.return(i).then(n)),o}}}function jh(e,t){if(!t)return e;for(let n of t.concat().reverse())e=n(e);return e}function xa(e){var t;let n=Object.assign({},e);return(t=n.ignoreUnknownFields)!==null&&t!==void 0||(n.ignoreUnknownFields=!0),n}function va(e,t,n,r){let o=t?mZ(e.input,r):AZ(e.input,n);return{parse:(t?mZ(e.output,r):AZ(e.output,n)).parse,serialize:o.serialize}}function mZ(e,t){return{parse(n){try{return rn(e,n,t)}catch(r){let o=r instanceof Error?r.message:String(r);throw new se(`parse binary: ${o}`,D.Internal)}},serialize(n){try{return Vi(e,n,t)}catch(r){let o=r instanceof Error?r.message:String(r);throw new se(`serialize binary: ${o}`,D.Internal)}}}}function AZ(e,t){var n,r;let o=(n=t?.textEncoder)!==null&&n!==void 0?n:new TextEncoder,i=(r=t?.textDecoder)!==null&&r!==void 0?r:new TextDecoder,s=xa(t);return{parse(l){try{let a=i.decode(l);return XV(e,a,s)}catch(a){throw se.from(a,D.InvalidArgument)}},serialize(l){try{let a=pV(e,l,s);return o.encode(a)}catch(a){throw se.from(a,D.Internal)}}}}var fJ=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;var VZ="application/proto",gZ="application/json",pZ="application/connect+proto",EZ="application/connect+json";function RZ(e){let t=e?.match(fJ);if(!t)return;let n=!!t[1],r=!!t[3];return{stream:n,binary:r}}function Oi(e,t,n){var r;if(t&&new Headers(t).forEach((l,a)=>n.metadata.append(a,l)),typeof e!="object"||e==null||Array.isArray(e))throw n;let o=n.code;"code"in e&&typeof e.code=="string"&&(o=(r=sZ(e.code))!==null&&r!==void 0?r:o);let i=e.message;if(i!=null&&typeof i!="string")throw n;let s=new se(i??"",o,t);if("details"in e&&Array.isArray(e.details))for(let l of e.details){if(l===null||typeof l!="object"||Array.isArray(l)||typeof l.type!="string"||typeof l.value!="string")throw n;try{s.details.push({type:l.type,value:Hr(l.value),debug:l.debug})}catch{throw n}}return s}var Ja=2;function Ph(e){let t=new se("invalid end stream",D.Unknown),n;try{n=JSON.parse(typeof e=="string"?e:new TextDecoder().decode(e))}catch{throw t}if(typeof n!="object"||n==null||Array.isArray(n))throw t;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw t;for(let[i,s]of Object.entries(n.metadata)){if(!Array.isArray(s)||s.some(l=>typeof l!="string"))throw t;for(let l of s)r.append(i,l)}}let o="error"in n&&n.error!=null?Oi(n.error,r,t):void 0;return{metadata:r,error:o}}var gr="Content-Type",ZZ="Content-Length",ji="Content-Encoding";var qh="Accept-Encoding";var SZ="Connect-Timeout-Ms",ka="Connect-Protocol-Version",$h="User-Agent";function XZ(e){switch(e){case 400:return D.Internal;case 401:return D.Unauthenticated;case 403:return D.PermissionDenied;case 404:return D.Unimplemented;case 429:return D.Unavailable;case 502:return D.Unavailable;case 503:return D.Unavailable;case 504:return D.Unavailable;default:return D.Unknown}}function _a(e){let t=new Headers,n=new Headers;return e.forEach((r,o)=>{o.toLowerCase().startsWith("trailer-")?n.append(o.substring(8),r):t.append(o,r)}),[t,n]}var Qa="1";function Ta(e,t,n,r,o){let i=new Headers(r??{});return n!==void 0&&i.set(SZ,`${n}`),i.set(gr,e=="unary"?t?VZ:gZ:t?pZ:EZ),i.set(ka,Qa),!i.has($h)&&o&&i.set($h,"connect-es/2.0.4"),i}function Ka(e,t,n,r){let o=r.get(gr),i=RZ(o);if(n!==200){let l=new se(`HTTP ${n}`,XZ(n),r);if(e=="unary"&&i&&!i.binary)return{isUnaryError:!0,unaryError:l};throw l}let s={binary:t,stream:e!=="unary"};if(i?.binary!==s.binary||i.stream!==s.stream)throw new se(`unsupported content type ${o}`,i===void 0?D.Unknown:D.Internal,r);return{isUnaryError:!1}}var WZ="application/";function VJ(e,t){return t?bi(e,"url"):encodeURIComponent(new TextDecoder().decode(e))}function eb(e,t,n){let r=`?connect=v${Qa}`,o=e.header.get(gr);o?.indexOf(WZ)===0&&(r+="&encoding="+encodeURIComponent(o.slice(WZ.length)));let i=e.header.get(ji);i!==null&&i!=="identity"&&(r+="&compression="+encodeURIComponent(i),n=!0),n&&(r+="&base64=1"),r+="&message="+VJ(t,n);let s=e.url+r,l=new Headers(e.header);for(let a of[ka,gr,ZZ,ji,qh])l.delete(a);return Object.assign(Object.assign({},e),{requestMethod:"GET",url:s,header:l})}function tb(e){let t=jh(e.next,e.interceptors),[n,r,o]=GZ(e),i=Object.assign(Object.assign({},e.req),{message:Oh(e.req.method.input,e.req.message),signal:n});return t(i).then(s=>(o(),s),r)}function nb(e){let t=jh(e.next,e.interceptors),[n,r,o]=GZ(e),i=Object.assign(Object.assign({},e.req),{message:fZ(e.req.method.input,e.req.message),signal:n}),s=!1;return n.addEventListener("abort",function(){var l,a;let c=e.req.message[Symbol.asyncIterator]();s||(l=c.throw)===null||l===void 0||l.call(c,this.reason).catch(()=>{}),(a=c.return)===null||a===void 0||a.call(c).catch(()=>{})}),t(i).then(l=>Object.assign(Object.assign({},l),{message:{[Symbol.asyncIterator](){let a=l.message[Symbol.asyncIterator]();return{next(){return a.next().then(c=>(c.done==!0&&(s=!0,o()),c),r)}}}}}),r)}function GZ(e){let{signal:t,cleanup:n}=bZ(e.timeoutMs),r=hZ(e.signal,t);return[r.signal,function(i){let s=se.from(t.aborted?Mh(t):i);return r.abort(s),n(),Promise.reject(s)},function(){n(),r.abort()}]}var IZ=k("ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIjCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUSEAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJSAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNoGAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgMIAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwKBGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJnCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8z");var Pi=k("Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzM",[IZ,nn]),NZ=Pd(Pi,0);var Yn=k("Chdnb29nbGUvcnBjL3N0YXR1cy5wcm90bxIKZ29vZ2xlLnJwYyJOCgZTdGF0dXMSDAoEY29kZRgBIAEoBRIPCgdtZXNzYWdlGAIgASgJEiUKB2RldGFpbHMYAyADKAsyFC5nb29nbGUucHJvdG9idWYuQW55QmEKDmNvbS5nb29nbGUucnBjQgtTdGF0dXNQcm90b1ABWjdnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL3JwYy9zdGF0dXM7c3RhdHVz+AEBogIDUlBDYgZwcm90bzM",[rr]);var Vt=k("CiBiYXNlL2Jsb2JfbmFtZXMvYmxvYl9uYW1lcy5wcm90bxIPYmFzZS5ibG9iX25hbWVzImcKBUJsb2JzEiMKFmJhc2VsaW5lX2NoZWNrcG9pbnRfaWQYASABKAlIAIgBARINCgVhZGRlZBgCIAMoDBIPCgdkZWxldGVkGAMgAygMQhkKF19iYXNlbGluZV9jaGVja3BvaW50X2lkYgZwcm90bzM");var BZ=k("Ci9zZXJ2aWNlcy9iaWxsaW5nL2NlbnRyYWwvYmlsbGluZ19lbnRpdGllcy5wcm90bxIHYmlsbGluZypPCglVc2FnZVVuaXQSFgoSVVNBR0VfVU5JVF9VTktOT1dOEAASFgoSVVNBR0VfVU5JVF9DUkVESVRTEAESEgoOVVNBR0VfVU5JVF9VU0QQAkJQWk5naXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYmlsbGluZy9jZW50cmFsL2JpbGxpbmdfZW50aXRpZXNfcHJvdG9iBnByb3RvMw",[ee]),FZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CREDITS=1]="CREDITS",e[e.USD=2]="USD"})(FZ||(FZ={}));var vZ=k("Ch1zZXJ2aWNlcy9saWIvcHJvdG8vY2hhdC5wcm90bxIEY2hhdCJ+ChVDaGF0UmVxdWVzdEVkaXRFdmVudHMSLgoLZWRpdF9ldmVudHMYASADKAsyGS5jaGF0LkNoYXRSZXF1ZXN0RmlsZUVkaXQSKgoGc291cmNlGAIgASgOMhUuY2hhdC5FZGl0RXZlbnRTb3VyY2VIAIgBAUIJCgdfc291cmNlIoYBCg9DaGF0UmVxdWVzdEZpbGUSEQoJZmlsZV9kYXRhGAEgASgJEhIKCm1lZGlhX3R5cGUYAiABKAkSFgoJZmlsZV9uYW1lGAMgASgJSACIAQESFwoKcGFnZV9jb3VudBgEIAEoBUgBiAEBQgwKCl9maWxlX25hbWVCDQoLX3BhZ2VfY291bnQitQEKE0NoYXRSZXF1ZXN0RmlsZUVkaXQSDAoEcGF0aBgBIAEoCRIdChBiZWZvcmVfYmxvYl9uYW1lGAIgASgJSACIAQESHAoPYWZ0ZXJfYmxvYl9uYW1lGAMgASgJSAGIAQESKgoFZWRpdHMYBCADKAsyGy5jaGF0LkNoYXRSZXF1ZXN0U2luZ2xlRWRpdEITChFfYmVmb3JlX2Jsb2JfbmFtZUISChBfYWZ0ZXJfYmxvYl9uYW1lIrgBChNDaGF0UmVxdWVzdElkZVN0YXRlEjQKEXdvcmtzcGFjZV9mb2xkZXJzGAEgAygLMhkuY2hhdC5Xb3Jrc3BhY2VGb2xkZXJJbmZvEiMKG3dvcmtzcGFjZV9mb2xkZXJzX3VuY2hhbmdlZBgCIAEoCBIxChBjdXJyZW50X3Rlcm1pbmFsGAMgASgLMhIuY2hhdC5UZXJtaW5hbEluZm9IAIgBAUITChFfY3VycmVudF90ZXJtaW5hbCJNChBDaGF0UmVxdWVzdEltYWdlEhIKCmltYWdlX2RhdGEYASABKAkSJQoGZm9ybWF0GAIgASgOMhUuY2hhdC5JbWFnZUZvcm1hdFR5cGUidQoVQ2hhdFJlcXVlc3RTaW5nbGVFZGl0EhkKEWJlZm9yZV9saW5lX3N0YXJ0GAEgASgNEhMKC2JlZm9yZV90ZXh0GAIgASgJEhgKEGFmdGVyX2xpbmVfc3RhcnQYAyABKA0SEgoKYWZ0ZXJfdGV4dBgEIAEoCSIiCg9DaGF0UmVxdWVzdFRleHQSDwoHY29udGVudBgBIAEoCSLxAgoVQ2hhdFJlcXVlc3RUb29sUmVzdWx0EhMKC3Rvb2xfdXNlX2lkGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSEAoIaXNfZXJyb3IYAyABKAgSFwoKcmVxdWVzdF9pZBgEIAEoCUgAiAEBEjIKDWNvbnRlbnRfbm9kZXMYBSADKAsyGy5jaGF0LlRvb2xSZXN1bHRDb250ZW50Tm9kZRIYCgtkdXJhdGlvbl9tcxgGIAEoA0gBiAEBEhoKDXN0YXJ0X3RpbWVfbXMYByABKANIAogBARI7CghtZXRhZGF0YRgIIAMoCzIpLmNoYXQuQ2hhdFJlcXVlc3RUb29sUmVzdWx0Lk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg0KC19yZXF1ZXN0X2lkQg4KDF9kdXJhdGlvbl9tc0IQCg5fc3RhcnRfdGltZV9tcyLaAQoWQ2hhdFJlc3VsdE5vZGVNZXRhZGF0YRIWCglvcGVuYWlfaWQYASABKAlIAIgBARIWCglnb29nbGVfdHMYAiABKAxIAYgBARIVCghwcm92aWRlchgDIAEoCUgCiAEBEhIKBXBoYXNlGAQgASgJSAOIAQESHQoQc291cmNlX2V2ZW50X3NlcRgFIAEoA0gEiAEBQgwKCl9vcGVuYWlfaWRCDAoKX2dvb2dsZV90c0ILCglfcHJvdmlkZXJCCAoGX3BoYXNlQhMKEV9zb3VyY2VfZXZlbnRfc2VxItoBChJDaGF0UmVzdWx0VGhpbmtpbmcSFAoHc3VtbWFyeRgBIAEoCUgAiAEBEh4KEWVuY3J5cHRlZF9jb250ZW50GAIgASgJSAGIAQESFAoHY29udGVudBgDIAEoCUgCiAEBEikKHG9wZW5haV9yZXNwb25zZXNfYXBpX2l0ZW1faWQYBCABKAlIA4gBAUIKCghfc3VtbWFyeUIUChJfZW5jcnlwdGVkX2NvbnRlbnRCCgoIX2NvbnRlbnRCHwodX29wZW5haV9yZXNwb25zZXNfYXBpX2l0ZW1faWQi4AUKFENoYXRSZXN1bHRUb2tlblVzYWdlEhkKDGlucHV0X3Rva2VucxgBIAEoBUgAiAEBEhoKDW91dHB1dF90b2tlbnMYAiABKAVIAYgBARIkChdjYWNoZV9yZWFkX2lucHV0X3Rva2VucxgDIAEoBUgCiAEBEigKG2NhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucxgEIAEoBUgDiAEBEiEKFHN5c3RlbV9wcm9tcHRfdG9rZW5zGAUgASgFSASIAQESIAoTY2hhdF9oaXN0b3J5X3Rva2VucxgGIAEoBUgFiAEBEiMKFmN1cnJlbnRfbWVzc2FnZV90b2tlbnMYByABKAVIBogBARIfChJtYXhfY29udGV4dF90b2tlbnMYCCABKAVIB4gBARIkChd0b29sX2RlZmluaXRpb25zX3Rva2VucxgJIAEoBUgIiAEBEh8KEnRvb2xfcmVzdWx0X3Rva2VucxgKIAEoBUgJiAEBEiYKGWFzc2lzdGFudF9yZXNwb25zZV90b2tlbnMYCyABKAVICogBARIeChFtYXhfb3V0cHV0X3Rva2VucxgMIAEoBUgLiAEBQg8KDV9pbnB1dF90b2tlbnNCEAoOX291dHB1dF90b2tlbnNCGgoYX2NhY2hlX3JlYWRfaW5wdXRfdG9rZW5zQh4KHF9jYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnNCFwoVX3N5c3RlbV9wcm9tcHRfdG9rZW5zQhYKFF9jaGF0X2hpc3RvcnlfdG9rZW5zQhkKF19jdXJyZW50X21lc3NhZ2VfdG9rZW5zQhUKE19tYXhfY29udGV4dF90b2tlbnNCGgoYX3Rvb2xfZGVmaW5pdGlvbnNfdG9rZW5zQhUKE190b29sX3Jlc3VsdF90b2tlbnNCHAoaX2Fzc2lzdGFudF9yZXNwb25zZV90b2tlbnNCFAoSX21heF9vdXRwdXRfdG9rZW5zImMKEUNoYXRSZXN1bHRUb29sVXNlEhMKC3Rvb2xfdXNlX2lkGAEgASgJEhEKCXRvb2xfbmFtZRgCIAEoCRISCgppbnB1dF9qc29uGAMgASgJEhIKCmlzX3BhcnRpYWwYBCABKAgiRgoMVGVybWluYWxJbmZvEhMKC3Rlcm1pbmFsX2lkGAEgASgNEiEKGWN1cnJlbnRfd29ya2luZ19kaXJlY3RvcnkYAiABKAkiTgoOVG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIZChFpbnB1dF9zY2hlbWFfanNvbhgDIAEoCSK4AQoVVG9vbFJlc3VsdENvbnRlbnROb2RlEi0KBHR5cGUYASABKA4yHy5jaGF0LlRvb2xSZXN1bHRDb250ZW50Tm9kZVR5cGUSGQoMdGV4dF9jb250ZW50GAIgASgJSACIAQESMgoNaW1hZ2VfY29udGVudBgDIAEoCzIWLmNoYXQuQ2hhdFJlcXVlc3RJbWFnZUgBiAEBQg8KDV90ZXh0X2NvbnRlbnRCEAoOX2ltYWdlX2NvbnRlbnQiQwoTV29ya3NwYWNlRm9sZGVySW5mbxIXCg9yZXBvc2l0b3J5X3Jvb3QYASABKAkSEwoLZm9sZGVyX3Jvb3QYAiABKAkqqQEKE0NoYXRSZXF1ZXN0Tm9kZVR5cGUSCAoEVEVYVBAAEg8KC1RPT0xfUkVTVUxUEAESCQoFSU1BR0UQAhIMCghJTUFHRV9JRBADEg0KCUlERV9TVEFURRAEEg8KC0VESVRfRVZFTlRTEAUSEgoOQ0hFQ0tQT0lOVF9SRUYQBhIICgRGSUxFEAgSCwoHRklMRV9JRBAJEhMKD0hJU1RPUllfU1VNTUFSWRAKKusBChJDaGF0UmVzdWx0Tm9kZVR5cGUSEAoMUkFXX1JFU1BPTlNFEAASFwoTU1VHR0VTVEVEX1FVRVNUSU9OUxABEhYKEk1BSU5fVEVYVF9GSU5JU0hFRBACEhkKFVdPUktTUEFDRV9GSUxFX0NIVU5LUxADEhQKEFJFTEVWQU5UX1NPVVJDRVMQBBIMCghUT09MX1VTRRAFEhIKDlRPT0xfVVNFX1NUQVJUEAcSDAoIVEhJTktJTkcQCBIUChBCSUxMSU5HX01FVEFEQVRBEAkSDwoLVE9LRU5fVVNBR0UQCiIECAYQBiIECAsQCyquAQoOQ2hhdFN0b3BSZWFzb24SFgoSUkVBU09OX1VOU1BFQ0lGSUVEEAASDAoIRU5EX1RVUk4QARIOCgpNQVhfVE9LRU5TEAISFgoSVE9PTF9VU0VfUkVRVUVTVEVEEAMSCgoGU0FGRVRZEAQSDgoKUkVDSVRBVElPThAFEhsKF01BTEZPUk1FRF9GVU5DVElPTl9DQUxMEAYSFQoRU1RPUF9SRUFTT05fRVJST1IQBypICg9FZGl0RXZlbnRTb3VyY2USDwoLVU5TUEVDSUZJRUQQABINCglVU0VSX0VESVQQARIVChFDSEVDS1BPSU5UX1JFVkVSVBACKlUKD0ltYWdlRm9ybWF0VHlwZRIcChhJTUFHRV9GT1JNQVRfVU5TUEVDSUZJRUQQABIHCgNQTkcQARIICgRKUEVHEAISBwoDR0lGEAMSCAoEV0VCUBAEKl4KGVRvb2xSZXN1bHRDb250ZW50Tm9kZVR5cGUSHAoYQ09OVEVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASEAoMQ09OVEVOVF9URVhUEAESEQoNQ09OVEVOVF9JTUFHRRACQjhaNmdpdGh1Yi5jb20vYXVnbWVudGNvZGUvYXVnbWVudC9zZXJ2aWNlcy9saWIvcHJvdG8vY2hhdGIGcHJvdG8z");var CZ;(function(e){e[e.TEXT=0]="TEXT",e[e.TOOL_RESULT=1]="TOOL_RESULT",e[e.IMAGE=2]="IMAGE",e[e.IMAGE_ID=3]="IMAGE_ID",e[e.IDE_STATE=4]="IDE_STATE",e[e.EDIT_EVENTS=5]="EDIT_EVENTS",e[e.CHECKPOINT_REF=6]="CHECKPOINT_REF",e[e.FILE=8]="FILE",e[e.FILE_ID=9]="FILE_ID",e[e.HISTORY_SUMMARY=10]="HISTORY_SUMMARY"})(CZ||(CZ={}));var YZ;(function(e){e[e.RAW_RESPONSE=0]="RAW_RESPONSE",e[e.SUGGESTED_QUESTIONS=1]="SUGGESTED_QUESTIONS",e[e.MAIN_TEXT_FINISHED=2]="MAIN_TEXT_FINISHED",e[e.WORKSPACE_FILE_CHUNKS=3]="WORKSPACE_FILE_CHUNKS",e[e.RELEVANT_SOURCES=4]="RELEVANT_SOURCES",e[e.TOOL_USE=5]="TOOL_USE",e[e.TOOL_USE_START=7]="TOOL_USE_START",e[e.THINKING=8]="THINKING",e[e.BILLING_METADATA=9]="BILLING_METADATA",e[e.TOKEN_USAGE=10]="TOKEN_USAGE"})(YZ||(YZ={}));var yZ;(function(e){e[e.REASON_UNSPECIFIED=0]="REASON_UNSPECIFIED",e[e.END_TURN=1]="END_TURN",e[e.MAX_TOKENS=2]="MAX_TOKENS",e[e.TOOL_USE_REQUESTED=3]="TOOL_USE_REQUESTED",e[e.SAFETY=4]="SAFETY",e[e.RECITATION=5]="RECITATION",e[e.MALFORMED_FUNCTION_CALL=6]="MALFORMED_FUNCTION_CALL",e[e.STOP_REASON_ERROR=7]="STOP_REASON_ERROR"})(yZ||(yZ={}));var UZ;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.USER_EDIT=1]="USER_EDIT",e[e.CHECKPOINT_REVERT=2]="CHECKPOINT_REVERT"})(UZ||(UZ={}));var wZ;(function(e){e[e.IMAGE_FORMAT_UNSPECIFIED=0]="IMAGE_FORMAT_UNSPECIFIED",e[e.PNG=1]="PNG",e[e.JPEG=2]="JPEG",e[e.GIF=3]="GIF",e[e.WEBP=4]="WEBP"})(wZ||(wZ={}));var xZ;(function(e){e[e.CONTENT_TYPE_UNSPECIFIED=0]="CONTENT_TYPE_UNSPECIFIED",e[e.CONTENT_TEXT=1]="CONTENT_TEXT",e[e.CONTENT_IMAGE=2]="CONTENT_IMAGE"})(xZ||(xZ={}));var yn=k("Ch1zZXJ2aWNlcy9jaGF0X2hvc3QvY2hhdC5wcm90bxIEY2hhdCJECg9CcmluZ1lvdXJPd25LZXkSJAoIcHJvdmlkZXIYASABKA4yEi5jaGF0LkJZT0tQcm92aWRlchILCgNrZXkYAiABKAki6AMKEENoYW5nZWRGaWxlU3RhdHMSNwoQYWRkZWRfZmlsZV9zdGF0cxgBIAEoCzIdLmNoYXQuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSOAoRYnJva2VuX2ZpbGVfc3RhdHMYAiABKAsyHS5jaGF0LlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEjgKEWNvcGllZF9maWxlX3N0YXRzGAMgASgLMh0uY2hhdC5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxI5ChJkZWxldGVkX2ZpbGVfc3RhdHMYBCABKAsyHS5jaGF0LlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEjoKE21vZGlmaWVkX2ZpbGVfc3RhdHMYBSABKAsyHS5jaGF0LlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEjkKEnJlbmFtZWRfZmlsZV9zdGF0cxgGIAEoCzIdLmNoYXQuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSOgoTdW5tZXJnZWRfZmlsZV9zdGF0cxgHIAEoCzIdLmNoYXQuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSOQoSdW5rbm93bl9maWxlX3N0YXRzGAggASgLMh0uY2hhdC5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cyLxAQoZQ2hhdEZlYXR1cmVEZXRlY3Rpb25GbGFncxIlChhzdXBwb3J0X3JlbGV2YW50X3NvdXJjZXMYAyABKAhIAIgBARIjChZzdXBwb3J0X3Rvb2xfdXNlX3N0YXJ0GAQgASgISAGIAQESJgoZc3VwcG9ydF9wYXJhbGxlbF90b29sX3VzZRgFIAEoCEgCiAEBQhsKGV9zdXBwb3J0X3JlbGV2YW50X3NvdXJjZXNCGQoXX3N1cHBvcnRfdG9vbF91c2Vfc3RhcnRCHAoaX3N1cHBvcnRfcGFyYWxsZWxfdG9vbF91c2VKBAgBEAJKBAgCEAMiywYKE0NoYXRIaXN0b3J5TWV0YWRhdGESJgoJY2hhdF9tb2RlGAEgASgOMg4uY2hhdC5DaGF0TW9kZUgAiAEBEjMKCmNyZWF0ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESFgoJaXNfc2lsZW50GAMgASgISAKIAQESGgoNaXNfc3VjY2Vzc2Z1bBgEIAEoCEgDiAEBEhcKCm1vZGVsX25hbWUYBSABKAlIBIgBARIXCgpyZXF1ZXN0X2lkGAYgASgJSAWIAQESFAoHdHVybl9pZBgHIAEoCUgGiAEBEiMKFnBhcmVudF9jb252ZXJzYXRpb25faWQYCCABKAlIB4gBARIhChRyb290X2NvbnZlcnNhdGlvbl9pZBgJIAEoCUgIiAEBEigKG3BlcnNpc3RlZF90aHJvdWdoX2V2ZW50X3NlcRgKIAEoA0gJiAEBEhcKCmlzX3BhcnRpYWwYCyABKAhICogBARIcCg9zdWJzY3JpcHRpb25faWQYDCABKAlIC4gBARIbCg5zZW5kZXJfdXNlcl9pZBgNIAEoCUgMiAEBEjMKE3Zmc19maWxlX3JlZmVyZW5jZXMYDiADKAsyFi5jaGF0LlZGU0ZpbGVSZWZlcmVuY2USMwoTbWNwX3Rvb2xfcmVmZXJlbmNlcxgPIAMoCzIWLmNoYXQuTUNQVG9vbFJlZmVyZW5jZRIqCgtzaWxlbnRfdHlwZRgQIAEoDjIQLmNoYXQuU2lsZW50VHlwZUgNiAEBQgwKCl9jaGF0X21vZGVCDQoLX2NyZWF0ZWRfYXRCDAoKX2lzX3NpbGVudEIQCg5faXNfc3VjY2Vzc2Z1bEINCgtfbW9kZWxfbmFtZUINCgtfcmVxdWVzdF9pZEIKCghfdHVybl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCHgocX3BlcnNpc3RlZF90aHJvdWdoX2V2ZW50X3NlcUINCgtfaXNfcGFydGlhbEISChBfc3Vic2NyaXB0aW9uX2lkQhEKD19zZW5kZXJfdXNlcl9pZEIOCgxfc2lsZW50X3R5cGUiSwoMQ2hhdFBvc2l0aW9uEhQKDHByZWZpeF9iZWdpbhgBIAEoBRISCgpzdWZmaXhfZW5kGAIgASgFEhEKCWJsb2JfbmFtZRgDIAEoCSJfCg9DaGF0UmVwbGFjZVRleHQSGAoQcmVwbGFjZW1lbnRfdGV4dBgBIAEoCRIZChFzdGFydF9saW5lX251bWJlchgCIAEoBRIXCg9lbmRfbGluZV9udW1iZXIYAyABKAUi1hUKC0NoYXRSZXF1ZXN0EhIKCm1vZGVsX25hbWUYASABKAkSDAoEcGF0aBgCIAEoCRIOCgZwcmVmaXgYAyABKAkSFQoNc2VsZWN0ZWRfY29kZRgEIAEoCRIOCgZzdWZmaXgYBSABKAkSDwoHbWVzc2FnZRgGIAEoCRIkCgxjaGF0X2hpc3RvcnkYByADKAsyDi5jaGF0LkV4Y2hhbmdlEiQKCHBvc2l0aW9uGAggASgLMhIuY2hhdC5DaGF0UG9zaXRpb24SDAoEbGFuZxgKIAEoCRITCgtzZXF1ZW5jZV9pZBgLIAEoDRIlCgVibG9icxgMIAMoCzIWLmJhc2UuYmxvYl9uYW1lcy5CbG9icxIkChxlbmFibGVfcHJlZmVyZW5jZV9jb2xsZWN0aW9uGA0gASgIEhkKEXVzZXJfZ3VpZGVkX2Jsb2JzGA4gAygJEhsKE2V4dGVybmFsX3NvdXJjZV9pZHMYECADKAkSKAogY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWQYDyABKAkSJQodZGlzYWJsZV9hdXRvX2V4dGVybmFsX3NvdXJjZXMYESABKAgSHQoVcHJvbXB0X2Zvcm1hdHRlcl9uYW1lGBIgASgJEjcKEmNoYW5nZWRfZmlsZV9zdGF0cxgTIAEoCzIWLmNoYXQuQ2hhbmdlZEZpbGVTdGF0c0gAiAEBEhEKBGRpZmYYFCABKAlIAYgBARIgChhyZWxldmFudF9jb21taXRfbWVzc2FnZXMYFSADKAkSHwoXZXhhbXBsZV9jb21taXRfbWVzc2FnZXMYFiADKAkSHAoPdXNlcl9ndWlkZWxpbmVzGBcgASgJSAKIAQESIQoUd29ya3NwYWNlX2d1aWRlbGluZXMYGCABKAlIA4gBARJFChdmZWF0dXJlX2RldGVjdGlvbl9mbGFncxgZIAEoCzIfLmNoYXQuQ2hhdEZlYXR1cmVEZXRlY3Rpb25GbGFnc0gEiAEBEi4KEHRvb2xfZGVmaW5pdGlvbnMYGiADKAsyFC5jaGF0LlRvb2xEZWZpbml0aW9uEiQKBW5vZGVzGBsgAygLMhUuY2hhdC5DaGF0UmVxdWVzdE5vZGUSLAoMcGVyc29uYV90eXBlGB0gASgOMhEuY2hhdC5QZXJzb25hVHlwZUgFiAEBEhUKDWlzX3N1c3BpY2lvdXMYHiABKAgSGQoFcnVsZXMYHyADKAsyCi5jaGF0LlJ1bGUSDgoGc2lsZW50GCAgASgIEhgKC2FnZW50X3Rhc2tzGCEgASgJSAaIAQESJQoLY2xpZW50X3R5cGUYIiABKA4yEC5jaGF0LkNsaWVudFR5cGUSJgoJY2hhdF9tb2RlGCMgASgOMg4uY2hhdC5DaGF0TW9kZUgHiAEBEjsKFHRoaXJkX3BhcnR5X292ZXJyaWRlGCQgASgLMhguY2hhdC5UaGlyZFBhcnR5T3ZlcnJpZGVICIgBARIcCg9jb252ZXJzYXRpb25faWQYJSABKAlICYgBARIqCgtzaWxlbnRfdHlwZRgmIAEoDjIQLmNoYXQuU2lsZW50VHlwZUgKiAEBEiMKFnN5c3RlbV9wcm9tcHRfb3ZlcnJpZGUYJyABKAlIC4gBARJBChpzeXN0ZW1fcHJvbXB0X3JlcGxhY2VtZW50cxgoIAMoCzIdLmNoYXQuU3lzdGVtUHJvbXB0UmVwbGFjZW1lbnQSGwoGc2tpbGxzGCogAygLMgsuY2hhdC5Ta2lsbBIhChRzeXN0ZW1fcHJvbXB0X2FwcGVuZBgrIAEoCUgMiAEBEi8KImNvbnN1bWVfY3JlZGl0c19vbl9zaWxlbnRfcmVxdWVzdHMYLCABKAhIDYgBARIUCgd0dXJuX2lkGC0gASgJSA6IAQESIwoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBguIAEoCUgPiAEBEiEKFHJvb3RfY29udmVyc2F0aW9uX2lkGC8gASgJSBCIAQESHQoQZGlzYWJsZV90aGlua2luZxgwIAEoCEgRiAEBEjYKEmJyaW5nX3lvdXJfb3duX2tleRgxIAEoCzIVLmNoYXQuQnJpbmdZb3VyT3duS2V5SBKIAQESIQoUcmVxdWVzdGVkX21vZGVsX25hbWUYMiABKAlIE4gBARIcCg9zdWJzY3JpcHRpb25faWQYMyABKAlIFIgBARIyCg9jbGllbnRfbWV0YWRhdGEYNCABKAsyFC5jaGF0LkNsaWVudE1ldGFkYXRhSBWIAQESJgoZaW50ZXJuYWxfYWdlbnRfcGVyc29uYV9pZBg1IAEoCUgWiAEBEhwKD3BlcnNvbmFfcHJvbXB0cxg2IAEoCUgXiAEBEicKGnNraXBfY29udmVyc2F0aW9uX2luZGV4aW5nGDcgASgISBiIAQESGwoOc2VuZGVyX3VzZXJfaWQYOCABKAlIGYgBARIeChFldV9pbmZlcmVuY2Vfb25seRg5IAEoCEgaiAEBEkoKHGN1c3RvbV9idXRsZXJfcm91dGluZ19jb25maWcYOiABKAsyHy5jaGF0LkN1c3RvbUJ1dGxlclJvdXRpbmdDb25maWdIG4gBARIzChN2ZnNfZmlsZV9yZWZlcmVuY2VzGDsgAygLMhYuY2hhdC5WRlNGaWxlUmVmZXJlbmNlEjMKE21jcF90b29sX3JlZmVyZW5jZXMYPCADKAsyFi5jaGF0Lk1DUFRvb2xSZWZlcmVuY2USHQoQcmVhc29uaW5nX2VmZm9ydBg9IAEoCUgciAEBQhUKE19jaGFuZ2VkX2ZpbGVfc3RhdHNCBwoFX2RpZmZCEgoQX3VzZXJfZ3VpZGVsaW5lc0IXChVfd29ya3NwYWNlX2d1aWRlbGluZXNCGgoYX2ZlYXR1cmVfZGV0ZWN0aW9uX2ZsYWdzQg8KDV9wZXJzb25hX3R5cGVCDgoMX2FnZW50X3Rhc2tzQgwKCl9jaGF0X21vZGVCFwoVX3RoaXJkX3BhcnR5X292ZXJyaWRlQhIKEF9jb252ZXJzYXRpb25faWRCDgoMX3NpbGVudF90eXBlQhkKF19zeXN0ZW1fcHJvbXB0X292ZXJyaWRlQhcKFV9zeXN0ZW1fcHJvbXB0X2FwcGVuZEIlCiNfY29uc3VtZV9jcmVkaXRzX29uX3NpbGVudF9yZXF1ZXN0c0IKCghfdHVybl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCEwoRX2Rpc2FibGVfdGhpbmtpbmdCFQoTX2JyaW5nX3lvdXJfb3duX2tleUIXChVfcmVxdWVzdGVkX21vZGVsX25hbWVCEgoQX3N1YnNjcmlwdGlvbl9pZEISChBfY2xpZW50X21ldGFkYXRhQhwKGl9pbnRlcm5hbF9hZ2VudF9wZXJzb25hX2lkQhIKEF9wZXJzb25hX3Byb21wdHNCHQobX3NraXBfY29udmVyc2F0aW9uX2luZGV4aW5nQhEKD19zZW5kZXJfdXNlcl9pZEIUChJfZXVfaW5mZXJlbmNlX29ubHlCHwodX2N1c3RvbV9idXRsZXJfcm91dGluZ19jb25maWdCEwoRX3JlYXNvbmluZ19lZmZvcnRKBAgJEApKBAgcEB1KBAgpECpSCWNhbnZhc19pZCLzAwoPQ2hhdFJlcXVlc3ROb2RlEgoKAmlkGAEgASgFEicKBHR5cGUYAiABKA4yGS5jaGF0LkNoYXRSZXF1ZXN0Tm9kZVR5cGUSLQoJdGV4dF9ub2RlGAMgASgLMhUuY2hhdC5DaGF0UmVxdWVzdFRleHRIAIgBARI6ChB0b29sX3Jlc3VsdF9ub2RlGAQgASgLMhsuY2hhdC5DaGF0UmVxdWVzdFRvb2xSZXN1bHRIAYgBARIvCgppbWFnZV9ub2RlGAUgASgLMhYuY2hhdC5DaGF0UmVxdWVzdEltYWdlSAKIAQESNgoOaWRlX3N0YXRlX25vZGUYByABKAsyGS5jaGF0LkNoYXRSZXF1ZXN0SWRlU3RhdGVIA4gBARI6ChBlZGl0X2V2ZW50c19ub2RlGAggASgLMhsuY2hhdC5DaGF0UmVxdWVzdEVkaXRFdmVudHNIBIgBARItCglmaWxlX25vZGUYCSABKAsyFS5jaGF0LkNoYXRSZXF1ZXN0RmlsZUgFiAEBQgwKCl90ZXh0X25vZGVCEwoRX3Rvb2xfcmVzdWx0X25vZGVCDQoLX2ltYWdlX25vZGVCEQoPX2lkZV9zdGF0ZV9ub2RlQhMKEV9lZGl0X2V2ZW50c19ub2RlQgwKCl9maWxlX25vZGVKBAgGEAcixAQKDENoYXRSZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCBI3ChV3b3Jrc3BhY2VfZmlsZV9jaHVua3MYBCADKAsyGC5jaGF0LldvcmtzcGFjZUZpbGVDaHVuaxJHCh1pbmNvcnBvcmF0ZWRfZXh0ZXJuYWxfc291cmNlcxgFIAMoCzIgLmNoYXQuSW5jb3Jwb3JhdGVkRXh0ZXJuYWxTb3VyY2USOQoVcmVwbGFjZV90ZXh0X3Jlc3BvbnNlGAYgASgLMhUuY2hhdC5DaGF0UmVwbGFjZVRleHRIAIgBARIjCgVub2RlcxgHIAMoCzIULmNoYXQuQ2hhdFJlc3VsdE5vZGUSNgoLc3RhdHVzX2NvZGUYCCABKA4yHC5jaGF0LkNoYXRSZXNwb25zZVN0YXR1c0NvZGVIAYgBARIuCgtzdG9wX3JlYXNvbhgJIAEoDjIULmNoYXQuQ2hhdFN0b3BSZWFzb25IAogBARIaCg1lcnJvcl9tZXNzYWdlGAogASgJSAOIAQESIQoUZWZmZWN0aXZlX21vZGVsX25hbWUYCyABKAlIBIgBAUIYChZfcmVwbGFjZV90ZXh0X3Jlc3BvbnNlQg4KDF9zdGF0dXNfY29kZUIOCgxfc3RvcF9yZWFzb25CEAoOX2Vycm9yX21lc3NhZ2VCFwoVX2VmZmVjdGl2ZV9tb2RlbF9uYW1lIsYCChlDaGF0UmVzdWx0QmlsbGluZ01ldGFkYXRhEhsKDnRyYW5zYWN0aW9uX2lkGAEgASgJSACIAQESGAoQY3JlZGl0c19jb25zdW1lZBgCIAEoBRIQCghjb3N0X3VzZBgHIAEoCRImCgp1c2FnZV91bml0GAggASgOMhIuYmlsbGluZy5Vc2FnZVVuaXQSIQoUZWZmZWN0aXZlX21vZGVsX25hbWUYCSABKAlIAYgBAUIRCg9fdHJhbnNhY3Rpb25faWRCFwoVX2VmZmVjdGl2ZV9tb2RlbF9uYW1lSgQIAxAESgQIBBAFSgQIBRAGSgQIBhAHUgxpbnB1dF90b2tlbnNSDW91dHB1dF90b2tlbnNSF2NhY2hlX3JlYWRfaW5wdXRfdG9rZW5zUhtjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMi7gMKDkNoYXRSZXN1bHROb2RlEgoKAmlkGAEgASgFEiYKBHR5cGUYAiABKA4yGC5jaGF0LkNoYXRSZXN1bHROb2RlVHlwZRIPCgdjb250ZW50GAMgASgJEi4KCHRvb2xfdXNlGAQgASgLMhcuY2hhdC5DaGF0UmVzdWx0VG9vbFVzZUgAiAEBEi8KCHRoaW5raW5nGAUgASgLMhguY2hhdC5DaGF0UmVzdWx0VGhpbmtpbmdIAYgBARI+ChBiaWxsaW5nX21ldGFkYXRhGAYgASgLMh8uY2hhdC5DaGF0UmVzdWx0QmlsbGluZ01ldGFkYXRhSAKIAQESNAoLdG9rZW5fdXNhZ2UYCCABKAsyGi5jaGF0LkNoYXRSZXN1bHRUb2tlblVzYWdlSAOIAQESMwoIbWV0YWRhdGEYByABKAsyHC5jaGF0LkNoYXRSZXN1bHROb2RlTWV0YWRhdGFIBIgBARIZCgx0aW1lc3RhbXBfbXMYCiABKARIBYgBAUILCglfdG9vbF91c2VCCwoJX3RoaW5raW5nQhMKEV9iaWxsaW5nX21ldGFkYXRhQg4KDF90b2tlbl91c2FnZUILCglfbWV0YWRhdGFCDwoNX3RpbWVzdGFtcF9tc0oECAkQClINY29udGV4dF91c2FnZSK+AQoOQ2xpZW50TWV0YWRhdGESEwoLY2xpZW50X25hbWUYASABKAkSFgoOY2xpZW50X3ZlcnNpb24YAiABKAkSFgoOY2xpZW50X3N1YnR5cGUYAyABKAkSFwoPYWNwX2NsaWVudF9uYW1lGAQgASgJEhoKEmFjcF9jbGllbnRfdmVyc2lvbhgFIAEoCRISCgp1c2VyX2FnZW50GAYgASgJEhAKCHBsYXRmb3JtGAcgASgJEgwKBGFyY2gYCCABKAkiwwIKGUN1c3RvbUJ1dGxlclJvdXRpbmdDb25maWcSFQoNZGVmYXVsdF9tb2RlbBgBIAEoCRJECgt0aWVyX21vZGVscxgCIAMoCzIvLmNoYXQuQ3VzdG9tQnV0bGVyUm91dGluZ0NvbmZpZy5UaWVyTW9kZWxzRW50cnkSWQoWdGllcl9yZWFzb25pbmdfZWZmb3J0cxgDIAMoCzI5LmNoYXQuQ3VzdG9tQnV0bGVyUm91dGluZ0NvbmZpZy5UaWVyUmVhc29uaW5nRWZmb3J0c0VudHJ5GjEKD1RpZXJNb2RlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjsKGVRpZXJSZWFzb25pbmdFZmZvcnRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLFAgoIRXhjaGFuZ2USFwoPcmVxdWVzdF9tZXNzYWdlGAEgASgJEhoKDXJlc3BvbnNlX3RleHQYAiABKAlIAIgBARIXCgpyZXF1ZXN0X2lkGAMgASgJSAGIAQESLAoNcmVxdWVzdF9ub2RlcxgEIAMoCzIVLmNoYXQuQ2hhdFJlcXVlc3ROb2RlEiwKDnJlc3BvbnNlX25vZGVzGAUgAygLMhQuY2hhdC5DaGF0UmVzdWx0Tm9kZRIzCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhkKDGNvbXBvc2l0ZV9pZBgHIAEoCUgDiAEBQhAKDl9yZXNwb25zZV90ZXh0Qg0KC19yZXF1ZXN0X2lkQg0KC19jcmVhdGVkX2F0Qg8KDV9jb21wb3NpdGVfaWQiZQoURXhjaGFuZ2VXaXRoTWV0YWRhdGESIAoIZXhjaGFuZ2UYASABKAsyDi5jaGF0LkV4Y2hhbmdlEisKCG1ldGFkYXRhGAIgASgLMhkuY2hhdC5DaGF0SGlzdG9yeU1ldGFkYXRhImAKGkluY29ycG9yYXRlZEV4dGVybmFsU291cmNlEhMKC3NvdXJjZV9uYW1lGAEgASgJEhEKBGxpbmsYAiABKAlIAIgBARIRCglzb3VyY2VfaWQYAyABKAlCBwoFX2xpbmsiSwoQTUNQVG9vbFJlZmVyZW5jZRIRCglzZXJ2ZXJfaWQYASABKAkSFgoJdG9vbF9uYW1lGAIgASgJSACIAQFCDAoKX3Rvb2xfbmFtZSJvChJQZXJGaWxlQ2hhbmdlU3RhdHMSEQoJZmlsZV9wYXRoGAEgASgJEhcKD2luc2VydGlvbl9jb3VudBgCIAEoBRIWCg5kZWxldGlvbl9jb3VudBgDIAEoBRIVCg1vbGRfZmlsZV9wYXRoGAQgASgJIrEBChdQZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxIaChJjaGFuZ2VkX2ZpbGVfY291bnQYASABKAUSPAoacGVyX2ZpbGVfY2hhbmdlX3N0YXRzX2hlYWQYAiADKAsyGC5jaGF0LlBlckZpbGVDaGFuZ2VTdGF0cxI8ChpwZXJfZmlsZV9jaGFuZ2Vfc3RhdHNfdGFpbBgDIAMoCzIYLmNoYXQuUGVyRmlsZUNoYW5nZVN0YXRzIm0KBFJ1bGUSHAoEdHlwZRgBIAEoDjIOLmNoYXQuUnVsZVR5cGUSDAoEcGF0aBgCIAEoCRIPCgdjb250ZW50GAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIjwKBVNraWxsEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIbG9jYXRpb24YAyABKAkiOgoXU3lzdGVtUHJvbXB0UmVwbGFjZW1lbnQSDgoGc2VhcmNoGAEgASgJEg8KB3JlcGxhY2UYAiABKAkilAEKElRoaXJkUGFydHlPdmVycmlkZRIgChNwcm92aWRlcl9tb2RlbF9uYW1lGAEgASgJSACIAQESFAoHYXBpX2tleRgCIAEoCUgBiAEBEhUKCGJhc2VfdXJsGAMgASgJSAKIAQFCFgoUX3Byb3ZpZGVyX21vZGVsX25hbWVCCgoIX2FwaV9rZXlCCwoJX2Jhc2VfdXJsImoKEFZGU0ZpbGVSZWZlcmVuY2USDwoHZmlsZV9pZBgBIAEoCRIVCg1maWxlc3lzdGVtX2lkGAIgASgJEgwKBHBhdGgYAyABKAkSEAoIc3BhY2VfaWQYBCABKAkSDgoGaXNfZGlyGAUgASgIIk0KEldvcmtzcGFjZUZpbGVDaHVuaxISCgpjaGFyX3N0YXJ0GAEgASgFEhAKCGNoYXJfZW5kGAIgASgFEhEKCWJsb2JfbmFtZRgDIAEoCSr0AQoMQllPS1Byb3ZpZGVyEhQKEFBST1ZJREVSX1VOS05PV04QABIWChJQUk9WSURFUl9BTlRIUk9QSUMQARITCg9QUk9WSURFUl9PUEVOQUkQAhIUChBQUk9WSURFUl9CRURST0NLEAMSFgoSUFJPVklERVJfRklSRVdPUktTEAQSHwobUFJPVklERVJfVkVSVEVYQUlfQU5USFJPUElDEAUSHAoYUFJPVklERVJfVkVSVEVYQUlfR0VNSU5JEAYSGwoXUFJPVklERVJfQkVEUk9DS19PUEVOQUkQBxIXChNQUk9WSURFUl9PUEVOUk9VVEVSEAgq5QEKCENoYXRNb2RlEggKBENIQVQQABIJCgVBR0VOVBABEg8KC09SSUVOVEFUSU9OEAMSEAoMUkVNT1RFX0FHRU5UEAUSDQoJQ0xJX0FHRU5UEAYSFgoSQ0xJX05PTklOVEVSQUNUSVZFEAcSDwoLQ09ERV9SRVZJRVcQCBIVChFBR0VOVElDX1NMQUNLX0JPVBAJEhYKEkNPTlRFWFRfRU5HSU5FX1NESxAKEhYKEkNPTlRFWFRfRU5HSU5FX01DUBALEhYKElBPU0VJRE9OX0NMSV9BR0VOVBAMIgQIAhACIgQIBBAEKnoKFkNoYXRSZXNwb25zZVN0YXR1c0NvZGUSBgoCT0sQABIZChVFWENFRURfQ09OVEVYVF9MRU5HVEgQARIPCgtXQVNfQkxPQ0tFRBACEhMKD0lOVkFMSURfUkVRVUVTVBADEhcKE1NVTU1BUklaRV9BTkRfUkVUUlkQBCpFCgpDbGllbnRUeXBlEgsKB1VOS05PV04QABIHCgNDTEkQARIKCgZWU0NPREUQAhIMCghJTlRFTExJShADEgcKA1dFQhAEKkgKC1BlcnNvbmFUeXBlEgsKB0RFRkFVTFQQABIOCgpQUk9UT1RZUEVSEAESDgoKQlJBSU5TVE9STRACEgwKCFJFVklFV0VSEAMqQAoIUnVsZVR5cGUSEwoPQUxXQVlTX0FUVEFDSEVEEAASCgoGTUFOVUFMEAESEwoPQUdFTlRfUkVRVUVTVEVEEAIq8wQKClNpbGVudFR5cGUSGwoXU0lMRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIXChNTSUxFTlRfVFlQRV9VTktOT1dOEBMSHgoaUkVXUklURV9QUk9NUFRfSU5TVFJVQ1RJT04QARIaChZISVNUT1JZX1NVTU1BUllfUFJPTVBUEAISHwobQ0xBU1NJRllfQU5EX0RJU1RJTExfUFJPTVBUEAMSJwojQ0xBU1NJRllfQU5EX0RJU1RJTExfU1VDQ0VTU19QUk9NUFQQBBIUChBJTkpFQ1RJT05fUFJPTVBUEAUSGwoXU1VNTUFSWV9FWENIQU5HRV9QUk9NUFQQBhIbChdVUERBVEVfVEFTS19MSVNUX1BST01QVBAHEh0KGUdFTkVSQVRFX1FVRVNUSU9OU19QUk9NUFQQCBIaChZQUk9KRUNUX1NVTU1BUllfUFJPTVBUEAkSFgoSQ09NUFJFU1NJT05fUFJPTVBUEAoSIAocTEFOR1VBR0VfTE9DQUxJWkFUSU9OX1BST01QVBAMEhsKF0RFVEVDVF9MQU5HVUFHRVNfUFJPTVBUEA0SIgoeT1JJRU5UQVRJT05fQ09NUFJFU1NJT05fUFJPTVBUEA4SIAocT1JJRU5UQVRJT05fQlVJTERfVEVTVF9RVUVSWRAPEiQKIEhFTFBGVUxfU09GVFdBUkVfRU5HSU5FRVJfUFJPTVBUEBASGwoXQUdFTlRfT05CT0FSRElOR19QUk9NUFQQERIgChxFTVBUWV9NRVNTQUdFX1dJVEhfVE9PTF9DQUxMEBISFgoSVE9PTF9TRUFSQ0hfUFJPTVBUEBQiBAgLEAtQBGIGcHJvdG8z",[Vt,ee,Yn,BZ,vZ]);var JZ;(function(e){e[e.PROVIDER_UNKNOWN=0]="PROVIDER_UNKNOWN",e[e.PROVIDER_ANTHROPIC=1]="PROVIDER_ANTHROPIC",e[e.PROVIDER_OPENAI=2]="PROVIDER_OPENAI",e[e.PROVIDER_BEDROCK=3]="PROVIDER_BEDROCK",e[e.PROVIDER_FIREWORKS=4]="PROVIDER_FIREWORKS",e[e.PROVIDER_VERTEXAI_ANTHROPIC=5]="PROVIDER_VERTEXAI_ANTHROPIC",e[e.PROVIDER_VERTEXAI_GEMINI=6]="PROVIDER_VERTEXAI_GEMINI",e[e.PROVIDER_BEDROCK_OPENAI=7]="PROVIDER_BEDROCK_OPENAI",e[e.PROVIDER_OPENROUTER=8]="PROVIDER_OPENROUTER"})(JZ||(JZ={}));var kZ;(function(e){e[e.CHAT=0]="CHAT",e[e.AGENT=1]="AGENT",e[e.ORIENTATION=3]="ORIENTATION",e[e.REMOTE_AGENT=5]="REMOTE_AGENT",e[e.CLI_AGENT=6]="CLI_AGENT",e[e.CLI_NONINTERACTIVE=7]="CLI_NONINTERACTIVE",e[e.CODE_REVIEW=8]="CODE_REVIEW",e[e.AGENTIC_SLACK_BOT=9]="AGENTIC_SLACK_BOT",e[e.CONTEXT_ENGINE_SDK=10]="CONTEXT_ENGINE_SDK",e[e.CONTEXT_ENGINE_MCP=11]="CONTEXT_ENGINE_MCP",e[e.POSEIDON_CLI_AGENT=12]="POSEIDON_CLI_AGENT"})(kZ||(kZ={}));var _Z;(function(e){e[e.OK=0]="OK",e[e.EXCEED_CONTEXT_LENGTH=1]="EXCEED_CONTEXT_LENGTH",e[e.WAS_BLOCKED=2]="WAS_BLOCKED",e[e.INVALID_REQUEST=3]="INVALID_REQUEST",e[e.SUMMARIZE_AND_RETRY=4]="SUMMARIZE_AND_RETRY"})(_Z||(_Z={}));var QZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CLI=1]="CLI",e[e.VSCODE=2]="VSCODE",e[e.INTELLIJ=3]="INTELLIJ",e[e.WEB=4]="WEB"})(QZ||(QZ={}));var TZ;(function(e){e[e.DEFAULT=0]="DEFAULT",e[e.PROTOTYPER=1]="PROTOTYPER",e[e.BRAINSTORM=2]="BRAINSTORM",e[e.REVIEWER=3]="REVIEWER"})(TZ||(TZ={}));var KZ;(function(e){e[e.ALWAYS_ATTACHED=0]="ALWAYS_ATTACHED",e[e.MANUAL=1]="MANUAL",e[e.AGENT_REQUESTED=2]="AGENT_REQUESTED"})(KZ||(KZ={}));var zZ;(function(e){e[e.SILENT_TYPE_UNSPECIFIED=0]="SILENT_TYPE_UNSPECIFIED",e[e.SILENT_TYPE_UNKNOWN=19]="SILENT_TYPE_UNKNOWN",e[e.REWRITE_PROMPT_INSTRUCTION=1]="REWRITE_PROMPT_INSTRUCTION",e[e.HISTORY_SUMMARY_PROMPT=2]="HISTORY_SUMMARY_PROMPT",e[e.CLASSIFY_AND_DISTILL_PROMPT=3]="CLASSIFY_AND_DISTILL_PROMPT",e[e.CLASSIFY_AND_DISTILL_SUCCESS_PROMPT=4]="CLASSIFY_AND_DISTILL_SUCCESS_PROMPT",e[e.INJECTION_PROMPT=5]="INJECTION_PROMPT",e[e.SUMMARY_EXCHANGE_PROMPT=6]="SUMMARY_EXCHANGE_PROMPT",e[e.UPDATE_TASK_LIST_PROMPT=7]="UPDATE_TASK_LIST_PROMPT",e[e.GENERATE_QUESTIONS_PROMPT=8]="GENERATE_QUESTIONS_PROMPT",e[e.PROJECT_SUMMARY_PROMPT=9]="PROJECT_SUMMARY_PROMPT",e[e.COMPRESSION_PROMPT=10]="COMPRESSION_PROMPT",e[e.LANGUAGE_LOCALIZATION_PROMPT=12]="LANGUAGE_LOCALIZATION_PROMPT",e[e.DETECT_LANGUAGES_PROMPT=13]="DETECT_LANGUAGES_PROMPT",e[e.ORIENTATION_COMPRESSION_PROMPT=14]="ORIENTATION_COMPRESSION_PROMPT",e[e.ORIENTATION_BUILD_TEST_QUERY=15]="ORIENTATION_BUILD_TEST_QUERY",e[e.HELPFUL_SOFTWARE_ENGINEER_PROMPT=16]="HELPFUL_SOFTWARE_ENGINEER_PROMPT",e[e.AGENT_ONBOARDING_PROMPT=17]="AGENT_ONBOARDING_PROMPT",e[e.EMPTY_MESSAGE_WITH_TOOL_CALL=18]="EMPTY_MESSAGE_WITH_TOOL_CALL",e[e.TOOL_SEARCH_PROMPT=20]="TOOL_SEARCH_PROMPT"})(zZ||(zZ={}));var za=k("CiFiYXNlL2RpZmZfdXRpbHMvZWRpdF9ldmVudHMucHJvdG8SD2Jhc2UuZGlmZl91dGlscyJqCgpTaW5nbGVFZGl0EhQKDGJlZm9yZV9zdGFydBgBIAEoDRIYCgtiZWZvcmVfdGV4dBgCIAEoCUIDgAEBEhMKC2FmdGVyX3N0YXJ0GAMgASgNEhcKCmFmdGVyX3RleHQYBCABKAlCA4ABASKFAQoRR3JhbnVsYXJFZGl0RXZlbnQSEQoEcGF0aBgBIAEoCUIDgAEBEhgKEGJlZm9yZV9ibG9iX25hbWUYAiABKAkSFwoPYWZ0ZXJfYmxvYl9uYW1lGAMgASgJEioKBWVkaXRzGAQgAygLMhsuYmFzZS5kaWZmX3V0aWxzLlNpbmdsZUVkaXRiBnByb3RvMw");var HZ=k("ChxzZXJ2aWNlcy9hZ2VudHMvYWdlbnRzLnByb3RvEgZhZ2VudHMi9gQKG0NvZGViYXNlUmV0cmlldmFsUmF3UmVxdWVzdBIqCgdxdWVyaWVzGAEgAygLMhkuYWdlbnRzLlJhd1JldHJpZXZhbFF1ZXJ5EiUKBWJsb2JzGAIgAygLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEhIKCm1heF9jaHVua3MYAyABKAUSGQoRbWF4X291dHB1dF9sZW5ndGgYBCABKAUSGQoRdXNlcl9ndWlkZWRfYmxvYnMYBSADKAkSGwoTZXh0ZXJuYWxfc291cmNlX2lkcxgGIAMoCRIlCh1kaXNhYmxlX2F1dG9fZXh0ZXJuYWxfc291cmNlcxgHIAEoCBIMCgRwYXRoGAggASgJEg4KBnByZWZpeBgJIAEoCRIOCgZzdWZmaXgYCiABKAkSFQoNc2VsZWN0ZWRfY29kZRgLIAEoCRIeCgZkaWFsb2cYDCADKAsyDi5jaGF0LkV4Y2hhbmdlEiMKG2luY2x1ZGVfZm9ybWF0dGVkX3JldHJpZXZhbBgNIAEoCBIcChRpbmNsdWRlX2xpbmVfbnVtYmVycxgOIAEoCBIcCg9jb252ZXJzYXRpb25faWQYDyABKAlIAIgBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGBAgASgJSAGIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYESABKAlIAogBARIUCgd0dXJuX2lkGBIgASgJSAOIAQFCEgoQX2NvbnZlcnNhdGlvbl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCCgoIX3R1cm5faWQioAEKHENvZGViYXNlUmV0cmlldmFsUmF3UmVzcG9uc2USKQoGY2h1bmtzGAEgAygLMhkuYWdlbnRzLlJhd1JldHJpZXZlZENodW5rEhsKE2Zvcm1hdHRlZF9yZXRyaWV2YWwYAiABKAkSGgoSdW5rbm93bl9ibG9iX25hbWVzGAMgAygJEhwKFGNoZWNrcG9pbnRfbm90X2ZvdW5kGAQgASgIIqQEChhDb2RlYmFzZVJldHJpZXZhbFJlcXVlc3QSGwoTaW5mb3JtYXRpb25fcmVxdWVzdBgBIAEoCRIeCgZkaWFsb2cYAiADKAsyDi5jaGF0LkV4Y2hhbmdlEiUKBWJsb2JzGAMgAygLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEhkKEW1heF9vdXRwdXRfbGVuZ3RoGAQgASgFEiIKGmRpc2FibGVfY29kZWJhc2VfcmV0cmlldmFsGAUgASgIEh8KF2VuYWJsZV9jb21taXRfcmV0cmlldmFsGAYgASgIEiUKHWVuYWJsZV9jb252ZXJzYXRpb25fcmV0cmlldmFsGAcgASgIEjYKEmJyaW5nX3lvdXJfb3duX2tleRgIIAEoCzIVLmNoYXQuQnJpbmdZb3VyT3duS2V5SACIAQESHAoPY29udmVyc2F0aW9uX2lkGAkgASgJSAGIAQESIwoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBgKIAEoCUgCiAEBEiEKFHJvb3RfY29udmVyc2F0aW9uX2lkGAsgASgJSAOIAQESFAoHdHVybl9pZBgMIAEoCUgEiAEBQhUKE19icmluZ195b3VyX293bl9rZXlCEgoQX2NvbnZlcnNhdGlvbl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCCgoIX3R1cm5faWQiuwYKGUNvZGViYXNlUmV0cmlldmFsUmVzcG9uc2USGwoTZm9ybWF0dGVkX3JldHJpZXZhbBgBIAEoCRIlCh1jb2RlYmFzZV9yZXRyaWV2YWxfZWxhcHNlZF9tcxgCIAEoBRIpCiFjb252ZXJzYXRpb25fcmV0cmlldmFsX2VsYXBzZWRfbXMYAyABKAUSKQohY29udmVyc2F0aW9uX2luaXRpYWxfcmV0cmlldmFsX21zGAQgASgFEicKH2NvbnZlcnNhdGlvbl9xdWVyeV9yZXdyaXRpbmdfbXMYBSABKAUSKgoiY29udmVyc2F0aW9uX2ZvbGxvd3VwX3JldHJpZXZhbF9tcxgGIAEoBRIbChNibG9iX25hbWVfbG9va3VwX21zGAcgASgFEiEKGWNvZGViYXNlX2NodW5rc19yZXRyaWV2ZWQYCCABKAUSIwobY29udmVyc2F0aW9uX2NodW5rc19pbml0aWFsGAkgASgFEiYKHmNvbnZlcnNhdGlvbl9xdWVyaWVzX2dlbmVyYXRlZBgKIAEoBRIkChxjb252ZXJzYXRpb25fY2h1bmtzX2ZvbGxvd3VwGAsgASgFEiQKHGNvbnZlcnNhdGlvbl9jaHVua3NfY29tYmluZWQYDCABKAUSKgoiY29kZWJhc2VfcmVzdWx0X2xlbl9wcmVfdHJ1bmNhdGlvbhgNIAEoBRIbChNjb2RlYmFzZV9yZXN1bHRfbGVuGA4gASgFEi4KJmNvbnZlcnNhdGlvbl9yZXN1bHRfbGVuX3ByZV90cnVuY2F0aW9uGA8gASgFEh8KF2NvbnZlcnNhdGlvbl9yZXN1bHRfbGVuGBAgASgFEhsKE2NvbWJpbmVkX3Jlc3VsdF9sZW4YESABKAUSFAoMdG90YWxfYnVkZ2V0GBIgASgFEhcKD2NvZGViYXNlX2J1ZGdldBgTIAEoBRIbChNjb252ZXJzYXRpb25fYnVkZ2V0GBQgASgFEhoKEmNvZGViYXNlX3RydW5jYXRlZBgVIAEoCBIeChZjb252ZXJzYXRpb25fdHJ1bmNhdGVkGBYgASgIEhcKD2ZpbmFsX3RydW5jYXRlZBgXIAEoCCJ0Cg9FZGl0RmlsZVJlcXVlc3QSEQoJZmlsZV9wYXRoGAEgASgJEhQKDGVkaXRfc3VtbWFyeRgCIAEoCRIhChlkZXRhaWxlZF9lZGl0X2Rlc2NyaXB0aW9uGAMgASgJEhUKDWZpbGVfY29udGVudHMYBCABKAkiRAoQRWRpdEZpbGVSZXNwb25zZRIeChZtb2RpZmllZF9maWxlX2NvbnRlbnRzGAEgASgJEhAKCGlzX2Vycm9yGAIgASgIImMKEVJhd1JldHJpZXZhbFF1ZXJ5EhMKC2Rlc2NyaXB0aW9uGAEgASgJEgwKBHBhdGgYAiABKAkSFwoPY29udGFpbnNfc3RyaW5nGAMgASgJEhIKCm1heF9jaHVua3MYBCABKAUihgIKEVJhd1JldHJpZXZlZENodW5rEgwKBHRleHQYASABKAkSDAoEcGF0aBgCIAEoCRISCgpjaGFyX3N0YXJ0GAMgASgFEhAKCGNoYXJfZW5kGAQgASgFEhIKCmxpbmVfc3RhcnQYBSABKAUSFwoPbGVuZ3RoX2luX2xpbmVzGAYgASgFEhEKCWJsb2JfbmFtZRgHIAEoCRINCgVzY29yZRgIIAEoAhIOCgZvcmlnaW4YCSABKAkSFgoObWF0Y2hlZF9zdHJpbmcYCiABKAkSGgoSZXh0ZXJuYWxfc291cmNlX2lkGAsgASgJEhwKFGV4dGVybmFsX3NvdXJjZV9uYW1lGAwgASgJIrkCChVSdW5SZW1vdGVUb29sUmVzcG9uc2USEwoLdG9vbF9vdXRwdXQYASABKAkSGwoTdG9vbF9yZXN1bHRfbWVzc2FnZRgCIAEoCRIUCghpc19lcnJvchgDIAEoCEICGAESMAoGc3RhdHVzGAQgASgOMiAuYWdlbnRzLlJlbW90ZVRvb2xSZXNwb25zZVN0YXR1cxIjChZjb21wcmVzc2VkX2Z1bGxfb3V0cHV0GAUgASgJSACIAQESHQoQZnVsbF9vdXRwdXRfc2l6ZRgGIAEoA0gBiAEBEjIKDWNvbnRlbnRfbm9kZXMYByADKAsyGy5jaGF0LlRvb2xSZXN1bHRDb250ZW50Tm9kZUIZChdfY29tcHJlc3NlZF9mdWxsX291dHB1dEITChFfZnVsbF9vdXRwdXRfc2l6ZSqrAgoMUmVtb3RlVG9vbElkEgsKB1VOS05PV04QABIOCgpXRUJfU0VBUkNIEAESDgoKR0lUSFVCX0FQSRAIEhsKF0dJVEhVQl9BUFBfUkVBRE9OTFlfQVBJEBISGwoXR0lUSFVCX0FQUF9QT1NUX0NPTU1FTlQQExIdChlHSVRIVUJfQVBQX1BSX0RFU0NSSVBUSU9OEBQSCgoGTElORUFSEAwSCAoESklSQRANEg4KCkNPTkZMVUVOQ0UQDhIKCgZOT1RJT04QDxIMCghTVVBBQkFTRRAQEgkKBUdMRUFOEBEiBAgCEAIiBAgDEAMiBAgEEAQiBAgFEAUiBAgGEAYiBAgHEAciBAgJEAkiBAgKEAoiBAgLEAsiBAgVEBUqDkNPTlRFWFRfQ0FOVkFTKtYBChhSZW1vdGVUb29sUmVzcG9uc2VTdGF0dXMSIQodVE9PTF9FWEVDVVRJT05fVU5LTk9XTl9TVEFUVVMQABIaChZUT09MX0VYRUNVVElPTl9TVUNDRVNTEAESEgoOVE9PTF9OT1RfRk9VTkQQAhIWChJJTlZBTElEX1RPT0xfSU5QVVQQAxIYChRUT09MX0VYRUNVVElPTl9FUlJPUhAEEhYKElRPT0xfTk9UX0FWQUlMQUJMRRAFEh0KGVRPT0xfQVVUSEVOVElDQVRJT05fRVJST1IQBmIGcHJvdG8z",[Vt,Yn,yn]);var DZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_SEARCH=1]="WEB_SEARCH",e[e.GITHUB_API=8]="GITHUB_API",e[e.GITHUB_APP_READONLY_API=18]="GITHUB_APP_READONLY_API",e[e.GITHUB_APP_POST_COMMENT=19]="GITHUB_APP_POST_COMMENT",e[e.GITHUB_APP_PR_DESCRIPTION=20]="GITHUB_APP_PR_DESCRIPTION",e[e.LINEAR=12]="LINEAR",e[e.JIRA=13]="JIRA",e[e.CONFLUENCE=14]="CONFLUENCE",e[e.NOTION=15]="NOTION",e[e.SUPABASE=16]="SUPABASE",e[e.GLEAN=17]="GLEAN"})(DZ||(DZ={}));var LZ;(function(e){e[e.TOOL_EXECUTION_UNKNOWN_STATUS=0]="TOOL_EXECUTION_UNKNOWN_STATUS",e[e.TOOL_EXECUTION_SUCCESS=1]="TOOL_EXECUTION_SUCCESS",e[e.TOOL_NOT_FOUND=2]="TOOL_NOT_FOUND",e[e.INVALID_TOOL_INPUT=3]="INVALID_TOOL_INPUT",e[e.TOOL_EXECUTION_ERROR=4]="TOOL_EXECUTION_ERROR",e[e.TOOL_NOT_AVAILABLE=5]="TOOL_NOT_AVAILABLE",e[e.TOOL_AUTHENTICATION_ERROR=6]="TOOL_AUTHENTICATION_ERROR"})(LZ||(LZ={}));var $e=k("CjBzZXJ2aWNlcy9hdXRoL2NlbnRyYWwvc2VydmVyL2F1dGhfZW50aXRpZXMucHJvdG8SDWF1dGhfZW50aXRpZXMipQEKBlVzZXJJZBI2Cgx1c2VyX2lkX3R5cGUYASABKA4yIC5hdXRoX2VudGl0aWVzLlVzZXJJZC5Vc2VySWRUeXBlEg8KB3VzZXJfaWQYAiABKAkiUgoKVXNlcklkVHlwZRILCgdVTktOT1dOEAASCwoHQVVHTUVOVBABEg0KCUFQSV9UT0tFThACEgkKBVNMQUNLEAMSEAoMSU5URVJOQUxfSUFQEAQqjgEKB0JvdFR5cGUSGAoUQk9UX1RZUEVfVU5TUEVDSUZJRUQQABITCg9DT0RFX1JFVklFV19CT1QQARIYChRDT0RFX1JFVklFV19FVkFMX0JPVBACEg4KCkFUSEVOQV9CT1QQAxINCglTTEFDS19CT1QQBBIOCgpMSU5FQVJfQk9UEAUSCwoHU0FOREJPWBAGKlMKCFVzZXJUeXBlEhkKFVVTRVJfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVVTRVJfVFlQRV9SRUdVTEFSEAESFQoRVVNFUl9UWVBFX1NFUlZJQ0UQAkJRWk9naXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYXV0aC9jZW50cmFsL3NlcnZlci9hdXRoX2VudGl0aWVzX3Byb3RvYgZwcm90bzM",[ee]);var MZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.AUGMENT=1]="AUGMENT",e[e.API_TOKEN=2]="API_TOKEN",e[e.SLACK=3]="SLACK",e[e.INTERNAL_IAP=4]="INTERNAL_IAP"})(MZ||(MZ={}));var OZ;(function(e){e[e.BOT_TYPE_UNSPECIFIED=0]="BOT_TYPE_UNSPECIFIED",e[e.CODE_REVIEW_BOT=1]="CODE_REVIEW_BOT",e[e.CODE_REVIEW_EVAL_BOT=2]="CODE_REVIEW_EVAL_BOT",e[e.ATHENA_BOT=3]="ATHENA_BOT",e[e.SLACK_BOT=4]="SLACK_BOT",e[e.LINEAR_BOT=5]="LINEAR_BOT",e[e.SANDBOX=6]="SANDBOX"})(OZ||(OZ={}));var jZ;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.REGULAR=1]="REGULAR",e[e.SERVICE=2]="SERVICE"})(jZ||(jZ={}));var qZ=k("CidzZXJ2aWNlcy9hdXRoL2NlbnRyYWwvc2VydmVyL2F1dGgucHJvdG8SBGF1dGgipAIKGUNhbmNlbFN1YnNjcmlwdGlvblJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSGgoSY2FuY2VsX2ltbWVkaWF0ZWx5GAMgASgIEjoKCGZlZWRiYWNrGAQgASgLMiguYXV0aC5DYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0LkZlZWRiYWNrEg4KBnJlYXNvbhgFIAEoCRp7CghGZWVkYmFjaxI1ChNjYW5jZWxsYXRpb25fcmVhc29uGAEgASgOMhguYXV0aC5DYW5jZWxsYXRpb25SZWFzb24SIAoTYWRkaXRpb25hbF9mZWVkYmFjaxgCIAEoCUgAiAEBQhYKFF9hZGRpdGlvbmFsX2ZlZWRiYWNrKugHChJDYW5jZWxsYXRpb25SZWFzb24SIwofQ0FOQ0VMTEFUSU9OX1JFQVNPTl9VTlNQRUNJRklFRBAAEiUKIUNBTkNFTExBVElPTl9SRUFTT05fVE9PX0VYUEVOU0lWRRABEigKJENBTkNFTExBVElPTl9SRUFTT05fTk9UX1VTSU5HX0VOT1VHSBACEigKJENBTkNFTExBVElPTl9SRUFTT05fTUlTU0lOR19GRUFUVVJFUxADEigKJENBTkNFTExBVElPTl9SRUFTT05fVEVDSE5JQ0FMX0lTU1VFUxAEEi8KK0NBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NPTVBFVElUT1IQBRIwCixDQU5DRUxMQVRJT05fUkVBU09OX1NXSVRDSElOR19UT19DTEFVREVfQ09ERRAGEioKJkNBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NPREVYEAcSLworQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fR0VNSU5JX0NMSRAIEisKJ0NBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NVUlNPUhAJEi0KKUNBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX1dJTkRTVVJGEAoSLAooQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fQ09QSUxPVBALEioKJkNBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NMSU5FEAwSKgomQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fREVWSU4QDRIoCiRDQU5DRUxMQVRJT05fUkVBU09OX1NXSVRDSElOR19UT19ST08QDhIsCihDQU5DRUxMQVRJT05fUkVBU09OX1NXSVRDSElOR19UT19MT1ZBQkxFEA8SLAooQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fRkFDVE9SWRAQEi8KK0NBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX09USEVSX1RPT0wQERIoCiRDQU5DRUxMQVRJT05fUkVBU09OX05PX0xPTkdFUl9ORUVERUQQEhIdChlDQU5DRUxMQVRJT05fUkVBU09OX09USEVSEBMSMwovQ0FOQ0VMTEFUSU9OX1JFQVNPTl9SRVFVSVJFX0NPTVBMRVRJT05TX0ZFQVRVUkUQFBIxCi1DQU5DRUxMQVRJT05fUkVBU09OX1JFUVVJUkVfTkVYVF9FRElUX0ZFQVRVUkUQFUJDWkFnaXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYXV0aC9jZW50cmFsL3NlcnZlci9wcm90b2IGcHJvdG8z",[ee,$e]);var PZ;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TOO_EXPENSIVE=1]="TOO_EXPENSIVE",e[e.NOT_USING_ENOUGH=2]="NOT_USING_ENOUGH",e[e.MISSING_FEATURES=3]="MISSING_FEATURES",e[e.TECHNICAL_ISSUES=4]="TECHNICAL_ISSUES",e[e.SWITCHING_TO_COMPETITOR=5]="SWITCHING_TO_COMPETITOR",e[e.SWITCHING_TO_CLAUDE_CODE=6]="SWITCHING_TO_CLAUDE_CODE",e[e.SWITCHING_TO_CODEX=7]="SWITCHING_TO_CODEX",e[e.SWITCHING_TO_GEMINI_CLI=8]="SWITCHING_TO_GEMINI_CLI",e[e.SWITCHING_TO_CURSOR=9]="SWITCHING_TO_CURSOR",e[e.SWITCHING_TO_WINDSURF=10]="SWITCHING_TO_WINDSURF",e[e.SWITCHING_TO_COPILOT=11]="SWITCHING_TO_COPILOT",e[e.SWITCHING_TO_CLINE=12]="SWITCHING_TO_CLINE",e[e.SWITCHING_TO_DEVIN=13]="SWITCHING_TO_DEVIN",e[e.SWITCHING_TO_ROO=14]="SWITCHING_TO_ROO",e[e.SWITCHING_TO_LOVABLE=15]="SWITCHING_TO_LOVABLE",e[e.SWITCHING_TO_FACTORY=16]="SWITCHING_TO_FACTORY",e[e.SWITCHING_TO_OTHER_TOOL=17]="SWITCHING_TO_OTHER_TOOL",e[e.NO_LONGER_NEEDED=18]="NO_LONGER_NEEDED",e[e.OTHER=19]="OTHER",e[e.REQUIRE_COMPLETIONS_FEATURE=20]="REQUIRE_COMPLETIONS_FEATURE",e[e.REQUIRE_NEXT_EDIT_FEATURE=21]="REQUIRE_NEXT_EDIT_FEATURE"})(PZ||(PZ={}));var e2=k("Ci5zZXJ2aWNlcy9iaWxsaW5nL21ldGVyaW5nL21ldGVyaW5nX2V2ZW50LnByb3RvEg5tZXRlcmluZ19ldmVudCKRBAoOUmVxdWVzdENvbnRleHQSFgoOcmVxdWVzdF9zb3VyY2UYASABKAkSEgoKcmVxdWVzdF9pZBgCIAEoCRISCgpzZXNzaW9uX2lkGAMgASgJEhEKCXRlbmFudF9pZBgFIAEoCRImCgd1c2VyX2lkGAYgASgLMhUuYXV0aF9lbnRpdGllcy5Vc2VySWQSGwoTdXNlcl9lbWFpbF9vdmVycmlkZRgHIAEoCRIXCg9jb252ZXJzYXRpb25faWQYCCABKAkSHgoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBgJIAEoCRIcChRyb290X2NvbnZlcnNhdGlvbl9pZBgKIAEoCRIPCgd0dXJuX2lkGAsgASgJEioKCXVzZXJfdHlwZRgMIAEoDjIXLmF1dGhfZW50aXRpZXMuVXNlclR5cGUSKAoIYm90X3R5cGUYDSABKA4yFi5hdXRoX2VudGl0aWVzLkJvdFR5cGUSDwoHaXNfYnlvaxgOIAEoCBIRCglleHBlcnRfaWQYDyABKAkSGQoRZXVfaW5mZXJlbmNlX29ubHkYECABKAgSEwoLd29ya2Zsb3dfaWQYESABKAkSEwoLcmVzaWRlbnRfaWQYEiABKAkSFgoOZW52aXJvbm1lbnRfaWQYEyABKAkSEAoIYWdlbnRfaWQYFCABKAkSEAoIc3BhY2VfaWQYFSABKAlKBAgEEAUiiAEKFUFnZW50TWV0ZXJpbmdNZXRhZGF0YRIdChVhY3Rpdml0eV9kaXNwbGF5X25hbWUYASABKAkSGgoSbW9kZWxfZGlzcGxheV9uYW1lGAIgASgJEhwKFHJlcXVlc3RlZF9tb2RlbF9uYW1lGAMgASgJEhYKDnJvdXRpbmdfcmVhc29uGAQgASgJIloKHUNvbnRleHRFbmdpbmVNZXRlcmluZ01ldGFkYXRhEh0KFWFjdGl2aXR5X2Rpc3BsYXlfbmFtZRgBIAEoCRIaChJtb2RlbF9kaXNwbGF5X25hbWUYAiABKAkiYwoXQ29tcHV0ZU1ldGVyaW5nTWV0YWRhdGESHQoVYWN0aXZpdHlfZGlzcGxheV9uYW1lGAEgASgJEhoKEm1vZGVsX2Rpc3BsYXlfbmFtZRgCIAEoCRINCgV2bV9pZBgDIAEoCSKgBAoLQ29zdENvbnRleHQSGwoTYWN0aXZpdHlfbXVsdGlwbGllchgBIAEoARIUCgxpbnB1dF90b2tlbnMYAiABKAUSFQoNb3V0cHV0X3Rva2VucxgDIAEoBRIZChFjYWNoZV9yZWFkX3Rva2VucxgEIAEoBRIaChJjYWNoZV93cml0ZV90b2tlbnMYBSABKAUSEgoKbW9kZWxfbmFtZRgGIAEoCRIWCg50b3RhbF9jb3N0X3VzZBgHIAEoARIaChJieW9rX3Byb3ZpZGVyX25hbWUYCCABKAkSFgoOc3VyY2hhcmdlX3JhdGUYCSABKAESFQoNc3VyY2hhcmdlX3VzZBgKIAEoCRIVCg1iYXNlX2Nvc3RfdXNkGAsgASgJEhAKCHZtX2NvdW50GAwgASgFEhoKEnRvdGFsX2NwdV9jb3N0X3VzZBgNIAEoARIdChV0b3RhbF9tZW1vcnlfY29zdF91c2QYDiABKAESHgoWdG90YWxfYmlsbGFibGVfc2Vjb25kcxgPIAEoARIRCgljcHVfY29yZXMYECABKAISFwoPbWVtb3J5X3NpemVfbWliGBEgASgFEhcKD3Byb3ZpZGVyX3JlZ2lvbhgSIAEoCRIWCg5lbmRwb2ludF9zY29wZRgTIAEoCRIgChNyZWdpb25hbF9tdWx0aXBsaWVyGBQgASgBSACIAQFCFgoUX3JlZ2lvbmFsX211bHRpcGxpZXIizwUKDU1ldGVyaW5nRXZlbnQSFgoOaWRlbXBvdGVuY3lfaWQYASABKAkSOwoKdXNhZ2VfdHlwZRgCIAEoDjInLm1ldGVyaW5nX2V2ZW50Lk1ldGVyaW5nRXZlbnQuVXNhZ2VUeXBlEjcKD3JlcXVlc3RfY29udGV4dBgDIAEoCzIeLm1ldGVyaW5nX2V2ZW50LlJlcXVlc3RDb250ZXh0EkgKF2FnZW50X21ldGVyaW5nX21ldGFkYXRhGAQgASgLMiUubWV0ZXJpbmdfZXZlbnQuQWdlbnRNZXRlcmluZ01ldGFkYXRhSAASWQogY29udGV4dF9lbmdpbmVfbWV0ZXJpbmdfbWV0YWRhdGEYByABKAsyLS5tZXRlcmluZ19ldmVudC5Db250ZXh0RW5naW5lTWV0ZXJpbmdNZXRhZGF0YUgAEkwKGWNvbXB1dGVfbWV0ZXJpbmdfbWV0YWRhdGEYCyABKAsyJy5tZXRlcmluZ19ldmVudC5Db21wdXRlTWV0ZXJpbmdNZXRhZGF0YUgAEi0KCXRpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQY3JlZGl0c19jb25zdW1lZBgGIAEoARIxCgxjb3N0X2NvbnRleHQYCCABKAsyGy5tZXRlcmluZ19ldmVudC5Db3N0Q29udGV4dBIPCgdkcnlfcnVuGAkgASgIEhMKB2lzX2J5b2sYCiABKAhCAhgBEhkKEWJpbGxlZF9hbW91bnRfdXNkGA4gASgJEiMKG2VzdGltYXRlZF9jdXN0b21lcl9jb3N0X3VzZBgPIAEoCSJPCglVc2FnZVR5cGUSFgoSVVNBR0VfVFlQRV9VTktOT1dOEAASCQoFQUdFTlQQARISCg5DT05URVhUX0VOR0lORRACEgsKB0NPTVBVVEUQA0IKCghtZXRhZGF0YUJGWkRnaXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYmlsbGluZy9tZXRlcmluZ19ldmVudF9wcm90b2IGcHJvdG8z",[ee,$e]);var $Z;(function(e){e[e.USAGE_TYPE_UNKNOWN=0]="USAGE_TYPE_UNKNOWN",e[e.AGENT=1]="AGENT",e[e.CONTEXT_ENGINE=2]="CONTEXT_ENGINE",e[e.COMPUTE=3]="COMPUTE"})($Z||($Z={}));var t2=k("CilzZXJ2aWNlcy9jb21wbGV0aW9uX2hvc3QvY29tcGxldGlvbi5wcm90bxIKY29tcGxldGlvbiJECg9HaXREaWZmRmlsZUluZm8SGQoRY29udGVudF9ibG9iX25hbWUYASABKAkSFgoOZmlsZV9ibG9iX25hbWUYAiABKAki6wEKC1JlY2VuY3lJbmZvEjUKEXRhYl9zd2l0Y2hfZXZlbnRzGAEgAygLMhouY29tcGxldGlvbi5UYWJTd2l0Y2hFdmVudBI3ChJnaXRfZGlmZl9maWxlX2luZm8YAiADKAsyGy5jb21wbGV0aW9uLkdpdERpZmZGaWxlSW5mbxIzCg5yZWNlbnRfY2hhbmdlcxgDIAMoCzIbLmNvbXBsZXRpb24uUmVwbGFjZW1lbnRUZXh0EjcKD3ZpZXdlZF9jb250ZW50cxgEIAMoCzIeLmNvbXBsZXRpb24uVmlld2VkQ29udGVudEV2ZW50IoUCCg9SZXBsYWNlbWVudFRleHQSEQoJYmxvYl9uYW1lGAEgASgJEgwKBHBhdGgYAiABKAkSEgoKY2hhcl9zdGFydBgDIAEoDRIQCghjaGFyX2VuZBgEIAEoDRIYChByZXBsYWNlbWVudF90ZXh0GAUgASgJEhcKD3ByZXNlbnRfaW5fYmxvYhgGIAEoCBIfChJleHBlY3RlZF9ibG9iX25hbWUYByABKAlIAIgBARIyCgl0aW1lc3RhbXAYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQFCFQoTX2V4cGVjdGVkX2Jsb2JfbmFtZUIMCgpfdGltZXN0YW1wIjYKDlRhYlN3aXRjaEV2ZW50EgwKBHBhdGgYASABKAkSFgoOZmlsZV9ibG9iX25hbWUYAiABKAkizgEKElZpZXdlZENvbnRlbnRFdmVudBIMCgRwYXRoGAEgASgJEhYKDmZpbGVfYmxvYl9uYW1lGAIgASgJEhcKD3Zpc2libGVfY29udGVudBgDIAEoCRISCgpsaW5lX3N0YXJ0GAQgASgNEhAKCGxpbmVfZW5kGAUgASgNEhIKCmNoYXJfc3RhcnQYBiABKA0SEAoIY2hhcl9lbmQYByABKA0SLQoJdGltZXN0YW1wGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcGIGcHJvdG8z",[Vt,za,ee]);var n2=k("Ch1zZXJ2aWNlcy9lZGl0X2hvc3QvZWRpdC5wcm90bxIEZWRpdCJLCgxFZGl0UG9zaXRpb24SFAoMcHJlZml4X2JlZ2luGAEgASgFEhIKCnN1ZmZpeF9lbmQYAiABKAUSEQoJYmxvYl9uYW1lGAMgASgJIvEBCgtFZGl0UmVxdWVzdBISCgptb2RlbF9uYW1lGAEgASgJEgwKBHBhdGgYAiABKAkSDgoGcHJlZml4GAMgASgJEhUKDXNlbGVjdGVkX3RleHQYBCABKAkSDgoGc3VmZml4GAUgASgJEhMKC2luc3RydWN0aW9uGAYgASgJEiQKCHBvc2l0aW9uGAcgASgLMhIuZWRpdC5FZGl0UG9zaXRpb24SDAoEbGFuZxgJIAEoCRITCgtzZXF1ZW5jZV9pZBgKIAEoDRIlCgVibG9icxgLIAEoCzIWLmJhc2UuYmxvYl9uYW1lcy5CbG9ic0oECAgQCSJWCgxFZGl0UmVzcG9uc2USDAoEdGV4dBgBIAEoCRIaChJ1bmtub3duX2Jsb2JfbmFtZXMYAiADKAkSHAoUY2hlY2twb2ludF9ub3RfZm91bmQYAyABKAgieQoIRXhjaGFuZ2USFwoPcmVxdWVzdF9tZXNzYWdlGAEgASgJEhoKDXJlc3BvbnNlX3RleHQYAiABKAlIAIgBARIXCgpyZXF1ZXN0X2lkGAMgASgJSAGIAQFCEAoOX3Jlc3BvbnNlX3RleHRCDQoLX3JlcXVlc3RfaWQijwEKHEluc3RydWN0aW9uQWdncmVnYXRlUmVzcG9uc2USDAoEdGV4dBgBIAEoCRIaChJ1bmtub3duX2Jsb2JfbmFtZXMYAiADKAkSHAoUY2hlY2twb2ludF9ub3RfZm91bmQYAyABKAgSJwoMcmVwbGFjZV90ZXh0GAQgAygLMhEuZWRpdC5SZXBsYWNlVGV4dCLwBAoSSW5zdHJ1Y3Rpb25SZXF1ZXN0EhIKCm1vZGVsX25hbWUYASABKAkSDAoEcGF0aBgCIAEoCRIOCgZwcmVmaXgYAyABKAkSFQoNc2VsZWN0ZWRfdGV4dBgEIAEoCRIOCgZzdWZmaXgYBSABKAkSEwoLaW5zdHJ1Y3Rpb24YBiABKAkSJAoIcG9zaXRpb24YByABKAsyEi5lZGl0LkVkaXRQb3NpdGlvbhIMCgRsYW5nGAggASgJEhMKC3NlcXVlbmNlX2lkGAkgASgNEiUKBWJsb2JzGAogASgLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEiQKDGNoYXRfaGlzdG9yeRgLIAMoCzIOLmVkaXQuRXhjaGFuZ2USFwoKY29kZV9ibG9jaxgMIAEoCUgAiAEBEh0KEHRhcmdldF9maWxlX3BhdGgYDSABKAlIAYgBARIgChN0YXJnZXRfZmlsZV9jb250ZW50GA4gASgJSAKIAQESLQogY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWQYDyABKAlIA4gBARIcCg91c2VyX2d1aWRlbGluZXMYECABKAlIBIgBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgRIAEoCUgFiAEBQg0KC19jb2RlX2Jsb2NrQhMKEV90YXJnZXRfZmlsZV9wYXRoQhYKFF90YXJnZXRfZmlsZV9jb250ZW50QiMKIV9jb250ZXh0X2NvZGVfZXhjaGFuZ2VfcmVxdWVzdF9pZEISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lcyKuAQoLUmVwbGFjZVRleHQSEQoEdGV4dBgBIAEoCUgAiAEBEhcKCnN0YXJ0X2xpbmUYAiABKA1IAYgBARIVCghlbmRfbGluZRgDIAEoDUgCiAEBEhUKCG9sZF90ZXh0GAQgASgJSAOIAQESEwoLc2VxdWVuY2VfaWQYBSABKA1CBwoFX3RleHRCDQoLX3N0YXJ0X2xpbmVCCwoJX2VuZF9saW5lQgsKCV9vbGRfdGV4dGIGcHJvdG8z",[Vt]);var r2=k("Ci9zZXJ2aWNlcy9pbnRlZ3JhdGlvbnMvZ2l0aHViL2dpdGh1Yl9ldmVudC5wcm90bxIMZ2l0aHViX2V2ZW50InkKDUV2ZW50TWV0YWRhdGESFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgDEhEKCXRlbmFudF9pZBgCIAEoCRITCgt0ZW5hbnRfbmFtZRgEIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJEhMKC2RlbGl2ZXJ5X2lkGAUgASgJIkQKClJlcG9zaXRvcnkSEQoEbmFtZRgBIAEoCUIDgAEBEhIKBW93bmVyGAIgASgJQgOAAQESDwoHbm9kZV9pZBgDIAEoCSKAAgoJUHVzaEV2ZW50EiwKCnJlcG9zaXRvcnkYASABKAsyGC5naXRodWJfZXZlbnQuUmVwb3NpdG9yeRIQCgNyZWYYAiABKAlCA4ABARIXCgpiZWZvcmVfc2hhGAMgASgJQgOAAQESFgoJYWZ0ZXJfc2hhGAQgASgJQgOAAQESNwoTcHVzaGVkX2F0X3RpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZm9yY2VkGAYgASgIEjkKFWhlYWRfY29tbWl0X3RpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiQwoIVXNlckluZm8SEgoFbG9naW4YASABKAlCA4ABARISCgVlbWFpbBgCIAEoCUIDgAEBEg8KB25vZGVfaWQYAyABKAkiwgEKEUluc3RhbGxhdGlvbkV2ZW50EicKBXJlcG9zGAEgAygLMhguZ2l0aHViX2V2ZW50LlJlcG9zaXRvcnkSDgoGYWN0aW9uGAIgASgJEisKBnNlbmRlchgDIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mb0gAiAEBEi4KCXJlcXVlc3RlchgEIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mb0gBiAEBQgkKB19zZW5kZXJCDAoKX3JlcXVlc3RlciKtBQoQUHVsbFJlcXVlc3RFdmVudBIsCgpyZXBvc2l0b3J5GAEgASgLMhguZ2l0aHViX2V2ZW50LlJlcG9zaXRvcnkSDgoGYWN0aW9uGAIgASgJEg4KBm51bWJlchgDIAEoDRISCgV0aXRsZRgEIAEoCUIDgAEBEhEKBGJvZHkYBSABKAlCA4ABARINCgVzdGF0ZRgGIAEoCRImCgZhdXRob3IYByABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SLQoIYXNzaWduZWUYCCABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm9IAIgBARITCgZsYWJlbHMYCSADKAlCA4ABARIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCghoZWFkX3JlZhgMIAEoCUIDgAEBEhUKCGhlYWRfc2hhGA0gASgJQgOAAQESFQoIYmFzZV9yZWYYDiABKAlCA4ABARIVCghiYXNlX3NoYRgPIAEoCUIDgAEBEjMKE3JlcXVlc3RlZF9yZXZpZXdlcnMYECADKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SDQoFZHJhZnQYESABKAgSDgoGbWVyZ2VkGBIgASgIEjIKCW1lcmdlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIWCglhZGRpdGlvbnMYFCABKANIAogBARIWCglkZWxldGlvbnMYFSABKANIA4gBAUILCglfYXNzaWduZWVCDAoKX21lcmdlZF9hdEIMCgpfYWRkaXRpb25zQgwKCl9kZWxldGlvbnMi4gEKB0NvbW1lbnQSEQoEYm9keRgBIAEoCUIDgAEBEgoKAmlkGAIgASgDEiQKBHVzZXIYAyABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEQoEcGF0aBgGIAEoCUIDgAEBEgwKBGxpbmUYByABKAUSEQoJY29tbWl0X2lkGAggASgJIocCCh1QdWxsUmVxdWVzdFJldmlld0NvbW1lbnRFdmVudBIsCgpyZXBvc2l0b3J5GAEgASgLMhguZ2l0aHViX2V2ZW50LlJlcG9zaXRvcnkSDgoGYWN0aW9uGAIgASgJEg4KBm51bWJlchgDIAEoDRImCgdjb21tZW50GAQgASgLMhUuZ2l0aHViX2V2ZW50LkNvbW1lbnQSHwoScHVsbF9yZXF1ZXN0X3RpdGxlGAUgASgJQgOAAQESGgoScHVsbF9yZXF1ZXN0X3N0YXRlGAYgASgJEjMKE3B1bGxfcmVxdWVzdF9hdXRob3IYByABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8i7gEKCkNoZWNrU3VpdGUSCgoCaWQYASABKAMSFQoIaGVhZF9zaGEYAiABKAlCA4ABARIOCgZzdGF0dXMYAyABKAkSEgoKY29uY2x1c2lvbhgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI5Cg1wdWxsX3JlcXVlc3RzGAcgAygLMiIuZ2l0aHViX2V2ZW50LlB1bGxSZXF1ZXN0UmVmZXJlbmNlInEKFFB1bGxSZXF1ZXN0UmVmZXJlbmNlEg4KBm51bWJlchgBIAEoDRISCgV0aXRsZRgCIAEoCUIDgAEBEg0KBXN0YXRlGAMgASgJEiYKBmF1dGhvchgEIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mbyJ+Cg9DaGVja1N1aXRlRXZlbnQSLAoKcmVwb3NpdG9yeRgBIAEoCzIYLmdpdGh1Yl9ldmVudC5SZXBvc2l0b3J5Eg4KBmFjdGlvbhgCIAEoCRItCgtjaGVja19zdWl0ZRgDIAEoCzIYLmdpdGh1Yl9ldmVudC5DaGVja1N1aXRlIrMBCgxJc3N1ZUNvbW1lbnQSEQoEYm9keRgBIAEoCUIDgAEBEgoKAmlkGAIgASgDEiQKBHVzZXIYAyABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAihAIKEUlzc3VlQ29tbWVudEV2ZW50EiwKCnJlcG9zaXRvcnkYASABKAsyGC5naXRodWJfZXZlbnQuUmVwb3NpdG9yeRIOCgZhY3Rpb24YAiABKAkSDgoGbnVtYmVyGAMgASgNEisKB2NvbW1lbnQYBCABKAsyGi5naXRodWJfZXZlbnQuSXNzdWVDb21tZW50EhgKC2lzc3VlX3RpdGxlGAUgASgJQgOAAQESEwoLaXNzdWVfc3RhdGUYBiABKAkSFwoPaXNfcHVsbF9yZXF1ZXN0GAcgASgIEiwKDGlzc3VlX2F1dGhvchgIIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mbyLQAQoMQ29tbWl0U3RhdHVzEg0KBXN0YXRlGAEgASgJEhcKCnRhcmdldF91cmwYAiABKAlCA4ABARIYCgtkZXNjcmlwdGlvbhgDIAEoCUIDgAEBEhQKB2NvbnRleHQYBCABKAlCA4ABARIzCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIDgAEBEjMKCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgOAAQEiwwEKC1N0YXR1c0V2ZW50EjEKCnJlcG9zaXRvcnkYASABKAsyGC5naXRodWJfZXZlbnQuUmVwb3NpdG9yeUIDgAEBEgsKA3NoYRgCIAEoCRINCgVzdGF0ZRgDIAEoCRIqCgZzdGF0dXMYBCABKAsyGi5naXRodWJfZXZlbnQuQ29tbWl0U3RhdHVzEjkKDXB1bGxfcmVxdWVzdHMYBSADKAsyIi5naXRodWJfZXZlbnQuUHVsbFJlcXVlc3RSZWZlcmVuY2Ui+wMKC0dpdGh1YkV2ZW50Ei0KCG1ldGFkYXRhGAEgASgLMhsuZ2l0aHViX2V2ZW50LkV2ZW50TWV0YWRhdGESEgoKZXZlbnRfdHlwZRgCIAEoCRInCgRwdXNoGAMgASgLMhcuZ2l0aHViX2V2ZW50LlB1c2hFdmVudEgAEjcKDGluc3RhbGxhdGlvbhgEIAEoCzIfLmdpdGh1Yl9ldmVudC5JbnN0YWxsYXRpb25FdmVudEgAEjYKDHB1bGxfcmVxdWVzdBgFIAEoCzIeLmdpdGh1Yl9ldmVudC5QdWxsUmVxdWVzdEV2ZW50SAASUgobcHVsbF9yZXF1ZXN0X3Jldmlld19jb21tZW50GAYgASgLMisuZ2l0aHViX2V2ZW50LlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudEV2ZW50SAASNAoLY2hlY2tfc3VpdGUYByABKAsyHS5naXRodWJfZXZlbnQuQ2hlY2tTdWl0ZUV2ZW50SAASOAoNaXNzdWVfY29tbWVudBgIIAEoCzIfLmdpdGh1Yl9ldmVudC5Jc3N1ZUNvbW1lbnRFdmVudEgAEisKBnN0YXR1cxgJIAEoCzIZLmdpdGh1Yl9ldmVudC5TdGF0dXNFdmVudEgAEhUKCHJhd19qc29uGAogASgJQgOAAQFCBwoFZXZlbnRiBnByb3RvMw",[ee]);var Da=k("CidzZXJ2aWNlcy9pbnRlZ3JhdGlvbnMvZ2xlYW4vZ2xlYW4ucHJvdG8SBWdsZWFuIq8FCghEb2N1bWVudBITCgtkb2N1bWVudF9pZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIPCgdjb250ZW50GAMgASgJEioKDWRvY3VtZW50X3R5cGUYBCABKA4yEy5nbGVhbi5Eb2N1bWVudFR5cGUSJgoLZGF0YV9zb3VyY2UYBSABKA4yES5nbGVhbi5EYXRhU291cmNlEgsKA3VybBgGIAEoCRIhCghjaGlsZHJlbhgHIAMoCzIPLmdsZWFuLkRvY3VtZW50Eh0KBmF1dGhvchgIIAEoCzINLmdsZWFuLlBlcnNvbhIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp2aXNpYmlsaXR5GAsgASgOMhouZ2xlYW4uRG9jdW1lbnQuVmlzaWJpbGl0eRIpCghzbmlwcGV0cxgMIAMoCzIXLmdsZWFuLkRvY3VtZW50LlNuaXBwZXQSGAoQZGF0YV9zb3VyY2VfbmFtZRgNIAEoCRpUCgdTbmlwcGV0EgwKBHRleHQYASABKAkSEwoLc3RhcnRfcmFuZ2UYAiABKAUSEQoJZW5kX3JhbmdlGAMgASgFEhMKC2RvY3VtZW50X2lkGAQgASgJIp8BCgpWaXNpYmlsaXR5EhoKFlVOU1BFQ0lGSUVEX1ZJU0lCSUxJVFkQABIPCgtQVUJMSUNfTElOSxABEhIKDlBVQkxJQ19WSVNJQkxFEAISEgoORE9NQUlOX1ZJU0lCTEUQAxIPCgtET01BSU5fTElOSxAEEgsKB1BSSVZBVEUQBRIeChpTUEVDSUZJQ19QRU9QTEVfQU5EX0dST1VQUxAGIiIKBlBlcnNvbhIMCgRuYW1lGAEgASgJEgoKAmlkGAIgASgJImEKDVNlYXJjaFJlcXVlc3QSDQoFcXVlcnkYASABKAkSHAoUaW5jbHVkZV9wcml2YXRlX2RvY3MYAiABKAgSDwoHdXNlcl9pZBgDIAEoCRISCgp1c2VyX2VtYWlsGAQgASgJIlwKDlNlYXJjaFJlc3BvbnNlEiIKCWRvY3VtZW50cxgBIAMoCzIPLmdsZWFuLkRvY3VtZW50EhEKCW9hdXRoX3VybBgCIAEoCRITCgtzdGF0dXNfY29kZRgDIAEoBSpYCgpEYXRhU291cmNlEhsKF1VOU1BFQ0lGSUVEX0RBVEFfU09VUkNFEAASCQoFU0xBQ0sQARIKCgZOT1RJT04QAhIKCgZMSU5FQVIQAxIKCgZHSVRIVUIQBCpuCgxEb2N1bWVudFR5cGUSHQoZVU5TUEVDSUZJRURfRE9DVU1FTlRfVFlQRRAAEggKBFBBR0UQARILCgdNRVNTQUdFEAISCwoHQ0hBTk5FTBADEhAKDENPTlZFUlNBVElPThAEEgkKBUlTU1VFEAVCQlpAZ2l0aHViLmNvbS9hdWdtZW50Y29kZS9hdWdtZW50L3NlcnZpY2VzL2ludGVncmF0aW9ucy9nbGVhbi9wcm90b2IGcHJvdG8z",[ee]);var o2;(function(e){e[e.UNSPECIFIED_VISIBILITY=0]="UNSPECIFIED_VISIBILITY",e[e.PUBLIC_LINK=1]="PUBLIC_LINK",e[e.PUBLIC_VISIBLE=2]="PUBLIC_VISIBLE",e[e.DOMAIN_VISIBLE=3]="DOMAIN_VISIBLE",e[e.DOMAIN_LINK=4]="DOMAIN_LINK",e[e.PRIVATE=5]="PRIVATE",e[e.SPECIFIC_PEOPLE_AND_GROUPS=6]="SPECIFIC_PEOPLE_AND_GROUPS"})(o2||(o2={}));var i2;(function(e){e[e.UNSPECIFIED_DATA_SOURCE=0]="UNSPECIFIED_DATA_SOURCE",e[e.SLACK=1]="SLACK",e[e.NOTION=2]="NOTION",e[e.LINEAR=3]="LINEAR",e[e.GITHUB=4]="GITHUB"})(i2||(i2={}));var s2;(function(e){e[e.UNSPECIFIED_DOCUMENT_TYPE=0]="UNSPECIFIED_DOCUMENT_TYPE",e[e.PAGE=1]="PAGE",e[e.MESSAGE=2]="MESSAGE",e[e.CHANNEL=3]="CHANNEL",e[e.CONVERSATION=4]="CONVERSATION",e[e.ISSUE=5]="ISSUE"})(s2||(s2={}));var l2=k("CjFzZXJ2aWNlcy9pbnRlZ3JhdGlvbnMvc2xhY2tfYm90L3NsYWNrX2V2ZW50LnByb3RvEghzbGFja2JvdCKzAQoNRXZlbnRNZXRhZGF0YRIPCgd0ZWFtX2lkGAEgASgJEhUKDWVudGVycHJpc2VfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhIKCnJlcXVlc3RfaWQYBCABKAkSEwoLdGVuYW50X25hbWUYBSABKAkSFwoPc2hhcmRfbmFtZXNwYWNlGAYgASgJEhMKC3JpX2V2ZW50X2lkGAcgASgJEhAKCGV2ZW50X2lkGAggASgJIrEBCg9BcHBNZW50aW9uRXZlbnQSEQoEdGV4dBgDIAEoCUIDgAEBEgwKBHVzZXIYBCABKAkSEQoJdGltZXN0YW1wGAUgASgJEhgKEHRocmVhZF90aW1lc3RhbXAYBiABKAkSDwoHY2hhbm5lbBgHIAEoCRIXCg9ldmVudF90aW1lc3RhbXAYCCABKAkSEQoJdXNlcl90ZWFtGAkgASgJEhMKC3NvdXJjZV90ZWFtGAogASgJIvcBCgxNZXNzYWdlRXZlbnQSFQoNY2xpZW50X21zZ19pZBgBIAEoCRIMCgR1c2VyGAIgASgJEgwKBHRleHQYAyABKAkSGAoQdGhyZWFkX3RpbWVzdGFtcBgEIAEoCRIRCgl0aW1lc3RhbXAYBSABKAkSDwoHY2hhbm5lbBgGIAEoCRIUCgxjaGFubmVsX3R5cGUYByABKAkSFwoPZXZlbnRfdGltZXN0YW1wGAggASgJEhEKCXVzZXJfdGVhbRgJIAEoCRITCgtzb3VyY2VfdGVhbRgKIAEoCRIPCgdzdWJ0eXBlGAsgASgJEg4KBmJvdF9pZBgMIAEoCSKhAQoSUmVhY3Rpb25BZGRlZEV2ZW50EgwKBHVzZXIYASABKAkSEQoJaXRlbV91c2VyGAIgASgJEhcKD2V2ZW50X3RpbWVzdGFtcBgDIAEoCRIRCglpdGVtX3R5cGUYBCABKAkSFAoMaXRlbV9jaGFubmVsGAUgASgJEhAKCHJlYWN0aW9uGAYgASgJEhYKDml0ZW1fdGltZXN0YW1wGAcgASgJImMKGE1lbWJlckpvaW5lZENoYW5uZWxFdmVudBIMCgR1c2VyGAEgASgJEg8KB2NoYW5uZWwYAiABKAkSFwoPZXZlbnRfdGltZXN0YW1wGAMgASgJEg8KB2ludml0ZXIYBCABKAkiPgoTQXBwVW5pbnN0YWxsZWRFdmVudBIXCg9ldmVudF90aW1lc3RhbXAYASABKAMSDgoGYXBwX2lkGAIgASgJIkwKEkFwcEhvbWVPcGVuZWRFdmVudBIMCgR1c2VyGAEgASgJEg8KB2NoYW5uZWwYAiABKAkSFwoPZXZlbnRfdGltZXN0YW1wGAMgASgJImQKEkNoYW5uZWxDcmVhdGVkSW5mbxIKCgJpZBgBIAEoCRISCgppc19jaGFubmVsGAIgASgIEgwKBG5hbWUYAyABKAkSDwoHY3JlYXRlZBgEIAEoAxIPCgdjcmVhdG9yGAUgASgJIl0KE0NoYW5uZWxDcmVhdGVkRXZlbnQSLQoHY2hhbm5lbBgBIAEoCzIcLnNsYWNrYm90LkNoYW5uZWxDcmVhdGVkSW5mbxIXCg9ldmVudF90aW1lc3RhbXAYAiABKAki7QMKClNsYWNrRXZlbnQSKQoIbWV0YWRhdGEYASABKAsyFy5zbGFja2JvdC5FdmVudE1ldGFkYXRhEhIKCmV2ZW50X3R5cGUYAiABKAkSMAoLYXBwX21lbnRpb24YAyABKAsyGS5zbGFja2JvdC5BcHBNZW50aW9uRXZlbnRIABIpCgdtZXNzYWdlGAQgASgLMhYuc2xhY2tib3QuTWVzc2FnZUV2ZW50SAASNgoOcmVhY3Rpb25fYWRkZWQYBSABKAsyHC5zbGFja2JvdC5SZWFjdGlvbkFkZGVkRXZlbnRIABJDChVtZW1iZXJfam9pbmVkX2NoYW5uZWwYBiABKAsyIi5zbGFja2JvdC5NZW1iZXJKb2luZWRDaGFubmVsRXZlbnRIABI4Cg9hcHBfdW5pbnN0YWxsZWQYByABKAsyHS5zbGFja2JvdC5BcHBVbmluc3RhbGxlZEV2ZW50SAASNwoPYXBwX2hvbWVfb3BlbmVkGAggASgLMhwuc2xhY2tib3QuQXBwSG9tZU9wZW5lZEV2ZW50SAASOAoPY2hhbm5lbF9jcmVhdGVkGAogASgLMh0uc2xhY2tib3QuQ2hhbm5lbENyZWF0ZWRFdmVudEgAEhAKCHJhd19qc29uGAkgASgJQgcKBWV2ZW50YgZwcm90bzM");var a2=k("CiBzZXJ2aWNlcy9zZXR0aW5ncy9zZXR0aW5ncy5wcm90bxIIc2V0dGluZ3Mi9AUKE01jcE9BdXRoQ3JlZGVudGlhbHMSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhoKDXJlZnJlc2hfdG9rZW4YAiABKAlIAIgBARJAChdhY2Nlc3NfdG9rZW5fZXhwaXJlc19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIXCgp0b2tlbl90eXBlGAQgASgJSAKIAQESEgoFc2NvcGUYBSABKAlIA4gBARIeChZhdXRob3JpemF0aW9uX2VuZHBvaW50GAYgASgJEhYKDnRva2VuX2VuZHBvaW50GAcgASgJEhMKBmlzc3VlchgIIAEoCUgEiAEBEhEKCWNsaWVudF9pZBgJIAEoCRIaCg1jbGllbnRfc2VjcmV0GAogASgJSAWIAQESHgoRaGFzX3JlZnJlc2hfdG9rZW4YCyABKAhIBogBARIdChBvYXV0aF9zZWNyZXRfa2V5GAwgASgJSAeIAQESKQocb2F1dGhfc2VjcmV0X293bmVyX2NvbmZpZ19pZBgNIAEoCUgIiAEBEicKGnRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kGA4gASgJSAmIAQESLAokb2F1dGhfc2VjcmV0X293bmVyX2NvbmZpZ19pZF9hbGlhc2VzGA8gAygJEhwKD29hdXRoX3NlY3JldF9pZBgQIAEoCUgKiAEBQhAKDl9yZWZyZXNoX3Rva2VuQhoKGF9hY2Nlc3NfdG9rZW5fZXhwaXJlc19hdEINCgtfdG9rZW5fdHlwZUIICgZfc2NvcGVCCQoHX2lzc3VlckIQCg5fY2xpZW50X3NlY3JldEIUChJfaGFzX3JlZnJlc2hfdG9rZW5CEwoRX29hdXRoX3NlY3JldF9rZXlCHwodX29hdXRoX3NlY3JldF9vd25lcl9jb25maWdfaWRCHQobX3Rva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kQhIKEF9vYXV0aF9zZWNyZXRfaWRiBnByb3RvMw",[nn,ee,$e,Da]);var f2=k("CipzZXJ2aWNlcy9yZW1vdGVfYWdlbnRzL3JlbW90ZV9hZ2VudHMucHJvdG8SDXJlbW90ZV9hZ2VudHMiQAoQQWRkU1NIS2V5UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSEwoLcHVibGljX2tleXMYAiADKAkiRgoRQWRkU1NIS2V5UmVzcG9uc2USMQoKc3NoX2NvbmZpZxgBIAEoCzIdLnJlbW90ZV9hZ2VudHMuQWdlbnRTU0hDb25maWcixwMKBUFnZW50EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIqCgZzdGF0dXMYAiABKA4yGi5yZW1vdGVfYWdlbnRzLkFnZW50U3RhdHVzEioKBmNvbmZpZxgDIAEoCzIaLnJlbW90ZV9hZ2VudHMuQWdlbnRDb25maWcSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoKc3NoX2NvbmZpZxgGIAEoCzIdLnJlbW90ZV9hZ2VudHMuQWdlbnRTU0hDb25maWdIAIgBARIYCgtoYXNfdXBkYXRlcxgHIAEoCEgBiAEBEjgKEHdvcmtzcGFjZV9zdGF0dXMYCCABKA4yHi5yZW1vdGVfYWdlbnRzLldvcmtzcGFjZVN0YXR1cxIzCgpleHBpcmVzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBQg0KC19zc2hfY29uZmlnQg4KDF9oYXNfdXBkYXRlc0INCgtfZXhwaXJlc19hdCL2BgoLQWdlbnRDb25maWcSNgoPd29ya3NwYWNlX3NldHVwGAEgASgLMh0ucmVtb3RlX2FnZW50cy5Xb3Jrc3BhY2VTZXR1cBItCg5zdGFydGluZ19ub2RlcxgCIAMoCzIVLmNoYXQuQ2hhdFJlcXVlc3ROb2RlEhwKD3VzZXJfZ3VpZGVsaW5lcxgDIAEoCUgAiAEBEiEKFHdvcmtzcGFjZV9ndWlkZWxpbmVzGAQgASgJSAGIAQESEgoFbW9kZWwYBiABKAlIAogBARIiChVpc19zZXR1cF9zY3JpcHRfYWdlbnQYByABKAhIA4gBARIzCgttY3Bfc2VydmVycxgIIAMoCzIeLnJlbW90ZV9hZ2VudHMuTWNwU2VydmVyQ29uZmlnEhIKBXRpdGxlGAkgASgJSASIAQESOQoOcmVxdWVzdF9zb3VyY2UYCiABKA4yHC5yZW1vdGVfYWdlbnRzLlJlcXVlc3RTb3VyY2VIBYgBARIWCg5kaXNhYmxlZF90b29scxgMIAMoCRJSChVtY3Bfb2F1dGhfY3JlZGVudGlhbHMYDSADKAsyMy5yZW1vdGVfYWdlbnRzLkFnZW50Q29uZmlnLk1jcE9hdXRoQ3JlZGVudGlhbHNFbnRyeRItCghib3RfdHlwZRgOIAEoDjIWLmF1dGhfZW50aXRpZXMuQm90VHlwZUgGiAEBEhsKDmNvcnJlbGF0aW9uX2lkGA8gASgJSAeIAQESLwoic2tpcF9mZWF0dXJlX2dhdGluZ19mb3JfZnJlZV90cmlhbBgQIAEoCEgIiAEBGlkKGE1jcE9hdXRoQ3JlZGVudGlhbHNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5zZXR0aW5ncy5NY3BPQXV0aENyZWRlbnRpYWxzOgI4AUISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lc0IICgZfbW9kZWxCGAoWX2lzX3NldHVwX3NjcmlwdF9hZ2VudEIICgZfdGl0bGVCEQoPX3JlcXVlc3Rfc291cmNlQgsKCV9ib3RfdHlwZUIRCg9fY29ycmVsYXRpb25faWRCJQojX3NraXBfZmVhdHVyZV9nYXRpbmdfZm9yX2ZyZWVfdHJpYWxKBAgFEAZKBAgLEAwicwoOQWdlbnRTU0hDb25maWcSEwoLcHVibGljX2tleXMYASADKAkSEAoIaG9zdG5hbWUYAiABKAkSOgoSc3NoX2NvbmZpZ19vcHRpb25zGAMgAygLMh4ucmVtb3RlX2FnZW50cy5TU0hDb25maWdPcHRpb24iYgoLQ2hhdFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEjoKD3JlcXVlc3RfZGV0YWlscxgCIAEoCzIhLnJlbW90ZV9hZ2VudHMuQ2hhdFJlcXVlc3REZXRhaWxzIo8CChJDaGF0UmVxdWVzdERldGFpbHMSLAoNcmVxdWVzdF9ub2RlcxgBIAMoCzIVLmNoYXQuQ2hhdFJlcXVlc3ROb2RlEhwKD3VzZXJfZ3VpZGVsaW5lcxgCIAEoCUgAiAEBEiEKFHdvcmtzcGFjZV9ndWlkZWxpbmVzGAMgASgJSAGIAQESFQoIbW9kZWxfaWQYBSABKAlIAogBARIzCgttY3Bfc2VydmVycxgGIAMoCzIeLnJlbW90ZV9hZ2VudHMuTWNwU2VydmVyQ29uZmlnQhIKEF91c2VyX2d1aWRlbGluZXNCFwoVX3dvcmtzcGFjZV9ndWlkZWxpbmVzQgsKCV9tb2RlbF9pZEoECAQQBSIOCgxDaGF0UmVzcG9uc2UiaAoSQ3JlYXRlQWdlbnRSZXF1ZXN0EioKBmNvbmZpZxgBIAEoCzIaLnJlbW90ZV9hZ2VudHMuQWdlbnRDb25maWcSFwoKaW1hZ2VfbmFtZRgCIAEoCUgAiAEBQg0KC19pbWFnZV9uYW1lIjoKE0NyZWF0ZUFnZW50UmVzcG9uc2USIwoFYWdlbnQYASABKAsyFC5yZW1vdGVfYWdlbnRzLkFnZW50Ii0KEkRlbGV0ZUFnZW50UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiFQoTRGVsZXRlQWdlbnRSZXNwb25zZSJ4ChZEaWZmRXhwbGFuYXRpb25TZWN0aW9uEg0KBXRpdGxlGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEjoKCHNlY3Rpb25zGAMgAygLMigucmVtb3RlX2FnZW50cy5EaWZmRXhwbGFuYXRpb25TdWJTZWN0aW9uIqEBChlEaWZmRXhwbGFuYXRpb25TdWJTZWN0aW9uEg0KBXRpdGxlGAEgASgJEkkKDGRlc2NyaXB0aW9ucxgCIAMoCzIzLnJlbW90ZV9hZ2VudHMuRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbkRlc2NyaXB0aW9uEioKCWRpZmZfdHlwZRgDIAEoDjIXLnJlbW90ZV9hZ2VudHMuRGlmZlR5cGUifgokRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbkRlc2NyaXB0aW9uEgwKBHBhdGgYASABKAkSDAoEdGV4dBgCIAEoCRIjCgVyYW5nZRgDIAEoCzIULnJlbW90ZV9hZ2VudHMuUmFuZ2USFQoNc2VsZWN0ZWRfY29kZRgEIAEoCSJlChZHZW5lcmF0ZVN1bW1hcnlSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIZChFzdGFydF9zZXF1ZW5jZV9pZBgCIAEoDRIXCg9lbmRfc2VxdWVuY2VfaWQYAyABKA0iWwoXR2VuZXJhdGVTdW1tYXJ5UmVzcG9uc2USQAoRZGlmZl9kZXNjcmlwdGlvbnMYASADKAsyJS5yZW1vdGVfYWdlbnRzLkRpZmZFeHBsYW5hdGlvblNlY3Rpb24iJQoJR2l0aHViUmVmEgsKA3VybBgBIAEoCRILCgNyZWYYAiABKAkiMAoVSW50ZXJydXB0QWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIYChZJbnRlcnJ1cHRBZ2VudFJlc3BvbnNlIoMDCg9NY3BTZXJ2ZXJDb25maWcSFAoHY29tbWFuZBgBIAEoCUgAiAEBEgwKBGFyZ3MYAiADKAkSFwoKdGltZW91dF9tcxgDIAEoBUgBiAEBEjQKA2VudhgEIAMoCzInLnJlbW90ZV9hZ2VudHMuTWNwU2VydmVyQ29uZmlnLkVudkVudHJ5EiQKF3VzZV9zaGVsbF9pbnRlcnBvbGF0aW9uGAUgASgISAKIAQESEQoEbmFtZRgGIAEoCUgDiAEBEhUKCGRpc2FibGVkGAcgASgISASIAQESEQoEdHlwZRgIIAEoCUgFiAEBEhAKA3VybBgJIAEoCUgGiAEBGioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCgoIX2NvbW1hbmRCDQoLX3RpbWVvdXRfbXNCGgoYX3VzZV9zaGVsbF9pbnRlcnBvbGF0aW9uQgcKBV9uYW1lQgsKCV9kaXNhYmxlZEIHCgVfdHlwZUIGCgRfdXJsIiwKEVBhdXNlQWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIUChJQYXVzZUFnZW50UmVzcG9uc2UiIwoFUmFuZ2USDQoFc3RhcnQYASABKAUSCwoDZW5kGAIgASgFIi0KElJlc3VtZUFnZW50UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiFQoTUmVzdW1lQWdlbnRSZXNwb25zZSJsChZSZXN1bWVIaW50QWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRI5CgtoaW50X3JlYXNvbhgCIAEoDjIkLnJlbW90ZV9hZ2VudHMuUmVzdW1lSGludEFnZW50UmVhc29uIjEKF1Jlc3VtZUhpbnRBZ2VudFJlc3BvbnNlEhYKDnJlc3VtZV9zdGFydGVkGAEgASgIIi0KD1NTSENvbmZpZ09wdGlvbhILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiUwoSVXBkYXRlQWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIWCgluZXdfdGl0bGUYAiABKAlIAIgBAUIMCgpfbmV3X3RpdGxlIjoKE1VwZGF0ZUFnZW50UmVzcG9uc2USIwoFYWdlbnQYASABKAsyFC5yZW1vdGVfYWdlbnRzLkFnZW50ItACCg5Xb3Jrc3BhY2VTZXR1cBIuCgpnaXRodWJfcmVmGAEgASgLMhgucmVtb3RlX2FnZW50cy5HaXRodWJSZWZIABISCgVwYXRjaBgCIAEoCUgBiAEBEhkKDHNldHVwX3NjcmlwdBgDIAEoCUgCiAEBEhIKBXRva2VuGAQgASgJSAOIAQESFAoHYXBpX3VybBgFIAEoCUgEiAEBEkAKCmdpdF9jb25maWcYBiADKAsyLC5yZW1vdGVfYWdlbnRzLldvcmtzcGFjZVNldHVwLkdpdENvbmZpZ0VudHJ5GjAKDkdpdENvbmZpZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCEAoOc3RhcnRpbmdfZmlsZXNCCAoGX3BhdGNoQg8KDV9zZXR1cF9zY3JpcHRCCAoGX3Rva2VuQgoKCF9hcGlfdXJsKoACCgtBZ2VudFN0YXR1cxIcChhBR0VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIYChRBR0VOVF9TVEFUVVNfUEVORElORxAFEhkKFUFHRU5UX1NUQVRVU19TVEFSVElORxABEhgKFEFHRU5UX1NUQVRVU19SVU5OSU5HEAISFQoRQUdFTlRfU1RBVFVTX0lETEUQAxIXChNBR0VOVF9TVEFUVVNfRkFJTEVEEAQSGAoUQUdFTlRfU1RBVFVTX1BBVVNJTkcQBhIXChNBR0VOVF9TVEFUVVNfUEFVU0VEEAcSIQodQUdFTlRfU1RBVFVTX1BFTkRJTkdfREVMRVRJT04QCCqJAQoIRGlmZlR5cGUSDwoLVU5TUEVDSUZJRUQQABIHCgNGSVgQARILCgdGRUFUVVJFEAISDAoIUkVGQUNUT1IQAxIRCg1ET0NVTUVOVEFUSU9OEAQSCQoFU1RZTEUQBRIICgRURVNUEAYSCQoFQ0hPUkUQBxIKCgZSRVZFUlQQCBIJCgVPVEhFUhAJKt8BCg1SZXF1ZXN0U291cmNlEh4KGlJFUVVFU1RfU09VUkNFX1VOU1BFQ0lGSUVEEAASFgoSUkVRVUVTVF9TT1VSQ0VfSURFEAESIgoeUkVRVUVTVF9TT1VSQ0VfQVVHTUVOVF9BQ1RJT05TEAISHAoYUkVRVUVTVF9TT1VSQ0VfU0xBQ0tfQk9UEAMSHQoZUkVRVUVTVF9TT1VSQ0VfR0lUSFVCX0JPVBAEEh0KGVJFUVVFU1RfU09VUkNFX0xJTkVBUl9CT1QQBRIWChJSRVFVRVNUX1NPVVJDRV9DTEkQBiqaAQoVUmVzdW1lSGludEFnZW50UmVhc29uEigKJFJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9VTlNQRUNJRklFRBAAEisKJ1JFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9UWVBJTkdfTUVTU0FHRRABEioKJlJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9WSUVXSU5HX0FHRU5UEAIqygEKD1dvcmtzcGFjZVN0YXR1cxIgChxXT1JLU1BBQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHAoYV09SS1NQQUNFX1NUQVRVU19SVU5OSU5HEAESHAoYV09SS1NQQUNFX1NUQVRVU19QQVVTSU5HEAISGwoXV09SS1NQQUNFX1NUQVRVU19QQVVTRUQQAxIdChlXT1JLU1BBQ0VfU1RBVFVTX1JFU1VNSU5HEAQSHQoZV09SS1NQQUNFX1NUQVRVU19ERUxFVElORxAFYgZwcm90bzM",[ee,$e,yn,a2]);var c2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PENDING=5]="PENDING",e[e.STARTING=1]="STARTING",e[e.RUNNING=2]="RUNNING",e[e.IDLE=3]="IDLE",e[e.FAILED=4]="FAILED",e[e.PAUSING=6]="PAUSING",e[e.PAUSED=7]="PAUSED",e[e.PENDING_DELETION=8]="PENDING_DELETION"})(c2||(c2={}));var d2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.FIX=1]="FIX",e[e.FEATURE=2]="FEATURE",e[e.REFACTOR=3]="REFACTOR",e[e.DOCUMENTATION=4]="DOCUMENTATION",e[e.STYLE=5]="STYLE",e[e.TEST=6]="TEST",e[e.CHORE=7]="CHORE",e[e.REVERT=8]="REVERT",e[e.OTHER=9]="OTHER"})(d2||(d2={}));var u2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.IDE=1]="IDE",e[e.AUGMENT_ACTIONS=2]="AUGMENT_ACTIONS",e[e.SLACK_BOT=3]="SLACK_BOT",e[e.GITHUB_BOT=4]="GITHUB_BOT",e[e.LINEAR_BOT=5]="LINEAR_BOT",e[e.CLI=6]="CLI"})(u2||(u2={}));var h2;(function(e){e[e.RESUME_AGENT_HINT_REASON_UNSPECIFIED=0]="RESUME_AGENT_HINT_REASON_UNSPECIFIED",e[e.RESUME_AGENT_HINT_REASON_TYPING_MESSAGE=1]="RESUME_AGENT_HINT_REASON_TYPING_MESSAGE",e[e.RESUME_AGENT_HINT_REASON_VIEWING_AGENT=2]="RESUME_AGENT_HINT_REASON_VIEWING_AGENT"})(h2||(h2={}));var b2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.RUNNING=1]="RUNNING",e[e.PAUSING=2]="PAUSING",e[e.PAUSED=3]="PAUSED",e[e.RESUMING=4]="RESUMING",e[e.DELETING=5]="DELETING"})(b2||(b2={}));var m2=k("ChpzZXJ2aWNlcy9zaGFyZS9zaGFyZS5wcm90bxIFc2hhcmUicQoMQ2hhdEV4Y2hhbmdlEhIKCnJlcXVlc3RfaWQYASABKAkSFAoHbWVzc2FnZRgCIAEoCUIDgAEBEhUKCHJlc3BvbnNlGAMgASgJQgOAAQESIAoTcmVzcG9uc2Vfbm9kZXNfanNvbhgEIAEoCUIDgAEBIioKGkdldENoYXRDb252ZXJzYXRpb25SZXF1ZXN0EgwKBHV1aWQYASABKAkiswEKG0dldENoYXRDb252ZXJzYXRpb25SZXNwb25zZRIMCgR1dWlkGAEgASgJEigKBGRhdGUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBHVzZXIYAyABKAkSFwoPY29udmVyc2F0aW9uX2lkGAQgASgJEiEKBGNoYXQYBSADKAsyEy5zaGFyZS5DaGF0RXhjaGFuZ2USEgoFdGl0bGUYBiABKAlCA4ABASJ7ChtTYXZlQ2hhdENvbnZlcnNhdGlvblJlcXVlc3QSDAoEdXNlchgBIAEoCRIXCg9jb252ZXJzYXRpb25faWQYAiABKAkSIQoEY2hhdBgDIAMoCzITLnNoYXJlLkNoYXRFeGNoYW5nZRISCgV0aXRsZRgEIAEoCUIDgAEBIiwKHFNhdmVDaGF0Q29udmVyc2F0aW9uUmVzcG9uc2USDAoEdXVpZBgBIAEoCTLGAQoFU2hhcmUSXAoTR2V0Q2hhdENvbnZlcnNhdGlvbhIhLnNoYXJlLkdldENoYXRDb252ZXJzYXRpb25SZXF1ZXN0GiIuc2hhcmUuR2V0Q2hhdENvbnZlcnNhdGlvblJlc3BvbnNlEl8KFFNhdmVDaGF0Q29udmVyc2F0aW9uEiIuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXF1ZXN0GiMuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXNwb25zZWIGcHJvdG8z",[ee]);var z2=k("Ci5zZXJ2aWNlcy9yZXF1ZXN0X2luc2lnaHQvcmVxdWVzdF9pbnNpZ2h0LnByb3RvEg9yZXF1ZXN0X2luc2lnaHQiYgoNQWdlbnRGZWVkYmFjaxIvCgZyYXRpbmcYASABKA4yHy5yZXF1ZXN0X2luc2lnaHQuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgCIAEoCRISCgp1c2VyX2FnZW50GAMgASgJIk0KFUFnZW50SW50ZXJydXB0aW9uRGF0YRISCgpyZXF1ZXN0X2lkGAEgASgJEiAKGGN1cnJfY29udmVyc2F0aW9uX2xlbmd0aBgCIAEoDSKjAgoRQWdlbnRSZXF1ZXN0RXZlbnQSWAofY2hhdF9oaXN0b3J5X3N1bW1hcml6YXRpb25fZGF0YRgFIAEoCzItLnJlcXVlc3RfaW5zaWdodC5DaGF0SGlzdG9yeVN1bW1hcml6YXRpb25EYXRhSAASSAoXZmlyc3RfdG9rZW5fdGltaW5nX2RhdGEYBiABKAsyJS5yZXF1ZXN0X2luc2lnaHQuRmlyc3RUb2tlblRpbWluZ0RhdGFIABISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkSFwoPY29udmVyc2F0aW9uX2lkGAMgASgJEhsKE2NoYXRfaGlzdG9yeV9sZW5ndGgYBCABKA1CDAoKZXZlbnRfZGF0YSIUChJBZ2VudFJldmVyc2lvbkRhdGEiugoKEUFnZW50U2Vzc2lvbkV2ZW50EkMKFGFnZW50X3JldmVyc2lvbl9kYXRhGAQgASgLMiMucmVxdWVzdF9pbnNpZ2h0LkFnZW50UmV2ZXJzaW9uRGF0YUgAEkkKF2FnZW50X2ludGVycnVwdGlvbl9kYXRhGAUgASgLMiYucmVxdWVzdF9pbnNpZ2h0LkFnZW50SW50ZXJydXB0aW9uRGF0YUgAEkgKF3JlbWVtYmVyX3Rvb2xfY2FsbF9kYXRhGAYgASgLMiUucmVxdWVzdF9pbnNpZ2h0LlJlbWVtYmVyVG9vbENhbGxEYXRhSAASSAoXbWVtb3JpZXNfZmlsZV9vcGVuX2RhdGEYByABKAsyJS5yZXF1ZXN0X2luc2lnaHQuTWVtb3JpZXNGaWxlT3BlbkRhdGFIABJLChhpbml0aWFsX29yaWVudGF0aW9uX2RhdGEYCCABKAsyJy5yZXF1ZXN0X2luc2lnaHQuSW5pdGlhbE9yaWVudGF0aW9uRGF0YUgAEkwKGWNsYXNzaWZ5X2FuZF9kaXN0aWxsX2RhdGEYCSABKAsyJy5yZXF1ZXN0X2luc2lnaHQuQ2xhc3NpZnlBbmREaXN0aWxsRGF0YUgAEkEKE2ZsdXNoX21lbW9yaWVzX2RhdGEYCiABKAsyIi5yZXF1ZXN0X2luc2lnaHQuRmx1c2hNZW1vcmllc0RhdGFIABI/ChJtZW1vcmllc19tb3ZlX2RhdGEYCyABKAsyIS5yZXF1ZXN0X2luc2lnaHQuTWVtb3JpZXNNb3ZlRGF0YUgAEkEKE3J1bGVzX2ltcG9ydGVkX2RhdGEYDCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuUnVsZXNJbXBvcnRlZERhdGFIABJCChR0YXNrX2xpc3RfdXNhZ2VfZGF0YRgNIAEoCzIiLnJlcXVlc3RfaW5zaWdodC5UYXNrTGlzdFVzYWdlRGF0YUgAEkkKF2NvbnRlbnRfdHJ1bmNhdGlvbl9kYXRhGA4gASgLMiYucmVxdWVzdF9pbnNpZ2h0LkNvbnRlbnRUcnVuY2F0aW9uRGF0YUgAElAKG21vZGVsX3NlbGVjdGlvbl9jaGFuZ2VfZGF0YRgPIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5Nb2RlbFNlbGVjdGlvbkNoYW5nZURhdGFIABJMChlzY3JpcHRfY2FwdHVyZV9iYXNpY19kYXRhGBAgASgLMicucmVxdWVzdF9pbnNpZ2h0LlNjcmlwdENhcHR1cmVCYXNpY0RhdGFIABI9ChFtZW1vcnlfdXNhZ2VfZGF0YRgRIAEoCzIgLnJlcXVlc3RfaW5zaWdodC5NZW1vcnlVc2FnZURhdGFIABJRChxza2lsbHNfaW5jbHVkZWRfaW5fY2hhdF9kYXRhGBIgASgLMikucmVxdWVzdF9pbnNpZ2h0LlNraWxsc0luY2x1ZGVkSW5DaGF0RGF0YUgAEkwKGXNraWxsX2NvbnRlbnRfbG9hZGVkX2RhdGEYEyABKAsyJy5yZXF1ZXN0X2luc2lnaHQuU2tpbGxDb250ZW50TG9hZGVkRGF0YUgAEkEKE3JldHJpZXZhbF90b29sX2RhdGEYFCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuUmV0cmlldmFsVG9vbERhdGFIABISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkSFwoPY29udmVyc2F0aW9uX2lkGAMgASgJQgwKCmV2ZW50X2RhdGEivggKEEFnZW50VHJhY2luZ0RhdGESOwoFZmxhZ3MYAyADKAsyLC5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YS5GbGFnc0VudHJ5EjkKBG51bXMYBCADKAsyKy5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YS5OdW1zRW50cnkSSAoMc3RyaW5nX3N0YXRzGAUgAygLMjIucmVxdWVzdF9pbnNpZ2h0LkFnZW50VHJhY2luZ0RhdGEuU3RyaW5nU3RhdHNFbnRyeRJGCgtyZXF1ZXN0X2lkcxgGIAMoCzIxLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlJlcXVlc3RJZHNFbnRyeRozCgtTdHJpbmdTdGF0cxIRCgludW1fbGluZXMYASABKAUSEQoJbnVtX2NoYXJzGAIgASgFGkwKDFRpbWVkQm9vbGVhbhINCgV2YWx1ZRgBIAEoCBItCgl0aW1lc3RhbXAYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGksKC1RpbWVkTnVtYmVyEg0KBXZhbHVlGAEgASgBEi0KCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAafwoQVGltZWRTdHJpbmdTdGF0cxI8CgV2YWx1ZRgBIAEoCzItLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlN0cmluZ1N0YXRzEi0KCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaSwoLVGltZWRTdHJpbmcSDQoFdmFsdWUYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBpcCgpGbGFnc0VudHJ5EgsKA2tleRgBIAEoCRI9CgV2YWx1ZRgCIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlRpbWVkQm9vbGVhbjoCOAEaWgoJTnVtc0VudHJ5EgsKA2tleRgBIAEoCRI8CgV2YWx1ZRgCIAEoCzItLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlRpbWVkTnVtYmVyOgI4ARpmChBTdHJpbmdTdGF0c0VudHJ5EgsKA2tleRgBIAEoCRJBCgV2YWx1ZRgCIAEoCzIyLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlRpbWVkU3RyaW5nU3RhdHM6AjgBGmAKD1JlcXVlc3RJZHNFbnRyeRILCgNrZXkYASABKAkSPAoFdmFsdWUYAiABKAsyLS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YS5UaW1lZFN0cmluZzoCOAEipwEKFUFwaUh0dHBSZXF1ZXN0RGV0YWlscxITCgtoZWFkZXJfanNvbhgBIAEoCRItCg5vcGFxdWVfdXNlcl9pZBgCIAEoCzIVLmF1dGhfZW50aXRpZXMuVXNlcklkEjIKDHJlcXVlc3RfdHlwZRgDIAEoDjIcLnJlcXVlc3RfaW5zaWdodC5SZXF1ZXN0VHlwZRIWCg5yZXF1ZXN0X3BhcmFtcxgEIAEoCSI2Cg9BcGlIdHRwUmVzcG9uc2USDAoEY29kZRgBIAEoDRIVCg1lcnJvcl9tZXNzYWdlGAIgASgJIqYCChBBdXRvVG9wVXBTZXR0aW5nEhcKD29yYl9jdXN0b21lcl9pZBgBIAEoCRJBCgZhY3Rpb24YAiABKA4yMS5yZXF1ZXN0X2luc2lnaHQuQXV0b1RvcFVwU2V0dGluZy5BdXRvVG9wVXBBY3Rpb24SEQoJdGhyZXNob2xkGAMgASgDEg4KBmFtb3VudBgEIAEoAxIZChFiaWxsaW5nX2VudGl0eV9pZBgFIAEoCRIYChB0b3BfdXBfdGhyZXNob2xkGAYgASgJEhUKDXRvcF91cF9hbW91bnQYByABKAkiRwoPQXV0b1RvcFVwQWN0aW9uEhkKFVVOS05PV05fVE9QX1VQX0FDVElPThAAEgsKB0VOQUJMRUQQARIMCghESVNBQkxFRBACImsKFEJ1dGxlclBsYW5uZXJBdHRlbXB0Eg8KB2F0dGVtcHQYASABKAUSFAoMcmF3X3Jlc3BvbnNlGAIgASgJEhoKDWVycm9yX21lc3NhZ2UYAyABKAlIAIgBAUIQCg5fZXJyb3JfbWVzc2FnZSLoBgoVQnV0bGVyUm91dGluZ1Jlc3BvbnNlEhYKDnNlbGVjdGVkX21vZGVsGAEgASgJEhUKDXJvdXRpbmdfbW9kZWwYAiABKAkSFgoOcm91dGluZ19yZWFzb24YAyABKAkSGQoMcGxhbm5lcl90aWVyGAQgASgJSACIAQESNwoIYXR0ZW1wdHMYBSADKAsyJS5yZXF1ZXN0X2luc2lnaHQuQnV0bGVyUGxhbm5lckF0dGVtcHQSFAoMcm91dGluZ19wYXRoGAYgASgJEiUKGHBsYW5uZXJfZXN0aW1hdGVkX3JvdW5kcxgHIAEoBUgBiAEBEiMKFnBsYW5uZXJfaGlnaF9yZWFzb25pbmcYCCABKAhIAogBARIeChFwbGFubmVyX2Jhc2VfdGllchgJIAEoCUgDiAEBEigKG3BsYW5uZXJfdXNlcl9yZXF1ZXN0ZWRfdGllchgKIAEoCUgEiAEBEiAKE3BsYW5uZXJfcHJvbXB0X2hhc2gYCyABKAlIBYgBARIXCg9jb252ZXJzYXRpb25faWQYDCABKAkSDwoHdHVybl9pZBgNIAEoCRIZChFidXRsZXJfbW9kZWxfbmFtZRgOIAEoCRIRCglpc19zaWxlbnQYDyABKAgSGwoTaXNfdG9vbF9yZXN1bHRfdHVybhgQIAEoCBJECg1zZXNzaW9uX3N0YXRlGBEgASgLMigucmVxdWVzdF9pbnNpZ2h0LkJ1dGxlclNlc3Npb25DYWNoZVN0YXRlSAaIAQESUQoWcGVuZGluZ19yZXRyeV9kZWNpc2lvbhgSIAEoCzIsLnJlcXVlc3RfaW5zaWdodC5CdXRsZXJTdW1tYXJpemVSZXRyeVBlbmRpbmdIB4gBARIUCgxzcnBfZGVjaXNpb24YEyABKAlCDwoNX3BsYW5uZXJfdGllckIbChlfcGxhbm5lcl9lc3RpbWF0ZWRfcm91bmRzQhkKF19wbGFubmVyX2hpZ2hfcmVhc29uaW5nQhQKEl9wbGFubmVyX2Jhc2VfdGllckIeChxfcGxhbm5lcl91c2VyX3JlcXVlc3RlZF90aWVyQhYKFF9wbGFubmVyX3Byb21wdF9oYXNoQhAKDl9zZXNzaW9uX3N0YXRlQhkKF19wZW5kaW5nX3JldHJ5X2RlY2lzaW9uInAKF0J1dGxlclNlc3Npb25DYWNoZVN0YXRlEhIKCmxhc3RfbW9kZWwYASABKAkSGQoRY29uc2VjdXRpdmVfdHVybnMYAiABKAUSFQoNY2FjaGVkX3Rva2VucxgDIAEoAxIPCgdsYXN0X3RzGAQgASgBIkYKG0J1dGxlclN1bW1hcml6ZVJldHJ5UGVuZGluZxIPCgd0dXJuX2lkGAEgASgJEhYKDnNlbGVjdGVkX21vZGVsGAIgASgJIuIBChJDYW5jZWxTdWJzY3JpcHRpb24SGwoTb3JiX3N1YnNjcmlwdGlvbl9pZBgBIAEoCRI6CghmZWVkYmFjaxgCIAEoCzIoLmF1dGguQ2FuY2VsU3Vic2NyaXB0aW9uUmVxdWVzdC5GZWVkYmFjaxIbChNjYW5jZWxsYXRpb25fcmVhc29uGAMgASgJEh4KFnN0cmlwZV9zdWJzY3JpcHRpb25faWQYBCABKAkSGQoRYmlsbGluZ19lbnRpdHlfaWQYBSABKAkSGwoTYWRkaXRpb25hbF9mZWVkYmFjaxgGIAEoCSIUChJDaGFuZ2VzQXBwbGllZERhdGEiYQoMQ2hhdEZlZWRiYWNrEi8KBnJhdGluZxgBIAEoDjIfLnJlcXVlc3RfaW5zaWdodC5GZWVkYmFja1JhdGluZxIMCgRub3RlGAIgASgJEhIKCnVzZXJfYWdlbnQYAyABKAki6wQKHENoYXRIaXN0b3J5U3VtbWFyaXphdGlvbkRhdGESIAoYdG90YWxfaGlzdG9yeV9jaGFyX2NvdW50GAEgASgNEiQKHHRvdGFsX2hpc3RvcnlfZXhjaGFuZ2VfY291bnQYAiABKA0SFwoPaGVhZF9jaGFyX2NvdW50GAMgASgNEhsKE2hlYWRfZXhjaGFuZ2VfY291bnQYBCABKA0SHAoUaGVhZF9sYXN0X3JlcXVlc3RfaWQYBSABKAkSFwoPdGFpbF9jaGFyX2NvdW50GAYgASgNEhsKE3RhaWxfZXhjaGFuZ2VfY291bnQYByABKA0SHAoUdGFpbF9sYXN0X3JlcXVlc3RfaWQYCCABKAkSGgoSc3VtbWFyeV9jaGFyX2NvdW50GAkgASgNEiEKGXN1bW1hcml6YXRpb25fZHVyYXRpb25fbXMYCiABKA0SIAoYaXNfY2FjaGVfYWJvdXRfdG9fZXhwaXJlGAsgASgIEhIKCmlzX2Fib3J0ZWQYDCABKAgSJgoZdG90YWxfaGlzdG9yeV90b2tlbl9jb3VudBgNIAEoDUgAiAEBEh0KEGhlYWRfdG9rZW5fY291bnQYDiABKA1IAYgBARIdChB0YWlsX3Rva2VuX2NvdW50GA8gASgNSAKIAQESIAoTdG9rZW5zX2Zyb21fYmFja2VuZBgQIAEoCEgDiAEBQhwKGl90b3RhbF9oaXN0b3J5X3Rva2VuX2NvdW50QhMKEV9oZWFkX3Rva2VuX2NvdW50QhMKEV90YWlsX3Rva2VuX2NvdW50QhYKFF90b2tlbnNfZnJvbV9iYWNrZW5kIhkKF0NoYXRJbnB1dENvbXBsZXRpb25FbWl0IjEKHUNoYXRJbnB1dENvbXBsZXRpb25SZXNvbHV0aW9uEhAKCGFjY2VwdGVkGAEgASgIIqAGCg9DaGF0VXNlck1lc3NhZ2USPAoJY2hhdF9tb2RlGAEgASgOMikucmVxdWVzdF9pbnNpZ2h0LkNoYXRVc2VyTWVzc2FnZS5DaGF0TW9kZRIbChNjaGF0X2hpc3RvcnlfbGVuZ3RoGAIgASgNEhgKEGltYWdlX25vZGVfY291bnQYAyABKA0SFwoPY2hhcmFjdGVyX2NvdW50GAQgASgNEhIKCmxpbmVfY291bnQYBSABKA0SLQoOb3BhcXVlX3VzZXJfaWQYBiABKAsyFS5hdXRoX2VudGl0aWVzLlVzZXJJZBIXCgptb2RlbF9uYW1lGAcgASgJSACIAQESHAoPY29udmVyc2F0aW9uX2lkGAggASgJSAGIAQESKAoIYm90X3R5cGUYCSABKA4yFi5hdXRoX2VudGl0aWVzLkJvdFR5cGUSHQoQYWdlbnRfcGVyc29uYV9pZBgKIAEoCUgCiAEBIoMDCghDaGF0TW9kZRISCg5DSEFUX01PREVfQ0hBVBAAEhMKD0NIQVRfTU9ERV9BR0VOVBABEhYKEkNIQVRfTU9ERV9NRU1PUklFUxACEhkKFUNIQVRfTU9ERV9PUklFTlRBVElPThADEiIKHkNIQVRfTU9ERV9NRU1PUklFU19DT01QUkVTU0lPThAEEhoKFkNIQVRfTU9ERV9SRU1PVEVfQUdFTlQQBRIXChNDSEFUX01PREVfQ0xJX0FHRU5UEAYSIAocQ0hBVF9NT0RFX0NMSV9OT05JTlRFUkFDVElWRRAHEhkKFUNIQVRfTU9ERV9DT0RFX1JFVklFVxAIEh8KG0NIQVRfTU9ERV9BR0VOVElDX1NMQUNLX0JPVBAJEiAKHENIQVRfTU9ERV9DT05URVhUX0VOR0lORV9TREsQChIgChxDSEFUX01PREVfQ09OVEVYVF9FTkdJTkVfTUNQEAsSIAocQ0hBVF9NT0RFX1BPU0VJRE9OX0NMSV9BR0VOVBAMQg0KC19tb2RlbF9uYW1lQhIKEF9jb252ZXJzYXRpb25faWRCEwoRX2FnZW50X3BlcnNvbmFfaWQiUQoWQ2xhc3NpZnlBbmREaXN0aWxsRGF0YRI3Cgx0cmFjaW5nX2RhdGEYASABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSJlChBDbGlBZ2VudEZlZWRiYWNrEi8KBnJhdGluZxgBIAEoDjIfLnJlcXVlc3RfaW5zaWdodC5GZWVkYmFja1JhdGluZxIMCgRub3RlGAIgASgJEhIKCnVzZXJfYWdlbnQYAyABKAki6QEKGENsaWVudENvbXBsZXRpb25UaW1lbGluZRI4ChRpbml0aWFsX3JlcXVlc3RfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoOYXBpX3N0YXJ0X3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGFwaV9lbmRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJZW1pdF90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJcCgxDbGllbnRNZXRyaWMSEgoKZXZlbnRfbmFtZRgBIAEoCRISCgp1c2VyX2FnZW50GAIgASgJEhUKDWNsaWVudF9tZXRyaWMYAyABKAkSDQoFdmFsdWUYBCABKAQiawoRQ2xvc2VTdWJzY3JpcHRpb24SGwoTb3JiX3N1YnNjcmlwdGlvbl9pZBgBIAEoCRIeChZzdHJpcGVfc3Vic2NyaXB0aW9uX2lkGAIgASgJEhkKEWJpbGxpbmdfZW50aXR5X2lkGAMgASgJImEKH0NvbW1pdEF0dHJpYnV0aW9uTW9kZWxCcmVha2Rvd24SEgoKbW9kZWxfbmFtZRgBIAEoCRITCgtsaW5lc19hZGRlZBgCIAEoBRIVCg1saW5lc19kZWxldGVkGAMgASgFIu0CChhDb21taXRBdHRyaWJ1dGlvblN1bW1hcnkSGwoTYXR0cmlidXRpb25fdmVyc2lvbhgBIAEoCRIUCgxjb250ZW50X2hhc2gYAiABKAkSNAoQY29tbWl0X3RpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoRdG90YWxfbGluZXNfYWRkZWQYBCABKAUSGwoTdG90YWxfbGluZXNfZGVsZXRlZBgFIAEoBRJJCg9tb2RlbF9icmVha2Rvd24YBiADKAsyMC5yZXF1ZXN0X2luc2lnaHQuQ29tbWl0QXR0cmlidXRpb25Nb2RlbEJyZWFrZG93bhISCgp3aW5kb3dfc2VjGAcgASgFEhcKD3NvdXJjZV9ldmVudF9pZBgIIAEoCRIgChNpc19mcm9tX21haW5fYnJhbmNoGAkgASgISACIAQFCFgoUX2lzX2Zyb21fbWFpbl9icmFuY2gihAEKEENvbW1pdEZpbGVDaGFuZ2USEwoLY2hhbmdlX3R5cGUYASABKAkSEQoJZmlsZV9wYXRoGAIgASgJEhoKDW9sZF9maWxlX3BhdGgYAyABKAlIAIgBARIRCgRkaWZmGAQgASgJSAGIAQFCEAoOX29sZF9maWxlX3BhdGhCBwoFX2RpZmYivAIKEkNvbW1pdFNlc3Npb25FdmVudBIMCgRoYXNoGAEgASgJEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHc3ViamVjdBgFIAEoCRIMCgRib2R5GAYgASgJEjcKDGZpbGVfY2hhbmdlcxgHIAMoCzIhLnJlcXVlc3RfaW5zaWdodC5Db21taXRGaWxlQ2hhbmdlEhIKCnVzZXJfYWdlbnQYCCABKAkSNwoTY29tbWl0dGVyX3RpbWVzdGFtcBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIAoTaXNfZnJvbV9tYWluX2JyYW5jaBgKIAEoCEgAiAEBQhYKFF9pc19mcm9tX21haW5fYnJhbmNoSgQIAhADSgQIAxAEIhAKDkNvbXBsZXRpb25FbWl0IlMKEkNvbXBsZXRpb25GZWVkYmFjaxIvCgZyYXRpbmcYASABKA4yHy5yZXF1ZXN0X2luc2lnaHQuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgCIAEoCSLbBQoVQ29tcGxldGlvbkhvc3RSZXF1ZXN0EgwKBHNlZWQYAiABKAQSFAoMZW9zX3Rva2VuX2lkGAQgAygFEg0KBXRvcF9rGAUgASgFEg0KBXRvcF9wGAYgASgCEhMKC3RlbXBlcmF0dXJlGAcgASgCEhIKCm91dHB1dF9sZW4YCCABKAUSGgoSZW5hYmxlX3BhdGhfcHJlZml4GAkgASgIEiAKGGVuYWJsZV9wcmVmZXJlbmNlX3Rva2VucxgKIAEoCBIhChllbmFibGVfZmlsbF9pbl90aGVfbWlkZGxlGAsgASgIEhMKC2VuYWJsZV9ibTI1GA0gASgIEh4KFmVuYWJsZV9kZW5zZV9yZXRyaWV2YWwYDiABKAgSDQoFbW9kZWwYDyABKAkSDgoGcHJlZml4GBAgASgJEgwKBHBhdGgYESABKAkSDgoGc3VmZml4GBIgASgJEhIKCmJsb2JfbmFtZXMYEyADKAkSDAoEbGFuZxgUIAEoCRJACghwb3NpdGlvbhgVIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uSG9zdFJlcXVlc3RQb3NpdGlvbhISCgpwcm9iZV9vbmx5GBYgASgIEiUKBWJsb2JzGBcgASgLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEi0KDHJlY2VuY3lfaW5mbxgYIAEoCzIXLmNvbXBsZXRpb24uUmVjZW5jeUluZm8SMwoMdG9rZW5pemF0aW9uGBkgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIiChV1c2VyX2ZpbHRlcl90aHJlc2hvbGQYGiABKAJIAIgBARI3CgtlZGl0X2V2ZW50cxgbIAMoCzIiLmJhc2UuZGlmZl91dGlscy5HcmFudWxhckVkaXRFdmVudEIYChZfdXNlcl9maWx0ZXJfdGhyZXNob2xkSgQIARACSgQIDBANInUKHUNvbXBsZXRpb25Ib3N0UmVxdWVzdFBvc2l0aW9uEhQKDHByZWZpeF9iZWdpbhgBIAEoBRIXCg9jdXJzb3JfcG9zaXRpb24YAiABKAUSEgoKc3VmZml4X2VuZBgDIAEoBRIRCglibG9iX25hbWUYBCABKAkihgMKFkNvbXBsZXRpb25Ib3N0UmVzcG9uc2USDAoEdGV4dBgCIAEoCRIaChJ1bmtub3duX2Jsb2JfbmFtZXMYAyADKAkSFgoOc2tpcHBlZF9zdWZmaXgYBiABKAkSHwoXc3VmZml4X3JlcGxhY2VtZW50X3RleHQYByABKAkSHAoUY2hlY2twb2ludF9ub3RfZm91bmQYCCABKAgSMwoMdG9rZW5pemF0aW9uGAkgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIeChFpc19lbXB0eV9yZXNwb25zZRgKIAEoCEgAiAEBEiAKE2NvbnRhaW5zX3NraXBfdG9rZW4YCyABKAhIAYgBARIeChF2YWxpZF9yZXBsYWNlbWVudBgMIAEoCEgCiAEBQhQKEl9pc19lbXB0eV9yZXNwb25zZUIWChRfY29udGFpbnNfc2tpcF90b2tlbkIUChJfdmFsaWRfcmVwbGFjZW1lbnRKBAgBEAJKBAgEEAVKBAgFEAYi5QIKFUNvbXBsZXRpb25Qb3N0UHJvY2VzcxIfCg5pc19sb3dfcXVhbGl0eRgBIAEoCEICGAFIAIgBARIUCgxmaWx0ZXJfc2NvcmUYDCABKAISJQoYYXBwbGllZF9maWx0ZXJfdGhyZXNob2xkGA0gASgCSAGIAQESTwoNZmlsdGVyX3JlYXNvbhgOIAEoDjIzLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uUG9zdFByb2Nlc3MuRmlsdGVyUmVhc29uSAKIAQEiWwoMRmlsdGVyUmVhc29uEhkKFVVOS05PV05fRklMVEVSX1JFQVNPThAAEhAKDE5PVF9GSUxURVJFRBABEg8KC0xPV19RVUFMSVRZEAISDQoJREVOWV9MSVNUEANCEQoPX2lzX2xvd19xdWFsaXR5QhsKGV9hcHBsaWVkX2ZpbHRlcl90aHJlc2hvbGRCEAoOX2ZpbHRlcl9yZWFzb24iWgoeQ29tcGxldGlvblJlcXVlc3RJZElzc3VlZEV2ZW50EhIKCnJlcXVlc3RfaWQYASABKAkSFgoJZmlsZV9wYXRoGAIgASgJSACIAQFCDAoKX2ZpbGVfcGF0aCIsChRDb21wbGV0aW9uUmVzb2x1dGlvbhIUCgxhY2NlcHRlZF9pZHgYASABKAUiRAoNQ29udGVudENoYW5nZRIMCgR0ZXh0GAEgASgJEiUKBXJhbmdlGAIgASgLMhYucmVxdWVzdF9pbnNpZ2h0LlJhbmdlIo4BCh1Db250ZW50TWFuYWdlckNoZWNrcG9pbnRCbG9icxIVCg1jaGVja3BvaW50X2lkGAEgASgJEh4KFmJhc2VsaW5lX2NoZWNrcG9pbnRfaWQYAiABKAkSGQoRYWRkZWRfYmxvYnNfY291bnQYAyABKA0SGwoTZGVsZXRlZF9ibG9ic19jb3VudBgEIAEoDSK8AQoZQ29udGVudE1hbmFnZXJVcGxvYWRCbG9icxJTCg51cGxvYWRlZF9ibG9icxgBIAMoCzI7LnJlcXVlc3RfaW5zaWdodC5Db250ZW50TWFuYWdlclVwbG9hZEJsb2JzLlVwbG9hZGVkQmxvYkluZm8aSgoQVXBsb2FkZWRCbG9iSW5mbxIRCglibG9iX25hbWUYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoBBIPCgdleGlzdGVkGAMgASgIIqABChVDb250ZW50VHJ1bmNhdGlvbkRhdGESGwoTb3JpZ2luYWxfY2hhcl9jb3VudBgBIAEoDRIbChNvcmlnaW5hbF9saW5lX2NvdW50GAIgASgNEhwKFHRydW5jYXRlZF9jaGFyX2NvdW50GAMgASgNEhwKFHRydW5jYXRlZF9saW5lX2NvdW50GAQgASgNEhEKCXRvb2xfdHlwZRgFIAEoCSK+AQoOQ29zbW9zRmVlZGJhY2sSLwoGcmF0aW5nGAEgASgOMh8ucmVxdWVzdF9pbnNpZ2h0LkZlZWRiYWNrUmF0aW5nEgwKBG5vdGUYAiABKAkSEgoKdXNlcl9hZ2VudBgDIAEoCRIUCgxyZWFzb25fY29kZXMYBCADKAkSEwoLZXhwZXJ0X25hbWUYBSABKAkSEwoLdGVuYW50X3RpZXIYBiABKAkSGQoRdGVhbV9kaXNwbGF5X25hbWUYByABKAkiDwoNQ3JlYXRlZFBSRGF0YSKPAwoWQ3VzdG9tZXJVSVNlc3Npb25FdmVudBJNCg1zZXNzaW9uX3N0YXJ0GAIgASgLMjQucmVxdWVzdF9pbnNpZ2h0LkN1c3RvbWVyVUlTZXNzaW9uRXZlbnQuU2Vzc2lvblN0YXJ0SAASSQoLc2Vzc2lvbl9lbmQYAyABKAsyMi5yZXF1ZXN0X2luc2lnaHQuQ3VzdG9tZXJVSVNlc3Npb25FdmVudC5TZXNzaW9uRW5kSAASDwoHdXNlcl9pZBgBIAEoCRokCgxTZXNzaW9uU3RhcnQSFAoMcmVkaXJlY3RfdXJsGAEgASgJGpoBCgpTZXNzaW9uRW5kEkkKBnJlYXNvbhgBIAEoDjI5LnJlcXVlc3RfaW5zaWdodC5DdXN0b21lclVJU2Vzc2lvbkV2ZW50LlNlc3Npb25FbmQuUmVhc29uIkEKBlJlYXNvbhIeChpVTktOT1dOX1NFU1NJT05fRU5EX1JFQVNPThAAEgoKBkxPR09VVBABEgsKB1RJTUVPVVQQAkIHCgVldmVudCJZChlEYWlseVJlcXVlc3RMaW1pdEV4Y2VlZGVkEi0KDm9wYXF1ZV91c2VyX2lkGAEgASgLMhUuYXV0aF9lbnRpdGllcy5Vc2VySWQSDQoFbGltaXQYAiABKAUiOQoNRGlmZlBhbmVsRGF0YRIXCg9sb2FkaW5nX3RpbWVfbXMYASABKAUSDwoHYXBwbGllZBgCIAEoCCIKCghFZGl0RW1pdCJUChhFZGl0UmVxdWVzdElkSXNzdWVkRXZlbnQSEgoKcmVxdWVzdF9pZBgBIAEoCRIWCglmaWxlX3BhdGgYAiABKAlIAIgBAUIMCgpfZmlsZV9wYXRoIpMBCg5FZGl0UmVzb2x1dGlvbhITCgtpc19hY2NlcHRlZBgBIAEoCBIbCg5hbm5vdGF0ZWRfdGV4dBgCIAEoCUgAiAEBEiIKFWFubm90YXRlZF9pbnN0cnVjdGlvbhgDIAEoCUgBiAEBQhEKD19hbm5vdGF0ZWRfdGV4dEIYChZfYW5ub3RhdGVkX2luc3RydWN0aW9uIqkBChdFbWJlZGRpbmdzU2VhcmNoUmVxdWVzdBISCgpibG9iX25hbWVzGAEgAygJEhMKC251bV9yZXN1bHRzGAIgASgFEhoKEnRyYW5zZm9ybWF0aW9uX2tleRgDIAEoCRIPCgdzdWJfa2V5GAQgASgJEiUKBWJsb2JzGAUgAygLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEhEKCW51bV9ibG9icxgGIAEoBSKEAQoYRW1iZWRkaW5nc1NlYXJjaFJlc3BvbnNlEhoKEm1pc3NpbmdfYmxvYl9uYW1lcxgBIAMoCRI4CgdyZXN1bHRzGAIgAygLMicucmVxdWVzdF9pbnNpZ2h0LkVtYmVkZGluZ3NTZWFyY2hSZXN1bHQSEgoKYmxvYl9jb3VudBgDIAEoDSJPChZFbWJlZGRpbmdzU2VhcmNoUmVzdWx0EhEKCWJsb2JfbmFtZRgBIAEoCRITCgtjaHVua19pbmRleBgCIAEoDRINCgV2YWx1ZRgDIAEoAiLrAQoORXh0ZW5zaW9uRXJyb3ISIAoTb3JpZ2luYWxfcmVxdWVzdF9pZBgBIAEoCUgAiAEBEg8KB21lc3NhZ2UYAiABKAkSEwoLc3RhY2tfdHJhY2UYAyABKAkSRQoLZGlhZ25vc3RpY3MYBCADKAsyMC5yZXF1ZXN0X2luc2lnaHQuRXh0ZW5zaW9uRXJyb3IuRGlhZ25vc3RpY3NFbnRyeRoyChBEaWFnbm9zdGljc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCFgoUX29yaWdpbmFsX3JlcXVlc3RfaWQisQEKFUV4dGVuc2lvblNlc3Npb25FdmVudBISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkSSAoPYWRkaXRpb25hbF9kYXRhGAMgAygLMi8ucmVxdWVzdF9pbnNpZ2h0LkV4dGVuc2lvblNlc3Npb25FdmVudC5LZXlWYWx1ZRomCghLZXlWYWx1ZRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiiQEKFEZpcnN0VG9rZW5UaW1pbmdEYXRhEiYKHnVzZXJfbWVzc2FnZV9zZW50X3RpbWVzdGFtcF9tcxgBIAEoBBIpCiFmaXJzdF90b2tlbl9yZWNlaXZlZF90aW1lc3RhbXBfbXMYAiABKAQSHgoWdGltZV90b19maXJzdF90b2tlbl9tcxgDIAEoDSJMChFGbHVzaE1lbW9yaWVzRGF0YRI3Cgx0cmFjaW5nX2RhdGEYASABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSImChBHaXRodWJBUElGYWlsdXJlEhIKCmVycm9yX2NvZGUYASABKAUimgMKHEdpdGh1YlB1bGxSZXF1ZXN0TWVyZ2VkRXZlbnQSFwoKcmVwb19vd25lchgBIAEoCUgAiAEBEhYKCXJlcG9fbmFtZRgCIAEoCUgBiAEBEhYKCXByX251bWJlchgDIAEoDUgCiAEBEjIKCW1lcmdlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARIcCg9tZXJnZWRfYnlfbG9naW4YBSABKAlIBIgBARIWCglhZGRpdGlvbnMYBiABKA1IBYgBARIWCglkZWxldGlvbnMYByABKA1IBogBARIVCghoZWFkX3NoYRgIIAEoCUgHiAEBEhUKCGJhc2VfcmVmGAkgASgJSAiIAQFCDQoLX3JlcG9fb3duZXJCDAoKX3JlcG9fbmFtZUIMCgpfcHJfbnVtYmVyQgwKCl9tZXJnZWRfYXRCEgoQX21lcmdlZF9ieV9sb2dpbkIMCgpfYWRkaXRpb25zQgwKCl9kZWxldGlvbnNCCwoJX2hlYWRfc2hhQgsKCV9iYXNlX3JlZiItChNHaXRodWJVc2VyQXV0aG9yaXplEhYKDmdpdGh1Yl91c2VyX2lkGAEgASgDItYDCgxJbmZlclJlcXVlc3QSDQoFbW9kZWwYASABKAkSDgoGcHJvbXB0GAIgASgJEgwKBHBhdGgYAyABKAkSDgoGc3VmZml4GAQgASgJEhAKCG1lbW9yaWVzGAUgAygJEg0KBXRvcF9rGAYgASgFEg0KBXRvcF9wGAcgASgCEhMKC3RlbXBlcmF0dXJlGAggASgCEhIKCm1heF90b2tlbnMYCSABKAUSEgoKc2Vzc2lvbl9pZBgLIAEoCRIMCgRsYW5nGAwgASgJEhIKCnVzZXJfYWdlbnQYDSABKAkSEwoLc2VxdWVuY2VfaWQYDiABKA0SEgoKcHJvYmVfb25seRgPIAEoCBIlCgVibG9icxgQIAEoCzIWLmJhc2UuYmxvYl9uYW1lcy5CbG9icxItCgxyZWNlbmN5X2luZm8YESABKAsyFy5jb21wbGV0aW9uLlJlY2VuY3lJbmZvEiIKFXVzZXJfZmlsdGVyX3RocmVzaG9sZBgSIAEoAkgAiAEBEjcKC2VkaXRfZXZlbnRzGBMgAygLMiIuYmFzZS5kaWZmX3V0aWxzLkdyYW51bGFyRWRpdEV2ZW50QhgKFl91c2VyX2ZpbHRlcl90aHJlc2hvbGRKBAgKEAsiaQoVSW5mZXJlbmNlSG9zdFJlc3BvbnNlEhUKDWN1bV9sb2dfcHJvYnMYAiABKAISMwoMdG9rZW5pemF0aW9uGAMgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbkoECAEQAiLfAQoWSW5pdGlhbE9yaWVudGF0aW9uRGF0YRJJCgZjYWxsZXIYASABKA4yOS5yZXF1ZXN0X2luc2lnaHQuSW5pdGlhbE9yaWVudGF0aW9uRGF0YS5PcmllbnRhdGlvbkNhbGxlchI3Cgx0cmFjaW5nX2RhdGEYAiABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSJBChFPcmllbnRhdGlvbkNhbGxlchIPCgtVTlNQRUNJRklFRBAAEg4KCk9OQk9BUkRJTkcQARILCgdDT01NQU5EEAIiEQoPSW5zdHJ1Y3Rpb25FbWl0ImEKFUluc3RydWN0aW9uUmVzb2x1dGlvbhIaChJpc19hY2NlcHRlZF9jaHVua3MYASADKAgSFQoNaXNfYWNjZXB0X2FsbBgCIAEoCBIVCg1pc19yZWplY3RfYWxsGAMgASgIImUKEE1lbW9yaWVzRmVlZGJhY2sSLwoGcmF0aW5nGAEgASgOMh8ucmVxdWVzdF9pbnNpZ2h0LkZlZWRiYWNrUmF0aW5nEgwKBG5vdGUYAiABKAkSEgoKdXNlcl9hZ2VudBgDIAEoCSI3ChRNZW1vcmllc0ZpbGVPcGVuRGF0YRIfChdtZW1vcmllc19wYXRoX3VuZGVmaW5lZBgBIAEoCCKfAQoQTWVtb3JpZXNNb3ZlRGF0YRI4CgZ0YXJnZXQYASABKA4yKC5yZXF1ZXN0X2luc2lnaHQuTWVtb3JpZXNNb3ZlRGF0YS5UYXJnZXQiUQoGVGFyZ2V0Eg8KC1VOU1BFQ0lGSUVEEAASEwoPVVNFUl9HVUlERUxJTkVTEAESFgoSQVVHTUVOVF9HVUlERUxJTkVTEAISCQoFUlVMRVMQAyK5AQoPTWVtb3J5VXNhZ2VEYXRhEg4KBmFjdGlvbhgBIAEoBRIWCgltZW1vcnlfaWQYAiABKAlIAIgBARIUCgx0cmlnZ2VyZWRfYnkYAyABKAUSGQoMbWVtb3J5X3N0YXRlGAQgASgJSAGIAQESGwoObWVtb3J5X3ZlcnNpb24YBSABKAlIAogBAUIMCgpfbWVtb3J5X2lkQg8KDV9tZW1vcnlfc3RhdGVCEQoPX21lbW9yeV92ZXJzaW9uIu4CChBNb2RlU2VsZWN0b3JEYXRhEkQKBmFjdGlvbhgBIAEoDjI0LnJlcXVlc3RfaW5zaWdodC5Nb2RlU2VsZWN0b3JEYXRhLk1vZGVTZWxlY3RvckFjdGlvbhI0CgRtb2RlGAIgASgOMiYucmVxdWVzdF9pbnNpZ2h0Lk1vZGVTZWxlY3RvckRhdGEuTW9kZRI6Cg5zb3VyY2VfY29udHJvbBgDIAEoDjIiLnJlcXVlc3RfaW5zaWdodC5Tb3VyY2VDb250cm9sVHlwZSI/CgRNb2RlEhAKDFVOS05PV05fTU9ERRAAEggKBENIQVQQARIJCgVBR0VOVBACEhAKDFJFTU9URV9BR0VOVBADImEKEk1vZGVTZWxlY3RvckFjdGlvbhIgChxVTktOT1dOX01PREVfU0VMRUNUT1JfQUNUSU9OEAASCAoET1BFThABEgkKBUNMT1NFEAISCgoGU0VMRUNUEAMSCAoESU5JVBAEIoABChhNb2RlbFNlbGVjdGlvbkNoYW5nZURhdGESGQoRcHJldmlvdXNfbW9kZWxfaWQYASABKAkSGwoTcHJldmlvdXNfbW9kZWxfbmFtZRgCIAEoCRIUCgxuZXdfbW9kZWxfaWQYAyABKAkSFgoObmV3X21vZGVsX25hbWUYBCABKAkiyQEKFE5vdGlmaWNhdGlvbkJlbGxEYXRhEk8KCmJlbGxfc3RhdGUYASABKA4yOy5yZXF1ZXN0X2luc2lnaHQuTm90aWZpY2F0aW9uQmVsbERhdGEuTm90aWZpY2F0aW9uQmVsbFN0YXRlImAKFU5vdGlmaWNhdGlvbkJlbGxTdGF0ZRILCgdVTktOT1dOEAASDQoJQUNUSVZBVEVEEAESDwoLREVBQ1RJVkFURUQQAhIMCghOT1RJRklFRBAEEgwKCEFDQ0VQVEVEEAMiQAoWT25ib2FyZGluZ1Nlc3Npb25FdmVudBISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkiiQEKFVBhcmVudGhlc2lzVHJ1bmNhdGlvbhIVCg1vcmlnaW5hbF90ZXh0GAEgASgJEhYKDnRydW5jYXRlZF90ZXh0GAIgASgJEhUKDXdhc190cnVuY2F0ZWQYAyABKAgSHAoUY291bGRfaGF2ZV90cnVuY2F0ZWQYBCABKAgSDAoEcGF0aBgFIAEoCSJMChRQYXJzZWRSb3V0ZXJSZXNwb25zZRIQCghjYXRlZ29yeRgBIAEoCRIRCglmaWxlbmFtZXMYAiADKAkSDwoHZG9jc2V0cxgDIAMoCSLCAgoWUG9zZWlkb25BbmFseXRpY3NFdmVudBJKChVwb3NlaWRvbl9wcl9hbmFseXRpY3MYBCABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUG9zZWlkb25QckFuYWx5dGljc0V2ZW50SAASTwoTb3V0Y29tZV9vYnNlcnZhdGlvbhgFIAEoCzIwLnJlcXVlc3RfaW5zaWdodC5Qb3NlaWRvbk91dGNvbWVPYnNlcnZhdGlvbkV2ZW50SAASLQoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIVCghldmVudF9pZBgCIAEoCUgCiAEBEhcKCnJlcXVlc3RfaWQYAyABKAlIA4gBAUIHCgVldmVudEIHCgVfdGltZUILCglfZXZlbnRfaWRCDQoLX3JlcXVlc3RfaWQirgQKH1Bvc2VpZG9uT3V0Y29tZU9ic2VydmF0aW9uRXZlbnQSEQoEbmFtZRgBIAEoCUgAiAEBEhQKB3N1YmplY3QYAiABKAlIAYgBARIZCgxzdWJqZWN0X3R5cGUYAyABKAlIAogBARITCgZzb3VyY2UYBCABKAlIA4gBARI0CgtvYnNlcnZlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARJICgR0YWdzGAYgAygLMjoucmVxdWVzdF9pbnNpZ2h0LlBvc2VpZG9uT3V0Y29tZU9ic2VydmF0aW9uRXZlbnQuVGFnc0VudHJ5EhoKDW1ldGFkYXRhX2pzb24YCCABKAlIBYgBARJOCgdtZXRyaWNzGAkgAygLMj0ucmVxdWVzdF9pbnNpZ2h0LlBvc2VpZG9uT3V0Y29tZU9ic2VydmF0aW9uRXZlbnQuTWV0cmljc0VudHJ5GisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGi4KDE1ldHJpY3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBQgcKBV9uYW1lQgoKCF9zdWJqZWN0Qg8KDV9zdWJqZWN0X3R5cGVCCQoHX3NvdXJjZUIOCgxfb2JzZXJ2ZWRfYXRCEAoOX21ldGFkYXRhX2pzb25KBAgHEAhSEGF0dHJpYnV0aW9uX3RhZ3Mi4gkKGFBvc2VpZG9uUHJBbmFseXRpY3NFdmVudBIRCgRyZXBvGAEgASgJSACIAQESFgoJcHJfbnVtYmVyGAIgASgDSAGIAQESGgoNZXZlbnRfdHJpZ2dlchgDIAEoCUgCiAEBEjMKCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQESGQoMYXV0aG9yX2xvZ2luGAUgASgJSASIAQESMgoJbWVyZ2VkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEiYKGWFwcHJvdmVkX2J5X3Jpc2tfYW5hbHl6ZXIYByABKAhIBogBARIwCiNudW1fY29tbWVudHNfYWRkcmVzc2VkX2J5X3ByX2F1dGhvchgIIAEoA0gHiAEBEh8KEnByX2F1dGhvcl9hc3Npc3RlZBgJIAEoCEgIiAEBEi0KIGRlZXBfcmV2aWV3ZXJfbnVtYmVyX29mX2NvbW1lbnRzGAogASgDSAmIAQESLQogcGFpcl9yZXZpZXdlcl9udW1iZXJfb2ZfY29tbWVudHMYCyABKANICogBARIWCglpc19yZXZlcnQYDCABKAhIC4gBARIXCgppc19idWdfZml4GA0gASgISAyIAQESGAoLbG9jX2NoYW5nZWQYDiABKANIDYgBARIfChJudW1faHVtYW5fY29tbWVudHMYDyABKANIDogBARIgChNudW1fY29zbW9zX2NvbW1lbnRzGBAgASgDSA+IAQESFQoIcGxhdGZvcm0YESABKAlIEIgBARIqCh1kZWVwX2NvZGVfcmV2aWV3ZXJfc2Vzc2lvbl9pZBgSIAEoCUgRiAEBEigKG3ByX3Jpc2tfYW5hbHl6ZXJfc2Vzc2lvbl9pZBgTIAEoCUgSiAEBEiUKGHBhaXJfcmV2aWV3ZXJfc2Vzc2lvbl9pZBgUIAEoCUgTiAEBEiEKFHByX2F1dGhvcl9zZXNzaW9uX2lkGBUgASgJSBSIAQFCBwoFX3JlcG9CDAoKX3ByX251bWJlckIQCg5fZXZlbnRfdHJpZ2dlckINCgtfY3JlYXRlZF9hdEIPCg1fYXV0aG9yX2xvZ2luQgwKCl9tZXJnZWRfYXRCHAoaX2FwcHJvdmVkX2J5X3Jpc2tfYW5hbHl6ZXJCJgokX251bV9jb21tZW50c19hZGRyZXNzZWRfYnlfcHJfYXV0aG9yQhUKE19wcl9hdXRob3JfYXNzaXN0ZWRCIwohX2RlZXBfcmV2aWV3ZXJfbnVtYmVyX29mX2NvbW1lbnRzQiMKIV9wYWlyX3Jldmlld2VyX251bWJlcl9vZl9jb21tZW50c0IMCgpfaXNfcmV2ZXJ0Qg0KC19pc19idWdfZml4Qg4KDF9sb2NfY2hhbmdlZEIVChNfbnVtX2h1bWFuX2NvbW1lbnRzQhYKFF9udW1fY29zbW9zX2NvbW1lbnRzQgsKCV9wbGF0Zm9ybUIgCh5fZGVlcF9jb2RlX3Jldmlld2VyX3Nlc3Npb25faWRCHgocX3ByX3Jpc2tfYW5hbHl6ZXJfc2Vzc2lvbl9pZEIbChlfcGFpcl9yZXZpZXdlcl9zZXNzaW9uX2lkQhcKFV9wcl9hdXRob3Jfc2Vzc2lvbl9pZCKOAQoTUG9zdHByb2Nlc3NSZXNwb25zZRI4Cgx0b2tlbml6YXRpb24YASABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uSACIAQESGgoNZXJyb3JfbWVzc2FnZRgCIAEoCUgBiAEBQg8KDV90b2tlbml6YXRpb25CEAoOX2Vycm9yX21lc3NhZ2UipwEKEFByZWZlcmVuY2VTYW1wbGUSEwoLcmVxdWVzdF9pZHMYASADKAkSPQoGc2NvcmVzGAIgAygLMi0ucmVxdWVzdF9pbnNpZ2h0LlByZWZlcmVuY2VTYW1wbGUuU2NvcmVzRW50cnkSEAoIZmVlZGJhY2sYAyABKAkaLQoLU2NvcmVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASK0AgoQUHJvbXB0Q2FjaGVVc2FnZRIUCgxpbnB1dF90b2tlbnMYASABKA0SHwoXY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMYAiABKA0SIwobY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zGAMgASgNEhkKEXRleHRfaW5wdXRfdG9rZW5zGAQgASgNEhkKEXRvb2xfaW5wdXRfdG9rZW5zGAUgASgNEhoKEnRleHRfb3V0cHV0X3Rva2VucxgGIAEoDRIaChJ0b29sX291dHB1dF90b2tlbnMYByABKA0SGQoMbW9kZWxfY2FsbGVyGAggASgJSACIAQESGQoMc2VydmljZV90aWVyGAkgASgJSAGIAQFCDwoNX21vZGVsX2NhbGxlckIPCg1fc2VydmljZV90aWVyIj8KD1B1cmNoYXNlQ3JlZGl0cxIbChNvcmJfc3Vic2NyaXB0aW9uX2lkGAEgASgJEg8KB2NyZWRpdHMYAiABKAIiUwomUklBZ2VudGljU2xhY2tib3RSZWFjdGlvblJlY2VpdmVkRXZlbnQSKQoLc2xhY2tfZXZlbnQYASABKAsyFC5zbGFja2JvdC5TbGFja0V2ZW50IjcKDVJJQmF0Y2hVcGxvYWQSEgoKYmxvYl9jb3VudBgBIAEoBRISCgp0b3RhbF9zaXplGAIgASgDIvcDChNSSUNoYXRNZXRlcmluZ0V2ZW50EjUKDm1ldGVyaW5nX2V2ZW50GAEgASgLMh0ubWV0ZXJpbmdfZXZlbnQuTWV0ZXJpbmdFdmVudBIbChNhY3Rpdml0eV9tdWx0aXBsaWVyGAIgASgBEhQKDGlucHV0X3Rva2VucxgDIAEoBRIVCg1vdXRwdXRfdG9rZW5zGAQgASgFEhkKEWNhY2hlX3JlYWRfdG9rZW5zGAUgASgFEhoKEmNhY2hlX3dyaXRlX3Rva2VucxgGIAEoBRIWCg50b3RhbF9jb3N0X3VzZBgLIAEoARISCgptb2RlbF9uYW1lGAwgASgJEhwKD2NvbnZlcnNhdGlvbl9pZBgNIAEoCUgAiAEBEhsKDnJvdXRpbmdfcmVhc29uGA4gASgJSAGIAQESHAoPcHJvdmlkZXJfcmVnaW9uGA8gASgJSAKIAQESGwoOZW5kcG9pbnRfc2NvcGUYECABKAlIA4gBARIgChNyZWdpb25hbF9tdWx0aXBsaWVyGBEgASgBSASIAQFCEgoQX2NvbnZlcnNhdGlvbl9pZEIRCg9fcm91dGluZ19yZWFzb25CEgoQX3Byb3ZpZGVyX3JlZ2lvbkIRCg9fZW5kcG9pbnRfc2NvcGVCFgoUX3JlZ2lvbmFsX211bHRpcGxpZXIi3gEKDVJJQ2hhdFJlcXVlc3QSIgoHcmVxdWVzdBgBIAEoCzIRLmNoYXQuQ2hhdFJlcXVlc3QSOQoQcmV0cmlldmVkX2NodW5rcxgDIAMoCzIfLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxDaHVuaxIzCgx0b2tlbml6YXRpb24YBCABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uEhsKE2V4dGVybmFsX3NvdXJjZV9pZHMYBSADKAkSFgoOcmVxdWVzdF9zb3VyY2UYBiABKAlKBAgCEAMiwAIKDlJJQ2hhdFJlc3BvbnNlEiQKCHJlc3BvbnNlGAEgASgLMhIuY2hhdC5DaGF0UmVzcG9uc2USMwoMdG9rZW5pemF0aW9uGAMgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSACIAQESDgoGc2lsZW50GAUgASgIEioKC3NpbGVudF90eXBlGAYgASgOMhAuY2hhdC5TaWxlbnRUeXBlSAGIAQESPwoPcmVmdXNhbF9zdW1tYXJ5GAcgASgLMiEucmVxdWVzdF9pbnNpZ2h0LlJJUmVmdXNhbFN1bW1hcnlIAogBAUIQCg5fZXJyb3JfbWVzc2FnZUIOCgxfc2lsZW50X3R5cGVCEgoQX3JlZnVzYWxfc3VtbWFyeUoECAIQAyKpAQoNUklFZGl0UmVxdWVzdBIiCgdyZXF1ZXN0GAEgASgLMhEuZWRpdC5FZGl0UmVxdWVzdBI5ChByZXRyaWV2ZWRfY2h1bmtzGAMgAygLMh8ucmVxdWVzdF9pbnNpZ2h0LlJldHJpZXZhbENodW5rEjMKDHRva2VuaXphdGlvbhgEIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5Ub2tlbml6YXRpb25KBAgCEAMicQoOUklFZGl0UmVzcG9uc2USJAoIcmVzcG9uc2UYASABKAsyEi5lZGl0LkVkaXRSZXNwb25zZRIzCgx0b2tlbml6YXRpb24YAyABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uSgQIAhADImgKDVJJRmluZE1pc3NpbmcSEgoKbW9kZWxfbmFtZRgBIAEoCRISCgpibG9iX2NvdW50GAIgASgFEhUKDW1pc3NpbmdfY291bnQYAyABKAUSGAoQbm9uaW5kZXhlZF9jb3VudBgEIAEoBSJ5ChxSSUdpdGh1YkFwcEluc3RhbGxhdGlvbkV2ZW50EiIKBnN0YXR1cxgBIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzEjUKCmV2ZW50X3R5cGUYAiABKA4yIS5yZXF1ZXN0X2luc2lnaHQuSW5zdGFsbEV2ZW50VHlwZSJACg1SSUdpdGh1YkV2ZW50Ei8KDGdpdGh1Yl9ldmVudBgBIAEoCzIZLmdpdGh1Yl9ldmVudC5HaXRodWJFdmVudCLRBAoYUklHaXRodWJQcm9jZXNzaW5nUmVzdWx0EiIKBnN0YXR1cxgBIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzEhsKE2xhc3RfdXBkYXRlZF9jb21taXQYAiABKAkSRgoKZGlmZl9pbmZvcxgDIAMoCzIyLnJlcXVlc3RfaW5zaWdodC5SSUdpdGh1YlByb2Nlc3NpbmdSZXN1bHQuRGlmZkluZm8SHQoVZmlsZW5hbWVzX3RvX2Rvd25sb2FkGAQgAygJEk0KEWlnbm9yZV9kaWZmX2luZm9zGAcgAygLMjIucmVxdWVzdF9pbnNpZ2h0LlJJR2l0aHViUHJvY2Vzc2luZ1Jlc3VsdC5EaWZmSW5mbxIkChxpZ25vcmVfZmlsZW5hbWVzX3RvX2Rvd25sb2FkGAggAygJEjAKEGNoZWNrcG9pbnRfYmxvYnMYBSABKAsyFi5iYXNlLmJsb2JfbmFtZXMuQmxvYnMSFwoPZ2l0X2FwcGx5X2Vycm9yGAYgASgJEhsKE2ZpbGVfZG93bmxvYWRfZXJyb3IYCSABKAkSFgoOZGlmZl9ibG9iX25hbWUYCiABKAkSFQoNaWdub3JlZF9maWxlcxgLIAMoCRqAAQoIRGlmZkluZm8SEAoIZmlsZW5hbWUYASABKAkSFAoMb2xkX2Jsb2JuYW1lGAIgASgJEhQKDG5ld19ibG9ibmFtZRgDIAEoCRIUCgxvbGRfZmlsZW5hbWUYBCABKAkSDwoHcmVtb3ZlZBgFIAEoCBIPCgdyZW5hbWVkGAYgASgIIhgKFlJJR2xlYW5PQXV0aFVSTFJlcXVlc3QiLAoXUklHbGVhbk9BdXRoVVJMUmVzcG9uc2USEQoJb2F1dGhfdXJsGAEgASgJItECCg5SSUdsZWFuUmVxdWVzdBIlCgdyZXF1ZXN0GAEgASgLMhQuZ2xlYW4uU2VhcmNoUmVxdWVzdBIWCg5yZXF1ZXN0X3NvdXJjZRgCIAEoCRJbChZxdWVyeV9wcm9jZXNzb3JfY29uZmlnGAMgASgLMjsucmVxdWVzdF9pbnNpZ2h0LlJJR2xlYW5SZXF1ZXN0LlJJR2xlYW5RdWVyeVByb2Nlc3NvckNvbmZpZxqiAQobUklHbGVhblF1ZXJ5UHJvY2Vzc29yQ29uZmlnEhYKDmdjcF9wcm9qZWN0X2lkGAEgASgJEhIKCmdjcF9yZWdpb24YAiABKAkSEgoKbW9kZWxfbmFtZRgDIAEoCRITCgt0ZW1wZXJhdHVyZRgEIAEoAhIZChFtYXhfb3V0cHV0X3Rva2VucxgFIAEoBRITCgttYXhfcmVzdWx0cxgGIAEoBSK2AQoPUklHbGVhblJlc3BvbnNlEicKCHJlc3BvbnNlGAEgASgLMhUuZ2xlYW4uU2VhcmNoUmVzcG9uc2USUAofZ2VuZXJhdGVfc2VhcmNoX3F1ZXJpZXNfcmVxdWVzdBgCIAEoCzInLnJlcXVlc3RfaW5zaWdodC5UaGlyZFBhcnR5TW9kZWxSZXF1ZXN0EigKIGdlbmVyYXRlX3NlYXJjaF9xdWVyaWVzX3Jlc3BvbnNlGAMgAygJIrEBChRSSUluc3RydWN0aW9uUmVxdWVzdBIpCgdyZXF1ZXN0GAEgASgLMhguZWRpdC5JbnN0cnVjdGlvblJlcXVlc3QSOQoQcmV0cmlldmVkX2NodW5rcxgCIAMoCzIfLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxDaHVuaxIzCgx0b2tlbml6YXRpb24YAyABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uIrABChVSSUluc3RydWN0aW9uUmVzcG9uc2USNAoIcmVzcG9uc2UYASABKAsyIi5lZGl0Lkluc3RydWN0aW9uQWdncmVnYXRlUmVzcG9uc2USMwoMdG9rZW5pemF0aW9uGAIgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIaCg1lcnJvcl9tZXNzYWdlGAMgASgJSACIAQFCEAoOX2Vycm9yX21lc3NhZ2UirwEKHlJJSW50ZWdyYXRpb25JbnN0YWxsYXRpb25FdmVudBIiCgZzdGF0dXMYASABKAsyEi5nb29nbGUucnBjLlN0YXR1cxI1CgpldmVudF90eXBlGAIgASgOMiEucmVxdWVzdF9pbnNpZ2h0Lkluc3RhbGxFdmVudFR5cGUSEwoLaW50ZWdyYXRpb24YAyABKAkSDQoFc2NvcGUYBCABKAkSDgoGbWV0aG9kGAUgASgJItABCg5SSU1vZGVsQVBJQ2FsbBISCgptb2RlbF9uYW1lGAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhMKBnJlZ2lvbhgDIAEoCUgAiAEBEiAKE3JlcXVlc3RfcGFyYW1zX2pzb24YBCABKAlIAYgBARIjChZyZXNwb25zZV9tZXRhZGF0YV9qc29uGAUgASgJSAKIAQFCCQoHX3JlZ2lvbkIWChRfcmVxdWVzdF9wYXJhbXNfanNvbkIZChdfcmVzcG9uc2VfbWV0YWRhdGFfanNvbiJoChBSSVJlZnVzYWxTdW1tYXJ5EhAKCHByb3ZpZGVyGAEgASgJEhIKCm1vZGVsX25hbWUYAiABKAkSDAoEdHlwZRgDIAEoCRIQCghjYXRlZ29yeRgEIAEoCRIOCgZzb3VyY2UYBSABKAkixgIKF1JJUmVtb3RlVG9vbENhbGxSZXF1ZXN0EkYKGmNvZGViYXNlX3JldHJpZXZhbF9yZXF1ZXN0GAEgASgLMiAuYWdlbnRzLkNvZGViYXNlUmV0cmlldmFsUmVxdWVzdEgAEjQKEWVkaXRfZmlsZV9yZXF1ZXN0GAIgASgLMhcuYWdlbnRzLkVkaXRGaWxlUmVxdWVzdEgAEk0KGnJpX3J1bl9yZW1vdGVfdG9vbF9yZXF1ZXN0GAQgASgLMicucmVxdWVzdF9pbnNpZ2h0LlJJUnVuUmVtb3RlVG9vbFJlcXVlc3RIABJNCh5jb2RlYmFzZV9yZXRyaWV2YWxfcmF3X3JlcXVlc3QYBSABKAsyIy5hZ2VudHMuQ29kZWJhc2VSZXRyaWV2YWxSYXdSZXF1ZXN0SABCCQoHcmVxdWVzdEoECAMQBCK8AgoYUklSZW1vdGVUb29sQ2FsbFJlc3BvbnNlEkgKG2NvZGViYXNlX3JldHJpZXZhbF9yZXNwb25zZRgBIAEoCzIhLmFnZW50cy5Db2RlYmFzZVJldHJpZXZhbFJlc3BvbnNlSAASNgoSZWRpdF9maWxlX3Jlc3BvbnNlGAIgASgLMhguYWdlbnRzLkVkaXRGaWxlUmVzcG9uc2VIABJBChhydW5fcmVtb3RlX3Rvb2xfcmVzcG9uc2UYAyABKAsyHS5hZ2VudHMuUnVuUmVtb3RlVG9vbFJlc3BvbnNlSAASTwofY29kZWJhc2VfcmV0cmlldmFsX3Jhd19yZXNwb25zZRgEIAEoCzIkLmFnZW50cy5Db2RlYmFzZVJldHJpZXZhbFJhd1Jlc3BvbnNlSABCCgoIcmVzcG9uc2UibwoWUklSdW5SZW1vdGVUb29sUmVxdWVzdBIVCgl0b29sX25hbWUYASABKAlCAhgBEhcKD3Rvb2xfaW5wdXRfanNvbhgCIAEoCRIlCgd0b29sX2lkGAMgASgOMhQuYWdlbnRzLlJlbW90ZVRvb2xJZCJLChVSSVNoYXJlR2V0Q2hhdFJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnNoYXJlLkdldENoYXRDb252ZXJzYXRpb25SZXF1ZXN0Ik4KFlJJU2hhcmVHZXRDaGF0UmVzcG9uc2USNAoIcmVzcG9uc2UYASABKAsyIi5zaGFyZS5HZXRDaGF0Q29udmVyc2F0aW9uUmVzcG9uc2UiTQoWUklTaGFyZVNhdmVDaGF0UmVxdWVzdBIzCgdyZXF1ZXN0GAEgASgLMiIuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXF1ZXN0IlAKF1JJU2hhcmVTYXZlQ2hhdFJlc3BvbnNlEjUKCHJlc3BvbnNlGAEgASgLMiMuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXNwb25zZSJ4ChtSSVNsYWNrYm90SW5zdGFsbGF0aW9uRXZlbnQSIgoGc3RhdHVzGAEgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMSNQoKZXZlbnRfdHlwZRgCIAEoDjIhLnJlcXVlc3RfaW5zaWdodC5JbnN0YWxsRXZlbnRUeXBlIosCChFSSVNsYWNrYm90UmVxdWVzdBIpCgtzbGFja19ldmVudBgBIAEoCzIULnNsYWNrYm90LlNsYWNrRXZlbnQSRAoMY2hhbm5lbF90eXBlGAIgASgOMi4ucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXF1ZXN0LkNoYW5uZWxUeXBlIoQBCgtDaGFubmVsVHlwZRIYChRVTktOT1dOX0NIQU5ORUxfVFlQRRAAEgYKAklNEAESCAoETVBJTRACEhIKDlNIQVJFRF9DSEFOTkVMEAMSEwoPUFJJVkFURV9DSEFOTkVMEAQSEwoPR0VORVJBTF9DSEFOTkVMEAUSCwoHQ0hBTk5FTBAGIv0DChJSSVNsYWNrYm90UmVzcG9uc2USDwoHY2hhbm5lbBgBIAEoCRIYChB0aHJlYWRfdGltZXN0YW1wGAIgASgJEiEKGXJlcXVlc3RfbWVzc2FnZV90aW1lc3RhbXAYAyABKAkSQgoPcmVzcG9uc2VfZXZlbnRzGAQgAygLMikucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXNwb25zZS5FdmVudBrQAQoFRXZlbnQSRwoMcG9zdF9tZXNzYWdlGAIgASgLMi8ucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXNwb25zZS5Qb3N0TWVzc2FnZUgAEksKDnVwZGF0ZV9tZXNzYWdlGAMgASgLMjEucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXNwb25zZS5VcGRhdGVNZXNzYWdlSAASKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBwoFZXZlbnQaPwoLUG9zdE1lc3NhZ2USIgoacmVzcG9uc2VfbWVzc2FnZV90aW1lc3RhbXAYASABKAkSDAoEdGV4dBgCIAEoCRpBCg1VcGRhdGVNZXNzYWdlEiIKGnJlc3BvbnNlX21lc3NhZ2VfdGltZXN0YW1wGAEgASgJEgwKBHRleHQYAiABKAkiIwoFUmFuZ2USDQoFc3RhcnQYASABKAUSCwoDZW5kGAIgASgFIqECChRSZW1lbWJlclRvb2xDYWxsRGF0YRJICgZjYWxsZXIYASABKA4yOC5yZXF1ZXN0X2luc2lnaHQuUmVtZW1iZXJUb29sQ2FsbERhdGEuUmVtZW1iZXJUb29sQ2FsbGVyEh0KFWlzX2NvbXBsZXhfbmV3X21lbW9yeRgCIAEoCBI3Cgx0cmFjaW5nX2RhdGEYAyABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSJnChJSZW1lbWJlclRvb2xDYWxsZXISDwoLVU5TUEVDSUZJRUQQABIYChRDTEFTU0lGWV9BTkRfRElTVElMTBABEg8KC09SSUVOVEFUSU9OEAISFQoRTUVNT1JZX0FDQ0VQVEFOQ0UQAyJCChJSZW1vdGVBZ2VudENyZWF0ZWQSFAoMY2hhbmdlZF9yZXBvGAEgASgIEhYKDmNoYW5nZWRfYnJhbmNoGAIgASgIImgKE1JlbW90ZUFnZW50RmVlZGJhY2sSLwoGcmF0aW5nGAEgASgOMh8ucmVxdWVzdF9pbnNpZ2h0LkZlZWRiYWNrUmF0aW5nEgwKBG5vdGUYAiABKAkSEgoKdXNlcl9hZ2VudBgDIAEoCSLaAQoWUmVtb3RlQWdlbnRMYXRlbmN5RGF0YRJUCgxsYXRlbmN5X3R5cGUYASABKA4yPi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRMYXRlbmN5RGF0YS5SZW1vdGVBZ2VudExhdGVuY3lUeXBlEhIKCmxhdGVuY3lfbXMYAiABKA0iVgoWUmVtb3RlQWdlbnRMYXRlbmN5VHlwZRIYChRVTktOT1dOX0xBVEVOQ1lfVFlQRRAAEhAKDENSRUFURV9BR0VOVBABEhAKDFJFU1VNRV9BR0VOVBACItsBCg5SZW1vdGVBZ2VudExvZxI1CgdlbnRyaWVzGAEgAygLMiQucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50TG9nRW50cnkSFwoPcmVtb3RlX2FnZW50X2lkGAIgASgJEhEKCWNvbXBvbmVudBgDIAEoCRIzCg9zdGFydF90aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDWVuZF90aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImgKE1JlbW90ZUFnZW50TG9nRW50cnkSDwoHbWVzc2FnZRgBIAEoCRIRCgl0cmFuc3BvcnQYAiABKAkSLQoJdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLHAwoeUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25EYXRhEmAKBmFjdGlvbhgBIAEoDjJQLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudE5ld1RocmVhZEJ1dHRvbkRhdGEuUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25BY3Rpb24STwoLdGhyZWFkX3R5cGUYAiABKA4yOi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25EYXRhLlRocmVhZFR5cGUSOgoOc291cmNlX2NvbnRyb2wYAyABKA4yIi5yZXF1ZXN0X2luc2lnaHQuU291cmNlQ29udHJvbFR5cGUiaAogUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25BY3Rpb24SJAogVU5LTk9XTl9ORVdfVEhSRUFEX0JVVFRPTl9BQ1RJT04QABIJCgVDTElDSxABEggKBE9QRU4QAhIJCgVDTE9TRRADIkwKClRocmVhZFR5cGUSFwoTVU5LTk9XTl9USFJFQURfVFlQRRAAEggKBENIQVQQARIJCgVBR0VOVBACEhAKDFJFTU9URV9BR0VOVBADIqUJChdSZW1vdGVBZ2VudFNlc3Npb25FdmVudBJIChdyZW1vdGVfYWdlbnRfc2V0dXBfZGF0YRgEIAEoCzIlLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudFNldHVwRGF0YUgAEkgKEXNldHVwX3NjcmlwdF9kYXRhGAUgASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2V0dXBTY3JpcHREYXRhSAASQwoUc3NoX2ludGVyYWN0aW9uX2RhdGEYBiABKAsyIy5yZXF1ZXN0X2luc2lnaHQuU1NISW50ZXJhY3Rpb25EYXRhSAASRwoWbm90aWZpY2F0aW9uX2JlbGxfZGF0YRgHIAEoCzIlLnJlcXVlc3RfaW5zaWdodC5Ob3RpZmljYXRpb25CZWxsRGF0YUgAEjkKD2RpZmZfcGFuZWxfZGF0YRgIIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5EaWZmUGFuZWxEYXRhSAASPQoRc2V0dXBfcGFnZV9vcGVuZWQYCSABKAsyIC5yZXF1ZXN0X2luc2lnaHQuU2V0dXBQYWdlT3BlbmVkSAASPwoSZ2l0aHViX2FwaV9mYWlsdXJlGAogASgLMiEucmVxdWVzdF9pbnNpZ2h0LkdpdGh1YkFQSUZhaWx1cmVIABJDChRyZW1vdGVfYWdlbnRfY3JlYXRlZBgLIAEoCzIjLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudENyZWF0ZWRIABJDChRjaGFuZ2VzX2FwcGxpZWRfZGF0YRgMIAEoCzIjLnJlcXVlc3RfaW5zaWdodC5DaGFuZ2VzQXBwbGllZERhdGFIABI5Cg9jcmVhdGVkX3ByX2RhdGEYDSABKAsyHi5yZXF1ZXN0X2luc2lnaHQuQ3JlYXRlZFBSRGF0YUgAEj8KEm1vZGVfc2VsZWN0b3JfZGF0YRgOIAEoCzIhLnJlcXVlc3RfaW5zaWdodC5Nb2RlU2VsZWN0b3JEYXRhSAASVQoecmVtb3RlX2FnZW50X3NldHVwX3dpbmRvd19kYXRhGA8gASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2V0dXBXaW5kb3dEYXRhSAASUwodcmVtb3RlX2FnZW50X3RocmVhZF9saXN0X2RhdGEYECABKAsyKi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRUaHJlYWRMaXN0RGF0YUgAEl4KI3JlbW90ZV9hZ2VudF9uZXdfdGhyZWFkX2J1dHRvbl9kYXRhGBEgASgLMi8ucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50TmV3VGhyZWFkQnV0dG9uRGF0YUgAEkwKGXJlbW90ZV9hZ2VudF9sYXRlbmN5X2RhdGEYEiABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRMYXRlbmN5RGF0YUgAEhIKCmV2ZW50X25hbWUYASABKAkSEgoKdXNlcl9hZ2VudBgCIAEoCRIXCg9yZW1vdGVfYWdlbnRfaWQYAyABKAlCDAoKZXZlbnRfZGF0YSLOAQoUUmVtb3RlQWdlbnRTZXR1cERhdGESIwobdXNlZF9nZW5lcmF0ZWRfc2V0dXBfc2NyaXB0GAEgASgIElAKC3NldHVwX3N0YXRlGAIgASgOMjsucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2V0dXBEYXRhLlJlbW90ZUFnZW50U2V0dXBTdGF0ZSI/ChVSZW1vdGVBZ2VudFNldHVwU3RhdGUSCwoHVU5LTk9XThAAEg0KCUNPTVBMRVRFRBABEgoKBkZBSUxFRBACIoMBChpSZW1vdGVBZ2VudFNldHVwU2NyaXB0RGF0YRIRCgludW1fdHJpZXMYASABKAUSGQoRbnVtX21lc3NhZ2VzX3NlbnQYAyABKAUSGgoSZ2VuZXJhdGlvbl90aW1lX21zGAQgASgFEhsKE21hbnVhbF9tb2RpZmljYXRpb24YBSABKAgilgUKGlJlbW90ZUFnZW50U2V0dXBXaW5kb3dEYXRhElgKBmFjdGlvbhgBIAEoDjJILnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudFNldHVwV2luZG93RGF0YS5SZW1vdGVBZ2VudFNldHVwV2luZG93QWN0aW9uEhEKCXJlcG9faGFzaBgCIAEoCRITCgticmFuY2hfaGFzaBgDIAEoCRIhChloYXNfc2V0dXBfc2NyaXB0X3NlbGVjdGVkGAQgASgIEiIKGmdpdGh1Yl9pbnRlZ3JhdGlvbl9lbmFibGVkGAUgASgIEhsKE251bV9yZXBvc19hdmFpbGFibGUYBiABKA0SOgoOc291cmNlX2NvbnRyb2wYByABKA4yIi5yZXF1ZXN0X2luc2lnaHQuU291cmNlQ29udHJvbFR5cGUi1QIKHFJlbW90ZUFnZW50U2V0dXBXaW5kb3dBY3Rpb24SHwobVU5LTk9XTl9TRVRVUF9XSU5ET1dfQUNUSU9OEAASCAoET1BFThABEgkKBUNMT1NFEAISDwoLU0VMRUNUX1JFUE8QAxIRCg1TRUxFQ1RfQlJBTkNIEAQSFwoTU0VMRUNUX1NFVFVQX1NDUklQVBAFEh4KGkFVVE9fR0VORVJBVEVfU0VUVVBfU0NSSVBUEAYSIAocTUFOVUFMTFlfQ1JFQVRFX1NFVFVQX1NDUklQVBAHEhkKFVRZUEVfSU5fUFJPTVBUX1dJTkRPVxAIEhgKFENMSUNLX1JFV1JJVEVfUFJPTVBUEAkSGAoURU5BQkxFX05PVElGSUNBVElPTlMQChIZChVESVNBQkxFX05PVElGSUNBVElPTlMQCxIWChJDTElDS19DUkVBVEVfQUdFTlQQDCLjAgoZUmVtb3RlQWdlbnRUaHJlYWRMaXN0RGF0YRJWCgZhY3Rpb24YASABKA4yRi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRUaHJlYWRMaXN0RGF0YS5SZW1vdGVBZ2VudFRocmVhZExpc3RBY3Rpb24SGgoSbnVtX2FnZW50c19pbl9saXN0GAIgASgNEjoKDnNvdXJjZV9jb250cm9sGAMgASgOMiIucmVxdWVzdF9pbnNpZ2h0LlNvdXJjZUNvbnRyb2xUeXBlIpUBChtSZW1vdGVBZ2VudFRocmVhZExpc3RBY3Rpb24SHQoZVU5LTk9XTl9BR0VOVF9MSVNUX0FDVElPThAAEggKBE9QRU4QARIJCgVDTE9TRRACEhAKDFNFTEVDVF9BR0VOVBADEhAKDERFTEVURV9BR0VOVBAEEg0KCVBJTl9BR0VOVBAFEg8KC1VOUElOX0FHRU5UEAYifgoaUmVtb3RlQWdlbnRXb3Jrc3BhY2VVcHRpbWUSMAoMdXB0aW1lX3N0YXJ0GAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cHRpbWVfZW5kGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJQChxSZW1vdGVBZ2VudHNBZGRTU0hLZXlSZXF1ZXN0EjAKB3JlcXVlc3QYASABKAsyHy5yZW1vdGVfYWdlbnRzLkFkZFNTSEtleVJlcXVlc3QiUwodUmVtb3RlQWdlbnRzQWRkU1NIS2V5UmVzcG9uc2USMgoIcmVzcG9uc2UYASABKAsyIC5yZW1vdGVfYWdlbnRzLkFkZFNTSEtleVJlc3BvbnNlIkYKF1JlbW90ZUFnZW50c0NoYXRSZXF1ZXN0EisKB3JlcXVlc3QYASABKAsyGi5yZW1vdGVfYWdlbnRzLkNoYXRSZXF1ZXN0IkkKGFJlbW90ZUFnZW50c0NoYXRSZXNwb25zZRItCghyZXNwb25zZRgBIAEoCzIbLnJlbW90ZV9hZ2VudHMuQ2hhdFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c0NyZWF0ZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuQ3JlYXRlQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c0NyZWF0ZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5DcmVhdGVBZ2VudFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c0RlbGV0ZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuRGVsZXRlQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c0RlbGV0ZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5EZWxldGVBZ2VudFJlc3BvbnNlIlwKIlJlbW90ZUFnZW50c0dlbmVyYXRlU3VtbWFyeVJlcXVlc3QSNgoHcmVxdWVzdBgBIAEoCzIlLnJlbW90ZV9hZ2VudHMuR2VuZXJhdGVTdW1tYXJ5UmVxdWVzdCJfCiNSZW1vdGVBZ2VudHNHZW5lcmF0ZVN1bW1hcnlSZXNwb25zZRI4CghyZXNwb25zZRgBIAEoCzImLnJlbW90ZV9hZ2VudHMuR2VuZXJhdGVTdW1tYXJ5UmVzcG9uc2UiVQocUmVtb3RlQWdlbnRzSW50ZXJydXB0UmVxdWVzdBI1CgdyZXF1ZXN0GAEgASgLMiQucmVtb3RlX2FnZW50cy5JbnRlcnJ1cHRBZ2VudFJlcXVlc3QiWAodUmVtb3RlQWdlbnRzSW50ZXJydXB0UmVzcG9uc2USNwoIcmVzcG9uc2UYASABKAsyJS5yZW1vdGVfYWdlbnRzLkludGVycnVwdEFnZW50UmVzcG9uc2UiTQoYUmVtb3RlQWdlbnRzUGF1c2VSZXF1ZXN0EjEKB3JlcXVlc3QYASABKAsyIC5yZW1vdGVfYWdlbnRzLlBhdXNlQWdlbnRSZXF1ZXN0IlAKGVJlbW90ZUFnZW50c1BhdXNlUmVzcG9uc2USMwoIcmVzcG9uc2UYASABKAsyIS5yZW1vdGVfYWdlbnRzLlBhdXNlQWdlbnRSZXNwb25zZSJcCiJSZW1vdGVBZ2VudHNSZXN1bWVIaW50QWdlbnRSZXF1ZXN0EjYKB3JlcXVlc3QYASABKAsyJS5yZW1vdGVfYWdlbnRzLlJlc3VtZUhpbnRBZ2VudFJlcXVlc3QiXwojUmVtb3RlQWdlbnRzUmVzdW1lSGludEFnZW50UmVzcG9uc2USOAoIcmVzcG9uc2UYASABKAsyJi5yZW1vdGVfYWdlbnRzLlJlc3VtZUhpbnRBZ2VudFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c1Jlc3VtZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuUmVzdW1lQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c1Jlc3VtZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5SZXN1bWVBZ2VudFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c1VwZGF0ZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuVXBkYXRlQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c1VwZGF0ZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5VcGRhdGVBZ2VudFJlc3BvbnNlImcKDlJlcXVlc3RCbG9ja2VkEi0KDm9wYXF1ZV91c2VyX2lkGAEgASgLMhUuYXV0aF9lbnRpdGllcy5Vc2VySWQSEgoKdXNlcl9lbWFpbBgCIAEoCRISCgpjaGVja190eXBlGAMgASgJIoM+CgxSZXF1ZXN0RXZlbnQSNgoNaW5mZXJfcmVxdWVzdBgCIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5JbmZlclJlcXVlc3RIABJJChdjb21wbGV0aW9uX2hvc3RfcmVxdWVzdBgIIAEoCzImLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uSG9zdFJlcXVlc3RIABJJChdpbmZlcmVuY2VfaG9zdF9yZXNwb25zZRgKIAEoCzImLnJlcXVlc3RfaW5zaWdodC5JbmZlcmVuY2VIb3N0UmVzcG9uc2VIABJLChhjb21wbGV0aW9uX2hvc3RfcmVzcG9uc2UYCSABKAsyJy5yZXF1ZXN0X2luc2lnaHQuQ29tcGxldGlvbkhvc3RSZXNwb25zZUgAEj0KEWFwaV9odHRwX3Jlc3BvbnNlGAcgASgLMiAucmVxdWVzdF9pbnNpZ2h0LkFwaUh0dHBSZXNwb25zZUgAEk0KGWVtYmVkZGluZ3Nfc2VhcmNoX3JlcXVlc3QYCyABKAsyKC5yZXF1ZXN0X2luc2lnaHQuRW1iZWRkaW5nc1NlYXJjaFJlcXVlc3RIABJPChplbWJlZGRpbmdzX3NlYXJjaF9yZXNwb25zZRgMIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5FbWJlZGRpbmdzU2VhcmNoUmVzcG9uc2VIABI6Cg9jb21wbGV0aW9uX2VtaXQYDSABKAsyHy5yZXF1ZXN0X2luc2lnaHQuQ29tcGxldGlvbkVtaXRIABJGChVjb21wbGV0aW9uX3Jlc29sdXRpb24YDiABKAsyJS5yZXF1ZXN0X2luc2lnaHQuQ29tcGxldGlvblJlc29sdXRpb25IABI7ChFlZGl0X2hvc3RfcmVxdWVzdBgPIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5SSUVkaXRSZXF1ZXN0SAASPQoSZWRpdF9ob3N0X3Jlc3BvbnNlGBAgASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlJJRWRpdFJlc3BvbnNlSAASQgoTY29tcGxldGlvbl9mZWVkYmFjaxgRIAEoCzIjLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uRmVlZGJhY2tIABIuCgllZGl0X2VtaXQYEiABKAsyGS5yZXF1ZXN0X2luc2lnaHQuRWRpdEVtaXRIABI6Cg9lZGl0X3Jlc29sdXRpb24YEyABKAsyHy5yZXF1ZXN0X2luc2lnaHQuRWRpdFJlc29sdXRpb25IABI8ChByZXF1ZXN0X21ldGFkYXRhGBQgASgLMiAucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RNZXRhZGF0YUgAEkAKEnJldHJpZXZhbF9yZXNwb25zZRgVIAEoCzIiLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxSZXNwb25zZUgAEjsKEWNoYXRfaG9zdF9yZXF1ZXN0GBYgASgLMh4ucmVxdWVzdF9pbnNpZ2h0LlJJQ2hhdFJlcXVlc3RIABI9ChJjaGF0X2hvc3RfcmVzcG9uc2UYFyABKAsyHy5yZXF1ZXN0X2luc2lnaHQuUklDaGF0UmVzcG9uc2VIABI6Cg9leHRlbnNpb25fZXJyb3IYGCABKAsyHy5yZXF1ZXN0X2luc2lnaHQuRXh0ZW5zaW9uRXJyb3JIABJJChdjb21wbGV0aW9uX3Bvc3RfcHJvY2VzcxgZIAEoCzImLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uUG9zdFByb2Nlc3NIABI+ChFwcmVmZXJlbmNlX3NhbXBsZRgbIAEoCzIhLnJlcXVlc3RfaW5zaWdodC5QcmVmZXJlbmNlU2FtcGxlSAASNgoNY2hhdF9mZWVkYmFjaxgcIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5DaGF0RmVlZGJhY2tIABI+ChFyZXJhbmtlcl9yZXNwb25zZRgdIAEoCzIhLnJlcXVlc3RfaW5zaWdodC5SZXJhbmtlclJlc3BvbnNlSAASTwoaY2xpZW50X2NvbXBsZXRpb25fdGltZWxpbmUYICABKAsyKS5yZXF1ZXN0X2luc2lnaHQuQ2xpZW50Q29tcGxldGlvblRpbWVsaW5lSAASSQoYaW5zdHJ1Y3Rpb25faG9zdF9yZXF1ZXN0GCYgASgLMiUucmVxdWVzdF9pbnNpZ2h0LlJJSW5zdHJ1Y3Rpb25SZXF1ZXN0SAASSwoZaW5zdHJ1Y3Rpb25faG9zdF9yZXNwb25zZRgnIAEoCzImLnJlcXVlc3RfaW5zaWdodC5SSUluc3RydWN0aW9uUmVzcG9uc2VIABI+ChBzbGFja2JvdF9yZXF1ZXN0GCggASgLMiIucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXF1ZXN0SAASQAoRc2xhY2tib3RfcmVzcG9uc2UYKSABKAsyIy5yZXF1ZXN0X2luc2lnaHQuUklTbGFja2JvdFJlc3BvbnNlSAASNgoMZ2l0aHViX2V2ZW50GCogASgLMh4ucmVxdWVzdF9pbnNpZ2h0LlJJR2l0aHViRXZlbnRIABJNChhnaXRodWJfcHJvY2Vzc2luZ19yZXN1bHQYKyABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUklHaXRodWJQcm9jZXNzaW5nUmVzdWx0SAASSgoXc2hhcmVfc2F2ZV9jaGF0X3JlcXVlc3QYLCABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUklTaGFyZVNhdmVDaGF0UmVxdWVzdEgAEkwKGHNoYXJlX3NhdmVfY2hhdF9yZXNwb25zZRgtIAEoCzIoLnJlcXVlc3RfaW5zaWdodC5SSVNoYXJlU2F2ZUNoYXRSZXNwb25zZUgAEkgKFnNoYXJlX2dldF9jaGF0X3JlcXVlc3QYLiABKAsyJi5yZXF1ZXN0X2luc2lnaHQuUklTaGFyZUdldENoYXRSZXF1ZXN0SAASSgoXc2hhcmVfZ2V0X2NoYXRfcmVzcG9uc2UYLyABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUklTaGFyZUdldENoYXRSZXNwb25zZUgAElAKG3NtYXJ0X3Bhc3RlX2NsaWVudF90aW1lbGluZRgwIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5TbWFydFBhc3RlQ2xpZW50VGltZWxpbmVIABJHChZzbWFydF9wYXN0ZV9yZXNvbHV0aW9uGDEgASgLMiUucmVxdWVzdF9pbnNpZ2h0LlNtYXJ0UGFzdGVSZXNvbHV0aW9uSAASVgodZ2l0aHViX2FwcF9pbnN0YWxsYXRpb25fZXZlbnQYMiABKAsyLS5yZXF1ZXN0X2luc2lnaHQuUklHaXRodWJBcHBJbnN0YWxsYXRpb25FdmVudEgAElMKG3NsYWNrYm90X2luc3RhbGxhdGlvbl9ldmVudBgzIAEoCzIsLnJlcXVlc3RfaW5zaWdodC5SSVNsYWNrYm90SW5zdGFsbGF0aW9uRXZlbnRIABJIChZpbnN0cnVjdGlvbl9yZXNvbHV0aW9uGDQgASgLMiYucmVxdWVzdF9pbnNpZ2h0Lkluc3RydWN0aW9uUmVzb2x1dGlvbkgAEjwKEGluc3RydWN0aW9uX2VtaXQYNSABKAsyIC5yZXF1ZXN0X2luc2lnaHQuSW5zdHJ1Y3Rpb25FbWl0SAASPgoRc2xhY2tib3RfZmVlZGJhY2sYNiABKAsyIS5yZXF1ZXN0X2luc2lnaHQuU2xhY2tib3RGZWVkYmFja0gAEjgKDWdsZWFuX3JlcXVlc3QYOyABKAsyHy5yZXF1ZXN0X2luc2lnaHQuUklHbGVhblJlcXVlc3RIABI6Cg5nbGVhbl9yZXNwb25zZRg8IAEoCzIgLnJlcXVlc3RfaW5zaWdodC5SSUdsZWFuUmVzcG9uc2VIABJKChdnbGVhbl9vYXV0aF91cmxfcmVxdWVzdBg9IAEoCzInLnJlcXVlc3RfaW5zaWdodC5SSUdsZWFuT0F1dGhVUkxSZXF1ZXN0SAASTAoYZ2xlYW5fb2F1dGhfdXJsX3Jlc3BvbnNlGD4gASgLMigucmVxdWVzdF9pbnNpZ2h0LlJJR2xlYW5PQXV0aFVSTFJlc3BvbnNlSAASTAoYcmVtb3RlX3Rvb2xfY2FsbF9yZXF1ZXN0GEEgASgLMigucmVxdWVzdF9pbnNpZ2h0LlJJUmVtb3RlVG9vbENhbGxSZXF1ZXN0SAASTgoZcmVtb3RlX3Rvb2xfY2FsbF9yZXNwb25zZRhCIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5SSVJlbW90ZVRvb2xDYWxsUmVzcG9uc2VIABI7ChBzdWJfYWdlbnRfZGlhbG9nGEMgASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlN1YkFnZW50RGlhbG9nSAASPwoScHJvbXB0X2NhY2hlX3VzYWdlGEQgASgLMiEucmVxdWVzdF9pbnNpZ2h0LlByb21wdENhY2hlVXNhZ2VIABI1Cg10b29sX3VzZV9kYXRhGEUgASgLMhwucmVxdWVzdF9pbnNpZ2h0LlRvb2xVc2VEYXRhSAASOgoPcm91dGVyX3Jlc3BvbnNlGEYgASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlJvdXRlclJlc3BvbnNlSAASRAoUcG9zdHByb2Nlc3NfcmVzcG9uc2UYRyABKAsyJC5yZXF1ZXN0X2luc2lnaHQuUG9zdHByb2Nlc3NSZXNwb25zZUgAEkEKE2FnZW50X3JlcXVlc3RfZXZlbnQYSCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuQWdlbnRSZXF1ZXN0RXZlbnRIABI4Cg5hZ2VudF9mZWVkYmFjaxhJIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5BZ2VudEZlZWRiYWNrSAASOgoPcmVxdWVzdF9ibG9ja2VkGEogASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RCbG9ja2VkSAASQAoScmVxdWVzdF9zdXNwaWNpb3VzGEsgASgLMiIucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RTdXNwaWNpb3VzSAASQwoUdG9rZW5fZXhjaGFuZ2VfZXJyb3IYTCABKAsyIy5yZXF1ZXN0X2luc2lnaHQuVG9rZW5FeGNoYW5nZUVycm9ySAASNgoMZmluZF9taXNzaW5nGE0gASgLMh4ucmVxdWVzdF9pbnNpZ2h0LlJJRmluZE1pc3NpbmdIABI2CgxiYXRjaF91cGxvYWQYTiABKAsyHi5yZXF1ZXN0X2luc2lnaHQuUklCYXRjaFVwbG9hZEgAElIKHHJlbW90ZV9hZ2VudHNfY3JlYXRlX3JlcXVlc3QYTyABKAsyKi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzQ3JlYXRlUmVxdWVzdEgAElQKHXJlbW90ZV9hZ2VudHNfY3JlYXRlX3Jlc3BvbnNlGFAgASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50c0NyZWF0ZVJlc3BvbnNlSAASTgoacmVtb3RlX2FnZW50c19jaGF0X3JlcXVlc3QYUSABKAsyKC5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzQ2hhdFJlcXVlc3RIABJQChtyZW1vdGVfYWdlbnRzX2NoYXRfcmVzcG9uc2UYUiABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzQ2hhdFJlc3BvbnNlSAASWAofcmVtb3RlX2FnZW50c19pbnRlcnJ1cHRfcmVxdWVzdBhTIAEoCzItLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNJbnRlcnJ1cHRSZXF1ZXN0SAASWgogcmVtb3RlX2FnZW50c19pbnRlcnJ1cHRfcmVzcG9uc2UYVCABKAsyLi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzSW50ZXJydXB0UmVzcG9uc2VIABJSChxyZW1vdGVfYWdlbnRzX2RlbGV0ZV9yZXF1ZXN0GFUgASgLMioucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50c0RlbGV0ZVJlcXVlc3RIABJUCh1yZW1vdGVfYWdlbnRzX2RlbGV0ZV9yZXNwb25zZRhWIAEoCzIrLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNEZWxldGVSZXNwb25zZUgAEloKIXJlbW90ZV9hZ2VudHNfYWRkX3NzaF9rZXlfcmVxdWVzdBhXIAEoCzItLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNBZGRTU0hLZXlSZXF1ZXN0SAASXAoicmVtb3RlX2FnZW50c19hZGRfc3NoX2tleV9yZXNwb25zZRhYIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNBZGRTU0hLZXlSZXNwb25zZUgAElIKHGRhaWx5X3JlcXVlc3RfbGltaXRfZXhjZWVkZWQYWSABKAsyKi5yZXF1ZXN0X2luc2lnaHQuRGFpbHlSZXF1ZXN0TGltaXRFeGNlZWRlZEgAEj0KEWNoYXRfdXNlcl9tZXNzYWdlGFogASgLMiAucmVxdWVzdF9pbnNpZ2h0LkNoYXRVc2VyTWVzc2FnZUgAEkgKFnBhcmVudGhlc2lzX3RydW5jYXRpb24YWyABKAsyJi5yZXF1ZXN0X2luc2lnaHQuUGFyZW50aGVzaXNUcnVuY2F0aW9uSAASRQoVcmVtb3RlX2FnZW50X2ZlZWRiYWNrGFwgASgLMiQucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50RmVlZGJhY2tIABJQChtyZW1vdGVfYWdlbnRzX3BhdXNlX3JlcXVlc3QYXSABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzUGF1c2VSZXF1ZXN0SAASUgoccmVtb3RlX2FnZW50c19wYXVzZV9yZXNwb25zZRheIAEoCzIqLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNQYXVzZVJlc3BvbnNlSAASUgoccmVtb3RlX2FnZW50c19yZXN1bWVfcmVxdWVzdBhfIAEoCzIqLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNSZXN1bWVSZXF1ZXN0SAASVAodcmVtb3RlX2FnZW50c19yZXN1bWVfcmVzcG9uc2UYYCABKAsyKy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzUmVzdW1lUmVzcG9uc2VIABI5Cg5tb2RlbF9hcGlfY2FsbBhhIAEoCzIfLnJlcXVlc3RfaW5zaWdodC5SSU1vZGVsQVBJQ2FsbEgAEmYKJ3JlbW90ZV9hZ2VudHNfcmVzdW1lX2hpbnRfYWdlbnRfcmVxdWVzdBhiIAEoCzIzLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNSZXN1bWVIaW50QWdlbnRSZXF1ZXN0SAASaAoocmVtb3RlX2FnZW50c19yZXN1bWVfaGludF9hZ2VudF9yZXNwb25zZRhjIAEoCzI0LnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNSZXN1bWVIaW50QWdlbnRSZXNwb25zZUgAElIKHHJlbW90ZV9hZ2VudHNfdXBkYXRlX3JlcXVlc3QYZCABKAsyKi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzVXBkYXRlUmVxdWVzdEgAElQKHXJlbW90ZV9hZ2VudHNfdXBkYXRlX3Jlc3BvbnNlGGUgASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50c1VwZGF0ZVJlc3BvbnNlSAASZQomcmVtb3RlX2FnZW50c19nZW5lcmF0ZV9zdW1tYXJ5X3JlcXVlc3QYZiABKAsyMy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzR2VuZXJhdGVTdW1tYXJ5UmVxdWVzdEgAEmcKJ3JlbW90ZV9hZ2VudHNfZ2VuZXJhdGVfc3VtbWFyeV9yZXNwb25zZRhnIAEoCzI0LnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNHZW5lcmF0ZVN1bW1hcnlSZXNwb25zZUgAEj4KEW1lbW9yaWVzX2ZlZWRiYWNrGGggASgLMiEucmVxdWVzdF9pbnNpZ2h0Lk1lbW9yaWVzRmVlZGJhY2tIABI/ChJjbGlfYWdlbnRfZmVlZGJhY2sYaSABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQ2xpQWdlbnRGZWVkYmFja0gAEkoKGGFwaV9odHRwX3JlcXVlc3RfZGV0YWlscxhqIAEoCzImLnJlcXVlc3RfaW5zaWdodC5BcGlIdHRwUmVxdWVzdERldGFpbHNIABJZCiByZXZpZXdfYm90X3B1bGxfcmVxdWVzdF9yZXZpZXdlZBhrIAEoCzItLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RQdWxsUmVxdWVzdFJldmlld2VkSAASTAoZcmV2aWV3X2JvdF9lbW9qaV9yZWFjdGlvbhhsIAEoCzInLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RFbW9qaVJlYWN0aW9uSAASQwoTY2hhdF9tZXRlcmluZ19ldmVudBhtIAEoCzIkLnJlcXVlc3RfaW5zaWdodC5SSUNoYXRNZXRlcmluZ0V2ZW50SAASTAoZcmV2aWV3X2JvdF9hdXRvbWF0ZWRfZXZhbBhuIAEoCzInLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RBdXRvbWF0ZWRFdmFsSAASSgoYcmV2aWV3X2JvdF9wb3N0ZWRfcmV2aWV3GG8gASgLMiYucmVxdWVzdF9pbnNpZ2h0LlJldmlld0JvdFBvc3RlZFJldmlld0gAEkwKGXJldmlld19ib3RfcG9zdGVkX2NvbW1lbnQYcCABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUmV2aWV3Qm90UG9zdGVkQ29tbWVudEgAEk4KGmNoYXRfaW5wdXRfY29tcGxldGlvbl9lbWl0GHEgASgLMigucmVxdWVzdF9pbnNpZ2h0LkNoYXRJbnB1dENvbXBsZXRpb25FbWl0SAASWgogY2hhdF9pbnB1dF9jb21wbGV0aW9uX3Jlc29sdXRpb24YciABKAsyLi5yZXF1ZXN0X2luc2lnaHQuQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb25IABJOChpyZXZpZXdfYm90X3JlcG9zX2Nvbm5lY3RlZBhzIAEoCzIoLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RSZXBvc0Nvbm5lY3RlZEgAEmsKKGFnZW50aWNfc2xhY2tib3RfcmVhY3Rpb25fcmVjZWl2ZWRfZXZlbnQYdCABKAsyNy5yZXF1ZXN0X2luc2lnaHQuUklBZ2VudGljU2xhY2tib3RSZWFjdGlvblJlY2VpdmVkRXZlbnRIABJOChpyZXZpZXdfYm90X2FnZW50X2NvbXBsZXRlZBh2IAEoCzIoLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RBZ2VudENvbXBsZXRlZEgAElMKGmdpdGh1Yl9wdWxsX3JlcXVlc3RfbWVyZ2VkGHcgASgLMi0ucmVxdWVzdF9pbnNpZ2h0LkdpdGh1YlB1bGxSZXF1ZXN0TWVyZ2VkRXZlbnRIABJJChdidXRsZXJfcm91dGluZ19yZXNwb25zZRh4IAEoCzImLnJlcXVlc3RfaW5zaWdodC5CdXRsZXJSb3V0aW5nUmVzcG9uc2VIABI6Cg9jb3Ntb3NfZmVlZGJhY2sYeSABKAsyHy5yZXF1ZXN0X2luc2lnaHQuQ29zbW9zRmVlZGJhY2tIABJZCh5pbnRlZ3JhdGlvbl9pbnN0YWxsYXRpb25fZXZlbnQYeiABKAsyLy5yZXF1ZXN0X2luc2lnaHQuUklJbnRlZ3JhdGlvbkluc3RhbGxhdGlvbkV2ZW50SAASKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoIZXZlbnRfaWQYJSABKAlIAYgBAUIHCgVldmVudEILCglfZXZlbnRfaWRKBAgDEARKBAgEEAVKBAgFEAZKBAg3EDhKBAg4EDlKBAg5EDpKBAg6EDtKBAg/EEBKBAhAEEFKBAgaEBtKBAgeEB9KBAgfECBKBAghECJKBAgiECNKBAgjECRKBAgkECVKBAh1EHZSFGxsbV9nZW5lcmF0ZV9yZXF1ZXN0UhVsbG1fZ2VuZXJhdGVfcmVzcG9uc2VSFm5leHRfZWRpdF9ob3N0X3JlcXVlc3RSF25leHRfZWRpdF9ob3N0X3Jlc3BvbnNlUhJuZXh0X2VkaXRfZmVlZGJhY2tSFG5leHRfZWRpdF9yZXNvbHV0aW9uUg5uZXh0X2VkaXRfZW1pdCLEAgoPUmVxdWVzdE1ldGFkYXRhEjIKDHJlcXVlc3RfdHlwZRgBIAEoDjIcLnJlcXVlc3RfaW5zaWdodC5SZXF1ZXN0VHlwZRISCgpzZXNzaW9uX2lkGAIgASgJEg8KB3VzZXJfaWQYAyABKAkSEgoKdXNlcl9hZ2VudBgEIAEoCRItCg5vcGFxdWVfdXNlcl9pZBgFIAEoCzIVLmF1dGhfZW50aXRpZXMuVXNlcklkEhcKCnVzZXJfZW1haWwYBiABKAlIAIgBARIRCglzb3VyY2VfaXAYByABKAkSKAoIYm90X3R5cGUYCCABKA4yFi5hdXRoX2VudGl0aWVzLkJvdFR5cGUSHAoPY29udmVyc2F0aW9uX2lkGAkgASgJSAGIAQFCDQoLX3VzZXJfZW1haWxCEgoQX2NvbnZlcnNhdGlvbl9pZCJqChFSZXF1ZXN0U3VzcGljaW91cxItCg5vcGFxdWVfdXNlcl9pZBgBIAEoCzIVLmF1dGhfZW50aXRpZXMuVXNlcklkEhIKCnVzZXJfZW1haWwYAiABKAkSEgoKY2hlY2tfdHlwZRgDIAEoCSK0AQoNUmVyYW5rZXJDaHVuaxIMCgR0ZXh0GAEgASgJEgwKBHBhdGgYAiABKAkSEwoLY2hhcl9vZmZzZXQYAyABKAUSEAoIY2hhcl9lbmQYBCABKAUSEQoJYmxvYl9uYW1lGAUgASgJEhMKC2NodW5rX2luZGV4GAYgASgFEg4KBm9yaWdpbhgHIAEoCRINCgVzY29yZRgIIAEoAhIZChFzaG9ydF9kZXNjcmlwdGlvbhgJIAEoCSKKAQoQUmVyYW5rZXJSZXNwb25zZRI3Cg9yZXJhbmtlZF9jaHVua3MYASADKAsyHi5yZXF1ZXN0X2luc2lnaHQuUmVyYW5rZXJDaHVuaxI3ChByZXJhbmtlcl9wcm9tcHRzGAMgAygLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbkoECAIQAyLiAQoOUmV0cmlldmFsQ2h1bmsSDAoEdGV4dBgFIAEoCRIMCgRwYXRoGAYgASgJEhMKC2NoYXJfb2Zmc2V0GAQgASgFEhAKCGNoYXJfZW5kGAcgASgFEhEKCWJsb2JfbmFtZRgCIAEoCRITCgtjaHVua19pbmRleBgDIAEoBRIOCgZvcmlnaW4YCCABKAkSDQoFc2NvcmUYCSABKAISMgoJdGltZXN0YW1wGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgwKCl90aW1lc3RhbXBKBAgBEAIiwQEKEVJldHJpZXZhbFJlc3BvbnNlEjYKDnJldHJpZXZhbF90eXBlGAEgASgOMh4ucmVxdWVzdF9pbnNpZ2h0LlJldHJpZXZhbFR5cGUSOQoQcmV0cmlldmVkX2NodW5rcxgDIAMoCzIfLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxDaHVuaxIzCgxxdWVyeV9wcm9tcHQYBCABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uSgQIAhADItsHChFSZXRyaWV2YWxUb29sRGF0YRIWCg5yZXRyaWV2YWxfbW9kZRgBIAEoCRIYChB0b3RhbF9lbGFwc2VkX21zGAIgASgFEhsKE2FwaV9jYWxsX2VsYXBzZWRfbXMYAyABKAUSGQoRcmVyYW5rX2VsYXBzZWRfbXMYBCABKAUSGQoRZW5yaWNoX2VsYXBzZWRfbXMYBSABKAUSJQodY29kZWJhc2VfcmV0cmlldmFsX2VsYXBzZWRfbXMYBiABKAUSKQohY29udmVyc2F0aW9uX3JldHJpZXZhbF9lbGFwc2VkX21zGAcgASgFEikKIWNvbnZlcnNhdGlvbl9pbml0aWFsX3JldHJpZXZhbF9tcxgIIAEoBRInCh9jb252ZXJzYXRpb25fcXVlcnlfcmV3cml0aW5nX21zGAkgASgFEioKImNvbnZlcnNhdGlvbl9mb2xsb3d1cF9yZXRyaWV2YWxfbXMYCiABKAUSGwoTYmxvYl9uYW1lX2xvb2t1cF9tcxgLIAEoBRIhChljb2RlYmFzZV9jaHVua3NfcmV0cmlldmVkGAwgASgFEiMKG2NvbnZlcnNhdGlvbl9jaHVua3NfaW5pdGlhbBgNIAEoBRImCh5jb252ZXJzYXRpb25fcXVlcmllc19nZW5lcmF0ZWQYDiABKAUSJAocY29udmVyc2F0aW9uX2NodW5rc19mb2xsb3d1cBgPIAEoBRIkChxjb252ZXJzYXRpb25fY2h1bmtzX2NvbWJpbmVkGBAgASgFEigKIGNvbnZlcnNhdGlvbl9jaHVua3NfYWZ0ZXJfcmVyYW5rGBEgASgFEioKImNvZGViYXNlX3Jlc3VsdF9sZW5fcHJlX3RydW5jYXRpb24YEiABKAUSGwoTY29kZWJhc2VfcmVzdWx0X2xlbhgTIAEoBRIuCiZjb252ZXJzYXRpb25fcmVzdWx0X2xlbl9wcmVfdHJ1bmNhdGlvbhgUIAEoBRIfChdjb252ZXJzYXRpb25fcmVzdWx0X2xlbhgVIAEoBRIbChNjb21iaW5lZF9yZXN1bHRfbGVuGBYgASgFEhQKDHRvdGFsX2J1ZGdldBgXIAEoBRIXCg9jb2RlYmFzZV9idWRnZXQYGCABKAUSGwoTY29udmVyc2F0aW9uX2J1ZGdldBgZIAEoBRIaChJjb2RlYmFzZV90cnVuY2F0ZWQYGiABKAgSHgoWY29udmVyc2F0aW9uX3RydW5jYXRlZBgbIAEoCBIXCg9maW5hbF90cnVuY2F0ZWQYHCABKAgSFAoMaXNfc3ViX2FnZW50GB0gASgIIqkBChdSZXZpZXdCb3RBZ2VudENvbXBsZXRlZBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSEgoKcmVwb19vd25lchgCIAEoCRIRCglyZXBvX25hbWUYAyABKAkSEQoJcHJfbnVtYmVyGAQgASgNEg8KB291dGNvbWUYBSABKAkSDwoHYXR0ZW1wdBgGIAEoBRIZChFyZXZpZXdfcmVxdWVzdF9pZBgHIAEoCSKxAgoWUmV2aWV3Qm90QXV0b21hdGVkRXZhbBIUCgxyZXBvX25vZGVfaWQYASABKAkSEQoJcHJfbnVtYmVyGAIgASgNEhcKD3JlbW90ZV9hZ2VudF9pZBgDIAEoCRIRCglhZGRyZXNzZWQYBCABKAgSEgoKY29tbWVudF9pZBgFIAEoCRIYChBwcmltYXJ5X2NhdGVnb3J5GAYgASgJEhMKC3N1YmNhdGVnb3J5GAcgASgJEhsKE2F1Z21lbnRfYm90X2NvbW1lbnQYCCABKAgSHQoVY3VzdG9tX2d1aWRlbGluZV9hcmVhGAkgASgJEhsKE2N1c3RvbV9ndWlkZWxpbmVfaWQYCiABKAkSFwoKYWN0aW9uYWJsZRgLIAEoCEgAiAEBQg0KC19hY3Rpb25hYmxlIm8KFlJldmlld0JvdEVtb2ppUmVhY3Rpb24SFAoMcmVwb19ub2RlX2lkGAEgASgJEhEKCXByX251bWJlchgCIAEoDRIdChVjb21tZW50X2Rpc2N1c3Npb25faWQYAyABKA0SDQoFZW1vamkYBCABKAkiewoWUmV2aWV3Qm90UG9zdGVkQ29tbWVudBIRCglyZXZpZXdfaWQYASABKAkSEgoKY29tbWVudF9pZBgCIAEoCRIRCglwcl9udW1iZXIYAyABKA0SEAoIc2V2ZXJpdHkYBCABKAkSFQoNZnBfbGlrZWxpaG9vZBgFIAEoAiJAChVSZXZpZXdCb3RQb3N0ZWRSZXZpZXcSFAoMbnVtX2NvbW1lbnRzGAEgASgNEhEKCXJldmlld19pZBgCIAEoCSKPCQocUmV2aWV3Qm90UHVsbFJlcXVlc3RSZXZpZXdlZBIUCgxyZXBvX25vZGVfaWQYASABKAkSEQoJcHJfbnVtYmVyGAIgASgNEg8KB3RyaWdnZXIYAyABKAkSFwoPcmVtb3RlX2FnZW50X2lkGAQgASgJEhIKCnJlcG9fb3duZXIYBSABKAkSEQoJcmVwb19uYW1lGAYgASgJEhsKE2F1dGhvcl9naXRodWJfbG9naW4YByABKAkSGwoTYXV0aG9yX2dpdGh1Yl9lbWFpbBgIIAEoCRIdChVhdXRob3JfZ2l0aHViX25vZGVfaWQYCSABKAkSKAobY29tbWVudF9hdXRob3JfZ2l0aHViX2xvZ2luGAogASgJSACIAQESKAobY29tbWVudF9hdXRob3JfZ2l0aHViX2VtYWlsGAsgASgJSAGIAQESKgodY29tbWVudF9hdXRob3JfZ2l0aHViX25vZGVfaWQYDCABKAlIAogBARIYCgtsaW5lc19hZGRlZBgNIAEoDUgDiAEBEhoKDWxpbmVzX3JlbW92ZWQYDiABKA1IBIgBARISCgptb2RlbF9uYW1lGA8gASgJEh0KEGVzdGltYXRlZF90b2tlbnMYECABKA1IBYgBARIYChB1c2VkX2xhcmdlX21vZGVsGBEgASgIEh4KEWRpZmZfcGF0Y2hfbGVuZ3RoGBIgASgDSAaIAQESJQoYY3VzdG9tX2d1aWRlbGluZXNfbGVuZ3RoGBMgASgDSAeIAQESIwoWd29ya3NwYWNlX3J1bGVzX2xlbmd0aBgUIAEoA0gIiAEBEiQKF3dvcmtzcGFjZV9ydWxlc19lbmFibGVkGBUgASgISAmIAQESHgoRcnVsZV9maWxlc19sb2FkZWQYFiABKAVICogBARIlChhleGlzdGluZ19jb21tZW50c19sZW5ndGgYFyABKANIC4gBARIbCg5wcl9ib2R5X2xlbmd0aBgYIAEoA0gMiAEBEiAKE2NoYW5nZWRfZmlsZXNfY291bnQYGSABKAVIDYgBARIUCgdvdXRjb21lGBogASgJSA6IAQFCHgocX2NvbW1lbnRfYXV0aG9yX2dpdGh1Yl9sb2dpbkIeChxfY29tbWVudF9hdXRob3JfZ2l0aHViX2VtYWlsQiAKHl9jb21tZW50X2F1dGhvcl9naXRodWJfbm9kZV9pZEIOCgxfbGluZXNfYWRkZWRCEAoOX2xpbmVzX3JlbW92ZWRCEwoRX2VzdGltYXRlZF90b2tlbnNCFAoSX2RpZmZfcGF0Y2hfbGVuZ3RoQhsKGV9jdXN0b21fZ3VpZGVsaW5lc19sZW5ndGhCGQoXX3dvcmtzcGFjZV9ydWxlc19sZW5ndGhCGgoYX3dvcmtzcGFjZV9ydWxlc19lbmFibGVkQhQKEl9ydWxlX2ZpbGVzX2xvYWRlZEIbChlfZXhpc3RpbmdfY29tbWVudHNfbGVuZ3RoQhEKD19wcl9ib2R5X2xlbmd0aEIWChRfY2hhbmdlZF9maWxlc19jb3VudEIKCghfb3V0Y29tZSKaAQoXUmV2aWV3Qm90UmVwb3NDb25uZWN0ZWQSEwoLdG90YWxfY291bnQYASABKA0SJQodYXV0b19yZXZpZXdfb25fcHJfcmVhZHlfY291bnQYAiABKA0SKwojbWFudWFsX3dpdGhfY29tbWVudF9rZXlwaHJhc2VfY291bnQYAyABKA0SFgoOZGlzYWJsZWRfY291bnQYBCABKA0ingIKDlJvdXRlclJlc3BvbnNlEjQKDXByb21wdF90b2tlbnMYASABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uEjsKD3Jlc3BvbnNlX3Rva2VucxgCIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5Ub2tlbml6YXRpb25IAIgBARJDCg9wYXJzZWRfcmVzcG9uc2UYAyABKAsyJS5yZXF1ZXN0X2luc2lnaHQuUGFyc2VkUm91dGVyUmVzcG9uc2VIAYgBARIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSAKIAQFCEgoQX3Jlc3BvbnNlX3Rva2Vuc0ISChBfcGFyc2VkX3Jlc3BvbnNlQhAKDl9lcnJvcl9tZXNzYWdlItEBChFSdWxlc0ltcG9ydGVkRGF0YRI1CgR0eXBlGAEgASgOMicucmVxdWVzdF9pbnNpZ2h0LlJ1bGVzSW1wb3J0ZWREYXRhLlR5cGUSEQoJbnVtX2ZpbGVzGAIgASgNEg4KBnNvdXJjZRgDIAEoCSJiCgRUeXBlEg8KC1VOU1BFQ0lGSUVEEAASFAoQTUFOVUFMTFlfQ1JFQVRFRBABEggKBEFVVE8QAhIWChJTRUxFQ1RFRF9ESVJFQ1RPUlkQAxIRCg1TRUxFQ1RFRF9GSUxFEAQirAEKElNTSEludGVyYWN0aW9uRGF0YRJNChBpbnRlcmFjdGlvbl90eXBlGAEgASgOMjMucmVxdWVzdF9pbnNpZ2h0LlNTSEludGVyYWN0aW9uRGF0YS5JbnRlcmFjdGlvblR5cGUiRwoPSW50ZXJhY3Rpb25UeXBlEgsKB1VOS05PV04QABILCgdDTElDS0VEEAESGgoWUkVNT1RFX1NFU1NJT05fU1RBUlRFRBACIk8KFlNjcmlwdENhcHR1cmVCYXNpY0RhdGESEgoKc2hlbGxfbmFtZRgBIAEoCRIQCghwbGF0Zm9ybRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIv8OCgxTZXNzaW9uRXZlbnQSSwoYb25ib2FyZGluZ19zZXNzaW9uX2V2ZW50GAQgASgLMicucmVxdWVzdF9pbnNpZ2h0Lk9uYm9hcmRpbmdTZXNzaW9uRXZlbnRIABI2Cg1jbGllbnRfbWV0cmljGAUgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LkNsaWVudE1ldHJpY0gAEkkKF2V4dGVuc2lvbl9zZXNzaW9uX2V2ZW50GAogASgLMiYucmVxdWVzdF9pbnNpZ2h0LkV4dGVuc2lvblNlc3Npb25FdmVudEgAEkwKGWN1c3RvbWVyX3VpX3Nlc3Npb25fZXZlbnQYCyABKAsyJy5yZXF1ZXN0X2luc2lnaHQuQ3VzdG9tZXJVSVNlc3Npb25FdmVudEgAEkEKE2FnZW50X3Nlc3Npb25fZXZlbnQYDCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuQWdlbnRTZXNzaW9uRXZlbnRIABJSChxjb250ZW50X21hbmFnZXJfdXBsb2FkX2Jsb2JzGA0gASgLMioucmVxdWVzdF9pbnNpZ2h0LkNvbnRlbnRNYW5hZ2VyVXBsb2FkQmxvYnNIABJaCiBjb250ZW50X21hbmFnZXJfY2hlY2twb2ludF9ibG9icxgOIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5Db250ZW50TWFuYWdlckNoZWNrcG9pbnRCbG9ic0gAEk4KGnJlbW90ZV9hZ2VudF9zZXNzaW9uX2V2ZW50GA8gASgLMigucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2Vzc2lvbkV2ZW50SAASPAoQcHVyY2hhc2VfY3JlZGl0cxgQIAEoCzIgLnJlcXVlc3RfaW5zaWdodC5QdXJjaGFzZUNyZWRpdHNIABJCChNjYW5jZWxfc3Vic2NyaXB0aW9uGBEgASgLMiMucmVxdWVzdF9pbnNpZ2h0LkNhbmNlbFN1YnNjcmlwdGlvbkgAEnIKLHVuc2NoZWR1bGVfcGVuZGluZ19zdWJzY3JpcHRpb25fY2FuY2VsbGF0aW9uGBIgASgLMjoucmVxdWVzdF9pbnNpZ2h0LlVuc2NoZWR1bGVQZW5kaW5nU3Vic2NyaXB0aW9uQ2FuY2VsbGF0aW9uSAASOwoQcmVtb3RlX2FnZW50X2xvZxgTIAEoCzIfLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudExvZ0gAEkkKF3Vuc2NoZWR1bGVfcGxhbl9jaGFuZ2VzGBUgASgLMiYucmVxdWVzdF9pbnNpZ2h0LlVuc2NoZWR1bGVQbGFuQ2hhbmdlc0gAEkUKFWdpdGh1Yl91c2VyX2F1dGhvcml6ZRgWIAEoCzIkLnJlcXVlc3RfaW5zaWdodC5HaXRodWJVc2VyQXV0aG9yaXplSAASVAodcmVtb3RlX2FnZW50X3dvcmtzcGFjZV91cHRpbWUYFyABKAsyKy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRXb3Jrc3BhY2VVcHRpbWVIABJIChd1c2VyX2dpdGh1Yl9vcmdfbWFwcGluZxgYIAEoCzIlLnJlcXVlc3RfaW5zaWdodC5Vc2VyR2l0aHViT3JnTWFwcGluZ0gAEkAKE2F1dG9fdG9wX3VwX3NldHRpbmcYGSABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQXV0b1RvcFVwU2V0dGluZ0gAEkMKFGNvbW1pdF9zZXNzaW9uX2V2ZW50GBogASgLMiMucmVxdWVzdF9pbnNpZ2h0LkNvbW1pdFNlc3Npb25FdmVudEgAEk8KGmNvbW1pdF9hdHRyaWJ1dGlvbl9zdW1tYXJ5GBsgASgLMikucmVxdWVzdF9pbnNpZ2h0LkNvbW1pdEF0dHJpYnV0aW9uU3VtbWFyeUgAEkAKEmNsb3NlX3N1YnNjcmlwdGlvbhgcIAEoCzIiLnJlcXVlc3RfaW5zaWdodC5DbG9zZVN1YnNjcmlwdGlvbkgAEjMKCXRleHRfZWRpdBgGIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5UZXh0RWRpdEV2ZW50SAASVwocY29tcGxldGlvbl9yZXF1ZXN0X2lkX2lzc3VlZBgHIAEoCzIvLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uUmVxdWVzdElkSXNzdWVkRXZlbnRIABJLChZlZGl0X3JlcXVlc3RfaWRfaXNzdWVkGAggASgLMikucmVxdWVzdF9pbnNpZ2h0LkVkaXRSZXF1ZXN0SWRJc3N1ZWRFdmVudEgAEigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKCGV2ZW50X2lkGAMgASgJSAGIAQFCBwoFZXZlbnRCCwoJX2V2ZW50X2lkSgQIAhADSgQICRAKSgQIFBAVUhduZXh0X2VkaXRfc2Vzc2lvbl9ldmVudFIbbmV4dF9lZGl0X3JlcXVlc3RfaWRfaXNzdWVkUhVmZWF0dXJlX3ZlY3Rvcl9yZXBvcnQiEQoPU2V0dXBQYWdlT3BlbmVkIm8KFlNraWxsQ29udGVudExvYWRlZERhdGESEgoKc2tpbGxfbmFtZRgBIAEoCRIUCgxza2lsbF9zb3VyY2UYAiABKAkSFgoOY29udGVudF9sZW5ndGgYAyABKA0SEwoLc291cmNlX3Rvb2wYBCABKAkiNQoJU2tpbGxJbmZvEhIKCnNraWxsX25hbWUYASABKAkSFAoMc2tpbGxfc291cmNlGAIgASgJIlsKGFNraWxsc0luY2x1ZGVkSW5DaGF0RGF0YRIqCgZza2lsbHMYASADKAsyGi5yZXF1ZXN0X2luc2lnaHQuU2tpbGxJbmZvEhMKC3NraWxsX2NvdW50GAIgASgNIo0BChBTbGFja2JvdEZlZWRiYWNrEiAKGHNsYWNrX3Jlc3BvbnNlX3RpbWVzdGFtcBgBIAEoCRIYChBzbGFja19jaGFubmVsX2lkGAIgASgJEi8KBnJhdGluZxgDIAEoDjIfLnJlcXVlc3RfaW5zaWdodC5GZWVkYmFja1JhdGluZxIMCgRub3RlGAQgASgJIrwBChhTbWFydFBhc3RlQ2xpZW50VGltZWxpbmUSOAoUaW5pdGlhbF9yZXF1ZXN0X3RpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjYKEnN0cmVhbV9maW5pc2hfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKYXBwbHlfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiYAoUU21hcnRQYXN0ZVJlc29sdXRpb24SGgoSaXNfYWNjZXB0ZWRfY2h1bmtzGAEgAygIEhUKDWlzX2FjY2VwdF9hbGwYAiABKAgSFQoNaXNfcmVqZWN0X2FsbBgDIAEoCCIwCg5TdWJBZ2VudERpYWxvZxIeCgZkaWFsb2cYAyADKAsyDi5jaGF0LkV4Y2hhbmdlIqkEChFUYXNrTGlzdFVzYWdlRGF0YRJBCgZhY3Rpb24YASABKA4yMS5yZXF1ZXN0X2luc2lnaHQuVGFza0xpc3RVc2FnZURhdGEuVGFza0xpc3RBY3Rpb24SGQoRdG90YWxfdGFza3NfY291bnQYAiABKA0SRgoMdHJpZ2dlcmVkX2J5GAMgASgOMjAucmVxdWVzdF9pbnNpZ2h0LlRhc2tMaXN0VXNhZ2VEYXRhLkFjdGlvblRyaWdnZXIisgIKDlRhc2tMaXN0QWN0aW9uEg8KC1VOU1BFQ0lGSUVEEAASDAoIQUREX1RBU0sQARIPCgtBRERfU1VCVEFTSxACEhYKElVQREFURV9UQVNLX1NUQVRVUxADEhQKEFVQREFURV9UQVNLX05BTUUQBBIbChdVUERBVEVfVEFTS19ERVNDUklQVElPThAFEhgKFFJFT1JHQU5JWkVfVEFTS19MSVNUEAYSDwoLREVMRVRFX1RBU0sQBxITCg9SVU5fU0lOR0xFX1RBU0sQCBIRCg1SVU5fQUxMX1RBU0tTEAkSEgoOVklFV19UQVNLX0xJU1QQChIUChBFWFBPUlRfVEFTS19MSVNUEAsSFAoQSU1QT1JUX1RBU0tfTElTVBAMEhIKDlNZTkNfVEFTS19MSVNUEA0iOQoNQWN0aW9uVHJpZ2dlchITCg9VTktOT1dOX1RSSUdHRVIQABIICgRVU0VSEAESCQoFQUdFTlQQAiK9AwoNVGV4dEVkaXRFdmVudBI6CgZyZWFzb24YASABKA4yJS5yZXF1ZXN0X2luc2lnaHQuVGV4dEVkaXRFdmVudC5SZWFzb25IAIgBARI3Cg9jb250ZW50X2NoYW5nZXMYAiADKAsyHi5yZXF1ZXN0X2luc2lnaHQuQ29udGVudENoYW5nZRIWCglmaWxlX3BhdGgYAyABKAlIAYgBARIfChJhZnRlcl9jaGFuZ2VzX2hhc2gYBCABKAlIAogBARIwChBoYXNoX2NoYXJfcmFuZ2VzGAUgAygLMhYucmVxdWVzdF9pbnNpZ2h0LlJhbmdlEh8KEnNvdXJjZV9mb2xkZXJfcm9vdBgGIAEoCUgDiAEBEh0KEGFmdGVyX2RvY19sZW5ndGgYByABKA1IBIgBASIwCgZSZWFzb24SEgoOVU5LTk9XTl9SRUFTT04QABIICgRVTkRPEAESCAoEUkVETxACQgkKB19yZWFzb25CDAoKX2ZpbGVfcGF0aEIVChNfYWZ0ZXJfY2hhbmdlc19oYXNoQhUKE19zb3VyY2VfZm9sZGVyX3Jvb3RCEwoRX2FmdGVyX2RvY19sZW5ndGgiUAodVGhpcmRQYXJ0eU1vZGVsTWVzc2FnZUhpc3RvcnkSFAoMdXNlcl9tZXNzYWdlGAEgASgJEhkKEWFzc2lzdGFudF9tZXNzYWdlGAIgASgJIoEBChZUaGlyZFBhcnR5TW9kZWxSZXF1ZXN0Eg4KBnByb21wdBgBIAEoCRIVCg1zeXN0ZW1fcHJvbXB0GAIgASgJEkAKCG1lc3NhZ2VzGAMgAygLMi4ucmVxdWVzdF9pbnNpZ2h0LlRoaXJkUGFydHlNb2RlbE1lc3NhZ2VIaXN0b3J5IsMBChJUb2tlbkV4Y2hhbmdlRXJyb3ISOgoGcmVhc29uGAEgASgOMioucmVxdWVzdF9pbnNpZ2h0LlRva2VuRXhjaGFuZ2VFcnJvci5SZWFzb24SLQoOb3BhcXVlX3VzZXJfaWQYAiABKAsyFS5hdXRoX2VudGl0aWVzLlVzZXJJZBISCgp1c2VyX2VtYWlsGAMgASgJIi4KBlJlYXNvbhILCgdVTktOT1dOEAASFwoTVEVOQU5UX05PVF9JTl9TSEFSRBABIlMKDFRva2VuaXphdGlvbhIRCgl0b2tlbl9pZHMYASADKAUSDwoHb2Zmc2V0cxgCIAMoDRIRCglsb2dfcHJvYnMYAyADKAISDAoEdGV4dBgEIAEoCSLHBgoLVG9vbFVzZURhdGESEQoJdG9vbF9uYW1lGAEgASgJEhMKC3Rvb2xfdXNlX2lkGAIgASgJEiEKFHRvb2xfb3V0cHV0X2lzX2Vycm9yGAMgASgISACIAQESHAoUdG9vbF9ydW5fZHVyYXRpb25fbXMYBCABKA0SEgoKdG9vbF9pbnB1dBgFIAEoCRIYCgtpc19tY3BfdG9vbBgGIAEoCEgBiAEBEhwKD2NvbnZlcnNhdGlvbl9pZBgHIAEoCUgCiAEBEiAKE2NoYXRfaGlzdG9yeV9sZW5ndGgYCCABKA1IA4gBARIcCg90b29sX3JlcXVlc3RfaWQYCSABKAlIBIgBARIcCg90b29sX291dHB1dF9sZW4YCiABKA1IBYgBARIbCg50b29sX2lucHV0X2xlbhgLIAEoDUgGiAEBEh0KEHRvb2xfbGluZXNfYWRkZWQYDCABKA1IB4gBARIfChJ0b29sX2xpbmVzX2RlbGV0ZWQYDSABKA1ICIgBARI4Cg10b29sX3VzZV9kaWZmGA4gASgLMhwucmVxdWVzdF9pbnNpZ2h0LlRvb2xVc2VEaWZmSAmIAQESFwoKbWNwX3NlcnZlchgPIAEoCUgKiAEBEhoKDW1jcF90b29sX25hbWUYECABKAlIC4gBARIdChB0b29sX2Vycm9yX2NsYXNzGBEgASgJSAyIAQESHwoSdG9vbF9lcnJvcl9zbmlwcGV0GBIgASgJSA2IAQFCFwoVX3Rvb2xfb3V0cHV0X2lzX2Vycm9yQg4KDF9pc19tY3BfdG9vbEISChBfY29udmVyc2F0aW9uX2lkQhYKFF9jaGF0X2hpc3RvcnlfbGVuZ3RoQhIKEF90b29sX3JlcXVlc3RfaWRCEgoQX3Rvb2xfb3V0cHV0X2xlbkIRCg9fdG9vbF9pbnB1dF9sZW5CEwoRX3Rvb2xfbGluZXNfYWRkZWRCFQoTX3Rvb2xfbGluZXNfZGVsZXRlZEIQCg5fdG9vbF91c2VfZGlmZkINCgtfbWNwX3NlcnZlckIQCg5fbWNwX3Rvb2xfbmFtZUITChFfdG9vbF9lcnJvcl9jbGFzc0IVChNfdG9vbF9lcnJvcl9zbmlwcGV0IlsKC1Rvb2xVc2VEaWZmEhEKCXJvb3RfcGF0aBgBIAEoCRIMCgRwYXRoGAIgASgJEisKBWVkaXRzGAMgAygLMhwucmVxdWVzdF9pbnNpZ2h0LlRvb2xVc2VFZGl0IkoKC1Rvb2xVc2VFZGl0EhMKC2JlZm9yZV90ZXh0GAEgASgJEhIKCmFmdGVyX3RleHQYAiABKAkSEgoKbGluZV9zdGFydBgDIAEoDSJICilVbnNjaGVkdWxlUGVuZGluZ1N1YnNjcmlwdGlvbkNhbmNlbGxhdGlvbhIbChNvcmJfc3Vic2NyaXB0aW9uX2lkGAEgASgJIjQKFVVuc2NoZWR1bGVQbGFuQ2hhbmdlcxIbChNvcmJfc3Vic2NyaXB0aW9uX2lkGAEgASgJIoUCChRVc2VyR2l0aHViT3JnTWFwcGluZxIKCgJpZBgBIAEoAxINCgVsb2dpbhgCIAEoCRIMCgRuYW1lGAMgASgJEg8KB2NvbXBhbnkYBCABKAkSEAoIbG9jYXRpb24YBSABKAkSDQoFZW1haWwYBiABKAkSGAoQdHdpdHRlcl91c2VybmFtZRgHIAEoCRITCgtkZXNjcmlwdGlvbhgIIAEoCRIXCg9mb2xsb3dlcnNfY291bnQYCSABKAUSEgoKZGlza191c2FnZRgKIAEoBRIRCglwbGFuX25hbWUYCyABKAkSFAoMZmlsbGVkX3NlYXRzGAwgASgFEg0KBXNlYXRzGA0gASgFKjcKDkZlZWRiYWNrUmF0aW5nEgkKBVVOU0VUEAASDAoIUE9TSVRJVkUQARIMCghORUdBVElWRRACKk4KEEluc3RhbGxFdmVudFR5cGUSHgoaVU5LTk9XTl9JTlNUQUxMX0VWRU5UX1RZUEUQABINCglVTklOU1RBTEwQARILCgdJTlNUQUxMEAIqvAUKC1JlcXVlc3RUeXBlEhgKFFVOS05PV05fUkVRVUVTVF9UWVBFEAASDgoKQ09NUExFVElPThABEggKBEVESVQQAhIICgRDSEFUEAMSEwoPRVhURU5TSU9OX0VSUk9SEAQSEQoNU0xBQ0tCT1RfQ0hBVBAGEhMKD1NIQVJFX1NBVkVfQ0hBVBAHEhIKDlNIQVJFX0dFVF9DSEFUEAgSEQoNQVVUT0ZJWF9DSEVDSxAJEhAKDEFVVE9GSVhfUExBThAKEhAKDExMTV9HRU5FUkFURRALEhQKEFJFTU9URV9UT09MX0NBTEwQDBIQCgxSRU1PVEVfQUdFTlQQDRIOCgpBR0VOVF9DSEFUEA4SEAoMTElORUFSX09BVVRIEA8SDAoITUVNT1JJRVMQEBIPCgtPUklFTlRBVElPThAREhgKFE1FTU9SSUVTX0NPTVBSRVNTSU9OEBISFQoRUkVNT1RFX0FHRU5UX0NIQVQQExIUChBSRU1PVEVfQUdFTlRfTE9HEBQSEgoOQ0xJX0FHRU5UX0NIQVQQFRITCg9UT0tFTl9GUk9NX0NPREUQFhIhCh1DTElfQUdFTlRfQ0hBVF9OT05JTlRFUkFDVElWRRAXEhkKFUNIQVRfSU5QVVRfQ09NUExFVElPThAYEg8KC0NPREVfUkVWSUVXEBkSHwobUkVNT1RFX01DUF9TRVJWRVJfVE9PTF9DQUxMEBoSHwobRFlOQU1JQ19DTElFTlRfUkVHSVNUUkFUSU9OEBsSFQoRQUdFTlRJQ19TTEFDS19CT1QQHBIbChdDT05URVhUX0VOR0lORV9TREtfQ0hBVBAdEhsKF0NPTlRFWFRfRU5HSU5FX01DUF9DSEFUEB4SGwoXUE9TRUlET05fQ0xJX0FHRU5UX0NIQVQQHyIECAUQBSoJTkVYVF9FRElUKm0KDVJldHJpZXZhbFR5cGUSGgoWVU5LTk9XTl9SRVRSSUVWQUxfVFlQRRAAEgkKBURFTlNFEAESDQoJU0lHTkFUVVJFEAISCwoHUkVDRU5DWRADEg8KC1VTRVJfR1VJREVEEAQSCAoERElGRhAFKkQKEVNvdXJjZUNvbnRyb2xUeXBlEhoKFlVOS05PV05fU09VUkNFX0NPTlRST0wQABIHCgNHSVQQARIKCgZHSVRIVUIQAmIGcHJvdG8z",[Vt,za,ee,Yn,HZ,qZ,$e,e2,yn,t2,n2,r2,Da,l2,f2,m2]);var A2;(function(e){e[e.UNKNOWN_TOP_UP_ACTION=0]="UNKNOWN_TOP_UP_ACTION",e[e.ENABLED=1]="ENABLED",e[e.DISABLED=2]="DISABLED"})(A2||(A2={}));var V2;(function(e){e[e.CHAT=0]="CHAT",e[e.AGENT=1]="AGENT",e[e.MEMORIES=2]="MEMORIES",e[e.ORIENTATION=3]="ORIENTATION",e[e.MEMORIES_COMPRESSION=4]="MEMORIES_COMPRESSION",e[e.REMOTE_AGENT=5]="REMOTE_AGENT",e[e.CLI_AGENT=6]="CLI_AGENT",e[e.CLI_NONINTERACTIVE=7]="CLI_NONINTERACTIVE",e[e.CODE_REVIEW=8]="CODE_REVIEW",e[e.AGENTIC_SLACK_BOT=9]="AGENTIC_SLACK_BOT",e[e.CONTEXT_ENGINE_SDK=10]="CONTEXT_ENGINE_SDK",e[e.CONTEXT_ENGINE_MCP=11]="CONTEXT_ENGINE_MCP",e[e.POSEIDON_CLI_AGENT=12]="POSEIDON_CLI_AGENT"})(V2||(V2={}));var g2;(function(e){e[e.UNKNOWN_FILTER_REASON=0]="UNKNOWN_FILTER_REASON",e[e.NOT_FILTERED=1]="NOT_FILTERED",e[e.LOW_QUALITY=2]="LOW_QUALITY",e[e.DENY_LIST=3]="DENY_LIST"})(g2||(g2={}));var p2;(function(e){e[e.UNKNOWN_SESSION_END_REASON=0]="UNKNOWN_SESSION_END_REASON",e[e.LOGOUT=1]="LOGOUT",e[e.TIMEOUT=2]="TIMEOUT"})(p2||(p2={}));var E2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ONBOARDING=1]="ONBOARDING",e[e.COMMAND=2]="COMMAND"})(E2||(E2={}));var R2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.USER_GUIDELINES=1]="USER_GUIDELINES",e[e.AUGMENT_GUIDELINES=2]="AUGMENT_GUIDELINES",e[e.RULES=3]="RULES"})(R2||(R2={}));var Z2;(function(e){e[e.UNKNOWN_MODE=0]="UNKNOWN_MODE",e[e.CHAT=1]="CHAT",e[e.AGENT=2]="AGENT",e[e.REMOTE_AGENT=3]="REMOTE_AGENT"})(Z2||(Z2={}));var S2;(function(e){e[e.UNKNOWN_MODE_SELECTOR_ACTION=0]="UNKNOWN_MODE_SELECTOR_ACTION",e[e.OPEN=1]="OPEN",e[e.CLOSE=2]="CLOSE",e[e.SELECT=3]="SELECT",e[e.INIT=4]="INIT"})(S2||(S2={}));var X2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.ACTIVATED=1]="ACTIVATED",e[e.DEACTIVATED=2]="DEACTIVATED",e[e.NOTIFIED=4]="NOTIFIED",e[e.ACCEPTED=3]="ACCEPTED"})(X2||(X2={}));var W2;(function(e){e[e.UNKNOWN_CHANNEL_TYPE=0]="UNKNOWN_CHANNEL_TYPE",e[e.IM=1]="IM",e[e.MPIM=2]="MPIM",e[e.SHARED_CHANNEL=3]="SHARED_CHANNEL",e[e.PRIVATE_CHANNEL=4]="PRIVATE_CHANNEL",e[e.GENERAL_CHANNEL=5]="GENERAL_CHANNEL",e[e.CHANNEL=6]="CHANNEL"})(W2||(W2={}));var G2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CLASSIFY_AND_DISTILL=1]="CLASSIFY_AND_DISTILL",e[e.ORIENTATION=2]="ORIENTATION",e[e.MEMORY_ACCEPTANCE=3]="MEMORY_ACCEPTANCE"})(G2||(G2={}));var I2;(function(e){e[e.UNKNOWN_LATENCY_TYPE=0]="UNKNOWN_LATENCY_TYPE",e[e.CREATE_AGENT=1]="CREATE_AGENT",e[e.RESUME_AGENT=2]="RESUME_AGENT"})(I2||(I2={}));var N2;(function(e){e[e.UNKNOWN_NEW_THREAD_BUTTON_ACTION=0]="UNKNOWN_NEW_THREAD_BUTTON_ACTION",e[e.CLICK=1]="CLICK",e[e.OPEN=2]="OPEN",e[e.CLOSE=3]="CLOSE"})(N2||(N2={}));var F2;(function(e){e[e.UNKNOWN_THREAD_TYPE=0]="UNKNOWN_THREAD_TYPE",e[e.CHAT=1]="CHAT",e[e.AGENT=2]="AGENT",e[e.REMOTE_AGENT=3]="REMOTE_AGENT"})(F2||(F2={}));var B2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COMPLETED=1]="COMPLETED",e[e.FAILED=2]="FAILED"})(B2||(B2={}));var C2;(function(e){e[e.UNKNOWN_SETUP_WINDOW_ACTION=0]="UNKNOWN_SETUP_WINDOW_ACTION",e[e.OPEN=1]="OPEN",e[e.CLOSE=2]="CLOSE",e[e.SELECT_REPO=3]="SELECT_REPO",e[e.SELECT_BRANCH=4]="SELECT_BRANCH",e[e.SELECT_SETUP_SCRIPT=5]="SELECT_SETUP_SCRIPT",e[e.AUTO_GENERATE_SETUP_SCRIPT=6]="AUTO_GENERATE_SETUP_SCRIPT",e[e.MANUALLY_CREATE_SETUP_SCRIPT=7]="MANUALLY_CREATE_SETUP_SCRIPT",e[e.TYPE_IN_PROMPT_WINDOW=8]="TYPE_IN_PROMPT_WINDOW",e[e.CLICK_REWRITE_PROMPT=9]="CLICK_REWRITE_PROMPT",e[e.ENABLE_NOTIFICATIONS=10]="ENABLE_NOTIFICATIONS",e[e.DISABLE_NOTIFICATIONS=11]="DISABLE_NOTIFICATIONS",e[e.CLICK_CREATE_AGENT=12]="CLICK_CREATE_AGENT"})(C2||(C2={}));var Y2;(function(e){e[e.UNKNOWN_AGENT_LIST_ACTION=0]="UNKNOWN_AGENT_LIST_ACTION",e[e.OPEN=1]="OPEN",e[e.CLOSE=2]="CLOSE",e[e.SELECT_AGENT=3]="SELECT_AGENT",e[e.DELETE_AGENT=4]="DELETE_AGENT",e[e.PIN_AGENT=5]="PIN_AGENT",e[e.UNPIN_AGENT=6]="UNPIN_AGENT"})(Y2||(Y2={}));var y2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MANUALLY_CREATED=1]="MANUALLY_CREATED",e[e.AUTO=2]="AUTO",e[e.SELECTED_DIRECTORY=3]="SELECTED_DIRECTORY",e[e.SELECTED_FILE=4]="SELECTED_FILE"})(y2||(y2={}));var U2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CLICKED=1]="CLICKED",e[e.REMOTE_SESSION_STARTED=2]="REMOTE_SESSION_STARTED"})(U2||(U2={}));var w2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ADD_TASK=1]="ADD_TASK",e[e.ADD_SUBTASK=2]="ADD_SUBTASK",e[e.UPDATE_TASK_STATUS=3]="UPDATE_TASK_STATUS",e[e.UPDATE_TASK_NAME=4]="UPDATE_TASK_NAME",e[e.UPDATE_TASK_DESCRIPTION=5]="UPDATE_TASK_DESCRIPTION",e[e.REORGANIZE_TASK_LIST=6]="REORGANIZE_TASK_LIST",e[e.DELETE_TASK=7]="DELETE_TASK",e[e.RUN_SINGLE_TASK=8]="RUN_SINGLE_TASK",e[e.RUN_ALL_TASKS=9]="RUN_ALL_TASKS",e[e.VIEW_TASK_LIST=10]="VIEW_TASK_LIST",e[e.EXPORT_TASK_LIST=11]="EXPORT_TASK_LIST",e[e.IMPORT_TASK_LIST=12]="IMPORT_TASK_LIST",e[e.SYNC_TASK_LIST=13]="SYNC_TASK_LIST"})(w2||(w2={}));var x2;(function(e){e[e.UNKNOWN_TRIGGER=0]="UNKNOWN_TRIGGER",e[e.USER=1]="USER",e[e.AGENT=2]="AGENT"})(x2||(x2={}));var v2;(function(e){e[e.UNKNOWN_REASON=0]="UNKNOWN_REASON",e[e.UNDO=1]="UNDO",e[e.REDO=2]="REDO"})(v2||(v2={}));var J2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TENANT_NOT_IN_SHARD=1]="TENANT_NOT_IN_SHARD"})(J2||(J2={}));var k2;(function(e){e[e.UNSET=0]="UNSET",e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=2]="NEGATIVE"})(k2||(k2={}));var _2;(function(e){e[e.UNKNOWN_INSTALL_EVENT_TYPE=0]="UNKNOWN_INSTALL_EVENT_TYPE",e[e.UNINSTALL=1]="UNINSTALL",e[e.INSTALL=2]="INSTALL"})(_2||(_2={}));var Q2;(function(e){e[e.UNKNOWN_REQUEST_TYPE=0]="UNKNOWN_REQUEST_TYPE",e[e.COMPLETION=1]="COMPLETION",e[e.EDIT=2]="EDIT",e[e.CHAT=3]="CHAT",e[e.EXTENSION_ERROR=4]="EXTENSION_ERROR",e[e.SLACKBOT_CHAT=6]="SLACKBOT_CHAT",e[e.SHARE_SAVE_CHAT=7]="SHARE_SAVE_CHAT",e[e.SHARE_GET_CHAT=8]="SHARE_GET_CHAT",e[e.AUTOFIX_CHECK=9]="AUTOFIX_CHECK",e[e.AUTOFIX_PLAN=10]="AUTOFIX_PLAN",e[e.LLM_GENERATE=11]="LLM_GENERATE",e[e.REMOTE_TOOL_CALL=12]="REMOTE_TOOL_CALL",e[e.REMOTE_AGENT=13]="REMOTE_AGENT",e[e.AGENT_CHAT=14]="AGENT_CHAT",e[e.LINEAR_OAUTH=15]="LINEAR_OAUTH",e[e.MEMORIES=16]="MEMORIES",e[e.ORIENTATION=17]="ORIENTATION",e[e.MEMORIES_COMPRESSION=18]="MEMORIES_COMPRESSION",e[e.REMOTE_AGENT_CHAT=19]="REMOTE_AGENT_CHAT",e[e.REMOTE_AGENT_LOG=20]="REMOTE_AGENT_LOG",e[e.CLI_AGENT_CHAT=21]="CLI_AGENT_CHAT",e[e.TOKEN_FROM_CODE=22]="TOKEN_FROM_CODE",e[e.CLI_AGENT_CHAT_NONINTERACTIVE=23]="CLI_AGENT_CHAT_NONINTERACTIVE",e[e.CHAT_INPUT_COMPLETION=24]="CHAT_INPUT_COMPLETION",e[e.CODE_REVIEW=25]="CODE_REVIEW",e[e.REMOTE_MCP_SERVER_TOOL_CALL=26]="REMOTE_MCP_SERVER_TOOL_CALL",e[e.DYNAMIC_CLIENT_REGISTRATION=27]="DYNAMIC_CLIENT_REGISTRATION",e[e.AGENTIC_SLACK_BOT=28]="AGENTIC_SLACK_BOT",e[e.CONTEXT_ENGINE_SDK_CHAT=29]="CONTEXT_ENGINE_SDK_CHAT",e[e.CONTEXT_ENGINE_MCP_CHAT=30]="CONTEXT_ENGINE_MCP_CHAT",e[e.POSEIDON_CLI_AGENT_CHAT=31]="POSEIDON_CLI_AGENT_CHAT"})(Q2||(Q2={}));var T2;(function(e){e[e.UNKNOWN_RETRIEVAL_TYPE=0]="UNKNOWN_RETRIEVAL_TYPE",e[e.DENSE=1]="DENSE",e[e.SIGNATURE=2]="SIGNATURE",e[e.RECENCY=3]="RECENCY",e[e.USER_GUIDED=4]="USER_GUIDED",e[e.DIFF=5]="DIFF"})(T2||(T2={}));var K2;(function(e){e[e.UNKNOWN_SOURCE_CONTROL=0]="UNKNOWN_SOURCE_CONTROL",e[e.GIT=1]="GIT",e[e.GITHUB=2]="GITHUB"})(K2||(K2={}));var D2=k("CjdzZXJ2aWNlcy9saWIvZ3JwYy9jb25uZWN0X2ZvcndhcmQvZm9yd2FyZF9vcHRpb25zLnByb3RvEg9mb3J3YXJkX29wdGlvbnMiRAoXUmVxdWlyZWRGZWF0dXJlRmxhZ0Jvb2wSEQoJZmxhZ19uYW1lGAEgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAIgASgIIkYKGVJlcXVpcmVkRmVhdHVyZUZsYWdTdHJpbmcSEQoJZmxhZ19uYW1lGAEgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAIgASgJOlAKE2ZvcndhcmRfbWV0aG9kX25hbWUSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjThgMgASgJUhFmb3J3YXJkTWV0aG9kTmFtZTphChxza2lwX3RlbmFudF91c2VyX2VuZm9yY2VtZW50Eh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY1IYDIAEoCFIZc2tpcFRlbmFudFVzZXJFbmZvcmNlbWVudDpZChhza2lwX3VzZXJfaWRfZW5mb3JjZW1lbnQSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjVhgMgASgIUhVza2lwVXNlcklkRW5mb3JjZW1lbnQ6SQoPZW50ZXJwcmlzZV9vbmx5Eh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY1oYDIAEoCFIOZW50ZXJwcmlzZU9ubHk6hwEKGnJlcXVpcmVkX2ZlYXR1cmVfZmxhZ19ib29sEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY14YDIAMoCzIoLmZvcndhcmRfb3B0aW9ucy5SZXF1aXJlZEZlYXR1cmVGbGFnQm9vbFIXcmVxdWlyZWRGZWF0dXJlRmxhZ0Jvb2w6jQEKHHJlcXVpcmVkX2ZlYXR1cmVfZmxhZ19zdHJpbmcSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjYhgMgAygLMiouZm9yd2FyZF9vcHRpb25zLlJlcXVpcmVkRmVhdHVyZUZsYWdTdHJpbmdSGXJlcXVpcmVkRmVhdHVyZUZsYWdTdHJpbmc6QwoMc2tpcF9jb2RlZ2VuEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY2YYDIAEoCFILc2tpcENvZGVnZW46PwoKYWRtaW5fb25seRIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGNqGAyABKAhSCWFkbWluT25seTpRChNyZXF1aXJlZF9wZXJtaXNzaW9uEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY24YDIAMoCVIScmVxdWlyZWRQZXJtaXNzaW9uYgZwcm90bzM",[nn]);var La=k("CihzZXJ2aWNlcy93ZWJfcnBjX3Byb3h5L2ZsZWV0X3Byb3h5LnByb3RvEg13ZWJfcnBjX3Byb3h5IiYKFEZsZWV0U3RyaW5nTGlzdFZhbHVlEg4KBnZhbHVlcxgBIAMoCSLxAQoXRmxlZXRDb25maWd1cmF0aW9uVmFsdWUSCwoDa2V5GAEgASgJEhQKCnRleHRfdmFsdWUYAiABKAlIABJAChFzdHJpbmdfbGlzdF92YWx1ZRgDIAEoCzIjLndlYl9ycGNfcHJveHkuRmxlZXRTdHJpbmdMaXN0VmFsdWVIABIYCg5lbnZpcm9ubWVudF9pZBgEIAEoCUgAEhoKEHNlY3JldF9yZWZlcmVuY2UYBSABKAlIABIZCg9pbnRlZ3JhdGlvbl9rZXkYBiABKAlIABIXCg1ib29sZWFuX3ZhbHVlGAcgASgISABCBwoFdmFsdWUilQIKFUFwcGx5RmxlZXRGbG93UmVxdWVzdBIQCghzcGFjZV9pZBgBIAEoCRIQCghmbG93X2tleRgCIAEoCRITCgt2YXJpYW50X2tleRgDIAEoCRIXCg9jYXRhbG9nX3ZlcnNpb24YBCABKAUSPQoNY29uZmlndXJhdGlvbhgFIAMoCzImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uVmFsdWUSFwoPaWRlbXBvdGVuY3lfa2V5GAYgASgJEjIKC3J1bl9hc19tb2RlGAcgASgOMh0ud2ViX3JwY19wcm94eS5GbGVldFJ1bkFzTW9kZRIeChZzZWxlY3RlZF9hY3Rvcl91c2VyX2lkGAggASgJIjsKFEZsZWV0SW5zdGFsbGVkRXhwZXJ0EhAKCHNsb3Rfa2V5GAEgASgJEhEKCWV4cGVydF9pZBgCIAEoCSLwAQoWQXBwbHlGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSLwoGc3RhdHVzGAIgASgOMh8ud2ViX3JwY19wcm94eS5GbGVldEFwcGx5U3RhdHVzEhEKCWV4cGVydF9pZBgDIAEoCRIZChFpZGVtcG90ZW50X3JlcGxheRgEIAEoCBI+ChFpbnN0YWxsZWRfZXhwZXJ0cxgFIAMoCzIjLndlYl9ycGNfcHJveHkuRmxlZXRJbnN0YWxsZWRFeHBlcnQSHgoWZGlzYWJsZWRfdHJpZ2dlcl9jb3VudBgGIAEoBSJBChNBcm1GbGVldEZsb3dSZXF1ZXN0EhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRIRCgljb25maXJtZWQYAiABKAgidgoUQXJtRmxlZXRGbG93UmVzcG9uc2USFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEg0KBWFybWVkGAIgASgIEhsKE2FybWVkX3RyaWdnZXJfY291bnQYAyABKAUSGQoRaWRlbXBvdGVudF9yZXBsYXkYBCABKAgiSAoaRGVhY3RpdmF0ZUZsZWV0Rmxvd1JlcXVlc3QSFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEhEKCWNvbmZpcm1lZBgCIAEoCCJ0ChtEZWFjdGl2YXRlRmxlZXRGbG93UmVzcG9uc2USFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEiEKGWRlYWN0aXZhdGVkX3RyaWdnZXJfY291bnQYAiABKAUSGQoRaWRlbXBvdGVudF9yZXBsYXkYAyABKAgiRwoZVW5pbnN0YWxsRmxlZXRGbG93UmVxdWVzdBIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSEQoJY29uZmlybWVkGAIgASgIIvUBChpVbmluc3RhbGxGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSHAoUZGVsZXRlZF9leHBlcnRfY291bnQYAiABKAUSHgoWZGVsZXRlZF93b3JrZmxvd19jb3VudBgDIAEoBRIZChFpZGVtcG90ZW50X3JlcGxheRgEIAEoCBJLChNyZW1haW5pbmdfcmVzb3VyY2VzGAUgAygLMi4ud2ViX3JwY19wcm94eS5GbGVldFVuaW5zdGFsbFJlbWFpbmluZ1Jlc291cmNlEhgKEGNsZWFudXBfY29tcGxldGUYBiABKAgiTQofRmxlZXRVbmluc3RhbGxSZW1haW5pbmdSZXNvdXJjZRIVCg1yZXNvdXJjZV90eXBlGAEgASgJEhMKC3Jlc291cmNlX2lkGAIgASgJIvABChlDb25maWd1cmVGbGVldEZsb3dSZXF1ZXN0EhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRI9Cg1jb25maWd1cmF0aW9uGAIgAygLMiYud2ViX3JwY19wcm94eS5GbGVldENvbmZpZ3VyYXRpb25WYWx1ZRIjChtleHBlY3RlZF9jb25maWd1cmF0aW9uX2hhc2gYBSABKAkSPwoJaW5zdGFuY2VzGAMgAygLMiwud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSW5zdGFuY2VJbnB1dBIVCg1oYXNfaW5zdGFuY2VzGAQgASgIIooBCh1GbGVldEluc3RhbGxhYmxlSW5zdGFuY2VJbnB1dBITCgtpbnN0YW5jZV9pZBgBIAEoCRIXCg9pbnN0YWxsYWJsZV9rZXkYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEg8KB2VuYWJsZWQYBCABKAgSFAoMZXh0cmFfcHJvbXB0GAUgASgJIvYBChpDb25maWd1cmVGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSQwoTY29uZmlndXJhdGlvbl9zdGF0ZRgCIAEoDjImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uU3RhdGUSIgoabWlzc2luZ19jb25maWd1cmF0aW9uX2tleXMYAyADKAkSOgoJaW5zdGFuY2VzGAQgAygLMicud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSW5zdGFuY2USGgoSY29uZmlndXJhdGlvbl9oYXNoGAUgASgJIkQKFlJlcGFpckZsZWV0Rmxvd1JlcXVlc3QSFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEhEKCWNvbmZpcm1lZBgCIAEoCCJ4ChdSZXBhaXJGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSHQoVcmVzdG9yZWRfZXhwZXJ0X2NvdW50GAIgASgFEiUKHXJlc3RvcmVkX3dvcmtmbG93X2FjdG9yX2NvdW50GAMgASgFIlcKHEdldEZsZWV0Rmxvd0xpZmVjeWNsZVJlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkSEAoIZmxvd19rZXkYAiABKAkSEwoLdmFyaWFudF9rZXkYAyABKAkitwEKEkZsZWV0TWFuYWdlZEV4cGVydBIQCghzbG90X2tleRgBIAEoCRIRCglleHBlcnRfaWQYAiABKAkSDwoHbWFuYWdlZBgDIAEoCBIVCg1hY3Rvcl91c2VyX2lkGAQgASgJEhgKEGFjdG9yX292ZXJyaWRkZW4YBSABKAgSDAoEbmFtZRgGIAEoCRITCgtpbnN0YW5jZV9pZBgHIAEoCRIXCg9pbnN0YWxsYWJsZV9rZXkYCCABKAkizAYKEkZsZWV0Rmxvd0xpZmVjeWNsZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSEAoIZmxvd19rZXkYAiABKAkSEwoLdmFyaWFudF9rZXkYAyABKAkSLwoGc3RhdHVzGAQgASgOMh8ud2ViX3JwY19wcm94eS5GbGVldEFwcGx5U3RhdHVzEjIKB2V4cGVydHMYBSADKAsyIS53ZWJfcnBjX3Byb3h5LkZsZWV0TWFuYWdlZEV4cGVydBIeChZkaXNhYmxlZF90cmlnZ2VyX2NvdW50GAYgASgFEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKEW1hbmFnZXJfZXhwZXJ0X2lkGAkgASgJEj8KFGFsbG93ZWRfbmV4dF9hY3Rpb25zGAsgAygOMiEud2ViX3JwY19wcm94eS5GbGVldEFsbG93ZWRBY3Rpb24SQwoTY29uZmlndXJhdGlvbl9zdGF0ZRgMIAEoDjImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uU3RhdGUSIgoabWlzc2luZ19jb25maWd1cmF0aW9uX2tleXMYDSADKAkSGAoQcmVwb3NpdG9yeV9zY29wZRgOIAMoCRIXCg90cmlnZ2Vyc19hY3RpdmUYDyABKAgSFQoNYWN0b3JfdXNlcl9pZBgQIAEoCRIyCgtydW5fYXNfbW9kZRgRIAEoDjIdLndlYl9ycGNfcHJveHkuRmxlZXRSdW5Bc01vZGUSGAoQYWN0b3Jfb3ZlcnJpZGRlbhgSIAEoCBIXCg9pZGVtcG90ZW5jeV9rZXkYEyABKAkSMwoLYWN0b3Jfc3RhdGUYFCABKA4yHi53ZWJfcnBjX3Byb3h5LkZsZWV0QWN0b3JTdGF0ZRI6CglpbnN0YW5jZXMYFSADKAsyJy53ZWJfcnBjX3Byb3h5LkZsZWV0SW5zdGFsbGFibGVJbnN0YW5jZRIqCiJ1bmV4cGVjdGVkbHlfZW5hYmxlZF90cmlnZ2VyX2NvdW50GBYgASgFIoUBChhGbGVldEluc3RhbGxhYmxlSW5zdGFuY2USEwoLaW5zdGFuY2VfaWQYASABKAkSFwoPaW5zdGFsbGFibGVfa2V5GAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRIPCgdlbmFibGVkGAQgASgIEhQKDGV4dHJhX3Byb21wdBgFIAEoCSJZCh1HZXRGbGVldEZsb3dMaWZlY3ljbGVSZXNwb25zZRI4Cg1pbnN0YWxsYXRpb25zGAEgAygLMiEud2ViX3JwY19wcm94eS5GbGVldEZsb3dMaWZlY3ljbGUiMQodTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1JlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkiWgoeTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1Jlc3BvbnNlEjgKDWluc3RhbGxhdGlvbnMYASADKAsyIS53ZWJfcnBjX3Byb3h5LkZsZWV0Rmxvd0xpZmVjeWNsZSI/CiRHZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudFJlcXVlc3QSFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJIscCCiVHZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudFJlc3BvbnNlEhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRIXCg9jYXRhbG9nX3ZlcnNpb24YAiABKAUSEAoIZmxvd19rZXkYAyABKAkSEwoLdmFyaWFudF9rZXkYBCABKAkSPQoNY29uZmlndXJhdGlvbhgFIAMoCzImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uVmFsdWUSOgoJaW5zdGFuY2VzGAYgAygLMicud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSW5zdGFuY2USGgoSY29uZmlndXJhdGlvbl9oYXNoGAcgASgJEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIioKFkdldEZsZWV0Q2F0YWxvZ1JlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkizAEKF0dldEZsZWV0Q2F0YWxvZ1Jlc3BvbnNlEj0KDGF2YWlsYWJpbGl0eRgBIAEoDjInLndlYl9ycGNfcHJveHkuRmxlZXRDYXRhbG9nQXZhaWxhYmlsaXR5EhcKD2NhdGFsb2dfdmVyc2lvbhgCIAEoBRInCgVmbG93cxgDIAMoCzIYLndlYl9ycGNfcHJveHkuRmxlZXRGbG93EjAKCmNhdGVnb3JpZXMYBCADKAsyHC53ZWJfcnBjX3Byb3h5LkZsZWV0Q2F0ZWdvcnkiRgoQRmxlZXRSZXF1aXJlbWVudBILCgNrZXkYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIcmVxdWlyZWQYAyABKAgijgEKEUZsZWV0QXZhaWxhYmlsaXR5EjQKBXN0YXRlGAEgASgOMiUud2ViX3JwY19wcm94eS5GbGVldEF2YWlsYWJpbGl0eVN0YXRlEj0KFG1pc3NpbmdfcmVxdWlyZW1lbnRzGAMgAygLMh8ud2ViX3JwY19wcm94eS5GbGVldFJlcXVpcmVtZW50SgQIAhADIlYKDUZsZWV0Q29yZVNsb3QSCwoDa2V5GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCHJlcXVpcmVkGAMgASgIEhEKCWZ1bGZpbGxlZBgEIAEoCCLuAgoMRmxlZXRWYXJpYW50EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjYKDGF2YWlsYWJpbGl0eRgFIAEoCzIgLndlYl9ycGNfcHJveHkuRmxlZXRBdmFpbGFiaWxpdHkSMAoKY29yZV9zbG90cxgGIAMoCzIcLndlYl9ycGNfcHJveHkuRmxlZXRDb3JlU2xvdBI6Cg9hbGxvd2VkX2FjdGlvbnMYByADKA4yIS53ZWJfcnBjX3Byb3h5LkZsZWV0QWxsb3dlZEFjdGlvbhJDChNpbnN0YWxsYXRpb25fc3RhdHVzGAggASgOMiYud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhdGlvblN0YXR1cxIUCgxleHBlcnRfbmFtZXMYCSADKAkSLQoEa2luZBgKIAEoDjIfLndlYl9ycGNfcHJveHkuRmxlZXRWYXJpYW50S2luZCJCChBGbGVldFNldHVwT3B0aW9uEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJImEKE0ZsZWV0U2V0dXBDb25kaXRpb24SCwoDa2V5GAEgASgJEhgKDmJvb2xlYW5fZXF1YWxzGAIgASgISAASFwoNY2hvaWNlX2VxdWFscxgDIAEoCUgAQgoKCGV4cGVjdGVkIqQCCg9GbGVldFNldHVwSW5wdXQSCwoDa2V5GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEjAKBHR5cGUYAyABKA4yIi53ZWJfcnBjX3Byb3h5LkZsZWV0U2V0dXBJbnB1dFR5cGUSEAoIcmVxdWlyZWQYBCABKAgSFQoNZGVmYXVsdF92YWx1ZRgFIAEoCRIwCgdvcHRpb25zGAYgAygLMh8ud2ViX3JwY19wcm94eS5GbGVldFNldHVwT3B0aW9uEjgKDHZpc2libGVfd2hlbhgIIAEoCzIiLndlYl9ycGNfcHJveHkuRmxlZXRTZXR1cENvbmRpdGlvbhIRCgltdWx0aWxpbmUYCSABKAhKBAgHEAhSD2VtcHR5X21lYW5zX2FsbCJAChxGbGVldFBhcnRpY2lwYXRpb25NZXRyaWNQYXJ0EgsKA2tleRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSKcAQoYRmxlZXRQYXJ0aWNpcGF0aW9uTWV0cmljEj4KCW51bWVyYXRvchgBIAEoCzIrLndlYl9ycGNfcHJveHkuRmxlZXRQYXJ0aWNpcGF0aW9uTWV0cmljUGFydBJACgtkZW5vbWluYXRvchgCIAEoCzIrLndlYl9ycGNfcHJveHkuRmxlZXRQYXJ0aWNpcGF0aW9uTWV0cmljUGFydCLoAQoSRmxlZXRQYXJ0aWNpcGF0aW9uEjMKBG1vZGUYASABKA4yJS53ZWJfcnBjX3Byb3h5LkZsZWV0UGFydGljaXBhdGlvbk1vZGUSOQoHY2FkZW5jZRgCIAEoDjIoLndlYl9ycGNfcHJveHkuRmxlZXRQYXJ0aWNpcGF0aW9uQ2FkZW5jZRIpCgZhY3RvcnMYAyADKA4yGS53ZWJfcnBjX3Byb3h5LkZsZWV0QWN0b3ISNwoGbWV0cmljGAQgASgLMicud2ViX3JwY19wcm94eS5GbGVldFBhcnRpY2lwYXRpb25NZXRyaWMiKgoNRmxlZXRDYXRlZ29yeRILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCSKYBAoJRmxlZXRGbG93EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEjYKDGF2YWlsYWJpbGl0eRgHIAEoCzIgLndlYl9ycGNfcHJveHkuRmxlZXRBdmFpbGFiaWxpdHkSMAoKY29yZV9zbG90cxgJIAMoCzIcLndlYl9ycGNfcHJveHkuRmxlZXRDb3JlU2xvdBItCgh2YXJpYW50cxgKIAMoCzIbLndlYl9ycGNfcHJveHkuRmxlZXRWYXJpYW50EjQKDHNldHVwX2lucHV0cxgLIAMoCzIeLndlYl9ycGNfcHJveHkuRmxlZXRTZXR1cElucHV0EjgKDXBhcnRpY2lwYXRpb24YDCABKAsyIS53ZWJfcnBjX3Byb3h5LkZsZWV0UGFydGljaXBhdGlvbhI6Cg9hbGxvd2VkX2FjdGlvbnMYDSADKA4yIS53ZWJfcnBjX3Byb3h5LkZsZWV0QWxsb3dlZEFjdGlvbhJDChNpbnN0YWxsYXRpb25fc3RhdHVzGA4gASgOMiYud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhdGlvblN0YXR1cxIUCgxjYXRlZ29yeV9rZXkYDyABKAkSNQoMaW5zdGFsbGFibGVzGBAgAygLMh8ud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSgQICBAJIqcCChBGbGVldEluc3RhbGxhYmxlEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEj8KC2NhcmRpbmFsaXR5GAQgASgOMioud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlQ2FyZGluYWxpdHkSHQoVc3VwcG9ydHNfZXh0cmFfcHJvbXB0GAUgASgIEhwKFGluc3RhbGxlZF9ieV9kZWZhdWx0GAYgASgIEjQKDHNldHVwX2lucHV0cxgHIAMoCzIeLndlYl9ycGNfcHJveHkuRmxlZXRTZXR1cElucHV0EhQKDHZhcmlhbnRfa2V5cxgIIAMoCRIZChFleHRyYV9pbnB1dF9sYWJlbBgJIAEoCSqpAQoORmxlZXRSdW5Bc01vZGUSIQodRkxFRVRfUlVOX0FTX01PREVfVU5TUEVDSUZJRUQQABIdChlGTEVFVF9SVU5fQVNfTU9ERV9NQU5BR0VEEAESJQohRkxFRVRfUlVOX0FTX01PREVfSU5TVEFMTElOR19VU0VSEAISLgoqRkxFRVRfUlVOX0FTX01PREVfRVhJU1RJTkdfU0VSVklDRV9BQ0NPVU5UEAMqeAoPRmxlZXRBY3RvclN0YXRlEiEKHUZMRUVUX0FDVE9SX1NUQVRFX1VOU1BFQ0lGSUVEEAASHwobRkxFRVRfQUNUT1JfU1RBVEVfQVZBSUxBQkxFEAESIQodRkxFRVRfQUNUT1JfU1RBVEVfVU5BVkFJTEFCTEUQAirJAQoQRmxlZXRBcHBseVN0YXR1cxIiCh5GTEVFVF9BUFBMWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtGTEVFVF9BUFBMWV9TVEFUVVNfQVBQTFlJTkcQARIjCh9GTEVFVF9BUFBMWV9TVEFUVVNfUkVBRFlfVE9fQVJNEAISJwojRkxFRVRfQVBQTFlfU1RBVFVTX0ZBSUxFRF9SRVRSWUFCTEUQAxIcChhGTEVFVF9BUFBMWV9TVEFUVVNfQVJNRUQQBSIECAQQBCrCAQoYRmxlZXRDYXRhbG9nQXZhaWxhYmlsaXR5EioKJkZMRUVUX0NBVEFMT0dfQVZBSUxBQklMSVRZX1VOU1BFQ0lGSUVEEAASKAokRkxFRVRfQ0FUQUxPR19BVkFJTEFCSUxJVFlfQVZBSUxBQkxFEAESJAogRkxFRVRfQ0FUQUxPR19BVkFJTEFCSUxJVFlfU1RBTEUQAhIqCiZGTEVFVF9DQVRBTE9HX0FWQUlMQUJJTElUWV9VTkFWQUlMQUJMRRADKskBChZGbGVldEF2YWlsYWJpbGl0eVN0YXRlEigKJEZMRUVUX0FWQUlMQUJJTElUWV9TVEFURV9VTlNQRUNJRklFRBAAEiYKIkZMRUVUX0FWQUlMQUJJTElUWV9TVEFURV9BVkFJTEFCTEUQARIxCi1GTEVFVF9BVkFJTEFCSUxJVFlfU1RBVEVfQkxPQ0tFRF9SRVFVSVJFTUVOVFMQAhIqCiZGTEVFVF9BVkFJTEFCSUxJVFlfU1RBVEVfTk9UX0FWQUlMQUJMRRADKsoCChNGbGVldFNldHVwSW5wdXRUeXBlEiYKIkZMRUVUX1NFVFVQX0lOUFVUX1RZUEVfVU5TUEVDSUZJRUQQABIfChtGTEVFVF9TRVRVUF9JTlBVVF9UWVBFX1RFWFQQARImCiJGTEVFVF9TRVRVUF9JTlBVVF9UWVBFX1NUUklOR19MSVNUEAISJgoiRkxFRVRfU0VUVVBfSU5QVVRfVFlQRV9FTlZJUk9OTUVOVBADEisKJ0ZMRUVUX1NFVFVQX0lOUFVUX1RZUEVfU0VDUkVUX1JFRkVSRU5DRRAEEiYKIkZMRUVUX1NFVFVQX0lOUFVUX1RZUEVfSU5URUdSQVRJT04QBRIiCh5GTEVFVF9TRVRVUF9JTlBVVF9UWVBFX0JPT0xFQU4QBhIhCh1GTEVFVF9TRVRVUF9JTlBVVF9UWVBFX0NIT0lDRRAHKuYBChZGbGVldFBhcnRpY2lwYXRpb25Nb2RlEigKJEZMRUVUX1BBUlRJQ0lQQVRJT05fTU9ERV9VTlNQRUNJRklFRBAAEigKJEZMRUVUX1BBUlRJQ0lQQVRJT05fTU9ERV9JTlRFUkFDVElWRRABEioKJkZMRUVUX1BBUlRJQ0lQQVRJT05fTU9ERV9IVU1BTl9PTl9MT09QEAISJwojRkxFRVRfUEFSVElDSVBBVElPTl9NT0RFX0FVVE9OT01PVVMQAxIjCh9GTEVFVF9QQVJUSUNJUEFUSU9OX01PREVfSFlCUklEEAQq+AEKGUZsZWV0UGFydGljaXBhdGlvbkNhZGVuY2USKwonRkxFRVRfUEFSVElDSVBBVElPTl9DQURFTkNFX1VOU1BFQ0lGSUVEEAASKQolRkxFRVRfUEFSVElDSVBBVElPTl9DQURFTkNFX09OX0RFTUFORBABEiwKKEZMRUVUX1BBUlRJQ0lQQVRJT05fQ0FERU5DRV9FVkVOVF9EUklWRU4QAhIpCiVGTEVFVF9QQVJUSUNJUEFUSU9OX0NBREVOQ0VfU0NIRURVTEVEEAMSKgomRkxFRVRfUEFSVElDSVBBVElPTl9DQURFTkNFX0NPTlRJTlVPVVMQBCrFAQoKRmxlZXRBY3RvchIbChdGTEVFVF9BQ1RPUl9VTlNQRUNJRklFRBAAEhsKF0ZMRUVUX0FDVE9SX0VOR0lORUVSSU5HEAESFwoTRkxFRVRfQUNUT1JfUFJPRFVDVBACEhoKFkZMRUVUX0FDVE9SX09QRVJBVElPTlMQAxIYChRGTEVFVF9BQ1RPUl9CVVNJTkVTUxAEEhcKE0ZMRUVUX0FDVE9SX1NVUFBPUlQQBRIVChFGTEVFVF9BQ1RPUl9TQUxFUxAGKuQBChJGbGVldEFsbG93ZWRBY3Rpb24SJAogRkxFRVRfQUxMT1dFRF9BQ1RJT05fVU5TUEVDSUZJRUQQABIdChlGTEVFVF9BTExPV0VEX0FDVElPTl9WSUVXEAESIAocRkxFRVRfQUxMT1dFRF9BQ1RJT05fSU5TVEFMTBACEhwKGEZMRUVUX0FMTE9XRURfQUNUSU9OX0FSTRAEEiIKHkZMRUVUX0FMTE9XRURfQUNUSU9OX0NPTkZJR1VSRRAFEh8KG0ZMRUVUX0FMTE9XRURfQUNUSU9OX1JFUEFJUhAGIgQIAxADKlIKEEZsZWV0VmFyaWFudEtpbmQSIgoeRkxFRVRfVkFSSUFOVF9LSU5EX1VOU1BFQ0lGSUVEEAASGgoWRkxFRVRfVkFSSUFOVF9LSU5EX1NDTRABKroBChdGbGVldENvbmZpZ3VyYXRpb25TdGF0ZRIpCiVGTEVFVF9DT05GSUdVUkFUSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASIwofRkxFRVRfQ09ORklHVVJBVElPTl9TVEFURV9SRUFEWRABEigKJEZMRUVUX0NPTkZJR1VSQVRJT05fU1RBVEVfSU5DT01QTEVURRACEiUKIUZMRUVUX0NPTkZJR1VSQVRJT05fU1RBVEVfVU5LTk9XThADKqACChdGbGVldEluc3RhbGxhdGlvblN0YXR1cxIpCiVGTEVFVF9JTlNUQUxMQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASJQohRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19VTktOT1dOEAESKwonRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19OT1RfSU5TVEFMTEVEEAISMQotRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19QQVJUSUFMTFlfSU5TVEFMTEVEEAMSJwojRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19JTlNUQUxMRUQQBBIqCiZGTEVFVF9JTlNUQUxMQVRJT05fU1RBVFVTX05FRURTX1JFUEFJUhAFKt0BChtGbGVldEluc3RhbGxhYmxlQ2FyZGluYWxpdHkSLQopRkxFRVRfSU5TVEFMTEFCTEVfQ0FSRElOQUxJVFlfVU5TUEVDSUZJRUQQABIrCidGTEVFVF9JTlNUQUxMQUJMRV9DQVJESU5BTElUWV9TSU5HTEVUT04QARI0CjBGTEVFVF9JTlNUQUxMQUJMRV9DQVJESU5BTElUWV9PUFRJT05BTF9TSU5HTEVUT04QAhIsCihGTEVFVF9JTlNUQUxMQUJMRV9DQVJESU5BTElUWV9SRVBFQVRBQkxFEAMy2Q4KEUZsZWV0UHJveHlTZXJ2aWNlEqoBCg9HZXRGbGVldENhdGFsb2cSJS53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q2F0YWxvZ1JlcXVlc3QaJi53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q2F0YWxvZ1Jlc3BvbnNlIkiatRglcG9zZWlkb24uRmxlZXRTZXJ2aWNlL0dldEZsZWV0Q2F0YWxvZ7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAESpgEKDkFwcGx5RmxlZXRGbG93EiQud2ViX3JwY19wcm94eS5BcHBseUZsZWV0Rmxvd1JlcXVlc3QaJS53ZWJfcnBjX3Byb3h5LkFwcGx5RmxlZXRGbG93UmVzcG9uc2UiR5q1GCRwb3NlaWRvbi5GbGVldFNlcnZpY2UvQXBwbHlGbGVldEZsb3e6tRgbChdmbGVldF93b3JrZmxvd3NfZW5hYmxlZBABEp4BCgxBcm1GbGVldEZsb3cSIi53ZWJfcnBjX3Byb3h5LkFybUZsZWV0Rmxvd1JlcXVlc3QaIy53ZWJfcnBjX3Byb3h5LkFybUZsZWV0Rmxvd1Jlc3BvbnNlIkWatRgicG9zZWlkb24uRmxlZXRTZXJ2aWNlL0FybUZsZWV0Rmxvd7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAESugEKE0RlYWN0aXZhdGVGbGVldEZsb3cSKS53ZWJfcnBjX3Byb3h5LkRlYWN0aXZhdGVGbGVldEZsb3dSZXF1ZXN0Gioud2ViX3JwY19wcm94eS5EZWFjdGl2YXRlRmxlZXRGbG93UmVzcG9uc2UiTJq1GClwb3NlaWRvbi5GbGVldFNlcnZpY2UvRGVhY3RpdmF0ZUZsZWV0Rmxvd7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAEStgEKElVuaW5zdGFsbEZsZWV0RmxvdxIoLndlYl9ycGNfcHJveHkuVW5pbnN0YWxsRmxlZXRGbG93UmVxdWVzdBopLndlYl9ycGNfcHJveHkuVW5pbnN0YWxsRmxlZXRGbG93UmVzcG9uc2UiS5q1GChwb3NlaWRvbi5GbGVldFNlcnZpY2UvVW5pbnN0YWxsRmxlZXRGbG93urUYGwoXZmxlZXRfd29ya2Zsb3dzX2VuYWJsZWQQARK2AQoSQ29uZmlndXJlRmxlZXRGbG93Eigud2ViX3JwY19wcm94eS5Db25maWd1cmVGbGVldEZsb3dSZXF1ZXN0Gikud2ViX3JwY19wcm94eS5Db25maWd1cmVGbGVldEZsb3dSZXNwb25zZSJLmrUYKHBvc2VpZG9uLkZsZWV0U2VydmljZS9Db25maWd1cmVGbGVldEZsb3e6tRgbChdmbGVldF93b3JrZmxvd3NfZW5hYmxlZBABEqoBCg9SZXBhaXJGbGVldEZsb3cSJS53ZWJfcnBjX3Byb3h5LlJlcGFpckZsZWV0Rmxvd1JlcXVlc3QaJi53ZWJfcnBjX3Byb3h5LlJlcGFpckZsZWV0Rmxvd1Jlc3BvbnNlIkiatRglcG9zZWlkb24uRmxlZXRTZXJ2aWNlL1JlcGFpckZsZWV0Rmxvd7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAESwgEKFUdldEZsZWV0Rmxvd0xpZmVjeWNsZRIrLndlYl9ycGNfcHJveHkuR2V0RmxlZXRGbG93TGlmZWN5Y2xlUmVxdWVzdBosLndlYl9ycGNfcHJveHkuR2V0RmxlZXRGbG93TGlmZWN5Y2xlUmVzcG9uc2UiTpq1GCtwb3NlaWRvbi5GbGVldFNlcnZpY2UvR2V0RmxlZXRGbG93TGlmZWN5Y2xlurUYGwoXZmxlZXRfd29ya2Zsb3dzX2VuYWJsZWQQARLGAQoWTGlzdEZsZWV0SW5zdGFsbGF0aW9ucxIsLndlYl9ycGNfcHJveHkuTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1JlcXVlc3QaLS53ZWJfcnBjX3Byb3h5Lkxpc3RGbGVldEluc3RhbGxhdGlvbnNSZXNwb25zZSJPmrUYLHBvc2VpZG9uLkZsZWV0U2VydmljZS9MaXN0RmxlZXRJbnN0YWxsYXRpb25zurUYGwoXZmxlZXRfd29ya2Zsb3dzX2VuYWJsZWQQARLiAQodR2V0RmxlZXRDb25maWd1cmF0aW9uRG9jdW1lbnQSMy53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q29uZmlndXJhdGlvbkRvY3VtZW50UmVxdWVzdBo0LndlYl9ycGNfcHJveHkuR2V0RmxlZXRDb25maWd1cmF0aW9uRG9jdW1lbnRSZXNwb25zZSJWmrUYM3Bvc2VpZG9uLkZsZWV0U2VydmljZS9HZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudLq1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAFiBnByb3RvMw",[ee,D2]);var L2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MANAGED=1]="MANAGED",e[e.INSTALLING_USER=2]="INSTALLING_USER",e[e.EXISTING_SERVICE_ACCOUNT=3]="EXISTING_SERVICE_ACCOUNT"})(L2||(L2={}));var H2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.UNAVAILABLE=2]="UNAVAILABLE"})(H2||(H2={}));var M2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.APPLYING=1]="APPLYING",e[e.READY_TO_ARM=2]="READY_TO_ARM",e[e.FAILED_RETRYABLE=3]="FAILED_RETRYABLE",e[e.ARMED=5]="ARMED"})(M2||(M2={}));var O2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.STALE=2]="STALE",e[e.UNAVAILABLE=3]="UNAVAILABLE"})(O2||(O2={}));var j2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.BLOCKED_REQUIREMENTS=2]="BLOCKED_REQUIREMENTS",e[e.NOT_AVAILABLE=3]="NOT_AVAILABLE"})(j2||(j2={}));var P2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TEXT=1]="TEXT",e[e.STRING_LIST=2]="STRING_LIST",e[e.ENVIRONMENT=3]="ENVIRONMENT",e[e.SECRET_REFERENCE=4]="SECRET_REFERENCE",e[e.INTEGRATION=5]="INTEGRATION",e[e.BOOLEAN=6]="BOOLEAN",e[e.CHOICE=7]="CHOICE"})(P2||(P2={}));var q2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INTERACTIVE=1]="INTERACTIVE",e[e.HUMAN_ON_LOOP=2]="HUMAN_ON_LOOP",e[e.AUTONOMOUS=3]="AUTONOMOUS",e[e.HYBRID=4]="HYBRID"})(q2||(q2={}));var $2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ON_DEMAND=1]="ON_DEMAND",e[e.EVENT_DRIVEN=2]="EVENT_DRIVEN",e[e.SCHEDULED=3]="SCHEDULED",e[e.CONTINUOUS=4]="CONTINUOUS"})($2||($2={}));var e0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ENGINEERING=1]="ENGINEERING",e[e.PRODUCT=2]="PRODUCT",e[e.OPERATIONS=3]="OPERATIONS",e[e.BUSINESS=4]="BUSINESS",e[e.SUPPORT=5]="SUPPORT",e[e.SALES=6]="SALES"})(e0||(e0={}));var t0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.VIEW=1]="VIEW",e[e.INSTALL=2]="INSTALL",e[e.ARM=4]="ARM",e[e.CONFIGURE=5]="CONFIGURE",e[e.REPAIR=6]="REPAIR"})(t0||(t0={}));var n0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SCM=1]="SCM"})(n0||(n0={}));var r0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.READY=1]="READY",e[e.INCOMPLETE=2]="INCOMPLETE",e[e.UNKNOWN=3]="UNKNOWN"})(r0||(r0={}));var o0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.UNKNOWN=1]="UNKNOWN",e[e.NOT_INSTALLED=2]="NOT_INSTALLED",e[e.PARTIALLY_INSTALLED=3]="PARTIALLY_INSTALLED",e[e.INSTALLED=4]="INSTALLED",e[e.NEEDS_REPAIR=5]="NEEDS_REPAIR"})(o0||(o0={}));var i0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SINGLETON=1]="SINGLETON",e[e.OPTIONAL_SINGLETON=2]="OPTIONAL_SINGLETON",e[e.REPEATABLE=3]="REPEATABLE"})(i0||(i0={}));var qi=k("CiNzZXJ2aWNlcy9hcGlfcHJveHkvcHVibGljX2FwaS5wcm90bxIKcHVibGljX2FwaSI1CgpBY3Rpb25JdGVtEg0KBXRpdGxlGAEgASgJEhAKA3VybBgCIAEoCUgAiAEBQgYKBF91cmwiKQoaQWN0aW9uc0dldFVzZXJTdGF0ZVJlcXVlc3QSCwoDa2V5GAEgASgJIkQKG0FjdGlvbnNHZXRVc2VyU3RhdGVSZXNwb25zZRINCgV2YWx1ZRgBIAEoCRIWCg52ZXJzaW9uX251bWJlchgCIAEoAyJoChpBY3Rpb25zU2V0VXNlclN0YXRlUmVxdWVzdBILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkSGwoOdmVyc2lvbl9udW1iZXIYAyABKANIAIgBAUIRCg9fdmVyc2lvbl9udW1iZXIiNQobQWN0aW9uc1NldFVzZXJTdGF0ZVJlc3BvbnNlEhYKDnZlcnNpb25fbnVtYmVyGAEgASgDImIKEkFjdGl2ZVN1YnNjcmlwdGlvbhIsCghlbmRfZGF0ZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoWdXNhZ2VfYmFsYW5jZV9kZXBsZXRlZBgCIAEoCCLhAQoPQWdlbnRDYXBhYmlsaXR5EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSLwoFc2NvcGUYAyABKA4yIC5wdWJsaWNfYXBpLkFnZW50Q2FwYWJpbGl0eVNjb3BlEj8KDG5hdGl2ZV90b29scxgEIAMoCzIpLnB1YmxpY19hcGkuQWdlbnRDYXBhYmlsaXR5VG9vbERlZmluaXRpb24SOQoLbWNwX3NlcnZlcnMYBSADKAsyJC5wdWJsaWNfYXBpLkFnZW50Q2FwYWJpbGl0eU1DUFNlcnZlciJkChhBZ2VudENhcGFiaWxpdHlNQ1BTZXJ2ZXISEwoLc2VydmVyX25hbWUYASABKAkSEgoKc2VydmVyX3VybBgCIAEoCRIfChdyZXF1aXJlZF9jcmVkZW50aWFsX2tleRgDIAEoCSJhChhBZ2VudENhcGFiaWxpdHlSZWZlcmVuY2USFwoPY2FwYWJpbGl0eV9uYW1lGAEgASgJEhUKDWFsbG93ZWRfdG9vbHMYAiADKAkSFQoNYmxvY2tlZF90b29scxgDIAMoCSIyCh1BZ2VudENhcGFiaWxpdHlUb29sRGVmaW5pdGlvbhIRCgl0b29sX25hbWUYASABKAki+gMKC0FnZW50Q29uZmlnEjMKD3dvcmtzcGFjZV9zZXR1cBgBIAEoCzIaLnB1YmxpY19hcGkuV29ya3NwYWNlU2V0dXASMwoOc3RhcnRpbmdfbm9kZXMYAiADKAsyGy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0Tm9kZRIcCg91c2VyX2d1aWRlbGluZXMYAyABKAlIAIgBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgEIAEoCUgBiAEBEhIKBW1vZGVsGAYgASgJSAKIAQESIgoVaXNfc2V0dXBfc2NyaXB0X2FnZW50GAcgASgISAOIAQESMAoLbWNwX3NlcnZlcnMYCCADKAsyGy5wdWJsaWNfYXBpLk1jcFNlcnZlckNvbmZpZxISCgV0aXRsZRgJIAEoCUgEiAEBEjYKDnJlcXVlc3Rfc291cmNlGAogASgOMhkucHVibGljX2FwaS5SZXF1ZXN0U291cmNlSAWIAQESFgoOZGlzYWJsZWRfdG9vbHMYCyADKAlCEgoQX3VzZXJfZ3VpZGVsaW5lc0IXChVfd29ya3NwYWNlX2d1aWRlbGluZXNCCAoGX21vZGVsQhgKFl9pc19zZXR1cF9zY3JpcHRfYWdlbnRCCAoGX3RpdGxlQhEKD19yZXF1ZXN0X3NvdXJjZUoECAUQBiKQAgoSQWdlbnRIaXN0b3J5VXBkYXRlEjAKBHR5cGUYASABKA4yIi5wdWJsaWNfYXBpLkFnZW50SGlzdG9yeVVwZGF0ZVR5cGUSNgoIZXhjaGFuZ2UYAiABKAsyHy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50RXhjaGFuZ2VIAIgBARI4Cg9leGNoYW5nZV91cGRhdGUYAyABKAsyGi5wdWJsaWNfYXBpLkV4Y2hhbmdlVXBkYXRlSAGIAQESKwoFYWdlbnQYBCABKAsyFy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50SAKIAQFCCwoJX2V4Y2hhbmdlQhIKEF9leGNoYW5nZV91cGRhdGVCCAoGX2FnZW50IuwCCg9BZ2VudExpc3RVcGRhdGUSLQoEdHlwZRgBIAEoDjIfLnB1YmxpY19hcGkuQWdlbnRMaXN0VXBkYXRlVHlwZRI0ChB1cGRhdGVfdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgVhZ2VudBgDIAEoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRIAIgBARIdChBkZWxldGVkX2FnZW50X2lkGAQgASgJSAGIAQESKwoKYWxsX2FnZW50cxgFIAMoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnQSFwoKbWF4X2FnZW50cxgGIAEoBUgCiAEBEh4KEW1heF9hY3RpdmVfYWdlbnRzGAcgASgFSAOIAQFCCAoGX2FnZW50QhMKEV9kZWxldGVkX2FnZW50X2lkQg0KC19tYXhfYWdlbnRzQhQKEl9tYXhfYWN0aXZlX2FnZW50cyKiAQoMQWdlbnRQZXJzb25hEgoKAmlkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEiwKBXNjb3BlGAMgASgOMh0ucHVibGljX2FwaS5BZ2VudFBlcnNvbmFTY29wZRJDChVyZXF1aXJlZF9jYXBhYmlsaXRpZXMYBCADKAsyJC5wdWJsaWNfYXBpLkFnZW50Q2FwYWJpbGl0eVJlZmVyZW5jZSJfChlBZ2VudFdvcmtzcGFjZUNoYXRSZXF1ZXN0EkIKD3JlcXVlc3RfZGV0YWlscxgBIAEoCzIpLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRDaGF0UmVxdWVzdERldGFpbHMiQQomQWdlbnRXb3Jrc3BhY2VHZXRMYXN0U2VxdWVuY2VJZFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJIk0KJ0FnZW50V29ya3NwYWNlR2V0TGFzdFNlcXVlbmNlSWRSZXNwb25zZRIiChpsYXN0X3Byb2Nlc3NlZF9zZXF1ZW5jZV9pZBgBIAEoDSIZChdBZ2VudFdvcmtzcGFjZUludGVycnVwdCJeCh9BZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIiChpsYXN0X3Byb2Nlc3NlZF9zZXF1ZW5jZV9pZBgCIAEoDSJVCiBBZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXNwb25zZRIxCgd1cGRhdGVzGAEgAygLMiAucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVVwZGF0ZSJ4CiZBZ2VudFdvcmtzcGFjZVJlcG9ydENoYXRIaXN0b3J5UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSNQoMY2hhdF9oaXN0b3J5GAIgAygLMh8ucHVibGljX2FwaS5SZW1vdGVBZ2VudEV4Y2hhbmdlIikKJ0FnZW50V29ya3NwYWNlUmVwb3J0Q2hhdEhpc3RvcnlSZXNwb25zZSJoCilBZ2VudFdvcmtzcGFjZVJlcG9ydExhc3RTZXF1ZW5jZUlkUmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSIgoabGFzdF9wcm9jZXNzZWRfc2VxdWVuY2VfaWQYAiABKA0iLAoqQWdlbnRXb3Jrc3BhY2VSZXBvcnRMYXN0U2VxdWVuY2VJZFJlc3BvbnNlIocBCiRBZ2VudFdvcmtzcGFjZVJlcG9ydFNldHVwTG9nc1JlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEkYKFndvcmtzcGFjZV9zZXR1cF9zdGF0dXMYAyABKAsyJi5wdWJsaWNfYXBpLlJlbW90ZVdvcmtzcGFjZVNldHVwU3RhdHVzIicKJUFnZW50V29ya3NwYWNlUmVwb3J0U2V0dXBMb2dzUmVzcG9uc2UisQEKIUFnZW50V29ya3NwYWNlUmVwb3J0U3RhdHVzUmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSLQoGc3RhdHVzGAIgASgOMh0ucHVibGljX2FwaS5SZW1vdGVBZ2VudFN0YXR1cxImChloYXNfYWN0aXZlX3NzaF9jb25uZWN0aW9uGAMgASgISACIAQFCHAoaX2hhc19hY3RpdmVfc3NoX2Nvbm5lY3Rpb24iJAoiQWdlbnRXb3Jrc3BhY2VSZXBvcnRTdGF0dXNSZXNwb25zZSJaChtBZ2VudFdvcmtzcGFjZVN0cmVhbVJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEiIKGmxhc3RfcHJvY2Vzc2VkX3NlcXVlbmNlX2lkGAIgASgNIlcKHEFnZW50V29ya3NwYWNlU3RyZWFtUmVzcG9uc2USNwoHdXBkYXRlcxgBIAMoCzImLnB1YmxpY19hcGkuQWdlbnRXb3Jrc3BhY2VTdHJlYW1VcGRhdGUigwIKGkFnZW50V29ya3NwYWNlU3RyZWFtVXBkYXRlEjIKBHR5cGUYASABKA4yJC5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlVXBkYXRlVHlwZRITCgtzZXF1ZW5jZV9pZBgCIAEoDRI7CglpbnRlcnJ1cHQYAyABKAsyIy5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlSW50ZXJydXB0SACIAQESQAoMY2hhdF9yZXF1ZXN0GAQgASgLMiUucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZUNoYXRSZXF1ZXN0SAGIAQFCDAoKX2ludGVycnVwdEIPCg1fY2hhdF9yZXF1ZXN0Iq4BChRBZ2VudFdvcmtzcGFjZVVwZGF0ZRI4CglpbnRlcnJ1cHQYAiABKAsyIy5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlSW50ZXJydXB0SAASPQoMY2hhdF9yZXF1ZXN0GAMgASgLMiUucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZUNoYXRSZXF1ZXN0SAASEwoLc2VxdWVuY2VfaWQYASABKA1CCAoGdXBkYXRlInsKGEFnZ3JlZ2F0ZWRPdXRjb21lTWV0cmljcxIMCgRuYW1lGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRINCgVjb3VudBgDIAEoBBIsCgZ2YWx1ZXMYBCABKAsyHC5wdWJsaWNfYXBpLkFnZ3JlZ2F0ZWRWYWx1ZXMilAEKEEFnZ3JlZ2F0ZWRWYWx1ZXMSCwoDc3VtGAEgASgBEgsKA2F2ZxgCIAEoARILCgNtaW4YAyABKAESCwoDbWF4GAQgASgBEgsKA3AyNRgFIAEoARILCgNwNTAYBiABKAESCwoDcDc1GAcgASgBEgsKA3A5MBgIIAEoARILCgNwOTUYCSABKAESCwoDcDk5GAogASgBIuYBChNBbmFseXRpY3NUYWdTdW1tYXJ5EgsKA2tleRgBIAEoCRIVCg1zZXNzaW9uX2NvdW50GAIgASgEEhkKEW9ic2VydmF0aW9uX2NvdW50GAQgASgEEh4KFmRpc3RpbmN0X3N1YmplY3RfY291bnQYBSABKAQSNAoGdmFsdWVzGAYgAygLMiQucHVibGljX2FwaS5BbmFseXRpY3NUYWdWYWx1ZVN1bW1hcnkSEwoLZGlzcGxheV9rZXkYByABKAkSJQoGc291cmNlGAggASgOMhUucHVibGljX2FwaS5UYWdTb3VyY2UikgEKGEFuYWx5dGljc1RhZ1ZhbHVlU3VtbWFyeRINCgV2YWx1ZRgBIAEoCRIVCg1kaXNwbGF5X3ZhbHVlGAIgASgJEhUKDXNlc3Npb25fY291bnQYAyABKAQSGQoRb2JzZXJ2YXRpb25fY291bnQYBSABKAQSHgoWZGlzdGluY3Rfc3ViamVjdF9jb3VudBgGIAEoBCJbChdBdGxhc3NpYW5Ub29sRXh0cmFJbnB1dBISCgpzZXJ2ZXJfdXJsGAEgASgJEhoKEnBlcnNvbmFsX2FwaV90b2tlbhgCIAEoCRIQCgh1c2VybmFtZRgDIAEoCSIqCgxCYW5uZXJCdXR0b24SDQoFdGl0bGUYASABKAkSCwoDdXJsGAIgASgJItcDChFCYW5uZXJJbmZvcm1hdGlvbhIPCgdtZXNzYWdlGAEgASgJEi0KBmJ1dHRvbhgCIAEoCzIYLnB1YmxpY19hcGkuQmFubmVyQnV0dG9uSACIAQESPQoLYmFubmVyX3R5cGUYAyABKA4yKC5wdWJsaWNfYXBpLkJhbm5lckluZm9ybWF0aW9uLkJhbm5lclR5cGUSRwoNZGlzcGxheV9zdHlsZRgEIAEoDjIwLnB1YmxpY19hcGkuQmFubmVySW5mb3JtYXRpb24uQmFubmVyRGlzcGxheVN0eWxlIoUBCgpCYW5uZXJUeXBlEhcKE0JBTk5FUl9UWVBFX1VOS05PV04QABIMCghVUkxfTElOSxABEhoKFlVTQUdFX0JBTEFOQ0VfREVQTEVURUQQAhIVChFVU0FHRV9CQUxBTkNFX0xPVxADEh0KGVJFUVVJUkVfUEFZTUVOVF9GT1JfVFJJQUwQBCJnChJCYW5uZXJEaXNwbGF5U3R5bGUSIAocQkFOTkVSX0RJU1BMQVlfU1RZTEVfVU5LTk9XThAAEggKBElORk8QARINCglQUk9NT1RJT04QAhILCgdXQVJOSU5HEAMSCQoFQUxFUlQQBEIJCgdfYnV0dG9uIjsKEkJhdGNoVXBsb2FkUmVxdWVzdBIlCgVibG9icxgBIAMoCzIWLnB1YmxpY19hcGkuVXBsb2FkQmxvYiIpChNCYXRjaFVwbG9hZFJlc3BvbnNlEhIKCmJsb2JfbmFtZXMYASADKAkiYQoFQmxvYnMSGgoNY2hlY2twb2ludF9pZBgBIAEoCUgAiAEBEhMKC2FkZGVkX2Jsb2JzGAIgAygJEhUKDWRlbGV0ZWRfYmxvYnMYAyADKAlCEAoOX2NoZWNrcG9pbnRfaWQiigEKEUJvb3RzdHJhcFNldHRpbmdzElMKHXJlcG9zaXRvcnlfYWxsb3dsaXN0X3NldHRpbmdzGAEgASgLMicucHVibGljX2FwaS5SZXBvc2l0b3J5QWxsb3dsaXN0U2V0dGluZ3NIAIgBAUIgCh5fcmVwb3NpdG9yeV9hbGxvd2xpc3Rfc2V0dGluZ3Mi3wEKC0NoYW5nZWRGaWxlEhAKCG9sZF9wYXRoGAEgASgJEhAKCG5ld19wYXRoGAIgASgJEjsKC2NoYW5nZV90eXBlGAMgASgOMiYucHVibGljX2FwaS5DaGFuZ2VkRmlsZS5GaWxlQ2hhbmdlVHlwZRIUCgxvbGRfY29udGVudHMYBCABKAkSFAoMbmV3X2NvbnRlbnRzGAUgASgJIkMKDkZpbGVDaGFuZ2VUeXBlEgkKBUFEREVEEAASCwoHREVMRVRFRBABEgwKCE1PRElGSUVEEAISCwoHUkVOQU1FRBADIpgEChBDaGFuZ2VkRmlsZVN0YXRzEj0KEGFkZGVkX2ZpbGVfc3RhdHMYASABKAsyIy5wdWJsaWNfYXBpLlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEj4KEWJyb2tlbl9maWxlX3N0YXRzGAIgASgLMiMucHVibGljX2FwaS5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxI+ChFjb3BpZWRfZmlsZV9zdGF0cxgDIAEoCzIjLnB1YmxpY19hcGkuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSPwoSZGVsZXRlZF9maWxlX3N0YXRzGAQgASgLMiMucHVibGljX2FwaS5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxJAChNtb2RpZmllZF9maWxlX3N0YXRzGAUgASgLMiMucHVibGljX2FwaS5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxI/ChJyZW5hbWVkX2ZpbGVfc3RhdHMYBiABKAsyIy5wdWJsaWNfYXBpLlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEkAKE3VubWVyZ2VkX2ZpbGVfc3RhdHMYByABKAsyIy5wdWJsaWNfYXBpLlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEj8KEnVua25vd25fZmlsZV9zdGF0cxgIIAEoCzIjLnB1YmxpY19hcGkuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMi2QIKGUNoYXRGZWF0dXJlRGV0ZWN0aW9uRmxhZ3MSIQoQc3VwcG9ydF9tYXJrZG93bhgBIAEoCEICGAFIAIgBARIjChJzdXBwb3J0X3Jhd19vdXRwdXQYAiABKAhCAhgBSAGIAQESJQoYc3VwcG9ydF9yZWxldmFudF9zb3VyY2VzGAMgASgISAKIAQESIwoWc3VwcG9ydF90b29sX3VzZV9zdGFydBgEIAEoCEgDiAEBEiYKGXN1cHBvcnRfcGFyYWxsZWxfdG9vbF91c2UYBSABKAhIBIgBAUITChFfc3VwcG9ydF9tYXJrZG93bkIVChNfc3VwcG9ydF9yYXdfb3V0cHV0QhsKGV9zdXBwb3J0X3JlbGV2YW50X3NvdXJjZXNCGQoXX3N1cHBvcnRfdG9vbF91c2Vfc3RhcnRCHAoaX3N1cHBvcnRfcGFyYWxsZWxfdG9vbF91c2UikAEKDENoYXRGZWVkYmFjaxISCgpyZXF1ZXN0X2lkGAEgASgJEioKBnJhdGluZxgCIAEoDjIaLnB1YmxpY19hcGkuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgDIAEoCRIcCgRtb2RlGAQgASgOMg4uY2hhdC5DaGF0TW9kZRIUCgxyZWFzb25fY29kZXMYBSADKAkiFgoUQ2hhdEZlZWRiYWNrUmVzcG9uc2Ui1QIKGkNoYXRJbnB1dENvbXBsZXRpb25SZXF1ZXN0EhIKBW1vZGVsGAEgASgJSACIAQESDgoGcHJvbXB0GAIgASgJEgwKBHBhdGgYAyABKAkSEwoGc3VmZml4GAQgASgJSAGIAQESIAoFYmxvYnMYBSABKAsyES5wdWJsaWNfYXBpLkJsb2JzEjIKDHJlY2VuY3lfaW5mbxgGIAEoCzIXLnB1YmxpY19hcGkuUmVjZW5jeUluZm9IAogBARIRCgRsYW5nGAcgASgJSAOIAQESGAoLc2VxdWVuY2VfaWQYCCABKA1IBIgBARIuCgtlZGl0X2V2ZW50cxgJIAMoCzIZLnB1YmxpY19hcGkuRmlsZUVkaXRFdmVudEIICgZfbW9kZWxCCQoHX3N1ZmZpeEIPCg1fcmVjZW5jeV9pbmZvQgcKBV9sYW5nQg4KDF9zZXF1ZW5jZV9pZCKpAQodQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb24SEgoKcmVxdWVzdF9pZBgBIAEoCRIVCg1lbWl0X3RpbWVfc2VjGAIgASgDEhYKDmVtaXRfdGltZV9uc2VjGAMgASgFEhgKEHJlc29sdmVfdGltZV9zZWMYBCABKAMSGQoRcmVzb2x2ZV90aW1lX25zZWMYBSABKAUSEAoIYWNjZXB0ZWQYBiABKAgiJwolQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb25SZXNwb25zZSLnAQobQ2hhdElucHV0Q29tcGxldGlvblJlc3BvbnNlEgwKBHRleHQYASABKAkSHAoUdW5rbm93bl9tZW1vcnlfbmFtZXMYAiADKAkSIwobc3VnZ2VzdGVkX3ByZWZpeF9jaGFyX2NvdW50GAMgASgNEiMKG3N1Z2dlc3RlZF9zdWZmaXhfY2hhcl9jb3VudBgEIAEoDRI0ChBjb21wbGV0aW9uX2l0ZW1zGAUgAygLMhoucHVibGljX2FwaS5Db21wbGV0aW9uSXRlbRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgGIAEoCCL5EQoLQ2hhdFJlcXVlc3QSEgoFbW9kZWwYASABKAlIAIgBARIRCgRwYXRoGAIgASgJSAGIAQESEwoGcHJlZml4GAMgASgJSAKIAQESGgoNc2VsZWN0ZWRfY29kZRgEIAEoCUgDiAEBEhMKBnN1ZmZpeBgFIAEoCUgEiAEBEg8KB21lc3NhZ2UYBiABKAkSKgoMY2hhdF9oaXN0b3J5GAcgAygLMhQucHVibGljX2FwaS5FeGNoYW5nZRIWCglibG9iX25hbWUYCCABKAlIBYgBARIZCgxwcmVmaXhfYmVnaW4YCSABKAVIBogBARIcCg9jdXJzb3JfcG9zaXRpb24YCiABKAVIB4gBARIXCgpzdWZmaXhfZW5kGAsgASgFSAiIAQESFgoKYmxvYl9uYW1lcxgMIAMoCUICGAESEQoEbGFuZxgNIAEoCUgJiAEBEhMKC3NlcXVlbmNlX2lkGA4gASgNEiAKBWJsb2JzGA8gASgLMhEucHVibGljX2FwaS5CbG9icxIZChF1c2VyX2d1aWRlZF9ibG9icxgRIAMoCRIbChNleHRlcm5hbF9zb3VyY2VfaWRzGBMgAygJEikKHGVuYWJsZV9wcmVmZXJlbmNlX2NvbGxlY3Rpb24YECABKAhICogBARItCiBjb250ZXh0X2NvZGVfZXhjaGFuZ2VfcmVxdWVzdF9pZBgSIAEoCUgLiAEBEioKHWRpc2FibGVfYXV0b19leHRlcm5hbF9zb3VyY2VzGBQgASgISAyIAQESSwoXZmVhdHVyZV9kZXRlY3Rpb25fZmxhZ3MYFSABKAsyJS5wdWJsaWNfYXBpLkNoYXRGZWF0dXJlRGV0ZWN0aW9uRmxhZ3NIDYgBARIcCg91c2VyX2d1aWRlbGluZXMYFiABKAlIDogBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgXIAEoCUgPiAEBEjQKEHRvb2xfZGVmaW5pdGlvbnMYGCADKAsyGi5wdWJsaWNfYXBpLlRvb2xEZWZpbml0aW9uEioKBW5vZGVzGBkgAygLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGUSHAoEbW9kZRgaIAEoDjIOLmNoYXQuQ2hhdE1vZGUSMgoMcGVyc29uYV90eXBlGBwgASgOMhcucHVibGljX2FwaS5QZXJzb25hVHlwZUgQiAEBEh8KBXJ1bGVzGB0gAygLMhAucHVibGljX2FwaS5SdWxlEhMKBnNpbGVudBgeIAEoCEgRiAEBEjsKFHRoaXJkX3BhcnR5X292ZXJyaWRlGB8gASgLMhguY2hhdC5UaGlyZFBhcnR5T3ZlcnJpZGVIEogBARIcCg9jb252ZXJzYXRpb25faWQYICABKAlIE4gBARIaCg1zeXN0ZW1fcHJvbXB0GCEgASgJSBSIAQESRwoac3lzdGVtX3Byb21wdF9yZXBsYWNlbWVudHMYIiADKAsyIy5wdWJsaWNfYXBpLlN5c3RlbVByb21wdFJlcGxhY2VtZW50EiEKBnNraWxscxgkIAMoCzIRLnB1YmxpY19hcGkuU2tpbGwSHQoQYWdlbnRfcGVyc29uYV9pZBglIAEoCUgViAEBEhQKB3R1cm5faWQYJiABKAlIFogBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGCcgASgJSBeIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYKCABKAlIGIgBARIhChRzeXN0ZW1fcHJvbXB0X2FwcGVuZBgpIAEoCUgZiAEBEjYKEmJyaW5nX3lvdXJfb3duX2tleRgqIAEoCzIVLmNoYXQuQnJpbmdZb3VyT3duS2V5SBqIAQESHAoPc3Vic2NyaXB0aW9uX2lkGCsgASgJSBuIAQESEwoLcGVyc29uYV9pZHMYLCADKAkSGwoOc2VuZGVyX3VzZXJfaWQYLSABKAlIHIgBARIkChdwb3NlaWRvbl9zZW5kZXJfdXNlcl9pZBguIAEoCUgdiAEBEjMKE3Zmc19maWxlX3JlZmVyZW5jZXMYLyADKAsyFi5jaGF0LlZGU0ZpbGVSZWZlcmVuY2USMwoTbWNwX3Rvb2xfcmVmZXJlbmNlcxgwIAMoCzIWLmNoYXQuTUNQVG9vbFJlZmVyZW5jZRIdChByZWFzb25pbmdfZWZmb3J0GDEgASgJSB6IAQFCCAoGX21vZGVsQgcKBV9wYXRoQgkKB19wcmVmaXhCEAoOX3NlbGVjdGVkX2NvZGVCCQoHX3N1ZmZpeEIMCgpfYmxvYl9uYW1lQg8KDV9wcmVmaXhfYmVnaW5CEgoQX2N1cnNvcl9wb3NpdGlvbkINCgtfc3VmZml4X2VuZEIHCgVfbGFuZ0IfCh1fZW5hYmxlX3ByZWZlcmVuY2VfY29sbGVjdGlvbkIjCiFfY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWRCIAoeX2Rpc2FibGVfYXV0b19leHRlcm5hbF9zb3VyY2VzQhoKGF9mZWF0dXJlX2RldGVjdGlvbl9mbGFnc0ISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lc0IPCg1fcGVyc29uYV90eXBlQgkKB19zaWxlbnRCFwoVX3RoaXJkX3BhcnR5X292ZXJyaWRlQhIKEF9jb252ZXJzYXRpb25faWRCEAoOX3N5c3RlbV9wcm9tcHRCEwoRX2FnZW50X3BlcnNvbmFfaWRCCgoIX3R1cm5faWRCGQoXX3BhcmVudF9jb252ZXJzYXRpb25faWRCFwoVX3Jvb3RfY29udmVyc2F0aW9uX2lkQhcKFV9zeXN0ZW1fcHJvbXB0X2FwcGVuZEIVChNfYnJpbmdfeW91cl9vd25fa2V5QhIKEF9zdWJzY3JpcHRpb25faWRCEQoPX3NlbmRlcl91c2VyX2lkQhoKGF9wb3NlaWRvbl9zZW5kZXJfdXNlcl9pZEITChFfcmVhc29uaW5nX2VmZm9ydEoECBsQHEoECCMQJFIJY2FudmFzX2lkIooBChVDaGF0UmVxdWVzdEVkaXRFdmVudHMSNAoLZWRpdF9ldmVudHMYASADKAsyHy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0RmlsZUVkaXQSMAoGc291cmNlGAIgASgOMhsucHVibGljX2FwaS5FZGl0RXZlbnRTb3VyY2VIAIgBAUIJCgdfc291cmNlIoYBCg9DaGF0UmVxdWVzdEZpbGUSEQoJZmlsZV9kYXRhGAEgASgJEhIKCm1lZGlhX3R5cGUYAiABKAkSFgoJZmlsZV9uYW1lGAMgASgJSACIAQESFwoKcGFnZV9jb3VudBgEIAEoBUgBiAEBQgwKCl9maWxlX25hbWVCDQoLX3BhZ2VfY291bnQiuwEKE0NoYXRSZXF1ZXN0RmlsZUVkaXQSDAoEcGF0aBgBIAEoCRIdChBiZWZvcmVfYmxvYl9uYW1lGAIgASgJSACIAQESHAoPYWZ0ZXJfYmxvYl9uYW1lGAMgASgJSAGIAQESMAoFZWRpdHMYBCADKAsyIS5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0U2luZ2xlRWRpdEITChFfYmVmb3JlX2Jsb2JfbmFtZUISChBfYWZ0ZXJfYmxvYl9uYW1lIsQBChNDaGF0UmVxdWVzdElkZVN0YXRlEjoKEXdvcmtzcGFjZV9mb2xkZXJzGAEgAygLMh8ucHVibGljX2FwaS5Xb3Jrc3BhY2VGb2xkZXJJbmZvEiMKG3dvcmtzcGFjZV9mb2xkZXJzX3VuY2hhbmdlZBgCIAEoCBI3ChBjdXJyZW50X3Rlcm1pbmFsGAMgASgLMhgucHVibGljX2FwaS5UZXJtaW5hbEluZm9IAIgBAUITChFfY3VycmVudF90ZXJtaW5hbCJTChBDaGF0UmVxdWVzdEltYWdlEhIKCmltYWdlX2RhdGEYASABKAkSKwoGZm9ybWF0GAIgASgOMhsucHVibGljX2FwaS5JbWFnZUZvcm1hdFR5cGUiowQKD0NoYXRSZXF1ZXN0Tm9kZRIKCgJpZBgBIAEoBRItCgR0eXBlGAIgASgOMh8ucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGVUeXBlEjMKCXRleHRfbm9kZRgDIAEoCzIbLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RUZXh0SACIAQESQAoQdG9vbF9yZXN1bHRfbm9kZRgEIAEoCzIhLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RUb29sUmVzdWx0SAGIAQESNQoKaW1hZ2Vfbm9kZRgFIAEoCzIcLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RJbWFnZUgCiAEBEjwKDmlkZV9zdGF0ZV9ub2RlGAcgASgLMh8ucHVibGljX2FwaS5DaGF0UmVxdWVzdElkZVN0YXRlSAOIAQESQAoQZWRpdF9ldmVudHNfbm9kZRgIIAEoCzIhLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RFZGl0RXZlbnRzSASIAQESMwoJZmlsZV9ub2RlGAogASgLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdEZpbGVIBYgBAUIMCgpfdGV4dF9ub2RlQhMKEV90b29sX3Jlc3VsdF9ub2RlQg0KC19pbWFnZV9ub2RlQhEKD19pZGVfc3RhdGVfbm9kZUITChFfZWRpdF9ldmVudHNfbm9kZUIMCgpfZmlsZV9ub2RlSgQIBhAHSgQICRAKInUKFUNoYXRSZXF1ZXN0U2luZ2xlRWRpdBIZChFiZWZvcmVfbGluZV9zdGFydBgBIAEoDRITCgtiZWZvcmVfdGV4dBgCIAEoCRIYChBhZnRlcl9saW5lX3N0YXJ0GAMgASgNEhIKCmFmdGVyX3RleHQYBCABKAkiIgoPQ2hhdFJlcXVlc3RUZXh0Eg8KB2NvbnRlbnQYASABKAki/QIKFUNoYXRSZXF1ZXN0VG9vbFJlc3VsdBITCgt0b29sX3VzZV9pZBgBIAEoCRIPCgdjb250ZW50GAIgASgJEhAKCGlzX2Vycm9yGAMgASgIEhcKCnJlcXVlc3RfaWQYBCABKAlIAIgBARI4Cg1jb250ZW50X25vZGVzGAUgAygLMiEucHVibGljX2FwaS5Ub29sUmVzdWx0Q29udGVudE5vZGUSGAoLZHVyYXRpb25fbXMYBiABKANIAYgBARIaCg1zdGFydF90aW1lX21zGAcgASgDSAKIAQESQQoIbWV0YWRhdGEYCCADKAsyLy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0VG9vbFJlc3VsdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUINCgtfcmVxdWVzdF9pZEIOCgxfZHVyYXRpb25fbXNCEAoOX3N0YXJ0X3RpbWVfbXMijwMKDENoYXRSZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCBI9ChV3b3Jrc3BhY2VfZmlsZV9jaHVua3MYBCADKAsyHi5wdWJsaWNfYXBpLldvcmtzcGFjZUZpbGVDaHVuaxJNCh1pbmNvcnBvcmF0ZWRfZXh0ZXJuYWxfc291cmNlcxgFIAMoCzImLnB1YmxpY19hcGkuSW5jb3Jwb3JhdGVkRXh0ZXJuYWxTb3VyY2USKQoFbm9kZXMYBiADKAsyGi5wdWJsaWNfYXBpLkNoYXRSZXN1bHROb2RlEjQKC3N0b3BfcmVhc29uGAcgASgOMhoucHVibGljX2FwaS5DaGF0U3RvcFJlYXNvbkgAiAEBEiAKE3N1bW1hcml6ZV9hbmRfcmV0cnkYCCABKAhIAYgBAUIOCgxfc3RvcF9yZWFzb25CFgoUX3N1bW1hcml6ZV9hbmRfcmV0cnkiyQIKGUNoYXRSZXN1bHRCaWxsaW5nTWV0YWRhdGESGwoOdHJhbnNhY3Rpb25faWQYASABKAlIAIgBARIYChBjcmVkaXRzX2NvbnN1bWVkGAIgASgFEhAKCGNvc3RfdXNkGAcgASgJEikKCnVzYWdlX3VuaXQYCCABKA4yFS5wdWJsaWNfYXBpLlVzYWdlVW5pdBIhChRlZmZlY3RpdmVfbW9kZWxfbmFtZRgJIAEoCUgBiAEBQhEKD190cmFuc2FjdGlvbl9pZEIXChVfZWZmZWN0aXZlX21vZGVsX25hbWVKBAgDEARKBAgEEAVKBAgFEAZKBAgGEAdSDGlucHV0X3Rva2Vuc1INb3V0cHV0X3Rva2Vuc1IXY2FjaGVfcmVhZF9pbnB1dF90b2tlbnNSG2NhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyKSBAoOQ2hhdFJlc3VsdE5vZGUSCgoCaWQYASABKAUSLAoEdHlwZRgCIAEoDjIeLnB1YmxpY19hcGkuQ2hhdFJlc3VsdE5vZGVUeXBlEg8KB2NvbnRlbnQYAyABKAkSNAoIdG9vbF91c2UYBCABKAsyHS5wdWJsaWNfYXBpLkNoYXRSZXN1bHRUb29sVXNlSACIAQESNQoIdGhpbmtpbmcYBSABKAsyHi5wdWJsaWNfYXBpLkNoYXRSZXN1bHRUaGlua2luZ0gBiAEBEkQKEGJpbGxpbmdfbWV0YWRhdGEYBiABKAsyJS5wdWJsaWNfYXBpLkNoYXRSZXN1bHRCaWxsaW5nTWV0YWRhdGFIAogBARI5CghtZXRhZGF0YRgHIAEoCzIiLnB1YmxpY19hcGkuQ2hhdFJlc3VsdE5vZGVNZXRhZGF0YUgDiAEBEjoKC3Rva2VuX3VzYWdlGAggASgLMiAucHVibGljX2FwaS5DaGF0UmVzdWx0VG9rZW5Vc2FnZUgEiAEBEhkKDHRpbWVzdGFtcF9tcxgKIAEoBEgFiAEBQgsKCV90b29sX3VzZUILCglfdGhpbmtpbmdCEwoRX2JpbGxpbmdfbWV0YWRhdGFCCwoJX21ldGFkYXRhQg4KDF90b2tlbl91c2FnZUIPCg1fdGltZXN0YW1wX21zSgQICRAKUg1jb250ZXh0X3VzYWdlIqYBChZDaGF0UmVzdWx0Tm9kZU1ldGFkYXRhEhYKCW9wZW5haV9pZBgBIAEoCUgAiAEBEhYKCWdvb2dsZV90cxgCIAEoDEgBiAEBEhUKCHByb3ZpZGVyGAMgASgJSAKIAQESEgoFcGhhc2UYBCABKAlIA4gBAUIMCgpfb3BlbmFpX2lkQgwKCl9nb29nbGVfdHNCCwoJX3Byb3ZpZGVyQggKBl9waGFzZSLaAQoSQ2hhdFJlc3VsdFRoaW5raW5nEhQKB3N1bW1hcnkYASABKAlIAIgBARIeChFlbmNyeXB0ZWRfY29udGVudBgCIAEoCUgBiAEBEhQKB2NvbnRlbnQYAyABKAlIAogBARIpChxvcGVuYWlfcmVzcG9uc2VzX2FwaV9pdGVtX2lkGAQgASgJSAOIAQFCCgoIX3N1bW1hcnlCFAoSX2VuY3J5cHRlZF9jb250ZW50QgoKCF9jb250ZW50Qh8KHV9vcGVuYWlfcmVzcG9uc2VzX2FwaV9pdGVtX2lkIuAFChRDaGF0UmVzdWx0VG9rZW5Vc2FnZRIZCgxpbnB1dF90b2tlbnMYASABKAVIAIgBARIaCg1vdXRwdXRfdG9rZW5zGAIgASgFSAGIAQESJAoXY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMYAyABKAVIAogBARIoChtjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMYBCABKAVIA4gBARIhChRzeXN0ZW1fcHJvbXB0X3Rva2VucxgFIAEoBUgEiAEBEiAKE2NoYXRfaGlzdG9yeV90b2tlbnMYBiABKAVIBYgBARIjChZjdXJyZW50X21lc3NhZ2VfdG9rZW5zGAcgASgFSAaIAQESHwoSbWF4X2NvbnRleHRfdG9rZW5zGAggASgFSAeIAQESJAoXdG9vbF9kZWZpbml0aW9uc190b2tlbnMYCSABKAVICIgBARIfChJ0b29sX3Jlc3VsdF90b2tlbnMYCiABKAVICYgBARImChlhc3Npc3RhbnRfcmVzcG9uc2VfdG9rZW5zGAsgASgFSAqIAQESHgoRbWF4X291dHB1dF90b2tlbnMYDSABKAVIC4gBAUIPCg1faW5wdXRfdG9rZW5zQhAKDl9vdXRwdXRfdG9rZW5zQhoKGF9jYWNoZV9yZWFkX2lucHV0X3Rva2Vuc0IeChxfY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zQhcKFV9zeXN0ZW1fcHJvbXB0X3Rva2Vuc0IWChRfY2hhdF9oaXN0b3J5X3Rva2Vuc0IZChdfY3VycmVudF9tZXNzYWdlX3Rva2Vuc0IVChNfbWF4X2NvbnRleHRfdG9rZW5zQhoKGF90b29sX2RlZmluaXRpb25zX3Rva2Vuc0IVChNfdG9vbF9yZXN1bHRfdG9rZW5zQhwKGl9hc3Npc3RhbnRfcmVzcG9uc2VfdG9rZW5zQhQKEl9tYXhfb3V0cHV0X3Rva2VucyJjChFDaGF0UmVzdWx0VG9vbFVzZRITCgt0b29sX3VzZV9pZBgBIAEoCRIRCgl0b29sX25hbWUYAiABKAkSEgoKaW5wdXRfanNvbhgDIAEoCRISCgppc19wYXJ0aWFsGAQgASgIIlwKFkNoZWNrVG9vbFNhZmV0eVJlcXVlc3QSKQoHdG9vbF9pZBgBIAEoDjIYLnB1YmxpY19hcGkuUmVtb3RlVG9vbElkEhcKD3Rvb2xfaW5wdXRfanNvbhgCIAEoCSIqChdDaGVja1Rvb2xTYWZldHlSZXNwb25zZRIPCgdpc19zYWZlGAEgASgIIjoKFkNoZWNrcG9pbnRCbG9ic1JlcXVlc3QSIAoFYmxvYnMYASABKAsyES5wdWJsaWNfYXBpLkJsb2JzIjQKF0NoZWNrcG9pbnRCbG9ic1Jlc3BvbnNlEhkKEW5ld19jaGVja3BvaW50X2lkGAEgASgJIpACChhDbGllbnRDb21wbGV0aW9uVGltZWxpbmUSEgoKcmVxdWVzdF9pZBgBIAEoCRIgChhpbml0aWFsX3JlcXVlc3RfdGltZV9zZWMYAiABKAMSIQoZaW5pdGlhbF9yZXF1ZXN0X3RpbWVfbnNlYxgDIAEoBRIaChJhcGlfc3RhcnRfdGltZV9zZWMYBCABKAMSGwoTYXBpX3N0YXJ0X3RpbWVfbnNlYxgFIAEoBRIYChBhcGlfZW5kX3RpbWVfc2VjGAYgASgDEhkKEWFwaV9lbmRfdGltZV9uc2VjGAcgASgFEhUKDWVtaXRfdGltZV9zZWMYCCABKAMSFgoOZW1pdF90aW1lX25zZWMYCSABKAUiWgofQ2xpZW50Q29tcGxldGlvblRpbWVsaW5lUmVxdWVzdBI3Cgl0aW1lbGluZXMYASADKAsyJC5wdWJsaWNfYXBpLkNsaWVudENvbXBsZXRpb25UaW1lbGluZSIiCiBDbGllbnRDb21wbGV0aW9uVGltZWxpbmVSZXNwb25zZSI6ChJDbGllbnRNZXRyaWNzRXZlbnQSFQoNY2xpZW50X21ldHJpYxgBIAEoCRINCgV2YWx1ZRgCIAEoBCJHChRDbGllbnRNZXRyaWNzUmVxdWVzdBIvCgdtZXRyaWNzGAEgAygLMh4ucHVibGljX2FwaS5DbGllbnRNZXRyaWNzRXZlbnQiFwoVQ2xpZW50TWV0cmljc1Jlc3BvbnNlIo8BChBDbG91ZEFjY2Vzc0VudHJ5EhYKDnByaW5jaXBhbF90eXBlGAEgASgJEhQKDHByaW5jaXBhbF9pZBgCIAEoCRIMCgRyb2xlGAMgASgJEhIKCmdyYW50ZWRfYnkYBCABKAkSEgoKY3JlYXRlZF9hdBgFIAEoCRIXCg9wcmluY2lwYWxfZW1haWwYBiABKAkihAEKF0Nsb3VkQWNjZXNzR3JhbnRSZXF1ZXN0EhMKC29iamVjdF90eXBlGAEgASgJEhEKCW9iamVjdF9pZBgCIAEoCRIzCglwcmluY2lwYWwYAyABKAsyIC5wdWJsaWNfYXBpLkNsb3VkQWNjZXNzUHJpbmNpcGFsEgwKBHJvbGUYBCABKAkiGgoYQ2xvdWRBY2Nlc3NHcmFudFJlc3BvbnNlIkAKFkNsb3VkQWNjZXNzTGlzdFJlcXVlc3QSEwoLb2JqZWN0X3R5cGUYASABKAkSEQoJb2JqZWN0X2lkGAIgASgJIkgKF0Nsb3VkQWNjZXNzTGlzdFJlc3BvbnNlEi0KB2VudHJpZXMYASADKAsyHC5wdWJsaWNfYXBpLkNsb3VkQWNjZXNzRW50cnkiWQoUQ2xvdWRBY2Nlc3NQcmluY2lwYWwSEQoHdXNlcl9pZBgBIAEoCUgAEg8KBWVtYWlsGAIgASgJSAASEAoGdGVuYW50GAMgASgISABCCwoJcHJpbmNpcGFsIncKGENsb3VkQWNjZXNzUmV2b2tlUmVxdWVzdBITCgtvYmplY3RfdHlwZRgBIAEoCRIRCglvYmplY3RfaWQYAiABKAkSMwoJcHJpbmNpcGFsGAMgASgLMiAucHVibGljX2FwaS5DbG91ZEFjY2Vzc1ByaW5jaXBhbCIbChlDbG91ZEFjY2Vzc1Jldm9rZVJlc3BvbnNlItwECgpDbG91ZEFnZW50EhAKCGFnZW50X2lkGAEgASgJEhIKCmFnZW50X25hbWUYAiABKAkSNgoMY2FwYWJpbGl0aWVzGAMgAygOMiAucHVibGljX2FwaS5DbG91ZEFnZW50Q2FwYWJpbGl0eRIsCgZzdGF0dXMYBCABKA4yHC5wdWJsaWNfYXBpLkNsb3VkQWdlbnRTdGF0dXMSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLd29ya2Zsb3dfaWQYByABKAkSGQoNbWVzc2FnZV9jb3VudBgIIAEoDUICGAESEQoJZXhwZXJ0X2lkGAkgASgJEh0KFWV4ZWN1dGlvbl9lbnZpcm9ubWVudBgKIAEoCRIQCghhcmNoaXZlZBgLIAEoCBIQCghzcGFjZV9pZBgMIAEoCRIWCg5lbnZpcm9ubWVudF9pZBgNIAEoCRIRCglkYWVtb25faWQYDiABKAkSFgoOZGFlbW9uX3Bvb2xfaWQYDyABKAkSEwoLcmVzaWRlbnRfaWQYECABKAkSEQoJdm1fc3RhdHVzGBEgASgJEhgKEHZtX2Vycm9yX21lc3NhZ2UYEiABKAkSPgoQdm1fZXJyb3JfZGV0YWlscxgTIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRBZ2VudFZtRXJyb3JEZXRhaWxzEhcKD3BhcmVudF9hZ2VudF9pZBgUIAEoCSJwChdDbG91ZEFnZW50U2Vzc2lvbkNvbmZpZxI3Cg9hZ2VudF9sb29wX3R5cGUYASABKA4yHi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRMb29wVHlwZRISCgVtb2RlbBgCIAEoCUgAiAEBQggKBl9tb2RlbCJxChhDbG91ZEFnZW50Vm1FcnJvckRldGFpbHMSDwoHc3VtbWFyeRgBIAEoCRIMCgRoaW50GAIgASgJEhEKCXJhd19lcnJvchgDIAEoCRIRCglidWlsZF9sb2cYBCABKAkSEAoIYnVpbGRfaWQYBSABKAkiMgoeQ2xvdWRBZ2VudHNBcmNoaXZlQWdlbnRSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJIjMKH0Nsb3VkQWdlbnRzQXJjaGl2ZUFnZW50UmVzcG9uc2USEAoIYWdlbnRfaWQYASABKAkiNAokQ2xvdWRBZ2VudHNBenVyZURldk9wc1Byb3ZpZGVyUGFyYW1zEgwKBGhvc3QYASABKAkiPAonQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHNSZXF1ZXN0EhEKCWFnZW50X2lkcxgBIAMoCSLJAQooQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHNSZXNwb25zZRJlChJjb3VudHNfYnlfYWdlbnRfaWQYASADKAsySS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQmF0Y2hHZXRNZXNzYWdlQ291bnRzUmVzcG9uc2UuQ291bnRzQnlBZ2VudElkRW50cnkaNgoUQ291bnRzQnlBZ2VudElkRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgNOgI4ASLLAgoXQ2xvdWRBZ2VudHNDb250ZW50QmxvY2sSMAoEdGV4dBgBIAEoCzIgLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUZXh0QmxvY2tIABI3Cgh0b29sX3VzZRgCIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUb29sVXNlQmxvY2tIABI9Cgt0b29sX3Jlc3VsdBgDIAEoCzImLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUb29sUmVzdWx0QmxvY2tIABI4Cgh0aGlua2luZxgEIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUaGlua2luZ0Jsb2NrSAASQwoOZXh0ZXJuYWxfZXZlbnQYBSABKAsyKS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzRXh0ZXJuYWxFdmVudEJsb2NrSABCBwoFYmxvY2sitgIKHUNsb3VkQWdlbnRzQ3JlYXRlQWdlbnRSZXF1ZXN0EhIKCmFnZW50X25hbWUYASABKAkSNgoMY2FwYWJpbGl0aWVzGAIgAygOMiAucHVibGljX2FwaS5DbG91ZEFnZW50Q2FwYWJpbGl0eRIcCg9pbml0aWFsX21lc3NhZ2UYAyABKAlIAIgBARJACg5zZXNzaW9uX2NvbmZpZxgEIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRBZ2VudFNlc3Npb25Db25maWdIAYgBARIcCg9pZGVtcG90ZW5jeV9rZXkYBSABKAlIAogBARIQCghzcGFjZV9pZBgGIAEoCUISChBfaW5pdGlhbF9tZXNzYWdlQhEKD19zZXNzaW9uX2NvbmZpZ0ISChBfaWRlbXBvdGVuY3lfa2V5IkcKHkNsb3VkQWdlbnRzQ3JlYXRlQWdlbnRSZXNwb25zZRIlCgVhZ2VudBgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRBZ2VudCIxCh1DbG91ZEFnZW50c0RlbGV0ZUFnZW50UmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCSJDCh5DbG91ZEFnZW50c0RlbGV0ZUFnZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIQCghhZ2VudF9pZBgCIAEoCSKXAQodQ2xvdWRBZ2VudHNFeHRlcm5hbEV2ZW50QmxvY2sSDgoGc291cmNlGAEgASgJEhIKCmV2ZW50X3R5cGUYAiABKAkSDwoHc3VtbWFyeRgDIAEoCRIPCgdkZXRhaWxzGAQgASgJEhwKD3N1YnNjcmlwdGlvbl9pZBgFIAEoCUgAiAEBQhIKEF9zdWJzY3JpcHRpb25faWQiLgoaQ2xvdWRBZ2VudHNHZXRBZ2VudFJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkiRAobQ2xvdWRBZ2VudHNHZXRBZ2VudFJlc3BvbnNlEiUKBWFnZW50GAEgASgLMhYucHVibGljX2FwaS5DbG91ZEFnZW50IucCCh1DbG91ZEFnZW50c0dldE1lc3NhZ2VzUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRIhChBhZnRlcl9tZXNzYWdlX2lkGAIgASgJQgIYAUgAiAEBEhIKBWxpbWl0GAMgASgNSAGIAQESOAoPYWZ0ZXJfdGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjkKEGJlZm9yZV90aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQESJAoXaW5jbHVkZV9yZXBsYXlfZmlkZWxpdHkYBiABKAhIBIgBAUITChFfYWZ0ZXJfbWVzc2FnZV9pZEIICgZfbGltaXRCEgoQX2FmdGVyX3RpbWVzdGFtcEITChFfYmVmb3JlX3RpbWVzdGFtcEIaChhfaW5jbHVkZV9yZXBsYXlfZmlkZWxpdHkihwQKHkNsb3VkQWdlbnRzR2V0TWVzc2FnZXNSZXNwb25zZRIwCghtZXNzYWdlcxgBIAMoCzIeLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNNZXNzYWdlEhAKCGhhc19uZXh0GAIgASgIEh0KEGZpcnN0X21lc3NhZ2VfaWQYAyABKAlIAIgBARIcCg9sYXN0X21lc3NhZ2VfaWQYBCABKAlIAYgBARIyCgxhZ2VudF9zdGF0dXMYBSABKA4yHC5wdWJsaWNfYXBpLkNsb3VkQWdlbnRTdGF0dXMSPgoQcGVuZGluZ19tZXNzYWdlcxgGIAMoCzIkLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNRdWV1ZWRNZXNzYWdlEhQKDHF1ZXVlX3BhdXNlZBgHIAEoCBIRCgloYXNfbmV3ZXIYCCABKAgSOQoQb2xkZXN0X3RpbWVzdGFtcBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARI5ChBuZXdlc3RfdGltZXN0YW1wGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBQhMKEV9maXJzdF9tZXNzYWdlX2lkQhIKEF9sYXN0X21lc3NhZ2VfaWRCEwoRX29sZGVzdF90aW1lc3RhbXBCEwoRX25ld2VzdF90aW1lc3RhbXAiawojQ2xvdWRBZ2VudHNHZXRNZXNzYWdlc1N0cmVhbVJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkSHQoQYWZ0ZXJfbWVzc2FnZV9pZBgCIAEoCUgAiAEBQhMKEV9hZnRlcl9tZXNzYWdlX2lkItcBCiRDbG91ZEFnZW50c0dldE1lc3NhZ2VzU3RyZWFtUmVzcG9uc2USEAoIYWdlbnRfaWQYASABKAkSMAoIbWVzc2FnZXMYAiADKAsyHi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzTWVzc2FnZRIdChVwZW5kaW5nX21lc3NhZ2VfY291bnQYAyABKA0SHgoRbGF0ZXN0X21lc3NhZ2VfaWQYBCABKAlIAIgBARIWCg5zdHJlYW1fdGltZW91dBgFIAEoCEIUChJfbGF0ZXN0X21lc3NhZ2VfaWQiPgofQ2xvdWRBZ2VudHNHaXRIdWJQcm92aWRlclBhcmFtcxIMCgRob3N0GAEgASgJEg0KBW93bmVyGAIgASgJIi8KH0Nsb3VkQWdlbnRzR2l0TGFiUHJvdmlkZXJQYXJhbXMSDAoEaG9zdBgBIAEoCSK6AgojQ2xvdWRBZ2VudHNIYW5kb2ZmVG9Qb3NlaWRvblJlcXVlc3QSGAoQdGFza19kZXNjcmlwdGlvbhgBIAEoCRIYChBpbml0aWFsX21lc3NhZ2VzGAIgAygJEhYKCWV4cGVydF9pZBgDIAEoCUgAiAEBEhcKCmFnZW50X25hbWUYBCABKAlIAYgBARIVCg10b3VjaGVkX2ZpbGVzGAUgAygJEh8KEndvcmtpbmdfdHJlZV9wYXRjaBgGIAEoCUgCiAEBEiUKGGV4aXN0aW5nX2NvbnZlcnNhdGlvbl9pZBgHIAEoCUgDiAEBQgwKCl9leHBlcnRfaWRCDQoLX2FnZW50X25hbWVCFQoTX3dvcmtpbmdfdHJlZV9wYXRjaEIbChlfZXhpc3RpbmdfY29udmVyc2F0aW9uX2lkIjgKJENsb3VkQWdlbnRzSGFuZG9mZlRvUG9zZWlkb25SZXNwb25zZRIQCghhZ2VudF9pZBgBIAEoCSKAAwocQ2xvdWRBZ2VudHNMaXN0QWdlbnRzUmVxdWVzdBIUCgxzZWFyY2hfcXVlcnkYASABKAkSGAoQaW5jbHVkZV9hcmNoaXZlZBgCIAEoCBIRCglleHBlcnRfaWQYAyABKAkSMQoNY3JlYXRlZF9hZnRlchgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoOY3JlYXRlZF9iZWZvcmUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKDmluY2x1ZGVfc2hhcmVkGAYgASgIEhsKE2luY2x1ZGVfb2xhY19zaGFyZWQYByABKAgSDQoFbGltaXQYCCABKA0SEgoKcGFnZV90b2tlbhgJIAEoCRIQCghzcGFjZV9pZBgKIAEoCRIaChJkZWZhdWx0X3NwYWNlX29ubHkYCyABKAgSHAoPcGFyZW50X2FnZW50X2lkGAwgASgJSACIAQFCEgoQX3BhcmVudF9hZ2VudF9pZCJyCh1DbG91ZEFnZW50c0xpc3RBZ2VudHNSZXNwb25zZRImCgZhZ2VudHMYASADKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQSEAoIaGFzX21vcmUYAiABKAgSFwoPbmV4dF9wYWdlX3Rva2VuGAMgASgJItEBCiNDbG91ZEFnZW50c01jcENyZWRlbnRpYWxSZXF1aXJlbWVudBIWCg5yZXF1aXJlbWVudF9pZBgBIAEoCRIVCg1tY3BfY29uZmlnX2lkGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRIRCglhdXRoX3R5cGUYBCABKAUSDgoGcmVhc29uGAUgASgJEi4KCmV4cGlyZXNfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCnJlcXVlc3RfaWQYByABKAkiVgobQ2xvdWRBZ2VudHNNY3BUb29sUmVmZXJlbmNlEhEKCXNlcnZlcl9pZBgBIAEoCRIWCgl0b29sX25hbWUYAiABKAlIAIgBAUIMCgpfdG9vbF9uYW1lIowCChJDbG91ZEFnZW50c01lc3NhZ2USCgoCaWQYASABKAkSDAoEcm9sZRgCIAEoCRI0Cgdjb250ZW50GAMgAygLMiMucHVibGljX2FwaS5DbG91ZEFnZW50c0NvbnRlbnRCbG9jaxIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI9CghtZXRhZGF0YRgFIAEoCzImLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNNZXNzYWdlTWV0YWRhdGFIAIgBARIZCgxjb21wb3NpdGVfaWQYBiABKAlIAYgBAUILCglfbWV0YWRhdGFCDwoNX2NvbXBvc2l0ZV9pZCLOAQohQ2xvdWRBZ2VudHNNZXNzYWdlQmlsbGluZ01ldGFkYXRhEhYKDnRyYW5zYWN0aW9uX2lkGAEgASgJEhgKEGNyZWRpdHNfY29uc3VtZWQYAiABKAUSEAoIY29zdF91c2QYAyABKAkSKQoKdXNhZ2VfdW5pdBgEIAEoDjIVLnB1YmxpY19hcGkuVXNhZ2VVbml0EiEKFGVmZmVjdGl2ZV9tb2RlbF9uYW1lGAUgASgJSACIAQFCFwoVX2VmZmVjdGl2ZV9tb2RlbF9uYW1lItgFChpDbG91ZEFnZW50c01lc3NhZ2VNZXRhZGF0YRIXCgpyZXF1ZXN0X2lkGAEgASgJSACIAQESGAoLc3RvcF9yZWFzb24YAiABKAlIAYgBARISCgVtb2RlbBgDIAEoCUgCiAEBEjsKC3Rva2VuX3VzYWdlGAQgASgLMiEucHVibGljX2FwaS5DbG91ZEFnZW50c1Rva2VuVXNhZ2VIA4gBARIcCg90dXJuX3JlcXVlc3RfaWQYBSABKAlIBIgBARIXCgppc19wYXJ0aWFsGAYgASgISAWIAQESFQoIaXNfZmluYWwYByABKAhIBogBARIoChtwZXJzaXN0ZWRfdGhyb3VnaF9ldmVudF9zZXEYCCABKANIB4gBARIcCg9zdWJzY3JpcHRpb25faWQYCSABKAlICIgBARIbCg5zZW5kZXJfdXNlcl9pZBgKIAEoCUgJiAEBEkcKEGJpbGxpbmdfbWV0YWRhdGEYCyADKAsyLS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzTWVzc2FnZUJpbGxpbmdNZXRhZGF0YRJEChN2ZnNfZmlsZV9yZWZlcmVuY2VzGAwgAygLMicucHVibGljX2FwaS5DbG91ZEFnZW50c1Zmc0ZpbGVSZWZlcmVuY2USRAoTbWNwX3Rvb2xfcmVmZXJlbmNlcxgNIAMoCzInLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNNY3BUb29sUmVmZXJlbmNlQg0KC19yZXF1ZXN0X2lkQg4KDF9zdG9wX3JlYXNvbkIICgZfbW9kZWxCDgoMX3Rva2VuX3VzYWdlQhIKEF90dXJuX3JlcXVlc3RfaWRCDQoLX2lzX3BhcnRpYWxCCwoJX2lzX2ZpbmFsQh4KHF9wZXJzaXN0ZWRfdGhyb3VnaF9ldmVudF9zZXFCEgoQX3N1YnNjcmlwdGlvbl9pZEIRCg9fc2VuZGVyX3VzZXJfaWQiUAoZQ2xvdWRBZ2VudHNQcm92aWRlclBhcmFtcxIQCghwcm92aWRlchgBIAEoCRIMCgRob3N0GAIgASgJEhMKC3BhdGhfcHJlZml4GAMgASgJIm4KGENsb3VkQWdlbnRzUXVldWVkTWVzc2FnZRIQCghldmVudF9pZBgBIAEoCRIvCgtyZWNlaXZlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHY29udGVudBgDIAEoCSKuAwonQ2xvdWRBZ2VudHNSZWZyZXNoR2l0Q3JlZGVudGlhbHNSZXF1ZXN0Ej0KBmdpdGh1YhgDIAEoCzIrLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNHaXRIdWJQcm92aWRlclBhcmFtc0gAEj0KBmdpdGxhYhgEIAEoCzIrLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNHaXRMYWJQcm92aWRlclBhcmFtc0gAEkgKDGF6dXJlX2Rldm9wcxgFIAEoCzIwLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNBenVyZURldk9wc1Byb3ZpZGVyUGFyYW1zSAASOAoHZ2VuZXJpYxgJIAEoCzIlLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNQcm92aWRlclBhcmFtc0gAEh4KFmNhcGFiaWxpdHlfaW5zdGFuY2VfaWQYASABKAkSEgoKc2tpcF9jYWNoZRgCIAEoCBIQCghhZ2VudF9pZBgGIAEoCRISCgpyZXF1ZXN0X2lkGAcgASgJEhQKDGRhZW1vbl92bV9pZBgIIAEoCUIRCg9wcm92aWRlcl9wYXJhbXMiKgooQ2xvdWRBZ2VudHNSZWZyZXNoR2l0Q3JlZGVudGlhbHNSZXNwb25zZSJDCh1DbG91ZEFnZW50c1JlbmFtZUFnZW50UmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRIQCghuZXdfbmFtZRgCIAEoCSJHCh5DbG91ZEFnZW50c1JlbmFtZUFnZW50UmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQiYQoiQ2xvdWRBZ2VudHNSZXF1ZXN0TWNwU2VydmVyUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRIVCg1tY3BfY29uZmlnX2lkGAIgASgJEhIKCnJlcXVlc3RfaWQYAyABKAkipgEKI0Nsb3VkQWdlbnRzUmVxdWVzdE1jcFNlcnZlclJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRJUChZjcmVkZW50aWFsX3JlcXVpcmVtZW50GAIgASgLMi8ucHVibGljX2FwaS5DbG91ZEFnZW50c01jcENyZWRlbnRpYWxSZXF1aXJlbWVudEgAiAEBQhkKF19jcmVkZW50aWFsX3JlcXVpcmVtZW50InQKHUNsb3VkQWdlbnRzU2VuZE1lc3NhZ2VSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSHAoPaWRlbXBvdGVuY3lfa2V5GAMgASgJSACIAQFCEgoQX2lkZW1wb3RlbmN5X2tleSJrCh5DbG91ZEFnZW50c1NlbmRNZXNzYWdlUmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQSDgoGcXVldWVkGAIgASgIEhIKCnJlcXVlc3RfaWQYAyABKAkijgEKFENsb3VkQWdlbnRzVGV4dEJsb2NrEgwKBHRleHQYASABKAkSFgoJZ29vZ2xlX3RzGAIgASgMSACIAQESFgoJb3BlbmFpX2lkGAMgASgJSAGIAQESEgoFcGhhc2UYBCABKAlIAogBAUIMCgpfZ29vZ2xlX3RzQgwKCl9vcGVuYWlfaWRCCAoGX3BoYXNlIs0BChhDbG91ZEFnZW50c1RoaW5raW5nQmxvY2sSDwoHY29udGVudBgBIAEoCRIUCgdzdW1tYXJ5GAIgASgJSACIAQESHgoRZW5jcnlwdGVkX2NvbnRlbnQYAyABKAlIAYgBARIVCghwcm92aWRlchgEIAEoCUgCiAEBEhYKCW9wZW5haV9pZBgFIAEoCUgDiAEBQgoKCF9zdW1tYXJ5QhQKEl9lbmNyeXB0ZWRfY29udGVudEILCglfcHJvdmlkZXJCDAoKX29wZW5haV9pZCL8AgoVQ2xvdWRBZ2VudHNUb2tlblVzYWdlEhQKDGlucHV0X3Rva2VucxgBIAEoDRIVCg1vdXRwdXRfdG9rZW5zGAIgASgNEh8KF2NhY2hlX3JlYWRfaW5wdXRfdG9rZW5zGAMgASgNEiMKG2NhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucxgEIAEoDRIcChRzeXN0ZW1fcHJvbXB0X3Rva2VucxgFIAEoDRIbChNjaGF0X2hpc3RvcnlfdG9rZW5zGAYgASgNEh4KFmN1cnJlbnRfbWVzc2FnZV90b2tlbnMYByABKA0SGgoSbWF4X2NvbnRleHRfdG9rZW5zGAggASgNEh8KF3Rvb2xfZGVmaW5pdGlvbnNfdG9rZW5zGAkgASgNEhoKEnRvb2xfcmVzdWx0X3Rva2VucxgKIAEoDRIhChlhc3Npc3RhbnRfcmVzcG9uc2VfdG9rZW5zGAsgASgNEhkKEW1heF9vdXRwdXRfdG9rZW5zGAwgASgNImYKGkNsb3VkQWdlbnRzVG9vbFJlc3VsdEJsb2NrEhMKC3Rvb2xfdXNlX2lkGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSFQoIaXNfZXJyb3IYAyABKAhIAIgBAUILCglfaXNfZXJyb3IirAEKF0Nsb3VkQWdlbnRzVG9vbFVzZUJsb2NrEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFaW5wdXQYAyABKAkSFgoJZ29vZ2xlX3RzGAQgASgMSACIAQESFgoJb3BlbmFpX2lkGAUgASgJSAGIAQESEgoFcGhhc2UYBiABKAlIAogBAUIMCgpfZ29vZ2xlX3RzQgwKCl9vcGVuYWlfaWRCCAoGX3BoYXNlIjQKIENsb3VkQWdlbnRzVW5hcmNoaXZlQWdlbnRSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJIjUKIUNsb3VkQWdlbnRzVW5hcmNoaXZlQWdlbnRSZXNwb25zZRIQCghhZ2VudF9pZBgBIAEoCSJoCihDbG91ZEFnZW50c1VwZGF0ZUFnZW50U2Vzc2lvblRhZ3NSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJEgsKA2tleRgCIAEoCRINCgV2YWx1ZRgDIAEoCRIOCgZkZWxldGUYBCABKAgiUgopQ2xvdWRBZ2VudHNVcGRhdGVBZ2VudFNlc3Npb25UYWdzUmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQidgolQ2xvdWRBZ2VudHNVcGRhdGVTZXNzaW9uQ29uZmlnUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRI7Cg5zZXNzaW9uX2NvbmZpZxgCIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRBZ2VudFNlc3Npb25Db25maWciTwomQ2xvdWRBZ2VudHNVcGRhdGVTZXNzaW9uQ29uZmlnUmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQidQobQ2xvdWRBZ2VudHNWZnNGaWxlUmVmZXJlbmNlEg8KB2ZpbGVfaWQYASABKAkSFQoNZmlsZXN5c3RlbV9pZBgCIAEoCRIMCgRwYXRoGAMgASgJEhAKCHNwYWNlX2lkGAQgASgJEg4KBmlzX2RpchgFIAEoCCL5AgoPQ2xvdWREYWVtb25Qb29sEgoKAmlkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRISCgp2aXNpYmlsaXR5GAQgASgFEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgFIAEoCRIcChRjcmVhdGVkX2J5X3VzZXJfbmFtZRgGIAEoCRISCgpjcmVhdGVkX2F0GAcgASgJEhIKCnVwZGF0ZWRfYXQYCCABKAkSGAoQcmVzb3VyY2VfdmVyc2lvbhgJIAEoAxISCgpkZWxldGVkX2F0GAogASgJEiAKGGRhZW1vbl9jb25uZWN0b3JfdXNlcl9pZBgLIAEoCRIQCghzcGFjZV9pZBgMIAEoCRJXChp3b3Jrc3BhY2VfaXNvbGF0aW9uX3BvbGljeRgNIAEoDjIzLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sV29ya3NwYWNlSXNvbGF0aW9uUG9saWN5Il8KHUNsb3VkRGFlbW9uUG9vbENvbm5lY3RvcklucHV0EhEKB3VzZXJfaWQYASABKAlIABIeChRzZXJ2aWNlX2FjY291bnRfbmFtZRgCIAEoCUgAQgsKCWNvbm5lY3RvciLLAQoVQ2xvdWREYWVtb25Qb29sRGFlbW9uEg0KBXZtX2lkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLc2xvdHNfdG90YWwYAyABKAUSFAoMc2xvdHNfaW5fdXNlGAQgASgFEhYKDndvcmtzcGFjZV9wYXRoGAUgASgJEhQKDGNvbm5lY3RlZF9hdBgGIAEoCRIWCg5sYXN0X2hlYXJ0YmVhdBgHIAEoCRIPCgdwb29sX2lkGAggASgJEhMKC2NsaV92ZXJzaW9uGAkgASgJIsIBChVDbG91ZERhZW1vblBvb2xTdGF0dXMSFgoOZGFlbW9uc19vbmxpbmUYASABKAUSEwoLc2xvdHNfdG90YWwYAiABKAUSFAoMc2xvdHNfaW5fdXNlGAMgASgFEhgKEGxhc3RfZGFlbW9uX3NlZW4YBCABKAkSKgodd29ya3RyZWVfY2FwYWJsZV9kYWVtb25fY291bnQYBSABKAVIAIgBAUIgCh5fd29ya3RyZWVfY2FwYWJsZV9kYWVtb25fY291bnQipQUKEENsb3VkRW52aXJvbm1lbnQSEAoIaW1hZ2VfaWQYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhcKD2N1cnJlbnRfdmVyc2lvbhgEIAEoCRISCgZzdGF0dXMYBSABKAVCAhgBEhIKCnZpc2liaWxpdHkYBiABKAUSFgoObW9kYWxfaW1hZ2VfaWQYByABKAkSEgoKY3JlYXRlZF9hdBgIIAEoCRISCgp1cGRhdGVkX2F0GAkgASgJEhgKEHJlc291cmNlX3ZlcnNpb24YCiABKAMSOgoFcmVwb3MYCyADKAsyKy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRDbG9uZVJlcG9zaXRvcnkSRAoVZW52aXJvbm1lbnRfdmFyaWFibGVzGAwgASgLMiUucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50VmFyaWFibGVzEhIKCmJhc2VfaW1hZ2UYDSABKAkSFwoPcmVmcmVzaF9lbmFibGVkGA4gASgIEhAKCHNwYWNlX2lkGA8gASgJEjQKBHRhZ3MYECADKAsyJi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnQuVGFnc0VudHJ5EjwKEGxpZmVjeWNsZV9zdGF0dXMYESABKA4yIi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRTdGF0dXMSGwoTc2FuZGJveF9wcm92aWRlcl9pZBgSIAEoCRI6ChBzYW5kYm94X3Byb3ZpZGVyGBMgASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlchorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJtCh9DbG91ZEVudmlyb25tZW50Q2xvbmVSZXBvc2l0b3J5Eg0KBW93bmVyGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGYnJhbmNoGAMgASgJEgwKBGhvc3QYBCABKAkSDwoHcHJvamVjdBgFIAEoCSKeAwoWQ2xvdWRFbnZpcm9ubWVudENvbmZpZxIUCgxkaXNwbGF5X25hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEgoKdmlzaWJpbGl0eRgDIAEoBRI6CgVyZXBvcxgEIAMoCzIrLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENsb25lUmVwb3NpdG9yeRJEChVlbnZpcm9ubWVudF92YXJpYWJsZXMYBSABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWYXJpYWJsZXMSEgoKYmFzZV9pbWFnZRgGIAEoCRIXCg9yZWZyZXNoX2VuYWJsZWQYByABKAgSEAoIc3BhY2VfaWQYCCABKAkSOgoEdGFncxgJIAMoCzIsLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENvbmZpZy5UYWdzRW50cnkSGwoTc2FuZGJveF9wcm92aWRlcl9pZBgKIAEoCRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK7BAoZQ2xvdWRFbnZpcm9ubWVudE9wZXJhdGlvbhIUCgxvcGVyYXRpb25faWQYASABKAkSQQoOb3BlcmF0aW9uX3R5cGUYAiABKA4yKS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25UeXBlEhYKDmVudmlyb25tZW50X2lkGAMgASgJEjkKBXN0YXRlGAQgASgOMioucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uU3RhdGUSOQoFcGhhc2UYBSABKA4yKi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25QaGFzZRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnN0YXJ0ZWRfYXQYByABKAkSEgoKdXBkYXRlZF9hdBgIIAEoCRIUCgxjb21wbGV0ZWRfYXQYCSABKAkSHQoQc3RhcnRpbmdfdmVyc2lvbhgKIAEoCUgAiAEBEiEKGXN0YXJ0aW5nX3Jlc291cmNlX3ZlcnNpb24YCyABKAMSOwoGcmVzdWx0GA0gASgLMisucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uUmVzdWx0EjkKBWVycm9yGA4gASgLMioucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uRXJyb3JCEwoRX3N0YXJ0aW5nX3ZlcnNpb25KBAgMEA1SEGNhbmNlbF9yZXF1ZXN0ZWQiggEKHkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25FcnJvchI8CgRjb2RlGAEgASgOMi4ucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uRXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSEQoJcmV0cnlhYmxlGAMgASgIImQKH0Nsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25SZXN1bHQSFgoObW9kYWxfaW1hZ2VfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIYChByZXNvdXJjZV92ZXJzaW9uGAMgASgDImoKE0Nsb3VkRW52aXJvbm1lbnRSZWYSFwoNYmFzZV9pbWFnZV9pZBgBIAEoCUgAEhgKDmRhZW1vbl9wb29sX2lkGAIgASgJSAASFgoMZGFlbW9uX3ZtX2lkGAMgASgJSABCCAoGdGFyZ2V0IocFChdDbG91ZEVudmlyb25tZW50U3VtbWFyeRI4Cgtwb29sX3N0YXR1cxgUIAEoCzIhLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sU3RhdHVzSAASOgoIdW5wb29sZWQYFSABKAsyJi5wdWJsaWNfYXBpLkNsb3VkVW5wb29sZWREYWVtb25TdW1tYXJ5SAASCgoCaWQYASABKAkSLgoEa2luZBgCIAEoDjIgLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEtpbmQSFAoMZGlzcGxheV9uYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhIKCnZpc2liaWxpdHkYBSABKAUSEgoKY3JlYXRlZF9hdBgGIAEoCRISCgp1cGRhdGVkX2F0GAcgASgJEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgIIAEoCRIcChRjcmVhdGVkX2J5X3VzZXJfbmFtZRgJIAEoCRIQCghzcGFjZV9pZBgKIAEoCRIXCg9jdXJyZW50X3ZlcnNpb24YCyABKAkSMgoGc3RhdHVzGAwgASgOMiIucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50U3RhdHVzElcKGndvcmtzcGFjZV9pc29sYXRpb25fcG9saWN5GA0gASgOMjMucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2xXb3Jrc3BhY2VJc29sYXRpb25Qb2xpY3kSGwoTc2FuZGJveF9wcm92aWRlcl9pZBgOIAEoCRI6ChBzYW5kYm94X3Byb3ZpZGVyGA8gASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlckIICgZleHRyYXMiNwoYQ2xvdWRFbnZpcm9ubWVudFZhcmlhYmxlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkiVAoZQ2xvdWRFbnZpcm9ubWVudFZhcmlhYmxlcxI3Cgl2YXJpYWJsZXMYASADKAsyJC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWYXJpYWJsZSKzAgoXQ2xvdWRFbnZpcm9ubWVudFZlcnNpb24SEAoIaW1hZ2VfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIVCg1nY3BfaW1hZ2VfdXJsGAMgASgJEhcKD3Vwc3RyZWFtX2RpZ2VzdBgEIAEoCRISCgpjcmVhdGVkX2F0GAUgASgJEhIKBnN0YXR1cxgGIAEoBUICGAESFQoNZXJyb3JfbWVzc2FnZRgHIAEoCRIWCg5tb2RhbF9pbWFnZV9pZBgIIAEoCRIVCg11cGRhdGVfc2NyaXB0GAkgASgJEhkKEWhhc191cGRhdGVfc2NyaXB0GAogASgIEjwKEGxpZmVjeWNsZV9zdGF0dXMYCyABKA4yIi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRTdGF0dXMiqwEKHENsb3VkRW52aXJvbm1lbnRWZXJzaW9uRW50cnkSGAoQcmVzb3VyY2VfdmVyc2lvbhgBIAEoAxIyCgZjb25maWcYAiABKAsyIi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRDb25maWcSEwoLbW9kaWZpZWRfYnkYAyABKAkSEwoLbW9kaWZpZWRfYXQYBCABKAkSEwoLY2hhbmdlX3R5cGUYBSABKAkiPwonQ2xvdWRFbnZpcm9ubWVudHNDYW5jZWxPcGVyYXRpb25SZXF1ZXN0EhQKDG9wZXJhdGlvbl9pZBgBIAEoCSJkCihDbG91ZEVudmlyb25tZW50c0NhbmNlbE9wZXJhdGlvblJlc3BvbnNlEjgKCW9wZXJhdGlvbhgBIAEoCzIlLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudE9wZXJhdGlvbiKFAQonQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVCYXNlSW1hZ2VSZXF1ZXN0EjIKBmNvbmZpZxgBIAEoCzIiLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENvbmZpZxIXCgpiYXNlX2ltYWdlGAIgASgJSACIAQFCDQoLX2Jhc2VfaW1hZ2UiXQooQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVCYXNlSW1hZ2VSZXNwb25zZRIxCgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudCKmAgooQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVEYWVtb25Qb29sUmVxdWVzdBIUCgxkaXNwbGF5X25hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSFwoKdmlzaWJpbGl0eRgDIAEoBUgAiAEBEjwKCWNvbm5lY3RvchgEIAEoCzIpLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sQ29ubmVjdG9ySW5wdXQSEAoIc3BhY2VfaWQYBSABKAkSVwoad29ya3NwYWNlX2lzb2xhdGlvbl9wb2xpY3kYBiABKA4yMy5wdWJsaWNfYXBpLkNsb3VkRGFlbW9uUG9vbFdvcmtzcGFjZUlzb2xhdGlvblBvbGljeUINCgtfdmlzaWJpbGl0eSJWCilDbG91ZEVudmlyb25tZW50c0NyZWF0ZURhZW1vblBvb2xSZXNwb25zZRIpCgRwb29sGAEgASgLMhsucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2wi2gEKLUNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIMCgRzbHVnGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIUCgdlbmFibGVkGAUgASgISACIAQESEQoJc3BhY2VfaWRzGAYgAygJEhcKCmFsbF9zcGFjZXMYByABKAhIAYgBAUIKCghfZW5hYmxlZEINCgtfYWxsX3NwYWNlc0oECAQQBVINcHJvdmlkZXJfdHlwZSJkCi5DbG91ZEVudmlyb25tZW50c0NyZWF0ZVNhbmRib3hQcm92aWRlclJlc3BvbnNlEjIKCHByb3ZpZGVyGAEgASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlciI7CidDbG91ZEVudmlyb25tZW50c0RlbGV0ZUJhc2VJbWFnZVJlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkiKgooQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVCYXNlSW1hZ2VSZXNwb25zZSI2CihDbG91ZEVudmlyb25tZW50c0RlbGV0ZURhZW1vblBvb2xSZXF1ZXN0EgoKAmlkGAEgASgJIisKKUNsb3VkRW52aXJvbm1lbnRzRGVsZXRlRGFlbW9uUG9vbFJlc3BvbnNlIl4KLUNsb3VkRW52aXJvbm1lbnRzRGVsZXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAIgASgDIjAKLkNsb3VkRW52aXJvbm1lbnRzRGVsZXRlU2FuZGJveFByb3ZpZGVyUmVzcG9uc2UihwEKKkNsb3VkRW52aXJvbm1lbnRzRHVwbGljYXRlQmFzZUltYWdlUmVxdWVzdBIXCg9zb3VyY2VfaW1hZ2VfaWQYASABKAkSGAoQbmV3X2Rpc3BsYXlfbmFtZRgCIAEoCRIXCgp2aXNpYmlsaXR5GAMgASgFSACIAQFCDQoLX3Zpc2liaWxpdHkiYAorQ2xvdWRFbnZpcm9ubWVudHNEdXBsaWNhdGVCYXNlSW1hZ2VSZXNwb25zZRIxCgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudCJECipDbG91ZEVudmlyb25tZW50c0dldEFjdGl2ZU9wZXJhdGlvblJlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYASABKAkiZworQ2xvdWRFbnZpcm9ubWVudHNHZXRBY3RpdmVPcGVyYXRpb25SZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24irgEKJkNsb3VkRW52aXJvbm1lbnRzR2V0RW52aXJvbm1lbnRSZXF1ZXN0EhQKCGltYWdlX2lkGAEgASgJQgIYARIcChBpbmNsdWRlX3ZlcnNpb25zGAIgASgIQgIYARIsCgNyZWYYAyABKAsyHy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRSZWYSIgoacmVzb2x2ZV91c2VyX2Rpc3BsYXlfbmFtZXMYBCABKAgihwMKJ0Nsb3VkRW52aXJvbm1lbnRzR2V0RW52aXJvbm1lbnRSZXNwb25zZRIyCgpiYXNlX2ltYWdlGAQgASgLMhwucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50SAASMgoLZGFlbW9uX3Bvb2wYBSABKAsyGy5wdWJsaWNfYXBpLkNsb3VkRGFlbW9uUG9vbEgAEkEKD3VucG9vbGVkX2RhZW1vbhgGIAEoCzImLnB1YmxpY19hcGkuQ2xvdWRVbnBvb2xlZERhZW1vblN1bW1hcnlIABI1CgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEICGAESOQoIdmVyc2lvbnMYAiADKAsyIy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWZXJzaW9uQgIYARI0CgdzdW1tYXJ5GAMgASgLMiMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50U3VtbWFyeUIJCgdkZXRhaWxzIjwKJENsb3VkRW52aXJvbm1lbnRzR2V0T3BlcmF0aW9uUmVxdWVzdBIUCgxvcGVyYXRpb25faWQYASABKAkiYQolQ2xvdWRFbnZpcm9ubWVudHNHZXRPcGVyYXRpb25SZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24idwoqQ2xvdWRFbnZpcm9ubWVudHNHZXRTYW5kYm94UHJvdmlkZXJSZXF1ZXN0EgwKBHNsdWcYASABKAkSFwoPaW5jbHVkZV9kZWxldGVkGAIgASgIEhUKCHNwYWNlX2lkGAMgASgJSACIAQFCCwoJX3NwYWNlX2lkImEKK0Nsb3VkRW52aXJvbm1lbnRzR2V0U2FuZGJveFByb3ZpZGVyUmVzcG9uc2USMgoIcHJvdmlkZXIYASABKAsyIC5wdWJsaWNfYXBpLkNsb3VkU2FuZGJveFByb3ZpZGVyIlAKIkNsb3VkRW52aXJvbm1lbnRzR2V0VmVyc2lvblJlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkSGAoQcmVzb3VyY2VfdmVyc2lvbhgCIAEoAyJgCiNDbG91ZEVudmlyb25tZW50c0dldFZlcnNpb25SZXNwb25zZRI5Cgd2ZXJzaW9uGAEgASgLMigucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50VmVyc2lvbkVudHJ5Il8KK0Nsb3VkRW52aXJvbm1lbnRzTGlzdEJhc2VJbWFnZUJ1aWxkc1JlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkSHgoWaW5jbHVkZV91cGRhdGVfc2NyaXB0cxgCIAEoCCJjCixDbG91ZEVudmlyb25tZW50c0xpc3RCYXNlSW1hZ2VCdWlsZHNSZXNwb25zZRIzCgZidWlsZHMYASADKAsyIy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWZXJzaW9uIkAKLUNsb3VkRW52aXJvbm1lbnRzTGlzdERhZW1vblBvb2xEYWVtb25zUmVxdWVzdBIPCgdwb29sX2lkGAEgASgJImQKLkNsb3VkRW52aXJvbm1lbnRzTGlzdERhZW1vblBvb2xEYWVtb25zUmVzcG9uc2USMgoHZGFlbW9ucxgBIAMoCzIhLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sRGFlbW9uIogDCihDbG91ZEVudmlyb25tZW50c0xpc3RFbnZpcm9ubWVudHNSZXF1ZXN0EhcKD2luY2x1ZGVfZGVsZXRlZBgBIAEoCBIiChpyZXNvbHZlX3VzZXJfZGlzcGxheV9uYW1lcxgCIAEoCBIvCgVraW5kcxgDIAMoDjIgLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEtpbmQSEQoJcGFnZV9zaXplGAQgASgFEhIKCnBhZ2VfdG9rZW4YBSABKAkSOQoIb3JkZXJfYnkYBiABKA4yJy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRMaXN0T3JkZXJCeRIUCgxzZWFyY2hfcXVlcnkYByABKAkSEgoKb3duZWRfb25seRgIIAEoCBI0CgVzY29wZRgJIAEoDjIlLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudExpc3RTY29wZRIQCghzcGFjZV9pZBgKIAEoCRIaChJkZWZhdWx0X3NwYWNlX29ubHkYCyABKAgi1QEKKUNsb3VkRW52aXJvbm1lbnRzTGlzdEVudmlyb25tZW50c1Jlc3BvbnNlEjYKDGVudmlyb25tZW50cxgBIAMoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEICGAESQgoVZW52aXJvbm1lbnRfc3VtbWFyaWVzGAIgAygLMiMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50U3VtbWFyeRIXCg9uZXh0X3BhZ2VfdG9rZW4YAyABKAkSEwoLdG90YWxfY291bnQYBCABKAUiawosQ2xvdWRFbnZpcm9ubWVudHNMaXN0U2FuZGJveFByb3ZpZGVyc1JlcXVlc3QSFwoPaW5jbHVkZV9kZWxldGVkGAEgASgIEhUKCHNwYWNlX2lkGAIgASgJSACIAQFCCwoJX3NwYWNlX2lkImQKLUNsb3VkRW52aXJvbm1lbnRzTGlzdFNhbmRib3hQcm92aWRlcnNSZXNwb25zZRIzCglwcm92aWRlcnMYASADKAsyIC5wdWJsaWNfYXBpLkNsb3VkU2FuZGJveFByb3ZpZGVyIkcKJENsb3VkRW52aXJvbm1lbnRzTGlzdFZlcnNpb25zUmVxdWVzdBIQCghpbWFnZV9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBSJjCiVDbG91ZEVudmlyb25tZW50c0xpc3RWZXJzaW9uc1Jlc3BvbnNlEjoKCHZlcnNpb25zGAEgAygLMigucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50VmVyc2lvbkVudHJ5IvEBCihDbG91ZEVudmlyb25tZW50c1JlYnVpbGRCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEh0KEHByb3Zpc2lvbl9zY3JpcHQYAiABKAlIAIgBARIeChF2bV9zdGFydHVwX3NjcmlwdBgDIAEoCUgBiAEBEhsKDmJhc2VfaW1hZ2VfcmVmGAQgASgJSAKIAQFCEwoRX3Byb3Zpc2lvbl9zY3JpcHRCFAoSX3ZtX3N0YXJ0dXBfc2NyaXB0QhEKD19iYXNlX2ltYWdlX3JlZkoECAUQBlITdXNlX2RlZmF1bHRfc2NyaXB0cyJtCilDbG91ZEVudmlyb25tZW50c1JlYnVpbGRCYXNlSW1hZ2VSZXNwb25zZRIWCg5tb2RhbF9pbWFnZV9pZBgBIAEoCRISCgp1cGRhdGVkX2F0GAMgASgJSgQIAhADUg5hdWdtZW50X2NvbW1pdCJwCihDbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEh8KDmVudmlyb25tZW50X2lkGAIgASgJQgIYAUgAiAEBQhEKD19lbnZpcm9ubWVudF9pZCIrCilDbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXNwb25zZSI8CihDbG91ZEVudmlyb25tZW50c1Jlc3RvcmVCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJIl4KKUNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZUJhc2VJbWFnZVJlc3BvbnNlEjEKC2Vudmlyb25tZW50GAEgASgLMhwucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50IjcKKUNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2xSZXF1ZXN0EgoKAmlkGAEgASgJIlcKKkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2xSZXNwb25zZRIpCgRwb29sGAEgASgLMhsucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2wiXwouQ2xvdWRFbnZpcm9ubWVudHNSZXN0b3JlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAIgASgDImUKL0Nsb3VkRW52aXJvbm1lbnRzUmVzdG9yZVNhbmRib3hQcm92aWRlclJlc3BvbnNlEjIKCHByb3ZpZGVyGAEgASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlciKjAQosQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZUNyZWF0ZVJlcXVlc3QSMgoGY29uZmlnGAEgASgLMiIucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50Q29uZmlnEhcKCmJhc2VfaW1hZ2UYAiABKAlIAIgBARIXCg9pZGVtcG90ZW5jeV9rZXkYAyABKAlCDQoLX2Jhc2VfaW1hZ2UinAEKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VDcmVhdGVSZXNwb25zZRIxCgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudBI4CglvcGVyYXRpb24YAiABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24i+gEKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkUmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSHQoQcHJvdmlzaW9uX3NjcmlwdBgDIAEoCUgAiAEBEh4KEXZtX3N0YXJ0dXBfc2NyaXB0GAQgASgJSAGIAQESGwoOYmFzZV9pbWFnZV9yZWYYBSABKAlIAogBAUITChFfcHJvdmlzaW9uX3NjcmlwdEIUChJfdm1fc3RhcnR1cF9zY3JpcHRCEQoPX2Jhc2VfaW1hZ2VfcmVmImoKLkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkUmVzcG9uc2USOAoJb3BlcmF0aW9uGAEgASgLMiUucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uImAKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWZyZXNoUmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkiagouQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlZnJlc2hSZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24izwEKOUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZXBvc2l0b3J5UmVjb25jaWxlUmVxdWVzdBJDCgZ1cGRhdGUYASABKAsyMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVxdWVzdBIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSJAoYZXhwZWN0ZWRfY3VycmVudF92ZXJzaW9uGAMgASgJQgIYARIOCgZyZXBhaXIYBCABKAgidgo6Q2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlcG9zaXRvcnlSZWNvbmNpbGVSZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24iuwEKNENsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VTbmFwc2hvdFVwZGF0ZVJlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYASABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAIgASgJEg4KBnNjcmlwdBgDIAEoCRIlChhleHBlY3RlZF9jdXJyZW50X3ZlcnNpb24YBCABKAlIAIgBAUIbChlfZXhwZWN0ZWRfY3VycmVudF92ZXJzaW9uInEKNUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VTbmFwc2hvdFVwZGF0ZVJlc3BvbnNlEjgKCW9wZXJhdGlvbhgBIAEoCzIlLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudE9wZXJhdGlvbiLYBQonQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEhkKDGRpc3BsYXlfbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESFwoKdmlzaWJpbGl0eRgEIAEoBUgCiAEBEiYKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YBSABKANIA4gBARI6CgVyZXBvcxgGIAMoCzIrLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENsb25lUmVwb3NpdG9yeRJEChVlbnZpcm9ubWVudF92YXJpYWJsZXMYByABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWYXJpYWJsZXMSEQoJaGFzX3JlcG9zGAggASgIEhcKCmJhc2VfaW1hZ2UYCSABKAlIBIgBARIcCg9yZWZyZXNoX2VuYWJsZWQYCiABKAhIBYgBARIVCghzcGFjZV9pZBgLIAEoCUgGiAEBEksKBHRhZ3MYDCADKAsyPS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVxdWVzdC5UYWdzRW50cnkSEAoIaGFzX3RhZ3MYDSABKAgSIAoTc2FuZGJveF9wcm92aWRlcl9pZBgOIAEoCUgHiAEBGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg8KDV9kaXNwbGF5X25hbWVCDgoMX2Rlc2NyaXB0aW9uQg0KC192aXNpYmlsaXR5QhwKGl9leHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uQg0KC19iYXNlX2ltYWdlQhIKEF9yZWZyZXNoX2VuYWJsZWRCCwoJX3NwYWNlX2lkQhYKFF9zYW5kYm94X3Byb3ZpZGVyX2lkIl0KKENsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVzcG9uc2USMQoLZW52aXJvbm1lbnQYASABKAsyHC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnQi2QMKKENsb3VkRW52aXJvbm1lbnRzVXBkYXRlRGFlbW9uUG9vbFJlcXVlc3QSCgoCaWQYASABKAkSGQoMZGlzcGxheV9uYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARIXCgp2aXNpYmlsaXR5GAQgASgFSAKIAQESXAoad29ya3NwYWNlX2lzb2xhdGlvbl9wb2xpY3kYBSABKA4yMy5wdWJsaWNfYXBpLkNsb3VkRGFlbW9uUG9vbFdvcmtzcGFjZUlzb2xhdGlvblBvbGljeUgDiAEBEjwKCWNvbm5lY3RvchgGIAEoCzIpLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sQ29ubmVjdG9ySW5wdXQSFQoIc3BhY2VfaWQYByABKAlIBIgBARImChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAggASgDSAWIAQFCDwoNX2Rpc3BsYXlfbmFtZUIOCgxfZGVzY3JpcHRpb25CDQoLX3Zpc2liaWxpdHlCHQobX3dvcmtzcGFjZV9pc29sYXRpb25fcG9saWN5QgsKCV9zcGFjZV9pZEIcChpfZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbiJWCilDbG91ZEVudmlyb25tZW50c1VwZGF0ZURhZW1vblBvb2xSZXNwb25zZRIpCgRwb29sGAEgASgLMhsucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2wikQIKLUNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxkaXNwbGF5X25hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhQKB2VuYWJsZWQYBCABKAhIAogBARIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAUgASgDEhEKCXNwYWNlX2lkcxgGIAMoCRIXCgphbGxfc3BhY2VzGAcgASgISAOIAQFCDwoNX2Rpc3BsYXlfbmFtZUIOCgxfZGVzY3JpcHRpb25CCgoIX2VuYWJsZWRCDQoLX2FsbF9zcGFjZXMiZAouQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTYW5kYm94UHJvdmlkZXJSZXNwb25zZRIyCghwcm92aWRlchgBIAEoCzIgLnB1YmxpY19hcGkuQ2xvdWRTYW5kYm94UHJvdmlkZXIipwEKJkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU25hcHNob3RSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEg4KBnNjcmlwdBgCIAEoCRIlChhleHBlY3RlZF9jdXJyZW50X3ZlcnNpb24YAyABKAlIAIgBARIXCg9pZGVtcG90ZW5jeV9rZXkYBCABKAlCGwoZX2V4cGVjdGVkX2N1cnJlbnRfdmVyc2lvbiJSCidDbG91ZEVudmlyb25tZW50c1VwZGF0ZVNuYXBzaG90UmVzcG9uc2USFgoObW9kYWxfaW1hZ2VfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoCSLbAQoKQ2xvdWRFdmVudBIQCghldmVudF9pZBgBIAEoCRIOCgZzb3VyY2UYAiABKAkSEgoKZXZlbnRfdHlwZRgDIAEoCRIUCgxwYXlsb2FkX2pzb24YBCABKAkSLwoLcmVjZWl2ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhEKCXRlbmFudF9pZBgGIAEoCRIPCgd1c2VyX2lkGAcgASgJEhIKCndlYmhvb2tfaWQYCCABKAkSGAoQcGF5bG9hZF9yZWRhY3RlZBgJIAEoCCKbAQocQ2xvdWRFdmVudHNMaXN0RXZlbnRzUmVxdWVzdBINCgVsaW1pdBgBIAEoDRISCgpwYWdlX3Rva2VuGAIgASgJEg4KBnNvdXJjZRgDIAEoCRIWCg5maWx0ZXJfcGF5bG9hZBgEIAEoCRISCgpldmVudF90eXBlGAUgASgJEg0KBXNpbmNlGAYgASgJEg0KBXVudGlsGAcgASgJInUKHUNsb3VkRXZlbnRzTGlzdEV2ZW50c1Jlc3BvbnNlEiYKBmV2ZW50cxgBIAMoCzIWLnB1YmxpY19hcGkuQ2xvdWRFdmVudBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkSEwoLdG90YWxfY291bnQYAyABKAUi8gMKC0Nsb3VkRXhwZXJ0EhEKCWV4cGVydF9pZBgBIAEoCRIrCgVzY29wZRgCIAEoDjIcLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTY29wZRItCgZjb25maWcYAyABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnEg8KB3VzZXJfaWQYBCABKAkSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQcmVzb3VyY2VfdmVyc2lvbhgHIAEoAxIuCgpkZWxldGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5lZmZlY3RpdmVfcm9sZRgJIAEoCRI6Cg1zcGFjZV9zdW1tYXJ5GAsgASgLMiMucHVibGljX2FwaS5DbG91ZEV4cGVydFNwYWNlU3VtbWFyeRIMCgRzbHVnGAwgASgJEkIKEWRlcGVuZGVuY3lfaGVhbHRoGA0gASgLMicucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lIZWFsdGhKBAgKEAtSDXRhZ19zdW1tYXJpZXMiVwoaQ2xvdWRFeHBlcnRDbG9uZVJlcG9zaXRvcnkSDQoFb3duZXIYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZicmFuY2gYAyABKAkSDAoEaG9zdBgEIAEoCSKcBwoRQ2xvdWRFeHBlcnRDb25maWcSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIYChBpbml0aWFsX21lc3NhZ2VzGAMgAygJEkYKFGJ1aWx0aW5fY2FwYWJpbGl0aWVzGAQgAygOMigucHVibGljX2FwaS5DbG91ZEV4cGVydEJ1aWx0aW5DYXBhYmlsaXR5EjsKC3Rvb2xfY29uZmlnGAYgASgLMiEucHVibGljX2FwaS5DbG91ZEV4cGVydFRvb2xDb25maWdIAIgBARJBCg5zZXNzaW9uX2NvbmZpZxgHIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTZXNzaW9uQ29uZmlnSAGIAQESNwoJdm1fY29uZmlnGAggASgLMh8ucHVibGljX2FwaS5DbG91ZEV4cGVydFZNQ29uZmlnSAKIAQESGQoRd29ya2VyX2V4cGVydF9pZHMYCSADKAkSGQoRdXNlcl9pbnN0cnVjdGlvbnMYCiABKAkSHQoQcGxhY2Vob2xkZXJfdGV4dBgQIAEoCUgDiAEBEiIKGnVzZV9hbGxfZXhwZXJ0c19hc193b3JrZXJzGAsgASgIEhYKDm1jcF9jb25maWdfaWRzGAwgAygJEhoKEmhhc19tY3BfY29uZmlnX2lkcxgNIAEoCBITCgZoaWRkZW4YDiABKAhIBIgBARJBCg5yb3V0aW5nX3RhcmdldBgPIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRSb3V0aW5nVGFyZ2V0SAWIAQESNQoEdGFncxgRIAMoCzInLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRDb25maWcuVGFnc0VudHJ5EhAKCGhhc190YWdzGBIgASgIEhgKEGNhcGFiaWxpdHlfbmFtZXMYEyADKAkSKQocdXNlX2FsbF9idWlsdGluX2NhcGFiaWxpdGllcxgUIAEoCEgGiAEBGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg4KDF90b29sX2NvbmZpZ0IRCg9fc2Vzc2lvbl9jb25maWdCDAoKX3ZtX2NvbmZpZ0ITChFfcGxhY2Vob2xkZXJfdGV4dEIJCgdfaGlkZGVuQhEKD19yb3V0aW5nX3RhcmdldEIfCh1fdXNlX2FsbF9idWlsdGluX2NhcGFiaWxpdGllc0oECAUQBiJwChtDbG91ZEV4cGVydERlcGVuZGVuY3lIZWFsdGgSNgoGaXNzdWVzGAEgAygLMiYucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lJc3N1ZRIZChFibG9ja3NfbmV3X2xhdW5jaBgCIAEoCCKzAgoaQ2xvdWRFeHBlcnREZXBlbmRlbmN5SXNzdWUSQwoMcmVsYXRpb25zaGlwGAEgASgOMi0ucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lSZWxhdGlvbnNoaXASNwoGc3RhdHVzGAIgASgOMicucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lTdGF0dXMSGAoQdGFyZ2V0X2V4cGVydF9pZBgDIAEoCRIaChJ0YXJnZXRfZXhwZXJ0X3NsdWcYBCABKAkSGgoSdGFyZ2V0X2V4cGVydF9uYW1lGAUgASgJEkUKDnJlcGFpcl9hY3Rpb25zGAYgAygOMi0ucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lSZXBhaXJBY3Rpb24iPQoeQ2xvdWRFeHBlcnRFbnZpcm9ubWVudFZhcmlhYmxlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkiYAofQ2xvdWRFeHBlcnRFbnZpcm9ubWVudFZhcmlhYmxlcxI9Cgl2YXJpYWJsZXMYASADKAsyKi5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0RW52aXJvbm1lbnRWYXJpYWJsZSJEChtDbG91ZEV4cGVydE1hY2hpbmVSZXNvdXJjZXMSEQoJY3B1X2NvcmVzGAEgASgCEhIKCm1lbW9yeV9taWIYAiABKAUiTwoYQ2xvdWRFeHBlcnRSb3V0aW5nVGFyZ2V0EhYKDGRhZW1vbl92bV9pZBgBIAEoCUgAEhEKB3Bvb2xfaWQYAiABKAlIAEIICgZ0YXJnZXQiigMKGENsb3VkRXhwZXJ0U2Vzc2lvbkNvbmZpZxISCgVtb2RlbBgBIAEoCUgAiAEBEiUKHWluY2x1ZGVfZGVmYXVsdF9zeXN0ZW1fcHJvbXB0GAIgASgIEhUKDXN5c3RlbV9wcm9tcHQYAyABKAkSPAoKdmlzaWJpbGl0eRgEIAEoDjIoLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTZXNzaW9uVmlzaWJpbGl0eRJNCg11c2VyX21ldGFkYXRhGAUgAygLMjYucHVibGljX2FwaS5DbG91ZEV4cGVydFNlc3Npb25Db25maWcuVXNlck1ldGFkYXRhRW50cnkSHAoUYXV0b19jbGVhbnVwX29uX2lkbGUYBiABKAgSHQoQcmVhc29uaW5nX2VmZm9ydBgHIAEoCUgBiAEBGjMKEVVzZXJNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCAoGX21vZGVsQhMKEV9yZWFzb25pbmdfZWZmb3J0IkEKF0Nsb3VkRXhwZXJ0U3BhY2VTdW1tYXJ5EhAKCHNwYWNlX2lkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCSKfAQoVQ2xvdWRFeHBlcnRUb29sQ29uZmlnEhYKCXRvb2xfbmFtZRgBIAEoCUgAiAEBEh0KEHRvb2xfZGVzY3JpcHRpb24YAiABKAlIAYgBARIXCg90aW1lb3V0X3NlY29uZHMYAyABKA0SEwoLYWxsb3dfYXN5bmMYBCABKAhCDAoKX3Rvb2xfbmFtZUITChFfdG9vbF9kZXNjcmlwdGlvbiLJBAoTQ2xvdWRFeHBlcnRWTUNvbmZpZxISCgpiYXNlX2ltYWdlGAEgASgJEhMKC3NuYXBzaG90X2lkGAIgASgJEhEKCWNwdV9jb3JlcxgDIAEoBRISCgptZW1vcnlfbWliGAQgASgFEhcKD3RpbWVvdXRfc2Vjb25kcxgFIAEoBRIcChRpZGxlX3RpbWVvdXRfc2Vjb25kcxgGIAEoBRIfChdpbnN0YWxsX2dpdF9jcmVkZW50aWFscxgHIAEoCBIcChRpbnN0YWxsX3VzZXJfc2VjcmV0cxgIIAEoCBI6CgxpbWFnZV9zb3VyY2UYCSABKA4yJC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Vk1JbWFnZVNvdXJjZRIVCg1iYXNlX2ltYWdlX2lkGAogASgJEjsKC2Nsb25lX3JlcG9zGAsgAygLMiYucHVibGljX2FwaS5DbG91ZEV4cGVydENsb25lUmVwb3NpdG9yeRI/CglyZXNvdXJjZXMYDCABKAsyJy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0TWFjaGluZVJlc291cmNlc0gAiAEBEiIKGmJhc2VfaW1hZ2VfY3VycmVudF92ZXJzaW9uGA0gASgJEk8KFWVudmlyb25tZW50X3ZhcmlhYmxlcxgOIAEoCzIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRFbnZpcm9ubWVudFZhcmlhYmxlc0gBiAEBQgwKCl9yZXNvdXJjZXNCGAoWX2Vudmlyb25tZW50X3ZhcmlhYmxlcyLOAQoXQ2xvdWRFeHBlcnRWZXJzaW9uRW50cnkSGAoQcmVzb3VyY2VfdmVyc2lvbhgBIAEoAxItCgZjb25maWcYAiABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnEisKBXNjb3BlGAMgASgOMhwucHVibGljX2FwaS5DbG91ZEV4cGVydFNjb3BlEhMKC21vZGlmaWVkX2J5GAQgASgJEhMKC21vZGlmaWVkX2F0GAUgASgJEhMKC2NoYW5nZV90eXBlGAYgASgJIo4BChRDbG91ZEV4cGVydFdpdGhVc2FnZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0EjAKDGxhc3RfdXNlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoTd2Vla2x5X2FjdGl2ZV91c2VycxgDIAEoBSKzAwooQ2xvdWRFeHBlcnRzQ3JlYXRlQWdlbnRGcm9tRXhwZXJ0UmVxdWVzdBIRCglleHBlcnRfaWQYASABKAkSFwoKYWdlbnRfbmFtZRgCIAEoCUgAiAEBEiIKFXNlbmRfaW5pdGlhbF9tZXNzYWdlcxgDIAEoCEgBiAEBEiUKGGV4aXN0aW5nX2NvbnZlcnNhdGlvbl9pZBgEIAEoCUgCiAEBEhwKD2luaXRpYWxfbWVzc2FnZRgFIAEoCUgDiAEBEhwKD2lkZW1wb3RlbmN5X2tleRgGIAEoCUgEiAEBEhAKCHNwYWNlX2lkGAcgASgJEkEKDnJvdXRpbmdfdGFyZ2V0GAggASgLMiQucHVibGljX2FwaS5DbG91ZEV4cGVydFJvdXRpbmdUYXJnZXRIBYgBAUINCgtfYWdlbnRfbmFtZUIYChZfc2VuZF9pbml0aWFsX21lc3NhZ2VzQhsKGV9leGlzdGluZ19jb252ZXJzYXRpb25faWRCEgoQX2luaXRpYWxfbWVzc2FnZUISChBfaWRlbXBvdGVuY3lfa2V5QhEKD19yb3V0aW5nX3RhcmdldCJSCilDbG91ZEV4cGVydHNDcmVhdGVBZ2VudEZyb21FeHBlcnRSZXNwb25zZRIlCgVhZ2VudBgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRBZ2VudCL4AQofQ2xvdWRFeHBlcnRzQ3JlYXRlRXhwZXJ0UmVxdWVzdBIrCgVzY29wZRgBIAEoDjIcLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTY29wZRItCgZjb25maWcYAiABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnEhAKCHNwYWNlX2lkGAQgASgJEkIKEWNhcGFiaWxpdHlfc291cmNlGAUgASgOMicucHVibGljX2FwaS5DbG91ZEV4cGVydENhcGFiaWxpdHlTb3VyY2USFAoMZGVzaXJlZF9zbHVnGAYgASgJSgQIAxAEUgd0YWdfaWRzIksKIENsb3VkRXhwZXJ0c0NyZWF0ZUV4cGVydFJlc3BvbnNlEicKBmV4cGVydBgBIAEoCzIXLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnQiNQofQ2xvdWRFeHBlcnRzRGVsZXRlRXhwZXJ0UmVxdWVzdBISCgpleHBlcnRfaWRzGAEgAygJIlkKIENsb3VkRXhwZXJ0c0RlbGV0ZUV4cGVydFJlc3BvbnNlEhoKEmRlbGV0ZWRfZXhwZXJ0X2lkcxgBIAMoCRIZChFmYWlsZWRfZXhwZXJ0X2lkcxgCIAMoCSIxChxDbG91ZEV4cGVydHNHZXRFeHBlcnRSZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCSJICh1DbG91ZEV4cGVydHNHZXRFeHBlcnRSZXNwb25zZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0IkwKHUNsb3VkRXhwZXJ0c0dldFZlcnNpb25SZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCRIYChByZXNvdXJjZV92ZXJzaW9uGAIgASgDIlYKHkNsb3VkRXhwZXJ0c0dldFZlcnNpb25SZXNwb25zZRI0Cgd2ZXJzaW9uGAEgASgLMiMucHVibGljX2FwaS5DbG91ZEV4cGVydFZlcnNpb25FbnRyeSJnCh5DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1JlcXVlc3QSFwoPaW5jbHVkZV9kZWxldGVkGAEgASgIEhAKCHNwYWNlX2lkGAIgASgJEhoKEmRlZmF1bHRfc3BhY2Vfb25seRgDIAEoCCJLCh9DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1Jlc3BvbnNlEigKB2V4cGVydHMYASADKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0InAKJ0Nsb3VkRXhwZXJ0c0xpc3RFeHBlcnRzV2l0aFVzYWdlUmVxdWVzdBIXCg9tYXhfcGVyX3NlY3Rpb24YASABKAUSEAoIc3BhY2VfaWQYAiABKAkSGgoSZGVmYXVsdF9zcGFjZV9vbmx5GAMgASgIIscBCihDbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1dpdGhVc2FnZVJlc3BvbnNlEjcKDXJlY2VudGx5X3VzZWQYASADKAsyIC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0V2l0aFVzYWdlEjEKB3BvcHVsYXIYAiADKAsyIC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0V2l0aFVzYWdlEi8KBW90aGVyGAMgAygLMiAucHVibGljX2FwaS5DbG91ZEV4cGVydFdpdGhVc2FnZSJDCh9DbG91ZEV4cGVydHNMaXN0VmVyc2lvbnNSZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBSJZCiBDbG91ZEV4cGVydHNMaXN0VmVyc2lvbnNSZXNwb25zZRI1Cgh2ZXJzaW9ucxgBIAMoCzIjLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRWZXJzaW9uRW50cnkiNQogQ2xvdWRFeHBlcnRzUmVzdG9yZUV4cGVydFJlcXVlc3QSEQoJZXhwZXJ0X2lkGAEgASgJIkwKIUNsb3VkRXhwZXJ0c1Jlc3RvcmVFeHBlcnRSZXNwb25zZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0IuwCCh9DbG91ZEV4cGVydHNVcGRhdGVFeHBlcnRSZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCRIyCgZjb25maWcYAiABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnSACIAQESJgoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoA0gBiAEBEjAKBXNjb3BlGAQgASgOMhwucHVibGljX2FwaS5DbG91ZEV4cGVydFNjb3BlSAKIAQESFQoIc3BhY2VfaWQYBiABKAlIA4gBARJCChFjYXBhYmlsaXR5X3NvdXJjZRgHIAEoDjInLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRDYXBhYmlsaXR5U291cmNlQgkKB19jb25maWdCHAoaX2V4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb25CCAoGX3Njb3BlQgsKCV9zcGFjZV9pZEoECAUQBlIHdGFnX2lkcyJLCiBDbG91ZEV4cGVydHNVcGRhdGVFeHBlcnRSZXNwb25zZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0In0KCkNsb3VkR3JvdXASEAoIZ3JvdXBfaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRISCgpjcmVhdGVkX2J5GAQgASgJEhIKCmNyZWF0ZWRfYXQYBSABKAkSEgoKdXBkYXRlZF9hdBgGIAEoCSLmAQoQQ2xvdWRHcm91cE1lbWJlchIPCgd1c2VyX2lkGAEgASgJEhAKCGFkZGVkX2F0GAIgASgJEhAKCGFkZGVkX2J5GAMgASgJEg0KBWVtYWlsGAQgASgJEhIKCmdpdmVuX25hbWUYBSABKAkSEwoLZmFtaWx5X25hbWUYBiABKAkSFQoNYWRkZWRfYnlfbmFtZRgHIAEoCRI4Cg5wcmluY2lwYWxfa2luZBgIIAEoDjIgLnB1YmxpY19hcGkuQ2xvdWRHcm91cE1lbWJlcktpbmQSFAoMc2VydmljZV9uYW1lGAkgASgJIlMKGENsb3VkR3JvdXBNZW1iZXJTZWxlY3RvchIQCgZtZW1iZXIYASABKAlIABIZCg9zZXJ2aWNlX2FjY291bnQYAiABKAlIAEIKCghzZWxlY3RvciJ6ChxDbG91ZEdyb3Vwc0FkZE1lbWJlcnNSZXF1ZXN0EhAKCGdyb3VwX2lkGAEgASgJEg8KB21lbWJlcnMYAiADKAkSNwoJc2VsZWN0b3JzGAMgAygLMiQucHVibGljX2FwaS5DbG91ZEdyb3VwTWVtYmVyU2VsZWN0b3IiWAodQ2xvdWRHcm91cHNBZGRNZW1iZXJzUmVzcG9uc2USFgoOYWRkZWRfdXNlcl9pZHMYASADKAkSHwoXYWxyZWFkeV9tZW1iZXJfdXNlcl9pZHMYAiADKAkiPQoYQ2xvdWRHcm91cHNDcmVhdGVSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkiQgoZQ2xvdWRHcm91cHNDcmVhdGVSZXNwb25zZRIlCgVncm91cBgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRHcm91cCIsChhDbG91ZEdyb3Vwc0RlbGV0ZVJlcXVlc3QSEAoIZ3JvdXBfaWQYASABKAkiGwoZQ2xvdWRHcm91cHNEZWxldGVSZXNwb25zZSJYCh1DbG91ZEdyb3Vwc0xpc3RNZW1iZXJzUmVxdWVzdBIQCghncm91cF9pZBgBIAEoCRIRCglwYWdlX3NpemUYAiABKA0SEgoKcGFnZV90b2tlbhgDIAEoCSKTAQoeQ2xvdWRHcm91cHNMaXN0TWVtYmVyc1Jlc3BvbnNlEi0KB21lbWJlcnMYASADKAsyHC5wdWJsaWNfYXBpLkNsb3VkR3JvdXBNZW1iZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEikKIXNlcnZpY2VfYWNjb3VudF9zZWxlY3RvcnNfZW5hYmxlZBgDIAEoCCI/ChZDbG91ZEdyb3Vwc0xpc3RSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoDRISCgpwYWdlX3Rva2VuGAIgASgJIloKF0Nsb3VkR3JvdXBzTGlzdFJlc3BvbnNlEiYKBmdyb3VwcxgBIAMoCzIWLnB1YmxpY19hcGkuQ2xvdWRHcm91cBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkifQofQ2xvdWRHcm91cHNSZW1vdmVNZW1iZXJzUmVxdWVzdBIQCghncm91cF9pZBgBIAEoCRIPCgdtZW1iZXJzGAIgAygJEjcKCXNlbGVjdG9ycxgDIAMoCzIkLnB1YmxpY19hcGkuQ2xvdWRHcm91cE1lbWJlclNlbGVjdG9yIlkKIENsb3VkR3JvdXBzUmVtb3ZlTWVtYmVyc1Jlc3BvbnNlEhgKEHJlbW92ZWRfdXNlcl9pZHMYASADKAkSGwoTbm90X21lbWJlcl91c2VyX2lkcxgCIAMoCSJyChhDbG91ZEdyb3Vwc1VwZGF0ZVJlcXVlc3QSEAoIZ3JvdXBfaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uIkIKGUNsb3VkR3JvdXBzVXBkYXRlUmVzcG9uc2USJQoFZ3JvdXAYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkR3JvdXAiSgovQ2xvdWRJbnRlZ3JhdGlvbnNDYW5jZWxFdmVudFN1YnNjcmlwdGlvblJlcXVlc3QSFwoPc3Vic2NyaXB0aW9uX2lkGAEgASgJIjIKMENsb3VkSW50ZWdyYXRpb25zQ2FuY2VsRXZlbnRTdWJzY3JpcHRpb25SZXNwb25zZSIxCi9DbG91ZEludGVncmF0aW9uc0NoZWNrQXRsYXNzaWFuQXBwU3RhdHVzUmVxdWVzdCJ1CjBDbG91ZEludGVncmF0aW9uc0NoZWNrQXRsYXNzaWFuQXBwU3RhdHVzUmVzcG9uc2USFAoMaXNfaW5zdGFsbGVkGAEgASgIEhEKCXNpdGVfbmFtZRgCIAEoCRIYChBlbmFibGVkX3Byb2R1Y3RzGAMgAygJIi4KLENsb3VkSW50ZWdyYXRpb25zQ2hlY2tHaXRIdWJBcHBTdGF0dXNSZXF1ZXN0IkUKLUNsb3VkSW50ZWdyYXRpb25zQ2hlY2tHaXRIdWJBcHBTdGF0dXNSZXNwb25zZRIUCgxpc19pbnN0YWxsZWQYASABKAgiKwopQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0xpbmVhclN0YXR1c1JlcXVlc3QiQgoqQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0xpbmVhclN0YXR1c1Jlc3BvbnNlEhQKDGlzX2Nvbm5lY3RlZBgBIAEoCCIqCihDbG91ZEludGVncmF0aW9uc0NoZWNrU2xhY2tTdGF0dXNSZXF1ZXN0IkEKKUNsb3VkSW50ZWdyYXRpb25zQ2hlY2tTbGFja1N0YXR1c1Jlc3BvbnNlEhQKDGlzX2Nvbm5lY3RlZBgBIAEoCCKUAQovQ2xvdWRJbnRlZ3JhdGlvbnNDcmVhdGVFdmVudFN1YnNjcmlwdGlvblJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkSDgoGc291cmNlGAIgASgJEhIKCmV2ZW50X3R5cGUYAyABKAkSFgoOZmlsdGVyX3BheWxvYWQYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkiSwowQ2xvdWRJbnRlZ3JhdGlvbnNDcmVhdGVFdmVudFN1YnNjcmlwdGlvblJlc3BvbnNlEhcKD3N1YnNjcmlwdGlvbl9pZBgBIAEoCSLIAQoiQ2xvdWRJbnRlZ3JhdGlvbnNFdmVudFN1YnNjcmlwdGlvbhIXCg9zdWJzY3JpcHRpb25faWQYASABKAkSEAoIYWdlbnRfaWQYAiABKAkSDgoGc291cmNlGAMgASgJEhIKCmV2ZW50X3R5cGUYBCABKAkSFgoOZmlsdGVyX3BheWxvYWQYBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSEgoKY3JlYXRlZF9hdBgHIAEoCRISCgpleHBpcmVzX2F0GAggASgJIjMKMUNsb3VkSW50ZWdyYXRpb25zR2V0QXRsYXNzaWFuQXBwSW5zdGFsbFVybFJlcXVlc3QiSQoyQ2xvdWRJbnRlZ3JhdGlvbnNHZXRBdGxhc3NpYW5BcHBJbnN0YWxsVXJsUmVzcG9uc2USEwoLaW5zdGFsbF91cmwYASABKAkiMAouQ2xvdWRJbnRlZ3JhdGlvbnNHZXRHaXRIdWJBcHBJbnN0YWxsVXJsUmVxdWVzdCJGCi9DbG91ZEludGVncmF0aW9uc0dldEdpdEh1YkFwcEluc3RhbGxVcmxSZXNwb25zZRITCgtpbnN0YWxsX3VybBgBIAEoCSIrCilDbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsUmVxdWVzdCI/CipDbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsUmVzcG9uc2USEQoJb2F1dGhfdXJsGAEgASgJIioKKENsb3VkSW50ZWdyYXRpb25zR2V0U2xhY2tPQXV0aFVybFJlcXVlc3QiPgopQ2xvdWRJbnRlZ3JhdGlvbnNHZXRTbGFja09BdXRoVXJsUmVzcG9uc2USEQoJb2F1dGhfdXJsGAEgASgJIk4KIkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25BY3Rpb24SDAoEa2luZBgBIAEoCRINCgVsYWJlbBgCIAEoCRILCgN1cmwYAyABKAkimAIKJkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25EZWZpbml0aW9uEgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhEKCWNvbm5lY3RlZBgEIAEoCBITCgtzdGF0dXNfa2luZBgFIAEoCRIUCgxzdGF0dXNfbGFiZWwYBiABKAkSPwoHZGV0YWlscxgHIAMoCzIuLnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNJbnRlZ3JhdGlvbkRldGFpbBI/CgdhY3Rpb25zGAggAygLMi4ucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0ludGVncmF0aW9uQWN0aW9uIk8KIkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25EZXRhaWwSCwoDa2V5GAEgASgJEg0KBWxhYmVsGAIgASgJEg0KBXZhbHVlGAMgASgJIkwKJENsb3VkSW50ZWdyYXRpb25zSW52b2tlQWN0aW9uUmVxdWVzdBIWCg5pbnRlZ3JhdGlvbl9pZBgBIAEoCRIMCgRraW5kGAIgASgJIpYBCiVDbG91ZEludGVncmF0aW9uc0ludm9rZUFjdGlvblJlc3BvbnNlEhMKC3VybF90b19vcGVuGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSRwoLaW50ZWdyYXRpb24YAyABKAsyMi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25EZWZpbml0aW9uIkIKLkNsb3VkSW50ZWdyYXRpb25zTGlzdEV2ZW50U3Vic2NyaXB0aW9uc1JlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkieAovQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0RXZlbnRTdWJzY3JpcHRpb25zUmVzcG9uc2USRQoNc3Vic2NyaXB0aW9ucxgBIAMoCzIuLnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNFdmVudFN1YnNjcmlwdGlvbiIeChxDbG91ZEludGVncmF0aW9uc0xpc3RSZXF1ZXN0ImkKHUNsb3VkSW50ZWdyYXRpb25zTGlzdFJlc3BvbnNlEkgKDGludGVncmF0aW9ucxgBIAMoCzIyLnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNJbnRlZ3JhdGlvbkRlZmluaXRpb24iSgopQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0U2xhY2tDaGFubmVsc1JlcXVlc3QSDgoGY3Vyc29yGAEgASgJEg0KBWxpbWl0GAIgASgNIo0BCipDbG91ZEludGVncmF0aW9uc0xpc3RTbGFja0NoYW5uZWxzUmVzcG9uc2USOwoIY2hhbm5lbHMYASADKAsyKS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zU2xhY2tDaGFubmVsEhMKC25leHRfY3Vyc29yGAIgASgJEg0KBWVycm9yGAMgASgJIisKKUNsb3VkSW50ZWdyYXRpb25zUmV2b2tlR2l0aHViT0F1dGhSZXF1ZXN0IiwKKkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlR2l0aHViT0F1dGhSZXNwb25zZSIrCilDbG91ZEludGVncmF0aW9uc1Jldm9rZUxpbmVhck9BdXRoUmVxdWVzdCIsCipDbG91ZEludGVncmF0aW9uc1Jldm9rZUxpbmVhck9BdXRoUmVzcG9uc2UiYAodQ2xvdWRJbnRlZ3JhdGlvbnNTbGFja0NoYW5uZWwSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRISCgppc19wcml2YXRlGAMgASgIEhEKCWlzX21lbWJlchgEIAEoCCLyAQoMQ2xvdWRQcm9qZWN0EhIKCnByb2plY3RfaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpjcmVhdGVkX2J5GAYgASgJEjcKBmFnZW50cxgHIAMoCzInLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0QWdlbnRNZW1iZXJzaGlwIl0KG0Nsb3VkUHJvamVjdEFnZW50TWVtYmVyc2hpcBIQCghhZ2VudF9pZBgBIAEoCRIsCghhZGRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiRAocQ2xvdWRQcm9qZWN0c0FkZEFnZW50UmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEhAKCGFnZW50X2lkGAIgASgJIkoKHUNsb3VkUHJvamVjdHNBZGRBZ2VudFJlc3BvbnNlEikKB3Byb2plY3QYASABKAsyGC5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdCJGCiFDbG91ZFByb2plY3RzQ3JlYXRlUHJvamVjdFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSJPCiJDbG91ZFByb2plY3RzQ3JlYXRlUHJvamVjdFJlc3BvbnNlEikKB3Byb2plY3QYASABKAsyGC5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdCI3CiFDbG91ZFByb2plY3RzRGVsZXRlUHJvamVjdFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCSIkCiJDbG91ZFByb2plY3RzRGVsZXRlUHJvamVjdFJlc3BvbnNlIjQKHkNsb3VkUHJvamVjdHNHZXRQcm9qZWN0UmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJIkwKH0Nsb3VkUHJvamVjdHNHZXRQcm9qZWN0UmVzcG9uc2USKQoHcHJvamVjdBgBIAEoCzIYLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0IiIKIENsb3VkUHJvamVjdHNMaXN0UHJvamVjdHNSZXF1ZXN0Ik8KIUNsb3VkUHJvamVjdHNMaXN0UHJvamVjdHNSZXNwb25zZRIqCghwcm9qZWN0cxgBIAMoCzIYLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0IkcKH0Nsb3VkUHJvamVjdHNSZW1vdmVBZ2VudFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIQCghhZ2VudF9pZBgCIAEoCSJNCiBDbG91ZFByb2plY3RzUmVtb3ZlQWdlbnRSZXNwb25zZRIpCgdwcm9qZWN0GAEgASgLMhgucHVibGljX2FwaS5DbG91ZFByb2plY3QinwQKDUNsb3VkUmVzaWRlbnQSEwoLcmVzaWRlbnRfaWQYASABKAkSLQoFc2NvcGUYAiABKA4yHi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRTY29wZRIvCgZjb25maWcYAyABKAsyHy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRDb25maWcSDwoHdXNlcl9pZBgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChByZXNvdXJjZV92ZXJzaW9uGAcgASgDEhgKEGN1cnJlbnRfYWdlbnRfaWQYCCABKAkSLgoKc3RhcnRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFgoOZWZmZWN0aXZlX3JvbGUYCiABKAkSLgoKZGVsZXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASQAoPcHJlc2VuY2Vfc3RhdHVzGAwgASgLMicucHVibGljX2FwaS5DbG91ZFJlc2lkZW50UHJlc2VuY2VTdGF0dXMSOgoNc3BhY2Vfc3VtbWFyeRgNIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTcGFjZVN1bW1hcnkixAMKE0Nsb3VkUmVzaWRlbnRDb25maWcSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIRCglleHBlcnRfaWQYAyABKAkSHAoPaW5pdGlhbF9tZXNzYWdlGAQgASgJSACIAQESOgoJb3ZlcnJpZGVzGAUgASgLMiIucHVibGljX2FwaS5DbG91ZFJlc2lkZW50T3ZlcnJpZGVzSAGIAQESGwoOcnVuX2FzX3VzZXJfaWQYBiABKAlIAogBARI4CghwcmVzZW5jZRgHIAEoCzIhLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudFByZXNlbmNlSAOIAQESDAoEaWNvbhgIIAEoCRI3CgR0YWdzGAkgAygLMikucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnLlRhZ3NFbnRyeRIQCghoYXNfdGFncxgKIAEoCBorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfaW5pdGlhbF9tZXNzYWdlQgwKCl9vdmVycmlkZXNCEQoPX3J1bl9hc191c2VyX2lkQgsKCV9wcmVzZW5jZSKCAQoYQ2xvdWRSZXNpZGVudEVudlZNQ29uZmlnEhUKDWJhc2VfaW1hZ2VfaWQYASABKAkSQQoJcmVzb3VyY2VzGAIgASgLMikucHVibGljX2FwaS5DbG91ZFJlc2lkZW50TWFjaGluZVJlc291cmNlc0gAiAEBQgwKCl9yZXNvdXJjZXMiRgodQ2xvdWRSZXNpZGVudE1hY2hpbmVSZXNvdXJjZXMSEQoJY3B1X2NvcmVzGAEgASgCEhIKCm1lbW9yeV9taWIYAiABKAUisgEKFkNsb3VkUmVzaWRlbnRPdmVycmlkZXMSOQoJdm1fY29uZmlnGAIgASgLMiQucHVibGljX2FwaS5DbG91ZFJlc2lkZW50RW52Vk1Db25maWdIABIWCgxkYWVtb25fdm1faWQYAyABKAlIABIYCg5kYWVtb25fcG9vbF9pZBgEIAEoCUgAEhIKBW1vZGVsGAEgASgJSAGIAQFCDQoLZW52aXJvbm1lbnRCCAoGX21vZGVsIlMKFUNsb3VkUmVzaWRlbnRQcmVzZW5jZRItCgVzbGFjaxgBIAEoCzIeLnB1YmxpY19hcGkuQ2xvdWRTbGFja1ByZXNlbmNlSgQIAhADUgV0ZWFtcyJfChtDbG91ZFJlc2lkZW50UHJlc2VuY2VTdGF0dXMSMwoFc2xhY2sYASABKAsyJC5wdWJsaWNfYXBpLkNsb3VkU2xhY2tQcmVzZW5jZVN0YXR1c0oECAIQA1IFdGVhbXMinQEKG0Nsb3VkUmVzaWRlbnRTZXNzaW9uU3VtbWFyeRIQCghhZ2VudF9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSLgoKc3RhcnRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItQBChlDbG91ZFJlc2lkZW50VmVyc2lvbkVudHJ5EhgKEHJlc291cmNlX3ZlcnNpb24YASABKAMSLwoGY29uZmlnGAIgASgLMh8ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnEi0KBXNjb3BlGAMgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGUSEwoLbW9kaWZpZWRfYnkYBCABKAkSEwoLbW9kaWZpZWRfYXQYBSABKAkSEwoLY2hhbmdlX3R5cGUYBiABKAkihQEKI0Nsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnRSZXF1ZXN0Ei0KBXNjb3BlGAEgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGUSLwoGY29uZmlnGAIgASgLMh8ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnIlMKJENsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudCJQCiNDbG91ZFJlc2lkZW50c0RlbGV0ZVJlc2lkZW50UmVxdWVzdBIUCgxyZXNpZGVudF9pZHMYASADKAkSEwoLaGFyZF9kZWxldGUYAiABKAgiYQokQ2xvdWRSZXNpZGVudHNEZWxldGVSZXNpZGVudFJlc3BvbnNlEhwKFGRlbGV0ZWRfcmVzaWRlbnRfaWRzGAEgAygJEhsKE2ZhaWxlZF9yZXNpZGVudF9pZHMYAiADKAkiNwogQ2xvdWRSZXNpZGVudHNHZXRSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkiUAohQ2xvdWRSZXNpZGVudHNHZXRSZXNpZGVudFJlc3BvbnNlEisKCHJlc2lkZW50GAEgASgLMhkucHVibGljX2FwaS5DbG91ZFJlc2lkZW50IlAKH0Nsb3VkUmVzaWRlbnRzR2V0VmVyc2lvblJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSGAoQcmVzb3VyY2VfdmVyc2lvbhgCIAEoAyJaCiBDbG91ZFJlc2lkZW50c0dldFZlcnNpb25SZXNwb25zZRI2Cgd2ZXJzaW9uGAEgASgLMiUucHVibGljX2FwaS5DbG91ZFJlc2lkZW50VmVyc2lvbkVudHJ5IqkBCiJDbG91ZFJlc2lkZW50c0xpc3RSZXNpZGVudHNSZXF1ZXN0EjIKBXNjb3BlGAEgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGVIAIgBARIXCg9pbmNsdWRlX2RlbGV0ZWQYAiABKAgSEAoIc3BhY2VfaWQYAyABKAkSGgoSZGVmYXVsdF9zcGFjZV9vbmx5GAQgASgIQggKBl9zY29wZSJTCiNDbG91ZFJlc2lkZW50c0xpc3RSZXNpZGVudHNSZXNwb25zZRIsCglyZXNpZGVudHMYASADKAsyGS5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnQiOAohQ2xvdWRSZXNpZGVudHNMaXN0U2Vzc2lvbnNSZXF1ZXN0EhMKC3Jlc2lkZW50X2lkGAEgASgJIl8KIkNsb3VkUmVzaWRlbnRzTGlzdFNlc3Npb25zUmVzcG9uc2USOQoIc2Vzc2lvbnMYASADKAsyJy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRTZXNzaW9uU3VtbWFyeSJHCiFDbG91ZFJlc2lkZW50c0xpc3RWZXJzaW9uc1JlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSDQoFbGltaXQYAiABKAUiXQoiQ2xvdWRSZXNpZGVudHNMaXN0VmVyc2lvbnNSZXNwb25zZRI3Cgh2ZXJzaW9ucxgBIAMoCzIlLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudFZlcnNpb25FbnRyeSI7CiRDbG91ZFJlc2lkZW50c1Jlc3RvcmVSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkiVAolQ2xvdWRSZXNpZGVudHNSZXN0b3JlUmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudCLNAQosQ2xvdWRSZXNpZGVudHNTZXRSZXNpZGVudFRlbmFudEFjY2Vzc1JlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSLQoFc2NvcGUYAiABKA4yHi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRTY29wZRITCgt0ZW5hbnRfcm9sZRgDIAEoCRImChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAQgASgDSACIAQFCHAoaX2V4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24iXAotQ2xvdWRSZXNpZGVudHNTZXRSZXNpZGVudFRlbmFudEFjY2Vzc1Jlc3BvbnNlEisKCHJlc2lkZW50GAEgASgLMhkucHVibGljX2FwaS5DbG91ZFJlc2lkZW50ImsKIkNsb3VkUmVzaWRlbnRzU3RhcnRSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSHAoPaW5pdGlhbF9tZXNzYWdlGAIgASgJSACIAQFCEgoQX2luaXRpYWxfbWVzc2FnZSJ5CiNDbG91ZFJlc2lkZW50c1N0YXJ0UmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudBIlCgVhZ2VudBgCIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRBZ2VudCI4CiFDbG91ZFJlc2lkZW50c1N0b3BSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkiUQoiQ2xvdWRSZXNpZGVudHNTdG9wUmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudCL/AQojQ2xvdWRSZXNpZGVudHNVcGRhdGVSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSNAoGY29uZmlnGAIgASgLMh8ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnSACIAQESJgoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoA0gBiAEBEjIKBXNjb3BlGAQgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGVIAogBAUIJCgdfY29uZmlnQhwKGl9leHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uQggKBl9zY29wZSJTCiRDbG91ZFJlc2lkZW50c1VwZGF0ZVJlc2lkZW50UmVzcG9uc2USKwoIcmVzaWRlbnQYASABKAsyGS5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnQi2AIKFENsb3VkU2FuZGJveFByb3ZpZGVyEgwKBHNsdWcYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB2VuYWJsZWQYBSABKAgSGgoSY3JlYXRlZF9ieV91c2VyX2lkGAYgASgJEhIKCmNyZWF0ZWRfYXQYByABKAkSEgoKdXBkYXRlZF9hdBgIIAEoCRIYChByZXNvdXJjZV92ZXJzaW9uGAkgASgDEhIKCmRlbGV0ZWRfYXQYCiABKAkSCgoCaWQYCyABKAkSOwoNcHJvdmlkZXJfdHlwZRgMIAEoDjIkLnB1YmxpY19hcGkuQ2xvdWRTYW5kYm94UHJvdmlkZXJUeXBlEhEKCXNwYWNlX2lkcxgNIAMoCRISCgphbGxfc3BhY2VzGA4gASgISgQIBBAFUg5zeXN0ZW1fbWFuYWdlZCKeAQoSQ2xvdWRTbGFja1ByZXNlbmNlEhMKC21lbnRpb25hYmxlGAEgASgIEhgKEHVzZXJncm91cF9oYW5kbGUYAiABKAkSFwoPaG9tZV9jaGFubmVsX2lkGAMgASgJEiQKF2RpcmVjdF9tZXNzYWdlc19lbmFibGVkGAQgASgISACIAQFCGgoYX2RpcmVjdF9tZXNzYWdlc19lbmFibGVkInEKGENsb3VkU2xhY2tQcmVzZW5jZVN0YXR1cxISCgpzdWJ0ZWFtX2lkGAEgASgJEjIKDmxhc3Rfc3luY2VkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVlcnJvchgDIAEoCSLcAQoKQ2xvdWRTcGFjZRIQCghzcGFjZV9pZBgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSFwoPbm9ybWFsaXplZF9uYW1lGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmNyZWF0ZWRfYnkYBiABKAkSGQoRcGlubmVkX2V4cGVydF9pZHMYByADKAkiNQodQ2xvdWRTcGFjZXNDcmVhdGVTcGFjZVJlcXVlc3QSFAoMZGlzcGxheV9uYW1lGAEgASgJIkcKHkNsb3VkU3BhY2VzQ3JlYXRlU3BhY2VSZXNwb25zZRIlCgVzcGFjZRgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRTcGFjZSIxCh1DbG91ZFNwYWNlc0RlbGV0ZVNwYWNlUmVxdWVzdBIQCghzcGFjZV9pZBgBIAEoCSIgCh5DbG91ZFNwYWNlc0RlbGV0ZVNwYWNlUmVzcG9uc2UiLgoaQ2xvdWRTcGFjZXNHZXRTcGFjZVJlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkiRAobQ2xvdWRTcGFjZXNHZXRTcGFjZVJlc3BvbnNlEiUKBXNwYWNlGAEgASgLMhYucHVibGljX2FwaS5DbG91ZFNwYWNlIh4KHENsb3VkU3BhY2VzTGlzdFNwYWNlc1JlcXVlc3QiRwodQ2xvdWRTcGFjZXNMaXN0U3BhY2VzUmVzcG9uc2USJgoGc3BhY2VzGAEgAygLMhYucHVibGljX2FwaS5DbG91ZFNwYWNlIkcKHUNsb3VkU3BhY2VzVXBkYXRlU3BhY2VSZXF1ZXN0EhAKCHNwYWNlX2lkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCSJHCh5DbG91ZFNwYWNlc1VwZGF0ZVNwYWNlUmVzcG9uc2USJQoFc3BhY2UYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkU3BhY2UiWAolQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVxdWVzdBIZChFldmVudF9zb3VyY2VfanNvbhgBIAEoCRIUCgxkZXNpcmVkX3NsdWcYAiABKAkiQwomQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVzcG9uc2USGQoRZXZlbnRfc291cmNlX2pzb24YASABKAkiUQoiQ2xvdWRUcmlnZ2Vyc0NyZWF0ZVdvcmtmbG93UmVxdWVzdBIVCg13b3JrZmxvd19qc29uGAEgASgJEhQKDGRlc2lyZWRfc2x1ZxgCIAEoCSI8CiNDbG91ZFRyaWdnZXJzQ3JlYXRlV29ya2Zsb3dSZXNwb25zZRIVCg13b3JrZmxvd19qc29uGAEgASgJIkIKJkNsb3VkVHJpZ2dlcnNEZWxldGVFdmVudFNvdXJjZXNSZXF1ZXN0EhgKEGV2ZW50X3NvdXJjZV9pZHMYASADKAkifQonQ2xvdWRUcmlnZ2Vyc0RlbGV0ZUV2ZW50U291cmNlc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSIAoYZGVsZXRlZF9ldmVudF9zb3VyY2VfaWRzGAIgAygJEh8KF2ZhaWxlZF9ldmVudF9zb3VyY2VfaWRzGAMgAygJImwKMkNsb3VkVHJpZ2dlcnNEZWxldGVXb3JrZmxvd0V4cGVjdGVkUmVzb3VyY2VWZXJzaW9uEhMKC3dvcmtmbG93X2lkGAEgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAiABKAMingEKIkNsb3VkVHJpZ2dlcnNEZWxldGVXb3JrZmxvd1JlcXVlc3QSFAoMd29ya2Zsb3dfaWRzGAEgAygJEmIKGmV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb25zGAIgAygLMj4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzRGVsZXRlV29ya2Zsb3dFeHBlY3RlZFJlc291cmNlVmVyc2lvbiKRAQojQ2xvdWRUcmlnZ2Vyc0RlbGV0ZVdvcmtmbG93UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIcChRkZWxldGVkX3dvcmtmbG93X2lkcxgCIAMoCRIbChNmYWlsZWRfd29ya2Zsb3dfaWRzGAMgAygJEh4KFm5vdF9mb3VuZF93b3JrZmxvd19pZHMYBCADKAkiPQoiQ2xvdWRUcmlnZ2Vyc0dldEV2ZW50U291cmNlUmVxdWVzdBIXCg9ldmVudF9zb3VyY2VfaWQYASABKAkiQAojQ2xvdWRUcmlnZ2Vyc0dldEV2ZW50U291cmNlUmVzcG9uc2USGQoRZXZlbnRfc291cmNlX2pzb24YASABKAkiNgofQ2xvdWRUcmlnZ2Vyc0dldFdvcmtmbG93UmVxdWVzdBITCgt3b3JrZmxvd19pZBgBIAEoCSI5CiBDbG91ZFRyaWdnZXJzR2V0V29ya2Zsb3dSZXNwb25zZRIVCg13b3JrZmxvd19qc29uGAEgASgJIiYKJENsb3VkVHJpZ2dlcnNMaXN0RXZlbnRTb3VyY2VzUmVxdWVzdCJDCiVDbG91ZFRyaWdnZXJzTGlzdEV2ZW50U291cmNlc1Jlc3BvbnNlEhoKEmV2ZW50X3NvdXJjZXNfanNvbhgBIAEoCSJPCiFDbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93c1JlcXVlc3QSFwoPZXZlbnRfc291cmNlX2lkGAEgASgJEhEKCWV4cGVydF9pZBgCIAEoCSI8CiJDbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93c1Jlc3BvbnNlEhYKDndvcmtmbG93c19qc29uGAEgASgJImUKJUNsb3VkVHJpZ2dlcnNVcGRhdGVFdmVudFNvdXJjZVJlcXVlc3QSGQoRZXZlbnRfc291cmNlX2pzb24YASABKAkSIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgCIAEoAyJDCiZDbG91ZFRyaWdnZXJzVXBkYXRlRXZlbnRTb3VyY2VSZXNwb25zZRIZChFldmVudF9zb3VyY2VfanNvbhgBIAEoCSLDAwoiQ2xvdWRUcmlnZ2Vyc1VwZGF0ZVdvcmtmbG93UmVxdWVzdBITCgt3b3JrZmxvd19pZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESFAoHZW5hYmxlZBgDIAEoCEgBiAEBEiYKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YBCABKANIAogBARIqCh1vdmVycmlkZV9hdXRvX2NsZWFudXBfb25faWRsZRgFIAEoCEgDiAEBEioKHXBlcl9taW51dGVfY3JlYXRlX2FnZW50X2xpbWl0GAYgASgFSASIAQESIQoUaW5pdGlhbF9pbnN0cnVjdGlvbnMYByABKAlIBYgBARIaCg1hY3Rvcl91c2VyX2lkGAggASgJSAaIAQFCBwoFX25hbWVCCgoIX2VuYWJsZWRCHAoaX2V4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb25CIAoeX292ZXJyaWRlX2F1dG9fY2xlYW51cF9vbl9pZGxlQiAKHl9wZXJfbWludXRlX2NyZWF0ZV9hZ2VudF9saW1pdEIXChVfaW5pdGlhbF9pbnN0cnVjdGlvbnNCEAoOX2FjdG9yX3VzZXJfaWQiPAojQ2xvdWRUcmlnZ2Vyc1VwZGF0ZVdvcmtmbG93UmVzcG9uc2USFQoNd29ya2Zsb3dfanNvbhgBIAEoCSKIAgoLQ2xvdWRUdW5uZWwSEQoJdHVubmVsX2lkGAEgASgJEhAKCGFnZW50X2lkGAIgASgJEg0KBXZtX2lkGAMgASgJEhIKCmxvY2FsX2hvc3QYBCABKAkSEgoKbG9jYWxfcG9ydBgFIAEoBRINCgVsYWJlbBgGIAEoCRIpCgRtb2RlGAcgASgOMhsucHVibGljX2FwaS5DbG91ZFR1bm5lbE1vZGUSLQoGc3RhdHVzGAggASgOMh0ucHVibGljX2FwaS5DbG91ZFR1bm5lbFN0YXR1cxIMCgRob3N0GAkgASgJEhIKCmNyZWF0ZWRfYXQYCiABKAkSEgoKZXhwaXJlc19hdBgLIAEoCSI9ChhDbG91ZFR1bm5lbHNDbG9zZVJlcXVlc3QSEQoJdHVubmVsX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJEChlDbG91ZFR1bm5lbHNDbG9zZVJlc3BvbnNlEicKBnR1bm5lbBgBIAEoCzIXLnB1YmxpY19hcGkuQ2xvdWRUdW5uZWwiKwoXQ2xvdWRUdW5uZWxzTGlzdFJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkiRAoYQ2xvdWRUdW5uZWxzTGlzdFJlc3BvbnNlEigKB3R1bm5lbHMYASADKAsyFy5wdWJsaWNfYXBpLkNsb3VkVHVubmVsIoYBChdDbG91ZFR1bm5lbHNPcGVuUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRISCgpsb2NhbF9wb3J0GAIgASgFEhIKCmxvY2FsX2hvc3QYAyABKAkSDQoFbGFiZWwYBCABKAkSFQoIYWN0aXZhdGUYBSABKAhIAIgBAUILCglfYWN0aXZhdGUiQwoYQ2xvdWRUdW5uZWxzT3BlblJlc3BvbnNlEicKBnR1bm5lbBgBIAEoCzIXLnB1YmxpY19hcGkuQ2xvdWRUdW5uZWwisAEKGkNsb3VkVW5wb29sZWREYWVtb25TdW1tYXJ5Eg0KBXZtX2lkGAEgASgJEhYKDndvcmtzcGFjZV9wYXRoGAIgASgJEhIKCm1heF9hZ2VudHMYAyABKAUSGwoTY3VycmVudF9hZ2VudF9jb3VudBgEIAEoBRIUCgxjb25uZWN0ZWRfYXQYBSABKAkSFgoObGFzdF9oZWFydGJlYXQYBiABKAkSDAoEbmFtZRgHIAEoCSJZChpDbG91ZFdlYmhvb2tzQ3JlYXRlUmVxdWVzdBITCgtkZXNjcmlwdGlvbhgBIAEoCRIMCgR0eXBlGAIgASgJEhgKEGNhcHR1cmVkX2hlYWRlcnMYAyADKAkicQobQ2xvdWRXZWJob29rc0NyZWF0ZVJlc3BvbnNlEhQKDHdlYmhvb2tfanNvbhgBIAEoCRILCgN1cmwYAiABKAkSDgoGc2VjcmV0GAMgASgJEh8KF3NldHVwX2luc3RydWN0aW9uc19qc29uGAQgASgJIjEKGkNsb3VkV2ViaG9va3NEZWxldGVSZXF1ZXN0EhMKC3dlYmhvb2tfaWRzGAEgAygJImcKG0Nsb3VkV2ViaG9va3NEZWxldGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhsKE2RlbGV0ZWRfd2ViaG9va19pZHMYAiADKAkSGgoSZmFpbGVkX3dlYmhvb2tfaWRzGAMgAygJIi0KF0Nsb3VkV2ViaG9va3NHZXRSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkiMAoYQ2xvdWRXZWJob29rc0dldFJlc3BvbnNlEhQKDHdlYmhvb2tfanNvbhgBIAEoCSJMCihDbG91ZFdlYmhvb2tzR2V0U2V0dXBJbnN0cnVjdGlvbnNSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkSDAoEdHlwZRgCIAEoCSJMCilDbG91ZFdlYmhvb2tzR2V0U2V0dXBJbnN0cnVjdGlvbnNSZXNwb25zZRIfChdzZXR1cF9pbnN0cnVjdGlvbnNfanNvbhgBIAEoCSIaChhDbG91ZFdlYmhvb2tzTGlzdFJlcXVlc3QiMgoZQ2xvdWRXZWJob29rc0xpc3RSZXNwb25zZRIVCg13ZWJob29rc19qc29uGAEgASgJIkMKHUNsb3VkV2ViaG9va3NTZXRTZWNyZXRSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkSDgoGc2VjcmV0GAIgASgJIjYKHkNsb3VkV2ViaG9va3NTZXRTZWNyZXRSZXNwb25zZRIUCgx3ZWJob29rX2pzb24YASABKAkilQEKGkNsb3VkV2ViaG9va3NVcGRhdGVSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkSGAoLZGVzY3JpcHRpb24YAiABKAlIAIgBARIYChBjYXB0dXJlZF9oZWFkZXJzGAMgAygJEh8KF3VwZGF0ZV9jYXB0dXJlZF9oZWFkZXJzGAQgASgIQg4KDF9kZXNjcmlwdGlvbiIzChtDbG91ZFdlYmhvb2tzVXBkYXRlUmVzcG9uc2USFAoMd2ViaG9va19qc29uGAEgASgJIvsEChtDb2RlYmFzZVJldHJpZXZhbFJhd1JlcXVlc3QSLgoHcXVlcmllcxgBIAMoCzIdLnB1YmxpY19hcGkuUmF3UmV0cmlldmFsUXVlcnkSIAoFYmxvYnMYAiABKAsyES5wdWJsaWNfYXBpLkJsb2JzEhIKCm1heF9jaHVua3MYAyABKAUSGQoRbWF4X291dHB1dF9sZW5ndGgYBCABKAUSGQoRdXNlcl9ndWlkZWRfYmxvYnMYBSADKAkSGwoTZXh0ZXJuYWxfc291cmNlX2lkcxgGIAMoCRIlCh1kaXNhYmxlX2F1dG9fZXh0ZXJuYWxfc291cmNlcxgHIAEoCBIMCgRwYXRoGAggASgJEg4KBnByZWZpeBgJIAEoCRIOCgZzdWZmaXgYCiABKAkSFQoNc2VsZWN0ZWRfY29kZRgLIAEoCRIkCgZkaWFsb2cYDCADKAsyFC5wdWJsaWNfYXBpLkV4Y2hhbmdlEiMKG2luY2x1ZGVfZm9ybWF0dGVkX3JldHJpZXZhbBgNIAEoCBIcChRpbmNsdWRlX2xpbmVfbnVtYmVycxgOIAEoCBIcCg9jb252ZXJzYXRpb25faWQYDyABKAlIAIgBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGBAgASgJSAGIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYESABKAlIAogBARIUCgd0dXJuX2lkGBIgASgJSAOIAQFCEgoQX2NvbnZlcnNhdGlvbl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCCgoIX3R1cm5faWQipAEKHENvZGViYXNlUmV0cmlldmFsUmF3UmVzcG9uc2USLQoGY2h1bmtzGAEgAygLMh0ucHVibGljX2FwaS5SYXdSZXRyaWV2ZWRDaHVuaxIbChNmb3JtYXR0ZWRfcmV0cmlldmFsGAIgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgDIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgEIAEoCCKlBAoYQ29kZWJhc2VSZXRyaWV2YWxSZXF1ZXN0EhsKE2luZm9ybWF0aW9uX3JlcXVlc3QYASABKAkSJAoGZGlhbG9nGAIgAygLMhQucHVibGljX2FwaS5FeGNoYW5nZRIgCgVibG9icxgDIAEoCzIRLnB1YmxpY19hcGkuQmxvYnMSGQoRbWF4X291dHB1dF9sZW5ndGgYBCABKAUSIgoaZGlzYWJsZV9jb2RlYmFzZV9yZXRyaWV2YWwYBSABKAgSHwoXZW5hYmxlX2NvbW1pdF9yZXRyaWV2YWwYBiABKAgSJQodZW5hYmxlX2NvbnZlcnNhdGlvbl9yZXRyaWV2YWwYByABKAgSNgoSYnJpbmdfeW91cl9vd25fa2V5GAggASgLMhUuY2hhdC5CcmluZ1lvdXJPd25LZXlIAIgBARIcCg9jb252ZXJzYXRpb25faWQYCSABKAlIAYgBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGAogASgJSAKIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYCyABKAlIA4gBARIUCgd0dXJuX2lkGAwgASgJSASIAQFCFQoTX2JyaW5nX3lvdXJfb3duX2tleUISChBfY29udmVyc2F0aW9uX2lkQhkKF19wYXJlbnRfY29udmVyc2F0aW9uX2lkQhcKFV9yb290X2NvbnZlcnNhdGlvbl9pZEIKCghfdHVybl9pZCK7BgoZQ29kZWJhc2VSZXRyaWV2YWxSZXNwb25zZRIbChNmb3JtYXR0ZWRfcmV0cmlldmFsGAEgASgJEiUKHWNvZGViYXNlX3JldHJpZXZhbF9lbGFwc2VkX21zGAIgASgFEikKIWNvbnZlcnNhdGlvbl9yZXRyaWV2YWxfZWxhcHNlZF9tcxgDIAEoBRIpCiFjb252ZXJzYXRpb25faW5pdGlhbF9yZXRyaWV2YWxfbXMYBCABKAUSJwofY29udmVyc2F0aW9uX3F1ZXJ5X3Jld3JpdGluZ19tcxgFIAEoBRIqCiJjb252ZXJzYXRpb25fZm9sbG93dXBfcmV0cmlldmFsX21zGAYgASgFEhsKE2Jsb2JfbmFtZV9sb29rdXBfbXMYByABKAUSIQoZY29kZWJhc2VfY2h1bmtzX3JldHJpZXZlZBgIIAEoBRIjChtjb252ZXJzYXRpb25fY2h1bmtzX2luaXRpYWwYCSABKAUSJgoeY29udmVyc2F0aW9uX3F1ZXJpZXNfZ2VuZXJhdGVkGAogASgFEiQKHGNvbnZlcnNhdGlvbl9jaHVua3NfZm9sbG93dXAYCyABKAUSJAocY29udmVyc2F0aW9uX2NodW5rc19jb21iaW5lZBgMIAEoBRIqCiJjb2RlYmFzZV9yZXN1bHRfbGVuX3ByZV90cnVuY2F0aW9uGA0gASgFEhsKE2NvZGViYXNlX3Jlc3VsdF9sZW4YDiABKAUSLgomY29udmVyc2F0aW9uX3Jlc3VsdF9sZW5fcHJlX3RydW5jYXRpb24YDyABKAUSHwoXY29udmVyc2F0aW9uX3Jlc3VsdF9sZW4YECABKAUSGwoTY29tYmluZWRfcmVzdWx0X2xlbhgRIAEoBRIUCgx0b3RhbF9idWRnZXQYEiABKAUSFwoPY29kZWJhc2VfYnVkZ2V0GBMgASgFEhsKE2NvbnZlcnNhdGlvbl9idWRnZXQYFCABKAUSGgoSY29kZWJhc2VfdHJ1bmNhdGVkGBUgASgIEh4KFmNvbnZlcnNhdGlvbl90cnVuY2F0ZWQYFiABKAgSFwoPZmluYWxfdHJ1bmNhdGVkGBcgASgIImIKEkNvbXBsZXRpb25GZWVkYmFjaxISCgpyZXF1ZXN0X2lkGAEgASgJEioKBnJhdGluZxgCIAEoDjIaLnB1YmxpY19hcGkuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgDIAEoCSIcChpDb21wbGV0aW9uRmVlZGJhY2tSZXNwb25zZSKDAQoOQ29tcGxldGlvbkl0ZW0SDAoEdGV4dBgBIAEoCRIWCg5za2lwcGVkX3N1ZmZpeBgCIAEoCRIfChdzdWZmaXhfcmVwbGFjZW1lbnRfdGV4dBgDIAEoCRIZCgxmaWx0ZXJfc2NvcmUYBCABKAJIAIgBAUIPCg1fZmlsdGVyX3Njb3JlIsoGChFDb21wbGV0aW9uUmVxdWVzdBISCgVtb2RlbBgBIAEoCUgAiAEBEg4KBnByb21wdBgCIAEoCRIMCgRwYXRoGAMgASgJEhMKBnN1ZmZpeBgEIAEoCUgBiAEBEhQKCG1lbW9yaWVzGAUgAygJQgIYARISCgV0b3BfaxgGIAEoBUgCiAEBEhIKBXRvcF9wGAcgASgCSAOIAQESGAoLdGVtcGVyYXR1cmUYCCABKAJIBIgBARIXCgptYXhfdG9rZW5zGAkgASgFSAWIAQESEQoEbGFuZxgKIAEoCUgGiAEBEhYKCWJsb2JfbmFtZRgLIAEoCUgHiAEBEhkKDHByZWZpeF9iZWdpbhgMIAEoBUgIiAEBEhwKD2N1cnNvcl9wb3NpdGlvbhgNIAEoBUgJiAEBEhcKCnN1ZmZpeF9lbmQYDiABKAVICogBARIyCgxyZWNlbmN5X2luZm8YDyABKAsyFy5wdWJsaWNfYXBpLlJlY2VuY3lJbmZvSAuIAQESIAoFYmxvYnMYECABKAsyES5wdWJsaWNfYXBpLkJsb2JzEhgKC3NlcXVlbmNlX2lkGBEgASgNSAyIAQESGwoKcHJvYmVfb25seRgSIAEoCEICGAFIDYgBARIdChBmaWx0ZXJfdGhyZXNob2xkGBMgASgCSA6IAQESLgoLZWRpdF9ldmVudHMYFCADKAsyGS5wdWJsaWNfYXBpLkZpbGVFZGl0RXZlbnQSOAoPY29tcGxldGlvbl90eXBlGBUgASgOMhoucHVibGljX2FwaS5Db21wbGV0aW9uVHlwZUgPiAEBQggKBl9tb2RlbEIJCgdfc3VmZml4QggKBl90b3Bfa0IICgZfdG9wX3BCDgoMX3RlbXBlcmF0dXJlQg0KC19tYXhfdG9rZW5zQgcKBV9sYW5nQgwKCl9ibG9iX25hbWVCDwoNX3ByZWZpeF9iZWdpbkISChBfY3Vyc29yX3Bvc2l0aW9uQg0KC19zdWZmaXhfZW5kQg8KDV9yZWNlbmN5X2luZm9CDgoMX3NlcXVlbmNlX2lkQg0KC19wcm9iZV9vbmx5QhMKEV9maWx0ZXJfdGhyZXNob2xkQhIKEF9jb21wbGV0aW9uX3R5cGUipAEKFENvbXBsZXRpb25SZXNvbHV0aW9uEhIKCnJlcXVlc3RfaWQYASABKAkSFQoNZW1pdF90aW1lX3NlYxgCIAEoAxIWCg5lbWl0X3RpbWVfbnNlYxgDIAEoBRIYChByZXNvbHZlX3RpbWVfc2VjGAQgASgDEhkKEXJlc29sdmVfdGltZV9uc2VjGAUgASgFEhQKDGFjY2VwdGVkX2lkeBgGIAEoBSLiAgoSQ29tcGxldGlvblJlc3BvbnNlEgwKBHRleHQYASABKAkSHAoUdW5rbm93bl9tZW1vcnlfbmFtZXMYAiADKAkSIwobc3VnZ2VzdGVkX3ByZWZpeF9jaGFyX2NvdW50GAMgASgNEiMKG3N1Z2dlc3RlZF9zdWZmaXhfY2hhcl9jb3VudBgEIAEoDRImChV1bmtub3duX2NoZWNrcG9pbnRfaWQYBSABKAlCAhgBSACIAQESJgoVY29tcGxldGlvbl90aW1lb3V0X21zGAYgASgNQgIYAUgBiAEBEjQKEGNvbXBsZXRpb25faXRlbXMYByADKAsyGi5wdWJsaWNfYXBpLkNvbXBsZXRpb25JdGVtEhwKFGNoZWNrcG9pbnRfbm90X2ZvdW5kGAggASgIQhgKFl91bmtub3duX2NoZWNrcG9pbnRfaWRCGAoWX2NvbXBsZXRpb25fdGltZW91dF9tcyKjAwoQQ29udmVyc2F0aW9uSW5mbxIXCg9jb252ZXJzYXRpb25faWQYASABKAkSFAoMd29ya3NwYWNlX2lkGAIgASgJEg0KBXRpdGxlGAMgASgJEhEKCWlzX3Bpbm5lZBgEIAEoCBIqCgR0eXBlGAUgASgOMhwucHVibGljX2FwaS5Db252ZXJzYXRpb25UeXBlEjMKCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESMwoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIoChtmb3JrZWRfZnJvbV9jb252ZXJzYXRpb25faWQYCCABKAlIAogBARIkChdmb3JrZWRfZnJvbV9leGNoYW5nZV9pZBgJIAEoCUgDiAEBQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0Qh4KHF9mb3JrZWRfZnJvbV9jb252ZXJzYXRpb25faWRCGgoYX2ZvcmtlZF9mcm9tX2V4Y2hhbmdlX2lkIsQBChZDb3N0QW5hbHl0aWNzRGF0YVBvaW50EjYKCmRhdGVfcmFuZ2UYASABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NEYXRlUmFuZ2USMQoHbWV0cmljcxgCIAEoCzIgLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc01ldHJpY3MSPwoPZ3JvdXBfYnlfdmFsdWVzGAMgASgLMiYucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzR3JvdXBCeVZhbHVlcyJ2ChZDb3N0QW5hbHl0aWNzRGF0ZVJhbmdlEi4KCnN0YXJ0X2RhdGUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI6ChdDb3N0QW5hbHl0aWNzRXhwZXJ0SW5mbxIRCglleHBlcnRfaWQYASABKAkSDAoEbmFtZRgCIAEoCSJ7ChRDb3N0QW5hbHl0aWNzRmlsdGVycxIQCgh1c2VyX2lkcxgBIAMoCRIdChVwcm9kdWN0X2Rpc3BsYXlfbmFtZXMYAiADKAkSHgoWcmVzb3VyY2VfZGlzcGxheV9uYW1lcxgDIAMoCRISCgpleHBlcnRfaWRzGAQgAygJIvwCChpDb3N0QW5hbHl0aWNzR3JvdXBCeVZhbHVlcxIaChJtb2RlbF9kaXNwbGF5X25hbWUYASABKAkSHQoVYWN0aXZpdHlfZGlzcGxheV9uYW1lGAIgASgJEjQKCXVzZXJfaW5mbxgDIAEoCzIhLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1VzZXJJbmZvEjgKC2J5b2tfc3RhdHVzGAQgASgOMiMucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzQnlva1N0YXR1cxIdChVyZXNvdXJjZV9kaXNwbGF5X25hbWUYBSABKAkSHAoUcHJvZHVjdF9kaXNwbGF5X25hbWUYBiABKAkSPAoNcmVzb3VyY2VfdHlwZRgHIAEoDjIlLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1Jlc291cmNlVHlwZRI4CgtleHBlcnRfaW5mbxgIIAEoCzIjLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0V4cGVydEluZm8imQIKFENvc3RBbmFseXRpY3NNZXRyaWNzEhkKEWJpbGxlZF9hbW91bnRfdXNkGAEgASgJEiMKG2VzdGltYXRlZF9jdXN0b21lcl9jb3N0X3VzZBgCIAEoCRIVCg1iYXNlX2Nvc3RfdXNkGAMgASgJEhUKDXN1cmNoYXJnZV91c2QYBCABKAkSFAoMaW5wdXRfdG9rZW5zGAUgASgEEhUKDW91dHB1dF90b2tlbnMYBiABKAQSGQoRY2FjaGVfcmVhZF90b2tlbnMYByABKAQSGgoSY2FjaGVfd3JpdGVfdG9rZW5zGAggASgEEhgKEGNyZWRpdHNfY29uc3VtZWQYCSABKAkSFQoNc2Vzc2lvbl9jb3VudBgKIAEoBCJyChZDb3N0QW5hbHl0aWNzVGFnRmlsdGVyEgsKA2tleRgBIAEoCRIOCgZ2YWx1ZXMYAiADKAkSOwoLZmlsdGVyX3R5cGUYAyABKA4yJi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NUYWdGaWx0ZXJUeXBlInUKFUNvc3RBbmFseXRpY3NVc2VySW5mbxIPCgd1c2VyX2lkGAEgASgJEjQKCXVzZXJfdHlwZRgCIAEoDjIhLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1VzZXJUeXBlEhUKDWVtYWlsX29yX25hbWUYAyABKAkiyAEKGENvc3RBbmFseXRpY3NWMkRhdGFQb2ludBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEjEKB21ldHJpY3MYAiABKAsyIC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NNZXRyaWNzEkEKD2dyb3VwX2J5X3ZhbHVlcxgDIAEoCzIoLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1YyR3JvdXBCeVZhbHVlcyJRChZDb3N0QW5hbHl0aWNzVjJGaWx0ZXJzEjcKC3RhZ19maWx0ZXJzGAEgAygLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzVGFnRmlsdGVyIqICChxDb3N0QW5hbHl0aWNzVjJHcm91cEJ5VmFsdWVzEkAKBHRhZ3MYASADKAsyMi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkdyb3VwQnlWYWx1ZXMuVGFnc0VudHJ5EloKEnRhZ19kaXNwbGF5X3ZhbHVlcxgCIAMoCzI+LnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1YyR3JvdXBCeVZhbHVlcy5UYWdEaXNwbGF5VmFsdWVzRW50cnkaKwoJVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaNwoVVGFnRGlzcGxheVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEikwEKF0NvdW50Q2hhdEhpc3RvcnlSZXF1ZXN0EhgKEGNvbnZlcnNhdGlvbl9pZHMYASADKAkSGwoOZXhjbHVkZV9zaWxlbnQYAiABKAhIAIgBARIbCg5leGNsdWRlX2ZhaWxlZBgDIAEoCEgBiAEBQhEKD19leGNsdWRlX3NpbGVudEIRCg9fZXhjbHVkZV9mYWlsZWQiUAoYQ291bnRDaGF0SGlzdG9yeVJlc3BvbnNlEjQKB3Jlc3VsdHMYASADKAsyIy5wdWJsaWNfYXBpLkNvdW50Q29udmVyc2F0aW9uUmVzdWx0Il4KF0NvdW50Q29udmVyc2F0aW9uUmVzdWx0Eg8KBWNvdW50GAIgASgFSAASDwoFZXJyb3IYAyABKAlIABIXCg9jb252ZXJzYXRpb25faWQYASABKAlCCAoGcmVzdWx0Ir0CChlDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0EhQKDHdvcmtzcGFjZV9pZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIRCglpc19waW5uZWQYAyABKAgSKgoEdHlwZRgEIAEoDjIcLnB1YmxpY19hcGkuQ29udmVyc2F0aW9uVHlwZRIcCg9jb252ZXJzYXRpb25faWQYBSABKAlIAIgBARIoChtmb3JrZWRfZnJvbV9jb252ZXJzYXRpb25faWQYBiABKAlIAYgBARIkChdmb3JrZWRfZnJvbV9leGNoYW5nZV9pZBgHIAEoCUgCiAEBQhIKEF9jb252ZXJzYXRpb25faWRCHgocX2ZvcmtlZF9mcm9tX2NvbnZlcnNhdGlvbl9pZEIaChhfZm9ya2VkX2Zyb21fZXhjaGFuZ2VfaWQiNQoaQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2USFwoPY29udmVyc2F0aW9uX2lkGAEgASgJIogBChhDcmVhdGVQdWxsUmVxdWVzdFJlcXVlc3QSJAoEcmVwbxgBIAEoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbxINCgV0aXRsZRgCIAEoCRIMCgRib2R5GAMgASgJEgwKBGhlYWQYBCABKAkSDAoEYmFzZRgFIAEoCRINCgVkcmFmdBgGIAEoCCJQChlDcmVhdGVQdWxsUmVxdWVzdFJlc3BvbnNlEjMKDHB1bGxfcmVxdWVzdBgBIAEoCzIdLnB1YmxpY19hcGkuR2l0aHViUHVsbFJlcXVlc3QiqgMKGENyZWF0ZVJlbW90ZUFnZW50UmVxdWVzdBI+Cg93b3Jrc3BhY2Vfc2V0dXAYASABKAsyJS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50V29ya3NwYWNlU2V0dXASSgoXaW5pdGlhbF9yZXF1ZXN0X2RldGFpbHMYAiABKAsyKS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50Q2hhdFJlcXVlc3REZXRhaWxzEhIKBW1vZGVsGAMgASgJSACIAQESGQoMc2V0dXBfc2NyaXB0GAQgASgJSAGIAQESEgoFdG9rZW4YBSABKAlIAogBARIiChVpc19zZXR1cF9zY3JpcHRfYWdlbnQYBiABKAhIA4gBARISCgV0aXRsZRgHIAEoCUgEiAEBEhcKCmltYWdlX25hbWUYCCABKAlIBYgBARIWCg5kaXNhYmxlZF90b29scxgJIAMoCUIICgZfbW9kZWxCDwoNX3NldHVwX3NjcmlwdEIICgZfdG9rZW5CGAoWX2lzX3NldHVwX3NjcmlwdF9hZ2VudEIICgZfdGl0bGVCDQoLX2ltYWdlX25hbWUiYwoZQ3JlYXRlUmVtb3RlQWdlbnRSZXNwb25zZRIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSLQoGc3RhdHVzGAIgASgOMh0ucHVibGljX2FwaS5SZW1vdGVBZ2VudFN0YXR1cyJPChRDcmVhdGVUcmlnZ2VyUmVxdWVzdBI3Cg1jb25maWd1cmF0aW9uGAEgASgLMiAucHVibGljX2FwaS5UcmlnZ2VyQ29uZmlndXJhdGlvbiI9ChVDcmVhdGVUcmlnZ2VyUmVzcG9uc2USJAoHdHJpZ2dlchgBIAEoCzITLnB1YmxpY19hcGkuVHJpZ2dlciIsChZDcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAlKBAgCEAMiLwoXQ3JlYXRlV29ya3NwYWNlUmVzcG9uc2USFAoMd29ya3NwYWNlX2lkGAEgASgJIjIKEUNyZWRpdERldGFpbHNJbmZvEg0KBWxhYmVsGAEgASgJEg4KBmFtb3VudBgCIAEoASKOAQoRQ3JlZGl0RGlzcGxheUluZm8SHwoXdXNhZ2VfdW5pdF9kaXNwbGF5X25hbWUYASABKAkSGQoRcGxhbl9kaXNwbGF5X25hbWUYAiABKAkSMgoGYmFubmVyGAMgASgLMh0ucHVibGljX2FwaS5CYW5uZXJJbmZvcm1hdGlvbkgAiAEBQgkKB19iYW5uZXIiMwoYRGVsZXRlUmVtb3RlQWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIbChlEZWxldGVSZW1vdGVBZ2VudFJlc3BvbnNlIkMKGURlbGV0ZVRlbmFudFNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAIgASgJIi0KGkRlbGV0ZVRlbmFudFNlY3JldFJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAgiKgoURGVsZXRlVHJpZ2dlclJlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCSIXChVEZWxldGVUcmlnZ2VyUmVzcG9uc2UifAoXRGVsZXRlVXNlclNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAIgASgJEiYKBXNjb3BlGAMgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRIRCglzZWNyZXRfaWQYBCABKAkiKwoYRGVsZXRlVXNlclNlY3JldFJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAgidQoWRGlmZkV4cGxhbmF0aW9uU2VjdGlvbhINCgV0aXRsZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRI3CghzZWN0aW9ucxgDIAMoCzIlLnB1YmxpY19hcGkuRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbiKbAQoZRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbhINCgV0aXRsZRgBIAEoCRJGCgxkZXNjcmlwdGlvbnMYAiADKAsyMC5wdWJsaWNfYXBpLkRpZmZFeHBsYW5hdGlvblN1YlNlY3Rpb25EZXNjcmlwdGlvbhInCglkaWZmX3R5cGUYAyABKA4yFC5wdWJsaWNfYXBpLkRpZmZUeXBlInsKJERpZmZFeHBsYW5hdGlvblN1YlNlY3Rpb25EZXNjcmlwdGlvbhIMCgRwYXRoGAEgASgJEgwKBHRleHQYAiABKAkSIAoFcmFuZ2UYAyABKAsyES5wdWJsaWNfYXBpLlJhbmdlEhUKDXNlbGVjdGVkX2NvZGUYBCABKAkiUAoURGlzbWlzc0VudGl0eVJlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCRIRCgllbnRpdHlfaWQYAiABKAkSEQoJZGlzbWlzc2VkGAMgASgIIhcKFURpc21pc3NFbnRpdHlSZXNwb25zZSJ0ChhEcm9wcGVkU2hhcmVkU2VydmVyT3B0SW4SEQoJc2VydmVyX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCRIZChFvcHRfaW5fZ2VuZXJhdGlvbhgDIAEoAxIaChJjdXJyZW50X2dlbmVyYXRpb24YBCABKAMidAoPRWRpdEZpbGVSZXF1ZXN0EhEKCWZpbGVfcGF0aBgBIAEoCRIUCgxlZGl0X3N1bW1hcnkYAiABKAkSIQoZZGV0YWlsZWRfZWRpdF9kZXNjcmlwdGlvbhgDIAEoCRIVCg1maWxlX2NvbnRlbnRzGAQgASgJIkQKEEVkaXRGaWxlUmVzcG9uc2USHgoWbW9kaWZpZWRfZmlsZV9jb250ZW50cxgBIAEoCRIQCghpc19lcnJvchgCIAEoCCKNAwoLRWRpdFJlcXVlc3QSEgoFbW9kZWwYASABKAlIAIgBARIOCgZwcmVmaXgYAiABKAkSFQoNc2VsZWN0ZWRfdGV4dBgDIAEoCRIOCgZzdWZmaXgYBCABKAkSFgoKYmxvYl9uYW1lcxgFIAMoCUICGAESEQoEcGF0aBgGIAEoCUgBiAEBEhMKC2luc3RydWN0aW9uGAcgASgJEhEKBGxhbmcYCCABKAlIAogBARIWCglibG9iX25hbWUYCSABKAlIA4gBARIZCgxwcmVmaXhfYmVnaW4YCiABKAVIBIgBARIXCgpzdWZmaXhfZW5kGAsgASgFSAWIAQESGAoLc2VxdWVuY2VfaWQYDCABKA1IBogBARIgCgVibG9icxgNIAEoCzIRLnB1YmxpY19hcGkuQmxvYnNCCAoGX21vZGVsQgcKBV9wYXRoQgcKBV9sYW5nQgwKCl9ibG9iX25hbWVCDwoNX3ByZWZpeF9iZWdpbkINCgtfc3VmZml4X2VuZEIOCgxfc2VxdWVuY2VfaWQipAIKDkVkaXRSZXNvbHV0aW9uEhcKC2NsaWVudF9uYW1lGAEgASgJQgIYARISCgpyZXF1ZXN0X2lkGAIgASgJEhUKDWVtaXRfdGltZV9zZWMYAyABKAMSFgoOZW1pdF90aW1lX25zZWMYBCABKAUSGAoQcmVzb2x2ZV90aW1lX3NlYxgFIAEoAxIZChFyZXNvbHZlX3RpbWVfbnNlYxgGIAEoBRITCgtpc19hY2NlcHRlZBgHIAEoCBIbCg5hbm5vdGF0ZWRfdGV4dBgIIAEoCUgAiAEBEiIKFWFubm90YXRlZF9pbnN0cnVjdGlvbhgJIAEoCUgBiAEBQhEKD19hbm5vdGF0ZWRfdGV4dEIYChZfYW5ub3RhdGVkX2luc3RydWN0aW9uIlYKDEVkaXRSZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCCIYChZFbnRlcnByaXNlU3Vic2NyaXB0aW9uIo0CCghFeGNoYW5nZRIXCg9yZXF1ZXN0X21lc3NhZ2UYASABKAkSGgoNcmVzcG9uc2VfdGV4dBgCIAEoCUgAiAEBEhcKCnJlcXVlc3RfaWQYAyABKAlIAYgBARIyCg1yZXF1ZXN0X25vZGVzGAQgAygLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGUSMgoOcmVzcG9uc2Vfbm9kZXMYBSADKAsyGi5wdWJsaWNfYXBpLkNoYXRSZXN1bHROb2RlEhkKDGNvbXBvc2l0ZV9pZBgGIAEoCUgCiAEBQhAKDl9yZXNwb25zZV90ZXh0Qg0KC19yZXF1ZXN0X2lkQg8KDV9jb21wb3NpdGVfaWQi0QEKDkV4Y2hhbmdlVXBkYXRlEhcKCnJlcXVlc3RfaWQYASABKAlIAIgBARITCgtzZXF1ZW5jZV9pZBgCIAEoDRIVCg1hcHBlbmRlZF90ZXh0GAMgASgJEjIKDmFwcGVuZGVkX25vZGVzGAQgAygLMhoucHVibGljX2FwaS5DaGF0UmVzdWx0Tm9kZRI3ChZhcHBlbmRlZF9jaGFuZ2VkX2ZpbGVzGAUgAygLMhcucHVibGljX2FwaS5DaGFuZ2VkRmlsZUINCgtfcmVxdWVzdF9pZCKJAgoZRXhlY3V0ZU1hbnVhbEFnZW50UmVxdWVzdBIRCgllbnRpdHlfaWQYASABKAkSPQoSZ2l0aHViX2VudGl0eV90eXBlGAIgASgOMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlUeXBlSACIAQESPQoSbGluZWFyX2VudGl0eV90eXBlGAMgASgOMhwucHVibGljX2FwaS5MaW5lYXJFbnRpdHlUeXBlSAGIAQESLQoMYWdlbnRfY29uZmlnGAQgASgLMhcucHVibGljX2FwaS5BZ2VudENvbmZpZ0IVChNfZ2l0aHViX2VudGl0eV90eXBlQhUKE19saW5lYXJfZW50aXR5X3R5cGUihgEKGkV4ZWN1dGVNYW51YWxBZ2VudFJlc3BvbnNlEhQKDGV4ZWN1dGlvbl9pZBgBIAEoCRIcCg9yZW1vdGVfYWdlbnRfaWQYAiABKAlIAIgBARIUCgdtZXNzYWdlGAMgASgJSAGIAQFCEgoQX3JlbW90ZV9hZ2VudF9pZEIKCghfbWVzc2FnZSJyCh1FeGVjdXRlVHJpZ2dlck1hbnVhbGx5UmVxdWVzdBISCgp0cmlnZ2VyX2lkGAEgASgJEhEKCWVudGl0eV9pZBgCIAEoCRIZCgxleHRyYV9wcm9tcHQYAyABKAlIAIgBAUIPCg1fZXh0cmFfcHJvbXB0IooBCh5FeGVjdXRlVHJpZ2dlck1hbnVhbGx5UmVzcG9uc2USFAoMZXhlY3V0aW9uX2lkGAEgASgJEhwKD3JlbW90ZV9hZ2VudF9pZBgCIAEoCUgAiAEBEhQKB21lc3NhZ2UYAyABKAlIAYgBAUISChBfcmVtb3RlX2FnZW50X2lkQgoKCF9tZXNzYWdlIm4KDkV4dGVybmFsU291cmNlEgoKAmlkGAEgASgJEgwKBG5hbWUYBCABKAkSDQoFdGl0bGUYAiABKAkSMwoLc291cmNlX3R5cGUYAyABKA4yHi5wdWJsaWNfYXBpLkV4dGVybmFsU291cmNlVHlwZSL7BQoORmVhdHVyZUNvbnRyb2wSPQoNZmVhdHVyZV90eXBlcxgBIAMoDjImLnB1YmxpY19hcGkuRmVhdHVyZUNvbnRyb2wuRmVhdHVyZVR5cGUSNgoFc3RhdGUYAiABKA4yJy5wdWJsaWNfYXBpLkZlYXR1cmVDb250cm9sLkZlYXR1cmVTdGF0ZRJJCg9kaXNhYmxlZF9yZWFzb24YAyABKA4yMC5wdWJsaWNfYXBpLkZlYXR1cmVDb250cm9sLkZlYXR1cmVEaXNhYmxlZFJlYXNvbhIsCghlbmRfZGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOwoMZGlzcGxheV9pbmZvGAUgASgLMiUucHVibGljX2FwaS5GZWF0dXJlQ29udHJvbERpc3BsYXlJbmZvIuoBCgtGZWF0dXJlVHlwZRILCgdVTktOT1dOEAASEAoMQUxMX0ZFQVRVUkVTEAESCAoEQ0hBVBACEgkKBUFHRU5UEAMSEAoMUkVNT1RFX0FHRU5UEAQSDQoJQ0xJX0FHRU5UEAUSDwoLT1JJRU5UQVRJT04QBxIPCgtDT0RFX1JFVklFVxAJEiIKHkNIQVRfU1RSRUFNX0NSRURJVF9DT05TVU1QVElPThAVEhIKDkNPTlRFWFRfRU5HSU5FEBYSDAoIUE9TRUlET04QGRISCg5JTkRFWElOR19JTkZSQRAcIgQIBhAGIgQICBAIIjwKDEZlYXR1cmVTdGF0ZRIRCg1TVEFURV9VTktOT1dOEAASCwoHRU5BQkxFRBABEgwKCERJU0FCTEVEEAIikAEKFUZlYXR1cmVEaXNhYmxlZFJlYXNvbhISCg5SRUFTT05fVU5LTk9XThAAEhkKFUlOQUNUSVZFX1NVQlNDUklQVElPThABEhoKFlVTQUdFX0JBTEFOQ0VfREVQTEVURUQQAhIYChROT1RfSU5DTFVERURfSU5fUExBThADEhIKDlFVT1RBX0VYQ0VFREVEEAQiUAoZRmVhdHVyZUNvbnRyb2xEaXNwbGF5SW5mbxItCgZiYW5uZXIYAiABKAsyHS5wdWJsaWNfYXBpLkJhbm5lckluZm9ybWF0aW9uSgQIARACIkkKEUZlYXR1cmVHYXRpbmdJbmZvEjQKEGZlYXR1cmVfY29udHJvbHMYASADKAsyGi5wdWJsaWNfYXBpLkZlYXR1cmVDb250cm9sIl4KCEZpbGVFZGl0EhQKDGJlZm9yZV9zdGFydBgBIAEoDRITCgtiZWZvcmVfdGV4dBgCIAEoCRITCgthZnRlcl9zdGFydBgDIAEoDRISCgphZnRlcl90ZXh0GAQgASgJInUKDUZpbGVFZGl0RXZlbnQSDAoEcGF0aBgBIAEoCRIYChBiZWZvcmVfYmxvYl9uYW1lGAIgASgJEhcKD2FmdGVyX2Jsb2JfbmFtZRgDIAEoCRIjCgVlZGl0cxgEIAMoCzIULnB1YmxpY19hcGkuRmlsZUVkaXQiTAoSRmluZE1pc3NpbmdSZXF1ZXN0EhIKBW1vZGVsGAEgASgJSACIAQESGAoQbWVtX29iamVjdF9uYW1lcxgCIAMoCUIICgZfbW9kZWwiUgoTRmluZE1pc3NpbmdSZXNwb25zZRIcChR1bmtub3duX21lbW9yeV9uYW1lcxgCIAMoCRIdChVub25pbmRleGVkX2Jsb2JfbmFtZXMYAyADKAki0wEKHEdlbmVyYXRlQ29tbWl0TWVzc2FnZVJlcXVlc3QSPQoSY2hhbmdlZF9maWxlX3N0YXRzGAEgASgLMhwucHVibGljX2FwaS5DaGFuZ2VkRmlsZVN0YXRzSACIAQESEQoEZGlmZhgCIAEoCUgBiAEBEiAKGHJlbGV2YW50X2NvbW1pdF9tZXNzYWdlcxgDIAMoCRIfChdleGFtcGxlX2NvbW1pdF9tZXNzYWdlcxgEIAMoCUIVChNfY2hhbmdlZF9maWxlX3N0YXRzQgcKBV9kaWZmIi0KHUdlbmVyYXRlQ29tbWl0TWVzc2FnZVJlc3BvbnNlEgwKBHRleHQYASABKAkiJAoWR2V0QWdlbnRQZXJzb25hUmVxdWVzdBIKCgJpZBgBIAEoCSJKChdHZXRBZ2VudFBlcnNvbmFSZXNwb25zZRIvCg1hZ2VudF9wZXJzb25hGAEgASgLMhgucHVibGljX2FwaS5BZ2VudFBlcnNvbmEiGgoYR2V0QmlsbGluZ1N1bW1hcnlSZXF1ZXN0IvkBChlHZXRCaWxsaW5nU3VtbWFyeVJlc3BvbnNlEhEKCXBsYW5fbmFtZRgBIAEoCRIYChBhbW91bnRfcmVtYWluaW5nGAIgASgJEiEKGWFtb3VudF9pbmNsdWRlZF9wZXJfY3ljbGUYAyABKAkSKQoKdXNhZ2VfdW5pdBgEIAEoDjIVLnB1YmxpY19hcGkuVXNhZ2VVbml0EiIKGmJpbGxpbmdfY3ljbGVfZW5kX2RhdGVfaXNvGAUgASgJEjIKBmJhbm5lchgGIAEoCzIdLnB1YmxpY19hcGkuQmFubmVySW5mb3JtYXRpb25IAIgBAUIJCgdfYmFubmVyIkcKFkdldENvbnZlcnNhdGlvblJlcXVlc3QSFAoMd29ya3NwYWNlX2lkGAEgASgJEhcKD2NvbnZlcnNhdGlvbl9pZBgCIAEoCSJNChdHZXRDb252ZXJzYXRpb25SZXNwb25zZRIyCgxjb252ZXJzYXRpb24YASABKAsyHC5wdWJsaWNfYXBpLkNvbnZlcnNhdGlvbkluZm8iowIKF0dldENvc3RBbmFseXRpY3NSZXF1ZXN0EjYKCmRhdGVfcmFuZ2UYASABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NEYXRlUmFuZ2USNwoNZ3JvdXBfYnlfa2V5cxgCIAMoDjIgLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0dyb3VwQnkSPQoLZ3JhbnVsYXJpdHkYAyABKA4yKC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NUaW1lR3JhbnVsYXJpdHkSEQoJcGFnZV9zaXplGAQgASgNEhIKCnBhZ2VfdG9rZW4YBSABKAkSMQoHZmlsdGVycxgGIAEoCzIgLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0ZpbHRlcnMibAoYR2V0Q29zdEFuYWx5dGljc1Jlc3BvbnNlEjcKC2RhdGFfcG9pbnRzGAEgAygLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0YVBvaW50EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKJAgoZR2V0Q29zdEFuYWx5dGljc1YyUmVxdWVzdBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEj0KC2dyYW51bGFyaXR5GAIgASgOMigucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzVGltZUdyYW51bGFyaXR5EhkKEXRhZ19ncm91cF9ieV9rZXlzGAMgAygJEjMKB2ZpbHRlcnMYBCABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkZpbHRlcnMSEQoJcGFnZV9zaXplGAUgASgNEhIKCnBhZ2VfdG9rZW4YBiABKAkicAoaR2V0Q29zdEFuYWx5dGljc1YyUmVzcG9uc2USOQoLZGF0YV9wb2ludHMYASADKAsyJC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkRhdGFQb2ludBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiFgoUR2V0Q3JlZGl0SW5mb1JlcXVlc3QiyQMKFUdldENyZWRpdEluZm9SZXNwb25zZRIdChV1c2FnZV91bml0c19yZW1haW5pbmcYASABKAESMwondXNhZ2VfdW5pdHNfdG90YWxfY3VycmVudF9iaWxsaW5nX2N5Y2xlGAIgASgBQgIYARIoChx1c2FnZV91bml0c190b3RhbF9hZGRpdGlvbmFsGAMgASgBQgIYARIdChVpc19jcmVkaXRfYmFsYW5jZV9sb3cYBCABKAgSMwoMZGlzcGxheV9pbmZvGAUgASgLMh0ucHVibGljX2FwaS5DcmVkaXREaXNwbGF5SW5mbxIwCgxyZWZyZXNoZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KJmluY2x1ZGVkX3VzYWdlX3VuaXRzX3Blcl9iaWxsaW5nX2N5Y2xlGAcgASgBEioKImN1cnJlbnRfYmlsbGluZ19jeWNsZV9lbmRfZGF0ZV9pc28YCCABKAkSNQoOY3JlZGl0X2RldGFpbHMYCSADKAsyHS5wdWJsaWNfYXBpLkNyZWRpdERldGFpbHNJbmZvEhkKEXVzYWdlX3VuaXRzX3RvdGFsGAogASgBIvMCChdHZXRFbnRpdHlEZXRhaWxzUmVxdWVzdBIRCgllbnRpdHlfaWQYASABKAkSLQoMZXZlbnRfc291cmNlGAIgASgOMhcucHVibGljX2FwaS5FdmVudFNvdXJjZRI9ChJnaXRodWJfZW50aXR5X3R5cGUYAyABKA4yHC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVR5cGVIAIgBARI9ChJsaW5lYXJfZW50aXR5X3R5cGUYBCABKA4yHC5wdWJsaWNfYXBpLkxpbmVhckVudGl0eVR5cGVIAYgBARIXCgpyZXBvc2l0b3J5GAUgASgJSAKIAQESJQoYaW5jbHVkZV9yZWxhdGVkX2VudGl0aWVzGAYgASgISAOIAQFCFQoTX2dpdGh1Yl9lbnRpdHlfdHlwZUIVChNfbGluZWFyX2VudGl0eV90eXBlQg0KC19yZXBvc2l0b3J5QhsKGV9pbmNsdWRlX3JlbGF0ZWRfZW50aXRpZXMi5wEKGEdldEVudGl0eURldGFpbHNSZXNwb25zZRI0Cg1naXRodWJfZW50aXR5GAEgASgLMhgucHVibGljX2FwaS5HaXRIdWJFbnRpdHlIAIgBARI0Cg1saW5lYXJfZW50aXR5GAIgASgLMhgucHVibGljX2FwaS5MaW5lYXJFbnRpdHlIAYgBARINCgVmb3VuZBgDIAEoCBIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSAKIAQFCEAoOX2dpdGh1Yl9lbnRpdHlCEAoOX2xpbmVhcl9lbnRpdHlCEAoOX2Vycm9yX21lc3NhZ2UiPAoUR2V0R2l0aHViUmVwb1JlcXVlc3QSJAoEcmVwbxgBIAEoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbyI9ChVHZXRHaXRodWJSZXBvUmVzcG9uc2USJAoEcmVwbxgBIAEoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbyI0CiFHZXRJbXBsaWNpdEV4dGVybmFsU291cmNlc1JlcXVlc3QSDwoHbWVzc2FnZRgBIAEoCSJRCiJHZXRJbXBsaWNpdEV4dGVybmFsU291cmNlc1Jlc3BvbnNlEisKB3NvdXJjZXMYASADKAsyGi5wdWJsaWNfYXBpLkV4dGVybmFsU291cmNlIjsKJEdldExhdGVzdEluZGV4ZWRDb21taXRCbG9ic2V0UmVxdWVzdBITCgtjb21taXRfc2hhcxgBIAMoCSKSAQolR2V0TGF0ZXN0SW5kZXhlZENvbW1pdEJsb2JzZXRSZXNwb25zZRISCgpjb21taXRfc2hhGAEgASgJEjUKCmZpbGVfaW5mb3MYAiADKAsyIS5wdWJsaWNfYXBpLkluZGV4ZWRDb21taXRGaWxlSW5mbxIeChZiYXNlbGluZV9jaGVja3BvaW50X2lkGAMgASgJIuQCChpHZXRNYXRjaGluZ0VudGl0aWVzUmVxdWVzdBIXCgp0cmlnZ2VyX2lkGAEgASgJSACIAQESNgoKY29uZGl0aW9ucxgCIAEoCzIdLnB1YmxpY19hcGkuVHJpZ2dlckNvbmRpdGlvbnNIAYgBARItCgxldmVudF9zb3VyY2UYAyABKA4yFy5wdWJsaWNfYXBpLkV2ZW50U291cmNlEhIKBWxpbWl0GAQgASgNSAKIAQESEwoGb2Zmc2V0GAUgASgNSAOIAQESEgoFc2luY2UYBiABKAlIBIgBARISCgV1bnRpbBgHIAEoCUgFiAEBEhsKDnNob3dfZGlzbWlzc2VkGAggASgISAaIAQFCDQoLX3RyaWdnZXJfaWRCDQoLX2NvbmRpdGlvbnNCCAoGX2xpbWl0QgkKB19vZmZzZXRCCAoGX3NpbmNlQggKBl91bnRpbEIRCg9fc2hvd19kaXNtaXNzZWQi1wIKG0dldE1hdGNoaW5nRW50aXRpZXNSZXNwb25zZRIxCg9naXRodWJfZW50aXRpZXMYASADKAsyGC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eRIxCg9saW5lYXJfZW50aXRpZXMYAiADKAsyGC5wdWJsaWNfYXBpLkxpbmVhckVudGl0eRITCgt0b3RhbF9jb3VudBgDIAEoDRIQCghoYXNfbW9yZRgEIAEoCBIeChFxdWVyeV9leHBsYW5hdGlvbhgFIAEoCUgAiAEBEiMKFnRvdGFsX2VudGl0aWVzX2NoZWNrZWQYBiABKA1IAYgBARI1ChFzY2hlZHVsZV9lbnRpdGllcxgHIAMoCzIaLnB1YmxpY19hcGkuU2NoZWR1bGVFbnRpdHlCFAoSX3F1ZXJ5X2V4cGxhbmF0aW9uQhkKF190b3RhbF9lbnRpdGllc19jaGVja2VkIjQKHEdldE1jcENhdGFsb2dNZXRhZGF0YVJlcXVlc3QSFAoMcHJvZHVjdF90eXBlGAEgASgFIlUKHUdldE1jcENhdGFsb2dNZXRhZGF0YVJlc3BvbnNlEjQKB2VudHJpZXMYASADKAsyIy5wdWJsaWNfYXBpLk1jcENhdGFsb2dNZXRhZGF0YUVudHJ5IlcKF0dldE1jcENvbmZpZ0J5SWRSZXF1ZXN0EhEKCWNvbmZpZ19pZBgBIAEoCRIpCgVzY29wZRgCIAEoDjIaLnB1YmxpY19hcGkuTWNwQ29uZmlnU2NvcGUiQQoYR2V0TWNwQ29uZmlnQnlJZFJlc3BvbnNlEiUKBmNvbmZpZxgBIAEoCzIVLnB1YmxpY19hcGkuTWNwQ29uZmlnIlUKE0dldE1jcFNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIcCg9hY3RpdmVfc3BhY2VfaWQYAiABKAlIAIgBAUISChBfYWN0aXZlX3NwYWNlX2lkIj0KFEdldE1jcFNlY3JldFJlc3BvbnNlEiUKBnNlY3JldBgBIAEoCzIVLnB1YmxpY19hcGkuTWNwU2VjcmV0Ik4KGkdldE1jcFRlbmFudENvbmZpZ3NSZXF1ZXN0EjAKDHByb2R1Y3RfdHlwZRgBIAEoDjIaLnB1YmxpY19hcGkuTWNwUHJvZHVjdFR5cGUiSQobR2V0TWNwVGVuYW50Q29uZmlnc1Jlc3BvbnNlEioKC21jcF9jb25maWdzGAEgAygLMhUucHVibGljX2FwaS5NY3BDb25maWciHQobR2V0TWNwVGVuYW50U2V0dGluZ3NSZXF1ZXN0IlsKHEdldE1jcFRlbmFudFNldHRpbmdzUmVzcG9uc2USKgoLbWNwX2NvbmZpZ3MYASADKAsyFS5wdWJsaWNfYXBpLk1jcENvbmZpZxIPCgd2ZXJzaW9uGAIgASgJIkwKGEdldE1jcFVzZXJDb25maWdzUmVxdWVzdBIwCgxwcm9kdWN0X3R5cGUYASABKA4yGi5wdWJsaWNfYXBpLk1jcFByb2R1Y3RUeXBlIokDChlHZXRNY3BVc2VyQ29uZmlnc1Jlc3BvbnNlEioKC21jcF9jb25maWdzGAEgAygLMhUucHVibGljX2FwaS5NY3BDb25maWcSIQoZZW5hYmxlZF9zaGFyZWRfc2VydmVyX2lkcxgCIAMoCRJnChpzZXJ2ZXJfcHJvZHVjdF9wcmVmZXJlbmNlcxgDIAMoCzJDLnB1YmxpY19hcGkuR2V0TWNwVXNlckNvbmZpZ3NSZXNwb25zZS5TZXJ2ZXJQcm9kdWN0UHJlZmVyZW5jZXNFbnRyeRJLCh1kcm9wcGVkX3NoYXJlZF9zZXJ2ZXJfb3B0X2lucxgEIAMoCzIkLnB1YmxpY19hcGkuRHJvcHBlZFNoYXJlZFNlcnZlck9wdEluGmcKHVNlcnZlclByb2R1Y3RQcmVmZXJlbmNlc0VudHJ5EgsKA2tleRgBIAEoCRI1CgV2YWx1ZRgCIAEoCzImLnB1YmxpY19hcGkuTWNwU2VydmVyUHJvZHVjdFByZWZlcmVuY2U6AjgBIhsKGUdldE1jcFVzZXJTZXR0aW5nc1JlcXVlc3QiWQoaR2V0TWNwVXNlclNldHRpbmdzUmVzcG9uc2USKgoLbWNwX2NvbmZpZ3MYASADKAsyFS5wdWJsaWNfYXBpLk1jcENvbmZpZxIPCgd2ZXJzaW9uGAIgASgJIhIKEEdldE1vZGVsc1JlcXVlc3Qin9sBChFHZXRNb2RlbHNSZXNwb25zZRIaCg1kZWZhdWx0X21vZGVsGAEgASgJSACIAQESIQoGbW9kZWxzGAIgAygLMhEucHVibGljX2FwaS5Nb2RlbBInCglsYW5ndWFnZXMYAyADKAsyFC5wdWJsaWNfYXBpLkxhbmd1YWdlEkYKDWZlYXR1cmVfZmxhZ3MYBCABKAsyKi5wdWJsaWNfYXBpLkdldE1vZGVsc1Jlc3BvbnNlLkZlYXR1cmVGbGFnc0gBiAEBEjkKCXVzZXJfdGllchgFIAEoDjImLnB1YmxpY19hcGkuR2V0TW9kZWxzUmVzcG9uc2UuVXNlclRpZXISNQoEdXNlchgGIAEoCzIiLnB1YmxpY19hcGkuR2V0TW9kZWxzUmVzcG9uc2UuVXNlckgCiAEBEj4KEmJvb3RzdHJhcF9zZXR0aW5ncxgHIAEoCzIdLnB1YmxpY19hcGkuQm9vdHN0cmFwU2V0dGluZ3NIA4gBARrC1QEKDEZlYXR1cmVGbGFncxIiChFlbmFibGVfY29kZV9lZGl0cxgBIAEoCEICGAFIAIgBARIYCgtlbmFibGVfY2hhdBgFIAEoCEgBiAEBEigKG2VuYWJsZV93b3Jrc3BhY2VfbWFuYWdlcl91aRgGIAEoCEgCiAEBEiEKFGVuYWJsZV9pbnRlbGxpal9jaGF0GAcgASgISAOIAQESLwoiZW5hYmxlX3dvcmtzcGFjZV9tYW5hZ2VyX3VpX2xhdW5jaBgIIAEoCEgEiAEBEiMKFmFkZGl0aW9uYWxfY2hhdF9tb2RlbHMYCSABKAlIBYgBARImChlpbnRlbGxpal9jaGF0X21pbl92ZXJzaW9uGAogASgJSAaIAQESKAobdnNjb2RlX2ZseXdoZWVsX21pbl92ZXJzaW9uGAwgASgJSAeIAQESOAordnNjb2RlX2V4dGVybmFsX3NvdXJjZXNfaW5fY2hhdF9taW5fdmVyc2lvbhgNIAEoCUgIiAEBEiAKE2VuYWJsZV9pbnN0cnVjdGlvbnMYDiABKAhICYgBARIfChJlbmFibGVfc21hcnRfcGFzdGUYDyABKAhICogBARIrCh5lbmFibGVfc21hcnRfcGFzdGVfbWluX3ZlcnNpb24YESABKAlIC4gBARImChllbmFibGVfdmlld190ZXh0X2RvY3VtZW50GBIgASgISAyIAQESIAoTY2hlY2twb2ludF9ibG9ic192MhgTIAEoCEgNiAEBEiMKFmVuYWJsZV9kYXRhX2NvbGxlY3Rpb24YFCABKAhIDogBARIhChRzbWFsbF9zeW5jX3RocmVzaG9sZBgVIAEoA0gPiAEBEh8KEmJpZ19zeW5jX3RocmVzaG9sZBgWIAEoA0gQiAEBEiMKFmJ5cGFzc19sYW5ndWFnZV9maWx0ZXIYFyABKAhIEYgBARIdChBlbmFibGVfaGluZHNpZ2h0GBggASgISBKIAQESIgoVbWF4X3VwbG9hZF9zaXplX2J5dGVzGBkgASgDSBOIAQESMgolaW50ZWxsaWpfZm9yY2VfY29tcGxldGlvbl9taW5fdmVyc2lvbhgaIAEoCUgUiAEBEjAKH2VuYWJsZV9leHRlcm5hbF9zb3VyY2VzX2luX2NoYXQYGyABKAhCAhgBSBWIAQESJQoYbWF4X3RyYWNrYWJsZV9maWxlX2NvdW50GBwgASgDSBaIAQESOAorbWF4X3RyYWNrYWJsZV9maWxlX2NvdW50X3dpdGhvdXRfcGVybWlzc2lvbhgdIAEoA0gXiAEBEjcKKm1pbl91cGxvYWRlZF9wZXJjZW50YWdlX3dpdGhvdXRfcGVybWlzc2lvbhgeIAEoA0gYiAEBEjQKJ3ZzY29kZV9jaGF0X2hpbnRfZGVjb3JhdGlvbl9taW5fdmVyc2lvbhgfIAEoCUgZiAEBEi8KImVuYWJsZV9jb21wbGV0aW9uX2ZpbGVfZWRpdF9ldmVudHMYISABKAhIGogBARInChp2c2NvZGVfc291cmNlc19taW5fdmVyc2lvbhgiIAEoCUgbiAEBEiYKGXZzY29kZV9lbmFibGVfY3B1X3Byb2ZpbGUYIyABKAhIHIgBARIpChx2ZXJpZnlfZm9sZGVyX2lzX3NvdXJjZV9yZXBvGCQgASgISB2IAQESLAofcmVmdXNlX3RvX3N5bmNfaG9tZV9kaXJlY3RvcmllcxglIAEoCEgeiAEBEjYKKWVuYWJsZV9maWxlX2xpbWl0c19mb3Jfc3luY2luZ19wZXJtaXNzaW9uGCYgASgISB+IAQESJQoYdnNjb2RlX3NoYXJlX21pbl92ZXJzaW9uGCcgASgJSCCIAQESJwoaaW50ZWxsaWpfc2hhcmVfbWluX3ZlcnNpb24YKCABKAlIIYgBARIiChVlbmFibGVfc3VtbWFyeV90aXRsZXMYKSABKAhIIogBARIpChxlbmFibGVfY2hhdF9tZXJtYWlkX2RpYWdyYW1zGCogASgISCOIAQESKAobc21hcnRfcGFzdGVfcHJlY29tcHV0ZV9tb2RlGCsgASgJSCSIAQESMAojdnNjb2RlX25ld190aHJlYWRzX21lbnVfbWluX3ZlcnNpb24YLCABKAlIJYgBARIyCiVpbnRlbGxpal9uZXdfdGhyZWFkc19tZW51X21pbl92ZXJzaW9uGC0gASgJSCaIAQESMAojdnNjb2RlX2VkaXRhYmxlX2hpc3RvcnlfbWluX3ZlcnNpb24YLiABKAlIJ4gBARIiChVpbnRlbGxpal9zaG93X3N1bW1hcnkYLyABKAhIKIgBARIeChFlbmFibGVfZ3VpZGVsaW5lcxgwIAEoCEgpiAEBEjwKL3ZzY29kZV9lbmFibGVfY2hhdF9tZXJtYWlkX2RpYWdyYW1zX21pbl92ZXJzaW9uGDEgASgJSCqIAQESJgoZdnNjb2RlX2RlcHJlY2F0ZWRfdmVyc2lvbhgyIAEoCUgriAEBEigKG2ludGVsbGlqX2RlcHJlY2F0ZWRfdmVyc2lvbhgzIAEoCUgsiAEBEj4KMXZzY29kZV91c2VfY2hlY2twb2ludF9tYW5hZ2VyX2NvbnRleHRfbWluX3ZlcnNpb24YNCABKAlILYgBARI3Cip2c2NvZGVfdmFsaWRhdGVfY2hlY2twb2ludF9tYW5hZ2VyX2NvbnRleHQYNSABKAhILogBARItCiBpbnRlbGxpal9zbWFydF9wYXN0ZV9taW5fdmVyc2lvbhg3IAEoCUgviAEBEj4KMXZzY29kZV9kZXNpZ25fc3lzdGVtX3JpY2hfdGV4dF9lZGl0b3JfbWluX3ZlcnNpb24YOiABKAlIMIgBARIwCiNhbGxvd19jbGllbnRfZmVhdHVyZV9mbGFnX292ZXJyaWRlcxg7IAEoCEgxiAEBEi8KInZzY29kZV9jaGF0X3dpdGhfdG9vbHNfbWluX3ZlcnNpb24YPCABKAlIMogBARIxCiRpbnRlbGxpal9jaGF0X3dpdGhfdG9vbHNfbWluX3ZlcnNpb24YPSABKAlIM4gBARIvCiJ2c2NvZGVfY2hhdF9tdWx0aW1vZGFsX21pbl92ZXJzaW9uGD4gASgJSDSIAQESMQokaW50ZWxsaWpfY2hhdF9tdWx0aW1vZGFsX21pbl92ZXJzaW9uGD8gASgJSDWIAQESPgoxaW50ZWxsaWpfZW5hYmxlX2NoYXRfbWVybWFpZF9kaWFncmFtc19taW5fdmVyc2lvbhhAIAEoCUg2iAEBEioKHXZzY29kZV9hZ2VudF9tb2RlX21pbl92ZXJzaW9uGEEgASgJSDeIAQESLAofaW50ZWxsaWpfYWdlbnRfbW9kZV9taW5fdmVyc2lvbhhCIAEoCUg4iAEBEiYKGWludGVsbGlqX2Jsb2NrZWRfdmVyc2lvbnMYQyABKAlIOYgBARJACjNpbnRlbGxpal9kZXNpZ25fc3lzdGVtX3JpY2hfdGV4dF9lZGl0b3JfbWluX3ZlcnNpb24YRCABKAlIOogBARIyCiVpbnRlbGxpal9zeW5jaW5nX3Byb2dyZXNzX21pbl92ZXJzaW9uGEUgASgJSDuIAQESJAoXZWxvX21vZGVsX2NvbmZpZ3VyYXRpb24YRyABKAlIPIgBARIjChZ2c2NvZGVfYWdlbnRfZWRpdF90b29sGEkgASgJSD2IAQESOQosaW50ZWxsaWpfYXNrX2Zvcl9zeW5jX3Blcm1pc3Npb25fbWluX3ZlcnNpb24YSiABKAlIPogBARIxCiR2c2NvZGVfYmFja2dyb3VuZF9hZ2VudHNfbWluX3ZlcnNpb24YSyABKAlIP4gBARIzCiZpbnRlbGxpal9iYWNrZ3JvdW5kX2FnZW50c19taW5fdmVyc2lvbhhMIAEoCUhAiAEBEikKHHVzZXJfZ3VpZGVsaW5lc19sZW5ndGhfbGltaXQYTSABKANIQYgBARIuCiF3b3Jrc3BhY2VfZ3VpZGVsaW5lc19sZW5ndGhfbGltaXQYTiABKANIQogBARI0Cid2c2NvZGVfcmljaF9jaGVja3BvaW50X2luZm9fbWluX3ZlcnNpb24YTyABKAlIQ4gBARIsCh9pbnRlbGxpal9lbmFibGVfdXNlcl9ndWlkZWxpbmVzGFIgASgISESIAQESMQokaW50ZWxsaWpfZW5hYmxlX3dvcmtzcGFjZV9ndWlkZWxpbmVzGFMgASgISEWIAQESMQokdnNjb2RlX2FnZW50X21vZGVfbWluX3N0YWJsZV92ZXJzaW9uGFQgASgJSEaIAQESOgotaW50ZWxsaWpfdmlydHVhbGl6ZWRfbWVzc2FnZV9saXN0X21pbl92ZXJzaW9uGFYgASgJSEeIAQESPQowdnNjb2RlX2NoYXRfc3RhYmxlX3ByZWZpeF90cnVuY2F0aW9uX21pbl92ZXJzaW9uGFcgASgJSEiIAQESKgodYWdlbnRfZWRpdF90b29sX21pbl92aWV3X3NpemUYWCABKANISYgBARIxCiRpbnRlbGxpal91c2VyX2d1aWRlbGluZXNfaW5fc2V0dGluZ3MYWSABKAhISogBARIoChthZ2VudF9lZGl0X3Rvb2xfc2NoZW1hX3R5cGUYWiABKAlIS4gBARIsCh92c2NvZGVfZGlyZWN0X2FwcGx5X21pbl92ZXJzaW9uGFsgASgJSEyIAQESLQogdnNjb2RlX3BlcnNvbmFsaXRpZXNfbWluX3ZlcnNpb24YXCABKAlITYgBARI3CiphZ2VudF9zYXZlX2ZpbGVfdG9vbF9pbnN0cnVjdGlvbnNfcmVtaW5kZXIYXiABKAhITogBARI6Ci1yZW1vdGVfYWdlbnRfY2hhdF9oaXN0b3J5X3BvbGxpbmdfaW50ZXJ2YWxfbXMYXyABKANIT4gBARIyCiVyZW1vdGVfYWdlbnRfbGlzdF9wb2xsaW5nX2ludGVydmFsX21zGGAgASgDSFCIAQESPwoyaW50ZWxsaWpfcHJlZmVyZW5jZV9jb2xsZWN0aW9uX2FsbG93ZWRfbWluX3ZlcnNpb24YYiABKAlIUYgBARIvCiJpbnRlbGxpal9lbmFibGVfaG9tZXNwdW5fZ2l0aWdub3JlGGMgASgISFKIAQESNwoqdnNjb2RlX2dlbmVyYXRlX2NvbW1pdF9tZXNzYWdlX21pbl92ZXJzaW9uGGQgASgJSFOIAQESGQoMZW5hYmxlX3J1bGVzGGUgASgISFSIAQESMgolYWdlbnRfZWRpdF90b29sX2VuYWJsZV9mdXp6eV9tYXRjaGluZxhnIAEoCEhViAEBEjgKK2FnZW50X2VkaXRfdG9vbF9mdXp6eV9tYXRjaF9zdWNjZXNzX21lc3NhZ2UYaCABKAlIVogBARIxCiRhZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWF4X2RpZmYYaSABKANIV4gBARI3CiphZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWF4X2RpZmZfcmF0aW8YaiABKAFIWIgBARJLCj5hZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWluX2FsbF9tYXRjaF9zdHJlYWtfYmV0d2Vlbl9kaWZmcxhrIAEoA0hZiAEBEiMKFmVuYWJsZV9wcm9tcHRfZW5oYW5jZXIYbCABKAhIWogBARItCiBpbnRlbGxpal9wcm9tcHRfZW5oYW5jZXJfZW5hYmxlZBhvIAEoCEhbiAEBEjIKJWFnZW50X2VkaXRfdG9vbF9pbnN0cnVjdGlvbnNfcmVtaW5kZXIYcCABKAhIXIgBARIjChZpbnRlbGxpal9lbmFibGVfc2VudHJ5GHEgASgISF2IAQESMQokaW50ZWxsaWpfd2Vidmlld19lcnJvcl9zYW1wbGluZ19yYXRlGHIgASgBSF6IAQESMAojaW50ZWxsaWpfcGx1Z2luX2Vycm9yX3NhbXBsaW5nX3JhdGUYcyABKAFIX4gBARIxCiRpbnRlbGxpal93ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGUYdCABKAFIYIgBARIwCiNpbnRlbGxpal9wbHVnaW5fdHJhY2Vfc2FtcGxpbmdfcmF0ZRh1IAEoAUhhiAEBEikKHG9wZW5fZmlsZV9tYW5hZ2VyX3YyX2VuYWJsZWQYdiABKAhIYogBARI7Ci5pbnRlbGxpal9lbmFibGVfd2Vidmlld19wZXJmb3JtYW5jZV9tb25pdG9yaW5nGHcgASgISGOIAQESKQocdnNjb2RlX3Rhc2tfbGlzdF9taW5fdmVyc2lvbhh4IAEoCUhkiAEBEjAKI2FnZW50X2VkaXRfdG9vbF9zaG93X3Jlc3VsdF9zbmlwcGV0GHkgASgISGWIAQESMgolaW50ZWxsaWpfZWR0X2ZyZWV6ZV9kZXRlY3Rpb25fZW5hYmxlZBh6IAEoCEhmiAEBEiAKE2NsaWVudF9hbm5vdW5jZW1lbnQYeyABKAlIZ4gBARIwCiN2c2NvZGVfcmVtb3RlX2FnZW50X3NzaF9taW5fdmVyc2lvbhh8IAEoCUhoiAEBEiYKGWFnZW50X2VkaXRfdG9vbF9tYXhfbGluZXMYfSABKANIaYgBARIkChdncmVwX3NlYXJjaF90b29sX2VuYWJsZRh+IAEoCEhqiAEBEisKHmdyZXBfc2VhcmNoX3Rvb2xfdGltZWxpbWl0X3NlYxh/IAEoA0hriAEBEjEKI2dyZXBfc2VhcmNoX3Rvb2xfb3V0cHV0X2NoYXJzX2xpbWl0GIABIAEoA0hsiAEBEjAKImdyZXBfc2VhcmNoX3Rvb2xfbnVtX2NvbnRleHRfbGluZXMYgQEgASgDSG2IAQESJAoWZW5hYmxlX2FnZW50X2F1dG9fbW9kZRiCASABKAhIbogBARI0CiZhZ2VudF9yZXBvcnRfc3RyZWFtZWRfY2hhdF9ldmVyeV9jaHVuaxiDASABKANIb4gBARI2CihhZ2VudF9tYXhfdG90YWxfY2hhbmdlZF9maWxlc19zaXplX2J5dGVzGIQBIAEoA0hwiAEBEjMKJWFnZW50X21heF9jaGFuZ2VkX2ZpbGVzX3NraXBwZWRfcGF0aHMYhQEgASgDSHGIAQESMgokYWdlbnRfaWRsZV9zdGF0dXNfdXBkYXRlX2ludGVydmFsX21zGIYBIAEoA0hyiAEBEiIKFGFnZW50X21heF9pdGVyYXRpb25zGIcBIAEoA0hziAEBEjQKJmFnZW50X3NzaF9jb25uZWN0aW9uX2NoZWNrX2ludGVydmFsX21zGIgBIAEoA0h0iAEBEjgKKmFnZW50X3NzaF9jb25uZWN0aW9uX2NoZWNrX2xvZ19pbnRlcnZhbF9tcxiJASABKANIdYgBARIlChdiZWFjaGhlYWRfZW5hYmxlX3NlbnRyeRiKASABKAhIdogBARIrCh1iZWFjaGhlYWRfZXJyb3Jfc2FtcGxpbmdfcmF0ZRiLASABKAFId4gBARIrCh1iZWFjaGhlYWRfdHJhY2Vfc2FtcGxpbmdfcmF0ZRiMASABKAFIeIgBARI3Cil2c2NvZGVfc3VwcG9ydF90b29sX3VzZV9zdGFydF9taW5fdmVyc2lvbhiNASABKAlIeYgBARIpChtoaXN0b3J5X3N1bW1hcnlfbWluX3ZlcnNpb24YjwEgASgJSHqIAQESKwoZaGlzdG9yeV9zdW1tYXJ5X21heF9jaGFycxiQASABKANCAhgBSHuIAQESLQobaGlzdG9yeV9zdW1tYXJ5X2xvd2VyX2NoYXJzGJEBIAEoA0ICGAFIfIgBARIlChdlbmFibGVfbmV3X3RocmVhZHNfbGlzdBiSASABKAhIfYgBARIkChZoaXN0b3J5X3N1bW1hcnlfcHJvbXB0GJMBIAEoCUh+iAEBEjAKImVuYWJsZV91bnRydW5jYXRlZF9jb250ZW50X3N0b3JhZ2UYlAEgASgISH+IAQESMAohbWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0GJUBIAEoA0iAAYgBARIlChZlbmFibGVfY29tbWl0X2luZGV4aW5nGJcBIAEoCEiBAYgBARIjChRtYXhfY29tbWl0c190b19pbmRleBiYASABKANIggGIAQESLQoeaW50ZWxsaWpfdGFza19saXN0X21pbl92ZXJzaW9uGJkBIAEoCUiDAYgBARImChdlbmFibGVfZXhjaGFuZ2Vfc3RvcmFnZRiaASABKAhIhAGIAQESKQoacmV0cnlfY2hhdF9zdHJlYW1fdGltZW91dHMYmwEgASgISIUBiAEBEiwKHWVuYWJsZV90b29sX3VzZV9zdGF0ZV9zdG9yYWdlGJwBIAEoCEiGAYgBARItCh5yZW1vdGVfYWdlbnRfY3VycmVudF93b3Jrc3BhY2UYnQEgASgISIcBiAEBEiUKFmhpc3Rvcnlfc3VtbWFyeV9wYXJhbXMYnwEgASgJSIgBiAEBEiAKEWVuYWJsZV9hZ2VudF90YWJzGKABIAEoCEiJAYgBARIgChFlbmFibGVfc3dhcm1fbW9kZRihASABKAhIigGIAQESLgofYmVhY2hoZWFkX2VuYWJsZV9zdWJfYWdlbnRfdG9vbBiiASABKAhIiwGIAQESIwoUZW5hYmxlX2dyb3VwZWRfdG9vbHMYowEgASgISIwBiAEBEjsKLHJlbW90ZV9hZ2VudHNfcmVzdW1lX2hpbnRfYXZhaWxhYmxlX3R0bF9kYXlzGKQBIAEoA0iNAYgBARIkChVlbmFibGVfcGFyYWxsZWxfdG9vbHMYpQEgASgISI4BiAEBEiAKEWNsaWVudF9kZXByZWNhdGVkGKYBIAEoCEiPAYgBARItCh5lbmFibGVfdmlld2VkX2NvbnRlbnRfdHJhY2tpbmcYpwEgASgISJABiAEBEjMKJHZpZXdlZF9jb250ZW50X2Nsb3NlX3JhbmdlX3RocmVzaG9sZBioASABKANIkQGIAQESNQomdmlld2VkX2NvbnRlbnRfZGlzY3JldGVfanVtcF90aHJlc2hvbGQYqQEgASgDSJIBiAEBEi4KH3ZpZXdlZF9jb250ZW50X21pbl9ldmVudF9hZ2VfbXMYqgEgASgDSJMBiAEBEi4KH3ZpZXdlZF9jb250ZW50X21heF9ldmVudF9hZ2VfbXMYqwEgASgDSJQBiAEBEicKGGVuYWJsZV9uYXRpdmVfcmVtb3RlX21jcBisASABKAhIlQGIAQESLwogbm90aWZpY2F0aW9uX3BvbGxpbmdfaW50ZXJ2YWxfbXMYrQEgASgDSJYBiAEBEicKGGVuYWJsZV9hZ2VudF9naXRfdHJhY2tlchiuASABKAhIlwGIAQESLgofdHJ1bmNhdGlvbl9mb290ZXJfYWRkaXRpb25fdGV4dBivASABKAlImAGIAQESHAoNZW5hYmxlX3NlbnRyeRiwASABKAhImQGIAQESKgobd2Vidmlld19lcnJvcl9zYW1wbGluZ19yYXRlGLEBIAEoAUiaAYgBARIqCht3ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGUYsgEgASgBSJsBiAEBEiUKFmFnZW50X3ZpZXdfdG9vbF9wYXJhbXMYswEgASgJSJwBiAEBEicKGHZzY29kZV90ZXJtaW5hbF9zdHJhdGVneRi0ASABKAlInQGIAQESHwoQYWdlbnRfY2hhdF9tb2RlbBi1ASABKAlIngGIAQESMQoiY2xvdWRfYWdlbnRfZGVmYXVsdF9tb2RlbF9vdmVycmlkZRi1AiABKAlInwGIAQESIgoTbW9kZWxfaW5mb19yZWdpc3RyeRi2ASABKAlIoAGIAQESQQoybWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0X2FmdGVyX3RydW5jYXRpb24YtwEgASgDSKEBiAEBEjQKJWVuYWJsZV9ub3RpZmljYXRpb25zX3NlcnZpY2VfaW50ZWxsaWoYuAEgASgISKIBiAEBEiIKE2VuYWJsZV9sdWNpZGVfaWNvbnMYuQEgASgISKMBiAEBEi8KIGVuYWJsZV9lbmhhbmNlZF9kZWh5ZHJhdGlvbl9tb2RlGLwBIAEoCEikAYgBARI3Cih2c2NvZGVfc2hvd190aGlua2luZ19zdW1tYXJ5X21pbl92ZXJzaW9uGL0BIAEoCUilAYgBARI5CippbnRlbGxpal9zaG93X3RoaW5raW5nX3N1bW1hcnlfbWluX3ZlcnNpb24YvgEgASgJSKYBiAEBEjIKI2ludGVsbGlqX2VuYWJsZV9maWxlX2ludGFrZV9zZXJ2aWNlGMABIAEoCEinAYgBARI6CitpbnRlbGxpal9lbmFibGVfc2VnbWVudF9hbmFseXRpY3NfcmVwb3J0aW5nGMEBIAEoCEioAYgBARIgChFjbGlfZW5hYmxlX3NlbnRyeRjCASABKAhIqQGIAQESJgoXY2xpX2Vycm9yX3NhbXBsaW5nX3JhdGUYwwEgASgBSKoBiAEBEiYKF2NsaV90cmFjZV9zYW1wbGluZ19yYXRlGMQBIAEoAUirAYgBARIxCiJjbGlfY2hhdF9zdHJlYW1fcmV0cnlfaGFyZF9zdG9wX21zGMUBIAEoA0isAYgBARIjChRjbGlfZW5hYmxlX2FuYWx5dGljcxjHASABKAhIrQGIAQESJgoXY2xpX2FuYWx5dGljc193cml0ZV9rZXkYyAEgASgJSK4BiAEBEioKG3BhcnRuZXJfbWNwX2xhdW5jaF8yMDI1MDkxNhjJASABKAhIrwGIAQESIQoSY2xpX3BhcmFsbGVsX3Rvb2xzGMoBIAEoCEiwAYgBARIpChplbmFibGVfYnVsa19kZWxldGVfdGhyZWFkcxjLASABKAhIsQGIAQESMwokZW5hYmxlX2ludGVyc2VjdGlvbl9vYnNlcnZlcl9tYW5hZ2VyGMwBIAEoCEiyAYgBARIzCiRlbmFibGVfdGVuYW50X2xldmVsX3Rvb2xfcGVybWlzc2lvbnMYzQEgASgISLMBiAEBEjIKI3dlYnZpZXdfcmVwbGF5c19zZXNzaW9uX3NhbXBsZV9yYXRlGM4BIAEoAUi0AYgBARIzCiR3ZWJ2aWV3X3JlcGxheXNfb25fZXJyb3Jfc2FtcGxlX3JhdGUYzwEgASgBSLUBiAEBEjAKIXZzY29kZV9wbHVnaW5fZXJyb3Jfc2FtcGxpbmdfcmF0ZRjQASABKAFItgGIAQESMAohdnNjb2RlX3BsdWdpbl90cmFjZV9zYW1wbGluZ19yYXRlGNEBIAEoAUi3AYgBARIpChplbmFibGVfY3JlZGl0c19pbl9zZXR0aW5ncxjSASABKAhIuAGIAQESLwogZW5hYmxlX2NyZWRpdF9iYW5uZXJfaW5fc2V0dGluZ3MY0wEgASgISLkBiAEBEjIKI2VuYWJsZV9jaGF0X2lucHV0X2lubGluZV9jb21wbGV0aW9uGNQBIAEoCEi6AYgBARIqChtjbGlfZW5hYmxlX2FjY291bnRfY29tbWFuZHMY1QEgASgISLsBiAEBEiMKFGVuYWJsZV9vbmJvYXJkaW5nX3YyGNYBIAEoCEi8AYgBARInChhjbGlfZW5hYmxlX21lc3NhZ2VfcXVldWUY1wEgASgISL0BiAEBEisKHGVuYWJsZV9ncnBjX3RvX2lkZV9tZXNzYWdpbmcY2AEgASgISL4BiAEBEjgKKWNsaV9lbmFibGVfYXN5bmNfd29ya3NwYWNlX2luaXRpYWxpemF0aW9uGNkBIAEoCEi/AYgBARIpChptYXhfbGluZV9sZW5ndGhfY2hhcmFjdGVycxjaASABKAVIwAGIAQESNgonZW5hYmxlX2NyZWRpdHNfY29uc3VtZWRfaW5fdHVybl9zdW1tYXJ5GNsBIAEoCEjBAYgBARIzCiRnaXRodWJfaW50ZWdyYXRpb25fbm90aWZpY2F0aW9uX2pzb24Y3AEgASgJSMIBiAEBEjAKIWVuYWJsZV9kZWVwX2xpbmtfY2hhdF93aXRoX3Byb21wdBjeASABKAhIwwGIAQESKwocZW5hYmxlX2NvbW1pdF9zZXNzaW9uX2V2ZW50cxjfASABKAhIxAGIAQESLwogdXNlX2ludGFrZV9zZXJ2aWNlX2Zvcl9maWxlX3dhbGsY4AEgASgISMUBiAEBEiYKF2VuYWJsZV9hcHBseV9wYXRjaF90b29sGOEBIAEoCEjGAYgBARIxCiJjdXN0b21lcl91aV9zZWNyZXRfbWFuYWdlcl9lbmFibGVkGOIBIAEoCEjHAYgBARIqChtjaGF0X2lucHV0X2NvbXBsZXRpb25fbW9kZWwY4wEgASgJSMgBiAEBEj4KL3ZzY29kZV9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0GOQBIAEoBUjJAYgBARJACjFpbnRlbGxpal9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0GOUBIAEoBUjKAYgBARI7CixjbGlfcHJvbXB0X2VuaGFuY2VyX25ld19lbmRwb2ludF9yb2xsb3V0X3BjdBjmASABKAVIywGIAQESMwokY2xpX2VuYWJsZV93b3JrZXJfdGhyZWFkX3BhdGhfZmlsdGVyGOgBIAEoCEjMAYgBARI6CithcGlfcHJveHlfY2xpX25vbl9pbnRlcmFjdGl2ZV9tb2RlX2Rpc2FibGVkGOsBIAEoCEjNAYgBARIoChllbmFibGVfc2V0dGluZ3NfaG9tZV9wYWdlGOwBIAEoCEjOAYgBARIjChRjbGlfZW5hYmxlX2Jhc2hfbW9kZRjtASABKAhIzwGIAQESLwogZW5hYmxlX2NvZGVfcmV2aWV3X3NsYXNoX2NvbW1hbmQY7gEgASgISNABiAEBEhsKDGVuYWJsZV9ob29rcxjvASABKAhI0QGIAQESKAoZZW5hYmxlX2hpZXJhcmNoaWNhbF9ydWxlcxjwASABKAhI0gGIAQESLgofY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZRjxASABKAhI0wGIAQESJAoVZW5hYmxlX2RlYnVnX2ZlYXR1cmVzGPIBIAEoCEjUAYgBARIoChllbmFibGVfcGx1Z2luX21hcmtldHBsYWNlGPMBIAEoCEjVAYgBARJECjViZWFjaGhlYWRfZmlsZXN5c3RlbV9jaGFuZ2VfdHJhY2tlcl9tYXhfZ2l0X3Byb2Nlc3Nlcxj1ASABKAVI1gGIAQESKwocY2xpX2VuYWJsZV93b3Jrc3BhY2VfY29tbWFuZBj2ASABKAhI1wGIAQESJQoWcHVibGljX2JldGFfb3B0X2luX2FsbBj3ASABKAhI2AGIAQESOgorcHVibGljX2JldGFfY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZRj4ASABKAhI2QGIAQESJgoXZW5hYmxlX3B1YmxpY19iZXRhX3BhZ2UY+QEgASgISNoBiAEBEjEKImVuYWJsZV93b3Jrc3BhY2VfY29udmVyc2F0aW9uX3N5bmMY+gEgASgISNsBiAEBEhwKDWVuYWJsZV9za2lsbHMY/AEgASgISNwBiAEBEisKHHJlcG9zaXRvcnlfYWxsb3dsaXN0X2VuYWJsZWQY/QEgASgISN0BiAEBEisKHGNsaV9uZXdfZmVhdHVyZV9hbm5vdW5jZW1lbnQY/wEgASgJSN4BiAEBEiUKFmVuYWJsZV9jdXN0b21fY29tbWFuZHMYgAIgASgISN8BiAEBEiYKF2NsaV9lbmFibGVfY2xvdWRfYWdlbnRzGIECIAEoCEjgAYgBARI+Ci9lbmFibGVfd29ya3NwYWNlX2NvbnZlcnNhdGlvbl9jaGF0X2hpc3Rvcnlfc3luYxiCAiABKAhI4QGIAQESMQoicHVibGljX2JldGFfZW5hYmxlX2N1c3RvbV9jb21tYW5kcxiEAiABKAhI4gGIAQESIwoUZW5hYmxlX21lc3NhZ2VfcXVldWUYhQIgASgISOMBiAEBEicKGGVuYWJsZV9zaGFyZWRfZ3VpZGVsaW5lcxiGAiABKAhI5AGIAQESQgozdnNjb2RlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbl9wb2xsaW5nX2ludGVydmFsGIcCIAEoA0jlAYgBARJECjVpbnRlbGxpal91cGRhdGVfdmVyc2lvbl9ub3RpZmljYXRpb25fcG9sbGluZ19pbnRlcnZhbBiIAiABKANI5gGIAQESIQoSY2xpX2VuYWJsZV9wZXJzb25hGIkCIAEoCEjnAYgBARI3CihjbGlfZW5hYmxlX2xhdW5jaF9wcm9jZXNzX2V2ZW50X2xpc3RlbmVyGIoCIAEoCEjoAYgBARI4Cil2c2NvZGVfZW5hYmxlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbhiLAiABKAhI6QGIAQESIwoUY2xpX2VuYWJsZV9wbGFuX21vZGUYjAIgASgISOoBiAEBEi8KIGNvbGRfc3RhcnRfZ2l0X3NoYV9pbmRleF9lbmFibGVkGI0CIAEoCEjrAYgBARI6CitpbnRlbGxpal9lbmFibGVfdXBkYXRlX3ZlcnNpb25fbm90aWZpY2F0aW9uGI4CIAEoCEjsAYgBARIqChtlbmFibGVfcmVhZF9wcm9jZXNzX3RyYWNrZXIYkAIgASgISO0BiAEBEiwKHXJlYWRfcHJvY2Vzc19tYXhfd2FpdF9zZWNvbmRzGJECIAEoA0juAYgBARIzCiRyZWFkX3Byb2Nlc3Nfc3R1Y2tfcG9sbGluZ190aHJlc2hvbGQYkgIgASgDSO8BiAEBEiEKEmVuYWJsZV9jb21wbGV0aW9ucxiTAiABKAhI8AGIAQESHwoQZW5hYmxlX3N1YmFnZW50cxiUAiABKAhI8QGIAQESJwoYY2xpX2FsbG93X3Rvb2xfb3ZlcnJpZGVzGJUCIAEoCEjyAYgBARInChhjbGlfZW5hYmxlX2NvbnRleHRfdXNhZ2UYlgIgASgISPMBiAEBEiwKHWVuYWJsZV9jb252ZXJzYXRpb25fcmV0cmlldmFsGJcCIAEoCEj0AYgBARIlChZjbGlfZW5hYmxlX2RpZmZfdmlld2VyGJgCIAEoCEj1AYgBARItCh5pbnRlbGxpal9zaWRlY2FyX2VuYWJsZV9zZW50cnkYmQIgASgISPYBiAEBEjMKJGludGVsbGlqX3NpZGVjYXJfZXJyb3Jfc2FtcGxpbmdfcmF0ZRiaAiABKAFI9wGIAQESMwokaW50ZWxsaWpfc2lkZWNhcl90cmFjZV9zYW1wbGluZ19yYXRlGJsCIAEoAUj4AYgBARIoChljbGlfZW5hYmxlX2FzeW5jX2luZGV4aW5nGJwCIAEoCEj5AYgBARIoChlwdWJsaWNfYmV0YV9lbmFibGVfc2tpbGxzGJ0CIAEoCEj6AYgBARIvCiBwdWJsaWNfYmV0YV9lbmFibGVfbWVzc2FnZV9xdWV1ZRieAiABKAhI+wGIAQESKwoccHVibGljX2JldGFfZW5hYmxlX3N1YmFnZW50cxifAiABKAhI/AGIAQESJgoXY2xpX2VuYWJsZV9zaG93X2NyZWRpdHMYoAIgASgISP0BiAEBEicKGGlkZV9lbmFibGVfYXNrX3VzZXJfdG9vbBihAiABKAhI/gGIAQESKwocZW5hYmxlX2NoYXRfaGlzdG9yeV9yZWNvdmVyeRiiAiABKAhI/wGIAQESMQoiaW50ZWxsaWpfc3RhdGVfcG9sbGluZ19pbnRlcnZhbF9tcxijAiABKANIgAKIAQESLwogdnNjb2RlX3N0YXRlX3BvbGxpbmdfaW50ZXJ2YWxfbXMYpAIgASgDSIECiAEBEikKGmNsaV9kZWZhdWx0X3Bvc2VpZG9uX2FnZW50GKUCIAEoCEiCAogBARIpChpjbGlfZW5hYmxlX3Nlc3Npb25fYW5hbHl6ZRimAiABKAhIgwKIAQESHwoQZW5hYmxlX2ZpZ21hX21jcBinAiABKAhIhAKIAQESJgoXZW5hYmxlX2h5YnJpZF9yZXRyaWV2YWwYqAIgASgISIUCiAEBEisKHGNvbnZlcnNhdGlvbl9yZXJhbmtpbmdfbW9kZWwYqQIgASgJSIYCiAEBEjcKKGJlYWNoaGVhZF9lbmFibGVfcGFyYWxsZWxfdG9vbF9leGVjdXRpb24YqgIgASgISIcCiAEBEioKG2VuYWJsZV9jb250ZXh0X3dpbmRvd191c2FnZRirAiABKAhIiAKIAQESLAodZW5hYmxlX3BsdWdpbl9tYXJrZXRwbGFjZV9pZGUYrAIgASgISIkCiAEBEhoKC2VuYWJsZV9ieW9rGK0CIAEoCEiKAogBARIqChdwb3NlaWRvbl9kYWVtb25fZW5hYmxlZBiuAiABKAhCAhgBSIsCiAEBEikKGmVuYWJsZV9jb250ZXh0X3VzYWdlX21vZGFsGK8CIAEoCEiMAogBARIpChp0b29sX3NlYXJjaF9zdW1tYXJ5X3Byb21wdBiyAiABKAlIjQKIAQESKwocdG9vbF9zZWFyY2hfZmluZF90b29sX3Byb21wdBizAiABKAlIjgKIAQESJwoYY2xpX2VuYWJsZV9zZXNzaW9uX3N0YXRzGLQCIAEoCEiPAogBARImChdlbmFibGVfbWlkX3N0cmVhbV9yZXRyeRi2AiABKAhIkAKIAQESHQoOY2xpX2VuYWJsZV9idHcYtwIgASgISJECiAEBEicKGGNsaV9lbmFibGVfY29udGV4dF9zdGF0cxi4AiABKAhIkgKIAQESKgobZW5hYmxlX2lkZV9oYW5kb2ZmX3RvX2Nsb3VkGLkCIAEoCEiTAogBARIzCiRjbGlfZW5hYmxlX2Nsb3VkX2FnZW50X2Fza191c2VyX3Rvb2wYugIgASgISJQCiAEBEiIKE3VzZV9hY3BfY29tcGxldGlvbnMYuwIgASgISJUCiAEBEiwKHWVuYWJsZV9jb2RlYmFzZV9yZXRyaWV2YWxfcmF3GLwCIAEoCEiWAogBARIeCg93ZWJ2aWV3X3VzZV9hY3AYvQIgASgISJcCiAEBEioKG2NsaV9lbmFibGVfaGFuZG9mZl90b19jbG91ZBi+AiABKAhImAKIAQESLQoec3ViYWdlbnRzX3Zpc2liaWxpdHlfb3ZlcnJpZGVzGL8CIAEoCUiZAogBARIzCiRjbGlfZW5hYmxlX2NvbGxhcHNlX2xvbmdfcGFzdGVkX3RleHQYwAIgASgISJoCiAEBEiQKFW1heF90b29sX291dHB1dF9ieXRlcxjBAiABKAVImwKIAQESJwoYY2xpX2NvbXBhY3RfdG9vbF9zdXJmYWNlGMICIAEoCEicAogBARImChdjb3Ntb3NfZW5hYmxlX3Jlc2lkZW50cxjDAiABKAhInQKIAQESJwoYY29zbW9zX3Jlc2lkZW50X3ByZXNlbmNlGMsCIAEoCEieAogBARI2CidjbGlfcmVjb3JkX3N1bW1hcml6YXRpb25zX2FuZF9zdWJhZ2VudHMYxAIgASgISJ8CiAEBEioKG2Nvc21vc19tb3JlX2N1c3RvbV93ZWJob29rcxjFAiABKAhIoAKIAQESMQoiY2xpX3VzZV9zdHJlYW1pbmdfdmZzX2ZpbGVfY29udGVudBjGAiABKAhIoQKIAQESIgoTY2xpX3R1bm5lbF9jb21tYW5kcxjHAiABKAhIogKIAQESLQoeY2xpX3Bvc2VpZG9uX2FuYWx5dGljc19lbmFibGVkGMgCIAEoCEijAogBARIuCh9jbGlfZGFlbW9uX3Bvb2xfYWNjZXNzX2NvbW1hbmRzGMkCIAEoCEikAogBARIwCiFjb3Ntb3NfbXVsdGlfcmVwb19jb250ZXh0X2VuYWJsZWQYygIgASgISKUCiAEBEi4KH2Nvc21vc19uZXN0ZWRfYWdlbnRzX21kX2VuYWJsZWQY0wIgASgISKYCiAEBEigKGXZmc19kdXJhYmxlX2ZpbGVfaWRlbnRpdHkYzAIgASgISKcCiAEBEiQKFWlkZV9leHRlbnNpb25fcmV0aXJlZBjNAiABKAhIqAKIAQESMQoiY2xpX2VuYWJsZV92ZnNfY29tbWVudHNfcHJvamVjdGlvbhjOAiABKAhIqQKIAQESNQomY2xpX3NsZWVwX3Jlc3VtZV93YXRjaGRvZ190aHJlc2hvbGRfbXMYzwIgASgDSKoCiAEBEiMKFHZmc19leHRlbmRlZF9zaGFyaW5nGNACIAEoCEirAogBARItCh5jbGlfZGFlbW9uX2F1dG9fdXBkYXRlX2VuYWJsZWQY0QIgASgISKwCiAEBEiEKEmlkZV9taWdyYXRpb25fbW9kZRjSAiABKAhIrQKIAQESLQoeaWRlX21pZ3JhdGlvbl9hbmFseXNpc19lbmFibGVkGNQCIAEoCEiuAogBARIrChxpZGVfbWlncmF0aW9uX2FuYWx5c2lzX21vZGVsGNUCIAEoCUivAogBARIvCiBjbGlfZW52aXJvbm1lbnRfc25hcHNob3RfdXBkYXRlcxjWAiABKAhIsAKIAQESNgonY29zbW9zX2NsaV9iYWNrZ3JvdW5kX3N1YmFnZW50c19lbmFibGVkGNcCIAEoCEixAogBARInChhjbGlfc2VjcmV0X29sYWNfY29tbWFuZHMY2AIgASgISLICiAEBEiMKFGNsaV9kZXNrdG9wX2NvbW1hbmRzGNkCIAEoCEizAogBARIuCh9jbGlfZW5hYmxlX3NwYWNlX3Bpbm5lZF9leHBlcnRzGNoCIAEoCEi0AogBARI2CiNwb3NlaWRvbl9wcmVmZXRjaF92ZnNfYmVmb3JlX2F1Z2dpZRjbAiABKAhCAhgBSLUCiAEBEiAKEWNvbXBhY3Rpb25fY29uZmlnGNwCIAEoCUi2AogBARJACjFwb3NlaWRvbl9pbWFnZXNfYXN5bmNfZW52aXJvbm1lbnRfcmVidWlsZF9lbmFibGVkGN0CIAEoCEi3AogBARInChhjbGlfdmZzX2JhbGFuY2VkX3N0cmVhbXMY3gIgASgISLgCiAEBEkAKMXBvc2VpZG9uX2ltYWdlc19hc3luY19lbnZpcm9ubWVudF9yZWZyZXNoX2VuYWJsZWQY3wIgASgISLkCiAEBEk0KPnBvc2VpZG9uX2ltYWdlc19hc3luY19lbnZpcm9ubWVudF9yZXBvc2l0b3J5X3JlY29uY2lsZV9lbmFibGVkGOACIAEoCEi6AogBARIgChFjbGlfc3luY19mcmVlX3ZmcxjhAiABKAhIuwKIAQESPwowcG9zZWlkb25faW1hZ2VzX2FzeW5jX2Vudmlyb25tZW50X3VwZGF0ZV9lbmFibGVkGOICIAEoCEi8AogBARIoChljb3Ntb3NfYXVnZ2llX2Vhcmx5X3N0YXJ0GOMCIAEoCEi9AogBARI6Citjb3Ntb3NfZW52aXJvbm1lbnRfcnVudGltZV9zZWxlY3Rvcl9lbmFibGVkGOQCIAEoCEi+AogBARImChdjb3Ntb3NfbWNwX2FnZW50X2F0dGFjaBjlAiABKAhIvwKIAQESJgoXY2xpX3N0YXJ0dXBfYmFubmVyX3RleHQY5gIgASgJSMACiAEBEikKGnBvc2VpZG9uX3Zmc19tYXhfZmlsZV9zaXplGOcCIAEoA0jBAogBARI3CihlbmFibGVfY29kZWJhc2VfcmV0cmlldmFsX3Rvb2xfYXVnZ2llX3YyGOgCIAEoCEjCAogBARIyCiNjb3Ntb3NfYXVnZ2llX2VuYWJsZV9jb250ZXh0X2VuZ2luZRjpAiABKAhIwwKIAQFCFAoSX2VuYWJsZV9jb2RlX2VkaXRzQg4KDF9lbmFibGVfY2hhdEIeChxfZW5hYmxlX3dvcmtzcGFjZV9tYW5hZ2VyX3VpQhcKFV9lbmFibGVfaW50ZWxsaWpfY2hhdEIlCiNfZW5hYmxlX3dvcmtzcGFjZV9tYW5hZ2VyX3VpX2xhdW5jaEIZChdfYWRkaXRpb25hbF9jaGF0X21vZGVsc0IcChpfaW50ZWxsaWpfY2hhdF9taW5fdmVyc2lvbkIeChxfdnNjb2RlX2ZseXdoZWVsX21pbl92ZXJzaW9uQi4KLF92c2NvZGVfZXh0ZXJuYWxfc291cmNlc19pbl9jaGF0X21pbl92ZXJzaW9uQhYKFF9lbmFibGVfaW5zdHJ1Y3Rpb25zQhUKE19lbmFibGVfc21hcnRfcGFzdGVCIQofX2VuYWJsZV9zbWFydF9wYXN0ZV9taW5fdmVyc2lvbkIcChpfZW5hYmxlX3ZpZXdfdGV4dF9kb2N1bWVudEIWChRfY2hlY2twb2ludF9ibG9ic192MkIZChdfZW5hYmxlX2RhdGFfY29sbGVjdGlvbkIXChVfc21hbGxfc3luY190aHJlc2hvbGRCFQoTX2JpZ19zeW5jX3RocmVzaG9sZEIZChdfYnlwYXNzX2xhbmd1YWdlX2ZpbHRlckITChFfZW5hYmxlX2hpbmRzaWdodEIYChZfbWF4X3VwbG9hZF9zaXplX2J5dGVzQigKJl9pbnRlbGxpal9mb3JjZV9jb21wbGV0aW9uX21pbl92ZXJzaW9uQiIKIF9lbmFibGVfZXh0ZXJuYWxfc291cmNlc19pbl9jaGF0QhsKGV9tYXhfdHJhY2thYmxlX2ZpbGVfY291bnRCLgosX21heF90cmFja2FibGVfZmlsZV9jb3VudF93aXRob3V0X3Blcm1pc3Npb25CLQorX21pbl91cGxvYWRlZF9wZXJjZW50YWdlX3dpdGhvdXRfcGVybWlzc2lvbkIqCihfdnNjb2RlX2NoYXRfaGludF9kZWNvcmF0aW9uX21pbl92ZXJzaW9uQiUKI19lbmFibGVfY29tcGxldGlvbl9maWxlX2VkaXRfZXZlbnRzQh0KG192c2NvZGVfc291cmNlc19taW5fdmVyc2lvbkIcChpfdnNjb2RlX2VuYWJsZV9jcHVfcHJvZmlsZUIfCh1fdmVyaWZ5X2ZvbGRlcl9pc19zb3VyY2VfcmVwb0IiCiBfcmVmdXNlX3RvX3N5bmNfaG9tZV9kaXJlY3Rvcmllc0IsCipfZW5hYmxlX2ZpbGVfbGltaXRzX2Zvcl9zeW5jaW5nX3Blcm1pc3Npb25CGwoZX3ZzY29kZV9zaGFyZV9taW5fdmVyc2lvbkIdChtfaW50ZWxsaWpfc2hhcmVfbWluX3ZlcnNpb25CGAoWX2VuYWJsZV9zdW1tYXJ5X3RpdGxlc0IfCh1fZW5hYmxlX2NoYXRfbWVybWFpZF9kaWFncmFtc0IeChxfc21hcnRfcGFzdGVfcHJlY29tcHV0ZV9tb2RlQiYKJF92c2NvZGVfbmV3X3RocmVhZHNfbWVudV9taW5fdmVyc2lvbkIoCiZfaW50ZWxsaWpfbmV3X3RocmVhZHNfbWVudV9taW5fdmVyc2lvbkImCiRfdnNjb2RlX2VkaXRhYmxlX2hpc3RvcnlfbWluX3ZlcnNpb25CGAoWX2ludGVsbGlqX3Nob3dfc3VtbWFyeUIUChJfZW5hYmxlX2d1aWRlbGluZXNCMgowX3ZzY29kZV9lbmFibGVfY2hhdF9tZXJtYWlkX2RpYWdyYW1zX21pbl92ZXJzaW9uQhwKGl92c2NvZGVfZGVwcmVjYXRlZF92ZXJzaW9uQh4KHF9pbnRlbGxpal9kZXByZWNhdGVkX3ZlcnNpb25CNAoyX3ZzY29kZV91c2VfY2hlY2twb2ludF9tYW5hZ2VyX2NvbnRleHRfbWluX3ZlcnNpb25CLQorX3ZzY29kZV92YWxpZGF0ZV9jaGVja3BvaW50X21hbmFnZXJfY29udGV4dEIjCiFfaW50ZWxsaWpfc21hcnRfcGFzdGVfbWluX3ZlcnNpb25CNAoyX3ZzY29kZV9kZXNpZ25fc3lzdGVtX3JpY2hfdGV4dF9lZGl0b3JfbWluX3ZlcnNpb25CJgokX2FsbG93X2NsaWVudF9mZWF0dXJlX2ZsYWdfb3ZlcnJpZGVzQiUKI192c2NvZGVfY2hhdF93aXRoX3Rvb2xzX21pbl92ZXJzaW9uQicKJV9pbnRlbGxpal9jaGF0X3dpdGhfdG9vbHNfbWluX3ZlcnNpb25CJQojX3ZzY29kZV9jaGF0X211bHRpbW9kYWxfbWluX3ZlcnNpb25CJwolX2ludGVsbGlqX2NoYXRfbXVsdGltb2RhbF9taW5fdmVyc2lvbkI0CjJfaW50ZWxsaWpfZW5hYmxlX2NoYXRfbWVybWFpZF9kaWFncmFtc19taW5fdmVyc2lvbkIgCh5fdnNjb2RlX2FnZW50X21vZGVfbWluX3ZlcnNpb25CIgogX2ludGVsbGlqX2FnZW50X21vZGVfbWluX3ZlcnNpb25CHAoaX2ludGVsbGlqX2Jsb2NrZWRfdmVyc2lvbnNCNgo0X2ludGVsbGlqX2Rlc2lnbl9zeXN0ZW1fcmljaF90ZXh0X2VkaXRvcl9taW5fdmVyc2lvbkIoCiZfaW50ZWxsaWpfc3luY2luZ19wcm9ncmVzc19taW5fdmVyc2lvbkIaChhfZWxvX21vZGVsX2NvbmZpZ3VyYXRpb25CGQoXX3ZzY29kZV9hZ2VudF9lZGl0X3Rvb2xCLwotX2ludGVsbGlqX2Fza19mb3Jfc3luY19wZXJtaXNzaW9uX21pbl92ZXJzaW9uQicKJV92c2NvZGVfYmFja2dyb3VuZF9hZ2VudHNfbWluX3ZlcnNpb25CKQonX2ludGVsbGlqX2JhY2tncm91bmRfYWdlbnRzX21pbl92ZXJzaW9uQh8KHV91c2VyX2d1aWRlbGluZXNfbGVuZ3RoX2xpbWl0QiQKIl93b3Jrc3BhY2VfZ3VpZGVsaW5lc19sZW5ndGhfbGltaXRCKgooX3ZzY29kZV9yaWNoX2NoZWNrcG9pbnRfaW5mb19taW5fdmVyc2lvbkIiCiBfaW50ZWxsaWpfZW5hYmxlX3VzZXJfZ3VpZGVsaW5lc0InCiVfaW50ZWxsaWpfZW5hYmxlX3dvcmtzcGFjZV9ndWlkZWxpbmVzQicKJV92c2NvZGVfYWdlbnRfbW9kZV9taW5fc3RhYmxlX3ZlcnNpb25CMAouX2ludGVsbGlqX3ZpcnR1YWxpemVkX21lc3NhZ2VfbGlzdF9taW5fdmVyc2lvbkIzCjFfdnNjb2RlX2NoYXRfc3RhYmxlX3ByZWZpeF90cnVuY2F0aW9uX21pbl92ZXJzaW9uQiAKHl9hZ2VudF9lZGl0X3Rvb2xfbWluX3ZpZXdfc2l6ZUInCiVfaW50ZWxsaWpfdXNlcl9ndWlkZWxpbmVzX2luX3NldHRpbmdzQh4KHF9hZ2VudF9lZGl0X3Rvb2xfc2NoZW1hX3R5cGVCIgogX3ZzY29kZV9kaXJlY3RfYXBwbHlfbWluX3ZlcnNpb25CIwohX3ZzY29kZV9wZXJzb25hbGl0aWVzX21pbl92ZXJzaW9uQi0KK19hZ2VudF9zYXZlX2ZpbGVfdG9vbF9pbnN0cnVjdGlvbnNfcmVtaW5kZXJCMAouX3JlbW90ZV9hZ2VudF9jaGF0X2hpc3RvcnlfcG9sbGluZ19pbnRlcnZhbF9tc0IoCiZfcmVtb3RlX2FnZW50X2xpc3RfcG9sbGluZ19pbnRlcnZhbF9tc0I1CjNfaW50ZWxsaWpfcHJlZmVyZW5jZV9jb2xsZWN0aW9uX2FsbG93ZWRfbWluX3ZlcnNpb25CJQojX2ludGVsbGlqX2VuYWJsZV9ob21lc3B1bl9naXRpZ25vcmVCLQorX3ZzY29kZV9nZW5lcmF0ZV9jb21taXRfbWVzc2FnZV9taW5fdmVyc2lvbkIPCg1fZW5hYmxlX3J1bGVzQigKJl9hZ2VudF9lZGl0X3Rvb2xfZW5hYmxlX2Z1enp5X21hdGNoaW5nQi4KLF9hZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfc3VjY2Vzc19tZXNzYWdlQicKJV9hZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWF4X2RpZmZCLQorX2FnZW50X2VkaXRfdG9vbF9mdXp6eV9tYXRjaF9tYXhfZGlmZl9yYXRpb0JBCj9fYWdlbnRfZWRpdF90b29sX2Z1enp5X21hdGNoX21pbl9hbGxfbWF0Y2hfc3RyZWFrX2JldHdlZW5fZGlmZnNCGQoXX2VuYWJsZV9wcm9tcHRfZW5oYW5jZXJCIwohX2ludGVsbGlqX3Byb21wdF9lbmhhbmNlcl9lbmFibGVkQigKJl9hZ2VudF9lZGl0X3Rvb2xfaW5zdHJ1Y3Rpb25zX3JlbWluZGVyQhkKF19pbnRlbGxpal9lbmFibGVfc2VudHJ5QicKJV9pbnRlbGxpal93ZWJ2aWV3X2Vycm9yX3NhbXBsaW5nX3JhdGVCJgokX2ludGVsbGlqX3BsdWdpbl9lcnJvcl9zYW1wbGluZ19yYXRlQicKJV9pbnRlbGxpal93ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGVCJgokX2ludGVsbGlqX3BsdWdpbl90cmFjZV9zYW1wbGluZ19yYXRlQh8KHV9vcGVuX2ZpbGVfbWFuYWdlcl92Ml9lbmFibGVkQjEKL19pbnRlbGxpal9lbmFibGVfd2Vidmlld19wZXJmb3JtYW5jZV9tb25pdG9yaW5nQh8KHV92c2NvZGVfdGFza19saXN0X21pbl92ZXJzaW9uQiYKJF9hZ2VudF9lZGl0X3Rvb2xfc2hvd19yZXN1bHRfc25pcHBldEIoCiZfaW50ZWxsaWpfZWR0X2ZyZWV6ZV9kZXRlY3Rpb25fZW5hYmxlZEIWChRfY2xpZW50X2Fubm91bmNlbWVudEImCiRfdnNjb2RlX3JlbW90ZV9hZ2VudF9zc2hfbWluX3ZlcnNpb25CHAoaX2FnZW50X2VkaXRfdG9vbF9tYXhfbGluZXNCGgoYX2dyZXBfc2VhcmNoX3Rvb2xfZW5hYmxlQiEKH19ncmVwX3NlYXJjaF90b29sX3RpbWVsaW1pdF9zZWNCJgokX2dyZXBfc2VhcmNoX3Rvb2xfb3V0cHV0X2NoYXJzX2xpbWl0QiUKI19ncmVwX3NlYXJjaF90b29sX251bV9jb250ZXh0X2xpbmVzQhkKF19lbmFibGVfYWdlbnRfYXV0b19tb2RlQikKJ19hZ2VudF9yZXBvcnRfc3RyZWFtZWRfY2hhdF9ldmVyeV9jaHVua0IrCilfYWdlbnRfbWF4X3RvdGFsX2NoYW5nZWRfZmlsZXNfc2l6ZV9ieXRlc0IoCiZfYWdlbnRfbWF4X2NoYW5nZWRfZmlsZXNfc2tpcHBlZF9wYXRoc0InCiVfYWdlbnRfaWRsZV9zdGF0dXNfdXBkYXRlX2ludGVydmFsX21zQhcKFV9hZ2VudF9tYXhfaXRlcmF0aW9uc0IpCidfYWdlbnRfc3NoX2Nvbm5lY3Rpb25fY2hlY2tfaW50ZXJ2YWxfbXNCLQorX2FnZW50X3NzaF9jb25uZWN0aW9uX2NoZWNrX2xvZ19pbnRlcnZhbF9tc0IaChhfYmVhY2hoZWFkX2VuYWJsZV9zZW50cnlCIAoeX2JlYWNoaGVhZF9lcnJvcl9zYW1wbGluZ19yYXRlQiAKHl9iZWFjaGhlYWRfdHJhY2Vfc2FtcGxpbmdfcmF0ZUIsCipfdnNjb2RlX3N1cHBvcnRfdG9vbF91c2Vfc3RhcnRfbWluX3ZlcnNpb25CHgocX2hpc3Rvcnlfc3VtbWFyeV9taW5fdmVyc2lvbkIcChpfaGlzdG9yeV9zdW1tYXJ5X21heF9jaGFyc0IeChxfaGlzdG9yeV9zdW1tYXJ5X2xvd2VyX2NoYXJzQhoKGF9lbmFibGVfbmV3X3RocmVhZHNfbGlzdEIZChdfaGlzdG9yeV9zdW1tYXJ5X3Byb21wdEIlCiNfZW5hYmxlX3VudHJ1bmNhdGVkX2NvbnRlbnRfc3RvcmFnZUIkCiJfbWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0QhkKF19lbmFibGVfY29tbWl0X2luZGV4aW5nQhcKFV9tYXhfY29tbWl0c190b19pbmRleEIhCh9faW50ZWxsaWpfdGFza19saXN0X21pbl92ZXJzaW9uQhoKGF9lbmFibGVfZXhjaGFuZ2Vfc3RvcmFnZUIdChtfcmV0cnlfY2hhdF9zdHJlYW1fdGltZW91dHNCIAoeX2VuYWJsZV90b29sX3VzZV9zdGF0ZV9zdG9yYWdlQiEKH19yZW1vdGVfYWdlbnRfY3VycmVudF93b3Jrc3BhY2VCGQoXX2hpc3Rvcnlfc3VtbWFyeV9wYXJhbXNCFAoSX2VuYWJsZV9hZ2VudF90YWJzQhQKEl9lbmFibGVfc3dhcm1fbW9kZUIiCiBfYmVhY2hoZWFkX2VuYWJsZV9zdWJfYWdlbnRfdG9vbEIXChVfZW5hYmxlX2dyb3VwZWRfdG9vbHNCLwotX3JlbW90ZV9hZ2VudHNfcmVzdW1lX2hpbnRfYXZhaWxhYmxlX3R0bF9kYXlzQhgKFl9lbmFibGVfcGFyYWxsZWxfdG9vbHNCFAoSX2NsaWVudF9kZXByZWNhdGVkQiEKH19lbmFibGVfdmlld2VkX2NvbnRlbnRfdHJhY2tpbmdCJwolX3ZpZXdlZF9jb250ZW50X2Nsb3NlX3JhbmdlX3RocmVzaG9sZEIpCidfdmlld2VkX2NvbnRlbnRfZGlzY3JldGVfanVtcF90aHJlc2hvbGRCIgogX3ZpZXdlZF9jb250ZW50X21pbl9ldmVudF9hZ2VfbXNCIgogX3ZpZXdlZF9jb250ZW50X21heF9ldmVudF9hZ2VfbXNCGwoZX2VuYWJsZV9uYXRpdmVfcmVtb3RlX21jcEIjCiFfbm90aWZpY2F0aW9uX3BvbGxpbmdfaW50ZXJ2YWxfbXNCGwoZX2VuYWJsZV9hZ2VudF9naXRfdHJhY2tlckIiCiBfdHJ1bmNhdGlvbl9mb290ZXJfYWRkaXRpb25fdGV4dEIQCg5fZW5hYmxlX3NlbnRyeUIeChxfd2Vidmlld19lcnJvcl9zYW1wbGluZ19yYXRlQh4KHF93ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGVCGQoXX2FnZW50X3ZpZXdfdG9vbF9wYXJhbXNCGwoZX3ZzY29kZV90ZXJtaW5hbF9zdHJhdGVneUITChFfYWdlbnRfY2hhdF9tb2RlbEIlCiNfY2xvdWRfYWdlbnRfZGVmYXVsdF9tb2RlbF9vdmVycmlkZUIWChRfbW9kZWxfaW5mb19yZWdpc3RyeUI1CjNfbWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0X2FmdGVyX3RydW5jYXRpb25CKAomX2VuYWJsZV9ub3RpZmljYXRpb25zX3NlcnZpY2VfaW50ZWxsaWpCFgoUX2VuYWJsZV9sdWNpZGVfaWNvbnNCIwohX2VuYWJsZV9lbmhhbmNlZF9kZWh5ZHJhdGlvbl9tb2RlQisKKV92c2NvZGVfc2hvd190aGlua2luZ19zdW1tYXJ5X21pbl92ZXJzaW9uQi0KK19pbnRlbGxpal9zaG93X3RoaW5raW5nX3N1bW1hcnlfbWluX3ZlcnNpb25CJgokX2ludGVsbGlqX2VuYWJsZV9maWxlX2ludGFrZV9zZXJ2aWNlQi4KLF9pbnRlbGxpal9lbmFibGVfc2VnbWVudF9hbmFseXRpY3NfcmVwb3J0aW5nQhQKEl9jbGlfZW5hYmxlX3NlbnRyeUIaChhfY2xpX2Vycm9yX3NhbXBsaW5nX3JhdGVCGgoYX2NsaV90cmFjZV9zYW1wbGluZ19yYXRlQiUKI19jbGlfY2hhdF9zdHJlYW1fcmV0cnlfaGFyZF9zdG9wX21zQhcKFV9jbGlfZW5hYmxlX2FuYWx5dGljc0IaChhfY2xpX2FuYWx5dGljc193cml0ZV9rZXlCHgocX3BhcnRuZXJfbWNwX2xhdW5jaF8yMDI1MDkxNkIVChNfY2xpX3BhcmFsbGVsX3Rvb2xzQh0KG19lbmFibGVfYnVsa19kZWxldGVfdGhyZWFkc0InCiVfZW5hYmxlX2ludGVyc2VjdGlvbl9vYnNlcnZlcl9tYW5hZ2VyQicKJV9lbmFibGVfdGVuYW50X2xldmVsX3Rvb2xfcGVybWlzc2lvbnNCJgokX3dlYnZpZXdfcmVwbGF5c19zZXNzaW9uX3NhbXBsZV9yYXRlQicKJV93ZWJ2aWV3X3JlcGxheXNfb25fZXJyb3Jfc2FtcGxlX3JhdGVCJAoiX3ZzY29kZV9wbHVnaW5fZXJyb3Jfc2FtcGxpbmdfcmF0ZUIkCiJfdnNjb2RlX3BsdWdpbl90cmFjZV9zYW1wbGluZ19yYXRlQh0KG19lbmFibGVfY3JlZGl0c19pbl9zZXR0aW5nc0IjCiFfZW5hYmxlX2NyZWRpdF9iYW5uZXJfaW5fc2V0dGluZ3NCJgokX2VuYWJsZV9jaGF0X2lucHV0X2lubGluZV9jb21wbGV0aW9uQh4KHF9jbGlfZW5hYmxlX2FjY291bnRfY29tbWFuZHNCFwoVX2VuYWJsZV9vbmJvYXJkaW5nX3YyQhsKGV9jbGlfZW5hYmxlX21lc3NhZ2VfcXVldWVCHwodX2VuYWJsZV9ncnBjX3RvX2lkZV9tZXNzYWdpbmdCLAoqX2NsaV9lbmFibGVfYXN5bmNfd29ya3NwYWNlX2luaXRpYWxpemF0aW9uQh0KG19tYXhfbGluZV9sZW5ndGhfY2hhcmFjdGVyc0IqCihfZW5hYmxlX2NyZWRpdHNfY29uc3VtZWRfaW5fdHVybl9zdW1tYXJ5QicKJV9naXRodWJfaW50ZWdyYXRpb25fbm90aWZpY2F0aW9uX2pzb25CJAoiX2VuYWJsZV9kZWVwX2xpbmtfY2hhdF93aXRoX3Byb21wdEIfCh1fZW5hYmxlX2NvbW1pdF9zZXNzaW9uX2V2ZW50c0IjCiFfdXNlX2ludGFrZV9zZXJ2aWNlX2Zvcl9maWxlX3dhbGtCGgoYX2VuYWJsZV9hcHBseV9wYXRjaF90b29sQiUKI19jdXN0b21lcl91aV9zZWNyZXRfbWFuYWdlcl9lbmFibGVkQh4KHF9jaGF0X2lucHV0X2NvbXBsZXRpb25fbW9kZWxCMgowX3ZzY29kZV9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0QjQKMl9pbnRlbGxpal9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0Qi8KLV9jbGlfcHJvbXB0X2VuaGFuY2VyX25ld19lbmRwb2ludF9yb2xsb3V0X3BjdEInCiVfY2xpX2VuYWJsZV93b3JrZXJfdGhyZWFkX3BhdGhfZmlsdGVyQi4KLF9hcGlfcHJveHlfY2xpX25vbl9pbnRlcmFjdGl2ZV9tb2RlX2Rpc2FibGVkQhwKGl9lbmFibGVfc2V0dGluZ3NfaG9tZV9wYWdlQhcKFV9jbGlfZW5hYmxlX2Jhc2hfbW9kZUIjCiFfZW5hYmxlX2NvZGVfcmV2aWV3X3NsYXNoX2NvbW1hbmRCDwoNX2VuYWJsZV9ob29rc0IcChpfZW5hYmxlX2hpZXJhcmNoaWNhbF9ydWxlc0IiCiBfY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZUIYChZfZW5hYmxlX2RlYnVnX2ZlYXR1cmVzQhwKGl9lbmFibGVfcGx1Z2luX21hcmtldHBsYWNlQjgKNl9iZWFjaGhlYWRfZmlsZXN5c3RlbV9jaGFuZ2VfdHJhY2tlcl9tYXhfZ2l0X3Byb2Nlc3Nlc0IfCh1fY2xpX2VuYWJsZV93b3Jrc3BhY2VfY29tbWFuZEIZChdfcHVibGljX2JldGFfb3B0X2luX2FsbEIuCixfcHVibGljX2JldGFfY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZUIaChhfZW5hYmxlX3B1YmxpY19iZXRhX3BhZ2VCJQojX2VuYWJsZV93b3Jrc3BhY2VfY29udmVyc2F0aW9uX3N5bmNCEAoOX2VuYWJsZV9za2lsbHNCHwodX3JlcG9zaXRvcnlfYWxsb3dsaXN0X2VuYWJsZWRCHwodX2NsaV9uZXdfZmVhdHVyZV9hbm5vdW5jZW1lbnRCGQoXX2VuYWJsZV9jdXN0b21fY29tbWFuZHNCGgoYX2NsaV9lbmFibGVfY2xvdWRfYWdlbnRzQjIKMF9lbmFibGVfd29ya3NwYWNlX2NvbnZlcnNhdGlvbl9jaGF0X2hpc3Rvcnlfc3luY0IlCiNfcHVibGljX2JldGFfZW5hYmxlX2N1c3RvbV9jb21tYW5kc0IXChVfZW5hYmxlX21lc3NhZ2VfcXVldWVCGwoZX2VuYWJsZV9zaGFyZWRfZ3VpZGVsaW5lc0I2CjRfdnNjb2RlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbl9wb2xsaW5nX2ludGVydmFsQjgKNl9pbnRlbGxpal91cGRhdGVfdmVyc2lvbl9ub3RpZmljYXRpb25fcG9sbGluZ19pbnRlcnZhbEIVChNfY2xpX2VuYWJsZV9wZXJzb25hQisKKV9jbGlfZW5hYmxlX2xhdW5jaF9wcm9jZXNzX2V2ZW50X2xpc3RlbmVyQiwKKl92c2NvZGVfZW5hYmxlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbkIXChVfY2xpX2VuYWJsZV9wbGFuX21vZGVCIwohX2NvbGRfc3RhcnRfZ2l0X3NoYV9pbmRleF9lbmFibGVkQi4KLF9pbnRlbGxpal9lbmFibGVfdXBkYXRlX3ZlcnNpb25fbm90aWZpY2F0aW9uQh4KHF9lbmFibGVfcmVhZF9wcm9jZXNzX3RyYWNrZXJCIAoeX3JlYWRfcHJvY2Vzc19tYXhfd2FpdF9zZWNvbmRzQicKJV9yZWFkX3Byb2Nlc3Nfc3R1Y2tfcG9sbGluZ190aHJlc2hvbGRCFQoTX2VuYWJsZV9jb21wbGV0aW9uc0ITChFfZW5hYmxlX3N1YmFnZW50c0IbChlfY2xpX2FsbG93X3Rvb2xfb3ZlcnJpZGVzQhsKGV9jbGlfZW5hYmxlX2NvbnRleHRfdXNhZ2VCIAoeX2VuYWJsZV9jb252ZXJzYXRpb25fcmV0cmlldmFsQhkKF19jbGlfZW5hYmxlX2RpZmZfdmlld2VyQiEKH19pbnRlbGxpal9zaWRlY2FyX2VuYWJsZV9zZW50cnlCJwolX2ludGVsbGlqX3NpZGVjYXJfZXJyb3Jfc2FtcGxpbmdfcmF0ZUInCiVfaW50ZWxsaWpfc2lkZWNhcl90cmFjZV9zYW1wbGluZ19yYXRlQhwKGl9jbGlfZW5hYmxlX2FzeW5jX2luZGV4aW5nQhwKGl9wdWJsaWNfYmV0YV9lbmFibGVfc2tpbGxzQiMKIV9wdWJsaWNfYmV0YV9lbmFibGVfbWVzc2FnZV9xdWV1ZUIfCh1fcHVibGljX2JldGFfZW5hYmxlX3N1YmFnZW50c0IaChhfY2xpX2VuYWJsZV9zaG93X2NyZWRpdHNCGwoZX2lkZV9lbmFibGVfYXNrX3VzZXJfdG9vbEIfCh1fZW5hYmxlX2NoYXRfaGlzdG9yeV9yZWNvdmVyeUIlCiNfaW50ZWxsaWpfc3RhdGVfcG9sbGluZ19pbnRlcnZhbF9tc0IjCiFfdnNjb2RlX3N0YXRlX3BvbGxpbmdfaW50ZXJ2YWxfbXNCHQobX2NsaV9kZWZhdWx0X3Bvc2VpZG9uX2FnZW50Qh0KG19jbGlfZW5hYmxlX3Nlc3Npb25fYW5hbHl6ZUITChFfZW5hYmxlX2ZpZ21hX21jcEIaChhfZW5hYmxlX2h5YnJpZF9yZXRyaWV2YWxCHwodX2NvbnZlcnNhdGlvbl9yZXJhbmtpbmdfbW9kZWxCKwopX2JlYWNoaGVhZF9lbmFibGVfcGFyYWxsZWxfdG9vbF9leGVjdXRpb25CHgocX2VuYWJsZV9jb250ZXh0X3dpbmRvd191c2FnZUIgCh5fZW5hYmxlX3BsdWdpbl9tYXJrZXRwbGFjZV9pZGVCDgoMX2VuYWJsZV9ieW9rQhoKGF9wb3NlaWRvbl9kYWVtb25fZW5hYmxlZEIdChtfZW5hYmxlX2NvbnRleHRfdXNhZ2VfbW9kYWxCHQobX3Rvb2xfc2VhcmNoX3N1bW1hcnlfcHJvbXB0Qh8KHV90b29sX3NlYXJjaF9maW5kX3Rvb2xfcHJvbXB0QhsKGV9jbGlfZW5hYmxlX3Nlc3Npb25fc3RhdHNCGgoYX2VuYWJsZV9taWRfc3RyZWFtX3JldHJ5QhEKD19jbGlfZW5hYmxlX2J0d0IbChlfY2xpX2VuYWJsZV9jb250ZXh0X3N0YXRzQh4KHF9lbmFibGVfaWRlX2hhbmRvZmZfdG9fY2xvdWRCJwolX2NsaV9lbmFibGVfY2xvdWRfYWdlbnRfYXNrX3VzZXJfdG9vbEIWChRfdXNlX2FjcF9jb21wbGV0aW9uc0IgCh5fZW5hYmxlX2NvZGViYXNlX3JldHJpZXZhbF9yYXdCEgoQX3dlYnZpZXdfdXNlX2FjcEIeChxfY2xpX2VuYWJsZV9oYW5kb2ZmX3RvX2Nsb3VkQiEKH19zdWJhZ2VudHNfdmlzaWJpbGl0eV9vdmVycmlkZXNCJwolX2NsaV9lbmFibGVfY29sbGFwc2VfbG9uZ19wYXN0ZWRfdGV4dEIYChZfbWF4X3Rvb2xfb3V0cHV0X2J5dGVzQhsKGV9jbGlfY29tcGFjdF90b29sX3N1cmZhY2VCGgoYX2Nvc21vc19lbmFibGVfcmVzaWRlbnRzQhsKGV9jb3Ntb3NfcmVzaWRlbnRfcHJlc2VuY2VCKgooX2NsaV9yZWNvcmRfc3VtbWFyaXphdGlvbnNfYW5kX3N1YmFnZW50c0IeChxfY29zbW9zX21vcmVfY3VzdG9tX3dlYmhvb2tzQiUKI19jbGlfdXNlX3N0cmVhbWluZ192ZnNfZmlsZV9jb250ZW50QhYKFF9jbGlfdHVubmVsX2NvbW1hbmRzQiEKH19jbGlfcG9zZWlkb25fYW5hbHl0aWNzX2VuYWJsZWRCIgogX2NsaV9kYWVtb25fcG9vbF9hY2Nlc3NfY29tbWFuZHNCJAoiX2Nvc21vc19tdWx0aV9yZXBvX2NvbnRleHRfZW5hYmxlZEIiCiBfY29zbW9zX25lc3RlZF9hZ2VudHNfbWRfZW5hYmxlZEIcChpfdmZzX2R1cmFibGVfZmlsZV9pZGVudGl0eUIYChZfaWRlX2V4dGVuc2lvbl9yZXRpcmVkQiUKI19jbGlfZW5hYmxlX3Zmc19jb21tZW50c19wcm9qZWN0aW9uQikKJ19jbGlfc2xlZXBfcmVzdW1lX3dhdGNoZG9nX3RocmVzaG9sZF9tc0IXChVfdmZzX2V4dGVuZGVkX3NoYXJpbmdCIQofX2NsaV9kYWVtb25fYXV0b191cGRhdGVfZW5hYmxlZEIVChNfaWRlX21pZ3JhdGlvbl9tb2RlQiEKH19pZGVfbWlncmF0aW9uX2FuYWx5c2lzX2VuYWJsZWRCHwodX2lkZV9taWdyYXRpb25fYW5hbHlzaXNfbW9kZWxCIwohX2NsaV9lbnZpcm9ubWVudF9zbmFwc2hvdF91cGRhdGVzQioKKF9jb3Ntb3NfY2xpX2JhY2tncm91bmRfc3ViYWdlbnRzX2VuYWJsZWRCGwoZX2NsaV9zZWNyZXRfb2xhY19jb21tYW5kc0IXChVfY2xpX2Rlc2t0b3BfY29tbWFuZHNCIgogX2NsaV9lbmFibGVfc3BhY2VfcGlubmVkX2V4cGVydHNCJgokX3Bvc2VpZG9uX3ByZWZldGNoX3Zmc19iZWZvcmVfYXVnZ2llQhQKEl9jb21wYWN0aW9uX2NvbmZpZ0I0CjJfcG9zZWlkb25faW1hZ2VzX2FzeW5jX2Vudmlyb25tZW50X3JlYnVpbGRfZW5hYmxlZEIbChlfY2xpX3Zmc19iYWxhbmNlZF9zdHJlYW1zQjQKMl9wb3NlaWRvbl9pbWFnZXNfYXN5bmNfZW52aXJvbm1lbnRfcmVmcmVzaF9lbmFibGVkQkEKP19wb3NlaWRvbl9pbWFnZXNfYXN5bmNfZW52aXJvbm1lbnRfcmVwb3NpdG9yeV9yZWNvbmNpbGVfZW5hYmxlZEIUChJfY2xpX3N5bmNfZnJlZV92ZnNCMwoxX3Bvc2VpZG9uX2ltYWdlc19hc3luY19lbnZpcm9ubWVudF91cGRhdGVfZW5hYmxlZEIcChpfY29zbW9zX2F1Z2dpZV9lYXJseV9zdGFydEIuCixfY29zbW9zX2Vudmlyb25tZW50X3J1bnRpbWVfc2VsZWN0b3JfZW5hYmxlZEIaChhfY29zbW9zX21jcF9hZ2VudF9hdHRhY2hCGgoYX2NsaV9zdGFydHVwX2Jhbm5lcl90ZXh0Qh0KG19wb3NlaWRvbl92ZnNfbWF4X2ZpbGVfc2l6ZUIrCilfZW5hYmxlX2NvZGViYXNlX3JldHJpZXZhbF90b29sX2F1Z2dpZV92MkImCiRfY29zbW9zX2F1Z2dpZV9lbmFibGVfY29udGV4dF9lbmdpbmVKBAgCEANKBAgDEARKBAgEEAVKBgiPAhCQAkoECAsQDEoECBAQEUoECCAQIUoECDYQN0oECDgQOUoECDkQOkoECEYQR0oECEgQSUoECFAQUUoECFEQUkoECFUQVkoECF0QXkoECGEQYkoECGYQZ0oECG0QbkoECG4Qb0oGCI4BEI8BSgYIlgEQlwFKBgieARCfAUoGCLoBELsBSgYIuwEQvAFKBgi/ARDAAUoGCMYBEMcBSgYI3QEQ3gFKBgjnARDoAUoGCOkBEOoBSgYI6gEQ6wFKBgj0ARD1AUoGCPsBEPwBSgYIgwIQhAJKBgiwAhCxAkoGCLECELICUhx2c2NvZGVfbmV4dF9lZGl0X21pbl92ZXJzaW9uUhVuZXh0X2VkaXRfZGVib3VuY2VfbXNSKGludGVsbGlqX2NvbXBsZXRpb25zX2hpc3RvcnlfbWluX3ZlcnNpb25SIHZzY29kZV9uZXh0X2VkaXRfdXgxX21heF92ZXJzaW9uUiB2c2NvZGVfbmV4dF9lZGl0X3V4Ml9tYXhfdmVyc2lvblIpdnNjb2RlX25leHRfZWRpdF9ib3R0b21fcGFuZWxfbWluX3ZlcnNpb25SK3ZzY29kZV92aXJ0dWFsaXplZF9tZXNzYWdlX2xpc3RfbWluX3ZlcnNpb25SFWVuYWJsZV9tb2RlbF9yZWdpc3RyeVIObW9kZWxfcmVnaXN0cnlSFGZyYXVkX3NpZ25fZW5kcG9pbnRzUjhnaXRodWJfaW50ZWdyYXRpb25fbm90aWZpY2F0aW9uX29uX2ZpcnN0X21lc3NhZ2VfZW5hYmxlZFInaXNfb25ib2FyZGluZ19mZWF0dXJlX2hpZ2hsaWdodF9lbmFibGVkUi52c2NvZGVfZ2VuZXJhdGVfY29udmVyc2F0aW9uX3RpdGxlX3JvbGxvdXRfcGN0UjBpbnRlbGxpal9nZW5lcmF0ZV9jb252ZXJzYXRpb25fdGl0bGVfcm9sbG91dF9wY3RSHHZzY29kZV9hdXRvX2luZGV4X3Blcm1pc3Npb25SFWVuYWJsZV9jb250ZXh0X2NhbnZhc1IXZW5hYmxlX21jcF9yZWdpc3RyeV9jbGlSGWVuYWJsZV9tY3BfcmVnaXN0cnlfY2xvdWQaxAEKBFVzZXISCgoCaWQYASABKAkSEgoFZW1haWwYAiABKAlIAIgBARIWCgl0ZW5hbnRfaWQYAyABKAlIAYgBARIYCgt0ZW5hbnRfbmFtZRgEIAEoCUgCiAEBEjMKCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQFCCAoGX2VtYWlsQgwKCl90ZW5hbnRfaWRCDgoMX3RlbmFudF9uYW1lQg0KC19jcmVhdGVkX2F0IlcKCFVzZXJUaWVyEgsKB1VOS05PV04QABISCg5DT01NVU5JVFlfVElFUhABEhUKEVBST0ZFU1NJT05BTF9USUVSEAISEwoPRU5URVJQUklTRV9USUVSEANCEAoOX2RlZmF1bHRfbW9kZWxCEAoOX2ZlYXR1cmVfZmxhZ3NCBwoFX3VzZXJCFQoTX2Jvb3RzdHJhcF9zZXR0aW5ncyLUAgoaR2V0T3V0Y29tZUFuYWx5dGljc1JlcXVlc3QSNgoKZGF0ZV9yYW5nZRgBIAEoCzIiLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0RhdGVSYW5nZRIZChF0YWdfZ3JvdXBfYnlfa2V5cxgCIAMoCRI0CgdmaWx0ZXJzGAMgASgLMiMucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzRmlsdGVycxIcChRpbmNsdWRlX2Nvc3RfbWV0cmljcxgEIAEoCBI9CgtncmFudWxhcml0eRgFIAEoDjIoLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1RpbWVHcmFudWxhcml0eRIdChVkaXNhYmxlX2dyb3VwX2J5X25hbWUYBiABKAgSMQoOb3V0Y29tZV9vcmlnaW4YByABKA4yGS5wdWJsaWNfYXBpLk91dGNvbWVPcmlnaW4iWQobR2V0T3V0Y29tZUFuYWx5dGljc1Jlc3BvbnNlEjoKC2RhdGFfcG9pbnRzGAEgAygLMiUucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzRGF0YVBvaW50IiIKIEdldFBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXF1ZXN0IkIKIUdldFBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXNwb25zZRIdChVkZWZhdWx0X2Jhc2VfaW1hZ2VfaWQYASABKAkiIAoeR2V0UG9zZWlkb25Vc2VyU2V0dGluZ3NSZXF1ZXN0In4KH0dldFBvc2VpZG9uVXNlclNldHRpbmdzUmVzcG9uc2USHgoWZGVmYXVsdF9lbnZpcm9ubWVudF9pZBgBIAEoCRI1CgxwaW5uZWRfb3JkZXIYAyADKAsyHy5wdWJsaWNfYXBpLlBvc2VpZG9uUGlubmVkRW50cnlKBAgCEAMihQEKIEdldFJlbW90ZUFnZW50Q2hhdEhpc3RvcnlSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIiChpsYXN0X3Byb2Nlc3NlZF9zZXF1ZW5jZV9pZBgCIAEoDRIWCglwZWVrX29ubHkYAyABKAhIAIgBAUIMCgpfcGVla19vbmx5ItEBCiFHZXRSZW1vdGVBZ2VudENoYXRIaXN0b3J5UmVzcG9uc2USNQoMY2hhdF9oaXN0b3J5GAIgAygLMh8ucHVibGljX2FwaS5SZW1vdGVBZ2VudEV4Y2hhbmdlEhwKD3Nlc3Npb25fc3VtbWFyeRgDIAEoCUgAiAEBEjIKDHJlbW90ZV9hZ2VudBgEIAEoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRIAYgBAUISChBfc2Vzc2lvbl9zdW1tYXJ5Qg8KDV9yZW1vdGVfYWdlbnQihwEKIkdldFJlbW90ZUFnZW50SGlzdG9yeVN0cmVhbVJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEiIKGmxhc3RfcHJvY2Vzc2VkX3NlcXVlbmNlX2lkGAIgASgNEhYKCXBlZWtfb25seRgDIAEoCEgAiAEBQgwKCl9wZWVrX29ubHkiVgojR2V0UmVtb3RlQWdlbnRIaXN0b3J5U3RyZWFtUmVzcG9uc2USLwoHdXBkYXRlcxgBIAMoCzIeLnB1YmxpY19hcGkuQWdlbnRIaXN0b3J5VXBkYXRlIuEBChpHZXRTZXNzaW9uQW5hbHl0aWNzUmVxdWVzdBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEjQKB2ZpbHRlcnMYAiABKAsyIy5wdWJsaWNfYXBpLk91dGNvbWVBbmFseXRpY3NGaWx0ZXJzEhwKFGluY2x1ZGVfY29zdF9tZXRyaWNzGAMgASgIEhEKCXBhZ2Vfc2l6ZRgEIAEoDRISCgpwYWdlX3Rva2VuGAUgASgJEhAKCGFnZW50X2lkGAYgASgJIqgBChtHZXRTZXNzaW9uQW5hbHl0aWNzUmVzcG9uc2USMwoIc2Vzc2lvbnMYASADKAsyIS5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uU3VtbWFyeRI7CgxvYnNlcnZhdGlvbnMYAiADKAsyJS5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uT2JzZXJ2YXRpb24SFwoPbmV4dF9wYWdlX3Rva2VuGAMgASgJIioKFkdldFNlc3Npb25Vc2FnZVJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkijwEKF0dldFNlc3Npb25Vc2FnZVJlc3BvbnNlEjcKFXVzYWdlX2N1cnJlbnRfc2Vzc2lvbhgBIAEoCzIYLnB1YmxpY19hcGkuU2Vzc2lvblVzYWdlEjsKGXVzYWdlX3dpdGhfY2hpbGRfc2Vzc2lvbnMYAiABKAsyGC5wdWJsaWNfYXBpLlNlc3Npb25Vc2FnZSIeChxHZXRTdWJzY3JpcHRpb25CYW5uZXJSZXF1ZXN0Ik4KHUdldFN1YnNjcmlwdGlvbkJhbm5lclJlc3BvbnNlEi0KBmJhbm5lchgBIAEoCzIdLnB1YmxpY19hcGkuQmFubmVySW5mb3JtYXRpb24iHAoaR2V0U3Vic2NyaXB0aW9uSW5mb1JlcXVlc3QisQIKG0dldFN1YnNjcmlwdGlvbkluZm9SZXNwb25zZRI8CgplbnRlcnByaXNlGAEgASgLMiIucHVibGljX2FwaS5FbnRlcnByaXNlU3Vic2NyaXB0aW9uQgIYAUgAEkEKE2FjdGl2ZV9zdWJzY3JpcHRpb24YAiABKAsyHi5wdWJsaWNfYXBpLkFjdGl2ZVN1YnNjcmlwdGlvbkICGAFIABJFChVpbmFjdGl2ZV9zdWJzY3JpcHRpb24YAyABKAsyIC5wdWJsaWNfYXBpLkluYWN0aXZlU3Vic2NyaXB0aW9uQgIYAUgAEjoKE2ZlYXR1cmVfZ2F0aW5nX2luZm8YBCABKAsyHS5wdWJsaWNfYXBpLkZlYXR1cmVHYXRpbmdJbmZvQg4KDHN1YnNjcmlwdGlvbiJaChZHZXRUZW5hbnRTZWNyZXRSZXF1ZXN0EgwKBG5hbWUYASABKAkSHwoOaW5jbHVkZV92YWx1ZXMYAiABKAhCAhgBSACIAQFCEQoPX2luY2x1ZGVfdmFsdWVzIkMKF0dldFRlbmFudFNlY3JldFJlc3BvbnNlEigKBnNlY3JldBgBIAEoCzIYLnB1YmxpY19hcGkuVGVuYW50U2VjcmV0IigKF0dldFRlbmFudFNlY3JldHNSZXF1ZXN0Eg0KBW5hbWVzGAEgAygJIkUKGEdldFRlbmFudFNlY3JldHNSZXNwb25zZRIpCgdzZWNyZXRzGAEgAygLMhgucHVibGljX2FwaS5UZW5hbnRTZWNyZXQiIQofR2V0VGVuYW50VG9vbFBlcm1pc3Npb25zUmVxdWVzdCJqCiBHZXRUZW5hbnRUb29sUGVybWlzc2lvbnNSZXNwb25zZRJGChl0b29sX3Blcm1pc3Npb25zX3NldHRpbmdzGAEgASgLMiMucHVibGljX2FwaS5Ub29sUGVybWlzc2lvbnNTZXR0aW5ncyJvChtHZXRUcmlnZ2VyRXhlY3V0aW9uc1JlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCRISCgVsaW1pdBgCIAEoDUgAiAEBEhMKBm9mZnNldBgDIAEoDUgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0ImUKHEdldFRyaWdnZXJFeGVjdXRpb25zUmVzcG9uc2USMAoKZXhlY3V0aW9ucxgBIAMoCzIcLnB1YmxpY19hcGkuVHJpZ2dlckV4ZWN1dGlvbhITCgt0b3RhbF9jb3VudBgCIAEoDSKTAQoUR2V0VXNlclNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRImCgVzY29wZRgCIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSHwoOaW5jbHVkZV92YWx1ZXMYAyABKAhCAhgBSACIAQESEQoJc2VjcmV0X2lkGAQgASgJQhEKD19pbmNsdWRlX3ZhbHVlcyI/ChVHZXRVc2VyU2VjcmV0UmVzcG9uc2USJgoGc2VjcmV0GAEgASgLMhYucHVibGljX2FwaS5Vc2VyU2VjcmV0Ik4KFUdldFVzZXJTZWNyZXRzUmVxdWVzdBINCgVuYW1lcxgBIAMoCRImCgVzY29wZRgCIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUiQQoWR2V0VXNlclNlY3JldHNSZXNwb25zZRInCgdzZWNyZXRzGAEgAygLMhYucHVibGljX2FwaS5Vc2VyU2VjcmV0IkQKD0dpdERpZmZGaWxlSW5mbxIZChFjb250ZW50X2Jsb2JfbmFtZRgBIAEoCRIWCg5maWxlX2Jsb2JfbmFtZRgCIAEoCSKXAQoOR2l0SHViQ2hlY2tSdW4SCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEgoKY29uY2x1c2lvbhgEIAEoCRISCgpzdGFydGVkX2F0GAUgASgJEhQKDGNvbXBsZXRlZF9hdBgGIAEoCRILCgN1cmwYByABKAkSEAoIaHRtbF91cmwYCCABKAkidgoQR2l0SHViQ2hlY2tTdWl0ZRIQCghhcHBfbmFtZRgBIAEoCRISCgpjb25jbHVzaW9uGAIgASgJEhIKCmNyZWF0ZWRfYXQYAyABKAkSEAoIaHRtbF91cmwYBCABKAkSFgoOY2hlY2tfcnVuc191cmwYBSABKAki3wIKDEdpdEh1YkVudGl0eRIKCgJpZBgBIAEoCRIqCgR0eXBlGAIgASgOMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlUeXBlEjYKCnJlcG9zaXRvcnkYAyABKAsyIi5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVJlcG9zaXRvcnkSEQoJdGltZXN0YW1wGAQgASgJEj4KDHB1bGxfcmVxdWVzdBgFIAEoCzIjLnB1YmxpY19hcGkuR2l0SHViUHVsbFJlcXVlc3RFbnRpdHlIAIgBARI+Cgx3b3JrZmxvd19ydW4YBiABKAsyIy5wdWJsaWNfYXBpLkdpdEh1YldvcmtmbG93UnVuRW50aXR5SAGIAQESGQoMaXNfZGlzbWlzc2VkGAcgASgISAKIAQFCDwoNX3B1bGxfcmVxdWVzdEIPCg1fd29ya2Zsb3dfcnVuQg8KDV9pc19kaXNtaXNzZWQigwEKFkdpdEh1YkVudGl0eVJlcG9zaXRvcnkSDQoFb3duZXIYASABKAkSDAoEbmFtZRgCIAEoCRIRCglmdWxsX25hbWUYAyABKAkSEAoIaHRtbF91cmwYBCABKAkSFgoOZGVmYXVsdF9icmFuY2gYBSABKAkSDwoHcHJpdmF0ZRgGIAEoCCJTChBHaXRIdWJFbnRpdHlVc2VyEg0KBWxvZ2luGAEgASgJEhIKCmF2YXRhcl91cmwYAiABKAkSEAoIaHRtbF91cmwYAyABKAkSCgoCaWQYBCABKAMisgEKEkdpdEh1Yklzc3VlQ29tbWVudBIKCgJpZBgBIAEoAxIsCgZhdXRob3IYAiABKAsyHC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVVzZXISDAoEYm9keRgDIAEoCRISCgpjcmVhdGVkX2F0GAQgASgJEhIKCnVwZGF0ZWRfYXQYBSABKAkSEAoIaHRtbF91cmwYBiABKAkSGgoSYXV0aG9yX2Fzc29jaWF0aW9uGAcgASgJIsAIChdHaXRIdWJQdWxsUmVxdWVzdEVudGl0eRIOCgZudW1iZXIYASABKAUSDQoFdGl0bGUYAiABKAkSDAoEYm9keRgDIAEoCRINCgVzdGF0ZRgEIAEoCRIQCghodG1sX3VybBgFIAEoCRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnVwZGF0ZWRfYXQYByABKAkSFgoJbWVyZ2VkX2F0GAggASgJSACIAQESFgoJY2xvc2VkX2F0GAkgASgJSAGIAQESKgoEdXNlchgKIAEoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchIvCglhc3NpZ25lZXMYCyADKAsyHC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVVzZXISOQoTcmVxdWVzdGVkX3Jldmlld2VycxgMIAMoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchIQCghoZWFkX3JlZhgNIAEoCRIQCghiYXNlX3JlZhgOIAEoCRIQCghoZWFkX3NoYRgPIAEoCRIQCghiYXNlX3NoYRgQIAEoCRIOCgZtZXJnZWQYESABKAgSDQoFZHJhZnQYEiABKAgSDgoGbGFiZWxzGBMgAygJEhAKCGNvbW1lbnRzGBQgASgFEg8KB2NvbW1pdHMYFSABKAUSEQoJYWRkaXRpb25zGBYgASgFEhEKCWRlbGV0aW9ucxgXIAEoBRIVCg1jaGFuZ2VkX2ZpbGVzGBggASgFEhYKCW1lcmdlYWJsZRgZIAEoCEgCiAEBEhcKD21lcmdlYWJsZV9zdGF0ZRgaIAEoCRIyCgxjaGVja19zdWl0ZXMYGyADKAsyHC5wdWJsaWNfYXBpLkdpdEh1YkNoZWNrU3VpdGUSKgoIc3RhdHVzZXMYHCADKAsyGC5wdWJsaWNfYXBpLkdpdEh1YlN0YXR1cxI4Cg9yZXZpZXdfY29tbWVudHMYHSADKAsyHy5wdWJsaWNfYXBpLkdpdEh1YlJldmlld0NvbW1lbnQSNgoOaXNzdWVfY29tbWVudHMYHiADKAsyHi5wdWJsaWNfYXBpLkdpdEh1Yklzc3VlQ29tbWVudBIuCgpjaGVja19ydW5zGB8gAygLMhoucHVibGljX2FwaS5HaXRIdWJDaGVja1J1bhI+Cg9yZXF1aXJlZF9jaGVja3MYICABKAsyIC5wdWJsaWNfYXBpLkdpdEh1YlJlcXVpcmVkQ2hlY2tzSAOIAQESNAoNd29ya2Zsb3dfcnVucxghIAMoCzIdLnB1YmxpY19hcGkuR2l0SHViV29ya2Zsb3dSdW4SKQoHcmV2aWV3cxgiIAMoCzIYLnB1YmxpY19hcGkuR2l0SHViUmV2aWV3QgwKCl9tZXJnZWRfYXRCDAoKX2Nsb3NlZF9hdEIMCgpfbWVyZ2VhYmxlQhIKEF9yZXF1aXJlZF9jaGVja3MisQMKIkdpdEh1YlB1bGxSZXF1ZXN0VHJpZ2dlckNvbmRpdGlvbnMSFwoKcmVwb3NpdG9yeRgBIAEoCUgAiAEBEhMKBmF1dGhvchgCIAEoCUgBiAEBEhUKCGFzc2lnbmVlGAMgASgJSAKIAQESFQoIcmV2aWV3ZXIYBCABKAlIA4gBARIOCgZsYWJlbHMYBSADKAkSGgoOYWN0aXZpdHlfdHlwZXMYBiADKAlCAhgBEhIKBWRyYWZ0GAcgASgISASIAQESGwoOdGl0bGVfY29udGFpbnMYCCABKAlIBYgBARIYCgtiYXNlX2JyYW5jaBgJIAEoCUgGiAEBEhgKC2hlYWRfYnJhbmNoGAogASgJSAeIAQESEgoFZXZlbnQYCyABKAlICIgBARIPCgdhY3Rpb25zGAwgAygJQg0KC19yZXBvc2l0b3J5QgkKB19hdXRob3JCCwoJX2Fzc2lnbmVlQgsKCV9yZXZpZXdlckIICgZfZHJhZnRCEQoPX3RpdGxlX2NvbnRhaW5zQg4KDF9iYXNlX2JyYW5jaEIOCgxfaGVhZF9icmFuY2hCCAoGX2V2ZW50IrYBCg9HaXRIdWJSZWFjdGlvbnMSEAoIcGx1c19vbmUYASABKAUSEQoJbWludXNfb25lGAIgASgFEhAKCGNvbmZ1c2VkGAMgASgFEgwKBGV5ZXMYBCABKAUSDQoFaGVhcnQYBSABKAUSDgoGaG9vcmF5GAYgASgFEg0KBWxhdWdoGAcgASgFEg4KBnJvY2tldBgIIAEoBRITCgt0b3RhbF9jb3VudBgJIAEoBRILCgN1cmwYCiABKAkieAoUR2l0SHViUmVxdWlyZWRDaGVja3MSGQoRcmVxdWlyZWRfY29udGV4dHMYASADKAkSGQoRZW5mb3JjZW1lbnRfbGV2ZWwYAiABKAkSEwoLc3RyaWN0X21vZGUYAyABKAgSFQoNdGFyZ2V0X2JyYW5jaBgEIAEoCSKgAQoMR2l0SHViUmV2aWV3EgoKAmlkGAEgASgDEiwKBmF1dGhvchgCIAEoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchIMCgRib2R5GAMgASgJEg0KBXN0YXRlGAQgASgJEhQKDHN1Ym1pdHRlZF9hdBgFIAEoCRIRCgljb21taXRfaWQYBiABKAkSEAoIaHRtbF91cmwYByABKAkimQUKE0dpdEh1YlJldmlld0NvbW1lbnQSLAoGYXV0aG9yGAEgASgLMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlVc2VyEgwKBGJvZHkYAiABKAkSEgoKY3JlYXRlZF9hdBgDIAEoCRIQCghodG1sX3VybBgEIAEoCRIYCgtsaW5lX251bWJlchgFIAEoBUgAiAEBEhEKBHBhdGgYBiABKAlIAYgBARIWCglkaWZmX2h1bmsYByABKAlIAogBARIVCghwb3NpdGlvbhgIIAEoBUgDiAEBEhYKCWNvbW1pdF9pZBgJIAEoCUgEiAEBEhcKCnN0YXJ0X2xpbmUYCiABKAVIBYgBARIRCgRzaWRlGAsgASgJSAaIAQESCgoCaWQYDCABKAMSEgoKdXBkYXRlZF9hdBgNIAEoCRIuCglyZWFjdGlvbnMYDiABKAsyGy5wdWJsaWNfYXBpLkdpdEh1YlJlYWN0aW9ucxIeChZwdWxsX3JlcXVlc3RfcmV2aWV3X2lkGA8gASgDEhsKDmluX3JlcGx5X3RvX2lkGBAgASgDSAeIAQESCwoDdXJsGBEgASgJEhoKEm9yaWdpbmFsX2NvbW1pdF9pZBgSIAEoCRIaCg1vcmlnaW5hbF9saW5lGBMgASgFSAiIAQESGQoRb3JpZ2luYWxfcG9zaXRpb24YFCABKAUSFAoMc3ViamVjdF90eXBlGBUgASgJQg4KDF9saW5lX251bWJlckIHCgVfcGF0aEIMCgpfZGlmZl9odW5rQgsKCV9wb3NpdGlvbkIMCgpfY29tbWl0X2lkQg0KC19zdGFydF9saW5lQgcKBV9zaWRlQhEKD19pbl9yZXBseV90b19pZEIQCg5fb3JpZ2luYWxfbGluZSKTAQoMR2l0SHViU3RhdHVzEg8KB2NvbnRleHQYASABKAkSDQoFc3RhdGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSFwoKdGFyZ2V0X3VybBgEIAEoCUgAiAEBEhIKCmNyZWF0ZWRfYXQYBSABKAkSEgoKdXBkYXRlZF9hdBgGIAEoCUINCgtfdGFyZ2V0X3VybCIpChRHaXRIdWJUb29sRXh0cmFJbnB1dBIRCglhcGlfdG9rZW4YASABKAkihAIKF0dpdEh1YlRyaWdnZXJDb25kaXRpb25zEjEKC2VudGl0eV90eXBlGAEgASgOMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlUeXBlEkkKDHB1bGxfcmVxdWVzdBgCIAEoCzIuLnB1YmxpY19hcGkuR2l0SHViUHVsbFJlcXVlc3RUcmlnZ2VyQ29uZGl0aW9uc0gAiAEBEkkKDHdvcmtmbG93X3J1bhgDIAEoCzIuLnB1YmxpY19hcGkuR2l0SHViV29ya2Zsb3dSdW5UcmlnZ2VyQ29uZGl0aW9uc0gBiAEBQg8KDV9wdWxsX3JlcXVlc3RCDwoNX3dvcmtmbG93X3J1biK+AQoRR2l0SHViV29ya2Zsb3dSdW4SCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIMCgRwYXRoGAMgASgJEg4KBnN0YXR1cxgEIAEoCRISCgpjb25jbHVzaW9uGAUgASgJEhIKCmNyZWF0ZWRfYXQYBiABKAkSEgoKdXBkYXRlZF9hdBgHIAEoCRILCgN1cmwYCCABKAkSEAoIaHRtbF91cmwYCSABKAkSFgoOY2hlY2tfc3VpdGVfaWQYCiABKAMi6gMKF0dpdEh1YldvcmtmbG93UnVuRW50aXR5EgoKAmlkGAEgASgDEgwKBG5hbWUYAiABKAkSFQoNZGlzcGxheV90aXRsZRgDIAEoCRISCgpydW5fbnVtYmVyGAQgASgFEg0KBWV2ZW50GAUgASgJEg4KBnN0YXR1cxgGIAEoCRIXCgpjb25jbHVzaW9uGAcgASgJSACIAQESEwoLd29ya2Zsb3dfaWQYCCABKAkSFQoNd29ya2Zsb3dfbmFtZRgJIAEoCRIQCghodG1sX3VybBgKIAEoCRISCgpjcmVhdGVkX2F0GAsgASgJEhIKCnVwZGF0ZWRfYXQYDCABKAkSGwoOcnVuX3N0YXJ0ZWRfYXQYDSABKAlIAYgBARIrCgVhY3RvchgOIAEoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchI2ChB0cmlnZ2VyaW5nX2FjdG9yGA8gASgLMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlVc2VyEhMKC2hlYWRfYnJhbmNoGBAgASgJEhAKCGhlYWRfc2hhGBEgASgJEgwKBHBhdGgYEiABKAkSEwoLcnVuX2F0dGVtcHQYEyABKAVCDQoLX2NvbmNsdXNpb25CEQoPX3J1bl9zdGFydGVkX2F0IucCCiJHaXRIdWJXb3JrZmxvd1J1blRyaWdnZXJDb25kaXRpb25zEhcKCnJlcG9zaXRvcnkYASABKAlIAIgBARISCgVhY3RvchgCIAEoCUgBiAEBEh0KEHRyaWdnZXJpbmdfYWN0b3IYAyABKAlIAogBARIRCgl3b3JrZmxvd3MYBCADKAkSEgoFZXZlbnQYBSABKAlIA4gBARITCgZzdGF0dXMYBiABKAlIBIgBARIXCgpjb25jbHVzaW9uGAcgASgJSAWIAQESEwoGYnJhbmNoGAggASgJSAaIAQESGwoOdGl0bGVfY29udGFpbnMYCSABKAlIB4gBAUINCgtfcmVwb3NpdG9yeUIICgZfYWN0b3JCEwoRX3RyaWdnZXJpbmdfYWN0b3JCCAoGX2V2ZW50QgkKB19zdGF0dXNCDQoLX2NvbmNsdXNpb25CCQoHX2JyYW5jaEIRCg9fdGl0bGVfY29udGFpbnMiXwoMR2l0aHViQnJhbmNoEgwKBG5hbWUYASABKAkSLgoGY29tbWl0GAIgASgLMh4ucHVibGljX2FwaS5HaXRodWJCcmFuY2hDb21taXQSEQoJcHJvdGVjdGVkGAMgASgIIi4KEkdpdGh1YkJyYW5jaENvbW1pdBILCgNzaGEYASABKAkSCwoDdXJsGAIgASgJIlgKD0dpdGh1YkNvbW1pdFJlZhIWCg5yZXBvc2l0b3J5X3VybBgBIAEoCRIPCgdnaXRfcmVmGAIgASgJEhIKBXBhdGNoGAMgASgJSACIAQFCCAoGX3BhdGNoIpwDChFHaXRodWJQdWxsUmVxdWVzdBIOCgZudW1iZXIYASABKAUSDQoFdGl0bGUYAiABKAkSDAoEYm9keRgDIAEoCRINCgVzdGF0ZRgEIAEoCRIQCghodG1sX3VybBgFIAEoCRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnVwZGF0ZWRfYXQYByABKAkSEQoJbWVyZ2VkX2F0GAggASgJEhEKCWNsb3NlZF9hdBgJIAEoCRIkCgR1c2VyGAogASgLMhYucHVibGljX2FwaS5HaXRodWJVc2VyEhAKCGhlYWRfcmVmGAsgASgJEhAKCGJhc2VfcmVmGAwgASgJEhAKCGhlYWRfc2hhGA0gASgJEhAKCGJhc2Vfc2hhGA4gASgJEg4KBm1lcmdlZBgPIAEoCBINCgVkcmFmdBgQIAEoCBIQCghjb21tZW50cxgRIAEoBRIPCgdjb21taXRzGBIgASgFEhEKCWFkZGl0aW9ucxgTIAEoBRIRCglkZWxldGlvbnMYFCABKAUSFQoNY2hhbmdlZF9maWxlcxgVIAEoBSKPAQoaR2l0aHViUHVsbFJlcXVlc3RGaWxlRW50cnkSEAoIZmlsZW5hbWUYASABKAkSDgoGc3RhdHVzGAIgASgJEhEKCWFkZGl0aW9ucxgDIAEoBRIRCglkZWxldGlvbnMYBCABKAUSCwoDc2hhGAUgASgJEhIKBXBhdGNoGAYgASgJSACIAQFCCAoGX3BhdGNoIiUKCUdpdGh1YlJlZhILCgN1cmwYASABKAkSCwoDcmVmGAIgASgJIs0BCgpHaXRodWJSZXBvEg0KBW93bmVyGAEgASgJEgwKBG5hbWUYAiABKAkSFQoIaHRtbF91cmwYAyABKAlIAIgBARIXCgpjcmVhdGVkX2F0GAQgASgJSAGIAQESFwoKdXBkYXRlZF9hdBgFIAEoCUgCiAEBEhsKDmRlZmF1bHRfYnJhbmNoGAYgASgJSAOIAQFCCwoJX2h0bWxfdXJsQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0QhEKD19kZWZhdWx0X2JyYW5jaCJBCgpHaXRodWJVc2VyEg0KBWxvZ2luGAEgASgJEhIKCmF2YXRhcl91cmwYAiABKAkSEAoIaHRtbF91cmwYAyABKAkiFgoUSW5hY3RpdmVTdWJzY3JpcHRpb24iTQoaSW5jb3Jwb3JhdGVkRXh0ZXJuYWxTb3VyY2USEwoLc291cmNlX25hbWUYASABKAkSEQoEbGluaxgCIAEoCUgAiAEBQgcKBV9saW5rIj0KFUluZGV4ZWRDb21taXRGaWxlSW5mbxIRCglmaWxlX3BhdGgYASABKAkSEQoJYmxvYl9uYW1lGAIgASgJIjwKEUluZGV4ZWRDb21taXRJbmZvEhIKCmNvbW1pdF9zaGEYASABKAkSEwoLY29tbWl0X3RpbWUYAiABKAkiYgoYSW5zZXJ0Q2hhdEhpc3RvcnlSZXF1ZXN0EhcKD2NvbnZlcnNhdGlvbl9pZBgBIAEoCRItCglleGNoYW5nZXMYAiADKAsyGi5jaGF0LkV4Y2hhbmdlV2l0aE1ldGFkYXRhIsEBChlJbnNlcnRDaGF0SGlzdG9yeVJlc3BvbnNlEjwKB2VudHJpZXMYASADKAsyKy5wdWJsaWNfYXBpLkluc2VydENoYXRIaXN0b3J5UmVzcG9uc2UuRW50cnkaZgoFRW50cnkSDQoFaW5kZXgYASABKAMSIgoGc3RhdHVzGAIgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMSGQoMY29tcG9zaXRlX2lkGAMgASgJSACIAQFCDwoNX2NvbXBvc2l0ZV9pZCKABgoSSW5zdHJ1Y3Rpb25SZXF1ZXN0EhIKBW1vZGVsGAEgASgJSACIAQESDgoGcHJlZml4GAIgASgJEhUKDXNlbGVjdGVkX3RleHQYAyABKAkSDgoGc3VmZml4GAQgASgJEhEKBHBhdGgYBSABKAlIAYgBARITCgtpbnN0cnVjdGlvbhgGIAEoCRIRCgRsYW5nGAcgASgJSAKIAQESFgoJYmxvYl9uYW1lGAggASgJSAOIAQESGQoMcHJlZml4X2JlZ2luGAkgASgFSASIAQESFwoKc3VmZml4X2VuZBgKIAEoBUgFiAEBEhgKC3NlcXVlbmNlX2lkGAsgASgNSAaIAQESIAoFYmxvYnMYDCABKAsyES5wdWJsaWNfYXBpLkJsb2JzEioKDGNoYXRfaGlzdG9yeRgNIAMoCzIULnB1YmxpY19hcGkuRXhjaGFuZ2USFwoKY29kZV9ibG9jaxgOIAEoCUgHiAEBEh0KEHRhcmdldF9maWxlX3BhdGgYDyABKAlICIgBARIgChN0YXJnZXRfZmlsZV9jb250ZW50GBAgASgJSAmIAQESLQogY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWQYESABKAlICogBARIcCg91c2VyX2d1aWRlbGluZXMYEiABKAlIC4gBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgTIAEoCUgMiAEBQggKBl9tb2RlbEIHCgVfcGF0aEIHCgVfbGFuZ0IMCgpfYmxvYl9uYW1lQg8KDV9wcmVmaXhfYmVnaW5CDQoLX3N1ZmZpeF9lbmRCDgoMX3NlcXVlbmNlX2lkQg0KC19jb2RlX2Jsb2NrQhMKEV90YXJnZXRfZmlsZV9wYXRoQhYKFF90YXJnZXRfZmlsZV9jb250ZW50QiMKIV9jb250ZXh0X2NvZGVfZXhjaGFuZ2VfcmVxdWVzdF9pZEISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lcyKLAwoTSW5zdHJ1Y3Rpb25SZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCBIdChByZXBsYWNlbWVudF90ZXh0GAQgASgJSACIAQESIwoWcmVwbGFjZW1lbnRfc3RhcnRfbGluZRgFIAEoDUgBiAEBEiEKFHJlcGxhY2VtZW50X2VuZF9saW5lGAYgASgNSAKIAQESIQoUcmVwbGFjZW1lbnRfb2xkX3RleHQYByABKAlIA4gBARIkChdyZXBsYWNlbWVudF9zZXF1ZW5jZV9pZBgIIAEoDUgEiAEBQhMKEV9yZXBsYWNlbWVudF90ZXh0QhkKF19yZXBsYWNlbWVudF9zdGFydF9saW5lQhcKFV9yZXBsYWNlbWVudF9lbmRfbGluZUIXChVfcmVwbGFjZW1lbnRfb2xkX3RleHRCGgoYX3JlcGxhY2VtZW50X3NlcXVlbmNlX2lkIjYKG0ludGVycnVwdFJlbW90ZUFnZW50UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiTQocSW50ZXJydXB0UmVtb3RlQWdlbnRSZXNwb25zZRItCgZzdGF0dXMYASABKA4yHS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50U3RhdHVzIh8KHUlzVXNlckdpdGh1YkNvbmZpZ3VyZWRSZXF1ZXN0IocBCh5Jc1VzZXJHaXRodWJDb25maWd1cmVkUmVzcG9uc2USFQoNaXNfY29uZmlndXJlZBgBIAEoCBIRCglvYXV0aF91cmwYAiABKAkSIwobY29uZmlndXJlZF9idXRfbmVlZHNfdXBkYXRlGAMgASgIEhYKDnVwZGF0ZWRfc2NvcGVzGAQgASgJIioKDEtleVZhbHVlUGFpchILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiQQoITGFuZ3VhZ2USDAoEbmFtZRgBIAEoCRITCgt2c2NvZGVfbmFtZRgCIAEoCRISCgpleHRlbnNpb25zGAMgAygJIsIBCgxMaW5lYXJFbnRpdHkSCgoCaWQYASABKAkSKgoEdHlwZRgCIAEoDjIcLnB1YmxpY19hcGkuTGluZWFyRW50aXR5VHlwZRIRCgl0aW1lc3RhbXAYAyABKAkSMQoFaXNzdWUYBCABKAsyHS5wdWJsaWNfYXBpLkxpbmVhcklzc3VlRW50aXR5SACIAQESGQoMaXNfZGlzbWlzc2VkGAUgASgISAGIAQFCCAoGX2lzc3VlQg8KDV9pc19kaXNtaXNzZWQidQoRTGluZWFyRW50aXR5TGFiZWwSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhIKBWNvbG9yGAQgASgJSAGIAQFCDgoMX2Rlc2NyaXB0aW9uQggKBl9jb2xvciKCAQoTTGluZWFyRW50aXR5UHJvamVjdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFc3RhdGUYBCABKAkSEAoDdXJsGAUgASgJSAGIAQFCDgoMX2Rlc2NyaXB0aW9uQgYKBF91cmwiYwoQTGluZWFyRW50aXR5VGVhbRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiJ5ChBMaW5lYXJFbnRpdHlVc2VyEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEg0KBWVtYWlsGAQgASgJEhcKCmF2YXRhcl91cmwYBSABKAlIAIgBAUINCgtfYXZhdGFyX3VybCKLAQoZTGluZWFyRW50aXR5V29ya2Zsb3dTdGF0ZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHR5cGUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARISCgVjb2xvchgFIAEoCUgBiAEBQg4KDF9kZXNjcmlwdGlvbkIICgZfY29sb3Ii7wUKEUxpbmVhcklzc3VlRW50aXR5EgoKAmlkGAEgASgJEhIKCmlkZW50aWZpZXIYAiABKAkSDQoFdGl0bGUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIQCghwcmlvcml0eRgFIAEoBRILCgN1cmwYBiABKAkSEgoKY3JlYXRlZF9hdBgHIAEoCRISCgp1cGRhdGVkX2F0GAggASgJEhcKCnN0YXJ0ZWRfYXQYCSABKAlIAYgBARIZCgxjb21wbGV0ZWRfYXQYCiABKAlIAogBARIYCgtjYW5jZWxlZF9hdBgLIAEoCUgDiAEBEhUKCGR1ZV9kYXRlGAwgASgJSASIAQESFQoIZXN0aW1hdGUYDSABKAFIBYgBARItCgdjcmVhdG9yGA4gASgLMhwucHVibGljX2FwaS5MaW5lYXJFbnRpdHlVc2VyEjMKCGFzc2lnbmVlGA8gASgLMhwucHVibGljX2FwaS5MaW5lYXJFbnRpdHlVc2VySAaIAQESKgoEdGVhbRgQIAEoCzIcLnB1YmxpY19hcGkuTGluZWFyRW50aXR5VGVhbRI0CgVzdGF0ZRgRIAEoCzIlLnB1YmxpY19hcGkuTGluZWFyRW50aXR5V29ya2Zsb3dTdGF0ZRI1Cgdwcm9qZWN0GBIgASgLMh8ucHVibGljX2FwaS5MaW5lYXJFbnRpdHlQcm9qZWN0SAeIAQESLQoGbGFiZWxzGBMgAygLMh0ucHVibGljX2FwaS5MaW5lYXJFbnRpdHlMYWJlbBIVCg1jb21tZW50X2NvdW50GBQgASgFEhgKEHN1YnNjcmliZXJfY291bnQYFSABKAVCDgoMX2Rlc2NyaXB0aW9uQg0KC19zdGFydGVkX2F0Qg8KDV9jb21wbGV0ZWRfYXRCDgoMX2NhbmNlbGVkX2F0QgsKCV9kdWVfZGF0ZUILCglfZXN0aW1hdGVCCwoJX2Fzc2lnbmVlQgoKCF9wcm9qZWN0IosDChxMaW5lYXJJc3N1ZVRyaWdnZXJDb25kaXRpb25zEhEKBHRlYW0YASABKAlIAIgBARIUCgdjcmVhdG9yGAIgASgJSAGIAQESFQoIYXNzaWduZWUYAyABKAlIAogBARIOCgZzdGF0ZXMYBCADKAkSEwoLc3RhdGVfdHlwZXMYBSADKAkSEgoKcHJpb3JpdGllcxgGIAMoBRIOCgZsYWJlbHMYByADKAkSFAoHcHJvamVjdBgIIAEoCUgDiAEBEhYKDmFjdGl2aXR5X3R5cGVzGAkgAygJEhsKDnRpdGxlX2NvbnRhaW5zGAogASgJSASIAQESGQoMbWluX2VzdGltYXRlGAsgASgBSAWIAQESGQoMbWF4X2VzdGltYXRlGAwgASgBSAaIAQFCBwoFX3RlYW1CCgoIX2NyZWF0b3JCCwoJX2Fzc2lnbmVlQgoKCF9wcm9qZWN0QhEKD190aXRsZV9jb250YWluc0IPCg1fbWluX2VzdGltYXRlQg8KDV9tYXhfZXN0aW1hdGUiKQoUTGluZWFyVG9vbEV4dHJhSW5wdXQSEQoJYXBpX3Rva2VuGAEgASgJIpQBChdMaW5lYXJUcmlnZ2VyQ29uZGl0aW9ucxIxCgtlbnRpdHlfdHlwZRgBIAEoDjIcLnB1YmxpY19hcGkuTGluZWFyRW50aXR5VHlwZRI8CgVpc3N1ZRgCIAEoCzIoLnB1YmxpY19hcGkuTGluZWFySXNzdWVUcmlnZ2VyQ29uZGl0aW9uc0gAiAEBQggKBl9pc3N1ZSIeChxMaXN0QWdlbnRDYXBhYmlsaXRpZXNSZXF1ZXN0IlgKHUxpc3RBZ2VudENhcGFiaWxpdGllc1Jlc3BvbnNlEjcKEmFnZW50X2NhcGFiaWxpdGllcxgBIAMoCzIbLnB1YmxpY19hcGkuQWdlbnRDYXBhYmlsaXR5IhoKGExpc3RBZ2VudFBlcnNvbmFzUmVxdWVzdCJNChlMaXN0QWdlbnRQZXJzb25hc1Jlc3BvbnNlEjAKDmFnZW50X3BlcnNvbmFzGAEgAygLMhgucHVibGljX2FwaS5BZ2VudFBlcnNvbmEi7QIKFkxpc3RDaGF0SGlzdG9yeVJlcXVlc3QSFwoPY29udmVyc2F0aW9uX2lkGAEgASgJEjgKD3N0YXJ0X3RpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI2Cg1lbmRfdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhsKDmV4Y2x1ZGVfc2lsZW50GAQgASgISAKIAQESEgoFbGltaXQYBSABKAVIA4gBARIuCiFleGNsdWRlX3JldHJpZWRfc3RvcHBlZF9leGNoYW5nZXMYBiABKAhIBIgBAUISChBfc3RhcnRfdGltZXN0YW1wQhAKDl9lbmRfdGltZXN0YW1wQhEKD19leGNsdWRlX3NpbGVudEIICgZfbGltaXRCJAoiX2V4Y2x1ZGVfcmV0cmllZF9zdG9wcGVkX2V4Y2hhbmdlcyI/ChdMaXN0Q2hhdEhpc3RvcnlSZXNwb25zZRIkCgxjaGF0X2hpc3RvcnkYASADKAsyDi5jaGF0LkV4Y2hhbmdlIjAKGExpc3RDb252ZXJzYXRpb25zUmVxdWVzdBIUCgx3b3Jrc3BhY2VfaWQYASABKAkiUAoZTGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZRIzCg1jb252ZXJzYXRpb25zGAEgAygLMhwucHVibGljX2FwaS5Db252ZXJzYXRpb25JbmZvIiAKHkxpc3RFeHRlcm5hbFNvdXJjZVR5cGVzUmVxdWVzdCJXCh9MaXN0RXh0ZXJuYWxTb3VyY2VUeXBlc1Jlc3BvbnNlEjQKDHNvdXJjZV90eXBlcxgBIAMoDjIeLnB1YmxpY19hcGkuRXh0ZXJuYWxTb3VyY2VUeXBlImEKHUxpc3RHaXRodWJSZXBvQnJhbmNoZXNSZXF1ZXN0EiQKBHJlcG8YASABKAsyFi5wdWJsaWNfYXBpLkdpdGh1YlJlcG8SEQoEcGFnZRgCIAEoBUgAiAEBQgcKBV9wYWdlInYKHkxpc3RHaXRodWJSZXBvQnJhbmNoZXNSZXNwb25zZRIqCghicmFuY2hlcxgBIAMoCzIYLnB1YmxpY19hcGkuR2l0aHViQnJhbmNoEhUKDWhhc19uZXh0X3BhZ2UYAiABKAgSEQoJbmV4dF9wYWdlGAMgASgFIkgKKkxpc3RHaXRodWJSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyUmVxdWVzdBIRCgRwYWdlGAEgASgFSACIAQFCBwoFX3BhZ2UifgorTGlzdEdpdGh1YlJlcG9zRm9yQXV0aGVudGljYXRlZFVzZXJSZXNwb25zZRIlCgVyZXBvcxgBIAMoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbxIVCg1oYXNfbmV4dF9wYWdlGAIgASgIEhEKCW5leHRfcGFnZRgDIAEoBSJKCh1MaXN0R2l0aHViU2V0dXBTY3JpcHRzUmVxdWVzdBIpCgpnaXRodWJfcmVmGAEgASgLMhUucHVibGljX2FwaS5HaXRodWJSZWYiNgoeTGlzdEdpdGh1YlNldHVwU2NyaXB0c1Jlc3BvbnNlEhQKDHNjcmlwdF9wYXRocxgBIAMoCSKuAgobTGlzdFB1bGxSZXF1ZXN0RmlsZXNSZXF1ZXN0EhIKCnJlcG9zaXRvcnkYASABKAkSEQoJcHJfbnVtYmVyGAIgASgFEhEKBHBhZ2UYAyABKAVIAIgBARIVCghwZXJfcGFnZRgEIAEoBUgBiAEBEhoKDWluY2x1ZGVfcGF0Y2gYBSABKAhIAogBARIcCg9tYXhfcGF0Y2hfYnl0ZXMYBiABKAVIA4gBARIoChtpbmNsdWRlX3RvdGFsX2NoYW5nZWRfZmlsZXMYByABKAhIBIgBAUIHCgVfcGFnZUILCglfcGVyX3BhZ2VCEAoOX2luY2x1ZGVfcGF0Y2hCEgoQX21heF9wYXRjaF9ieXRlc0IeChxfaW5jbHVkZV90b3RhbF9jaGFuZ2VkX2ZpbGVzIscBChxMaXN0UHVsbFJlcXVlc3RGaWxlc1Jlc3BvbnNlEjUKBWZpbGVzGAEgAygLMiYucHVibGljX2FwaS5HaXRodWJQdWxsUmVxdWVzdEZpbGVFbnRyeRIQCghoYXNfbW9yZRgCIAEoCBIWCgluZXh0X3BhZ2UYAyABKAVIAIgBARIgChN0b3RhbF9jaGFuZ2VkX2ZpbGVzGAQgASgFSAGIAQFCDAoKX25leHRfcGFnZUIWChRfdG90YWxfY2hhbmdlZF9maWxlcyIZChdMaXN0UmVtb3RlQWdlbnRzUmVxdWVzdCKHAQoYTGlzdFJlbW90ZUFnZW50c1Jlc3BvbnNlEi4KDXJlbW90ZV9hZ2VudHMYASADKAsyFy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50EhkKEW1heF9yZW1vdGVfYWdlbnRzGAIgASgFEiAKGG1heF9hY3RpdmVfcmVtb3RlX2FnZW50cxgDIAEoBSJ5Ch1MaXN0UmVtb3RlQWdlbnRzU3RyZWFtUmVxdWVzdBI+ChVsYXN0X3VwZGF0ZV90aW1lc3RhbXAYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCGAoWX2xhc3RfdXBkYXRlX3RpbWVzdGFtcCJOCh5MaXN0UmVtb3RlQWdlbnRzU3RyZWFtUmVzcG9uc2USLAoHdXBkYXRlcxgBIAMoCzIbLnB1YmxpY19hcGkuQWdlbnRMaXN0VXBkYXRlImIKFkxpc3RSZW1vdGVUb29sc1JlcXVlc3QSNwoMdG9vbF9pZF9saXN0GAEgASgLMhwucHVibGljX2FwaS5SZW1vdGVUb29sSWRMaXN0SACIAQFCDwoNX3Rvb2xfaWRfbGlzdCJUChdMaXN0UmVtb3RlVG9vbHNSZXNwb25zZRI5CgV0b29scxgBIAMoCzIqLnB1YmxpY19hcGkuTGlzdFJlbW90ZVRvb2xzUmVzcG9uc2VNZXNzYWdlIogCCh5MaXN0UmVtb3RlVG9vbHNSZXNwb25zZU1lc3NhZ2USMwoPdG9vbF9kZWZpbml0aW9uGAEgASgLMhoucHVibGljX2FwaS5Ub29sRGVmaW5pdGlvbhIwCg5yZW1vdGVfdG9vbF9pZBgCIAEoDjIYLnB1YmxpY19hcGkuUmVtb3RlVG9vbElkEj8KE2F2YWlsYWJpbGl0eV9zdGF0dXMYAyABKA4yIi5wdWJsaWNfYXBpLlRvb2xBdmFpbGFiaWxpdHlTdGF0dXMSKwoLdG9vbF9zYWZldHkYBCABKA4yFi5wdWJsaWNfYXBpLlRvb2xTYWZldHkSEQoJb2F1dGhfdXJsGAUgASgJIqUCCg9MaXN0VGFnc1JlcXVlc3QSLgoIdGFnX3R5cGUYASABKA4yHC5wdWJsaWNfYXBpLkFuYWx5dGljc1RhZ1R5cGUSNgoKZGF0ZV9yYW5nZRgCIAEoCzIiLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0RhdGVSYW5nZRI4Cgxjb3N0X2ZpbHRlcnMYAyABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkZpbHRlcnMSPAoPb3V0Y29tZV9maWx0ZXJzGAQgASgLMiMucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzRmlsdGVycxIWCg5pbmNsdWRlX3ZhbHVlcxgFIAEoCBIaChJtYXhfdmFsdWVzX3Blcl90YWcYBiABKA0iQQoQTGlzdFRhZ3NSZXNwb25zZRItCgR0YWdzGAEgAygLMh8ucHVibGljX2FwaS5BbmFseXRpY3NUYWdTdW1tYXJ5Ip8BChhMaXN0VGVuYW50U2VjcmV0c1JlcXVlc3QSFAoMbmFtZV9wYXR0ZXJuGAEgASgJEioKC3RhZ19maWx0ZXJzGAIgAygLMhUucHVibGljX2FwaS5UYWdGaWx0ZXISGgoOaW5jbHVkZV92YWx1ZXMYAyABKAhCAhgBEhEKCXBhZ2Vfc2l6ZRgEIAEoBRISCgpwYWdlX3Rva2VuGAUgASgJInQKGUxpc3RUZW5hbnRTZWNyZXRzUmVzcG9uc2USKQoHc2VjcmV0cxgBIAMoCzIYLnB1YmxpY19hcGkuVGVuYW50U2VjcmV0EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCRITCgt0b3RhbF9jb3VudBgDIAEoBSIVChNMaXN0VHJpZ2dlcnNSZXF1ZXN0Ij0KFExpc3RUcmlnZ2Vyc1Jlc3BvbnNlEiUKCHRyaWdnZXJzGAEgAygLMhMucHVibGljX2FwaS5UcmlnZ2VyIukBChZMaXN0VXNlclNlY3JldHNSZXF1ZXN0EhQKDG5hbWVfcGF0dGVybhgBIAEoCRIqCgt0YWdfZmlsdGVycxgCIAMoCzIVLnB1YmxpY19hcGkuVGFnRmlsdGVyEhoKDmluY2x1ZGVfdmFsdWVzGAMgASgIQgIYARIRCglwYWdlX3NpemUYBCABKAUSEgoKcGFnZV90b2tlbhgFIAEoCRImCgVzY29wZRgGIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSFQoIc3BhY2VfaWQYByABKAlIAIgBAUILCglfc3BhY2VfaWQiyAEKF0xpc3RVc2VyU2VjcmV0c1Jlc3BvbnNlEicKB3NlY3JldHMYASADKAsyFi5wdWJsaWNfYXBpLlVzZXJTZWNyZXQSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEhMKC3RvdGFsX2NvdW50GAMgASgFEigKIHNlY3JldF9zY29wZWRfcmVzb2x1dGlvbl9lbmFibGVkGAQgASgIEiwKJHNlY3JldF9tdWx0aV9zcGFjZV90YXJnZXRpbmdfZW5hYmxlZBgFIAEoCCIXChVMaXN0V29ya3NwYWNlc1JlcXVlc3QiRwoWTGlzdFdvcmtzcGFjZXNSZXNwb25zZRItCgp3b3Jrc3BhY2VzGAEgAygLMhkucHVibGljX2FwaS5Xb3Jrc3BhY2VJbmZvIm4KHU1hcmtOb3RpZmljYXRpb25Bc1JlYWRSZXF1ZXN0EhcKD25vdGlmaWNhdGlvbl9pZBgBIAEoCRIeChFhY3Rpb25faXRlbV90aXRsZRgCIAEoCUgAiAEBQhQKEl9hY3Rpb25faXRlbV90aXRsZSIgCh5NYXJrTm90aWZpY2F0aW9uQXNSZWFkUmVzcG9uc2UijAEKF01jcENhdGFsb2dNZXRhZGF0YUVudHJ5EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEQoJYXV0aF90eXBlGAQgASgJEi8KBXN0YXRlGAUgASgOMiAucHVibGljX2FwaS5NY3BDYXRhbG9nRW50cnlTdGF0ZSLmAQoJTWNwQ29uZmlnEgoKAmlkGAEgASgJEjAKBmNvbmZpZxgCIAEoCzIgLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRNY3BDb25maWcSNAoQZW5hYmxlZF9wcm9kdWN0cxgDIAMoDjIaLnB1YmxpY19hcGkuTWNwUHJvZHVjdFR5cGUSHQoVaGFzX29hdXRoX2NyZWRlbnRpYWxzGAQgASgIEhUKCHNwYWNlX2lkGAUgASgJSACIAQESFQoIYWRkZWRfYnkYBiABKAlIAYgBAUILCglfc3BhY2VfaWRCCwoJX2FkZGVkX2J5Iq8BCglNY3BTZWNyZXQSDQoFdmFsdWUYASABKAkSLQoEdGFncxgCIAMoCzIfLnB1YmxpY19hcGkuTWNwU2VjcmV0LlRhZ3NFbnRyeRIPCgd2ZXJzaW9uGAMgASgJEiYKBXNjb3BlGAQgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKAAwoPTWNwU2VydmVyQ29uZmlnEhQKB2NvbW1hbmQYASABKAlIAIgBARIMCgRhcmdzGAIgAygJEhcKCnRpbWVvdXRfbXMYAyABKAVIAYgBARIxCgNlbnYYBCADKAsyJC5wdWJsaWNfYXBpLk1jcFNlcnZlckNvbmZpZy5FbnZFbnRyeRIkChd1c2Vfc2hlbGxfaW50ZXJwb2xhdGlvbhgFIAEoCEgCiAEBEhEKBG5hbWUYBiABKAlIA4gBARIVCghkaXNhYmxlZBgHIAEoCEgEiAEBEhEKBHR5cGUYCCABKAlIBYgBARIQCgN1cmwYCSABKAlIBogBARoqCghFbnZFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgoKCF9jb21tYW5kQg0KC190aW1lb3V0X21zQhoKGF91c2Vfc2hlbGxfaW50ZXJwb2xhdGlvbkIHCgVfbmFtZUILCglfZGlzYWJsZWRCBwoFX3R5cGVCBgoEX3VybCJSChpNY3BTZXJ2ZXJQcm9kdWN0UHJlZmVyZW5jZRI0ChBlbmFibGVkX3Byb2R1Y3RzGAEgAygOMhoucHVibGljX2FwaS5NY3BQcm9kdWN0VHlwZSJjCg9NZW1vcml6ZVJlcXVlc3QSEQoFbW9kZWwYASABKAlCAhgBEgkKAXQYAiABKAkSDAoEcGF0aBgDIAEoCRIWCglibG9iX25hbWUYBCABKAlIAIgBAUIMCgpfYmxvYl9uYW1lIisKEE1lbW9yaXplUmVzcG9uc2USFwoPbWVtX29iamVjdF9uYW1lGAEgASgJIqIBCh1NaWdyYXRlVXNlclNlY3JldFNjb3BlUmVxdWVzdBIMCgRuYW1lGAEgASgJEi0KDHNvdXJjZV9zY29wZRgCIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSLQoMdGFyZ2V0X3Njb3BlGAMgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRIVCg1kZWxldGVfc291cmNlGAQgASgIImAKHk1pZ3JhdGVVc2VyU2VjcmV0U2NvcGVSZXNwb25zZRImCgZzZWNyZXQYASABKAsyFi5wdWJsaWNfYXBpLlVzZXJTZWNyZXQSFgoOc291cmNlX2RlbGV0ZWQYAiABKAgi1AEKBU1vZGVsEiMKG3N1Z2dlc3RlZF9wcmVmaXhfY2hhcl9jb3VudBgBIAEoDRIjChtzdWdnZXN0ZWRfc3VmZml4X2NoYXJfY291bnQYAiABKA0SHwoXbWF4X21lbW9yaXplX3NpemVfYnl0ZXMYAyABKA0SDAoEbmFtZRgFIAEoCRIaCg1pbnRlcm5hbF9uYW1lGAYgASgJSACIAQESEgoKaXNfZGVmYXVsdBgHIAEoCEIQCg5faW50ZXJuYWxfbmFtZUoECAQQBUoECAoQC0oECAsQDCLPAQoMTm90aWZpY2F0aW9uEiwKBWxldmVsGAEgASgOMh0ucHVibGljX2FwaS5Ob3RpZmljYXRpb25MZXZlbBIPCgdtZXNzYWdlGAIgASgJEiwKDGFjdGlvbl9pdGVtcxgDIAMoCzIWLnB1YmxpY19hcGkuQWN0aW9uSXRlbRIXCg9ub3RpZmljYXRpb25faWQYBiABKAkSOQoMZGlzcGxheV90eXBlGAcgASgOMiMucHVibGljX2FwaS5Ob3RpZmljYXRpb25EaXNwbGF5VHlwZSIpChROb3Rpb25Ub29sRXh0cmFJbnB1dBIRCglhcGlfdG9rZW4YASABKAkiXQoWT25ib2FyZGluZ1Nlc3Npb25FdmVudBIWCg5ldmVudF90aW1lX3NlYxgBIAEoAxIXCg9ldmVudF90aW1lX25zZWMYAiABKAUSEgoKZXZlbnRfbmFtZRgDIAEoCSJRChtPbmJvYXJkaW5nU2Vzc2lvbkV2ZW50QmF0Y2gSMgoGZXZlbnRzGAEgAygLMiIucHVibGljX2FwaS5PbmJvYXJkaW5nU2Vzc2lvbkV2ZW50IiAKHk9uYm9hcmRpbmdTZXNzaW9uRXZlbnRSZXNwb25zZSL/AQoZT3V0Y29tZUFuYWx5dGljc0RhdGFQb2ludBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEjMKD291dGNvbWVfbWV0cmljcxgCIAEoCzIaLnB1YmxpY19hcGkuT3V0Y29tZU1ldHJpY3MSQgoPZ3JvdXBfYnlfdmFsdWVzGAMgASgLMikucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzR3JvdXBCeVZhbHVlcxIxCgdtZXRyaWNzGAQgASgLMiAucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzTWV0cmljcyJkChdPdXRjb21lQW5hbHl0aWNzRmlsdGVycxINCgVuYW1lcxgBIAMoCRI6Cgt0YWdfZmlsdGVycxgCIAMoCzIlLnB1YmxpY19hcGkuT3V0Y29tZUFuYWx5dGljc1RhZ0ZpbHRlciLJAgodT3V0Y29tZUFuYWx5dGljc0dyb3VwQnlWYWx1ZXMSDAoEbmFtZRgBIAEoCRJBCgR0YWdzGAIgAygLMjMucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzR3JvdXBCeVZhbHVlcy5UYWdzRW50cnkSWwoSdGFnX2Rpc3BsYXlfdmFsdWVzGAMgAygLMj8ucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzR3JvdXBCeVZhbHVlcy5UYWdEaXNwbGF5VmFsdWVzRW50cnkSFAoMZGlzcGxheV9uYW1lGAQgASgJGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjcKFVRhZ0Rpc3BsYXlWYWx1ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBInUKGU91dGNvbWVBbmFseXRpY3NUYWdGaWx0ZXISCwoDa2V5GAEgASgJEg4KBnZhbHVlcxgCIAMoCRI7CgtmaWx0ZXJfdHlwZRgDIAEoDjImLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1RhZ0ZpbHRlclR5cGUiggEKDk91dGNvbWVNZXRyaWNzEhkKEW9ic2VydmF0aW9uX2NvdW50GAEgASgEEh4KFmRpc3RpbmN0X3N1YmplY3RfY291bnQYAiABKAQSNQoHbWV0cmljcxgDIAMoCzIkLnB1YmxpY19hcGkuQWdncmVnYXRlZE91dGNvbWVNZXRyaWNzIpUEChlPdXRjb21lU2Vzc2lvbk9ic2VydmF0aW9uEhAKCGV2ZW50X2lkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHc3ViamVjdBgDIAEoCRIUCgxzdWJqZWN0X3R5cGUYBCABKAkSDgoGc291cmNlGAUgASgJEi8KC29ic2VydmVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCgl0YWdzX2pzb24YByABKAkSUAoOZWZmZWN0aXZlX3RhZ3MYCSADKAsyOC5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uT2JzZXJ2YXRpb24uRWZmZWN0aXZlVGFnc0VudHJ5EmoKHGVmZmVjdGl2ZV90YWdfZGlzcGxheV92YWx1ZXMYCiADKAsyRC5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uT2JzZXJ2YXRpb24uRWZmZWN0aXZlVGFnRGlzcGxheVZhbHVlc0VudHJ5EhUKDW1ldGFkYXRhX2pzb24YCyABKAkaNAoSRWZmZWN0aXZlVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaQAoeRWZmZWN0aXZlVGFnRGlzcGxheVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgIEAlSCnZhbHVlX2pzb24iyQQKFU91dGNvbWVTZXNzaW9uU3VtbWFyeRI1ChFmaXJzdF9vYnNlcnZlZF9hdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQbGFzdF9vYnNlcnZlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoRb2JzZXJ2YXRpb25fY291bnQYAyABKAQSHgoWZGlzdGluY3Rfc3ViamVjdF9jb3VudBgEIAEoBBIVCg1vdXRjb21lX25hbWVzGAUgAygJEkwKDmVmZmVjdGl2ZV90YWdzGAYgAygLMjQucHVibGljX2FwaS5PdXRjb21lU2Vzc2lvblN1bW1hcnkuRWZmZWN0aXZlVGFnc0VudHJ5EjEKB21ldHJpY3MYByABKAsyIC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NNZXRyaWNzEmYKHGVmZmVjdGl2ZV90YWdfZGlzcGxheV92YWx1ZXMYCCADKAsyQC5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uU3VtbWFyeS5FZmZlY3RpdmVUYWdEaXNwbGF5VmFsdWVzRW50cnkSEAoIYWdlbnRfaWQYCSABKAkaNAoSRWZmZWN0aXZlVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaQAoeRWZmZWN0aXZlVGFnRGlzcGxheVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEibwoSUGVyRmlsZUNoYW5nZVN0YXRzEhEKCWZpbGVfcGF0aBgBIAEoCRIXCg9pbnNlcnRpb25fY291bnQYAiABKAUSFgoOZGVsZXRpb25fY291bnQYAyABKAUSFQoNb2xkX2ZpbGVfcGF0aBgEIAEoCSK9AQoXUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSGgoSY2hhbmdlZF9maWxlX2NvdW50GAEgASgFEkIKGnBlcl9maWxlX2NoYW5nZV9zdGF0c19oZWFkGAIgAygLMh4ucHVibGljX2FwaS5QZXJGaWxlQ2hhbmdlU3RhdHMSQgoacGVyX2ZpbGVfY2hhbmdlX3N0YXRzX3RhaWwYAyADKAsyHi5wdWJsaWNfYXBpLlBlckZpbGVDaGFuZ2VTdGF0cyIvChlQaW5Qb3NlaWRvblNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkiHAoaUGluUG9zZWlkb25TZXNzaW9uUmVzcG9uc2UiPQoTUG9zZWlkb25QaW5uZWRFbnRyeRISCgpzZXNzaW9uX2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkiogEKEFByZWZlcmVuY2VTYW1wbGUSEwoLcmVxdWVzdF9pZHMYASADKAkSOAoGc2NvcmVzGAIgAygLMigucHVibGljX2FwaS5QcmVmZXJlbmNlU2FtcGxlLlNjb3Jlc0VudHJ5EhAKCGZlZWRiYWNrGAMgASgJGi0KC1Njb3Jlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEiGgoYUHJlZmVyZW5jZVNhbXBsZVJlc3BvbnNlIl0KFVByb2Nlc3NXZWJob29rUmVxdWVzdBISCgp3ZWJob29rX2lkGAEgASgJEg8KB2hlYWRlcnMYAiABKAkSDAoEYm9keRgDIAEoCRIRCglzb3VyY2VfaXAYBCABKAkiKQoWUHJvY2Vzc1dlYmhvb2tSZXNwb25zZRIPCgdtZXNzYWdlGAEgASgJIiMKBVJhbmdlEg0KBXN0YXJ0GAEgASgFEgsKA2VuZBgCIAEoBSJjChFSYXdSZXRyaWV2YWxRdWVyeRITCgtkZXNjcmlwdGlvbhgBIAEoCRIMCgRwYXRoGAIgASgJEhcKD2NvbnRhaW5zX3N0cmluZxgDIAEoCRISCgptYXhfY2h1bmtzGAQgASgFIoYCChFSYXdSZXRyaWV2ZWRDaHVuaxIMCgR0ZXh0GAEgASgJEgwKBHBhdGgYAiABKAkSEgoKY2hhcl9zdGFydBgDIAEoBRIQCghjaGFyX2VuZBgEIAEoBRISCgpsaW5lX3N0YXJ0GAUgASgFEhcKD2xlbmd0aF9pbl9saW5lcxgGIAEoBRIRCglibG9iX25hbWUYByABKAkSDQoFc2NvcmUYCCABKAISDgoGb3JpZ2luGAkgASgJEhYKDm1hdGNoZWRfc3RyaW5nGAogASgJEhoKEmV4dGVybmFsX3NvdXJjZV9pZBgLIAEoCRIcChRleHRlcm5hbF9zb3VyY2VfbmFtZRgMIAEoCSJeChxSZWFkR2l0aHViU2V0dXBTY3JpcHRSZXF1ZXN0EikKCmdpdGh1Yl9yZWYYASABKAsyFS5wdWJsaWNfYXBpLkdpdGh1YlJlZhITCgtzY3JpcHRfcGF0aBgCIAEoCSIwCh1SZWFkR2l0aHViU2V0dXBTY3JpcHRSZXNwb25zZRIPCgdjb250ZW50GAEgASgJIhoKGFJlYWROb3RpZmljYXRpb25zUmVxdWVzdCJMChlSZWFkTm90aWZpY2F0aW9uc1Jlc3BvbnNlEi8KDW5vdGlmaWNhdGlvbnMYASADKAsyGC5wdWJsaWNfYXBpLk5vdGlmaWNhdGlvbiLrAQoLUmVjZW5jeUluZm8SNQoRdGFiX3N3aXRjaF9ldmVudHMYASADKAsyGi5wdWJsaWNfYXBpLlRhYlN3aXRjaEV2ZW50EjcKEmdpdF9kaWZmX2ZpbGVfaW5mbxgCIAMoCzIbLnB1YmxpY19hcGkuR2l0RGlmZkZpbGVJbmZvEjMKDnJlY2VudF9jaGFuZ2VzGAMgAygLMhsucHVibGljX2FwaS5SZXBsYWNlbWVudFRleHQSNwoPdmlld2VkX2NvbnRlbnRzGAQgAygLMh4ucHVibGljX2FwaS5WaWV3ZWRDb250ZW50RXZlbnQicQokUmVjb3JkUG9zZWlkb25BbmFseXRpY3NFdmVudHNSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJEjcKBmV2ZW50cxgCIAMoCzInLnJlcXVlc3RfaW5zaWdodC5Qb3NlaWRvbkFuYWx5dGljc0V2ZW50IicKJVJlY29yZFBvc2VpZG9uQW5hbHl0aWNzRXZlbnRzUmVzcG9uc2UiSwoaUmVjb3JkUmVxdWVzdEV2ZW50c1JlcXVlc3QSLQoGZXZlbnRzGAEgAygLMh0ucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RFdmVudCIdChtSZWNvcmRSZXF1ZXN0RXZlbnRzUmVzcG9uc2UiSwoaUmVjb3JkU2Vzc2lvbkV2ZW50c1JlcXVlc3QSLQoGZXZlbnRzGAEgAygLMh0ucmVxdWVzdF9pbnNpZ2h0LlNlc3Npb25FdmVudCIdChtSZWNvcmRTZXNzaW9uRXZlbnRzUmVzcG9uc2UidgojUmVnaXN0ZXJJbmRleGVkQ29tbWl0QmxvYnNldFJlcXVlc3QSLQoGY29tbWl0GAEgASgLMh0ucHVibGljX2FwaS5JbmRleGVkQ29tbWl0SW5mbxIgCgVibG9icxgCIAEoCzIRLnB1YmxpY19hcGkuQmxvYnMiNwokUmVnaXN0ZXJJbmRleGVkQ29tbWl0QmxvYnNldFJlc3BvbnNlEg8KB2NyZWF0ZWQYASABKAgi6AQKC1JlbW90ZUFnZW50EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRI+Cg93b3Jrc3BhY2Vfc2V0dXAYAiABKAsyJS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50V29ya3NwYWNlU2V0dXASLQoGc3RhdHVzGAMgASgOMh0ucHVibGljX2FwaS5SZW1vdGVBZ2VudFN0YXR1cxIuCgpzdGFydGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXNzaW9uX3N1bW1hcnkYBiABKAkSFgoOdHVybl9zdW1tYXJpZXMYByADKAkSOQoKc3NoX2NvbmZpZxgIIAEoCzIgLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRTU0hDb25maWdIAIgBARIiChVpc19zZXR1cF9zY3JpcHRfYWdlbnQYCSABKAhIAYgBARIYCgtoYXNfdXBkYXRlcxgKIAEoCEgCiAEBEkAKEHdvcmtzcGFjZV9zdGF0dXMYCyABKA4yJi5wdWJsaWNfYXBpLlJlbW90ZUFnZW50V29ya3NwYWNlU3RhdHVzEi4KCmV4cGlyZXNfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKBXRpdGxlGA0gASgJSAOIAQFCDQoLX3NzaF9jb25maWdCGAoWX2lzX3NldHVwX3NjcmlwdF9hZ2VudEIOCgxfaGFzX3VwZGF0ZXNCCAoGX3RpdGxlIksKG1JlbW90ZUFnZW50QWRkU1NIS2V5UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSEwoLcHVibGljX2tleXMYAiADKAkiVAocUmVtb3RlQWdlbnRBZGRTU0hLZXlSZXNwb25zZRI0Cgpzc2hfY29uZmlnGAEgASgLMiAucHVibGljX2FwaS5SZW1vdGVBZ2VudFNTSENvbmZpZyJ1ChZSZW1vdGVBZ2VudENoYXRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRJCCg9yZXF1ZXN0X2RldGFpbHMYAiABKAsyKS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50Q2hhdFJlcXVlc3REZXRhaWxzIp0CCh1SZW1vdGVBZ2VudENoYXRSZXF1ZXN0RGV0YWlscxIyCg1yZXF1ZXN0X25vZGVzGAEgAygLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGUSHAoPdXNlcl9ndWlkZWxpbmVzGAIgASgJSACIAQESIQoUd29ya3NwYWNlX2d1aWRlbGluZXMYAyABKAlIAYgBARIVCghtb2RlbF9pZBgFIAEoCUgCiAEBEjAKC21jcF9zZXJ2ZXJzGAYgAygLMhsucHVibGljX2FwaS5NY3BTZXJ2ZXJDb25maWdCEgoQX3VzZXJfZ3VpZGVsaW5lc0IXChVfd29ya3NwYWNlX2d1aWRlbGluZXNCCwoJX21vZGVsX2lkSgQIBBAFIhkKF1JlbW90ZUFnZW50Q2hhdFJlc3BvbnNlIsgCChNSZW1vdGVBZ2VudEV4Y2hhbmdlEiYKCGV4Y2hhbmdlGAEgASgLMhQucHVibGljX2FwaS5FeGNoYW5nZRIuCg1jaGFuZ2VkX2ZpbGVzGAIgAygLMhcucHVibGljX2FwaS5DaGFuZ2VkRmlsZRITCgtzZXF1ZW5jZV9pZBgDIAEoDRIZCgx0dXJuX3N1bW1hcnkYBCABKAlIAIgBARIvCgtmaW5pc2hlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHQoVY2hhbmdlZF9maWxlc19za2lwcGVkGAYgAygJEigKG2NoYW5nZWRfZmlsZXNfc2tpcHBlZF9jb3VudBgHIAEoDUgBiAEBQg8KDV90dXJuX3N1bW1hcnlCHgocX2NoYW5nZWRfZmlsZXNfc2tpcHBlZF9jb3VudCJwCiFSZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeVJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEhkKEXN0YXJ0X3NlcXVlbmNlX2lkGAIgASgNEhcKD2VuZF9zZXF1ZW5jZV9pZBgDIAEoDSJjCiJSZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeVJlc3BvbnNlEj0KEWRpZmZfZGVzY3JpcHRpb25zGAEgAygLMiIucHVibGljX2FwaS5EaWZmRXhwbGFuYXRpb25TZWN0aW9uIpcEChRSZW1vdGVBZ2VudE1jcENvbmZpZxIUCgdjb21tYW5kGAEgASgJSACIAQESDAoEYXJncxgCIAMoCRIXCgp0aW1lb3V0X21zGAMgASgFSAGIAQESNgoDZW52GAQgAygLMikucHVibGljX2FwaS5SZW1vdGVBZ2VudE1jcENvbmZpZy5FbnZFbnRyeRIkChd1c2Vfc2hlbGxfaW50ZXJwb2xhdGlvbhgFIAEoCEgCiAEBEhEKBG5hbWUYBiABKAlIA4gBARIVCghkaXNhYmxlZBgHIAEoCEgEiAEBEhEKBHR5cGUYCCABKAlIBYgBARIQCgN1cmwYCSABKAlIBogBARIvCglhdXRoX3R5cGUYCiABKA4yFy5wdWJsaWNfYXBpLk1jcEF1dGhUeXBlSAeIAQESFQoIaWNvbl91cmwYCyABKAlICIgBARIYCgtkZXNjcmlwdGlvbhgMIAEoCUgJiAEBGioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCgoIX2NvbW1hbmRCDQoLX3RpbWVvdXRfbXNCGgoYX3VzZV9zaGVsbF9pbnRlcnBvbGF0aW9uQgcKBV9uYW1lQgsKCV9kaXNhYmxlZEIHCgVfdHlwZUIGCgRfdXJsQgwKCl9hdXRoX3R5cGVCCwoJX2ljb25fdXJsQg4KDF9kZXNjcmlwdGlvbiIyChdSZW1vdGVBZ2VudFBhdXNlUmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiGgoYUmVtb3RlQWdlbnRQYXVzZVJlc3BvbnNlInUKHFJlbW90ZUFnZW50UmVzdW1lSGludFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEjwKC2hpbnRfcmVhc29uGAIgASgOMicucHVibGljX2FwaS5SZW1vdGVBZ2VudFJlc3VtZUhpbnRSZWFzb24iNwodUmVtb3RlQWdlbnRSZXN1bWVIaW50UmVzcG9uc2USFgoOcmVzdW1lX3N0YXJ0ZWQYASABKAgiMwoYUmVtb3RlQWdlbnRSZXN1bWVSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIbChlSZW1vdGVBZ2VudFJlc3VtZVJlc3BvbnNlInYKFFJlbW90ZUFnZW50U1NIQ29uZmlnEhMKC3B1YmxpY19rZXlzGAEgAygJEhAKCGhvc3RuYW1lGAIgASgJEjcKEnNzaF9jb25maWdfb3B0aW9ucxgDIAMoCzIbLnB1YmxpY19hcGkuU1NIQ29uZmlnT3B0aW9uIrwBCh9SZW1vdGVBZ2VudFdvcmtzcGFjZUxvZ3NSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIgChNsYXN0X3Byb2Nlc3NlZF9zdGVwGAIgASgNSACIAQESJwoabGFzdF9wcm9jZXNzZWRfc2VxdWVuY2VfaWQYAyABKA1IAYgBAUIWChRfbGFzdF9wcm9jZXNzZWRfc3RlcEIdChtfbGFzdF9wcm9jZXNzZWRfc2VxdWVuY2VfaWQigwEKIFJlbW90ZUFnZW50V29ya3NwYWNlTG9nc1Jlc3BvbnNlEhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRJGChZ3b3Jrc3BhY2Vfc2V0dXBfc3RhdHVzGAMgASgLMiYucHVibGljX2FwaS5SZW1vdGVXb3Jrc3BhY2VTZXR1cFN0YXR1cyLjAQoZUmVtb3RlQWdlbnRXb3Jrc3BhY2VTZXR1cBI4ChFnaXRodWJfY29tbWl0X3JlZhgBIAEoCzIbLnB1YmxpY19hcGkuR2l0aHViQ29tbWl0UmVmSAASSAoKZ2l0X2NvbmZpZxgCIAMoCzI0LnB1YmxpY19hcGkuUmVtb3RlQWdlbnRXb3Jrc3BhY2VTZXR1cC5HaXRDb25maWdFbnRyeRowCg5HaXRDb25maWdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQhAKDnN0YXJ0aW5nX2ZpbGVzIj4KEFJlbW90ZVRvb2xJZExpc3QSKgoIdG9vbF9pZHMYASADKA4yGC5wdWJsaWNfYXBpLlJlbW90ZVRvb2xJZCJRChpSZW1vdGVXb3Jrc3BhY2VTZXR1cFN0YXR1cxIzCgVzdGVwcxgBIAMoCzIkLnB1YmxpY19hcGkuUmVtb3RlV29ya3NwYWNlU2V0dXBTdGVwIqgBChhSZW1vdGVXb3Jrc3BhY2VTZXR1cFN0ZXASGAoQc3RlcF9kZXNjcmlwdGlvbhgBIAEoCRIMCgRsb2dzGAIgASgJEjoKBnN0YXR1cxgDIAEoDjIqLnB1YmxpY19hcGkuUmVtb3RlV29ya3NwYWNlU2V0dXBTdGVwU3RhdHVzEhMKC3NlcXVlbmNlX2lkGAQgASgNEhMKC3N0ZXBfbnVtYmVyGAUgASgNIksKHFJlbW92ZU1jcFRlbmFudENvbmZpZ1JlcXVlc3QSEQoJY29uZmlnX2lkGAEgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAiABKAkiQQodUmVtb3ZlTWNwVGVuYW50Q29uZmlnUmVzcG9uc2USDwoHcmVtb3ZlZBgBIAEoCBIPCgd2ZXJzaW9uGAIgASgJIkkKGlJlbW92ZU1jcFVzZXJDb25maWdSZXF1ZXN0EhEKCWNvbmZpZ19pZBgBIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAIgASgJIj8KG1JlbW92ZU1jcFVzZXJDb25maWdSZXNwb25zZRIPCgdyZW1vdmVkGAEgASgIEg8KB3ZlcnNpb24YAiABKAkiPgoXUmVuYW1lVXNlclNlY3JldFJlcXVlc3QSEQoJc2VjcmV0X2lkGAEgASgJEhAKCG5ld19uYW1lGAIgASgJIkIKGFJlbmFtZVVzZXJTZWNyZXRSZXNwb25zZRImCgZzZWNyZXQYASABKAsyFi5wdWJsaWNfYXBpLlVzZXJTZWNyZXQihQIKD1JlcGxhY2VtZW50VGV4dBIRCglibG9iX25hbWUYASABKAkSDAoEcGF0aBgCIAEoCRISCgpjaGFyX3N0YXJ0GAMgASgNEhAKCGNoYXJfZW5kGAQgASgNEhgKEHJlcGxhY2VtZW50X3RleHQYBSABKAkSFwoPcHJlc2VudF9pbl9ibG9iGAYgASgIEh8KEmV4cGVjdGVkX2Jsb2JfbmFtZRgHIAEoCUgAiAEBEjIKCXRpbWVzdGFtcBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBAUIVChNfZXhwZWN0ZWRfYmxvYl9uYW1lQgwKCl90aW1lc3RhbXAirQEKElJlcG9ydEVycm9yUmVxdWVzdBIgChNvcmlnaW5hbF9yZXF1ZXN0X2lkGAEgASgJSACIAQESGQoRc2FuaXRpemVkX21lc3NhZ2UYAiABKAkSEwoLc3RhY2tfdHJhY2UYAyABKAkSLQoLZGlhZ25vc3RpY3MYBCADKAsyGC5wdWJsaWNfYXBpLktleVZhbHVlUGFpckIWChRfb3JpZ2luYWxfcmVxdWVzdF9pZCIVChNSZXBvcnRFcnJvclJlc3BvbnNlIqUBChpSZXBvcnRGZWF0dXJlVmVjdG9yUmVxdWVzdBJRCg5mZWF0dXJlX3ZlY3RvchgBIAMoCzI5LnB1YmxpY19hcGkuUmVwb3J0RmVhdHVyZVZlY3RvclJlcXVlc3QuRmVhdHVyZVZlY3RvckVudHJ5GjQKEkZlYXR1cmVWZWN0b3JFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAk6AjgBIh0KG1JlcG9ydEZlYXR1cmVWZWN0b3JSZXNwb25zZSJMChtSZXBvc2l0b3J5QWxsb3dsaXN0U2V0dGluZ3MSFwoPcmVwb3NpdG9yeV91cmxzGAEgAygJEhQKDGlzX2RlbnlfbGlzdBgCIAEoCCJ5ChJSZXNvbHZlQ29tcGxldGlvbnMSHAoLY2xpZW50X25hbWUYASABKAlCAhgBSACIAQESNQoLcmVzb2x1dGlvbnMYAiADKAsyIC5wdWJsaWNfYXBpLkNvbXBsZXRpb25SZXNvbHV0aW9uQg4KDF9jbGllbnRfbmFtZSIVChNSZXNvbHZlRWRpdFJlc3BvbnNlIiAKHlJldm9rZUN1cnJlbnRVc2VyVG9rZW5zUmVxdWVzdCI5Ch9SZXZva2VDdXJyZW50VXNlclRva2Vuc1Jlc3BvbnNlEhYKDnRva2Vuc19kZWxldGVkGAEgASgFIkQKF1Jldm9rZVRvb2xBY2Nlc3NSZXF1ZXN0EikKB3Rvb2xfaWQYASABKA4yGC5wdWJsaWNfYXBpLlJlbW90ZVRvb2xJZCJOChhSZXZva2VUb29sQWNjZXNzUmVzcG9uc2USMgoGc3RhdHVzGAEgASgOMiIucHVibGljX2FwaS5SZXZva2VUb29sQWNjZXNzU3RhdHVzInMKBFJ1bGUSIgoEdHlwZRgBIAEoDjIULnB1YmxpY19hcGkuUnVsZVR5cGUSDAoEcGF0aBgCIAEoCRIPCgdjb250ZW50GAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIrYDChRSdW5SZW1vdGVUb29sUmVxdWVzdBJJChphdGxhc3NpYW5fdG9vbF9leHRyYV9pbnB1dBgEIAEoCzIjLnB1YmxpY19hcGkuQXRsYXNzaWFuVG9vbEV4dHJhSW5wdXRIABJDChdub3Rpb25fdG9vbF9leHRyYV9pbnB1dBgFIAEoCzIgLnB1YmxpY19hcGkuTm90aW9uVG9vbEV4dHJhSW5wdXRIABJDChdsaW5lYXJfdG9vbF9leHRyYV9pbnB1dBgGIAEoCzIgLnB1YmxpY19hcGkuTGluZWFyVG9vbEV4dHJhSW5wdXRIABJDChdnaXRodWJfdG9vbF9leHRyYV9pbnB1dBgHIAEoCzIgLnB1YmxpY19hcGkuR2l0SHViVG9vbEV4dHJhSW5wdXRIABIVCgl0b29sX25hbWUYASABKAlCAhgBEhcKD3Rvb2xfaW5wdXRfanNvbhgCIAEoCRIuCgd0b29sX2lkGAMgASgOMhgucHVibGljX2FwaS5SZW1vdGVUb29sSWRIAYgBAUISChBleHRyYV90b29sX2lucHV0QgoKCF90b29sX2lkSgQICBAJIsMCChVSdW5SZW1vdGVUb29sUmVzcG9uc2USEwoLdG9vbF9vdXRwdXQYASABKAkSGwoTdG9vbF9yZXN1bHRfbWVzc2FnZRgCIAEoCRIUCghpc19lcnJvchgDIAEoCEICGAESNAoGc3RhdHVzGAQgASgOMiQucHVibGljX2FwaS5SZW1vdGVUb29sUmVzcG9uc2VTdGF0dXMSIwoWY29tcHJlc3NlZF9mdWxsX291dHB1dBgFIAEoCUgAiAEBEh0KEGZ1bGxfb3V0cHV0X3NpemUYBiABKANIAYgBARI4Cg1jb250ZW50X25vZGVzGAcgAygLMiEucHVibGljX2FwaS5Ub29sUmVzdWx0Q29udGVudE5vZGVCGQoXX2NvbXByZXNzZWRfZnVsbF9vdXRwdXRCEwoRX2Z1bGxfb3V0cHV0X3NpemUiLQoPU1NIQ29uZmlnT3B0aW9uEgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCSJdCg9TYXZlQ2hhdFJlcXVlc3QSFwoPY29udmVyc2F0aW9uX2lkGAEgASgJEiIKBGNoYXQYAiADKAsyFC5wdWJsaWNfYXBpLkV4Y2hhbmdlEg0KBXRpdGxlGAMgASgJIi0KEFNhdmVDaGF0UmVzcG9uc2USDAoEdXVpZBgBIAEoCRILCgN1cmwYAiABKAkiqAEKDlNjaGVkdWxlRW50aXR5EgoKAmlkGAEgASgJEiwKBHR5cGUYAiABKA4yHi5wdWJsaWNfYXBpLlNjaGVkdWxlRW50aXR5VHlwZRIRCgl0aW1lc3RhbXAYAyABKAkSOwoJZXhlY3V0aW9uGAQgASgLMiMucHVibGljX2FwaS5TY2hlZHVsZUV4ZWN1dGlvbkVudGl0eUgAiAEBQgwKCl9leGVjdXRpb24i3gEKF1NjaGVkdWxlRXhlY3V0aW9uRW50aXR5EhIKCnRyaWdnZXJfaWQYASABKAkSFwoPY3Jvbl9leHByZXNzaW9uGAIgASgJEhYKDmV4ZWN1dGlvbl90aW1lGAMgASgJEhUKCHRpbWV6b25lGAQgASgJSACIAQESFwoKc3RhcnRfZGF0ZRgFIAEoCUgBiAEBEhUKCGVuZF9kYXRlGAYgASgJSAKIAQESDgoGc3RhdHVzGAcgASgJQgsKCV90aW1lem9uZUINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGUihgIKGVNjaGVkdWxlVHJpZ2dlckNvbmRpdGlvbnMSFwoPY3Jvbl9leHByZXNzaW9uGAEgASgJEhUKCHRpbWV6b25lGAIgASgJSACIAQESMwoKc3RhcnRfZGF0ZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIxCghlbmRfZGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIYCgtkZXNjcmlwdGlvbhgFIAEoCUgDiAEBQgsKCV90aW1lem9uZUINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGVCDgoMX2Rlc2NyaXB0aW9uIh4KDFNjcmlwdFBvbGljeRIOCgZzY3JpcHQYASABKAkiYwocU2VhcmNoRXh0ZXJuYWxTb3VyY2VzUmVxdWVzdBINCgVxdWVyeRgBIAEoCRI0Cgxzb3VyY2VfdHlwZXMYAiADKA4yHi5wdWJsaWNfYXBpLkV4dGVybmFsU291cmNlVHlwZSJMCh1TZWFyY2hFeHRlcm5hbFNvdXJjZXNSZXNwb25zZRIrCgdzb3VyY2VzGAEgAygLMhoucHVibGljX2FwaS5FeHRlcm5hbFNvdXJjZSJECgxTZXNzaW9uVXNhZ2USNAoLdG90YWxfdXNhZ2UYASABKAsyHy5wdWJsaWNfYXBpLlNlc3Npb25Vc2FnZU1ldHJpY3MiuAEKE1Nlc3Npb25Vc2FnZU1ldHJpY3MSIwobZXN0aW1hdGVkX2N1c3RvbWVyX2Nvc3RfdXNkGAEgASgJEhgKEGNyZWRpdHNfY29uc3VtZWQYAiABKAkSFAoMaW5wdXRfdG9rZW5zGAMgASgEEhUKDW91dHB1dF90b2tlbnMYBCABKAQSGQoRY2FjaGVfcmVhZF90b2tlbnMYBSABKAQSGgoSY2FjaGVfd3JpdGVfdG9rZW5zGAYgASgEIiAKEFNpbXBsZVBlcm1pc3Npb24SDAoEdHlwZRgBIAEoCSI8CgVTa2lsbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCGxvY2F0aW9uGAMgASgJIuACChRTbWFydFBhc3RlUmVzb2x1dGlvbhISCgpyZXF1ZXN0X2lkGAEgASgJEhoKEmlzX2FjY2VwdGVkX2NodW5rcxgCIAMoCBIVCg1pc19hY2NlcHRfYWxsGAMgASgIEhUKDWlzX3JlamVjdF9hbGwYBCABKAgSIAoYaW5pdGlhbF9yZXF1ZXN0X3RpbWVfc2VjGAUgASgDEiEKGWluaXRpYWxfcmVxdWVzdF90aW1lX25zZWMYBiABKAUSHgoWc3RyZWFtX2ZpbmlzaF90aW1lX3NlYxgHIAEoAxIfChdzdHJlYW1fZmluaXNoX3RpbWVfbnNlYxgIIAEoBRIWCg5hcHBseV90aW1lX3NlYxgJIAEoAxIXCg9hcHBseV90aW1lX25zZWMYCiABKAUSGAoQcmVzb2x2ZV90aW1lX3NlYxgLIAEoAxIZChFyZXNvbHZlX3RpbWVfbnNlYxgMIAEoBSIeChxTbWFydFBhc3RlUmVzb2x1dGlvblJlc3BvbnNlIjoKF1N5c3RlbVByb21wdFJlcGxhY2VtZW50Eg4KBnNlYXJjaBgBIAEoCRIPCgdyZXBsYWNlGAIgASgJIjYKDlRhYlN3aXRjaEV2ZW50EgwKBHBhdGgYASABKAkSFgoOZmlsZV9ibG9iX25hbWUYAiABKAkiSwoJVGFnRmlsdGVyEgsKA2tleRgBIAEoCRIOCgZ2YWx1ZXMYAiADKAkSEQoJbWF0Y2hfYW55GAMgASgIEg4KBmludmVydBgEIAEoCCLlAgoMVGVuYW50U2VjcmV0EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSMAoEdGFncxgDIAMoCzIiLnB1YmxpY19hcGkuVGVuYW50U2VjcmV0LlRhZ3NFbnRyeRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtkZXNjcmlwdGlvbhgGIAEoCRIPCgd2ZXJzaW9uGAcgASgJEhgKEHZhbHVlX3NpemVfYnl0ZXMYCCABKAUSEgoKY3JlYXRlZF9ieRgJIAEoCRIRCglzZWNyZXRfaWQYCiABKAkSEgoKb2xhY19yZWFkeRgLIAEoCBorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJGCgxUZXJtaW5hbEluZm8SEwoLdGVybWluYWxfaWQYASABKA0SIQoZY3VycmVudF93b3JraW5nX2RpcmVjdG9yeRgCIAEoCSJGChlUZXN0VG9vbENvbm5lY3Rpb25SZXF1ZXN0EikKB3Rvb2xfaWQYASABKA4yGC5wdWJsaWNfYXBpLlJlbW90ZVRvb2xJZCJSChpUZXN0VG9vbENvbm5lY3Rpb25SZXNwb25zZRI0CgZzdGF0dXMYASABKA4yJC5wdWJsaWNfYXBpLlRlc3RUb29sQ29ubmVjdGlvblN0YXR1cyJOCg5Ub29sRGVmaW5pdGlvbhIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhkKEWlucHV0X3NjaGVtYV9qc29uGAMgASgJIocCChJUb29sUGVybWlzc2lvblJ1bGUSOQoRc2ltcGxlX3Blcm1pc3Npb24YAiABKAsyHC5wdWJsaWNfYXBpLlNpbXBsZVBlcm1pc3Npb25IABIzCg53ZWJob29rX3BvbGljeRgDIAEoCzIZLnB1YmxpY19hcGkuV2ViaG9va1BvbGljeUgAEjEKDXNjcmlwdF9wb2xpY3kYBCABKAsyGC5wdWJsaWNfYXBpLlNjcmlwdFBvbGljeUgAEhEKCXRvb2xfbmFtZRgBIAEoCRISCgpldmVudF90eXBlGAUgASgJEhkKEXNoZWxsX2lucHV0X3JlZ2V4GAYgASgJQgwKCnBlcm1pc3Npb24iSAoXVG9vbFBlcm1pc3Npb25zU2V0dGluZ3MSLQoFcnVsZXMYASADKAsyHi5wdWJsaWNfYXBpLlRvb2xQZXJtaXNzaW9uUnVsZSLEAQoVVG9vbFJlc3VsdENvbnRlbnROb2RlEjMKBHR5cGUYASABKA4yJS5wdWJsaWNfYXBpLlRvb2xSZXN1bHRDb250ZW50Tm9kZVR5cGUSGQoMdGV4dF9jb250ZW50GAIgASgJSACIAQESOAoNaW1hZ2VfY29udGVudBgDIAEoCzIcLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RJbWFnZUgBiAEBQg8KDV90ZXh0X2NvbnRlbnRCEAoOX2ltYWdlX2NvbnRlbnQi3wIKB1RyaWdnZXISEgoKdHJpZ2dlcl9pZBgBIAEoCRI3Cg1jb25maWd1cmF0aW9uGAIgASgLMiAucHVibGljX2FwaS5UcmlnZ2VyQ29uZmlndXJhdGlvbhIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9leGVjdXRpb25fY291bnQYBSABKA0SOgoRbGFzdF9leGVjdXRpb25fYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESIgoVbGFzdF9leGVjdXRpb25fc3RhdHVzGAcgASgJSAGIAQFCFAoSX2xhc3RfZXhlY3V0aW9uX2F0QhgKFl9sYXN0X2V4ZWN1dGlvbl9zdGF0dXMimAIKEVRyaWdnZXJDb25kaXRpb25zEi4KBHR5cGUYASABKA4yIC5wdWJsaWNfYXBpLlRyaWdnZXJDb25kaXRpb25UeXBlEjgKBmdpdGh1YhgCIAEoCzIjLnB1YmxpY19hcGkuR2l0SHViVHJpZ2dlckNvbmRpdGlvbnNIAIgBARI4CgZsaW5lYXIYAyABKAsyIy5wdWJsaWNfYXBpLkxpbmVhclRyaWdnZXJDb25kaXRpb25zSAGIAQESPAoIc2NoZWR1bGUYBCABKAsyJS5wdWJsaWNfYXBpLlNjaGVkdWxlVHJpZ2dlckNvbmRpdGlvbnNIAogBAUIJCgdfZ2l0aHViQgkKB19saW5lYXJCCwoJX3NjaGVkdWxlIocDChRUcmlnZ2VyQ29uZmlndXJhdGlvbhIMCgRuYW1lGAEgASgJEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQESLQoMZXZlbnRfc291cmNlGAMgASgOMhcucHVibGljX2FwaS5FdmVudFNvdXJjZRIxCgpjb25kaXRpb25zGAQgASgLMh0ucHVibGljX2FwaS5UcmlnZ2VyQ29uZGl0aW9ucxItCgxhZ2VudF9jb25maWcYBSABKAsyFy5wdWJsaWNfYXBpLkFnZW50Q29uZmlnEhQKB2VuYWJsZWQYBiABKAhIAYgBARIYCgt0ZW1wbGF0ZV9pZBgHIAEoCUgCiAEBEhoKDXRlbXBsYXRlX25hbWUYCCABKAlIA4gBARIaCg10ZW1wbGF0ZV9qc29uGAkgASgJSASIAQFCDgoMX2Rlc2NyaXB0aW9uQgoKCF9lbmFibGVkQg4KDF90ZW1wbGF0ZV9pZEIQCg5fdGVtcGxhdGVfbmFtZUIQCg5fdGVtcGxhdGVfanNvbiLUAgoQVHJpZ2dlckV4ZWN1dGlvbhIUCgxleGVjdXRpb25faWQYASABKAkSEgoKdHJpZ2dlcl9pZBgCIAEoCRIQCghldmVudF9pZBgDIAEoCRIcCg9yZW1vdGVfYWdlbnRfaWQYBCABKAlIAIgBARIuCgpzdGFydGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgxjb21wbGV0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgHIAEoCUgCiAEBEhoKDWV2ZW50X3BheWxvYWQYCCABKAlIA4gBAUISChBfcmVtb3RlX2FnZW50X2lkQg8KDV9jb21wbGV0ZWRfYXRCEAoOX2Vycm9yX21lc3NhZ2VCEAoOX2V2ZW50X3BheWxvYWQiMQobVW5waW5Qb3NlaWRvblNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkiHgocVW5waW5Qb3NlaWRvblNlc3Npb25SZXNwb25zZSKOAQoZVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdBIUCgx3b3Jrc3BhY2VfaWQYASABKAkSFwoPY29udmVyc2F0aW9uX2lkGAIgASgJEhIKBXRpdGxlGAMgASgJSACIAQESFgoJaXNfcGlubmVkGAQgASgISAGIAQFCCAoGX3RpdGxlQgwKCl9pc19waW5uZWQiUAoaVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2USMgoMY29udmVyc2F0aW9uGAEgASgLMhwucHVibGljX2FwaS5Db252ZXJzYXRpb25JbmZvIkQKI1VwZGF0ZVBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXF1ZXN0Eh0KFWRlZmF1bHRfYmFzZV9pbWFnZV9pZBgBIAEoCSImCiRVcGRhdGVQb3NlaWRvblRlbmFudFNldHRpbmdzUmVzcG9uc2UiQwohVXBkYXRlUG9zZWlkb25Vc2VyU2V0dGluZ3NSZXF1ZXN0Eh4KFmRlZmF1bHRfZW52aXJvbm1lbnRfaWQYASABKAkiJAoiVXBkYXRlUG9zZWlkb25Vc2VyU2V0dGluZ3NSZXNwb25zZSJZChhVcGRhdGVSZW1vdGVBZ2VudFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEhYKCW5ld190aXRsZRgCIAEoCUgAiAEBQgwKCl9uZXdfdGl0bGUiQwoZVXBkYXRlUmVtb3RlQWdlbnRSZXNwb25zZRImCgVhZ2VudBgBIAEoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnQiYwoUVXBkYXRlVHJpZ2dlclJlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCRI3Cg1jb25maWd1cmF0aW9uGAIgASgLMiAucHVibGljX2FwaS5UcmlnZ2VyQ29uZmlndXJhdGlvbiI9ChVVcGRhdGVUcmlnZ2VyUmVzcG9uc2USJAoHdHJpZ2dlchgBIAEoCzITLnB1YmxpY19hcGkuVHJpZ2dlciI8ChZVcGRhdGVXb3Jrc3BhY2VSZXF1ZXN0EhQKDHdvcmtzcGFjZV9pZBgBIAEoCRIMCgRuYW1lGAIgASgJIkcKF1VwZGF0ZVdvcmtzcGFjZVJlc3BvbnNlEiwKCXdvcmtzcGFjZRgBIAEoCzIZLnB1YmxpY19hcGkuV29ya3NwYWNlSW5mbyJRCgpVcGxvYWRCbG9iEg8KB2NvbnRlbnQYASABKAkSDAoEcGF0aBgCIAEoCRIWCglibG9iX25hbWUYAyABKAlIAIgBAUIMCgpfYmxvYl9uYW1lIl8KHFVwc2VydE1jcFRlbmFudENvbmZpZ1JlcXVlc3QSJQoGY29uZmlnGAEgASgLMhUucHVibGljX2FwaS5NY3BDb25maWcSGAoQZXhwZWN0ZWRfdmVyc2lvbhgCIAEoCSJBCh1VcHNlcnRNY3BUZW5hbnRDb25maWdSZXNwb25zZRIPCgdjcmVhdGVkGAEgASgIEg8KB3ZlcnNpb24YAiABKAkiXQoaVXBzZXJ0TWNwVXNlckNvbmZpZ1JlcXVlc3QSJQoGY29uZmlnGAEgASgLMhUucHVibGljX2FwaS5NY3BDb25maWcSGAoQZXhwZWN0ZWRfdmVyc2lvbhgCIAEoCSI/ChtVcHNlcnRNY3BVc2VyQ29uZmlnUmVzcG9uc2USDwoHY3JlYXRlZBgBIAEoCBIPCgd2ZXJzaW9uGAIgASgJIvEBChlVcHNlcnRUZW5hbnRTZWNyZXRSZXF1ZXN0EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSPQoEdGFncxgDIAMoCzIvLnB1YmxpY19hcGkuVXBzZXJ0VGVuYW50U2VjcmV0UmVxdWVzdC5UYWdzRW50cnkSEwoLZGVzY3JpcHRpb24YBCABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgFIAEoCRIcChRtYXhfdmFsdWVfc2l6ZV9ieXRlcxgGIAEoBRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJGChpVcHNlcnRUZW5hbnRTZWNyZXRSZXNwb25zZRIoCgZzZWNyZXQYASABKAsyGC5wdWJsaWNfYXBpLlRlbmFudFNlY3JldCKiBAoXVXBzZXJ0VXNlclNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCRI7CgR0YWdzGAMgAygLMi0ucHVibGljX2FwaS5VcHNlcnRVc2VyU2VjcmV0UmVxdWVzdC5UYWdzRW50cnkSEwoLZGVzY3JpcHRpb24YBCABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgFIAEoCRIcChRtYXhfdmFsdWVfc2l6ZV9ieXRlcxgGIAEoBRImCgVzY29wZRgHIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSFQoIc3BhY2VfaWQYCCABKAlIAIgBARI7Cg1hcHBsaWNhYmlsaXR5GAkgASgOMh8ucHVibGljX2FwaS5TZWNyZXRBcHBsaWNhYmlsaXR5SAGIAQESEQoJc3BhY2VfaWRzGAogAygJEhIKCmFsbF9zcGFjZXMYCyABKAgSFQoNdXBkYXRlX3NwYWNlcxgMIAEoCBIRCglzZWNyZXRfaWQYDSABKAkSEwoLdXBkYXRlX3RhZ3MYDiABKAgSGgoSdXBkYXRlX2Rlc2NyaXB0aW9uGA8gASgIEhYKDnByZXNlcnZlX3ZhbHVlGBAgASgIGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgsKCV9zcGFjZV9pZEIQCg5fYXBwbGljYWJpbGl0eSJCChhVcHNlcnRVc2VyU2VjcmV0UmVzcG9uc2USJgoGc2VjcmV0GAEgASgLMhYucHVibGljX2FwaS5Vc2VyU2VjcmV0IvgDCgpVc2VyU2VjcmV0EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSLgoEdGFncxgDIAMoCzIgLnB1YmxpY19hcGkuVXNlclNlY3JldC5UYWdzRW50cnkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLZGVzY3JpcHRpb24YBiABKAkSDwoHdmVyc2lvbhgHIAEoCRIYChB2YWx1ZV9zaXplX2J5dGVzGAggASgFEiYKBXNjb3BlGAkgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRIVCghzcGFjZV9pZBgKIAEoCUgAiAEBEhEKCXNlY3JldF9pZBgLIAEoCRISCgpvbGFjX3JlYWR5GAwgASgIEjYKDWFwcGxpY2FiaWxpdHkYDSABKA4yHy5wdWJsaWNfYXBpLlNlY3JldEFwcGxpY2FiaWxpdHkSEQoJc3BhY2VfaWRzGA4gAygJEhIKCmFsbF9zcGFjZXMYDyABKAgaKwoJVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCwoJX3NwYWNlX2lkIs4BChJWaWV3ZWRDb250ZW50RXZlbnQSDAoEcGF0aBgBIAEoCRIWCg5maWxlX2Jsb2JfbmFtZRgCIAEoCRIXCg92aXNpYmxlX2NvbnRlbnQYAyABKAkSEgoKbGluZV9zdGFydBgEIAEoDRIQCghsaW5lX2VuZBgFIAEoDRISCgpjaGFyX3N0YXJ0GAYgASgNEhAKCGNoYXJfZW5kGAcgASgNEi0KCXRpbWVzdGFtcBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiJAoNV2ViaG9va1BvbGljeRITCgt3ZWJob29rX3VybBgBIAEoCSJNChJXb3Jrc3BhY2VGaWxlQ2h1bmsSEgoKY2hhcl9zdGFydBgBIAEoBRIQCghjaGFyX2VuZBgCIAEoBRIRCglibG9iX25hbWUYAyABKAkiQwoTV29ya3NwYWNlRm9sZGVySW5mbxIXCg9yZXBvc2l0b3J5X3Jvb3QYASABKAkSEwoLZm9sZGVyX3Jvb3QYAiABKAkiwQEKDVdvcmtzcGFjZUluZm8SFAoMd29ya3NwYWNlX2lkGAEgASgJEgwKBG5hbWUYAiABKAkSMwoKY3JlYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIzCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0SgQIBRAGIooCCg5Xb3Jrc3BhY2VTZXR1cBIrCgpnaXRodWJfcmVmGAEgASgLMhUucHVibGljX2FwaS5HaXRodWJSZWZIABISCgVwYXRjaBgCIAEoCUgBiAEBEhkKDHNldHVwX3NjcmlwdBgDIAEoCUgCiAEBEj0KCmdpdF9jb25maWcYBCADKAsyKS5wdWJsaWNfYXBpLldvcmtzcGFjZVNldHVwLkdpdENvbmZpZ0VudHJ5GjAKDkdpdENvbmZpZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCEAoOc3RhcnRpbmdfZmlsZXNCCAoGX3BhdGNoQg8KDV9zZXR1cF9zY3JpcHQqXAoUQWdlbnRDYXBhYmlsaXR5U2NvcGUSIQodQUdFTlRfQ0FQQUJJTElUWV9TQ09QRV9HTE9CQUwQABIhCh1BR0VOVF9DQVBBQklMSVRZX1NDT1BFX1RFTkFOVBABKqIBChZBZ2VudEhpc3RvcnlVcGRhdGVUeXBlEikKJUFHRU5UX0hJU1RPUllfVVBEQVRFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZBR0VOVF9ISVNUT1JZX0VYQ0hBTkdFEAESIQodQUdFTlRfSElTVE9SWV9FWENIQU5HRV9VUERBVEUQAhIeChpBR0VOVF9ISVNUT1JZX0FHRU5UX1NUQVRVUxADKrABChNBZ2VudExpc3RVcGRhdGVUeXBlEiYKIkFHRU5UX0xJU1RfVVBEQVRFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZBR0VOVF9MSVNUX0FHRU5UX0FEREVEEAESHAoYQUdFTlRfTElTVF9BR0VOVF9VUERBVEVEEAISHAoYQUdFTlRfTElTVF9BR0VOVF9ERUxFVEVEEAMSGQoVQUdFTlRfTElTVF9BTExfQUdFTlRTEAQqcQoRQWdlbnRQZXJzb25hU2NvcGUSHgoaQUdFTlRfUEVSU09OQV9TQ09QRV9HTE9CQUwQABIeChpBR0VOVF9QRVJTT05BX1NDT1BFX1RFTkFOVBABEhwKGEFHRU5UX1BFUlNPTkFfU0NPUEVfVVNFUhACKpYBChhBZ2VudFdvcmtzcGFjZVVwZGF0ZVR5cGUSKwonQUdFTlRfV09SS1NQQUNFX1VQREFURV9UWVBFX1VOU1BFQ0lGSUVEEAASJAogQUdFTlRfV09SS1NQQUNFX1VQREFURV9JTlRFUlJVUFQQARInCiNBR0VOVF9XT1JLU1BBQ0VfVVBEQVRFX0NIQVRfUkVRVUVTVBACKm8KEEFuYWx5dGljc1RhZ1R5cGUSHgoaQU5BTFlUSUNTX1RBR19UWVBFX1VOS05PV04QABIbChdBTkFMWVRJQ1NfVEFHX1RZUEVfQ09TVBABEh4KGkFOQUxZVElDU19UQUdfVFlQRV9PVVRDT01FEAIqvQEKE0NoYXRSZXF1ZXN0Tm9kZVR5cGUSCAoEVEVYVBAAEg8KC1RPT0xfUkVTVUxUEAESCQoFSU1BR0UQAhIMCghJTUFHRV9JRBADEg0KCUlERV9TVEFURRAEEg8KC0VESVRfRVZFTlRTEAUSEgoOQ0hFQ0tQT0lOVF9SRUYQBhISCg5DSEFUX05PREVfRklMRRAIEhUKEUNIQVRfTk9ERV9GSUxFX0lEEAkSEwoPSElTVE9SWV9TVU1NQVJZEAoq6wEKEkNoYXRSZXN1bHROb2RlVHlwZRIQCgxSQVdfUkVTUE9OU0UQABIXChNTVUdHRVNURURfUVVFU1RJT05TEAESFgoSTUFJTl9URVhUX0ZJTklTSEVEEAISGQoVV09SS1NQQUNFX0ZJTEVfQ0hVTktTEAMSFAoQUkVMRVZBTlRfU09VUkNFUxAEEgwKCFRPT0xfVVNFEAUSEgoOVE9PTF9VU0VfU1RBUlQQBxIMCghUSElOS0lORxAIEhQKEEJJTExJTkdfTUVUQURBVEEQCRIPCgtUT0tFTl9VU0FHRRAKIgQIBhAGIgQICxALKq4BCg5DaGF0U3RvcFJlYXNvbhIWChJSRUFTT05fVU5TUEVDSUZJRUQQABIMCghFTkRfVFVSThABEg4KCk1BWF9UT0tFTlMQAhIWChJUT09MX1VTRV9SRVFVRVNURUQQAxIKCgZTQUZFVFkQBBIOCgpSRUNJVEFUSU9OEAUSGwoXTUFMRk9STUVEX0ZVTkNUSU9OX0NBTEwQBhIVChFTVE9QX1JFQVNPTl9FUlJPUhAHKsoBChRDbG91ZEFnZW50Q2FwYWJpbGl0eRIiCh5DTE9VRF9BR0VOVF9DQVBBQklMSVRZX1VOS05PV04QABIlCiFDTE9VRF9BR0VOVF9DQVBBQklMSVRZX1dFQl9BQ0NFU1MQARIeChpDTE9VRF9BR0VOVF9DQVBBQklMSVRZX01DUBACEiQKIENMT1VEX0FHRU5UX0NBUEFCSUxJVFlfQ0xJX1RPT0xTEAQSIQodQ0xPVURfQUdFTlRfQ0FQQUJJTElUWV9HSVRIVUIQBSp+ChJDbG91ZEFnZW50TG9vcFR5cGUSJQohQ0xPVURfQUdFTlRfTE9PUF9UWVBFX1VOU1BFQ0lGSUVEEAASHwobQ0xPVURfQUdFTlRfTE9PUF9UWVBFX1NBTFNBEAESIAocQ0xPVURfQUdFTlRfTE9PUF9UWVBFX0FVR0dJRRACKoICChBDbG91ZEFnZW50U3RhdHVzEh4KGkNMT1VEX0FHRU5UX1NUQVRVU19VTktOT1dOEAASGwoXQ0xPVURfQUdFTlRfU1RBVFVTX0lETEUQARIhCh1DTE9VRF9BR0VOVF9TVEFUVVNfUFJPQ0VTU0lORxACEiEKHUNMT1VEX0FHRU5UX1NUQVRVU19URVJNSU5BVEVEEAMSIAocQ0xPVURfQUdFTlRfU1RBVFVTX0NPTVBMRVRFRBAEEh8KG0NMT1VEX0FHRU5UX1NUQVRVU19TVEFSVElORxAFEigKJENMT1VEX0FHRU5UX1NUQVRVU19XQUlUSU5HX0ZPUl9JTlBVVBAGKucBCidDbG91ZERhZW1vblBvb2xXb3Jrc3BhY2VJc29sYXRpb25Qb2xpY3kSPAo4Q0xPVURfREFFTU9OX1BPT0xfV09SS1NQQUNFX0lTT0xBVElPTl9QT0xJQ1lfVU5TUEVDSUZJRUQQABI/CjtDTE9VRF9EQUVNT05fUE9PTF9XT1JLU1BBQ0VfSVNPTEFUSU9OX1BPTElDWV9GT1JDRV9JU09MQVRFRBABEj0KOUNMT1VEX0RBRU1PTl9QT09MX1dPUktTUEFDRV9JU09MQVRJT05fUE9MSUNZX0ZPUkNFX1NIQVJFRBACKrkBChRDbG91ZEVudmlyb25tZW50S2luZBImCiJDTE9VRF9FTlZJUk9OTUVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASJQohQ0xPVURfRU5WSVJPTk1FTlRfS0lORF9CQVNFX0lNQUdFEAESJgoiQ0xPVURfRU5WSVJPTk1FTlRfS0lORF9EQUVNT05fUE9PTBACEioKJkNMT1VEX0VOVklST05NRU5UX0tJTkRfVU5QT09MRURfREFFTU9OEAMqlgUKG0Nsb3VkRW52aXJvbm1lbnRMaXN0T3JkZXJCeRIvCitDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX1VOU1BFQ0lGSUVEEAASLAooQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9OQU1FX0FTQxABEi0KKUNMT1VEX0VOVklST05NRU5UX0xJU1RfT1JERVJfQllfTkFNRV9ERVNDEAISMgouQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9DUkVBVEVEX0JZX0FTQxADEjMKL0NMT1VEX0VOVklST05NRU5UX0xJU1RfT1JERVJfQllfQ1JFQVRFRF9CWV9ERVNDEAQSLAooQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9TSVpFX0FTQxAFEi0KKUNMT1VEX0VOVklST05NRU5UX0xJU1RfT1JERVJfQllfU0laRV9ERVNDEAYSLQopQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9SRVBPU19BU0MQBxIuCipDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX1JFUE9TX0RFU0MQCBIvCitDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX1VQREFURURfQVNDEAkSMAosQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9VUERBVEVEX0RFU0MQChIvCitDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX0NSRUFURURfQVNDEAsSMAosQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9DUkVBVEVEX0RFU0MQDCqdAQoZQ2xvdWRFbnZpcm9ubWVudExpc3RTY29wZRIsCihDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX1NDT1BFX1VOU1BFQ0lGSUVEEAASKQolQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9TQ09QRV9QRVJTT05BTBABEicKI0NMT1VEX0VOVklST05NRU5UX0xJU1RfU0NPUEVfU0hBUkVEEAIq+wMKIkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25FcnJvckNvZGUSNgoyQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX0VSUk9SX0NPREVfVU5TUEVDSUZJRUQQABI3CjNDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9CVUlMRF9GQUlMRUQQARJACjxDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9FWEVDVVRJT05fSU5URVJSVVBURUQQAhIzCi9DTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9JTlRFUk5BTBADEjsKN0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9FUlJPUl9DT0RFX1ZFUlNJT05fQ09ORkxJQ1QQBBI5CjVDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9SRUZSRVNIX0ZBSUxFRBAFEjsKN0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9FUlJPUl9DT0RFX1JFQ09OQ0lMRV9GQUlMRUQQBhI4CjRDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9VUERBVEVfRkFJTEVEEAcq9wIKHkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25QaGFzZRIxCi1DTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fUEhBU0VfVU5TUEVDSUZJRUQQABIsCihDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fUEhBU0VfUVVFVUVEEAESLworQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1BIQVNFX1BSRVBBUklORxACEi4KKkNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9QSEFTRV9CVUlMRElORxADEi8KK0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9QSEFTRV9QUk9NT1RJTkcQBBIuCipDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fUEhBU0VfVVBEQVRJTkcQBiIECAUQBSosQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1BIQVNFX1JFRlJFU0hJTkcq+AIKHkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25TdGF0ZRIxCi1DTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fU1RBVEVfVU5TUEVDSUZJRUQQABItCilDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fU1RBVEVfUEVORElORxABEi0KKUNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9TVEFURV9SVU5OSU5HEAISNgoyQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1NUQVRFX0NBTkNFTF9SRVFVRVNURUQQAxIvCitDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fU1RBVEVfU1VDQ0VFREVEEAQSLAooQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1NUQVRFX0ZBSUxFRBAFEi4KKkNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9TVEFURV9DQU5DRUxFRBAGKtcCCh1DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uVHlwZRIwCixDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEjcKM0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9UWVBFX0JBU0VfSU1BR0VfUkVCVUlMRBABEjUKMUNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9UWVBFX0JBU0VfSU1BR0VfQlVJTEQQAhIsCihDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fVFlQRV9SRUZSRVNIEAMSOQo1Q0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1RZUEVfUkVQT1NJVE9SWV9SRUNPTkNJTEUQBBIrCidDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fVFlQRV9VUERBVEUQBSqDAgoWQ2xvdWRFbnZpcm9ubWVudFN0YXR1cxIoCiRDTE9VRF9FTlZJUk9OTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIjCh9DTE9VRF9FTlZJUk9OTUVOVF9TVEFUVVNfQUNUSVZFEAESJQohQ0xPVURfRU5WSVJPTk1FTlRfU1RBVFVTX0JVSUxESU5HEAISIwofQ0xPVURfRU5WSVJPTk1FTlRfU1RBVFVTX0ZBSUxFRBADEicKI0NMT1VEX0VOVklST05NRU5UX1NUQVRVU19ERVBSRUNBVEVEEAQSJQohQ0xPVURfRU5WSVJPTk1FTlRfU1RBVFVTX0RFTEVUSU5HEAUq6AkKHENsb3VkRXhwZXJ0QnVpbHRpbkNhcGFiaWxpdHkSKwonQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9VTktOT1dOEAASLgoqQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9XRUJfQUNDRVNTEAESLQopQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9DTElfVE9PTFMQBBIqCiZDTE9VRF9FWFBFUlRfQlVJTFRJTl9DQVBBQklMSVRZX0dJVEhVQhAHEioKJkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfTElORUFSEAgSKAokQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9FQ0hPEAkSKQolQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9TTEFDSxALEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0lUSFVCX0FQUBAMEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfTElORUFSX0FQUBANEjIKLkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQ1VTVE9NX1dFQkhPT0sQExIqCiZDTE9VRF9FWFBFUlRfQlVJTFRJTl9DQVBBQklMSVRZX0dJVExBQhAUEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0lUTEFCX0FQUBAVEigKJENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfSklSQRAXEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQ09ORkxVRU5DRRAYEiwKKENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfSklSQV9BUFAQGRIyCi5DTE9VRF9FWFBFUlRfQlVJTFRJTl9DQVBBQklMSVRZX0NPTkZMVUVOQ0VfQVBQEBoSKQolQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9URUFNUxAbEjAKLENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQVpVUkVfREVWT1BTEBwSNAowQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9BWlVSRV9ERVZPUFNfQVBQEB0iBAgCEAIiBAgDEAMiBAgFEAUiBAgGEAYiBAgKEAoiBAgOEA4iBAgPEA8iBAgQEBAiBAgREBEiBAgSEBIiBAgWEBYqLkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0NQX01PTklUT1JJTkcqK0NMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0NQX0xPR0dJTkcqJ0NMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfS1VCRUNUTCopQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9QQUdFUkRVVFkqKENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfRU5HX0lORk8qM0NMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQ0xPVURfQUdFTlRfQ09OVFJPTCqwAQobQ2xvdWRFeHBlcnRDYXBhYmlsaXR5U291cmNlEi4KKkNMT1VEX0VYUEVSVF9DQVBBQklMSVRZX1NPVVJDRV9VTlNQRUNJRklFRBAAEjcKM0NMT1VEX0VYUEVSVF9DQVBBQklMSVRZX1NPVVJDRV9CVUlMVElOX0NBUEFCSUxJVElFUxABEigKJENMT1VEX0VYUEVSVF9DQVBBQklMSVRZX1NPVVJDRV9OQU1FUxACKpMBCiFDbG91ZEV4cGVydERlcGVuZGVuY3lSZWxhdGlvbnNoaXASNAowQ0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfUkVMQVRJT05TSElQX1VOU1BFQ0lGSUVEEAASOAo0Q0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfUkVMQVRJT05TSElQX1JFUVVJUkVEX1dPUktFUhABKtEBCiFDbG91ZEV4cGVydERlcGVuZGVuY3lSZXBhaXJBY3Rpb24SNQoxQ0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfUkVQQUlSX0FDVElPTl9VTlNQRUNJRklFRBAAEjgKNENMT1VEX0VYUEVSVF9ERVBFTkRFTkNZX1JFUEFJUl9BQ1RJT05fUkVTVE9SRV9UQVJHRVQQARI7CjdDTE9VRF9FWFBFUlRfREVQRU5ERU5DWV9SRVBBSVJfQUNUSU9OX0VESVRfREVQRU5ERU5DSUVTEAIq1gEKG0Nsb3VkRXhwZXJ0RGVwZW5kZW5jeVN0YXR1cxIuCipDTE9VRF9FWFBFUlRfREVQRU5ERU5DWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIqCiZDTE9VRF9FWFBFUlRfREVQRU5ERU5DWV9TVEFUVVNfTUlTU0lORxABEioKJkNMT1VEX0VYUEVSVF9ERVBFTkRFTkNZX1NUQVRVU19ERUxFVEVEEAISLworQ0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfU1RBVFVTX0lOQUNDRVNTSUJMRRADKm4KEENsb3VkRXhwZXJ0U2NvcGUSHgoaQ0xPVURfRVhQRVJUX1NDT1BFX1VOS05PV04QABIdChlDTE9VRF9FWFBFUlRfU0NPUEVfVEVOQU5UEAESGwoXQ0xPVURfRVhQRVJUX1NDT1BFX1VTRVIQAiqoAQocQ2xvdWRFeHBlcnRTZXNzaW9uVmlzaWJpbGl0eRIvCitDTE9VRF9FWFBFUlRfU0VTU0lPTl9WSVNJQklMSVRZX1VOU1BFQ0lGSUVEEAASKgomQ0xPVURfRVhQRVJUX1NFU1NJT05fVklTSUJJTElUWV9TSEFSRUQQARIrCidDTE9VRF9FWFBFUlRfU0VTU0lPTl9WSVNJQklMSVRZX1BSSVZBVEUQAiqpAQoYQ2xvdWRFeHBlcnRWTUltYWdlU291cmNlEiwKKENMT1VEX0VYUEVSVF9WTV9JTUFHRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABInCiNDTE9VRF9FWFBFUlRfVk1fSU1BR0VfU09VUkNFX1BVQkxJQxABEjYKMkNMT1VEX0VYUEVSVF9WTV9JTUFHRV9TT1VSQ0VfR0NQX0FSVElGQUNUX1JFR0lTVFJZEAIqjwEKFENsb3VkR3JvdXBNZW1iZXJLaW5kEicKI0NMT1VEX0dST1VQX01FTUJFUl9LSU5EX1VOU1BFQ0lGSUVEEAASIQodQ0xPVURfR1JPVVBfTUVNQkVSX0tJTkRfSFVNQU4QARIrCidDTE9VRF9HUk9VUF9NRU1CRVJfS0lORF9TRVJWSUNFX0FDQ09VTlQQAip2ChJDbG91ZFJlc2lkZW50U2NvcGUSIAocQ0xPVURfUkVTSURFTlRfU0NPUEVfVU5LTk9XThAAEh8KG0NMT1VEX1JFU0lERU5UX1NDT1BFX1RFTkFOVBABEh0KGUNMT1VEX1JFU0lERU5UX1NDT1BFX1VTRVIQAiqlAQoYQ2xvdWRTYW5kYm94UHJvdmlkZXJUeXBlEisKJ0NMT1VEX1NBTkRCT1hfUFJPVklERVJfVFlQRV9VTlNQRUNJRklFRBAAEi4KKkNMT1VEX1NBTkRCT1hfUFJPVklERVJfVFlQRV9TWVNURU1fTUFOQUdFRBABEiwKKENMT1VEX1NBTkRCT1hfUFJPVklERVJfVFlQRV9VU0VSX01BTkFHRUQQAip2Cg9DbG91ZFR1bm5lbE1vZGUSIQodQ0xPVURfVFVOTkVMX01PREVfVU5TUEVDSUZJRUQQABIhCh1DTE9VRF9UVU5ORUxfTU9ERV9XRUJfUFJFVklFVxABEh0KGUNMT1VEX1RVTk5FTF9NT0RFX0RJU1BMQVkQAiqgAgoRQ2xvdWRUdW5uZWxTdGF0dXMSIwofQ0xPVURfVFVOTkVMX1NUQVRVU19VTlNQRUNJRklFRBAAEh8KG0NMT1VEX1RVTk5FTF9TVEFUVVNfUEVORElORxABEh4KGkNMT1VEX1RVTk5FTF9TVEFUVVNfQUNUSVZFEAISJAogQ0xPVURfVFVOTkVMX1NUQVRVU19ESVNDT05ORUNURUQQAxIfChtDTE9VRF9UVU5ORUxfU1RBVFVTX1JFVk9LRUQQBBIfChtDTE9VRF9UVU5ORUxfU1RBVFVTX0VYUElSRUQQBRIeChpDTE9VRF9UVU5ORUxfU1RBVFVTX0NMT1NFRBAGEh0KGUNMT1VEX1RVTk5FTF9TVEFUVVNfRVJST1IQByprCg5Db21wbGV0aW9uVHlwZRIfChtDT01QTEVUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIYChRDT01QTEVUSU9OX1RZUEVfQ09ERRABEh4KGkNPTVBMRVRJT05fVFlQRV9DSEFUX0lOUFVUEAIqbgoQQ29udmVyc2F0aW9uVHlwZRIhCh1DT05WRVJTQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEhoKFkNPTlZFUlNBVElPTl9UWVBFX0NIQVQQARIbChdDT05WRVJTQVRJT05fVFlQRV9BR0VOVBACKo8BChdDb3N0QW5hbHl0aWNzQnlva1N0YXR1cxImCiJDT1NUX0FOQUxZVElDU19CWU9LX1NUQVRVU19VTktOT1dOEAASJwojQ09TVF9BTkFMWVRJQ1NfQllPS19TVEFUVVNfTk9OX0JZT0sQARIjCh9DT1NUX0FOQUxZVElDU19CWU9LX1NUQVRVU19CWU9LEAIqgQIKFENvc3RBbmFseXRpY3NHcm91cEJ5EiMKH0NPU1RfQU5BTFlUSUNTX0dST1VQX0JZX1VOS05PV04QABIgChxDT1NUX0FOQUxZVElDU19HUk9VUF9CWV9VU0VSEAISJwojQ09TVF9BTkFMWVRJQ1NfR1JPVVBfQllfQllPS19TVEFUVVMQBBIkCiBDT1NUX0FOQUxZVElDU19HUk9VUF9CWV9SRVNPVVJDRRAFEiMKH0NPU1RfQU5BTFlUSUNTX0dST1VQX0JZX1BST0RVQ1QQBhIiCh5DT1NUX0FOQUxZVElDU19HUk9VUF9CWV9FWFBFUlQQByIECAEQASIECAMQAyqXAQoZQ29zdEFuYWx5dGljc1Jlc291cmNlVHlwZRIoCiRDT1NUX0FOQUxZVElDU19SRVNPVVJDRV9UWVBFX1VOS05PV04QABImCiJDT1NUX0FOQUxZVElDU19SRVNPVVJDRV9UWVBFX01PREVMEAESKAokQ09TVF9BTkFMWVRJQ1NfUkVTT1VSQ0VfVFlQRV9DT01QVVRFEAIqpwEKGkNvc3RBbmFseXRpY3NUYWdGaWx0ZXJUeXBlEikKJUNPU1RfQU5BTFlUSUNTX1RBR19GSUxURVJfVFlQRV9WQUxVRVMQABIsCihDT1NUX0FOQUxZVElDU19UQUdfRklMVEVSX1RZUEVfQU5ZX1ZBTFVFEAESMAosQ09TVF9BTkFMWVRJQ1NfVEFHX0ZJTFRFUl9UWVBFX01JU1NJTkdfVkFMVUUQAirJAQocQ29zdEFuYWx5dGljc1RpbWVHcmFudWxhcml0eRIrCidDT1NUX0FOQUxZVElDU19USU1FX0dSQU5VTEFSSVRZX1VOS05PV04QABIpCiVDT1NUX0FOQUxZVElDU19USU1FX0dSQU5VTEFSSVRZX1RPVEFMEAESJwojQ09TVF9BTkFMWVRJQ1NfVElNRV9HUkFOVUxBUklUWV9EQVkQAhIoCiRDT1NUX0FOQUxZVElDU19USU1FX0dSQU5VTEFSSVRZX1dFRUsQAyqwAQoVQ29zdEFuYWx5dGljc1VzZXJUeXBlEiQKIENPU1RfQU5BTFlUSUNTX1VTRVJfVFlQRV9VTktOT1dOEAASIQodQ09TVF9BTkFMWVRJQ1NfVVNFUl9UWVBFX1VTRVIQARIsCihDT1NUX0FOQUxZVElDU19VU0VSX1RZUEVfU0VSVklDRV9BQ0NPVU5UEAISIAocQ09TVF9BTkFMWVRJQ1NfVVNFUl9UWVBFX0JPVBADKu0BCghEaWZmVHlwZRIZChVESUZGX1RZUEVfVU5TUEVDSUZJRUQQABIRCg1ESUZGX1RZUEVfRklYEAESFQoRRElGRl9UWVBFX0ZFQVRVUkUQAhIWChJESUZGX1RZUEVfUkVGQUNUT1IQAxIbChdESUZGX1RZUEVfRE9DVU1FTlRBVElPThAEEhMKD0RJRkZfVFlQRV9TVFlMRRAFEhIKDkRJRkZfVFlQRV9URVNUEAYSEwoPRElGRl9UWVBFX0NIT1JFEAcSFAoQRElGRl9UWVBFX1JFVkVSVBAIEhMKD0RJRkZfVFlQRV9PVEhFUhAJKmwKD0VkaXRFdmVudFNvdXJjZRIbChdFRElUX1NPVVJDRV9VTlNQRUNJRklFRBAAEhkKFUVESVRfU09VUkNFX1VTRVJfRURJVBABEiEKHUVESVRfU09VUkNFX0NIRUNLUE9JTlRfUkVWRVJUEAIqmAEKC0V2ZW50U291cmNlEhwKGEVWRU5UX1NPVVJDRV9VTlNQRUNJRklFRBAAEhcKE0VWRU5UX1NPVVJDRV9HSVRIVUIQARIXChNFVkVOVF9TT1VSQ0VfTElORUFSEAISGQoVRVZFTlRfU09VUkNFX1NDSEVEVUxFEAMSHgoaRVZFTlRfU09VUkNFX1NDSEVEVUxFX1RFTVAQBCo/ChJFeHRlcm5hbFNvdXJjZVR5cGUSEgoOVU5LTk9XTl9TT1VSQ0UQABIVChFET0NVTUVOVEFUSU9OX1NFVBABKjcKDkZlZWRiYWNrUmF0aW5nEgkKBVVOU0VUEAASDAoIUE9TSVRJVkUQARIMCghORUdBVElWRRACKoABChBHaXRIdWJFbnRpdHlUeXBlEiIKHkdJVEhVQl9FTlRJVFlfVFlQRV9VTlNQRUNJRklFRBAAEiMKH0dJVEhVQl9FTlRJVFlfVFlQRV9QVUxMX1JFUVVFU1QQARIjCh9HSVRIVUJfRU5USVRZX1RZUEVfV09SS0ZMT1dfUlVOEAIqVQoPSW1hZ2VGb3JtYXRUeXBlEhwKGElNQUdFX0ZPUk1BVF9VTlNQRUNJRklFRBAAEgcKA1BORxABEggKBEpQRUcQAhIHCgNHSUYQAxIICgRXRUJQEAQqVAoQTGluZWFyRW50aXR5VHlwZRIiCh5MSU5FQVJfRU5USVRZX1RZUEVfVU5TUEVDSUZJRUQQABIcChhMSU5FQVJfRU5USVRZX1RZUEVfSVNTVUUQASp4CgtNY3BBdXRoVHlwZRIdChlNQ1BfQVVUSF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSTUNQX0FVVEhfVFlQRV9OT05FEAESFwoTTUNQX0FVVEhfVFlQRV9PQVVUSBACEhkKFU1DUF9BVVRIX1RZUEVfQVBJX0tFWRADKpMBChRNY3BDYXRhbG9nRW50cnlTdGF0ZRInCiNNQ1BfQ0FUQUxPR19FTlRSWV9TVEFURV9VTlNQRUNJRklFRBAAEiUKIU1DUF9DQVRBTE9HX0VOVFJZX1NUQVRFX0FWQUlMQUJMRRABEisKJ01DUF9DQVRBTE9HX0VOVFJZX1NUQVRFX09QVF9JTl9SRVFVSVJFRBACKmoKDk1jcENvbmZpZ1Njb3BlEiAKHE1DUF9DT05GSUdfU0NPUEVfVU5TUEVDSUZJRUQQABIZChVNQ1BfQ09ORklHX1NDT1BFX1VTRVIQARIbChdNQ1BfQ09ORklHX1NDT1BFX1RFTkFOVBACKm4KDk1jcFByb2R1Y3RUeXBlEiAKHE1DUF9QUk9EVUNUX1RZUEVfVU5TUEVDSUZJRUQQABIYChRNQ1BfUFJPRFVDVF9UWVBFX0NMSRABEiAKHE1DUF9QUk9EVUNUX1RZUEVfQ0xPVURfQUdFTlQQAipoChdOb3RpZmljYXRpb25EaXNwbGF5VHlwZRIcChhESVNQTEFZX1RZUEVfVU5TUEVDSUZJRUQQABIWChJESVNQTEFZX1RZUEVfVE9BU1QQARIXChNESVNQTEFZX1RZUEVfQkFOTkVSEAIqkgEKEU5vdGlmaWNhdGlvbkxldmVsEiIKHk5PVElGSUNBVElPTl9MRVZFTF9VTlNQRUNJRklFRBAAEhsKF05PVElGSUNBVElPTl9MRVZFTF9JTkZPEAESHgoaTk9USUZJQ0FUSU9OX0xFVkVMX1dBUk5JTkcQAhIcChhOT1RJRklDQVRJT05fTEVWRUxfRVJST1IQAyplCg1PdXRjb21lT3JpZ2luEhoKFk9VVENPTUVfT1JJR0lOX1VOS05PV04QABIZChVPVVRDT01FX09SSUdJTl9DT1NNT1MQARIdChlPVVRDT01FX09SSUdJTl9OT05fQ09TTU9TEAIqSAoLUGVyc29uYVR5cGUSCwoHREVGQVVMVBAAEg4KClBST1RPVFlQRVIQARIOCgpCUkFJTlNUT1JNEAISDAoIUkVWSUVXRVIQAyqgAQobUmVtb3RlQWdlbnRSZXN1bWVIaW50UmVhc29uEigKJFJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9VTlNQRUNJRklFRBAAEisKJ1JFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9UWVBJTkdfTUVTU0FHRRABEioKJlJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9WSUVXSU5HX0FHRU5UEAIqqwEKEVJlbW90ZUFnZW50U3RhdHVzEhUKEUFHRU5UX1VOU1BFQ0lGSUVEEAASEQoNQUdFTlRfUEVORElORxAFEhIKDkFHRU5UX1NUQVJUSU5HEAESEQoNQUdFTlRfUlVOTklORxACEg4KCkFHRU5UX0lETEUQAxIQCgxBR0VOVF9GQUlMRUQQBBIRCg1BR0VOVF9QQVVTSU5HEAYSEAoMQUdFTlRfUEFVU0VEEAcqowIKGlJlbW90ZUFnZW50V29ya3NwYWNlU3RhdHVzEi0KKVJFTU9URV9BR0VOVF9XT1JLU1BBQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKQolUkVNT1RFX0FHRU5UX1dPUktTUEFDRV9TVEFUVVNfUlVOTklORxABEikKJVJFTU9URV9BR0VOVF9XT1JLU1BBQ0VfU1RBVFVTX1BBVVNJTkcQAhIoCiRSRU1PVEVfQUdFTlRfV09SS1NQQUNFX1NUQVRVU19QQVVTRUQQAxIqCiZSRU1PVEVfQUdFTlRfV09SS1NQQUNFX1NUQVRVU19SRVNVTUlORxAEEioKJlJFTU9URV9BR0VOVF9XT1JLU1BBQ0VfU1RBVFVTX0RFTEVUSU5HEAUqqwIKDFJlbW90ZVRvb2xJZBILCgdVTktOT1dOEAASDgoKV0VCX1NFQVJDSBABEg4KCkdJVEhVQl9BUEkQCBIbChdHSVRIVUJfQVBQX1JFQURPTkxZX0FQSRASEhsKF0dJVEhVQl9BUFBfUE9TVF9DT01NRU5UEBMSHQoZR0lUSFVCX0FQUF9QUl9ERVNDUklQVElPThAUEgoKBkxJTkVBUhAMEggKBEpJUkEQDRIOCgpDT05GTFVFTkNFEA4SCgoGTk9USU9OEA8SDAoIU1VQQUJBU0UQEBIJCgVHTEVBThARIgQIAhACIgQIAxADIgQIBBAEIgQIBRAFIgQIBhAGIgQIBxAHIgQICRAJIgQIChAKIgQICxALIgQIFRAVKg5DT05URVhUX0NBTlZBUyrWAQoYUmVtb3RlVG9vbFJlc3BvbnNlU3RhdHVzEiEKHVRPT0xfRVhFQ1VUSU9OX1VOS05PV05fU1RBVFVTEAASGgoWVE9PTF9FWEVDVVRJT05fU1VDQ0VTUxABEhIKDlRPT0xfTk9UX0ZPVU5EEAISFgoSSU5WQUxJRF9UT09MX0lOUFVUEAMSGAoUVE9PTF9FWEVDVVRJT05fRVJST1IQBBIWChJUT09MX05PVF9BVkFJTEFCTEUQBRIdChlUT09MX0FVVEhFTlRJQ0FUSU9OX0VSUk9SEAYqkAIKHlJlbW90ZVdvcmtzcGFjZVNldHVwU3RlcFN0YXR1cxIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1VOS05PV04QABIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1JVTk5JTkcQARIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1NVQ0NFU1MQAhIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX0ZBSUxVUkUQAxIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1NLSVBQRUQQBCrfAQoNUmVxdWVzdFNvdXJjZRIeChpSRVFVRVNUX1NPVVJDRV9VTlNQRUNJRklFRBAAEhYKElJFUVVFU1RfU09VUkNFX0lERRABEiIKHlJFUVVFU1RfU09VUkNFX0FVR01FTlRfQUNUSU9OUxACEhwKGFJFUVVFU1RfU09VUkNFX1NMQUNLX0JPVBADEh0KGVJFUVVFU1RfU09VUkNFX0dJVEhVQl9CT1QQBBIdChlSRVFVRVNUX1NPVVJDRV9MSU5FQVJfQk9UEAUSFgoSUkVRVUVTVF9TT1VSQ0VfQ0xJEAYqjAIKFlJldm9rZVRvb2xBY2Nlc3NTdGF0dXMSJQohUkVWT0tFX1RPT0xfQUNDRVNTX1NUQVRVU19VTktOT1dOEAASKwonUkVWT0tFX1RPT0xfQUNDRVNTX1NUQVRVU19VTklNUExFTUVOVEVEEAESJwojUkVWT0tFX1RPT0xfQUNDRVNTX1NUQVRVU19OT1RfRk9VTkQQAhIlCiFSRVZPS0VfVE9PTF9BQ0NFU1NfU1RBVFVTX1NVQ0NFU1MQAxIoCiRSRVZPS0VfVE9PTF9BQ0NFU1NfU1RBVFVTX05PVF9BQ1RJVkUQBBIkCiBSRVZPS0VfVE9PTF9BQ0NFU1NfU1RBVFVTX0ZBSUxFRBAFKkAKCFJ1bGVUeXBlEhMKD0FMV0FZU19BVFRBQ0hFRBAAEgoKBk1BTlVBTBABEhMKD0FHRU5UX1JFUVVFU1RFRBACKl4KElNjaGVkdWxlRW50aXR5VHlwZRIkCiBTQ0hFRFVMRV9FTlRJVFlfVFlQRV9VTlNQRUNJRklFRBAAEiIKHlNDSEVEVUxFX0VOVElUWV9UWVBFX0VYRUNVVElPThABKqUBChNTZWNyZXRBcHBsaWNhYmlsaXR5EiQKIFNFQ1JFVF9BUFBMSUNBQklMSVRZX1VOU1BFQ0lGSUVEEAASIQodU0VDUkVUX0FQUExJQ0FCSUxJVFlfUEVSU09OQUwQARIeChpTRUNSRVRfQVBQTElDQUJJTElUWV9TUEFDRRACEiUKIVNFQ1JFVF9BUFBMSUNBQklMSVRZX09SR0FOSVpBVElPThADKl4KC1NlY3JldFNjb3BlEhwKGFNFQ1JFVF9TQ09QRV9VTlNQRUNJRklFRBAAEhgKFFNFQ1JFVF9TQ09QRV9QUklWQVRFEAESFwoTU0VDUkVUX1NDT1BFX1NIQVJFRBACKlEKCVRhZ1NvdXJjZRIWChJUQUdfU09VUkNFX1VOS05PV04QABIVChFUQUdfU09VUkNFX1NZU1RFTRABEhUKEVRBR19TT1VSQ0VfQ1VTVE9NEAIq0wIKGFRlc3RUb29sQ29ubmVjdGlvblN0YXR1cxInCiNURVNUX1RPT0xfQ09OTkVDVElPTl9TVEFUVVNfVU5LTk9XThAAEi0KKVRFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19VTklNUExFTUVOVEVEEAESKQolVEVTVF9UT09MX0NPTk5FQ1RJT05fU1RBVFVTX05PVF9GT1VORBACEiIKHlRFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19PSxADEiUKIVRFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19FUlJPUhAEEjMKL1RFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19TRVJWSUNFX1VOQVZBSUxBQkxFEAUSNAowVEVTVF9UT09MX0NPTk5FQ1RJT05fU1RBVFVTX0FVVEhFTlRJQ0FUSU9OX0VSUk9SEAYqVQoWVG9vbEF2YWlsYWJpbGl0eVN0YXR1cxISCg5VTktOT1dOX1NUQVRVUxAAEg0KCUFWQUlMQUJMRRABEhgKFFVTRVJfQ09ORklHX1JFUVVJUkVEEAIqXgoZVG9vbFJlc3VsdENvbnRlbnROb2RlVHlwZRIcChhDT05URU5UX1RZUEVfVU5TUEVDSUZJRUQQABIQCgxDT05URU5UX1RFWFQQARIRCg1DT05URU5UX0lNQUdFEAIqPAoKVG9vbFNhZmV0eRIPCgtUT09MX1VOU0FGRRAAEg0KCVRPT0xfU0FGRRABEg4KClRPT0xfQ0hFQ0sQAiqaAQoUVHJpZ2dlckNvbmRpdGlvblR5cGUSJgoiVFJJR0dFUl9DT05ESVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEhwKGFRSSUdHRVJfQ09ORElUSU9OX0dJVEhVQhABEhwKGFRSSUdHRVJfQ09ORElUSU9OX0xJTkVBUhACEh4KGlRSSUdHRVJfQ09ORElUSU9OX1NDSEVEVUxFEAMqTwoJVXNhZ2VVbml0EhYKElVTQUdFX1VOSVRfVU5LTk9XThAAEhYKElVTQUdFX1VOSVRfQ1JFRElUUxABEhIKDlVTQUdFX1VOSVRfVVNEEAJCPlo8Z2l0aHViLmNvbS9hdWdtZW50Y29kZS9hdWdtZW50L3NlcnZpY2VzL2FwaV9wcm94eS9wdWJsaWNfYXBpYgZwcm90bzM",[Pi,rr,nn,ee,Yn,yn,z2,La]);var s0;(function(e){e[e.BANNER_TYPE_UNKNOWN=0]="BANNER_TYPE_UNKNOWN",e[e.URL_LINK=1]="URL_LINK",e[e.USAGE_BALANCE_DEPLETED=2]="USAGE_BALANCE_DEPLETED",e[e.USAGE_BALANCE_LOW=3]="USAGE_BALANCE_LOW",e[e.REQUIRE_PAYMENT_FOR_TRIAL=4]="REQUIRE_PAYMENT_FOR_TRIAL"})(s0||(s0={}));var l0;(function(e){e[e.BANNER_DISPLAY_STYLE_UNKNOWN=0]="BANNER_DISPLAY_STYLE_UNKNOWN",e[e.INFO=1]="INFO",e[e.PROMOTION=2]="PROMOTION",e[e.WARNING=3]="WARNING",e[e.ALERT=4]="ALERT"})(l0||(l0={}));var a0;(function(e){e[e.ADDED=0]="ADDED",e[e.DELETED=1]="DELETED",e[e.MODIFIED=2]="MODIFIED",e[e.RENAMED=3]="RENAMED"})(a0||(a0={}));var c0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.ALL_FEATURES=1]="ALL_FEATURES",e[e.CHAT=2]="CHAT",e[e.AGENT=3]="AGENT",e[e.REMOTE_AGENT=4]="REMOTE_AGENT",e[e.CLI_AGENT=5]="CLI_AGENT",e[e.ORIENTATION=7]="ORIENTATION",e[e.CODE_REVIEW=9]="CODE_REVIEW",e[e.CHAT_STREAM_CREDIT_CONSUMPTION=21]="CHAT_STREAM_CREDIT_CONSUMPTION",e[e.CONTEXT_ENGINE=22]="CONTEXT_ENGINE",e[e.POSEIDON=25]="POSEIDON",e[e.INDEXING_INFRA=28]="INDEXING_INFRA"})(c0||(c0={}));var d0;(function(e){e[e.STATE_UNKNOWN=0]="STATE_UNKNOWN",e[e.ENABLED=1]="ENABLED",e[e.DISABLED=2]="DISABLED"})(d0||(d0={}));var u0;(function(e){e[e.REASON_UNKNOWN=0]="REASON_UNKNOWN",e[e.INACTIVE_SUBSCRIPTION=1]="INACTIVE_SUBSCRIPTION",e[e.USAGE_BALANCE_DEPLETED=2]="USAGE_BALANCE_DEPLETED",e[e.NOT_INCLUDED_IN_PLAN=3]="NOT_INCLUDED_IN_PLAN",e[e.QUOTA_EXCEEDED=4]="QUOTA_EXCEEDED"})(u0||(u0={}));var IS=O(qi,526,0);var h0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COMMUNITY_TIER=1]="COMMUNITY_TIER",e[e.PROFESSIONAL_TIER=2]="PROFESSIONAL_TIER",e[e.ENTERPRISE_TIER=3]="ENTERPRISE_TIER"})(h0||(h0={}));var NS=O(qi,631);var FS=O(qi,735);var b0;(function(e){e[e.GLOBAL=0]="GLOBAL",e[e.TENANT=1]="TENANT"})(b0||(b0={}));var f0;(function(e){e[e.AGENT_HISTORY_UPDATE_TYPE_UNSPECIFIED=0]="AGENT_HISTORY_UPDATE_TYPE_UNSPECIFIED",e[e.AGENT_HISTORY_EXCHANGE=1]="AGENT_HISTORY_EXCHANGE",e[e.AGENT_HISTORY_EXCHANGE_UPDATE=2]="AGENT_HISTORY_EXCHANGE_UPDATE",e[e.AGENT_HISTORY_AGENT_STATUS=3]="AGENT_HISTORY_AGENT_STATUS"})(f0||(f0={}));var m0;(function(e){e[e.AGENT_LIST_UPDATE_TYPE_UNSPECIFIED=0]="AGENT_LIST_UPDATE_TYPE_UNSPECIFIED",e[e.AGENT_LIST_AGENT_ADDED=1]="AGENT_LIST_AGENT_ADDED",e[e.AGENT_LIST_AGENT_UPDATED=2]="AGENT_LIST_AGENT_UPDATED",e[e.AGENT_LIST_AGENT_DELETED=3]="AGENT_LIST_AGENT_DELETED",e[e.AGENT_LIST_ALL_AGENTS=4]="AGENT_LIST_ALL_AGENTS"})(m0||(m0={}));var A0;(function(e){e[e.GLOBAL=0]="GLOBAL",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER"})(A0||(A0={}));var V0;(function(e){e[e.AGENT_WORKSPACE_UPDATE_TYPE_UNSPECIFIED=0]="AGENT_WORKSPACE_UPDATE_TYPE_UNSPECIFIED",e[e.AGENT_WORKSPACE_UPDATE_INTERRUPT=1]="AGENT_WORKSPACE_UPDATE_INTERRUPT",e[e.AGENT_WORKSPACE_UPDATE_CHAT_REQUEST=2]="AGENT_WORKSPACE_UPDATE_CHAT_REQUEST"})(V0||(V0={}));var g0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COST=1]="COST",e[e.OUTCOME=2]="OUTCOME"})(g0||(g0={}));var p0;(function(e){e[e.TEXT=0]="TEXT",e[e.TOOL_RESULT=1]="TOOL_RESULT",e[e.IMAGE=2]="IMAGE",e[e.IMAGE_ID=3]="IMAGE_ID",e[e.IDE_STATE=4]="IDE_STATE",e[e.EDIT_EVENTS=5]="EDIT_EVENTS",e[e.CHECKPOINT_REF=6]="CHECKPOINT_REF",e[e.CHAT_NODE_FILE=8]="CHAT_NODE_FILE",e[e.CHAT_NODE_FILE_ID=9]="CHAT_NODE_FILE_ID",e[e.HISTORY_SUMMARY=10]="HISTORY_SUMMARY"})(p0||(p0={}));var E0;(function(e){e[e.RAW_RESPONSE=0]="RAW_RESPONSE",e[e.SUGGESTED_QUESTIONS=1]="SUGGESTED_QUESTIONS",e[e.MAIN_TEXT_FINISHED=2]="MAIN_TEXT_FINISHED",e[e.WORKSPACE_FILE_CHUNKS=3]="WORKSPACE_FILE_CHUNKS",e[e.RELEVANT_SOURCES=4]="RELEVANT_SOURCES",e[e.TOOL_USE=5]="TOOL_USE",e[e.TOOL_USE_START=7]="TOOL_USE_START",e[e.THINKING=8]="THINKING",e[e.BILLING_METADATA=9]="BILLING_METADATA",e[e.TOKEN_USAGE=10]="TOKEN_USAGE"})(E0||(E0={}));var R0;(function(e){e[e.REASON_UNSPECIFIED=0]="REASON_UNSPECIFIED",e[e.END_TURN=1]="END_TURN",e[e.MAX_TOKENS=2]="MAX_TOKENS",e[e.TOOL_USE_REQUESTED=3]="TOOL_USE_REQUESTED",e[e.SAFETY=4]="SAFETY",e[e.RECITATION=5]="RECITATION",e[e.MALFORMED_FUNCTION_CALL=6]="MALFORMED_FUNCTION_CALL",e[e.STOP_REASON_ERROR=7]="STOP_REASON_ERROR"})(R0||(R0={}));var Z0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_ACCESS=1]="WEB_ACCESS",e[e.MCP=2]="MCP",e[e.CLI_TOOLS=4]="CLI_TOOLS",e[e.GITHUB=5]="GITHUB"})(Z0||(Z0={}));var S0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SALSA=1]="SALSA",e[e.AUGGIE=2]="AUGGIE"})(S0||(S0={}));var X0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.IDLE=1]="IDLE",e[e.PROCESSING=2]="PROCESSING",e[e.TERMINATED=3]="TERMINATED",e[e.COMPLETED=4]="COMPLETED",e[e.STARTING=5]="STARTING",e[e.WAITING_FOR_INPUT=6]="WAITING_FOR_INPUT"})(X0||(X0={}));var W0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.FORCE_ISOLATED=1]="FORCE_ISOLATED",e[e.FORCE_SHARED=2]="FORCE_SHARED"})(W0||(W0={}));var G0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BASE_IMAGE=1]="BASE_IMAGE",e[e.DAEMON_POOL=2]="DAEMON_POOL",e[e.UNPOOLED_DAEMON=3]="UNPOOLED_DAEMON"})(G0||(G0={}));var I0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.NAME_ASC=1]="NAME_ASC",e[e.NAME_DESC=2]="NAME_DESC",e[e.CREATED_BY_ASC=3]="CREATED_BY_ASC",e[e.CREATED_BY_DESC=4]="CREATED_BY_DESC",e[e.SIZE_ASC=5]="SIZE_ASC",e[e.SIZE_DESC=6]="SIZE_DESC",e[e.REPOS_ASC=7]="REPOS_ASC",e[e.REPOS_DESC=8]="REPOS_DESC",e[e.UPDATED_ASC=9]="UPDATED_ASC",e[e.UPDATED_DESC=10]="UPDATED_DESC",e[e.CREATED_ASC=11]="CREATED_ASC",e[e.CREATED_DESC=12]="CREATED_DESC"})(I0||(I0={}));var N0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PERSONAL=1]="PERSONAL",e[e.SHARED=2]="SHARED"})(N0||(N0={}));var F0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BUILD_FAILED=1]="BUILD_FAILED",e[e.EXECUTION_INTERRUPTED=2]="EXECUTION_INTERRUPTED",e[e.INTERNAL=3]="INTERNAL",e[e.VERSION_CONFLICT=4]="VERSION_CONFLICT",e[e.REFRESH_FAILED=5]="REFRESH_FAILED",e[e.RECONCILE_FAILED=6]="RECONCILE_FAILED",e[e.UPDATE_FAILED=7]="UPDATE_FAILED"})(F0||(F0={}));var B0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.QUEUED=1]="QUEUED",e[e.PREPARING=2]="PREPARING",e[e.BUILDING=3]="BUILDING",e[e.PROMOTING=4]="PROMOTING",e[e.UPDATING=6]="UPDATING"})(B0||(B0={}));var C0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PENDING=1]="PENDING",e[e.RUNNING=2]="RUNNING",e[e.CANCEL_REQUESTED=3]="CANCEL_REQUESTED",e[e.SUCCEEDED=4]="SUCCEEDED",e[e.FAILED=5]="FAILED",e[e.CANCELED=6]="CANCELED"})(C0||(C0={}));var an;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BASE_IMAGE_REBUILD=1]="BASE_IMAGE_REBUILD",e[e.BASE_IMAGE_BUILD=2]="BASE_IMAGE_BUILD",e[e.REFRESH=3]="REFRESH",e[e.REPOSITORY_RECONCILE=4]="REPOSITORY_RECONCILE",e[e.UPDATE=5]="UPDATE"})(an||(an={}));var Y0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ACTIVE=1]="ACTIVE",e[e.BUILDING=2]="BUILDING",e[e.FAILED=3]="FAILED",e[e.DEPRECATED=4]="DEPRECATED",e[e.DELETING=5]="DELETING"})(Y0||(Y0={}));var pr;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_ACCESS=1]="WEB_ACCESS",e[e.CLI_TOOLS=4]="CLI_TOOLS",e[e.GITHUB=7]="GITHUB",e[e.LINEAR=8]="LINEAR",e[e.ECHO=9]="ECHO",e[e.SLACK=11]="SLACK",e[e.GITHUB_APP=12]="GITHUB_APP",e[e.LINEAR_APP=13]="LINEAR_APP",e[e.CUSTOM_WEBHOOK=19]="CUSTOM_WEBHOOK",e[e.GITLAB=20]="GITLAB",e[e.GITLAB_APP=21]="GITLAB_APP",e[e.JIRA=23]="JIRA",e[e.CONFLUENCE=24]="CONFLUENCE",e[e.JIRA_APP=25]="JIRA_APP",e[e.CONFLUENCE_APP=26]="CONFLUENCE_APP",e[e.TEAMS=27]="TEAMS",e[e.AZURE_DEVOPS=28]="AZURE_DEVOPS",e[e.AZURE_DEVOPS_APP=29]="AZURE_DEVOPS_APP"})(pr||(pr={}));var rb;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BUILTIN_CAPABILITIES=1]="BUILTIN_CAPABILITIES",e[e.NAMES=2]="NAMES"})(rb||(rb={}));var y0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.REQUIRED_WORKER=1]="REQUIRED_WORKER"})(y0||(y0={}));var U0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.RESTORE_TARGET=1]="RESTORE_TARGET",e[e.EDIT_DEPENDENCIES=2]="EDIT_DEPENDENCIES"})(U0||(U0={}));var w0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MISSING=1]="MISSING",e[e.DELETED=2]="DELETED",e[e.INACCESSIBLE=3]="INACCESSIBLE"})(w0||(w0={}));var ob;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER"})(ob||(ob={}));var x0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SHARED=1]="SHARED",e[e.PRIVATE=2]="PRIVATE"})(x0||(x0={}));var v0;(function(e){e[e.CLOUD_EXPERT_VM_IMAGE_SOURCE_UNSPECIFIED=0]="CLOUD_EXPERT_VM_IMAGE_SOURCE_UNSPECIFIED",e[e.CLOUD_EXPERT_VM_IMAGE_SOURCE_PUBLIC=1]="CLOUD_EXPERT_VM_IMAGE_SOURCE_PUBLIC",e[e.CLOUD_EXPERT_VM_IMAGE_SOURCE_GCP_ARTIFACT_REGISTRY=2]="CLOUD_EXPERT_VM_IMAGE_SOURCE_GCP_ARTIFACT_REGISTRY"})(v0||(v0={}));var J0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.HUMAN=1]="HUMAN",e[e.SERVICE_ACCOUNT=2]="SERVICE_ACCOUNT"})(J0||(J0={}));var k0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER"})(k0||(k0={}));var _0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SYSTEM_MANAGED=1]="SYSTEM_MANAGED",e[e.USER_MANAGED=2]="USER_MANAGED"})(_0||(_0={}));var Q0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.WEB_PREVIEW=1]="WEB_PREVIEW",e[e.DISPLAY=2]="DISPLAY"})(Q0||(Q0={}));var T0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PENDING=1]="PENDING",e[e.ACTIVE=2]="ACTIVE",e[e.DISCONNECTED=3]="DISCONNECTED",e[e.REVOKED=4]="REVOKED",e[e.EXPIRED=5]="EXPIRED",e[e.CLOSED=6]="CLOSED",e[e.ERROR=7]="ERROR"})(T0||(T0={}));var K0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CODE=1]="CODE",e[e.CHAT_INPUT=2]="CHAT_INPUT"})(K0||(K0={}));var z0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CHAT=1]="CHAT",e[e.AGENT=2]="AGENT"})(z0||(z0={}));var D0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.NON_BYOK=1]="NON_BYOK",e[e.BYOK=2]="BYOK"})(D0||(D0={}));var L0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.USER=2]="USER",e[e.BYOK_STATUS=4]="BYOK_STATUS",e[e.RESOURCE=5]="RESOURCE",e[e.PRODUCT=6]="PRODUCT",e[e.EXPERT=7]="EXPERT"})(L0||(L0={}));var H0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.MODEL=1]="MODEL",e[e.COMPUTE=2]="COMPUTE"})(H0||(H0={}));var M0;(function(e){e[e.VALUES=0]="VALUES",e[e.ANY_VALUE=1]="ANY_VALUE",e[e.MISSING_VALUE=2]="MISSING_VALUE"})(M0||(M0={}));var O0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TOTAL=1]="TOTAL",e[e.DAY=2]="DAY",e[e.WEEK=3]="WEEK"})(O0||(O0={}));var j0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.USER=1]="USER",e[e.SERVICE_ACCOUNT=2]="SERVICE_ACCOUNT",e[e.BOT=3]="BOT"})(j0||(j0={}));var P0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.FIX=1]="FIX",e[e.FEATURE=2]="FEATURE",e[e.REFACTOR=3]="REFACTOR",e[e.DOCUMENTATION=4]="DOCUMENTATION",e[e.STYLE=5]="STYLE",e[e.TEST=6]="TEST",e[e.CHORE=7]="CHORE",e[e.REVERT=8]="REVERT",e[e.OTHER=9]="OTHER"})(P0||(P0={}));var q0;(function(e){e[e.EDIT_SOURCE_UNSPECIFIED=0]="EDIT_SOURCE_UNSPECIFIED",e[e.EDIT_SOURCE_USER_EDIT=1]="EDIT_SOURCE_USER_EDIT",e[e.EDIT_SOURCE_CHECKPOINT_REVERT=2]="EDIT_SOURCE_CHECKPOINT_REVERT"})(q0||(q0={}));var $0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.GITHUB=1]="GITHUB",e[e.LINEAR=2]="LINEAR",e[e.SCHEDULE=3]="SCHEDULE",e[e.SCHEDULE_TEMP=4]="SCHEDULE_TEMP"})($0||($0={}));var eS;(function(e){e[e.UNKNOWN_SOURCE=0]="UNKNOWN_SOURCE",e[e.DOCUMENTATION_SET=1]="DOCUMENTATION_SET"})(eS||(eS={}));var tS;(function(e){e[e.UNSET=0]="UNSET",e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=2]="NEGATIVE"})(tS||(tS={}));var nS;(function(e){e[e.GITHUB_ENTITY_TYPE_UNSPECIFIED=0]="GITHUB_ENTITY_TYPE_UNSPECIFIED",e[e.GITHUB_ENTITY_TYPE_PULL_REQUEST=1]="GITHUB_ENTITY_TYPE_PULL_REQUEST",e[e.GITHUB_ENTITY_TYPE_WORKFLOW_RUN=2]="GITHUB_ENTITY_TYPE_WORKFLOW_RUN"})(nS||(nS={}));var rS;(function(e){e[e.IMAGE_FORMAT_UNSPECIFIED=0]="IMAGE_FORMAT_UNSPECIFIED",e[e.PNG=1]="PNG",e[e.JPEG=2]="JPEG",e[e.GIF=3]="GIF",e[e.WEBP=4]="WEBP"})(rS||(rS={}));var oS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ISSUE=1]="ISSUE"})(oS||(oS={}));var iS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.NONE=1]="NONE",e[e.OAUTH=2]="OAUTH",e[e.API_KEY=3]="API_KEY"})(iS||(iS={}));var sS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.OPT_IN_REQUIRED=2]="OPT_IN_REQUIRED"})(sS||(sS={}));var lS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.USER=1]="USER",e[e.TENANT=2]="TENANT"})(lS||(lS={}));var aS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CLI=1]="CLI",e[e.CLOUD_AGENT=2]="CLOUD_AGENT"})(aS||(aS={}));var cS;(function(e){e[e.DISPLAY_TYPE_UNSPECIFIED=0]="DISPLAY_TYPE_UNSPECIFIED",e[e.DISPLAY_TYPE_TOAST=1]="DISPLAY_TYPE_TOAST",e[e.DISPLAY_TYPE_BANNER=2]="DISPLAY_TYPE_BANNER"})(cS||(cS={}));var dS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INFO=1]="INFO",e[e.WARNING=2]="WARNING",e[e.ERROR=3]="ERROR"})(dS||(dS={}));var uS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COSMOS=1]="COSMOS",e[e.NON_COSMOS=2]="NON_COSMOS"})(uS||(uS={}));var hS;(function(e){e[e.DEFAULT=0]="DEFAULT",e[e.PROTOTYPER=1]="PROTOTYPER",e[e.BRAINSTORM=2]="BRAINSTORM",e[e.REVIEWER=3]="REVIEWER"})(hS||(hS={}));var bS;(function(e){e[e.RESUME_AGENT_HINT_REASON_UNSPECIFIED=0]="RESUME_AGENT_HINT_REASON_UNSPECIFIED",e[e.RESUME_AGENT_HINT_REASON_TYPING_MESSAGE=1]="RESUME_AGENT_HINT_REASON_TYPING_MESSAGE",e[e.RESUME_AGENT_HINT_REASON_VIEWING_AGENT=2]="RESUME_AGENT_HINT_REASON_VIEWING_AGENT"})(bS||(bS={}));var fS;(function(e){e[e.AGENT_UNSPECIFIED=0]="AGENT_UNSPECIFIED",e[e.AGENT_PENDING=5]="AGENT_PENDING",e[e.AGENT_STARTING=1]="AGENT_STARTING",e[e.AGENT_RUNNING=2]="AGENT_RUNNING",e[e.AGENT_IDLE=3]="AGENT_IDLE",e[e.AGENT_FAILED=4]="AGENT_FAILED",e[e.AGENT_PAUSING=6]="AGENT_PAUSING",e[e.AGENT_PAUSED=7]="AGENT_PAUSED"})(fS||(fS={}));var mS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.RUNNING=1]="RUNNING",e[e.PAUSING=2]="PAUSING",e[e.PAUSED=3]="PAUSED",e[e.RESUMING=4]="RESUMING",e[e.DELETING=5]="DELETING"})(mS||(mS={}));var cn;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_SEARCH=1]="WEB_SEARCH",e[e.GITHUB_API=8]="GITHUB_API",e[e.GITHUB_APP_READONLY_API=18]="GITHUB_APP_READONLY_API",e[e.GITHUB_APP_POST_COMMENT=19]="GITHUB_APP_POST_COMMENT",e[e.GITHUB_APP_PR_DESCRIPTION=20]="GITHUB_APP_PR_DESCRIPTION",e[e.LINEAR=12]="LINEAR",e[e.JIRA=13]="JIRA",e[e.CONFLUENCE=14]="CONFLUENCE",e[e.NOTION=15]="NOTION",e[e.SUPABASE=16]="SUPABASE",e[e.GLEAN=17]="GLEAN"})(cn||(cn={}));var ib;(function(e){e[e.TOOL_EXECUTION_UNKNOWN_STATUS=0]="TOOL_EXECUTION_UNKNOWN_STATUS",e[e.TOOL_EXECUTION_SUCCESS=1]="TOOL_EXECUTION_SUCCESS",e[e.TOOL_NOT_FOUND=2]="TOOL_NOT_FOUND",e[e.INVALID_TOOL_INPUT=3]="INVALID_TOOL_INPUT",e[e.TOOL_EXECUTION_ERROR=4]="TOOL_EXECUTION_ERROR",e[e.TOOL_NOT_AVAILABLE=5]="TOOL_NOT_AVAILABLE",e[e.TOOL_AUTHENTICATION_ERROR=6]="TOOL_AUTHENTICATION_ERROR"})(ib||(ib={}));var AS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.RUNNING=1]="RUNNING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE",e[e.SKIPPED=4]="SKIPPED"})(AS||(AS={}));var VS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.IDE=1]="IDE",e[e.AUGMENT_ACTIONS=2]="AUGMENT_ACTIONS",e[e.SLACK_BOT=3]="SLACK_BOT",e[e.GITHUB_BOT=4]="GITHUB_BOT",e[e.LINEAR_BOT=5]="LINEAR_BOT",e[e.CLI=6]="CLI"})(VS||(VS={}));var gS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.UNIMPLEMENTED=1]="UNIMPLEMENTED",e[e.NOT_FOUND=2]="NOT_FOUND",e[e.SUCCESS=3]="SUCCESS",e[e.NOT_ACTIVE=4]="NOT_ACTIVE",e[e.FAILED=5]="FAILED"})(gS||(gS={}));var pS;(function(e){e[e.ALWAYS_ATTACHED=0]="ALWAYS_ATTACHED",e[e.MANUAL=1]="MANUAL",e[e.AGENT_REQUESTED=2]="AGENT_REQUESTED"})(pS||(pS={}));var ES;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.EXECUTION=1]="EXECUTION"})(ES||(ES={}));var dn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PERSONAL=1]="PERSONAL",e[e.SPACE=2]="SPACE",e[e.ORGANIZATION=3]="ORGANIZATION"})(dn||(dn={}));var Ao;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PRIVATE=1]="PRIVATE",e[e.SHARED=2]="SHARED"})(Ao||(Ao={}));var RS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.SYSTEM=1]="SYSTEM",e[e.CUSTOM=2]="CUSTOM"})(RS||(RS={}));var ZS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.UNIMPLEMENTED=1]="UNIMPLEMENTED",e[e.NOT_FOUND=2]="NOT_FOUND",e[e.OK=3]="OK",e[e.ERROR=4]="ERROR",e[e.SERVICE_UNAVAILABLE=5]="SERVICE_UNAVAILABLE",e[e.AUTHENTICATION_ERROR=6]="AUTHENTICATION_ERROR"})(ZS||(ZS={}));var sb;(function(e){e[e.UNKNOWN_STATUS=0]="UNKNOWN_STATUS",e[e.AVAILABLE=1]="AVAILABLE",e[e.USER_CONFIG_REQUIRED=2]="USER_CONFIG_REQUIRED"})(sb||(sb={}));var SS;(function(e){e[e.CONTENT_TYPE_UNSPECIFIED=0]="CONTENT_TYPE_UNSPECIFIED",e[e.CONTENT_TEXT=1]="CONTENT_TEXT",e[e.CONTENT_IMAGE=2]="CONTENT_IMAGE"})(SS||(SS={}));var XS;(function(e){e[e.TOOL_UNSAFE=0]="TOOL_UNSAFE",e[e.TOOL_SAFE=1]="TOOL_SAFE",e[e.TOOL_CHECK=2]="TOOL_CHECK"})(XS||(XS={}));var WS;(function(e){e[e.TRIGGER_CONDITION_TYPE_UNSPECIFIED=0]="TRIGGER_CONDITION_TYPE_UNSPECIFIED",e[e.TRIGGER_CONDITION_GITHUB=1]="TRIGGER_CONDITION_GITHUB",e[e.TRIGGER_CONDITION_LINEAR=2]="TRIGGER_CONDITION_LINEAR",e[e.TRIGGER_CONDITION_SCHEDULE=3]="TRIGGER_CONDITION_SCHEDULE"})(WS||(WS={}));var GS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CREDITS=1]="CREDITS",e[e.USD=2]="USD"})(GS||(GS={}));var BS=k("CiRzZXJ2aWNlcy9wb3NlaWRvbi9jYXBhYmlsaXRpZXMucHJvdG8SCHBvc2VpZG9uIlEKEUNsaVRvb2xEZWZpbml0aW9uEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSGQoRaW5wdXRfc2NoZW1hX2pzb24YAyABKAliBnByb3RvMw",[Vt,ee,$e]);var Ha=k("CipzZXJ2aWNlcy9wb3NlaWRvbi92aXJ0dWFsX2ZpbGVzeXN0ZW0ucHJvdG8SCHBvc2VpZG9uImwKF0FwcGVuZFZGU0NvbW1lbnRSZXF1ZXN0EhUKDWZpbGVzeXN0ZW1faWQYASABKAkSKAoFZXZlbnQYAiABKAsyGS5wb3NlaWRvbi5WRlNDb21tZW50RXZlbnQSEAoIc3BhY2VfaWQYAyABKAkiRAoYQXBwZW5kVkZTQ29tbWVudFJlc3BvbnNlEigKBWV2ZW50GAEgASgLMhkucG9zZWlkb24uVkZTQ29tbWVudEV2ZW50IrsBChdDb21taXRWRlNDaGFuZ2VzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEi0KDGZpbGVfY2hhbmdlcxgCIAMoCzIXLnBvc2VpZG9uLlZGU0ZpbGVDaGFuZ2USEwoLbW9kaWZpZWRfYnkYAyABKAkSFQoIYWdlbnRfaWQYBCABKAlIAIgBARIQCghzcGFjZV9pZBgFIAEoCRIPCgdmaWxlX2lkGAYgASgJQgsKCV9hZ2VudF9pZCJZChhDb21taXRWRlNDaGFuZ2VzUmVzcG9uc2USDwoHbmV3X3NlcRgBIAEoAxIsCg1za2lwcGVkX2ZpbGVzGAIgAygLMhUucG9zZWlkb24uU2tpcHBlZEZpbGUiVQocRW5zdXJlVkZTRmlsZUlkZW50aXR5UmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEAoIc3BhY2VfaWQYAyABKAkiewoWRmV0Y2hWRlNDaGFuZ2VzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEhEKCWFmdGVyX3NlcRgCIAEoAxIQCghzcGFjZV9pZBgDIAEoCRIQCghhZ2VudF9pZBgEIAEoCRITCgtwYXRoX3ByZWZpeBgFIAEoCSJaChdGZXRjaFZGU0NoYW5nZXNSZXNwb25zZRIrCgdjaGFuZ2VzGAEgAygLMhoucG9zZWlkb24uVkZTQ2hhbmdlU3VtbWFyeRISCgpsYXRlc3Rfc2VxGAIgASgDIncKGkZldGNoVkZTRmlsZUNvbnRlbnRSZXF1ZXN0EhUKDWZpbGVzeXN0ZW1faWQYASABKAkSDQoFcGF0aHMYAiADKAkSEAoIc3BhY2VfaWQYAyABKAkSDwoHZmlsZV9pZBgEIAEoCRIQCghhZ2VudF9pZBgFIAEoCSJGChtGZXRjaFZGU0ZpbGVDb250ZW50UmVzcG9uc2USJwoFZmlsZXMYASADKAsyGC5wb3NlaWRvbi5WRlNGaWxlQ29udGVudCKHAQoWTGlzdFZGU0NvbW1lbnRzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkSEAoIc3BhY2VfaWQYBSABKAkSDwoHZmlsZV9pZBgGIAEoCSJdChdMaXN0VkZTQ29tbWVudHNSZXNwb25zZRIpCgZldmVudHMYASADKAsyGS5wb3NlaWRvbi5WRlNDb21tZW50RXZlbnQSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIosBChpMaXN0VkZTRmlsZVZlcnNpb25zUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkSEAoIc3BhY2VfaWQYBSABKAkSDwoHZmlsZV9pZBgGIAEoCSJnChtMaXN0VkZTRmlsZVZlcnNpb25zUmVzcG9uc2USLwoIdmVyc2lvbnMYASADKAsyHS5wb3NlaWRvbi5WRlNGaWxlVmVyc2lvbkVudHJ5EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKHAQocTGlzdFZGU1ZlcnNpb25lZEZpbGVzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEhcKD2luY2x1ZGVfZGVsZXRlZBgCIAEoCBIRCglwYWdlX3NpemUYAyABKAUSEgoKcGFnZV90b2tlbhgEIAEoCRIQCghzcGFjZV9pZBgFIAEoCSJqCh1MaXN0VkZTVmVyc2lvbmVkRmlsZXNSZXNwb25zZRIwCgVmaWxlcxgBIAMoCzIhLnBvc2VpZG9uLlZGU1ZlcnNpb25lZEZpbGVTdW1tYXJ5EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKDAQoZUmVhZFZGU0ZpbGVWZXJzaW9uUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEQoJdGltZXN0YW1wGAMgASgJEgsKA3NlcRgEIAEoAxIQCghzcGFjZV9pZBgFIAEoCRIPCgdmaWxlX2lkGAYgASgJIl0KGlJlYWRWRlNGaWxlVmVyc2lvblJlc3BvbnNlEg8KB2NvbnRlbnQYASABKAwSCwoDc2VxGAIgASgDEgwKBHNpemUYAyABKAMSEwoLbW9kaWZpZWRfYnkYBCABKAkiMAodUmVzb2x2ZVZGU0ZpbGVJZGVudGl0eVJlcXVlc3QSDwoHZmlsZV9pZBgBIAEoCSIrCgtTa2lwcGVkRmlsZRIMCgRwYXRoGAEgASgJEg4KBnJlYXNvbhgCIAEoCSKBAQoQVkZTQ2hhbmdlU3VtbWFyeRIMCgRwYXRoGAEgASgJEgwKBHNpemUYAiABKAMSDQoFbXRpbWUYAyABKAMSEwoLbW9kaWZpZWRfYnkYBCABKAkSCwoDc2VxGAUgASgDEg8KB2RlbGV0ZWQYBiABKAgSDwoHZmlsZV9pZBgHIAEoCSKTAQoQVkZTQ29tbWVudEFuY2hvchITCgt2ZXJzaW9uX3NlcRgBIAEoAxINCgVxdW90ZRgCIAEoCRIRCglsaW5lX2hpbnQYAyABKAUSFAoMc3RhcnRfb2Zmc2V0GAQgASgFEhIKCmVuZF9vZmZzZXQYBSABKAUSDgoGcHJlZml4GAYgASgJEg4KBnN1ZmZpeBgHIAEoCSKwAwoPVkZTQ29tbWVudEV2ZW50EhAKCGV2ZW50X2lkGAEgASgJEhIKCmNvbW1lbnRfaWQYAiABKAkSDAoEcGF0aBgDIAEoCRIrCgRraW5kGAQgASgOMh0ucG9zZWlkb24uVkZTQ29tbWVudEV2ZW50S2luZBIMCgRib2R5GAYgASgJEioKBmFuY2hvchgHIAEoCzIaLnBvc2VpZG9uLlZGU0NvbW1lbnRBbmNob3ISEgoKY3JlYXRlZF9hdBgIIAEoCRIRCglwYXJlbnRfaWQYCSABKAkSEQoJYXV0aG9yX2lkGAogASgJEg8KB2ZpbGVfaWQYCyABKAkSLQoIbWVudGlvbnMYDCADKAsyGy5wb3NlaWRvbi5WRlNDb21tZW50TWVudGlvbhIWCg5yZWFjdGlvbl9lbW9qaRgNIAEoCRIzCgtyZWFjdGlvbl9vcBgOIAEoDjIeLnBvc2VpZG9uLlZGU0NvbW1lbnRSZWFjdGlvbk9wEhsKE2F1dGhvcl9kaXNwbGF5X25hbWUYDyABKAkSEAoIYWdlbnRfaWQYECABKAlKBAgFEAZSBmF1dGhvciKMAQoRVkZTQ29tbWVudE1lbnRpb24SLQoEdHlwZRgBIAEoDjIfLnBvc2VpZG9uLlZGU0NvbW1lbnRNZW50aW9uVHlwZRIKCgJpZBgCIAEoCRIPCgdkaXNwbGF5GAMgASgJEg0KBXN0YXJ0GAQgASgFEg4KBmxlbmd0aBgFIAEoBRIMCgRwYXRoGAYgASgJIlEKDVZGU0ZpbGVDaGFuZ2USDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgMEg8KB2RlbGV0ZWQYAyABKAgSEAoIYmFzZV9zZXEYBCABKAMiPAoOVkZTRmlsZUNvbnRlbnQSDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgMEgsKA3NlcRgDIAEoAyL4AQoTVkZTRmlsZUlkZW50aXR5SW5mbxIPCgdmaWxlX2lkGAEgASgJEhUKDWZpbGVzeXN0ZW1faWQYAiABKAkSEAoIc3BhY2VfaWQYAyABKAkSFAoMY3VycmVudF9wYXRoGAQgASgJEhMKC2N1cnJlbnRfc2VxGAUgASgDEg8KB2RlbGV0ZWQYBiABKAgSKAoFc2NvcGUYByABKA4yGS5wb3NlaWRvbi5GaWxlc3lzdGVtU2NvcGUSFQoNb3duZXJfdXNlcl9pZBgIIAEoCRIWCg5lZmZlY3RpdmVfcm9sZRgJIAEoCRISCgp1cGRhdGVkX2F0GAogASgJIuEBChNWRlNGaWxlVmVyc2lvbkVudHJ5EhEKCXRpbWVzdGFtcBgBIAEoCRILCgNzZXEYAiABKAMSDAoEc2l6ZRgDIAEoAxITCgttb2RpZmllZF9ieRgEIAEoCRIPCgdkZWxldGVkGAUgASgIEg8KB2ZpbGVfaWQYBiABKAkSFwoPcGF0aF9hdF92ZXJzaW9uGAcgASgJEhAKCGFnZW50X2lkGAggASgJEhsKE21vZGlmaWVkX2J5X3VzZXJfaWQYCSABKAkSHQoVbW9kaWZpZWRfYnlfdXNlcl9uYW1lGAogASgJImkKF1ZGU1ZlcnNpb25lZEZpbGVTdW1tYXJ5EgwKBHBhdGgYASABKAkSFQoNdmVyc2lvbl9jb3VudBgCIAEoBRIYChBsYXRlc3RfdGltZXN0YW1wGAMgASgJEg8KB2RlbGV0ZWQYBCABKAgqhwEKD0ZpbGVzeXN0ZW1TY29wZRIgChxGSUxFU1lTVEVNX1NDT1BFX1VOU1BFQ0lGSUVEEAASGwoXRklMRVNZU1RFTV9TQ09QRV9URU5BTlQQARIZChVGSUxFU1lTVEVNX1NDT1BFX1VTRVIQAhIaChZGSUxFU1lTVEVNX1NDT1BFX1NQQUNFEAMqvgIKE1ZGU0NvbW1lbnRFdmVudEtpbmQSJgoiVkZTX0NPTU1FTlRfRVZFTlRfS0lORF9VTlNQRUNJRklFRBAAEiIKHlZGU19DT01NRU5UX0VWRU5UX0tJTkRfQ1JFQVRFRBABEiEKHVZGU19DT01NRU5UX0VWRU5UX0tJTkRfRURJVEVEEAISIwofVkZTX0NPTU1FTlRfRVZFTlRfS0lORF9SRVNPTFZFRBADEiIKHlZGU19DT01NRU5UX0VWRU5UX0tJTkRfREVMRVRFRBAEEiUKIVZGU19DT01NRU5UX0VWRU5UX0tJTkRfUkVBTkNIT1JFRBAFEiMKH1ZGU19DT01NRU5UX0VWRU5UX0tJTkRfUkVPUEVORUQQBhIjCh9WRlNfQ09NTUVOVF9FVkVOVF9LSU5EX1JFQUNUSU9OEAcqhwEKFVZGU0NvbW1lbnRNZW50aW9uVHlwZRIoCiRWRlNfQ09NTUVOVF9NRU5USU9OX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1WRlNfQ09NTUVOVF9NRU5USU9OX1RZUEVfVVNFUhABEiEKHVZGU19DT01NRU5UX01FTlRJT05fVFlQRV9GSUxFEAIqhAEKFFZGU0NvbW1lbnRSZWFjdGlvbk9wEicKI1ZGU19DT01NRU5UX1JFQUNUSU9OX09QX1VOU1BFQ0lGSUVEEAASHwobVkZTX0NPTU1FTlRfUkVBQ1RJT05fT1BfQUREEAESIgoeVkZTX0NPTU1FTlRfUkVBQ1RJT05fT1BfUkVNT1ZFEAJiBnByb3RvMw",[ee]);var CS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER",e[e.SPACE=3]="SPACE"})(CS||(CS={}));var YS;(function(e){e[e.VFS_COMMENT_EVENT_KIND_UNSPECIFIED=0]="VFS_COMMENT_EVENT_KIND_UNSPECIFIED",e[e.VFS_COMMENT_EVENT_KIND_CREATED=1]="VFS_COMMENT_EVENT_KIND_CREATED",e[e.VFS_COMMENT_EVENT_KIND_EDITED=2]="VFS_COMMENT_EVENT_KIND_EDITED",e[e.VFS_COMMENT_EVENT_KIND_RESOLVED=3]="VFS_COMMENT_EVENT_KIND_RESOLVED",e[e.VFS_COMMENT_EVENT_KIND_DELETED=4]="VFS_COMMENT_EVENT_KIND_DELETED",e[e.VFS_COMMENT_EVENT_KIND_REANCHORED=5]="VFS_COMMENT_EVENT_KIND_REANCHORED",e[e.VFS_COMMENT_EVENT_KIND_REOPENED=6]="VFS_COMMENT_EVENT_KIND_REOPENED",e[e.VFS_COMMENT_EVENT_KIND_REACTION=7]="VFS_COMMENT_EVENT_KIND_REACTION"})(YS||(YS={}));var yS;(function(e){e[e.VFS_COMMENT_MENTION_TYPE_UNSPECIFIED=0]="VFS_COMMENT_MENTION_TYPE_UNSPECIFIED",e[e.VFS_COMMENT_MENTION_TYPE_USER=1]="VFS_COMMENT_MENTION_TYPE_USER",e[e.VFS_COMMENT_MENTION_TYPE_FILE=2]="VFS_COMMENT_MENTION_TYPE_FILE"})(yS||(yS={}));var US;(function(e){e[e.VFS_COMMENT_REACTION_OP_UNSPECIFIED=0]="VFS_COMMENT_REACTION_OP_UNSPECIFIED",e[e.VFS_COMMENT_REACTION_OP_ADD=1]="VFS_COMMENT_REACTION_OP_ADD",e[e.VFS_COMMENT_REACTION_OP_REMOVE=2]="VFS_COMMENT_REACTION_OP_REMOVE"})(US||(US={}));var kS=k("CiBzZXJ2aWNlcy9wb3NlaWRvbi9wb3NlaWRvbi5wcm90bxIIcG9zZWlkb24i/wIKE0Nvbm5lY3RDbGlWbVJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkSDQoFdm1faWQYAiABKAkSFgoOd29ya3NwYWNlX3BhdGgYAyABKAkSHgoWY2FwYWJpbGl0eV9pbnN0YW5jZV9pZBgEIAEoCRI0Cg9hdmFpbGFibGVfdG9vbHMYBSADKAsyGy5wb3NlaWRvbi5DbGlUb29sRGVmaW5pdGlvbhI0Cg9jb25uZWN0aW9uX21vZGUYBiABKA4yGy5wb3NlaWRvbi5DbGlDb25uZWN0aW9uTW9kZRIUCgxwYXJlbnRfdm1faWQYByABKAkSGQoRZGFlbW9uX2NvbW1hbmRfaWQYCCABKAkSGwoTY2xpZW50X2NhcGFiaWxpdGllcxgJIAMoCRITCgtjbGlfdmVyc2lvbhgKIAEoCRIkChdwcm92aXNpb25pbmdfZ2VuZXJhdGlvbhgLIAEoA0gAiAEBQhoKGF9wcm92aXNpb25pbmdfZ2VuZXJhdGlvbiLjAwoUQ29ubmVjdENsaVZtUmVzcG9uc2USDQoFdm1faWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJEjQKDHJlbW90ZV90b29scxgEIAMoCzIeLnBvc2VpZG9uLlJlbW90ZVRvb2xEZWZpbml0aW9uEjYKDnNlc3Npb25fY29uZmlnGAUgASgLMh4ucG9zZWlkb24uU2Vzc2lvbkNvbmZpZ3VyYXRpb24SFgoObWNwX2NvbmZpZ19pZHMYBiADKAkSSwoPdmZzX2ZpbGVzeXN0ZW1zGAcgAygLMjIucG9zZWlkb24uQ29ubmVjdENsaVZtUmVzcG9uc2UuVmZzRmlsZXN5c3RlbXNFbnRyeRIRCglleHBlcnRfaWQYCyABKAkSEwoLcGVyc29uYV9pZHMYDCADKAkSEAoIc3BhY2VfaWQYDSABKAkSEwoLd29ya2Zsb3dfaWQYDiABKAkSHwoXYWN0aXZlX2dlbmVyYXRpb25fZXBvY2gYDyABKAMSGgoSY29ubmVjdGlvbl92ZXJzaW9uGBAgASgDGjUKE1Zmc0ZpbGVzeXN0ZW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK4AQohQ3JlYXRlSG9zdGVkQXJ0aWZhY3RVcGxvYWRSZXF1ZXN0EjYKCnZpc2liaWxpdHkYASABKA4yIi5wb3NlaWRvbi5Ib3N0ZWRBcnRpZmFjdFZpc2liaWxpdHkSEgoKbWVkaWFfdHlwZRgCIAEoCRISCgpzaXplX2J5dGVzGAMgASgDEhIKCnNoYTI1Nl9oZXgYBCABKAkSDQoFbGFiZWwYBSABKAkSEAoIZmlsZW5hbWUYBiABKAkiwQIKIkNyZWF0ZUhvc3RlZEFydGlmYWN0VXBsb2FkUmVzcG9uc2USGgoSaG9zdGVkX2FydGlmYWN0X2lkGAEgASgJEhYKDnNpZ25lZF9wdXRfdXJsGAIgASgJElsKEHJlcXVpcmVkX2hlYWRlcnMYAyADKAsyQS5wb3NlaWRvbi5DcmVhdGVIb3N0ZWRBcnRpZmFjdFVwbG9hZFJlc3BvbnNlLlJlcXVpcmVkSGVhZGVyc0VudHJ5EjkKFXNpZ25lZF91cmxfZXhwaXJlc19hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaNgoUUmVxdWlyZWRIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAUQBlIRZXhpc3RpbmdfYXJ0aWZhY3QiUAobRGVsZXRlSG9zdGVkQXJ0aWZhY3RSZXF1ZXN0EhoKEmhvc3RlZF9hcnRpZmFjdF9pZBgBIAEoCRIVCg1jYW5vbmljYWxfdXJsGAIgASgJIh4KHERlbGV0ZUhvc3RlZEFydGlmYWN0UmVzcG9uc2UiTQodRmluYWxpemVIb3N0ZWRBcnRpZmFjdFJlcXVlc3QSGgoSaG9zdGVkX2FydGlmYWN0X2lkGAEgASgJEhAKCGZpbGVuYW1lGAIgASgJIkwKHkZpbmFsaXplSG9zdGVkQXJ0aWZhY3RSZXNwb25zZRIqCghhcnRpZmFjdBgBIAEoCzIYLnBvc2VpZG9uLkhvc3RlZEFydGlmYWN0Ir0CCg5Ib3N0ZWRBcnRpZmFjdBIaChJob3N0ZWRfYXJ0aWZhY3RfaWQYASABKAkSNgoKdmlzaWJpbGl0eRgCIAEoDjIiLnBvc2VpZG9uLkhvc3RlZEFydGlmYWN0VmlzaWJpbGl0eRISCgptZWRpYV90eXBlGAMgASgJEhIKCnNpemVfYnl0ZXMYBCABKAMSEgoKc2hhMjU2X2hleBgFIAEoCRINCgVsYWJlbBgGIAEoCRIVCg1vd25lcl91c2VyX2lkGAcgASgJEhUKDWNhbm9uaWNhbF91cmwYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiaQoUUmVtb3RlVG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIZChFpbnB1dF9zY2hlbWFfanNvbhgDIAEoCRITCgt0b29sX3NhZmV0eRgEIAEoCSLoAwoUU2Vzc2lvbkNvbmZpZ3VyYXRpb24SEgoFbW9kZWwYASABKAlIAIgBARIlCh1pbmNsdWRlX2RlZmF1bHRfc3lzdGVtX3Byb21wdBgCIAEoCBIVCg1zeXN0ZW1fcHJvbXB0GAMgASgJEi8KCnZpc2liaWxpdHkYBCABKA4yGy5wb3NlaWRvbi5TZXNzaW9uVmlzaWJpbGl0eRI0Cg9hZ2VudF9sb29wX3R5cGUYBSABKA4yFy5wb3NlaWRvbi5BZ2VudExvb3BUeXBlQgIYARJHCg11c2VyX21ldGFkYXRhGAYgAygLMjAucG9zZWlkb24uU2Vzc2lvbkNvbmZpZ3VyYXRpb24uVXNlck1ldGFkYXRhRW50cnkSHAoUYXV0b19jbGVhbnVwX29uX2lkbGUYByABKAgSGQoRd29ya2VyX2V4cGVydF9pZHMYCCADKAkSIgoadXNlX2FsbF9leHBlcnRzX2FzX3dvcmtlcnMYCSABKAgSHQoQcmVhc29uaW5nX2VmZm9ydBgKIAEoCUgBiAEBGjMKEVVzZXJNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCAoGX21vZGVsQhMKEV9yZWFzb25pbmdfZWZmb3J0KmcKDUFnZW50TG9vcFR5cGUSHwobQUdFTlRfTE9PUF9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVQUdFTlRfTE9PUF9UWVBFX1NBTFNBEAESGgoWQUdFTlRfTE9PUF9UWVBFX0FVR0dJRRACKpsBChFDbGlDb25uZWN0aW9uTW9kZRIfChtDTElfQ09OTkVDVElPTl9NT0RFX1VOS05PV04QABIlCiFDTElfQ09OTkVDVElPTl9NT0RFX1RPT0xfUFJPVklERVIQARIdChlDTElfQ09OTkVDVElPTl9NT0RFX0FHRU5UEAISHwobQ0xJX0NPTk5FQ1RJT05fTU9ERV9XQUlUSU5HEAMqmAEKGEhvc3RlZEFydGlmYWN0VmlzaWJpbGl0eRIqCiZIT1NURURfQVJUSUZBQ1RfVklTSUJJTElUWV9VTlNQRUNJRklFRBAAEikKJUhPU1RFRF9BUlRJRkFDVF9WSVNJQklMSVRZX1NFQ1JFVF9VUkwQARIlCiFIT1NURURfQVJUSUZBQ1RfVklTSUJJTElUWV9URU5BTlQQAip2ChFTZXNzaW9uVmlzaWJpbGl0eRIiCh5TRVNTSU9OX1ZJU0lCSUxJVFlfVU5TUEVDSUZJRUQQABIdChlTRVNTSU9OX1ZJU0lCSUxJVFlfU0hBUkVEEAESHgoaU0VTU0lPTl9WSVNJQklMSVRZX1BSSVZBVEUQAmIGcHJvdG8z",[rr,bV,ee,$e,BS,Ha]);var wS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SALSA=1]="SALSA",e[e.AUGGIE=2]="AUGGIE"})(wS||(wS={}));var xS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TOOL_PROVIDER=1]="TOOL_PROVIDER",e[e.AGENT=2]="AGENT",e[e.WAITING=3]="WAITING"})(xS||(xS={}));var vS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SECRET_URL=1]="SECRET_URL",e[e.TENANT=2]="TENANT"})(vS||(vS={}));var JS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SHARED=1]="SHARED",e[e.PRIVATE=2]="PRIVATE"})(JS||(JS={}));var gJ=k("CitzZXJ2aWNlcy9hcGlfcHJveHkvcHVibGljX2FwaV9zZXJ2aWNlLnByb3RvEgpwdWJsaWNfYXBpIpIBCixDbG91ZEFnZW50c0Vuc3VyZVZGU0ZpbGVJZGVudGl0eUh0dHBSZXNwb25zZRIvCghpZGVudGl0eRgBIAEoCzIdLnBvc2VpZG9uLlZGU0ZpbGVJZGVudGl0eUluZm8SGAoQd2ViX2FwcF9iYXNlX3VybBgCIAEoCRIXCg9hcHBfcGF0aF9wcmVmaXgYAyABKAkieAotQ2xvdWRBZ2VudHNSZXNvbHZlVkZTRmlsZUlkZW50aXR5SHR0cFJlc3BvbnNlEi8KCGlkZW50aXR5GAEgASgLMh0ucG9zZWlkb24uVkZTRmlsZUlkZW50aXR5SW5mbxIWCg5jYWxsZXJfdXNlcl9pZBgCIAEoCTLZ8AIKEEF1Z21lbnRQdWJsaWNBcGkSaAoLQmF0Y2hVcGxvYWQSHi5wdWJsaWNfYXBpLkJhdGNoVXBsb2FkUmVxdWVzdBofLnB1YmxpY19hcGkuQmF0Y2hVcGxvYWRSZXNwb25zZSIYgtPkkwISIg0vYmF0Y2gtdXBsb2FkOgEqEksKBENoYXQSFy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0GhgucHVibGljX2FwaS5DaGF0UmVzcG9uc2UiEILT5JMCCiIFL2NoYXQ6ASoSWgoKQ2hhdFN0cmVhbRIXLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3QaGC5wdWJsaWNfYXBpLkNoYXRSZXNwb25zZSIXgtPkkwIRIgwvY2hhdC1zdHJlYW06ASowARJiCg5Qcm9tcHRFbmhhbmNlchIXLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3QaGC5wdWJsaWNfYXBpLkNoYXRSZXNwb25zZSIbgtPkkwIVIhAvcHJvbXB0LWVuaGFuY2VyOgEqMAESoAEKG0dlbmVyYXRlQ29tbWl0TWVzc2FnZVN0cmVhbRIoLnB1YmxpY19hcGkuR2VuZXJhdGVDb21taXRNZXNzYWdlUmVxdWVzdBopLnB1YmxpY19hcGkuR2VuZXJhdGVDb21taXRNZXNzYWdlUmVzcG9uc2UiKoLT5JMCJCIfL2dlbmVyYXRlLWNvbW1pdC1tZXNzYWdlLXN0cmVhbToBKjABEnUKEFNtYXJ0UGFzdGVTdHJlYW0SHi5wdWJsaWNfYXBpLkluc3RydWN0aW9uUmVxdWVzdBofLnB1YmxpY19hcGkuSW5zdHJ1Y3Rpb25SZXNwb25zZSIegtPkkwIYIhMvc21hcnQtcGFzdGUtc3RyZWFtOgEqMAESeAoPQ2hlY2twb2ludEJsb2JzEiIucHVibGljX2FwaS5DaGVja3BvaW50QmxvYnNSZXF1ZXN0GiMucHVibGljX2FwaS5DaGVja3BvaW50QmxvYnNSZXNwb25zZSIcgtPkkwIWIhEvY2hlY2twb2ludC1ibG9iczoBKhJjCgpDb21wbGV0aW9uEh0ucHVibGljX2FwaS5Db21wbGV0aW9uUmVxdWVzdBoeLnB1YmxpY19hcGkuQ29tcGxldGlvblJlc3BvbnNlIhaC0+STAhAiCy9jb21wbGV0aW9uOgEqEokBChNDaGF0SW5wdXRDb21wbGV0aW9uEiYucHVibGljX2FwaS5DaGF0SW5wdXRDb21wbGV0aW9uUmVxdWVzdBonLnB1YmxpY19hcGkuQ2hhdElucHV0Q29tcGxldGlvblJlc3BvbnNlIiGC0+STAhsiFi9jaGF0LWlucHV0LWNvbXBsZXRpb246ASoSegoVUmVzb2x2ZUNvbXBsZXRpb25zUnBjEh4ucHVibGljX2FwaS5SZXNvbHZlQ29tcGxldGlvbnMaIC5wdWJsaWNfYXBpLkNvbXBsZXRpb25SZXNvbHV0aW9uIh+C0+STAhkiFC9yZXNvbHZlLWNvbXBsZXRpb25zOgEqEoABChFSZXNvbHZlU21hcnRQYXN0ZRIgLnB1YmxpY19hcGkuU21hcnRQYXN0ZVJlc29sdXRpb24aKC5wdWJsaWNfYXBpLlNtYXJ0UGFzdGVSZXNvbHV0aW9uUmVzcG9uc2UiH4LT5JMCGSIUL3Jlc29sdmUtc21hcnQtcGFzdGU6ASoSpQEKGlJlc29sdmVDaGF0SW5wdXRDb21wbGV0aW9uEikucHVibGljX2FwaS5DaGF0SW5wdXRDb21wbGV0aW9uUmVzb2x1dGlvbhoxLnB1YmxpY19hcGkuQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb25SZXNwb25zZSIpgtPkkwIjIh4vcmVzb2x2ZS1jaGF0LWlucHV0LWNvbXBsZXRpb246ASoSSwoERWRpdBIXLnB1YmxpY19hcGkuRWRpdFJlcXVlc3QaGC5wdWJsaWNfYXBpLkVkaXRSZXNwb25zZSIQgtPkkwIKIgUvZWRpdDoBKhJkCgtSZXNvbHZlRWRpdBIaLnB1YmxpY19hcGkuRWRpdFJlc29sdXRpb24aHy5wdWJsaWNfYXBpLlJlc29sdmVFZGl0UmVzcG9uc2UiGILT5JMCEiINL3Jlc29sdmUtZWRpdDoBKhKaAQoWT25ib2FyZGluZ1Nlc3Npb25FdmVudBInLnB1YmxpY19hcGkuT25ib2FyZGluZ1Nlc3Npb25FdmVudEJhdGNoGioucHVibGljX2FwaS5PbmJvYXJkaW5nU2Vzc2lvbkV2ZW50UmVzcG9uc2UiK4LT5JMCJSIgL3JlY29yZC1vbmJvYXJkaW5nLXNlc3Npb24tZXZlbnQ6ASoSggEKFlJlY29yZFByZWZlcmVuY2VTYW1wbGUSHC5wdWJsaWNfYXBpLlByZWZlcmVuY2VTYW1wbGUaJC5wdWJsaWNfYXBpLlByZWZlcmVuY2VTYW1wbGVSZXNwb25zZSIkgtPkkwIeIhkvcmVjb3JkLXByZWZlcmVuY2Utc2FtcGxlOgEqEmgKC0ZpbmRNaXNzaW5nEh4ucHVibGljX2FwaS5GaW5kTWlzc2luZ1JlcXVlc3QaHy5wdWJsaWNfYXBpLkZpbmRNaXNzaW5nUmVzcG9uc2UiGILT5JMCEiINL2ZpbmQtbWlzc2luZzoBKhKXAQoXTGlzdEV4dGVybmFsU291cmNlVHlwZXMSKi5wdWJsaWNfYXBpLkxpc3RFeHRlcm5hbFNvdXJjZVR5cGVzUmVxdWVzdBorLnB1YmxpY19hcGkuTGlzdEV4dGVybmFsU291cmNlVHlwZXNSZXNwb25zZSIjgtPkkwIdIhsvbGlzdC1leHRlcm5hbC1zb3VyY2UtdHlwZXMSkQEKFVNlYXJjaEV4dGVybmFsU291cmNlcxIoLnB1YmxpY19hcGkuU2VhcmNoRXh0ZXJuYWxTb3VyY2VzUmVxdWVzdBopLnB1YmxpY19hcGkuU2VhcmNoRXh0ZXJuYWxTb3VyY2VzUmVzcG9uc2UiI4LT5JMCHSIYL3NlYXJjaC1leHRlcm5hbC1zb3VyY2VzOgEqEqYBChpHZXRJbXBsaWNpdEV4dGVybmFsU291cmNlcxItLnB1YmxpY19hcGkuR2V0SW1wbGljaXRFeHRlcm5hbFNvdXJjZXNSZXF1ZXN0Gi4ucHVibGljX2FwaS5HZXRJbXBsaWNpdEV4dGVybmFsU291cmNlc1Jlc3BvbnNlIimC0+STAiMiHi9nZXQtaW1wbGljaXQtZXh0ZXJuYWwtc291cmNlczoBKhJdCglHZXRNb2RlbHMSHC5wdWJsaWNfYXBpLkdldE1vZGVsc1JlcXVlc3QaHS5wdWJsaWNfYXBpLkdldE1vZGVsc1Jlc3BvbnNlIhOC0+STAg0iCy9nZXQtbW9kZWxzEl4KCE1lbW9yaXplEhsucHVibGljX2FwaS5NZW1vcml6ZVJlcXVlc3QaHC5wdWJsaWNfYXBpLk1lbW9yaXplUmVzcG9uc2UiF4gCAYLT5JMCDiIJL21lbW9yaXplOgEqEmgKC1JlcG9ydEVycm9yEh4ucHVibGljX2FwaS5SZXBvcnRFcnJvclJlcXVlc3QaHy5wdWJsaWNfYXBpLlJlcG9ydEVycm9yUmVzcG9uc2UiGILT5JMCEiINL3JlcG9ydC1lcnJvcjoBKhJxCg1HZXRDcmVkaXRJbmZvEiAucHVibGljX2FwaS5HZXRDcmVkaXRJbmZvUmVxdWVzdBohLnB1YmxpY19hcGkuR2V0Q3JlZGl0SW5mb1Jlc3BvbnNlIhuC0+STAhUiEC9nZXQtY3JlZGl0LWluZm86ASoSfQoQR2V0Q29zdEFuYWx5dGljcxIjLnB1YmxpY19hcGkuR2V0Q29zdEFuYWx5dGljc1JlcXVlc3QaJC5wdWJsaWNfYXBpLkdldENvc3RBbmFseXRpY3NSZXNwb25zZSIegtPkkwIYIhMvZ2V0LWNvc3QtYW5hbHl0aWNzOgEqEoYBChJHZXRDb3N0QW5hbHl0aWNzVjISJS5wdWJsaWNfYXBpLkdldENvc3RBbmFseXRpY3NWMlJlcXVlc3QaJi5wdWJsaWNfYXBpLkdldENvc3RBbmFseXRpY3NWMlJlc3BvbnNlIiGC0+STAhsiFi9nZXQtY29zdC1hbmFseXRpY3MtdjI6ASoSiQEKE0dldE91dGNvbWVBbmFseXRpY3MSJi5wdWJsaWNfYXBpLkdldE91dGNvbWVBbmFseXRpY3NSZXF1ZXN0GicucHVibGljX2FwaS5HZXRPdXRjb21lQW5hbHl0aWNzUmVzcG9uc2UiIYLT5JMCGyIWL2dldC1vdXRjb21lLWFuYWx5dGljczoBKhJcCghMaXN0VGFncxIbLnB1YmxpY19hcGkuTGlzdFRhZ3NSZXF1ZXN0GhwucHVibGljX2FwaS5MaXN0VGFnc1Jlc3BvbnNlIhWC0+STAg8iCi9saXN0LXRhZ3M6ASoSiQEKE0dldFNlc3Npb25BbmFseXRpY3MSJi5wdWJsaWNfYXBpLkdldFNlc3Npb25BbmFseXRpY3NSZXF1ZXN0GicucHVibGljX2FwaS5HZXRTZXNzaW9uQW5hbHl0aWNzUmVzcG9uc2UiIYLT5JMCGyIWL2dldC1zZXNzaW9uLWFuYWx5dGljczoBKhJ5Cg9HZXRTZXNzaW9uVXNhZ2USIi5wdWJsaWNfYXBpLkdldFNlc3Npb25Vc2FnZVJlcXVlc3QaIy5wdWJsaWNfYXBpLkdldFNlc3Npb25Vc2FnZVJlc3BvbnNlIh2C0+STAhciEi9nZXQtc2Vzc2lvbi11c2FnZToBKhKBAQoRR2V0QmlsbGluZ1N1bW1hcnkSJC5wdWJsaWNfYXBpLkdldEJpbGxpbmdTdW1tYXJ5UmVxdWVzdBolLnB1YmxpY19hcGkuR2V0QmlsbGluZ1N1bW1hcnlSZXNwb25zZSIfgtPkkwIZIhQvZ2V0LWJpbGxpbmctc3VtbWFyeToBKhJ2ChNSZXBvcnRDbGllbnRNZXRyaWNzEiAucHVibGljX2FwaS5DbGllbnRNZXRyaWNzUmVxdWVzdBohLnB1YmxpY19hcGkuQ2xpZW50TWV0cmljc1Jlc3BvbnNlIhqC0+STAhQiDy9jbGllbnQtbWV0cmljczoBKhKJAQoTUmVwb3J0RmVhdHVyZVZlY3RvchImLnB1YmxpY19hcGkuUmVwb3J0RmVhdHVyZVZlY3RvclJlcXVlc3QaJy5wdWJsaWNfYXBpLlJlcG9ydEZlYXR1cmVWZWN0b3JSZXNwb25zZSIhgtPkkwIbIhYvcmVwb3J0LWZlYXR1cmUtdmVjdG9yOgEqEoEBChZTZW5kQ29tcGxldGlvbkZlZWRiYWNrEh4ucHVibGljX2FwaS5Db21wbGV0aW9uRmVlZGJhY2saJi5wdWJsaWNfYXBpLkNvbXBsZXRpb25GZWVkYmFja1Jlc3BvbnNlIh+C0+STAhkiFC9jb21wbGV0aW9uLWZlZWRiYWNrOgEqEmkKEFNlbmRDaGF0RmVlZGJhY2sSGC5wdWJsaWNfYXBpLkNoYXRGZWVkYmFjaxogLnB1YmxpY19hcGkuQ2hhdEZlZWRiYWNrUmVzcG9uc2UiGYLT5JMCEyIOL2NoYXQtZmVlZGJhY2s6ASoSogEKHFNlbmRDbGllbnRDb21wbGV0aW9uVGltZWxpbmUSKy5wdWJsaWNfYXBpLkNsaWVudENvbXBsZXRpb25UaW1lbGluZVJlcXVlc3QaLC5wdWJsaWNfYXBpLkNsaWVudENvbXBsZXRpb25UaW1lbGluZVJlc3BvbnNlIieC0+STAiEiHC9jbGllbnQtY29tcGxldGlvbi10aW1lbGluZXM6ASoSfgoQVXBzZXJ0VXNlclNlY3JldBIjLnB1YmxpY19hcGkuVXBzZXJ0VXNlclNlY3JldFJlcXVlc3QaJC5wdWJsaWNfYXBpLlVwc2VydFVzZXJTZWNyZXRSZXNwb25zZSIfgtPkkwIZIhQvdXNlci1zZWNyZXRzL3Vwc2VydDoBKhJyCg1HZXRVc2VyU2VjcmV0EiAucHVibGljX2FwaS5HZXRVc2VyU2VjcmV0UmVxdWVzdBohLnB1YmxpY19hcGkuR2V0VXNlclNlY3JldFJlc3BvbnNlIhyC0+STAhYiES91c2VyLXNlY3JldHMvZ2V0OgEqEm4KDEdldE1jcFNlY3JldBIfLnB1YmxpY19hcGkuR2V0TWNwU2VjcmV0UmVxdWVzdBogLnB1YmxpY19hcGkuR2V0TWNwU2VjcmV0UmVzcG9uc2UiG4LT5JMCFSIQL21jcC1zZWNyZXRzL2dldDoBKhJ5Cg9MaXN0VXNlclNlY3JldHMSIi5wdWJsaWNfYXBpLkxpc3RVc2VyU2VjcmV0c1JlcXVlc3QaIy5wdWJsaWNfYXBpLkxpc3RVc2VyU2VjcmV0c1Jlc3BvbnNlIh2C0+STAhciEi91c2VyLXNlY3JldHMvbGlzdDoBKhJ+ChBEZWxldGVVc2VyU2VjcmV0EiMucHVibGljX2FwaS5EZWxldGVVc2VyU2VjcmV0UmVxdWVzdBokLnB1YmxpY19hcGkuRGVsZXRlVXNlclNlY3JldFJlc3BvbnNlIh+C0+STAhkiFC91c2VyLXNlY3JldHMvZGVsZXRlOgEqEnsKDkdldFVzZXJTZWNyZXRzEiEucHVibGljX2FwaS5HZXRVc2VyU2VjcmV0c1JlcXVlc3QaIi5wdWJsaWNfYXBpLkdldFVzZXJTZWNyZXRzUmVzcG9uc2UiIoLT5JMCHCIXL3VzZXItc2VjcmV0cy9nZXQtYmF0Y2g6ASoSlwEKFk1pZ3JhdGVVc2VyU2VjcmV0U2NvcGUSKS5wdWJsaWNfYXBpLk1pZ3JhdGVVc2VyU2VjcmV0U2NvcGVSZXF1ZXN0GioucHVibGljX2FwaS5NaWdyYXRlVXNlclNlY3JldFNjb3BlUmVzcG9uc2UiJoLT5JMCICIbL3VzZXItc2VjcmV0cy9taWdyYXRlLXNjb3BlOgEqEn4KEFJlbmFtZVVzZXJTZWNyZXQSIy5wdWJsaWNfYXBpLlJlbmFtZVVzZXJTZWNyZXRSZXF1ZXN0GiQucHVibGljX2FwaS5SZW5hbWVVc2VyU2VjcmV0UmVzcG9uc2UiH4LT5JMCGSIUL3VzZXItc2VjcmV0cy9yZW5hbWU6ASoSegoPR2V0VGVuYW50U2VjcmV0EiIucHVibGljX2FwaS5HZXRUZW5hbnRTZWNyZXRSZXF1ZXN0GiMucHVibGljX2FwaS5HZXRUZW5hbnRTZWNyZXRSZXNwb25zZSIegtPkkwIYIhMvdGVuYW50LXNlY3JldHMvZ2V0OgEqEoMBChBHZXRUZW5hbnRTZWNyZXRzEiMucHVibGljX2FwaS5HZXRUZW5hbnRTZWNyZXRzUmVxdWVzdBokLnB1YmxpY19hcGkuR2V0VGVuYW50U2VjcmV0c1Jlc3BvbnNlIiSC0+STAh4iGS90ZW5hbnQtc2VjcmV0cy9nZXQtYmF0Y2g6ASoShgEKElVwc2VydFRlbmFudFNlY3JldBIlLnB1YmxpY19hcGkuVXBzZXJ0VGVuYW50U2VjcmV0UmVxdWVzdBomLnB1YmxpY19hcGkuVXBzZXJ0VGVuYW50U2VjcmV0UmVzcG9uc2UiIYLT5JMCGyIWL3RlbmFudC1zZWNyZXRzL3Vwc2VydDoBKhKBAQoRTGlzdFRlbmFudFNlY3JldHMSJC5wdWJsaWNfYXBpLkxpc3RUZW5hbnRTZWNyZXRzUmVxdWVzdBolLnB1YmxpY19hcGkuTGlzdFRlbmFudFNlY3JldHNSZXNwb25zZSIfgtPkkwIZIhQvdGVuYW50LXNlY3JldHMvbGlzdDoBKhKGAQoSRGVsZXRlVGVuYW50U2VjcmV0EiUucHVibGljX2FwaS5EZWxldGVUZW5hbnRTZWNyZXRSZXF1ZXN0GiYucHVibGljX2FwaS5EZWxldGVUZW5hbnRTZWNyZXRSZXNwb25zZSIhgtPkkwIbIhYvdGVuYW50LXNlY3JldHMvZGVsZXRlOgEqElwKCFNhdmVDaGF0EhsucHVibGljX2FwaS5TYXZlQ2hhdFJlcXVlc3QaHC5wdWJsaWNfYXBpLlNhdmVDaGF0UmVzcG9uc2UiFYLT5JMCDyIKL3NhdmUtY2hhdDoBKhKJAQoTUmVjb3JkUmVxdWVzdEV2ZW50cxImLnB1YmxpY19hcGkuUmVjb3JkUmVxdWVzdEV2ZW50c1JlcXVlc3QaJy5wdWJsaWNfYXBpLlJlY29yZFJlcXVlc3RFdmVudHNSZXNwb25zZSIhgtPkkwIbIhYvcmVjb3JkLXJlcXVlc3QtZXZlbnRzOgEqEokBChNSZWNvcmRTZXNzaW9uRXZlbnRzEiYucHVibGljX2FwaS5SZWNvcmRTZXNzaW9uRXZlbnRzUmVxdWVzdBonLnB1YmxpY19hcGkuUmVjb3JkU2Vzc2lvbkV2ZW50c1Jlc3BvbnNlIiGC0+STAhsiFi9yZWNvcmQtc2Vzc2lvbi1ldmVudHM6ASoSsgEKHVJlY29yZFBvc2VpZG9uQW5hbHl0aWNzRXZlbnRzEjAucHVibGljX2FwaS5SZWNvcmRQb3NlaWRvbkFuYWx5dGljc0V2ZW50c1JlcXVlc3QaMS5wdWJsaWNfYXBpLlJlY29yZFBvc2VpZG9uQW5hbHl0aWNzRXZlbnRzUmVzcG9uc2UiLILT5JMCJiIhL3JlY29yZC1wb3NlaWRvbi1hbmFseXRpY3MtZXZlbnRzOgEqEocBChFDb2RlYmFzZVJldHJpZXZhbBIkLnB1YmxpY19hcGkuQ29kZWJhc2VSZXRyaWV2YWxSZXF1ZXN0GiUucHVibGljX2FwaS5Db2RlYmFzZVJldHJpZXZhbFJlc3BvbnNlIiWC0+STAh8iGi9hZ2VudHMvY29kZWJhc2UtcmV0cmlldmFsOgEqEpQBChRDb2RlYmFzZVJldHJpZXZhbFJhdxInLnB1YmxpY19hcGkuQ29kZWJhc2VSZXRyaWV2YWxSYXdSZXF1ZXN0GigucHVibGljX2FwaS5Db2RlYmFzZVJldHJpZXZhbFJhd1Jlc3BvbnNlIimC0+STAiMiHi9hZ2VudHMvY29kZWJhc2UtcmV0cmlldmFsLXJhdzoBKhJjCghFZGl0RmlsZRIbLnB1YmxpY19hcGkuRWRpdEZpbGVSZXF1ZXN0GhwucHVibGljX2FwaS5FZGl0RmlsZVJlc3BvbnNlIhyC0+STAhYiES9hZ2VudHMvZWRpdC1maWxlOgEqEoABCg9MaXN0UmVtb3RlVG9vbHMSIi5wdWJsaWNfYXBpLkxpc3RSZW1vdGVUb29sc1JlcXVlc3QaIy5wdWJsaWNfYXBpLkxpc3RSZW1vdGVUb29sc1Jlc3BvbnNlIiSC0+STAh4iGS9hZ2VudHMvbGlzdC1yZW1vdGUtdG9vbHM6ASoSeAoNUnVuUmVtb3RlVG9vbBIgLnB1YmxpY19hcGkuUnVuUmVtb3RlVG9vbFJlcXVlc3QaIS5wdWJsaWNfYXBpLlJ1blJlbW90ZVRvb2xSZXNwb25zZSIigtPkkwIcIhcvYWdlbnRzL3J1bi1yZW1vdGUtdG9vbDoBKhKEAQoQUmV2b2tlVG9vbEFjY2VzcxIjLnB1YmxpY19hcGkuUmV2b2tlVG9vbEFjY2Vzc1JlcXVlc3QaJC5wdWJsaWNfYXBpLlJldm9rZVRvb2xBY2Nlc3NSZXNwb25zZSIlgtPkkwIfIhovYWdlbnRzL3Jldm9rZS10b29sLWFjY2VzczoBKhKMAQoSVGVzdFRvb2xDb25uZWN0aW9uEiUucHVibGljX2FwaS5UZXN0VG9vbENvbm5lY3Rpb25SZXF1ZXN0GiYucHVibGljX2FwaS5UZXN0VG9vbENvbm5lY3Rpb25SZXNwb25zZSIngtPkkwIhIhwvYWdlbnRzL3Rlc3QtdG9vbC1jb25uZWN0aW9uOgEqEoABCg9DaGVja1Rvb2xTYWZldHkSIi5wdWJsaWNfYXBpLkNoZWNrVG9vbFNhZmV0eVJlcXVlc3QaIy5wdWJsaWNfYXBpLkNoZWNrVG9vbFNhZmV0eVJlc3BvbnNlIiSC0+STAh4iGS9hZ2VudHMvY2hlY2stdG9vbC1zYWZldHk6ASoSggEKEUNyZWF0ZVJlbW90ZUFnZW50EiQucHVibGljX2FwaS5DcmVhdGVSZW1vdGVBZ2VudFJlcXVlc3QaJS5wdWJsaWNfYXBpLkNyZWF0ZVJlbW90ZUFnZW50UmVzcG9uc2UiIILT5JMCGiIVL3JlbW90ZS1hZ2VudHMvY3JlYXRlOgEqEoIBChFEZWxldGVSZW1vdGVBZ2VudBIkLnB1YmxpY19hcGkuRGVsZXRlUmVtb3RlQWdlbnRSZXF1ZXN0GiUucHVibGljX2FwaS5EZWxldGVSZW1vdGVBZ2VudFJlc3BvbnNlIiCC0+STAhoiFS9yZW1vdGUtYWdlbnRzL2RlbGV0ZToBKhJ9ChBMaXN0UmVtb3RlQWdlbnRzEiMucHVibGljX2FwaS5MaXN0UmVtb3RlQWdlbnRzUmVxdWVzdBokLnB1YmxpY19hcGkuTGlzdFJlbW90ZUFnZW50c1Jlc3BvbnNlIh6C0+STAhgiEy9yZW1vdGUtYWdlbnRzL2xpc3Q6ASoSmAEKFkxpc3RSZW1vdGVBZ2VudHNTdHJlYW0SKS5wdWJsaWNfYXBpLkxpc3RSZW1vdGVBZ2VudHNTdHJlYW1SZXF1ZXN0GioucHVibGljX2FwaS5MaXN0UmVtb3RlQWdlbnRzU3RyZWFtUmVzcG9uc2UiJYLT5JMCHyIaL3JlbW90ZS1hZ2VudHMvbGlzdC1zdHJlYW06ASowARKkAQoZR2V0UmVtb3RlQWdlbnRDaGF0SGlzdG9yeRIsLnB1YmxpY19hcGkuR2V0UmVtb3RlQWdlbnRDaGF0SGlzdG9yeVJlcXVlc3QaLS5wdWJsaWNfYXBpLkdldFJlbW90ZUFnZW50Q2hhdEhpc3RvcnlSZXNwb25zZSIqgtPkkwIkIh8vcmVtb3RlLWFnZW50cy9nZXQtY2hhdC1oaXN0b3J5OgEqErABChtHZXRSZW1vdGVBZ2VudEhpc3RvcnlTdHJlYW0SLi5wdWJsaWNfYXBpLkdldFJlbW90ZUFnZW50SGlzdG9yeVN0cmVhbVJlcXVlc3QaLy5wdWJsaWNfYXBpLkdldFJlbW90ZUFnZW50SGlzdG9yeVN0cmVhbVJlc3BvbnNlIi6C0+STAigiIy9yZW1vdGUtYWdlbnRzL2FnZW50LWhpc3Rvcnktc3RyZWFtOgEqMAESegoPUmVtb3RlQWdlbnRDaGF0EiIucHVibGljX2FwaS5SZW1vdGVBZ2VudENoYXRSZXF1ZXN0GiMucHVibGljX2FwaS5SZW1vdGVBZ2VudENoYXRSZXNwb25zZSIegtPkkwIYIhMvcmVtb3RlLWFnZW50cy9jaGF0OgEqEo4BChRJbnRlcnJ1cHRSZW1vdGVBZ2VudBInLnB1YmxpY19hcGkuSW50ZXJydXB0UmVtb3RlQWdlbnRSZXF1ZXN0GigucHVibGljX2FwaS5JbnRlcnJ1cHRSZW1vdGVBZ2VudFJlc3BvbnNlIiOC0+STAh0iGC9yZW1vdGUtYWdlbnRzL2ludGVycnVwdDoBKhKQAQoUUmVtb3RlQWdlbnRBZGRTU0hLZXkSJy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50QWRkU1NIS2V5UmVxdWVzdBooLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRBZGRTU0hLZXlSZXNwb25zZSIlgtPkkwIfIhovcmVtb3RlLWFnZW50cy9hZGQtc3NoLWtleToBKhKVAQoYUmVtb3RlQWdlbnRXb3Jrc3BhY2VMb2dzEisucHVibGljX2FwaS5SZW1vdGVBZ2VudFdvcmtzcGFjZUxvZ3NSZXF1ZXN0GiwucHVibGljX2FwaS5SZW1vdGVBZ2VudFdvcmtzcGFjZUxvZ3NSZXNwb25zZSIegtPkkwIYIhMvcmVtb3RlLWFnZW50cy9sb2dzOgEqEn4KEFBhdXNlUmVtb3RlQWdlbnQSIy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UGF1c2VSZXF1ZXN0GiQucHVibGljX2FwaS5SZW1vdGVBZ2VudFBhdXNlUmVzcG9uc2UiH4LT5JMCGSIUL3JlbW90ZS1hZ2VudHMvcGF1c2U6ASoSggEKEVJlc3VtZVJlbW90ZUFnZW50EiQucHVibGljX2FwaS5SZW1vdGVBZ2VudFJlc3VtZVJlcXVlc3QaJS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UmVzdW1lUmVzcG9uc2UiIILT5JMCGiIVL3JlbW90ZS1hZ2VudHMvcmVzdW1lOgEqEpMBChVSZXN1bWVIaW50UmVtb3RlQWdlbnQSKC5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UmVzdW1lSGludFJlcXVlc3QaKS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UmVzdW1lSGludFJlc3BvbnNlIiWC0+STAh8iGi9yZW1vdGUtYWdlbnRzL3Jlc3VtZS1oaW50OgEqEoIBChFVcGRhdGVSZW1vdGVBZ2VudBIkLnB1YmxpY19hcGkuVXBkYXRlUmVtb3RlQWdlbnRSZXF1ZXN0GiUucHVibGljX2FwaS5VcGRhdGVSZW1vdGVBZ2VudFJlc3BvbnNlIiCC0+STAhoiFS9yZW1vdGUtYWdlbnRzL3VwZGF0ZToBKhKGAQoNQ3JlYXRlVHJpZ2dlchIgLnB1YmxpY19hcGkuQ3JlYXRlVHJpZ2dlclJlcXVlc3QaIS5wdWJsaWNfYXBpLkNyZWF0ZVRyaWdnZXJSZXNwb25zZSIwgtPkkwIqIiUvcmVtb3RlLWFnZW50LWFjdGlvbnMvdHJpZ2dlcnMvY3JlYXRlOgEqEoEBCgxMaXN0VHJpZ2dlcnMSHy5wdWJsaWNfYXBpLkxpc3RUcmlnZ2Vyc1JlcXVlc3QaIC5wdWJsaWNfYXBpLkxpc3RUcmlnZ2Vyc1Jlc3BvbnNlIi6C0+STAigiIy9yZW1vdGUtYWdlbnQtYWN0aW9ucy90cmlnZ2Vycy9saXN0OgEqEoYBCg1VcGRhdGVUcmlnZ2VyEiAucHVibGljX2FwaS5VcGRhdGVUcmlnZ2VyUmVxdWVzdBohLnB1YmxpY19hcGkuVXBkYXRlVHJpZ2dlclJlc3BvbnNlIjCC0+STAioiJS9yZW1vdGUtYWdlbnQtYWN0aW9ucy90cmlnZ2Vycy91cGRhdGU6ASoShgEKDURlbGV0ZVRyaWdnZXISIC5wdWJsaWNfYXBpLkRlbGV0ZVRyaWdnZXJSZXF1ZXN0GiEucHVibGljX2FwaS5EZWxldGVUcmlnZ2VyUmVzcG9uc2UiMILT5JMCKiIlL3JlbW90ZS1hZ2VudC1hY3Rpb25zL3RyaWdnZXJzL2RlbGV0ZToBKhKfAQoUR2V0VHJpZ2dlckV4ZWN1dGlvbnMSJy5wdWJsaWNfYXBpLkdldFRyaWdnZXJFeGVjdXRpb25zUmVxdWVzdBooLnB1YmxpY19hcGkuR2V0VHJpZ2dlckV4ZWN1dGlvbnNSZXNwb25zZSI0gtPkkwIuIikvcmVtb3RlLWFnZW50LWFjdGlvbnMvdHJpZ2dlcnMvZXhlY3V0aW9uczoBKhKjAQoTR2V0TWF0Y2hpbmdFbnRpdGllcxImLnB1YmxpY19hcGkuR2V0TWF0Y2hpbmdFbnRpdGllc1JlcXVlc3QaJy5wdWJsaWNfYXBpLkdldE1hdGNoaW5nRW50aXRpZXNSZXNwb25zZSI7gtPkkwI1IjAvcmVtb3RlLWFnZW50LWFjdGlvbnMvdHJpZ2dlcnMvbWF0Y2hpbmctZW50aXRpZXM6ASoSjgEKDURpc21pc3NFbnRpdHkSIC5wdWJsaWNfYXBpLkRpc21pc3NFbnRpdHlSZXF1ZXN0GiEucHVibGljX2FwaS5EaXNtaXNzRW50aXR5UmVzcG9uc2UiOILT5JMCMiItL3JlbW90ZS1hZ2VudC1hY3Rpb25zL3RyaWdnZXJzL2Rpc21pc3MtZW50aXR5OgEqEqsBChZFeGVjdXRlVHJpZ2dlck1hbnVhbGx5EikucHVibGljX2FwaS5FeGVjdXRlVHJpZ2dlck1hbnVhbGx5UmVxdWVzdBoqLnB1YmxpY19hcGkuRXhlY3V0ZVRyaWdnZXJNYW51YWxseVJlc3BvbnNlIjqC0+STAjQiLy9yZW1vdGUtYWdlbnQtYWN0aW9ucy90cmlnZ2Vycy9leGVjdXRlLW1hbnVhbGx5OgEqEpoBChJFeGVjdXRlTWFudWFsQWdlbnQSJS5wdWJsaWNfYXBpLkV4ZWN1dGVNYW51YWxBZ2VudFJlcXVlc3QaJi5wdWJsaWNfYXBpLkV4ZWN1dGVNYW51YWxBZ2VudFJlc3BvbnNlIjWC0+STAi8iKi9yZW1vdGUtYWdlbnQtYWN0aW9ucy9leGVjdXRlLW1hbnVhbC1hZ2VudDoBKhKSAQoQR2V0RW50aXR5RGV0YWlscxIjLnB1YmxpY19hcGkuR2V0RW50aXR5RGV0YWlsc1JlcXVlc3QaJC5wdWJsaWNfYXBpLkdldEVudGl0eURldGFpbHNSZXNwb25zZSIzgtPkkwItIigvcmVtb3RlLWFnZW50LWFjdGlvbnMvZ2V0LWVudGl0eS1kZXRhaWxzOgEqEpkBChRMaXN0UHVsbFJlcXVlc3RGaWxlcxInLnB1YmxpY19hcGkuTGlzdFB1bGxSZXF1ZXN0RmlsZXNSZXF1ZXN0GigucHVibGljX2FwaS5MaXN0UHVsbFJlcXVlc3RGaWxlc1Jlc3BvbnNlIi6C0+STAigiIy9yZW1vdGUtYWdlbnQtYWN0aW9ucy9saXN0LXByLWZpbGVzOgEqEqcBChpSZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeRItLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRHZW5lcmF0ZVN1bW1hcnlSZXF1ZXN0Gi4ucHVibGljX2FwaS5SZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeVJlc3BvbnNlIiqC0+STAiQiHy9yZW1vdGUtYWdlbnRzL2dlbmVyYXRlLXN1bW1hcnk6ASoSpAEKFkxpc3RHaXRodWJTZXR1cFNjcmlwdHMSKS5wdWJsaWNfYXBpLkxpc3RHaXRodWJTZXR1cFNjcmlwdHNSZXF1ZXN0GioucHVibGljX2FwaS5MaXN0R2l0aHViU2V0dXBTY3JpcHRzUmVzcG9uc2UiM4LT5JMCLSIoL3JlbW90ZS1hZ2VudHMvbGlzdC1naXRodWItc2V0dXAtc2NyaXB0czoBKhKgAQoVUmVhZEdpdGh1YlNldHVwU2NyaXB0EigucHVibGljX2FwaS5SZWFkR2l0aHViU2V0dXBTY3JpcHRSZXF1ZXN0GikucHVibGljX2FwaS5SZWFkR2l0aHViU2V0dXBTY3JpcHRSZXNwb25zZSIygtPkkwIsIicvcmVtb3RlLWFnZW50cy9yZWFkLWdpdGh1Yi1zZXR1cC1zY3JpcHQ6ASoSpgEKGkFnZW50V29ya3NwYWNlUmVwb3J0U3RhdHVzEi0ucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydFN0YXR1c1JlcXVlc3QaLi5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlUmVwb3J0U3RhdHVzUmVzcG9uc2UiKYLT5JMCIyIeL2FnZW50LXdvcmtzcGFjZS9yZXBvcnQtc3RhdHVzOgEqErsBCh9BZ2VudFdvcmtzcGFjZVJlcG9ydENoYXRIaXN0b3J5EjIucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydENoYXRIaXN0b3J5UmVxdWVzdBozLnB1YmxpY19hcGkuQWdlbnRXb3Jrc3BhY2VSZXBvcnRDaGF0SGlzdG9yeVJlc3BvbnNlIi+C0+STAikiJC9hZ2VudC13b3Jrc3BhY2UvcmVwb3J0LWNoYXQtaGlzdG9yeToBKhKeAQoYQWdlbnRXb3Jrc3BhY2VQb2xsVXBkYXRlEisucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXF1ZXN0GiwucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXNwb25zZSIngtPkkwIhIhwvYWdlbnQtd29ya3NwYWNlL3BvbGwtdXBkYXRlOgEqEo8BChRBZ2VudFdvcmtzcGFjZVN0cmVhbRInLnB1YmxpY19hcGkuQWdlbnRXb3Jrc3BhY2VTdHJlYW1SZXF1ZXN0GigucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVN0cmVhbVJlc3BvbnNlIiKC0+STAhwiFy9hZ2VudC13b3Jrc3BhY2Uvc3RyZWFtOgEqMAESwwEKIkFnZW50V29ya3NwYWNlUmVwb3J0TGFzdFNlcXVlbmNlSWQSNS5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlUmVwb3J0TGFzdFNlcXVlbmNlSWRSZXF1ZXN0GjYucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydExhc3RTZXF1ZW5jZUlkUmVzcG9uc2UiLoLT5JMCKCIjL2FnZW50LXdvcmtzcGFjZS9yZXBvcnQtbGFzdC1zZXEtaWQ6ASoStwEKH0FnZW50V29ya3NwYWNlR2V0TGFzdFNlcXVlbmNlSWQSMi5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlR2V0TGFzdFNlcXVlbmNlSWRSZXF1ZXN0GjMucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZUdldExhc3RTZXF1ZW5jZUlkUmVzcG9uc2UiK4LT5JMCJSIgL2FnZW50LXdvcmtzcGFjZS9nZXQtbGFzdC1zZXEtaWQ6ASoSswEKHUFnZW50V29ya3NwYWNlUmVwb3J0U2V0dXBMb2dzEjAucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydFNldHVwTG9nc1JlcXVlc3QaMS5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlUmVwb3J0U2V0dXBMb2dzUmVzcG9uc2UiLYLT5JMCJyIiL2FnZW50LXdvcmtzcGFjZS9yZXBvcnQtc2V0dXAtbG9nczoBKhJ7Cg9MaXN0Q2hhdEhpc3RvcnkSIi5wdWJsaWNfYXBpLkxpc3RDaGF0SGlzdG9yeVJlcXVlc3QaIy5wdWJsaWNfYXBpLkxpc3RDaGF0SGlzdG9yeVJlc3BvbnNlIh+C0+STAhkiFC9jaGF0L2V4Y2hhbmdlcy9saXN0OgEqEn8KEENvdW50Q2hhdEhpc3RvcnkSIy5wdWJsaWNfYXBpLkNvdW50Q2hhdEhpc3RvcnlSZXF1ZXN0GiQucHVibGljX2FwaS5Db3VudENoYXRIaXN0b3J5UmVzcG9uc2UiIILT5JMCGiIVL2NoYXQvZXhjaGFuZ2VzL2NvdW50OgEqEoMBChFJbnNlcnRDaGF0SGlzdG9yeRIkLnB1YmxpY19hcGkuSW5zZXJ0Q2hhdEhpc3RvcnlSZXF1ZXN0GiUucHVibGljX2FwaS5JbnNlcnRDaGF0SGlzdG9yeVJlc3BvbnNlIiGC0+STAhsiFi9jaGF0L2V4Y2hhbmdlcy9pbnNlcnQ6ASoSfQoPQ3JlYXRlV29ya3NwYWNlEiIucHVibGljX2FwaS5DcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0GiMucHVibGljX2FwaS5DcmVhdGVXb3Jrc3BhY2VSZXNwb25zZSIhgtPkkwIbIhYvY2hhdC93b3Jrc3BhY2UvY3JlYXRlOgEqEn0KD1VwZGF0ZVdvcmtzcGFjZRIiLnB1YmxpY19hcGkuVXBkYXRlV29ya3NwYWNlUmVxdWVzdBojLnB1YmxpY19hcGkuVXBkYXRlV29ya3NwYWNlUmVzcG9uc2UiIYLT5JMCGyIWL2NoYXQvd29ya3NwYWNlL3VwZGF0ZToBKhJ4Cg5MaXN0V29ya3NwYWNlcxIhLnB1YmxpY19hcGkuTGlzdFdvcmtzcGFjZXNSZXF1ZXN0GiIucHVibGljX2FwaS5MaXN0V29ya3NwYWNlc1Jlc3BvbnNlIh+C0+STAhkiFC9jaGF0L3dvcmtzcGFjZS9saXN0OgEqEokBChJDcmVhdGVDb252ZXJzYXRpb24SJS5wdWJsaWNfYXBpLkNyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3QaJi5wdWJsaWNfYXBpLkNyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlIiSC0+STAh4iGS9jaGF0L2NvbnZlcnNhdGlvbi9jcmVhdGU6ASoSiQEKElVwZGF0ZUNvbnZlcnNhdGlvbhIlLnB1YmxpY19hcGkuVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdBomLnB1YmxpY19hcGkuVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UiJILT5JMCHiIZL2NoYXQvY29udmVyc2F0aW9uL3VwZGF0ZToBKhJ9Cg9HZXRDb252ZXJzYXRpb24SIi5wdWJsaWNfYXBpLkdldENvbnZlcnNhdGlvblJlcXVlc3QaIy5wdWJsaWNfYXBpLkdldENvbnZlcnNhdGlvblJlc3BvbnNlIiGC0+STAhsiFi9jaGF0L2NvbnZlcnNhdGlvbi9nZXQ6ASoShAEKEUxpc3RDb252ZXJzYXRpb25zEiQucHVibGljX2FwaS5MaXN0Q29udmVyc2F0aW9uc1JlcXVlc3QaJS5wdWJsaWNfYXBpLkxpc3RDb252ZXJzYXRpb25zUmVzcG9uc2UiIoLT5JMCHCIXL2NoYXQvY29udmVyc2F0aW9uL2xpc3Q6ASoStQEKI0xpc3RHaXRodWJSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyEjYucHVibGljX2FwaS5MaXN0R2l0aHViUmVwb3NGb3JBdXRoZW50aWNhdGVkVXNlclJlcXVlc3QaNy5wdWJsaWNfYXBpLkxpc3RHaXRodWJSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyUmVzcG9uc2UiHYLT5JMCFyISL2dpdGh1Yi9saXN0LXJlcG9zOgEqEpEBChZMaXN0R2l0aHViUmVwb0JyYW5jaGVzEikucHVibGljX2FwaS5MaXN0R2l0aHViUmVwb0JyYW5jaGVzUmVxdWVzdBoqLnB1YmxpY19hcGkuTGlzdEdpdGh1YlJlcG9CcmFuY2hlc1Jlc3BvbnNlIiCC0+STAhoiFS9naXRodWIvbGlzdC1icmFuY2hlczoBKhJxCg1HZXRHaXRodWJSZXBvEiAucHVibGljX2FwaS5HZXRHaXRodWJSZXBvUmVxdWVzdBohLnB1YmxpY19hcGkuR2V0R2l0aHViUmVwb1Jlc3BvbnNlIhuC0+STAhUiEC9naXRodWIvZ2V0LXJlcG86ASoSlgEKFklzVXNlckdpdGh1YkNvbmZpZ3VyZWQSKS5wdWJsaWNfYXBpLklzVXNlckdpdGh1YkNvbmZpZ3VyZWRSZXF1ZXN0GioucHVibGljX2FwaS5Jc1VzZXJHaXRodWJDb25maWd1cmVkUmVzcG9uc2UiJYLT5JMCHyIaL2dpdGh1Yi9pcy11c2VyLWNvbmZpZ3VyZWQ6ASoSiAEKEUNyZWF0ZVB1bGxSZXF1ZXN0EiQucHVibGljX2FwaS5DcmVhdGVQdWxsUmVxdWVzdFJlcXVlc3QaJS5wdWJsaWNfYXBpLkNyZWF0ZVB1bGxSZXF1ZXN0UmVzcG9uc2UiJoLT5JMCICIbL2dpdGh1Yi9jcmVhdGUtcHVsbC1yZXF1ZXN0OgEqEq8BChxSZWdpc3RlckluZGV4ZWRDb21taXRCbG9ic2V0Ei8ucHVibGljX2FwaS5SZWdpc3RlckluZGV4ZWRDb21taXRCbG9ic2V0UmVxdWVzdBowLnB1YmxpY19hcGkuUmVnaXN0ZXJJbmRleGVkQ29tbWl0QmxvYnNldFJlc3BvbnNlIiyC0+STAiYiIS9pbmRleGVkLWNvbW1pdHMvcmVnaXN0ZXItYmxvYnNldDoBKhK2AQodR2V0TGF0ZXN0SW5kZXhlZENvbW1pdEJsb2JzZXQSMC5wdWJsaWNfYXBpLkdldExhdGVzdEluZGV4ZWRDb21taXRCbG9ic2V0UmVxdWVzdBoxLnB1YmxpY19hcGkuR2V0TGF0ZXN0SW5kZXhlZENvbW1pdEJsb2JzZXRSZXNwb25zZSIugtPkkwIoIiMvaW5kZXhlZC1jb21taXRzL2dldC1sYXRlc3QtYmxvYnNldDoBKjABEoUBChNHZXRTdWJzY3JpcHRpb25JbmZvEiYucHVibGljX2FwaS5HZXRTdWJzY3JpcHRpb25JbmZvUmVxdWVzdBonLnB1YmxpY19hcGkuR2V0U3Vic2NyaXB0aW9uSW5mb1Jlc3BvbnNlIh2C0+STAhciEi9zdWJzY3JpcHRpb24taW5mbzoBKhKNAQoVR2V0U3Vic2NyaXB0aW9uQmFubmVyEigucHVibGljX2FwaS5HZXRTdWJzY3JpcHRpb25CYW5uZXJSZXF1ZXN0GikucHVibGljX2FwaS5HZXRTdWJzY3JpcHRpb25CYW5uZXJSZXNwb25zZSIfgtPkkwIZIhQvc3Vic2NyaXB0aW9uLWJhbm5lcjoBKhKaAQoXUmV2b2tlQ3VycmVudFVzZXJUb2tlbnMSKi5wdWJsaWNfYXBpLlJldm9rZUN1cnJlbnRVc2VyVG9rZW5zUmVxdWVzdBorLnB1YmxpY19hcGkuUmV2b2tlQ3VycmVudFVzZXJUb2tlbnNSZXNwb25zZSImgtPkkwIgIhsvcmV2b2tlLWN1cnJlbnQtdXNlci10b2tlbnM6ASoSgAEKEVJlYWROb3RpZmljYXRpb25zEiQucHVibGljX2FwaS5SZWFkTm90aWZpY2F0aW9uc1JlcXVlc3QaJS5wdWJsaWNfYXBpLlJlYWROb3RpZmljYXRpb25zUmVzcG9uc2UiHoLT5JMCGCITL25vdGlmaWNhdGlvbnMvcmVhZDoBKhKXAQoWTWFya05vdGlmaWNhdGlvbkFzUmVhZBIpLnB1YmxpY19hcGkuTWFya05vdGlmaWNhdGlvbkFzUmVhZFJlcXVlc3QaKi5wdWJsaWNfYXBpLk1hcmtOb3RpZmljYXRpb25Bc1JlYWRSZXNwb25zZSImgtPkkwIgIhsvbm90aWZpY2F0aW9ucy9tYXJrLWFzLXJlYWQ6ASoSlwEKE0FjdGlvbnNTZXRVc2VyU3RhdGUSJi5wdWJsaWNfYXBpLkFjdGlvbnNTZXRVc2VyU3RhdGVSZXF1ZXN0GicucHVibGljX2FwaS5BY3Rpb25zU2V0VXNlclN0YXRlUmVzcG9uc2UiL4LT5JMCKSIkL3JlbW90ZS1hZ2VudC1hY3Rpb25zL3VzZXItc3RhdGUvc2V0OgEqEpcBChNBY3Rpb25zR2V0VXNlclN0YXRlEiYucHVibGljX2FwaS5BY3Rpb25zR2V0VXNlclN0YXRlUmVxdWVzdBonLnB1YmxpY19hcGkuQWN0aW9uc0dldFVzZXJTdGF0ZVJlc3BvbnNlIi+C0+STAikiJC9yZW1vdGUtYWdlbnQtYWN0aW9ucy91c2VyLXN0YXRlL2dldDoBKhKnAQoYR2V0VGVuYW50VG9vbFBlcm1pc3Npb25zEisucHVibGljX2FwaS5HZXRUZW5hbnRUb29sUGVybWlzc2lvbnNSZXF1ZXN0GiwucHVibGljX2FwaS5HZXRUZW5hbnRUb29sUGVybWlzc2lvbnNSZXNwb25zZSIwgtPkkwIqIiUvc2V0dGluZ3MvZ2V0LXRlbmFudC10b29sLXBlcm1pc3Npb25zOgEqEpMBChNHZXRNY3BUZW5hbnRDb25maWdzEiYucHVibGljX2FwaS5HZXRNY3BUZW5hbnRDb25maWdzUmVxdWVzdBonLnB1YmxpY19hcGkuR2V0TWNwVGVuYW50Q29uZmlnc1Jlc3BvbnNlIiuC0+STAiUiIC9zZXR0aW5ncy9nZXQtbWNwLXRlbmFudC1jb25maWdzOgEqEosBChFHZXRNY3BVc2VyQ29uZmlncxIkLnB1YmxpY19hcGkuR2V0TWNwVXNlckNvbmZpZ3NSZXF1ZXN0GiUucHVibGljX2FwaS5HZXRNY3BVc2VyQ29uZmlnc1Jlc3BvbnNlIimC0+STAiMiHi9zZXR0aW5ncy9nZXQtbWNwLXVzZXItY29uZmlnczoBKhKbAQoVR2V0TWNwQ2F0YWxvZ01ldGFkYXRhEigucHVibGljX2FwaS5HZXRNY3BDYXRhbG9nTWV0YWRhdGFSZXF1ZXN0GikucHVibGljX2FwaS5HZXRNY3BDYXRhbG9nTWV0YWRhdGFSZXNwb25zZSItgtPkkwInIiIvc2V0dGluZ3MvZ2V0LW1jcC1jYXRhbG9nLW1ldGFkYXRhOgEqEogBChBHZXRNY3BDb25maWdCeUlkEiMucHVibGljX2FwaS5HZXRNY3BDb25maWdCeUlkUmVxdWVzdBokLnB1YmxpY19hcGkuR2V0TWNwQ29uZmlnQnlJZFJlc3BvbnNlIimC0+STAiMiHi9zZXR0aW5ncy9nZXQtbWNwLWNvbmZpZy1ieS1pZDoBKhKPAQoSR2V0TWNwVXNlclNldHRpbmdzEiUucHVibGljX2FwaS5HZXRNY3BVc2VyU2V0dGluZ3NSZXF1ZXN0GiYucHVibGljX2FwaS5HZXRNY3BVc2VyU2V0dGluZ3NSZXNwb25zZSIqgtPkkwIkIh8vc2V0dGluZ3MvZ2V0LW1jcC11c2VyLXNldHRpbmdzOgEqEpcBChRHZXRNY3BUZW5hbnRTZXR0aW5ncxInLnB1YmxpY19hcGkuR2V0TWNwVGVuYW50U2V0dGluZ3NSZXF1ZXN0GigucHVibGljX2FwaS5HZXRNY3BUZW5hbnRTZXR0aW5nc1Jlc3BvbnNlIiyC0+STAiYiIS9zZXR0aW5ncy9nZXQtbWNwLXRlbmFudC1zZXR0aW5nczoBKhKjAQoXR2V0UG9zZWlkb25Vc2VyU2V0dGluZ3MSKi5wdWJsaWNfYXBpLkdldFBvc2VpZG9uVXNlclNldHRpbmdzUmVxdWVzdBorLnB1YmxpY19hcGkuR2V0UG9zZWlkb25Vc2VyU2V0dGluZ3NSZXNwb25zZSIvgtPkkwIpIiQvc2V0dGluZ3MvZ2V0LXBvc2VpZG9uLXVzZXItc2V0dGluZ3M6ASoSrwEKGlVwZGF0ZVBvc2VpZG9uVXNlclNldHRpbmdzEi0ucHVibGljX2FwaS5VcGRhdGVQb3NlaWRvblVzZXJTZXR0aW5nc1JlcXVlc3QaLi5wdWJsaWNfYXBpLlVwZGF0ZVBvc2VpZG9uVXNlclNldHRpbmdzUmVzcG9uc2UiMoLT5JMCLCInL3NldHRpbmdzL3VwZGF0ZS1wb3NlaWRvbi11c2VyLXNldHRpbmdzOgEqEo4BChJQaW5Qb3NlaWRvblNlc3Npb24SJS5wdWJsaWNfYXBpLlBpblBvc2VpZG9uU2Vzc2lvblJlcXVlc3QaJi5wdWJsaWNfYXBpLlBpblBvc2VpZG9uU2Vzc2lvblJlc3BvbnNlIimC0+STAiMiHi9zZXR0aW5ncy9waW4tcG9zZWlkb24tc2Vzc2lvbjoBKhKWAQoUVW5waW5Qb3NlaWRvblNlc3Npb24SJy5wdWJsaWNfYXBpLlVucGluUG9zZWlkb25TZXNzaW9uUmVxdWVzdBooLnB1YmxpY19hcGkuVW5waW5Qb3NlaWRvblNlc3Npb25SZXNwb25zZSIrgtPkkwIlIiAvc2V0dGluZ3MvdW5waW4tcG9zZWlkb24tc2Vzc2lvbjoBKhKrAQoZR2V0UG9zZWlkb25UZW5hbnRTZXR0aW5ncxIsLnB1YmxpY19hcGkuR2V0UG9zZWlkb25UZW5hbnRTZXR0aW5nc1JlcXVlc3QaLS5wdWJsaWNfYXBpLkdldFBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXNwb25zZSIxgtPkkwIrIiYvc2V0dGluZ3MvZ2V0LXBvc2VpZG9uLXRlbmFudC1zZXR0aW5nczoBKhK3AQocVXBkYXRlUG9zZWlkb25UZW5hbnRTZXR0aW5ncxIvLnB1YmxpY19hcGkuVXBkYXRlUG9zZWlkb25UZW5hbnRTZXR0aW5nc1JlcXVlc3QaMC5wdWJsaWNfYXBpLlVwZGF0ZVBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXNwb25zZSI0gtPkkwIuIikvc2V0dGluZ3MvdXBkYXRlLXBvc2VpZG9uLXRlbmFudC1zZXR0aW5nczoBKhKTAQoTVXBzZXJ0TWNwVXNlckNvbmZpZxImLnB1YmxpY19hcGkuVXBzZXJ0TWNwVXNlckNvbmZpZ1JlcXVlc3QaJy5wdWJsaWNfYXBpLlVwc2VydE1jcFVzZXJDb25maWdSZXNwb25zZSIrgtPkkwIlIiAvc2V0dGluZ3MvdXBzZXJ0LW1jcC11c2VyLWNvbmZpZzoBKhKbAQoVVXBzZXJ0TWNwVGVuYW50Q29uZmlnEigucHVibGljX2FwaS5VcHNlcnRNY3BUZW5hbnRDb25maWdSZXF1ZXN0GikucHVibGljX2FwaS5VcHNlcnRNY3BUZW5hbnRDb25maWdSZXNwb25zZSItgtPkkwInIiIvc2V0dGluZ3MvdXBzZXJ0LW1jcC10ZW5hbnQtY29uZmlnOgEqEpMBChNSZW1vdmVNY3BVc2VyQ29uZmlnEiYucHVibGljX2FwaS5SZW1vdmVNY3BVc2VyQ29uZmlnUmVxdWVzdBonLnB1YmxpY19hcGkuUmVtb3ZlTWNwVXNlckNvbmZpZ1Jlc3BvbnNlIiuC0+STAiUiIC9zZXR0aW5ncy9yZW1vdmUtbWNwLXVzZXItY29uZmlnOgEqEpsBChVSZW1vdmVNY3BUZW5hbnRDb25maWcSKC5wdWJsaWNfYXBpLlJlbW92ZU1jcFRlbmFudENvbmZpZ1JlcXVlc3QaKS5wdWJsaWNfYXBpLlJlbW92ZU1jcFRlbmFudENvbmZpZ1Jlc3BvbnNlIi2C0+STAiciIi9zZXR0aW5ncy9yZW1vdmUtbWNwLXRlbmFudC1jb25maWc6ASoSigEKEUxpc3RBZ2VudFBlcnNvbmFzEiQucHVibGljX2FwaS5MaXN0QWdlbnRQZXJzb25hc1JlcXVlc3QaJS5wdWJsaWNfYXBpLkxpc3RBZ2VudFBlcnNvbmFzUmVzcG9uc2UiKILT5JMCIiIdL2FnZW50LXBlcnNvbmFzL2xpc3QtcGVyc29uYXM6ASoSggEKD0dldEFnZW50UGVyc29uYRIiLnB1YmxpY19hcGkuR2V0QWdlbnRQZXJzb25hUmVxdWVzdBojLnB1YmxpY19hcGkuR2V0QWdlbnRQZXJzb25hUmVzcG9uc2UiJoLT5JMCICIbL2FnZW50LXBlcnNvbmFzL2dldC1wZXJzb25hOgEqEpoBChVMaXN0QWdlbnRDYXBhYmlsaXRpZXMSKC5wdWJsaWNfYXBpLkxpc3RBZ2VudENhcGFiaWxpdGllc1JlcXVlc3QaKS5wdWJsaWNfYXBpLkxpc3RBZ2VudENhcGFiaWxpdGllc1Jlc3BvbnNlIiyC0+STAiYiIS9hZ2VudC1wZXJzb25hcy9saXN0LWNhcGFiaWxpdGllczoBKhKXAQoWQ2xvdWRBZ2VudHNDcmVhdGVBZ2VudBIpLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNDcmVhdGVBZ2VudFJlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQ3JlYXRlQWdlbnRSZXNwb25zZSImgtPkkwIgIhsvY2xvdWQtYWdlbnRzL2FnZW50cy9jcmVhdGU6ASoSiwEKE0Nsb3VkQWdlbnRzR2V0QWdlbnQSJi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzR2V0QWdlbnRSZXF1ZXN0GicucHVibGljX2FwaS5DbG91ZEFnZW50c0dldEFnZW50UmVzcG9uc2UiI4LT5JMCHSIYL2Nsb3VkLWFnZW50cy9hZ2VudHMvZ2V0OgEqEp0BChZDbG91ZEFnZW50c1NlbmRNZXNzYWdlEikucHVibGljX2FwaS5DbG91ZEFnZW50c1NlbmRNZXNzYWdlUmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNTZW5kTWVzc2FnZVJlc3BvbnNlIiyC0+STAiYiIS9jbG91ZC1hZ2VudHMvYWdlbnRzL3NlbmQtbWVzc2FnZToBKhKdAQoWQ2xvdWRBZ2VudHNHZXRNZXNzYWdlcxIpLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNHZXRNZXNzYWdlc1JlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzR2V0TWVzc2FnZXNSZXNwb25zZSIsgtPkkwImIiEvY2xvdWQtYWdlbnRzL2FnZW50cy9nZXQtbWVzc2FnZXM6ASoSuAEKHENsb3VkQWdlbnRzR2V0TWVzc2FnZXNTdHJlYW0SLy5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzR2V0TWVzc2FnZXNTdHJlYW1SZXF1ZXN0GjAucHVibGljX2FwaS5DbG91ZEFnZW50c0dldE1lc3NhZ2VzU3RyZWFtUmVzcG9uc2UiM4LT5JMCLSIoL2Nsb3VkLWFnZW50cy9hZ2VudHMvZ2V0LW1lc3NhZ2VzLXN0cmVhbToBKjABEpcBChZDbG91ZEFnZW50c1JlbmFtZUFnZW50EikucHVibGljX2FwaS5DbG91ZEFnZW50c1JlbmFtZUFnZW50UmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNSZW5hbWVBZ2VudFJlc3BvbnNlIiaC0+STAiAiGy9jbG91ZC1hZ2VudHMvYWdlbnRzL3JlbmFtZToBKhLFAQohQ2xvdWRBZ2VudHNVcGRhdGVBZ2VudFNlc3Npb25UYWdzEjQucHVibGljX2FwaS5DbG91ZEFnZW50c1VwZGF0ZUFnZW50U2Vzc2lvblRhZ3NSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEFnZW50c1VwZGF0ZUFnZW50U2Vzc2lvblRhZ3NSZXNwb25zZSIzgtPkkwItIigvY2xvdWQtYWdlbnRzL2FnZW50cy91cGRhdGUtc2Vzc2lvbi10YWdzOgEqEpcBChZDbG91ZEFnZW50c0RlbGV0ZUFnZW50EikucHVibGljX2FwaS5DbG91ZEFnZW50c0RlbGV0ZUFnZW50UmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNEZWxldGVBZ2VudFJlc3BvbnNlIiaC0+STAiAiGy9jbG91ZC1hZ2VudHMvYWdlbnRzL2RlbGV0ZToBKhKbAQoXQ2xvdWRBZ2VudHNBcmNoaXZlQWdlbnQSKi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQXJjaGl2ZUFnZW50UmVxdWVzdBorLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNBcmNoaXZlQWdlbnRSZXNwb25zZSIngtPkkwIhIhwvY2xvdWQtYWdlbnRzL2FnZW50cy9hcmNoaXZlOgEqEqMBChlDbG91ZEFnZW50c1VuYXJjaGl2ZUFnZW50EiwucHVibGljX2FwaS5DbG91ZEFnZW50c1VuYXJjaGl2ZUFnZW50UmVxdWVzdBotLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNVbmFyY2hpdmVBZ2VudFJlc3BvbnNlIimC0+STAiMiHi9jbG91ZC1hZ2VudHMvYWdlbnRzL3VuYXJjaGl2ZToBKhLHAQogQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHMSMy5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQmF0Y2hHZXRNZXNzYWdlQ291bnRzUmVxdWVzdBo0LnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHNSZXNwb25zZSI4gtPkkwIyIi0vY2xvdWQtYWdlbnRzL2FnZW50cy9iYXRjaC1nZXQtbWVzc2FnZS1jb3VudHM6ASoSxgEKIENsb3VkQWdlbnRzUmVmcmVzaEdpdENyZWRlbnRpYWxzEjMucHVibGljX2FwaS5DbG91ZEFnZW50c1JlZnJlc2hHaXRDcmVkZW50aWFsc1JlcXVlc3QaNC5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzUmVmcmVzaEdpdENyZWRlbnRpYWxzUmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLWFnZW50cy9hZ2VudHMvcmVmcmVzaC1naXQtY3JlZGVudGlhbHM6ASoSsgEKG0Nsb3VkQWdlbnRzUmVxdWVzdE1jcFNlcnZlchIuLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNSZXF1ZXN0TWNwU2VydmVyUmVxdWVzdBovLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNSZXF1ZXN0TWNwU2VydmVyUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLWFnZW50cy9hZ2VudHMvcmVxdWVzdC1tY3Atc2VydmVyOgEqErYBChxDbG91ZEFnZW50c0hhbmRvZmZUb1Bvc2VpZG9uEi8ucHVibGljX2FwaS5DbG91ZEFnZW50c0hhbmRvZmZUb1Bvc2VpZG9uUmVxdWVzdBowLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNIYW5kb2ZmVG9Qb3NlaWRvblJlc3BvbnNlIjOC0+STAi0iKC9jbG91ZC1hZ2VudHMvYWdlbnRzL2hhbmRvZmYtdG8tcG9zZWlkb246ASoSnwEKGENsb3VkRXhwZXJ0c0NyZWF0ZUV4cGVydBIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlRXhwZXJ0UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlRXhwZXJ0UmVzcG9uc2UiKILT5JMCIiIdL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9jcmVhdGU6ASoSkwEKFUNsb3VkRXhwZXJ0c0dldEV4cGVydBIoLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzR2V0RXhwZXJ0UmVxdWVzdBopLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzR2V0RXhwZXJ0UmVzcG9uc2UiJYLT5JMCHyIaL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9nZXQ6ASoSnwEKGENsb3VkRXhwZXJ0c1VwZGF0ZUV4cGVydBIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzVXBkYXRlRXhwZXJ0UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzVXBkYXRlRXhwZXJ0UmVzcG9uc2UiKILT5JMCIiIdL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy91cGRhdGU6ASoSnwEKGENsb3VkRXhwZXJ0c0RlbGV0ZUV4cGVydBIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzRGVsZXRlRXhwZXJ0UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzRGVsZXRlRXhwZXJ0UmVzcG9uc2UiKILT5JMCIiIdL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9kZWxldGU6ASoSmgEKF0Nsb3VkRXhwZXJ0c0xpc3RFeHBlcnRzEioucHVibGljX2FwaS5DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1JlcXVlc3QaKy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0xpc3RFeHBlcnRzUmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9saXN0OgEqEsABCiBDbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1dpdGhVc2FnZRIzLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzTGlzdEV4cGVydHNXaXRoVXNhZ2VSZXF1ZXN0GjQucHVibGljX2FwaS5DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1dpdGhVc2FnZVJlc3BvbnNlIjGC0+STAisiJi9jbG91ZC1leHBlcnRzL2V4cGVydHMvbGlzdC13aXRoLXVzYWdlOgEqEqYBChhDbG91ZEV4cGVydHNMaXN0VmVyc2lvbnMSKy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0xpc3RWZXJzaW9uc1JlcXVlc3QaLC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0xpc3RWZXJzaW9uc1Jlc3BvbnNlIi+C0+STAikiJC9jbG91ZC1leHBlcnRzL2V4cGVydHMvdmVyc2lvbnMvbGlzdDoBKhKfAQoWQ2xvdWRFeHBlcnRzR2V0VmVyc2lvbhIpLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzR2V0VmVyc2lvblJlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0dldFZlcnNpb25SZXNwb25zZSIugtPkkwIoIiMvY2xvdWQtZXhwZXJ0cy9leHBlcnRzL3ZlcnNpb25zL2dldDoBKhKjAQoZQ2xvdWRFeHBlcnRzUmVzdG9yZUV4cGVydBIsLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzUmVzdG9yZUV4cGVydFJlcXVlc3QaLS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c1Jlc3RvcmVFeHBlcnRSZXNwb25zZSIpgtPkkwIjIh4vY2xvdWQtZXhwZXJ0cy9leHBlcnRzL3Jlc3RvcmU6ASoSwAEKIUNsb3VkRXhwZXJ0c0NyZWF0ZUFnZW50RnJvbUV4cGVydBI0LnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlQWdlbnRGcm9tRXhwZXJ0UmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlQWdlbnRGcm9tRXhwZXJ0UmVzcG9uc2UiLoLT5JMCKCIjL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9jcmVhdGUtYWdlbnQ6ASoSigEKFENsb3VkRmxlZXRHZXRDYXRhbG9nEiUud2ViX3JwY19wcm94eS5HZXRGbGVldENhdGFsb2dSZXF1ZXN0GiYud2ViX3JwY19wcm94eS5HZXRGbGVldENhdGFsb2dSZXNwb25zZSIjgtPkkwIdIhgvY2xvdWQtZmxlZXQvY2F0YWxvZy9nZXQ6ASoSiwEKD0Nsb3VkRmxlZXRBcHBseRIkLndlYl9ycGNfcHJveHkuQXBwbHlGbGVldEZsb3dSZXF1ZXN0GiUud2ViX3JwY19wcm94eS5BcHBseUZsZWV0Rmxvd1Jlc3BvbnNlIiuC0+STAiUiIC9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL2FwcGx5OgEqEoMBCg1DbG91ZEZsZWV0QXJtEiIud2ViX3JwY19wcm94eS5Bcm1GbGVldEZsb3dSZXF1ZXN0GiMud2ViX3JwY19wcm94eS5Bcm1GbGVldEZsb3dSZXNwb25zZSIpgtPkkwIjIh4vY2xvdWQtZmxlZXQvaW5zdGFsbGF0aW9ucy9hcm06ASoSnwEKFENsb3VkRmxlZXREZWFjdGl2YXRlEikud2ViX3JwY19wcm94eS5EZWFjdGl2YXRlRmxlZXRGbG93UmVxdWVzdBoqLndlYl9ycGNfcHJveHkuRGVhY3RpdmF0ZUZsZWV0Rmxvd1Jlc3BvbnNlIjCC0+STAioiJS9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL2RlYWN0aXZhdGU6ASoSmwEKE0Nsb3VkRmxlZXRVbmluc3RhbGwSKC53ZWJfcnBjX3Byb3h5LlVuaW5zdGFsbEZsZWV0Rmxvd1JlcXVlc3QaKS53ZWJfcnBjX3Byb3h5LlVuaW5zdGFsbEZsZWV0Rmxvd1Jlc3BvbnNlIi+C0+STAikiJC9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL3VuaW5zdGFsbDoBKhKbAQoTQ2xvdWRGbGVldENvbmZpZ3VyZRIoLndlYl9ycGNfcHJveHkuQ29uZmlndXJlRmxlZXRGbG93UmVxdWVzdBopLndlYl9ycGNfcHJveHkuQ29uZmlndXJlRmxlZXRGbG93UmVzcG9uc2UiL4LT5JMCKSIkL2Nsb3VkLWZsZWV0L2luc3RhbGxhdGlvbnMvY29uZmlndXJlOgEqEo8BChBDbG91ZEZsZWV0UmVwYWlyEiUud2ViX3JwY19wcm94eS5SZXBhaXJGbGVldEZsb3dSZXF1ZXN0GiYud2ViX3JwY19wcm94eS5SZXBhaXJGbGVldEZsb3dSZXNwb25zZSIsgtPkkwImIiEvY2xvdWQtZmxlZXQvaW5zdGFsbGF0aW9ucy9yZXBhaXI6ASoSqAEKFkNsb3VkRmxlZXRHZXRMaWZlY3ljbGUSKy53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Rmxvd0xpZmVjeWNsZVJlcXVlc3QaLC53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Rmxvd0xpZmVjeWNsZVJlc3BvbnNlIjOC0+STAi0iKC9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL2xpZmVjeWNsZS9nZXQ6ASoSpgEKG0Nsb3VkRmxlZXRMaXN0SW5zdGFsbGF0aW9ucxIsLndlYl9ycGNfcHJveHkuTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1JlcXVlc3QaLS53ZWJfcnBjX3Byb3h5Lkxpc3RGbGVldEluc3RhbGxhdGlvbnNSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtZmxlZXQvaW5zdGFsbGF0aW9ucy9saXN0OgEqEsgBCiJDbG91ZEZsZWV0R2V0Q29uZmlndXJhdGlvbkRvY3VtZW50EjMud2ViX3JwY19wcm94eS5HZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudFJlcXVlc3QaNC53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q29uZmlndXJhdGlvbkRvY3VtZW50UmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLWZsZWV0L2luc3RhbGxhdGlvbnMvY29uZmlndXJhdGlvbi9nZXQ6ASoSrwEKHENsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnQSLy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnRSZXF1ZXN0GjAucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0NyZWF0ZVJlc2lkZW50UmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvY3JlYXRlOgEqEqMBChlDbG91ZFJlc2lkZW50c0dldFJlc2lkZW50EiwucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0dldFJlc2lkZW50UmVxdWVzdBotLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNHZXRSZXNpZGVudFJlc3BvbnNlIimC0+STAiMiHi9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL2dldDoBKhKvAQocQ2xvdWRSZXNpZGVudHNVcGRhdGVSZXNpZGVudBIvLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNVcGRhdGVSZXNpZGVudFJlcXVlc3QaMC5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzVXBkYXRlUmVzaWRlbnRSZXNwb25zZSIsgtPkkwImIiEvY2xvdWQtcmVzaWRlbnRzL3Jlc2lkZW50cy91cGRhdGU6ASoS1QEKJUNsb3VkUmVzaWRlbnRzU2V0UmVzaWRlbnRUZW5hbnRBY2Nlc3MSOC5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzU2V0UmVzaWRlbnRUZW5hbnRBY2Nlc3NSZXF1ZXN0GjkucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c1NldFJlc2lkZW50VGVuYW50QWNjZXNzUmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvc2V0LXRlbmFudC1hY2Nlc3M6ASoSrwEKHENsb3VkUmVzaWRlbnRzRGVsZXRlUmVzaWRlbnQSLy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzRGVsZXRlUmVzaWRlbnRSZXF1ZXN0GjAucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0RlbGV0ZVJlc2lkZW50UmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvZGVsZXRlOgEqEqoBChtDbG91ZFJlc2lkZW50c0xpc3RSZXNpZGVudHMSLi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzTGlzdFJlc2lkZW50c1JlcXVlc3QaLy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzTGlzdFJlc2lkZW50c1Jlc3BvbnNlIiqC0+STAiQiHy9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL2xpc3Q6ASoSqwEKG0Nsb3VkUmVzaWRlbnRzU3RhcnRSZXNpZGVudBIuLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNTdGFydFJlc2lkZW50UmVxdWVzdBovLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNTdGFydFJlc2lkZW50UmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvc3RhcnQ6ASoSpwEKGkNsb3VkUmVzaWRlbnRzU3RvcFJlc2lkZW50Ei0ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c1N0b3BSZXNpZGVudFJlcXVlc3QaLi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzU3RvcFJlc2lkZW50UmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvc3RvcDoBKhKwAQoaQ2xvdWRSZXNpZGVudHNMaXN0U2Vzc2lvbnMSLS5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzTGlzdFNlc3Npb25zUmVxdWVzdBouLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNMaXN0U2Vzc2lvbnNSZXNwb25zZSIzgtPkkwItIigvY2xvdWQtcmVzaWRlbnRzL3Jlc2lkZW50cy9zZXNzaW9ucy9saXN0OgEqErABChpDbG91ZFJlc2lkZW50c0xpc3RWZXJzaW9ucxItLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNMaXN0VmVyc2lvbnNSZXF1ZXN0Gi4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0xpc3RWZXJzaW9uc1Jlc3BvbnNlIjOC0+STAi0iKC9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL3ZlcnNpb25zL2xpc3Q6ASoSqQEKGENsb3VkUmVzaWRlbnRzR2V0VmVyc2lvbhIrLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNHZXRWZXJzaW9uUmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNHZXRWZXJzaW9uUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvdmVyc2lvbnMvZ2V0OgEqErMBCh1DbG91ZFJlc2lkZW50c1Jlc3RvcmVSZXNpZGVudBIwLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNSZXN0b3JlUmVzaWRlbnRSZXF1ZXN0GjEucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c1Jlc3RvcmVSZXNpZGVudFJlc3BvbnNlIi2C0+STAiciIi9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL3Jlc3RvcmU6ASoSwgEKIUNsb3VkRW52aXJvbm1lbnRzTGlzdEVudmlyb25tZW50cxI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0RW52aXJvbm1lbnRzUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0RW52aXJvbm1lbnRzUmVzcG9uc2UiMILT5JMCKiIlL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvbGlzdDoBKhK7AQofQ2xvdWRFbnZpcm9ubWVudHNHZXRFbnZpcm9ubWVudBIyLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNHZXRFbnZpcm9ubWVudFJlcXVlc3QaMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0RW52aXJvbm1lbnRSZXNwb25zZSIvgtPkkwIpIiQvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy9nZXQ6ASoS7gEKIENsb3VkRW52aXJvbm1lbnRzQ3JlYXRlQmFzZUltYWdlEjMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0NyZWF0ZUJhc2VJbWFnZVJlcXVlc3QaNC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlQmFzZUltYWdlUmVzcG9uc2UiX4LT5JMCWSImL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9jcmVhdGU6ASpaLCInL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvY3JlYXRlOgEqEokCCiVDbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlQ3JlYXRlEjgucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlQ3JlYXRlUmVxdWVzdBo5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZUNyZWF0ZVJlc3BvbnNlImuC0+STAmUiLC9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvY3JlYXRlL3N0YXJ0OgEqWjIiLS9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL2NyZWF0ZS9zdGFydDoBKhLuAQogQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVCYXNlSW1hZ2USMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVxdWVzdBo0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVCYXNlSW1hZ2VSZXNwb25zZSJfgtPkkwJZIiYvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3VwZGF0ZToBKlosIicvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy91cGRhdGU6ASoS7gEKIENsb3VkRW52aXJvbm1lbnRzRGVsZXRlQmFzZUltYWdlEjMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0RlbGV0ZUJhc2VJbWFnZVJlcXVlc3QaNC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzRGVsZXRlQmFzZUltYWdlUmVzcG9uc2UiX4LT5JMCWSImL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9kZWxldGU6ASpaLCInL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvZGVsZXRlOgEqEvMBCiFDbG91ZEVudmlyb25tZW50c1Jlc3RvcmVCYXNlSW1hZ2USNC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZUJhc2VJbWFnZVJlcXVlc3QaNS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZUJhc2VJbWFnZVJlc3BvbnNlImGC0+STAlsiJy9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvcmVzdG9yZToBKlotIigvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy9yZXN0b3JlOgEqEvMBCh1DbG91ZEVudmlyb25tZW50c0xpc3RWZXJzaW9ucxIwLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0VmVyc2lvbnNSZXF1ZXN0GjEucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RWZXJzaW9uc1Jlc3BvbnNlIm2C0+STAmciLS9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvdmVyc2lvbnMvbGlzdDoBKlozIi4vY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy92ZXJzaW9ucy9saXN0OgEqEusBChtDbG91ZEVudmlyb25tZW50c0dldFZlcnNpb24SLi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0VmVyc2lvblJlcXVlc3QaLy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0VmVyc2lvblJlc3BvbnNlImuC0+STAmUiLC9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvdmVyc2lvbnMvZ2V0OgEqWjIiLS9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL3ZlcnNpb25zL2dldDoBKhLRAQokQ2xvdWRFbnZpcm9ubWVudHNMaXN0QmFzZUltYWdlQnVpbGRzEjcucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RCYXNlSW1hZ2VCdWlsZHNSZXF1ZXN0GjgucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RCYXNlSW1hZ2VCdWlsZHNSZXNwb25zZSI2gtPkkwIwIisvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL2J1aWxkcy9saXN0OgEqEv0BCiNDbG91ZEVudmlyb25tZW50c0R1cGxpY2F0ZUJhc2VJbWFnZRI2LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEdXBsaWNhdGVCYXNlSW1hZ2VSZXF1ZXN0GjcucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0R1cGxpY2F0ZUJhc2VJbWFnZVJlc3BvbnNlImWC0+STAl8iKS9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvZHVwbGljYXRlOgEqWi8iKi9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL2R1cGxpY2F0ZToBKhLzAQohQ2xvdWRFbnZpcm9ubWVudHNSZWZyZXNoQmFzZUltYWdlEjQucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXNwb25zZSJhgtPkkwJbIicvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3JlZnJlc2g6ASpaLSIoL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvcmVmcmVzaDoBKhL9AQofQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTbmFwc2hvdBIyLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTbmFwc2hvdFJlcXVlc3QaMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU25hcHNob3RSZXNwb25zZSJxgtPkkwJrIi8vY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3VwZGF0ZS1zbmFwc2hvdDoBKlo1IjAvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy91cGRhdGUtc25hcHNob3Q6ASoS9gEKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VTbmFwc2hvdFVwZGF0ZRJALnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVNuYXBzaG90VXBkYXRlUmVxdWVzdBpBLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVNuYXBzaG90VXBkYXRlUmVzcG9uc2UiQILT5JMCOiI1L2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy91cGRhdGUtc25hcHNob3Qvc3RhcnQ6ASoS8wEKIUNsb3VkRW52aXJvbm1lbnRzUmVidWlsZEJhc2VJbWFnZRI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZWJ1aWxkQmFzZUltYWdlUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZWJ1aWxkQmFzZUltYWdlUmVzcG9uc2UiYYLT5JMCWyInL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9yZWJ1aWxkOgEqWi0iKC9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL3JlYnVpbGQ6ASoS2QEKJkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkEjkucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlUmVidWlsZFJlcXVlc3QaOi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkUmVzcG9uc2UiOILT5JMCMiItL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9yZWJ1aWxkL3N0YXJ0OgEqEtkBCiZDbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlUmVmcmVzaBI5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlZnJlc2hSZXF1ZXN0GjoucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlUmVmcmVzaFJlc3BvbnNlIjiC0+STAjIiLS9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvcmVmcmVzaC9zdGFydDoBKhKMAgoyQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlcG9zaXRvcnlSZWNvbmNpbGUSRS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZXBvc2l0b3J5UmVjb25jaWxlUmVxdWVzdBpGLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlcG9zaXRvcnlSZWNvbmNpbGVSZXNwb25zZSJHgtPkkwJBIjwvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3JlcG9zaXRvcmllcy9yZWNvbmNpbGUvc3RhcnQ6ASoSswEKHUNsb3VkRW52aXJvbm1lbnRzR2V0T3BlcmF0aW9uEjAucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0dldE9wZXJhdGlvblJlcXVlc3QaMS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0T3BlcmF0aW9uUmVzcG9uc2UiLYLT5JMCJyIiL2Nsb3VkLWVudmlyb25tZW50cy9vcGVyYXRpb25zL2dldDoBKhLMAQojQ2xvdWRFbnZpcm9ubWVudHNHZXRBY3RpdmVPcGVyYXRpb24SNi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0QWN0aXZlT3BlcmF0aW9uUmVxdWVzdBo3LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNHZXRBY3RpdmVPcGVyYXRpb25SZXNwb25zZSI0gtPkkwIuIikvY2xvdWQtZW52aXJvbm1lbnRzL29wZXJhdGlvbnMvYWN0aXZlL2dldDoBKhK/AQogQ2xvdWRFbnZpcm9ubWVudHNDYW5jZWxPcGVyYXRpb24SMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzQ2FuY2VsT3BlcmF0aW9uUmVxdWVzdBo0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNDYW5jZWxPcGVyYXRpb25SZXNwb25zZSIwgtPkkwIqIiUvY2xvdWQtZW52aXJvbm1lbnRzL29wZXJhdGlvbnMvY2FuY2VsOgEqEsABCiVDbG91ZEVudmlyb25tZW50c0xpc3RTYW5kYm94UHJvdmlkZXJzEjgucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBo5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0U2FuZGJveFByb3ZpZGVyc1Jlc3BvbnNlIiKC0+STAhwiFy9zYW5kYm94LXByb3ZpZGVycy9saXN0OgEqErkBCiNDbG91ZEVudmlyb25tZW50c0dldFNhbmRib3hQcm92aWRlchI2LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNHZXRTYW5kYm94UHJvdmlkZXJSZXF1ZXN0GjcucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0dldFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGC0+STAhsiFi9zYW5kYm94LXByb3ZpZGVycy9nZXQ6ASoSxQEKJkNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlU2FuZGJveFByb3ZpZGVyEjkucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0NyZWF0ZVNhbmRib3hQcm92aWRlclJlcXVlc3QaOi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlU2FuZGJveFByb3ZpZGVyUmVzcG9uc2UiJILT5JMCHiIZL3NhbmRib3gtcHJvdmlkZXJzL2NyZWF0ZToBKhLFAQomQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTYW5kYm94UHJvdmlkZXISOS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBo6LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTYW5kYm94UHJvdmlkZXJSZXNwb25zZSIkgtPkkwIeIhkvc2FuZGJveC1wcm92aWRlcnMvdXBkYXRlOgEqEsUBCiZDbG91ZEVudmlyb25tZW50c0RlbGV0ZVNhbmRib3hQcm92aWRlchI5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVTYW5kYm94UHJvdmlkZXJSZXF1ZXN0GjoucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0RlbGV0ZVNhbmRib3hQcm92aWRlclJlc3BvbnNlIiSC0+STAh4iGS9zYW5kYm94LXByb3ZpZGVycy9kZWxldGU6ASoSyQEKJ0Nsb3VkRW52aXJvbm1lbnRzUmVzdG9yZVNhbmRib3hQcm92aWRlchI6LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZXN0b3JlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBo7LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZXN0b3JlU2FuZGJveFByb3ZpZGVyUmVzcG9uc2UiJYLT5JMCHyIaL3NhbmRib3gtcHJvdmlkZXJzL3Jlc3RvcmU6ASoSvQEKIUNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlRGFlbW9uUG9vbBI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVEYWVtb25Qb29sUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVEYWVtb25Qb29sUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy9jcmVhdGU6ASoSvQEKIUNsb3VkRW52aXJvbm1lbnRzVXBkYXRlRGFlbW9uUG9vbBI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVEYWVtb25Qb29sUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVEYWVtb25Qb29sUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy91cGRhdGU6ASoSvQEKIUNsb3VkRW52aXJvbm1lbnRzRGVsZXRlRGFlbW9uUG9vbBI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVEYWVtb25Qb29sUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVEYWVtb25Qb29sUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy9kZWxldGU6ASoSwQEKIkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2wSNS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2xSZXF1ZXN0GjYucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1Jlc3RvcmVEYWVtb25Qb29sUmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy9yZXN0b3JlOgEqEtIBCiZDbG91ZEVudmlyb25tZW50c0xpc3REYWVtb25Qb29sRGFlbW9ucxI5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0RGFlbW9uUG9vbERhZW1vbnNSZXF1ZXN0GjoucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3REYWVtb25Qb29sRGFlbW9uc1Jlc3BvbnNlIjGC0+STAisiJi9jbG91ZC1lbnZpcm9ubWVudHMvcG9vbHMvZGFlbW9ucy9saXN0OgEqEpIBChVDbG91ZEV2ZW50c0xpc3RFdmVudHMSKC5wdWJsaWNfYXBpLkNsb3VkRXZlbnRzTGlzdEV2ZW50c1JlcXVlc3QaKS5wdWJsaWNfYXBpLkNsb3VkRXZlbnRzTGlzdEV2ZW50c1Jlc3BvbnNlIiSC0+STAh4iGS9jbG91ZC1ldmVudHMvZXZlbnRzL2xpc3Q6ASoShQEKEENsb3VkVHVubmVsc09wZW4SIy5wdWJsaWNfYXBpLkNsb3VkVHVubmVsc09wZW5SZXF1ZXN0GiQucHVibGljX2FwaS5DbG91ZFR1bm5lbHNPcGVuUmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLXR1bm5lbHMvdHVubmVscy9vcGVuOgEqEokBChFDbG91ZFR1bm5lbHNDbG9zZRIkLnB1YmxpY19hcGkuQ2xvdWRUdW5uZWxzQ2xvc2VSZXF1ZXN0GiUucHVibGljX2FwaS5DbG91ZFR1bm5lbHNDbG9zZVJlc3BvbnNlIieC0+STAiEiHC9jbG91ZC10dW5uZWxzL3R1bm5lbHMvY2xvc2U6ASoShQEKEENsb3VkVHVubmVsc0xpc3QSIy5wdWJsaWNfYXBpLkNsb3VkVHVubmVsc0xpc3RSZXF1ZXN0GiQucHVibGljX2FwaS5DbG91ZFR1bm5lbHNMaXN0UmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLXR1bm5lbHMvdHVubmVscy9saXN0OgEqEqYBChpDbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93cxItLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0xpc3RXb3JrZmxvd3NSZXF1ZXN0Gi4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93c1Jlc3BvbnNlIimC0+STAiMiHi9jbG91ZC10cmlnZ2Vycy93b3JrZmxvd3MvbGlzdDoBKhKfAQoYQ2xvdWRUcmlnZ2Vyc0dldFdvcmtmbG93EisucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzR2V0V29ya2Zsb3dSZXF1ZXN0GiwucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzR2V0V29ya2Zsb3dSZXNwb25zZSIogtPkkwIiIh0vY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL2dldDoBKhKrAQobQ2xvdWRUcmlnZ2Vyc0RlbGV0ZVdvcmtmbG93Ei4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzRGVsZXRlV29ya2Zsb3dSZXF1ZXN0Gi8ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzRGVsZXRlV29ya2Zsb3dSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL2RlbGV0ZToBKhKrAQobQ2xvdWRUcmlnZ2Vyc0NyZWF0ZVdvcmtmbG93Ei4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzQ3JlYXRlV29ya2Zsb3dSZXF1ZXN0Gi8ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzQ3JlYXRlV29ya2Zsb3dSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL2NyZWF0ZToBKhKrAQobQ2xvdWRUcmlnZ2Vyc1VwZGF0ZVdvcmtmbG93Ei4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzVXBkYXRlV29ya2Zsb3dSZXF1ZXN0Gi8ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzVXBkYXRlV29ya2Zsb3dSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL3VwZGF0ZToBKhKzAQodQ2xvdWRUcmlnZ2Vyc0xpc3RFdmVudFNvdXJjZXMSMC5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNMaXN0RXZlbnRTb3VyY2VzUmVxdWVzdBoxLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0xpc3RFdmVudFNvdXJjZXNSZXNwb25zZSItgtPkkwInIiIvY2xvdWQtdHJpZ2dlcnMvZXZlbnQtc291cmNlcy9saXN0OgEqEqwBChtDbG91ZFRyaWdnZXJzR2V0RXZlbnRTb3VyY2USLi5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNHZXRFdmVudFNvdXJjZVJlcXVlc3QaLy5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNHZXRFdmVudFNvdXJjZVJlc3BvbnNlIiyC0+STAiYiIS9jbG91ZC10cmlnZ2Vycy9ldmVudC1zb3VyY2VzL2dldDoBKhK7AQofQ2xvdWRUcmlnZ2Vyc0RlbGV0ZUV2ZW50U291cmNlcxIyLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0RlbGV0ZUV2ZW50U291cmNlc1JlcXVlc3QaMy5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNEZWxldGVFdmVudFNvdXJjZXNSZXNwb25zZSIvgtPkkwIpIiQvY2xvdWQtdHJpZ2dlcnMvZXZlbnQtc291cmNlcy9kZWxldGU6ASoSuAEKHkNsb3VkVHJpZ2dlcnNDcmVhdGVFdmVudFNvdXJjZRIxLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVxdWVzdBoyLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVzcG9uc2UiL4LT5JMCKSIkL2Nsb3VkLXRyaWdnZXJzL2V2ZW50LXNvdXJjZXMvY3JlYXRlOgEqErgBCh5DbG91ZFRyaWdnZXJzVXBkYXRlRXZlbnRTb3VyY2USMS5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNVcGRhdGVFdmVudFNvdXJjZVJlcXVlc3QaMi5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNVcGRhdGVFdmVudFNvdXJjZVJlc3BvbnNlIi+C0+STAikiJC9jbG91ZC10cmlnZ2Vycy9ldmVudC1zb3VyY2VzL3VwZGF0ZToBKhKKAQoRQ2xvdWRXZWJob29rc0xpc3QSJC5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NMaXN0UmVxdWVzdBolLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc0xpc3RSZXNwb25zZSIogtPkkwIiIh0vY2xvdWQtd2ViaG9va3Mvd2ViaG9va3MvbGlzdDoBKhKSAQoTQ2xvdWRXZWJob29rc0NyZWF0ZRImLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc0NyZWF0ZVJlcXVlc3QaJy5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NDcmVhdGVSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtd2ViaG9va3Mvd2ViaG9va3MvY3JlYXRlOgEqEoYBChBDbG91ZFdlYmhvb2tzR2V0EiMucHVibGljX2FwaS5DbG91ZFdlYmhvb2tzR2V0UmVxdWVzdBokLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc0dldFJlc3BvbnNlIieC0+STAiEiHC9jbG91ZC13ZWJob29rcy93ZWJob29rcy9nZXQ6ASoSkgEKE0Nsb3VkV2ViaG9va3NEZWxldGUSJi5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NEZWxldGVSZXF1ZXN0GicucHVibGljX2FwaS5DbG91ZFdlYmhvb2tzRGVsZXRlUmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLXdlYmhvb2tzL3dlYmhvb2tzL2RlbGV0ZToBKhKSAQoTQ2xvdWRXZWJob29rc1VwZGF0ZRImLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc1VwZGF0ZVJlcXVlc3QaJy5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NVcGRhdGVSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtd2ViaG9va3Mvd2ViaG9va3MvdXBkYXRlOgEqEp8BChZDbG91ZFdlYmhvb2tzU2V0U2VjcmV0EikucHVibGljX2FwaS5DbG91ZFdlYmhvb2tzU2V0U2VjcmV0UmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc1NldFNlY3JldFJlc3BvbnNlIi6C0+STAigiIy9jbG91ZC13ZWJob29rcy93ZWJob29rcy9zZXQtc2VjcmV0OgEqEsgBCiFDbG91ZFdlYmhvb2tzR2V0U2V0dXBJbnN0cnVjdGlvbnMSNC5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NHZXRTZXR1cEluc3RydWN0aW9uc1JlcXVlc3QaNS5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NHZXRTZXR1cEluc3RydWN0aW9uc1Jlc3BvbnNlIjaC0+STAjAiKy9jbG91ZC13ZWJob29rcy93ZWJob29rcy9zZXR1cC1pbnN0cnVjdGlvbnM6ASoSkgEKFUNsb3VkU3BhY2VzTGlzdFNwYWNlcxIoLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNMaXN0U3BhY2VzUmVxdWVzdBopLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNMaXN0U3BhY2VzUmVzcG9uc2UiJILT5JMCHiIZL2Nsb3VkLXNwYWNlcy9zcGFjZXMvbGlzdDoBKhKLAQoTQ2xvdWRTcGFjZXNHZXRTcGFjZRImLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNHZXRTcGFjZVJlcXVlc3QaJy5wdWJsaWNfYXBpLkNsb3VkU3BhY2VzR2V0U3BhY2VSZXNwb25zZSIjgtPkkwIdIhgvY2xvdWQtc3BhY2VzL3NwYWNlcy9nZXQ6ASoSlwEKFkNsb3VkU3BhY2VzQ3JlYXRlU3BhY2USKS5wdWJsaWNfYXBpLkNsb3VkU3BhY2VzQ3JlYXRlU3BhY2VSZXF1ZXN0GioucHVibGljX2FwaS5DbG91ZFNwYWNlc0NyZWF0ZVNwYWNlUmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLXNwYWNlcy9zcGFjZXMvY3JlYXRlOgEqEpcBChZDbG91ZFNwYWNlc0RlbGV0ZVNwYWNlEikucHVibGljX2FwaS5DbG91ZFNwYWNlc0RlbGV0ZVNwYWNlUmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNEZWxldGVTcGFjZVJlc3BvbnNlIiaC0+STAiAiGy9jbG91ZC1zcGFjZXMvc3BhY2VzL2RlbGV0ZToBKhKXAQoWQ2xvdWRTcGFjZXNVcGRhdGVTcGFjZRIpLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNVcGRhdGVTcGFjZVJlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkU3BhY2VzVXBkYXRlU3BhY2VSZXNwb25zZSImgtPkkwIgIhsvY2xvdWQtc3BhY2VzL3NwYWNlcy91cGRhdGU6ASoSeQoPQ2xvdWRHcm91cHNMaXN0EiIucHVibGljX2FwaS5DbG91ZEdyb3Vwc0xpc3RSZXF1ZXN0GiMucHVibGljX2FwaS5DbG91ZEdyb3Vwc0xpc3RSZXNwb25zZSIdgtPkkwIXIhIvY2xvdWQtZ3JvdXBzL2xpc3Q6ASoSgQEKEUNsb3VkR3JvdXBzQ3JlYXRlEiQucHVibGljX2FwaS5DbG91ZEdyb3Vwc0NyZWF0ZVJlcXVlc3QaJS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzQ3JlYXRlUmVzcG9uc2UiH4LT5JMCGSIUL2Nsb3VkLWdyb3Vwcy9jcmVhdGU6ASoSgQEKEUNsb3VkR3JvdXBzVXBkYXRlEiQucHVibGljX2FwaS5DbG91ZEdyb3Vwc1VwZGF0ZVJlcXVlc3QaJS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzVXBkYXRlUmVzcG9uc2UiH4LT5JMCGSIUL2Nsb3VkLWdyb3Vwcy91cGRhdGU6ASoSgQEKEUNsb3VkR3JvdXBzRGVsZXRlEiQucHVibGljX2FwaS5DbG91ZEdyb3Vwc0RlbGV0ZVJlcXVlc3QaJS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzRGVsZXRlUmVzcG9uc2UiH4LT5JMCGSIUL2Nsb3VkLWdyb3Vwcy9kZWxldGU6ASoSlgEKFkNsb3VkR3JvdXBzTGlzdE1lbWJlcnMSKS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzTGlzdE1lbWJlcnNSZXF1ZXN0GioucHVibGljX2FwaS5DbG91ZEdyb3Vwc0xpc3RNZW1iZXJzUmVzcG9uc2UiJYLT5JMCHyIaL2Nsb3VkLWdyb3Vwcy9tZW1iZXJzL2xpc3Q6ASoSkgEKFUNsb3VkR3JvdXBzQWRkTWVtYmVycxIoLnB1YmxpY19hcGkuQ2xvdWRHcm91cHNBZGRNZW1iZXJzUmVxdWVzdBopLnB1YmxpY19hcGkuQ2xvdWRHcm91cHNBZGRNZW1iZXJzUmVzcG9uc2UiJILT5JMCHiIZL2Nsb3VkLWdyb3Vwcy9tZW1iZXJzL2FkZDoBKhKeAQoYQ2xvdWRHcm91cHNSZW1vdmVNZW1iZXJzEisucHVibGljX2FwaS5DbG91ZEdyb3Vwc1JlbW92ZU1lbWJlcnNSZXF1ZXN0GiwucHVibGljX2FwaS5DbG91ZEdyb3Vwc1JlbW92ZU1lbWJlcnNSZXNwb25zZSIngtPkkwIhIhwvY2xvdWQtZ3JvdXBzL21lbWJlcnMvcmVtb3ZlOgEqEnMKD0Nsb3VkQWNjZXNzTGlzdBIiLnB1YmxpY19hcGkuQ2xvdWRBY2Nlc3NMaXN0UmVxdWVzdBojLnB1YmxpY19hcGkuQ2xvdWRBY2Nlc3NMaXN0UmVzcG9uc2UiF4LT5JMCESIML2FjY2Vzcy9saXN0OgEqEncKEENsb3VkQWNjZXNzR3JhbnQSIy5wdWJsaWNfYXBpLkNsb3VkQWNjZXNzR3JhbnRSZXF1ZXN0GiQucHVibGljX2FwaS5DbG91ZEFjY2Vzc0dyYW50UmVzcG9uc2UiGILT5JMCEiINL2FjY2Vzcy9ncmFudDoBKhJ7ChFDbG91ZEFjY2Vzc1Jldm9rZRIkLnB1YmxpY19hcGkuQ2xvdWRBY2Nlc3NSZXZva2VSZXF1ZXN0GiUucHVibGljX2FwaS5DbG91ZEFjY2Vzc1Jldm9rZVJlc3BvbnNlIhmC0+STAhMiDi9hY2Nlc3MvcmV2b2tlOgEqEqIBChlDbG91ZFByb2plY3RzTGlzdFByb2plY3RzEiwucHVibGljX2FwaS5DbG91ZFByb2plY3RzTGlzdFByb2plY3RzUmVxdWVzdBotLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c0xpc3RQcm9qZWN0c1Jlc3BvbnNlIiiC0+STAiIiHS9jbG91ZC1wcm9qZWN0cy9wcm9qZWN0cy9saXN0OgEqEpsBChdDbG91ZFByb2plY3RzR2V0UHJvamVjdBIqLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c0dldFByb2plY3RSZXF1ZXN0GisucHVibGljX2FwaS5DbG91ZFByb2plY3RzR2V0UHJvamVjdFJlc3BvbnNlIieC0+STAiEiHC9jbG91ZC1wcm9qZWN0cy9wcm9qZWN0cy9nZXQ6ASoSpwEKGkNsb3VkUHJvamVjdHNDcmVhdGVQcm9qZWN0Ei0ucHVibGljX2FwaS5DbG91ZFByb2plY3RzQ3JlYXRlUHJvamVjdFJlcXVlc3QaLi5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNDcmVhdGVQcm9qZWN0UmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLXByb2plY3RzL3Byb2plY3RzL2NyZWF0ZToBKhKnAQoaQ2xvdWRQcm9qZWN0c0RlbGV0ZVByb2plY3QSLS5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNEZWxldGVQcm9qZWN0UmVxdWVzdBouLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c0RlbGV0ZVByb2plY3RSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtcHJvamVjdHMvcHJvamVjdHMvZGVsZXRlOgEqEpsBChVDbG91ZFByb2plY3RzQWRkQWdlbnQSKC5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNBZGRBZ2VudFJlcXVlc3QaKS5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNBZGRBZ2VudFJlc3BvbnNlIi2C0+STAiciIi9jbG91ZC1wcm9qZWN0cy9wcm9qZWN0cy9hZGQtYWdlbnQ6ASoSpwEKGENsb3VkUHJvamVjdHNSZW1vdmVBZ2VudBIrLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c1JlbW92ZUFnZW50UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c1JlbW92ZUFnZW50UmVzcG9uc2UiMILT5JMCKiIlL2Nsb3VkLXByb2plY3RzL3Byb2plY3RzL3JlbW92ZS1hZ2VudDoBKhK9AQohQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja1NsYWNrU3RhdHVzEjQucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NoZWNrU2xhY2tTdGF0dXNSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NoZWNrU2xhY2tTdGF0dXNSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtaW50ZWdyYXRpb25zL3NsYWNrL3N0YXR1czoBKhLAAQohQ2xvdWRJbnRlZ3JhdGlvbnNHZXRTbGFja09BdXRoVXJsEjQucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0dldFNsYWNrT0F1dGhVcmxSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0dldFNsYWNrT0F1dGhVcmxSZXNwb25zZSIugtPkkwIoIiMvY2xvdWQtaW50ZWdyYXRpb25zL3NsYWNrL29hdXRoLXVybDoBKhLHAQoiQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0U2xhY2tDaGFubmVscxI1LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0U2xhY2tDaGFubmVsc1JlcXVlc3QaNi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zTGlzdFNsYWNrQ2hhbm5lbHNSZXNwb25zZSIygtPkkwIsIicvY2xvdWQtaW50ZWdyYXRpb25zL3NsYWNrL2xpc3QtY2hhbm5lbHM6ASoSwQEKIkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tMaW5lYXJTdGF0dXMSNS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tMaW5lYXJTdGF0dXNSZXF1ZXN0GjYucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NoZWNrTGluZWFyU3RhdHVzUmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLWludGVncmF0aW9ucy9saW5lYXIvc3RhdHVzOgEqEsQBCiJDbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsEjUucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsUmVxdWVzdBo2LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNHZXRMaW5lYXJPQXV0aFVybFJlc3BvbnNlIi+C0+STAikiJC9jbG91ZC1pbnRlZ3JhdGlvbnMvbGluZWFyL29hdXRoLXVybDoBKhLOAQolQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0dpdEh1YkFwcFN0YXR1cxI4LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0dpdEh1YkFwcFN0YXR1c1JlcXVlc3QaOS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tHaXRIdWJBcHBTdGF0dXNSZXNwb25zZSIwgtPkkwIqIiUvY2xvdWQtaW50ZWdyYXRpb25zL2dpdGh1Yi1hcHAvc3RhdHVzOgEqEtkBCidDbG91ZEludGVncmF0aW9uc0dldEdpdEh1YkFwcEluc3RhbGxVcmwSOi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0R2l0SHViQXBwSW5zdGFsbFVybFJlcXVlc3QaOy5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0R2l0SHViQXBwSW5zdGFsbFVybFJlc3BvbnNlIjWC0+STAi8iKi9jbG91ZC1pbnRlZ3JhdGlvbnMvZ2l0aHViLWFwcC9pbnN0YWxsLXVybDoBKhLaAQooQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0F0bGFzc2lhbkFwcFN0YXR1cxI7LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0F0bGFzc2lhbkFwcFN0YXR1c1JlcXVlc3QaPC5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tBdGxhc3NpYW5BcHBTdGF0dXNSZXNwb25zZSIzgtPkkwItIigvY2xvdWQtaW50ZWdyYXRpb25zL2F0bGFzc2lhbi1hcHAvc3RhdHVzOgEqEuUBCipDbG91ZEludGVncmF0aW9uc0dldEF0bGFzc2lhbkFwcEluc3RhbGxVcmwSPS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0QXRsYXNzaWFuQXBwSW5zdGFsbFVybFJlcXVlc3QaPi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0QXRsYXNzaWFuQXBwSW5zdGFsbFVybFJlc3BvbnNlIjiC0+STAjIiLS9jbG91ZC1pbnRlZ3JhdGlvbnMvYXRsYXNzaWFuLWFwcC9pbnN0YWxsLXVybDoBKhKRAQoVQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0EigucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0xpc3RSZXF1ZXN0GikucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0xpc3RSZXNwb25zZSIjgtPkkwIdIhgvY2xvdWQtaW50ZWdyYXRpb25zL2xpc3Q6ASoSsgEKHUNsb3VkSW50ZWdyYXRpb25zSW52b2tlQWN0aW9uEjAucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0ludm9rZUFjdGlvblJlcXVlc3QaMS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zSW52b2tlQWN0aW9uUmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLWludGVncmF0aW9ucy9pbnZva2UtYWN0aW9uOgEqEuABCihDbG91ZEludGVncmF0aW9uc0NyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uEjsucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uUmVxdWVzdBo8LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNDcmVhdGVFdmVudFN1YnNjcmlwdGlvblJlc3BvbnNlIjmC0+STAjMiLi9jbG91ZC1pbnRlZ3JhdGlvbnMvZXZlbnQtc3Vic2NyaXB0aW9ucy9jcmVhdGU6ASoS2wEKJ0Nsb3VkSW50ZWdyYXRpb25zTGlzdEV2ZW50U3Vic2NyaXB0aW9ucxI6LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0RXZlbnRTdWJzY3JpcHRpb25zUmVxdWVzdBo7LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0RXZlbnRTdWJzY3JpcHRpb25zUmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLWludGVncmF0aW9ucy9ldmVudC1zdWJzY3JpcHRpb25zL2xpc3Q6ASoS4AEKKENsb3VkSW50ZWdyYXRpb25zQ2FuY2VsRXZlbnRTdWJzY3JpcHRpb24SOy5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2FuY2VsRXZlbnRTdWJzY3JpcHRpb25SZXF1ZXN0GjwucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NhbmNlbEV2ZW50U3Vic2NyaXB0aW9uUmVzcG9uc2UiOYLT5JMCMyIuL2Nsb3VkLWludGVncmF0aW9ucy9ldmVudC1zdWJzY3JpcHRpb25zL2NhbmNlbDoBKhLHAQoiQ2xvdWRJbnRlZ3JhdGlvbnNSZXZva2VHaXRodWJPQXV0aBI1LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNSZXZva2VHaXRodWJPQXV0aFJlcXVlc3QaNi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlR2l0aHViT0F1dGhSZXNwb25zZSIygtPkkwIsIicvY2xvdWQtaW50ZWdyYXRpb25zL2dpdGh1Yi9yZXZva2Utb2F1dGg6ASoSxwEKIkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlTGluZWFyT0F1dGgSNS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlTGluZWFyT0F1dGhSZXF1ZXN0GjYucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc1Jldm9rZUxpbmVhck9BdXRoUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLWludGVncmF0aW9ucy9saW5lYXIvcmV2b2tlLW9hdXRoOgEqEnoKDlByb2Nlc3NXZWJob29rEiEucHVibGljX2FwaS5Qcm9jZXNzV2ViaG9va1JlcXVlc3QaIi5wdWJsaWNfYXBpLlByb2Nlc3NXZWJob29rUmVzcG9uc2UiIYLT5JMCGyIWL3dlYmhvb2tzL3t3ZWJob29rX2lkfToBKhKSAQoVQ2xvdWRBZ2VudHNMaXN0QWdlbnRzEigucHVibGljX2FwaS5DbG91ZEFnZW50c0xpc3RBZ2VudHNSZXF1ZXN0GikucHVibGljX2FwaS5DbG91ZEFnZW50c0xpc3RBZ2VudHNSZXNwb25zZSIkgtPkkwIeIhkvY2xvdWQtYWdlbnRzL2FnZW50cy9saXN0OgEqEr4BCh5DbG91ZEFnZW50c1VwZGF0ZVNlc3Npb25Db25maWcSMS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzVXBkYXRlU2Vzc2lvbkNvbmZpZ1JlcXVlc3QaMi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzVXBkYXRlU2Vzc2lvbkNvbmZpZ1Jlc3BvbnNlIjWC0+STAi8iKi9jbG91ZC1hZ2VudHMvYWdlbnRzL3VwZGF0ZS1zZXNzaW9uLWNvbmZpZzoBKhKBAQoXQ2xvdWRBZ2VudHNDb25uZWN0Q2xpVm0SHS5wb3NlaWRvbi5Db25uZWN0Q2xpVm1SZXF1ZXN0Gh4ucG9zZWlkb24uQ29ubmVjdENsaVZtUmVzcG9uc2UiJ4LT5JMCISIcL3ZtLWJlYWNoaGVhZC9jb25uZWN0LWNsaS12bToBKhKNAQoaQ2xvdWRBZ2VudHNGZXRjaFZGU0NoYW5nZXMSIC5wb3NlaWRvbi5GZXRjaFZGU0NoYW5nZXNSZXF1ZXN0GiEucG9zZWlkb24uRmV0Y2hWRlNDaGFuZ2VzUmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLWFnZW50cy92ZnMvZmV0Y2gtY2hhbmdlczoBKhKZAQoeQ2xvdWRBZ2VudHNGZXRjaFZGU0ZpbGVDb250ZW50EiQucG9zZWlkb24uRmV0Y2hWRlNGaWxlQ29udGVudFJlcXVlc3QaJS5wb3NlaWRvbi5GZXRjaFZGU0ZpbGVDb250ZW50UmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLWFnZW50cy92ZnMvZmV0Y2gtY29udGVudDoBKhKQAQofQ2xvdWRBZ2VudHNTdHJlYW1WRlNGaWxlQ29udGVudBIkLnBvc2VpZG9uLkZldGNoVkZTRmlsZUNvbnRlbnRSZXF1ZXN0GhgucG9zZWlkb24uVkZTRmlsZUNvbnRlbnQiK4LT5JMCJSIgL2Nsb3VkLWFnZW50cy92ZnMvc3RyZWFtLWNvbnRlbnQ6ASowARKRAQobQ2xvdWRBZ2VudHNDb21taXRWRlNDaGFuZ2VzEiEucG9zZWlkb24uQ29tbWl0VkZTQ2hhbmdlc1JlcXVlc3QaIi5wb3NlaWRvbi5Db21taXRWRlNDaGFuZ2VzUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWFnZW50cy92ZnMvY29tbWl0LWNoYW5nZXM6ASoStwEKIENsb3VkQWdlbnRzRW5zdXJlVkZTRmlsZUlkZW50aXR5EiYucG9zZWlkb24uRW5zdXJlVkZTRmlsZUlkZW50aXR5UmVxdWVzdBo4LnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNFbnN1cmVWRlNGaWxlSWRlbnRpdHlIdHRwUmVzcG9uc2UiMYLT5JMCKyImL2Nsb3VkLWFnZW50cy92ZnMvZW5zdXJlLWZpbGUtaWRlbnRpdHk6ASoSuwEKIUNsb3VkQWdlbnRzUmVzb2x2ZVZGU0ZpbGVJZGVudGl0eRInLnBvc2VpZG9uLlJlc29sdmVWRlNGaWxlSWRlbnRpdHlSZXF1ZXN0GjkucHVibGljX2FwaS5DbG91ZEFnZW50c1Jlc29sdmVWRlNGaWxlSWRlbnRpdHlIdHRwUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLWFnZW50cy92ZnMvcmVzb2x2ZS1maWxlLWlkZW50aXR5OgEqEp4BCh5DbG91ZEFnZW50c0xpc3RWRlNGaWxlVmVyc2lvbnMSJC5wb3NlaWRvbi5MaXN0VkZTRmlsZVZlcnNpb25zUmVxdWVzdBolLnBvc2VpZG9uLkxpc3RWRlNGaWxlVmVyc2lvbnNSZXNwb25zZSIvgtPkkwIpIiQvY2xvdWQtYWdlbnRzL3Zmcy9saXN0LWZpbGUtdmVyc2lvbnM6ASoSmgEKHUNsb3VkQWdlbnRzUmVhZFZGU0ZpbGVWZXJzaW9uEiMucG9zZWlkb24uUmVhZFZGU0ZpbGVWZXJzaW9uUmVxdWVzdBokLnBvc2VpZG9uLlJlYWRWRlNGaWxlVmVyc2lvblJlc3BvbnNlIi6C0+STAigiIy9jbG91ZC1hZ2VudHMvdmZzL3JlYWQtZmlsZS12ZXJzaW9uOgEqEqYBCiBDbG91ZEFnZW50c0xpc3RWRlNWZXJzaW9uZWRGaWxlcxImLnBvc2VpZG9uLkxpc3RWRlNWZXJzaW9uZWRGaWxlc1JlcXVlc3QaJy5wb3NlaWRvbi5MaXN0VkZTVmVyc2lvbmVkRmlsZXNSZXNwb25zZSIxgtPkkwIrIiYvY2xvdWQtYWdlbnRzL3Zmcy9saXN0LXZlcnNpb25lZC1maWxlczoBKhKRAQobQ2xvdWRBZ2VudHNBcHBlbmRWRlNDb21tZW50EiEucG9zZWlkb24uQXBwZW5kVkZTQ29tbWVudFJlcXVlc3QaIi5wb3NlaWRvbi5BcHBlbmRWRlNDb21tZW50UmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWFnZW50cy92ZnMvYXBwZW5kLWNvbW1lbnQ6ASoSjQEKGkNsb3VkQWdlbnRzTGlzdFZGU0NvbW1lbnRzEiAucG9zZWlkb24uTGlzdFZGU0NvbW1lbnRzUmVxdWVzdBohLnBvc2VpZG9uLkxpc3RWRlNDb21tZW50c1Jlc3BvbnNlIiqC0+STAiQiHy9jbG91ZC1hZ2VudHMvdmZzL2xpc3QtY29tbWVudHM6ASoStAEKJUNsb3VkQWdlbnRzQ3JlYXRlSG9zdGVkQXJ0aWZhY3RVcGxvYWQSKy5wb3NlaWRvbi5DcmVhdGVIb3N0ZWRBcnRpZmFjdFVwbG9hZFJlcXVlc3QaLC5wb3NlaWRvbi5DcmVhdGVIb3N0ZWRBcnRpZmFjdFVwbG9hZFJlc3BvbnNlIjCC0+STAioiJS9jbG91ZC1hZ2VudHMvYXJ0aWZhY3RzL2NyZWF0ZS11cGxvYWQ6ASoSowEKIUNsb3VkQWdlbnRzRmluYWxpemVIb3N0ZWRBcnRpZmFjdBInLnBvc2VpZG9uLkZpbmFsaXplSG9zdGVkQXJ0aWZhY3RSZXF1ZXN0GigucG9zZWlkb24uRmluYWxpemVIb3N0ZWRBcnRpZmFjdFJlc3BvbnNlIiuC0+STAiUiIC9jbG91ZC1hZ2VudHMvYXJ0aWZhY3RzL2ZpbmFsaXplOgEqEpsBCh9DbG91ZEFnZW50c0RlbGV0ZUhvc3RlZEFydGlmYWN0EiUucG9zZWlkb24uRGVsZXRlSG9zdGVkQXJ0aWZhY3RSZXF1ZXN0GiYucG9zZWlkb24uRGVsZXRlSG9zdGVkQXJ0aWZhY3RSZXNwb25zZSIpgtPkkwIjIh4vY2xvdWQtYWdlbnRzL2FydGlmYWN0cy9kZWxldGU6ASpiBnByb3RvMw",[Pi,qi,kS,Ha,La]);var Vo=Ua(gJ,0);function _S(){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 $i=function(e){return this instanceof $i?(this.v=e,this):new $i(e)},pJ=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(f){return Promise.resolve(f).then(b,u)}}function l(b,f){r[b]&&(o[b]=function(A){return new Promise(function(m,V){i.push([b,A,m,V])>1||a(b,A)})},f&&(o[b]=f(o[b])))}function a(b,f){try{c(r[b](f))}catch(A){h(i[0][3],A)}}function c(b){b.value instanceof $i?Promise.resolve(b.value.v).then(d,u):h(i[0][2],b)}function d(b){a("next",b)}function u(b){a("throw",b)}function h(b,f){b(f),i.shift(),i.length&&a(i[0][0],i[0][1])}},QS={redirect:"error"};function lb(e){var t;_S();let n=(t=e.useBinaryFormat)!==null&&t!==void 0?t:!1;return{async unary(r,o,i,s,l,a){let{serialize:c,parse:d}=va(r,n,e.jsonOptions,e.binaryOptions);return i=i===void 0?e.defaultTimeoutMs:i<=0?void 0:i,await tb({interceptors:e.interceptors,signal:o,timeoutMs:i,req:{stream:!1,service:r.parent,method:r,requestMethod:"POST",url:wa(e.baseUrl,r),header:Ta(r.methodKind,n,i,s,!1),contextValues:a??ya(),message:l},next:async u=>{var h;let b=e.useHttpGet===!0&&r.idempotency===pl.NO_SIDE_EFFECTS,f=null;b?u=eb(u,c(u.message),n):f=c(u.message);let m=await((h=e.fetch)!==null&&h!==void 0?h:globalThis.fetch)(u.url,Object.assign(Object.assign({},QS),{method:u.requestMethod,headers:u.header,signal:u.signal,body:f})),{isUnaryError:V,unaryError:E}=Ka(r.methodKind,n,m.status,m.headers);if(V)throw Oi(await m.json(),Kh(..._a(m.headers)),E);let[R,G]=_a(m.headers);return{stream:!1,service:r.parent,method:r,header:R,message:n?d(new Uint8Array(await m.arrayBuffer())):pi(r.output,await m.json(),xa(e.jsonOptions)),trailer:G}}})},async stream(r,o,i,s,l,a){let{serialize:c,parse:d}=va(r,n,e.jsonOptions,e.binaryOptions);function u(b,f,A,m){return pJ(this,arguments,function*(){let E=Dh(b).getReader(),R=!1;for(;;){let G=yield $i(E.read());if(G.done)break;let{flags:S,data:N}=G.value;if((S&Ya)===Ya)throw new se("protocol error: received unsupported compressed output",D.Internal);if((S&Ja)===Ja){R=!0;let g=Ph(N);if(g.error){let Z=g.error;throw A.forEach((p,F)=>{Z.metadata.append(F,p)}),Z}g.metadata.forEach((Z,p)=>f.set(p,Z));continue}yield yield $i(d(N))}if("throwIfAborted"in m&&m.throwIfAborted(),!R)throw"missing EndStreamResponse"})}async function h(b){if(r.methodKind!="server_streaming")throw"The fetch API does not support streaming request bodies";let f=await b[Symbol.asyncIterator]().next();if(f.done==!0)throw"missing request message";return Lh(0,c(f.value))}return i=i===void 0?e.defaultTimeoutMs:i<=0?void 0:i,await nb({interceptors:e.interceptors,timeoutMs:i,signal:o,req:{stream:!0,service:r.parent,method:r,requestMethod:"POST",url:wa(e.baseUrl,r),header:Ta(r.methodKind,n,i,s,!1),contextValues:a??ya(),message:l},next:async b=>{var f;let m=await((f=e.fetch)!==null&&f!==void 0?f:globalThis.fetch)(b.url,Object.assign(Object.assign({},QS),{method:b.requestMethod,headers:b.header,signal:b.signal,body:await h(b.message)}));if(Ka(r.methodKind,n,m.status,m.headers),m.body===null)throw"missing response body";let V=new Headers;return Object.assign(Object.assign({},b),{header:m.headers,trailer:V,message:u(m.body,V,m.headers,b.signal)})}})}}}import{randomUUID as TS}from"node:crypto";async function Ma(e){return typeof e=="function"?await e():e}function es(e,t,n){n&&!e.has(t)&&e.set(t,n)}function ab(e){return t=>async n=>{n.header.has("x-request-id")||n.header.set("x-request-id",TS()),es(n.header,"x-request-session-id",await Ma(e.sessionId)),es(n.header,"x-expert-id",await Ma(e.expertId)),es(n.header,"x-workflow-id",await Ma(e.workflowId));let r=await Ma(e.apiToken);return r&&!n.header.has("authorization")&&n.header.set("authorization",`Bearer ${r}`),es(n.header,"user-agent",e.userAgent),es(n.header,"x-augment-source-agent-id",e.sourceAgentId??process.env.AUGMENT_SOURCE_AGENT_ID),await t(n)}}function EJ(e){return e?e.replace(/ \(\/[^()]+\)/g,""):""}function RJ(e){return e instanceof se?D[e.code]??"unknown":"unknown"}async function ZJ(e,t,n,r){let o=typeof r.apiToken=="function"?await r.apiToken():r.apiToken,i=typeof r.sessionId=="function"?r.sessionId():r.sessionId,s=new URL("report-error",e.replace(/\/?$/,"/")),l=AbortSignal.timeout(1e3);await t(s,{method:"POST",headers:{"Content-Type":"application/json","x-request-id":TS(),...i?{"x-request-session-id":i}:{},...o?{authorization:`Bearer ${o}`}:{}},body:JSON.stringify({original_request_id:n.requestId,sanitized_message:`${n.endpoint} call failed with status ${RJ(n.error)}`,stack_trace:EJ(n.error.stack),diagnostics:[{key:"start_time",value:String(n.startTime)},{key:"duration_ms",value:String(n.durationMs)},{key:"message",value:n.error.message}]}),signal:l})}function SJ(e,t,n){return!!(t?.aborted||n.toLowerCase()==="reporterror"||e instanceof se&&e.code===D.Canceled)}function cb(e){if(e.errorReporting===!1)return n=>r=>n(r);let t=typeof e.errorReporting=="function"?e.errorReporting:n=>ZJ(e.baseUrl,e.fetch??globalThis.fetch,n,e);return n=>async r=>{let o=Date.now(),i=s=>{if(SJ(s,r.signal,r.method.name))return;let l=r.header.get("x-request-id")??"",a={endpoint:r.url,requestId:l,error:s instanceof Error?s:new Error(String(s)),startTime:o,durationMs:Date.now()-o};Promise.resolve().then(()=>t(a)).catch(()=>{})};try{let s=await n(r);if(s.stream){let l=s.message;async function*a(){try{for await(let c of l)yield c}catch(c){throw i(c),c}}return{...s,message:a()}}return s}catch(s){throw i(s),s}}}var db;function KS(){if(db)return db;let e=new Map,t=`/${Vo.typeName}/`;for(let n of Object.values(Vo.methods)){let r=tu(n,NZ),o;typeof r?.pattern.value=="string"?o=r.pattern.value:r?.pattern.case==="custom"&&(o=r.pattern.value.path),o&&!o.includes("{")&&e.set(`${t}${n.name}`,o)}return db=e,e}function XJ(e){switch(e){case 400:return"invalid_argument";case 401:return"unauthenticated";case 403:return"permission_denied";case 404:return"not_found";case 408:case 504:return"deadline_exceeded";case 409:return"already_exists";case 412:return"failed_precondition";case 413:case 429:return"resource_exhausted";case 499:return"canceled";case 501:return"unimplemented";case 502:case 503:return"unavailable";default:return e>=500&&e<600?"internal":"unknown"}}function WJ(e){try{let t=JSON.parse(e);if(typeof t=="object"&&t!==null)return t}catch{}}async function zS(e){try{let t=await e.text(),n=WJ(t),r=typeof n?.code=="string"?n.code:XJ(e.status),o=typeof n?.message=="string"&&n.message||typeof n?.error=="string"&&n.error||t.trim()||e.statusText||r,i=Array.isArray(n?.details)?n.details:void 0,s=new Headers(e.headers);return s.set("Content-Type","application/json"),new Response(JSON.stringify({code:r,message:o,...i?{details:i}:{}}),{status:e.status,statusText:e.statusText,headers:s})}catch{return e}}function ub(e=globalThis.fetch,t=KS()){return async(n,r)=>{let o;typeof n=="string"?o=n:n instanceof URL?o=n.toString():o=n.url;let i=new URL(o),s=t.get(i.pathname),l;return s?(i.pathname=s,typeof n=="string"||n instanceof URL?l=await e(i.toString(),r):l=await e(new Request(i.toString(),n),r)):l=await e(n,r),l.ok?l:await zS(l)}}function hb(e){let t=[ab(e),cb(e),...e.interceptors??[]],n=e.fetch??globalThis.fetch,r=e.disableRouteMapping?n:ub(n);return lb({baseUrl:e.baseUrl,useBinaryFormat:!1,defaultTimeoutMs:e.timeoutMs??12e4,jsonOptions:{useProtoFieldName:!0,enumAsInteger:!0,...e.jsonOptions},fetch:r,interceptors:t})}function bb(e){let t="unary"in e?e:hb(e);return Hh(Vo,t)}var GJ={0:"unknown",1:"tenant",2:"user",CLOUD_EXPERT_SCOPE_UNKNOWN:"unknown",CLOUD_EXPERT_SCOPE_TENANT:"tenant",CLOUD_EXPERT_SCOPE_USER:"user",EXPERT_SCOPE_UNSPECIFIED:"unknown",EXPERT_SCOPE_TENANT:"tenant",EXPERT_SCOPE_USER:"user"},IJ={CLOUD_EXPERT_SCOPE_UNKNOWN:0,CLOUD_EXPERT_SCOPE_TENANT:1,CLOUD_EXPERT_SCOPE_USER:2,EXPERT_SCOPE_UNSPECIFIED:0,EXPERT_SCOPE_TENANT:1,EXPERT_SCOPE_USER:2},NJ={CLOUD_EXPERT_SESSION_VISIBILITY_UNSPECIFIED:0,CLOUD_EXPERT_SESSION_VISIBILITY_SHARED:1,CLOUD_EXPERT_SESSION_VISIBILITY_PRIVATE:2},mb={unspecified:0,builtin_capabilities:1,names:2};function fb(e){if(Array.isArray(e))return e.map(t=>fb(t));if(e!==null&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=fb(r));return t}return e}function LS(e){let t=e.modified_at??e.modifiedAt;return{resourceVersion:e.resource_version??e.resourceVersion??0,config:e.config,scope:GJ[e.scope??0]??"unknown",modifiedBy:e.modified_by??e.modifiedBy??"",modifiedAt:t?new Date(t):void 0,changeType:e.change_type??e.changeType??""}}function FJ(e){return typeof e=="number"?e:typeof e=="string"?IJ[e]??0:0}function BJ(e){if(typeof e=="number")return e;if(typeof e=="string"){let t=e.replace(/^(?:CLOUD_EXPERT_BUILTIN_CAPABILITY_|AGENT_CAPABILITY_)/,""),n=pr[t];return typeof n=="number"?n:void 0}}function CJ(e){if(typeof e=="number")return e;if(typeof e=="string")return NJ[e]}function YJ(e){if(e.routing_target?.pool_id===void 0)return e.routing_target?.daemon_vm_id??e.daemon_vm_id}function HS(e,t,n){let r=e.capabilityNames??[],o=(e.builtinCapabilities??[]).map(c=>pr[c]??"UNKNOWN"),i=o.every(c=>c&&c!=="UNKNOWN"),s=i&&o.every(c=>r.includes(c)),l=i&&r.every(c=>o.includes(c));if(s&&l)return r;let a=new Error(`inconsistent capabilities from api call ${t}`);if(n(a),s)return r;if(l)return o;throw a}function Oa(e){let t=e;return{name:t.name,description:t.description,initialMessages:t.initial_messages||[],builtinCapabilities:(t.builtin_capabilities||[]).map(n=>BJ(n)??pr.UNKNOWN),...t.capability_names===void 0?{}:{capabilityNames:t.capability_names},...t.use_all_builtin_capabilities===void 0?{}:{useAllBuiltinCapabilities:t.use_all_builtin_capabilities},capabilityInstanceIds:t.capability_instance_ids||[],toolConfig:t.tool_config?{toolName:t.tool_config.tool_name,toolDescription:t.tool_config.tool_description,timeoutSeconds:t.tool_config.timeout_seconds,allowAsync:t.tool_config.allow_async}:void 0,sessionConfig:t.session_config?{model:t.session_config.model,reasoningEffort:t.session_config.reasoning_effort,includeDefaultSystemPrompt:t.session_config.include_default_system_prompt,systemPrompt:t.session_config.system_prompt,visibility:CJ(t.session_config.visibility),userMetadata:t.session_config.user_metadata,autoCleanupOnIdle:t.session_config.auto_cleanup_on_idle}:void 0,vmConfig:t.vm_config?{baseImage:t.vm_config.base_image,snapshotId:t.vm_config.snapshot_id,cpuCores:t.vm_config.cpu_cores,memoryMib:t.vm_config.memory_mib,timeoutSeconds:t.vm_config.timeout_seconds,idleTimeoutSeconds:t.vm_config.idle_timeout_seconds,installGitCredentials:t.vm_config.install_git_credentials,installUserSecrets:t.vm_config.install_user_secrets,imageSource:t.vm_config.image_source,baseImageId:t.vm_config.base_image_id,cloneRepos:(t.vm_config.clone_repos||[]).map(n=>({owner:n.owner,name:n.name,branch:n.branch})),resources:t.vm_config.resources?{cpuCores:t.vm_config.resources.cpu_cores,memoryMib:t.vm_config.resources.memory_mib}:void 0,baseImageCurrentVersion:t.vm_config.base_image_current_version,environmentVariables:t.vm_config.environment_variables?{variables:(t.vm_config.environment_variables.variables||[]).map(n=>({name:n.name,value:n.value}))}:void 0}:void 0,daemonVmId:YJ(t),poolId:t.routing_target?.pool_id,workerExpertIds:t.worker_expert_ids||[],useAllExpertsAsWorkers:t.use_all_experts_as_workers??!1,userInstructions:t.user_instructions,placeholderText:t.placeholder_text,mcpConfigIds:t.mcp_config_ids||[],hidden:t.hidden??!1,...t.tags&&Object.keys(t.tags).length>0?{tags:t.tags}:{}}}function MS(e){return{expertId:e.expert_id,slug:e.slug,scope:FJ(e.scope),config:e.config?Oa(e.config):void 0,userId:e.user_id,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:e.resource_version,deletedAt:e.deleted_at?new Date(e.deleted_at):void 0,effectiveRole:e.effective_role||void 0,...e.space_summary?{spaceSummary:{spaceId:e.space_summary.space_id??"",displayName:e.space_summary.display_name??""}}:{}}}function DS(e){let t=e?.trim();return t&&t.length>0?t:void 0}function yJ(e,t){if(e!==void 0)return{pool_id:e};if(t!==void 0)return{daemon_vm_id:t}}function Ab(e){let t=e.mcpConfigIds!==void 0,n=e.mcpConfigIds??[],r=e.tags!==void 0,o=DS(e.poolId),i=DS(e.daemonVmId),s={name:e.name,description:e.description,initial_messages:e.initialMessages||[],builtin_capabilities:e.builtinCapabilities||[],capability_names:e.capabilityNames,use_all_builtin_capabilities:e.useAllBuiltinCapabilities,capability_instance_ids:e.capabilityInstanceIds||[],tool_config:e.toolConfig?{tool_name:e.toolConfig.toolName,tool_description:e.toolConfig.toolDescription,timeout_seconds:e.toolConfig.timeoutSeconds,allow_async:e.toolConfig.allowAsync}:void 0,session_config:e.sessionConfig?{model:e.sessionConfig.model,reasoning_effort:e.sessionConfig.reasoningEffort,include_default_system_prompt:e.sessionConfig.includeDefaultSystemPrompt,system_prompt:e.sessionConfig.systemPrompt,visibility:e.sessionConfig.visibility,user_metadata:e.sessionConfig.userMetadata,auto_cleanup_on_idle:e.sessionConfig.autoCleanupOnIdle}:void 0,vm_config:e.vmConfig?{base_image:e.vmConfig.baseImage,snapshot_id:e.vmConfig.snapshotId,cpu_cores:e.vmConfig.cpuCores,memory_mib:e.vmConfig.memoryMib,timeout_seconds:e.vmConfig.timeoutSeconds,idle_timeout_seconds:e.vmConfig.idleTimeoutSeconds,install_git_credentials:e.vmConfig.installGitCredentials,install_user_secrets:e.vmConfig.installUserSecrets,image_source:e.vmConfig.imageSource,base_image_id:e.vmConfig.baseImageId,clone_repos:(e.vmConfig.cloneRepos||[]).map(l=>({owner:l.owner,name:l.name,branch:l.branch})),resources:e.vmConfig.resources?{cpu_cores:e.vmConfig.resources.cpuCores,memory_mib:e.vmConfig.resources.memoryMib}:void 0,base_image_current_version:e.vmConfig.baseImageCurrentVersion,environment_variables:e.vmConfig.environmentVariables?{variables:e.vmConfig.environmentVariables.variables.map(l=>({name:l.name,value:l.value}))}:void 0}:void 0,routing_target:yJ(o,i),worker_expert_ids:e.useAllExpertsAsWorkers?[]:e.workerExpertIds||[],use_all_experts_as_workers:e.useAllExpertsAsWorkers??!1,user_instructions:e.userInstructions,placeholder_text:e.placeholderText,mcp_config_ids:n,has_mcp_config_ids:t,hidden:e.hidden??!1,tags:e.tags,has_tags:r?!0:void 0};return fb(s)}var Vb={apiCallTimeoutMs:3e4,imageBuildTimeoutMs:6e5,environmentSnapshotUpdateTimeoutMs:6e5,maxRetries:3,retryBaseDelayMs:500};var UJ={EVENT_SOURCE_TYPE_SLACK:1,EVENT_SOURCE_TYPE_GITHUB:2,EVENT_SOURCE_TYPE_LINEAR:3,EVENT_SOURCE_TYPE_WEBHOOK:4,EVENT_SOURCE_TYPE_SCHEDULED:5,EVENT_SOURCE_TYPE_PAGERDUTY:6,EVENT_SOURCE_TYPE_JIRA:7,EVENT_SOURCE_TYPE_CONFLUENCE:8,EVENT_SOURCE_TYPE_GITLAB:9,EVENT_SOURCE_TYPE_TEAMS:10,EVENT_SOURCE_TYPE_AZURE_DEVOPS:11};function wJ(e){if(typeof e=="number")return e;if(typeof e=="string")return UJ[e]??void 0}function OS(e){if(typeof e=="number")return e;if(typeof e=="string"){let t=Number(e);return Number.isFinite(t)?t:void 0}}function Un(e){let t=e,n=t.workflow_id??t.workflowId??"",r=t.slug??"",o=t.event_source_id??t.eventSourceId??"",i=t.expert_id??t.expertId??"",s=OS(t.resource_version??t.resourceVersion),l=t.created_at??t.createdAt,a=t.override_auto_cleanup_on_idle??t.overrideAutoCleanupOnIdle,c=t.initial_instructions??t.initialInstructions,d=t.actor_user_id??t.actorUserId,u=t.per_minute_create_agent_limit??t.perMinuteCreateAgentLimit,h=typeof u=="number"?u:void 0;return{workflowId:n,...r?{slug:r}:{},eventSourceId:o,name:e.name??"",description:e.description,enabled:e.enabled??!0,...typeof a=="boolean"?{overrideAutoCleanupOnIdle:a}:{},...typeof c=="string"?{initialInstructions:c}:{},...typeof d=="string"?{actorUserId:d}:{},...h===void 0?{}:{perMinuteCreateAgentLimit:h},expertId:i,resourceVersion:s,createdAt:l?new Date(l):void 0,raw:e}}function Er(e){let t=e,n=t.event_source_id??t.eventSourceId??"",r=t.slug??"",o=wJ(t.event_source_type??t.eventSourceType),i=t.user_id??t.userId,s=t.tenant_id??t.tenantId,l=OS(t.resource_version??t.resourceVersion),a=t.created_at??t.createdAt;return{eventSourceId:n,...r?{slug:r}:{},eventSourceType:o,name:e.name??n,active:e.active??!0,userId:i,tenantId:s,resourceVersion:l,createdAt:a?new Date(a):void 0,raw:e}}function jS(e,t=64){if(!e)return;let n=e.replace(/[^a-zA-Z0-9!#$%&'*+-.^_`|~]/g,"").slice(0,t);return n.length>0?n:void 0}function gb(e){if(!e)return;let t=e.split("/").map(n=>jS(n)).filter(n=>!!n);return t.length>0?t.join("/"):void 0}var JJ={debug:()=>{},error:()=>{},info:()=>{},warn:()=>{}},kJ={0:"ok",1:"cancelled",2:"unknown",3:"unavailable",4:"unimplemented",5:"invalidArgument",6:"resourceExhausted",7:"unauthenticated",8:"permissionDenied",9:"deadlineExceeded",10:"augmentTooLarge",11:"augmentClientTimeout",12:"augmentUpgradeRequired"},qS=500,pb=3e4,Ro=class extends It{apiStatus;originalError;errorDetails;responseBodyMessage;responseBodyText;httpUrl;httpStatus;httpRetryAfter;retryBehavior;isRetriable;shouldBackoff;requestId;constructor(t,n,r,o={}){super(n?.status??0,n?.statusText??"",o.responseBodyText??"",o.responseBodyMessage,o.errorReason??o.errorDetails),t!==void 0&&(this.message=t),this.name="APIError",this.apiStatus=n?_J(n.status):3,this.originalError=o.originalError,this.errorDetails=o.errorDetails,this.responseBodyMessage=o.responseBodyMessage,this.responseBodyText=o.responseBodyText,this.httpUrl=TJ(n?.url),this.httpStatus=n?.status;let i=n?.headers.get("retry-after");this.httpRetryAfter=i?MJ(i):void 0,this.retryBehavior=QJ(n?.status),this.isRetriable=this.status===1||this.status===3,this.shouldBackoff=n?.status===429,this.requestId=n?.headers.get("x-request-id")??r}get status(){return this.apiStatus}},tc=class extends Error{status=3;isRetriable=!0;shouldBackoff=!1;originalError;constructor(t,n){super(t,{cause:n}),this.name="APITransportError",this.originalError=n}};function _J(e){let t={400:5,401:7,403:8,404:4,408:11,413:10,426:12,429:6,499:1,504:9};return t[e]!==void 0?t[e]:e>=500&&e<600?3:2}function QJ(e){if(e===429||e===503)return"retry";if(e===402||e===403)return"sinkhole"}function TJ(e){try{return e?new URL(e):void 0}catch{return}}function KJ(e){return e.length>qS?`${e.slice(0,qS)}\u2026(truncated, ${e.length} chars total)`:e}function zJ(e){try{return JSON.stringify(e).length}catch{return 0}}function DJ(e){let t="0123456789ABCDEFGHJKMNPQRSTVWXYZ",n=0n;if(e.length!==26)throw new Error("agent id is not a 26-character ULID");for(let o of e.toUpperCase()){let i=t.indexOf(o);if(i<0)throw new Error("agent id contains an invalid ULID character");n=n*32n+BigInt(i)}let r=n.toString(16).padStart(32,"0").slice(-32);return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}function LJ(e,t){return t?.aborted?!1:e instanceof Ro?[1,4,8].includes(e.status)?!1:e.httpStatus!==402:!(e instanceof It&&e.statusCode===402)}async function HJ(e,t){let n=await e.text(),r=n.trim()?KJ(n.trim()):void 0,o,i,s;try{let l=JSON.parse(n);i=l.error_details,s=l.error_reason??l.errorReason,typeof l.error=="string"?o=l.error:typeof l.message=="string"&&(o=l.message)}catch{}return new Ro(void 0,e,t,{errorDetails:i,errorReason:s,responseBodyMessage:o,responseBodyText:r})}function MJ(e){let t=Number(e);if(Number.isFinite(t))return new Date(Date.now()+t*1e3);let n=new Date(e);return Number.isNaN(n.getTime())?void 0:n}function OJ(e){return e.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function jJ(e){return e.replace(/_([a-z])/g,(t,n)=>n.toUpperCase())}function xn(e){return Array.isArray(e)?e.map(xn):e===null||typeof e!="object"?e:Object.fromEntries(Object.entries(e).map(([t,n])=>[jJ(t),xn(n)]))}function PJ(e,t){if(typeof e!="string")throw new Error(`Expected ${t} to be a string`);return e}function Eb(e,t){if(!Array.isArray(e)||e.some(n=>typeof n!="string"))throw new Error(`Expected ${t} to be an array of strings`);return e}function qJ(e){if(typeof e=="number")return e;if(typeof e=="string")return fo[e]??fo.REASON_UNSPECIFIED}function $J(e){if(!e||typeof e!="object")return;let t=e;return{...typeof t.code=="number"?{code:t.code}:{},...typeof t.message=="string"?{message:t.message}:{},...typeof t.detail=="string"?{detail:t.detail}:{}}}function ec(e){return{checkpoint_id:e.checkpointId,added_blobs:e.addedBlobs,deleted_blobs:e.deletedBlobs}}function e5(e,t){if(!t)return{};if(e===13||e===14)return{extra_tool_input:{atlassian_tool_extra_input:{server_url:t.serverUrl,personal_api_token:t.personalApiToken,username:t.username}}};let n;return e===15?n="notion_tool_extra_input":e===12?n="linear_tool_extra_input":e===8&&(n="github_tool_extra_input"),n?{extra_tool_input:{[n]:{api_token:t.apiToken}}}:{}}function t5(e){let t={},n={enableParallelTools:"enable_parallel_tool_use",language:"lang",pathName:"path",senderUserId:"poseidon_sender_user_id",thirdPartyOverride:"third_party_override"};for(let[r,o]of Object.entries(e))r==="signal"||r==="sessionId"||o===void 0||(t[n[r]??OJ(r)]=r==="blobs"?ec(o):o);return t.tool_definitions??=[],t.nodes??=[],t.rules??=[],t.skills??=[],t.mode??="CHAT",t.feature_detection_flags={support_tool_use_start:e.enableSupportToolUseStart,support_parallel_tool_use:e.enableParallelTools},t}function n5(e){if(typeof e!="string")return"unknown";let t=e.toLowerCase().replace("_tier","");return t==="community"||t==="professional"||t==="enterprise"?t:"unknown"}var nc={UNSPECIFIED:0,SECRET_URL:1,TENANT:2};function r5(e){if(!e.startsWith("https://"))return!1;try{return new URL(e).hostname!==""}catch{return!1}}var o5={"secret-url":nc.SECRET_URL,tenant:nc.TENANT};function i5(e,t){return e===nc.TENANT||e==="HOSTED_ARTIFACT_VISIBILITY_TENANT"?"tenant":e===nc.SECRET_URL||e==="HOSTED_ARTIFACT_VISIBILITY_SECRET_URL"?"secret-url":t}function s5(e){let t=typeof e.size_bytes=="string"?Number(e.size_bytes):e.size_bytes??0;return{hostedArtifactId:e.hosted_artifact_id??"",visibility:i5(e.visibility,"secret-url"),mediaType:e.media_type??"",sizeBytes:t,sha256Hex:e.sha256_hex??"",label:e.label??"",ownerUserId:e.owner_user_id??"",canonicalUrl:e.canonical_url??"",createdAt:e.created_at??"",expiresAt:e.expires_at??""}}var Rb="environment",l5={1:"pending",2:"running",3:"cancel_requested",4:"succeeded",5:"failed",6:"canceled"},a5={1:"queued",2:"preparing",3:"building",4:"promoting",6:"building"},c5=5,d5={[an.BASE_IMAGE_REBUILD]:"build",[an.BASE_IMAGE_BUILD]:"build",[an.REFRESH]:"refresh",[an.REPOSITORY_RECONCILE]:"reconcile",[c5]:"update"};function u5(e){if(e===void 0)return"build";if(e!==an.UNSPECIFIED)return d5[e]??"unknown"}function $S({sandboxProviderId:e,displayName:t,description:n,visibility:r,baseImage:o,refreshEnabled:i,repos:s,environmentVariables:l,tags:a,spaceId:c}){return{config:{...e===void 0?{}:{sandbox_provider_id:e},display_name:t,description:n,visibility:r,...s?{repos:s.map(d=>({owner:d.owner,name:d.name,branch:d.branch,...d.host?{host:d.host}:{},...d.project?{project:d.project}:{}}))}:{},...l?{environment_variables:{variables:l.variables.map(d=>({name:d.name,value:d.value}))}}:{},...i===void 0?{}:{refresh_enabled:i},tags:a??{},...c===void 0?{}:{space_id:c}},...o?{base_image:o}:{}}}function eX({imageId:e,sandboxProviderId:t,displayName:n,description:r,visibility:o,baseImage:i,refreshEnabled:s,repos:l,environmentVariables:a,expectedResourceVersion:c,tags:d,spaceId:u}){return{image_id:e,...t===void 0?{}:{sandbox_provider_id:t},...n===void 0?{}:{display_name:n},...r===void 0?{}:{description:r},...o===void 0?{}:{visibility:o},...i===void 0?{}:{base_image:i},...s===void 0?{}:{refresh_enabled:s},...l?{repos:l.map(h=>({owner:h.owner,name:h.name,...h.branch?{branch:h.branch}:{},...h.host?{host:h.host}:{},...h.project?{project:h.project}:{}})),has_repos:!0}:{},...a?{environment_variables:{variables:a.variables.map(h=>({name:h.name,value:h.value}))}}:{},...c===void 0?{}:{expected_resource_version:c},...d===void 0?{}:{tags:d,has_tags:!0},...u===void 0?{}:{space_id:u}}}function h5(e){return{eventId:e.event_id??"",source:e.source??"",eventType:e.event_type??"",payloadJson:e.payload_json??"",receivedAt:e.received_at?new Date(e.received_at):void 0,tenantId:e.tenant_id,userId:e.user_id,webhookId:e.webhook_id||void 0}}var b5=50,Zb="expert",f5=1e3;function Sb(e){return{groupId:e.group_id??"",name:e.name??"",description:e.description??"",createdBy:e.created_by??"",createdAt:e.created_at??"",updatedAt:e.updated_at??""}}function m5(e){switch(e){case 1:case"CLOUD_GROUP_MEMBER_KIND_HUMAN":return"human";case 2:case"CLOUD_GROUP_MEMBER_KIND_SERVICE_ACCOUNT":return"service_account";default:return"unspecified"}}function A5(e){return{userId:e.user_id??"",addedAt:e.added_at??"",addedBy:e.added_by??"",email:e.email??"",givenName:e.given_name??"",familyName:e.family_name??"",addedByName:e.added_by_name??"",principalKind:m5(e.principal_kind),serviceName:e.service_name??""}}function tX(e,t){let n=t.members??[],r=t.serviceAccounts??[];return r.length===0?{group_id:e,members:n}:{group_id:e,selectors:[...n.map(o=>({member:o})),...r.map(o=>({service_account:o}))]}}var V5="This deployment does not support service-account selectors yet. Pass the service account's user id as a member instead.";function g5(e,t){return t.selectors===void 0||t.members!==void 0||!(e instanceof It)||e.statusCode!==400?!1:[e.serverMessage,e.responseBody,e.message].some(n=>n!==void 0&&/\bmembers is required\b/.test(n))}async function nX(e,t){try{return await e()}catch(n){throw g5(n,t)?new Error(V5):n}}function rX(e){return{id:e.id??"",label:e.label??"",description:e.description??"",connected:e.connected??!1,statusKind:e.status_kind??"",statusLabel:e.status_label??"",details:(e.details??[]).map(t=>({key:t.key??"",label:t.label??"",value:t.value??""})),actions:(e.actions??[]).map(t=>({kind:t.kind??"",label:t.label??"",url:t.url??""}))}}var p5=404,oX={UNSPECIFIED:0,USER:1,TENANT:2},E5={user:oX.USER,tenant:oX.TENANT},Xb="daemon_pool";function R5(e){return e===1||e==="1"||e==="DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_ISOLATED"||e==="CLOUD_DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_ISOLATED"?"isolated":e===2||e==="2"||e==="DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_SHARED"||e==="CLOUD_DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_SHARED"?"shared":"unspecified"}var Wb="sandbox_backend";function Z5(e){return e.provider_type===1||e.provider_type==="CLOUD_SANDBOX_PROVIDER_TYPE_SYSTEM_MANAGED"?"system-managed":(e.provider_type===2||e.provider_type==="CLOUD_SANDBOX_PROVIDER_TYPE_USER_MANAGED","user-managed")}function Rr(e){return{id:e.id??"",slug:e.slug??"",displayName:e.display_name??e.slug??"",description:e.description||void 0,type:Z5(e),enabled:e.enabled===!0,createdByUserId:e.created_by_user_id||void 0,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:String(e.resource_version??""),deletedAt:e.deleted_at?new Date(e.deleted_at):void 0,spaceIds:e.space_ids??[],allSpaces:e.all_spaces??e.space_ids===void 0}}function iX({connectorUserId:e,connectorServiceAccount:t}){if(e!==void 0&&t!==void 0)throw new Error("Use only one of connectorUserId or connectorServiceAccount.");if(e!==void 0)return{user_id:e};if(t!==void 0)return{service_account_name:t}}function ja(e){let t=e.connector,n=S5(e.resource_version);return{id:e.id??"",displayName:e.display_name??e.id??"",description:e.description,visibility:e.visibility,daemonConnectorUserId:e.daemon_connector_user_id??(typeof t?.user_id=="string"?t.user_id:void 0),daemonConnectorServiceAccountName:e.daemon_connector_service_account_name??(typeof t?.service_account_name=="string"?t.service_account_name:void 0),spaceId:e.space_id,workspaceIsolation:R5(e.workspace_isolation_policy??e.workspace_isolation),createdByUserId:e.created_by_user_id,createdByUserName:e.created_by_user_name,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:n}}function S5(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(typeof e=="string"&&e.trim()!==""){let t=Number(e);return Number.isInteger(t)&&t>=0?t:void 0}}function X5(e){if(e)return{daemonsOnline:e.daemons_online,slotsTotal:e.slots_total,slotsInUse:e.slots_in_use,lastDaemonSeen:e.last_daemon_seen?new Date(e.last_daemon_seen):void 0}}function W5(e){return{vmId:e.vm_id??"",name:e.name,slotsTotal:e.slots_total,slotsInUse:e.slots_in_use,workspacePath:e.workspace_path,connectedAt:e.connected_at?new Date(e.connected_at):void 0,lastHeartbeat:e.last_heartbeat?new Date(e.last_heartbeat):void 0,poolId:e.pool_id,cliVersion:e.cli_version}}function G5(e){return{agentId:e.agent_id??"",addedAt:e.added_at??""}}function ts(e){return{projectId:e.project_id??"",name:e.name??"",description:e.description??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",createdBy:e.created_by??"",agents:(e.agents??[]).map(G5)}}var Gb="resident";function bX(e){return typeof e=="number"?e:e==="CLOUD_RESIDENT_SCOPE_TENANT"?1:e==="CLOUD_RESIDENT_SCOPE_USER"?2:0}function I5(e){let t;return e.vm_config!=null?t={type:"base_image",vmConfig:{baseImageId:e.vm_config.base_image_id,...e.vm_config.resources==null?{}:{resources:{cpuCores:e.vm_config.resources.cpu_cores,memoryMib:e.vm_config.resources.memory_mib}}}}:e.daemon_vm_id!=null?t={type:"daemon",daemonVmId:e.daemon_vm_id}:e.daemon_pool_id!=null&&(t={type:"pool",daemonPoolId:e.daemon_pool_id}),{...e.model===void 0?{}:{model:e.model},...e.reasoning_effort===void 0?{}:{reasoningEffort:e.reasoning_effort},...t===void 0?{}:{environment:t}}}function N5(e){return{...e.slack?{slack:{mentionable:e.slack.mentionable??!1,...e.slack.usergroup_handle===void 0?{}:{usergroupHandle:e.slack.usergroup_handle},...e.slack.home_channel_id===void 0?{}:{homeChannelId:e.slack.home_channel_id},...e.slack.direct_messages_enabled===void 0?{}:{directMessagesEnabled:e.slack.direct_messages_enabled}}}:{}}}function F5(e){return{...e.slack?{slack:{...e.slack.subteam_id===void 0?{}:{subteamId:e.slack.subteam_id},...e.slack.last_synced_at?{lastSyncedAt:new Date(e.slack.last_synced_at)}:{},...e.slack.error===void 0?{}:{error:e.slack.error}}}:{}}}function fX(e){return{name:e.name,description:e.description,expertId:e.expert_id,initialMessage:e.initial_message,overrides:e.overrides?I5(e.overrides):void 0,runAsUserId:e.run_as_user_id,presence:e.presence?N5(e.presence):void 0,icon:e.icon,tags:e.tags??{}}}function Zr(e){return{residentId:e.resident_id,scope:bX(e.scope),config:e.config?fX(e.config):void 0,userId:e.user_id,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:e.resource_version,currentAgentId:e.current_agent_id,startedAt:e.started_at?new Date(e.started_at):void 0,effectiveRole:e.effective_role||void 0,deletedAt:e.deleted_at?new Date(e.deleted_at):void 0,presenceStatus:e.presence_status?F5(e.presence_status):void 0,...e.space_summary?{spaceSummary:{spaceId:e.space_summary.space_id??"",displayName:e.space_summary.display_name??""}}:{}}}function B5(e){return{agentId:e.agent_id,status:e.status??"",startedAt:e.started_at?new Date(e.started_at):void 0,endedAt:e.ended_at?new Date(e.ended_at):void 0}}function sX(e){return{resourceVersion:e.resource_version??0,config:e.config?fX(e.config):void 0,scope:bX(e.scope),modifiedBy:e.modified_by??"",modifiedAt:e.modified_at?new Date(e.modified_at):void 0,changeType:e.change_type??""}}function C5(e){let t={};e.model!==void 0&&(t.model=e.model),e.reasoningEffort!==void 0&&(t.reasoning_effort=e.reasoningEffort);let n=e.environment;if(n)switch(n.type){case"base_image":t.vm_config={base_image_id:n.vmConfig.baseImageId,...n.vmConfig.resources==null?{}:{resources:{cpu_cores:n.vmConfig.resources.cpuCores,memory_mib:n.vmConfig.resources.memoryMib}}};break;case"daemon":t.daemon_vm_id=n.daemonVmId;break;case"pool":t.daemon_pool_id=n.daemonPoolId;break}return t}function Y5(e){let t={};return e.slack&&(t.slack={mentionable:e.slack.mentionable,...e.slack.usergroupHandle===void 0?{}:{usergroup_handle:e.slack.usergroupHandle},...e.slack.homeChannelId===void 0?{}:{home_channel_id:e.slack.homeChannelId},...e.slack.directMessagesEnabled===void 0?{}:{direct_messages_enabled:e.slack.directMessagesEnabled}}),t}function lX(e){return{name:e.name,...e.description===void 0?{}:{description:e.description},expert_id:e.expertId,...e.initialMessage===void 0?{}:{initial_message:e.initialMessage},...e.overrides===void 0?{}:{overrides:C5(e.overrides)},...e.runAsUserId===void 0?{}:{run_as_user_id:e.runAsUserId},...e.presence===void 0?{}:{presence:Y5(e.presence)},...e.icon===void 0?{}:{icon:e.icon},...e.tags===void 0?{}:{tags:e.tags,has_tags:!0}}}var y5={personal:1,space:2,organization:3},mX={user:1,tenant:2};function U5(e){let t={name:e.name,scope:mX[e.scope]};if(e.value!==void 0&&(t.value=e.value),e.expectedVersion!==void 0?t.expected_version=e.expectedVersion:e.secretId===void 0&&(t.expected_version="0"),e.secretId===void 0){if(e.applicability===void 0)throw new Error("applicability is required for stable create");if(e.value===void 0)throw new Error("value is required for stable create");t.applicability=y5[e.applicability]}else t.secret_id=e.secretId,e.value===void 0&&(t.preserve_value=!0);return w5(t,e),x5(t,e),t}function w5(e,t){if(t.allSpaces===!0&&(t.spaceIds?.length??0)>0)throw new Error("allSpaces and non-empty spaceIds are mutually exclusive");if(t.allSpaces===!0){e.update_spaces=!0,e.all_spaces=!0,e.space_ids=[];return}(t.applicability==="space"||t.spaceIds!==void 0)&&(e.update_spaces=!0,e.all_spaces=!1,e.space_ids=[...t.spaceIds??[]].sort())}function x5(e,t){t.description!==void 0&&(e.description=t.description,t.secretId!==void 0&&(e.update_description=!0)),t.tags!==void 0&&(e.tags=t.tags,t.secretId!==void 0&&(e.update_tags=!0))}var ns={user:1,tenant:2};function v5(e){switch(e){case 1:case"SECRET_APPLICABILITY_PERSONAL":return"personal";case 2:case"SECRET_APPLICABILITY_SPACE":return"space";case 3:case"SECRET_APPLICABILITY_ORGANIZATION":return"organization";default:return}}function Pa(e,t,n){let r=v5(e.applicability),o=r!==void 0||Array.isArray(e.space_ids)||typeof e.all_spaces=="boolean",i;o&&(i=Array.isArray(e.space_ids)?e.space_ids.filter(l=>typeof l=="string"):[]);let s=o?e.all_spaces===!0:void 0;return{name:e.name??t,scope:n,description:e.description??"",tags:e.tags??{},version:e.version??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",valueSizeBytes:e.value_size_bytes??0,...i===void 0?{}:{spaceIds:i},...s===void 0?{}:{allSpaces:s},...r===void 0?{}:{applicability:r},...e.secret_id===void 0?{}:{secretId:e.secret_id},...e.olac_ready===void 0?{}:{olacReady:e.olac_ready}}}function J5(e){if(e===void 0)return;let t=Object.entries(e);return t.length===0?void 0:t.map(([n,r])=>({key:n,values:[r]}))}var Ib="secret",wn=L.child({prefix:"cloud-http"});var AX=1e4,k5=2,_5={UNKNOWN:0,TOOL_PROVIDER:1,AGENT:2,WAITING:3},Q5=["vfs_space_id","command_handler_ready","mcp_credential_revision","desktop_ensure","mcp_targeted_credential_update","mcp_target_material_v1","mcp_passive_credential_install_v1","mcp_target_material_stdio_v1","provisioning_generation","mcp_scoped_secret_revision_domain_v1"],T5={0:"UNKNOWN",1:"IDLE",2:"PROCESSING",3:"TERMINATED",4:"COMPLETED",5:"STARTING",6:"WAITING_FOR_INPUT"},K5={0:"unspecified",1:"CLI",2:"cloud VM",3:"local daemon",AGENT_EXECUTION_ENVIRONMENT_UNSPECIFIED:"unspecified",AGENT_EXECUTION_ENVIRONMENT_CLI:"CLI",AGENT_EXECUTION_ENVIRONMENT_MODAL_VM:"cloud VM",AGENT_EXECUTION_ENVIRONMENT_DAEMON:"local daemon"};function aX(e,t,n){if(typeof e!="string"&&typeof e!="number")return;let r=String(e);return r in t?t[r]??r:r.startsWith(n)?r.slice(n.length):r}function cX(e){return e instanceof Date?e.toISOString():e}function z5(e={}){let t={limit:e.limit??100};return e.parentAgentId&&(t.parent_agent_id=e.parentAgentId),e.includeOlacShared!==void 0&&(t.include_olac_shared=e.includeOlacShared),e.spaceId&&(t.space_id=e.spaceId),e.searchQuery&&(t.search_query=e.searchQuery),e.includeArchived&&(t.include_archived=!0),e.expertId&&(t.expert_id=e.expertId),e.createdAfter&&(t.created_after=cX(e.createdAfter)),e.createdBefore&&(t.created_before=cX(e.createdBefore)),(e.includeShared!==void 0||e.includeTenantShared!==void 0)&&(t.include_shared=e.includeShared??e.includeTenantShared),e.defaultSpaceOnly&&(t.default_space_only=!0),e.pageToken&&(t.page_token=e.pageToken),t}function po(e){let t=r=>typeof r=="string"?new Date(r):void 0,n=r=>typeof r=="string"&&r?r:void 0;return{agentId:n(e.agent_id)??"",agentName:n(e.agent_name)??"",status:aX(e.status,T5,"CLOUD_AGENT_STATUS_"),...Array.isArray(e.capabilities)?{capabilities:e.capabilities.filter(r=>typeof r=="number")}:{},createdAt:t(e.created_at),updatedAt:t(e.updated_at),...Array.isArray(e.tags)?{tags:e.tags.filter(r=>typeof r=="string")}:{},expertId:n(e.expert_id),spaceId:n(e.space_id),workflowId:n(e.workflow_id),environmentId:n(e.environment_id),daemonId:n(e.daemon_id),daemonPoolId:n(e.daemon_pool_id),parentAgentId:n(e.parent_agent_id),...typeof e.archived=="boolean"?{archived:e.archived}:{},...e.execution_environment===void 0?{}:{executionEnvironment:aX(e.execution_environment,K5,"AGENT_EXECUTION_ENVIRONMENT_")}}}function D5(e,t){let n={agent_id:e.agentId,workspace_path:e.workspacePath,connection_mode:t,available_tools:[],client_capabilities:[...Q5]};return e.vmId!==void 0&&(n.vm_id=e.vmId),e.capabilityInstanceId&&(n.capability_instance_id=e.capabilityInstanceId),e.provisioningGeneration!==void 0&&(n.provisioning_generation=e.provisioningGeneration),e.parentVmId!==void 0&&(n.parent_vm_id=e.parentVmId),e.daemonCommandId!==void 0&&(n.daemon_command_id=e.daemonCommandId),e.cliVersion&&(n.cli_version=e.cliVersion),n}function L5(e,t,n){let r={vmId:n,agentId:e.agentId},o=t.active_generation_epoch;typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&(r.activeGenerationEpoch=o);let i=t.connection_version;typeof i=="number"&&Number.isSafeInteger(i)&&i>0&&(r.connectionVersion=i),t.session_config&&(r.sessionConfig=H5(t.session_config));let s=M5(t.remote_tools);return s.length>0&&(r.remoteTools=s),t.vfs_filesystems&&Object.keys(t.vfs_filesystems).length>0&&(r.vfsFilesystems=t.vfs_filesystems),t.space_id&&(r.spaceId=t.space_id),t.expert_id&&(r.expertId=t.expert_id),t.workflow_id&&(r.workflowId=t.workflow_id),r}function H5(e){return{systemPrompt:e.system_prompt,includeDefaultSystemPrompt:e.include_default_system_prompt,model:e.model,reasoningEffort:e.reasoning_effort??e.reasoningEffort,userMetadata:e.user_metadata,useAllExpertsAsWorkers:e.use_all_experts_as_workers}}function M5(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n,o=typeof r.name=="string"?r.name:"";o&&t.push({name:o,description:typeof r.description=="string"?r.description:"",inputSchemaJson:typeof r.input_schema_json=="string"?r.input_schema_json:"",toolSafety:typeof r.tool_safety=="string"?r.tool_safety:""})}return t}function Sr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Eo(e,...t){for(let n of t){let r=e[n];if(Sr(r))return r}}function Qe(e,...t){for(let n of t){let r=e[n];if(typeof r=="string")return r}}function O5(e){if(!Sr(e))return{};let t={},n=Qe(e,"stop_reason","stopReason"),r=e.is_partial??e.isPartial,o=e.is_final??e.isFinal;return n!==void 0&&(t.stopReason=n),typeof r=="boolean"&&(t.isPartial=r),typeof o=="boolean"&&(t.isFinal=o),t}function j5(e,t){let n=[];if(Array.isArray(e.content))for(let o of e.content){let i=P5(o);if(i!==null){n.push(i);continue}if(o==null||q5(o))continue;let s=Sr(o)?`object keys=[${Object.keys(o).join(",")}]`:`type=${typeof o}`;wn.warn(`getMessages: dropping unparseable content block in agent ${t} message ${e.id??"<unknown>"}: ${s}`)}let r=n.filter(o=>o.kind==="text").map(o=>o.text).join("");return{messageId:e.id??"",role:e.role??"",content:r,contentBlocks:n,createdAt:e.created_at?new Date(e.created_at):void 0,...O5(e.metadata)}}function P5(e){if(typeof e=="string")return e.trim().length>0?{kind:"text",text:e}:null;if(!Sr(e))return null;let t=Sr(e.block)?e.block:e,n=Eo(t,"text","Text");if(n){let l=Qe(n,"text");if(l!==void 0&&l.trim().length>0)return{kind:"text",text:l}}let r=Eo(t,"tool_use","toolUse","ToolUse");if(r){let l=Qe(r,"id"),a=Qe(r,"name");if(!l||!a)return null;let c=Qe(r,"input");return{kind:"tool_use",toolUseId:l,toolName:a,inputJson:c&&c.trim().length>0?c:"{}"}}let o=Eo(t,"tool_result","toolResult","ToolResult");if(o){let l=Qe(o,"tool_use_id","toolUseId");if(!l)return null;let a=o.is_error??o.isError;return{kind:"tool_result",toolUseId:l,content:Qe(o,"content")??"",isError:typeof a=="boolean"?a:!1}}let i=Eo(t,"thinking","Thinking");if(i){let l=Qe(i,"content"),a=Qe(i,"summary"),c=Qe(i,"encrypted_content","encryptedContent"),d=Qe(i,"provider");if(l!==void 0||a!==void 0||c!==void 0)return{kind:"thinking",content:l??"",...a===void 0?{}:{summary:a},...c===void 0?{}:{encryptedContent:c},...d===void 0?{}:{provider:d}}}let s=Eo(t,"external_event","externalEvent","ExternalEvent");if(s){let l=Qe(s,"source")??"",a=Qe(s,"event_type","eventType")??"",c=Qe(s,"summary")??"";return l===""&&a===""&&c===""?null:{kind:"external_event",source:l,eventType:a,summary:c,details:Qe(s,"details")??"",subscriptionId:Qe(s,"subscription_id","subscriptionId")}}return null}function q5(e){if(typeof e=="string")return e.trim().length===0;if(!Sr(e))return!1;let t=Sr(e.block)?e.block:e,n=Eo(t,"text","Text");if(!n)return!1;let r=Qe(n,"text");return r!==void 0&&r.trim().length===0}function $5(e){return"poolId"in e?{pool_id:e.poolId}:{daemon_vm_id:e.daemonVmId}}var Nb="space";function qa(e){return{spaceId:e.space_id??"",displayName:e.display_name??"",normalizedName:e.normalized_name??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",createdBy:e.created_by??"",pinnedExpertIds:e.pinned_expert_ids??[]}}function Fb(e){return{tunnelId:e.tunnel_id??"",agentId:e.agent_id??"",vmId:e.vm_id??"",localHost:e.local_host??"",localPort:e.local_port??0,label:e.label??"",mode:e.mode??0,status:e.status??0,host:e.host??"",createdAt:e.created_at??"",expiresAt:e.expires_at??""}}var go={user:Ao.PRIVATE,tenant:Ao.SHARED},ek={personal:dn.PERSONAL,space:dn.SPACE,organization:dn.ORGANIZATION};function Cb(e){return Array.isArray(e)?e.map(Cb):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,t==="value"&&typeof n=="string"?"<redacted>":Cb(n)])):e}function tk(e){if(e===dn.PERSONAL||e==="SECRET_APPLICABILITY_PERSONAL")return"personal";if(e===dn.SPACE||e==="SECRET_APPLICABILITY_SPACE")return"space";if(e===dn.ORGANIZATION||e==="SECRET_APPLICABILITY_ORGANIZATION")return"organization"}function $a(e,t){let n=e.scope===Ao.SHARED||e.scope==="SECRET_SCOPE_SHARED"?"tenant":t,r=tk(e.applicability),o=e.space_ids??(e.space_id===void 0||e.space_id===""?[]:[e.space_id]);return{name:e.name??"",scope:n,description:e.description??"",tags:e.tags??{},version:e.version??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",valueSizeBytes:e.value_size_bytes??0,spaceIds:o,allSpaces:e.all_spaces===!0,...r?{applicability:r}:{},...e.secret_id?{secretId:e.secret_id}:{},...e.olac_ready===void 0?{}:{olacReady:e.olac_ready}}}function nk(e){if(!(!e||Object.keys(e).length===0))return Object.entries(e).map(([t,n])=>({key:t,values:[n]}))}var Tt="/cloud-agents/vfs",rk=3e4;function dX(e){return{event_id:e.event_id??e.eventId,comment_id:e.comment_id??e.commentId,path:e.path,kind:e.kind,author_display_name:e.author_display_name??e.authorDisplayName,author_id:e.author_id??e.authorId,body:e.body,anchor:e.anchor?{version_seq:e.anchor.version_seq??e.anchor.versionSeq,quote:e.anchor.quote,line_hint:e.anchor.line_hint??e.anchor.lineHint}:void 0,created_at:e.created_at??e.createdAt,parent_id:e.parent_id??e.parentId}}var rc=[{name:"bearer",proto:"WEBHOOK_TYPE_BEARER",numeric:1,creatable:!0},{name:"gitlab",proto:"WEBHOOK_TYPE_GITLAB",numeric:2,creatable:!0},{name:"jira",proto:"WEBHOOK_TYPE_JIRA",numeric:3,creatable:!0},{name:"github",proto:"WEBHOOK_TYPE_GITHUB",numeric:6,creatable:!0},{name:"harness-code",proto:"WEBHOOK_TYPE_HARNESS_CODE",numeric:58,creatable:!0},{name:"harness-pipeline-notification",proto:"WEBHOOK_TYPE_HARNESS_PIPELINE_NOTIFICATION",numeric:59,creatable:!0},{name:"stripe",proto:"WEBHOOK_TYPE_STRIPE",numeric:5,creatable:!0},{name:"sentry",proto:"WEBHOOK_TYPE_SENTRY",numeric:9,creatable:!0},{name:"datadog",proto:"WEBHOOK_TYPE_DATADOG",numeric:10,creatable:!0},{name:"buildkite",proto:"WEBHOOK_TYPE_BUILDKITE",numeric:11,creatable:!0},{name:"launchdarkly",proto:"WEBHOOK_TYPE_LAUNCHDARKLY",numeric:12,creatable:!0},{name:"circleci",proto:"WEBHOOK_TYPE_CIRCLECI",numeric:13,creatable:!0},{name:"snyk",proto:"WEBHOOK_TYPE_SNYK",numeric:14,creatable:!0},{name:"sonarqube",proto:"WEBHOOK_TYPE_SONARQUBE",numeric:15,creatable:!0},{name:"semgrep",proto:"WEBHOOK_TYPE_SEMGREP",numeric:16,creatable:!0},{name:"argocd",proto:"WEBHOOK_TYPE_ARGOCD",numeric:17,creatable:!0},{name:"terraform-cloud",proto:"WEBHOOK_TYPE_TERRAFORM_CLOUD",numeric:18,creatable:!0},{name:"opsgenie",proto:"WEBHOOK_TYPE_OPSGENIE",numeric:19,creatable:!0},{name:"pagerduty",proto:"WEBHOOK_TYPE_PAGERDUTY",numeric:8,creatable:!0},{name:"azure-devops",proto:"WEBHOOK_TYPE_AZURE_DEVOPS",numeric:20,creatable:!0},{name:"bitbucket",proto:"WEBHOOK_TYPE_BITBUCKET",numeric:21,creatable:!0},{name:"auth0",proto:"WEBHOOK_TYPE_AUTH0",numeric:22,creatable:!0},{name:"okta",proto:"WEBHOOK_TYPE_OKTA",numeric:23,creatable:!0},{name:"zendesk",proto:"WEBHOOK_TYPE_ZENDESK",numeric:24,creatable:!0},{name:"intercom",proto:"WEBHOOK_TYPE_INTERCOM",numeric:25,creatable:!0},{name:"posthog",proto:"WEBHOOK_TYPE_POSTHOG",numeric:26,creatable:!0},{name:"resend",proto:"WEBHOOK_TYPE_RESEND",numeric:27,creatable:!0},{name:"chargebee",proto:"WEBHOOK_TYPE_CHARGEBEE",numeric:28,creatable:!0},{name:"workos",proto:"WEBHOOK_TYPE_WORKOS",numeric:29,creatable:!0},{name:"hubspot",proto:"WEBHOOK_TYPE_HUBSPOT",numeric:30,creatable:!0},{name:"notion",proto:"WEBHOOK_TYPE_NOTION",numeric:31,creatable:!0},{name:"jsm-operations",proto:"WEBHOOK_TYPE_JSM_OPERATIONS",numeric:32,creatable:!0},{name:"incident-io",proto:"WEBHOOK_TYPE_INCIDENT_IO",numeric:33,creatable:!0},{name:"sendgrid",proto:"WEBHOOK_TYPE_SENDGRID",numeric:34,creatable:!0},{name:"mailgun",proto:"WEBHOOK_TYPE_MAILGUN",numeric:35,creatable:!0},{name:"twilio",proto:"WEBHOOK_TYPE_TWILIO",numeric:36,creatable:!0},{name:"customer-io",proto:"WEBHOOK_TYPE_CUSTOMER_IO",numeric:37,creatable:!0},{name:"vanta",proto:"WEBHOOK_TYPE_VANTA",numeric:38,creatable:!1},{name:"new-relic",proto:"WEBHOOK_TYPE_NEW_RELIC",numeric:39,creatable:!0},{name:"grafana",proto:"WEBHOOK_TYPE_GRAFANA",numeric:40,creatable:!0},{name:"jfrog-xray",proto:"WEBHOOK_TYPE_JFROG_XRAY",numeric:41,creatable:!0},{name:"vercel",proto:"WEBHOOK_TYPE_VERCEL",numeric:42,creatable:!0},{name:"cloudflare",proto:"WEBHOOK_TYPE_CLOUDFLARE",numeric:43,creatable:!0},{name:"pulumi",proto:"WEBHOOK_TYPE_PULUMI",numeric:44,creatable:!0},{name:"harbor",proto:"WEBHOOK_TYPE_HARBOR",numeric:45,creatable:!0},{name:"aws-eventbridge",proto:"WEBHOOK_TYPE_AWS_EVENTBRIDGE",numeric:46,creatable:!0},{name:"clerk",proto:"WEBHOOK_TYPE_CLERK",numeric:47,creatable:!0},{name:"replicate",proto:"WEBHOOK_TYPE_REPLICATE",numeric:48,creatable:!0},{name:"daytona",proto:"WEBHOOK_TYPE_DAYTONA",numeric:49,creatable:!0},{name:"netlify",proto:"WEBHOOK_TYPE_NETLIFY",numeric:50,creatable:!0},{name:"azure-event-grid",proto:"WEBHOOK_TYPE_AZURE_EVENT_GRID",numeric:51,creatable:!0},{name:"rootly",proto:"WEBHOOK_TYPE_ROOTLY",numeric:52,creatable:!0},{name:"firehydrant",proto:"WEBHOOK_TYPE_FIREHYDRANT",numeric:53,creatable:!0},{name:"statuspage",proto:"WEBHOOK_TYPE_STATUSPAGE",numeric:54,creatable:!0},{name:"devrev",proto:"WEBHOOK_TYPE_DEVREV",numeric:55,creatable:!0},{name:"pylon",proto:"WEBHOOK_TYPE_PYLON",numeric:56,creatable:!1},{name:"plain",proto:"WEBHOOK_TYPE_PLAIN",numeric:57,creatable:!0}],ok=rc.filter(e=>e.creatable).map(e=>e.name),Bb="webhook",uX=Object.fromEntries(rc.map(e=>[e.name,e.proto])),ik={WEBHOOK_TYPE_UNSPECIFIED:"bearer",...Object.fromEntries(rc.map(e=>[e.proto,e.name]))},sk=Object.fromEntries(rc.map(e=>[e.numeric,e.name]));function hX(e){if(e)return{steps:(e.steps??[]).map(t=>({title:t.title??"",bodyMarkdown:t.bodyMarkdown??t.body_markdown??""})),fields:(e.fields??[]).map(ak),webhookUrl:e.webhookUrl??e.webhook_url??"",secretSource:lk(e.secretSource??e.secret_source)}}function lk(e){return e===1||e==="SECRET_SOURCE_AUGMENT_GENERATED"?"augment_generated":e===2||e==="SECRET_SOURCE_SERVICE_PROVIDED"?"service_provided":"unknown"}function ak(e){let t=e.valueKind??e.value_kind;return{label:e.label??"",value:e.value??"",valueKind:ck(t),literalValue:e.literalValue??e.literal_value??"",secret:e.secret===!0}}function ck(e){return e===1||e==="SETUP_FIELD_VALUE_KIND_WEBHOOK_URL"?"webhook_url":e===2||e==="SETUP_FIELD_VALUE_KIND_SECRET"?"secret":e===3||e==="SETUP_FIELD_VALUE_KIND_LITERAL"?"literal":"unknown"}function dk(e){let t=e.failedWebhookIds??e.failed_webhook_ids??[];return{success:e.success??t.length===0,deletedWebhookIds:e.deletedWebhookIds??e.deleted_webhook_ids??[],failedWebhookIds:t}}function rs(e){return{webhookId:e.webhookId??e.webhook_id??"",description:e.description,url:e.url,type:uk(e.type),active:e.active??!1,userId:e.userId??e.user_id,tenantId:e.tenantId??e.tenant_id,createdAt:hk(e.createdAt??e.created_at),capturedHeaders:e.capturedHeaders??e.captured_headers??[],raw:e}}function uk(e){return typeof e=="number"?sk[e]??"bearer":e?ik[e]??"bearer":"bearer"}function hk(e){if(!e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}var Xr=class e{static userAgent;instanceUserAgent;static setUserAgent(t){e.userAgent=gb(t)}static getUserAgent(){return e.userAgent??"augment-api-sdk"}apiToken;apiUrl;fetchImpl;sessionId=PS();logger;poseidonConfig;onExpertCapabilityMismatch;reportedExpertEndpoints=new Set;expertId;workflowId;constructor(t,n,r,o,i,s){let l="apiToken"in t?t:{apiToken:r??"",apiUrl:n??"",fetchImpl:s,logger:t,userAgent:o,apiCallTimeoutMs:i?.apiCallTimeoutMs};this.apiToken=l.apiToken,this.apiUrl=l.apiUrl.endsWith("/")?l.apiUrl:`${l.apiUrl}/`,this.instanceUserAgent=l.userAgent,this.fetchImpl=l.fetchImpl??globalThis.fetch,this.logger=l.logger??JJ,this.onExpertCapabilityMismatch=l.onExpertCapabilityMismatch,this.poseidonConfig={...Vb,...l.apiCallTimeoutMs===void 0?{}:{apiCallTimeoutMs:l.apiCallTimeoutMs}}}getRpcClient(){return bb({baseUrl:this.apiUrl,apiToken:this.apiToken,fetch:this.fetchImpl,sessionId:this.sessionId,expertId:()=>this.expertId,workflowId:()=>this.workflowId,userAgent:this.getUserAgent(),timeoutMs:this.poseidonConfig.apiCallTimeoutMs,errorReporting:t=>this.reportRequestFailure({bodyLength:t.bodyLength??0,endpoint:t.endpoint,error:t.error,requestId:t.requestId,startTime:t.startTime})})}getApiUrl(){return this.apiUrl}getAuthToken(){return this.apiToken}getUserAgent(){return e.userAgent??this.instanceUserAgent??"augment-api-sdk"}setUserAgent(t){e.setUserAgent(t)}getAuthHeaders(){return{Authorization:`Bearer ${this.apiToken}`,"User-Agent":this.getUserAgent()}}createRequestId(){return PS()}setExpertId(t){this.expertId=t}setWorkflowId(t){this.workflowId=t}async reportRequestFailure({bodyLength:t,endpoint:n,error:r,requestId:o,signal:i,startTime:s}){if(n==="report-error"||!LJ(r,i))return;let l=r instanceof Ro||r instanceof tc?r.status:2;await this.reportError(o,`${n} call failed with APIStatus ${kJ[l]??"unknown"}`,r.stack??"",[{key:"body_length",value:String(t)},{key:"start_time",value:String(s)},{key:"end_time",value:String(Date.now())},{key:"message",value:r.message}])}async request(t,n,r=this.createRequestId(),o,i=12e4,s=this.sessionId){let l=Date.now();try{return await this.requestWithoutReporting(t,n,r,o,i,s)}catch(a){let c=a instanceof Error?a:new Error(String(a));throw await this.reportRequestFailure({bodyLength:zJ(n),endpoint:t,error:c,requestId:r,signal:o,startTime:l}),a}}async requestWithoutReporting(t,n,r,o,i,s){let l=new Headers({"x-request-id":r,"x-request-session-id":s,...this.expertId?{"x-expert-id":this.expertId}:{},...this.workflowId?{"x-workflow-id":this.workflowId}:{}}),a=AbortSignal.timeout(i),c=o&&typeof AbortSignal.any=="function"?AbortSignal.any([o,a]):o??a,d;try{d=await this.fetchImpl(new URL(t,this.apiUrl),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiToken}`,"User-Agent":this.getUserAgent(),...Object.fromEntries(l),...process.env.AUGMENT_SOURCE_AGENT_ID?{"x-augment-source-agent-id":process.env.AUGMENT_SOURCE_AGENT_ID}:{}},body:JSON.stringify(n),signal:c})}catch(u){let h=u instanceof Error?u:void 0;throw new tc(`Augment request to ${new URL(t,this.apiUrl).toString()} failed: ${h?.message??String(u)}`,h)}if(!d.ok)throw await HJ(d,r);return d}async reportError(t,n,r,o){let i=r.replace(/ \(\/[^()]+\)/g,"");try{await this.requestWithoutReporting("report-error",{original_request_id:t,sanitized_message:n,stack_trace:i,diagnostics:o},this.createRequestId(),void 0,500,this.sessionId)}catch{}}poseidonRequestSessionId(){let t=process.env.AUGMENT_SOURCE_AGENT_ID;if(!t)return this.sessionId;try{return DJ(t)}catch(n){return this.logger.warn("Failed to derive request session ID: %s",String(n)),this.sessionId}}async callApi(t,n,r){let i=await(await this.request(t.replace(/^\//,""),n,void 0,r?.signal,r?.timeoutMs??this.poseidonConfig.apiCallTimeoutMs,this.poseidonRequestSessionId())).text();if(i)return this.base_parseJson(i,`Augment request to ${t}`)}async getModelConfig(){let t=await this.callApi("get-models",{});return{defaultModel:t.default_model??"",models:(t.models??[]).map(n=>({name:n.name??"",suggestedPrefixCharCount:n.suggested_prefix_char_count??0,suggestedSuffixCharCount:n.suggested_suffix_char_count??0,completionTimeoutMs:n.completion_timeout_ms,internalName:n.internal_name})),featureFlagsV2:pi(IS,xn(t.feature_flags??{}),{ignoreUnknownFields:!0}),userTier:n5(t.user_tier),user:t.user}}async chatFeedback(t){await this.callApi("chat-feedback",{request_id:t.requestId,rating:t.rating,note:t.note,mode:t.mode})}async chat(t,n,r,o,i,s,l,a,c,d,u,h,b,f,A){let V=await(await this.request("chat",{model:l,path:h,prefix:d,selected_code:c,suffix:u,message:n,chat_history:r,lang:b,blobs:ec(o),user_guided_blobs:i,external_source_ids:s,context_code_exchange_request_id:a,feature_detection_flags:{},...f?{system_prompt:f}:{},system_prompt_replacements:A??[]},t,void 0,3e5)).text();return this.toChatResult(V?JSON.parse(V):{})}async chatStream(t,n){let r=await this.request("chat-stream",t5(n),t,n.signal,12e5,typeof n.sessionId=="string"?n.sessionId:this.sessionId);if(!r.body)throw new Ro("Chat stream response had no body",r,t);let o=r.body.getReader(),i=l=>{try{return this.toChatResult(JSON.parse(l))}catch{return}};async function*s(){let l=new TextDecoder,a="";try{for(;;){let{done:d,value:u}=await o.read();if(d)break;a+=l.decode(u,{stream:!0});let h=a.indexOf(`