UNPKG

libheif-js

Version:

Emscripten distribution of libheif for Node.JS and the browser

1 lines 2.18 MB
var libheif=(()=>{var Ck;var Jr=typeof document!="undefined"?(Ck=document.currentScript)==null?void 0:Ck.src:void 0;return typeof __filename!="undefined"&&(Jr||(Jr=__filename)),function(wu={}){var Vk,K=wu,yk,Rr,QD=new Promise((Y,N)=>{yk=Y,Rr=N}),vu=typeof window=="object",Li=typeof importScripts=="function",Ki=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",Ik=Object.assign({},K),Fk=[],Nr="./this.program",Yk=(Y,N)=>{throw N},x4="";function _u(Y){return K.locateFile?K.locateFile(Y,x4):x4+Y}var x6,Dr,qi;if(Ki){var Mr=require("fs"),Ek=require("path");x4=__dirname+"/",x6=(Y,N)=>(Y=zr(Y)?new URL(Y):Ek.normalize(Y),Mr.readFileSync(Y,N?void 0:"utf8")),qi=Y=>{var N=x6(Y,!0);return N.buffer||(N=new Uint8Array(N)),N},Dr=(Y,N,x,O=!0)=>{Y=zr(Y)?new URL(Y):Ek.normalize(Y),Mr.readFile(Y,O?void 0:"utf8",(b,a)=>{b?x(b):N(O?a.buffer:a)})},!K.thisProgram&&process.argv.length>1&&(Nr=process.argv[1].replace(/\\/g,"/")),Fk=process.argv.slice(2),Yk=(Y,N)=>{throw process.exitCode=Y,N}}else(vu||Li)&&(Li?x4=self.location.href:typeof document!="undefined"&&document.currentScript&&(x4=document.currentScript.src),Jr&&(x4=Jr),x4.startsWith("blob:")?x4="":x4=x4.substr(0,x4.replace(/[?#].*/,"").lastIndexOf("/")+1),x6=Y=>{var N=new XMLHttpRequest;return N.open("GET",Y,!1),N.send(null),N.responseText},Li&&(qi=Y=>{var N=new XMLHttpRequest;return N.open("GET",Y,!1),N.responseType="arraybuffer",N.send(null),new Uint8Array(N.response)}),Dr=(Y,N,x)=>{if(zr(Y)){var O=new XMLHttpRequest;O.open("GET",Y,!0),O.responseType="arraybuffer",O.onload=()=>{if(O.status==200||O.status==0&&O.response){N(O.response);return}x()},O.onerror=x,O.send(null);return}fetch(Y,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(new Error(b.status+" : "+b.url))).then(N,x)});var Ur=K.print||console.log.bind(console),z6=K.printErr||console.error.bind(console);Object.assign(K,Ik),Ik=null,K.arguments&&(Fk=K.arguments),K.thisProgram&&(Nr=K.thisProgram),K.quit&&(Yk=K.quit);var $i;K.wasmBinary&&($i=K.wasmBinary);var T6={Memory:function(Y){this.buffer=new ArrayBuffer(Y.initial*65536)},Module:function(Y){},Instance:function(Y,N){this.exports=function(O){function b(b2){return b2.set=function(R2,o){this[R2]=o},b2.get=function(R2){return this[R2]},b2}for(var a,o0=new Uint8Array(123),h0=25;h0>=0;--h0)o0[48+h0]=52+h0,o0[65+h0]=h0,o0[97+h0]=26+h0;o0[43]=62,o0[47]=63;function u0(b2,R2,o){for(var Q,i,l=0,I=R2,k0=o.length,W0=R2+(k0*3>>2)-(o[k0-2]=="=")-(o[k0-1]=="=");l<k0;l+=4)Q=o0[o.charCodeAt(l+1)],i=o0[o.charCodeAt(l+2)],b2[I++]=o0[o.charCodeAt(l)]<<2|Q>>4,I<W0&&(b2[I++]=Q<<4|i>>2),I<W0&&(b2[I++]=i<<6|o0[o.charCodeAt(l+3)])}function U0(b2){u0(a,1024,"MTdTdHJlYW1SZWFkZXJfQ0FwaQAxMlN0cmVhbVJlYWRlcgAyMFN0cmVhbVJlYWRlcl9pc3RyZWFtADE5U3RyZWFtUmVhZGVyX21lbW9yeQBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2Vzc2VudGlhbF9wcm9wZXJ0eQBoZWlmX3N1YmVycm9yX0lwbWFfYm94X3JlZmVyZW5jZXNfbm9uZXhpc3RpbmdfcHJvcGVydHkAaGVpZl9zdWJlcnJvcl9Ob19pc3BlX3Byb3BlcnR5AGhlaWZfc3ViZXJyb3JfSW52YWxpZF9wcm9wZXJ0eQBVbnN1cHBvcnRlZCBlc3NlbnRpYWwgaXRlbSBwcm9wZXJ0eQAnaXBtYScgYm94IHJlZmVyZW5jZXMgYSBub24tZXhpc3RpbmcgcHJvcGVydHkASW52YWxpZCBwcm9wZXJ0eQBJbWFnZSBoYXMgbm8gJ2lzcGUnIHByb3BlcnR5AGhlaWZfY2hhbm5lbF9kaXNwYXJpdHkAaW5maW5pdHkAaGVpZl9zdWJlcnJvcl9DYW5ub3RfcmVhZF9wbHVnaW5fZGlyZWN0b3J5AGhlaWZfY29udGV4dF9yZWFkX2Zyb21fbWVtb3J5AEZlYnJ1YXJ5AEphbnVhcnkASnVseQBUbXAgZGF0YSBjb3VsZCBub3QgYmUgcmVhZCBjb21wbGV0ZWx5AGhlaWZfY2hhbm5lbF9maWx0ZXJfYXJyYXkAVGh1cnNkYXkAVHVlc2RheQBXZWRuZXNkYXkAU2F0dXJkYXkAU3VuZGF5AE1vbmRheQBGcmlkYXkATWF5AGhldngAaGVpZl9zdWJlcnJvcl9Ob19pZGF0X2JveABoZWlmX3N1YmVycm9yX05vX2hkbHJfYm94AGhlaWZfc3ViZXJyb3JfTm9faWNicl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19mdHlwX2JveABoZWlmX3N1YmVycm9yX05vX2lwcnBfYm94AGhlaWZfc3ViZXJyb3JfTm9faXBjb19ib3gAaGVpZl9zdWJlcnJvcl9Ob19waXRtX2JveABoZWlmX3N1YmVycm9yX0ludmFsaWRfcGl4aV9ib3gAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX21pbmlfYm94AGhlaWZfc3ViZXJyb3JfTm9faWluZl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pcmVmX2JveABoZWlmX3N1YmVycm9yX05vX2luZmVfYm94AGhlaWZfc3ViZXJyb3JfTm9faWxvY19ib3gAaGVpZl9zdWJlcnJvcl9Ob19tZXRhX2JveABoZWlmX3N1YmVycm9yX05vX2lwbWFfYm94AGhlaWZfc3ViZXJyb3JfTm9fdnZjQ19ib3gAaGVpZl9zdWJlcnJvcl9Ob19odmNDX2JveABoZWlmX3N1YmVycm9yX05vX2F2Y0NfYm94AGhlaWZfc3ViZXJyb3JfTm9fYXYxQ19ib3gAdGhpcyBwcm9wZXJ0eSBpcyBub3QgcmVhZCBhcyBhIHJhdyBib3gAZXJyb3IgcmVhZGluZyBmdHlwIGJveABpbnB1dCBpcyBub3QgYSBmdHlwIGJveABJbnZhbGlkIHBpeGkgYm94AENhbm5vdCByZWFkIGZ1bGwgbWV0YSBib3gAKSBoYXMgbm8gcHJvcGVydGllcyBhc3NpZ25lZCB0byBpdCBpbiBpcG1hIGJveAAgcmVmZXJlbmNlZCBpbiBpcG1hIGJveABlcnJvciB3aGlsZSByZWFkaW5nIGh2Y0MgYm94AE5vICdpZGF0JyBib3gATm8gJ2hkbHInIGJveABObyAnaWNicicgYm94AE5vICdmdHlwJyBib3gATm8gJ2lwcnAnIGJveABObyAnaXBjbycgYm94AE5vICdwaXRtJyBib3gAVW5zdXBwb3J0ZWQgb3IgaW52YWxpZCAnbWluaScgYm94AE5vICdpaW5mJyBib3gATm8gJ2lyZWYnIGJveABObyAnaW5mZScgYm94AE5vICdpbG9jJyBib3gATm8gJ21ldGEnIGJveABObyAnaXBtYScgYm94AE5vICd2dmNDJyBib3gATm8gJ2h2Y0MnIGJveABObyAnYXZjQycgYm94AE5vICdhdjFDJyBib3gASW52YWxpZCBxdWF0ZXJuaW9uIGluIGV4dHJpbnNpYyByb3RhdGlvbiBtYXRyaXgAaGVpeABjbWV4AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAX19uZXh0X3ByaW1lIG92ZXJmbG93AGhlaWZfY2hyb21hX2Rvd25zYW1wbGluZ19zaGFycF95dXYATm92AFRodQBoZWlmX2NvbnRleHQAZ2V0X3RocmVhZF9jb250ZXh0AGhlaWZfd3JpdGVyIGNhbGxiYWNrIHJldHVybmVkIGEgbnVsbCBlcnJvciB0ZXh0AGhlaWZfZXJyb3JfSW52YWxpZF9pbnB1dABpbnZhbGlkIGRpc3Bhcml0eV9yZWZlcmVuY2VfdmlldyBpbiBpbnB1dABpbnZhbGlkIGRlcHRoIHJlcHJlc2VudGF0aW9uIHR5cGUgaW4gaW5wdXQAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABJbnZhbGlkIGlucHV0AEF1Z3VzdABoZWlmX2Vycm9yX0lucHV0X2RvZXNfbm90X2V4aXN0AGhlaWZfZXJyb3JfQ29sb3JfcHJvZmlsZV9kb2VzX25vdF9leGlzdABSZWdpb24gaXRlbSBkb2VzIG5vdCBleGlzdABJdGVtIGRvZXMgbm90IGV4aXN0AENvbG9yIHByb2ZpbGUgZG9lcyBub3QgZXhpc3QASW5wdXQgZmlsZSBkb2VzIG5vdCBleGlzdAByZWFkX3NjYWxpbmdfbGlzdABNYXNrIGltYWdlIGRhdGEgaXMgdG9vIHNob3J0AEhFVkMgU0VJIE5BTCB0b28gc2hvcnQAdW5zaWduZWQgc2hvcnQAdW5zaWduZWQgaW50AGNvbXBvbmVudABoZWlmX3N1YmVycm9yX051bGxfcG9pbnRlcl9hcmd1bWVudABOVUxMIGFyZ3VtZW50AHJlZmNudABjb25zdGFudABIaWdoIHZhcmlhbnQAaGVpZl9maWxldHlwZV9yZXN1bHQAcmVhZF90cmFuc2Zvcm1fdW5pdAByZWFkX2NvZGluZ191bml0AGluaXQATnVtYmVyIG9mIHRpbGVzIGV4Y2VlZHMgc2VjdXJpdHkgbGltaXQAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfMjRiaXQAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfMzJiaXQAaGVpZl9pbWFnZV9oYW5kbGVfZ2V0X2hlaWdodAB6ZXJvIHdpZHRoIG9yIGhlaWdodABMYXllcmVkIEhFVkMgaW1hZ2VzIChsaHYxKSBhcmUgbm90IHN1cHBvcnRlZCB5ZXQAIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQAcmVhZF9zaG9ydF90ZXJtX3JlZl9waWNfc2V0AGdldABPY3QAZmxvYXQAaGVpZl9jb21wcmVzc2lvbl9mb3JtYXQAaGVpZl9zdWJlcnJvcl9Xcm9uZ190aWxlX2ltYWdlX2Nocm9tYV9mb3JtYXQATm8gZGVjb2RlciBmb3IgdGhpcyBpbWFnZSBmb3JtYXQAV3JvbmcgdGlsZSBpbWFnZSBjaHJvbWEgZm9ybWF0AFNhdAB1aW50NjRfdABoZXZzAGFsbG9jYXRlX3RocmVhZF9jb250ZXh0cwBuIDwgblRocmVhZENvbnRleHRzAGNvbnN0cnVjdF9yZWZlcmVuY2VfcGljdHVyZV9saXN0cwAgY29tcG9uZW50cwBoZWlmX3N1YmVycm9yX1Vua25vd25fTkNMWF9tYXRyaXhfY29lZmZpY2llbnRzAFVua25vd24gTkNMWCBtYXRyaXggY29lZmZpY2llbnRzAHVuaXRZID49IDAgJiYgdW5pdFkgPCBoZWlnaHRfaW5fdW5pdHMAdW5pdFggPj0gMCAmJiB1bml0WCA8IHdpZHRoX2luX3VuaXRzAFN1Y2Nlc3MAZmlsbF9sdW1hX21vdGlvbl92ZWN0b3JfcHJlZGljdG9ycwBkZXJpdmVfY29sbG9jYXRlZF9tb3Rpb25fdmVjdG9ycwBzcHMAcHBzAEZvcm1hdFJhbmdlRXh0ZW5zaW9ucwBoZWlmX3N1YmVycm9yX1Rvb19tYW55X3JlZ2lvbnMARXJyb3Igd2hpbGUgc2Nhbm5pbmcgdGhlIGRpcmVjdG9yeSBmb3IgcGx1Z2lucwBEZXJpdmVkIGltYWdlIGRvZXMgbm90IHJlZmVyZW5jZSBhbnkgb3RoZXIgaW1hZ2UgaXRlbXMAY2hhbm5lbHMAaW5pdGlhbGl6ZV9DQUJBQ19tb2RlbHMAYXZpcwBoZWlzAGltYWdlL2oyaXMAR3JpZCB0aWxlcyBoYXZlIGRpZmZlcmVudCBzaXplcwBzZXRfZGVyaXZlZF92YWx1ZXMAIGJ5dGVzAGRlcml2ZV9jb21iaW5lZF9iaXByZWRpY3RpdmVfbWVyZ2luZ19jYW5kaWRhdGVzAFlDYkNyIGltYWdlIHdpdGhvdXQgWSxDYixDciBwbGFuZXMAUkdCIGlucHV0IHdpdGhvdXQgUixHLEIsIHBsYW5lcwBnZW5lcmF0ZV9pbnRlcl9wcmVkaWN0aW9uX3NhbXBsZXMAZGVjb2RlX3NsaWNlX3VuaXRfdGlsZXMAIGxheWVycyBlbnRyaWVzAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9OQ0xYX2NvbG9yX3ByaW1hcmllcwBVbmtub3duIE5DTFggY29sb3IgcHJpbWFyaWVzAHRocmVhZF9maW5pc2hlcwBoZWlmX2NvbnRleHRfZ2V0X251bWJlcl9vZl90b3BfbGV2ZWxfaW1hZ2VzAGhlaWZfc3ViZXJyb3JfTWlzc2luZ19ncmlkX2ltYWdlcwAnc3RlcicgZW50aXR5IGdyb3VwIGRvZXMgbm90IGV4aXN0cyBvZiBleGFjdGx5IHR3byBpbWFnZXMATWlzc2luZyBncmlkIGltYWdlcwB1ZGVzACdpcmVmJyBoYXMgZG91YmxlIHJlZmVyZW5jZXMATnVtYmVyIG9mIGltYWdlIG9mZnNldHMgZG9lcyBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiBpbWFnZSByZWZlcmVuY2VzAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9OQ0xYX3RyYW5zZmVyX2NoYXJhY3RlcmlzdGljcwBVbmtub3duIE5DTFggdHJhbnNmZXIgY2hhcmFjdGVyaXN0aWNzAGhlaWZfc3ViZXJyb3JfT3ZlcmxheV9pbWFnZV9vdXRzaWRlX29mX2NhbnZhcwB5PHNwcy0+UGljSGVpZ2h0SW5NaW5QVXMAeDxzcHMtPlBpY1dpZHRoSW5NaW5QVXMAaGVpZl9qc19jb250ZXh0X2dldF9saXN0X29mX3RvcF9sZXZlbF9pbWFnZV9JRHMAYmFkX3dlYWtfcHRyAEFwcgB2ZWN0b3IAZmlsbF9zY2FsaW5nX2ZhY3RvcgBoZWlmX3N1YmVycm9yX0NvbXByZXNzaW9uX2luaXRpYWxpc2F0aW9uX2Vycm9yAGhlaWZfZXJyb3JfTWVtb3J5X2FsbG9jYXRpb25fZXJyb3IAaGVpZl9lcnJvcl9FbmNvZGVyX3BsdWdpbl9lcnJvcgBoZWlmX2Vycm9yX0RlY29kZXJfcGx1Z2luX2Vycm9yAGhlaWZfZXJyb3JfRW5jb2RpbmdfZXJyb3IAaGVpZl9zdWJlcnJvcl9QbHVnaW5fbG9hZGluZ19lcnJvcgBoZWlmX2Vycm9yX1BsdWdpbl9sb2FkaW5nX2Vycm9yAGhlaWZfZXJyb3IAaGVpZl9lcnJvcl9Vc2FnZV9lcnJvcgBtb25leV9nZXQgZXJyb3IAVW5rbm93biBlcnJvcgBNZW1vcnkgYWxsb2NhdGlvbiBlcnJvcgBFbmNvZGVyIHBsdWdpbiBnZW5lcmF0ZWQgYW4gZXJyb3IARGVjb2RlciBwbHVnaW4gZ2VuZXJhdGVkIGFuIGVycm9yAEludGVybmFsIGVycm9yAFVzYWdlIGVycm9yAENvbXByZXNzaW9uIGluaXRpYWxpc2F0aW9uIG1ldGhvZCBlcnJvcgBoZWlmX2Nocm9tYV91cHNhbXBsaW5nX25lYXJlc3RfbmVpZ2hib3IAaGVpZl9jaHJvbWFfZG93bnNhbXBsaW5nX25lYXJlc3RfbmVpZ2hib3IAaGRscgBzdWJfbGF5ZXIAbXVsdGktbGF5ZXIAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9wYXJhbWV0ZXIAVW5zdXBwb3J0ZWQgZW5jb2RlciBwYXJhbWV0ZXIAVW5zdXBwb3J0ZWQgcGFyYW1ldGVyAENhbmNlbGVkIGJ5IHVzZXIAaGVpZl9zdWJlcnJvcl9Ob19waWN0X2hhbmRsZXIATm90IGEgJ3BpY3QnIGhhbmRsZXIATWlzc2luZyByZXF1aXJlZCBTSVogTWFya2VyAE1pc3NpbmcgcmVxdWlyZWQgU09DIE1hcmtlcgBkZTI2NV9pbWFnZV9nZXRfYnVmZmVyAG91dHB1dF9uZXh0X3BpY3R1cmVfaW5fcmVvcmRlcl9idWZmZXIAaW5pdF9DQUJBQ19kZWNvZGVyAGxpYmRlMjY1IEhFVkMgZGVjb2RlcgBkdW1wX3NsaWNlX3NlZ21lbnRfaGVhZGVyAEludmFsaWQgSlBFRyBTT0YgaGVhZGVyAE9jdG9iZXIAaGVpZl9nZXRfdmVyc2lvbl9udW1iZXIAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX2ZyYWN0aW9uYWxfbnVtYmVyAEludmFsaWQgZnJhY3Rpb25hbCBudW1iZXIATm92ZW1iZXIAU2VwdGVtYmVyAERlY2VtYmVyAGJyAHBsYW5hcgBpbnRyYV9wcmVkaWN0aW9uX2FuZ3VsYXIAdW5zaWduZWQgY2hhcgBoZWlmX2Nocm9tYV91cHNhbXBsaW5nX2JpbGluZWFyAGlvc19iYXNlOjpjbGVhcgBNYXIAaGVpZl9jb2xvcnNwYWNlX1lDYkNyAGhlaWZfY2hhbm5lbF9DcgBoZWlmX3N1YmVycm9yX0VuY29kZXJfY2xlYW51cABTZXAAJUk6JU06JVMgJXAAbW9ubwBoZWlmX2ZpbGV0eXBlX25vAHVua25vd24AVW5rbm93bgBTdW4ASnVuAHN0ZDo6ZXhjZXB0aW9uAEVycm9yIHNldHRpbmcgaW5wdXQgZmlsZSBwb3NpdGlvbgBkZXJpdmVfc3BhdGlhbF9sdW1hX3ZlY3Rvcl9wcmVkaWN0aW9uAGhlaWZfc3ViZXJyb3JfRW5jb2Rlcl9pbml0aWFsaXphdGlvbgB1bmtub3duIGNvbG9yIGNvbmZpZ3VyYXRpb24ASW52YWxpZCBkYXRhIGluIGdlbmVyaWMgY29tcHJlc3Npb24gaW5mbGF0aW9uAEludmFsaWQgY2xlYW4tYXBlcnR1cmUgc3BlY2lmaWNhdGlvbgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2NvbG9yX2NvbnZlcnNpb24AVW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbgBoZWlmX2dldF92ZXJzaW9uAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfd3JpdGVyX3ZlcnNpb24AaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9wbHVnaW5fdmVyc2lvbgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2RhdGFfdmVyc2lvbgBVbnN1cHBvcnRlZCBwbHVnaW4gdmVyc2lvbgBVbnN1cHBvcnRlZCBkYXRhIHZlcnNpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBwb2ludCByZWdpb24AVW5zdXBwb3J0ZWQgYml0IGRlcHRoIGZvciBtYXNrIHJlZ2lvbgBVbnN1cHBvcnRlZCBjb2xvdXJzcGFjZSBmb3IgbWFzayByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBpbmxpbmUgbWFzayByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciByZWZlcmVuY2VkIG1hc2sgcmVnaW9uAEluc3VmZmljaWVudCBkYXRhIHJlbWFpbmluZyBmb3IgZWxsaXBzZSByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciByZWN0YW5nbGUgcmVnaW9uAEluc3VmZmljaWVudCBkYXRhIHJlbWFpbmluZyBmb3IgcG9seWdvbgBNb24AY21pbgBFcnJvciB3aGlsZSBsb2FkaW5nIHBsdWdpbgBNYWluAFN1cHBvcnQgZm9yIHRoaXMgY29tcHJlc3Npb24gZm9ybWF0IGhhcyBub3QgYmVlbiBidWlsdCBpbgBOVUxMIGFyZ3VtZW50IHBhc3NlZCBpbgBuYW4ASmFuAGhldm0AcGl0bQBjb3B5X2xpbmVzX2Zyb20AaGVpbQBoZWlmX2Nocm9tYV91cHNhbXBsaW5nX2FsZ29yaXRobQBoZWlmX2Nocm9tYV9kb3duc2FtcGxpbmdfYWxnb3JpdGhtAGhlaWZfc3ViZXJyb3JfTm9fb3JfaW52YWxpZF9wcmltYXJ5X2l0ZW0AaGVpZl9zdWJlcnJvcl9Ob19wcm9wZXJ0aWVzX2Fzc2lnbmVkX3RvX2l0ZW0ATm8gb3IgaW52YWxpZCBwcmltYXJ5IGl0ZW0ATm8gcHJvcGVydGllcyBhc3NpZ25lZCB0byBpdGVtAFVuc3VwcG9ydGVkIGJpdCBkZXB0aCBmb3IgbWFzayBpdGVtAENsZWFudXAgcHJvYmxlbQBJbml0aWFsaXphdGlvbiBwcm9ibGVtAEVuY29kaW5nIHByb2JsZW0AaGVpZl9zdWJlcnJvcl9JbnZhbGlkX0oyS19jb2Rlc3RyZWFtAEludmFsaWQgSlBFRyAyMDAwIGNvZGVzdHJlYW0ASnVsAHVybABkZTI2NV9zZXRfcGFyYW1ldGVyX2Jvb2wAYXBwbGljYXRpb24vcmRmK3htbABsbABBcHJpbABUaHVtYm5haWwgcmVmZXJlbmNlcyBhbm90aGVyIHRodW1ibmFpbABiaXRzX3Blcl9waXhlbABDYW4gY3VycmVudGx5IG9ubHkgY3JvcCBpbWFnZXMgd2l0aCA4IGJpdHMgcGVyIHBpeGVsAENhbiBjdXJyZW50bHkgb25seSBmaWxsIGltYWdlcyB3aXRoIDggYml0cyBwZXIgcGl4ZWwAaGVpZl9jaGFubmVsAElubGluZSBtYXNrIGltYWdlIG11c3QgaGF2ZSBhIFkgY2hhbm5lbABkZWNvZGVfc2xpY2VfdW5pdF9wYXJhbGxlbABoZWlmX2NvbG9yc3BhY2Vfbm9udmlzdWFsAGdlbmVyYWwAc2NhbGVfY29lZmZpY2llbnRzX2ludGVybmFsAGhlaWZfY29tcHJlc3Npb25fbWFzawB0cmFuc2Zvcm1fc2tpcF84X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkX2F2Z184X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9iaXByZWRfOF9mYWxsYmFjawBwdXRfdW53ZWlnaHRlZF9wcmVkXzhfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfOF9mYWxsYmFjawB0cmFuc2Zvcm1fc2tpcF8xNl9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfcHJlZF9hdmdfMTZfZmFsbGJhY2sAcHV0X3dlaWdodGVkX2JpcHJlZF8xNl9mYWxsYmFjawBwdXRfdW53ZWlnaHRlZF9wcmVkXzE2X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkXzE2X2ZhbGxiYWNrAGhlaWZfZXJyb3JfT2sAaW1hZ2UvaGVqMmsAcGl4aQBGcmkAajJraQBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2JpdF9kZXB0aABoZWlmX3N1YmVycm9yX1dyb25nX3RpbGVfaW1hZ2VfcGl4ZWxfZGVwdGgAaGVpZl9jaGFubmVsX2RlcHRoAHVybjptcGVnOm1wZWdCOmNpY3A6c3lzdGVtczphdXhpbGlhcnk6ZGVwdGgAVW5zdXBwb3J0ZWQgYml0IGRlcHRoAFdyb25nIHRpbGUgaW1hZ2UgcGl4ZWwgZGVwdGgAZGVyaXZlX2JvdW5kYXJ5U3RyZW5ndGgAYmFkX2FycmF5X25ld19sZW5ndGgAaGVpZl9pbWFnZV9oYW5kbGVfZ2V0X3dpZHRoAHB1c2gATWFyY2gALi9kZWNjdHguaAAuLi9saWJkZTI2NS9pbWFnZS5oAC4vaW1hZ2UuaAAuL2ludHJhcHJlZC5oAEF1ZwBpbWFnZS9wbmcAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSB0eXBlIHN0cmluZwBpbnRyYV9wcmVkaWN0aW9uX3NhbXBsZV9maWx0ZXJpbmcAaGVpZl9zdWJlcnJvcl9FbmNvZGVyX2VuY29kaW5nAGltYWdlL2pwZWcAZGVjb2RlX3NwbGl0X3RyYW5zZm9ybV9mbGFnAGluZgAnaWRlbicgaW1hZ2UgcmVmZXJyaW5nIHRvIGl0c2VsZgBpbWFnZS9hdmlmAGltYWdlL2hlaWYAb2ZmAGlyZWYAZHJlZgAlLjBMZgAlTGYAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX2JveF9zaXplAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9pbWFnZV9zaXplAGlkeDxpbnRyYVByZWRNb2RlQy5kYXRhX3NpemUASW52YWxpZCBib3ggc2l6ZQBhdjFDIHdpdGggdW5zcGVjaWZpZWQgYm94IHNpemUAanBnQyBibG9jayBleGNlZWRzIG1heGltdW0gc2l6ZQBSZWFkIGJleW9uZCBmaWxlIHNpemUASW52YWxpZCBpbWFnZSBzaXplAEltYWdlIHNpemUgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAENvbG9yIHByb2ZpbGUgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAENhbm5vdCByZWFkIG1ldGEgYm94IHdpdGggdW5zcGVjaWZpZWQgc2l6ZQBkYXRhIGxlbmd0aCBtdXN0IGJlIHBvc2l0aXZlAGludGVybGVhdmUAdHJ1ZQBoZWlmX3N1YmVycm9yX0ludmFsaWRfcGFyYW1ldGVyX3ZhbHVlAE91dCBvZiByYW5nZSBMc2l6IHZhbHVlAE91dCBvZiByYW5nZSBDc2l6IHZhbHVlAEludmFsaWQgcGFyYW1ldGVyIHZhbHVlAE91dCBvZiByYW5nZSBMY2FwIHZhbHVlAEludmFsaWQgaW5wdXQgcmVhZGVyIHJldHVybiB2YWx1ZQBzZXRfaW5pdFZhbHVlAFR1ZQBUaWxpIGhlYWRlciBkYXRhIGluY29tcGxldGUAUmVnaW9uIGRhdGEgaW5jb21wbGV0ZQBPdmVybGF5IGltYWdlIGRhdGEgaW5jb21wbGV0ZQBHcmlkIGltYWdlIGRhdGEgaW5jb21wbGV0ZQBkZWZsYXRlAGZhbHNlAGhlaWZfaW1hZ2VfaGFuZGxlX3JlbGVhc2UAaGVpZl9pbWFnZV9yZWxlYXNlAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9jbGVhbl9hcGVydHVyZQBnZW5lcmF0ZV91bmF2YWlsYWJsZV9yZWZlcmVuY2VfcGljdHVyZQBNYWluU3RpbGxQaWN0dXJlAGhlaWZfZXJyb3JfVW5zdXBwb3J0ZWRfZmVhdHVyZQBVbnN1cHBvcnRlZCBmZWF0dXJlAGhlaWZfanNfY2hlY2tfZmlsZXR5cGUAaGVpZl9lcnJvcl9VbnN1cHBvcnRlZF9maWxldHlwZQBoZWlmX3N1YmVycm9yX1Vua25vd25fY29sb3JfcHJvZmlsZV90eXBlAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfaW1hZ2VfdHlwZQBVbnN1cHBvcnRlZCBmaWxlLXR5cGUAd3JvbmcgcHJvcGVydHkgdHlwZQBVbmtub3duIGNvbG9yIHByb2ZpbGUgdHlwZQBVbnN1cHBvcnRlZCBpbWFnZSB0eXBlAGlzcGUASnVuZQBDb25zdHJhaW5lZCBCYXNlbGluZQBkZTI2NV9nZXRfaW1hZ2VfcGxhbmUAc2NhbGluZyBpbnB1dCBoYXMgZXh0cmEgY29sb3IgcGxhbmUAbW9ub2Nocm9tZSBpbnB1dCB3aXRoIG5vIFkgcGxhbmUAaGVpZl9jb2xvcnNwYWNlX21vbm9jaHJvbWUAaGVpZl9jaHJvbWFfbW9ub2Nocm9tZQBkZWNvdXBsZQAndGlsaScgaW1hZ2VzIGNhbiBvbmx5IGJlIGFjY2VzcyBwZXIgdGlsZQBFcnJvciBkdXJpbmcgZW5jb2Rpbmcgb3Igd3JpdGluZyBvdXRwdXQgZmlsZQBFcnJvciByZWFkaW5nIGlucHV0IGZpbGUAaWRhdCBib3ggcmVmZXJlbmNlZCBpbiBpcmVmIGJveCBpcyBub3QgcHJlc2VudCBpbiBmaWxlACB0aWxlIGltYWdlcyBpbiBmaWxlAFVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUAZnR5cCBib3ggc2hhbGwgbm90IGJlIHRoZSBvbmx5IGJveCBpbiB0aGUgZmlsZQBoZWlmX2pzX2NvbnRleHRfZ2V0X3ByaW1hcnlfaW1hZ2VfaGFuZGxlAGhlaWZfanNfY29udGV4dF9nZXRfaW1hZ2VfaGFuZGxlAGhlaWZfaW1hZ2VfaGFuZGxlAGhlaWZfc3ViZXJyb3JfSXRlbV9yZWZlcmVuY2VfY3ljbGUASW1hZ2UgcmVmZXJlbmNlIGN5Y2xlAGRvdWJsZQByZWFkX3ByZWRfd2VpZ2h0X3RhYmxlAGFsbG9jX2FuZF9pbml0X3NpZ25pZmljYW50X2NvZWZmX2N0eElkeF9sb29rdXBUYWJsZQBCb3ggc2l6ZSB0b28gbGFyZ2UAcHJvcGVydHkgaW5kZXggb3V0IG9mIHJhbmdlAEdyaWQgdGlsZSBpbmRleCBvdXQgb2YgcmFuZ2UAaW5wdXQgZGVwdGggcmVwcmVzZW50YXRpb24gdHlwZSBvdXQgb2YgcmFuZ2UAaWxvYyBkYXRhIHBvaW50ZXJzIG91dCBvZiBhbGxvd2VkIHJhbmdlAGZ0eXAgYm94IGxhcmdlciB0aGFuIGluaXRpYWwgcmVhZCByYW5nZQBtZXNzYWdlAGhlaWZfY2hyb21hX2Rvd25zYW1wbGluZ19hdmVyYWdlAGhlaWZfaW1hZ2VfaGFuZGxlX2lzX3ByaW1hcnlfaW1hZ2UAbmV3X2ltYWdlAGZpbGxfZnJvbV9pbWFnZQBoZWlmX2ltYWdlAGFsbG9jX2ltYWdlAE5vIGlyZWYgYm94IGF2YWlsYWJsZSwgYnV0IG5lZWRlZCBmb3IgaWRlbiBpbWFnZQBSZWdpb24gbWFzayByZWZlcmVuY2VkIGl0ZW0gaXMgbm90IGFuIGltYWdlAE5vIGlyZWYgYm94IGF2YWlsYWJsZSwgYnV0IG5lZWRlZCBmb3IgaW92bCBpbWFnZQAncGl0bScgYm94IHJlZmVyZW5jZXMgYW4gdW5zdXBwb3J0ZWQgb3Igbm9uLWV4aXN0aW5nIGltYWdlAFJlZ2lvbiBpdGVtIGFzc2lnbmVkIHRvIG5vbi1leGlzdGluZyBpbWFnZQBgcHJlbWAgbGluayBhc3NpZ25lZCB0byBub24tZXhpc3RpbmcgaW1hZ2UATWV0YWRhdGEgYXNzaWduZWQgdG8gbm9uLWV4aXN0aW5nIGltYWdlAFRodW1ibmFpbCByZWZlcmVuY2VzIGEgbm9uLWV4aXN0aW5nIGltYWdlAE5vIHZ2Y0MgcHJvcGVydHkgaW4gdnZjMSB0eXBlIGltYWdlAE5vIGh2Y0MgcHJvcGVydHkgaW4gaHZjMSB0eXBlIGltYWdlAEdyaWQgdGlsZXMgZG8gbm90IGNvdmVyIHdob2xlIGltYWdlACdpZGVuJyBpbWFnZSByZWZlcmVuY2VzIHVuYXZhaWxhYmxlIGltYWdlACdpZGVuJyBpbWFnZSB3aXRoIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIGltYWdlAE5vIGlyZWYgYm94IGF2YWlsYWJsZSwgYnV0IG5lZWRlZCBmb3IgZ3JpZCBpbWFnZQBJbWFnZSBpcyBubyBncmlkIGltYWdlAEltYWdlIHRpbGUgaGFzIGRpZmZlcmVudCBjaHJvbWEgZm9ybWF0IHRoYW4gY29tYmluZWQgaW1hZ2UAQ2Fubm90IGFkZCB0aWxlIHRvIGEgbm9uLXRpbGVkIGltYWdlAGluZmUAcmVhZF90cmFuc2Zvcm1fdHJlZQBoZWlmX2NvbnRleHRfZnJlZQBkZWNvZGVfcGFydF9tb2RlAGRlY29kZQBzdWJjb2RlAGhlaWZfc3ViZXJyb3JfY29kZQBoZWlmX2Vycm9yX2NvZGUAUHJlZE1vZGUgPT0gY3VQcmVkTW9kZQBzdHJpZGUAaW1hZ2UvYXZpZi1zZXF1ZW5jZQBpbWFnZS9oZWlmLXNlcXVlbmNlAGltYWdlL2hlaWMtc2VxdWVuY2UAUmVnaW9uIG1hc2sgcmVmZXJlbmNlIHdpdGggbm9uLWV4aXN0aW5nIG1hc2sgaW1hZ2UgcmVmZXJlbmNlAGhlaWZfY29sb3JzcGFjZQBoZWlmX2ZpbGV0eXBlX21heWJlAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfaXRlbV9jb25zdHJ1Y3Rpb25fbWV0aG9kAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfaGVhZGVyX2NvbXByZXNzaW9uX21ldGhvZABoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2dlbmVyaWNfY29tcHJlc3Npb25fbWV0aG9kAFVuc3VwcG9ydGVkIGl0ZW0gY29uc3RydWN0aW9uIG1ldGhvZABVbnN1cHBvcnRlZCBoZWFkZXIgY29tcHJlc3Npb24gbWV0aG9kAFVuc3VwcG9ydGVkIGdlbmVyaWMgY29tcHJlc3Npb24gbWV0aG9kAE5vIG1ldGEgYm94IGZvdW5kAHZvaWQATlVMTCBhcmd1bWVudCByZWNlaXZlZABoZWlmX2NoYW5uZWxfaW50ZXJsZWF2ZWQAaGVpZl9maWxldHlwZV95ZXNfdW5zdXBwb3J0ZWQAaGVpZl9maWxldHlwZV95ZXNfc3VwcG9ydGVkAFRoZSB2ZXJzaW9uIG9mIHRoZSBwYXNzZWQgd3JpdGVyIGlzIG5vdCBzdXBwb3J0ZWQAVGhlIHZlcnNpb24gb2YgdGhlIHBhc3NlZCBwbHVnaW4gaXMgbm90IHN1cHBvcnRlZABwY2xyIG1vcmUgdGhhbiAxNiBiaXRzIHBlciBjaGFubmVsIGlzIG5vdCBzdXBwb3J0ZWQAcGNsciB3aXRoIHNpZ25lZCBkYXRhIGlzIG5vdCBzdXBwb3J0ZWQAUGx1Z2lucyBhcmUgbm90IHN1cHBvcnRlZABDaGFubmVscyB3aXRoIGRpZmZlcmVudCBudW1iZXIgb2YgYml0cyBwZXIgcGl4ZWwgYXJlIG5vdCBzdXBwb3J0ZWQAY29sciBib3hlcyB3aXRoIHVuZGVmaW5lZCBib3ggc2l6ZSBhcmUgbm90IHN1cHBvcnRlZABqcGdDIHdpdGggdW5zcGVjaWZpZWQgc2l6ZSBhcmUgbm90IHN1cHBvcnRlZABsb2NhbGUgbm90IHN1cHBvcnRlZABEZWZsYXRlIGNvbXByZXNzZWQgaW5saW5lIG1hc2sgaXMgbm90IHlldCBzdXBwb3J0ZWQAc2NhbGluZyBsaXN0IGxvZ2dpbmcgb3V0cHV0IG5vdCBpbXBsZW1lbnRlZABSZWN1cnNpdmUgYXV4IGltYWdlIGRldGVjdGVkAFJlY3Vyc2l2ZSB0aHVtYm5haWwgaW1hZ2UgZGV0ZWN0ZWQAUmVjdXJzaXZlIGRlcHRoIGltYWdlIGRldGVjdGVkAFJlY3Vyc2l2ZSBhbHBoYSBpbWFnZSBkZXRlY3RlZABoZWlmX2NvbXByZXNzaW9uX3VuY29tcHJlc3NlZABOVUxMIHBhc3NlZABoZWlmX3N1YmVycm9yX0NhbWVyYV9leHRyaW5zaWNfbWF0cml4X3VuZGVmaW5lZABoZWlmX3N1YmVycm9yX0NhbWVyYV9pbnRyaW5zaWNfbWF0cml4X3VuZGVmaW5lZABoZWlmX2NvbXByZXNzaW9uX3VuZGVmaW5lZABoZWlmX2NvbG9yc3BhY2VfdW5kZWZpbmVkAGhlaWZfY2hyb21hX3VuZGVmaW5lZABDYW1lcmEgZXh0cmluc2ljIG1hdHJpeCB1bmRlZmluZWQAQ2FtZXJhIGludHJpbnNpYyBtYXRyaXggdW5kZWZpbmVkAGhlaWZfc3ViZXJyb3JfTm9fbWF0Y2hpbmdfZGVjb2Rlcl9pbnN0YWxsZWQAbXV0ZXggbG9jayBmYWlsZWQARGVjb2RpbmcgdGhlIGltYWdlIHdhcyBjYW5jZWxlZABoZWlmX2Vycm9yX0NhbmNlbGVkAGhlaWZfc3ViZXJyb3JfQXV4aWxpYXJ5X2ltYWdlX3R5cGVfdW5zcGVjaWZpZWQAVHlwZSBvZiBhdXhpbGlhcnkgaW1hZ2UgdW5zcGVjaWZpZWQAaGVpZl9zdWJlcnJvcl9VbnNwZWNpZmllZABoZWlmX3N1YmVycm9yX1NlY3VyaXR5X2xpbWl0X2V4Y2VlZGVkAFNlY3VyaXR5IGxpbWl0IGV4Y2VlZGVkAFNlY3VyaXR5IGxpbWl0IGZvciBtYXhpbXVtIG5lc3Rpbmcgb2YgYm94ZXMgaGFzIGJlZW4gZXhjZWVkZWQAaGVpZl9zdWJlcnJvcl9QbHVnaW5faXNfbm90X2xvYWRlZABUcnlpbmcgdG8gcmVtb3ZlIGEgcGx1Z2luIHRoYXQgaXMgbm90IGxvYWRlZABQbHVnaW4gZmlsZSBjYW5ub3QgYmUgbG9hZGVkAGhlaWZfc3ViZXJyb3JfTm9uZXhpc3RpbmdfaXRlbV9yZWZlcmVuY2VkAGhlaWZfc3ViZXJyb3JfTm9uZXhpc3RpbmdfaW1hZ2VfY2hhbm5lbF9yZWZlcmVuY2VkAE5vbi1leGlzdGluZyBpbWFnZSBjaGFubmVsIHJlZmVyZW5jZWQATm9uLWV4aXN0aW5nIGF1eCBpbWFnZSByZWZlcmVuY2VkAE5vbi1leGlzdGluZyBkZXB0aCBpbWFnZSByZWZlcmVuY2VkAE5vbmV4aXN0ZW50IGdyaWQgaW1hZ2UgcmVmZXJlbmNlZABOb24tZXhpc3RpbmcgYWxwaGEgaW1hZ2UgcmVmZXJlbmNlZABOb24tZXhpc3RpbmcgaXRlbSBJRCByZWZlcmVuY2VkAFdlZABzcHMtPnNwc19yZWFkAHBwcy0+cHBzX3JlYWQAc2xpY2Utc2VnbWVudC0lZDslZABjdGItcm93LSVkAHNhby0lZABkZWJsb2NrLSVkAColZABoZXZjAGhlaWZfY29udGV4dF9hbGxvYwBzdGQ6OmJhZF9hbGxvYwBpbG9jAGN0eElkeExvb2t1cFtsb2cydy0yXVtjSWR4XVtzY2FuSWR4XVtwcmV2Q3NiZl1beEMrKHlDPDxsb2cydyldID09IGN0eElkeEluYwBnZXRfdXZsYwB2dmljAGltYWdlL2hlaWMAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9jb2RlYwBNaXNzaW5nIHJlcXVpcmVkIGJveCBmb3IgbWFzayBjb2RlYwBVbnN1cHBvcnRlZCBjb2RlYwBEZWMAZGVjY3R4LmNjAGZhbGxiYWNrLWRjdC5jYwB2cHMuY2MAc3BzLmNjAHBwcy5jYwBuYWwtcGFyc2VyLmNjAGZhbGxiYWNrLW1vdGlvbi5jYwB0cmFuc2Zvcm0uY2MAYml0c3RyZWFtLmNjAGNvbnRleHRtb2RlbC5jYwBkZWJsb2NrLmNjAGltYWdlLmNjAHNsaWNlLmNjAHJlZnBpYy5jYwBjYWJhYy5jYwBkcGIuY2MAZGUyNjUuY2MAd2IAcmIAY29tcHJlc3NfemxpYgBGZWIAYWIAaGVpZl9jaGFubmVsX0NiAHcrYgByK2IAYStiAHJ3YQBtZXRhAGRlY291cGxlX29yX2FsbG9jX3dpdGhfZW1wdHlfZGF0YQBoZWlmX3N1YmVycm9yX0ludmFsaWRfb3ZlcmxheV9kYXRhAGhlaWZfc3ViZXJyb3JfQ2Fubm90X3dyaXRlX291dHB1dF9kYXRhAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9yZWdpb25fZGF0YQBoZWlmX3N1YmVycm9yX05vX2l0ZW1fZGF0YQBoZWlmX3N1YmVycm9yX0VuZF9vZl9kYXRhAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9ncmlkX2RhdGEAaGVpZl9zdWJlcnJvcl9EZWNvbXByZXNzaW9uX2ludmFsaWRfZGF0YQBJbnZhbGlkIG92ZXJsYXkgZGF0YQBDYW5ub3Qgd3JpdGUgb3V0cHV0IGRhdGEAaW5zdWZmaWNpZW50IGlucHV0IGRhdGEASW5zdWZmaWNpZW50IGlucHV0IGRhdGEASXRlbSBoYXMgbm8gZGF0YQBJbnZhbGlkIHJlZ2lvbiBpdGVtIGRhdGEATGVzcyB0aGFuIDggYnl0ZXMgb2YgZGF0YQBJbnZhbGlkIGdyaWQgZGF0YQAgaGFzIG5vIGNvbXByZXNzZWQgZGF0YQBpcG1hAGhlaWZfY2hyb21hAG1jX2Nocm9tYQB1cm46bXBlZzptcGVnQjpjaWNwOnN5c3RlbXM6YXV4aWxpYXJ5OmFscGhhAGhlaWZfY2hhbm5lbF9BbHBoYQBPdmVybGF5IGltYWdlIG91dHNpZGUgb2YgY2FudmFzIGFyZWEASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBpbmxpbmUgbWFzayByZWdpb24gZGF0YVtdACAgcSA9IFsAbGF5ZXItc2l6ZXM6IFsAaGVpZl9jaGFubmVsX1kAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgATElCSEVJRl9TRUNVUklUWV9MSU1JVFMAZmlyc3RMYXllclJlYWQgPCBNQVhfVEVNUE9SQUxfU1VCTEFZRVJTAFZQUwBTUFMAUFBTAFNVRkZJWF9BUFMAUFJFRklYX0FQUwBqPj0wICYmIGogPCBNQVhfTlVNX1JFRl9QSUNTAGhlaWZfY2hhbm5lbF9SAGRlY29kZV9zbGljZV91bml0X1dQUABOQU4AUE0AU0VDQU0AdGhyZWFkX2NvbnRleHRzPT1OVUxMAGNhbm5vdCByZXR1cm4gZGF0YSB3aXRoIG91dF9kYXRhX3NpemU9PU5VTEwAcGVuZGluZ19pbnB1dF9OQUwgPT0gTlVMTABMQ19BTEwAUEFMAHB1c2hfTkFMAGhlaWZfY29tcHJlc3Npb25fSFRKMksAT1BJAERDSQBQSABoZWlmX2NoYW5uZWxfRwBMQU5HAGhlaWZfY29tcHJlc3Npb25fSlBFRwBJTkYAT0ZGAG5UIDw9IE1BWF9JTlRSQV9QUkVEX0JMT0NLX1NJWkUAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUlJHR0JCX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JSR0dCQkFBX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JSR0dCQl9CRQBoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF9SUkdHQkJBQV9CRQBhdXhDAHNwcy0+U3ViSGVpZ2h0QyA9PSBTdWJIZWlnaHRDAHNwcy0+U3ViV2lkdGhDID09IFN1YldpZHRoQwBzZXRfSW50cmFQcmVkTW9kZUMAaGVpZl9jb21wcmVzc2lvbl9WVkMAaGVpZl9jb21wcmVzc2lvbl9FVkMAaGVpZl9jb21wcmVzc2lvbl9IRVZDAGhlaWZfY29tcHJlc3Npb25fQVZDAE5UU0MATUFDAGhlaWZfY2hhbm5lbF9CAHNoZHItPnNsaWNlX3R5cGUgPT0gU0xJQ0VfVFlQRV9CAGhlaWZfY29sb3JzcGFjZV9SR0IAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUkdCAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JHQkEAPwBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgA7aW5kZXg9AE5vbmV4aXN0aW5nIHByb3BlcnR5IChpbmRleD0ASXRlbSAoSUQ9AFRpbGUgaW1hZ2UgSUQ9ADsAY29uZmlnIE9CVXM6AGdlbmVyYWwgbGV2ZWw6ADAxMjM0NTY3ODkAMS4xOS44AEMuVVRGLTgAcmVmPDcAaGRyLT5udW1fcmVmX2lkeF9sMV9hY3RpdmUgPD0gMTYAaGRyLT5udW1fcmVmX2lkeF9sMF9hY3RpdmUgPD0gMTYAaW1nLT5CaXREZXB0aF9ZID49IDggJiYgaW1nLT5CaXREZXB0aF9ZIDw9IDE2AGltZy0+Qml0RGVwdGhfQyA+PSA4ICYmIGltZy0+Qml0RGVwdGhfQyA8PSAxNgBsaWJkZTI2NQBpbnRyYVByZWRNb2RlPDM1AE51bWJlciBvZiB0aWxlIHJvd3MvY29sdW1ucyBtYXkgbm90IGV4Y2VlZCA2NTUzNQAxLjAuMTUASGlnaCA0OjQ6NABDQUxWQyA0OjQ6NABoZWlmX2Nocm9tYV80NDQAc2NhbGluZ19saXN0X3ByZWRfbWF0cml4X2lkX2RlbHRhPT0zAGhlaWZfanNfZGVjb2RlX2ltYWdlMgBpbnRyYVByZWRNb2RlPj0yAG51bU1WUENhbmRMWD09MgB1cm46bXBlZzpoZXZjOjIwMTU6YXV4aWQ6MgBIaWdoIDQ6MjoyAG1vZGVsW2ldLnN0YXRlIDw9IDYyAG5UPD0zMgBoZWlmX2Nocm9tYV80MjIAY29udGV4dCA+PSAwICYmIGNvbnRleHQgPD0gMgBjaGFubmVsPj0wICYmIGNoYW5uZWwgPD0gMgBpbml0VHlwZSA+PSAwICYmIGluaXRUeXBlIDw9IDIAbXNmMQBtaWYxAGhlaWZfY29tcHJlc3Npb25fQVYxAHJlZlBpY1EwPT1yZWZQaWNRMQAqcmVmY250PjEAbG9nMldEPj0xAHVybjptcGVnOmhldmM6MjAxNTphdXhpZDoxAHVybjptcGVnOmF2YzoyMDE1OmF1eGlkOjEAY2JmX2NyICE9IC0xAGNiZl9jYiAhPSAtMQBjYmZfbHVtYSAhPSAtMQB2YWx1ZT4wAFJJZHg+PTAAcmVmUGljTGlzdD49MAB0aWxlWD49MCAmJiB0aWxlWT49MAByZHBjbU1vZGU9PTAAKHdpZHRoJjEpPT0wADQ6MjowAGhlaWZfY2hyb21hXzQyMABNYWluMTAASGlnaCAxMABoZWlmX2NvbXByZXNzaW9uX0pQRUcyMDAwAGxlbmd0aCA+PSAwAG5UaHJlYWRzUnVubmluZyA+PSAwAGZpcnN0ICUgMiA9PSAwAGVuZCAlIDIgPT0gMABpbWctPm51bV90aHJlYWRzX2FjdGl2ZSgpID09IDAALwBUaWxlZCBpbWFnZSB3aXRob3V0ICdpc3BlJyBwcm9wZXJ0eSBib3guAFRpbGVkIGltYWdlIHdpdGhvdXQgJ3RpbEMnIHByb3BlcnR5IGJveC4AQ2Fubm90IHdyaXRlIGR1bW15IGVycm9yIGJveC4AVG9vIG1hbnkgZW50aXRpZXMgaW4gZHJlZiBib3guAENhbm5vdCB3cml0ZSBtb3JlIHRoYW4gMjU1IFNQUy1FeHQgaW50byBhdmNDIGJveC4AQ2Fubm90IHdyaXRlIFNQUy1FeHQgbGFyZ2VyIHRoYW4gNjU1MzUgYnl0ZXMgaW50byBhdmNDIGJveC4AQ2Fubm90IHdyaXRlIFNQUyBsYXJnZXIgdGhhbiA2NTUzNSBieXRlcyBpbnRvIGF2Y0MgYm94LgBDYW5ub3Qgd3JpdGUgUFBTIGxhcmdlciB0aGFuIDY1NTM1IGJ5dGVzIGludG8gYXZjQyBib3guAENhbm5vdCB3cml0ZSBtb3JlIHRoYW4gMjU1IFBQUyBpbnRvIGF2Y0MgYm94LgBDYW5ub3Qgd3JpdGUgbW9yZSB0aGFuIDMxIFBQUyBpbnRvIGF2Y0MgYm94LgBGaWxlIGRvZXMgbm90IHN0YXJ0IHdpdGggJ2Z0eXAnIGJveC4ATm90IGVub3VnaCBkYXRhIHByZXNlbnQgaW4gJ2lsb2MnIHRvIHNhdGlzZnkgcmVxdWVzdC4ATnVtYmVyIG9mIHRpbGVzIGV4Y2VlZHMgc2VjdXJpdHkgbGltaXQuAE92ZXJsYXkgaW1hZ2Ugd2l0aCB6ZXJvIHdpZHRoIG9yIGhlaWdodC4AJ3RpbGknIGltYWdlIHdpdGggemVybyB3aWR0aCBvciBoZWlnaHQuACd0aWxpJyBpbWFnZSB3aXRoIHVuc3VwcG9ydGVkIGNvbXByZXNzaW9uIGZvcm1hdC4AVG9vIG1hbnkgVlZDIE5BTCBhcnJheXMuACBleHRlbnRzLgBUb28gbWFueSBWVkMgTkFMIHVuaXRzLgBDYW5ub3QgZGVjb2RlIHdpdGggYSBkdW1teSBkZWNvZGVyIHBsdWdpbnMuACBpdGVtcy4AIGVudGl0aWVzLgBJbnB1dCBmaWxlIGhhcyBhbiAnaXJlZicgYm94IHdpdGggbm8gcmVmZXJlbmNlcy4AaGVpZl9pbWFnZV9jcmVhdGU6IE5VTEwgcGFzc2VkIGFzIGltYWdlIHBvaW50ZXIuAEludmFsaWQgY29sb3JzcGFjZS9jaHJvbWEgY29tYmluYXRpb24uACdpb3ZsJyBpbWFnZSByZWZlcmVuY2VzIGEgbm9uLWV4aXN0aW5nIGl0ZW0uAFNlbGYtcmVmZXJlbmNlIGluICdpb3ZsJyBpbWFnZSBpdGVtLgBUb28gbWFueSByZWdpb25zICg+MjU1KSBpbiBhbiAncmdhbicgaXRlbS4ARmlsZSBzaXplIHRvbyBzbWFsbC4AVGlsZSBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIHRoZSBzcGVjaWZpZWQgdGlsZSBzaXplLgBWVkMgTkFMIHRvbyBsYXJnZS4AVkNDIGJpdCBkZXB0aCBvdXQgb2YgcmFuZ2UuAEV4Y2VlZGVkIHN1cHBvcnRlZCB2YWx1ZSByYW5nZS4AIGlzIG5vdCBhIHByb3BlciBpbWFnZS4AVGh1bWJuYWlsIGltYWdlcyBtdXN0IGJlIHNtYWxsZXIgdGhhbiB0aGUgb3JpZ2luYWwgaW1hZ2UuAE5vIGoya0ggYm94IGZvdW5kLgBObyBzdXBwb3J0ZWQgYnJhbmRzIGZvdW5kLgB2dmNDIHdpdGggbnVtX2J5dGVzX2NvbnN0cmFpbnRfaW5mbz09MCBpcyBub3QgYWxsb3dlZC4AJyBpcyBub3Qgc3VwcG9ydGVkLgAnIGJveCBleGNlZWRlZC4AQ291bGQgbm90IGZpbmQgbG9jYXRpb24gb2YgVElGRiBoZWFkZXIgaW4gRXhpZiBtZXRhZGF0YS4AY2FsbGVkIGhlaWZfY29udGV4dF9hZGRfaXRlbSgpIHdpdGggaW52YWxpZCAnaXRlbV90eXBlJy4AY2FsbGVkIGhlaWZfY29udGV4dF9hZGRfZ2VuZXJpY19tZXRhZGF0YSgpIHdpdGggaW52YWxpZCAnaXRlbV90eXBlJy4AKiwAdysAcisAYSsASW52YWxpZCBjb2xvcl9wcm9maWxlX3R5cGUgKG11c3QgYmUgNCBjaGFyYWN0ZXJzKQAoZnJvbSBwcHMpAGZ0eXAgYm94IHRvbyBzbWFsbCAobGVzcyB0aGFuIDggYnl0ZXMpAE1pc3NpbmcgcmVxdWlyZWQgaGVhZGVyIG1hcmtlcihzKQAodW5rbm93bikAKG51bGwpAGRwYi5oYXNfZnJlZV9kcGJfcGljdHVyZSh0cnVlKQAob3ZlcnJpZGUpAGN0eC0+aGFzX2ltYWdlKGNvbFBpYykAKGZyb20gUFBTKQBDb3VsZCBub3Qgd3JpdGUgdG8gdG1wIGZpbGUgKHN0b3JhZ2UgZnVsbD8pAFNQUyBtYXggcGljdHVyZSB3aWR0aCBvciBoZWlnaHQgZXhjZWVkcyBtYXhpbXVtICg2NTUzNSkAVG9vIG1hbnkgdGlsZXMgKG1heGltdW06IDY1NTM1KQBUb28gbWFueSBvdmVybGF5IGltYWdlcyAobWF4aW11bTogNjU1MzUpACEodHJhZm9EZXB0aD09MCAmJiBsb2cyVHJhZm9TaXplPT0yKQAhcmVvcmRlcl9vdXRwdXRfcXVldWUuZW1wdHkoKQBOVUxMIHBhc3NlZCB0byBoZWlmX2ltYWdlX2hhbmRsZV9nZXRfaW1hZ2VfdGlsaW5nKCkAUklkeCA+PSAwICYmIFJJZHggPCBzZXRzLnNpemUoKQBOVUxMIG91dF9kZXB0aF9oYW5kbGUgcGFzc2VkIHRvIGhlaWZfaW1hZ2VfaGFuZGxlX2dldF9kZXB0aF9pbWFnZV9oYW5kbGUoKQBOVUxMIG91dF9pbWcgcGFzc2VkIHRvIGhlaWZfZGVjb2RlX2ltYWdlKCkATnVtYmVyIG9mIHJlZmVyZW5jZXMgaW4gaXJlZiBib3ggKABOdW1iZXIgb2YgZXh0ZW50cyBpbiBpbG9jIGJveCAoACkgZXhjZWVkcyBzZWN1cml0eSBsaW1pdCAoAE1heGltdW0gbnVtYmVyIG9mIGNoaWxkIGJveGVzICgASW5wdXQgZXJyb3IgKABCb3ggc2l6ZSAoACBieXRlcykgc21hbGxlciB0aGFuIGhlYWRlciBzaXplICgAd2hpdGUgcG9pbnQgKHgseSk6ICgAQ2Fubm90IGVuY29kZSBpbWFnZSB0byAnaWRlbicAQ2Fubm90IGVuY29kZSBpbWFnZSB0byAnaW92bCcAQ2Fubm90IGVuY29kZSBpbWFnZSB0byAndGlsZCcAQ2Fubm90IGVuY29kZSBpbWFnZSB0byAnZ3JpZCcAY291bGQgbm90IHBhcnNlIGl0ZW0gcHJvcGVydHkgJwApIGluICcAcmVmZXJlbmNlIHdpdGggdHlwZSAnAEltYWdlIGl0ZW0gb2YgdHlwZSAnAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAHwgACB0aWxlcywgYnV0IG9ubHkgACB4IABKUEVHLTIwMDAgbGF5ZXJzLCBidXQgdGhlIGJveCBvbmx5IGNvbnRhaW5zIAAgSlBFRy0yMDAwIGNoYW5uZWxzLCBidXQgZmlsZSBvbmx5IGNvbnRhaW5zIABlbnRpdHkgZ3JvdXAgYm94IGNvbnRhaW5zIABpbG9jIGJveCBjb250YWlucyAARXh0ZW50IGluIGlsb2MgYm94IHJlZmVyZW5jZXMgZGF0YSBvdXRzaWRlIG9mIGZpbGUgYm91bmRzIABDb3VsZCBub3Qgd3JpdGUgdG8gdG1wIGZpbGU6IGVycm9yIABDYW5ub3QgcmVhZCB0bXAgZGF0YSBmaWxlLCBlcnJvciAAaXBtYSBib3ggd2FudHMgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIABsYXllciAAIEpQRUctMjAwMCBjaGFubmVscywgYnV0IHRoZSBzZWN1cml0eSBsaW1pdCBpcyBzZXQgdG8gACBlbnRpdGllcywgYnV0IHRoZSBzZWN1cml0eSBsaW1pdCBpcyBzZXQgdG8gACBpdGVtcywgYnV0IHRoZSBzZWN1cml0eSBsaW1pdCBoYXMgYmVlbiBzZXQgdG8gAChwb2ludHMgdG8gZmlsZSBwb3NpdGlvbiAAb3JpZW50YXRpb24gAEdyaWQgaW1hZ2UgdmVyc2lvbiAAIGJveCBkYXRhIHZlcnNpb24gAE92ZXJsYXkgaW1hZ2UgZGF0YSB2ZXJzaW9uIAAsIHZlcnNpb24gAGVudGl0eSBncm91cCBib3ggc2hvdWxkIGNvbnRhaW4gAGlyZWYgYm94IHNob3VsZCBjb250YWluIABpbG9jIGJveCBzaG91bGQgY29udGFpbiAAaWxvYyBpdGVtIHNob3VsZCBjb250YWluIAApIGZvciBpdGVtIABJbWFnZSBpdGVtIABDYW5ub3QgbWlycm9yIGltYWdlcyB3aXRoIABUaWxlZCBpbWFnZSB3aXRoIABBbGxvY2F0aW5nIAAgYnl0ZXMgZXhjZWVkcyB0aGUgc2VjdXJpdHkgbGltaXQgb2YgACBpdGVtcywgd2hpY2ggZXhjZWVkcyB0aGUgc2VjdXJpdHkgbGltaXQgb2YgACBieXRlcywgZXhjZWVkaW5nIHRoZSBzZWN1cml0eSBsaW1pdCBvZiAAKSBleGNlZWRzIHRoZSBzZWN1cml0eSBsaW1pdHMgb2YgAGludmFsaWQgYm94IHNpemUgAEJveCBzaXplIAAgZXhjZWVkcyB0aGUgbWF4aW11bSBpbWFnZSBzaXplIABJbWFnZSBzaXplIABjZGVmIGJveCB3YW50cyB0byBkZWZpbmUgAGoya0wgYm94IHdhbnRzIHRvIGRlZmluZSAATm8gYXV4QyBwcm9wZXJ0eSBmb3IgaW1hZ2UgACBieXRlcywgdG90YWwgbWVtb3J5IHNpemUgd291bGQgYmUgAEl0ZW0gY29uc3RydWN0aW9uIG1ldGhvZCAAaWRhdCBib3ggY29udGFpbmVkIABpbG9jIGJveCBjb250YWluZWQgACBleHRlbnRzLCBidXQgd2UgY2FuIG9ubHkgcmVhZCAAIGl0ZW1zLCBidXQgd2UgY2FuIG9ubHkgcmVhZCAAIGVudGl0aWVzLCBidXQgd2UgY2FuIG9ubHkgcmVhZCAAIHJlZmVyZW5jZXMsIGJ1dCB3ZSBjYW4gb25seSByZWFkIAAqJWQgAColZCVjIABJdGVtIHdpdGggSUQgACA7IABwcm9maWxlX2NvbXBhdGliaWxpdHk6IABmYXRhbGl0eTogAGluaXRpYWxfcHJlc2VudGF0aW9uX2RlbGF5OiAAYW1iaWVudF9saWdodF95OiAAY2hyb21hX3N1YnNhbXBsaW5nX3k6IABCb3g6IABjb21wb25lbnRfaW5kZXg6IABpdGVtX3Byb3RlY3Rpb25faW5kZXg6IABjaGFubmVsX2luZGV4OiAAICBkYXRhX3JlZmVyZW5jZV9pbmRleDogAG9scy1pbmRleDogAG9wLWluZGV4OiAAcHJvcGVydHkgaW5kZXg6IABhbWJpZW50X2xpZ2h0X3g6IABjaHJvbWFfc3Vic2FtcGxpbmdfeDogAHNrZXc6IABwcmluY2lwYWwtcG9pbnQ6IAB0d2VsdmVfYml0OiAAbWF4IHBpY3R1cmUgaGVpZ2h0OiAAaW1hZ2UgaGVpZ2h0OiAAICBiYXNlX29mZnNldDogAGNocm9tYV9mb3JtYXQ6IABjaHJvbWEtZm9ybWF0OiAAQ2hyb21hIGZvcm1hdDogAG51bSBvZiBhcnJheXM6IAAgIGV4dGVudHM6IABtYXRyaXhfY29lZmZpY2llbnRzOiAAYXJyYXlfY29tcGxldGVuZXNzOiAAYXJyYXkgY29tcGxldGVuZXNzOiAAbnVtIHN1YmxheWVyczogAG51bV90ZW1wb3JhbF9sYXllcnM6IAAsIGRlY29kZV9sYXllcnM6IAAsIGRpc2NhcmRfbGV2ZWxzOiAAdGFnczogACAgJXNfcHJvZmlsZV9jb21wYXRpYmlsaXR5X2ZsYWdzOiAAZ2VuZXJhbF9wcm9maWxlX2NvbXBhdGliaWxpdHlfZmxhZ3M6IABnZW5lcmFsX2NvbnN0cmFpbnRfaW5kaWNhdG9yX2ZsYWdzOiAAbnVtIGJ5dGVzOiAAbnVtYmVyIG9mIGRhdGEgYnl0ZXM6IABhdXggc3VidHlwZXM6IAB8IHRpbGVzOiAAY29sb3VyX3ByaW1hcmllczogAHRpbGUgcm93IGJvdW5kYXJpZXM6IAB0aWxlIGNvbHVtbiBib3VuZGFyaWVzOiAAY29tcGF0aWJsZSBicmFuZHM6IAB0cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3M6IABlbnRpdHkgSURzOiAAIHRvIElEczogACwgcGFsZXR0ZV9jb2xvdXI6IAAnIHBhcnNlIGVycm9yOiAAZGVzY3JpcHRpb246IABjaHJvbWFfc2FtcGxlX3Bvc2l0aW9uOiAAbWlycm9yIGRpcmVjdGlvbjogAHJvdGF0aW9uOiAAYW1iaWVudF9pbGx1bWluYXRpb246IAAsIGNoYW5uZWxfYXNzb2NpYXRpb246IABsb2NhdGlvbjogAEFWQ0xldmVsSW5kaWNhdGlvbjogAEFWQ1Byb2ZpbGVJbmRpY2F0aW9uOiAAY29uZmlndXJhdGlvbl92ZXJzaW9uOiAAbWlub3IgdmVyc2lvbjogAGhpZGRlbiBpdGVtOiAAYml0c19wZXJfcGl4ZWw6IABtYXhfY29udGVudF9saWdodF9sZXZlbDogAG1heF9waWNfYXZlcmFnZV9saWdodF9sZXZlbDogAGJpdHNfcGVyX2NoYW5uZWw6IAAgKGVzc2VudGlhbDogAGhpZ2hfYml0ZGVwdGg6IABiaXQtZGVwdGg6IABmb2NhbC1sZW5ndGg6IABpbWFnZSB3aWR0aDogACAgcGl0Y2g6IAB8IGJpbm5pbmc6IABjb250ZW50X2VuY29kaW5nOiAAdlNwYWNpbmc6IABoU3BhY2luZzogAGxhbmc6IABnZW5lcmFsX3RpZXJfZmxhZzogAGZ1bGxfcmFuZ2VfZmxhZzogAHB0bCBmcmFtZSBvbmx5IGNvbnN0cmFpbnQgZmxhZzogAHRpZXIgZmxhZzogAHB0bCBtdWx0aSBsYXllciBlbmFibGVkIGZsYWc6IABsZW5ndGhfc2l6ZTogACAgIChoZWFkZXIgc2l6ZTogAE5BTCBsZW5ndGggc2l6ZTogAHRpbGUgc2l6ZTogAHByb2ZpbGUgc2l6ZTogAHVuaGFuZGxlZCBleHRlbmRlZCBjYXBhYmlsaXRpZXMgdmFsdWU6IABjb25zdGFudF9mcmFtZV9yYXRlOiAAYXZnX2ZyYW1lX3JhdGU6IABjb25zdGFudCBmcmFtZSByYXRlOiAAY2xlYW5fYXBlcnR1cmU6IABjb250ZW50X3R5cGU6IABOQUxfdW5pdF90eXBlOiAAY29sb3VyX3R5cGU6IABoYW5kbGVyX3R5cGU6IABwYXJhbGxlbGlzbV90eXBlOiAAaXRlbV90eXBlOiAALCBjaGFubmVsX3R5cGU6IAAsIG1hcHBpbmdfdHlwZTogAGF1eCB0eXBlOiAAaXRlbSB1cmkgdHlwZTogAE5BTCB0eXBlOiAAbW9ub2Nocm9tZTogAGl0ZW1fbmFtZTogAHNlcV9wcm9maWxlOiAAZ2VuZXJhbCBwcm9maWxlOiAARXJyb3Igb3BlbmluZyBmaWxlOiAAbWF4IGRpc3BsYXkgbWFzdGVyaW5nIGx1bWluYW5jZTogAG1pbiBkaXNwbGF5IG1hc3RlcmluZyBsdW1pbmFuY2U6IABnZW5lcmFsX3Byb2ZpbGVfc3BhY2U6IAAgIGNvbnN0cnVjdGlvbiBtZXRob2Q6IABtYWpvciBicmFuZDogAGxheWVyX2lkOiAAZ3JvdXAgaWQ6IAB3b3JsZCBjb29yZGluYXRlIHN5c3RlbSBpZDogAHRlbXBvcmFsX2lkX25lc3RlZDogAHByZV9kZWZpbmVkOiAAbWluX3NwYXRpYWxfc2VnbWVudGF0aW9uX2lkYzogAGdlbmVyYWxfbGV2ZWxfaWRjOiAAZ2VuZXJhbF9wcm9maWxlX2lkYzogAGRhdGE6IABiaXRfZGVwdGhfbHVtYTogAEJpdCBkZXB0aCBsdW1hOiAAYml0X2RlcHRoX2Nocm9tYTogAEJpdCBkZXB0aCBjaHJvbWE6IAByZWZfcGljX3NldFsgJTJkIF06IABTUFMtRVhUOiAAU1BTOiAAUFBTOiAARVJSOiAASU5GTzogAE5FOiAAaXRlbV9JRDogACBmcm9tIElEOiAAYXNzb2NpYXRpb25zIGZvciBpdGVtIElEOiAAcmlnaHQgaW1hZ2UgSUQ6IABsZWZ0IGltYWdlIElEOiAALCBOUEM6IAAsIEI6IABzZXFfbGV2ZWxfaWR4XzA6IABkaXNwbGF5X3ByaW1hcmllcyAoeCx5KTogAGNhbWVyYSBwb3NpdGlvbiAodW0pOiAAKSA6IAApLCAAICByb2xsOiAgAG1heCBwaWN0dXJlIHdpZHRoOiAgACAgeWF3OiAgIAAgICAgICAAbm8gc2tldwoAIHJlZmVyZW5jZWQsIGJ1dCBpdCBkb2VzIG5vdCBleGlzdAoAbm90IHByZXNlbnQKAFNQUyBlcnJvcjogQ0IgYWxpZ25tZW50CgAlcCBpbml0CgAqJXMKAHNsaWNlX2RlYmxvY2tpbmdfZmlsdGVyX2Rpc2FibGVkX2ZsYWcgOiAlZCAlcwoAbnVtX3JlZl9pZHhfbDFfYWN0aXZlICAgICAgICAgIDogJWQgJXMKAG51bV9yZWZfaWR4X2wwX2FjdGl2ZSAgICAgICAgICA6ICVkICVzCgAgICVzX3Byb2ZpbGVfaWRjICAgICAgIDogJXMKACAgdmlkZW9fZm9ybWF0ICAgICAgICAgICAgICAgIDogJXMKACVwIGRlc3RydWN0b3IKACVwIHJlbGVhc2UgJXAKAG1mcmVlICVwCgAlcCBjJ3RvciA9ICVwCgAlcCBhc3NpZ24gPSAlcAoAaG9yaXpvbnRhbAoAZmF0YWwKAG9wdGlvbmFsCgB2ZXJ0aWNhbAoAU1BTIGVycm9yOiB0cmFuc2Zvcm0gaGllcmFyY2h5IGRlcHRoIChpbnRlcikgPiBDVEIgc2l6ZSAtIG1pbiBUQiBzaXplCgBTUFMgZXJyb3I6IHRyYW5zZm9ybSBoaWVyYXJjaHkgZGVwdGggKGludHJhKSA+IENUQiBzaXplIC0gbWluIFRCIHNpemUKAG5vIGNvbG9yIHByb2ZpbGUKAGlnbm9yYWJsZQoAbnVtYmVyIG9mIGRhdGEgYnl0ZXMgaXMgaW52YWxpZAoAdW5zdXBwb3J0ZWQKAGludmFsaWQgU1BTIHJlZmVyZW5jZWQKAGludmFsaWQgUFBTIHJlZmVyZW5jZWQKAFBQUyAlZCBoYXMgbm90IGJlZW4gcmVhZAoAc2FtcGxlIGFzcGVjdCByYXRpbyAgICAgICAgOiAlZDolZAoATGF5ZXIgJWQKAHZwc19udW1fbGF5ZXJfc2V0cyA9ICVkCgB2cHNfbnVtX3VuaXRzX2luX3RpY2sgPSAlZAoAbGF5ZXIgJWQ6IHZwc19tYXhfZGVjX3BpY19idWZmZXJpbmcgPSAlZAoAbGF5ZXIgKGFsbCk6IHZwc19tYXhfZGVjX3BpY19idWZmZXJpbmcgPSAlZAoAdnBzX3RpbWluZ19pbmZvX3ByZXNlbnRfZmxhZyA9ICVkCgB2cHNfZXh0ZW5zaW9uX2ZsYWcgPSAlZAoAdnBzX3BvY19wcm9wb3J0aW9uYWxfdG9fdGltaW5nX2ZsYWcgPSAlZAoAdnBzX251bV90aWNrc19wb2NfZGlmZl9vbmUgPSAlZAoAaHJkX2xheWVyX3NldF9pZHhbJWRdID0gJWQKAGxheWVyX2lkX2luY2x1ZGVkX2ZsYWdbJWRdWyVkXSA9ICVkCgAgICAgICAgICAgICAgdnBzX21heF9udW1fcmVvcmRlcl9waWNzICA9ICVkCgAgICAgICAgICAgICAgdnBzX21heF9sYXRlbmN5X2luY3JlYXNlICA9ICVkCgB2cHNfbWF4X2xheWVyX2lkICAgPSAlZAoAdnBzX251bV9ocmRfcGFyYW1ldGVycyAgICAgPSAlZAoAdnBzX3RpbWVfc2NhbGUgICAgICAgID0gJWQKAGNvbmZfd2luX2JvdHRvbV9vZmZzZXQ6ICVkCgBjaHJvbWFfbG9jX2luZm9fcHJlc2VudF9mbGFnOiAlZAoAbGlzdHNfbW9kaWZpY2F0aW9uX3ByZXNlbnRfZmxhZzogJWQKAGRlYmxvY2tpbmdfZmlsdGVyX2NvbnRyb2xfcHJlc2VudF9mbGFnOiAlZAoAdmlkZW9fc2lnbmFsX3R5cGVfcHJlc2VudF9mbGFnOiAlZAoAcGljX3NjYWxpbmdfbGlzdF9kYXRhX3ByZXNlbnRfZmxhZzogJWQKAHBpY19kaXNhYmxlX2RlYmxvY2tpbmdfZmlsdGVyX2ZsYWc6ICVkCgBuZXV0cmFsX2Nocm9tYV9pbmRpY2F0aW9uX2ZsYWc6ICVkCgB1bmlmb3JtX3NwYWNpbmdfZmxhZzogJWQKAHRyYW5zcXVhbnRfYnlwYXNzX2VuYWJsZV9mbGFnOiAlZAoAY29uc3RyYWluZWRfaW50cmFfcHJlZF9mbGFnOiAlZAoAcHBzX2xvb3BfZmlsdGVyX2Fjcm9zc19zbGljZXNfZW5hYmxlZF9mbGFnOiAlZAoAdHJhbnNmb3JtX3NraXBfZW5hYmxlZF9mbGFnOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfb3ZlcnJpZGVfZW5hYmxlZF9mbGFnOiAlZAoAZW50cm9weV9jb2Rpbmdfc3luY19lbmFibGVkX2ZsYWc6ICVkCgAgIGNocm9tYV9zYW1wbGVfbG9jX3R5cGVfYm90dG9tX2ZpZWxkOiAlZAoAICAlZDogJWQKAGNvbmZfd2luX3JpZ2h0X29mZnNldCA6ICVkCgBudW1fc2hvcnRfdGVybV9yZWZfcGljX3NldHMgOiAlZAoAbnVtX2xvbmdfdGVybV9yZWZfcGljc19zcHMgOiAlZAoAcGljX2hlaWdodF9pbl9sdW1hX3NhbXBsZXMgOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50ZXIgOiAlZAoAICAgICVzX2ZyYW1lX29ubHlfY29uc3RyYWludF9mbGFnIDogJWQKACAgICAlc19ub25fcGFja2VkX2NvbnN0cmFpbnRfZmxhZyA6ICVkCgBwcHNfc2xpY2VfY2hyb21hX3FwX29mZnNldHNfcHJlc2VudF9mbGFnIDogJWQKAHZ1aV9ocmRfcGFyYW1ldGVyc19wcmVzZW50X2ZsYWcgOiAlZAoAbG9uZ190ZXJtX3JlZl9waWNzX3ByZXNlbnRfZmxhZyA6ICVkCgBvdmVyc2Nhbl9pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgB2cHNfc3ViX2xheWVyX29yZGVyaW5nX2luZm9fcHJlc2VudF9mbGFnIDogJWQKAHNwc19zdWJfbGF5ZXJfb3JkZXJpbmdfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAZnJhbWVfZmllbGRfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAICBjb2xvdXJfZGVzY3JpcHRpb25fcHJlc2VudF9mbGFnIDogJWQKAHNsaWNlX3NlZ21lbnRfaGVhZGVyX2V4dGVuc2lvbl9wcmVzZW50X2ZsYWcgOiAlZAoAc3BzX3NjYWxpbmdfbGlzdF9kYXRhX3ByZXNlbnRfZmxhZyA6ICVkCgAgIG1vdGlvbl92ZWN0b3JzX292ZXJfcGljX2JvdW5kYXJpZXNfZmxhZyA6ICVkCgBzcHNfbXVsdGlsYXllcl9leHRlbnNpb25fZmxhZyA6ICVkCgBwcHNfbXVsdGlsYXllcl9leHRlbnNpb25fZmxhZyA6ICVkCgBzcHNfdGVtcG9yYWxfaWRfbmVzdGluZ19mbGFnIDogJWQKAHZ1aV9wb2NfcHJvcG9ydGlvbmFsX3RvX3RpbWluZ19mbGFnIDogJWQKAHNlcGFyYXRlX2NvbG91cl9wbGFuZV9mbGFnIDogJWQKAHNjYWxpbmdfbGlzdF9lbmFibGVfZmxhZyA6ICVkCgBzdHJvbmdfaW50cmFfc21vb3RoaW5nX2VuYWJsZV9mbGFnIDogJWQKAGRlYmxvY2tpbmdfZmlsdGVyX292ZXJyaWRlX2ZsYWcgOiAlZAoAbnVtX3JlZl9pZHhfYWN0aXZlX292ZXJyaWRlX2ZsYWcgOiAlZAoAICAgICVzX3Byb2dyZXNzaXZlX3NvdXJjZV9mbGFnIDogJWQKACAgICAlc19pbnRlcmxhY2VkX3NvdXJjZV9mbGFnIDogJWQKAHNhbXBsZV9hZGFwdGl2ZV9vZmZzZXRfZW5hYmxlZF9mbGFnIDogJWQKAGRlcGVuZGVudF9zbGljZV9zZWdtZW50c19lbmFibGVkX2ZsYWcgOiAlZAoAbG9vcF9maWx0ZXJfYWNyb3NzX3RpbGVzX2VuYWJsZWRfZmxhZyA6ICVkCgBzbGljZV9sb29wX2ZpbHRlcl9hY3Jvc3Nfc2xpY2VzX2VuYWJsZWRfZmxhZyA6ICVkCgBzbGljZV90ZW1wb3JhbF9tdnBfZW5hYmxlZF9mbGFnIDogJWQKAGNyb3NzX2NvbXBvbmVudF9wcmVkaWN0aW9uX2VuYWJsZWRfZmxhZyA6ICVkCgBwZXJzaXN0ZW50X3JpY2VfYWRhcHRhdGlvbl9lbmFibGVkX2ZsYWcgOiAlZAoAbG9nMl9kaWZmX21heF9taW5fdHJhbnNmb3JtX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9kaWZmX21heF9taW5fbHVtYV9jb2RpbmdfYmxvY2tfc2l6ZSA6ICVkCgBsb2cyX21pbl9sdW1hX2NvZGluZ19ibG9ja19zaXplIDogJWQKAGxvZzJfZGlmZl9tYXhfbWluX3BjbV9sdW1hX2NvZGluZ19ibG9ja19zaXplIDogJWQKAGxvZzJfbWluX3BjbV9sdW1hX2NvZGluZ19ibG9ja19zaXplIDogJWQKAG51bV9yZWZfaWR4X2wxX2RlZmF1bHRfYWN0aXZlIDogJWQKAG51bV9yZWZfaWR4X2wwX2RlZmF1bHRfYWN0aXZlIDogJWQKAGxvZzJfbWF4X3BpY19vcmRlcl9jbnRfbHNiIDogJWQKAG1heF90cmFuc2Zvcm1faGllcmFyY2h5X2RlcHRoX2ludHJhIDogJWQKAGJpdF9kZXB0aF9jaHJvbWEgOiAlZAoAZW50cnkgcG9pbnQgWyVpXSA6ICVkCgAgIHNwc19tYXhfbGF0ZW5jeV9pbmNyZWFzZV9wbHVzMSA6ICVkCgByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uX2ZsYWdfbDEgOiAlZAoAcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbl9mbGFnX2wwIDogJWQKAExvZzJNaW5DdUNocm9tYVFwT2Zmc2V0U2l6ZSAoUkV4dCkgOiAlZAoATG9nMk1heFRyYW5zZm9ybVNraXBTaXplICAgIChSRXh0KSA6ICVkCgBjb25mX3dpbl9sZWZ0X29mZnNldCAgOiAlZAoAICBkZWZfZGlzcF93aW5fYm90dG9tX29mZnNldCAgOiAlZAoAc2xpY2VfYmV0YV9vZmZzZXQgIDogJWQKAHBpY193aWR0aF9pbl9sdW1hX3NhbXBsZXMgIDogJWQKAHZ1aV90aW1pbmdfaW5mb19wcmVzZW50X2ZsYWcgIDogJWQKAG92ZXJzY2FuX2FwcHJvcHJpYXRlX2ZsYWcgIDogJWQKAHBjbV9sb29wX2ZpbHRlcl9kaXNhYmxlX2ZsYWcgIDogJWQKAGZpdmVfbWludXNfbWF4X251bV9tZXJnZV9jYW5kICA6ICVkCgB2aWRlb19wYXJhbWV0ZXJfc2V0X2lkICA6ICVkCgAgIGRlZl9kaXNwX3dpbl9yaWdodF9vZmZzZXQgICA6ICVkCgBjb25mX3dpbl90b3Bfb2Zmc2V0ICAgOiAlZAoAZGVmYXVsdF9kaXNwbGF5X3dpbmRvd19mbGFnICAgOiAlZAoAY3VfcXBfZGVsdGFfZW5hYmxlZF9mbGFnICAgOiAlZAoAbG9nMl9taW5fdHJhbnNmb3JtX2Jsb2NrX3NpemUgICA6ICVkCgAgIGNocm9tYV9zYW1wbGVfbG9jX3R5cGVfdG9wX2ZpZWxkICAgOiAlZAoAYml0X2RlcHRoX2x1bWEgICA6ICVkCgBwY21fc2FtcGxlX2JpdF9kZXB0aF9jaHJvbWEgICA6ICVkCgBNYXhDYlNpemVZICAgOiAlZAoATWluQ2JTaXplWSAgIDogJWQKAE1heFRCU2l6ZVkgICA6ICVkCgBNaW5UQlNpemVZICAgOiAlZAoAICBkZWZfZGlzcF93aW5fbGVmdF9vZmZzZXQgICAgOiAlZAoAc2xpY2VfdGNfb2Zmc2V0ICAgIDogJWQKAG51bV9leHRyYV9zbGljZV9oZWFkZXJfYml0cyAgICA6ICVkCgBudW1fZW50cnlfcG9pbnRfb2Zmc2V0cyAgICA6ICVkCgBudW1fdGlsZV9jb2x1bW5zICAgIDogJWQKACAgdHJhbnNmZXJfY2hhcmFjdGVyaXN0aWNzICAgIDogJWQKACAgbG9nMl9tYXhfbXZfbGVuZ3RoX2hvcml6b250YWwgICAgOiAlZAoAY29uZm9ybWFuY2Vfd2luZG93X2ZsYWcgICAgOiAlZAoAY2FiYWNfaW5pdF9wcmVzZW50X2ZsYWcgICAgOiAlZAoAc3BzX2V4dGVuc2lvbl9wcmVzZW50X2ZsYWcgICAgOiAlZAoAICByZXN0cmljdGVkX3JlZl9waWNfbGlzdHNfZmxhZyAgICA6ICVkCgB0cmFuc2Zvcm1fc2tpcF9yb3RhdGlvbl9lbmFibGVkX2ZsYWcgICAgOiAlZAoAc2VxX3BhcmFtZXRlcl9zZXRfaWQgICAgOiAlZAoAc2xpY2VfY3JfcXBfb2Zmc2V0ICAgICA6ICVkCgBzbGljZV9jYl9xcF9vZmZzZXQgICAgIDogJWQKACAgZGVmX2Rpc3Bfd2luX3RvcF9vZmZzZXQgICAgIDogJWQKAGRpZmZfY3VfcXBfZGVsdGFfZGVwdGggICAgIDogJWQKAG91dHB1dF9mbGFnX3ByZXNlbnRfZmxhZyAgICAgOiAlZAoAdHJhbnNmb3JtX3NraXBfY29udGV4dF9lbmFibGVkX2ZsYWcgICAgIDogJWQKAGNhYmFjX2J5cGFzc19hbGlnbm1lbnRfZW5hYmxlZF9mbGFnICAgICA6ICVkCgBoaWdoX3ByZWNpc2lvbl9vZmZzZXRzX2VuYWJsZWRfZmxhZyAgICAgOiAlZAoAICAlc19wcm9maWxlX3NwYWNlICAgICA6ICVkCgAgIG1pbl9zcGF0aWFsX3NlZ21lbnRhdGlvbl9pZGMgICAgIDogJWQKAHBjbV9zYW1wbGVfYml0X2RlcHRoX2x1bWEgICAgIDogJWQKAEN0YlNpemVZICAgICA6ICVkCgBzcHNfbWF4X3N1Yl9sYXllcnMgICAgICA6ICVkCgBsb2cyX3BhcmFsbGVsX21lcmdlX2xldmVsICAgICAgOiAlZAoAICBsb2cyX21heF9tdl9sZW5ndGhfdmVydGljYWwgICAgICA6ICVkCgAgIHNwc19tYXhfZGVjX3BpY19idWZmZXJpbmcgICAgICA6ICVkCgBzaG9ydF90ZXJtX3JlZl9waWNfc2V0X3Nwc19mbGFnICAgICAgOiAlZAoAc3BzX3JhbmdlX2V4dGVuc2lvbl9mbGFnICAgICAgOiAlZAoAcHBzX3JhbmdlX2V4dGVuc2lvbl9mbGFnICAgICAgOiAlZAoAZXh0ZW5kZWRfcHJlY2lzaW9uX3Byb2Nlc3NpbmdfZmxhZyAgICAgIDogJWQKAHNpZ25fZGF0YV9oaWRpbmdfZmxhZyAgICAgIDogJWQKAGNocm9tYV9xcF9vZmZzZXRfbGlzdF9lbmFibGVkX2ZsYWcgICAgICA6ICVkCgBzcHNfdGVtcG9yYWxfbXZwX2VuYWJsZWRfZmxhZyAgICAgIDogJWQKAGZpcnN0X3NsaWNlX3NlZ21lbnRfaW5fcGljX2ZsYWcgICAgICA6ICVkCgBsb2cyX21heF90cmFuc2Zvcm1fc2tpcF9ibG9ja19zaXplICAgICAgOiAlZAoAbnVtX3RpbGVfcm93cyAgICAgICA6ICVkCgAgIHNwc19tYXhfbnVtX3Jlb3JkZXJfcGljcyAgICAgICA6ICVkCgAgIHZ1aV9udW1fdW5pdHNfaW5fdGljayAgICAgICA6ICVkCgAgIHRpbGVzX2ZpeGVkX3N0cnVjdHVyZV9mbGFnICAgICAgIDogJWQKACAgdmlkZW9fZnVsbF9yYW5nZV9mbGFnICAgICAgIDogJWQKAHNlcV9wYXJhbWV0ZXJfc2V0X2lkICAgICAgIDogJWQKAHBpY19wYXJhbWV0ZXJfc2V0X2lkICAgICAgIDogJWQKACAgbWF4X2JpdHNfcGVyX21pbl9jdV9kZW5vbSAgICAgICAgOiAlZAoAdnVpX3BhcmFtZXRlcnNfcHJlc2VudF9mbGFnICAgICAgICA6ICVkCgBjb2xsb2NhdGVkX2Zyb21fbDBfZmxhZyAgICAgICAgOiAlZAoAQ2hyb21hV2VpZ2h0X0wlZFslZF1bJWRdICAgICAgICA6ICVkCgBDaHJvbWFPZmZzZXRfTCVkWyVkXVslZF0gICAgICAgIDogJWQKAFBpY0hlaWdodEluQ3Ric1kgICAgICAgIDogJWQKAGx1bWFfbG9nMl93ZWlnaHRfZGVub20gICAgICAgICA6ICVkCgBkZXBlbmRlbnRfc2xpY2Vfc2VnbWVudF9mbGFnICAgICAgICAgOiAlZAoAbm9fb3V0cHV0X29mX3ByaW9yX3BpY3NfZmxhZyAgICAgICAgIDogJWQKACAgJXNfdGllcl9mbGFnICAgICAgICAgOiAlZAoAYml0c3RyZWFtX3Jlc3RyaWN0aW9uX2ZsYWcgICAgICAgICA6ICVkCgB3ZWlnaHRlZF9iaXByZWRfZmxhZyAgICAgICAgIDogJWQKAHNsaWNlX3FwX2RlbHRhICAgICAgICAgOiAlZAoAUGljV2lkdGhJbkN0YnNZICAgICAgICAgOiAlZAoAICBtYXhfYnl0ZXNfcGVyX3BpY19kZW5vbSAgICAgICAgICA6ICVkCgBDaHJvbWFMb2cyV2VpZ2h0RGVub20gICAgICAgICAgOiAlZAoAZGlmZl9jdV9jaHJvbWFfcXBfb2Zmc2V0X2RlcHRoICAgICAgICAgIDogJWQKAHZwc190ZW1wb3JhbF9pZF9uZXN0aW5nX2ZsYWcgICAgICAgICAgOiAlZAoATG9nMk1pbkN1UXBEZWx0YVNpemUgICAgICAgICAgOiAlZAoAdnVpX251bV90aWNrc19wb2NfZGlmZl9vbmUgICAgICAgICAgOiAlZAoAc2hvcnRfdGVybV9yZWZfcGljX3NldF9pZHggICAgICAgICAgIDogJWQKAHNwc19leHRlbnNpb25fNmJpdHMgICAgICAgICAgIDogJWQKAHBwc19leHRlbnNpb25fNmJpdHMgICAgICAgICAgIDogJWQKAHdlaWdodGVkX3ByZWRfZmxhZyAgICAgICAgICAgOiAlZAoAaW50cmFfc21vb3RoaW5nX2Rpc2FibGVkX2ZsYWcgICAgICAgICAgIDogJWQKAHRpbGVzX2VuYWJsZWRfZmxhZyAgICAgICAgICAgOiAlZAoAc2xpY2Vfc2FvX2Nocm9tYV9mbGFnICAgICAgICAgICA6ICVkCgBzbGljZV9waWNfcGFyYW1ldGVyX3NldF9pZCAgICAgICAgICAgOiAlZAoAICBjb2xvdXJfcHJpbWFyaWVzICAgICAgICAgICAgOiAlZAoAcHBzX2V4dGVuc2lvbl9mbGFnICAgICAgICAgICAgOiAlZAoAbG9nMl9zYW9fb2Zmc2V0X3NjYWxlX2Nocm9tYSAgICAgICAgICAgIDogJWQKAGx1bWFfb2Zmc2V0X2wlZFslZF0gICAgICAgICAgICA6ICVkCgBjb2xsb2NhdGVkX3JlZl9pZHggICAgICAgICAgICAgOiAlZAoAcGljX2NyX3FwX29mZnNldCAgICAgICAgICAgICA6ICVkCgBwaWNfY2JfcXBfb2Zmc2V0ICAgICAgICAgICAgIDogJWQKAGV4cGxpY2l0X3JkcGNtX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICA6ICVkCgBpbXBsaWNpdF9yZHBjbV9lbmFibGVkX2ZsYWcgICAgICAgICAgICAgOiAlZAoAc2xpY2Vfc2FvX2x1bWFfZmxhZyAgICAgICAgICAgICA6ICVkCgBMdW1hV2VpZ2h0X0wlZFslZF0gICAgICAgICAgICAgOiAlZAoAICB2dWlfdGltZV9zY2FsZSAgICAgICAgICAgICAgOiAlZAoAc2xpY2VfcGljX29yZGVyX2NudF9sc2IgICAgICAgICAgICAgIDogJWQKAGxvZzJfc2FvX29mZnNldF9zY2FsZV9sdW1hICAgICAgICAgICAgICA6ICVkCgBTdWJIZWlnaHRDICAgICAgICAgICAgICA6ICVkCgAgIG1hdHJpeF9jb2VmZnMgICAgICAgICAgICAgICA6ICVkCgBjaHJvbWFfcXBfb2Zmc2V0X2xpc3RfbGVuICAgICAgICAgICAgICAgOiAlZAoAbXZkX2wxX3plcm9fZmxhZyAgICAgICAgICAgICAgIDogJWQKAFN1YldpZHRoQyAgICAgICAgICAgICAgIDogJWQKAHNsaWNlX3NlZ21lbnRfYWRkcmVzcyAgICAgICAgICAgICAgICA6ICVkCgBwaWNfaW5pdF9xcCAgICAgICAgICAgICAgICA6ICVkCgBjYWJhY19pbml0X2ZsYWcgICAgICAgICAgICAgICAgOiAlZAoAZmllbGRfc2VxX2ZsYWcgICAgICAgICAgICAgICAgOiAlZAoAdmlkZW9fcGFyYW1ldGVyX3NldF9pZCAgICAgICAgICAgICAgICA6ICVkCgBvZmZzZXRfbGVuICAgICAgICAgICAgICAgICA6ICVkCgB2cHNfbWF4X3N1Yl9sYXllcnMgICAgICAgICAgICAgICAgICAgIDogJWQKAGFtcF9lbmFibGVkX2ZsYWcgICAgICAgICAgICAgICAgICAgIDogJWQKAHBjbV9lbmFibGVkX2ZsYWcgICAgICAgICAgICAgICAgICAgIDogJWQKAGNyX3FwX29mZnNldF9saXN0WyVkXSAgICAgICAgICAgICAgICAgICAgOiAlZAoAY2JfcXBfb2Zmc2V0X2xpc3RbJWRdICAgICAgICAgICAgICAgICAgICA6ICVkCgBwaWNfb3V0cHV0X2ZsYWcgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAY29sb3VyX3BsYW5lX2lkICAgICAgICAgICAgICAgICAgICAgIDogJWQKAG51bV9sb25nX3Rlcm1fcGljcyAgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAdnBzX21heF9sYXllcnMgICAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBudW1fbG9uZ190ZXJtX3NwcyAgICAgICAgICAgICAgICAgICAgICAgIDogJWQKAGJldGFfb2Zmc2V0OiAgJWQKAHRjX29mZnNldDogICAgJWQKAHNsaWNlX3R5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICVjCgAgIFByb2ZpbGUvVGllci9MZXZlbCBbTGF5ZXIgJWRdCgBTUFMgZXJyb3I6IGJpdGRlcHRoIFkgbm90IGluIFs4OzE2XQoAU1BTIGVycm9yOiBiaXRkZXB0aCBDIG5vdCBpbiBbODsxNl0KAFNQUyBlcnJvcjogVEJfbWF4ID4gMzIgb3IgQ1RCCgBTUFMgZXJyb3I6IFRCID4gQ0IKADxhcnJheT4KAGNvbmZpZyBOQUxzOgoANDo0OjQKADQ6MjoyCgA0OjI6MAoANDowOjAKAEZpbGUgZG9lcyBub3QgaW5jbHVkZSBhbnkgc3VwcG9ydGVkIGJyYW5kcy4KAGxpYmhlaWYgd2FybmluZzogaGVpZl9pbWFnZV9jcmVhdGUoKSB1c2VkIHdpdGggYW4gaWxsZWdhbCBjb2xvcnNwYWNlL2Nocm9tYSBjb21iaW5hdGlvbi4gVGhpcyB3aWxsIHJldHVybiBhbiBlcnJvciBpbiBhIGZ1dHVyZSB2ZXJzaW9uLgoALS0tLS0tLS0tLS0tLS0tLS0gU1BTLXJhbmdlLWV4dGVuc2lvbiAtLS0tLS0tLS0tLS0tLS0tLQoALS0tLS0tLS0tLS0tLS0tLS0gVlBTIC0tLS0tLS0tLS0tLS0tLS0tCgAtLS0tLS0tLS0tLS0tLS0tLSBTUFMgLS0tLS0tLS0tLS0tLS0tLS0KAC0tLS0tLS0tLS0tLS0tLS0tIFBQUyAtLS0tLS0tLS0tLS0tLS0tLQoALS0tLS0tLS0tLS0tLS0tLS0gVlVJIC0tLS0tLS0tLS0tLS0tLS0tCgAtLS0tLS0tLS0tLS0tLS0tLSBTTElDRSAtLS0tLS0tLS0tLS0tLS0tLQoALS0tLS0tLS0tLSBQUFMgcmFuZ2UtZXh0ZW5zaW9uIC0tLS0tLS0tLS0KACAtLS0tLQoAY29sb3VyX3R5cGU6IC0tLQoAKgoAKGFuZ2xlcykKAGNocm9tYV9mb3JtYXRfaWRjICAgICAgIDogJWQgKCVzKQoAIChzbWFsbGVyIHRoYW4gaGVhZGVyKQoAJXAgZGVjb3VwbGUgKCVwKQoAKHF1YXRlcmlvbikKACAgJXNfbGV2ZWxfaWRjICAgICAgICAgOiAlZCAoJTQuMmYpCgBsdF9yZWZfcGljX3BvY19sc2Jfc3BzWyVkXSA6ICVkICAgKHVzZWRfYnlfY3Vycl9waWNfbHRfc3BzX2ZsYWc9JWQpCgAlcCAoYWxsb2MpCgAgZGVncmVlcyAoQ0NXKQoAM0JveAA5Qm94SGVhZGVyADhCb3hfaXNwZQA3RnVsbEJveAA5Qm94X290aGVyADlCb3hfRXJyb3IAOEJveF9mdHlwADhCb3hfZnJlZQA4Qm94X21ldGEAOEJveF9oZGxyADhCb3hfcGl0bQA4Qm94X2luZmUAOEJveF9paW5mADhCb3hfaXBycAA4Qm94X2lwY28AOEJveF9pcG1hADhCb3hfYXV4QwA4Qm94X2lyb3QAOEJveF9pbWlyADhCb3hfY2xhcAA4Qm94X2lyZWYAOEJveF9pZGF0ADhCb3hfZ3JwbAAxN0JveF9FbnRpdHlUb0dyb3VwADhCb3hfc3RlcgA4Qm94X3B5bWQAOEJveF9kaW5mADhCb3hfZHJlZgA3Qm94X3VybAA4Qm94X3BpeGkAOEJveF9wYXNwADhCb3hfbHNlbAA4Qm94X2NsbGkAOEJveF9tZGN2ADhCb3hfYW12ZQA4Qm94X2NtaW4AOEJveF9jbWV4ADhCb3hfdWRlcwA4Qm94X2lsb2MATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9tZXRhTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfZnR5cE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2ZyZWVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9oZGxyTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfcGl0bU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lsb2NOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9paW5mTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaW5mZU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lwcnBOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pcGNvTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaXBtYU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lzcGVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9hdXhDTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaXJvdE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2ltaXJOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9jbGFwTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaXJlZk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2h2Y0NOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9hdjFDTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfdnZjQ05TXzlhbGxvY2F0b3J